diff options
Diffstat (limited to 'quantum/quantum.c')
| -rw-r--r-- | quantum/quantum.c | 123 |
1 files changed, 3 insertions, 120 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index 0fb798a74..fcedf0bc1 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c | |||
| @@ -24,10 +24,6 @@ | |||
| 24 | #include "outputselect.h" | 24 | #include "outputselect.h" |
| 25 | #endif | 25 | #endif |
| 26 | 26 | ||
| 27 | #ifndef TAPPING_TERM | ||
| 28 | #define TAPPING_TERM 200 | ||
| 29 | #endif | ||
| 30 | |||
| 31 | #ifndef BREATHING_PERIOD | 27 | #ifndef BREATHING_PERIOD |
| 32 | #define BREATHING_PERIOD 6 | 28 | #define BREATHING_PERIOD 6 |
| 33 | #endif | 29 | #endif |
| @@ -196,30 +192,6 @@ void reset_keyboard(void) { | |||
| 196 | bootloader_jump(); | 192 | bootloader_jump(); |
| 197 | } | 193 | } |
| 198 | 194 | ||
| 199 | // Shift / paren setup | ||
| 200 | |||
| 201 | #ifndef LSPO_KEY | ||
| 202 | #define LSPO_KEY KC_9 | ||
| 203 | #endif | ||
| 204 | #ifndef RSPC_KEY | ||
| 205 | #define RSPC_KEY KC_0 | ||
| 206 | #endif | ||
| 207 | |||
| 208 | #ifndef LSPO_MOD | ||
| 209 | #define LSPO_MOD KC_LSFT | ||
| 210 | #endif | ||
| 211 | #ifndef RSPC_MOD | ||
| 212 | #define RSPC_MOD KC_RSFT | ||
| 213 | #endif | ||
| 214 | |||
| 215 | // Shift / Enter setup | ||
| 216 | #ifndef SFTENT_KEY | ||
| 217 | #define SFTENT_KEY KC_ENT | ||
| 218 | #endif | ||
| 219 | |||
| 220 | static bool shift_interrupted[2] = {0, 0}; | ||
| 221 | static uint16_t scs_timer[2] = {0, 0}; | ||
| 222 | |||
| 223 | /* true if the last press of GRAVE_ESC was shifted (i.e. GUI or SHIFT were pressed), false otherwise. | 195 | /* true if the last press of GRAVE_ESC was shifted (i.e. GUI or SHIFT were pressed), false otherwise. |
| 224 | * Used to ensure that the correct keycode is released if the key is released. | 196 | * Used to ensure that the correct keycode is released if the key is released. |
| 225 | */ | 197 | */ |
| @@ -329,6 +301,9 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 329 | #ifdef TERMINAL_ENABLE | 301 | #ifdef TERMINAL_ENABLE |
| 330 | process_terminal(keycode, record) && | 302 | process_terminal(keycode, record) && |
| 331 | #endif | 303 | #endif |
| 304 | #ifdef SPACE_CADET_ENABLE | ||
| 305 | process_space_cadet(keycode, record) && | ||
| 306 | #endif | ||
| 332 | true)) { | 307 | true)) { |
| 333 | return false; | 308 | return false; |
| 334 | } | 309 | } |
| @@ -685,92 +660,6 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 685 | return false; | 660 | return false; |
| 686 | } | 661 | } |
| 687 | break; | 662 | break; |
| 688 | case KC_LSPO: { | ||
| 689 | if (record->event.pressed) { | ||
| 690 | shift_interrupted[0] = false; | ||
| 691 | scs_timer[0] = timer_read (); | ||
| 692 | register_mods(MOD_BIT(KC_LSFT)); | ||
| 693 | } | ||
| 694 | else { | ||
| 695 | #ifdef DISABLE_SPACE_CADET_ROLLOVER | ||
| 696 | if (get_mods() & MOD_BIT(RSPC_MOD)) { | ||
| 697 | shift_interrupted[0] = true; | ||
| 698 | shift_interrupted[1] = true; | ||
| 699 | } | ||
| 700 | #endif | ||
| 701 | if (!shift_interrupted[0] && timer_elapsed(scs_timer[0]) < TAPPING_TERM) { | ||
| 702 | #ifdef DISABLE_SPACE_CADET_MODIFIER | ||
| 703 | unregister_mods(MOD_BIT(KC_LSFT)); | ||
| 704 | #else | ||
| 705 | if( LSPO_MOD != KC_LSFT ){ | ||
| 706 | unregister_mods(MOD_BIT(KC_LSFT)); | ||
| 707 | register_mods(MOD_BIT(LSPO_MOD)); | ||
| 708 | } | ||
| 709 | #endif | ||
| 710 | register_code(LSPO_KEY); | ||
| 711 | unregister_code(LSPO_KEY); | ||
| 712 | #ifndef DISABLE_SPACE_CADET_MODIFIER | ||
| 713 | if( LSPO_MOD != KC_LSFT ){ | ||
| 714 | unregister_mods(MOD_BIT(LSPO_MOD)); | ||
| 715 | } | ||
| 716 | #endif | ||
| 717 | } | ||
| 718 | unregister_mods(MOD_BIT(KC_LSFT)); | ||
| 719 | } | ||
| 720 | return false; | ||
| 721 | } | ||
| 722 | |||
| 723 | case KC_RSPC: { | ||
| 724 | if (record->event.pressed) { | ||
| 725 | shift_interrupted[1] = false; | ||
| 726 | scs_timer[1] = timer_read (); | ||
| 727 | register_mods(MOD_BIT(KC_RSFT)); | ||
| 728 | } | ||
| 729 | else { | ||
| 730 | #ifdef DISABLE_SPACE_CADET_ROLLOVER | ||
| 731 | if (get_mods() & MOD_BIT(LSPO_MOD)) { | ||
| 732 | shift_interrupted[0] = true; | ||
| 733 | shift_interrupted[1] = true; | ||
| 734 | } | ||
| 735 | #endif | ||
| 736 | if (!shift_interrupted[1] && timer_elapsed(scs_timer[1]) < TAPPING_TERM) { | ||
| 737 | #ifdef DISABLE_SPACE_CADET_MODIFIER | ||
| 738 | unregister_mods(MOD_BIT(KC_RSFT)); | ||
| 739 | #else | ||
| 740 | if( RSPC_MOD != KC_RSFT ){ | ||
| 741 | unregister_mods(MOD_BIT(KC_RSFT)); | ||
| 742 | register_mods(MOD_BIT(RSPC_MOD)); | ||
| 743 | } | ||
| 744 | #endif | ||
| 745 | register_code(RSPC_KEY); | ||
| 746 | unregister_code(RSPC_KEY); | ||
| 747 | #ifndef DISABLE_SPACE_CADET_MODIFIER | ||
| 748 | if ( RSPC_MOD != KC_RSFT ){ | ||
| 749 | unregister_mods(MOD_BIT(RSPC_MOD)); | ||
| 750 | } | ||
| 751 | #endif | ||
| 752 | } | ||
| 753 | unregister_mods(MOD_BIT(KC_RSFT)); | ||
| 754 | } | ||
| 755 | return false; | ||
| 756 | } | ||
| 757 | |||
| 758 | case KC_SFTENT: { | ||
| 759 | if (record->event.pressed) { | ||
| 760 | shift_interrupted[1] = false; | ||
| 761 | scs_timer[1] = timer_read (); | ||
| 762 | register_mods(MOD_BIT(KC_RSFT)); | ||
| 763 | } | ||
| 764 | else if (!shift_interrupted[1] && timer_elapsed(scs_timer[1]) < TAPPING_TERM) { | ||
| 765 | unregister_mods(MOD_BIT(KC_RSFT)); | ||
| 766 | register_code(SFTENT_KEY); | ||
| 767 | unregister_code(SFTENT_KEY); | ||
| 768 | } | ||
| 769 | else { | ||
| 770 | unregister_mods(MOD_BIT(KC_RSFT)); | ||
| 771 | } | ||
| 772 | return false; | ||
| 773 | } | ||
| 774 | 663 | ||
| 775 | case GRAVE_ESC: { | 664 | case GRAVE_ESC: { |
| 776 | uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT) | 665 | uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT) |
| @@ -825,12 +714,6 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 825 | return false; | 714 | return false; |
| 826 | } | 715 | } |
| 827 | #endif | 716 | #endif |
| 828 | |||
| 829 | default: { | ||
| 830 | shift_interrupted[0] = true; | ||
| 831 | shift_interrupted[1] = true; | ||
| 832 | break; | ||
| 833 | } | ||
| 834 | } | 717 | } |
| 835 | 718 | ||
| 836 | return process_action_kb(record); | 719 | return process_action_kb(record); |
