atom / atom-keymap

Atom's selector-based keymap system
MIT License
105 stars 58 forks source link

Some keybindings do not work using Greek keyboard on Linux #203

Closed nplatis closed 7 years ago

nplatis commented 7 years ago

Prerequisites

Description

Some keybindings do not work with Greek keyboard on my Linux system.

Keybindngs that do not work: Ctrl+C, Ctrl+X, Ctrl+V, Ctrl+A. Keybindings that work: Ctrl+Z, Ctrl+F, Ctrl+G, Ctrl+W.

I am on Arch Linux/KDE and using the aur/atom-editor-bin package (which just uses the .deb official package).

I have installed English and Greek keyboards. Everything works fine when I am on the English keyboard, the problem happens when I am on the Greek keyboard.

Expected behavior: Keybindings should have their expected function.

Actual behavior: Nothing happens.

Reproduces how often: Always, with current version

Versions

$ atom --version
Atom    : 1.12.7
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0

$ apm --version
apm  1.12.9
npm  3.10.5
node 4.4.5
python 2.7.12
git 2.11.0
theonedemon commented 7 years ago

+1, not work Ctrl+C, Ctrl+X, Ctrl+V, Ctrl+A on cyrillic layout

DeFiXiK commented 7 years ago

Same problem occurs to me.

$ atom --version
Atom    : 1.12.7
Electron: 1.4.13
Chrome  : 53.0.2785.143
Node    : 6.5.0
$ cat /etc/lsb-release 
DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=16.10
DISTRIB_CODENAME=Fringilla
DISTRIB_DESCRIPTION="Manjaro Linux"

I did not have this issue on 1.12.6.

If I start keymap resolver and press any key on Russian layout, it will show Cyrillic letter (ctrl-я for ctrl-z, ctrl-ч for ctrl-x etc.) I'm not sure if it's related, but on Ubuntu 16.04 machine with Atom 1.12.6 I see only Latin letters in the resolver and it has no issue described above.

winstliu commented 7 years ago

@DeFiXiK Thanks for reaching out!

We've determined that your issue is being caused by the use of an unofficial build or distribution of Atom. Often these customized versions of Atom are modified versions of the Stable branch of Atom with mismatched versions of built-in components. These updated components are taken from the Beta channel or master branch and then injected into the Stable version and a new Atom package is generated. Because of the way Atom is constructed, using these mismatched components can cause mysterious and hard-to-diagnose problems. You can find out more about why we chose to not support unofficial distributions here.

DeFiXiK commented 7 years ago

@50Wliu I've downloaded official build from github releases and I still have the issue

winstliu commented 7 years ago

/cc @Ben3eeE

nplatis commented 7 years ago

Still here:

$ atom --version
Atom    : 1.13.0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0

$ apm --version
apm  1.14.1
npm  3.10.5
node 4.4.5
python 2.7.13
git 2.11.0
Ben3eeE commented 7 years ago

Can anyone facing this issue please try the 1.14 beta. In Atom 1.14 beta we made some changes to improve layout switching on Linux and fixed an issue where the keymap was not built correctly for some languages which might have fixed this issue. I am not able to reproduce this issue on Ubuntu when using Atom 1.14.

@DeFiXiK You say that 1.12.7 does not work and that 1.12.6 works. On Ubuntu you only tried 1.12.6. If you have the chance can you please try 1.14 on both Manjaro Linux and Ubuntu to see if you can reproduce the issue?

@nplatis What do you see in the keybinding-resolver when you press the keyboard combinations that work and don't work? You can open the keybinding-resolver using Ctrl+.

nplatis commented 7 years ago

@Ben3eeE In Atom 1.13, when typing Greek and pressing shortcuts I see the Greek letters, for example Ctrl+α, Ctrl+ζ, etc for all letters. I tried

$ atom-beta -version
Atom    : 1.14.0-beta0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0

$ apm-beta -version
apm  1.15.1
npm  3.10.5
node 4.4.5 x64
python 2.7.13
git 2.11.0

and now shortcuts work! In the keybing-resolver I now see the latin letters, for example Ctrl+a, Ctrl+z, etc.

DeFiXiK commented 7 years ago

@Ben3eeE I tried 1.14 on Manjaro and the issue disappeared. All the shortcuts work in both layouts and the keymap resolver always displays Latin letters. Everything's fine :)

$ atom-beta -version
Atom    : 1.14.0-beta0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0

Unfortunately, I can't test it on Ubuntu PC since it doesn't belong to me.

Ben3eeE commented 7 years ago

That is great to hear! I am going to close this issue as resolved. Please let us know if you run in to any more problems!

/cc: @as-cii for extra :eyes: looks like your recent keyboard-layout PRs fixed this issue :tada:

BillGR17 commented 6 years ago

The problem is back!! Distro: Arch Linux Atom: 1.22.1 Electron: 1.6.15 Chrome : 56.0.2924.87 Node: 7.4.0

i tried atom --safe but still the same problem

nplatis commented 6 years ago

@BillGR17 Which package are you using? I am using aur/atom-editor-bin and have no problem with the shortcuts I tried. I also tried the community/atom package and shortcuts seem to work as well.

BillGR17 commented 6 years ago

@nplatis
i am using aur/atom-editor-bin too and i also tried the community and restarted the pc but it had the same result. Maybe its caused by Desktop Environment? i am using xfce Thanks for the reply :)

nplatis commented 6 years ago

Who knows? KDE here.

BillGR17 commented 6 years ago

So i installed kde did the configurations for Greek there and i still got the same result

alordiel commented 6 years ago

Hi guys, I'm had the same problem. My OS is Antergos (Arch) with KDE and running 1.22.1 version of Atom. When I change my keyboard layout to Bulgarian all the copy-paste shortcuts stopped working. I found a work around - I've created my own keybinding for those not working shortcuts. To do so I went to Settings (Edit > Preferences or ctrl-,) and from the left panel I chose Keybindings. There is a text that says

You can override these keybindings by copying and pasting them into your keymap file

Clicking on your keymap file will open a keymap.cson file where I added the code below:

'body':
  'ctrl-ц': 'core:copy'
  'ctrl-ж': 'core:paste'
  'ctrl-ь': 'core:cut'
  'ctrl-з': 'core:undo'
  'ctrl-ъ': 'core:redo'

(Of course this works only with Bulgarian Phonetic Layout, you will need to add your own letters there from your own layout). After restarting atom all worked perfectly.
Hope this will help you solve your issue temporary.

BillGR17 commented 6 years ago

@alordiel yep that did the trick! thanks