-
Notifications
You must be signed in to change notification settings - Fork 424
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
Custom backspace buttons on windows language don't work. #1463
Comments
See opentk/opentk#666. If I understand this correctly, OpenTK currently uses the physical key location (aka "scancodes") instead of what you set your OS to do with the key (aka windows "virtual key"), so it'll always see the physical keys like they would be used on a US QWERTY keyboard. |
Occurs for me on Linux too. |
We've actually done a lot of work surrounding key input and key codes, to the point I'd wager that the original issue has been fixed (needs confirmation). @yellowsink can you give more details about your setup to cause issue? |
@ppy
Under all cases Capslock does not work as a backspace in osu!lazer where it does work most if not everywhere under the respective OS/environments |
If you map Capslock in osu! keybind settings, does it show up as Capslock ( Please test on Windows and Linux, if possible. |
@Susko3 |
@columna1 has said pretty much all I was going to say. I am running i3wm, but have experienced this in sway too. Also I use Colemak as my primary layout - with the built in setxkbmap colemak us variant. |
Done a bit of digging, and SDL currently doesn't play nice with remapped non-letter keys on windows. It simply ignores the keymap (relavent code). We currently use scancodes to map keys, so caps lock key is always treated as caps lock internally in the framework. For most of the hotkeys it does make sense to use keycodes (eg. Ctrl+Z - every keyboard layout has a Using physical key position (scancodes) also makes sense for default bindings for gameplay osu!-side. Not really sure what's the best way to proceed here. Also relevant: ppy/osu#11143. |
Also relevant: #3950 |
@columna1 @yellowsink Could you test this again, but with extended logging enabled:
|
@Susko3 Arch linux wayland (wlroots/labwc) |
Relevant log entry: SDL EVENT: SDL_KEYDOWN (timestamp=17098 windowid=1 state=pressed repeat=false scancode=57 keycode=8 mod=0)
Thanks, what I have in mind for the fix should work for you. If you're able to, please also test on windows. |
I no longer have a dual boot/windows machine however I do have a windows 11 VM. and this is what I get:
I include 4 lines because it seems to flip the mod state as well |
Thanks for the logs, unfortunately this won't work on windows. I'll report to upstream. In the meantime, remapping with PowerToys Keyboard Manager will work.
|
#2216 posted here as it's a framework issue.
I use a keyboard layout called Colemak which maps the caps lock button to backspace. This backspace doesn't work for me using the windows language feature to switch layouts.
I haven't tried with other buttons mapped to backspace, just the caps lock button
To reproduce:
either create a new layout with msklc
https://forum.colemak.com/topic/870-hacked-msklc-to-enable-remapping-capslock/
or download and install the layout and switch to it from the language menu
https://forum.colemak.com/topic/1621-colemak-for-windows-with-capslock-to-backspace/
and then try to use the backspace.
The text was updated successfully, but these errors were encountered: