FreeRDP
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
Functions
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
Functions
a
c
d
e
f
g
i
o
r
s
t
Variables
a
b
c
d
e
g
i
l
m
n
o
p
r
s
t
u
v
Files
File List
Globals
All
Typedefs
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Modules
Pages
Loading...
Searching...
No Matches
scancode.h
1
20
#ifndef FREERDP_LOCALE_KEYBOARD_RDP_SCANCODE_H
21
#define FREERDP_LOCALE_KEYBOARD_RDP_SCANCODE_H
22
23
#include <winpr/input.h>
24
25
/* msdn{cc240584} says:
26
* "... (a scancode is an 8-bit value specifying a key location on the keyboard).
27
* The server accepts a scancode value and translates it into the correct character depending on the
28
* language locale and keyboard layout used in the session." The 8-bit value is later called
29
* "keyCode" The extended flag is for all practical an important 9th bit with a strange encoding -
30
* not just a modifier.
31
*/
32
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))
36
37
/* Defines for known RDP_SCANCODE protocol values.
38
* Mostly the same as the PKBDLLHOOKSTRUCT scanCode, "A hardware scan code for the key",
39
* msdn{ms644967}. Based msdn{ms894073} US, msdn{ms894072} UK, msdn{ms892472} */
40
41
#define RDP_SCANCODE_UNKNOWN MAKE_RDP_SCANCODE(0x00, FALSE)
42
43
#define RDP_SCANCODE_ESCAPE MAKE_RDP_SCANCODE(0x01, FALSE)
/* VK_ESCAPE */
44
#define RDP_SCANCODE_KEY_1 MAKE_RDP_SCANCODE(0x02, FALSE)
/* VK_KEY_1 */
45
#define RDP_SCANCODE_KEY_2 MAKE_RDP_SCANCODE(0x03, FALSE)
/* VK_KEY_2 */
46
#define RDP_SCANCODE_KEY_3 MAKE_RDP_SCANCODE(0x04, FALSE)
/* VK_KEY_3 */
47
#define RDP_SCANCODE_KEY_4 MAKE_RDP_SCANCODE(0x05, FALSE)
/* VK_KEY_4 */
48
#define RDP_SCANCODE_KEY_5 MAKE_RDP_SCANCODE(0x06, FALSE)
/* VK_KEY_5 */
49
#define RDP_SCANCODE_KEY_6 MAKE_RDP_SCANCODE(0x07, FALSE)
/* VK_KEY_6 */
50
#define RDP_SCANCODE_KEY_7 MAKE_RDP_SCANCODE(0x08, FALSE)
/* VK_KEY_7 */
51
#define RDP_SCANCODE_KEY_8 MAKE_RDP_SCANCODE(0x09, FALSE)
/* VK_KEY_8 */
52
#define RDP_SCANCODE_KEY_9 MAKE_RDP_SCANCODE(0x0A, FALSE)
/* VK_KEY_9 */
53
#define RDP_SCANCODE_KEY_0 MAKE_RDP_SCANCODE(0x0B, FALSE)
/* VK_KEY_0 */
54
#define RDP_SCANCODE_OEM_MINUS MAKE_RDP_SCANCODE(0x0C, FALSE)
/* VK_OEM_MINUS */
55
#define RDP_SCANCODE_OEM_PLUS MAKE_RDP_SCANCODE(0x0D, FALSE)
/* VK_OEM_PLUS */
56
#define RDP_SCANCODE_BACKSPACE MAKE_RDP_SCANCODE(0x0E, FALSE)
/* VK_BACK Backspace */
57
#define RDP_SCANCODE_TAB MAKE_RDP_SCANCODE(0x0F, FALSE)
/* VK_TAB */
58
#define RDP_SCANCODE_KEY_Q MAKE_RDP_SCANCODE(0x10, FALSE)
/* VK_KEY_Q */
59
#define RDP_SCANCODE_KEY_W MAKE_RDP_SCANCODE(0x11, FALSE)
/* VK_KEY_W */
60
#define RDP_SCANCODE_KEY_E MAKE_RDP_SCANCODE(0x12, FALSE)
/* VK_KEY_E */
61
#define RDP_SCANCODE_KEY_R MAKE_RDP_SCANCODE(0x13, FALSE)
/* VK_KEY_R */
62
#define RDP_SCANCODE_KEY_T MAKE_RDP_SCANCODE(0x14, FALSE)
/* VK_KEY_T */
63
#define RDP_SCANCODE_KEY_Y MAKE_RDP_SCANCODE(0x15, FALSE)
/* VK_KEY_Y */
64
#define RDP_SCANCODE_KEY_U MAKE_RDP_SCANCODE(0x16, FALSE)
/* VK_KEY_U */
65
#define RDP_SCANCODE_KEY_I MAKE_RDP_SCANCODE(0x17, FALSE)
/* VK_KEY_I */
66
#define RDP_SCANCODE_KEY_O MAKE_RDP_SCANCODE(0x18, FALSE)
/* VK_KEY_O */
67
#define RDP_SCANCODE_KEY_P MAKE_RDP_SCANCODE(0x19, FALSE)
/* VK_KEY_P */
68
#define RDP_SCANCODE_OEM_4 MAKE_RDP_SCANCODE(0x1A, FALSE)
/* VK_OEM_4 '[' on US */
69
#define RDP_SCANCODE_OEM_6 MAKE_RDP_SCANCODE(0x1B, FALSE)
/* VK_OEM_6 ']' on US */
70
#define RDP_SCANCODE_RETURN MAKE_RDP_SCANCODE(0x1C, FALSE)
/* VK_RETURN Normal Enter */
71
#define RDP_SCANCODE_LCONTROL MAKE_RDP_SCANCODE(0x1D, FALSE)
/* VK_LCONTROL */
72
#define RDP_SCANCODE_KEY_A MAKE_RDP_SCANCODE(0x1E, FALSE)
/* VK_KEY_A */
73
#define RDP_SCANCODE_KEY_S MAKE_RDP_SCANCODE(0x1F, FALSE)
/* VK_KEY_S */
74
#define RDP_SCANCODE_KEY_D MAKE_RDP_SCANCODE(0x20, FALSE)
/* VK_KEY_D */
75
#define RDP_SCANCODE_KEY_F MAKE_RDP_SCANCODE(0x21, FALSE)
/* VK_KEY_F */
76
#define RDP_SCANCODE_KEY_G MAKE_RDP_SCANCODE(0x22, FALSE)
/* VK_KEY_G */
77
#define RDP_SCANCODE_KEY_H MAKE_RDP_SCANCODE(0x23, FALSE)
/* VK_KEY_H */
78
#define RDP_SCANCODE_KEY_J MAKE_RDP_SCANCODE(0x24, FALSE)
/* VK_KEY_J */
79
#define RDP_SCANCODE_KEY_K MAKE_RDP_SCANCODE(0x25, FALSE)
/* VK_KEY_K */
80
#define RDP_SCANCODE_KEY_L MAKE_RDP_SCANCODE(0x26, FALSE)
/* VK_KEY_L */
81
#define RDP_SCANCODE_OEM_1 MAKE_RDP_SCANCODE(0x27, FALSE)
/* VK_OEM_1 ';' on US */
82
#define RDP_SCANCODE_OEM_7 MAKE_RDP_SCANCODE(0x28, FALSE)
/* VK_OEM_7 "'" on US */
83
#define RDP_SCANCODE_OEM_3 \
84
MAKE_RDP_SCANCODE(0x29, FALSE)
/* VK_OEM_3 Top left, '`' on US, JP DBE_SBCSCHAR */
85
#define RDP_SCANCODE_LSHIFT MAKE_RDP_SCANCODE(0x2A, FALSE)
/* VK_LSHIFT */
86
#define RDP_SCANCODE_OEM_5 MAKE_RDP_SCANCODE(0x2B, FALSE)
/* VK_OEM_5 Next to Enter, '\' on US */
87
#define RDP_SCANCODE_KEY_Z MAKE_RDP_SCANCODE(0x2C, FALSE)
/* VK_KEY_Z */
88
#define RDP_SCANCODE_KEY_X MAKE_RDP_SCANCODE(0x2D, FALSE)
/* VK_KEY_X */
89
#define RDP_SCANCODE_KEY_C MAKE_RDP_SCANCODE(0x2E, FALSE)
/* VK_KEY_C */
90
#define RDP_SCANCODE_KEY_V MAKE_RDP_SCANCODE(0x2F, FALSE)
/* VK_KEY_V */
91
#define RDP_SCANCODE_KEY_B MAKE_RDP_SCANCODE(0x30, FALSE)
/* VK_KEY_B */
92
#define RDP_SCANCODE_KEY_N MAKE_RDP_SCANCODE(0x31, FALSE)
/* VK_KEY_N */
93
#define RDP_SCANCODE_KEY_M MAKE_RDP_SCANCODE(0x32, FALSE)
/* VK_KEY_M */
94
#define RDP_SCANCODE_OEM_COMMA MAKE_RDP_SCANCODE(0x33, FALSE)
/* VK_OEM_COMMA */
95
#define RDP_SCANCODE_OEM_PERIOD MAKE_RDP_SCANCODE(0x34, FALSE)
/* VK_OEM_PERIOD */
96
#define RDP_SCANCODE_OEM_2 MAKE_RDP_SCANCODE(0x35, FALSE)
/* VK_OEM_2 '/' on US */
97
#define RDP_SCANCODE_RSHIFT MAKE_RDP_SCANCODE(0x36, FALSE)
/* VK_RSHIFT */
98
#define RDP_SCANCODE_MULTIPLY MAKE_RDP_SCANCODE(0x37, FALSE)
/* VK_MULTIPLY Numerical */
99
#define RDP_SCANCODE_LMENU MAKE_RDP_SCANCODE(0x38, FALSE)
/* VK_LMENU Left 'Alt' key */
100
#define RDP_SCANCODE_SPACE MAKE_RDP_SCANCODE(0x39, FALSE)
/* VK_SPACE */
101
#define RDP_SCANCODE_CAPSLOCK \
102
MAKE_RDP_SCANCODE(0x3A, FALSE)
/* VK_CAPITAL 'Caps Lock', JP DBE_ALPHANUMERIC */
103
#define RDP_SCANCODE_F1 MAKE_RDP_SCANCODE(0x3B, FALSE)
/* VK_F1 */
104
#define RDP_SCANCODE_F2 MAKE_RDP_SCANCODE(0x3C, FALSE)
/* VK_F2 */
105
#define RDP_SCANCODE_F3 MAKE_RDP_SCANCODE(0x3D, FALSE)
/* VK_F3 */
106
#define RDP_SCANCODE_F4 MAKE_RDP_SCANCODE(0x3E, FALSE)
/* VK_F4 */
107
#define RDP_SCANCODE_F5 MAKE_RDP_SCANCODE(0x3F, FALSE)
/* VK_F5 */
108
#define RDP_SCANCODE_F6 MAKE_RDP_SCANCODE(0x40, FALSE)
/* VK_F6 */
109
#define RDP_SCANCODE_F7 MAKE_RDP_SCANCODE(0x41, FALSE)
/* VK_F7 */
110
#define RDP_SCANCODE_F8 MAKE_RDP_SCANCODE(0x42, FALSE)
/* VK_F8 */
111
#define RDP_SCANCODE_F9 MAKE_RDP_SCANCODE(0x43, FALSE)
/* VK_F9 */
112
#define RDP_SCANCODE_F10 MAKE_RDP_SCANCODE(0x44, FALSE)
/* VK_F10 */
113
#define RDP_SCANCODE_NUMLOCK \
114
MAKE_RDP_SCANCODE(0x45, FALSE) \
115
/* VK_NUMLOCK */
/* Note: when this seems to appear in PKBDLLHOOKSTRUCT it means Pause which \
116
must be sent as Ctrl + NumLock */
117
#define RDP_SCANCODE_SCROLLLOCK \
118
MAKE_RDP_SCANCODE(0x46, FALSE)
/* VK_SCROLL 'Scroll Lock', JP OEM_SCROLL */
119
#define RDP_SCANCODE_NUMPAD7 MAKE_RDP_SCANCODE(0x47, FALSE)
/* VK_NUMPAD7 */
120
#define RDP_SCANCODE_NUMPAD8 MAKE_RDP_SCANCODE(0x48, FALSE)
/* VK_NUMPAD8 */
121
#define RDP_SCANCODE_NUMPAD9 MAKE_RDP_SCANCODE(0x49, FALSE)
/* VK_NUMPAD9 */
122
#define RDP_SCANCODE_SUBTRACT MAKE_RDP_SCANCODE(0x4A, FALSE)
/* VK_SUBTRACT */
123
#define RDP_SCANCODE_NUMPAD4 MAKE_RDP_SCANCODE(0x4B, FALSE)
/* VK_NUMPAD4 */
124
#define RDP_SCANCODE_NUMPAD5 MAKE_RDP_SCANCODE(0x4C, FALSE)
/* VK_NUMPAD5 */
125
#define RDP_SCANCODE_NUMPAD6 MAKE_RDP_SCANCODE(0x4D, FALSE)
/* VK_NUMPAD6 */
126
#define RDP_SCANCODE_ADD MAKE_RDP_SCANCODE(0x4E, FALSE)
/* VK_ADD */
127
#define RDP_SCANCODE_NUMPAD1 MAKE_RDP_SCANCODE(0x4F, FALSE)
/* VK_NUMPAD1 */
128
#define RDP_SCANCODE_NUMPAD2 MAKE_RDP_SCANCODE(0x50, FALSE)
/* VK_NUMPAD2 */
129
#define RDP_SCANCODE_NUMPAD3 MAKE_RDP_SCANCODE(0x51, FALSE)
/* VK_NUMPAD3 */
130
#define RDP_SCANCODE_NUMPAD0 MAKE_RDP_SCANCODE(0x52, FALSE)
/* VK_NUMPAD0 */
131
#define RDP_SCANCODE_DECIMAL MAKE_RDP_SCANCODE(0x53, FALSE)
/* VK_DECIMAL Numerical, '.' on US */
132
#define RDP_SCANCODE_SYSREQ MAKE_RDP_SCANCODE(0x54, FALSE)
/* Sys Req */
133
#define RDP_SCANCODE_OEM_102 MAKE_RDP_SCANCODE(0x56, FALSE)
/* VK_OEM_102 Lower left '\' on US */
134
#define RDP_SCANCODE_F11 MAKE_RDP_SCANCODE(0x57, FALSE)
/* VK_F11 */
135
#define RDP_SCANCODE_F12 MAKE_RDP_SCANCODE(0x58, FALSE)
/* VK_F12 */
136
#define RDP_SCANCODE_SLEEP \
137
MAKE_RDP_SCANCODE(0x5F, FALSE)
/* VK_SLEEP OEM_8 on FR (undocumented?) \
138
*/
139
#define RDP_SCANCODE_ZOOM MAKE_RDP_SCANCODE(0x62, FALSE)
/* VK_ZOOM (undocumented?) */
140
#define RDP_SCANCODE_HELP MAKE_RDP_SCANCODE(0x63, FALSE)
/* VK_HELP (undocumented?) */
141
142
#define RDP_SCANCODE_F13 \
143
MAKE_RDP_SCANCODE(0x64, FALSE)
/* VK_F13 */
/* JP agree, should 0x7d according to ms894073 */
144
#define RDP_SCANCODE_F14 MAKE_RDP_SCANCODE(0x65, FALSE)
/* VK_F14 */
145
#define RDP_SCANCODE_F15 MAKE_RDP_SCANCODE(0x66, FALSE)
/* VK_F15 */
146
#define RDP_SCANCODE_F16 MAKE_RDP_SCANCODE(0x67, FALSE)
/* VK_F16 */
147
#define RDP_SCANCODE_F17 MAKE_RDP_SCANCODE(0x68, FALSE)
/* VK_F17 */
148
#define RDP_SCANCODE_F18 MAKE_RDP_SCANCODE(0x69, FALSE)
/* VK_F18 */
149
#define RDP_SCANCODE_F19 MAKE_RDP_SCANCODE(0x6A, FALSE)
/* VK_F19 */
150
#define RDP_SCANCODE_F20 MAKE_RDP_SCANCODE(0x6B, FALSE)
/* VK_F20 */
151
#define RDP_SCANCODE_F21 MAKE_RDP_SCANCODE(0x6C, FALSE)
/* VK_F21 */
152
#define RDP_SCANCODE_F22 MAKE_RDP_SCANCODE(0x6D, FALSE)
/* VK_F22 */
153
#define RDP_SCANCODE_F23 MAKE_RDP_SCANCODE(0x6E, FALSE)
/* VK_F23 */
/* JP agree */
154
#define RDP_SCANCODE_F24 \
155
MAKE_RDP_SCANCODE(0x6F, FALSE)
/* VK_F24 */
/* 0x87 according to ms894073 */
156
157
#define RDP_SCANCODE_HIRAGANA MAKE_RDP_SCANCODE(0x70, FALSE)
/* JP DBE_HIRAGANA */
158
#define RDP_SCANCODE_HANJA_KANJI \
159
MAKE_RDP_SCANCODE(0x71, FALSE)
/* VK_HANJA / VK_KANJI (undocumented?) */
160
#define RDP_SCANCODE_KANA_HANGUL \
161
MAKE_RDP_SCANCODE(0x72, FALSE)
/* VK_KANA / VK_HANGUL (undocumented?) */
162
#define RDP_SCANCODE_ABNT_C1 MAKE_RDP_SCANCODE(0x73, FALSE)
/* VK_ABNT_C1 JP OEM_102 */
163
#define RDP_SCANCODE_F24_JP MAKE_RDP_SCANCODE(0x76, FALSE)
/* JP F24 */
164
#define RDP_SCANCODE_CONVERT_JP MAKE_RDP_SCANCODE(0x79, FALSE)
/* JP VK_CONVERT */
165
#define RDP_SCANCODE_NONCONVERT_JP MAKE_RDP_SCANCODE(0x7B, FALSE)
/* JP VK_NONCONVERT */
166
#define RDP_SCANCODE_TAB_JP MAKE_RDP_SCANCODE(0x7C, FALSE)
/* JP TAB */
167
#define RDP_SCANCODE_BACKSLASH_JP MAKE_RDP_SCANCODE(0x7D, FALSE)
/* JP OEM_5 ('\') */
168
#define RDP_SCANCODE_ABNT_C2 MAKE_RDP_SCANCODE(0x7E, FALSE)
/* VK_ABNT_C2, JP */
169
#define RDP_SCANCODE_HANJA MAKE_RDP_SCANCODE(0x71, FALSE)
/* KR VK_HANJA */
170
#define RDP_SCANCODE_HANGUL MAKE_RDP_SCANCODE(0x72, FALSE)
/* KR VK_HANGUL */
171
172
#define RDP_SCANCODE_RETURN_KP \
173
MAKE_RDP_SCANCODE(0x1C, TRUE)
/* not RDP_SCANCODE_RETURN Numerical Enter */
174
#define RDP_SCANCODE_RCONTROL MAKE_RDP_SCANCODE(0x1D, TRUE)
/* VK_RCONTROL */
175
#define RDP_SCANCODE_DIVIDE MAKE_RDP_SCANCODE(0x35, TRUE)
/* VK_DIVIDE Numerical */
176
#define RDP_SCANCODE_PRINTSCREEN \
177
MAKE_RDP_SCANCODE(0x37, TRUE)
/* VK_EXECUTE/VK_PRINT/VK_SNAPSHOT Print Screen */
178
#define RDP_SCANCODE_RMENU MAKE_RDP_SCANCODE(0x38, TRUE)
/* VK_RMENU Right 'Alt' / 'Alt Gr' */
179
#define RDP_SCANCODE_PAUSE \
180
MAKE_RDP_SCANCODE(0x46, TRUE)
/* VK_PAUSE Pause / Break (Slightly special handling) */
181
#define RDP_SCANCODE_HOME MAKE_RDP_SCANCODE(0x47, TRUE)
/* VK_HOME */
182
#define RDP_SCANCODE_UP MAKE_RDP_SCANCODE(0x48, TRUE)
/* VK_UP */
183
#define RDP_SCANCODE_PRIOR MAKE_RDP_SCANCODE(0x49, TRUE)
/* VK_PRIOR 'Page Up' */
184
#define RDP_SCANCODE_LEFT MAKE_RDP_SCANCODE(0x4B, TRUE)
/* VK_LEFT */
185
#define RDP_SCANCODE_RIGHT MAKE_RDP_SCANCODE(0x4D, TRUE)
/* VK_RIGHT */
186
#define RDP_SCANCODE_END MAKE_RDP_SCANCODE(0x4F, TRUE)
/* VK_END */
187
#define RDP_SCANCODE_DOWN MAKE_RDP_SCANCODE(0x50, TRUE)
/* VK_DOWN */
188
#define RDP_SCANCODE_NEXT MAKE_RDP_SCANCODE(0x51, TRUE)
/* VK_NEXT 'Page Down' */
189
#define RDP_SCANCODE_INSERT MAKE_RDP_SCANCODE(0x52, TRUE)
/* VK_INSERT */
190
#define RDP_SCANCODE_DELETE MAKE_RDP_SCANCODE(0x53, TRUE)
/* VK_DELETE */
191
#define RDP_SCANCODE_NULL MAKE_RDP_SCANCODE(0x54, TRUE)
/* <00> */
192
#define RDP_SCANCODE_HELP2 \
193
MAKE_RDP_SCANCODE(0x56, TRUE)
/* Help - documented, different from VK_HELP */
194
#define RDP_SCANCODE_LWIN MAKE_RDP_SCANCODE(0x5B, TRUE)
/* VK_LWIN */
195
#define RDP_SCANCODE_RWIN MAKE_RDP_SCANCODE(0x5C, TRUE)
/* VK_RWIN */
196
#define RDP_SCANCODE_APPS MAKE_RDP_SCANCODE(0x5D, TRUE)
/* VK_APPS Application */
197
#define RDP_SCANCODE_POWER_JP MAKE_RDP_SCANCODE(0x5E, TRUE)
/* JP POWER */
198
#define RDP_SCANCODE_SLEEP_JP MAKE_RDP_SCANCODE(0x5F, TRUE)
/* JP SLEEP */
199
200
/* _not_ valid scancode, but this is what a windows PKBDLLHOOKSTRUCT for NumLock contains */
201
#define RDP_SCANCODE_NUMLOCK_EXTENDED \
202
MAKE_RDP_SCANCODE(0x45, TRUE)
/* should be RDP_SCANCODE_NUMLOCK */
203
#define RDP_SCANCODE_RSHIFT_EXTENDED \
204
MAKE_RDP_SCANCODE(0x36, TRUE)
/* should be RDP_SCANCODE_RSHIFT */
205
206
/* Audio */
207
#define RDP_SCANCODE_VOLUME_MUTE MAKE_RDP_SCANCODE(0x20, TRUE)
/* VK_VOLUME_MUTE */
208
#define RDP_SCANCODE_VOLUME_DOWN MAKE_RDP_SCANCODE(0x2E, TRUE)
/* VK_VOLUME_DOWN */
209
#define RDP_SCANCODE_VOLUME_UP MAKE_RDP_SCANCODE(0x30, TRUE)
/* VK_VOLUME_UP */
210
211
/* Media */
212
#define RDP_SCANCODE_MEDIA_NEXT_TRACK MAKE_RDP_SCANCODE(0x19, TRUE)
/* VK_MEDIA_NEXT_TRACK */
213
#define RDP_SCANCODE_MEDIA_PREV_TRACK MAKE_RDP_SCANCODE(0x10, TRUE)
/* VK_MEDIA_PREV_TRACK */
214
#define RDP_SCANCODE_MEDIA_STOP MAKE_RDP_SCANCODE(0x24, TRUE)
/* VK_MEDIA_MEDIA_STOP */
215
#define RDP_SCANCODE_MEDIA_PLAY_PAUSE \
216
MAKE_RDP_SCANCODE(0x22, TRUE)
/* VK_MEDIA_MEDIA_PLAY_PAUSE \
217
*/
218
219
/* Browser functions */
220
#define RDP_SCANCODE_BROWSER_BACK MAKE_RDP_SCANCODE(0x6A, TRUE)
/* VK_BROWSER_BACK */
221
#define RDP_SCANCODE_BROWSER_FORWARD MAKE_RDP_SCANCODE(0x69, TRUE)
/* VK_BROWSER_FORWARD */
222
#define RDP_SCANCODE_BROWSER_REFRESH MAKE_RDP_SCANCODE(0x67, TRUE)
/* VK_BROWSER_REFRESH */
223
#define RDP_SCANCODE_BROWSER_STOP MAKE_RDP_SCANCODE(0x68, TRUE)
/* VK_BROWSER_STOP */
224
#define RDP_SCANCODE_BROWSER_SEARCH MAKE_RDP_SCANCODE(0x65, TRUE)
/* VK_BROWSER_SEARCH */
225
#define RDP_SCANCODE_BROWSER_FAVORITES MAKE_RDP_SCANCODE(0x66, TRUE)
/* VK_BROWSER_FAVORITES */
226
#define RDP_SCANCODE_BROWSER_HOME MAKE_RDP_SCANCODE(0x32, TRUE)
/* VK_BROWSER_HOME */
227
228
/* Misc. */
229
#define RDP_SCANCODE_LAUNCH_MAIL MAKE_RDP_SCANCODE(0x6C, TRUE)
/* VK_LAUNCH_MAIL */
230
231
#define RDP_SCANCODE_LAUNCH_MEDIA_SELECT \
232
MAKE_RDP_SCANCODE(0x6D, TRUE)
/* VK_LAUNCH_MEDIA_SELECT \
233
*/
234
#define RDP_SCANCODE_LAUNCH_APP1 MAKE_RDP_SCANCODE(0x6E, TRUE)
/* VK_LAUNCH_APP1 */
235
#define RDP_SCANCODE_LAUNCH_APP2 MAKE_RDP_SCANCODE(0x6F, TRUE)
/* VK_LAUNCH_APP2 */
236
237
#endif
/* FREERDP_LOCALE_KEYBOARD_RDP_SCANCODE_H */
include
freerdp
scancode.h
Generated by
1.9.8