mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-10-17 19:05:07 +00:00
- Implemented themes with LSS: material, material mono - Implemented grid-based navigation - Added new Launcher - Updated Appearance app to add theme configuration - Updated various apps to improve UX/UI - Added LVGL widgets: cards, badges, chips, icon buttons - Added support for round/rounded displays - Added the concept of insets to LVGL and implemented it in toolbar + statusbar - Terminal app now hides toolbar by default, but tapping the terminal toggles visibility - File browsing now opens the configured user-data location by default - Added missing licenses to subprojects - Updated README.md screenshots and intro text
Button Control
Kernel driver for navigating apps with 1 or 2 GPIO buttons. Kernel-driver counterpart to
Drivers/ButtonControl, exposing a KEYBOARD_TYPE device (tactility/drivers/keyboard.h)
instead of an LVGL encoder indev.
Devicetree binding: tactility,button-control (see bindings/tactility,button-control.yaml).
Modes
- One-button (
pin-secondaryabsent): short press =LV_KEY_NEXT, long press =LV_KEY_ENTER. - Two-button (
pin-secondarypresent): primary short =LV_KEY_ENTER, primary long =LV_KEY_ESC, secondary short =LV_KEY_NEXT, secondary long =LV_KEY_PREV.
Short vs. long press is only decided when the button is released, by comparing the hold
duration against long-press-ms - not at the moment it's pressed.
Example
buttons {
compatible = "tactility,button-control";
pin-primary = <&gpio0 37 GPIO_FLAG_NONE>;
pin-secondary = <&gpio0 39 GPIO_FLAG_NONE>;
};