Add Additional Tab and Return after UserName / Password (in slot configuration)


If you look at the authentication form for Amazon, then you can see that you need to perform the following actions :

  • Enter the login.
  • Press “Tab”.
  • Then press “Enter”.
  • Enter the password.
  • Press “Tab”.
  • Then press “Enter”.

If you only press “Enter” after the username or the password, then it does not work (at least under Firefox).



This would be fantastic to have added.

Please also add the option to tab twice between username and password. Several banking sites need this, and so does GitHub.

@denis.beurive You can do this currently, this feature should probably be better documented currently mentioned in the users guide:

So one way to achieve this is as follows:

Where in the password field the value is set to:

’ \r password \t \r’

The documentation is wrong.

it specifies that these will work: \t textfield1 \t \t textfield3 (each tab/CR sequence padded with spaces)

but if I try using this in the password field: \t \t abcd ([space]\t[space]\t[space]abcd)

and letting the OnlyKey enter the resulting slot info in a text file, I get this:

75 73 65 72 6E 61 6D 65  username
09 09 5C 74 20 61 62 63  htht\t abc
64 0A 0A                 dlflf

(text file run through hexdump. the last linefeed is being added by vim)
the OnlyKey is eating some of the spaces, giving two horizontal tabs, and a literal “\t”. uwotm8?.

after trying several more formatting arrangements, I tried using password: \t\t abcd ([space]\t\t[space]abcd)

the result is:

75 73 65 72 6E 61 6D 65  username
09 09 61 62 63 64 0A 0A  hthtabcdlflf

This is the desired output; but it shows (at a minimum) that the documentation is incorrect. The format specified in the documentation shows spaces padding each ‘\t’ or ‘\r’ sequence, which doesn’t work.

Ideally, this hack would not be necessary for the end user to deal with. I would recommend making the following changes to the UI:

  • replace the “Tab after […] Return after […] None” radio buttons with check boxes, which eliminates the need for a 'None" option.
  • for each of the “Tab After […]” and “Return After […]” check boxes, add a text box where the user may enter the number of tabs/returns they want.
  • Default this box to “1” and have that value inserted from the event handler that fires when the checkbox changes state to checked, and clear the box if it is unchecked.

Overall I think this product is fantastic and well worth the price. But the UI needs some work (replacing the whole slot config with a graphical block depiction of the full output string that the user can interact with would be really cool, but possibly a bit much for JavaScript). Anyhow, thanks for your work and the support!

@zfortier Thanks for the detailed post. I think the issue here may be that you are not using two spaces in between the ‘\t’

From the docs, if you notice there are two spaces in between if you chain together multiple tabs.

@t11 You are right, I did miss that in the documentation. I’d still argue that there are better and more intuitive (or at least, less error prone) ways to implement this functionality. Asking users to manually enter escape sequences into fields that are intended for other information IMO is a pretty clear indication that something is wrong with the UI.

How about a read-only text box that displays the output that would be produced:

[CR]my_username[TAB][TAB]my_password[CR][3 SEC DELAY][TOTP][CR]

That’s perhaps easier than changing the UI, and it looks like Wizard.prototype.setSlot is doing this anyway, based on the order of fieldMap.