| #ifndef __LINUX_KBIO_H |
| #define __LINUX_KBIO_H |
| |
| /* Return keyboard type */ |
| #define KIOCTYPE _IOR('k', 9, int) |
| /* Return Keyboard layout */ |
| #define KIOCLAYOUT _IOR('k', 20, int) |
| |
| enum { |
| TR_NONE, |
| TR_ASCII, /* keyboard is in regular state */ |
| TR_EVENT, /* keystrokes sent as firm events */ |
| TR_UNTRANS_EVENT /* EVENT+up and down+no translation */ |
| }; |
| |
| /* Return the current keyboard translation */ |
| #define KIOCGTRANS _IOR('k', 5, int) |
| /* Set the keyboard translation */ |
| #define KIOCTRANS _IOW('k', 0, int) |
| |
| /* Send a keyboard command */ |
| #define KIOCCMD _IOW('k', 8, int) |
| |
| /* Return if keystrokes are being sent to /dev/kbd */ |
| |
| /* Set routing of keystrokes to /dev/kbd */ |
| #define KIOCSDIRECT _IOW('k', 10, int) |
| |
| /* Set keyboard leds */ |
| #define KIOCSLED _IOW('k', 14, unsigned char) |
| |
| /* Get keyboard leds */ |
| #define KIOCGLED _IOR('k', 15, unsigned char) |
| |
| /* Used by KIOC[GS]RATE */ |
| struct kbd_rate { |
| unsigned char delay; /* Delay in Hz before first repeat. */ |
| unsigned char rate; /* In characters per second (0..50). */ |
| }; |
| |
| /* Set keyboard rate */ |
| #define KIOCSRATE _IOW('k', 40, struct kbd_rate) |
| |
| /* Get keyboard rate */ |
| #define KIOCGRATE _IOW('k', 41, struct kbd_rate) |
| |
| /* Top bit records if the key is up or down */ |
| #define KBD_UP 0x80 |
| |
| /* Usable information */ |
| #define KBD_KEYMASK 0x7f |
| |
| /* All keys up */ |
| #define KBD_IDLE 0x75 |
| |
| #endif /* __LINUX_KBIO_H */ |