Menu

#1445 Auto-Type works incorrectly with cmd.exe

KeePass_2.x
closed
nobody
None
5
2016-01-15
2015-11-16
Anthony
No

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

1 Attachments

Discussion

  • Anthony

    Anthony - 2015-11-16

    Forgot to add that this is what I get in the prompt:
    8 "³;~1'5[:+,->?)!@#$%^&*(/.\=|<²ABCDEFGHIJKLMNOPQRSTUVWXYZ€¶^_`abcdefghijklmnopqrstuvwxyz¤¡’~

     
  • Paul

    Paul - 2015-11-17

    Working fine for me into Notepad++ and a Command Prompt on W8.1.
    How are you performing the Auto-Type?

    cheers, Paul

     
  • Anthony

    Anthony - 2015-11-17

    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)

     
  • Paul

    Paul - 2015-11-18

    Try setting / un-setting Tools > Options > Advanced > Auto-Type > Ensure same keyboard layouts during auto-type.

    cheers, Paul

     
    • Anthony

      Anthony - 2015-11-18

      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

       
  • Paul

    Paul - 2015-11-18

    How do you set the locale for the command window?

    cheers, Paul

     
    • Anthony

      Anthony - 2015-11-18

      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.

       
  • Dominik Reichl

    Dominik Reichl - 2015-12-23
    • status: open --> closed
     
  • Dominik Reichl

    Dominik Reichl - 2015-12-23

    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

     
    • Anthony

      Anthony - 2016-01-07

      I did a clean install of Windows 10 with the following settings:

      • Language to install: English (United States)
      • Time and currency format: Dutch (Belgium)
      • Keyboard or input method: United States-International

      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

       
  • Dominik Reichl

    Dominik Reichl - 2016-01-15

    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

     
    • Anthony

      Anthony - 2016-01-15

      It works with KeePass 2.31!
      Thank you for following up on this issue, I really appreciate it.

      Kind regards, Anthony

       

Log in to post a comment.