first usable version of kernel and commands
After an year of hard work, this is a first "usable" version of Jehanne.
This commit is contained in:
65
sys/include/keyboard.h
Normal file
65
sys/include/keyboard.h
Normal file
@ -0,0 +1,65 @@
|
||||
#pragma src "/sys/src/libdraw"
|
||||
#pragma lib "libdraw.a"
|
||||
|
||||
typedef struct Keyboardctl Keyboardctl;
|
||||
typedef struct Channel Channel;
|
||||
|
||||
struct Keyboardctl
|
||||
{
|
||||
Channel *c; /* chan(Rune)[20] */
|
||||
|
||||
char *file;
|
||||
int consfd; /* to cons file */
|
||||
int ctlfd; /* to ctl file */
|
||||
int pid; /* of slave proc */
|
||||
};
|
||||
|
||||
|
||||
extern Keyboardctl* initkeyboard(char*);
|
||||
extern int ctlkeyboard(Keyboardctl*, char*);
|
||||
extern void closekeyboard(Keyboardctl*);
|
||||
|
||||
enum {
|
||||
KF= 0xF000, /* Rune: beginning of private Unicode space */
|
||||
Spec= 0xF800,
|
||||
PF= Spec|0x20, /* num pad function key */
|
||||
Kview= Spec|0x00, /* view (shift window up) */
|
||||
/* KF|1, KF|2, ..., KF|0xC is F1, F2, ..., F12 */
|
||||
Khome= KF|0x0D,
|
||||
Kup= KF|0x0E,
|
||||
Kdown= Kview,
|
||||
Kpgup= KF|0x0F,
|
||||
Kprint= KF|0x10,
|
||||
Kleft= KF|0x11,
|
||||
Kright= KF|0x12,
|
||||
Kpgdown= KF|0x13,
|
||||
Kins= KF|0x14,
|
||||
|
||||
Kalt= KF|0x15,
|
||||
Kshift= KF|0x16,
|
||||
Kctl= KF|0x17,
|
||||
|
||||
Kend= KF|0x18,
|
||||
Kscroll= KF|0x19,
|
||||
Kscrolloneup= KF|0x20,
|
||||
Kscrollonedown= KF|0x21,
|
||||
|
||||
Ksoh= 0x01,
|
||||
Kstx= 0x02,
|
||||
Ketx= 0x03,
|
||||
Keof= 0x04,
|
||||
Kenq= 0x05,
|
||||
Kack= 0x06,
|
||||
Kbs= 0x08,
|
||||
Knack= 0x15,
|
||||
Ketb= 0x17,
|
||||
Kdel= 0x7f,
|
||||
Kesc= 0x1b,
|
||||
|
||||
Kbreak= Spec|0x61,
|
||||
Kcaps= Spec|0x64,
|
||||
Knum= Spec|0x65,
|
||||
Kmiddle= Spec|0x66,
|
||||
Kaltgr= Spec|0x67,
|
||||
Kmouse= Spec|0x100,
|
||||
};
|
Reference in New Issue
Block a user