diff options
Diffstat (limited to 'keyboards/dumbpad/v0x_dualencoder')
-rw-r--r-- | keyboards/dumbpad/v0x_dualencoder/keyboard.json (renamed from keyboards/dumbpad/v0x_dualencoder/info.json) | 8 | ||||
-rw-r--r-- | keyboards/dumbpad/v0x_dualencoder/rules.mk | 15 | ||||
-rw-r--r-- | keyboards/dumbpad/v0x_dualencoder/templates/keymap.c | 44 | ||||
-rw-r--r-- | keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c | 63 |
4 files changed, 61 insertions, 69 deletions
diff --git a/keyboards/dumbpad/v0x_dualencoder/info.json b/keyboards/dumbpad/v0x_dualencoder/keyboard.json index a841d9d642..71b501cedd 100644 --- a/keyboards/dumbpad/v0x_dualencoder/info.json +++ b/keyboards/dumbpad/v0x_dualencoder/keyboard.json @@ -18,6 +18,14 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": true, + "encoder": true, + "key_lock": true + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/dumbpad/v0x_dualencoder/rules.mk b/keyboards/dumbpad/v0x_dualencoder/rules.mk deleted file mode 100644 index 7816aab001..0000000000 --- a/keyboards/dumbpad/v0x_dualencoder/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - -ENCODER_ENABLE = yes -KEY_LOCK_ENABLE = yes diff --git a/keyboards/dumbpad/v0x_dualencoder/templates/keymap.c b/keyboards/dumbpad/v0x_dualencoder/templates/keymap.c deleted file mode 100644 index c602269ed3..0000000000 --- a/keyboards/dumbpad/v0x_dualencoder/templates/keymap.c +++ /dev/null @@ -1,44 +0,0 @@ -#include QMK_KEYBOARD_H -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__}; - - -bool encoder_update_user(uint8_t index, bool clockwise) { - 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; - } - } else if (index == 1) { - switch (get_highest_layer(layer_state)) { - case 0: - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - - default: - if (clockwise) { - tap_code(KC_RIGHT); - } else { - tap_code(KC_LEFT); - } - break; - } - } - return true; -} diff --git a/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c b/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c index d7e3841d76..1c622f7bf4 100644 --- a/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c +++ b/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c @@ -17,8 +17,8 @@ void keyboard_pre_init_kb(void) { // Set LED IO as outputs - setPinOutput(LED_00); - setPinOutput(LED_01); + gpio_set_pin_output(LED_00); + gpio_set_pin_output(LED_01); keyboard_pre_init_user(); } @@ -27,16 +27,16 @@ bool shutdown_kb(bool jump_to_bootloader) { return false; } // Shutdown LEDs - writePinLow(LED_00); - writePinLow(LED_01); + gpio_write_pin_low(LED_00); + gpio_write_pin_low(LED_01); 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); } @@ -49,11 +49,11 @@ 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); + gpio_write_pin_high(LED_00); + gpio_write_pin_high(LED_01); wait_ms(led_delay_ms); - writePinLow(LED_00); - writePinLow(LED_01); + gpio_write_pin_low(LED_00); + gpio_write_pin_low(LED_01); if (i < 1) { wait_ms(led_delay_ms); } @@ -61,3 +61,46 @@ void matrix_init_kb(void) { matrix_init_user(); } + +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; + } + } else if (index == 1) { + switch (get_highest_layer(layer_state)) { + case 0: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + + default: + if (clockwise) { + tap_code(KC_RIGHT); + } else { + tap_code(KC_LEFT); + } + break; + } + } + return true; +} |