You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.9 KiB

  1. # Space Cadet Shift: The Future, Built In
  2. 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.
  3. ## Usage
  4. 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).
  5. ## Keycodes
  6. |Keycode |Description |
  7. |---------|--------------------------------------|
  8. |`KC_LSPO`|Left Shift when held, `(` when tapped |
  9. |`KC_RSPC`|Right Shift when held, `)` when tapped|
  10. ## Caveats
  11. 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:
  12. ```make
  13. COMMAND_ENABLE = no
  14. ```
  15. ## Configuration
  16. 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`.
  17. 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.
  18. |Define |Default |Description |
  19. |------------------------------|-------------|------------------------------------------------------------|
  20. |`LSPO_KEY` |`KC_9` |The keycode to send when Left Shift is tapped |
  21. |`RSPC_KEY` |`KC_0` |The keycode to send when Right Shift is tapped |
  22. |`DISABLE_SPACE_CADET_ROLLOVER`|*Not defined*|If defined, use the opposite Shift key to cancel Space Cadet|