Increase Font With CTRL + not working on German keyboard #5315

Closed
opened 2026-01-31 00:10:20 +00:00 by claunia · 13 comments
Owner

Originally created by @samba2 on GitHub (Nov 30, 2019).

Originally assigned to: @carlos-zamora, @DHowett-MSFT on GitHub.

Environment

Windows build number: Version 10.0.18363.476
Windows Terminal version (if applicable):  0.7.3291.0

German Windows 10 with German keyboard layout.

Steps to reproduce

  • open a Powershell or Ubuntu Window
  • press CTRL + "-" to decrease the font size -> works as expected
  • press CTRL + "+" -> nothing happens

Expected behavior

  • the font size should increase agin

Actual behavior

The font size stays unchanged.

Originally created by @samba2 on GitHub (Nov 30, 2019). Originally assigned to: @carlos-zamora, @DHowett-MSFT on GitHub. # Environment ```none Windows build number: Version 10.0.18363.476 Windows Terminal version (if applicable): 0.7.3291.0 ``` German Windows 10 with German keyboard layout. # Steps to reproduce - open a Powershell or Ubuntu Window - press CTRL + "-" to decrease the font size -> works as expected - press CTRL + "+" -> nothing happens # Expected behavior - the font size should increase agin # Actual behavior The font size stays unchanged.
Author
Owner

@Migod11 commented on GitHub (Dec 1, 2019):

Same issue with Belgian AZERTY keyboard layout

@Migod11 commented on GitHub (Dec 1, 2019): Same issue with Belgian AZERTY keyboard layout
Author
Owner

@nwaelti commented on GitHub (Dec 2, 2019):

Same issue with Swiss-french and Swiss-german keyboards, I've noticed that using the minus key (near the right shift) would work, but the minus on the numpad not at all...
Also the new split terminal (alt+shift+plus) and (alt+shift+-) are not working either.

@nwaelti commented on GitHub (Dec 2, 2019): Same issue with Swiss-french and Swiss-german keyboards, I've noticed that using the minus key (near the right shift) would work, but the minus on the numpad not at all... Also the new split terminal (alt+shift+plus) and (alt+shift+-) are not working either.
Author
Owner

@kort3x commented on GitHub (Dec 2, 2019):

The keybinding in the default settings is not working for some keyboard layouts.
The = character requires using the shift key on German keyboards which is interpreted as "ctrl+shift+0" and therefore does not trigger the default keybinding for "increaseFontsize"

To fix this add something like the following to your settings aka profiles.json in the keybindings section:

{ "command": "increaseFontSize", "keys": [ "ctrl+plus" ] }

@kort3x commented on GitHub (Dec 2, 2019): The keybinding in the default settings is not working for some keyboard layouts. The = character requires using the shift key on German keyboards which is interpreted as "ctrl+shift+0" and therefore does not trigger the default keybinding for "increaseFontsize" To fix this add something like the following to your settings aka profiles.json in the keybindings section: `{ "command": "increaseFontSize", "keys": [ "ctrl+plus" ] } `
Author
Owner

@kort3x commented on GitHub (Dec 2, 2019):

btw why is

{ "command": "increaseFontSize", "keys": [ "ctrl+=" ] },

the default keybindig? Why not "ctrl+plus"?

@kort3x commented on GitHub (Dec 2, 2019): btw why is `{ "command": "increaseFontSize", "keys": [ "ctrl+=" ] },` the default keybindig? Why not "ctrl+plus"?
Author
Owner

@DHowett-MSFT commented on GitHub (Dec 3, 2019):

The default zoom in binding is Ctrl+= for consistency with other applications that have configurable zoom levels. Consider Photos, Firefox, Chrome, Edge (new), Edge (old): all of them zoom in when you press ctrl+=. They also seem to zoom in when you press Ctrl+Shift+= (on my 104-key US keyboard that is +), however.

@DHowett-MSFT commented on GitHub (Dec 3, 2019): The default zoom in binding is <kbd>Ctrl</kbd>+<kbd>=</kbd> for consistency with other applications that have configurable zoom levels. Consider Photos, Firefox, Chrome, Edge (new), Edge (old): all of them zoom _in_ when you press ctrl+=. They also seem to zoom in when you press Ctrl+Shift+= (on my 104-key US keyboard that _is_ `+`), however.
Author
Owner

@kort3x commented on GitHub (Dec 3, 2019):

The default zoom in binding is Ctrl+= for consistency with other applications that have configurable zoom levels. Consider Photos, Firefox, Chrome, Edge (new), Edge (old): all of them zoom in when you press ctrl+=. They also seem to zoom in when you press Ctrl+Shift+= (on my 104-key US keyboard that is +), however.

OK. Being from Germany I had no idea that's the case for US locale. Just seemed odd. Forget i asked :)

@kort3x commented on GitHub (Dec 3, 2019): > The default zoom in binding is Ctrl+= for consistency with other applications that have configurable zoom levels. Consider Photos, Firefox, Chrome, Edge (new), Edge (old): all of them zoom _in_ when you press ctrl+=. They also seem to zoom in when you press Ctrl+Shift+= (on my 104-key US keyboard that _is_ `+`), however. OK. Being from Germany I had no idea that's the case for US locale. Just seemed odd. Forget i asked :)
Author
Owner

@VikingScientist commented on GitHub (Dec 4, 2019):

Related to #3737 which discusses the use of Shift+Alt+=

@DHowett-MSFT : How do you format to get the boxed-in "button-like" Ctrl and = words in your last reply

@VikingScientist commented on GitHub (Dec 4, 2019): Related to #3737 which discusses the use of `Shift+Alt+=` @DHowett-MSFT : How do you format to get the boxed-in "button-like" `Ctrl` and `=` words in your last reply
Author
Owner

@DHowett-MSFT commented on GitHub (Dec 4, 2019):

@VikingScientist I'm using the <kbd> tag!

<kbd>A</kbd> looks like A.

@DHowett-MSFT commented on GitHub (Dec 4, 2019): @VikingScientist I'm using the `<kbd>` tag! `<kbd>A</kbd>` looks like <kbd>A</kbd>.
Author
Owner

@unageek commented on GitHub (Dec 6, 2019):

In Japanese JIS keyboard layout, Shift+; produces + and Shift+- produces =.

Here are keybindings of apps in Japanese mode:

Edge Photos/Chrome FireFox
Ctrl+; Zoom in Zoom in Zoom in
Ctrl+Shift+; no-op Zoom in Zoom in
Ctrl+- Zoom out Zoom out Zoom out
Ctrl+Shift+- no-op Zoom out Zoom in

(I prefer the keybinding of Photos and Chrome)

I think it is necessary to determine the actual keybinding based on the keyboard layout.

@unageek commented on GitHub (Dec 6, 2019): In Japanese [JIS keyboard layout](https://en.wikipedia.org/wiki/Japanese_input_method#/media/File:Surface_type_cover_JIS_keyboard_layout_blue.jpg), `Shift+;` produces `+` and `Shift+-` produces `=`. Here are keybindings of apps in Japanese mode: | | Edge | Photos/Chrome | FireFox | |----------------|----------|---------------|----------| | `Ctrl+;` | Zoom in | Zoom in | Zoom in | | `Ctrl+Shift+;` | no-op | Zoom in | Zoom in | | `Ctrl+-` | Zoom out | Zoom out | Zoom out | | `Ctrl+Shift+-` | no-op | Zoom out | Zoom in | (I prefer the keybinding of Photos and Chrome) I think it is necessary to determine the actual keybinding based on the keyboard layout.
Author
Owner

@padelt commented on GitHub (Feb 12, 2020):

Came here because I didn't realize that { "command": .., "keys": ["ctrl+plus", "ctrl+numpad_plus"]} means the command is triggered after two sequential keystrokes (ctrl+plus followed by ctrl+numpad_plus) and not by either one.
This works for me to configure ctrl+plus (both on the regular and numpad plus keys) to increase size and minus to decrease size:

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
...
    "keybindings": [
        { "command": {"action": "decreaseFontSize", "delta": 1}, "keys": ["ctrl+numpad_minus"]},
        { "command": {"action": "decreaseFontSize", "delta": 1}, "keys": ["ctrl+minus"]},
        { "command": {"action": "increaseFontSize", "delta": 1}, "keys": ["ctrl+numpad_plus"]},
        { "command": {"action": "increaseFontSize", "delta": 1}, "keys": ["ctrl+plus"]},
    ]
}
@padelt commented on GitHub (Feb 12, 2020): Came here because I didn't realize that `{ "command": .., "keys": ["ctrl+plus", "ctrl+numpad_plus"]}` means the command is triggered after two sequential keystrokes (ctrl+plus followed by ctrl+numpad_plus) and not by either one. This works for me to configure `ctrl+plus` (both on the regular and numpad plus keys) to increase size and minus to decrease size: ```json { "$schema": "https://aka.ms/terminal-profiles-schema", ... "keybindings": [ { "command": {"action": "decreaseFontSize", "delta": 1}, "keys": ["ctrl+numpad_minus"]}, { "command": {"action": "decreaseFontSize", "delta": 1}, "keys": ["ctrl+minus"]}, { "command": {"action": "increaseFontSize", "delta": 1}, "keys": ["ctrl+numpad_plus"]}, { "command": {"action": "increaseFontSize", "delta": 1}, "keys": ["ctrl+plus"]}, ] } ```
Author
Owner

@carlos-zamora commented on GitHub (Mar 24, 2020):

Alright, @DHowett-MSFT and I were able to track this down. We found that ctrl+= gets deserialized as ctrl+shift+0 if your main keyboard layout is set to German. This is the correct mapping for German keyboards.

More importantly, the app never receives the ctrl+shift+0 keystroke, however. This is because ctrl+shift+0 is reserved by Windows if you have multiple keyboard layouts active. To learn more about this, here's a blogpost I found.

If you would like to disable this feature to get it to work properly...

  • follow the instructions for To change hotkeys to switch keyboard layout in Windows 10 in this blogpost
  • Change the 'Switch Keyboard Layout' option to 'Not Assigned' (or off of ctrl+shift)
  • Click OK
  • Click Apply

ctrl+shift+0 should now work as a keybinding and is passed through to the terminal.

On the other hand, if you do use this hotkey feature for multiple input languages, you can configure your own custom keybinding in your profiles.json file. Just read some of the other posts on this thread or read the schema doc here.

CC @cinnamon-msft: This might be worth adding a note for in the docs since it impacts all users with multiple keyboard languages.

Closing this issue since there isn't much more we can do on our end.

@carlos-zamora commented on GitHub (Mar 24, 2020): Alright, @DHowett-MSFT and I were able to track this down. We found that <kbd>ctrl+=</kbd> gets deserialized as <kbd>ctrl+shift+0</kbd> if your main keyboard layout is set to German. This is the correct mapping for German keyboards. More importantly, the app never receives the <kbd>ctrl+shift+0</kbd> keystroke, however. This is because <kbd>ctrl+shift+0</kbd> is reserved by Windows if you have multiple keyboard layouts active. To learn more about this, here's [a blogpost I found](https://winaero.com/blog/change-hotkeys-switch-keyboard-layout-windows-10/). If you would like to disable this feature to get it to work properly... - follow the instructions for **To change hotkeys to switch keyboard layout in Windows 10** in [this blogpost](https://winaero.com/blog/change-hotkeys-switch-keyboard-layout-windows-10/) - Change the 'Switch Keyboard Layout' option to 'Not Assigned' (or off of <kbd>ctrl+shift</kbd>) - Click OK - Click Apply <kbd>ctrl+shift+0</kbd> should now work as a keybinding and is passed through to the terminal. On the other hand, if you do use this hotkey feature for multiple input languages, you can configure your own custom keybinding in your profiles.json file. Just read some of the other posts on this thread or read the [schema doc here.](https://github.com/microsoft/terminal/blob/master/doc/cascadia/SettingsSchema.md) CC @cinnamon-msft: This might be worth adding a note for in the docs since it impacts all users with multiple keyboard languages. Closing this issue since there isn't much more we can do on our end.
Author
Owner

@einarpersson commented on GitHub (Sep 1, 2020):

@carlos-zamora I did what you wrote, still no effect when pressing "CTRL and +"
with

{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+shift+0" },

Any ideas?

Also, how come it works out of the box for VSCode?

@einarpersson commented on GitHub (Sep 1, 2020): @carlos-zamora I did what you wrote, still no effect when pressing "CTRL and +" with ```` { "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+shift+0" }, ```` Any ideas? Also, how come it works out of the box for VSCode?
Author
Owner

@carlos-zamora commented on GitHub (Sep 1, 2020):

@carlos-zamora I did what you wrote, still no effect when pressing "CTRL and +"
with

{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+shift+0" },

Any ideas?

So the reason ctrl+shift+0 works on German keyboards is because you can access = with shift+0. But you were saying that there's no = button on your keyboard layout. If there's no way to access =, then maybe there's no way to invoke it, because I'm guessing that we fail converting it to a shift+<something> format. So your best bet might be to rebind it (or use the command palette).

Also, how come it works out of the box for VSCode?

This is the part that stumps me. How is this keybinding represented in VS Code?

@carlos-zamora commented on GitHub (Sep 1, 2020): > @carlos-zamora I did what you wrote, still no effect when pressing "CTRL and +" > with > > ``` > { "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+shift+0" }, > ``` > > Any ideas? So the reason <kbd>ctrl+shift+0</kbd> works on German keyboards is because you can access `=` with <kbd>shift+0</kbd>. But you were saying that there's no `=` button on your keyboard layout. If there's no way to access `=`, then maybe there's no way to invoke it, because I'm guessing that we fail converting it to a `shift+<something>` format. So your best bet might be to rebind it (or use the command palette). > > Also, how come it works out of the box for VSCode? This is the part that stumps me. How is this keybinding represented in VS Code?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#5315