|
@@ -37,7 +37,7 @@ static uint8_t mousekey_accel = 0;
|
|
|
static uint8_t mousekey_repeat = 0;
|
|
|
static uint8_t mousekey_wheel_repeat = 0;
|
|
|
#ifdef MK_KINETIC_SPEED
|
|
|
-static uint16_t mouse_timer = 0;
|
|
|
+static uint16_t mouse_timer = 0;
|
|
|
#endif
|
|
|
|
|
|
#ifndef MK_3_SPEED
|
|
@@ -123,20 +123,18 @@ static uint8_t wheel_unit(void) {
|
|
|
* B: base mouse travel speed
|
|
|
*/
|
|
|
const uint16_t mk_accelerated_speed = MOUSEKEY_ACCELERATED_SPEED;
|
|
|
-const uint16_t mk_base_speed = MOUSEKEY_BASE_SPEED;
|
|
|
+const uint16_t mk_base_speed = MOUSEKEY_BASE_SPEED;
|
|
|
const uint16_t mk_decelerated_speed = MOUSEKEY_DECELERATED_SPEED;
|
|
|
-const uint16_t mk_initial_speed = MOUSEKEY_INITIAL_SPEED;
|
|
|
+const uint16_t mk_initial_speed = MOUSEKEY_INITIAL_SPEED;
|
|
|
|
|
|
static uint8_t move_unit(void) {
|
|
|
float speed = mk_initial_speed;
|
|
|
|
|
|
- if (mousekey_accel & ((1<<0) | (1<<2))) {
|
|
|
- speed = mousekey_accel & (1<<2) ? mk_accelerated_speed : mk_decelerated_speed;
|
|
|
+ if (mousekey_accel & ((1 << 0) | (1 << 2))) {
|
|
|
+ speed = mousekey_accel & (1 << 2) ? mk_accelerated_speed : mk_decelerated_speed;
|
|
|
} else if (mousekey_repeat && mouse_timer) {
|
|
|
const float time_elapsed = timer_elapsed(mouse_timer) / 50;
|
|
|
- speed = mk_initial_speed +
|
|
|
- MOUSEKEY_MOVE_DELTA * time_elapsed +
|
|
|
- MOUSEKEY_MOVE_DELTA * 0.5 * time_elapsed * time_elapsed;
|
|
|
+ speed = mk_initial_speed + MOUSEKEY_MOVE_DELTA * time_elapsed + MOUSEKEY_MOVE_DELTA * 0.5 * time_elapsed * time_elapsed;
|
|
|
|
|
|
speed = speed > mk_base_speed ? mk_base_speed : speed;
|
|
|
}
|
|
@@ -153,14 +151,12 @@ float mk_wheel_interval = 1000.0f / MOUSEKEY_WHEEL_INITIAL_MOVEMENTS;
|
|
|
static uint8_t wheel_unit(void) {
|
|
|
float speed = MOUSEKEY_WHEEL_INITIAL_MOVEMENTS;
|
|
|
|
|
|
- if (mousekey_accel & ((1<<0) | (1<<2))) {
|
|
|
- speed = mousekey_accel & (1<<2) ? MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS : MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS;
|
|
|
+ if (mousekey_accel & ((1 << 0) | (1 << 2))) {
|
|
|
+ speed = mousekey_accel & (1 << 2) ? MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS : MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS;
|
|
|
} else if (mousekey_repeat && mouse_timer) {
|
|
|
if (mk_wheel_interval != MOUSEKEY_WHEEL_BASE_MOVEMENTS) {
|
|
|
const float time_elapsed = timer_elapsed(mouse_timer) / 50;
|
|
|
- speed = MOUSEKEY_WHEEL_INITIAL_MOVEMENTS +
|
|
|
- 1 * time_elapsed +
|
|
|
- 1 * 0.5 * time_elapsed * time_elapsed;
|
|
|
+ speed = MOUSEKEY_WHEEL_INITIAL_MOVEMENTS + 1 * time_elapsed + 1 * 0.5 * time_elapsed * time_elapsed;
|
|
|
}
|
|
|
speed = speed > MOUSEKEY_WHEEL_BASE_MOVEMENTS ? MOUSEKEY_WHEEL_BASE_MOVEMENTS : speed;
|
|
|
}
|
|
@@ -209,7 +205,7 @@ static uint8_t wheel_unit(void) {
|
|
|
}
|
|
|
|
|
|
# endif /* #ifndef MK_KINETIC_SPEED */
|
|
|
-# endif /* #ifndef MK_COMBINED */
|
|
|
+# endif /* #ifndef MK_COMBINED */
|
|
|
|
|
|
void mousekey_task(void) {
|
|
|
// report cursor and scroll movement independently
|
|
@@ -260,11 +256,11 @@ void mousekey_task(void) {
|
|
|
}
|
|
|
|
|
|
void mousekey_on(uint8_t code) {
|
|
|
-#ifdef MK_KINETIC_SPEED
|
|
|
+# ifdef MK_KINETIC_SPEED
|
|
|
if (mouse_timer == 0) {
|
|
|
mouse_timer = timer_read();
|
|
|
}
|
|
|
-#endif /* #ifdef MK_KINETIC_SPEED */
|
|
|
+# endif /* #ifdef MK_KINETIC_SPEED */
|
|
|
|
|
|
if (code == KC_MS_UP)
|
|
|
mouse_report.y = move_unit() * -1;
|
|
@@ -335,9 +331,9 @@ void mousekey_off(uint8_t code) {
|
|
|
mousekey_accel &= ~(1 << 2);
|
|
|
if (mouse_report.x == 0 && mouse_report.y == 0) {
|
|
|
mousekey_repeat = 0;
|
|
|
-#ifdef MK_KINETIC_SPEED
|
|
|
+# ifdef MK_KINETIC_SPEED
|
|
|
mouse_timer = 0;
|
|
|
-#endif /* #ifdef MK_KINETIC_SPEED */
|
|
|
+# endif /* #ifdef MK_KINETIC_SPEED */
|
|
|
}
|
|
|
if (mouse_report.v == 0 && mouse_report.h == 0) mousekey_wheel_repeat = 0;
|
|
|
}
|