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:
Marat Zakiyanov (Mario79)
2013-03-08 16:27:43 +00:00
parent f7d75689e4
commit e6d03e93b1
3 changed files with 45 additions and 18 deletions

View File

@@ -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>". -----

View File

@@ -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. ---------------

View File

@@ -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