X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=keyboards%2Forthodox%2Fkeymaps%2Fdrashna%2Fkeymap.c;h=b6618f151af1c667e5d08523c6bd4dd12ba26a17;hb=363aa8aa2eeedaded6fe9fd35ba5c02329d83959;hp=3ad0af71b442d24e45b3b68c03a1c23cf68fc004;hpb=3e861c2fd5e82a1c5fde6f41cc9fb920c4deb22d;p=qmk_firmware.git diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index 3ad0af71b..b6618f151 100644 --- a/keyboards/orthodox/keymaps/drashna/keymap.c +++ b/keyboards/orthodox/keymaps/drashna/keymap.c @@ -22,6 +22,7 @@ along with this program. If not, see . #include "orthodox.h" #include "action_layer.h" #include "eeconfig.h" +#include "drashna.h" extern keymap_config_t keymap_config; @@ -29,41 +30,11 @@ extern keymap_config_t keymap_config; // 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. -#define _QWERTY 0 -#define _COLEMAK 1 -#define _DVORAK 2 -#define _WORKMAN 3 -#define _LOWER 8 -#define _RAISE 9 -#define _ADJUST 16 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - WORKMAN, - LOWER, - RAISE, - ADJUST, - KC_MAKE, - KC_RESET -}; // Fillers to make layering more clear #define _______ KC_TRNS #define XXXXXXX KC_NO -#ifdef RGBLIGHT_ENABLE -#define rgblight_set_blue rgblight_sethsv (0xFF, 0xFF, 0xFF); -#define rgblight_set_red rgblight_sethsv (0x00, 0xFF, 0xFF); -#define rgblight_set_green rgblight_sethsv (0x78, 0xFF, 0xFF); -#define rgblight_set_orange rgblight_sethsv (0x1E, 0xFF, 0xFF); -#define rgblight_set_teal rgblight_sethsv (0xC3, 0xFF, 0xFF); -#define rgblight_set_magenta rgblight_sethsv (0x12C, 0xFF, 0xFF); -#define rgblight_set_yellow rgblight_sethsv (0x3C, 0xFF, 0xFF); -#define rgblight_set_purple rgblight_sethsv (0x10E, 0xFF, 0xFF); -#endif - #ifdef TAP_DANCE_ENABLE enum { @@ -136,196 +107,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = KEYMAP(\ KC_MAKE, KC_RESET, TD(TD_FLSH), _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, XXXXXXX, _______, _______, XXXXXXX, _______, AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN, _______, \ + _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, XXXXXXX, _______, _______, XXXXXXX, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY \ ) }; -#ifdef AUDIO_ENABLE -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -float tone_workman[][2] = SONG(PLOVER_SOUND); -#endif - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { -#ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); -#endif - persistent_default_layer_set(1UL << _QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { -#ifdef AUDIO_ENABLE - PLAY_SONG(tone_colemak); -#endif - persistent_default_layer_set(1UL << _COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { -#ifdef AUDIO_ENABLE - PLAY_SONG(tone_dvorak); -#endif - persistent_default_layer_set(1UL << _DVORAK); - } - return false; - break; - case WORKMAN: - if (record->event.pressed) { -#ifdef AUDIO_ENABLE - PLAY_SONG(tone_workman); -#endif - persistent_default_layer_set(1UL << _WORKMAN); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } - else { - layer_off(_ADJUST); - } - return false; - break; - case KC_MAKE: - if (!record->event.pressed) { -#ifdef RGBLIGHT_ENABLE - SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP " RGBLIGHT_ENABLE=yes AUDIO_ENABLE=yes" SS_TAP(X_ENTER)); -#else - SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP " RGBLIGHT_ENABLE=no AUDIO_ENABLE=yes"SS_TAP(X_ENTER)); -#endif - } - return false; - break; - case KC_RESET: - if (!record->event.pressed) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_setrgb(0xff, 0x00, 0x00); -#endif - reset_keyboard(); - } - return false; - break; - } +bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } -void matrix_init_user(void) { // Runs boot tasks for keyboard -#ifdef RGBLIGHT_ENABLE - uint8_t default_layer = eeconfig_read_default_layer(); - - rgblight_enable(); - - if (true) { - 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; - } - } - else - { - rgblight_set_red; - rgblight_mode(5); - } -#endif - -}; - -void matrix_scan_user(void) { // runs frequently to update info - -}; - -uint32_t layer_state_set_kb(uint32_t state) { // runs on layer switch -#ifdef RGBLIGHT_ENABLE - uint8_t default_layer = eeconfig_read_default_layer(); - - switch (biton32(state)) { - case _COLEMAK: - rgblight_set_magenta; - rgblight_mode(1); - break; - case _DVORAK: - rgblight_set_green; - rgblight_mode(1); - break; - case _RAISE: - rgblight_set_yellow; - rgblight_mode(5); - break; - case _LOWER: - rgblight_set_orange; - rgblight_mode(5); - break; - case _ADJUST: - rgblight_set_red; - rgblight_mode(23); - break; - case 6: - rgblight_set_blue; - break; - 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; - } -#endif - return state; -}