|
FreeRDP
|
20 #ifndef FREERDP_LOCALE_KEYBOARD_RDP_SCANCODE_H
21 #define FREERDP_LOCALE_KEYBOARD_RDP_SCANCODE_H
23 #include <winpr/input.h>
33 #define RDP_SCANCODE_CODE(_rdp_scancode) ((BYTE)(_rdp_scancode & 0xFF))
34 #define RDP_SCANCODE_EXTENDED(_rdp_scancode) (((_rdp_scancode)&KBDEXT) ? TRUE : FALSE)
35 #define MAKE_RDP_SCANCODE(_code, _extended) (((_code)&0xFF) | ((_extended) ? KBDEXT : 0))
41 #define RDP_SCANCODE_UNKNOWN MAKE_RDP_SCANCODE(0x00, FALSE)
43 #define RDP_SCANCODE_ESCAPE MAKE_RDP_SCANCODE(0x01, FALSE)
44 #define RDP_SCANCODE_KEY_1 MAKE_RDP_SCANCODE(0x02, FALSE)
45 #define RDP_SCANCODE_KEY_2 MAKE_RDP_SCANCODE(0x03, FALSE)
46 #define RDP_SCANCODE_KEY_3 MAKE_RDP_SCANCODE(0x04, FALSE)
47 #define RDP_SCANCODE_KEY_4 MAKE_RDP_SCANCODE(0x05, FALSE)
48 #define RDP_SCANCODE_KEY_5 MAKE_RDP_SCANCODE(0x06, FALSE)
49 #define RDP_SCANCODE_KEY_6 MAKE_RDP_SCANCODE(0x07, FALSE)
50 #define RDP_SCANCODE_KEY_7 MAKE_RDP_SCANCODE(0x08, FALSE)
51 #define RDP_SCANCODE_KEY_8 MAKE_RDP_SCANCODE(0x09, FALSE)
52 #define RDP_SCANCODE_KEY_9 MAKE_RDP_SCANCODE(0x0A, FALSE)
53 #define RDP_SCANCODE_KEY_0 MAKE_RDP_SCANCODE(0x0B, FALSE)
54 #define RDP_SCANCODE_OEM_MINUS MAKE_RDP_SCANCODE(0x0C, FALSE)
55 #define RDP_SCANCODE_OEM_PLUS MAKE_RDP_SCANCODE(0x0D, FALSE)
56 #define RDP_SCANCODE_BACKSPACE MAKE_RDP_SCANCODE(0x0E, FALSE)
57 #define RDP_SCANCODE_TAB MAKE_RDP_SCANCODE(0x0F, FALSE)
58 #define RDP_SCANCODE_KEY_Q MAKE_RDP_SCANCODE(0x10, FALSE)
59 #define RDP_SCANCODE_KEY_W MAKE_RDP_SCANCODE(0x11, FALSE)
60 #define RDP_SCANCODE_KEY_E MAKE_RDP_SCANCODE(0x12, FALSE)
61 #define RDP_SCANCODE_KEY_R MAKE_RDP_SCANCODE(0x13, FALSE)
62 #define RDP_SCANCODE_KEY_T MAKE_RDP_SCANCODE(0x14, FALSE)
63 #define RDP_SCANCODE_KEY_Y MAKE_RDP_SCANCODE(0x15, FALSE)
64 #define RDP_SCANCODE_KEY_U MAKE_RDP_SCANCODE(0x16, FALSE)
65 #define RDP_SCANCODE_KEY_I MAKE_RDP_SCANCODE(0x17, FALSE)
66 #define RDP_SCANCODE_KEY_O MAKE_RDP_SCANCODE(0x18, FALSE)
67 #define RDP_SCANCODE_KEY_P MAKE_RDP_SCANCODE(0x19, FALSE)
68 #define RDP_SCANCODE_OEM_4 MAKE_RDP_SCANCODE(0x1A, FALSE)
69 #define RDP_SCANCODE_OEM_6 MAKE_RDP_SCANCODE(0x1B, FALSE)
70 #define RDP_SCANCODE_RETURN MAKE_RDP_SCANCODE(0x1C, FALSE)
71 #define RDP_SCANCODE_LCONTROL MAKE_RDP_SCANCODE(0x1D, FALSE)
72 #define RDP_SCANCODE_KEY_A MAKE_RDP_SCANCODE(0x1E, FALSE)
73 #define RDP_SCANCODE_KEY_S MAKE_RDP_SCANCODE(0x1F, FALSE)
74 #define RDP_SCANCODE_KEY_D MAKE_RDP_SCANCODE(0x20, FALSE)
75 #define RDP_SCANCODE_KEY_F MAKE_RDP_SCANCODE(0x21, FALSE)
76 #define RDP_SCANCODE_KEY_G MAKE_RDP_SCANCODE(0x22, FALSE)
77 #define RDP_SCANCODE_KEY_H MAKE_RDP_SCANCODE(0x23, FALSE)
78 #define RDP_SCANCODE_KEY_J MAKE_RDP_SCANCODE(0x24, FALSE)
79 #define RDP_SCANCODE_KEY_K MAKE_RDP_SCANCODE(0x25, FALSE)
80 #define RDP_SCANCODE_KEY_L MAKE_RDP_SCANCODE(0x26, FALSE)
81 #define RDP_SCANCODE_OEM_1 MAKE_RDP_SCANCODE(0x27, FALSE)
82 #define RDP_SCANCODE_OEM_7 MAKE_RDP_SCANCODE(0x28, FALSE)
83 #define RDP_SCANCODE_OEM_3 \
84 MAKE_RDP_SCANCODE(0x29, FALSE)
85 #define RDP_SCANCODE_LSHIFT MAKE_RDP_SCANCODE(0x2A, FALSE)
86 #define RDP_SCANCODE_OEM_5 MAKE_RDP_SCANCODE(0x2B, FALSE)
87 #define RDP_SCANCODE_KEY_Z MAKE_RDP_SCANCODE(0x2C, FALSE)
88 #define RDP_SCANCODE_KEY_X MAKE_RDP_SCANCODE(0x2D, FALSE)
89 #define RDP_SCANCODE_KEY_C MAKE_RDP_SCANCODE(0x2E, FALSE)
90 #define RDP_SCANCODE_KEY_V MAKE_RDP_SCANCODE(0x2F, FALSE)
91 #define RDP_SCANCODE_KEY_B MAKE_RDP_SCANCODE(0x30, FALSE)
92 #define RDP_SCANCODE_KEY_N MAKE_RDP_SCANCODE(0x31, FALSE)
93 #define RDP_SCANCODE_KEY_M MAKE_RDP_SCANCODE(0x32, FALSE)
94 #define RDP_SCANCODE_OEM_COMMA MAKE_RDP_SCANCODE(0x33, FALSE)
95 #define RDP_SCANCODE_OEM_PERIOD MAKE_RDP_SCANCODE(0x34, FALSE)
96 #define RDP_SCANCODE_OEM_2 MAKE_RDP_SCANCODE(0x35, FALSE)
97 #define RDP_SCANCODE_RSHIFT MAKE_RDP_SCANCODE(0x36, FALSE)
98 #define RDP_SCANCODE_MULTIPLY MAKE_RDP_SCANCODE(0x37, FALSE)
99 #define RDP_SCANCODE_LMENU MAKE_RDP_SCANCODE(0x38, FALSE)
100 #define RDP_SCANCODE_SPACE MAKE_RDP_SCANCODE(0x39, FALSE)
101 #define RDP_SCANCODE_CAPSLOCK \
102 MAKE_RDP_SCANCODE(0x3A, FALSE)
103 #define RDP_SCANCODE_F1 MAKE_RDP_SCANCODE(0x3B, FALSE)
104 #define RDP_SCANCODE_F2 MAKE_RDP_SCANCODE(0x3C, FALSE)
105 #define RDP_SCANCODE_F3 MAKE_RDP_SCANCODE(0x3D, FALSE)
106 #define RDP_SCANCODE_F4 MAKE_RDP_SCANCODE(0x3E, FALSE)
107 #define RDP_SCANCODE_F5 MAKE_RDP_SCANCODE(0x3F, FALSE)
108 #define RDP_SCANCODE_F6 MAKE_RDP_SCANCODE(0x40, FALSE)
109 #define RDP_SCANCODE_F7 MAKE_RDP_SCANCODE(0x41, FALSE)
110 #define RDP_SCANCODE_F8 MAKE_RDP_SCANCODE(0x42, FALSE)
111 #define RDP_SCANCODE_F9 MAKE_RDP_SCANCODE(0x43, FALSE)
112 #define RDP_SCANCODE_F10 MAKE_RDP_SCANCODE(0x44, FALSE)
113 #define RDP_SCANCODE_NUMLOCK \
114 MAKE_RDP_SCANCODE(0x45, FALSE) \
117 #define RDP_SCANCODE_SCROLLLOCK \
118 MAKE_RDP_SCANCODE(0x46, FALSE)
119 #define RDP_SCANCODE_NUMPAD7 MAKE_RDP_SCANCODE(0x47, FALSE)
120 #define RDP_SCANCODE_NUMPAD8 MAKE_RDP_SCANCODE(0x48, FALSE)
121 #define RDP_SCANCODE_NUMPAD9 MAKE_RDP_SCANCODE(0x49, FALSE)
122 #define RDP_SCANCODE_SUBTRACT MAKE_RDP_SCANCODE(0x4A, FALSE)
123 #define RDP_SCANCODE_NUMPAD4 MAKE_RDP_SCANCODE(0x4B, FALSE)
124 #define RDP_SCANCODE_NUMPAD5 MAKE_RDP_SCANCODE(0x4C, FALSE)
125 #define RDP_SCANCODE_NUMPAD6 MAKE_RDP_SCANCODE(0x4D, FALSE)
126 #define RDP_SCANCODE_ADD MAKE_RDP_SCANCODE(0x4E, FALSE)
127 #define RDP_SCANCODE_NUMPAD1 MAKE_RDP_SCANCODE(0x4F, FALSE)
128 #define RDP_SCANCODE_NUMPAD2 MAKE_RDP_SCANCODE(0x50, FALSE)
129 #define RDP_SCANCODE_NUMPAD3 MAKE_RDP_SCANCODE(0x51, FALSE)
130 #define RDP_SCANCODE_NUMPAD0 MAKE_RDP_SCANCODE(0x52, FALSE)
131 #define RDP_SCANCODE_DECIMAL MAKE_RDP_SCANCODE(0x53, FALSE)
132 #define RDP_SCANCODE_SYSREQ MAKE_RDP_SCANCODE(0x54, FALSE)
133 #define RDP_SCANCODE_OEM_102 MAKE_RDP_SCANCODE(0x56, FALSE)
134 #define RDP_SCANCODE_F11 MAKE_RDP_SCANCODE(0x57, FALSE)
135 #define RDP_SCANCODE_F12 MAKE_RDP_SCANCODE(0x58, FALSE)
136 #define RDP_SCANCODE_SLEEP \
137 MAKE_RDP_SCANCODE(0x5F, FALSE)
139 #define RDP_SCANCODE_ZOOM MAKE_RDP_SCANCODE(0x62, FALSE)
140 #define RDP_SCANCODE_HELP MAKE_RDP_SCANCODE(0x63, FALSE)
142 #define RDP_SCANCODE_F13 \
143 MAKE_RDP_SCANCODE(0x64, FALSE)
144 #define RDP_SCANCODE_F14 MAKE_RDP_SCANCODE(0x65, FALSE)
145 #define RDP_SCANCODE_F15 MAKE_RDP_SCANCODE(0x66, FALSE)
146 #define RDP_SCANCODE_F16 MAKE_RDP_SCANCODE(0x67, FALSE)
147 #define RDP_SCANCODE_F17 MAKE_RDP_SCANCODE(0x68, FALSE)
148 #define RDP_SCANCODE_F18 MAKE_RDP_SCANCODE(0x69, FALSE)
149 #define RDP_SCANCODE_F19 MAKE_RDP_SCANCODE(0x6A, FALSE)
150 #define RDP_SCANCODE_F20 MAKE_RDP_SCANCODE(0x6B, FALSE)
151 #define RDP_SCANCODE_F21 MAKE_RDP_SCANCODE(0x6C, FALSE)
152 #define RDP_SCANCODE_F22 MAKE_RDP_SCANCODE(0x6D, FALSE)
153 #define RDP_SCANCODE_F23 MAKE_RDP_SCANCODE(0x6E, FALSE)
154 #define RDP_SCANCODE_F24 \
155 MAKE_RDP_SCANCODE(0x6F, FALSE)
157 #define RDP_SCANCODE_HIRAGANA MAKE_RDP_SCANCODE(0x70, FALSE)
158 #define RDP_SCANCODE_HANJA_KANJI \
159 MAKE_RDP_SCANCODE(0x71, FALSE)
160 #define RDP_SCANCODE_KANA_HANGUL \
161 MAKE_RDP_SCANCODE(0x72, FALSE)
162 #define RDP_SCANCODE_ABNT_C1 MAKE_RDP_SCANCODE(0x73, FALSE)
163 #define RDP_SCANCODE_F24_JP MAKE_RDP_SCANCODE(0x76, FALSE)
164 #define RDP_SCANCODE_CONVERT_JP MAKE_RDP_SCANCODE(0x79, FALSE)
165 #define RDP_SCANCODE_NONCONVERT_JP MAKE_RDP_SCANCODE(0x7B, FALSE)
166 #define RDP_SCANCODE_TAB_JP MAKE_RDP_SCANCODE(0x7C, FALSE)
167 #define RDP_SCANCODE_BACKSLASH_JP MAKE_RDP_SCANCODE(0x7D, FALSE)
168 #define RDP_SCANCODE_ABNT_C2 MAKE_RDP_SCANCODE(0x7E, FALSE)
169 #define RDP_SCANCODE_HANJA MAKE_RDP_SCANCODE(0x71, FALSE)
170 #define RDP_SCANCODE_HANGUL MAKE_RDP_SCANCODE(0x72, FALSE)
172 #define RDP_SCANCODE_RETURN_KP \
173 MAKE_RDP_SCANCODE(0x1C, TRUE)
174 #define RDP_SCANCODE_RCONTROL MAKE_RDP_SCANCODE(0x1D, TRUE)
175 #define RDP_SCANCODE_DIVIDE MAKE_RDP_SCANCODE(0x35, TRUE)
176 #define RDP_SCANCODE_PRINTSCREEN \
177 MAKE_RDP_SCANCODE(0x37, TRUE)
178 #define RDP_SCANCODE_RMENU MAKE_RDP_SCANCODE(0x38, TRUE)
179 #define RDP_SCANCODE_PAUSE \
180 MAKE_RDP_SCANCODE(0x46, TRUE)
181 #define RDP_SCANCODE_HOME MAKE_RDP_SCANCODE(0x47, TRUE)
182 #define RDP_SCANCODE_UP MAKE_RDP_SCANCODE(0x48, TRUE)
183 #define RDP_SCANCODE_PRIOR MAKE_RDP_SCANCODE(0x49, TRUE)
184 #define RDP_SCANCODE_LEFT MAKE_RDP_SCANCODE(0x4B, TRUE)
185 #define RDP_SCANCODE_RIGHT MAKE_RDP_SCANCODE(0x4D, TRUE)
186 #define RDP_SCANCODE_END MAKE_RDP_SCANCODE(0x4F, TRUE)
187 #define RDP_SCANCODE_DOWN MAKE_RDP_SCANCODE(0x50, TRUE)
188 #define RDP_SCANCODE_NEXT MAKE_RDP_SCANCODE(0x51, TRUE)
189 #define RDP_SCANCODE_INSERT MAKE_RDP_SCANCODE(0x52, TRUE)
190 #define RDP_SCANCODE_DELETE MAKE_RDP_SCANCODE(0x53, TRUE)
191 #define RDP_SCANCODE_NULL MAKE_RDP_SCANCODE(0x54, TRUE)
192 #define RDP_SCANCODE_HELP2 \
193 MAKE_RDP_SCANCODE(0x56, TRUE)
194 #define RDP_SCANCODE_LWIN MAKE_RDP_SCANCODE(0x5B, TRUE)
195 #define RDP_SCANCODE_RWIN MAKE_RDP_SCANCODE(0x5C, TRUE)
196 #define RDP_SCANCODE_APPS MAKE_RDP_SCANCODE(0x5D, TRUE)
197 #define RDP_SCANCODE_POWER_JP MAKE_RDP_SCANCODE(0x5E, TRUE)
198 #define RDP_SCANCODE_SLEEP_JP MAKE_RDP_SCANCODE(0x5F, TRUE)
201 #define RDP_SCANCODE_NUMLOCK_EXTENDED \
202 MAKE_RDP_SCANCODE(0x45, TRUE)
203 #define RDP_SCANCODE_RSHIFT_EXTENDED \
204 MAKE_RDP_SCANCODE(0x36, TRUE)
207 #define RDP_SCANCODE_VOLUME_MUTE MAKE_RDP_SCANCODE(0x20, TRUE)
208 #define RDP_SCANCODE_VOLUME_DOWN MAKE_RDP_SCANCODE(0x2E, TRUE)
209 #define RDP_SCANCODE_VOLUME_UP MAKE_RDP_SCANCODE(0x30, TRUE)
212 #define RDP_SCANCODE_MEDIA_NEXT_TRACK MAKE_RDP_SCANCODE(0x19, TRUE)
213 #define RDP_SCANCODE_MEDIA_PREV_TRACK MAKE_RDP_SCANCODE(0x10, TRUE)
214 #define RDP_SCANCODE_MEDIA_STOP MAKE_RDP_SCANCODE(0x24, TRUE)
215 #define RDP_SCANCODE_MEDIA_PLAY_PAUSE \
216 MAKE_RDP_SCANCODE(0x22, TRUE)
220 #define RDP_SCANCODE_BROWSER_BACK MAKE_RDP_SCANCODE(0x6A, TRUE)
221 #define RDP_SCANCODE_BROWSER_FORWARD MAKE_RDP_SCANCODE(0x69, TRUE)
222 #define RDP_SCANCODE_BROWSER_REFRESH MAKE_RDP_SCANCODE(0x67, TRUE)
223 #define RDP_SCANCODE_BROWSER_STOP MAKE_RDP_SCANCODE(0x68, TRUE)
224 #define RDP_SCANCODE_BROWSER_SEARCH MAKE_RDP_SCANCODE(0x65, TRUE)
225 #define RDP_SCANCODE_BROWSER_FAVORITES MAKE_RDP_SCANCODE(0x66, TRUE)
226 #define RDP_SCANCODE_BROWSER_HOME MAKE_RDP_SCANCODE(0x32, TRUE)
229 #define RDP_SCANCODE_LAUNCH_MAIL MAKE_RDP_SCANCODE(0x6C, TRUE)
231 #define RDP_SCANCODE_LAUNCH_MEDIA_SELECT \
232 MAKE_RDP_SCANCODE(0x6D, TRUE)
234 #define RDP_SCANCODE_LAUNCH_APP1 MAKE_RDP_SCANCODE(0x6E, TRUE)
235 #define RDP_SCANCODE_LAUNCH_APP2 MAKE_RDP_SCANCODE(0x6F, TRUE)