summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskullydazed <skullydazed@users.noreply.github.com>2017-02-16 16:22:17 -0800
committerskullydazed <skullydazed@users.noreply.github.com>2017-02-16 16:22:17 -0800
commit5730599d18c4f3fbcb8f14cef6cf6098e6f0109f (patch)
tree918f204e2980a1ea1a85d847eaa30b3d04d03e5f
parent2cbd99b663ee80e577b1587c5e5ce97f109818b0 (diff)
downloadqmk_firmware-5730599d18c4f3fbcb8f14cef6cf6098e6f0109f.tar.gz
qmk_firmware-5730599d18c4f3fbcb8f14cef6cf6098e6f0109f.zip
Created Space Cadet Shift (markdown)
-rw-r--r--Space-Cadet-Shift.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/Space-Cadet-Shift.md b/Space-Cadet-Shift.md
new file mode 100644
index 0000000000..a1ec256def
--- /dev/null
+++ b/Space-Cadet-Shift.md
@@ -0,0 +1,24 @@
+## 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, 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 `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.