Skip to content

Commit

Permalink
Merge pull request #5864 from keepassxreboot/feature/autotype-upgrade…
Browse files Browse the repository at this point in the history
…-part2
  • Loading branch information
droidmonkey authored Feb 23, 2021
2 parents f3d88fb + 8d058cb commit c0d673b
Show file tree
Hide file tree
Showing 67 changed files with 1,892 additions and 1,660 deletions.
2 changes: 2 additions & 0 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,5 @@ include::topics/AutoType.adoc[tags=*]
include::topics/KeeShare.adoc[tags=*]

include::topics/SSHAgent.adoc[tags=*]

include::topics/Reference.adoc[tags=*]
Binary file modified docs/images/autotype_entrylevel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/autotype_selection_dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/autotype_selection_dialog_search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
54 changes: 30 additions & 24 deletions docs/topics/AutoType.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,26 +31,9 @@ To configure Auto-Type sequences for your entries, perform the following steps:
.Auto-Type entry sequences
image::autotype_entry_sequences.png[]

2. _(Optional)_ Define a custom auto-type sequence for each window title match by selecting the _Use specific sequence for this association_ checkbox. Sequence action codes and field placeholders are detailed in the following table. A complete list of supported actions and placeholders can be found at https://keepass.info/help/base/autotype.html#autoseq[KeePass Auto-Type Action Codes] and https://keepass.info/help/base/placeholders.html[KeePass Placeholders]. Action codes and placeholders are not case sensitive.
2. _(Optional)_ Define a custom Auto-Type sequence for each window title match by selecting the _Use specific sequence for this association_ checkbox. Sequence action codes and field placeholders are detailed in the following table. Beyond the most important ones detailed below, there are additional action codes and placeholders available: xref:UserGuide.adoc#_auto_type_actions[Auto-Type Actions Reference] and xref:UserGuide.adoc#_entry_placeholders[Entry Placeholders Reference]. Action codes and placeholders are not case sensitive.
+
[grid=rows, frame=none, width=70%]
|===
|Action Code |Description

|{TAB}, {ENTER}, {SPACE}, {INSERT}, {DELETE}, {HOME}, {END}, {PGUP}, {PGDN}, {BACKSPACE}, {CAPSLOCK}, {ESC}
|Press the corresponding keyboard key

|{UP}, {DOWN}, {LEFT}, {RIGHT} |Press the corresponding arrow key
|{F1}, {F2}, ..., {F16} |Press F1, F2, etc.
|{LEFTBRACE}, {RIGHTBRACE} |Press `{` or `}`, respectively
|{DELAY=X} |Set key press delay to X milliseconds
|{DELAY X} |Delay typing start by X milliseconds
|{CLEARFIELD} |Clear the input field before typing
|{TOTP} |Insert calculated TOTP value (if configured)
|{<ACTION> X} |Repeat <ACTION> X times (e.g., {SPACE 5} inserts five spaces)
|===
+
[grid=rows, frame=none, width=70%]
[grid=rows, frame=none, width=90%]
|===
|Placeholder |Description

Expand All @@ -60,21 +43,44 @@ image::autotype_entry_sequences.png[]
|{URL} |URL
|{NOTES} |Notes
|{TOTP} |Current TOTP value (if configured)
|{DT_SIMPLE} |Current date-time
|{DB_DIR} |Absolute directory path for database file
|{S:<ATTRIBUTE_NAME>} |Value for the given attribute name
|{REF:<FIELD>@<SEARCH_IN>:<SEARCH_TEXT>} |Search for a field in another entry using the reference syntax.
|===
+
[grid=rows, frame=none, width=90%]
|===
|Action Code |Description

|{TAB}, {ENTER}, {SPACE}, {INSERT}, {DELETE}, {HOME}, {END}, {PGUP}, {PGDN}, {BACKSPACE}, {CAPSLOCK}, {ESC}
|Press the corresponding keyboard key

|{UP}, {DOWN}, {LEFT}, {RIGHT} |Press the corresponding arrow key
|{LEFTBRACE}, {RIGHTBRACE} |Press `{` or `}`, respectively
|{<KEY> X} |Repeat <KEY> X times (e.g., {SPACE 5} inserts five spaces)
|{DELAY=X} |Set delay between key presses to X milliseconds
|{DELAY X} |Pause typing for X milliseconds
|{CLEARFIELD} |Clear the input field
|{PICKCHARS} |Pick specific password characters from a dialog
|===

=== Performing Global Auto-Type
The global Auto-Type keyboard shortcut is used when you have focus on the window you want to type into. To make use of this feature, you must have previously configured an Auto-Type hotkey.

Pressing the global Auto-Type hotkey cause KeePassXC to search the database for entries that match the window title. Multiple matches may be returned and will cause the sequence selection dialog to appear. Click on a sequence line will immediately execute the Auto-Type action. A search box is also available in case numerous matches are returned.
When you press the global Auto-Type hotkey, KeePassXC searches all unlocked databases for entries that match the focused window title. The Auto-Type selection dialog will appear in the following circumstances: there are no matches found, there are multiple matches found, or the setting "Always ask before performing Auto-Type" is enabled.

.Auto-Type sequence selection
image::autotype_selection_dialog.png[,70%]

TIP: The _Sequence_ column will only appear when there are different sequences defined by one or more entries displayed in the selection dialog.
Perform the selected Auto-Type sequence by double clicking the desired row or pressing _Enter_. Press the up and down arrows to navigate the list. Sequences can be filtered through the text edit field.

.Auto-Type search database
image::autotype_selection_dialog_search.png[,70%]

Search the unlocked databases by activating Search Database radio button. Use the text edit field to issue search queries using the same syntax as database searching.

.Additional Auto-Type choices
image::autotype_selection_dialog_type_menu.png[,70%]

The option to type just the username, password, or current TOTP value is available by right clicking the desired row or expanding the Type Sequence button options.

=== Performing Entry-Level Auto-Type
You can quickly activate the default Auto-Type sequence for a particular entry using Entry-Level Auto-Type. For this operation, the KeePassXC window will be minimized and the Auto-Type sequence occurs in the previously selected window. You can perform Entry-Level Auto-Type from the toolbar icon *(A)*, entry context menu *(B)*, or by pressing `Ctrl+Shift+V`.
Expand Down
15 changes: 2 additions & 13 deletions docs/topics/DatabaseOperations.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,7 @@ image::clone_entry_dialog.png[,70%]
.References in a cloned entry
image::clone_entry_references.png[]

4. You can create your own references using the following syntax:
+
`{REF:<ShortCode>@I:<UUID>}`
+
Where `<UUID>` is the Unique Identifier of the entry to pull data from and `<ShortCode>` is from the following:
+
* T - Title
* U - Username
* P - Password
* A - URL
* N - Notes
* I - UUID
4. You can create your own references using the xref:UserGuide.adoc#_entry_cross_reference[Entry Reference Syntax]

== Searching the Database
KeePassXC provides an enhanced and granular search features the enables you to search for specific entries in the databases using the different modifiers, wild card characters, and logical operators.
Expand Down Expand Up @@ -287,7 +276,7 @@ image::database_security.png[]
+
.Database credentials
image::database_security_credentials.png[]

+
WARNING: Consider creating a backup of your YubiKey. Please refer to <<Creating a YubiKey backup>>

5. Encryption settings allows you to change the average time it takes to encrypt and decrypt the database. The longer time that is chosen, the harder it will be to brute force attack your database. *We recommend a setting of one second.*
Expand Down
2 changes: 2 additions & 0 deletions docs/topics/DownloadInstall.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,5 @@ To install the KeePassXC app on macOS, double click on the downloaded DMG file a
image::macos_install.png[,80%]

// end::content[]
// tag::advanced[]
// end::advanced[]
94 changes: 94 additions & 0 deletions docs/topics/Reference.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
= KeePassXC - Reference
include::.sharedheader[]
:imagesdir: ../images

// tag::content[]
== Reference
This section contains full details on advanced features available in KeePassXC.

=== Entry Placeholders
[grid=rows, frame=none, width=90%]
|===
|Placeholder |Description

|{TITLE} |Entry Title
|{USERNAME} |Username
|{PASSWORD} |Password
|{URL} |URL
|{NOTES} |Notes
|{TOTP} |Current TOTP value (if configured)
|{S:<ATTRIBUTE_NAME>} |Value for the given attribute (case sensitive)
|{URL:RMVSCM} |URL without scheme (e.g., https)
|{URL:WITHOUTSCHEME} |URL without scheme
|{URL:SCM} |URL Scheme
|{URL:SCHEME} |URL Scheme
|{URL:HOST} |URL Host (e.g., example.com)
|{URL:PORT} |URL Port
|{URL:PATH} |URL Path (e.g., /path/to/page.html)
|{URL:QUERY} |URL Query String
|{URL:FRAGMENT} |URL Fragment
|{URL:USERINFO} |URL Username:Password
|{URL:USERNAME} |URL Username
|{URL:PASSWORD} |URL Password
|{DT_SIMPLE} |Current Date-Time (yyyyMMddhhmmss)
|{DT_YEAR} |Current Year (yyyy)
|{DT_MONTH} |Current Month (MM)
|{DT_DAY} |Current Day (dd)
|{DT_HOUR} |Current Hour (hh)
|{DT_MINUTE} |Current Minutes (mm)
|{DT_SECOND} |Current Seconds (ss)
|{DT_UTC_SIMPLE} |Current UTC Date-Time (yyyyMMddhhmmss)
|{DT_UTC_YEAR} |Current UTC Year (yyyy)
|{DT_UTC_MONTH} |Current UTC Month (MM)
|{DT_UTC_DAY} |Current UTC Day (dd)
|{DT_UTC_HOUR} |Current UTC Hour (hh)
|{DT_UTC_MINUTE} |Current UTC Minutes (mm)
|{DT_UTC_SECOND} |Current UTC Seconds (ss)
|{DB_DIR} |Absolute directory path of database file
|===

=== Entry Cross-Reference
A reference to another entry's field is possible using the short-hand syntax:
`{REF:<FIELD>@<SEARCH_IN>:<SEARCH_TEXT>}`

`<FIELD>` and `<SEARCH_IN>` can be one of following:

* T - Title
* U - Username
* P - Password
* A - URL
* N - Notes
* I - UUID (found on entry properties page)
* O - Custom Attribute _(SEARCH_IN only)_

Examples: +
`{REF:U@I:033054D445C648C59092CC1D661B1B71}` +
`{REF:P@T:Other Entry}` +
`{REF:A@O:Attribute 1}`

=== Auto-Type Actions
[grid=rows, frame=none, width=90%]
|===
|Action Code |Description

|{TAB}, {ENTER}, {SPACE}, {INSERT}, {DELETE}, {HOME}, {END}, {PGUP}, {PGDN}, {BACKSPACE}, {CAPSLOCK}, {ESC}
|Press the corresponding keyboard key

|{UP}, {DOWN}, {LEFT}, {RIGHT} |Press the corresponding arrow key
|{F1}, {F2}, ..., {F16} |Press F1, F2, etc.
|{LEFTBRACE}, {RIGHTBRACE} |Press `{` or `}`, respectively
|{<KEY> X} |Repeat <KEY> X times (e.g., {SPACE 5} inserts five spaces)
|{DELAY=X} |Set delay between key presses to X milliseconds
|{DELAY X} |Pause typing for X milliseconds
|{CLEARFIELD} |Clear the input field
|{PICKCHARS} |Pick specific password characters from a dialog
|===

*Text Conversions:*

*{T-CONV:/<PLACEHOLDER>/<METHOD>/}* +
Convert resolved placeholder (e.g., {USERNAME}, {PASSWORD}, etc.) using the following methods: UPPER, LOWER, BASE64, HEX, URI, URI-DEC.

*{T-REPLACE-RX:/<PLACEHOLDER>/<SEARCH>/<REPLACE>/}* +
Use regular expressions to find and replace data from a resolved placeholder. Refer to match groups using $1, $2, etc.
// end::content[]
2 changes: 2 additions & 0 deletions docs/topics/Welcome.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,5 @@ KeePassXC has numerous features for novice and power users alike. This guide wil
** FreeDesktop.org Secret Service (replace Gnome keyring, etc.)
** Additional encryption choices: Twofish and ChaCha20
// end::content[]
// tag::advanced[]
// end::advanced[]
9 changes: 3 additions & 6 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ endif(NOT ZXCVBN_LIBRARIES)
set(keepassx_SOURCES
core/Alloc.cpp
core/AutoTypeAssociations.cpp
core/AutoTypeMatch.cpp
core/Base32.cpp
core/Bootstrap.cpp
core/Clock.cpp
Expand Down Expand Up @@ -139,8 +138,6 @@ set(keepassx_SOURCES
gui/csvImport/CsvImportWizard.cpp
gui/csvImport/CsvParserModel.cpp
gui/entry/AutoTypeAssociationsModel.cpp
gui/entry/AutoTypeMatchModel.cpp
gui/entry/AutoTypeMatchView.cpp
gui/entry/EditEntryWidget.cpp
gui/entry/EntryAttachmentsModel.cpp
gui/entry/EntryAttachmentsWidget.cpp
Expand Down Expand Up @@ -273,11 +270,11 @@ set(autotype_SOURCES
core/Tools.cpp
autotype/AutoType.cpp
autotype/AutoTypeAction.cpp
autotype/AutoTypeFilterLineEdit.cpp
autotype/AutoTypeMatchModel.cpp
autotype/AutoTypeMatchView.cpp
autotype/AutoTypeSelectDialog.cpp
autotype/AutoTypeSelectView.cpp
autotype/PickcharsDialog.cpp
autotype/ShortcutWidget.cpp
autotype/WildcardMatcher.cpp
autotype/WindowSelectComboBox.cpp)

if(MINGW)
Expand Down
Loading

0 comments on commit c0d673b

Please sign in to comment.