|
@@ -70,6 +70,15 @@ uint8_t chord_key_down = 0;
|
|
|
static uint8_t input_mode;
|
|
|
#endif
|
|
|
|
|
|
+// Shift / paren setup
|
|
|
+
|
|
|
+#ifndef LSPO_KEY
|
|
|
+ #define LSPO_KEY KC_9
|
|
|
+#endif
|
|
|
+#ifndef RSPC_KEY
|
|
|
+ #define RSPC_KEY KC_0
|
|
|
+#endif
|
|
|
+
|
|
|
static bool shift_interrupted[2] = {0, 0};
|
|
|
|
|
|
bool keys_chord(uint8_t keys[]) {
|
|
@@ -431,18 +440,20 @@ bool process_record_quantum(keyrecord_t *record) {
|
|
|
|
|
|
#endif
|
|
|
|
|
|
+ // Shift / paren setup
|
|
|
+
|
|
|
switch(keycode) {
|
|
|
case KC_LSPO: {
|
|
|
if (record->event.pressed) {
|
|
|
shift_interrupted[0] = false;
|
|
|
- register_mods(MOD_BIT(KC_LSFT));
|
|
|
+ register_mods(MOD_LSFT);
|
|
|
}
|
|
|
else {
|
|
|
if (!shift_interrupted[0]) {
|
|
|
- register_code(KC_9);
|
|
|
- unregister_code(KC_9);
|
|
|
+ register_code(LSPO_KEY);
|
|
|
+ unregister_code(LSPO_KEY);
|
|
|
}
|
|
|
- unregister_mods(MOD_BIT(KC_LSFT));
|
|
|
+ unregister_mods(MOD_LSFT);
|
|
|
}
|
|
|
return false;
|
|
|
break;
|
|
@@ -451,14 +462,14 @@ bool process_record_quantum(keyrecord_t *record) {
|
|
|
case KC_RSPC: {
|
|
|
if (record->event.pressed) {
|
|
|
shift_interrupted[1] = false;
|
|
|
- register_mods(MOD_BIT(KC_RSFT));
|
|
|
+ register_mods(MOD_RSFT);
|
|
|
}
|
|
|
else {
|
|
|
if (!shift_interrupted[1]) {
|
|
|
- register_code(KC_0);
|
|
|
- unregister_code(KC_0);
|
|
|
+ register_code(RSPC_KEY);
|
|
|
+ unregister_code(RSPC_KEY);
|
|
|
}
|
|
|
- unregister_mods(MOD_BIT(KC_RSFT));
|
|
|
+ unregister_mods(MOD_RSFT);
|
|
|
}
|
|
|
return false;
|
|
|
break;
|