[Keyboard] VIA Support: DO60 (#9622) * fix up that vendor ID * add a VIA enabled keymap * use pragma once * clean up indicator leds code * remove unused header
7 files changed, 51 insertions(+), 40 deletions(-) M keyboards/do60/config.h M keyboards/do60/do60.c M keyboards/do60/do60.h M keyboards/do60/keymaps/default/keymap.c A keyboards/do60/keymaps/via/keymap.c A keyboards/do60/keymaps/via/readme.md A keyboards/do60/keymaps/via/rules.mk
M keyboards/do60/config.h => keyboards/do60/config.h +1 -1
@@ 21,7 21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define VENDOR_ID 0x4453 // DS for Doyu Studios #define PRODUCT_ID 0x6060 #define DEVICE_VER 0x0001 #define MANUFACTURER Shopkey by Doyu Studio
M keyboards/do60/do60.c => keyboards/do60/do60.c +7 -30
@@ 1,11 1,4 @@ #include "do60.h" #include "led.h" //extern inline void do60_caps_led_on(void); //extern inline void do60_bl_led_on(void); //extern inline void do60_caps_led_off(void); //extern inline void do60_bl_led_off(void); extern inline void setdefaultrgb(void); @@ 18,33 11,17 @@ void matrix_init_kb(void) { setdefaultrgb(); }; void matrix_scan_kb(void) { // Looping keyboard code goes here // This runs every cycle (a lot) matrix_scan_user(); }; void led_init_ports(void) { // Set caps lock LED pin as output DDRB |= (1 << 2); setPinOutput(B2); // Default to off PORTB |= (1 << 2); writePinHigh(B2); } void led_set_kb(uint8_t usb_led) { //if (usb_led & (1<<USB_LED_CAPS_LOCK)) { // do60_caps_led_on(); //} else { // do60_caps_led_off(); //} //led_set_user(usb_led); bool led_update_kb(led_t led_state) { if(led_update_user(led_state)) { writePin(B2, !led_state.caps_lock); } if (usb_led & (1<<USB_LED_CAPS_LOCK)) { // Turn capslock on PORTB &= ~(1<<2); } else { // Turn capslock off PORTB |= (1<<2); } return true; }
M keyboards/do60/do60.h => keyboards/do60/do60.h +1 -4
@@ 1,8 1,6 @@ #ifndef DO60_H #define DO60_H #pragma once #include "quantum.h" #include "led.h" /* DO60 LEDs @@ * GPIO pads 94,4 92,3 @@ inline void setdefaultrgb(void){ rgblight_sethsv(100,100,100); } { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \ } #endif
M keyboards/do60/keymaps/default/keymap.c => keyboards/do60/keymaps/default/keymap.c +0 -5
@@ 19,8 19,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,KC_SPC, KC_DEL, KC_RGUI, MO(1), KC_HOME, KC_PGDOWN,KC_END), }; // Loop void matrix_scan_user(void) { // Empty };
A keyboards/do60/keymaps/via/keymap.c => keyboards/do60/keymaps/via/keymap.c +35 -0
@@ 0,0 1,35 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 0: Base Layer [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_SLSH, KC_UP, KC_SLSH, \ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_BSPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT), // 1: Function Layer [1] = LAYOUT_all( RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, \ KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, BL_TOGG,BL_ON, BL_INC, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, \ KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, BL_STEP,BL_OFF, BL_DEC, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP, KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_RSFT, KC_NO , KC_PGUP, KC_INS, \ KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,KC_SPC, KC_DEL, KC_RGUI, MO(1), KC_HOME, KC_PGDOWN,KC_END), [2] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS), [3] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS), };
A keyboards/do60/keymaps/via/readme.md => keyboards/do60/keymaps/via/readme.md +5 -0
@@ 0,0 1,5 @@  All of the keys which CAN have a function should be assigned one. The keys with KC_NO cannot be assigned a value
A keyboards/do60/keymaps/via/rules.mk => keyboards/do60/keymaps/via/rules.mk +2 -0