]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
addresses #369
authorJack Humbert <jack.humb@gmail.com>
Sat, 18 Jun 2016 01:42:59 +0000 (21:42 -0400)
committerJack Humbert <jack.humb@gmail.com>
Sat, 18 Jun 2016 01:42:59 +0000 (21:42 -0400)
README.md
quantum/quantum.c

index 0990dd8341cfcc5a97c194eaa18bc4c966aa2388..9c8372b97f3e67599e3bd34e1f58bb39598d6460 100644 (file)
--- a/README.md
+++ b/README.md
@@ -134,6 +134,11 @@ Steve Losh [described](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/)
 
 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:
 
 ```
index bc63fb614bd017f96540c2e28b7506cd537dde8a..0a900aac28fad1e877ad46f34cee97f7791d3d50 100644 (file)
@@ -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;