diff --git a/radio/src/gui/colorlcd/preview_window.h b/radio/src/gui/colorlcd/preview_window.h index 6af581a63..40702acb8 100644 --- a/radio/src/gui/colorlcd/preview_window.h +++ b/radio/src/gui/colorlcd/preview_window.h @@ -198,7 +198,7 @@ class ThemedTextEdit : public TextEdit colorMaintainer.restoreColorValues(); } -#if defined(SOFTWARE_KEYBOARD) +#if defined(HARDWARE_TOUCH) bool onTouchEnd(coord_t x, coord_t y) override { return true; diff --git a/radio/src/keys.h b/radio/src/keys.h index 519f2854c..c8116d407 100644 --- a/radio/src/keys.h +++ b/radio/src/keys.h @@ -33,7 +33,7 @@ constexpr event_t EVT_ENTRY_UP = 0x1002; constexpr event_t EVT_ROTARY_LEFT = 0x1003; constexpr event_t EVT_ROTARY_RIGHT = 0x1004; -#if defined(PCBHORUS) || defined (PCBNV14) +#if defined(COLORLCD) constexpr event_t _MSK_KEY_BREAK = 0x0200; constexpr event_t _MSK_KEY_REPT = 0x0400; constexpr event_t _MSK_KEY_FIRST = 0x0600; @@ -47,7 +47,7 @@ constexpr event_t _MSK_KEY_LONG = 0x0080; constexpr event_t _MSK_KEY_FLAGS = 0x00E0; #endif -#if defined(HARDWARE_TOUCH) +#if defined(COLORLCD) constexpr event_t _MSK_VIRTUAL_KEY = 0x2000; constexpr event_t EVT_VIRTUAL_KEY(uint8_t key) diff --git a/radio/src/lua/lua_event.cpp b/radio/src/lua/lua_event.cpp index 5e7991570..9ef44619d 100644 --- a/radio/src/lua/lua_event.cpp +++ b/radio/src/lua/lua_event.cpp @@ -28,12 +28,6 @@ extern "C" { #include "lua.h" }; -#define EVT_TOUCH_SWIPE_LOCK 4 -#define EVT_TOUCH_SWIPE_SPEED 60 -#define EVT_TOUCH_SWIPE_TIMEOUT 50 - -static tmr10ms_t _swipeTimeOut = 0; - static LuaEventData _lua_event_buffer[EVENT_BUFFER_SIZE]; LuaEventData::LuaEventData() @@ -80,6 +74,14 @@ LuaEventData* luaGetEventSlot(event_t event) return nullptr; } +#if defined(HARDWARE_TOUCH) + +#define EVT_TOUCH_SWIPE_LOCK 4 +#define EVT_TOUCH_SWIPE_SPEED 60 +#define EVT_TOUCH_SWIPE_TIMEOUT 50 + +static tmr10ms_t _swipeTimeOut = 0; + static void l_pushtableint(lua_State* ls, const char * key, int value) { lua_pushstring(ls, key); @@ -129,3 +131,4 @@ void luaPushTouchEventTable(lua_State* ls, LuaEventData* evt) } } } +#endif diff --git a/radio/src/lua/lua_widget.cpp b/radio/src/lua/lua_widget.cpp index f771f57a2..99e72b25c 100644 --- a/radio/src/lua/lua_widget.cpp +++ b/radio/src/lua/lua_widget.cpp @@ -43,7 +43,16 @@ void LuaEventHandler::event_cb(lv_event_t* e) if (!win) return; lv_event_code_t code = lv_event_get_code(e); - if (code == LV_EVENT_PRESSED || code == LV_EVENT_PRESSING) { + if (code == LV_EVENT_KEY) { + uint32_t key = *(uint32_t*)lv_event_get_param(e); + if (key == LV_KEY_LEFT) { + win->onEvent(EVT_ROTARY_LEFT); + } else if (key == LV_KEY_RIGHT) { + win->onEvent(EVT_ROTARY_RIGHT); + } + } +#if defined(HARDWARE_TOUCH) + else if (code == LV_EVENT_PRESSED || code == LV_EVENT_PRESSING) { lv_area_t obj_coords; lv_obj_get_coords(obj, &obj_coords); @@ -95,18 +104,13 @@ void LuaEventHandler::event_cb(lv_event_t* e) _startX = rel_pos.x; _startY = rel_pos.y; } - } else if (code == LV_EVENT_KEY) { - uint32_t key = *(uint32_t*)lv_event_get_param(e); - if (key == LV_KEY_LEFT) { - win->onEvent(EVT_ROTARY_LEFT); - } else if (key == LV_KEY_RIGHT) { - win->onEvent(EVT_ROTARY_RIGHT); - } } +#endif } void LuaEventHandler::onClicked() { +#if defined(HARDWARE_TOUCH) auto click_source = lv_indev_get_act(); bool is_pointer = lv_indev_get_type(click_source) == LV_INDEV_TYPE_POINTER; if (is_pointer) { @@ -122,9 +126,11 @@ void LuaEventHandler::onClicked() es->touchY = point_act.y; es->tapCount = 1; _sliding = false; - } else { - luaPushEvent(EVT_KEY_BREAK(KEY_ENTER)); + return; } +#endif + + luaPushEvent(EVT_KEY_BREAK(KEY_ENTER)); } void LuaEventHandler::onCancel() @@ -134,11 +140,6 @@ void LuaEventHandler::onCancel() void LuaEventHandler::onEvent(event_t event) { - // if (event == EVT_KEY_LONG(KEY_EXIT)) { - // // Exits widget fullscreen / standalone LUA - // lv_indev_wait_release(lv_indev_get_act()); - // } - luaPushEvent(event); } diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index f65d64ca2..fc3e17bd8 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -248,7 +248,6 @@ set(GVAR_SCREEN model_gvars.cpp) if(HARDWARE_TOUCH) set(TOUCH_DRIVER tp_gt911.cpp i2c_driver.cpp) add_definitions(-DHARDWARE_TOUCH) - set(SOFTWARE_KEYBOARD ON) endif() if(SWSERIALPOWER) diff --git a/radio/src/targets/nv14/CMakeLists.txt b/radio/src/targets/nv14/CMakeLists.txt index a091e0e3a..64c690cf9 100644 --- a/radio/src/targets/nv14/CMakeLists.txt +++ b/radio/src/targets/nv14/CMakeLists.txt @@ -66,13 +66,11 @@ set(RADIO_DEPENDENCIES ${RADIO_DEPENDENCIES} ${BITMAPS_TARGET}) set(FIRMWARE_DEPENDENCIES datacopy) set(HARDWARE_TOUCH ON) -set(SOFTWARE_KEYBOARD ON) add_definitions( -DSTM32F429_439xx -DSTM32F429xx -DSDRAM -DCOLORLCD -DLIBOPENUI - -DHARDWARE_TOUCH -DHARDWARE_KEYS - -DSOFTWARE_KEYBOARD) + -DHARDWARE_TOUCH -DHARDWARE_KEYS) add_definitions(-DEEPROM_VARIANT=0 -DAUDIO -DVOICE -DRTCLOCK) add_definitions(-DGPS_USART_BAUDRATE=${INTERNAL_GPS_BAUDRATE}) diff --git a/radio/src/thirdparty/libopenui b/radio/src/thirdparty/libopenui index 3eb6cf38f..9daecc616 160000 --- a/radio/src/thirdparty/libopenui +++ b/radio/src/thirdparty/libopenui @@ -1 +1 @@ -Subproject commit 3eb6cf38fba3e1e5563bbd934602b67d82178533 +Subproject commit 9daecc616427ab7e6c2eb2f970bd422679b0b7a8