-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux: xcape compatibility - use virtual-key codes for processing keybindings #557
Comments
Seems related to #520 |
This should be addressed now in the move from GLFW -> SDL2 |
I'm still unable to use I have caps-lock remapped to esc through native Windows keyboard layout (so: 0x3A capslock 🡒 0x1B VK_ESCAPE). This works system-wide while Oni logs: [INFO] Input - got keydown - text input:true
[INFO] Input - keyPressToString - key name: CapsLock
[INFO] Input - keyPressToString - processing keycode: 1073741881|CapsLock
[INFO] keyPressToString - key blocked: CapsLock It seems this is an issue with SDL's key events: they don't seem to be translated through the system's keyboard layout. Testing an empty SDL project with |
|
Ah, sorry I wasn't clear! The SDL2 changes are actually in, and we are now using the Although - seems like there are still bugs (either in our integration, or in SDL2's handling)! @Azumgi - which non-QWERTY layout are you using? I just tested with dvorak via Do you have a specific repro I can try? Keyboard layout + keystrokes you tried? Are you using |
(And following up with @mrkishi on Discord to get more info on how CapsLock is being re-mapped on Windows) EDIT: Looks like the Windows keyboard layout is being created with http://www.kbdedit.com/ |
I'm using xcape to map capslock to ctrl and escape and I'm having similar issues. Capslock mapped to escape work, Capslock mapped to Ctrl doesn't work. I tried searching for some onivim log but I can't find it? |
Having the same issue in Gnome 3. Remapped caps lock to control. Trying to use caps lock as control doesn't work in oni2 |
I can confirm, I have the same issue |
@bryphe I'm sorry for leaving a partially wrong comment and not answering/clarifying anything afterwards. Got some IRL problems to deal with, so I had to cease almost all my online activities for a couple of months. So, I played with the new changes a little. While switching from GLFW to SDL2 was a big improvement, Oni keypresses handling still have some inconveniences.
Maybe (2) and (3) are irrelevant to Oni, I'm not sure. |
Atom (with vim-mode-plus) is the only editor where non-latin layouts works seamlessly out of the box. Also I would like to highlight the case of punctuation commands in normal mode (i.e. |
I use Microsoft Powertools (formerly autohotkey) to remap my CTRL and ALT on my keyboard. Omnivim doesn't detect these remaps nor does it detect the keys' original keycodes. This means no shortcuts work, at all, rending Omnivim entirely unusable. This is on Windows 10. Is there going to be any resolution to this issue or should I refund? |
@ianelletson - I worried about this getting buried so I opened a new issue to track: #2164 I suspect there's different root causes, per-platform, so wanted to make sure this didn't get lost. Most of the investigation on this particular issue has been related to Linux (
All the issues marked daily editor blocker are on our radar to fix. Just a matter of timeframe - there may be a quick fix, or it might involve a more in-depth revamp of our input layer (in other words... if SDL2 doesn't support it - will be more work!) If you don't want to wait - happy to refund you, just send me an e-mail (the one on my github profile is perfect). |
For now, switching to non-English keyboard layout or pressing Caps Lock renders Oni2 unusable (terminal Vim legacy). Perhaps, using virtual-key codes just like VSCode (and other modern text editors) would be a good idea? So no matter which layout is being used (EN QWERTY, EN DVORAK, RU ЙЦУКЕНГ, FR AZERTY, etc.), and whether Caps Lock pressed or not, keybindings are always processed correctly.
Note that VSCode implementation still has some flaws.
The text was updated successfully, but these errors were encountered: