]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Add new features to dshields keymap.
authorDaniel Shields <dshields@bats.com>
Fri, 5 May 2017 14:49:35 +0000 (15:49 +0100)
committerDaniel Shields <dshields@bats.com>
Thu, 11 May 2017 08:16:55 +0000 (09:16 +0100)
- one shot layers, dynamic macros and tap dance keys
- add a basic readme.md and layout image.

keyboards/planck/keymaps/dshields/Makefile
keyboards/planck/keymaps/dshields/config.h
keyboards/planck/keymaps/dshields/keyboard-layout.jpg [new file with mode: 0644]
keyboards/planck/keymaps/dshields/keymap.c
keyboards/planck/keymaps/dshields/readme.md [new file with mode: 0644]

index 5eaceda534cdb163e2d866ecb3a96b1bc509532d..9e18a3542eec4006809d3d23b02c959d44bc97ad 100644 (file)
@@ -7,5 +7,6 @@ COMMAND_ENABLE   = yes # Commands for debug and configuration
 BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = no 
+TAP_DANCE_ENABLE = yes 
 AUDIO_ENABLE     = no
+API_SYSEX_ENABLE = no
index 35358af0b0e70b8b4fc590d2b8ecda6ffe34ad56..4d5be0a268b49548c968a12ca9a601a6360327ff 100644 (file)
@@ -1,23 +1,31 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
-#ifndef NO_DEBUG
-#define NO_DEBUG
-#endif
-#ifndef NO_PRINT
-#define NO_PRINT
-#endif
-
 #include "../../config.h"
 
-#define TAPPING_TOGGLE 2
-#define TAPPING_TERM 300
-
-#define ONESHOT_TAP_TOGGLE 2
-#define ONESHOT_TIMEOUT 300
-
 #define _______ KC_TRNS
 #define XXXXXXX KC_NO
 
+#define ONESHOT_TAP_TOGGLE      2
+#define ONESHOT_TIMEOUT         500
+
+#define MOUSEKEY_INTERVAL       20
+#define MOUSEKEY_DELAY          0
+#define MOUSEKEY_TIME_TO_MAX    60
+#define MOUSEKEY_MAX_SPEED      7
+#define MOUSEKEY_WHEEL_DELAY    0
+
+#define DM_PLAY DYN_MACRO_PLAY1
+#define DM_STRT DYN_REC_START1
+#define DM_STOP DYN_REC_STOP
+
+#define OSL_RSE OSL(RSE)
+#define OSL_LWR OSL(LWR)
+#define OSL_FUN OSL(FUN)
+
+#define OSM_CTL OSM(MOD_LCTL)
+#define OSM_ALT OSM(MOD_LALT)
+#define OSM_SFT OSM(MOD_LSFT)
+
 #endif
 
diff --git a/keyboards/planck/keymaps/dshields/keyboard-layout.jpg b/keyboards/planck/keymaps/dshields/keyboard-layout.jpg
new file mode 100644 (file)
index 0000000..142f821
Binary files /dev/null and b/keyboards/planck/keymaps/dshields/keyboard-layout.jpg differ
index e96a67a53ac1da05906d39573aa7330b37c38e5d..ed7621c77beca351159437f7bae6d60a90e17042 100644 (file)
@@ -7,7 +7,10 @@
 extern keymap_config_t keymap_config;
 
 enum planck_layers { DEF, LWR, RSE, FUN };
-enum planck_keycodes { M1 = SAFE_RANGE, M2, M3, M4 };
+enum planck_keycodes { DYNAMIC_MACRO_RANGE = SAFE_RANGE };
+enum tap_dance_keys { TD_SCLN };
+
+#include "dynamic_macro.h"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Default
@@ -16,16 +19,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |------+------+------+------+------+-------------+------+------+------+------+------|
      * |   A  |   S  |   D  |   F  |   G  | Tab  | Enter|   H  |   J  |   K  |   L  |   ;  |
      * |------+------+------+------+------+------|------+------+------+------+------+------|
-     * |   Z  |   X  |   C  |   V  |   B  | Shift| Play |   N  |   M  |   ,  |   .  |   /  |
+     * |   Z  |   X  |   C  |   V  |   B  | Shift|DmPlay|   N  |   M  |   ,  |   .  |   /  |
      * |------+------+------+------+------+------+------+------+------+------+------+------|
      * | Ctrl | Super| Alt  | Fun  | Lower|    Space    | Raise| Left | Down |  Up  |Right |
      * `-----------------------------------------------------------------------------------'
      */
     [DEF] = {
-        {KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_ESC,        KC_BSPC, KC_Y,    KC_U,    KC_I,    KC_O,    KC_P},
-        {KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_TAB,        KC_ENT,  KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN},
-        {KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    OSM(MOD_LSFT), XXXXXXX, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH},
-        {KC_LCTL, KC_LGUI, KC_LALT, TT(FUN), TT(LWR), KC_SPC,        KC_SPC,  TT(RSE), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+        {KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_ESC,  KC_BSPC, KC_Y,    KC_U,    KC_I,    KC_O,   KC_P},
+        {KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_TAB,  KC_ENT,  KC_H,    KC_J,    KC_K,    KC_L,   TD(TD_SCLN)},
+        {KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    OSM_SFT, DM_PLAY, KC_N,    KC_M,    KC_COMM, KC_DOT, KC_SLSH},
+        {OSM_CTL, KC_LGUI, OSM_ALT, OSL_FUN, OSL_LWR, KC_SPC,  KC_SPC,  OSL_RSE, KC_LEFT, KC_DOWN, KC_UP,  KC_RGHT}
     },
     /* Lower
      * ,-----------------------------------------------------------------------------------.
@@ -50,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |------+------+------+------+------+-------------+------+------+------+------+------|
      * |   `  |      |      |      |      |      |      |   -  |   =  |      |   [  |   ]  |
      * |------+------+------+------+------+------|------+------+------+------+------+------|
-     * |      |      |      |      |      |      |      |      |      |      |      |      |
+     * |      |      |      |      |      |      |      |      |      |      |   '  |   \  |
      * |------+------+------+------+------+------+------+------+------+------+------+------|
      * |      |      |      |      |      |             |      | Home | PgDn | PgUp | End  |
      * `-----------------------------------------------------------------------------------'
@@ -65,30 +68,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * ,-----------------------------------------------------------------------------------.
      * |  F1  |  F2  |  F3  |  F4  |  F5  | Reset|Delete|  F6  |  F7  |  F8  |  F9  | F10  |
      * |------+------+------+------+------+-------------+------+------+------+------+------|
-     * | F11  | F12  | F13  | F14  | F15  |      |      | F16  | F17  | F18  | F19  | F20  |
+     * | F11  | F12  | F13  | F14  | F15  |      |      |      |MsWhLt|MsWhDn|MsWhUp|MsWhRt|
      * |------+------+------+------+------+------|------+------+------+------+------+------|
-     * |BlTggl|BlStep|      |  M1  |  M2  |      |      |  M3  |  M4  |MsBtn1|MsBtn2|MsBtn3|
+     * |BlTggl|BlStep|      |      |      |DmStrt|DmStop|      |      |MsBtn1|MsBtn2|MsBtn3|
      * |------+------+------+------+------+------+------+------+------+------+------+------|
      * |      |      |      |      |      |             |      |MsLeft|MsDown| MsUp |MsRght|
      * `-----------------------------------------------------------------------------------'
      */
     [FUN] = {
         {KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   RESET,   KC_DEL,  KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10},
-        {KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  _______, _______, KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20},
-        {BL_TOGG, BL_STEP, _______, M1,      _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3},
+        {KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R},
+        {BL_TOGG, BL_STEP, _______, _______, _______, DM_STRT, DM_STOP, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3},
         {_______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R}
     },
 
 };
 
+qk_tap_dance_action_t tap_dance_actions[] = {
+    [TD_SCLN]  = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, S(KC_SCLN))  // once for semi-colon, twice for colon
+};
+
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case M1:
-            if (record->event.pressed) {
-                SEND_STRING(" 2>&1 > ");
-            }
-            return false;
-            break;
+    if (!process_record_dynamic_macro(keycode, record)) {
+        return false;
     }
     return true;
 }
diff --git a/keyboards/planck/keymaps/dshields/readme.md b/keyboards/planck/keymaps/dshields/readme.md
new file mode 100644 (file)
index 0000000..447eaae
--- /dev/null
@@ -0,0 +1,12 @@
+
+About
+------
+
+A simple split qwerty Planck layout that makes use of one-shot modifiers,
+one-shot layers, tap-dance keys and dynamic macros.
+
+Layout
+-------
+
+![Layout](keyboard-layout.jpg "Keyboard Layout")
+