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 9enum { 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 */ 36struct 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