1 /* pro_lk201.h: lk201 keycodes and other definitions
2 
3    Copyright (c) 1997-2003, Tarik Isani (xhomer@isani.org)
4 
5    This file is part of Xhomer.
6 
7    Xhomer is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License version 2
9    as published by the Free Software Foundation.
10 
11    Xhomer is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with Xhomer; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 */
20 
21 
22 #define PRO_LK201_HOLD		86
23 #define PRO_LK201_PRINT		87
24 #define PRO_LK201_SETUP		89
25 #define PRO_LK201_FFOUR		90 /*XXX correct? */
26 #define PRO_LK201_BREAK		88
27 #define PRO_LK201_INT		100
28 #define PRO_LK201_RESUME	101
29 #define PRO_LK201_CANCEL	102
30 #define PRO_LK201_MAIN		103
31 #define PRO_LK201_EXIT		104
32 #define PRO_LK201_ESC		113
33 #define PRO_LK201_BS		114
34 #define PRO_LK201_LF		115
35 #define PRO_LK201_ADDOP		116
36 #define PRO_LK201_HELP		124
37 #define PRO_LK201_DO		125
38 #define PRO_LK201_F17		128
39 #define PRO_LK201_F18		129
40 #define PRO_LK201_F19		130
41 #define PRO_LK201_F20		131
42 
43 #define PRO_LK201_PF1		161
44 #define PRO_LK201_PF2		162
45 #define PRO_LK201_PF3		163
46 #define PRO_LK201_PF4		164
47 
48 #define PRO_LK201_A		194
49 #define PRO_LK201_B		217
50 #define PRO_LK201_C		206
51 #define PRO_LK201_D		205
52 #define PRO_LK201_E		204
53 #define PRO_LK201_F		210
54 #define PRO_LK201_G		216
55 #define PRO_LK201_H		221
56 #define PRO_LK201_I		230
57 #define PRO_LK201_J		226
58 #define PRO_LK201_K		231
59 #define PRO_LK201_L		236
60 #define PRO_LK201_M		227
61 #define PRO_LK201_N		222
62 #define PRO_LK201_O		235
63 #define PRO_LK201_P		240
64 #define PRO_LK201_Q		193
65 #define PRO_LK201_R		209
66 #define PRO_LK201_S		199
67 #define PRO_LK201_T		215
68 #define PRO_LK201_U		225
69 #define PRO_LK201_V		211
70 #define PRO_LK201_W		198
71 #define PRO_LK201_X		200
72 #define PRO_LK201_Y		220
73 #define PRO_LK201_Z		195
74 
75 #define PRO_LK201_0		239
76 #define PRO_LK201_1		192
77 #define PRO_LK201_2		197
78 #define PRO_LK201_3		203
79 #define PRO_LK201_4		208
80 #define PRO_LK201_5		214
81 #define PRO_LK201_6		219
82 #define PRO_LK201_7		224
83 #define PRO_LK201_8		229
84 #define PRO_LK201_9		234
85 
86 #define PRO_LK201_LT		201
87 #define PRO_LK201_MINUS		249
88 #define PRO_LK201_EQUAL		245
89 #define PRO_LK201_LEFTB		250
90 #define PRO_LK201_RIGHTB	246
91 
92 #define PRO_LK201_SEMI		242
93 #define PRO_LK201_QUOTE		251
94 #define PRO_LK201_BACKSL	247
95 #define PRO_LK201_COMMA		232
96 #define PRO_LK201_PERIOD	237
97 #define PRO_LK201_SLASH		243
98 #define PRO_LK201_TICK		191
99 
100 #define PRO_LK201_SPACE		212
101 
102 #define PRO_LK201_DEL		188
103 #define PRO_LK201_RETURN	189
104 #define PRO_LK201_TAB		190
105 
106 #define PRO_LK201_UP		170
107 #define PRO_LK201_DOWN		169
108 #define PRO_LK201_LEFT		167
109 #define PRO_LK201_RIGHT		168
110 
111 #define PRO_LK201_FIND		138
112 #define PRO_LK201_INSERT	139
113 #define PRO_LK201_REMOVE	140
114 #define PRO_LK201_SELECT	141
115 #define PRO_LK201_PREV		142
116 #define PRO_LK201_NEXT		143
117 
118 #define PRO_LK201_LOCK		176
119 #define PRO_LK201_SHIFT		174
120 #define PRO_LK201_CTRL		175
121 #define PRO_LK201_COMPOSE	177
122 
123 #define PRO_LK201_ALLUPS	179
124 #define PRO_LK201_LCK_ACK	183
125 
126 #define PRO_LK201_REPEAT	180
127 
128 /* Commands */
129 
130 #define PRO_LK201_UNLCK		139	/* resume keyboard transmission */
131 #define PRO_LK201_LCK		137	/* inhibit keyboard transmission */
132 #define PRO_LK201_BELL_D	161	/* disable bell */
133 #define PRO_LK201_BELL_E	35	/* enable bell */
134 #define PRO_LK201_BELL		167	/* sound bell */
135 #define PRO_LK201_ID		171	/* request keyboard ID */
136 #define PRO_LK201_PWRUP		253	/* jump to power up */
137 #define PRO_LK201_TEST		203	/* jump to test mode */
138 #define PRO_LK201_DEF		211	/* reinstate defaults */
139 #define PRO_LK201_AUTO_D	225	/* disable auto-repeat */
140 #define PRO_LK201_AUTO_E	227	/* enable auto-repeat */
141 #define PRO_LK201_CLICK_D	153	/* disable keyclick */
142 #define PRO_LK201_CLICK_E	27	/* enable keyclick */
143 #define PRO_LK201_DECTOUCH	254	/* XXX undocumented DECtouch query command */
144 #define PRO_LK201_NOCMD		-1	/* no command */
145 
146 /* DECtouch response codes */
147 
148 #define PRO_LK201_DT		0x3c	/* DECtouch present, no keyboard */
149 #define PRO_LK201_DTKB		0x3d	/* DECtouch and keyboard present */
150 #define PRO_LK201_KB		0xb6	/* keyboard present, no DECtouch */
151 
152 /* IDs */
153 
154 #define PRO_LK201_IDF		1	/* firmware ID */
155 #define PRO_LK201_IDH		0	/* hardware ID */
156 #define PRO_LK201_NOERR		0	/* no error */
157 
158 /* Misc */
159 
160 #define PRO_LK201_PARAMS	0x80	/* parameter following flag */
161 #define PRO_LK201_VOL		0x07	/* volume parameter */
162