1 #ifndef __DALI_KEY_IMPL_H__
2 #define __DALI_KEY_IMPL_H__
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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.
34 * Implementation of the Key matching
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
46 extern KeyLookup KeyLookupTable[];
47 extern const std::size_t KEY_LOOKUP_COUNT;
50 * @copydoc Dali::IsKey()
52 bool IsKey( const Dali::KeyEvent& keyEvent, Dali::KEY daliKey );
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
59 bool IsDeviceButton( const char* keyName );
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.
66 const char* GetKeyName( Dali::KEY daliKey );
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.
73 int GetDaliKeyCode( const char* keyName );
75 } // namespace KeyLookup
77 } // namespace Adaptor
79 } // namespace Internal
83 #endif // __DALI_KEY_IMPL_H__