-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-#ifdef CONSOLE_ENABLE
- xprintf("KL: row: %u, column: %u, pressed: %u\n", record->event.key.col, record->event.key.row, record->event.pressed);
-#endif
- switch (keycode) {
- // dynamically generate these.
- case EPRM:
- if (record->event.pressed) {
- eeconfig_init();
- }
- return false;
- break;
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- case RGB_SLD:
- if (record->event.pressed) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
-#endif
- }
- return false;
- break;
-
- case RGB_0000FF:
- if (record->event.pressed) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0x00, 0x00, 0xff);
-#endif
- }
- return false;
- break;
-
- case RGB_008000:
- if (record->event.pressed) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0x00, 0x80, 0x00);
-#endif
- }
- return false;
- break;
-
- case RGB_FF0000:
- if (record->event.pressed) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0xff, 0x00, 0x00);
-#endif
- }
- return false;
- break;
-
- case RGB_800080:
- if (record->event.pressed) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0x80, 0x00, 0x80);
-#endif
- }
- return false;
- break;
-
- case RGB_00FF90:
- if (record->event.pressed) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0x00, 0xff, 0x90);
-#endif
- }
- return false;
- break;
- case KC_DIABLO_CLEAR: // reset all Diable timers, disabling them
- if (record->event.pressed) {
- uint8_t dtime;
-
- for (dtime = 0; dtime < 4; dtime++) {
- diablo_key_time[dtime] = diablo_times[0];
- }
- }
- return false;
- break;
- case KC_QWERTY:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL << QWERTY);
- }
- return false;
- break;
- case KC_COLEMAK:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL << COLEMAK);
- }
- return false;
- break;
- case KC_DVORAK:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL << DVORAK);
- }
- return false;
- break;
- case KC_WORKMAN:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL << WORKMAN);
- }
- return false;
- break;
- case KC_MAKEQMK:
- if (!record->event.pressed) {
- SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP ":teensy"SS_TAP(X_ENTER));
- }
- return false;
- break;
- case KC_RESET:
- if (!record->event.pressed) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0xff, 0x00, 0x00);
-#endif
- reset_keyboard();
- }
- return false;
- break;