123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- #include "bocaj.h"
- #include "eeprom.h"
- #include "version.h"
- #include "tap_dances.h"
- static uint16_t copy_paste_timer;
- userspace_config_t userspace_config;
- /* *** *** *** *** *
- * Helper Functions *
- * *** *** *** *** */
- void tap(uint16_t keycode){ register_code(keycode); unregister_code(keycode); };
- // 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) {}
- __attribute__ ((weak))
- void startup_keymap(void) {}
- __attribute__ ((weak))
- void suspend_power_down_keymap(void) {}
- __attribute__ ((weak))
- void suspend_wakeup_init_keymap(void) {}
- __attribute__ ((weak))
- void matrix_scan_keymap(void) {}
- __attribute__ ((weak))
- bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
- return true;
- }
- __attribute__ ((weak))
- bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
- return true;
- }
- __attribute__ ((weak))
- uint32_t layer_state_set_keymap (uint32_t state) {
- return state;
- }
- __attribute__ ((weak))
- uint32_t default_layer_state_set_keymap (uint32_t state) {
- return state;
- }
- __attribute__ ((weak))
- void led_set_keymap(uint8_t usb_led) {}
- // Call user matrix init, set default RGB colors and then
- // call the keymap's init function
- void matrix_init_user(void) {
- userspace_config.raw = eeprom_read_byte(EECONFIG_USERSPACE);
- matrix_init_keymap();
- }
- void startup_user (void) {
- startup_keymap();
- }
- void suspend_power_down_user(void)
- {
- suspend_power_down_keymap();
- }
- void suspend_wakeup_init_user(void)
- {
- suspend_wakeup_init_keymap();
- #ifdef KEYBOARD_ergodox_ez
- wait_ms(10);
- #endif
- }
- // No global matrix scan code, so just run keymap's matrix
- // scan function
- void matrix_scan_user(void) {
- static bool has_ran_yet;
- if (!has_ran_yet) {
- has_ran_yet = true;
- startup_user();
- }
- #ifdef TAP_DANCE_ENABLE // Run Diablo 3 macro checking code.
- run_diablo_macro_check();
- #endif // TAP_DANCE_ENABLE
- matrix_scan_keymap();
- }
- bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- /* uint8_t default_layer = 0;
- default_layer = eeconfig_read_default_layer(); */
- switch (keycode) {
- case JJ_COPY:
- if (!record->event.pressed) {
- SEND_STRING(SS_LGUI("c"));
- }
- return false;
- break;
- case JJ_PSTE:
- if (!record->event.pressed) {
- SEND_STRING(SS_LGUI("v"));
- }
- return false;
- break;
- case JJ_ARRW:
- if (!record->event.pressed) {
- SEND_STRING("->");
- }
- return false;
- break; /*
- case KC_SWRK:
- if (!record->event.pressed) {
- set_single_persistent_default_layer(_SWRKMN);
- layer_move(default_layer);
- //ergodox_blink_all_leds();
- //ergodox_blink_all_leds();
- }
- return false;
- break;
- case KC_HWRK:
- if (!record->event.pressed) {
- set_single_persistent_default_layer(_HWRKMN);
- layer_move(default_layer);
- //ergodox_blink_all_leds();
- //ergodox_blink_all_leds();
- }
- return false;
- break;
- case KC_EPRM:
- if (!record->event.pressed) {
- //ergodox_blink_all_leds();
- eeconfig_init();
- }
- return false;
- break;
- case MC_LOCK:
- if (!record->event.pressed) {
- layer_move(default_layer);
- SEND_STRING(SS_LCTRL(SS_LGUI("q")));
- }
- return false;
- break; */
- case KC_DCLR:
- #ifdef TAP_DANCE_ENABLE
- if (record->event.pressed) {
- uint8_t dtime;
- for (dtime = 0; dtime < 4; dtime++) {
- diablo_key_time[dtime] = diablo_times[0];
- }
- }
- #endif // !TAP_DANCE_ENABLE
- return false;
- break;
- case KC_CCCV:
- if (record->event.pressed) {
- copy_paste_timer = timer_read();
- } else {
- if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy
- SEND_STRING(SS_LGUI("c"));
- } else {
- SEND_STRING(SS_LGUI("v"));
- }
- }
- return false;
- break;
- }
- return process_record_keymap(keycode, record);
- }
|