Added mouse jiggle macro
This commit is contained in:
parent
8443b2b120
commit
e7050f9c44
1 changed files with 47 additions and 2 deletions
|
@ -16,6 +16,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// mouse jiggler
|
||||||
|
enum custom_keycodes {
|
||||||
|
MS_JIGL
|
||||||
|
};
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
@ -57,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
),
|
),
|
||||||
|
|
||||||
[2] = LAYOUT(
|
[2] = LAYOUT(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
MS_JIGL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC2,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC2,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_PLY1,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_PLY1,
|
||||||
|
@ -84,6 +89,41 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool is_mouse_jiggle_active = false;
|
||||||
|
bool mouse_jiggle_direction = false;
|
||||||
|
|
||||||
|
uint16_t mouse_jiggle_frequency = 15000;
|
||||||
|
uint16_t mouse_jiggle_timer = 0;
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case MS_JIGL:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
is_mouse_jiggle_active = !is_mouse_jiggle_active;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
void matrix_scan_user(void) {
|
||||||
|
if (mouse_jiggle_timer == 0) {
|
||||||
|
mouse_jiggle_timer = timer_read();
|
||||||
|
}
|
||||||
|
if (is_mouse_jiggle_active) {
|
||||||
|
if (timer_elapsed(mouse_jiggle_timer) > mouse_jiggle_frequency) {
|
||||||
|
mouse_jiggle_timer = timer_read();
|
||||||
|
if (mouse_jiggle_direction) {
|
||||||
|
tap_code(KC_MS_LEFT);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_MS_RIGHT);
|
||||||
|
}
|
||||||
|
mouse_jiggle_direction =! mouse_jiggle_direction;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||||
HSV hsv = rgb_matrix_get_hsv();
|
HSV hsv = rgb_matrix_get_hsv();
|
||||||
RGB rgb = hsv_to_rgb(hsv);
|
RGB rgb = hsv_to_rgb(hsv);
|
||||||
|
@ -93,5 +133,10 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||||
} else {
|
} else {
|
||||||
RGB_MATRIX_INDICATOR_SET_COLOR(3, 0, 0, 0);
|
RGB_MATRIX_INDICATOR_SET_COLOR(3, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
if (is_mouse_jiggle_active) {
|
||||||
|
RGB_MATRIX_INDICATOR_SET_COLOR(0, rgb.r, rgb.g, rgb.b); // assuming esc is at led #0
|
||||||
|
} else {
|
||||||
|
RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
};
|
||||||
|
|
Loading…
Reference in a new issue