Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:54

0001 /*
0002  *  keyboard.h  -- keyboard definitions.
0003  *
0004  *  Copyright (C) 1999 Eric Valette. valette@crf.canon.fr
0005  *
0006  *  The license and distribution terms for this file may be
0007  *  found in the file LICENSE in this distribution or at
0008  *  http://www.rtems.org/license/LICENSE.
0009  */
0010 
0011 #ifndef __LINUX_KEYBOARD_H
0012 #define __LINUX_KEYBOARD_H
0013 
0014 #define KG_SHIFT    0
0015 #define KG_CTRL     2
0016 #define KG_ALT      3
0017 #define KG_ALTGR    1
0018 #define KG_SHIFTL   4
0019 #define KG_SHIFTR   5
0020 #define KG_CTRLL    6
0021 #define KG_CTRLR    7
0022 #define KG_CAPSSHIFT    8
0023 
0024 #define NR_SHIFT    9
0025 
0026 #define NR_KEYS     128
0027 #define MAX_NR_KEYMAPS  256
0028 /* This means 64Kb if all keymaps are allocated. Only the superuser
0029     may increase the number of keymaps beyond MAX_NR_OF_USER_KEYMAPS. */
0030 #define MAX_NR_OF_USER_KEYMAPS 256  /* should be at least 7 */
0031 
0032 #define MAX_NR_FUNC 256 /* max nr of strings assigned to keys */
0033 
0034 #define KT_LATIN    0   /* we depend on this being zero */
0035 #define KT_LETTER   11  /* symbol that can be acted upon by CapsLock */
0036 #define KT_FN       1
0037 #define KT_SPEC     2
0038 #define KT_PAD      3
0039 #define KT_DEAD     4
0040 #define KT_CONS     5
0041 #define KT_CUR      6
0042 #define KT_SHIFT    7
0043 #define KT_META     8
0044 #define KT_ASCII    9
0045 #define KT_LOCK     10
0046 #define KT_SLOCK    12
0047 
0048 #define K(t,v)      (((t)<<8)|(v))
0049 #define KTYP(x)     ((x) >> 8)
0050 #define KVAL(x)     ((x) & 0xff)
0051 
0052 #define K_F1        K(KT_FN,0)
0053 #define K_F2        K(KT_FN,1)
0054 #define K_F3        K(KT_FN,2)
0055 #define K_F4        K(KT_FN,3)
0056 #define K_F5        K(KT_FN,4)
0057 #define K_F6        K(KT_FN,5)
0058 #define K_F7        K(KT_FN,6)
0059 #define K_F8        K(KT_FN,7)
0060 #define K_F9        K(KT_FN,8)
0061 #define K_F10       K(KT_FN,9)
0062 #define K_F11       K(KT_FN,10)
0063 #define K_F12       K(KT_FN,11)
0064 #define K_F13       K(KT_FN,12)
0065 #define K_F14       K(KT_FN,13)
0066 #define K_F15       K(KT_FN,14)
0067 #define K_F16       K(KT_FN,15)
0068 #define K_F17       K(KT_FN,16)
0069 #define K_F18       K(KT_FN,17)
0070 #define K_F19       K(KT_FN,18)
0071 #define K_F20       K(KT_FN,19)
0072 #define K_FIND      K(KT_FN,20)
0073 #define K_INSERT    K(KT_FN,21)
0074 #define K_REMOVE    K(KT_FN,22)
0075 #define K_SELECT    K(KT_FN,23)
0076 #define K_PGUP      K(KT_FN,24) /* PGUP is a synonym for PRIOR */
0077 #define K_PGDN      K(KT_FN,25) /* PGDN is a synonym for NEXT */
0078 #define K_MACRO     K(KT_FN,26)
0079 #define K_HELP      K(KT_FN,27)
0080 #define K_DO        K(KT_FN,28)
0081 #define K_PAUSE     K(KT_FN,29)
0082 #define K_F21       K(KT_FN,30)
0083 #define K_F22       K(KT_FN,31)
0084 #define K_F23       K(KT_FN,32)
0085 #define K_F24       K(KT_FN,33)
0086 #define K_F25       K(KT_FN,34)
0087 #define K_F26       K(KT_FN,35)
0088 #define K_F27       K(KT_FN,36)
0089 #define K_F28       K(KT_FN,37)
0090 #define K_F29       K(KT_FN,38)
0091 #define K_F30       K(KT_FN,39)
0092 #define K_F31       K(KT_FN,40)
0093 #define K_F32       K(KT_FN,41)
0094 #define K_F33       K(KT_FN,42)
0095 #define K_F34       K(KT_FN,43)
0096 #define K_F35       K(KT_FN,44)
0097 #define K_F36       K(KT_FN,45)
0098 #define K_F37       K(KT_FN,46)
0099 #define K_F38       K(KT_FN,47)
0100 #define K_F39       K(KT_FN,48)
0101 #define K_F40       K(KT_FN,49)
0102 #define K_F41       K(KT_FN,50)
0103 #define K_F42       K(KT_FN,51)
0104 #define K_F43       K(KT_FN,52)
0105 #define K_F44       K(KT_FN,53)
0106 #define K_F45       K(KT_FN,54)
0107 #define K_F46       K(KT_FN,55)
0108 #define K_F47       K(KT_FN,56)
0109 #define K_F48       K(KT_FN,57)
0110 #define K_F49       K(KT_FN,58)
0111 #define K_F50       K(KT_FN,59)
0112 #define K_F51       K(KT_FN,60)
0113 #define K_F52       K(KT_FN,61)
0114 #define K_F53       K(KT_FN,62)
0115 #define K_F54       K(KT_FN,63)
0116 #define K_F55       K(KT_FN,64)
0117 #define K_F56       K(KT_FN,65)
0118 #define K_F57       K(KT_FN,66)
0119 #define K_F58       K(KT_FN,67)
0120 #define K_F59       K(KT_FN,68)
0121 #define K_F60       K(KT_FN,69)
0122 #define K_F61       K(KT_FN,70)
0123 #define K_F62       K(KT_FN,71)
0124 #define K_F63       K(KT_FN,72)
0125 #define K_F64       K(KT_FN,73)
0126 #define K_F65       K(KT_FN,74)
0127 #define K_F66       K(KT_FN,75)
0128 #define K_F67       K(KT_FN,76)
0129 #define K_F68       K(KT_FN,77)
0130 #define K_F69       K(KT_FN,78)
0131 #define K_F70       K(KT_FN,79)
0132 #define K_F71       K(KT_FN,80)
0133 #define K_F72       K(KT_FN,81)
0134 #define K_F73       K(KT_FN,82)
0135 #define K_F74       K(KT_FN,83)
0136 #define K_F75       K(KT_FN,84)
0137 #define K_F76       K(KT_FN,85)
0138 #define K_F77       K(KT_FN,86)
0139 #define K_F78       K(KT_FN,87)
0140 #define K_F79       K(KT_FN,88)
0141 #define K_F80       K(KT_FN,89)
0142 #define K_F81       K(KT_FN,90)
0143 #define K_F82       K(KT_FN,91)
0144 #define K_F83       K(KT_FN,92)
0145 #define K_F84       K(KT_FN,93)
0146 #define K_F85       K(KT_FN,94)
0147 #define K_F86       K(KT_FN,95)
0148 #define K_F87       K(KT_FN,96)
0149 #define K_F88       K(KT_FN,97)
0150 #define K_F89       K(KT_FN,98)
0151 #define K_F90       K(KT_FN,99)
0152 #define K_F91       K(KT_FN,100)
0153 #define K_F92       K(KT_FN,101)
0154 #define K_F93       K(KT_FN,102)
0155 #define K_F94       K(KT_FN,103)
0156 #define K_F95       K(KT_FN,104)
0157 #define K_F96       K(KT_FN,105)
0158 #define K_F97       K(KT_FN,106)
0159 #define K_F98       K(KT_FN,107)
0160 #define K_F99       K(KT_FN,108)
0161 #define K_F100      K(KT_FN,109)
0162 #define K_F101      K(KT_FN,110)
0163 #define K_F102      K(KT_FN,111)
0164 #define K_F103      K(KT_FN,112)
0165 #define K_F104      K(KT_FN,113)
0166 #define K_F105      K(KT_FN,114)
0167 #define K_F106      K(KT_FN,115)
0168 #define K_F107      K(KT_FN,116)
0169 #define K_F108      K(KT_FN,117)
0170 #define K_F109      K(KT_FN,118)
0171 #define K_F110      K(KT_FN,119)
0172 #define K_F111      K(KT_FN,120)
0173 #define K_F112      K(KT_FN,121)
0174 #define K_F113      K(KT_FN,122)
0175 #define K_F114      K(KT_FN,123)
0176 #define K_F115      K(KT_FN,124)
0177 #define K_F116      K(KT_FN,125)
0178 #define K_F117      K(KT_FN,126)
0179 #define K_F118      K(KT_FN,127)
0180 #define K_F119      K(KT_FN,128)
0181 #define K_F120      K(KT_FN,129)
0182 #define K_F121      K(KT_FN,130)
0183 #define K_F122      K(KT_FN,131)
0184 #define K_F123      K(KT_FN,132)
0185 #define K_F124      K(KT_FN,133)
0186 #define K_F125      K(KT_FN,134)
0187 #define K_F126      K(KT_FN,135)
0188 #define K_F127      K(KT_FN,136)
0189 #define K_F128      K(KT_FN,137)
0190 #define K_F129      K(KT_FN,138)
0191 #define K_F130      K(KT_FN,139)
0192 #define K_F131      K(KT_FN,140)
0193 #define K_F132      K(KT_FN,141)
0194 #define K_F133      K(KT_FN,142)
0195 #define K_F134      K(KT_FN,143)
0196 #define K_F135      K(KT_FN,144)
0197 #define K_F136      K(KT_FN,145)
0198 #define K_F137      K(KT_FN,146)
0199 #define K_F138      K(KT_FN,147)
0200 #define K_F139      K(KT_FN,148)
0201 #define K_F140      K(KT_FN,149)
0202 #define K_F141      K(KT_FN,150)
0203 #define K_F142      K(KT_FN,151)
0204 #define K_F143      K(KT_FN,152)
0205 #define K_F144      K(KT_FN,153)
0206 #define K_F145      K(KT_FN,154)
0207 #define K_F146      K(KT_FN,155)
0208 #define K_F147      K(KT_FN,156)
0209 #define K_F148      K(KT_FN,157)
0210 #define K_F149      K(KT_FN,158)
0211 #define K_F150      K(KT_FN,159)
0212 #define K_F151      K(KT_FN,160)
0213 #define K_F152      K(KT_FN,161)
0214 #define K_F153      K(KT_FN,162)
0215 #define K_F154      K(KT_FN,163)
0216 #define K_F155      K(KT_FN,164)
0217 #define K_F156      K(KT_FN,165)
0218 #define K_F157      K(KT_FN,166)
0219 #define K_F158      K(KT_FN,167)
0220 #define K_F159      K(KT_FN,168)
0221 #define K_F160      K(KT_FN,169)
0222 #define K_F161      K(KT_FN,170)
0223 #define K_F162      K(KT_FN,171)
0224 #define K_F163      K(KT_FN,172)
0225 #define K_F164      K(KT_FN,173)
0226 #define K_F165      K(KT_FN,174)
0227 #define K_F166      K(KT_FN,175)
0228 #define K_F167      K(KT_FN,176)
0229 #define K_F168      K(KT_FN,177)
0230 #define K_F169      K(KT_FN,178)
0231 #define K_F170      K(KT_FN,179)
0232 #define K_F171      K(KT_FN,180)
0233 #define K_F172      K(KT_FN,181)
0234 #define K_F173      K(KT_FN,182)
0235 #define K_F174      K(KT_FN,183)
0236 #define K_F175      K(KT_FN,184)
0237 #define K_F176      K(KT_FN,185)
0238 #define K_F177      K(KT_FN,186)
0239 #define K_F178      K(KT_FN,187)
0240 #define K_F179      K(KT_FN,188)
0241 #define K_F180      K(KT_FN,189)
0242 #define K_F181      K(KT_FN,190)
0243 #define K_F182      K(KT_FN,191)
0244 #define K_F183      K(KT_FN,192)
0245 #define K_F184      K(KT_FN,193)
0246 #define K_F185      K(KT_FN,194)
0247 #define K_F186      K(KT_FN,195)
0248 #define K_F187      K(KT_FN,196)
0249 #define K_F188      K(KT_FN,197)
0250 #define K_F189      K(KT_FN,198)
0251 #define K_F190      K(KT_FN,199)
0252 #define K_F191      K(KT_FN,200)
0253 #define K_F192      K(KT_FN,201)
0254 #define K_F193      K(KT_FN,202)
0255 #define K_F194      K(KT_FN,203)
0256 #define K_F195      K(KT_FN,204)
0257 #define K_F196      K(KT_FN,205)
0258 #define K_F197      K(KT_FN,206)
0259 #define K_F198      K(KT_FN,207)
0260 #define K_F199      K(KT_FN,208)
0261 #define K_F200      K(KT_FN,209)
0262 #define K_F201      K(KT_FN,210)
0263 #define K_F202      K(KT_FN,211)
0264 #define K_F203      K(KT_FN,212)
0265 #define K_F204      K(KT_FN,213)
0266 #define K_F205      K(KT_FN,214)
0267 #define K_F206      K(KT_FN,215)
0268 #define K_F207      K(KT_FN,216)
0269 #define K_F208      K(KT_FN,217)
0270 #define K_F209      K(KT_FN,218)
0271 #define K_F210      K(KT_FN,219)
0272 #define K_F211      K(KT_FN,220)
0273 #define K_F212      K(KT_FN,221)
0274 #define K_F213      K(KT_FN,222)
0275 #define K_F214      K(KT_FN,223)
0276 #define K_F215      K(KT_FN,224)
0277 #define K_F216      K(KT_FN,225)
0278 #define K_F217      K(KT_FN,226)
0279 #define K_F218      K(KT_FN,227)
0280 #define K_F219      K(KT_FN,228)
0281 #define K_F220      K(KT_FN,229)
0282 #define K_F221      K(KT_FN,230)
0283 #define K_F222      K(KT_FN,231)
0284 #define K_F223      K(KT_FN,232)
0285 #define K_F224      K(KT_FN,233)
0286 #define K_F225      K(KT_FN,234)
0287 #define K_F226      K(KT_FN,235)
0288 #define K_F227      K(KT_FN,236)
0289 #define K_F228      K(KT_FN,237)
0290 #define K_F229      K(KT_FN,238)
0291 #define K_F230      K(KT_FN,239)
0292 #define K_F231      K(KT_FN,240)
0293 #define K_F232      K(KT_FN,241)
0294 #define K_F233      K(KT_FN,242)
0295 #define K_F234      K(KT_FN,243)
0296 #define K_F235      K(KT_FN,244)
0297 #define K_F236      K(KT_FN,245)
0298 #define K_F237      K(KT_FN,246)
0299 #define K_F238      K(KT_FN,247)
0300 #define K_F239      K(KT_FN,248)
0301 #define K_F240      K(KT_FN,249)
0302 #define K_F241      K(KT_FN,250)
0303 #define K_F242      K(KT_FN,251)
0304 #define K_F243      K(KT_FN,252)
0305 #define K_F244      K(KT_FN,253)
0306 #define K_F245      K(KT_FN,254)
0307 #define K_UNDO      K(KT_FN,255)
0308 
0309 #define K_HOLE      K(KT_SPEC,0)
0310 #define K_ENTER     K(KT_SPEC,1)
0311 #define K_SH_REGS   K(KT_SPEC,2)
0312 #define K_SH_MEM    K(KT_SPEC,3)
0313 #define K_SH_STAT   K(KT_SPEC,4)
0314 #define K_BREAK     K(KT_SPEC,5)
0315 #define K_CONS      K(KT_SPEC,6)
0316 #define K_CAPS      K(KT_SPEC,7)
0317 #define K_NUM       K(KT_SPEC,8)
0318 #define K_HOLD      K(KT_SPEC,9)
0319 #define K_SCROLLFORW    K(KT_SPEC,10)
0320 #define K_SCROLLBACK    K(KT_SPEC,11)
0321 #define K_BOOT      K(KT_SPEC,12)
0322 #define K_CAPSON    K(KT_SPEC,13)
0323 #define K_COMPOSE   K(KT_SPEC,14)
0324 #define K_SAK       K(KT_SPEC,15)
0325 #define K_DECRCONSOLE   K(KT_SPEC,16)
0326 #define K_INCRCONSOLE   K(KT_SPEC,17)
0327 #define K_SPAWNCONSOLE  K(KT_SPEC,18)
0328 #define K_BARENUMLOCK   K(KT_SPEC,19)
0329 
0330 #define K_ALLOCATED K(KT_SPEC,126) /* dynamically allocated keymap */
0331 #define K_NOSUCHMAP K(KT_SPEC,127) /* returned by KDGKBENT */
0332 
0333 #define K_P0        K(KT_PAD,0)
0334 #define K_P1        K(KT_PAD,1)
0335 #define K_P2        K(KT_PAD,2)
0336 #define K_P3        K(KT_PAD,3)
0337 #define K_P4        K(KT_PAD,4)
0338 #define K_P5        K(KT_PAD,5)
0339 #define K_P6        K(KT_PAD,6)
0340 #define K_P7        K(KT_PAD,7)
0341 #define K_P8        K(KT_PAD,8)
0342 #define K_P9        K(KT_PAD,9)
0343 #define K_PPLUS     K(KT_PAD,10)    /* key-pad plus */
0344 #define K_PMINUS    K(KT_PAD,11)    /* key-pad minus */
0345 #define K_PSTAR     K(KT_PAD,12)    /* key-pad asterisk (star) */
0346 #define K_PSLASH    K(KT_PAD,13)    /* key-pad slash */
0347 #define K_PENTER    K(KT_PAD,14)    /* key-pad enter */
0348 #define K_PCOMMA    K(KT_PAD,15)    /* key-pad comma: kludge... */
0349 #define K_PDOT      K(KT_PAD,16)    /* key-pad dot (period): kludge... */
0350 #define K_PPLUSMINUS    K(KT_PAD,17)    /* key-pad plus/minus */
0351 #define K_PPARENL   K(KT_PAD,18)    /* key-pad left parenthesis */
0352 #define K_PPARENR   K(KT_PAD,19)    /* key-pad right parenthesis */
0353 
0354 #define NR_PAD      20
0355 
0356 #define K_DGRAVE    K(KT_DEAD,0)
0357 #define K_DACUTE    K(KT_DEAD,1)
0358 #define K_DCIRCM    K(KT_DEAD,2)
0359 #define K_DTILDE    K(KT_DEAD,3)
0360 #define K_DDIERE    K(KT_DEAD,4)
0361 #define K_DCEDIL    K(KT_DEAD,5)
0362 
0363 #define NR_DEAD     6
0364 
0365 #define K_DOWN      K(KT_CUR,0)
0366 #define K_LEFT      K(KT_CUR,1)
0367 #define K_RIGHT     K(KT_CUR,2)
0368 #define K_UP        K(KT_CUR,3)
0369 
0370 #define K_SHIFT     K(KT_SHIFT,KG_SHIFT)
0371 #define K_CTRL      K(KT_SHIFT,KG_CTRL)
0372 #define K_ALT       K(KT_SHIFT,KG_ALT)
0373 #define K_ALTGR     K(KT_SHIFT,KG_ALTGR)
0374 #define K_SHIFTL    K(KT_SHIFT,KG_SHIFTL)
0375 #define K_SHIFTR    K(KT_SHIFT,KG_SHIFTR)
0376 #define K_CTRLL     K(KT_SHIFT,KG_CTRLL)
0377 #define K_CTRLR     K(KT_SHIFT,KG_CTRLR)
0378 #define K_CAPSSHIFT K(KT_SHIFT,KG_CAPSSHIFT)
0379 
0380 #define K_ASC0      K(KT_ASCII,0)
0381 #define K_ASC1      K(KT_ASCII,1)
0382 #define K_ASC2      K(KT_ASCII,2)
0383 #define K_ASC3      K(KT_ASCII,3)
0384 #define K_ASC4      K(KT_ASCII,4)
0385 #define K_ASC5      K(KT_ASCII,5)
0386 #define K_ASC6      K(KT_ASCII,6)
0387 #define K_ASC7      K(KT_ASCII,7)
0388 #define K_ASC8      K(KT_ASCII,8)
0389 #define K_ASC9      K(KT_ASCII,9)
0390 #define K_HEX0      K(KT_ASCII,10)
0391 #define K_HEX1      K(KT_ASCII,11)
0392 #define K_HEX2      K(KT_ASCII,12)
0393 #define K_HEX3      K(KT_ASCII,13)
0394 #define K_HEX4      K(KT_ASCII,14)
0395 #define K_HEX5      K(KT_ASCII,15)
0396 #define K_HEX6      K(KT_ASCII,16)
0397 #define K_HEX7      K(KT_ASCII,17)
0398 #define K_HEX8      K(KT_ASCII,18)
0399 #define K_HEX9      K(KT_ASCII,19)
0400 #define K_HEXa      K(KT_ASCII,20)
0401 #define K_HEXb      K(KT_ASCII,21)
0402 #define K_HEXc      K(KT_ASCII,22)
0403 #define K_HEXd      K(KT_ASCII,23)
0404 #define K_HEXe      K(KT_ASCII,24)
0405 #define K_HEXf      K(KT_ASCII,25)
0406 
0407 #define NR_ASCII    26
0408 
0409 #define K_SHIFTLOCK K(KT_LOCK,KG_SHIFT)
0410 #define K_CTRLLOCK  K(KT_LOCK,KG_CTRL)
0411 #define K_ALTLOCK   K(KT_LOCK,KG_ALT)
0412 #define K_ALTGRLOCK K(KT_LOCK,KG_ALTGR)
0413 #define K_SHIFTLLOCK    K(KT_LOCK,KG_SHIFTL)
0414 #define K_SHIFTRLOCK    K(KT_LOCK,KG_SHIFTR)
0415 #define K_CTRLLLOCK K(KT_LOCK,KG_CTRLL)
0416 #define K_CTRLRLOCK K(KT_LOCK,KG_CTRLR)
0417 
0418 #define K_SHIFT_SLOCK   K(KT_SLOCK,KG_SHIFT)
0419 #define K_CTRL_SLOCK    K(KT_SLOCK,KG_CTRL)
0420 #define K_ALT_SLOCK K(KT_SLOCK,KG_ALT)
0421 #define K_ALTGR_SLOCK   K(KT_SLOCK,KG_ALTGR)
0422 #define K_SHIFTL_SLOCK  K(KT_SLOCK,KG_SHIFTL)
0423 #define K_SHIFTR_SLOCK  K(KT_SLOCK,KG_SHIFTR)
0424 #define K_CTRLL_SLOCK   K(KT_SLOCK,KG_CTRLL)
0425 #define K_CTRLR_SLOCK   K(KT_SLOCK,KG_CTRLR)
0426 
0427 #define NR_LOCK     8
0428 
0429 #define MAX_DIACR   256
0430 #endif