I have a big problem with KeePass 2.17. After logging with AutoType to 2-3 sites my left CTRL key seems to be "pressed", just lke someone is holding it on hardware keyboard. For example, if I press "S" key in browser (without Ctrl) it opens "Save" dialog, if I press D it adds site to bookmarks. This problem exists in Opera and Firefox. To unblock Ctrl I need to close KeePass.
- KeePass version 2.17
- Windows XP SP3 with all updates
- .NET Framework 4.0 with updates
- CTRL+ \ used as global autotype shortcut
This problem does not appear with Classic version of KeePass.
Not seen that one before.
Does it happen with different hot keys?
Do you have clipboard software installed?
I do not have any clipboard manager or virtual keyboard.
I did a further investigation.
Here are exact steps to reproduce this bug:
1. Register LEFT Ctrl+\ as global autotype shortcut. KeePass cannot distinguish between left and right Ctrl - so if you try to register RCtrl+\ KeePass will show it as LCtrl+\.
2. Start KeePass and browser (order does not matter)
3. Open a website on which you have ONLY ONE account. Try to log in, but using RIGHT Ctrl and \.
4. If you unlocked your database before logging in, you will now have locked Control button.
4a. If your database was not previously unlocked, password prompt opens. Type your password and Autotype will log in correctly. Log out or open another website with one entry in database and try to log in. After second autotype usage, Ctrl hangs.
5. If you close KeePass, CTRL key is still "pressed" in web browser. You have to close your browser (Firefox or Opera) to unlock it.
- if you use autotype with LEFT Ctrl and \, this problem does not appear
- if you have more than one entry for a website, use right Control, and KeePass shows entry selection dialog, this problem does not appear.
- to block Ctrl button you have to use RCtrl+\ twice if database was locked or once if it was unlocked
- Ctrl is "pressed" only in browser window - if I switch to other application, Ctrl is not pressed.
KeePass and the documentation mention LCtrl everywhere, because only the left control key is supported. The right control key isn't supported.
Does it work with the default hot keys?
It works well with combinations of left Ctrl key.
I cannot use default sequence (Ctrl+Alt+A) because I'm using Polish system. Pressing LCtrl+LAlt+A in Windows is equal to pressing RAlt+A which is used to type national character "ą". This is mentioned in user manual.
I used version 1.x for a long time and it worked with right Control as well.
So, thanks for the explanation and happy New Year!
I also ran into this issue, as I would prefer to use RCtrl in my global auto-type. I ended up working around it be remapping RCrl to LCtrl using AutoHokey.
If you do not want to use that program, you can remap the key in the registry using the program KeyTweak or through manual edits.
On my standard 104 US keyboard, the scan code for LCtrl is 1D,00 and RCtrl is 1D,E0 making the registry code look like this:
Windows Registry Editor Version 5.00
I do not know if scan codes are universal or dependent on your localization or keyboard layout. Remember to restart you computer after editing, and simply delete "Scancode Map" from the registry to revert the key.
I recommend AutoHotkey, though, as it allows you to conditionally modify the keys and maintain functionality.
themanwithoutsleep, that information was very helpful, thanks! After experimenting a lot with virtual keys, scan codes and those things, I think it's working now (i.e. KeePass can release right Shift/Control/Alt keys, without the registry hack).
Here's the latest development snapshot for testing:
In the options dialog it still shows the 'L' versions of the modifier keys, but the right ones should work, too. I'll remove the 'L', if you can confirm that it works on your PC.
Thanks again, best regards,