From b255ea799eead9668e7fd69a286349ac4a74a73c Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 29 Apr 2024 12:42:16 +1000 Subject: Add lua bindings for override input hooks --- src/input/input_touch_dpad.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/input/input_touch_dpad.cpp') diff --git a/src/input/input_touch_dpad.cpp b/src/input/input_touch_dpad.cpp index f0805993..d8eff09b 100644 --- a/src/input/input_touch_dpad.cpp +++ b/src/input/input_touch_dpad.cpp @@ -55,7 +55,8 @@ auto TouchDPad::name() -> std::string { return "dpad"; } -auto TouchDPad::hooks() -> std::vector { +auto TouchDPad::triggers() + -> std::vector> { return {centre_, up_, right_, down_, left_}; } -- cgit v1.2.3 From 1736f7874b8f651ae42a21f48b6a15d90f30974a Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 29 Apr 2024 13:53:11 +1000 Subject: Use double-clicks instead of long-presses for wheel shortcuts --- src/input/input_touch_dpad.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/input/input_touch_dpad.cpp') diff --git a/src/input/input_touch_dpad.cpp b/src/input/input_touch_dpad.cpp index d8eff09b..df17d766 100644 --- a/src/input/input_touch_dpad.cpp +++ b/src/input/input_touch_dpad.cpp @@ -21,9 +21,9 @@ namespace input { TouchDPad::TouchDPad(drivers::TouchWheel& wheel) : wheel_(wheel), - centre_("centre", actions::select(), {}, {}), + centre_("centre", actions::select(), {}, {}, {}), up_("up", actions::scrollUp()), - right_("right", {}, {}, {}), + right_("right", {}), down_("down", actions::scrollDown()), left_("left", actions::goBack()) {} -- cgit v1.2.3 From 1573a8c4cde1cd9528b422b2dcc598e37ffe94a7 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 2 May 2024 19:12:26 +1000 Subject: WIP merge cyclically dependent components into one big component --- src/input/input_touch_dpad.cpp | 63 ------------------------------------------ 1 file changed, 63 deletions(-) delete mode 100644 src/input/input_touch_dpad.cpp (limited to 'src/input/input_touch_dpad.cpp') diff --git a/src/input/input_touch_dpad.cpp b/src/input/input_touch_dpad.cpp deleted file mode 100644 index df17d766..00000000 --- a/src/input/input_touch_dpad.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2024 jacqueline - * - * SPDX-License-Identifier: GPL-3.0-only - */ - -#include "input_touch_dpad.hpp" - -#include - -#include "hal/lv_hal_indev.h" - -#include "event_queue.hpp" -#include "haptics.hpp" -#include "input_device.hpp" -#include "input_hook_actions.hpp" -#include "input_touch_dpad.hpp" -#include "touchwheel.hpp" - -namespace input { - -TouchDPad::TouchDPad(drivers::TouchWheel& wheel) - : wheel_(wheel), - centre_("centre", actions::select(), {}, {}, {}), - up_("up", actions::scrollUp()), - right_("right", {}), - down_("down", actions::scrollDown()), - left_("left", actions::goBack()) {} - -auto TouchDPad::read(lv_indev_data_t* data) -> void { - wheel_.Update(); - auto wheel_data = wheel_.GetTouchWheelData(); - - centre_.update(wheel_data.is_button_touched, data); - - up_.update( - wheel_data.is_wheel_touched && - drivers::TouchWheel::isAngleWithin(wheel_data.wheel_position, 0, 32), - data); - right_.update( - wheel_data.is_wheel_touched && drivers::TouchWheel::isAngleWithin( - wheel_data.wheel_position, 192, 32), - data); - down_.update( - wheel_data.is_wheel_touched && drivers::TouchWheel::isAngleWithin( - wheel_data.wheel_position, 128, 32), - data); - left_.update( - wheel_data.is_wheel_touched && - drivers::TouchWheel::isAngleWithin(wheel_data.wheel_position, 64, 32), - data); -} - -auto TouchDPad::name() -> std::string { - return "dpad"; -} - -auto TouchDPad::triggers() - -> std::vector> { - return {centre_, up_, right_, down_, left_}; -} - -} // namespace input -- cgit v1.2.3