Makes Gnome's OnScreen Keyboard more usable.
Features:
- Includes additional buttons: Arrow keys, Esc, Tab, Ctrl, Alt, Super, F1-12
- Supports key combinations like
Ctrl + C
,Alt + Tab
,Ctrl + Shift + C
, etc. - Configurable keyboard size (landscape/portrait)
- Statusbar indicator to toggle keyboard
- Works in Gnome password modals
- Works on Lock screen (see README for instructions)
- Works on Login screen (see README for instructions)
Currently, the following layouts have extended keys: CH+FR, CH, DE, HU, ES, FR, IT, RU, UA, US.
This extension is a fork of SebastianLuebke/improved-osk-gnome-ext.
https://extensions.gnome.org/extension/4413/improved-osk/
Clone the repo, change into its root directory, run package-extension.sh
,
install and enable the extension:
git clone https://github.com/nick-shmyrev/improved-osk-gnome-ext.git
cd ./improved-osk-gnome-ext
./package-extension.sh
gnome-extensions install improvedosk@nick-shmyrev.dev.shell-extension.zip
gnome-extensions enable improvedosk@nick-shmyrev.dev
After enabling extension, log out and back in to reload Gnome Shell.
This is an experimental feature, see issue #41 for details and bug reports!
Installing as a system-wide extension allows Improved OSK to be used on Gnome's login screen, as well as within the user session.
To install as a system-wide extension:
- Remove the extension if you have it installed:
gnome-extensions uninstall improvedosk@nick-shmyrev.dev
- Clone this repo:
git clone https://github.com/nick-shmyrev/improved-osk-gnome-ext.git
- Add
session-modes
array with"user"
and"gdm"
values tometadata.json
file. The result should look something like this:
{
// rest of the metadata.json properties...
"session-modes": ["user", "gdm"]
}
-
Run
/package-extension.sh
script to package extension -
Then follow this guide, or use the
install-as-global-extension.sh
script.
If extension is installed, but the keyboards doesn't show up on login screen, tap on accessibility options in upper right corner of the screen, and enable "Screen Keyboard".
This extension can also be used when screen is locked.
Warning: for this extension to work on lock screen, it needs unlock-dialog
session mode to be enabled,
however Gnome Shell Extension review guidelines
do not allow extensions to connect to keyboard signals in unlock-dialog
session mode.
For this reason, this extension is shipped with unlock-dialog
session mode disabled by default.
Enable it at your own risk.
If you still want to enable it, simply add session-modes
array with "user"
and "unlock-dialog"
values to metadata.json
file. The result should look something like this:
{
// rest of the metadata.json properties...
"session-modes": ["user", "unlock-dialog"]
}
If you're already using "gdm"
session mode, keep it and the "user"
mode in the "session-modes"
array and just add "unlock-dialog"
as the third value.
If the layout you're using does not have the extended keys, let me know, and I'll add them. Or, feel free to modify it yourself (see /src/data/osk-layouts dir) and make a PR.
You'll need to follow the manual installation process from README,
but before running package-extension.sh
you'll have to make changes to your preferred layout
(see osk-layouts), then continue with the installation process.
To install the extension on an unsupported Gnome version, you can either add desired version number to metadata.json
file and proceed with a manual installation,
or disable extension version check and then install from extensions.gnome.org:
gsettings set org.gnome.shell disable-extension-version-validation true
See TEST_CASES for test cases.
By default, the keyboard will pop up on touch input events. You can use "Force touch-input" option in extension preferences to force the OSK to appear on non-touch events.
Gnome's default on-screen keyboard, on which this extension is based on,
uses ibus
package, make sure you have it installed.
The keyboard uses unicode characters, try installing ttf-symbola
on archlinux (AUR)
or ttf-ancient-fonts-symbola
on ubuntu/debian
Full-size Onscreen Keyboard than can be dragged around the screen.