diff options
author | Markus Weimar <mail@markusweimar.de> | 2018-10-17 10:40:52 +0200 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-04-18 23:31:17 -0700 |
commit | e3a940026ead4a3b4d0a9f536bd4cc5153e4140b (patch) | |
tree | 386ffae9f33da9318d559c7980dd28fb7de282f3 /tmk_core | |
parent | 74af596d8ac0e1ee5f308f520b22831ca32f0339 (diff) |
Improve mouse keys docs and constant speed mode
Diffstat (limited to 'tmk_core')
-rw-r--r-- | tmk_core/common/mousekey.c | 29 | ||||
-rw-r--r-- | tmk_core/common/mousekey.h | 60 |
2 files changed, 52 insertions, 37 deletions
diff --git a/tmk_core/common/mousekey.c b/tmk_core/common/mousekey.c index 87239fbb76..8c91843063 100644 --- a/tmk_core/common/mousekey.c +++ b/tmk_core/common/mousekey.c @@ -171,28 +171,31 @@ void mousekey_off(uint8_t code) { enum { - mkspd_slow, - mkspd_med, - mkspd_fast, + mkspd_unmod, + mkspd_0, + mkspd_1, + mkspd_2, mkspd_COUNT }; -static uint8_t mk_speed = mkspd_med; -#ifdef MK_MOMENTARY_ACCEL -static uint8_t mkspd_DEFAULT = mkspd_med; +#ifndef MK_MOMENTARY_ACCEL +static uint8_t mk_speed = mkspd_1; +#else +static uint8_t mk_speed = mkspd_unmod; +static uint8_t mkspd_DEFAULT = mkspd_unmod; #endif static uint16_t last_timer_c = 0; static uint16_t last_timer_w = 0; uint16_t c_offsets[mkspd_COUNT] = { - MK_C_OFFSET_SLOW, MK_C_OFFSET_MED, MK_C_OFFSET_FAST + MK_C_OFFSET_UNMOD, MK_C_OFFSET_0, MK_C_OFFSET_1, MK_C_OFFSET_2 }; uint16_t c_intervals[mkspd_COUNT] = { - MK_C_INTERVAL_SLOW, MK_C_INTERVAL_MED, MK_C_INTERVAL_FAST + MK_C_INTERVAL_UNMOD, MK_C_INTERVAL_0, MK_C_INTERVAL_1, MK_C_INTERVAL_2 }; uint16_t w_offsets[mkspd_COUNT] = { - MK_W_OFFSET_SLOW, MK_W_OFFSET_MED, MK_W_OFFSET_FAST + MK_W_OFFSET_UNMOD, MK_W_OFFSET_0, MK_W_OFFSET_1, MK_W_OFFSET_2 }; uint16_t w_intervals[mkspd_COUNT] = { - MK_W_INTERVAL_SLOW, MK_W_INTERVAL_MED, MK_W_INTERVAL_FAST + MK_W_INTERVAL_UNMOD, MK_W_INTERVAL_0, MK_W_INTERVAL_1, MK_W_INTERVAL_2 }; @@ -254,9 +257,9 @@ void mousekey_on(uint8_t code) { else if (code == KC_MS_BTN3) mouse_report.buttons |= MOUSE_BTN3; else if (code == KC_MS_BTN4) mouse_report.buttons |= MOUSE_BTN4; else if (code == KC_MS_BTN5) mouse_report.buttons |= MOUSE_BTN5; - else if (code == KC_MS_ACCEL0) mk_speed = mkspd_slow; - else if (code == KC_MS_ACCEL1) mk_speed = mkspd_med; - else if (code == KC_MS_ACCEL2) mk_speed = mkspd_fast; + else if (code == KC_MS_ACCEL0) mk_speed = mkspd_0; + else if (code == KC_MS_ACCEL1) mk_speed = mkspd_1; + else if (code == KC_MS_ACCEL2) mk_speed = mkspd_2; if (mk_speed != old_speed) adjust_speed(); } diff --git a/tmk_core/common/mousekey.h b/tmk_core/common/mousekey.h index ce3501b232..89c1eaf11a 100644 --- a/tmk_core/common/mousekey.h +++ b/tmk_core/common/mousekey.h @@ -64,42 +64,54 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #else /* #ifndef MK_3_SPEED */ -#ifndef MK_C_OFFSET_SLOW -#define MK_C_OFFSET_SLOW 1 +#ifndef MK_C_OFFSET_UNMOD +#define MK_C_OFFSET_UNMOD 16 #endif -#ifndef MK_C_INTERVAL_SLOW -#define MK_C_INTERVAL_SLOW 100 +#ifndef MK_C_INTERVAL_UNMOD +#define MK_C_INTERVAL_UNMOD 16 #endif -#ifndef MK_C_OFFSET_MED -#define MK_C_OFFSET_MED 4 +#ifndef MK_C_OFFSET_0 +#define MK_C_OFFSET_0 1 #endif -#ifndef MK_C_INTERVAL_MED -#define MK_C_INTERVAL_MED 16 +#ifndef MK_C_INTERVAL_0 +#define MK_C_INTERVAL_0 32 #endif -#ifndef MK_C_OFFSET_FAST -#define MK_C_OFFSET_FAST 12 +#ifndef MK_C_OFFSET_1 +#define MK_C_OFFSET_1 4 #endif -#ifndef MK_C_INTERVAL_FAST -#define MK_C_INTERVAL_FAST 16 +#ifndef MK_C_INTERVAL_1 +#define MK_C_INTERVAL_1 16 +#endif +#ifndef MK_C_OFFSET_2 +#define MK_C_OFFSET_2 32 +#endif +#ifndef MK_C_INTERVAL_2 +#define MK_C_INTERVAL_2 16 #endif -#ifndef MK_W_OFFSET_SLOW -#define MK_W_OFFSET_SLOW 1 +#ifndef MK_W_OFFSET_UNMOD +#define MK_W_OFFSET_UNMOD 1 +#endif +#ifndef MK_W_INTERVAL_UNMOD +#define MK_W_INTERVAL_UNMOD 40 +#endif +#ifndef MK_W_OFFSET_0 +#define MK_W_OFFSET_0 1 #endif -#ifndef MK_W_INTERVAL_SLOW -#define MK_W_INTERVAL_SLOW 400 +#ifndef MK_W_INTERVAL_0 +#define MK_W_INTERVAL_0 360 #endif -#ifndef MK_W_OFFSET_MED -#define MK_W_OFFSET_MED 1 +#ifndef MK_W_OFFSET_1 +#define MK_W_OFFSET_1 1 #endif -#ifndef MK_W_INTERVAL_MED -#define MK_W_INTERVAL_MED 200 +#ifndef MK_W_INTERVAL_1 +#define MK_W_INTERVAL_1 120 #endif -#ifndef MK_W_OFFSET_FAST -#define MK_W_OFFSET_FAST 1 +#ifndef MK_W_OFFSET_2 +#define MK_W_OFFSET_2 1 #endif -#ifndef MK_W_INTERVAL_FAST -#define MK_W_INTERVAL_FAST 100 +#ifndef MK_W_INTERVAL_2 +#define MK_W_INTERVAL_2 20 #endif #endif /* #ifndef MK_3_SPEED */ |