Blob
1 typedef struct Keyboardctl Keyboardctl;3 struct Keyboardctl4 {5 struct Channel *c; /* chan(Rune)[20] */7 char *file;8 int consfd; /* to cons file */9 int ctlfd; /* to ctl file */10 int pid; /* of slave proc */11 };14 extern Keyboardctl* initkeyboard(char*);15 extern int ctlkeyboard(Keyboardctl*, char*);16 extern void closekeyboard(Keyboardctl*);18 enum {19 KF= 0xF000, /* Rune: beginning of private Unicode space */20 /* KF|1, KF|2, ..., KF|0xC is F1, F2, ..., F12 */21 Khome= KF|0x0D,22 Kup= KF|0x0E,23 Kpgup= KF|0x0F,24 Kprint= KF|0x10,25 Kleft= KF|0x11,26 Kright= KF|0x12,27 Kdown= 0x80,28 Kview= 0x80,29 Kpgdown= KF|0x13,30 Kins= KF|0x14,31 Kend= '\r', /* [sic] */33 Kalt= KF|0x15,34 Kshift= KF|0x16,35 Kctl= KF|0x17,36 };