|
|
|
#include "wanleg.h"
|
|
|
|
|
|
|
|
// Defines actions for my global custom keycodes. Defined in wanleg.h file
|
|
|
|
// Then runs the _keymap's record handier if not processed here
|
|
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
|
|
switch (keycode) {
|
|
|
|
case QWERTY:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
print("mode just switched to qwerty and this is a huge string\n");
|
|
|
|
set_single_persistent_default_layer(_QW);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case GHERKIN:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
set_single_persistent_default_layer(_GK);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case gGHERKIN:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
set_single_persistent_default_layer(gGK);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case ONEHAND:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
set_single_persistent_default_layer(ONE);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case NUMPAD:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
set_single_persistent_default_layer(PAD);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case GHERKIN50:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
set_single_persistent_default_layer(GK50);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case SUBTER:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(SUB);
|
|
|
|
} else {
|
|
|
|
layer_off(SUB);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case SUPRA:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(SUP);
|
|
|
|
} else {
|
|
|
|
layer_off(SUP);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case NUMBER:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(NUM);
|
|
|
|
} else {
|
|
|
|
layer_off(NUM);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case DIRECTION:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(DIR);
|
|
|
|
} else {
|
|
|
|
layer_off(DIR);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case ETCETERA:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(ETC);
|
|
|
|
} else {
|
|
|
|
layer_off(ETC);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case gNUMBER:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(gNUM);
|
|
|
|
} else {
|
|
|
|
layer_off(gNUM);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case gDIRECTION:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(gDIR);
|
|
|
|
} else {
|
|
|
|
layer_off(gDIR);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case gETCETERA:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(gETC);
|
|
|
|
} else {
|
|
|
|
layer_off(gETC);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
case FUNCTION:
|
|
|
|
if (record->event.pressed) {
|
|
|
|
layer_on(_FN);
|
|
|
|
} else {
|
|
|
|
layer_off(_FN);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Turn off LEDs on ProMicros of Let's Split ///
|
|
|
|
// LEDs only on by default on Let's Split
|
|
|
|
// Add reconfigurable functions here, for keymap customization
|
|
|
|
// This allows for a global, userspace functions, and continued
|
|
|
|
// customization of the keymap. Use _keymap instead of _user
|
|
|
|
// functions in the keymaps
|
|
|
|
__attribute__ ((weak))
|
|
|
|
void matrix_init_keymap(void) {}
|
|
|
|
|
|
|
|
// Call user matrix init, then call the keymap's init function
|
|
|
|
void matrix_init_user(void) {
|
|
|
|
#if defined(KEYBOARD_lets_split_rev2)
|
|
|
|
DDRD &= ~(1<<5);
|
|
|
|
PORTD &= ~(1<<5);
|
|
|
|
|
|
|
|
DDRB &= ~(1<<0);
|
|
|
|
PORTB &= ~(1<<0);
|
|
|
|
#endif
|
|
|
|
matrix_init_keymap();
|
|
|
|
}
|