meta data for this page

Pine Phone Keyboard Case (ppkc)

notes on fixes and tweaks (2022-02):

  1. The top number and function row has a slightly different sized set of keys, and type unreliably. User fixes exist.
  2. PINE key can be rebound
  3. The function keys F1-F10 require using the userspace daemon ppkb-i2c-inputd. F-11 . . .

To use the userspace daemon instead of the kernel module – necessary if you want to have F1-F10:

This is just a first pass at instructions based on what worked for me. Please proceed carefully, and edit as needed. The 'PinePhone keyboard userspace daemon' may lack auditing. Keyboard software can have large consequences.

Do these steps directly in a terminal on your PinePhone (or via SSH to the phone).

  • change to your clone's directory (cd pinephone-keyboard)
  • run make (you may need to install dependencies – for me, I had to install php.)
  • blacklist the kb151 module, by adding “blacklist kb151” to /etc/modprobe.d/blacklist.conf
  • add i2c-dev to /etc/modules to make sure it loads at boot
  • sudo update-initramfs -u
  • to start automatically at boot, create a systemd service file in /etc/systemd/system/. Here's mine (change ExecStart path to point to where your built ppkb-i2c-inputd binary is):
Description=PinePhone keyboard userspace daemon


  • verify it with sudo systemctl status FILENAME
  • enable it with sudo systemctl enable FILENAME

Then reboot.