Bastardkb / bastardkb-qmk

Open-source keyboard firmware for Atmel AVR and Arm USB families
https://qmk.fm
82 stars 107 forks source link

Bkb charybdis tuned #50

Closed ChrisSG closed 8 months ago

ChrisSG commented 8 months ago

This adds the following features:

CHARYBDIS_ENABLE_POINTER_ON_POINTER_LAYER_ONLY combined with CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE makes the trackball enable/disable automatically. This prevents auto shiping.

Without CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE it disables the trackball until the pointer layer is enabled manually.

Without both the trackball will constantly be enabled.

The actition threshold should feel smoth but might need some fine tuning depending on your DPI settings.

This adds the following bug fixes:

ATTENTION: This introduces a suparate layer for auto pointer which might interfere with layer checks! This is needed for keeping the pointer enabled when auto enabling it and then additionally shifting to pointer layer manually.

0xcharly commented 8 months ago

I appreciate the contribution, but all these changes are very opinionated, and objectively not a better default than what already exists, since this is ultimately based on user preference.

This also introduces a non-backward compatible change to the layers ID.

Also note that the auto-mouse behavior will ultimately be removed in favor of the core-QMK implementation (which didn't exist when we first wrote the Charybdis code).

Finally, it looks like it may be re-implementing something already provided by QMK? https://docs.qmk.fm/#/feature_pointing_device?id=pointing-device-auto-mouse

I'd suggest leveraging core-QMK if/when possible, and moving these change to a custom user-space instead.

ChrisSG commented 8 months ago

The main difference is that it completely disables the pointing device, not just the pointing layer. Not sure this can be achieved with the core implementation but will give it a try.