aboutsummaryrefslogtreecommitdiff
path: root/tmk_core/common
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/common')
-rw-r--r--tmk_core/common/mousekey.c29
-rw-r--r--tmk_core/common/mousekey.h60
2 files changed, 52 insertions, 37 deletions
diff --git a/tmk_core/common/mousekey.c b/tmk_core/common/mousekey.c
index 87239fbb7..8c9184306 100644
--- a/tmk_core/common/mousekey.c
+++ b/tmk_core/common/mousekey.c
@@ -171,28 +171,31 @@ void mousekey_off(uint8_t code) {
171 171
172 172
173enum { 173enum {
174 mkspd_slow, 174 mkspd_unmod,
175 mkspd_med, 175 mkspd_0,
176 mkspd_fast, 176 mkspd_1,
177 mkspd_2,
177 mkspd_COUNT 178 mkspd_COUNT
178}; 179};
179static uint8_t mk_speed = mkspd_med; 180#ifndef MK_MOMENTARY_ACCEL
180#ifdef MK_MOMENTARY_ACCEL 181static uint8_t mk_speed = mkspd_1;
181static uint8_t mkspd_DEFAULT = mkspd_med; 182#else
183static uint8_t mk_speed = mkspd_unmod;
184static uint8_t mkspd_DEFAULT = mkspd_unmod;
182#endif 185#endif
183static uint16_t last_timer_c = 0; 186static uint16_t last_timer_c = 0;
184static uint16_t last_timer_w = 0; 187static uint16_t last_timer_w = 0;
185uint16_t c_offsets[mkspd_COUNT] = { 188uint16_t c_offsets[mkspd_COUNT] = {
186 MK_C_OFFSET_SLOW, MK_C_OFFSET_MED, MK_C_OFFSET_FAST 189 MK_C_OFFSET_UNMOD, MK_C_OFFSET_0, MK_C_OFFSET_1, MK_C_OFFSET_2
187}; 190};
188uint16_t c_intervals[mkspd_COUNT] = { 191uint16_t c_intervals[mkspd_COUNT] = {
189 MK_C_INTERVAL_SLOW, MK_C_INTERVAL_MED, MK_C_INTERVAL_FAST 192 MK_C_INTERVAL_UNMOD, MK_C_INTERVAL_0, MK_C_INTERVAL_1, MK_C_INTERVAL_2
190}; 193};
191uint16_t w_offsets[mkspd_COUNT] = { 194uint16_t w_offsets[mkspd_COUNT] = {
192 MK_W_OFFSET_SLOW, MK_W_OFFSET_MED, MK_W_OFFSET_FAST 195 MK_W_OFFSET_UNMOD, MK_W_OFFSET_0, MK_W_OFFSET_1, MK_W_OFFSET_2
193}; 196};
194uint16_t w_intervals[mkspd_COUNT] = { 197uint16_t w_intervals[mkspd_COUNT] = {
195 MK_W_INTERVAL_SLOW, MK_W_INTERVAL_MED, MK_W_INTERVAL_FAST 198 MK_W_INTERVAL_UNMOD, MK_W_INTERVAL_0, MK_W_INTERVAL_1, MK_W_INTERVAL_2
196}; 199};
197 200
198 201
@@ -254,9 +257,9 @@ void mousekey_on(uint8_t code) {
254 else if (code == KC_MS_BTN3) mouse_report.buttons |= MOUSE_BTN3; 257 else if (code == KC_MS_BTN3) mouse_report.buttons |= MOUSE_BTN3;
255 else if (code == KC_MS_BTN4) mouse_report.buttons |= MOUSE_BTN4; 258 else if (code == KC_MS_BTN4) mouse_report.buttons |= MOUSE_BTN4;
256 else if (code == KC_MS_BTN5) mouse_report.buttons |= MOUSE_BTN5; 259 else if (code == KC_MS_BTN5) mouse_report.buttons |= MOUSE_BTN5;
257 else if (code == KC_MS_ACCEL0) mk_speed = mkspd_slow; 260 else if (code == KC_MS_ACCEL0) mk_speed = mkspd_0;
258 else if (code == KC_MS_ACCEL1) mk_speed = mkspd_med; 261 else if (code == KC_MS_ACCEL1) mk_speed = mkspd_1;
259 else if (code == KC_MS_ACCEL2) mk_speed = mkspd_fast; 262 else if (code == KC_MS_ACCEL2) mk_speed = mkspd_2;
260 if (mk_speed != old_speed) adjust_speed(); 263 if (mk_speed != old_speed) adjust_speed();
261} 264}
262 265
diff --git a/tmk_core/common/mousekey.h b/tmk_core/common/mousekey.h
index ce3501b23..89c1eaf11 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/>.
64 64
65#else /* #ifndef MK_3_SPEED */ 65#else /* #ifndef MK_3_SPEED */
66 66
67#ifndef MK_C_OFFSET_SLOW 67#ifndef MK_C_OFFSET_UNMOD
68#define MK_C_OFFSET_SLOW 1 68#define MK_C_OFFSET_UNMOD 16
69#endif 69#endif
70#ifndef MK_C_INTERVAL_SLOW 70#ifndef MK_C_INTERVAL_UNMOD
71#define MK_C_INTERVAL_SLOW 100 71#define MK_C_INTERVAL_UNMOD 16
72#endif 72#endif
73#ifndef MK_C_OFFSET_MED 73#ifndef MK_C_OFFSET_0
74#define MK_C_OFFSET_MED 4 74#define MK_C_OFFSET_0 1
75#endif 75#endif
76#ifndef MK_C_INTERVAL_MED 76#ifndef MK_C_INTERVAL_0
77#define MK_C_INTERVAL_MED 16 77#define MK_C_INTERVAL_0 32
78#endif 78#endif
79#ifndef MK_C_OFFSET_FAST 79#ifndef MK_C_OFFSET_1
80#define MK_C_OFFSET_FAST 12 80#define MK_C_OFFSET_1 4
81#endif 81#endif
82#ifndef MK_C_INTERVAL_FAST 82#ifndef MK_C_INTERVAL_1
83#define MK_C_INTERVAL_FAST 16 83#define MK_C_INTERVAL_1 16
84#endif
85#ifndef MK_C_OFFSET_2
86#define MK_C_OFFSET_2 32
87#endif
88#ifndef MK_C_INTERVAL_2
89#define MK_C_INTERVAL_2 16
84#endif 90#endif
85 91
86#ifndef MK_W_OFFSET_SLOW 92#ifndef MK_W_OFFSET_UNMOD
87#define MK_W_OFFSET_SLOW 1 93#define MK_W_OFFSET_UNMOD 1
94#endif
95#ifndef MK_W_INTERVAL_UNMOD
96#define MK_W_INTERVAL_UNMOD 40
97#endif
98#ifndef MK_W_OFFSET_0
99#define MK_W_OFFSET_0 1
88#endif 100#endif
89#ifndef MK_W_INTERVAL_SLOW 101#ifndef MK_W_INTERVAL_0
90#define MK_W_INTERVAL_SLOW 400 102#define MK_W_INTERVAL_0 360
91#endif 103#endif
92#ifndef MK_W_OFFSET_MED 104#ifndef MK_W_OFFSET_1
93#define MK_W_OFFSET_MED 1 105#define MK_W_OFFSET_1 1
94#endif 106#endif
95#ifndef MK_W_INTERVAL_MED 107#ifndef MK_W_INTERVAL_1
96#define MK_W_INTERVAL_MED 200 108#define MK_W_INTERVAL_1 120
97#endif 109#endif
98#ifndef MK_W_OFFSET_FAST 110#ifndef MK_W_OFFSET_2
99#define MK_W_OFFSET_FAST 1 111#define MK_W_OFFSET_2 1
100#endif 112#endif
101#ifndef MK_W_INTERVAL_FAST 113#ifndef MK_W_INTERVAL_2
102#define MK_W_INTERVAL_FAST 100 114#define MK_W_INTERVAL_2 20
103#endif 115#endif
104 116
105#endif /* #ifndef MK_3_SPEED */ 117#endif /* #ifndef MK_3_SPEED */