From 92f2aaa49560d4ba5736f465cb45419487c8bfbd Mon Sep 17 00:00:00 2001 From: Ilya Date: Mon, 9 Oct 2023 08:20:07 +0300 Subject: [PATCH] Add vial support for Jorne (#562) * add the vial to the jorne keyboard * fix by code review --- keyboards/jorne/keymaps/vial/config.h | 26 ++++++++ keyboards/jorne/keymaps/vial/keymap.c | 84 ++++++++++++++++++++++++++ keyboards/jorne/keymaps/vial/rules.mk | 13 ++++ keyboards/jorne/keymaps/vial/vial.json | 61 +++++++++++++++++++ 4 files changed, 184 insertions(+) create mode 100644 keyboards/jorne/keymaps/vial/config.h create mode 100644 keyboards/jorne/keymaps/vial/keymap.c create mode 100644 keyboards/jorne/keymaps/vial/rules.mk create mode 100644 keyboards/jorne/keymaps/vial/vial.json diff --git a/keyboards/jorne/keymaps/vial/config.h b/keyboards/jorne/keymaps/vial/config.h new file mode 100644 index 00000000000..91df02e2839 --- /dev/null +++ b/keyboards/jorne/keymaps/vial/config.h @@ -0,0 +1,26 @@ +// Copyright 2021 Joric (@joric) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define VIAL_KEYBOARD_UID {0x80, 0x41, 0x59, 0xF5, 0x4B, 0xF3, 0x50, 0x97} +#define VIAL_UNLOCK_COMBO_ROWS {0, 0} +#define VIAL_UNLOCK_COMBO_COLS {0, 1} + +#ifdef RGBLIGHT_ENABLE +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif + +// If you are using an Elite C rev3 on the slave side, uncomment the lines below: +// #define SPLIT_USB_DETECT +// #define NO_USB_STARTUP_CHECK diff --git a/keyboards/jorne/keymaps/vial/keymap.c b/keyboards/jorne/keymaps/vial/keymap.c new file mode 100644 index 00000000000..f37dc1c445d --- /dev/null +++ b/keyboards/jorne/keymaps/vial/keymap.c @@ -0,0 +1,84 @@ +// Copyright 2021 Joric (@joric) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY = 0, + _LOWER, + _RAISE, + _ADJUST, +}; + + +enum custom_keycodes { + RGBRST = SAFE_RANGE +}; + +#define RBR_RGU MT(MOD_RGUI, KC_RBRC) +#define F12_RGU MT(MOD_RGUI, KC_F12) +#define PLS_LCT MT(MOD_LCTL, KC_PPLS) +#define EQL_LCT MT(MOD_LCTL, KC_PEQL) +#define APP_LCT MT(MOD_LCTL, KC_APP) +#define EQL_RCT MT(MOD_RCTL, KC_PEQL) +#define QUO_RCT MT(MOD_RCTL, KC_QUOT) +#define APP_RCT MT(MOD_RCTL, KC_APP) +#define MIN_RCT MT(MOD_RCTL, KC_MINS) +#define EQL_LAL MT(MOD_LALT, KC_EQL) +#define BSL_RAL MT(MOD_RALT, KC_BSLS) +#define BSP_LSH MT(MOD_LSFT, KC_BSPC) +#define SPC_RSH MT(MOD_RSFT, KC_SPC) +#define DEL_RSE LT(_RAISE, KC_DEL) +#define TAB_RSE LT(_RAISE, KC_TAB) +#define ENT_LWR LT(_LOWER, KC_ENT) +#define ESC_LWR LT(_LOWER, KC_ESC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT( + KC_LGUI, KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, RGUI_T(KC_RBRC), + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, RCTL_T(KC_QUOT), + KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, BSL_RAL, + TAB_RSE, SPC_RSH, ENT_LWR, ESC_LWR, BSP_LSH, DEL_RSE +), + +[_LOWER] = LAYOUT( + _______, KC_UNDS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, F12_RGU, + PLS_LCT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, MIN_RCT, + EQL_LAL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, _______, _______, _______, _______, _______ +), + +[_RAISE] = LAYOUT( + _______, KC_NUM, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_VOLU, KC_HOME, KC_PSCR, KC_PGUP, KC_SCRL, KC_CAPS, _______, + EQL_LCT, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_MUTE, KC_LEFT, KC_UP, KC_RGHT, KC_INS, APP_RCT, + _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_VOLD, KC_END, KC_DOWN, KC_PGDN, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______ +), + +[_ADJUST] = LAYOUT( + QK_BOOT, RGBRST, AS_UP, AS_TOGG, AS_DOWN, _______, _______, _______, _______, AS_DOWN, AS_TOGG, AS_UP, RGBRST, QK_BOOT, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, RGB_VAI, RGB_SAI, RGB_HUI, RGB_TOG, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, RGB_VAD, RGB_SAD, RGB_HUD, RGB_MOD, + _______, SH_TOGG, _______, _______, SH_TOGG, _______ +), + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGBRST: + #ifdef RGBLIGHT_ENABLE + if (record->event.pressed) { + eeconfig_update_rgblight_default(); + rgblight_enable(); + } + #endif + break; + } + return true; +} + diff --git a/keyboards/jorne/keymaps/vial/rules.mk b/keyboards/jorne/keymaps/vial/rules.mk new file mode 100644 index 00000000000..982dbc29ea2 --- /dev/null +++ b/keyboards/jorne/keymaps/vial/rules.mk @@ -0,0 +1,13 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes + +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = no # Can't have RGBLIGHT and RGB_MATRIX at the same time. +MOUSEKEY_ENABLE = no +OLED_ENABLE = yes +COMBO_ENABLE = no +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control + +QMK_SETTINGS = no diff --git a/keyboards/jorne/keymaps/vial/vial.json b/keyboards/jorne/keymaps/vial/vial.json new file mode 100644 index 00000000000..a675ada2649 --- /dev/null +++ b/keyboards/jorne/keymaps/vial/vial.json @@ -0,0 +1,61 @@ +{ + "name": "Jorne", + "vendorId": "0x4753", + "productId": "0x0001", + "lighting": "qmk_rgblight", + "matrix": {"rows": 8, "cols": 6}, + "layouts": { + "keymap": [ + [{"y": 1, "x": 4}, "0,3", {"x": 7.5}, "4,3"], + [{"y": -0.875, "x": 11.5}, "4,4", {"x": 1}, "4,2"], + [{"y": -0.995, "x": 3}, "0,2", {"x": 1}, "0,4"], + [{"y": -0.88, "x": 6}, "0,5", {"x": 3.5}, "4,5"], + [{"y": -0.875, "x": 14.5}, "4,1", "4,0"], + [{"y": -0.995, "x": 1}, "0,0", "0,1"], + [{"y": -0.38, "x": 4}, "1,3", {"x": 7.5}, "5,3"], + [{"y": -0.875, "x": 13.5}, "5,2"], + [ + {"y": -0.995, "c": "#aaaaaa"}, + "3,0", + {"x": 2, "c": "#cccccc"}, + "1,2", + {"x": 1}, + "1,4", + {"x": 5.5}, + "5,4", + {"x": 4, "c": "#aaaaaa"}, + "7,0" + ], + [{"y": -0.88, "x": 6, "c": "#cccccc"}, "1,5", {"x": 3.5}, "5,5"], + [{"y": -0.875, "x": 14.5}, "5,1", {"c": "#aaaaaa"}, "5,0"], + [{"y": -0.995, "x": 1}, "1,0", {"c": "#cccccc"}, "1,1"], + [{"y": -0.38, "x": 4}, "2,3", {"x": 7.5}, "6,3"], + [ + {"y": -0.87, "x": 3}, + "2,2", + {"x": 1}, + "2,4", + {"x": 5.5}, + "6,4", + {"x": 1}, + "6,2" + ], + [{"y": -0.88, "x": 6}, "2,5", {"x": 3.5}, "6,5"], + [ + {"y": -0.87, "x": 1, "c": "#aaaaaa"}, + "2,0", + {"c": "#cccccc"}, + "2,1", + {"x": 11.5}, + "6,1", + {"c": "#aaaaaa"}, + "6,0" + ], + [{"y": -0.13, "x": 4.5, "c": "#777777"}, "3,3", {"x": 6.5}, "7,3"], + [{"r": 15, "rx": 4.5, "ry": 9.1, "y": -5}, "3,4"], + [{"r": 30, "rx": 5.4, "ry": 9.3, "y": -5.3, "x": -0.9, "h": 1.5}, "3,5"], + [{"r": -30, "rx": 11.1, "y": -4.8, "x": 0.8, "h": 1.5}, "7,5"], + [{"r": -15, "rx": 12, "ry": 9.1, "y": -4.75, "x": -0.02}, "7,4"] + ] + } +}