~ruther/qmk_firmware

093d5c9991c42ec428d89aeec24c6df2200ff7b3 — Derek Hsu 3 years ago 51be57c
[Keyboard] Add Runner3680 with 5x6+5x8 layout (#14617)

* [Keyboard] Add Runner3680 keyboard with 5x6 + 5x8 layout

* [Keymap] Use general audio key codes instead of MacOS specific ones

* [Keymap] Add via support

* [Keyboard] Add config for RGB Matrix feature for runner3680 5x6+5x8 layout

* Add license to .c and .h files

* Remove unused code

* [Keymap] Rename 'JIS' directory to be lower cased

* [Keyboard] Explicitly define enabled RGB lighting effects for Runner3680

* [Keyboard] Remove unused code of Runner3680

* [Keyboard] Move RGB Matrix related config to keyboard's rules.mk file

* [Keymap] Clean up default keymaps of Runner3680
A keyboards/runner3680/5x6_5x8/.noci => keyboards/runner3680/5x6_5x8/.noci +0 -0
A keyboards/runner3680/5x6_5x8/5x6_5x8.c => keyboards/runner3680/5x6_5x8/5x6_5x8.c +52 -0
@@ 0,0 1,52 @@
/* Copyright 2021 omkbd
 *
 * 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/>.
 */

#include "5x6_5x8.h"

#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
  // Key Matrix to LED Index
  { NO_LED, NO_LED, 5, 4, 3, 2, 1, 0 },
  { NO_LED, NO_LED, 6, 7, 8, 9, 10, 11 },
  { NO_LED, NO_LED, 17, 16, 15, 14, 13, 12 },
  { NO_LED, NO_LED, 18, 19, 20, 21, 22, 23 },
  { NO_LED, NO_LED, 29, 28, 27, 26, 25, 24 },
  { 37, 36, 35, 34, 33, 32, 31, 30 },
  { 38, 39, 40, 41, 42, 43, 44, 45 },
  { 53, 52, 51, 50, 49, 48, 47, 46 },
  { 54, 55, 56, 57, 58, 59, 60, 61 },
  { 69, 68, 67, 66, 65, 64, 63, 62 }
}, {
  // LED Index to Physical Position
  { 86, 0 }, { 69, 0 }, { 52, 0 }, { 34, 0 }, { 17, 0 }, { 0, 0 },
  { 0, 16 }, { 17, 16 }, { 34, 16 }, { 52, 16 }, { 69, 16 }, { 86, 16 },
  { 86, 32 }, { 69, 32 }, { 52, 32 }, { 34, 32 }, { 17, 32 }, { 0, 32 },
  { 0, 48 }, { 17, 48 }, { 34, 48 }, { 52, 48 }, { 69, 48 }, { 86, 48 },
  { 86, 64 }, { 69, 64 }, { 52, 64 }, { 34, 64 }, { 17, 64 }, { 0, 64 },
  { 103, 0 }, { 121, 0 }, { 138, 0 }, { 155, 0 }, { 172, 0 }, { 190, 0 }, { 207, 0 }, { 224, 0 },
  { 224, 16 }, { 207, 16 }, { 190, 16 }, { 172, 16 }, { 155, 16 }, { 138, 16 }, { 121, 16 }, { 103, 16 },
  { 103, 32 }, { 121, 32 }, { 138, 32 }, { 155, 32 }, { 172, 32 }, { 190, 32 }, { 207, 32 }, { 224, 32 },
  { 224, 48 }, { 207, 48 }, { 190, 48 }, { 172, 48 }, { 155, 48 }, { 138, 48 }, { 121, 48 }, { 103, 48 },
  { 103, 64 }, { 121, 64 }, { 138, 64 }, { 155, 64 }, { 172, 64 }, { 190, 64 }, { 207, 64 }, { 224, 64 }
}, {
  // LED Index to Flag
  LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
  LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
  LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
  LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
  LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL
} };
#endif

A keyboards/runner3680/5x6_5x8/5x6_5x8.h => keyboards/runner3680/5x6_5x8/5x6_5x8.h +41 -0
@@ 0,0 1,41 @@
/* Copyright 2021 omkbd
 *
 * 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 "runner3680.h"

#include "quantum.h"

#define LAYOUT( \
   L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R07, \
   L12, L13, L14, L15, L16, L17, R10, R11, R12, R13, R14, R15, R16, R17, \
   L22, L23, L24, L25, L26, L27, R20, R21, R22, R23, R24, R25, R26, R27, \
   L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \
   L42, L43, L44, L45, L46, L47, R40, R41, R42, R43, R44, R45, R46, R47  \
   ) \
   { \
     { KC_NO, KC_NO, L02, L03, L04, L05, L06, L07 }, \
     { KC_NO, KC_NO, L12, L13, L14, L15, L16, L17 }, \
     { KC_NO, KC_NO, L22, L23, L24, L25, L26, L27 }, \
     { KC_NO, KC_NO, L32, L33, L34, L35, L36, L37 }, \
     { KC_NO, KC_NO, L42, L43, L44, L45, L46, L47 }, \
     { R07, R06, R05, R04, R03, R02, R01, R00 }, \
     { R17, R16, R15, R14, R13, R12, R11, R10 }, \
     { R27, R26, R25, R24, R23, R22, R21, R20 }, \
     { R37, R36, R35, R34, R33, R32, R31, R30 }, \
     { R47, R46, R45, R44, R43, R42, R41, R40 } \
   }

A keyboards/runner3680/5x6_5x8/config.h => keyboards/runner3680/5x6_5x8/config.h +84 -0
@@ 0,0 1,84 @@
/* Copyright 2021 omkbd
 *
 * 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

/* USB Device descriptor parameter */
#define VENDOR_ID       0x3680
#define PRODUCT_ID      0x5658
#define DEVICE_VER      0x0005
#define MANUFACTURER    Omkbd
#define PRODUCT         runner3680

/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
#define MATRIX_COLS 8

// wiring of each half
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5

/* 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
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLED_NUM 70
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT { 30, 40 }    // Number of LEDs
#define RGBLIGHT_LIMIT_VAL 100
#endif
#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_SPLIT { 30, 40 }    // Number of LEDs
#endif

#define SOFT_SERIAL_PIN D2
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps

A keyboards/runner3680/5x6_5x8/info.json => keyboards/runner3680/5x6_5x8/info.json +85 -0
@@ 0,0 1,85 @@
{
    "keyboard_name": "runner3680 5x6+5x8",
    "url": "",
    "maintainer": "omkbd",
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"x":0, "y":0},
                {"x":1, "y":0},
                {"x":2, "y":0},
                {"x":3, "y":0},
                {"x":4, "y":0},
                {"x":5, "y":0},
                {"x":7, "y":0},
                {"x":8, "y":0},
                {"x":9, "y":0},
                {"x":10, "y":0},
                {"x":11, "y":0},
                {"x":12, "y":0},
                {"x":13, "y":0},
                {"x":14, "y":0},

                {"x":0, "y":1},
                {"x":1, "y":1},
                {"x":2, "y":1},
                {"x":3, "y":1},
                {"x":4, "y":1},
                {"x":5, "y":1},
                {"x":7, "y":1},
                {"x":8, "y":1},
                {"x":9, "y":1},
                {"x":10, "y":1},
                {"x":11, "y":1},
                {"x":12, "y":1},
                {"x":13, "y":1},
                {"x":14, "y":1},

                {"x":0, "y":2},
                {"x":1, "y":2},
                {"x":2, "y":2},
                {"x":3, "y":2},
                {"x":4, "y":2},
                {"x":5, "y":2},
                {"x":7, "y":2},
                {"x":8, "y":2},
                {"x":9, "y":2},
                {"x":10, "y":2},
                {"x":11, "y":2},
                {"x":12, "y":2},
                {"x":13, "y":2},
                {"x":14, "y":2},

                {"x":0, "y":3},
                {"x":1, "y":3},
                {"x":2, "y":3},
                {"x":3, "y":3},
                {"x":4, "y":3},
                {"x":5, "y":3},
                {"x":7, "y":3},
                {"x":8, "y":3},
                {"x":9, "y":3},
                {"x":10, "y":3},
                {"x":11, "y":3},
                {"x":12, "y":3},
                {"x":13, "y":3},
                {"x":14, "y":3},

                {"x":0, "y":4},
                {"x":1, "y":4},
                {"x":2, "y":4},
                {"x":3, "y":4},
                {"x":4, "y":4},
                {"x":5, "y":4},
                {"x":7, "y":4},
                {"x":8, "y":4},
                {"x":9, "y":4},
                {"x":10, "y":4},
                {"x":11, "y":4},
                {"x":12, "y":4},
                {"x":13, "y":4},
                {"x":14, "y":4}
            ]
        }
    }
}

A keyboards/runner3680/5x6_5x8/keymaps/default/config.h => keyboards/runner3680/5x6_5x8/keymaps/default/config.h +25 -0
@@ 0,0 1,25 @@
/* Copyright 2021 omkbd
 *
 * 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

//#define USE_MATRIX_I2C

/* Select hand configuration */

#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS

A keyboards/runner3680/5x6_5x8/keymaps/default/keymap.c => keyboards/runner3680/5x6_5x8/keymaps/default/keymap.c +71 -0
@@ 0,0 1,71 @@
/* Copyright 2021 omkbd
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H

enum layer_number {
    _QWERTY = 0,
    _ADJUST
};

// Fillers to make layering more clear
#define EISU LALT(KC_GRV)
#define ADJUST MO(_ADJUST)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    /* QWERTY
     * ,-----------------------------------------.      ,--------------------------------------------------------.
     * |   `  |   1  |   2  |   3  |   4  |   5  |      |   6  |   7  |   8  |   9  |   0  |   -  |   =  | Del  |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Tab  |   Q  |   W  |   E  |   R  |   T  |      |   Y  |   U  |   I  |   O  |   P  |   [  |   ]  | Bksp |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Esc  |   A  |   S  |   D  |   F  |   G  |      |   H  |   J  |   K  |   L  |   ;  |   "  | Enter| Enter|
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Shift|   Z  |   X  |   C  |   V  |   B  |      |   N  |   M  |   ,  |   .  |   /  |   \  |  Up  | Shift|
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Ctrl | GUI  | Alt  | EISU |  Del | Space|      | Enter| Bksp | EISU |  ESC |Adjust| Left | Down | Right|
     * `-----------------------------------------'      `-------------------------------------------------------'
     */
  [_QWERTY] = LAYOUT(
      KC_GRV,  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_DEL,
      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_BSPC,
      KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,       KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,  KC_ENT,
      KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,       KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_BSLS, KC_UP,   KC_RSFT,
      KC_LCTL, KC_LGUI, KC_LALT, EISU,    KC_DEL,  KC_SPC,     KC_ENT,  KC_BSPC, EISU,    KC_ESC,  ADJUST,  KC_LEFT, KC_DOWN, KC_RGHT
      ),

    /* Adjust
     * ,-----------------------------------------.      ,--------------------------------------------------------.
     * |      |   F1 |   F2 |   F3 |   F4 |   F5 |      |   F6 |   F7 |   F8 |   F9 |  F10 |  F11 |  F12 |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |  TOG |  HUI |  SAI |  VAI |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |  MOD |  HUD |  SAD |  VAD |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
     * `-----------------------------------------'      `-------------------------------------------------------'
     */
  [_ADJUST] =  LAYOUT(
      _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,      KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______,
      _______, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, _______, _______, _______
      )
};

A keyboards/runner3680/5x6_5x8/keymaps/derekhsu/config.h => keyboards/runner3680/5x6_5x8/keymaps/derekhsu/config.h +26 -0
@@ 0,0 1,26 @@
/* Copyright 2021 omkbd
 *
 * 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

#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
//#define USE_MATRIX_I2C

/* Select hand configuration */

// #define MASTER_LEFT
// #define MASTER_RIGHT
#define EE_HANDS

A keyboards/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c => keyboards/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c +60 -0
@@ 0,0 1,60 @@
/* Copyright 2021 omkbd
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H

enum layer_number {
    _QWERTY = 0,
    _NAV,
    _SYMBOL,
    _MEDIA
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

 [_QWERTY] = LAYOUT(
    KC_GRV,  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_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_ESC,  KC_A,    KC_S,    KC_D,  KC_F,  KC_G,          KC_H,   KC_J,  KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,  KC_ENT,
    KC_LSFT, KC_Z,    KC_X,    KC_C,  KC_V,  KC_B,          KC_N,   KC_M,  KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_UP,   KC_DEL,
    KC_LCTL, KC_LALT, KC_LGUI, MO(2), MO(1), KC_SPC,        KC_SPC, MO(1), MO(2),   KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
),

[_NAV] = LAYOUT(
    KC_ESC,  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_DEL,
    KC_TRNS, KC_NO,   KC_UP,   KC_NO,   KC_NO,   KC_NO,         KC_NO,   KC_NO,   KC_UP,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
    KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,   KC_NO,         KC_NO,   KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,   KC_NO,   KC_TRNS, KC_TRNS,
    KC_TRNS, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,         KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_TRNS, KC_PGUP, KC_TRNS,
    KC_TRNS, KC_TRNS, KC_TRNS, MO(3),   KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS, MO(3),   KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
),

[_SYMBOL] = LAYOUT(
    KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC,          KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_BSPC,
    KC_TRNS, KC_NO,   KC_P7, KC_P8,   KC_P9,  KC_NO,            KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_NO,   KC_LCBR, KC_RCBR, KC_PIPE,
    KC_ESC,  KC_NO,   KC_P4, KC_P5,   KC_P6,  KC_NO,            KC_LCBR, KC_RCBR, KC_MINS, KC_EQL,  KC_COLN, KC_DQUO, KC_TRNS, KC_TRNS,
    KC_TRNS, KC_NO,   KC_P1, KC_P2,   KC_P3,  KC_NO,            KC_LBRC, KC_RBRC, KC_LT,   KC_GT,   KC_QUES, KC_TRNS, KC_UP,   KC_TRNS,
    KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, MO(3),  KC_TRNS,          KC_TRNS, MO(3),   KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT
),

[_MEDIA] = LAYOUT(
    KC_NO,   KC_SLCK,  KC_PAUS, KC_NO,    KC_NO,   RGB_VAD,         RGB_VAI, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO,
    RGB_TOG, RGB_MOD,  RGB_HUI, RGB_SAI,  RGB_VAI, RGB_SPI,         KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_MPLY, KC_NO,   KC_NO,   KC_NO,
    KC_NO,   RGB_RMOD, RGB_HUD, RGB_SAD,  RGB_VAD, RGB_SPD,         KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
    KC_NO,   RGB_M_P,  RGB_M_B, RGB_M_SW, RGB_M_G, KC_NO,           KC_NO,   KC_MUTE, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_VOLU, KC_NO,
    KC_NO,   KC_NO,    KC_NO,   KC_TRNS,  KC_TRNS, KC_NO,           KC_NO,   KC_TRNS, KC_TRNS, KC_NO,   KC_NO,   KC_MRWD, KC_VOLD, KC_MFFD
)

};

A keyboards/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk => keyboards/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk +3 -0
@@ 0,0 1,3 @@
RGB_MATRIX_ENABLE = yes
EXTRAKEY_ENABLE = yes
VIA_ENABLE = yes

A keyboards/runner3680/5x6_5x8/keymaps/jis/config.h => keyboards/runner3680/5x6_5x8/keymaps/jis/config.h +25 -0
@@ 0,0 1,25 @@
/* Copyright 2021 omkbd
 *
 * 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

//#define USE_MATRIX_I2C

/* Select hand configuration */

#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS

A keyboards/runner3680/5x6_5x8/keymaps/jis/keymap.c => keyboards/runner3680/5x6_5x8/keymaps/jis/keymap.c +72 -0
@@ 0,0 1,72 @@
/* Copyright 2021 omkbd
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H
#include "keymap_jp.h"

enum layer_number {
    _QWERTY = 0,
    _ADJUST
};

// Fillers to make layering more clear
#define EISU LALT(KC_GRV)
#define ADJUST MO(_ADJUST)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    /* QWERTY
     * ,-----------------------------------------.      ,--------------------------------------------------------.
     * | EISU |   1  |   2  |   3  |   4  |   5  |      |   6  |   7  |   8  |   9  |   0  |   -  |   ^  |   \  |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Tab  |   Q  |   W  |   E  |   R  |   T  |      |   Y  |   U  |   I  |   O  |   P  |   @  |   [  | Bksp |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Esc  |   A  |   S  |   D  |   F  |   G  |      |   H  |   J  |   K  |   L  |   :  |   ;  |   ]  | Enter|
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Shift|   Z  |   X  |   C  |   V  |   B  |      |   N  |   M  |   ,  |   .  |   /  |   \  |  Up  | Shift|
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Ctrl | GUI  | Alt  | MHEN |  Del | Space|      | Enter| Bksp | HENK |Adjust|  F10 | Left | Down | Right|
     * `-----------------------------------------'      `-------------------------------------------------------'
     */
  [_QWERTY] = LAYOUT(
      JP_ZKHK, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,       KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, JP_CIRC, JP_YEN,
      KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,       KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    JP_AT,   JP_LBRC, KC_BSPC,
      KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,       KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, JP_COLN, JP_RBRC, KC_ENT,
      KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,       KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, JP_BSLS, KC_UP,   KC_RSFT,
      KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_DEL,  KC_SPC,     KC_ENT,  KC_BSPC, KC_HENK, ADJUST,  KC_F10,  KC_LEFT, KC_DOWN, KC_RGHT
      ),

    /* Adjust
     * ,-----------------------------------------.      ,--------------------------------------------------------.
     * |      |   F1 |   F2 |   F3 |   F4 |   F5 |      |   F6 |   F7 |   F8 |   F9 |  F10 |  F11 |  F12 |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |  TOG |  HUI |  SAI |  VAI |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |  MOD |  HUD |  SAD |  VAD |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
     * `-----------------------------------------'      `-------------------------------------------------------'
     */
  [_ADJUST] =  LAYOUT(
      _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,      KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______,
      _______, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, _______, _______, _______
      )
};

A keyboards/runner3680/5x6_5x8/keymaps/via/config.h => keyboards/runner3680/5x6_5x8/keymaps/via/config.h +25 -0
@@ 0,0 1,25 @@
/* Copyright 2021 omkbd
 *
 * 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

//#define USE_MATRIX_I2C

/* Select hand configuration */

#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS

A keyboards/runner3680/5x6_5x8/keymaps/via/keymap.c => keyboards/runner3680/5x6_5x8/keymaps/via/keymap.c +71 -0
@@ 0,0 1,71 @@
/* Copyright 2021 omkbd
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H

enum layer_number {
    _QWERTY = 0,
    _ADJUST
};

// Fillers to make layering more clear
#define EISU LALT(KC_GRV)
#define ADJUST MO(_ADJUST)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    /* QWERTY
     * ,-----------------------------------------.      ,--------------------------------------------------------.
     * |   `  |   1  |   2  |   3  |   4  |   5  |      |   6  |   7  |   8  |   9  |   0  |   -  |   =  | Del  |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Tab  |   Q  |   W  |   E  |   R  |   T  |      |   Y  |   U  |   I  |   O  |   P  |   [  |   ]  | Bksp |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Esc  |   A  |   S  |   D  |   F  |   G  |      |   H  |   J  |   K  |   L  |   ;  |   "  | Enter| Enter|
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Shift|   Z  |   X  |   C  |   V  |   B  |      |   N  |   M  |   ,  |   .  |   /  |   \  |  Up  | Shift|
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * | Ctrl | GUI  | Alt  | EISU |  Del | Space|      | Enter| Bksp | EISU |  ESC |Adjust| Left | Down | Right|
     * `-----------------------------------------'      `-------------------------------------------------------'
     */
  [_QWERTY] = LAYOUT(
      KC_GRV,  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_DEL,
      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_BSPC,
      KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,       KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,  KC_ENT,
      KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,       KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_BSLS, KC_UP,   KC_RSFT,
      KC_LCTL, KC_LGUI, KC_LALT, EISU,    KC_DEL,  KC_SPC,     KC_ENT,  KC_BSPC, EISU,    KC_ESC,  ADJUST,  KC_LEFT, KC_DOWN, KC_RGHT
      ),

    /* Adjust
     * ,-----------------------------------------.      ,--------------------------------------------------------.
     * |      |   F1 |   F2 |   F3 |   F4 |   F5 |      |   F6 |   F7 |   F8 |   F9 |  F10 |  F11 |  F12 |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |  TOG |  HUI |  SAI |  VAI |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |  MOD |  HUD |  SAD |  VAD |      |      |      |      |      |      |      |      |      |      |
     * |------+------+------+------+------+------|      |------+------+------+------+------+------+------+------|
     * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
     * `-----------------------------------------'      `-------------------------------------------------------'
     */
  [_ADJUST] =  LAYOUT(
      _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,      KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______,
      _______, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,    _______, _______, _______, _______, _______, _______, _______, _______,
      _______, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, _______, _______, _______
      )
};

A keyboards/runner3680/5x6_5x8/keymaps/via/rules.mk => keyboards/runner3680/5x6_5x8/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes

A keyboards/runner3680/5x6_5x8/rules.mk => keyboards/runner3680/5x6_5x8/rules.mk +1 -0
@@ 0,0 1,1 @@
RGB_MATRIX_DRIVER = WS2812

M keyboards/runner3680/runner3680.h => keyboards/runner3680/runner3680.h +4 -0
@@ 14,6 14,10 @@
  #include "5x6.h"
#endif

#ifdef KEYBOARD_runner3680_5x6_5x8
  #include "5x6_5x8.h"
#endif

#ifdef KEYBOARD_runner3680_4x8
  #include "4x8.h"
#endif