Right ALT not supported (bad for International Keyboards) #35

enzy opened this Issue Jun 12, 2014 · 351 comments


None yet
enzy commented Jun 12, 2014

Original issue: atom/atom#1625

Use https://atom.io/packages/keyboard-localization until this issue gets fixed (should be in the Blink upstream).

@probablycorey probablycorey added the bug label Jul 21, 2014
ghost commented Aug 13, 2014

Ok definitely a reloading issue, I tried closing the tabs a few times. Then rebooted the entire editor - then nothing, and all of a sudden it kicked in (alt-q).

Left alt doesn't seem to work here either (alt-q) when trying to rebind the reflow command for paragraphs it just ignores and persists ctrl-alt-q


Is there a workaround while we wait for a fix?
I can't type a "]" (Right Alt + ")" on french keyboards).


@guillaume86 You might try to set the keymap in your personal config to !unset or !native as described here. I had to remove the keymap directly in the keymaps/win32.json of Atom.


Thanks I'll try to hack that something into init.coffee (!unset and !native don't work either).

Got it removed with:

# remove offending keybindings (https://github.com/atom/atom-keymap/issues/35)
atom.keymap.keyBindings = atom.keymap.keyBindings.filter((binding, i) ->
  ['ctrl-alt-['].indexOf(binding.keystrokes) == -1

I have written a simple plugin for German keyboard and Windows. Now i can write @ and \.
I will still improve the plugin and publish it.


db6edr commented Aug 21, 2014

@DavidBadura Thanks! I' testdriving the plugin and am happy with it.


@DavidBadura Plugin works great, though I couldn't find it in the packages list

db6edr commented Sep 16, 2014

@waywaaard The plugin has not been released as an Atom package. I've created an issue with David to do so.

tengwar commented Oct 2, 2014

The same with Polish keyboard layout. (QWERTY keyboard, where altgr+letter is used for typing national characters.)


Is this something that's on the roadmap to fix for 1.0?


It would be cool if it is possible to scope keybindings on a keyboard layout. Could be a solution!

@GermanDZ GermanDZ added a commit to GermanDZ/atom-keymap that referenced this issue Oct 17, 2014
@GermanDZ GermanDZ Experimental fix for #35. Fallback key identification for Unidentifie…
…d keys

This is happening in international keyboards

I'm using atom-keymap-compatible and it works but this should be part of the editor itself.

usrbowe commented Oct 28, 2014

I found a solution!

  1. Open Settings > Keybindings.
  2. Search for this: "ctrl-alt-.". Then copy this keybind via copy icon on same row as "bracket-matcher:close-tag" keybind.
  3. Now click on "your keymap file" and here paste copied keybind. (Location: C:\Users_user_.atom\keymap.cson)
  4. Change: 'bracket-matcher:close-tag' to 'unset!'
  5. That's all, now it should work perfectly.

*I am using Czech QWERTZ keyboard layout on Win8

Here is how your keymap file should look like:


@usrbowe, this doesn't quite work for ctrl-alt-s on the Romanian programmers' keyboard. I put

  'ctrl-alt-s': 'unset!'

in my keymap.cson and it inserts the expected character (ș) but it also runs the application:run-all-specs command from the Core bindings.

usrbowe commented Oct 28, 2014

@vgrigoriu it seems, that you can't unbind some "important" keymap.
So my fix will work only on some key-shortcuts, which are not related to specific keymaps, which can't be overwritten by keymap.cson...

Jamesgt commented Nov 14, 2014

@vgrigoriu you cannot prevent the editor to run the command, but with a dirty hack you can skip the subscription.
I've edited by hand this file:
and simply commented out the offending command (10 lines).
This is a really ugly solution and on every editor update you have to repeat it.


Can't use \ and @ on Windows 8.1 with German Layout


@ScreenDriver check out my latest post in this issue atom/atom#4220 for a temporary fix (disable AutoFlow package).


@philipgiuliani thank you. I will try it


@philipgiuliani Unfortunately, that does not solve the problem with \ as that resolves to "ctr-alt-[" which by default folds the current row. And I can't seem to unset that binding.

Fixed it for now by deleting the bindings from the win32.json keymap file. But this isn't a satisfying solution, really. Something has to be done about this whole Alt Gr conflict thing.

var314 commented Nov 25, 2014

I can't see anyone mentioning it, I think most of the problems are related to Windows issue (feature, they say). Wikipedia has in depth explanation. Basically, for keyboard layouts that uses AltGr for any mapping Windows is substituting AltGr with Ctrl+Alt and the other way around.

Right Alt is acting as AltGr. For example in polish AltGr+S produces 'ś', so pressing Ctrl+LeftAlt+S is equivalent to RightAlt+S, both producing 'ś' by default and both are seen as Ctrl+Alt+S by application (eg. Atom in this case).

I don't know if application can distinguish between AltGr and Ctrl+Alt. AltGr+Del does not act as Alt+Ctrl+Del, so there is hope ;) Anyway, the easiest way for now would be to avoid Ctrl+Alt(+Shift) combinations in default shortcuts.

seal-ss commented Dec 16, 2014

Using a German keyboard, I found a solution to fix backslash and '@' sign with the following changes in my keymap.cson file:

'.platform-win32 .editor':
  'ctrl-alt-[': 'unset!'
  'ctrl-alt-q': 'unset!'
ccoenen commented Dec 16, 2014

This ticket is marked as "help wanted" so how can we help? I think the staggering amount of duplicates and comments in all these tickets proves that this really is an issue for a lot of people. I bet many of those (me included) would love to help.


This ticket is marked as "help wanted" so how can we help?

First off, it would be good to know what people's expectations are on these keyboard layouts in terms of how this should be supported and possibly how other applications with keyboard shortcuts handle this.

Another issue is how should right alt+I actually be interpreted in Atom on a German keyboard layout (for example). Currently it comes in via the DOM API as alt-I, but should it be interpreted as @ , alt-@, or ctrl-alt-@ since right alt and ctrl-alt appear to have the same behavior (please correct me if I'm wrong)?

A couple options come to mind:

  • Atom has an option where keybindings are ignored when right alt is pressed so these would all be unset when this option is enable. This would greatly limit the keybindings that could be used within Atom but it would make anything type-able within the editor as inputted text.
  • We start asking for pull requests with translation tables for keyboard layouts to be supported. So we would have German, Portuguese, etc. file in this repo that translates these characters since there doesn't seem to be a DOM API that accurately returns the details needed.

I found something interesting in keyboard_codes_win.h of Chromium. Perhaps it'll help:

// Windows does not have a specific key code for AltGr. We use the unused
// VK_OEM_AX to represent AltGr, matching the behaviour of Firefox on Linux.
ccoenen commented Dec 16, 2014

Thanks @kevinsawicki for your post. A lot of that information can be found in atom/atom#1625, which seems to be the longest issue of them all. Over the holidays, i may be able to compile this into a more concise form.

miva2 commented Dec 19, 2014

@Virsalus Thanks, that worked for me!

Tip: don't try to comment out the lines in the win32.json, it will make atom fail to start up.
Belgian AZERTY keyboard, windows 7: Couldn't type [ (combination altGr+^)
Strangely the resolver interpreted it as ctrl+alt+], the closing bracket is on another key on my keyboard.

phaazon commented Dec 26, 2014

Ok, it partially works for me as I put some shortucts to native! in the selector .platform-win32 .editor. However, it also runs the application Spec Suite, which is really bothering… Any idea how to remove that?

Well, I fixed that by removing the shortcut directly in the win32 keymap…

klaszlo commented Dec 28, 2014


First off, it would be good to know what people's expectation

As a hungarian keyboard user, this is my point of view.
Other application does not take into account international keyboard users, so in general
for a simple keycombo may turn out really complicate on a given locale.
For example a Ctrl+/ shortcut, in the US layout it is Ctrl, and one button to the left from the right shift.
(the same shortcut in hungarian would be Ctrl+-, because the minus sign is on the place of / in that locale).
On hungarian layout to achieve the same result, I need to press Ctrl+Shift+6 (the / character is Shift+6).

So in atom, when I press Ctrl, atom switch my keyboard layout to US. That is the primary problem. So pressing Ctrl+Shift+6 (for Ctrl+/), I will end up the correspondant US shortcut which is Ctrl+^ (shift is ignored).

So for starter, I would like to see in atom:

  1. handle all the keys on my keyboard (shift, ctrl, super, left alt)
  2. when I press ctrl, the layout should be stay on the same locale

For future improvement:
One remapping file for locale, where aliases are defined.
For example Ctrl+/ in localized version (for hungarian keyboards) would be Ctrl+-.
"ctrl-/": "ctrl--"

Of course user configurable: enable local remapping True/False
(some like the original keykombos to memorize).

My two cents.

Another issue is how should right alt+I actually be interpreted

I assume it is the following key kombo:
right alt + one key to the right from the left shift
(reference: http://blogoscoped.com/files/german-keyboard-layout.png )

Characters should always have priorities. So if "|" character is achieved with
right alt + < , then it is a single letter.

I give you a better example (in german layout too).
On german keyboard the "/" character is achieved by Shift+7
So a Ctrl+/ keykombo on german locale can be achieved by:
Ctrl+Shift+7 (Shift+7 == /)

That also means the actual Ctrl-Shift+7 shortcut can never be triggered on german layout.
C'est la vie. A small warning popup can be displayed on the gui, something like this:
'Ctrl-/' shortcut mute the following shortcut: Ctrl-Shift-7, [click here] to overwrite Ctrl-Shift-7 shortcut.

The point is moot until atom does not support shift in keykombos..

klaszlo commented Dec 28, 2014

another small idea:
Please let us define the ctrl, alt keys in the beginning of the cson file.
Currently these are the modifier keys on a normal keyboard:
Shift_L, Control_L, Super_L, Alt_L, ISO_Level3_Shift (Altgr), Control_R, Shift_R

"ctrl": ["Control_L", "Control_R"]
"alt": ["Alt_L"]

Also if someone prefers Super key instead of Alt:
"alt": ["Super_L"]

Or US keyboard users, where both Alt can be used for shortcuts:
"alt": ["Alt_L", "ISO_Level3_Shift"]

Hope it helps.

I would also like to crossreference issue #37 .


When writing code, this bug is a real bummer.
Waiting for a fix... until then I'm going to use Sublime :(

P.S. I'm using the "Canadian French Keyboard" and I can not type "[" or "]" because of this.


I also face the same isssue, cannot type '[' and '{' using my hungarian layout.

rannien commented Jan 11, 2015

The situation is the same for me too. Gotta get a spec keyboard if i want to use '[' and '{' :(


I think the comment from @abduelhamit could solve this problem for all regions, especially using Windows where we have no different keycode for right alt key.


I will try to dig into this area, I have only a little experience with the Atom source though.


Can't type @ or \ etc on German (Germany) Windows 10 keyboard layout. {[]} all type just fine.

Spanish (Spain) works just fine.


After several month this bug is still not fixed. Sorry but this... its so essential for writing code.
Goodbye Atom

@50Wliu 50Wliu referenced this issue in atom/atom Jan 15, 2015

Toggle Line Comment doesn't work #2600

nereusz commented Jan 17, 2015

+1 vote for fixing this. My first language is Polish and there are plenty of characters which I just can't use now :( Atom looks pretty amazing and promising, but due to this bug I just can't use it. Please fix this.


Same as @michelvocks, bye Atom


+1 (probably the main reason, why I still use sublime)

m1ga commented Jan 17, 2015

seems like there is a pull request but its still open: #57


cant believe why nobody is going to fix this essential feature :/


Well, the issue is still open, but Atom is closed.

50Wliu commented Jan 17, 2015

What do you mean by "Atom is closed"?


@50Wliu Just another troll comment probably: "This issue isn't fixed, therefore I'm not using Atom."

ccoenen commented Jan 18, 2015

@Moter8 You're probably not writing your comment from a german or polish keyboard.

I do use Atom, and i find myself copy&pasting @ and \ characters from other parts of my code (or sometimes other editors or the browser location bar) ca. 20 times a day.

This is annoying enough that it warrants not using atom. To me, at least. I put up with it, because otherwise it's really a fine piece of software.


@ccoenen Hey, as I stated earlier I have the same issue.
I'd really appreciate if someone would fix this but being passively agressive helps nobody in the end.


due to weekend lazyness i cannot find the packages that solve the issue, atleast for german characters.. this is what I use in my init-script to fix the problem for me:

atom.workspaceView.command "fix:insert-backslash", ->
    editor = atom.workspace.activePaneItem
    editor?.insertText '\\'

atom.workspaceView.command "fix:insert-at", ->
    editor = atom.workspace.activePaneItem
    editor?.insertText '@'

and use these keymaps

'ctrl-alt-[': 'fix:insert-backslash'
'ctrl-alt-q': 'fix:insert-at'
nereusz commented Jan 18, 2015

Unfortunately @mborejdo's solution adds wanted key mappings. It can be helpful for German users. But with Polish keyboard layout we need to unbind some key bindings (like AltGr+o or AltGr+s), which are hardcoded in atom. It puts character ó or ś, but also opens dialogs - which is not wanted action. And we can't override this. At minimum we need a solution that allows overriding these keys combinations.

phaazon commented Jan 19, 2015

I think in the waiting of a true patch, one should put the ability to disable those fu@#!ing silent updates that always break everything in my keymaps since the only way I’ve found to be able to use my bépo layout was to directly remove bindings in the win32.json keybindings sheet.

fnkr commented Jan 19, 2015

@stefanschererseal's solution works fine for me!

'.platform-win32 .editor':
  'ctrl-alt-[': 'unset!'
  'ctrl-alt-q': 'unset!'

It is important to use unset! instead of !unset.

@benogle benogle added the on-deck label Jan 19, 2015

I just want to say, this fix would be important: I can't use effective the editor this way...

phaazon commented Jan 20, 2015


@benogle benogle added the atom label Jan 20, 2015
@benogle benogle referenced this issue in atom/atom Jan 20, 2015

Atom 1.0 #3684

18 of 25 tasks complete

I have the same issue with the German layout,

I can not believe that this is still an issue. Such a basic functionality.


@Laberbear : I use the package keyboard-localization, with this package you can choose your languages, and it's solve my problem !

Yep i dont understand why this isnt in default in atom to choose your languages/layout.

@50Wliu 50Wliu added the help-wanted label Jun 9, 2016
JA44 commented Jun 14, 2016 edited

I use the package keyboard-localization but this package doesn't seem alive. I have few bug with.

In a french keyboard and this plugin, I can type } and ] without side effect but with plugin i have other bugs.
The shortcut "toggle comment" doesn't works andischerer/atom-keyboard-localization#80

I'd like to use native Atom with a whole manage of my french keyboard.

I like use Atom but I'm sad to see this bug persists since a long time.


Seeing the "help-wanted" Label. How can we best help with this?

To me it seems like what would be needed is an approach to take. And a discussion about which one that should be.

I personally would like a solution that apart from enabling my to type "@" on my German keyboard would also allow for language specific shortcuts. As many shortcuts are aimed towards US keyboards with keys in the weirdest places for others. Though I am not sure if this package (atom-keymap) should do that or if that would be a different one responsible.

50Wliu commented Jun 14, 2016

@HoverBaum figuring out how to map KeyboardEvent.code to the correct key through some JavaScript would probably be the best way to progress: see #35 (comment).

ccoenen commented Jun 15, 2016

Is there anyone to coordinate with? Or was this the polite way of saying "no one at GitHub is working on this issue"?

50Wliu commented Jun 15, 2016

Is there anyone to coordinate with? Or was this the polite way of saying "no one at GitHub is working on this issue"?

I don't work at GitHub, so unfortunately I don't know enough to answer your questions :(. @nathansobo would probably be your best bet, but he's on paternity leave right now.


I'm actually back this week and I'm pretty sure Electron has the features needed to fix this. @ccoenen is there something I can do to support you?


Oh, it looks like support for KeyboardEvent.key may be landing in Chrome 51. Having that will make the implementation much more straightforward than vendoring a mapping for every locale.


Hello, my ; key is being resolved as /, I use an pt_BR keyboard and also have installed the keyboard localization... Any hints on what I can do to fix this?

Lordmau5 commented Jun 24, 2016 edited

I'm surprised this bug is still around after what - more than 2 years?

Hopefully it's getting fixed at some point, it's getting annoying :(

//EDIT: Quick update:
I removed keyboard-localization and to my surprise, I still have it set to the de_DE layout.
PLUS the Alt-Gr key behaves properly! :)

I'd suggest everyone to just uninstall keyboard-localization if they have it installed and are on the de_DE layout to see if that resolves it.
Feel free to try it on other layouts as well.



I'd suggest everyone to just uninstall keyboard-localization

Can you please provide some hint how to do it ? On my current installation, there is no keyboard-localization package installed which I could remove with APM

bgse commented Jun 30, 2016

@Lordmau5 @karlitos Been a while since I've used Atom, but in my experience this was a bit different depending on system.

On my Linux computer, german keyboard worked out of the box without the extension except a few shortcuts, on my Windows computer I actually needed the extension.


if they have it installed

It just caused issues for me.

@bgse I am actually running Atom on Windows 10 and the extension was causing this problem. It's fine when I don't have it installed, which is weird.

bgse commented Jun 30, 2016

@Lordmau5 That was quite a while back, on Windows 8.1 at the time. Wouldn't surprise me if things differ depending on Windows version too.

ccoenen commented Jun 30, 2016 edited

@Lordmau5 I'm on windows 10 with german layout and in Atom 1.8.0 I can't type

  • \ (AltGr + ß, upper right corner of my keyboard)
  • @ (AltGr + Q) reflows the selection
  • (probably others, but these two are the most annoying of them all)

When keyboard-localisation is installed, they work just fine. So I can't reproduce anything of what you said earlier. This is not to say that I don't believe you. I just observe very different things on my machine.

@bgse I see no particular reason why this would be tied to a windows version change. The AltGr / Ctrl+Alt behaviour on windows is the same for as long as I can remember. And (at least on my machine) the problem is still present.

Lordmau5 commented Jul 1, 2016

This whole thing is just weird.
At the beginning I needed to have keyboard-localization installed as well but as soon as it derped out (as in, caused the same issue) I uninstalled it and it was fine.

Considering that you have it installed right now, @ccoenen , perhaps you could try removing it temporarily and see if that fixes it?
That's the only suggestion I have for this...

Or we all just wait up until Chromium releases the new version that is supposed to fix this through a new variable within itself, that the Atom developers can utilize.

ccoenen commented Jul 1, 2016 edited

I just tried, but I seem to fail at this.

But disabling the plugin works. And then I'm back to the failing of \ and @.

Lordmau5 commented Jul 1, 2016

Restart Atom, @ccoenen .
That's a bug that has been taken care of in Atom 1.9.0 (the beta build)

On another side-note, mind trying out the beta build of Atom?

ccoenen commented Jul 1, 2016

Thanks for the heads up! Restarting indeed concluded the removal of keyboard-localisation. Without it, I'm back to the non-working keyboard.

Lordmau5 commented Jul 1, 2016

As mentioned, would you mind trying it with the Atom Beta, v1.9.0?

I can run some tests on my own when I get home later.

Another suggestion I have would be to remove the .atom folder in your user directory - maybe there's some leftover from a specific version that is causing this for people that updated?
Keep in mind that this will remove all your plugins!

ccoenen commented Jul 1, 2016

I'll have to try this one a little later. Sorry.


Anyone who has trouble with Atom should try Visual Studio Code. I couldn't
solve this keyboard issue and decided to try another modern text editor. I
found VSCode and try this one. I think it is awesome; fast, integrated with
debugger and version control. Anyone used Atom before will be comfortable
with VSCode.

1 Tem 2016 Cum, 11:46 tarihinde, Claudius Coenen notifications@github.com
şunu yazdı:

I'll have to try this one a little later. Sorry.

You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#35 (comment),
or mute the thread

Python belgeleri -
https://ismailarilik.gitbooks.io/python-belgeleri/content/ - Eğitmen,
başvuru (Yapım aşamasında...)



This such an absurd bug. I'm really frustrated with the lack of support for this, I feel very much left out just because I don't use a US keyboard. It really shows how far we are to truly include developers from all around the world.


Hey guys, I commented a while back and keep getting the complaints you all have aswell.

I followed the recommendation ismailarilik gave and tried out VS Code.
Turns out it does exactly the same as Atom but without this bug, without the slow file loading and without the multiple cursors issue (another issue that the devs ignore).

It definitely has its faults aswell but IMHO it is currently better than Atom.


Just bind all Alt + Gr combinations to "open browser" with VSCode download link and mark this issue as resolved.


David, +1, the best solution for this bug is yours. 👍 😁

22 Tem 2016 Cum 19:52 tarihinde David Skuza notifications@github.com şunu

Just bind all Alt + Gr combinations to "open browser" with VSCode download
link and mark this issue as resolved.

You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#35 (comment),
or mute the thread

İsmail Arılık

@50Wliu 50Wliu referenced this issue in atom/vim-mode Jul 25, 2016

vim-mode and italian keyboard #1046

Lordmau5 commented Aug 1, 2016

So this shit is still around, very nice.
Glad to see that it's not fixed yet.

It recently popped up for me again as well. It is just frustrating and annoying.

I might end up changing editors again because of this crap.


It's weird that this bug has been here over 2 years and still no solution. 😄

@50Wliu 50Wliu referenced this issue in atom/tree-view Aug 2, 2016

Windows keybinding problems #904

kitsunekyo commented Aug 7, 2016 edited

is this seriously not fixed yet? cant type @ on german keyboard. not like its used at all.. /s

edit: if you're still struggling with this gamebreaking bug, the devs obviously dont care about: install "keyboard-localization" as package.

50Wliu commented Aug 8, 2016 edited

Hey everyone, one of the reasons that this issue hasn't been locked yet is because there's still some useful conversation, advice, and general tips being passed around, rather than just 👍s and "why hasn't this been fixed yet?!". With that in mind, please try to keep all conversation on topic. The Atom team is definitely aware of this bug, just that it can't be fixed easily without upgrading to a new version of Electron first (which is being worked on).

@JorgeGT JorgeGT referenced this issue in msiniscalchi/atom-latextools Aug 8, 2016

Auto triggering for cite and ref does not work #115

50Wliu commented Aug 8, 2016

Thanks for correcting my URL linking @ccoenen 😬.


I use Hungarian keyboard and asterisk could be called by ctrl+alt+- (or altgr+-) normally. It is the same as 'pane:decrease-size' which has been unset in keymap.cson together with some other bad keybindings. Then ctrl+alt+- generates 'pane:decrease-size' while altgr+- only a simple '-' which suggests that altgr does not work. And I do not have an asterisk. What should I do at this point? Thank you for your help!

hvqzao commented Aug 30, 2016

Holy Grail for Polish users (works on Atom 1.9.9), add the following to keymap.cson:

# ó
  "ctrl-alt-o": "native!"
  "ctrl-alt-o": "unset!"

# ż
"atom-workspace atom-text-editor:not([mini])":
  "ctrl-alt-z": "unset!"

@karzol73 have you tried using the keyboard-localization package with the hungarian layout selected in the settings? it worked for me


Thanks! I did it but it does not help. The solution is https://gist.github.com/flaki/deffce62b318e953f35d

@50Wliu 50Wliu referenced this issue in atom/atom Sep 3, 2016

Hungarian keyboard layout problems #12598

6 of 6 tasks complete
ccoenen commented Sep 9, 2016

atom/atom#12300 has just been merged 🎉 Fingers crossed

tengwar commented Sep 10, 2016

I'm glad it's finally getting fixed, but I have already migrated to Linux where I have no trouble typing in Atom. :)

moosetraveller commented Sep 12, 2016 edited

Unfortunately same problem here with mac os x and a swiss german keyboard... characters e.g. { and } does not work. With https://atom.io/packages/keyboard-localization and its Keymap-Generator opened in another tab, these characters works. (Generating a keymap with that generator is not possible since it does not create entries when typing these characters. I guess this is the reason why it works while having the generator open in another tab while editing files in other tabs.)

Tested with Atom 1.10.2.

I'm looking forward for that fix!

nathansobo commented Sep 12, 2016 edited

Hey, so can folks tell me whether the AltGr key exists as a concept on Linux? From my research it does not exist on macOS, which is forcing me to make a compromise of only interpreting an alt- binding as the alternative character if it is in the simple ASCII character set (<= 127) on macOS. On Windows and Linux I'm hoping I can explicitly detect AltGr and always use the alternative character in that case.

One other question, do people expect ctrl-alt- to also double as AltGr? Is that a Windows thing or also an expectation on Linux?

nathansobo commented Sep 12, 2016 edited

Nevermind, looks like I can query it via this API as follows event.getModifierState('AltGraph')

@nathansobo nathansobo referenced this issue in atom/keyboard-layout Sep 12, 2016

Add getCurrentKeymap #16

bgse commented Sep 13, 2016

One other question, do people expect ctrl-alt- to also double as AltGr? Is that a Windows thing or also an expectation on Linux?

That is a Windows thing, as far as I know it is kind of a prehistoric corpse from times when many a keyboard did not have a dedicated AltGr key.

Not an expert on the matter, but I believe it is concidered best practice on Windows to avoid ctrl-alt- combinations as much as possible.

ccoenen commented Sep 13, 2016

Yes, avoiding Ctrl+Alt was suggested somewhere in this ticket, it's also what Visual Studio Code does.

Since there's a ton of Ctrl+Alt Shortcuts out there already, i don't think that's an option any more.

From anecdotal point of view, I know a few people that would rather use Ctrl+Alt+Q to get the "@" symbol on a german keyboard. It is a combination close to each other. AltGr+Q is the actual intended shortcut, but both work the same, so some choose the former. This is the only key-combination for which I have observed this kind of use/preference.

I do think not treating them the same has advantages.
a) The current shortcuts that already involve Ctrl+Alt could work while the special characters (AltGr+something) would ALSO work
b) For those of us with very little AltGr shortcuts, WE GET A WHOLE EMPTY MODIFIER KEY! So we could add shortcuts to our heart's content :D

I hope I'm not missing anything.


@ccoenen It seems like this will break something either way.

It will either break some plugins shortcuts or some users experience with their native keyboard. Personally I feel like the second would be a way worse thing.

While yeah it seems nice that some of us could get more shortcuts out of it I feel like that is part of the problem which made this debate heated. Non-US keyboard users throughout this thread voiced that it felt to them like "people not caring about things outside the US". And I feel that differantiating between the combinations would recreate that feeling.

Since Alt + Ctrl is the same as AltGr it should be the same in Atom as well. What should get broken are plugins shortcuts. This should be the turning point to go "hey guys, sorry but this is horrible for international keyboards, we did this wrong, let's do it right."

ccoenen commented Sep 14, 2016

Let's just agree that "i can't type \ or @ in a TEXT EDITOR" ist a different degree of broken than "There's this obscure way of getting a character that (presumably) nobody uses, but we do not do it because there's the more widespread way."

And don't get me wrong, I couldn't care less if they removed all the Ctrl+Alt Shortcuts, I just don't think it's going to happen. I've suggested it earlier somewhere in the 290 posts fold of this ticket (Post #35 (comment) specifically), to which the reply was an example where a single changed shortcut upset a lot of users. I've also argued for it in another ticket atom/atom#9455.

That's the sole reason why I wrote "i don't think that's an option any more". It would be the cleaner solution, for sure. But given the previous discussion, I was searching for a compromise that would upset as few people as possible.


Okay everyone, please check out my description in #144 and let us know if we're missing anything.

ccoenen commented Sep 14, 2016

There's binaries and everything there! You can get an early glimpse of the future and you don't even have to touch code if you don't want to ❤️


The "}" bug is still here.

It is fixed with the keyboard-localization package ... but users shouldn't have to install this for something as simple as "}".

ccoenen commented Sep 15, 2016 edited

@Cyriaqu3 did you try it with the versions provided in #144? If so: please comment over in ticket #144 on what platform (operating system, keyboard layout, ... etc) you have and what exactly does or does not happen.
If you're trying with regular atom (stable, beta, alpha all alike) then it's still broken. Only the Work in progress version in #144 should be better.

@nathansobo nathansobo closed this in #144 Sep 15, 2016
@nathansobo nathansobo reopened this Sep 15, 2016
nathansobo commented Sep 15, 2016 edited

I actually want to close this via the PR that lands these changes in Atom, rather than just landing in the atom-keymap module. Sorry for the noise. Will be closed for real very soon.




Hey everybody. So it would be great if you could test drive atom/atom#12697. Builds for each platform are linked at the bottom of the PR where you can find build artifacts to try out.

@ccoenen we really appreciated your thorough testing and reporting on the previous branch build and made some changes in response to it. We'd be grateful if you could download the latest build and make sure we've fixed the ctrl-alt-q issue and not broken anything else with the new adjustments.

aschmu commented Oct 11, 2016

I seriously can't believe a text editor that's this promising won't let you well...type any text without unnecessary hassle !

Xylane commented Oct 11, 2016

For those who would like to test it, Atom 1.12.0-beta0 Windows installer is available since few hours via the usual link (https://atom.io/beta).
As mentioned above this version seems to solve this issue, so enjoy :-)

LoDef commented Oct 14, 2016

For Swedish keyboards this works:

'atom-workspace atom-pane':
    'ctrl-alt-=': 'unset!'
Spiralwise commented Oct 17, 2016 edited

The beta seems to resolve this major issue!

thorade commented Oct 18, 2016

And there is also a long explanatory blog post from github:

realtime commented Oct 28, 2016 edited

This issue is still not resolved completely as of Atom 1.12.0-beta5, at least on Windows.

Pressing Ctrl-LeftAlt-(key) has the same effect as pressing RightAlt-(key) if the latter generates a character. In both cases the character defined by RightAlt-(key) is inserted and the shortcut defined for Ctrl-LeftAlt-(key) cannot be invoked.

Notepad++ handles this properly and can distinguish the key combinations.

edin5 commented Nov 2, 2016

1.12.0-beta6 works for me 👍

nyxel commented Nov 3, 2016 edited

1.12.0-beta7 works as one would expect, too. I'm a new Hungarian user of Atom, and I'm happy. Cheers 🙂


Can confirm, the upcoming 1.12 release fixes the international keyboard issue. Serbian keyboard works as it should. If you keyboard is still not working, you will be able to fix it via Atom API. Check out here: #164

szimek commented Nov 10, 2016 edited

Got a question - I'm using Atom 1.12.0 on macOS 10.12.1 and got "Polish - Pro" keyboard selected. I can type all Polish-specific characters like ęóśłżźćń just fine using right Alt, but I can't type lowercase ą (uppercase Ą - alt-shift-a works fine), because alt-a binding is already taken by project-find:show-in-current-directory command. I fixed it by adding 'alt-a': 'unset!' to my keymap file for now, but I'm wondering if this fix was also supposed to somehow solve such problems?

EDIT: I've just noticed that I can't type uppercase Ś (i.e. alt-shift-s) as well, it's already taken by snippets:available command.

Ben3eeE commented Nov 10, 2016

@szimek I believe it is supposed to fix the problem you describe. You can test it out today in Atom 1.12.


I can confirm the issue @szimek is describing. I'm using the most recent Atom 1.12 with Mac OS X 10.11.6 with a Polish keyboard layout. Both ą (alt-a) and Ś (alt+shift+s) are still unavailable - Atom 1.12 unfortunately did not resolve the issue.

Ben3eeE commented Nov 10, 2016

Hey @ludwiktrammer and @szimek. You should be able to work around this using the public custom keystroke resolver API.

Something like this to your init.coffee and restarting Atom should work, and the same for ą.

atom.keymaps.addKeystrokeResolver ({event}) ->
  if event.code is 'KeyS' and event.altKey and event.shiftKey
    return 'Ś'

If you could also open a new issue on this repository so we can track this that would be great, thanks!


@Ben3eeE Thank you. The workaround works. I created a new issue #169.

yalov commented Feb 16, 2017 edited

Hey @Ben3eeE, there is a thing like “3 and 4 layer of keyboard layout” (AltGr, AltGr+Shift), it is not few keyboard layout — many standard native keyboard layout has that 3 layer (AltGr). It collide with Ctrl+Alt hotkeys.

Even more, you can create your own layout with “The Microsoft Keyboard Layout Creator” or use some popular "typography" layout, so every key on keyboard can have that 3 layer, and user may want use 3 layer or hotkeys.

Public custom keystroke resolver API in init.coffee for every key it is cool, but main setting switch (Ctrl+Alt hotkeys <--> AltGr 3-4 layers) is better. It is not replace, but as an addition.


I have a typography layout, which relies a lot on AltGr. Needless to say, that Atom still conflicts with a lot of those keys. For instance, Ctrl+Alt+- and Ctrl+Alt+= are pretty useless in terms of Atom usage, but they block the — and ≠ characters on the layout for me.

It would be nice to have an option to disable all alt+ or alt+shift+ or alt+ctrl+ shortcuts altogether.

Ben3eeE commented Feb 22, 2017

@yalov @neochief Can you please create a new issue for this? Also please completely fill out the provided issue template. It is easy that the discussion will be forgotten if it is kept here. Feel free to @mention me in the new issue after you created it.

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