- Added GetLogicalKey API to get the logical key.
(eg. '1' key of NumberPad -> logicalKey : "KP_1")
Change-Id: I1f0424d31646c310a1471f745e5172c8e9cdbbf1
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
#include <stdlib.h>
#include <dali/public-api/dali-core.h>
#include <dali/integration-api/events/key-event-integ.h>
+#include <dali/devel-api/events/key-event-devel.h>
#include <dali-test-suite-utils.h>
END_TEST;
}
+
+int UtcDaliKeyEventSetLogicalKey(void)
+{
+ TestApplication application;
+
+ KeyEvent event(TEST_STRING_1,"i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down);
+
+ DALI_TEST_EQUALS( DevelKeyEvent::GetLogicalKey( event ), "", TEST_LOCATION );
+
+ END_TEST;
+}
${CMAKE_CURRENT_SOURCE_DIR}/common/hash.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common/stage-devel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/events/hit-test-algorithm.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/events/key-event-devel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/events/touch-data-devel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/images/distance-field.cpp
${CMAKE_CURRENT_SOURCE_DIR}/images/texture-set-image.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common/stage-devel.h
${CMAKE_CURRENT_SOURCE_DIR}/events/hit-test-algorithm.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/events/key-event-devel.h
${CMAKE_CURRENT_SOURCE_DIR}/events/touch-data-devel.h
${CMAKE_CURRENT_SOURCE_DIR}/images/distance-field.h
--- /dev/null
+/*\r
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+// INTERNAL INCLUDES\r
+#include <dali/devel-api/events/key-event-devel.h>\r
+#include <dali/internal/event/events/key-event-impl.h>\r
+\r
+namespace Dali\r
+{\r
+\r
+namespace DevelKeyEvent\r
+{\r
+\r
+std::string GetLogicalKey( KeyEvent keyEvent )\r
+{\r
+ return GetImplementation( &keyEvent )->GetLogicalKey();\r
+}\r
+\r
+} // namespace DevelKeyEvent\r
+\r
+} // namespace Dali\r
+\r
--- /dev/null
+#ifndef DALI_KEY_EVENT_DEVEL_H\r
+#define DALI_KEY_EVENT_DEVEL_H\r
+\r
+/*\r
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+// INTERNAL INCLUDES\r
+#include <dali/public-api/events/key-event.h>\r
+\r
+namespace Dali\r
+{\r
+\r
+namespace DevelKeyEvent\r
+{\r
+\r
+/**\r
+ * @brief Gets the logical key string.\r
+ *\r
+ * For example, when the user presses 'shift' key and '1' key together, the logical key is "exclamation".\r
+ * Plus, the keyPressedName is "1", and the keyPressed is "!".\r
+ *\r
+ * @param[in] keyEvent The instance of KeyEvent.\r
+ * @return The logical key symbol\r
+ */\r
+DALI_CORE_API std::string GetLogicalKey( KeyEvent keyEvent );\r
+\r
+} // namespace DevelKeyEvent\r
+\r
+} // namespace Dali\r
+\r
+#endif // DALI_KEY_EVENT_DEVEL_H\r
$(devel_api_src_dir)/common/stage-devel.cpp \
$(devel_api_src_dir)/events/hit-test-algorithm.cpp \
$(devel_api_src_dir)/events/touch-data-devel.cpp \
+ $(devel_api_src_dir)/events/key-event-devel.cpp \
$(devel_api_src_dir)/images/distance-field.cpp \
$(devel_api_src_dir)/images/texture-set-image.cpp \
$(devel_api_src_dir)/images/nine-patch-image.cpp \
devel_api_core_events_header_files = \
$(devel_api_src_dir)/events/hit-test-algorithm.h \
- $(devel_api_src_dir)/events/touch-data-devel.h
+ $(devel_api_src_dir)/events/touch-data-devel.h \
+ $(devel_api_src_dir)/events/key-event-devel.h
devel_api_core_images_header_files = \
$(devel_api_src_dir)/images/distance-field.h \