diff options
Diffstat (limited to 'users/spidey3/spidey3.c')
| -rw-r--r-- | users/spidey3/spidey3.c | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/users/spidey3/spidey3.c b/users/spidey3/spidey3.c new file mode 100644 index 000000000..d0b794704 --- /dev/null +++ b/users/spidey3/spidey3.c | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | |||
| 3 | #include "spidey3.h" | ||
| 4 | |||
| 5 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 6 | |||
| 7 | // If console is enabled, it will print the matrix position and status of each key pressed | ||
| 8 | // dprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); | ||
| 9 | |||
| 10 | if (record->event.pressed) { | ||
| 11 | switch (keycode) { | ||
| 12 | #ifndef NO_DEBUG | ||
| 13 | // Re-implement this here, but fix the persistence! | ||
| 14 | case DEBUG: | ||
| 15 | debug_enable ^= 1; | ||
| 16 | if (debug_enable) { | ||
| 17 | print("DEBUG: enabled.\n"); | ||
| 18 | } else { | ||
| 19 | print("DEBUG: disabled.\n"); | ||
| 20 | } | ||
| 21 | eeconfig_update_debug(debug_config.raw); | ||
| 22 | #endif | ||
| 23 | return false; | ||
| 24 | case SPI_LNX: | ||
| 25 | dprint("SPIDEY3: SPI_LNX\n"); | ||
| 26 | set_single_persistent_default_layer(_BASE); | ||
| 27 | layer_off(_OSX); | ||
| 28 | #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) | ||
| 29 | set_unicode_input_mode(UC_LNX); | ||
| 30 | #endif | ||
| 31 | return false; | ||
| 32 | case SPI_OSX: | ||
| 33 | dprint("SPIDEY3: SPI_OSX\n"); | ||
| 34 | set_single_persistent_default_layer(_OSX); | ||
| 35 | #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) | ||
| 36 | set_unicode_input_mode(UC_OSX); | ||
| 37 | #endif | ||
| 38 | return false; | ||
| 39 | case SPI_WIN: | ||
| 40 | dprint("SPIDEY3: SPI_WIN\n"); | ||
| 41 | set_single_persistent_default_layer(_BASE); | ||
| 42 | layer_off(_OSX); | ||
| 43 | #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) | ||
| 44 | set_unicode_input_mode(UC_WINC); | ||
| 45 | #endif | ||
| 46 | return false; | ||
| 47 | } | ||
| 48 | } | ||
| 49 | |||
| 50 | #ifdef RGBLIGHT_ENABLE | ||
| 51 | bool res = process_record_user_rgb(keycode, record); | ||
| 52 | if (!res) return false; | ||
| 53 | #endif | ||
| 54 | |||
| 55 | return true; | ||
| 56 | } | ||
| 57 | |||
| 58 | layer_state_t default_layer_state_set_user(layer_state_t state) { | ||
| 59 | #ifdef RGBLIGHT_ENABLE | ||
| 60 | return default_layer_state_set_user_rgb(state); | ||
| 61 | #else | ||
| 62 | return state; | ||
| 63 | #endif | ||
| 64 | } | ||
| 65 | |||
| 66 | layer_state_t layer_state_set_user(layer_state_t state) { | ||
| 67 | #ifdef RGBLIGHT_ENABLE | ||
| 68 | return layer_state_set_user_rgb(state); | ||
| 69 | #else | ||
| 70 | return state; | ||
| 71 | #endif | ||
| 72 | } | ||
| 73 | |||
| 74 | bool led_update_user(led_t led_state) { | ||
| 75 | #ifdef RGBLIGHT_ENABLE | ||
| 76 | return led_update_user_rgb(led_state); | ||
| 77 | #else | ||
| 78 | return true; | ||
| 79 | #endif | ||
| 80 | } | ||
