From eb5748e8bf349883f8b727e33868e965c2f977bf Mon Sep 17 00:00:00 2001 From: Joe Wasson Date: Tue, 15 Aug 2017 15:31:27 -0700 Subject: [PATCH] Gherkin keymaps for Steno and Talljoe --- keyboards/gherkin/keymaps/steno/Makefile | 16 +++++++ keyboards/gherkin/keymaps/steno/keymap.c | 13 ++++++ keyboards/gherkin/keymaps/steno/readme.md | 9 ++++ keyboards/gherkin/keymaps/talljoe/Makefile | 6 +++ keyboards/gherkin/keymaps/talljoe/config.h | 8 ++++ keyboards/gherkin/keymaps/talljoe/keymap.c | 53 ++++++++++++++++++++++ 6 files changed, 105 insertions(+) create mode 100644 keyboards/gherkin/keymaps/steno/Makefile create mode 100644 keyboards/gherkin/keymaps/steno/keymap.c create mode 100644 keyboards/gherkin/keymaps/steno/readme.md create mode 100644 keyboards/gherkin/keymaps/talljoe/Makefile create mode 100644 keyboards/gherkin/keymaps/talljoe/config.h create mode 100644 keyboards/gherkin/keymaps/talljoe/keymap.c diff --git a/keyboards/gherkin/keymaps/steno/Makefile b/keyboards/gherkin/keymaps/steno/Makefile new file mode 100644 index 000000000..fa813f209 --- /dev/null +++ b/keyboards/gherkin/keymaps/steno/Makefile @@ -0,0 +1,16 @@ +ifndef QUANTUM_DIR + include ../../../../Makefile +endif + +STENO_ENABLE = yes # Additional protocols for Stenography(+1700), requires VIRTSER + +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = no # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +AUDIO_ENABLE = no +RGBLIGHT_ENABLE = no \ No newline at end of file diff --git a/keyboards/gherkin/keymaps/steno/keymap.c b/keyboards/gherkin/keymaps/steno/keymap.c new file mode 100644 index 000000000..473af85dd --- /dev/null +++ b/keyboards/gherkin/keymaps/steno/keymap.c @@ -0,0 +1,13 @@ +#include "gherkin.h" +#include "keymap_steno.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + KEYMAP( + STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR , + STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR , + STN_NUM, STN_NUM, STN_A, STN_O, STN_NUM, STN_E, STN_U, STN_NUM, STN_NUM, STN_NUM), +}; + +void matrix_init_user() { + steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT +} \ No newline at end of file diff --git a/keyboards/gherkin/keymaps/steno/readme.md b/keyboards/gherkin/keymaps/steno/readme.md new file mode 100644 index 000000000..28ab09cdd --- /dev/null +++ b/keyboards/gherkin/keymaps/steno/readme.md @@ -0,0 +1,9 @@ +# Gherkin Steno + +This is a stenography-only keymap. It boots by default into GeminiPR mode. All the excess stuff is stripped away (I'd remove normal keyboard support if I could). + +> Note: The number bar has been moved to the bottom row in all the left-over spaces. +x + | S | T | P | H | * | F | P | L | T | D | + | S | K | W | R | * | R | B | G | S | Z | + | # | # | A | O | # | E | U | # | # | # | \ No newline at end of file diff --git a/keyboards/gherkin/keymaps/talljoe/Makefile b/keyboards/gherkin/keymaps/talljoe/Makefile new file mode 100644 index 000000000..02216ecb3 --- /dev/null +++ b/keyboards/gherkin/keymaps/talljoe/Makefile @@ -0,0 +1,6 @@ +ifndef QUANTUM_DIR + include ../../../../Makefile +endif + +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +STENO_ENABLE = yes # Additional protocols for Stenography(+1700), requires VIRTSER diff --git a/keyboards/gherkin/keymaps/talljoe/config.h b/keyboards/gherkin/keymaps/talljoe/config.h new file mode 100644 index 000000000..3e9e692d3 --- /dev/null +++ b/keyboards/gherkin/keymaps/talljoe/config.h @@ -0,0 +1,8 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +#define PREVENT_STUCK_MODIFIERS + +#endif \ No newline at end of file diff --git a/keyboards/gherkin/keymaps/talljoe/keymap.c b/keyboards/gherkin/keymaps/talljoe/keymap.c new file mode 100644 index 000000000..e1680e04d --- /dev/null +++ b/keyboards/gherkin/keymaps/talljoe/keymap.c @@ -0,0 +1,53 @@ +#include "gherkin.h" +#include "action_layer.h" +#include "keymap_steno.h" + +#define ST_BOLT QK_STENO_BOLT +#define ST_GEM QK_STENO_GEMINI + +#define XXXXXXX KC_NO + +enum keyboard_layers { + _QWERTY, + _RAISE, + _LOWER, + _PLOVER, + _ADJUST +}; + +#define ADJ_Z LT(_ADJUST, KC_Z) +#define RS_BSPC LT(_RAISE, KC_BSPC) +#define LW_SPC LT(_LOWER, KC_SPC) +#define MO_ADJ MO(_ADJUST) +#define TG_PLV TG(_PLOVER) +#define OS_LCTL OSM(MOD_LCTL) +#define OS_LALT OSM(MOD_LALT) +#define OS_LGUI OSM(MOD_LGUI) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = KEYMAP( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_RSFT, + ADJ_Z, KC_X, KC_C, KC_V, RS_BSPC, LW_SPC, KC_B, KC_N, KC_M, KC_ENT ), + + [_RAISE] = KEYMAP( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_7, KC_9, KC_0, + KC_ESC , KC_MINS, KC_EQL , _______, KC_LBRC, KC_RBRC, _______, KC_QUOT, KC_SCLN, KC_RSFT, + OS_LCTL, OS_LGUI, OS_LALT, KC_GRV , _______, KC_TAB , KC_BSLS, KC_COMM, KC_DOT , KC_SLSH), + + [_LOWER] = KEYMAP( + KC_F1 , KC_F2 , KC_F3 , KC_F4 , XXXXXXX, KC_PGUP, KC_HOME, KC_UP , KC_END , XXXXXXX, + KC_F5 , KC_F6 , KC_F7 , KC_F8 , XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, + KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_DEL , _______, OS_LALT, OS_LGUI, OS_LCTL, KC_CAPS), + + [_PLOVER] = KEYMAP( + STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR , + STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR , + MO_ADJ, STN_NUM, STN_A, STN_O, STN_NUM, STN_E, STN_U, STN_NUM, STN_NUM, XXXXXXX), + + [_ADJUST] = KEYMAP( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ST_BOLT, ST_GEM , TG_PLV , + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET ), +}; \ No newline at end of file