diff --git a/docs/_sidebar.md b/docs/_sidebar.md index a4216122a29..6c56bb2e511 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -44,8 +44,8 @@ * [PS/2 Mouse](feature_ps2_mouse.md) * [RGB Lighting](feature_rgblight.md) * [RGB Matrix](feature_rgb_matrix.md) - * [Space Cadet Shift](feature_space_cadet.md) - * [Space Cadet Shift Enter](feature_space_shift_cadet.md) + * [Space Cadet Shift](feature_space_cadet_shift.md) + * [Space Cadet Shift Enter](feature_space_cadet_shift_enter.md) * [Stenography](feature_stenography.md) * [Swap Hands](feature_swap_hands.md) * [Tap Dance](feature_tap_dance.md) diff --git a/docs/_summary.md b/docs/_summary.md index a4216122a29..6c56bb2e511 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -44,8 +44,8 @@ * [PS/2 Mouse](feature_ps2_mouse.md) * [RGB Lighting](feature_rgblight.md) * [RGB Matrix](feature_rgb_matrix.md) - * [Space Cadet Shift](feature_space_cadet.md) - * [Space Cadet Shift Enter](feature_space_shift_cadet.md) + * [Space Cadet Shift](feature_space_cadet_shift.md) + * [Space Cadet Shift Enter](feature_space_cadet_shift_enter.md) * [Stenography](feature_stenography.md) * [Swap Hands](feature_swap_hands.md) * [Tap Dance](feature_tap_dance.md) diff --git a/docs/feature_space_cadet.md b/docs/feature_space_cadet.md deleted file mode 100644 index 6e60948ab94..00000000000 --- a/docs/feature_space_cadet.md +++ /dev/null @@ -1,24 +0,0 @@ -## Space Cadet Shift: The Future, Built In - -Steve Losh [described](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) the Space Cadet Shift quite well. Essentially, you hit the left Shift on its own, and you get an opening parenthesis; hit the right Shift on its own, and you get the closing one. When hit with other keys, the Shift key keeps working as it always does. Yes, it's as cool as it sounds. - -To use it, use `KC_LSPO` (Left Shift, Parenthesis Open) for your left Shift on your keymap, and `KC_RSPC` (Right Shift, Parenthesis 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 `config.h` like this: - - #define LSPO_KEY KC_9 - #define RSPC_KEY KC_0 - -You can also choose between different rollover behaviors of the shift keys by defining: - - #define DISABLE_SPACE_CADET_ROLLOVER - -in your `config.h`. Disabling rollover allows you to use the opposite shift key to cancel the space cadet state in the event of an erroneous press instead of emitting a pair of parentheses when the keys are released. - -The only other thing you're going to want to do is create a `Makefile` in your keymap directory and set the following: - -``` -COMMAND_ENABLE = no # Commands for debug and configuration -``` - -This is just to keep the keyboard from going into command mode when you hold both Shift keys at the same time. diff --git a/docs/feature_space_cadet_shift.md b/docs/feature_space_cadet_shift.md new file mode 100644 index 00000000000..bec7cbd3d9f --- /dev/null +++ b/docs/feature_space_cadet_shift.md @@ -0,0 +1,33 @@ +# Space Cadet Shift: The Future, Built In + +Steve Losh described the [Space Cadet Shift](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) quite well. Essentially, when you tap Left Shift on its own, you get an opening parenthesis; tap Right Shift on its own and you get the closing one. When held, the Shift keys function as normal. Yes, it's as cool as it sounds. + +## Usage + +Replace the Left Shift key in your keymap with `KC_LSPO` (Left Shift, Parenthesis Open), and Right Shift with `KC_RSPC` (Right Shift, Parenthesis Close). + +## Keycodes + +|Keycode |Description | +|---------|--------------------------------------| +|`KC_LSPO`|Left Shift when held, `(` when tapped | +|`KC_RSPC`|Right Shift when held, `)` when tapped| + +## Caveats + +Space Cadet's functionality can conflict with the default Command functionality when both Shift keys are held at the same time. Make sure that Command is disabled in your `rules.mk` with: + +```make +COMMAND_ENABLE = no +``` + +## Configuration + +By default Space Cadet assumes a US ANSI layout, but if your layout uses different keys for parentheses, you can redefine them in your `config.h`. +You can also disable the rollover, allowing you to use the opposite Shift key to cancel the Space Cadet state in the event of an erroneous press, instead of emitting a pair of parentheses when the keys are released. + +|Define |Default |Description | +|------------------------------|-------------|------------------------------------------------------------| +|`LSPO_KEY` |`KC_9` |The keycode to send when Left Shift is tapped | +|`RSPC_KEY` |`KC_0` |The keycode to send when Right Shift is tapped | +|`DISABLE_SPACE_CADET_ROLLOVER`|*Not defined*|If defined, use the opposite Shift key to cancel Space Cadet| diff --git a/docs/feature_space_cadet_shift_enter.md b/docs/feature_space_cadet_shift_enter.md new file mode 100644 index 00000000000..56a569b1392 --- /dev/null +++ b/docs/feature_space_cadet_shift_enter.md @@ -0,0 +1,31 @@ +# Space Cadet Shift Enter + +Based on the [Space Cadet Shift](feature_space_cadet_shift.md) feature. Tap the Shift key on its own, and it behaves like Enter. When held, the Shift functions as normal. + +## Usage + +Replace any Shift key in your keymap with `KC_SFTENT` (Shift, Enter), and you're done. + +## Keycodes + +|Keycode |Description | +|-----------|----------------------------------------| +|`KC_SFTENT`|Right Shift when held, Enter when tapped| + +## Caveats + +As with Space Cadet Shift, this feature may conflict with Command, so it should be disabled in your `rules.mk` with: + +```make +COMMAND_ENABLE = no +``` + +This feature also uses the same timers as Space Cadet Shift, so using them in tandem may produce strange results. + +## Configuration + +By default Space Cadet assumes a US ANSI layout, but if you'd like to use a different key for Enter, you can redefine it in your `config.h`: + +|Define |Default |Description | +|------------|--------|------------------------------------------------| +|`SFTENT_KEY`|`KC_ENT`|The keycode to send when the Shift key is tapped| diff --git a/docs/feature_space_shift_cadet.md b/docs/feature_space_shift_cadet.md deleted file mode 100644 index ad610b579cb..00000000000 --- a/docs/feature_space_shift_cadet.md +++ /dev/null @@ -1,26 +0,0 @@ -## Space Cadet Shift Enter: The future, built in - -Based on the Space Cadet Shift by Steve Losh [described](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) -Essentially, you hit the Shift on its own, and it acts as the enter key. When hit with other keys, the Shift key keeps working as it always does. Yes, it's as cool as it sounds. This solution works better than using a macro since the timers defined in quantum allow us to tell when another key is pressed, rather than just having a janky timer than results in accidental endlines. - -To use it, use `KC_SFTENT` (Shift, Enter) for any Shift on your keymap. - -It's defaulted to work on US keyboards, but if you'd like to use a different key for Enter, you can define those in your `config.h` like this: - - #define SFTENT_KEY KC_ENT - - -The only other thing you're going to want to do is create a `rules.mk` in your keymap directory and set the following: - -``` -COMMAND_ENABLE = no # Commands for debug and configuration -``` - -This is just to keep the keyboard from going into command mode when you hold both Shift keys at the same time. - - - - - -PLEASE NOTE: this feature uses the same timers as the Space Cadet Shift feature, so using them in tandem may produce unwanted results. - diff --git a/docs/features.md b/docs/features.md index d8ca3780dfb..b10e0cc1ded 100644 --- a/docs/features.md +++ b/docs/features.md @@ -19,7 +19,7 @@ QMK has a staggering number of features for building your keyboard. It can take * [PS2 Mouse](feature_ps2_mouse.md) - Driver for connecting a PS/2 mouse directly to your keyboard. * [RGB Light](feature_rgblight.md) - RGB lighting for your keyboard. * [RGB Matrix](feature_rgb_matrix.md) - RGB Matrix lights for per key lighting. -* [Space Cadet](feature_space_cadet.md) - Use your left/right shift keys to type parenthesis and brackets. +* [Space Cadet](feature_space_cadet_shift.md) - Use your left/right shift keys to type parenthesis and brackets. * [Stenography](feature_stenography.md) - Put your keyboard into Plover mode for stenography use. * [Swap Hands](feature_swap_hands.md) - Mirror your keyboard for one handed usage. * [Tap Dance](feature_tap_dance.md) - Make a single key do as many things as you want. diff --git a/docs/redirects.json b/docs/redirects.json index 43e90640815..814518f405d 100644 --- a/docs/redirects.json +++ b/docs/redirects.json @@ -34,7 +34,7 @@ }, { "from": "space_cadet_shift.html", - "to": "feature_space_cadet.html" + "to": "feature_space_cadet_shift.html" }, { "from": "tap_dance.html", diff --git a/docs/reference_glossary.md b/docs/reference_glossary.md index 754c1469e33..29d07f26d34 100644 --- a/docs/reference_glossary.md +++ b/docs/reference_glossary.md @@ -133,7 +133,7 @@ A 1 byte number that is sent as part of a HID report over USB that represents a ## Space Cadet Shift A special set of shift keys which allow you to type various types of braces by tapping the left or right shift one or more times. -* [Space Cadet Shift Documentation](feature_space_cadet.md) +* [Space Cadet Shift Documentation](feature_space_cadet_shift.md) ## Tap Pressing and releasing a key. In some situations you will need to distinguish between a key down and a key up event, and Tap always refers to both at once.