-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Description
Windows Terminal version
1.13.11431.0
Windows build number
10.0.19044.0
Other Software
- Programmer Dvorak keyboard layout https://www.kaufmann.no/roland/dvorak/ installed using binary: kbddvp-1_2_8-i386.exe (76 KiB) (MD5sum: 4036147b2b637addcac3fb1fe04a29e2)
- Windows Subsystem for Linux with Ubuntu-22.04 for WSL 2 (WSL was installed using
wsl --installcommand, Ubuntu was installed from Microsoft Store)
NOTE: I've also reproduced the issue in a separate environment using Ubuntu 20.04 in WSL v1.
Steps to reproduce
Prerequisite: set up environment
- Install Programmer Dvorak using linked binary and add it to your keyboard layouts so that it can be enabled as you wish.
- Install WSL with
wsl --installand install Ubuntu 22.04 from the Microsoft store
Reproduce the issue
I will give two examples of the problem. However, these are not the only cases where behavior is incorrect. I thought this may be sufficient for now, but if more examples would be helpful, let me know and I'll spend some time compiling a longer list.
- Open Windows Terminal tab into Ubuntu WSL
- Make sure you are in Programmer Dvorak keyboard layout.
- Run
showkey -awhich will allow you to type on the keyboard. It will display information about the keys typed in real time.
Example 1:
- Type
](on physical QWERTY keyboards, hit the0key) - Type
Ctrl + ](press same key while holding Ctrl)
Example 2:
- Type
[(on physical QWERTY keyboards, hit the2key) - Type
Ctrl + [(press same key while holding Ctrl)
Expected Behavior
$ showkey -a
Press any keys - Ctrl-D will terminate this program
[ 91 0133 0x5b
^[ 27 0033 0x1b
] 93 0135 0x5d
^] 29 0035 0x1d
When the control key is held, it should display ^ followed by the key that was pressed, as above.
Actual Behavior
$ showkey -a
Press any keys - Ctrl-D will terminate this program
[ 91 0133 0x5b
^_ 31 0037 0x1f
] 93 0135 0x5d
^^ 30 0036 0x1e
In this output, it shows Windows Terminal interprets Ctrl + [ as Ctrl + _, and interprets Ctrl + ] as Ctrl + ^ instead.
I considered this could be an issue with Programmer Dvorak, WSL, or otherwise. But after some testing, I think it is a Windows Terminal bug because:
- I get expected behavior in multiple Linux-only environments I have tried
- I get expected behavior in Windows Command Prompt, which implies Programmer Dvorak is getting interpreted correctly by Windows itself (so, it is working correctly on the OS level)
I am more than happy to gather/provide further information within my capabilities, clarify anything in this report, and help out as much as I can to debug and fix this problem.
I am currently attempting to set up a development environment to try and debug this further, but I have no experience with this project or Windows application development, so realistically I won't be able to help implement a fix at this time.