summaryrefslogtreecommitdiff
path: root/src/tangara/input
AgeCommit message (Collapse)Author
2025-03-19ailurux/button-media-controls (#264)ailurux
Splits the control scheme into separate schemes for the side buttons and touchwheel, allowing them to be configured independently of each other. At least one input must be used for navigation, and there are guards to prevent locking oneself out of any input. If the input scheme is invalid, a pop up will show alerting the user. Different behaviours can be bound to the side buttons for when the device is locked or unlocked. This PR also adds a mode for these buttons that controls media playback (prev/next on up/down, pressing both buttons toggles play/pause). There are some changes to the way inputs handle locking. Rather than the input devices tracking the current locked mode, different input devices are created on lock depending on the mode that is configured. Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/264 Co-authored-by: ailurux <ailurux@noreply.codeberg.org> Co-committed-by: ailurux <ailurux@noreply.codeberg.org>
2025-02-07Add centre button haptic feedback on touch, and setting to disable/lessen ↵ailurux
haptics (#246) This adds a way for feedback devices to respond to events from outside of LVGL's event system, being passed from input device to feedback device through a vector. This was done so that touch events and long-press triggers can now give feedback through haptics. This PR also adds haptic modes, saved in nvs similarly to input and locked input modes, to disable or change the haptic effect behaviour based on which mode is selected. Finally, this also fixes a bug in which some click events would not trigger haptics, at the expense of re-introducing the (undesired?) behaviour of clicking a button that transitions to a new screen causing a double click. Relevant issues this should close: #195, #233, and (partially?) #120 Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/246 Co-authored-by: ailurux <ailuruxx@gmail.com> Co-committed-by: ailurux <ailuruxx@gmail.com>
2025-02-05Fix issue with last touch wheel time not being initialisedailurux
2025-02-03Merge pull request 'Add optional support for adjusting volume while locked' ↵cooljqln
(#230) from teisenbe/tangara-fw:locked_input into main Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/230
2025-02-02Add optional support for changing volume while lockedTess Eisenberger
This adds a new Controls setting for adjusting the behavior when locked, and an option for allowing volume control.
2025-02-02Add a new setting for input controls when lockedTess Eisenberger
This is just the plumbing of the new setting. The input methods will come in subsequent patches.
2025-02-01Don't detect center button touch until 250ms after wheel touchRockwell Schrock
2025-01-17Add commentjacqueline
2025-01-15Add a hard reset input sequence to recover from broken device statesjacqueline
- Unlock device - Hold both volume buttons - Lock device - Unlock device
2025-01-15Handle lock state in each input device, instead of in the lvgl driverjacqueline
2024-08-12Make FileGatherer shaped more like a normal iteratorjacqueline
2024-08-07Recalibrate the touchwheel after unlockingjacqueline
Also power it down whilst we're locked. This saves about half a milliamp.
2024-06-14Merge branch 'jqln/lvgl-bump'jacqueline
2024-06-13Scroll to 'top/bottom' by only 10 at a timejacqueline
Prevents a nasty device lockup when scrolling infinite lists
2024-06-12WIP fix issues introduced by lvgl version bumpjacqueline
2024-05-29Start on TTS support by logging the data that will become TTS linesjacqueline
Includes some misc cleanup of haptic double-triggering (or non-triggering), since those cases all end up being TTS event double-reporting, which to me crosses the threshold from "annoying" to "usability issue"
2024-05-10Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fwailurux
2024-05-10Tweaks to default d-pad controlsailurux
2024-05-09use long-press shortcuts again, but make them a bit harder to trigger ↵jacqueline
accidentally
2024-05-02move driver includes into a subdir as welljacqueline
2024-05-02start moving include files into subdirsjacqueline
2024-05-02WIP merge cyclically dependent components into one big componentjacqueline