#ifndef __LINUX_KBIO_H
#define __LINUX_KBIO_H

#define KIOCTYPE    _IOR('k', 9, int)

#define KIOCLAYOUT  _IOR('k', 20, int)

enum {
    TR_NONE,
    TR_ASCII,
    TR_EVENT,
    TR_UNTRANS_EVENT
};

#define KIOCGTRANS  _IOR('k', 5, int)

#define KIOCTRANS   _IOW('k', 0, int)

#define KIOCCMD     _IOW('k', 8, int)

#define KIOCSDIRECT _IOW('k', 10, int)

#define KIOCSLED    _IOW('k', 14, unsigned char)

#define KIOCGLED    _IOR('k', 15, unsigned char)
struct kbd_rate {
        unsigned char delay;
        unsigned char rate; 
};

#define KIOCSRATE   _IOW('k', 40, struct kbd_rate)

#define KIOCGRATE   _IOW('k', 41, struct kbd_rate)

#define KBD_UP      0x80

#define KBD_KEYMASK 0x7f

#define KBD_IDLE    0x75

#endif /* __LINUX_KBIO_H */
