fa4a6e255c
- Added modular device support and devicetree bindings for ILI9341, ILI9488, CST816S, XPT2046, and GPIO button input, updating several board configurations for display/touch/backlight/keyboard/battery. - Added a setting to control deprecated HAL usage (device property + Kconfig).
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>;
};