~ruther/qmk_firmware

b55154fb0ad40d895ccc11bb09498f026e0c0773 — James Young 4 years ago c0eab2a
neson design/n6: Extended Community Layout Support and Layout Macro Fix (#14266)

M keyboards/neson_design/n6/info.json => keyboards/neson_design/n6/info.json +81 -2
@@ 2,8 2,11 @@
    "keyboard_name": "n6",
    "url": "",
    "maintainer": "qmk",
    "width": 15,
    "width": 16,
    "height": 5,
    "layout_aliases": {
        "LAYOUT_65_ansi_blocker_splitbs": "LAYOUT_65_ansi_blocker_split_bs"
    },
    "layouts": {
        "LAYOUT_65_ansi_blocker": {
            "layout": [


@@ 79,6 82,82 @@
                { "x":14, "y":4 },
                { "x":15, "y":4 }
            ]
        },
        "LAYOUT_65_ansi_blocker_split_bs": {
            "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":6, "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":15, "y":0},

                {"x":0, "y":1, "w":1.5},
                {"x":1.5, "y":1},
                {"x":2.5, "y":1},
                {"x":3.5, "y":1},
                {"x":4.5, "y":1},
                {"x":5.5, "y":1},
                {"x":6.5, "y":1},
                {"x":7.5, "y":1},
                {"x":8.5, "y":1},
                {"x":9.5, "y":1},
                {"x":10.5, "y":1},
                {"x":11.5, "y":1},
                {"x":12.5, "y":1},
                {"x":13.5, "y":1, "w":1.5},
                {"x":15, "y":1},

                {"x":0, "y":2, "w":1.75},
                {"x":1.75, "y":2},
                {"x":2.75, "y":2},
                {"x":3.75, "y":2},
                {"x":4.75, "y":2},
                {"x":5.75, "y":2},
                {"x":6.75, "y":2},
                {"x":7.75, "y":2},
                {"x":8.75, "y":2},
                {"x":9.75, "y":2},
                {"x":10.75, "y":2},
                {"x":11.75, "y":2},
                {"x":12.75, "y":2, "w":2.25},
                {"x":15, "y":2},

                {"x":0, "y":3, "w":2.25},
                {"x":2.25, "y":3},
                {"x":3.25, "y":3},
                {"x":4.25, "y":3},
                {"x":5.25, "y":3},
                {"x":6.25, "y":3},
                {"x":7.25, "y":3},
                {"x":8.25, "y":3},
                {"x":9.25, "y":3},
                {"x":10.25, "y":3},
                {"x":11.25, "y":3},
                {"x":12.25, "y":3, "w":1.75},
                {"x":14, "y":3},
                {"x":15, "y":3},

                {"x":0, "y":4, "w":1.25},
                {"x":1.25, "y":4, "w":1.25},
                {"x":2.5, "y":4, "w":1.25},
                {"x":3.75, "y":4, "w":6.25},
                {"x":10, "y":4, "w":1.25},
                {"x":11.25, "y":4, "w":1.25},
                {"x":13, "y":4},
                {"x":14, "y":4},
                {"x":15, "y":4}
            ]
        }
    }
  }
}

M keyboards/neson_design/n6/keymaps/default/keymap.c => keyboards/neson_design/n6/keymaps/default/keymap.c +2 -2
@@ 18,14 18,14 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_65_ansi_blocker_splitbs(
    [0] = LAYOUT_65_ansi_blocker_split_bs(
      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_DEL, KC_BSPC, KC_PSCR,
      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_HOME,
      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_ENT,          KC_END,
      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,   MO(1),
      KC_LCTL,  KC_LGUI,  KC_LALT,                        KC_SPC,                  KC_RALT,KC_RGUI,                KC_LEFT,KC_DOWN, KC_RIGHT),

    [1] = LAYOUT_65_ansi_blocker_splitbs(
    [1] = LAYOUT_65_ansi_blocker_split_bs(
      _______,  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,_______,
      RESET,          RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,_______,
      _______,        _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,        _______,_______,

M keyboards/neson_design/n6/keymaps/via/keymap.c => keyboards/neson_design/n6/keymaps/via/keymap.c +4 -4
@@ 18,28 18,28 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_65_ansi_blocker_splitbs(
    [0] = LAYOUT_65_ansi_blocker_split_bs(
      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_DEL, KC_BSPC, KC_PSCR,
      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_HOME,
      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_ENT,          KC_END,
      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,   MO(1),
      KC_LCTL,  KC_LGUI,  KC_LALT,                        KC_SPC,                  KC_RALT,KC_RGUI,                KC_LEFT,KC_DOWN, KC_RIGHT),

    [1] = LAYOUT_65_ansi_blocker_splitbs(
    [1] = LAYOUT_65_ansi_blocker_split_bs(
      _______,  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,_______,
      RESET,  RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,        _______,
      _______,        _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______,        _______,
      _______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,        _______,_______,
      _______,_______,_______,                        _______,                        _______,_______,        _______,_______,_______),

    [2] = LAYOUT_65_ansi_blocker_splitbs(
    [2] = LAYOUT_65_ansi_blocker_split_bs(
      _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
      _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
      _______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
      _______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
      _______,_______,_______,                        _______,                        _______,_______,  TG(0),_______,_______),

    [3] = LAYOUT_65_ansi_blocker_splitbs(
    [3] = LAYOUT_65_ansi_blocker_split_bs(
      _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
      _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
      _______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,

M keyboards/neson_design/n6/n6.h => keyboards/neson_design/n6/n6.h +46 -25
@@ 1,7 1,7 @@
/**
  * @file n6.h
  *
    Copyright 2021 astro 
    Copyright 2021 astro

    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


@@ 20,35 20,56 @@

#include "quantum.h"

// This a shortcut to help you visually see your layout.
// The first section contains all of the arguements
// The second converts the arguments into a two-dimensional array
#define ___ KC_NO

/*                                                     ┌───────┐
 *                                        2u Backspace │0E     │
 *                                                     └───────┘
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │1E │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │2E │
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
 * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C    │3D │3E │
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
 * │40  │41  │42  │48                      │49  │4A  │ │4B │4C │4D │
 * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
 * ┌─────┬───┬─────┬───────────────────────────┬─────┬─┬───┬───┬───┐
 * │40   │41 │42   │48                         │4A   │ │4B │4C │4D │ Tsangan
 * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘
 * ┌─────┬──┬─────┬───────────────────────────┬─────┬──┬───┬───┬───┐
 * │40   │  │42   │48                         │4A   │  │4B │4C │4D │ WKL
 * └─────┘  └─────┴───────────────────────────┴─────┘  └───┴───┴───┘
 */

#define LAYOUT_65_ansi_blocker( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,      K0E, K0F, \
    K10,      K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
    K20,      K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,      K2F, \
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3E, K3F, \
    K40, K41,      K43,           K46,                K4A, K4B,      K4D, K4E, K4F  \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, K2E, \
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
    K40, K41, K42,                K48,           K49, K4A,      K4B, K4C, K4D  \
) \
{ \
    { K00, K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09, K0A, K0B,   K0C, KC_NO, K0E }, \
    { K10, K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A, K1B, K1C,   K1D,   K1E, K1F }, \
    { K20, K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A, K2B, K2C, KC_NO,   K2D, K2F }, \
    { K30, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39, K3A, K3B,   K3D,   K3E, K3F }, \
    { K40, K41,   K43, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,   K46,   K4A, K4B, K4D,   K4E,   K4F, K0F }, \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E }, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E }, \
    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
    { K40, K41, K42, ___, ___, ___, ___, ___, K48, K49, K4A, K4B, K4C, K4D, K4E }, \
}

#define LAYOUT_65_ansi_blocker_splitbs( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
    K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,      K1E, K1F, \
    K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      K2D,      K2F, \
    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,      K3E, K3F, \
    K40, K41,      K43,           K46,                K4A, K4B,      K4D, K4E, K4F  \
#define LAYOUT_65_ansi_blocker_split_bs( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, K2E, \
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
    K40, K41, K42,                K48,           K49, K4A,      K4B, K4C, K4D  \
) \
{ \
    { K00, K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09, K0A, K0B,   K0C, K0E, K0E }, \
    { K10, K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A, K1B, K1C,   K1D, K1E, K1F }, \
    { K20, K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A, K2B, K2C, KC_NO, K2D, K2F }, \
    { K30, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39, K3A, K3B,   K3D, K3E, K3F }, \
    { K40, K41,   K43, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,   K46,   K4A, K4B, K4D,   K4E, K4F, K0F }, \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E }, \
    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
    { K40, K41, K42, ___, ___, ___, ___, ___, K48, K49, K4A, K4B, K4C, K4D, K4E }, \
}

M keyboards/neson_design/n6/rules.mk => keyboards/neson_design/n6/rules.mk +1 -1
@@ 20,4 20,4 @@ BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes		# Enable keyboard RGB underglow

QUANTUM_LIB_SRC += i2c_master.c drivers/led/issi/is31fl3731.c
LAYOUTS = 65_ansi_blocker
LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs