I’d like to introduce RdpAutoType, a new open-source plugin for KeePass 2.x, and kindly ask that it be considered for listing on the KeePass plugins page.
About RdpAutoType
RdpAutoType types your credentials — username, password and any other field — through nested RDP sessions and remote consoles, where KeePass’s built-in auto-type and most password managers fail. It injects keystrokes at the scan-code level (real make/break codes with keyboard-layout synchronization), so the keys survive redirection through RDP, and RDP-inside-RDP.
It also adds a cursor popup menu (recent entries, groups as submenus, per-entry field list and Login), a configurable mouse/keyboard activator (button + optional Ctrl/Shift/Alt, single or double click; actions: launch popup, run most-recent entry, or run the entry associated with the active window), and a visual Login Script editor (right-click an entry → Edit Login Script…) with drag-to-reorder and Field/Key/Delay elements. The editor reads and writes the entry’s native KeePass auto-type sequence ({USERNAME}{TAB}{S:Field}…) and custom string fields, so it stays fully compatible with KeePass and other plugins.
It is a clean-room implementation, written from a behavioral specification, with no decompiled code.
Target version: KeePass 2.x (tested with 2.61), Windows 10/11, .NET Framework 4.8
Suggested category: Automation
Distribution: DLL plugin; GitHub release; update check via a version file
License: GPL v2
Languages: English
Dominik, I would be grateful if you could review it and, if appropriate, add it to the plugins page. Feedback and bug reports are very welcome. Thanks a lot for maintaining KeePass!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Could you please explain why the key sending approach of your plugin should be better for RDP windows? I've looked into the source code of your plugin and found that you're using the keybd_event function with a scan code obtained using MapVirtualKey (MAPVK_VK_TO_VSC). KeePass uses the SendInput function, also with a scan code obtained using MapVirtualKey/MapVirtualKeyEx (MAPVK_VK_TO_VSC). This is basically the same... What am I missing?
Best regards,
Dominik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello everyone and Dominik,
I’d like to introduce RdpAutoType, a new open-source plugin for KeePass 2.x, and kindly ask that it be considered for listing on the KeePass plugins page.
About RdpAutoType
RdpAutoType types your credentials — username, password and any other field — through nested RDP sessions and remote consoles, where KeePass’s built-in auto-type and most password managers fail. It injects keystrokes at the scan-code level (real make/break codes with keyboard-layout synchronization), so the keys survive redirection through RDP, and RDP-inside-RDP.
It also adds a cursor popup menu (recent entries, groups as submenus, per-entry field list and Login), a configurable mouse/keyboard activator (button + optional Ctrl/Shift/Alt, single or double click; actions: launch popup, run most-recent entry, or run the entry associated with the active window), and a visual Login Script editor (right-click an entry → Edit Login Script…) with drag-to-reorder and Field/Key/Delay elements. The editor reads and writes the entry’s native KeePass auto-type sequence ({USERNAME}{TAB}{S:Field}…) and custom string fields, so it stays fully compatible with KeePass and other plugins.
It is a clean-room implementation, written from a behavioral specification, with no decompiled code.
Target version: KeePass 2.x (tested with 2.61), Windows 10/11, .NET Framework 4.8
Suggested category: Automation
Distribution: DLL plugin; GitHub release; update check via a version file
License: GPL v2
Languages: English
Links
Source code: https://github.com/bogdandaja/RdpAutoType
Releases: https://github.com/bogdandaja/RdpAutoType/releases
Dominik, I would be grateful if you could review it and, if appropriate, add it to the plugins page. Feedback and bug reports are very welcome. Thanks a lot for maintaining KeePass!
Thanks for creating this plugin!
Could you please explain why the key sending approach of your plugin should be better for RDP windows? I've looked into the source code of your plugin and found that you're using the
keybd_eventfunction with a scan code obtained usingMapVirtualKey(MAPVK_VK_TO_VSC). KeePass uses theSendInputfunction, also with a scan code obtained usingMapVirtualKey/MapVirtualKeyEx(MAPVK_VK_TO_VSC). This is basically the same... What am I missing?Best regards,
Dominik