Auto-Type works incorrectly with cmd.exe
A lightweight and easy-to-use password manager
Brought to you by:
dreichl
When using the Command Prompt (cmd.exe), KeePass' Auto-Type works incorrectly for me.
In attachment is a simple database (master password is just the password "test") with a single entry. The password contains all ASCII characters and the Auto-Type is overridden to just {PASSWORD}
When I use "Copy Password" and paste this into cmd, the password is correct. However, when using Auto-Type, a lot of the characters are incorrect. For example for digits, it types the characters you'd get if you'd type it with Shift (on a qwerty keyboard): 1 becomes !, 2 becomes @, 3 becomes #, ...
Environment:
KeePass 2.30 on Windows 10 64-bit
Language = English (United States)
Keyboard = United States-International keyboard
Forgot to add that this is what I get in the prompt:
8 "³;~1'5[:+,->?)!@#$%^&*(/.\=|<²ABCDEFGHIJKLMNOPQRSTUVWXYZ€¶^_`abcdefghijklmnopqrstuvwxyz¤¡’~
Working fine for me into Notepad++ and a Command Prompt on W8.1.
How are you performing the Auto-Type?
cheers, Paul
I did some tests on my PC at work today: the problem seems to be with the keyboard layout that is used. If the layout is e.g. "United States-International keyboard", the problem occurs. With e.g. layout "Belgian (Period)", Auto-Type works as expected. This is regardless of the language (English or Dutch).
However, there must be something else at play: I just tried on my home PC again, and there it doesn't work with the "Belgian (Period)" layout either.
On my home pc, these are the results:
1) English (United States) + United States-International keyboard
8 "³;~1'5[:+,->?)!@#$%^&*(/.\=|<²ABCDEFGHIJKLMNOPQRSTUVWXYZ€¶^_`abcdefghijklmnopqrstuvwxyz¤¡’~
2) Dutch (Belgium) + Belgian (Period) keyboard
1 "3457'908+,-;:à&é"'(§è!ç]=/2ABCDEFGHIJKLMNOPQRSTUVWXYZ
[^_
abcdefghijklmnopqrstuvwxyz~3) Romanian (Romania) + Romanian (Standard) keyboard
! "#$%&'()*+,-./0123456789Șș;=:?@ABCDEFGHIJKLMNOPQRSTUVWXYZăâî^_`abcdefghijklmnopqrstuvwxyzĂÂÎ~
As you can see, the third option is the only one which gets the digits (& all symbols before the digits) right, but none of them produces the correct result.
I'm performing the Auto-Type as follows:
- open KeePass
- start cmd.exe
- select the entry in KeePass and hit Ctrl+V
If there's something i can do to help reproduce the issue, please let me know.
Environment on my PC at work:
KeePass 2.30 on Windows 7 64-bit
Language = English (United States) / Dutch (Belgium)
Keyboard = United States-International keyboard / Belgian (Period)
Try setting / un-setting Tools > Options > Advanced > Auto-Type > Ensure same keyboard layouts during auto-type.
cheers, Paul
This doesn't make a difference, at least on my PC at work:
with the following 2 locales:
English (United States) + United States-International keyboard
Dutch (Belgium) + Belgian (Period)
I tried all combinations of the following:
locale for the KeePass window
locale for the cmd.exe window
"Ensure same keyboard layouts during auto-type" option
The only thing that matters is the locale for the cmd.exe window: whenever it's set to Dutch (Belgium) + Belgian (Period), it works. In all other cases, it doesn't.
Kind regards, Anthony
How do you set the locale for the command window?
cheers, Paul
Using the Windows language bar which I have docked besides the system tray: I select the command window, and then select the desired language in the language bar.
In Windows 7, it's possible to set different languages for the KeePass and cmd.exe windows. In Windows 10, this isn't possible and changing the language in the system tray, changes it for all windows.
I tested it with the United States-International keyboard layout, but cannot reproduce the issue (on Windows 10, with KeePass 2.30). No matter what combination of keyboard layouts I use, it always worked.
Based on your output, it seems that sometimes the Shift key is pressed additionally. Unfortunately I have no idea what could be causing this. Maybe there is some other application interfering with the auto-type process on your system.
Best regards,
Dominik
I did a clean install of Windows 10 with the following settings:
and am still able to reproduce it with KeePass 2.30 and the attached test file. So it's not due to another application interfering.
Kind regards, Anthony
Please try KeePass 2.31. It has some improvements related to keyboard layout handling.
If that doesn't work, I'm out of ideas. I just tried it again and still cannot reproduce the problem.
Best regards,
Dominik
It works with KeePass 2.31!
Thank you for following up on this issue, I really appreciate it.
Kind regards, Anthony