daytona-controls
overview
A GUI editor for ElSemi Model 2 Emulator .input control-binding files. Lets you visually remap controls and save presets, removing the need to hand-edit the emulator's config files.
Supports live gamepad input detection so you can press a button to bind it directly.
tech stack
Language: Rust (2021 edition).
GUI: egui 0.27 + eframe 0.27 — immediate-mode GUI framework, produces a native desktop window.
Gamepad input: gilrs 0.10 — cross-platform gamepad/joystick library for live button detection.
Config serialisation: serde + toml 0.8 for reading and writing preset files. rfd 0.14 for native file dialogs (open/save).
Release build: LTO enabled, single codegen unit, symbols stripped — produces a small, fast binary.
development
The parser module handles reading ElSemi Model 2's .input binding format. The presets module manages saving and loading named control layouts. The gamepad module wraps gilrs to surface live input events to the UI.
The tool ships with a preset for the ASUS ROG Ally X (ally_x_default.toml).