Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 */ |