Adding a trackball
This guide is meant to help you add a pimoroni trackball to your Dactyl / DacMan.
Caveats
At the moment, the trackball is not integrated properly into QMK. It's a bit janky to use, and you will probably need to play with the code - to change acceleration and speed values.
Split keyboard recommendations
- If you are going to use a split keyboard, it's easiest to add the trackball on the Master side
- Save the pins D1 and D0 for the trackball. If you need RGB and/or Serial, make sure to use another pin (eg. D2 and D3)
Hardware
Components to buy
You will need to source:
- 28AWG wires (single-core recommended)
- 2 M2 screws (3mm or more, torx recommended)
- 2 M2 hex nuts
- pimoroni trackball
- (recommended) M4 screw and locknut if you're using a PCB or amoeba
3d printed adapter
Grab the adapter from the files folder on Github: https://github.com/Bastardkb/TBK-Mini
Depending on your printer tolerances, you might need to adjust the bottom part size so it fits snuggly into an MX switch hole.
Wiring
Connect your Elite-C to the pimoroni trackball as such:
- Gnd to Gnd
- Vcc to Vcc
- D1 to SDA
- D0 to SCL
- (Optional) INT to a pin for RGB control
Assembly
Assembly is pretty straightforward:
- Prepare the adapter: insert the 2 M2 hex nuts
- Insert the adapter into any MX hole of the keyboard (recommended on the thumb cluster)
- If you're using a PCB or Amoeba, secure it with the M4 screw
- Install the trackball with the 2 M2 screws
Software
The trackball is not yet integrated into qmk properly.
I recommend using Crote's excellent qmk fork: https://github.com/Crote/qmk_firmware/tree/trackball, which has some documentation included in the .h file.
You need the files in drivers/trackball, then add to your rules.mk:
TRACKBALL_ENABLE = yes
POINTING_DEVICE_ENABLE = yes