[3.0] 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
24 namespace Dali
25 {
26
27 namespace Internal
28 {
29
30 namespace Adaptor
31 {
32
33 /**
34  * Implementation of the Key matching
35  */
36 namespace KeyLookup
37 {
38
39 struct KeyLookup
40 {
41   const char* keyName;          ///< XF86 key name
42   const Dali::KEY daliKeyCode;  ///< Dali key code
43   const bool  deviceButton;     ///< Whether the key is from a button on the device
44 };
45
46 extern KeyLookup KeyLookupTable[];
47 extern const std::size_t KEY_LOOKUP_COUNT;
48
49 /**
50  * @copydoc Dali::IsKey()
51  */
52 bool IsKey( const Dali::KeyEvent& keyEvent, Dali::KEY daliKey );
53
54 /**
55  * Check if a the given key name string is a button on the device itself.
56  * @param keyName A pointer to the key name
57  * @return true if the key is matched, false if not
58  */
59 bool IsDeviceButton( const char* keyName );
60
61 /**
62  * Get a key name from a dali key code.
63  * @param daliKey The dali key code
64  * @return The key name. NULL if the daliKey does not exist in the supported key lookup table.
65  */
66 const char* GetKeyName( Dali::KEY daliKey );
67
68 /**
69  * @brief Get the key code from a key name.
70  * @param[in] keyName The key name
71  * @return The key code. -1 if the daliKey does not exist in the supported key lookup table.
72  */
73 int GetDaliKeyCode( const char* keyName );
74
75 } // namespace KeyLookup
76
77 } // namespace Adaptor
78
79 } // namespace Internal
80
81 } // namespace Dali
82
83 #endif // __DALI_KEY_IMPL_H__