This source file includes following definitions.
- kbd_dead
- set_kbd_dead
- clr_kbd_dead
- chg_kbd_dead
- vc_kbd_flag
- set_vc_kbd_flag
- clr_vc_kbd_flag
- chg_vc_kbd_flag
1 #ifndef __LINUX_KEYBOARD_H
2 #define __LINUX_KEYBOARD_H
3
4 #include <linux/interrupt.h>
5 #define set_leds() mark_bh(KEYBOARD_BH)
6
7
8
9
10
11 extern unsigned long kbd_dead_keys;
12 extern unsigned long kbd_prev_dead_keys;
13
14
15
16
17 #define KGD_E0 0
18 #define KGD_E1 1
19
20
21
22
23
24 struct kbd_struct {
25 unsigned long flags;
26 unsigned long default_flags;
27 };
28
29 extern struct kbd_struct kbd_table[];
30
31
32
33
34
35 #define VC_SCROLLOCK 0
36 #define VC_NUMLOCK 1
37 #define VC_CAPSLOCK 2
38 #define VC_APPLIC 3
39 #define VC_CKMODE 5
40 #define VC_REPEAT 6
41 #define VC_RAW 7
42 #define VC_CRLF 8
43 #define VC_META 9
44 #define VC_PAUSE 10
45 #define VC_MEDIUMRAW 11
46 #define VC_SHIFTLOCK 12
47 #define VC_ALTGRLOCK 13
48 #define VC_CTRLLOCK 14
49 #define VC_ALTLOCK 15
50
51 #define LED_MASK 7
52
53 extern unsigned long kbd_init(unsigned long);
54
55 extern inline int kbd_dead(int flag)
56 {
57 return kbd_prev_dead_keys & (1 << flag);
58 }
59
60 extern inline void set_kbd_dead(int flag)
61 {
62 kbd_dead_keys |= 1 << flag;
63 }
64
65 extern inline void clr_kbd_dead(int flag)
66 {
67 kbd_dead_keys &= ~(1 << flag);
68 }
69
70 extern inline void chg_kbd_dead(int flag)
71 {
72 kbd_dead_keys ^= 1 << flag;
73 }
74
75 extern inline int vc_kbd_flag(struct kbd_struct * kbd, int flag)
76 {
77 return ((kbd->flags >> flag) & 1);
78 }
79
80 extern inline void set_vc_kbd_flag(struct kbd_struct * kbd, int flag)
81 {
82 kbd->flags |= 1 << flag;
83 }
84
85 extern inline void clr_vc_kbd_flag(struct kbd_struct * kbd, int flag)
86 {
87 kbd->flags &= ~(1 << flag);
88 }
89
90 extern inline void chg_vc_kbd_flag(struct kbd_struct * kbd, int flag)
91 {
92 kbd->flags ^= 1 << flag;
93 }
94
95 #define NR_KEYS 128
96 #define NR_KEYMAPS 16
97 extern const int NR_TYPES;
98 extern const int max_vals[];
99 extern unsigned short key_map[NR_KEYMAPS][NR_KEYS];
100
101 #define NR_FUNC 32
102 #define FUNC_BUFSIZE 512
103 extern char func_buf[FUNC_BUFSIZE];
104 extern char *func_table[NR_FUNC];
105
106 #define KT_LATIN 0
107 #define KT_FN 1
108 #define KT_SPEC 2
109 #define KT_PAD 3
110 #define KT_DEAD 4
111 #define KT_CONS 5
112 #define KT_CUR 6
113 #define KT_SHIFT 7
114 #define KT_META 8
115 #define KT_ASCII 9
116 #define KT_LOCK 10
117
118 #define K(t,v) (((t)<<8)|(v))
119 #define KTYP(x) ((x) >> 8)
120 #define KVAL(x) ((x) & 0xff)
121
122 #define K_F1 K(KT_FN,0)
123 #define K_F2 K(KT_FN,1)
124 #define K_F3 K(KT_FN,2)
125 #define K_F4 K(KT_FN,3)
126 #define K_F5 K(KT_FN,4)
127 #define K_F6 K(KT_FN,5)
128 #define K_F7 K(KT_FN,6)
129 #define K_F8 K(KT_FN,7)
130 #define K_F9 K(KT_FN,8)
131 #define K_F10 K(KT_FN,9)
132 #define K_F11 K(KT_FN,10)
133 #define K_F12 K(KT_FN,11)
134 #define K_F13 K(KT_FN,12)
135 #define K_F14 K(KT_FN,13)
136 #define K_F15 K(KT_FN,14)
137 #define K_F16 K(KT_FN,15)
138 #define K_F17 K(KT_FN,16)
139 #define K_F18 K(KT_FN,17)
140 #define K_F19 K(KT_FN,18)
141 #define K_F20 K(KT_FN,19)
142 #define K_FIND K(KT_FN,20)
143 #define K_INSERT K(KT_FN,21)
144 #define K_REMOVE K(KT_FN,22)
145 #define K_SELECT K(KT_FN,23)
146 #define K_PGUP K(KT_FN,24)
147 #define K_PGDN K(KT_FN,25)
148
149 #define K_HOLE K(KT_SPEC,0)
150 #define K_ENTER K(KT_SPEC,1)
151 #define K_SH_REGS K(KT_SPEC,2)
152 #define K_SH_MEM K(KT_SPEC,3)
153 #define K_SH_STAT K(KT_SPEC,4)
154 #define K_BREAK K(KT_SPEC,5)
155 #define K_CONS K(KT_SPEC,6)
156 #define K_CAPS K(KT_SPEC,7)
157 #define K_NUM K(KT_SPEC,8)
158 #define K_HOLD K(KT_SPEC,9)
159 #define K_SCROLLFORW K(KT_SPEC,10)
160 #define K_SCROLLBACK K(KT_SPEC,11)
161 #define K_BOOT K(KT_SPEC,12)
162 #define K_CAPSON K(KT_SPEC,13)
163
164 #define K_P0 K(KT_PAD,0)
165 #define K_P1 K(KT_PAD,1)
166 #define K_P2 K(KT_PAD,2)
167 #define K_P3 K(KT_PAD,3)
168 #define K_P4 K(KT_PAD,4)
169 #define K_P5 K(KT_PAD,5)
170 #define K_P6 K(KT_PAD,6)
171 #define K_P7 K(KT_PAD,7)
172 #define K_P8 K(KT_PAD,8)
173 #define K_P9 K(KT_PAD,9)
174 #define K_PPLUS K(KT_PAD,10)
175 #define K_PMINUS K(KT_PAD,11)
176 #define K_PSTAR K(KT_PAD,12)
177 #define K_PSLASH K(KT_PAD,13)
178 #define K_PENTER K(KT_PAD,14)
179 #define K_PCOMMA K(KT_PAD,15)
180 #define K_PDOT K(KT_PAD,16)
181
182 #define K_DGRAVE K(KT_DEAD,0)
183 #define K_DACUTE K(KT_DEAD,1)
184 #define K_DCIRCM K(KT_DEAD,2)
185 #define K_DTILDE K(KT_DEAD,3)
186 #define K_DDIERE K(KT_DEAD,4)
187
188 #define K_DOWN K(KT_CUR,0)
189 #define K_LEFT K(KT_CUR,1)
190 #define K_RIGHT K(KT_CUR,2)
191 #define K_UP K(KT_CUR,3)
192
193 #define KG_SHIFT 0
194 #define KG_CTRL 2
195 #define KG_ALT 3
196 #define KG_ALTGR 1
197
198 #define K_SHIFT K(KT_SHIFT,KG_SHIFT)
199 #define K_CTRL K(KT_SHIFT,KG_CTRL)
200 #define K_ALT K(KT_SHIFT,KG_ALT)
201 #define K_ALTGR K(KT_SHIFT,KG_ALTGR)
202
203 #define NR_SHIFT 4
204
205 #define K_CAPSSHIFT K(KT_SHIFT,NR_SHIFT)
206
207 #define K_ASC0 K(KT_ASCII,0)
208 #define K_ASC1 K(KT_ASCII,1)
209 #define K_ASC2 K(KT_ASCII,2)
210 #define K_ASC3 K(KT_ASCII,3)
211 #define K_ASC4 K(KT_ASCII,4)
212 #define K_ASC5 K(KT_ASCII,5)
213 #define K_ASC6 K(KT_ASCII,6)
214 #define K_ASC7 K(KT_ASCII,7)
215 #define K_ASC8 K(KT_ASCII,8)
216 #define K_ASC9 K(KT_ASCII,9)
217
218 #define K_SHIFTLOCK K(KT_LOCK,0)
219 #define K_CTRLLOCK K(KT_LOCK,2)
220 #define K_ALTLOCK K(KT_LOCK,3)
221 #define K_ALTGRLOCK K(KT_LOCK,1)
222
223 #endif