diff options
author | Benjamin Grosse <ste3ls@gmail.com> | 2020-10-29 09:26:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-29 01:26:15 -0700 |
commit | db9204c7e1d1da9ba041aa34a50e92083d5726e9 (patch) | |
tree | 6db387533aa60e402db334f8f999b45e8b96fc10 | |
parent | 27b80468670d5895a8ccb2d9603ffae325fe900a (diff) | |
download | qmk_firmware-db9204c7e1d1da9ba041aa34a50e92083d5726e9.tar.gz qmk_firmware-db9204c7e1d1da9ba041aa34a50e92083d5726e9.zip |
[Keymap] add an autoclicker to my plaid keymap (#10743)
-rw-r--r-- | keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c | 31 | ||||
-rw-r--r-- | keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md | 2 |
2 files changed, 31 insertions, 2 deletions
diff --git a/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c b/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c index c02c62244..0abd3f849 100644 --- a/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include QMK_KEYBOARD_H | 17 | #include QMK_KEYBOARD_H |
18 | #include "mousekey.h" | ||
18 | 19 | ||
19 | 20 | ||
20 | enum plaid_layers { | 21 | enum plaid_layers { |
@@ -25,9 +26,13 @@ enum plaid_layers { | |||
25 | }; | 26 | }; |
26 | 27 | ||
27 | enum plaid_keycodes { | 28 | enum plaid_keycodes { |
28 | QWERTY = SAFE_RANGE | 29 | AUTOCLICK = SAFE_RANGE |
29 | }; | 30 | }; |
30 | 31 | ||
32 | static bool autoclick = false; | ||
33 | static bool autoclick_state = false; | ||
34 | static uint16_t autoclick_timer = 0; | ||
35 | |||
31 | #define XMONAD LM(_XMONAD, MOD_LGUI) | 36 | #define XMONAD LM(_XMONAD, MOD_LGUI) |
32 | #define SPC_LWR LT(_LOWER, KC_SPACE) | 37 | #define SPC_LWR LT(_LOWER, KC_SPACE) |
33 | #define ENT_RSE LT(_RAISE, KC_ENT) | 38 | #define ENT_RSE LT(_RAISE, KC_ENT) |
@@ -89,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
89 | KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | 94 | KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, |
90 | _______, _______, MU_MOD, AU_ON, AU_OFF, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, RESET, | 95 | _______, _______, MU_MOD, AU_ON, AU_OFF, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, RESET, |
91 | _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,_______, _______, _______, | 96 | _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,_______, _______, _______, |
92 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | 97 | _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, AUTOCLICK |
93 | ) | 98 | ) |
94 | }; | 99 | }; |
95 | 100 | ||
@@ -167,6 +172,16 @@ void matrix_scan_user(void) { | |||
167 | break; | 172 | break; |
168 | } | 173 | } |
169 | } | 174 | } |
175 | if (autoclick && timer_elapsed(autoclick_timer) > (autoclick_state ? 20 : 100)) { | ||
176 | if (!autoclick_state) { | ||
177 | mousekey_on(KC_MS_BTN1); | ||
178 | } else { | ||
179 | mousekey_off(KC_MS_BTN1); | ||
180 | } | ||
181 | mousekey_send(); | ||
182 | autoclick_state = !autoclick_state; | ||
183 | autoclick_timer = timer_read(); | ||
184 | } | ||
170 | } | 185 | } |
171 | 186 | ||
172 | layer_state_t layer_state_set_user(layer_state_t state) { | 187 | layer_state_t layer_state_set_user(layer_state_t state) { |
@@ -186,3 +201,15 @@ layer_state_t layer_state_set_user(layer_state_t state) { | |||
186 | } | 201 | } |
187 | return state; | 202 | return state; |
188 | } | 203 | } |
204 | |||
205 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
206 | switch (keycode) { | ||
207 | case AUTOCLICK: | ||
208 | if (record->event.pressed) { | ||
209 | autoclick = !autoclick; | ||
210 | autoclick_timer = timer_read(); | ||
211 | } | ||
212 | break; | ||
213 | } | ||
214 | return true; | ||
215 | }; | ||
diff --git a/keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md b/keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md index 1dc2bba12..999d92c84 100644 --- a/keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md +++ b/keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md | |||
@@ -15,3 +15,5 @@ old machine. | |||
15 | 15 | ||
16 | When any layer is active, the LEDs are "startled". | 16 | When any layer is active, the LEDs are "startled". |
17 | 17 | ||
18 | There is an autoclicker for minecraft. | ||
19 | |||