~ruther/qmk_firmware

3587e20e7016792846d351925706da04e9442420 — くまお工房 5 years ago 963bba1
[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.
M keyboards/kudox_game/info.json => keyboards/kudox_game/info.json +2 -2
@@ 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},

M keyboards/kudox_game/keymaps/default/keymap.c => keyboards/kudox_game/keymaps/default/keymap.c +30 -3
@@ 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

M keyboards/kudox_game/kudox_game.h => keyboards/kudox_game/kudox_game.h +3 -0
@@ 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"

M keyboards/kudox_game/readme.md => keyboards/kudox_game/readme.md +3 -3
@@ 9,18 9,18 @@
</p>

- 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).

A keyboards/kudox_game/rev2/config.h => keyboards/kudox_game/rev2/config.h +91 -0
@@ 0,0 1,91 @@
/*
Copyright 2019 Kumao Kobo <kumaokobo@gmail.com>

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 <http://www.gnu.org/licenses/>.
*/

#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

A keyboards/kudox_game/rev2/rev2.c => keyboards/kudox_game/rev2/rev2.c +1 -0
@@ 0,0 1,1 @@
#include "kudox_game.h"

A keyboards/kudox_game/rev2/rev2.h => keyboards/kudox_game/rev2/rev2.h +20 -0
@@ 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 } \
}

A keyboards/kudox_game/rev2/rules.mk => keyboards/kudox_game/rev2/rules.mk +1 -0
@@ 0,0 1,1 @@
RGBLIGHT_ENABLE = yes

M keyboards/kudox_game/rules.mk => keyboards/kudox_game/rules.mk +1 -1
@@ 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