2 * drivers/input/keyboard/hpps2atkbd.h
4 * Copyright (c) 2004 Helge Deller <deller@gmx.de>
5 * Copyright (c) 2002 Laurent Canet <canetl@esiee.fr>
6 * Copyright (c) 2002 Thibaut Varene <varenet@esiee.fr>
7 * Copyright (c) 2000 Xavier Debacker <debackex@esiee.fr>
9 * HP PS/2 AT-compatible Keyboard, found in PA/RISC Workstations & Laptops
11 * This file is subject to the terms and conditions of the GNU General Public
12 * License. See the file "COPYING" in the main directory of this archive
17 /* undefine if you have a RDI PRECISIONBOOK */
18 #define STANDARD_KEYBOARD
20 #if defined(STANDARD_KEYBOARD)
21 # define CONFLICT(x,y) x
23 # define CONFLICT(x,y) y
26 /* sadly RDI (Tadpole) decided to ship a different keyboard layout
27 than HP for their PS/2 laptop keyboard which leads to conflicting
28 keycodes between a normal HP PS/2 keyboard and a RDI Precisionbook.
30 #define C_07 CONFLICT( KEY_F12, KEY_F1 )
31 #define C_11 CONFLICT( KEY_LEFTALT, KEY_LEFTCTRL )
32 #define C_14 CONFLICT( KEY_LEFTCTRL, KEY_CAPSLOCK )
33 #define C_58 CONFLICT( KEY_CAPSLOCK, KEY_RIGHTCTRL )
34 #define C_61 CONFLICT( KEY_102ND, KEY_LEFT )
36 /* Raw SET 2 scancode table */
38 /* 00 */ KEY_RESERVED
, KEY_F9
, KEY_RESERVED
, KEY_F5
, KEY_F3
, KEY_F1
, KEY_F2
, C_07
,
39 /* 08 */ KEY_ESC
, KEY_F10
, KEY_F8
, KEY_F6
, KEY_F4
, KEY_TAB
, KEY_GRAVE
, KEY_F2
,
40 /* 10 */ KEY_RESERVED
, C_11
, KEY_LEFTSHIFT
, KEY_RESERVED
, C_14
, KEY_Q
, KEY_1
, KEY_F3
,
41 /* 18 */ KEY_RESERVED
, KEY_LEFTALT
, KEY_Z
, KEY_S
, KEY_A
, KEY_W
, KEY_2
, KEY_F4
,
42 /* 20 */ KEY_RESERVED
, KEY_C
, KEY_X
, KEY_D
, KEY_E
, KEY_4
, KEY_3
, KEY_F5
,
43 /* 28 */ KEY_RESERVED
, KEY_SPACE
, KEY_V
, KEY_F
, KEY_T
, KEY_R
, KEY_5
, KEY_F6
,
44 /* 30 */ KEY_RESERVED
, KEY_N
, KEY_B
, KEY_H
, KEY_G
, KEY_Y
, KEY_6
, KEY_F7
,
45 /* 38 */ KEY_RESERVED
, KEY_RIGHTALT
, KEY_M
, KEY_J
, KEY_U
, KEY_7
, KEY_8
, KEY_F8
,
46 /* 40 */ KEY_RESERVED
, KEY_COMMA
, KEY_K
, KEY_I
, KEY_O
, KEY_0
, KEY_9
, KEY_F9
,
47 /* 48 */ KEY_RESERVED
, KEY_DOT
, KEY_SLASH
, KEY_L
, KEY_SEMICOLON
, KEY_P
, KEY_MINUS
, KEY_F10
,
48 /* 50 */ KEY_RESERVED
, KEY_RESERVED
, KEY_APOSTROPHE
,KEY_RESERVED
, KEY_LEFTBRACE
, KEY_EQUAL
, KEY_F11
, KEY_SYSRQ
,
49 /* 58 */ C_58
, KEY_RIGHTSHIFT
,KEY_ENTER
, KEY_RIGHTBRACE
,KEY_BACKSLASH
, KEY_BACKSLASH
,KEY_F12
, KEY_SCROLLLOCK
,
50 /* 60 */ KEY_DOWN
, C_61
, KEY_PAUSE
, KEY_UP
, KEY_DELETE
, KEY_END
, KEY_BACKSPACE
, KEY_INSERT
,
51 /* 68 */ KEY_RESERVED
, KEY_KP1
, KEY_RIGHT
, KEY_KP4
, KEY_KP7
, KEY_PAGEDOWN
, KEY_HOME
, KEY_PAGEUP
,
52 /* 70 */ KEY_KP0
, KEY_KPDOT
, KEY_KP2
, KEY_KP5
, KEY_KP6
, KEY_KP8
, KEY_ESC
, KEY_NUMLOCK
,
53 /* 78 */ KEY_F11
, KEY_KPPLUS
, KEY_KP3
, KEY_KPMINUS
, KEY_KPASTERISK
,KEY_KP9
, KEY_SCROLLLOCK
,KEY_103RD
,
54 /* 80 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
55 /* 88 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
56 /* 90 */ KEY_RESERVED
, KEY_RIGHTALT
, KEY_SYSRQ
, KEY_RESERVED
, KEY_RIGHTCTRL
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
57 /* 98 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_CAPSLOCK
, KEY_RESERVED
, KEY_LEFTMETA
,
58 /* a0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RIGHTMETA
,
59 /* a8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_COMPOSE
,
60 /* b0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
61 /* b8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
62 /* c0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
63 /* c8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_KPSLASH
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
64 /* d0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
65 /* d8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_KPENTER
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
66 /* e0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
67 /* e8 */ KEY_RESERVED
, KEY_END
, KEY_RESERVED
, KEY_LEFT
, KEY_HOME
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
68 /* f0 */ KEY_INSERT
, KEY_DELETE
, KEY_DOWN
, KEY_RESERVED
, KEY_RIGHT
, KEY_UP
, KEY_RESERVED
, KEY_PAUSE
,
69 /* f8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_PAGEDOWN
, KEY_RESERVED
, KEY_SYSRQ
, KEY_PAGEUP
, KEY_RESERVED
, KEY_RESERVED
,
71 /* These are offset for escaped keycodes: */
73 /* 00 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_F7
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
74 /* 08 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_LEFTMETA
, KEY_RIGHTMETA
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
75 /* 10 */ KEY_RESERVED
, KEY_RIGHTALT
, KEY_RESERVED
, KEY_RESERVED
, KEY_RIGHTCTRL
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
76 /* 18 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
77 /* 20 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
78 /* 28 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
79 /* 30 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
80 /* 38 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
81 /* 40 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
82 /* 48 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
83 /* 50 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
84 /* 58 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
85 /* 60 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
86 /* 68 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
87 /* 70 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
88 /* 78 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
89 /* 80 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
90 /* 88 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
91 /* 90 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
92 /* 98 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
93 /* a0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
94 /* a8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
95 /* b0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
96 /* b8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
97 /* c0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
98 /* c8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
99 /* d0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
100 /* d8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
101 /* e0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
102 /* e8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
103 /* f0 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
,
104 /* f8 */ KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
, KEY_RESERVED
106 #undef STANDARD_KEYBOARD