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 dc96e5a446 Hook up copy and paste commands 5 months ago
Dependencies Update to latest versions 11 months ago
data Add key repeat 11 months ago
src Hook up copy and paste commands 5 months ago
.gitignore Add functionality 1 year ago
.gitmodules Add functionality 1 year ago
Build.sh More work to make keyboard embeddable 11 months ago
BuildTest.sh Got SDL software rendering to wayland 12 months ago
Build_Librem5.sh More work to make keyboard embeddable 11 months ago
COPYING Add functionality 1 year ago
LICENSE Initial commit 1 year ago
ReadMe.org Fix font sizing on Librem 5 12 months ago
RunProfiler.sh Initial commit 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 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