From 1237025963484d70bbe5185a790bec6544653ccc Mon Sep 17 00:00:00 2001 From: Erez Zukerman Date: Tue, 24 May 2016 23:27:59 -0400 Subject: [Erez & Jack] Packages Space Cadet shifts into keycodes --- quantum/keymap_common.h | 2 ++ quantum/quantum.c | 44 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) (limited to 'quantum') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 91d5c09c1..fafc93f7c 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -240,6 +240,8 @@ extern const uint16_t fn_actions[]; #define BL_TOGG 0x5082 #define BL_STEP 0x5083 +#define KC_LSPO 0x5084 // Left shift, open parens when tapped +#define KC_RSPC 0x5085 // Right shift, close parens when tapped // GOTO layer - 16 layers max // when: // ON_PRESS = 1 diff --git a/quantum/quantum.c b/quantum/quantum.c index eb64a99a4..753dde5c6 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -21,6 +21,7 @@ void leader_end(void) {} uint8_t starting_note = 0x0C; int offset = 7; + #ifdef AUDIO_ENABLE bool music_activated = false; @@ -59,6 +60,8 @@ uint8_t chord_key_down = 0; static uint8_t input_mode; #endif +static bool shift_interrupted[] = {0, 0, 0}; + bool keys_chord(uint8_t keys[]) { uint8_t keys_size = sizeof(keys)/sizeof(keys[0]); bool pass = true; @@ -415,6 +418,45 @@ bool process_record_quantum(keyrecord_t *record) { #endif + switch(keycode) { + case KC_LSPO: { + if (record->event.pressed) { + shift_interrupted[0] = false; + register_mods(MOD_BIT(KC_LSFT)); + } + else { + if (!shift_interrupted[0]) { + register_code(KC_9); + unregister_code(KC_9); + } + unregister_mods(MOD_BIT(KC_LSFT)); + } + return false; + break; + } + + case KC_RSPC: { + if (record->event.pressed) { + shift_interrupted[1] = false; + register_mods(MOD_BIT(KC_RSFT)); + } + else { + if (!shift_interrupted[1]) { + register_code(KC_0); + unregister_code(KC_0); + } + unregister_mods(MOD_BIT(KC_RSFT)); + } + return false; + break; + } + default: { + shift_interrupted[0] = true; + shift_interrupted[1] = true; + break; + } + } + return process_action_kb(record); } @@ -481,4 +523,4 @@ void audio_on_user() {} __attribute__ ((weak)) void music_scale_user() {} -//------------------------------------------------------------------------------ \ No newline at end of file +//------------------------------------------------------------------------------ -- cgit v1.2.3-70-g09d2 From 8bc69afc633d3e199e3ac0a5bf39e4d255f2ce4a Mon Sep 17 00:00:00 2001 From: Erez Zukerman Date: Tue, 24 May 2016 23:48:46 -0400 Subject: [Erez & Jack] Optimizes shift_interrupted array --- quantum/quantum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'quantum') diff --git a/quantum/quantum.c b/quantum/quantum.c index 753dde5c6..c53fb19b4 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -60,7 +60,7 @@ uint8_t chord_key_down = 0; static uint8_t input_mode; #endif -static bool shift_interrupted[] = {0, 0, 0}; +static bool shift_interrupted[2] = {0, 0}; bool keys_chord(uint8_t keys[]) { uint8_t keys_size = sizeof(keys)/sizeof(keys[0]); -- cgit v1.2.3-70-g09d2 From 9d6debd9b23ffb045f63bc77dd44cafe2c7ce851 Mon Sep 17 00:00:00 2001 From: Nathan Sharfi Date: Wed, 25 May 2016 17:25:04 -0700 Subject: Add double quote for everyone; update Zweihander --- README.md | 1 + keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c | 15 +++++++++++---- quantum/keymap_common.h | 2 ++ 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'quantum') diff --git a/README.md b/README.md index 021c2499f..646fa6f2b 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,7 @@ The following shortcuts automatically add `LSFT()` to keycodes to get commonly u KC_RPRN ) KC_UNDS _ KC_PLUS + + KC_DQUO " KC_LCBR { KC_RCBR } KC_LABK < diff --git a/keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c b/keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c index e9963886b..91a60304a 100644 --- a/keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c +++ b/keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c @@ -6,6 +6,13 @@ #define SYMB 1 // symbols #define MDIA 2 // media keys +#define SGWK 0 // "sagewick", ⌘S ⌘⇥ +#define SGWF 1 // "sagewick freshly", ⌘S ⌘⇥ ⌘R +#define BBED 2 // BBEdit +#define TMNL 3 // Terminal +#define SAFA 4 // Safari +#define ALFRED_LEAD_TIME 100 // time, in milliseconds, to let Alfred come to the fore and accept keyboard input + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * @@ -55,9 +62,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | [ | ] | { | } | | | | | / | 7 | 8 | 9 | * | F12 | + * | | [ | ] | { | } | " | | | | / | 7 | 8 | 9 | * | F12 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | < | > | ( | ) | |------| |------| - | 4 | 5 | 6 | + | | + * | | < | > | ( | ) | ' |------| |------| - | 4 | 5 | 6 | + | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | & | 1 | 2 | 3 | = | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -75,8 +82,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SYMB] = KEYMAP( // left hand KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_LBRC,KC_RBRC,KC_LCBR,KC_RCBR,KC_TRNS,KC_TRNS, - KC_TRNS,KC_LABK,KC_RABK,KC_LPRN,KC_RPRN,KC_TRNS, + KC_TRNS,KC_LBRC,KC_RBRC,KC_LCBR,KC_RCBR,KC_DQUO,KC_TRNS, + KC_TRNS,KC_LABK,KC_RABK,KC_LPRN,KC_RPRN,KC_QUOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index fafc93f7c..db14e7d8a 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -119,6 +119,8 @@ extern const uint16_t fn_actions[]; #define KC_PLUS LSFT(KC_EQL) // + +#define KC_DQUO LSFT(KC_QUOT) // " +#define KC_DOUBLE_QUOTE KC_DQUO #define KC_LCBR LSFT(KC_LBRC) // { #define KC_LEFT_CURLY_BRACE KC_LCBR -- cgit v1.2.3-70-g09d2