Last active
September 8, 2019 08:59
-
-
Save pepijndevos/c7aef7a46d69e25b5064edb9e483d2ca to your computer and use it in GitHub Desktop.
Workman QMK layout
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define TAPPING_TOGGLE 5 | |
#define ONESHOT_TAP_TOGGLE 1 | |
#define PREVENT_STUCK_MODIFIERS |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// this is the style you want to emulate. | |
// This is the canonical layout file for the Quantum project. If you want to add another keyboard, | |
#include QMK_KEYBOARD_H | |
// Each layer gets a name for readability, which is then used in the keymap matrix below. | |
// The underscores don't mean anything - you can have a layer called STUFF or any other name. | |
// Layer names don't all need to be of the same length, obviously, and you can also skip them | |
// entirely and just use numbers. | |
#define _QW 0 | |
#define _RS 1 | |
#define _LW 2 | |
#define GUI_HLD GUI_T(KC_NO) | |
#define OSM_SFT OSM(MOD_LSFT) | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
[_QW] = LAYOUT( /* Workman */ | |
KC_Q, KC_W, KC_D, KC_R, KC_Y, KC_J, KC_U, KC_F, KC_P, KC_SCLN , | |
KC_A, KC_S, KC_H, KC_T, KC_G, KC_M, KC_N, KC_E, KC_O, KC_I , | |
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH , | |
KC_ESC, KC_TAB, GUI_HLD, OSM_SFT, KC_BSPC, KC_LALT, KC_LCTL, KC_SPC, TT(_RS), TT(_LW), KC_QUOT, KC_ENT | |
), | |
/* | |
* ! @ up { } || pgup 7 8 9 * | |
* # left down right $ || pgdn 4 5 6 + | |
* [ ] ( ) & || ` 1 2 3 \ | |
* lower insert super shift bksp ctrl || alt space fn . 0 = | |
*/ | |
[_RS] = LAYOUT( /* [> RAISE <] */ | |
KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_MINS, KC_7, KC_8, KC_9, KC_ASTR , | |
KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_UNDS, KC_4, KC_5, KC_6, KC_PLUS , | |
KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS , | |
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DELT, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_0, KC_EQL ), | |
/* | |
* insert home up end pgup || up F7 F8 F9 F10 | |
* del left down right pgdn || down F4 F5 F6 F11 | |
* volup reset || F1 F2 F3 F12 | |
* voldn super shift bksp ctrl || alt space L0 prtsc scroll pause | |
*/ | |
[_LW] = LAYOUT( /* [> LOWER <] */ | |
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , | |
KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET ) | |
}; | |
const uint16_t PROGMEM fn_actions[] = { | |
}; | |
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { | |
// MACRODOWN only works in this function | |
switch(id) { | |
case 0: | |
if (record->event.pressed) { | |
register_code(KC_RSFT); | |
} else { | |
unregister_code(KC_RSFT); | |
} | |
break; | |
} | |
return MACRO_NONE; | |
}; |
I just came back to this to find that my pgdwn is messed up, and found your blogpost saying exactly that. Note that the other changes I made to workman are to make dutch nicer to type.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I made some changes for my copy which I based on this gist:
https://github.com/kensanata/qmk_firmware/tree/master/keyboards/atreus/keymaps/workman
There's also a blog post but the interesting part is at the end, skip practically everything:
https://alexschroeder.ch/wiki/2018-08-22_Workman_on_the_Atreus