Skip to content
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

Setting keyboard layout to colemak does not remap keybindings #1601

Closed
paganma opened this issue Oct 30, 2022 · 6 comments · Fixed by #2247
Closed

Setting keyboard layout to colemak does not remap keybindings #1601

paganma opened this issue Oct 30, 2022 · 6 comments · Fixed by #2247
Milestone

Comments

@paganma
Copy link

paganma commented Oct 30, 2022

Describe the bug
After setting the xkb layout as follows:

xkb_layout = us
xkb_model = 
xkb_options = 
xkb_rules = evdev
xkb_variant = colemak

A key KEY_* will not be bound to the key in the Colemak layout, but in the QWERTY layout.

To Reproduce
Using the configuration above, bind any key (e.g. KEY_T). Using colemak, the binding will be placed on KEY_F (which corresponds to the same button in the QWERTY layout).

Expected behavior
I would expect all the keys to be bound with respect to the colemak layout, as opposed to the qwerty layout.

Wayfire version
0.7.4

@paganma paganma added the bug label Oct 30, 2022
@ammen99
Copy link
Member

ammen99 commented Oct 30, 2022

The current behavior is intentional. You can, however, change all bindings to your preference.

@occivink
Copy link
Contributor

Is this design decision open to being reconsidered? The QWERTY layout assumption is especially problematic for international users who use different keyboard layout.
It makes it difficult for a user of a non-QWERTY layout to troubleshoot why their keybinding is not working: a french user with the AZERTY layout needs to know that in order to bind something to super+A, they really need to use <super> + KEY_Q. Even if one is aware of this, they need to consult the QWERTY keymap anytime they want to remap a bindings, to know what binding they really need to use. It gets even worse when people start using non-standard keyboard layout.

I understand that perfect internationalization is close to impossible, and I think it's fine that one needs to understand english in order to use/configure wayfire, since there is no reasonable solution to this. But the position of keys on the american keyboard layout is not common knowledge.

Such an approach is understandable for a video game, where the position of the key is what matters most, but I don't see why it should be this way for a desktop environment.

@ammen99
Copy link
Member

ammen99 commented Oct 30, 2022

There are no plans to change this. If anything, it may become possible in the future to create a plugin which overrides this behavior, but I am still not sure how the API for bindings is going to end up (there are some changes pending), so I will be able to provide a bit more information on the (in)feasibility of this after the 0.8 release (even though 0.8 itself is unlikelly to happen soon).

@ammen99
Copy link
Member

ammen99 commented Oct 10, 2023

After a bit of discussion on HackerNews, I got a bit better understanding of the actual problem. People don't want to just configure the keys according to a particular layout - the actual 'issue' here is that they expect the key binding changes together with the layout. Unfortunately, the 0.8.0 changes didn't make this possible to implement as a plugin.

I would reconsider adding this as an option if there are enough interested people. React with a thumbs up to this comment if you are interested in having this option (though the defaults will certainly remain as they are now). Please, react only if you actually use Wayfire or would use it if it had this feature :)

@ammen99 ammen99 reopened this Oct 10, 2023
@ammen99 ammen99 added enhancement low-priority Issues that aren't likely to be resolved soon and removed bug wontfix labels Oct 10, 2023
@ammen99
Copy link
Member

ammen99 commented Oct 13, 2023

Alright, seems like there are enough users requesting this .. I'll try to implement for the next release (or at least make it possible to write a plugin for it).

@ammen99 ammen99 removed the low-priority Issues that aren't likely to be resolved soon label Oct 13, 2023
@ammen99 ammen99 added this to the 0.9 milestone Oct 13, 2023
ammen99 added a commit that referenced this issue Mar 23, 2024
@ammen99 ammen99 mentioned this issue Mar 23, 2024
@ammen99
Copy link
Member

ammen99 commented Mar 23, 2024

Pinging everybody who requested this, check out #2247 (requires an unmerged wf-config PR as well, WayfireWM/wf-config#66)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants