xref: /inferno-os/include/keyboard.h (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth /************** Inferno Generic Scan Conversions ************/
2*37da2899SCharles.Forsyth 
3*37da2899SCharles.Forsyth /* this file needs to be kept in sync with module/keyboard.m */
4*37da2899SCharles.Forsyth 
5*37da2899SCharles.Forsyth enum {
6*37da2899SCharles.Forsyth 	Esc=		0x1b,
7*37da2899SCharles.Forsyth 
8*37da2899SCharles.Forsyth 	Spec=		0xe000,		/* Special Function Keys, mapped to Unicode reserved range (E000-F8FF) */
9*37da2899SCharles.Forsyth 
10*37da2899SCharles.Forsyth 	Shift=		Spec|0x0,	/* Shifter (Held and Toggle) Keys  */
11*37da2899SCharles.Forsyth 	View=		Spec|0x10,	/* View Keys 		*/
12*37da2899SCharles.Forsyth 	PF=		Spec|0x20,	/* num pad		*/
13*37da2899SCharles.Forsyth 	KF=		Spec|0x40,	/* function keys        */
14*37da2899SCharles.Forsyth 
15*37da2899SCharles.Forsyth 	LShift=		Shift|0,
16*37da2899SCharles.Forsyth 	RShift=		Shift|1,
17*37da2899SCharles.Forsyth 	LCtrl=		Shift|2,
18*37da2899SCharles.Forsyth 	RCtrl=		Shift|3,
19*37da2899SCharles.Forsyth 	Caps=		Shift|4,
20*37da2899SCharles.Forsyth 	Num=		Shift|5,
21*37da2899SCharles.Forsyth 	Meta=		Shift|6,
22*37da2899SCharles.Forsyth 	LAlt=		Shift|7,
23*37da2899SCharles.Forsyth 	RAlt=		Shift|8,
24*37da2899SCharles.Forsyth 	NShifts=	9,
25*37da2899SCharles.Forsyth 
26*37da2899SCharles.Forsyth 	Home=	   	View|0,
27*37da2899SCharles.Forsyth 	End=		View|1,
28*37da2899SCharles.Forsyth 	Up=		View|2,
29*37da2899SCharles.Forsyth 	Down=		View|3,
30*37da2899SCharles.Forsyth 	Left=		View|4,
31*37da2899SCharles.Forsyth 	Right=		View|5,
32*37da2899SCharles.Forsyth 	Pgup=		View|6,
33*37da2899SCharles.Forsyth 	Pgdown=		View|7,
34*37da2899SCharles.Forsyth 	BackTab=	View|8,
35*37da2899SCharles.Forsyth 
36*37da2899SCharles.Forsyth 	Scroll=		Spec|0x62,
37*37da2899SCharles.Forsyth 	Ins=		Spec|0x63,
38*37da2899SCharles.Forsyth 	Del=		Spec|0x64,
39*37da2899SCharles.Forsyth 	Print=		Spec|0x65,
40*37da2899SCharles.Forsyth 	Pause=		Spec|0x66,
41*37da2899SCharles.Forsyth 	Middle=		Spec|0x67,
42*37da2899SCharles.Forsyth 	Break=		Spec|0x66,
43*37da2899SCharles.Forsyth 	SysRq=		Spec|0x69,
44*37da2899SCharles.Forsyth 	PwrOn=		Spec|0x6c,
45*37da2899SCharles.Forsyth 	PwrOff=		Spec|0x6d,
46*37da2899SCharles.Forsyth 	PwrLow=		Spec|0x6e,
47*37da2899SCharles.Forsyth 	Latin=		Spec|0x6f,
48*37da2899SCharles.Forsyth 
49*37da2899SCharles.Forsyth 	/* for German keyboard */
50*37da2899SCharles.Forsyth 	German=		Spec|0xf00,
51*37da2899SCharles.Forsyth 
52*37da2899SCharles.Forsyth 	Grave=		German|0x1,
53*37da2899SCharles.Forsyth 	Acute=		German|0x2,
54*37da2899SCharles.Forsyth 	Circumflex=	German|0x3,
55*37da2899SCharles.Forsyth 
56*37da2899SCharles.Forsyth 	APP=		Spec|0x200,		/* for ALT application keys */
57*37da2899SCharles.Forsyth 
58*37da2899SCharles.Forsyth 	No=			-1,			/* peter */
59*37da2899SCharles.Forsyth };
60*37da2899SCharles.Forsyth 
61