Merge remote-tracking branch 'original/vial'
This commit is contained in:
8
keyboards/dm9records/plaid/keymaps/vial/config.h
Normal file
8
keyboards/dm9records/plaid/keymaps/vial/config.h
Normal file
@@ -0,0 +1,8 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x19, 0x4E, 0xD1, 0x59, 0x72, 0x00, 0x2E, 0x42}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
|
||||
109
keyboards/dm9records/plaid/keymaps/vial/keymap.c
Normal file
109
keyboards/dm9records/plaid/keymaps/vial/keymap.c
Normal file
@@ -0,0 +1,109 @@
|
||||
/* Copyright 2019 Takuya Urakawa (dm9records.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 plaid_layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define LOWER FN_MO13
|
||||
#define RAISE FN_MO23
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | RAlt | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_plaid_grid(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
|
||||
KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_plaid_grid(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_plaid_grid(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* |Reset | | | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | |MusCyc|Aud on|Audoff|AGnorm|AGswap| | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | |Mus on|Musoff| | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_plaid_grid(
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
bool led_update_user(led_t led_state) {
|
||||
writePin(LED_RED, led_state.caps_lock);
|
||||
writePin(LED_GREEN, led_state.scroll_lock);
|
||||
return false;
|
||||
}
|
||||
7
keyboards/dm9records/plaid/keymaps/vial/readme.md
Normal file
7
keyboards/dm9records/plaid/keymaps/vial/readme.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Vial keymap for Plaid
|
||||
|
||||
This layout is based on the default layout, and includes an adjust layer (4),
|
||||
accessible by holding the lower and raise modifiers together.
|
||||
|
||||
RED LED : Caps Lock
|
||||
GREEN LED : Scroll Lock
|
||||
3
keyboards/dm9records/plaid/keymaps/vial/rules.mk
Normal file
3
keyboards/dm9records/plaid/keymaps/vial/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
71
keyboards/dm9records/plaid/keymaps/vial/vial.json
Normal file
71
keyboards/dm9records/plaid/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"name": "Plaid",
|
||||
"vendorId": "0x16C0",
|
||||
"productId": "0x27DB",
|
||||
"lighting": "none",
|
||||
"matrix": { "rows": 4, "cols": 12 },
|
||||
"layouts": {
|
||||
"labels": [["Bottom Row", "Grid", "MIT"]],
|
||||
"keymap": [
|
||||
[
|
||||
"0,0",
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
"0,10",
|
||||
"0,11"
|
||||
],
|
||||
[
|
||||
"1,0",
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
"1,11"
|
||||
],
|
||||
[
|
||||
"2,0",
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11"
|
||||
],
|
||||
[
|
||||
"3,0",
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
{ "c": "#777777" },
|
||||
"3,5\n\n\n0,0",
|
||||
"3,6\n\n\n0,0",
|
||||
{ "c": "#cccccc" },
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11"
|
||||
],
|
||||
[{ "x": 5, "c": "#777777", "w": 2 }, "3,5\n\n\n0,1"]
|
||||
]
|
||||
}
|
||||
}
|
||||
20
keyboards/handwired/prkl30/keymaps/vial/vial.json
Normal file
20
keyboards/handwired/prkl30/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "PRKL30",
|
||||
"vendorId": "0xE0E0",
|
||||
"productId": "0x0030",
|
||||
"lighting": "qmk_rgblight",
|
||||
"matrix": {"rows": 4, "cols": 10},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"Encoder",
|
||||
"Split space"
|
||||
],
|
||||
"keymap": [
|
||||
["0,0\n\n\n0,1\n\n\n\n\n\ne","0,1\n\n\n0,1\n\n\n\n\n\ne",{"d":true},"\n\n\n0,0\n\n\n\n\n\n",{"d":true},"\n\n\n0,0\n\n\n\n\n\n"],
|
||||
[{"y":0.25,"x":2.5},"0,0","0,1","0,2","0,3","0,4","0,5","0,6","0,7","0,8","0,9","3,0","3,1",{"w":1.5},"3,2"],
|
||||
[{"x":2.5},"1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9","3,3","3,4",{"x":0.25,"w":1.25,"h":2,"w2":1.5,"h2":1,"x2":-0.25},"3,5"],
|
||||
[{"x":2.5},"2,0","2,1","2,2","2,3","2,4",{"w":2},"2,5\n\n\n1,0","2,7","2,8","2,9","3,6",{"w":1.25},"3,7"],
|
||||
[{"y":0.25,"x":7.5},"2,5\n\n\n1,1","2,6\n\n\n1,1"]
|
||||
]
|
||||
}
|
||||
}
|
||||
7
keyboards/handwired/steamvan/keymaps/vial/config.h
Normal file
7
keyboards/handwired/steamvan/keymaps/vial/config.h
Normal file
@@ -0,0 +1,7 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x7B, 0x61, 0xAC, 0x64, 0xC9, 0x02, 0x6D, 0x1A}
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
|
||||
60
keyboards/handwired/steamvan/keymaps/vial/keymap.c
Normal file
60
keyboards/handwired/steamvan/keymaps/vial/keymap.c
Normal file
@@ -0,0 +1,60 @@
|
||||
/* Copyright 2019 John M Daly <jmdaly@gmail.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
|
||||
|
||||
// This file is based on the default keymap of the MiniVan.
|
||||
|
||||
enum layer_names {
|
||||
_QW,
|
||||
_L1,
|
||||
_L2,
|
||||
_L3,
|
||||
};
|
||||
|
||||
// Curly braces have their own keys. These are defined to make them not mess up
|
||||
// the grid in layer 2.
|
||||
#define L_CURBR LSFT(KC_LBRC)
|
||||
#define R_CURBR LSFT(KC_RBRC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QW] = LAYOUT_standard( /* QWERTY */
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_L1),
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2),
|
||||
KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, KC_SPC, KC_RALT, KC_ESC, TG(_L3)
|
||||
),
|
||||
|
||||
[_L1] = LAYOUT_standard( /* LAYER 1 */
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______,
|
||||
_______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT,
|
||||
_______, KC_LGUI, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_L2] = LAYOUT_standard( /* LAYER 2 */
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, L_CURBR, R_CURBR, KC_4, KC_5, KC_6, KC_VOLU, KC_ENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_L3] = LAYOUT_standard( /* LAYER 3 */
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______,
|
||||
KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______,
|
||||
KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_F11, KC_F12, _______,
|
||||
_______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
|
||||
)
|
||||
};
|
||||
2
keyboards/handwired/steamvan/keymaps/vial/readme.md
Normal file
2
keyboards/handwired/steamvan/keymaps/vial/readme.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# SteamVan rev1 Vial
|
||||
Based on the default SteamVan layout
|
||||
153
keyboards/handwired/steamvan/keymaps/vial/vial.json
Normal file
153
keyboards/handwired/steamvan/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,153 @@
|
||||
{
|
||||
"name": "SteamVan",
|
||||
"vendorId": "0xFEED",
|
||||
"productId": "0x0001",
|
||||
"lighting": "qmk_rgblight",
|
||||
"matrix": {
|
||||
"rows": 4,
|
||||
"cols": 12
|
||||
},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"Arrows",
|
||||
"Command"
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
"0,10",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"0,11"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"1,11"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10\n\n\n0,0",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"2,11"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"3,0\n\n\n1,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"3,1\n\n\n1,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"3,3\n\n\n1,0",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"3,4",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"3,6",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"3,8\n\n\n0,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"3,9\n\n\n0,0",
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"3,11\n\n\n0,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 10.75,
|
||||
"c": "#777777"
|
||||
},
|
||||
"2,10\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"3,0\n\n\n1,1",
|
||||
"3,1\n\n\n1,1",
|
||||
"3,2\n\n\n1,1",
|
||||
"3,3\n\n\n1,1",
|
||||
{
|
||||
"x": 4.25,
|
||||
"w": 1.5
|
||||
},
|
||||
"3,8\n\n\n0,1",
|
||||
{
|
||||
"c": "#777777"
|
||||
},
|
||||
"3,9\n\n\n0,1",
|
||||
"3,10\n\n\n0,1",
|
||||
"3,11\n\n\n0,1"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
32
keyboards/keebio/bfo9000/keymaps/vial/config.h
Normal file
32
keyboards/keebio/bfo9000/keymaps/vial/config.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
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
|
||||
#define VIAL_KEYBOARD_UID {0xCA, 0x43, 0x6E, 0xF3, 0x4D, 0x91, 0x78, 0x1F}
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 5 }
|
||||
|
||||
|
||||
//#define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 2
|
||||
15
keyboards/keebio/bfo9000/keymaps/vial/keymap.c
Normal file
15
keyboards/keebio/bfo9000/keymaps/vial/keymap.c
Normal file
@@ -0,0 +1,15 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _BASE 0
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_BASE] = LAYOUT(
|
||||
KC_ESC, KC_VOLU, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
KC_HOME, KC_VOLD, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_END, KC_TAB, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_PGUP, KC_CAPS, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
|
||||
KC_PGDN, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, XXXXXXX,
|
||||
KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
||||
5
keyboards/keebio/bfo9000/keymaps/vial/rules.mk
Normal file
5
keyboards/keebio/bfo9000/keymaps/vial/rules.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
COMMAND_ENABLE = no
|
||||
KEY_OVERRIDE_ENABLE = no
|
||||
152
keyboards/keebio/bfo9000/keymaps/vial/vial.json
Normal file
152
keyboards/keebio/bfo9000/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"name": "Keeb.io BFO-9000",
|
||||
"vendorId": "0xCB10",
|
||||
"productId": "0x1169",
|
||||
"lighting": "qmk_rgblight",
|
||||
"matrix": {
|
||||
"rows": 12,
|
||||
"cols": 9
|
||||
},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[
|
||||
"0,0",
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"6,0",
|
||||
"6,1",
|
||||
"6,2",
|
||||
"6,3",
|
||||
"6,4",
|
||||
"6,5",
|
||||
"6,6",
|
||||
"6,7",
|
||||
"6,8"
|
||||
],
|
||||
[
|
||||
"1,0",
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"7,0",
|
||||
"7,1",
|
||||
"7,2",
|
||||
"7,3",
|
||||
"7,4",
|
||||
"7,5",
|
||||
"7,6",
|
||||
"7,7",
|
||||
"7,8"
|
||||
],
|
||||
[
|
||||
"2,0",
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"8,0",
|
||||
"8,1",
|
||||
"8,2",
|
||||
"8,3",
|
||||
"8,4",
|
||||
"8,5",
|
||||
"8,6",
|
||||
"8,7",
|
||||
"8,8"
|
||||
],
|
||||
[
|
||||
"3,0",
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"9,0",
|
||||
"9,1",
|
||||
"9,2",
|
||||
"9,3",
|
||||
"9,4",
|
||||
"9,5",
|
||||
"9,6",
|
||||
"9,7",
|
||||
"9,8"
|
||||
],
|
||||
[
|
||||
"4,0",
|
||||
"4,1",
|
||||
"4,2",
|
||||
"4,3",
|
||||
"4,4",
|
||||
"4,5",
|
||||
"4,6",
|
||||
"4,7",
|
||||
"4,8",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"10,0",
|
||||
"10,1",
|
||||
"10,2",
|
||||
"10,3",
|
||||
"10,4",
|
||||
"10,5",
|
||||
"10,6",
|
||||
"10,7",
|
||||
"10,8"
|
||||
],
|
||||
[
|
||||
"5,0",
|
||||
"5,1",
|
||||
"5,2",
|
||||
"5,3",
|
||||
"5,4",
|
||||
"5,5",
|
||||
"5,6",
|
||||
"5,7",
|
||||
"5,8",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"11,0",
|
||||
"11,1",
|
||||
"11,2",
|
||||
"11,3",
|
||||
"11,4",
|
||||
"11,5",
|
||||
"11,6",
|
||||
"11,7",
|
||||
"11,8"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -16,32 +16,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 4
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
|
||||
#define MATRIX_COL_PINS { A5, A6, A7, B0 }
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* RGB Matrix Driver Configuration */
|
||||
#define DRIVER_COUNT 1
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
|
||||
#define CKLED2001_CURRENT_TUNE \
|
||||
{ 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 }
|
||||
|
||||
#define RGB_MATRIX_CENTER \
|
||||
{ 56, 16 }
|
||||
|
||||
/* NKRO */
|
||||
#define FORCE_NKRO
|
||||
#define CKLED2001_CURRENT_TUNE { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 }
|
||||
|
||||
/* turn off effects when suspended */
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
@@ -49,53 +24,3 @@
|
||||
/* EEPROM Driver Configuration */
|
||||
#define WEAR_LEVELING_LOGICAL_SIZE 2048
|
||||
#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
|
||||
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||
// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
#define ENABLE_RGB_MATRIX_BREATHING
|
||||
// #define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
// #define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
#define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
#define ENABLE_RGB_MATRIX_RAINDROPS
|
||||
// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
// #define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
// #define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||
// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||
// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
#define ENABLE_RGB_MATRIX_SPLASH
|
||||
#define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
// #define RGB_MATRIX_KEYPRESSES
|
||||
@@ -14,7 +14,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "q0.h"
|
||||
#include "quantum.h"
|
||||
|
||||
#if defined(RGB_MATRIX_ENABLE) && defined(NUM_LOCK_LED_INDEX)
|
||||
|
||||
@@ -42,9 +42,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||
// RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
|
||||
|
||||
void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
|
||||
if (host_keyboard_led_state().num_lock) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 255, 255, 255);
|
||||
} else {
|
||||
|
||||
@@ -8,11 +8,11 @@ A customizable number keypad.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make keychron/q0/rev_0130:default
|
||||
make keychron/q0/rev_0131:vial (Keychron Q0 Plus)
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make keychron/q0/rev_0130:default:flash
|
||||
make keychron/q0/rev_0131:vial:flash (Keychron Q0 Plus)
|
||||
|
||||
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/* RGB Matrix Driver Configuration */
|
||||
#define DRIVER_COUNT 1
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_1_LED_TOTAL 21
|
||||
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
|
||||
|
||||
@@ -6,37 +6,116 @@
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x0130",
|
||||
"device_version": "1.0.2"
|
||||
"device_version": "1.0.2",
|
||||
"force_nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A5", "A6", "A7", "B0"],
|
||||
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
|
||||
},
|
||||
"features": {
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true,
|
||||
"rgblight": false
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"bootmagic": {
|
||||
"matrix": [0, 1]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"bootloader": "stm32-dfu",
|
||||
"rgb_matrix": {
|
||||
"driver": "CKLED2001",
|
||||
"animations": {
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"jellybean_raindrops": true,
|
||||
"pixel_rain": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"solid_splash": true,
|
||||
"keypresses": true,
|
||||
"framebuffer_effects": true
|
||||
},
|
||||
"center_point": [56, 16],
|
||||
"layout": [
|
||||
{"flags": 1,"matrix":[0,0], "x":0, "y":0},
|
||||
{"flags": 1,"matrix":[0,1], "x":1, "y":0},
|
||||
{"flags": 1,"matrix":[0,2], "x":2, "y":0},
|
||||
{"flags": 1,"matrix":[0,3], "x":3, "y":0},
|
||||
|
||||
{"flags": 9,"matrix":[1,0], "x":0, "y":6},
|
||||
{"flags": 4,"matrix":[1,1], "x":1, "y":6},
|
||||
{"flags": 4,"matrix":[1,2], "x":2, "y":6},
|
||||
{"flags": 4,"matrix":[1,3], "x":3, "y":6},
|
||||
|
||||
{"flags": 4,"matrix":[2,0], "x":0, "y":13},
|
||||
{"flags": 4,"matrix":[2,1], "x":1, "y":13},
|
||||
{"flags": 4,"matrix":[2,2], "x":2, "y":13},
|
||||
|
||||
{"flags": 4,"matrix":[3,0], "x":0, "y":19},
|
||||
{"flags": 4,"matrix":[3,1], "x":1, "y":19},
|
||||
{"flags": 4,"matrix":[3,2], "x":2, "y":19},
|
||||
{"flags": 4,"matrix":[2,3], "x":3, "y":16},
|
||||
|
||||
{"flags": 4,"matrix":[4,0], "x":0, "y":25},
|
||||
{"flags": 4,"matrix":[4,1], "x":1, "y":25},
|
||||
{"flags": 4,"matrix":[4,2], "x":2, "y":25},
|
||||
|
||||
{"flags": 4,"matrix":[5,0], "x":0, "y":32},
|
||||
{"flags": 4,"matrix":[5,2], "x":2, "y":32},
|
||||
{"flags": 1,"matrix":[4,3], "x":3, "y":29}
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_numpad_6x4": {
|
||||
"layout": [
|
||||
{"label":"Fn", "x":0, "y":0},
|
||||
{"label":"Esc", "x":1, "y":0},
|
||||
{"label":"Backspace", "x":2, "y":0},
|
||||
{"label":"Tab", "x":3, "y":0},
|
||||
{"matrix":[0,0], "x":0, "y":0},
|
||||
{"matrix":[0,1], "x":1, "y":0},
|
||||
{"matrix":[0,2], "x":2, "y":0},
|
||||
{"matrix":[0,3], "x":3, "y":0},
|
||||
|
||||
{"label":"Num Lock", "x":0, "y":1},
|
||||
{"label":"/", "x":1, "y":1},
|
||||
{"label":"*", "x":2, "y":1},
|
||||
{"label":"-", "x":3, "y":1},
|
||||
{"matrix":[1,0], "x":0, "y":1},
|
||||
{"matrix":[1,1], "x":1, "y":1},
|
||||
{"matrix":[1,2], "x":2, "y":1},
|
||||
{"matrix":[1,3], "x":3, "y":1},
|
||||
|
||||
{"label":"7", "x":0, "y":2},
|
||||
{"label":"8", "x":1, "y":2},
|
||||
{"label":"9", "x":2, "y":2},
|
||||
{"matrix":[2,0], "x":0, "y":2},
|
||||
{"matrix":[2,1], "x":1, "y":2},
|
||||
{"matrix":[2,2], "x":2, "y":2},
|
||||
|
||||
{"label":"4", "x":0, "y":3},
|
||||
{"label":"5", "x":1, "y":3},
|
||||
{"label":"6", "x":2, "y":3},
|
||||
{"label":"+", "x":3, "y":2, "h":2},
|
||||
{"matrix":[3,0], "x":0, "y":3},
|
||||
{"matrix":[3,1], "x":1, "y":3},
|
||||
{"matrix":[3,2], "x":2, "y":3},
|
||||
{"matrix":[2,3], "x":3, "y":2, "h":2},
|
||||
|
||||
{"label":"1", "x":0, "y":4},
|
||||
{"label":"2", "x":1, "y":4},
|
||||
{"label":"3", "x":2, "y":4},
|
||||
{"matrix":[4,0], "x":0, "y":4},
|
||||
{"matrix":[4,1], "x":1, "y":4},
|
||||
{"matrix":[4,2], "x":2, "y":4},
|
||||
|
||||
{"label":"0", "x":0, "y":5, "w":2},
|
||||
{"label":".", "x":2, "y":5},
|
||||
{"label":"Enter", "x":3, "y":4, "h":2}
|
||||
{"matrix":[5,0], "x":0, "y":5, "w":2},
|
||||
{"matrix":[5,2], "x":2, "y":5},
|
||||
{"matrix":[4,3], "x":3, "y":4, "h":2}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ enum layers { _BASE, _FN1};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_numpad_6x4(
|
||||
MO(_FN1), KC_ESC, KC_BSPACE, KC_TAB,
|
||||
KC_NUMLOCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
MO(_FN1), KC_ESC, KC_BSPC, KC_TAB,
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
|
||||
65
keyboards/keychron/q0/rev_0130/keymaps/keychron/keymap.c
Normal file
65
keyboards/keychron/q0/rev_0130/keymaps/keychron/keymap.c
Normal file
@@ -0,0 +1,65 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keychron_common.h"
|
||||
|
||||
enum layers { _BASE, _FN1, _RESERVED1, _RESERVED2 };
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_numpad_6x4(
|
||||
MO(_FN1), KC_ESC, KC_BSPC, KC_TAB,
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
[_FN1] = LAYOUT_numpad_6x4(
|
||||
_______, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
|
||||
RGB_RMOD, RGB_VAD, RGB_HUD,
|
||||
RGB_SAI, RGB_SPI, KC_MPRV, _______,
|
||||
RGB_SAD, RGB_SPD, KC_MPLY,
|
||||
RGB_TOG, KC_MNXT, _______),
|
||||
|
||||
[_RESERVED1] = LAYOUT_numpad_6x4(
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______),
|
||||
|
||||
[_RESERVED2] = LAYOUT_numpad_6x4(
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______)
|
||||
};
|
||||
|
||||
void housekeeping_task_user(void) {
|
||||
housekeeping_task_keychron();
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_keychron(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
4
keyboards/keychron/q0/rev_0130/keymaps/keychron/rules.mk
Normal file
4
keyboards/keychron/q0/rev_0130/keymaps/keychron/rules.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
VPATH += keyboards/keychron/common
|
||||
SRC += keychron_common.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xCD, 0xB9, 0xD4, 0xC9, 0x53, 0x9A, 0x68, 0xC3}
|
||||
#define VIAL_KEYBOARD_UID {0xCB, 0x44, 0x98, 0x8F, 0x71, 0xAE, 0x25, 0x99}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 3 }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2022 @ Keychron (https://www.keychron.com)
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -15,13 +15,14 @@
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keychron_common.h"
|
||||
|
||||
enum layers { _BASE, _FN1, _RESERVED1, _RESERVED2 };
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_numpad_6x4(
|
||||
MO(_FN1), KC_ESC, KC_BSPACE, KC_TAB,
|
||||
KC_NUMLOCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
MO(_FN1), KC_ESC, KC_BSPC, KC_TAB,
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
@@ -51,3 +52,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______,
|
||||
_______, _______, _______)
|
||||
};
|
||||
|
||||
void housekeeping_task_user(void) {
|
||||
housekeeping_task_keychron();
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_keychron(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
|
||||
VPATH += keyboards/keychron/common
|
||||
SRC += keychron_common.c
|
||||
|
||||
@@ -54,37 +54,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
|
||||
{0, L_1, J_1, K_1}, // 19
|
||||
{0, C_2, A_2, B_2}, // 20
|
||||
};
|
||||
|
||||
#define __ NO_LED
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
// Key Matrix to LED Index
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 4, 5, 6, 7 },
|
||||
{ 8, 9, 10, 14 },
|
||||
{ 11, 12, 13, __ },
|
||||
{ 15, 16, 17, 20 },
|
||||
{ 18, __, 19, __ }
|
||||
},
|
||||
{
|
||||
// LED Index to Physical Position
|
||||
{0,0}, {37,0}, {75,0}, {112,0},
|
||||
{0,6}, {37,6}, {75,6}, {112,6},
|
||||
{0,13}, {37,13}, {75,13},
|
||||
{0,19}, {37,19}, {75,19}, {112,16},
|
||||
{0,25}, {37,25}, {75,25},
|
||||
{18,32}, {75,32}, {112,29},
|
||||
},
|
||||
{
|
||||
// LED Index to Flag
|
||||
1, 1, 1, 1,
|
||||
9, 4, 4, 4,
|
||||
4, 4, 4,
|
||||
4, 4, 4, 4,
|
||||
4, 4, 4,
|
||||
4, 4, 1
|
||||
}
|
||||
};
|
||||
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
|
||||
@@ -1,25 +1,3 @@
|
||||
# MCU name
|
||||
MCU = STM32L432
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable.
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable USB N-key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
DIP_SWITCH_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = CKLED2001
|
||||
LTO_ENABLE = yes
|
||||
EEPROM_DRIVER = wear_leveling
|
||||
WEAR_LEVELING_DRIVER = embedded_flash
|
||||
|
||||
|
||||
34
keyboards/keychron/q0/rev_0131/config.h
Normal file
34
keyboards/keychron/q0/rev_0131/config.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* RGB Matrix Driver Configuration */
|
||||
#define DRIVER_COUNT 1
|
||||
#define DRIVER_ADDR_1 0b1110111
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_1_LED_TOTAL 26
|
||||
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
|
||||
|
||||
/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */
|
||||
#define PHASE_CHANNEL MSKPHASE_9CHANNEL
|
||||
|
||||
/* Enable num-lock LED */
|
||||
#define NUM_LOCK_LED_INDEX 5
|
||||
|
||||
/* Encoder Configuration */
|
||||
#define ENCODER_DEFAULT_POS 0x3
|
||||
138
keyboards/keychron/q0/rev_0131/info.json
Normal file
138
keyboards/keychron/q0/rev_0131/info.json
Normal file
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"keyboard_name": "Keychron Q0 Plus",
|
||||
"manufacturer": "Keychron",
|
||||
"url": "https://github.com/Keychron",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x0131",
|
||||
"device_version": "1.0.0",
|
||||
"force_nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["C14", "C15", "A0", "A1", "A2"],
|
||||
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
|
||||
},
|
||||
"features": {
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true,
|
||||
"rgblight": false
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "A3", "pin_b": "A4"}
|
||||
]
|
||||
},
|
||||
"bootmagic": {
|
||||
"matrix": [0, 1]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"bootloader": "stm32-dfu",
|
||||
"rgb_matrix": {
|
||||
"driver": "CKLED2001",
|
||||
"animations": {
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"jellybean_raindrops": true,
|
||||
"pixel_rain": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"solid_splash": true,
|
||||
"keypresses": true,
|
||||
"framebuffer_effects": true
|
||||
},
|
||||
"layout": [
|
||||
{"flags": 1, "matrix":[0,1], "x":1.25, "y":0},
|
||||
{"flags": 1, "matrix":[0,2], "x":2.25, "y":0},
|
||||
{"flags": 1, "matrix":[0,3], "x":3.25, "y":0},
|
||||
{"flags": 1, "matrix":[0,4], "x":4.25, "y":0},
|
||||
|
||||
{"flags": 4, "matrix":[1,0], "x":0, "y":1.25},
|
||||
{"flags": 8, "matrix":[1,1], "x":1.25, "y":1.25},
|
||||
{"flags": 4, "matrix":[1,2], "x":2.25, "y":1.25},
|
||||
{"flags": 4, "matrix":[1,3], "x":3.25, "y":1.25},
|
||||
{"flags": 4, "matrix":[1,4], "x":4.25, "y":1.25},
|
||||
|
||||
{"flags": 4, "matrix":[2,0], "x":0, "y":2.25},
|
||||
{"flags": 4, "matrix":[2,1], "x":1.25, "y":2.25},
|
||||
{"flags": 4, "matrix":[2,2], "x":2.25, "y":2.25},
|
||||
{"flags": 4, "matrix":[2,3], "x":3.25, "y":2.25},
|
||||
{"flags": 4, "matrix":[2,4], "x":4.25, "y":2.25},
|
||||
|
||||
{"flags": 4, "matrix":[3,0], "x":0, "y":3.25},
|
||||
{"flags": 4, "matrix":[3,1], "x":1.25, "y":3.25},
|
||||
{"flags": 4, "matrix":[3,2], "x":2.25, "y":3.25},
|
||||
{"flags": 4, "matrix":[3,3], "x":3.25, "y":3.25},
|
||||
|
||||
{"flags": 4, "matrix":[4,0], "x":0, "y":4.25},
|
||||
{"flags": 4, "matrix":[4,1], "x":1.25, "y":4.25},
|
||||
{"flags": 4, "matrix":[4,2], "x":2.25, "y":4.25},
|
||||
{"flags": 4, "matrix":[4,3], "x":3.25, "y":4.25},
|
||||
{"flags": 4, "matrix":[4,4], "x":4.25, "y":4.25},
|
||||
|
||||
{"flags": 4, "matrix":[5,0], "x":0, "y":5.25},
|
||||
{"flags": 4, "matrix":[5,1], "x":1.25, "y":5.25},
|
||||
{"flags": 1, "matrix":[5,3], "x":3.25, "y":5.25}
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_numpad_6x5": {
|
||||
"layout": [
|
||||
{"matrix":[0,0], "x":0, "y":0},
|
||||
{"matrix":[0,1], "x":1.25, "y":0},
|
||||
{"matrix":[0,2], "x":2.25, "y":0},
|
||||
{"matrix":[0,3], "x":3.25, "y":0},
|
||||
{"matrix":[0,4], "x":4.25, "y":0},
|
||||
|
||||
{"matrix":[1,0], "x":0, "y":1.25},
|
||||
{"matrix":[1,1], "x":1.25, "y":1.25},
|
||||
{"matrix":[1,2], "x":2.25, "y":1.25},
|
||||
{"matrix":[1,3], "x":3.25, "y":1.25},
|
||||
{"matrix":[1,4], "x":4.25, "y":1.25},
|
||||
|
||||
{"matrix":[2,0], "x":0, "y":2.25},
|
||||
{"matrix":[2,1], "x":1.25, "y":2.25},
|
||||
{"matrix":[2,2], "x":2.25, "y":2.25},
|
||||
{"matrix":[2,3], "x":3.25, "y":2.25},
|
||||
{"matrix":[2,4], "x":4.25, "y":2.25, "h":2},
|
||||
|
||||
{"matrix":[3,0], "x":0, "y":3.25},
|
||||
{"matrix":[3,1], "x":1.25, "y":3.25},
|
||||
{"matrix":[3,2], "x":2.25, "y":3.25},
|
||||
{"matrix":[3,3], "x":3.25, "y":3.25},
|
||||
|
||||
{"matrix":[4,0], "x":0, "y":4.25},
|
||||
{"matrix":[4,1], "x":1.25, "y":4.25},
|
||||
{"matrix":[4,2], "x":2.25, "y":4.25},
|
||||
{"matrix":[4,3], "x":3.25, "y":4.25},
|
||||
{"matrix":[4,4], "x":4.25, "y":4.25, "h":2},
|
||||
|
||||
{"matrix":[5,0], "x":0, "y":5.25},
|
||||
{"matrix":[5,1], "x":1.25, "y":5.25, "w":2},
|
||||
{"matrix":[5,3], "x":3.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
49
keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c
Normal file
49
keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,49 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
|
||||
enum layers {
|
||||
BASE,
|
||||
FUNC
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_numpad_6x5(
|
||||
KC_MUTE, MO(FUNC), KC_ESC, KC_BSPC, KC_TAB,
|
||||
_______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
_______, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
_______, KC_P4, KC_P5, KC_P6,
|
||||
_______, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
_______, KC_P0, KC_PDOT),
|
||||
|
||||
[FUNC] = LAYOUT_numpad_6x5(
|
||||
RGB_TOG, _______, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
_______, RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
|
||||
_______, RGB_RMOD, RGB_VAD, RGB_HUD, _______,
|
||||
_______, RGB_SAI, RGB_SPI, KC_MPRV,
|
||||
_______, RGB_SAD, RGB_SPD, KC_MPLY, _______,
|
||||
_______, RGB_TOG, KC_MNXT),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
|
||||
};
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
1
keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk
Normal file
1
keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
83
keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c
Normal file
83
keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c
Normal file
@@ -0,0 +1,83 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keychron_common.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
enum layers {
|
||||
BASE,
|
||||
FUNC,
|
||||
L2,
|
||||
L3
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_numpad_6x5(
|
||||
KC_MUTE, MO(FUNC), KC_ESC, KC_BSPC, KC_TAB,
|
||||
MACRO01, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
MACRO02, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
MACRO03, KC_P4, KC_P5, KC_P6,
|
||||
MACRO04, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
MACRO05, KC_P0, KC_PDOT),
|
||||
|
||||
[FUNC] = LAYOUT_numpad_6x5(
|
||||
RGB_TOG, _______, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
MACRO01, RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
|
||||
MACRO02, RGB_RMOD, RGB_VAD, RGB_HUD, _______,
|
||||
MACRO03, RGB_SAI, RGB_SPI, KC_MPRV,
|
||||
MACRO04, RGB_SAD, RGB_SPD, KC_MPLY, _______,
|
||||
MACRO05, RGB_TOG, KC_MNXT),
|
||||
|
||||
[L2] = LAYOUT_numpad_6x5(
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______),
|
||||
|
||||
[L3] = LAYOUT_numpad_6x5(
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
|
||||
[L2] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[L3] = { ENCODER_CCW_CW(_______, _______) }
|
||||
};
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
|
||||
// clang-format on
|
||||
|
||||
void housekeeping_task_user(void) {
|
||||
housekeeping_task_keychron();
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_keychron(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
2
keyboards/keychron/q0/rev_0131/keymaps/keychron/rules.mk
Normal file
2
keyboards/keychron/q0/rev_0131/keymaps/keychron/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VPATH += keyboards/keychron/common
|
||||
SRC += keychron_common.c
|
||||
8
keyboards/keychron/q0/rev_0131/keymaps/vial/config.h
Normal file
8
keyboards/keychron/q0/rev_0131/keymaps/vial/config.h
Normal file
@@ -0,0 +1,8 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xD2, 0xD3, 0x91, 0xAE, 0xA4, 0x06, 0x6C, 0x30}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 1, 4 }
|
||||
83
keyboards/keychron/q0/rev_0131/keymaps/vial/keymap.c
Normal file
83
keyboards/keychron/q0/rev_0131/keymaps/vial/keymap.c
Normal file
@@ -0,0 +1,83 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keychron_common.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
enum layers {
|
||||
BASE,
|
||||
FUNC,
|
||||
L2,
|
||||
L3
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_numpad_6x5(
|
||||
KC_MUTE, MO(FUNC), KC_ESC, KC_BSPC, KC_TAB,
|
||||
MACRO01, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
MACRO02, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
MACRO03, KC_P4, KC_P5, KC_P6,
|
||||
MACRO04, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
MACRO05, KC_P0, KC_PDOT),
|
||||
|
||||
[FUNC] = LAYOUT_numpad_6x5(
|
||||
RGB_TOG, _______, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
MACRO01, RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
|
||||
MACRO02, RGB_RMOD, RGB_VAD, RGB_HUD, _______,
|
||||
MACRO03, RGB_SAI, RGB_SPI, KC_MPRV,
|
||||
MACRO04, RGB_SAD, RGB_SPD, KC_MPLY, _______,
|
||||
MACRO05, RGB_TOG, KC_MNXT),
|
||||
|
||||
[L2] = LAYOUT_numpad_6x5(
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______),
|
||||
|
||||
[L3] = LAYOUT_numpad_6x5(
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
|
||||
[L2] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[L3] = { ENCODER_CCW_CW(_______, _______) }
|
||||
};
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
|
||||
// clang-format on
|
||||
|
||||
void housekeeping_task_user(void) {
|
||||
housekeeping_task_keychron();
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_keychron(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
7
keyboards/keychron/q0/rev_0131/keymaps/vial/rules.mk
Normal file
7
keyboards/keychron/q0/rev_0131/keymaps/vial/rules.mk
Normal file
@@ -0,0 +1,7 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
VPATH += keyboards/keychron/common
|
||||
SRC += keychron_common.c
|
||||
157
keyboards/keychron/q0/rev_0131/keymaps/vial/vial.json
Normal file
157
keyboards/keychron/q0/rev_0131/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,157 @@
|
||||
{
|
||||
"name": "Keychron Q0 Plus",
|
||||
"vendorId": "0x3434",
|
||||
"productId": "0x0131",
|
||||
"lighting": "vialrgb",
|
||||
"customKeycodes": [
|
||||
{
|
||||
"name": "Mission Control",
|
||||
"title": "Mission Control in macOS",
|
||||
"shortName": "MCtrl"
|
||||
},
|
||||
{
|
||||
"name": "Launch Pad",
|
||||
"title": "Launch Pad in macOS",
|
||||
"shortName": "LPad"
|
||||
},
|
||||
{
|
||||
"name": "Left Option",
|
||||
"title": "Left Option in macOS",
|
||||
"shortName": "LOpt"
|
||||
},
|
||||
{
|
||||
"name": "Right Option",
|
||||
"title": "Right Option in macOS",
|
||||
"shortName": "ROpt"
|
||||
},
|
||||
{
|
||||
"name": "Left Cmd",
|
||||
"title": "Left Command in macOS",
|
||||
"shortName": "LCmd"
|
||||
},
|
||||
{
|
||||
"name": "Right Cmd",
|
||||
"title": "Right Command in macOS",
|
||||
"shortName": "RCmd"
|
||||
},
|
||||
{
|
||||
"name": "Siri",
|
||||
"title": "Siri in macOS",
|
||||
"shortName": "Siri"
|
||||
},
|
||||
{
|
||||
"name": "Task View",
|
||||
"title": "Task View in windows",
|
||||
"shortName": "Task"
|
||||
},
|
||||
{
|
||||
"name": "File Explorer",
|
||||
"title": "File Explorer in windows",
|
||||
"shortName": "File"
|
||||
},
|
||||
{
|
||||
"name": "Screen Shot",
|
||||
"title": "Screenshot in macOS",
|
||||
"shortName": "SShot"
|
||||
},
|
||||
{
|
||||
"name": "Cortana",
|
||||
"title": "Cortana in windows",
|
||||
"shortName": "Cortana"
|
||||
}
|
||||
],
|
||||
"matrix": {"rows": 6, "cols": 5},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[
|
||||
"0,0\n\n\n\n\n\n\n\n\ne",
|
||||
"0,1\n\n\n\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 0.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"2,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"3,0",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"4,0",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"4,1",
|
||||
"4,2",
|
||||
"4,3",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"4,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"5,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 2
|
||||
},
|
||||
"5,1",
|
||||
"5,3"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
6
keyboards/keychron/q0/rev_0131/readme.md
Normal file
6
keyboards/keychron/q0/rev_0131/readme.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# The enhanced version with encoder of the Keychron Q0
|
||||
|
||||
- The name of this keyboard is "Q0 Plus"
|
||||
- Enable EC11 rotary encoder
|
||||
- Turn clockwise to increase volume and turn anti-clockwise to decrease volume
|
||||
- Press the knob button to mute
|
||||
62
keyboards/keychron/q0/rev_0131/rev_0131.c
Normal file
62
keyboards/keychron/q0/rev_0131/rev_0131.c
Normal file
@@ -0,0 +1,62 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
// clang-format off
|
||||
|
||||
const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
|
||||
/* Refer to CKLED manual for these locations
|
||||
* driver
|
||||
* | R location
|
||||
* | | G location
|
||||
* | | | B location
|
||||
* | | | | */
|
||||
{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, C_1, A_1, B_1},
|
||||
{0, C_2, A_2, B_2},
|
||||
{0, C_3, A_3, B_3},
|
||||
{0, C_4, A_4, B_4},
|
||||
{0, C_5, A_5, B_5},
|
||||
|
||||
{0, 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, 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, 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, F_6, D_6, E_6},
|
||||
{0, F_7, D_7, E_7},
|
||||
{0, F_9, D_9, E_9},
|
||||
};
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
5
keyboards/keychron/q0/rev_0131/rules.mk
Normal file
5
keyboards/keychron/q0/rev_0131/rules.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
EEPROM_DRIVER = wear_leveling
|
||||
WEAR_LEVELING_DRIVER = embedded_flash
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
244
keyboards/keychron/q11/ansi_encoder/ansi_encoder.c
Executable file
244
keyboards/keychron/q11/ansi_encoder/ansi_encoder.c
Executable file
@@ -0,0 +1,244 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
// clang-format off
|
||||
|
||||
const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
|
||||
/* Refer to IS31 manual for these locations
|
||||
* driver
|
||||
* | R location
|
||||
* | | G location
|
||||
* | | | B location
|
||||
* | | | | */
|
||||
{0, A_2, C_2, B_2}, // ESC
|
||||
{0, A_3, C_3, B_3}, // F1
|
||||
{0, A_4, C_4, B_4}, // F2
|
||||
{0, A_5, C_5, B_5}, // F3
|
||||
{0, A_6, C_6, B_6}, // F4
|
||||
{0, A_7, C_7, B_7}, // F5
|
||||
{0, A_8, C_8, B_8}, // F6
|
||||
|
||||
{0, D_1, F_1, E_1}, // M1
|
||||
{0, D_2, F_2, E_2}, // `~
|
||||
{0, D_3, F_3, E_3}, // 1!
|
||||
{0, D_4, F_4, E_4}, // 2@
|
||||
{0, D_5, F_5, E_5}, // 3#
|
||||
{0, D_6, F_6, E_6}, // 4$
|
||||
{0, D_7, F_7, E_7}, // 5%
|
||||
{0, D_8, F_8, E_8}, // 6^
|
||||
|
||||
{0, G_1, I_1, H_1}, // M2
|
||||
{0, G_2, I_2, H_2}, // TAB
|
||||
{0, G_3, I_3, H_3}, // Q
|
||||
{0, G_4, I_4, H_4}, // W
|
||||
{0, G_5, I_5, H_5}, // E
|
||||
{0, G_6, I_6, H_6}, // R
|
||||
{0, G_7, I_7, H_7}, // T
|
||||
|
||||
{0, J_1, L_1, K_1}, // M3
|
||||
{0, J_2, L_2, K_2}, // CapsJock
|
||||
{0, J_3, L_3, K_3}, // A
|
||||
{0, J_4, L_4, K_4}, // S
|
||||
{0, J_5, L_5, K_5}, // D
|
||||
{0, J_6, L_6, K_6}, // F
|
||||
{0, J_7, L_7, K_7}, // G
|
||||
|
||||
{0, J_9, L_9, K_9}, // M4
|
||||
{0, J_11, L_11, K_11}, // Shift_J
|
||||
{0, J_12, L_12, K_12}, // Z
|
||||
{0, J_13, L_13, K_13}, // X
|
||||
{0, J_14, L_14, K_14}, // C
|
||||
{0, J_15, L_15, K_15}, // V
|
||||
{0, J_16, L_16, K_16}, // B
|
||||
|
||||
{0, G_9, I_9, H_9}, // M5
|
||||
{0, G_10, I_10, H_10}, // Ctrl_L
|
||||
{0, G_11, I_11, H_11}, // WGn_L
|
||||
{0, G_12, I_12, H_12}, // Alt_L
|
||||
{0, G_13, I_13, H_13}, // Fn
|
||||
{0, G_15, I_15, H_15}, // Space
|
||||
|
||||
{0, A_16, C_16, B_16}, // F7
|
||||
{0, A_15, C_15, B_15}, // F8
|
||||
{0, A_14, C_14, B_14}, // F9
|
||||
{0, A_13, C_13, B_13}, // F11
|
||||
{0, A_12, C_12, B_12}, // F11
|
||||
{0, A_11, C_11, B_11}, // F12
|
||||
{0, A_10, C_10, B_10}, // INS
|
||||
{0, A_9, C_9, B_9}, // DEL
|
||||
|
||||
{0, D_16, F_16, E_16}, // 7&
|
||||
{0, D_15, F_15, E_15}, // 8*
|
||||
{0, D_14, F_14, E_14}, // 9(
|
||||
{0, D_13, F_13, E_13}, // 1)
|
||||
{0, D_12, F_12, E_12}, // -_
|
||||
{0, D_11, F_11, E_11}, // =+
|
||||
{0, D_10, F_10, E_10}, // BackSpace
|
||||
{0, D_8, F_8, E_8}, // PgUp
|
||||
|
||||
{0, G_16, I_16, H_16}, // Y
|
||||
{0, G_15, I_15, H_15}, // U
|
||||
{0, G_14, I_14, H_14}, // G
|
||||
{0, G_13, I_13, H_13}, // O
|
||||
{0, G_12, I_12, H_12}, // P
|
||||
{0, G_11, I_11, H_11}, // [
|
||||
{0, G_10, I_10, H_10}, // ]
|
||||
{0, G_9, I_9, H_9}, // \||
|
||||
{0, G_8, I_8, H_8}, // PgDn
|
||||
|
||||
{0, J_16, L_16, K_16}, // H
|
||||
{0, J_15, L_15, K_15}, // J
|
||||
{0, J_14, L_14, K_14}, // KKEY_PRESS_HOME
|
||||
{0, J_13, L_13, K_13}, // J
|
||||
{0, J_12, L_12, K_12}, // ;:
|
||||
{0, J_11, L_11, K_11}, // '"
|
||||
{0, J_9, L_9, K_9}, // Enter
|
||||
{0, J_8, L_8, K_8}, // Home
|
||||
|
||||
{0, J_7, L_7, K_7}, // N
|
||||
{0, J_6, L_6, K_6}, // M
|
||||
{0, J_5, L_5, K_5}, // ,<
|
||||
{0, J_4, L_4, K_4}, // .>
|
||||
{0, J_3, L_3, K_3}, // ?/
|
||||
{0, J_2, L_2, K_2}, // Shift_R
|
||||
{0, J_1, L_1, K_1}, // Up
|
||||
|
||||
{0, G_6, I_6, H_6}, // Space
|
||||
{0, G_5, I_5, H_5}, // Win_R
|
||||
{0, G_4, I_4, H_4}, // Fn
|
||||
{0, G_3, I_3, H_3}, // Ctrl_R
|
||||
{0, G_2, I_2, H_2}, // Left
|
||||
{0, G_1, I_1, H_1}, // Down
|
||||
{0, G_7, I_7, H_7}, // Right
|
||||
};
|
||||
|
||||
#define __ NO_LED
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
// Key Matrix to LED Index
|
||||
{ __, 0, 1, 2, 3, 4, 5, 6, __ },
|
||||
{ 7, 8, 9, 10, 11, 12, 13, 14, __ },
|
||||
{ 15, 16, 17, 18, 19, __, 20, 21, __ },
|
||||
{ 22, 23, 24, 25, 26, 27, 28, __, __ },
|
||||
{ 29, __, 30, 31, 32, 33, 34, 35, __ },
|
||||
{ 36, 37, 38, 39, 40, __, 41, __, __ },
|
||||
{ 42, 43, 44, 45, 46, 47, 48, 49, __ },
|
||||
{ 50, 51, 52, 53, 54, 55, 56, __, 57 },
|
||||
{ 58, 59, 60, 61, 62, 63, 64, 65, 66 },
|
||||
{ 67, 68, 69, 70, 71, 72, __, 73, 74 },
|
||||
{ 75, 76, 77, 78, 79, 80, __, 81, __ },
|
||||
{ __, 82, 83, 84, 85, __, 86, 87, 88 },
|
||||
},
|
||||
{
|
||||
// LED Index to Physical Position
|
||||
{17,0}, {31,0}, {45,0}, {59,0}, {72,0}, {86,0}, {100,0},
|
||||
{0,15}, {17,15}, {31,15}, {45,15}, {59,15}, {72,15}, {86,15}, {100,15},
|
||||
{0,27}, {21,27}, {38,27}, {52,27}, {66,27}, {79,27}, {93,27},
|
||||
{0,40}, {22,40}, {41,40}, {55,40}, {69,40}, {83,40}, {97,40},
|
||||
{0,52}, {26,52}, {48,52}, {61,52}, {76,52}, {90,52}, {102,52},
|
||||
{0,64}, {19,64}, {36,64}, {53,64}, {70,64}, {94,64},
|
||||
{110,0}, {124,0}, {138,0}, {152,0}, {165,0}, {179,0}, {193,0}, {207,0},
|
||||
{110,15}, {124,15}, {138,15}, {152,15}, {165,15}, {179,15}, {200,15}, {224,15},
|
||||
{104,27}, {117,27}, {131,27}, {145,27}, {158,27}, {172,27}, {186,27}, {203,27}, {224,27},
|
||||
{107,40}, {121,40}, {134,40}, {148,40}, {162,40}, {176,40}, {198,40}, {224,40},
|
||||
{114,52}, {127,52}, {141,52}, {155,52}, {169,52}, {188,52}, {210,52},
|
||||
{126,64}, {152,64}, {166,64}, {180,64}, {196,64}, {210,64}, {224,64},
|
||||
},
|
||||
{
|
||||
// RGB LED Index to Flag
|
||||
1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 4, 4, 4, 4, 4, 4,
|
||||
1, 1, 4, 4, 4, 4, 4,
|
||||
1, 8, 4, 4, 4, 4, 4,
|
||||
1, 1, 4, 4, 4, 4, 4,
|
||||
1, 1, 1, 1, 1, 4,
|
||||
1, 1, 1, 1, 1, 1, 1, 1,
|
||||
4, 4, 4, 4, 4, 4, 1, 1,
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
4, 4, 4, 4, 4, 4, 1, 1,
|
||||
4, 4, 4, 4, 4, 1, 1,
|
||||
4, 1, 1, 1, 1, 1, 1,
|
||||
}
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
#endif
|
||||
|
||||
#define ADC_BUFFER_DEPTH 1
|
||||
#define ADC_NUM_CHANNELS 1
|
||||
#define ADC_SAMPLING_RATE ADC_SMPR_SMP_12P5
|
||||
#define ADC_RESOLUTION ADC_CFGR_RES_10BITS
|
||||
|
||||
static int16_t analogReadPin_my(pin_t pin) {
|
||||
ADCConfig adcCfg = {};
|
||||
adcsample_t sampleBuffer[ADC_NUM_CHANNELS*ADC_BUFFER_DEPTH];
|
||||
ADCDriver* targetDriver = &ADCD1;
|
||||
ADCConversionGroup adcConversionGroup = {
|
||||
.circular = FALSE,
|
||||
.num_channels = (uint16_t)(ADC_NUM_CHANNELS),
|
||||
.cfgr = ADC_RESOLUTION,
|
||||
};
|
||||
|
||||
palSetLineMode(pin, PAL_MODE_INPUT_ANALOG);
|
||||
switch (pin) {
|
||||
case B0:
|
||||
adcConversionGroup.smpr[2] = ADC_SMPR2_SMP_AN15(ADC_SAMPLING_RATE);
|
||||
adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(ADC_CHANNEL_IN15);
|
||||
sampleBuffer[0] = 0;
|
||||
break;
|
||||
case B1:
|
||||
adcConversionGroup.smpr[2] = ADC_SMPR2_SMP_AN16(ADC_SAMPLING_RATE);
|
||||
adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(ADC_CHANNEL_IN16);
|
||||
sampleBuffer[0] = 0;
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
adcStart(targetDriver, &adcCfg);
|
||||
if (adcConvert(targetDriver, &adcConversionGroup, &sampleBuffer[0], ADC_BUFFER_DEPTH) != MSG_OK) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return *sampleBuffer;
|
||||
}
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
// 1. The pin A5/B5 of the USB C interface in the left hand is connected to the pin A0 of MCU,
|
||||
// A0 will be set to output and write high when keyboard initial.
|
||||
// 2. The same pin in the right hand is connected to the pin B0 and B1 of MCU respectively,
|
||||
// and the ADC function of B0 and B1 will be enabled when keyboard initial.
|
||||
// 3. because the serial usart RXD and TXD is multiplexed on USB's D+ and D- in the right hand.
|
||||
// So detect the voltage on the pin A5/B5 of the USB C interface by ADC,
|
||||
// and disable USB connectivity when the ADC value exceeds 1000,
|
||||
// to avoid affecting the serial usart communication between the left hand and the right hand.
|
||||
if (is_keyboard_left()) {
|
||||
setPinOutput(A0);
|
||||
writePinHigh(A0);
|
||||
} else {
|
||||
if ((analogReadPin_my(B0) > 1000) || (analogReadPin_my(B1) > 1000)) {
|
||||
setPinInput(A11);
|
||||
setPinInput(A12);
|
||||
}
|
||||
}
|
||||
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
20
keyboards/keychron/q11/ansi_encoder/config.h
Executable file
20
keyboards/keychron/q11/ansi_encoder/config.h
Executable file
@@ -0,0 +1,20 @@
|
||||
/* Copyright 2023 @ Keychron(https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* Enable caps-lock LED */
|
||||
#define CAPS_LOCK_LED_INDEX 23
|
||||
166
keyboards/keychron/q11/ansi_encoder/info.json
Executable file
166
keyboards/keychron/q11/ansi_encoder/info.json
Executable file
@@ -0,0 +1,166 @@
|
||||
{
|
||||
"keyboard_name": "Keychron Q11",
|
||||
"manufacturer": "Keychron",
|
||||
"url": "https://github.com/Keychron",
|
||||
"maintainer": "lalalademaxiya1",
|
||||
"bootloader": "stm32-dfu",
|
||||
"bootmagic": {
|
||||
"matrix": [0, 1]
|
||||
},
|
||||
"features": {
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"dip_switch": true,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true,
|
||||
"rgblight": false
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "B0", "pin_b": "B1"}
|
||||
]
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A7", "A6", "A5", "A4", "A3", "A2", "A1", "C15", null],
|
||||
"rows": ["A13", "A14", "A15", "B3", "B4", "B5"]
|
||||
},
|
||||
"processor": "STM32L432",
|
||||
"rgb_matrix": {
|
||||
"driver": "CKLED2001",
|
||||
"split_count": [42, 47]
|
||||
},
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"encoder": {
|
||||
"right": {
|
||||
"rotary": [
|
||||
{"pin_a": "C14", "pin_b": "C15"}
|
||||
]
|
||||
}
|
||||
},
|
||||
"matrix_pins": {
|
||||
"right": {
|
||||
"cols": ["A8", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0"],
|
||||
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
|
||||
}
|
||||
},
|
||||
"transport": {
|
||||
"protocol": "serial_usart",
|
||||
"sync_matrix_state": false
|
||||
}
|
||||
},
|
||||
"usb": {
|
||||
"vid": "0x3434",
|
||||
"pid": "0x01E0",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ansi_91": {
|
||||
"layout": [
|
||||
{"matrix":[0,0], "x":0, "y":0},
|
||||
{"matrix":[0,1], "x":1.25, "y":0},
|
||||
{"matrix":[0,2], "x":2.25, "y":0},
|
||||
{"matrix":[0,3], "x":3.25, "y":0},
|
||||
{"matrix":[0,4], "x":4.25, "y":0},
|
||||
{"matrix":[0,5], "x":5.25, "y":0},
|
||||
{"matrix":[0,6], "x":6.25, "y":0},
|
||||
{"matrix":[0,7], "x":7.25, "y":0},
|
||||
{"matrix":[6,0], "x":8.25, "y":0},
|
||||
{"matrix":[6,1], "x":9.25, "y":0},
|
||||
{"matrix":[6,2], "x":10.25, "y":0},
|
||||
{"matrix":[6,3], "x":11.25, "y":0},
|
||||
{"matrix":[6,4], "x":12.25, "y":0},
|
||||
{"matrix":[6,5], "x":13.25, "y":0},
|
||||
{"matrix":[6,6], "x":14.25, "y":0},
|
||||
{"matrix":[6,7], "x":15.25, "y":0},
|
||||
{"matrix":[6,8], "x":16.5, "y":0},
|
||||
|
||||
{"matrix":[1,0], "x":0, "y":1.25},
|
||||
{"matrix":[1,1], "x":1.25, "y":1.25},
|
||||
{"matrix":[1,2], "x":2.25, "y":1.25},
|
||||
{"matrix":[1,3], "x":3.25, "y":1.25},
|
||||
{"matrix":[1,4], "x":4.25, "y":1.25},
|
||||
{"matrix":[1,5], "x":5.25, "y":1.25},
|
||||
{"matrix":[1,6], "x":6.25, "y":1.25},
|
||||
{"matrix":[1,7], "x":7.25, "y":1.25},
|
||||
{"matrix":[7,0], "x":8.25, "y":1.25},
|
||||
{"matrix":[7,1], "x":9.25, "y":1.25},
|
||||
{"matrix":[7,2], "x":10.25, "y":1.25},
|
||||
{"matrix":[7,3], "x":11.25, "y":1.25},
|
||||
{"matrix":[7,4], "x":12.25, "y":1.25},
|
||||
{"matrix":[7,5], "x":13.25, "y":1.25},
|
||||
{"matrix":[7,6], "x":14.25, "y":1.25, "w":2},
|
||||
{"matrix":[7,8], "x":16.5, "y":1.25},
|
||||
|
||||
{"matrix":[2,0], "x":0, "y":2.25},
|
||||
{"matrix":[2,1], "x":1.25, "y":2.25, "w":1.5},
|
||||
{"matrix":[2,2], "x":2.75, "y":2.25},
|
||||
{"matrix":[2,3], "x":3.75, "y":2.25},
|
||||
{"matrix":[2,4], "x":4.75, "y":2.25},
|
||||
{"matrix":[2,6], "x":5.75, "y":2.25},
|
||||
{"matrix":[2,7], "x":6.75, "y":2.25},
|
||||
{"matrix":[8,0], "x":7.75, "y":2.25},
|
||||
{"matrix":[8,1], "x":8.75, "y":2.25},
|
||||
{"matrix":[8,2], "x":9.75, "y":2.25},
|
||||
{"matrix":[8,3], "x":10.75, "y":2.25},
|
||||
{"matrix":[8,4], "x":11.75, "y":2.25},
|
||||
{"matrix":[8,5], "x":12.75, "y":2.25},
|
||||
{"matrix":[8,6], "x":13.75, "y":2.25},
|
||||
{"matrix":[8,7], "x":14.75, "y":2.25, "w":1.5},
|
||||
{"matrix":[8,8], "x":16.5, "y":2.25},
|
||||
|
||||
{"matrix":[3,0], "x":0, "y":3.25},
|
||||
{"matrix":[3,1], "x":1.25, "y":3.25, "w":1.75},
|
||||
{"matrix":[3,2], "x":3, "y":3.25},
|
||||
{"matrix":[3,3], "x":4, "y":3.25},
|
||||
{"matrix":[3,4], "x":5, "y":3.25},
|
||||
{"matrix":[3,5], "x":6, "y":3.25},
|
||||
{"matrix":[3,6], "x":7, "y":3.25},
|
||||
{"matrix":[9,0], "x":8, "y":3.25},
|
||||
{"matrix":[9,1], "x":9, "y":3.25},
|
||||
{"matrix":[9,2], "x":10, "y":3.25},
|
||||
{"matrix":[9,3], "x":11, "y":3.25},
|
||||
{"matrix":[9,4], "x":12, "y":3.25},
|
||||
{"matrix":[9,5], "x":13, "y":3.25},
|
||||
{"matrix":[9,7], "x":14, "y":3.25, "w":2.25},
|
||||
{"matrix":[9,8], "x":16.5, "y":3.25},
|
||||
|
||||
{"matrix":[4,0], "x":0, "y":4.25},
|
||||
{"matrix":[4,2], "x":1.25, "y":4.25, "w":2.25},
|
||||
{"matrix":[4,3], "x":3.5, "y":4.25},
|
||||
{"matrix":[4,4], "x":4.5, "y":4.25},
|
||||
{"matrix":[4,5], "x":5.5, "y":4.25},
|
||||
{"matrix":[4,6], "x":6.5, "y":4.25},
|
||||
{"matrix":[4,7], "x":7.5, "y":4.25},
|
||||
{"matrix":[10,0], "x":8.5, "y":4.25},
|
||||
{"matrix":[10,1], "x":9.5, "y":4.25},
|
||||
{"matrix":[10,2], "x":10.5, "y":4.25},
|
||||
{"matrix":[10,3], "x":11.5, "y":4.25},
|
||||
{"matrix":[10,4], "x":12.5, "y":4.25},
|
||||
{"matrix":[10,5], "x":13.5, "y":4.25, "w":1.75},
|
||||
{"matrix":[10,7], "x":15.5, "y":4.25},
|
||||
|
||||
{"matrix":[5,0], "x":0, "y":5.25},
|
||||
{"matrix":[5,1], "x":1.25, "y":5.25, "w":1.25},
|
||||
{"matrix":[5,2], "x":2.5, "y":5.25, "w":1.25},
|
||||
{"matrix":[5,3], "x":3.75, "y":5.25, "w":1.25},
|
||||
{"matrix":[5,4], "x":5, "y":5.25, "w":1.25},
|
||||
{"matrix":[5,6], "x":6.25, "y":5.25, "w":2.25},
|
||||
{"matrix":[11,1], "x":8.5, "y":5.25, "w":2.75},
|
||||
{"matrix":[11,2], "x":11.25, "y":5.25},
|
||||
{"matrix":[11,3], "x":12.25, "y":5.25},
|
||||
{"matrix":[11,4], "x":13.25, "y":5.25},
|
||||
{"matrix":[11,6], "x":14.5, "y":5.25},
|
||||
{"matrix":[11,7], "x":15.5, "y":5.25},
|
||||
{"matrix":[11,8], "x":16.5, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
71
keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c
Executable file
71
keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c
Executable file
@@ -0,0 +1,71 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
|
||||
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_ansi_91(
|
||||
KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE,
|
||||
_______, 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_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_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[MAC_FN] = LAYOUT_ansi_91(
|
||||
RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[WIN_BASE] = LAYOUT_ansi_91(
|
||||
KC_MUTE, 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_INS, KC_DEL, KC_MUTE,
|
||||
_______, 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_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_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[WIN_FN] = LAYOUT_ansi_91(
|
||||
RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
|
||||
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
|
||||
};
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
1
keyboards/keychron/q11/ansi_encoder/keymaps/default/rules.mk
Executable file
1
keyboards/keychron/q11/ansi_encoder/keymaps/default/rules.mk
Executable file
@@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
84
keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c
Executable file
84
keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c
Executable file
@@ -0,0 +1,84 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keychron_common.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
enum layers{
|
||||
MAC_BASE,
|
||||
MAC_FN,
|
||||
WIN_BASE,
|
||||
WIN_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[MAC_BASE] = LAYOUT_ansi_91(
|
||||
KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE,
|
||||
MACRO01, 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,
|
||||
MACRO02, 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,
|
||||
MACRO03, 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,
|
||||
MACRO04, 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,
|
||||
MACRO05, KC_LCTL, KC_LOPTN, KC_LCMMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[MAC_FN] = LAYOUT_ansi_91(
|
||||
RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[WIN_BASE] = LAYOUT_ansi_91(
|
||||
KC_MUTE, 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_INS, KC_DEL, KC_MUTE,
|
||||
MACRO01, 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,
|
||||
MACRO02, 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,
|
||||
MACRO03, 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,
|
||||
MACRO04, 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,
|
||||
MACRO05, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[WIN_FN] = LAYOUT_ansi_91(
|
||||
RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
|
||||
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||
[WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
|
||||
};
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
|
||||
// clang-format on
|
||||
|
||||
void housekeeping_task_user(void) {
|
||||
housekeeping_task_keychron();
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_keychron(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
5
keyboards/keychron/q11/ansi_encoder/keymaps/keychron/rules.mk
Executable file
5
keyboards/keychron/q11/ansi_encoder/keymaps/keychron/rules.mk
Executable file
@@ -0,0 +1,5 @@
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
VPATH += keyboards/keychron/common
|
||||
SRC += keychron_common.c
|
||||
72
keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c
Executable file
72
keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c
Executable file
@@ -0,0 +1,72 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
|
||||
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_ansi_91(
|
||||
KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE,
|
||||
MACRO01, 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,
|
||||
MACRO02, 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,
|
||||
MACRO03, 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,
|
||||
MACRO04, 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,
|
||||
MACRO05, KC_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[MAC_FN] = LAYOUT_ansi_91(
|
||||
RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[WIN_BASE] = LAYOUT_ansi_91(
|
||||
KC_MUTE, 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_INS, KC_DEL, KC_MUTE,
|
||||
MACRO01, 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,
|
||||
MACRO02, 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,
|
||||
MACRO03, 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,
|
||||
MACRO04, 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,
|
||||
MACRO05, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[WIN_FN] = LAYOUT_ansi_91(
|
||||
RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
|
||||
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
|
||||
};
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
2
keyboards/keychron/q11/ansi_encoder/keymaps/via/rules.mk
Executable file
2
keyboards/keychron/q11/ansi_encoder/keymaps/via/rules.mk
Executable file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
@@ -0,0 +1,8 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x63, 0x39, 0x38, 0xEA, 0x3A, 0x46, 0x3E, 0x9F}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 9 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 1, 7 }
|
||||
84
keyboards/keychron/q11/ansi_encoder/keymaps/vial/keymap.c
Executable file
84
keyboards/keychron/q11/ansi_encoder/keymaps/vial/keymap.c
Executable file
@@ -0,0 +1,84 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keychron_common.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
enum layers{
|
||||
MAC_BASE,
|
||||
MAC_FN,
|
||||
WIN_BASE,
|
||||
WIN_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[MAC_BASE] = LAYOUT_ansi_91(
|
||||
KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE,
|
||||
MACRO01, 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,
|
||||
MACRO02, 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,
|
||||
MACRO03, 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,
|
||||
MACRO04, 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,
|
||||
MACRO05, KC_LCTL, KC_LOPTN, KC_LCMMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[MAC_FN] = LAYOUT_ansi_91(
|
||||
RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[WIN_BASE] = LAYOUT_ansi_91(
|
||||
KC_MUTE, 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_INS, KC_DEL, KC_MUTE,
|
||||
MACRO01, 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,
|
||||
MACRO02, 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,
|
||||
MACRO03, 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,
|
||||
MACRO04, 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,
|
||||
MACRO05, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[WIN_FN] = LAYOUT_ansi_91(
|
||||
RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
|
||||
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||
[WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
|
||||
};
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
|
||||
// clang-format on
|
||||
|
||||
void housekeeping_task_user(void) {
|
||||
housekeeping_task_keychron();
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_keychron(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
7
keyboards/keychron/q11/ansi_encoder/keymaps/vial/rules.mk
Executable file
7
keyboards/keychron/q11/ansi_encoder/keymaps/vial/rules.mk
Executable file
@@ -0,0 +1,7 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
VPATH += keyboards/keychron/common
|
||||
SRC += keychron_common.c
|
||||
268
keyboards/keychron/q11/ansi_encoder/keymaps/vial/vial.json
Normal file
268
keyboards/keychron/q11/ansi_encoder/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,268 @@
|
||||
{
|
||||
"name": "Keychron Q11",
|
||||
"vendorId": "0x3434",
|
||||
"productId": "0x01E0",
|
||||
"lighting": "vialrgb",
|
||||
"customKeycodes": [
|
||||
{"name": "Mission Control", "title": "Mission Control in macOS", "shortName": "MCtrl"},
|
||||
{"name": "Launch Pad", "title": "Launch Pad in macOS", "shortName": "LPad"},
|
||||
{"name": "Left Option", "title": "Left Option in macOS", "shortName": "LOpt"},
|
||||
{"name": "Right Option", "title": "Right Option in macOS", "shortName": "ROpt"},
|
||||
{"name": "Left Cmd", "title": "Left Command in macOS", "shortName": "LCmd"},
|
||||
{"name": "Right Cmd", "title": "Right Command in macOS", "shortName": "RCmd"},
|
||||
{"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
|
||||
{"name": "Task View", "title": "Task View in windows", "shortName": "Task"},
|
||||
{"name": "File Explorer", "title": "File Explorer in windows", "shortName": "File"},
|
||||
{"name": "Screen Shot", "title": "Screenshot in macOS", "shortName": "SShot"},
|
||||
{"name": "Cortana", "title": "Cortana in windows", "shortName": "Cortana"}
|
||||
],
|
||||
"matrix": {"rows": 12, "cols": 9},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"0,0\n\n\n\n\n\n\n\n\ne",
|
||||
"0,1\n\n\n\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
"1,0\n\n\n\n\n\n\n\n\ne",
|
||||
"1,1\n\n\n\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,1\nESC",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,6",
|
||||
"0,7",
|
||||
"6,0",
|
||||
"6,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"6,2",
|
||||
"6,3",
|
||||
"6,4",
|
||||
"6,5",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"6,6",
|
||||
"6,7",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"6,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 0.75
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"7,0",
|
||||
"7,1",
|
||||
"7,2",
|
||||
"7,3",
|
||||
"7,4",
|
||||
"7,5",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"7,6",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"7,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.75,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"2,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"8,0",
|
||||
"8,1",
|
||||
"8,2",
|
||||
"8,3",
|
||||
"8,4",
|
||||
"8,5",
|
||||
"8,6",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"8,7",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"8,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.75,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"3,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"9,0",
|
||||
"9,1",
|
||||
"9,2",
|
||||
"9,3",
|
||||
"9,4",
|
||||
"9,5",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"9,7",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"9,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.75,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.25
|
||||
},
|
||||
"4,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,3",
|
||||
"4,4",
|
||||
"4,5",
|
||||
"4,6",
|
||||
"4,7",
|
||||
"10,0",
|
||||
"10,1",
|
||||
"10,2",
|
||||
"10,3",
|
||||
"10,4",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"10,5",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#777777"
|
||||
},
|
||||
"10,7"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.75,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"5,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,3",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,4",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 2.25
|
||||
},
|
||||
"5,6",
|
||||
{
|
||||
"w": 2.75
|
||||
},
|
||||
"11,1",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"11,2",
|
||||
"11,3",
|
||||
"11,4",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#777777"
|
||||
},
|
||||
"11,6",
|
||||
"11,7",
|
||||
"11,8"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
9
keyboards/keychron/q11/ansi_encoder/rules.mk
Executable file
9
keyboards/keychron/q11/ansi_encoder/rules.mk
Executable file
@@ -0,0 +1,9 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
EEPROM_DRIVER = wear_leveling
|
||||
WEAR_LEVELING_DRIVER = embedded_flash
|
||||
SERIAL_DRIVER = usart
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
110
keyboards/keychron/q11/config.h
Executable file
110
keyboards/keychron/q11/config.h
Executable file
@@ -0,0 +1,110 @@
|
||||
/* Copyright 2023 @ Keychron(https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Connects each switch in the dip switch to the GPIO pin of the MCU
|
||||
#define DIP_SWITCH_PINS \
|
||||
{ A8 }
|
||||
|
||||
/* handedness */
|
||||
#define SPLIT_HAND_MATRIX_GRID A2, A15
|
||||
#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
|
||||
|
||||
#define MATRIX_MASKED // actual mask is defined by `matrix_mask` in `q11.c`
|
||||
|
||||
/* RGB Matrix Configuration */
|
||||
#define DRIVER_COUNT 1
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
#define DRIVER_1_LED_TOTAL 89
|
||||
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
|
||||
#define SPLIT_TRANSPORT_MIRROR
|
||||
|
||||
/* Increase I2C speed to 1000 KHz */
|
||||
#define I2C1_TIMINGR_PRESC 0U
|
||||
#define I2C1_TIMINGR_SCLDEL 3U
|
||||
#define I2C1_TIMINGR_SDADEL 0U
|
||||
#define I2C1_TIMINGR_SCLH 15U
|
||||
#define I2C1_TIMINGR_SCLL 51U
|
||||
|
||||
#define CKLED2001_CURRENT_TUNE \
|
||||
{ 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF } // 300mA
|
||||
|
||||
/* EEPROM Driver Configuration */
|
||||
#define WEAR_LEVELING_LOGICAL_SIZE 2048
|
||||
#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
|
||||
|
||||
/* Split Keyboard specific options. */
|
||||
#define SERIAL_USART_TX_PIN A9 // USART TX pin
|
||||
|
||||
/* Encoder Configuration */
|
||||
#define ENCODER_DEFAULT_POS 0x3
|
||||
|
||||
/* Disable RGB lighting when PC is in suspend */
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||
// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
#define ENABLE_RGB_MATRIX_BREATHING
|
||||
// #define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
// #define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
#define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
// #define ENABLE_RGB_MATRIX_RAINDROPS
|
||||
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
// #define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
// #define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||
// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||
// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
#define ENABLE_RGB_MATRIX_SPLASH
|
||||
// #define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
10
keyboards/keychron/q0/q0.h → keyboards/keychron/q11/halconf.h
Normal file → Executable file
10
keyboards/keychron/q0/q0.h → keyboards/keychron/q11/halconf.h
Normal file → Executable file
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2022 @ Keychron (https://www.keychron.com)
|
||||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
#define HAL_USE_I2C TRUE
|
||||
#define HAL_USE_SERIAL TRUE
|
||||
#define HAL_USE_ADC TRUE
|
||||
|
||||
#if defined(KEYBOARD_keychron_q0_rev_0130)
|
||||
# include "rev_0130.h"
|
||||
#endif
|
||||
#include_next <halconf.h>
|
||||
28
keyboards/keychron/q0/rev_0130/rev_0130.h → keyboards/keychron/q11/mcuconf.h
Normal file → Executable file
28
keyboards/keychron/q0/rev_0130/rev_0130.h → keyboards/keychron/q11/mcuconf.h
Normal file → Executable file
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2022 @ Keychron (https://www.keychron.com)
|
||||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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
|
||||
@@ -16,23 +16,13 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#define XXX KC_NO
|
||||
#undef STM32_I2C_USE_I2C1
|
||||
#define STM32_I2C_USE_I2C1 TRUE
|
||||
|
||||
#define LAYOUT_numpad_6x4( \
|
||||
K00, K01, K02, K03, \
|
||||
K10, K11, K12, K13, \
|
||||
K20, K21, K22, \
|
||||
K30, K31, K32, K23, \
|
||||
K40, K41, K42, \
|
||||
K50, K52, K43 \
|
||||
) \
|
||||
{ \
|
||||
{ K00, K01, K02, K03 }, \
|
||||
{ K10, K11, K12, K13 }, \
|
||||
{ K20, K21, K22, K23 }, \
|
||||
{ K30, K31, K32, XXX }, \
|
||||
{ K40, K41, K42, K43 }, \
|
||||
{ K50, XXX, K52, XXX }, \
|
||||
}
|
||||
#undef STM32_SERIAL_USE_USART1
|
||||
#define STM32_SERIAL_USE_USART1 TRUE
|
||||
|
||||
#undef STM32_ADC_USE_ADC1
|
||||
#define STM32_ADC_USE_ADC1 TRUE
|
||||
98
keyboards/keychron/q11/q11.c
Executable file
98
keyboards/keychron/q11/q11.c
Executable file
@@ -0,0 +1,98 @@
|
||||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
// Mask out handedness diode to prevent it
|
||||
// from keeping the keyboard awake
|
||||
// - just mirroring `KC_NO` in the `LAYOUT`
|
||||
// macro to keep it simple
|
||||
const matrix_row_t matrix_mask[] = {
|
||||
0b011111111,
|
||||
0b011111111,
|
||||
0b011111111,
|
||||
0b001111111,
|
||||
0b011111101,
|
||||
0b001011111,
|
||||
0b111111111,
|
||||
0b101111111,
|
||||
0b111111111,
|
||||
0b110111111,
|
||||
0b010111111,
|
||||
0b111011110,
|
||||
};
|
||||
|
||||
#ifdef DIP_SWITCH_ENABLE
|
||||
bool dip_switch_update_kb(uint8_t index, bool active) {
|
||||
if (!dip_switch_update_user(index, active)) {
|
||||
return false;
|
||||
}
|
||||
if (index == 0) {
|
||||
default_layer_set(1UL << (active ? 0 : 2));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(RGB_MATRIX_ENABLE) && (defined(CAPS_LOCK_LED_INDEX) || defined(NUM_LOCK_LED_INDEX))
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_user(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
switch (keycode) {
|
||||
case RGB_TOG:
|
||||
if (record->event.pressed) {
|
||||
switch (rgb_matrix_get_flags()) {
|
||||
case LED_FLAG_ALL: {
|
||||
rgb_matrix_set_flags(LED_FLAG_NONE);
|
||||
rgb_matrix_set_color_all(0, 0, 0);
|
||||
} break;
|
||||
default: {
|
||||
rgb_matrix_set_flags(LED_FLAG_ALL);
|
||||
} break;
|
||||
}
|
||||
}
|
||||
if (!rgb_matrix_is_enabled()) {
|
||||
rgb_matrix_set_flags(LED_FLAG_ALL);
|
||||
rgb_matrix_enable();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
|
||||
// RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
|
||||
# if defined(CAPS_LOCK_LED_INDEX)
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255);
|
||||
} else {
|
||||
if (!rgb_matrix_get_flags()) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
# endif // CAPS_LOCK_LED_INDEX
|
||||
# if defined(NUM_LOCK_LED_INDEX)
|
||||
if (host_keyboard_led_state().num_lock) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 255, 255, 255);
|
||||
} else {
|
||||
if (!rgb_matrix_get_flags()) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
# endif // NUM_LOCK_LED_INDEX
|
||||
}
|
||||
#endif
|
||||
21
keyboards/keychron/q11/readme.md
Normal file
21
keyboards/keychron/q11/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Keychron Q11
|
||||
|
||||

|
||||
|
||||
A customizable 75% split keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
|
||||
* Hardware Supported: Keychron Q11
|
||||
* Hardware Availability: [Keychron Q11 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q11-qmk-custom-mechanical-keyboard)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make keychron/q11/ansi_encoder:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make keychron/q11/ansi_encoder:default:flash
|
||||
|
||||
**Reset Key**: Hold down the key located at *K01*, which 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).
|
||||
48
keyboards/koolertron/amag09/info.json
Normal file
48
keyboards/koolertron/amag09/info.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"keyboard_name": "AMAG09",
|
||||
"manufacturer": "Koolertron",
|
||||
"url": "http://www.koolertron.com/koolertron-one-handed-macro-mechanical-keyboard-rgb-led-backlit-portable-mini-onehanded-mechanical-gaming-keypad-23-fully-programmable-keys-blue-switches-p-874.html",
|
||||
"maintainer": "al177",
|
||||
"usb": {
|
||||
"vid": "0x4B54",
|
||||
"pid": "0x2323",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"bootloader": "bootloadhid",
|
||||
"processor": "atmega32a",
|
||||
"features": {
|
||||
"backlight": true,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_size": {
|
||||
"cols": 3,
|
||||
"rows": 3
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B0", "B1", "B2"],
|
||||
"rows": ["A0", "A1", "A2"]
|
||||
},
|
||||
"backlight": {
|
||||
"pin": "D4"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"K00", "matrix": [0, 0], "x":0, "y":0},
|
||||
{"label":"K01", "matrix": [0, 1], "x":1, "y":0},
|
||||
{"label":"K02", "matrix": [0, 2], "x":2, "y":0},
|
||||
{"label":"K10", "matrix": [1, 0], "x":0, "y":1},
|
||||
{"label":"K11", "matrix": [1, 1], "x":1, "y":1},
|
||||
{"label":"K12", "matrix": [1, 2], "x":2, "y":1},
|
||||
{"label":"K20", "matrix": [2, 0], "x":0, "y":2},
|
||||
{"label":"K21", "matrix": [2, 1], "x":1, "y":2},
|
||||
{"label":"K22", "matrix": [2, 2], "x":2, "y":2}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
49
keyboards/koolertron/amag09/keymaps/default/keymap.c
Normal file
49
keyboards/koolertron/amag09/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,49 @@
|
||||
/* Copyright 2023
|
||||
*
|
||||
* 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
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
BASE,
|
||||
FN1,
|
||||
FN2,
|
||||
FN3
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT(
|
||||
KC_KP_7, KC_KP_8, KC_KP_9,
|
||||
KC_KP_4, KC_KP_5, KC_KP_6,
|
||||
KC_KP_1, KC_KP_2, KC_KP_3
|
||||
),
|
||||
[FN1] = LAYOUT(
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[FN2] = LAYOUT(
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[FN3] = LAYOUT(
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
// clang-format on
|
||||
9
keyboards/koolertron/amag09/keymaps/vial/config.h
Normal file
9
keyboards/koolertron/amag09/keymaps/vial/config.h
Normal file
@@ -0,0 +1,9 @@
|
||||
/* Vial configuration */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x1C, 0xA6, 0x8B, 0xCD, 0xCB, 0x42, 0x5C, 0x6F}
|
||||
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 2, 0 }
|
||||
49
keyboards/koolertron/amag09/keymaps/vial/keymap.c
Normal file
49
keyboards/koolertron/amag09/keymaps/vial/keymap.c
Normal file
@@ -0,0 +1,49 @@
|
||||
/* Copyright 2023
|
||||
*
|
||||
* 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
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
BASE,
|
||||
FN1,
|
||||
FN2,
|
||||
FN3
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT(
|
||||
KC_KP_7, KC_KP_8, KC_KP_9,
|
||||
KC_KP_4, KC_KP_5, KC_KP_6,
|
||||
MO(FN1), KC_KP_2, KC_KP_3
|
||||
),
|
||||
[FN1] = LAYOUT(
|
||||
BL_TOGG, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[FN2] = LAYOUT(
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[FN3] = LAYOUT(
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
// clang-format on
|
||||
3
keyboards/koolertron/amag09/keymaps/vial/rules.mk
Normal file
3
keyboards/koolertron/amag09/keymaps/vial/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
29
keyboards/koolertron/amag09/keymaps/vial/vial.json
Normal file
29
keyboards/koolertron/amag09/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "Koolertron AMAG09",
|
||||
"vendorId": "0x4B54",
|
||||
"productId": "0x2323",
|
||||
"lighting": "qmk_backlight",
|
||||
"matrix" : {
|
||||
"rows": 3,
|
||||
"cols": 3
|
||||
},
|
||||
"layouts" : {
|
||||
"keymap" : [
|
||||
[
|
||||
"0,0",
|
||||
"0,1",
|
||||
"0,2"
|
||||
],
|
||||
[
|
||||
"1,0",
|
||||
"1,1",
|
||||
"1,2"
|
||||
],
|
||||
[
|
||||
"2,0",
|
||||
"2,1",
|
||||
"2,2"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
29
keyboards/koolertron/amag09/readme.md
Normal file
29
keyboards/koolertron/amag09/readme.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# AMAG09 (Koolertron)
|
||||
|
||||

|
||||
|
||||
One Handed Macro Mechanical Keyboard, 9 Key with optional RGB backlighting.
|
||||
|
||||
- Keyboard Maintainer: [al177](https://github.com/al177)
|
||||
- Hardware Supported: AMAG09 (ATmega32A)
|
||||
- Hardware Availability:
|
||||
- [Amazon](https://www.amazon.com/Koolertron-Mechanical-Keyboard-One-Handed-Programmable/dp/B0998QM9L2)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make koolertron/amag09:default
|
||||
|
||||
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||
|
||||
make amag09:default:flash
|
||||
make amag09:vial:flash
|
||||
|
||||
**Reset Key**: Hold down the *upper left* key while plugging in the keyboard.
|
||||
|
||||
**Tips**:
|
||||
- The keyboard comes with bootloadHID installed from factory.
|
||||
- The configuration here is for the single color LED keyboard. RGB versions are presumed to be i2c like the amag23
|
||||
|
||||
Based on keyboards/amag23 by ianmclinden
|
||||
|
||||
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).
|
||||
1
keyboards/koolertron/amag09/rules.mk
Normal file
1
keyboards/koolertron/amag09/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# Placeholder so this board is recognized as a target
|
||||
@@ -0,0 +1,10 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x79, 0x23, 0xBB, 0xEF, 0xD1, 0xA9, 0x46, 0x7B}
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
|
||||
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
110
keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/keymap.c
Normal file
110
keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/keymap.c
Normal file
@@ -0,0 +1,110 @@
|
||||
/* Copyright 2020 Team Mechlovin
|
||||
*
|
||||
* 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 my_keycodes {
|
||||
BL_TOG = USER00,
|
||||
BL_EFFECT,
|
||||
BL_ISPD,
|
||||
BL_DSPD,
|
||||
BL_IHUE,
|
||||
BL_DHUE,
|
||||
BL_ISAT,
|
||||
BL_DSAT,
|
||||
BL_IVAL,
|
||||
BL_DVAL
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_SPC, 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_DEL,
|
||||
KC_SPC, 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_SLSH,
|
||||
KC_SPC, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_BSLS, MO(1), KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LALT, KC_SPC, MO(2), KC_SPC, KC_RALT, KC_RCTL ),
|
||||
[1] = LAYOUT_all(
|
||||
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, 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] = LAYOUT_all(
|
||||
QK_BOOT, KC_TRNS, BL_TOG, BL_EFFECT, BL_ISPD, BL_DSPD, BL_IHUE, BL_DHUE, BL_ISAT, BL_DSAT, BL_IVAL, BL_DVAL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_P0, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||
[3] = LAYOUT_all(
|
||||
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, 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 ),
|
||||
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
|
||||
[2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
|
||||
[3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
|
||||
// Encoder 1
|
||||
};
|
||||
#endif
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch (keycode) {
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
case BL_TOG: // toggle rgb matrix
|
||||
rgb_matrix_toggle();
|
||||
return false;
|
||||
case BL_EFFECT:
|
||||
rgb_matrix_step();
|
||||
return false;
|
||||
case BL_ISPD:
|
||||
rgb_matrix_increase_speed();
|
||||
return false;
|
||||
case BL_DSPD:
|
||||
rgb_matrix_decrease_speed();
|
||||
return false;
|
||||
case BL_IHUE:
|
||||
rgb_matrix_increase_hue();
|
||||
return false;
|
||||
case BL_DHUE:
|
||||
rgb_matrix_decrease_hue();
|
||||
return false;
|
||||
case BL_ISAT:
|
||||
rgb_matrix_increase_sat();
|
||||
return false;
|
||||
case BL_DSAT:
|
||||
rgb_matrix_decrease_sat();
|
||||
return false;
|
||||
case BL_IVAL:
|
||||
rgb_matrix_increase_val();
|
||||
return false;
|
||||
case BL_DVAL:
|
||||
rgb_matrix_decrease_val();
|
||||
return false;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
# The Vial keymap for Adelais en Ciel Rev. 3
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechlovin/adelais/rgb_led/rev3:vial
|
||||
@@ -0,0 +1,8 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
KEY_OVERRIDE_ENABLE = no
|
||||
COMBO_ENABLE = no
|
||||
ENCODER_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
323
keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/vial.json
Normal file
323
keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,323 @@
|
||||
{
|
||||
"name": "Adelais En Ciel Rev.3 DEV",
|
||||
"vendorId": "0x4D4C",
|
||||
"productId": "0xAEC4",
|
||||
"lighting": "vialrgb",
|
||||
"customKeycodes": [
|
||||
{"name": "Backlight Toggle", "title": "Backlight Toggle", "shortName": "BL_TOG"},
|
||||
{"name": "Backlight Effect", "title": "Backlight Effect", "shortName": "BL_EFFECT"},
|
||||
{"name": "Backlight Increase Speed", "title": "Backlight Increase Speed", "shortName": "BL_ISPD"},
|
||||
{"name": "Backlight Decrease Speed", "title": "Backlight Decrease Speed", "shortName": "BL_DSPD"},
|
||||
{"name": "Backlight Increase Hue", "title": "Backlight Increase Hue", "shortName": "BL_IHUE"},
|
||||
{"name": "Backlight Decrease Hue", "title": "Backlight Decrease Hue", "shortName": "BL_DHUE"},
|
||||
{"name": "Backlight Increase Saturation", "title": "Backlight Increase Saturation", "shortName": "BL_ISAT"},
|
||||
{"name": "Backlight Decrease Saturation", "title": "Backlight Decrease Saturation", "shortName": "BL_DSAT"},
|
||||
{"name": "Backlight Increase Value", "title": "Backlight Increase Value", "shortName": "BL_IVAL"},
|
||||
{"name": "Backlight Decrease Value", "title": "Backlight Decrease Value", "shortName": "BL_DVAL"}
|
||||
],
|
||||
"matrix": {"rows": 5, "cols": 15},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"Back Space 2U",
|
||||
"Right Shift 2.75U",
|
||||
"Split Space",
|
||||
"Encoder"
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#777777"
|
||||
},
|
||||
"3,0\n\n\n\n\n\n\n\n\ne",
|
||||
"3,1\n\n\n\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.85,
|
||||
"x": 15.15,
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"0,13\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.55,
|
||||
"c": "#777777"
|
||||
},
|
||||
"3,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.95,
|
||||
"x": 3.7,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,2",
|
||||
{
|
||||
"x": 8.45
|
||||
},
|
||||
"0,11"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.95,
|
||||
"x": 1.7
|
||||
},
|
||||
"0,0",
|
||||
"0,1",
|
||||
{
|
||||
"x": 10.45
|
||||
},
|
||||
"0,12",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,13\n\n\n0,0",
|
||||
"0,14\n\n\n0,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.10000000000000009,
|
||||
"x": 0.35
|
||||
},
|
||||
"4,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9499999999999997,
|
||||
"x": 13,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,10"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9500000000000002,
|
||||
"x": 1.5,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,1",
|
||||
{
|
||||
"x": 10
|
||||
},
|
||||
"1,11",
|
||||
"1,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"1,13"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.10000000000000009,
|
||||
"x": 0.15
|
||||
},
|
||||
"4,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9000000000000004,
|
||||
"x": 13.4,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,10",
|
||||
"2,11",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"2,13"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9999999999999996,
|
||||
"x": 1.3,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 1.05,
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.25
|
||||
},
|
||||
"3,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,2",
|
||||
{
|
||||
"x": 8.8
|
||||
},
|
||||
"3,11",
|
||||
"3,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"3,13\n\n\n1,0",
|
||||
"3,14\n\n\n1,0",
|
||||
{
|
||||
"x": 0.3000000000000007,
|
||||
"w": 2.75
|
||||
},
|
||||
"3,13\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 1.05,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0",
|
||||
{
|
||||
"x": 13.45,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,14"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 12,
|
||||
"y": -6,
|
||||
"x": 5.05,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 4.6
|
||||
},
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 4.85
|
||||
},
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 5.3
|
||||
},
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 6.6,
|
||||
"c": "#777777",
|
||||
"w": 2
|
||||
},
|
||||
"4,4\n\n\n2,0",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"4,6\n\n\n2,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9500000000000002,
|
||||
"x": 5.05,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 6.5,
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"4,4\n\n\n2,1",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"4,6\n\n\n2,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -12,
|
||||
"y": -2.7,
|
||||
"x": 8.45,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
"0,10"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 8.05
|
||||
},
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 8.2
|
||||
},
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 7.75
|
||||
},
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 7.75,
|
||||
"c": "#777777",
|
||||
"w": 2.75
|
||||
},
|
||||
"4,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9500000000000002,
|
||||
"x": 10.55,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"4,10"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
# The Vial keymap for Adelais Rev. 4
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechlovin/adelais/standard_led/arm/rev4:vial
|
||||
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
7
keyboards/mechlovin/jay60/keymaps/vial/config.h
Normal file
7
keyboards/mechlovin/jay60/keymaps/vial/config.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xED, 0x27, 0xA0, 0x71, 0x36, 0x44, 0x16, 0x13}
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 4
|
||||
36
keyboards/mechlovin/jay60/keymaps/vial/keymap.c
Normal file
36
keyboards/mechlovin/jay60/keymaps/vial/keymap.c
Normal file
@@ -0,0 +1,36 @@
|
||||
#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_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_RALT, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
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_PSCR,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_BSPC,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_DOWN, KC_END, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
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, 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
|
||||
),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
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, 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
|
||||
),
|
||||
|
||||
};
|
||||
8
keyboards/mechlovin/jay60/keymaps/vial/rules.mk
Normal file
8
keyboards/mechlovin/jay60/keymaps/vial/rules.mk
Normal file
@@ -0,0 +1,8 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
LTO_ENABLE = yes
|
||||
QMK_SETTINGS = no
|
||||
TAP_DANCE_ENABLE = no
|
||||
COMBO_ENABLE = no
|
||||
KEY_OVERRIDE_ENABLE = no
|
||||
127
keyboards/mechlovin/jay60/keymaps/vial/vial.json
Normal file
127
keyboards/mechlovin/jay60/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"name": "Jay60 Rev.1",
|
||||
"vendorId": "0x4D4C",
|
||||
"productId": "0x0600",
|
||||
"lighting": "none",
|
||||
"matrix": {"rows": 5, "cols": 14},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"Split Backspace",
|
||||
"2.75U Right Shift",
|
||||
["Bottom Row", "6.25U", "7U"]
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{"c": "#777777"},
|
||||
"0,0",
|
||||
{"c": "#cccccc"},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
"0,10",
|
||||
"0,11",
|
||||
"0,12",
|
||||
{"c": "#aaaaaa", "w": 2},
|
||||
"0,13\n\n\n0,0",
|
||||
{"x": 0.25},
|
||||
"0,13\n\n\n0,1",
|
||||
"2,12\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{"w": 1.5},
|
||||
"1,0",
|
||||
{"c": "#cccccc"},
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
"1,11",
|
||||
"1,12",
|
||||
{"c": "#aaaaaa", "w": 1.5},
|
||||
"1,13"
|
||||
],
|
||||
[
|
||||
{"w": 1.75},
|
||||
"2,0",
|
||||
{"c": "#cccccc"},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11",
|
||||
{"c": "#777777", "w": 2.25},
|
||||
"2,13"
|
||||
],
|
||||
[
|
||||
{"c": "#aaaaaa", "w": 2.25},
|
||||
"3,0",
|
||||
{"c": "#cccccc"},
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11",
|
||||
{"c": "#aaaaaa", "w": 1.75},
|
||||
"3,12\n\n\n1,0",
|
||||
"3,13\n\n\n1,0",
|
||||
{"x": 0.25, "w": 2.75},
|
||||
"3,12\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{"w": 1.25},
|
||||
"4,0\n\n\n2,0",
|
||||
{"w": 1.25},
|
||||
"4,1\n\n\n2,0",
|
||||
{"w": 1.25},
|
||||
"4,2\n\n\n2,0",
|
||||
{"c": "#cccccc", "w": 6.25},
|
||||
"4,6\n\n\n2,0",
|
||||
{"c": "#aaaaaa", "w": 1.25},
|
||||
"4,10\n\n\n2,0",
|
||||
{"w": 1.25},
|
||||
"4,11\n\n\n2,0",
|
||||
{"w": 1.25},
|
||||
"4,12\n\n\n2,0",
|
||||
{"w": 1.25},
|
||||
"4,13\n\n\n2,0"
|
||||
],
|
||||
[
|
||||
{"y": 0.5, "w": 1.5},
|
||||
"4,0\n\n\n2,1",
|
||||
"4,1\n\n\n2,1",
|
||||
{"w": 1.5},
|
||||
"4,2\n\n\n2,1",
|
||||
{"c": "#cccccc", "w": 7},
|
||||
"4,6\n\n\n2,1",
|
||||
{"c": "#aaaaaa", "w": 1.5},
|
||||
"4,11\n\n\n2,1",
|
||||
"4,12\n\n\n2,1",
|
||||
{"w": 1.5},
|
||||
"4,13\n\n\n2,1"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
81
keyboards/mini49/info.json
Normal file
81
keyboards/mini49/info.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"manufacturer": "HSS",
|
||||
"keyboard_name": "mini49",
|
||||
"maintainer": "pcs3rd",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"],
|
||||
"rows": ["GP10", "GP11", "GP12", "GP13", "GP14"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0000",
|
||||
"vid": "0xBEEF"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
|
||||
{ "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
|
||||
{ "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
|
||||
{ "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
|
||||
{ "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
|
||||
{ "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
|
||||
{ "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
|
||||
{ "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
|
||||
{ "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
|
||||
{ "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
|
||||
{ "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 },
|
||||
{ "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 1 },
|
||||
{ "label": "K12", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 },
|
||||
{ "label": "K13", "matrix": [1, 3], "w": 1, "x": 3, "y": 1 },
|
||||
{ "label": "K14", "matrix": [1, 4], "w": 1, "x": 4, "y": 1 },
|
||||
{ "label": "K15", "matrix": [1, 5], "w": 1, "x": 5, "y": 1 },
|
||||
{ "label": "K16", "matrix": [1, 6], "w": 1, "x": 6, "y": 1 },
|
||||
{ "label": "K17", "matrix": [1, 7], "w": 1, "x": 7, "y": 1 },
|
||||
{ "label": "K18", "matrix": [1, 8], "w": 1, "x": 8, "y": 1 },
|
||||
{ "label": "K19", "matrix": [1, 9], "w": 1, "x": 9, "y": 1 },
|
||||
{ "label": "K20", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 },
|
||||
{ "label": "K21", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 },
|
||||
{ "label": "K22", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 },
|
||||
{ "label": "K23", "matrix": [2, 3], "w": 1, "x": 3, "y": 2 },
|
||||
{ "label": "K24", "matrix": [2, 4], "w": 1, "x": 4, "y": 2 },
|
||||
{ "label": "K25", "matrix": [2, 5], "w": 1, "x": 5, "y": 2 },
|
||||
{ "label": "K26", "matrix": [2, 6], "w": 1, "x": 6, "y": 2 },
|
||||
{ "label": "K27", "matrix": [2, 7], "w": 1, "x": 7, "y": 2 },
|
||||
{ "label": "K28", "matrix": [2, 8], "w": 1, "x": 8, "y": 2 },
|
||||
{ "label": "K29", "matrix": [2, 9], "w": 1, "x": 9, "y": 2 },
|
||||
{ "label": "K30", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 },
|
||||
{ "label": "K31", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 },
|
||||
{ "label": "K32", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 },
|
||||
{ "label": "K33", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 },
|
||||
{ "label": "K34", "matrix": [3, 4], "w": 1, "x": 4, "y": 3 },
|
||||
{ "label": "K35", "matrix": [3, 5], "w": 1, "x": 5, "y": 3 },
|
||||
{ "label": "K36", "matrix": [3, 6], "w": 1, "x": 6, "y": 3 },
|
||||
{ "label": "K37", "matrix": [3, 7], "w": 1, "x": 7, "y": 3 },
|
||||
{ "label": "K38", "matrix": [3, 8], "w": 1, "x": 8, "y": 3 },
|
||||
{ "label": "K39", "matrix": [3, 9], "w": 1, "x": 9, "y": 3 },
|
||||
{ "label": "K40", "matrix": [4, 0], "w": 1, "x": 0, "y": 4 },
|
||||
{ "label": "K41", "matrix": [4, 1], "w": 1, "x": 1, "y": 4 },
|
||||
{ "label": "K42", "matrix": [4, 2], "w": 1, "x": 2, "y": 4 },
|
||||
{ "label": "K43", "matrix": [4, 3], "w": 1, "x": 3, "y": 4 },
|
||||
{ "label": "K45", "matrix": [4, 5], "w": 1, "x": 4, "y": 4 },
|
||||
{ "label": "K46", "matrix": [4, 6], "w": 1, "x": 5, "y": 4 },
|
||||
{ "label": "K47", "matrix": [4, 7], "w": 1, "x": 6, "y": 4 },
|
||||
{ "label": "K48", "matrix": [4, 8], "w": 1, "x": 7, "y": 4 },
|
||||
{ "label": "K49", "matrix": [4, 9], "w": 1, "x": 8, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
11
keyboards/mini49/keymaps/default/keymap.c
Normal file
11
keyboards/mini49/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,11 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
|
||||
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,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
)
|
||||
};
|
||||
1
keyboards/mini49/keymaps/default/rules.mk
Normal file
1
keyboards/mini49/keymaps/default/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
12
keyboards/mini49/keymaps/vial/config.h
Normal file
12
keyboards/mini49/keymaps/vial/config.h
Normal file
@@ -0,0 +1,12 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x5C, 0x8A, 0x21, 0xB3, 0x82, 0x40, 0xF6, 0x11}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS {0, 0}
|
||||
#define VIAL_UNLOCK_COMBO_COLS {0, 9}
|
||||
|
||||
#define DYNAMIC_KEYMAP_MACRO_COUNT 32
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 12
|
||||
|
||||
14
keyboards/mini49/keymaps/vial/keymap.c
Normal file
14
keyboards/mini49/keymaps/vial/keymap.c
Normal file
@@ -0,0 +1,14 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
|
||||
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,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
)
|
||||
};
|
||||
|
||||
3
keyboards/mini49/keymaps/vial/rules.mk
Normal file
3
keyboards/mini49/keymaps/vial/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
MIDI_ENABLE = yes
|
||||
19
keyboards/mini49/keymaps/vial/vial.json
Normal file
19
keyboards/mini49/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "mini49",
|
||||
"vendorId": "0xBEEF",
|
||||
"productId": "0x0000",
|
||||
"lighting": "none",
|
||||
"matrix": {"rows": 5, "cols": 10},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
["0,0","0,1","0,2","0,3","0,4","0,5","0,6","0,7","0,8","0,9"],
|
||||
["1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9"],
|
||||
["2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9"],
|
||||
["3,0","3,1","3,2","3,3","3,4","3,5","3,6","3,7","3,8","3,9"],
|
||||
["4,0","4,1","4,2","4,3",{"w": 2 }, "4,5","4,6","4,7","4,8", "4,9"]
|
||||
]
|
||||
},
|
||||
"vial": {
|
||||
"midi": "advanced"
|
||||
}
|
||||
}
|
||||
29
keyboards/mini49/readme.md
Normal file
29
keyboards/mini49/readme.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# mini49
|
||||
|
||||
|
||||

|
||||
|
||||
A sub-60% ortholinear keyboard powered by vial-qmk.
|
||||
|
||||
* Keyboard Maintainer: [Raymond Dean][def]
|
||||
* Hardware Supported: *RP2040*
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mini49:vial
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make mini49:vial: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
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
- Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard. Bootmagic is not enabled in the vial layout.
|
||||
- Physical reset: Hold the BOOT button down while pressing the RESET button.
|
||||
- Keycode in layout: Press the key mapped to QK_BOOT if it is available
|
||||
|
||||
[def]: https://github.com/pcs3rd
|
||||
1
keyboards/mini49/rules.mk
Normal file
1
keyboards/mini49/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
9
keyboards/mode/m75h/keymaps/vial/config.h
Normal file
9
keyboards/mode/m75h/keymaps/vial/config.h
Normal file
@@ -0,0 +1,9 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xF0, 0x43, 0xB4, 0x31, 0xB5, 0x0C, 0x27, 0x6F}
|
||||
|
||||
/* Unlock with esc / del */
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 15 }
|
||||
53
keyboards/mode/m75h/keymaps/vial/keymap.c
Executable file
53
keyboards/mode/m75h/keymaps/vial/keymap.c
Executable file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
Copyright 2020 Álvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
|
||||
|
||||
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_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_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_HOME,
|
||||
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_PGUP,
|
||||
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_PGDN,
|
||||
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_all(
|
||||
QK_BOOT, 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_MUTE,
|
||||
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_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_VOLD,
|
||||
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_MPLY,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
2
keyboards/mode/m75h/keymaps/vial/rules.mk
Normal file
2
keyboards/mode/m75h/keymaps/vial/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
224
keyboards/mode/m75h/keymaps/vial/vial.json
Normal file
224
keyboards/mode/m75h/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,224 @@
|
||||
{
|
||||
"name": "Mode SeventyFive H",
|
||||
"vendorId": "0x00DE",
|
||||
"productId": "0x7572",
|
||||
"lighting": "none",
|
||||
"matrix": {"rows": 7, "cols": 16},
|
||||
"layouts": {
|
||||
"labels": ["7U Spacebar"],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"0,10",
|
||||
"0,11",
|
||||
"0,12",
|
||||
"0,13",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"0,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,0",
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
"1,11",
|
||||
"1,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"1,13",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11",
|
||||
"2,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"2,14",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"3,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"3,14",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.25
|
||||
},
|
||||
"4,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,2",
|
||||
"4,3",
|
||||
"4,4",
|
||||
"4,5",
|
||||
"4,6",
|
||||
"4,7",
|
||||
"4,8",
|
||||
"4,9",
|
||||
"4,10",
|
||||
"4,11",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"4,12",
|
||||
{
|
||||
"c": "#777777"
|
||||
},
|
||||
"4,14",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,0\n\n\n0,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,1\n\n\n0,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,2\n\n\n0,0",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 6.25
|
||||
},
|
||||
"6,6\n\n\n0,0",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"6,10\n\n\n0,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"6,11\n\n\n0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#777777"
|
||||
},
|
||||
"6,13",
|
||||
"6,14",
|
||||
"6,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"5,0\n\n\n0,1",
|
||||
"5,1\n\n\n0,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"5,2\n\n\n0,1",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 7
|
||||
},
|
||||
"6,6\n\n\n0,1",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"6,11\n\n\n0,1"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
9
keyboards/mode/m75s/keymaps/vial/config.h
Normal file
9
keyboards/mode/m75s/keymaps/vial/config.h
Normal file
@@ -0,0 +1,9 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x3D, 0x6C, 0x63, 0x19, 0xA7, 0x1F, 0x0E, 0x59}
|
||||
|
||||
/* Unlock with esc / del */
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 15 }
|
||||
53
keyboards/mode/m75s/keymaps/vial/keymap.c
Executable file
53
keyboards/mode/m75s/keymaps/vial/keymap.c
Executable file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
Copyright 2020 Álvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
|
||||
|
||||
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_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_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_BSPC, KC_HOME,
|
||||
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_PGUP,
|
||||
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_NUBS, KC_ENT , KC_PGDN,
|
||||
KC_LSFT, KC_NUHS, 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_all(
|
||||
QK_BOOT , 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_MUTE,
|
||||
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_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_VOLD,
|
||||
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_MPLY,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
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, 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, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
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, 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, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
2
keyboards/mode/m75s/keymaps/vial/rules.mk
Normal file
2
keyboards/mode/m75s/keymaps/vial/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
267
keyboards/mode/m75s/keymaps/vial/vial.json
Normal file
267
keyboards/mode/m75s/keymaps/vial/vial.json
Normal file
@@ -0,0 +1,267 @@
|
||||
{
|
||||
"name": "Mode SeventyFive S",
|
||||
"vendorId": "0x00DE",
|
||||
"productId": "0x7583",
|
||||
"lighting": "none",
|
||||
"matrix": {"rows": 7, "cols": 16},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"7U Spacebar",
|
||||
"Split Backspace",
|
||||
"ISO Enter",
|
||||
"Split Left Shift"
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 15.75
|
||||
},
|
||||
"1,13\n\n\n1,1",
|
||||
"1,14\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 2.75,
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"0,10",
|
||||
"0,11",
|
||||
"0,12",
|
||||
"0,13",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"0,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.5,
|
||||
"x": 2.75,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,0",
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
"1,11",
|
||||
"1,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"1,13\n\n\n1,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11",
|
||||
"2,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"2,14\n\n\n2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,15",
|
||||
{
|
||||
"x": 1.5,
|
||||
"c": "#777777",
|
||||
"w": 1.25,
|
||||
"h": 2,
|
||||
"w2": 1.5,
|
||||
"h2": 1,
|
||||
"x2": -0.25
|
||||
},
|
||||
"3,14\n\n\n2,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"3,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"3,14\n\n\n2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,15",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"3,13\n\n\n2,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"4,0\n\n\n3,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,1\n\n\n3,1",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.25
|
||||
},
|
||||
"4,0\n\n\n3,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,2",
|
||||
"4,3",
|
||||
"4,4",
|
||||
"4,5",
|
||||
"4,6",
|
||||
"4,7",
|
||||
"4,8",
|
||||
"4,9",
|
||||
"4,10",
|
||||
"4,11",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"4,12",
|
||||
{
|
||||
"c": "#777777"
|
||||
},
|
||||
"4,14",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,0\n\n\n0,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,1\n\n\n0,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,2\n\n\n0,0",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 6.25
|
||||
},
|
||||
"6,6\n\n\n0,0",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"6,10\n\n\n0,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"6,11\n\n\n0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#777777"
|
||||
},
|
||||
"6,13",
|
||||
"6,14",
|
||||
"6,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"5,0\n\n\n0,1",
|
||||
"5,1\n\n\n0,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"5,2\n\n\n0,1",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 7
|
||||
},
|
||||
"6,6\n\n\n0,1",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"6,11\n\n\n0,1"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
8
keyboards/mode/m80v1/m80s/keymaps/vial/config.h
Normal file
8
keyboards/mode/m80v1/m80s/keymaps/vial/config.h
Normal file
@@ -0,0 +1,8 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xB5, 0x6B, 0xC8, 0x13, 0xD3, 0xF2, 0x3E, 0x53}
|
||||
/* enter key as unlock */
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 12 }
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user