1 /*
2  * Copyright (c) 2014 Jared Gonzalez
3  *
4  * Permission is hereby granted, free of charge, to any
5  * person obtaining a copy of this software and associated
6  * documentation files (the "Software"), to deal in the
7  * Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the
10  * Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice
14  * shall be included in all copies or substantial portions of
15  * the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
18  * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
19  * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
20  * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
21  * OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
22  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
23  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25  *
26  * File:   com_jarego_jayatana_jkey2xkey.h
27  * Author: Jared Gonzalez
28  */
29 
30 #ifndef COM_JAREGO_JAYATANA_JKEY2XKEY_H_
31 #define COM_JAREGO_JAYATANA_JKEY2XKEY_H_
32 
33 /**
34  * Tabla de valores de modificadores
35  */
36 #define JK_SHIFT (1 << 0)
37 #define JK_CTRL (1 << 1)
38 #define JK_ALT (1 << 3)
39 
40 /**
41  * Tabla de valores de aceleradores
42  */
43 #define JK_ENTER '\n'
44 #define JK_BACK_SPACE '\b'
45 #define JK_TAB '\t'
46 #define JK_CANCEL 0x03
47 #define JK_CLEAR 0x0C
48 #define JK_CONTROL 0x11
49 #define JK_PAUSE 0x13
50 #define JK_CAPS_LOCK 0x14
51 #define JK_ESCAPE 0x1B
52 #define JK_SPACE 0x20
53 #define JK_PAGE_UP 0x21
54 #define JK_PAGE_DOWN 0x22
55 #define JK_END 0x23
56 #define JK_HOME 0x24
57 #define JK_LEFT 0x25
58 #define JK_UP 0x26
59 #define JK_RIGHT 0x27
60 #define JK_DOWN 0x28
61 #define JK_COMMA 0x2C
62 #define JK_MINUS 0x2D
63 #define JK_PERIOD 0x2E
64 #define JK_SLASH 0x2F
65 #define JK_0 0x30
66 #define JK_1 0x31
67 #define JK_2 0x32
68 #define JK_3 0x33
69 #define JK_4 0x34
70 #define JK_5 0x35
71 #define JK_6 0x36
72 #define JK_7 0x37
73 #define JK_8 0x38
74 #define JK_9 0x39
75 #define JK_SEMICOLON 0x3B
76 #define JK_EQUALS 0x3D
77 #define JK_A 0x41
78 #define JK_B 0x42
79 #define JK_C 0x43
80 #define JK_D 0x44
81 #define JK_E 0x45
82 #define JK_F 0x46
83 #define JK_G 0x47
84 #define JK_H 0x48
85 #define JK_I 0x49
86 #define JK_J 0x4A
87 #define JK_K 0x4B
88 #define JK_L 0x4C
89 #define JK_M 0x4D
90 #define JK_N 0x4E
91 #define JK_O 0x4F
92 #define JK_P 0x50
93 #define JK_Q 0x51
94 #define JK_R 0x52
95 #define JK_S 0x53
96 #define JK_T 0x54
97 #define JK_U 0x55
98 #define JK_V 0x56
99 #define JK_W 0x57
100 #define JK_X 0x58
101 #define JK_Y 0x59
102 #define JK_Z 0x5A
103 #define JK_OPEN_BRACKET 0x5B
104 #define JK_BACK_SLASH 0x5C
105 #define JK_CLOSE_BRACKET 0x5D
106 #define JK_NUMPAD0 0x60
107 #define JK_NUMPAD1 0x61
108 #define JK_NUMPAD2 0x62
109 #define JK_NUMPAD3 0x63
110 #define JK_NUMPAD4 0x64
111 #define JK_NUMPAD5 0x65
112 #define JK_NUMPAD6 0x66
113 #define JK_NUMPAD7 0x67
114 #define JK_NUMPAD8 0x68
115 #define JK_NUMPAD9 0x69
116 #define JK_MULTIPLY 0x6A
117 #define JK_ADD 0x6B
118 #define JK_SEPARATER 0x6C
119 #define JK_SEPARATOR JK_SEPARATER
120 #define JK_SUBTRACT 0x6D
121 #define JK_DECIMAL 0x6E
122 #define JK_DIVIDE 0x6F
123 #define JK_DELETE 0x7F
124 #define JK_NUM_LOCK 0x90
125 #define JK_SCROLL_LOCK 0x91
126 #define JK_F1 0x70
127 #define JK_F2 0x71
128 #define JK_F3 0x72
129 #define JK_F4 0x73
130 #define JK_F5 0x74
131 #define JK_F6 0x75
132 #define JK_F7 0x76
133 #define JK_F8 0x77
134 #define JK_F9 0x78
135 #define JK_F10 0x79
136 #define JK_F11 0x7A
137 #define JK_F12 0x7B
138 #define JK_F13 0xF000
139 #define JK_F14 0xF001
140 #define JK_F15 0xF002
141 #define JK_F16 0xF003
142 #define JK_F17 0xF004
143 #define JK_F18 0xF005
144 #define JK_F19 0xF006
145 #define JK_F20 0xF007
146 #define JK_F21 0xF008
147 #define JK_F22 0xF009
148 #define JK_F23 0xF00A
149 #define JK_F24 0xF00B
150 #define JK_PRINTSCREEN 0x9A
151 #define JK_INSERT 0x9B
152 #define JK_HELP 0x9C
153 #define JK_META 0x9D
154 #define JK_BACK_QUOTE 0xC0
155 #define JK_QUOTE 0xDE
156 #define JK_KP_UP 0xE0
157 #define JK_KP_DOWN 0xE1
158 #define JK_KP_LEFT 0xE2
159 #define JK_KP_RIGHT 0xE3
160 #define JK_DEAD_GRAVE 0x80
161 #define JK_DEAD_ACUTE 0x81
162 #define JK_DEAD_CIRCUMFLEX 0x82
163 #define JK_DEAD_TILDE 0x83
164 #define JK_DEAD_MACRON 0x84
165 #define JK_DEAD_BREVE 0x85
166 #define JK_DEAD_ABOVEDOT 0x86
167 #define JK_DEAD_DIAERESIS 0x87
168 #define JK_DEAD_ABOVERING 0x88
169 #define JK_DEAD_DOUBLEACUTE 0x89
170 #define JK_DEAD_CARON 0x8a
171 #define JK_DEAD_CEDILLA 0x8b
172 #define JK_DEAD_OGONEK 0x8c
173 #define JK_DEAD_IOTA 0x8d
174 #define JK_DEAD_VOICED_SOUND 0x8e
175 #define JK_DEAD_SEMIVOICED_SOUND 0x8f
176 #define JK_AMPERSAND 0x96
177 #define JK_ASTERISK 0x97
178 #define JK_QUOTEDBL 0x98
179 #define JK_LESS 0x99
180 #define JK_GREATER 0xa0
181 #define JK_BRACELEFT 0xa1
182 #define JK_BRACERIGHT 0xa2
183 #define JK_AT 0x0200
184 #define JK_COLON 0x0201
185 #define JK_CIRCUMFLEX 0x0202
186 #define JK_DOLLAR 0x0203
187 #define JK_EURO_SIGN 0x0204
188 #define JK_EXCLAMATION_MARK 0x0205
189 #define JK_INVERTED_EXCLAMATION_MARK 0x0206
190 #define JK_LEFT_PARENTHESIS 0x0207
191 #define JK_NUMBER_SIGN 0x0208
192 #define JK_PLUS 0x0209
193 #define JK_RIGHT_PARENTHESIS 0x020A
194 #define JK_UNDERSCORE 0x020B
195 #define JK_WINDOWS 0x020C
196 #define JK_CONTEXT_MENU 0x020D
197 #define JK_FINAL 0x0018
198 #define JK_CONVERT 0x001C
199 #define JK_NONCONVERT 0x001D
200 #define JK_ACCEPT 0x001E
201 #define JK_MODECHANGE 0x001F
202 #define JK_KANA 0x0015
203 #define JK_KANJI 0x0019
204 #define JK_ALPHANUMERIC 0x00F0
205 #define JK_KATAKANA 0x00F1
206 #define JK_HIRAGANA 0x00F2
207 #define JK_FULL_WIDTH 0x00F3
208 #define JK_HALF_WIDTH 0x00F4
209 #define JK_ROMAN_CHARACTERS 0x00F5
210 #define JK_ALL_CANDIDATES 0x0100
211 #define JK_PREVIOUS_CANDIDATE 0x0101
212 #define JK_CODE_INPUT 0x0102
213 #define JK_JAPANESE_KATAKANA 0x0103
214 #define JK_JAPANESE_HIRAGANA 0x0104
215 #define JK_JAPANESE_ROMAN 0x0105
216 #define JK_KANA_LOCK 0x0106
217 #define JK_INPUT_METHOD_ON_OFF 0x0107
218 #define JK_CUT 0xFFD1
219 #define JK_COPY 0xFFCD
220 #define JK_PASTE 0xFFCF
221 #define JK_UNDO 0xFFCB
222 #define JK_AGAIN 0xFFC9
223 #define JK_FIND 0xFFD0
224 #define JK_PROPS 0xFFCA
225 #define JK_STOP 0xFFC8
226 #define JK_COMPOSE 0xFF20
227 #define JK_ALT_GRAPH 0xFF7E
228 #define JK_BEGIN 0xFF58
229 
230 /**
231  * Convertir acelerador de menu Java aun acelerador X
232  */
233 char *jkeycode_to_xkey(int);
234 
235 #endif /* COM_JAREGO_JAYATANA_JKEY2XKEY_H_ */
236