-
Notifications
You must be signed in to change notification settings - Fork 29.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
keyboard shortcuts do not work for correct languaga although correct language active in gnome session #135848
Comments
@bit15 Last week, we have pushed two important fixes to the keyboard layout support under Linux, we basically fixed #23690 and #24166 . Could you please try our insiders build and check if the selected keyboard layout is now detected correctly? |
@alexdima: Sorry I am a noob in things like this insider builds. Because of this little GUI change in gnome I had to solve this strange problem for continuing to work on my \university-c++-opengl'-project (and alongside of this I wanted to know what the reason for this problem is). Therefore it would be not that good if I have to break my work a long time. As I have seen, there is in snap store a insiders build. Without risk I can install this build alongside and try, if this workaround works. And later on I am able to use the official stable build again? If I am right, there are as separate builds visual code and visual code insiders and do not conflict each other ... besides in workspace perhaps, I should backup when trying insiders build? Other question for my knowledge, as I do not have knowledge in gnome development: This app gets information from gnome API, or? If yes, can it ask gnome which keyboard layout is active at the moment? And if this possible, too, the app can know if focused, or? And if all possible as I hope, then this app can verify if keyboard layout changed and change it accordingly if needed? Or costs the last point to much I/O-time? |
@bit15 Yes, VS Code Insiders can be installed side-by-side with VS Code Stable. VS Code Insiders is updated every night, and VS Code Stable is typically updated once per month. You can simply wait, the fixes will appear in the stable channel in the next couple of weeks. If you want to benefit from the fixes now, you will have to install VS Code Insiders. The fixes I mentioned are about reading the selected keyboard layout and reacting to the selected keyboard layout being changed. This is implemented in C++, in a native node module that we ship with VS Code, using X11 APIs. |
used: test result:
I hope my given info helps, as for me this seems a bit chaotic. PS: what is the way to remove settings of a snap package? 'sudo snap remove code-insiders --purge' seemed not to help, as reinstall seemed to restore old settings |
Sad, I deleted $home/snaps/code-insiders and $home/.code-insiders but start of snap code-insiders brings the opened files back again. What do I have to delete to ensure, the snap package is native again without any settings made by user? |
Yeah, I seem to have found where the user config data is stored. The folders '$home/snaps/code-insiders' and '$home/.code-insiders' seem not to have the user config. The user config seems to be in '$home/.config/code - insiders' (with spaces in name?!?!?). For what are the first two mentioned folders? Now a clean test without trying to set keyboard shortcuts (used method: toggle line comment):
As noticed in earlier post, I have to keep en layout on pos 1 to be being able to use the en keyboard shortcuts (the active layouts seem not to be observed by the app). Here the metadata if app changed while trzing to remove the user data of this snap: |
@bit15 Thank you for trying out Insiders and following up. You have done many tests and I thank you for that, and they all hint towards us not recognizing the current active keyboard layout, but I would like to please ask you to do the following to confirm that is the case: 0. preparation
1. let me know the output of
|
initial: keyboard layout en (macintosh) set on pos 1, also active point 0: No extensions naturally installed (only on first try I tried 'real world'-test, but removing '$home/.config/code - insiders' seemed to be sufficient to remove the only c++ from microsoft extension) point 1: output when de on pos 1: point 2: Layout infos of keyboards - first en active de - second de active en.txt point 3: Hopefully my output helps to identify why the active keyboard layout seems to be ignored and only the position of the keyboard layouts seems to be relevant. |
updated description in files and better file names: |
@bit15 Thank you for the extra information. I can now also reproduce. The steps are:
Some of the problems I've noticed:
This is not true, as pressing Similarly, pressing So I believe there is something off about the value we use for the modifier state (in the no modifier case) in our C++ module. As a workaround, please try to use |
I am glad I could help to find the location of the bug. Thank you for fixing the bug. @alexdima: Perhaps interesting aspect: in opengl+'C++-' I can not move object in the opengl context with cursor, when de on pos 1 => I have to keep en on pos 1 ... in older ubuntus this worked flawlessly ... bug introduced in new ubuntu perhaps since 20.04? could this be a bug in GLFW or in gnu c library or in X11? |
Issue Type: Bug
prior knowledge of important settings of environment:
e.g.: comment line is ctrl+/ and this works in this case
but if I change the place of the german keyboard in gnome to place one, then suddenly for commenting I have to use ctrl+& (ctrl+shift+7), although en is active yet => visual code looks for shortcuts only which keyboard is set on first position in gnome, but not which keyboard is active currently!
VS Code version: Code 1.61.2 (6cba118, 2021-10-19T14:58:13.605Z)
OS version: Linux x64 5.11.0-38-generic snap
Restricted Mode: No
System Info
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
opengl: enabled_on
rasterization: disabled_software
skia_renderer: enabled_on
video_decode: disabled_software
vulkan: disabled_off
webgl: enabled
webgl2: enabled
Extensions (2)
A/B Experiments
The text was updated successfully, but these errors were encountered: