Add Vial support to ProjectD Tinker 65 ANSI (#895)
* Add support for ProjectD Tinker65 ANSI Reduced nr. of layers from 13 to 4 and disabled some features to save space, because otherwise wouldn't fit EPROM * All features enabled by default All features now enabled by default, and only nr. of layers reduced to make fit. Can uncomment lines in rules.mk to squeeze a bit more free space out if features are not needed. * Fix nr. of layers in keyboard.json When uploading to github for the pull request, forgot to edit the keyboard.json to decrease the number of layers. Only did that in my local offline clone. * Moved layer reduction to vial/config.h and reverted main keyboard.json Reverted main keyboard.json back to default for upstream QMK compatibility. Put redefinition of layers back in vial/config.h but added a #undef to get rid of the definition from keyboard.json that caused this method to not build.
This commit is contained in:
parent
b2f9fd0123
commit
02a98ccd71
4 changed files with 243 additions and 0 deletions
11
keyboards/projectd/65/projectd_65_ansi/keymaps/vial/config.h
Normal file
11
keyboards/projectd/65/projectd_65_ansi/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/* SPDX-Licence-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xBC, 0xF1, 0xF0, 0x04, 0x32, 0x4B, 0x34, 0xE8}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 1, 8 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 3, 4 }
|
||||
|
||||
#undef DYNAMIC_KEYMAP_LAYER_COUNT
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 4
|
||||
93
keyboards/projectd/65/projectd_65_ansi/keymaps/vial/keymap.c
Normal file
93
keyboards/projectd/65/projectd_65_ansi/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
/* Copyright 2023 GSKY <gskyGit@gsky.com.tw>
|
||||
*
|
||||
* 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
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
enum my_keycodes {
|
||||
RGB_R = QK_USER,
|
||||
RGB_G,
|
||||
RGB_B,
|
||||
RGB_W,
|
||||
SW_cy,
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
switch (keycode) {
|
||||
|
||||
case RGB_R:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_sethsv(0, 255, 255);
|
||||
rgb_matrix_mode(1);
|
||||
}
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
case RGB_G:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_sethsv(85, 255, 255);
|
||||
rgb_matrix_mode(1);
|
||||
}
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
case RGB_B:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_sethsv(170, 255, 255);
|
||||
rgb_matrix_mode(1);
|
||||
}
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
case RGB_W:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_sethsv(0, 0, 255);
|
||||
rgb_matrix_mode(1);
|
||||
}
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
case SW_cy:
|
||||
rgb_matrix_sethsv(0, 255, 255);
|
||||
rgb_matrix_mode(13);
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
|
||||
default:
|
||||
return true; /* Process all other keycodes normally */
|
||||
}
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[0] = LAYOUT(
|
||||
QK_GESC, 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_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(
|
||||
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_TRNS, KC_TRNS, RM_TOGG, RM_NEXT, RM_PREV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_RSFT, RM_VALU, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, RM_SPDD, RM_VALD, RM_SPDU),
|
||||
[2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
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_TRNS, RGB_R, RGB_G, RGB_B, RGB_W, SW_cy, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
# TAP_DANCE_ENABLE = no
|
||||
# COMBO_ENABLE = no
|
||||
# KEY_OVERRIDE_ENABLE = no
|
||||
LTO_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
132
keyboards/projectd/65/projectd_65_ansi/keymaps/vial/vial.json
Normal file
132
keyboards/projectd/65/projectd_65_ansi/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"lighting": "vialrgb",
|
||||
|
||||
"matrix": {
|
||||
"rows": 9,
|
||||
"cols": 8
|
||||
},
|
||||
"layouts": {
|
||||
|
||||
"keymap": [
|
||||
[
|
||||
"1,3",
|
||||
"1,7",
|
||||
"2,7",
|
||||
"3,7",
|
||||
"4,7",
|
||||
"4,6",
|
||||
"5,6",
|
||||
"5,7",
|
||||
"6,7",
|
||||
"7,7",
|
||||
"8,7",
|
||||
"8,6",
|
||||
"6,6",
|
||||
{
|
||||
"w": 2
|
||||
},
|
||||
"7,1",
|
||||
"2,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"1,1",
|
||||
"1,0",
|
||||
"2,0",
|
||||
"3,0",
|
||||
"4,0",
|
||||
"4,1",
|
||||
"5,1",
|
||||
"5,0",
|
||||
"6,0",
|
||||
"7,0",
|
||||
"8,0",
|
||||
"8,1",
|
||||
"6,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"7,5",
|
||||
"7,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"2,1",
|
||||
"1,2",
|
||||
"2,2",
|
||||
"3,2",
|
||||
"4,2",
|
||||
"4,3",
|
||||
"5,3",
|
||||
"5,2",
|
||||
"6,2",
|
||||
"7,2",
|
||||
"8,2",
|
||||
"8,3",
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"8,4",
|
||||
"2,6"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"0,0",
|
||||
"1,4",
|
||||
"2,4",
|
||||
"3,4",
|
||||
"4,4",
|
||||
"4,5",
|
||||
"5,5",
|
||||
"5,4",
|
||||
"6,4",
|
||||
"7,4",
|
||||
"8,5",
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"0,7",
|
||||
"1,6",
|
||||
"6,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"0,6",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"0,5",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"0,2",
|
||||
{
|
||||
"w": 6.25
|
||||
},
|
||||
"0,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"3,6",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"3,3",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"0,3",
|
||||
"1,5",
|
||||
"2,5"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue