diff options
Diffstat (limited to 'keyboards/dumbpad/v1x_right/v1x_right.c')
-rw-r--r-- | keyboards/dumbpad/v1x_right/v1x_right.c | 55 |
1 files changed, 40 insertions, 15 deletions
diff --git a/keyboards/dumbpad/v1x_right/v1x_right.c b/keyboards/dumbpad/v1x_right/v1x_right.c index 1022ad0605..3fec6cb7e6 100644 --- a/keyboards/dumbpad/v1x_right/v1x_right.c +++ b/keyboards/dumbpad/v1x_right/v1x_right.c @@ -17,9 +17,9 @@ void keyboard_pre_init_kb(void) { // Set LED IO as outputs - setPinOutput(LED_00); - setPinOutput(LED_01); - setPinOutput(LED_02); + gpio_set_pin_output(LED_00); + gpio_set_pin_output(LED_01); + gpio_set_pin_output(LED_02); keyboard_pre_init_user(); } @@ -28,17 +28,17 @@ bool shutdown_kb(bool jump_to_bootloader) { return false; } // Shutdown LEDs - writePinLow(LED_00); - writePinLow(LED_01); - writePinLow(LED_02); + gpio_write_pin_low(LED_00); + gpio_write_pin_low(LED_01); + gpio_write_pin_low(LED_02); return true; } layer_state_t layer_state_set_kb(layer_state_t state) { // Layer LEDs act as binary indication of current layer uint8_t layer = get_highest_layer(state); - writePin(LED_00, layer & 0b1); - writePin(LED_01, (layer >> 1) & 0b1); + gpio_write_pin(LED_00, layer & 0b1); + gpio_write_pin(LED_01, (layer >> 1) & 0b1); return layer_state_set_user(state); } @@ -51,13 +51,13 @@ void matrix_init_kb(void) { // runs once when the firmware starts up uint8_t led_delay_ms = 80; for (int i = 0; i < 2; i++) { - writePinHigh(LED_00); - writePinHigh(LED_01); - writePinHigh(LED_02); + gpio_write_pin_high(LED_00); + gpio_write_pin_high(LED_01); + gpio_write_pin_high(LED_02); wait_ms(led_delay_ms); - writePinLow(LED_00); - writePinLow(LED_01); - writePinLow(LED_02); + gpio_write_pin_low(LED_00); + gpio_write_pin_low(LED_01); + gpio_write_pin_low(LED_02); if (i < 1) { wait_ms(led_delay_ms); } @@ -69,7 +69,32 @@ void matrix_init_kb(void) { bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if(res) { - writePin(LED_02, !led_state.num_lock); + gpio_write_pin(LED_02, !led_state.num_lock); } return res; } + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + + if (index == 0) { + switch (get_highest_layer(layer_state)) { + case 0: + if (clockwise) { + tap_code(KC_MS_R); + } else { + tap_code(KC_MS_L); + } + break; + + default: + if (clockwise) { + tap_code(KC_EQL); + } else { + tap_code(KC_MINS); + } + break; + } + } + return true; +} |