Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] MK_KINETIC_SPEED seems not to be fully functional #12082

Closed
3 tasks
mohammedari opened this issue Mar 2, 2021 · 2 comments
Closed
3 tasks

[Bug] MK_KINETIC_SPEED seems not to be fully functional #12082

mohammedari opened this issue Mar 2, 2021 · 2 comments

Comments

@mohammedari
Copy link

I tried to enable Kinetic Mode feature in mouse keys, which is recently merged to the master branch,
however, adding MK_KINETIC_SPEED definition changes mouse speed oddly fast.

Describe the Bug

As far as looking into the implementation in mousekey.c, the feature merged by this PR#6739 seems to be compiled when MK_COMBINED is defined and MK_KINETIC_SPEED is NOT defined.

So, when adding MK_KINETIC_SPEED definition, the default accelerated mode code is executed with kinetic mode parameter, which is separately defined in mousekey.h.

Is this expected behavior? Much appreciated when you kindly specify what I am missing.
Thank you.

System Information

  • Keyboard: Self-designed one, which is a sibling of Comet46
    • Revision (if applicable):
  • Operating system: Ubuntu 20.04
  • AVR GCC version: avr-gcc (GCC) 5.4.0
  • ARM GCC version: arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release)
  • QMK Firmware version: 0.12.8
  • Any keyboard related software installed?
    • AutoHotKey
    • Karabiner
    • Other:

Additional Context

@liyang
Copy link

liyang commented Mar 4, 2021

Yes it's a known issue (#11766), and I'm in the process of reimplementing MK_KINETIC_SPEED and generally cleaning that code up so it's not as easy to make that sort of mistake again.

You can check it out at https://github.com/liyang/qmk_firmware/tree/develop/kinetic ; the behaviour is different (but will be equivalent), and it's still WIP as I intend to add jerk (i.e. quadratic rather than linear velocity). However it does give buttery-smooth movements, the documentation is almost there, and is what I'm using right now.

If you just want the existing code (untangled #ifndefs, but no other cleanups) to build, you can try https://github.com/liyang/qmk_firmware/tree/fc054c3a9caacd38519c89602308e0cdc33648ea .

With both of the above, you give a single #define MK_VARIANT MK_TYPE_KINETIC instead of some combination of MK_KINETIC_SPEED MK_3_SPEED MK_COMBINED MK_MOMENTARY_ACCEL that may or may not be valid. See above docs link!

Feel free to ping me on Discord if you have any questions.

@mohammedari
Copy link
Author

Thank you for pointing the related issue and PR. I got the situation.
I would wait for and am looking forward your implementation is done. Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants