summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2022-09-30 05:19:53 +1000
committerfauxpark <fauxpark@gmail.com>2022-09-30 05:19:53 +1000
commitdbb70871fcb98b98dd5544b53f4083dfc2aeefff (patch)
tree75839f796a26c2f2908b584e3ca0a35457f83fe2
parentdbe214c3268d9a316a137471a7679f7e45046e49 (diff)
parent45b5ed5c6e1ecdf95e9ce0523a8ff49d45b8822f (diff)
Merge remote-tracking branch 'upstream/master' into develop
-rw-r--r--docs/config_options.md12
-rw-r--r--docs/reference_info_json.md29
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/config.h8
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/info.json13
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/rules.mk7
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/config.h8
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/info.json13
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/rules.mk7
-rwxr-xr-xkeyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h8
-rw-r--r--keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json15
-rwxr-xr-xkeyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk7
-rw-r--r--keyboards/handwired/onekey/bluepill/config.h8
-rw-r--r--keyboards/handwired/onekey/bluepill/info.json13
-rw-r--r--keyboards/handwired/onekey/bluepill/rules.mk6
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/config.h9
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/info.json14
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/rules.mk4
-rw-r--r--keyboards/handwired/onekey/config.h10
-rw-r--r--keyboards/handwired/onekey/elite_c/config.h6
-rw-r--r--keyboards/handwired/onekey/elite_c/info.json13
-rw-r--r--keyboards/handwired/onekey/elite_c/rules.mk5
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/config.h8
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/info.json8
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/rules.mk6
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/config.h8
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/info.json8
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/rules.mk6
-rw-r--r--keyboards/handwired/onekey/info.json15
-rw-r--r--keyboards/handwired/onekey/kb2040/config.h6
-rw-r--r--keyboards/handwired/onekey/kb2040/info.json10
-rw-r--r--keyboards/handwired/onekey/kb2040/rules.mk5
-rw-r--r--keyboards/handwired/onekey/keymaps/quine/keymap.c4
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/config.h5
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/info.json14
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/rules.mk5
-rw-r--r--keyboards/handwired/onekey/onekey.c2
-rw-r--r--keyboards/handwired/onekey/onekey.h25
-rw-r--r--keyboards/handwired/onekey/promicro/config.h6
-rw-r--r--keyboards/handwired/onekey/promicro/info.json13
-rw-r--r--keyboards/handwired/onekey/promicro/rules.mk5
-rw-r--r--keyboards/handwired/onekey/proton_c/config.h5
-rw-r--r--keyboards/handwired/onekey/proton_c/info.json13
-rw-r--r--keyboards/handwired/onekey/proton_c/rules.mk6
-rw-r--r--keyboards/handwired/onekey/rp2040/config.h6
-rw-r--r--keyboards/handwired/onekey/rp2040/info.json11
-rw-r--r--keyboards/handwired/onekey/rp2040/rules.mk3
-rw-r--r--keyboards/handwired/onekey/rules.mk15
-rw-r--r--keyboards/handwired/onekey/sipeed_longan_nano/config.h7
-rw-r--r--keyboards/handwired/onekey/sipeed_longan_nano/info.json15
-rw-r--r--keyboards/handwired/onekey/sipeed_longan_nano/rules.mk10
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/config.h8
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/info.json14
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/rules.mk6
-rw-r--r--keyboards/handwired/onekey/stm32f405_feather/config.h22
-rw-r--r--keyboards/handwired/onekey/stm32f405_feather/info.json8
-rw-r--r--keyboards/handwired/onekey/stm32f405_feather/rules.mk6
-rw-r--r--keyboards/handwired/onekey/teensy_2/config.h9
-rw-r--r--keyboards/handwired/onekey/teensy_2/info.json14
-rw-r--r--keyboards/handwired/onekey/teensy_2/rules.mk5
-rw-r--r--keyboards/handwired/onekey/teensy_2pp/config.h9
-rw-r--r--keyboards/handwired/onekey/teensy_2pp/info.json14
-rw-r--r--keyboards/handwired/onekey/teensy_2pp/rules.mk5
-rw-r--r--keyboards/handwired/onekey/teensy_32/config.h3
-rw-r--r--keyboards/handwired/onekey/teensy_32/info.json8
-rw-r--r--keyboards/handwired/onekey/teensy_32/rules.mk6
-rw-r--r--keyboards/handwired/onekey/teensy_35/config.h3
-rw-r--r--keyboards/handwired/onekey/teensy_35/info.json8
-rw-r--r--keyboards/handwired/onekey/teensy_35/rules.mk6
-rw-r--r--keyboards/handwired/onekey/teensy_lc/config.h3
-rw-r--r--keyboards/handwired/onekey/teensy_lc/info.json8
-rw-r--r--keyboards/handwired/onekey/teensy_lc/rules.mk5
-rw-r--r--keyboards/keychron/q0/config.h10
-rw-r--r--keyboards/keychron/q0/q0.c8
-rw-r--r--keyboards/keychron/q0/rev_0130/rev_0130.c14
-rw-r--r--keyboards/keychron/q2/rev_0112/keymaps/default/keymap.c2
-rw-r--r--keyboards/keychron/q2/rev_0112/keymaps/via/keymap.c2
-rw-r--r--keyboards/keychron/q2/rev_0113/keymaps/default/keymap.c2
-rw-r--r--keyboards/keychron/q2/rev_0113/keymaps/via/keymap.c2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c4
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md83
-rw-r--r--keyboards/neson_design/700e/700e.h58
-rw-r--r--keyboards/neson_design/700e/config.h10
-rw-r--r--keyboards/neson_design/700e/info.json241
-rw-r--r--keyboards/neson_design/700e/keymaps/default/keymap.c25
-rw-r--r--keyboards/neson_design/700e/keymaps/default_ansi_tsangan/keymap.c35
-rw-r--r--keyboards/neson_design/700e/keymaps/default_iso_tsangan/keymap.c35
-rw-r--r--keyboards/neson_design/700e/keymaps/via/keymap.c37
87 files changed, 796 insertions, 407 deletions
diff --git a/docs/config_options.md b/docs/config_options.md
index 05e27a835c..5d5cae2184 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -2,7 +2,17 @@
2 2
3QMK is nearly infinitely configurable. Wherever possible we err on the side of allowing users to customize their keyboard, even at the expense of code size. That level of flexibility makes for a daunting configuration experience, however. 3QMK is nearly infinitely configurable. Wherever possible we err on the side of allowing users to customize their keyboard, even at the expense of code size. That level of flexibility makes for a daunting configuration experience, however.
4 4
5There are two main types of configuration files in QMK- `config.h` and `rules.mk`. These files exist at various levels in QMK and all files of the same type are combined to build the final configuration. The levels, from lowest priority to highest priority, are: 5There are three main types of configuration files in QMK:
6
7* `config.h`, which contains various preprocessor directives (`#define`, `#ifdef`)
8* `rules.mk`, which contains additional variables
9* `info.json`, which is utilized for [data-driven configuration](https://docs.qmk.fm/#/data_driven_config)
10
11This page will only discuss the first two types, `config.h` and `rules.mk`.
12
13?> While not all settings have data-driven equivalents yet, keyboard makers are encouraged to utilize the `info.json` file to set the metadata for their boards when possible. See the [`info.json` Format](https://docs.qmk.fm/#/reference_info_json) page for more details.
14
15These files exist at various levels in QMK and all files of the same type are combined to build the final configuration. The levels, from lowest priority to highest priority, are:
6 16
7* QMK Default 17* QMK Default
8* Keyboard 18* Keyboard
diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md
index 34c536b329..05d4ef1113 100644
--- a/docs/reference_info_json.md
+++ b/docs/reference_info_json.md
@@ -1,12 +1,12 @@
1# `info.json` 1# `info.json`
2 2
3This file is used by the [QMK API](https://github.com/qmk/qmk_api). It contains the information [QMK Configurator](https://config.qmk.fm/) needs to display a representation of your keyboard. You can also set metadata here. 3The information contained in `info.json` is combined with the `config.h` and `rules.mk` files, dynamically generating the necessary configuration for your keyboard at compile time. It is also used by the [QMK API](https://github.com/qmk/qmk_api), and contains the information [QMK Configurator](https://config.qmk.fm/) needs to display a representation of your keyboard.
4 4
5You can create `info.json` files at every level under `qmk_firmware/keyboards/<name>` to specify this metadata. These files are combined, with more specific files overriding keys in less specific files. This means you do not need to duplicate your metadata information. For example, `qmk_firmware/keyboards/clueboard/info.json` specifies `manufacturer` and `maintainer`, while `qmk_firmware/keyboards/clueboard/66/info.json` specifies more specific information about Clueboard 66%. 5You can create `info.json` files at every level under `qmk_firmware/keyboards/<name>`. These files are combined, with more specific files overriding keys in less specific files. This means you do not need to duplicate your metadata information. For example, `qmk_firmware/keyboards/clueboard/info.json` specifies `manufacturer` and `maintainer`, while `qmk_firmware/keyboards/clueboard/66/info.json` specifies more specific information about Clueboard 66%.
6 6
7## `info.json` Format 7## `info.json` Format
8 8
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. The first six keys noted here must be defined in `info.json`, or your keyboard will not be accepted into the QMK repository.
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.
@@ -20,6 +20,11 @@ The `info.json` file is a JSON formatted dictionary with the following keys avai
20* `maintainer` 20* `maintainer`
21 * 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` 22 * Example: `skullydazed`
23* `usb`
24 * Configure USB VID, PID, and device version. See the [USB](#USB) section for more detail.
25
26There are many more optional keys, some of which are described below. Others may be found by examining `data/schemas`.
27
23* `debounce` 28* `debounce`
24 * The amount of time in milliseconds to wait for debounce to happen. 29 * The amount of time in milliseconds to wait for debounce to happen.
25 * Default: `5` 30 * Default: `5`
@@ -33,8 +38,6 @@ The `info.json` file is a JSON formatted dictionary with the following keys avai
33 * Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix-pins) section for more detail. 38 * Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix-pins) section for more detail.
34* `rgblight` 39* `rgblight`
35 * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb-lighting) section for more detail. 40 * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb-lighting) section for more detail.
36* `usb`
37 * Configure USB VID, PID, and other parameters. See the [USB](#USB) section for more detail.
38 41
39### Layout Format 42### Layout Format
40 43
@@ -45,7 +48,7 @@ Within our `info.json` file the `layouts` portion of the dictionary contains sev
45 48
46### Key Dictionary Format 49### Key Dictionary Format
47 50
48Each Key Dictionary in a layout describes the physical properties of a key. If you are familiar with the Raw Code for <https://keyboard-layout-editor.com> you will find many of the concepts the same. We re-use the same key names and layout choices wherever possible, but unlike keyboard-layout-editor each key is stateless, inheriting no properties from the keys that came before it. 51Each Key Dictionary in a layout describes the physical properties of a key. If you are familiar with the Raw Data for <https://keyboard-layout-editor.com> you will find many of the concepts the same. We re-use the same key names and layout choices wherever possible, but unlike keyboard-layout-editor each key is stateless, inheriting no properties from the keys that came before it.
49 52
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. 53All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key.
51 54
@@ -115,7 +118,7 @@ Example:
115This section controls basic 2-pin LEDs, which typically pass through keyswitches and are soldered into the PCB, or are placed in PCB sockets. 118This section controls basic 2-pin LEDs, which typically pass through keyswitches and are soldered into the PCB, or are placed in PCB sockets.
116### Backlight 119### Backlight
117 120
118Enable by setting 121Enable by setting
119 122
120```json 123```json
121 "features": { 124 "features": {
@@ -155,6 +158,13 @@ Used for indicating Num Lock, Caps Lock, and Scroll Lock. May be soldered in-swi
155 * The pin that controls the `Caps Lock` LED 158 * The pin that controls the `Caps Lock` LED
156* `scroll_lock` 159* `scroll_lock`
157 * The pin that controls the `Scroll Lock` LED 160 * The pin that controls the `Scroll Lock` LED
161* `compose`
162 * The pin that controls the `Compose` LED
163* `kana`
164 * The pin that controls the `Kana` LED
165* `on_state`
166 * The state of the indicator pins when the LED is "on" - `1` for high, `0` for low
167 * Default: `1`
158 168
159Example: 169Example:
160 170
@@ -208,7 +218,8 @@ Example:
208 "saturation_steps": 17, 218 "saturation_steps": 17,
209 "brightness_steps": 17, 219 "brightness_steps": 17,
210 "animations": { 220 "animations": {
211 "all": true 221 "knight": true,
222 "rainbow_swirl": true
212 } 223 }
213 } 224 }
214} 225}
@@ -254,7 +265,7 @@ The device version is a BCD (binary coded decimal) value, in the format `MMmr`,
254 265
255This section controls the basic [rotary encoder](feature_encoders.md) support. 266This section controls the basic [rotary encoder](feature_encoders.md) support.
256 267
257Enable by setting 268Enable by setting
258 269
259```json 270```json
260 "features": { 271 "features": {
diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h
index 2554e2207c..4e9552480f 100644
--- a/keyboards/handwired/onekey/blackpill_f401/config.h
+++ b/keyboards/handwired/onekey/blackpill_f401/config.h
@@ -18,13 +18,9 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { B0 }
22#define MATRIX_ROW_PINS { A7 }
23
24#define BACKLIGHT_PIN A0
25#define BACKLIGHT_PWM_DRIVER PWMD5 21#define BACKLIGHT_PWM_DRIVER PWMD5
26#define BACKLIGHT_PWM_CHANNEL 1 22#define BACKLIGHT_PWM_CHANNEL 1
27 23
28#define RGB_DI_PIN A1
29
30#define ADC_PIN A0 24#define ADC_PIN A0
25
26#define RGB_CI_PIN A2
diff --git a/keyboards/handwired/onekey/blackpill_f401/info.json b/keyboards/handwired/onekey/blackpill_f401/info.json
index 50afb4b9b0..b79b17b000 100644
--- a/keyboards/handwired/onekey/blackpill_f401/info.json
+++ b/keyboards/handwired/onekey/blackpill_f401/info.json
@@ -1,3 +1,14 @@
1{ 1{
2 "keyboard_name": "Onekey Blackpill STM32F401" 2 "keyboard_name": "Onekey Blackpill STM32F401",
3 "development_board": "blackpill_f401",
4 "matrix_pins": {
5 "cols": ["B0"],
6 "rows": ["A7"]
7 },
8 "backlight": {
9 "pin": "A0"
10 },
11 "rgblight": {
12 "pin": "A1"
13 }
3} 14}
diff --git a/keyboards/handwired/onekey/blackpill_f401/rules.mk b/keyboards/handwired/onekey/blackpill_f401/rules.mk
index 1fec226e9b..1071cf62ee 100644
--- a/keyboards/handwired/onekey/blackpill_f401/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f401/rules.mk
@@ -1,8 +1 @@
1# MCU name
2MCU = STM32F401
3BOARD = BLACKPILL_STM32_F401
4
5# Bootloader selection
6BOOTLOADER = stm32-dfu
7
8KEYBOARD_SHARED_EP = yes KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h
index 9e9737fbf5..b97df0c666 100644
--- a/keyboards/handwired/onekey/blackpill_f411/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411/config.h
@@ -18,17 +18,13 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { B0 }
22#define MATRIX_ROW_PINS { A7 }
23
24#define BACKLIGHT_PIN A0
25#define BACKLIGHT_PWM_DRIVER PWMD5 21#define BACKLIGHT_PWM_DRIVER PWMD5
26#define BACKLIGHT_PWM_CHANNEL 1 22#define BACKLIGHT_PWM_CHANNEL 1
27 23
28#define RGB_DI_PIN A1
29
30#define ADC_PIN A0 24#define ADC_PIN A0
31 25
26#define RGB_CI_PIN A2
27
32#define SOLENOID_PIN B12 28#define SOLENOID_PIN B12
33#define SOLENOID_PINS { B12, B13, B14, B15 } 29#define SOLENOID_PINS { B12, B13, B14, B15 }
34#define SOLENOID_PINS_ACTIVE_STATE { high, high, low } 30#define SOLENOID_PINS_ACTIVE_STATE { high, high, low }
diff --git a/keyboards/handwired/onekey/blackpill_f411/info.json b/keyboards/handwired/onekey/blackpill_f411/info.json
index 0b2c14d5b9..19c6cbfed9 100644
--- a/keyboards/handwired/onekey/blackpill_f411/info.json
+++ b/keyboards/handwired/onekey/blackpill_f411/info.json
@@ -1,3 +1,14 @@
1{ 1{
2 "keyboard_name": "Onekey Blackpill STM32F411" 2 "keyboard_name": "Onekey Blackpill STM32F411",
3 "development_board": "blackpill_f411",
4 "matrix_pins": {
5 "cols": ["B0"],
6 "rows": ["A7"]
7 },
8 "backlight": {
9 "pin": "A0"
10 },
11 "rgblight": {
12 "pin": "A1"
13 }
3} 14}
diff --git a/keyboards/handwired/onekey/blackpill_f411/rules.mk b/keyboards/handwired/onekey/blackpill_f411/rules.mk
index cd1657335d..1071cf62ee 100644
--- a/keyboards/handwired/onekey/blackpill_f411/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f411/rules.mk
@@ -1,8 +1 @@
1# MCU name
2MCU = STM32F411
3BOARD = BLACKPILL_STM32_F411
4
5# Bootloader selection
6BOOTLOADER = stm32-dfu
7
8KEYBOARD_SHARED_EP = yes KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
index f4b589c6d2..c8800fa163 100755
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
@@ -18,13 +18,9 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { B0 }
22#define MATRIX_ROW_PINS { A7 }
23
24#define BACKLIGHT_PIN A0
25#define BACKLIGHT_PWM_DRIVER PWMD5 21#define BACKLIGHT_PWM_DRIVER PWMD5
26#define BACKLIGHT_PWM_CHANNEL 1 22#define BACKLIGHT_PWM_CHANNEL 1
27 23
28#define RGB_DI_PIN A1
29
30#define ADC_PIN A0 24#define ADC_PIN A0
25
26#define RGB_CI_PIN A2
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
index 59cdec59f7..3acccb7148 100644
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
@@ -1,3 +1,16 @@
1{ 1{
2 "keyboard_name": "Onekey Blackpill STM32F411 TinyUF2" 2 "keyboard_name": "Onekey Blackpill STM32F411 TinyUF2",
3 "processor": "STM32F411",
4 "bootloader": "tinyuf2",
5 "board": "BLACKPILL_STM32_F411",
6 "matrix_pins": {
7 "cols": ["B0"],
8 "rows": ["A7"]
9 },
10 "backlight": {
11 "pin": "A0"
12 },
13 "rgblight": {
14 "pin": "A1"
15 }
3} 16}
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
index 2c38e9b580..1071cf62ee 100755
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
@@ -1,8 +1 @@
1# MCU name
2MCU = STM32F411
3BOARD = BLACKPILL_STM32_F411
4
5# Bootloader selection
6BOOTLOADER = tinyuf2
7
8KEYBOARD_SHARED_EP = yes KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/onekey/bluepill/config.h b/keyboards/handwired/onekey/bluepill/config.h
index 0f85ad91c7..79fa79595a 100644
--- a/keyboards/handwired/onekey/bluepill/config.h
+++ b/keyboards/handwired/onekey/bluepill/config.h
@@ -18,13 +18,9 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { B0 }
22#define MATRIX_ROW_PINS { A7 }
23
24#define BACKLIGHT_PIN A0
25#define BACKLIGHT_PWM_DRIVER PWMD2 21#define BACKLIGHT_PWM_DRIVER PWMD2
26#define BACKLIGHT_PWM_CHANNEL 1 22#define BACKLIGHT_PWM_CHANNEL 1
27 23
28#define RGB_DI_PIN A1
29
30#define ADC_PIN A0 24#define ADC_PIN A0
25
26#define RGB_CI_PIN A2
diff --git a/keyboards/handwired/onekey/bluepill/info.json b/keyboards/handwired/onekey/bluepill/info.json
index 2126c62b05..7bef2db170 100644
--- a/keyboards/handwired/onekey/bluepill/info.json
+++ b/keyboards/handwired/onekey/bluepill/info.json
@@ -1,3 +1,14 @@
1{ 1{
2 "keyboard_name": "Onekey Bluepill STM32F103" 2 "keyboard_name": "Onekey Bluepill STM32F103",
3 "development_board": "bluepill",
4 "matrix_pins": {
5 "cols": ["B0"],
6 "rows": ["A7"]
7 },
8 "backlight": {
9 "pin": "A0"
10 },
11 "rgblight": {
12 "pin": "A1"
13 }
3} 14}
diff --git a/keyboards/handwired/onekey/bluepill/rules.mk b/keyboards/handwired/onekey/bluepill/rules.mk
index 019b1130d9..a92b099328 100644
--- a/keyboards/handwired/onekey/bluepill/rules.mk
+++ b/keyboards/handwired/onekey/bluepill/rules.mk
@@ -1,8 +1,2 @@
1# MCU name
2MCU = STM32F103
3
4# Bootloader selection
5BOOTLOADER = stm32duino
6
7# Enter lower-power sleep mode when on the ChibiOS idle thread 1# Enter lower-power sleep mode when on the ChibiOS idle thread
8OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE 2OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/config.h b/keyboards/handwired/onekey/bluepill_f103c6/config.h
index 903277bd3b..8b62ed86f2 100644
--- a/keyboards/handwired/onekey/bluepill_f103c6/config.h
+++ b/keyboards/handwired/onekey/bluepill_f103c6/config.h
@@ -18,18 +18,13 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { B0 }
22#define MATRIX_ROW_PINS { A7 }
23#define UNUSED_PINS
24
25#define BACKLIGHT_PIN A0
26#define BACKLIGHT_PWM_DRIVER PWMD2 21#define BACKLIGHT_PWM_DRIVER PWMD2
27#define BACKLIGHT_PWM_CHANNEL 1 22#define BACKLIGHT_PWM_CHANNEL 1
28 23
29#define RGB_DI_PIN A1
30
31#define ADC_PIN A0 24#define ADC_PIN A0
32 25
26#define RGB_CI_PIN A2
27
33// This code does not fit into the really small flash of STM32F103x6 together 28// This code does not fit into the really small flash of STM32F103x6 together
34// with CONSOLE_ENABLE=yes, and the debugging console is probably more 29// with CONSOLE_ENABLE=yes, and the debugging console is probably more
35// important for the "okeney" testing firmware. In a real firmware you may be 30// important for the "okeney" testing firmware. In a real firmware you may be
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/info.json b/keyboards/handwired/onekey/bluepill_f103c6/info.json
index 0ef180f6ec..353f074d92 100644
--- a/keyboards/handwired/onekey/bluepill_f103c6/info.json
+++ b/keyboards/handwired/onekey/bluepill_f103c6/info.json
@@ -1,3 +1,15 @@
1{ 1{
2 "keyboard_name": "Onekey Bluepill STM32F103C6" 2 "keyboard_name": "Onekey Bluepill STM32F103C6",
3 "processor": "STM32F103",
4 "board": "STM32_F103_STM32DUINO",
5 "matrix_pins": {
6 "cols": ["B0"],
7 "rows": ["A7"]
8 },
9 "backlight": {
10 "pin": "A0"
11 },
12 "rgblight": {
13 "pin": "A1"
14 }
3} 15}
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/rules.mk b/keyboards/handwired/onekey/bluepill_f103c6/rules.mk
index f2280a1a59..c76a8ebe6e 100644
--- a/keyboards/handwired/onekey/bluepill_f103c6/rules.mk
+++ b/keyboards/handwired/onekey/bluepill_f103c6/rules.mk
@@ -1,12 +1,8 @@
1# MCU name
2MCU = STM32F103
3
4# Bootloader selection 1# Bootloader selection
5# Cannot use `BOOTLOADER = stm32duino` due to the need to override 2# Cannot use `BOOTLOADER = stm32duino` due to the need to override
6# `MCU_LDSCRIPT`, therefore all parameters need to be specified here manually. 3# `MCU_LDSCRIPT`, therefore all parameters need to be specified here manually.
7OPT_DEFS += -DBOOTLOADER_STM32DUINO 4OPT_DEFS += -DBOOTLOADER_STM32DUINO
8MCU_LDSCRIPT = STM32F103x6_stm32duino_bootloader 5MCU_LDSCRIPT = STM32F103x6_stm32duino_bootloader
9BOARD = STM32_F103_STM32DUINO
10BOOTLOADER_TYPE = stm32duino 6BOOTLOADER_TYPE = stm32duino
11DFU_ARGS = -d 1EAF:0003 -a 2 -R 7DFU_ARGS = -d 1EAF:0003 -a 2 -R
12DFU_SUFFIX_ARGS = -v 1EAF -p 0003 8DFU_SUFFIX_ARGS = -v 1EAF -p 0003
diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h
index f1ce6d9491..9fcd881321 100644
--- a/keyboards/handwired/onekey/config.h
+++ b/keyboards/handwired/onekey/config.h
@@ -17,16 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20/* key matrix size */
21#define MATRIX_ROWS 1
22#define MATRIX_COLS 1
23
24/* COL2ROW, ROW2COL */
25#define DIODE_DIRECTION COL2ROW
26
27/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
28#define DEBOUNCE 5
29
30/* define if matrix has ghost (lacks anti-ghosting diodes) */ 20/* define if matrix has ghost (lacks anti-ghosting diodes) */
31//#define MATRIX_HAS_GHOST 21//#define MATRIX_HAS_GHOST
32 22
diff --git a/keyboards/handwired/onekey/elite_c/config.h b/keyboards/handwired/onekey/elite_c/config.h
index 83eded68de..473cfdfbda 100644
--- a/keyboards/handwired/onekey/elite_c/config.h
+++ b/keyboards/handwired/onekey/elite_c/config.h
@@ -18,12 +18,6 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { F4 }
22#define MATRIX_ROW_PINS { F5 }
23
24#define BACKLIGHT_PIN B6
25
26#define RGB_DI_PIN F6
27#define RGB_CI_PIN B1 21#define RGB_CI_PIN B1
28 22
29#define ADC_PIN F6 23#define ADC_PIN F6
diff --git a/keyboards/handwired/onekey/elite_c/info.json b/keyboards/handwired/onekey/elite_c/info.json
index d86f8b4395..1548561041 100644
--- a/keyboards/handwired/onekey/elite_c/info.json
+++ b/keyboards/handwired/onekey/elite_c/info.json
@@ -1,3 +1,14 @@
1{ 1{
2 "keyboard_name": "Onekey Elite-C" 2 "keyboard_name": "Onekey Elite-C",
3 "development_board": "elite_c",
4 "matrix_pins": {
5 "cols": ["F4"],
6 "rows": ["F5"]
7 },
8 "backlight": {
9 "pin": "B6"
10 },
11 "rgblight": {
12 "pin": "F6"
13 }
3} 14}
diff --git a/keyboards/handwired/onekey/elite_c/rules.mk b/keyboards/handwired/onekey/elite_c/rules.mk
index e8326bcf09..e69de29bb2 100644
--- a/keyboards/handwired/onekey/elite_c/rules.mk
+++ b/keyboards/handwired/onekey/elite_c/rules.mk
@@ -1,5 +0,0 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/config.h b/keyboards/handwired/onekey/evb_wb32f3g71/config.h
deleted file mode 100644
index 722aa59821..0000000000
--- a/keyboards/handwired/onekey/evb_wb32f3g71/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
1// Copyright 2021 Nick Brassel (@tzarc)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#include "config_common.h"
6
7#define MATRIX_COL_PINS { B12 }
8#define MATRIX_ROW_PINS { B13 }
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/info.json b/keyboards/handwired/onekey/evb_wb32f3g71/info.json
index c4d9d317e5..6287cdc34a 100644
--- a/keyboards/handwired/onekey/evb_wb32f3g71/info.json
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/info.json
@@ -1,3 +1,9 @@
1{ 1{
2 "keyboard_name": "Onekey WB32F3G71 Eval" 2 "keyboard_name": "Onekey WB32F3G71 Eval",
3 "processor": "WB32F3G71",
4 "bootloader": "wb32-dfu",
5 "matrix_pins": {
6 "cols": ["B12"],
7 "rows": ["B13"]
8 }
3} 9}
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/rules.mk b/keyboards/handwired/onekey/evb_wb32f3g71/rules.mk
index 9f64c6683f..033dd66aa4 100644
--- a/keyboards/handwired/onekey/evb_wb32f3g71/rules.mk
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/rules.mk
@@ -1,9 +1,3 @@
1# MCU name
2MCU = WB32F3G71
3
4# Bootloader selection
5BOOTLOADER = wb32-dfu
6
7MOUSEKEY_ENABLE = no # Mouse keys 1MOUSEKEY_ENABLE = no # Mouse keys
8EXTRAKEY_ENABLE = no # Audio control and System control 2EXTRAKEY_ENABLE = no # Audio control and System control
9NKRO_ENABLE = no # Enable N-Key Rollover 3NKRO_ENABLE = no # Enable N-Key Rollover
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/config.h b/keyboards/handwired/onekey/evb_wb32fq95/config.h
deleted file mode 100644
index 722aa59821..0000000000
--- a/keyboards/handwired/onekey/evb_wb32fq95/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
1// Copyright 2021 Nick Brassel (@tzarc)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#include "config_common.h"
6
7#define MATRIX_COL_PINS { B12 }
8#define MATRIX_ROW_PINS { B13 }
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/info.json b/keyboards/handwired/onekey/evb_wb32fq95/info.json
index ccc65b2e70..3fc1c88657 100644
--- a/keyboards/handwired/onekey/evb_wb32fq95/info.json
+++ b/keyboards/handwired/onekey/evb_wb32fq95/info.json
@@ -1,3 +1,9 @@
1{ 1{
2 "keyboard_name": "Onekey WB32FQ95 Eval" 2 "keyboard_name": "Onekey WB32FQ95 Eval",
3 "processor": "WB32FQ95",
4 "bootloader": "wb32-dfu",
5 "matrix_pins": {
6 "cols": ["B12"],
7 "rows": ["B13"]
8 }
3} 9}
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/rules.mk b/keyboards/handwired/onekey/evb_wb32fq95/rules.mk
index d0dcd16292..033dd66aa4 100644
--- a/keyboards/handwired/onekey/evb_wb32fq95/rules.mk
+++ b/keyboards/handwired/onekey/evb_wb32fq95/rules.mk
@@ -1,9 +1,3 @@
1# MCU name
2MCU = WB32FQ95
3
4# Bootloader selection
5BOOTLOADER = wb32-dfu
6
7MOUSEKEY_ENABLE = no # Mouse keys 1MOUSEKEY_ENABLE = no # Mouse keys
8EXTRAKEY_ENABLE = no # Audio control and System control 2EXTRAKEY_ENABLE = no # Audio control and System control
9NKRO_ENABLE = no # Enable N-Key Rollover 3NKRO_ENABLE = no # Enable N-Key Rollover
diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json
index 46cdc82827..605e73e726 100644
--- a/keyboards/handwired/onekey/info.json
+++ b/keyboards/handwired/onekey/info.json
@@ -7,10 +7,23 @@
7 "pid": "0x6465", 7 "pid": "0x6465",
8 "device_version": "0.0.1" 8 "device_version": "0.0.1"
9 }, 9 },
10 "diode_direction": "COL2ROW",
11 "features": {
12 "bootmagic": false,
13 "mousekey": true,
14 "extrakey": true,
15 "console": true,
16 "command": false,
17 "nkro": true,
18 "backlight": false,
19 "rgblight": false,
20 "audio": false
21 },
22 "community_layouts": ["ortho_1x1"],
10 "layouts": { 23 "layouts": {
11 "LAYOUT_ortho_1x1": { 24 "LAYOUT_ortho_1x1": {
12 "layout": [ 25 "layout": [
13 {"x": 0, "y": 0} 26 {"x": 0, "y": 0, "matrix": [0, 0]}
14 ] 27 ]
15 } 28 }
16 } 29 }
diff --git a/keyboards/handwired/onekey/kb2040/config.h b/keyboards/handwired/onekey/kb2040/config.h
index 0bf7adf37f..c6c6dbe2cf 100644
--- a/keyboards/handwired/onekey/kb2040/config.h
+++ b/keyboards/handwired/onekey/kb2040/config.h
@@ -5,10 +5,6 @@
5 5
6#include "config_common.h" 6#include "config_common.h"
7 7
8#define MATRIX_COL_PINS \
9 { GP4 }
10#define MATRIX_ROW_PINS \
11 { GP5 }
12#define DEBUG_MATRIX_SCAN_RATE 8#define DEBUG_MATRIX_SCAN_RATE
13 9
14#define QMK_WAITING_TEST_BUSY_PIN GP8 10#define QMK_WAITING_TEST_BUSY_PIN GP8
@@ -18,8 +14,6 @@
18#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 14#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
19#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U 15#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
20 16
21#define RGB_DI_PIN A1
22
23// settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port 17// settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port
24#define OLED_DISPLAY_128X32 18#define OLED_DISPLAY_128X32
25#define I2C_DRIVER I2CD1 19#define I2C_DRIVER I2CD1
diff --git a/keyboards/handwired/onekey/kb2040/info.json b/keyboards/handwired/onekey/kb2040/info.json
index 696b772142..7982db4678 100644
--- a/keyboards/handwired/onekey/kb2040/info.json
+++ b/keyboards/handwired/onekey/kb2040/info.json
@@ -1,3 +1,11 @@
1{ 1{
2 "keyboard_name": "Onekey KB2040" 2 "keyboard_name": "Onekey KB2040",
3 "development_board": "kb2040",
4 "matrix_pins": {
5 "cols": ["GP4"],
6 "rows": ["GP5"]
7 },
8 "rgblight": {
9 "pin": "A1"
10 }
3} 11}
diff --git a/keyboards/handwired/onekey/kb2040/rules.mk b/keyboards/handwired/onekey/kb2040/rules.mk
index 624b331bf8..a5429ba993 100644
--- a/keyboards/handwired/onekey/kb2040/rules.mk
+++ b/keyboards/handwired/onekey/kb2040/rules.mk
@@ -1,9 +1,4 @@
1# MCU name
2MCU = RP2040
3BOOTLOADER = rp2040
4
5OLED_ENABLE = yes 1OLED_ENABLE = yes
6OLED_DRIVER = SSD1306 2OLED_DRIVER = SSD1306
7 3
8OPT_DEFS += -DHAL_USE_I2C=TRUE 4OPT_DEFS += -DHAL_USE_I2C=TRUE
9
diff --git a/keyboards/handwired/onekey/keymaps/quine/keymap.c b/keyboards/handwired/onekey/keymaps/quine/keymap.c
index e7c1e6d064..f440bba83a 100644
--- a/keyboards/handwired/onekey/keymaps/quine/keymap.c
+++ b/keyboards/handwired/onekey/keymaps/quine/keymap.c
@@ -1,7 +1,7 @@
1#include <handwired/onekey/onekey.h> 1#include <quantum.h>
2const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) }; 2const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };
3const char *buf[30] = { 3const char *buf[30] = {
4"#include <handwired/onekey/onekey.h>", 4"#include <quantum.h>",
5"const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };", 5"const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };",
6"const char *buf[30] = {", 6"const char *buf[30] = {",
7"", 7"",
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h
index b6b36c4cee..24b136fe2a 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/config.h
+++ b/keyboards/handwired/onekey/nucleo_l432kc/config.h
@@ -4,15 +4,10 @@
4 4
5#include "config_common.h" 5#include "config_common.h"
6 6
7#define MATRIX_COL_PINS { A2 }
8#define MATRIX_ROW_PINS { A1 }
9
10#define BACKLIGHT_PIN B8
11#define BACKLIGHT_PWM_DRIVER PWMD4 7#define BACKLIGHT_PWM_DRIVER PWMD4
12#define BACKLIGHT_PWM_CHANNEL 3 8#define BACKLIGHT_PWM_CHANNEL 3
13#define BACKLIGHT_PAL_MODE 2 9#define BACKLIGHT_PAL_MODE 2
14 10
15#define RGB_DI_PIN A0
16#define RGB_CI_PIN B13 11#define RGB_CI_PIN B13
17 12
18#define ADC_PIN A0 13#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/info.json b/keyboards/handwired/onekey/nucleo_l432kc/info.json
index 3f497fc80a..a6e6511040 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/info.json
+++ b/keyboards/handwired/onekey/nucleo_l432kc/info.json
@@ -1,3 +1,15 @@
1{ 1{
2 "keyboard_name": "Onekey Nucleo L432KC" 2 "keyboard_name": "Onekey Nucleo L432KC",
3 "processor": "STM32L432",
4 "bootloader": "stm32-dfu",
5 "matrix_pins": {
6 "cols": ["A2"],
7 "rows": ["A1"]
8 },
9 "backlight": {
10 "pin": "B8"
11 },
12 "rgblight": {
13 "pin": "A0"
14 }
3} 15}
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/rules.mk b/keyboards/handwired/onekey/nucleo_l432kc/rules.mk
index 64dae7746e..e69de29bb2 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/rules.mk
+++ b/keyboards/handwired/onekey/nucleo_l432kc/rules.mk
@@ -1,5 +0,0 @@
1# MCU name
2MCU = STM32L432
3
4# Bootloader selection
5BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/onekey/onekey.c b/keyboards/handwired/onekey/onekey.c
index a29f9ea6d0..14c7697328 100644
--- a/keyboards/handwired/onekey/onekey.c
+++ b/keyboards/handwired/onekey/onekey.c
@@ -1,7 +1,7 @@
1// Copyright 2022 QMK 1// Copyright 2022 QMK
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "onekey.h" 4#include "quantum.h"
5 5
6void keyboard_post_init_kb(void) { 6void keyboard_post_init_kb(void) {
7 debug_enable = true; 7 debug_enable = true;
diff --git a/keyboards/handwired/onekey/onekey.h b/keyboards/handwired/onekey/onekey.h
deleted file mode 100644
index 72cab45be5..0000000000
--- a/keyboards/handwired/onekey/onekey.h
+++ /dev/null
@@ -1,25 +0,0 @@
1/* Copyright 2019
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_ortho_1x1( \
22 k00 \
23) { \
24 { k00 } \
25}
diff --git a/keyboards/handwired/onekey/promicro/config.h b/keyboards/handwired/onekey/promicro/config.h
index 83eded68de..473cfdfbda 100644
--- a/keyboards/handwired/onekey/promicro/config.h
+++ b/keyboards/handwired/onekey/promicro/config.h
@@ -18,12 +18,6 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { F4 }
22#define MATRIX_ROW_PINS { F5 }
23
24#define BACKLIGHT_PIN B6
25
26#define RGB_DI_PIN F6
27#define RGB_CI_PIN B1 21#define RGB_CI_PIN B1
28 22
29#define ADC_PIN F6 23#define ADC_PIN F6
diff --git a/keyboards/handwired/onekey/promicro/info.json b/keyboards/handwired/onekey/promicro/info.json
index 6b35da4d75..efefd8d45c 100644
--- a/keyboards/handwired/onekey/promicro/info.json
+++ b/keyboards/handwired/onekey/promicro/info.json
@@ -1,3 +1,14 @@
1{ 1{
2 "keyboard_name": "Onekey Pro Micro" 2 "keyboard_name": "Onekey Pro Micro",
3 "development_board": "promicro",
4 "matrix_pins": {
5 "cols": ["F4"],
6 "rows": ["F5"]
7 },
8 "backlight": {
9 "pin": "B6"
10 },
11 "rgblight": {
12 "pin": "F6"
13 }
3} 14}
diff --git a/keyboards/handwired/onekey/promicro/rules.mk b/keyboards/handwired/onekey/promicro/rules.mk
index cf663a7ed6..e69de29bb2 100644
--- a/keyboards/handwired/onekey/promicro/rules.mk
+++ b/keyboards/handwired/onekey/promicro/rules.mk
@@ -1,5 +0,0 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
diff --git a/keyboards/handwired/onekey/proton_c/config.h b/keyboards/handwired/onekey/proton_c/config.h
index 6e8e28edb4..776c422398 100644
--- a/keyboards/handwired/onekey/proton_c/config.h
+++ b/keyboards/handwired/onekey/proton_c/config.h
@@ -18,15 +18,10 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { A2 }
22#define MATRIX_ROW_PINS { A1 }
23
24#define BACKLIGHT_PIN B8
25#define BACKLIGHT_PWM_DRIVER PWMD4 21#define BACKLIGHT_PWM_DRIVER PWMD4
26#define BACKLIGHT_PWM_CHANNEL 3 22#define BACKLIGHT_PWM_CHANNEL 3
27#define BACKLIGHT_PAL_MODE 2 23#define BACKLIGHT_PAL_MODE 2
28 24
29#define RGB_DI_PIN A0
30#define RGB_CI_PIN B13 25#define RGB_CI_PIN B13
31 26
32#define ADC_PIN A0 27#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/proton_c/info.json b/keyboards/handwired/onekey/proton_c/info.json
index 47ac089f7a..5292d02567 100644
--- a/keyboards/handwired/onekey/proton_c/info.json
+++ b/keyboards/handwired/onekey/proton_c/info.json
@@ -1,3 +1,14 @@
1{ 1{
2 "keyboard_name": "Onekey Proton-C" 2 "keyboard_name": "Onekey Proton-C",
3 "development_board": "proton_c",
4 "matrix_pins": {
5 "cols": ["A2"],
6 "rows": ["A1"]
7 },
8 "backlight": {
9 "pin": "B8"
10 },
11 "rgblight": {
12 "pin": "A0"
13 }
3} 14}
diff --git a/keyboards/handwired/onekey/proton_c/rules.mk b/keyboards/handwired/onekey/proton_c/rules.mk
index 7a846816d1..e69de29bb2 100644
--- a/keyboards/handwired/onekey/proton_c/rules.mk
+++ b/keyboards/handwired/onekey/proton_c/rules.mk
@@ -1,6 +0,0 @@
1# MCU name
2MCU = STM32F303
3BOARD = QMK_PROTON_C
4
5# Bootloader selection
6BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h
index c0ef468aa9..bcf4047a4f 100644
--- a/keyboards/handwired/onekey/rp2040/config.h
+++ b/keyboards/handwired/onekey/rp2040/config.h
@@ -5,10 +5,6 @@
5 5
6#include "config_common.h" 6#include "config_common.h"
7 7
8#define MATRIX_COL_PINS \
9 { GP4 }
10#define MATRIX_ROW_PINS \
11 { GP5 }
12#define DEBUG_MATRIX_SCAN_RATE 8#define DEBUG_MATRIX_SCAN_RATE
13 9
14#define QMK_WAITING_TEST_BUSY_PIN GP8 10#define QMK_WAITING_TEST_BUSY_PIN GP8
@@ -17,5 +13,3 @@
17#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET 13#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
18#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 14#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
19#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U 15#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
20
21#define RGB_DI_PIN A1
diff --git a/keyboards/handwired/onekey/rp2040/info.json b/keyboards/handwired/onekey/rp2040/info.json
index 696b021dc1..b34a1cc206 100644
--- a/keyboards/handwired/onekey/rp2040/info.json
+++ b/keyboards/handwired/onekey/rp2040/info.json
@@ -1,3 +1,12 @@
1{ 1{
2 "keyboard_name": "Onekey RP2040" 2 "keyboard_name": "Onekey RP2040",
3 "processor": "RP2040",
4 "bootloader": "rp2040",
5 "matrix_pins": {
6 "cols": ["GP4"],
7 "rows": ["GP5"]
8 },
9 "rgblight": {
10 "pin": "A1"
11 }
3} 12}
diff --git a/keyboards/handwired/onekey/rp2040/rules.mk b/keyboards/handwired/onekey/rp2040/rules.mk
index 646402d0bb..e69de29bb2 100644
--- a/keyboards/handwired/onekey/rp2040/rules.mk
+++ b/keyboards/handwired/onekey/rp2040/rules.mk
@@ -1,3 +0,0 @@
1# MCU name
2MCU = RP2040
3BOOTLOADER = rp2040
diff --git a/keyboards/handwired/onekey/rules.mk b/keyboards/handwired/onekey/rules.mk
index 98a145f714..2094801ed9 100644
--- a/keyboards/handwired/onekey/rules.mk
+++ b/keyboards/handwired/onekey/rules.mk
@@ -1,16 +1 @@
1# Build Options
2# change yes to no to disable
3#
4BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
5MOUSEKEY_ENABLE = yes # Mouse keys
6EXTRAKEY_ENABLE = yes # Audio control and System control
7CONSOLE_ENABLE = yes # Console for debug
8COMMAND_ENABLE = no # Commands for debug and configuration
9NKRO_ENABLE = yes # Enable N-Key Rollover
10BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
11RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
12AUDIO_ENABLE = no # Audio output
13
14DEFAULT_FOLDER = handwired/onekey/promicro DEFAULT_FOLDER = handwired/onekey/promicro
15
16LAYOUTS = ortho_1x1
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/config.h b/keyboards/handwired/onekey/sipeed_longan_nano/config.h
index 6f97baf57f..74ae76f594 100644
--- a/keyboards/handwired/onekey/sipeed_longan_nano/config.h
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/config.h
@@ -18,16 +18,9 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS \
22 { B0 }
23#define MATRIX_ROW_PINS \
24 { A7 }
25
26#define BACKLIGHT_PIN A1 /* Green LED. */
27#define BACKLIGHT_PWM_DRIVER PWMD5 /* GD32 numbering scheme starts from 0, TIMER4 on GD32 boards is TIMER5 on STM32 boards. */ 21#define BACKLIGHT_PWM_DRIVER PWMD5 /* GD32 numbering scheme starts from 0, TIMER4 on GD32 boards is TIMER5 on STM32 boards. */
28#define BACKLIGHT_PWM_CHANNEL 2 /* GD32 numbering scheme starts from 0, Channel 1 on GD32 boards is Channel 2 on STM32 boards. */ 22#define BACKLIGHT_PWM_CHANNEL 2 /* GD32 numbering scheme starts from 0, Channel 1 on GD32 boards is Channel 2 on STM32 boards. */
29 23
30#define RGB_DI_PIN A2
31#define RGB_CI_PIN B13 24#define RGB_CI_PIN B13
32 25
33#define ADC_PIN A0 26#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/info.json b/keyboards/handwired/onekey/sipeed_longan_nano/info.json
index 10f661c3d9..d14928139b 100644
--- a/keyboards/handwired/onekey/sipeed_longan_nano/info.json
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/info.json
@@ -1,3 +1,16 @@
1{ 1{
2 "keyboard_name": "Onekey Sipeed Longan Nano" 2 "keyboard_name": "Onekey Sipeed Longan Nano",
3 "processor": "GD32VF103",
4 "bootloader": "gd32v-dfu",
5 "board": "SIPEED_LONGAN_NANO",
6 "matrix_pins": {
7 "cols": ["B0"],
8 "rows": ["A7"]
9 },
10 "backlight": {
11 "pin": "A1"
12 },
13 "rgblight": {
14 "pin": "A2"
15 }
3} 16}
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/rules.mk b/keyboards/handwired/onekey/sipeed_longan_nano/rules.mk
index aef4fee6b2..1071cf62ee 100644
--- a/keyboards/handwired/onekey/sipeed_longan_nano/rules.mk
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/rules.mk
@@ -1,11 +1 @@
1# MCU name
2MCU = GD32VF103
3BOARD = SIPEED_LONGAN_NANO
4
5# Bootloader selection
6BOOTLOADER = gd32v-dfu
7
8# Build Options
9# change yes to no to disable
10#
11KEYBOARD_SHARED_EP = yes KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/onekey/stm32f0_disco/config.h b/keyboards/handwired/onekey/stm32f0_disco/config.h
index 373f1c943a..7d23fb9307 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/config.h
+++ b/keyboards/handwired/onekey/stm32f0_disco/config.h
@@ -18,14 +18,10 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { B4 }
22#define MATRIX_ROW_PINS { B5 }
23
24#define BACKLIGHT_PIN C8
25#define BACKLIGHT_PWM_DRIVER PWMD3 21#define BACKLIGHT_PWM_DRIVER PWMD3
26#define BACKLIGHT_PWM_CHANNEL 3 22#define BACKLIGHT_PWM_CHANNEL 3
27#define BACKLIGHT_PAL_MODE 0 23#define BACKLIGHT_PAL_MODE 0
28 24
29#define RGB_DI_PIN B15
30
31#define ADC_PIN A0 25#define ADC_PIN A0
26
27#define RGB_CI_PIN B13
diff --git a/keyboards/handwired/onekey/stm32f0_disco/info.json b/keyboards/handwired/onekey/stm32f0_disco/info.json
index ef4312059b..c76bd73173 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/info.json
+++ b/keyboards/handwired/onekey/stm32f0_disco/info.json
@@ -1,3 +1,15 @@
1{ 1{
2 "keyboard_name": "Onekey STM32F072 Discovery" 2 "keyboard_name": "Onekey STM32F072 Discovery",
3 "processor": "STM32F072",
4 "bootloader": "stm32-dfu",
5 "matrix_pins": {
6 "cols": ["B4"],
7 "rows": ["B5"]
8 },
9 "backlight": {
10 "pin": "C8"
11 },
12 "rgblight": {
13 "pin": "B15"
14 }
3} 15}
diff --git a/keyboards/handwired/onekey/stm32f0_disco/rules.mk b/keyboards/handwired/onekey/stm32f0_disco/rules.mk
index 6b37928327..a92b099328 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/rules.mk
+++ b/keyboards/handwired/onekey/stm32f0_disco/rules.mk
@@ -1,8 +1,2 @@
1# MCU name
2MCU = STM32F072
3
4# Bootloader selection
5BOOTLOADER = stm32-dfu
6
7# Enter lower-power sleep mode when on the ChibiOS idle thread 1# Enter lower-power sleep mode when on the ChibiOS idle thread
8OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE 2OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/stm32f405_feather/config.h b/keyboards/handwired/onekey/stm32f405_feather/config.h
deleted file mode 100644
index ea9f409640..0000000000
--- a/keyboards/handwired/onekey/stm32f405_feather/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/* Copyright 2019
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21#define MATRIX_COL_PINS { C2 }
22#define MATRIX_ROW_PINS { C3 }
diff --git a/keyboards/handwired/onekey/stm32f405_feather/info.json b/keyboards/handwired/onekey/stm32f405_feather/info.json
index 410ddbdd32..5135873576 100644
--- a/keyboards/handwired/onekey/stm32f405_feather/info.json
+++ b/keyboards/handwired/onekey/stm32f405_feather/info.json
@@ -1,3 +1,9 @@
1{ 1{
2 "keyboard_name": "Onekey Adafruit Feather STM32F405" 2 "keyboard_name": "Onekey Adafruit Feather STM32F405",
3 "processor": "STM32F405",
4 "bootloader": "stm32-dfu",
5 "matrix_pins": {
6 "cols": ["C2"],
7 "rows": ["C3"],
8 }
3} 9}
diff --git a/keyboards/handwired/onekey/stm32f405_feather/rules.mk b/keyboards/handwired/onekey/stm32f405_feather/rules.mk
index bff7a7e297..a92b099328 100644
--- a/keyboards/handwired/onekey/stm32f405_feather/rules.mk
+++ b/keyboards/handwired/onekey/stm32f405_feather/rules.mk
@@ -1,8 +1,2 @@
1# MCU name
2MCU = STM32F405
3
4# Bootloader selection
5BOOTLOADER = stm32-dfu
6
7# Enter lower-power sleep mode when on the ChibiOS idle thread 1# Enter lower-power sleep mode when on the ChibiOS idle thread
8OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE 2OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/teensy_2/config.h b/keyboards/handwired/onekey/teensy_2/config.h
index fb775a06b0..a2a2a64835 100644
--- a/keyboards/handwired/onekey/teensy_2/config.h
+++ b/keyboards/handwired/onekey/teensy_2/config.h
@@ -18,14 +18,9 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { F4 }
22#define MATRIX_ROW_PINS { F5 }
23
24#define BACKLIGHT_PIN B6
25
26#define RGB_DI_PIN F6
27
28#define ADC_PIN F6 21#define ADC_PIN F6
29 22
23#define RGB_CI_PIN F7
24
30#define QMK_WAITING_TEST_BUSY_PIN F6 25#define QMK_WAITING_TEST_BUSY_PIN F6
31#define QMK_WAITING_TEST_YIELD_PIN F7 26#define QMK_WAITING_TEST_YIELD_PIN F7
diff --git a/keyboards/handwired/onekey/teensy_2/info.json b/keyboards/handwired/onekey/teensy_2/info.json
index f081d3a25c..2425168462 100644
--- a/keyboards/handwired/onekey/teensy_2/info.json
+++ b/keyboards/handwired/onekey/teensy_2/info.json
@@ -1,3 +1,15 @@
1{ 1{
2 "keyboard_name": "Onekey Teensy 2.0" 2 "keyboard_name": "Onekey Teensy 2.0",
3 "processor": "atmega32u4",
4 "bootloader": "halfkay",
5 "matrix_pins": {
6 "cols": ["F4"],
7 "rows": ["F5"]
8 },
9 "backlight": {
10 "pin": "B6"
11 },
12 "rgblight": {
13 "pin": "F6"
14 }
3} 15}
diff --git a/keyboards/handwired/onekey/teensy_2/rules.mk b/keyboards/handwired/onekey/teensy_2/rules.mk
index 320633f80f..e69de29bb2 100644
--- a/keyboards/handwired/onekey/teensy_2/rules.mk
+++ b/keyboards/handwired/onekey/teensy_2/rules.mk
@@ -1,5 +0,0 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = halfkay
diff --git a/keyboards/handwired/onekey/teensy_2pp/config.h b/keyboards/handwired/onekey/teensy_2pp/config.h
index fb775a06b0..a2a2a64835 100644
--- a/keyboards/handwired/onekey/teensy_2pp/config.h
+++ b/keyboards/handwired/onekey/teensy_2pp/config.h
@@ -18,14 +18,9 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define MATRIX_COL_PINS { F4 }
22#define MATRIX_ROW_PINS { F5 }
23
24#define BACKLIGHT_PIN B6
25
26#define RGB_DI_PIN F6
27
28#define ADC_PIN F6 21#define ADC_PIN F6
29 22
23#define RGB_CI_PIN F7
24
30#define QMK_WAITING_TEST_BUSY_PIN F6 25#define QMK_WAITING_TEST_BUSY_PIN F6
31#define QMK_WAITING_TEST_YIELD_PIN F7 26#define QMK_WAITING_TEST_YIELD_PIN F7
diff --git a/keyboards/handwired/onekey/teensy_2pp/info.json b/keyboards/handwired/onekey/teensy_2pp/info.json
index bec94fa3dc..ba7281ce1b 100644
--- a/keyboards/handwired/onekey/teensy_2pp/info.json
+++ b/keyboards/handwired/onekey/teensy_2pp/info.json
@@ -1,3 +1,15 @@
1{ 1{
2 "keyboard_name": "Onekey Teensy 2.0++" 2 "keyboard_name": "Onekey Teensy 2.0++",
3 "processor": "at90usb1286",
4 "bootloader": "halfkay",
5 "matrix_pins": {
6 "cols": ["F4"],
7 "rows": ["F5"]
8 },
9 "backlight": {
10 "pin": "B6"
11 },
12 "rgblight": {
13 "pin": "F6"
14 }
3} 15}
diff --git a/keyboards/handwired/onekey/teensy_2pp/rules.mk b/keyboards/handwired/onekey/teensy_2pp/rules.mk
index 149471682d..e69de29bb2 100644
--- a/keyboards/handwired/onekey/teensy_2pp/rules.mk
+++ b/keyboards/handwired/onekey/teensy_2pp/rules.mk
@@ -1,5 +0,0 @@
1# MCU name
2MCU = at90usb1286
3
4# Bootloader selection
5BOOTLOADER = halfkay
diff --git a/keyboards/handwired/onekey/teensy_32/config.h b/keyboards/handwired/onekey/teensy_32/config.h
index 3444cca67f..e01cfa3c8c 100644
--- a/keyboards/handwired/onekey/teensy_32/config.h
+++ b/keyboards/handwired/onekey/teensy_32/config.h
@@ -19,9 +19,6 @@
19// TODO: including this causes "error: expected identifier before '(' token" errors 19// TODO: including this causes "error: expected identifier before '(' token" errors
20//#include "config_common.h" 20//#include "config_common.h"
21 21
22#define MATRIX_COL_PINS { D5 }
23#define MATRIX_ROW_PINS { B2 }
24
25// i2c_master defines 22// i2c_master defines
26#define I2C1_SCL_PIN B0 // A2 on pinout = B0 23#define I2C1_SCL_PIN B0 // A2 on pinout = B0
27#define I2C1_SDA_PIN B1 // A3 on pinout = B1 24#define I2C1_SDA_PIN B1 // A3 on pinout = B1
diff --git a/keyboards/handwired/onekey/teensy_32/info.json b/keyboards/handwired/onekey/teensy_32/info.json
index 213b4ea153..6d82d300ba 100644
--- a/keyboards/handwired/onekey/teensy_32/info.json
+++ b/keyboards/handwired/onekey/teensy_32/info.json
@@ -1,3 +1,9 @@
1{ 1{
2 "keyboard_name": "Onekey Teensy 3.2" 2 "keyboard_name": "Onekey Teensy 3.2",
3 "processor": "MK20DX256",
4 "bootloader": "halfkay",
5 "matrix_pins": {
6 "cols": ["D5"],
7 "rows": ["B2"]
8 }
3} 9}
diff --git a/keyboards/handwired/onekey/teensy_32/rules.mk b/keyboards/handwired/onekey/teensy_32/rules.mk
index 937c9d5103..a92b099328 100644
--- a/keyboards/handwired/onekey/teensy_32/rules.mk
+++ b/keyboards/handwired/onekey/teensy_32/rules.mk
@@ -1,8 +1,2 @@
1# MCU name
2MCU = MK20DX256
3
4# Bootloader selection
5BOOTLOADER = halfkay
6
7# Enter lower-power sleep mode when on the ChibiOS idle thread 1# Enter lower-power sleep mode when on the ChibiOS idle thread
8OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE 2OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/teensy_35/config.h b/keyboards/handwired/onekey/teensy_35/config.h
index 13eaf1a4f6..0f15fc87d8 100644
--- a/keyboards/handwired/onekey/teensy_35/config.h
+++ b/keyboards/handwired/onekey/teensy_35/config.h
@@ -19,9 +19,6 @@
19// TODO: including this causes "error: expected identifier before '(' token" errors 19// TODO: including this causes "error: expected identifier before '(' token" errors
20//#include "config_common.h" 20//#include "config_common.h"
21 21
22#define MATRIX_COL_PINS { D5 } // 20/A6
23#define MATRIX_ROW_PINS { B2 } // 19/A5
24
25// i2c_master defines 22// i2c_master defines
26#define I2C1_SCL_PIN B0 // 16/A2 on pinout 23#define I2C1_SCL_PIN B0 // 16/A2 on pinout
27#define I2C1_SDA_PIN B1 // 17/A3 on pinout 24#define I2C1_SDA_PIN B1 // 17/A3 on pinout
diff --git a/keyboards/handwired/onekey/teensy_35/info.json b/keyboards/handwired/onekey/teensy_35/info.json
index 99b6a236c5..59cc1decdc 100644
--- a/keyboards/handwired/onekey/teensy_35/info.json
+++ b/keyboards/handwired/onekey/teensy_35/info.json
@@ -1,3 +1,9 @@
1{ 1{
2 "keyboard_name": "Onekey Teensy 3.5" 2 "keyboard_name": "Onekey Teensy 3.5",
3 "processor": "MK64FX512",
4 "bootloader": "halfkay",
5 "matrix_pins": {
6 "cols": ["D5"], // 20/A6
7 "rows": ["B2"] // 19/A5
8 }
3} 9}
diff --git a/keyboards/handwired/onekey/teensy_35/rules.mk b/keyboards/handwired/onekey/teensy_35/rules.mk
index 8ebefd03f5..a92b099328 100644
--- a/keyboards/handwired/onekey/teensy_35/rules.mk
+++ b/keyboards/handwired/onekey/teensy_35/rules.mk
@@ -1,8 +1,2 @@
1# MCU name
2MCU = MK64FX512
3
4# Bootloader selection
5BOOTLOADER = halfkay
6
7# Enter lower-power sleep mode when on the ChibiOS idle thread 1# Enter lower-power sleep mode when on the ChibiOS idle thread
8OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE 2OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/teensy_lc/config.h b/keyboards/handwired/onekey/teensy_lc/config.h
index 3444cca67f..e01cfa3c8c 100644
--- a/keyboards/handwired/onekey/teensy_lc/config.h
+++ b/keyboards/handwired/onekey/teensy_lc/config.h
@@ -19,9 +19,6 @@
19// TODO: including this causes "error: expected identifier before '(' token" errors 19// TODO: including this causes "error: expected identifier before '(' token" errors
20//#include "config_common.h" 20//#include "config_common.h"
21 21
22#define MATRIX_COL_PINS { D5 }
23#define MATRIX_ROW_PINS { B2 }
24
25// i2c_master defines 22// i2c_master defines
26#define I2C1_SCL_PIN B0 // A2 on pinout = B0 23#define I2C1_SCL_PIN B0 // A2 on pinout = B0
27#define I2C1_SDA_PIN B1 // A3 on pinout = B1 24#define I2C1_SDA_PIN B1 // A3 on pinout = B1
diff --git a/keyboards/handwired/onekey/teensy_lc/info.json b/keyboards/handwired/onekey/teensy_lc/info.json
index 68eea92235..a81b90fa8a 100644
--- a/keyboards/handwired/onekey/teensy_lc/info.json
+++ b/keyboards/handwired/onekey/teensy_lc/info.json
@@ -1,3 +1,9 @@
1{ 1{
2 "keyboard_name": "Onekey Teensy LC" 2 "keyboard_name": "Onekey Teensy LC",
3 "processor": "MKL26Z64",
4 "bootloader": "halfkay",
5 "matrix_pins": {
6 "cols": ["D5"],
7 "rows": ["B2"]
8 }
3} 9}
diff --git a/keyboards/handwired/onekey/teensy_lc/rules.mk b/keyboards/handwired/onekey/teensy_lc/rules.mk
index 0e3c7edf7a..9803d8cc70 100644
--- a/keyboards/handwired/onekey/teensy_lc/rules.mk
+++ b/keyboards/handwired/onekey/teensy_lc/rules.mk
@@ -1,9 +1,4 @@
1# MCU name
2MCU = MKL26Z64
3USE_CHIBIOS_CONTRIB = yes 1USE_CHIBIOS_CONTRIB = yes
4 2
5# Bootloader selection
6BOOTLOADER = halfkay
7
8# Enter lower-power sleep mode when on the ChibiOS idle thread 3# Enter lower-power sleep mode when on the ChibiOS idle thread
9OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE 4OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/keychron/q0/config.h b/keyboards/keychron/q0/config.h
index 40f506fe80..a04d31d3a2 100644
--- a/keyboards/keychron/q0/config.h
+++ b/keyboards/keychron/q0/config.h
@@ -34,18 +34,18 @@
34#define DRIVER_COUNT 1 34#define DRIVER_COUNT 1
35#define DRIVER_ADDR_1 0b1110100 35#define DRIVER_ADDR_1 0b1110100
36 36
37#define CONSTANT_CURRENT_STEP \ 37#define CKLED2001_CURRENT_TUNE \
38 { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 } 38 { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 }
39 39
40#define RGB_MATRIX_CENTER \
41 { 56, 16 }
42
40/* NKRO */ 43/* NKRO */
41#define FORCE_NKRO 44#define FORCE_NKRO
42 45
43/* turn off effects when suspended */ 46/* turn off effects when suspended */
44#define RGB_DISABLE_WHEN_USB_SUSPENDED 47#define RGB_DISABLE_WHEN_USB_SUSPENDED
45 48
46/* We have 2KB EEPROM size on STM32L432 */
47#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
48
49/* EEPROM Driver Configuration */ 49/* EEPROM Driver Configuration */
50#define WEAR_LEVELING_LOGICAL_SIZE 2048 50#define WEAR_LEVELING_LOGICAL_SIZE 2048
51#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) 51#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
@@ -98,4 +98,4 @@
98#define ENABLE_RGB_MATRIX_MULTISPLASH 98#define ENABLE_RGB_MATRIX_MULTISPLASH
99#define ENABLE_RGB_MATRIX_SOLID_SPLASH 99#define ENABLE_RGB_MATRIX_SOLID_SPLASH
100#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH 100#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
101// #define RGB_MATRIX_KEYPRESSES \ No newline at end of file 101// #define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/q0/q0.c b/keyboards/keychron/q0/q0.c
index c43157ac68..d17ab77f47 100644
--- a/keyboards/keychron/q0/q0.c
+++ b/keyboards/keychron/q0/q0.c
@@ -16,7 +16,7 @@
16 16
17#include "q0.h" 17#include "q0.h"
18 18
19#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) 19#if defined(RGB_MATRIX_ENABLE) && defined(NUM_LOCK_LED_INDEX)
20 20
21bool process_record_kb(uint16_t keycode, keyrecord_t *record) { 21bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
22 if (!process_record_user(keycode, record)) { 22 if (!process_record_user(keycode, record)) {
@@ -45,11 +45,11 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
45__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { 45__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
46 // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); 46 // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
47 47
48 if (host_keyboard_led_state().caps_lock) { 48 if (host_keyboard_led_state().num_lock) {
49 RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255); 49 RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 255, 255, 255);
50 } else { 50 } else {
51 if (!rgb_matrix_get_flags()) { 51 if (!rgb_matrix_get_flags()) {
52 RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0); 52 RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 0, 0);
53 } 53 }
54 } 54 }
55} 55}
diff --git a/keyboards/keychron/q0/rev_0130/rev_0130.c b/keyboards/keychron/q0/rev_0130/rev_0130.c
index 2803239b53..b968361c7e 100644
--- a/keyboards/keychron/q0/rev_0130/rev_0130.c
+++ b/keyboards/keychron/q0/rev_0130/rev_0130.c
@@ -18,6 +18,8 @@
18 18
19#ifdef RGB_MATRIX_ENABLE 19#ifdef RGB_MATRIX_ENABLE
20 20
21// clang-format off
22
21const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { 23const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
22/* Refer to CKLED manual for these locations 24/* Refer to CKLED manual for these locations
23 * driver 25 * driver
@@ -67,12 +69,12 @@ led_config_t g_led_config = {
67 }, 69 },
68 { 70 {
69 // LED Index to Physical Position 71 // LED Index to Physical Position
70 {0,0}, {74,0}, {150,0}, {224,0}, 72 {0,0}, {37,0}, {75,0}, {112,0},
71 {0,13}, {74,13}, {150,13}, {224,13}, 73 {0,6}, {37,6}, {75,6}, {112,6},
72 {0,26}, {74,26}, {150,26}, 74 {0,13}, {37,13}, {75,13},
73 {0,38}, {74,38}, {150,38}, {224,32}, 75 {0,19}, {37,19}, {75,19}, {112,16},
74 {0,51}, {74,51}, {150,51}, 76 {0,25}, {37,25}, {75,25},
75 {36,64}, {150,64}, {224,58}, 77 {18,32}, {75,32}, {112,29},
76 }, 78 },
77 { 79 {
78 // LED Index to Flag 80 // LED Index to Flag
diff --git a/keyboards/keychron/q2/rev_0112/keymaps/default/keymap.c b/keyboards/keychron/q2/rev_0112/keymaps/default/keymap.c
index 75667b44c8..21a837c1a0 100644
--- a/keyboards/keychron/q2/rev_0112/keymaps/default/keymap.c
+++ b/keyboards/keychron/q2/rev_0112/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ enum custom_keycodes {
37 37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 [MAC_BASE] = LAYOUT_iso_68( 39 [MAC_BASE] = LAYOUT_iso_68(
40 KC_ESC, KC_1, KC_2, KC_F3, KC_F4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, 40 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_INS,
41 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_DEL, 41 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_DEL,
42 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_HOME, 42 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_HOME,
43 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_UP, 43 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_UP,
diff --git a/keyboards/keychron/q2/rev_0112/keymaps/via/keymap.c b/keyboards/keychron/q2/rev_0112/keymaps/via/keymap.c
index 0a91857f1e..9eb7288dc1 100644
--- a/keyboards/keychron/q2/rev_0112/keymaps/via/keymap.c
+++ b/keyboards/keychron/q2/rev_0112/keymaps/via/keymap.c
@@ -37,7 +37,7 @@ enum custom_keycodes {
37 37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 [MAC_BASE] = LAYOUT_iso_68( 39 [MAC_BASE] = LAYOUT_iso_68(
40 KC_ESC, KC_1, KC_2, KC_F3, KC_F4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, 40 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_INS,
41 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_DEL, 41 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_DEL,
42 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_HOME, 42 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_HOME,
43 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_UP, 43 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_UP,
diff --git a/keyboards/keychron/q2/rev_0113/keymaps/default/keymap.c b/keyboards/keychron/q2/rev_0113/keymaps/default/keymap.c
index e3e6cf7376..a44e7e4cc9 100644
--- a/keyboards/keychron/q2/rev_0113/keymaps/default/keymap.c
+++ b/keyboards/keychron/q2/rev_0113/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ enum custom_keycodes {
37 37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 [MAC_BASE] = LAYOUT_iso_68( 39 [MAC_BASE] = LAYOUT_iso_68(
40 KC_ESC, KC_1, KC_2, KC_F3, KC_F4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE, 40 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_MUTE,
41 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_DEL, 41 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_DEL,
42 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_HOME, 42 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_HOME,
43 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_UP, 43 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_UP,
diff --git a/keyboards/keychron/q2/rev_0113/keymaps/via/keymap.c b/keyboards/keychron/q2/rev_0113/keymaps/via/keymap.c
index 4e3b431bdf..268173b060 100644
--- a/keyboards/keychron/q2/rev_0113/keymaps/via/keymap.c
+++ b/keyboards/keychron/q2/rev_0113/keymaps/via/keymap.c
@@ -37,7 +37,7 @@ enum custom_keycodes {
37 37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 [MAC_BASE] = LAYOUT_all( 39 [MAC_BASE] = LAYOUT_all(
40 KC_ESC, KC_1, KC_2, KC_F3, KC_F4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_VOLD, KC_MUTE, KC_VOLU, 40 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_VOLD, KC_MUTE, KC_VOLU,
41 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_DEL, 41 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_DEL,
42 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_HOME, 42 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_HOME,
43 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_UP, 43 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_UP,
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c
index 495e664e36..29e359b94a 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c
@@ -81,9 +81,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
81 81
82/* RIGHTFN 82/* RIGHTFN
83 * ,-----------------------------------------------------------------------------------. 83 * ,-----------------------------------------------------------------------------------.
84 * | | | | | | | | F12 | F11 | F10 | F9 |Scllck| 84 * | | | | | | | | F12 | F11 | F10 | F9 | Pause|
85 * |------+------+------+------+------+------+------+------+------+------+------+------| 85 * |------+------+------+------+------+------+------+------+------+------+------+------|
86 * | Ctrl | | | | | | | F8 | F7 | F6 | F5 | Pause| 86 * | Ctrl | | | | | | | F8 | F7 | F6 | F5 |Scllck|
87 * |------+------+------+------+------+------+------+------+------+------+------+------| 87 * |------+------+------+------+------+------+------+------+------+------+------+------|
88 * | Shift| | | | | | | F4 | F3 | F2 | F1 | | 88 * | Shift| | | | | | | F4 | F3 | F2 | F1 | |
89 * |------+------+------+------+------+------+------+------+------+------+------+------| 89 * |------+------+------+------+------+------+------+------+------+------+------+------|
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md
index 4a706c7315..cc59c816f0 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md
@@ -1,3 +1,82 @@
1# Dan's kprepublic bm40 layout 1# Dan's KPrepublic BM40 Keymap
2 2
3Dan's personal keymap with LED indicator support. 3>This is my personal keymap with an LED indicator support for num lock, caps lock and scroll lock.
4
5![](https://i.imgur.com/2yclc1B.jpg)
6> * Case: Poseidon PSD40 Case
7> * Plate: Brass
8> * Keycaps: WOB ABS Cherry Profile
9> * Switches: Gazzew Boba u4t (62g 2 stage long spring)
10
11### BM40 LED INDEX
12**_Numlock (11) Capslock (12) Scroll lock (23)_**
13
14| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
15|---------|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
16| **_1_** | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
17| **_2_** | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
18| **_3_** | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
19| **_4_** | &nbsp;&nbsp;&nbsp;36 | &nbsp;&nbsp;&nbsp;37 | &nbsp;&nbsp;&nbsp;38 | &nbsp;&nbsp;&nbsp;&nbsp;39 | &nbsp;&nbsp;&nbsp;&nbsp;40 | &nbsp;&nbsp;&nbsp;41 | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;42 | &nbsp;&nbsp;&nbsp;43 | &nbsp;&nbsp;&nbsp;44 | &nbsp;&nbsp;&nbsp;45 | &nbsp;&nbsp;&nbsp;46 |
20
21## LED INDICATOR EXAMPLES
22![](https://i.imgur.com/qpkRNio.jpg)
23![](https://i.imgur.com/GfG252J.jpg)
24> * Case: SM Keyboards Planck/Niu Mini Acrylic Case
25> * Plate: Acrylic
26> * Keycaps: Drop + biip MT3 Extended 2048 Katakana
27> * Switches: Everglide Aqua King V3 (62g 2 stage long spring)
28
29
30<br /><br />
31
32## KEYMAP LAYOUT EXAMPLES
33### ALPHA
34
35| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
36|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
37| **_1_** | TAB | Q | W | E | R | T | Y | U | I | O | P | BSP |
38| **_2_** | CTL | A | S | D | F | G | H | J | K | L | ; | ' |
39| **_3_** | SFT | Z | X | C | V | B | N | M | , | . | / | RET |
40| **_4_** | &nbsp;ESC | KOR | WIN | &nbsp;&nbsp;ALT | &nbsp;&nbsp;&nbsp;FN | &nbsp;SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- | &nbsp;&nbsp;&nbsp;&nbsp;= | DEL | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\ | ENT |
41>This is a base layer for typing.
42
43<br />
44
45### LEFTFN MO(FN)
46
47| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
48|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
49| **_1_** | \` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSP |
50| **_2_** | CTL | LFT | DN | UP | RHT | C+/ | HAN | [ | ] | ) | : | " |
51| **_3_** | SFT | PGU | PGD | HOM | END | CAP | PRN | ( | , | . | / | RET |
52| **_4_** | RGB | [ | ] | &nbsp;ALT | TRN | &nbsp;SPC || &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ | &nbsp;&nbsp;&nbsp;&nbsp;+ | &nbsp;INS | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | ENT |
53>This is the layer dedicated to number, symbol and navigation keys. ie) arrow keys
54
55<br />
56
57### RIGHTFN MO(-)
58
59| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
60|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
61| **_1_** | | | | | | | | F12 | F11 | F10 | F9 | PAU |
62| **_2_** | CTL | | | | | | | F8 | F7 | F6 | F5 | SCL |
63| **_3_** | SFT | | | | | | | F4 | F3 | F2 | F1 | |
64| **_4_** | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;ALT&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;TRN | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
65>This layer contains function rows.
66
67<br />
68
69### NUMPAD MO(ESC)
70
71| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
72|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
73| **_1_** | * | 7 | 8 | 9 | NUM | | | | | | | BSP |
74| **_2_** | ALT | 4 | 5 | 6 | RET | | | | | | | |
75| **_3_** | - | 1 | 2 | 3 | BSP | | | | | | | RET |
76| **_4_** | TRN | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;. | &nbsp;&nbsp;&nbsp;0 | SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;LY1 | &nbsp;LY2 | &nbsp;LY3 | &nbsp;LY4 | &nbsp;LY5 |
77>This layer is the numpad.
78
79<br />
80
81There are other dedicated layers for gaming that are not included here.
82If you are interested, check out keymap.c!
diff --git a/keyboards/neson_design/700e/700e.h b/keyboards/neson_design/700e/700e.h
index f096868d32..c9667eefe2 100644
--- a/keyboards/neson_design/700e/700e.h
+++ b/keyboards/neson_design/700e/700e.h
@@ -22,12 +22,30 @@
22 22
23#define ___ KC_NO 23#define ___ KC_NO
24 24
25/*
26 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───────┐
27 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │4D │ │0E │0F │1F │ │4D │ 2u Backspace
28 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤
29 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │1E │2E │2F │ │ │
30 * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐2D │ ISO Enter
31 * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
32 * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌─┴───┴────┤
33 * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3E │ │3C │ 2.75u RShift
34 * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ └──────────┘
35 * │40 │41 │42 │┌───────────────────────────┐│49 │4B │4C │ │3F │4E │4F │
36 * └────┴────┴────┘│4A │└────┴────┴────┘ └───┴───┴───┘
37 * └───────────────────────────┘
38 * ┌───┬─────┐ ┌─────┬───┐
39 * │41 │42 │ │49 │4B │
40 * └───┴─────┘ └─────┴───┘
41 */
42
25#define LAYOUT_all( \ 43#define LAYOUT_all( \
26 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K4D, K0E, K0F, K1F, \ 44 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K4D, K0E, K0F, K1F, \
27 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K2F,\ 45 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K2F, \
28 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ 46 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
29 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ 47 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
30 K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F\ 48 K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F \
31) \ 49) \
32{ \ 50{ \
33 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ 51 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
@@ -36,3 +54,33 @@
36 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ 54 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
37 { K40, K41, K42, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ 55 { K40, K41, K42, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
38} 56}
57
58#define LAYOUT_ansi_tsangan( \
59 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4D, K0E, K0F, K1F, \
60 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K2F, \
61 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
62 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, \
63 K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F \
64) \
65{ \
66 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
67 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
68 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E, K2F }, \
69 { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, K3E, K3F }, \
70 { K40, K41, K42, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
71}
72
73#define LAYOUT_iso_tsangan( \
74 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4D, K0E, K0F, K1F, \
75 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, \
76 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
77 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, \
78 K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F \
79) \
80{ \
81 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
82 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
83 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
84 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, K3E, K3F }, \
85 { K40, K41, K42, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
86}
diff --git a/keyboards/neson_design/700e/config.h b/keyboards/neson_design/700e/config.h
index d5a35e21ef..54863ce815 100644
--- a/keyboards/neson_design/700e/config.h
+++ b/keyboards/neson_design/700e/config.h
@@ -54,7 +54,15 @@
54//rgb light setting 54//rgb light setting
55#define RGBLED_NUM 68 55#define RGBLED_NUM 68
56#define RGB_DI_PIN D5 56#define RGB_DI_PIN D5
57#define RGBLIGHT_ANIMATIONS 57#define RGBLIGHT_EFFECT_BREATHING
58#define RGBLIGHT_EFFECT_RAINBOW_MOOD
59#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
60#define RGBLIGHT_EFFECT_SNAKE
61#define RGBLIGHT_EFFECT_KNIGHT
62#define RGBLIGHT_EFFECT_CHRISTMAS
63#define RGBLIGHT_EFFECT_STATIC_GRADIENT
64#define RGBLIGHT_EFFECT_RGB_TEST
65#define RGBLIGHT_EFFECT_ALTERNATING
58#define RGBLIGHT_HUE_STEP 8 66#define RGBLIGHT_HUE_STEP 8
59#define RGBLIGHT_SAT_STEP 8 67#define RGBLIGHT_SAT_STEP 8
60#define RGBLIGHT_VAL_STEP 8 68#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/neson_design/700e/info.json b/keyboards/neson_design/700e/info.json
index 4d4d427097..43b5382d7e 100644
--- a/keyboards/neson_design/700e/info.json
+++ b/keyboards/neson_design/700e/info.json
@@ -2,7 +2,7 @@
2 "keyboard_name": "700E", 2 "keyboard_name": "700E",
3 "manufacturer": "Neson Design", 3 "manufacturer": "Neson Design",
4 "url": "", 4 "url": "",
5 "maintainer": "qmk", 5 "maintainer": "yulei",
6 "usb": { 6 "usb": {
7 "vid": "0x4E65", 7 "vid": "0x4E65",
8 "pid": "0x700E", 8 "pid": "0x700E",
@@ -10,8 +10,243 @@
10 }, 10 },
11 "layouts": { 11 "layouts": {
12 "LAYOUT_all": { 12 "LAYOUT_all": {
13 "layout": 13 "layout": [
14 [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0}, {"label":"4,13", "x":14, "y":0}, {"label":"0,14", "x":15.5, "y":0}, {"label":"0,15", "x":16.5, "y":0}, {"label":"1,15", "x":17.5, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"1,14", "x":15.5, "y":1}, {"label":"2,14", "x":16.5, "y":1}, {"label":"2,15", "x":17.5, "y":1}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,12", "x":12.75, "y":2}, {"label":"2,13", "x":13.75, "y":2}, {"label":"3,0", "x":0, "y":3, "w":1.25}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"3,14", "x":16.5, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,9", "x":11.25, "y":4, "w":1.25}, {"label":"4,11", "x":12.5, "y":4, "w":1.25}, {"label":"4,12", "x":13.75, "y":4, "w":1.25}, {"label":"3,15", "x":15.5, "y":4}, {"label":"4,14", "x":16.5, "y":4}, {"label":"4,15", "x":17.5, "y":4}, {"label":"4,10", "x":4, "y":4.25, "w":7}] 14 {"label":"0,0", "x":0, "y":0},
15 {"label":"0,1", "x":1, "y":0},
16 {"label":"0,2", "x":2, "y":0},
17 {"label":"0,3", "x":3, "y":0},
18 {"label":"0,4", "x":4, "y":0},
19 {"label":"0,5", "x":5, "y":0},
20 {"label":"0,6", "x":6, "y":0},
21 {"label":"0,7", "x":7, "y":0},
22 {"label":"0,8", "x":8, "y":0},
23 {"label":"0,9", "x":9, "y":0},
24 {"label":"0,10", "x":10, "y":0},
25 {"label":"0,11", "x":11, "y":0},
26 {"label":"0,12", "x":12, "y":0},
27 {"label":"0,13", "x":13, "y":0},
28 {"label":"4,13", "x":14, "y":0},
29 {"label":"0,14", "x":15.5, "y":0},
30 {"label":"0,15", "x":16.5, "y":0},
31 {"label":"1,15", "x":17.5, "y":0},
32
33 {"label":"1,0", "x":0, "y":1, "w":1.5},
34 {"label":"1,1", "x":1.5, "y":1},
35 {"label":"1,2", "x":2.5, "y":1},
36 {"label":"1,3", "x":3.5, "y":1},
37 {"label":"1,4", "x":4.5, "y":1},
38 {"label":"1,5", "x":5.5, "y":1},
39 {"label":"1,6", "x":6.5, "y":1},
40 {"label":"1,7", "x":7.5, "y":1},
41 {"label":"1,8", "x":8.5, "y":1},
42 {"label":"1,9", "x":9.5, "y":1},
43 {"label":"1,10", "x":10.5, "y":1},
44 {"label":"1,11", "x":11.5, "y":1},
45 {"label":"1,12", "x":12.5, "y":1},
46 {"label":"1,13", "x":13.5, "y":1, "w":1.5},
47 {"label":"1,14", "x":15.5, "y":1},
48 {"label":"2,14", "x":16.5, "y":1},
49 {"label":"2,15", "x":17.5, "y":1},
50
51 {"label":"2,0", "x":0, "y":2, "w":1.75},
52 {"label":"2,1", "x":1.75, "y":2},
53 {"label":"2,2", "x":2.75, "y":2},
54 {"label":"2,3", "x":3.75, "y":2},
55 {"label":"2,4", "x":4.75, "y":2},
56 {"label":"2,5", "x":5.75, "y":2},
57 {"label":"2,6", "x":6.75, "y":2},
58 {"label":"2,7", "x":7.75, "y":2},
59 {"label":"2,8", "x":8.75, "y":2},
60 {"label":"2,9", "x":9.75, "y":2},
61 {"label":"2,10", "x":10.75, "y":2},
62 {"label":"2,11", "x":11.75, "y":2},
63 {"label":"2,12", "x":12.75, "y":2},
64 {"label":"2,13", "x":13.75, "y":2, "w":1.25},
65
66 {"label":"3,0", "x":0, "y":3, "w":1.25},
67 {"label":"3,1", "x":1.25, "y":3},
68 {"label":"3,2", "x":2.25, "y":3},
69 {"label":"3,3", "x":3.25, "y":3},
70 {"label":"3,4", "x":4.25, "y":3},
71 {"label":"3,5", "x":5.25, "y":3},
72 {"label":"3,6", "x":6.25, "y":3},
73 {"label":"3,7", "x":7.25, "y":3},
74 {"label":"3,8", "x":8.25, "y":3},
75 {"label":"3,9", "x":9.25, "y":3},
76 {"label":"3,10", "x":10.25, "y":3},
77 {"label":"3,11", "x":11.25, "y":3},
78 {"label":"3,12", "x":12.25, "y":3, "w":1.75},
79 {"label":"3,13", "x":14, "y":3},
80 {"label":"3,14", "x":16.5, "y":3},
81
82 {"label":"4,0", "x":0, "y":4, "w":1.25},
83 {"label":"4,1", "x":1.25, "y":4, "w":1.25},
84 {"label":"4,2", "x":2.5, "y":4, "w":1.25},
85 {"label":"4,10", "x":4, "y":4.25, "w":7},
86 {"label":"4,9", "x":11.25, "y":4, "w":1.25},
87 {"label":"4,11", "x":12.5, "y":4, "w":1.25},
88 {"label":"4,12", "x":13.75, "y":4, "w":1.25},
89 {"label":"3,15", "x":15.5, "y":4},
90 {"label":"4,14", "x":16.5, "y":4},
91 {"label":"4,15", "x":17.5, "y":4}
92 ]
93 },
94 "LAYOUT_ansi_tsangan": {
95 "layout": [
96 {"label":"0,0", "x":0, "y":0},
97 {"label":"0,1", "x":1, "y":0},
98 {"label":"0,2", "x":2, "y":0},
99 {"label":"0,3", "x":3, "y":0},
100 {"label":"0,4", "x":4, "y":0},
101 {"label":"0,5", "x":5, "y":0},
102 {"label":"0,6", "x":6, "y":0},
103 {"label":"0,7", "x":7, "y":0},
104 {"label":"0,8", "x":8, "y":0},
105 {"label":"0,9", "x":9, "y":0},
106 {"label":"0,10", "x":10, "y":0},
107 {"label":"0,11", "x":11, "y":0},
108 {"label":"0,12", "x":12, "y":0},
109 {"label":"4,13", "x":13, "y":0, "w":2},
110 {"label":"0,14", "x":15.5, "y":0},
111 {"label":"0,15", "x":16.5, "y":0},
112 {"label":"1,15", "x":17.5, "y":0},
113
114 {"label":"1,0", "x":0, "y":1, "w":1.5},
115 {"label":"1,1", "x":1.5, "y":1},
116 {"label":"1,2", "x":2.5, "y":1},
117 {"label":"1,3", "x":3.5, "y":1},
118 {"label":"1,4", "x":4.5, "y":1},
119 {"label":"1,5", "x":5.5, "y":1},
120 {"label":"1,6", "x":6.5, "y":1},
121 {"label":"1,7", "x":7.5, "y":1},
122 {"label":"1,8", "x":8.5, "y":1},
123 {"label":"1,9", "x":9.5, "y":1},
124 {"label":"1,10", "x":10.5, "y":1},
125 {"label":"1,11", "x":11.5, "y":1},
126 {"label":"1,12", "x":12.5, "y":1},
127 {"label":"1,13", "x":13.5, "y":1, "w":1.5},
128 {"label":"1,14", "x":15.5, "y":1},
129 {"label":"2,14", "x":16.5, "y":1},
130 {"label":"2,15", "x":17.5, "y":1},
131
132 {"label":"2,0", "x":0, "y":2, "w":1.75},
133 {"label":"2,1", "x":1.75, "y":2},
134 {"label":"2,2", "x":2.75, "y":2},
135 {"label":"2,3", "x":3.75, "y":2},
136 {"label":"2,4", "x":4.75, "y":2},
137 {"label":"2,5", "x":5.75, "y":2},
138 {"label":"2,6", "x":6.75, "y":2},
139 {"label":"2,7", "x":7.75, "y":2},
140 {"label":"2,8", "x":8.75, "y":2},
141 {"label":"2,9", "x":9.75, "y":2},
142 {"label":"2,10", "x":10.75, "y":2},
143 {"label":"2,11", "x":11.75, "y":2},
144 {"label":"2,13", "x":12.75, "y":2, "w":2.25},
145
146 {"label":"3,0", "x":0, "y":3, "w":2.25},
147 {"label":"3,2", "x":2.25, "y":3},
148 {"label":"3,3", "x":3.25, "y":3},
149 {"label":"3,4", "x":4.25, "y":3},
150 {"label":"3,5", "x":5.25, "y":3},
151 {"label":"3,6", "x":6.25, "y":3},
152 {"label":"3,7", "x":7.25, "y":3},
153 {"label":"3,8", "x":8.25, "y":3},
154 {"label":"3,9", "x":9.25, "y":3},
155 {"label":"3,10", "x":10.25, "y":3},
156 {"label":"3,11", "x":11.25, "y":3},
157 {"label":"3,12", "x":12.25, "y":3, "w":2.75},
158 {"label":"3,14", "x":16.5, "y":3},
159
160 {"label":"4,0", "x":0, "y":4, "w":1.25},
161 {"label":"4,1", "x":1.25, "y":4, "w":1.25},
162 {"label":"4,2", "x":2.5, "y":4, "w":1.25},
163 {"label":"4,10", "x":4, "y":4.25, "w":7},
164 {"label":"4,9", "x":11.25, "y":4, "w":1.25},
165 {"label":"4,11", "x":12.5, "y":4, "w":1.25},
166 {"label":"4,12", "x":13.75, "y":4, "w":1.25},
167 {"label":"3,15", "x":15.5, "y":4},
168 {"label":"4,14", "x":16.5, "y":4},
169 {"label":"4,15", "x":17.5, "y":4}
170 ]
171 },
172 "LAYOUT_iso_tsangan": {
173 "layout": [
174 {"label":"0,0", "x":0, "y":0},
175 {"label":"0,1", "x":1, "y":0},
176 {"label":"0,2", "x":2, "y":0},
177 {"label":"0,3", "x":3, "y":0},
178 {"label":"0,4", "x":4, "y":0},
179 {"label":"0,5", "x":5, "y":0},
180 {"label":"0,6", "x":6, "y":0},
181 {"label":"0,7", "x":7, "y":0},
182 {"label":"0,8", "x":8, "y":0},
183 {"label":"0,9", "x":9, "y":0},
184 {"label":"0,10", "x":10, "y":0},
185 {"label":"0,11", "x":11, "y":0},
186 {"label":"0,12", "x":12, "y":0},
187 {"label":"4,13", "x":13, "y":0, "w":2},
188 {"label":"0,14", "x":15.5, "y":0},
189 {"label":"0,15", "x":16.5, "y":0},
190 {"label":"1,15", "x":17.5, "y":0},
191
192 {"label":"1,0", "x":0, "y":1, "w":1.5},
193 {"label":"1,1", "x":1.5, "y":1},
194 {"label":"1,2", "x":2.5, "y":1},
195 {"label":"1,3", "x":3.5, "y":1},
196 {"label":"1,4", "x":4.5, "y":1},
197 {"label":"1,5", "x":5.5, "y":1},
198 {"label":"1,6", "x":6.5, "y":1},
199 {"label":"1,7", "x":7.5, "y":1},
200 {"label":"1,8", "x":8.5, "y":1},
201 {"label":"1,9", "x":9.5, "y":1},
202 {"label":"1,10", "x":10.5, "y":1},
203 {"label":"1,11", "x":11.5, "y":1},
204 {"label":"1,12", "x":12.5, "y":1},
205 {"label":"1,14", "x":15.5, "y":1},
206 {"label":"2,14", "x":16.5, "y":1},
207 {"label":"2,15", "x":17.5, "y":1},
208
209 {"label":"2,0", "x":0, "y":2, "w":1.75},
210 {"label":"2,1", "x":1.75, "y":2},
211 {"label":"2,2", "x":2.75, "y":2},
212 {"label":"2,3", "x":3.75, "y":2},
213 {"label":"2,4", "x":4.75, "y":2},
214 {"label":"2,5", "x":5.75, "y":2},
215 {"label":"2,6", "x":6.75, "y":2},
216 {"label":"2,7", "x":7.75, "y":2},
217 {"label":"2,8", "x":8.75, "y":2},
218 {"label":"2,9", "x":9.75, "y":2},
219 {"label":"2,10", "x":10.75, "y":2},
220 {"label":"2,11", "x":11.75, "y":2},
221 {"label":"2,12", "x":12.75, "y":2},
222 {"label":"2,13", "x":13.75, "y":1, "w":1.25, "h":2},
223
224 {"label":"3,0", "x":0, "y":3, "w":1.25},
225 {"label":"3,1", "x":1.25, "y":3},
226 {"label":"3,2", "x":2.25, "y":3},
227 {"label":"3,3", "x":3.25, "y":3},
228 {"label":"3,4", "x":4.25, "y":3},
229 {"label":"3,5", "x":5.25, "y":3},
230 {"label":"3,6", "x":6.25, "y":3},
231 {"label":"3,7", "x":7.25, "y":3},
232 {"label":"3,8", "x":8.25, "y":3},
233 {"label":"3,9", "x":9.25, "y":3},
234 {"label":"3,10", "x":10.25, "y":3},
235 {"label":"3,11", "x":11.25, "y":3},
236 {"label":"3,12", "x":12.25, "y":3, "w":2.75},
237 {"label":"3,14", "x":16.5, "y":3},
238
239 {"label":"4,0", "x":0, "y":4, "w":1.25},
240 {"label":"4,1", "x":1.25, "y":4, "w":1.25},
241 {"label":"4,2", "x":2.5, "y":4, "w":1.25},
242 {"label":"4,10", "x":4, "y":4.25, "w":7},
243 {"label":"4,9", "x":11.25, "y":4, "w":1.25},
244 {"label":"4,11", "x":12.5, "y":4, "w":1.25},
245 {"label":"4,12", "x":13.75, "y":4, "w":1.25},
246 {"label":"3,15", "x":15.5, "y":4},
247 {"label":"4,14", "x":16.5, "y":4},
248 {"label":"4,15", "x":17.5, "y":4}
249 ]
15 } 250 }
16 } 251 }
17} 252}
diff --git a/keyboards/neson_design/700e/keymaps/default/keymap.c b/keyboards/neson_design/700e/keymaps/default/keymap.c
index cf80983ff3..65f6f2f756 100644
--- a/keyboards/neson_design/700e/keymaps/default/keymap.c
+++ b/keyboards/neson_design/700e/keymaps/default/keymap.c
@@ -1,5 +1,5 @@
1/** 1/**
2 Copyright 2022 astro 2 Copyright 2022 astro
3 3
4 This program is free software: you can redistribute it and/or modify 4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by 5 it under the terms of the GNU General Public License as published by
@@ -19,16 +19,17 @@
19 19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT_all( 21 [0] = LAYOUT_all(
22 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_DEL,KC_BSPC, KC_INS, KC_HOME, KC_PGUP, 22 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
23 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_END, KC_PGDN, 23 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_END, KC_PGDN,
24 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, 24 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,
25 KC_LSFT, KC_LGUI, 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_UP, 25 KC_LSFT, KC_LGUI, 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_UP,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), 26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
27 27 ),
28 [1] = LAYOUT_all( 28 [1] = LAYOUT_all(
29 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______,_______,_______, 29 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR, _______, _______, _______,
30 QK_BOOT, RGB_TOG,RGB_MOD,RGB_RMOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_MUTE,KC_VOLU,KC_VOLD,_______,_______,_______,_______, 30 QK_BOOT, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, _______,
31 _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, 31 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______, _______,
32 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, 32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______,_______,_______, _______, _______,_______,_______,_______,_______,_______), 33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
34 )
34}; 35};
diff --git a/keyboards/neson_design/700e/keymaps/default_ansi_tsangan/keymap.c b/keyboards/neson_design/700e/keymaps/default_ansi_tsangan/keymap.c
new file mode 100644
index 0000000000..1ea530e088
--- /dev/null
+++ b/keyboards/neson_design/700e/keymaps/default_ansi_tsangan/keymap.c
@@ -0,0 +1,35 @@
1/**
2 Copyright 2022 astro
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT_ansi_tsangan(
22 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_INS, KC_HOME, KC_PGUP,
23 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_END, KC_PGDN,
24 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,
25 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,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT_ansi_tsangan(
29 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, _______, _______,
30 QK_BOOT, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
34 )
35};
diff --git a/keyboards/neson_design/700e/keymaps/default_iso_tsangan/keymap.c b/keyboards/neson_design/700e/keymaps/default_iso_tsangan/keymap.c
new file mode 100644
index 0000000000..b42a7fe704
--- /dev/null
+++ b/keyboards/neson_design/700e/keymaps/default_iso_tsangan/keymap.c
@@ -0,0 +1,35 @@
1/**
2 Copyright 2022 astro
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT_iso_tsangan(
22 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_INS, KC_HOME, KC_PGUP,
23 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_DEL, KC_END, KC_PGDN,
24 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,
25 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_UP,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT_iso_tsangan(
29 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, _______, _______,
30 QK_BOOT, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
34 )
35};
diff --git a/keyboards/neson_design/700e/keymaps/via/keymap.c b/keyboards/neson_design/700e/keymaps/via/keymap.c
index f3d553e9df..b97e77fbd5 100644
--- a/keyboards/neson_design/700e/keymaps/via/keymap.c
+++ b/keyboards/neson_design/700e/keymaps/via/keymap.c
@@ -1,5 +1,5 @@
1/** 1/**
2 Copyright 2022 astro 2 Copyright 2022 astro
3 3
4 This program is free software: you can redistribute it and/or modify 4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by 5 it under the terms of the GNU General Public License as published by
@@ -19,23 +19,24 @@
19 19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT_all( 21 [0] = LAYOUT_all(
22 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_DEL,KC_BSPC, KC_INS, KC_HOME, KC_PGUP, 22 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
23 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_END, KC_PGDN, 23 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_END, KC_PGDN,
24 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, 24 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,
25 KC_LSFT, KC_LGUI, 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_UP, 25 KC_LSFT, KC_LGUI, 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_UP,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), 26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
27 27 ),
28 [1] = LAYOUT_all( 28 [1] = LAYOUT_all(
29 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______,_______,_______, 29 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR, _______, _______, _______,
30 QK_BOOT, RGB_TOG,RGB_MOD,RGB_RMOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_MUTE,KC_VOLU,KC_VOLD,_______,_______,_______,_______, 30 QK_BOOT, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, _______,
31 _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, 31 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______, _______,
32 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, 32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______,_______,_______, _______, _______,_______,_______,_______,_______,_______), 33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
34 34 ),
35 [2] = LAYOUT_all( 35 [2] = LAYOUT_all(
36 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, 36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______,_______,_______, _______, _______,_______,_______,_______,_______,_______), 40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
41 ),
41}; 42};