]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/planck/keymaps/callum/keymap.c
Keymap update (#5382)
[qmk_firmware.git] / keyboards / planck / keymaps / callum / keymap.c
index 039e8024823f8eea342fa60bd1dac1465b3eca26..02456aa7d8b654a6db66d4c4d3936ddcb49ace8f 100644 (file)
@@ -6,8 +6,6 @@ extern keymap_config_t keymap_config;
 
 #define AC(X) A(C(X))
 #define SC(X) S(C(X))
-#define _______ KC_TRNS
-#define XXXXXXX KC_NO
 
 enum planck_layers {
     _COLEMAK,
@@ -15,6 +13,7 @@ enum planck_layers {
     _SYMB,
     _MOVE,
     _FUNC,
+    _MOUSE,
 };
 
 enum planck_keycodes {
@@ -23,6 +22,7 @@ enum planck_keycodes {
     SYMB,
     MOVE,
     FUNC,
+    MOUSE,
 };
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
      * |     |  ~  |  `  |  +  |  =  |  |  |  \  |  [  |  ]  |  {  |  }  |     |
      * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
-     * |     |     |     |     |     |     |     |     |     |     |     |     |
+     * |     |     |     |     |     |     |     |Mouse|     |     |     |     |
      * `-----------------------------------------------------------------------'
      */
     [_SYMB] = {
@@ -124,41 +124,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         },
         {
             _______,      _______,      _______,      _______,
-            _______,      _______,      _______,      _______,
+            _______,      _______,      _______,      MOUSE,
             _______,      _______,      _______,      _______
         }
     },
 
     /* MOVE
      * ,-----------------------------------------------------------------------.
-     * |     |     |     |     |     |     |     |Home | Up  | End |     | Esc |
+     * |     |     |     |     |     |     |CtrUp|Home | Up  | End |Caps | Esc |
      * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
-     * |     |     |     |     |     |     |     |Left |Down |Right|Caps | Del |
+     * |     |     |     |     |     |     |SpaL |Left |Down |Right|SpaR | Del |
      * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
-     * |     |     |     |     |     |     |     |PgDn |PgUp |TabL |TabR |     |
+     * |     |     |     |     |     |     |CtrDn|PgDn |PgUp |TabL |TabR |     |
      * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
-     * |     |     |     |     |     |     |     |     |     |     |     |     |
+     * |     |     |     |     |Mouse|     |     |     |     |     |     |     |
      * `-----------------------------------------------------------------------'
      */
     [_MOVE] = {
         {
             AC(KC_A),     AC(KC_B),     AC(KC_C),     AC(KC_D),
-            AC(KC_E),     AC(KC_F),     XXXXXXX,      KC_HOME,
-            KC_UP,        KC_END,       XXXXXXX,      KC_ESC
+            AC(KC_E),     AC(KC_F),     C(KC_UP),     KC_HOME,
+            KC_UP,        KC_END,       KC_CAPS,      KC_ESC
         },
         {
             AC(KC_G),     AC(KC_H),     AC(KC_I),     AC(KC_J),
-            AC(KC_K),     AC(KC_L),     XXXXXXX,      KC_LEFT,
-            KC_DOWN,      KC_RGHT,      KC_CAPS,      KC_DEL
+            AC(KC_K),     AC(KC_L),     C(KC_LEFT),   KC_LEFT,
+            KC_DOWN,      KC_RGHT,      C(KC_RIGHT),  KC_DEL
         },
         {
             _______,      AC(KC_M),     AC(KC_N),     AC(KC_O),
-            AC(KC_P),     AC(KC_Q),     XXXXXXX,      KC_PGDN,
+            AC(KC_P),     AC(KC_Q),     C(KC_DOWN),   KC_PGDN,
             KC_PGUP,      SC(KC_TAB),   C(KC_TAB),    _______
         },
         {
             _______,      _______,      _______,      _______,
-            _______,      _______,      _______,      _______,
+            MOUSE,        _______,      _______,      _______,
             _______,      _______,      _______,      _______
         }
     },
@@ -169,7 +169,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
      * |Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |VolDn|
      * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
-     * |     |     |     |TabL |TabR |     |     |     |     |Clmak|Qwrty|     |
+     * |     |     |Home |TabL |TabR |End  |     |     |     |Clmak|Qwrty|     |
      * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
      * |     |     |     |     |Prev |Mute |Play |Next |     |     |     |     |
      * `-----------------------------------------------------------------------'
@@ -186,8 +186,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
             KC_F18,       KC_F19,       KC_F20,       KC_VOLD
         },
         {
-            _______,      XXXXXXX,      XXXXXXX,      SC(KC_TAB),
-            C(KC_TAB),    XXXXXXX,      XXXXXXX,      XXXXXXX,
+            _______,      XXXXXXX,      KC_HOME,      SC(KC_TAB),
+            C(KC_TAB),    KC_END,       XXXXXXX,      XXXXXXX,
             XXXXXXX,      COLEMAK,      QWERTY,       _______
         },
         {
@@ -195,6 +195,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
             KC_MPRV,      KC_MUTE,      KC_MPLY,      KC_MNXT,
             _______,      _______,      _______,      _______
         }
+    },
+
+    /* MOUSE
+     * ,-----------------------------------------------------------------------.
+     * |     |     |     |     |     |     |     | ScL |Up   | ScR |     |     |
+     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
+     * |     | B4  | B3  | B2  | B1  |     |     |Left |Down |Right|     |     |
+     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
+     * |     |     | Ac0 | Ac1 | Ac2 |     |     | ScD | ScU |     |     |     |
+     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
+     * |     |     |     |     |     |     |     |     |     |     |     |     |
+     * `-----------------------------------------------------------------------'
+     */
+    [_MOUSE] = {
+        {
+            _______,      _______,      C(KC_LEFT),   C(KC_UP),
+            C(KC_RIGHT),  _______,      _______,      KC_WH_L,
+            KC_MS_U,      KC_WH_R,      _______,      _______
+        },
+        {
+            _______,      KC_BTN4,      KC_BTN3,      KC_BTN2,
+            KC_BTN1,      _______,      _______,      KC_MS_L,
+            KC_MS_D,      KC_MS_R,      _______,      _______
+        },
+        {
+            _______,      _______,      KC_ACL0,      KC_ACL1,
+            KC_ACL2,      _______,      _______,      KC_WH_D,
+            KC_WH_U,      _______,      _______,      _______
+        },
+        {
+            _______,      _______,      _______,      _______,
+            _______,      _______,      _______,      _______,
+            _______,      _______,      _______,      _______
+        }
     }
 };
 
@@ -252,6 +286,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 layer_off(_FUNC);
             }
             return false;
+        case MOUSE:
+            if (record->event.pressed) {
+                layer_on(_MOUSE);
+            } else {
+                layer_off(_MOUSE);
+            }
+            return false;
 
         // Override the defualt auto shifted symbols to use SEND_STRING
         // See https://github.com/qmk/qmk_firmware/issues/4072