From 3587e20e7016792846d351925706da04e9442420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8F=E3=81=BE=E3=81=8A=E5=B7=A5=E6=88=BF?= <52371962+kumaokobo@users.noreply.github.com> Date: Wed, 25 Mar 2020 05:02:41 +0900 Subject: [PATCH] [Keyboard] Add kudox game rev2 (#8529) * Add Kudox Game rev2. * Add the keymap of Kudox Game a layer for regulating RGB. * Modified rgblight_init when RGBLIGHT_ENABLE=no. * Remove invalid codes. * Modified *init* function right intention of framework. --- keyboards/kudox_game/info.json | 4 +- keyboards/kudox_game/keymaps/default/keymap.c | 33 ++++++- keyboards/kudox_game/kudox_game.h | 3 + keyboards/kudox_game/readme.md | 6 +- keyboards/kudox_game/rev2/config.h | 91 +++++++++++++++++++ keyboards/kudox_game/rev2/rev2.c | 1 + keyboards/kudox_game/rev2/rev2.h | 20 ++++ keyboards/kudox_game/rev2/rules.mk | 1 + keyboards/kudox_game/rules.mk | 2 +- 9 files changed, 152 insertions(+), 9 deletions(-) create mode 100644 keyboards/kudox_game/rev2/config.h create mode 100644 keyboards/kudox_game/rev2/rev2.c create mode 100644 keyboards/kudox_game/rev2/rev2.h create mode 100644 keyboards/kudox_game/rev2/rules.mk diff --git a/keyboards/kudox_game/info.json b/keyboards/kudox_game/info.json index 42932601a..0862dade5 100644 --- a/keyboards/kudox_game/info.json +++ b/keyboards/kudox_game/info.json @@ -18,8 +18,8 @@ {"label":"E", "x":3.75, "y":1}, {"label":"R", "x":4.75, "y":1}, {"label":"T", "x":5.75, "y":1}, - {"label":"GUI", "x":0, "y":2}, - {"label":"Alt", "x":1, "y":2}, + {"label":"Ctrl-C", "x":0, "y":2}, + {"label":"Ctrl-V", "x":1, "y":2}, {"label":"A", "x":2, "y":2}, {"label":"S", "x":3, "y":2}, {"label":"D", "x":4, "y":2}, diff --git a/keyboards/kudox_game/keymaps/default/keymap.c b/keyboards/kudox_game/keymaps/default/keymap.c index cf6b1dfc5..d7efeaed0 100644 --- a/keyboards/kudox_game/keymaps/default/keymap.c +++ b/keyboards/kudox_game/keymaps/default/keymap.c @@ -6,20 +6,26 @@ // entirely and just use numbers. #define _QWERTY 0 #define _SYMB 1 +#define _LIGHT 2 // Shortcut to make keymap more readable #define SYM_L MO(_SYMB) #define KC_ALEN LALT_T(KC_ENT) +#define ES_LIGH LT(_LIGHT, KC_ESC) + +#define CT_COPY LCTL(KC_C) +#define CT_PASTE LCTL(KC_V) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , + ES_LIGH ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , //└────────┼────────┼────────┼────────┼────────┼────────┤ KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , //┌────────┼────────┼────────┼────────┼────────┼────────┼────────┐ - KC_LGUI ,KC_ALEN ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , + CT_COPY ,CT_PASTE,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V , //├────────┼────────┘ └────────┴────────┼────────┼────────┐ @@ -35,10 +41,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┼────────┼────────┼────────┼────────┼────────┼────────┐ _______ ,_______ ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_LBRC ,KC_RBRC , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ - _______ ,KC_BSPC ,KC_CIRC ,KC_LPRN ,KC_RPRN , + _______ ,KC_BSPC ,KC_DEL ,KC_LPRN ,KC_RPRN , //├────────┼────────┘ └────────┴────────┼────────┼────────┐ _______ ,_______ ,_______ //└────────┘ └────────┴────────┘ + ), + + [_LIGHT] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ + _______ ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI , + //└────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_M_P ,RGB_M_SW,RGB_M_X ,RGB_M_B ,RGB_VAD , + //┌────────┼────────┼────────┼────────┼────────┼────────┼────────┐ + _______ ,_______ ,RGB_M_SN,RGB_M_G ,RGB_M_R ,RGB_M_K ,RGB_M_T , + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ + _______ ,RGB_M_T ,XXXXXXX ,RGB_VAI ,RGB_VAD , + //├────────┼────────┘ └────────┴────────┼────────┼────────┐ + _______ ,RGB_MOD ,RGB_TOG + //└────────┘ └────────┴────────┘ ) }; + +// Runs just one time when the keyboard initializes. +#ifdef RGBLIGHT_ENABLE +void keyboard_post_init_user(void) { + rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL); +}; +#endif diff --git a/keyboards/kudox_game/kudox_game.h b/keyboards/kudox_game/kudox_game.h index 1da820fc2..c76f086c8 100644 --- a/keyboards/kudox_game/kudox_game.h +++ b/keyboards/kudox_game/kudox_game.h @@ -19,5 +19,8 @@ #ifdef KEYBOARD_kudox_game_rev1 #include "rev1.h" #endif +#ifdef KEYBOARD_kudox_game_rev2 + #include "rev2.h" +#endif #include "quantum.h" diff --git a/keyboards/kudox_game/readme.md b/keyboards/kudox_game/readme.md index 5ad867790..31565a599 100644 --- a/keyboards/kudox_game/readme.md +++ b/keyboards/kudox_game/readme.md @@ -9,18 +9,18 @@

- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo) -- Hardware Supported: Kudox Game PCB rev1.0 w/ Pro Micro +- Hardware Supported: Kudox Game PCB rev1.0 rev2.0 w/ Pro Micro Make example for this keyboard (after setting up your build environment): ```sh -make kudox_game/rev1:default +make kudox_game/rev2:default ``` Example of flashing this keyboard: ```sh -make kudox_game/rev1:default:avrdude +make kudox_game/rev2:default:avrdude ``` See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/kudox_game/rev2/config.h b/keyboards/kudox_game/rev2/config.h new file mode 100644 index 000000000..500f93280 --- /dev/null +++ b/keyboards/kudox_game/rev2/config.h @@ -0,0 +1,91 @@ +/* +Copyright 2019 Kumao Kobo + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x9696 +#define DEVICE_VER 0x0200 +#define MANUFACTURER Kumao Kobo +#define PRODUCT The Kudox Game Keyboard +#define DESCRIPTION Custom keyboard for playing game + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 7 + +// wiring of each half +#define MATRIX_ROW_PINS { D4, D7, E6, B4, B5 } +#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 } +// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5} //uncomment this line and comment line above if you need to reverse left-to-right key order + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +// #define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* serial.c configuration for split keyboard */ +#define SOFT_SERIAL_PIN D0 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D3 + +#undef RGBLED_NUM +#define RGBLED_NUM 7 // Number of LEDs +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 diff --git a/keyboards/kudox_game/rev2/rev2.c b/keyboards/kudox_game/rev2/rev2.c new file mode 100644 index 000000000..32356f8a4 --- /dev/null +++ b/keyboards/kudox_game/rev2/rev2.c @@ -0,0 +1 @@ +#include "kudox_game.h" diff --git a/keyboards/kudox_game/rev2/rev2.h b/keyboards/kudox_game/rev2/rev2.h new file mode 100644 index 000000000..e630a5165 --- /dev/null +++ b/keyboards/kudox_game/rev2/rev2.h @@ -0,0 +1,20 @@ +#pragma once + +#include "../kudox_game.h" + +#include "quantum.h" + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, \ + k11, k12, k13, k14, k15, \ + k20, k21, k22, k23, k24, k25, k26, \ + k30, k31, k34, k35, k36, \ + k40, k45, k46 \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, KC_NO }, \ + { KC_NO, k11, k12, k13, k14, k15, KC_NO }, \ + { k20, k21, k22, k23, k24, k25, k26 }, \ + { k30, k31, KC_NO, KC_NO, k34, k35, k36 }, \ + { k40, KC_NO, KC_NO, KC_NO, KC_NO, k45, k46 } \ +} diff --git a/keyboards/kudox_game/rev2/rules.mk b/keyboards/kudox_game/rev2/rules.mk new file mode 100644 index 000000000..1e3cebb14 --- /dev/null +++ b/keyboards/kudox_game/rev2/rules.mk @@ -0,0 +1 @@ +RGBLIGHT_ENABLE = yes diff --git a/keyboards/kudox_game/rules.mk b/keyboards/kudox_game/rules.mk index d3fa26ee6..63280b38d 100644 --- a/keyboards/kudox_game/rules.mk +++ b/keyboards/kudox_game/rules.mk @@ -31,4 +31,4 @@ AUDIO_ENABLE = no # Audio output on port C6 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -DEFAULT_FOLDER = kudox_game/rev1 +DEFAULT_FOLDER = kudox_game/rev2