-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
Make Quake mode work with a German keyboard layout #10203
Comments
The German keyboard layout is entirely different here, like many other languages. Is there anything special about the German layout? On Quake Engine games, the console was invoked with the key below the escape key, which is ^ on German keyboards. In order to invoke Terminal, I have set it to |
Maybe the Terminal should detect which key is at that position (keycode) and assign it automatically. Actually, what it does is detect how the user would write ` with his current layout and then assigns the key(s). On mine, it was Win+alt+shift+&. I use a custom Dvorak layout. Of course, after manually changing the binding for Quake mode under Terminal's settings (Actions section), it works without issue. I have assigned like this: As you said, Quake uses the key under Esc. For me, it's that <, and now, I can invoke Quake mode with Win+<. |
Unfortunately, the terminal settings only allows us to set keys by character, or VKEY name (in some limited scenarios). I guess ` is |
I've noticed that on my layout, the terminal defaulted to Win+alt+shift+&. Which is how ` is written with the layout. Would be indeed interesting to bind with key code instead of key characters. Maybe, in the long term, Windows should have a shortcut manager, where users would be able to see system-wide bindings. Apps would register there with some kind of API. Just an idea. |
@zadjii-msft noticed that the key below the Escape key apparently almost always maps to the scan code 29. In my opinion that's a really good idea we could pursue. |
With the Spanish QWERTY layout, Windows pre-claims the default Unfortunately, this prevents the usage of the Quake Mode feature OOTB, as it requires a shortcut remap, but it's no drama. Anyway, I guess it'd impossible to find a suitable fit-for-all-layouts alternative and 'globalSummon' seems to be the best approach. |
I would love to use Umlaut-keys for action binding, specifically |
Same question for |
Maybe Unicode could come in handy for that purpose. With the Spanish QWERTY layout and Try to use |
which actually has ² below the ESC key. Remapping the quakeMode action as "win+²" does not do anything. |
@Raton-Laveur, try to map it with Unicode as You must write that inside the I've tested this approach with a bunch of weird chars and it seems to be working pretty good, so you may use any Unicode char. |
@dag03tsc it works, thank you. |
@Raton-Laveur, I'm glad to hear that! You're welcome! There seems to be some kind of inconsistency with the GUI remapping method. Some chars are parsed to its Unicode Maybe it relays on the charset of the As an example, with the Spanish QWERTY layout, Anyway, I guess this could be fixed just by parsing all chars with no discrimination at all but, of course, exclude special keycodes like |
@dag03tsc thanks a lot, it works! |
Also, if this settings JSON flavor supports comments, maybe worth mentioning some instructions there directly inline |
I've installed the French locale and its AZERTY layout. A key binding for (cc @carlos-zamora) But the way key bindings currently work, they might break if you switch between multiple keyboard layouts. For instance: If you start Windows Terminal with a For this reason and many more we certainly need to listen for |
This commit is a preparation for upcoming changes to KeyChordSerialization for #7539 and #10203. In order to support variadic macros, /Zc:preprocessor was enabled, which required changing unrelated parts of the project. ## PR Checklist * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Project still compiles ✔️
This commit is a preparation for upcoming changes to KeyChordSerialization for #7539 and #10203. It introduces several string helpers to simplify key chord parsing and get rid of our implicit dependency on locale sensitive functions, which are known to behave erratically. Additionally key chord serialization used to depend on iteration order of a hashmap which caused different strings to be returned for the same key chord. This commit fixes the iteration order and will always return the same string. ## Validation Steps Performed * Key bindings are correctly parsed ✔️ * Key bindings are correctly serialized ❔
This commit introduces an alternative to specifying key bindings as a combination of key modifiers and a character. It allows you to specify an explicit virtual key as `vk(nnn)`. Additionally this commit makes it possible to bind actions to scan codes. As scan code 41 appears to be the button below the Escape key on virtually all keyboards, we'll be able to bind the quake mode hotkey to `win+sc(41)` and have it work consistently across most if not all keyboard layouts. ## PR Checklist * [x] Closes #7539, Closes #10203 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed The following was tested both on US and DE keyboard layouts: * Ctrl+, opens settings ✔️ * Win+` opens quake mode window ✔️ * Ctrl+plus/minus increase/decrease font size ✔️
This commit introduces an alternative to specifying key bindings as a combination of key modifiers and a character. It allows you to specify an explicit virtual key as `vk(nnn)`. Additionally this commit makes it possible to bind actions to scan codes. As scan code 41 appears to be the button below the Escape key on virtually all keyboards, we'll be able to bind the quake mode hotkey to `win+sc(41)` and have it work consistently across most if not all keyboard layouts. ## PR Checklist * [x] Closes microsoft#7539, Closes microsoft#10203 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed The following was tested both on US and DE keyboard layouts: * Ctrl+, opens settings ✔️ * Win+` opens quake mode window ✔️ * Ctrl+plus/minus increase/decrease font size ✔️
I am using Colemak Mod DHk and am unable to bind backtick or the vk or sc code to quake mode. Switching to basic US Qwerty fixes the issue, but backtick is not special in my layout like German. Is there some checking going on that prevents my keybind that shouldn't be? |
@sbatten I've installed the US ANSI Colemak-DHk and it works as intended in the Preview version of Windows Terminal (1.11.2362.0). |
This commit is a preparation for upcoming changes to KeyChordSerialization for #7539 and #10203. In order to support variadic macros, /Zc:preprocessor was enabled, which required changing unrelated parts of the project. * [x] I work here * [x] Tests added/passed * Project still compiles ✔️ (cherry picked from commit 32fbd4c)
@lhecker I am using 1.10.1933.0 (Preview from the store on Win 11) and yes that is the same layout. My default seems to be: Also, I also have keyboard layouts available, not sure if that matters. i.e. win+space toggles between layouts |
@sbatten Oh in that case you'll have to wait until 1.11 unfortunately. |
ah thanks for the clarification |
🎉This issue was addressed in #10666, which has now been successfully released as Handy links: |
Should the quake mode work with a German keyboard layout out of the box? The ` key has a special handling on the German keyboard, because it is used to handle accents and is not processed immediately. So ` + a produces à. If you want to type a `, you have to press the ` + [space].
Originally posted by @lafe in #8888 (comment)
The text was updated successfully, but these errors were encountered: