diff --git a/keyboards/gboards/georgi/keymaps/plover-hid/keymap.c b/keyboards/gboards/georgi/keymaps/plover-hid/keymap.c new file mode 100644 index 0000000000..c83b64c8f9 --- /dev/null +++ b/keyboards/gboards/georgi/keymaps/plover-hid/keymap.c @@ -0,0 +1,51 @@ +/* + * Good on you for modifying your layout, this is the most nonQMK layout you will come across + * There are three modes, Steno (the default), QWERTY (Toggleable) and a Momentary symbol layer + * + * Don't modify the steno layer directly, instead add chords using the keycodes and macros + * from sten.h to the layout you want to modify. + * + * Observe the comment above processQWERTY! + * + * http://docs.gboards.ca + */ + +#include QMK_KEYBOARD_H +//#include "sten.h" +#include "keymap_plover_hid.h" + +// Proper Layers +#define FUNCT (LSD | LK | LP | LH) +#define MEDIA (LSD | LK | LW | LR) +#define MOVE (ST1 | ST2) + +// QMK Layers +#define STENO_LAYER 0 + +/* Keyboard Layout + * ,---------------------------------. ,------------------------------. + * | FN | LSU | LFT | LP | LH | ST1 | | ST3 | RF | RP | RL | RT | RD | + * |-----+-----+-----+----+----|-----| |-----|----+----+----+----+----| + * | PWR | LSD | LK | LW | LR | ST2 | | ST4 | RR | BB | RG | RS | RZ | + * `---------------------------------' `------------------------------' + * ,---------------, .---------------. + * | LNO | LA | LO | | RE | RU | RNO | + * `---------------' `---------------' + */ + +// "Layers" +// Steno layer should be first in your map. +// When PWR | FN | ST3 | ST4 is pressed, the layer is increased to the next map. You must return to STENO_LAYER at the end. +// If you need more space for chords, remove the two gaming layers. +// Note: If using NO_ACTION_TAPPING, LT will not work! + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // Main layer, everything goes through here + [0] = LAYOUT_georgi( + PLV_X1, PLV_S1, PLV_TL, PLV_PL, PLV_HL, PLV_ST1, PLV_ST3, PLV_FR, PLV_PR, PLV_LR, PLV_TR, PLV_DR, + PLV_X2, PLV_S2, PLV_KL, PLV_WL, PLV_RL, PLV_ST2, PLV_ST4, PLV_RR, PLV_BR, PLV_GR, PLV_SR, PLV_ZR, + PLV_N1, PLV_A, PLV_O, PLV_E, PLV_U, PLV_N7 + ) +}; +// Don't fuck with this, thanks. +size_t keymapsCount = sizeof(keymaps)/sizeof(keymaps[0]); diff --git a/keyboards/gboards/georgi/keymaps/plover-hid/readme.md b/keyboards/gboards/georgi/keymaps/plover-hid/readme.md new file mode 100644 index 0000000000..0bfdd79b4a --- /dev/null +++ b/keyboards/gboards/georgi/keymaps/plover-hid/readme.md @@ -0,0 +1,14 @@ +# Georgi Plover HID firmware + +This is a steno-only firmware for the Georgi using the (as of now) experimental Plover HID protocol +instead of a serial steno protocol. + +This firmware only defines a keymap of the form: + +``` +X1 S1- T- P- H- S1 S3 -F -P -L -T -D +X2 S2- X- W- R- S2 S4 -R -B -G -S -Z + #1 A O E U #7 +``` + +and is meant to be used with the [plover-machine-hid](https://github.com/dnaq/plover-machine-hid) plugin. diff --git a/keyboards/gboards/georgi/keymaps/plover-hid/rules.mk b/keyboards/gboards/georgi/keymaps/plover-hid/rules.mk new file mode 100644 index 0000000000..666b7be058 --- /dev/null +++ b/keyboards/gboards/georgi/keymaps/plover-hid/rules.mk @@ -0,0 +1,46 @@ +#---------------------------------------------------------------------------- +# make georgi:default:dfu +# Make sure you have dfu-programmer installed! +#---------------------------------------------------------------------------- + +NO_REPEAT = no +VERBOSE = yes +KEYBOARD_SHARED_EP = yes +CUSTOM_MATRIX = yes + +#Firmware reduction options +MOUSEKEY_ENABLE = no # 1500 bytes +NO_TAPPING = yes # 2000 bytes +NO_PRINT = yes + +#Debug options +CONSOLE_ENABLE = no +DEBUG_MATRIX_SCAN_RATE = no +DEBUG_MATRIX = no +ONLY_QWERTY = no + +# A bunch of stuff that you shouldn't touch unless you +# know what you're doing. +# +# No touchy, capiche? +SRC += matrix.c i2c_master.c +ifeq ($(strip $(DEBUG_MATRIX)), yes) + OPT_DEFS += -DDEBUG_MATRIX +endif +ifeq ($(strip $(NO_REPEAT)), yes) + OPT_DEFS += -DNO_REPEAT +endif +ifeq ($(strip $(NO_PRINT)), yes) + OPT_DEFS += -DNO_PRINT -DNO_DEBUG +endif +ifeq ($(strip $(ONLY_QWERTY)), yes) + OPT_DEFS += -DONLYQWERTY +endif +ifeq ($(strip $(NO_TAPPING)), yes) + OPT_DEFS += -DNO_ACTION_TAPPING +endif + +USER_NAME := notexisting + +PLOVER_HID_ENABLE := yes +STENO_ENABLE := no