]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
simplify
authorCallum Oakley <c.oakley108@gmail.com>
Fri, 20 Jan 2017 21:22:18 +0000 (21:22 +0000)
committerCallum Oakley <c.oakley108@gmail.com>
Fri, 20 Jan 2017 21:22:18 +0000 (21:22 +0000)
keyboards/planck/keymaps/callum/keymap.c
keyboards/planck/keymaps/callum/readme.md

index 4d0151710ef0858498cef4926a54ff4b0fc02a56..a1254d975589f2574b5ef40db83ef9dc5fd7f24f 100644 (file)
@@ -7,22 +7,21 @@
 
 extern keymap_config_t keymap_config;
 
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
 #define _BASE 0
 #define _MOVE 1
 #define _SYMB 2
 #define _MOUSE 3
 #define _FUNC 4
+#define CMDLEFT LGUI(KC_LEFT)
+#define CMDRGHT LGUI(KC_RGHT)
+#define ENDASH LALT(KC_MINS)
+#define POUND LALT(KC_3)
+
 
 enum planck_keycodes {
   MOVE = SAFE_RANGE,
   SYMB,
-  FUNC,
-  BELOW,
-  ABOVE
+  FUNC
 };
 
 // Fillers to make layering more clear
@@ -55,16 +54,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * |  Del | Caps | Left | Down | Right|      |      | Left | Down | Right| Caps |  Del |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |      |      |      | Pg Up| Pg Dn| Above|      | Pg Dn| Pg Up|      |      |      |
+ * |      |      |      | Pg Up| Pg Dn|      |      | Pg Dn| Pg Up|      |      |      |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |      |      |      |      |      | Below|      |      |      |      |      |      |
+ * |      |      |      |      |      |      |      |      |      |      |      |      |
  * `-----------------------------------------------------------------------------------'
  */
 [_MOVE] = {
-  {KC_ESC,  XXXXXXX, LGUI(KC_LEFT), KC_UP, LGUI(KC_RGHT), XXXXXXX, XXXXXXX, LGUI(KC_LEFT), KC_UP, LGUI(KC_RGHT), XXXXXXX, KC_ESC },
+  {KC_ESC,  XXXXXXX, CMDLEFT, KC_UP,   CMDRGHT, XXXXXXX, XXXXXXX, CMDLEFT, KC_UP,   CMDRGHT, XXXXXXX, KC_ESC },
   {KC_DEL,  KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL },
-  {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN,   ABOVE, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},
-  {_______, _______, _______, _______, _______,   BELOW, _______, _______, _______, _______, _______, _______}
+  {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},
+  {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
 },
 
 /* SYMB
@@ -79,8 +78,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * `-----------------------------------------------------------------------------------'
  */
 [_SYMB] = {
-  {KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    LALT(KC_MINS)},
-  {KC_DEL,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, LALT(KC_3)},
+  {KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    ENDASH },
+  {KC_DEL,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, POUND  },
   {_______, KC_TILD, KC_GRV,  KC_PLUS, KC_EQL,  KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______},
   {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
 },
@@ -153,30 +152,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       }
       return false;
       break;
-    case BELOW:
-      if (record->event.pressed) {
-        register_code(KC_LGUI);
-        register_code(KC_RGHT);
-        unregister_code(KC_RGHT);
-        unregister_code(KC_LGUI);
-        register_code(KC_ENT);
-        unregister_code(KC_ENT);
-      }
-      return false;
-      break;
-    case ABOVE:
-      if (record->event.pressed) {
-        register_code(KC_LGUI);
-        register_code(KC_LEFT);
-        unregister_code(KC_LEFT);
-        unregister_code(KC_LGUI);
-        register_code(KC_ENT);
-        unregister_code(KC_ENT);
-        register_code(KC_UP);
-        unregister_code(KC_UP);
-      }
-      return false;
-      break;
   }
   return true;
 }
index 0baeba46d9f628378a04f24c8b9064781d9a732d..f970cd974d5b5115d82b736edfb6a0e2c9b3345a 100644 (file)
@@ -2,11 +2,11 @@
 
 This is a layout for the grid planck, built with a few ideals in mind:
 
-- Minimal response times should be maintained. Keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided – they inevitably send their keycode later than a normal key – interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording as our only means of getting more than one symbol out of a single physical key.
+- Consistent and minimal response times should be maintained. Keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided – they inevitably send their keycode later than a normal key – interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording as our only means of getting more than one symbol out of a single physical key.
 - The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible.
 - There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make.
 
-We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster and other movement keys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation.
+We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster and other movement keys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation. The `MOUSE` layer is activated by holding the Move and Symb keys simultaniously.
 
 ```
 /* BASE
@@ -27,9 +27,9 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * |  Del | Caps | Left | Down | Right|      |      | Left | Down | Right| Caps |  Del |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |      |      |      | Pg Up| Pg Dn| Above|      | Pg Dn| Pg Up|      |      |      |
+ * |      |      |      | Pg Up| Pg Dn|      |      | Pg Dn| Pg Up|      |      |      |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |      |      |      |      |      | Below|      |      |      |      |      |      |
+ * |      |      |      |      |      |      |      |      |      |      |      |      |
  * `-----------------------------------------------------------------------------------'
  */
 
@@ -63,9 +63,9 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * |      |  F11 |  F12 |  F13 |  F14 |  F15 |  F16 |  F17 |  F18 |  F19 |  F20 | Vol- |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |      |  F21 |  F22 |  F23 |  F24 |      |      | Lock |      |      |      |      |
+ * |      |  F21 |  F22 |  F23 |  F24 |      |      | Power|      |      |      |      |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * |      |      |      |      | Prev | Mute | Play | Next |      |      |      |      |
  * `-----------------------------------------------------------------------------------'
  */
-```
+ ```