diff options
Diffstat (limited to 'tmk_core/common')
| -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 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 | ||
| 173 | enum { | 173 | enum { |
| 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 | }; |
| 179 | static uint8_t mk_speed = mkspd_med; | 180 | #ifndef MK_MOMENTARY_ACCEL |
| 180 | #ifdef MK_MOMENTARY_ACCEL | 181 | static uint8_t mk_speed = mkspd_1; |
| 181 | static uint8_t mkspd_DEFAULT = mkspd_med; | 182 | #else |
| 183 | static uint8_t mk_speed = mkspd_unmod; | ||
| 184 | static uint8_t mkspd_DEFAULT = mkspd_unmod; | ||
| 182 | #endif | 185 | #endif |
| 183 | static uint16_t last_timer_c = 0; | 186 | static uint16_t last_timer_c = 0; |
| 184 | static uint16_t last_timer_w = 0; | 187 | static uint16_t last_timer_w = 0; |
| 185 | uint16_t c_offsets[mkspd_COUNT] = { | 188 | uint16_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 | }; |
| 188 | uint16_t c_intervals[mkspd_COUNT] = { | 191 | uint16_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 | }; |
| 191 | uint16_t w_offsets[mkspd_COUNT] = { | 194 | uint16_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 | }; |
| 194 | uint16_t w_intervals[mkspd_COUNT] = { | 197 | uint16_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 */ |
