Skip to content

#2174 feat: add default do not remap preference#2178

Open
keymapper-ai wants to merge 1 commit into
developfrom
claude/issue-2174-do-not-remap-default
Open

#2174 feat: add default do not remap preference#2178
keymapper-ai wants to merge 1 commit into
developfrom
claude/issue-2174-do-not-remap-default

Conversation

@keymapper-ai

Copy link
Copy Markdown
Collaborator

Summary

Closes #2174.

Adds a "Do not remap by default" toggle to the Change Default Options settings page (Settings → Change default options). When enabled, new trigger keys added to a key map will have consumeEvent = false by default — meaning the original key event is passed through to other apps rather than being consumed by Key Mapper.

Changes

  • data/Keys.kt — adds defaultDoNotRemap boolean DataStore key (pref_default_do_not_remap)
  • data/PreferenceDefaults.kt — adds DO_NOT_REMAP = false default constant
  • GetDefaultKeyMapOptionsUseCase — exposes defaultDoNotRemap: StateFlow<Boolean> backed by the new preference key
  • SettingsViewModel — extends defaultSettingsScreenState via a nested combine to include doNotRemap; adds onDefaultDoNotRemapChanged callback override; adds doNotRemap field to DefaultSettingsState
  • DefaultOptionsSettingsScreen — adds a SwitchPreferenceCompose for the new preference and onDefaultDoNotRemapChanged to DefaultOptionsSettingsCallback
  • ConfigTriggerDelegate — adds defaultDoNotRemap: Boolean = false parameter to both addKeyEventTriggerKey and addEvdevTriggerKey; uses it as the initial value of consumeEvent (modifier keys still force it to false regardless)
  • ConfigTriggerUseCase — passes defaultDoNotRemap.value from GetDefaultKeyMapOptionsUseCase to the delegate when adding new trigger keys
  • strings.xml — adds title_pref_default_do_not_remap and summary_pref_default_do_not_remap
  • CHANGELOG.md — adds entry under 4.2.0 Added

Generated by Claude Code

Add a "Do not remap by default" toggle to the Change Default Options settings
page. When enabled, new trigger keys will have consumeEvent = false by default,
letting the original key event pass through to other apps.
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.

Add Do Not Remap preference to 'Change default options' page

2 participants