2003-11-25 01:40:27 +00:00
|
|
|
#ifndef _KEYBOARD_H_
|
|
|
|
#define _KEYBOARD_H_ 1
|
|
|
|
#if defined(__cplusplus)
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2003-09-30 17:47:41 +00:00
|
|
|
typedef struct Keyboardctl Keyboardctl;
|
|
|
|
|
|
|
|
struct Keyboardctl
|
|
|
|
{
|
|
|
|
struct Channel *c; /* chan(Rune)[20] */
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
extern Keyboardctl* initkeyboard(char*);
|
|
|
|
extern int ctlkeyboard(Keyboardctl*, char*);
|
|
|
|
extern void closekeyboard(Keyboardctl*);
|
|
|
|
|
|
|
|
enum {
|
|
|
|
KF= 0xF000, /* Rune: beginning of private Unicode space */
|
|
|
|
/* KF|1, KF|2, ..., KF|0xC is F1, F2, ..., F12 */
|
|
|
|
Khome= KF|0x0D,
|
|
|
|
Kup= KF|0x0E,
|
|
|
|
Kpgup= KF|0x0F,
|
|
|
|
Kprint= KF|0x10,
|
|
|
|
Kleft= KF|0x11,
|
|
|
|
Kright= KF|0x12,
|
|
|
|
Kdown= 0x80,
|
|
|
|
Kview= 0x80,
|
|
|
|
Kpgdown= KF|0x13,
|
|
|
|
Kins= KF|0x14,
|
2008-07-18 13:10:14 +00:00
|
|
|
Kend= KF|0x18,
|
2003-09-30 17:47:41 +00:00
|
|
|
|
|
|
|
Kalt= KF|0x15,
|
|
|
|
Kshift= KF|0x16,
|
2009-04-30 14:29:24 +00:00
|
|
|
Kctl= KF|0x17,
|
2015-01-05 04:06:05 +00:00
|
|
|
|
|
|
|
Kbs= 0x08,
|
|
|
|
Kdel= 0x7f,
|
|
|
|
Kesc= 0x1b,
|
|
|
|
Keof= 0x04,
|
|
|
|
|
2009-04-30 14:29:24 +00:00
|
|
|
Kcmd= 0xF100 /* Rune: beginning of Cmd+'a', Cmd+'A', etc on Mac */
|
2003-09-30 17:47:41 +00:00
|
|
|
};
|
2003-11-25 01:40:27 +00:00
|
|
|
|
|
|
|
#if defined(__cplusplus)
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|