diff options
author | QMK Bot <hello@qmk.fm> | 2022-02-21 08:40:46 +0000 |
---|---|---|
committer | QMK Bot <hello@qmk.fm> | 2022-02-21 08:40:46 +0000 |
commit | 7d153b9a66670ef26f826de01384a9b9713598ec (patch) | |
tree | ae6bdc6e7145bc144251d0e044fc23709034026b /keyboards/handwired/snatchpad/snatchpad.c | |
parent | 8dc7cae7c712b6f405e69b5a25dbb111fb8fdc5e (diff) | |
parent | 18490537a5a2c050ecfa1ee2209229eba6b8b342 (diff) |
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/handwired/snatchpad/snatchpad.c')
-rw-r--r-- | keyboards/handwired/snatchpad/snatchpad.c | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/keyboards/handwired/snatchpad/snatchpad.c b/keyboards/handwired/snatchpad/snatchpad.c new file mode 100644 index 0000000000..621ba11123 --- /dev/null +++ b/keyboards/handwired/snatchpad/snatchpad.c @@ -0,0 +1,66 @@ +// Copyright 2022 xia0 (@xia0) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "snatchpad.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + + uint8_t layer = get_highest_layer(layer_state); + + if (index == 0) { /* First encoder */ + switch (layer) { + case 0: + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + break; + case 2: + if (clockwise) { + tap_code16(LCTL(KC_MINUS)); + } else { + tap_code16(LCTL(KC_EQUAL)); + } + break; + default: + if (clockwise) { + tap_code(KC_MS_L); + } else { + tap_code(KC_MS_R); + } + break; + } + + } else if (index == 1) { /* Second encoder */ + switch (layer) { + case 0: + if (clockwise) { + tap_code(KC_MFFD); + } else { + tap_code(KC_MRWD); + } + break; + case 2: + if (clockwise) { + tap_code16(LCTL(KC_Y)); + } else { + tap_code16(LCTL(KC_Z)); + } + break; + default: + if (clockwise) { + tap_code(KC_MS_D); + } else { + tap_code(KC_MS_U); + } + break; + } + } + return true; +} +#endif |