Allow any character(s) as a key in key binding.
ClosedPublic

Authored by mglb on May 23 2018, 10:57 PM.

Details

Summary

The key (the part before modifiers) is interpreted by QKeySequence.
For special keys (everything except printable characters), it uses names
from Qt::Key without Key_ prefix. For character keys, it uses the
character itself, and it is not possible to use e.g. Comma. For this
reason limited set of characters limits possible key bindings.

BUG: 385380
FIXED-IN: 18.08

Test Plan
  • In profile's key bindings settings (or your keysym file) create entry:
key ,-Shift+Ctrl-Alt+Ansi : "Hello from keysym"
  • Change -Alt to +Alt if you have a conflict. Do not change shift (the shortcut would trigger on < instead of ,). You can also use e.g. `;'[]= instead of ,. AltGr+letter works too, so ą, á, etc. can be used.
  • Save and close settings
  • Press Ctrl+,

Expected result: "Hello from keysym" is typed

Actual result:

  • the key binding does not work
  • empty rows appear in key bindings table

Diff Detail

Repository
R319 Konsole
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
mglb created this revision.May 23 2018, 10:57 PM
Restricted Application added a project: Konsole. · View Herald TranscriptMay 23 2018, 10:57 PM
Restricted Application added a subscriber: konsole-devel. · View Herald Transcript
mglb requested review of this revision.May 23 2018, 10:57 PM
mglb edited the test plan for this revision. (Show Details)May 23 2018, 11:18 PM

Thanks, this fixed 385380 correct? If you have debugging on, you can see invalid keybinding lines.

hindenburg edited the summary of this revision. (Show Details)May 24 2018, 4:45 PM
hindenburg edited the test plan for this revision. (Show Details)
hindenburg accepted this revision.May 24 2018, 7:56 PM
This revision is now accepted and ready to land.May 24 2018, 7:56 PM
This revision was automatically updated to reflect the committed changes.