jeremyramin / terminal-plus

A terminal package for Atom, complete with themes and more.
https://atom.io/packages/terminal-plus
MIT License
481 stars 254 forks source link

Can't type square and curly braces {[]} on Windows 10 with german keybord layout #137

Open mictaege opened 8 years ago

mictaege commented 8 years ago

On a german keybord layout the square and curly braces { [ ] } are typed by AltGr together with 7, 8, 9 respectively 0 (see https://en.wikipedia.org/wiki/AltGr_key#German).

This is not working on a german Window 10, neither using cmd.exe nor with using powershell.exe. E.g. typing AltGr + 7 will result in 7 not in {.

Oddly enough some of the characters enabled with AltGr are working, some are not.

Especially the square and curly braces together with the pipe character are crutial for using a command shell.

jeremyramin commented 8 years ago

Are you trying this with the right alt key or the left alt key? Unfortunately, I do not have a Windows 10 computer set up to test this myself. Right now the left alt key is reserved for typing characters that require the alt-key combination while the right alt key is for escape sequences.

Sorry for the late reply.

mictaege commented 8 years ago

Hi Jeremy,

thanks for your reply.

I'm using the right Alt key, which is called AltGr on a german keyboard and as far as I know all non-US PC keyboard layouts.

As you mentioned the right Alt key - or AltGr on german keyboards - is reserved for other combinations as the left Alt key.

But I found some interesting: at least on german keyboards the right alt key could be emulated by typing the left Alt key together with Ctrl or in other words left Alt + Ctrl is equivalent to right Alt.

Such an emulation provides a workarround for the problem. Example: while it's not possible to write @ by typing right Alt + q, it's possible by typing left Alt + Ctrl + q. Althought this is not very intuitive it's working.


By the way; I was wondering if the problem is caused by a Windows 10 API change so I tried something different:

First, I activated the Use Legacy Concole checkbox for Powershell that disables the new Windows 10 console features -> still not working

Second, I changed the Shell Override field in the terminal-plus settings to use a bash.exe from my git installation -> same behavior as with cmd.exe or Powershell.exe

Best regards, Michael

Marguzs commented 8 years ago

I've also had this problem writing on a danish keyboard (logitech k120). I can write "alt gr + number" everywhere else but in the terminal (I can even do it in the text editor). It seems like there's no way to fix it.

icywolfy commented 7 years ago

As a general comment:

For Alt-Gr keyboards, they do not have a "right-alt" key, they have a "Left-Alt" and the right-alt key that maps to the combination "Ctrl-Alt" to the application. (Hence coding for "right-alt" only doesn't exist in these contexts). If an accelerator for Ctrl-Alt is registered, it would trigger that combination, instead of generating the appropriate character, which is expected. Using Alt-Gr+Ctrl is equivalent to presing ctrl-alt on it's own.

In addition, some keyboards use "right-ctrl" as a 5/6th layer toggle for characters, which is why MS officially says that all applications should ONLY use alt and alt-shift as accelerator keys, for ctrl-alt will interfere with character input; right-alt doesn't universally exist, and unchecked-ctrl may interfere with character input.

US Keyboards have two Alt keys "Left-Alt" and "Right-Alt". Which are passed through to the application unchanged.

filippo-orru commented 6 years ago

Is there any way to fix this? I'm having a problem with the same cause as I use the Neo 2 layout which writes these braces: [] by typing CapsLock+E and CapsLock+R (as seen from a qwerty layout) This works in all programs I've used it with so far except godot. Weird. Is there any way this can be resolved or am I forever doomed to copy and paste the braces I need?

gghigi commented 4 years ago

Found a solution !! Use Alt gr (the one on the right) + shift + [ or ] ( square bracket keys) to get curly brackets { or } .

on my keyboard, the square brackets are next to the 'P' letter and the keys can also be used to type other letters and characters as this is for the Italian market.

No more copy and paste!

I hope it helps.

steinhaug commented 4 years ago

I had same problem just now, however in my case this worked and saved me, Im guessing loads of trouble.... Reboot system!

dcakmak commented 2 years ago

Uninstalling all keyboard drivers in the devicemanager and restart the computer did the trick for me

johnmnemonic commented 2 years ago

No need to reboot.

This is a know issue when you have RDP open. I usually encounter it when my laptop goes to sleep while having outgoing RDP sessions established.

Go to an open RDP session and hit Alt+Enter, then go back to a non-rdp window and you should see that right-altgr + numbers are working again. If all RDP sessions are closed/dead, you might need to run mstsc.exe and open an RDP connection

oletolshaveics commented 1 year ago

No need to reboot.

This is a know issue when you have RDP open. I usually encounter it when my laptop goes to sleep while having outgoing RDP sessions established.

Go to an open RDP session and hit Alt+Enter, then go back to a non-rdp window and you should see that right-altgr + numbers are working again. If all RDP sessions are closed/dead, you might need to run mstsc.exe and open an RDP connection

The Alt+Enter in RDP worked and just Saved My Day. Thanks!

Jacnt commented 1 year ago

For me it is working with the combination of "AltGr" + the button with the square brace sign on it (next to the Enter button). I hope this helps.

Nikolai-Grytvik-Borbe commented 10 months ago

I found a fix!

When inside the terminal, right click the top bar and go to settings > Actions > Then scroll down until you find "Ctrl + alt + 7/8/9" and edit -> delete them.

image

Note: This works for the new Windows terminal, I don't know what terminal you are using.