]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Merge pull request #952 from pvinis/master
authorJack Humbert <jack.humb@gmail.com>
Thu, 15 Dec 2016 05:03:02 +0000 (00:03 -0500)
committerGitHub <noreply@github.com>
Thu, 15 Dec 2016 05:03:02 +0000 (00:03 -0500)
update my keymap a bit

keyboards/ergodox/keymaps/pvinis/keymap.c

index df906201a8869321bb80e65f235a670d31bbaad6..87ad70c919481e40a9397599cc5d88a1c2f877b0 100644 (file)
@@ -13,20 +13,16 @@ enum {
   QWERTY,
   CARPALX,
   SYSCTL,
+  MOUSE,
 };
 
 // extra keys
 enum {
   NONE = 0,
 
-  // mouse
-  MS_UL, // up   left
-  MS_UR, // up   right
-  MS_DL, // down left
-  MS_DR, // down right
-
   // tap dance
   TD_FLSH, // flash keyboard
+  TD_LAYR, // SYSCTL and MOUSE layer switch
 };
 
 // application selection
@@ -52,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *   |      |      |      |      |      |                                       |      |      |      |      |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
- *                                        |BEGIN |QWERTY|       |SYSCTL|      |
+ *                                        |BEGIN |QWERTY|       |      |      |
  *                                 ,------|------|------|       |------+--------+------.
  *                                 |      |      |CARPAL|       |Slack |        |      |
  *                                 |Backsp|LShift|------|       |------| Enter  |Space |
@@ -66,9 +62,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 ,KC_NO          ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
 ,KC_NO          ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO
 
-                                                          ,TG(BEGIN)  ,TG(QWERTY)
-                                                                      ,TG(CARPALX)
-                                                  ,KC_BSPC  ,KC_LSFT  ,TG(SYSCTL)
+                                                          ,TG(BEGIN)  ,TD(TD_LAYR)
+                                                                      ,TG(MOUSE)
+                                                  ,KC_BSPC  ,KC_LSFT  ,TD(TD_LAYR)
 
                 ,KC_NO    ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
                 ,KC_NO    ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
@@ -85,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * a beginner's keymap i currently use.
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |        |   1  |   2  |   3  |   4  |   5  |   6  |           |   6  |   7  |   8  |   9  |   0  |   -  |   =    |
+ * |        |   1  |   2  |   3  |   4  |   5  | opt  |           |   6  |   7  |   8  |   9  |   0  |   -  |   =    |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
  * |  Tab   |   Q  |   W  |   E  |   R  |   T  |   [  |           |   ]  |   Y  |   U  |   I  |   O  |   P  |   \    |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
@@ -104,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 `--------------------'       `----------------------'
  */
 [BEGIN] = KEYMAP(
- KC_TRNS          ,KC_1    ,KC_2     ,KC_3     ,KC_4      ,KC_5    ,KC_6
+ KC_TRNS          ,KC_1    ,KC_2     ,KC_3     ,KC_4      ,KC_5    ,KC_LALT
 ,KC_TAB           ,KC_Q    ,KC_W     ,KC_E     ,KC_R      ,KC_T    ,KC_LBRC
 ,CTL_T(KC_ESC)    ,KC_A    ,KC_S     ,KC_D     ,KC_F      ,KC_G
 ,KC_LSFT          ,KC_Z    ,KC_X     ,KC_C     ,KC_V      ,KC_B    ,KC_LPRN
@@ -213,30 +209,73 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
       ,KC_TRNS  ,KC_TRNS  ,KC_TRNS
 ),
 
-
 /* SYSCTL
+ * a keymap to control my system.
+ *
+ * ,--------------------------------------------------.           ,------------------------------------------------------.
+ * |   ^    |      |      |      |      |      |      |           |      |      |      |          |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+----------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      | Mute | Home |    Up    | End  |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+----------+------+------+--------|
+ * |        |      |      |      |      |      |------|           |------|VolUp | Left |   Down   |Right |      | Lock   |
+ * |--------+------+------+------+------+------|      |           |      |------+------+----------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |VolDn | Prev |Play/Pause| Next |      | Sleep  |
+ * `--------+------+------+------+------+-------------'           `-------------+------+----------+------+------+--------'
+ *   |      |      |      |      |      |                                       |      |          |      |      | Power|
+ *   `----------------------------------'                                       `--------------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |  ^   |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+[SYSCTL] = KEYMAP(
+ KC_TRNS    ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
+,KC_NO      ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
+,KC_NO      ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO
+,KC_NO      ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
+,KC_NO      ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO
+
+                                                      ,KC_NO  ,KC_NO
+                                                              ,KC_NO
+                                              ,KC_NO  ,KC_NO  ,KC_TRNS
+
+ /*,KC_POP ///  */,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO
+ /* /// ,KC_PTRN*/,KC_NO    ,KC_MUTE  ,KC_HOME  ,KC_UP    ,KC_END   ,KC_NO    ,KC_NO
+                            ,KC_VOLU  ,KC_LEFT  ,KC_DOWN  ,KC_RGHT  ,KC_NO    ,LCTL(LSFT(KC_PWR))
+                  ,KC_NO    ,KC_VOLD  ,KC_MPRV  ,KC_MPLY  ,KC_MNXT  ,KC_NO    ,KC_SLEP
+                                      ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO    ,KC_PWR
+
+          ,KC_NO  ,KC_NO
+          ,KC_NO
+          ,KC_NO  ,KC_NO  ,KC_NO
+),
+
+/* MOUSE
  * a keymap to control my system.
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |        |      |      |      |      |      |      |           |      |      |      | Mute |VolDn |VolUp |        |
+ * |   ^    |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |           |      |      |MsUpL | MsUp |MsUpR |      |        |
+ * |        |      |      |      |      |      |      |           |      |      |      | MsUp |      |      |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |------|           |------|      |MsLeft| MsDn |MsRght|      | Lock   |
+ * |        |      |      |      |      |      |------|           |------|      |MsLeft| MsDn |MsRght|      |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |           |      |      |MsDnL | MsDn |      |      | Sleep  |
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |                                       |      |      |      |      | Power|
+ *   |      |      |      |      |      |                                       |      |      |      |      |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
  *                                        |      |      |       |      |MidClk|
  *                                 ,------|------|------|       |------+------+------.
  *                                 |      |      |      |       |      |Left  |Right |
  *                                 |      |      |------|       |------| Click| Click|
- *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |  ^   |       |      |      |      |
  *                                 `--------------------'       `--------------------'
  */
-[SYSCTL] = KEYMAP(
+[MOUSE] = KEYMAP(
  KC_TRNS    ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
 ,KC_NO      ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
 ,KC_NO      ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO
@@ -245,13 +284,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
                                                       ,KC_NO  ,KC_NO
                                                               ,KC_NO
-                                              ,KC_NO  ,KC_NO  ,KC_NO
+                                              ,KC_NO  ,KC_NO  ,KC_TRNS
 
-       /*,KC_POP*/,KC_NO    ,KC_NO  ,KC_NO  ,KC_MUTE  ,KC_VOLD  ,KC_VOLU    ,KC_NO
-      /*,KC_PTRN*/,KC_NO    ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO    ,KC_NO      ,KC_NO
-                            ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO    ,KC_NO      ,LCTL(LSFT(KC_PWR))
-                  ,KC_NO    ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO    ,KC_NO      ,KC_SLEP
-                                    ,KC_NO  ,KC_NO    ,KC_NO    ,KC_NO      ,KC_PWR
+                  ,KC_NO    ,KC_NO  ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO
+                  ,KC_NO    ,KC_NO  ,KC_NO    ,KC_MS_U  ,KC_NO    ,KC_NO    ,KC_NO
+                            ,KC_NO  ,KC_MS_L  ,KC_MS_D  ,KC_MS_R  ,KC_NO    ,KC_NO
+                  ,KC_NO    ,KC_NO  ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO
+                                    ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO    ,KC_NO
 
           ,KC_NO  ,KC_NO
           ,KC_NO
@@ -341,48 +380,29 @@ void matrix_init_user() {
   ergodox_led_all_off();
 }
 
-// extra keys
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
-  switch (id) {
+// light up leds based on the layer
+void matrix_scan_user(void) {
+  uint8_t layer = biton32(layer_state);
 
-    // mouse
-  case MS_UL:
-    if (record->event.pressed) {
-      mousekey_on(KC_MS_UP);
-      mousekey_on(KC_MS_LEFT);
-    } else {
-      mousekey_off(KC_MS_UP);
-      mousekey_off(KC_MS_LEFT);
-    }
-    break;
-  case MS_UR:
-    if (record->event.pressed) {
-      mousekey_on(KC_MS_UP);
-      mousekey_on(KC_MS_RIGHT);
-    } else {
-      mousekey_off(KC_MS_UP);
-      mousekey_off(KC_MS_RIGHT);
-    }
+  switch(layer) {
+  case SYSCTL:
+    ergodox_right_led_3_on();
     break;
-  case MS_DL:
-    if (record->event.pressed) {
-      mousekey_on(KC_MS_DOWN);
-      mousekey_on(KC_MS_LEFT);
-    } else {
-      mousekey_off(KC_MS_DOWN);
-      mousekey_off(KC_MS_LEFT);
-    }
+  case MOUSE:
+    ergodox_right_led_2_on();
     break;
-  case MS_DR:
-    if (record->event.pressed) {
-      mousekey_on(KC_MS_DOWN);
-      mousekey_on(KC_MS_RIGHT);
-    } else {
-      mousekey_off(KC_MS_DOWN);
-      mousekey_off(KC_MS_RIGHT);
-    }
+  default:
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
     break;
   }
+}
+
+// extra keys
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  switch (id) {
+  }
   return MACRO_NONE;
 }
 
@@ -425,6 +445,31 @@ void flash_dance_reset(qk_tap_dance_state_t *state, void *user_data) {
   ergodox_right_led_3_off();
 }
 
+// SYSCTL on first tap, MOUSE ON second tap
+void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
+  uint8_t layer = biton32(layer_state);
+
+  switch(state->count) {
+  case 1:
+    switch(layer) {
+    case SYSCTL:
+      layer_off(SYSCTL);
+      break;
+    case MOUSE:
+      layer_off(MOUSE);
+      break;
+    default:
+      layer_on(SYSCTL);
+      break;
+    }
+    break;
+  case 2:
+    layer_on(MOUSE);
+    break;
+  }
+}
+
 qk_tap_dance_action_t tap_dance_actions[] = {
   [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ),
+  [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ),
 };