summaryrefslogtreecommitdiff
path: root/sys/dev/wscons/wskbdraw.h
blob: b5c96ec04b216001fb93f6b5fe66c6e255392e85 (plain)
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
166
167
168
/*	$OpenBSD: wskbdraw.h,v 1.4 2023/07/24 19:28:40 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_Pause			0x6a
#define	RAWKEY_Meta_L			0x73
#define	RAWKEY_Meta_R			0x74
#define	RAWKEY_KP_Equal			0x76
#define	RAWKEY_KP_Enter			0x9c
#define	RAWKEY_Control_R		0x9d
#define	RAWKEY_KP_Divide		0xb5
#define	RAWKEY_Print_Screen		0xb7
#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
#define	RAWKEY_Compose			0x72

/*
 * 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 */