keepassxc icon indicating copy to clipboard operation
keepassxc copied to clipboard

Ask for {PICKCHARS} during sequence instead of prior to start

Open pomianowski opened this issue 5 years ago • 10 comments

Overview

Many banks only show the password field after entering your username. That's why we don't know what characters to choose for pickchars.

Steps to Reproduce

  1. Download the KeePassXC 2.7.0-snapshot (805574c)
  2. Create a new sequence with pickchars, e.g. {USERNAME}{ENTER}{DELAY 2000}{DELAY=500}{PICKCHARS}{ENTER}
  3. Go to the website of an example bank with a masked password: https://login.ingbank.pl/mojeing/app/#login
  4. If the bank shows the login field, then the password. We don't know what letters we should choose.

Expected Behavior

The PICKCHARS window appears after entering the username and the delay.

Actual Behavior

The PICKCHARS window appears before entering the username and the delay.

Solution

The PICKCHARS window should be shown in the order in which it appears in the sequence. If we have USERNAME, ENTER, DELAY and then PICKCHARS. The pickchars window should be shown after DELAY

System

KeePassXC - 2.7.0-snapshot Revision: 805574c Operating System: Windows 10.0.19042 Build 19042 Desktop Env: Windows NT X64

pomianowski avatar Apr 12 '21 17:04 pomianowski

You should create two separate auto-type sequences in this case. I could not get the pickchars to be deferred until needed in the sequence without breaking the entire auto-type handling code. Maybe some day in the future, but since this feature is so rare to begin with it isn't worth investing when you can define multiple sequences.

droidmonkey avatar Apr 12 '21 17:04 droidmonkey

You should create two separate auto-type sequences in this case. I could not get the pickchars to be deferred until needed in the sequence without breaking the entire auto-type handling code. Maybe some day in the future, but since this feature is so rare to begin with it isn't worth investing when you can define multiple sequences.

I understand, thank you very much for your comprehensive answer.

pomianowski avatar Apr 12 '21 17:04 pomianowski

I would really love this feature. Two popular banks in Poland are using this kind of login procedure. ING and Alior Bank.

@pomianowski do you think it would be maybe possible to one auto-type sequence to trigger another after it is finished? Then this could be a workaround.

noisy avatar Jun 05 '22 23:06 noisy

Just define two associations for the same window. The second one is just {PICKCHARS}. Select that one from the dialog when you know which chars to use. I highly doubt I'll implement this because it does complicate the code quite a bit. Especially when you can just define multiple associations as a very usable solution.

droidmonkey avatar Jun 05 '22 23:06 droidmonkey

I'll still toy with making this the default behavior, it's not impossible.

droidmonkey avatar Oct 22 '23 14:10 droidmonkey

You fill me with great optimism @droidmonkey. Is there any way I can help make this possible?

pomianowski avatar Oct 22 '23 14:10 pomianowski

I also have this problem with ING in Poland.

cja-github avatar Dec 18 '23 10:12 cja-github

Same here!:D My solution for this is to have single sequence with username and password as usual but with overriden {PICKCHARS}{ENTER} sequence. The trick is to fill username with Ctrl+1 (auto type username only), then on password screen simply triggering auto type which will open PICKCHARS window: image

tlipinski avatar Mar 25 '24 21:03 tlipinski

I've been testing KeePassXC for 2 days because I've heard that it's better than the original KeePass. Almost all Polish banks use the login that @pomianowski writes about. The {PICKCHARS} function is used very often. In the original KeePass it works very well and as expected (code {SPLIT}). I don't understand why you didn't just do the same in KeePassXC. Without this function KeePassXC is completely useless to me.

RafaelXI avatar May 27 '25 13:05 RafaelXI

@RafaelXI this is easily achieved by splitting your Auto-Type into two sequences. One does initial login phase, the other does {PICKCHARS}. Or do what the comment literally above your post says.

droidmonkey avatar May 31 '25 12:05 droidmonkey