Trackball Pointer Mode & driver rewrite (#453)

This commit is contained in:
Shadowtrance
2026-01-24 02:30:13 +10:00
committed by GitHub
parent 01ffe420eb
commit b8214fd378
15 changed files with 850 additions and 209 deletions
+1
View File
@@ -10,6 +10,7 @@
// UI
#define TT_ASSETS_UI_SPINNER TT_ASSET("spinner.png")
#define TT_ASSETS_UI_CURSOR TT_ASSET("cursor.png")
// App icons
#define TT_ASSETS_APP_ICON_FALLBACK TT_ASSET("app_icon_fallback_dark_mode.png")
@@ -5,11 +5,10 @@
namespace tt::settings::keyboard {
struct KeyboardSettings {
bool backlightEnabled;
uint8_t backlightBrightness; // 0-255
bool trackballEnabled;
bool backlightTimeoutEnabled;
uint32_t backlightTimeoutMs; // Timeout in milliseconds
bool backlightEnabled = true;
uint8_t backlightBrightness = 127; // 0-255
bool backlightTimeoutEnabled = true;
uint32_t backlightTimeoutMs = 60000; // Timeout in milliseconds
};
bool load(KeyboardSettings& settings);
@@ -0,0 +1,27 @@
#pragma once
#include <cstdint>
namespace tt::settings::trackball {
enum class TrackballMode : uint8_t {
Encoder = 0, // Scroll wheel navigation (default)
Pointer = 1 // Mouse cursor mode
};
struct TrackballSettings {
bool trackballEnabled = false;
TrackballMode trackballMode = TrackballMode::Encoder;
uint8_t encoderSensitivity = 1; // Steps per tick (1-10)
uint8_t pointerSensitivity = 10; // Pixels per tick (1-10)
};
bool load(TrackballSettings& settings);
TrackballSettings loadOrGetDefault();
TrackballSettings getDefault();
bool save(const TrackballSettings& settings);
}