Keyboard Builders' Digest
Save 10% at Momokai! Code: KBDNEWS
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
Creators! Feel free to tip me off about your keyboard related projects to bring them to 140K readers.

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

Ximi V1

Ximi V1 is here after last year's slightly different prototype. Sadek Baroudi put a lot of features in this 36/42 split keyboard.

Sachiel

Sachiel is a 34-key unibody split keyboard with 25mm trackball – designed by protieusz.

Corne thumb trackball

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

Bird

This Bird, a monoblock split trackball keyboard by Protieusz, is a modification of the Crowboard, originally designed by Alex Miller.

OpenOT

Skribbles4420 shared the files of his OpenOT, a 5x11 ortholinear keyboard with an integrated trackball.

Pimple Smile

Protieusz keeps updating keyboard models with trackballs. His latest project is the Pimple Smile.

×
top