From 363aa8aa2eeedaded6fe9fd35ba5c02329d83959 Mon Sep 17 00:00:00 2001 From: drashna Date: Mon, 6 Nov 2017 21:11:08 -0800 Subject: Migrated most code from keymaps to userspace (#1980) * Add woodpad * Cleanup * Remove misc layouts for woodpad * Move woodpad to handwired * Updated RGB Underglow info * Cleanup macros * Tweaked RGB lighting stuff * Start to merge orthodox/ergodox keymaps (persistant layers) * Add woodpad * Add forced NKRO * 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 * Finishing up Viterbi keyboard layout, and NKRO tweaks to other layouts * Made "make" keystroke universal * Clean up and updates of drashna keymaps * Add workman layer to planck * Update to keymaps * Fix makefile toggle code in ez keymap Finish adding RGB code to orthodox * Updated RGB Underglow layer indication code due to discovery of the layer_state_set_kb function * Remove unnecessary planck layout * Fixed Workman song * update make command and added lit reset * Fixed formatting to fall in line with official standards * Minor tweaks * Removed Leader Keys from Ergodox EZ Keymap Added KC_RESET that resets board and sets underglow to red * Tweak reset code * Cleanup * Remove misc layouts for woodpad * Move woodpad to handwired * Updated RGB Underglow info * Cleanup macros * Tweaked RGB lighting stuff * Start to merge orthodox/ergodox keymaps (persistant layers) * Add forced NKRO * 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 * Finishing up Viterbi keyboard layout, and NKRO tweaks to other layouts * Made "make" keystroke universal * Clean up and updates of drashna keymaps * Add workman layer to planck * Update to keymaps * Fix makefile toggle code in ez keymap Finish adding RGB code to orthodox * Updated RGB Underglow layer indication code due to discovery of the layer_state_set_kb function * Remove unnecessary planck layout * Fixed Workman song * update make command and added lit reset * Fixed formatting to fall in line with official standards * Minor tweaks * Removed Leader Keys from Ergodox EZ Keymap Added KC_RESET that resets board and sets underglow to red * Tweak reset code * Fix rebasing issues * remove head files * Fix "macro" issue * Rename ez keymaps for userspace * Revert "Rename ez keymaps for userspace" This reverts commit c25425911852e41711a5f0273b5741adb16e5bd4. * Renamed Ergodox EZ layouts so that all of my personal layouts are on the same name, in prep for using userspaces * Fix ergodox code * Remove "drashna-ez" keymap as it's no longer needed * Migrate majority of code to Userspace --- keyboards/orthodox/keymaps/drashna/keymap.c | 216 +--------------------------- 1 file changed, 3 insertions(+), 213 deletions(-) (limited to 'keyboards/orthodox/keymaps/drashna') diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index 3ad0af71b4..b6618f151a 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; -} -- cgit v1.2.3