~ruther/qmk_firmware

80d8c4a48325b6b41a46f9445686ad0523aa4ccc — James Young 4 years ago 25f4383 + 6fd9b2f
Merge remote-tracking branch 'upstream/master' into develop
77 files changed, 2851 insertions(+), 726 deletions(-)

M docs/hand_wire.md
M keyboards/alu84/alu84.c
M keyboards/alu84/alu84.h
M keyboards/alu84/config.h
M keyboards/alu84/info.json
M keyboards/alu84/keymaps/default/keymap.c
M keyboards/alu84/keymaps/turbomech/config.h
M keyboards/alu84/keymaps/turbomech/keymap.c
M keyboards/alu84/keymaps/turbomech/rules.mk
M keyboards/alu84/readme.md
M keyboards/alu84/rules.mk
M keyboards/anomalykb/a65i/a65i.h
M keyboards/anomalykb/a65i/info.json
M keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c
M keyboards/anomalykb/a65i/keymaps/default/keymap.c
M keyboards/anomalykb/a65i/keymaps/iso/keymap.c
M keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c
M keyboards/anomalykb/a65i/keymaps/via/keymap.c
M keyboards/atomic/atomic.c
M keyboards/atomic/atomic.h
M keyboards/atomic/config.h
M keyboards/atomic/info.json
D keyboards/atomic/keymaps/abienz.c
A keyboards/atomic/keymaps/abienz/keymap.c
M keyboards/atomic/keymaps/default/keymap.c
D keyboards/atomic/keymaps/michelle.c
A keyboards/atomic/keymaps/michelle/keymap.c
M keyboards/atomic/keymaps/pvc/keymap.c
R keyboards/atomic/keymaps/{twolayer => twolayer/keymap}.c
M keyboards/atomic/rules.mk
M keyboards/cannonkeys/balance/info.json
M keyboards/cherrybstudio/cb1800/info.json
M keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h
M keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c
M keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md
A keyboards/gmmk/pro/keymaps/jonavin/rgb_matrix_map.h
M keyboards/keebio/quefrency/keymaps/jonavin/config.h
M keyboards/keebio/quefrency/keymaps/jonavin/keymap.c
M keyboards/keebio/quefrency/keymaps/jonavin/readme.md
A keyboards/noxary/378/378.c
A keyboards/noxary/378/378.h
A keyboards/noxary/378/chconf.h
A keyboards/noxary/378/config.h
A keyboards/noxary/378/keymaps/default/keymap.c
A keyboards/noxary/378/keymaps/via/keymap.c
R keyboards/{ramonimbao/mona => noxary/378}/keymaps/via/rules.mk
A keyboards/noxary/378/mcuconf.h
A keyboards/noxary/378/readme.md
A keyboards/noxary/378/rules.mk
M keyboards/ramonimbao/mona/rules.mk
R keyboards/ramonimbao/mona/{ => v1}/config.h
R keyboards/ramonimbao/mona/{ => v1}/info.json
R keyboards/ramonimbao/mona/{ => v1}/keymaps/default/keymap.c
R keyboards/ramonimbao/mona/{ => v1}/keymaps/iso/keymap.c
R keyboards/ramonimbao/mona/{ => v1}/keymaps/via/keymap.c
R keyboards/{xd60/keymaps/shura30 => ramonimbao/mona/v1/keymaps/via}/rules.mk -rwxr-xr-x => -rw-r--r--
R keyboards/ramonimbao/mona/{ => v1}/readme.md
A keyboards/ramonimbao/mona/v1/rules.mk
A keyboards/ramonimbao/mona/v1/v1.c
R keyboards/ramonimbao/mona/{mona => v1/v1}.h
A keyboards/ramonimbao/mona/v1_1/config.h
A keyboards/ramonimbao/mona/v1_1/info.json
A keyboards/ramonimbao/mona/v1_1/keymaps/default/keymap.c
A keyboards/ramonimbao/mona/v1_1/keymaps/iso/keymap.c
A keyboards/ramonimbao/mona/v1_1/keymaps/via/keymap.c
A keyboards/ramonimbao/mona/v1_1/keymaps/via/rules.mk
A keyboards/ramonimbao/mona/v1_1/readme.md
A keyboards/ramonimbao/mona/v1_1/rules.mk
R keyboards/ramonimbao/mona/{mona => v1_1/v1_1}.c
A keyboards/ramonimbao/mona/v1_1/v1_1.h
R keyboards/xd60/keymaps/{shura30 => fvolpe83}/config.h
R keyboards/xd60/keymaps/{shura30 => fvolpe83}/keymap.c
R keyboards/xd60/keymaps/{shura30 => fvolpe83}/readme.md
A keyboards/xd60/keymaps/fvolpe83/rules.mk
A keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c
A keyboards/ymdk/ymd40/v2/keymaps/via/readme.md
A keyboards/ymdk/ymd40/v2/keymaps/via/rules.mk
M docs/hand_wire.md => docs/hand_wire.md +1 -1
@@ 113,7 113,7 @@ Don't hold the iron on the solder/joint longer than necessary. Heat will be cond

#### Soldering the Diodes

Starting at the top-left switch, place the diode (with tweezers if you have them) on the switch so that the diode itself is vertically aligned, and the black line is facing toward you. The input lead of the diode should be touching the left contact on the switch, and the bent, output end should be facing to the right and resting on the switch there, like this:
Starting at the top-left switch, place the diode (with tweezers if you have them) on the switch so that the diode itself is vertically aligned, and the black line is facing toward you. Make sure the diodes are soldered in parallel (diode outputs shouldn't connect to diode inputs). The input lead of the diode should be touching the left contact on the switch, and the bent, output end should be facing to the right and resting on the switch there, like this:

![soldering-diodes-01.png](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/docs/hand_wire/soldering-diodes-01.png)


M keyboards/alu84/alu84.c => keyboards/alu84/alu84.c +0 -29
@@ 14,33 14,4 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */


#include "alu84.h"
#include "rgblight.h"
#include "action_layer.h"
#include "quantum.h"
#include "action.h"


void matrix_scan_kb(void) {
	// put your looping keyboard code here
	// runs every cycle (a lot)

	matrix_scan_user();
}

bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
	// put your per-action keyboard code here
	// runs for every action, just before processing by the firmware

	return process_record_user(keycode, record);
}

void led_set_kb(uint8_t usb_led) {
	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here

	led_set_user(usb_led);
}




M keyboards/alu84/alu84.h => keyboards/alu84/alu84.h +15 -19
@@ 14,28 14,24 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */


#ifndef ALU84_H
#define ALU84_H
#pragma once

#include "quantum.h"

#define ___ KC_NO


#define LAYOUT( \
	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112,       K114, K115, \
	K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
	K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313,       K315, \
	K400,       K402, K403, K404, K405, K406, K407, K408, K409, K410, K411,       K413, K414, K415, \
	K500, K501,       K503,             K506,                   K510, K511, K512, K513, K514, K515  \
#define LAYOUT_75_ansi( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      K1E, K1F, \
    K20,      K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,      K3F, \
    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B,      K4D, K4E, K4F, \
    K50, K51,      K53,           K56,                K5A, K5B, K5C, K5D, K5E, K5F  \
) { \
	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  KC_NO, K114,  K115 }, \
	{ K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215 }, \
	{ K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  KC_NO, K315 }, \
	{ K400,  KC_NO, K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415 }, \
	{ K500,  K501,  KC_NO, K503,  KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  K512,  K513,  K514,  K515 }  \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
    { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
    { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
    { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F }  \
}

#endif

M keyboards/alu84/config.h => keyboards/alu84/config.h +22 -20
@@ 14,8 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef ALU84_CONFIG_H
#define ALU84_CONFIG_H
#pragma once

#include "config_common.h"



@@ 30,21 29,37 @@
#define MATRIX_ROWS 6
#define MATRIX_COLS 16

/* key matrix pins */
/*
 * 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)
 *
 */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, B7 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, F5, D4, B1, B0, B5, B4, D7, D6, B3, F4, F6 }
#define UNUSED_PINS

/* COL2ROW or ROW2COL */
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* number of backlight levels */
#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_LEVELS 3
#define BACKLIGHT_BREATHING

#define RGB_DI_PIN E2
#if defined(RGBLIGHT_ENABLE)
#    define RGBLED_NUM 16
#    define RGBLIGHT_HUE_STEP 10
#    define RGBLIGHT_SAT_STEP 10
#    define RGBLIGHT_VAL_STEP 10
#    define RGBLIGHT_ANIMATIONS
#endif

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

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */


@@ 52,16 67,3 @@

/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLED_NUM 16
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 10
#define RGBLIGHT_VAL_STEP 10

#define RGBLIGHT_ANIMATIONS

#endif

#endif

M keyboards/alu84/info.json => keyboards/alu84/info.json +102 -9
@@ 1,12 1,105 @@
{
  "keyboard_name": "ALU84",
  "url": "",
  "maintainer": "qmk",
  "width": 16,
  "height": 6,
  "layouts": {
    "LAYOUT": {
      "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K015", "x":15, "y":0}, {"label":"K100", "x":0, "y":1}, {"label":"K101", "x":1, "y":1}, {"label":"K102", "x":2, "y":1}, {"label":"K103", "x":3, "y":1}, {"label":"K104", "x":4, "y":1}, {"label":"K105", "x":5, "y":1}, {"label":"K106", "x":6, "y":1}, {"label":"K107", "x":7, "y":1}, {"label":"K108", "x":8, "y":1}, {"label":"K109", "x":9, "y":1}, {"label":"K110", "x":10, "y":1}, {"label":"K111", "x":11, "y":1}, {"label":"K112", "x":12, "y":1}, {"label":"K114", "x":13, "y":1, "w":2}, {"label":"K115", "x":15, "y":1}, {"label":"K200", "x":0, "y":2, "w":1.5}, {"label":"K202", "x":1.5, "y":2}, {"label":"K203", "x":2.5, "y":2}, {"label":"K204", "x":3.5, "y":2}, {"label":"K205", "x":4.5, "y":2}, {"label":"K206", "x":5.5, "y":2}, {"label":"K207", "x":6.5, "y":2}, {"label":"K208", "x":7.5, "y":2}, {"label":"K209", "x":8.5, "y":2}, {"label":"K210", "x":9.5, "y":2}, {"label":"K211", "x":10.5, "y":2}, {"label":"K212", "x":11.5, "y":2}, {"label":"K213", "x":12.5, "y":2}, {"label":"K214", "x":13.5, "y":2, "w":1.5}, {"label":"K215", "x":15, "y":2}, {"label":"K300", "x":0, "y":3, "w":1.75}, {"label":"K302", "x":1.75, "y":3}, {"label":"K303", "x":2.75, "y":3}, {"label":"K304", "x":3.75, "y":3}, {"label":"K305", "x":4.75, "y":3}, {"label":"K306", "x":5.75, "y":3}, {"label":"K307", "x":6.75, "y":3}, {"label":"K308", "x":7.75, "y":3}, {"label":"K309", "x":8.75, "y":3}, {"label":"K310", "x":9.75, "y":3}, {"label":"K311", "x":10.75, "y":3}, {"label":"K312", "x":11.75, "y":3}, {"label":"K313", "x":12.75, "y":3, "w":2.25}, {"label":"K315", "x":15, "y":3}, {"label":"K400", "x":0, "y":4, "w":2.25}, {"label":"K402", "x":2.25, "y":4}, {"label":"K403", "x":3.25, "y":4}, {"label":"K404", "x":4.25, "y":4}, {"label":"K405", "x":5.25, "y":4}, {"label":"K406", "x":6.25, "y":4}, {"label":"K407", "x":7.25, "y":4}, {"label":"K408", "x":8.25, "y":4}, {"label":"K409", "x":9.25, "y":4}, {"label":"K410", "x":10.25, "y":4}, {"label":"K411", "x":11.25, "y":4}, {"label":"K413", "x":12.25, "y":4, "w":1.75}, {"label":"K414", "x":14, "y":4}, {"label":"K415", "x":15, "y":4}, {"label":"K500", "x":0, "y":5, "w":1.25}, {"label":"K501", "x":1.25, "y":5, "w":1.25}, {"label":"K503", "x":2.5, "y":5, "w":1.25}, {"label":"K506", "x":3.75, "y":5, "w":6.25}, {"label":"K510", "x":10, "y":5}, {"label":"K511", "x":11, "y":5}, {"label":"K512", "x":12, "y":5}, {"label":"K513", "x":13, "y":5}, {"label":"K514", "x":14, "y":5}, {"label":"K515", "x":15, "y":5}]
    "keyboard_name": "ALU84",
    "url": "",
    "maintainer": "qmk",
    "width": 16,
    "height": 6,
    "layout_aliases": {
        "LAYOUT": "LAYOUT_75_ansi"
    },
    "layouts": {
        "LAYOUT_75_ansi": {
            "layout": [
                {"label":"K00", "x":0, "y":0},
                {"label":"K01", "x":1, "y":0},
                {"label":"K02", "x":2, "y":0},
                {"label":"K03", "x":3, "y":0},
                {"label":"K04", "x":4, "y":0},
                {"label":"K05", "x":5, "y":0},
                {"label":"K06", "x":6, "y":0},
                {"label":"K07", "x":7, "y":0},
                {"label":"K08", "x":8, "y":0},
                {"label":"K09", "x":9, "y":0},
                {"label":"K0A", "x":10, "y":0},
                {"label":"K0B", "x":11, "y":0},
                {"label":"K0C", "x":12, "y":0},
                {"label":"K0D", "x":13, "y":0},
                {"label":"K0E", "x":14, "y":0},
                {"label":"K0F", "x":15, "y":0},

                {"label":"K10", "x":0, "y":1},
                {"label":"K11", "x":1, "y":1},
                {"label":"K12", "x":2, "y":1},
                {"label":"K13", "x":3, "y":1},
                {"label":"K14", "x":4, "y":1},
                {"label":"K15", "x":5, "y":1},
                {"label":"K16", "x":6, "y":1},
                {"label":"K17", "x":7, "y":1},
                {"label":"K18", "x":8, "y":1},
                {"label":"K19", "x":9, "y":1},
                {"label":"K1A", "x":10, "y":1},
                {"label":"K1B", "x":11, "y":1},
                {"label":"K1C", "x":12, "y":1},
                {"label":"K1E", "x":13, "y":1, "w":2},
                {"label":"K1F", "x":15, "y":1},

                {"label":"K20", "x":0, "y":2, "w":1.5},
                {"label":"K22", "x":1.5, "y":2},
                {"label":"K23", "x":2.5, "y":2},
                {"label":"K24", "x":3.5, "y":2},
                {"label":"K25", "x":4.5, "y":2},
                {"label":"K26", "x":5.5, "y":2},
                {"label":"K27", "x":6.5, "y":2},
                {"label":"K28", "x":7.5, "y":2},
                {"label":"K29", "x":8.5, "y":2},
                {"label":"K2A", "x":9.5, "y":2},
                {"label":"K2B", "x":10.5, "y":2},
                {"label":"K2C", "x":11.5, "y":2},
                {"label":"K2D", "x":12.5, "y":2},
                {"label":"K2E", "x":13.5, "y":2, "w":1.5},
                {"label":"K2F", "x":15, "y":2},

                {"label":"K30", "x":0, "y":3, "w":1.75},
                {"label":"K32", "x":1.75, "y":3},
                {"label":"K33", "x":2.75, "y":3},
                {"label":"K34", "x":3.75, "y":3},
                {"label":"K35", "x":4.75, "y":3},
                {"label":"K36", "x":5.75, "y":3},
                {"label":"K37", "x":6.75, "y":3},
                {"label":"K38", "x":7.75, "y":3},
                {"label":"K39", "x":8.75, "y":3},
                {"label":"K3A", "x":9.75, "y":3},
                {"label":"K3B", "x":10.75, "y":3},
                {"label":"K3C", "x":11.75, "y":3},
                {"label":"K3D", "x":12.75, "y":3, "w":2.25},
                {"label":"K3F", "x":15, "y":3},

                {"label":"K40", "x":0, "y":4, "w":2.25},
                {"label":"K42", "x":2.25, "y":4},
                {"label":"K43", "x":3.25, "y":4},
                {"label":"K44", "x":4.25, "y":4},
                {"label":"K45", "x":5.25, "y":4},
                {"label":"K46", "x":6.25, "y":4},
                {"label":"K47", "x":7.25, "y":4},
                {"label":"K48", "x":8.25, "y":4},
                {"label":"K49", "x":9.25, "y":4},
                {"label":"K4A", "x":10.25, "y":4},
                {"label":"K4B", "x":11.25, "y":4},
                {"label":"K4D", "x":12.25, "y":4, "w":1.75},
                {"label":"K4E", "x":14, "y":4},
                {"label":"K4F", "x":15, "y":4},

                {"label":"K50", "x":0, "y":5, "w":1.25},
                {"label":"K51", "x":1.25, "y":5, "w":1.25},
                {"label":"K53", "x":2.5, "y":5, "w":1.25},
                {"label":"K56", "x":3.75, "y":5, "w":6.25},
                {"label":"K5A", "x":10, "y":5},
                {"label":"K5B", "x":11, "y":5},
                {"label":"K5C", "x":12, "y":5},
                {"label":"K5D", "x":13, "y":5},
                {"label":"K5E", "x":14, "y":5},
                {"label":"K5F", "x":15, "y":5}
            ]
        }
    }
  }
}

M keyboards/alu84/keymaps/default/keymap.c => keyboards/alu84/keymaps/default/keymap.c +38 -93
@@ 1,100 1,45 @@
#include QMK_KEYBOARD_H

#define _BL 0
#define _FN1 1

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

/* BL
 * ,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
 * | Esc | Scrn Brght Up | Scrn Bright Down | Expose | Launchpad | Show Desktop | Dock Hide Tog | Screen Capture | Shortcut | Shortcut | Shortcut| Shortcut | Play/Pause | Mute | Vol Up | Vol Down |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |  `  |       1       |         2        |    3   |     4     |      5       |      6        |        7       |     8    |     9    |     0   |    -     |    +    |   Backspace   |    POWER    |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |  TAB   |       Q       |        W       |    E    |     R     |      T       |      Y        |        U       |     I    |     O    |     P   |    [     |     ]      |      \      | Shortcut |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |    CAPS    |       A       |      S       |     D    |     F     |      G       |      H       |       J       |     K    |     L    |     ;   |    '     |          Enter          |   Pg Up  |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |     Shift     |      Z      |       X       |    C   |     V     |      B       |      N        |        M       |     ,    |     .    |     /   |     Shift      |       Up        |   Pg Dn  |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |   Control   |  Option/Alt  |     Gui     |                                                Space                              |   Gui   |   Opt   | Fn (layer) |   Left   |   Down  |   Right   |
 * `- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -'
/* Copyright 2017 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
 *           2021 QMK
 *
 * 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/>.
 */

	[_BL] = LAYOUT(
		KC_ESC, KC_F14, KC_F15, LCTL(KC_UP), LCTL(KC_L), KC_F11, LALT(LGUI(KC_D)), LCTL(KC_S), LCTL(LSFT(KC_O)), LCTL(LGUI(KC_1)), LCTL(LGUI(KC_2)), LCTL(LGUI(KC_3)), KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, 
		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_POWER, 	
		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, LCTL(LGUI(KC_N)), 
		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_PGUP, 
		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_UP, KC_PGDN, 
		KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),

/* FN1
 * ,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
 * | Quit All |   F1   |    F2    |     F3      |     F4     |     F5      |      F6       |     F7    |    F8    |    F9    |   F10   |   F11   |   F12   |    Trns     |    Trns     |  DFU RESET |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |  Trns  |    Trns     |     Trns     |    Trns    |     Trns    |     Trns     |     Trns     |      Trns      |    Trns   |    Trns   |    Trns  |  Trns  |   Trns  |   DELETE  | Lock Shrct   |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |  Trns  |  RGB Toggle |  RGB Mode |  RGB Increase | RGB Decrease | RGB Hue Inc |  RGB Hue Dec  | RGB Sat Inc |   RGB Sat Dec |     Trns    |     Trns   |   Trns   |   Trns   |  Trns  |  Trns  |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |    Trns    |     Trns     |    Trns     |    Trns   |    Trns    |    Trns     |    Trns     |     Trns    |     Trns    |     Trns    |   Trns    |  Trns   |         Trns         |   Trns   |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |     Trns     | Backlight Tog | Backlight Inc | Backlight Dec | Backlight Step |   Trns    |   Trns   |   Trns   |   Trns   |    Trns    |    Trns   |    Trns    |       Trns        |  Trns   |
 * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -|
 * |    Trns    |    Trns    |     Trns    |                                                Trns                              |   Trns   |   Trns   |    Trns    |   Trns   |    Trns   |   Trns    |
 * `- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -'
 */

	[_FN1] = LAYOUT(
		LALT(LGUI(KC_Q)), 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_TRNS, KC_TRNS, RESET, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, LCTL(LALT(LGUI(KC_S))), 
		KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, BL_TOGG, BL_INC, BL_DEC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
#include QMK_KEYBOARD_H

enum layer_names {
    _BL,
    _FN1,
};

void matrix_init_user(void) {
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
	return true;
}

void led_set_user(uint8_t usb_led) {

	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
		
	} else {
		
	}

	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
		DDRB |= (1 << 2); PORTB &= ~(1 << 2);
	} else {
		DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
	}

	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
		
	} else {
		
	}

	if (usb_led & (1 << USB_LED_COMPOSE)) {
		
	} else {
		
	}
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

	if (usb_led & (1 << USB_LED_KANA)) {
		
	} else {
		
	}
    [_BL] = LAYOUT_75_ansi(
        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_MUTE, KC_VOLD, KC_VOLU,
        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_HOME,
        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_PGUP,
        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_PGDN,
        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_END,
        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
    ),

    [_FN1] = LAYOUT_75_ansi(
        _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______, RESET,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          KC_DEL,  _______,
        _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,          _______,
        _______,          BL_TOGG, BL_INC,  BL_DEC,  BL_STEP, _______, _______, _______, _______, _______, _______,          _______, _______, _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______
    ),

}
};

M keyboards/alu84/keymaps/turbomech/config.h => keyboards/alu84/keymaps/turbomech/config.h +2 -7
@@ 14,12 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef CONFIG_USER_H
#define CONFIG_USER_H

#define TAPPING_TOGGLE 2
#include "../../config.h"
#pragma once

// place overrides here

#endif
#define TAPPING_TOGGLE 2

M keyboards/alu84/keymaps/turbomech/keymap.c => keyboards/alu84/keymaps/turbomech/keymap.c +17 -50
@@ 1,4 1,5 @@
/* Copyright 2017 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
 *           2021 QMK
 *
 * 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


@@ 14,7 15,6 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */


#include QMK_KEYBOARD_H
#include "turbomech.h"



@@ 45,13 45,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 * `- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
 */

	[_QWERTY] = LAYOUT(
		KC_ESC, KC_F14, KC_F15, LCTL(KC_UP), LCTL(KC_L), KC_F11, LALT(LGUI(KC_D)), LCTL(KC_S), LCTL(LSFT(KC_O)), LCTL(LGUI(KC_1)), LCTL(LGUI(KC_2)), LCTL(LGUI(KC_3)), KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU,
		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_POWER,
		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, LCTL(LGUI(KC_N)),
		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_PGUP,
		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_UP, KC_PGDN,
		KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
    [_QWERTY] = LAYOUT_75_ansi(
        KC_ESC,  KC_F14,  KC_F15,  C(KC_UP), C(KC_L), KC_F11,  A(G(KC_D)), C(KC_S), C(S(KC_O)), C(G(KC_1)), C(G(KC_2)), C(G(KC_3)), KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU,
        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_POWER,
        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,          C(G(KC_N)),
        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_PGUP,
        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_UP,   KC_PGDN,
        KC_LCTL, KC_LALT, KC_LGUI,                             KC_SPC,                                      KC_RGUI,    KC_RALT,    MO(1),   KC_LEFT, KC_DOWN, KC_RGHT
    ),

/* FN1 - SEE readme.md
 * ,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -.


@@ 75,47 76,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 * `- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
 */


	[_FUNCTION] = LAYOUT(
		LALT(LGUI(KC_Q)), 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_TRNS, KC_TRNS, KC_RESET,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, LCTL(LALT(LGUI(KC_S))),
		KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, BL_TOGG, BL_INC, BL_DEC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
    [_FUNCTION] = LAYOUT_75_ansi(
        A(G(KC_Q)), 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_RESET,
        _______,    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          KC_DEL,  C(A(G(KC_S))),
        _______,    RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______,          _______,
        _______,    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,          _______,
        _______,             BL_TOGG, BL_INC,  BL_DEC,  BL_STEP, _______, _______, _______, _______, _______, _______,          _______, _______, _______,
        _______,    _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______
    ),

};

void led_set_user(uint8_t usb_led) {

	if (usb_led & (1 << USB_LED_NUM_LOCK)) {

	} else {

	}

	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
		DDRB |= (1 << 2); PORTB &= ~(1 << 2);
	} else {
		DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
	}

	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

	} else {

	}

	if (usb_led & (1 << USB_LED_COMPOSE)) {

	} else {

	}

	if (usb_led & (1 << USB_LED_KANA)) {

	} else {

	}

}

M keyboards/alu84/keymaps/turbomech/rules.mk => keyboards/alu84/keymaps/turbomech/rules.mk +2 -12
@@ 1,12 1,2 @@
BOOTMAGIC_ENABLE ?= yes	# Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE ?= no	# Mouse keys(+4700)
EXTRAKEY_ENABLE ?= yes	# Audio control and System control(+450)
CONSOLE_ENABLE ?= no	# Console for debug(+400)
COMMAND_ENABLE ?= no    # Commands for debug and configuration
SLEEP_LED_ENABLE ?= no  # Breathing sleep LED during USB suspend
NKRO_ENABLE ?= yes		# USB 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
AUDIO_ENABLE ?= no
RGBLIGHT_ENABLE ?= yes
UNICODE_ENABLE ?= yes

SLEEP_LED_ENABLE = no
UNICODE_ENABLE = yes

M keyboards/alu84/readme.md => keyboards/alu84/readme.md +13 -8
@@ 1,16 1,21 @@
ALU84
===
# ALU84

![alu84](https://i.imgur.com/wBfazDc.jpg)
![alu84](https://i.imgur.com/wBfazDch.jpg)

A 75% keyboard made and sold by MECHKEYS [More info on MECHKEYS](https://mechkeys.ca).
A 75% keyboard made and sold by MECHKEYS.

Keyboard Maintainer: [TurboMech](https://github.com/TurboMech)  
Hardware Supported: ALU84  
Hardware Availability: [MECHKEYS](https://mechkeys.ca)
* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
* Hardware Supported: ALU84
* Hardware Availability: [~~MECHKEYS~~](https://mechkeys.ca) (No longer available)

Make example for this keyboard (after setting up your build environment):

    make alu84:default

See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
Flashing example for this keyboard:

    make alu84:default:flash

To reset the board into bootloader mode, hold Space+B while plugging the cable in.

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

M keyboards/alu84/rules.mk => keyboards/alu84/rules.mk +16 -18
@@ 2,25 2,23 @@
MCU = atmega32u4

# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = atmel-dfu

# Build Options
#   comment out to disable the options.
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = full	# Virtual DIP switch configuration
MOUSEKEY_ENABLE = no	# Mouse keys
EXTRAKEY_ENABLE = yes	# Audio control and System control
CONSOLE_ENABLE = no	# Console for debug
COMMAND_ENABLE = no    # Commands for debug and configuration
SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes		# USB 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
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
BOOTMAGIC_ENABLE = full     # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no        # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = yes      # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes           # USB Nkey Rollover
BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output

LAYOUTS = 75_ansi

M keyboards/anomalykb/a65i/a65i.h => keyboards/anomalykb/a65i/a65i.h +4 -4
@@ 40,7 40,7 @@
    { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47,   KC_NO, KC_NO, K4A, K4B, KC_NO, K4D,   K4E, K4F }, \
}

#define LAYOUT_ansi( \
#define LAYOUT_65_ansi_blocker( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,      K0F, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      K1E, K1F, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D,      K2F, \


@@ 55,7 55,7 @@
    { K40, K41,   K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D,   K4E,   K4F }, \
}

#define LAYOUT_ansi_splitbs( \
#define LAYOUT_65_ansi_blocker_split_bs( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      K1E, K1F, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D,      K2F, \


@@ 70,7 70,7 @@
    { K40, K41,   K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D,   K4E,   K4F }, \
}

#define LAYOUT_iso( \
#define LAYOUT_65_iso_blocker( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,      K0F, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,           K1F, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      K2E, K2F, \


@@ 85,7 85,7 @@
    { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D,   K4E,   K4F }, \
}

#define LAYOUT_iso_splitbs( \
#define LAYOUT_65_iso_blocker_split_bs( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,           K1F, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      K2E, K2F, \

M keyboards/anomalykb/a65i/info.json => keyboards/anomalykb/a65i/info.json +389 -12
@@ 3,18 3,395 @@
    "maintainer": "Lfgberg",
    "width": 16,
    "height": 5,
    "layout_aliases": {
        "LAYOUT_ansi": "LAYOUT_65_ansi_blocker",
        "LAYOUT_ansi_splitbs": "LAYOUT_65_ansi_blocker_split_bs",
        "LAYOUT_iso": "LAYOUT_65_iso_blocker",
        "LAYOUT_iso_splitbs": "LAYOUT_65_iso_blocker_split_bs"
    },
    "layouts": {
      "LAYOUT_ansi": {
          "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Print", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"PgUp", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgDn", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"Delete", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"mo(1)", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
      },
      "LAYOUT_ansi_splitbs": {
          "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Back", "x":14, "y":0}, {"label":"Print", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"PgUp", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgDn", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"Delete", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"mo(1)", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
      },
      "LAYOUT_iso": {
          "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Print", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"PgUp", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"PgDn", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"Delete", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"mo(1)", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
      },
      "LAYOUT_iso_splitbs": {
          "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Back", "x":14, "y":0}, {"label":"Print", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"PgUp", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"PgDn", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"Delete", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"mo(1)", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
      }
        "LAYOUT_all": {
            "layout": [
                {"label":"Esc", "x":0, "y":0},
                {"label":"!", "x":1, "y":0},
                {"label":"@", "x":2, "y":0},
                {"label":"#", "x":3, "y":0},
                {"label":"$", "x":4, "y":0},
                {"label":"%", "x":5, "y":0},
                {"label":"^", "x":6, "y":0},
                {"label":"&", "x":7, "y":0},
                {"label":"*", "x":8, "y":0},
                {"label":"(", "x":9, "y":0},
                {"label":")", "x":10, "y":0},
                {"label":"_", "x":11, "y":0},
                {"label":"+", "x":12, "y":0},
                {"label":"~", "x":13, "y":0},
                {"label":"Back", "x":14, "y":0},
                {"label":"Print", "x":15, "y":0},

                {"label":"Tab", "x":0, "y":1, "w":1.5},
                {"label":"Q", "x":1.5, "y":1},
                {"label":"W", "x":2.5, "y":1},
                {"label":"E", "x":3.5, "y":1},
                {"label":"R", "x":4.5, "y":1},
                {"label":"T", "x":5.5, "y":1},
                {"label":"Y", "x":6.5, "y":1},
                {"label":"U", "x":7.5, "y":1},
                {"label":"I", "x":8.5, "y":1},
                {"label":"O", "x":9.5, "y":1},
                {"label":"P", "x":10.5, "y":1},
                {"label":"{", "x":11.5, "y":1},
                {"label":"}", "x":12.5, "y":1},
                {"label":"|", "x":13.5, "y":1, "w":1.5},
                {"label":"PgUp", "x":15, "y":1},

                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
                {"label":"A", "x":1.75, "y":2},
                {"label":"S", "x":2.75, "y":2},
                {"label":"D", "x":3.75, "y":2},
                {"label":"F", "x":4.75, "y":2},
                {"label":"G", "x":5.75, "y":2},
                {"label":"H", "x":6.75, "y":2},
                {"label":"J", "x":7.75, "y":2},
                {"label":"K", "x":8.75, "y":2},
                {"label":"L", "x":9.75, "y":2},
                {"label":":", "x":10.75, "y":2},
                {"label":"\"", "x":11.75, "y":2},
                {"label":"ISO #/~", "x":16.25, "y":2},
                {"label":"ANSI Enter", "x":12.75, "y":2, "w":2.25},
                {"label":"ISO Enter", "x":17.25, "y":1, "w":1.25, "h":2},
                {"label":"PgDn", "x":15, "y":2},

                {"label":"Shift", "x":0, "y":3, "w":1.25},
                {"label":"ISO \\/|", "x":1.25, "y":3},
                {"label":"Z", "x":2.25, "y":3},
                {"label":"X", "x":3.25, "y":3},
                {"label":"C", "x":4.25, "y":3},
                {"label":"V", "x":5.25, "y":3},
                {"label":"B", "x":6.25, "y":3},
                {"label":"N", "x":7.25, "y":3},
                {"label":"M", "x":8.25, "y":3},
                {"label":"<", "x":9.25, "y":3},
                {"label":">", "x":10.25, "y":3},
                {"label":"?", "x":11.25, "y":3},
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
                {"label":"Up", "x":14, "y":3},
                {"label":"Delete", "x":15, "y":3},

                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
                {"label":"Alt", "x":10, "y":4, "w":1.25},
                {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
                {"label":"Left", "x":13, "y":4},
                {"label":"Down", "x":14, "y":4},
                {"label":"Right", "x":15, "y":4}
            ]
        },
        "LAYOUT_65_ansi_blocker": {
            "layout": [
                {"label":"Esc", "x":0, "y":0},
                {"label":"!", "x":1, "y":0},
                {"label":"@", "x":2, "y":0},
                {"label":"#", "x":3, "y":0},
                {"label":"$", "x":4, "y":0},
                {"label":"%", "x":5, "y":0},
                {"label":"^", "x":6, "y":0},
                {"label":"&", "x":7, "y":0},
                {"label":"*", "x":8, "y":0},
                {"label":"(", "x":9, "y":0},
                {"label":")", "x":10, "y":0},
                {"label":"_", "x":11, "y":0},
                {"label":"+", "x":12, "y":0},
                {"label":"Backspace", "x":13, "y":0, "w":2},
                {"label":"Print", "x":15, "y":0},

                {"label":"Tab", "x":0, "y":1, "w":1.5},
                {"label":"Q", "x":1.5, "y":1},
                {"label":"W", "x":2.5, "y":1},
                {"label":"E", "x":3.5, "y":1},
                {"label":"R", "x":4.5, "y":1},
                {"label":"T", "x":5.5, "y":1},
                {"label":"Y", "x":6.5, "y":1},
                {"label":"U", "x":7.5, "y":1},
                {"label":"I", "x":8.5, "y":1},
                {"label":"O", "x":9.5, "y":1},
                {"label":"P", "x":10.5, "y":1},
                {"label":"{", "x":11.5, "y":1},
                {"label":"}", "x":12.5, "y":1},
                {"label":"|", "x":13.5, "y":1, "w":1.5},
                {"label":"PgUp", "x":15, "y":1},

                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
                {"label":"A", "x":1.75, "y":2},
                {"label":"S", "x":2.75, "y":2},
                {"label":"D", "x":3.75, "y":2},
                {"label":"F", "x":4.75, "y":2},
                {"label":"G", "x":5.75, "y":2},
                {"label":"H", "x":6.75, "y":2},
                {"label":"J", "x":7.75, "y":2},
                {"label":"K", "x":8.75, "y":2},
                {"label":"L", "x":9.75, "y":2},
                {"label":":", "x":10.75, "y":2},
                {"label":"\"", "x":11.75, "y":2},
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
                {"label":"PgDn", "x":15, "y":2},

                {"label":"Shift", "x":0, "y":3, "w":2.25},
                {"label":"Z", "x":2.25, "y":3},
                {"label":"X", "x":3.25, "y":3},
                {"label":"C", "x":4.25, "y":3},
                {"label":"V", "x":5.25, "y":3},
                {"label":"B", "x":6.25, "y":3},
                {"label":"N", "x":7.25, "y":3},
                {"label":"M", "x":8.25, "y":3},
                {"label":"<", "x":9.25, "y":3},
                {"label":">", "x":10.25, "y":3},
                {"label":"?", "x":11.25, "y":3},
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
                {"label":"Up", "x":14, "y":3},
                {"label":"Delete", "x":15, "y":3},

                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
                {"label":"Alt", "x":10, "y":4, "w":1.25},
                {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
                {"label":"Left", "x":13, "y":4},
                {"label":"Down", "x":14, "y":4},
                {"label":"Right", "x":15, "y":4}
            ]
        },
        "LAYOUT_65_ansi_blocker_split_bs": {
            "layout": [
                {"label":"Esc", "x":0, "y":0},
                {"label":"!", "x":1, "y":0},
                {"label":"@", "x":2, "y":0},
                {"label":"#", "x":3, "y":0},
                {"label":"$", "x":4, "y":0},
                {"label":"%", "x":5, "y":0},
                {"label":"^", "x":6, "y":0},
                {"label":"&", "x":7, "y":0},
                {"label":"*", "x":8, "y":0},
                {"label":"(", "x":9, "y":0},
                {"label":")", "x":10, "y":0},
                {"label":"_", "x":11, "y":0},
                {"label":"+", "x":12, "y":0},
                {"label":"~", "x":13, "y":0},
                {"label":"Back", "x":14, "y":0},
                {"label":"Print", "x":15, "y":0},

                {"label":"Tab", "x":0, "y":1, "w":1.5},
                {"label":"Q", "x":1.5, "y":1},
                {"label":"W", "x":2.5, "y":1},
                {"label":"E", "x":3.5, "y":1},
                {"label":"R", "x":4.5, "y":1},
                {"label":"T", "x":5.5, "y":1},
                {"label":"Y", "x":6.5, "y":1},
                {"label":"U", "x":7.5, "y":1},
                {"label":"I", "x":8.5, "y":1},
                {"label":"O", "x":9.5, "y":1},
                {"label":"P", "x":10.5, "y":1},
                {"label":"{", "x":11.5, "y":1},
                {"label":"}", "x":12.5, "y":1},
                {"label":"|", "x":13.5, "y":1, "w":1.5},
                {"label":"PgUp", "x":15, "y":1},

                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
                {"label":"A", "x":1.75, "y":2},
                {"label":"S", "x":2.75, "y":2},
                {"label":"D", "x":3.75, "y":2},
                {"label":"F", "x":4.75, "y":2},
                {"label":"G", "x":5.75, "y":2},
                {"label":"H", "x":6.75, "y":2},
                {"label":"J", "x":7.75, "y":2},
                {"label":"K", "x":8.75, "y":2},
                {"label":"L", "x":9.75, "y":2},
                {"label":":", "x":10.75, "y":2},
                {"label":"\"", "x":11.75, "y":2},
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
                {"label":"PgDn", "x":15, "y":2},

                {"label":"Shift", "x":0, "y":3, "w":2.25},
                {"label":"Z", "x":2.25, "y":3},
                {"label":"X", "x":3.25, "y":3},
                {"label":"C", "x":4.25, "y":3},
                {"label":"V", "x":5.25, "y":3},
                {"label":"B", "x":6.25, "y":3},
                {"label":"N", "x":7.25, "y":3},
                {"label":"M", "x":8.25, "y":3},
                {"label":"<", "x":9.25, "y":3},
                {"label":">", "x":10.25, "y":3},
                {"label":"?", "x":11.25, "y":3},
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
                {"label":"Up", "x":14, "y":3},
                {"label":"Delete", "x":15, "y":3},

                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
                {"label":"Alt", "x":10, "y":4, "w":1.25},
                {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
                {"label":"Left", "x":13, "y":4},
                {"label":"Down", "x":14, "y":4},
                {"label":"Right", "x":15, "y":4}
            ]
        },
        "LAYOUT_65_iso_blocker": {
            "layout": [
                {"label":"Esc", "x":0, "y":0},
                {"label":"!", "x":1, "y":0},
                {"label":"@", "x":2, "y":0},
                {"label":"#", "x":3, "y":0},
                {"label":"$", "x":4, "y":0},
                {"label":"%", "x":5, "y":0},
                {"label":"^", "x":6, "y":0},
                {"label":"&", "x":7, "y":0},
                {"label":"*", "x":8, "y":0},
                {"label":"(", "x":9, "y":0},
                {"label":")", "x":10, "y":0},
                {"label":"_", "x":11, "y":0},
                {"label":"+", "x":12, "y":0},
                {"label":"Backspace", "x":13, "y":0, "w":2},
                {"label":"Print", "x":15, "y":0},

                {"label":"Tab", "x":0, "y":1, "w":1.5},
                {"label":"Q", "x":1.5, "y":1},
                {"label":"W", "x":2.5, "y":1},
                {"label":"E", "x":3.5, "y":1},
                {"label":"R", "x":4.5, "y":1},
                {"label":"T", "x":5.5, "y":1},
                {"label":"Y", "x":6.5, "y":1},
                {"label":"U", "x":7.5, "y":1},
                {"label":"I", "x":8.5, "y":1},
                {"label":"O", "x":9.5, "y":1},
                {"label":"P", "x":10.5, "y":1},
                {"label":"{", "x":11.5, "y":1},
                {"label":"}", "x":12.5, "y":1},
                {"label":"PgUp", "x":15, "y":1},

                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
                {"label":"A", "x":1.75, "y":2},
                {"label":"S", "x":2.75, "y":2},
                {"label":"D", "x":3.75, "y":2},
                {"label":"F", "x":4.75, "y":2},
                {"label":"G", "x":5.75, "y":2},
                {"label":"H", "x":6.75, "y":2},
                {"label":"J", "x":7.75, "y":2},
                {"label":"K", "x":8.75, "y":2},
                {"label":"L", "x":9.75, "y":2},
                {"label":":", "x":10.75, "y":2},
                {"label":"\"", "x":11.75, "y":2},
                {"label":"~", "x":12.75, "y":2},
                {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
                {"label":"PgDn", "x":15, "y":2},

                {"label":"Shift", "x":0, "y":3, "w":1.25},
                {"label":"|", "x":1.25, "y":3},
                {"label":"Z", "x":2.25, "y":3},
                {"label":"X", "x":3.25, "y":3},
                {"label":"C", "x":4.25, "y":3},
                {"label":"V", "x":5.25, "y":3},
                {"label":"B", "x":6.25, "y":3},
                {"label":"N", "x":7.25, "y":3},
                {"label":"M", "x":8.25, "y":3},
                {"label":"<", "x":9.25, "y":3},
                {"label":">", "x":10.25, "y":3},
                {"label":"?", "x":11.25, "y":3},
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
                {"label":"Up", "x":14, "y":3},
                {"label":"Delete", "x":15, "y":3},

                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
                {"label":"Alt", "x":10, "y":4, "w":1.25},
                {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
                {"label":"Left", "x":13, "y":4},
                {"label":"Down", "x":14, "y":4},
                {"label":"Right", "x":15, "y":4}
            ]
        },
        "LAYOUT_65_iso_blocker_split_bs": {
            "layout": [
                {"label":"Esc", "x":0, "y":0},
                {"label":"!", "x":1, "y":0},
                {"label":"@", "x":2, "y":0},
                {"label":"#", "x":3, "y":0},
                {"label":"$", "x":4, "y":0},
                {"label":"%", "x":5, "y":0},
                {"label":"^", "x":6, "y":0},
                {"label":"&", "x":7, "y":0},
                {"label":"*", "x":8, "y":0},
                {"label":"(", "x":9, "y":0},
                {"label":")", "x":10, "y":0},
                {"label":"_", "x":11, "y":0},
                {"label":"+", "x":12, "y":0},
                {"label":"~", "x":13, "y":0},
                {"label":"Back", "x":14, "y":0},
                {"label":"Print", "x":15, "y":0},

                {"label":"Tab", "x":0, "y":1, "w":1.5},
                {"label":"Q", "x":1.5, "y":1},
                {"label":"W", "x":2.5, "y":1},
                {"label":"E", "x":3.5, "y":1},
                {"label":"R", "x":4.5, "y":1},
                {"label":"T", "x":5.5, "y":1},
                {"label":"Y", "x":6.5, "y":1},
                {"label":"U", "x":7.5, "y":1},
                {"label":"I", "x":8.5, "y":1},
                {"label":"O", "x":9.5, "y":1},
                {"label":"P", "x":10.5, "y":1},
                {"label":"{", "x":11.5, "y":1},
                {"label":"}", "x":12.5, "y":1},
                {"label":"PgUp", "x":15, "y":1},

                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
                {"label":"A", "x":1.75, "y":2},
                {"label":"S", "x":2.75, "y":2},
                {"label":"D", "x":3.75, "y":2},
                {"label":"F", "x":4.75, "y":2},
                {"label":"G", "x":5.75, "y":2},
                {"label":"H", "x":6.75, "y":2},
                {"label":"J", "x":7.75, "y":2},
                {"label":"K", "x":8.75, "y":2},
                {"label":"L", "x":9.75, "y":2},
                {"label":":", "x":10.75, "y":2},
                {"label":"\"", "x":11.75, "y":2},
                {"label":"~", "x":12.75, "y":2},
                {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
                {"label":"PgDn", "x":15, "y":2},

                {"label":"Shift", "x":0, "y":3, "w":1.25},
                {"label":"|", "x":1.25, "y":3},
                {"label":"Z", "x":2.25, "y":3},
                {"label":"X", "x":3.25, "y":3},
                {"label":"C", "x":4.25, "y":3},
                {"label":"V", "x":5.25, "y":3},
                {"label":"B", "x":6.25, "y":3},
                {"label":"N", "x":7.25, "y":3},
                {"label":"M", "x":8.25, "y":3},
                {"label":"<", "x":9.25, "y":3},
                {"label":">", "x":10.25, "y":3},
                {"label":"?", "x":11.25, "y":3},
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
                {"label":"Up", "x":14, "y":3},
                {"label":"Delete", "x":15, "y":3},

                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
                {"label":"Alt", "x":10, "y":4, "w":1.25},
                {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
                {"label":"Left", "x":13, "y":4},
                {"label":"Down", "x":14, "y":4},
                {"label":"Right", "x":15, "y":4}
            ]
        }
    }
}

M keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c => keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c +2 -2
@@ 30,7 30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * `----------------------------------------------------------------'
   */

[0] = LAYOUT_ansi_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_GRV,  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_PGUP,
  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_PGDN,


@@ 51,7 51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * `----------------------------------------------------------------'
     */

  [1] = LAYOUT_ansi_splitbs(
  [1] = LAYOUT_65_ansi_blocker_split_bs(
    RESET,    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_TRNS, KC_TRNS,  KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,          KC_TRNS,  KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,          KC_TRNS,           KC_TRNS,

M keyboards/anomalykb/a65i/keymaps/default/keymap.c => keyboards/anomalykb/a65i/keymaps/default/keymap.c +2 -2
@@ 30,7 30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * `----------------------------------------------------------------'
   */

[0] = LAYOUT_ansi(
[0] = LAYOUT_65_ansi_blocker(
  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_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_PGUP,
  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_PGDN,


@@ 51,7 51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * `----------------------------------------------------------------'
     */

  [1] = LAYOUT_ansi(
  [1] = LAYOUT_65_ansi_blocker(
    RESET,    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_TRNS,           KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,          KC_TRNS,  KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,          KC_TRNS,           KC_TRNS,

M keyboards/anomalykb/a65i/keymaps/iso/keymap.c => keyboards/anomalykb/a65i/keymaps/iso/keymap.c +2 -2
@@ 30,7 30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * `----------------------------------------------------------------'
   */

[0] = LAYOUT_iso(
[0] = LAYOUT_65_iso_blocker(
  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_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_PGUP,
  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_NUHS,          KC_ENT,  KC_PGDN,


@@ 51,7 51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * `----------------------------------------------------------------'
     */

  [1] = LAYOUT_iso(
  [1] = LAYOUT_65_iso_blocker(
    RESET,    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_TRNS,           KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,                    KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,          KC_TRNS,  KC_TRNS,

M keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c => keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c +2 -2
@@ 30,7 30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * `----------------------------------------------------------------'
   */

[0] = LAYOUT_iso_splitbs(
[0] = LAYOUT_65_iso_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_GRV,  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_PGUP,
  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_NUHS,          KC_ENT,  KC_PGDN,


@@ 51,7 51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * `----------------------------------------------------------------'
     */

  [1] = LAYOUT_iso_splitbs(
  [1] = LAYOUT_65_iso_blocker_split_bs(
    RESET,    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_TRNS, KC_TRNS,  KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,                    KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,          KC_TRNS,  KC_TRNS,

M keyboards/anomalykb/a65i/keymaps/via/keymap.c => keyboards/anomalykb/a65i/keymaps/via/keymap.c +2 -2
@@ 30,7 30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * `----------------------------------------------------------------'
   */

[0] = LAYOUT_ansi(
[0] = LAYOUT_65_ansi_blocker(
  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_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_PGUP,
  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_PGDN,


@@ 51,7 51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * `----------------------------------------------------------------'
     */

  [1] = LAYOUT_ansi(
  [1] = LAYOUT_65_ansi_blocker(
    RESET,    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_TRNS,           KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,          KC_TRNS,  KC_TRNS,
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,          KC_TRNS,           KC_TRNS,

M keyboards/atomic/atomic.c => keyboards/atomic/atomic.c +18 -2
@@ 1,3 1,19 @@
/* Copyright 2015 Jack Humbert
 *
 * 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 "atomic.h"

void matrix_init_kb(void) {


@@ 5,8 21,8 @@ void matrix_init_kb(void) {
    // runs once when the firmware starts up

    // Turn status LED on
    DDRE |= (1<<6);
    PORTE |= (1<<6);
    setPinOutput(E6);
    writePinHigh(E6);

    matrix_init_user();
}

M keyboards/atomic/atomic.h => keyboards/atomic/atomic.h +18 -10
@@ 1,10 1,22 @@
#ifndef ATOMIC_H
#define ATOMIC_H
/* Copyright 2015 Jack Humbert
 *
 * 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 "quantum.h"
#include <stddef.h>
#include <avr/io.h>
#include <avr/interrupt.h>

// This a shortcut to help you visually see your layout.
// The following is an example using the Planck MIT layout


@@ 24,7 36,7 @@
    { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B,   K4C,   K4D,   K4E }  \
}

#define LAYOUT_grid( \
#define LAYOUT_ortho_5x15( \
    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, K2C, K2D, K2E,\


@@ 37,7 49,3 @@
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E }  \
}

#define LAYOUT_ortho_5x15 LAYOUT_grid

#endif
\ No newline at end of file

M keyboards/atomic/config.h => keyboards/atomic/config.h +3 -54
@@ 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 CONFIG_H
#define CONFIG_H
#pragma once

#include "config_common.h"



@@ 24,8 23,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x6060
#define DEVICE_VER      0x0001
#define MANUFACTURER    Ortholinear Keyboards
#define PRODUCT         The Atomic Keyboard
#define MANUFACTURER    OLKB
#define PRODUCT         Atomic

/* key matrix size */
#define MATRIX_ROWS 5


@@ 86,54 85,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#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.
 *
 */

/* 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_HELP1          H
//#define MAGIC_KEY_HELP2          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_ALT1    ESC
//#define MAGIC_KEY_LAYER0_ALT2    GRAVE
//#define MAGIC_KEY_LAYER0         0
//#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_LOCK           CAPS
//#define MAGIC_KEY_EEPROM         E
//#define MAGIC_KEY_NKRO           N
//#define MAGIC_KEY_SLEEP_LED      Z

/*
 * Feature disable options
 *  These options are also useful to firmware size reduction.
 */


@@ 150,5 101,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

#endif

M keyboards/atomic/info.json => keyboards/atomic/info.json +165 -8
@@ 1,11 1,168 @@
{
  "keyboard_name": "Atomic", 
  "maintainer": "qmk", 
  "width": 15, 
  "height": 5, 
  "layouts": {
    "LAYOUT_semi_standard": {
      "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, "w":2}, {"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":6, "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":6, "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, "w":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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3, "w":2}, {"x":13, "y":3}, {"x":14, "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}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
    "keyboard_name": "Atomic",
    "maintainer": "jackhumbert",
    "width": 15,
    "height": 5,
    "layout_aliases": {
        "LAYOUT_grid": "LAYOUT_ortho_5x15"
    },
    "layouts": {
        "LAYOUT_semi_standard": {
            "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, "w":2},

                {"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":6, "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":6, "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, "w":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":6, "y":3},
                {"x":7, "y":3},
                {"x":8, "y":3},
                {"x":9, "y":3},
                {"x":10, "y":3},
                {"x":11, "y":3, "w":2},
                {"x":13, "y":3},
                {"x":14, "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},
                {"x":11, "y":4},
                {"x":12, "y":4},
                {"x":13, "y":4},
                {"x":14, "y":4}
            ]
        },
        "LAYOUT_ortho_5x15": {
            "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":0, "y":1},
                {"x":1, "y":1},
                {"x":2, "y":1},
                {"x":3, "y":1},
                {"x":4, "y":1},
                {"x":5, "y":1},
                {"x":6, "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":6, "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":6, "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":6, "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}
            ]
        }
    }
  }
}

D keyboards/atomic/keymaps/abienz.c => keyboards/atomic/keymaps/abienz.c +0 -18
@@ 1,18 0,0 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [0] = LAYOUT_grid( /* Colemak */
    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_BSPC, KC_NO  ,
    KC_TAB,  CM_Q,    CM_W,    CM_F,    CM_P,    CM_G,    CM_J,    CM_L,    CM_U,    CM_Y,    CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL ,
    KC_BSPC, CM_A,    CM_R,    CM_S,    CM_T,    CM_D,    CM_H,    CM_N,    CM_E,    CM_I,    CM_O,    KC_QUOT, KC_ENT,  KC_NO,   KC_PGUP,
    KC_LSFT, CM_Z,    CM_X,    CM_C,    CM_V,    CM_B,    CM_K,    CM_M,    CM_COMM, CM_DOT,  CM_SLSH, KC_RSFT, KC_NO,   KC_UP,   KC_PGDN,
    KC_LCTL, KC_LGUI, KC_NO,   KC_LALT, MO(1),   KC_SPC,  KC_NO,   KC_RALT, MO(1),   KC_RGUI, KC_NO,   KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT,
  ),
  [1] = LAYOUT_grid( /* function */
    KC_GRV,  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_BSPC, KC_NO  ,
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
    KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
    KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPLY,
    KC_TRNS, KC_TRNS, KC_NO,   KC_TRNS, MO(1),   KC_TRNS, KC_NO,   KC_TRNS, MO(1),   KC_TRNS, KC_NO,   KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT,
  ),
};

A keyboards/atomic/keymaps/abienz/keymap.c => keyboards/atomic/keymaps/abienz/keymap.c +19 -0
@@ 0,0 1,19 @@
#include QMK_KEYBOARD_H
#include "keymap_colemak.h"

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_ortho_5x15(/* Colemak */
        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_BSPC, XXXXXXX,
        KC_TAB,  CM_Q,    CM_W,    CM_F,    CM_P,    CM_G,    CM_J,    CM_L,    CM_U,    CM_Y,    CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
        KC_BSPC, CM_A,    CM_R,    CM_S,    CM_T,    CM_D,    CM_H,    CM_N,    CM_E,    CM_I,    CM_O,    KC_QUOT, KC_ENT,  XXXXXXX, KC_PGUP,
        KC_LSFT, CM_Z,    CM_X,    CM_C,    CM_V,    CM_B,    CM_K,    CM_M,    CM_COMM, CM_DOT,  CM_SLSH, KC_RSFT, XXXXXXX, KC_UP,   KC_PGDN,
        KC_LCTL, KC_LGUI, XXXXXXX, KC_LALT, MO(1),   KC_SPC,  XXXXXXX, KC_RALT, MO(1),   KC_RGUI, XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
    ),
    [1] = LAYOUT_ortho_5x15(/* function */
        KC_GRV,  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_BSPC, XXXXXXX,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MPLY,
        _______, _______, XXXXXXX, _______, MO(1),   _______, XXXXXXX, _______, MO(1),   _______, XXXXXXX, _______, KC_MPRV, KC_VOLD, KC_MNXT
    ),
};

M keyboards/atomic/keymaps/default/keymap.c => keyboards/atomic/keymaps/default/keymap.c +6 -6
@@ 90,7 90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * '--------------------------------------------------------------------------------------------------------------------------------------'
   */

  [_QW] = LAYOUT_grid( /* QWERTY */
  [_QW] = LAYOUT_ortho_5x15( /* QWERTY */
    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_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_DEL ,
    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_PGUP,


@@ 112,7 112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * '--------------------------------------------------------------------------------------------------------------------------------------'
   */

  [_CM] = LAYOUT_grid( /* COLEMAK */
  [_CM] = LAYOUT_ortho_5x15( /* COLEMAK */
    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_BSPC,
    KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL ,
    KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT, KC_ENT,  KC_ENT,  KC_PGUP,


@@ 134,7 134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * '--------------------------------------------------------------------------------------------------------------------------------------'
   */

  [_DV] = LAYOUT_grid( /* DVORAK */
  [_DV] = LAYOUT_ortho_5x15( /* DVORAK */
    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_BSPC,
    KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL ,
    KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH, KC_ENT,  KC_ENT,  KC_PGUP,


@@ 156,7 156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * '--------------------------------------------------------------------------------------------------------------------------------------'
   */

  [_LW] = LAYOUT_grid( /* LOWERED */
  [_LW] = LAYOUT_ortho_5x15( /* LOWERED */
    _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  ___T___, ___T___,
    _______, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS ,
    _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______,


@@ 178,7 178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * '--------------------------------------------------------------------------------------------------------------------------------------'
   */

  [_RS] = LAYOUT_grid( /* RAISED */
  [_RS] = LAYOUT_ortho_5x15( /* RAISED */
    _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  ___T___, ___T___,
    _______, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    _______, _______, _______, KC_INS ,
    _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______,


@@ 200,7 200,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   * '--------------------------------------------------------------------------------------------------------------------------------------'
   */

  [_FN] = LAYOUT_grid( /* FUNCTION */
  [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
     KC_NLCK, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  ___T___, ___T___,
     KC_SLCK, KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,  KC_PAUS, KC_PSCR,
     KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U,

D keyboards/atomic/keymaps/michelle.c => keyboards/atomic/keymaps/michelle.c +0 -169
@@ 1,169 0,0 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [0] = LAYOUT_grid( /* Dvorak */
    KC_ESC, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_LBRC, KC_RBRC,  KC_BSPC, KC_NO  ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    KC_TAB, KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH, KC_EQL, KC_INS, KC_DEL  ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 2u ────────────┐                                                                                                  ┌─ 2u ────────────┐
  // │   X             │                                                                                                  │   X             │
  // └─────────────────┘                                                                                                  └─────────────────┘
    KC_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,   KC_MINS,  KC_ENT,  KC_NO,  KC_PGUP ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 2u ────────────┐                                                                                         ┌─ 2u ────────────┐
  // │   X             │                                                                                         │   X             │
  // └─────────────────┘                                                                                         └─────────────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    KC_LSFT, KC_SCLN,  KC_Q,   KC_J,    KC_K,   KC_X,    KC_B,    KC_M,    KC_W,    KC_V,     KC_Z,    KC_RSFT, KC_NO, KC_UP,  KC_PGDN ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  //                                                                                                    ┌─ 2u ────────────┐
  //                                                                                                    │   X             │
  //                                                                                                    └─────────────────┘
  // ┌─ 2u ────────────┐                                                                                         ┌─ 2u ────────────┐
  // │   X             │                                                                                         │   X             │
  // └─────────────────┘                                                                                         └─────────────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    KC_LCTL, MO(1),   KC_NO,  KC_LALT,  KC_NO,   KC_NO,  KC_SPC,   KC_NO,   KC_NO,   KC_NO,   KC_LGUI, MO(2),  KC_LEFT, KC_DOWN, KC_RGHT ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐
  // │   X      │ X        │        X │      X    │   X             │   X      │ X        │        X │      X    │
  // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘
  //                                                                ┌─ 2u ────────────┐
  //                                                                │   X             │
  //                                                                └─────────────────┘
  //                                  ┌───────────────────── 6.25u ────────────────────────────┐
  //                                  │                        X                               │
  //                                  └────────────────────────────────────────────────────────┘
  //                       ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐
  //                       │                          X                             │     X    │   X      │ X        │        X │      X    │
  //                       └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘
  ),
  [1] = LAYOUT_grid( /* Qwerty + F keys */
    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_BSPC, KC_NO  ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    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_INS, KC_DEL  ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 2u ────────────┐                                                                                                  ┌─ 2u ────────────┐
  // │   X             │                                                                                                  │   X             │
  // └─────────────────┘                                                                                                  └─────────────────┘
    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_NO,  KC_PGUP ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 2u ────────────┐                                                                                         ┌─ 2u ────────────┐
  // │   X             │                                                                                         │   X             │
  // └─────────────────┘                                                                                         └─────────────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    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_NO,  KC_UP,  KC_PGDN ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  //                                                                                                    ┌─ 2u ────────────┐
  //                                                                                                    │   X             │
  //                                                                                                    └─────────────────┘
  // ┌─ 2u ────────────┐                                                                                         ┌─ 2u ────────────┐
  // │   X             │                                                                                         │   X             │
  // └─────────────────┘                                                                                         └─────────────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    KC_LCTL, KC_TRNS, KC_NO,   KC_LALT,  KC_NO,   KC_NO,  KC_SPC,   KC_NO,   KC_NO,   KC_NO,   KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐
  // │   X      │ X        │        X │      X    │   X             │   X      │ X        │        X │      X    │
  // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘
  //                                                                ┌─ 2u ────────────┐
  //                                                                │   X             │
  //                                                                └─────────────────┘
  //                                  ┌───────────────────── 6.25u ────────────────────────────┐
  //                                  │                        X                               │
  //                                  └────────────────────────────────────────────────────────┘
  //                       ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐
  //                       │                          X                             │     X    │   X      │ X        │        X │      X    │
  //                       └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘
  ),
  [2] = LAYOUT_grid( /* Numpad + qwerty shortcut keys */
    { KC_ESC, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_P7,    KC_P8,   KC_P9,   KC_0,    KC_LBRC, KC_RBRC,  KC_BSPC, KC_NO  ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    KC_TAB, KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_P4,    KC_P5,   KC_P6,   KC_L,    KC_SLSH, KC_EQL, KC_INS, KC_DEL  ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 2u ────────────┐                                                                                                  ┌─ 2u ────────────┐
  // │   X             │                                                                                                  │   X             │
  // └─────────────────┘                                                                                                  └─────────────────┘
    KC_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_P1,   KC_P2,   KC_P3,    KC_S,   KC_MINS,  KC_ENT,  KC_NO,  KC_PGUP ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 2u ────────────┐                                                                                         ┌─ 2u ────────────┐
  // │   X             │                                                                                         │   X             │
  // └─────────────────┘                                                                                         └─────────────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,   KC_X,    KC_B,     KC_P0,   KC_P0,   KC_PENT, KC_Z,    KC_RSFT, KC_NO, KC_UP,  KC_PGDN ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  //                                                                                                    ┌─ 2u ────────────┐
  //                                                                                                    │   X             │
  //                                                                                                    └─────────────────┘
  // ┌─ 2u ────────────┐                                                                                         ┌─ 2u ────────────┐
  // │   X             │                                                                                         │   X             │
  // └─────────────────┘                                                                                         └─────────────────┘
  //                                                                                                                      ┌─ 2u ────────────┐
  //                                                                                                                      │   X             │
  //                                                                                                                      └─────────────────┘
    KC_LCTL, KC_TRNS, KC_NO,  KC_LALT,  KC_NO,   KC_NO,  KC_SPC,   KC_NO,   KC_NO,   KC_NO,   KC_LGUI, KC_TRNS,  KC_LEFT, KC_DOWN, KC_RGHT ,
  // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
  // │        │        │        │        │        │        │        │        │        │        │        │        │        │        │        │
  // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
  // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐
  // │   X      │ X        │        X │      X    │   X             │   X      │ X        │        X │      X    │
  // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘
  //                                                                ┌─ 2u ────────────┐
  //                                                                │   X             │
  //                                                                └─────────────────┘
  //                                  ┌───────────────────── 6.25u ────────────────────────────┐
  //                                  │                        X                               │
  //                                  └────────────────────────────────────────────────────────┘
  //                       ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐
  //                       │                          X                             │     X    │   X      │ X        │        X │      X    │
  //                       └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘
  ),
};

A keyboards/atomic/keymaps/michelle/keymap.c => keyboards/atomic/keymaps/michelle/keymap.c +25 -0
@@ 0,0 1,25 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_ortho_5x15( /* Dvorak */
        KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_LBRC, KC_RBRC, KC_BSPC, XXXXXXX,
        KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH, KC_EQL,  KC_INS,  KC_DEL,
        KC_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS, KC_ENT,  XXXXXXX, KC_PGUP,
        KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT, XXXXXXX, KC_UP,   KC_PGDN,
        KC_LCTL, MO(1),   XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC,  XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, MO(2),   KC_LEFT, KC_DOWN, KC_RGHT
    ),
    [1] = LAYOUT_ortho_5x15( /* Qwerty + F keys */
        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_BSPC, XXXXXXX,
        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_INS,  KC_DEL,
        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,  XXXXXXX, KC_PGUP,
        KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, XXXXXXX, KC_UP,   KC_PGDN,
        KC_LCTL, _______, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC,  XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT
    ),
    [2] = LAYOUT_ortho_5x15( /* Numpad + qwerty shortcut keys */
        KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_P7,   KC_P8,   KC_P9,   KC_0,    KC_LBRC, KC_RBRC, KC_BSPC, XXXXXXX,
        KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_P4,   KC_P5,   KC_P6,   KC_L,    KC_SLSH, KC_EQL,  KC_INS,  KC_DEL,
        KC_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_P1,   KC_P2,   KC_P3,   KC_S,    KC_MINS, KC_ENT,  XXXXXXX, KC_PGUP,
        KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_X,    KC_B,    KC_P0,   KC_P0,   KC_PENT, KC_Z,    KC_RSFT, XXXXXXX, KC_UP,   KC_PGDN,
        KC_LCTL, _______, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC,  XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT
    ),
};

M keyboards/atomic/keymaps/pvc/keymap.c => keyboards/atomic/keymaps/pvc/keymap.c +6 -6
@@ 122,7 122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    | LCTRL  | LWIN   | FN     | LALT   | UPPER  | SPACE  . SPACE  | LOWER  | OSHIFT | RALT   | APP    | RCTRL  | LEFT   | DOWN   | RIGHT  |
    '--------------------------------------------------------------------------------------------------------------------------------------'
  */
  [LAYER_QWERTY] = LAYOUT_grid(
  [LAYER_QWERTY] = LAYOUT_ortho_5x15(
    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_BSPC, 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_DEL ,
    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_ENT , KC_PGUP,


@@ 142,7 142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    | ______ | ______ | ______ | ______ | UPPER  | KP 0   . KP 0   | ______ | RALT   | KP .   | KP ENT | ______ | ______ | ______ | ______ |
    '--------------------------------------------------------------------------------------------------------------------------------------'
  */
  [LAYER_UPPER] = LAYOUT_grid(
  [LAYER_UPPER] = LAYOUT_ortho_5x15(
    KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, _______, _______,
    KC_PAUS, KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS ,
    _______, KC_F5  , KC_F6  , KC_F7  , KC_F8  , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, KC_HOME,


@@ 162,7 162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER  | ______ | ______ | ______ | ______ | ______ | ______ | ______ |
    '--------------------------------------------------------------------------------------------------------------------------------------'
  */
  [LAYER_LOWER] = LAYOUT_grid(
  [LAYER_LOWER] = LAYOUT_ortho_5x15(
    KC_PSCR, 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_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT  , _______, _______, _______, KC_INS ,
    _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, KC_HOME,


@@ 182,7 182,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    | ______ | ______ | FN     | ______ | ______ | PLAY   . PLAY   | ______ | ______ | ______ | ______ | ______ | PREV   | VOL DN | NEXT   |
    '--------------------------------------------------------------------------------------------------------------------------------------'
  */
  [LAYER_FUNCTION] = LAYOUT_grid(
  [LAYER_FUNCTION] = LAYOUT_ortho_5x15(
    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
    XXXXXXX, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
    XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,


@@ 202,7 202,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    | ______ | ______ | ______ | ______ | ______ | MS BT1 . MS BT1 | ______ | ______ | ______ | ______ | ______ | MS L   | MS D   | MS R   |
    '--------------------------------------------------------------------------------------------------------------------------------------'
  */
  [LAYER_MOUSE] = LAYOUT_grid(
  [LAYER_MOUSE] = LAYOUT_ortho_5x15(
    KC_ESC , KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_UL, KC_MS_U, M_MS_UR, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_R,
    XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, KC_MS_L, XXXXXXX, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U,


@@ 222,7 222,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER  | XXXXXX . XXXXXX | LOWER  | XXXXXX | XXXXXX | XXXXXX | XXXXXX | TEMPO- | VOICE- | TEMPO+ |
    '--------------------------------------------------------------------------------------------------------------------------------------'
  */
  [LAYER_ADJUST] = LAYOUT_grid(
  [LAYER_ADJUST] = LAYOUT_ortho_5x15(
    XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, M_HELP5, M_HELP6, M_HELP7, M_HELP8, M_HELP9, XXXXXXX, MU_TOG , AU_TOG , XXXXXXX, XXXXXXX,
    XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,

R keyboards/atomic/keymaps/twolayer.c => keyboards/atomic/keymaps/twolayer/keymap.c +40 -57
@@ 2,62 2,45 @@

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

  /* QWERTY - MIT ENHANCED / GRID COMPATIBLE
   * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
   * | ESC    | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | -      | =      | XXXXXX . BACKSP |
   * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
   * | TAB    | Q      | W      | E      | R      | T      | Y      | U      | I      | O      | P      | [      | ]      | \      | DEL    |
   * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
   * | LCTRL1 | A      | S      | D      | F      | G      | H      | J      | K      | L      | ;      | '      | XXXXXX . ENTER  | PG UP  |
   * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
   * | LSHIFT | Z      | X      | C      | V      | B      | N      | M      | ,      | .      | /      | XXXXXX . RSHIFT | UP     | PG DN  |
   * |--------+--------+--------+--------+--------+- 6.25u ---------+--------+--------+--------+--------+-----------------+--------+--------|
   * | BRITE  | LALT   |  FN    |               XXXXXX . SPACE                        | RCTRL  | RALT   | FN     | LEFT   | DOWN   | RIGHT  |
   * '--------------------------------------------------------------------------------------------------------------------------------------'
   */
  [0] = LAYOUT_grid( /* QWERTY */
    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_BSPC, 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_DEL,
    KC_LCTL, 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_PGUP,
    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_RSFT, KC_UP,   KC_PGDN,
    M(0),    KC_ALT, MO(1), KC_SPC, KC_SPC, KC_SPC,  KC_SPC,  KC_SPC,  KC_SPC,  KC_RCTL, KC_RALT, MO(1),   KC_LEFT, KC_DOWN, KC_RGHT,
  ),
    /* QWERTY - MIT ENHANCED / GRID COMPATIBLE
     * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
     * | ESC    | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | -      | =      | XXXXXX . BACKSP |
     * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
     * | TAB    | Q      | W      | E      | R      | T      | Y      | U      | I      | O      | P      | [      | ]      | \      | DEL    |
     * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
     * | LCTRL1 | A      | S      | D      | F      | G      | H      | J      | K      | L      | ;      | '      | XXXXXX . ENTER  | PG UP  |
     * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
     * | LSHIFT | Z      | X      | C      | V      | B      | N      | M      | ,      | .      | /      | XXXXXX . RSHIFT | UP     | PG DN  |
     * |--------+--------+--------+--------+--------+- 6.25u ---------+--------+--------+--------+--------+-----------------+--------+--------|
     * | BRITE  | LALT   |  FN    |               XXXXXX . SPACE                        | RCTRL  | RALT   | FN     | LEFT   | DOWN   | RIGHT  |
     * '--------------------------------------------------------------------------------------------------------------------------------------'
     */
    [0] = LAYOUT_ortho_5x15( /* QWERTY */
        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_BSPC, 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_DEL,
        KC_LCTL, 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_PGUP,
        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_RSFT, KC_UP,   KC_PGDN,
        BL_STEP, KC_LALT, MO(1),   KC_SPC,  KC_SPC,  KC_SPC,  KC_SPC,  KC_SPC,  KC_SPC,  KC_RCTL, KC_RALT, MO(1),   KC_LEFT, KC_DOWN, KC_RGHT
    ),

  /* FUNCTION
   * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
   * | GRV    | F1     | F2     | F3     | F4     | F5     | F6     | F7     | F8     | F9     | F10    | F11    | F12    | XXXXXX .        |
   * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
   * | SCR LK | F13    | F14    | F15    | F16    | F17    | F18    | F19    | F20    | F21    | F22    | F23    | F24    | PAUSE  | PR SCR |
   * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
   * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT   | VOL+   | VOL-   | PLAY   |        | XXXXXX .        | WHEEL+ |
   * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
   * | NUM LK |        |        |        |        |        |        |        | INSERT |   END1 |  HOME  | XXXXXX .        | MOUS U | WHEEL- |
   * |--------+--------+--------+--------+--------+- 6.25 ------------+--------+--------+------+--------+-----------------+--------+--------|
   * |        |        |   FN   |                  XXXXXX . MS BT1                      |      |        |   FN   | MOUS L | MOUS D | MOUS R |
   * '--------------------------------------------------------------------------------------------------------------------------------------'
   */
  [1] = LAYOUT_grid( /* FUNCTION LAYER*/
    KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,     KC_F9,   KC_F10,  KC_F11,  KC_F12,  ___T___, ___T___,
    KC_SLCK, KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,    KC_F21,  KC_F22,  KC_F23,  KC_F24,  KC_PAUS, KC_PSCR,
    KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD,   KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U,
    KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_INSERT, KC_END,  KC_HOME, ___T___, ___T___, KC_MS_U, KC_WH_D,
    _______, _______, MO(1),   _______, _______, KC_BTN1, KC_BTN1, _______, _______,   _______, _______, MO(1),   KC_MS_L, KC_MS_D, KC_MS_R,
  ),
};

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  // MACRODOWN only works in this function
  switch(id) {
    case 0:
      if (record->event.pressed) {
        register_code(KC_RSFT);
        #ifdef BACKLIGHT_ENABLE
          backlight_step();
        #endif
      } else {
        unregister_code(KC_RSFT);
      }
    break;
  }
  return MACRO_NONE;
    /* FUNCTION
     * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
     * | GRV    | F1     | F2     | F3     | F4     | F5     | F6     | F7     | F8     | F9     | F10    | F11    | F12    | XXXXXX .        |
     * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
     * | SCR LK | F13    | F14    | F15    | F16    | F17    | F18    | F19    | F20    | F21    | F22    | F23    | F24    | PAUSE  | PR SCR |
     * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
     * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT   | VOL+   | VOL-   | PLAY   |        | XXXXXX .        | WHEEL+ |
     * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
     * | NUM LK |        |        |        |        |        |        |        | INSERT |   END1 |  HOME  | XXXXXX .        | MOUS U | WHEEL- |
     * |--------+--------+--------+--------+--------+- 6.25 ------------+--------+--------+------+--------+-----------------+--------+--------|
     * |        |        |   FN   |                  XXXXXX . MS BT1                      |      |        |   FN   | MOUS L | MOUS D | MOUS R |
     * '--------------------------------------------------------------------------------------------------------------------------------------'
     */
    [1] = LAYOUT_ortho_5x15( /* FUNCTION LAYER*/
        KC_GRV,  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_SLCK, KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,  KC_PAUS, KC_PSCR,
        KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, KC_WH_U,
        KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_INS,  KC_END,  KC_HOME, _______, _______, KC_MS_U, KC_WH_D,
        _______, _______, MO(1),   _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, MO(1),   KC_MS_L, KC_MS_D, KC_MS_R
    ),
};

M keyboards/atomic/rules.mk => keyboards/atomic/rules.mk +8 -18
@@ 2,33 2,23 @@
MCU = atmega32u4

# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = atmel-dfu

# Build Options
#   change to "no" to disable the options, or define them in the Makefile in 
#   the appropriate keymap folder that will get included automatically
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug
COMMAND_ENABLE = yes        # 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
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. 

# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output

LAYOUTS = ortho_5x15

M keyboards/cannonkeys/balance/info.json => keyboards/cannonkeys/balance/info.json +95 -1
@@ 6,7 6,101 @@
    "height": 5.5,
    "layouts": {
        "LAYOUT_all": {
            "layout": [{"label":"KNOB", "x":15.25, "y":0}, {"label":"~", "x":0, "y":0.25}, {"label":"!", "x":1, "y":0.25}, {"label":"@", "x":2, "y":0.25}, {"label":"#", "x":3, "y":0.25}, {"label":"$", "x":4, "y":0.25}, {"label":"%", "x":5, "y":0.25}, {"label":"^", "x":6, "y":0.25}, {"label":"&", "x":7, "y":0.25}, {"label":"*", "x":8, "y":0.25}, {"label":"(", "x":9, "y":0.25}, {"label":")", "x":10, "y":0.25}, {"label":"_", "x":11, "y":0.25}, {"label":"+", "x":12, "y":0.25}, {"x":13, "y":0.25}, {"x":14, "y":0.25}, {"label":"Num Lock", "x":16.5, "y":0.25}, {"label":"/", "x":17.5, "y":0.25}, {"label":"*", "x":18.5, "y":0.25}, {"label":"-", "x":19.5, "y":0.25}, {"label":"Tab", "x":0, "y":1.25, "w":1.5}, {"label":"Q", "x":1.5, "y":1.25}, {"label":"W", "x":2.5, "y":1.25}, {"label":"E", "x":3.5, "y":1.25}, {"label":"R", "x":4.5, "y":1.25}, {"label":"T", "x":5.5, "y":1.25}, {"label":"Y", "x":6.5, "y":1.25}, {"label":"U", "x":7.5, "y":1.25}, {"label":"I", "x":8.5, "y":1.25}, {"label":"O", "x":9.5, "y":1.25}, {"label":"P", "x":10.5, "y":1.25}, {"label":"{", "x":11.5, "y":1.25}, {"label":"}", "x":12.5, "y":1.25}, {"label":"|", "x":13.5, "y":1.25, "w":1.5}, {"label":"PgUp", "x":15.25, "y":1.25}, {"label":"7", "x":16.5, "y":1.25}, {"label":"8", "x":17.5, "y":1.25}, {"label":"9", "x":18.5, "y":1.25}, {"label":"+", "x":19.5, "y":1.25}, {"label":"Caps Lock", "x":0, "y":2.25, "w":1.75}, {"label":"A", "x":1.75, "y":2.25}, {"label":"S", "x":2.75, "y":2.25}, {"label":"D", "x":3.75, "y":2.25}, {"label":"F", "x":4.75, "y":2.25}, {"label":"G", "x":5.75, "y":2.25}, {"label":"H", "x":6.75, "y":2.25}, {"label":"J", "x":7.75, "y":2.25}, {"label":"K", "x":8.75, "y":2.25}, {"label":"L", "x":9.75, "y":2.25}, {"label":":", "x":10.75, "y":2.25}, {"label":"\"", "x":11.75, "y":2.25}, {"label":"Enter", "x":12.75, "y":2.25, "w":2.25}, {"label":"PgDn", "x":15.25, "y":2.25}, {"label":"4", "x":16.5, "y":2.25}, {"label":"5", "x":17.5, "y":2.25}, {"label":"6", "x":18.5, "y":2.25}, {"label":"+", "x":19.5, "y":2.25}, {"label":"Shift", "x":0, "y":3.25, "w":2.25}, {"label":"Z", "x":2.25, "y":3.25}, {"label":"X", "x":3.25, "y":3.25}, {"label":"C", "x":4.25, "y":3.25}, {"label":"V", "x":5.25, "y":3.25}, {"label":"B", "x":6.25, "y":3.25}, {"label":"N", "x":7.25, "y":3.25}, {"label":"M", "x":8.25, "y":3.25}, {"label":"<", "x":9.25, "y":3.25}, {"label":">", "x":10.25, "y":3.25}, {"label":"?", "x":11.25, "y":3.25}, {"label":"Shift", "x":12.25, "y":3.25, "w":2.75}, {"label":"1", "x":16.5, "y":3.25}, {"label":"2", "x":17.5, "y":3.25}, {"label":"3", "x":18.5, "y":3.25}, {"label":"Enter", "x":19.5, "y":3.25}, {"label":"\u2191", "x":15.25, "y":3.5}, {"label":"Ctrl", "x":0, "y":4.25, "w":1.25}, {"label":"Win", "x":1.25, "y":4.25}, {"label":"Alt", "x":2.25, "y":4.25, "w":1.25}, {"x":3.5, "y":4.25, "w":7}, {"label":"Ctrl", "x":10.5, "y":4.25, "w":1.25}, {"label":"Win", "x":11.75, "y":4.25}, {"label":"Alt", "x":12.75, "y":4.25, "w":1.25}, {"label":"0", "x":17.5, "y":4.25}, {"label":".", "x":18.5, "y":4.25}, {"label":"Enter", "x":19.5, "y":4.25}, {"label":"\u2190", "x":14.25, "y":4.5}, {"label":"\u2193", "x":15.25, "y":4.5}, {"label":"\u2192", "x":16.25, "y":4.5}]
            "layout": [
                {"label":"~", "x":0, "y":0.25},
                {"label":"!", "x":1, "y":0.25},
                {"label":"@", "x":2, "y":0.25},
                {"label":"#", "x":3, "y":0.25},
                {"label":"$", "x":4, "y":0.25},
                {"label":"%", "x":5, "y":0.25},
                {"label":"^", "x":6, "y":0.25},
                {"label":"&", "x":7, "y":0.25},
                {"label":"*", "x":8, "y":0.25},
                {"label":"(", "x":9, "y":0.25},
                {"label":")", "x":10, "y":0.25},
                {"label":"_", "x":11, "y":0.25},
                {"label":"+", "x":12, "y":0.25},
                {"label":"Backspace", "x":13, "y":0.25},
                {"label":"Delete", "x":14, "y":0.25},
                {"label":"KNOB", "x":15.25, "y":0},
                {"label":"Num Lock", "x":16.5, "y":0.25},
                {"label":"/", "x":17.5, "y":0.25},
                {"label":"*", "x":18.5, "y":0.25},
                {"label":"-", "x":19.5, "y":0.25},

                {"label":"Tab", "x":0, "y":1.25, "w":1.5},
                {"label":"Q", "x":1.5, "y":1.25},
                {"label":"W", "x":2.5, "y":1.25},
                {"label":"E", "x":3.5, "y":1.25},
                {"label":"R", "x":4.5, "y":1.25},
                {"label":"T", "x":5.5, "y":1.25},
                {"label":"Y", "x":6.5, "y":1.25},
                {"label":"U", "x":7.5, "y":1.25},
                {"label":"I", "x":8.5, "y":1.25},
                {"label":"O", "x":9.5, "y":1.25},
                {"label":"P", "x":10.5, "y":1.25},
                {"label":"{", "x":11.5, "y":1.25},
                {"label":"}", "x":12.5, "y":1.25},
                {"label":"|", "x":13.5, "y":1.25, "w":1.5},
                {"label":"PgUp", "x":15.25, "y":1.25},
                {"label":"7", "x":16.5, "y":1.25},
                {"label":"8", "x":17.5, "y":1.25},
                {"label":"9", "x":18.5, "y":1.25},
                {"label":"+", "x":19.5, "y":1.25},

                {"label":"Caps Lock", "x":0, "y":2.25, "w":1.75},
                {"label":"A", "x":1.75, "y":2.25},
                {"label":"S", "x":2.75, "y":2.25},
                {"label":"D", "x":3.75, "y":2.25},
                {"label":"F", "x":4.75, "y":2.25},
                {"label":"G", "x":5.75, "y":2.25},
                {"label":"H", "x":6.75, "y":2.25},
                {"label":"J", "x":7.75, "y":2.25},
                {"label":"K", "x":8.75, "y":2.25},
                {"label":"L", "x":9.75, "y":2.25},
                {"label":":", "x":10.75, "y":2.25},
                {"label":"\"", "x":11.75, "y":2.25},
                {"label":"ISO ~", "x":12.75, "y":2.25},
                {"label":"Enter", "x":13.75, "y":2.25, "w":1.25},
                {"label":"PgDn", "x":15.25, "y":2.25},
                {"label":"4", "x":16.5, "y":2.25},
                {"label":"5", "x":17.5, "y":2.25},
                {"label":"6", "x":18.5, "y":2.25},
                {"label":"+", "x":19.5, "y":2.25},

                {"label":"Shift", "x":0, "y":3.25, "w":1.25},
                {"label":"ISO |", "x":1.25, "y":3.25},
                {"label":"Z", "x":2.25, "y":3.25},
                {"label":"X", "x":3.25, "y":3.25},
                {"label":"C", "x":4.25, "y":3.25},
                {"label":"V", "x":5.25, "y":3.25},
                {"label":"B", "x":6.25, "y":3.25},
                {"label":"N", "x":7.25, "y":3.25},
                {"label":"M", "x":8.25, "y":3.25},
                {"label":"<", "x":9.25, "y":3.25},
                {"label":">", "x":10.25, "y":3.25},
                {"label":"?", "x":11.25, "y":3.25},
                {"label":"Shift", "x":12.25, "y":3.25, "w":2.75},
                {"label":"Up", "x":15.25, "y":3.5},
                {"label":"1", "x":16.5, "y":3.25},
                {"label":"2", "x":17.5, "y":3.25},
                {"label":"3", "x":18.5, "y":3.25},
                {"label":"Enter", "x":19.5, "y":3.25},

                {"label":"Ctrl", "x":0, "y":4.25, "w":1.25},
                {"label":"Win", "x":1.25, "y":4.25},
                {"label":"Alt", "x":2.25, "y":4.25, "w":1.25},
                {"label":"Space", "x":3.5, "y":4.25, "w":7},
                {"label":"Alt", "x":10.5, "y":4.25, "w":1.25},
                {"label":"Fn", "x":11.75, "y":4.25},
                {"label":"Ctrl", "x":12.75, "y":4.25, "w":1.25},
                {"label":"Left", "x":14.25, "y":4.5},
                {"label":"Down", "x":15.25, "y":4.5},
                {"label":"Right", "x":16.25, "y":4.5},
                {"label":"0", "x":17.5, "y":4.25},
                {"label":".", "x":18.5, "y":4.25},
                {"label":"Enter", "x":19.5, "y":4.25}
            ]
        }
    }
}

M keyboards/cherrybstudio/cb1800/info.json => keyboards/cherrybstudio/cb1800/info.json +118 -2
@@ 6,7 6,123 @@
    "height": 7.25,
    "layouts": {
        "LAYOUT_all": {
            "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Esc", "x":14, "y":0}, {"label":"Insert", "x":15.5, "y":0}, {"label":"Home", "x":16.5, "y":0}, {"label":"PgUp", "x":17.5, "y":0}, {"label":"PrtSc", "x":18.5, "y":0}, {"label":"Delete", "x":15.5, "y":1}, {"label":"End", "x":16.5, "y":1}, {"label":"PgDn", "x":17.5, "y":1}, {"label":"Scroll Lock", "x":18.5, "y":1}, {"label":"~", "x":0, "y":2}, {"label":"!", "x":1, "y":2}, {"label":"@", "x":2, "y":2}, {"label":"#", "x":3, "y":2}, {"label":"$", "x":4, "y":2}, {"label":"%", "x":5, "y":2}, {"label":"^", "x":6, "y":2}, {"label":"&", "x":7, "y":2}, {"label":"*", "x":8, "y":2}, {"label":"(", "x":9, "y":2}, {"label":")", "x":10, "y":2}, {"label":"_", "x":11, "y":2}, {"label":"+", "x":12, "y":2}, {"x":13, "y":2}, {"label":"Backspace", "x":14, "y":2}, {"label":"Num Lock", "x":15.5, "y":2}, {"label":"/", "x":16.5, "y":2}, {"label":"*", "x":17.5, "y":2}, {"label":"Pause", "x":18.5, "y":2}, {"label":"Tab", "x":0, "y":3, "w":1.5}, {"label":"Q", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"E", "x":3.5, "y":3}, {"label":"R", "x":4.5, "y":3}, {"label":"T", "x":5.5, "y":3}, {"label":"Y", "x":6.5, "y":3}, {"label":"U", "x":7.5, "y":3}, {"label":"I", "x":8.5, "y":3}, {"label":"O", "x":9.5, "y":3}, {"label":"P", "x":10.5, "y":3}, {"label":"{", "x":11.5, "y":3}, {"label":"}", "x":12.5, "y":3}, {"label":"|", "x":13.5, "y":3, "w":1.5}, {"label":"7", "x":15.5, "y":3}, {"label":"8", "x":16.5, "y":3}, {"label":"9", "x":17.5, "y":3}, {"label":"-", "x":18.5, "y":3}, {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, {"label":"A", "x":1.75, "y":4}, {"label":"S", "x":2.75, "y":4}, {"label":"D", "x":3.75, "y":4}, {"label":"F", "x":4.75, "y":4}, {"label":"G", "x":5.75, "y":4}, {"label":"H", "x":6.75, "y":4}, {"label":"J", "x":7.75, "y":4}, {"label":"K", "x":8.75, "y":4}, {"label":"L", "x":9.75, "y":4}, {"label":":", "x":10.75, "y":4}, {"label":"\"", "x":11.75, "y":4}, {"x":12.75, "y":4}, {"label":"Enter", "x":13.75, "y":4, "w":1.25}, {"label":"4", "x":15.5, "y":4}, {"label":"5", "x":16.5, "y":4}, {"label":"6", "x":17.5, "y":4}, {"label":"+", "x":18.5, "y":4}, {"label":"Shift", "x":0, "y":5, "w":1.25}, {"x":1.25, "y":5}, {"label":"Z", "x":2.25, "y":5}, {"label":"X", "x":3.25, "y":5}, {"label":"C", "x":4.25, "y":5}, {"label":"V", "x":5.25, "y":5}, {"label":"B", "x":6.25, "y":5}, {"label":"N", "x":7.25, "y":5}, {"label":"M", "x":8.25, "y":5}, {"label":"<", "x":9.25, "y":5}, {"label":">", "x":10.25, "y":5}, {"label":"?", "x":11.25, "y":5}, {"label":"Shift", "x":12.25, "y":5, "w":1.75}, {"label":"1", "x":15.5, "y":5}, {"label":"2", "x":16.5, "y":5}, {"label":"3", "x":17.5, "y":5}, {"label":"Enter", "x":18.5, "y":5}, {"label":"\u2191", "x":14.25, "y":5.25}, {"label":"lctrl", "x":0, "y":6}, {"label":"lgui", "x":1, "y":6}, {"label":"lalt", "x":2, "y":6}, {"label":"space", "x":3, "y":6, "w":6}, {"label":"ralt", "x":9, "y":6}, {"label":"rgui", "x":10, "y":6}, {"label":"Menu", "x":11, "y":6}, {"label":"lctrl", "x":12, "y":6}, {"label":"0", "x":16.5, "y":6}, {"label":".", "x":17.5, "y":6}, {"label":"Enter", "x":18.5, "y":6}, {"label":"\u2190", "x":13.25, "y":6.25}, {"label":"\u2193", "x":14.25, "y":6.25}, {"label":"\u2192", "x":15.25, "y":6.25}]
        },
            "layout": [
                {"label":"Esc", "x":0, "y":0},
                {"label":"F1", "x":1.25, "y":0},
                {"label":"F2", "x":2.25, "y":0},
                {"label":"F3", "x":3.25, "y":0},
                {"label":"F4", "x":4.25, "y":0},
                {"label":"F5", "x":5.5, "y":0},
                {"label":"F6", "x":6.5, "y":0},
                {"label":"F7", "x":7.5, "y":0},
                {"label":"F8", "x":8.5, "y":0},
                {"label":"F9", "x":9.75, "y":0},
                {"label":"F10", "x":10.75, "y":0},
                {"label":"F11", "x":11.75, "y":0},
                {"label":"F12", "x":12.75, "y":0},
                {"label":"Esc", "x":14, "y":0},
                {"label":"Insert", "x":15.5, "y":0},
                {"label":"Home", "x":16.5, "y":0},
                {"label":"PgUp", "x":17.5, "y":0},
                {"label":"PrtSc", "x":18.5, "y":0},

                {"label":"Delete", "x":15.5, "y":1},
                {"label":"End", "x":16.5, "y":1},
                {"label":"PgDn", "x":17.5, "y":1},
                {"label":"Scroll Lock", "x":18.5, "y":1},

                {"label":"~", "x":0, "y":2},
                {"label":"!", "x":1, "y":2},
                {"label":"@", "x":2, "y":2},
                {"label":"#", "x":3, "y":2},
                {"label":"$", "x":4, "y":2},
                {"label":"%", "x":5, "y":2},
                {"label":"^", "x":6, "y":2},
                {"label":"&", "x":7, "y":2},
                {"label":"*", "x":8, "y":2},
                {"label":"(", "x":9, "y":2},
                {"label":")", "x":10, "y":2},
                {"label":"_", "x":11, "y":2},
                {"label":"+", "x":12, "y":2},
                {"x":13, "y":2},
                {"label":"Backspace", "x":14, "y":2},
                {"label":"Num Lock", "x":15.5, "y":2},
                {"label":"/", "x":16.5, "y":2},
                {"label":"*", "x":17.5, "y":2},
                {"label":"Pause", "x":18.5, "y":2},

                {"label":"Tab", "x":0, "y":3, "w":1.5},
                {"label":"Q", "x":1.5, "y":3},
                {"label":"W", "x":2.5, "y":3},
                {"label":"E", "x":3.5, "y":3},
                {"label":"R", "x":4.5, "y":3},
                {"label":"T", "x":5.5, "y":3},
                {"label":"Y", "x":6.5, "y":3},
                {"label":"U", "x":7.5, "y":3},
                {"label":"I", "x":8.5, "y":3},
                {"label":"O", "x":9.5, "y":3},
                {"label":"P", "x":10.5, "y":3},
                {"label":"{", "x":11.5, "y":3},
                {"label":"}", "x":12.5, "y":3},
                {"label":"|", "x":13.5, "y":3, "w":1.5},
                {"label":"7", "x":15.5, "y":3},
                {"label":"8", "x":16.5, "y":3},
                {"label":"9", "x":17.5, "y":3},
                {"label":"-", "x":18.5, "y":3},

                {"label":"Caps Lock", "x":0, "y":4, "w":1.75},
                {"label":"A", "x":1.75, "y":4},
                {"label":"S", "x":2.75, "y":4},
                {"label":"D", "x":3.75, "y":4},
                {"label":"F", "x":4.75, "y":4},
                {"label":"G", "x":5.75, "y":4},
                {"label":"H", "x":6.75, "y":4},
                {"label":"J", "x":7.75, "y":4},
                {"label":"K", "x":8.75, "y":4},
                {"label":"L", "x":9.75, "y":4},
                {"label":":", "x":10.75, "y":4},
                {"label":"\"", "x":11.75, "y":4},
                {"label":"ISO~", "x":12.75, "y":4},
                {"label":"Enter", "x":13.75, "y":4, "w":1.25},
                {"label":"4", "x":15.5, "y":4},
                {"label":"5", "x":16.5, "y":4},
                {"label":"6", "x":17.5, "y":4},
                {"label":"+", "x":18.5, "y":4},

                {"label":"Shift", "x":0, "y":5, "w":1.25},
                {"label":"ISO|", "x":1.25, "y":5},
                {"label":"Z", "x":2.25, "y":5},
                {"label":"X", "x":3.25, "y":5},
                {"label":"C", "x":4.25, "y":5},
                {"label":"V", "x":5.25, "y":5},
                {"label":"B", "x":6.25, "y":5},
                {"label":"N", "x":7.25, "y":5},
                {"label":"M", "x":8.25, "y":5},
                {"label":"<", "x":9.25, "y":5},
                {"label":">", "x":10.25, "y":5},
                {"label":"?", "x":11.25, "y":5},
                {"label":"Shift", "x":12.25, "y":5, "w":1.75},
                {"label":"Up", "x":14.25, "y":5.25},
                {"label":"1", "x":15.5, "y":5},
                {"label":"2", "x":16.5, "y":5},
                {"label":"3", "x":17.5, "y":5},
                {"label":"Enter", "x":18.5, "y":5},

                {"label":"LCtrl", "x":0, "y":6},
                {"label":"LGui", "x":1, "y":6},
                {"label":"LAlt", "x":2, "y":6},
                {"label":"Space", "x":3, "y":6, "w":6},
                {"label":"RAlt", "x":9, "y":6},
                {"label":"RGui", "x":10, "y":6},
                {"label":"Menu", "x":11, "y":6},
                {"label":"LCtrl", "x":12, "y":6},
                {"label":"Left", "x":13.25, "y":6.25},
                {"label":"Down", "x":14.25, "y":6.25},
                {"label":"Right", "x":15.25, "y":6.25},
                {"label":"0", "x":16.5, "y":6},
                {"label":".", "x":17.5, "y":6},
                {"label":"Enter", "x":18.5, "y":6}
            ]
        }
    }
}

M keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h => keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h +5 -0
@@ 26,3 26,8 @@
    //Always send Escape if Control is pressed

#define TAPPING_TERM 180

#ifdef RGB_MATRIX_ENABLE
    #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR
    #define RGB_DISABLE_WHEN_USB_SUSPENDED true
#endif

M keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c => keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c +188 -31
@@ 16,6 16,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H
#include "rgb_matrix_map.h"

#define ARRAYSIZE(arr)  sizeof(arr)/sizeof(arr[0])

enum custom_layers {
    _BASE,


@@ 27,6 30,8 @@ enum custom_layers {
enum custom_keycodes {
  KC_00 = SAFE_RANGE,
  KC_WINLCK,    //Toggles Win key on and off
  RGB_TOI,   // Timeout idle time up
  RGB_TOD,   // Timeout idle time down
};

// Tap Dance Definitions


@@ 43,31 48,6 @@ qk_tap_dance_action_t tap_dance_actions[] = {

bool _isWinKeyDisabled = false;

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
    case KC_00:
        if (record->event.pressed) {
            // when keycode KC_00 is pressed
            SEND_STRING("00");
        } else {
            // when keycode KC_00 is released
        }
        break;

    case KC_WINLCK:
        if (record->event.pressed) {
            _isWinKeyDisabled = !_isWinKeyDisabled; //toggle status
            if(_isWinKeyDisabled) {
                process_magic(GUI_OFF, record);
            } else {
                process_magic(GUI_ON, record);
            }
        } else  unregister_code16(keycode);
        break;
    }
    return true;
};


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



@@ 93,8 73,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          RGB_TOG,
        _______, _______, RGB_VAI, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RESET,            KC_HOME,
        KC_CAPS, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,          KC_END,
        _______,          _______, RGB_HUI, _______, _______, _______, KC_NLCK, _______, _______, _______, _______,          _______, RGB_MOD, _______,
        _______, KC_WINLCK, _______,                            _______,                            _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
        _______,          _______, RGB_HUI, _______, _______, _______, KC_NLCK, _______, RGB_TOD, RGB_TOI, _______,          _______, RGB_MOD, _______,
        _______, KC_WINLCK, _______,                            _______,                          _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
    ),

    [_MO2] = LAYOUT(


@@ 117,12 97,93 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

};


// TIMEOUTS
#define TIMEOUT_THRESHOLD_DEFAULT   5    // default timeout minutes
#define TIMEOUT_THRESHOLD_MAX       140  // upper limits (2 hours and 10 minutes -- no rgb indicators above this value)
static uint16_t timeout_timer = 0;
static uint16_t timeout_counter = 0;  //in minute intervals
static uint16_t timeout_threshold = TIMEOUT_THRESHOLD_DEFAULT;

void timeout_reset_timer(void) {
    timeout_timer = timer_read();
    timeout_counter = 0;
};

void timeout_update_threshold(bool increase) {
    if (increase && timeout_threshold < TIMEOUT_THRESHOLD_MAX) timeout_threshold++;
    if (!increase && timeout_threshold > 0) timeout_threshold--;
};


bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
    case KC_00:
        if (record->event.pressed) {
            // when keycode KC_00 is pressed
            SEND_STRING("00");
        } else {
            // when keycode KC_00 is released
        }
        break;
    case KC_WINLCK:
        if (record->event.pressed) {
            _isWinKeyDisabled = !_isWinKeyDisabled; //toggle status
            if(_isWinKeyDisabled) {
                process_magic(GUI_OFF, record);
            } else {
                process_magic(GUI_ON, record);
            }
        } else  unregister_code16(keycode);
        break;
    case RGB_TOI:
        if(record->event.pressed) {
            timeout_update_threshold(true);
        } else  unregister_code16(keycode);
        break;
    case RGB_TOD:
        if(record->event.pressed) {
             timeout_update_threshold(false);  //decrease timeout
        } else  unregister_code16(keycode);
        break;
    default:
        if (record->event.pressed) { //reset activity timer
            #ifdef RGB_MATRIX_ENABLE
                rgb_matrix_enable();
            #endif
            timeout_reset_timer();
        }
        break;
    }
    return true;
};

void matrix_scan_user(void) {
    if (timeout_threshold > 0) {
        if (timer_elapsed(timeout_timer) >= 60000) { // 1 minute tick
            timeout_counter++;
            timeout_timer = timer_read();
        }
        #ifdef RGB_MATRIX_ENABLE
            if (timeout_threshold > 0 && timeout_counter >= timeout_threshold) {
                rgb_matrix_disable_noeeprom();
            }
        #endif
    } // timeout_threshold = 0 will disable timeout
};


#ifdef ENCODER_ENABLE       // Encoder Functionality
    uint8_t selected_layer = 0;

    bool encoder_update_user(uint8_t index, bool clockwise) {

        if ( clockwise ) {
            if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, Page up
            if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers
                if(selected_layer  < 3) {
                    selected_layer ++;
                    layer_move(selected_layer);
                }
            } else if (keyboard_report->mods & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, Page up
                unregister_mods(MOD_BIT(KC_LSFT));
                register_code(KC_PGDN);
                register_mods(MOD_BIT(KC_LSFT));


@@ 131,10 192,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
            } else if (keyboard_report->mods & MOD_BIT(KC_LALT)) {  // if holding Left Alt, change media next track
                tap_code(KC_MEDIA_NEXT_TRACK);
            } else  {
                tap_code(KC_VOLU);                                                   // Otherwise it just changes volume
                switch (selected_layer) {
                case _FN1:
                    timeout_update_threshold(true);
                    break;
                default:
                    tap_code(KC_VOLU);       // Otherwise it just changes volume
                    break;
                }
            }
        } else {
            if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) {
                if (selected_layer  > 0) {
                    selected_layer --;
                    layer_move(selected_layer);
                }
            } else if (keyboard_report->mods & MOD_BIT(KC_RSFT) ) {
                unregister_mods(MOD_BIT(KC_LSFT));
                register_code(KC_PGUP);
                register_mods(MOD_BIT(KC_LSFT));


@@ 143,9 216,93 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
            } else if (keyboard_report->mods & MOD_BIT(KC_LALT)) {  // if holding Left Alt, change media previous track
                tap_code(KC_MEDIA_PREV_TRACK);
            } else {
                tap_code(KC_VOLD);
                switch (selected_layer) {
                case _FN1:
                    timeout_update_threshold(false);
                    break;
                default:
                    tap_code(KC_VOLD);
                    break;
                }
            }
        }

        return true;
    }
#endif

#ifdef RGB_MATRIX_ENABLE
    // Capslock, Scroll lock and Numlock  indicator on Left side lights.
    void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
        if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) {
            rgb_matrix_set_color(LED_L1, RGB_GREEN);
            rgb_matrix_set_color(LED_L2, RGB_GREEN);
        }
        if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) {   // on if NUM lock is OFF
            rgb_matrix_set_color(LED_L3, RGB_MAGENTA);
            rgb_matrix_set_color(LED_L4, RGB_MAGENTA);
        }
        if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
            rgb_matrix_set_color(LED_L5, RGB_RED);
            rgb_matrix_set_color(LED_L6, RGB_RED);
            rgb_matrix_set_color(LED_L7, RGB_RED);
        }
        if (_isWinKeyDisabled) {
            rgb_matrix_set_color(LED_LWIN, RGB_RED);  //light up Win key when disabled
        }
        switch(get_highest_layer(layer_state)){  // special handling per layer
        case _FN1:  // on Fn layer select what the encoder does when pressed
            rgb_matrix_set_color(LED_R2, RGB_RED);
            rgb_matrix_set_color(LED_R3, RGB_RED);
            rgb_matrix_set_color(LED_R4, RGB_RED);
            rgb_matrix_set_color(LED_FN, RGB_RED); //FN key

            // Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row;  larger numbers using 16bit code
            if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_RED);
            else if (timeout_threshold < 140) {
                rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_RED);
                rgb_matrix_set_color(LED_LIST_NUMROW[(timeout_threshold % 10)], RGB_RED);
            } else { // >= 140 minutes, just show these 3 lights
                rgb_matrix_set_color(LED_LIST_NUMROW[10], RGB_RED);
                rgb_matrix_set_color(LED_LIST_NUMROW[11], RGB_RED);
                rgb_matrix_set_color(LED_LIST_NUMROW[12], RGB_RED);
            }
            break;
        case _MO2:
            for (uint8_t i=0; i<ARRAYSIZE(LED_LIST_NUMPAD); i++) {
                rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_MAGENTA);
            }
            rgb_matrix_set_color(LED_R4, RGB_MAGENTA);
            rgb_matrix_set_color(LED_R5, RGB_MAGENTA);
            rgb_matrix_set_color(LED_R6, RGB_MAGENTA);
            break;
        case _MO3:
            rgb_matrix_set_color(LED_R6, RGB_GREEN);
            rgb_matrix_set_color(LED_R7, RGB_GREEN);
            rgb_matrix_set_color(LED_R8, RGB_GREEN);
            break;
        default:
            break;
        }
    }

    void suspend_power_down_user(void) {
        rgb_matrix_set_suspend_state(true);
    }

    void suspend_wakeup_init_user(void) {
        rgb_matrix_set_suspend_state(false);
    }
#endif


void keyboard_post_init_user(void) {

    if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // turn on Num lock by defautl so that the numpad layer always has predictable results
        tap_code(KC_NUMLOCK);
    }
    timeout_timer = timer_read(); // set inital time for ide timeout
    #ifdef RGB_MATRIX_ENABLE
        rgb_matrix_set_color_all(RGB_NAUTILUS); // Default startup colour
    #endif
}

M keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md => keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md +19 -3
@@ 1,6 1,6 @@
# jonavin's GMMK Pro layout

- Add all the non-RGB related keys from Glorious Core default mapping that's missing in the default qmk mapping
- Add Fn layer keys from Glorious Core mapping that's missing in the default qmk mapping
- Add PrtScr, Scroll Lock, Break, NumLock to Fn layer
- Implement Win key lock using Fn+Win like in Glorious Core firmware
- Layer 2 mod on Caps Lock with double-tap to switch to this layer, double tap to switch back


@@ 8,17 8,33 @@
- Layer 2 left spacebar Backspace
- add double tap of Left Shift to toggle Caps Lock
- additional encoder functionality
    - holding L shift, Navigate page up/down
    - FN Layer - change rgb idle timeout
    - holding Left shift, change layers
    - holding right shift, Navigate page up/down
    - holding Left Ctrl, navigate prev/next word
    - holding Left Alt, change media prev/next track
    - default is change volume
    
- LED/RGB Functionality
    - RGB idle timeout (default 5 minutes)
        - Can be changed in FN layer with < and > or encoder
        - setting to zero disables timeout
        - indicators in FN layer using RGB in FN and number rows to show the timeout in minutes
    - LED address location map as enum definition
    - LED group lists for arrows, numpad, F row, num row, left and right side LEDs
    - default startuo in single mode with default colour 
    - Capslock, Scroll Lock, and Num Lock (not set) indicator on left side LED
    - Layer indicator on right side LED
    - Fn key light up red when Fn layer activate
    - Win Key light up red when Win Lock mode enabled
    - Layer 2 activation lights up Numpad area

## All layers diagram
Default layer
![image](https://user-images.githubusercontent.com/71780717/124177658-82324880-da7e-11eb-9421-b69100131062.png)

Fn Layer
![image](https://user-images.githubusercontent.com/71780717/124176887-8742c800-da7d-11eb-9b19-156bd67cac7d.png)
![image](https://user-images.githubusercontent.com/71780717/126086069-bc539ffc-3ab6-4ebb-9bef-5005f8add294.png)

Layer 2 (Caps Lock Mod)
![image](https://user-images.githubusercontent.com/71780717/124177683-8b231a00-da7e-11eb-9434-e2475f679a54.png)

A keyboards/gmmk/pro/keymaps/jonavin/rgb_matrix_map.h => keyboards/gmmk/pro/keymaps/jonavin/rgb_matrix_map.h +144 -0
@@ 0,0 1,144 @@
/* Copyright 2021 Jonavin Eng
 *
 * 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/>.
 */

#ifdef RGB_MATRIX_ENABLE

    // Custom RGB Colours
    #define RGB_GODSPEED 0x00, 0xE4, 0xFF // colour for matching keycaps
    #define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Naurilus Font colours

    // RGB LED locations
    enum led_location_map {
        LED_ESC, // 0, ESC, k13
        LED_GRV, // 1, ~, k16
        LEB_TAB, // 2, Tab, k11
        LED_CAPS, // 3, Caps, k21
        LED_LSFT, // 4, Sh_L, k00
        LED_LCTL, // 5, Ct_L, k06
        LED_F1, // 6, F1, k26
        LED_1, // 7, 1, k17
        LED_Q, // 8, Q, k10
        LED_A, // 9, A, k12
        LED_Z, // 10, Z, k14
        LED_LWIN, // 11, Win_L, k90
        LED_F2, // 12, F2, k36
        LED_2, // 13, 2, k27
        LED_W, // 14, W, k20
        LED_S, // 15, S, k22
        LED_X, // 16, X, k24
        LED_LALT, // 17, Alt_L, k93
        LED_F3, // 18, F3, k31
        LED_3, // 19, 3, k37
        LED_E, // 20, E, k30
        LED_D, // 21, D, k32
        LED_C, // 22, C, k34
        LED_F4, // 23, F4, k33
        LED_4, // 24, 4, k47
        LED_R, // 25, R, k40
        LED_F, // 26, F, k42
        LED_V, // 27, V, k44
        LED_F5, // 28, F5, k07
        LED_5, // 29, 5, k46
        LED_T, // 30, T, k41
        LED_G, // 31, G, k43
        LED_B, // 32, B, k45
        LED_SPC, // 33, SPACE, k94
        LED_F6, // 34, F6, k63
        LED_6, // 35, 6, k56
        LED_Y, // 36, Y, k51
        LED_H, // 37, H, k53
        LED_N, // 38, N, k55
        LED_F7, // 39, F7, k71
        LED_7, // 40, 7, k57
        LED_U, // 41, U, k50
        LED_J, // 42, J, k52
        LED_M, // 43, M, k54
        LED_F8, // 44, F8, k76
        LED_8, // 45, 8, k67
        LED_I, // 46, I, k60
        LED_K, // 47, K, k62
        LED_COMM, // 48, ,, k64
        LED_RALT, // 49, Alt_R, k95
        LED_F9, // 50, F9, ka6
        LED_9, // 51, 9, k77
        LED_O, // 52, O, k70
        LED_L, // 53, L, k72
        LED_DOT, // 54, ., k74
        LED_FN, // 55, FN, k92
        LED_F10, // 56, F10, ka7
        LED_0, // 57, 0, k87
        LED_P, // 58, P, k80
        LED_SCLN, // 59, ;, k82
        LED_SLSH, // 60, ?, k85
        LED_F11, // 61, F11, ka3
        LED_MINS, // 62, -, k86
        LED_LBRC, // 63, [, k81
        LED_QUOT, // 64, ", k83
        LED_RCTL, // 65, Ct_R, k04
        LED_F12, // 66, F12, ka5
        LED_L1, // 67, LED, l01
        LED_R1, // 68, LED, l11
        LED_INS, // 69, Prt, k97  -- remapped to INS
        LED_L2, // 70, LED, l02
        LED_R2, // 71, LED, l12
        LED_DEL, // 72, Del, k65
        LED_L3, // 73, LED, l03
        LED_R3, // 74, LED, l13
        LED_PGUP, // 75, PgUp, k15
        LED_L4, // 76, LED, l04
        LED_R4, // 77, LED, l14
        LED_EQL, // 78, =, k66
        LED_RIGHT, // 79, Right, k05
        LED_L5, // 80, LED, l05
        LED_R5, // 81, LED, l15
        LED_END, // 82, End, k75
        LED_L6, // 83, LED, l06
        LED_R6, // 84, LED, l16
        LED_BSPC, // 85, BSpc, ka1
        LED_PGDN, // 86, PgDn, k25
        LED_L7, // 87, LED, l07
        LED_R7, // 88, LED, l17
        LED_RBRC, // 89, ], k61
        LED_RSFT, // 90, Sh_R, k91
        LED_L8, // 91, LED, l08
        LED_R8, // 92, LED, l18
        LED_BSLS, // 93, \, ka2
        LED_UP, // 94, Up, k35
        LED_LEFT, // 95, Left, k03
        LED_ENT, // 96, Enter, ka4
        LED_DOWN // 97, Down, k73
    };

    const uint8_t LED_LIST_WASD[] = { LED_W, LED_A, LED_S, LED_D };

    const uint8_t LED_LIST_ARROWS[] = { LED_LEFT, LED_RIGHT, LED_UP, LED_DOWN };

    const uint8_t LED_LIST_FUNCROW[] = { LED_ESC, LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, LED_F9, LED_F10, LED_F11, LED_F12, LED_INS};

    const uint8_t LED_LIST_NUMROW[] = { LED_GRV, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, LED_BSPC, LED_DEL};

    const uint8_t LED_LIST_NUMPAD[] = {
        LED_7, LED_8, LED_9,
        LED_U, LED_I, LED_O,
        LED_J, LED_K, LED_L,
        LED_M, LED_COMM, LED_DOT
        };

    const uint8_t LED_SIDE_LEFT[] = { LED_L1, LED_L2, LED_L3, LED_L4, LED_L5, LED_L6, LED_L7, LED_L8};

    const uint8_t LED_SIDE_RIGHT[] = { LED_R1, LED_R2, LED_R3, LED_R4, LED_R5, LED_R6, LED_R7, LED_R8};

#endif

M keyboards/keebio/quefrency/keymaps/jonavin/config.h => keyboards/keebio/quefrency/keymaps/jonavin/config.h +6 -0
@@ 37,3 37,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    //Always send Escape if Control is pressed

#define TAPPING_TERM 180

#ifdef RGBLIGHT_ENABLE
    #define RGBLIGHT_LAYERS
    #define RGBLIGHT_SLEEP
#endif // RGBLIGHT_ENABLE


M keyboards/keebio/quefrency/keymaps/jonavin/keymap.c => keyboards/keebio/quefrency/keymaps/jonavin/keymap.c +95 -18
@@ 17,7 17,6 @@

#include QMK_KEYBOARD_H


// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them


@@ 31,6 30,7 @@ enum custom_layers {

enum custom_keycodes {
  DOUBLEZERO = SAFE_RANGE,
  KC_WINLCK,   //Toggles Win key on and off
};

// Tap Dance Definitions


@@ 45,19 45,12 @@ qk_tap_dance_action_t tap_dance_actions[] = {

#define KC_LSFTCAPS TD(TD_LSFT_CAPSLOCK)

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
    case DOUBLEZERO:
        if (record->event.pressed) {
            // when keycode DOUBLEZERO is pressed
            SEND_STRING("00");
        } else {
            // when keycode DOUBLEZERO is released
        }
        break;
    }
    return true;
};
bool _isWinKeyDisabled = false;

#ifdef RGBLIGHT_ENABLE
    // Custom RGB Colours
    #define RGB_GODSPEED 0x00, 0xE4, 0xFF // colour for matching keycaps
#endif // RGBLIGHT_ENABLE

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_BASE] = LAYOUT_65(


@@ 68,10 61,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      KC_LCTL, KC_LGUI, KC_LALT, LT(_FN1, KC_SPC), KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
    [_FN1] = LAYOUT_65(
      KC_TRNS, 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_F13, KC_CALC, KC_NO,
      RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
      KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_HOME,
      KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RCTL(KC_PGUP), KC_END,
      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, RCTL(KC_LEFT), RCTL(KC_PGDN), RCTL(KC_RIGHT)),
      RGB_TOG, RGB_MOD, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
      KC_CAPS, KC_NO, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_HOME,
      KC_TRNS, KC_NO, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_MOD, KC_END,
      KC_TRNS, KC_WINLCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, RGB_SPD, RGB_RMOD, RGB_SPI),
    [_MO2] = LAYOUT_65(
      KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_PSLS, KC_PEQL, KC_TRNS,
      KC_TAB, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS,


@@ 86,6 79,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
};


bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
    case DOUBLEZERO:
        if (record->event.pressed) {
            // when keycode DOUBLEZERO is pressed
            SEND_STRING("00");
        } else {
            // when keycode DOUBLEZERO is released
        }
        break;
    case KC_WINLCK:
        if (record->event.pressed) {
            _isWinKeyDisabled = !_isWinKeyDisabled; //toggle status
            if(_isWinKeyDisabled) {
                process_magic(GUI_OFF, record);
            } else {
                process_magic(GUI_ON, record);
            }
        } else  unregister_code16(keycode);
        break;
    }
    return true;
};

#ifdef ENCODER_ENABLE       // Encoder Functionality
bool encoder_update_user(uint8_t index, bool clockwise) {
    switch (index)


@@ 128,3 146,62 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
    return true;
}
#endif

#ifdef RGBLIGHT_ENABLE

    enum custom_rgblight_layers
    {
        _rgbCAPS,
        _rgbWINLOCK,
        _rgbFN,
        _rgbNUMPAD,
    };

    // RGB map LEFT 1, 2, 3, 12, 13, 14, 15, 0  RIGHT 7, 6, 5, 4, 11, 10, 9, 8
    const rgblight_segment_t PROGMEM _rgb_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
        {14, 1, HSV_RED}       // Light 4 LEDs, starting with LED 6
    );
    const rgblight_segment_t PROGMEM _rgb_winlock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
        {13, 1, HSV_PURPLE}       // Light 4 LEDs, starting with LED 6
    );
    const rgblight_segment_t PROGMEM _rgb_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS(
        {9, 2, HSV_ORANGE},
        {12, 2, HSV_ORANGE}
    );
    // Light LEDs 9 & 10 in cyan when keyboard layer 1 is active
    const rgblight_segment_t PROGMEM _rgb_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS(
        {4, 3, HSV_PURPLE},
        {9, 3, HSV_PURPLE}
    );

    const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST(
        _rgb_capslock_layer,
        _rgb_winlock_layer,
        _rgb_fn_layer,
        _rgb_numpad_layer
    );

    bool led_update_user(led_t led_state) {
        rgblight_set_layer_state(_rgbCAPS, led_state.caps_lock);
        rgblight_set_layer_state(_rgbWINLOCK, _isWinKeyDisabled);
        return true;
    }

    layer_state_t layer_state_set_user(layer_state_t state) {
        rgblight_set_layer_state(_rgbFN, layer_state_cmp(state, _FN1));
        rgblight_set_layer_state(_rgbNUMPAD, layer_state_cmp(state, _MO2));
        return state;
    }
#endif // RGBLIGHT_ENABLE

void keyboard_post_init_user(void) {

    if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // turn on Num lock by defautl so that the numpad layer always has predictable results
        tap_code(KC_NUMLOCK);
    }
    #ifdef RGBLIGHT_ENABLE
        rgblight_mode(1); // single colour mode
        rgblight_setrgb(RGB_GODSPEED); // Default startup colour
        rgblight_layers = _rgb_layers;
    #endif
}

M keyboards/keebio/quefrency/keymaps/jonavin/readme.md => keyboards/keebio/quefrency/keymaps/jonavin/readme.md +13 -1
@@ 7,12 7,24 @@
- ESC is set to GRAVESC (Esc when pressed, Shift-Esc is ~  and Win-ESC is `), plus handling for Ctrl-Shift-ESC to bring up Task Manager in Windows 
- Layer 2 left spacebar Backspace
- add double tap of Left Shift to toggle Caps Lock
- add Win Key lock function using Fn+Win
- additional encoder functionality
    - holding L shift, Navigate page up/down
    - holding Left Ctrl, navigate prev/next word
    - holding Left Alt, change media prev/next track
    - default is change volume
- RGB Functionality
    - additional RGB function key binds to arrow on Fn layer
    - Add capslock indicator, win key lock indicator
    - Fn and layer 2 indicators using RGB underglow

## All layers diagram

![image](https://user-images.githubusercontent.com/71780717/118903429-c52cc800-b8e5-11eb-9c45-3d9815a50123.png)
Default Layer
![image](https://user-images.githubusercontent.com/71780717/127251683-ad445b40-95a9-4d2a-b164-a96f3a13464e.png)

MO(1) / FN layer
![image](https://user-images.githubusercontent.com/71780717/127251736-047f2f73-dfff-4fcc-bf0e-a5378e2fee08.png)

MO(2) / Numpad layer
![image](https://user-images.githubusercontent.com/71780717/127251985-4f564a56-8836-4db0-9cbd-ec859755a8d9.png)

A keyboards/noxary/378/378.c => keyboards/noxary/378/378.c +18 -0
@@ 0,0 1,18 @@
/*
Copyright 2015 Álvaro "Gondolindrim" Volpato  <gondolindrim@acheronproject.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/>.
*/

#include "378.h"

A keyboards/noxary/378/378.h => keyboards/noxary/378/378.h +36 -0
@@ 0,0 1,36 @@
/*
Copyright 2015 Álvaro "Gondolindrim" Volpato  <gondolindrim@acheronproject.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 "quantum.h"

#define ___ KC_NO

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

A keyboards/noxary/378/chconf.h => keyboards/noxary/378/chconf.h +30 -0
@@ 0,0 1,30 @@
/* Copyright 2020 QMK
 *
 * 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/>.
 */

/*
 * This file was auto-generated by:
 *    `qmk chibios-confmigrate -i keyboards/acheron/arctic/chconf.h -r platforms/chibios/common/configs/chconf.h`
 */

#pragma once

#define CH_CFG_ST_FREQUENCY 10000

#define CH_CFG_OPTIMIZE_SPEED FALSE

#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE

#include_next <chconf.h>

A keyboards/noxary/378/config.h => keyboards/noxary/378/config.h +71 -0
@@ 0,0 1,71 @@
/*
Copyright 2015 Álvaro "Gondolindrim" Volpato  <gondolindrim@acheronproject.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

/* USB Device descriptor parameter */
#define VENDOR_ID       0x4E58 //"NX"
#define PRODUCT_ID      0x017A // 378
#define DEVICE_VER      0x0001
#define MANUFACTURER    Noxary
#define PRODUCT         Noxary 378


/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17

#define MATRIX_COL_PINS { A7 , A3 , B9 , B8 , B7 , B6 , B5 , B4 , B3 , A15, A2 , A1 , A0 , F1 , F0 , C14 , C15 }
#define MATRIX_ROW_PINS { A10, B11, A4 , A5 , A6 }
#define DIODE_DIRECTION COL2ROW

//#define BACKLIGHT_PIN           A6
//#define BACKLIGHT_PWM_DRIVER    PWMD3
//#define BACKLIGHT_PWM_CHANNEL   1
//#define BACKLIGHT_PAL_MODE      1
//#define BACKLIGHT_LEVELS 6
//#define BACKLIGHT_BREATHING
//#define BREATHING_PERIOD 6

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

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

A keyboards/noxary/378/keymaps/default/keymap.c => keyboards/noxary/378/keymaps/default/keymap.c +27 -0
@@ 0,0 1,27 @@
/*
Copyright 2012,2013 Jun Wako <wakojun@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/>.
*/
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [0] = LAYOUT_all(
        KC_F1  , KC_F6  , KC_GESC, 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_BSPC,
        KC_F2  , KC_F7  , 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_PSCR,
        KC_F3  , KC_F8  , 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_HOME, KC_DEL ,
        KC_F4  , KC_F9  , 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_END ,
        KC_F5  , KC_F10 , KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                   KC_RALT,                   KC_LEFT, KC_DOWN, KC_RGHT
)
};

A keyboards/noxary/378/keymaps/via/keymap.c => keyboards/noxary/378/keymaps/via/keymap.c +48 -0
@@ 0,0 1,48 @@
/*
Copyright 2012,2013 Jun Wako <wakojun@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/>.
*/
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [0] = LAYOUT_all(
        KC_F1  , KC_F6  , KC_GESC, 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_BSPC,
        KC_F2  , KC_F7  , 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_PSCR,
        KC_F3  , KC_F8  , 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_HOME, KC_DEL ,
        KC_F4  , KC_F9  , 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_END ,
        KC_F5  , KC_F10 , KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                   KC_RALT,                   KC_LEFT, KC_DOWN, KC_RGHT
),
   [1] = LAYOUT_all(
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,  
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                   KC_TRNS,                   KC_TRNS, KC_TRNS, KC_TRNS
),
   [2] = LAYOUT_all(
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,  
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                   KC_TRNS,                   KC_TRNS, KC_TRNS, KC_TRNS
),
   [3] = LAYOUT_all(
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,  
	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                   KC_TRNS,                   KC_TRNS, KC_TRNS, KC_TRNS
)
};

R keyboards/ramonimbao/mona/keymaps/via/rules.mk => keyboards/noxary/378/keymaps/via/rules.mk +0 -0
A keyboards/noxary/378/mcuconf.h => keyboards/noxary/378/mcuconf.h +24 -0
@@ 0,0 1,24 @@
/* Copyright 2020 QMK
 *
 * 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/>.
 */

/*
 * This file was auto-generated by:
 *    `qmk chibios-confmigrate -i keyboards/acheron/arctic/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
 */

#pragma once

#include_next <mcuconf.h>

A keyboards/noxary/378/readme.md => keyboards/noxary/378/readme.md +15 -0
@@ 0,0 1,15 @@
# Noxary 378

![Noxary 378](https://cdn.shopify.com/s/files/1/0071/6377/3043/products/red.left.708_900x.png)

A customizable 65% keyboard with ten macro keys

* Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim)
* Hardware Supported: proprietary NX378PCB
* Hardware Availability: [Noxary](https://noxary.co/collections/378)

Make example for this keyboard (after setting up your build environment):

    make noxary/378:default

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/noxary/378/rules.mk => keyboards/noxary/378/rules.mk +25 -0
@@ 0,0 1,25 @@
# MCU name
MCU = STM32F072

# Bootloader selection
BOOTLOADER = stm32-dfu

# Build options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = full      # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes           # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output

# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE

M keyboards/ramonimbao/mona/rules.mk => keyboards/ramonimbao/mona/rules.mk +1 -22
@@ 1,22 1,1 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output
DEFAULT_FOLDER = ramonimbao/mona/v1_1

R keyboards/ramonimbao/mona/config.h => keyboards/ramonimbao/mona/v1/config.h +0 -0
R keyboards/ramonimbao/mona/info.json => keyboards/ramonimbao/mona/v1/info.json +0 -0
R keyboards/ramonimbao/mona/keymaps/default/keymap.c => keyboards/ramonimbao/mona/v1/keymaps/default/keymap.c +0 -0
R keyboards/ramonimbao/mona/keymaps/iso/keymap.c => keyboards/ramonimbao/mona/v1/keymaps/iso/keymap.c +0 -0
R keyboards/ramonimbao/mona/keymaps/via/keymap.c => keyboards/ramonimbao/mona/v1/keymaps/via/keymap.c +0 -0
R keyboards/xd60/keymaps/shura30/rules.mk => keyboards/ramonimbao/mona/v1/keymaps/via/rules.mk +0 -0
R keyboards/ramonimbao/mona/readme.md => keyboards/ramonimbao/mona/v1/readme.md +2 -2
@@ 10,10 10,10 @@ A gummy-worm o-ring mount 60% marble keyboard.

Make example for this keyboard (after setting up your build environment):

    make ramonimbao/mona:default
    make ramonimbao/mona/v1:default

Flashing example for this keyboard:

    make ramonimbao/mona:default:flash
    make ramonimbao/mona/v1:default:flash

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/ramonimbao/mona/v1/rules.mk => keyboards/ramonimbao/mona/v1/rules.mk +22 -0
@@ 0,0 1,22 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output

A keyboards/ramonimbao/mona/v1/v1.c => keyboards/ramonimbao/mona/v1/v1.c +17 -0
@@ 0,0 1,17 @@
/* Copyright 2021 Ramon Imbao
 *
 * 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 "v1.h"

R keyboards/ramonimbao/mona/mona.h => keyboards/ramonimbao/mona/v1/v1.h +0 -0
A keyboards/ramonimbao/mona/v1_1/config.h => keyboards/ramonimbao/mona/v1_1/config.h +62 -0
@@ 0,0 1,62 @@
/*
Copyright 2020 Ramon Imbao

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    0xB16B
#define PRODUCT_ID   0x404B
#define DEVICE_VER   0x0011
#define MANUFACTURER Ramon Imbao
#define PRODUCT      Mona

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15

/*
 * 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)
 *
 */
#define MATRIX_ROW_PINS { D1, D5, B7, F0, F1 }
#define MATRIX_COL_PINS { D0, D3, D2, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* indicator LEDs */
#define LED_CAPS_LOCK_PIN B3

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

/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST


/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

A keyboards/ramonimbao/mona/v1_1/info.json => keyboards/ramonimbao/mona/v1_1/info.json +505 -0
@@ 0,0 1,505 @@
{
    "keyboard_name": "Mona",
    "url": "",
    "maintainer": "Ramon Imbao",
    "width": 15,
    "height": 5,
    "layouts": {
        "LAYOUT_60_ansi": {
            "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, "w":2},
                {"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":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":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":2.75},

                {"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":12.5, "y":4, "w":1.25},
                {"x":13.75, "y":4, "w":1.25}
            ]
        },
        "LAYOUT_60_tsangan_hhkb": {
            "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":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":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":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":0, "y":4, "w":1.5},
                {"x":1.5, "y":4},
                {"x":2.5, "y":4, "w":1.5},
                {"x":4, "y":4, "w":7},
                {"x":11, "y":4, "w":1.5},
                {"x":12.5, "y":4},
                {"x":13.5, "y":4, "w":1.5}
            ]
        },
        "LAYOUT_60_iso": {
            "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, "w":2},

                {"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.75, "y":1, "w":1.25, "h":2},

                {"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},

                {"x":0, "y":3, "w":1.25},
                {"x":1.25, "y":3},
                {"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":2.75},

                {"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":12.5, "y":4, "w":1.25},
                {"x":13.75, "y":4, "w":1.25}
            ]
        },
        "LAYOUT_60_iso_split_bs_rshift": {
            "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":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.75, "y":1, "w":1.25, "h":2},

                {"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},

                {"x":0, "y":3, "w":1.25},
                {"x":1.25, "y":3},
                {"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":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":12.5, "y":4, "w":1.25},
                {"x":13.75, "y":4, "w":1.25}
            ]
        },
        "LAYOUT_60_iso_tsangan": {
            "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, "w":2},

                {"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.75, "y":1, "w":1.25, "h":2},

                {"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},

                {"x":0, "y":3, "w":1.25},
                {"x":1.25, "y":3},
                {"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":2.75},

                {"x":0, "y":4, "w":1.5},
                {"x":1.5, "y":4},
                {"x":2.5, "y":4, "w":1.5},
                {"x":4, "y":4, "w":7},
                {"x":11, "y":4, "w":1.5},
                {"x":12.5, "y":4},
                {"x":13.5, "y":4, "w":1.5}
            ]
        },
        "LAYOUT_60_iso_split_bs_rshift": {
            "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":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":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":0, "y":3, "w":1.25},
                {"x":1.25, "y":3},
                {"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":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":12.5, "y":4, "w":1.25},
                {"x":13.75, "y":4, "w":1.25}
            ]
        },
        "LAYOUT_all": {
            "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":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":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":0, "y":3, "w":1.25},
                {"x":1.25, "y":3},
                {"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":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":2.5},
                {"x":6.25, "y":4},
                {"x":7.25, "y":4, "w":2.75},
                {"x":10, "y":4, "w":1.25},
                {"x":11.25, "y":4, "w":1.25},
                {"x":12.5, "y":4, "w":1.25},
                {"x":13.75, "y":4, "w":1.25}
            ]
        }
    }
}

A keyboards/ramonimbao/mona/v1_1/keymaps/default/keymap.c => keyboards/ramonimbao/mona/v1_1/keymaps/default/keymap.c +34 -0
@@ 0,0 1,34 @@
/* Copyright 2020 Ramon Imbao
 *
 * 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_60_ansi(
        KC_GESC, 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_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_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,
        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_RGUI, MO(1),   KC_RCTL
    ),

    [1] = LAYOUT_60_ansi(
        _______, 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,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______
    )
};

A keyboards/ramonimbao/mona/v1_1/keymaps/iso/keymap.c => keyboards/ramonimbao/mona/v1_1/keymaps/iso/keymap.c +34 -0
@@ 0,0 1,34 @@
/* Copyright 2020 Ramon Imbao
 *
 * 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_60_iso(
        KC_GESC, 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_ENT,
        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_NUHS,
        KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,
        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_RGUI, MO(1),   KC_RCTL
    ),

    [1] = LAYOUT_60_iso(
        _______, 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,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______
    )
};

A keyboards/ramonimbao/mona/v1_1/keymaps/via/keymap.c => keyboards/ramonimbao/mona/v1_1/keymaps/via/keymap.c +48 -0
@@ 0,0 1,48 @@
/* Copyright 2020 Ramon Imbao
 *
 * 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_all(
        KC_GESC, 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_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_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_LSFT, KC_NO,   KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1),
        KC_LCTL, KC_LGUI, KC_LALT,          KC_NO,            KC_SPC,           KC_NO,            KC_RALT, KC_RGUI, KC_APP,  KC_RCTL
    ),

    [1] = LAYOUT_all(
        RESET,   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_DEL,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______,          _______,          _______,          _______,          _______, _______, _______, _______
    ),
    [2] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______,          _______,          _______,          _______,          _______, _______, _______, _______
    ),
    [3] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______,          _______,          _______,          _______,          _______, _______, _______, _______
    )
};

A keyboards/ramonimbao/mona/v1_1/keymaps/via/rules.mk => keyboards/ramonimbao/mona/v1_1/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes

A keyboards/ramonimbao/mona/v1_1/readme.md => keyboards/ramonimbao/mona/v1_1/readme.md +20 -0
@@ 0,0 1,20 @@
# Mona v1.1

![Mona v1.1](https://i.imgur.com/VaWcIkjl.png)

A gummy-worm o-ring mount 60% marble keyboard. Now with ALPS/MX, Caps Lock LED, and split spacebar support.

* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
* Hardware Supported: ATmega32u4

To get to the bootloader, with the USB cable plugged in, press the `RESET` button on the back of the PCB.

Make example for this keyboard (after setting up your build environment):

    make ramonimbao/mona:default

Flashing example for this keyboard:

    make ramonimbao/mona:default:flash

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/ramonimbao/mona/v1_1/rules.mk => keyboards/ramonimbao/mona/v1_1/rules.mk +22 -0
@@ 0,0 1,22 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output

R keyboards/ramonimbao/mona/mona.c => keyboards/ramonimbao/mona/v1_1/v1_1.c +1 -1
@@ 14,4 14,4 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "mona.h"
#include "v1_1.h"

A keyboards/ramonimbao/mona/v1_1/v1_1.h => keyboards/ramonimbao/mona/v1_1/v1_1.h +113 -0
@@ 0,0 1,113 @@
/* Copyright 2021 Ramon Imbao
 *
 * 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 "quantum.h"

/* This is a shortcut to help you visually see your layout.
 *
 * The first section contains all of the arguments representing the physical
 * layout of the board and position of the keys.
 *
 * The second converts the arguments into a two-dimensional array which
 * represents the switch matrix.
 */
#define XXX KC_NO

#define LAYOUT_60_ansi( \
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d,      \
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,      k1e, \
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d,      \
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3d,      \
    k40, k41, k42,                k46,                k4a, k4b,      k4d, k4e  \
) { \
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e }, \
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, XXX, k4d, k4e }, \
}

#define LAYOUT_60_tsangan_hhkb( \
    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,      k1e, \
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d,      \
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3d, k3e, \
    k40, k41, k42,                k46,                     k4b,      k4d, k4e  \
) { \
    { 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, XXX, k1e }, \
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, k3e }, \
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, XXX, k4d, k4e }, \
}

#define LAYOUT_60_iso( \
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d,      \
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,      k1e, \
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d,      \
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3d,      \
    k40, k41, k42,                k46,                k4a, k4b,      k4d, k4e  \
) { \
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e }, \
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, XXX, k4d, k4e }, \
}

#define LAYOUT_60_iso_split_bs_rshift( \
    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,      k1e, \
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d,      \
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3d, k3e, \
    k40, k41, k42,                k46,                k4a, k4b,      k4d, k4e  \
) { \
    { 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, XXX, k1e }, \
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, k3e }, \
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, XXX, k4d, k4e }, \
}

#define LAYOUT_60_iso_tsangan( \
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d,      \
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,      k1e, \
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d,      \
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3d,      \
    k40, k41, k42,                k46,                     k4b,      k4d, k4e  \
) { \
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e }, \
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, XXX, k4d, k4e }, \
}

#define LAYOUT_all( \
    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,      k1e, \
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d,      \
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3d, k3e, \
    k40, k41, k42,      k44,      k46,      k48,         k4a, k4b,      k4d, k4e  \
) { \
    { 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, XXX, k1e }, \
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, k3e }, \
    { k40, k41, k42, XXX, k44, XXX, k46, XXX, k48, XXX, k4a, k4b, XXX, k4d, k4e }, \
}

R keyboards/xd60/keymaps/shura30/config.h => keyboards/xd60/keymaps/fvolpe83/config.h +0 -0
R keyboards/xd60/keymaps/shura30/keymap.c => keyboards/xd60/keymaps/fvolpe83/keymap.c +1 -1
@@ 4,7 4,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[0] = LAYOUT_all(
		KC_GESC,       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_GRV, 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_NO,
		LT(1,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_NUHS, KC_ENT,
		MO(1), KC_A,    KC_S,    KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,    KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
		KC_LSFT,       KC_NUBS, KC_Z,    KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,  KC_SLSH, KC_NO,   KC_RSFT, KC_PSCR,
		KC_LCTL,       KC_LGUI, KC_LALT,                   KC_SPC,                    KC_RALT, KC_APP,  KC_NO,   TT(1),   KC_RCTL),
	

R keyboards/xd60/keymaps/shura30/readme.md => keyboards/xd60/keymaps/fvolpe83/readme.md +4 -4
@@ 1,4 1,4 @@
# shura30's keymap for XIUDI's 60% XD60 PCB rev3
# fvolpe83's keymap for XIUDI's 60% XD60 PCB rev3

3 layers in ISO:



@@ 12,7 12,7 @@

## Additional Notes

RGB lighting enabled and goes to sleep with the host, each layer has its own color including capslock layer:
RGB lighting enabled and goes to sleep with the host, each layer has its own color, caps layer is still there (can be enabled via software) but acts as FN

- 0 = cyan/blue
- caps = red


@@ 21,13 21,13 @@ RGB lighting enabled and goes to sleep with the host, each layer has its own col

tapping toggle has been defined to 3 in the separate config.h

via has been enabled, waiting for official support on their end
via has been enabled

## Build

To build the keymap, simply run:

    make xd60/rev3:shura30  # XD60 rev3
    make xd60/rev3:fvolpe83  # XD60 rev3
	
	
![Keyboard Layout (Physical appearence)](https://i.imgur.com/CSRPjbX.png "physical layout")

A keyboards/xd60/keymaps/fvolpe83/rules.mk => keyboards/xd60/keymaps/fvolpe83/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes

A keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c => keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c +44 -0
@@ 0,0 1,44 @@
/* Copyright 2021 James Young (@noroadsleft)
 *
 * 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_ortho_4x12(
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    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_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT,
        KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, MO(1),   KC_SPC,  KC_SPC,  MO(2),   KC_UP,   KC_LEFT, KC_DOWN, KC_RGHT
    ),
    [1] = LAYOUT_ortho_4x12(
        KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
        KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, KC_PIPE,
        _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
        _______, _______, _______, _______, _______, _______, _______, MO(3),      KC_MNXT,    KC_VOLD, KC_VOLU, KC_MPLY
    ),
    [2] = LAYOUT_ortho_4x12(
        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
        KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
        _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
        _______, _______, _______, _______, MO(3),   _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
    ),
    [3] = LAYOUT_ortho_4x12(
        RESET,   RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, DEBUG,
        _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
        _______, BL_TOGG, BL_DEC,  BL_INC,  BL_BRTG, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
    )
};

A keyboards/ymdk/ymd40/v2/keymaps/via/readme.md => keyboards/ymdk/ymd40/v2/keymaps/via/readme.md +1 -0
@@ 0,0 1,1 @@
# The default keymap for YMD40 v2

A keyboards/ymdk/ymd40/v2/keymaps/via/rules.mk => keyboards/ymdk/ymd40/v2/keymaps/via/rules.mk +2 -0
@@ 0,0 1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
\ No newline at end of file