aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.vscode/extensions.json3
-rw-r--r--docs/reference_info_json.md94
-rw-r--r--keyboards/fjlabs/mk61rgbansi/config.h121
-rw-r--r--keyboards/fjlabs/mk61rgbansi/info.json76
-rw-r--r--keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c40
-rw-r--r--keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c58
-rw-r--r--keyboards/fjlabs/mk61rgbansi/keymaps/via/rules.mk1
-rw-r--r--keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c13
-rw-r--r--keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h32
-rw-r--r--keyboards/fjlabs/mk61rgbansi/readme.md14
-rw-r--r--keyboards/fjlabs/mk61rgbansi/rules.mk26
-rw-r--r--keyboards/keebio/iris/keymaps/sq5rix/config.h25
-rw-r--r--keyboards/keebio/iris/keymaps/sq5rix/keymap.c185
-rw-r--r--keyboards/keebio/iris/keymaps/sq5rix/readme.md17
-rw-r--r--keyboards/keebio/iris/keymaps/sq5rix/rules.mk4
-rw-r--r--keyboards/plx/info.json197
-rw-r--r--keyboards/plx/keymaps/default/keymap.c45
-rw-r--r--keyboards/plx/keymaps/default_all/keymap.c45
-rw-r--r--keyboards/plx/keymaps/via/keymap.c44
-rw-r--r--keyboards/plx/plx.h33
-rw-r--r--keyboards/plx/rules.mk2
21 files changed, 934 insertions, 141 deletions
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 697686cd5..889d9d610 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -5,7 +5,6 @@
5 "xaver.clang-format", 5 "xaver.clang-format",
6 "ms-vscode.cpptools", 6 "ms-vscode.cpptools",
7 "bierner.github-markdown-preview", 7 "bierner.github-markdown-preview",
8 "donjayamanne.git-extension-pack", 8 "donjayamanne.git-extension-pack"
9 "CoenraadS.bracket-pair-colorizer-2"
10 ] 9 ]
11} 10}
diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md
index 646b6b5cc..b2e6cae28 100644
--- a/docs/reference_info_json.md
+++ b/docs/reference_info_json.md
@@ -9,33 +9,39 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<n
9The `info.json` file is a JSON formatted dictionary with the following keys available to be set. You do not have to set all of them, merely the keys that apply to your keyboard. 9The `info.json` file is a JSON formatted dictionary with the following keys available to be set. You do not have to set all of them, merely the keys that apply to your keyboard.
10 10
11* `keyboard_name` 11* `keyboard_name`
12 * A free-form text string describing the keyboard. 12 * A free-form text string describing the keyboard.
13 * Example: `Clueboard 66%` 13 * Example: `Clueboard 66%`
14* `manufacturer`
15 * A free-form text string describing the keyboard's manufacturer.
16 * Example: `Clueboard`
14* `url` 17* `url`
15 * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. 18 * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard.
19 * Example: `https://clueboard.co`
16* `maintainer` 20* `maintainer`
17 * GitHub username of the maintainer, or `qmk` for community maintained boards 21 * GitHub username of the maintainer, or `qmk` for community maintained boards.
22 * Example: `skullydazed`
18* `debounce` 23* `debounce`
19 * How many milliseconds (ms) to wait for debounce to happen. (Default: 5) 24 * The amount of time in milliseconds to wait for debounce to happen.
25 * Default: `5`
20* `diode_direction` 26* `diode_direction`
21 * The direction diodes face. See [`DIRECT_PINS` in the hardware configuration](https://docs.qmk.fm/#/config_options?id=hardware-options) for more details. 27 * The direction diodes face. See [`DIRECT_PINS` in the hardware configuration](https://docs.qmk.fm/#/config_options?id=hardware-options) for more details.
22* `layout_aliases` 28* `layout_aliases`
23 * A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to. 29 * A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to.
24* `layouts` 30* `layouts`
25 * Physical Layout representations. See the [Layout Format](#layout_format) section for more detail. 31 * Physical Layout representations. See the [Layout Format](#layout_format) section for more detail.
26* `matrix_pins` 32* `matrix_pins`
27 * Configure the pins corresponding to columns and rows, or direct pins. See [Matrix Pins](#matrix_pins) for more detail. 33 * Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix_pins) section for more detail.
28* `rgblight` 34* `rgblight`
29 * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb_lighting) section for more detail. 35 * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb_lighting) section for more detail.
30* `usb` 36* `usb`
31 * Configure USB VID, PID, and other parameters. See [USB](#USB) for more detail. 37 * Configure USB VID, PID, and other parameters. See the [USB](#USB) section for more detail.
32 38
33### Layout Format 39### Layout Format
34 40
35Within our `info.json` file the `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout macros, for example `LAYOUT_ansi` or `LAYOUT_iso`. 41Within our `info.json` file the `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout macros, for example `LAYOUT_ansi` or `LAYOUT_iso`.
36 42
37* `layout` 43* `layout`
38 * A list of Key Dictionaries describing the physical layout. See the next section for more details. 44 * A list of Key Dictionaries describing the physical layout. See the next section for more details.
39 45
40### Key Dictionary Format 46### Key Dictionary Format
41 47
@@ -44,18 +50,20 @@ Each Key Dictionary in a layout describes the physical properties of a key. If y
44All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key. 50All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key.
45 51
46* `x` 52* `x`
47 * **Required**: The absolute position of the key in the horizontal axis, in Key Units. 53 * **Required**. The absolute position of the key in the horizontal axis, in Key Units.
48* `y` 54* `y`
49 * **Required**: The absolute position of the key in the vertical axis, in Key Units. 55 * **Required**. The absolute position of the key in the vertical axis, in Key Units.
50* `w` 56* `w`
51 * The width of the key, in Key Units. Ignored if `ks` is provided. Default: `1` 57 * The width of the key, in Key Units.
58 * Default: `1`
52* `h` 59* `h`
53 * The height of the key, in Key Units. Ignored if `ks` is provided. Default: `1` 60 * The height of the key, in Key Units.
61 * Default: `1`
54* `label` 62* `label`
55 * What to name this position in the matrix. 63 * What to name this position in the matrix. This should usually correspond to the keycode for the first layer of the default keymap.
56 * This should usually correspond to the keycode for the first layer of the default keymap.
57* `matrix` 64* `matrix`
58 * A 2 item list describing the row and column location for this key. 65 * A two item list describing the row and column location for this key.
66 * Example: `[0, 4]`
59 67
60### Matrix Pins 68### Matrix Pins
61 69
@@ -69,11 +77,11 @@ Example:
69 77
70```json 78```json
71{ 79{
72 "diode_direction": "COL2ROW", 80 "diode_direction": "COL2ROW",
73 "matrix_pins": { 81 "matrix_pins": {
74 "cols": ["F4", "E6", "B1", "D2"], 82 "cols": ["F4", "E6", "B1", "D2"],
75 "rows": ["B0", "D3", "D5", "D4", "D6"] 83 "rows": ["B0", "D3", "D5", "D4", "D6"]
76 } 84 }
77} 85}
78``` 86```
79 87
@@ -144,23 +152,23 @@ Example:
144} 152}
145``` 153```
146 154
147#### RGB Light Animations 155#### RGBLight Animations
148 156
149The following animations can be enabled: 157The following animations can be enabled:
150 158
151| Key | Description | 159|Key |Description |
152|-----|-------------| 160|-----------------|--------------------------------------|
153| `all` | Enable all additional animation modes. | 161|`all` |Enable all additional animation modes.|
154| `alternating` | Enable alternating animation mode. | 162|`alternating` |Enable alternating animation mode. |
155| `breathing` | Enable breathing animation mode. | 163|`breathing` |Enable breathing animation mode. |
156| `christmas` | Enable christmas animation mode. | 164|`christmas` |Enable christmas animation mode. |
157| `knight` | Enable knight animation mode. | 165|`knight` |Enable knight animation mode. |
158| `rainbow_mood` | Enable rainbow mood animation mode. | 166|`rainbow_mood` |Enable rainbow mood animation mode. |
159| `rainbow_swirl` | Enable rainbow swirl animation mode. | 167|`rainbow_swirl` |Enable rainbow swirl animation mode. |
160| `rgb_test` | Enable RGB test animation mode. | 168|`rgb_test` |Enable RGB test animation mode. |
161| `snake` | Enable snake animation mode. | 169|`snake` |Enable snake animation mode. |
162| `static_gradient` | Enable static gradient mode. | 170|`static_gradient`|Enable static gradient mode. |
163| `twinkle` | Enable twinkle animation mode. | 171|`twinkle` |Enable twinkle animation mode. |
164 172
165### USB 173### USB
166 174
@@ -170,10 +178,10 @@ Example:
170 178
171```json 179```json
172{ 180{
173 "usb": { 181 "usb": {
174 "vid": "0xC1ED", 182 "vid": "0xC1ED",
175 "pid": "0x23B0", 183 "pid": "0x23B0",
176 "device_ver": "0x0001" 184 "device_ver": "0x0001"
177 } 185 }
178} 186}
179``` 187```
diff --git a/keyboards/fjlabs/mk61rgbansi/config.h b/keyboards/fjlabs/mk61rgbansi/config.h
new file mode 100644
index 000000000..4d459b6f8
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/config.h
@@ -0,0 +1,121 @@
1/*
2Copyright 2021 <me@fjlaboratories.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x7074 // FJLabs
24#define PRODUCT_ID 0x1011 // mk61-rgb-ansi
25#define DEVICE_VER 0x0001 // Version 1
26#define MANUFACTURER Mechanical Keyboards LLC
27#define PRODUCT MK61-RGB-ANSI
28
29/* key matrix size */
30#define MATRIX_ROWS 5
31#define MATRIX_COLS 14
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43
44// Checked with Eagle Schematic
45#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
46#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1 }
47#define UNUSED_PINS
48
49/* COL2ROW or ROW2COL */
50#define DIODE_DIRECTION COL2ROW
51
52/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
53#define DEBOUNCE 5
54
55/* define if matrix has ghost (lacks anti-ghosting diodes) */
56//#define MATRIX_HAS_GHOST
57
58/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
59#define LOCKING_SUPPORT_ENABLE
60/* Locking resynchronize hack */
61#define LOCKING_RESYNC_ENABLE
62
63/* Define RGB Underglow */
64#define RGB_DI_PIN F7
65#define RGBLED_NUM 64
66#define RGBLIGHT_EFFECT_BREATHING
67#define RGBLIGHT_EFFECT_RAINBOW_MOOD
68#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
69#define RGBLIGHT_EFFECT_SNAKE
70#define RGBLIGHT_EFFECT_KNIGHT
71#define RGBLIGHT_EFFECT_CHRISTMAS
72#define RGBLIGHT_EFFECT_STATIC_GRADIENT
73#define RGBLIGHT_EFFECT_RGB_TEST
74#define RGBLIGHT_EFFECT_ALTERNATING
75#define RGBLIGHT_EFFECT_TWINKLE
76#define RGBLIGHT_LIMIT_VAL 108
77#define RGB_VAL_STEP 12
78#define RGBLIGHT_DEFAULT_SPD 144
79#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
80/* #define RGBLIGHT_LAYER_BLINK*/
81
82/* Define less important options */
83
84/*
85 * Force NKRO
86 *
87 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
88 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
89 * makefile for this to work.)
90 *
91 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
92 * until the next keyboard reset.
93 *
94 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
95 * fully operational during normal computer usage.
96 *
97 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
98 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
99 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
100 * power-up.
101 *
102 */
103//#define FORCE_NKRO
104
105/*
106 * Feature disable options
107 * These options are also useful to firmware size reduction.
108 */
109
110/* disable debug print */
111//#define NO_DEBUG
112
113/* disable print */
114//#define NO_PRINT
115
116/* disable action features */
117//#define NO_ACTION_LAYER
118//#define NO_ACTION_TAPPING
119//#define NO_ACTION_ONESHOT
120#define NO_ACTION_MACRO
121#define NO_ACTION_FUNCTION
diff --git a/keyboards/fjlabs/mk61rgbansi/info.json b/keyboards/fjlabs/mk61rgbansi/info.json
new file mode 100644
index 000000000..84cc8a46a
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/info.json
@@ -0,0 +1,76 @@
1{
2 "keyboard_name": "MK61-RGB-ANSI",
3 "url": "https://www.fjlaboratories.com/",
4 "maintainer": "Mechanical Keyboards, LLC",
5 "layouts": {
6 "LAYOUT_60_ansi": {
7 "layout": [
8 {"x": 0, "y": 0},
9 {"x": 1, "y": 0},
10 {"x": 2, "y": 0},
11 {"x": 3, "y": 0},
12 {"x": 4, "y": 0},
13 {"x": 5, "y": 0},
14 {"x": 6, "y": 0},
15 {"x": 7, "y": 0},
16 {"x": 8, "y": 0},
17 {"x": 9, "y": 0},
18 {"x": 10, "y": 0},
19 {"x": 11, "y": 0},
20 {"x": 12, "y": 0},
21 {"x": 13, "y": 0, "w": 2},
22
23 {"x": 0, "y": 1, "w": 1.5},
24 {"x": 1.5, "y": 1},
25 {"x": 2.5, "y": 1},
26 {"x": 3.5, "y": 1},
27 {"x": 4.5, "y": 1},
28 {"x": 5.5, "y": 1},
29 {"x": 6.5, "y": 1},
30 {"x": 7.5, "y": 1},
31 {"x": 8.5, "y": 1},
32 {"x": 9.5, "y": 1},
33 {"x": 10.5, "y": 1},
34 {"x": 11.5, "y": 1},
35 {"x": 12.5, "y": 1},
36 {"x": 13.5, "y": 1, "w": 1.5},
37
38 {"x": 0, "y": 2, "w": 1.75},
39 {"x": 1.75, "y": 2},
40 {"x": 2.75, "y": 2},
41 {"x": 3.75, "y": 2},
42 {"x": 4.75, "y": 2},
43 {"x": 5.75, "y": 2},
44 {"x": 6.75, "y": 2},
45 {"x": 7.75, "y": 2},
46 {"x": 8.75, "y": 2},
47 {"x": 9.75, "y": 2},
48 {"x": 10.75, "y": 2},
49 {"x": 11.75, "y": 2},
50 {"x": 12.75, "y": 2, "w": 2.25},
51
52 {"x": 0, "y": 3, "w": 2.25},
53 {"x": 2.25, "y": 3},
54 {"x": 3.25, "y": 3},
55 {"x": 4.25, "y": 3},
56 {"x": 5.25, "y": 3},
57 {"x": 6.25, "y": 3},
58 {"x": 7.25, "y": 3},
59 {"x": 8.25, "y": 3},
60 {"x": 9.25, "y": 3},
61 {"x": 10.25, "y": 3},
62 {"x": 11.25, "y": 3},
63 {"x": 12.25, "y": 3, "w": 2.75},
64
65 {"x": 0, "y": 4, "w": 1.25},
66 {"x": 1.25, "y": 4, "w": 1.25},
67 {"x": 2.5, "y": 4, "w": 1.25},
68 {"x": 3.75, "y": 4, "w": 6.25},
69 {"x": 10, "y": 4, "w": 1.25},
70 {"x": 11.25, "y": 4, "w": 1.25},
71 {"x": 12.5, "y": 4, "w": 1.25},
72 {"x": 13.75, "y": 4, "w": 1.25}
73 ]
74 }
75 }
76}
diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c b/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c
new file mode 100644
index 000000000..7873f0e5e
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c
@@ -0,0 +1,40 @@
1/*
2Copyright 2021 <me@fjlaboratories.com>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#include QMK_KEYBOARD_H
16
17enum layers {
18 _LAYER0,
19 _LAYER1,
20};
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23
24 [_LAYER0] = LAYOUT_60_ansi(
25 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,
26 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,
27 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,
28 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
29 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL
30 ),
31
32 [_LAYER1] = LAYOUT_60_ansi(
33 KC_GESC, 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,
34 KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET,
35 KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
38 )
39
40}; \ No newline at end of file
diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c b/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c
new file mode 100644
index 000000000..2e4dac7fc
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c
@@ -0,0 +1,58 @@
1/*
2Copyright 2021 <me@fjlaboratories.com>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#include QMK_KEYBOARD_H
16
17enum layers {
18 _LAYER0,
19 _LAYER1,
20 _LAYER2,
21 _LAYER3,
22};
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 [_LAYER0] = LAYOUT_60_ansi(
27 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,
28 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,
29 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,
30 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL
32 ),
33
34 [_LAYER1] = LAYOUT_60_ansi(
35 KC_GESC, 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,
36 KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET,
37 KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
40 ),
41
42 [_LAYER2] = LAYOUT_60_ansi(
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
48 ),
49
50 [_LAYER3] = LAYOUT_60_ansi(
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
56 ),
57
58};
diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/via/rules.mk b/keyboards/fjlabs/mk61rgbansi/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c b/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c
new file mode 100644
index 000000000..5bf82ad44
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c
@@ -0,0 +1,13 @@
1/* Copyright 2021 <me@fjlaboratories.com>
2This program is free software: you can redistribute it and/or modify
3it under the terms of the GNU General Public License as published by
4the Free Software Foundation, either version 2 of the License, or
5(at your option) any later version.
6This program is distributed in the hope that it will be useful,
7but WITHOUT ANY WARRANTY; without even the implied warranty of
8MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9GNU General Public License for more details.
10You should have received a copy of the GNU General Public License
11along with this program. If not, see <http://www.gnu.org/licenses/>.
12*/
13#include "mk61rgbansi.h"
diff --git a/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h b/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h
new file mode 100644
index 000000000..8ab4873e0
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h
@@ -0,0 +1,32 @@
1/*
2Copyright 2021 <me@fjlaboratories.com>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#pragma once
16
17#include "quantum.h"
18
19/* MK61-RGB-ANSI Keymap Definitions */
20#define LAYOUT_60_ansi( \
21 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
22 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
23 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
24 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, \
25 K40, K41, K42, K45, K49, K4A, K4C, K4D \
26) { \
27 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
28 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
29 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
30 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, KC_NO }, \
31 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D } \
32}
diff --git a/keyboards/fjlabs/mk61rgbansi/readme.md b/keyboards/fjlabs/mk61rgbansi/readme.md
new file mode 100644
index 000000000..6425f0940
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/readme.md
@@ -0,0 +1,14 @@
1# Mechanical Keyboards, LLC MK61-RGB-ANSI
2
3The following is the QMK Firmware for the Mechanical Keyboards, LLC MK61-RGB-ANSI PCB.
4
5---
6
7* Keyboard Maintainer: Mechanical Keyboards, LLC
8* Hardware Supported: MK61-RGB-ANSI
9
10Make example for this keyboard (after setting up your build environment):
11
12 make fjlabs/mk61-rgb-ansi:default
13
14See 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). You can enter the bootloader by pressing the reset button on the back of the PCB.
diff --git a/keyboards/fjlabs/mk61rgbansi/rules.mk b/keyboards/fjlabs/mk61rgbansi/rules.mk
new file mode 100644
index 000000000..dbd20b9e1
--- /dev/null
+++ b/keyboards/fjlabs/mk61rgbansi/rules.mk
@@ -0,0 +1,26 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency
5F_CPU = 8000000
6
7# Bootloader selection
8BOOTLOADER = atmel-dfu
9
10# Build Options
11# change yes to no to disable
12#
13BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
14MOUSEKEY_ENABLE = yes # Mouse keys
15EXTRAKEY_ENABLE = yes # Audio control and System control
16CONSOLE_ENABLE = no # Console for debug
17COMMAND_ENABLE = yes # Commands for debug and configuration
18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
20# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
21NKRO_ENABLE = yes # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
24AUDIO_ENABLE = no # Audio output
25
26LAYOUTS = 60_ansi
diff --git a/keyboards/keebio/iris/keymaps/sq5rix/config.h b/keyboards/keebio/iris/keymaps/sq5rix/config.h
new file mode 100644
index 000000000..8c576917e
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/sq5rix/config.h
@@ -0,0 +1,25 @@
1/*
2Copyright 2017 Danny Nguyen <danny@keeb.io>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19#define EE_HANDS
20#define TAPPING_TERM 164
21#define IGNORE_MOD_TAP_INTERRUPT
22#define PERMISSIVE_HOLD
23#define RGBLIGHT_LAYERS
24#define ENCODER_RESOLUTION 4
25#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
new file mode 100644
index 000000000..19a939a55
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
@@ -0,0 +1,185 @@
1// Copyright 2021 Tomasz Wawer (@sq5rix)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6enum layers {
7 _BEAKL15,
8 _LOWER,
9 _RAISE,
10 _MOUSE
11};
12
13enum custom_keycodes {
14 LT_DAT = SAFE_RANGE,
15 LT_COM,
16 LT_QUOT
17};
18
19#define LOWER LT(_LOWER, KC_ENT)
20#define LOWER2 LT(_LOWER, KC_T)
21#define RAISE LT(_RAISE, KC_SPC)
22#define RAISE2 LT(_RAISE, KC_BSPC)
23#define MOUSE LT(_MOUSE, KC_A)
24
25#define SH_ESC MT(MOD_LSFT, KC_ESC)
26#define SH_CWD MT(MOD_LALT, KC_BSPC)
27#define SH_LTAB MT(MOD_LALT, KC_TAB)
28#define SH_UND MT(MOD_LCTL, KC_UNDS)
29#define SH_Z MT(MOD_LCTL, KC_Z)
30
31#define SH_LGS MT(MOD_LGUI, KC_B)
32#define AL_I ALGR_T(KC_I)
33#define AL_N ALGR_T(KC_N)
34
35// Tap Dance definitions
36enum {
37 TD_S
38};
39qk_tap_dance_action_t tap_dance_actions[] = {
40 [TD_S] = ACTION_TAP_DANCE_DOUBLE(KC_S, KC_Z),
41};
42
43bool sh_key(keyrecord_t *record, uint8_t sk, uint8_t nk);
44bool sh_key8(keyrecord_t *record, uint8_t sk, uint8_t nk);
45
46const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47
48 [_BEAKL15] = LAYOUT(
49 TG(_RAISE), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
50 SH_LTAB, KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, KC_LGUI,
51 SH_UND, KC_Y, AL_I, KC_E, MOUSE, LT_DAT, KC_D, TD(TD_S),LOWER2, AL_N, KC_B, KC_SCLN,
52 KC_LSFT, KC_J, KC_SLSH, LT_COM, KC_K, LT_QUOT, RGB_TOG, BL_TOGG, KC_W, KC_M, KC_L, KC_P, KC_V, KC_RSFT,
53 SH_Z, LOWER, RAISE, SH_ESC, RAISE2, SH_LTAB
54 ),
55
56 [_LOWER] = LAYOUT(
57 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
58 _______, _______, KC_LT, KC_DLR, KC_GT, KC_EXLM, _______, KC_LBRC, KC_UNDS, KC_RBRC, KC_EXLM, _______,
59 _______, KC_BSLS, KC_LPRN, KC_DQUO, KC_RPRN, KC_HASH, KC_PERC, KC_LCBR, KC_EQL, KC_RCBR, KC_PIPE, _______,
60 _______, KC_SCLN, KC_SLSH, KC_ASTR, KC_PLUS, _______, _______, _______, _______, KC_AMPR, KC_CIRC, KC_TILD, KC_SCLN, _______,
61 _______, _______, _______, _______, _______, _______
62
63 ),
64
65 [_RAISE] = LAYOUT(
66 _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP, KC_PSCREEN, _______, _______, _______, _______, RESET,
67 _______, KC_SLSH, KC_6, KC_5, KC_4, KC_EQL, KC_CIRC, KC_PGUP, KC_UP, KC_PGDN, _______, RGB_VAI,
68 _______, KC_3, KC_2, KC_1, KC_0, KC_DOT, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
69 _______, KC_ASTR, KC_9, KC_8, KC_7, KC_PLUS, _______, _______, KC_PLUS, KC_HOME, KC_COLN, KC_END, _______, RGB_MOD,
70 _______, _______, _______, _______, _______, _______
71 ),
72
73 [_MOUSE] = LAYOUT(
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
75 _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______,
76 _______, _______, _______, KC_BTN1, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______,
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN3, _______, _______, _______,
78 _______, _______, _______, _______, _______, _______
79 )
80};
81
82bool process_record_user(uint16_t keycode, keyrecord_t *record) {
83 switch (keycode) {
84 case LT_DAT:
85 return sh_key8(record, KC_2, KC_DOT);
86 case LT_COM:
87 return sh_key8(record, KC_1, KC_COMM);
88 case LT_QUOT:
89 return sh_key(record, KC_GRV, KC_QUOT);
90 default:
91 return true;
92 }
93}
94
95bool sh_key(keyrecord_t *record, uint8_t sk, uint8_t nk){
96 if (record->event.pressed) {
97 if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){
98 unregister_code(KC_LSFT);
99 unregister_code(KC_RSFT);
100 register_code(sk);
101 } else {
102 register_code(nk);
103 }
104 }
105 else {
106 unregister_code16(sk);
107 unregister_code(nk);
108 }
109 return false;
110}
111
112bool sh_key8(keyrecord_t *record, uint8_t sk, uint8_t nk){
113 if (record->event.pressed) {
114 if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){
115 register_code(sk);
116 } else {
117 register_code(nk);
118 }
119 }
120 else {
121 unregister_code(sk);
122 unregister_code(nk);
123 }
124 return false;
125}
126
127bool encoder_update_user(uint8_t index, bool clockwise) {
128 if (index == 0) {
129 if (clockwise) {
130 tap_code16(C(G(KC_LEFT)));
131 } else {
132 tap_code16(C(G(KC_RGHT)));
133 }
134 }
135 // tmux screen
136 else if (index == 1) {
137 switch(biton32(layer_state)){
138 case 0:
139 if (clockwise) {
140 send_string(SS_LCTL("B")"p");
141 } else {
142 send_string(SS_LCTL("B")"n");
143 }
144 break;
145 case _RAISE:
146 if (clockwise) {
147 tap_code16(C(G(KC_PGUP)));
148 } else {
149 tap_code16(C(G(KC_PGDN)));
150 }
151 break;
152 }
153 }
154 return true;
155}
156
157const rgblight_segment_t PROGMEM raise_layer[] = RGBLIGHT_LAYER_SEGMENTS(
158 {1, 12, HSV_RED}
159);
160const rgblight_segment_t PROGMEM lower_layer[] = RGBLIGHT_LAYER_SEGMENTS(
161 {1, 12, HSV_BLUE}
162);
163const rgblight_segment_t PROGMEM mouse_layer[] = RGBLIGHT_LAYER_SEGMENTS(
164 {1, 12, HSV_GREEN}
165);
166
167// Now define the array of layers. Later layers take precedence
168const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
169 lower_layer,
170 raise_layer,
171 mouse_layer
172);
173
174void keyboard_post_init_user(void) {
175 // Enable the LED layers
176 rgblight_layers = my_rgb_layers;
177}
178
179layer_state_t layer_state_set_user(layer_state_t state) {
180 rgblight_set_layer_state(0, layer_state_cmp(state, 2));
181 rgblight_set_layer_state(1, layer_state_cmp(state, 3));
182 rgblight_set_layer_state(2, layer_state_cmp(state, 4));
183 return state;
184}
185
diff --git a/keyboards/keebio/iris/keymaps/sq5rix/readme.md b/keyboards/keebio/iris/keymaps/sq5rix/readme.md
new file mode 100644
index 000000000..96370c74c
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/sq5rix/readme.md
@@ -0,0 +1,17 @@
1BEAKL-15 keymap for keebio iris
2@sq5rix tom wawer
3https://deskthority.net/wiki/BEAKL#BEAKL_15
4
5Modern keyboard map easy to learn
6very effective to type
7
8esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Del
9 q h o u x g c r f z
10 - y i e a . d s t n b ;
11 j / , , k w m l p v
12
13 z enter space esc bkspc tab
14
15lots of special functions
16three layers with puncs, numbers and mouse
17
diff --git a/keyboards/keebio/iris/keymaps/sq5rix/rules.mk b/keyboards/keebio/iris/keymaps/sq5rix/rules.mk
new file mode 100644
index 000000000..3fc2bd976
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/sq5rix/rules.mk
@@ -0,0 +1,4 @@
1RGBLIGHT_ENABLE = yes
2TAP_DANCE_ENABLE = yes
3LTO_ENABLE = yes
4MOUSEKEY_ENABLE = yes
diff --git a/keyboards/plx/info.json b/keyboards/plx/info.json
index fe4d47b38..47f73ada6 100644
--- a/keyboards/plx/info.json
+++ b/keyboards/plx/info.json
@@ -1,24 +1,26 @@
1{ 1{
2 "keyboard_name": "PLX", 2 "keyboard_name": "PLX",
3 "maintainer": "2Moons",
4 "url": "https://peac.design/", 3 "url": "https://peac.design/",
4 "maintainer": "2Moons-JP",
5 "layout_aliases": {
6 "LAYOUT": "LAYOUT_60_ansi_tsangan"
7 },
5 "layouts": { 8 "layouts": {
6 "LAYOUT": { 9 "LAYOUT_60_ansi_tsangan": {
7 "layout": 10 "layout": [
8 [
9 {"label":"Esc", "x":0, "y":0}, 11 {"label":"Esc", "x":0, "y":0},
10 {"label":"!", "x":1, "y":0}, 12 {"label":"1!", "x":1, "y":0},
11 {"label":"@", "x":2, "y":0}, 13 {"label":"2@", "x":2, "y":0},
12 {"label":"#", "x":3, "y":0}, 14 {"label":"3#", "x":3, "y":0},
13 {"label":"$", "x":4, "y":0}, 15 {"label":"4$", "x":4, "y":0},
14 {"label":"%", "x":5, "y":0}, 16 {"label":"5%", "x":5, "y":0},
15 {"label":"^", "x":6, "y":0}, 17 {"label":"6^", "x":6, "y":0},
16 {"label":"&", "x":7, "y":0}, 18 {"label":"7&", "x":7, "y":0},
17 {"label":"*", "x":8, "y":0}, 19 {"label":"8*", "x":8, "y":0},
18 {"label":"(", "x":9, "y":0}, 20 {"label":"9(", "x":9, "y":0},
19 {"label":")", "x":10, "y":0}, 21 {"label":"0)", "x":10, "y":0},
20 {"label":"_", "x":11, "y":0}, 22 {"label":"-_", "x":11, "y":0},
21 {"label":"+", "x":12, "y":0}, 23 {"label":"=+", "x":12, "y":0},
22 {"label":"Backspace", "x":13, "y":0, "w":2}, 24 {"label":"Backspace", "x":13, "y":0, "w":2},
23 25
24 {"label":"Tab", "x":0, "y":1, "w":1.5}, 26 {"label":"Tab", "x":0, "y":1, "w":1.5},
@@ -32,11 +34,11 @@
32 {"label":"I", "x":8.5, "y":1}, 34 {"label":"I", "x":8.5, "y":1},
33 {"label":"O", "x":9.5, "y":1}, 35 {"label":"O", "x":9.5, "y":1},
34 {"label":"P", "x":10.5, "y":1}, 36 {"label":"P", "x":10.5, "y":1},
35 {"label":"{", "x":11.5, "y":1}, 37 {"label":"[{", "x":11.5, "y":1},
36 {"label":"}", "x":12.5, "y":1}, 38 {"label":"]}", "x":12.5, "y":1},
37 {"label":"|", "x":13.5, "y":1, "w":1.5}, 39 {"label":"\\|", "x":13.5, "y":1, "w":1.5},
38 40
39 {"label":"Caps Lock", "x":0, "y":2, "w":1.25}, 41 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
40 {"label":"A", "x":1.75, "y":2}, 42 {"label":"A", "x":1.75, "y":2},
41 {"label":"S", "x":2.75, "y":2}, 43 {"label":"S", "x":2.75, "y":2},
42 {"label":"D", "x":3.75, "y":2}, 44 {"label":"D", "x":3.75, "y":2},
@@ -46,8 +48,8 @@
46 {"label":"J", "x":7.75, "y":2}, 48 {"label":"J", "x":7.75, "y":2},
47 {"label":"K", "x":8.75, "y":2}, 49 {"label":"K", "x":8.75, "y":2},
48 {"label":"L", "x":9.75, "y":2}, 50 {"label":"L", "x":9.75, "y":2},
49 {"label":":", "x":10.75, "y":2}, 51 {"label":";:", "x":10.75, "y":2},
50 {"label":"\"", "x":11.75, "y":2}, 52 {"label":"'\"", "x":11.75, "y":2},
51 {"label":"Enter", "x":12.75, "y":2, "w":2.25}, 53 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
52 54
53 {"label":"Shift", "x":0, "y":3, "w":2.25}, 55 {"label":"Shift", "x":0, "y":3, "w":2.25},
@@ -58,15 +60,156 @@
58 {"label":"B", "x":6.25, "y":3}, 60 {"label":"B", "x":6.25, "y":3},
59 {"label":"N", "x":7.25, "y":3}, 61 {"label":"N", "x":7.25, "y":3},
60 {"label":"M", "x":8.25, "y":3}, 62 {"label":"M", "x":8.25, "y":3},
61 {"label":"<", "x":9.25, "y":3}, 63 {"label":",<", "x":9.25, "y":3},
62 {"label":">", "x":10.25, "y":3}, 64 {"label":".>", "x":10.25, "y":3},
63 {"label":"?", "x":11.25, "y":3}, 65 {"label":"/?", "x":11.25, "y":3},
64 {"label":"Shift", "x":12.25, "y":3, "w":2.25}, 66 {"label":"Shift", "x":12.25, "y":3, "w":2.75},
65 67
66 {"label":"Ctrl", "x":0, "y":4, "w":1.5}, 68 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
67 {"label":"Win", "x":1.5, "y":4}, 69 {"label":"Win", "x":1.5, "y":4},
68 {"label":"Alt", "x":2.5, "y":4, "w":1.5}, 70 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
69 {"x":4, "y":4, "w":7}, 71 {"label":"Space", "x":4, "y":4, "w":7},
72 {"label":"Alt", "x":11, "y":4, "w":1.5},
73 {"label":"Win", "x":12.5, "y":4},
74 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
75 ]
76 },
77 "LAYOUT_60_iso_tsangan": {
78 "layout": [
79 {"label":"Esc", "x":0, "y":0},
80 {"label":"1!", "x":1, "y":0},
81 {"label":"2\"", "x":2, "y":0},
82 {"label":"3\u00a3", "x":3, "y":0},
83 {"label":"4$", "x":4, "y":0},
84 {"label":"5%", "x":5, "y":0},
85 {"label":"6^", "x":6, "y":0},
86 {"label":"7&", "x":7, "y":0},
87 {"label":"8*", "x":8, "y":0},
88 {"label":"9(", "x":9, "y":0},
89 {"label":"0)", "x":10, "y":0},
90 {"label":"-_", "x":11, "y":0},
91 {"label":"=+", "x":12, "y":0},
92 {"label":"Backspace", "x":13, "y":0, "w":2},
93
94 {"label":"Tab", "x":0, "y":1, "w":1.5},
95 {"label":"Q", "x":1.5, "y":1},
96 {"label":"W", "x":2.5, "y":1},
97 {"label":"E", "x":3.5, "y":1},
98 {"label":"R", "x":4.5, "y":1},
99 {"label":"T", "x":5.5, "y":1},
100 {"label":"Y", "x":6.5, "y":1},
101 {"label":"U", "x":7.5, "y":1},
102 {"label":"I", "x":8.5, "y":1},
103 {"label":"O", "x":9.5, "y":1},
104 {"label":"P", "x":10.5, "y":1},
105 {"label":"[{", "x":11.5, "y":1},
106 {"label":"]}", "x":12.5, "y":1},
107
108 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
109 {"label":"A", "x":1.75, "y":2},
110 {"label":"S", "x":2.75, "y":2},
111 {"label":"D", "x":3.75, "y":2},
112 {"label":"F", "x":4.75, "y":2},
113 {"label":"G", "x":5.75, "y":2},
114 {"label":"H", "x":6.75, "y":2},
115 {"label":"J", "x":7.75, "y":2},
116 {"label":"K", "x":8.75, "y":2},
117 {"label":"L", "x":9.75, "y":2},
118 {"label":";:", "x":10.75, "y":2},
119 {"label":"'@", "x":11.75, "y":2},
120 {"label":"#~", "x":12.75, "y":2},
121 {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
122
123 {"label":"Shift", "x":0, "y":3, "w":1.25},
124 {"label":"\\|", "x":1.25, "y":3},
125 {"label":"Z", "x":2.25, "y":3},
126 {"label":"X", "x":3.25, "y":3},
127 {"label":"C", "x":4.25, "y":3},
128 {"label":"V", "x":5.25, "y":3},
129 {"label":"B", "x":6.25, "y":3},
130 {"label":"N", "x":7.25, "y":3},
131 {"label":"M", "x":8.25, "y":3},
132 {"label":",<", "x":9.25, "y":3},
133 {"label":".>", "x":10.25, "y":3},
134 {"label":"/?", "x":11.25, "y":3},
135 {"label":"Shift", "x":12.25, "y":3, "w":2.75},
136
137 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
138 {"label":"Win", "x":1.5, "y":4},
139 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
140 {"label":"Space", "x":4, "y":4, "w":7},
141 {"label":"Alt", "x":11, "y":4, "w":1.5},
142 {"label":"Win", "x":12.5, "y":4},
143 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
144 ]
145 },
146 "LAYOUT_all": {
147 "layout": [
148 {"label":"Esc", "x":0, "y":0},
149 {"label":"1!", "x":1, "y":0},
150 {"label":"2@", "x":2, "y":0},
151 {"label":"3#", "x":3, "y":0},
152 {"label":"4$", "x":4, "y":0},
153 {"label":"5%", "x":5, "y":0},
154 {"label":"6^", "x":6, "y":0},
155 {"label":"7&", "x":7, "y":0},
156 {"label":"8*", "x":8, "y":0},
157 {"label":"9(", "x":9, "y":0},
158 {"label":"0)", "x":10, "y":0},
159 {"label":"-_", "x":11, "y":0},
160 {"label":"=+", "x":12, "y":0},
161 {"label":"Backspace", "x":13, "y":0},
162 {"label":"Backspace", "x":14, "y":0},
163
164 {"label":"Tab", "x":0, "y":1, "w":1.5},
165 {"label":"Q", "x":1.5, "y":1},
166 {"label":"W", "x":2.5, "y":1},
167 {"label":"E", "x":3.5, "y":1},
168 {"label":"R", "x":4.5, "y":1},
169 {"label":"T", "x":5.5, "y":1},
170 {"label":"Y", "x":6.5, "y":1},
171 {"label":"U", "x":7.5, "y":1},
172 {"label":"I", "x":8.5, "y":1},
173 {"label":"O", "x":9.5, "y":1},
174 {"label":"P", "x":10.5, "y":1},
175 {"label":"[{", "x":11.5, "y":1},
176 {"label":"]}", "x":12.5, "y":1},
177 {"label":"\\|", "x":13.5, "y":1, "w":1.5},
178
179 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
180 {"label":"A", "x":1.75, "y":2},
181 {"label":"S", "x":2.75, "y":2},
182 {"label":"D", "x":3.75, "y":2},
183 {"label":"F", "x":4.75, "y":2},
184 {"label":"G", "x":5.75, "y":2},
185 {"label":"H", "x":6.75, "y":2},
186 {"label":"J", "x":7.75, "y":2},
187 {"label":"K", "x":8.75, "y":2},
188 {"label":"L", "x":9.75, "y":2},
189 {"label":";:", "x":10.75, "y":2},
190 {"label":"'\"", "x":11.75, "y":2},
191 {"label":"#~", "x":12.75, "y":2},
192 {"label":"Enter", "x":13.75, "y":2, "w":1.25},
193
194 {"label":"Shift", "x":0, "y":3, "w":1.25},
195 {"label":"\\|", "x":1.25, "y":3},
196 {"label":"Z", "x":2.25, "y":3},
197 {"label":"X", "x":3.25, "y":3},
198 {"label":"C", "x":4.25, "y":3},
199 {"label":"V", "x":5.25, "y":3},
200 {"label":"B", "x":6.25, "y":3},
201 {"label":"N", "x":7.25, "y":3},
202 {"label":"M", "x":8.25, "y":3},
203 {"label":",<", "x":9.25, "y":3},
204 {"label":".>", "x":10.25, "y":3},
205 {"label":"/?", "x":11.25, "y":3},
206 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
207 {"label":"Fn", "x":14, "y":3},
208
209 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
210 {"label":"Win", "x":1.5, "y":4},
211 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
212 {"label":"Space", "x":4, "y":4, "w":7},
70 {"label":"Alt", "x":11, "y":4, "w":1.5}, 213 {"label":"Alt", "x":11, "y":4, "w":1.5},
71 {"label":"Win", "x":12.5, "y":4}, 214 {"label":"Win", "x":12.5, "y":4},
72 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5} 215 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
diff --git a/keyboards/plx/keymaps/default/keymap.c b/keyboards/plx/keymaps/default/keymap.c
index 9702b27bd..31273405f 100644
--- a/keyboards/plx/keymaps/default/keymap.c
+++ b/keyboards/plx/keymaps/default/keymap.c
@@ -20,30 +20,31 @@
20enum layer_names { 20enum layer_names {
21 _BASE, 21 _BASE,
22 _FN, 22 _FN,
23 _MEDIA }; 23 _MEDIA
24};
24 25
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BASE] = LAYOUT( 27 [_BASE] = LAYOUT_60_ansi_tsangan(
27 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, 28 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,
28 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, 29 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,
29 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, 30 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,
30 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, 31 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL 32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
32 ), 33 ),
33 34
34 [_FN] = LAYOUT( 35 [_FN] = LAYOUT_60_ansi_tsangan(
35 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, _______, 36 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, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______ 40 _______, _______, _______, _______, _______, _______, _______
40 ), 41 ),
41 42
42 [_MEDIA] = LAYOUT( 43 [_MEDIA] = LAYOUT_60_ansi_tsangan(
43 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, _______, 44 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, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______ 48 _______, _______, _______, _______, _______, _______, _______
48 ) 49 )
49}; 50};
diff --git a/keyboards/plx/keymaps/default_all/keymap.c b/keyboards/plx/keymaps/default_all/keymap.c
index 97e234aa5..cf460e523 100644
--- a/keyboards/plx/keymaps/default_all/keymap.c
+++ b/keyboards/plx/keymaps/default_all/keymap.c
@@ -20,30 +20,31 @@
20enum layer_names { 20enum layer_names {
21 _BASE, 21 _BASE,
22 _FN, 22 _FN,
23 _MEDIA }; 23 _MEDIA
24};
24 25
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BASE] = LAYOUT_all( 27 [_BASE] = LAYOUT_all(
27 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_HOME, 28 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_HOME,
28 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, 29 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,
29 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, 30 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
30 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), 31 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL 32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
32 ), 33 ),
33 34
34 [_FN] = LAYOUT_all( 35 [_FN] = LAYOUT_all(
35 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, _______, _______, 36 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, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______ 40 _______, _______, _______, _______, _______, _______, _______
40 ), 41 ),
41 42
42 [_MEDIA] = LAYOUT_all( 43 [_MEDIA] = LAYOUT_all(
43 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, _______, _______, 44 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, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______ 48 _______, _______, _______, _______, _______, _______, _______
48 ) 49 )
49}; 50};
diff --git a/keyboards/plx/keymaps/via/keymap.c b/keyboards/plx/keymaps/via/keymap.c
index e988833c2..cf460e523 100644
--- a/keyboards/plx/keymaps/via/keymap.c
+++ b/keyboards/plx/keymaps/via/keymap.c
@@ -20,31 +20,31 @@
20enum layer_names { 20enum layer_names {
21 _BASE, 21 _BASE,
22 _FN, 22 _FN,
23 _MEDIA, 23 _MEDIA
24}; 24};
25 25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_BASE] = LAYOUT_all( 27 [_BASE] = LAYOUT_all(
28 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_HOME, 28 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_HOME,
29 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, 29 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,
30 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, 30 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
31 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), 31 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL 32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
33 ), 33 ),
34 34
35 [_FN] = LAYOUT_all( 35 [_FN] = LAYOUT_all(
36 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, _______, _______, 36 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, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______ 40 _______, _______, _______, _______, _______, _______, _______
41 ), 41 ),
42 42
43 [_MEDIA] = LAYOUT_all( 43 [_MEDIA] = LAYOUT_all(
44 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, _______, _______, 44 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, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______ 48 _______, _______, _______, _______, _______, _______, _______
49 ) 49 )
50}; 50};
diff --git a/keyboards/plx/plx.h b/keyboards/plx/plx.h
index 9776905f8..22d7bd021 100644
--- a/keyboards/plx/plx.h
+++ b/keyboards/plx/plx.h
@@ -17,7 +17,21 @@
17 17
18#include "quantum.h" 18#include "quantum.h"
19 19
20#define XXX KC_NO//readabilty 20#define XXX KC_NO // readability
21
22/*
23 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐
24 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ │0D │ 2u Backspace
25 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └─┬─────┤
26 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │
27 * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter
28 * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
29 * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌─┴───┴────┤
30 * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
31 * └────────┘ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ └──────────┘
32 * │40 │41 │42 │46 │4B │4C │4D │
33 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
34 */
21 35
22/* This a shortcut to help you visually see your layout. 36/* This a shortcut to help you visually see your layout.
23 * 37 *
@@ -27,7 +41,7 @@
27 * The second converts the arguments into a two-dimensional array which 41 * The second converts the arguments into a two-dimensional array which
28 * represents the switch matrix. 42 * represents the switch matrix.
29 */ 43 */
30#define LAYOUT( \ 44#define LAYOUT_60_ansi_tsangan( \
31 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ 45 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
32 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ 46 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
33 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \ 47 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \
@@ -42,6 +56,21 @@
42 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D} \ 56 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D} \
43} 57}
44 58
59#define LAYOUT_60_iso_tsangan( \
60 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
61 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, \
62 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
63 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \
64 k40, k41, k42, k46, k4B, k4C, k4D \
65) \
66{ \
67 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX}, \
68 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX}, \
69 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D}, \
70 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, XXX}, \
71 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D} \
72}
73
45#define LAYOUT_all( \ 74#define LAYOUT_all( \
46 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \ 75 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
47 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ 76 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
diff --git a/keyboards/plx/rules.mk b/keyboards/plx/rules.mk
index a3ee66575..419033f64 100644
--- a/keyboards/plx/rules.mk
+++ b/keyboards/plx/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys 11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = no # Audio control and System control 12EXTRAKEY_ENABLE = no # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug