summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2023-02-19 03:14:42 +0000
committerQMK Bot <hello@qmk.fm>2023-02-19 03:14:42 +0000
commit3a23d0aab72782c05e6c194130ffccb82ef95e11 (patch)
tree3c334c122484c7d86261f9b6c861aa54a81a11bf /keyboards
parent1283863c0e423eabfc01a4d3906cefbbf94a512c (diff)
parent08fc37062175d6e4998c40be5b5f9a8993bc710b (diff)
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/skewwhiffy/keymap.c151
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/skewwhiffy/readme.md25
2 files changed, 176 insertions, 0 deletions
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/skewwhiffy/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/skewwhiffy/keymap.c
new file mode 100644
index 0000000000..68023a2d0a
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/skewwhiffy/keymap.c
@@ -0,0 +1,151 @@
1/* Copyright 2023 skewwhiffy
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17#include "keymap_uk.h"
18
19// Layer shorthand
20enum Layers {
21 cm, // colemak
22 nbl, // numbers left
23 nbr, // numbers right
24 syl, // symbols left
25 syr, // symbols right
26 nal, // navigation left
27 nar // navigation right
28};
29
30// Layer buttons
31#define _Z_SFT SFT_T(UK_Z)
32#define _SLSH SFT_T(UK_SLSH)
33
34#define _X_NB LT(nbl, UK_X)
35#define _DOT_NB LT(nbr, UK_DOT)
36#define __NBL LT(nbl, _______)
37#define __NBR LT(nbr, _______)
38
39#define _C_SY LT(syl, UK_C)
40#define _COM_SY LT(syr, UK_COMM)
41#define __SYL LT(syl, _______)
42#define __SYR LT(syr, _______)
43
44#define _V_NAL LT(nal, UK_V)
45#define _M_NAR LT(nar, UK_M)
46#define __NAL LT(nal, _______)
47#define __NAR LT(nar, _______)
48
49// Custom hotkeys
50#define _TERM LCTL(UK_QUOT) // Hotkey for terminal
51#define _S_TAB S(KC_TAB)
52#define _C_LEFT LCTL(KC_LEFT)
53#define _C_RGHT LCTL(KC_RGHT)
54#define _A_LEFT LALT(KC_LEFT)
55#define _A_RGHT LALT(KC_RGHT)
56#define _VIM_ESC LCTL(KC_LBRC)
57
58const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
59
60/* Colemak
61 * .-----------------------------------------------------------------------------------------------------.
62 * | Q | W | F | P | G | | | J | L | U | Y | ; |
63 * |-----------------------------------------------------------------------------------------------------|
64 * | A | R | S | T | D | | | H | N | E | I | O |
65 * |-----------------------------------------------------------------------------------------------------|
66 * | Z | X | C | V | B | DEL | DEL | K | M | , | . | / |
67 * | SHIFT | NUMBER | SYMBOL | NAV | | | | | NAV | SYMBOL | FUNC | SHIFT |
68 * |-----------------------------------------------------------------------------------------------------|
69 * | LSHIFT | LCTRL | LALT | LGUI | SPACE | ENTER | BKSPC | RGUI | RALT | RCTRL | RSHIFT |
70 * .-----------------------------------------------------------------------------------------------------.
71 */
72 [cm] = LAYOUT_planck_mit(
73 UK_Q, UK_W, UK_F, UK_P, UK_G, _______, _______, UK_J, UK_L, UK_U, UK_Y, UK_SCLN,
74 UK_A, UK_R, UK_S, UK_T, UK_D, _______, _______, UK_H, UK_N, UK_E, UK_I, UK_O,
75 _Z_SFT, _X_NB, _C_SY, _V_NAL, UK_B, KC_DEL, KC_DEL, UK_K, _M_NAR, _COM_SY, _DOT_NB, _SLSH,
76 KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, KC_BSPC, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT
77 ),
78
79/* Numbers _NB
80 * .-----------------------------------------------------------------------------------------------------------.
81 * | | F7 | F8 | F9 | F10 | | | | 7 | 8 | 9 | |
82 * |-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
83 * | | F4 | F5 | F6 | F11 | | | | 4 | 5 | 6 | |
84 * |-----------------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
85 * | | F1 | F2 | F3 | F12 | | | 0 | 1 | 2 | 3 | . |
86 * |-----------------+--------+--------+--------+--------+--------+--------+-----------------+--------+--------|
87 * | | | | | | | | | | | | |
88 * '-----------------------------------------------------------------------------------------------------------'
89 */
90 [nbl] = LAYOUT_planck_mit(
91 _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, KC_7, KC_8, KC_9, _______,
92 _______, KC_F4, KC_F5, KC_F6, KC_F11, _______, _______, _______, KC_4, KC_5, KC_6, _______,
93 _______, __NBL, KC_F2, KC_F3, KC_F12, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_DOT,
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
95 ),
96 [nbr] = LAYOUT_planck_mit(
97 _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, KC_7, KC_8, KC_9, _______,
98 _______, KC_F4, KC_F5, KC_F6, KC_F11, _______, _______, _______, KC_4, KC_5, KC_6, _______,
99 _______, KC_F1, KC_F2, KC_F3, KC_F12, _______, _______, KC_0, KC_1, KC_2, __NBR, KC_DOT,
100 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
101 ),
102
103/* Symbols _SY
104 * .-----------------------------------------------------------------------------------------------------------.
105 * | ! | £ | _ | - | ~ | | | \ | { | } | / | # |
106 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
107 * | $ | % | + | = | | | | " | ( | ) | ' | @ |
108 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
109 * | ^ | & | * | | | | | | < | [ | ] | > | ` |
110 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
111 * | | | | | | | | | | | | |
112 * '-----------------------------------------------------------------------------------------------------------'
113 */
114 [syl] = LAYOUT_planck_mit(
115 UK_EXLM, UK_PND, UK_UNDS, UK_MINS, UK_TILD, _______, _______, UK_BSLS, UK_LCBR, UK_RCBR, UK_SLSH, UK_HASH,
116 UK_DLR, UK_PERC, UK_PLUS, UK_EQL, _______, _______, _______, UK_DQUO, UK_LPRN, UK_RPRN, UK_QUOT, UK_AT,
117 UK_CIRC, UK_AMPR, __SYL, UK_PIPE, _______, _______, _______, UK_LABK, UK_LBRC, UK_RBRC, UK_RABK, UK_GRV,
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
119 ),
120 [syr] = LAYOUT_planck_mit(
121 UK_EXLM, UK_PND, UK_UNDS, UK_MINS, UK_TILD, _______, _______, UK_BSLS, UK_LCBR, UK_RCBR, UK_SLSH, UK_HASH,
122 UK_DLR, UK_PERC, UK_PLUS, UK_EQL, _______, _______, _______, UK_DQUO, UK_LPRN, UK_RPRN, UK_QUOT, UK_AT,
123 UK_CIRC, UK_AMPR, UK_ASTR, UK_PIPE, _______, _______, _______, UK_LABK, UK_LBRC, __SYR, UK_RABK, UK_GRV,
124 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
125 ),
126
127/*
128 * Navigation
129 * .----------------------------------------------------------------------------------------------------------------.
130 * | Ctrl [ | Ctrl L | Up | Ctrl R | | RGB HUE | RGB ON/OFF | | PtSn | ScLk | Pause | ESC |
131 * +--------+--------+--------+--------+--------+---------+------------+--------+--------+--------+--------+--------|
132 * | Tab | Left | Down | Right | | RGB SAT | | | Insert | Home | PgUp | Term |
133 * +--------+--------+--------+--------+--------+---------+------------+--------+--------+--------+--------+--------|
134 * | ShTab | Alt L | | Alt R | | RGB VAL | RESET | | Delete | End | PgDn | |
135 * +--------+--------+--------+--------+--------+---------+------------+--------+--------+--------+--------+--------|
136 * | | | | | | RGB MODE | | | | | |
137 * '----------------------------------------------------------------------------------------------------------------'
138 */
139 [nal] = LAYOUT_planck_mit(
140 _VIM_ESC, _C_LEFT, KC_UP, _C_RGHT, _______, RGB_HUI, RGB_TOG, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_ESC,
141 KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_SAI, _______, _______, KC_INS, KC_HOME, KC_PGUP, _TERM,
142 _S_TAB, _A_LEFT, _______, __NAL, _______, RGB_VAI, QK_BOOT, _______, KC_DEL, KC_END, KC_PGDN, _______,
143 _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______
144 ),
145 [nar] = LAYOUT_planck_mit(
146 _VIM_ESC, _C_LEFT, KC_UP, _C_RGHT, _______, RGB_HUI, RGB_TOG, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_ESC,
147 KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_SAI, _______, _______, KC_INS, KC_HOME, KC_PGUP, _TERM,
148 _S_TAB, _A_LEFT, _______, _A_RGHT, _______, RGB_VAI, QK_BOOT, _______, __NAR, KC_END, KC_PGDN, _______,
149 _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______
150 ),
151};
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/skewwhiffy/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/skewwhiffy/readme.md
new file mode 100644
index 0000000000..c0349bd79b
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/skewwhiffy/readme.md
@@ -0,0 +1,25 @@
1# Skewwhiffy keymap
2
3## Overview
4
5A small-form ergonomic Colemak-based multi-layered layout, optimized for software engineering. Programmed to emulate a standard UK ISO keyboard.
6
7Keyboard layout can be viewed [here](http://www.keyboard-layout-editor.com/#/gists/470f01e934c27d41491dea9ef5c6fde6)
8
9[![keyboard-layout.png](https://i.postimg.cc/BbDCYnzh/keyboard-layout.png)](https://postimg.cc/Lg9fh22f)
10
11## Default layer
12
13Colemak, with fingers right up to the edge of the keyboard. Layers and capital letters are accessed by holding down keys on the bottom row of letters (so, holding down Z will give you the capitals, holding down the X will give you the number layer).
14
15## Number layer
16
17Used to access numbers (on the right hand side of the keyboard) and function keys (on the left hand side of the keyboard). Hold down X or > to access.
18
19## Symbol layer
20
21Used to access symbols. Hold down C or < to access.
22
23## Navigation layer
24
25Used to access navigation and RGB control keys. Hold down V or M to access. \ No newline at end of file