XenevaOS
Loading...
Searching...
No Matches
keycode.h
Go to the documentation of this file.
1
30#ifndef __KEYCODE_H__
31#define __KEYCODE_H__
32
33#include <_xeneva.h>
34
35#ifdef __cplusplus
37#endif
38
39
40 enum KEYCODE {
41
42 KEY_SPACE = ' ',
43 KEY_0 = '0',
44 KEY_1 = '1',
45 KEY_2 = '2',
46 KEY_3 = '3',
47 KEY_4 = '4',
48 KEY_5 = '5',
49 KEY_6 = '6',
50 KEY_7 = '7',
51 KEY_8 = '8',
52 KEY_9 = '9',
53
54 KEY_A = 'a',
55 KEY_B = 'b',
56 KEY_C = 'c',
57 KEY_D = 'd',
58 KEY_E = 'e',
59 KEY_F = 'f',
60 KEY_G = 'g',
61 KEY_H = 'h',
62 KEY_I = 'i',
63 KEY_J = 'j',
64 KEY_K = 'k',
65 KEY_L = 'l',
66 KEY_M = 'm',
67 KEY_N = 'n',
68 KEY_O = 'o',
69 KEY_P = 'p',
70 KEY_Q = 'q',
71 KEY_R = 'r',
72 KEY_S = 's',
73 KEY_T = 't',
74 KEY_U = 'u',
75 KEY_V = 'v',
76 KEY_W = 'w',
77 KEY_X = 'x',
78 KEY_Y = 'y',
79 KEY_Z = 'z',
80
81 KEY_RETURN = '\n', //Enter key in general term
82 KEY_ESCAPE = 0x1001,
84
85 // Arrow keys ////////////////////////
86
87 KEY_UP = 0x1100,
88 KEY_DOWN = 0x1101,
89 KEY_LEFT = 0x1102,
90 KEY_RIGHT = 0x1103,
91
92 // Function keys /////////////////////
93
94 KEY_F1 = 0x1201,
95 KEY_F2 = 0x1202,
96 KEY_F3 = 0x1203,
97 KEY_F4 = 0x1204,
98 KEY_F5 = 0x1205,
99 KEY_F6 = 0x1206,
100 KEY_F7 = 0x1207,
101 KEY_F8 = 0x1208,
102 KEY_F9 = 0x1209,
103 KEY_F10 = 0x120a,
104 KEY_F11 = 0x120b,
105 KEY_F12 = 0x120b,
106 KEY_F13 = 0x120c,
107 KEY_F14 = 0x120d,
108 KEY_F15 = 0x120e,
109
110 KEY_DOT = '.',
116 KEY_PLUS = '+',
122 KEY_QUOTE = '\'',
124 KEY_HASH = '#',
135 KEY_POUND = '£',
136 KEY_EURO = '$',
137 KEY_LESS = '<',
139 KEY_BAR = '|',
142 KEY_AT = '@',
144
145 // Numeric keypad //////////////////////
146
147 KEY_KP_0 = '0',
148 KEY_KP_1 = '1',
149 KEY_KP_2 = '2',
150 KEY_KP_3 = '3',
151 KEY_KP_4 = '4',
152 KEY_KP_5 = '5',
153 KEY_KP_6 = '6',
154 KEY_KP_7 = '7',
155 KEY_KP_8 = '8',
156 KEY_KP_9 = '9',
163 KEY_KP_ENTER = 0x3010,
164
165 KEY_TAB = 0x4000,
166 KEY_CAPSLOCK = 0x4001,
167
168 // Modify keys ////////////////////////////
169
170 KEY_LSHIFT = 0x4002,
171 KEY_LCTRL = 0x4003,
172 KEY_LALT = 0x4004,
173 KEY_LWIN = 0x4005,
174 KEY_RSHIFT = 0x4006,
175 KEY_RCTRL = 0x4007,
176 KEY_RALT = 0x4008,
177 KEY_RWIN = 0x4009,
178
179 KEY_INSERT = 0x400a,
180 KEY_DELETE = 0x400b,
181 KEY_HOME = 0x400c,
182 KEY_END = 0x400d,
183 KEY_PAGEUP = 0x400e,
184 KEY_PAGEDOWN = 0x400f,
186 KEY_PAUSE = 0x4011,
187
190 };
191
192
201
202
203 /* ChitralekhaKeyInitialise -- initialise keycode
204 * library
205 */
206 extern void ChitralekhaKeyInitialise();
207 /*
208 * ChitralekhaProcessKey -- looks for special keys to process
209 * @param code -- scancode
210 */
211 XE_LIB void ChitralekhaProcessKey(int code);
212 /*
213 * ChitralekhaKeyToASCII -- converts a keycode to
214 * ascii value
215 * @param code -- code to convert
216 */
217 XE_LIB char ChitralekhaKeyToASCII(int code);
218
219 /* ChitralekhaGetKeyPress -- Get pressed key information
220 * @param code -- code to convert
221 */
222 XE_LIB char ChitralekhaGetKeyPress(int code);
223
224 /*
225 *ChitralekhaKeyGetCTRL -- return ctrl bit
226 */
228
229 /*
230 * ChitralekhaKeyGetAlt -- return alt bit
231 */
233
234 /*
235 * ChitralekhaKeyGetShift -- returns shift
236 * bit
237 */
239
240 /*
241 * ChitralekhaKeySetCtrl -- forcefully modify the ctrl bit
242 * @param bit -- bit to set 0,1
243 */
244 XE_LIB void ChitralekhaKeySetCtrl(bool bit);
245
246 /*
247 * ChitralekhaKeySetAlt - forcefully modify the alt bit
248 * @param bit -- bit to set 0,1
249 */
250 XE_LIB void ChitralekhaKeySetAlt(bool bit);
251
252 /*
253 * ChitralekhaKeySetShift -- forcefully modify the shift
254 * bit
255 * @param bit -- bit to set 0,1
256 */
257 XE_LIB void ChitralekhaKeySetShift(bool bit);
258
259#ifdef __cplusplus
260}
261#endif
262
263#endif
#define XE_LIB
Definition _xeneva.h:55
#define XE_EXTERN
Definition _xeneva.h:50
void ChitralekhaKeyInitialise()
Definition keycode.cpp:130
XE_LIB void ChitralekhaProcessKey(int code)
Definition keycode.cpp:139
XE_LIB void ChitralekhaKeySetAlt(bool bit)
Definition keycode.cpp:349
@ KEY_KP_0
Definition keycode.h:147
@ KEY_EURO
Definition keycode.h:136
@ KEY_F4
Definition keycode.h:97
@ KEY_SPACE
Definition keycode.h:42
@ KEY_EXCLAMATION
Definition keycode.h:119
@ KEY_UP
Definition keycode.h:87
@ KEY_P
Definition keycode.h:69
@ KEY_M
Definition keycode.h:66
@ KEY_B
Definition keycode.h:55
@ KEY_CARRET
Definition keycode.h:143
@ KEY_F9
Definition keycode.h:102
@ KEY_LEFTPARENTHESIS
Definition keycode.h:128
@ KEY_PLUS
Definition keycode.h:116
@ KEY_SCROLLLOCK
Definition keycode.h:185
@ KEY_2
Definition keycode.h:45
@ KEY_F6
Definition keycode.h:99
@ KEY_INSERT
Definition keycode.h:179
@ KEY_KP_5
Definition keycode.h:152
@ KEY_GREATER
Definition keycode.h:138
@ KEY_KP_DIVIDE
Definition keycode.h:160
@ KEY_F13
Definition keycode.h:106
@ KEY_SEMICOLON
Definition keycode.h:113
@ KEY_E
Definition keycode.h:58
@ KEY_KP_7
Definition keycode.h:154
@ KEY_I
Definition keycode.h:62
@ KEY_W
Definition keycode.h:76
@ KEY_D
Definition keycode.h:57
@ KEY_6
Definition keycode.h:49
@ KEY_AMPERSAND
Definition keycode.h:126
@ KEY_F7
Definition keycode.h:100
@ KEY_LALT
Definition keycode.h:172
@ KEY_1
Definition keycode.h:44
@ KEY_GRAVE
Definition keycode.h:140
@ KEY_ESCAPE
Definition keycode.h:82
@ KEY_F10
Definition keycode.h:103
@ KEY_F
Definition keycode.h:59
@ KEY_HASH
Definition keycode.h:124
@ KEY_H
Definition keycode.h:61
@ KEY_RIGHTCURL
Definition keycode.h:133
@ KEY_X
Definition keycode.h:77
@ KEY_KP_4
Definition keycode.h:151
@ KEY_KP_NUMLOCK
Definition keycode.h:162
@ KEY_G
Definition keycode.h:60
@ KEY_TILDE
Definition keycode.h:141
@ KEY_SLASH
Definition keycode.h:114
@ KEY_F15
Definition keycode.h:108
@ KEY_PAGEDOWN
Definition keycode.h:184
@ KEY_PERCENT
Definition keycode.h:125
@ KEY_KP_1
Definition keycode.h:148
@ KEY_Y
Definition keycode.h:78
@ KEY_PAGEUP
Definition keycode.h:183
@ KEY_MINUS
Definition keycode.h:117
@ KEY_9
Definition keycode.h:52
@ KEY_TAB
Definition keycode.h:165
@ KEY_LEFT
Definition keycode.h:89
@ KEY_T
Definition keycode.h:73
@ KEY_RIGHT
Definition keycode.h:90
@ KEY_LEFTBRACKET
Definition keycode.h:130
@ KEY_F5
Definition keycode.h:98
@ KEY_LCTRL
Definition keycode.h:171
@ KEY_K
Definition keycode.h:64
@ KEY_0
Definition keycode.h:43
@ KEY_BAR
Definition keycode.h:139
@ KEY_AT
Definition keycode.h:142
@ KEY_RIGHTPARENTHESIS
Definition keycode.h:129
@ KEY_KP_DECIMAL
Definition keycode.h:159
@ KEY_F14
Definition keycode.h:107
@ KEY_KP_ENTER
Definition keycode.h:163
@ KEY_DOLLAR
Definition keycode.h:134
@ KEY_F12
Definition keycode.h:105
@ KEY_KP_9
Definition keycode.h:156
@ KEY_F2
Definition keycode.h:95
@ KEY_KP_3
Definition keycode.h:150
@ KEY_RALT
Definition keycode.h:176
@ KEY_RWIN
Definition keycode.h:177
@ KEY_F3
Definition keycode.h:96
@ KEY_KP_PLUS
Definition keycode.h:157
@ KEY_KP_MINUS
Definition keycode.h:158
@ KEY_C
Definition keycode.h:56
@ KEY_KP_ASTERISK
Definition keycode.h:161
@ KEY_F8
Definition keycode.h:101
@ KEY_BACKSPACE
Definition keycode.h:83
@ KEY_R
Definition keycode.h:71
@ KEY_N
Definition keycode.h:67
@ KEY_A
Definition keycode.h:54
@ KEY_END
Definition keycode.h:182
@ KEY_DOWN
Definition keycode.h:88
@ KEY_8
Definition keycode.h:51
@ KEY_Z
Definition keycode.h:79
@ KEY_RETURN
Definition keycode.h:81
@ KEY_DOT
Definition keycode.h:110
@ KEY_S
Definition keycode.h:72
@ KEY_J
Definition keycode.h:63
@ KEY_LSHIFT
Definition keycode.h:170
@ KEY_QUESTION
Definition keycode.h:120
@ KEY_UNDERSCORE
Definition keycode.h:127
@ KEY_LESS
Definition keycode.h:137
@ KEY_Q
Definition keycode.h:70
@ KEY_QUOTEDOUBLE
Definition keycode.h:121
@ KEY_RCTRL
Definition keycode.h:175
@ KEY_EQUAL
Definition keycode.h:123
@ KEY_QUOTE
Definition keycode.h:122
@ KEY_ASTERISK
Definition keycode.h:118
@ KEY_PAUSE
Definition keycode.h:186
@ KEY_LWIN
Definition keycode.h:173
@ KEY_U
Definition keycode.h:74
@ KEY_F11
Definition keycode.h:104
@ KEY_HOME
Definition keycode.h:181
@ KEY_KP_6
Definition keycode.h:153
@ KEY_NUMKEYCODES
Definition keycode.h:189
@ KEY_RSHIFT
Definition keycode.h:174
@ KEY_KP_8
Definition keycode.h:155
@ KEY_RIGHTBRACKET
Definition keycode.h:131
@ KEY_COLON
Definition keycode.h:112
@ KEY_7
Definition keycode.h:50
@ KEY_DELETE
Definition keycode.h:180
@ KEY_O
Definition keycode.h:68
@ KEY_4
Definition keycode.h:47
@ KEY_CAPSLOCK
Definition keycode.h:166
@ KEY_L
Definition keycode.h:65
@ KEY_5
Definition keycode.h:48
@ KEY_3
Definition keycode.h:46
@ KEY_POUND
Definition keycode.h:135
@ KEY_LEFTCURL
Definition keycode.h:132
@ KEY_UNKNOWN
Definition keycode.h:188
@ KEY_BACKSLASH
Definition keycode.h:115
@ KEY_COMMA
Definition keycode.h:111
@ KEY_V
Definition keycode.h:75
@ KEY_KP_2
Definition keycode.h:149
@ KEY_F1
Definition keycode.h:94
XE_LIB bool ChitralekhaKeyGetAlt()
Definition keycode.cpp:325
XE_LIB bool ChitralekhaKeyGetShift()
Definition keycode.cpp:333
XE_LIB char ChitralekhaKeyToASCII(int code)
Definition keycode.cpp:204
XE_LIB void ChitralekhaKeySetCtrl(bool bit)
Definition keycode.cpp:341
XE_LIB void ChitralekhaKeySetShift(bool bit)
Definition keycode.cpp:358
XE_LIB bool ChitralekhaKeyGetCTRL()
Definition keycode.cpp:318
struct _chitralekha_key_ ChitralekhaKey
XE_LIB char ChitralekhaGetKeyPress(int code)
Definition keycode.cpp:192
KEYCODE
Definition ps2kybrd.h:35
Definition keycode.h:193
bool _scrolllock
Definition keycode.h:195
bool _alt
Definition keycode.h:198
bool _ctrl
Definition keycode.h:199
bool _shift
Definition keycode.h:197
bool _capslock
Definition keycode.h:196
bool _numlock
Definition keycode.h:194