root/include/linux/keyboard.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. vc_kbd_flag
  2. set_vc_kbd_flag
  3. clr_vc_kbd_flag
  4. 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  * kbd->xxx contains the VC-local things (flag settings etc..)
   9  * The low 3 local flags are hardcoded to be the led setting..
  10  */
  11 struct kbd_struct {
  12         unsigned long flags;
  13         unsigned long default_flags;
  14 };
  15 
  16 extern struct kbd_struct kbd_table[];
  17 
  18 /*
  19  * These are the local "softflags", giving actual keyboard modes. The
  20  * three first flags are coded to the led settings.
  21  */
  22 #define VC_SCROLLOCK    0       /* scroll-lock mode */
  23 #define VC_NUMLOCK      1       /* numeric lock mode */
  24 #define VC_CAPSLOCK     2       /* capslock mode */
  25 #define VC_APPLIC       3       /* application key mode */
  26 #define VC_CKMODE       5       /* cursor key mode */
  27 #define VC_REPEAT       6       /* keyboard repeat */
  28 #define VC_RAW          7       /* raw (scancode) mode */
  29 #define VC_CRLF         8       /* 0 - enter sends CR, 1 - enter sends CRLF */
  30 #define VC_META         9       /* 0 - meta, 1 - meta=prefix with ESC */
  31 #define VC_PAUSE        10      /* pause key pressed */
  32 #define VC_MEDIUMRAW    11      /* medium raw (keycode) mode */
  33 #define VC_SHIFTLOCK    12      /* shift lock mode */
  34 #define VC_ALTGRLOCK    13      /* altgr lock mode */
  35 #define VC_CTRLLOCK     14      /* control lock mode */
  36 #define VC_ALTLOCK      15      /* alt lock mode */
  37 
  38 #define LED_MASK        7
  39 
  40 extern unsigned long kbd_init(unsigned long);
  41 
  42 extern inline int vc_kbd_flag(struct kbd_struct * kbd, int flag)
     /* [previous][next][first][last][top][bottom][index][help] */
  43 {
  44         return ((kbd->flags >> flag) & 1);
  45 }
  46 
  47 extern inline void set_vc_kbd_flag(struct kbd_struct * kbd, int flag)
     /* [previous][next][first][last][top][bottom][index][help] */
  48 {
  49         kbd->flags |= 1 << flag;
  50 }
  51 
  52 extern inline void clr_vc_kbd_flag(struct kbd_struct * kbd, int flag)
     /* [previous][next][first][last][top][bottom][index][help] */
  53 {
  54         kbd->flags &= ~(1 << flag);
  55 }
  56 
  57 extern inline void chg_vc_kbd_flag(struct kbd_struct * kbd, int flag)
     /* [previous][next][first][last][top][bottom][index][help] */
  58 {
  59         kbd->flags ^= 1 << flag;
  60 }
  61 
  62 #define NR_KEYS 128
  63 #define NR_KEYMAPS 16
  64 extern const int NR_TYPES;
  65 extern const int max_vals[];
  66 extern unsigned short key_map[NR_KEYMAPS][NR_KEYS];
  67 
  68 #define NR_FUNC 36
  69 #define FUNC_BUFSIZE 512
  70 extern char func_buf[FUNC_BUFSIZE];
  71 extern char *func_table[NR_FUNC];
  72 
  73 #define KT_LATIN        0       /* we depend on this being zero */
  74 #define KT_FN           1
  75 #define KT_SPEC         2
  76 #define KT_PAD          3
  77 #define KT_DEAD         4
  78 #define KT_CONS         5
  79 #define KT_CUR          6
  80 #define KT_SHIFT        7
  81 #define KT_META         8
  82 #define KT_ASCII        9
  83 #define KT_LOCK         10
  84 
  85 #define K(t,v)          (((t)<<8)|(v))
  86 #define KTYP(x)         ((x) >> 8)
  87 #define KVAL(x)         ((x) & 0xff)
  88 
  89 #define K_F1            K(KT_FN,0)
  90 #define K_F2            K(KT_FN,1)
  91 #define K_F3            K(KT_FN,2)
  92 #define K_F4            K(KT_FN,3)
  93 #define K_F5            K(KT_FN,4)
  94 #define K_F6            K(KT_FN,5)
  95 #define K_F7            K(KT_FN,6)
  96 #define K_F8            K(KT_FN,7)
  97 #define K_F9            K(KT_FN,8)
  98 #define K_F10           K(KT_FN,9)
  99 #define K_F11           K(KT_FN,10)
 100 #define K_F12           K(KT_FN,11)
 101 #define K_F13           K(KT_FN,12)
 102 #define K_F14           K(KT_FN,13)
 103 #define K_F15           K(KT_FN,14)
 104 #define K_F16           K(KT_FN,15)
 105 #define K_F17           K(KT_FN,16)
 106 #define K_F18           K(KT_FN,17)
 107 #define K_F19           K(KT_FN,18)
 108 #define K_F20           K(KT_FN,19)
 109 #define K_FIND          K(KT_FN,20)
 110 #define K_INSERT        K(KT_FN,21)
 111 #define K_REMOVE        K(KT_FN,22)
 112 #define K_SELECT        K(KT_FN,23)
 113 #define K_PGUP          K(KT_FN,24)
 114 #define K_PGDN          K(KT_FN,25)
 115 #define K_MACRO         K(KT_FN,26)
 116 #define K_HELP          K(KT_FN,27)
 117 #define K_DO            K(KT_FN,28)
 118 #define K_PAUSE         K(KT_FN,29)
 119 
 120 #define K_HOLE          K(KT_SPEC,0)
 121 #define K_ENTER         K(KT_SPEC,1)
 122 #define K_SH_REGS       K(KT_SPEC,2)
 123 #define K_SH_MEM        K(KT_SPEC,3)
 124 #define K_SH_STAT       K(KT_SPEC,4)
 125 #define K_BREAK         K(KT_SPEC,5)
 126 #define K_CONS          K(KT_SPEC,6)
 127 #define K_CAPS          K(KT_SPEC,7)
 128 #define K_NUM           K(KT_SPEC,8)
 129 #define K_HOLD          K(KT_SPEC,9)
 130 #define K_SCROLLFORW    K(KT_SPEC,10)
 131 #define K_SCROLLBACK    K(KT_SPEC,11)
 132 #define K_BOOT          K(KT_SPEC,12)
 133 #define K_CAPSON        K(KT_SPEC,13)
 134 #define K_COMPOSE       K(KT_SPEC,14)
 135 
 136 #define K_P0            K(KT_PAD,0)
 137 #define K_P1            K(KT_PAD,1)
 138 #define K_P2            K(KT_PAD,2)
 139 #define K_P3            K(KT_PAD,3)
 140 #define K_P4            K(KT_PAD,4)
 141 #define K_P5            K(KT_PAD,5)
 142 #define K_P6            K(KT_PAD,6)
 143 #define K_P7            K(KT_PAD,7)
 144 #define K_P8            K(KT_PAD,8)
 145 #define K_P9            K(KT_PAD,9)
 146 #define K_PPLUS         K(KT_PAD,10)    /* key-pad plus                    */
 147 #define K_PMINUS        K(KT_PAD,11)    /* key-pad minus                   */
 148 #define K_PSTAR         K(KT_PAD,12)    /* key-pad asterisk (star)         */
 149 #define K_PSLASH        K(KT_PAD,13)    /* key-pad slash                   */
 150 #define K_PENTER        K(KT_PAD,14)    /* key-pad enter                   */
 151 #define K_PCOMMA        K(KT_PAD,15)    /* key-pad comma: kludge...        */
 152 #define K_PDOT          K(KT_PAD,16)    /* key-pad dot (period): kludge... */
 153 #define K_PPLUSMINUS    K(KT_PAD,17)    /* key-pad plus/minus              */
 154 
 155 #define K_DGRAVE        K(KT_DEAD,0)
 156 #define K_DACUTE        K(KT_DEAD,1)
 157 #define K_DCIRCM        K(KT_DEAD,2)
 158 #define K_DTILDE        K(KT_DEAD,3)
 159 #define K_DDIERE        K(KT_DEAD,4)
 160 
 161 #define K_DOWN          K(KT_CUR,0)
 162 #define K_LEFT          K(KT_CUR,1)
 163 #define K_RIGHT         K(KT_CUR,2)
 164 #define K_UP            K(KT_CUR,3)
 165 
 166 #define KG_SHIFT        0
 167 #define KG_CTRL         2
 168 #define KG_ALT          3
 169 #define KG_ALTGR        1
 170 
 171 #define K_SHIFT         K(KT_SHIFT,KG_SHIFT)
 172 #define K_CTRL          K(KT_SHIFT,KG_CTRL)
 173 #define K_ALT           K(KT_SHIFT,KG_ALT)
 174 #define K_ALTGR         K(KT_SHIFT,KG_ALTGR)
 175 
 176 #define NR_SHIFT        4
 177 
 178 #define K_CAPSSHIFT     K(KT_SHIFT,NR_SHIFT)
 179 
 180 #define K_ASC0          K(KT_ASCII,0)
 181 #define K_ASC1          K(KT_ASCII,1)
 182 #define K_ASC2          K(KT_ASCII,2)
 183 #define K_ASC3          K(KT_ASCII,3)
 184 #define K_ASC4          K(KT_ASCII,4)
 185 #define K_ASC5          K(KT_ASCII,5)
 186 #define K_ASC6          K(KT_ASCII,6)
 187 #define K_ASC7          K(KT_ASCII,7)
 188 #define K_ASC8          K(KT_ASCII,8)
 189 #define K_ASC9          K(KT_ASCII,9)
 190 
 191 #define K_SHIFTLOCK     K(KT_LOCK,0)
 192 #define K_CTRLLOCK      K(KT_LOCK,2)
 193 #define K_ALTLOCK       K(KT_LOCK,3)
 194 #define K_ALTGRLOCK     K(KT_LOCK,1)
 195 
 196 #define MAX_DIACR       256
 197 #endif

/* [previous][next][first][last][top][bottom][index][help] */