keychron_qmk_firmware/keyboards/handwired/snatchpad/snatchpad.c
xiao 18490537a5
[Keyboard] Add Snatchpad keyboard (#16330)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: xia0 <xiao@morgan.net.au>
2022-02-21 00:40:11 -08:00

67 lines
1.7 KiB
C

// 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