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