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 - ­®¬¥ΰ ―®¤δγ­<CEB3>樨 * ebx = 3 - ­®¬¥ΰ ―®¤δγ­<CEB3>樨
‚®§Άΰ ι ¥¬®¥ §­ η¥­¨¥: ‚®§Άΰ ι ¥¬®¥ §­ η¥­¨¥:
* eax = ΅¨β®Ά ο ¬ α<C2A0> : * eax = ΅¨β®Ά ο ¬ α<C2A0> :
* ЎЁв 0 (¬ бЄ  1): «Ґўл© Shift ­ ¦ в * ЎЁв 0 (¬ бЄ  1): «Ґўл© Shift ­ ¦ в
* ЎЁв 1 (¬ бЄ  2): Їа ўл© Shift ­ ¦ в * ЎЁв 1 (¬ бЄ  2): Їа ўл© Shift ­ ¦ в
* ЎЁв 2 (¬ бЄ  4): «Ґўл© Ctrl ­ ¦ в * ЎЁв 2 (¬ бЄ  4): «Ґўл© Ctrl ­ ¦ в
* ЎЁв 3 (¬ бЄ  8): Їа ўл© Ctrl ­ ¦ в * ЎЁв 3 (¬ бЄ  8): Їа ўл© Ctrl ­ ¦ в
* ЎЁв 4 (¬ бЄ  0x10): «Ґўл© Alt ­ ¦ в * ЎЁв 4 (¬ бЄ  0x10): «Ґўл© Alt ­ ¦ в
* ЎЁв 5 (¬ бЄ  0x20): Їа ўл© Alt ­ ¦ в * ЎЁв 5 (¬ бЄ  0x20): Їа ўл© Alt ­ ¦ в
* ЎЁв 6 (¬ бЄ  0x40): CapsLock ўЄ«озс­ * ЎЁв 6 (¬ бЄ  0x40): CapsLock ўЄ«озс­
* ЎЁв 7 (¬ бЄ  0x80): NumLock ўЄ«озс­ * ЎЁв 7 (¬ бЄ  0x80): NumLock ўЄ«озс­
* ЎЁв 8 (¬ бЄ  0x100): ScrollLock ўЄ«озс­ * ЎЁв 8 (¬ бЄ  0x100): ScrollLock ўЄ«озс­
* ЎЁв 9 (¬ бЄ  0x200): «Ґўл© Win ­ ¦ в
* ЎЁв 10 (¬ бЄ  0x400): Їа ўл© Win ­ ¦ в
* ―ΰ®η¨¥ ΅¨βλ α΅ΰ®θ¥­λ * ―ΰ®η¨¥ ΅¨βλ α΅ΰ®θ¥­λ
----- <20>®¤δγ­<CEB3>ζ¨ο 4 - γαβ ­®Ά¨βμ ®΅ι¥α¨α⥬­γξ "£®ΰοηγξ <20>« Ά¨θγ". ----- ----- <20>®¤δγ­<CEB3>ζ¨ο 4 - γαβ ­®Ά¨βμ ®΅ι¥α¨α⥬­γξ "£®ΰοηγξ <20>« Ά¨θγ". -----

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