git.lucas.co / cce-system-interface
system settings
git clone https://git.lucas.co/cce-system-interface.git

commit30a711c6b1c83f76d929d4d4e7c4b2cc98d3f86d
parent224e31d043
authorLucas Galante <[email protected]>
date2026-09-08 21:44
feat: navigate in plate terms

Opt into cce-ui's Tab traversal (Application::plate_navigation): Tab and
Shift+Tab walk the plates and wells in reading order, each lighting its own
rim; a press acts on a plate, a well opens for typing.

Co-Authored-By: Claude Fable 5.1 <[email protected]>

 src/main.rs | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/main.rs b/src/main.rs
index 6ee4c1e..2e41ef1 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -604,6 +604,12 @@ impl cce_ui::engine::Application for SystemInterface {
         }
     }
 
+    /// Tab walks the page's plates and wells (cce-ui's navigation in plate
+    /// terms); the section chords in input.kdl keep their own walk.
+    fn plate_navigation(&self) -> bool {
+        true
+    }
+
     fn handle_key_input(&mut self, event: &cce_ui::widget::KeyEvent, needs_rebuild: &mut bool) -> Option<Self::Message> {
         if self.handle_key_input_internal(event) {
             *needs_rebuild = true;