eclipse-theia / theia

Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
http://theia-ide.org
Eclipse Public License 2.0
20.07k stars 2.5k forks source link

Random keybinding conflicts on Chrome OS #7362

Open davemecha opened 4 years ago

davemecha commented 4 years ago

Description

After some time working with a GitPod instance (with the chromebook on standby over night) the shortcut for toggle comments Ctrl + / stops working and the Chrome OS global help shortcut is triggered instead. (I assume, other shortcuts that override globals may fail as well)

Even a refresh of the browser tab does not fix the issue. In most cases, I can workaround the issue by opening the same GitPod in a new tab by copying the URL and pasting it to a new tab. But some days ago this workaround did not work. I had to create a new GitPod instance from the same branch to make the keybindings work again.

Reproduction Steps

I don't know how to reproduce the issue exactly. The problem happens again and again on different workspaces with different projects (Angular, Ionic, React) for several weeks now.

I'm not yet able to identify the moment when the shortcut stops working.

OS and Theia version:

I'm using Theia IDE via GitPod on a Chromebook (Version 81.0.4044.62 beta) with US keyboard layout.

Diagnostics:

akosyakov commented 4 years ago

@spoenemann Could it be related to keyboard auto detection?

spoenemann commented 4 years ago

@davemecha could you look into the browser console log when it happens the next time?

akosyakov commented 4 years ago

@spoenemann There should be a command as well to explicitly set some keyboard layout right?

spoenemann commented 4 years ago

Right, it's "Choose Keyboard Layout" (find it via F1). You can try whether overriding the auto-detection with a manual selection resolves the problem.

davemecha commented 4 years ago

Ok, I digged deeper into the problem when it occurred today and I think I found the root cause.

Sometimes I switch my keyboard layout to German. The problem seems to occur, when I have my keyboard layout switched to German while starting GitPod. When I switch the layout back to English after the IDE started, the shortcut is not working. So I can now easily work around this issue. :)

Maybe Theia is not able to deal with keyboard layout change at runtime?

spoenemann commented 4 years ago

We're trying to use the layoutchange event to detect layout changes, but I believe that event is not implemented in any browser (the spec is currently in "CG-DRAFT" mode). If you're using Chrome, reloading the browser page should help (Chrome supports parts of the keyboard-map spec). Otherwise please use the "Choose Keyboard Layout" command to switch the layout manually.

Ri-Dearg commented 4 years ago

I can't tell if it's the same issue or not, but I am also on a chromebook and many of the shortcuts flat out don't work. It isn't related to my keyboard layout, as I have checked. For example, for formatting the document, or many things using the alt key. While writing this, i just discovered alt+shift+i opens google's feedback or "Report an issue" window directly. I don't know how many other custom keyboard commands might be taken up by default chromebook setting....