To use it, use `KC_LSPO` (Left Shift, Parens Open) for your left Shift on your keymap, and `KC_RSPC` (Right Shift, Parens Close) for your right Shift.
+It's defaulted to work on US keyboards, but if your layout uses different keys for parenthesis, you can define those in your keymap like this:
+
+ #define LSPO_KEY KC_9
+ #define RSPC_KEY KC_0
+
The only other thing you're going to want to do is create a `makefile.mk` in your keymap directory and set the following:
```
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[]) {
#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;
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;