-
-
Notifications
You must be signed in to change notification settings - Fork 38.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add new boards for Keychron Q1 #19307
Closed
Closed
Changes from 45 commits
Commits
Show all changes
56 commits
Select commit
Hold shift + click to select a range
d82082d
Add new boards for Keychron Q1
galican 6f586f6
Update readme.md
galican 9125133
Update readme.md
galican ed92916
Update readme.md
galican b9d87fd
Update readme.md
galican 298ac9e
Update readme.md
galican 2f780e5
Merge branch 'temp' into keychron-q1v1-q1v2
galican 15b050e
Update info.json
KeychronMacro 84f0d7e
Update info.json
KeychronMacro 15584d9
Merge branch 'develop' into keychron-q1v1-q1v2
KeychronMacro a488951
Merge branch 'develop' into keychron-q1v1-q1v2
KeychronMacro 56eec88
Update keyboards/keychron/q1/ansi_atmega32u4/config.h
KeychronMacro 5120421
Update keyboards/keychron/q1/ansi_atmega32u4_encoder/config.h
KeychronMacro 0ea5e40
Update keyboards/keychron/q1/ansi_stm32l432/config.h
KeychronMacro a36f626
Update keyboards/keychron/q1/ansi_stm32l432_encoder/config.h
KeychronMacro 0a90097
Update keyboards/keychron/q1/ansi_stm32l432/rules.mk
KeychronMacro 01833e3
Update keyboards/keychron/q1/jis_stm32l432/info.json
KeychronMacro 0de39ca
Update keyboards/keychron/q1/jis_stm32l432_encoder/config.h
KeychronMacro e545605
Update keyboards/keychron/q1/jis_stm32l432/rules.mk
KeychronMacro 32b5529
Update keyboards/keychron/q1/jis_stm32l432_encoder/rules.mk
KeychronMacro 9e8b310
Update keyboards/keychron/q1/jis_stm32l432_encoder/info.json
KeychronMacro 508b7c4
Update keyboards/keychron/q1/ansi_stm32l432/info.json
KeychronMacro 57db71b
Update keyboards/keychron/q1/ansi_stm32l432_encoder/info.json
KeychronMacro 8a2443f
Update keyboards/keychron/q1/ansi_stm32l432_encoder/rules.mk
KeychronMacro 1484a0e
Update keyboards/keychron/q1/iso_atmega32u4/config.h
KeychronMacro adf6129
Update keyboards/keychron/q1/iso_atmega32u4_encoder/config.h
KeychronMacro 9791d12
Update keyboards/keychron/q1/iso_stm32l432/config.h
KeychronMacro 2d66172
Update keyboards/keychron/q1/iso_stm32l432/rules.mk
KeychronMacro fb6cbf7
Update keyboards/keychron/q1/iso_stm32l432/info.json
KeychronMacro 27c8a9f
Update keyboards/keychron/q1/iso_stm32l432_encoder/config.h
KeychronMacro 019e0eb
Update keyboards/keychron/q1/iso_stm32l432_encoder/info.json
KeychronMacro c4b4a96
Update keyboards/keychron/q1/iso_stm32l432_encoder/rules.mk
KeychronMacro 0cee0e7
Update keyboards/keychron/q1/jis_stm32l432/config.h
KeychronMacro 32f08f1
Fix some issues
KeychronMacro ae08e21
Merge branch 'develop' into keychron-q1v1-q1v2
KeychronMacro 6ef5a54
Merge branch 'develop' into keychron-q1v1-q1v2
galican 64b9c2d
Merge branch 'develop' into keychron-q1v1-q1v2
galican 80e2fe4
Update keyboards/keychron/q1/ansi_stm32l432_encoder/info.json
KeychronMacro 60f4b4e
Update keyboards/keychron/q1/iso_stm32l432_encoder/config.h
KeychronMacro fab84c5
Update keyboards/keychron/q1/iso_stm32l432_encoder/info.json
KeychronMacro 22d9b96
Update keyboards/keychron/q1/jis_stm32l432_encoder/info.json
KeychronMacro 30e82cd
Update keyboards/keychron/q1/ansi_stm32l432_encoder/config.h
KeychronMacro 2d4d348
Update keyboards/keychron/q1/jis_stm32l432_encoder/config.h
KeychronMacro b24bdb2
Merge branch 'develop' into keychron-q1v1-q1v2
galican 79aa140
Fix rules.mk file in via of ansi_stm32l432_encoder
galican dfefab9
Merge branch 'develop' into keychron-q1v1-q1v2
galican 2e7ba65
Moved matrix definition into the info.json file
galican 1f687ad
Used null instead of NO_PIN in matrix definition
galican 7fbfae5
Back to last commit
galican 561b59a
Used null instead of NO_PIN in matrix definition
galican 4639793
Merge qmk develop into keychron-q1v1-q1v2
galican 850112f
Merge branch 'develop' into keychron-q1v1-q1v2
galican 42856b8
Smaller the PR
galican 1008d68
Delete q1
galican 8cffbec
Merge branch 'develop' into keychron-q1v1-q1v2
galican 78e071e
Added q1
galican File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
/* Copyright 2021 @ Keychron (https://www.keychron.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_stm32l432.h" | ||
|
||
const matrix_row_t matrix_mask[] = { | ||
0b1111111111111111, | ||
0b1111111111111111, | ||
0b1111111111111111, | ||
0b1111111111111111, | ||
0b1111111111111111, | ||
0b1111111111101111, | ||
}; | ||
|
||
#ifdef RGB_MATRIX_ENABLE | ||
|
||
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { | ||
/* Refer to IS31 manual for these locations | ||
* driver | ||
* | R location | ||
* | | G location | ||
* | | | B location | ||
* | | | | */ | ||
{0, C_1, A_1, B_1}, | ||
{0, C_2, A_2, B_2}, | ||
{0, C_3, A_3, B_3}, | ||
{0, C_4, A_4, B_4}, | ||
{0, C_5, A_5, B_5}, | ||
{0, C_6, A_6, B_6}, | ||
{0, C_7, A_7, B_7}, | ||
{0, C_8, A_8, B_8}, | ||
{0, C_9, A_9, B_9}, | ||
{0, C_10, A_10, B_10}, | ||
{0, C_11, A_11, B_11}, | ||
{0, C_12, A_12, B_12}, | ||
{0, C_13, A_13, B_13}, | ||
{0, C_14, A_14, B_14}, | ||
{0, C_16, A_16, B_16}, | ||
|
||
{0, I_1, G_1, H_1}, | ||
{0, I_2, G_2, H_2}, | ||
{0, I_3, G_3, H_3}, | ||
{0, I_4, G_4, H_4}, | ||
{0, I_5, G_5, H_5}, | ||
{0, I_6, G_6, H_6}, | ||
{0, I_7, G_7, H_7}, | ||
{0, I_8, G_8, H_8}, | ||
{0, I_9, G_9, H_9}, | ||
{0, I_10, G_10, H_10}, | ||
{0, I_11, G_11, H_11}, | ||
{0, I_12, G_12, H_12}, | ||
{0, I_13, G_13, H_13}, | ||
{0, I_14, G_14, H_14}, | ||
{0, I_16, G_16, H_16}, | ||
|
||
{0, F_1, D_1, E_1}, | ||
{0, F_2, D_2, E_2}, | ||
{0, F_3, D_3, E_3}, | ||
{0, F_4, D_4, E_4}, | ||
{0, F_5, D_5, E_5}, | ||
{0, F_6, D_6, E_6}, | ||
{0, F_7, D_7, E_7}, | ||
{0, F_8, D_8, E_8}, | ||
{0, F_9, D_9, E_9}, | ||
{0, F_10, D_10, E_10}, | ||
{0, F_11, D_11, E_11}, | ||
{0, F_12, D_12, E_12}, | ||
{0, F_13, D_13, E_13}, | ||
{0, F_14, D_14, E_14}, | ||
{0, F_16, D_16, E_16}, | ||
|
||
{1, I_1, G_1, H_1}, | ||
{1, I_2, G_2, H_2}, | ||
{1, I_3, G_3, H_3}, | ||
{1, I_4, G_4, H_4}, | ||
{1, I_5, G_5, H_5}, | ||
{1, I_6, G_6, H_6}, | ||
{1, I_7, G_7, H_7}, | ||
{1, I_8, G_8, H_8}, | ||
{1, I_9, G_9, H_9}, | ||
{1, I_10, G_10, H_10}, | ||
{1, I_11, G_11, H_11}, | ||
{1, I_12, G_12, H_12}, | ||
{1, I_14, G_14, H_14}, | ||
{1, I_16, G_16, H_16}, | ||
|
||
{1, F_1, D_1, E_1}, | ||
{1, F_3, D_3, E_3}, | ||
{1, F_4, D_4, E_4}, | ||
{1, F_5, D_5, E_5}, | ||
{1, F_6, D_6, E_6}, | ||
{1, F_7, D_7, E_7}, | ||
{1, F_8, D_8, E_8}, | ||
{1, F_9, D_9, E_9}, | ||
{1, F_10, D_10, E_10}, | ||
{1, F_11, D_11, E_11}, | ||
{1, F_12, D_12, E_12}, | ||
{1, F_14, D_14, E_14}, | ||
{1, F_15, D_15, E_15}, | ||
|
||
{1, C_1, A_1, B_1}, | ||
{1, C_2, A_2, B_2}, | ||
{1, C_3, A_3, B_3}, | ||
{1, C_7, A_7, B_7}, | ||
{1, C_11, A_11, B_11}, | ||
{1, C_12, A_12, B_12}, | ||
{1, C_13, A_13, B_13}, | ||
{1, C_14, A_14, B_14}, | ||
{1, C_15, A_15, B_15}, | ||
{1, C_16, A_16, B_16}, | ||
}; | ||
|
||
#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, 69, __, 70, 71, __ }, | ||
{ 72, 73, 74, __, __, __, 75, __, __, __, 76, 77, 78, 79, 80, 81 } | ||
}, | ||
{ | ||
// LED Index to Physical Position | ||
{0,0}, {18,0}, {33,0}, {48,0}, {62,0}, {81,0}, {95,0}, {110,0}, {125,0}, {143,0}, {158,0}, {173,0}, {187,0}, {206,0}, {224,0}, | ||
{0,15}, {15,15}, {29,15}, {44,15}, {59,15}, {73,15}, {88,15}, {103,15}, {118,15}, {132,15}, {147,15}, {162,15}, {176,15}, {198,15}, {224,15}, | ||
{4,26}, {22,26}, {37,26}, {51,26}, {66,26}, {81,26}, {95,26}, {110,26}, {125,26}, {140,26}, {154,26}, {169,26}, {184,26}, {202,26}, {224,26}, | ||
{6,38}, {26,38}, {40,38}, {55,38}, {70,38}, {84,38}, {99,38}, {114,38}, {129,38}, {143,38}, {158,38}, {173,38}, {196,38}, {224,38}, | ||
{9,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {151,49}, {165,49}, {185,49}, {209,52}, | ||
{2,61}, {20,61}, {39,61}, {94,61}, {147,61}, {162,61}, {176,61}, {195,64}, {209,64}, {224,64} | ||
}, | ||
{ | ||
// RGB LED Index to Flag | ||
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, 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, 1, 1, | ||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1 | ||
} | ||
}; | ||
|
||
#endif // RGB_MATRIX_ENABLE |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/* Copyright 2021 @ Keychron (https://www.keychron.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 | ||
|
||
/* 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 } | ||
|
||
/* DIP switch */ | ||
#define DIP_SWITCH_MATRIX_GRID { {5,4} } | ||
|
||
/* RGB Matrix Driver Configuration */ | ||
#define DRIVER_COUNT 2 | ||
#define DRIVER_ADDR_1 0b1110111 | ||
#define DRIVER_ADDR_2 0b1110100 | ||
|
||
/* Increase I2C speed to 1000 KHz */ | ||
#define I2C1_TIMINGR_PRESC 0U | ||
#define I2C1_TIMINGR_SCLDEL 3U | ||
#define I2C1_TIMINGR_SDADEL 0U | ||
#define I2C1_TIMINGR_SCLH 15U | ||
#define I2C1_TIMINGR_SCLL 51U | ||
|
||
/* RGB Matrix Configuration */ | ||
#define DRIVER_1_LED_TOTAL 45 | ||
#define DRIVER_2_LED_TOTAL 37 | ||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||
|
||
/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */ | ||
#define PHASE_CHANNEL MSKPHASE_9CHANNEL | ||
#define CKLED2001_CURRENT_TUNE \ | ||
{ 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50 } | ||
|
||
/* EEPROM Driver Configuration */ | ||
#define WEAR_LEVELING_LOGICAL_SIZE 2048 | ||
#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) | ||
|
||
/* Enable caps-lock LED */ | ||
#define CAPS_LOCK_LED_INDEX 45 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these should be moved to the info.json file.
Also, the NO_PIN's should be removed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, It failed to compile when i removed the NO_PINs from matrix_pins definiton😂.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compile information to remind me that: keychron/q1/ansi_stm32l432: led_config: ansi_stm32l432.c: Number of columns in row 0 (16) does not match matrix (8) and that: keychron/q1/ansi_stm32l432: led_config: ansi_stm32l432.c: Number of columns in row 0 (16) does not match matrix (8)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a higher level that has MATRIX_COLS and MATRIX_ROWS defined? If so, that would be why
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This board uses a custom matrix; pins declared as
NO_PIN
are actually connected to a shift register. The code is mostly the same as for other similar Keychron boards already in the repo (q10, q12, q3, q5, q6, q65, v1, v10, v3, v5, v6).