Skip to content
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 Keychron Q1 Version 2 #20416

Merged
merged 41 commits into from
Oct 5, 2023
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
523989b
Add Keychron Q1 Version 2
galican Apr 12, 2023
fd8ec24
more refactoring common code
galican Apr 14, 2023
37d1906
Shift these "y" positions by +.25
galican Apr 17, 2023
95317d0
Removed encoder map definition from rules.mk
galican Apr 18, 2023
b27651b
Update keyboards/keychron/q1v2/readme.md
KeychronMacro May 7, 2023
981ae63
Update keyboards/keychron/q1v2/config.h
KeychronMacro May 18, 2023
e073fcf
Update keyboards/keychron/q1v2/config.h
KeychronMacro May 18, 2023
26814bd
Update keyboards/keychron/q1v2/ansi/info.json
KeychronMacro May 18, 2023
0be23bc
Update keyboards/keychron/q1v2/info.json
KeychronMacro May 18, 2023
46d3a94
Update keyboards/keychron/q1v2/ansi/info.json
KeychronMacro May 18, 2023
ce85ef3
Update keyboards/keychron/q1v2/ansi/rules.mk
KeychronMacro May 18, 2023
7456c89
Update keyboards/keychron/q1v2/info.json
KeychronMacro May 18, 2023
7e45d98
Update keyboards/keychron/q1v2/ansi/keymaps/default/keymap.c
KeychronMacro May 18, 2023
0cf9c5e
Update keyboards/keychron/q1v2/ansi/keymaps/keychron/keymap.c
KeychronMacro May 18, 2023
5ea5024
Update keyboards/keychron/q1v2/ansi/keymaps/via/keymap.c
KeychronMacro May 18, 2023
0fa0f5e
Move common features into q1v2/info.json
KeychronMacro May 18, 2023
e60c099
Update keyboards/keychron/q1v2/ansi/keymaps/default/keymap.c
KeychronMacro May 18, 2023
1aa7ad5
Move encoder map definition to keymap level
KeychronMacro May 18, 2023
3d088b4
Merge branch 'keychron-q1v2' of https://github.com/Keychron/qmk_firmw…
KeychronMacro May 18, 2023
535005e
Removed q1v2/rule.mk
KeychronMacro May 18, 2023
86c387b
Move `LAYOUT` options back into seperate variants
adophoxia May 24, 2023
9abbc75
Merge pull request #127 from adophoxia/keychron-q1v2-suggested
KeychronMacro May 29, 2023
b6aec6c
Update keyboards/keychron/q1v2/ansi_encoder/keymaps/default/keymap.c
KeychronMacro May 29, 2023
9a6e740
Update keyboards/keychron/q1v2/jis_encoder/keymaps/default/keymap.c
KeychronMacro May 29, 2023
26fff56
Update keyboards/keychron/q1v2/iso_encoder/keymaps/default/keymap.c
KeychronMacro May 29, 2023
03446c7
Update keyboards/keychron/q1v2/ansi_encoder/keymaps/via/keymap.c
KeychronMacro May 29, 2023
2588c08
Update keyboards/keychron/q1v2/ansi_encoder/keymaps/keychron/keymap.c
KeychronMacro May 29, 2023
dfe1d5c
Update keyboards/keychron/q1v2/jis_encoder/keymaps/keychron/keymap.c
KeychronMacro May 29, 2023
90c3f66
Update keyboards/keychron/q1v2/jis_encoder/keymaps/via/keymap.c
KeychronMacro May 29, 2023
f2e63ac
Update keyboards/keychron/q1v2/iso_encoder/keymaps/keychron/keymap.c
KeychronMacro May 29, 2023
d731b4c
Update keyboards/keychron/q1v2/iso_encoder/keymaps/via/keymap.c
KeychronMacro May 29, 2023
4b99b37
Update keyboards/keychron/q1v2/ansi/rules.mk
KeychronMacro Aug 22, 2023
50f8060
Update keyboards/keychron/q1v2/jis/rules.mk
KeychronMacro Aug 22, 2023
18a6604
Update keyboards/keychron/q1v2/iso_encoder/rules.mk
KeychronMacro Aug 22, 2023
44b2b69
Update keyboards/keychron/q1v2/ansi_encoder/rules.mk
KeychronMacro Aug 22, 2023
13c9b1e
Update keyboards/keychron/q1v2/jis_encoder/rules.mk
KeychronMacro Aug 22, 2023
843a0da
Update keyboards/keychron/q1v2/iso/rules.mk
KeychronMacro Aug 22, 2023
3ec1342
Update keyboards/keychron/q1v2/info.json
KeychronMacro Sep 16, 2023
ddcefca
Update info.json
KeychronMacro Sep 16, 2023
87819fd
Merge branch 'temp' into keychron-q1v2
galican Sep 16, 2023
3b63910
Updated qqv2
galican Sep 16, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions keyboards/keychron/q1v2/ansi/ansi.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
/* Copyright 2023 @ 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 "quantum.h"

#ifdef RGB_MATRIX_ENABLE

const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to CKLED2001 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},
};

#endif
25 changes: 25 additions & 0 deletions keyboards/keychron/q1v2/ansi/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/* Copyright 2023 @ 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

/* 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)

/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 45
193 changes: 193 additions & 0 deletions keyboards/keychron/q1v2/ansi/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
{
"usb": {
"pid": "0x0106"
},
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", null, null, null, null, null, null, null, null],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
},
KeychronMacro marked this conversation as resolved.
Show resolved Hide resolved
"layouts": {
"LAYOUT": {
"layout": [
{"matrix":[0,0], "x":0, "y":0},
{"matrix":[0,1], "x":1.25, "y":0},
{"matrix":[0,2], "x":2.25, "y":0},
{"matrix":[0,3], "x":3.25, "y":0},
{"matrix":[0,4], "x":4.25, "y":0},
{"matrix":[0,5], "x":5.5, "y":0},
{"matrix":[0,6], "x":6.5, "y":0},
{"matrix":[0,7], "x":7.5, "y":0},
{"matrix":[0,8], "x":8.5, "y":0},
{"matrix":[0,9], "x":9.75, "y":0},
{"matrix":[0,10], "x":10.75, "y":0},
{"matrix":[0,11], "x":11.75, "y":0},
{"matrix":[0,12], "x":12.75, "y":0},
{"matrix":[0,13], "x":14, "y":0},
{"matrix":[0,15], "x":15.25, "y":0},

{"matrix":[1,0], "x":0, "y":1.25},
{"matrix":[1,1], "x":1, "y":1.25},
{"matrix":[1,2], "x":2, "y":1.25},
{"matrix":[1,3], "x":3, "y":1.25},
{"matrix":[1,4], "x":4, "y":1.25},
{"matrix":[1,5], "x":5, "y":1.25},
{"matrix":[1,6], "x":6, "y":1.25},
{"matrix":[1,7], "x":7, "y":1.25},
{"matrix":[1,8], "x":8, "y":1.25},
{"matrix":[1,9], "x":9, "y":1.25},
{"matrix":[1,10], "x":10, "y":1.25},
{"matrix":[1,11], "x":11, "y":1.25},
{"matrix":[1,12], "x":12, "y":1.25},
{"matrix":[1,13], "x":13, "y":1.25, "w":2},
{"matrix":[1,15], "x":15.25, "y":1.25},

{"matrix":[2,0], "x":0, "y":2.25, "w":1.5},
{"matrix":[2,1], "x":1.5, "y":2.25},
{"matrix":[2,2], "x":2.5, "y":2.25},
{"matrix":[2,3], "x":3.5, "y":2.25},
{"matrix":[2,4], "x":4.5, "y":2.25},
{"matrix":[2,5], "x":5.5, "y":2.25},
{"matrix":[2,6], "x":6.5, "y":2.25},
{"matrix":[2,7], "x":7.5, "y":2.25},
{"matrix":[2,8], "x":8.5, "y":2.25},
{"matrix":[2,9], "x":9.5, "y":2.25},
{"matrix":[2,10], "x":10.5, "y":2.25},
{"matrix":[2,11], "x":11.5, "y":2.25},
{"matrix":[2,12], "x":12.5, "y":2.25},
{"matrix":[2,13], "x":13.5, "y":2.25, "w":1.5},
{"matrix":[2,15], "x":15.25, "y":2.25},

{"matrix":[3,0], "x":0, "y":3.25, "w":1.75},
{"matrix":[3,1], "x":1.75, "y":3.25},
{"matrix":[3,2], "x":2.75, "y":3.25},
{"matrix":[3,3], "x":3.75, "y":3.25},
{"matrix":[3,4], "x":4.75, "y":3.25},
{"matrix":[3,5], "x":5.75, "y":3.25},
{"matrix":[3,6], "x":6.75, "y":3.25},
{"matrix":[3,7], "x":7.75, "y":3.25},
{"matrix":[3,8], "x":8.75, "y":3.25},
{"matrix":[3,9], "x":9.75, "y":3.25},
{"matrix":[3,10], "x":10.75, "y":3.25},
{"matrix":[3,11], "x":11.75, "y":3.25},
{"matrix":[3,13], "x":12.75, "y":3.25, "w":2.25},
{"matrix":[3,15], "x":15.25, "y":3.25},

{"matrix":[4,0], "x":0, "y":4.25, "w":2.25},
{"matrix":[4,2], "x":2.25, "y":4.25},
{"matrix":[4,3], "x":3.25, "y":4.25},
{"matrix":[4,4], "x":4.25, "y":4.25},
{"matrix":[4,5], "x":5.25, "y":4.25},
{"matrix":[4,6], "x":6.25, "y":4.25},
{"matrix":[4,7], "x":7.25, "y":4.25},
{"matrix":[4,8], "x":8.25, "y":4.25},
{"matrix":[4,9], "x":9.25, "y":4.25},
{"matrix":[4,10], "x":10.25, "y":4.25},
{"matrix":[4,11], "x":11.25, "y":4.25},
{"matrix":[4,13], "x":12.25, "y":4.25, "w":1.75},
{"matrix":[4,14], "x":14.25, "y":4.5},

{"matrix":[5,0], "x":0, "y":5.25, "w":1.25},
{"matrix":[5,1], "x":1.25, "y":5.25, "w":1.25},
{"matrix":[5,2], "x":2.5, "y":5.25, "w":1.25},
{"matrix":[5,6], "x":3.75, "y":5.25, "w":6.25},
{"matrix":[5,10], "x":10, "y":5.25},
{"matrix":[5,11], "x":11, "y":5.25},
{"matrix":[5,12], "x":12, "y":5.25},
{"matrix":[5,13], "x":13.25, "y":5.5},
{"matrix":[5,14], "x":14.25, "y":5.5},
{"matrix":[5,15], "x":15.25, "y":5.5}
]
}
},
KeychronMacro marked this conversation as resolved.
Show resolved Hide resolved
"rgb_matrix": {
"layout": [
{"matrix":[0, 0], "flags":1, "x":0, "y":0},
{"matrix":[0, 1], "flags":1, "x":18, "y":0},
{"matrix":[0, 2], "flags":1, "x":33, "y":0},
{"matrix":[0, 3], "flags":1, "x":48, "y":0},
{"matrix":[0, 4], "flags":1, "x":62, "y":0},
{"matrix":[0, 5], "flags":1, "x":81, "y":0},
{"matrix":[0, 6], "flags":1, "x":95, "y":0},
{"matrix":[0, 7], "flags":1, "x":110, "y":0},
{"matrix":[0, 8], "flags":1, "x":125, "y":0},
{"matrix":[0, 9], "flags":1, "x":143, "y":0},
{"matrix":[0, 10], "flags":1, "x":158, "y":0},
{"matrix":[0, 11], "flags":1, "x":173, "y":0},
{"matrix":[0, 12], "flags":1, "x":187, "y":0},
{"matrix":[0, 13], "flags":1, "x":206, "y":0},
{"matrix":[0, 15], "flags":1, "x":224, "y":0},

{"matrix":[1, 0], "flags":1, "x":0, "y":15},
{"matrix":[1, 1], "flags":4, "x":15, "y":15},
{"matrix":[1, 2], "flags":4, "x":29, "y":15},
{"matrix":[1, 3], "flags":4, "x":44, "y":15},
{"matrix":[1, 4], "flags":4, "x":59, "y":15},
{"matrix":[1, 5], "flags":4, "x":73, "y":15},
{"matrix":[1, 6], "flags":4, "x":88, "y":15},
{"matrix":[1, 7], "flags":4, "x":103, "y":15},
{"matrix":[1, 8], "flags":4, "x":118, "y":15},
{"matrix":[1, 9], "flags":4, "x":132, "y":15},
{"matrix":[1, 10], "flags":4, "x":147, "y":15},
{"matrix":[1, 11], "flags":4, "x":162, "y":15},
{"matrix":[1, 12], "flags":4, "x":176, "y":15},
{"matrix":[1, 13], "flags":1, "x":198, "y":15},
{"matrix":[1, 15], "flags":1, "x":224, "y":15},

{"matrix":[2, 0], "flags":1, "x":4, "y":26},
{"matrix":[2, 1], "flags":4, "x":22, "y":26},
{"matrix":[2, 2], "flags":4, "x":37, "y":26},
{"matrix":[2, 3], "flags":4, "x":51, "y":26},
{"matrix":[2, 4], "flags":4, "x":66, "y":26},
{"matrix":[2, 5], "flags":4, "x":81, "y":26},
{"matrix":[2, 6], "flags":4, "x":95, "y":26},
{"matrix":[2, 7], "flags":4, "x":110, "y":26},
{"matrix":[2, 8], "flags":4, "x":125, "y":26},
{"matrix":[2, 9], "flags":4, "x":140, "y":26},
{"matrix":[2, 10], "flags":4, "x":154, "y":26},
{"matrix":[2, 11], "flags":4, "x":169, "y":26},
{"matrix":[2, 12], "flags":4, "x":184, "y":26},
{"matrix":[2, 13], "flags":4, "x":202, "y":26},
{"matrix":[2, 15], "flags":1, "x":224, "y":26},

{"matrix":[3, 0], "flags":9, "x":6, "y":38},
{"matrix":[3, 1], "flags":4, "x":26, "y":38},
{"matrix":[3, 2], "flags":4, "x":40, "y":38},
{"matrix":[3, 3], "flags":4, "x":55, "y":38},
{"matrix":[3, 4], "flags":4, "x":70, "y":38},
{"matrix":[3, 5], "flags":4, "x":84, "y":38},
{"matrix":[3, 6], "flags":4, "x":99, "y":38},
{"matrix":[3, 7], "flags":4, "x":114, "y":38},
{"matrix":[3, 8], "flags":4, "x":129, "y":38},
{"matrix":[3, 9], "flags":4, "x":143, "y":38},
{"matrix":[3, 10], "flags":4, "x":158, "y":38},
{"matrix":[3, 11], "flags":4, "x":173, "y":38},
{"matrix":[3, 13], "flags":1, "x":196, "y":38},
{"matrix":[3, 15], "flags":1, "x":224, "y":38},

{"matrix":[4, 0], "flags":1, "x":9, "y":49},
{"matrix":[4, 2], "flags":4, "x":33, "y":49},
{"matrix":[4, 3], "flags":4, "x":48, "y":49},
{"matrix":[4, 4], "flags":4, "x":62, "y":49},
{"matrix":[4, 5], "flags":4, "x":77, "y":49},
{"matrix":[4, 6], "flags":4, "x":92, "y":49},
{"matrix":[4, 7], "flags":4, "x":106, "y":49},
{"matrix":[4, 8], "flags":4, "x":121, "y":49},
{"matrix":[4, 9], "flags":4, "x":136, "y":49},
{"matrix":[4, 10], "flags":4, "x":151, "y":49},
{"matrix":[4, 11], "flags":4, "x":165, "y":49},
{"matrix":[4, 13], "flags":1, "x":185, "y":49},
{"matrix":[4, 14], "flags":1, "x":209, "y":52},

{"matrix":[5, 0], "flags":1, "x":2, "y":61},
{"matrix":[5, 1], "flags":1, "x":20, "y":61},
{"matrix":[5, 2], "flags":1, "x":39, "y":61},
{"matrix":[5, 6], "flags":4, "x":94, "y":61},
{"matrix":[5, 10], "flags":1, "x":147, "y":61},
{"matrix":[5, 11], "flags":1, "x":162, "y":61},
{"matrix":[5, 12], "flags":1, "x":176, "y":61},
{"matrix":[5, 13], "flags":1, "x":195, "y":64},
{"matrix":[5, 14], "flags":1, "x":209, "y":64},
{"matrix":[5, 15], "flags":1, "x":224, "y":64}
]
}
}
Loading