From 4d218566ccec5b7b9499a351f3acc5442f9f2c6a Mon Sep 17 00:00:00 2001 From: Pierre Chevalier Date: Wed, 24 Jun 2020 10:42:20 +0100 Subject: [PATCH] [Keymap] Add pierrec83's gherkin keymap (#9465) * [Keymap] Add pierrec83's gherkin keymap Contribute my gherkin keymap upstream as it is semi-stable. It has grown in symbiosis with my Kyria keymap which is already upstream. Add a readme * Remove generated keymap and instructions to generate it as it is done by qmk flash --- .../gherkin/keymaps/pierrec83/config.h | 31 +++++++++++++++ .../gherkin/keymaps/pierrec83/keymap.json | 1 + .../gherkin/keymaps/pierrec83/readme.md | 38 +++++++++++++++++++ .../gherkin/keymaps/pierrec83/rules.mk | 1 + 4 files changed, 71 insertions(+) create mode 100644 keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h create mode 100644 keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json create mode 100644 keyboards/40percentclub/gherkin/keymaps/pierrec83/readme.md create mode 100644 keyboards/40percentclub/gherkin/keymaps/pierrec83/rules.mk diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h b/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h new file mode 100644 index 0000000000..a635e944c1 --- /dev/null +++ b/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h @@ -0,0 +1,31 @@ +#pragma once + +/* Make layout the right way: + * - USB port on left side + * - Switches facing the correct way + */ +#undef MATRIX_ROW_PINS +#undef MATRIX_COL_PINS +#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 } +#define MATRIX_COL_PINS { D0, D4, C6, D7, E6, B4 } + +// Set the mouse settings to a comfortable speed/accuracy trade-off +// Assume the screen refresh rate is 60 Htz or higher +// The default is 50. This makes the mouse ~3 times faster and more accurate +#define MOUSEKEY_INTERVAL 16 +// The default is 20. Since we made the mouse about 3 times faster with the previous setting, +// give it more time to accelerate to max speed to retain precise control over short distances. +#define MOUSEKEY_TIME_TO_MAX 40 +// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive +#define MOUSEKEY_DELAY 100 +// It makes sense to use the same delay for the mouseweel +#define MOUSEKEY_WHEEL_DELAY 100 +// The default is 100 +#define MOUSEKEY_WHEEL_INTERVAL 50 +// The default is 40 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 + +#define TAPPING_TERM 200 +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_FORCE_HOLD diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json b/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json new file mode 100644 index 0000000000..073eb568f0 --- /dev/null +++ b/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json @@ -0,0 +1 @@ +{"version":1,"notes":"My awesome keymap","documentation":"\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n","keyboard":"40percentclub/gherkin","keymap":"pierrec83","layout":"LAYOUT_ortho_3x10","layers":[["KC_Q","KC_D","KC_R","KC_W","KC_B","KC_J","KC_F","KC_U","KC_P","KC_BSPC","LSFT_T(KC_A)","LT(5,KC_S)","LT(1,KC_H)","LT(3,KC_T)","KC_G","KC_Y","LT(4,KC_N)","LT(2,KC_E)","LT(6,KC_O)","LSFT_T(KC_I)","KC_Z","KC_X","KC_M","KC_C","KC_V","LT(7,KC_SPC)","KC_L","LALT_T(KC_COMM)","LCTL_T(KC_DOT)","KC_K"],["KC_TRNS","ANY(LCTL(LSFT(KC_C)))","KC_PGUP","ANY(LCTL(LSFT(KC_V)))","KC_TRNS","KC_TRNS","KC_BTN1","KC_WH_U","KC_BTN2","KC_TRNS","KC_TRNS","KC_BTN2","KC_NO","KC_BTN1","KC_TRNS","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_U","KC_MS_R","KC_TRNS","KC_TRNS","KC_PGDN","KC_TRNS","KC_TRNS","KC_TRNS","KC_MPRV","KC_WH_D","KC_MNXT","TG(1)"],["KC_TRNS","KC_TRNS","KC_PGUP","KC_TRNS","KC_TRNS","BL_BRTG","BL_INC","KC_WH_U","KC_TRNS","KC_TRNS","KC_LEFT","KC_UP","KC_DOWN","KC_RGHT","KC_TRNS","BL_TOGG","KC_LGUI","KC_NO","LCTL(KC_LALT)","LCA(KC_LSFT)","KC_TRNS","KC_HOME","KC_PGDN","KC_END","KC_TRNS","BL_STEP","BL_DEC","KC_WH_D","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UNDS","KC_PIPE","KC_QUOT","KC_TRNS","KC_CIRC","KC_ASTR","KC_AMPR","KC_NO","KC_TRNS","KC_HASH","KC_TILD","KC_SLSH","KC_DQUO","KC_DLR","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_MINS","KC_BSLS","KC_GRV","KC_TRNS"],["KC_TRNS","KC_COLN","KC_LT","KC_GT","KC_SCLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LCBR","KC_RCBR","KC_LPRN","KC_RPRN","KC_AT","KC_TRNS","KC_NO","KC_EQL","KC_PLUS","KC_PERC","KC_TRNS","KC_EXLM","KC_LBRC","KC_RBRC","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_F7","KC_F8","KC_F9","KC_F10","KC_LCTL","KC_NO","KC_LALT","LCTL(KC_LALT)","KC_TRNS","KC_TRNS","KC_F4","KC_F5","KC_F6","KC_F11","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F1","KC_F2","KC_F3","KC_F12"],["KC_PSLS","KC_7","KC_8","KC_9","KC_PPLS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_0","KC_4","KC_5","KC_6","KC_PMNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_NO","KC_TRNS","KC_PAST","KC_1","KC_2","KC_3","KC_PEQL","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["LT(8,KC_TRNS)","KC_ESC","KC_COLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_DEL","KC_TRNS","KC_PERC","KC_SLSH","KC_ENT","KC_EXLM","KC_TRNS","KC_LGUI","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TAB","KC_TRNS","KC_TRNS","RALT(KC_TRNS)","RCTL(KC_TRNS)","TG(1)"],["KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","EEP_RST","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","RESET","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Anonymous"} \ No newline at end of file diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/readme.md b/keyboards/40percentclub/gherkin/keymaps/pierrec83/readme.md new file mode 100644 index 0000000000..0ade64b346 --- /dev/null +++ b/keyboards/40percentclub/gherkin/keymaps/pierrec83/readme.md @@ -0,0 +1,38 @@ +@pierrec83's keymap for the gherkin +=== + +A usable keymap for the gherkin's 30 keys layout, somewhat in sync with my Kyria keymap. + +This keymap is more or less an adaptation of my Kyria keymap which sacrifices some convenience but retains most functionality. + +Features +--- +* Mouse keys with constants tuned so the keyboard usable for me as my sole pointing device +* Homerow layers activation +* Minimal side-index motion thanks to workman base layer and similar principles in other layers +* Two symbol layers, both activated with one homerow key and either another key on the same hand's homerow or a key from the other hand +* Mousing around, including left and right clicking can be done either one-handed or fully on the homerow with both hands +* Easy chaining of common command line or vim patterns, such as `~/`, `()`, `ESC : w ENTER` etc. +* Common OS shortcuts like switching workspaces on gnome or MacOS easily accessible (for the shortcuts I use. This may not apply to others) + +Instructions to update the keymap +--- + +For now, I am still more comfortable updating the keymap through the qmk configurator as I don't trust myself to manually keep comments describing the keymap in sync with the code itself. This means that my keymap.c is generated and not really readable. For a readble view of my keymap, one must import keymap.json into [qmk configurator](https://config.qmk.fm) and use the web UI or print it. + +To update the keymap, +* Load keymap.json into qmk configurator +* Perform any edits +* Export the keymap. This should save a json file in `~/Downloads/pierrec83.json` or equivalent for your OS +* From the root of qmk_firmware, move the keymap to its destination: +``` +mv ~/Downloads/pierrec83.json keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json +``` +* Flash the firmware (for instance, if left hand is plugged): +``` +qmk flash -kb 40percentclub/gherkin -km pierrec83 +``` + +Author +--- +I am @pierrec83 on Twitter, @pierrechevalier83 on github. I chose the shorter nickname for my keymap. diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/rules.mk b/keyboards/40percentclub/gherkin/keymaps/pierrec83/rules.mk new file mode 100644 index 0000000000..bd518d8f27 --- /dev/null +++ b/keyboards/40percentclub/gherkin/keymaps/pierrec83/rules.mk @@ -0,0 +1 @@ +BACKLIGHT_ENABLE = yes