]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/chimera_ortho/keymaps/default/keymap.c
Keyboard: Chimera Ortho refactor (#4652)
[qmk_firmware.git] / keyboards / chimera_ortho / keymaps / default / keymap.c
index 6201eebac851df827e96683f838d80ccaf6dce47..6a676493dda218e7e198e92dacd3e9fb8457a7a1 100644 (file)
@@ -1,20 +1,19 @@
 // this is the style you want to emulate.
 // This is the canonical layout file for the Quantum project. If you want to add another keyboard,
 
-#include "chimera_ortho.h"
+#include QMK_KEYBOARD_H
 
 // 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.
-enum chimera_ortho_layers
-{
-       _QWERTY,
-       _CAPS,
-       _NUMPAD,
-       _SYMBOLS,
-       _MACROS,
-       _NAV
+enum chimera_ortho_layers {
+  _QWERTY,
+  _CAPS,
+  _NUMPAD,
+  _SYMBOLS,
+  _MACROS,
+  _NAV
 };
 
 #define KC_NMPD TG(_NUMPAD)
@@ -27,153 +26,140 @@ enum chimera_ortho_layers
 #define KC_GBRC MT(MOD_RGUI, KC_8)
 #define KC_GQOT MT(MOD_LGUI, KC_QUOT)
 #define KC_MESC LT(_MACROS, KC_ESC)
-#define KC_INCL M(0)
-#define KC_PULL M(1)
-#define KC_PUSH M(2)
-#define KC_SCAP M(3)
-#define KC_SCOF M(4)
 #define KC_CAD LALT(LCTL(KC_DEL))
 
-#define LONGPRESS_DELAY 150
-//#define LAYER_TOGGLE_DELAY 300
-
-// Fillers to make layering more clear
-#define _______ KC_TRNS
-#define XXXXXXX KC_NO
-#define KC_ KC_TRNS 
+enum custom_keycodes {
+  KC_INCL = SAFE_RANGE,
+  KC_PULL,
+  KC_PUSH,
+  KC_SCAP,
+  KC_SCOF
+};
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-  [_QWERTY] = KC_KEYMAP(  
-  //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
-     MESC, Q  , W  , E  , R  , T  ,SCTL,      SCTR, Y  , U  , I  , O  , P  ,QUOT,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-     TAB , A  , S  , D  , F  , G  ,SPLT,      SPRT, H  , J  , K  , L  ,SCLN,ENT ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-     LSPO, Z  , X  , C  , V  , B  ,SPFN,      GBRC, N  , M  ,COMM,DOT ,SLSH,RSPC,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-                         NMPD,BSPC,                SPC ,SYMB
-  // \------------------+----+----+---/       \---+----+----+-------------------/
+  [_QWERTY] = LAYOUT(
+  //,-------+-------+-------+-------+-------+-------+-------.     ,-------+-------+-------+-------+-------+-------+-------.
+     KC_MESC, KC_Q  , KC_W  , KC_E  , KC_R  , KC_T  ,KC_SCTL,      KC_SCTR, KC_Y  , KC_U  , KC_I  , KC_O  , KC_P  ,KC_QUOT,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     KC_TAB , KC_A  , KC_S  , KC_D  , KC_F  , KC_G  ,KC_SPLT,      KC_SPRT, KC_H  , KC_J  , KC_K  , KC_L  ,KC_SCLN,KC_ENT ,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     KC_LSPO, KC_Z  , KC_X  , KC_C  , KC_V  , KC_B  ,KC_SPFN,      KC_GBRC, KC_N  , KC_M  ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSPC,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+                                     KC_NMPD,KC_BSPC,                      KC_SPC ,KC_SYMB
+  // \------------------------------+-------+-------+------/       \------+-------+-------+------------------------------/
   ),
 
-  [_CAPS] = KC_KEYMAP(  
-  //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
-         ,    ,    ,    ,    ,    ,    ,          ,    ,    ,    ,    ,    ,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-         ,    ,    ,    ,    ,    ,UNDS,          ,    ,    ,    ,    ,COLN,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-     SCOF,    ,    ,    ,    ,    ,    ,          ,    ,    ,    ,    ,    ,SCOF,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-                             ,    ,                    ,    
-  // \------------------+----+----+---/       \---+----+----+-------------------/
+  [_CAPS] = LAYOUT(
+  //,-------+-------+-------+-------+-------+-------+-------.     ,-------+-------+-------+-------+-------+-------+-------.
+     _______,_______,_______,_______,_______,_______,_______,      _______,_______,_______,_______,_______,_______,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     _______,_______,_______,_______,_______,_______,KC_UNDS,      _______,_______,_______,_______,_______,KC_COLN,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     KC_SCOF,_______,_______,_______,_______,_______,_______,      _______,_______,_______,_______,_______,_______,KC_SCOF,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+                                     _______,_______,                      _______,_______
+  // \------------------------------+-------+-------+------/       \------+-------+-------+------------------------------/
   ),
 
-  [_NUMPAD] = KC_KEYMAP(  
-  //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
-         ,    ,COLN ,    ,    ,    ,    ,          ,    , 7  , 8  , 9  ,ASTR,MINS,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-         ,    ,DOT ,    ,    ,    ,    ,          ,    , 4  , 5  , 6  ,PLUS,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-         ,    ,    ,    ,    ,    ,    ,          ,    , 1  , 2  , 3  ,SLSH,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-                             ,    ,                     , 0  
-  // \------------------+----+----+---/       \---+----+----+-------------------/
+  [_NUMPAD] = LAYOUT(
+  //,-------+-------+-------+-------+-------+-------+-------.     ,-------+-------+-------+-------+-------+-------+-------.
+     _______,_______,KC_COLN,_______,_______,_______,_______,      _______,_______, KC_7  , KC_8  , KC_9  ,KC_ASTR,KC_MINS,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     _______,_______,KC_DOT ,_______,_______,_______,_______,      _______,_______, KC_4  , KC_5  , KC_6  ,KC_PLUS,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     _______,_______,_______,_______,_______,_______,_______,      _______,_______, KC_1  , KC_2  , KC_3  ,KC_SLSH,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+                                     _______,_______,                      _______, KC_0
+  // \------------------------------+-------+-------+------/       \------+-------+-------+------------------------------/
   ),
 
-  [_SYMBOLS] = KC_KEYMAP(  
-  //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
-         ,EXLM, AT ,HASH,DLR ,PERC,    ,          ,CIRC,AMPR,ASTR,LPRN,RPRN,BSLS,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-         , F1 , F2 , F3 , F4 , F5 ,    ,          ,TILD,COLN,UNDS,LCBR,RCBR,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-         , F6 , F7 , F8 , F9 ,F10 ,    ,          ,GRV ,SCLN,MINS,LBRC,RBRC,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-                         PIPE,    ,                    ,
-  // \------------------+----+----+---/       \---+----+----+-------------------/
+  [_SYMBOLS] = LAYOUT(
+  //,-------+-------+-------+-------+-------+-------+-------.     ,-------+-------+-------+-------+-------+-------+-------.
+     _______,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC,_______,      _______,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSLS,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 ,_______,      _______,KC_TILD,KC_COLN,KC_UNDS,KC_LCBR,KC_RCBR,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     _______, KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,_______,      _______,KC_GRV ,KC_SCLN,KC_MINS,KC_LBRC,KC_RBRC,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+                                     KC_PIPE,_______,                      _______,_______
+  // \------------------------------+-------+-------+------/       \------+-------+-------+------------------------------/
   ),
 
-  [_NAV] = KC_KEYMAP(  
-  //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
-         ,    ,    ,    ,    ,    ,    ,          ,    ,    , UP ,    ,PSCR,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-         ,    ,    ,    ,    ,    ,    ,          ,    ,LEFT,DOWN,RGHT,    ,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-         ,    ,    ,    ,    ,    ,    ,          ,    ,PGUP,PGDN,    ,    ,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-                             ,DEL ,                    ,    
-  // \------------------+----+----+---/       \---+----+----+-------------------/
+  [_NAV] = LAYOUT(
+  //,-------+-------+-------+-------+-------+-------+-------.     ,-------+-------+-------+-------+-------+-------+-------.
+     _______,_______,_______,_______,_______,_______,_______,      _______,_______,_______, KC_UP ,_______,KC_PSCR,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     _______,_______,_______,_______,_______,_______,_______,      _______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     _______,_______,_______,_______,_______,_______,_______,      _______,_______,KC_PGUP,KC_PGDN,_______,_______,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+                                     _______,KC_DEL ,                      _______,_______
+  // \------------------------------+-------+-------+------/       \------+-------+-------+------------------------------/
   ),
 
-  [_MACROS] = KC_KEYMAP(  
-  //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
-         ,    ,    ,    ,    ,    ,    ,          ,    ,    ,INCL,    ,    ,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-         ,    ,    ,CAD ,    ,    ,    ,          ,    ,    ,    ,    ,    ,    ,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-     SCAP,    ,    ,    ,    ,    ,    ,          ,    ,    ,PULL,PUSH,    ,SCAP,
-  //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
-                             ,    ,                    ,    
-  // \------------------+----+----+---/       \---+----+----+-------------------/
+  [_MACROS] = LAYOUT(
+  //,-------+-------+-------+-------+-------+-------+-------.     ,-------+-------+-------+-------+-------+-------+-------.
+     _______,_______,_______,_______,_______,_______,_______,      _______,_______,_______,KC_INCL,_______,_______,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     _______,_______,_______,KC_CAD ,_______,_______,_______,      _______,_______,_______,_______,_______,_______,_______,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+     KC_SCAP,_______,_______,_______,_______,_______,_______,      _______,_______,_______,KC_PULL,KC_PUSH,_______,KC_SCAP,
+  //|-------+-------+-------+-------+-------+-------+-------|     |-------+-------+-------+-------+-------+-------+-------|
+                                     _______,_______,                      _______,_______
+  // \------------------------------+-------+-------+------/       \------+-------+-------+------------------------------/
   )
 
 };
 
 
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
-  switch(id) {
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch(keycode) {
     /* include some kind of library or header */
-    case 0:
+    case KC_INCL:
       if (record->event.pressed) {
-        SEND_STRING("#include <>");
-        return MACRO( T(LEFT), END);
+        SEND_STRING("#include <>" SS_TAP(X_LEFT));
       }
-      break;
-    case 1:
+      return false;
+    case KC_PULL:
       if (record->event.pressed) {
-        SEND_STRING("git pull");
-        return MACRO( T(ENT), END );
+        SEND_STRING("git pull" SS_TAP(X_ENTER));
       }
-      break;
-    case 2:
+      return false;
+    case KC_PUSH:
       if (record->event.pressed){
-        SEND_STRING("git push");
-        return MACRO( T(ENT), END );
+        SEND_STRING("git push" SS_TAP(X_ENTER));
       }
-      break;
-    case 3:
+      return false;
+    case KC_SCAP:
       if (record->event.pressed){
         layer_on(_CAPS);
         register_code(KC_CAPSLOCK);
         unregister_code(KC_CAPSLOCK);
       }
-      break;
-    case 4:
+      return false;
+    case KC_SCOF:
       if (record->event.pressed){
         layer_off(_CAPS);
         register_code(KC_CAPSLOCK);
         unregister_code(KC_CAPSLOCK);
       }
-      break;
+      return false;
   }
-  return MACRO_NONE;
+  return true;
 };
+
 
 void matrix_scan_user(void) {
     uint8_t layer = biton32(layer_state);
-    
+
     switch (layer) {
-       case _QWERTY:
-           set_led_green;
-           break;
+      case _QWERTY:
+          set_led_green;
+          break;
         case _CAPS:
-           set_led_white;
-           break;
+      set_led_white;
+      break;
         case _NUMPAD:
             set_led_blue;
             break;
@@ -181,11 +167,11 @@ void matrix_scan_user(void) {
             set_led_red;
             break;
         case _NAV:
-           set_led_magenta;
-           break;
+      set_led_magenta;
+      break;
         case _MACROS:
-           set_led_cyan;
-           break;
+      set_led_cyan;
+      break;
        default:
             set_led_green;
             break;