mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-28 19:58:48 +06:00
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:
parent
dd05bf0d96
commit
d5a76e899d
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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] = {
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
8
users/drashna/sensitive.h
Normal file
8
users/drashna/sensitive.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
const char secret[][64] = {
|
||||||
|
"test1",
|
||||||
|
"test2",
|
||||||
|
"test3",
|
||||||
|
"test4",
|
||||||
|
"test5"
|
||||||
|
};
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user