]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Keymap] ortho_4x12: bredfield (#6137)
authorBenjamin <bredfield@gmail.com>
Tue, 18 Jun 2019 02:50:31 +0000 (22:50 -0400)
committerDrashna Jaelre <drashna@live.com>
Tue, 18 Jun 2019 02:50:31 +0000 (19:50 -0700)
* [Layout] 4x12: bredfield

* ortho_4x12:bredfield code review tweaks

layouts/community/ortho_4x12/bredfield/config.h [new file with mode: 0644]
layouts/community/ortho_4x12/bredfield/keymap.c [new file with mode: 0644]
layouts/community/ortho_4x12/bredfield/readme.md [new file with mode: 0644]

diff --git a/layouts/community/ortho_4x12/bredfield/config.h b/layouts/community/ortho_4x12/bredfield/config.h
new file mode 100644 (file)
index 0000000..9065e41
--- /dev/null
@@ -0,0 +1,4 @@
+#pragma once
+
+#define TAPPING_TERM 200
+#define PERMISSIVE_HOLD
\ No newline at end of file
diff --git a/layouts/community/ortho_4x12/bredfield/keymap.c b/layouts/community/ortho_4x12/bredfield/keymap.c
new file mode 100644 (file)
index 0000000..78fa8c8
--- /dev/null
@@ -0,0 +1,175 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+// Keymap layers
+enum layer_names {
+    _BASE_LAYER,
+    _RAISE_LAYER,
+    _LOWER_LAYER,
+    _NUMPAD_LAYER,
+    _NAVIGATION_LAYER,
+    _UI_LAYER,
+    _KEYBOARD_LAYER,
+};
+
+// Layer switches aliases
+#define L_LOWER MO(_LOWER_LAYER)
+#define L_RAISE MO(_RAISE_LAYER)
+#define L_NUMPAD MO(_NUMPAD_LAYER)
+#define L_UI MO(_UI_LAYER)
+#define L_KEYBD MO(_KEYBOARD_LAYER)
+#define SCL_NAV LT(_NAVIGATION_LAYER, KC_SCLN)
+#define SFT_MIN MT(MOD_RSFT, KC_MINS)
+#define SFT_ENT KC_SFTENT
+
+// GUI chords
+#define GUI_1 LGUI(KC_1)
+#define GUI_2 LGUI(KC_2)
+#define GUI_3 LGUI(KC_3)
+#define GUI_4 LGUI(KC_4)
+#define GUI_5 LGUI(KC_5)
+#define GUI_6 LGUI(KC_6)
+#define GUI_7 LGUI(KC_7)
+#define GUI_8 LGUI(KC_8)
+#define GUI_9 LGUI(KC_9)
+#define GUI_0 LGUI(KC_0)
+#define GUI_MIN LGUI(KC_MINS)
+#define GUI_EQL LGUI(KC_EQL)
+#define GUI_LBR LGUI(KC_LBRC)
+#define GUI_RBR LGUI(KC_RBRC)
+#define GUI_ENT LGUI_T(KC_ENT)
+#define GUI_ESC LGUI_T(KC_ESC)
+#define GUI_TAB LGUI(KC_TAB) // application toggle
+#define GUI_GRV LGUI(KC_GRV) // window toggle
+#define GUI_SSF LGUI(LSFT(KC_3)) // Full screen shot
+#define GUI_SST LGUI(LSFT(KC_4)) // Targetted screen shot
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |   Tab  |    Q   |    W   |    E   |    R   |    T   |    Y   |    U   |    I   |    O   |    P   |   -    |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * | GUI/Esc|    A   |    S   |    D   |    F   |    G   |    H   |    J   |    K   |    L   |  ;/nav |   "    |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |  Shift |    Z   |    X   |    C   |    V   |    B   |    N   |    M   |    ,   |    .   |    /   | Sft/ent|
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * | Numpad |  Ctrl  |  Alt   |  GUI   |  Lower |  Bksp  |  Space | Raise  |  Ctrl  |  Alt   |   UI   |  Keybd |
+ * `-----------------------------------------------------------------------------------------------------------'
+ */
+[_BASE_LAYER] = LAYOUT_ortho_4x12(
+    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_MINS,
+    GUI_ESC, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    SCL_NAV, KC_QUOT,
+    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SFT_ENT,
+    L_NUMPAD,KC_LCTL, KC_LALT, KC_LGUI, L_LOWER, KC_BSPC, KC_SPACE,L_RAISE, KC_RCTRL,KC_RALT, L_UI,    L_KEYBD
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |   `    |    !   |    @   |    #   |    $   |    %   |    ^   |    &   |    *   |   +    |    =   |    -   |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |    1   |    2   |    3   |    4   |    5   |    6   |    7   |    8   |    9   |    0   |    \   |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |   ,    |    .   |    /   |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |  Del   |        |        |        |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+ */
+[_LOWER_LAYER] = LAYOUT_ortho_4x12(
+    KC_GRV,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PLUS, KC_EQL,  _______,
+    _______, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
+    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT,  KC_SLSH, _______,
+    _______, _______, _______, _______, _______, KC_DEL,  _______, _______, _______, _______, _______, _______
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |   ~    |   F1   |   F2   |   F3   |   F4   |   F5   |   F6   |   F7   |   F8   |    F9  |  F10   |   _    |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |    {   |    [   |    (   |   <    |    >   |    )   |    ]   |    }   |        |   |    |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |   Del  |        |        |        |        |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+ */
+[_RAISE_LAYER] = LAYOUT_ortho_4x12(
+    KC_TILD, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_7,    KC_F8,   KC_F9,   KC_F10,  KC_UNDS,
+    _______, XXXXXXX, KC_LCBR, KC_LBRC, KC_LPRN, KC_LABK, KC_RABK, KC_RPRN, KC_RBRC, KC_RCBR, XXXXXXX, KC_PIPE,
+    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+    _______, _______, _______, _______, _______, KC_DEL,  _______, _______, _______, _______, _______, _______
+),
+
+/* Numpad
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |        |        |        |        |        |        |        |   7    |    8   |   9    |   *    |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |   4    |    5   |   6    |   -    |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |   1    |    2   |   3    |   +    |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |   0    |    .   |   /    |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+ */
+[_NUMPAD_LAYER] = LAYOUT_ortho_4x12(
+    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7,    KC_8,    KC_9,    KC_ASTR, XXXXXXX,
+    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4,    KC_5,    KC_6,    KC_MINS, XXXXXXX,
+    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1,    KC_2,    KC_3,    KC_PLUS, _______,
+    _______, _______, _______, _______, _______, _______, _______, KC_0,    KC_DOT,  KC_SLSH, _______, _______
+),
+
+/* Navigation
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |        |        |        |        |        |        |        |  Home  |   Up   |  End   |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |  Left  |  Down  | Right  |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |  Enter |        |        |   Del  |        |        |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+ */
+[_NAVIGATION_LAYER] = LAYOUT_ortho_4x12(
+    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_UP,   KC_END,  XXXXXXX, XXXXXXX,
+    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX,
+    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+    _______, _______, _______, _______, KC_ENT,  _______, _______, KC_DEL,  _______, _______, _______, _______
+),
+
+/* UI
+ * ,--------------------------------------------------------------------------------+--------+-----------------.
+ * | GUI Tab|        |        |        |        |        |        |        |        | GUI -  | GUI =  |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * | GUI `  | GUI 1  |  GUI 2 |  GUI 3 |  GUI 4 |  GUI 5 | GUI 6  | GUI 7  |        | GUI [  | GUI ]  |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------------------------+--------|
+ * |        |Full SS | Area SS|        |        |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |  Prev  |  Play  | Next   |  Bri - |        |        |  Bri + |  Mute  | Vol -  | Vol +  |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+ */
+[_UI_LAYER] = LAYOUT_ortho_4x12(
+    GUI_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GUI_MIN, GUI_EQL, XXXXXXX,
+    GUI_GRV, GUI_1,   GUI_2,   GUI_3,   GUI_4,   GUI_5,   GUI_6,   GUI_7,   XXXXXXX, GUI_LBR, GUI_RBR, XXXXXXX,
+    _______, GUI_SSF, GUI_SST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+    _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_VOLD, KC_MUTE, KC_MUTE, KC_VOLU, _______, _______, _______, _______
+),
+
+/* Keyboard
+ * ,--------------------------------------------------------------------------------+--------+-----------------.
+ * |        |        |        |        |        |        |        |        |        |        |        | RESET  |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        | DEBUG  |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------------------------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+ */
+[_KEYBOARD_LAYER] = LAYOUT_ortho_4x12(
+    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG,
+    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+    _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______
+),
+};
\ No newline at end of file
diff --git a/layouts/community/ortho_4x12/bredfield/readme.md b/layouts/community/ortho_4x12/bredfield/readme.md
new file mode 100644 (file)
index 0000000..e0f6e3f
--- /dev/null
@@ -0,0 +1,105 @@
+# bredfield's 4x12 Ortho Keymap
+
+## Overview
+This is the layout that I use for all 4x12 boards, for writing and programming.
+
+- Works with planck or split style boards
+- Split spacebar; left position is backspace, which frees up the typical key for minus/undersc
+- Targets mac os; linux variant to come
+- Navigation layer is triggered via the `;` key, allowing for single-hand navigation without leaving the home row
+- Brackets are located on the home row on raise, which is comfortable when programming
+- Reduced mod / layer tap use, to avoid input lag
+- LEDs are overrated
+
+## Layers
+### Main
+```
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |   Tab  |    Q   |    W   |    E   |    R   |    T   |    Y   |    U   |    I   |    O   |    P   |   -    |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * | GUI/Esc|    A   |    S   |    D   |    F   |    G   |    H   |    J   |    K   |    L   |  ;/nav |   "    |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |  Shift |    Z   |    X   |    C   |    V   |    B   |    N   |    M   |    ,   |    .   |    /   | Sft/ent|
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * | Numpad |  Ctrl  |  Alt   |  GUI   |  Lower |  Bksp  |  Space | Raise  |  Ctrl  |  Alt   |   UI   |  Keybd |
+ * `-----------------------------------------------------------------------------------------------------------'
+ ```
+
+ ### Lower
+ ```
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |   `    |    !   |    @   |    #   |    $   |    %   |    ^   |    &   |    *   |   +    |    =   |    -   |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |    1   |    2   |    3   |    4   |    5   |    6   |    7   |    8   |    9   |    0   |    \   |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |   ,    |    .   |    /   |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |  Del   |        |        |        |        |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+```
+
+### Raise
+```
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |   ~    |   F1   |   F2   |   F3   |   F4   |   F5   |   F6   |   F7   |   F8   |    F9  |  F10   |   _    |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |    {   |    [   |    (   |   <    |    >   |    )   |    ]   |    }   |        |   |    |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |   Del  |        |        |        |        |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+```
+
+### Numpad
+```
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |        |        |        |        |        |        |        |   7    |    8   |   9    |   *    |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |   4    |    5   |   6    |   -    |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |   1    |    2   |   3    |   +    |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |   0    |    .   |   /    |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+ ```
+
+### Navigation
+```
+ * ,-----------------------------------------------------------------------------------------------------------.
+ * |        |        |        |        |        |        |        |  Home  |   Up   |  End   |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |  Left  |  Down  | Right  |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |  Enter |        |        |   Del  |        |        |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+```
+
+### UI
+```
+ * ,--------------------------------------------------------------------------------+--------+-----------------.
+ * | GUI Tab|        |        |        |        |        |        |        |        | GUI -  | GUI =  |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * | GUI `  | GUI 1  |  GUI 2 |  GUI 3 |  GUI 4 |  GUI 5 | GUI 6  | GUI 7  |        | GUI [  | GUI ]  |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------------------------+--------|
+ * |        |Full SS | Area SS|        |        |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |  Prev  |  Play  | Next   |  Bri - |        |        |  Bri + |  Mute  | Vol -  | Vol +  |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+```
+
+### Keyboard
+```
+ * ,--------------------------------------------------------------------------------+--------+-----------------.
+ * |        |        |        |        |        |        |        |        |        |        |        | RESET  |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        | DEBUG  |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------------------------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |        |        |        |        |        |
+ * `-----------------------------------------------------------------------------------------------------------'
+ */
+ ```
\ No newline at end of file