Remove wearable API version notation
[platform/core/api/inputmethod.git] / inputmethod / include / inputmethod_keydef.h
1 /*
2  * Copyright (c) 2015-2021 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __TIZEN_UIX_INPUTMETHOD_KEYDEF_H__
19 #define __TIZEN_UIX_INPUTMETHOD_KEYDEF_H__
20
21
22 /**
23  * @file inputmethod_keydef.h
24  * @brief This file contains key code and mask enumeration.
25  */
26
27
28 /**
29  * @addtogroup CAPI_UIX_INPUTMETHOD_MODULE
30  * @{
31  */
32
33
34 /**
35  * @brief Enumeration for the key codes.
36  *        If keycode & 0xff000000 == 0x01000000 then this key code is directly encoded 24-bit UCS character.
37  *        The UCS value is keycode & 0x00ffffff.
38  * @details Defines the list of keys supported by the system.
39  *          Note that certain keys may not be available on all devices.
40  * @since_tizen 2.4
41  */
42 typedef enum {
43         IME_KEY_BackSpace = 0xFF08, /**< The backspace key */
44         IME_KEY_Tab = 0xFF09, /**< The tab key */
45         IME_KEY_Linefeed = 0xFF0A, /**< The linefeed key */
46         IME_KEY_Clear = 0xFF0B, /**< The clear key */
47         IME_KEY_Return = 0xFF0D, /**< The return key */
48         IME_KEY_Pause = 0xFF13, /**< The pause key */
49         IME_KEY_Scroll_Lock = 0xFF14, /**< The scroll lock key */
50         IME_KEY_Sys_Req = 0xFF15, /**< The sys req key */
51         IME_KEY_Escape = 0xFF1B, /**< The escape key */
52         IME_KEY_Delete = 0xFFFF, /**< The delete key */
53
54         /* Cursor control & motion */
55         IME_KEY_Home = 0xFF50, /**< The home key */
56         IME_KEY_Left = 0xFF51, /**< The left directional key */
57         IME_KEY_Up = 0xFF52, /**< The up directional key */
58         IME_KEY_Right = 0xFF53, /**< The right directional key */
59         IME_KEY_Down = 0xFF54, /**< The down directional key */
60         IME_KEY_Prior = 0xFF55, /**< The prior, previous key */
61         IME_KEY_Page_Up = 0xFF55, /**< The page up key */
62         IME_KEY_Next = 0xFF56, /**< The next key */
63         IME_KEY_Page_Down = 0xFF56, /**< The page down key */
64         IME_KEY_End = 0xFF57, /**< The end key */
65         IME_KEY_Begin = 0xFF58, /**< The begin key */
66
67         /* Misc Functions */
68         IME_KEY_Select = 0xFF60, /**< The select key */
69         IME_KEY_Print = 0xFF61, /**< The print key */
70         IME_KEY_Execute = 0xFF62, /**< The execute, run, do key */
71         IME_KEY_Insert = 0xFF63, /**< The insert key */
72         IME_KEY_Undo = 0xFF65, /**< The undo key */
73         IME_KEY_Redo = 0xFF66, /**< The redo key */
74         IME_KEY_Menu = 0xFF67, /**< The menu key */
75         IME_KEY_Find = 0xFF68, /**< The find key */
76         IME_KEY_Cancel = 0xFF69, /**< The cancel, stop, abort, exit key */
77         IME_KEY_Help = 0xFF6A, /**< The help key */
78         IME_KEY_Break = 0xFF6B, /**< The break key */
79         IME_KEY_Mode_switch = 0xFF7E, /**< The character set switch key */
80         IME_KEY_Num_Lock = 0xFF7F, /**< The num lock key */
81
82         /* Keypad */
83         IME_KEY_KP_Space = 0xFF80, /**< The Numpad space key */
84         IME_KEY_KP_Tab = 0xFF89, /**< The Numpad tab key */
85         IME_KEY_KP_Enter = 0xFF8D, /**< The Numpad enter key */
86         IME_KEY_KP_F1 = 0xFF91, /**< The Numpad function 1 key */
87         IME_KEY_KP_F2 = 0xFF92, /**< The Numpad function 2 key */
88         IME_KEY_KP_F3 = 0xFF93, /**< The Numpad function 3 key */
89         IME_KEY_KP_F4 = 0xFF94, /**< The Numpad function 4 key */
90         IME_KEY_KP_Home = 0xFF95, /**< The Numpad home key */
91         IME_KEY_KP_Left = 0xFF96, /**< The Numpad left key */
92         IME_KEY_KP_Up = 0xFF97, /**< The Numpad up key */
93         IME_KEY_KP_Right = 0xFF98, /**< The Numpad right key */
94         IME_KEY_KP_Down = 0xFF99, /**< The Numpad down key */
95         IME_KEY_KP_Prior = 0xFF9A, /**< The Numpad prior, previous key */
96         IME_KEY_KP_Page_Up = 0xFF9A, /**< The Numpad page up key */
97         IME_KEY_KP_Next = 0xFF9B, /**< The Numpad next key */
98         IME_KEY_KP_Page_Down = 0xFF9B, /**< The Numpad page down key */
99         IME_KEY_KP_End = 0xFF9C, /**< The Numpad end key */
100         IME_KEY_KP_Begin = 0xFF9D, /**< The Numpad begin key */
101         IME_KEY_KP_Insert = 0xFF9E, /**< The Numpad insert key */
102         IME_KEY_KP_Delete = 0xFF9F, /**< The Numpad delete key */
103         IME_KEY_KP_Equal = 0xFFBD, /**< The Numpad equal key */
104         IME_KEY_KP_Multiply = 0xFFAA, /**< The Numpad multiply key */
105         IME_KEY_KP_Add = 0xFFAB, /**< The Numpad add key */
106         IME_KEY_KP_Separator = 0xFFAC, /**< The Numpad separator key */
107         IME_KEY_KP_Subtract = 0xFFAD, /**< The Numpad subtract key */
108         IME_KEY_KP_Decimal = 0xFFAE, /**< The Numpad decimal key */
109         IME_KEY_KP_Divide = 0xFFAF, /**< The Numpad divide key */
110
111         IME_KEY_KP_0 = 0xFFB0, /**< The Numpad 0 key */
112         IME_KEY_KP_1 = 0xFFB1, /**< The Numpad 1 key */
113         IME_KEY_KP_2 = 0xFFB2, /**< The Numpad 2 key */
114         IME_KEY_KP_3 = 0xFFB3, /**< The Numpad 3 key */
115         IME_KEY_KP_4 = 0xFFB4, /**< The Numpad 4 key */
116         IME_KEY_KP_5 = 0xFFB5, /**< The Numpad 5 key */
117         IME_KEY_KP_6 = 0xFFB6, /**< The Numpad 6 key */
118         IME_KEY_KP_7 = 0xFFB7, /**< The Numpad 7 key */
119         IME_KEY_KP_8 = 0xFFB8, /**< The Numpad 8 key */
120         IME_KEY_KP_9 = 0xFFB9, /**< The Numpad 9 key */
121
122         /* Auxilliary Functions */
123         IME_KEY_F1 = 0xFFBE, /**< The function 1 key */
124         IME_KEY_F2 = 0xFFBF, /**< The function 2 key */
125         IME_KEY_F3 = 0xFFC0, /**< The function 3 key */
126         IME_KEY_F4 = 0xFFC1, /**< The function 4 key */
127         IME_KEY_F5 = 0xFFC2, /**< The function 5 key */
128         IME_KEY_F6 = 0xFFC3, /**< The function 6 key */
129         IME_KEY_F7 = 0xFFC4, /**< The function 7 key */
130         IME_KEY_F8 = 0xFFC5, /**< The function 8 key */
131         IME_KEY_F9 = 0xFFC6, /**< The function 9 key */
132         IME_KEY_F10 = 0xFFC7, /**< The function 10 key */
133         IME_KEY_F11 = 0xFFC8, /**< The function 11 key */
134         IME_KEY_F12 = 0xFFC9, /**< The function 12 key */
135         IME_KEY_F13 = 0xFFCA, /**< The function 13 key */
136         IME_KEY_F14 = 0xFFCB, /**< The function 14 key */
137         IME_KEY_F15 = 0xFFCC, /**< The function 15 key */
138         IME_KEY_F16 = 0xFFCD, /**< The function 16 key */
139         IME_KEY_F17 = 0xFFCE, /**< The function 17 key */
140         IME_KEY_F18 = 0xFFCF, /**< The function 18 key */
141         IME_KEY_F19 = 0xFFD0, /**< The function 19 key */
142         IME_KEY_F20 = 0xFFD1, /**< The function 20 key */
143         IME_KEY_F21 = 0xFFD2, /**< The function 21 key */
144         IME_KEY_F22 = 0xFFD3, /**< The function 22 key */
145         IME_KEY_F23 = 0xFFD4, /**< The function 23 key */
146         IME_KEY_F24 = 0xFFD5, /**< The function 24 key */
147         IME_KEY_F25 = 0xFFD6, /**< The function 25 key */
148         IME_KEY_F26 = 0xFFD7, /**< The function 26 key */
149         IME_KEY_F27 = 0xFFD8, /**< The function 27 key */
150         IME_KEY_F28 = 0xFFD9, /**< The function 28 key */
151         IME_KEY_F29 = 0xFFDA, /**< The function 29 key */
152         IME_KEY_F30 = 0xFFDB, /**< The function 30 key */
153         IME_KEY_F31 = 0xFFDC, /**< The function 31 key */
154         IME_KEY_F32 = 0xFFDD, /**< The function 32 key */
155         IME_KEY_F33 = 0xFFDE, /**< The function 33 key */
156         IME_KEY_F34 = 0xFFDF, /**< The function 34 key */
157         IME_KEY_F35 = 0xFFE0, /**< The function 35 key */
158
159         /* Modifier keys */
160         IME_KEY_Shift_L = 0xFFE1, /**< The left shift key */
161         IME_KEY_Shift_R = 0xFFE2, /**< The right shift key */
162         IME_KEY_Control_L = 0xFFE3, /**< The left control key */
163         IME_KEY_Control_R = 0xFFE4, /**< The right control key */
164         IME_KEY_Caps_Lock = 0xFFE5, /**< The caps lock key */
165         IME_KEY_Shift_Lock = 0xFFE6, /**< The shift lock key */
166
167         IME_KEY_Meta_L = 0xFFE7, /**< The left meta key */
168         IME_KEY_Meta_R = 0xFFE8, /**< The right meta key */
169         IME_KEY_Alt_L = 0xFFE9, /**< The left alt key */
170         IME_KEY_Alt_R = 0xFFEA, /**< The right alt key */
171         IME_KEY_Super_L = 0xFFEB, /**< The left super key */
172         IME_KEY_Super_R = 0xFFEC, /**< The right super key */
173         IME_KEY_Hyper_L = 0xFFED, /**< The left hyper key */
174         IME_KEY_Hyper_R = 0xFFEE, /**< The right hyper key */
175
176         /* Latin 1 */
177         IME_KEY_space = 0x020, /**< The space key */
178         IME_KEY_exclam = 0x021, /**< The exclamation key */
179         IME_KEY_quotedbl = 0x022, /**< The quotedbl key */
180         IME_KEY_numbersign = 0x023, /**< The number sign key */
181         IME_KEY_dollar = 0x024, /**< The dollar key */
182         IME_KEY_percent = 0x025, /**< The percent key */
183         IME_KEY_ampersand = 0x026, /**< The ampersand key */
184         IME_KEY_apostrophe = 0x027, /**< The apostrophe key */
185         IME_KEY_parenleft = 0x028, /**< The parenleft key */
186         IME_KEY_parenright = 0x029, /**< The parenright key */
187         IME_KEY_asterisk = 0x02a, /**< The asterisk key */
188         IME_KEY_plus = 0x02b, /**< The plus key */
189         IME_KEY_comma = 0x02c, /**< The comma key */
190         IME_KEY_minus = 0x02d, /**< The minus key */
191         IME_KEY_period = 0x02e, /**< The period key */
192         IME_KEY_slash = 0x02f, /**< The slash key */
193         IME_KEY_0 = 0x030, /**< The 0 key */
194         IME_KEY_1 = 0x031, /**< The 1 key */
195         IME_KEY_2 = 0x032, /**< The 2 key */
196         IME_KEY_3 = 0x033, /**< The 3 key */
197         IME_KEY_4 = 0x034, /**< The 4 key */
198         IME_KEY_5 = 0x035, /**< The 5 key */
199         IME_KEY_6 = 0x036, /**< The 6 key */
200         IME_KEY_7 = 0x037, /**< The 7 key */
201         IME_KEY_8 = 0x038, /**< The 8 key */
202         IME_KEY_9 = 0x039, /**< The 9 key */
203         IME_KEY_colon = 0x03a, /**< The colon key */
204         IME_KEY_semicolon = 0x03b, /**< The semicolon key */
205         IME_KEY_less = 0x03c, /**< The less key */
206         IME_KEY_equal = 0x03d, /**< The equal key */
207         IME_KEY_greater = 0x03e, /**< The greater key */
208         IME_KEY_question = 0x03f, /**< The question key */
209         IME_KEY_at = 0x040, /**< The at key */
210         IME_KEY_A = 0x041, /**< The A key */
211         IME_KEY_B = 0x042, /**< The B key */
212         IME_KEY_C = 0x043, /**< The C key */
213         IME_KEY_D = 0x044, /**< The D key */
214         IME_KEY_E = 0x045, /**< The E key */
215         IME_KEY_F = 0x046, /**< The F key */
216         IME_KEY_G = 0x047, /**< The G key */
217         IME_KEY_H = 0x048, /**< The H key */
218         IME_KEY_I = 0x049, /**< The I key */
219         IME_KEY_J = 0x04a, /**< The J key */
220         IME_KEY_K = 0x04b, /**< The K key */
221         IME_KEY_L = 0x04c, /**< The L key */
222         IME_KEY_M = 0x04d, /**< The M key */
223         IME_KEY_N = 0x04e, /**< The N key */
224         IME_KEY_O = 0x04f, /**< The O key */
225         IME_KEY_P = 0x050, /**< The P key */
226         IME_KEY_Q = 0x051, /**< The Q key */
227         IME_KEY_R = 0x052, /**< The R key */
228         IME_KEY_S = 0x053, /**< The S key */
229         IME_KEY_T = 0x054, /**< The T key */
230         IME_KEY_U = 0x055, /**< The U key */
231         IME_KEY_V = 0x056, /**< The V key */
232         IME_KEY_W = 0x057, /**< The W key */
233         IME_KEY_X = 0x058, /**< The X key */
234         IME_KEY_Y = 0x059, /**< The Y key */
235         IME_KEY_Z = 0x05a, /**< The Z key */
236         IME_KEY_bracketleft = 0x05b, /**< The left bracket key */
237         IME_KEY_backslash = 0x05c, /**< The backslash key */
238         IME_KEY_bracketright = 0x05d, /**< The right bracket key */
239         IME_KEY_asciicircum = 0x05e, /**< The circumflex key */
240         IME_KEY_underscore = 0x05f, /**< The underscore key */
241         IME_KEY_grave = 0x060, /**< The grave key */
242         IME_KEY_a = 0x061, /**< The a key */
243         IME_KEY_b = 0x062, /**< The b key */
244         IME_KEY_c = 0x063, /**< The c key */
245         IME_KEY_d = 0x064, /**< The d key */
246         IME_KEY_e = 0x065, /**< The e key */
247         IME_KEY_f = 0x066, /**< The f key */
248         IME_KEY_g = 0x067, /**< The g key */
249         IME_KEY_h = 0x068, /**< The h key */
250         IME_KEY_i = 0x069, /**< The i key */
251         IME_KEY_j = 0x06a, /**< The j key */
252         IME_KEY_k = 0x06b, /**< The k key */
253         IME_KEY_l = 0x06c, /**< The l key */
254         IME_KEY_m = 0x06d, /**< The m key */
255         IME_KEY_n = 0x06e, /**< The n key */
256         IME_KEY_o = 0x06f, /**< The o key */
257         IME_KEY_p = 0x070, /**< The p key */
258         IME_KEY_q = 0x071, /**< The q key */
259         IME_KEY_r = 0x072, /**< The r key */
260         IME_KEY_s = 0x073, /**< The s key */
261         IME_KEY_t = 0x074, /**< The t key */
262         IME_KEY_u = 0x075, /**< The u key */
263         IME_KEY_v = 0x076, /**< The v key */
264         IME_KEY_w = 0x077, /**< The w key */
265         IME_KEY_x = 0x078, /**< The x key */
266         IME_KEY_y = 0x079, /**< The y key */
267         IME_KEY_z = 0x07a, /**< The z key */
268         IME_KEY_braceleft = 0x07b, /**< The left brace key */
269         IME_KEY_bar = 0x07c, /**< The bar key */
270         IME_KEY_braceright = 0x07d, /**< The right brace key */
271         IME_KEY_asciitilde = 0x07e, /**< The tilde key */
272 } ime_key_code_e;
273
274
275 /**
276  * @brief Enumeration for the key masks.
277  *        The key masks indicate which modifier keys is pressed down during the keyboard hit.
278  *        The special #IME_KEY_MASK_RELEASED indicates the key release event.
279  * @since_tizen 2.4
280  */
281 typedef enum {
282         IME_KEY_MASK_PRESSED = 0, /**< Key press event without modifier key */
283         IME_KEY_MASK_SHIFT = (1<<0), /**< The Shift key is pressed down */
284         IME_KEY_MASK_CAPSLOCK = (1<<1), /**< The CapsLock key is pressed down */
285         IME_KEY_MASK_CONTROL = (1<<2), /**< The Control key is pressed down */
286         IME_KEY_MASK_ALT = (1<<3), /**< The Alt key is pressed down */
287         IME_KEY_MASK_META = (1<<4), /**< The Meta key is pressed down */
288         IME_KEY_MASK_WIN = (1<<5), /**< The Win (between Control and Alt) is pressed down */
289         IME_KEY_MASK_HYPER = (1<<6), /**< The Hyper key is pressed down */
290         IME_KEY_MASK_NUMLOCK = (1<<7), /**< The NumLock key is pressed down */
291         IME_KEY_MASK_RELEASED = (1<<15) /**< Key release event */
292 } ime_key_mask_e;
293
294
295 /**
296  * @}
297  */
298
299
300 #endif /* __TIZEN_UIX_INPUTMETHOD_KEYDEF_H__ */
301