-
Notifications
You must be signed in to change notification settings - Fork 72
/
keycode.h
167 lines (143 loc) · 4.71 KB
/
keycode.h
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
/*
* OpenBangla Keyboard
* Copyright (C) 2015 Muhammad Mominul Huque <mominul2082@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef IM_KEYCODE_H
#define IM_KEYCODE_H
/* Cross-platform Keycodes for OpenBangla Keyboard
* IM sends Keycodes according to this file.
* When IM gets Keycode or Key event, IM converts them to these Keycodes */
/* From libUIOHook */
// Begin Alphanumeric Zone
// BACKQUTE
#define VC_GRAVE 0x0029 // '`'
//ESC
#define VC_TILDE 0x0001 // '~'
#define VC_1 0x0002
#define VC_2 0x0003
#define VC_3 0x0004
#define VC_4 0x0005
#define VC_5 0x0006
#define VC_6 0x0007
#define VC_7 0x0008
#define VC_8 0x0009
#define VC_9 0x000A
#define VC_0 0x000B
// F1-F12
#define VC_EXCLAIM 0x003B
#define VC_AT 0x003C
#define VC_HASH 0x003D
#define VC_DOLLAR 0x003E
#define VC_PERCENT 0x003F
#define VC_CIRCUM 0x0040
#define VC_AMPERSAND 0x0041
#define VC_ASTERISK 0x0042
#define VC_PAREN_LEFT 0x0043
#define VC_PAREN_RIGHT 0x0044
#define VC_UNDERSCORE 0x0057
#define VC_PLUS 0x0058
#define VC_MINUS 0x000C // '-'
#define VC_EQUALS 0x000D // '='
#define VC_BACKSPACE 0x000E
#define VC_TAB 0x000F
#define VC_A 41140
#define VC_B 41141
#define VC_C 41142
#define VC_D 41143
#define VC_E 41144
#define VC_F 41145
#define VC_G 41146
#define VC_H 41147
#define VC_I 41148
#define VC_J 41149
#define VC_K 41150
#define VC_L 41151
#define VC_M 41152
#define VC_N 41153
#define VC_O 41154
#define VC_P 41155
#define VC_Q 41156
#define VC_R 41157
#define VC_S 41158
#define VC_T 41159
#define VC_U 41160
#define VC_V 41161
#define VC_W 41162
#define VC_X 41163
#define VC_Y 41164
#define VC_Z 41165
#define VC_BRACKET_LEFT 0x001A // '['
#define VC_BRACKET_RIGHT 0x001B // ']'
#define VC_BACK_SLASH 0x002B // '\'
//F13-F15
#define VC_BRACE_LEFT 0x005B // '{'
#define VC_BRACE_RIGHT 0x005C // '}'
#define VC_BAR 0x005D // '|'
#define VC_SEMICOLON 0x0027 // ';'
#define VC_APOSTROPHE 0x0028 // '''
#define VC_ENTER 0x001C
#define VC_COMMA 0x0033 // ','
#define VC_PERIOD 0x0034 // '.'
#define VC_SLASH 0x0035 // '/'
// F16-F20
#define VC_COLON 0x0063 // ':'
#define VC_QUOTE 0x0064 // '"'
#define VC_LESS 0x0065 // '<'
#define VC_GREATER 0x0066 // '>'
#define VC_QUESTION 0x0067 // '?'
#define VC_SPACE 0x0039
// End Alphanumeric Zone
#define VC_UNKNOWN 0x0046
// Begin Edit Key Zone
#define VC_INSERT 0x0E52
#define VC_DELETE 0x0E53
#define VC_HOME 0x0E47
#define VC_END 0x0E4F
#define VC_PAGE_UP 0x0E49
#define VC_PAGE_DOWN 0x0E51
// End Edit Key Zone
// Begin Cursor Key Zone
#define VC_UP 0xE048
#define VC_LEFT 0xE04B
#define VC_RIGHT 0xE04D
#define VC_DOWN 0xE050
// End Cursor Key Zone
// Begin Numeric Zone
#define VC_KP_DIVIDE 0x0E35
#define VC_KP_MULTIPLY 0x0037
#define VC_KP_SUBTRACT 0x004A
#define VC_KP_EQUALS 0x0E0D
#define VC_KP_ADD 0x004E
#define VC_KP_ENTER 0x0E1C
#define VC_KP_DECIMAL 0x0053
#define VC_KP_1 0x004F
#define VC_KP_2 0x0050
#define VC_KP_3 0x0051
#define VC_KP_4 0x004B
#define VC_KP_5 0x004C
#define VC_KP_6 0x004D
#define VC_KP_7 0x0047
#define VC_KP_8 0x0048
#define VC_KP_9 0x0049
#define VC_KP_0 0x0052
// End Numeric Zone
#define VC_SHIFT 0x002A
//#define VC_SHIFT_R 0x0036
#define VC_CONTROL 0x001D
//#define VC_CONTROL_R 0x0E1D
#define VC_ALT 0x0038
//#define VC_ALT_R 0x0E38
#endif /* end of include guard: IM_KEYCODE_H */