Keyboard Builders' Digest
Let's find your dream switch at Clackify! Save 5%!
Keyboard Builders' Digest / Tips & Tricks

Pimoroni trackball support in ZMK

Coded, built and tested by cdc_mkb on a Zephirum, Pimoroni PIM447 trackball is now supported in ZMK firmware.

KBD.news
Published October 4, 2021
This free blog runs thanks to just 54 supporters - like BeaverKeys, MoErgo Glove80, and Micah Alpern. Join them now!

I wrote a Zephyr driver for the famous Pimoroni PIM447 trackball and added the necessary glue on top of the "mouse" development branch – cdc_mkb.

Code: https://github.com/cdc-mkb/zmk/commits/mouse-pim447

Thanks to a neat trick, small displacements are very precise whereas large displacements are quite fast; it never feels choppy at all.

It probably won't be merged until the ZMK "mouse emulation" dev. branch is stabilized. Technically the support for this trackball could be independent from this dev. branch, but it would mean to duplicate a lot of code.

I only use the USB HID for the moment, so I have no idea on the battery impact. However there is a concern in this regard since the driver is in polling-mode so I contacted Pimoroni to get more information in order to write a new driver in interrupt-mode.
Do you like this post? Share, donate, subscribe, tip me off!

Published on Mon 4th Oct 2021. Featured in KBD #46 (source).


Related

Trackball companion for split keyboards

Ploopy: a ball-only trackball companion for split keyboards by crop_octagon (docs).

Corne thumb trackball

An updated Corne PCB which integrates a thumb trackball – shared by idank.

Skeletyl variant

A Skeletyl variant by u/blackanode with top and side mount add-on options.

IBM Model M5-2

An IBM Model M5-2 with a cute little trackball. Posted by opalinemoth.

Ximi prototype

Ximi is a split keyboard prototype with dual trackball/trackpad support – by Sadek Baroudi.

×
top