Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
commit
e3b68ddfe8
54 changed files with 2135 additions and 288 deletions
|
@ -1,24 +0,0 @@
|
||||||
# Code Of Conduct
|
|
||||||
|
|
||||||
QMK strives to be an inclusive, tolerant, and welcoming community. We encourage participation from anyone regardless of age, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, political belief, race, religion, or sexual identity and orientation.
|
|
||||||
|
|
||||||
> “A gentle word turns away wrath, but a harsh word stirs up anger."
|
|
||||||
|
|
||||||
Our users, contributors, and collaborators are expected to treat each other with kindness and respect, to assume good intentions, and to gently correct, where possible, rather than react with escalation. While our goal is to be as accurate as possible, kindness and understanding are more valuable than correctness. Some examples of behavior we will not tolerate include, but is not limited to:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery
|
|
||||||
* Unwelcome advances, sexual or otherwise
|
|
||||||
* Deliberate intimidation, stalking, or following
|
|
||||||
* Insults or derogatory comments, or personal or political attacks
|
|
||||||
* Publishing others’ private information without explicit permission
|
|
||||||
* Sustained disruption of talks or other events
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
||||||
* Advocating for, or encouraging, any of the above behaviour
|
|
||||||
|
|
||||||
# Reporting
|
|
||||||
|
|
||||||
If someone is violating this Code of Conduct, please email hello@qmk.fm or reach out to one of the Collaborators to bring it to our attention. All complaints will be reviewed and investigated.
|
|
||||||
|
|
||||||
QMK will seek to use the least punitive means available to resolve an issue. If the circumstances require asking an offender to leave, we will do that.
|
|
||||||
|
|
||||||
Reports will be taken and kept in strict confidence. You will not be required to confront an offender directly.
|
|
|
@ -17,22 +17,22 @@
|
||||||
#include "technik_s.h"
|
#include "technik_s.h"
|
||||||
#ifdef RGB_MATRIX_ENABLE
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
led_config_t g_led_config = { {
|
led_config_t g_led_config = { {
|
||||||
{11,12,13,14,15,16,17,18,19,20,21,22},
|
{10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
|
||||||
{23,24,25,26,27,28,29,30,31,32,33},
|
{22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32},
|
||||||
{34,35,36,37,38,39,40,41,42,43,44,45},
|
{33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44},
|
||||||
{46,47,48,49,50,51,52,53,54,55}
|
{45, 46, 47, 48, 49, 50, 51, 52, 53, 54}
|
||||||
}, {
|
}, {
|
||||||
{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0},
|
{220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56},
|
||||||
{10.5, 1}, {9.5, 1}, {8.5, 1}, {7.5, 1}, {6.5, 1}, {5.5, 1}, {4.5, 1}, {3.5, 1}, {2.5, 1}, {1.5, 1}, {0.5, 1},
|
{ 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0},
|
||||||
{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2},
|
{ 10, 21}, { 30, 21}, { 51, 21}, { 71, 21}, { 91, 21}, {112, 21}, {132, 21}, {152, 21}, {173, 21}, {193, 21}, {214, 21},
|
||||||
{11, 3}, {10, 3}, {9, 3}, {8, 3}, {6.5, 3}, {5, 3}, {3.5, 3}, {2, 3}, {1, 3}, {0, 3},
|
{ 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42},
|
||||||
|
{ 0, 64}, { 20, 64}, { 40, 64}, { 68, 64}, { 97, 64}, {126, 64}, {154, 64}, {183, 64}, {203, 64}, {224, 64}
|
||||||
}, {
|
}, {
|
||||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
1, 1, 1, 1, 4, 4, 1, 1, 1, 1
|
1, 1, 1, 1, 4, 4, 1, 1, 1, 1
|
||||||
|
|
||||||
} };
|
} };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
44
keyboards/kb_elmo/qez/config.h
Normal file
44
keyboards/kb_elmo/qez/config.h
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
/*
|
||||||
|
Copyright 2021 kb-elmo<mail@elmo.space>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xA68C
|
||||||
|
#define PRODUCT_ID 0x675F
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER kb_elmo
|
||||||
|
#define PRODUCT QEZ
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 4
|
||||||
|
#define MATRIX_COLS 10
|
||||||
|
|
||||||
|
/* Keyboard Matrix Assignments */
|
||||||
|
#define MATRIX_ROW_PINS { C6, C4, B1, B0 }
|
||||||
|
#define MATRIX_COL_PINS { C7, B7, B6, B5, B4, B3, D6, D5, D4, D3 }
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* Debounce reduces chatter */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Indicator LEDs */
|
||||||
|
#define LED_CAPS_LOCK_PIN C5
|
128
keyboards/kb_elmo/qez/info.json
Normal file
128
keyboards/kb_elmo/qez/info.json
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "qez",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "kb-elmo<mail@elmo.space>",
|
||||||
|
"width": 10.25,
|
||||||
|
"height": 4,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_split_space": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0, "w":1.25},
|
||||||
|
{"x":0, "y":1, "w":1.25},
|
||||||
|
{"x":1.25, "y":1},
|
||||||
|
{"x":2.25, "y":1},
|
||||||
|
{"x":3.25, "y":1},
|
||||||
|
{"x":4.25, "y":1},
|
||||||
|
{"x":5.25, "y":1},
|
||||||
|
{"x":6.25, "y":1},
|
||||||
|
{"x":7.25, "y":1},
|
||||||
|
{"x":8.25, "y":1},
|
||||||
|
{"x":9.25, "y":1},
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2, "w":1.5},
|
||||||
|
{"x":0, "y":3},
|
||||||
|
{"x":1, "y":3},
|
||||||
|
{"x":2, "y":3},
|
||||||
|
{"x":3, "y":3, "w":2.25},
|
||||||
|
{"x":5.25, "y":3, "w":2},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_triple_space": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0, "w":1.25},
|
||||||
|
{"x":0, "y":1, "w":1.25},
|
||||||
|
{"x":1.25, "y":1},
|
||||||
|
{"x":2.25, "y":1},
|
||||||
|
{"x":3.25, "y":1},
|
||||||
|
{"x":4.25, "y":1},
|
||||||
|
{"x":5.25, "y":1},
|
||||||
|
{"x":6.25, "y":1},
|
||||||
|
{"x":7.25, "y":1},
|
||||||
|
{"x":8.25, "y":1},
|
||||||
|
{"x":9.25, "y":1},
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2, "w":1.5},
|
||||||
|
{"x":0, "y":3},
|
||||||
|
{"x":1, "y":3},
|
||||||
|
{"x":2, "y":3, "w":2.5},
|
||||||
|
{"x":4.5, "y":3, "w":1.5},
|
||||||
|
{"x":6, "y":3, "w":2.25},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_full_space": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0, "w":1.25},
|
||||||
|
{"x":0, "y":1, "w":1.25},
|
||||||
|
{"x":1.25, "y":1},
|
||||||
|
{"x":2.25, "y":1},
|
||||||
|
{"x":3.25, "y":1},
|
||||||
|
{"x":4.25, "y":1},
|
||||||
|
{"x":5.25, "y":1},
|
||||||
|
{"x":6.25, "y":1},
|
||||||
|
{"x":7.25, "y":1},
|
||||||
|
{"x":8.25, "y":1},
|
||||||
|
{"x":9.25, "y":1},
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2, "w":1.5},
|
||||||
|
{"x":0, "y":3},
|
||||||
|
{"x":1, "y":3},
|
||||||
|
{"x":2, "y":3, "w":6.25},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
37
keyboards/kb_elmo/qez/keymaps/default/keymap.c
Normal file
37
keyboards/kb_elmo/qez/keymaps/default/keymap.c
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/* Copyright 2021 kb-elmo<mail@elmo.space>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_split_space(
|
||||||
|
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||||
|
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||||
|
LT(1,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LT(2,KC_DOT),
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, LSFT_T(KC_SPC), KC_BSPC, KC_RALT, MO(1), MO(2)
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_split_space(
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||||
|
KC_TAB, KC_ESC, KC_MINS, KC_EQL, KC_TRNS, KC_SCLN, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
[2] = LAYOUT_split_space(
|
||||||
|
KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||||
|
KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
43
keyboards/kb_elmo/qez/keymaps/via/keymap.c
Normal file
43
keyboards/kb_elmo/qez/keymaps/via/keymap.c
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
/* Copyright 2021 kb-elmo<mail@elmo.space>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_split_space(
|
||||||
|
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||||
|
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||||
|
LT(1,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LT(2,KC_DOT),
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, LSFT_T(KC_SPC), KC_BSPC, KC_RALT, MO(1), MO(2)
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_split_space(
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||||
|
KC_TAB, KC_ESC, KC_MINS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
[2] = LAYOUT_split_space(
|
||||||
|
KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||||
|
KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
[3] = LAYOUT_split_space(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
2
keyboards/kb_elmo/qez/keymaps/via/rules.mk
Normal file
2
keyboards/kb_elmo/qez/keymaps/via/rules.mk
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
17
keyboards/kb_elmo/qez/qez.c
Normal file
17
keyboards/kb_elmo/qez/qez.c
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
/* Copyright 2021 kb-elmo<mail@elmo.space>
|
||||||
|
*
|
||||||
|
* 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 "qez.h"
|
57
keyboards/kb_elmo/qez/qez.h
Normal file
57
keyboards/kb_elmo/qez/qez.h
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
/* Copyright 2021 kb-elmo<mail@elmo.space>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define ___ KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_split_space( \
|
||||||
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
|
||||||
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
|
||||||
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, \
|
||||||
|
k21, k31, k32, k33, k36, k37, k38, k39 \
|
||||||
|
) { \
|
||||||
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
|
||||||
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
|
||||||
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
|
||||||
|
{ ___, k31, k32, k33, ___, ___, k36, k37, k38, k39 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_triple_space( \
|
||||||
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
|
||||||
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
|
||||||
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, \
|
||||||
|
k21, k31, k33, k35, k36, k38, k39 \
|
||||||
|
) { \
|
||||||
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
|
||||||
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
|
||||||
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
|
||||||
|
{ ___, k31, ___, k33, ___, k35, k36, ___, k38, k39 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_full_space( \
|
||||||
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
|
||||||
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
|
||||||
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, \
|
||||||
|
k21, k31, k35, k38, k39 \
|
||||||
|
) { \
|
||||||
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
|
||||||
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
|
||||||
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
|
||||||
|
{ ___, k31, k32, ___, ___, k35, ___, k37, k38, k39 } \
|
||||||
|
}
|
24
keyboards/kb_elmo/qez/readme.md
Normal file
24
keyboards/kb_elmo/qez/readme.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# QEZ
|
||||||
|
|
||||||
|
![qez](https://i.imgur.com/x00N9f3l.jpg)
|
||||||
|
|
||||||
|
A seamless gasketmounted QAZ-like 40% keyboard
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo)
|
||||||
|
* Hardware Supported: QEZ rev.1 PCB
|
||||||
|
* Hardware Availability: [Open source project](https://github.com/kb-elmo/QEZ)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make kb_elmo/qez:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make kb_elmo/qez:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button labeled "RESET" on the back of the PCB
|
22
keyboards/kb_elmo/qez/rules.mk
Normal file
22
keyboards/kb_elmo/qez/rules.mk
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# MCU name
|
||||||
|
MCU = atmega32u2
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
|
@ -32,15 +32,11 @@
|
||||||
/* Set 0 if debouncing isn't needed */
|
/* Set 0 if debouncing isn't needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
/* RGB LED Matrix Configuration */
|
/* RGB Matrix Driver Configuration */
|
||||||
#define DRIVER_COUNT 2
|
#define DRIVER_COUNT 2
|
||||||
#define DRIVER_ADDR_1 0b1010000
|
#define DRIVER_ADDR_1 0b1010000
|
||||||
#define DRIVER_ADDR_2 0b1011111
|
#define DRIVER_ADDR_2 0b1011111
|
||||||
|
|
||||||
#define DRIVER_1_LED_TOTAL 59
|
|
||||||
#define DRIVER_2_LED_TOTAL 23
|
|
||||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
|
||||||
|
|
||||||
/* DIP switch */
|
/* DIP switch */
|
||||||
#define DIP_SWITCH_MATRIX_GRID { {0,1} }
|
#define DIP_SWITCH_MATRIX_GRID { {0,1} }
|
||||||
|
|
||||||
|
@ -49,3 +45,19 @@
|
||||||
|
|
||||||
/* NKRO */
|
/* NKRO */
|
||||||
#define FORCE_NKRO
|
#define FORCE_NKRO
|
||||||
|
|
||||||
|
/* Disable a single effect */
|
||||||
|
#define DISABLE_RGB_MATRIX_ALPHAS_MODS
|
||||||
|
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||||
|
#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||||
|
#define DISABLE_RGB_MATRIX_BAND_SAT
|
||||||
|
#define DISABLE_RGB_MATRIX_BAND_VAL
|
||||||
|
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||||
|
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||||
|
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||||
|
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||||
|
#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||||
|
#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||||
|
#define DISABLE_RGB_MATRIX_HUE_BREATHING
|
||||||
|
#define DISABLE_RGB_MATRIX_HUE_PENDULUM
|
||||||
|
#define DISABLE_RGB_MATRIX_HUE_WAVE
|
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
#include "q1.h"
|
#include "q1.h"
|
||||||
|
|
||||||
|
|
||||||
const matrix_row_t matrix_mask[] = {
|
const matrix_row_t matrix_mask[] = {
|
||||||
0b0111111111111101,
|
0b0111111111111101,
|
||||||
0b0111111111111111,
|
0b0111111111111111,
|
||||||
|
@ -32,129 +33,3 @@ bool dip_switch_update_kb(uint8_t index, bool active) {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
|
|
||||||
/* Refer to IS31 manual for these locations
|
|
||||||
* driver
|
|
||||||
* | R location
|
|
||||||
* | | G location
|
|
||||||
* | | | B location
|
|
||||||
* | | | | */
|
|
||||||
|
|
||||||
{0, A_1, C_1, B_1},
|
|
||||||
{0, A_3, C_3, B_3},
|
|
||||||
{0, A_4, C_4, B_4},
|
|
||||||
{0, A_5, C_5, B_5},
|
|
||||||
{0, A_6, C_6, B_6},
|
|
||||||
{0, A_7, C_7, B_7},
|
|
||||||
{0, A_8, C_8, B_8},
|
|
||||||
{0, A_9, C_9, B_9},
|
|
||||||
{0, A_10, C_10, B_10},
|
|
||||||
{0, A_11, C_11, B_11},
|
|
||||||
{0, A_12, C_12, B_12},
|
|
||||||
{0, A_13, C_13, B_13},
|
|
||||||
{0, A_14, C_14, B_14},
|
|
||||||
{0, A_15, C_15, B_15},
|
|
||||||
{0, A_16, C_16, B_16},
|
|
||||||
|
|
||||||
{0, D_1, F_1, E_1},
|
|
||||||
{0, D_2, F_2, E_2},
|
|
||||||
{0, D_3, F_3, E_3},
|
|
||||||
{0, D_4, F_4, E_4},
|
|
||||||
{0, D_5, F_5, E_5},
|
|
||||||
{0, D_6, F_6, E_6},
|
|
||||||
{0, D_7, F_7, E_7},
|
|
||||||
{0, D_8, F_8, E_8},
|
|
||||||
{0, D_9, F_9, E_9},
|
|
||||||
{0, D_10, F_10, E_10},
|
|
||||||
{0, D_11, F_11, E_11},
|
|
||||||
{0, D_12, F_12, E_12},
|
|
||||||
{0, D_13, F_13, E_13},
|
|
||||||
{0, D_14, F_14, E_14},
|
|
||||||
{0, D_16, F_16, E_16},
|
|
||||||
|
|
||||||
{0, G_1, I_1, H_1},
|
|
||||||
{0, G_2, I_2, H_2},
|
|
||||||
{0, G_3, I_3, H_3},
|
|
||||||
{0, G_4, I_4, H_4},
|
|
||||||
{0, G_5, I_5, H_5},
|
|
||||||
{0, G_6, I_6, H_6},
|
|
||||||
{0, G_7, I_7, H_7},
|
|
||||||
{0, G_8, I_8, H_8},
|
|
||||||
{0, G_9, I_9, H_9},
|
|
||||||
{0, G_10, I_10, H_10},
|
|
||||||
{0, G_11, I_11, H_11},
|
|
||||||
{0, G_12, I_12, H_12},
|
|
||||||
{0, G_13, I_13, H_13},
|
|
||||||
{0, G_14, I_14, H_14},
|
|
||||||
{0, G_16, I_16, H_16},
|
|
||||||
|
|
||||||
{0, J_1, L_1, K_1},
|
|
||||||
{0, J_2, L_2, K_2},
|
|
||||||
{0, J_3, L_3, K_3},
|
|
||||||
{0, J_4, L_4, K_4},
|
|
||||||
{0, J_5, L_5, K_5},
|
|
||||||
{0, J_6, L_6, K_6},
|
|
||||||
{0, J_7, L_7, K_7},
|
|
||||||
{0, J_8, L_8, K_8},
|
|
||||||
{0, J_9, L_9, K_9},
|
|
||||||
{0, J_10, L_10, K_10},
|
|
||||||
{0, J_11, L_11, K_11},
|
|
||||||
{0, J_12, L_12, K_12},
|
|
||||||
{0, J_14, L_14, K_14},
|
|
||||||
{0, J_16, L_16, K_16},
|
|
||||||
{1, A_1, C_1, B_1},
|
|
||||||
|
|
||||||
{1, A_3, C_3, B_3},
|
|
||||||
{1, A_4, C_4, B_4},
|
|
||||||
{1, A_5, C_5, B_5},
|
|
||||||
{1, A_6, C_6, B_6},
|
|
||||||
{1, A_7, C_7, B_7},
|
|
||||||
{1, A_8, C_8, B_8},
|
|
||||||
{1, A_9, C_9, B_9},
|
|
||||||
{1, A_10, C_10, B_10},
|
|
||||||
{1, A_11, C_11, B_11},
|
|
||||||
{1, A_12, C_12, B_12},
|
|
||||||
{1, A_14, C_14, B_14},
|
|
||||||
{1, A_15, C_15, B_15},
|
|
||||||
|
|
||||||
{1, D_1, F_1, E_1},
|
|
||||||
{1, D_2, F_2, E_2},
|
|
||||||
{1, D_3, F_3, E_3},
|
|
||||||
{1, D_7, F_7, E_7},
|
|
||||||
{1, D_11, F_11, E_11},
|
|
||||||
{1, D_12, F_12, E_12},
|
|
||||||
{1, D_13, F_13, E_13},
|
|
||||||
{1, D_14, F_14, E_14},
|
|
||||||
{1, D_15, F_15, E_15},
|
|
||||||
{1, D_16, F_16, E_16}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
{ 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 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, 71, 57, 58 },
|
|
||||||
{ 59, NO_LED, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 80, 70, 13 },
|
|
||||||
{ 72, 73, 74, NO_LED, NO_LED, NO_LED,75, NO_LED, NO_LED, NO_LED, 76, 77, 78, 79, 81 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{0,0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {195, 0}, {210, 0}, {224, 0},
|
|
||||||
{0,13}, {15,13}, {30,13}, {45,13}, {60,13}, {75,13}, {90,13}, {105,13}, {120,13}, {135,13}, {150,13}, {165,13}, {180,13}, {195,13}, {224,13},
|
|
||||||
{0,26}, {15,26}, {30,26}, {45,26}, {60,26}, {75,26}, {90,26}, {105,26}, {120,26}, {135,26}, {150,26}, {165,26}, {180,26}, {195,26}, {224,26},
|
|
||||||
{0,39}, {15,39}, {30,39}, {45,39}, {60,39}, {75,39}, {90,39}, {105,39}, {120,39}, {135,39}, {150,39}, {165,39}, {195,39}, {224,39},
|
|
||||||
{0,52}, {30,52}, {45,52}, {60,52}, {75,52}, {90,52}, {105,52}, {120,52}, {135,52}, {150,52}, {165,52}, {195,52}, {210,52},
|
|
||||||
{0,64}, {15,64}, {30,64}, {90,64}, {150,64}, {165,64}, {180,64}, {195,64}, {210,64}, {224,64},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
|
@ -18,6 +18,9 @@
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#if defined(KEYBOARD_keychron_q1_rev_0100)
|
|
||||||
|
#if defined(KEYBOARD_keychron_q1_rev_0100)
|
||||||
# include "rev_0100.h"
|
# include "rev_0100.h"
|
||||||
|
#elif defined(KEYBOARD_keychron_q1_rev_0102)
|
||||||
|
# include "rev_0102.h"
|
||||||
#endif
|
#endif
|
|
@ -19,8 +19,13 @@
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define PRODUCT_ID 0x0100
|
#define PRODUCT_ID 0x0100
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0100
|
||||||
|
|
||||||
/* key matrix pins */
|
/* key matrix pins */
|
||||||
#define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
|
#define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
|
||||||
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
|
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
|
||||||
|
|
||||||
|
/* RGB Matrix Configuration */
|
||||||
|
#define DRIVER_1_LED_TOTAL 59
|
||||||
|
#define DRIVER_2_LED_TOTAL 23
|
||||||
|
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"keyboard_name": "Keychron Q1",
|
"keyboard_name": "Keychron Q1",
|
||||||
"url": "https://github.com/Keychron",
|
"url": "https://github.com/Keychron",
|
||||||
"maintainer": "lokher",
|
"maintainer": "lalalademaxiya1",
|
||||||
"width": 16.25,
|
"width": 16.25,
|
||||||
"height": 6.25,
|
"height": 6.25,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
|
|
|
@ -24,18 +24,16 @@ enum layers{
|
||||||
WIN_FN
|
WIN_FN
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define KC_TASK LGUI(KC_TAB)
|
#define KC_TASK LGUI(KC_TAB)
|
||||||
#define KC_FLXP LGUI(KC_E)
|
#define KC_FLXP LGUI(KC_E)
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[MAC_BASE] = LAYOUT_ansi_82(
|
[MAC_BASE] = LAYOUT_ansi_82(
|
||||||
KC_ESC, KC_BRID, KC_BRIU, KC_F3, KC_F4, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
|
KC_ESC, KC_BRID, KC_BRIU, KC_F3, KC_F4, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,9 @@ enum layers{
|
||||||
WIN_FN
|
WIN_FN
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define KC_TASK LGUI(KC_TAB)
|
#define KC_TASK LGUI(KC_TAB)
|
||||||
#define KC_FLXP LGUI(KC_E)
|
#define KC_FLXP LGUI(KC_E)
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[MAC_BASE] = LAYOUT_ansi_82(
|
[MAC_BASE] = LAYOUT_ansi_82(
|
||||||
|
|
|
@ -1,21 +1 @@
|
||||||
# Keychron Q1
|
# The ANSI variant of the Keychron Q1
|
||||||
|
|
||||||
![Keychron Q1](https://cdn.shopify.com/s/files/1/0059/0630/1017/t/5/assets/pf-823ebdc7--1073.jpg)
|
|
||||||
|
|
||||||
A customizable 75% keyboard.
|
|
||||||
|
|
||||||
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
|
|
||||||
* Hardware Supported: Keychron Q1, Atmega32u4
|
|
||||||
* Hardware Availability: [Keychron](https://www.keychron.com)
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
|
||||||
|
|
||||||
make keychron/q1/rev_0100:default
|
|
||||||
|
|
||||||
Flashing example for this keyboard:
|
|
||||||
|
|
||||||
make keychron/q1/rev_0100:default:flash
|
|
||||||
|
|
||||||
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
|
|
||||||
|
|
||||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
|
143
keyboards/keychron/q1/rev_0100/rev_0100.c
Normal file
143
keyboards/keychron/q1/rev_0100/rev_0100.c
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
/* 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 "quantum.h"
|
||||||
|
|
||||||
|
|
||||||
|
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||||
|
/* Refer to IS31 manual for these locations
|
||||||
|
* driver
|
||||||
|
* | R location
|
||||||
|
* | | G location
|
||||||
|
* | | | B location
|
||||||
|
* | | | | */
|
||||||
|
{0, C_1, A_1, B_1},
|
||||||
|
{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_15, A_15, B_15},
|
||||||
|
{0, C_16, A_16, B_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},
|
||||||
|
|
||||||
|
{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, L_1, J_1, K_1},
|
||||||
|
{0, L_2, J_2, K_2},
|
||||||
|
{0, L_3, J_3, K_3},
|
||||||
|
{0, L_4, J_4, K_4},
|
||||||
|
{0, L_5, J_5, K_5},
|
||||||
|
{0, L_6, J_6, K_6},
|
||||||
|
{0, L_7, J_7, K_7},
|
||||||
|
{0, L_8, J_8, K_8},
|
||||||
|
{0, L_9, J_9, K_9},
|
||||||
|
{0, L_10, J_10, K_10},
|
||||||
|
{0, L_11, J_11, K_11},
|
||||||
|
{0, L_12, J_12, K_12},
|
||||||
|
{0, L_14, J_14, K_14},
|
||||||
|
{0, L_16, J_16, K_16},
|
||||||
|
|
||||||
|
{1, C_1, A_1, B_1},
|
||||||
|
{1, C_3, A_3, B_3},
|
||||||
|
{1, C_4, A_4, B_4},
|
||||||
|
{1, C_5, A_5, B_5},
|
||||||
|
{1, C_6, A_6, B_6},
|
||||||
|
{1, C_7, A_7, B_7},
|
||||||
|
{1, C_8, A_8, B_8},
|
||||||
|
{1, C_9, A_9, B_9},
|
||||||
|
{1, C_10, A_10, B_10},
|
||||||
|
{1, C_11, A_11, B_11},
|
||||||
|
{1, C_12, A_12, B_12},
|
||||||
|
{1, C_14, A_14, B_14},
|
||||||
|
{1, C_15, A_15, B_15},
|
||||||
|
|
||||||
|
{1, F_1, D_1, E_1},
|
||||||
|
{1, F_2, D_2, E_2},
|
||||||
|
{1, F_3, D_3, E_3},
|
||||||
|
{1, F_7, D_7, E_7},
|
||||||
|
{1, F_11, D_11, E_11},
|
||||||
|
{1, F_12, D_12, E_12},
|
||||||
|
{1, F_13, D_13, E_13},
|
||||||
|
{1, F_14, D_14, E_14},
|
||||||
|
{1, F_15, D_15, E_15},
|
||||||
|
{1, F_16, D_16, E_16}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
led_config_t g_led_config = {
|
||||||
|
{
|
||||||
|
{ 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 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, 71, 57, 58 },
|
||||||
|
{ 59, NO_LED, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 80, 70, 13 },
|
||||||
|
{ 72, 73, 74, NO_LED, NO_LED, NO_LED, 75, NO_LED, NO_LED, NO_LED, 76, 77, 78, 79, 81 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{0,0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {195, 0}, {210, 0}, {224, 0},
|
||||||
|
{0,13}, {15,13}, {30,13}, {45,13}, {60,13}, {75,13}, {90,13}, {105,13}, {120,13}, {135,13}, {150,13}, {165,13}, {180,13}, {195,13}, {224,13},
|
||||||
|
{0,26}, {15,26}, {30,26}, {45,26}, {60,26}, {75,26}, {90,26}, {105,26}, {120,26}, {135,26}, {150,26}, {165,26}, {180,26}, {195,26}, {224,26},
|
||||||
|
{0,39}, {15,39}, {30,39}, {45,39}, {60,39}, {75,39}, {90,39}, {105,39}, {120,39}, {135,39}, {150,39}, {165,39}, {195,39}, {224,39},
|
||||||
|
{0,52}, {30,52}, {45,52}, {60,52}, {75,52}, {90,52}, {105,52}, {120,52}, {135,52}, {150,52}, {165,52}, {195,52}, {210,52},
|
||||||
|
{0,64}, {15,64}, {30,64}, {90,64}, {150,64}, {165,64}, {180,64}, {195,64}, {210,64}, {224,64},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
|
@ -8,10 +8,10 @@ BOOTLOADER = atmel-dfu
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
|
31
keyboards/keychron/q1/rev_0102/config.h
Normal file
31
keyboards/keychron/q1/rev_0102/config.h
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define PRODUCT_ID 0x0102
|
||||||
|
#define DEVICE_VER 0x0100
|
||||||
|
|
||||||
|
/* key matrix pins */
|
||||||
|
#define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
|
||||||
|
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
|
||||||
|
|
||||||
|
/* RGB Matrix Configuration */
|
||||||
|
#define DRIVER_1_LED_TOTAL 59
|
||||||
|
#define DRIVER_2_LED_TOTAL 24
|
||||||
|
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
101
keyboards/keychron/q1/rev_0102/info.json
Normal file
101
keyboards/keychron/q1/rev_0102/info.json
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "Keychron Q1",
|
||||||
|
"url": "https://github.com/Keychron",
|
||||||
|
"maintainer": "lalalademaxiya1",
|
||||||
|
"width": 16.25,
|
||||||
|
"height": 6.5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_iso_83": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Esc", "x":0, "y":0},
|
||||||
|
{"label":"F1", "x":1.25, "y":0},
|
||||||
|
{"label":"F2", "x":2.25, "y":0},
|
||||||
|
{"label":"F3", "x":3.25, "y":0},
|
||||||
|
{"label":"F4", "x":4.25, "y":0},
|
||||||
|
{"label":"F5", "x":5.5, "y":0},
|
||||||
|
{"label":"F6", "x":6.5, "y":0},
|
||||||
|
{"label":"F7", "x":7.5, "y":0},
|
||||||
|
{"label":"F8", "x":8.5, "y":0},
|
||||||
|
{"label":"F9", "x":9.75, "y":0},
|
||||||
|
{"label":"F10", "x":10.75, "y":0},
|
||||||
|
{"label":"F11", "x":11.75, "y":0},
|
||||||
|
{"label":"F12", "x":12.75, "y":0},
|
||||||
|
{"label":"Delete", "x":14, "y":0},
|
||||||
|
{"label":"Insert", "x":15.25, "y":0},
|
||||||
|
|
||||||
|
{"label":"~", "x":0, "y":1.25},
|
||||||
|
{"label":"!", "x":1, "y":1.25},
|
||||||
|
{"label":"@", "x":2, "y":1.25},
|
||||||
|
{"label":"#", "x":3, "y":1.25},
|
||||||
|
{"label":"$", "x":4, "y":1.25},
|
||||||
|
{"label":"%", "x":5, "y":1.25},
|
||||||
|
{"label":"^", "x":6, "y":1.25},
|
||||||
|
{"label":"&", "x":7, "y":1.25},
|
||||||
|
{"label":"*", "x":8, "y":1.25},
|
||||||
|
{"label":"(", "x":9, "y":1.25},
|
||||||
|
{"label":")", "x":10, "y":1.25},
|
||||||
|
{"label":"_", "x":11, "y":1.25},
|
||||||
|
{"label":"+", "x":12, "y":1.25},
|
||||||
|
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
||||||
|
{"label":"Page Up", "x":15.25, "y":1.25},
|
||||||
|
|
||||||
|
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||||
|
{"label":"Q", "x":1.5, "y":2.25},
|
||||||
|
{"label":"W", "x":2.5, "y":2.25},
|
||||||
|
{"label":"E", "x":3.5, "y":2.25},
|
||||||
|
{"label":"R", "x":4.5, "y":2.25},
|
||||||
|
{"label":"T", "x":5.5, "y":2.25},
|
||||||
|
{"label":"Y", "x":6.5, "y":2.25},
|
||||||
|
{"label":"U", "x":7.5, "y":2.25},
|
||||||
|
{"label":"I", "x":8.5, "y":2.25},
|
||||||
|
{"label":"O", "x":9.5, "y":2.25},
|
||||||
|
{"label":"P", "x":10.5, "y":2.25},
|
||||||
|
{"label":"{", "x":11.5, "y":2.25},
|
||||||
|
{"label":"}", "x":12.5, "y":2.25},
|
||||||
|
{"label":"Page Down", "x":15.25, "y":2.25},
|
||||||
|
|
||||||
|
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||||
|
{"label":"A", "x":1.75, "y":3.25},
|
||||||
|
{"label":"S", "x":2.75, "y":3.25},
|
||||||
|
{"label":"D", "x":3.75, "y":3.25},
|
||||||
|
{"label":"F", "x":4.75, "y":3.25},
|
||||||
|
{"label":"G", "x":5.75, "y":3.25},
|
||||||
|
{"label":"H", "x":6.75, "y":3.25},
|
||||||
|
{"label":"J", "x":7.75, "y":3.25},
|
||||||
|
{"label":"K", "x":8.75, "y":3.25},
|
||||||
|
{"label":"L", "x":9.75, "y":3.25},
|
||||||
|
{"label":":", "x":10.75, "y":3.25},
|
||||||
|
{"label":"\"", "x":11.75, "y":3.25},
|
||||||
|
{"label":"#~", "x":12.75, "y":3.25},
|
||||||
|
{"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
|
||||||
|
{"label":"Home", "x":15.25, "y":3.25},
|
||||||
|
|
||||||
|
{"label":"Shift", "x":0, "y":4.25, "w":1.25},
|
||||||
|
{"label":"\\|", "x":1.25, "y":4.25},
|
||||||
|
{"label":"Z", "x":2.25, "y":4.25},
|
||||||
|
{"label":"X", "x":3.25, "y":4.25},
|
||||||
|
{"label":"C", "x":4.25, "y":4.25},
|
||||||
|
{"label":"V", "x":5.25, "y":4.25},
|
||||||
|
{"label":"B", "x":6.25, "y":4.25},
|
||||||
|
{"label":"N", "x":7.25, "y":4.25},
|
||||||
|
{"label":"M", "x":8.25, "y":4.25},
|
||||||
|
{"label":"<", "x":9.25, "y":4.25},
|
||||||
|
{"label":">", "x":10.25, "y":4.25},
|
||||||
|
{"label":"?", "x":11.25, "y":4.25},
|
||||||
|
{"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
|
||||||
|
{"label":"\u2191", "x":14.25, "y":4.5},
|
||||||
|
|
||||||
|
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
||||||
|
{"label":"Alt", "x":10, "y":5.25},
|
||||||
|
{"label":"Fn", "x":11, "y":5.25},
|
||||||
|
{"label":"Ctrl", "x":12, "y":5.25},
|
||||||
|
{"label":"\u2190", "x":13.25, "y":5.5},
|
||||||
|
{"label":"\u2193", "x":14.25, "y":5.5},
|
||||||
|
{"label":"\u2192", "x":15.25, "y":5.5}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
64
keyboards/keychron/q1/rev_0102/keymaps/default/keymap.c
Normal file
64
keyboards/keychron/q1/rev_0102/keymaps/default/keymap.c
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
/* 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 QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
enum layers{
|
||||||
|
MAC_BASE,
|
||||||
|
MAC_FN,
|
||||||
|
WIN_BASE,
|
||||||
|
WIN_FN
|
||||||
|
};
|
||||||
|
|
||||||
|
#define KC_TASK LGUI(KC_TAB)
|
||||||
|
#define KC_FLXP LGUI(KC_E)
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[MAC_BASE] = LAYOUT_iso_83(
|
||||||
|
KC_ESC, KC_BRID, KC_BRIU, KC_F3, KC_F4, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[MAC_FN] = LAYOUT_iso_83(
|
||||||
|
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[WIN_BASE] = LAYOUT_iso_83(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[WIN_FN] = LAYOUT_iso_83(
|
||||||
|
KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||||
|
|
||||||
|
};
|
64
keyboards/keychron/q1/rev_0102/keymaps/via/keymap.c
Normal file
64
keyboards/keychron/q1/rev_0102/keymaps/via/keymap.c
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
/* 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 QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
enum layers{
|
||||||
|
MAC_BASE,
|
||||||
|
MAC_FN,
|
||||||
|
WIN_BASE,
|
||||||
|
WIN_FN
|
||||||
|
};
|
||||||
|
|
||||||
|
#define KC_TASK LGUI(KC_TAB)
|
||||||
|
#define KC_FLXP LGUI(KC_E)
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[MAC_BASE] = LAYOUT_iso_83(
|
||||||
|
KC_ESC, KC_BRID, KC_BRIU, KC_F3, KC_F4, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[MAC_FN] = LAYOUT_iso_83(
|
||||||
|
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[WIN_BASE] = LAYOUT_iso_83(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[WIN_FN] = LAYOUT_iso_83(
|
||||||
|
KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||||
|
|
||||||
|
};
|
2
keyboards/keychron/q1/rev_0102/keymaps/via/rules.mk
Normal file
2
keyboards/keychron/q1/rev_0102/keymaps/via/rules.mk
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
VIA_ENABLE = yes
|
||||||
|
MOUSEKEY_ENABLE = no
|
1
keyboards/keychron/q1/rev_0102/readme.md
Normal file
1
keyboards/keychron/q1/rev_0102/readme.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# The ISO variant of the Keychron Q1
|
143
keyboards/keychron/q1/rev_0102/rev_0102.c
Normal file
143
keyboards/keychron/q1/rev_0102/rev_0102.c
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
/* 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 "quantum.h"
|
||||||
|
|
||||||
|
|
||||||
|
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||||
|
/* Refer to IS31 manual for these locations
|
||||||
|
* driver
|
||||||
|
* | R location
|
||||||
|
* | | G location
|
||||||
|
* | | | B location
|
||||||
|
* | | | | */
|
||||||
|
{0, C_1, A_1, B_1},
|
||||||
|
{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_15, A_15, B_15},
|
||||||
|
{0, C_16, A_16, B_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},
|
||||||
|
|
||||||
|
{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_16, G_16, H_16},
|
||||||
|
|
||||||
|
{0, L_1, J_1, K_1},
|
||||||
|
{0, L_2, J_2, K_2},
|
||||||
|
{0, L_3, J_3, K_3},
|
||||||
|
{0, L_4, J_4, K_4},
|
||||||
|
{0, L_5, J_5, K_5},
|
||||||
|
{0, L_6, J_6, K_6},
|
||||||
|
{0, L_7, J_7, K_7},
|
||||||
|
{0, L_8, J_8, K_8},
|
||||||
|
{0, L_9, J_9, K_9},
|
||||||
|
{0, L_10, J_10, K_10},
|
||||||
|
{0, L_11, J_11, K_11},
|
||||||
|
{0, L_12, J_12, K_12},
|
||||||
|
{0, L_14, J_14, K_14},
|
||||||
|
{0, I_14, G_14, H_14},
|
||||||
|
{0, L_16, J_16, K_16},
|
||||||
|
|
||||||
|
{1, C_1, A_1, B_1},
|
||||||
|
{1, C_2, A_2, B_2},
|
||||||
|
{1, C_3, A_3, B_3},
|
||||||
|
{1, C_4, A_4, B_4},
|
||||||
|
{1, C_5, A_5, B_5},
|
||||||
|
{1, C_6, A_6, B_6},
|
||||||
|
{1, C_7, A_7, B_7},
|
||||||
|
{1, C_8, A_8, B_8},
|
||||||
|
{1, C_9, A_9, B_9},
|
||||||
|
{1, C_10, A_10, B_10},
|
||||||
|
{1, C_11, A_11, B_11},
|
||||||
|
{1, C_12, A_12, B_12},
|
||||||
|
{1, C_14, A_14, B_14},
|
||||||
|
{1, C_15, A_15, B_15},
|
||||||
|
|
||||||
|
{1, F_1, D_1, E_1},
|
||||||
|
{1, F_2, D_2, E_2},
|
||||||
|
{1, F_3, D_3, E_3},
|
||||||
|
{1, F_7, D_7, E_7},
|
||||||
|
{1, F_11, D_11, E_11},
|
||||||
|
{1, F_12, D_12, E_12},
|
||||||
|
{1, F_13, D_13, E_13},
|
||||||
|
{1, F_14, D_14, E_14},
|
||||||
|
{1, F_15, D_15, E_15},
|
||||||
|
{1, F_16, D_16, E_16}
|
||||||
|
};
|
||||||
|
|
||||||
|
led_config_t g_led_config = {
|
||||||
|
{
|
||||||
|
{ 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 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, 57, 43 },
|
||||||
|
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 72, 56, 58 },
|
||||||
|
{ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 81, 71, 13 },
|
||||||
|
{ 73, 74, 75, NO_LED, NO_LED, NO_LED, 76, NO_LED, NO_LED, NO_LED, 77, 78, 79, 80, 82 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{0,0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {195, 0}, {210, 0}, {224, 0},
|
||||||
|
{0,13}, {15,13}, {30,13}, {45,13}, {60,13}, {75,13}, {90,13}, {105,13}, {120,13}, {135,13}, {150,13}, {165,13}, {180,13}, {195,13}, {224,13},
|
||||||
|
{0,26}, {15,26}, {30,26}, {45,26}, {60,26}, {75,26}, {90,26}, {105,26}, {120,26}, {135,26}, {150,26}, {165,26}, {180,26}, {224,26},
|
||||||
|
{0,39}, {15,39}, {30,39}, {45,39}, {60,39}, {75,39}, {90,39}, {105,39}, {120,39}, {135,39}, {150,39}, {165,39}, {180,39}, {195,26}, {224,39},
|
||||||
|
{0,52}, {15,52}, {30,52}, {45,52}, {60,52}, {75,52}, {90,52}, {105,52}, {120,52}, {135,52}, {150,52}, {165,52}, {180,52}, {210,52},
|
||||||
|
{0,64}, {15,64}, {30,64}, {90,64}, {150,64}, {165,64}, {180,64}, {195,64}, {210,64}, {224,64},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
37
keyboards/keychron/q1/rev_0102/rev_0102.h
Normal file
37
keyboards/keychron/q1/rev_0102/rev_0102.h
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define xxx KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_iso_83( \
|
||||||
|
K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K4E, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K2D, K3E, \
|
||||||
|
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K3C, \
|
||||||
|
K50, K51, K52, K56, K5A, K5B, K5C, K5D, K4C, K5E \
|
||||||
|
) { \
|
||||||
|
{ K00, xxx, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E }, \
|
||||||
|
{ K50, K51, K52, xxx, xxx, xxx, K56, xxx, xxx, xxx, K5A, K5B, K5C, K5D, K5E } \
|
||||||
|
}
|
25
keyboards/keychron/q1/rev_0102/rules.mk
Normal file
25
keyboards/keychron/q1/rev_0102/rules.mk
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
DIP_SWITCH_ENABLE = yes
|
||||||
|
RGB_MATRIX_ENABLE = yes
|
||||||
|
RGB_MATRIX_DRIVER = IS31FL3733
|
|
@ -77,14 +77,14 @@
|
||||||
{"label": "Home", "x": 16, "y": 3},
|
{"label": "Home", "x": 16, "y": 3},
|
||||||
{"label": "End", "x": 17, "y": 3},
|
{"label": "End", "x": 17, "y": 3},
|
||||||
|
|
||||||
{"label": "OS", "x": 1.75, "y": 4},
|
{"label": "OS", "x": 3.75, "y": 4},
|
||||||
{"label": "Alt", "x": 2.75, "y": 4},
|
{"label": "Alt", "x": 4.75, "y": 4},
|
||||||
{"label": "Lower", "x": 3.75, "y": 4},
|
{"label": "Lower", "x": 5.75, "y": 4},
|
||||||
{"label": "BS", "x": 4.75, "y": 4, "w": 1.5},
|
{"label": "BS", "x": 6.75, "y": 4, "w": 1.5},
|
||||||
{"label": "", "x": 7.75, "y": 4, "w": 1.5},
|
{"label": "", "x": 9.75, "y": 4, "w": 1.5},
|
||||||
{"label": "Raise", "x": 9.25, "y": 4},
|
{"label": "Raise", "x": 11.25, "y": 4},
|
||||||
{"label": "Alt", "x": 10.25, "y": 4},
|
{"label": "Alt", "x": 12.25, "y": 4},
|
||||||
{"label": "OS", "x": 11.25, "y": 4}
|
{"label": "OS", "x": 13.25, "y": 4}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -152,14 +152,14 @@
|
||||||
{"label": "Home", "x": 16, "y": 3},
|
{"label": "Home", "x": 16, "y": 3},
|
||||||
{"label": "End", "x": 17, "y": 3},
|
{"label": "End", "x": 17, "y": 3},
|
||||||
|
|
||||||
{"label": "OS", "x": 1.75, "y": 4},
|
{"label": "OS", "x": 3.75, "y": 4},
|
||||||
{"label": "Alt", "x": 2.75, "y": 4},
|
{"label": "Alt", "x": 4.75, "y": 4},
|
||||||
{"label": "Lower", "x": 3.75, "y": 4},
|
{"label": "Lower", "x": 5.75, "y": 4},
|
||||||
{"label": "BS", "x": 4.75, "y": 4, "w": 1.5},
|
{"label": "BS", "x": 6.75, "y": 4, "w": 1.5},
|
||||||
{"label": "", "x": 7.75, "y": 4, "w": 1.5},
|
{"label": "", "x": 9.75, "y": 4, "w": 1.5},
|
||||||
{"label": "Raise", "x": 9.25, "y": 4},
|
{"label": "Raise", "x": 11.25, "y": 4},
|
||||||
{"label": "Alt", "x": 10.25, "y": 4},
|
{"label": "Alt", "x": 12.25, "y": 4},
|
||||||
{"label": "OS", "x": 11.25, "y": 4}
|
{"label": "OS", "x": 13.25, "y": 4}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -227,14 +227,14 @@
|
||||||
{"label": "/", "x": 14, "y": 3},
|
{"label": "/", "x": 14, "y": 3},
|
||||||
{"label": "Enter", "x": 15, "y": 3},
|
{"label": "Enter", "x": 15, "y": 3},
|
||||||
|
|
||||||
{"label": "OS", "x": 1.75, "y": 4},
|
{"label": "OS", "x": 3.75, "y": 4},
|
||||||
{"label": "Alt", "x": 2.75, "y": 4},
|
{"label": "Alt", "x": 4.75, "y": 4},
|
||||||
{"label": "Lower", "x": 3.75, "y": 4},
|
{"label": "Lower", "x": 5.75, "y": 4},
|
||||||
{"label": "BS", "x": 4.75, "y": 4, "w": 1.5},
|
{"label": "BS", "x": 6.75, "y": 4, "w": 1.5},
|
||||||
{"label": "", "x": 7.75, "y": 4, "w": 1.5},
|
{"label": "", "x": 9.75, "y": 4, "w": 1.5},
|
||||||
{"label": "Raise", "x": 9.25, "y": 4},
|
{"label": "Raise", "x": 11.25, "y": 4},
|
||||||
{"label": "Alt", "x": 10.25, "y": 4},
|
{"label": "Alt", "x": 12.25, "y": 4},
|
||||||
{"label": "FN", "x": 11.25, "y": 4}
|
{"label": "FN", "x": 13.25, "y": 4}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -294,14 +294,14 @@
|
||||||
{"label": "/", "x": 14, "y": 3},
|
{"label": "/", "x": 14, "y": 3},
|
||||||
{"label": "Enter", "x": 15, "y": 3},
|
{"label": "Enter", "x": 15, "y": 3},
|
||||||
|
|
||||||
{"label": "OS", "x": 1.75, "y": 4},
|
{"label": "OS", "x": 3.75, "y": 4},
|
||||||
{"label": "Alt", "x": 2.75, "y": 4},
|
{"label": "Alt", "x": 4.75, "y": 4},
|
||||||
{"label": "Lower", "x": 3.75, "y": 4},
|
{"label": "Lower", "x": 5.75, "y": 4},
|
||||||
{"label": "BS", "x": 4.75, "y": 4, "w": 1.5},
|
{"label": "BS", "x": 6.75, "y": 4, "w": 1.5},
|
||||||
{"label": "", "x": 7.75, "y": 4, "w": 1.5},
|
{"label": "", "x": 9.75, "y": 4, "w": 1.5},
|
||||||
{"label": "Raise", "x": 9.25, "y": 4},
|
{"label": "Raise", "x": 11.25, "y": 4},
|
||||||
{"label": "Alt", "x": 10.25, "y": 4},
|
{"label": "Alt", "x": 12.25, "y": 4},
|
||||||
{"label": "FN", "x": 11.25, "y": 4}
|
{"label": "FN", "x": 13.25, "y": 4}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,25 +2,12 @@
|
||||||
"keyboard_name": "rhino",
|
"keyboard_name": "rhino",
|
||||||
"url": "",
|
"url": "",
|
||||||
"maintainer": "Christian Sandven",
|
"maintainer": "Christian Sandven",
|
||||||
"width": 14,
|
"width": 15,
|
||||||
"height": 4,
|
"height": 5,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_ortho_2x2u": {
|
"LAYOUT_ortho_2x2u": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"x": 0, "y": 0, "w": 1.5},
|
|
||||||
{"x": 1.5, "y": 0},
|
|
||||||
{"x": 2.5, "y": 0},
|
|
||||||
{"x": 3.5, "y": 0},
|
|
||||||
{"x": 4.5, "y": 0},
|
|
||||||
{"x": 5.5, "y": 0},
|
|
||||||
{"x": 6.5, "y": 0},
|
|
||||||
{"x": 7.5, "y": 0},
|
|
||||||
{"x": 8.5, "y": 0},
|
|
||||||
{"x": 9.5, "y": 0},
|
|
||||||
{"x": 10.5, "y": 0},
|
|
||||||
{"x": 11.5, "y": 0},
|
|
||||||
{"x": 12.5, "y": 0},
|
{"x": 12.5, "y": 0},
|
||||||
{"x": 13.5, "y": 0, "w": 1.5},
|
|
||||||
|
|
||||||
{"x": 0, "y": 1, "w": 1.5},
|
{"x": 0, "y": 1, "w": 1.5},
|
||||||
{"x": 1.5, "y": 1},
|
{"x": 1.5, "y": 1},
|
||||||
|
@ -52,6 +39,21 @@
|
||||||
{"x": 12.5, "y": 2},
|
{"x": 12.5, "y": 2},
|
||||||
{"x": 13.5, "y": 2, "w": 1.5},
|
{"x": 13.5, "y": 2, "w": 1.5},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3, "w": 1.5},
|
||||||
|
{"x": 1.5, "y": 3},
|
||||||
|
{"x": 2.5, "y": 3},
|
||||||
|
{"x": 3.5, "y": 3},
|
||||||
|
{"x": 4.5, "y": 3},
|
||||||
|
{"x": 5.5, "y": 3},
|
||||||
|
{"x": 6.5, "y": 3},
|
||||||
|
{"x": 7.5, "y": 3},
|
||||||
|
{"x": 8.5, "y": 3},
|
||||||
|
{"x": 9.5, "y": 3},
|
||||||
|
{"x": 10.5, "y": 3},
|
||||||
|
{"x": 11.5, "y": 3},
|
||||||
|
{"x": 12.5, "y": 3},
|
||||||
|
{"x": 13.5, "y": 3, "w": 1.5},
|
||||||
|
|
||||||
{"x": 1.5, "y": 4},
|
{"x": 1.5, "y": 4},
|
||||||
{"x": 2.5, "y": 4},
|
{"x": 2.5, "y": 4},
|
||||||
{"x": 3.5, "y": 4},
|
{"x": 3.5, "y": 4},
|
||||||
|
@ -67,20 +69,7 @@
|
||||||
|
|
||||||
"LAYOUT_ergo_2x2u": {
|
"LAYOUT_ergo_2x2u": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"x": 0, "y": 0, "w": 1.5},
|
|
||||||
{"x": 1.5, "y": 0},
|
|
||||||
{"x": 2.5, "y": 0},
|
|
||||||
{"x": 3.5, "y": 0},
|
|
||||||
{"x": 4.5, "y": 0},
|
|
||||||
{"x": 5.5, "y": 0},
|
|
||||||
{"x": 6.5, "y": 0, "h": 1.5},
|
|
||||||
{"x": 7.5, "y": 0, "h": 1.5},
|
|
||||||
{"x": 8.5, "y": 0},
|
|
||||||
{"x": 9.5, "y": 0},
|
|
||||||
{"x": 10.5, "y": 0},
|
|
||||||
{"x": 11.5, "y": 0},
|
|
||||||
{"x": 12.5, "y": 0},
|
{"x": 12.5, "y": 0},
|
||||||
{"x": 13.5, "y": 0, "w": 1.5},
|
|
||||||
|
|
||||||
{"x": 0, "y": 1, "w": 1.5},
|
{"x": 0, "y": 1, "w": 1.5},
|
||||||
{"x": 1.5, "y": 1},
|
{"x": 1.5, "y": 1},
|
||||||
|
@ -88,8 +77,8 @@
|
||||||
{"x": 3.5, "y": 1},
|
{"x": 3.5, "y": 1},
|
||||||
{"x": 4.5, "y": 1},
|
{"x": 4.5, "y": 1},
|
||||||
{"x": 5.5, "y": 1},
|
{"x": 5.5, "y": 1},
|
||||||
{"x": 6.5, "y": 1.5, "h": 1.5},
|
{"x": 6.5, "y": 1, "h": 1.5},
|
||||||
{"x": 7.5, "y": 1.5, "h": 1.5},
|
{"x": 7.5, "y": 1, "h": 1.5},
|
||||||
{"x": 8.5, "y": 1},
|
{"x": 8.5, "y": 1},
|
||||||
{"x": 9.5, "y": 1},
|
{"x": 9.5, "y": 1},
|
||||||
{"x": 10.5, "y": 1},
|
{"x": 10.5, "y": 1},
|
||||||
|
@ -103,6 +92,8 @@
|
||||||
{"x": 3.5, "y": 2},
|
{"x": 3.5, "y": 2},
|
||||||
{"x": 4.5, "y": 2},
|
{"x": 4.5, "y": 2},
|
||||||
{"x": 5.5, "y": 2},
|
{"x": 5.5, "y": 2},
|
||||||
|
{"x": 6.5, "y": 2.5, "h": 1.5},
|
||||||
|
{"x": 7.5, "y": 2.5, "h": 1.5},
|
||||||
{"x": 8.5, "y": 2},
|
{"x": 8.5, "y": 2},
|
||||||
{"x": 9.5, "y": 2},
|
{"x": 9.5, "y": 2},
|
||||||
{"x": 10.5, "y": 2},
|
{"x": 10.5, "y": 2},
|
||||||
|
@ -110,6 +101,19 @@
|
||||||
{"x": 12.5, "y": 2},
|
{"x": 12.5, "y": 2},
|
||||||
{"x": 13.5, "y": 2, "w": 1.5},
|
{"x": 13.5, "y": 2, "w": 1.5},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3, "w": 1.5},
|
||||||
|
{"x": 1.5, "y": 3},
|
||||||
|
{"x": 2.5, "y": 3},
|
||||||
|
{"x": 3.5, "y": 3},
|
||||||
|
{"x": 4.5, "y": 3},
|
||||||
|
{"x": 5.5, "y": 3},
|
||||||
|
{"x": 8.5, "y": 3},
|
||||||
|
{"x": 9.5, "y": 3},
|
||||||
|
{"x": 10.5, "y": 3},
|
||||||
|
{"x": 11.5, "y": 3},
|
||||||
|
{"x": 12.5, "y": 3},
|
||||||
|
{"x": 13.5, "y": 3, "w": 1.5},
|
||||||
|
|
||||||
{"x": 1.5, "y": 4},
|
{"x": 1.5, "y": 4},
|
||||||
{"x": 2.5, "y": 4},
|
{"x": 2.5, "y": 4},
|
||||||
{"x": 3.5, "y": 4},
|
{"x": 3.5, "y": 4},
|
||||||
|
@ -125,20 +129,7 @@
|
||||||
|
|
||||||
"LAYOUT_ortho_7u": {
|
"LAYOUT_ortho_7u": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"x": 0, "y": 0, "w": 1.5},
|
|
||||||
{"x": 1.5, "y": 0},
|
|
||||||
{"x": 2.5, "y": 0},
|
|
||||||
{"x": 3.5, "y": 0},
|
|
||||||
{"x": 4.5, "y": 0},
|
|
||||||
{"x": 5.5, "y": 0},
|
|
||||||
{"x": 6.5, "y": 0, "h": 1.5},
|
|
||||||
{"x": 7.5, "y": 0, "h": 1.5},
|
|
||||||
{"x": 8.5, "y": 0},
|
|
||||||
{"x": 9.5, "y": 0},
|
|
||||||
{"x": 10.5, "y": 0},
|
|
||||||
{"x": 11.5, "y": 0},
|
|
||||||
{"x": 12.5, "y": 0},
|
{"x": 12.5, "y": 0},
|
||||||
{"x": 13.5, "y": 0, "w": 1.5},
|
|
||||||
|
|
||||||
{"x": 0, "y": 1, "w": 1.5},
|
{"x": 0, "y": 1, "w": 1.5},
|
||||||
{"x": 1.5, "y": 1},
|
{"x": 1.5, "y": 1},
|
||||||
|
@ -146,14 +137,14 @@
|
||||||
{"x": 3.5, "y": 1},
|
{"x": 3.5, "y": 1},
|
||||||
{"x": 4.5, "y": 1},
|
{"x": 4.5, "y": 1},
|
||||||
{"x": 5.5, "y": 1},
|
{"x": 5.5, "y": 1},
|
||||||
{"x": 6.5, "y": 1.5, "h": 1.5},
|
{"x": 6.5, "y": 1},
|
||||||
{"x": 7.5, "y": 1.5, "h": 1.5},
|
{"x": 7.5, "y": 1},
|
||||||
{"x": 8.5, "y": 1},
|
{"x": 8.5, "y": 1},
|
||||||
{"x": 9.5, "y": 1},
|
{"x": 9.5, "y": 1},
|
||||||
{"x": 10.5, "y": 1},
|
{"x": 10.5, "y": 1},
|
||||||
{"x": 11.5, "y": 1},
|
{"x": 11.5, "y": 1},
|
||||||
{"x": 12.5, "y": 1, "w": 1.5},
|
{"x": 12.5, "y": 1},
|
||||||
{"x": 14, "y": 1},
|
{"x": 13.5, "y": 1, "w": 1.5},
|
||||||
|
|
||||||
{"x": 0, "y": 2, "w": 1.5},
|
{"x": 0, "y": 2, "w": 1.5},
|
||||||
{"x": 1.5, "y": 2},
|
{"x": 1.5, "y": 2},
|
||||||
|
@ -161,13 +152,30 @@
|
||||||
{"x": 3.5, "y": 2},
|
{"x": 3.5, "y": 2},
|
||||||
{"x": 4.5, "y": 2},
|
{"x": 4.5, "y": 2},
|
||||||
{"x": 5.5, "y": 2},
|
{"x": 5.5, "y": 2},
|
||||||
|
{"x": 6.5, "y": 2},
|
||||||
|
{"x": 7.5, "y": 2},
|
||||||
{"x": 8.5, "y": 2},
|
{"x": 8.5, "y": 2},
|
||||||
{"x": 9.5, "y": 2},
|
{"x": 9.5, "y": 2},
|
||||||
{"x": 10.5, "y": 2},
|
{"x": 10.5, "y": 2},
|
||||||
{"x": 11.5, "y": 2, "w": 1.5},
|
{"x": 11.5, "y": 2},
|
||||||
{"x": 13, "y": 2},
|
{"x": 12.5, "y": 2, "w": 1.5},
|
||||||
{"x": 14, "y": 2},
|
{"x": 14, "y": 2},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3, "w": 1.5},
|
||||||
|
{"x": 1.5, "y": 3},
|
||||||
|
{"x": 2.5, "y": 3},
|
||||||
|
{"x": 3.5, "y": 3},
|
||||||
|
{"x": 4.5, "y": 3},
|
||||||
|
{"x": 5.5, "y": 3},
|
||||||
|
{"x": 6.5, "y": 3},
|
||||||
|
{"x": 7.5, "y": 3},
|
||||||
|
{"x": 8.5, "y": 3},
|
||||||
|
{"x": 9.5, "y": 3},
|
||||||
|
{"x": 10.5, "y": 3},
|
||||||
|
{"x": 11.5, "y": 3, "w": 1.5},
|
||||||
|
{"x": 13, "y": 3},
|
||||||
|
{"x": 14, "y": 3},
|
||||||
|
|
||||||
{"x": 1.5, "y": 4},
|
{"x": 1.5, "y": 4},
|
||||||
{"x": 2.5, "y": 4, "w": 1.5},
|
{"x": 2.5, "y": 4, "w": 1.5},
|
||||||
{"x": 4, "y": 4, "w": 7},
|
{"x": 4, "y": 4, "w": 7},
|
||||||
|
|
|
@ -1,12 +1,74 @@
|
||||||
{
|
{
|
||||||
"keyboard_name": "Gin V2",
|
"keyboard_name": "Gin V2",
|
||||||
"url": " ",
|
"url": "",
|
||||||
"maintainer": "Ocean",
|
"maintainer": "Ocean",
|
||||||
"width": 16.25,
|
"width": 16.25,
|
||||||
"height": 4,
|
"height": 4,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.25, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3.25, "y":1, "w":1.25}, {"x":4.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1}, {"x":14.5, "y":1, "w":1.75}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3.25, "y":2, "w":1.75}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2, "w":1.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3.25, "y":3, "w":1.5}, {"x":4.75, "y":3}, {"x":5.75, "y":3, "w":1.5}, {"x":7.25, "y":3, "w":2.25}, {"x":9.5, "y":3, "w":2.75}, {"x":12.25, "y":3, "w":1.5}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.5}]
|
"layout": [
|
||||||
|
{"x": 0, "y": 0},
|
||||||
|
{"x": 1, "y": 0},
|
||||||
|
{"x": 2, "y": 0},
|
||||||
|
{"x": 3.25, "y": 0},
|
||||||
|
{"x": 4.25, "y": 0},
|
||||||
|
{"x": 5.25, "y": 0},
|
||||||
|
{"x": 6.25, "y": 0},
|
||||||
|
{"x": 7.25, "y": 0},
|
||||||
|
{"x": 8.25, "y": 0},
|
||||||
|
{"x": 9.25, "y": 0},
|
||||||
|
{"x": 10.25, "y": 0},
|
||||||
|
{"x": 11.25, "y": 0},
|
||||||
|
{"x": 12.25, "y": 0},
|
||||||
|
{"x": 13.25, "y": 0},
|
||||||
|
{"x": 14.25, "y": 0},
|
||||||
|
{"x": 15.25, "y": 0},
|
||||||
|
|
||||||
|
{"x": 0, "y": 1},
|
||||||
|
{"x": 1, "y": 1},
|
||||||
|
{"x": 2, "y": 1},
|
||||||
|
{"x": 3.25, "y": 1, "w": 1.25},
|
||||||
|
{"x": 4.5, "y": 1},
|
||||||
|
{"x": 5.5, "y": 1},
|
||||||
|
{"x": 6.5, "y": 1},
|
||||||
|
{"x": 7.5, "y": 1},
|
||||||
|
{"x": 8.5, "y": 1},
|
||||||
|
{"x": 9.5, "y": 1},
|
||||||
|
{"x": 10.5, "y": 1},
|
||||||
|
{"x": 11.5, "y": 1},
|
||||||
|
{"x": 12.5, "y": 1},
|
||||||
|
{"x": 13.5, "y": 1},
|
||||||
|
{"x": 14.5, "y": 1, "w": 1.75},
|
||||||
|
|
||||||
|
{"x": 0, "y": 2},
|
||||||
|
{"x": 1, "y": 2},
|
||||||
|
{"x": 2, "y": 2},
|
||||||
|
{"x": 3.25, "y": 2, "w": 1.75},
|
||||||
|
{"x": 5, "y": 2},
|
||||||
|
{"x": 6, "y": 2},
|
||||||
|
{"x": 7, "y": 2},
|
||||||
|
{"x": 8, "y": 2},
|
||||||
|
{"x": 9, "y": 2},
|
||||||
|
{"x": 10, "y": 2},
|
||||||
|
{"x": 11, "y": 2},
|
||||||
|
{"x": 12, "y": 2},
|
||||||
|
{"x": 13, "y": 2},
|
||||||
|
{"x": 14, "y": 2},
|
||||||
|
{"x": 15, "y": 2, "w": 1.25},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3},
|
||||||
|
{"x": 1, "y": 3},
|
||||||
|
{"x": 2, "y": 3},
|
||||||
|
{"x": 3.25, "y": 3, "w": 1.25},
|
||||||
|
{"x": 4.5, "y": 3, "w": 1.25},
|
||||||
|
{"x": 5.75, "y": 3, "w": 1.25},
|
||||||
|
{"x": 7, "y": 3, "w": 2.25},
|
||||||
|
{"x": 9.25, "y": 3, "w": 2.75},
|
||||||
|
{"x": 12, "y": 3, "w": 1.25},
|
||||||
|
{"x": 13.25, "y": 3},
|
||||||
|
{"x": 14.25, "y": 3},
|
||||||
|
{"x": 15.25, "y": 3}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
50
keyboards/wuque/serneity65/config.h
Normal file
50
keyboards/wuque/serneity65/config.h
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0x906B
|
||||||
|
#define PRODUCT_ID 0x0003
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER wuque
|
||||||
|
#define PRODUCT serneity65
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 15
|
||||||
|
|
||||||
|
#define MATRIX_ROW_PINS { B0, F0, B1, D2, D3 }
|
||||||
|
#define MATRIX_COL_PINS { B6, B5, D5, D4, D6, B4, D7, F1, F4, F5, F6, F7, C7, E6, B7 }
|
||||||
|
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Enable encoder */
|
||||||
|
#define ENCODERS_PAD_A { B2 }
|
||||||
|
#define ENCODERS_PAD_B { B3 }
|
||||||
|
|
||||||
|
#define ENCODERS 1
|
||||||
|
// Note: array is { col, row )
|
||||||
|
#define ENCODERS_CW_KEY { { 3, 4 } }
|
||||||
|
#define ENCODERS_CCW_KEY { { 5, 4 } }
|
||||||
|
|
||||||
|
#define LED_CAPS_LOCK_PIN C6
|
||||||
|
#define LED_PIN_ON_STATE 0
|
389
keyboards/wuque/serneity65/info.json
Normal file
389
keyboards/wuque/serneity65/info.json
Normal file
|
@ -0,0 +1,389 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "serneity65",
|
||||||
|
"url": "https://wuque.com/",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"width": 15.5,
|
||||||
|
"height": 5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
|
{ "label": "1", "x": 1, "y": 0 },
|
||||||
|
{ "label": "2", "x": 2, "y": 0 },
|
||||||
|
{ "label": "3", "x": 3, "y": 0 },
|
||||||
|
{ "label": "4", "x": 4, "y": 0 },
|
||||||
|
{ "label": "5", "x": 5, "y": 0 },
|
||||||
|
{ "label": "6", "x": 6, "y": 0 },
|
||||||
|
{ "label": "7", "x": 7, "y": 0 },
|
||||||
|
{ "label": "8", "x": 8, "y": 0 },
|
||||||
|
{ "label": "9", "x": 9, "y": 0 },
|
||||||
|
{ "label": "0", "x": 10, "y": 0 },
|
||||||
|
{ "label": "-", "x": 11, "y": 0 },
|
||||||
|
{ "label": "=", "x": 12, "y": 0 },
|
||||||
|
{ "label": "Backspace", "x": 13, "y": 0 },
|
||||||
|
{ "label": "Encode", "x": 15.5, "y": 0 },
|
||||||
|
|
||||||
|
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "[", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "]", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "\\", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ";", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "'", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "Backspace", "x": 14, "y": 0 },
|
||||||
|
{ "label": "PageUp", "x": 15, "y": 2 },
|
||||||
|
|
||||||
|
{ "label": "Shift1", "x": 0, "y": 3, "w": 1.25 },
|
||||||
|
{ "label": "Shift2", "x": 1.25, "y": 3 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": ",", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ".", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "/", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||||
|
{ "label": "\u2191", "x": 14, "y": 3 },
|
||||||
|
{ "label": "End", "x": 15, "y": 3 },
|
||||||
|
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Lrotate", "x": 15, "y": 0, "w": 0.5 },
|
||||||
|
{ "label": "Rrotate", "x": 16.5, "y": 0, "w": 0.5 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 2.25 },
|
||||||
|
{ "x": 6, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 7.25, "y": 4, "w": 2.75 },
|
||||||
|
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Fn", "x": 11.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "\u2190", "x": 13, "y": 4 },
|
||||||
|
{ "label": "\u2193", "x": 14, "y": 4 },
|
||||||
|
{ "label": "\u2192", "x": 15, "y": 4 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_65_ansi": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
|
{ "label": "1", "x": 1, "y": 0 },
|
||||||
|
{ "label": "2", "x": 2, "y": 0 },
|
||||||
|
{ "label": "3", "x": 3, "y": 0 },
|
||||||
|
{ "label": "4", "x": 4, "y": 0 },
|
||||||
|
{ "label": "5", "x": 5, "y": 0 },
|
||||||
|
{ "label": "6", "x": 6, "y": 0 },
|
||||||
|
{ "label": "7", "x": 7, "y": 0 },
|
||||||
|
{ "label": "8", "x": 8, "y": 0 },
|
||||||
|
{ "label": "9", "x": 9, "y": 0 },
|
||||||
|
{ "label": "0", "x": 10, "y": 0 },
|
||||||
|
{ "label": "-", "x": 11, "y": 0 },
|
||||||
|
{ "label": "=", "x": 12, "y": 0 },
|
||||||
|
{ "label": "Backspace", "x": 13, "y": 0, "w": 2 },
|
||||||
|
{ "label": "Encode", "x": 15.5, "y": 0 },
|
||||||
|
|
||||||
|
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "[", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "]", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "\\", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ";", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "'", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "PageUp", "x": 15, "y": 2 },
|
||||||
|
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": ",", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ".", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "/", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||||
|
{ "label": "\u2191", "x": 14, "y": 3 },
|
||||||
|
{ "label": "End", "x": 15, "y": 3 },
|
||||||
|
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 6.25 },
|
||||||
|
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Fn", "x": 11.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "\u2190", "x": 13, "y": 4 },
|
||||||
|
{ "label": "\u2193", "x": 14, "y": 4 },
|
||||||
|
{ "label": "\u2192", "x": 15, "y": 4 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_65_ansi_split_bs": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
|
{ "label": "1", "x": 1, "y": 0 },
|
||||||
|
{ "label": "2", "x": 2, "y": 0 },
|
||||||
|
{ "label": "3", "x": 3, "y": 0 },
|
||||||
|
{ "label": "4", "x": 4, "y": 0 },
|
||||||
|
{ "label": "5", "x": 5, "y": 0 },
|
||||||
|
{ "label": "6", "x": 6, "y": 0 },
|
||||||
|
{ "label": "7", "x": 7, "y": 0 },
|
||||||
|
{ "label": "8", "x": 8, "y": 0 },
|
||||||
|
{ "label": "9", "x": 9, "y": 0 },
|
||||||
|
{ "label": "0", "x": 10, "y": 0 },
|
||||||
|
{ "label": "-", "x": 11, "y": 0 },
|
||||||
|
{ "label": "=", "x": 12, "y": 0 },
|
||||||
|
{ "label": "Backspace", "x": 13, "y": 0 },
|
||||||
|
{ "label": "Encode", "x": 15.5, "y": 0 },
|
||||||
|
|
||||||
|
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "[", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "]", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "\\", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ";", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "'", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "Backspace", "x": 14, "y": 0 },
|
||||||
|
{ "label": "PageUp", "x": 15, "y": 2 },
|
||||||
|
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": ",", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ".", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "/", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||||
|
{ "label": "\u2191", "x": 14, "y": 3 },
|
||||||
|
{ "label": "End", "x": 15, "y": 3 },
|
||||||
|
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 6.25 },
|
||||||
|
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Fn", "x": 11.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "\u2190", "x": 13, "y": 4 },
|
||||||
|
{ "label": "\u2193", "x": 14, "y": 4 },
|
||||||
|
{ "label": "\u2192", "x": 15, "y": 4 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_65_ansi_split_lshift": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
|
{ "label": "1", "x": 1, "y": 0 },
|
||||||
|
{ "label": "2", "x": 2, "y": 0 },
|
||||||
|
{ "label": "3", "x": 3, "y": 0 },
|
||||||
|
{ "label": "4", "x": 4, "y": 0 },
|
||||||
|
{ "label": "5", "x": 5, "y": 0 },
|
||||||
|
{ "label": "6", "x": 6, "y": 0 },
|
||||||
|
{ "label": "7", "x": 7, "y": 0 },
|
||||||
|
{ "label": "8", "x": 8, "y": 0 },
|
||||||
|
{ "label": "9", "x": 9, "y": 0 },
|
||||||
|
{ "label": "0", "x": 10, "y": 0 },
|
||||||
|
{ "label": "-", "x": 11, "y": 0 },
|
||||||
|
{ "label": "=", "x": 12, "y": 0 },
|
||||||
|
{ "label": "Backspace", "x": 13, "y": 0, "w": 2 },
|
||||||
|
{ "label": "Encode", "x": 15.5, "y": 0 },
|
||||||
|
|
||||||
|
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "[", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "]", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "\\", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ";", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "'", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "PageUp", "x": 15, "y": 2 },
|
||||||
|
|
||||||
|
{ "label": "Shift1", "x": 0, "y": 3, "w": 1.25 },
|
||||||
|
{ "label": "Shift2", "x": 1.25, "y": 3 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": ",", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ".", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "/", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||||
|
{ "label": "\u2191", "x": 14, "y": 3 },
|
||||||
|
{ "label": "End", "x": 15, "y": 3 },
|
||||||
|
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 6.25 },
|
||||||
|
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Fn", "x": 11.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "\u2190", "x": 13, "y": 4 },
|
||||||
|
{ "label": "\u2193", "x": 14, "y": 4 },
|
||||||
|
{ "label": "\u2192", "x": 15, "y": 4 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_65_split_space": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
|
{ "label": "1", "x": 1, "y": 0 },
|
||||||
|
{ "label": "2", "x": 2, "y": 0 },
|
||||||
|
{ "label": "3", "x": 3, "y": 0 },
|
||||||
|
{ "label": "4", "x": 4, "y": 0 },
|
||||||
|
{ "label": "5", "x": 5, "y": 0 },
|
||||||
|
{ "label": "6", "x": 6, "y": 0 },
|
||||||
|
{ "label": "7", "x": 7, "y": 0 },
|
||||||
|
{ "label": "8", "x": 8, "y": 0 },
|
||||||
|
{ "label": "9", "x": 9, "y": 0 },
|
||||||
|
{ "label": "0", "x": 10, "y": 0 },
|
||||||
|
{ "label": "-", "x": 11, "y": 0 },
|
||||||
|
{ "label": "=", "x": 12, "y": 0 },
|
||||||
|
{ "label": "Backspace", "x": 13, "y": 0, "w": 2 },
|
||||||
|
{ "label": "Encode", "x": 15.5, "y": 0 },
|
||||||
|
|
||||||
|
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "[", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "]", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "\\", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ";", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "'", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "PageUp", "x": 15, "y": 2 },
|
||||||
|
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": ",", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ".", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "/", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||||
|
{ "label": "\u2191", "x": 14, "y": 3 },
|
||||||
|
{ "label": "End", "x": 15, "y": 3 },
|
||||||
|
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 2.25 },
|
||||||
|
{ "x": 6, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 7.25, "y": 4, "w": 2.75 },
|
||||||
|
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Fn", "x": 11.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "\u2190", "x": 13, "y": 4 },
|
||||||
|
{ "label": "\u2193", "x": 14, "y": 4 },
|
||||||
|
{ "label": "\u2192", "x": 15, "y": 4 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
34
keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c
Normal file
34
keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_65_ansi(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_65_ansi(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
};
|
1
keyboards/wuque/serneity65/keymaps/65_ansi/readme.md
Normal file
1
keyboards/wuque/serneity65/keymaps/65_ansi/readme.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# The 65_ansi keymap for serneity65
|
35
keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c
Normal file
35
keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_65_ansi_split_bs(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_BSPC, KC_PGUP,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_65_ansi_split_bs(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
1
keyboards/wuque/serneity65/keymaps/65_split_bs/readme.md
Normal file
1
keyboards/wuque/serneity65/keymaps/65_split_bs/readme.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# The 65_split_bs keymap for serneity65
|
34
keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c
Normal file
34
keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_65_ansi_split_lshift(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||||
|
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_65_ansi_split_lshift(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
};
|
|
@ -0,0 +1 @@
|
||||||
|
# The 65_split_lshift keymap for serneity65
|
34
keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c
Normal file
34
keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_65_split_space(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_65_split_space(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
};
|
|
@ -0,0 +1 @@
|
||||||
|
# The 65_split_space keymap for serneity65
|
34
keyboards/wuque/serneity65/keymaps/default/keymap.c
Normal file
34
keyboards/wuque/serneity65/keymaps/default/keymap.c
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_BSPC, KC_PGUP,
|
||||||
|
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_VOLD, KC_SPC, KC_VOLU, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
_______, _______, _______, KC_MPRV, _______, KC_MNXT, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
};
|
1
keyboards/wuque/serneity65/keymaps/default/readme.md
Normal file
1
keyboards/wuque/serneity65/keymaps/default/readme.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# The default keymap for serneity65
|
48
keyboards/wuque/serneity65/keymaps/via/keymap.c
Normal file
48
keyboards/wuque/serneity65/keymaps/via/keymap.c
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_BSPC, KC_PGUP,
|
||||||
|
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_VOLD, KC_SPC, KC_VOLU, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
_______, _______, _______, KC_MPRV, _______, KC_MNXT, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[2] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[3] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
};
|
1
keyboards/wuque/serneity65/keymaps/via/readme.md
Normal file
1
keyboards/wuque/serneity65/keymaps/via/readme.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# The via keymap for serneity65
|
2
keyboards/wuque/serneity65/keymaps/via/rules.mk
Normal file
2
keyboards/wuque/serneity65/keymaps/via/rules.mk
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
24
keyboards/wuque/serneity65/readme.md
Normal file
24
keyboards/wuque/serneity65/readme.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# serneity65
|
||||||
|
|
||||||
|
More Info at [serneity65](https://shop.wuquestudio.com/)
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [spbgzh](https://github.com/spbgzh)
|
||||||
|
* Hardware Supported: zoom65 Standard
|
||||||
|
* Hardware Availability: [serneity65](https://shop.wuquestudio.com/)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
|
||||||
|
make wuque/serneity65:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make wuque/serneity65:default:flash
|
||||||
|
|
||||||
|
To reset the board into bootloader mode, do one of the following:
|
||||||
|
|
||||||
|
* Tap the Reset switch mounted on the PCB
|
||||||
|
* In the case of the default keymap, use the key combination Fn + End
|
||||||
|
* Hold the Esc key while connecting the USB cable (also erases persistent settings)
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
25
keyboards/wuque/serneity65/rules.mk
Normal file
25
keyboards/wuque/serneity65/rules.mk
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = yes # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
ENCODER_ENABLE = yes # Enable Encoder
|
||||||
|
|
||||||
|
LAYOUT = 65_ansi
|
71
keyboards/wuque/serneity65/serneity65.c
Normal file
71
keyboards/wuque/serneity65/serneity65.c
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* 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 "serneity65.h"
|
||||||
|
|
||||||
|
#ifdef VIA_ENABLE
|
||||||
|
static uint8_t encoder_state[ENCODERS] = {0};
|
||||||
|
static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
|
||||||
|
static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
|
||||||
|
|
||||||
|
void encoder_action_unregister(void)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < ENCODERS; ++index)
|
||||||
|
{
|
||||||
|
if (encoder_state[index])
|
||||||
|
{
|
||||||
|
keyevent_t encoder_event = (keyevent_t){
|
||||||
|
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
|
||||||
|
.pressed = false,
|
||||||
|
.time = (timer_read() | 1)};
|
||||||
|
encoder_state[index] = 0;
|
||||||
|
action_exec(encoder_event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void encoder_action_register(uint8_t index, bool clockwise)
|
||||||
|
{
|
||||||
|
keyevent_t encoder_event = (keyevent_t){
|
||||||
|
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
|
||||||
|
.pressed = true,
|
||||||
|
.time = (timer_read() | 1)};
|
||||||
|
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
|
||||||
|
action_exec(encoder_event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_scan_kb(void)
|
||||||
|
{
|
||||||
|
encoder_action_unregister();
|
||||||
|
matrix_scan_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool encoder_update_kb(uint8_t index, bool clockwise)
|
||||||
|
{
|
||||||
|
encoder_action_register(index, clockwise);
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
|
if (index == 0) { /* First encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_PGDN);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_PGUP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
159
keyboards/wuque/serneity65/serneity65.h
Normal file
159
keyboards/wuque/serneity65/serneity65.h
Normal file
|
@ -0,0 +1,159 @@
|
||||||
|
/* Copyright 2021 wuque
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
|
||||||
|
/* Standard Arrangement
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │2d │ ◯
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||||
|
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┐
|
||||||
|
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2e │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||||
|
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │
|
||||||
|
* ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
|
||||||
|
* │40 │41 │42 │44 │46 │48 │4a │4b │ │4c │4d │4e │
|
||||||
|
* └────┴────┴────┴────────┴────┴──────────┴────┴────┘ └───┴───┴───┘
|
||||||
|
*/
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K43, K44, K45, K46, K48, K4A, K4B, K4C, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, K43, K44, K45, K46, KC_NO, K48, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* LAYOUT_65_ansi
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │ ◯
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┐
|
||||||
|
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2e │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||||
|
* │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │
|
||||||
|
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
|
||||||
|
* │40 │41 │42 │46 │4a │4b │ │4c │4d │4e │
|
||||||
|
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
|
||||||
|
*/
|
||||||
|
#define LAYOUT_65_ansi( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E }, \
|
||||||
|
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* LAYOUT_65_ansi_split_bs
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │2d │ ◯
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||||
|
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┐
|
||||||
|
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2e │
|
||||||
|
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||||
|
* │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │
|
||||||
|
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
|
||||||
|
* │40 │41 │42 │46 │4a │4b │ │4c │4d │4e │
|
||||||
|
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
|
||||||
|
*/
|
||||||
|
#define LAYOUT_65_ansi_split_bs( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
|
||||||
|
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* LAYOUT_65_ansi_split_lshift
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │ ◯
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┐
|
||||||
|
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2e │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||||
|
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │
|
||||||
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
|
||||||
|
* │40 │41 │42 │46 │4a │4b │ │4c │4d │4e │
|
||||||
|
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
|
||||||
|
*/
|
||||||
|
#define LAYOUT_65_ansi_split_lshift( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* LAYOUT_65_split_space
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │ ◯
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┐
|
||||||
|
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2e │
|
||||||
|
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||||
|
* │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │
|
||||||
|
* ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
|
||||||
|
* │40 │41 │42 │44 │46 │48 │4a │4b │ │4c │4d │4e │
|
||||||
|
* └────┴────┴────┴────────┴────┴──────────┴────┴────┘ └───┴───┴───┘
|
||||||
|
*/
|
||||||
|
#define LAYOUT_65_split_space( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K44, K46, K48, K4A, K4B, K4C, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E }, \
|
||||||
|
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
|
||||||
|
}
|
BIN
secrets.tar.enc
BIN
secrets.tar.enc
Binary file not shown.
Loading…
Reference in a new issue