aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Grosse <ste3ls@gmail.com>2020-10-29 09:26:15 +0100
committerGitHub <noreply@github.com>2020-10-29 01:26:15 -0700
commitdb9204c7e1d1da9ba041aa34a50e92083d5726e9 (patch)
tree6db387533aa60e402db334f8f999b45e8b96fc10
parent27b80468670d5895a8ccb2d9603ffae325fe900a (diff)
downloadqmk_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.c31
-rw-r--r--keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md2
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
20enum plaid_layers { 21enum plaid_layers {
@@ -25,9 +26,13 @@ enum plaid_layers {
25}; 26};
26 27
27enum plaid_keycodes { 28enum plaid_keycodes {
28 QWERTY = SAFE_RANGE 29 AUTOCLICK = SAFE_RANGE
29}; 30};
30 31
32static bool autoclick = false;
33static bool autoclick_state = false;
34static 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
172layer_state_t layer_state_set_user(layer_state_t state) { 187layer_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
205bool 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
16When any layer is active, the LEDs are "startled". 16When any layer is active, the LEDs are "startled".
17 17
18There is an autoclicker for minecraft.
19