1
0
Fork 0
forked from forks/qmk_firmware

Gherkin keymaps for Steno and Talljoe

This commit is contained in:
Joe Wasson 2017-08-15 15:31:27 -07:00 committed by Jack Humbert
parent bdc0880ca5
commit eb5748e8bf
6 changed files with 105 additions and 0 deletions

View file

@ -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

View file

@ -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
}

View file

@ -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 | # | # | # |

View file

@ -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

View file

@ -0,0 +1,8 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
#include "../../config.h"
#define PREVENT_STUCK_MODIFIERS
#endif

View file

@ -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 ),
};