## AutoType

AutoType provides a means for you to easily and quickly enter user name and password information. This feature is typically used as follows:

1. Browse to the site that you want to login to.
2. Click on the first field that needs to be filled (typically the 'username' or 'login' field).
3. Switch to Password Safe, select the entry corresponding to the website
4. Invoke AutoType (via Control-T or right-click and selecting 'Perform Autotype'.
5. This causes the user name and password to be entered and submitted.

By default, the formula followed by the automated keystrokes is as follows: the user name, followed by a tab key, followed by the password, another tab, and then the enter key (username TAB password TAB ENTER). This works fine for most web sites that require username/password authentication.

For web sites or applications that require different data, you can tailor the AutoType behaviour as described in the Customizing AutoType section below. Note that you can also customize the default AutoType text via the Misc. tab in the Options dialog box. This can be useful if, for example, the default AutoType timing is too fast for your machine.

In addition, you can invoke AutoType after running an arbitrary command specified in the entry's Run Cmd field. This is a very convenient combination.

Note: If an entry has been selected due to a Find action, then the menu item "Perform AutoType" (and its shortcut if still defined) will use the information of this entry. However, if another entry is then selected, even though there is the found entry is still highlighted, the information of the newly selected entry will be used instead.

### Using AutoType

1. Place cursor in the form's username field
2. Maximize or open Password Safe
3. Select a password entry
4. Ctrl+T or right-click and select Perform AutoType or click on the Toolbar button to initiate.

### Customizing AutoType

For web sites or applications that do not have the username field followed by the password field followed by the login button, you can modify the behavior by filling in the entry's "AutoType" field with text that specifies the desired behavior as follows:

- \u is replaced by the username associated with the entry.
- \p is replaced by the password associated with the entry.
- \q is replaced by the last password associated with the entry from the entry's password history as long as this entry's password history is still active. If not active or if there are no current old passwords, the field is removed but not replaced with anything.
- \g is replaced by the group associated with the entry.
- \i is replaced by the title associated with the entry.
- \l is replaced by the URL associated with the entry (that's the letter ell, not the digit '1').
- \m is replaced by the e-mail associated with the entry.
- \o is replaced by the contents of the (possibly multilined) Notes field.

- Any end of line characters '\n', '\r' or '\r\n' are converted to '\r' (carriage return).
- No substitution is made to escape sequences within the Notes field (e.g. '\u', '\p' etc.) except for the '\t' sequence, which is replaced by the Tab character and '\s' sequence, which is replaced by "Shift+Tab".

- \oNNN is replaced by the contents of the nth line of the Notes field

- NNN can be one to three digits (e.g., \o5 for the 5th line, \o45 for the 45th, etc.
- if NNN is larger than the number of lines in the notes field, then this has no effect and no lines from the Notes field are copied.
- if NNN is zero then all lines are copied i.e. \o0 is equivalent to \o.
- End of line characters are not included.

Note that this is a convenient way to support autotyping for applications that require a second password or other arbitrary text as part of the authentication process.

- \b is replaced by the backspace key.
- \t is replaced by the Tab key, in effect skipping a field on the website's form.
- \s is replaced by the "Shift+Tab", in effect back-tabbing to the previous field.
- \n is replaced by the enter key, in effect pressing a button.
- \e is replaced by the Esc key.
- \\ is replaced by the backslash (\) key.
- \dNNN sets the delay between characters to NNN milliseconds, instead of 10 (the default). This changes the delay for the current and all subsequent characters. For example, "fast\d500slow" will result in 'fast' being typed with the default delay, and the letters 's', 'l', 'o', and 'w' typed with a half-second pause before each. if you want to put in a one-time delay that does not affect the speed of the following characters, use '\w' or '\W', as described below.
  Note that NNN is limited to a maximum of three digits.
- \wNNN or \WNNN introduces a delay of NNN milliseconds for \w, or seconds if \W is used. For example, "how\w500now" will cause 'how' to be typed (at the default rate or that specified by the last \d), followed by a half-second pause, followed by 'now' typed at the same rate as 'how'). Likewise, "how\W2now" will introduce a two second pause between the two words. This is useful for fine-tuning the timing with certain web pages.
  Note that NNN is limited to a maximum of three digits, so that, for example, \w5000 will create a half-second delay and then emit the letter '0', which is probably not what you intended (\W5 would do the trick, though).
- \z (Windows only) invokes the old AutoType mechanism. This mechanism may handle non-Latin characters incorrectly, but can make AutoType work on certain problematical web sites. If you find that AutoType does not work properly on a particular web site, try this code at the beginning of the AutoType command field. However, if this field is specified anywhere in the AutoType string, it applies to the whole string.
- \# (Windows only) is exactly the same as \z above except that it toggles using the old AutoType mechanism on/off for the part of the AutoType string between these codes. The use of \# instead of \z may prevent issues with sending non-Latin characters in other parts of the AutoType string as can happen when using the \z field. However, \# will be ignored if the \z field has been specified anywhere in the AutoType string.. For example, the following will switch to the old mechanism to just send a tab and a space:

      \#\t \#

- \c (Linux only) generates the key events that cause a platform-specific Select-All command. It is useful when autotype conflicts with browser's autofill, where the two texts combine instead of autotype'd text replacing the auto-filled text. Generating a \c at the start of autotyping inside a field (at the very beginning of autotype string, or just after a \t) ensures that the autofill'ed text gets replaced by the autotype'd text. For some sites, you might also need to autotype slowly, for which put \d100 at the beginning of your autotype string. So your autotype string could look like

      \d100\c\u\t\c\p\n

- \j (Linux only) starts generating independent key events for modifier keys like ALT, SHIFT, etc.
- \k (Linux only) stops generating independent keystrokes for modifier keys and only simulates the modifications (like making things uppercase) with flags to main key events.
- \j and \k could be useful when you find that autotype is not maintaining case-sensitivity of autotyped text, or is producing the lower keys (3 instead of #).
- All other text is typed as-is.

For Windows only, the following special control codes are also implemented:

\{Enter} | Enter key
\{Up} | Up-arrow key
\{Down} | Down-arrow key
\{Left} | Left-arrow key
\{Right} | Right-arrow key
\{Home} | Home key
\{End} | End key
\{PgUp} | Page-up key
\{PgDn} | Page-down key
\{Tab} | Tab key
\{Space} | Space bar

The special control code between the curley brackets is not case sensitive and is unaffected by the presence of the "\z" AutoType field.

In addition, the following modifiers can be combined with the above special control codes. These must precede the code and can be combined in any order. They are:

! | Alt key
^ | Control key
+ | Shift key

For example:
"\{+Tab}" is equivalent to "Shift+Tab"
"\{+^Tab}" is equivalent to "Ctrl+Shift+Tab"
"\{^Home}" is equivalent to "Control+Home".

### Shortcuts and Aliases

#### Shortcuts

AutoType of a shortcut uses the AutoType string of its base entry. The values substituded in that string, e.g., \p for password, come for the shortcut's base entry, except for the fields that can be set for the shortcut itself, namely its group, title and user.

#### Aliases

The AutoType string and all entry variables except the current password (\p) and previous password (\q) come from the alias entry. These come from the alias's base entry.

### Default AutoType

The default autotype sequence in Password Safe is \u\t\p\n. This default can be changed via the Manage/Options menu (Misc. tab).

### Examples

Example 1: The following can be used where the bank account number (12345) must be entered before the user and password:

    12345\t\u\t\p\t\n

Example 2: The following, sent in by a user, clears the username field before username and password autotype begins. Non-empty username fields are very common. Some sites remember the username even when the user does not want it to or user forgets to clear the don't remember username and, because of browser cookies, it is remembered anyway, or if login fails for whatever reason on the first attempt the username would still remain. This autotype sequence is meant to ensure that the user doesn't have to clear the username field first.

    \t\s\u\t\p\n

Example 3: The following sequence, also sent in by a user, toggles a checkbox (e.g., disables keeping you logged in):

    \#\t \#

Note: You may need more tabs ('\t') in order to get to the desired checkbox on any particular webpage. Also, please see above on possible issues when using the '\z' field.

Note: If you are having problems with AutoType, you might want to disable 3rd-party popup-blockers. Users have reported problems with the interaction of popup-blockers with the AutoType functionality.