summaryrefslogtreecommitdiffstats
path: root/keyboards/orthodox/keymaps/drashna/keymap.c
diff options
context:
space:
mode:
authordrashna <drashna@live.com>2017-10-21 21:27:54 -0700
committerJack Humbert <jack.humb@gmail.com>2017-10-21 18:27:54 -1000
commitf3534f999f2493b290c56a27ff062cad4610f4b8 (patch)
treea22be0be3d2950700f12222fd3a4ddcd890e6909 /keyboards/orthodox/keymaps/drashna/keymap.c
parent22564d8ee7ac31a867dfabcc2e9bc97f9c72678d (diff)
Updated keymaps (#1853)
* Add woodpad * Cleanup * Remove misc layouts for woodpad * Move woodpad to handwired * Updated RGB Underglow info * Cleanup macros * Fix odd merge issue * Tweaked RGB lighting stuff * Start to merge orthodox/ergodox keymaps (persistant layers) * Add forced NKRO * Added Colemak and Dvorak layers to default orthodox keymap * Added default layer (qwerty/colemak/dvorak) detection to RGB Underglow * Updated macros and added workman keymaps * Fixed RGB lighting for Workman layout * Add leader keys * Remove force NKRO * Add Viterbi one handed layout and minor tweaks to others
Diffstat (limited to 'keyboards/orthodox/keymaps/drashna/keymap.c')
-rw-r--r--keyboards/orthodox/keymaps/drashna/keymap.c128
1 files changed, 71 insertions, 57 deletions
diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c
index f761265279..a15fa6f753 100644
--- a/keyboards/orthodox/keymaps/drashna/keymap.c
+++ b/keyboards/orthodox/keymaps/drashna/keymap.c
@@ -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;
}