]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/orthodox/keymaps/drashna/keymap.c
Updated keymaps (#1853)
[qmk_firmware.git] / keyboards / orthodox / keymaps / drashna / keymap.c
index f7612652795508e8b0f332198c7112f1b5b28727..a15fa6f753f0d2e7508f9b6e89082b1123b81b8e 100644 (file)
@@ -32,14 +32,16 @@ extern keymap_config_t keymap_config;
 #define _QWERTY 0
 #define _COLEMAK 1
 #define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
+#define _WORKMAN 3
+#define _LOWER 8
+#define _RAISE 9
 #define _ADJUST 16
 
 enum custom_keycodes {
   QWERTY = SAFE_RANGE,
   COLEMAK,
   DVORAK,
+  WORKMAN,
   LOWER,
   RAISE,
   ADJUST,
@@ -58,6 +60,7 @@ enum custom_keycodes {
 #define rgblight_set_teal rgblight_sethsv (0xC3, 0xFF, 0xFF);
 #define rgblight_set_magenta rgblight_sethsv (0x12C, 0xFF, 0xFF);
 #define rgblight_set_urine rgblight_sethsv (0x3C, 0xFF, 0xFF);
+#define rgblight_set_purple rgblight_sethsv (0x10E, 0xFF, 0xFF);
 
 //This is both for underglow, and Diablo 3 macros
 bool has_layer_changed = true;
@@ -99,25 +102,30 @@ qk_tap_dance_action_t tap_dance_actions[] = {
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 [_QWERTY] = KEYMAP( \
-  KC_TAB,     KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                                                                   KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, \
-  KC_ESC,     KC_A,    KC_S,    KC_D,    KC_F,    KC_G,      KC_UP, XXXXXXX,  KC_DOWN,        KC_LEFT, XXXXXXX, KC_RIGHT, KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \
+  KC_ESC,     KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                                                                   KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, \
+  KC_TAB,     KC_A,    KC_S,    KC_D,    KC_F,    KC_G,      KC_UP, XXXXXXX,  KC_DOWN,        KC_LEFT, XXXXXXX, KC_RIGHT, KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \
   KC_LSFT,    CTL_T(KC_Z), KC_X, KC_C,   KC_V,    KC_B,      LOWER, KC_SPACE, KC_BSPC,        KC_DEL,  KC_ENT,  RAISE,    KC_N,    KC_M,    KC_COMM, KC_DOT, CTL_T(KC_SLASH), KC_LGUI \
 ),
 
 [_COLEMAK] = KEYMAP(\
-  KC_TAB,   KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,                                                                   KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC, \
-  KC_ESC,   KC_A,    KC_R,    KC_S,    KC_T,    KC_D,      KC_UP, XXXXXXX,  KC_DOWN,        KC_LEFT, XXXXXXX, KC_RIGHT, KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT, \
+  KC_ESC,   KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,                                                                   KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC, \
+  KC_TAB,   KC_A,    KC_R,    KC_S,    KC_T,    KC_D,      KC_UP, XXXXXXX,  KC_DOWN,        KC_LEFT, XXXXXXX, KC_RIGHT, KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT, \
   KC_LSFT,  CTL_T(KC_Z), KC_X, KC_C,   KC_V,    KC_B,      LOWER, KC_SPACE, KC_BSPC,        KC_DEL,  KC_ENT,  RAISE,    KC_K,    KC_M,    KC_COMM, KC_DOT,  CTL_T(KC_SLASH), KC_LGUI \
 ),
 
 [_DVORAK] = KEYMAP(\
-  KC_TAB,   KC_QUOT, KC_COMM, KC_DOT, KC_P,     KC_Y,                                                                   KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC, \
-  KC_ESC,   KC_A,    KC_O,    KC_E,   KC_U,     KC_I,      KC_UP, XXXXXXX,  KC_DOWN,        KC_LEFT, XXXXXXX, KC_RIGHT, KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS, \
-  KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K,    KC_X,      LOWER, KC_SPACE, KC_BSPC,        KC_DEL,  KC_ENT,  RAISE,    KC_B,    KC_M,    KC_W,    KC_V,    CTL_T(KC_Z), KC_LGUI \
+    KC_ESC,   KC_QUOT, KC_COMM, KC_DOT, KC_P,     KC_Y,                                                                   KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC, \
+    KC_TAB,   KC_A,    KC_O,    KC_E,   KC_U,     KC_I,      KC_UP, XXXXXXX,  KC_DOWN,        KC_LEFT, XXXXXXX, KC_RIGHT, KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS, \
+    KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K,    KC_X,      LOWER, KC_SPACE, KC_BSPC,        KC_DEL,  KC_ENT,  RAISE,    KC_B,    KC_M,    KC_W,    KC_V,    CTL_T(KC_Z), KC_LGUI \
+),
+[_WORKMAN] = KEYMAP(\
+    KC_ESC,   KC_QUOT, KC_COMM, KC_DOT, KC_P,     KC_Y,                                                                   KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC, \
+    KC_TAB,   KC_A,    KC_O,    KC_E,   KC_U,     KC_I,      KC_UP, XXXXXXX,  KC_DOWN,        KC_LEFT, XXXXXXX, KC_RIGHT, KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS, \
+    KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K,    KC_X,      LOWER, KC_SPACE, KC_BSPC,        KC_DEL,  KC_ENT,  RAISE,    KC_B,    KC_M,    KC_W,    KC_V,    CTL_T(KC_Z), KC_LGUI \
 ),
 
 [_LOWER] = KEYMAP( \
-  KC_TILD,    KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                                                                    KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC, \
+  KC_TILD,    KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                                                                KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC, \
   KC_DEL,     KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F11,   XXXXXXX, KC_F12,          _______, XXXXXXX, KC_RCTL, KC_F11,  KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, KC_PIPE, \
   TD(TD_FLSH),KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  _______, _______, _______,          _______, _______, _______, KC_F12,  KC_HOME,    KC_COMM,    KC_DOT,  KC_END,  _______ \
 ),
@@ -130,8 +138,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 [_ADJUST] =  KEYMAP( \
   _______, RESET,   _______, _______, _______, _______,                                                                _______, _______, _______, _______, _______, KC_DEL,  \
-  _______, _______, _______, AU_ON,   AU_OFF,  AG_NORM, _______, XXXXXXX, _______,          _______, XXXXXXX, _______, AG_SWAP, QWERTY , COLEMAK,  DVORAK,  _______, _______, \
-  _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY  \
+  _______, _______, _______, AU_ON,   AU_OFF,  AG_NORM, _______, XXXXXXX, _______,          _______, XXXXXXX, _______, AG_SWAP, QWERTY,  COLEMAK, DVORAK,  WORKMAN, _______, \
+  _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, MAGIC_TOGGLE_NKRO, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY  \
 )
 
 
@@ -169,14 +177,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       return false;
       break;
     case DVORAK:
-      if (record->event.pressed) {
+        if (record->event.pressed) {
         #ifdef AUDIO_ENABLE
-          PLAY_SONG(tone_dvorak);
+            PLAY_SONG(tone_dvorak);
         #endif
-        persistent_default_layer_set(1UL<<_DVORAK);
-      }
-      return false;
-      break;
+            persistent_default_layer_set(1UL << _DVORAK);
+        }
+        return false;
+        break;
+    case WORKMAN:
+        if (record->event.pressed) {
+        #ifdef AUDIO_ENABLE
+            PLAY_SONG(tone_dvorak);
+        #endif
+            persistent_default_layer_set(1UL << _WORKMAN);
+        }
+        return false;
+        break;
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
@@ -225,48 +242,45 @@ void matrix_scan_user(void) {  // runs frequently to update info
         uint8_t default_layer = 0;
         default_layer = eeconfig_read_default_layer();
 
-        if (default_layer & (1UL << _DVORAK)) {
-            l_dvorak = true;
-        }
-        else if (default_layer & (1UL << _COLEMAK)) {
-            l_colemak = true;
-        }
         switch (layer) {
-        case _QWERTY:
-            if (l_colemak) {
+            case _QWERTY:
+                if (default_layer & (1UL << _COLEMAK)) {
+                    rgblight_set_magenta;
+                }
+                else if (default_layer & (1UL << _DVORAK)) {
+                    rgblight_set_green;
+                }
+                else if (default_layer & (1UL << _WORKMAN)) {
+                    rgblight_set_purple;
+                }
+                else {
+                    rgblight_set_teal;
+                }
+                rgblight_mode(1);
+                break;
+            case _COLEMAK:
                 rgblight_set_magenta;
-            }
-            else if (l_dvorak) {
+                rgblight_mode(1);
+                break;
+            case _DVORAK:
                 rgblight_set_green;
-            }
-            else {
-                rgblight_set_teal;
-            }
-            rgblight_mode(1);
-            break;
-        case _COLEMAK:
-            rgblight_set_magenta;
-            rgblight_mode(1);
-            break;
-        case _DVORAK:
-            rgblight_set_green;
-            rgblight_mode(1);
-            break;
-        case _RAISE:
-            rgblight_set_blue;
-            rgblight_mode(2);
-            break;
-        case _LOWER:
-            rgblight_set_orange;
-            rgblight_mode(3);
-            break;
-        case _ADJUST:
-            rgblight_set_red;
-            rgblight_mode(17);
-            break;
-        case 6:
-            rgblight_set_urine;
-            break;
+                rgblight_mode(1);
+                break;
+            case _RAISE:
+                rgblight_set_blue;
+                rgblight_mode(2);
+                break;
+            case _LOWER:
+                rgblight_set_orange;
+                rgblight_mode(3);
+                break;
+            case _ADJUST:
+                rgblight_set_red;
+                rgblight_mode(17);
+                break;
+            case 6:
+                rgblight_set_urine;
+                break;
         }
         has_layer_changed = false;
     }