From 465dd1e7cec0ad65be867f79de910f47d94bd749 Mon Sep 17 00:00:00 2001 From: jotix <69703151+jotix@users.noreply.github.com> Date: Sat, 5 Mar 2022 21:46:27 -0300 Subject: [PATCH] Bm40hsrgb jotix vial (#130) * leds on in layers 4 & 5 * bm40hsrgb jotix_vial keymap --- .../bm40hsrgb/keymaps/jotix_vial/config.h | 57 +++++++++ .../bm40hsrgb/keymaps/jotix_vial/keymap.c | 110 ++++++++++++++++++ .../bm40hsrgb/keymaps/jotix_vial/readme.md | 1 + .../bm40hsrgb/keymaps/jotix_vial/rules.mk | 9 ++ .../bm40hsrgb/keymaps/jotix_vial/vial.json | 15 +++ 5 files changed, 192 insertions(+) create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/config.h create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/keymap.c create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/readme.md create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/rules.mk create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/vial.json diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/config.h new file mode 100644 index 0000000000..99837a6e0e --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/config.h @@ -0,0 +1,57 @@ +#pragma once + +/* Configuration for Vial */ +#define VIAL_KEYBOARD_UID {0x6A, 0x02, 0xE7, 0x64, 0x1D, 0x59, 0x0D, 0xC8} + +// to unlock the keyboard +#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 11 } + +// number of layers +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 +#define VIAL_COMBO_ENTRIES 16 + +// make the firmware size smaller by undefining some rgb effects +#undef ENABLE_RGB_MATRIX_ALPHAS_MODS +#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#undef ENABLE_RGB_MATRIX_BREATHING +#undef ENABLE_RGB_MATRIX_BAND_SAT +#undef ENABLE_RGB_MATRIX_BAND_VAL +#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#undef ENABLE_RGB_MATRIX_CYCLE_ALL +#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#undef ENABLE_RGB_MATRIX_DUAL_BEACON +#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON +#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#undef ENABLE_RGB_MATRIX_RAINDROPS +#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#undef ENABLE_RGB_MATRIX_HUE_BREATHING +#undef ENABLE_RGB_MATRIX_HUE_PENDULUM +#undef ENABLE_RGB_MATRIX_HUE_WAVE +#undef ENABLE_RGB_MATRIX_PIXEL_RAIN +#undef ENABLE_RGB_MATRIX_PIXEL_FLOW +#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL +#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP +#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#undef ENABLE_RGB_MATRIX_SPLASH +#undef ENABLE_RGB_MATRIX_MULTISPLASH +#undef ENABLE_RGB_MATRIX_SOLID_SPLASH +#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/keymap.c new file mode 100644 index 0000000000..1e2078afff --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/keymap.c @@ -0,0 +1,110 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_planck_mit ( +// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ + 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_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_LGUI,KC_LALT,KC_RALT,MO(1), KC_SPC, MO(2), KC_LEFT,KC_DOWN,KC_UP, KC_RGHT +// └───────┴───────┴───────┴───────┴───────┴───────────────┴───────┴───────┴───────┴───────┴───────┘ +), + +[1] = LAYOUT_planck_mit ( +// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, +// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ + KC_CAPS,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, _______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────────────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______, MO(3), _______,_______,_______,_______ +// └───────┴───────┴───────┴───────┴───────┴───────────────┴───────┴───────┴───────┴───────┴───────┘ +), + +[2] = LAYOUT_planck_mit ( +// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ + KC_TILD,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,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, _______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────────────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,MO(3), _______, _______,_______,_______,_______,_______ +// └───────┴───────┴───────┴───────┴───────┴───────────────┴───────┴───────┴───────┴───────┴───────┘ +), + +[3] = LAYOUT_planck_mit ( +// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ + _______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────────────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______ +// └───────┴───────┴───────┴───────┴───────┴───────────────┴───────┴───────┴───────┴───────┴───────┘ +), + +[4] = LAYOUT_planck_mit ( +// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────────────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______ +// └───────┴───────┴───────┴───────┴───────┴───────────────┴───────┴───────┴───────┴───────┴───────┘ +), + +[5] = LAYOUT_planck_mit ( +// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// ├───────┼───────┼───────┼───────┼───────┼───────────────┼───────┼───────┼───────┼───────┼───────┤ + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______ +// └───────┴───────┴───────┴───────┴───────┴───────────────┴───────┴───────┴───────┴───────┴───────┘ +), + +}; + +bool led_update_user(led_t led_state) { + // NumLock allways on + if (!led_state.num_lock) { + tap_code(KC_NUMLOCK); + } + return true; +} + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + + // Caps Lock indicator on alphanumeric flagged keys: + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = led_min; i <= led_max; i++) { + if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) { + rgb_matrix_set_color(i, RGB_WHITE); + } + } + } + + // Layer indicator with only configured keys: + if (get_highest_layer(layer_state) > 0) {uint8_t layer = get_highest_layer(layer_state); + for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { + for (uint8_t col = 0; col < MATRIX_COLS; ++col) { + uint8_t index = g_led_config.matrix_co[row][col]; + if (index >= led_min && index <= led_max && index != NO_LED && + keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { + rgb_matrix_set_color(index, RGB_RED); + } + } + } + } +} diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/readme.md new file mode 100644 index 0000000000..bf731c966c --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/readme.md @@ -0,0 +1 @@ +# The vial jotix-keymap for bm40hsrgb diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/rules.mk b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/rules.mk new file mode 100644 index 0000000000..7b442ee3cc --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/rules.mk @@ -0,0 +1,9 @@ +BOOTMAGIC_ENABLE = yes +VIA_ENABLE = yes +VIAL_ENABLE = yes +VIALRGB_ENABLE = yes +MOUSEKEY_ENABLE = yes +COMBO_ENABLE = yes +TAP_DANCE_ENABLE = no +LTO_ENABLE = no +QMK_SETTINGS = no diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/vial.json b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/vial.json new file mode 100644 index 0000000000..678c882dce --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/jotix_vial/vial.json @@ -0,0 +1,15 @@ +{ + "name": "bm40hsrgb", + "vendorId": "0x4B50", + "productId": "0x3430", + "lighting": "vialrgb", + "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"], + ["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",{"w": 2},"3,5","3,7","3,8","3,9","3,10","3,11"] + ] + } +}