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
This commit is contained in:
Drashna Jaelre 2017-12-05 18:45:42 -08:00 committed by Jack Humbert
parent dd05bf0d96
commit d5a76e899d
9 changed files with 101 additions and 65 deletions

View File

@ -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_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_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_AMPR, KC_ASTR, KC_COLN, KC_SCOLON,
KC_TRNS, KC_TRNS, RGB_SMOD, KC_RGB_T,
KC_TRNS, RGB_HUI,
KC_TRNS, KC_TRNS, KC_TRNS, RGB_M_R, RGB_M_SW, RGB_HUD,
KC_QWERTY, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 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, KC_DVORAK, KC_KP_PLUS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_ASTERISK, KC_F12,

View File

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "woodpad.h" #include QMK_KEYBOARD_H
#include "drashna.h" #include "drashna.h"
// Each layer gets a name for readability, which is then used in the keymap matrix below. // 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 // set Numlock LED to output and low
DDRF |= (1 << 7); DDRF |= (1 << 7);
PORTF &= ~(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) { void matrix_scan_keymap(void) {
@ -114,3 +108,9 @@ void matrix_scan_keymap(void) {
// Run Diablo 3 macro checking code. // Run Diablo 3 macro checking code.
} }
void led_set_keymap(uint8_t usb_led) {
if (!(usb_led & (1<<USB_LED_NUM_LOCK))) {
register_code(KC_NUMLOCK);
unregister_code(KC_NUMLOCK);
}
}

View File

@ -63,6 +63,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
#define C6_AUDIO #define C6_AUDIO
#define STARTUP_SONG SONG(ZELDA_PUZZLE)
#endif #endif
#endif #endif

View File

@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "orthodox.h" #include QMK_KEYBOARD_H
#include "drashna.h" #include "drashna.h"
@ -32,6 +32,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define _______ KC_TRNS #define _______ KC_TRNS
#define XXXXXXX KC_NO #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] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@ -48,20 +60,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
), ),
[_DVORAK] = KEYMAP(\ [_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_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_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_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(\ [_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_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_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_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(\ [_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, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ 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_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_HOME, KC_COMM, KC_DOT, KC_END, _______ \
), ),
[_RAISE] = KEYMAP(\ [_RAISE] = KEYMAP(\
@ -72,15 +84,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = KEYMAP(\ [_ADJUST] = KEYMAP(\
KC_MAKE,KC_RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 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 \ 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

View File

@ -1,4 +1,4 @@
#include "viterbi.h" #include QMK_KEYBOARD_H
#include "action_layer.h" #include "action_layer.h"
#include "eeconfig.h" #include "eeconfig.h"
#include "drashna.h" #include "drashna.h"

View File

@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h" #include "quantum.h"
#include "action.h" #include "action.h"
#include "version.h" #include "version.h"
#include "sensitive.h"
#ifdef TAP_DANCE_ENABLE #ifdef TAP_DANCE_ENABLE
//define diablo macro timer variables //define diablo macro timer variables
@ -78,6 +79,14 @@ qk_tap_dance_action_t tap_dance_actions[] = {
}; };
#endif #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 // Add reconfigurable functions here, for keymap customization
// This allows for a global, userspace functions, and continued // This allows for a global, userspace functions, and continued
@ -137,6 +146,11 @@ void matrix_init_user(void) {
rgblight_set_red; rgblight_set_red;
rgblight_mode(5); rgblight_mode(5);
} }
#endif
#ifdef AUDIO_ENABLE
// _delay_ms(21); // gets rid of tick
// stop_all_notes();
// PLAY_SONG(tone_hackstartup);
#endif #endif
matrix_init_keymap(); 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) { void persistent_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer); eeconfig_update_default_layer(default_layer);
@ -427,28 +434,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif #endif
case KC_MAKE: case KC_MAKE:
if (!record->event.pressed) { if (!record->event.pressed) {
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP); SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
#ifndef BOOTLOADER_CATERINA #if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
SEND_STRING(":teensy "); ":dfu"
#else #elif defined(BOOTLOADER_HALFKAY)
SEND_STRING(" "); ":teensy"
#elif defined(BOOTLOADER_CATERINA)
":avrdude"
#endif #endif
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
SEND_STRING("RGBLIGHT_ENABLE=yes "); " RGBLIGHT_ENABLE=yes"
#else #else
SEND_STRING("RGBLIGHT_ENABLE=no "); " RGBLIGHT_ENABLE=no"
#endif #endif
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
SEND_STRING("AUDIO_ENABLE=yes "); " AUDIO_ENABLE=yes"
#else #else
SEND_STRING("AUDIO_ENABLE=no "); " AUDIO_ENABLE=no"
#endif #endif
#ifdef FAUXCLICKY_ENABLE #ifdef FAUXCLICKY_ENABLE
SEND_STRING("FAUXCLICKY_ENABLE=yes "); " FAUXCLICKY_ENABLE=yes"
#else #else
SEND_STRING("FAUXCLICKY_ENABLE=no "); " FAUXCLICKY_ENABLE=no"
#endif #endif
SEND_STRING(SS_TAP(X_ENTER)); SS_TAP(X_ENTER));
} }
return false; return false;
break; break;
@ -475,33 +484,28 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
return false; return false;
break; break;
case KC_RGB_T: // Because I want the option to go back to normal RGB mode rather than always layer indication case KC_SECRET_1 ... KC_SECRET_5:
if (record->event.pressed) { if (!record->event.pressed) {
rgb_layer_change = !rgb_layer_change; send_string(secret[keycode - KC_SECRET_1]);
} }
return false; return false;
break; break;
case RGB_MOD: case KC_RGB_T: // Because I want the option to go back to normal RGB mode rather than always layer indication
case RGB_SMOD: #ifdef RGBLIGHT_ENABLE
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) { if (record->event.pressed) {
rgb_layer_change = !rgb_layer_change;
}
#endif
return false;
break;
#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; rgb_layer_change = false;
} }
return true; return true;
break; break;
#endif
} }
return process_record_keymap(keycode, record); return process_record_keymap(keycode, record);
} }

View File

@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define USERSPACE #define USERSPACE
#include "quantum.h" #include "quantum.h"
#include "song_list.h"
// Define layer names // Define layer names
#define _QWERTY 0 #define _QWERTY 0
@ -86,6 +87,11 @@ enum userrpace_custom_keycodes {
KC_MAKE, KC_MAKE,
KC_RESET, KC_RESET,
KC_RGB_T, 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 NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes
}; };
@ -99,6 +105,10 @@ enum {
#endif #endif
#define QMK_KEYS_PER_SCAN 4
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_SLEEP
#endif
#endif #endif

View File

@ -0,0 +1,8 @@
const char secret[][64] = {
"test1",
"test2",
"test3",
"test4",
"test5"
};

View File

@ -21,6 +21,8 @@ __attribute__ ((weak))
uint32_t layer_state_set_keymap (uint32_t state) { uint32_t layer_state_set_keymap (uint32_t state) {
return state; return state;
} }
__attribute__ ((weak))
void led_set_keymap(uint8_t usb_led) {}
// Call user matrix init, then call the keymap's init function // Call user matrix init, then call the keymap's init function
void matrix_init_user(void) { 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) { uint32_t layer_state_set_user (uint32_t state) {
return layer_state_set_keymap (state); return layer_state_set_keymap (state);
} }
void led_set_user(uint8_t usb_led) {
led_set_keymap(usb_led);
}