Update Keychron Q3 (#21995)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com>master
parent
75ba2db2c1
commit
6f59236b1f
|
@ -119,36 +119,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||
{1, C_15, A_15, B_15},
|
||||
};
|
||||
|
||||
#define __ NO_LED
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
// Key Matrix to LED Index
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14 },
|
||||
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 },
|
||||
{ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 },
|
||||
{ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 49, 62, 15, 32 },
|
||||
{ 63, __, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, __, 74, 86, 75 },
|
||||
{ 76, 77, 78, __, __, __, 79, __, __, __, 80, 81, 82, 83, 84, 85 },
|
||||
},
|
||||
{
|
||||
// LED Index to Physical Position
|
||||
{0,0}, {26,0}, {39,0}, {52,0}, {65,0}, {85,0}, {98,0}, {111,0}, {124,0}, {143,0}, {156,0}, {169,0}, {182,0}, {198,0}, {211,0}, {224,0},
|
||||
{0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15},
|
||||
{3,28}, {20,28}, {33,28}, {46,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {179,28}, {198,28}, {211,28}, {224,28},
|
||||
{5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {174,40},
|
||||
{8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52},
|
||||
{2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64},
|
||||
},
|
||||
{
|
||||
// RGB LED Index to Flag
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
|
||||
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
|
||||
}
|
||||
};
|
||||
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
|
|
|
@ -16,17 +16,11 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
|
||||
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, A8, A9, A10, H3 }
|
||||
|
||||
/* We uses a pin with a stronger pull resistor than the internal MCU pins */
|
||||
/* We use a pin with a stronger pull resistor than the internal MCU pins */
|
||||
// #define MATRIX_UNSELECT_DRIVE_HIGH
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_1_LED_TOTAL 48
|
||||
#define DRIVER_2_LED_TOTAL 39
|
||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
#define RGB_MATRIX_LED_COUNT 87
|
||||
|
||||
#define CKLED2001_CURRENT_TUNE \
|
||||
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
|
||||
|
|
|
@ -1,18 +1,109 @@
|
|||
{
|
||||
"keyboard_name": "Keychron Q3",
|
||||
"manufacturer": "Keychron",
|
||||
"url": "https://github.com/Keychron",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x0120",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ckled2001"
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 26, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 2], "x": 39, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 3], "x": 52, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 4], "x": 65, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 5], "x": 85, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 6], "x": 98, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 7], "x": 111, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 8], "x": 124, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 9], "x": 143, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 10], "x": 156, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 11], "x": 169, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 12], "x": 182, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 14], "x": 198, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 15], "x": 211, "y": 0, "flags": 1},
|
||||
{"matrix": [3, 14], "x": 224, "y": 0, "flags": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 13, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 26, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 39, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 52, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 65, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 78, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 91, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 104, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 9], "x": 117, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 10], "x": 130, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 11], "x": 143, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 12], "x": 156, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 13], "x": 176, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 14], "x": 198, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 15], "x": 211, "y": 15, "flags": 1},
|
||||
{"matrix": [3, 15], "x": 224, "y": 15, "flags": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 3, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 20, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 33, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 46, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 59, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 72, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 85, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 98, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 111, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 9], "x": 124, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 10], "x": 137, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 11], "x": 150, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 12], "x": 163, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 13], "x": 179, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 14], "x": 198, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 15], "x": 211, "y": 28, "flags": 1},
|
||||
{"matrix": [3, 12], "x": 224, "y": 28, "flags": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 5, "y": 40, "flags": 8},
|
||||
{"matrix": [3, 1], "x": 23, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 36, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 49, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 62, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 75, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 88, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 101, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 114, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 9], "x": 127, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 10], "x": 140, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 11], "x": 153, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 13], "x": 174, "y": 40, "flags": 1},
|
||||
|
||||
{"matrix": [4, 0], "x": 8, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 2], "x": 29, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 42, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 55, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 68, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 81, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 7], "x": 94, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 8], "x": 107, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 9], "x": 120, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 10], "x": 133, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 11], "x": 146, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 13], "x": 171, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 15], "x": 211, "y": 52, "flags": 1},
|
||||
|
||||
{"matrix": [5, 0], "x": 2, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 1], "x": 18, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 2], "x": 34, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 6], "x": 83, "y": 64, "flags": 4},
|
||||
{"matrix": [5, 10], "x": 131, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 11], "x": 148, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 12], "x": 164, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 13], "x": 180, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 14], "x": 198, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 15], "x": 211, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||
]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"bootloader": "stm32-dfu",
|
||||
"matrix_pins": {
|
||||
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"],
|
||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "H3"]
|
||||
},
|
||||
"community_layouts": ["tkl_ansi"],
|
||||
"layouts": {
|
||||
"LAYOUT_tkl_ansi": {
|
||||
"layout": [
|
||||
|
|
|
@ -1,15 +1 @@
|
|||
# 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 USB N-key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
# This file intentionally left blank
|
|
@ -119,36 +119,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||
{1, C_15, A_15, B_15},
|
||||
};
|
||||
|
||||
#define __ NO_LED
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
// Key Matrix to LED Index
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14 },
|
||||
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 },
|
||||
{ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 },
|
||||
{ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 49, 62, 15, 32 },
|
||||
{ 63, __, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, __, 74, 86, 75 },
|
||||
{ 76, 77, 78, __, __, __, 79, __, __, __, 80, 81, 82, 83, 84, 85 },
|
||||
},
|
||||
{
|
||||
// LED Index to Physical Position
|
||||
{0,0}, {16,0}, {29,0}, {42,0}, {55,0}, {71,0}, {84,0}, {97,0}, {110,0}, {126,0}, {139,0}, {152,0}, {165,0}, {198,0}, {211,0}, {224,0},
|
||||
{0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15},
|
||||
{3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {179,28}, {198,28}, {211,28}, {224,28},
|
||||
{5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {174,40},
|
||||
{8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52},
|
||||
{2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64},
|
||||
},
|
||||
{
|
||||
// RGB LED Index to Flag
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
|
||||
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
|
||||
}
|
||||
};
|
||||
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
|
|
|
@ -21,12 +21,7 @@
|
|||
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_1_LED_TOTAL 48
|
||||
#define DRIVER_2_LED_TOTAL 39
|
||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
|
||||
/* Encoder Configuration */
|
||||
#define ENCODER_DEFAULT_POS 0x3
|
||||
#define RGB_MATRIX_LED_COUNT 87
|
||||
|
||||
#define CKLED2001_CURRENT_TUNE \
|
||||
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
|
||||
|
|
|
@ -1,23 +1,111 @@
|
|||
{
|
||||
"keyboard_name": "Keychron Q3",
|
||||
"manufacturer": "Keychron",
|
||||
"url": "https://github.com/Keychron",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x0121",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ckled2001"
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{"pin_a": "A10", "pin_b": "A8"}
|
||||
]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"bootloader": "stm32-dfu",
|
||||
"rgb_matrix": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 2], "x": 29, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 3], "x": 42, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 4], "x": 55, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 5], "x": 71, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 6], "x": 84, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 7], "x": 97, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 8], "x": 110, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 9], "x": 126, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 10], "x": 139, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 11], "x": 152, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 12], "x": 165, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 14], "x": 198, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 15], "x": 211, "y": 0, "flags": 1},
|
||||
{"matrix": [3, 14], "x": 224, "y": 0, "flags": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 13, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 26, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 39, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 52, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 65, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 78, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 91, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 104, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 9], "x": 117, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 10], "x": 130, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 11], "x": 143, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 12], "x": 156, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 13], "x": 176, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 14], "x": 198, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 15], "x": 211, "y": 15, "flags": 1},
|
||||
{"matrix": [3, 15], "x": 224, "y": 15, "flags": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 3, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 19, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 32, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 45, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 59, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 72, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 85, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 98, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 111, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 9], "x": 124, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 10], "x": 137, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 11], "x": 150, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 12], "x": 163, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 13], "x": 179, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 14], "x": 198, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 15], "x": 211, "y": 28, "flags": 1},
|
||||
{"matrix": [3, 12], "x": 224, "y": 28, "flags": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 5, "y": 40, "flags": 8},
|
||||
{"matrix": [3, 1], "x": 23, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 36, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 49, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 62, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 75, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 88, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 101, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 114, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 9], "x": 127, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 10], "x": 140, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 11], "x": 153, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 13], "x": 174, "y": 40, "flags": 1},
|
||||
|
||||
{"matrix": [4, 0], "x": 8, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 2], "x": 29, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 42, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 55, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 68, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 81, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 7], "x": 94, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 8], "x": 107, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 9], "x": 120, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 10], "x": 133, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 11], "x": 146, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 13], "x": 171, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 15], "x": 211, "y": 52, "flags": 1},
|
||||
|
||||
{"matrix": [5, 0], "x": 2, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 1], "x": 18, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 2], "x": 34, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 6], "x": 83, "y": 64, "flags": 4},
|
||||
{"matrix": [5, 10], "x": 131, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 11], "x": 148, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 12], "x": 164, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 13], "x": 180, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 14], "x": 198, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 15], "x": 211, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||
]
|
||||
},
|
||||
"community_layouts": ["tkl_f13_ansi"],
|
||||
"layouts": {
|
||||
"LAYOUT_tkl_f13_ansi": {
|
||||
"layout": [
|
||||
|
|
|
@ -1,21 +1,4 @@
|
|||
# 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 USB N-key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
ENCODER_ENABLE = yes # Enable Encoder
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
# custom matrix setup
|
||||
# Custom matrix setup
|
||||
CUSTOM_MATRIX = lite
|
||||
|
||||
SRC += matrix.c
|
||||
|
|
|
@ -16,13 +16,6 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 16
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
|
||||
/* RGB Matrix Driver Configuration */
|
||||
#define CKLED2001_DRIVER_COUNT 2
|
||||
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
|
||||
|
@ -43,61 +36,11 @@
|
|||
/* Disable DIP switch in matrix data */
|
||||
#define MATRIX_MASKED
|
||||
|
||||
/* Encoder Configuration*/
|
||||
#define ENCODER_DEFAULT_POS 0x3
|
||||
|
||||
/* turn off effects when suspended */
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
|
||||
/* EEPROM Driver Configuration */
|
||||
#define WEAR_LEVELING_LOGICAL_SIZE 2048
|
||||
#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
|
||||
|
||||
// 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 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_KEYPRESSES
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"manufacturer": "Keychron Q3",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"eeprom": {
|
||||
"wear_leveling": {
|
||||
"backing_size": 4096
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"dip_switch": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"band_spiral_val": true,
|
||||
"breathing": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"cycle_up_down": true,
|
||||
"digital_rain": true,
|
||||
"dual_beacon": true,
|
||||
"jellybean_raindrops": true,
|
||||
"pixel_rain": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_splash": true,
|
||||
"splash": true,
|
||||
"typing_heatmap": true
|
||||
},
|
||||
"driver": "ckled2001"
|
||||
},
|
||||
"url": "https://github.com/Keychron",
|
||||
"usb": {
|
||||
"vid": "0x3434"
|
||||
}
|
||||
}
|
|
@ -16,17 +16,11 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
|
||||
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, A8, A9, A10, H3 }
|
||||
|
||||
/* We uses a pin with a stronger pull resistor than the internal MCU pins */
|
||||
/* We use a pin with a stronger pull resistor than the internal MCU pins */
|
||||
// #define MATRIX_UNSELECT_DRIVE_HIGH
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_1_LED_TOTAL 48
|
||||
#define DRIVER_2_LED_TOTAL 40
|
||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
#define RGB_MATRIX_LED_COUNT 88
|
||||
|
||||
#define CKLED2001_CURRENT_TUNE \
|
||||
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
|
||||
|
|
|
@ -1,18 +1,110 @@
|
|||
{
|
||||
"keyboard_name": "Keychron Q3",
|
||||
"manufacturer": "Keychron",
|
||||
"url": "https://github.com/Keychron",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x0122",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ckled2001"
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 26, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 2], "x": 39, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 3], "x": 52, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 4], "x": 65, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 5], "x": 84, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 6], "x": 97, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 7], "x": 111, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 8], "x": 124, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 9], "x": 143, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 10], "x": 156, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 11], "x": 169, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 12], "x": 182, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 14], "x": 198, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 15], "x": 211, "y": 0, "flags": 1},
|
||||
{"matrix": [3, 14], "x": 224, "y": 0, "flags": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 13, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 26, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 39, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 52, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 65, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 78, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 91, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 104, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 9], "x": 117, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 10], "x": 130, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 11], "x": 143, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 12], "x": 156, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 13], "x": 176, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 14], "x": 198, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 15], "x": 211, "y": 15, "flags": 1},
|
||||
{"matrix": [3, 15], "x": 224, "y": 15, "flags": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 3, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 19, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 32, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 45, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 59, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 72, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 85, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 98, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 111, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 9], "x": 124, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 10], "x": 137, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 11], "x": 150, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 12], "x": 163, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 14], "x": 198, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 15], "x": 211, "y": 28, "flags": 1},
|
||||
{"matrix": [3, 12], "x": 224, "y": 28, "flags": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 5, "y": 40, "flags": 8},
|
||||
{"matrix": [3, 1], "x": 23, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 36, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 49, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 62, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 75, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 88, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 101, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 114, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 9], "x": 127, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 10], "x": 140, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 11], "x": 153, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 13], "x": 166, "y": 40, "flags": 4},
|
||||
{"matrix": [2, 13], "x": 183, "y": 36, "flags": 1},
|
||||
|
||||
{"matrix": [4, 0], "x": 2, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 1], "x": 16, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 2], "x": 29, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 42, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 55, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 68, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 81, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 7], "x": 94, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 8], "x": 107, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 9], "x": 120, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 10], "x": 133, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 11], "x": 146, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 13], "x": 171, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 15], "x": 211, "y": 52, "flags": 1},
|
||||
|
||||
{"matrix": [5, 0], "x": 2, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 1], "x": 18, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 2], "x": 34, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 6], "x": 83, "y": 64, "flags": 4},
|
||||
{"matrix": [5, 10], "x": 131, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 11], "x": 148, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 12], "x": 164, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 13], "x": 180, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 14], "x": 198, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 15], "x": 211, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||
]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"bootloader": "stm32-dfu",
|
||||
"matrix_pins": {
|
||||
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"],
|
||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "H3"]
|
||||
},
|
||||
"community_layouts": ["tkl_iso"],
|
||||
"layouts": {
|
||||
"LAYOUT_tkl_iso": {
|
||||
"layout": [
|
||||
|
|
|
@ -120,36 +120,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||
{1, C_15, A_15, B_15},
|
||||
};
|
||||
|
||||
#define __ NO_LED
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
// Key Matrix to LED Index
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14 },
|
||||
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 },
|
||||
{ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 62, 46, 47 },
|
||||
{ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 48, 61, 15, 32 },
|
||||
{ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, __, 75, 87, 76 },
|
||||
{ 77, 78, 79, __, __, __, 80, __, __, __, 81, 82, 83, 84, 85, 86 },
|
||||
},
|
||||
{
|
||||
// LED Index to Physical Position
|
||||
{0,0}, {26,0}, {39,0}, {52,0}, {65,0}, {84,0}, {97,0}, {111,0}, {124,0}, {143,0}, {156,0}, {169,0}, {182,0}, {198,0}, {211,0}, {224,0},
|
||||
{0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15},
|
||||
{3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28},
|
||||
{5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36},
|
||||
{2,52}, {16,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52},
|
||||
{2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64},
|
||||
},
|
||||
{
|
||||
// RGB LED Index to Flag
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
|
||||
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
|
||||
}
|
||||
};
|
||||
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
|
|
|
@ -1,15 +1 @@
|
|||
# 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 USB N-key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
# This file intentionally left blank
|
|
@ -21,12 +21,7 @@
|
|||
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_1_LED_TOTAL 48
|
||||
#define DRIVER_2_LED_TOTAL 40
|
||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
|
||||
/* Encoder Configuration */
|
||||
#define ENCODER_DEFAULT_POS 0x3
|
||||
#define RGB_MATRIX_LED_COUNT 88
|
||||
|
||||
#define CKLED2001_CURRENT_TUNE \
|
||||
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
|
||||
|
|
|
@ -1,23 +1,112 @@
|
|||
{
|
||||
"keyboard_name": "Keychron Q3",
|
||||
"manufacturer": "Keychron",
|
||||
"url": "https://github.com/Keychron",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x0123",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ckled2001"
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{"pin_a": "A10", "pin_b": "A8"}
|
||||
]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"bootloader": "stm32-dfu",
|
||||
"rgb_matrix": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 2], "x": 29, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 3], "x": 42, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 4], "x": 55, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 5], "x": 71, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 6], "x": 84, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 7], "x": 97, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 8], "x": 110, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 9], "x": 126, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 10], "x": 139, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 11], "x": 152, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 12], "x": 165, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 14], "x": 198, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 15], "x": 211, "y": 0, "flags": 1},
|
||||
{"matrix": [3, 14], "x": 224, "y": 0, "flags": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 13, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 26, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 39, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 52, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 65, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 78, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 91, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 104, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 9], "x": 117, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 10], "x": 130, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 11], "x": 143, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 12], "x": 156, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 13], "x": 176, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 14], "x": 198, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 15], "x": 211, "y": 15, "flags": 1},
|
||||
{"matrix": [3, 15], "x": 224, "y": 15, "flags": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 3, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 19, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 32, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 45, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 59, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 72, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 85, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 98, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 111, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 9], "x": 124, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 10], "x": 137, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 11], "x": 150, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 12], "x": 163, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 14], "x": 198, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 15], "x": 211, "y": 28, "flags": 1},
|
||||
{"matrix": [3, 12], "x": 224, "y": 28, "flags": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 5, "y": 40, "flags": 8},
|
||||
{"matrix": [3, 1], "x": 23, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 36, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 49, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 62, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 75, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 88, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 101, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 114, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 9], "x": 127, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 10], "x": 140, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 11], "x": 153, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 13], "x": 166, "y": 40, "flags": 4},
|
||||
{"matrix": [2, 13], "x": 183, "y": 36, "flags": 1},
|
||||
|
||||
{"matrix": [4, 0], "x": 2, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 1], "x": 16, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 2], "x": 29, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 42, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 55, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 68, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 81, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 7], "x": 94, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 8], "x": 107, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 9], "x": 120, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 10], "x": 133, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 11], "x": 146, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 13], "x": 171, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 15], "x": 211, "y": 52, "flags": 1},
|
||||
|
||||
{"matrix": [5, 0], "x": 2, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 1], "x": 18, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 2], "x": 34, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 6], "x": 83, "y": 64, "flags": 4},
|
||||
{"matrix": [5, 10], "x": 131, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 11], "x": 148, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 12], "x": 164, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 13], "x": 180, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 14], "x": 198, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 15], "x": 211, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||
]
|
||||
},
|
||||
"community_layouts": ["tkl_f13_iso"],
|
||||
"layouts": {
|
||||
"LAYOUT_tkl_f13_iso": {
|
||||
"layout": [
|
||||
|
|
|
@ -120,36 +120,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||
{1, C_15, A_15, B_15},
|
||||
};
|
||||
|
||||
#define __ NO_LED
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
// Key Matrix to LED Index
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14 },
|
||||
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 },
|
||||
{ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 62, 46, 47 },
|
||||
{ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 48, 61, 15, 32 },
|
||||
{ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, __, 75, 87, 76 },
|
||||
{ 77, 78, 79, __, __, __, 80, __, __, __, 81, 82, 83, 84, 85, 86 },
|
||||
},
|
||||
{
|
||||
// LED Index to Physical Position
|
||||
{0,0}, {16,0}, {29,0}, {42,0}, {55,0}, {71,0}, {84,0}, {97,0}, {110,0}, {126,0}, {139,0}, {152,0}, {165,0}, {198,0}, {211,0}, {224,0},
|
||||
{0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15},
|
||||
{3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28},
|
||||
{5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36},
|
||||
{2,52}, {16,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52},
|
||||
{2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64},
|
||||
},
|
||||
{
|
||||
// RGB LED Index to Flag
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
|
||||
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
|
||||
}
|
||||
};
|
||||
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
|
|
|
@ -1,21 +1,4 @@
|
|||
# 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 USB N-key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
ENCODER_ENABLE = yes # Enable Encoder
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
# custom matrix setup
|
||||
# Custom matrix setup
|
||||
CUSTOM_MATRIX = lite
|
||||
|
||||
SRC += matrix.c
|
||||
|
|
|
@ -16,19 +16,11 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ B5, B4, B3, A15, A14, A13 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ C14, C15, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, A8, A9, A10, H3 }
|
||||
|
||||
/* If PH3 used with a stronger pull resistor then the following definition needs be included */
|
||||
// #define MATRIX_UNSELECT_DRIVE_HIGH
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_1_LED_TOTAL 48
|
||||
#define DRIVER_2_LED_TOTAL 43
|
||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
#define RGB_MATRIX_LED_COUNT 91
|
||||
|
||||
#define CKLED2001_CURRENT_TUNE \
|
||||
{ 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 }
|
||||
|
|
|
@ -1,18 +1,116 @@
|
|||
{
|
||||
"keyboard_name": "Keychron Q3",
|
||||
"manufacturer": "Keychron",
|
||||
"url": "https://github.com/Keychron",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x0124",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ckled2001"
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 26, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 2], "x": 39, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 3], "x": 52, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 4], "x": 65, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 5], "x": 84, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 6], "x": 97, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 7], "x": 111, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 8], "x": 124, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 9], "x": 143, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 10], "x": 156, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 11], "x": 169, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 12], "x": 182, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 14], "x": 198, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 15], "x": 211, "y": 0, "flags": 1},
|
||||
{"matrix": [3, 14], "x": 224, "y": 0, "flags": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 13, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 26, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 39, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 52, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 65, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 78, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 91, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 104, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 9], "x": 117, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 10], "x": 130, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 11], "x": 143, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 12], "x": 156, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 13], "x": 169, "y": 15, "flags": 4},
|
||||
{"matrix": [0, 13], "x": 182, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 14], "x": 198, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 15], "x": 211, "y": 15, "flags": 1},
|
||||
{"matrix": [3, 15], "x": 224, "y": 15, "flags": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 3, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 19, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 32, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 45, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 59, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 72, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 85, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 98, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 111, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 9], "x": 124, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 10], "x": 137, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 11], "x": 150, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 12], "x": 163, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 14], "x": 198, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 15], "x": 211, "y": 28, "flags": 1},
|
||||
{"matrix": [3, 12], "x": 224, "y": 28, "flags": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 5, "y": 40, "flags": 8},
|
||||
{"matrix": [3, 1], "x": 23, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 36, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 49, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 62, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 75, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 88, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 101, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 114, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 9], "x": 127, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 10], "x": 140, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 11], "x": 153, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 13], "x": 166, "y": 40, "flags": 4},
|
||||
{"matrix": [2, 13], "x": 183, "y": 36, "flags": 1},
|
||||
|
||||
{"matrix": [4, 0], "x": 8, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 2], "x": 29, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 42, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 55, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 68, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 81, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 7], "x": 94, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 8], "x": 107, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 9], "x": 120, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 10], "x": 133, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 11], "x": 146, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 12], "x": 159, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 13], "x": 177, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 15], "x": 211, "y": 52, "flags": 1},
|
||||
|
||||
{"matrix": [5, 0], "x": 2, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 1], "x": 16, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 2], "x": 31, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 3], "x": 45, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 6], "x": 83, "y": 64, "flags": 4},
|
||||
{"matrix": [5, 9], "x": 119, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 10], "x": 135, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 11], "x": 151, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 12], "x": 166, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 13], "x": 180, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 14], "x": 198, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 15], "x": 211, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||
]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"bootloader": "stm32-dfu",
|
||||
"matrix_pins": {
|
||||
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"],
|
||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "H3"]
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT_tkl_jis": "LAYOUT_jis_91"
|
||||
},
|
||||
"community_layouts": ["tkl_jis"],
|
||||
"layouts": {
|
||||
"LAYOUT_jis_91": {
|
||||
"layout": [
|
||||
|
|
|
@ -123,36 +123,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||
{1, C_15, A_15, B_15}, // Right
|
||||
};
|
||||
|
||||
#define __ NO_LED
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
// Key Matrix to LED Index
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 30, 13, 14 },
|
||||
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32 },
|
||||
{ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 63, 47, 48 },
|
||||
{ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 49, 62, 15, 33 },
|
||||
{ 64, __, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 90, 77 },
|
||||
{ 78, 79, 80, 81, __, __, 82, __, __, 83, 84, 85, 86, 87, 88, 89 },
|
||||
},
|
||||
{
|
||||
// LED Index to Physical Position
|
||||
{0,0}, {26,0}, {39,0}, {52,0}, {65,0}, {84,0}, {97,0}, {111,0}, {124,0}, {143,0}, {156,0}, {169,0}, {182,0}, {198,0}, {211,0}, {224,0},
|
||||
{0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {169,15}, {182,15}, {198,15}, {211,15}, {224,15},
|
||||
{3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28},
|
||||
{5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36},
|
||||
{8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {159,52}, {177,52}, {211,52},
|
||||
{2,64}, {16,64}, {31,64}, {45,64}, {81,64}, {119,64}, {135,64}, {151,64}, {166,64}, {180,64}, {198,64}, {211,64}, {224,64}
|
||||
},
|
||||
{
|
||||
// RGB LED Index to Flag
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
|
||||
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
}
|
||||
};
|
||||
|
||||
#endif // GB_MATRIX_ENABLE
|
||||
|
|
|
@ -1,15 +1 @@
|
|||
# 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 USB N-key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
# This file intentionally left blank
|
|
@ -17,21 +17,14 @@
|
|||
#pragma once
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ B5, B4, B3, A15, A14, A13 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
|
||||
#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
|
||||
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_1_LED_TOTAL 49
|
||||
#define DRIVER_2_LED_TOTAL 43
|
||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
#define RGB_MATRIX_LED_COUNT 92
|
||||
|
||||
#define CKLED2001_CURRENT_TUNE \
|
||||
{ 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 }
|
||||
|
||||
/* Encoder Configuration */
|
||||
#define ENCODER_DEFAULT_POS 0x3
|
||||
|
||||
/* Enable CapsLcok LED */
|
||||
#define CAPS_LOCK_LED_INDEX 51
|
||||
|
|
|
@ -1,23 +1,119 @@
|
|||
{
|
||||
"keyboard_name": "Keychron Q3",
|
||||
"manufacturer": "Keychron",
|
||||
"url": "https://github.com/Keychron",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x0125",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ckled2001"
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{"pin_a": "A10", "pin_b": "A8"}
|
||||
]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"bootloader": "stm32-dfu",
|
||||
"rgb_matrix": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 2], "x": 29, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 3], "x": 42, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 4], "x": 55, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 5], "x": 71, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 6], "x": 84, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 7], "x": 97, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 8], "x": 110, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 9], "x": 126, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 10], "x": 139, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 11], "x": 152, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 12], "x": 165, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 13], "x": 182, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 14], "x": 198, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 15], "x": 211, "y": 0, "flags": 1},
|
||||
{"matrix": [3, 14], "x": 224, "y": 0, "flags": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 13, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 26, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 39, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 52, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 65, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 78, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 91, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 104, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 9], "x": 117, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 10], "x": 130, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 11], "x": 143, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 12], "x": 156, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 13], "x": 169, "y": 15, "flags": 4},
|
||||
{"matrix": [0, 13], "x": 182, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 14], "x": 198, "y": 15, "flags": 1},
|
||||
{"matrix": [1, 15], "x": 211, "y": 15, "flags": 1},
|
||||
{"matrix": [3, 15], "x": 224, "y": 15, "flags": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 3, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 19, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 32, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 45, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 59, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 72, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 85, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 98, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 111, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 9], "x": 124, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 10], "x": 137, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 11], "x": 150, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 12], "x": 163, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 14], "x": 198, "y": 28, "flags": 1},
|
||||
{"matrix": [2, 15], "x": 211, "y": 28, "flags": 1},
|
||||
{"matrix": [3, 12], "x": 224, "y": 28, "flags": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 5, "y": 40, "flags": 8},
|
||||
{"matrix": [3, 1], "x": 23, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 36, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 49, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 62, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 75, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 88, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 101, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 114, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 9], "x": 127, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 10], "x": 140, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 11], "x": 153, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 13], "x": 166, "y": 40, "flags": 4},
|
||||
{"matrix": [2, 13], "x": 183, "y": 36, "flags": 1},
|
||||
|
||||
{"matrix": [4, 0], "x": 8, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 2], "x": 29, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 42, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 55, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 68, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 81, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 7], "x": 94, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 8], "x": 107, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 9], "x": 120, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 10], "x": 133, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 11], "x": 146, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 12], "x": 159, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 13], "x": 177, "y": 52, "flags": 1},
|
||||
{"matrix": [4, 15], "x": 211, "y": 52, "flags": 1},
|
||||
|
||||
{"matrix": [5, 0], "x": 2, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 1], "x": 16, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 2], "x": 31, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 3], "x": 45, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 6], "x": 81, "y": 64, "flags": 4},
|
||||
{"matrix": [5, 9], "x": 119, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 10], "x": 135, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 11], "x": 151, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 12], "x": 166, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 13], "x": 180, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 14], "x": 198, "y": 64, "flags": 1},
|
||||
{"matrix": [5, 15], "x": 211, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||
]
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT_tkl_f13_jis": "LAYOUT_jis_92"
|
||||
},
|
||||
"community_layouts": ["tkl_f13_jis"],
|
||||
"layouts": {
|
||||
"LAYOUT_jis_92": {
|
||||
"layout": [
|
||||
|
|
|
@ -124,36 +124,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||
{1, C_15, A_15, B_15}, // Right
|
||||
};
|
||||
|
||||
#define __ NO_LED
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
// Key Matrix to LED Index
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
|
||||
{ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33 },
|
||||
{ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 64, 48, 49 },
|
||||
{ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 50, 63, 16, 34 },
|
||||
{ 65, __, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 91, 78 },
|
||||
{ 79, 80, 81, 82, __, 31, 83, __, __, 84, 85, 86, 87, 88, 89, 90 },
|
||||
},
|
||||
{
|
||||
// LED Index to Physical Position
|
||||
{0,0}, {16,0}, {29,0}, {42,0}, {55,0}, {71,0}, {84,0}, {97,0}, {110,0}, {126,0}, {139,0}, {152,0}, {165,0}, {182,0}, {198,0}, {211,0}, {224,0},
|
||||
{0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {169,15}, {182,15}, {198,15}, {211,15}, {224,15},
|
||||
{3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28},
|
||||
{5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36},
|
||||
{8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {159,52}, {177,52}, {211,52},
|
||||
{2,64}, {16,64}, {31,64}, {45,64}, {81,64}, {119,64}, {135,64}, {151,64}, {166,64}, {180,64}, {198,64}, {211,64}, {224,64},
|
||||
},
|
||||
{
|
||||
// RGB LED Index to Flag
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
|
||||
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
}
|
||||
};
|
||||
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
|
|
|
@ -1,21 +1,4 @@
|
|||
# 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 USB N-key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
ENCODER_ENABLE = yes # Enable Encoder
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
# custom matrix setup
|
||||
# Custom matrix setup
|
||||
CUSTOM_MATRIX = lite
|
||||
|
||||
SRC += matrix.c
|
||||
|
|
|
@ -1,22 +1,30 @@
|
|||
# Keychron Q3
|
||||
|
||||
![Keychron Q3](https://i.imgur.com/KjP4nqdh.jpg)
|
||||
|
||||
A customizable 80% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
|
||||
* Hardware Supported: Keychron Q3
|
||||
* Hardware Availability: [Keychron](https://www.keychron.com)
|
||||
* Hardware Availability: [Keychron Q3 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q3-qmk-custom-mechanical-keyboard)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
```
|
||||
make keychron/q3/ansi:default
|
||||
```
|
||||
make keychron/q3/ansi:default
|
||||
make keychron/q3/ansi_encoder:default
|
||||
make keychron/q3/iso:default
|
||||
make keychron/q3/iso_encoder:default
|
||||
make keychron/q3/jis:default
|
||||
make keychron/q3/jis_encoder:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
```
|
||||
make keychron/q3/ansi:default:flash
|
||||
```
|
||||
make keychron/q3/ansi:default:flash
|
||||
make keychron/q3/ansi_encoder:default:flash
|
||||
make keychron/q3/iso:default:flash
|
||||
make keychron/q3/iso_encoder:default:flash
|
||||
make keychron/q3/jis:default:flash
|
||||
make keychron/q3/jis_encoder:default:flash
|
||||
|
||||
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
|
||||
|
||||
|
|
Loading…
Reference in New Issue