chatterino2
chatterino2 copied to clipboard
Non-default modifier key letters need double-input (neo2)
Checklist
- [X] I'm reporting a problem with Chatterino
- [X] I've verified that I'm running the most recent nightly build or stable release
- [X] I've looked for my problem on the wiki
- [X] I've searched the issues and pull requests for similar looking reports
Describe your issue
I am using neo2 layout through Windows. ReNeo is a program running in userspace to smooth out some stuff and add e.g. capslock when pressing both Shifts, that the native driver doesn't support.
When using Chatterino, it does not write any letter that uses the layer 3 (capslock / backspace on other side). However, if I either double-tap the modifier and then press the letter or double-type the character (with the modifier held), it shows up. No shortcuts, afaik, do take these keys.
The output of a JS Key Event Tester for this mode is the following:
keydown keyCode=226 which=226 charCode=0
keydown keyCode=68 (D) which=68 (D) charCode=0
keypress keyCode=58 (:) which=58 (:) charCode=58 (:)
keyup keyCode=68 (D) which=68 (D) charCode=0
keyup keyCode=226 which=226 charCode=0
Notice the additional keydown, that doesn't result in a keypress however.
With ReNeo enabled, it seemingly will hide that keydown and Chatterino works as expected:
keydown keyCode=231 which=231 charCode=0
keypress keyCode=58 (:) which=58 (:) charCode=58 (:)
keyup keyCode=231 which=231 charCode=0
Why am I filing a bug for this? Because Windows and most robust programs, like Chrome, VSCode, etc do not need the ReNeo fix to recognize the layer 3 correctly. Also the double-keypress trigger seems like it is waiting for that key in a key combo?
Screenshots
No response
OS and Chatterino Version
Chatterino 2.3.5 (commit 81a62764c), Win10
As far as I can tell this is a Qt (and apparently GTK as well) issue, so I’m afraid there’s nothing we can do to fix this.
There is an issue thread about it on the neo gitea (in german): https://git.neo-layout.org/neo/neo-layout/issues/510
It is also referenced in the ReNeo readme: https://github.com/Rojetto/ReNeo/blob/master/README_EN.md#features (take a look under “Features -> As an extension to the native driver” or just search for qt)
I'm closing this, this is not our issue.