1 #ifndef __LINUX_KBIO_H 2 #define __LINUX_KBIO_H 3 4 /* Return keyboard type */ 5 #define KIOCTYPE _IOR('k', 9, int) 6 /* Return Keyboard layout */ 7 #define KIOCLAYOUT _IOR('k', 20, int) 8 9 enum { 10 TR_NONE, 11 TR_ASCII, /* keyboard is in regular state */ 12 TR_EVENT, /* keystrokes sent as firm events */ 13 TR_UNTRANS_EVENT /* EVENT+up and down+no translation */ 14 }; 15 16 /* Return the current keyboard translation */ 17 #define KIOCGTRANS _IOR('k', 5, int) 18 /* Set the keyboard translation */ 19 #define KIOCTRANS _IOW('k', 0, int) 20 21 /* Send a keyboard command */ 22 #define KIOCCMD _IOW('k', 8, int) 23 24 /* Return if keystrokes are being sent to /dev/kbd */ 25 26 /* Set routing of keystrokes to /dev/kbd */ 27 #define KIOCSDIRECT _IOW('k', 10, int) 28 29 /* Set keyboard leds */ 30 #define KIOCSLED _IOW('k', 14, unsigned char) 31 32 /* Get keyboard leds */ 33 #define KIOCGLED _IOR('k', 15, unsigned char) 34 35 /* Used by KIOC[GS]RATE */ 36 struct kbd_rate { 37 unsigned char delay; /* Delay in Hz before first repeat. */ 38 unsigned char rate; /* In characters per second (0..50). */ 39 }; 40 41 /* Set keyboard rate */ 42 #define KIOCSRATE _IOW('k', 40, struct kbd_rate) 43 44 /* Get keyboard rate */ 45 #define KIOCGRATE _IOW('k', 41, struct kbd_rate) 46 47 /* Top bit records if the key is up or down */ 48 #define KBD_UP 0x80 49 50 /* Usable information */ 51 #define KBD_KEYMASK 0x7f 52 53 /* All keys up */ 54 #define KBD_IDLE 0x75 55 56 #endif /* __LINUX_KBIO_H */ 57