Added support for Idobao id42, TKC m0lly, Checkerboards Quark, and 1upkeyboards pi60_HSE (#835)

* Basic VIAL porting for Quark 4x12 and pi60 HSE

* Added TKC m0lly VIAL Compatibility

* Updated TKC m0lly rules.mk

* Added support for idobao i42, fixed tkc m0lly, pi60_hse, and checkerboards quark

* Modified Quark vial firmware so it actually compiles under the limit

* Switched encoder map enable from board to keymap level

* Reduced features further on Checkerboards Quark, hopefully making it compile so it can be merged
This commit is contained in:
Sei 2025-04-10 19:39:53 -07:00 committed by GitHub
parent 437d0b68bb
commit 68933f1e53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 758 additions and 0 deletions

View file

@ -0,0 +1,14 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0x39, 0x54, 0xF2, 0xE5, 0xDD, 0x06, 0xD5, 0x30}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
#define VIAL_TAP_DANCE_ENTRIES 10
#define VIAL_COMBO_ENTRIES 10
#define DYNAMIC_KEYMAP_MACRO_COUNT 10

View file

@ -0,0 +1,100 @@
/* Copyright 2022 ziptyze
*
* 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_60_ansi_split_bs_rshift(
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_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_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_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_RALT, KC_RGUI, MO(1), KC_RCTL
),
[1] = LAYOUT_60_ansi_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS
),
[2] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[4] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[5] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[6] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[7] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[9] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View file

@ -0,0 +1,4 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
QMK_SETTINGS = no
KEY_OVERRIDE_ENABLE = no

View file

@ -0,0 +1,24 @@
{
"name": "pi60HSE",
"lighting": "none",
"matrix": {
"rows": 6,
"cols": 14
},
"layouts": {
"labels":[
"Split Backspace",
"Split Right Shift",
"Tsangan Bottom Row"
],
"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","0,12",{"w":2},"0,13\n\n\n0,0","0,13\n\n\n0,1","1,13\n\n\n0,1"],
[{"w":1.5},"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",{"w":1.5},"2,12"],
[{"w":1.75},"2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9","2,10","2,11",{"w":2.25},"2,13"],
[{"w":2.25},"3,0","3,1","3,2","3,3","3,4","3,5","3,6","3,7","3,8","3,9","3,10",{"w":2.75},"3,12\n\n\n1,0",{"w":1.75},"3,12\n\n\n1,1","3,13\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",{"w":6.25},"5,5\n\n\n2,0",{"w":1.25},"5,9\n\n\n2,0",{"w":1.25},"5,10\n\n\n2,0",{"w":1.25},"5,12\n\n\n2,0",{"w":1.25},"5,13\n\n\n2,0"],
[{"w":1.5},"4,0\n\n\n2,1","4,1\n\n\n2,1",{"w":1.5},"4,2\n\n\n2,1",{"w":7},"5,5\n\n\n2,1",{"w":1.5},"5,10\n\n\n2,1","5,12\n\n\n2,1",{"w":1.5},"5,13\n\n\n2,1"]
]
}
}

View file

@ -0,0 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0x80, 0x05, 0x24, 0x36, 0xEA, 0x85, 0x20, 0x78}
#define VIAL_UNLOCK_COMBO_ROWS { 1, 1 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
#define DYNAMIC_KEYMAP_MACRO_COUNT 2

View file

@ -0,0 +1,38 @@
// Copyright 2020 Nathan Spears
#include QMK_KEYBOARD_H
// Defines for task manager and such
#define CALTDEL LCTL(LALT(KC_DEL))
#define TSKMGR LCTL(LSFT(KC_ESC))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_4x12(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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_QUOT,
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
[1] = LAYOUT_ortho_4x12(
KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINUS,KC_EQUAL,KC_TRNS,
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
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_ortho_4x12(
KC_EQL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, KC_DELETE,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_BSLS, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(_______, _______) },
[2] = { ENCODER_CCW_CW(_______, _______) },
};
#endif

View file

@ -0,0 +1,12 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
TAP_DANCE_ENABLE = no
COMBO_ENABLE = no
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = no
SPACE_CADET_ENABLE = no
GRAVE_ESC_ENABLE = no
MAGIC_ENABLE = no
LTO_ENABLE = yes

View file

@ -0,0 +1,30 @@
{
"name": "Quark",
"matrix": {
"rows": 4,
"cols": 12
},
"layouts": {
"labels":[
[
"Bottom Row",
"Ortho 4x12",
"MIT (2u Space)",
"2x3u Space",
"6u Space",
"2x2.25u Space"
]
],
"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\n\n\n0,0","3,1\n\n\n0,0","3,2\n\n\n0,0","3,3\n\n\n0,0","3,4\n\n\n0,0","3,5\n\n\n0,0","3,6\n\n\n0,0","3,7\n\n\n0,0","3,8\n\n\n0,0","3,9\n\n\n0,0","3,10\n\n\n0,0","3,11\n\n\n0,0"],
["3,0\n\n\n0,1","3,1\n\n\n0,1","3,2\n\n\n0,1","3,3\n\n\n0,1","3,4\n\n\n0,1",{"w":2},"3,5\n\n\n0,1","3,7\n\n\n0,1","3,8\n\n\n0,1","3,9\n\n\n0,1","3,10\n\n\n0,1","3,11\n\n\n0,1"],
["3,0\n\n\n0,2","3,1\n\n\n0,2","3,2\n\n\n0,2",{"w":3},"3,4\n\n\n0,2",{"w":3},"3,7\n\n\n0,2","3,9\n\n\n0,2","3,10\n\n\n0,2","3,11\n\n\n0,2"],
["3,0\n\n\n0,3","3,1\n\n\n0,3","3,2\n\n\n0,3",{"w":6},"3,5\n\n\n0,3","3,9\n\n\n0,3","3,10\n\n\n0,3","3,11\n\n\n0,3"],
[{"w":1.25},"3,0\n\n\n0,4",{"w":1.25},"3,1\n\n\n0,4",{"w":1.25},"3,3\n\n\n0,4",{"w":2.25},"3,4\n\n\n0,4",{"w":2.25},"3,7\n\n\n0,4",{"w":1.25},"3,8\n\n\n0,4",{"w":1.25},"3,10\n\n\n0,4",{"w":1.25},"3,11\n\n\n0,4"]
]
}
}

View file

@ -0,0 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0x3C, 0x60, 0xD7, 0x33, 0xA9, 0xA4, 0x17, 0xB9}
#define VIAL_UNLOCK_COMBO_ROWS {0, 1}
#define VIAL_UNLOCK_COMBO_COLS {0, 11}
#define VIAL_TAP_DANCE_ENTRIES 5
#define VIAL_COMBO_ENTRIES 5
#define DYNAMIC_KEYMAP_MACRO_COUNT 5

View file

@ -0,0 +1,86 @@
// Copyright 2022 Vino Rodrigues (@vinorodrigues)
// SPDX-License-Identifier: GPL-2.0-or-later
// This keymap is the same as default; I didn't touch it but it still works so I'm not modifying it -Seirin
#include QMK_KEYBOARD_H
// more Layer Tap stuff
#define SPC_FN1 LT(1, KC_SPC)
#define SPC_FN2 LT(2, KC_SPC)
#define SPC_FN3 LT(3, KC_SPC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 1
*
* Esc Q W E R T Y U I O P BSp
*
* Tab A S D F G H J K L Entr
*
* Sft Z X C V B N M Sft Del
*
* CtrlWin AltSpace/Fn2 Fn1/Fn3
*
*/
[0] = LAYOUT(
QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RSFT, KC_UP, KC_DEL,
KC_LCTL, KC_LGUI, KC_LALT, SPC_FN2, TL_LOWR, KC_LEFT, KC_DOWN, KC_RIGHT
),
/* Layer 2
*
* ~ 1 2 3 4 5 6 7 8 9 0
*
* -_ =+ [{ ]} \|
*
* ;: '" │,< │.> │/? │ ▿ │PUp│Ins│
*
* Fn3 HomPdnEnd
*
*/
[1] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______,
_______, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, KC_COMM, KC_DOT, KC_SLSH, _______, KC_PGUP, KC_INS,
_______, _______, _______, MO(3), _______, KC_HOME, KC_PGDN, KC_END
),
/* Layer 3
*
* EscF1 F2 F3 F4 F5 F6 F7 F8 F9 F10
*
* F11F12PscSLkPau
*
* Menu Vl+Mut
*
* StoVl-Ply
*
*/
[2] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_APP, KC_VOLU, KC_MUTE,
KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_MSTP, KC_VOLD, KC_MPLY
),
/* Layer 4
*
* Rst
*
* TogModHu-Hu+St-St+
*
* mod NRO Br+
*
* Sp-Br-Sp+
*
*/
[3] = LAYOUT(
_______, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX,
_______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
),
};

View file

@ -0,0 +1,11 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
QMK_SETTINGS = no
KEY_OVERRIDE_ENABLE = no
LTO_ENABLE = yes
BOOTMAGIC_ENABLE = no
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
SPACE_CADET_ENABLE = no
GRAVE_ESC_ENABLE = no
MAGIC_ENABLE = no

View file

@ -0,0 +1,18 @@
{
"name": "IDOBAO ID42",
"vendorId": "0x6964",
"productId": "0x0042",
"lighting": "none",
"matrix": {
"rows": 4,
"cols": 12
},
"layouts": {
"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"],
[{"w":1.25},"1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9",{"w":1.75},"1,11"],
[{"w":1.75},"2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7",{"w":1.25},"2,8","2,10","2,11"],
[{"w":1.25},"3,0","3,1",{"w":1.25},"3,2",{"w":2.25},"3,3",{"w":2.75},"3,6",{"x":0.5},"3,9","3,10","3,11"]
]
}
}

View file

@ -0,0 +1,8 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0x15, 0xAA, 0x2F, 0x63, 0xC4, 0xEF, 0x61, 0xA3}
#define VIAL_UNLOCK_COMBO_ROWS {0,1}
#define VIAL_UNLOCK_COMBO_COLS {0,13}

View file

@ -0,0 +1,97 @@
/* Copyright 2017 Mathias Andersson <wraul@dbox.se>
*
* 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 layer_names {
_BASE,
_FUNC,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base Layer
*
* ,-----------------------------------------------------------. .-------------------.
* | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - |
* |-----------------------------------------------------------| |-------------------|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | |
* |-----------------------------------------------------------| |--------------| + |
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | |
* |-----------------------------------------------------------| |-------------------|
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent|
* |-----------------------------------------------------------| |--------------| |
* |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | |
* `-----------------------------------------------------------' '-------------------'
*/
[_BASE] = LAYOUT_all(
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, XXXXXXX, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
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_P7, KC_P8, KC_P9, XXXXXXX,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(_FUNC), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT
),
/* Function Layer
*
* ,-----------------------------------------------------------. .-------------------.
* | | | | | | | | | | | | | | Btldr | | | | | |
* |-----------------------------------------------------------| |-------------------|
* | | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| |-------------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| |-------------------|
* | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | |
* |-----------------------------------------------------------| |--------------| |
* | | | | | | | | | | | | |
* `-----------------------------------------------------------' '-------------------'
*/
[_FUNC] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______,
_______, XXXXXXX, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX,
_______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______
)
};
#ifdef OLED_ENABLE
bool oled_task_user(void) {
oled_write_P(PSTR("M0lly\n"),false);
// Layer status
oled_write_P(PSTR("Layer: "), false);
switch (get_highest_layer(layer_state)) {
case _BASE:
oled_write_P(PSTR("Base\n"), false);
break;
case _FUNC:
oled_write_P(PSTR("Function\n"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("Undefined"), false);
}
// Indicators
led_t led_state = host_keyboard_led_state();
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
return false;
}
#endif

View file

@ -0,0 +1,7 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
COMBO_ENABLE = yes
QMK_SETTINGS = no
KEY_OVERRIDE_ENABLE = no
ENCODER_MAP_ENABLE = yes

View file

@ -0,0 +1,287 @@
{
"name": "M0lly",
"vendorId": "0x544B",
"productId": "0x0004",
"matrix": {
"rows": 5,
"cols": 19
},
"lighting": "qmk_backlight_rgblight",
"layouts": {
"labels": [
"Split Backspace",
"ISO Enter",
"Split Numpad +",
"Split Left Shift",
"Split Right Shift",
"Split Numpad Enter",
[
"Bottom row",
"6.25U",
"7U"
],
"Split Numpad 0"
],
"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",
"0,12",
{
"c": "#aaaaaa",
"w": 2
},
"0,13\n\n\n0,0",
{
"x": 0.5,
"c": "#cccccc"
},
"0,15",
"0,16",
"0,17",
"0,18",
{
"x": 0.25
},
"0,13\n\n\n0,1",
"0,14\n\n\n0,1"
],
[
{
"c": "#aaaaaa",
"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\n\n\n1,0",
{
"x": 0.5,
"c": "#cccccc"
},
"1,15",
"1,16",
"1,17",
{
"c": "#aaaaaa",
"h": 2
},
"2,18\n\n\n2,0",
{
"x": 0.25
},
"1,18\n\n\n2,1",
{
"x": 1.25,
"w": 1.25,
"h": 2,
"w2": 1.5,
"h2": 1,
"x2": -0.25
},
"1,13\n\n\n1,1"
],
[
{
"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": "#aaaaaa",
"w": 2.25
},
"2,13\n\n\n1,0",
{
"x": 0.5,
"c": "#cccccc"
},
"2,15",
"2,16",
"2,17",
{
"x": 1.25,
"c": "#aaaaaa"
},
"2,18\n\n\n2,1",
{
"x": 0.25
},
"2,12\n\n\n1,1"
],
[
{
"w": 2.25
},
"3,0\n\n\n3,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": 2.75
},
"3,12\n\n\n4,0",
{
"x": 0.5,
"c": "#cccccc"
},
"3,15",
"3,16",
"3,17",
{
"c": "#aaaaaa",
"h": 2
},
"4,18\n\n\n5,0",
{
"x": 0.25
},
"3,18\n\n\n5,1",
{
"x": 0.25,
"w": 1.25
},
"3,0\n\n\n3,1",
"3,1\n\n\n3,1",
{
"x": 0.25,
"w": 1.75
},
"3,12\n\n\n4,1",
"3,13\n\n\n4,1"
],
[
{
"w": 1.25
},
"4,0\n\n\n6,0",
{
"w": 1.25
},
"4,1\n\n\n6,0",
{
"w": 1.25
},
"4,2\n\n\n6,0",
{
"c": "#777777",
"w": 6.25
},
"4,5\n\n\n6,0",
{
"c": "#aaaaaa",
"w": 1.25
},
"4,9\n\n\n6,0",
{
"w": 1.25
},
"4,11\n\n\n6,0",
{
"w": 1.25
},
"4,12\n\n\n6,0",
{
"w": 1.25
},
"4,13\n\n\n6,0",
{
"x": 0.5,
"c": "#cccccc",
"w": 2
},
"4,15\n\n\n7,0",
"4,17",
{
"x": 1.25,
"c": "#aaaaaa"
},
"4,18\n\n\n5,1"
],
[
{
"y": 0.25,
"w": 1.5
},
"4,0\n\n\n6,1",
"4,1\n\n\n6,1",
{
"w": 1.5
},
"4,2\n\n\n6,1",
{
"c": "#777777",
"w": 7
},
"4,5\n\n\n6,1",
{
"c": "#aaaaaa",
"w": 1.5
},
"4,11\n\n\n6,1",
"4,12\n\n\n6,1",
{
"w": 1.5
},
"4,13\n\n\n6,1",
{
"x": 0.5,
"c": "#cccccc"
},
"4,15\n\n\n7,1",
"4,16\n\n\n7,1"
]
]
}
}