KeePassXCの自動入力は便利ですが初期設定のままでは全ての入力フォームに対応できません。
スムーズに自動入力を行うには、入力方法を各サイトの入力フォームに合わせて自動入力シーケンスを設定する必要があります。
この記事では自動入力シーケンスの作成方法と実用例を紹介します。
自動入力シーケンス
シーケンスとは入力順序のことです。入力シーケンスはユーザー名やパスワードの入力順番のことを指します。
入力シーケンスは初期状態では次のようになっています。
{USERNAME}{TAB}{PASSWORD}{ENTER}
これは、ユーザー名・Tab・パスワード・Enter の順に自動入力することを意味します。
ユーザー名などの情報はエントリーから取得されます。見た目そのままなので非常に分かりやすいですね。
自動入力シーケンスはカスタム設定することで自由に変更することが可能です。
自動入力シーケンスは何に使うのか?
何のために自動入力のシーケンスが存在するかというと、サイトごとの入力フォームの違いに対応するためです。
Amazonと楽天のログインフォームはデザインが異なります。同じ入力方式では対応できないのです。
自動入力シーケンスは親グループを引き継ぐ
グループ内のグループ・エントリーは親グループの自動入力シーケンスを引き継ぎます。
親グループのシーケンスを変更した場合、親グループ内のすべてのグループ・エントリーに変更が適用されます。

例えば、上画像の Passwordグループの自動入力シーケンスを {PASSWORD}{ENTER} に変更した場合、その中にある子グループ・エントリーの自動入力シーケンスも {PASSWORD}{ENTER} になります。
ただしカスタム設定しているエントリーはその設定が優先して使用されるので影響を受けません。
自動入力シーケンスの編集
シーケンスの作成と聞くと難しそう聞こえますがやることは簡単で、サイトの入力フォームに合うように入力順序を調整するだけです。
エントリーを右クリック > エントリーの編集 > 自動入力

「カスタム自動入力シーケンスを使用する」にチェックを入るとシーケンスを編集できるようになります。
シーケンスをカスタマイズするコード
カスタム自動入力シーケンスの作成に使えるコードの一覧です。
入力フォームに合わせたシーケンスを作成するために使用します。
| {TAB}, {ENTER}, {SPACE}, {INSERT}, {DELETE}, {HOME}, {END}, {PGUP}, {PGDN}, {BACKSPACE}, {CAPSLOCK}, {ESC}  | 対応するキーを入力する | 
| {UP}, {DOWN}, {LEFT}, {RIGHT} | 方向キー | 
| {F1}, {F2}, …, {F16} | F1~F16 | 
| {LEFTBRACE}, {RIGHTBRACE} | braceとは{}のこと | 
| {DELAY=X} | 自動入力時の遅延をXミリ秒に設定する | 
| {DELAY X} | キー入力の開始をXミリ秒遅らせる | 
| {CLEARFIELD} | キー入力の前に入力フォームを空にする | 
| {TOTP} | 設定されている場合にTOTP値を挿入する | 
| {<ACTION> X} | <ACTION>をX回繰り返す | 
| {TITLE} | エントリーのタイトル | 
| {USERNAME} | ユーザー名 | 
| {PASSWORD} | パスワード | 
| {URL} | URL | 
| {NOTES} | メモ | 
| {TOTP} | 現在のTOTP値 | 
| {DT_SIMPLE} | 現在の日時と時刻 | 
| {DB_DIR} | データベースファイルがあるディレクトリの絶対パス | 
| {S:<ATTRIBUTE_NAME>} | <ATTRIBUTE_NAME>の値を取得 | 
| {REF:<FIELD>@<SEARCH_IN>:<SEARCH_TEXT>} | 指定したリファレンス式を使うエントリーの<FIELD>を検索する | 
Configure Global Auto-Type – keepassxc.org
コードを並べることで自動入力シーケンスを作成できます。
{USERNAME}{ENTER}{DELAY 1000}{PASSWORD}{ENTER}
上の例は入力を遅らせる {DELAY X} を使用しています。ユーザー名とパスワードの入力ページが異なるフォームで有効です。
{}を付けずに文字を入力すると文字列として出力できます。特定の文字列を入力したいに使用してください。
個人的には打ち間違えたときのために {ENTER} は省略する方が安全かと思います。
ウィンドウタイトルごとにシーケンスを設定する
1つのエントリーに対して、ウィンドウタイトルごとに複数の自動入力シーケンスを設定することができます。これはグローバルショートカットを使った自動入力をする際に役立ちます。
Googleのような複数のサイトで同じアカウントを使える場合は1つのエントリーとしてまとめておくといいかもしれません。
エントリーを右クリック > エントリーの編集 > 自動入力

- ボタンを押して関連付けを追加する。
 - マッチさせたいウィンドウタイトルを入力。
 
ウィンドウタイトルにワイルドカードの *(アスタリスク)を使用すればすべての文字列に対してマッチさせることができます。
ウィンドウタイトルを *(アスタリスク)だけにすると常に候補としてグローバルショートカットの自動検出に表示させることが可能です。

下の画像はメモ帳に対してグローバルショートカットを使用した例です。*(アスタリスク)を設定しているエントリーは常に表示されます。

実際にはグローバルショートカットはエラーでうまく自動検出できない場合が多いです。理由は不明ですが日本語が影響しているかもしれません。
このような場合には *(アスタリスク)を使用しましょう。
自動入力シーケンスの実用例
実際に使用する自動入力シーケンスの例を紹介します。
Googleへのログイン

{PASSWORD}{ENTER}
パスワード入力 => Enter
Googleのようなユーザー名を保存するタイプのフォーム用の自動入力シーケンスです。パスワードだけ入力してEnterを押します。
Amazonへのログイン

{USERNAME}{ENTER}{DELAY 1000}{PASSWORD}{ENTER}
ユーザー名 => Enter => 1秒待機 => パスワード入力 => Enter
Aamzonのような、ユーザー名とパスワードの入力ページが異なるフォームで使用する自動入力シーケンスです。
ページの切り替わりに時間がかかるので {DELAY 1000} で1秒待機を挟んでいます。1秒で短い場合は時間を延ばしてください。
最後に
自動入力シーケンスの作成方法と実用例を紹介しました。