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

feat: 'Non-US \' on builtin keyboards #141

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

ids1024
Copy link
Member

@ids1024 ids1024 commented Jun 27, 2022

'Non-US \' is not listed, since the PS/2 keycode for that is the same as 'Backlash'. The UI around non-US layouts could be improved, but that's already an issue and this at least makes it possible to set this mapping.

This does not add the PAUSE and SCROLL_LOCK keycodes that have been added to EC. At least with PAUSE, this is complicated since it won't work on older firmware, and we should probably test for that (#140).

Fixes #127.

@ids1024 ids1024 requested review from a team June 27, 2022 20:53
@linuxgnuru linuxgnuru self-assigned this Jun 28, 2022
@linuxgnuru
Copy link

If using an ISO keyboard with this and after several key presses the system will halt and even the power button is unusable.

com.system76.keyboardconfigurator.desktop[6572]: [ERROR] Failed to get matrix: WouldBlock

@ids1024
Copy link
Member Author

ids1024 commented Jun 28, 2022

Huh, all this does is set a keycode. I guess something may not be quite right in the EC firmware...

What laptop is that with, on what firmware version?

@linuxgnuru
Copy link

linuxgnuru commented Jun 28, 2022

darp6, 2021-07-20_93c2809, but I wonder if it's an issue with upstream, I'll test with an unpatched one

@linuxgnuru
Copy link

ok, it might just be this darp6; using ansi and iso keyboards after typing a few keys it locks up

@linuxgnuru
Copy link

linuxgnuru commented Jul 11, 2022

Used different laptop and ISO keyboard. If set to UK keyboard the # key works but the 'non-us #' key in either US or UK mode always uses '\' and never the '#' key.

xev -event keyboard shows the following when I press the ISO # and the keyboard configurator 'Non-US #'

KeyRelease event, serial 28, synthetic NO, window 0xf400001,
    root 0x939, subw 0x0, time 1140218, (99,115), root:(139,310),
    state 0x0, keycode 51 (keysym 0x23, numbersign), same_screen YES,
    XLookupString gives 1 bytes: (23) "#"
    XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0xf400001,
    root 0x939, subw 0x0, time 1144143, (99,115), root:(139,310),
    state 0x0, keycode 94 (keysym 0x5c, backslash), same_screen YES,
    XLookupString gives 1 bytes: (5c) "\"
    XmbLookupString gives 1 bytes: (5c) "\"
    XFilterEvent returns: False

@ids1024
Copy link
Member Author

ids1024 commented Jul 13, 2022

Hm, but K_BACKSLASH = K_INT_2, while this is using K_INT_2, so it seems strange that it would output that...

@ids1024
Copy link
Member Author

ids1024 commented Jul 13, 2022

Okay, I guess that's expected, since the \ key on the US layout generates # on UK? So they're swapped from what one might expect...

(We really need a UI that can adapt to keyboard layout.)

@ids1024 ids1024 changed the title feat: 'Non-US #' on builtin keyboards feat: 'Non-US \' on builtin keyboards Jul 13, 2022
'Non-US #' is not listed, since the PS/2 keycode for that is the same as
'Backlash'. The UI around non-US layouts could be improved, but that's
already an issue and this at least makes it possible to set this
mapping.

This does not add the `PAUSE` and `SCROLL_LOCK` keycodes that have
been added to EC. At least with `PAUSE`, this is complicated since it
won't work on older firmware, and we should probably test for that
(#140).

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

Successfully merging this pull request may close these issues.

"Non-US #" and "Non-US \" symbols not available on built-in System76 laptop keyboards
2 participants