diff options
Diffstat (limited to 'keyboards/kprepublic/bm40hsrgb/keymaps')
20 files changed, 2367 insertions, 0 deletions
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h new file mode 100644 index 0000000000..7618683d10 --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h @@ -0,0 +1,56 @@ +// Copyright 2021 Taeyoon Kim (@partrita) +// SPDX-License-Identifier: GPL-2.0-or-later +// /* +// Set any config.h overrides for your specific keymap here. +// See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file +// */ +#pragma once + +#define TAPPING_TERM 200 // time of holding key, milliseconds + +// Prevent normal rollover on alphas from accidentally triggering mods. +#define IGNORE_MOD_TAP_INTERRUPT + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. +#define TAPPING_FORCE_HOLD + +// Mouse key speed and acceleration. +#undef MOUSEKEY_DELAY +#define MOUSEKEY_DELAY 0 +#undef MOUSEKEY_INTERVAL +#define MOUSEKEY_INTERVAL 16 +#undef MOUSEKEY_WHEEL_DELAY +#define MOUSEKEY_WHEEL_DELAY 0 +#undef MOUSEKEY_MAX_SPEED +#define MOUSEKEY_MAX_SPEED 6 +#undef MOUSEKEY_TIME_TO_MAX +#define MOUSEKEY_TIME_TO_MAX 64 + +// The firmware is too large! +#define COMBO_COUNT 1 // number of combo +#define COMBO_TERM 80 // timeout period for combos to 40ms. + +//disable broken animations +#ifdef RGB_MATRIX_ENABLE +# undef ENABLE_RGB_MATRIX_ALPHAS_MODS +# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# 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_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_JELLYBEAN_RAINDROPS +# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP +# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN +# undef RGB_MATRIX_DEFAULT_MODE +// # define RGBLIGHT_HUE_STEP 20 +#endif diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c new file mode 100644 index 0000000000..423dd14325 --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c @@ -0,0 +1,91 @@ +// Copyright 2021 Taeyoon Kim (@partrita) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "keymap_korean.h" + +enum layers { + _Base, + _Navi, + _Numb, + _Func, +}; + +// Left-hand home row mods - Base Layer +#define HOME_A LGUI_T(KC_A) +#define HOME_S LALT_T(KC_S) +#define HOME_D LCTL_T(KC_D) +#define HOME_F LSFT_T(KC_F) +#define HOME_J RSFT_T(KC_J) +#define HOME_K LCTL_T(KC_K) +#define HOME_L LALT_T(KC_L) +#define HOME_QU LGUI_T(KC_QUOT) + +// layer keys +#define Lay_SPC LT(_Func,KC_SPC) +#define NAVI MO(_Navi) +#define NUMB MO(_Numb) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_Base] = LAYOUT_planck_mit( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, + HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_NO, KC_NO, KC_H, HOME_J, HOME_K, HOME_L, HOME_QU, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_NO, KC_NO, KC_NO, NAVI, Lay_SPC, KC_NO, KC_BSPC, NUMB, KC_NO, KC_NO, KC_NO + ), + [_Navi] = LAYOUT_planck_mit( + KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ESC, KC_NO, KC_NO, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END, + KC_LSFT, HOME_S, HOME_D, HOME_F, KC_TAB, KC_NO, KC_NO, KC_ENT, KC_RSFT, HOME_K, HOME_L, HOME_QU, + KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, KC_NO, KC_NO, KC_BTN2, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + KC_NO, KC_NO, KC_NO, KC_NO, Lay_SPC, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO + ), + [_Numb] = LAYOUT_planck_mit( + KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, KC_NO, KC_NO, KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, + KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, KC_NO, KC_NO, KC_ENT, KC_RSFT, HOME_K, HOME_L, HOME_QU, + KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KR_HAEN, KC_NO, + KC_NO, KC_NO, KC_NO, KC_0, KC_MINS, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO + ), + [_Func] = LAYOUT_planck_mit( + KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, KC_NO, KC_NO, KC_CAPS, KC_RSFT, HOME_K, HOME_L, HOME_QU, + KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_NO, KC_NO, KC_INS, KC_NO, KC_NO, KR_HAEN, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, Lay_SPC, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO + ), +}; + + +// color by layer +layer_state_t layer_state_set_user(layer_state_t state) { + uint8_t layer = get_highest_layer(state); + switch (layer) { + case _Navi: + rgblight_mode_noeeprom(RGB_MATRIX_RAINBOW_BEACON); + break; + case _Numb: + rgblight_mode_noeeprom(RGB_MATRIX_HUE_PENDULUM); + break; + case _Func: + rgblight_mode_noeeprom(RGB_MATRIX_GRADIENT_LEFT_RIGHT); + break; + default: + rgblight_mode_noeeprom(RGB_MATRIX_SOLID_REACTIVE_WIDE); + } + return state; +} + +// COMBO key for HOME ROW modifier +// modify `config.h` file +// by adding #define COMBO_COUNT 1 (replacing 1 with the number that you’re using). +// modify `rules.mk` file +// by adding # COMBO_ENABLE = yes + +enum combos { + SFT_HAN, +}; + +const uint16_t PROGMEM sft_han_combo[] = {LSFT_T(KC_F), LT(_Func,KC_SPC), COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + [SFT_HAN] = COMBO(sft_han_combo, KC_LNG1), +};
\ No newline at end of file diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h new file mode 100644 index 0000000000..c366c20a8c --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h @@ -0,0 +1,85 @@ +// Copyright 2022 Fae Fankhauser (@CoffeeIsLife87) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define LAYER_STATE_8BIT + +// RGB Matrix effects disable +#ifdef RGB_MATRIX_ENABLE +# define UNDERGLOW_DISABLE + +# define RGB_TRIGGER_ON_KEYDOWN + +# define RGB_MATRIX_LED_FLUSH_LIMIT 10 + +# undef ENABLE_RGB_MATRIX_SOLID_COLOR +# 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_OUT_IN +# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# 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_WIDE +# 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_SPLASH +# undef ENABLE_RGB_MATRIX_SOLID_SPLASH +# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif + +// If RGBLight is enabled +#ifdef RGBLIGHT_ENABLE +# define RGBLED_NUM RGB_MATRIX_LED_COUNT + +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +#endif + +// Feature disable +#ifndef NO_PRINT +# define NO_PRINT +#endif + +#ifndef NO_DEBUG +# define NO_DEBUG +#endif + +#ifndef NO_ACTION_ONESHOT +# define NO_ACTION_ONESHOT +#endif + +// Configure features +#ifdef DYNAMIC_MACRO_ENABLE +# define DYNAMIC_MACRO_USER_CALL +# define DYNAMIC_MACRO_NO_NESTING +#endif + +#ifdef MOUSEKEY_ENABLE +# define MOUSEKEY_INTERVAL 16 // 60 FPS +# define MK_3_SPEED +#endif
\ No newline at end of file diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c new file mode 100644 index 0000000000..720c7a1d3f --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c @@ -0,0 +1,166 @@ +// Copyright 2022 Fae Fankhauser (@CoffeeIsLife87) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + NULLKEY = SAFE_RANGE, // An empty key to start (and maybe end) the enum + #ifdef DYNAMIC_MACRO_ENABLE + MCR_PLY, // Macro play + MCR_REC, // Macro record + MCR_SWT, // Swap active macro + #endif +}; + +enum layout_names { + _MAIN = 0, // Keys Layout: The main keyboard layout that has all the characters + _SUB, // Extension to Main + _CTR, // Macros, RGB, Audio controls, layer access. More or less the control center of my keyboard + _END, +}; + +#ifdef DYNAMIC_MACRO_ENABLE + // Macro 1 is = 1, Macro 2 = -1, No macro = 0 + static bool MACRO1 = true; + static bool RECORDING = false; + + static uint16_t REC = DM_REC1; + static uint16_t PLY = DM_PLY1; + + void dynamic_macro_record_start_user(void) { + REC = DM_RSTP; + RECORDING = true; + } + void dynamic_macro_record_end_user(int8_t direction) { + RECORDING = false; + } +#else + #define MCR_PLY KC_NO + #define MCR_REC KC_NO + #define MCR_SWT KC_NO +#endif + +const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = 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, XXXXXXX,KC_LALT ,MO(_SUB), KC_SPC ,MO(_CTR), KC_LEFT, KC_DOWN, KC_UP , KC_RGHT + ), + [_SUB] = 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_DEL, + XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_PGUP, + _______, KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , XXXXXXX, KC_HOME, KC_END , KC_BSLS, KC_PGDN, + _______, _______, XXXXXXX, _______, _______, _______ , _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_CTR] = LAYOUT_planck_mit( + XXXXXXX, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, MCR_REC, + XXXXXXX, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, MCR_PLY, + XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, XXXXXXX, MCR_SWT, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +#define LAYER (get_highest_layer(layer_state)) +#define LAYER_SIZE (MATRIX_ROWS * MATRIX_COLS) +#define CHECK_LED() \ + if ((i >= RGB_MATRIX_LED_COUNT) \ + || ((g_led_config.flags[pos] == LED_FLAG_NONE) || (g_led_config.flags[pos] == LED_FLAG_UNDERGLOW))) \ + continue + +#ifdef RGB_MATRIX_ENABLE + + #ifdef UNDERGLOW_DISABLE + void keyboard_pre_init_user(void) { + + for (int key_id = 0; key_id < RGB_MATRIX_LED_COUNT; key_id++ ) { + if (g_led_config.flags[key_id] == LED_FLAG_UNDERGLOW) { + g_led_config.flags[key_id] = LED_FLAG_NONE; + } + } + } + #endif + + bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (LAYER != _MAIN) { + + int DimmedMax = UINT8_MAX - (UINT8_MAX - rgb_matrix_config.hsv.v); + + for (uint8_t i = led_min; i <= led_max; i++) { + + uint8_t pos = ((uint8_t*)g_led_config.matrix_co)[i]; + + CHECK_LED(); // Check LED before moving on + uint16_t KC = pgm_read_word(&((uint16_t*)keymaps)[(LAYER_SIZE * LAYER) + i]); + + if (KC == KC_NO) { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, 0, 0 ); + } + + #ifdef DYNAMIC_MACRO_ENABLE + else if (KC == MCR_SWT) { + if (!MACRO1) { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, DimmedMax, DimmedMax); + } + } else if (KC == MCR_REC) { + if (RECORDING) { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, DimmedMax, 0, 0); + } + } + #endif + + } + } + return false; + } +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + #ifdef DYNAMIC_MACRO_ENABLE + if (keycode == MCR_REC) keycode = REC; + if (keycode == MCR_PLY) keycode = PLY; + if (!process_dynamic_macro(keycode, record)) { + REC = (MACRO1 ? DM_REC1 : DM_REC2); + return false; + } + #endif + + switch (keycode) { + #ifdef DYNAMIC_MACRO_ENABLE + case MCR_SWT: + if (!RECORDING && record->event.pressed) { + // if the button is pressed and we're not recording + MACRO1 = !MACRO1; + if (MACRO1) { + REC = DM_REC1; + PLY = DM_PLY1; + } else { + REC = DM_REC2; + PLY = DM_PLY2; + } + } + return false; + #endif + + #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) // this only needs to be defined if both are enabled + case RGB_TOG: // We can intercept this keycode ig? Cool :) + if (record->event.pressed) { + if (rgb_matrix_is_enabled()) { + rgb_matrix_disable/*_noeeprom*/(); + rgblight_enable/*_noeeprom*/(); + } else if (rgblight_is_enabled()) { + rgb_matrix_disable/*_noeeprom*/(); + rgblight_disable/*_noeeprom*/(); + } else { + rgb_matrix_enable/*_noeeprom*/(); + rgblight_disable/*_noeeprom*/(); + } + } + return false; + #endif + + default: + return true; //Process all other keycodes normally + } +} diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md new file mode 100644 index 0000000000..66c518e347 --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md @@ -0,0 +1,55 @@ +# Kprepublic BM40HSRGB Coffee + +A layout that aims to be familiar to people that have used larger boards + +## The layout + +The primary layer ( `_MAIN` ) is as close to standard qwerty as I could get. +``` +esc | q | w | e | r | t | y | u | i | o | p | bksp +tab | a | s | d | f | g | h | j | k | l | ; | ' +shft | z | x | c | v | b | n | m | , | . | / | rtrn +ctrl | win | | alt | SUB | spc | CTR | lft | dwn | up | rght +``` + +The secondary layer ( `_SUB` ) is for syntax, F keys, and number keys +``` +grv | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | del + | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | pgup + _ | F7 | F8 | F9 | F10 | F11 | F12 | | home | end | \ | pgdn + _ | _ | | _ | _ | _ | _ | | | | +``` + +The control layer ( `_CTR` ) is for lighting, media, and macros +``` + | SPD- | BRI+ | SPD+ | HUE+ | SAT+ | | | VOL+ | | | MCR_REC + | EFCT- | BRI- | EFCT+ | HUE- | SAT- | | PREV | PLAY | NEXT | | MCR_PLY + | | TOG | | | | | | VOL- | | | MCR_SWT + | | | | | _ | | | | | +``` + +| Key name | Explanation | +| -------- | -------------------------------------- | +| \_ | Passthrough the key on the layer below | +| SUB | Goes to _SUB layer while held down | +| CTR | Goes to _CTR layer while held down | +| SPD +/- | Changes speed for the RGB effect | +| BRI +/- | Changes the brightness of the lighting | +| EFCT +/- | Moves to the next/previous effect | +| TOG | Toggles the lighting on or off | +| HUE +/- | Changes the hue for RGB effects | +| SAT +/- | Changes the saturation for RGB effects | +| MSE | Toggles the Mouse layer | +| VOL +/- | Raises or lowers media volume | +| PREV | Goes to previous media | +| PLAY | Play/Pause media | +| NEXT | Goes to next media | +| MCR_REC | Record macro ( Press again to stop ) | +| MCR_PLY | Play recorded macro | +| MCR_SWT | Switch active macro | + +## Compiling + +Compiling: `make kprepublic/bm40hsrgb:coffee` + +Flashing: `make kprepublic/bm40hsrgb:coffee:flash` diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/config.h new file mode 100644 index 0000000000..67f7e7cd6f --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/config.h @@ -0,0 +1,7 @@ +// Copyright 2021 Dan Kim (@syntax-magic) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define TAPPING_TERM 168 +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c new file mode 100644 index 0000000000..7e87d088d8 --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c @@ -0,0 +1,334 @@ +/* Copyright 2020 tominabox1 + * + * 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 layers { + _ALPHA, + _LEFTFN, + _RIGHTFN, + _NUMPAD, + _LEAGUE, + _PUBG, + _OVERWATCH, + _STARCRAFT, + _TETRIS, + _CLEAN, + _RGB +}; + +#define ALPHA TO(_ALPHA) +#define LEFTFN MO(_LEFTFN) +#define RIGHTFN MO(_RIGHTFN) +#define NUMPAD MO(_NUMPAD) +#define LEAGUE TG(_LEAGUE) +#define PUBG TG(_PUBG) +#define OVERWATCH TG(_OVERWATCH) +#define STARCRAFT TG(_STARCRAFT) +#define TETRIS TG(_TETRIS) +#define CLEAN TG(_CLEAN) +#define RGB MO(_RGB) + +// Tap dance declarations +enum { + TD_LNG1_LNG2, + TD_PAST_PSLS +}; + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_LNG1_LNG2] = ACTION_TAP_DANCE_DOUBLE(KC_LNG1, KC_LNG2), + [TD_PAST_PSLS] = ACTION_TAP_DANCE_DOUBLE(KC_PAST, KC_PSLS) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* ALPHA + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Return| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |ESC/NU|KOR/HN| Win | Alt |LEFTFN| Space |RFN/- | = |Delete| \ | Enter| + * `-----------------------------------------------------------------------------------' + */ +[_ALPHA] = LAYOUT_planck_mit( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, 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, + LT(NUMPAD, KC_ESC), TD(TD_LNG1_LNG2), KC_LGUI, KC_LALT, LEFTFN, KC_SPC, LT(RIGHTFN, KC_MINS), KC_EQL, KC_DEL, KC_BSLS, KC_PENT +), + +/* LEFTFN + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Left | Down | Up |Right |Ctrl+/| PGUP | [ | ] | ) | : | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift|CapLck| Ins | Home | End | PGDN |PrntSc| ( | , | . | / |Return| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | RGB | [ | ] | Alt | Trns | Space | _ | + |Delete| | | Enter| + * `-----------------------------------------------------------------------------------' + */ +[_LEFTFN] = 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_BSPC, + KC_LCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LCTL(KC_SLSH), KC_PGUP, KC_LBRC, KC_RBRC, KC_RPRN, KC_COLN, KC_DQUO, + KC_LSFT, KC_CAPS, KC_INS, KC_HOME, KC_END, KC_PGDN, KC_PSCR, KC_LPRN, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + RGB, KC_LBRC, KC_RBRC, KC_LALT, KC_TRNS, KC_SPC, KC_UNDS, KC_PLUS, KC_DEL, KC_PIPE, KC_PENT +), + +/* RIGHTFN + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | F12 | F11 | F10 | F9 | Pause| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | | | | | | | F8 | F7 | F6 | F5 |Scllck| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| | | | | | | F4 | F3 | F2 | F1 | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | Alt | | Space | Trns | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_RIGHTFN] = LAYOUT_planck_mit( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_F11, KC_F10, KC_F9, KC_PAUS, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F8, KC_F7, KC_F6, KC_F5, KC_SCRL, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F3, KC_F2, KC_F1, KC_NO, + KC_NO, KC_NO, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO +), + +/* NUMPAD + * ,-----------------------------------------------------------------------------------. + * | *or/ | 7 | 8 | 9 | NumLk| | | | | | | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Alt | 4 | 5 | 6 |Return| | | | | | Shift| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | - | 1 | 2 | 3 | Bksp | | | | , | . | Ctrl |Return| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Trns | , | + | . | 0 | Space |LEAGUE| PUBG | OVWCh| SC |TETRIS| + * `-----------------------------------------------------------------------------------' + */ +[_NUMPAD] = LAYOUT_planck_mit( + TD(TD_PAST_PSLS), KC_P7, KC_P8, KC_P9, KC_NUM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC, + KC_LALT, KC_P4, KC_P5, KC_P6, KC_ENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_NO, + KC_PMNS, KC_P1, KC_P2, KC_P3, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_COMM, KC_DOT, KC_LCTL, KC_ENT, + KC_TRNS, KC_COMM, KC_PPLS, KC_PDOT, KC_P0, KC_SPC, LEAGUE, PUBG, OVERWATCH, STARCRAFT, TETRIS +), + +/* LEAGUE + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | 5 | Y | | | O | P | ESC | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | A | S | D | F | | | | | L | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | 6 | 4 | 1 | B | | | | | |Return| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | 3 | X | C | Alt | 2 | Space | | | | | ALPHA| + * `-----------------------------------------------------------------------------------' + */ +[_LEAGUE] = LAYOUT_planck_mit( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_5, KC_Y, KC_NO, KC_NO, KC_O, KC_P, KC_ESC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_L, KC_NO, KC_NO, + KC_LSFT, KC_Z, KC_6, KC_4, KC_1, KC_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, + KC_3, KC_X, KC_C, KC_LALT, KC_2, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA +), + +/* PUBG + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | ESC | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | 1 | A | S | D | F | G | H | J | K | L | | F7 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | 3 | X | C | V | B | M | , | . | | F9 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | 5 | 4 | Alt | 2 | Space | 6 | 8 | 7 | 9 | ALPHA| + * `-----------------------------------------------------------------------------------' + */ +[_PUBG] = LAYOUT_planck_mit( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ESC, + KC_1, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_NO, KC_F7, + KC_LSFT, KC_Z, KC_3, KC_X, KC_C, KC_V, KC_B, KC_M, KC_COMM, KC_DOT, KC_NO, KC_F9, + KC_LCTL, KC_5, KC_4, KC_LALT, KC_2, KC_SPC, KC_6, KC_8, KC_7, KC_9, ALPHA +), + +/* OVERWATCH + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | ESC | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | 1 | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Return| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | | | Alt | 2 | Space | Bksp | | | | ALPHA| + * `-----------------------------------------------------------------------------------' + */ +[_OVERWATCH] = LAYOUT_planck_mit( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ESC, + KC_1, 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_NO, KC_NO, KC_LALT, KC_2, KC_SPC, KC_BSPC, KC_NO, KC_NO, KC_NO, ALPHA +), + +/* STARCRAFT + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Return| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | | | Alt | F1 | Space | F10 | Pause|Delete| | ALPHA| + * `-----------------------------------------------------------------------------------' + */ +[_STARCRAFT] = LAYOUT_planck_mit( + + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, 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_ESC, KC_NO, KC_NO, KC_LALT, KC_F1, KC_SPC, KC_F10, KC_PAUS, KC_DEL, KC_NO, ALPHA +), + +/* TETRIS + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | Up | E | R | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | A | Left | Down | Right| F | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | | | Alt | S | Space | | | | | ALPHA| + * `-----------------------------------------------------------------------------------' + */ +[_TETRIS] = LAYOUT_planck_mit( + + KC_TAB, KC_Q, KC_UP, KC_E, KC_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_A, KC_LEFT, KC_DOWN, KC_RIGHT, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_Z, KC_X |