1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
/* $OpenBSD: wskbdraw.h,v 1.1 2005/01/18 18:52:32 miod Exp $ */
/*
* Copyright (c) 2005, Miodrag Vallat
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* US keyboard XT scancodes
*/
#define RAWKEY_Null 0x00
/*
* These names match KS_xxx symbols whenever possible
*/
#define RAWKEY_Escape 0x01
#define RAWKEY_1 0x02
#define RAWKEY_2 0x03
#define RAWKEY_3 0x04
#define RAWKEY_4 0x05
#define RAWKEY_5 0x06
#define RAWKEY_6 0x07
#define RAWKEY_7 0x08
#define RAWKEY_8 0x09
#define RAWKEY_9 0x0a
#define RAWKEY_0 0x0b
#define RAWKEY_minus 0x0c
#define RAWKEY_equal 0x0d
#define RAWKEY_Tab 0x0f
#define RAWKEY_q 0x10
#define RAWKEY_w 0x11
#define RAWKEY_e 0x12
#define RAWKEY_r 0x13
#define RAWKEY_t 0x14
#define RAWKEY_y 0x15
#define RAWKEY_u 0x16
#define RAWKEY_i 0x17
#define RAWKEY_o 0x18
#define RAWKEY_p 0x19
#define RAWKEY_bracketleft 0x1a
#define RAWKEY_bracketright 0x1b
#define RAWKEY_Return 0x1c
#define RAWKEY_Control_L 0x1d
#define RAWKEY_a 0x1e
#define RAWKEY_s 0x1f
#define RAWKEY_d 0x20
#define RAWKEY_f 0x21
#define RAWKEY_g 0x22
#define RAWKEY_h 0x23
#define RAWKEY_j 0x24
#define RAWKEY_k 0x25
#define RAWKEY_l 0x26
#define RAWKEY_semicolon 0x27
#define RAWKEY_apostrophe 0x28
#define RAWKEY_grave 0x29
#define RAWKEY_Shift_L 0x2a
#define RAWKEY_backslash 0x2b
#define RAWKEY_z 0x2c
#define RAWKEY_x 0x2d
#define RAWKEY_c 0x2e
#define RAWKEY_v 0x2f
#define RAWKEY_b 0x30
#define RAWKEY_n 0x31
#define RAWKEY_m 0x32
#define RAWKEY_comma 0x33
#define RAWKEY_period 0x34
#define RAWKEY_slash 0x35
#define RAWKEY_Shift_R 0x36
#define RAWKEY_KP_Multiply 0x37
#define RAWKEY_Alt_L 0x38
#define RAWKEY_space 0x39
#define RAWKEY_Caps_Lock 0x3a
#define RAWKEY_f1 0x3b
#define RAWKEY_f2 0x3c
#define RAWKEY_f3 0x3d
#define RAWKEY_f4 0x3e
#define RAWKEY_f5 0x3f
#define RAWKEY_f6 0x40
#define RAWKEY_f7 0x41
#define RAWKEY_f8 0x42
#define RAWKEY_f9 0x43
#define RAWKEY_f10 0x44
#define RAWKEY_Num_Lock 0x45
#define RAWKEY_Hold_Screen 0x46 /* Scroll Lock */
#define RAWKEY_KP_Home 0x47
#define RAWKEY_KP_Up 0x48
#define RAWKEY_KP_Prior 0x49
#define RAWKEY_KP_Subtract 0x4a
#define RAWKEY_KP_Left 0x4b
#define RAWKEY_KP_Begin 0x4c
#define RAWKEY_KP_Right 0x4d
#define RAWKEY_KP_Add 0x4e
#define RAWKEY_KP_End 0x4f
#define RAWKEY_KP_Down 0x50
#define RAWKEY_KP_Next 0x51
#define RAWKEY_KP_Insert 0x52
#define RAWKEY_KP_Delete 0x53
#define RAWKEY_less 0x56 /* < > on European keyboards */
#define RAWKEY_f11 0x57
#define RAWKEY_f12 0x58
#define RAWKEY_Print_Screen 0x67
#define RAWKEY_Pause 0x6a
#define RAWKEY_KP_Equal 0x76
#define RAWKEY_KP_Enter 0x9c
#define RAWKEY_Control_R 0x9d
#define RAWKEY_KP_Divide 0xb5
#define RAWKEY_Alt_R 0xb8
#define RAWKEY_Home 0xc7
#define RAWKEY_Up 0xc8
#define RAWKEY_Prior 0xc9
#define RAWKEY_Left 0xcb
#define RAWKEY_Right 0xcd
#define RAWKEY_End 0xcf
#define RAWKEY_Down 0xd0
#define RAWKEY_Next 0xd1
#define RAWKEY_Insert 0xd2
#define RAWKEY_Delete 0xd3
#define RAWKEY_Begin 0x5d
#define RAWKEY_Menu 0x6d
/*
* The following keys have no KS_xxx equivalents
*/
#define RAWKEY_BackSpace 0x0e
#define RAWKEY_SysReq 0x54
#define RAWKEY_Power 0x84
#define RAWKEY_AudioMute 0x85
#define RAWKEY_AudioLower 0x86
#define RAWKEY_AudioRaise 0x87
#define RAWKEY_Help 0x88
#define RAWKEY_L1 0x89 /* Stop */
#define RAWKEY_L2 0x8a /* Again */
#define RAWKEY_L3 0x8b /* Props */
#define RAWKEY_L4 0x8c /* Undo */
#define RAWKEY_L5 0x8d /* Front */
#define RAWKEY_L6 0x8e /* Copy */
#define RAWKEY_L7 0x8f /* Open */
#define RAWKEY_L8 0x90 /* Paste */
#define RAWKEY_L9 0x91 /* Find */
#define RAWKEY_L10 0x92 /* Cut */
|