File: os2keys.h

package info (click to toggle)
vile 9.8za-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,644 kB
  • sloc: ansic: 120,894; lex: 14,981; sh: 4,478; perl: 3,511; cpp: 3,180; makefile: 1,425; awk: 271
file content (92 lines) | stat: -rw-r--r-- 2,260 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*
 * $Id: os2keys.h,v 1.3 2005/10/02 21:56:00 tom Exp $
 *
 * Function-key definitions used for OS/2 VIO driver, as well as OS/2 EMX
 * driver.
 */

/* Extended key prefix macros. */
#define	KE0(code)		{ 0xe0, code }
#define	K00(code)		{ 0x00, code }

static struct
{
	char seq[2];
	int code;
}
VIO_KeyMap[] =
{
	{ KE0('H'), KEY_Up },
	{ KE0('P'), KEY_Down },
	{ KE0('K'), KEY_Left },
	{ KE0('M'), KEY_Right },
	{ KE0('R'), KEY_Insert },
	{ KE0('S'), KEY_Delete },
	{ KE0('G'), KEY_Home },
	{ KE0('O'), KEY_End },
	{ KE0('I'), KEY_Prior },
	{ KE0('Q'), KEY_Next },

	/*
	 * Unshifted function keys.  The VIO console driver generates
	 * different scan codes when these keys are pressed with Shift,
	 * Ctrl, and Alt; those codes are presently unsupported.
	 */
	{ K00(';'), KEY_F1 },
	{ K00('<'), KEY_F2 },
	{ K00('='), KEY_F3 },
	{ K00('>'), KEY_F4 },
	{ K00('?'), KEY_F5 },
	{ K00('@'), KEY_F6 },
	{ K00('A'), KEY_F7 },
	{ K00('B'), KEY_F8 },
	{ K00('C'), KEY_F9 },
	{ K00('D'), KEY_F10 },
	{ K00(133), KEY_F11 },
	{ K00(134), KEY_F12 },

	/* Additional function keys on a normal keyboard are obtained by
	 * shift and control modifiers.  These are as documented in ncurses'
	 * emx.src, and stop with KEY_F35, since that corresponds to the
	 * limit for X11.
	 */
	{ K00('T'), KEY_F13 },	/* shifted F1 */
	{ K00('U'), KEY_F14 },
	{ K00('V'), KEY_F15 },
	{ K00('W'), KEY_F16 },
	{ K00('X'), KEY_F17 },
	{ K00('Y'), KEY_F18 },
	{ K00('Z'), KEY_F19 },
	{ K00('['), KEY_F20 },
	{ K00('\\'), KEY_F21 },
	{ K00(']'), KEY_F22 },
	{ K00(135), KEY_F23 },
	{ K00(136), KEY_F24 },	/* shifted F12 */
	{ K00('^'), KEY_F25 },	/* control F1 */
	{ K00('_'), KEY_F26 },
	{ K00('`'), KEY_F27 },
	{ K00('a'), KEY_F28 },
	{ K00('b'), KEY_F29 },
	{ K00('c'), KEY_F30 },
	{ K00('d'), KEY_F31 },
	{ K00('e'), KEY_F32 },
	{ K00('f'), KEY_F33 },
	{ K00('g'), KEY_F34 },
	{ K00(137), KEY_F35 },	/* control F11 */

	/* shift-tab */
	{ K00(15), KEY_BackTab },

	/* Keypad codes (with Num Lock off): */
	{ K00('G'), KEY_Home },
	{ K00('H'), KEY_Up },
	{ K00('I'), KEY_Prior },
	{ K00('K'), KEY_Left },
	{ K00('L'), KEY_Select },
	{ K00('M'), KEY_Right },
	{ K00('O'), KEY_End },
	{ K00('P'), KEY_Down },
	{ K00('Q'), KEY_Next },
	{ K00('R'), KEY_Insert },
	{ K00('S'), KEY_Delete }
};