Skip to content

Commit

Permalink
[Keyboard] Update Keychron Q8 (qmk#22578)
Browse files Browse the repository at this point in the history
* Update Q8

* Run `qmk format-json` and remove `RGB_MATRIX_LED_COUNT`

* Update keyboards/keychron/q8/ansi_encoder/info.json

Co-authored-by: Ryan <[email protected]>

* Update keyboards/keychron/q8/iso/info.json

Co-authored-by: Ryan <[email protected]>

---------

Co-authored-by: Ryan <[email protected]>
  • Loading branch information
2 people authored and nuess0r committed Sep 8, 2024
1 parent 9a9d431 commit f23e009
Show file tree
Hide file tree
Showing 19 changed files with 405 additions and 337 deletions.
29 changes: 0 additions & 29 deletions keyboards/keychron/q8/ansi/ansi.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,33 +103,4 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
{1, F_1, D_1, E_1}
};

#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, 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, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
{ 58, 59, 60, 61, __, __, 62, 63, 64, 65, __, __, 66, 67, 68 },
},
{
// LED Index to Physical Position
{7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8 }, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0},
{7,14}, {24,14}, {39,14}, {52,17}, {65,20}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {170,14}, {183,14}, {200,14}, {222,16},
{6,27}, {24,27}, {39,28}, {52,30}, {65,33}, {78,36}, {109,37}, {122,34}, {135,32}, {148,29}, {162,27}, {176,27}, {197,27}, {224,29},
{7,40}, {28,40}, {43,42}, {56,44}, {69,47}, {82,50}, {102,52}, {115,49}, {128,46}, {141,44}, {154,41}, {169,40}, {187,40}, {209,43},
{0,53}, {17,53}, {42,55}, {65,60}, {86,64}, {107,64}, {131,59}, {156,54}, {196,56}, {209,56}, {222,56},
},
{
// RGB LED Index to Flag
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1,
}
};

#endif // RGB_MATRIX_ENABLE
5 changes: 0 additions & 5 deletions keyboards/keychron/q8/ansi/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,5 @@

#pragma once

/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 34
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30
96 changes: 79 additions & 17 deletions keyboards/keychron/q8/ansi/info.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,85 @@
{
"keyboard_name": "Keychron Q8",
"manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
"usb": {
"vid": "0x3434",
"pid": "0x0180",
"device_version": "1.0.0"
},
"rgb_matrix": {
"driver": "snled27351"
"layout": [
{"matrix": [0, 0], "x": 7, "y": 1, "flags": 1},
{"matrix": [0, 1], "x": 20, "y": 1, "flags": 4},
{"matrix": [0, 2], "x": 33, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 48, "y": 3, "flags": 4},
{"matrix": [0, 4], "x": 61, "y": 6, "flags": 4},
{"matrix": [0, 5], "x": 74, "y": 8, "flags": 4},
{"matrix": [0, 6], "x": 87, "y": 11, "flags": 4},
{"matrix": [0, 7], "x": 106, "y": 11, "flags": 4},
{"matrix": [0, 8], "x": 119, "y": 8, "flags": 4},
{"matrix": [0, 9], "x": 132, "y": 6, "flags": 4},
{"matrix": [0, 10], "x": 145, "y": 3, "flags": 4},
{"matrix": [0, 11], "x": 160, "y": 0, "flags": 4},
{"matrix": [0, 12], "x": 173, "y": 1, "flags": 4},
{"matrix": [0, 13], "x": 193, "y": 1, "flags": 1},
{"matrix": [0, 14], "x": 220, "y": 0, "flags": 1},

{"matrix": [1, 0], "x": 7, "y": 14, "flags": 1},
{"matrix": [1, 1], "x": 24, "y": 14, "flags": 4},
{"matrix": [1, 2], "x": 39, "y": 14, "flags": 4},
{"matrix": [1, 3], "x": 52, "y": 17, "flags": 4},
{"matrix": [1, 4], "x": 65, "y": 20, "flags": 4},
{"matrix": [1, 5], "x": 78, "y": 22, "flags": 4},
{"matrix": [1, 6], "x": 103, "y": 25, "flags": 4},
{"matrix": [1, 7], "x": 116, "y": 22, "flags": 4},
{"matrix": [1, 8], "x": 129, "y": 20, "flags": 4},
{"matrix": [1, 9], "x": 142, "y": 17, "flags": 4},
{"matrix": [1, 10], "x": 155, "y": 14, "flags": 4},
{"matrix": [1, 11], "x": 170, "y": 14, "flags": 4},
{"matrix": [1, 12], "x": 183, "y": 14, "flags": 4},
{"matrix": [1, 13], "x": 200, "y": 14, "flags": 4},
{"matrix": [1, 14], "x": 222, "y": 16, "flags": 1},

{"matrix": [2, 0], "x": 6, "y": 27, "flags": 8},
{"matrix": [2, 1], "x": 24, "y": 27, "flags": 4},
{"matrix": [2, 2], "x": 39, "y": 28, "flags": 4},
{"matrix": [2, 3], "x": 52, "y": 30, "flags": 4},
{"matrix": [2, 4], "x": 65, "y": 33, "flags": 4},
{"matrix": [2, 5], "x": 78, "y": 36, "flags": 4},
{"matrix": [2, 7], "x": 109, "y": 37, "flags": 4},
{"matrix": [2, 8], "x": 122, "y": 34, "flags": 4},
{"matrix": [2, 9], "x": 135, "y": 32, "flags": 4},
{"matrix": [2, 10], "x": 148, "y": 29, "flags": 4},
{"matrix": [2, 11], "x": 162, "y": 27, "flags": 4},
{"matrix": [2, 12], "x": 176, "y": 27, "flags": 4},
{"matrix": [2, 13], "x": 197, "y": 27, "flags": 1},
{"matrix": [2, 14], "x": 224, "y": 29, "flags": 1},

{"matrix": [3, 0], "x": 7, "y": 40, "flags": 1},
{"matrix": [3, 2], "x": 28, "y": 40, "flags": 4},
{"matrix": [3, 3], "x": 43, "y": 42, "flags": 4},
{"matrix": [3, 4], "x": 56, "y": 44, "flags": 4},
{"matrix": [3, 5], "x": 69, "y": 47, "flags": 4},
{"matrix": [3, 6], "x": 82, "y": 50, "flags": 4},
{"matrix": [3, 7], "x": 102, "y": 52, "flags": 4},
{"matrix": [3, 8], "x": 115, "y": 49, "flags": 4},
{"matrix": [3, 9], "x": 128, "y": 46, "flags": 4},
{"matrix": [3, 10], "x": 141, "y": 44, "flags": 4},
{"matrix": [3, 11], "x": 154, "y": 41, "flags": 4},
{"matrix": [3, 12], "x": 169, "y": 40, "flags": 4},
{"matrix": [3, 13], "x": 187, "y": 40, "flags": 1},
{"matrix": [3, 14], "x": 209, "y": 43, "flags": 1},

{"matrix": [4, 0], "x": 0, "y": 53, "flags": 1},
{"matrix": [4, 1], "x": 17, "y": 53, "flags": 1},
{"matrix": [4, 2], "x": 42, "y": 55, "flags": 1},
{"matrix": [4, 3], "x": 65, "y": 60, "flags": 4},
{"matrix": [4, 6], "x": 86, "y": 64, "flags": 1},
{"matrix": [4, 7], "x": 107, "y": 64, "flags": 1},
{"matrix": [4, 8], "x": 131, "y": 59, "flags": 4},
{"matrix": [4, 9], "x": 156, "y": 54, "flags": 1},
{"matrix": [4, 12], "x": 196, "y": 56, "flags": 1},
{"matrix": [4, 13], "x": 209, "y": 56, "flags": 1},
{"matrix": [4, 14], "x": 222, "y": 56, "flags": 1}
]
},
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
"usb": {
"device_version": "1.0.0",
"pid": "0x0180"
},
"diode_direction": "ROW2COL",
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_ansi_69": {
"layout": [
Expand Down Expand Up @@ -97,4 +159,4 @@
]
}
}
}
}
15 changes: 1 addition & 14 deletions keyboards/keychron/q8/ansi/rules.mk
Original file line number Diff line number Diff line change
@@ -1,14 +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
# This file intentionally left blank
29 changes: 0 additions & 29 deletions keyboards/keychron/q8/ansi_encoder/ansi_encoder.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,33 +103,4 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
{1, F_1, D_1, E_1}
};

#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, 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, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
{ 58, 59, 60, 61, __, __, 62, 63, 64, 65, __, __, 66, 67, 68 },
},
{
// LED Index to Physical Position
{7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8 }, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0},
{7,14}, {24,14}, {39,14}, {52,17}, {65,20}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {170,14}, {183,14}, {200,14}, {222,16},
{6,27}, {24,27}, {39,28}, {52,30}, {65,33}, {78,36}, {109,37}, {122,34}, {135,32}, {148,29}, {162,27}, {176,27}, {197,27}, {224,29},
{7,40}, {28,40}, {43,42}, {56,44}, {69,47}, {82,50}, {102,52}, {115,49}, {128,46}, {141,44}, {154,41}, {169,40}, {187,40}, {209,43},
{0,53}, {17,53}, {42,55}, {65,60}, {86,64}, {107,64}, {131,59}, {156,54}, {196,56}, {209,56}, {222,56},
},
{
// RGB LED Index to Flag
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1,
}
};

#endif // RGB_MATRIX_ENABLE
8 changes: 0 additions & 8 deletions keyboards/keychron/q8/ansi_encoder/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,5 @@

#pragma once

/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 34
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3

/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30
104 changes: 83 additions & 21 deletions keyboards/keychron/q8/ansi_encoder/info.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,91 @@
{
"keyboard_name": "Keychron Q8",
"manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
"usb": {
"vid": "0x3434",
"pid": "0x0181",
"device_version": "1.0.0"
},
"rgb_matrix": {
"driver": "snled27351"
},
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
},
"diode_direction": "ROW2COL",
"encoder": {
"enabled": true,
"rotary": [
{"pin_a": "B5", "pin_b": "A10"}
]
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"rgb_matrix": {
"layout": [
{"matrix": [0, 0], "x": 7, "y": 1, "flags": 1},
{"matrix": [0, 1], "x": 20, "y": 1, "flags": 4},
{"matrix": [0, 2], "x": 33, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 48, "y": 3, "flags": 4},
{"matrix": [0, 4], "x": 61, "y": 6, "flags": 4},
{"matrix": [0, 5], "x": 74, "y": 8, "flags": 4},
{"matrix": [0, 6], "x": 87, "y": 11, "flags": 4},
{"matrix": [0, 7], "x": 106, "y": 11, "flags": 4},
{"matrix": [0, 8], "x": 119, "y": 8, "flags": 4},
{"matrix": [0, 9], "x": 132, "y": 6, "flags": 4},
{"matrix": [0, 10], "x": 145, "y": 3, "flags": 4},
{"matrix": [0, 11], "x": 160, "y": 0, "flags": 4},
{"matrix": [0, 12], "x": 173, "y": 1, "flags": 4},
{"matrix": [0, 13], "x": 193, "y": 1, "flags": 1},
{"matrix": [0, 14], "x": 220, "y": 0, "flags": 1},

{"matrix": [1, 0], "x": 7, "y": 14, "flags": 1},
{"matrix": [1, 1], "x": 24, "y": 14, "flags": 4},
{"matrix": [1, 2], "x": 39, "y": 14, "flags": 4},
{"matrix": [1, 3], "x": 52, "y": 17, "flags": 4},
{"matrix": [1, 4], "x": 65, "y": 20, "flags": 4},
{"matrix": [1, 5], "x": 78, "y": 22, "flags": 4},
{"matrix": [1, 6], "x": 103, "y": 25, "flags": 4},
{"matrix": [1, 7], "x": 116, "y": 22, "flags": 4},
{"matrix": [1, 8], "x": 129, "y": 20, "flags": 4},
{"matrix": [1, 9], "x": 142, "y": 17, "flags": 4},
{"matrix": [1, 10], "x": 155, "y": 14, "flags": 4},
{"matrix": [1, 11], "x": 170, "y": 14, "flags": 4},
{"matrix": [1, 12], "x": 183, "y": 14, "flags": 4},
{"matrix": [1, 13], "x": 200, "y": 14, "flags": 4},
{"matrix": [1, 14], "x": 222, "y": 16, "flags": 1},

{"matrix": [2, 0], "x": 6, "y": 27, "flags": 8},
{"matrix": [2, 1], "x": 24, "y": 27, "flags": 4},
{"matrix": [2, 2], "x": 39, "y": 28, "flags": 4},
{"matrix": [2, 3], "x": 52, "y": 30, "flags": 4},
{"matrix": [2, 4], "x": 65, "y": 33, "flags": 4},
{"matrix": [2, 5], "x": 78, "y": 36, "flags": 4},
{"matrix": [2, 7], "x": 109, "y": 37, "flags": 4},
{"matrix": [2, 8], "x": 122, "y": 34, "flags": 4},
{"matrix": [2, 9], "x": 135, "y": 32, "flags": 4},
{"matrix": [2, 10], "x": 148, "y": 29, "flags": 4},
{"matrix": [2, 11], "x": 162, "y": 27, "flags": 4},
{"matrix": [2, 12], "x": 176, "y": 27, "flags": 4},
{"matrix": [2, 13], "x": 197, "y": 27, "flags": 1},
{"matrix": [2, 14], "x": 224, "y": 29, "flags": 1},

{"matrix": [3, 0], "x": 7, "y": 40, "flags": 1},
{"matrix": [3, 2], "x": 28, "y": 40, "flags": 4},
{"matrix": [3, 3], "x": 43, "y": 42, "flags": 4},
{"matrix": [3, 4], "x": 56, "y": 44, "flags": 4},
{"matrix": [3, 5], "x": 69, "y": 47, "flags": 4},
{"matrix": [3, 6], "x": 82, "y": 50, "flags": 4},
{"matrix": [3, 7], "x": 102, "y": 52, "flags": 4},
{"matrix": [3, 8], "x": 115, "y": 49, "flags": 4},
{"matrix": [3, 9], "x": 128, "y": 46, "flags": 4},
{"matrix": [3, 10], "x": 141, "y": 44, "flags": 4},
{"matrix": [3, 11], "x": 154, "y": 41, "flags": 4},
{"matrix": [3, 12], "x": 169, "y": 40, "flags": 4},
{"matrix": [3, 13], "x": 187, "y": 40, "flags": 1},
{"matrix": [3, 14], "x": 209, "y": 43, "flags": 1},

{"matrix": [4, 0], "x": 0, "y": 53, "flags": 1},
{"matrix": [4, 1], "x": 17, "y": 53, "flags": 1},
{"matrix": [4, 2], "x": 42, "y": 55, "flags": 1},
{"matrix": [4, 3], "x": 65, "y": 60, "flags": 4},
{"matrix": [4, 6], "x": 86, "y": 64, "flags": 1},
{"matrix": [4, 7], "x": 107, "y": 64, "flags": 1},
{"matrix": [4, 8], "x": 131, "y": 59, "flags": 4},
{"matrix": [4, 9], "x": 156, "y": 54, "flags": 1},
{"matrix": [4, 12], "x": 196, "y": 56, "flags": 1},
{"matrix": [4, 13], "x": 209, "y": 56, "flags": 1},
{"matrix": [4, 14], "x": 222, "y": 56, "flags": 1}
]
},
"usb": {
"device_version": "1.0.0",
"pid": "0x0181"
},
"layouts": {
"LAYOUT_ansi_69": {
"layout": [
Expand Down Expand Up @@ -87,7 +150,6 @@
{"matrix": [3, 12], "x": 14.25, "y": 3.25},
{"matrix": [3, 13], "x": 15.25, "y": 3.25, "w": 1.75},
{"matrix": [3, 14], "x": 17.25, "y": 3.5},

{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4.25, "w": 1.25},
{"matrix": [4, 2], "x": 3.75, "y": 4.25, "w": 1.25},
Expand All @@ -102,4 +164,4 @@
]
}
}
}
}
16 changes: 1 addition & 15 deletions keyboards/keychron/q8/ansi_encoder/rules.mk
Original file line number Diff line number Diff line change
@@ -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
ENCODER_ENABLE = yes # Enable Encoder
DIP_SWITCH_ENABLE = yes
RGB_MATRIX_ENABLE = yes
# This file intentionally left blank
Loading

0 comments on commit f23e009

Please sign in to comment.