Added a list of Windows virtual key codes to the Area planning to start filtering the ones we can handle from the ones we can't; also expanded some other parts some more.
This commit is contained in:
parent
e73992ab71
commit
f06f0c5ab3
204
areaplan.md
204
areaplan.md
|
@ -728,6 +728,7 @@ type KeyArea struct {
|
|||
// and AZERTY keyboards, not when pressing the key that would be
|
||||
// A on QWERTY keyboards on all layouts).
|
||||
// If this field is zero, see ExtKey.
|
||||
// [TODO: how do we handle numlock and capslock?]
|
||||
Rune rune
|
||||
|
||||
// If Rune is zero, ExtKey contains a predeclared identifier
|
||||
|
@ -778,3 +779,206 @@ This just leaves the GTK+ geometry mapping: there is a way to do it if X11 is th
|
|||
[12:29] <ebassi> yes, you can assume that they are the same
|
||||
(irc.gimp.net/#gtk+) ok; that works too I guess
|
||||
let's go!
|
||||
|
||||
### And finally... COMMON KEYS
|
||||
I meant Windows might be the biggest filter because it has a concrete list of virtual key codes but meh
|
||||
|
||||
Windows | GDK | [Cocoa if known]
|
||||
----- | ----- | -----
|
||||
VK_LBUTTON (0x01) - Left mouse button
|
||||
VK_RBUTTON (0x02) - Right mouse button
|
||||
VK_CANCEL (0x03) - Control-break processing
|
||||
VK_MBUTTON (0x04) - Middle mouse button (three-button mouse)
|
||||
VK_XBUTTON1 (0x05) - X1 mouse button
|
||||
VK_XBUTTON2 (0x06) - X2 mouse button
|
||||
VK_BACK (0x08) - BACKSPACE key
|
||||
VK_TAB (0x09) - TAB key
|
||||
VK_CLEAR (0x0C) - CLEAR key
|
||||
VK_RETURN (0x0D) - ENTER key
|
||||
VK_SHIFT (0x10) - SHIFT key
|
||||
VK_CONTROL (0x11) - CTRL key
|
||||
VK_MENU (0x12) - ALT key
|
||||
VK_PAUSE (0x13) - PAUSE key
|
||||
VK_CAPITAL (0x14) - CAPS LOCK key
|
||||
VK_KANA/VK_HANGUEL/VK_HANGUL (0x15) - IME Kana mode/IME Hanguel mode (maintained for compatibility; use VK_HANGUL)/IME Hangul mode
|
||||
VK_JUNJA (0x17) - IME Junja mode
|
||||
VK_FINAL (0x18) - IME final mode
|
||||
VK_HANJA/VK_KANJI (0x19) - IME Hanja mode/IME Kanji mode
|
||||
VK_ESCAPE (0x1B) - ESC key
|
||||
VK_CONVERT (0x1C) - IME convert
|
||||
VK_NONCONVERT (0x1D) - IME nonconvert
|
||||
VK_ACCEPT (0x1E) - IME accept
|
||||
VK_MODECHANGE (0x1F) - IME mode change request
|
||||
VK_SPACE (0x20) - SPACEBAR
|
||||
VK_PRIOR (0x21) - PAGE UP key
|
||||
VK_NEXT (0x22) - PAGE DOWN key
|
||||
VK_END (0x23) - END key
|
||||
VK_HOME (0x24) - HOME key
|
||||
VK_LEFT (0x25) - LEFT ARROW key
|
||||
VK_UP (0x26) - UP ARROW key
|
||||
VK_RIGHT (0x27) - RIGHT ARROW key
|
||||
VK_DOWN (0x28) - DOWN ARROW key
|
||||
VK_SELECT (0x29) - SELECT key
|
||||
VK_PRINT (0x2A) - PRINT key
|
||||
VK_EXECUTE (0x2B) - EXECUTE key
|
||||
VK_SNAPSHOT (0x2C) - PRINT SCREEN key
|
||||
VK_INSERT (0x2D) - INS key
|
||||
VK_DELETE (0x2E) - DEL key
|
||||
VK_HELP (0x2F) - HELP key
|
||||
0x30 - 0 key
|
||||
0x31 - 1 key
|
||||
0x32 - 2 key
|
||||
0x33 - 3 key
|
||||
0x34 - 4 key
|
||||
0x35 - 5 key
|
||||
0x36 - 6 key
|
||||
0x37 - 7 key
|
||||
0x38 - 8 key
|
||||
0x39 - 9 key
|
||||
0x41 - A key
|
||||
0x42 - B key
|
||||
0x43 - C key
|
||||
0x44 - D key
|
||||
0x45 - E key
|
||||
0x46 - F key
|
||||
0x47 - G key
|
||||
0x48 - H key
|
||||
0x49 - I key
|
||||
0x4A - J key
|
||||
0x4B - K key
|
||||
0x4C - L key
|
||||
0x4D - M key
|
||||
0x4E - N key
|
||||
0x4F - O key
|
||||
0x50 - P key
|
||||
0x51 - Q key
|
||||
0x52 - R key
|
||||
0x53 - S key
|
||||
0x54 - T key
|
||||
0x55 - U key
|
||||
0x56 - V key
|
||||
0x57 - W key
|
||||
0x58 - X key
|
||||
0x59 - Y key
|
||||
0x5A - Z key
|
||||
VK_LWIN (0x5B) - Left Windows key (Natural keyboard)
|
||||
VK_RWIN (0x5C) - Right Windows key (Natural keyboard)
|
||||
VK_APPS (0x5D) - Applications key (Natural keyboard)
|
||||
VK_SLEEP (0x5F) - Computer Sleep key
|
||||
VK_NUMPAD0 (0x60) - Numeric keypad 0 key
|
||||
VK_NUMPAD1 (0x61) - Numeric keypad 1 key
|
||||
VK_NUMPAD2 (0x62) - Numeric keypad 2 key
|
||||
VK_NUMPAD3 (0x63) - Numeric keypad 3 key
|
||||
VK_NUMPAD4 (0x64) - Numeric keypad 4 key
|
||||
VK_NUMPAD5 (0x65) - Numeric keypad 5 key
|
||||
VK_NUMPAD6 (0x66) - Numeric keypad 6 key
|
||||
VK_NUMPAD7 (0x67) - Numeric keypad 7 key
|
||||
VK_NUMPAD8 (0x68) - Numeric keypad 8 key
|
||||
VK_NUMPAD9 (0x69) - Numeric keypad 9 key
|
||||
VK_MULTIPLY (0x6A) - Multiply key
|
||||
VK_ADD (0x6B) - Add key
|
||||
VK_SEPARATOR (0x6C) - Separator key
|
||||
VK_SUBTRACT (0x6D) - Subtract key
|
||||
VK_DECIMAL (0x6E) - Decimal key
|
||||
VK_DIVIDE (0x6F) - Divide key
|
||||
VK_F1 (0x70) - F1 key
|
||||
VK_F2 (0x71) - F2 key
|
||||
VK_F3 (0x72) - F3 key
|
||||
VK_F4 (0x73) - F4 key
|
||||
VK_F5 (0x74) - F5 key
|
||||
VK_F6 (0x75) - F6 key
|
||||
VK_F7 (0x76) - F7 key
|
||||
VK_F8 (0x77) - F8 key
|
||||
VK_F9 (0x78) - F9 key
|
||||
VK_F10 (0x79) - F10 key
|
||||
VK_F11 (0x7A) - F11 key
|
||||
VK_F12 (0x7B) - F12 key
|
||||
VK_F13 (0x7C) - F13 key
|
||||
VK_F14 (0x7D) - F14 key
|
||||
VK_F15 (0x7E) - F15 key
|
||||
VK_F16 (0x7F) - F16 key
|
||||
VK_F17 (0x80) - F17 key
|
||||
VK_F18 (0x81) - F18 key
|
||||
VK_F19 (0x82) - F19 key
|
||||
VK_F20 (0x83) - F20 key
|
||||
VK_F21 (0x84) - F21 key
|
||||
VK_F22 (0x85) - F22 key
|
||||
VK_F23 (0x86) - F23 key
|
||||
VK_F24 (0x87) - F24 key
|
||||
VK_NUMLOCK (0x90) - NUM LOCK key
|
||||
VK_SCROLL (0x91) - SCROLL LOCK key
|
||||
0x92 - OEM specific
|
||||
0x93 - OEM specific
|
||||
0x94 - OEM specific
|
||||
0x95 - OEM specific
|
||||
0x96 - OEM specific
|
||||
VK_LSHIFT (0xA0) - Left SHIFT key
|
||||
VK_RSHIFT (0xA1) - Right SHIFT key
|
||||
VK_LCONTROL (0xA2) - Left CONTROL key
|
||||
VK_RCONTROL (0xA3) - Right CONTROL key
|
||||
VK_LMENU (0xA4) - Left MENU key
|
||||
VK_RMENU (0xA5) - Right MENU key
|
||||
VK_BROWSER_BACK (0xA6) - Browser Back key
|
||||
VK_BROWSER_FORWARD (0xA7) - Browser Forward key
|
||||
VK_BROWSER_REFRESH (0xA8) - Browser Refresh key
|
||||
VK_BROWSER_STOP (0xA9) - Browser Stop key
|
||||
VK_BROWSER_SEARCH (0xAA) - Browser Search key
|
||||
VK_BROWSER_FAVORITES (0xAB) - Browser Favorites key
|
||||
VK_BROWSER_HOME (0xAC) - Browser Start and Home key
|
||||
VK_VOLUME_MUTE (0xAD) - Volume Mute key
|
||||
VK_VOLUME_DOWN (0xAE) - Volume Down key
|
||||
VK_VOLUME_UP (0xAF) - Volume Up key
|
||||
VK_MEDIA_NEXT_TRACK (0xB0) - Next Track key
|
||||
VK_MEDIA_PREV_TRACK (0xB1) - Previous Track key
|
||||
VK_MEDIA_STOP (0xB2) - Stop Media key
|
||||
VK_MEDIA_PLAY_PAUSE (0xB3) - Play/Pause Media key
|
||||
VK_LAUNCH_MAIL (0xB4) - Start Mail key
|
||||
VK_LAUNCH_MEDIA_SELECT (0xB5) - Select Media key
|
||||
VK_LAUNCH_APP1 (0xB6) - Start Application 1 key
|
||||
VK_LAUNCH_APP2 (0xB7) - Start Application 2 key
|
||||
VK_OEM_1 (0xBA) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ';:' key
|
||||
VK_OEM_PLUS (0xBB) - For any country/region, the '+' key
|
||||
VK_OEM_COMMA (0xBC) - For any country/region, the ',' key
|
||||
VK_OEM_MINUS (0xBD) - For any country/region, the '-' key
|
||||
VK_OEM_PERIOD (0xBE) - For any country/region, the '.' key
|
||||
VK_OEM_2 (0xBF) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '/?' key
|
||||
VK_OEM_3 (0xC0) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '`~' key
|
||||
VK_OEM_4 (0xDB) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '[{' key
|
||||
VK_OEM_5 (0xDC) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '\|' key
|
||||
VK_OEM_6 (0xDD) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ']}' key
|
||||
VK_OEM_7 (0xDE) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the 'single-quote/double-quote' key
|
||||
VK_OEM_8 (0xDF) - Used for miscellaneous characters; it can vary by keyboard.
|
||||
0xE1 - OEM specific
|
||||
VK_OEM_102 (0xE2) - Either the angle bracket key or the backslash key on the RT 102-key keyboard
|
||||
0xE3 - OEM specific
|
||||
0xE4 - OEM specific
|
||||
VK_PROCESSKEY (0xE5) - IME PROCESS key
|
||||
0xE6 - OEM specific
|
||||
VK_PACKET (0xE7) - Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
|
||||
0xE9 - OEM specific
|
||||
0xEA - OEM specific
|
||||
0xEB - OEM specific
|
||||
0xEC - OEM specific
|
||||
0xED - OEM specific
|
||||
0xEE - OEM specific
|
||||
0xEF - OEM specific
|
||||
0xF0 - OEM specific
|
||||
0xF1 - OEM specific
|
||||
0xF2 - OEM specific
|
||||
0xF3 - OEM specific
|
||||
0xF4 - OEM specific
|
||||
0xF5 - OEM specific
|
||||
VK_ATTN (0xF6) - Attn key
|
||||
VK_CRSEL (0xF7) - CrSel key
|
||||
VK_EXSEL (0xF8) - ExSel key
|
||||
VK_EREOF (0xF9) - Erase EOF key
|
||||
VK_PLAY (0xFA) - Play key
|
||||
VK_ZOOM (0xFB) - Zoom key
|
||||
VK_NONAME (0xFC) - Reserved
|
||||
VK_PA1 (0xFD) - PA1 key
|
||||
VK_OEM_CLEAR (0xFE) - Clear key
|
||||
|
||||
Windows keys that will not be handled:
|
||||
```
|
||||
(TODO)
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue