Merge pull request #1 from qmk/master

update to latest qmk
This commit is contained in:
MichaelGK
2022-09-11 03:46:35 +01:00
committed by GitHub
59 changed files with 2526 additions and 391 deletions
-77
View File
@@ -1,77 +0,0 @@
/*
Copyright 2020 Cole Smith <cole@boadsource.xyz>
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"
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS \
{ B2, B6, B4, B5 }
// wiring of each half
#define MATRIX_COL_PINS \
{ F4, F5, F6, F7, B1 }
#define USE_SERIAL
#define SOFT_SERIAL_PIN D2
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
/* number of backlight levels */
// #define BACKLIGHT_LEVELS 3
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* 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
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#ifdef RGBLIGHT_ENABLE
# define RGBLED_NUM 12 // Number of LEDs
# define RGBLED_SPLIT \
{ 6, 6 }
# define RGBLIGHT_EFFECT_BREATHING
# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
#endif
/*
* 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
+1 -15
View File
@@ -3,18 +3,4 @@
#pragma once
/*
* 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
// Just here to please quantum/split_common/split_util.c
+2 -2
View File
@@ -2,7 +2,7 @@
"features": {
"rgblight": true
},
"matrix_pins": {
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1"],
"rows": ["B2", "B6", "B4", "B5"]
},
@@ -12,7 +12,7 @@
"split": {
"soft_serial_pin": "D2"
},
"rgblight": {
"rgblight": {
"pin": "D3",
"sleep": true,
"led_count": 12,
@@ -2,7 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#undef RGB_DI_PIN
#define RGB_DI_PIN B5
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define DRIVER_LED_TOTAL 44
+87 -3
View File
@@ -19,12 +19,32 @@
#include "quantum.h"
#define LAYOUT_all( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │5D │ │0D │ 2u Backspace
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └───────┘
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌──────────┐
* │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
* ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ └──────────┘
* │40 │41 │42 │56 │5A │5B │5C │ Tsangan
* └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
* ┌───┬─────┬───────────────────────────┬─────┬───┐
* │41 │42 │56 │5A │5B │ HHKB
* └───┴─────┴───────────────────────────┴─────┴───┘
* ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
* │40 │ │42 │56 │5A │ │5C │ WKL
* └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
*/
#define LAYOUT_60_tsangan_hhkb( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B , K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K56, K5A, K5B, K5C, K5D \
K40, K41, K42, K56, K5A, K5B, K5C \
)\
{\
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
@@ -34,3 +54,67 @@
{ K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
{ ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D } \
}
#define LAYOUT_60_ansi_tsangan( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
K40, K41, K42, K56, K5A, K5B, K5C \
)\
{\
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
{ K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
{ K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
{ ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, ___ } \
}
#define LAYOUT_60_hhkb( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K41, K42, K56, K5A, K5B \
)\
{\
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
{ K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
{ ___, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
{ ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, ___, K5D } \
}
#define LAYOUT_60_ansi_wkl( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
K40, K42, K56, K5A, K5C \
)\
{\
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
{ K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
{ K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
{ ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, ___ } \
}
#define LAYOUT_60_ansi_wkl_split_bs_rshift( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K42, K56, K5A, K5C \
)\
{\
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
{ K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
{ K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
{ ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D } \
}
+305 -25
View File
@@ -8,23 +8,29 @@
"pid": "0x2D28",
"device_version": "0.0.1"
},
"layout_aliases": {
"LAYOUT_all": "LAYOUT_60_tsangan_hhkb"
},
"community_layouts": ["60_tsangan_hhkb", "60_ansi_tsangan", "60_hhkb"],
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "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":7, "y":0},
{"label":"*", "x":8, "y":0},
{"label":"(", "x":9, "y":0},
{"label":")", "x":10, "y":0},
{"label":"_", "x":11, "y":0},
{"label":"+", "x":12, "y":0},
"LAYOUT_60_tsangan_hhkb": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Bksp", "x":13, "y":0},
{"label":"Bksp", "x":14, "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},
@@ -36,9 +42,10 @@
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"{", "x":11.5, "y":1},
{"label":"}", "x":12.5, "y":1},
{"label":"|", "x":13.5, "y":1, "w":1.5},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "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},
@@ -49,9 +56,10 @@
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":":", "x":10.75, "y":2},
{"label":"\"", "x":11.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "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},
@@ -60,18 +68,290 @@
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":"<", "x":9.25, "y":3},
{"label":">", "x":10.25, "y":3},
{"label":"?", "x":11.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"x":14, "y":3},
{"label":"Fn", "x":14, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.5},
{"label":"Win", "x":1.5, "y":4},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"x":4, "y":4, "w":7},
{"label":"Space", "x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Win", "x":12.5, "y":4},
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
]
},
"LAYOUT_60_ansi_tsangan": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Bksp", "x":13, "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":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "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":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "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":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":2.75},
{"label":"Ctrl", "x":0, "y":4, "w":1.5},
{"label":"Win", "x":1.5, "y":4},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"label":"Space", "x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Win", "x":12.5, "y":4},
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
]
},
"LAYOUT_60_hhkb": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Bksp", "x":13, "y":0},
{"label":"Bksp", "x":14, "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":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "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":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "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":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"Fn", "x":14, "y":3},
{"label":"Win", "x":1.5, "y":4},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"label":"Space", "x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Win", "x":12.5, "y":4}
]
},
"LAYOUT_60_ansi_wkl": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Bksp", "x":13, "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":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "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":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "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":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":2.75},
{"label":"Ctrl", "x":0, "y":4, "w":1.5},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"label":"Space", "x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
]
},
"LAYOUT_60_ansi_wkl_split_bs_rshift": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Bksp", "x":13, "y":0},
{"label":"Bksp", "x":14, "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":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "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":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "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":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"Fn", "x":14, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.5},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"label":"Space", "x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
]
}
}
}
@@ -16,32 +16,32 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all( /* Base */
KC_GESC , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
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_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1),
KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_BSPC
[0] = LAYOUT_60_tsangan_hhkb( /* Base */
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[1] = LAYOUT_all(
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
[1] = LAYOUT_60_tsangan_hhkb(
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, 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,
[2] = LAYOUT_60_tsangan_hhkb(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, 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,
[3] = LAYOUT_60_tsangan_hhkb(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
@@ -16,32 +16,32 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all( /* Base */
KC_GESC , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
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_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1),
KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_BSPC
[0] = LAYOUT_60_tsangan_hhkb( /* Base */
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[1] = LAYOUT_all(
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
[1] = LAYOUT_60_tsangan_hhkb(
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, 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,
[2] = LAYOUT_60_tsangan_hhkb(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, 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,
[3] = LAYOUT_60_tsangan_hhkb(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+236
View File
@@ -0,0 +1,236 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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 "ansi.h"
#ifdef RGB_MATRIX_ENABLE
const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc
{0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1
{0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2
{0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3
{0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4
{0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5
{0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6
{0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7
{0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8
{0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9
{0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0
{0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 -
{1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 =
{1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace
{1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 Del
{0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab
{0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q
{0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W
{0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E
{0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R
{0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T
{0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y
{0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U
{0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I
{0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O
{0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P
{0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [
{1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ]
{1, CS1_SW9, CS2_SW9, CS3_SW9 }, // 28 \|
{1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp
{0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock
{0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A
{0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S
{0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D
{0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F
{0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G
{0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H
{0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J
{0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K
{0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L
{0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ;
{0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 '
{1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 42 Enter
{1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn
{0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L
{0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 45 Z
{0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 46 X
{0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 47 C
{0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 48 V
{0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 49 B
{0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 50 N
{0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 51 M
{0, CS13_SW10, CS14_SW10, CS15_SW10}, // 52 ,
{0, CS13_SW11, CS14_SW11, CS15_SW11}, // 53 .
{0, CS13_SW12, CS14_SW12, CS15_SW12}, // 54 /
{1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 55 Shift_R
{1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 56 Up
{1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 57 END
{0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 58 Ctrl_L
{0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 59 Win_L
{0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 60 Alt_L
{0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 61 Space
{0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 62 Alt_R
{0, CS16_SW10, CS17_SW10, CS18_SW10}, // 63 FN
{1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 64 Left
{1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 65 Down
{1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 66 Right
{1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 69 LED 1
{1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 70 LED 2
{1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 71 LED 3
{1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 72 LED 4
{1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 73 LED 5
{1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 74 LED 6
{1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 75 LED 7
{1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 76 LED 8
{1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 77 LED 9
{1, CS13_SW10, CS14_SW10, CS15_SW10}, // 78 LED 10
{1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 79 LED 11
{1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 80 LED 12
{1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 81 LED 13
{1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 82 LED 14
{1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 83 LED 15
{1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 84 LED 16
{1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 85 LED 17
{1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 86 LED 18
{1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 87 LED 19
{1, CS16_SW10, CS17_SW10, CS18_SW10} // 88 LED 20
};
#define __ NO_LED
led_config_t g_led_config = {{
{ 44, 57, __, 64, __, 66, 58, 55},
{ 16, 15, 31, 0, 45, 59, __, 1},
{ 17, 30, 32, 60, 46, 14, 29, 2},
{ 18, 61, 33, 63, 47, 56, 62, 3},
{ 19, 20, 34, 35, 48, 49, 5, 4},
{ 22, 21, 37, 36, 51, 50, 6, 7},
{ 23, 27, 38, __, 52, 43, 12, 8},
{ 24, 13, 39, 65, 53, __, 28, 9},
{ 25, 26, 40, 41, 42, 54, 11, 10}
}, {
{14, 0 }, // 0 Esc
{28, 0 }, // 1 1
{42, 0 }, // 2 2
{56, 0 }, // 3 3
{70, 0 }, // 4 4
{84, 0 }, // 5 5
{98, 0 }, // 6 6
{112, 0 }, // 7 7
{126, 0 }, // 8 8
{140, 0 }, // 9 9
{154, 0 }, // 10 0
{168, 0 }, // 11 -
{182, 0 }, // 12 =
{196, 0 }, // 13 Backspace
{210, 0 }, // 14 Del
{14, 16}, // 15 Tab
{28, 16}, // 16 Q
{42, 16}, // 17 W
{56, 16}, // 18 E
{70, 16}, // 19 R
{84, 16}, // 20 T
{98, 16}, // 21 Y
{112, 16}, // 22 U
{126, 16}, // 23 I
{140, 16}, // 24 O
{154, 16}, // 25 P
{168, 16}, // 26 [
{182, 16}, // 27 ]
{196, 16}, // 28 \|
{210, 16}, // 29 PgUp
{14, 32}, // 30 Caps Lock
{28, 32}, // 31 A
{42, 32}, // 32 S
{56, 32}, // 33 D
{70, 32}, // 34 F
{84, 32}, // 35 G
{98, 32}, // 36 H
{112, 32}, // 37 J
{126, 32}, // 38 K
{140, 32}, // 39 L
{154, 32}, // 40 ;
{168, 32}, // 41 '
{196, 32}, // 42 Enter
{210, 32}, // 43 PgDn
{14, 48}, // 44 Shift_L
{42, 48}, // 45 Z
{56, 48}, // 46 X
{70, 48}, // 47 C
{84, 48}, // 48 V
{98, 48}, // 49 B
{112, 48}, // 50 N
{126, 48}, // 51 M
{140, 48}, // 52 ,
{154, 48}, // 53 .
{168, 48}, // 54 /
{182, 48}, // 55 Shift_R
{196, 48}, // 56 Up
{210, 48}, // 57 END
{14, 64}, // 58 Ctrl_L
{28, 64}, // 59 Win_L
{42, 64}, // 60 Alt_L
{84, 64}, // 61 Space
{126, 64}, // 62 Alt_R
{140, 64}, // 63 FN
{182, 64}, // 64 Left
{196, 64}, // 65 Down
{210, 64}, // 66 Right
{0, 0}, // 69 LED 1
{0, 7}, // 70 LED 2
{0, 14}, // 71 LED 3
{0, 21}, // 72 LED 4
{0, 28}, // 73 LED 5
{0, 35}, // 74 LED 6
{0, 42}, // 75 LED 7
{0, 49}, // 76 LED 8
{0, 56}, // 77 LED 9
{0, 64}, // 78 LED 10
{224, 0 }, // 79 LED 11
{224, 7 }, // 80 LED 12
{224, 14}, // 81 LED 13
{224, 21}, // 82 LED 14
{224, 28}, // 83 LED 15
{224, 35}, // 84 LED 16
{224, 42}, // 85 LED 17
{224, 49}, // 86 LED 18
{224, 56}, // 87 LED 19
{224, 64}, // 88 LED 20
}, {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2
} };
#endif
+47
View File
@@ -0,0 +1,47 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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
// ESC 1 2 3 4 5 6 7 8 9 0 - = BS Del
// Tab Q W E R T Y U I O P [ ] \ PgUp
// Caps A S D F G H J K L ; ' Enter PgDn
// Sh_L Z X C V B N M , . / Sh_R Up END
// Ct_L Win_L Alt_L SPACE Alt_R FN Left Down Right
// clang-format off
#define LAYOUT( \
k13, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, k71, k25,\
k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k76, k26,\
k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, k65,\
k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k07, k35, k01,\
k06, k15, k23, k31, k36, k33, k03, k73, k05 \
)\
{\
{ k00, k01, ___, k03, ___, k05, k06, k07},\
{ k10, k11, k12, k13, k14, k15, ___, k17},\
{ k20, k21, k22, k23, k24, k25, k26, k27},\
{ k30, k31, k32, k33, k34, k35, k36, k37},\
{ k40, k41, k42, k43, k44, k45, k46, k47},\
{ k50, k51, k52, k53, k54, k55, k56, k57},\
{ k60, k61, k62, ___, k64, k65, k66, k67},\
{ k70, k71, k72, k73, k74, ___, k76, k77},\
{ k80, k81, k82, k83, k84, k85, k86, k87} \
}
+90
View File
@@ -0,0 +1,90 @@
{
"keyboard_name": "GMMK V2 65 ANSI",
"manufacturer": "Glorious",
"url": "http://www.pcgamingrace.com",
"maintainer": "GloriousThrall",
"usb": {
"vid": "0x320F",
"pid": "0x5045",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "`", "x": 0, "y": 0 },
{ "label": "1", "x": 1, "y": 0 },
{ "label": "2", "x": 2, "y": 0 },
{ "label": "3", "x": 3, "y": 0 },
{ "label": "4", "x": 4, "y": 0 },
{ "label": "5", "x": 5, "y": 0 },
{ "label": "6", "x": 6, "y": 0 },
{ "label": "7", "x": 7, "y": 0 },
{ "label": "8", "x": 8, "y": 0 },
{ "label": "9", "x": 9, "y": 0 },
{ "label": "0", "x": 10, "y": 0 },
{ "label": "-", "x": 11, "y": 0 },
{ "label": "=", "x": 12, "y": 0 },
{ "label": "Backspace", "x": 13, "y": 0, "w": 2.25},
{ "label": "PgUp", "x": 15.25, "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": 6.5, "y": 1 },
{ "label": "U", "x": 7.5, "y": 1 },
{ "label": "I", "x": 8.5, "y": 1 },
{ "label": "O", "x": 9.5, "y": 1 },
{ "label": "P", "x": 10.5, "y": 1 },
{ "label": "[", "x": 11.5, "y": 1 },
{ "label": "]", "x": 12.5, "y": 1 },
{ "label": "\\", "x": 13.5, "y": 1 , "w": 1.75},
{ "label": "PgDn", "x": 15.25, "y": 1 },
{ "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": 6.75, "y": 2 },
{ "label": "J", "x": 7.75, "y": 2 },
{ "label": "K", "x": 8.75, "y": 2 },
{ "label": "L", "x": 9.75, "y": 2 },
{ "label": ";", "x": 10.75, "y": 2 },
{ "label": "'", "x": 11.75, "y": 2 },
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
{ "label": "HOME", "x": 15.25, "y": 2 },
{ "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": "N", "x": 7.25, "y": 3 },
{ "label": "M", "x": 8.25, "y": 3 },
{ "label": ",", "x": 9.25, "y": 3 },
{ "label": ".", "x": 10.25, "y": 3 },
{ "label": "/", "x": 11.25, "y": 3 },
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75},
{ "label": "Up", "x": 14.25, "y": 3 },
{ "label": "END", "x": 15.25, "y": 3 },
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25},
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25},
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25},
{ "label": "Space", "x": 3.75, "y": 4, "w": 6.25},
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25},
{ "label": "FN", "x": 11.25, "y": 4, "w": 1.25},
{ "label": "Left", "x": 13.25, "y": 4 },
{ "label": "Down", "x": 14.25, "y": 4 },
{ "label": "Right", "x": 15.25, "y": 4 }
]
}
}
}
@@ -0,0 +1,44 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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.
enum custom_layers {
_BL,
_FL,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _BL: Base Layer (Default Layer)
*/
[_BL] = LAYOUT(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_PGUP,
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_PGDN,
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_END,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
/* Keymap _FL: Function Layer
*/
[_FL] = LAYOUT(
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_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME,
_______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD)
};
@@ -0,0 +1 @@
# ANSI GMMKV2 65% Layout
@@ -0,0 +1,51 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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] = {
/* Keymap _BL: Base Layer (Default Layer)
*/
[0] = LAYOUT(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_PGUP,
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_PGDN,
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_END,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
/* Keymap _FL: Function Layer
*/
[1] = LAYOUT(
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_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME,
_______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD),
[2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______),
[3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______)
};
@@ -0,0 +1 @@
VIA_ENABLE = yes
+23
View File
@@ -0,0 +1,23 @@
# GMMK V2 65% (ANSI)
A keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller
* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
* Hardware Supported: GMMK V2
* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com)
Make example for this keyboard (after setting up your build environment):
make gmmk/gmmk2/p65/ansi:default
Flashing example for this keyboard:
make gmmk/gmmk2/p65/ansi:default:flash
To reset the board into bootloader mode, do one of the following:
* Hold the Reset switch mounted on the surface of the PCB while connecting the USB cable (remove the spacebar key and press and hold the pin on the right side)
* Hold the Escape key while connecting the USB cable (also erases persistent settings)
* Fn+Backslash will reset the board to bootloader mode if you have flashed the default QMK keymap
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).
+22
View File
@@ -0,0 +1,22 @@
# MCU name
MCU = WB32F3G71
# Bootloader selection
BOOTLOADER = wb32-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite.
MOUSEKEY_ENABLE = yes # Mouse keys.
EXTRAKEY_ENABLE = yes # Audio control and System control.
CONSOLE_ENABLE = no # Console for debug.
COMMAND_ENABLE = no # Commands for debug and configuration.
NKRO_ENABLE = yes # Enable NKRO Rollover.
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality.
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow.
AUDIO_ENABLE = no # Audio output.
RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects.
RGB_MATRIX_DRIVER = AW20216 # Enable RGB matrix effects.
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = embedded_flash
+117
View File
@@ -0,0 +1,117 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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"
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS \
{ B0, B1, B2, B3, B4, B5, B6, B7, B8 }
#define MATRIX_COL_PINS \
{ A0, A1, A2, A3, A4, A8, A9, A10 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Hold ESC on start up to clear EEPROM and boot into bootloader mode */
#define BOOTMAGIC_LITE_ROW 1
#define BOOTMAGIC_LITE_COLUMN 3
#define TAP_CODE_DELAY 10
/* 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
#define RGB_DISABLE_WHEN_USB_SUSPENDED
/* SPI Config for LED Driver */
#define SPI_DRIVER SPIDM2
#define SPI_SCK_PIN B13
#define SPI_MOSI_PIN B15
#define SPI_MISO_PIN B14
#define DRIVER_1_CS A15
#define DRIVER_2_CS B9
#define DRIVER_1_EN C13
#define DRIVER_2_EN C13
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 54
#define DRIVER_2_LED_TOTAL 34
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT
#define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#define ENABLE_RGB_MATRIX_RAINDROPS
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
#define ENABLE_RGB_MATRIX_HUE_WAVE
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
#define RGB_MATRIX_KEYPRESSES
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
/* Set debounce time to 5ms */
#define DEBOUNCE 5
/* Force NKRO on boot up regardless of the setting saved in the EEPROM (uncomment to enable it) */
// #define FORCE_NKRO
+29
View File
@@ -0,0 +1,29 @@
/* Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
*
* 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/>.
*/
/*
* This file was auto-generated by:
* `qmk chibios-confmigrate -i keyboards/wb_support/gmmk2/halconf.h -r platforms/chibios/boards/common/configs/halconf.h`
*/
#pragma once
#define HAL_USE_SPI TRUE
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
#include_next <halconf.h>
+91
View File
@@ -0,0 +1,91 @@
{
"keyboard_name": "GMMK V2 65 ISO",
"manufacturer": "Glorious",
"url": "http://www.pcgamingrace.com",
"maintainer": "GloriousThrall",
"usb": {
"vid": "0x320F",
"pid": "0x504A",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "`", "x": 0, "y": 0 },
{ "label": "1", "x": 1, "y": 0 },
{ "label": "2", "x": 2, "y": 0 },
{ "label": "3", "x": 3, "y": 0 },
{ "label": "4", "x": 4, "y": 0 },
{ "label": "5", "x": 5, "y": 0 },
{ "label": "6", "x": 6, "y": 0 },
{ "label": "7", "x": 7, "y": 0 },
{ "label": "8", "x": 8, "y": 0 },
{ "label": "9", "x": 9, "y": 0 },
{ "label": "0", "x": 10, "y": 0 },
{ "label": "-", "x": 11, "y": 0 },
{ "label": "=", "x": 12, "y": 0 },
{ "label": "Backspace", "x": 13, "y": 0, "w": 2.25},
{ "label": "PgUp", "x": 15.25, "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": 6.5, "y": 1 },
{ "label": "U", "x": 7.5, "y": 1 },
{ "label": "I", "x": 8.5, "y": 1 },
{ "label": "O", "x": 9.5, "y": 1 },
{ "label": "P", "x": 10.5, "y": 1 },
{ "label": "[", "x": 11.5, "y": 1 },
{ "label": "]", "x": 12.5, "y": 1 },
{ "label": "Enter", "x": 13.5, "y": 1 ,"h":2, "w": 1.75},
{ "label": "PgDn", "x": 15.25, "y": 1 },
{ "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": 6.75, "y": 2 },
{ "label": "J", "x": 7.75, "y": 2 },
{ "label": "K", "x": 8.75, "y": 2 },
{ "label": "L", "x": 9.75, "y": 2 },
{ "label": ";", "x": 10.75, "y": 2 },
{ "label": "'", "x": 11.75, "y": 2 },
{ "label": "#", "x": 12.75, "y": 2 },
{ "label": "HOME", "x": 15.25, "y": 2 },
{ "label": "Shift", "x": 0, "y": 3, "w": 1.25},
{ "label": "\\", "x": 1.25, "y": 3 },
{ "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": "N", "x": 7.25, "y": 3 },
{ "label": "M", "x": 8.25, "y": 3 },
{ "label": ",", "x": 9.25, "y": 3 },
{ "label": ".", "x": 10.25, "y": 3 },
{ "label": "/", "x": 11.25, "y": 3 },
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75},
{ "label": "Up", "x": 14.25, "y": 3 },
{ "label": "END", "x": 15.25, "y": 3 },
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25},
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25},
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25},
{ "label": "Space", "x": 3.75, "y": 4, "w": 6.25},
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25},
{ "label": "FN", "x": 11.25, "y": 4, "w": 1.25},
{ "label": "Left", "x": 13.25, "y": 4 },
{ "label": "Down", "x": 14.25, "y": 4 },
{ "label": "Right", "x": 15.25, "y": 4 }
]
}
}
}
+238
View File
@@ -0,0 +1,238 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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 "iso.h"
#ifdef RGB_MATRIX_ENABLE
const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc
{0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1
{0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2
{0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3
{0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4
{0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5
{0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6
{0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7
{0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8
{0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9
{0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0
{0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 -
{1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 =
{1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace
{1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 HOME
{0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab
{0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q
{0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W
{0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E
{0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R
{0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T
{0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y
{0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U
{0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I
{0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O
{0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P
{0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [
{1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ]
{1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 28 ENTER
{1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp
{0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock
{0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A
{0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S
{0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D
{0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F
{0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G
{0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H
{0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J
{0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K
{0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L
{0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ;
{0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 '
{1, CS1_SW10, CS2_SW10, CS3_SW10 }, // 42 k42
{1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn
{0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L
{0, CS13_SW2, CS14_SW2, CS15_SW2 }, // 45 k45
{0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 46 Z
{0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 47 X
{0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 48 C
{0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 49 V
{0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 50 B
{0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 51 N
{0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 52 M
{0, CS13_SW10, CS14_SW10, CS15_SW10}, // 53 ,
{0, CS13_SW11, CS14_SW11, CS15_SW11}, // 54 .
{0, CS13_SW12, CS14_SW12, CS15_SW12}, // 55 /
{1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 56 Shift_R
{1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 57 Up
{1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 58 END
{0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 59 Ctrl_L
{0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 60 Win_L
{0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 61 Alt_L
{0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 62 Space
{0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 63 Alt_R
{0, CS16_SW10, CS17_SW10, CS18_SW10}, // 64 FN
{1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 65 Left
{1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 66 Down
{1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 67 Right
{1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 68 LED 1
{1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 69 LED 2
{1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 70 LED 3
{1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 71 LED 4
{1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 72 LED 5
{1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 73 LED 6
{1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 74 LED 7
{1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 75 LED 8
{1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 76 LED 9
{1, CS13_SW10, CS14_SW10, CS15_SW10}, // 77 LED 10
{1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 78 LED 11
{1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 79 LED 12
{1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 80 LED 13
{1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 81 LED 14
{1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 82 LED 15
{1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 83 LED 16
{1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 84 LED 17
{1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 85 LED 18
{1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 86 LED 19
{1, CS16_SW10, CS17_SW10, CS18_SW10} // 87 LED 20
};
#define __ NO_LED
led_config_t g_led_config = {{
{ 44, 58, 45, 65, __, 67, 59, 56},
{ 16, 15, 31, 0, 46, 60, __, 1},
{ 17, 30, 32, 61, 47, 14, 29, 2},
{ 18, 62, 33, 64, 48, 57, 63, 3},
{ 19, 20, 34, 35, 49, 50, 5, 4},
{ 22, 21, 37, 36, 52, 51, 6, 7},
{ 23, 27, 38, __, 53, 43, 12, 8},
{ 24, 13, 39, 66, 54, 42, __, 9},
{ 25, 26, 40, 41, 28, 55, 11, 10}
}, {
{14, 0 }, // 0 Esc
{28, 0 }, // 1 1
{42, 0 }, // 2 2
{56, 0 }, // 3 3
{70, 0 }, // 4 4
{84, 0 }, // 5 5
{98, 0 }, // 6 6
{112, 0 }, // 7 7
{126, 0 }, // 8 8
{140, 0 }, // 9 9
{154, 0 }, // 10 0
{168, 0 }, // 11 -
{182, 0 }, // 12 =
{196, 0 }, // 13 Backspace
{210, 0 }, // 14 HOME
{14, 16}, // 15 Tab
{28, 16}, // 16 Q
{42, 16}, // 17 W
{56, 16}, // 18 E
{70, 16}, // 19 R
{84, 16}, // 20 T
{98, 16}, // 21 Y
{112, 16}, // 22 U
{126, 16}, // 23 I
{140, 16}, // 24 O
{154, 16}, // 25 P
{168, 16}, // 26 [
{182, 16}, // 27 ]
{196, 16}, // 28 ENTER
{210, 16}, // 29 PgUp
{14, 32}, // 30 Caps Lock
{28, 32}, // 31 A
{42, 32}, // 32 S
{56, 32}, // 33 D
{70, 32}, // 34 F
{84, 32}, // 35 G
{98, 32}, // 36 H
{112, 32}, // 37 J
{126, 32}, // 38 K
{140, 32}, // 39 L
{154, 32}, // 40 ;
{168, 32}, // 41 '
{182, 32}, // 42 k42
{210, 32}, // 43 PgDn
{14, 48}, // 44 Shift_L
{28, 48}, // 45 k45
{42, 48}, // 46 Z
{56, 48}, // 47 X
{70, 48}, // 48 C
{84, 48}, // 49 V
{98, 48}, // 50 B
{112, 48}, // 51 N
{126, 48}, // 52 M
{140, 48}, // 53 ,
{154, 48}, // 54 .
{168, 48}, // 55 /
{182, 48}, // 56 Shift_R
{196, 48}, // 57 Up
{210, 48}, // 58 END
{14, 64}, // 59 Ctrl_L
{28, 64}, // 60 Win_L
{42, 64}, // 61 Alt_L
{84, 64}, // 62 Space
{126, 64}, // 63 Alt_R
{140, 64}, // 64 FN
{182, 64}, // 65 Left
{196, 64}, // 66 Down
{210, 64}, // 67 Right
{0, 0}, // 68 LED 1
{0, 7}, // 69 LED 2
{0, 14}, // 70 LED 3
{0, 21}, // 71 LED 4
{0, 28}, // 72 LED 5
{0, 35}, // 73 LED 6
{0, 42}, // 74 LED 7
{0, 49}, // 75 LED 8
{0, 56}, // 76 LED 9
{0, 64}, // 77 LED 10
{224, 0 }, // 78 LED 11
{224, 7 }, // 79 LED 12
{224, 14}, // 80 LED 13
{224, 21}, // 81 LED 14
{224, 28}, // 82 LED 15
{224, 35}, // 83 LED 16
{224, 42}, // 84 LED 17
{224, 49}, // 85 LED 18
{224, 56}, // 86 LED 19
{224, 64}, // 87 LED 20
}, {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2
} };
#endif
+47
View File
@@ -0,0 +1,47 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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
// ESC 1 2 3 4 5 6 7 8 9 0 - = BS PgUp
// Tab Q W E R T Y U I O P [ ] Enter PgUp
// Caps A S D F G H J K L ; ' \ Enter HOME
// Sh_L \ Z X C V B N M , . / Sh_R Up END
// Ct_L Win_L Alt_L SPACE Alt_R FN Left Down Right
// clang-format off
#define LAYOUT( \
k13, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, k71, k25,\
k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k84, k26,\
k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k75, k65,\
k00, k02, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k07, k35, k01,\
k06, k15, k23, k31, k36, k33, k03, k73, k05 \
)\
{\
{ k00, k01, k02, k03, ___, k05, k06, k07},\
{ k10, k11, k12, k13, k14, k15, ___, k17},\
{ k20, k21, k22, k23, k24, k25, k26, k27},\
{ k30, k31, k32, k33, k34, k35, k36, k37},\
{ k40, k41, k42, k43, k44, k45, k46, k47},\
{ k50, k51, k52, k53, k54, k55, k56, k57},\
{ k60, k61, k62, ___, k64, k65, k66, k67},\
{ k70, k71, k72, k73, k74, k75, ___, k77},\
{ k80, k81, k82, k83, k84, k85, k86, k87} \
}
@@ -0,0 +1,44 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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.
enum custom_layers {
_BL,
_FL,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _BL: Base Layer (Default Layer)
*/
[_BL] = LAYOUT(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_ENT, KC_PGUP,
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_PGDN,
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_END,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
/* Keymap _FL: Function Layer
*/
[_FL] = 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_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME,
_______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD)
};
@@ -0,0 +1 @@
# ISO GMMKV2 65% Layout
@@ -0,0 +1,50 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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] = {
/* Keymap _BL: Base Layer (Default Layer)
*/
[0] = LAYOUT(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_ENT, KC_PGUP,
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_PGDN,
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_END,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
/* Keymap _FL: Function Layer
*/
[1] = 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_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME,
_______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD),
[2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______),
[3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______)
};
@@ -0,0 +1 @@
VIA_ENABLE = yes
+23
View File
@@ -0,0 +1,23 @@
# GMMK V2 65% (ISO)
A keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller
* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
* Hardware Supported: GMMK V2
* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com)
Make example for this keyboard (after setting up your build environment):
make gmmk/gmmk2/p65/iso:default
Flashing example for this keyboard:
make gmmk/gmmk2/p65/iso:default:flash
To reset the board into bootloader mode, do one of the following:
* Hold the Reset switch mounted on the surface of the PCB while connecting the USB cable (remove the spacebar key and press and hold the pin on the right side)
* Hold the Escape key while connecting the USB cable (also erases persistent settings)
* Fn+Backslash will reset the board to bootloader mode if you have flashed the default QMK keymap
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).
+22
View File
@@ -0,0 +1,22 @@
# MCU name
MCU = WB32F3G71
# Bootloader selection
BOOTLOADER = wb32-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite.
MOUSEKEY_ENABLE = yes # Mouse keys.
EXTRAKEY_ENABLE = yes # Audio control and System control.
CONSOLE_ENABLE = no # Console for debug.
COMMAND_ENABLE = no # Commands for debug and configuration.
NKRO_ENABLE = yes # Enable NKRO Rollover.
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality.
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow.
AUDIO_ENABLE = no # Audio output.
RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects.
RGB_MATRIX_DRIVER = AW20216 # Enable RGB matrix effects.
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = embedded_flash
+27
View File
@@ -0,0 +1,27 @@
/* Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
*
* 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/>.
*/
/*
* This file was auto-generated by:
* `qmk chibios-confmigrate -i keyboards/wb_support/gmmk2/mcuconf.h -r platforms/chibios/GENERIC_WB32_F3G71XX/configs/mcuconf.h`
*/
#pragma once
#include_next <mcuconf.h>
#undef WB32_SPI_USE_SPIM2
#define WB32_SPI_USE_SPIM2 TRUE
+17
View File
@@ -0,0 +1,17 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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 "p65.h"
+25
View File
@@ -0,0 +1,25 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* 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"
#if defined(KEYBOARD_gmmk_gmmk2_p65_ansi)
# include "ansi/ansi.h"
#elif defined(KEYBOARD_gmmk_gmmk2_p65_iso)
# include "iso/iso.h"
#endif // GMMK V2 revisions
+23 -15
View File
@@ -1,16 +1,24 @@
/* Copyright 2020 Bratzworth
*
* 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/>.
*/
/* Copyright 2020 Bratzworth
*
* 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 "6key.h"
bool dip_switch_update_kb(uint8_t index, bool active) {
if (!dip_switch_update_user(index, active)) { return false; }
if (index == 0) {
default_layer_set(1UL << (active ? 1 : 0));
}
return true;
}
+15 -15
View File
@@ -1,17 +1,17 @@
/* Copyright 2020 Bratzworth
*
* 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/>.
/* Copyright 2020 Bratzworth
*
* 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
@@ -24,4 +24,4 @@
{ \
{ k00, k01, k02 }, \
{ k03, k04, k05 } \
}
}
+14 -14
View File
@@ -1,17 +1,17 @@
/* Copyright 2020 Bratzworth
*
* 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/>.
/* Copyright 2020 Bratzworth
*
* 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
+6 -3
View File
@@ -1,16 +1,19 @@
{
"keyboard_name": "6key",
"manufacturer": "Bratzworth",
"manufacturer": "bratzworth",
"url": "https://github.com/Bratzworth/6key",
"maintainer": "bratzworth",
"usb": {
"vid": "0xBEED",
"vid": "0xD143",
"pid": "0x0007",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}]
"layout": [
{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0},
{"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}
]
}
}
}
@@ -15,33 +15,18 @@
*/
#include QMK_KEYBOARD_H
#define _MAIN 0
#define _FN 1
#define KC_UNDO LCTL(KC_Z)
#define KC_REDO LCTL(KC_Y)
enum layers{
_MAIN,
_FN
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT(
KC_UNDO, KC_REDO, KC_A,
KC_C, KC_D, KC_S
KC_Z, KC_Y, KC_A,
KC_C, KC_D, KC_S
),
[_FN] = LAYOUT(
KC_F13, KC_F14, KC_F15,
KC_F16, KC_F17, KC_F18
)
};
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
if (active) {
set_single_persistent_default_layer(_FN);
} else {
set_single_persistent_default_layer(_MAIN);
}
}
}
return true;
}
@@ -0,0 +1,35 @@
/* Copyright 2022 Bratzworth
*
* 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(
LCTL(KC_Z), LCTL(KC_Y), KC_A,
KC_C, KC_D, KC_S
),
[1] = LAYOUT(
KC_F13, KC_F14, KC_F15,
KC_F16, KC_F17, KC_F18
),
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
};
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+1 -1
View File
@@ -7,7 +7,7 @@ BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
+46 -46
View File
@@ -43,62 +43,62 @@
"LAYOUT": {
"layout": [
{"label": "`~", "x": 0.8, "y": 1.13},
{"label": "Q", "x": 1.8, "y": 0.93},
{"label": "W", "x": 2.9, "y": 0.31},
{"label": "E", "x": 4, "y": 0},
{"label": "R", "x": 5, "y": 0.28},
{"label": "T", "x": 6, "y": 0.42},
{"label": "`~", "x": 0, "y": 1.13},
{"label": "Q", "x": 1, "y": 0.93},
{"label": "W", "x": 2.1, "y": 0.31},
{"label": "E", "x": 3.2, "y": 0},
{"label": "R", "x": 4.2, "y": 0.28},
{"label": "T", "x": 5.2, "y": 0.42},
{"label": "Y", "x": 10.5, "y": 0.42},
{"label": "U", "x": 11.5, "y": 0.28},
{"label": "I", "x": 12.5, "y": 0},
{"label": "O", "x": 13.6, "y": 0.31},
{"label": "P", "x": 14.7, "y": 0.93},
{"label": "Backspace", "x": 15.7, "y": 1.13},
{"label": "Y", "x": 9.7, "y": 0.42},
{"label": "U", "x": 10.7, "y": 0.28},
{"label": "I", "x": 11.7, "y": 0},
{"label": "O", "x": 12.8, "y": 0.31},
{"label": "P", "x": 13.9, "y": 0.93},
{"label": "Backspace", "x": 14.9, "y": 1.13},
{"label": "Tab", "x": 0.9, "y": 2.13},
{"label": "A", "x": 1.9, "y": 1.93},
{"label": "S", "x": 2.95, "y": 1.31},
{"label": "D", "x": 4, "y": 1},
{"label": "F", "x": 5, "y": 1.28},
{"label": "G", "x": 6, "y": 1.42},
{"label": "Tab", "x": 0.1, "y": 2.13},
{"label": "A", "x": 1.1, "y": 1.93},
{"label": "S", "x": 2.15, "y": 1.31},
{"label": "D", "x": 3.2, "y": 1},
{"label": "F", "x": 4.2, "y": 1.28},
{"label": "G", "x": 5.2, "y": 1.42},
{"label": "H", "x": 10.5, "y": 1.42},
{"label": "J", "x": 11.5, "y": 1.28},
{"label": "K", "x": 12.5, "y": 1},
{"label": "L", "x": 13.55, "y": 1.31},
{"label": ";", "x": 14.6, "y": 1.93},
{"label": "Enter", "x": 15.6, "y": 2.13},
{"label": "H", "x": 9.7, "y": 1.42},
{"label": "J", "x": 10.7, "y": 1.28},
{"label": "K", "x": 11.7, "y": 1},
{"label": "L", "x": 12.75, "y": 1.31},
{"label": ";", "x": 13.8, "y": 1.93},
{"label": "Enter", "x": 14.8, "y": 2.13},
{"label": "Ctrl", "x": 1, "y": 3.13},
{"label": "Z", "x": 2, "y": 2.93},
{"label": "X", "x": 3, "y": 2.31},
{"label": "C", "x": 4, "y": 2},
{"label": "V", "x": 5, "y": 2.28},
{"label": "B", "x": 6, "y": 2.42},
{"label": "ESC", "x": 7, "y": 2.88},
{"label": "Ctrl", "x": 0.2, "y": 3.13},
{"label": "Z", "x": 1.2, "y": 2.93},
{"label": "X", "x": 2.2, "y": 2.31},
{"label": "C", "x": 3.2, "y": 2},
{"label": "V", "x": 4.2, "y": 2.28},
{"label": "B", "x": 5.2, "y": 2.42},
{"label": "ESC", "x": 6.2, "y": 2.88},
{"label": "CAP", "x": 9.5, "y": 2.88},
{"label": "N", "x": 10.5, "y": 2.42},
{"label": "M", "x": 11.5, "y": 2.28},
{"label": ",", "x": 12.5, "y": 2},
{"label": ".", "x": 13.5, "y": 2.31},
{"label": "/", "x": 14.5, "y": 2.93},
{"label": "'", "x": 15.5, "y": 3.13},
{"label": "CAP", "x": 8.7, "y": 2.88},
{"label": "N", "x": 9.7, "y": 2.42},
{"label": "M", "x": 10.7, "y": 2.28},
{"label": ",", "x": 11.7, "y": 2},
{"label": ".", "x": 12.7, "y": 2.31},
{"label": "/", "x": 13.7, "y": 2.93},
{"label": "'", "x": 14.7, "y": 3.13},
{"label": "Gui", "x": 4.5, "y": 3.28},
{"label": "Alt", "x": 5.5, "y": 3.42},
{"label": "Shift", "x": 6.5, "y": 3.88},
{"label": "Nav", "x": 7.5, "y": 4.44},
{"label": "Gui", "x": 3.7, "y": 3.28},
{"label": "Alt", "x": 4.7, "y": 3.42},
{"label": "Shift", "x": 5.7, "y": 3.88},
{"label": "Nav", "x": 6.7, "y": 4.44},
{"label": "Sym", "x": 9, "y": 4.44},
{"label": "Space", "x": 10, "y": 3.88},
{"label": "Alt", "x": 11, "y": 3.42},
{"label": "Gui", "x": 12, "y": 3.28},
{"label": "Sym", "x": 8.2, "y": 4.44},
{"label": "Space", "x": 9.2, "y": 3.88},
{"label": "Alt", "x": 10.2, "y": 3.42},
{"label": "Gui", "x": 11.2, "y": 3.28}
]
}
}
+52 -52
View File
@@ -43,68 +43,68 @@
"LAYOUT": {
"layout": [
{"label": "`~", "x": 0.8, "y": 1.13},
{"label": "Q", "x": 1.8, "y": 0.93},
{"label": "W", "x": 2.9, "y": 0.31},
{"label": "E", "x": 4, "y": 0},
{"label": "R", "x": 5, "y": 0.28},
{"label": "T", "x": 6, "y": 0.42},
{"label": "`~", "x": 0, "y": 1.13},
{"label": "Q", "x": 1, "y": 0.93},
{"label": "W", "x": 2.1, "y": 0.31},
{"label": "E", "x": 3.2, "y": 0},
{"label": "R", "x": 4.2, "y": 0.28},
{"label": "T", "x": 5.2, "y": 0.42},
{"label": "Y", "x": 10.5, "y": 0.42},
{"label": "U", "x": 11.5, "y": 0.28},
{"label": "I", "x": 12.5, "y": 0},
{"label": "O", "x": 13.6, "y": 0.31},
{"label": "P", "x": 14.7, "y": 0.93},
{"label": "Backspace", "x": 15.7, "y": 1.13},
{"label": "Y", "x": 9.7, "y": 0.42},
{"label": "U", "x": 10.7, "y": 0.28},
{"label": "I", "x": 11.7, "y": 0},
{"label": "O", "x": 12.8, "y": 0.31},
{"label": "P", "x": 13.9, "y": 0.93},
{"label": "Backspace", "x": 14.9, "y": 1.13},
{"label": "Tab", "x": 0.9, "y": 2.13},
{"label": "A", "x": 1.9, "y": 1.93},
{"label": "S", "x": 2.95, "y": 1.31},
{"label": "D", "x": 4, "y": 1},
{"label": "F", "x": 5, "y": 1.28},
{"label": "G", "x": 6, "y": 1.42},
{"label": "Tab", "x": 0.1, "y": 2.13},
{"label": "A", "x": 1.1, "y": 1.93},
{"label": "S", "x": 2.15, "y": 1.31},
{"label": "D", "x": 3.2, "y": 1},
{"label": "F", "x": 4.2, "y": 1.28},
{"label": "G", "x": 5.2, "y": 1.42},
{"label": "H", "x": 10.5, "y": 1.42},
{"label": "J", "x": 11.5, "y": 1.28},
{"label": "K", "x": 12.5, "y": 1},
{"label": "L", "x": 13.55, "y": 1.31},
{"label": ";", "x": 14.6, "y": 1.93},
{"label": "Enter", "x": 15.6, "y": 2.13},
{"label": "H", "x": 9.7, "y": 1.42},
{"label": "J", "x": 10.7, "y": 1.28},
{"label": "K", "x": 11.7, "y": 1},
{"label": "L", "x": 12.75, "y": 1.31},
{"label": ";", "x": 13.8, "y": 1.93},
{"label": "Enter", "x": 14.8, "y": 2.13},
{"label": "Shift", "x": 1, "y": 3.13},
{"label": "Z", "x": 2, "y": 2.93},
{"label": "X", "x": 3, "y": 2.31},
{"label": "C", "x": 4, "y": 2},
{"label": "V", "x": 5, "y": 2.28},
{"label": "B", "x": 6, "y": 2.42},
{"label": "'", "x": 7, "y": 2.88},
{"label": "Shift", "x": 0.2, "y": 3.13},
{"label": "Z", "x": 1.2, "y": 2.93},
{"label": "X", "x": 2.2, "y": 2.31},
{"label": "C", "x": 3.2, "y": 2},
{"label": "V", "x": 4.2, "y": 2.28},
{"label": "B", "x": 5.2, "y": 2.42},
{"label": "'", "x": 6.2, "y": 2.88},
{"label": "/", "x": 9.5, "y": 2.88},
{"label": "N", "x": 10.5, "y": 2.42},
{"label": "M", "x": 11.5, "y": 2.28},
{"label": ",", "x": 12.5, "y": 2},
{"label": ".", "x": 13.5, "y": 2.31},
{"label": "Up", "x": 14.5, "y": 2.93},
{"label": "Shift", "x": 15.5, "y": 3.13},
{"label": "/", "x": 8.7, "y": 2.88},
{"label": "N", "x": 9.7, "y": 2.42},
{"label": "M", "x": 10.7, "y": 2.28},
{"label": ", ", "x": 11.7, "y": 2},
{"label": ".", "x": 12.7, "y": 2.31},
{"label": "Up", "x": 13.7, "y": 2.93},
{"label": "Shift", "x": 14.7, "y": 3.13},
{"label": "Mute", "x": 1.1, "y": 4.13},
{"label": "Esc", "x": 2.1, "y": 3.93},
{"label": "Ctrl", "x": 3.1, "y": 3.73},
{"label": "Gui", "x": 4.5, "y": 3.28},
{"label": "Alt", "x": 5.5, "y": 3.42},
{"label": "Shift", "x": 6.5, "y": 3.88},
{"label": "Nav", "x": 7.5, "y": 4.44},
{"label": "Mute", "x": 0.3, "y": 4.13},
{"label": "Esc", "x": 1.3, "y": 3.93},
{"label": "Ctrl", "x": 2.3, "y": 3.73},
{"label": "Gui", "x": 3.7, "y": 3.28},
{"label": "Alt", "x": 4.7, "y": 3.42},
{"label": "Shift", "x": 5.7, "y": 3.88},
{"label": "Nav", "x": 6.7, "y": 4.44},
{"label": "Sym", "x": 9, "y": 4.44},
{"label": "Space", "x": 10, "y": 3.88},
{"label": "Alt", "x": 11, "y": 3.42},
{"label": "Gui", "x": 12, "y": 3.28},
{"label": "Left", "x": 13.4, "y": 3.73},
{"label": "Down", "x": 14.4, "y": 3.93},
{"label": "Right", "x": 15.4, "y": 4.13}
{"label": "Sym", "x": 8.2, "y": 4.44},
{"label": "Space", "x": 9.2, "y": 3.88},
{"label": "Alt", "x": 10.2, "y": 3.42},
{"label": "Gui", "x": 11.2, "y": 3.28},
{"label": "Left", "x": 12.6, "y": 3.73},
{"label": "Down", "x": 13.6, "y": 3.93},
{"label": "Right", "x": 14.6, "y": 4.13}
]
}
}
+2
View File
@@ -16,6 +16,8 @@
#include "rev6.h"
#elif defined(KEYBOARD_keebio_iris_rev6a)
#include "rev6a.h"
#elif defined(KEYBOARD_keebio_iris_rev6b)
#include "rev6b.h"
#elif defined(KEYBOARD_keebio_iris_rev7)
#include "rev7.h"
#endif
+3 -3
View File
@@ -70,12 +70,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
# if defined(KEYBOARD_keebio_iris_rev7)
[_MAIN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_FN1] = { ENCODER_CCW_CW(KC_MNXT, KC_MPRV), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MNXT, KC_MPRV), ENCODER_CCW_CW(KC_HOME, KC_END) },
[_FN1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END) },
[_FN2] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[_FN3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_UP, KC_DOWN) },
# else
[_MAIN] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_FN1] = { ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
[_MAIN] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_FN2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[_FN3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
# endif
+1 -7
View File
@@ -111,7 +111,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define ENABLE_RGB_MATRIX_MULTISPLASH
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define DRIVER_LED_TOTAL RGBLED_NUM
# define RGB_MATRIX_SPLIT { 34, 34 }
@@ -119,9 +119,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_MATRIX_KEYPRESSES
//# endif
#endif
#define VIA_QMK_RGBLIGHT_ENABLE
// Enable the workaround for the speed parameter mismatch between RGBLIGHT and
// RGB Matrix, so that the speed slider in VIA behaves in a more useful way.
#define VIA_CUSTOM_LIGHTING_ENABLE
-55
View File
@@ -63,61 +63,6 @@ led_config_t g_led_config = { {
} };
# if defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE)
// VIA supports only 4 discrete values for effect speed; map these to some
// useful speed values for RGB Matrix.
enum speed_values {
RGBLIGHT_SPEED_0 = UINT8_MAX / 16, // not 0 to avoid really slow effects
RGBLIGHT_SPEED_1 = UINT8_MAX / 4,
RGBLIGHT_SPEED_2 = UINT8_MAX / 2, // matches the default value
RGBLIGHT_SPEED_3 = UINT8_MAX / 4 * 3, // UINT8_MAX is really fast
};
static uint8_t speed_from_rgblight(uint8_t rgblight_speed) {
switch (rgblight_speed) {
case 0:
return RGBLIGHT_SPEED_0;
case 1:
return RGBLIGHT_SPEED_1;
case 2:
default:
return RGBLIGHT_SPEED_2;
case 3:
return RGBLIGHT_SPEED_3;
}
}
static uint8_t speed_to_rgblight(uint8_t rgb_matrix_speed) {
if (rgb_matrix_speed < ((RGBLIGHT_SPEED_0 + RGBLIGHT_SPEED_1) / 2)) {
return 0;
} else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_1 + RGBLIGHT_SPEED_2) / 2)) {
return 1;
} else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_2 + RGBLIGHT_SPEED_3) / 2)) {
return 2;
} else {
return 3;
}
}
void raw_hid_receive_kb(uint8_t *data, uint8_t length) {
switch (data[0]) {
case id_lighting_get_value:
if (data[1] == id_qmk_rgblight_effect_speed) {
data[2] = speed_to_rgblight(rgb_matrix_get_speed());
}
break;
case id_lighting_set_value:
if (data[1] == id_qmk_rgblight_effect_speed) {
rgb_matrix_set_speed_noeeprom(speed_from_rgblight(data[2]));
}
break;
}
}
# endif // defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE)
#endif
#ifdef ENCODER_ENABLE
+121
View File
@@ -0,0 +1,121 @@
/*
Copyright 2021 Danny Nguyen <danny@keeb.io>
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
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
#define MATRIX_COLS 6
// wiring of each half
#define MATRIX_ROW_PINS { B1, F0, F5, B4, D7 }
#define MATRIX_COL_PINS { F1, F4, B5, C7, D4, D6 }
#define MATRIX_ROW_PINS_RIGHT { B1, F0, F5, B4, B5 }
#define MATRIX_COL_PINS_RIGHT { D4, D6, D7, C7, F1, F4 }
#define SPLIT_HAND_PIN D5
#define ENCODERS_PAD_A { B3 }
#define ENCODERS_PAD_B { B2 }
#define ENCODERS_PAD_A_RIGHT { B3 }
#define ENCODERS_PAD_B_RIGHT { B2 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
/* number of backlight levels */
// #define BACKLIGHT_LEVELS 3
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
/* ws2812 RGB LED */
#define RGB_DI_PIN E6
#ifdef RGB_DI_PIN
# define RGBLED_NUM 68
# define RGBLED_SPLIT { 34, 34 }
# define RGBLIGHT_HUE_STEP 8
# define RGBLIGHT_SAT_STEP 8
# define RGBLIGHT_VAL_STEP 8
# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== enabled animations ==*/
# define RGBLIGHT_EFFECT_BREATHING
# define RGBLIGHT_EFFECT_RAINBOW_MOOD
# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
# define RGBLIGHT_EFFECT_SNAKE
# define RGBLIGHT_EFFECT_KNIGHT
# define RGBLIGHT_EFFECT_CHRISTMAS
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
# define RGBLIGHT_EFFECT_RGB_TEST
# define RGBLIGHT_EFFECT_ALTERNATING
# define RGBLIGHT_EFFECT_TWINKLE
# define RGBLIGHT_DEFAULT_VAL 120
# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
// RGB Matrix
//# ifdef RGB_MATRIX_ENABLE
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_BAND_SAT
# define ENABLE_RGB_MATRIX_BAND_VAL
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
# define ENABLE_RGB_MATRIX_CYCLE_ALL
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
# define ENABLE_RGB_MATRIX_DUAL_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# define ENABLE_RGB_MATRIX_SPLASH
# define ENABLE_RGB_MATRIX_MULTISPLASH
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define DRIVER_LED_TOTAL RGBLED_NUM
# define RGB_MATRIX_SPLIT { 34, 34 }
# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_KEYPRESSES
//# endif
#endif
+7
View File
@@ -0,0 +1,7 @@
{
"keyboard_name": "Iris Rev. 6b",
"usb": {
"pid": "0x6456",
"device_version": "6.2.0"
}
}
+85
View File
@@ -0,0 +1,85 @@
/*
Copyright 2021 Danny Nguyen <danny@keeb.io>
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 "rev6b.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
// Key Matrix to LED Index
// Left Half
{ 0, 1, 2, 3, 4, 5 },
{ 11, 10, 9, 8, 7, 6 },
{ 12, 13, 14, 15, 16, 17 },
{ 23, 22, 21, 20, 19, 18 },
{ NO_LED, NO_LED, 24, 25, 26, 27 },
// Right Half
{ 34, 35, 36, 37, 38, 39 },
{ 45, 44, 43, 42, 41, 40 },
{ 46, 47, 48, 49, 50, 51 },
{ 57, 56, 55, 54, 53, 52 },
{ NO_LED, NO_LED, 58, 59, 60, 61 }
}, {
// LED Index to Physical Position
// Left Half
{ 0, 5 }, { 16, 5 }, { 32, 2 }, { 48, 0 }, { 64, 2 }, { 80, 3 },
{ 80, 17 }, { 64, 15 }, { 48, 13 }, { 32, 15 }, { 16, 18 }, { 0, 18 },
{ 0, 32 }, { 16, 32 }, { 32, 28 }, { 48, 27 }, { 64, 28 }, { 80, 30 },
{ 80, 43 }, { 64, 42 }, { 48, 40 }, { 32, 42 }, { 16, 45 }, { 0, 45 },
{ 56, 47 }, { 72, 58 }, { 90, 64 }, { 98, 52 },
{ 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 },
// Right Half
{ 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 },
{ 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 },
{ 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 },
{ 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 },
{ 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 },
{ 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 }
}, {
// LED Index to Flag
// Left Half
4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4,
4, 4, 4, 4,
2, 2, 2, 2, 2, 2,
// Right Half
4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4,
4, 4, 4, 4,
2, 2, 2, 2, 2, 2
} };
#endif
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
} else if (index == 1) {
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
}
return false;
}
#endif
+42
View File
@@ -0,0 +1,42 @@
/*
Copyright 2021 Danny Nguyen <danny@keeb.io>
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 "iris.h"
#include "quantum.h"
#define LAYOUT( \
LA1, LA2, LA3, LA4, LA5, LA6, RA6, RA5, RA4, RA3, RA2, RA1, \
LB1, LB2, LB3, LB4, LB5, LB6, RB6, RB5, RB4, RB3, RB2, RB1, \
LC1, LC2, LC3, LC4, LC5, LC6, RC6, RC5, RC4, RC3, RC2, RC1, \
LD1, LD2, LD3, LD4, LD5, LD6, LE6, RE6, RD6, RD5, RD4, RD3, RD2, RD1, \
LE3, LE4, LE5, RE5, RE4, RE3 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6 }, \
{ LC1, LC2, LC3, LC4, LC5, LC6 }, \
{ LD1, LD2, LD3, LD4, LD5, LD6 }, \
{ KC_NO, KC_NO, LE3, LE4, LE5, LE6 }, \
{ RA1, RA2, RA3, RA4, RA5, RA6 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6 }, \
{ RD1, RD2, RD3, RD4, RD5, RD6 }, \
{ KC_NO, KC_NO, RE3, RE4, RE5, RE6 } \
}
+24
View File
@@ -0,0 +1,24 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes
ENCODER_ENABLE = yes
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
LTO_ENABLE = yes
+1 -1
View File
@@ -111,7 +111,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define ENABLE_RGB_MATRIX_MULTISPLASH
//# define ENABLE_RGB_MATRIX_SOLID_SPLASH
//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define DRIVER_LED_TOTAL RGBLED_NUM
# define RGB_MATRIX_SPLIT { 34, 34 }
@@ -0,0 +1,332 @@
/* Copyright 2020 tominabox1
*
* 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 layers {
_ALPHA,
_LEFTFN,
_RIGHTFN,
_NUMPAD,
_LEAGUE,
_PUBG,
_OVERWATCH,
_STARCRAFT,
_TETRIS,
_CLEAN,
_RGB
};
#define ALPHA TO(_ALPHA)
#define LEFTFN MO(_LEFTFN)
#define RIGHTFN MO(_RIGHTFN)
#define NUMPAD MO(_NUMPAD)
#define LEAGUE TG(_LEAGUE)
#define PUBG TG(_PUBG)
#define OVERWATCH TG(_OVERWATCH)
#define STARCRAFT TG(_STARCRAFT)
#define TETRIS TG(_TETRIS)
#define CLEAN TG(_CLEAN)
#define RGB MO(_RGB)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* ALPHA
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Return|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |ESC/NP| KOR | Win | Alt |LEFTFN| Space |RFN/- | = |Delete| \ | Enter|
* `-----------------------------------------------------------------------------------'
*/
[_ALPHA] = LAYOUT_planck_mit(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
LT(NUMPAD, KC_ESC), KC_LNG1, KC_LGUI, KC_LALT, LEFTFN, KC_SPC, LT(RIGHTFN, KC_MINS), KC_EQL, KC_DEL, KC_BSLS, KC_PENT
),
/* LEFTFN
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Left | Down | Up |Right |CTRL+/|HANJA | [ | ] | ) | : | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| PGUP | PGDN | Home | End | CAPS |PRNTSR| ( | , | . | / | Enter|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | RGB | [ | ] | Alt | Trns | Space | _ | + | INS | | | Ent. |
* `-----------------------------------------------------------------------------------'
*/
[_LEFTFN] = LAYOUT_planck_mit(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_LCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LCTL(KC_SLSH), KC_LNG2, KC_LBRC, KC_RBRC, KC_RPRN, KC_COLN, KC_DQUO,
KC_LSFT, KC_PGUP, KC_PGDN, KC_HOME, KC_END, KC_CAPS, KC_PSCR, KC_LPRN, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
RGB, KC_LBRC, KC_RBRC, KC_LALT, KC_TRNS, KC_SPC, KC_UNDS, KC_PLUS, KC_INS, KC_PIPE, KC_PENT
),
/* RIGHTFN
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | Pause|SCRLCK| | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | | | | | | | F1 | F2 | F3 | F4 | F5 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| | | | | | | F6 | F7 | F8 | F9 | F10 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | Alt | | Space | Trns | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_RIGHTFN] = LAYOUT_planck_mit(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PAUS, KC_SCRL, KC_NO, KC_F11, KC_F12,
KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_NO, KC_NO, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO
),
/* NUMPAD
* ,-----------------------------------------------------------------------------------.
* | * | 7 | 8 | 9 | NumLk| | | | | | | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Alt | 4 | 5 | 6 | Enter| | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | - | 1 | 2 | 3 | Bksp | | | | | Ctrl | Shift|Return|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Trns | , | + | . | 0 | Space |LEAGUE| PUBG | OVWCh| SC |TETRIS|
* `-----------------------------------------------------------------------------------'
*/
[_NUMPAD] = LAYOUT_planck_mit(
KC_PAST, KC_P7, KC_P8, KC_P9, KC_NLCK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
KC_LALT, KC_P4, KC_P5, KC_P6, KC_ENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_PMNS, KC_P1, KC_P2, KC_P3, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_LSFT, KC_ENT,
KC_TRNS, KC_COMM, KC_PPLS, KC_PDOT, KC_0, KC_SPC, LEAGUE, PUBG, OVERWATCH, STARCRAFT, TETRIS
),
/* LEAGUE
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | 5 | Y | | | O | P | ESC |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | A | S | D | F | | | | | L | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | 6 | 4 | 1 | B | | | | | | Enter|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | 3 | X | C | Alt | 2 | Space | | | | | ALPHA|
* `-----------------------------------------------------------------------------------'
*/
[_LEAGUE] = LAYOUT_planck_mit(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_5, KC_Y, KC_NO, KC_NO, KC_O, KC_P, KC_ESC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_L, KC_NO, KC_NO,
KC_LSFT, KC_Z, KC_6, KC_4, KC_1, KC_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT,
KC_3, KC_X, KC_C, KC_LALT, KC_2, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
),
/* PUBG
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | ESC |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | 1 | A | S | D | F | G | H | J | K | L | | F7 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | 3 | X | C | V | B | M | . | | | F9 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | 5 | 4 | Alt | 2 | Space | 6 | 8 | 7 | 9 | ALPHA|
* `-----------------------------------------------------------------------------------'
*/
[_PUBG] = LAYOUT_planck_mit(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ESC,
KC_1, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_NO, KC_F7,
KC_LSFT, KC_Z, KC_3, KC_X, KC_C, KC_V, KC_B, KC_M, KC_DOT, KC_NO, KC_NO, KC_F9,
KC_LCTL, KC_5, KC_4, KC_LALT, KC_2, KC_SPC, KC_6, KC_8, KC_7, KC_9, ALPHA
),
/* OVERWATCH
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | ESC |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | 1 | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / | Enter|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | | | Alt | 2 | Space | Bksp | | | | ALPHA|
* `-----------------------------------------------------------------------------------'
*/
[_OVERWATCH] = LAYOUT_planck_mit(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ESC,
KC_1, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_LCTL, KC_NO, KC_NO, KC_LALT, KC_2, KC_SPC, KC_BSPC, KC_NO, KC_NO, KC_NO, ALPHA
),
/* STARCRAFT
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / | Enter|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | | | Alt | F1 | Space | F10 | Pause|Delete| | ALPHA|
* `-----------------------------------------------------------------------------------'
*/
[_STARCRAFT] = LAYOUT_planck_mit(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_ESC, KC_NO, KC_NO, KC_LALT, KC_F1, KC_SPC, KC_F10, KC_PAUS, KC_DEL, KC_NO, ALPHA
),
/* TETRIS
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | Up | E | R | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | A | Left | Down | Right| F | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | | | Alt | S | Space | | | | | ALPHA|
* `-----------------------------------------------------------------------------------'
*/
[_TETRIS] = LAYOUT_planck_mit(
KC_TAB, KC_Q, KC_UP, KC_E, KC_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_A, KC_LEFT, KC_DOWN, KC_RIGHT, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LCTL, KC_NO, KC_NO, KC_LALT, KC_S, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
),
/* TETRIS
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | ALPHA|
* `-----------------------------------------------------------------------------------'
*/
[_CLEAN] = LAYOUT_planck_mit(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
),
/* RGB (LEFTFN + RGB)
* v------------------------RGB CONTROL--------------------v
* ,-----------------------------------------------------------------------------------.
* | | Reset| | | | | | | | | | CLEAN|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |RGBTGL| MOD+ | BRT+ | SAT+ | | | | FX+ | HUE+ | | MOD R| MODES|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | MOD- | BRT- | SAT- | Trns | | FX- | HUE- | | MOD B| MOD P|
* `-----------------------------------------------------------------------------------'
*/
[_RGB] = LAYOUT_planck_mit(
KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CLEAN,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RGB_TOG, RGB_MOD, RGB_VAI, RGB_SAI, KC_NO, KC_NO, KC_NO, RGB_SPI, RGB_HUI, KC_NO, RGB_M_R, RGB_M_SW,
KC_NO, RGB_RMOD, RGB_VAD, RGB_SAD, KC_TRNS, KC_NO, RGB_SPD, RGB_HUD, KC_NO, RGB_M_B, RGB_M_P
)
};
/*
// Key Matrix to LED Index
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11},
{12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23},
{24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35},
{36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46}
*/
void rgb_matrix_indicators_user(void) {
switch (get_highest_layer(layer_state)) {
case _ALPHA:
break;
case _LEFTFN:
break;
case _RIGHTFN:
break;
case _NUMPAD:
break;
case _LEAGUE:
rgb_matrix_set_color(1, 15, 15, 15);
rgb_matrix_set_color(2, 15, 15, 15);
rgb_matrix_set_color(3, 15, 15, 15);
rgb_matrix_set_color(4, 15, 15, 15);
rgb_matrix_set_color(15, 50, 40, 0);
rgb_matrix_set_color(16, 50, 5, 0);
rgb_matrix_set_color(29, 0, 15, 50);
rgb_matrix_set_color(10, 20, 2, 15);
break;
case _PUBG:
rgb_matrix_set_color(12, 15, 15, 15);
rgb_matrix_set_color(40, 15, 15, 15);
rgb_matrix_set_color(42, 3, 3, 50);
rgb_matrix_set_color(43, 5, 50, 8);
rgb_matrix_set_color(44, 50, 35, 0);
rgb_matrix_set_color(45, 30, 30, 15);
break;
case _OVERWATCH:
rgb_matrix_set_color(11, 80, 20, 0);
rgb_matrix_set_color(46, 80, 20, 0);
break;
case _STARCRAFT:
rgb_matrix_set_color(11, 5, 80, 15);
rgb_matrix_set_color(46, 5, 80, 15);
break;
case _TETRIS:
rgb_matrix_set_color(2, 60, 10, 20);
rgb_matrix_set_color(13, 60, 10, 20);
rgb_matrix_set_color(14, 60, 10, 20);
rgb_matrix_set_color(15, 60, 10, 20);
break;
case _CLEAN:
rgb_matrix_set_color_all(255, 255, 255);
break;
case _RGB:
break;
}
led_t led_state = host_keyboard_led_state();
//Capslock led
if (led_state.caps_lock) {
rgb_matrix_set_color(12, 145, 145, 145);
}
//Numlock led
if (!led_state.num_lock) {
rgb_matrix_set_color(0, 145, 145, 145);
}
//Scroll lock led
if (led_state.scroll_lock) {
rgb_matrix_set_color(24, 145, 145, 145);
}
}
@@ -0,0 +1,3 @@
# Dan's kprepublic bm40 layout
Dan's personal keymap with LED indicator support.
@@ -0,0 +1,22 @@
/* Copyright 2022 dsluo (me@dsluo.dev)
*
* 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
// Enable additional LED functionality
#define USB_LED_INDICATOR_ENABLE
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_KEYPRESSES
+1 -1
View File
@@ -17,7 +17,7 @@
#include QMK_KEYBOARD_H
enum ctrl_keycodes {
U_T_AUTO = USER00, //USB Extra Port Toggle Auto Detect / Always Active
U_T_AUTO = USER00, //USB Extra Port Toggle Auto Detect / Always Active
U_T_AGCR, //USB Toggle Automatic GCR control
DBG_TOG, //DEBUG Toggle On / Off
DBG_MTRX, //DEBUG Toggle Matrix Prints
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
#define MATRIX_ROW_PINS { B13, B14, A10, A1, A0 }
#define MATRIX_ROW_PINS { B13, B14, A8, A1, A0 }
#define MATRIX_COL_PINS { B11, B12, B10, B2, B1, B0, A7, A6, A5, A4, A3, A2, B3, A15, B5 }
+3
View File
@@ -17,5 +17,8 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+1 -1
View File
@@ -370,7 +370,7 @@ def _extract_split_right_pins(info_data, config_c):
direct_pins = config_c.get('DIRECT_PINS_RIGHT', '').replace(' ', '')[1:-1]
if row_pins or col_pins or direct_pins:
if info_data.get('split', {}).get('matrix_pins', {}).get('right') in info_data:
if info_data.get('split', {}).get('matrix_pins', {}).get('right', None):
_log_warning(info_data, 'Right hand matrix data is specified in both info.json and config.h, the config.h values win.')
if 'split' not in info_data:
+3
View File
@@ -45,6 +45,9 @@
# include "joystick.h"
#endif
// TODO: wb32 support defines ISO macro which breaks PRODUCT stringification
#undef ISO
// clang-format off
/*