Magikeyboard - Kunzisoft/KeePassDX GitHub Wiki
The Magikeyboard is an Android keyboard specially designed to fill in forms securely with the elements of a database entry, it types all the characters of your password, or any of your entry field, for you with a single keystroke, which is extremely convenient and does not suffer from form recognition issues.
This fill mode does not depend on the autofill services of the device, and does not share its information with other applications such as the clipboard. This is the safest way to fill a form with an entry.
Activation
- Activate "Magikeyboard" in the settings:
- In the KeePassDX app settings
Settings → Form filling → Device Keyboard Settings - Or directly from the device settings, usually
Settings → Language & Input → Current Keyboard
images/magikeyboard/keyboard_activation.jpg
Check that the setting Settings → Form filling → Magikeyboard settings → Select shared info is enabled in version 3.4.2 and below, otherwise the information will be searched but not returned to the Magikeyboard. This parameter has been removed as of version 3.4.3.
Database learning : If the Settings → Form filling → Magikeyboard settings → Save shared info option is enabled, the app will try to save the information in the entry selected so that the next search will propose this entry.
images/magikeyboard/form_filling_settings.jpg
- Activate special OS settings:
Activating settings in your system may be necessary to use Magikeyboard, otherwise you will not be able to open the app from the key button.
Some systems require the activation of special permissions (Xiaomi - MIUI):
- In
Settings → Manage Apps → KeePassDX → Other permissions, turn onDisplay pop-up windows while running in the backgroundpermissions.
Alternatively, you can disable MIUI optimizations which block a lot of elements in an unjustified way on the device:
- Activate the developer mode in
Settings → About Phoneby tappingBuild numberseven times. - In
Settings → Additional Settings → Developer Options, turn offMIUI optimizationand restart the device.
images/magikeyboard/miui_settings.jpg
Important note: It seems that some Xiaomi devices has changed the MIUI system to block the display of an application from a keyboard. Some users have used App Ops and turn on a closed "Unknown Ops" to bypass this behaviour.
Battery saver:
- Some systems restrict applications to save battery. This may affect the opening of the Magikeyboard. In this case, set the parameter
Battery SavertoNo restriction. (Note that the app does not use the battery unnecessarily)
Usage
There are two main methods for populating the Magikeyboard: using the ceremony from a form or manually selecting an entry from the database.
Magikeyboard ceremony
From the key
This is the simplest method for entering information into your form, but it requires you to pay close attention to the information that will be searched for to find the correct entry.
- In your form, change the default keyboard to MagiKeyboard via
- clicking on the keyboard button on the bottom right of your screen; or
- long-pressing the space bar (if your default keyboard permits it); or
- in another way: (Keyboard switcher on F-Droid or Play Store)
Installing Keyboard Switcher is recommended because the application allows you to automatically switch to Magikeyboard in several practical cases.
images/magikeyboard/keyboard_selection.jpg
The keyboard will display a green box, which can be defined by a search context:
- An Application ID, which is defined by a 9 points icon
- A URL, which is defined by a world map icon
Warning: If you are in a native application, then you can continue to the next step but if you use the button in a web browser, the search context will be the name of the browser package defined by the Application Id and not the URL of the page. To searching the URL, use Entry selection from URL sharing method.
- Select your entry with the key button if the displayed search context matches the one you want in your database.
images/magikeyboard/key_button.jpg
From URL sharing
This method is particularly useful if you are using a web browser and the URL is not recognized by Magikeyboard, this is easily visible if the icon in the green box is not a world map.
Please note: If you have shared the Autofill context with Settings → Autofill settings → Share to Magikeyboard then the URL may be better recognized and sharing from the browser is not necessary. Use the previous method to ensure that your keyboard is populated with the correct entry.
images/magikeyboard/web_domain.jpg
- Press the sharing button of your web browser to automatically search for the web domain (URL) of the form page.
images/magikeyboard/share_with.jpg
- Select the KeePassDX app icon
Populate entry in Magikeyboard
- If a database is already open, it will be used to select the entry to integrate into the Magikeyboard, otherwise you will have to open a database.
Note that a bookmarked database with a star will be automatically proposed to you, if you don't want this behavior, just delete the bookmark.
- If no entry matches the search context, an entry selection will be requested.
It is possible to select an existing entry or to create a new one.
images/magikeyboard/entry_selection.jpg
images/magikeyboard/entry_creation.jpg
- If you have configured one entry with a compatible URL or package name linked to the search, KeePassDX will directly propose the entry in the Magikeyboard.
images/magikeyboard/entry_single.jpg
- If there are multiple entries that match, Several entries will be suggested in the Magikeyboard. By default, the first entry will be selected and highlighted. Feel free to scroll and choose the entry that suits you before pressing the keys to fill in the form.
images/magikeyboard/entry_multiple.jpg
- Fill in your fields using the entry elements buttons.
images/magikeyboard/fill_form.jpg
With the Settings → Form filling → Magikeyboard settings → Auto key action option enabled, the virtual tab key will be sent to automatically position the cursor on the next form field.
- Lock the database and remove the entry in Magikeyboard with the lock button.
At this stage, the keyboard will be replaced by your previous keyboard if the setting Settings → Form filling → Magikeyboard settings → (Switch Keyboard) Lock Database is activated.
Entry selection from database
With this method it is possible to automatically populate the keyboard when you manually select an entry while browsing a database.
-
Activate the setting
Settings → Form filling → Magikeyboard settings → Entry selection. -
Open the desired entry, a notification appears indicating that the entry is available in the Magikeyboard.
Note: If the Keyboard Switcher app is installed, you can click on the notification to switch keyboards.
images/magikeyboard/entry_notification.jpg
-
Open the page of the application or browser containing the form to be filled in.
-
If your keyboard is the default one, change it to the Magikeyboard (with the keyboard button at bottom right off the screen, with a long press on the space bar or another method depending on your keyboard).
Note: If the Keyboard Switcher app is installed and Auto Magikeyboard switch setting is enabled, an auto switch request is performed.
- Use the entry elements buttons to fill out the form
Entry elements buttons
images/magikeyboard/legend.jpg
Tips
Keyboard Switcher
The Keyboard Switcher application allows you to easily switch keyboards and automatically call the keyboard switching method in several cases:
- When an entry is populated in the Magikeyboard and the
Settings → Form filling → Magikeyboard settings → Auto Magikeyboard switchsetting is enabled - When you click on the notification indicating that an entry is available in Magikeyboard
If you also unlock the security permission using the auto switch procedure in the Readme file, you will switch automatically without having to manually select the keyboard in the dialog box.
Switch
You can return to your previous keyboard at any time by pressing the "keyboard" button. A long click on this button allows to select a keyboard.
Entry selection
A click on the "key" icon will automatically search for the package name. A long click on this button will do a free entry selection.
Timeout
It is possible to activate a specific timeout for the Magikeyboard in Settings → Form filling → Magikeyboard settings → Timeout, so if you go back to your standard keyboard, a short timeout will lock your database automatically.
Subdomains
If you are experiencing search result problems with URL domains containing a TLD country code (ie www.example.com.au), or that you have different entries for different subdomains of the same domain, you can activate the search by subdomain in : Settings → App settings → Subdomain search
OTP filling
With a simple click on the OTP button, the OTP is sent to the form as normal text. But by doing a long click, you will send the digits one by one to the form with tabs between each. This allows you to fill out OTP forms that have multiple fields (ie: Epic Games TOTP login)