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, ";" => VK_OEM_1, "=" => VK_OEM_PLUS, "," => VK_OEM_COMMA, "-" => VK_OEM_MINUS, "." => VK_OEM_PERIOD, "/" => VK_OEM_2, "`" => VK_OEM_3, "[" => VK_OEM_4, "\\" => VK_OEM_5, "]" => VK_OEM_6, "'" => 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, *, raise_unknown : Bool = false) : Tuple(Int32, Bool)
Get key combination for a character
-
#get_vk_code(key : Int32, *, raise_unknown : Bool = false) : Int32
Convert key name to virtual key code (Int32 overload)
-
#get_vk_code(key : Symbol, *, raise_unknown : Bool = false) : Int32
Convert key name to virtual key code (Symbol overload)
-
#get_vk_code(key : String, *, raise_unknown : Bool = false) : Int32
Convert key name to virtual key code (String overload)
-
#requires_shift?(char : Char) : Bool
Check if a character requires Shift key
Instance Method Detail
Get key combination for a character
Convert key name to virtual key code (Int32 overload)
Convert key name to virtual key code (Symbol overload)
Convert key name to virtual key code (String overload)