From d5a76e899d1d4f91dc7d348075a08e42047fc8d1 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 5 Dec 2017 18:45:42 -0800 Subject: [PATCH] Updates to drashna keymaps and userspace (#2093) * Add "secret" macor * Updating secret macros * Re-add RGB to Ergodox * Fixed issue when RGB was disabled * Consistency changes * Updated bootloader macro * Fixing audio setup * Fix bootloader typo * Update to full list of stings (for completeness) * Template fix * Finally got woodpad to force numlock * Fix for new RGB mode --- keyboards/ergodox_ez/keymaps/drashna/keymap.c | 6 +- .../woodpad/keymaps/drashna/keymap.c | 14 ++-- keyboards/orthodox/keymaps/drashna/config.h | 1 + keyboards/orthodox/keymaps/drashna/keymap.c | 39 ++++++---- keyboards/viterbi/keymaps/drashna/keymap.c | 2 +- users/drashna/drashna.c | 76 ++++++++++--------- users/drashna/drashna.h | 10 +++ users/drashna/sensitive.h | 8 ++ users/drashna/template.c | 6 ++ 9 files changed, 99 insertions(+), 63 deletions(-) create mode 100644 users/drashna/sensitive.h diff --git a/keyboards/ergodox_ez/keymaps/drashna/keymap.c b/keyboards/ergodox_ez/keymaps/drashna/keymap.c index 08c2447d..abfbb5e3 100644 --- a/keyboards/ergodox_ez/keymaps/drashna/keymap.c +++ b/keyboards/ergodox_ez/keymaps/drashna/keymap.c @@ -244,9 +244,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MAKE, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRAVE, KC_RESET, KC_PERC, KC_CIRC, KC_LBRACKET,KC_RBRACKET,KC_TILD, KC_COLEMAK, KC_TRNS, KC_AMPR, KC_ASTR, KC_COLN, KC_SCOLON, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + RGB_SMOD, KC_RGB_T, + RGB_HUI, + RGB_M_R, RGB_M_SW, RGB_HUD, KC_QWERTY, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_DVORAK, KC_KP_PLUS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_ASTERISK, KC_F12, diff --git a/keyboards/handwired/woodpad/keymaps/drashna/keymap.c b/keyboards/handwired/woodpad/keymaps/drashna/keymap.c index d0c748c4..51b90913 100644 --- a/keyboards/handwired/woodpad/keymaps/drashna/keymap.c +++ b/keyboards/handwired/woodpad/keymaps/drashna/keymap.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "woodpad.h" +#include QMK_KEYBOARD_H #include "drashna.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -97,12 +97,6 @@ void matrix_init_keymap(void) { // set Numlock LED to output and low DDRF |= (1 << 7); PORTF &= ~(1 << 7); - - - if (!(host_keyboard_leds() & (1 << USB_LED_NUM_LOCK))) { - register_code(KC_NUMLOCK); - unregister_code(KC_NUMLOCK); - } } void matrix_scan_keymap(void) { @@ -114,3 +108,9 @@ void matrix_scan_keymap(void) { // Run Diablo 3 macro checking code. } +void led_set_keymap(uint8_t usb_led) { + if (!(usb_led & (1<. #ifdef AUDIO_ENABLE #define C6_AUDIO +#define STARTUP_SONG SONG(ZELDA_PUZZLE) #endif #endif diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index 33e65ac2..3821efa8 100644 --- a/keyboards/orthodox/keymaps/drashna/keymap.c +++ b/keyboards/orthodox/keymaps/drashna/keymap.c @@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "orthodox.h" +#include QMK_KEYBOARD_H #include "drashna.h" @@ -32,6 +32,18 @@ along with this program. If not, see . #define _______ KC_TRNS #define XXXXXXX KC_NO +#ifdef FAUXCLICKY_ENABLE +float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A6, 2); // (_D4, 0.25); +float fauxclicky_released_note[2] = MUSICAL_NOTE(_A6, 2); // (_C4, 0.125); +float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C6, 2); // (_C4, 0.25); +#define AUD_ON FC_ON +#define AUD_OFF FC_OFF +#else +#define AUD_ON AU_ON +#define AUD_OFF AU_OFF + +#endif + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -48,20 +60,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_DVORAK] = 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 \ + 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 \ + 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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, XXXXXXX, KC_F12, _______, XXXXXXX, KC_RCTL, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_HOME, KC_COMM, KC_DOT, KC_END, _______ \ + 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, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ + _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_HOME, KC_COMM, KC_DOT, KC_END, _______ \ ), [_RAISE] = KEYMAP(\ @@ -72,15 +84,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = KEYMAP(\ KC_MAKE,KC_RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - RGB_SMOD,RGB_HUI, _______, AU_ON, AU_OFF, AG_NORM, _______, XXXXXXX, _______, _______, XXXXXXX, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, _______, \ + RGB_SMOD,RGB_HUI, _______, AUD_ON, AUD_OFF, AG_NORM, _______, XXXXXXX, _______, _______, XXXXXXX, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, _______, \ KC_RGB_T,RGB_HUD, MU_ON, MU_OFF, MU_TOG, MU_MOD, _______, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY \ ) }; -#ifdef FAUXCLICKY_ENABLE -float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A6, 2); // (_D4, 0.25); -float fauxclicky_released_note[2] = MUSICAL_NOTE(_A6, 2); // (_C4, 0.125); -float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C6, 2); // (_C4, 0.25); -#endif diff --git a/keyboards/viterbi/keymaps/drashna/keymap.c b/keyboards/viterbi/keymaps/drashna/keymap.c index 89621fa2..3002af03 100644 --- a/keyboards/viterbi/keymaps/drashna/keymap.c +++ b/keyboards/viterbi/keymaps/drashna/keymap.c @@ -1,4 +1,4 @@ -#include "viterbi.h" +#include QMK_KEYBOARD_H #include "action_layer.h" #include "eeconfig.h" #include "drashna.h" diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 1bf02916..b7ca84fa 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -19,6 +19,7 @@ along with this program. If not, see . #include "quantum.h" #include "action.h" #include "version.h" +#include "sensitive.h" #ifdef TAP_DANCE_ENABLE //define diablo macro timer variables @@ -78,6 +79,14 @@ qk_tap_dance_action_t tap_dance_actions[] = { }; #endif +#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); +float tone_hackstartup[][2] = SONG(ONE_UP_SOUND); +#endif + // Add reconfigurable functions here, for keymap customization // This allows for a global, userspace functions, and continued @@ -137,6 +146,11 @@ void matrix_init_user(void) { rgblight_set_red; rgblight_mode(5); } +#endif +#ifdef AUDIO_ENABLE +// _delay_ms(21); // gets rid of tick +// stop_all_notes(); +// PLAY_SONG(tone_hackstartup); #endif matrix_init_keymap(); } @@ -190,13 +204,6 @@ void led_set_user(uint8_t usb_led) { } -#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); @@ -427,28 +434,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #endif case KC_MAKE: if (!record->event.pressed) { - SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP); -#ifndef BOOTLOADER_CATERINA - SEND_STRING(":teensy "); -#else - SEND_STRING(" "); + SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP +#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU)) + ":dfu" +#elif defined(BOOTLOADER_HALFKAY) + ":teensy" +#elif defined(BOOTLOADER_CATERINA) + ":avrdude" #endif #ifdef RGBLIGHT_ENABLE - SEND_STRING("RGBLIGHT_ENABLE=yes "); + " RGBLIGHT_ENABLE=yes" #else - SEND_STRING("RGBLIGHT_ENABLE=no "); + " RGBLIGHT_ENABLE=no" #endif #ifdef AUDIO_ENABLE - SEND_STRING("AUDIO_ENABLE=yes "); + " AUDIO_ENABLE=yes" #else - SEND_STRING("AUDIO_ENABLE=no "); + " AUDIO_ENABLE=no" #endif #ifdef FAUXCLICKY_ENABLE - SEND_STRING("FAUXCLICKY_ENABLE=yes "); + " FAUXCLICKY_ENABLE=yes" #else - SEND_STRING("FAUXCLICKY_ENABLE=no "); + " FAUXCLICKY_ENABLE=no" #endif - SEND_STRING(SS_TAP(X_ENTER)); + SS_TAP(X_ENTER)); } return false; break; @@ -475,33 +484,28 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; + case KC_SECRET_1 ... KC_SECRET_5: + if (!record->event.pressed) { + send_string(secret[keycode - KC_SECRET_1]); + } + return false; + break; case KC_RGB_T: // Because I want the option to go back to normal RGB mode rather than always layer indication +#ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgb_layer_change = !rgb_layer_change; } +#endif return false; break; - case RGB_MOD: - case RGB_SMOD: - case RGB_HUI: - case RGB_HUD: - case RGB_SAI: - case RGB_SAD: - case RGB_VAI: - case RGB_VAD: - case RGB_MODE_PLAIN: - case RGB_MODE_BREATHE: - case RGB_MODE_RAINBOW: - case RGB_MODE_SWIRL: - case RGB_MODE_SNAKE: - case RGB_MODE_KNIGHT: - case RGB_MODE_XMAS: - case RGB_MODE_GRADIENT: - if (record->event.pressed) { +#ifdef RGBLIGHT_ENABLE + case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions + if (record->event.pressed) { //This disrables layer indication, as it's assumed that if you're changing this ... you want that disabled rgb_layer_change = false; } return true; break; +#endif } return process_record_keymap(keycode, record); } diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h index 002af3dd..4fd42acb 100644 --- a/users/drashna/drashna.h +++ b/users/drashna/drashna.h @@ -19,6 +19,7 @@ along with this program. If not, see . #define USERSPACE #include "quantum.h" +#include "song_list.h" // Define layer names #define _QWERTY 0 @@ -86,6 +87,11 @@ enum userrpace_custom_keycodes { KC_MAKE, KC_RESET, KC_RGB_T, + KC_SECRET_1, + KC_SECRET_2, + KC_SECRET_3, + KC_SECRET_4, + KC_SECRET_5, NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes }; @@ -99,6 +105,10 @@ enum { #endif +#define QMK_KEYS_PER_SCAN 4 +#ifdef RGBLIGHT_ENABLE +#define RGBLIGHT_SLEEP +#endif #endif diff --git a/users/drashna/sensitive.h b/users/drashna/sensitive.h new file mode 100644 index 00000000..bf47263b --- /dev/null +++ b/users/drashna/sensitive.h @@ -0,0 +1,8 @@ +const char secret[][64] = { + "test1", + "test2", + "test3", + "test4", + "test5" +}; + diff --git a/users/drashna/template.c b/users/drashna/template.c index 37f3233d..20dbb96d 100644 --- a/users/drashna/template.c +++ b/users/drashna/template.c @@ -21,6 +21,8 @@ __attribute__ ((weak)) uint32_t layer_state_set_keymap (uint32_t state) { return state; } +__attribute__ ((weak)) +void led_set_keymap(uint8_t usb_led) {} // Call user matrix init, then call the keymap's init function void matrix_init_user(void) { @@ -82,3 +84,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { uint32_t layer_state_set_user (uint32_t state) { return layer_state_set_keymap (state); } + +void led_set_user(uint8_t usb_led) { + led_set_keymap(usb_led); +}