Skip to content

feat: Context-Aware Input Policy Pipeline with Decoupled UI Command Dispatch - #314

Draft
mverch67 wants to merge 107 commits into
masterfrom
input-policy
Draft

feat: Context-Aware Input Policy Pipeline with Decoupled UI Command Dispatch#314
mverch67 wants to merge 107 commits into
masterfrom
input-policy

Conversation

@mverch67

@mverch67 mverch67 commented May 18, 2026

Copy link
Copy Markdown
Collaborator
  • input handling is now policy-driven and context-aware, so the same keys can adapt to focused UI state instead of hard-coded per-driver behavior

  • the new pipeline cleanly separates key source, key-to-action mapping, policy evaluation, and UI command dispatch, which reduces coupling and makes behavior easier to extend

  • it also adds support for dedicated command keys and structured event decisions (pass, remap, consume, emit command/sequence) for predictable, testable input behavior

E.g. a keyboard with cursor keys can now use the cursor keys to navigate the map (context-aware) or move inside text input areas. ESC key to leave this mode.

Note:
As a usage example the new classes are used within the KeyMatrixInputDriver (PICOmputer). See also here.

Summary by CodeRabbit

  • New Features
    • Added a documented, policy-driven input pipeline with focus-aware remapping and UI command dispatch.
    • Introduced a WebDAV server with WiFi/MDNS start-stop, running/status reporting, and transfer progress tracking.
    • Expanded I2C keyboard support with new TM9 and STC8H drivers and pipeline-based matrix event handling.
  • Bug Fixes
    • Improved LVGL touch responsiveness with a configurable read timer (default 20ms) and safer timer setup.
    • Enhanced widget overlay/input grouping behavior and added WebDAV UI status update support.
    • Improved LVGL styling consistency (selector casting) and keyboard device probing reliability.
  • Tests
    • Added automated tests covering input policy and UI command dispatch behavior.

mverch67 and others added 30 commits May 13, 2026 03:23
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
@mverch67
mverch67 marked this pull request as draft August 1, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant