Просмотр исходного кода

[Keymap] Added tap dance to LNG1 key (LNG2) (#18682)

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: syntax-magic <dkim.8881@gmail.com>
syntax-magic 2 лет назад
Родитель
Сommit
846e9d4c53

+ 7 - 0
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

+ 47 - 41
keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c

@@ -41,42 +41,53 @@ enum layers {
 #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 |
+ * |  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/NP|  KOR | Win  | Alt  |LEFTFN|    Space    |RFN/- |   =  |Delete|  \   | Enter|
+ * |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), KC_LNG1, KC_LGUI, KC_LALT, LEFTFN,     KC_SPC,      LT(RIGHTFN, KC_MINS), KC_EQL,  KC_DEL,  KC_BSLS, KC_PENT
+    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+/|HANJA |   [  |   ]  |   )  |   :  |  "   |
+ * | Ctrl | Left | Down | Up   |Right |Ctrl+/| PGUP |   [  |   ]  |   )  |   :  |  "   |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| PGUP | PGDN | Home | End  | CAPS |PRNTSR|   (  |   ,  |   .  |   /  |Return|
+ * | Shift|CapLck| Ins  | Home | End  | PGDN |PrntSc|   (  |   ,  |   .  |   /  |Return|
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | RGB  |   [  |   ]  | Alt  | Trns |    Space    |   _  |   +  | INS  |   |  | Enter|
+ * | 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_LNG2, KC_LBRC, KC_RBRC, KC_RPRN, KC_COLN, KC_DQUO,
-    KC_LSFT, KC_PGUP, KC_PGDN, KC_HOME, KC_END,   KC_CAPS,        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_INS,  KC_PIPE, KC_PENT
+    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
@@ -99,23 +110,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* NUMPAD
  * ,-----------------------------------------------------------------------------------.
- * |   *  |   7  |   8  |   9  | NumLk|      |      |      |      |      |      | Bksp |
+ * | *or/ |   7  |   8  |   9  | NumLk|      |      |      |      |      |      | Bksp |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * |  Alt |   4  |   5  |   6  |Return|      |      |      |      |      | Shift|      |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |   -  |   1  |   2  |   3  | Bksp |      |      |      |      |      | Ctrl |Return|
+ * |   -  |   1  |   2  |   3  | Bksp |      |      |      |   ,  |   .  | Ctrl |Return|
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * | Trns |   ,  |   +  |   .  |   0  |    Space    |LEAGUE| PUBG | OVWCh|  SC  |TETRIS|
  * `-----------------------------------------------------------------------------------'
  */
 [_NUMPAD] = LAYOUT_planck_mit(
-    KC_ASTR, KC_P7,   KC_P8,   KC_P9,   KC_NLCK, 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_NO, KC_NO,     KC_LCTL,   KC_ENT,
-    KC_TRNS, KC_COMM, KC_PPLS, KC_PDOT, KC_0,       KC_SPC,    LEAGUE, PUBG,  OVERWATCH, STARCRAFT, TETRIS
+    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  |
@@ -248,21 +258,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 /*
-
 // Key Matrix to LED Index
 { 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11},
 {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23},
 {24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35},
 {36, 37, 38, 39, 40,   41,   42, 43, 44, 45, 46}
-
 */
-
 void rgb_matrix_indicators_user(void) {
-    uint8_t red[3] = {50, 5, 0};
-    uint8_t yellow[3] = {50, 50, 0};
-    uint8_t blue[3] = {0, 15, 50};
-    uint8_t green[3] = {15, 33, 1};
+    uint8_t red[3] = {22, 2, 0};
+    uint8_t yellow[3] = {20, 22, 0};
+    uint8_t blue[3] = {0, 6, 20};
+    uint8_t green[3] = {14, 22, 0};
+    uint8_t purple[3] = {6, 0, 22};
+    uint8_t pink[3] = {17, 0, 22};
     uint8_t white[3] = {255, 255, 255};
+    uint8_t wasd[4] = {2, 13, 14, 15};
 
     switch (get_highest_layer(layer_state)) {
         case _ALPHA:
@@ -274,54 +284,50 @@ void rgb_matrix_indicators_user(void) {
         case _NUMPAD:
             break;
         case _LEAGUE:
-            rgb_matrix_set_color(15, yellow[0], yellow[1], yellow[2]);
             rgb_matrix_set_color(16, red[0], red[1], red[2]);
+            rgb_matrix_set_color(15, yellow[0], yellow[1], yellow[2]);
             rgb_matrix_set_color(29, blue[0], blue[1], blue[2]);
-            rgb_matrix_set_color(42, green[0], green[1], green[2]);
-
+            rgb_matrix_set_color(10, purple[0], purple[1], purple[2]);
             break;
-
         case _PUBG:
             rgb_matrix_set_color(43, green[0], green[1], green[2]);
-
             break;
-
         case _OVERWATCH:
             rgb_matrix_set_color(44, green[0], green[1], green[2]);
             break;
-
         case _STARCRAFT:
             rgb_matrix_set_color(45, green[0], green[1], green[2]);
             break;
-
         case _TETRIS:
-            rgb_matrix_set_color(46, green[0], green[1], green[2]);
+            for (int i = 0; i < sizeof wasd; i++) {
+                rgb_matrix_set_color(wasd[i], pink[0], pink[1], pink[2]);
+            }
             break;
-
         case _CLEAN:
             rgb_matrix_set_color_all(white[0], white[1], white[2]);
             break;
-
         case _RGB:
             break;
     }
 
     led_t led_state = host_keyboard_led_state();
-
     //Capslock led
     if (led_state.caps_lock) {
         rgb_matrix_set_color(12, green[0], green[1], green[2]);
     }
-
     //Numlock led
     if (led_state.num_lock) {
     } else {
         rgb_matrix_set_color(11, green[0], green[1], green[2]);
     }
-
     //Scroll lock led
     if (led_state.scroll_lock) {
         rgb_matrix_set_color(23, green[0], green[1], green[2]);
     }
+}
 
+// Turn of RGB Matrix Effect
+void keyboard_post_init_user(void) {
+    rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
+    rgb_matrix_sethsv_noeeprom(HSV_OFF);
 }

+ 16 - 9
keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md

@@ -1,6 +1,8 @@
 # Dan's KPrepublic BM40 Keymap
 
->This is my personal keymap with an LED indicator support for num lock, caps lock and scroll lock. 
+> ** There isn't a qmk firmware for the new bm40 v2 pcb yet. Check with your vendor before purchasing.  
+>  
+>This is my personal keymap with an LED indicator support for num lock, caps lock and scroll lock.
 
 ![](https://i.imgur.com/2yclc1B.jpg)
 > * Case: Poseidon PSD40 Case
@@ -8,6 +10,11 @@
 > * Keycaps: WOB ABS Cherry Profile
 > * Switches: Gazzew Boba u4t (62g 2 stage long spring)
 
+![](https://i.imgur.com/imqhjZW.jpg)
+> * Case: JJ40 Aluminium Acclive Case with Acrylic Diffuser
+> * Keycaps: YMDK DSA Keycaps
+> * Artisan: Rodríguez Cap by Polykeys
+
 ### BM40 LED INDEX
 **_Numlock (11) Capslock (12) Scroll lock (23)_**
 
@@ -37,19 +44,19 @@
 | **_1_** | TAB |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  | BSP |
 | **_2_** | CTL |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |
 | **_3_** | SFT |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  | RET |
-| **_4_** | &nbsp;ESC | KOR | WIN | &nbsp;&nbsp;ALT | &nbsp;&nbsp;&nbsp;FN | &nbsp;SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- | &nbsp;&nbsp;&nbsp;&nbsp;= | DEL | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\ | ENT |
+| **_4_** | &nbsp;ESC | KOR | WIN | &nbsp;&nbsp;ALT | &nbsp;&nbsp;&nbsp;FN | &nbsp;SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- | &nbsp;&nbsp;&nbsp;&nbsp;= | DEL | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\\ | ENT |
 >This is a base layer for typing.
 
 <br />
-
+,
 ### LEFTFN MO(FN)
 
 |         | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
 |---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
 | **_1_** |  \` |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  | BSP |
-| **_2_** | CTL | LFT | DN  | UP  | RHT | C+/ | HAN |  [  |  ]  |  )  |  :  |  "  |
-| **_3_** | SFT | PGU | PGD | HOM | END | CAP | PRN |  (  |  ,  |  .  |  /  | RET |
-| **_4_** | RGB |  [  |  ]  | &nbsp;ALT | TRN | &nbsp;SPC || &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ | &nbsp;&nbsp;&nbsp;&nbsp;+ | &nbsp;INS | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | ENT |
+| **_2_** | CTL | LFT | DN  | UP  | RHT | C+/ | PGU |  [  |  ]  |  )  |  :  |  "  |
+| **_3_** | SFT | CAPS| INS | HOM | END | PGD | PRN |  (  |  ,  |  .  |  /  | RET |
+| **_4_** | RGB |  [  |  ]&nbsp;  | ALT | TRN | &nbsp;SPC || &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ | &nbsp;&nbsp;&nbsp;&nbsp;+ | &nbsp;DEL | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\| | ENT |
 >This is the layer dedicated to number, symbol and navigation keys. ie) arrow keys
 
 <br />
@@ -70,9 +77,9 @@
 
 |         | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
 |---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
-| **_1_** |  *  |  7  |  8  |  9  | NUM |     |     |     |     |     |     | BSP |
-| **_2_** | ALT |  4  |  5  |  6  | RET |     |     |     |     |     |     |     |
-| **_3_** |  -  |  1  |  2  |  3  | BSP |     |     |     |     |     |     | RET |
+| **_1_** | *or/|  7  |  8  |  9  | NUM |     |     |     |     |     |     | BSP |
+| **_2_** | ALT |  4  |  5  |  6  | RET |     |     |     |     |     | SFT |     |
+| **_3_** |  -  |  1  |  2  |  3  | BSP |     |     |     |  ,  |  .  | CTL | RET |
 | **_4_** | TRN | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;. | &nbsp;&nbsp;&nbsp;0 | SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;LY1 | &nbsp;LY2 | &nbsp;LY3 | &nbsp;LY4 | &nbsp;LY5 |
 >This layer is the numpad.
 

+ 1 - 0
keyboards/kprepublic/bm40hsrgb/keymaps/dan/rules.mk

@@ -0,0 +1 @@
+TAP_DANCE_ENABLE = yes