[Keymap] Add pierrec83's Kyria keymap (#9401)
This commit is contained in:
parent
3e27ceee42
commit
43b6f031b1
7 changed files with 203 additions and 0 deletions
65
keyboards/kyria/keymaps/pierrec83/config.h
Normal file
65
keyboards/kyria/keymaps/pierrec83/config.h
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
/* Copyright 2020 Pierre Chevalier <pierrechevalier83@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
|
#define OLED_DISPLAY_128X64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ENCODER_ENABLE
|
||||||
|
#define ENCODER_DIRECTION_FLIP
|
||||||
|
#define ENCODER_RESOLUTION 2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define TAPPING_TERM 200
|
||||||
|
#define PERMISSIVE_HOLD
|
||||||
|
#define IGNORE_MOD_TAP_INTERRUPT
|
||||||
|
#define TAPPING_FORCE_HOLD
|
||||||
|
// Allows to use either side as the master. Look at the documentation for info:
|
||||||
|
// https://docs.qmk.fm/#/config_options?id=setting-handedness
|
||||||
|
#define EE_HANDS
|
||||||
|
|
||||||
|
// Allows media codes to properly register in macros and rotary encoder code
|
||||||
|
#define TAP_CODE_DELAY 10
|
||||||
|
|
||||||
|
// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
|
||||||
|
// #define SPLIT_USB_DETECT
|
||||||
|
// #define NO_USB_STARTUP_CHECK
|
||||||
|
|
||||||
|
// 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
|
||||||
|
|
63
keyboards/kyria/keymaps/pierrec83/encoders.c
Normal file
63
keyboards/kyria/keymaps/pierrec83/encoders.c
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "layers.h"
|
||||||
|
|
||||||
|
#ifdef ENCODER_ENABLE
|
||||||
|
|
||||||
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
|
if (index == 0) {
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case WORKMAN:
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_VOLU);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_VOLD);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYMBOLS:
|
||||||
|
case FN:
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_PGDN);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_PGUP);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NAV:
|
||||||
|
case RNAV:
|
||||||
|
default:
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code16(C(A(KC_RIGHT)));
|
||||||
|
} else {
|
||||||
|
tap_code16(C(A(KC_LEFT)));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else if (index == 1) {
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case WORKMAN:
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_BRIU);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_BRID);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYMBOLS:
|
||||||
|
case FN:
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code16(C(KC_RIGHT));
|
||||||
|
} else {
|
||||||
|
tap_code16(C(KC_LEFT));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NAV:
|
||||||
|
case RNAV:
|
||||||
|
default:
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code16(C(KC_TAB));
|
||||||
|
} else {
|
||||||
|
tap_code16(C(S(KC_TAB)));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
18
keyboards/kyria/keymaps/pierrec83/keymap.c
Normal file
18
keyboards/kyria/keymaps/pierrec83/keymap.c
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
/* THIS FILE WAS GENERATED!
|
||||||
|
*
|
||||||
|
* This file was generated by qmk json2c. You may or may not want to
|
||||||
|
* edit it directly.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(KC_NO, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_NO, KC_NO, 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_NO, KC_NO, KC_Z, KC_X, KC_M, KC_C, KC_V, TG(2), TG(2), TG(1), TG(1), KC_K, KC_L, LALT_T(KC_COMM), LCTL_T(KC_DOT), KC_SLSH, KC_NO, KC_NO, KC_NO, LCA(KC_LEFT), KC_BSPC, KC_NO, KC_NO, LT(7,KC_SPC), LCA(KC_RGHT), KC_NO, KC_NO),
|
||||||
|
[1] = LAYOUT(KC_TRNS, KC_TRNS, LCTL(LSFT(KC_C)), KC_PGUP, LCTL(LSFT(KC_V)), KC_TRNS, RGB_MOD, KC_BTN1, KC_WH_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_NO, KC_BTN1, KC_TRNS, RGB_RMOD, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, TG(1), TG(1), KC_TRNS, KC_TRNS, RGB_TOG, KC_WH_L, KC_WH_D, KC_WH_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(LSFT(KC_TAB)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_TAB), KC_TRNS, KC_TRNS),
|
||||||
|
[2] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, RGB_RMOD, KC_LGUI, KC_NO, LCTL(KC_LALT), LCA(KC_LSFT), KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, TG(2), TG(2), RGB_TOG, KC_TRNS, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LGUI(KC_LEFT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LGUI(KC_RGHT), KC_TRNS, KC_TRNS),
|
||||||
|
[3] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PIPE, KC_QUOT, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_BSLS, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRID, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRIU, KC_TRNS, KC_TRNS),
|
||||||
|
[4] = LAYOUT(KC_TRNS, KC_TRNS, KC_COLN, KC_LT, KC_GT, KC_SCLN, KC_TRNS, KC_TRNS, 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_TRNS, 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_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS),
|
||||||
|
[5] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_LALT), KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
[6] = LAYOUT(KC_TRNS, KC_PSLS, KC_7, KC_8, KC_9, KC_PPLS, KC_TRNS, KC_TRNS, 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_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_1, KC_2, KC_3, KC_PEQL, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
[7] = LAYOUT(KC_TRNS, KC_TRNS, KC_ESC, KC_COLN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_COMM), RCTL_T(KC_DOT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||||
|
};
|
1
keyboards/kyria/keymaps/pierrec83/keymap.json
Normal file
1
keyboards/kyria/keymaps/pierrec83/keymap.json
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"version":1,"notes":"My awesome keymap","documentation":"\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\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":"kyria/rev1","keymap":"pierrec83","layout":"LAYOUT","layers":[["KC_NO","KC_Q","KC_D","KC_R","KC_W","KC_B","KC_J","KC_F","KC_U","KC_P","KC_SCLN","KC_NO","KC_NO","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_NO","KC_NO","KC_Z","KC_X","KC_M","KC_C","KC_V","TG(2)","TG(2)","TG(1)","TG(1)","KC_K","KC_L","LALT_T(KC_COMM)","LCTL_T(KC_DOT)","KC_SLSH","KC_NO","KC_NO","KC_NO","LCA(KC_LEFT)","KC_BSPC","KC_NO","KC_NO","LT(7,KC_SPC)","LCA(KC_RGHT)","KC_NO","KC_NO"],["KC_TRNS","KC_TRNS","ANY(LCTL(LSFT(KC_C)))","KC_PGUP","ANY(LCTL(LSFT(KC_V)))","KC_TRNS","RGB_MOD","KC_BTN1","KC_WH_U","KC_BTN2","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_BTN2","KC_NO","KC_BTN1","KC_TRNS","RGB_RMOD","KC_MS_L","KC_MS_D","KC_MS_U","KC_MS_R","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_PGDN","KC_TRNS","KC_TRNS","TG(1)","TG(1)","KC_TRNS","KC_TRNS","RGB_TOG","KC_WH_L","KC_WH_D","KC_WH_R","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","ANY(LCTL(LSFT(KC_TAB)))","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","LCTL(KC_TAB)","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_PGUP","KC_TRNS","KC_TRNS","RGB_MOD","KC_TRNS","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LEFT","KC_UP","KC_DOWN","KC_RGHT","KC_TRNS","RGB_RMOD","KC_LGUI","KC_NO","LCTL(KC_LALT)","LCA(KC_LSFT)","KC_TRNS","KC_TRNS","KC_TRNS","KC_HOME","KC_PGDN","KC_END","KC_TRNS","KC_TRNS","KC_TRNS","TG(2)","TG(2)","RGB_TOG","KC_TRNS","KC_WH_D","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","LGUI(KC_LEFT)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","LGUI(KC_RGHT)","KC_TRNS","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_TRNS","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_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_MINS","KC_BSLS","KC_GRV","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_BRID","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_BRIU","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_COLN","KC_LT","KC_GT","KC_SCLN","KC_TRNS","KC_TRNS","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_TRNS","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_TRNS","KC_VOLD","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","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_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_NO","KC_TRNS","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_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F1","KC_F2","KC_F3","KC_F12","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","LCTL(KC_LALT)","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_PSLS","KC_7","KC_8","KC_9","KC_PPLS","KC_TRNS","KC_TRNS","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_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_PAST","KC_1","KC_2","KC_3","KC_PEQL","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_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_ESC","KC_COLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_DEL","KC_TRNS","KC_TRNS","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_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","RALT_T(KC_COMM)","RCTL_T(KC_DOT)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TAB","KC_TRNS","KC_TRNS","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS"]],"author":"Anonymous"}
|
7
keyboards/kyria/keymaps/pierrec83/layers.h
Normal file
7
keyboards/kyria/keymaps/pierrec83/layers.h
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
enum layers {
|
||||||
|
WORKMAN = 0,
|
||||||
|
RNAV,
|
||||||
|
NAV,
|
||||||
|
SYMBOLS,
|
||||||
|
FN,
|
||||||
|
};
|
44
keyboards/kyria/keymaps/pierrec83/readme.md
Normal file
44
keyboards/kyria/keymaps/pierrec83/readme.md
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
@pierrec83's keymap for the Kyria
|
||||||
|
===
|
||||||
|
|
||||||
|
A comfortable for me using 34 keys.
|
||||||
|
|
||||||
|
This keymap has evolved over a period of time from iterating as I observed pain points in my interacting with my home and work computers (MacOS and Linux. I edited many of the shortcuts in MacOS to match those in Linux for consistency).
|
||||||
|
|
||||||
|
Features
|
||||||
|
---
|
||||||
|
* Mouse keys with constants tuned so the keyboard usable for me as my sole pointing device
|
||||||
|
* Homerow layers activation
|
||||||
|
* Minimal unhoming of the thumbs (the one side thumb key I do use does not overlap with typing english or code)
|
||||||
|
* 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.
|
||||||
|
* Outer pinky columns unused for ergonomic reasons
|
||||||
|
* 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/kyria/keymaps/pierrec83/keymap.json
|
||||||
|
```
|
||||||
|
* Regenerate the `keymap.c`:
|
||||||
|
```
|
||||||
|
qmk json2c keyboards/kyria/keymaps/pierrec83/keymap.json -o keyboards/kyria/keymaps/pierrec83/keymap.c
|
||||||
|
```
|
||||||
|
* Flash the firmware (for instance, if left hand is plugged):
|
||||||
|
```
|
||||||
|
qmk flash -kb kyria -km pierrec83 -bl dfu-split-left
|
||||||
|
```
|
||||||
|
|
||||||
|
Author
|
||||||
|
---
|
||||||
|
I am @pierrec83 on Twitter, @pierrechevalier83 on github. I chose the shorter nickname for my keymap.
|
5
keyboards/kyria/keymaps/pierrec83/rules.mk
Normal file
5
keyboards/kyria/keymaps/pierrec83/rules.mk
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
OLED_DRIVER_ENABLE = no # Enables the use of OLED displays
|
||||||
|
ENCODER_ENABLE = yes # ENables the use of one or more encoders
|
||||||
|
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||||
|
|
||||||
|
SRC += encoders.c
|
Loading…
Reference in a new issue