keyboard.h

Go to the documentation of this file.
00001 #ifndef __LINUX_KEYBOARD_H
00002 #define __LINUX_KEYBOARD_H
00003 
00004 #define KG_SHIFT        0
00005 #define KG_CTRL         2
00006 #define KG_ALT          3
00007 #define KG_ALTGR        1
00008 #define KG_SHIFTL       4
00009 #define KG_SHIFTR       5
00010 #define KG_CTRLL        6
00011 #define KG_CTRLR        7
00012 
00013 #define NR_KEYS 128
00014 #define NR_KEYMAPS 16
00015 extern const int NR_TYPES;
00016 extern const int max_vals[];
00017 extern unsigned short key_map[NR_KEYMAPS][NR_KEYS];
00018 
00019 #define NR_FUNC 36
00020 #define FUNC_BUFSIZE 512
00021 extern char func_buf[FUNC_BUFSIZE];
00022 extern char *func_table[NR_FUNC];
00023 
00024 #define KT_LATIN        0       ///< we depend on this being zero 
00025 #define KT_LETTER      11       ///< symbol that can be acted upon by CapsLock 
00026 #define KT_FN           1
00027 #define KT_SPEC         2
00028 #define KT_PAD          3
00029 #define KT_DEAD         4
00030 #define KT_CONS         5
00031 #define KT_CUR          6
00032 #define KT_SHIFT        7
00033 #define KT_META         8
00034 #define KT_ASCII        9
00035 #define KT_LOCK         10
00036 
00037 #define K(t,v)          (((t)<<8)|(v))
00038 #define KTYP(x)         ((x) >> 8)
00039 #define KVAL(x)         ((x) & 0xff)
00040 
00041 #define K_F1            K(KT_FN,0)
00042 #define K_F2            K(KT_FN,1)
00043 #define K_F3            K(KT_FN,2)
00044 #define K_F4            K(KT_FN,3)
00045 #define K_F5            K(KT_FN,4)
00046 #define K_F6            K(KT_FN,5)
00047 #define K_F7            K(KT_FN,6)
00048 #define K_F8            K(KT_FN,7)
00049 #define K_F9            K(KT_FN,8)
00050 #define K_F10           K(KT_FN,9)
00051 #define K_F11           K(KT_FN,10)
00052 #define K_F12           K(KT_FN,11)
00053 #define K_F13           K(KT_FN,12)
00054 #define K_F14           K(KT_FN,13)
00055 #define K_F15           K(KT_FN,14)
00056 #define K_F16           K(KT_FN,15)
00057 #define K_F17           K(KT_FN,16)
00058 #define K_F18           K(KT_FN,17)
00059 #define K_F19           K(KT_FN,18)
00060 #define K_F20           K(KT_FN,19)
00061 #define K_FIND          K(KT_FN,20)
00062 #define K_INSERT        K(KT_FN,21)
00063 #define K_REMOVE        K(KT_FN,22)
00064 #define K_SELECT        K(KT_FN,23)
00065 #define K_PGUP          K(KT_FN,24)
00066 #define K_PGDN          K(KT_FN,25)
00067 #define K_MACRO         K(KT_FN,26)
00068 #define K_HELP          K(KT_FN,27)
00069 #define K_DO            K(KT_FN,28)
00070 #define K_PAUSE         K(KT_FN,29)
00071 
00072 #define K_HOLE          K(KT_SPEC,0)
00073 #define K_ENTER         K(KT_SPEC,1)
00074 #define K_SH_REGS       K(KT_SPEC,2)
00075 #define K_SH_MEM        K(KT_SPEC,3)
00076 #define K_SH_STAT       K(KT_SPEC,4)
00077 #define K_BREAK         K(KT_SPEC,5)
00078 #define K_CONS          K(KT_SPEC,6)
00079 #define K_CAPS          K(KT_SPEC,7)
00080 #define K_NUM           K(KT_SPEC,8)
00081 #define K_HOLD          K(KT_SPEC,9)
00082 #define K_SCROLLFORW    K(KT_SPEC,10)
00083 #define K_SCROLLBACK    K(KT_SPEC,11)
00084 #define K_BOOT          K(KT_SPEC,12)
00085 #define K_CAPSON        K(KT_SPEC,13)
00086 #define K_COMPOSE       K(KT_SPEC,14)
00087 
00088 #define K_P0            K(KT_PAD,0)
00089 #define K_P1            K(KT_PAD,1)
00090 #define K_P2            K(KT_PAD,2)
00091 #define K_P3            K(KT_PAD,3)
00092 #define K_P4            K(KT_PAD,4)
00093 #define K_P5            K(KT_PAD,5)
00094 #define K_P6            K(KT_PAD,6)
00095 #define K_P7            K(KT_PAD,7)
00096 #define K_P8            K(KT_PAD,8)
00097 #define K_P9            K(KT_PAD,9)
00098 #define K_PPLUS         K(KT_PAD,10)    ///< key-pad plus                          
00099 #define K_PMINUS        K(KT_PAD,11)    ///< key-pad minus                 
00100 #define K_PSTAR         K(KT_PAD,12)    ///< key-pad asterisk (star)       
00101 #define K_PSLASH        K(KT_PAD,13)    ///< key-pad slash                 
00102 #define K_PENTER        K(KT_PAD,14)    ///< key-pad enter                 
00103 #define K_PCOMMA        K(KT_PAD,15)    ///< key-pad comma: kludge...      
00104 #define K_PDOT          K(KT_PAD,16)    ///< key-pad dot (period): kludge... 
00105 #define K_PPLUSMINUS    K(KT_PAD,17)    ///< key-pad plus/minus              
00106 
00107 #define K_DGRAVE        K(KT_DEAD,0)
00108 #define K_DACUTE        K(KT_DEAD,1)
00109 #define K_DCIRCM        K(KT_DEAD,2)
00110 #define K_DTILDE        K(KT_DEAD,3)
00111 #define K_DDIERE        K(KT_DEAD,4)
00112 
00113 #define K_DOWN          K(KT_CUR,0)
00114 #define K_LEFT          K(KT_CUR,1)
00115 #define K_RIGHT         K(KT_CUR,2)
00116 #define K_UP            K(KT_CUR,3)
00117 
00118 #define K_SHIFT         K(KT_SHIFT,KG_SHIFT)
00119 #define K_CTRL          K(KT_SHIFT,KG_CTRL)
00120 #define K_ALT           K(KT_SHIFT,KG_ALT)
00121 #define K_ALTGR         K(KT_SHIFT,KG_ALTGR)
00122 #define K_SHIFTL        K(KT_SHIFT,KG_SHIFTL)
00123 #define K_SHIFTR        K(KT_SHIFT,KG_SHIFTR)
00124 #define K_CTRLL         K(KT_SHIFT,KG_CTRLL)
00125 #define K_CTRLR         K(KT_SHIFT,KG_CTRLR)
00126 
00127 #define NR_SHIFT        4
00128 
00129 #define K_CAPSSHIFT     K(KT_SHIFT,NR_SHIFT)
00130 
00131 #define K_ASC0          K(KT_ASCII,0)
00132 #define K_ASC1          K(KT_ASCII,1)
00133 #define K_ASC2          K(KT_ASCII,2)
00134 #define K_ASC3          K(KT_ASCII,3)
00135 #define K_ASC4          K(KT_ASCII,4)
00136 #define K_ASC5          K(KT_ASCII,5)
00137 #define K_ASC6          K(KT_ASCII,6)
00138 #define K_ASC7          K(KT_ASCII,7)
00139 #define K_ASC8          K(KT_ASCII,8)
00140 #define K_ASC9          K(KT_ASCII,9)
00141 
00142 #define K_SHIFTLOCK     K(KT_LOCK,KG_SHIFT)
00143 #define K_CTRLLOCK      K(KT_LOCK,KG_CTRL)
00144 #define K_ALTLOCK       K(KT_LOCK,KG_ALT)
00145 #define K_ALTGRLOCK     K(KT_LOCK,KG_ALTGR)
00146 
00147 #define MAX_DIACR       256
00148 #endif

Generated on Mon May 1 21:47:00 2006 for KernelAPI by  doxygen 1.4.6-5