Fix build error.
[platform/core/uifw/dali-adaptor.git] / adaptors / common / key-impl.h
1 #ifndef __DALI_KEY_IMPL_H__
2 #define __DALI_KEY_IMPL_H__
3
4 /*
5  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <key.h>
23 #include <key-extension-plugin.h>
24
25 namespace Dali
26 {
27
28 namespace Internal
29 {
30
31 namespace Adaptor
32 {
33
34 /**
35  * Implementation of the Key matching
36  */
37 namespace KeyLookup
38 {
39
40 struct KeyLookup
41 {
42   const char* keyName;          ///< XF86 key name
43   const Dali::KEY daliKeyCode;  ///< Dali key code
44   const bool  deviceButton;     ///< Whether the key is from a button on the device
45 };
46
47 extern KeyLookup KeyLookupTable[];
48 extern const std::size_t KEY_LOOKUP_COUNT;
49
50 /**
51  * @copydoc Dali::IsKey()
52  */
53 bool IsKey( const Dali::KeyEvent& keyEvent, Dali::KEY daliKey );
54
55 /**
56  * Check if a the given key name string is a button on the device itself.
57  * @param keyName A pointer to the key name
58  * @return true if the key is matched, false if not
59  */
60 bool IsDeviceButton( const char* keyName );
61
62 /**
63  * Get a key name from a dali key code.
64  * @param daliKey The dali key code
65  * @return The key name. NULL if the daliKey does not exist in the supported key lookup table.
66  */
67 const char* GetKeyName( Dali::KEY daliKey );
68
69 /**
70  * @brief Get the key code from a key name.
71  * @param[in] keyName The key name
72  * @return The key code. -1 if the daliKey does not exist in the supported key lookup table.
73  */
74 int GetDaliKeyCode( const char* keyName );
75
76 } // namespace KeyLookup
77
78 } // namespace Adaptor
79
80 } // namespace Internal
81
82 } // namespace Dali
83
84 #endif // __DALI_KEY_IMPL_H__