-
Notifications
You must be signed in to change notification settings - Fork 27
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
Some specific keymappings do not work #171
Comments
I tested the config a bit. Did you notice that then pressing If you modify the second block of mappings to this, does it then do what you'd expect: Control >> AltLeft
AltLeft >> Shift
AltRight >> Control
# You likely want to forward Shift as well
Shift >> Shift
# Control+Shift+QWERTYUIOP is sent as is
TopRow = Q | W | E | R | T | Y | U | I | O | P
(Control Shift TopRow) >> !AltLeft (Control Shift TopRow) |
Couple of tools to test mappings you might have not tried:
|
FYI @houmain, the link above might be useful to mention in |
@giatmanos Another thing you could try is remapping the modifiers in an initial stage. This way you could use the mapped key names for the key combinations: IntlBackslash >> Escape
CapsLock >> Tab
Tab >> Delete
Control >> AltLeft
AltLeft >> Shift
AltRight >> Control
[stage]
# immediately forward common modifier keys
Control >> Control
Alt >> Alt
Shift >> Shift
Meta >> Meta
# Arrow keys mappings
Alt{J} >> ArrowDown
Alt{K} >> ArrowUp
Alt{H} >> ArrowLeft
Alt{L} >> ArrowRight |
Thanks @ristomatti for all the insights. Just to clarify, what I am trying to achieve with this keymapping config is to:
This resembles much more closely the layout of my custom keyboard which I feel at home with and therefore I don't need to bring it with my surface device and completely break portability. So to answer your question directly: I desire to physically press (AltLeft AltRight T) and register it on my machine as (Control Shift T) and equally with V. With the
The first KeyRelease events for Control_L and Shift_L indicate the moment I pressed the T key. Upon release of the T key, the KeyPress events for Control_L and Shift_L occurred and when I released the AltLeft and AltRight we get the KeyRelease events as shown. For comparison, here is a snippet from pressing the same combo but with another letter key, i.e. A:
This looks bang on like what I'd expect to happen with T as well but T and V are special apparently! I haven't tested any of your recommendations yet as I thought I'd shed some more light to the issue before introducing additional testing information. I will experiment more now and report back. |
Oh, wait a minute! i just thought I'd do the obvious and tested my keyboard without keymapper active. Here are the logged key presses/releases when I press AltLeft AltRight T:
Wuuuuh? I tested the same on another laptop with https://keyevents.netlify.app/ and on there it worked fine. I also tested the same on the same surface laptop but with an external keyboard and the issue was no longer there. My guess is that this is a hardcoded key combo for some shortcut that will make me miserable. I will have to map Control + Shift to another key... This is so frustrating! |
I will close this ticket as this is specific to Surface Pro typecover keyboards and it is not an issue with keymapper. |
My guess would be that it has something to do with how the key matrix on it is arranged. QMK docs has a good page on the topic https://docs.qmk.fm/how_a_matrix_works |
And here is a nice site for testing which combinations a keyboard supports: https://www.microsoft.com/applied-sciences/projects/anti-ghosting-demo/ |
I have a relatively simple keymapping config where I have mapped Alt to Shift and AltGr to Control:
The problem is that when I go to a keyboard tester and also throughout on my machine, Control + Shift + T or Control + Shift + V do not work. They simply do not register the T and V. All the other combinations with other letters work fine.
I am on a linux machine.
The text was updated successfully, but these errors were encountered: