forked from mirror/qmk_firmware
Merge branch 'master' of https://github.com/qmk/qmk_firmware
This commit is contained in:
95
keyboards/dz60/keymaps/coppertop/keymap.c
Normal file
95
keyboards/dz60/keymaps/coppertop/keymap.c
Normal file
@@ -0,0 +1,95 @@
|
||||
/* Copyright 2020 Philip Chan
|
||||
*
|
||||
* 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
|
||||
|
||||
//Layers
|
||||
enum layer_names {
|
||||
_QWERTY,
|
||||
_FN,
|
||||
_MEDIA,
|
||||
};
|
||||
|
||||
//Custom Keymap Definitions
|
||||
#define KC_CAD LALT(LCTL(KC_DEL))
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty Base layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BSpc| Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | `/_Media| A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Shift | Z | X | C | V | B | N | M | , | . | / |Home | Up |End |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | LCtrl | LGui | LAlt | Space | Fn | Space | F7 | F10 |Left |Down |Right|
|
||||
* `----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_QWERTY] = LAYOUT_directional(
|
||||
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_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_BSLS,
|
||||
LT(_MEDIA,KC_GRV), 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_HOME, KC_UP, KC_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_F7, KC_F10, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* F-Key/Lighting/whatever layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F0 | F11 | F12 | | Ins |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | |R_Tog|R_HUI|R_SAI|R_VAI| | | | | | | | | KC_CAD |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Caps | |R_HUD|R_SAD| | | | | | | SLCK|PAUSE| Print Screen|
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | |R_M_P|R_M_B|R_M_R|R_M_SW|R_M_S|R_M_K|R_M_X|R_M_G| | |PgUp |BLUP |PgDn |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | | | | | |BLTog|BLDN |BLInc|
|
||||
* `----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_FN] = LAYOUT_directional(
|
||||
XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_INS,
|
||||
XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAD,
|
||||
KC_CAPS, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLCK, KC_PAUS, KC_PSCR,
|
||||
_______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, XXXXXXX, XXXXXXX, KC_PGUP, BL_INC, KC_PGDN,
|
||||
_______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, BL_DEC, BL_STEP
|
||||
),
|
||||
|
||||
/* SFX/Multimedia/Numpad layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | / | * | - | = | |Trns |Trns |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | Prev | Play| Next| | | 7 | 8 | 9 | + | | | RESET |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | |Mute | VUp | VDn | | | 4 | 5 | 6 | + | | Trns |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | | | | | 1 | 2 | 3 |NumEN| | | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Trns | Trns | Trns | Trns | | 0 | . | | | | |
|
||||
* `----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_MEDIA] = LAYOUT_directional(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, KC_PEQL, XXXXXXX, _______, _______,
|
||||
XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, RESET,
|
||||
_______, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PPLS, XXXXXXX, _______,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, KC_P0, KC_PDOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
)
|
||||
};
|
||||
1
keyboards/dz60/keymaps/coppertop/rules.mk
Normal file
1
keyboards/dz60/keymaps/coppertop/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
BOOTMAGIC_ENABLE = no
|
||||
95
keyboards/dz60/keymaps/spotpuff/keymap.c
Normal file
95
keyboards/dz60/keymaps/spotpuff/keymap.c
Normal file
@@ -0,0 +1,95 @@
|
||||
/* Copyright 2020 Philip Chan
|
||||
*
|
||||
* 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
|
||||
|
||||
//Layers
|
||||
enum layer_names {
|
||||
_QWERTY,
|
||||
_FN,
|
||||
_MEDIA,
|
||||
};
|
||||
|
||||
//Custom Keymap Definitions
|
||||
#define KC_CAD LALT(LCTL(KC_DEL))
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty Base layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BSpc| Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | `/_Media| A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Shift | Z | X | C | V | B | N | M | , | . | / |PgUp | Up |PgDn |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | LCtrl | LGui | LAlt | Space | Fn | Space |Home | End |Left |Down |Right|
|
||||
* `----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_QWERTY] = LAYOUT_directional(
|
||||
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_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_BSLS,
|
||||
LT(_MEDIA,KC_GRV), 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_PGUP, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_HOME, KC_END, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* F-Key/Lighting/whatever layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F0 | F11 | F12 | | Ins |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | |R_Tog|R_HUI|R_SAI|R_VAI| | | | | | | | | KC_CAD |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Caps | |R_HUD|R_SAD| | | | | | | SLCK|PAUSE| Print Screen|
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Trns |R_M_P|R_M_B|R_M_R|R_M_SW|R_M_S|R_M_K|R_M_X|R_M_G| | | |BLUP | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Trns | Trns | Trns | | Trns | | | |BLTog|BLDN |BLInc|
|
||||
* `----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_FN] = LAYOUT_directional(
|
||||
XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_INS,
|
||||
XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAD,
|
||||
KC_CAPS, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLCK, KC_PAUS, KC_PSCR,
|
||||
_______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, XXXXXXX, XXXXXXX, XXXXXXX, BL_INC, XXXXXXX,
|
||||
_______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, BL_DEC, BL_STEP
|
||||
),
|
||||
|
||||
/* SFX/Multimedia/Numpad layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | | | | | |NumLk| | / | * | - | = | |Trns |Trns |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | Prev | Play| Next| | | 7 | 8 | 9 | + | | | RESET |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Trns | |Mute | VUp | VDn | | | 4 | 5 | 6 | + | | Trns |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Trns | | | | | | | 1 | 2 | 3 |NumEN| | | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Trns | Trns | Trns | Trns | Trns | 0 | . | | | | |
|
||||
* `----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_MEDIA] = LAYOUT_directional(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, KC_PEQL, XXXXXXX, _______, _______,
|
||||
XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, RESET,
|
||||
_______, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PPLS, XXXXXXX, _______,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, KC_P0, KC_PDOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
)
|
||||
};
|
||||
1
keyboards/dz60/keymaps/spotpuff/rules.mk
Normal file
1
keyboards/dz60/keymaps/spotpuff/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
BOOTMAGIC_ENABLE = no
|
||||
@@ -1,30 +1,8 @@
|
||||
## chip/board settings
|
||||
# the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# linker script to use
|
||||
# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = STM32F401xC
|
||||
# startup code to use
|
||||
# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
# it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = BLACKPILL_STM32_F401
|
||||
# Cortex version
|
||||
# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
|
||||
MCU = cortex-m4
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
USE_FPU = yes
|
||||
# Address of the booloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
# MCU name
|
||||
MCU = STM32F401
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
DFU_SUFFIX_ARGS = -v 0483 -p df11
|
||||
# Address of the bootloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
|
||||
@@ -1,30 +1,8 @@
|
||||
## chip/board settings
|
||||
# the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# linker script to use
|
||||
# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = STM32F411xE
|
||||
# startup code to use
|
||||
# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
# it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = BLACKPILL_STM32_F411
|
||||
# Cortex version
|
||||
# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
|
||||
MCU = cortex-m4
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
USE_FPU = yes
|
||||
# Address of the booloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
# MCU name
|
||||
MCU = STM32F411
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
DFU_SUFFIX_ARGS = -v 0483 -p df11
|
||||
# Address of the bootloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
|
||||
@@ -1,30 +1,8 @@
|
||||
## chip/board settings
|
||||
# the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# linker script to use
|
||||
# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = STM32F401xC
|
||||
# startup code to use
|
||||
# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
# it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = BLACKPILL_STM32_F401
|
||||
# Cortex version
|
||||
# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
|
||||
MCU = cortex-m4
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
USE_FPU = yes
|
||||
# Address of the booloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
# MCU name
|
||||
MCU = STM32F401
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
DFU_SUFFIX_ARGS = -v 0483 -p df11
|
||||
# Address of the bootloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
@@ -43,4 +21,4 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
BACKLIGHT_DRIVER = software
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"keyboard_name": "Katana60",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"key_count": 70,
|
||||
"layout": [{"label":"k40", "x":0, "y":0}, {"label":"k41", "x":1, "y":0}, {"label":"k42", "x":2, "y":0}, {"label":"k43", "x":3, "y":0}, {"label":"k44", "x":4, "y":0}, {"label":"k45", "x":5, "y":0}, {"label":"k46", "x":6, "y":0}, {"label":"k47", "x":7, "y":0}, {"label":"k48", "x":8, "y":0}, {"label":"k49", "x":9, "y":0}, {"label":"k4a", "x":10, "y":0}, {"label":"k4b", "x":11, "y":0}, {"label":"k4c", "x":12, "y":0}, {"label":"k4d", "x":13, "y":0}, {"label":"k4e", "x":14, "y":0}, {"label":"k30", "x":0, "y":1, "w":1.5}, {"label":"k31", "x":1.5, "y":1}, {"label":"k32", "x":2.5, "y":1}, {"label":"k33", "x":3.5, "y":1}, {"label":"k34", "x":4.5, "y":1}, {"label":"k35", "x":5.5, "y":1}, {"label":"k36", "x":6.5, "y":1}, {"label":"k37", "x":7.5, "y":1}, {"label":"k38", "x":8.5, "y":1}, {"label":"k39", "x":9.5, "y":1}, {"label":"k3a", "x":10.5, "y":1}, {"label":"k3b", "x":11.5, "y":1}, {"label":"k3c", "x":12.5, "y":1}, {"label":"k3d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.25}, {"label":"k21", "x":1.25, "y":2}, {"label":"k22", "x":2.25, "y":2}, {"label":"k23", "x":3.25, "y":2}, {"label":"k24", "x":4.25, "y":2}, {"label":"k25", "x":5.25, "y":2}, {"label":"k26", "x":6.25, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k10", "x":0, "y":3}, {"label":"k11", "x":1, "y":3}, {"label":"k12", "x":2, "y":3}, {"label":"k13", "x":3, "y":3}, {"label":"k14", "x":4, "y":3}, {"label":"k15", "x":5, "y":3}, {"label":"k16", "x":6, "y":3}, {"label":"k17", "x":7, "y":3}, {"label":"k18", "x":8, "y":3}, {"label":"k19", "x":9, "y":3}, {"label":"k1a", "x":10, "y":3}, {"label":"k1b", "x":11, "y":3}, {"label":"k1c", "x":12, "y":3}, {"label":"k1d", "x":13, "y":3}, {"label":"k1e", "x":14, "y":3}, {"label":"k00", "x":0, "y":4}, {"label":"k01", "x":1, "y":4, "w":1.25}, {"label":"k02", "x":2.25, "y":4, "w":1.25}, {"label":"k03", "x":3.5, "y":4, "w":1.25}, {"label":"k04", "x":4.75, "y":4, "w":2.25}, {"label":"k05", "x":7, "y":4}, {"label":"k06", "x":8, "y":4, "w":2}, {"label":"k09", "x":10, "y":4}, {"label":"k0a", "x":11, "y":4}, {"label":"k0b", "x":12, "y":4}, {"label":"k0c", "x":13, "y":4}, {"label":"k0d", "x":14, "y":4}]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
# Katana60
|
||||
|
||||

|
||||
|
||||
A 60% keyboard with a symmetrical staggered layout, sold by CandyKeys.com.
|
||||
|
||||
Keyboard Maintainer: [Baris Tosun](https://github.com/rominronin)
|
||||
Hardware Supported: Katana60 PCB v1, Teensy 2.0
|
||||
Hardware Availability: [CandyKeys.com](https://CandyKeys.com)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make katana60:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
||||
|
||||
There is also ongoing discussion for the extend layer, at the [Colemak Forum](https://forum.colemak.com/topic/2327-developing-an-extend-layer-for-the-katana60/)
|
||||
57
keyboards/majistic/config.h
Normal file
57
keyboards/majistic/config.h
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
/*
|
||||
Copyright 2020 yossiyossy
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6E55
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER yossiyossy
|
||||
#define PRODUCT maJIStic
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 8
|
||||
|
||||
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2 }
|
||||
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5, F4, F5 } // F4, F5 is dummy
|
||||
#define MATRIX_ROW_PINS_RIGHT { D4, C6, D7, E6, B4 }
|
||||
#define MATRIX_COL_PINS_RIGHT { B6, B2, B3, B1, F7, F6, F5, F4 }
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/*
|
||||
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
|
||||
*/
|
||||
#define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
78
keyboards/majistic/info.json
Normal file
78
keyboards/majistic/info.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"keyboard_name": "maJIStic",
|
||||
"url": "https://github.com/yossiyossy/maJIStic",
|
||||
"maintainer": "yossiyossy",
|
||||
"width": 15.5,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"1", "x":0, "y":0, "w":1.5},
|
||||
{"label":"2", "x":1.5, "y":0},
|
||||
{"label":"3", "x":2.5, "y":0},
|
||||
{"label":"4", "x":3.5, "y":0},
|
||||
{"label":"5", "x":4.5, "y":0},
|
||||
{"label":"6", "x":5.5, "y":0},
|
||||
{"label":"7", "x":7.5, "y":0},
|
||||
{"label":"8", "x":8.5, "y":0},
|
||||
{"label":"9", "x":9.5, "y":0},
|
||||
{"label":"0", "x":10.5, "y":0},
|
||||
{"label":"-", "x":11.5, "y":0},
|
||||
{"label":"^", "x":12.5, "y":0},
|
||||
{"label":"\\", "x":13.5, "y":0},
|
||||
{"label":"BS", "x":14.5, "y":0},
|
||||
{"label":"Tab", "x":0, "y":1},
|
||||
{"label":"Q", "x":1, "y":1},
|
||||
{"label":"W", "x":2, "y":1},
|
||||
{"label":"E", "x":3, "y":1},
|
||||
{"label":"R", "x":4, "y":1},
|
||||
{"label":"T", "x":5, "y":1},
|
||||
{"label":"Y", "x":7, "y":1},
|
||||
{"label":"U", "x":8, "y":1},
|
||||
{"label":"I", "x":9, "y":1},
|
||||
{"label":"O", "x":10, "y":1},
|
||||
{"label":"P", "x":11, "y":1},
|
||||
{"label":"@", "x":12, "y":1},
|
||||
{"label":"[", "x":13, "y":1},
|
||||
{"label":"Caps Lock", "x":0, "y":2, "w":1.25},
|
||||
{"label":"A", "x":1.25, "y":2},
|
||||
{"label":"S", "x":2.25, "y":2},
|
||||
{"label":"D", "x":3.25, "y":2},
|
||||
{"label":"F", "x":4.25, "y":2},
|
||||
{"label":"G", "x":5.25, "y":2},
|
||||
{"label":"H", "x":7.25, "y":2},
|
||||
{"label":"J", "x":8.25, "y":2},
|
||||
{"label":"K", "x":9.25, "y":2},
|
||||
{"label":"L", "x":10.25, "y":2},
|
||||
{"label":";", "x":11.25, "y":2},
|
||||
{"label":":", "x":12.25, "y":2},
|
||||
{"label":"]", "x":13.25, "y":2},
|
||||
{"label":"Enter", "x":14.25, "y":1, "w":1.25, "h":2},
|
||||
{"label":"Shift", "x":0, "y":3, "w":1.75},
|
||||
{"label":"Z", "x":1.75, "y":3},
|
||||
{"label":"X", "x":2.75, "y":3},
|
||||
{"label":"C", "x":3.75, "y":3},
|
||||
{"label":"V", "x":4.75, "y":3},
|
||||
{"label":"B", "x":5.75, "y":3},
|
||||
{"label":"N", "x":7.75, "y":3},
|
||||
{"label":"M", "x":8.75, "y":3},
|
||||
{"label":",", "x":9.75, "y":3},
|
||||
{"label":".", "x":10.75, "y":3},
|
||||
{"label":"/", "x":11.75, "y":3},
|
||||
{"label":"up", "x":12.75, "y":3},
|
||||
{"label":"Shift", "x":13.75, "y":3, "w":1.75},
|
||||
{"label":"Ctrl", "x":0, "y":4},
|
||||
{"label":"Alt", "x":1, "y":4},
|
||||
{"label":"command", "x":2, "y":4, "w":1.25},
|
||||
{"label":"EISU", "x":3.25, "y":4, "w":1.25},
|
||||
{"label":"", "x":4.5, "y":4, "w":1.75},
|
||||
{"label":"", "x":7.25, "y":4, "w":1.5},
|
||||
{"label":"KANA", "x":8.75, "y":4, "w":1.5},
|
||||
{"label":"command", "x":10.25, "y":4, "w":1.5},
|
||||
{"label":"left", "x":11.75, "y":4},
|
||||
{"label":"down", "x":12.75, "y":4},
|
||||
{"label":"right", "x":13.75, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
17
keyboards/majistic/keymaps/default/config.h
Normal file
17
keyboards/majistic/keymaps/default/config.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 yossiyossy
|
||||
*
|
||||
* 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
|
||||
45
keyboards/majistic/keymaps/default/keymap.c
Normal file
45
keyboards/majistic/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Copyright 2020 yossiyossy
|
||||
*
|
||||
* 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
|
||||
#include "keymap_jp.h"
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
L_SPC = SAFE_RANGE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base */
|
||||
[_BASE] = LAYOUT(
|
||||
JP_1, JP_2, JP_3, JP_4, JP_5, JP_6, JP_7, JP_8, JP_9, JP_0, JP_MINS, JP_CIRC, JP_YEN, KC_BSPC, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_COLN, JP_RBRC, KC_ENT , \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, KC_UP, KC_RSFT, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_LANG2, LT(_LOWER, KC_SPC), LT(_LOWER, KC_SPC), KC_LANG1, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT \
|
||||
),
|
||||
[_LOWER] = LAYOUT(
|
||||
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_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, JP_UNDS, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRMU, KC_VOLU, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_BRMD, KC_VOLD, _______ \
|
||||
),
|
||||
};
|
||||
1
keyboards/majistic/keymaps/default/readme.md
Normal file
1
keyboards/majistic/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for maJIStic
|
||||
17
keyboards/majistic/majistic.c
Normal file
17
keyboards/majistic/majistic.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 yossiyossy
|
||||
*
|
||||
* 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 "majistic.h"
|
||||
47
keyboards/majistic/majistic.h
Normal file
47
keyboards/majistic/majistic.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/* Copyright 2020 yossiyossy
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
#define LAYOUT(\
|
||||
l00, l01, l02, l03, l04, l05, r00, r01, r02, r03, r04, r05, r06, r07, \
|
||||
l10, l11, l12, l13, l14, l15, r10, r11, r12, r13, r14, r15, r16, \
|
||||
l20, l21, l22, l23, l24, l25, r20, r21, r22, r23, r24, r25, r26, r17, \
|
||||
l30, l31, l32, l33, l34, l35, r30, r31, r32, r33, r34, r35, r36, \
|
||||
l40, l41, l42, l43, l44, r40, r41, r42, r43, r44, r45 \
|
||||
) {\
|
||||
{ l00, l01, l02, l03, l04, l05, KC_NO, KC_NO }, \
|
||||
{ l10, l11, l12, l13, l14, l15, KC_NO, KC_NO }, \
|
||||
{ l20, l21, l22, l23, l24, l25, KC_NO, KC_NO}, \
|
||||
{ l30, l31, l32, l33, l34, l35, KC_NO, KC_NO}, \
|
||||
{ l40, l41, l42, l43, l44, KC_NO, KC_NO, KC_NO}, \
|
||||
{ r00, r01, r02, r03, r04, r05, r06, r07 }, \
|
||||
{ r10, r11, r12, r13, r14, r15, r16, r17 }, \
|
||||
{ r20, r21, r22, r23, r24, r25, r26, KC_NO }, \
|
||||
{ r30, r31, r32, r33, r34, r35, r36, KC_NO }, \
|
||||
{ r40, r41, r42, r43, r44, r45, KC_NO, KC_NO } \
|
||||
}
|
||||
15
keyboards/majistic/readme.md
Normal file
15
keyboards/majistic/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# maJIStic
|
||||
|
||||

|
||||
|
||||
maJIStic is a split, JIS, magic keyboard like, hot-swappable keybaord!
|
||||
|
||||
* Keyboard Maintainer: [yossiyossy](https://github.com/yossiyossy)
|
||||
* Hardware Supported: [pcb](https://github.com/yossiyossy/maJIStic/tree/master/pcb), [case](https://github.com/yossiyossy/maJIStic/tree/master/case/dxf)
|
||||
* Hardware Availability: [booth](https://yossiyossy.booth.pm/items/2325429)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make majistic:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
@@ -2,19 +2,12 @@
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
@@ -23,9 +16,9 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
|
||||
MIDI_ENABLE = no # MIDI support
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
279
keyboards/masterworks/classy_tkl/info.json
Normal file
279
keyboards/masterworks/classy_tkl/info.json
Normal file
@@ -0,0 +1,279 @@
|
||||
{
|
||||
"keyboard_name": "Classy TKL",
|
||||
"url": "https://geekhack.org/index.php?topic=105933",
|
||||
"maintainer": "qmk",
|
||||
"width": 18.25,
|
||||
"height": 6.5,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "F1", "x": 2, "y": 0 },
|
||||
{ "label": "F2", "x": 3, "y": 0 },
|
||||
{ "label": "F3", "x": 4, "y": 0 },
|
||||
{ "label": "F4", "x": 5, "y": 0 },
|
||||
{ "label": "F5", "x": 6.5, "y": 0 },
|
||||
{ "label": "F6", "x": 7.5, "y": 0 },
|
||||
{ "label": "F7", "x": 8.5, "y": 0 },
|
||||
{ "label": "F8", "x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "x": 11, "y": 0 },
|
||||
{ "label": "F10", "x": 12, "y": 0 },
|
||||
{ "label": "F11", "x": 13, "y": 0 },
|
||||
{ "label": "F12", "x": 14, "y": 0 },
|
||||
{ "label": "PrtSc", "x": 15.25, "y": 0 },
|
||||
{ "label": "Scroll Lock", "x": 16.25, "y": 0 },
|
||||
{ "label": "Pause", "x": 17.25, "y": 0 },
|
||||
{ "label": "~", "x": 0, "y": 1.5 },
|
||||
{ "label": "!", "x": 1, "y": 1.5 },
|
||||
{ "label": "@", "x": 2, "y": 1.5 },
|
||||
{ "label": "#", "x": 3, "y": 1.5 },
|
||||
{ "label": "$", "x": 4, "y": 1.5 },
|
||||
{ "label": "%", "x": 5, "y": 1.5 },
|
||||
{ "label": "^", "x": 6, "y": 1.5 },
|
||||
{ "label": "&", "x": 7, "y": 1.5 },
|
||||
{ "label": "*", "x": 8, "y": 1.5 },
|
||||
{ "label": "(", "x": 9, "y": 1.5 },
|
||||
{ "label": ")", "x": 10, "y": 1.5 },
|
||||
{ "label": "_", "x": 11, "y": 1.5 },
|
||||
{ "label": "+", "x": 12, "y": 1.5 },
|
||||
{ "label": "Backspace", "x": 13, "y": 1.5 },
|
||||
{ "label": "Backspace2", "x": 14, "y": 1.5 },
|
||||
{ "label": "Insert", "x": 15.25, "y": 1.5 },
|
||||
{ "label": "Home", "x": 16.25, "y": 1.5 },
|
||||
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
|
||||
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 2.5 },
|
||||
{ "label": "W", "x": 2.5, "y": 2.5 },
|
||||
{ "label": "E", "x": 3.5, "y": 2.5 },
|
||||
{ "label": "R", "x": 4.5, "y": 2.5 },
|
||||
{ "label": "T", "x": 5.5, "y": 2.5 },
|
||||
{ "label": "Y", "x": 6.5, "y": 2.5 },
|
||||
{ "label": "U", "x": 7.5, "y": 2.5 },
|
||||
{ "label": "I", "x": 8.5, "y": 2.5 },
|
||||
{ "label": "O", "x": 9.5, "y": 2.5 },
|
||||
{ "label": "P", "x": 10.5, "y": 2.5 },
|
||||
{ "label": "{", "x": 11.5, "y": 2.5 },
|
||||
{ "label": "}", "x": 12.5, "y": 2.5 },
|
||||
{ "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Delete", "x": 15.25, "y": 2.5 },
|
||||
{ "label": "End", "x": 16.25, "y": 2.5 },
|
||||
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 3.5 },
|
||||
{ "label": "S", "x": 2.75, "y": 3.5 },
|
||||
{ "label": "D", "x": 3.75, "y": 3.5 },
|
||||
{ "label": "F", "x": 4.75, "y": 3.5 },
|
||||
{ "label": "G", "x": 5.75, "y": 3.5 },
|
||||
{ "label": "H", "x": 6.75, "y": 3.5 },
|
||||
{ "label": "J", "x": 7.75, "y": 3.5 },
|
||||
{ "label": "K", "x": 8.75, "y": 3.5 },
|
||||
{ "label": "L", "x": 9.75, "y": 3.5 },
|
||||
{ "label": ":", "x": 10.75, "y": 3.5 },
|
||||
{ "label": "\"", "x": 11.75, "y": 3.5 },
|
||||
{ "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
|
||||
{ "label": "|", "x": 1.25, "y": 4.5 },
|
||||
{ "label": "Z", "x": 2.25, "y": 4.5 },
|
||||
{ "label": "X", "x": 3.25, "y": 4.5 },
|
||||
{ "label": "C", "x": 4.25, "y": 4.5 },
|
||||
{ "label": "V", "x": 5.25, "y": 4.5 },
|
||||
{ "label": "B", "x": 6.25, "y": 4.5 },
|
||||
{ "label": "N", "x": 7.25, "y": 4.5 },
|
||||
{ "label": "M", "x": 8.25, "y": 4.5 },
|
||||
{ "label": "<", "x": 9.25, "y": 4.5 },
|
||||
{ "label": ">", "x": 10.25, "y": 4.5 },
|
||||
{ "label": "?", "x": 11.25, "y": 4.5 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 1.75 },
|
||||
{ "label": "Shift2", "x": 14, "y": 4.5, "w": 1 },
|
||||
{ "label": "Up", "x": 16.25, "y": 4.5 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Win", "x": 1.5, "y": 5.5, "w": 1 },
|
||||
{ "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Space", "x": 4, "y": 5.5, "w": 7 },
|
||||
{ "label": "Alt", "x": 11, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Win", "x": 12.5, "y": 5.5, "w": 1 },
|
||||
{ "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Left", "x": 15.25, "y": 5.5 },
|
||||
{ "label": "Down", "x": 16.25, "y": 5.5 },
|
||||
{ "label": "Right", "x": 17.25, "y": 5.5 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_ansi_wkl": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "F1", "x": 2, "y": 0 },
|
||||
{ "label": "F2", "x": 3, "y": 0 },
|
||||
{ "label": "F3", "x": 4, "y": 0 },
|
||||
{ "label": "F4", "x": 5, "y": 0 },
|
||||
{ "label": "F5", "x": 6.5, "y": 0 },
|
||||
{ "label": "F6", "x": 7.5, "y": 0 },
|
||||
{ "label": "F7", "x": 8.5, "y": 0 },
|
||||
{ "label": "F8", "x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "x": 11, "y": 0 },
|
||||
{ "label": "F10", "x": 12, "y": 0 },
|
||||
{ "label": "F11", "x": 13, "y": 0 },
|
||||
{ "label": "F12", "x": 14, "y": 0 },
|
||||
{ "label": "PrtSc", "x": 15.25, "y": 0 },
|
||||
{ "label": "Scroll Lock", "x": 16.25, "y": 0 },
|
||||
{ "label": "Pause", "x": 17.25, "y": 0 },
|
||||
{ "label": "~", "x": 0, "y": 1.5 },
|
||||
{ "label": "!", "x": 1, "y": 1.5 },
|
||||
{ "label": "@", "x": 2, "y": 1.5 },
|
||||
{ "label": "#", "x": 3, "y": 1.5 },
|
||||
{ "label": "$", "x": 4, "y": 1.5 },
|
||||
{ "label": "%", "x": 5, "y": 1.5 },
|
||||
{ "label": "^", "x": 6, "y": 1.5 },
|
||||
{ "label": "&", "x": 7, "y": 1.5 },
|
||||
{ "label": "*", "x": 8, "y": 1.5 },
|
||||
{ "label": "(", "x": 9, "y": 1.5 },
|
||||
{ "label": ")", "x": 10, "y": 1.5 },
|
||||
{ "label": "_", "x": 11, "y": 1.5 },
|
||||
{ "label": "+", "x": 12, "y": 1.5 },
|
||||
{ "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
|
||||
{ "label": "Insert", "x": 15.25, "y": 1.5 },
|
||||
{ "label": "Home", "x": 16.25, "y": 1.5 },
|
||||
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
|
||||
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 2.5 },
|
||||
{ "label": "W", "x": 2.5, "y": 2.5 },
|
||||
{ "label": "E", "x": 3.5, "y": 2.5 },
|
||||
{ "label": "R", "x": 4.5, "y": 2.5 },
|
||||
{ "label": "T", "x": 5.5, "y": 2.5 },
|
||||
{ "label": "Y", "x": 6.5, "y": 2.5 },
|
||||
{ "label": "U", "x": 7.5, "y": 2.5 },
|
||||
{ "label": "I", "x": 8.5, "y": 2.5 },
|
||||
{ "label": "O", "x": 9.5, "y": 2.5 },
|
||||
{ "label": "P", "x": 10.5, "y": 2.5 },
|
||||
{ "label": "{", "x": 11.5, "y": 2.5 },
|
||||
{ "label": "}", "x": 12.5, "y": 2.5 },
|
||||
{ "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Delete", "x": 15.25, "y": 2.5 },
|
||||
{ "label": "End", "x": 16.25, "y": 2.5 },
|
||||
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 3.5 },
|
||||
{ "label": "S", "x": 2.75, "y": 3.5 },
|
||||
{ "label": "D", "x": 3.75, "y": 3.5 },
|
||||
{ "label": "F", "x": 4.75, "y": 3.5 },
|
||||
{ "label": "G", "x": 5.75, "y": 3.5 },
|
||||
{ "label": "H", "x": 6.75, "y": 3.5 },
|
||||
{ "label": "J", "x": 7.75, "y": 3.5 },
|
||||
{ "label": "K", "x": 8.75, "y": 3.5 },
|
||||
{ "label": "L", "x": 9.75, "y": 3.5 },
|
||||
{ "label": ":", "x": 10.75, "y": 3.5 },
|
||||
{ "label": "\"", "x": 11.75, "y": 3.5 },
|
||||
{ "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 },
|
||||
{ "label": "Z", "x": 2.25, "y": 4.5 },
|
||||
{ "label": "X", "x": 3.25, "y": 4.5 },
|
||||
{ "label": "C", "x": 4.25, "y": 4.5 },
|
||||
{ "label": "V", "x": 5.25, "y": 4.5 },
|
||||
{ "label": "B", "x": 6.25, "y": 4.5 },
|
||||
{ "label": "N", "x": 7.25, "y": 4.5 },
|
||||
{ "label": "M", "x": 8.25, "y": 4.5 },
|
||||
{ "label": "<", "x": 9.25, "y": 4.5 },
|
||||
{ "label": ">", "x": 10.25, "y": 4.5 },
|
||||
{ "label": "?", "x": 11.25, "y": 4.5 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
|
||||
{ "label": "Up", "x": 16.25, "y": 4.5 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Space", "x": 4, "y": 5.5, "w": 7 },
|
||||
{ "label": "Alt", "x": 11, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Left", "x": 15.25, "y": 5.5 },
|
||||
{ "label": "Down", "x": 16.25, "y": 5.5 },
|
||||
{ "label": "Right", "x": 17.25, "y": 5.5 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_iso_wkl": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "F1", "x": 2, "y": 0 },
|
||||
{ "label": "F2", "x": 3, "y": 0 },
|
||||
{ "label": "F3", "x": 4, "y": 0 },
|
||||
{ "label": "F4", "x": 5, "y": 0 },
|
||||
{ "label": "F5", "x": 6.5, "y": 0 },
|
||||
{ "label": "F6", "x": 7.5, "y": 0 },
|
||||
{ "label": "F7", "x": 8.5, "y": 0 },
|
||||
{ "label": "F8", "x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "x": 11, "y": 0 },
|
||||
{ "label": "F10", "x": 12, "y": 0 },
|
||||
{ "label": "F11", "x": 13, "y": 0 },
|
||||
{ "label": "F12", "x": 14, "y": 0 },
|
||||
{ "label": "PrtSc", "x": 15.25, "y": 0 },
|
||||
{ "label": "Scroll Lock", "x": 16.25, "y": 0 },
|
||||
{ "label": "Pause", "x": 17.25, "y": 0 },
|
||||
{ "label": "\u00ac", "x": 0, "y": 1.5 },
|
||||
{ "label": "!", "x": 1, "y": 1.5 },
|
||||
{ "label": "\"", "x": 2, "y": 1.5 },
|
||||
{ "label": "\u00a3", "x": 3, "y": 1.5 },
|
||||
{ "label": "$", "x": 4, "y": 1.5 },
|
||||
{ "label": "%", "x": 5, "y": 1.5 },
|
||||
{ "label": "^", "x": 6, "y": 1.5 },
|
||||
{ "label": "&", "x": 7, "y": 1.5 },
|
||||
{ "label": "*", "x": 8, "y": 1.5 },
|
||||
{ "label": "(", "x": 9, "y": 1.5 },
|
||||
{ "label": ")", "x": 10, "y": 1.5 },
|
||||
{ "label": "_", "x": 11, "y": 1.5 },
|
||||
{ "label": "+", "x": 12, "y": 1.5 },
|
||||
{ "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
|
||||
{ "label": "Insert", "x": 15.25, "y": 1.5 },
|
||||
{ "label": "Home", "x": 16.25, "y": 1.5 },
|
||||
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
|
||||
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 2.5 },
|
||||
{ "label": "W", "x": 2.5, "y": 2.5 },
|
||||
{ "label": "E", "x": 3.5, "y": 2.5 },
|
||||
{ "label": "R", "x": 4.5, "y": 2.5 },
|
||||
{ "label": "T", "x": 5.5, "y": 2.5 },
|
||||
{ "label": "Y", "x": 6.5, "y": 2.5 },
|
||||
{ "label": "U", "x": 7.5, "y": 2.5 },
|
||||
{ "label": "I", "x": 8.5, "y": 2.5 },
|
||||
{ "label": "O", "x": 9.5, "y": 2.5 },
|
||||
{ "label": "P", "x": 10.5, "y": 2.5 },
|
||||
{ "label": "{", "x": 11.5, "y": 2.5 },
|
||||
{ "label": "}", "x": 12.5, "y": 2.5 },
|
||||
{ "label": "Delete", "x": 15.25, "y": 2.5 },
|
||||
{ "label": "End", "x": 16.25, "y": 2.5 },
|
||||
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 3.5 },
|
||||
{ "label": "S", "x": 2.75, "y": 3.5 },
|
||||
{ "label": "D", "x": 3.75, "y": 3.5 },
|
||||
{ "label": "F", "x": 4.75, "y": 3.5 },
|
||||
{ "label": "G", "x": 5.75, "y": 3.5 },
|
||||
{ "label": "H", "x": 6.75, "y": 3.5 },
|
||||
{ "label": "J", "x": 7.75, "y": 3.5 },
|
||||
{ "label": "K", "x": 8.75, "y": 3.5 },
|
||||
{ "label": "L", "x": 9.75, "y": 3.5 },
|
||||
{ "label": ":", "x": 10.75, "y": 3.5 },
|
||||
{ "label": "@", "x": 11.75, "y": 3.5 },
|
||||
{ "label": "~", "x": 12.75, "y": 3.5 },
|
||||
{ "label": "Enter", "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 },
|
||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
|
||||
{ "label": "|", "x": 1.25, "y": 4.5 },
|
||||
{ "label": "Z", "x": 2.25, "y": 4.5 },
|
||||
{ "label": "X", "x": 3.25, "y": 4.5 },
|
||||
{ "label": "C", "x": 4.25, "y": 4.5 },
|
||||
{ "label": "V", "x": 5.25, "y": 4.5 },
|
||||
{ "label": "B", "x": 6.25, "y": 4.5 },
|
||||
{ "label": "N", "x": 7.25, "y": 4.5 },
|
||||
{ "label": "M", "x": 8.25, "y": 4.5 },
|
||||
{ "label": "<", "x": 9.25, "y": 4.5 },
|
||||
{ "label": ">", "x": 10.25, "y": 4.5 },
|
||||
{ "label": "?", "x": 11.25, "y": 4.5 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
|
||||
{ "label": "Up", "x": 16.25, "y": 4.5 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Space", "x": 4, "y": 5.5, "w": 7 },
|
||||
{ "label": "AltGr", "x": 11, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Left", "x": 15.25, "y": 5.5 },
|
||||
{ "label": "Down", "x": 16.25, "y": 5.5 },
|
||||
{ "label": "Right", "x": 17.25, "y": 5.5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
19
keyboards/masterworks/classy_tkl/keymaps/default/config.h
Normal file
19
keyboards/masterworks/classy_tkl/keymaps/default/config.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/* Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
*
|
||||
* 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
|
||||
|
||||
// place overrides here
|
||||
29
keyboards/masterworks/classy_tkl/keymaps/default/keymap.c
Normal file
29
keyboards/masterworks/classy_tkl/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
|
||||
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
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, 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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, KC_UP,
|
||||
KC_LCTL, KC_NO, KC_LALT, KC_SPC, KC_RALT, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
|
||||
};
|
||||
// clang-format on
|
||||
@@ -0,0 +1 @@
|
||||
# The default winkeyless ANSI keymap for the Classy TKL
|
||||
@@ -0,0 +1,19 @@
|
||||
/* Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
*
|
||||
* 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
|
||||
|
||||
// place overrides here
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
|
||||
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
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_tkl_ansi_wkl(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
|
||||
};
|
||||
// clang-format on
|
||||
@@ -0,0 +1 @@
|
||||
# The default winkeyless ANSI keymap for the Classy TKL
|
||||
@@ -0,0 +1,19 @@
|
||||
/* Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
*
|
||||
* 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
|
||||
|
||||
// place overrides here
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
|
||||
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
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_tkl_iso_wkl(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_BSLS, 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_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
|
||||
};
|
||||
// clang-format on
|
||||
@@ -0,0 +1 @@
|
||||
# The default winkeyless ISO keymap for the Classy TKL
|
||||
50
keyboards/masterworks/classy_tkl/keymaps/via/keymap.c
Normal file
50
keyboards/masterworks/classy_tkl/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
|
||||
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
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, 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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, KC_UP,
|
||||
KC_LCTL, KC_NO, KC_LALT, KC_SPC, KC_RALT, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
[1] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[3] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
||||
// clang-format on
|
||||
1
keyboards/masterworks/classy_tkl/keymaps/via/rules.mk
Normal file
1
keyboards/masterworks/classy_tkl/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
15
keyboards/masterworks/classy_tkl/readme.md
Normal file
15
keyboards/masterworks/classy_tkl/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Classy TKL
|
||||
|
||||

|
||||
|
||||
A short description of the keyboard/project
|
||||
|
||||
* Keyboard Maintainer: [Mathias Andersson](https://github.com/wraul)
|
||||
* Hardware Supported: [Classy TKL PCB](https://github.com/4pplet/classyTKL)
|
||||
* Hardware Availability: https://geekhack.org/index.php?topic=105933
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make masterworks/classy_tkl:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
58
keyboards/masterworks/classy_tkl/rev_a/config.h
Normal file
58
keyboards/masterworks/classy_tkl/rev_a/config.h
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x4D57 // "MW" = Masterworks
|
||||
#define PRODUCT_ID 0x0001
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Masterworks
|
||||
#define PRODUCT Classy TKL
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 17
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ C7, F0, F1, F4, F5, F6 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ B4, D7, D6, D4, C6, D5, D3, D2, D1, D0, B7, B3, B2, B1, B0, E6, F7 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
42
keyboards/masterworks/classy_tkl/rev_a/rev_a.c
Normal file
42
keyboards/masterworks/classy_tkl/rev_a/rev_a.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
*
|
||||
* 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 "rev_a.h"
|
||||
|
||||
#define CAPS_PIN B5
|
||||
#define SCROLL_PIN B6
|
||||
|
||||
// Optional override functions below.
|
||||
// You can leave any or all of these undefined.
|
||||
// These are only required if you want to perform custom actions.
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
|
||||
setPinOutput(CAPS_PIN);
|
||||
setPinOutput(SCROLL_PIN);
|
||||
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
bool led_update_kb(led_t led_state) {
|
||||
bool res = led_update_user(led_state);
|
||||
if(res) {
|
||||
writePin(CAPS_PIN, led_state.caps_lock);
|
||||
writePin(SCROLL_PIN, led_state.scroll_lock);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
79
keyboards/masterworks/classy_tkl/rev_a/rev_a.h
Normal file
79
keyboards/masterworks/classy_tkl/rev_a/rev_a.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/* Copyright 2020 Mathias Andersson <wraul@dbox.se>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
// clang-format off
|
||||
#define LAYOUT_all( \
|
||||
k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k3D, k1E, k1F, k1G, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4F, \
|
||||
k50, k52, k53, k57, k5B, k5C, k5D, k5E, k5F, k5G \
|
||||
) \
|
||||
{ \
|
||||
{ k00, KC_NO, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, KC_NO, KC_NO, KC_NO }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, KC_NO, k4F, KC_NO }, \
|
||||
{ k50, KC_NO, k52, k53, KC_NO, KC_NO, KC_NO, k57, KC_NO, KC_NO, KC_NO, k5B, k5C, k5D, k5E, k5F, k5G }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_tkl_ansi_wkl( \
|
||||
k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k3D, k1E, k1F, k1G, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \
|
||||
k40, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4F, \
|
||||
k50, k53, k57, k5B, k5D, k5E, k5F, k5G \
|
||||
) \
|
||||
{ \
|
||||
{ k00, KC_NO, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, KC_NO, k1E, k1F, k1G }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, KC_NO, KC_NO, KC_NO }, \
|
||||
{ k40, KC_NO, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, KC_NO, KC_NO, k4F, KC_NO }, \
|
||||
{ k50, KC_NO, KC_NO, k53, KC_NO, KC_NO, KC_NO, k57, KC_NO, KC_NO, KC_NO, k5B, KC_NO, k5D, k5E, k5F, k5G }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_tkl_iso_wkl( \
|
||||
k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k3D, k1E, k1F, k1G, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, k2F, k2G, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k2D, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4F, \
|
||||
k50, k53, k57, k5B, k5D, k5E, k5F, k5G \
|
||||
) \
|
||||
{ \
|
||||
{ k00, KC_NO, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, KC_NO, k1E, k1F, k1G }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, KC_NO, KC_NO, KC_NO }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, KC_NO, KC_NO, k4F, KC_NO }, \
|
||||
{ k50, KC_NO, KC_NO, k53, KC_NO, KC_NO, KC_NO, k57, KC_NO, KC_NO, KC_NO, k5B, KC_NO, k5D, k5E, k5F, k5G }, \
|
||||
}
|
||||
// clang-format on
|
||||
26
keyboards/masterworks/classy_tkl/rev_a/rules.mk
Normal file
26
keyboards/masterworks/classy_tkl/rev_a/rules.mk
Normal file
@@ -0,0 +1,26 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
# Supported layouts
|
||||
LAYOUTS = tkl_ansi_wkl tkl_iso_wkl
|
||||
@@ -1,38 +1,15 @@
|
||||
## chip/board settings
|
||||
# - the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# MCU name
|
||||
MCU = STM32F411
|
||||
|
||||
# Linker script to use
|
||||
# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = m20add_boot
|
||||
|
||||
# Startup code to use
|
||||
# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
|
||||
# Board: it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = m20add_bd
|
||||
|
||||
# Cortex version
|
||||
MCU = cortex-m4
|
||||
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
|
||||
USE_FPU = yes
|
||||
|
||||
# Vector table for application
|
||||
# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
|
||||
OPT_DEFS =
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
#DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
#DFU_SUFFIX_ARGS = -p DF11 -v 0483
|
||||
|
||||
# Build Options
|
||||
# comment out to disable the options.
|
||||
#
|
||||
|
||||
@@ -1426,6 +1426,9 @@
|
||||
"y": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker": {
|
||||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
59
keyboards/matrix/noah/keymaps/rys/keymap.c
Normal file
59
keyboards/matrix/noah/keymaps/rys/keymap.c
Normal file
@@ -0,0 +1,59 @@
|
||||
/* Copyright 2020 Rys Sommefeldt
|
||||
*
|
||||
* 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 i s 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_65_iso_blocker(
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
|
||||
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ ` │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │Del│
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │PUp│
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
|
||||
* │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │PDn│
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
|
||||
* │LCtl│LGUI│LAlt│ Spaaaaaaace │RAlt│ L1 │ │ ← │ ↓ │ → │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
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_GRV,
|
||||
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_PGUP,
|
||||
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_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_65_iso_blocker(
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
|
||||
* │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
|
||||
* │ TOG │PLN│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
RGB_TOG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
@@ -48,6 +48,20 @@
|
||||
{k40, k41, k42,KC_NO,k43,KC_NO,KC_NO, k45, k46, k47, k48, k1e, k2e, k3e, k0f} \
|
||||
}
|
||||
|
||||
#define LAYOUT_65_iso_blocker( \
|
||||
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, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48 \
|
||||
) { \
|
||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c,KC_NO, k0e}, \
|
||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,KC_NO, KC_NO}, \
|
||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO}, \
|
||||
{k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, KC_NO}, \
|
||||
{k40, k41, k42,KC_NO,k43,KC_NO,k44, k45, k46, k47, k48, k1e, k2e, k3e, k0f} \
|
||||
}
|
||||
|
||||
#define LAYOUT_default_splitspace( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
|
||||
|
||||
@@ -1,38 +1,15 @@
|
||||
## chip/board settings
|
||||
# - the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# MCU name
|
||||
MCU = STM32F411
|
||||
|
||||
# Linker script to use
|
||||
# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = noah_boot
|
||||
|
||||
# Startup code to use
|
||||
# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
|
||||
# Board: it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = noah_bd
|
||||
|
||||
# Cortex version
|
||||
MCU = cortex-m4
|
||||
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
|
||||
USE_FPU = yes
|
||||
|
||||
# Vector table for application
|
||||
# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
|
||||
OPT_DEFS =
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
#DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
#DFU_SUFFIX_ARGS = -p DF11 -v 0483
|
||||
|
||||
# Build Options
|
||||
# comment out to disable the options.
|
||||
#
|
||||
@@ -52,3 +29,5 @@ RGBLIGHT_CUSTOM_DRIVER = yes
|
||||
CUSTOM_MATRIX = yes
|
||||
# project specific files
|
||||
SRC += ws2812.c matrix.c
|
||||
|
||||
LAYOUTS = 65_iso_blocker
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
# MCU name
|
||||
MCU = STM32F401
|
||||
|
||||
# Address of the bootloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
@@ -17,32 +23,4 @@ SPLIT_KEYBOARD = yes
|
||||
SERIAL_DRIVER = usart
|
||||
KEYBOARD_SHARED_EP = yes
|
||||
|
||||
## chip/board settings
|
||||
# the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# linker script to use
|
||||
# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = STM32F401xC
|
||||
# startup code to use
|
||||
# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
# it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = BLACKPILL_STM32_F401
|
||||
# Cortex version
|
||||
# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
|
||||
MCU = cortex-m4
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
USE_FPU = yes
|
||||
# Address of the booloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
DFU_SUFFIX_ARGS = -v 0483 -p df11
|
||||
|
||||
OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
|
||||
|
||||
714
keyboards/primekb/meridian/chconf.h
Normal file
714
keyboards/primekb/meridian/chconf.h
Normal file
@@ -0,0 +1,714 @@
|
||||
/*
|
||||
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file rt/templates/chconf.h
|
||||
* @brief Configuration file template.
|
||||
* @details A copy of this file must be placed in each project directory, it
|
||||
* contains the application specific kernel settings.
|
||||
*
|
||||
* @addtogroup config
|
||||
* @details Kernel related settings and hooks.
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef CHCONF_H
|
||||
#define CHCONF_H
|
||||
|
||||
#define _CHIBIOS_RT_CONF_
|
||||
#define _CHIBIOS_RT_CONF_VER_6_0_
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name System timers settings
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief System time counter resolution.
|
||||
* @note Allowed values are 16 or 32 bits.
|
||||
*/
|
||||
#if !defined(CH_CFG_ST_RESOLUTION)
|
||||
#define CH_CFG_ST_RESOLUTION 32
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief System tick frequency.
|
||||
* @details Frequency of the system timer that drives the system ticks. This
|
||||
* setting also defines the system tick time unit.
|
||||
*/
|
||||
#if !defined(CH_CFG_ST_FREQUENCY)
|
||||
#define CH_CFG_ST_FREQUENCY 10000
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Time intervals data size.
|
||||
* @note Allowed values are 16, 32 or 64 bits.
|
||||
*/
|
||||
#if !defined(CH_CFG_INTERVALS_SIZE)
|
||||
#define CH_CFG_INTERVALS_SIZE 32
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Time types data size.
|
||||
* @note Allowed values are 16 or 32 bits.
|
||||
*/
|
||||
#if !defined(CH_CFG_TIME_TYPES_SIZE)
|
||||
#define CH_CFG_TIME_TYPES_SIZE 32
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Time delta constant for the tick-less mode.
|
||||
* @note If this value is zero then the system uses the classic
|
||||
* periodic tick. This value represents the minimum number
|
||||
* of ticks that is safe to specify in a timeout directive.
|
||||
* The value one is not valid, timeouts are rounded up to
|
||||
* this value.
|
||||
*/
|
||||
#if !defined(CH_CFG_ST_TIMEDELTA)
|
||||
#define CH_CFG_ST_TIMEDELTA 2
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Kernel parameters and options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Round robin interval.
|
||||
* @details This constant is the number of system ticks allowed for the
|
||||
* threads before preemption occurs. Setting this value to zero
|
||||
* disables the preemption for threads with equal priority and the
|
||||
* round robin becomes cooperative. Note that higher priority
|
||||
* threads can still preempt, the kernel is always preemptive.
|
||||
* @note Disabling the round robin preemption makes the kernel more compact
|
||||
* and generally faster.
|
||||
* @note The round robin preemption is not supported in tickless mode and
|
||||
* must be set to zero in that case.
|
||||
*/
|
||||
#if !defined(CH_CFG_TIME_QUANTUM)
|
||||
#define CH_CFG_TIME_QUANTUM 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Managed RAM size.
|
||||
* @details Size of the RAM area to be managed by the OS. If set to zero
|
||||
* then the whole available RAM is used. The core memory is made
|
||||
* available to the heap allocator and/or can be used directly through
|
||||
* the simplified core memory allocator.
|
||||
*
|
||||
* @note In order to let the OS manage the whole RAM the linker script must
|
||||
* provide the @p __heap_base__ and @p __heap_end__ symbols.
|
||||
* @note Requires @p CH_CFG_USE_MEMCORE.
|
||||
*/
|
||||
#if !defined(CH_CFG_MEMCORE_SIZE)
|
||||
#define CH_CFG_MEMCORE_SIZE 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Idle thread automatic spawn suppression.
|
||||
* @details When this option is activated the function @p chSysInit()
|
||||
* does not spawn the idle thread. The application @p main()
|
||||
* function becomes the idle thread and must implement an
|
||||
* infinite loop.
|
||||
*/
|
||||
#if !defined(CH_CFG_NO_IDLE_THREAD)
|
||||
#define CH_CFG_NO_IDLE_THREAD FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Performance options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief OS optimization.
|
||||
* @details If enabled then time efficient rather than space efficient code
|
||||
* is used when two possible implementations exist.
|
||||
*
|
||||
* @note This is not related to the compiler optimization options.
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_OPTIMIZE_SPEED)
|
||||
#define CH_CFG_OPTIMIZE_SPEED FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Subsystem options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Time Measurement APIs.
|
||||
* @details If enabled then the time measurement APIs are included in
|
||||
* the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_TM)
|
||||
#define CH_CFG_USE_TM FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Threads registry APIs.
|
||||
* @details If enabled then the registry APIs are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_REGISTRY)
|
||||
#define CH_CFG_USE_REGISTRY TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Threads synchronization APIs.
|
||||
* @details If enabled then the @p chThdWait() function is included in
|
||||
* the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_WAITEXIT)
|
||||
#define CH_CFG_USE_WAITEXIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Semaphores APIs.
|
||||
* @details If enabled then the Semaphores APIs are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_SEMAPHORES)
|
||||
#define CH_CFG_USE_SEMAPHORES TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Semaphores queuing mode.
|
||||
* @details If enabled then the threads are enqueued on semaphores by
|
||||
* priority rather than in FIFO order.
|
||||
*
|
||||
* @note The default is @p FALSE. Enable this if you have special
|
||||
* requirements.
|
||||
* @note Requires @p CH_CFG_USE_SEMAPHORES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
|
||||
#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Mutexes APIs.
|
||||
* @details If enabled then the mutexes APIs are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MUTEXES)
|
||||
#define CH_CFG_USE_MUTEXES TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables recursive behavior on mutexes.
|
||||
* @note Recursive mutexes are heavier and have an increased
|
||||
* memory footprint.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
* @note Requires @p CH_CFG_USE_MUTEXES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
|
||||
#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Conditional Variables APIs.
|
||||
* @details If enabled then the conditional variables APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_MUTEXES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_CONDVARS)
|
||||
#define CH_CFG_USE_CONDVARS TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Conditional Variables APIs with timeout.
|
||||
* @details If enabled then the conditional variables APIs with timeout
|
||||
* specification are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_CONDVARS.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
|
||||
#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Events Flags APIs.
|
||||
* @details If enabled then the event flags APIs are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_EVENTS)
|
||||
#define CH_CFG_USE_EVENTS TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Events Flags APIs with timeout.
|
||||
* @details If enabled then the events APIs with timeout specification
|
||||
* are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_EVENTS.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
|
||||
#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Synchronous Messages APIs.
|
||||
* @details If enabled then the synchronous messages APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MESSAGES)
|
||||
#define CH_CFG_USE_MESSAGES TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Synchronous Messages queuing mode.
|
||||
* @details If enabled then messages are served by priority rather than in
|
||||
* FIFO order.
|
||||
*
|
||||
* @note The default is @p FALSE. Enable this if you have special
|
||||
* requirements.
|
||||
* @note Requires @p CH_CFG_USE_MESSAGES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
|
||||
#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Mailboxes APIs.
|
||||
* @details If enabled then the asynchronous messages (mailboxes) APIs are
|
||||
* included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_SEMAPHORES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MAILBOXES)
|
||||
#define CH_CFG_USE_MAILBOXES TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Core Memory Manager APIs.
|
||||
* @details If enabled then the core memory manager APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MEMCORE)
|
||||
#define CH_CFG_USE_MEMCORE TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Heap Allocator APIs.
|
||||
* @details If enabled then the memory heap allocator APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
|
||||
* @p CH_CFG_USE_SEMAPHORES.
|
||||
* @note Mutexes are recommended.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_HEAP)
|
||||
#define CH_CFG_USE_HEAP FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Memory Pools Allocator APIs.
|
||||
* @details If enabled then the memory pools allocator APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MEMPOOLS)
|
||||
#define CH_CFG_USE_MEMPOOLS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Objects FIFOs APIs.
|
||||
* @details If enabled then the objects FIFOs APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_OBJ_FIFOS)
|
||||
#define CH_CFG_USE_OBJ_FIFOS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Pipes APIs.
|
||||
* @details If enabled then the pipes APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_PIPES)
|
||||
#define CH_CFG_USE_PIPES FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Dynamic Threads APIs.
|
||||
* @details If enabled then the dynamic threads creation APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_WAITEXIT.
|
||||
* @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_DYNAMIC)
|
||||
#define CH_CFG_USE_DYNAMIC FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Objects factory options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Objects Factory APIs.
|
||||
* @details If enabled then the objects factory APIs are included in the
|
||||
* kernel.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_FACTORY)
|
||||
#define CH_CFG_USE_FACTORY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Maximum length for object names.
|
||||
* @details If the specified length is zero then the name is stored by
|
||||
* pointer but this could have unintended side effects.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
|
||||
#define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the registry of generic objects.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
|
||||
#define CH_CFG_FACTORY_OBJECTS_REGISTRY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for generic buffers.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
|
||||
#define CH_CFG_FACTORY_GENERIC_BUFFERS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for semaphores.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_SEMAPHORES)
|
||||
#define CH_CFG_FACTORY_SEMAPHORES FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for mailboxes.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_MAILBOXES)
|
||||
#define CH_CFG_FACTORY_MAILBOXES FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for objects FIFOs.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
|
||||
#define CH_CFG_FACTORY_OBJ_FIFOS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for Pipes.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
|
||||
#define CH_CFG_FACTORY_PIPES FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Debug options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Debug option, kernel statistics.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_STATISTICS)
|
||||
#define CH_DBG_STATISTICS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, system state check.
|
||||
* @details If enabled the correct call protocol for system APIs is checked
|
||||
* at runtime.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_SYSTEM_STATE_CHECK)
|
||||
#define CH_DBG_SYSTEM_STATE_CHECK FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, parameters checks.
|
||||
* @details If enabled then the checks on the API functions input
|
||||
* parameters are activated.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_ENABLE_CHECKS)
|
||||
#define CH_DBG_ENABLE_CHECKS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, consistency checks.
|
||||
* @details If enabled then all the assertions in the kernel code are
|
||||
* activated. This includes consistency checks inside the kernel,
|
||||
* runtime anomalies and port-defined checks.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_ENABLE_ASSERTS)
|
||||
#define CH_DBG_ENABLE_ASSERTS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, trace buffer.
|
||||
* @details If enabled then the trace buffer is activated.
|
||||
*
|
||||
* @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
|
||||
*/
|
||||
#if !defined(CH_DBG_TRACE_MASK)
|
||||
#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Trace buffer entries.
|
||||
* @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
|
||||
* different from @p CH_DBG_TRACE_MASK_DISABLED.
|
||||
*/
|
||||
#if !defined(CH_DBG_TRACE_BUFFER_SIZE)
|
||||
#define CH_DBG_TRACE_BUFFER_SIZE 128
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, stack checks.
|
||||
* @details If enabled then a runtime stack check is performed.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
* @note The stack check is performed in a architecture/port dependent way.
|
||||
* It may not be implemented or some ports.
|
||||
* @note The default failure mode is to halt the system with the global
|
||||
* @p panic_msg variable set to @p NULL.
|
||||
*/
|
||||
#if !defined(CH_DBG_ENABLE_STACK_CHECK)
|
||||
#define CH_DBG_ENABLE_STACK_CHECK FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, stacks initialization.
|
||||
* @details If enabled then the threads working area is filled with a byte
|
||||
* value when a thread is created. This can be useful for the
|
||||
* runtime measurement of the used stack.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_FILL_THREADS)
|
||||
#define CH_DBG_FILL_THREADS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, threads profiling.
|
||||
* @details If enabled then a field is added to the @p thread_t structure that
|
||||
* counts the system ticks occurred while executing the thread.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
* @note This debug option is not currently compatible with the
|
||||
* tickless mode.
|
||||
*/
|
||||
#if !defined(CH_DBG_THREADS_PROFILING)
|
||||
#define CH_DBG_THREADS_PROFILING FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Kernel hooks
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief System structure extension.
|
||||
* @details User fields added to the end of the @p ch_system_t structure.
|
||||
*/
|
||||
#define CH_CFG_SYSTEM_EXTRA_FIELDS \
|
||||
/* Add threads custom fields here.*/
|
||||
|
||||
/**
|
||||
* @brief System initialization hook.
|
||||
* @details User initialization code added to the @p chSysInit() function
|
||||
* just before interrupts are enabled globally.
|
||||
*/
|
||||
#define CH_CFG_SYSTEM_INIT_HOOK() { \
|
||||
/* Add threads initialization code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Threads descriptor structure extension.
|
||||
* @details User fields added to the end of the @p thread_t structure.
|
||||
*/
|
||||
#define CH_CFG_THREAD_EXTRA_FIELDS \
|
||||
/* Add threads custom fields here.*/
|
||||
|
||||
/**
|
||||
* @brief Threads initialization hook.
|
||||
* @details User initialization code added to the @p _thread_init() function.
|
||||
*
|
||||
* @note It is invoked from within @p _thread_init() and implicitly from all
|
||||
* the threads creation APIs.
|
||||
*/
|
||||
#define CH_CFG_THREAD_INIT_HOOK(tp) { \
|
||||
/* Add threads initialization code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Threads finalization hook.
|
||||
* @details User finalization code added to the @p chThdExit() API.
|
||||
*/
|
||||
#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
|
||||
/* Add threads finalization code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Context switch hook.
|
||||
* @details This hook is invoked just before switching between threads.
|
||||
*/
|
||||
#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
|
||||
/* Context switch code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ISR enter hook.
|
||||
*/
|
||||
#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
|
||||
/* IRQ prologue code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ISR exit hook.
|
||||
*/
|
||||
#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
|
||||
/* IRQ epilogue code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle thread enter hook.
|
||||
* @note This hook is invoked within a critical zone, no OS functions
|
||||
* should be invoked from here.
|
||||
* @note This macro can be used to activate a power saving mode.
|
||||
*/
|
||||
#define CH_CFG_IDLE_ENTER_HOOK() { \
|
||||
/* Idle-enter code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle thread leave hook.
|
||||
* @note This hook is invoked within a critical zone, no OS functions
|
||||
* should be invoked from here.
|
||||
* @note This macro can be used to deactivate a power saving mode.
|
||||
*/
|
||||
#define CH_CFG_IDLE_LEAVE_HOOK() { \
|
||||
/* Idle-leave code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle Loop hook.
|
||||
* @details This hook is continuously invoked by the idle thread loop.
|
||||
*/
|
||||
#define CH_CFG_IDLE_LOOP_HOOK() { \
|
||||
/* Idle loop code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief System tick event hook.
|
||||
* @details This hook is invoked in the system tick handler immediately
|
||||
* after processing the virtual timers queue.
|
||||
*/
|
||||
#define CH_CFG_SYSTEM_TICK_HOOK() { \
|
||||
/* System tick event code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief System halt hook.
|
||||
* @details This hook is invoked in case to a system halting error before
|
||||
* the system is halted.
|
||||
*/
|
||||
#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
|
||||
/* System halt code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Trace hook.
|
||||
* @details This hook is invoked each time a new record is written in the
|
||||
* trace buffer.
|
||||
*/
|
||||
#define CH_CFG_TRACE_HOOK(tep) { \
|
||||
/* Trace code here.*/ \
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Port-specific settings (override port settings defaulted in chcore.h). */
|
||||
/*===========================================================================*/
|
||||
|
||||
#endif /* CHCONF_H */
|
||||
|
||||
/** @} */
|
||||
46
keyboards/primekb/meridian/config.h
Normal file
46
keyboards/primekb/meridian/config.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Copyright 2020 Holten Campbell
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x5052
|
||||
#define PRODUCT_ID 0x004D
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Prime Keyboards
|
||||
#define PRODUCT Meridian
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 14
|
||||
|
||||
#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, B9, B8, B7, B6, B5, B4, B3, A15 }
|
||||
#define MATRIX_ROW_PINS { A6, A5, A4, A3, A2 }
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define RGB_DI_PIN B15
|
||||
#define RGBLED_NUM 3
|
||||
#define WS2812_SPI SPID2
|
||||
#define WS2812_SPI_MOSI_PAL_MODE 0
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
525
keyboards/primekb/meridian/halconf.h
Normal file
525
keyboards/primekb/meridian/halconf.h
Normal file
@@ -0,0 +1,525 @@
|
||||
/*
|
||||
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file templates/halconf.h
|
||||
* @brief HAL configuration header.
|
||||
* @details HAL configuration file, this file allows to enable or disable the
|
||||
* various device drivers from your application. You may also use
|
||||
* this file in order to override the device drivers default settings.
|
||||
*
|
||||
* @addtogroup HAL_CONF
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef HALCONF_H
|
||||
#define HALCONF_H
|
||||
|
||||
#define _CHIBIOS_HAL_CONF_
|
||||
#define _CHIBIOS_HAL_CONF_VER_7_0_
|
||||
|
||||
#include "mcuconf.h"
|
||||
|
||||
/**
|
||||
* @brief Enables the PAL subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_PAL TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the ADC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_ADC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the CAN subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_CAN FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the cryptographic subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_CRY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the DAC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_DAC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the GPT subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_GPT FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the I2C subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_I2C TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the I2S subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_I2S FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the ICU subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_ICU FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the MAC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_MAC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the MMC_SPI subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_MMC_SPI FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the PWM subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_PWM TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the RTC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_RTC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SDC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SDC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SERIAL subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SERIAL FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SERIAL over USB subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SERIAL_USB FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SIO subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SIO FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SPI subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SPI TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the TRNG subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_TRNG FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the UART subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_UART FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the USB subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_USB TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the WDG subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_WDG FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the WSPI subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_WSPI FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* PAL driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
|
||||
#define PAL_USE_CALLBACKS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define PAL_USE_WAIT FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* ADC driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define ADC_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define ADC_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* CAN driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Sleep mode related APIs inclusion switch.
|
||||
*/
|
||||
#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
|
||||
#define CAN_USE_SLEEP_MODE TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enforces the driver to use direct callbacks rather than OSAL events.
|
||||
*/
|
||||
#if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
|
||||
#define CAN_ENFORCE_USE_CALLBACKS FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* CRY driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables the SW fall-back of the cryptographic driver.
|
||||
* @details When enabled, this option, activates a fall-back software
|
||||
* implementation for algorithms not supported by the underlying
|
||||
* hardware.
|
||||
* @note Fall-back implementations may not be present for all algorithms.
|
||||
*/
|
||||
#if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
|
||||
#define HAL_CRY_USE_FALLBACK FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Makes the driver forcibly use the fall-back implementations.
|
||||
*/
|
||||
#if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
|
||||
#define HAL_CRY_ENFORCE_FALLBACK FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* DAC driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define DAC_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define DAC_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* I2C driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables the mutual exclusion APIs on the I2C bus.
|
||||
*/
|
||||
#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define I2C_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* MAC driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables the zero-copy API.
|
||||
*/
|
||||
#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
|
||||
#define MAC_USE_ZERO_COPY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables an event sources for incoming packets.
|
||||
*/
|
||||
#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
|
||||
#define MAC_USE_EVENTS TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* MMC_SPI driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Delays insertions.
|
||||
* @details If enabled this options inserts delays into the MMC waiting
|
||||
* routines releasing some extra CPU time for the threads with
|
||||
* lower priority, this may slow down the driver a bit however.
|
||||
* This option is recommended also if the SPI driver does not
|
||||
* use a DMA channel and heavily loads the CPU.
|
||||
*/
|
||||
#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
|
||||
#define MMC_NICE_WAITING TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* SDC driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Number of initialization attempts before rejecting the card.
|
||||
* @note Attempts are performed at 10mS intervals.
|
||||
*/
|
||||
#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
|
||||
#define SDC_INIT_RETRY 100
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Include support for MMC cards.
|
||||
* @note MMC support is not yet implemented so this option must be kept
|
||||
* at @p FALSE.
|
||||
*/
|
||||
#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
|
||||
#define SDC_MMC_SUPPORT FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Delays insertions.
|
||||
* @details If enabled this options inserts delays into the MMC waiting
|
||||
* routines releasing some extra CPU time for the threads with
|
||||
* lower priority, this may slow down the driver a bit however.
|
||||
*/
|
||||
#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
|
||||
#define SDC_NICE_WAITING TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief OCR initialization constant for V20 cards.
|
||||
*/
|
||||
#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
|
||||
#define SDC_INIT_OCR_V20 0x50FF8000U
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief OCR initialization constant for non-V20 cards.
|
||||
*/
|
||||
#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
|
||||
#define SDC_INIT_OCR 0x80100000U
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* SERIAL driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Default bit rate.
|
||||
* @details Configuration parameter, this is the baud rate selected for the
|
||||
* default configuration.
|
||||
*/
|
||||
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
|
||||
#define SERIAL_DEFAULT_BITRATE 38400
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Serial buffers size.
|
||||
* @details Configuration parameter, you can change the depth of the queue
|
||||
* buffers depending on the requirements of your application.
|
||||
* @note The default is 16 bytes for both the transmission and receive
|
||||
* buffers.
|
||||
*/
|
||||
#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
||||
#define SERIAL_BUFFERS_SIZE 16
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* SERIAL_USB driver related setting. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Serial over USB buffers size.
|
||||
* @details Configuration parameter, the buffer size must be a multiple of
|
||||
* the USB data endpoint maximum packet size.
|
||||
* @note The default is 256 bytes for both the transmission and receive
|
||||
* buffers.
|
||||
*/
|
||||
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
||||
#define SERIAL_USB_BUFFERS_SIZE 1
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Serial over USB number of buffers.
|
||||
* @note The default is 2 buffers.
|
||||
*/
|
||||
#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
|
||||
#define SERIAL_USB_BUFFERS_NUMBER 2
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* SPI driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define SPI_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables circular transfers APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
|
||||
#define SPI_USE_CIRCULAR FALSE
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define SPI_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Handling method for SPI CS line.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
|
||||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* UART driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define UART_USE_WAIT FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define UART_USE_MUTUAL_EXCLUSION FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* USB driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define USB_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* WSPI driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define WSPI_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define WSPI_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
#endif /* HALCONF_H */
|
||||
|
||||
/** @} */
|
||||
15
keyboards/primekb/meridian/info.json
Normal file
15
keyboards/primekb/meridian/info.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"keyboard_name": "Meridian",
|
||||
"url": "https://www.primekb.com",
|
||||
"maintainer": "holtenc",
|
||||
"width": 16.5,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_unified_bs_rshift": {
|
||||
"layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
|
||||
},
|
||||
"LAYOUT_split_bs_rshift": {
|
||||
"layout":[{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Del", "x":14.5, "y":0}, {"label":"Backspace", "x":15.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":1.75}, {"label":"Fn", "x":15.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
|
||||
}
|
||||
}
|
||||
}
|
||||
35
keyboards/primekb/meridian/keymaps/default/keymap.c
Normal file
35
keyboards/primekb/meridian/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
Copyright 2020 Holten Campbell
|
||||
|
||||
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_split_bs_rshift(
|
||||
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_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_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT_split_bs_rshift(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
|
||||
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______,
|
||||
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
49
keyboards/primekb/meridian/keymaps/via/keymap.c
Normal file
49
keyboards/primekb/meridian/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright 2020 Holten Campbell
|
||||
|
||||
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_split_bs_rshift(
|
||||
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_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_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT_split_bs_rshift(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
|
||||
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______,
|
||||
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT_split_bs_rshift(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT_split_bs_rshift(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
1
keyboards/primekb/meridian/keymaps/via/rules.mk
Normal file
1
keyboards/primekb/meridian/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
176
keyboards/primekb/meridian/mcuconf.h
Normal file
176
keyboards/primekb/meridian/mcuconf.h
Normal file
@@ -0,0 +1,176 @@
|
||||
/*
|
||||
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _MCUCONF_H_
|
||||
#define _MCUCONF_H_
|
||||
|
||||
/*
|
||||
* STM32F0xx drivers configuration.
|
||||
* The following settings override the default settings present in
|
||||
* the various device driver implementation headers.
|
||||
* Note that the settings for each driver only have effect if the whole
|
||||
* driver is enabled in halconf.h.
|
||||
*
|
||||
* IRQ priorities:
|
||||
* 3...0 Lowest...Highest.
|
||||
*
|
||||
* DMA priorities:
|
||||
* 0...3 Lowest...Highest.
|
||||
*/
|
||||
|
||||
#define STM32F0xx_MCUCONF
|
||||
// #define STM32F070xB
|
||||
|
||||
/*
|
||||
* HAL driver system settings.
|
||||
*/
|
||||
#define STM32_NO_INIT FALSE
|
||||
#define STM32_PVD_ENABLE FALSE
|
||||
#define STM32_PLS STM32_PLS_LEV0
|
||||
#define STM32_HSI_ENABLED TRUE
|
||||
#define STM32_HSI14_ENABLED TRUE
|
||||
#define STM32_HSI48_ENABLED FALSE
|
||||
#define STM32_LSI_ENABLED TRUE
|
||||
#define STM32_HSE_ENABLED FALSE
|
||||
#define STM32_LSE_ENABLED FALSE
|
||||
#define STM32_SW STM32_SW_PLL
|
||||
#define STM32_PLLSRC STM32_PLLSRC_HSI_DIV2
|
||||
#define STM32_PREDIV_VALUE 1
|
||||
#define STM32_PLLMUL_VALUE 12
|
||||
#define STM32_HPRE STM32_HPRE_DIV1
|
||||
#define STM32_PPRE STM32_PPRE_DIV1
|
||||
#define STM32_ADCSW STM32_ADCSW_HSI14
|
||||
#define STM32_ADCPRE STM32_ADCPRE_DIV4
|
||||
#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
|
||||
#define STM32_ADCPRE STM32_ADCPRE_DIV4
|
||||
#define STM32_ADCSW STM32_ADCSW_HSI14
|
||||
#define STM32_USBSW STM32_USBSW_HSI48
|
||||
#define STM32_CECSW STM32_CECSW_HSI
|
||||
#define STM32_I2C1SW STM32_I2C1SW_HSI
|
||||
#define STM32_USART1SW STM32_USART1SW_PCLK
|
||||
#define STM32_RTCSEL STM32_RTCSEL_LSI
|
||||
|
||||
/*
|
||||
* ADC driver system settings.
|
||||
*/
|
||||
#define STM32_ADC_USE_ADC1 FALSE
|
||||
#define STM32_ADC_ADC1_DMA_PRIORITY 2
|
||||
#define STM32_ADC_IRQ_PRIORITY 2
|
||||
#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2
|
||||
|
||||
/*
|
||||
* EXT driver system settings.
|
||||
*/
|
||||
#define STM32_EXT_EXTI0_1_IRQ_PRIORITY 3
|
||||
#define STM32_EXT_EXTI2_3_IRQ_PRIORITY 3
|
||||
#define STM32_EXT_EXTI4_15_IRQ_PRIORITY 3
|
||||
#define STM32_EXT_EXTI16_IRQ_PRIORITY 3
|
||||
#define STM32_EXT_EXTI17_IRQ_PRIORITY 3
|
||||
|
||||
/*
|
||||
* GPT driver system settings.
|
||||
*/
|
||||
#define STM32_GPT_USE_TIM1 FALSE
|
||||
#define STM32_GPT_USE_TIM2 FALSE
|
||||
#define STM32_GPT_USE_TIM3 FALSE
|
||||
#define STM32_GPT_USE_TIM14 FALSE
|
||||
#define STM32_GPT_TIM1_IRQ_PRIORITY 2
|
||||
#define STM32_GPT_TIM2_IRQ_PRIORITY 2
|
||||
#define STM32_GPT_TIM3_IRQ_PRIORITY 2
|
||||
#define STM32_GPT_TIM14_IRQ_PRIORITY 2
|
||||
|
||||
/*
|
||||
* I2C driver system settings.
|
||||
*/
|
||||
#define STM32_I2C_USE_I2C1 TRUE
|
||||
#define STM32_I2C_USE_I2C2 FALSE
|
||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
||||
#define STM32_I2C_I2C1_IRQ_PRIORITY 3
|
||||
#define STM32_I2C_I2C2_IRQ_PRIORITY 3
|
||||
#define STM32_I2C_USE_DMA TRUE
|
||||
#define STM32_I2C_I2C1_DMA_PRIORITY 1
|
||||
#define STM32_I2C_I2C2_DMA_PRIORITY 1
|
||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
|
||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||
#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
|
||||
|
||||
/*
|
||||
* ICU driver system settings.
|
||||
*/
|
||||
#define STM32_ICU_USE_TIM1 FALSE
|
||||
#define STM32_ICU_USE_TIM2 FALSE
|
||||
#define STM32_ICU_USE_TIM3 FALSE
|
||||
#define STM32_ICU_TIM1_IRQ_PRIORITY 3
|
||||
#define STM32_ICU_TIM2_IRQ_PRIORITY 3
|
||||
#define STM32_ICU_TIM3_IRQ_PRIORITY 3
|
||||
|
||||
/*
|
||||
* PWM driver system settings.
|
||||
*/
|
||||
#define STM32_PWM_USE_ADVANCED FALSE
|
||||
#define STM32_PWM_USE_TIM1 FALSE
|
||||
#define STM32_PWM_USE_TIM2 FALSE
|
||||
#define STM32_PWM_USE_TIM3 TRUE
|
||||
#define STM32_PWM_TIM1_IRQ_PRIORITY 3
|
||||
#define STM32_PWM_TIM2_IRQ_PRIORITY 3
|
||||
#define STM32_PWM_TIM3_IRQ_PRIORITY 3
|
||||
|
||||
/*
|
||||
* SERIAL driver system settings.
|
||||
*/
|
||||
#define STM32_SERIAL_USE_USART1 FALSE
|
||||
#define STM32_SERIAL_USE_USART2 FALSE
|
||||
#define STM32_SERIAL_USART1_PRIORITY 3
|
||||
#define STM32_SERIAL_USART2_PRIORITY 3
|
||||
|
||||
/*
|
||||
* SPI driver system settings.
|
||||
*/
|
||||
#define STM32_SPI_USE_SPI1 FALSE
|
||||
#define STM32_SPI_USE_SPI2 TRUE
|
||||
#define STM32_SPI_SPI1_DMA_PRIORITY 1
|
||||
#define STM32_SPI_SPI2_DMA_PRIORITY 1
|
||||
#define STM32_SPI_SPI1_IRQ_PRIORITY 2
|
||||
#define STM32_SPI_SPI2_IRQ_PRIORITY 2
|
||||
#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
|
||||
#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
|
||||
#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
|
||||
|
||||
/*
|
||||
* ST driver system settings.
|
||||
*/
|
||||
#define STM32_ST_IRQ_PRIORITY 2
|
||||
#define STM32_ST_USE_TIMER 2
|
||||
|
||||
/*
|
||||
* UART driver system settings.
|
||||
*/
|
||||
#define STM32_UART_USE_USART1 FALSE
|
||||
#define STM32_UART_USE_USART2 FALSE
|
||||
#define STM32_UART_USART1_IRQ_PRIORITY 3
|
||||
#define STM32_UART_USART2_IRQ_PRIORITY 3
|
||||
#define STM32_UART_USART1_DMA_PRIORITY 0
|
||||
#define STM32_UART_USART2_DMA_PRIORITY 0
|
||||
#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
|
||||
|
||||
/*
|
||||
* USB driver system settings.
|
||||
*/
|
||||
#define STM32_USB_USE_USB1 TRUE
|
||||
#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
|
||||
#define STM32_USB_USB1_LP_IRQ_PRIORITY 3
|
||||
|
||||
#endif /* _MCUCONF_H_ */
|
||||
68
keyboards/primekb/meridian/meridian.c
Normal file
68
keyboards/primekb/meridian/meridian.c
Normal file
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
Copyright 2020 Holten Campbell
|
||||
|
||||
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 "meridian.h"
|
||||
|
||||
//Initialize B12 for in-switch caps lock
|
||||
void keyboard_pre_init_kb(void){
|
||||
setPinOutput(B12);
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
|
||||
//Initialize all RGB indicators to 'off'
|
||||
__attribute__((weak))
|
||||
void keyboard_post_init_user(void) {
|
||||
rgblight_setrgb_at(0, 0, 0, 0); // [..., 0] = top LED
|
||||
rgblight_setrgb_at(0, 0, 0, 1); // [..., 1] = middle LED
|
||||
rgblight_setrgb_at(0, 0, 0, 2); // [..., 2] = bottom LED
|
||||
}
|
||||
|
||||
//Indicator light function
|
||||
bool led_update_kb(led_t led_state) {
|
||||
bool res = led_update_user(led_state);
|
||||
if (res) {
|
||||
// writePin(B12, !led_state.caps_lock); //Un-comment this line to enable in-switch capslock indicator
|
||||
if (led_state.caps_lock) {
|
||||
rgblight_setrgb_at(0, 255, 0, 0); //green
|
||||
} else {
|
||||
rgblight_setrgb_at(0, 0, 0, 0);
|
||||
}
|
||||
if (led_state.num_lock) {
|
||||
rgblight_setrgb_at(0, 0, 255, 1); //blue
|
||||
} else {
|
||||
rgblight_setrgb_at(0, 0, 0, 1);
|
||||
}
|
||||
if (led_state.scroll_lock) {
|
||||
rgblight_setrgb_at(255, 0, 0, 2); //red
|
||||
} else {
|
||||
rgblight_setrgb_at(0, 0, 0, 2);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
//Below is an exmaple of layer indication using one of the RGB indicatiors. As configured, uses the bottom indicator (2) to light up red when layer 1 is in use.
|
||||
/*
|
||||
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||
if (get_highest_layer(state) == 1) {
|
||||
rgblight_setrgb_at(255, 0, 0, 2);
|
||||
} else {
|
||||
rgblight_setrgb_at(0, 0, 0, 2);
|
||||
}
|
||||
return state;
|
||||
}
|
||||
*/
|
||||
52
keyboards/primekb/meridian/meridian.h
Normal file
52
keyboards/primekb/meridian/meridian.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
Copyright 2020 Holten Campbell
|
||||
|
||||
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 K_NO KC_NO
|
||||
|
||||
#define LAYOUT_unified_bs_rshift( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \
|
||||
K400, K401, K402, K404, K407, K409, K411, K412, K413 \
|
||||
) \
|
||||
{ \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K_NO, K213 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K_NO}, \
|
||||
{ K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_split_bs_rshift( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K212, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \
|
||||
K400, K401, K402, K404, K407, K409, K411, K412, K413 \
|
||||
) \
|
||||
{ \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313 }, \
|
||||
{ K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413 } \
|
||||
}
|
||||
12
keyboards/primekb/meridian/readme.md
Normal file
12
keyboards/primekb/meridian/readme.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# ai03 x PrimeKB Meridian
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: [Holten Campbell](https://github.com/holtenc)
|
||||
* Hardware Supported: STM32F072CBT6
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make primekb/meridian:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
23
keyboards/primekb/meridian/rules.mk
Normal file
23
keyboards/primekb/meridian/rules.mk
Normal file
@@ -0,0 +1,23 @@
|
||||
# MCU name
|
||||
MCU = STM32F072
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
WS2812_DRIVER = spi
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
@@ -15,18 +15,16 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define VENDOR_ID 0x7272 // "rr" - rominronin
|
||||
#define PRODUCT_ID 0x0C2C
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER RominRonin CandyKeys
|
||||
#define PRODUCT Katana60
|
||||
#define DESCRIPTION QMK keyboard firmware for Katana60
|
||||
#define PRODUCT Katana60 rev1
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
@@ -49,18 +47,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
|
||||
// #define BACKLIGHT_PIN B7
|
||||
// #define BACKLIGHT_BREATHING
|
||||
// #define BACKLIGHT_LEVELS 3
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* number of backlight levels */
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
@@ -92,56 +84,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
||||
/*
|
||||
* Magic Key Options
|
||||
*
|
||||
* Magic keys are hotkey commands that allow control over firmware functions of
|
||||
* the keyboard. They are best used in combination with the HID Listen program,
|
||||
* found here: https://www.pjrc.com/teensy/hid_listen.html
|
||||
*
|
||||
* The options below allow the magic key functionality to be changed. This is
|
||||
* useful if your keyboard/keypad is missing keys and you want magic key support.
|
||||
*
|
||||
*/
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
/* control how magic key switches layers */
|
||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
|
||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
|
||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
|
||||
|
||||
/* override magic key keymap */
|
||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
||||
//#define MAGIC_KEY_HELP1 H
|
||||
//#define MAGIC_KEY_HELP2 SLASH
|
||||
//#define MAGIC_KEY_DEBUG D
|
||||
//#define MAGIC_KEY_DEBUG_MATRIX X
|
||||
//#define MAGIC_KEY_DEBUG_KBD K
|
||||
//#define MAGIC_KEY_DEBUG_MOUSE M
|
||||
//#define MAGIC_KEY_VERSION V
|
||||
//#define MAGIC_KEY_STATUS S
|
||||
//#define MAGIC_KEY_CONSOLE C
|
||||
//#define MAGIC_KEY_LAYER0_ALT1 ESC
|
||||
//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
|
||||
//#define MAGIC_KEY_LAYER0 0
|
||||
//#define MAGIC_KEY_LAYER1 1
|
||||
//#define MAGIC_KEY_LAYER2 2
|
||||
//#define MAGIC_KEY_LAYER3 3
|
||||
//#define MAGIC_KEY_LAYER4 4
|
||||
//#define MAGIC_KEY_LAYER5 5
|
||||
//#define MAGIC_KEY_LAYER6 6
|
||||
//#define MAGIC_KEY_LAYER7 7
|
||||
//#define MAGIC_KEY_LAYER8 8
|
||||
//#define MAGIC_KEY_LAYER9 9
|
||||
//#define MAGIC_KEY_BOOTLOADER PAUSE
|
||||
//#define MAGIC_KEY_LOCK CAPS
|
||||
//#define MAGIC_KEY_EEPROM E
|
||||
//#define MAGIC_KEY_NKRO N
|
||||
//#define MAGIC_KEY_SLEEP_LED Z
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
@@ -159,28 +103,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
*/
|
||||
|
||||
/* Prevent use of disabled MIDI features in the keymap */
|
||||
//#define MIDI_ENABLE_STRICT 1
|
||||
|
||||
/* enable basic MIDI features:
|
||||
- MIDI notes can be sent when in Music mode is on
|
||||
*/
|
||||
//#define MIDI_BASIC
|
||||
|
||||
/* enable advanced MIDI features:
|
||||
- MIDI notes can be added to the keymap
|
||||
- Octave shift and transpose
|
||||
- Virtual sustain, portamento, and modulation wheel
|
||||
- etc.
|
||||
*/
|
||||
//#define MIDI_ADVANCED
|
||||
|
||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||
//#define MIDI_TONE_KEYCODE_OCTAVES 1
|
||||
|
||||
#endif
|
||||
83
keyboards/rominronin/katana60/rev1/info.json
Normal file
83
keyboards/rominronin/katana60/rev1/info.json
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"keyboard_name": "Katana60 rev1",
|
||||
"url": "",
|
||||
"maintainer": "rominronin",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"k40", "x":0, "y":0},
|
||||
{"label":"k41", "x":1, "y":0},
|
||||
{"label":"k42", "x":2, "y":0},
|
||||
{"label":"k43", "x":3, "y":0},
|
||||
{"label":"k44", "x":4, "y":0},
|
||||
{"label":"k45", "x":5, "y":0},
|
||||
{"label":"k46", "x":6, "y":0},
|
||||
{"label":"k47", "x":7, "y":0},
|
||||
{"label":"k48", "x":8, "y":0},
|
||||
{"label":"k49", "x":9, "y":0},
|
||||
{"label":"k4a", "x":10, "y":0},
|
||||
{"label":"k4b", "x":11, "y":0},
|
||||
{"label":"k4c", "x":12, "y":0},
|
||||
{"label":"k4d", "x":13, "y":0},
|
||||
{"label":"k4e", "x":14, "y":0},
|
||||
{"label":"k30", "x":0, "y":1, "w":1.5},
|
||||
{"label":"k31", "x":1.5, "y":1},
|
||||
{"label":"k32", "x":2.5, "y":1},
|
||||
{"label":"k33", "x":3.5, "y":1},
|
||||
{"label":"k34", "x":4.5, "y":1},
|
||||
{"label":"k35", "x":5.5, "y":1},
|
||||
{"label":"k36", "x":6.5, "y":1},
|
||||
{"label":"k37", "x":7.5, "y":1},
|
||||
{"label":"k38", "x":8.5, "y":1},
|
||||
{"label":"k39", "x":9.5, "y":1},
|
||||
{"label":"k3a", "x":10.5, "y":1},
|
||||
{"label":"k3b", "x":11.5, "y":1},
|
||||
{"label":"k3c", "x":12.5, "y":1},
|
||||
{"label":"k3d", "x":13.5, "y":1, "w":1.5},
|
||||
{"label":"k20", "x":0, "y":2, "w":1.25},
|
||||
{"label":"k21", "x":1.25, "y":2},
|
||||
{"label":"k22", "x":2.25, "y":2},
|
||||
{"label":"k23", "x":3.25, "y":2},
|
||||
{"label":"k24", "x":4.25, "y":2},
|
||||
{"label":"k25", "x":5.25, "y":2},
|
||||
{"label":"k26", "x":6.25, "y":2},
|
||||
{"label":"k27", "x":7.75, "y":2},
|
||||
{"label":"k28", "x":8.75, "y":2},
|
||||
{"label":"k29", "x":9.75, "y":2},
|
||||
{"label":"k2a", "x":10.75, "y":2},
|
||||
{"label":"k2b", "x":11.75, "y":2},
|
||||
{"label":"k2c", "x":12.75, "y":2},
|
||||
{"label":"k2d", "x":13.75, "y":2, "w":1.25},
|
||||
{"label":"k10", "x":0, "y":3},
|
||||
{"label":"k11", "x":1, "y":3},
|
||||
{"label":"k12", "x":2, "y":3},
|
||||
{"label":"k13", "x":3, "y":3},
|
||||
{"label":"k14", "x":4, "y":3},
|
||||
{"label":"k15", "x":5, "y":3},
|
||||
{"label":"k16", "x":6, "y":3},
|
||||
{"label":"k17", "x":7, "y":3},
|
||||
{"label":"k18", "x":8, "y":3},
|
||||
{"label":"k19", "x":9, "y":3},
|
||||
{"label":"k1a", "x":10, "y":3},
|
||||
{"label":"k1b", "x":11, "y":3},
|
||||
{"label":"k1c", "x":12, "y":3},
|
||||
{"label":"k1d", "x":13, "y":3},
|
||||
{"label":"k1e", "x":14, "y":3},
|
||||
{"label":"k00", "x":0, "y":4},
|
||||
{"label":"k01", "x":1, "y":4, "w":1.25},
|
||||
{"label":"k02", "x":2.25, "y":4, "w":1.25},
|
||||
{"label":"k03", "x":3.5, "y":4, "w":1.25},
|
||||
{"label":"k04", "x":4.75, "y":4, "w":2.25},
|
||||
{"label":"k05", "x":7, "y":4},
|
||||
{"label":"k06", "x":8, "y":4, "w":2},
|
||||
{"label":"k09", "x":10, "y":4},
|
||||
{"label":"k0a", "x":11, "y":4},
|
||||
{"label":"k0b", "x":12, "y":4},
|
||||
{"label":"k0c", "x":13, "y":4},
|
||||
{"label":"k0d", "x":14, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(1), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_PLUS,
|
||||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(1), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
|
||||
MO(3), KC_A, KC_R, KC_S, KC_T, KC_D, KC_HOME, KC_PGUP, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_DEL, KC_PGDN, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(1), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_PLUS,
|
||||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(1), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
|
||||
MO(3), KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
@@ -64,6 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
};
|
||||
|
||||
|
||||
void matrix_init_user(void) {
|
||||
|
||||
}
|
||||
17
keyboards/rominronin/katana60/rev1/readme.md
Normal file
17
keyboards/rominronin/katana60/rev1/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Katana60 rev1
|
||||
|
||||

|
||||
|
||||
A 60% keyboard with a symmetrical staggered layout, sold by CandyKeys.com.
|
||||
|
||||
Keyboard Maintainer: [Baris Tosun](https://github.com/rominronin)
|
||||
Hardware Supported: Katana60 PCB rev1
|
||||
Hardware Availability: the rev1 is no longer available, the rev2 can be found at [candykeys.com](https://candykeys.com/product/katana60-pcb-V2)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make rominronin/katana60/rev1:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
There is also ongoing discussion for the extend layer, at the [Colemak Forum](https://forum.colemak.com/topic/2327-developing-an-extend-layer-for-the-katana60/)
|
||||
@@ -13,31 +13,4 @@
|
||||
* 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 "katana60.h"
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
// put your per-action keyboard code here
|
||||
// runs for every action, just before processing by the firmware
|
||||
|
||||
return process_record_user(keycode, record);
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||
|
||||
led_set_user(usb_led);
|
||||
}
|
||||
#include "rev1.h"
|
||||
@@ -13,8 +13,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef KATANA60_H
|
||||
#define KATANA60_H
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
@@ -36,5 +35,3 @@
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, KC_NO }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e }, \
|
||||
}
|
||||
|
||||
#endif
|
||||
22
keyboards/rominronin/katana60/rev1/rules.mk
Normal file
22
keyboards/rominronin/katana60/rev1/rules.mk
Normal file
@@ -0,0 +1,22 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
105
keyboards/rominronin/katana60/rev2/config.h
Normal file
105
keyboards/rominronin/katana60/rev2/config.h
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
Copyright 2019 rominronin
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x7272 // "rr" - rominronin
|
||||
#define PRODUCT_ID 0xF03B
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER RominRonin CandyKeys
|
||||
#define PRODUCT Katana60 rev2
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { B0, E6, D5, B4, B5 }
|
||||
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, D6, D4, D3, D2, D1, D0 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* 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 MATRIX_HAS_GHOST
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
*
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
579
keyboards/rominronin/katana60/rev2/info.json
Normal file
579
keyboards/rominronin/katana60/rev2/info.json
Normal file
@@ -0,0 +1,579 @@
|
||||
{
|
||||
"keyboard_name": "Katana60 rev2",
|
||||
"url": "https://candykeys.com/product/katana60-pcb-V2",
|
||||
"maintainer": "rominronin",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_7u_a": {
|
||||
"layout": [
|
||||
{"label":"k00","x":0,"y":0},
|
||||
{"label":"k01","x":1,"y":0},
|
||||
{"label":"k02","x":2,"y":0},
|
||||
{"label":"k03","x":3,"y":0},
|
||||
{"label":"k04","x":4,"y":0},
|
||||
{"label":"k05","x":5,"y":0},
|
||||
{"label":"k06","x":6,"y":0},
|
||||
{"label":"k07","x":7,"y":0},
|
||||
{"label":"k08","x":8,"y":0},
|
||||
{"label":"k09","x":9,"y":0},
|
||||
{"label":"k0a","x":10,"y":0},
|
||||
{"label":"k0b","x":11,"y":0},
|
||||
{"label":"k0c","x":12,"y":0},
|
||||
{"label":"k0d","x":13,"y":0},
|
||||
{"label":"k0e","x":14,"y":0},
|
||||
{"label":"k10","x":0,"y":1,"w":1.5},
|
||||
{"label":"k11","x":1.5,"y":1},
|
||||
{"label":"k12","x":2.5,"y":1},
|
||||
{"label":"k13","x":3.5,"y":1},
|
||||
{"label":"k14","x":4.5,"y":1},
|
||||
{"label":"k15","x":5.5,"y":1},
|
||||
{"label":"k16","x":6.5,"y":1},
|
||||
{"label":"k18","x":7.5,"y":1},
|
||||
{"label":"k19","x":8.5,"y":1},
|
||||
{"label":"k1a","x":9.5,"y":1},
|
||||
{"label":"k1b","x":10.5,"y":1},
|
||||
{"label":"k1c","x":11.5,"y":1},
|
||||
{"label":"k1d","x":12.5,"y":1},
|
||||
{"label":"k1e","x":13.5,"y":1,"w":1.5},
|
||||
{"label":"k20","x":0,"y":2,"w":1.25},
|
||||
{"label":"k21","x":1.25,"y":2},
|
||||
{"label":"k22","x":2.25,"y":2},
|
||||
{"label":"k23","x":3.25,"y":2},
|
||||
{"label":"k24","x":4.25,"y":2},
|
||||
{"label":"k25","x":5.25,"y":2},
|
||||
{"label":"k26","x":6.25,"y":2},
|
||||
{"label":"k28","x":7.75,"y":2},
|
||||
{"label":"k29","x":8.75,"y":2},
|
||||
{"label":"k2a","x":9.75,"y":2},
|
||||
{"label":"k2b","x":10.75,"y":2},
|
||||
{"label":"k2c","x":11.75,"y":2},
|
||||
{"label":"k2d","x":12.75,"y":2},
|
||||
{"label":"k2e","x":13.75,"y":2,"w":1.25},
|
||||
{"label":"k30","x":0,"y":3},
|
||||
{"label":"k31","x":1,"y":3},
|
||||
{"label":"k32","x":2,"y":3},
|
||||
{"label":"k33","x":3,"y":3},
|
||||
{"label":"k34","x":4,"y":3},
|
||||
{"label":"k35","x":5,"y":3},
|
||||
{"label":"k36","x":6,"y":3},
|
||||
{"label":"k37","x":7,"y":3},
|
||||
{"label":"k38","x":8,"y":3},
|
||||
{"label":"k39","x":9,"y":3},
|
||||
{"label":"k3a","x":10,"y":3},
|
||||
{"label":"k3b","x":11,"y":3},
|
||||
{"label":"k3c","x":12,"y":3},
|
||||
{"label":"k3d","x":13,"y":3},
|
||||
{"label":"k3e","x":14,"y":3},
|
||||
{"label":"k41","x":0,"y":4,"w":1.5},
|
||||
{"label":"k42","x":1.5,"y":4},
|
||||
{"label":"k43","x":2.5,"y":4,"w":1.5},
|
||||
{"label":"k47","x":4,"y":4,"w":7},
|
||||
{"label":"k4b","x":11,"y":4},
|
||||
{"label":"k4c","x":12,"y":4},
|
||||
{"label":"k4d","x":13,"y":4},
|
||||
{"label":"k4e","x":14,"y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_7u_b": {
|
||||
"layout": [
|
||||
{"label":"k00","x":0,"y":0},
|
||||
{"label":"k01","x":1,"y":0},
|
||||
{"label":"k02","x":2,"y":0},
|
||||
{"label":"k03","x":3,"y":0},
|
||||
{"label":"k04","x":4,"y":0},
|
||||
{"label":"k05","x":5,"y":0},
|
||||
{"label":"k06","x":6,"y":0},
|
||||
{"label":"k07","x":7,"y":0},
|
||||
{"label":"k08","x":8,"y":0},
|
||||
{"label":"k09","x":9,"y":0},
|
||||
{"label":"k0a","x":10,"y":0},
|
||||
{"label":"k0b","x":11,"y":0},
|
||||
{"label":"k0c","x":12,"y":0},
|
||||
{"label":"k0d","x":13,"y":0},
|
||||
{"label":"k0e","x":14,"y":0},
|
||||
{"label":"k10","x":0,"y":1,"w":1.5},
|
||||
{"label":"k11","x":1.5,"y":1},
|
||||
{"label":"k12","x":2.5,"y":1},
|
||||
{"label":"k13","x":3.5,"y":1},
|
||||
{"label":"k14","x":4.5,"y":1},
|
||||
{"label":"k15","x":5.5,"y":1},
|
||||
{"label":"k16","x":6.5,"y":1},
|
||||
{"label":"k18","x":7.5,"y":1},
|
||||
{"label":"k19","x":8.5,"y":1},
|
||||
{"label":"k1a","x":9.5,"y":1},
|
||||
{"label":"k1b","x":10.5,"y":1},
|
||||
{"label":"k1c","x":11.5,"y":1},
|
||||
{"label":"k1d","x":12.5,"y":1},
|
||||
{"label":"k1e","x":13.5,"y":1,"w":1.5},
|
||||
{"label":"k20","x":0,"y":2,"w":1.25},
|
||||
{"label":"k21","x":1.25,"y":2},
|
||||
{"label":"k22","x":2.25,"y":2},
|
||||
{"label":"k23","x":3.25,"y":2},
|
||||
{"label":"k24","x":4.25,"y":2},
|
||||
{"label":"k25","x":5.25,"y":2},
|
||||
{"label":"k26","x":6.25,"y":2},
|
||||
{"label":"k28","x":7.75,"y":2},
|
||||
{"label":"k29","x":8.75,"y":2},
|
||||
{"label":"k2a","x":9.75,"y":2},
|
||||
{"label":"k2b","x":10.75,"y":2},
|
||||
{"label":"k2c","x":11.75,"y":2},
|
||||
{"label":"k2d","x":12.75,"y":2},
|
||||
{"label":"k2e","x":13.75,"y":2,"w":1.25},
|
||||
{"label":"k30","x":0,"y":3},
|
||||
{"label":"k31","x":1,"y":3},
|
||||
{"label":"k32","x":2,"y":3},
|
||||
{"label":"k33","x":3,"y":3},
|
||||
{"label":"k34","x":4,"y":3},
|
||||
{"label":"k35","x":5,"y":3},
|
||||
{"label":"k36","x":6,"y":3},
|
||||
{"label":"k37","x":7,"y":3},
|
||||
{"label":"k38","x":8,"y":3},
|
||||
{"label":"k39","x":9,"y":3},
|
||||
{"label":"k3a","x":10,"y":3},
|
||||
{"label":"k3b","x":11,"y":3},
|
||||
{"label":"k3c","x":12,"y":3},
|
||||
{"label":"k3d","x":13,"y":3},
|
||||
{"label":"k3e","x":14,"y":3},
|
||||
{"label":"k41","x":0,"y":4,"w":1.5},
|
||||
{"label":"k42","x":1.5,"y":4},
|
||||
{"label":"k43","x":2.5,"y":4,"w":1.5},
|
||||
{"label":"k47","x":4,"y":4,"w":7},
|
||||
{"label":"k17","x":11,"y":4,"w":1.5},
|
||||
{"label":"k27","x":12.5,"y":4},
|
||||
{"label":"k48","x":13.5,"y":4,"w":1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_1_a": {
|
||||
"layout": [
|
||||
{"label":"k00","x":0,"y":0},
|
||||
{"label":"k01","x":1,"y":0},
|
||||
{"label":"k02","x":2,"y":0},
|
||||
{"label":"k03","x":3,"y":0},
|
||||
{"label":"k04","x":4,"y":0},
|
||||
{"label":"k05","x":5,"y":0},
|
||||
{"label":"k06","x":6,"y":0},
|
||||
{"label":"k07","x":7,"y":0},
|
||||
{"label":"k08","x":8,"y":0},
|
||||
{"label":"k09","x":9,"y":0},
|
||||
{"label":"k0a","x":10,"y":0},
|
||||
{"label":"k0b","x":11,"y":0},
|
||||
{"label":"k0c","x":12,"y":0},
|
||||
{"label":"k0d","x":13,"y":0},
|
||||
{"label":"k0e","x":14,"y":0},
|
||||
{"label":"k10","x":0,"y":1,"w":1.5},
|
||||
{"label":"k11","x":1.5,"y":1},
|
||||
{"label":"k12","x":2.5,"y":1},
|
||||
{"label":"k13","x":3.5,"y":1},
|
||||
{"label":"k14","x":4.5,"y":1},
|
||||
{"label":"k15","x":5.5,"y":1},
|
||||
{"label":"k16","x":6.5,"y":1},
|
||||
{"label":"k18","x":7.5,"y":1},
|
||||
{"label":"k19","x":8.5,"y":1},
|
||||
{"label":"k1a","x":9.5,"y":1},
|
||||
{"label":"k1b","x":10.5,"y":1},
|
||||
{"label":"k1c","x":11.5,"y":1},
|
||||
{"label":"k1d","x":12.5,"y":1},
|
||||
{"label":"k1e","x":13.5,"y":1,"w":1.5},
|
||||
{"label":"k20","x":0,"y":2,"w":1.25},
|
||||
{"label":"k21","x":1.25,"y":2},
|
||||
{"label":"k22","x":2.25,"y":2},
|
||||
{"label":"k23","x":3.25,"y":2},
|
||||
{"label":"k24","x":4.25,"y":2},
|
||||
{"label":"k25","x":5.25,"y":2},
|
||||
{"label":"k26","x":6.25,"y":2},
|
||||
{"label":"k28","x":7.75,"y":2},
|
||||
{"label":"k29","x":8.75,"y":2},
|
||||
{"label":"k2a","x":9.75,"y":2},
|
||||
{"label":"k2b","x":10.75,"y":2},
|
||||
{"label":"k2c","x":11.75,"y":2},
|
||||
{"label":"k2d","x":12.75,"y":2},
|
||||
{"label":"k2e","x":13.75,"y":2,"w":1.25},
|
||||
{"label":"k30","x":0,"y":3},
|
||||
{"label":"k31","x":1,"y":3},
|
||||
{"label":"k32","x":2,"y":3},
|
||||
{"label":"k33","x":3,"y":3},
|
||||
{"label":"k34","x":4,"y":3},
|
||||
{"label":"k35","x":5,"y":3},
|
||||
{"label":"k36","x":6,"y":3},
|
||||
{"label":"k37","x":7,"y":3},
|
||||
{"label":"k38","x":8,"y":3},
|
||||
{"label":"k39","x":9,"y":3},
|
||||
{"label":"k3a","x":10,"y":3},
|
||||
{"label":"k3b","x":11,"y":3},
|
||||
{"label":"k3c","x":12,"y":3},
|
||||
{"label":"k3d","x":13,"y":3},
|
||||
{"label":"k3e","x":14,"y":3},
|
||||
{"label":"k40","x":0,"y":4},
|
||||
{"label":"k41","x":1,"y":4,"w":1.25},
|
||||
{"label":"k42","x":2.25,"y":4,"w":1.25},
|
||||
{"label":"k43","x":3.5,"y":4,"w":1.25},
|
||||
{"label":"k44","x":4.75,"y":4,"w":2.25},
|
||||
{"label":"k47","x":7,"y":4},
|
||||
{"label":"k49","x":8,"y":4,"w":2},
|
||||
{"label":"k4a","x":10,"y":4},
|
||||
{"label":"k4b","x":11,"y":4},
|
||||
{"label":"k4c","x":12,"y":4},
|
||||
{"label":"k4d","x":13,"y":4},
|
||||
{"label":"k4e","x":14,"y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_1_b": {
|
||||
"layout": [
|
||||
{"label":"k00","x":0,"y":0},
|
||||
{"label":"k01","x":1,"y":0},
|
||||
{"label":"k02","x":2,"y":0},
|
||||
{"label":"k03","x":3,"y":0},
|
||||
{"label":"k04","x":4,"y":0},
|
||||
{"label":"k05","x":5,"y":0},
|
||||
{"label":"k06","x":6,"y":0},
|
||||
{"label":"k07","x":7,"y":0},
|
||||
{"label":"k08","x":8,"y":0},
|
||||
{"label":"k09","x":9,"y":0},
|
||||
{"label":"k0a","x":10,"y":0},
|
||||
{"label":"k0b","x":11,"y":0},
|
||||
{"label":"k0c","x":12,"y":0},
|
||||
{"label":"k0d","x":13,"y":0},
|
||||
{"label":"k0e","x":14,"y":0},
|
||||
{"label":"k10","x":0,"y":1,"w":1.5},
|
||||
{"label":"k11","x":1.5,"y":1},
|
||||
{"label":"k12","x":2.5,"y":1},
|
||||
{"label":"k13","x":3.5,"y":1},
|
||||
{"label":"k14","x":4.5,"y":1},
|
||||
{"label":"k15","x":5.5,"y":1},
|
||||
{"label":"k16","x":6.5,"y":1},
|
||||
{"label":"k18","x":7.5,"y":1},
|
||||
{"label":"k19","x":8.5,"y":1},
|
||||
{"label":"k1a","x":9.5,"y":1},
|
||||
{"label":"k1b","x":10.5,"y":1},
|
||||
{"label":"k1c","x":11.5,"y":1},
|
||||
{"label":"k1d","x":12.5,"y":1},
|
||||
{"label":"k1e","x":13.5,"y":1,"w":1.5},
|
||||
{"label":"k20","x":0,"y":2,"w":1.25},
|
||||
{"label":"k21","x":1.25,"y":2},
|
||||
{"label":"k22","x":2.25,"y":2},
|
||||
{"label":"k23","x":3.25,"y":2},
|
||||
{"label":"k24","x":4.25,"y":2},
|
||||
{"label":"k25","x":5.25,"y":2},
|
||||
{"label":"k26","x":6.25,"y":2},
|
||||
{"label":"k28","x":7.75,"y":2},
|
||||
{"label":"k29","x":8.75,"y":2},
|
||||
{"label":"k2a","x":9.75,"y":2},
|
||||
{"label":"k2b","x":10.75,"y":2},
|
||||
{"label":"k2c","x":11.75,"y":2},
|
||||
{"label":"k2d","x":12.75,"y":2},
|
||||
{"label":"k2e","x":13.75,"y":2,"w":1.25},
|
||||
{"label":"k30","x":0,"y":3},
|
||||
{"label":"k31","x":1,"y":3},
|
||||
{"label":"k32","x":2,"y":3},
|
||||
{"label":"k33","x":3,"y":3},
|
||||
{"label":"k34","x":4,"y":3},
|
||||
{"label":"k35","x":5,"y":3},
|
||||
{"label":"k36","x":6,"y":3},
|
||||
{"label":"k37","x":7,"y":3},
|
||||
{"label":"k38","x":8,"y":3},
|
||||
{"label":"k39","x":9,"y":3},
|
||||
{"label":"k3a","x":10,"y":3},
|
||||
{"label":"k3b","x":11,"y":3},
|
||||
{"label":"k3c","x":12,"y":3},
|
||||
{"label":"k3d","x":13,"y":3},
|
||||
{"label":"k3e","x":14,"y":3},
|
||||
{"label":"k40","x":0,"y":4},
|
||||
{"label":"k41","x":1,"y":4,"w":1.25},
|
||||
{"label":"k42","x":2.25,"y":4,"w":1.25},
|
||||
{"label":"k43","x":3.5,"y":4,"w":1.25},
|
||||
{"label":"k44","x":4.75,"y":4,"w":2.25},
|
||||
{"label":"k47","x":7,"y":4},
|
||||
{"label":"k49","x":8,"y":4,"w":2.75},
|
||||
{"label":"k17","x":10.75,"y":4,"w":2},
|
||||
{"label":"k48","x":12.75,"y":4,"w":2.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_1_c": {
|
||||
"layout": [
|
||||
{"label":"k00","x":0,"y":0},
|
||||
{"label":"k01","x":1,"y":0},
|
||||
{"label":"k02","x":2,"y":0},
|
||||
{"label":"k03","x":3,"y":0},
|
||||
{"label":"k04","x":4,"y":0},
|
||||
{"label":"k05","x":5,"y":0},
|
||||
{"label":"k06","x":6,"y":0},
|
||||
{"label":"k07","x":7,"y":0},
|
||||
{"label":"k08","x":8,"y":0},
|
||||
{"label":"k09","x":9,"y":0},
|
||||
{"label":"k0a","x":10,"y":0},
|
||||
{"label":"k0b","x":11,"y":0},
|
||||
{"label":"k0c","x":12,"y":0},
|
||||
{"label":"k0d","x":13,"y":0},
|
||||
{"label":"k0e","x":14,"y":0},
|
||||
{"label":"k10","x":0,"y":1,"w":1.5},
|
||||
{"label":"k11","x":1.5,"y":1},
|
||||
{"label":"k12","x":2.5,"y":1},
|
||||
{"label":"k13","x":3.5,"y":1},
|
||||
{"label":"k14","x":4.5,"y":1},
|
||||
{"label":"k15","x":5.5,"y":1},
|
||||
{"label":"k16","x":6.5,"y":1},
|
||||
{"label":"k18","x":7.5,"y":1},
|
||||
{"label":"k19","x":8.5,"y":1},
|
||||
{"label":"k1a","x":9.5,"y":1},
|
||||
{"label":"k1b","x":10.5,"y":1},
|
||||
{"label":"k1c","x":11.5,"y":1},
|
||||
{"label":"k1d","x":12.5,"y":1},
|
||||
{"label":"k1e","x":13.5,"y":1,"w":1.5},
|
||||
{"label":"k20","x":0,"y":2,"w":1.25},
|
||||
{"label":"k21","x":1.25,"y":2},
|
||||
{"label":"k22","x":2.25,"y":2},
|
||||
{"label":"k23","x":3.25,"y":2},
|
||||
{"label":"k24","x":4.25,"y":2},
|
||||
{"label":"k25","x":5.25,"y":2},
|
||||
{"label":"k26","x":6.25,"y":2},
|
||||
{"label":"k28","x":7.75,"y":2},
|
||||
{"label":"k29","x":8.75,"y":2},
|
||||
{"label":"k2a","x":9.75,"y":2},
|
||||
{"label":"k2b","x":10.75,"y":2},
|
||||
{"label":"k2c","x":11.75,"y":2},
|
||||
{"label":"k2d","x":12.75,"y":2},
|
||||
{"label":"k2e","x":13.75,"y":2,"w":1.25},
|
||||
{"label":"k30","x":0,"y":3},
|
||||
{"label":"k31","x":1,"y":3},
|
||||
{"label":"k32","x":2,"y":3},
|
||||
{"label":"k33","x":3,"y":3},
|
||||
{"label":"k34","x":4,"y":3},
|
||||
{"label":"k35","x":5,"y":3},
|
||||
{"label":"k36","x":6,"y":3},
|
||||
{"label":"k37","x":7,"y":3},
|
||||
{"label":"k38","x":8,"y":3},
|
||||
{"label":"k39","x":9,"y":3},
|
||||
{"label":"k3a","x":10,"y":3},
|
||||
{"label":"k3b","x":11,"y":3},
|
||||
{"label":"k3c","x":12,"y":3},
|
||||
{"label":"k3d","x":13,"y":3},
|
||||
{"label":"k3e","x":14,"y":3},
|
||||
{"label":"k40","x":0,"y":4},
|
||||
{"label":"k41","x":1,"y":4,"w":1.25},
|
||||
{"label":"k42","x":2.25,"y":4,"w":1.25},
|
||||
{"label":"k43","x":3.5,"y":4,"w":1.25},
|
||||
{"label":"k44","x":4.75,"y":4,"w":2.25},
|
||||
{"label":"k47","x":7,"y":4},
|
||||
{"label":"k49","x":8,"y":4,"w":2},
|
||||
{"label":"k45","x":10,"y":4,"w":1.5},
|
||||
{"label":"k27","x":11.5,"y":4,"w":1.25},
|
||||
{"label":"k48","x":12.75,"y":4,"w":2.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_2_a": {
|
||||
"layout": [
|
||||
{"label":"k00","x":0,"y":0},
|
||||
{"label":"k01","x":1,"y":0},
|
||||
{"label":"k02","x":2,"y":0},
|
||||
{"label":"k03","x":3,"y":0},
|
||||
{"label":"k04","x":4,"y":0},
|
||||
{"label":"k05","x":5,"y":0},
|
||||
{"label":"k06","x":6,"y":0},
|
||||
{"label":"k07","x":7,"y":0},
|
||||
{"label":"k08","x":8,"y":0},
|
||||
{"label":"k09","x":9,"y":0},
|
||||
{"label":"k0a","x":10,"y":0},
|
||||
{"label":"k0b","x":11,"y":0},
|
||||
{"label":"k0c","x":12,"y":0},
|
||||
{"label":"k0d","x":13,"y":0},
|
||||
{"label":"k0e","x":14,"y":0},
|
||||
{"label":"k10","x":0,"y":1,"w":1.5},
|
||||
{"label":"k11","x":1.5,"y":1},
|
||||
{"label":"k12","x":2.5,"y":1},
|
||||
{"label":"k13","x":3.5,"y":1},
|
||||
{"label":"k14","x":4.5,"y":1},
|
||||
{"label":"k15","x":5.5,"y":1},
|
||||
{"label":"k16","x":6.5,"y":1},
|
||||
{"label":"k18","x":7.5,"y":1},
|
||||
{"label":"k19","x":8.5,"y":1},
|
||||
{"label":"k1a","x":9.5,"y":1},
|
||||
{"label":"k1b","x":10.5,"y":1},
|
||||
{"label":"k1c","x":11.5,"y":1},
|
||||
{"label":"k1d","x":12.5,"y":1},
|
||||
{"label":"k1e","x":13.5,"y":1,"w":1.5},
|
||||
{"label":"k20","x":0,"y":2,"w":1.25},
|
||||
{"label":"k21","x":1.25,"y":2},
|
||||
{"label":"k22","x":2.25,"y":2},
|
||||
{"label":"k23","x":3.25,"y":2},
|
||||
{"label":"k24","x":4.25,"y":2},
|
||||
{"label":"k25","x":5.25,"y":2},
|
||||
{"label":"k26","x":6.25,"y":2},
|
||||
{"label":"k28","x":7.75,"y":2},
|
||||
{"label":"k29","x":8.75,"y":2},
|
||||
{"label":"k2a","x":9.75,"y":2},
|
||||
{"label":"k2b","x":10.75,"y":2},
|
||||
{"label":"k2c","x":11.75,"y":2},
|
||||
{"label":"k2d","x":12.75,"y":2},
|
||||
{"label":"k2e","x":13.75,"y":2,"w":1.25},
|
||||
{"label":"k30","x":0,"y":3},
|
||||
{"label":"k31","x":1,"y":3},
|
||||
{"label":"k32","x":2,"y":3},
|
||||
{"label":"k33","x":3,"y":3},
|
||||
{"label":"k34","x":4,"y":3},
|
||||
{"label":"k35","x":5,"y":3},
|
||||
{"label":"k36","x":6,"y":3},
|
||||
{"label":"k37","x":7,"y":3},
|
||||
{"label":"k38","x":8,"y":3},
|
||||
{"label":"k39","x":9,"y":3},
|
||||
{"label":"k3a","x":10,"y":3},
|
||||
{"label":"k3b","x":11,"y":3},
|
||||
{"label":"k3c","x":12,"y":3},
|
||||
{"label":"k3d","x":13,"y":3},
|
||||
{"label":"k3e","x":14,"y":3},
|
||||
{"label":"k41","x":0,"y":4,"w":1.5},
|
||||
{"label":"k42","x":1.5,"y":4,"w":1.25},
|
||||
{"label":"k43","x":2.75,"y":4,"w":1.5},
|
||||
{"label":"k44","x":4.25,"y":4,"w":2.75},
|
||||
{"label":"k47","x":7,"y":4},
|
||||
{"label":"k49","x":8,"y":4,"w":2},
|
||||
{"label":"k4a","x":10,"y":4},
|
||||
{"label":"k4b","x":11,"y":4},
|
||||
{"label":"k4c","x":12,"y":4},
|
||||
{"label":"k4d","x":13,"y":4},
|
||||
{"label":"k4e","x":14,"y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_2_b": {
|
||||
"layout": [
|
||||
{"label":"k00","x":0,"y":0},
|
||||
{"label":"k01","x":1,"y":0},
|
||||
{"label":"k02","x":2,"y":0},
|
||||
{"label":"k03","x":3,"y":0},
|
||||
{"label":"k04","x":4,"y":0},
|
||||
{"label":"k05","x":5,"y":0},
|
||||
{"label":"k06","x":6,"y":0},
|
||||
{"label":"k07","x":7,"y":0},
|
||||
{"label":"k08","x":8,"y":0},
|
||||
{"label":"k09","x":9,"y":0},
|
||||
{"label":"k0a","x":10,"y":0},
|
||||
{"label":"k0b","x":11,"y":0},
|
||||
{"label":"k0c","x":12,"y":0},
|
||||
{"label":"k0d","x":13,"y":0},
|
||||
{"label":"k0e","x":14,"y":0},
|
||||
{"label":"k10","x":0,"y":1,"w":1.5},
|
||||
{"label":"k11","x":1.5,"y":1},
|
||||
{"label":"k12","x":2.5,"y":1},
|
||||
{"label":"k13","x":3.5,"y":1},
|
||||
{"label":"k14","x":4.5,"y":1},
|
||||
{"label":"k15","x":5.5,"y":1},
|
||||
{"label":"k16","x":6.5,"y":1},
|
||||
{"label":"k18","x":7.5,"y":1},
|
||||
{"label":"k19","x":8.5,"y":1},
|
||||
{"label":"k1a","x":9.5,"y":1},
|
||||
{"label":"k1b","x":10.5,"y":1},
|
||||
{"label":"k1c","x":11.5,"y":1},
|
||||
{"label":"k1d","x":12.5,"y":1},
|
||||
{"label":"k1e","x":13.5,"y":1,"w":1.5},
|
||||
{"label":"k20","x":0,"y":2,"w":1.25},
|
||||
{"label":"k21","x":1.25,"y":2},
|
||||
{"label":"k22","x":2.25,"y":2},
|
||||
{"label":"k23","x":3.25,"y":2},
|
||||
{"label":"k24","x":4.25,"y":2},
|
||||
{"label":"k25","x":5.25,"y":2},
|
||||
{"label":"k26","x":6.25,"y":2},
|
||||
{"label":"k28","x":7.75,"y":2},
|
||||
{"label":"k29","x":8.75,"y":2},
|
||||
{"label":"k2a","x":9.75,"y":2},
|
||||
{"label":"k2b","x":10.75,"y":2},
|
||||
{"label":"k2c","x":11.75,"y":2},
|
||||
{"label":"k2d","x":12.75,"y":2},
|
||||
{"label":"k2e","x":13.75,"y":2,"w":1.25},
|
||||
{"label":"k30","x":0,"y":3},
|
||||
{"label":"k31","x":1,"y":3},
|
||||
{"label":"k32","x":2,"y":3},
|
||||
{"label":"k33","x":3,"y":3},
|
||||
{"label":"k34","x":4,"y":3},
|
||||
{"label":"k35","x":5,"y":3},
|
||||
{"label":"k36","x":6,"y":3},
|
||||
{"label":"k37","x":7,"y":3},
|
||||
{"label":"k38","x":8,"y":3},
|
||||
{"label":"k39","x":9,"y":3},
|
||||
{"label":"k3a","x":10,"y":3},
|
||||
{"label":"k3b","x":11,"y":3},
|
||||
{"label":"k3c","x":12,"y":3},
|
||||
{"label":"k3d","x":13,"y":3},
|
||||
{"label":"k3e","x":14,"y":3},
|
||||
{"label":"k41","x":0,"y":4,"w":1.5},
|
||||
{"label":"k42","x":1.5,"y":4,"w":1.25},
|
||||
{"label":"k43","x":2.75,"y":4,"w":1.5},
|
||||
{"label":"k44","x":4.25,"y":4,"w":2.75},
|
||||
{"label":"k47","x":7,"y":4},
|
||||
{"label":"k49","x":8,"y":4,"w":2.75},
|
||||
{"label":"k17","x":10.75,"y":4,"w":2},
|
||||
{"label":"k48","x":12.75,"y":4,"w":2.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_2_c": {
|
||||
"layout": [
|
||||
{"label":"k00","x":0,"y":0},
|
||||
{"label":"k01","x":1,"y":0},
|
||||
{"label":"k02","x":2,"y":0},
|
||||
{"label":"k03","x":3,"y":0},
|
||||
{"label":"k04","x":4,"y":0},
|
||||
{"label":"k05","x":5,"y":0},
|
||||
{"label":"k06","x":6,"y":0},
|
||||
{"label":"k07","x":7,"y":0},
|
||||
{"label":"k08","x":8,"y":0},
|
||||
{"label":"k09","x":9,"y":0},
|
||||
{"label":"k0a","x":10,"y":0},
|
||||
{"label":"k0b","x":11,"y":0},
|
||||
{"label":"k0c","x":12,"y":0},
|
||||
{"label":"k0d","x":13,"y":0},
|
||||
{"label":"k0e","x":14,"y":0},
|
||||
{"label":"k10","x":0,"y":1,"w":1.5},
|
||||
{"label":"k11","x":1.5,"y":1},
|
||||
{"label":"k12","x":2.5,"y":1},
|
||||
{"label":"k13","x":3.5,"y":1},
|
||||
{"label":"k14","x":4.5,"y":1},
|
||||
{"label":"k15","x":5.5,"y":1},
|
||||
{"label":"k16","x":6.5,"y":1},
|
||||
{"label":"k18","x":7.5,"y":1},
|
||||
{"label":"k19","x":8.5,"y":1},
|
||||
{"label":"k1a","x":9.5,"y":1},
|
||||
{"label":"k1b","x":10.5,"y":1},
|
||||
{"label":"k1c","x":11.5,"y":1},
|
||||
{"label":"k1d","x":12.5,"y":1},
|
||||
{"label":"k1e","x":13.5,"y":1,"w":1.5},
|
||||
{"label":"k20","x":0,"y":2,"w":1.25},
|
||||
{"label":"k21","x":1.25,"y":2},
|
||||
{"label":"k22","x":2.25,"y":2},
|
||||
{"label":"k23","x":3.25,"y":2},
|
||||
{"label":"k24","x":4.25,"y":2},
|
||||
{"label":"k25","x":5.25,"y":2},
|
||||
{"label":"k26","x":6.25,"y":2},
|
||||
{"label":"k28","x":7.75,"y":2},
|
||||
{"label":"k29","x":8.75,"y":2},
|
||||
{"label":"k2a","x":9.75,"y":2},
|
||||
{"label":"k2b","x":10.75,"y":2},
|
||||
{"label":"k2c","x":11.75,"y":2},
|
||||
{"label":"k2d","x":12.75,"y":2},
|
||||
{"label":"k2e","x":13.75,"y":2,"w":1.25},
|
||||
{"label":"k30","x":0,"y":3},
|
||||
{"label":"k31","x":1,"y":3},
|
||||
{"label":"k32","x":2,"y":3},
|
||||
{"label":"k33","x":3,"y":3},
|
||||
{"label":"k34","x":4,"y":3},
|
||||
{"label":"k35","x":5,"y":3},
|
||||
{"label":"k36","x":6,"y":3},
|
||||
{"label":"k37","x":7,"y":3},
|
||||
{"label":"k38","x":8,"y":3},
|
||||
{"label":"k39","x":9,"y":3},
|
||||
{"label":"k3a","x":10,"y":3},
|
||||
{"label":"k3b","x":11,"y":3},
|
||||
{"label":"k3c","x":12,"y":3},
|
||||
{"label":"k3d","x":13,"y":3},
|
||||
{"label":"k3e","x":14,"y":3},
|
||||
{"label":"k41","x":0,"y":4,"w":1.5},
|
||||
{"label":"k42","x":1.5,"y":4,"w":1.25},
|
||||
{"label":"k43","x":2.75,"y":4,"w":1.5},
|
||||
{"label":"k44","x":4.25,"y":4,"w":2.75},
|
||||
{"label":"k47","x":7,"y":4},
|
||||
{"label":"k49","x":8,"y":4,"w":2},
|
||||
{"label":"k45","x":10,"y":4,"w":1.5},
|
||||
{"label":"k27","x":11.5,"y":4,"w":1.25},
|
||||
{"label":"k48","x":12.75,"y":4,"w":2.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
19
keyboards/rominronin/katana60/rev2/keymaps/default/config.h
Normal file
19
keyboards/rominronin/katana60/rev2/keymaps/default/config.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/* Copyright 2019 rominronin
|
||||
*
|
||||
* 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
|
||||
|
||||
// place overrides here
|
||||
71
keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c
Normal file
71
keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,71 @@
|
||||
/* Copyright 2019 rominronin
|
||||
*
|
||||
* 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
|
||||
|
||||
// MacOS based definitions.
|
||||
#define K_SPCFN LT(SYMB, KC_SPACE) // Tap for space, hold for symbols layer
|
||||
#define K_PRVWD LALT(KC_LEFT) // Previous word
|
||||
#define K_NXTWD LALT(KC_RIGHT) // Next word
|
||||
#define K_LSTRT LGUI(KC_LEFT) // Start of line
|
||||
#define K_LEND LGUI(KC_RIGHT) // End of line
|
||||
#define UNDO LGUI(KC_Z) // UNDO
|
||||
#define CUT LGUI(KC_X) // CUT
|
||||
#define COPY LGUI(KC_C) // COPY
|
||||
#define PASTE LGUI(KC_V) // PASTE
|
||||
|
||||
enum layer_names {
|
||||
BASE,
|
||||
NUMB,
|
||||
SYMB,
|
||||
CURS,
|
||||
};
|
||||
|
||||
// Defines the keycodes used by our macros in process_record_user
|
||||
enum custom_keycodes {
|
||||
QMKBEST = SAFE_RANGE,
|
||||
QMKURL
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_1_a(/* Base */
|
||||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(1), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_DEL, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
MO(2), KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_ENT, K_SPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
|
||||
),
|
||||
[NUMB] = LAYOUT_1_a(
|
||||
_______, _______, _______, _______, _______, _______, _______, DF(0), _______, _______, KC_PEQL, KC_PSLS, KC_PAST, _______, _______,
|
||||
_______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
|
||||
_______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
|
||||
_______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
|
||||
_______, _______, _______, _______, _______, KC_P0, _______, _______, KC_PDOT, KC_PENT, _______, _______
|
||||
),
|
||||
[SYMB] = LAYOUT_1_a(
|
||||
RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______
|
||||
),
|
||||
[CURS] = LAYOUT_1_a(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______,
|
||||
_______, _______, KC_LCTL, KC_LALT, KC_LSFT, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
|
||||
_______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
# The default keymap for katana60_rev2
|
||||
@@ -0,0 +1,19 @@
|
||||
/* Copyright 2019 rominronin
|
||||
*
|
||||
* 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
|
||||
|
||||
// place overrides here
|
||||
@@ -0,0 +1,79 @@
|
||||
/* Copyright 2019 rominronin
|
||||
*
|
||||
* 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
|
||||
|
||||
// MacOS based definitions.
|
||||
#define K_SPCFN LT(SYMB, KC_SPACE) // Tap for space, hold for symbols layer
|
||||
#define K_PRVWD LALT(KC_LEFT) // Previous word
|
||||
#define K_NXTWD LALT(KC_RIGHT) // Next word
|
||||
#define K_LSTRT LGUI(KC_LEFT) // Start of line
|
||||
#define K_LEND LGUI(KC_RIGHT) // End of line
|
||||
#define UNDO LGUI(KC_Z) // UNDO
|
||||
#define CUT LGUI(KC_X) // CUT
|
||||
#define COPY LGUI(KC_C) // COPY
|
||||
#define PASTE LGUI(KC_V) // PASTE
|
||||
|
||||
enum layer_names {
|
||||
BASE,
|
||||
NUMB,
|
||||
SYMB,
|
||||
CURS,
|
||||
BASE2,
|
||||
};
|
||||
|
||||
// Defines the keycodes used by our macros in process_record_user
|
||||
enum custom_keycodes {
|
||||
QMKBEST = SAFE_RANGE,
|
||||
QMKURL
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_7u_a(/* Base */
|
||||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(4), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
|
||||
MO(3), KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, K_SPCFN, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
|
||||
),
|
||||
[NUMB] = LAYOUT_7u_a(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, _______, _______,
|
||||
_______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
|
||||
DF(0), KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
|
||||
_______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
|
||||
_______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______
|
||||
),
|
||||
[SYMB] = LAYOUT_7u_a(
|
||||
RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
|
||||
_______, _______, _______, KC_DEL, _______, _______, _______, _______
|
||||
),
|
||||
[CURS] = LAYOUT_7u_a(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______,
|
||||
_______, _______, KC_LCTL, KC_LALT, KC_LSFT, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
|
||||
_______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______,
|
||||
_______, _______, _______, DF(1), _______, _______, _______, _______
|
||||
),
|
||||
[BASE2] = LAYOUT_7u_a(/* Base */
|
||||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(0), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
|
||||
KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPACE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
# The default keymap for katana60_rev2
|
||||
17
keyboards/rominronin/katana60/rev2/readme.md
Normal file
17
keyboards/rominronin/katana60/rev2/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Katana60 rev2
|
||||
|
||||

|
||||
|
||||
A 60% keyboard with a symmetrical staggered layout, sold by CandyKeys.com.
|
||||
|
||||
Keyboard Maintainer: [Baris Tosun](https://github.com/rominronin)
|
||||
Hardware Supported: Katana60 PCB rev2
|
||||
Hardware Availability: [candykeys.com](https://candykeys.com/product/katana60-pcb-V2)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make rominronin/katana60/rev2:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
There is also ongoing discussion for the extend layer, at the [Colemak Forum](https://forum.colemak.com/topic/2327-developing-an-extend-layer-for-the-katana60/)
|
||||
16
keyboards/rominronin/katana60/rev2/rev2.c
Normal file
16
keyboards/rominronin/katana60/rev2/rev2.c
Normal file
@@ -0,0 +1,16 @@
|
||||
/* Copyright 2019 rominronin
|
||||
*
|
||||
* 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 "rev2.h"
|
||||
238
keyboards/rominronin/katana60/rev2/rev2.h
Normal file
238
keyboards/rominronin/katana60/rev2/rev2.h
Normal file
@@ -0,0 +1,238 @@
|
||||
/* Copyright 2019 rominronin
|
||||
*
|
||||
* 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 XXX KC_NO
|
||||
|
||||
/* LAYOUT_7u_a
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │
|
||||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │
|
||||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
|
||||
* ├───┴─┬─┴─┬─┴───┼───┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┤
|
||||
* │41 │42 │43 │ 47 │4B │4C │4D │4E │
|
||||
* └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
|
||||
*/
|
||||
#define LAYOUT_7u_a( \
|
||||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \
|
||||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \
|
||||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \
|
||||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \
|
||||
Q41, Q42, Q43, Q47, Q4B, Q4C, Q4D, Q4E \
|
||||
) { \
|
||||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \
|
||||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \
|
||||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \
|
||||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \
|
||||
{ XXX, Q41, Q42, Q43, XXX, XXX, XXX, Q47, XXX, XXX, XXX, Q4B, Q4C, Q4D, Q4E } \
|
||||
}
|
||||
|
||||
/* LAYOUT_7u_b
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │
|
||||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │
|
||||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
|
||||
* ├───┴─┬─┴─┬─┴───┼───┴───┴───┴───┴───┴───┴───┼───┴─┬─┴─┬─┴───┤
|
||||
* │41 │42 │43 │ 47 │17 │27 │48 │
|
||||
* └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
*/
|
||||
#define LAYOUT_7u_b( \
|
||||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \
|
||||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \
|
||||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \
|
||||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \
|
||||
Q41, Q42, Q43, Q47, Q17, Q27, Q48 \
|
||||
) { \
|
||||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \
|
||||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \
|
||||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q27, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \
|
||||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \
|
||||
{ XXX, Q41, Q42, Q43, XXX, XXX, XXX, Q47, Q48, XXX, XXX, XXX, XXX, XXX, XXX } \
|
||||
}
|
||||
|
||||
/* LAYOUT_1_a
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │
|
||||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │
|
||||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
|
||||
* ├───┼───┴┬──┴─┬─┴──┬┴───┴───┼───┼───┴───┼───┼───┼───┼───┼───┤
|
||||
* │40 │41 │42 │43 │ 44 │47 │ 49 │4A │4B │4C │4D │4E │
|
||||
* └───┴────┴────┴────┴────────┴───┴───────┴───┴───┴───┴───┴───┘
|
||||
*/
|
||||
#define LAYOUT_1_a( \
|
||||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \
|
||||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \
|
||||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \
|
||||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \
|
||||
Q40, Q41, Q42, Q43, Q44, Q47, Q49, Q4A, Q4B, Q4C, Q4D, Q4E \
|
||||
) { \
|
||||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \
|
||||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \
|
||||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \
|
||||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \
|
||||
{ Q40, Q41, Q42, Q43, Q44, XXX, XXX, Q47, XXX, Q49, Q4A, Q4B, Q4C, Q4D, Q4E } \
|
||||
}
|
||||
|
||||
/* LAYOUT_1_b
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │
|
||||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │
|
||||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
|
||||
* ├───┼───┴┬──┴─┬─┴──┬┴───┴───┼───┼───┴───┴──┬┴───┴──┬┴───┴───┤
|
||||
* │40 │41 │42 │43 │ 44 │47 │ 49 │17 │48 │
|
||||
* └───┴────┴────┴────┴────────┴───┴──────────┴───────┴────────┘
|
||||
*/
|
||||
#define LAYOUT_1_b( \
|
||||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \
|
||||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \
|
||||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \
|
||||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \
|
||||
Q40, Q41, Q42, Q43, Q44, Q47, Q49, Q17, Q48 \
|
||||
) { \
|
||||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \
|
||||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \
|
||||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \
|
||||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \
|
||||
{ Q40, Q41, Q42, Q43, Q44, XXX, XXX, Q47, Q48, Q49, XXX, XXX, XXX, XXX, XXX } \
|
||||
}
|
||||
|
||||
/* LAYOUT_1_c
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │
|
||||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │
|
||||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
|
||||
* ├───┼───┴┬──┴─┬─┴──┬┴───┴───┼───┼───┴───┼───┴─┬─┴──┬┴───┴───┤
|
||||
* │40 │41 │42 │43 │ 44 │47 │ 49 │45 │27 │48 │
|
||||
* └───┴────┴────┴────┴────────┴───┴───────┴─────┴────┴────────┘
|
||||
*/
|
||||
#define LAYOUT_1_c( \
|
||||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \
|
||||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \
|
||||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \
|
||||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \
|
||||
Q40, Q41, Q42, Q43, Q44, Q47, Q49, Q45, Q27, Q48 \
|
||||
) { \
|
||||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \
|
||||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \
|
||||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q27, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \
|
||||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \
|
||||
{ Q40, Q41, Q42, Q43, Q44, Q45, XXX, Q47, Q48, Q49, XXX, XXX, XXX, XXX, XXX } \
|
||||
}
|
||||
|
||||
|
||||
/* LAYOUT_2_a
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │
|
||||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │
|
||||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
|
||||
* ├───┴─┬─┴──┬┴───┴┬──┴───┴───┼───┼───┴───┼───┼───┼───┼───┼───┤
|
||||
* │41 │42 │43 │ 44 │47 │ 49 │4A │4B │4C │4D │4E │
|
||||
* └─────┴────┴─────┴──────────┴───┴───────┴───┴───┴───┴───┴───┘
|
||||
*/
|
||||
#define LAYOUT_2_a( \
|
||||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \
|
||||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \
|
||||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \
|
||||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \
|
||||
Q41, Q42, Q43, Q44, Q47, Q49, Q4A, Q4B, Q4C, Q4D, Q4E \
|
||||
) { \
|
||||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \
|
||||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \
|
||||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \
|
||||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \
|
||||
{ XXX, Q41, Q42, Q43, Q44, XXX, XXX, Q47, XXX, Q49, Q4A, Q4B, Q4C, Q4D, Q4E } \
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* LAYOUT_2_b
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │
|
||||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │
|
||||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
|
||||
* ├───┴─┬─┴──┬┴───┴┬──┴───┴───┼───┼───┴───┴──┬┴───┴──┬┴───┴───┤
|
||||
* │41 │42 │43 │ 44 │47 │ 49 │17 │48 │
|
||||
* └─────┴────┴─────┴──────────┴───┴──────────┴───────┴────────┘
|
||||
*/
|
||||
#define LAYOUT_2_b( \
|
||||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \
|
||||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \
|
||||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \
|
||||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \
|
||||
Q41, Q42, Q43, Q44, Q47, Q49, Q17, Q48 \
|
||||
) { \
|
||||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \
|
||||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \
|
||||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \
|
||||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \
|
||||
{ XXX, Q41, Q42, Q43, Q44, XXX, XXX, Q47, Q48, Q49, XXX, XXX, XXX, XXX, XXX } \
|
||||
}
|
||||
|
||||
/* LAYOUT_2_c
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │
|
||||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │
|
||||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
|
||||
* ├───┼───┴┬──┴─┬─┴──┬┴───┴───┼───┼───┴───┼───┴─┬─┴──┬┴───┴───┤
|
||||
* │40 │41 │42 │43 │ 44 │47 │ 49 │45 │27 │48 │
|
||||
* └───┴────┴────┴────┴────────┴───┴───────┴─────┴────┴────────┘
|
||||
*/
|
||||
#define LAYOUT_2_c( \
|
||||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \
|
||||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \
|
||||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \
|
||||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \
|
||||
Q41, Q42, Q43, Q44, Q47, Q49, Q45, Q27, Q48 \
|
||||
) { \
|
||||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \
|
||||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \
|
||||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q27, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \
|
||||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \
|
||||
{ XXX, Q41, Q42, Q43, Q44, Q45, XXX, Q47, Q48, Q49, XXX, XXX, XXX, XXX, XXX } \
|
||||
}
|
||||
22
keyboards/rominronin/katana60/rev2/rules.mk
Normal file
22
keyboards/rominronin/katana60/rev2/rules.mk
Normal file
@@ -0,0 +1,22 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@@ -1,27 +1,5 @@
|
||||
## chip/board settings
|
||||
# the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# linker script to use
|
||||
# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = STM32F411xE
|
||||
# startup code to use
|
||||
# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
# it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = BLACKPILL_STM32_F411
|
||||
# Cortex version
|
||||
# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
|
||||
MCU = cortex-m4
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
USE_FPU = yes
|
||||
# Address of the booloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
# MCU name
|
||||
MCU = STM32F411
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
DFU_SUFFIX_ARGS = -v 0483 -p df11
|
||||
# Address of the bootloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
@@ -1,27 +1,5 @@
|
||||
## chip/board settings
|
||||
# the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# linker script to use
|
||||
# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = STM32F401xC
|
||||
# startup code to use
|
||||
# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
# it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = BLACKPILL_STM32_F401
|
||||
# Cortex version
|
||||
# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
|
||||
MCU = cortex-m4
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
USE_FPU = yes
|
||||
# Address of the booloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
# MCU name
|
||||
MCU = STM32F401
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
DFU_SUFFIX_ARGS = -v 0483 -p df11
|
||||
# Address of the bootloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
@@ -1,27 +1,5 @@
|
||||
## chip/board settings
|
||||
# the next two should match the directories in
|
||||
# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
|
||||
MCU_FAMILY = STM32
|
||||
MCU_SERIES = STM32F4xx
|
||||
# linker script to use
|
||||
# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
|
||||
# or <this_dir>/ld/
|
||||
MCU_LDSCRIPT = STM32F411xE
|
||||
# startup code to use
|
||||
# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
|
||||
MCU_STARTUP = stm32f4xx
|
||||
# it should exist either in <chibios>/os/hal/boards/
|
||||
# or <this_dir>/boards
|
||||
BOARD = BLACKPILL_STM32_F411
|
||||
# Cortex version
|
||||
# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
|
||||
MCU = cortex-m4
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 7
|
||||
USE_FPU = yes
|
||||
# Address of the booloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
# MCU name
|
||||
MCU = STM32F411
|
||||
|
||||
# Options to pass to dfu-util when flashing
|
||||
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
||||
DFU_SUFFIX_ARGS = -v 0483 -p df11
|
||||
# Address of the bootloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
Reference in New Issue
Block a user