forked from mirrors/qmk_userspace
qmk cformat
This commit is contained in:
parent
e702c7f1b4
commit
31c57aab35
9 changed files with 136 additions and 113 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue