]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboard/ergodox_ez/keymaps/tm2030/keymap.c
adds backlight levels to the satan keyboard (#431)
[qmk_firmware.git] / keyboard / ergodox_ez / keymaps / tm2030 / keymap.c
index 931170c387bb49e1989dfc9bd2c12a579f956ab2..ca807522631ae025affb1514cce0250545d4f40a 100644 (file)
@@ -1,28 +1,4 @@
-/* TypeMatrix-2030-like keymap
- * ---------------------------
- * Currently supported features:
- * Layer 0: default layer close to the TM with the following differences:
- *  - top row and rightmost column are removed, corresponding keys are displaced, except app-keys which are removed
- *  - bottom-left keys are reorganized on a single roz as: Ctrl, "Fn", Gui, Play, App/Alt
- *  - "shuffle" and "desktop" are not supported
- *  - right-shift is moved on ' and \
- *  - right-ctrl is moved on End
- *  - ] is moved in place of the dash (-)
- *  - dash (-) and = are moved on bottom right row
- *  - arrows and PgUp/PgDn are moved on the thumbs
- * Layer 1: same as Layer 0 but with Dvorak layout, to use with QWERTY OS layout.
- *    Enable Dvorak layout with Magic-1 (LShift-RShift-1), disable with Magic-0.
- * Layer 8: numbers layer close to the TM when toggling "num" with the following differences:
- *  - numpad is displaced by 1 to the top left
- *  - arrows are displaced by 1 to the left
- *  - provides access to F1-F12, caps lock and num lock
- * Layer 9: "fn" layer ("fn" key toggles both layers 1 & 2) with the following differences:
- *  - VolUp & VolDn are only on left hand to keep access to arrows on right hand
- * LEDs:
- *  - left (1st) led is used to indicate the numbers layer
- *  - middle (2nd) led is used to indicate Dvorak layout
- *  - right (3rd) led is used to indicate caps-lock
- */
+/* TypeMatrix-2030-like keymap  */
 #include "ergodox_ez.h"
 #include "debug.h"
 #include "action_layer.h"
 
 #define BASE 0 // default layer
 #define DVRK 1 // Dvorak layer
-#define NMBR 8 // numbers layer
+#define NUMR 8 // numeric layer
 #define FNLR 9 // fn layer
 
 #define MDBL0 1
 #define MFNLR 2
-#define MCUT  3
-#define MCOPY 4
-#define MPSTE 5
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Basic layer
@@ -71,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_LSFT,        KC_Z,         KC_X,   KC_C,   KC_V,   KC_B,   KC_ENT,
         KC_LCTL,        M(MFNLR),     KC_LGUI,KC_MPLY,ALT_T(KC_APP),
 
-                                              ALT_T(KC_ESC),  TG(NMBR),
+                                              ALT_T(KC_ESC),  TG(NUMR),
                                                               KC_PGUP,
                                             KC_SPC, KC_LSFT,  KC_PGDN,
 
@@ -117,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_LSFT,  KC_SCLN,   KC_Q,    KC_J,    KC_K,   KC_X,   KC_ENT,
         KC_LCTL,  M(MFNLR),  KC_LGUI, KC_MPLY, ALT_T(KC_APP),
 
-                                              ALT_T(KC_ESC),  TG(NMBR),
+                                              ALT_T(KC_ESC),  TG(NUMR),
                                                               KC_PGUP,
                                             KC_SPC, KC_LSFT,  KC_PGDN,
 
@@ -132,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
              KC_UP,
              KC_DOWN, KC_RSFT,  KC_SPC
     ),
-/* Numbers Layer
+/* Numeric Layer
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |      |      |  Tab |   /  |   *  |   -    |
@@ -154,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 `--------------------'       `--------------------'
  */
 // SYMBOLS
-[NMBR] = KEYMAP(
+[NUMR] = KEYMAP(
        // left hand
        KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_TRNS,
        KC_TRNS, KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_TRNS,
@@ -166,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                                KC_TRNS,
                                                KC_TRNS, KC_TRNS,KC_TRNS,
        // right hand
-       KC_INS,  KC_F6,   KC_F7,   KC_TAB,  KC_PSLS, KC_PAST, KC_PMNS,
+       KC_TRNS, KC_F6,   KC_F7,   KC_TAB,  KC_PSLS, KC_PAST, KC_PMNS,
        KC_TRNS, KC_TRNS, KC_HOME, KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
                 KC_UP,   KC_END,  KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
        KC_LEFT, KC_DOWN, KC_RGHT, KC_P1,   KC_P2,   KC_P3,   KC_PENT,
@@ -183,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
  * |        |      |      |      |      |      |VolUp |           |      |      |      |      |      |      | Pause  |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |------|           |------|      |      |      |      |      |        |
+ * |        |      |      | Calc | Mail |Browsr|------|           |------|      |      |      |      |      |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
  * |        |      | cut  | copy |paste | Mute |VolDn |           |      |      |      |      |      |      |        |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
@@ -201,8 +174,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [FNLR] = KEYMAP(
        KC_TRNS, KC_TRNS, KC_TRNS,      KC_TRNS,     KC_TRNS,      KC_TRNS, KC_INS,
        KC_TRNS, KC_TRNS, KC_TRNS,      KC_TRNS,     KC_TRNS,      KC_TRNS, KC_VOLU,
-       KC_TRNS, KC_TRNS, KC_TRNS,      KC_TRNS,     KC_TRNS,      KC_TRNS,
-       KC_TRNS, KC_TRNS, M(MCUT),      M(MCOPY),    M(MPSTE),     KC_MUTE, KC_VOLD,
+       KC_TRNS, KC_TRNS, KC_TRNS,      KC_CALC,     KC_MAIL,      KC_WHOM,
+       KC_TRNS, KC_TRNS, LSFT(KC_DELT),LCTL(KC_INS),LSFT(KC_INS), KC_MUTE, KC_VOLD,
        KC_TRNS, KC_TRNS, KC_TRNS,      KC_TRNS,     KC_TRNS,
 
                                            KC_TRNS, KC_TRNS,
@@ -234,41 +207,27 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             }
         break;
         case MFNLR:
-            layer_state ^= (1 << NMBR) | (1 << FNLR);
-            break;
-        case MCUT:
-            if (record->event.pressed) {
-                return MACRO(D(LSFT), T(DELT), U(LSFT), END);
-            }
-            break;
-        case MCOPY:
-            if (record->event.pressed) {
-                return MACRO(D(LCTL), T(INS), U(LCTL), END);
-            }
-            break;
-        case MPSTE:
-            if (record->event.pressed) {
-                return MACRO(D(LSFT), T(INS), U(LSFT), END);
-            }
+            layer_invert(NUMR);
+            layer_invert(FNLR);
             break;
     }
     return MACRO_NONE;
 };
 
 // Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
     ergodox_right_led_2_off();
     ergodox_right_led_3_off();
-    // led 1: numbers layer
-    if (layer_state & (1 << NMBR)) {
+    // led 1: numeric layer
+    if (layer_state & (1 << NUMR)) {
         ergodox_right_led_1_on();
     }
     // led 2: Dvorak layer
@@ -279,4 +238,5 @@ void * matrix_scan_user(void) {
     if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
       ergodox_right_led_3_on();
     }
+
 };