feat(pointing): add pointing modes (Cursor/Scroll/Sniper)#874
feat(pointing): add pointing modes (Cursor/Scroll/Sniper)#874Schievel1 wants to merge 18 commits into
Conversation
Add support for pointing device modes to PointingProcessor. Users can now configure different layers to have different trackball behaviors, enabling scroll and precision modes via event based switching. Changes: - Add PointingMode enum (Cursor/Scroll/Sniper) with configs - Add MotionAccumulator for sub-pixel delta tracking - Subscribe to PointingDeviceEvent to receive layer changes Backward compatible: default behavior unchanged Addresses HaoboGu#703 Co-authored-by: Pascal Jäger <pascal.jaeger@leimstift.de> Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
01f3709 to
e37ae72
Compare
Co-authored-by: Pascal Jäger <pascal.jaeger@leimstift.de> Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
e37ae72 to
a49146c
Compare
Co-authored-by: Pascal Jäger <pascal.jaeger@leimstift.de> Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
|
alrighty. Test fail, I will take care of this later. In qmk I used to have integration scrolling mode. When in this mode, the trackball not just acts like a scroll wheel, but instead when you move it in one direction, and leave it there, it keeps scrolling. (even though the trackball is not rolled anymore) Also there's caret mode, which basically emits arrow keys when moving the trackball. Useful to move the cursor in text documents. More info on those: |
Size Report
|
Co-authored-by: Pascal Jäger <pascal.jaeger@leimstift.de> Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
ee9d20b to
288b10c
Compare
I looked into this, and caret makes sense to implement. But integration mode is a thing that kind of just falls into place for QMK, because of the way QMK does things with polling and mouse reports. |
26cb0af to
f6f024d
Compare
f6f024d to
1e85256
Compare
kot149
left a comment
There was a problem hiding this comment.
Thanks for working on this. A few comments from me:
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
Summary
Thanks to Raymond8196 for most of the work on this. See also #728
Add pointing device modes to RMK, allowing trackballs to behave differently on different modes (e.g., scroll on layer 1, precision mode on layer 2).
Key Features
Per-Layer Pointing Modes:
Usage:
Technical Details:
Test Plan
Related Issues
Addresses #703
TODO: