feat(modules): label the auto layer deactivate-on-key setting - #162
Conversation
K:04 firmware v0.1.10 exposes a new Vial QMK setting (qsid 335) that drops
the pointing auto layer as soon as a non-mouse key is pressed. Entropy builds
the module settings page straight from the device definition, so the row
appears on its own, but it rendered with the raw English title and the
generic "Firmware setting: {field}" tooltip.
Add the label and tooltip to the module setting catalog and to both
translation catalogs, and cover the path with a test that feeds a definition
JSON through module_settings_groups and asserts the field lands in the Auto
Layer group as a localized boolean row visible in every pointer mode.
Claude-Session: https://claude.ai/code/session_017y8Qh1NR26NxtP2wR1nPLu
kissetfall
left a comment
There was a problem hiding this comment.
The Entropy changes follow the existing firmware-driven settings, capability filtering and localization paths. No blocking functional issue found at this head. I verified 37 exact-head module-settings tests, 2 supplemental compatibility/localization tests, 1 old-client fallback test, and the i18n checker. The four changed paths also merge cleanly with current main 004dbff2.
This client-side localization change can land independently of the firmware behavior fix in ergohaven/rmk#19: older firmware does not expose the field, and older Entropy already handles it through the generic settings UI. Please see the nonblocking tooltip suggestion inline. CI still needs to pass before merge.
| auto_layer_scroll_tooltip = "Automatically switch to the selected layer in scroll mode" | ||
| auto_layer_text_tooltip = "Automatically switch to the selected layer in text mode" | ||
| auto_layer_timeout_tooltip = "How long the firmware keeps the auto layer active after module movement stops" | ||
| auto_layer_deactivate_on_key_tooltip = "Turn the auto layer off as soon as any non-mouse key is pressed" |
There was a problem hiding this comment.
P3, nonblocking: any non-mouse key is broader than the firmware contract: layer-switch actions, ordinary macro triggers, pointer-mode User actions and bare Again include intentional exceptions. Please qualify the wording or mention those exceptions rather than promising every physical non-mouse key. The corresponding Russian tooltip in i18n/ru.toml should stay consistent. This is a copy clarification, not a request to change the firmware classifier.
What
K:04 firmware
v0.1.10exposes a new Vial QMK setting,Auto layer deactivate on key(qsid 335), which drops the pointing auto layer as soon as a non-mouse key is pressed instead of waiting out the inactivity timeout.Entropy builds the module settings page straight from the device definition (
module_settings_groups), so the row appears on its own once firmware advertises it — but with the raw English title and the genericFirmware setting: {field}tooltip. This adds the label and tooltip.Changes
src/ui/module_settings.rs— catalog entry mapping the title to its label/tooltip keyssrc/i18n.rs—static_catalog_keyentryi18n/en.toml,i18n/ru.toml— label + tooltip stringsmodule_settings_groupspipeline, asserting the field lands in the Auto Layer group as a boolean row, visible in every pointer mode, and localized in both languagesNo production code references qsid 335 — resolution is by title string, so this stays firmware-driven.
Firmware side
Requires ergohaven/rmk#19, which allocates qsid 335 and implements the behaviour. Without it the row simply does not appear; with an older Entropy the row appears untranslated. No hard dependency in either direction.
Verification
cargo test --bin entropy— 657 passed, 0 failedcargo fmt --check— no diffs in any touched file (pre-existing drift inkeycode.rs,layout_hints.rs,layout_indicator_window.rsleft alone)scripts/check_i18n.py— clean🤖 Generated with Claude Code
https://claude.ai/code/session_017y8Qh1NR26NxtP2wR1nPLu