Merge remote-tracking branch 'upstream/master' into develop

master
fauxpark 2022-09-30 05:19:53 +10:00
commit dbb70871fc
87 changed files with 796 additions and 407 deletions

View File

@ -2,7 +2,17 @@
QMK 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. QMK 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.
There 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: There are three main types of configuration files in QMK:
* `config.h`, which contains various preprocessor directives (`#define`, `#ifdef`)
* `rules.mk`, which contains additional variables
* `info.json`, which is utilized for [data-driven configuration](https://docs.qmk.fm/#/data_driven_config)
This page will only discuss the first two types, `config.h` and `rules.mk`.
?> 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.
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:
* QMK Default * QMK Default
* Keyboard * Keyboard

View File

@ -1,12 +1,12 @@
# `info.json` # `info.json`
This 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. The 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.
You 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%. You 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%.
## `info.json` Format ## `info.json` Format
The `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. The `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.
* `keyboard_name` * `keyboard_name`
* A free-form text string describing the keyboard. * 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
* `maintainer` * `maintainer`
* GitHub username of the maintainer, or `qmk` for community maintained boards. * GitHub username of the maintainer, or `qmk` for community maintained boards.
* Example: `skullydazed` * Example: `skullydazed`
* `usb`
* Configure USB VID, PID, and device version. See the [USB](#USB) section for more detail.
There are many more optional keys, some of which are described below. Others may be found by examining `data/schemas`.
* `debounce` * `debounce`
* The amount of time in milliseconds to wait for debounce to happen. * The amount of time in milliseconds to wait for debounce to happen.
* Default: `5` * Default: `5`
@ -33,8 +38,6 @@ The `info.json` file is a JSON formatted dictionary with the following keys avai
* Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix-pins) section for more detail. * Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix-pins) section for more detail.
* `rgblight` * `rgblight`
* Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb-lighting) section for more detail. * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb-lighting) section for more detail.
* `usb`
* Configure USB VID, PID, and other parameters. See the [USB](#USB) section for more detail.
### Layout Format ### Layout Format
@ -45,7 +48,7 @@ Within our `info.json` file the `layouts` portion of the dictionary contains sev
### Key Dictionary Format ### Key Dictionary Format
Each 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. Each 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.
All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key. All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key.
@ -155,6 +158,13 @@ Used for indicating Num Lock, Caps Lock, and Scroll Lock. May be soldered in-swi
* The pin that controls the `Caps Lock` LED * The pin that controls the `Caps Lock` LED
* `scroll_lock` * `scroll_lock`
* The pin that controls the `Scroll Lock` LED * The pin that controls the `Scroll Lock` LED
* `compose`
* The pin that controls the `Compose` LED
* `kana`
* The pin that controls the `Kana` LED
* `on_state`
* The state of the indicator pins when the LED is "on" - `1` for high, `0` for low
* Default: `1`
Example: Example:
@ -208,7 +218,8 @@ Example:
"saturation_steps": 17, "saturation_steps": 17,
"brightness_steps": 17, "brightness_steps": 17,
"animations": { "animations": {
"all": true "knight": true,
"rainbow_swirl": true
} }
} }
} }

View File

@ -18,13 +18,9 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_DRIVER PWMD5
#define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PWM_CHANNEL 1
#define RGB_DI_PIN A1
#define ADC_PIN A0 #define ADC_PIN A0
#define RGB_CI_PIN A2

View File

@ -1,3 +1,14 @@
{ {
"keyboard_name": "Onekey Blackpill STM32F401" "keyboard_name": "Onekey Blackpill STM32F401",
"development_board": "blackpill_f401",
"matrix_pins": {
"cols": ["B0"],
"rows": ["A7"]
},
"backlight": {
"pin": "A0"
},
"rgblight": {
"pin": "A1"
}
} }

View File

@ -1,8 +1 @@
# MCU name
MCU = STM32F401
BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
KEYBOARD_SHARED_EP = yes KEYBOARD_SHARED_EP = yes

View File

@ -18,17 +18,13 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_DRIVER PWMD5
#define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PWM_CHANNEL 1
#define RGB_DI_PIN A1
#define ADC_PIN A0 #define ADC_PIN A0
#define RGB_CI_PIN A2
#define SOLENOID_PIN B12 #define SOLENOID_PIN B12
#define SOLENOID_PINS { B12, B13, B14, B15 } #define SOLENOID_PINS { B12, B13, B14, B15 }
#define SOLENOID_PINS_ACTIVE_STATE { high, high, low } #define SOLENOID_PINS_ACTIVE_STATE { high, high, low }

View File

@ -1,3 +1,14 @@
{ {
"keyboard_name": "Onekey Blackpill STM32F411" "keyboard_name": "Onekey Blackpill STM32F411",
"development_board": "blackpill_f411",
"matrix_pins": {
"cols": ["B0"],
"rows": ["A7"]
},
"backlight": {
"pin": "A0"
},
"rgblight": {
"pin": "A1"
}
} }

View File

@ -1,8 +1 @@
# MCU name
MCU = STM32F411
BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
KEYBOARD_SHARED_EP = yes KEYBOARD_SHARED_EP = yes

View File

@ -18,13 +18,9 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_DRIVER PWMD5
#define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PWM_CHANNEL 1
#define RGB_DI_PIN A1
#define ADC_PIN A0 #define ADC_PIN A0
#define RGB_CI_PIN A2

View File

@ -1,3 +1,16 @@
{ {
"keyboard_name": "Onekey Blackpill STM32F411 TinyUF2" "keyboard_name": "Onekey Blackpill STM32F411 TinyUF2",
"processor": "STM32F411",
"bootloader": "tinyuf2",
"board": "BLACKPILL_STM32_F411",
"matrix_pins": {
"cols": ["B0"],
"rows": ["A7"]
},
"backlight": {
"pin": "A0"
},
"rgblight": {
"pin": "A1"
}
} }

View File

@ -1,8 +1 @@
# MCU name
MCU = STM32F411
BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = tinyuf2
KEYBOARD_SHARED_EP = yes KEYBOARD_SHARED_EP = yes

View File

@ -18,13 +18,9 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD2 #define BACKLIGHT_PWM_DRIVER PWMD2
#define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PWM_CHANNEL 1
#define RGB_DI_PIN A1
#define ADC_PIN A0 #define ADC_PIN A0
#define RGB_CI_PIN A2

View File

@ -1,3 +1,14 @@
{ {
"keyboard_name": "Onekey Bluepill STM32F103" "keyboard_name": "Onekey Bluepill STM32F103",
"development_board": "bluepill",
"matrix_pins": {
"cols": ["B0"],
"rows": ["A7"]
},
"backlight": {
"pin": "A0"
},
"rgblight": {
"pin": "A1"
}
} }

View File

@ -1,8 +1,2 @@
# MCU name
MCU = STM32F103
# Bootloader selection
BOOTLOADER = stm32duino
# Enter lower-power sleep mode when on the ChibiOS idle thread # Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE

View File

@ -18,18 +18,13 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
#define UNUSED_PINS
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD2 #define BACKLIGHT_PWM_DRIVER PWMD2
#define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PWM_CHANNEL 1
#define RGB_DI_PIN A1
#define ADC_PIN A0 #define ADC_PIN A0
#define RGB_CI_PIN A2
// This code does not fit into the really small flash of STM32F103x6 together // This code does not fit into the really small flash of STM32F103x6 together
// with CONSOLE_ENABLE=yes, and the debugging console is probably more // with CONSOLE_ENABLE=yes, and the debugging console is probably more
// important for the "okeney" testing firmware. In a real firmware you may be // important for the "okeney" testing firmware. In a real firmware you may be

View File

@ -1,3 +1,15 @@
{ {
"keyboard_name": "Onekey Bluepill STM32F103C6" "keyboard_name": "Onekey Bluepill STM32F103C6",
"processor": "STM32F103",
"board": "STM32_F103_STM32DUINO",
"matrix_pins": {
"cols": ["B0"],
"rows": ["A7"]
},
"backlight": {
"pin": "A0"
},
"rgblight": {
"pin": "A1"
}
} }

View File

@ -1,12 +1,8 @@
# MCU name
MCU = STM32F103
# Bootloader selection # Bootloader selection
# Cannot use `BOOTLOADER = stm32duino` due to the need to override # Cannot use `BOOTLOADER = stm32duino` due to the need to override
# `MCU_LDSCRIPT`, therefore all parameters need to be specified here manually. # `MCU_LDSCRIPT`, therefore all parameters need to be specified here manually.
OPT_DEFS += -DBOOTLOADER_STM32DUINO OPT_DEFS += -DBOOTLOADER_STM32DUINO
MCU_LDSCRIPT = STM32F103x6_stm32duino_bootloader MCU_LDSCRIPT = STM32F103x6_stm32duino_bootloader
BOARD = STM32_F103_STM32DUINO
BOOTLOADER_TYPE = stm32duino BOOTLOADER_TYPE = stm32duino
DFU_ARGS = -d 1EAF:0003 -a 2 -R DFU_ARGS = -d 1EAF:0003 -a 2 -R
DFU_SUFFIX_ARGS = -v 1EAF -p 0003 DFU_SUFFIX_ARGS = -v 1EAF -p 0003

View File

@ -17,16 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once #pragma once
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */ /* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST //#define MATRIX_HAS_GHOST

View File

@ -18,12 +18,6 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { F4 }
#define MATRIX_ROW_PINS { F5 }
#define BACKLIGHT_PIN B6
#define RGB_DI_PIN F6
#define RGB_CI_PIN B1 #define RGB_CI_PIN B1
#define ADC_PIN F6 #define ADC_PIN F6

View File

@ -1,3 +1,14 @@
{ {
"keyboard_name": "Onekey Elite-C" "keyboard_name": "Onekey Elite-C",
"development_board": "elite_c",
"matrix_pins": {
"cols": ["F4"],
"rows": ["F5"]
},
"backlight": {
"pin": "B6"
},
"rgblight": {
"pin": "F6"
}
} }

View File

@ -1,5 +0,0 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu

View File

@ -1,8 +0,0 @@
// Copyright 2021 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "config_common.h"
#define MATRIX_COL_PINS { B12 }
#define MATRIX_ROW_PINS { B13 }

View File

@ -1,3 +1,9 @@
{ {
"keyboard_name": "Onekey WB32F3G71 Eval" "keyboard_name": "Onekey WB32F3G71 Eval",
"processor": "WB32F3G71",
"bootloader": "wb32-dfu",
"matrix_pins": {
"cols": ["B12"],
"rows": ["B13"]
}
} }

View File

@ -1,9 +1,3 @@
# MCU name
MCU = WB32F3G71
# Bootloader selection
BOOTLOADER = wb32-dfu
MOUSEKEY_ENABLE = no # Mouse keys MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control EXTRAKEY_ENABLE = no # Audio control and System control
NKRO_ENABLE = no # Enable N-Key Rollover NKRO_ENABLE = no # Enable N-Key Rollover

View File

@ -1,8 +0,0 @@
// Copyright 2021 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "config_common.h"
#define MATRIX_COL_PINS { B12 }
#define MATRIX_ROW_PINS { B13 }

View File

@ -1,3 +1,9 @@
{ {
"keyboard_name": "Onekey WB32FQ95 Eval" "keyboard_name": "Onekey WB32FQ95 Eval",
"processor": "WB32FQ95",
"bootloader": "wb32-dfu",
"matrix_pins": {
"cols": ["B12"],
"rows": ["B13"]
}
} }

View File

@ -1,9 +1,3 @@
# MCU name
MCU = WB32FQ95
# Bootloader selection
BOOTLOADER = wb32-dfu
MOUSEKEY_ENABLE = no # Mouse keys MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control EXTRAKEY_ENABLE = no # Audio control and System control
NKRO_ENABLE = no # Enable N-Key Rollover NKRO_ENABLE = no # Enable N-Key Rollover

View File

@ -7,10 +7,23 @@
"pid": "0x6465", "pid": "0x6465",
"device_version": "0.0.1" "device_version": "0.0.1"
}, },
"diode_direction": "COL2ROW",
"features": {
"bootmagic": false,
"mousekey": true,
"extrakey": true,
"console": true,
"command": false,
"nkro": true,
"backlight": false,
"rgblight": false,
"audio": false
},
"community_layouts": ["ortho_1x1"],
"layouts": { "layouts": {
"LAYOUT_ortho_1x1": { "LAYOUT_ortho_1x1": {
"layout": [ "layout": [
{"x": 0, "y": 0} {"x": 0, "y": 0, "matrix": [0, 0]}
] ]
} }
} }

View File

@ -5,10 +5,6 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS \
{ GP4 }
#define MATRIX_ROW_PINS \
{ GP5 }
#define DEBUG_MATRIX_SCAN_RATE #define DEBUG_MATRIX_SCAN_RATE
#define QMK_WAITING_TEST_BUSY_PIN GP8 #define QMK_WAITING_TEST_BUSY_PIN GP8
@ -18,8 +14,6 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
#define RGB_DI_PIN A1
// settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port // settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port
#define OLED_DISPLAY_128X32 #define OLED_DISPLAY_128X32
#define I2C_DRIVER I2CD1 #define I2C_DRIVER I2CD1

View File

@ -1,3 +1,11 @@
{ {
"keyboard_name": "Onekey KB2040" "keyboard_name": "Onekey KB2040",
"development_board": "kb2040",
"matrix_pins": {
"cols": ["GP4"],
"rows": ["GP5"]
},
"rgblight": {
"pin": "A1"
}
} }

View File

@ -1,9 +1,4 @@
# MCU name
MCU = RP2040
BOOTLOADER = rp2040
OLED_ENABLE = yes OLED_ENABLE = yes
OLED_DRIVER = SSD1306 OLED_DRIVER = SSD1306
OPT_DEFS += -DHAL_USE_I2C=TRUE OPT_DEFS += -DHAL_USE_I2C=TRUE

View File

@ -1,7 +1,7 @@
#include <handwired/onekey/onekey.h> #include <quantum.h>
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };
const char *buf[30] = { const char *buf[30] = {
"#include <handwired/onekey/onekey.h>", "#include <quantum.h>",
"const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };", "const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };",
"const char *buf[30] = {", "const char *buf[30] = {",
"", "",

View File

@ -4,15 +4,10 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { A2 }
#define MATRIX_ROW_PINS { A1 }
#define BACKLIGHT_PIN B8
#define BACKLIGHT_PWM_DRIVER PWMD4 #define BACKLIGHT_PWM_DRIVER PWMD4
#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 2 #define BACKLIGHT_PAL_MODE 2
#define RGB_DI_PIN A0
#define RGB_CI_PIN B13 #define RGB_CI_PIN B13
#define ADC_PIN A0 #define ADC_PIN A0

View File

@ -1,3 +1,15 @@
{ {
"keyboard_name": "Onekey Nucleo L432KC" "keyboard_name": "Onekey Nucleo L432KC",
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"matrix_pins": {
"cols": ["A2"],
"rows": ["A1"]
},
"backlight": {
"pin": "B8"
},
"rgblight": {
"pin": "A0"
}
} }

View File

@ -1,5 +0,0 @@
# MCU name
MCU = STM32L432
# Bootloader selection
BOOTLOADER = stm32-dfu

View File

@ -1,7 +1,7 @@
// Copyright 2022 QMK // Copyright 2022 QMK
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "onekey.h" #include "quantum.h"
void keyboard_post_init_kb(void) { void keyboard_post_init_kb(void) {
debug_enable = true; debug_enable = true;

View File

@ -1,25 +0,0 @@
/* Copyright 2019
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT_ortho_1x1( \
k00 \
) { \
{ k00 } \
}

View File

@ -18,12 +18,6 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { F4 }
#define MATRIX_ROW_PINS { F5 }
#define BACKLIGHT_PIN B6
#define RGB_DI_PIN F6
#define RGB_CI_PIN B1 #define RGB_CI_PIN B1
#define ADC_PIN F6 #define ADC_PIN F6

View File

@ -1,3 +1,14 @@
{ {
"keyboard_name": "Onekey Pro Micro" "keyboard_name": "Onekey Pro Micro",
"development_board": "promicro",
"matrix_pins": {
"cols": ["F4"],
"rows": ["F5"]
},
"backlight": {
"pin": "B6"
},
"rgblight": {
"pin": "F6"
}
} }

View File

@ -1,5 +0,0 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina

View File

@ -18,15 +18,10 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { A2 }
#define MATRIX_ROW_PINS { A1 }
#define BACKLIGHT_PIN B8
#define BACKLIGHT_PWM_DRIVER PWMD4 #define BACKLIGHT_PWM_DRIVER PWMD4
#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 2 #define BACKLIGHT_PAL_MODE 2
#define RGB_DI_PIN A0
#define RGB_CI_PIN B13 #define RGB_CI_PIN B13
#define ADC_PIN A0 #define ADC_PIN A0

View File

@ -1,3 +1,14 @@
{ {
"keyboard_name": "Onekey Proton-C" "keyboard_name": "Onekey Proton-C",
"development_board": "proton_c",
"matrix_pins": {
"cols": ["A2"],
"rows": ["A1"]
},
"backlight": {
"pin": "B8"
},
"rgblight": {
"pin": "A0"
}
} }

View File

@ -1,6 +0,0 @@
# MCU name
MCU = STM32F303
BOARD = QMK_PROTON_C
# Bootloader selection
BOOTLOADER = stm32-dfu

View File

@ -5,10 +5,6 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS \
{ GP4 }
#define MATRIX_ROW_PINS \
{ GP5 }
#define DEBUG_MATRIX_SCAN_RATE #define DEBUG_MATRIX_SCAN_RATE
#define QMK_WAITING_TEST_BUSY_PIN GP8 #define QMK_WAITING_TEST_BUSY_PIN GP8
@ -17,5 +13,3 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
#define RGB_DI_PIN A1

View File

@ -1,3 +1,12 @@
{ {
"keyboard_name": "Onekey RP2040" "keyboard_name": "Onekey RP2040",
"processor": "RP2040",
"bootloader": "rp2040",
"matrix_pins": {
"cols": ["GP4"],
"rows": ["GP5"]
},
"rgblight": {
"pin": "A1"
}
} }

View File

@ -1,3 +0,0 @@
# MCU name
MCU = RP2040
BOOTLOADER = rp2040

View File

@ -1,16 +1 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
DEFAULT_FOLDER = handwired/onekey/promicro DEFAULT_FOLDER = handwired/onekey/promicro
LAYOUTS = ortho_1x1

View File

@ -18,16 +18,9 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS \
{ B0 }
#define MATRIX_ROW_PINS \
{ A7 }
#define BACKLIGHT_PIN A1 /* Green LED. */
#define BACKLIGHT_PWM_DRIVER PWMD5 /* GD32 numbering scheme starts from 0, TIMER4 on GD32 boards is TIMER5 on STM32 boards. */ #define BACKLIGHT_PWM_DRIVER PWMD5 /* GD32 numbering scheme starts from 0, TIMER4 on GD32 boards is TIMER5 on STM32 boards. */
#define BACKLIGHT_PWM_CHANNEL 2 /* GD32 numbering scheme starts from 0, Channel 1 on GD32 boards is Channel 2 on STM32 boards. */ #define BACKLIGHT_PWM_CHANNEL 2 /* GD32 numbering scheme starts from 0, Channel 1 on GD32 boards is Channel 2 on STM32 boards. */
#define RGB_DI_PIN A2
#define RGB_CI_PIN B13 #define RGB_CI_PIN B13
#define ADC_PIN A0 #define ADC_PIN A0

View File

@ -1,3 +1,16 @@
{ {
"keyboard_name": "Onekey Sipeed Longan Nano" "keyboard_name": "Onekey Sipeed Longan Nano",
"processor": "GD32VF103",
"bootloader": "gd32v-dfu",
"board": "SIPEED_LONGAN_NANO",
"matrix_pins": {
"cols": ["B0"],
"rows": ["A7"]
},
"backlight": {
"pin": "A1"
},
"rgblight": {
"pin": "A2"
}
} }

View File

@ -1,11 +1 @@
# MCU name
MCU = GD32VF103
BOARD = SIPEED_LONGAN_NANO
# Bootloader selection
BOOTLOADER = gd32v-dfu
# Build Options
# change yes to no to disable
#
KEYBOARD_SHARED_EP = yes KEYBOARD_SHARED_EP = yes

View File

@ -18,14 +18,10 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { B4 }
#define MATRIX_ROW_PINS { B5 }
#define BACKLIGHT_PIN C8
#define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 0 #define BACKLIGHT_PAL_MODE 0
#define RGB_DI_PIN B15
#define ADC_PIN A0 #define ADC_PIN A0
#define RGB_CI_PIN B13

View File

@ -1,3 +1,15 @@
{ {
"keyboard_name": "Onekey STM32F072 Discovery" "keyboard_name": "Onekey STM32F072 Discovery",
"processor": "STM32F072",
"bootloader": "stm32-dfu",
"matrix_pins": {
"cols": ["B4"],
"rows": ["B5"]
},
"backlight": {
"pin": "C8"
},
"rgblight": {
"pin": "B15"
}
} }

View File

@ -1,8 +1,2 @@
# MCU name
MCU = STM32F072
# Bootloader selection
BOOTLOADER = stm32-dfu
# Enter lower-power sleep mode when on the ChibiOS idle thread # Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE

View File

@ -1,22 +0,0 @@
/* Copyright 2019
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
#define MATRIX_COL_PINS { C2 }
#define MATRIX_ROW_PINS { C3 }

View File

@ -1,3 +1,9 @@
{ {
"keyboard_name": "Onekey Adafruit Feather STM32F405" "keyboard_name": "Onekey Adafruit Feather STM32F405",
"processor": "STM32F405",
"bootloader": "stm32-dfu",
"matrix_pins": {
"cols": ["C2"],
"rows": ["C3"],
}
} }

View File

@ -1,8 +1,2 @@
# MCU name
MCU = STM32F405
# Bootloader selection
BOOTLOADER = stm32-dfu
# Enter lower-power sleep mode when on the ChibiOS idle thread # Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE

View File

@ -18,14 +18,9 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { F4 }
#define MATRIX_ROW_PINS { F5 }
#define BACKLIGHT_PIN B6
#define RGB_DI_PIN F6
#define ADC_PIN F6 #define ADC_PIN F6
#define RGB_CI_PIN F7
#define QMK_WAITING_TEST_BUSY_PIN F6 #define QMK_WAITING_TEST_BUSY_PIN F6
#define QMK_WAITING_TEST_YIELD_PIN F7 #define QMK_WAITING_TEST_YIELD_PIN F7

View File

@ -1,3 +1,15 @@
{ {
"keyboard_name": "Onekey Teensy 2.0" "keyboard_name": "Onekey Teensy 2.0",
"processor": "atmega32u4",
"bootloader": "halfkay",
"matrix_pins": {
"cols": ["F4"],
"rows": ["F5"]
},
"backlight": {
"pin": "B6"
},
"rgblight": {
"pin": "F6"
}
} }

View File

@ -1,5 +0,0 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = halfkay

View File

@ -18,14 +18,9 @@
#include "config_common.h" #include "config_common.h"
#define MATRIX_COL_PINS { F4 }
#define MATRIX_ROW_PINS { F5 }
#define BACKLIGHT_PIN B6
#define RGB_DI_PIN F6
#define ADC_PIN F6 #define ADC_PIN F6
#define RGB_CI_PIN F7
#define QMK_WAITING_TEST_BUSY_PIN F6 #define QMK_WAITING_TEST_BUSY_PIN F6
#define QMK_WAITING_TEST_YIELD_PIN F7 #define QMK_WAITING_TEST_YIELD_PIN F7

View File

@ -1,3 +1,15 @@
{ {
"keyboard_name": "Onekey Teensy 2.0++" "keyboard_name": "Onekey Teensy 2.0++",
"processor": "at90usb1286",
"bootloader": "halfkay",
"matrix_pins": {
"cols": ["F4"],
"rows": ["F5"]
},
"backlight": {
"pin": "B6"
},
"rgblight": {
"pin": "F6"
}
} }

View File

@ -1,5 +0,0 @@
# MCU name
MCU = at90usb1286
# Bootloader selection
BOOTLOADER = halfkay

View File

@ -19,9 +19,6 @@
// TODO: including this causes "error: expected identifier before '(' token" errors // TODO: including this causes "error: expected identifier before '(' token" errors
//#include "config_common.h" //#include "config_common.h"
#define MATRIX_COL_PINS { D5 }
#define MATRIX_ROW_PINS { B2 }
// i2c_master defines // i2c_master defines
#define I2C1_SCL_PIN B0 // A2 on pinout = B0 #define I2C1_SCL_PIN B0 // A2 on pinout = B0
#define I2C1_SDA_PIN B1 // A3 on pinout = B1 #define I2C1_SDA_PIN B1 // A3 on pinout = B1

View File

@ -1,3 +1,9 @@
{ {
"keyboard_name": "Onekey Teensy 3.2" "keyboard_name": "Onekey Teensy 3.2",
"processor": "MK20DX256",
"bootloader": "halfkay",
"matrix_pins": {
"cols": ["D5"],
"rows": ["B2"]
}
} }

View File

@ -1,8 +1,2 @@
# MCU name
MCU = MK20DX256
# Bootloader selection
BOOTLOADER = halfkay
# Enter lower-power sleep mode when on the ChibiOS idle thread # Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE

View File

@ -19,9 +19,6 @@
// TODO: including this causes "error: expected identifier before '(' token" errors // TODO: including this causes "error: expected identifier before '(' token" errors
//#include "config_common.h" //#include "config_common.h"
#define MATRIX_COL_PINS { D5 } // 20/A6
#define MATRIX_ROW_PINS { B2 } // 19/A5
// i2c_master defines // i2c_master defines
#define I2C1_SCL_PIN B0 // 16/A2 on pinout #define I2C1_SCL_PIN B0 // 16/A2 on pinout
#define I2C1_SDA_PIN B1 // 17/A3 on pinout #define I2C1_SDA_PIN B1 // 17/A3 on pinout

View File

@ -1,3 +1,9 @@
{ {
"keyboard_name": "Onekey Teensy 3.5" "keyboard_name": "Onekey Teensy 3.5",
"processor": "MK64FX512",
"bootloader": "halfkay",
"matrix_pins": {
"cols": ["D5"], // 20/A6
"rows": ["B2"] // 19/A5
}
} }

View File

@ -1,8 +1,2 @@
# MCU name
MCU = MK64FX512
# Bootloader selection
BOOTLOADER = halfkay
# Enter lower-power sleep mode when on the ChibiOS idle thread # Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE

View File

@ -19,9 +19,6 @@
// TODO: including this causes "error: expected identifier before '(' token" errors // TODO: including this causes "error: expected identifier before '(' token" errors
//#include "config_common.h" //#include "config_common.h"
#define MATRIX_COL_PINS { D5 }
#define MATRIX_ROW_PINS { B2 }
// i2c_master defines // i2c_master defines
#define I2C1_SCL_PIN B0 // A2 on pinout = B0 #define I2C1_SCL_PIN B0 // A2 on pinout = B0
#define I2C1_SDA_PIN B1 // A3 on pinout = B1 #define I2C1_SDA_PIN B1 // A3 on pinout = B1

View File

@ -1,3 +1,9 @@
{ {
"keyboard_name": "Onekey Teensy LC" "keyboard_name": "Onekey Teensy LC",
"processor": "MKL26Z64",
"bootloader": "halfkay",
"matrix_pins": {
"cols": ["D5"],
"rows": ["B2"]
}
} }

View File

@ -1,9 +1,4 @@
# MCU name
MCU = MKL26Z64
USE_CHIBIOS_CONTRIB = yes USE_CHIBIOS_CONTRIB = yes
# Bootloader selection
BOOTLOADER = halfkay
# Enter lower-power sleep mode when on the ChibiOS idle thread # Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE

View File

@ -34,18 +34,18 @@
#define DRIVER_COUNT 1 #define DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100 #define DRIVER_ADDR_1 0b1110100
#define CONSTANT_CURRENT_STEP \ #define CKLED2001_CURRENT_TUNE \
{ 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 } { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 }
#define RGB_MATRIX_CENTER \
{ 56, 16 }
/* NKRO */ /* NKRO */
#define FORCE_NKRO #define FORCE_NKRO
/* turn off effects when suspended */ /* turn off effects when suspended */
#define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_DISABLE_WHEN_USB_SUSPENDED
/* We have 2KB EEPROM size on STM32L432 */
#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
/* EEPROM Driver Configuration */ /* EEPROM Driver Configuration */
#define WEAR_LEVELING_LOGICAL_SIZE 2048 #define WEAR_LEVELING_LOGICAL_SIZE 2048
#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) #define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)

View File

@ -16,7 +16,7 @@
#include "q0.h" #include "q0.h"
#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) #if defined(RGB_MATRIX_ENABLE) && defined(NUM_LOCK_LED_INDEX)
bool process_record_kb(uint16_t keycode, keyrecord_t *record) { bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (!process_record_user(keycode, record)) { if (!process_record_user(keycode, record)) {
@ -45,11 +45,11 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { __attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
// RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().num_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255); RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 255, 255, 255);
} else { } else {
if (!rgb_matrix_get_flags()) { if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0); RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 0, 0);
} }
} }
} }

View File

@ -18,6 +18,8 @@
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
// clang-format off
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to CKLED manual for these locations /* Refer to CKLED manual for these locations
* driver * driver
@ -67,12 +69,12 @@ led_config_t g_led_config = {
}, },
{ {
// LED Index to Physical Position // LED Index to Physical Position
{0,0}, {74,0}, {150,0}, {224,0}, {0,0}, {37,0}, {75,0}, {112,0},
{0,13}, {74,13}, {150,13}, {224,13}, {0,6}, {37,6}, {75,6}, {112,6},
{0,26}, {74,26}, {150,26}, {0,13}, {37,13}, {75,13},
{0,38}, {74,38}, {150,38}, {224,32}, {0,19}, {37,19}, {75,19}, {112,16},
{0,51}, {74,51}, {150,51}, {0,25}, {37,25}, {75,25},
{36,64}, {150,64}, {224,58}, {18,32}, {75,32}, {112,29},
}, },
{ {
// LED Index to Flag // LED Index to Flag

View File

@ -37,7 +37,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_iso_68( [MAC_BASE] = LAYOUT_iso_68(
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, 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_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_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_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, 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,
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, 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,

View File

@ -37,7 +37,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_iso_68( [MAC_BASE] = LAYOUT_iso_68(
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, 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_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_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_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, 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,
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, 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,

View File

@ -37,7 +37,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_iso_68( [MAC_BASE] = LAYOUT_iso_68(
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, 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,
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_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_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, 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,
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, 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,

View File

@ -37,7 +37,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_all( [MAC_BASE] = LAYOUT_all(
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, 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,
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_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_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, 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,
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, 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,

View File

@ -81,9 +81,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RIGHTFN /* RIGHTFN
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
* | | | | | | | | F12 | F11 | F10 | F9 |Scllck| * | | | | | | | | F12 | F11 | F10 | F9 | Pause|
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | | | | | | | F8 | F7 | F6 | F5 | Pause| * | Ctrl | | | | | | | F8 | F7 | F6 | F5 |Scllck|
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| | | | | | | F4 | F3 | F2 | F1 | | * | Shift| | | | | | | F4 | F3 | F2 | F1 | |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|

View File

@ -1,3 +1,82 @@
# Dan's kprepublic bm40 layout # Dan's KPrepublic BM40 Keymap
Dan's personal keymap with LED indicator support. >This is my personal keymap with an LED indicator support for num lock, caps lock and scroll lock.
![](https://i.imgur.com/2yclc1B.jpg)
> * Case: Poseidon PSD40 Case
> * Plate: Brass
> * Keycaps: WOB ABS Cherry Profile
> * Switches: Gazzew Boba u4t (62g 2 stage long spring)
### BM40 LED INDEX
**_Numlock (11) Capslock (12) Scroll lock (23)_**
| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
|---------|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
| **_1_** | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| **_2_** | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| **_3_** | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
| **_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 |
## LED INDICATOR EXAMPLES
![](https://i.imgur.com/qpkRNio.jpg)
![](https://i.imgur.com/GfG252J.jpg)
> * Case: SM Keyboards Planck/Niu Mini Acrylic Case
> * Plate: Acrylic
> * Keycaps: Drop + biip MT3 Extended 2048 Katakana
> * Switches: Everglide Aqua King V3 (62g 2 stage long spring)
<br /><br />
## KEYMAP LAYOUT EXAMPLES
### ALPHA
| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
| **_1_** | TAB | Q | W | E | R | T | Y | U | I | O | P | BSP |
| **_2_** | CTL | A | S | D | F | G | H | J | K | L | ; | ' |
| **_3_** | SFT | Z | X | C | V | B | N | M | , | . | / | RET |
| **_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 |
>This is a base layer for typing.
<br />
### LEFTFN MO(FN)
| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
| **_1_** | \` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSP |
| **_2_** | CTL | LFT | DN | UP | RHT | C+/ | HAN | [ | ] | ) | : | " |
| **_3_** | SFT | PGU | PGD | HOM | END | CAP | PRN | ( | , | . | / | RET |
| **_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 |
>This is the layer dedicated to number, symbol and navigation keys. ie) arrow keys
<br />
### RIGHTFN MO(-)
| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
| **_1_** | | | | | | | | F12 | F11 | F10 | F9 | PAU |
| **_2_** | CTL | | | | | | | F8 | F7 | F6 | F5 | SCL |
| **_3_** | SFT | | | | | | | F4 | F3 | F2 | F1 | |
| **_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;|
>This layer contains function rows.
<br />
### NUMPAD MO(ESC)
| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
| **_1_** | * | 7 | 8 | 9 | NUM | | | | | | | BSP |
| **_2_** | ALT | 4 | 5 | 6 | RET | | | | | | | |
| **_3_** | - | 1 | 2 | 3 | BSP | | | | | | | RET |
| **_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 |
>This layer is the numpad.
<br />
There are other dedicated layers for gaming that are not included here.
If you are interested, check out keymap.c!

View File

@ -22,12 +22,30 @@
#define ___ KC_NO #define ___ KC_NO
/*
*
* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 4D 0E 0F 1F 4D 2u Backspace
*
* 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 2E 2F
* 2.25u 2D ISO Enter
* LShift 20 21 22 23 24 25 26 27 28 29 2A 2B 2D 2C
*
* 30 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3C 2.75u RShift
*
* 40 41 42 49 4B 4C 3F 4E 4F
* 4A
*
*
* 41 42 49 4B
*
*/
#define LAYOUT_all( \ #define LAYOUT_all( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K4D, K0E, K0F, K1F, \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K4D, K0E, K0F, K1F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K2F,\ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K2F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F\ K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F \
) \ ) \
{ \ { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
@ -36,3 +54,33 @@
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
{ K40, K41, K42, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ { K40, K41, K42, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
} }
#define LAYOUT_ansi_tsangan( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4D, K0E, K0F, K1F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K2F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, \
K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F \
) \
{ \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E, K2F }, \
{ K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, K3E, K3F }, \
{ K40, K41, K42, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
}
#define LAYOUT_iso_tsangan( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4D, K0E, K0F, K1F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, \
K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F \
) \
{ \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, K3E, K3F }, \
{ K40, K41, K42, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
}

View File

@ -54,7 +54,15 @@
//rgb light setting //rgb light setting
#define RGBLED_NUM 68 #define RGBLED_NUM 68
#define RGB_DI_PIN D5 #define RGB_DI_PIN D5
#define RGBLIGHT_ANIMATIONS #define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_VAL_STEP 8

View File

@ -2,7 +2,7 @@
"keyboard_name": "700E", "keyboard_name": "700E",
"manufacturer": "Neson Design", "manufacturer": "Neson Design",
"url": "", "url": "",
"maintainer": "qmk", "maintainer": "yulei",
"usb": { "usb": {
"vid": "0x4E65", "vid": "0x4E65",
"pid": "0x700E", "pid": "0x700E",
@ -10,8 +10,243 @@
}, },
"layouts": { "layouts": {
"LAYOUT_all": { "LAYOUT_all": {
"layout": "layout": [
[{"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}] {"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, "w":1.25},
{"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,10", "x":4, "y":4.25, "w":7},
{"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}
]
},
"LAYOUT_ansi_tsangan": {
"layout": [
{"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":"4,13", "x":13, "y":0, "w":2},
{"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,13", "x":12.75, "y":2, "w":2.25},
{"label":"3,0", "x":0, "y":3, "w":2.25},
{"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":2.75},
{"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,10", "x":4, "y":4.25, "w":7},
{"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}
]
},
"LAYOUT_iso_tsangan": {
"layout": [
{"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":"4,13", "x":13, "y":0, "w":2},
{"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,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":1, "w":1.25, "h":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":2.75},
{"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,10", "x":4, "y":4.25, "w":7},
{"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}
]
} }
} }
} }

View File

@ -19,16 +19,17 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all( [0] = LAYOUT_all(
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, 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,
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, 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,
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, 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,
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, 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,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all( [1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______,_______,_______, _______, KC_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, _______, _______, _______,
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,_______,_______,_______,_______, 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, _______, _______, _______, _______,
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______,_______,_______, _______, _______,_______,_______,_______,_______,_______), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
}; };

View File

@ -0,0 +1,35 @@
/**
Copyright 2022 astro
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ansi_tsangan(
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,
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,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_ansi_tsangan(
_______, 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, _______, _______, _______,
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, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@ -0,0 +1,35 @@
/**
Copyright 2022 astro
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_iso_tsangan(
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,
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,
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_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,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_iso_tsangan(
_______, 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, _______, _______, _______,
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, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@ -19,23 +19,24 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all( [0] = LAYOUT_all(
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, 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,
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, 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,
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, 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,
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, 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,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all( [1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______,_______,_______, _______, KC_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, _______, _______, _______,
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,_______,_______,_______,_______, 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, _______, _______, _______, _______,
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______,_______,_______, _______, _______,_______,_______,_______,_______,_______), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_all( [2] = LAYOUT_all(
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______,_______,_______, _______, _______,_______,_______,_______,_______,_______), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
}; };