Update to drashna keymaps (#2381)

* Add to list of predefined rgb colors

* Change layer colors, to reflect new options

* Use Tag Toggle instead

* Clean up macros and add breathing indication for OSM Layer

* Get Viteri Macropad working properly

* Disable unused action features

* Use I2C because that's smaller, apparently

* Remove viterbi-half code
planck_rev6
Drashna Jaelre 7 years ago committed by Jack Humbert
parent 63df056013
commit 6f5e88277b

@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `---------------------' `---------------------' * `---------------------' `---------------------'
*/ */
[_QWERTY] = LAYOUT_ergodox_wrapper( [_QWERTY] = LAYOUT_ergodox_wrapper(
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS), KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TT(_MOUS),
KC_TAB, _________________QWERTY_L1_________________, TG(_DIABLO), KC_TAB, _________________QWERTY_L1_________________, TG(_DIABLO),
KC_BSPC, _________________QWERTY_L2_________________, KC_BSPC, _________________QWERTY_L2_________________,
KC_LSFT, _________________QWERTY_L3_________________, TG(_GAMEPAD), KC_LSFT, _________________QWERTY_L3_________________, TG(_GAMEPAD),
@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_HOME, KC_HOME,
KC_SPACE,KC_BSPC, KC_END, KC_SPACE,KC_BSPC, KC_END,
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TT(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
TG(_DIABLO), _________________QWERTY_R1_________________, KC_BSLS, TG(_DIABLO), _________________QWERTY_R1_________________, KC_BSLS,
_________________QWERTY_R2_________________, GUI_T(KC_QUOT), _________________QWERTY_R2_________________, GUI_T(KC_QUOT),
TG(_GAMEPAD), _________________QWERTY_R3_________________, KC_RSFT, TG(_GAMEPAD), _________________QWERTY_R3_________________, KC_RSFT,
@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Otherwise, it needs KC_* // Otherwise, it needs KC_*
[_COLEMAK] = LAYOUT_ergodox_wrapper( [_COLEMAK] = LAYOUT_ergodox_wrapper(
// left hand // left hand
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS), KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TT(_MOUS),
KC_TAB, _________________COLEMAK_L1________________, TG(_DIABLO), KC_TAB, _________________COLEMAK_L1________________, TG(_DIABLO),
KC_BSPC, _________________COLEMAK_L2________________, KC_BSPC, _________________COLEMAK_L2________________,
KC_LSFT, _________________COLEMAK_L3________________, TG(_GAMEPAD), KC_LSFT, _________________COLEMAK_L3________________, TG(_GAMEPAD),
@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_HOME, KC_HOME,
KC_SPACE,KC_BSPC, KC_END, KC_SPACE,KC_BSPC, KC_END,
// right hand // right hand
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TT(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
TG(_DIABLO), _________________COLEMAK_R1________________, KC_BSLS, TG(_DIABLO), _________________COLEMAK_R1________________, KC_BSLS,
_________________COLEMAK_R2________________, GUI_T(KC_QUOT), _________________COLEMAK_R2________________, GUI_T(KC_QUOT),
TG(_GAMEPAD), _________________COLEMAK_R3________________, KC_RSFT, TG(_GAMEPAD), _________________COLEMAK_R3________________, KC_RSFT,
@ -136,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Otherwise, it needs KC_* // Otherwise, it needs KC_*
[_DVORAK] = LAYOUT_ergodox_wrapper( [_DVORAK] = LAYOUT_ergodox_wrapper(
// left hand // left hand
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS), KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TT(_MOUS),
KC_TAB, _________________DVORAK_L1_________________, TG(_DIABLO), KC_TAB, _________________DVORAK_L1_________________, TG(_DIABLO),
KC_BSPC, _________________DVORAK_L2_________________, KC_BSPC, _________________DVORAK_L2_________________,
KC_LSFT, _________________DVORAK_L3_________________, TG(_GAMEPAD), KC_LSFT, _________________DVORAK_L3_________________, TG(_GAMEPAD),
@ -145,7 +145,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_HOME, KC_HOME,
KC_SPACE,KC_BSPC, KC_END, KC_SPACE,KC_BSPC, KC_END,
// right hand // right hand
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, TT(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
TG(_DIABLO), _________________DVORAK_R1_________________, KC_SLSH, TG(_DIABLO), _________________DVORAK_R1_________________, KC_SLSH,
_________________DVORAK_R2_________________, GUI_T(KC_MINS), _________________DVORAK_R2_________________, GUI_T(KC_MINS),
TG(_GAMEPAD), _________________DVORAK_R3_________________, KC_RSFT, TG(_GAMEPAD), _________________DVORAK_R3_________________, KC_RSFT,
@ -179,7 +179,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Otherwise, it needs KC_* // Otherwise, it needs KC_*
[_WORKMAN] = LAYOUT_ergodox_wrapper( [_WORKMAN] = LAYOUT_ergodox_wrapper(
// left hand // left hand
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS), KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TT(_MOUS),
KC_TAB, _________________WORKMAN_L1________________, TG(_DIABLO), KC_TAB, _________________WORKMAN_L1________________, TG(_DIABLO),
KC_BSPC, _________________WORKMAN_L2________________, KC_BSPC, _________________WORKMAN_L2________________,
KC_LSFT, _________________WORKMAN_L3________________, TG(_GAMEPAD), KC_LSFT, _________________WORKMAN_L3________________, TG(_GAMEPAD),
@ -188,7 +188,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_HOME, KC_HOME,
KC_SPACE,KC_BSPC, KC_END, KC_SPACE,KC_BSPC, KC_END,
// right hand // right hand
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TT(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
TG(_DIABLO), _________________WORKMAN_R1________________, KC_BSLS, TG(_DIABLO), _________________WORKMAN_R1________________, KC_BSLS,
_________________WORKMAN_R2________________, GUI_T(KC_QUOT), _________________WORKMAN_R2________________, GUI_T(KC_QUOT),
TG(_GAMEPAD), _________________WORKMAN_R3________________, KC_RSFT, TG(_GAMEPAD), _________________WORKMAN_R3________________, KC_RSFT,

@ -21,16 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include QMK_KEYBOARD_CONFIG_H #include QMK_KEYBOARD_CONFIG_H
/* Use I2C or Serial, not both */
// #define USE_SERIAL
#define USE_I2C
/* Select hand configuration */
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
#undef RGBLED_NUM #undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS #define RGBLIGHT_ANIMATIONS
@ -46,11 +36,49 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif // RGBLIGHT_ENABLE #endif // RGBLIGHT_ENABLE
#define TAPPING_TOGGLE 1
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
#define C6_AUDIO #define C6_AUDIO
#define STARTUP_SONG SONG(IMPERIAL_MARCH)
#define GOODBYE_SONG SONG(SONIC_RING)
#endif #endif
#undef LOCKING_SUPPORT_ENABLE #undef LOCKING_SUPPORT_ENABLE
#undef LOCKING_RESYNC_ENABLE #undef LOCKING_RESYNC_ENABLE
#ifndef NO_DEBUG
#define NO_DEBUG
#endif // NO_DEBUG
/* disable print */
#ifndef NO_PRINT
#define NO_PRINT
#endif // NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
#undef PRODUCT
#define PRODUCT Drashnas Viterbi Macro Pad
#define USE_I2C
#define NO_MUSIC_MODE
#define half_KEYMAP( \
L00, L01, L02, L03, L04, L05, L06, \
L10, L11, L12, L13, L14, L15, L16, \
L20, L21, L22, L23, L24, L25, L26, \
L30, L31, L32, L33, L34, L35, L36, \
L40, L41, L42, L43, L44, L45, L46 \
) \
KEYMAP( \
L00, L01, L02, L03, L04, L05, L06, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
L40, L41, L42, L43, L44, L45, L46, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
)
#endif #endif

@ -16,72 +16,62 @@ extern keymap_config_t keymap_config;
#define LMACRO TG(_MACROS) #define LMACRO TG(_MACROS)
#define DIABLO TG(_DIABLO) #define DIABLO TG(_DIABLO)
#define GAMEPAD TG(_GAMEPAD) #define GAMEPAD TG(_GAMEPAD)
#define MEDIA TG(_MEDIA) #define MEDIA TT(_MEDIA)
#define COVECUBE TG(_COVECUBE) #define COVECUBE TG(_COVECUBE)
#ifdef FAUXCLICKY_ENABLE
float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A6, 2); // (_D4, 0.25); //enum more_custom_keycodes {
float fauxclicky_released_note[2] = MUSICAL_NOTE(_A6, 2); // (_C4, 0.125); // KC_P00 = NEW_SAFE_RANGE
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
enum more_custom_keycodes {
KC_P00 = NEW_SAFE_RANGE
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NUMLOCK] = KEYMAP( [_NUMLOCK] = half_KEYMAP(
LMACRO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ LMACRO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, \
MEDIA, KC_CALC, COVECUBE,KC_P7, KC_P8, KC_P9, KC_PAST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ MEDIA, KC_CALC, COVECUBE,KC_P7, KC_P8, KC_P9, KC_PAST, \
KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, \
KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, \
KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_COLN, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_COLN, KC_PENT \
), ),
[_DIABLO] = KEYMAP( [_DIABLO] = half_KEYMAP(
KC_ESC, DIABLO, KC_V, KC_D, XXXXXXX, XXXXXXX, KC_L, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_ESC, DIABLO, KC_V, KC_D, XXXXXXX, XXXXXXX, KC_L, \
KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_J, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_J, \
KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_F, \
KC_LCTL, KC_D3_3, KC_D3_3, KC_D3_3, KC_D3_3, KC_Z, KC_DIABLO_CLEAR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_LCTL, KC_D3_3, KC_D3_3, KC_D3_3, KC_D3_3, KC_Z, KC_DIABLO_CLEAR, \
KC_LALT, KC_F4, KC_F5, KC_F8, KC_F9, KC_F10, SFT_T(KC_SPACE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ KC_LALT, KC_F4, KC_F5, KC_F8, KC_F9, KC_F10, SFT_T(KC_SPACE) \
), ),
[_GAMEPAD] = KEYMAP( // Game pad layout designed primarily for Overwatch [_GAMEPAD] = half_KEYMAP( // Game pad layout designed primarily for Overwatch
LMACRO, KC_ESC, GAMEPAD, KC_1, KC_2, KC_3, KC_4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ LMACRO, KC_ESC, GAMEPAD, KC_1, KC_2, KC_3, KC_4, \
MEDIA, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ MEDIA, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, \
KC_Z, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_Z, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, \
KC_Y, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_Y, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, \
KC_F1, KC_U, KC_I, KC_Y, KC_V, KC_SPC, KC_V, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ KC_F1, KC_U, KC_I, KC_Y, KC_V, KC_SPC, KC_V \
), ),
[_MACROS] = KEYMAP( [_MACROS] = half_KEYMAP(
LMACRO, KC_OVERWATCH,GAMEPAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ LMACRO, KC_OVERWATCH,GAMEPAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_C9, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
KC_SYMM, KC_TORB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_SYMM, KC_TORB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
KC_GLHF, KC_GOODGAME, KC_GGEZ, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_GLHF, KC_GOODGAME, KC_GGEZ, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
KC_SALT, KC_MORESALT, KC_SALTHARD, KC_JUSTGAME, KC_AIM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ KC_SALT, KC_MORESALT, KC_SALTHARD, KC_JUSTGAME, KC_AIM, XXXXXXX, XXXXXXX \
), ),
[_COVECUBE] = KEYMAP( [_COVECUBE] = half_KEYMAP(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, COVECUBE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ XXXXXXX, XXXXXXX, COVECUBE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
), ),
[_MEDIA] = KEYMAP( [_MEDIA] = half_KEYMAP(
KC_MAKE, KC_RESET,XXXXXXX, AUD_ON, AUD_OFF, XXXXXXX, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_MAKE, KC_RESET,MU_TOG, AUD_ON, AUD_OFF, KC_FXCL, RGB_SAD, \
MEDIA, XXXXXXX, KC_RGB_T,RGB_M_P, RGB_M_B, RGB_M_R, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ MEDIA, XXXXXXX, KC_RGB_T,RGB_M_P, RGB_M_B, RGB_M_R, RGB_SAI, \
RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_HUD, \
KC_MPLY, KC_MPRV, KC_MNXT, RGB_M_X, RGB_M_G, RGB_M_P, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_MPLY, KC_MPRV, KC_MNXT, RGB_M_X, RGB_M_G, RGB_M_P, RGB_HUI, \
KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI \
) )
@ -94,18 +84,20 @@ void matrix_init_keymap(void) {
DDRB &= ~(1<<0); DDRB &= ~(1<<0);
PORTB &= ~(1<<0); PORTB &= ~(1<<0);
} }
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_P00: //switch (keycode) {
if (record->event.pressed) { //case KC_P00:
register_code(KC_KP_0); // if (!record->event.pressed) {
unregister_code(KC_KP_0); // register_code(KC_KP_0);
register_code(KC_KP_0); // unregister_code(KC_KP_0);
unregister_code(KC_KP_0); // register_code(KC_KP_0);
} // unregister_code(KC_KP_0);
return false; // }
break; // return false;
} // break;
//}
return true; return true;
} }

@ -1,7 +1,11 @@
CONSOLE_ENABLE = no BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
COMMAND_ENABLE = no # Commands for debug and configuration MOUSEKEY_ENABLE = no # Mouse keys(+4700)
TAP_DANCE_ENABLE = yes EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
TAP_DANCE_ENABLE = no
RGBLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes
MOUSEKEY_ENABLE = no AUDIO_ENABLE = yes
NKRO_ENABLE = yes NKRO_ENABLE = yes
CUSTOM_MATRIX = no

@ -21,6 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#if (__has_include("secrets.h")) #if (__has_include("secrets.h"))
#include "secrets.h" #include "secrets.h"
#else #else
// `PROGMEM const char secret[][x]` may work better, but it takes up more space in the firmware
// And I'm not familar enough to know which is better or why...
PROGMEM const char secret[][64] = { PROGMEM const char secret[][64] = {
"test1", "test1",
"test2", "test2",
@ -221,7 +223,14 @@ void led_set_user(uint8_t usb_led) {
led_set_keymap(usb_led); led_set_keymap(usb_led);
} }
void send_game_macro(const char *str) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
send_string(str);
register_code(KC_ENTER);
unregister_code(KC_ENTER);
}
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);
@ -327,124 +336,69 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case KC_SALT: case KC_SALT:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("Salt, salt, salt...");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("Salt, salt, salt...");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_MORESALT: case KC_MORESALT:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("Please sir, can I have some more salt?!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("Please sir, can I have some more salt?!");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_SALTHARD: case KC_SALTHARD:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("Your salt only makes me harder, and even more aggressive!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("Your salt only makes me harder, and even more aggressive!");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_GOODGAME: case KC_GOODGAME:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("Good game, everyone!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("Good game, everyone!");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_GLHF: case KC_GLHF:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("Good luck, have fun!!!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("Good luck, have fun!!!");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_SYMM: case KC_SYMM:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("Left click to win!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("Left click to win!");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_JUSTGAME: case KC_JUSTGAME:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("It may be a game, but if you don't want to actually try, please go play AI, so that people that actually want to take the game seriously and \"get good\" have a place to do so without trolls like you throwing games.");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("It may be a game, but if you don't want to actually try, please go play AI, so that people that actually want to take the game seriously and \"get good\" have a place to do so without trolls like you throwing games.");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_TORB: case KC_TORB:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("That was positively riveting!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("That was positively riveting!");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_AIM: case KC_AIM:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("That aim is absolutely amazing. It's almost like you're a machine!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("That aim is absolutely amazing. It's almost like you're a machine!" SS_TAP(X_ENTER));
wait_ms(3000); wait_ms(3000);
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("Wait! That aim is TOO good! You're clearly using an aim hack! CHEATER!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
SEND_STRING("Wait! That aim is TOO good! You're clearly using an aim hack! CHEATER!" SS_TAP(X_ENTER));
} }
return false; return false;
break; break;
case KC_C9: case KC_C9:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("OMG!!! C9!!!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("OMG!!! C9!!!");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
case KC_GGEZ: case KC_GGEZ:
if (!record->event.pressed) { if (!record->event.pressed) {
register_code(is_overwatch ? KC_BSPC : KC_ENTER); send_game_macro("That was a fantastic game, though it was a bit easy. Try harder next time!");
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
wait_ms(50);
SEND_STRING("That was a fantastic game, though it was a bit easy. Try harder next time!");
register_code(KC_ENTER);
unregister_code(KC_ENTER);
} }
return false; return false;
break; break;
@ -555,7 +509,7 @@ uint32_t layer_state_set_user(uint32_t state) {
is_overwatch ? rgblight_mode(17) : rgblight_mode(18); is_overwatch ? rgblight_mode(17) : rgblight_mode(18);
break; break;
case _MEDIA: case _MEDIA:
rgblight_set_green; rgblight_set_chartreuse;
rgblight_mode(22); rgblight_mode(22);
break; break;
case _GAMEPAD: case _GAMEPAD:
@ -590,12 +544,16 @@ uint32_t layer_state_set_user(uint32_t state) {
rgblight_set_green; rgblight_set_green;
} }
else if (default_layer & (1UL << _WORKMAN)) { else if (default_layer & (1UL << _WORKMAN)) {
rgblight_set_purple; rgblight_set_goldenrod;
} }
else { else {
rgblight_set_teal; rgblight_set_teal;
} }
rgblight_mode(1); if (biton32(state) == _MODS) {
rgblight_mode(2);
} else {
rgblight_mode(1);
}
break; break;
} }
} }

@ -58,15 +58,26 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define rgblight_set_purple rgblight_setrgb (0x7A, 0x00, 0xFF); #define rgblight_set_purple rgblight_setrgb (0x7A, 0x00, 0xFF);
#define rgblight_set_white rgblight_setrgb (0xFF, 0xFF, 0xFF); #define rgblight_set_white rgblight_setrgb (0xFF, 0xFF, 0xFF);
#else #else
#define rgblight_set_blue rgblight_sethsv (0xFF, 0xFF, 0xFF); #define rgblight_set_white rgblight_sethsv (0, 0x00, 255);
#define rgblight_set_red rgblight_sethsv (0x00, 0xFF, 0xFF); #define rgblight_set_red rgblight_sethsv (0, 255, 255);
#define rgblight_set_green rgblight_sethsv (0x78, 0xFF, 0xFF); #define rgblight_set_coral rgblight_sethsv (16, 176, 255);
#define rgblight_set_orange rgblight_sethsv (0x1E, 0xFF, 0xFF); #define rgblight_set_orange rgblight_sethsv (39, 255, 255);
#define rgblight_set_teal rgblight_sethsv (0xB4, 0xFF, 0xFF); #define rgblight_set_goldenrod rgblight_sethsv (43, 218, 218);
#define rgblight_set_magenta rgblight_sethsv (0x12C, 0xFF, 0xFF); #define rgblight_set_gold rgblight_sethsv (51, 255, 255);
#define rgblight_set_yellow rgblight_sethsv (0x3C, 0xFF, 0xFF); #define rgblight_set_yellow rgblight_sethsv (60, 255, 255);
#define rgblight_set_purple rgblight_sethsv (0x10E, 0xFF, 0xFF); #define rgblight_set_chartreuse rgblight_sethsv (90, 255, 255);
#define rgblight_set_white rgblight_sethsv (0x00, 0x00, 0xFF); #define rgblight_set_green rgblight_sethsv (120, 255, 255);
#define rgblight_set_springgreen rgblight_sethsv (150, 255, 255);
#define rgblight_set_turquoise rgblight_sethsv (174, 90, 112);
#define rgblight_set_teal rgblight_sethsv (180, 255, 128);
#define rgblight_set_cyan rgblight_sethsv (180, 255, 255);
#define rgblight_set_azure rgblight_sethsv (186, 102, 255);
#define rgblight_set_blue rgblight_sethsv (240, 255, 255);
#define rgblight_set_purple rgblight_sethsv (270, 255, 255);
#define rgblight_set_magenta rgblight_sethsv (300, 255, 255);
#define rgblight_set_pink rgblight_sethsv (330, 128, 255);
//#define rgblight_set_ rgblight_sethsv (0, 255, 255);
#endif // DRASHNA_SETRGB #endif // DRASHNA_SETRGB
extern bool is_overwatch; extern bool is_overwatch;
@ -136,6 +147,9 @@ enum {
#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.) #define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifdef FAUXCLICKY_ENABLE #ifdef FAUXCLICKY_ENABLE
#define AUD_ON FC_ON #define AUD_ON FC_ON
#define AUD_OFF FC_OFF #define AUD_OFF FC_OFF
@ -201,4 +215,6 @@ enum {
// anything // anything
#define ___________ERGODOX_BOTTOM_LEFT_____________ KC_QUOT, KC_LGUI, KC_LBRC, KC_RBRC #define ___________ERGODOX_BOTTOM_LEFT_____________ KC_QUOT, KC_LGUI, KC_LBRC, KC_RBRC
#define ___________ERGODOX_BOTTOM_RIGHT____________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT #define ___________ERGODOX_BOTTOM_RIGHT____________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
#endif #endif

Loading…
Cancel
Save