Deprecate Ctrl-Alt shortcuts


#1

Only recently Atom finally became usable for many people with non-US keyboards. A bug prevented the use of AltGr key combinations to enter even essential characters such as @[] on these keyboards. This bug was open for over two years, had enormously many duplicates, heaps of discussion, but was eventually fixed some weeks ago.

On Windows, pressing AltGr key is essentially equivalent to pressing Ctrl-Alt. It’s generally possible to distinguish between those keystrokes, but on the one hand it’s difficult and kind of a hack (though Notepad++ implements this) and on the other hand it might not be desirable as there are keyboards in small form factors that don’t have the AltGr key, but still need this modifier to enter many essential characters. So it cannot be expected that DOM (and consequently WebKit->Chromium->Electron) will implement means to distinguish AltGr and Ctrl-Alt.

Due to this ambiguity between AltGr and Ctrl-Alt it’s good practice to avoid defining shortcuts for Ctrl-Alt combinations. The AltGr key Wikipedia article says:

[…] it is recommended that this combination not be used as a modifier in Windows keyboard shortcuts as, depending on the keyboard layout and configuration, someone trying to type a special character with it may accidentally trigger the shortcut, or the keypresses for the shortcut may be inadvertently interpreted as the user trying to input a special character.

Unfortunately there are indeed some Ctrl-Alt shortcuts defined in Atom, most in packages, but also some in the Core (e.g. ctrl-alt-r window:reload). I contend that this has happened because there was no-one there to complain as Atom was unusable for those with AltGr-style keyboards anyway.

I think it would be a good idea to officially deprecate Ctrl-Alt keyboard shortcuts.


#2

I am not sure. I understand the reasoning, and I am French, so I use AltGr to reach @ \ or # among others.
But the only Ctrl-Alt combination with a letter I have is € (with E). All other combinations are, for me, inert, and it is probably all of them for most English keyboards. So, punishing lot of people by reducing drastically the number of keyboard shortcuts is a bit extreme.
Moreover, Atom is flexible and allows easy remapping of these keys, so those not wanting them (or some of them) can remap them to more neutral bindings.


#3

Yeah, it appears it is not so simple: http://blog.atom.io/2016/10/17/the-wonderful-world-of-keyboards.html