Skip to content

scatterthought/endgame-trackball-config

 
 

Repository files navigation

Ambidextrous Endgaming

This keymap enables the efog.tech Endgame trackball to be used with either hand interchangeably. It's intended for when the Endgame is positioned between a split keyboard, pointing directly at the monitor.

Buttons are optimized for the user's hands to be at an angle to the trackball (since it's directly in front of their body).

Changes in Version 2.0

  • Reverted to using OEM firmware and editing keymaps in ZMK Studio
  • Adjusted the Snipe layer to allow access to all main mouse buttons (Left/Middle/Right)
  • Moved RGB and Bluetooth settings to the Device layer
  • Removed the User layer

Past releases

Reverting to OEM firmware

I no longer maintain forked firmware for the Endgame. My keymaps are now implemented as overrides to the default keymap in ZMK Studio, and pointer/scrolling adjustments are made with the new Marshmallow UI configuration webpage.

I'm currently using this firmware version from December 29, 2025.

Default

The Default layer provides the five standard mouse buttons, plus the ability to toggle on the Snipe and Scroll layers with the encoders or access the Extras layer momentarily.

Left ZMK Studio (left) Right ZMK Studio (right)
Back mouse button,
Hold for Extras layer
Hold/tap (layer/mouse key):
Extras, MB4
Forward mouse button,
Hold for Extras layer
Hold/tap (layer/mouse key):
Extras, MB5
Middle mouse button Mouse Key Press: MB3 Middle mouse button Mouse Key Press: MB3
Right mouse button Mouse Key Press: MB2 Right mouse button Mouse Key Press: MB2
Left mouse button Mouse Key Press: MB1 Mouse mouse button Mouse Key Press: MB1
Encoder up: Snipe Layer To Layer: Snipe Encoder up: Snipe Layer To Layer: Snipe
Encoder down: Scroll Layer To Layer: Scroll Encoder down: Scroll Layer To Layer: Scroll

Extras

The Extras layer provides ZMK Studio Unlock, power off, and Chromium browser-tab management in two-button combinations.

  • To close a tab, press both top-middle buttons together.
  • To reopen a closed tab, press one of the top-middle buttons and a top-corner button.
  • To refresh a tab, press one of the top-middle buttons and a bottom-corner button.
Left ZMK Studio (left) Right ZMK Studio (right)
Close tab Key Press: LCtrl + Keyboard W Close tab Key Press: LCtrl + Keyboard W
Reopen closed tab Key Press: LCtrl + LShift + Keyboard T Reopen closed tab Key Press: LCtrl + LShift + Keyboard T
Refresh (F5) Key Press: Keyboard F5 Refresh (F5) Key Press: Keyboard F5
ZMK Studio Unlock Studio Unlock Power off Power off
Encoder up: Disabled None Encoder up: Disabled None
Encoder down: Disabled None Encoder down: Disabled None

Snipe

The Snipe layer reduces pointer speed 1/3rd of normal, allowing for precision clicking with the Left/Middle/Right mouse buttons. Press the top buttons to return to the Default layer.

Left ZMK Studio (left) Right ZMK Studio (right)
Return to Default layer To Layer: Default Return to Default layer To Layer: Default
Middle mouse button Transparent Middle mouse button Transparent
Right mouse button Transparent Right mouse button Transparent
Left mouse button Transparent Left mouse button Transparent
Encoder up: Disabled None Encoder up: Disabled None
Encoder down: Scroll Layer To Layer: Scroll Encoder down: Scroll Layer To Layer: Scroll

Scroll

When the Scroll layer is enabled, moving the ball scrolls vertically and horizontally.

  • This layer also provides access to the Device layer.
Left ZMK Studio (left) Right ZMK Studio (right)
Enable Device layer To Layer: Device Enable Device layer To Layer: Device
Return to Default layer To Layer: Default Return to Default layer To Layer: Default
Return to Default layer To Layer: Default Return to Default layer To Layer: Default
Return to Default layer To Layer: Default Return to Default layer To Layer: Default
Encoder up: Snipe Layer To Layer: Snipe Encoder up: Snipe Layer To Layer: Snipe
Encoder down: Disabled None Encoder down: Disabled None

Device

The Device layer contains settings for RGB lighting and Bluetooth.

  • This layer can only be accessed by first enabling the Scroll layer.
Left ZMK Studio (left) Right ZMK Studio (right)
RGB off RGB off Clear all Bluetooth profiles Bluetooth: Clear all profiles
Change RGB lighting effect Underglow: Next Effect Next Bluetooth profile Bluetooth: Next Profile
Toggle RGB lighting on/off Toggle RGB Previous Bluetooth profile Bluetooth: Previous Profile
Return to Default layer To Layer: Default Return to Default layer To Layer: Default
Encoder up: Disabled None Encoder up: Disabled None
Encoder down: Disabled None Encoder down: Disabled None

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages

  • C 80.6%
  • CMake 19.4%