module
AutoClick::VirtualKey
Overview
Virtual Key Code mappings for AutoClick
This module provides mapping between key names and Windows Virtual Key Codes supporting multiple naming conventions for flexibility.
Extended Modules
Defined in:
auto_click/virtual_key.crConstant Summary
-
KEY_MAP =
{"a" => VK_A, "b" => VK_B, "c" => VK_C, "d" => VK_D, "e" => VK_E, "f" => VK_F, "g" => VK_G, "h" => VK_H, "i" => VK_I, "j" => VK_J, "k" => VK_K, "l" => VK_L, "m" => VK_M, "n" => VK_N, "o" => VK_O, "p" => VK_P, "q" => VK_Q, "r" => VK_R, "s" => VK_S, "t" => VK_T, "u" => VK_U, "v" => VK_V, "w" => VK_W, "x" => VK_X, "y" => VK_Y, "z" => VK_Z, "0" => VK_0, "1" => VK_1, "2" => VK_2, "3" => VK_3, "4" => VK_4, "5" => VK_5, "6" => VK_6, "7" => VK_7, "8" => VK_8, "9" => VK_9, "f1" => VK_F1, "f2" => VK_F2, "f3" => VK_F3, "f4" => VK_F4, "f5" => VK_F5, "f6" => VK_F6, "f7" => VK_F7, "f8" => VK_F8, "f9" => VK_F9, "f10" => VK_F10, "f11" => VK_F11, "f12" => VK_F12, "shift" => VK_SHIFT, "leftshift" => VK_LSHIFT, "rightshift" => VK_RSHIFT, "ctrl" => VK_CONTROL, "control" => VK_CONTROL, "leftctrl" => VK_LCONTROL, "rightctrl" => VK_RCONTROL, "alt" => VK_MENU, "leftalt" => VK_LMENU, "rightalt" => VK_RMENU, "win" => VK_LWIN, "windows" => VK_LWIN, "leftwin" => VK_LWIN, "rightwin" => VK_RWIN, "space" => VK_SPACE, "enter" => VK_RETURN, "tab" => VK_TAB, "esc" => VK_ESCAPE, "escape" => VK_ESCAPE, "backspace" => VK_BACK, "delete" => VK_DELETE, "insert" => VK_INSERT, "home" => VK_HOME, "end" => VK_END, "pageup" => VK_PRIOR, "pagedown" => VK_NEXT, "capslock" => VK_CAPITAL, "numlock" => VK_NUMLOCK, "pause" => VK_PAUSE, "printscreen" => VK_SNAPSHOT, "left" => VK_LEFT, "right" => VK_RIGHT, "up" => VK_UP, "down" => VK_DOWN, "semicolon" => VK_OEM_1, "equal" => VK_OEM_PLUS, "comma" => VK_OEM_COMMA, "hyphen" => VK_OEM_MINUS, "period" => VK_OEM_PERIOD, "slash" => VK_OEM_2, "grave" => VK_OEM_3, "bracket" => VK_OEM_4, "backslash" => VK_OEM_5, "closebracket" => VK_OEM_6, "quote" => VK_OEM_7}
-
Key name to virtual key code mapping
-
SPECIAL_CHAR_MAP =
{'!' => {"1", true}, '@' => {"2", true}, '#' => {"3", true}, '$' => {"4", true}, '%' => {"5", true}, '^' => {"6", true}, '&' => {"7", true}, '*' => {"8", true}, '(' => {"9", true}, ')' => {"0", true}, '_' => {"-", true}, '+' => {"=", true}, '{' => {"[", true}, '}' => {"]", true}, '|' => {"\\", true}, ':' => {";", true}, '"' => {"'", true}, '<' => {",", true}, '>' => {".", true}, '?' => {"/", true}, '~' => {"`", true}}
-
Special character to key combination mapping
-
VK_0 =
48
-
Number keys (main keyboard)
-
VK_1 =
49
-
VK_2 =
50
-
VK_3 =
51
-
VK_4 =
52
-
VK_5 =
53
-
VK_6 =
54
-
VK_7 =
55
-
VK_8 =
56
-
VK_9 =
57
-
VK_A =
65
-
Letter keys
-
VK_ADD =
107
-
VK_APPS =
93
-
VK_B =
66
-
VK_BACK =
8
-
VK_C =
67
-
VK_CANCEL =
3
-
VK_CAPITAL =
20
-
VK_CLEAR =
12
-
VK_CONTROL =
17
-
VK_D =
68
-
VK_DECIMAL =
110
-
VK_DELETE =
46
-
VK_DIVIDE =
111
-
VK_DOWN =
40
-
VK_E =
69
-
VK_END =
35
-
VK_ESCAPE =
27
-
VK_EXECUTE =
43
-
VK_F =
70
-
VK_F1 =
112
-
Function keys
-
VK_F10 =
121
-
VK_F11 =
122
-
VK_F12 =
123
-
VK_F13 =
124
-
VK_F14 =
125
-
VK_F15 =
126
-
VK_F16 =
127
-
VK_F17 =
128
-
VK_F18 =
129
-
VK_F19 =
130
-
VK_F2 =
113
-
VK_F20 =
131
-
VK_F21 =
132
-
VK_F22 =
133
-
VK_F23 =
134
-
VK_F24 =
135
-
VK_F3 =
114
-
VK_F4 =
115
-
VK_F5 =
116
-
VK_F6 =
117
-
VK_F7 =
118
-
VK_F8 =
119
-
VK_F9 =
120
-
VK_G =
71
-
VK_H =
72
-
VK_HELP =
47
-
VK_HOME =
36
-
VK_I =
73
-
VK_INSERT =
45
-
VK_J =
74
-
VK_K =
75
-
VK_L =
76
-
VK_LBUTTON =
1
-
Virtual Key Code constants
-
VK_LCONTROL =
162
-
VK_LEFT =
37
-
VK_LMENU =
164
-
VK_LSHIFT =
160
-
Modifier keys (left/right specific)
-
VK_LWIN =
91
-
Windows keys
-
VK_M =
77
-
VK_MBUTTON =
4
-
VK_MENU =
18
-
VK_MULTIPLY =
106
-
VK_N =
78
-
VK_NEXT =
34
-
VK_NUMLOCK =
144
-
Lock keys
-
VK_NUMPAD0 =
96
-
Numpad keys
-
VK_NUMPAD1 =
97
-
VK_NUMPAD2 =
98
-
VK_NUMPAD3 =
99
-
VK_NUMPAD4 =
100
-
VK_NUMPAD5 =
101
-
VK_NUMPAD6 =
102
-
VK_NUMPAD7 =
103
-
VK_NUMPAD8 =
104
-
VK_NUMPAD9 =
105
-
VK_O =
79
-
VK_OEM_1 =
186
-
Symbol keys
-
VK_OEM_2 =
191
-
VK_OEM_3 =
192
-
VK_OEM_4 =
219
-
VK_OEM_5 =
220
-
VK_OEM_6 =
221
-
VK_OEM_7 =
222
-
VK_OEM_COMMA =
188
-
VK_OEM_MINUS =
189
-
VK_OEM_PERIOD =
190
-
VK_OEM_PLUS =
187
-
VK_P =
80
-
VK_PAUSE =
19
-
VK_PRINT =
42
-
VK_PRIOR =
33
-
VK_Q =
81
-
VK_R =
82
-
VK_RBUTTON =
2
-
VK_RCONTROL =
163
-
VK_RETURN =
13
-
VK_RIGHT =
39
-
VK_RMENU =
165
-
VK_RSHIFT =
161
-
VK_RWIN =
92
-
VK_S =
83
-
VK_SCROLL =
145
-
VK_SELECT =
41
-
VK_SEPARATOR =
108
-
VK_SHIFT =
16
-
VK_SNAPSHOT =
44
-
VK_SPACE =
32
-
VK_SUBTRACT =
109
-
VK_T =
84
-
VK_TAB =
9
-
VK_U =
85
-
VK_UP =
38
-
VK_V =
86
-
VK_W =
87
-
VK_X =
88
-
VK_XBUTTON1 =
5
-
VK_XBUTTON2 =
6
-
VK_Y =
89
-
VK_Z =
90
Instance Method Summary
-
#get_key_combination(char : Char) : Tuple(Int32, Bool)
Get key combination for a character
-
#get_vk_code(key : Int32) : Int32
Convert key name to virtual key code (Int32 overload)
-
#get_vk_code(key : Symbol) : Int32
Convert key name to virtual key code (Symbol overload)
-
#get_vk_code(key : String) : Int32
Convert key name to virtual key code (String overload)
-
#requires_shift?(char : Char) : Bool
Check if a character requires Shift key