Cannot create binds containing a modifier and plain letters for non-ascii layouts
Version info: qutebrowser v3.7.0 Git commit: Backend: QtWebEngine 6.11.1 based on Chromium 140.0.7339.225 with security patches up to 148.0.7778.96 (plus any distribution patches) (source: api) Qt: 6.11.1
Does the bug happen if you start with --temp-basedir?
Yes.
Description
If a bind contains a modified Unicode key, and a plain Unicode key, e.g. <Ctrl-ч>щ, it won't trigger. Interestingly enough, just <Ctrl-x> and щ by themselves seem to work fine, it's their combination that messes everything up.
How to reproduce
- Define this bind (this mimics Emacs'
<C-x>kbind to kill a buffer):
config.bind('<Ctrl-ч>л', 'tab-close')- Try to use it
I wrote about this in #8953, but it didn't get much traction, so I'm reposting here. There I described a particular use case for Unicode binds -- a function that converts existing binds to their cross-layout equivalents, like with <Ctrl-x>o to <Ctrl-ч>щ.
Source: qutebrowser/qutebrowser