forked from mirrors/qmk_firmware
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1866a962c | ||
|
|
ef7fdee6c8 | ||
|
|
f87cd8e8a0 | ||
|
|
94d7635a4a | ||
|
|
5d5668c3f8 | ||
|
|
9afc64cd61 |
@@ -164,14 +164,25 @@ ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
|
||||
endif
|
||||
else
|
||||
OLED_ENABLE = no # disable OLED in TOP/common_features.mk
|
||||
OLED_LOCAL_ENABLE = yes
|
||||
SRC += local_drivers/i2c.c
|
||||
SRC += local_drivers/ssd1306.c
|
||||
KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers
|
||||
OPT_DEFS += -DOLED_LOCAL_ENABLE
|
||||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
|
||||
OPT_DEFS += -DLOCAL_GLCDFONT
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
$(info Helix/rev2: The following combinations are not supported.)
|
||||
$(info - SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) # yes
|
||||
$(info - OLED_ENABLE = $(OLED_ENABLE)) # yes
|
||||
$(info - OLED_SELECT = $(OLED_SELECT)) # local
|
||||
$(info Force : OLED_ENABLE = no)
|
||||
$(info .)
|
||||
OLED_ENABLE = no
|
||||
endif
|
||||
ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
OLED_ENABLE = no # disable OLED in TOP/common_features.mk
|
||||
OLED_LOCAL_ENABLE = yes
|
||||
SRC += local_drivers/i2c.c
|
||||
SRC += local_drivers/ssd1306.c
|
||||
KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers
|
||||
OPT_DEFS += -DOLED_LOCAL_ENABLE
|
||||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
|
||||
OPT_DEFS += -DLOCAL_GLCDFONT
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
51
keyboards/kelowna/rgb64/config.h
Normal file
51
keyboards/kelowna/rgb64/config.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/* Copyright 2021 Weirdo
|
||||
*
|
||||
* 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 0x7764
|
||||
#define PRODUCT_ID 0x4C64
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Weirdo
|
||||
#define PRODUCT kelownaRGB64
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
#define MATRIX_COL_PINS { A3, A4, A5, A7, B0, B1, B10, B15, A8, A9, A10, B7, B6, B5, B4}
|
||||
#define MATRIX_ROW_PINS { B12, B13, B14, C11, A1}
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
#define DEBOUNCE 5
|
||||
|
||||
|
||||
|
||||
#define RGB_DI_PIN A6
|
||||
#define RGBLED_NUM 64
|
||||
//#define RGBLIGHT_DISABLE_KEYCODES
|
||||
|
||||
|
||||
|
||||
|
||||
/* 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
|
||||
|
||||
|
||||
|
||||
77
keyboards/kelowna/rgb64/info.json
Normal file
77
keyboards/kelowna/rgb64/info.json
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"keyboard_name": "kelownaRGB64",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_64_ansi": {
|
||||
"layout": [
|
||||
{"label":"K00", "x":0, "y":0},
|
||||
{"label":"K01", "x":1, "y":0},
|
||||
{"label":"K02", "x":2, "y":0},
|
||||
{"label":"K03", "x":3, "y":0},
|
||||
{"label":"K04", "x":4, "y":0},
|
||||
{"label":"K05", "x":5, "y":0},
|
||||
{"label":"K06", "x":6, "y":0},
|
||||
{"label":"K07", "x":7, "y":0},
|
||||
{"label":"K08", "x":8, "y":0},
|
||||
{"label":"K09", "x":9, "y":0},
|
||||
{"label":"K0A", "x":10, "y":0},
|
||||
{"label":"K0B", "x":11, "y":0},
|
||||
{"label":"K0C", "x":12, "y":0},
|
||||
{"label":"K0E", "x":13, "y":0, "w":2},
|
||||
{"label":"K10", "x":0, "y":1, "w":1.5},
|
||||
{"label":"K12", "x":1.5, "y":1},
|
||||
{"label":"K13", "x":2.5, "y":1},
|
||||
{"label":"K14", "x":3.5, "y":1},
|
||||
{"label":"K15", "x":4.5, "y":1},
|
||||
{"label":"K16", "x":5.5, "y":1},
|
||||
{"label":"K17", "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.75},
|
||||
{"label":"K22", "x":1.75, "y":2},
|
||||
{"label":"K23", "x":2.75, "y":2},
|
||||
{"label":"K24", "x":3.75, "y":2},
|
||||
{"label":"K25", "x":4.75, "y":2},
|
||||
{"label":"K26", "x":5.75, "y":2},
|
||||
{"label":"K27", "x":6.75, "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":"K2E", "x":12.75, "y":2, "w":2.25},
|
||||
{"label":"K30", "x":0, "y":3, "w":2},
|
||||
{"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, "w":1.25},
|
||||
{"label":"K41", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"K42", "x":2.5, "y":4, "w":1.25},
|
||||
{"label":"K46", "x":3.75, "y":4, "w":6.25},
|
||||
{"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}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
38
keyboards/kelowna/rgb64/keymaps/default/keymap.c
Normal file
38
keyboards/kelowna/rgb64/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,38 @@
|
||||
/* Copyright 2021 Weirdo
|
||||
*
|
||||
* 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
|
||||
|
||||
|
||||
// [Keymaps] -----------------------------------------------------------------//
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_64_ansi(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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
|
||||
KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
|
||||
[_FN] = LAYOUT_64_ansi(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), //
|
||||
};
|
||||
47
keyboards/kelowna/rgb64/keymaps/via/keymap.c
Normal file
47
keyboards/kelowna/rgb64/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,47 @@
|
||||
/* Copyright 2021 Weirdo
|
||||
*
|
||||
* 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
|
||||
|
||||
|
||||
// [Keymaps] -----------------------------------------------------------------//
|
||||
enum layer_names { _BASE, _FN ,_FN1 ,_FN2 };
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_64_ansi(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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
|
||||
KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
|
||||
[_FN] = LAYOUT_64_ansi(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), //
|
||||
|
||||
[_FN1] = LAYOUT_64_ansi(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[_FN2] = LAYOUT_64_ansi(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
||||
1
keyboards/kelowna/rgb64/keymaps/via/rules.mk
Normal file
1
keyboards/kelowna/rgb64/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
17
keyboards/kelowna/rgb64/readme.md
Normal file
17
keyboards/kelowna/rgb64/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# kelownaRGB64
|
||||
|
||||

|
||||
|
||||
A 60% keyboard based on STM32f303
|
||||
|
||||
* Keyboard Maintainer: [Weirdo](https://github.com/Weirdo-F)(https://github.com/Weirdo-F)
|
||||
* Hardware Supported: kelownaRGB64
|
||||
* Hardware Availability: Not yet
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make kelowna/rgb64:default
|
||||
|
||||
Use the SWD interface on the board to connect to the STlink (JLink) to directly burn firmware without entering the bootloader.
|
||||
|
||||
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).
|
||||
16
keyboards/kelowna/rgb64/rgb64.c
Normal file
16
keyboards/kelowna/rgb64/rgb64.c
Normal file
@@ -0,0 +1,16 @@
|
||||
/* Copyright 2021 Weirdo
|
||||
*
|
||||
* 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 "rgb64.h"
|
||||
31
keyboards/kelowna/rgb64/rgb64.h
Normal file
31
keyboards/kelowna/rgb64/rgb64.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
Copyright 2021 Weirdo
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
|
||||
#define LAYOUT_64_ansi( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
|
||||
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \
|
||||
) { \
|
||||
{K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E}, \
|
||||
{K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E}, \
|
||||
{K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E}, \
|
||||
{K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E}, \
|
||||
{K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO,KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E} \
|
||||
}
|
||||
24
keyboards/kelowna/rgb64/rules.mk
Normal file
24
keyboards/kelowna/rgb64/rules.mk
Normal file
@@ -0,0 +1,24 @@
|
||||
# MCU name
|
||||
MCU = STM32F303
|
||||
BOARD = QMK_PROTON_C
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = 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
|
||||
LAYOUTS = 64_ansi
|
||||
97
keyboards/primekb/prime_e/keymaps/peott-fr/keymap.c
Normal file
97
keyboards/primekb/prime_e/keymaps/peott-fr/keymap.c
Normal file
@@ -0,0 +1,97 @@
|
||||
0414/* Copyright 2021 Pierre-Emmanuel Ott
|
||||
*
|
||||
* 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
|
||||
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
_LEFTHAND,
|
||||
_NUM,
|
||||
_FUNC
|
||||
};
|
||||
|
||||
#define SPC_LFT LT(_LEFTHAND, KC_SPC)
|
||||
#define FN_NUM LT(_NUM, KC_MNXT)
|
||||
#define BSP_FUNC LT(_FUNC, KC_BSPC)
|
||||
|
||||
/* This keymap is a regular 40s keymap for most. My concessions include no numpad, and a dedicated left-hand layer.
|
||||
Enter is on a layer, which seems somewhat safe!
|
||||
Changes/improvements include removing all the Quantum mod functions when on the arrow layer, so that Ctrl and Shift act without ambiguity based on short or long presses.
|
||||
The 3 LEDs on the board show Caps Lock/L1/L2 respectively. L3 has no LED.
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT(
|
||||
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,
|
||||
LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
|
||||
LCTL_T(KC_MPRV), LALT_T(KC_MPLY), FN_NUM, SPC_LFT, BSP_FUNC, LGUI_T(KC_DEL), RALT_T(KC_HOME), RCTL_T(KC_END)
|
||||
),
|
||||
[_LEFTHAND] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_LCTL, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT,
|
||||
KC_LSFT, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT,
|
||||
KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP
|
||||
),
|
||||
[_NUM] = LAYOUT(
|
||||
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_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[_FUNC] = LAYOUT(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
|
||||
void matrix_init_user(void) {
|
||||
// set CapsLock LED to output and low
|
||||
setPinOutput(B1);
|
||||
writePinLow(B1);
|
||||
// set Layer 1 to output and low
|
||||
setPinOutput(B2);
|
||||
writePinLow(B2);
|
||||
// set Layer 2 to output and low
|
||||
setPinOutput(B3);
|
||||
writePinLow(B3);
|
||||
}
|
||||
|
||||
//function to activate Caps Lock LED
|
||||
bool led_update_user(led_t led_state) {
|
||||
writePin(B1, led_state.caps_lock);
|
||||
return false;
|
||||
}
|
||||
|
||||
//function for layer indicator LED
|
||||
layer_state_t layer_state_set_user(layer_state_t state)
|
||||
{
|
||||
if (get_highest_layer(state) == 1) {
|
||||
writePinHigh(B2);
|
||||
}
|
||||
else {
|
||||
writePinLow(B2);
|
||||
}
|
||||
if (get_highest_layer(state) == 2) {
|
||||
writePinHigh(B3);
|
||||
}
|
||||
else {
|
||||
writePinLow(B3);
|
||||
}
|
||||
return state;
|
||||
}
|
||||
99
keyboards/viktus/sp_mini/config.h
Normal file
99
keyboards/viktus/sp_mini/config.h
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x5644
|
||||
#define PRODUCT_ID 0x534D
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Viktus_Design
|
||||
#define PRODUCT SP_Mini
|
||||
|
||||
/* key matrix size */
|
||||
// Rows are doubled-up
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 8
|
||||
|
||||
|
||||
// wiring of each half
|
||||
#define MATRIX_ROW_PINS { F0, B5, B4, D7, D6 }
|
||||
#define MATRIX_COL_PINS { B6, C6, C7, D4, D2, D3, D5 } // no B7 on left hand
|
||||
#define MATRIX_ROW_PINS_RIGHT { F0, B5, B4, D7, D6 }
|
||||
#define MATRIX_COL_PINS_RIGHT { B6, C6, C7, D4, D2, D3, D5, B7 }
|
||||
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Split Defines */
|
||||
#define SPLIT_USB_DETECT
|
||||
#define MASTER_LEFT
|
||||
#define USE_I2C
|
||||
|
||||
/* define if matrix has ghost */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
|
||||
/* ws2812 RGB LED */
|
||||
#define RGB_DI_PIN E6
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
|
||||
//#define RGBLIGHT_SPLIT
|
||||
#define RGBLED_NUM 24 // Number of LEDs
|
||||
#define RGBLED_SPLIT { 12, 12 }
|
||||
|
||||
|
||||
|
||||
#define ENCODERS_PAD_A {F4}
|
||||
#define ENCODERS_PAD_B {F1}
|
||||
//#define ENCODERS_PAD_A_RIGHT {F4}
|
||||
//#define ENCODERS_PAD_B_RIGHT {F1}
|
||||
|
||||
#define ENCODER_RESOLUTIONS { 8, 8 }
|
||||
|
||||
/*
|
||||
* 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
|
||||
85
keyboards/viktus/sp_mini/info.json
Normal file
85
keyboards/viktus/sp_mini/info.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"keyboard_name": "sp_mini",
|
||||
"url": "",
|
||||
"maintainer": "jrfhoutx",
|
||||
"width": 16,
|
||||
"height": 5.5,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.25, "y":0},
|
||||
{"x":6.25, "y":0},
|
||||
{"x":7.75, "y":0},
|
||||
{"x":8.75, "y":0},
|
||||
{"x":9.75, "y":0},
|
||||
{"x":10.75, "y":0},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0},
|
||||
{"x":13.75, "y":0},
|
||||
{"x":15, "y":0},
|
||||
|
||||
{"x":0, "y":1.25},
|
||||
{"label":"Esc", "x":1.25, "y":1.25},
|
||||
{"label":"Q", "x":2.25, "y":1.25},
|
||||
{"label":"W", "x":3.25, "y":1.25},
|
||||
{"label":"E", "x":4.25, "y":1.25},
|
||||
{"label":"R", "x":5.25, "y":1.25},
|
||||
{"label":"T", "x":6.25, "y":1.25},
|
||||
{"label":"Y", "x":7.75, "y":1.25},
|
||||
{"label":"U", "x":8.75, "y":1.25},
|
||||
{"label":"I", "x":9.75, "y":1.25},
|
||||
{"label":"O", "x":10.75, "y":1.25},
|
||||
{"label":"P", "x":11.75, "y":1.25},
|
||||
{"label":"Delete", "x":12.75, "y":1.25},
|
||||
{"label":"Back", "x":13.75, "y":1.25},
|
||||
{"x":15, "y":1.25},
|
||||
|
||||
{"x":0, "y":2.25},
|
||||
{"label":"Tab", "x":1.25, "y":2.25, "w":1.25},
|
||||
{"label":"A", "x":2.5, "y":2.25},
|
||||
{"label":"S", "x":3.5, "y":2.25},
|
||||
{"label":"D", "x":4.5, "y":2.25},
|
||||
{"label":"F", "x":5.5, "y":2.25},
|
||||
{"label":"G", "x":6.5, "y":2.25},
|
||||
{"label":"H", "x":8, "y":2.25},
|
||||
{"label":"J", "x":9, "y":2.25},
|
||||
{"label":"K", "x":10, "y":2.25},
|
||||
{"label":"L", "x":11, "y":2.25},
|
||||
{"label":"\"", "x":12, "y":2.25},
|
||||
{"label":"Enter", "x":13, "y":2.25, "w":1.75},
|
||||
{"x":15, "y":2.25},
|
||||
|
||||
{"x":0, "y":3.25},
|
||||
{"label":"Shift", "x":1.25, "y":3.25, "w":1.75},
|
||||
{"label":"Z", "x":3, "y":3.25},
|
||||
{"label":"X", "x":4, "y":3.25},
|
||||
{"label":"C", "x":5, "y":3.25},
|
||||
{"label":"V", "x":6, "y":3.25},
|
||||
{"label":"B", "x":7, "y":3.25},
|
||||
{"label":"N", "x":8.5, "y":3.25},
|
||||
{"label":"M", "x":9.5, "y":3.25},
|
||||
{"label":"<", "x":10.5, "y":3.25},
|
||||
{"label":">", "x":11.5, "y":3.25},
|
||||
{"label":"Shift", "x":12.5, "y":3.25, "w":1.25},
|
||||
{"label":"\u2191", "x":14, "y":3.5},
|
||||
|
||||
{"x":0, "y":4.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4.25, "w":1.25},
|
||||
{"label":"LAlt", "x":2.5, "y":4.25},
|
||||
{"label":"LGUI", "x":3.5, "y":4.25},
|
||||
{"label":"Fn1", "x":4.5, "y":4.25, "w":1.25},
|
||||
{"label":"SPFn1", "x":5.75, "y":4.25, "w":2},
|
||||
{"label":"BSFn2", "x":8.25, "y":4.25, "w":2.25},
|
||||
{"label":"Alt", "x":10.5, "y":4.25, "w":1.25},
|
||||
{"label":"Fn2", "x":11.75, "y":4.25},
|
||||
{"label":"\u2190", "x":13, "y":4.5},
|
||||
{"label":"\u2193", "x":14, "y":4.5},
|
||||
{"label":"\u2192", "x":15, "y":4.5}]
|
||||
}
|
||||
}
|
||||
}
|
||||
128
keyboards/viktus/sp_mini/keymaps/default/keymap.c
Normal file
128
keyboards/viktus/sp_mini/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,128 @@
|
||||
/* Copyright 2021 jrfhoutx
|
||||
*
|
||||
* 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
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
|
||||
enum custom_layers {
|
||||
_BASE,
|
||||
_FN1,
|
||||
_FN2,
|
||||
_FN3,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
};
|
||||
|
||||
#define KC_FN1 MO(_FN1)
|
||||
#define KC_FN2 MO(_FN2)
|
||||
#define SPFN1 LT(_FN1, KC_SPACE)
|
||||
#define BSFN2 LT(_FN2, KC_BSPC)
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F24, _______, _______,
|
||||
MO(1), KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, _______,
|
||||
MO(2), KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_RSFT, KC_UP,
|
||||
_______, KC_LCTL, KC_LALT, KC_LGUI, KC_FN1, SPFN1, BSFN2, KC_RALT, KC_FN2, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT_all(
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, 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, _______,
|
||||
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, _______,
|
||||
_______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, _______, KC_UP,
|
||||
_______, _______, _______, _______, _______, _______, KC_DEL, KC_0, _______, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN2] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, _______,
|
||||
_______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, _______, _______, _______, KC_COLN, _______, _______,
|
||||
_______, _______, _______, _______, KC_DEL, KC_PGDN, KC_END, _______, _______, _______, _______, _______, KC_UP,
|
||||
_______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F24, _______, _______,
|
||||
MO(1), KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, _______,
|
||||
MO(2), KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_RSFT, KC_UP,
|
||||
_______, KC_LCTL, KC_LALT, KC_LGUI, KC_FN1, SPFN1, BSFN2, KC_RALT, KC_FN2, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
void keyboard_pre_init_user(void) {
|
||||
setPinOutput(F5); // initialize F5 for LED
|
||||
setPinOutput(F6); // initialize F6 for LED
|
||||
setPinOutput(F7); // initialize F7 for LED
|
||||
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
writePinLow(F5);
|
||||
writePinLow(F6);
|
||||
writePinLow(F7);
|
||||
switch (get_highest_layer(state)) {
|
||||
case _FN1:
|
||||
writePinHigh(F5);
|
||||
break;
|
||||
case _FN2:
|
||||
writePinHigh(F6);
|
||||
break;
|
||||
case _FN3: // replace 'XXXX' with the layer or function name
|
||||
writePinHigh(F7);
|
||||
break;
|
||||
case KC_F24:
|
||||
writePinHigh(F7);
|
||||
writePinHigh(F5);
|
||||
writePinHigh(F6);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
bool spongebob_mode = false;
|
||||
bool spongebob_case = false;
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (spongebob_mode) {
|
||||
switch(keycode) {
|
||||
case KC_A...KC_Z:
|
||||
if (record->event.pressed) {
|
||||
(spongebob_case ^= 1) == 0 ? tap_code16(S(keycode)) : tap_code(keycode);
|
||||
return false; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
switch(keycode) {
|
||||
case KC_F24:
|
||||
if (record->event.pressed) {
|
||||
spongebob_mode ^= 1;
|
||||
}
|
||||
return false; break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
136
keyboards/viktus/sp_mini/keymaps/via/keymap.c
Normal file
136
keyboards/viktus/sp_mini/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,136 @@
|
||||
/* Copyright 2021 jrfhoutx
|
||||
*
|
||||
* 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
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
|
||||
enum custom_layers {
|
||||
_BASE,
|
||||
_FN1,
|
||||
_FN2,
|
||||
_FN3,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
};
|
||||
|
||||
#define KC_FN1 MO(_FN1)
|
||||
#define KC_FN2 MO(_FN2)
|
||||
#define SPFN1 LT(_FN1, KC_SPACE)
|
||||
#define BSFN2 LT(_FN2, KC_BSPC)
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
MO(1), KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, _______,
|
||||
MO(2), KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_RSFT, KC_UP,
|
||||
_______, KC_LCTL, KC_LALT, KC_LGUI, KC_FN1, SPFN1, BSFN2, KC_RALT, KC_FN2, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT_all(
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, 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, _______,
|
||||
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, _______,
|
||||
_______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, _______, KC_UP,
|
||||
_______, _______, _______, _______, _______, _______, KC_DEL, KC_0, _______, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN2] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, _______,
|
||||
_______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, _______, _______, _______, KC_COLN, _______, _______,
|
||||
_______, _______, _______, _______, KC_DEL, KC_PGDN, KC_END, _______, _______, _______, _______, _______, KC_UP,
|
||||
_______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F24, _______, _______,
|
||||
MO(1), KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, _______,
|
||||
MO(2), KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_RSFT, KC_UP,
|
||||
_______, KC_LCTL, KC_LALT, KC_LGUI, KC_FN1, SPFN1, BSFN2, KC_RALT, KC_FN2, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
void keyboard_pre_init_user(void) {
|
||||
setPinOutput(F5); // initialize F5 for LED
|
||||
setPinOutput(F6); // initialize F6 for LED
|
||||
setPinOutput(F7); // initialize F7 for LED
|
||||
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _FN1:
|
||||
writePinHigh(F5);
|
||||
writePinLow(F6);
|
||||
writePinLow(F7);
|
||||
break;
|
||||
case _FN2:
|
||||
writePinHigh(F6);
|
||||
writePinLow(F5);
|
||||
writePinLow(F7);
|
||||
break;
|
||||
case _FN3: // replace 'XXXX' with the layer or function name
|
||||
writePinHigh(F7);
|
||||
writePinLow(F5);
|
||||
writePinLow(F6);
|
||||
break;
|
||||
case KC_F24:
|
||||
writePinHigh(F7);
|
||||
writePinHigh(F5);
|
||||
writePinHigh(F6);
|
||||
break;
|
||||
default:
|
||||
writePinLow(F5);
|
||||
writePinLow(F6);
|
||||
writePinLow(F7);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
bool spongebob_mode = false;
|
||||
bool spongebob_case = false;
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (spongebob_mode) {
|
||||
switch(keycode) {
|
||||
case KC_A...KC_Z:
|
||||
if (record->event.pressed) {
|
||||
(spongebob_case ^= 1) == 0 ? tap_code16(S(keycode)) : tap_code(keycode);
|
||||
return false; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
switch(keycode) {
|
||||
case USER00:
|
||||
if (record->event.pressed) {
|
||||
spongebob_mode ^= 1;
|
||||
}
|
||||
return false; break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
2
keyboards/viktus/sp_mini/keymaps/via/rules.mk
Normal file
2
keyboards/viktus/sp_mini/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
|
||||
21
keyboards/viktus/sp_mini/readme.md
Normal file
21
keyboards/viktus/sp_mini/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# sp_mini
|
||||
|
||||

|
||||
|
||||
The SP Mini is a 40% version of the SP-111 created in a collaboration of OneCreativeMind and BlindAssassin111 (Viktus owner). All design done by BlindAssassin111. The layout includes an F Row, left macro column, and arrows. Rotary encoders are supported in the top left and right positions. The board also features three through hole LED indicators and RGB underglow.
|
||||
|
||||
The SP Mini has dual ATMEGA32U4 controllers linked with USB Type C. Each PCB half has a single reset button and a standard AVR ISP header.
|
||||
|
||||
* Keyboard Maintainer: [jrfhoutx](https://github.com/jrfhoutx)
|
||||
* Hardware Supported: SP Mini FE (Founder's Edition), SP Mini LC (Low Cal)
|
||||
* Hardware Availability: Viktus Designs, LLC.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make viktus/sp_mini:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make viktus/sp_mini:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
24
keyboards/viktus/sp_mini/rules.mk
Normal file
24
keyboards/viktus/sp_mini/rules.mk
Normal file
@@ -0,0 +1,24 @@
|
||||
# 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 = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = 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
|
||||
SPLIT_KEYBOARD = yes
|
||||
ENCODER_ENABLE = yes
|
||||
45
keyboards/viktus/sp_mini/sp_mini.c
Normal file
45
keyboards/viktus/sp_mini/sp_mini.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Copyright 2021 jrfhoutx
|
||||
*
|
||||
* 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 "sp_mini.h"
|
||||
|
||||
void keyboard_pre_init_kb(void) {
|
||||
// enable built in pullups to avoid timeouts when right hand not connected
|
||||
setPinInputHigh(D0);
|
||||
setPinInputHigh(D1);
|
||||
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) { return false; }
|
||||
if (index == 0) { /* First encoder */
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGDN);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
} else if (index == 1) { /* Second encoder */
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
41
keyboards/viktus/sp_mini/sp_mini.h
Normal file
41
keyboards/viktus/sp_mini/sp_mini.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/* Copyright 2021 jrfhoutx
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
#define LAYOUT_all( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
|
||||
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
|
||||
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R26, R27, \
|
||||
L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
|
||||
L40, L41, L42, L43, L44, L45, R42, R43, R44, R45, R46, R47 \
|
||||
) \
|
||||
{ \
|
||||
{ L00, L01, L02, L03, L04, L05, L06 }, \
|
||||
{ L10, L11, L12, L13, L14, L15, L16 }, \
|
||||
{ L20, L21, L22, L23, L24, L25, L26 }, \
|
||||
{ L30, L31, L32, L33, L34, L35, L36 }, \
|
||||
{ L40, L41, L42, L43, L44, L45, ___ }, \
|
||||
{ R00, R01, R02, R03, R04, R05, R06, R07}, \
|
||||
{ R10, R11, R12, R13, R14, R15, R16, R17}, \
|
||||
{ R20, R21, R22, R23, R24, ___, R26, R27}, \
|
||||
{ ___, R31, R32, R33, R34, R35, R36, ___}, \
|
||||
{ ___, ___, R42, R43, R44, R45, R46, R47} \
|
||||
}
|
||||
@@ -37,37 +37,70 @@
|
||||
{"x": 3, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_4x6": {
|
||||
"LAYOUT_ortho_4x6_right": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5.25, "y": 0},
|
||||
{"x": 5, "y": 0, "w": 1.5},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5.25, "y": 1},
|
||||
{"x": 5, "y": 1, "w": 1.5},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5.25, "y": 2},
|
||||
{"x": 5, "y": 2, "w": 1.5},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5.25, "y": 3}
|
||||
{"x": 5, "y": 3, "w": 1.5}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_ortho_4x6_left": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0, "w": 1.5},
|
||||
{"x": 1.5, "y": 0},
|
||||
{"x": 2.5, "y": 0},
|
||||
{"x": 3.5, "y": 0},
|
||||
{"x": 4.5, "y": 0},
|
||||
{"x": 5.5, "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": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.5},
|
||||
{"x": 1.5, "y": 3},
|
||||
{"x": 2.5, "y": 3},
|
||||
{"x": 3.5, "y": 3},
|
||||
{"x": 4.5, "y": 3},
|
||||
{"x": 5.5, "y": 3}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_numpad_6x4": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
|
||||
@@ -36,18 +36,32 @@
|
||||
{ k05, k15, k25, k35 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_ortho_4x6( \
|
||||
#define LAYOUT_ortho_4x6_right( \
|
||||
k00, k01, k02, k03, k04, k05, \
|
||||
k10, k11, k12, k13, k14, k15, \
|
||||
k20, k21, k22, k23, k24, k25, \
|
||||
k30, k31, k32, k33, k34, k35 \
|
||||
) { \
|
||||
{ k00, k10, k20, k30 }, \
|
||||
{ k01, k11, k21, k31 }, \
|
||||
{ k02, k12, k22, k32 }, \
|
||||
{ k03, k13, k23, k33 }, \
|
||||
{ k05, k15, k25, k35 }, \
|
||||
{ k04, k14, k24, k34 }, \
|
||||
{ k05, k15, k25, k35 } \
|
||||
{ k03, k13, k23, k33 }, \
|
||||
{ k02, k12, k22, k32 }, \
|
||||
{ k01, k11, k21, k31 }, \
|
||||
{ k00, k10, k20, k30 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_ortho_4x6_left( \
|
||||
k00, k01, k02, k03, k04, k05, \
|
||||
k10, k11, k12, k13, k14, k15, \
|
||||
k20, k21, k22, k23, k24, k25, \
|
||||
k30, k31, k32, k33, k34, k35 \
|
||||
) { \
|
||||
{ k30, k20, k10, k00 }, \
|
||||
{ k31, k21, k11, k01 }, \
|
||||
{ k32, k22, k12, k02 }, \
|
||||
{ k33, k23, k13, k03 }, \
|
||||
{ k34, k24, k14, k04 }, \
|
||||
{ k35, k25, k15, k05 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_numpad_6x4( \
|
||||
|
||||
21
layouts/default/ortho_4x6/default_ortho_4x6/keymap.c
Normal file
21
layouts/default/ortho_4x6/default_ortho_4x6/keymap.c
Normal file
@@ -0,0 +1,21 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┐
|
||||
* │Tab│ Q │ W │ E │ R │ T │
|
||||
* ├───┼───┼───┼───┼───┼───┤
|
||||
* │Bsp│ A │ S │ D │ F │ G │
|
||||
* ├───┼───┼───┼───┼───┼───┤
|
||||
* │Sft│ Z │ X │ C │ V │ B │
|
||||
* ├───┼───┼───┼───┼───┼───┤
|
||||
* │Ctl│App│GUI│Alt│Spc│Spc│
|
||||
* └───┴───┴───┴───┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_ortho_4x6(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||
KC_BKSP, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||
KC_LCTL, KC_MENU, KC_LGUI, KC_LALT, KC_SPC, KC_SPC
|
||||
)
|
||||
};
|
||||
40
layouts/default/ortho_4x6/info.json
Normal file
40
layouts/default/ortho_4x6/info.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"keyboard_name": "4x6 ortholinear layout",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 4,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x6": {
|
||||
"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":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
4
layouts/default/ortho_4x6/layout.json
Normal file
4
layouts/default/ortho_4x6/layout.json
Normal file
@@ -0,0 +1,4 @@
|
||||
[{a:7},"","","","","",""],
|
||||
["","","","","",""],
|
||||
["","","","","",""],
|
||||
["","","","","",""]
|
||||
3
layouts/default/ortho_4x6/readme.md
Normal file
3
layouts/default/ortho_4x6/readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# ortho_4x6
|
||||
|
||||
LAYOUT_ortho_4x6
|
||||
@@ -12,6 +12,13 @@ let
|
||||
# files if the requirements*.txt files change
|
||||
pythonEnv = poetry2nix.mkPoetryEnv {
|
||||
projectDir = ./util/nix;
|
||||
overrides = poetry2nix.overrides.withDefaults (self: super: {
|
||||
qmk = super.qmk.overridePythonAttrs(old: {
|
||||
# Allow QMK CLI to run "bin/qmk" as a subprocess (the wrapper changes
|
||||
# $PATH and breaks these invocations).
|
||||
dontWrapPythonPrograms = true;
|
||||
});
|
||||
});
|
||||
};
|
||||
in
|
||||
|
||||
|
||||
163
util/nix/poetry.lock
generated
163
util/nix/poetry.lock
generated
@@ -43,29 +43,18 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
name = "coverage"
|
||||
version = "5.5"
|
||||
description = "Code coverage measurement for Python"
|
||||
category = "main"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
|
||||
|
||||
[package.extras]
|
||||
toml = ["toml"]
|
||||
|
||||
[[package]]
|
||||
name = "dotty-dict"
|
||||
version = "1.3.0"
|
||||
description = "Dictionary wrapper for quick access to deeply nested keys."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
setuptools_scm = "*"
|
||||
|
||||
[[package]]
|
||||
name = "flake8"
|
||||
version = "3.9.2"
|
||||
description = "the modular source code checker: pep8 pyflakes and co"
|
||||
category = "main"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
|
||||
|
||||
@@ -151,13 +140,13 @@ colorama = ">=0.3.9"
|
||||
name = "mccabe"
|
||||
version = "0.6.1"
|
||||
description = "McCabe checker, plugin for flake8"
|
||||
category = "main"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "milc"
|
||||
version = "1.4.2"
|
||||
version = "1.6.2"
|
||||
description = "Opinionated Batteries-Included Python 3 CLI Framework."
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -174,7 +163,7 @@ spinners = "*"
|
||||
name = "nose2"
|
||||
version = "0.10.0"
|
||||
description = "unittest2 with plugins, the succesor to nose"
|
||||
category = "main"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
@@ -188,20 +177,21 @@ dev = ["Sphinx (>=1.6.5)", "sphinx-rtd-theme", "mock", "coverage"]
|
||||
|
||||
[[package]]
|
||||
name = "pep8-naming"
|
||||
version = "0.11.1"
|
||||
version = "0.12.1"
|
||||
description = "Check PEP-8 naming conventions, plugin for flake8"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
flake8 = ">=3.9.1"
|
||||
flake8-polyfill = ">=1.0.2,<2"
|
||||
|
||||
[[package]]
|
||||
name = "pycodestyle"
|
||||
version = "2.7.0"
|
||||
description = "Python style guide checker"
|
||||
category = "main"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
@@ -209,13 +199,13 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
name = "pyflakes"
|
||||
version = "2.3.1"
|
||||
description = "passive checker of Python programs"
|
||||
category = "main"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[[package]]
|
||||
name = "pygments"
|
||||
version = "2.9.0"
|
||||
version = "2.10.0"
|
||||
description = "Pygments is a syntax highlighting package written in Python."
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -223,50 +213,44 @@ python-versions = ">=3.5"
|
||||
|
||||
[[package]]
|
||||
name = "pyrsistent"
|
||||
version = "0.17.3"
|
||||
version = "0.18.0"
|
||||
description = "Persistent/Functional/Immutable data structures"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[[package]]
|
||||
name = "pyusb"
|
||||
version = "1.1.1"
|
||||
description = "Python USB access module"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "qmk"
|
||||
version = "0.0.51"
|
||||
description = "A program to help users work with QMK Firmware."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
dotty-dict = "*"
|
||||
flake8 = "*"
|
||||
hid = "*"
|
||||
hjson = "*"
|
||||
jsonschema = ">=3"
|
||||
milc = ">=1.4.0"
|
||||
nose2 = "*"
|
||||
pygments = "*"
|
||||
pyusb = "*"
|
||||
yapf = "*"
|
||||
|
||||
[[package]]
|
||||
name = "setuptools-scm"
|
||||
version = "6.0.1"
|
||||
description = "the blessed package to manage your versions by scm tags"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.extras]
|
||||
toml = ["toml"]
|
||||
[[package]]
|
||||
name = "pyusb"
|
||||
version = "1.2.1"
|
||||
description = "Python USB access module"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6.0"
|
||||
|
||||
[[package]]
|
||||
name = "qmk"
|
||||
version = "1.0.0"
|
||||
description = "A program to help users work with QMK Firmware."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
hid = "*"
|
||||
hjson = "*"
|
||||
jsonschema = ">=3"
|
||||
milc = ">=1.4.2"
|
||||
pygments = "*"
|
||||
pyusb = "*"
|
||||
qmk-dotty-dict = "*"
|
||||
|
||||
[[package]]
|
||||
name = "qmk-dotty-dict"
|
||||
version = "1.3.0.post1"
|
||||
description = "Dictionary wrapper for quick access to deeply nested keys."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "six"
|
||||
@@ -294,16 +278,16 @@ python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "yapf"
|
||||
version = "0.30.0"
|
||||
version = "0.31.0"
|
||||
description = "A formatter for Python code."
|
||||
category = "main"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.8"
|
||||
content-hash = "5e181d51536240d08c74ba6a46bd0988ee4ca72ac3d5b388965ca8023e9b9a99"
|
||||
content-hash = "468ae51aaddfe2ce62938f131c688bbc447e41608d4dd7d30db36391c38bda20"
|
||||
|
||||
[metadata.files]
|
||||
appdirs = [
|
||||
@@ -376,9 +360,6 @@ coverage = [
|
||||
{file = "coverage-5.5-pp37-none-any.whl", hash = "sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4"},
|
||||
{file = "coverage-5.5.tar.gz", hash = "sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c"},
|
||||
]
|
||||
dotty-dict = [
|
||||
{file = "dotty_dict-1.3.0.tar.gz", hash = "sha256:eb0035a3629ecd84397a68f1f42f1e94abd1c34577a19cd3eacad331ee7cbaf0"},
|
||||
]
|
||||
flake8 = [
|
||||
{file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"},
|
||||
{file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"},
|
||||
@@ -412,16 +393,16 @@ mccabe = [
|
||||
{file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
|
||||
]
|
||||
milc = [
|
||||
{file = "milc-1.4.2-py2.py3-none-any.whl", hash = "sha256:65ee004caa769b1ee144b15be7908d1f623920ab6f356e5c5c95be9457aa15d8"},
|
||||
{file = "milc-1.4.2.tar.gz", hash = "sha256:c6b2f19e3196b00a0060f8c883533e356f2054a9f81692b7b97ccee0d01626fd"},
|
||||
{file = "milc-1.6.2-py2.py3-none-any.whl", hash = "sha256:cb26404c7f3d6797c9c42005de732161e45e21294cde85845e914b279321bdad"},
|
||||
{file = "milc-1.6.2.tar.gz", hash = "sha256:779710a0b9300bef3c5748158887e6c734659e147d55548d9e4701d7a7d5dddf"},
|
||||
]
|
||||
nose2 = [
|
||||
{file = "nose2-0.10.0-py2.py3-none-any.whl", hash = "sha256:aa620e759f2c5018d9ba041340391913e282ecebd3c392027f1575847b093ec6"},
|
||||
{file = "nose2-0.10.0.tar.gz", hash = "sha256:886ba617a96de0130c54b24479bd5c2d74d5c940d40f3809c3a275511a0c4a60"},
|
||||
]
|
||||
pep8-naming = [
|
||||
{file = "pep8-naming-0.11.1.tar.gz", hash = "sha256:a1dd47dd243adfe8a83616e27cf03164960b507530f155db94e10b36a6cd6724"},
|
||||
{file = "pep8_naming-0.11.1-py2.py3-none-any.whl", hash = "sha256:f43bfe3eea7e0d73e8b5d07d6407ab47f2476ccaeff6937c84275cd30b016738"},
|
||||
{file = "pep8-naming-0.12.1.tar.gz", hash = "sha256:bb2455947757d162aa4cad55dba4ce029005cd1692f2899a21d51d8630ca7841"},
|
||||
{file = "pep8_naming-0.12.1-py2.py3-none-any.whl", hash = "sha256:4a8daeaeb33cfcde779309fc0c9c0a68a3bbe2ad8a8308b763c5068f86eb9f37"},
|
||||
]
|
||||
pycodestyle = [
|
||||
{file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"},
|
||||
@@ -432,23 +413,43 @@ pyflakes = [
|
||||
{file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"},
|
||||
]
|
||||
pygments = [
|
||||
{file = "Pygments-2.9.0-py3-none-any.whl", hash = "sha256:d66e804411278594d764fc69ec36ec13d9ae9147193a1740cd34d272ca383b8e"},
|
||||
{file = "Pygments-2.9.0.tar.gz", hash = "sha256:a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f"},
|
||||
{file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"},
|
||||
{file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"},
|
||||
]
|
||||
pyrsistent = [
|
||||
{file = "pyrsistent-0.17.3.tar.gz", hash = "sha256:2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e"},
|
||||
{file = "pyrsistent-0.18.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f4c8cabb46ff8e5d61f56a037974228e978f26bfefce4f61a4b1ac0ba7a2ab72"},
|
||||
{file = "pyrsistent-0.18.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:da6e5e818d18459fa46fac0a4a4e543507fe1110e808101277c5a2b5bab0cd2d"},
|
||||
{file = "pyrsistent-0.18.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5e4395bbf841693eaebaa5bb5c8f5cdbb1d139e07c975c682ec4e4f8126e03d2"},
|
||||
{file = "pyrsistent-0.18.0-cp36-cp36m-win32.whl", hash = "sha256:527be2bfa8dc80f6f8ddd65242ba476a6c4fb4e3aedbf281dfbac1b1ed4165b1"},
|
||||
{file = "pyrsistent-0.18.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2aaf19dc8ce517a8653746d98e962ef480ff34b6bc563fc067be6401ffb457c7"},
|
||||
{file = "pyrsistent-0.18.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:58a70d93fb79dc585b21f9d72487b929a6fe58da0754fa4cb9f279bb92369396"},
|
||||
{file = "pyrsistent-0.18.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4916c10896721e472ee12c95cdc2891ce5890898d2f9907b1b4ae0f53588b710"},
|
||||
{file = "pyrsistent-0.18.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:73ff61b1411e3fb0ba144b8f08d6749749775fe89688093e1efef9839d2dcc35"},
|
||||
{file = "pyrsistent-0.18.0-cp37-cp37m-win32.whl", hash = "sha256:b29b869cf58412ca5738d23691e96d8aff535e17390128a1a52717c9a109da4f"},
|
||||
{file = "pyrsistent-0.18.0-cp37-cp37m-win_amd64.whl", hash = "sha256:097b96f129dd36a8c9e33594e7ebb151b1515eb52cceb08474c10a5479e799f2"},
|
||||
{file = "pyrsistent-0.18.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:772e94c2c6864f2cd2ffbe58bb3bdefbe2a32afa0acb1a77e472aac831f83427"},
|
||||
{file = "pyrsistent-0.18.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c1a9ff320fa699337e05edcaae79ef8c2880b52720bc031b219e5b5008ebbdef"},
|
||||
{file = "pyrsistent-0.18.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cd3caef37a415fd0dae6148a1b6957a8c5f275a62cca02e18474608cb263640c"},
|
||||
{file = "pyrsistent-0.18.0-cp38-cp38-win32.whl", hash = "sha256:e79d94ca58fcafef6395f6352383fa1a76922268fa02caa2272fff501c2fdc78"},
|
||||
{file = "pyrsistent-0.18.0-cp38-cp38-win_amd64.whl", hash = "sha256:a0c772d791c38bbc77be659af29bb14c38ced151433592e326361610250c605b"},
|
||||
{file = "pyrsistent-0.18.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d5ec194c9c573aafaceebf05fc400656722793dac57f254cd4741f3c27ae57b4"},
|
||||
{file = "pyrsistent-0.18.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:6b5eed00e597b5b5773b4ca30bd48a5774ef1e96f2a45d105db5b4ebb4bca680"},
|
||||
{file = "pyrsistent-0.18.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:48578680353f41dca1ca3dc48629fb77dfc745128b56fc01096b2530c13fd426"},
|
||||
{file = "pyrsistent-0.18.0-cp39-cp39-win32.whl", hash = "sha256:f3ef98d7b76da5eb19c37fda834d50262ff9167c65658d1d8f974d2e4d90676b"},
|
||||
{file = "pyrsistent-0.18.0-cp39-cp39-win_amd64.whl", hash = "sha256:404e1f1d254d314d55adb8d87f4f465c8693d6f902f67eb6ef5b4526dc58e6ea"},
|
||||
{file = "pyrsistent-0.18.0.tar.gz", hash = "sha256:773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b"},
|
||||
]
|
||||
pyusb = [
|
||||
{file = "pyusb-1.1.1-py3-none-any.whl", hash = "sha256:f18eb813d3a1439918071234589162c2f209a19adbeffeb1377ce078a4aebc70"},
|
||||
{file = "pyusb-1.1.1.tar.gz", hash = "sha256:7d449ad916ce58aff60b89aae0b65ac130f289c24d6a5b7b317742eccffafc38"},
|
||||
{file = "pyusb-1.2.1-py3-none-any.whl", hash = "sha256:2b4c7cb86dbadf044dfb9d3a4ff69fd217013dbe78a792177a3feb172449ea36"},
|
||||
{file = "pyusb-1.2.1.tar.gz", hash = "sha256:a4cc7404a203144754164b8b40994e2849fde1cfff06b08492f12fff9d9de7b9"},
|
||||
]
|
||||
qmk = [
|
||||
{file = "qmk-0.0.51-py2.py3-none-any.whl", hash = "sha256:5f676f389b2450b0956d7eb8e7e378d2e6690d5859a887c91876da0a5faf75ed"},
|
||||
{file = "qmk-0.0.51.tar.gz", hash = "sha256:efeef209cde1df92b9823db686d9684962cd00aae9f45ba5e3d494aa5b3c6b9a"},
|
||||
{file = "qmk-1.0.0-py2.py3-none-any.whl", hash = "sha256:63d69b97a533d91b0cfa7887e68cac7df52c6f7bddf4bf44d17ef1241d85ffff"},
|
||||
{file = "qmk-1.0.0.tar.gz", hash = "sha256:da62eec73c4548cc37b0b9be3937202dc3a301dc2f2663610ecca751a610f9ca"},
|
||||
]
|
||||
setuptools-scm = [
|
||||
{file = "setuptools_scm-6.0.1-py3-none-any.whl", hash = "sha256:c3bd5f701c8def44a5c0bfe8d407bef3f80342217ef3492b951f3777bd2d915c"},
|
||||
{file = "setuptools_scm-6.0.1.tar.gz", hash = "sha256:d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92"},
|
||||
qmk-dotty-dict = [
|
||||
{file = "qmk_dotty_dict-1.3.0.post1-py3-none-any.whl", hash = "sha256:a9cb7fc3ff9631190fee0ecac14986a0ac7b4b6892347dc9d7486a4c4ea24492"},
|
||||
{file = "qmk_dotty_dict-1.3.0.post1.tar.gz", hash = "sha256:3b611e393660bfaa6835c68e94784bae80fe07b8490978b5ecab03a0d2fc7ea2"},
|
||||
]
|
||||
six = [
|
||||
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
|
||||
@@ -462,6 +463,6 @@ termcolor = [
|
||||
{file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"},
|
||||
]
|
||||
yapf = [
|
||||
{file = "yapf-0.30.0-py2.py3-none-any.whl", hash = "sha256:3abf61ba67cf603069710d30acbc88cfe565d907e16ad81429ae90ce9651e0c9"},
|
||||
{file = "yapf-0.30.0.tar.gz", hash = "sha256:3000abee4c28daebad55da6c85f3cd07b8062ce48e2e9943c8da1b9667d48427"},
|
||||
{file = "yapf-0.31.0-py2.py3-none-any.whl", hash = "sha256:e3a234ba8455fe201eaa649cdac872d590089a18b661e39bbac7020978dd9c2e"},
|
||||
{file = "yapf-0.31.0.tar.gz", hash = "sha256:408fb9a2b254c302f49db83c59f9aa0b4b0fd0ec25be3a5c51181327922ff63d"},
|
||||
]
|
||||
|
||||
@@ -9,23 +9,27 @@ authors = []
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.8"
|
||||
appdirs = "^1.4.4"
|
||||
argcomplete = "^1.12.2"
|
||||
colorama = "^0.4.4"
|
||||
dotty-dict = "^1.3.0"
|
||||
hjson = "^3.0.2"
|
||||
jsonschema = "^3.2.0"
|
||||
milc = "^1.3.0"
|
||||
Pygments = "^2.8.0"
|
||||
appdirs = "*"
|
||||
argcomplete = "*"
|
||||
colorama = "*"
|
||||
hid = "*"
|
||||
hjson = "*"
|
||||
jsonschema = ">=3"
|
||||
milc = ">=1.4.2"
|
||||
Pygments = "*"
|
||||
pyusb = "*"
|
||||
qmk-dotty-dict = "*"
|
||||
|
||||
# This dependency is not mentioned in requirements.txt (QMK CLI is not a
|
||||
# library package that is required by the Python code in qmk_firmware), but is
|
||||
# required to build a proper nix-shell environment.
|
||||
qmk = "*"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
nose2 = "^0.10.0"
|
||||
flake8 = "^3.8.4"
|
||||
hid = "^1.0.4"
|
||||
pep8-naming = "^0.11.1"
|
||||
pyusb = "^1.1.1"
|
||||
yapf = "^0.30.0"
|
||||
nose2 = "*"
|
||||
flake8 = "*"
|
||||
pep8-naming = "*"
|
||||
yapf = "*"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
|
||||
Reference in New Issue
Block a user