Bad keybindings after update on non-US keyboard


#1

Hello, I’m running atom v1.12.5 on archlinux, on a french keyboard (AZERTY).

I’ve been using atom for a year and it have always worked fine.

After the last update, I have encountered strange behavior. As an example, when I type a key, the keyboard resolver (ctrl-,) tells me :

  • w => w
  • alt-w => alt-w
  • ctrl-w => ctrl-z

What it very strange is that my keyboard is resolved normally (AZERTY) except when ctrl is pressed, then it is resolved as a US keyboard.

Searching on Google, I end up on https://github.com/atom/atom-keymap/issues/35, or https://github.com/atom/atom-keymap/issues/37, but they only propose the keyboard-localization package (which is deprecated and doesn’t solve the problem), or say that the problem has been solved since v1.12.

Do you have any idea where the problem comes from and how to solve it ?

I’ve already tried :

  • uninstalling atom
  • downgrading atom
  • keyboard-localization package
    and none of it worked.

The fun part is that AZERTY and QWERTY keyboards exchange the key W and Z. Which is very annoying when you want to undo something…


#2

Hey @kalaspa,

There is currently a bug in chromium that causes incorrect keystrokes to be reported on Linux when the Ctrl modifier is used. We have 2 issues for this: https://github.com/atom/atom/issues/12951 which is closed and should have fixed this issue and https://github.com/atom/atom/issues/13170 which tells us we didn’t fix the issue for colemak on Debian.

I believe you can work around this problem using the public custom keystroke resolver API until the issue has been fixed in chromium. For example to make Ctrl-z resolve as Ctrl-w you could try adding the following to your init.coffee:

atom.keymaps.addKeystrokeResolver ({event}) ->
  if event.code is 'KeyZ' and event.ctrlKey and event.type is 'keydown'
    return 'ctrl-w'

I could not reproduce this issue using Ubuntu with the french layout so I was not able to test the workaround code. Because you mention that you are using archlinux I have to say that archlinux uses a custom build of Atom that can have issues separate from the official build, please also search the bug tracker for the archlinux repository to see if this issue has been reported there already. You could try building Atom from the official source and verify that it is still a problem.

If you are using an official build or can verify that the issue exists using the official sources it would be appreciated if you can also open an issue on the Atom keymap repository and include as much information as possible about your system and also the full workaround you added to your init.coffee so it can help others that face the same issue. The fix in https://github.com/atom/atom/issues/12951 was for X11 and if you read the comments there we are unsure about Wayland.


#3

Thanks a lot @Ben3eeE,

I tried the public custom keystroke resolver API as you recommended. It does the fix but it is quite long to do.

Installing atom v1.12.5 from AUR, which should be the official version, the problem remains.

Finally I downgraded atom to version 1.11.2 and everything is OK for now. I think I’ll stick to this version for a while.

Thanks for your remarks and your support !


#4

Hey @kalaspa just a quick update we are tracking this issue in https://github.com/electron/electron/issues/8116 now, you can subscribe there if you want updates on when this will be fixed.


#5

Please do not install Atom from the AUR. The AUR distributions have been known to use unsupported versions of Electron and/or include patches that are not supported in the official version of Atom, which cause many problems. Install Atom from https://atom.io instead.

For more information see https://github.com/atom/design-decisions/blob/master/unofficial-atom-distributions.md.