~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/drivers/acorn/char/defkeymap-acorn.c

Version: ~ [ 2.2.5 ] ~ [ 2.4.1 ] ~ [ 2.4.9 ] ~ [ 2.6.17.10 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  *  linux/drivers/acorn/char/defkeymap.c
  3  *
  4  *  Copyright (C) 1995, 1996 Russell King
  5  *
  6  * This program is free software; you can redistribute it and/or modify
  7  * it under the terms of the GNU General Public License version 2 as
  8  * published by the Free Software Foundation.
  9  */
 10 #include <linux/types.h>
 11 #include <linux/keyboard.h>
 12 #include <linux/kd.h>
 13 
 14 /* Normal (maps 1:1 with no processing) */
 15 #define KTn     0xF0
 16 /* Function keys */
 17 #define KTf     0xF1
 18 /* Special (Performs special house-keeping funcs) */
 19 #define KTs     0xF2
 20 #define KIGNORE         K(KTs, 0)       /* Ignore */
 21 #define KENTER          K(KTs, 1)       /* Enter */
 22 #define KREGS           K(KTs, 2)       /* Regs */
 23 #define KMEM            K(KTs, 3)       /* Mem */
 24 #define KSTAT           K(KTs, 4)       /* State */
 25 #define KINTR           K(KTs, 5)       /* Intr */
 26 #define Ksl     6       /* Last console */
 27 #define KCAPSLK         K(KTs, 7)       /* Caps lock */
 28 #define KNUMLK          K(KTs, 8)       /* Num-lock */
 29 #define KSCRLLK         K(KTs, 9)       /* Scroll-lock */
 30 #define KSCRLFOR        K(KTs,10)       /* Scroll forward */
 31 #define KSCRLBAK        K(KTs,11)       /* Scroll back */
 32 #define KREBOOT         K(KTs,12)       /* Reboot */
 33 #define KCAPSON         K(KTs,13)       /* Caps on */
 34 #define KCOMPOSE        K(KTs,14)       /* Compose */
 35 #define KSAK            K(KTs,15)       /* SAK */
 36 #define CONS_DEC        K(KTs,16)       /* Dec console */
 37 #define CONS_INC        K(KTs,17)       /* Incr console */
 38 #define KFLOPPY         K(KTs,18)       /* Floppy */
 39 /* Key pad (0-9 = digits, 10=+, 11=-, 12=*, 13=/, 14=enter, 16=., 17=# */
 40 #define KTp     0xF3
 41 #define KPAD_0          K(KTp, 0 )
 42 #define KPAD_1          K(KTp, 1 )
 43 #define KPAD_2          K(KTp, 2 )
 44 #define KPAD_3          K(KTp, 3 )
 45 #define KPAD_4          K(KTp, 4 )
 46 #define KPAD_5          K(KTp, 5 )
 47 #define KPAD_6          K(KTp, 6 )
 48 #define KPAD_7          K(KTp, 7 )
 49 #define KPAD_8          K(KTp, 8 )
 50 #define KPAD_9          K(KTp, 9 )
 51 #define KPAD_PL         K(KTp,10 )
 52 #define KPAD_MI         K(KTp,11 )
 53 #define KPAD_ML         K(KTp,12 )
 54 #define KPAD_DV         K(KTp,13 )
 55 #define KPAD_EN         K(KTp,14 )
 56 #define KPAD_DT         K(KTp,16 )
 57 #define KPAD_HS         K(KTp,20 )
 58 /* Console switching */
 59 #define KCn     0xF5
 60 /* Cursor */
 61 #define KTc     0xF6
 62 #define Kcd     0       /* Cursor down */
 63 #define Kcl     1       /* Cursor left */
 64 #define Kcr     2       /* Cursor right */
 65 #define Kcu     3       /* Cursor up */
 66 /* Shift/alt modifiers etc */
 67 #define KMd     0xF7
 68 #define KSHIFT          K(KMd, 0 )
 69 #define KALTGR          K(KMd, 1 )
 70 #define KCTRL           K(KMd, 2 )
 71 #define KALT            K(KMd, 3 )
 72 /* Meta */
 73 #define KMt     0xF8
 74 #define KAs     0xF9
 75 #define KPADA_0         K(KAs, 0 )
 76 #define KPADA_1         K(KAs, 1 )
 77 #define KPADA_2         K(KAs, 2 )
 78 #define KPADA_3         K(KAs, 3 )
 79 #define KPADA_4         K(KAs, 4 )
 80 #define KPADA_5         K(KAs, 5 )
 81 #define KPADA_6         K(KAs, 6 )
 82 #define KPADA_7         K(KAs, 7 )
 83 #define KPADA_8         K(KAs, 8 )
 84 #define KPADA_9         K(KAs, 9 )
 85 #define KPADB_0         K(KAs,10 )
 86 #define KPADB_1         K(KAs,11 )
 87 #define KPADB_2         K(KAs,12 )
 88 #define KPADB_3         K(KAs,13 )
 89 #define KPADB_4         K(KAs,14 )
 90 #define KPADB_5         K(KAs,15 )
 91 #define KPADB_6         K(KAs,16 )
 92 #define KPADB_7         K(KAs,17 )
 93 #define KPADB_8         K(KAs,18 )
 94 #define KPADB_9         K(KAs,19 )
 95 /* Locking keys */
 96 #define KLk     0xFA
 97 /* Letters */
 98 #define KTl     0xFB
 99 
100 u_short plain_map[NR_KEYS]=
101 {
102   K(KTn, 27),K(KTf,  0),K(KTf,  1),K(KTf,  2 ),K(KTf,  3),K(KTf,  4),K(KTf,  5 ),K(KTf,  6),
103   K(KTf,  7),K(KTf,  8),K(KTf,  9),K(KTf, 10 ),K(KTf, 11),KIGNORE   ,KSCRLLK    ,KINTR     ,
104   K(KTn,'`'),K(KTn,'1'),K(KTn,'2'),K(KTn,'3' ),K(KTn,'4'),K(KTn,'5'),K(KTn,'6' ),K(KTn,'7'),
105   K(KTn,'8'),K(KTn,'9'),K(KTn,''),K(KTn,'-' ),K(KTn,'='),K(KTn,'£'),K(KTn,127 ),K(KTf,21 ),
106   K(KTf,20 ),K(KTf,24 ),KNUMLK    ,KPAD_DV    ,KPAD_ML   ,KPAD_HS   ,K(KTn,  9 ),K(KTl,'q'),
107   K(KTl,'w'),K(KTl,'e'),K(KTl,'r'),K(KTl,'t' ),K(KTl,'y'),K(KTl,'u'),K(KTl,'i' ),K(KTl,'o'),
108   K(KTl,'p'),K(KTn,'['),K(KTn,']'),K(KTn,'\\'),K(KTf,22 ),K(KTf,23 ),K(KTf,25  ),KPAD_7    ,
109   KPAD_8    ,KPAD_9    ,KPAD_MI   ,KCTRL      ,K(KTl,'a'),K(KTl,'s'),K(KTl,'d' ),K(KTl,'f'),
110   K(KTl,'g'),K(KTl,'h'),K(KTl,'j'),K(KTl,'k' ),K(KTl,'l'),K(KTn,';'),K(KTn,'\''),KENTER    ,
111   KPAD_4    ,KPAD_5    ,KPAD_6    ,KPAD_PL    ,KSHIFT    ,KIGNORE   ,K(KTl,'z' ),K(KTl,'x'),
112   K(KTl,'c'),K(KTl,'v'),K(KTl,'b'),K(KTl,'n' ),K(KTl,'m'),K(KTn,','),K(KTn,'.' ),K(KTn,'/'),
113   KSHIFT    ,K(KTc,Kcu),KPAD_1    ,KPAD_2     ,KPAD_3    ,KCAPSLK   ,KALT       ,K(KTn,' '),
114   KALTGR    ,KCTRL     ,K(KTc,Kcl),K(KTc,Kcd ),K(KTc,Kcr),KPAD_0    ,KPAD_DT    ,KPAD_EN   ,
115   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
116   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
117   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
118 };
119 
120 u_short shift_map[NR_KEYS]=
121 {
122   K(KTn, 27),K(KTf, 10),K(KTf, 11),K(KTf, 12 ),K(KTf, 13),K(KTf, 14),K(KTf, 15 ),K(KTf, 16),
123   K(KTf, 17),K(KTf, 18),K(KTf, 19),K(KTf, 20 ),K(KTf, 21),KIGNORE   ,KMEM       ,KINTR     ,
124   K(KTn,'~'),K(KTn,'!'),K(KTn,'@'),K(KTn,'#' ),K(KTn,'$'),K(KTn,'%'),K(KTn,'^' ),K(KTn,'&'),
125   K(KTn,'*'),K(KTn,'('),K(KTn,')'),K(KTn,'_' ),K(KTn,'+'),K(KTn,'¤'),K(KTn,127 ),K(KTf,21 ),
126   K(KTf,20 ),KSCRLBAK  ,KNUMLK    ,KPAD_DV    ,KPAD_ML   ,KPAD_HS   ,K(KTn,  9 ),K(KTl,'Q'),
127   K(KTl,'W'),K(KTl,'E'),K(KTl,'R'),K(KTl,'T' ),K(KTl,'Y'),K(KTl,'U'),K(KTl,'I' ),K(KTl,'O'),
128   K(KTl,'P'),K(KTn,'{'),K(KTn,'}'),K(KTn,'|' ),K(KTf,22 ),K(KTf,23 ),KSCRLFOR   ,KPAD_7    ,
129   KPAD_8    ,KPAD_9    ,KPAD_MI   ,KCTRL      ,K(KTl,'A'),K(KTl,'S'),K(KTl,'D' ),K(KTl,'F'),
130   K(KTl,'G'),K(KTl,'H'),K(KTl,'J'),K(KTl,'K' ),K(KTl,'L'),K(KTn,':'),K(KTn,'"' ),KENTER    ,
131   KPAD_4    ,KPAD_5    ,KPAD_6    ,KPAD_PL    ,KSHIFT    ,KIGNORE   ,K(KTl,'Z' ),K(KTl,'X'),
132   K(KTl,'C'),K(KTl,'V'),K(KTl,'B'),K(KTl,'N' ),K(KTl,'M'),K(KTn,'<'),K(KTn,'>' ),K(KTn,'?'),
133   KSHIFT    ,K(KTc,Kcu),KPAD_1    ,KPAD_2     ,KPAD_3    ,KCAPSLK   ,KALT       ,K(KTn,' '),
134   KALTGR    ,KCTRL     ,K(KTc,Kcl),K(KTc,Kcd ),K(KTc,Kcr),KPAD_0    ,KPAD_DT    ,KPAD_EN   ,
135   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
136   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
137   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
138 };
139 
140 u_short altgr_map[NR_KEYS]=
141 {
142   KIGNORE   ,K(KCn,12 ),K(KCn,13 ),K(KCn,14  ),K(KCn,15 ),K(KCn,16 ),K(KCn,17  ),K(KCn, 18),
143   K(KCn, 19),K(KCn,20 ),K(KCn,21 ),K(KCn,22  ),K(KCn,23 ),KIGNORE   ,KREGS      ,KINTR     ,
144   KIGNORE   ,KIGNORE   ,K(KTn,'@'),KIGNORE    ,K(KTn,'$'),KIGNORE   ,KIGNORE    ,K(KTn,'{'),
145   K(KTn,'['),K(KTn,']'),K(KTn,'}'),K(KTn,'\\'),KIGNORE   ,KIGNORE   ,KIGNORE    ,K(KTf,21 ),
146   K(KTf,20 ),K(KTf,24 ),KNUMLK    ,KPAD_DV    ,KPAD_ML   ,KPAD_HS   ,KIGNORE    ,K(KTl,'q'),
147   K(KTl,'w'),K(KTl,'e'),K(KTl,'r'),K(KTl,'t' ),K(KTl,'y'),K(KTl,'u'),K(KTl,'i' ),K(KTl,'o'),
148   K(KTl,'p'),KIGNORE   ,K(KTn,'~'),KIGNORE    ,K(KTf,22 ),K(KTf,23 ),K(KTf,25  ),KPADB_7   ,
149   KPADB_8   ,KPADB_9   ,KPAD_MI   ,KCTRL      ,K(KAs,20 ),K(KTl,'s'),K(KAs,23  ),K(KAs,25 ),
150   K(KTl,'g'),K(KTl,'h'),K(KTl,'j'),K(KTl,'k' ),K(KTl,'l'),KIGNORE   ,KIGNORE    ,KENTER    ,
151   KPADB_4   ,KPADB_5   ,KPADB_6   ,KPAD_PL    ,KSHIFT    ,KIGNORE   ,K(KTl,'z' ),K(KTl,'x'),
152   K(KAs,22 ),K(KTl,'v'),K(KTl,21 ),K(KTl,'n' ),K(KTl,'m'),KIGNORE   ,KIGNORE    ,KIGNORE   ,
153   KSHIFT    ,K(KTc,Kcu),KPADB_1   ,KPADB_2    ,KPADB_3   ,KCAPSLK   ,KALT       ,KIGNORE   ,
154   KALTGR    ,KCTRL     ,K(KTc,Kcl),K(KTc,Kcd ),K(KTc,Kcr),KPADB_0   ,KPAD_DT    ,KPAD_EN   ,
155   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
156   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
157   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
158 };
159 
160 u_short ctrl_map[NR_KEYS]=
161 {
162   KIGNORE   ,K(KTf,  0),K(KTf,  1),K(KTf,  2 ),K(KTf,  3),K(KTf,  4),K(KTf, 5  ),K(KTf,  6),
163   K(KTf,  7),K(KTf,  8),K(KTf,  9),K(KTf, 10 ),K(KTf, 11),KIGNORE   ,KSTAT      ,KINTR     ,
164   KIGNORE   ,K(KTn, 1 ),K(KTn, 2 ),K(KTn, 3  ),K(KTn, 4 ),K(KTn, 5 ),K(KTn, 6  ),K(KTn, 7 ),
165   K(KTn, 8 ),K(KTn, 9 ),K(KTn, 0 ),K(KTn,31  ),KIGNORE   ,KIGNORE   ,K(KTn, 8  ),K(KTf,21 ),
166   K(KTf,20 ),K(KTf,24 ),KNUMLK    ,KPAD_DV    ,KPAD_ML   ,KPAD_HS   ,KIGNORE    ,K(KTn,17 ),
167   K(KTn,23 ),K(KTn, 5 ),K(KTn,18 ),K(KTn,20  ),K(KTn,25 ),K(KTn,21 ),K(KTn, 9  ),K(KTn,15 ),
168   K(KTn,16 ),K(KTn,27 ),K(KTn,29 ),K(KTn,28  ),K(KTf,22 ),K(KTf,23 ),K(KTf,25  ),KPAD_7    ,
169   KPAD_8    ,KPAD_9    ,KPAD_MI   ,KCTRL      ,K(KTn, 1 ),K(KTn,19 ),K(KTn, 4  ),K(KTn, 6 ),
170   K(KTn, 7 ),K(KTn, 8 ),K(KTn,10 ),K(KTn,11  ),K(KTn,12 ),KIGNORE   ,K(KTn, 7  ),KENTER    ,
171   KPAD_4    ,KPAD_5    ,KPAD_6    ,KPAD_PL    ,KSHIFT    ,KIGNORE   ,K(KTn,26  ),K(KTn,24 ),
172   K(KTn, 3 ),K(KTn,22 ),K(KTn, 2 ),K(KTn,14  ),K(KTn,13 ),KIGNORE   ,KCOMPOSE   ,K(KTn,127),
173   KSHIFT    ,K(KTc,Kcu),KPAD_1    ,KPAD_2     ,KPAD_3    ,KCAPSLK   ,KALT       ,K(KTn, 0 ),
174   KALTGR    ,KCTRL     ,K(KTc,Kcl),K(KTc,Kcd ),K(KTc,Kcr),KPAD_0    ,KPAD_DT    ,KPAD_EN   ,
175   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
176   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
177   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
178 };
179 
180 u_short shift_ctrl_map[NR_KEYS]=
181 {
182   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
183   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KFLOPPY    ,KINTR     ,
184   KIGNORE   ,KIGNORE   ,K(KTn, 0 ),KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
185   KIGNORE   ,KIGNORE   ,KIGNORE   ,K(KTn,31  ),KIGNORE   ,KIGNORE   ,KIGNORE    ,K(KTf,21 ),
186   K(KTf,20 ),K(KTf,24 ),KNUMLK    ,KPAD_DV    ,KPAD_ML   ,KPAD_HS   ,KIGNORE    ,K(KTn,17 ),
187   K(KTn,23 ),K(KTn, 5 ),K(KTn,18 ),K(KTn,20  ),K(KTn,25 ),K(KTn,21 ),K(KTn, 9  ),K(KTn,15 ),
188   K(KTn,16 ),KIGNORE   ,KIGNORE   ,KIGNORE    ,K(KTf,22 ),K(KTf,23 ),K(KTf,25  ),KPAD_7    ,
189   KPAD_8    ,KPAD_9    ,KPAD_MI   ,KCTRL      ,K(KTn, 1 ),K(KTn,19 ),K(KTn, 4  ),K(KTn, 6 ),
190   K(KTn, 7 ),K(KTn, 8 ),K(KTn,10 ),K(KTn,11  ),K(KTn,12 ),KIGNORE   ,K(KTn, 7  ),KENTER    ,
191   KPAD_4    ,KPAD_5    ,KPAD_6    ,KPAD_PL    ,KSHIFT    ,KIGNORE   ,K(KTn,26  ),K(KTn,24 ),
192   K(KTn, 3 ),K(KTn,22 ),K(KTn, 2 ),K(KTn,14  ),K(KTn,13 ),KIGNORE   ,KIGNORE    ,KIGNORE   ,
193   KSHIFT    ,K(KTc,Kcu),KPAD_1    ,KPAD_2     ,KPAD_3    ,KCAPSLK   ,KALT       ,K(KTn, 0 ),
194   KALTGR    ,KCTRL     ,K(KTc,Kcl),K(KTc,Kcd ),K(KTc,Kcr),KPAD_0    ,KPAD_DT    ,KPAD_EN   ,
195   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
196   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
197   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
198 };
199 
200 u_short alt_map[NR_KEYS]=
201 {
202   K(KMt,27 ),K(KCn, 0 ),K(KCn, 1 ),K(KCn, 2  ),K(KCn, 3 ),K(KCn, 4 ),K(KCn, 5  ),K(KCn, 6 ),
203   K(KCn, 7 ),K(KCn, 8 ),K(KCn, 9 ),K(KCn,10  ),K(KCn,11 ),KIGNORE   ,KSCRLLK    ,KINTR     ,
204   K(KMt,'`'),K(KMt,'1'),K(KMt,'2'),K(KMt,'3' ),K(KMt,'4'),K(KMt,'5'),K(KMt,'6' ),K(KMt,'7'),
205   K(KMt,'8'),K(KMt,'9'),K(KMt,''),K(KMt,'-' ),K(KMt,'='),K(KMt,'£'),K(KMt,127 ),K(KTf,21 ),
206   K(KTf,20 ),K(KTf,24 ),KNUMLK    ,KPAD_DV    ,KPAD_ML   ,KPAD_HS   ,K(KMt, 9  ),K(KMt,'q'),
207   K(KMt,'w'),K(KMt,'e'),K(KMt,'r'),K(KMt,'t' ),K(KMt,'y'),K(KMt,'u'),K(KMt,'i' ),K(KMt,'o'),
208   K(KMt,'p'),K(KMt,'['),K(KMt,']'),K(KMt,'\\'),K(KTf,22 ),K(KTf,23 ),K(KTf,25  ),KPADA_7   ,
209   KPADA_8   ,KPADA_9   ,KPAD_MI   ,KCTRL      ,K(KMt,'a'),K(KMt,'s'),K(KMt,'d' ),K(KMt,'f'),
210   K(KMt,'g'),K(KMt,'h'),K(KMt,'j'),K(KMt,'k' ),K(KMt,'l'),K(KMt,';'),K(KMt,'\''),K(KMt,13 ),
211   KPADA_4   ,KPADA_5   ,KPADA_6   ,KPAD_PL    ,KSHIFT    ,KIGNORE   ,K(KMt,'z' ),K(KMt,'x'),
212   K(KMt,'c'),K(KMt,'v'),K(KMt,'b'),K(KMt,'n' ),K(KMt,'m'),K(KMt,','),K(KMt,'.' ),KIGNORE   ,
213   KSHIFT    ,K(KTc,Kcu),KPADA_1   ,KPADA_2    ,KPADA_3   ,KCAPSLK   ,KALT       ,K(KMt,' '),
214   KALTGR    ,KCTRL     ,CONS_DEC  ,K(KTc,Kcd ),CONS_INC  ,KPADA_0   ,KPAD_DT    ,KPAD_EN   ,
215   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
216   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
217   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
218 };
219 
220 u_short ctrl_alt_map[NR_KEYS]=
221 {
222   KIGNORE   ,K(KCn, 0 ),K(KCn, 1 ),K(KCn, 2  ),K(KCn, 3 ),K(KCn, 4 ),K(KCn, 5  ),K(KCn, 6 ),
223   K(KCn, 7 ),K(KCn, 8 ),K(KCn, 9 ),K(KCn,10  ),K(KCn,11 ),KIGNORE   ,KIGNORE    ,KINTR     ,
224   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
225   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,K(KTf,21 ),
226   K(KTf,20 ),K(KTf,24 ),KNUMLK    ,KPAD_DV    ,KPAD_ML   ,KPAD_HS   ,KIGNORE    ,K(KMt,17 ),
227   K(KMt,23 ),K(KMt, 5 ),K(KMt,18 ),K(KMt,20  ),K(KMt,25 ),K(KMt,21 ),K(KMt, 9  ),K(KMt,15 ),
228   K(KMt,16 ),KIGNORE   ,KIGNORE   ,KIGNORE    ,KREBOOT   ,K(KTf,23 ),K(KTf,25  ),KPAD_7    ,
229   KPAD_8    ,KPAD_9    ,KPAD_MI   ,KCTRL      ,K(KMt, 1 ),K(KMt,19 ),K(KMt, 4  ),K(KMt, 6 ),
230   K(KMt, 7 ),K(KMt, 8 ),K(KMt,10 ),K(KMt,11  ),K(KMt,12 ),KIGNORE   ,KIGNORE    ,KENTER    ,
231   KPAD_4    ,KPAD_5    ,KPAD_6    ,KPAD_PL    ,KSHIFT    ,KIGNORE   ,K(KMt,26  ),K(KMt,24 ),
232   K(KMt, 3 ),K(KMt,22 ),K(KMt, 2 ),K(KMt,14  ),K(KMt,13 ),KIGNORE   ,KIGNORE    ,KIGNORE   ,
233   KSHIFT    ,K(KTc,Kcu),KPAD_1    ,KPAD_2     ,KPAD_3    ,KCAPSLK   ,KALT       ,KIGNORE   ,
234   KALTGR    ,KCTRL     ,K(KTc,Kcl),K(KTc,Kcd ),K(KTc,Kcr),KPAD_0    ,KREBOOT    ,KPAD_EN   ,
235   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
236   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
237   KIGNORE   ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,KIGNORE   ,KIGNORE    ,KIGNORE   ,
238 };
239 
240 ushort *key_maps[MAX_NR_KEYMAPS] = {
241         plain_map, shift_map, altgr_map, 0,
242         ctrl_map, shift_ctrl_map, 0, 0,
243         alt_map, 0, 0, 0,
244         ctrl_alt_map,   0
245 };
246 
247 unsigned int keymap_count = 7;
248 
249 /*
250  * Philosophy: most people do not define more strings, but they who do
251  * often want quite a lot of string space. So, we statically allocate
252  * the default and allocate dynamically in chunks of 512 bytes.
253  */
254 
255 char func_buf[] = {
256         '\033', '[', '[', 'A', 0,
257         '\033', '[', '[', 'B', 0,
258         '\033', '[', '[', 'C', 0,
259         '\033', '[', '[', 'D', 0,
260         '\033', '[', '[', 'E', 0,
261         '\033', '[', '1', '7', '~', 0,
262         '\033', '[', '1', '8', '~', 0,
263         '\033', '[', '1', '9', '~', 0,
264         '\033', '[', '2', '', '~', 0,
265         '\033', '[', '2', '1', '~', 0,
266         '\033', '[', '2', '3', '~', 0,
267         '\033', '[', '2', '4', '~', 0,
268         '\033', '[', '2', '5', '~', 0,
269         '\033', '[', '2', '6', '~', 0,
270         '\033', '[', '2', '8', '~', 0,
271         '\033', '[', '2', '9', '~', 0,
272         '\033', '[', '3', '1', '~', 0,
273         '\033', '[', '3', '2', '~', 0,
274         '\033', '[', '3', '3', '~', 0,
275         '\033', '[', '3', '4', '~', 0,
276         '\033', '[', '1', '~', 0,
277         '\033', '[', '2', '~', 0,
278         '\033', '[', '3', '~', 0,
279         '\033', '[', '4', '~', 0,
280         '\033', '[', '5', '~', 0,
281         '\033', '[', '6', '~', 0,
282         '\033', '[', 'M', 0,
283         '\033', '[', 'P', 0,
284 };
285 
286 char *funcbufptr = func_buf;
287 int funcbufsize = sizeof(func_buf);
288 int funcbufleft;          /* space left */
289 
290 char *func_table[MAX_NR_FUNC] = {
291         func_buf + 0,
292         func_buf + 5,
293         func_buf + 10,
294         func_buf + 15,
295         func_buf + 20,
296         func_buf + 25,
297         func_buf + 31,
298         func_buf + 37,
299         func_buf + 43,
300         func_buf + 49,
301         func_buf + 55,
302         func_buf + 61,
303         func_buf + 67,
304         func_buf + 73,
305         func_buf + 79,
306         func_buf + 85,
307         func_buf + 91,
308         func_buf + 97,
309         func_buf + 103,
310         func_buf + 109,
311         func_buf + 115,
312         func_buf + 120,
313         func_buf + 125,
314         func_buf + 130,
315         func_buf + 135,
316         func_buf + 140,
317         func_buf + 145,
318         0,
319         0,
320         func_buf + 149,
321         0,
322 };
323 
324 struct kbdiacr accent_table[MAX_DIACR] = {
325         {'`', 'A', '\300'},     {'`', 'a', '\340'},
326         {'\'', 'A', '\301'},    {'\'', 'a', '\341'},
327         {'^', 'A', '\302'},     {'^', 'a', '\342'},
328         {'~', 'A', '\303'},     {'~', 'a', '\343'},
329         {'"', 'A', '\304'},     {'"', 'a', '\344'},
330         {'O', 'A', '\305'},     {'o', 'a', '\345'},
331         {'', 'A', '\305'},     {'', 'a', '\345'},
332         {'A', 'A', '\305'},     {'a', 'a', '\345'},
333         {'A', 'E', '\306'},     {'a', 'e', '\346'},
334         {',', 'C', '\307'},     {',', 'c', '\347'},
335         {'`', 'E', '\310'},     {'`', 'e', '\350'},
336         {'\'', 'E', '\311'},    {'\'', 'e', '\351'},
337         {'^', 'E', '\312'},     {'^', 'e', '\352'},
338         {'"', 'E', '\313'},     {'"', 'e', '\353'},
339         {'`', 'I', '\314'},     {'`', 'i', '\354'},
340         {'\'', 'I', '\315'},    {'\'', 'i', '\355'},
341         {'^', 'I', '\316'},     {'^', 'i', '\356'},
342         {'"', 'I', '\317'},     {'"', 'i', '\357'},
343         {'-', 'D', '\320'},     {'-', 'd', '\360'},
344         {'~', 'N', '\321'},     {'~', 'n', '\361'},
345         {'`', 'O', '\322'},     {'`', 'o', '\362'},
346         {'\'', 'O', '\323'},    {'\'', 'o', '\363'},
347         {'^', 'O', '\324'},     {'^', 'o', '\364'},
348         {'~', 'O', '\325'},     {'~', 'o', '\365'},
349         {'"', 'O', '\326'},     {'"', 'o', '\366'},
350         {'/', 'O', '\330'},     {'/', 'o', '\370'},
351         {'`', 'U', '\331'},     {'`', 'u', '\371'},
352         {'\'', 'U', '\332'},    {'\'', 'u', '\372'},
353         {'^', 'U', '\333'},     {'^', 'u', '\373'},
354         {'"', 'U', '\334'},     {'"', 'u', '\374'},
355         {'\'', 'Y', '\335'},    {'\'', 'y', '\375'},
356         {'T', 'H', '\336'},     {'t', 'h', '\376'},
357         {'s', 's', '\337'},     {'"', 'y', '\377'},
358         {'s', 'z', '\337'},     {'i', 'j', '\377'},
359 };
360 
361 unsigned int accent_table_size = 68;
362 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.