qmk/modules/getreuer/orbital_mouse
2025-03-18 22:27:19 +01:00
..
introspection.h import https://github.com/getreuer/qmk-modules.git 2025-03-18 22:27:19 +01:00
orbital_mouse.c import https://github.com/getreuer/qmk-modules.git 2025-03-18 22:27:19 +01:00
orbital_mouse.h import https://github.com/getreuer/qmk-modules.git 2025-03-18 22:27:19 +01:00
qmk_module.json import https://github.com/getreuer/qmk-modules.git 2025-03-18 22:27:19 +01:00
README.md import https://github.com/getreuer/qmk-modules.git 2025-03-18 22:27:19 +01:00

Orbital Mouse

Modulegetreuer/orbital_mouse
Version2025-03-07
MaintainerPascal Getreuer (@getreuer)
LicenseApache 2.0
Documentation https://getreuer.info/posts/keyboards/orbital-mouse

This is a community module adaptation of Orbital Mouse for a polar approach to mouse control. Orbital Mouse replaces QMK Mouse Keys. The pointer moves according to a heading direction. Two keys move forward and backward along that direction while another two keys steer.

Add the following to your keymap.json:

{
    "modules": ["getreuer/orbital_mouse"]
}

Then use the "OM_*" Orbital Mouse keycodes in your layout.

Keycode Aliases Description
OM_U MS_UP Move forward.
OM_D MS_DOWN Move backward.
OM_L MS_LEFT Steer left (counter-clockwise).
OM_R MS_RGHT Steer right (clockwise).
OM_BTNn MS_BTNn Press mouse button n, for n = 1, ..., 8.
OM_W_U MS_WHLU Mouse wheel up.
OM_W_D MS_WHLD Mouse wheel down.
OM_W_L MS_WHLL Mouse wheel left.
OM_W_R MS_WHLR Mouse wheel right.
OM_SLOW Slow mode. Movement is slower while held.
OM_SELn Select mouse button n, for n = 1, ..., 8.
OM_BTNS Press the selected mouse button.
OM_DBLS Double click the selected mouse button.
OM_HLDS Hold the selected mouse button.
OM_RELS Release the selected mouse button.

A suggested right-handed layout for Orbital Mouse control is

OM_W_U , OM_BTNS, OM_U   , OM_DBLS, _______,
OM_W_D , OM_L   , OM_D   , OM_R   , OM_SLOW,
OM_RELS, OM_HLDS, OM_SEL1, OM_SEL2, OM_SEL3,

Optionally, there are config options to customize Sentence Case. See the Orbital Mouse documentation for details.