]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Gherkin keymaps for Steno and Talljoe
authorJoe Wasson <jwasson+github@gmail.com>
Tue, 15 Aug 2017 22:31:27 +0000 (15:31 -0700)
committerJack Humbert <jack.humb@gmail.com>
Sun, 20 Aug 2017 15:51:57 +0000 (11:51 -0400)
keyboards/gherkin/keymaps/steno/Makefile [new file with mode: 0644]
keyboards/gherkin/keymaps/steno/keymap.c [new file with mode: 0644]
keyboards/gherkin/keymaps/steno/readme.md [new file with mode: 0644]
keyboards/gherkin/keymaps/talljoe/Makefile [new file with mode: 0644]
keyboards/gherkin/keymaps/talljoe/config.h [new file with mode: 0644]
keyboards/gherkin/keymaps/talljoe/keymap.c [new file with mode: 0644]

diff --git a/keyboards/gherkin/keymaps/steno/Makefile b/keyboards/gherkin/keymaps/steno/Makefile
new file mode 100644 (file)
index 0000000..fa813f2
--- /dev/null
@@ -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 (file)
index 0000000..473af85
--- /dev/null
@@ -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 (file)
index 0000000..28ab09c
--- /dev/null
@@ -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 (file)
index 0000000..02216ec
--- /dev/null
@@ -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 (file)
index 0000000..3e9e692
--- /dev/null
@@ -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 (file)
index 0000000..e1680e0
--- /dev/null
@@ -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