F66.3 added indication pressing of keys: Win-left and Win-right.
git-svn-id: svn://kolibrios.org@3355 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -3414,15 +3414,17 @@ IPC
|
|||||||
* ebx = 3 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
* ebx = 3 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||||
* eax = <20><>⮢<EFBFBD><E2AEA2> <20><>᪠:
|
* eax = <20><>⮢<EFBFBD><E2AEA2> <20><>᪠:
|
||||||
* <20><><EFBFBD> 0 (<28><>᪠ 1): <20><><EFBFBD><EFBFBD><EFBFBD> Shift <20><><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 0 (<28><>᪠ 1): <20><><EFBFBD><EFBFBD><EFBFBD> Shift <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD> 1 (<28><>᪠ 2): <20>ࠢ<EFBFBD><E0A0A2> Shift <20><><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 1 (<28><>᪠ 2): <20>ࠢ<EFBFBD><E0A0A2> Shift <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD> 2 (<28><>᪠ 4): <20><><EFBFBD><EFBFBD><EFBFBD> Ctrl <20><><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 2 (<28><>᪠ 4): <20><><EFBFBD><EFBFBD><EFBFBD> Ctrl <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD> 3 (<28><>᪠ 8): <20>ࠢ<EFBFBD><E0A0A2> Ctrl <20><><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 3 (<28><>᪠ 8): <20>ࠢ<EFBFBD><E0A0A2> Ctrl <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD> 4 (<28><>᪠ 0x10): <20><><EFBFBD><EFBFBD><EFBFBD> Alt <20><><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 4 (<28><>᪠ 0x10): <20><><EFBFBD><EFBFBD><EFBFBD> Alt <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD> 5 (<28><>᪠ 0x20): <20>ࠢ<EFBFBD><E0A0A2> Alt <20><><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 5 (<28><>᪠ 0x20): <20>ࠢ<EFBFBD><E0A0A2> Alt <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD> 6 (<28><>᪠ 0x40): CapsLock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 6 (<28><>᪠ 0x40): CapsLock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD> 7 (<28><>᪠ 0x80): NumLock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 7 (<28><>᪠ 0x80): NumLock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD> 8 (<28><>᪠ 0x100): ScrollLock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> 8 (<28><>᪠ 0x100): ScrollLock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* <20><><EFBFBD> 9 (<28><>᪠ 0x200): <20><><EFBFBD><EFBFBD><EFBFBD> Win <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* <20><><EFBFBD> 10 (<28><>᪠ 0x400): <20>ࠢ<EFBFBD><E0A0A2> Win <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD>稥 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>襭<EFBFBD>
|
* <20><><EFBFBD>稥 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>襭<EFBFBD>
|
||||||
|
|
||||||
----- <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>". -----
|
----- <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>". -----
|
||||||
|
@@ -3394,15 +3394,17 @@ Parameters:
|
|||||||
* ebx = 3 - subfunction number
|
* ebx = 3 - subfunction number
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = bit mask:
|
* eax = bit mask:
|
||||||
* bit 0 (mask 1): left Shift is pressed
|
* bit 0 (mask 1): left Shift is pressed
|
||||||
* bit 1 (mask 2): right Shift is pressed
|
* bit 1 (mask 2): right Shift is pressed
|
||||||
* bit 2 (mask 4): left Ctrl is pressed
|
* bit 2 (mask 4): left Ctrl is pressed
|
||||||
* bit 3 (mask 8): right Ctrl is pressed
|
* bit 3 (mask 8): right Ctrl is pressed
|
||||||
* bit 4 (mask 0x10): left Alt is pressed
|
* bit 4 (mask 0x10): left Alt is pressed
|
||||||
* bit 5 (mask 0x20): right Alt is pressed
|
* bit 5 (mask 0x20): right Alt is pressed
|
||||||
* bit 6 (mask 0x40): CapsLock is on
|
* bit 6 (mask 0x40): CapsLock is on
|
||||||
* bit 7 (mask 0x80): NumLock is on
|
* bit 7 (mask 0x80): NumLock is on
|
||||||
* bit 8 (mask 0x100): ScrollLock is on
|
* bit 8 (mask 0x100): ScrollLock is on
|
||||||
|
* bit 9 (mask 0x200): left Win is pressed
|
||||||
|
* bit 10 (mask 0x400): right Win is pressed
|
||||||
* other bits are cleared
|
* other bits are cleared
|
||||||
|
|
||||||
-------------- Subfunction 4 - set system-wide hotkey. ---------------
|
-------------- Subfunction 4 - set system-wide hotkey. ---------------
|
||||||
|
@@ -17,6 +17,8 @@ VKEY_RALT = 0000000000100000b
|
|||||||
VKEY_CAPSLOCK = 0000000001000000b
|
VKEY_CAPSLOCK = 0000000001000000b
|
||||||
VKEY_NUMLOCK = 0000000010000000b
|
VKEY_NUMLOCK = 0000000010000000b
|
||||||
VKEY_SCRLOCK = 0000000100000000b
|
VKEY_SCRLOCK = 0000000100000000b
|
||||||
|
VKEY_LWIN = 0000001000000000b
|
||||||
|
VKEY_RWIN = 0000010000000000b
|
||||||
|
|
||||||
VKEY_SHIFT = 0000000000000011b
|
VKEY_SHIFT = 0000000000000011b
|
||||||
VKEY_CONTROL = 0000000000001100b
|
VKEY_CONTROL = 0000000000001100b
|
||||||
@@ -224,6 +226,27 @@ send_scancode:
|
|||||||
xchg cl, [ext_code]
|
xchg cl, [ext_code]
|
||||||
and al, 0x7F
|
and al, 0x7F
|
||||||
mov bh, 1
|
mov bh, 1
|
||||||
|
;--------------------------------------
|
||||||
|
@@:
|
||||||
|
cmp al, 0x5B
|
||||||
|
jne @f
|
||||||
|
|
||||||
|
cmp cl, 0xE0
|
||||||
|
jne .writekey
|
||||||
|
|
||||||
|
mov eax, VKEY_LWIN
|
||||||
|
jmp .modifier
|
||||||
|
;--------------------------------------
|
||||||
|
@@:
|
||||||
|
cmp al, 0x5C
|
||||||
|
jne @f
|
||||||
|
|
||||||
|
cmp cl, 0xE0
|
||||||
|
jne .writekey
|
||||||
|
|
||||||
|
mov eax, VKEY_RWIN
|
||||||
|
jmp .modifier
|
||||||
|
;--------------------------------------
|
||||||
@@:
|
@@:
|
||||||
cmp al, 0x2A
|
cmp al, 0x2A
|
||||||
jne @f
|
jne @f
|
||||||
|
Reference in New Issue
Block a user