~ruther/qmk_firmware

9609ae60a657dd6ed6e5ba9830f41ed3c0039c09 — noroadsleft 6 years ago 2a9856d
[Keyboard] QWERTYYdox refactor (#6446)

* Delete null key

`__` key in keymap.c doesn't actually exist on the physical hardware.
Removed key from keymap.c and removed its argument from the layout macro.

* Delete unused keycode aliases

* Replace layer index definitions with an enum

* Replace redundant numpad keycodes with native aliases

* Use native layer change keycodes instead of aliases

* Visually align the keycodes

It makes the keymap pretty.

* Correct Configurator layout data

* Clean up header files

- convert to pragma once include guard
- remove redundant definitions
- remove commented code blocks

* Delete LAYOUT_kc macro

Was copied from ergotravel; not valid for this keyboard.

* Consolidate rev1 rules.mk settings to keyboard level

Previous codebase enabled Backlight at keyboard level then disabled it at revision level.

* Delete unused rules

* Consolidate config.h settings from keymap level to keyboard level

* Modernize keyboard's config.h file

Aligns the keyboard-level config.h file more closely with the current QMK template for AVR keyboards.
M keyboards/qwertyydox/config.h => keyboards/qwertyydox/config.h +185 -14
@@ 15,8 15,7 @@ You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef REV1_CONFIG_H
#define REV1_CONFIG_H
#pragma once

#include "config_common.h"



@@ 33,6 32,16 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROWS 8
#define MATRIX_COLS 7

/*
 * Keyboard Matrix Assignments
 *
 * Change this to how you wired your keyboard
 * COLS: AVR pins used for columns, left to right
 * ROWS: AVR pins used for rows, top to bottom
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 *
*/
// wiring of each half
#define MATRIX_ROW_PINS { B6, B2, B3, B1 }
#define MATRIX_COL_PINS { F7, F6, F5, C6, D7, D4, D1 }


@@ 40,30 49,139 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
/*
 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
 */
#define SOFT_SERIAL_PIN D0

/* number of backlight levels */
// #define BACKLIGHT_LEVELS 3
// #define BACKLIGHT_PIN E6
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 5

/* Set 0 if debouncing isn't needed */
#define RGB_DI_PIN D6
#ifdef RGB_DI_PIN
    #define RGBLED_NUM 12
    #define RGBLIGHT_HUE_STEP 8
    #define RGBLIGHT_SAT_STEP 8
    #define RGBLIGHT_VAL_STEP 8
    #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
    #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
    /*== all animations enable ==*/
    #define RGBLIGHT_ANIMATIONS
    // /*== or choose animations ==*/
    //     #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
    // /*== customize breathing effect ==*/
    //     /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
    //     #define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
    //     /*==== use exp() and sin() ====*/
    //     #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
    //     #define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST

/* 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

#define BACKLIGHT_PIN E6
#define BACKLIGHT_LEVELS 5
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
 */
// #define GRAVE_ESC_CTRL_OVERRIDE

/* ws2812 RGB LED */
#define RGB_DI_PIN D6
/*
 * Force NKRO
 *
 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
 * makefile for this to work.)
 *
 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
 * until the next keyboard reset.
 *
 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
 * fully operational during normal computer usage.
 *
 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
 * power-up.
 *
 */
//#define FORCE_NKRO

/*
 * Magic Key Options
 *
 * Magic keys are hotkey commands that allow control over firmware functions of
 * the keyboard. They are best used in combination with the HID Listen program,
 * found here: https://www.pjrc.com/teensy/hid_listen.html
 *
 * The options below allow the magic key functionality to be changed. This is
 * useful if your keyboard/keypad is missing keys and you want magic key support.
 *
 */

/* key combination for magic key command */
/* defined by default; to change, uncomment and set to the combination you want */
// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)

#define RGBLED_NUM 12    // Number of LEDs
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false

/* override magic key keymap */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
//#define MAGIC_KEY_HELP           H
//#define MAGIC_KEY_HELP_ALT       SLASH
//#define MAGIC_KEY_DEBUG          D
//#define MAGIC_KEY_DEBUG_MATRIX   X
//#define MAGIC_KEY_DEBUG_KBD      K
//#define MAGIC_KEY_DEBUG_MOUSE    M
//#define MAGIC_KEY_VERSION        V
//#define MAGIC_KEY_STATUS         S
//#define MAGIC_KEY_CONSOLE        C
//#define MAGIC_KEY_LAYER0         0
//#define MAGIC_KEY_LAYER0_ALT     GRAVE
//#define MAGIC_KEY_LAYER1         1
//#define MAGIC_KEY_LAYER2         2
//#define MAGIC_KEY_LAYER3         3
//#define MAGIC_KEY_LAYER4         4
//#define MAGIC_KEY_LAYER5         5
//#define MAGIC_KEY_LAYER6         6
//#define MAGIC_KEY_LAYER7         7
//#define MAGIC_KEY_LAYER8         8
//#define MAGIC_KEY_LAYER9         9
//#define MAGIC_KEY_BOOTLOADER     B
//#define MAGIC_KEY_BOOTLOADER_ALT ESC
//#define MAGIC_KEY_LOCK           CAPS
//#define MAGIC_KEY_EEPROM         E
//#define MAGIC_KEY_EEPROM_CLEAR   BSPACE
//#define MAGIC_KEY_NKRO           N
//#define MAGIC_KEY_SLEEP_LED      Z

#define MOUSEKEY_DELAY             150
#define MOUSEKEY_INTERVAL          20
#define MOUSEKEY_MAX_SPEED         10
#define MOUSEKEY_TIME_TO_MAX       10
#define MOUSEKEY_WHEEL_MAX_SPEED   8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40

/*
 * Feature disable options


@@ 83,4 201,57 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

/*
 * MIDI options
 */

/* Prevent use of disabled MIDI features in the keymap */
//#define MIDI_ENABLE_STRICT 1

/* enable basic MIDI features:
   - MIDI notes can be sent when in Music mode is on
*/
//#define MIDI_BASIC

/* enable advanced MIDI features:
   - MIDI notes can be added to the keymap
   - Octave shift and transpose
   - Virtual sustain, portamento, and modulation wheel
   - etc.
*/
//#define MIDI_ADVANCED

/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1

/*
 * HD44780 LCD Display Configuration
 */
/*
#define LCD_LINES           2     //< number of visible lines of the display
#define LCD_DISP_LENGTH    16     //< visibles characters per line of the display

#define LCD_IO_MODE      1            //< 0: memory mapped mode, 1: IO port mode

#if LCD_IO_MODE
#define LCD_PORT         PORTB        //< port for the LCD lines
#define LCD_DATA0_PORT   LCD_PORT     //< port for 4bit data bit 0
#define LCD_DATA1_PORT   LCD_PORT     //< port for 4bit data bit 1
#define LCD_DATA2_PORT   LCD_PORT     //< port for 4bit data bit 2
#define LCD_DATA3_PORT   LCD_PORT     //< port for 4bit data bit 3
#define LCD_DATA0_PIN    4            //< pin for 4bit data bit 0
#define LCD_DATA1_PIN    5            //< pin for 4bit data bit 1
#define LCD_DATA2_PIN    6            //< pin for 4bit data bit 2
#define LCD_DATA3_PIN    7            //< pin for 4bit data bit 3
#define LCD_RS_PORT      LCD_PORT     //< port for RS line
#define LCD_RS_PIN       3            //< pin  for RS line
#define LCD_RW_PORT      LCD_PORT     //< port for RW line
#define LCD_RW_PIN       2            //< pin  for RW line
#define LCD_E_PORT       LCD_PORT     //< port for Enable line
#define LCD_E_PIN        1            //< pin  for Enable line
#endif
*/

/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
// #define BOOTMAGIC_LITE_COLUMN 0

M keyboards/qwertyydox/info.json => keyboards/qwertyydox/info.json +56 -2
@@ 5,12 5,66 @@
  "url": "",
  "maintainer": "qmk",
  "processor": "atmega32u4",
  "width": 16,
  "width": 16.25,
  "height": 5,
  "layouts": {
    "LAYOUT": {
      "key_count": 53,
      "layout": [{"label":"L00", "x":0, "y":0.375}, {"label":"L01", "x":1, "y":0.25}, {"label":"L02", "x":2, "y":0.125}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0.125}, {"label":"L05", "x":5, "y":0.25}, {"label":"L06", "x":6, "y":0.5}, {"label":"R00", "x":9, "y":0.5}, {"label":"R01", "x":10, "y":0.25}, {"label":"R02", "x":11, "y":0.125}, {"label":"R03", "x":12, "y":0}, {"label":"R04", "x":13, "y":0.125}, {"label":"R05", "x":14, "y":0.25}, {"label":"R06", "x":15, "y":0.375}, {"label":"L10", "x":0, "y":1.375}, {"label":"L11", "x":1, "y":1.25}, {"label":"L12", "x":2, "y":1.125}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1.125}, {"label":"L15", "x":5, "y":1.25}, {"label":"L16", "x":6, "y":1.5}, {"label":"R10", "x":9, "y":1.5}, {"label":"R11", "x":10, "y":1.25}, {"label":"R12", "x":11, "y":1.125}, {"label":"R13", "x":12, "y":1}, {"label":"R14", "x":13, "y":1.125}, {"label":"R15", "x":14, "y":1.25}, {"label":"R16", "x":15, "y":1.375}, {"label":"L20", "x":0, "y":2.375}, {"label":"L21", "x":1, "y":2.25}, {"label":"L22", "x":2, "y":2.125}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2.125}, {"label":"L25", "x":5, "y":2.25}, {"label":"L26", "x":6.5, "y":3}, {"label":"R20", "x":8.5, "y":3}, {"label":"R21", "x":10, "y":2.25}, {"label":"R22", "x":11, "y":2.125}, {"label":"R23", "x":12, "y":2}, {"label":"R24", "x":13, "y":2.125}, {"label":"R25", "x":14, "y":2.25}, {"label":"R26", "x":15, "y":2.375}, {"label":"L30", "x":0, "y":3.375}, {"label":"L31", "x":1, "y":3.25}, {"label":"L32", "x":2, "y":3.125}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":5.5, "y":4}, {"label":"L35", "x":6.5, "y":4}, {"label":"R30", "x":8.5, "y":4}, {"label":"R31", "x":9.5, "y":4}, {"label":"R32", "x":12, "y":3}, {"label":"R33", "x":13, "y":3.125}, {"label":"R34", "x":14, "y":3.25}, {"label":"R35", "x":15, "y":3.375}]
      "layout": [
        {"label":"Tab", "x":0, "y":0},
        {"label":"Q", "x":1, "y":0},
        {"label":"W", "x":2, "y":0},
        {"label":"E", "x":3, "y":0},
        {"label":"R", "x":4, "y":0},
        {"label":"T", "x":5, "y":0},
        {"label":"Y", "x":6, "y":0},
        {"label":"Y", "x":9, "y":0},
        {"label":"U", "x":10, "y":0},
        {"label":"I", "x":11, "y":0},
        {"label":"O", "x":12, "y":0},
        {"label":"P", "x":13, "y":0},
        {"label":"{", "x":14, "y":0},
        {"label":"}", "x":15, "y":0},
        {"label":"Caps Lock", "x":0.25, "y":1},
        {"label":"A", "x":1.25, "y":1},
        {"label":"S", "x":2.25, "y":1},
        {"label":"D", "x":3.25, "y":1},
        {"label":"F", "x":4.25, "y":1},
        {"label":"G", "x":5.25, "y":1},
        {"label":"H", "x":9.25, "y":1},
        {"label":"J", "x":10.25, "y":1},
        {"label":"K", "x":11.25, "y":1},
        {"label":"L", "x":12.25, "y":1},
        {"label":":", "x":13.25, "y":1},
        {"label":"\"", "x":14.25, "y":1},
        {"label":"|", "x":15.25, "y":1},
        {"label":"Shift", "x":0.75, "y":2},
        {"label":"Z", "x":1.75, "y":2},
        {"label":"X", "x":2.75, "y":2},
        {"label":"C", "x":3.75, "y":2},
        {"label":"V", "x":4.75, "y":2},
        {"label":"B", "x":5.75, "y":2},
        {"label":"N", "x":9.75, "y":2},
        {"label":"M", "x":10.75, "y":2},
        {"label":"<", "x":11.75, "y":2},
        {"label":">", "x":12.75, "y":2},
        {"label":"?", "x":13.75, "y":2},
        {"label":"Shift", "x":14.75, "y":2},
        {"label":"Ctrl", "x":0.75, "y":3},
        {"label":"GUI", "x":1.75, "y":3},
        {"label":"Alt", "x":2.75, "y":3},
        {"label":"\"-QWERTY\"", "x":3.75, "y":3},
        {"label":"Enter", "x":4.75, "y":3.33},
        {"label":"Delete", "x":5.75, "y":3.67},
        {"label":"TO(_NUM)", "x":6.75, "y":4},
        {"label":"TO(_NAV)", "x":8.75, "y":4},
        {"label":"Space", "x":9.75, "y":3.67},
        {"label":"Back Space", "x":10.75, "y":3.33},
        {"label":"Left", "x":11.75, "y":3},
        {"label":"Alt", "x":12.75, "y":3},
        {"label":"GUI", "x":13.75, "y":3},
        {"label":"Ctrl", "x":14.75, "y":3}
      ]
    }
  }
}

M keyboards/qwertyydox/keymaps/default/config.h => keyboards/qwertyydox/keymaps/default/config.h +0 -14
@@ 27,17 27,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_LEFT
#define MASTER_RIGHT
// #define EE_HANDS

#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8

#define MOUSEKEY_DELAY             150
#define MOUSEKEY_INTERVAL          20
#define MOUSEKEY_MAX_SPEED         10
#define MOUSEKEY_TIME_TO_MAX       10
#define MOUSEKEY_WHEEL_MAX_SPEED   8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
\ No newline at end of file

M keyboards/qwertyydox/keymaps/default/keymap.c => keyboards/qwertyydox/keymaps/default/keymap.c +16 -24
@@ 2,9 2,12 @@

extern keymap_config_t keymap_config;

#define _QWERTY 0
#define _NUM 1
#define _NAV 2
enum layer_names {
    _QWERTY,
    _NUM,
    _NAV
};

enum custom_keycodes {
  qwerty = SAFE_RANGE,
  nav,


@@ 12,17 15,6 @@ enum custom_keycodes {
  EQL
};

// #define KC_ KC_TRNS
#define __ KC_NO
#define NAV TO(2)
#define NUM TO(1)
#define ALPHA TO(0)
#define NPLUS KC_KP_PLUS
#define NMINUS KC_KP_MINUS
#define NSTAR KC_KP_ASTERISK
#define NSLASH KC_KP_SLASH


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

  [_QWERTY] = LAYOUT(


@@ 31,33 23,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
     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_BSLS,
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
     KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                  __,           KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSPC,
     KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                               KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSPC,
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
     KC_LCTL, KC_LGUI, KC_LALT, qwerty,  KC_ENT,  KC_DEL,  NUM,              NAV,   KC_SPC,  KC_BSPC, KC_LEFT, KC_RALT, KC_RGUI, KC_RCTL
     KC_LCTL, KC_LGUI, KC_LALT, qwerty,  KC_ENT,  KC_DEL,  TO(1),            TO(2),   KC_SPC,  KC_BSPC, KC_LEFT, KC_RALT, KC_RGUI, KC_RCTL
  //`--------+--------+--------+--------+--------+--------+--------/        \--------+--------+--------+--------+--------+--------+--------'
  ),

  [_NUM] = 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, KC_PSCR, KC_NO,
     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_PSCR, KC_NO,
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
      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_NO,
     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_NO,
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
     KC_LSFT, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,                 __,           KC_NO,  KC_PPLS, KC_PMNS,  EQL,    KC_PAST, KC_PSLS,
     KC_LSFT, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,                              KC_NO,   KC_PPLS, KC_PMNS, EQL,     KC_PAST, KC_PSLS,
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
     KC_LCTL,  KC_ESC, KC_NO,    num,    KC_ENT,  KC_LSFT,  NAV,              ALPHA,   KC_SPC,  KC_BSPC, KC_LEFT, KC_RALT, KC_RGUI, KC_RCTL
     KC_LCTL,  KC_ESC, KC_NO,   num,     KC_ENT,  KC_LSFT, TO(2),            TO(0),   KC_SPC,  KC_BSPC, KC_LEFT, KC_RALT, KC_RGUI, KC_RCTL
  //`--------+--------+--------+--------+--------+--------+--------/        \--------+--------+--------+--------+--------+--------+--------'
  ),

    [_NAV] = LAYOUT(
  //,--------+--------+--------+--------+--------+--------+--------.        ,--------+--------+--------+--------+--------+--------+--------.
     KC_ESC,   KC_NO,  KC_ACL0, KC_ACL1, KC_ACL2,  KC_WH_L, KC_WH_R,          KC_ESC,   KC_NO,   KC_UP,   NSLASH,  NSTAR,   NMINUS,  NPLUS,
     KC_ESC,  KC_NO,   KC_ACL0, KC_ACL1, KC_ACL2, KC_WH_L, KC_WH_R,          KC_ESC,  KC_NO,   KC_UP,   KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS,
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
     KC_NO,   KC_Z,    KC_X,    KC_C,    KC_V,    KC_WH_U,                     KC_NO,  KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO,   KC_NO,   KC_NO,
     KC_NO,   KC_Z,    KC_X,    KC_C,    KC_V,    KC_WH_U,                   KC_NO,   KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,   KC_NO,   KC_NO,
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
     KC_INS,  KC_HOME, KC_PGUP, KC_BTN1, KC_BTN2,  KC_WH_D,              __,          KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R,  KC_NO,  KC_NO,
     KC_INS,  KC_HOME, KC_PGUP, KC_BTN1, KC_BTN2, KC_WH_D,                            KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R, KC_NO,   KC_NO,
  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
     KC_DEL,  KC_END,  KC_PGDN,  nav,    KC_LCTL, KC_SPC,  ALPHA,            NUM,    KC_LSFT,   KC_BSPC, KC_NO,   KC_NO,   KC_NO,   RESET
     KC_DEL,  KC_END,  KC_PGDN, nav,     KC_LCTL, KC_SPC,  TO(0),            TO(1),   KC_LSFT, KC_BSPC, KC_NO,   KC_NO,   KC_NO,   RESET
  //`--------+--------+--------+--------+--------+--------+--------/        \--------+--------+--------+--------+--------+--------+--------'
  )
};

M keyboards/qwertyydox/qwertyydox.h => keyboards/qwertyydox/qwertyydox.h +3 -20
@@ 1,24 1,7 @@
#ifndef QWERTYYDOX_H
#define QWERTYYDOX_H
#pragma once

#include "quantum.h"

#ifdef KEYBOARD_qwertyydox_rev1
    #include "rev1.h"
#endif

#include "quantum.h"

// Used to create a keymap using only KC_ prefixed keys
#define LAYOUT_kc( \
    L00, L01, L02, L03, L04, L05, L06,       R00, R01, R02, R03, R04, R05, R06, \
    L10, L11, L12, L13, L14, L15, L16,       R10, R11, R12, R13, R14, R15, R16, \
    L20, L21, L22, L23, L24, L25, L26,       R20, R21, R22, R23, R24, R25, R26, \
    L30, L31, L32, L33,      L34, L35,       R30, R31,      R32, R33, R34, R35  \
    ) \
    LAYOUT( \
        KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##L06,       KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, KC_##R06, \
        KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##L16,       KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, KC_##R16, \
        KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##L26,       KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, KC_##R26, \
        KC_##L30, KC_##L31, KC_##L32, KC_##L33,           KC_##L34, KC_##L35,       KC_##R30, KC_##R31,           KC_##R32, KC_##R33, KC_##R34, KC_##R35  \
    )

#endif
\ No newline at end of file

M keyboards/qwertyydox/rev1/config.h => keyboards/qwertyydox/rev1/config.h +1 -69
@@ 15,72 15,4 @@ You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef REV1_CONFIG_H
#define REV1_CONFIG_H

#include QMK_KEYBOARD_CONFIG_H

/* USB Device descriptor parameter */
#define VENDOR_ID       0xCEEB
#define PRODUCT_ID      0x1256
#define DEVICE_VER      0x0100
#define MANUFACTURER    AYDENandDAD
#define PRODUCT         QWERTYdox Keyboard
#define DESCRIPTION     Split 40 percent keyboard

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

// wiring of each half
#define MATRIX_ROW_PINS { B6, B2, B3, B1 }
#define MATRIX_COL_PINS { F7, F6, F5, C6, D7, D4, D1 }

/* 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

#define BACKLIGHT_PIN E6
#define BACKLIGHT_LEVELS 5

/* ws2812 RGB LED */
#define RGB_DI_PIN D6

#define RGBLED_NUM 12    // Number of LEDs

/*
 * 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

#endif
#pragma once

M keyboards/qwertyydox/rev1/rev1.h => keyboards/qwertyydox/rev1/rev1.h +3 -12
@@ 1,12 1,7 @@
#ifndef REV1_H
#define REV1_H
#pragma once

#include "qwertyydox.h"

//void promicro_bootloader_jmp(bool program);
#include "quantum.h"


#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__


@@ 15,12 10,10 @@
#endif
#endif

//void promicro_bootloader_jmp(bool program);

#define LAYOUT( \
    L00, L01, L02, L03, L04, L05, L06,       R00, R01, R02, R03, R04, R05, R06, \
    L10, L11, L12, L13, L14, L15,            R10, R11, R12, R13, R14, R15, R16, \
    L20, L21, L22, L23, L24, L25,            R20, R21, R22, R23, R24, R25, R26, \
    L20, L21, L22, L23, L24, L25,                 R21, R22, R23, R24, R25, R26, \
    L30, L31, L32, L33, L34, L35, L36,       R30, R31, R32, R33, R34, R35, R36 \
    ) \
    { \


@@ 30,8 23,6 @@
        { L30, L31, L32, L33, L34, L35, L36 }, \
        { R06, R05, R04, R03, R02, R01, R00 }, \
        { R16, R15, R14, R13, R12, R11, R10 }, \
        { R26, R25, R24, R23, R22, R21, R20, }, \
        { R26, R25, R24, R23, R22, R21, KC_NO, }, \
        { R36, R35, R34, R33, R32, R31, R30 } \
    }

#endif

M keyboards/qwertyydox/rev1/rules.mk => keyboards/qwertyydox/rev1/rules.mk +0 -1
@@ 1,1 0,0 @@
BACKLIGHT_ENABLE = no

M keyboards/qwertyydox/rules.mk => keyboards/qwertyydox/rules.mk +1 -3
@@ 52,14 52,12 @@ EXTRAKEY_ENABLE = no       # Audio control and System control(+450)
CONSOLE_ENABLE = no         # Console for debug(+400)
COMMAND_ENABLE = no        # Commands for debug and configuration
NKRO_ENABLE = no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
MIDI_ENABLE = no            # MIDI controls
AUDIO_ENABLE = no           # Audio output on port C6
UNICODE_ENABLE = no         # Unicode
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no       # Enable WS2812 RGB underlight.
SUBPROJECT_rev1 = yes
USE_I2C = yes               # I2C is used between the sides
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend