KeePassDX
KeePassDX copied to clipboard
Support Inputstick
Keepass2Android supports plugins, one of which allows the use of Inputstick http://www.inputstick.com/ https://github.com/inputstick/KP2APlugin
A feature request would be to natively support Inputstick to type username/password/URL etc. https://github.com/inputstick https://github.com/inputstick/InputStickAPI-Android
Linked to https://github.com/Kunzisoft/KeePassDX/issues/259 #80
A modest proposal, or as a stopgap...
You wouldn't necessarily need to integrate InputStick's API, at least not right away.
This came up in F-Droid not so long ago: https://github.com/TheLastProject/ShareToInputStick https://f-droid.org/en/packages/me.hackerchick.sharetoinputstick/
It acts as a share target, and then sends whatever arbitrary text you share with it to your InputStick. You would just need some kind of mechanism to select whichever field (username, password, email, attribute) you wanted to share; have it bring up the "Share With..." dialog, tap on "Share To InputStick" and you're done.
That said, I'm not much of an Android developer and I don't really know what all is involved with Android's Share With API - if there are any security concerns, so on and so forth.
Just throwing this out there as an idea.
I just got an input stick and would love this to be implemented (I know its not as helpful as something like actual code but I wanted to show support). I work as IT and this would help out and make my day to day operations so much faster, currently the way to do it is to copy then use "usb Remote" in order to paste it, and it just adds alot of delay I could be using to fix the issues themselves. if you need any help I'm here and can test versions with this in it as well.
Yeah, I need to send my credentials to Inputstick on a daily basis. Unfortunately, without such integration, I have to stick to Keepass2Android for now
I'd also love to have native InputStick support directly integrated in KeePassDX! <3
A modest proposal, or as a stopgap...
You wouldn't necessarily need to integrate InputStick's API, at least not right away.
This came up in F-Droid not so long ago: https://github.com/TheLastProject/ShareToInputStick https://f-droid.org/en/packages/me.hackerchick.sharetoinputstick/
It acts as a share target, and then sends whatever arbitrary text you share with it to your InputStick. You would just need some kind of mechanism to select whichever field (username, password, email, attribute) you wanted to share; have it bring up the "Share With..." dialog, tap on "Share To InputStick" and you're done.
ShareToInputStick itself works kinda well for me, but many times, connecting to an InputStick fails for the first time, so you have to re-select/tap the same device in ShareToInputStick at least twice (update: issue now reported). The KP2A InputStick plugin works a lot better for me in this regard (update: but also has a minor issue).
When considering to support ShareToInputStick (would be okay for a temporary workaround IMHO), please use the sharing intent text/x-keystrokes which was added to ShareToInputStick on my request a while ago. The benefit is that you can select to always use the ShareToInputStick app for this intent type, saving an extra step compared to using the text/plain intent type.
@J-Jamet I see you have moved this issue over to your TODO list for KPDX5 at the end of last year. Thank you for considering it! How likely is it that you'll be actually implementing InputStick support for KPDX5, taking into account that this issue is open for over 6 years now and thus likely a low priority for you?
Also, do you have a rough estimate on when you plan to work on KPDX5?
I suppose that it will likely take quite a long time (several months or even longer) until we could expect this feature to be available in KPDX(5). Maybe you could consider implementing the ShareToInputStick workaround at first (see my previous posting).
Thanks and please keep up the great work with KPDX! 🙏
Indeed, it wasn't a high priority, even though it might be a good addition, as it requires additional hardware. I don't have any estimates; the features are created as we go along. I'd like to set it up for personal use as well, but I don't even have the hardware. I'd like to explore the possibility of direct use from a modified ROM. KeePassDX version 5 will be a refactoring of the code, so this will be an opportunity.
@J-Jamet if you happen to be located in Germany in or near Leipzig - I had bulk-ordered 4 to save future shipping costs, but only ever needed 2 of my 4 sticks - you can have one without shipping costs, if it helps development! :)
Alternatively I can also offer some testing!
@J-Jamet @Maingron I had exactly the same thought when I received the notification and also would have donated an spare Inputstick laying around. If it won't be an issue for @Maingron I'd happily donate the international shipping fees to your Inputstick :)
Thanks, that's kind of you, but I'll order it myself when I work on it. If this equipment is required and not readily available to everyone, I will focus on a solution that initially only requires a software modification.
https://github.com/tejado/Authorizer is a PasswdSafe fork that implements autotype over USB and Bluetooth. The USB HID works well, but requires root. Bluetooth autotype is rather clunky to connect properly. That said, it may prove helpful in working out some of the mechanics at least.
Thank you!
@J-Jamet it definitely is available to everyone, but the shipping costs had been very high. It seems like they dropped now, but at least back then it made more sense to order many once instead of multiple times.
Glad things are improving on both ends! :)
Indeed, it wasn't a high priority, even though it might be a good addition, as it requires additional hardware. I don't have any estimates; the features are created as we go along. I'd like to set it up for personal use as well, but I don't even have the hardware. I'd like to explore the possibility of direct use from a modified ROM. KeePassDX version 5 will be a refactoring of the code, so this will be an opportunity.
Could you imagine adding support for sharing passwords (or even better: any other string fields' values) with the text/x-keystrokes intent type that I mentioned in my comment through an additional button (like the currently implemented copy button) or similar?
It would require much less efforts and no hardware for you to test (you could just check whether KDE Connect and/or ShareToInputStick appear in the app list that pops up after firing up the intent :-)
Problem is: sharetoinputstick doesn't work at all with non-US keyboard. (I have german keyboard layout in android, laptop (linux) and in the inputstick utility as default keyboard layout) Whether connecting directly or by sending it to inputstickutility it will always mess up and send as US keyboard (effectively sending stuff like "httpsÖ--github.com-" instead of "https://github.com/" )
Using USB remote ( https://www.inputstick.com/usb-remote-android/ ) it works correctly.
So using sharetoinputstick is not a great solution unless you're an all-US-keyboard shop, or I am missing something here..
Problem is: sharetoinputstick doesn't work at all with non-US keyboard. (I have german keyboard layout in android, laptop (linux) and in the inputstick utility as default keyboard layout) Whether connecting directly or by sending it to inputstickutility it will always mess up and send as US keyboard (effectively sending stuff like "httpsÖ--github.com-" instead of "https://github.com/" )
I just created the following issue in the ShareToInputStick project (which you could have done as well, btw.) to support other keyboard layouts: https://github.com/TheLastProject/ShareToInputStick/issues/110
So using sharetoinputstick is not a great solution unless you're an all-US-keyboard shop, or I am missing something here..
Adding support for sharing text with the text/x-keystrokes intent type would also make it possible to send it via the KDE Connect app (Send as keystrokes) which is also awesome for computers that you are allowed and/or able to install software on (it even runs on Windows).
I'm not sure how secure and reliable sharing to KDE Connect would be, but having options is always nice, and I'll certainly use it one day!
Tho we must make sure the password doesn't route through the internet, especially if the user isn't aware.
I'm not sure how secure and reliable sharing to KDE Connect would be, but having options is always nice, and I'll certainly use it one day!
You should definitely try it, it's a game changer.
Tho we must make sure the password doesn't route through the internet, especially if the user isn't aware.
Well, that's an unapplicable scenario because KDE Connect only uses a local network to which both the phone running the KDE Connect app and the computer running the KDE Connect desktop program (Linux with KDE or Windows) must be connected (WiFi or Ethernet doesn't matter).
According to KDE Connect's Privacy Policy
KDE Connect never sends any information to KDE nor to any third party. KDE Connect sends data from one device to the other directly using the local network, never through the internet. Network traffic is always encrypted using TLS1.2.
Thanks guys! There is a "network" option. I probably got it mixed up with "online".
I do use KDE connect, it definitely is a game changer! I'm just not sure if I'll share passwords using KDE Connect.
I think the topic got derailed a bit here. Let's maybe focus on Inputstick first instead of discussing KDE connect features... If that solution (text/x-keystrokes ?) happens to also be good for stuff like that KDE connect, great.
But I think at least in this issue the focus should be with inputstick and to make it as seamless ab experience as it is with keepass2android, not focusing on making it some kind of a cludgy solution that will support ALL other methods in a suboptimal way.
Ha! I didn’t know about InputStick until I saw it mentioned here last week. I’d actually been looking for a solution like this for a while — but never came across it, so I went ahead and built my own using a $17 ESP32-S3 dongle (see #2186 ). I integrated it into a modified clone of KeePassDX, mainly as a proof of concept since I wasn’t sure if anyone else would be interested. It seems to be working well, as far as I could test it, on windows, linux, andoird and iphone.
I know it’s not directly related to the main topic (InputStick), but I think it’s a step in the right direction to get the conversation and development moving. Under the same UI/settings, I think the InputStick SDK could also be supported in the future. My implementation is completely open-source on the dongle side, so others can adapt or extend it however they like.