Prechádzať zdrojové kódy

The Ordinary Layout is boring, normal, typical, expected.

Nicholas Keene 8 rokov pred
rodič
commit
54785c1976

+ 103 - 43
keyboards/ergodox/keymaps/ordinary/keymap.c

@@ -9,6 +9,7 @@
 #define SYMB   1 // symbols layer
 #define MDIA   2 // media layer
 #define SPEC   3 // special layer
+#define RBASE  4 // reverse default layer
 
 #define LSymb 10 // left symbol-shift key
 #define LMdia 11 // left media-shift key
@@ -17,15 +18,21 @@
 #define RMdia 14 // right media-shift key
 #define RSpec 15 // right special-shift key
 
+#define NotEq 16 // != macro
+#define Point 17 // -> macro
+
 #define MUL   20 // mouse up left
 #define MUR   21 // mouse up right
 #define MDL   22 // mouse down left
 #define MDR   23 // mouse down right
 
+
+
 /*
- * The Ordinary Layout for the Ergodox EZ keyboard, v4.20
+ * The Ordinary Layout for the Ergodox EZ keyboard, v5
  *
- * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
+ * Modifications from the default Ergodox EZ layout
+ * by Nicholas Keene ergodoxez@nicholaskeene.com
  *
  * No rights reserved. This software is in the public domain.
  * Credit me if you are friendly but if you're a jerk don't bother.
@@ -44,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------------+------+------+------+------+-------------|       |------+------+------+------+------+------+------------|
  * | Media  Tab |   Q  |   W  |   E  |   R  |   T  |   [  |       |  ]   |   Y  |   U  |   I  |   O  |   P  | \|   Media |
  * |------------+------+------+------+------+------|      |       |      |------+------+------+------+------+------------|
- * | Symbol     |   A  |   S  |   D  |   F  |   G  |------|       |------|   H  |   J  |   K  |   L  |  ;   | '"  Symbol |
+ * | Symbol     |  ^A  |   S  |   D  |  ^F  |   G  |------|       |------|   H  |  ^J  |   K  |   L  |  ^;  | '"  Symbol |
  * |------------+------+------+------+------+------|Shift |       | Tab  |------+------+------+------+------+------------|
  * | Capitals   |   Z  |   X  |   C  |   V  |   B  | -Tab |       |      |   N  |   M  |   ,  |   .  |  /   |   Capitals |
  * `------------+------+------+------+------+-------------'       `-------------+------+------+------+------+------------'
@@ -60,24 +67,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  */
 [BASE] = KEYMAP(
 // left hand
- F(LSpec)  ,KC_1   ,KC_2   ,KC_3   ,KC_4  ,KC_5  ,KC_ESC
-,F(LMdia)  ,KC_Q   ,KC_W   ,KC_E   ,KC_R  ,KC_T  ,KC_LBRC
-,M(LSymb)  ,KC_A   ,KC_S   ,KC_D   ,KC_F  ,KC_G
-,KC_LSFT   ,KC_Z   ,KC_X   ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
-,KC_LCTL   ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI
+ F(LSpec)  ,KC_1           ,KC_2   ,KC_3   ,KC_4  ,KC_5  ,KC_ESC
+,F(LMdia)  ,KC_Q           ,KC_W   ,KC_E   ,KC_R  ,KC_T  ,KC_LBRC
+,M(LSymb)  ,LT(RBASE, KC_A),KC_S   ,KC_D   ,LT(RBASE, KC_F)  ,KC_G
+,KC_LSFT   ,KC_Z           ,KC_X   ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
+,KC_SCLN   ,MEH_T(KC_NO)   ,ALL_T(KC_NO),KC_LALT,KC_LGUI
                                          ,KC_HOME,KC_END
                                                  ,KC_PGUP
                                  ,KC_BSPC,KC_DEL ,KC_PGDN
                                                                   // right hand
-                                                                 ,KC_MINS ,KC_6   ,KC_7   ,KC_8   ,KC_9    ,KC_0     ,F(RSpec)
-                                                                 ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O    ,KC_P     ,F(RMdia)
-                                                                          ,KC_H   ,KC_J   ,KC_K   ,KC_L    ,KC_SCLN  ,F(RSymb)
-                                                                 ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT  ,KC_SLSH  ,KC_RSFT
-                                                                                  ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH   ,KC_RCTL
+                                                                 ,KC_MINS ,KC_6 ,KC_7           ,KC_8   ,KC_9   ,KC_0             ,F(RSpec)
+                                                                 ,KC_RBRC ,KC_Y ,KC_U           ,KC_I   ,KC_O   ,KC_P             ,F(RMdia)
+                                                                          ,KC_H ,LT(RBASE, KC_J),KC_K   ,KC_L   ,LT(RBASE,KC_SCLN),F(RSymb)
+                                                                 ,KC_TAB  ,KC_N ,KC_M           ,KC_COMM,KC_DOT ,KC_SLSH          ,KC_RSFT
+                                                                                ,KC_RGUI        ,KC_RALT,KC_HYPR,KC_MEH           ,KC_RCTL
                                                                  ,KC_LEFT ,KC_RGHT
                                                                  ,KC_UP
                                                                  ,KC_DOWN ,KC_ENT ,KC_SPC
-    ),
+),
 
 /******* Symbols Layer *************************************************************************************************
  *
@@ -90,35 +97,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |-----------+------+------+------+------+------| Tab  |       | Shift|------+------+------+------+------+-----------|
  * |           |   %  |   ^  |   [  |   ]  |   ~  |      |       |  -Tab|   \  |   1  |   2  |   3  |   -  |           |
  * `-----------+------+------+------+------+-------------'       `-------------+------+------+------+------+-----------'
- *     | LCtrl | Meh  |Hyper | LAlt | LGui |                                   |   0  |   .  |   =  |   +  |  Ent  |
+ *     |   ;   |   &  |   *  |   <  |   >  |                                   |   0  |   .  |   =  |   +  | Enter |
  *     `-----------------------------------'                                   `-----------------------------------'
  *                                         ,-------------.       ,-------------.
- *                                         | Left | Right|       | Home | End  |
+ *                                         |||||||||||||||       |||||||||||||||
  *                                  ,------|------|------|       |------+------+------.
- *                                  |      |      |  Up  |       | PgUp |      |      |
- *                                  |Space |Enter |------|       |------|BackSp| Del  |
- *                                  |      |      | Down |       | PgDn |      |      |
+ *                                  | Plus | Equal||||||||       |||||||| Under| Dash |
+ *                                  |      |      |------|       |------| Score|      |
+ *                                  |  +   |   =  |  !=  |       |  ->  |  _   |  -   |
  *                                  `--------------------'       `--------------------'
  */
 [SYMB] = KEYMAP(
 // left hand
- KC_TRNS ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_ESC
-,KC_TRNS ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
-,KC_TRNS ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV
-,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
-,KC_LCTL ,KC_MEH  ,KC_HYPR ,KC_LALT ,KC_LGUI
-                                             ,KC_LEFT ,KC_RGHT
-                                                      ,KC_UP
-                                    ,KC_SPC  ,KC_ENT  ,KC_DOWN
+ KC_TRNS ,KC_F1       ,KC_F2        ,KC_F3   ,KC_F4   ,KC_F5   ,KC_ESC
+,KC_TRNS ,KC_EXLM     ,KC_AT        ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
+,KC_TRNS ,KC_HASH     ,KC_DLR       ,KC_LPRN ,KC_RPRN ,KC_GRV
+,KC_TRNS ,KC_PERC     ,KC_CIRC      ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
+,KC_LCTL ,KC_AMPR     ,KC_ASTR ,LSFT(KC_COMM),LSFT(KC_DOT)
+                                                      ,KC_NO   ,KC_NO
+                                                               ,KC_NO
+                                             ,KC_PLUS ,KC_EQL  ,M(NotEq)
                                                                  // right hand
-                                                                 ,KC_MINS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_TRNS
-                                                                 ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,KC_TRNS
-                                                                              ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,KC_TRNS
-                                                                 ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_TRNS
-                                                                                       ,KC_0  ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
-                                                                 ,KC_HOME     ,KC_END
-                                                                 ,KC_PGUP
-                                                                 ,KC_PGDN     ,KC_BSPC ,KC_DEL
+                                                                 ,KC_MINS     ,KC_F6        ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_TRNS
+                                                                 ,LSFT(KC_DOT),KC_PIPE      ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,KC_TRNS
+                                                                              ,KC_SLSH      ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,KC_TRNS
+                                                                 ,LSFT(KC_TAB),KC_BSLS      ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_TRNS
+                                                                                            ,KC_0  ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
+                                                                 ,KC_NO       ,KC_NO
+                                                                 ,KC_NO
+                                                                 ,M(Point)    ,LSFT(KC_MINS),KC_MINS
 ),
 
 /******* Media Layer *******************************************************************************************************
@@ -132,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+---------+---------+---------+---------+---------|Scroll|    |Scroll|---------+---------+---------+---------+---------+------|
  * |      |         |MouseDnLf|MouseDown|MouseDnRg|  Mute   | Down |    | Down |         |   End   |   Down  |   PgDn  |         |      |
  * `------+---------+---------+---------+---------+----------------'    `----------------+---------+---------+---------+---------+------'
- *  |LCtrl|   Meh   |  MClick | LClick  |  R Click|                                      |Cmd/Insrt|Optn/Del | Hyper   |  Meh    |RCtrl|
+ *  |     |         |  MClick | LClick  |  R Click|                                      |  Insert |   Del   |         |         |     |
  *  `---------------------------------------------'                                      `---------------------------------------------'
  *                                                   ,-------------.    ,-------------.
  *                                                   | Stop |Refrsh|    | Prev | Next |
@@ -148,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 ,KC_TRNS ,KC_POWER ,M(MUL)  ,KC_MS_U  ,M(MUR)  ,KC_VOLU ,KC_WH_U
 ,KC_TRNS ,KC_SLEP  ,KC_MS_L ,KC_MS_D  ,KC_MS_R ,KC_VOLD
 ,KC_TRNS ,KC_NO    ,M(MDL)  ,KC_MS_D  ,M(MDR)  ,KC_MUTE ,KC_WH_D
-,KC_LCTL ,KC_MEH   ,KC_BTN3 ,KC_BTN1  ,KC_BTN2
+,KC_NO ,KC_NO   ,KC_BTN3 ,KC_BTN1  ,KC_BTN2
                                                ,KC_WSTP ,KC_WREF
                                                         ,KC_WSCH
                                       ,KC_WBAK ,KC_NO   ,KC_WHOM
@@ -157,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                                                      ,KC_WH_U  ,KC_PSCR ,KC_HOME      ,KC_UP        ,KC_PGUP ,KC_MAIL ,KC_TRNS
                                                                                ,KC_NLCK ,KC_LEFT      ,KC_DOWN      ,KC_RIGHT,KC_MYCM ,KC_TRNS
                                                                      ,KC_WH_D  ,KC_NO   ,KC_END       ,KC_DOWN      ,KC_PGDN ,KC_NO   ,KC_TRNS
-                                                                                        ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH  ,KC_RCTL
+                                                                                        ,KC_INS       ,KC_DEL       ,KC_NO   ,KC_NO   ,KC_NO
                                                                      ,KC_MPRV  ,KC_MNXT
                                                                      ,KC_VOLU
                                                                      ,KC_VOLD  ,KC_MSTP ,KC_MPLY
@@ -203,7 +210,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                                              ,KC_TRNS ,KC_TRNS
                                                              ,KC_TRNS
                                                              ,KC_TRNS ,KC_TRNS ,KC_TRNS
-    )
+),
+
+/******* Reverse Base Layer *********************************************************************************************
+ *
+ * ,------------------------------------------------------.       ,------------------------------------------------------.
+ * |    =+      |   0  |   9  |   8  |   7  |   6  |  -   |       |  Esc |   5  |   4  |   3  |   2  |   1  |    `~      |
+ * |------------+------+------+------+------+-------------|       |------+------+------+------+------+------+------------|
+ * |    \|      |   P  |   O  |   I  |   U  |   Y  |   ]  |       |  [   |   T  |   R  |   E  |   W  |   Q  |    Tab     |
+ * |------------+------+------+------+------+------|      |       |      |------+------+------+------+------+------------|
+ * |            |   ;  |   L  |   K  |   J  |   H  |------|       |------|   G  |   F  |   D  |   S  |  A   |    '"      |
+ * |------------+------+------+------+------+------| Tab  |       |Shift |------+------+------+------+------+------------|
+ * | Capitals   |   /  |   .  |   ,  |   M  |   N  |      |       | -Tab |   B  |   V  |   C  |   X  |  Z   |   Capitals |
+ * `------------+------+------+------+------+-------------'       `-------------+------+------+------+------+------------'
+ *      | LCtrl | Meh  |Hyper | LAlt | LGui |                                   | RGui | RAlt | Hyper|  Meh | RCtrl |
+ *      `-----------------------------------'                                   `-----------------------------------'
+ *                                         ,-------------.       ,-------------.
+ *                                         | Left | Right|       | Home | End  |
+ *                                  ,------|------|------|       |------+------+------.
+ *                                  |      |      |  Up  |       | PgUp |      |      |
+ *                                  |Space |Enter |------|       |------|BackSp| Del  |
+ *                                  |      |      | Down |       | PgDn |      |      |
+ *                                  `--------------------'       `--------------------'
+ */
+[RBASE] = KEYMAP(
+// left hand
+ KC_EQL    ,KC_0        ,KC_9   ,KC_8   ,KC_7  ,KC_6  ,KC_MINS
+,KC_BSLS   ,KC_P        ,KC_O   ,KC_I   ,KC_U  ,KC_Y  ,KC_RBRC
+,KC_NO     ,LT(RBASE, KC_SCLN)     ,KC_L   ,KC_K   ,LT(RBASE, KC_J)  ,KC_H
+,KC_RSFT   ,KC_SLSH     ,KC_DOT ,KC_COMM,KC_M  ,KC_N  ,KC_TAB
+,KC_RCTL   ,MEH_T(KC_NO),ALL_T(KC_NO),KC_RALT,KC_RGUI
+                                             ,KC_LEFT ,KC_RGHT
+                                                      ,KC_UP
+                                    ,KC_SPC  ,KC_ENT  ,KC_DOWN
+                                                                  // right hand
+                                                                 ,KC_ESC      ,KC_5   ,KC_4   ,KC_3   ,KC_2    ,KC_1  ,KC_GRV
+                                                                 ,KC_LBRC     ,KC_T   ,KC_R   ,KC_E   ,KC_W    ,KC_Q  ,KC_TAB
+                                                                              ,KC_G   ,LT(RBASE, KC_F),KC_D   ,KC_S   ,LT(RBASE, KC_A)  ,F(LSymb)
+                                                                 ,LSFT(KC_TAB),KC_B   ,KC_V   ,KC_C   ,KC_X    ,KC_Z  ,KC_LSFT
+                                                                                      ,KC_LGUI,KC_LALT,KC_HYPR ,KC_MEH,KC_LCTL
+                                                                 ,KC_HOME     ,KC_END
+                                                                 ,KC_PGUP
+                                                                 ,KC_PGDN     ,KC_BSPC ,KC_DEL
+)
 };
 
 const uint16_t PROGMEM fn_actions[] = {
@@ -227,14 +276,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 {
     switch(id) {
         // There are two shift keys for each layer so we increment a layer_shift var when one
-        // is pressed and decrement when one is released. If both are pressed at the same time
-        // then the layer is locked (or unlocked). The shift counts are bound between 0 and 2
+        // is pressed and decrement when one is released. The shift counts are bound between 0 and 2
         // only because sometimes rapid pressing led to irregular events; this way the states
         // are self healing during use.
 
         case LSymb:                                               //
         if (record->event.pressed) {                              // when the LSymb button is pressed
-            if(++symb_shift > 2) mdia_shift = 2;                  // increment the symb shift count, max two
+            if(++symb_shift > 2) symb_shift = 2;                  // increment the symb shift count, max two
             if(spec_shift) symb_lock = !symb_lock;                // if the Special layer is on, toggle the shift lock
             layer_on(SYMB);                                       // in any case, turn on the Symbols layer
         } else {                                                  // when the LSymb button is released
@@ -264,7 +312,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
         case LSpec:
         if (record->event.pressed) {                                     // when the LSpec button is pressed
-            if(symb_shift) symb_lock == !symb_lock;                      // if another layer button is engaged, then
+            if(symb_shift) symb_lock = !symb_lock;                       // if another layer button is engaged, then
             else if(mdia_shift) mdia_lock = !mdia_lock;                  // lock that layer, be it caps or symb or mdia
             else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) {
                 register_code(KC_GRV);                                   // otherwise, if it's an uninterrupted tap, emit a char
@@ -340,6 +388,18 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         }
         break;
 
+        case NotEq:
+        if (record->event.pressed) {
+            return MACRO( I(30), T(EXLM), T(EQL), END  ); //
+        }
+        break;
+
+        case Point:
+        if (record->event.pressed) {
+            return MACRO( I(30), T(MINS), T(DOT), END  ); //
+        }
+        break;
+
         // mouse diagonals
 
         case MUL: // mouse up left

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 22 - 11
keyboards/ergodox/keymaps/ordinary/readme.md