Repository navigation
fix(keyboard): KeyModifier string parser no longer strips hyphen from key - #103
Merged
windingwind merged 1 commit intoJul 21, 2026
Merged
Conversation
… key The regex in the string constructor was intended for hyphen-separated input formats (e.g. Ctrl-Shift-B), but the canonical format used throughout KeyModifier is comma-separated (from getRaw()). Stripping hyphens breaks legitimate key characters in raw strings such as accel,-. Remove hyphen from the separator character class. The comma key is still handled by the existing fallback.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
new KeyModifier("accel,-")results inkm.key === ""instead ofkm.key === "-".The string constructor at
src/managers/keyboard.ts:191strips characters with regex[ ,\-]. The-was intended as a separator for hyphen-separated input formats (e.g.Ctrl-Shift-B), but the canonical format used throughoutKeyModifieris comma-separated (fromgetRaw()).Impact
Any key that contains or equals a hyphen (e.g.
-,=, or other special characters that might be affected) is lost when constructing from raw strings. This affects downstream plugins that useKeyModifierfor shortcut display and comparison.Reproduction
Fix
Remove
-from the separator character class in the regex. The comma key is still handled correctly by the existing fallback on line 194.