From 2793760cdf30f03b3a0fa82d748bef931f0eb5f9 Mon Sep 17 00:00:00 2001 From: Jared G Date: Sun, 29 Aug 2021 12:41:23 -0500 Subject: [PATCH] Added Vial keymap for Cajal (#48) * Added Vial keymaps for Cajal * Updated Vial keymap with ortho & staggered layouts --- keyboards/walletburner/cajal/config.h | 2 + .../walletburner/cajal/keymaps/vial/config.h | 24 ++++++ .../walletburner/cajal/keymaps/vial/keymap.c | 77 +++++++++++++++++++ .../walletburner/cajal/keymaps/vial/rules.mk | 5 ++ .../walletburner/cajal/keymaps/vial/vial.json | 30 ++++++++ keyboards/walletburner/cajal/rules.mk | 2 +- 6 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 keyboards/walletburner/cajal/keymaps/vial/config.h create mode 100644 keyboards/walletburner/cajal/keymaps/vial/keymap.c create mode 100644 keyboards/walletburner/cajal/keymaps/vial/rules.mk create mode 100644 keyboards/walletburner/cajal/keymaps/vial/vial.json diff --git a/keyboards/walletburner/cajal/config.h b/keyboards/walletburner/cajal/config.h index f653710e6c..9c3acbe1ec 100644 --- a/keyboards/walletburner/cajal/config.h +++ b/keyboards/walletburner/cajal/config.h @@ -36,6 +36,8 @@ #define ENCODERS_PAD_A { D6 } #define ENCODERS_PAD_B { D7 } +#define ENCODER_DIRECTION_FLIP +#define ENCODER_RESOLUTION 4 /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/walletburner/cajal/keymaps/vial/config.h b/keyboards/walletburner/cajal/keymaps/vial/config.h new file mode 100644 index 0000000000..ac31743c2b --- /dev/null +++ b/keyboards/walletburner/cajal/keymaps/vial/config.h @@ -0,0 +1,24 @@ +#define VIAL_KEYBOARD_UID {0x5D, 0x4C, 0x59, 0xD5, 0xE8, 0x37, 0xB5, 0xEF} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 13 } + +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 +#define LAYER_STATE_8BIT +// #define VIAL_COMBO_ENTRIES 8 +// #define VIAL_TAP_DANCE_ENTRIES 8 + +#undef RGBLIGHT_ANIMATIONS +// #define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_TWINKLE + +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +#define RGBLIGHT_BREATHE_TABLE_SIZE 128 // 256(default) or 128 or 64 diff --git a/keyboards/walletburner/cajal/keymaps/vial/keymap.c b/keyboards/walletburner/cajal/keymaps/vial/keymap.c new file mode 100644 index 0000000000..404757efc2 --- /dev/null +++ b/keyboards/walletburner/cajal/keymaps/vial/keymap.c @@ -0,0 +1,77 @@ +/* Copyright 2020 Worldspawn + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +#define CTL_TAB CTL_T(KC_TAB) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ortho( + KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_BSPC, RGB_TOG, + CTL_TAB, 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_LSFT, KC_UP , + KC_APP , KC_LCTL, KC_LGUI, KC_LALT, MO(1) , KC_SPC , KC_SPC , MO(2) , KC_RALT, KC_RCTL, KC_DEL , KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_ortho( + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC, KC_BSLS, RGB_MOD, + _______, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_BSLS, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_SCLN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, KC_PGUP, + _______, _______, _______, _______, _______, _______, _______, MO(3) , _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + + [2] = LAYOUT_ortho( + KC_TILD, 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_SAD, RGB_SAI, _______, RGB_VAI, + _______, _______, _______, _______, MO(3) , _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI + ), + + [3] = LAYOUT_ortho( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +void matrix_init_user(void) { + setPinOutput(B5); + writePinLow(B5); + setPinOutput(B6); + writePinLow(B6); + setPinOutput(B7); + writePinLow(B7); +} + +layer_state_t layer_state_set_user(layer_state_t state) { + writePinLow(B5); + writePinLow(B6); + writePinLow(B7); + switch (get_highest_layer(state)) { + case 1: + writePinHigh(B5); + break; + case 2: + writePinHigh(B6); + break; + case 3: + writePinHigh(B7); + break; + } + return state; +} diff --git a/keyboards/walletburner/cajal/keymaps/vial/rules.mk b/keyboards/walletburner/cajal/keymaps/vial/rules.mk new file mode 100644 index 0000000000..d10d247e20 --- /dev/null +++ b/keyboards/walletburner/cajal/keymaps/vial/rules.mk @@ -0,0 +1,5 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes + +VIAL_ENCODERS_ENABLE = yes diff --git a/keyboards/walletburner/cajal/keymaps/vial/vial.json b/keyboards/walletburner/cajal/keymaps/vial/vial.json new file mode 100644 index 0000000000..6ed296eaf8 --- /dev/null +++ b/keyboards/walletburner/cajal/keymaps/vial/vial.json @@ -0,0 +1,30 @@ +{ + "name": "Cajal", + "vendorId": "0x5742", + "productId": "0x6361", + "lighting": "qmk_backlight_rgblight", + "matrix": { + "rows": 4, + "cols": 14 + }, + "layouts": { + "labels": [ + [ + "Layout", + "Staggered", + "Ortho" + ] + ], + "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",{"x":0.25},"0,13"], + [{"w":1.25},"1,0\n\n\n0,0","1,1\n\n\n0,0","1,2\n\n\n0,0","1,3\n\n\n0,0","1,4\n\n\n0,0","1,5\n\n\n0,0","1,6\n\n\n0,0","1,7\n\n\n0,0","1,8\n\n\n0,0","1,9\n\n\n0,0","1,10\n\n\n0,0",{"w":1.75},"1,11\n\n\n0,0",{"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"], + [{"w":1.75},"2,0\n\n\n0,0","2,1\n\n\n0,0","2,2\n\n\n0,0","2,3\n\n\n0,0","2,4\n\n\n0,0","2,5\n\n\n0,0","2,6\n\n\n0,0","2,7\n\n\n0,0","2,8\n\n\n0,0","2,9\n\n\n0,0",{"w":1.25},"2,10\n\n\n0,0"], + [{"y":-0.75,"x":12.5},"2,12"], + [{"y":-0.25,"w":1.25},"3,0\n\n\n0,0","3,1\n\n\n0,0",{"w":1.25},"3,2\n\n\n0,0",{"w":2.25},"3,3\n\n\n0,0",{"w":2.75},"3,6\n\n\n0,0",{"w":1.25},"3,8\n\n\n0,0",{"w":1.25},"3,9\n\n\n0,0"], + [{"y":-0.75,"x":11.5},"3,11","3,12","3,13"], + [{"y":0.5},"1,0\n\n\n0,1","1,1\n\n\n0,1","1,2\n\n\n0,1","1,3\n\n\n0,1","1,4\n\n\n0,1","1,5\n\n\n0,1","1,6\n\n\n0,1","1,7\n\n\n0,1","1,8\n\n\n0,1","1,9\n\n\n0,1","1,10\n\n\n0,1","1,11\n\n\n0,1","1,12\n\n\n0,1"], + ["2,0\n\n\n0,1","2,1\n\n\n0,1","2,2\n\n\n0,1","2,3\n\n\n0,1","2,4\n\n\n0,1","2,5\n\n\n0,1","2,6\n\n\n0,1","2,7\n\n\n0,1","2,8\n\n\n0,1","2,9\n\n\n0,1","2,10\n\n\n0,1","2,11\n\n\n0,1"], + ["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","3,5\n\n\n0,1","3,6\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"] + ] + } +} diff --git a/keyboards/walletburner/cajal/rules.mk b/keyboards/walletburner/cajal/rules.mk index 173b00fee0..a552695551 100644 --- a/keyboards/walletburner/cajal/rules.mk +++ b/keyboards/walletburner/cajal/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug