|
5 months ago | |
---|---|---|
Dependencies | 11 months ago | |
data | 11 months ago | |
src | 5 months ago | |
.gitignore | 1 year ago | |
.gitmodules | 1 year ago | |
Build.sh | 11 months ago | |
BuildTest.sh | 12 months ago | |
Build_Librem5.sh | 11 months ago | |
COPYING | 1 year ago | |
LICENSE | 1 year ago | |
ReadMe.org | 12 months ago | |
RunProfiler.sh | 1 year ago |
ReadMe.org
Niner Keyboard
This is an unconventional software keyboard for phones. Frequent letters are tapped while infrequent letters and symbols are swiped starting from the center outwards.
Setup
This assumes you are running Wayland and use Phosh or the same protocols.
You can run it on non-Wayland Linux systems but it won't really do anything but output to stderr
when you type.
sudo apt install wayland-protocols # libdbus-1-dev
Hacking in a work-in-progress keyboard
In Phosh, the keyboard is launched by gnome-session
and triggered with DBus.
The overall setup as I understand it is as follows:
-
/usr/share/gnome-session/sessions/phosh.session
is started bygnome-session
. -
The desktop file
/usr/share/applications/sm.puri.OSK0.desktop
is used to select which process should be used. -
The file
/usr/bin/osk-wayland
is executed, which checks forsqueekboard
and uses it, else uses/usr/bin/virtboard
.
The first step to splicing in a keyboard:
sudo nano /usr/bin/osk-wayland
Add in your keyboard below the other keyboards:
#!/bin/sh
set -e
OSK=/usr/bin/virtboard
if [ -x /usr/bin/squeekboard ]; then
OSK=/usr/bin/squeekboard
fi
if [ -x /home/purism/Development/niner-keyboard/niner-keyboard ]; then
OSK=/home/purism/Development/niner-keyboard/niner-keyboard
fi
exec $OSK
Kill the existing keyboard, which you can get the PID with via:
ps -A | grep squeekboard
Your keyboard should then automatically launch thanks to gnome-session
noticing that the keyboard doesn't exist and relaunching it.
However, when changing back, the easiest way I've found to get squeekboard back is to restart Phosh (after editing the file again, of course):
sudo systemctl restart phosh.service