summaryrefslogtreecommitdiff
path: root/quantum/qmk_settings.c
diff options
context:
space:
mode:
authorIlya Zhuravlev <whatever@xyz.is>2021-07-01 20:43:35 -0400
committerIlya Zhuravlev <whatever@xyz.is>2021-07-17 23:46:10 -0400
commitd0747a690442204da21db511ee2cf4b891dc39e9 (patch)
treeae731d65e0af68c592c0f6d2efdbc4dbd8e48ffa /quantum/qmk_settings.c
parent2f37c69ac914cc45f9465633f7ea47fa894bb2d3 (diff)
qmk_settings: wrap mouse keys
Diffstat (limited to 'quantum/qmk_settings.c')
-rw-r--r--quantum/qmk_settings.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/quantum/qmk_settings.c b/quantum/qmk_settings.c
index 2c66d90c30..586fcf7759 100644
--- a/quantum/qmk_settings.c
+++ b/quantum/qmk_settings.c
@@ -6,6 +6,7 @@
#include "progmem.h"
#include "dynamic_keymap.h"
#include "process_auto_shift.h"
+#include "mousekey.h"
qmk_settings_t QS;
@@ -16,6 +17,17 @@ static void auto_shift_timeout_apply(void) {
set_autoshift_timeout(QS.auto_shift_timeout);
}
+static void mousekey_apply(void) {
+ mk_delay = QS.mousekey_delay / 10;
+ mk_interval = QS.mousekey_interval;
+ mk_max_speed = QS.mousekey_max_speed;
+ mk_time_to_max = QS.mousekey_time_to_max;
+ mk_wheel_delay = QS.mousekey_wheel_delay / 10;
+ mk_wheel_interval = QS.mousekey_wheel_interval;
+ mk_wheel_max_speed = QS.mousekey_wheel_max_speed;
+ mk_wheel_time_to_max = QS.mousekey_wheel_time_to_max;
+}
+
static const qmk_settings_proto_t protos[] PROGMEM = {
DECLARE_SETTING(1, grave_esc_override),
DECLARE_SETTING(2, debounce_time),
@@ -25,6 +37,15 @@ static const qmk_settings_proto_t protos[] PROGMEM = {
DECLARE_SETTING(6, osk_timeout),
DECLARE_SETTING(7, tapping_term),
DECLARE_SETTING(8, tap_hold),
+ DECLARE_SETTING_CB(9, mousekey_delay, mousekey_apply),
+ DECLARE_SETTING_CB(10, mousekey_interval, mousekey_apply),
+ DECLARE_SETTING_CB(11, mousekey_move_delta, mousekey_apply),
+ DECLARE_SETTING_CB(12, mousekey_max_speed, mousekey_apply),
+ DECLARE_SETTING_CB(13, mousekey_time_to_max, mousekey_apply),
+ DECLARE_SETTING_CB(14, mousekey_wheel_delay, mousekey_apply),
+ DECLARE_SETTING_CB(15, mousekey_wheel_interval, mousekey_apply),
+ DECLARE_SETTING_CB(16, mousekey_wheel_max_speed, mousekey_apply),
+ DECLARE_SETTING_CB(17, mousekey_wheel_time_to_max, mousekey_apply),
};
static const qmk_settings_proto_t *find_setting(uint16_t qsid) {
@@ -74,6 +95,16 @@ void qmk_settings_reset(void) {
QS.tapping_term = 200;
QS.tap_hold = 0;
+ QS.mousekey_delay = MOUSEKEY_DELAY;
+ QS.mousekey_interval = MOUSEKEY_INTERVAL;
+ QS.mousekey_move_delta = MOUSEKEY_MOVE_DELTA;
+ QS.mousekey_max_speed = MOUSEKEY_MAX_SPEED;
+ QS.mousekey_time_to_max = MOUSEKEY_TIME_TO_MAX;
+ QS.mousekey_wheel_delay = MOUSEKEY_WHEEL_DELAY;
+ QS.mousekey_wheel_interval = MOUSEKEY_WHEEL_INTERVAL;
+ QS.mousekey_wheel_max_speed = MOUSEKEY_WHEEL_MAX_SPEED;
+ QS.mousekey_wheel_time_to_max = MOUSEKEY_WHEEL_TIME_TO_MAX;
+
save_settings();
/* to trigger all callbacks */
qmk_settings_init();