xref: /plan9/sys/src/cmd/unix/drawterm/include/keyboard.h (revision 8ccd4a6360d974db7bd7bbd4f37e7018419ea908)
1*8ccd4a63SDavid du Colombier #ifdef PLAN9
2*8ccd4a63SDavid du Colombier #pragma src "/sys/src/libdraw"
3*8ccd4a63SDavid du Colombier #pragma lib "libdraw.a"
4*8ccd4a63SDavid du Colombier #endif
5*8ccd4a63SDavid du Colombier 
6*8ccd4a63SDavid du Colombier typedef struct 	Keyboardctl Keyboardctl;
7*8ccd4a63SDavid du Colombier typedef struct	Channel	Channel;
8*8ccd4a63SDavid du Colombier 
9*8ccd4a63SDavid du Colombier struct	Keyboardctl
10*8ccd4a63SDavid du Colombier {
11*8ccd4a63SDavid du Colombier 	Channel	*c;	/* chan(Rune)[20] */
12*8ccd4a63SDavid du Colombier 
13*8ccd4a63SDavid du Colombier 	char		*file;
14*8ccd4a63SDavid du Colombier 	int		consfd;		/* to cons file */
15*8ccd4a63SDavid du Colombier 	int		ctlfd;		/* to ctl file */
16*8ccd4a63SDavid du Colombier 	int		pid;		/* of slave proc */
17*8ccd4a63SDavid du Colombier };
18*8ccd4a63SDavid du Colombier 
19*8ccd4a63SDavid du Colombier 
20*8ccd4a63SDavid du Colombier extern	Keyboardctl*	initkeyboard(char*);
21*8ccd4a63SDavid du Colombier extern	int			ctlkeyboard(Keyboardctl*, char*);
22*8ccd4a63SDavid du Colombier extern	void			closekeyboard(Keyboardctl*);
23*8ccd4a63SDavid du Colombier 
24*8ccd4a63SDavid du Colombier enum {
25*8ccd4a63SDavid du Colombier     KF= 0xF000, /* Rune: beginning of private Unicode space */
26*8ccd4a63SDavid du Colombier     Spec=   0xF800,
27*8ccd4a63SDavid du Colombier     /* KF|1, KF|2, ..., KF|0xC is F1, F2, ..., F12 */
28*8ccd4a63SDavid du Colombier     Khome=  KF|0x0D,
29*8ccd4a63SDavid du Colombier     Kup=    KF|0x0E,
30*8ccd4a63SDavid du Colombier     Kpgup=  KF|0x0F,
31*8ccd4a63SDavid du Colombier     Kprint= KF|0x10,
32*8ccd4a63SDavid du Colombier     Kleft=  KF|0x11,
33*8ccd4a63SDavid du Colombier     Kright= KF|0x12,
34*8ccd4a63SDavid du Colombier     Kdown=  Spec|0x00,
35*8ccd4a63SDavid du Colombier     Kview=  Spec|0x00,
36*8ccd4a63SDavid du Colombier     Kpgdown=    KF|0x13,
37*8ccd4a63SDavid du Colombier     Kins=   KF|0x14,
38*8ccd4a63SDavid du Colombier     Kend=   KF|0x18,
39*8ccd4a63SDavid du Colombier 
40*8ccd4a63SDavid du Colombier     Kalt=       KF|0x15,
41*8ccd4a63SDavid du Colombier     Kshift= KF|0x16,
42*8ccd4a63SDavid du Colombier     Kctl=       KF|0x17,
43*8ccd4a63SDavid du Colombier };
44*8ccd4a63SDavid du Colombier 
45