aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Bustamante <gabriel.bustamante@usach.cl>2021-09-08 03:53:33 -0300
committerGitHub <noreply@github.com>2021-09-07 23:53:33 -0700
commit541e1012912e320e0f65ac1e24f9f8659a5571a8 (patch)
tree0235a9a1eb24887839b998d35267e0f5de780742
parent3ef01a3482b76a956ba2f9f399a14d9e2f86b362 (diff)
downloadqmk_firmware-541e1012912e320e0f65ac1e24f9f8659a5571a8.tar.gz
qmk_firmware-541e1012912e320e0f65ac1e24f9f8659a5571a8.zip
[Keymap] New keymap for bm40 (#14182)
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h91
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c125
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/readme.md47
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/rules.mk5
4 files changed, 268 insertions, 0 deletions
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
new file mode 100644
index 000000000..9047c260d
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
@@ -0,0 +1,91 @@
1#pragma once
2/* Copyright 2021 Gabriel Bustamante Toledo
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18// default but used in macros
19#undef TAPPING_TERM
20#define TAPPING_TERM 200
21
22// Prevent normal rollover on alphas from accidentally triggering mods.
23#define IGNORE_MOD_TAP_INTERRUPT
24
25// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
26#define TAPPING_FORCE_HOLD
27
28// Auto Shift
29#define NO_AUTO_SHIFT_ALPHA
30#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
31#define AUTO_SHIFT_NO_SETUP
32
33// Recommended for heavy chording.
34#define QMK_KEYS_PER_SCAN 4
35
36// Mouse key speed and acceleration.
37#undef MOUSEKEY_DELAY
38#define MOUSEKEY_DELAY 0
39#undef MOUSEKEY_INTERVAL
40#define MOUSEKEY_INTERVAL 16
41#undef MOUSEKEY_WHEEL_DELAY
42#define MOUSEKEY_WHEEL_DELAY 0
43#undef MOUSEKEY_MAX_SPEED
44#define MOUSEKEY_MAX_SPEED 6
45#undef MOUSEKEY_TIME_TO_MAX
46#define MOUSEKEY_TIME_TO_MAX 64
47
48#define RGBLIGHT_LAYERS
49#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
50#define RGBLIGHT_EFFECT_BREATHING
51#define RGBLIGHT_EFFECT_RAINBOW_MOOD
52#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
53#define RGBLIGHT_EFFECT_SNAKE
54#define RGBLIGHT_EFFECT_KNIGHT
55#define RGBLIGHT_EFFECT_CHRISTMAS
56#define RGBLIGHT_EFFECT_STATIC_GRADIENT
57#define RGBLIGHT_EFFECT_RGB_TEST
58#define RGBLIGHT_EFFECT_ALTERNATING
59#define RGBLIGHT_EFFECT_TWINKLE
60
61#define RGBLIGHT_LIMIT_VAL 10
62
63//bootmagic
64#define BOOTMAGIC_KEY_SALT KC_V
65#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q
66
67#ifdef RGB_MATRIX_ENABLE
68
69#define DISABLE_RGB_MATRIX_ALPHAS_MODS
70#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
71#define DISABLE_RGB_MATRIX_BREATHING
72#define DISABLE_RGB_MATRIX_BAND_SAT
73#define DISABLE_RGB_MATRIX_BAND_VAL
74#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
75#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
76#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
77#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
78#define DISABLE_RGB_MATRIX_CYCLE_ALL
79#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
80#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
81#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
82#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
83#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
84#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
85#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
86
87#undef RGB_MATRIX_STARTUP_MODE
88
89#define RGBLIGHT_HUE_STEP 20
90
91#endif \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c
new file mode 100755
index 000000000..1ebea1817
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c
@@ -0,0 +1,125 @@
1/* Copyright 2021 Gabriel Bustamante Toledo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16#include QMK_KEYBOARD_H
17
18enum layers { BASE1, BASE2, MEDIA, NAV, MOUSE, SYM, NUM, FUN };
19
20enum {
21 TD_MEDIA, TD_SCREEN,
22};
23
24qk_tap_dance_action_t tap_dance_actions[] = {
25 [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
26 [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
27};
28
29void set_color(int r, int g, int b){
30 rgb_matrix_set_color(5, r, g, b);
31 rgb_matrix_set_color(6, r, g, b);
32 rgb_matrix_set_color(17, r, g, b);
33 rgb_matrix_set_color(18, r, g, b);
34 rgb_matrix_set_color(29, r, g, b);
35 rgb_matrix_set_color(30, r, g, b);
36 rgb_matrix_set_color(41, r, g, b);
37}
38
39void rgb_matrix_indicators_user(void) {
40
41 switch (get_highest_layer(layer_state)) {
42 case BASE2:
43 set_color(128, 64, 0);
44 break;
45 case MEDIA:
46 set_color(50, 10, 20);
47 break;
48 case NAV:
49 set_color(0, 40, 50);
50 break;
51 case MOUSE:
52 set_color(0, 0, 50);
53 break;
54 case SYM:
55 set_color(0, 50, 1.9);
56 break;
57 case NUM:
58 set_color(10, 0, 50);
59 break;
60 case FUN:
61 set_color(50, 0, 0);
62 break;
63 }
64}
65
66const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
67
68 [BASE1] = LAYOUT_planck_mit(
69 KC_Q, KC_W, KC_E, KC_R, KC_T, TG(BASE2), KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P,
70 KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_QUOT,
71 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
72 TD(TD_SCREEN), TD(TD_MEDIA), LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), KC_NO, LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), C(G(KC_LEFT)), C(G(KC_RIGHT))
73 ),
74
75 [BASE2] = LAYOUT_planck_mit(
76 KC_Q, KC_W, KC_E, KC_R, KC_T, TG(BASE2), KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P,
77 LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_NO, KC_NO, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT),
78 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
79 TD(TD_SCREEN), TD(TD_MEDIA), LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), KC_NO, LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), KC_NO, KC_NO
80 ),
81
82 [MEDIA] = LAYOUT_planck_mit(
83 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
84 KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT,
85 KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
86 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO
87 ),
88
89 [NAV] = LAYOUT_planck_mit(
90 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, C(KC_S), C(KC_V), C(KC_C), C(KC_X), C(KC_Z),
91 KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
92 KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
93 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, KC_NO
94 ),
95
96 [MOUSE] = LAYOUT_planck_mit(
97 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, C(KC_S), C(KC_V), C(KC_C), C(KC_X), C(KC_Z),
98 KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R,
99 KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R,
100 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
101 ),
102
103 [SYM] = LAYOUT_planck_mit(
104 KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
105 KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
106 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
107 KC_NO, KC_NO, KC_LPRN, KC_RPRN, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
108 ),
109
110 [NUM] = LAYOUT_planck_mit(
111 KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
112 KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
113 KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
114 KC_NO, KC_NO, KC_DOT, KC_0, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
115 ),
116
117 [FUN] = LAYOUT_planck_mit(
118 KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,
119 KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
120 KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
121 KC_NO, KC_NO, KC_APP, KC_SPC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
122 )
123
124};
125
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/readme.md
new file mode 100644
index 000000000..40ad85b70
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/readme.md
@@ -0,0 +1,47 @@
1# Gabustoledo
2
3### Compile
4
5- Compile:
6
7 `qmk compile -kb bm40hsrgb -km gabustoledo`
8
9### Flash
10
11- Flash:
12
13 `qmk flash -kb bm40hsrgb -km gabustoledo`
14
15# Layout
16
17## BASE
18
19![img](https://i.imgur.com/2H9WkM8.png)
20
21## Base 2
22
23![img](https://i.imgur.com/16Y7cN2.png)
24
25## MEDIA
26
27![img](https://i.imgur.com/CQH2Zo8.png)
28
29## NAVIGATION
30
31![img](https://i.imgur.com/lcdBhfG.png)
32
33## MOUSE
34
35![img](https://i.imgur.com/kAaxSkb.png)
36
37## SYMBOL
38
39![img](https://i.imgur.com/i3rZYdq.png)
40
41## NUMBER
42
43![img](https://i.imgur.com/ijb2Dd8.png)
44
45## FUNCTION
46
47![img](https://i.imgur.com/QMoLXsP.png) \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/rules.mk b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/rules.mk
new file mode 100644
index 000000000..f9a7c7790
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/rules.mk
@@ -0,0 +1,5 @@
1MOUSEKEY_ENABLE = yes # Mouse keys
2EXTRAKEY_ENABLE = yes # Audio control and System control
3AUTO_SHIFT_ENABLE = yes # Auto Shift
4TAP_DANCE_ENABLE = yes
5BOOTMAGIC_ENABLE = yes \ No newline at end of file