Merge "SplitPanel Changes (Divider touch extension + focus ui removal) - tizen2.2...
[platform/framework/native/uifw.git] / inc / FUiKeyTypes.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 /**
18 * @file         FUiKeyTypes.h
19 * @brief        This is the header file for the key enumeration.
20 *
21 * This header file contains the declarations of the key enumeration.
22 */
23 #include <climits>
24 #ifndef _FUI_KEY_TYPES_H_
25 #define _FUI_KEY_TYPES_H_
26
27 namespace Tizen { namespace Ui
28 {
29
30 /**
31  * @enum        KeyCode
32  *
33  * Defines the list of keys supported by the system. @n
34  * Note that certain keys may not be available on all devices. @n
35  * Please use the Tizen::Ui::KeyboardMap class to query the availability of a specific key on a target device.
36  *
37  * @since       2.0
38  */
39 enum KeyCode
40 {
41         KEY_INVALID             = 0x0000,               /**< The invalid key */
42         KEY_SIDE_UP,            /**< The up side key */
43         KEY_SIDE_DOWN,          /**< The down side key */
44         KEY_OK,                         /**< The OK key */
45         KEY_CLEAR,                      /**< The clear key */
46         KEY_CAMERA,             /**< The camera key */
47         KEY_SWITCH,             /**< The task switcher key */
48         KEY_0,                  /**< The 0 key */
49         KEY_1,                  /**< The 1 key */
50         KEY_2,                  /**< The 2 key */
51         KEY_3,                  /**< The 3 key */
52         KEY_4,                  /**< The 4 key */
53         KEY_5,                  /**< The 5 key */
54         KEY_6,                  /**< The 6 key */
55         KEY_7,                  /**< The 7 key */
56         KEY_8,                  /**< The 8 key */
57         KEY_9,                  /**< The 9 key */
58         KEY_ASTERISK,                   /**< The asterisk key */
59         KEY_SHARP,                      /**< The sharp key */
60         KEY_LEFT,                       /**< The left directional key */
61         KEY_UP,                 /**< The up directional key */
62         KEY_DOWN,                       /**< The down directional key */
63         KEY_RIGHT,                      /**< The right directional key */
64         KEY_MAX,                        /**< The Placeholder */
65         KEY_A,                  /**< The A key */
66         KEY_B,                  /**< The B key */
67         KEY_C,                  /**< The C key */
68         KEY_D,                  /**< The D key */
69         KEY_E,                  /**< The E key */
70         KEY_F,                  /**< The F key */
71         KEY_G,                  /**< The G key */
72         KEY_H,                  /**< The H key */
73         KEY_I,                  /**< The I key */
74         KEY_J,                  /**< The J key */
75         KEY_K,                  /**< The K key */
76         KEY_L,                  /**< The L key */
77         KEY_M,                  /**< The M key */
78         KEY_N,                  /**< The N key */
79         KEY_O,                  /**< The O key */
80         KEY_P,                  /**< The P key */
81         KEY_Q,                  /**< The Q key */
82         KEY_R,                  /**< The R key */
83         KEY_S,                  /**< The S key */
84         KEY_T,                  /**< The T key */
85         KEY_U,                  /**< The U key */
86         KEY_V,                  /**< The V key */
87         KEY_W,                  /**< The W key */
88         KEY_X,                  /**< The X key */
89         KEY_Y,                  /**< The Y key */
90         KEY_Z,                  /**< The Z key */
91         KEY_BACKSPACE,                  /**< The backspace key */
92         KEY_COMMA,                      /**< The comma key */
93         KEY_ENTER,                      /**< The enter key */
94         KEY_CAPSLOCK,                   /**< The Caps Lock key */
95         KEY_QUESTION,                   /**< The Question key */
96         KEY_ALT,                        /**< The Alt key */
97         KEY_SYM,                        /**< The Language Symbolkey */
98         KEY_SETTING,                    /**< The Language Setting key */
99         KEY_SPACE,                      /**< The Space key */
100         KEY_DOT,                        /**< The Dot key */
101         KEY_FN,                 /**< The Function key */
102         KEY_CAMERA_HALF_SHUTTER,                        /**< The camera half shutter key */
103         KEY_CHAR_SYM_1,                 /**< The Character symbol 1 key */
104         KEY_CHAR_SYM_2,                 /**< The Character symbol 2 key */
105         KEY_CHAR_SYM_3,                 /**< The Character symbol 3 key */
106         KEY_CHAR_SYM_4,                 /**< The Character symbol 4 key */
107         KEY_CHAR_SYM_5,                 /**< The Character symbol 5 key */
108         KEY_CHAR_SYM_6,                 /**< The Character symbol 6 key */
109         KEY_CHAR_SYM_7,                 /**< The Character symbol 7 key */
110         KEY_CHAR_SYM_8,                 /**< The Character symbol 8 key */
111         KEY_CHAR_SYM_9,                 /**< The Character symbol 9 key */
112         KEY_CHAR_SYM_A,                 /**< The Character symbol A key */
113         KEY_CHAR_SYM_B,                 /**< The Character symbol B key */
114         KEY_CHAR_SYM_C,                 /**< The Character symbol C key */
115         KEY_CHAR_SYM_D,                 /**< The Character symbol D key */
116         KEY_CHAR_SYM_E,                 /**< The Character symbol E key */
117         KEY_CHAR_SYM_F,                 /**< The Character symbol F key */
118         KEY_FN_1,                       /**< The function 1 key */
119         KEY_FN_2,                       /**< The function 2 key */
120         KEY_FN_3,                       /**< The function 3 key */
121         KEY_FN_4,                       /**< The function 4 key */
122         KEY_FN_5,                       /**< The function 5 key */
123         KEY_POWER_HOLD,                 /**< The power key */
124         KEY_DELETE,                     /**< The delete key */
125
126         KEY_APOSTROPHE, /**< The apostrophe key */
127         KEY_BACKSLASH,          /**< The backslash key */
128         KEY_CONTEXT_MENU,       /**< The menu key */
129         KEY_EQUAL,                      /**< The equal key */
130         KEY_ESC,                        /**< The esc key */
131         KEY_FN_6,                       /**< The function 6 key */
132         KEY_FN_7,                       /**< The function 7 key */
133         KEY_FN_8,                       /**< The function 8 key */
134         KEY_FN_9,                       /**< The function 9 key */
135         KEY_FN_10,                      /**< The function 10 key */
136         KEY_FN_11,                      /**< The function 11 key */
137         KEY_FN_12,                      /**< The function 12 key */
138         KEY_GRAVE,                      /**< The grave key */
139         KEY_INSERT,                     /**< The insert key */
140         KEY_LANGUAGE_SWITCH,    /**< The language switch key */
141         KEY_LEFT_ALT,           /**< The left alt key */
142         KEY_LEFT_BRACKET,       /**< The left bracket key */
143         KEY_LEFT_CTRL,          /**< The left control key */
144         KEY_LEFT_SHIFT,         /**< The left shift key */
145         KEY_LEFT_WIN,           /**< The left window key */
146         KEY_MINUS,                      /**< The minus key */
147         KEY_MOVE_END,                   /**< The end key */
148         KEY_MOVE_HOME,          /**< The home key */
149         KEY_NUM_LOCK,           /**< The number lock key */
150         KEY_NUMPAD_0,           /**< The Numpad 0 key */
151         KEY_NUMPAD_1,           /**< The Numpad 1 key */
152         KEY_NUMPAD_2,           /**< The Numpad 2 key */
153         KEY_NUMPAD_3,           /**< The Numpad 3 key */
154         KEY_NUMPAD_4,           /**< The Numpad 4 key */
155         KEY_NUMPAD_5,           /**< The Numpad 5 key */
156         KEY_NUMPAD_6,           /**< The Numpad 6 key */
157         KEY_NUMPAD_7,           /**< The Numpad 7 key */
158         KEY_NUMPAD_8,           /**< The Numpad 8 key */
159         KEY_NUMPAD_9,           /**< The Numpad 9 key */
160         KEY_NUMPAD_ADD,         /**< The Numpad add key */
161         KEY_NUMPAD_DIVIDE,      /**< The Numpad divide key */
162         KEY_NUMPAD_DOT,         /**< The Numpad dot key */
163         KEY_NUMPAD_ENTER,       /**< The Numpad enter key */
164         KEY_NUMPAD_MULTIPLY,    /**< The Numpad multiply key */
165         KEY_NUMPAD_SUBTRACT,    /**< The Numpad subtract key */
166         KEY_PAGE_DOWN,          /**< The page down key */
167         KEY_PAGE_UP,            /**< The page up key */
168         KEY_PAUSE_BREAK,        /**< The pause key */
169         KEY_PRINT,                      /**< The print key */
170         KEY_RIGHT_ALT,          /**< The right alt key */
171         KEY_RIGHT_BRACKET,      /**< The right bracket key */
172         KEY_RIGHT_CTRL,         /**< The right control key */
173         KEY_RIGHT_SHIFT,                /**< The right shift key */
174         KEY_RIGHT_WIN,          /**< The right window key */
175         KEY_SCROLL_LOCK,        /**< The scroll lock key */
176         KEY_SEMICOLON,          /**< The semicolon key */
177         KEY_SLASH,                      /**< The slash key */
178         KEY_TAB,                        /**< The tab key */
179         KEY_OEM_1,                      /**< The OEM 1 key */
180         KEY_OEM_2,                      /**< The OEM 2 key */
181         KEY_OEM_3,                      /**< The OEM 3 key */
182         KEY_OEM_4,                      /**< The OEM 4 key */
183         KEY_OEM_5,                      /**< The OEM 5 key */
184         KEY_OEM_6,                      /**< The OEM 6 key */
185         KEY_OEM_7,                      /**< The OEM 7 key */
186         KEY_OEM_8,                      /**< The OEM 8 key */
187         KEY_OEM_9,                      /**< The OEM 9 key */
188         KEY_OEM_10,                     /**< The OEM 10 key */
189         KEY_OEM_11,                     /**< The OEM 11 key */
190         KEY_OEM_12,                     /**< The OEM 12 key */
191         KEY_OEM_13,                     /**< The OEM 13 key */
192         KEY_OEM_14,                     /**< The OEM 14 key */
193         KEY_OEM_15,                     /**< The OEM 15 key */
194         KEY_OEM_16,                     /**< The OEM 16 key */
195         KEY_OEM_17,                     /**< The OEM 17 key */
196         KEY_OEM_18,                     /**< The OEM 18 key */
197         KEY_OEM_19,                     /**< The OEM 19 key */
198         KEY_OEM_20,                     /**< The OEM 20 key */
199
200         KEY_BACK,               /**< The back key @b Since: @b 2.2 */
201         KEY_HOME,                                       /**< The home key @b Since: @b 2.2 */
202         KEY_WEB_PAGE,                           /**< The web page key @b Since: @b 2.2 */
203         KEY_MAIL,                                       /**< The email key @b Since: @b 2.2 */
204         KEY_SCREEN_SAVER,                       /**< The screen saver key @b Since: @b 2.2 */
205         KEY_BRIGHTNESS_DOWN,            /**< The brightness reduction key @b Since: @b 2.2 */
206         KEY_BRIGHTNESS_UP,              /**< The brightness increment key @b Since: @b 2.2 */
207         KEY_MUTE,                                       /**< The mute key @b Since: @b 2.2 */
208         KEY_VOLUME_DOWN,                        /**< The volume decrease key @b Since: @b 2.2 */
209         KEY_VOLUME_UP,                  /**< The volume increase key @b Since: @b 2.2 */
210         KEY_PLAY_PAUSE,                 /**< The play/pause key @b Since: @b 2.2 */
211         KEY_NEXT_SONG,                  /**< The next song key @b Since: @b 2.2 */
212         KEY_PREVIOUS_SONG,              /**< The previous song key @b Since: @b 2.2 */
213         KEY_APPS,                                       /**< The apps key @b Since: @b 2.2 */
214         KEY_MENU,                                       /**< The menu key @b Since: @b 2.2 */
215         KEY_SOFT_KEYBOARD,              /**< The soft keyboard key @b Since: @b 2.2 */
216         KEY_SEARCH,                             /**< The search key @b Since: @b 2.2 */
217         KEY_VOICE,                                      /**< The voice key @b Since: @b 2.2 */
218         KEY_QUICK_PANEL,                        /**< The quick panel key @b Since: @b 2.2 */
219         KEY_CLIPBOARD,                          /**< The clipboard key @b Since: @b 2.2 */
220         KEY_HARDWARE_MAX = INT_MAX
221 };
222
223 /**
224  * @enum        KeyState
225  *
226  *      Defines the state of a key.
227  *
228  * @since       2.0
229  */
230 enum KeyState
231 {
232         KEY_PRESSED = 0x0001,       /**< The key is pressed */
233         KEY_RELEASED = 0x0002,      /**< The key is released */
234         KEY_LONGPRESSED = 0x0003    /**< The key pressed and held down over a predefined duration */
235 };
236
237 /**
238  * @enum        KeyModifier
239  *
240  *      Defines constants used to identify key modifiers.
241  *
242  * @since       2.1
243  */
244 enum KeyModifier
245 {
246         KEY_MODIFIER_NONE = 0,      /**< No active modifiers */
247         KEY_MODIFIER_SHIFT = 1 << 0, /**< "Shift" is being pressed */
248         KEY_MODIFIER_CTRL = 1 << 1, /**< "Control" is being pressed */
249         KEY_MODIFIER_ALT = 1 << 2, /**< "Alt" is being pressed */
250         KEY_MODIFIER_WIN = 1 << 3, /**< "Win" (between "Ctrl" and "Alt") is being pressed */
251         KEY_MODIFIER_SCROLL_LOCK = 1 << 4, /**< "Scroll" is locked */
252         KEY_MODIFIER_NUM_LOCK = 1 << 5, /**< "Num Lock" on the keyboard is locked */
253         KEY_MODIFIER_CAPS_LOCK = 1 << 6, /**< "Caps" is locked */
254 };
255
256 }} // Tizen::Ui
257
258 #endif // _FUI_KEY_TYPES_H_
259