1 /* keymap.h - defines for keymapping Author: Marcus Hampel
6 #define K(k) [INPUT_KEY_ ## k] /* Map to key entry */
8 #define C(c) ((c) & 0x1F) /* Map to control code */
9 #define A(c) ((c) | 0x80) /* Set eight bit (ALT) */
10 #define CA(c) A(C(c)) /* Control-Alt */
11 #define N(c) ((c) | HASNUM) /* Add "Num Lock has effect" attribute */
12 #define L(c) ((c) | HASCAPS) /* Add "Caps Lock has effect" attribute */
14 #define EXT 0x0100 /* Normal function keys */
15 #define CTRLKEY 0x0200 /* Control key */
16 #define SHIFT 0x0400 /* Shift key */
17 #define ALT 0x0800 /* Alternate key */
18 #define HASNUM 0x4000 /* Num Lock has effect */
19 #define HASCAPS 0x8000 /* Caps Lock has effect */
21 /* The left and right versions for the actual keys in the keymap. */
23 #define RCTRL (CTRLKEY | EXT)
25 #define RSHIFT (SHIFT | EXT)
27 #define RALT (ALT | EXT)
33 #define HOME (0x01 + EXT)
34 #define END (0x02 + EXT)
35 #define UP (0x03 + EXT)
36 #define DOWN (0x04 + EXT)
37 #define LEFT (0x05 + EXT)
38 #define RIGHT (0x06 + EXT)
39 #define PGUP (0x07 + EXT)
40 #define PGDN (0x08 + EXT)
41 #define MID (0x09 + EXT)
42 /* UNUSED (0x0A + EXT) */
43 /* UNUSED (0x0B + EXT) */
44 #define INSRT (0x0C + EXT)
46 /* Keys affected by Num Lock */
52 #define NRIGHT N(RIGHT)
56 #define NINSRT N(INSRT)
59 /* Alt + Numeric keypad */
60 #define AHOME (0x01 + ALT)
61 #define AEND (0x02 + ALT)
62 #define AUP (0x03 + ALT)
63 #define ADOWN (0x04 + ALT)
64 #define ALEFT (0x05 + ALT)
65 #define ARIGHT (0x06 + ALT)
66 #define APGUP (0x07 + ALT)
67 #define APGDN (0x08 + ALT)
68 #define AMID (0x09 + ALT)
69 #define AMIN (0x0A + ALT)
70 #define APLUS (0x0B + ALT)
71 #define AINSRT (0x0C + ALT)
73 /* Ctrl + Numeric keypad */
74 #define CHOME (0x01 + CTRLKEY)
75 #define CEND (0x02 + CTRLKEY)
76 #define CUP (0x03 + CTRLKEY)
77 #define CDOWN (0x04 + CTRLKEY)
78 #define CLEFT (0x05 + CTRLKEY)
79 #define CRIGHT (0x06 + CTRLKEY)
80 #define CPGUP (0x07 + CTRLKEY)
81 #define CPGDN (0x08 + CTRLKEY)
82 #define CMID (0x09 + CTRLKEY)
83 #define CNMIN (0x0A + CTRLKEY)
84 #define CPLUS (0x0B + CTRLKEY)
85 #define CINSRT (0x0C + CTRLKEY)
88 #define CALOCK (0x0D + EXT) /* caps lock */
89 #define NLOCK (0x0E + EXT) /* number lock */
90 #define SLOCK (0x0F + EXT) /* scroll lock */
93 #define F1 (0x10 + EXT)
94 #define F2 (0x11 + EXT)
95 #define F3 (0x12 + EXT)
96 #define F4 (0x13 + EXT)
97 #define F5 (0x14 + EXT)
98 #define F6 (0x15 + EXT)
99 #define F7 (0x16 + EXT)
100 #define F8 (0x17 + EXT)
101 #define F9 (0x18 + EXT)
102 #define F10 (0x19 + EXT)
103 #define F11 (0x1A + EXT)
104 #define F12 (0x1B + EXT)
107 #define AF1 (0x10 + ALT)
108 #define AF2 (0x11 + ALT)
109 #define AF3 (0x12 + ALT)
110 #define AF4 (0x13 + ALT)
111 #define AF5 (0x14 + ALT)
112 #define AF6 (0x15 + ALT)
113 #define AF7 (0x16 + ALT)
114 #define AF8 (0x17 + ALT)
115 #define AF9 (0x18 + ALT)
116 #define AF10 (0x19 + ALT)
117 #define AF11 (0x1A + ALT)
118 #define AF12 (0x1B + ALT)
121 #define CF1 (0x10 + CTRLKEY)
122 #define CF2 (0x11 + CTRLKEY)
123 #define CF3 (0x12 + CTRLKEY)
124 #define CF4 (0x13 + CTRLKEY)
125 #define CF5 (0x14 + CTRLKEY)
126 #define CF6 (0x15 + CTRLKEY)
127 #define CF7 (0x16 + CTRLKEY)
128 #define CF8 (0x17 + CTRLKEY)
129 #define CF9 (0x18 + CTRLKEY)
130 #define CF10 (0x19 + CTRLKEY)
131 #define CF11 (0x1A + CTRLKEY)
132 #define CF12 (0x1B + CTRLKEY)
135 #define SF1 (0x10 + SHIFT)
136 #define SF2 (0x11 + SHIFT)
137 #define SF3 (0x12 + SHIFT)
138 #define SF4 (0x13 + SHIFT)
139 #define SF5 (0x14 + SHIFT)
140 #define SF6 (0x15 + SHIFT)
141 #define SF7 (0x16 + SHIFT)
142 #define SF8 (0x17 + SHIFT)
143 #define SF9 (0x18 + SHIFT)
144 #define SF10 (0x19 + SHIFT)
145 #define SF11 (0x1A + SHIFT)
146 #define SF12 (0x1B + SHIFT)
149 #define ASF1 (0x10 + ALT + SHIFT)
150 #define ASF2 (0x11 + ALT + SHIFT)
151 #define ASF3 (0x12 + ALT + SHIFT)
152 #define ASF4 (0x13 + ALT + SHIFT)
153 #define ASF5 (0x14 + ALT + SHIFT)
154 #define ASF6 (0x15 + ALT + SHIFT)
155 #define ASF7 (0x16 + ALT + SHIFT)
156 #define ASF8 (0x17 + ALT + SHIFT)
157 #define ASF9 (0x18 + ALT + SHIFT)
158 #define ASF10 (0x19 + ALT + SHIFT)
159 #define ASF11 (0x1A + ALT + SHIFT)
160 #define ASF12 (0x1B + ALT + SHIFT)
162 #define MAP_COLS 6 /* Number of columns in keymap */
163 #define NR_SCAN_CODES 0xE8 /* Number of scan codes (rows in keymap) */
165 typedef uint16_t keymap_t
[NR_SCAN_CODES
][MAP_COLS
];
167 #define KEY_MAGIC "KMAZ" /* Magic number of keymap file */
169 #endif /* _SYS__KEYMAP_H */