An unconventional software keyboard for phones
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Macoy Madson df913a75f2 Support latest font rendering 2 weeks ago
Dependencies Update to latest versions 3 weeks ago
data Add key repeat 3 weeks ago
src Support latest font rendering 2 weeks ago
.gitignore Add functionality 2 months ago
.gitmodules Add functionality 2 months ago
Build.sh More work to make keyboard embeddable 4 weeks ago
BuildTest.sh Got SDL software rendering to wayland 1 month ago
Build_Librem5.sh More work to make keyboard embeddable 4 weeks ago
COPYING Add functionality 2 months ago
LICENSE Initial commit 2 months ago
ReadMe.org Fix font sizing on Librem 5 1 month ago
RunProfiler.sh Initial commit 2 months 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 by gnome-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 for squeekboard 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