"Button press required" requires 3 presses

I am using onlykey for the first time with GPG. In particular I’m using it with duplicity. Since duplicity is a GPG app I set the “Derived Key user Input Mode” to button press required because duplicity didn’t have the ability to show me a challenge code. But what I noticed is that when I hit return on the pass phrase and onlykey turns purple I have to hit the same button 3 times for things to work. I was expecting based on the docs that once I switched to “Button Press Required” mode I would only have to hit one key.

Also which button I press seems to matter. I just did tests where:

  1. Three 1s worked
  2. Hit 2 twice and then the duplicity returned an error while onlykey still showed purple
  3. Hit 2 3 times and it worked (go figure)
  4. Hit 3 4s and that worked
  5. Hit 1 and then 2 and 3, that errored out

And so on. Basically it seems that I have to hit the same key (doesn’t seem to necessarily matter which one) 3 times.

But shouldn’t it be once?

Thanks.

Yes, it should be once, press any button one time to authorize. Is it possible that duplicity is sending OnlyKey three sign requests? Each would require a button press. Can you test running this command:

echo “Hello World” | gpg2 --sign

This should flash purple and require one press.