-
-
Notifications
You must be signed in to change notification settings - Fork 39.8k
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
[Keymap] New custom 'super alt' keymap for the Drop ALT #9385
Conversation
An interesting solution for the left Alt key usage. However, does the “Left Alt + Backspace → Delete” feature actually work? Looks like the Backspace key is just mapped to Also I wonder how I could press LAlt+F4 with that keymap while keeping the “super-Alt mode” active. Are you just using the right Alt for this combination (which may not work for keyboard layouts using that key as AltGr to get additional characters)? There is also a potential issue of pressing some unusual key combinations like Alt+Home and Ctrl+Alt+End (these are used by the Microsoft Remote Desktop Client to pass Ctrl+Esc and Ctrl+Alt+Del to the remote desktop), but this case could be handled by switching the super-Alt mode off temporarily. |
@sigprof Thanks for taking the time to read the code and provide a detailed response! Answers inline below:
I think I'm just going to remove this, since the Delete key is literally right next to the Backspace key anyway. Initially I added this because on macOS there's no dedicated Delete key, so my muscle memory was used to 'hold a modifier key and press Backspace'.
This is a good call out, and I should make it more clear in the readme. Right now it's either
I couldn't actually think of many LeftAlt commands that this would potentially make more inconvenient, but thanks for letting me know about Remote Desktop (and I'm sure there are more). Like you mentioned, the disable toggle is probably the best option for this (same goes for any AltGr issues, which I also wasn't familiar with). An unrelated question I did have: initially I was using Thanks again. |
I think this is a valid reason to have a seemingly duplicate mapping. I also have many keys in my Fn layer which seem to be duplicates (including Fn+Backspace → Delete), just because I want to have the same layout for it on all >=60% keyboard sizes.
The usual solution for it is to convert your Caps Lock key into a layer switch (e.g., BTW, now I checked the behavior of the right Alt key on Windows, and it actually depends on the currently selected keyboard layout. When I have the plain US English layout active (which does not use AltGr), the RAlt+F4 combination closes the window; however, when I switch to the Russian layout (which uses AltGr since some update), RAlt+F4 stops working. Most layouts for various European languages also use AltGr, therefore you must use the left Alt key for shortcuts, and your solution involving RAlt won't work for them. It could be possible to make the Fn+LAlt press a special case which makes LAlt immediately switch to the LAlt modifier state. This could be easy to do for the case when Fn is pressed before LAlt — just remap LAlt to
If this was not the Alt modifier key, you could even have a way to hold that modifier — a quick tap+hold action on the And the lag that you observed really exists — it is actually Enabling the To eliminate the delay completely (well, almost completely — there will still be some delay while QMK emits the Alt press event before Tab, although you can use Note that |
Thanks again for the detailed feedback, I'm humbled by the donation of your time! Responses inline below:
Good catch, I didn't notice that technically this wasn't correct, even though the behavior is likely to still work in most cases, it's better to have it sending the right commands. I added an
Ah, why didn't I think of this? The caps lock key is literally useless when held down, so this makes perfect sense and opens the door to a lot of possibilities. I'll consider this for my next iteration.
I made these changes and they feel great. Now
Thanks for the detailed overview. I had initially tried permissive hold, but did not update And lastly, I nearly had a heart attack when I tested the input sequence:
I was not expecting line 4 where X was pressed again, but after testing with my unmodified RAlt key and noticing the same behavior, I had a huge sigh of relief. I guess I learned that the alt key behaves in mysterious ways. |
This is apparently an artifact of the Chromium browser engine, and not even specific to the Alt modifier. I tried https://config.qmk.fm/#/test on both Chromium and Firefox on Linux (so it's also not an OS-specific behavior), and I do not see those extra KEY-DOWN events on Firefox, but Chromium emits an extra KEY-DOWN event for the last pressed normal key whenever the state of modifier keys has changed (but with some delay, and you press or release multiple modifier keys during that delay, only one extra event is generated). The “Event key” field in that extra event is updated according to the new modifier state (e.g., it contains a capital letter if you pressed Shift, or an alternate character if you pressed AltGr); maybe this was the reason why Chromium developers added those events. Also, if you press multiple non-modifier keys at the same time, those extra events are generated only for the single non-modifier key which was pressed last, and if you release that key while keeping some other non-modifier keys pressed, the extra events no longer appear. |
e99e359
to
2cd4cb6
Compare
Not sure what's up with the unrelated linter failures?
|
* New custom 'super alt' keymap for the Drop ALT * Improvements to 'super alt' keymap based on PR feedback * Fix flickering LED caps lock bug * Code cleanup from PR feedback * Minor keymap layout cleanup
Description
Greetings, this is my first PR to qmk_firmware. I've added my own custom keymap for the Drop ALT keyboard, and tried to make sure it's thoroughly documented for others to use as reference.
I've been using it as my daily driver and compiling (on latest Windows 10) all week, so I can confirm that it works to the best of my knowledge. Please let me know if I missed anything!
Types of Changes
Issues Fixed or Closed by This PR
Checklist