forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Keymap: Added buswerks ortho_4x12 keymap (qmk#3623)
* Added buswerks keymap * cleaned up comments on buswerks keymap * Added buswerks keymap readme.md * Fixed spelling in buswerks readme.md * Removed unnecessary includes, changed process_record_user to now use set_single_persistent_default_layer(), removed deprecated functions, and moved the audio ifdef block to config.h
- Loading branch information
Showing
3 changed files
with
204 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#pragma once | ||
|
||
/* Use I2C or Serial, not both */ | ||
|
||
#define USE_SERIAL | ||
// #define USE_I2C | ||
|
||
/* Select hand configuration */ | ||
|
||
#define MASTER_LEFT | ||
// #define _MASTER_RIGHT | ||
// #define EE_HANDS | ||
|
||
#ifdef AUDIO_ENABLE | ||
#define STARTUP_SONG SONG(PLANCK_SOUND) | ||
// #define STARTUP_SONG SONG(NO_SOUND) | ||
|
||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
SONG(COLEMAK_SOUND), \ | ||
SONG(DVORAK_SOUND) \ | ||
} | ||
#endif |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
#include QMK_KEYBOARD_H | ||
|
||
extern keymap_config_t keymap_config; | ||
|
||
#define _QWERTY 0 | ||
#define _COLEMAK 1 | ||
#define _DVORAK 2 | ||
#define _LOWER 3 | ||
#define _RAISE 4 | ||
#define _ADJUST 16 | ||
|
||
enum custom_keycodes { | ||
QWERTY = SAFE_RANGE, | ||
COLEMAK, | ||
DVORAK, | ||
LOWER, | ||
RAISE, | ||
ADJUST, | ||
}; | ||
|
||
// Fillers to make layering more clear | ||
#define _______ KC_TRNS | ||
#define KC_ KC_TRNS | ||
#define XXXXXXX KC_NO | ||
|
||
#define ESC_CMD MT(MOD_LGUI, KC_ESC) | ||
#define RSE_ENT LT(_RAISE, KC_ENT) | ||
#define KC_LOWR LOWER | ||
#define KC_RASE RAISE | ||
#define KC_ADJ ADJUST | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
|
||
[_QWERTY] = 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_BSPC, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K, KC_L , KC_SCLN, KC_QUOT, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
KC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER , KC_SPC , KC_LSFT, RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT \ | ||
// '--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' | ||
), | ||
|
||
[_COLEMAK] = LAYOUT_ortho_4x12( \ | ||
// .--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------. | ||
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
ESC_CMD, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
KC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER , KC_SPC , KC_LSFT, RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT \ | ||
// '--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' | ||
), | ||
|
||
[_DVORAK] = LAYOUT_ortho_4x12( \ | ||
// .--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------. | ||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER , KC_SPC , KC_LSFT, RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT \ | ||
// '--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' | ||
), | ||
|
||
[_LOWER] = LAYOUT_ortho_4x12( \ | ||
// .--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------. | ||
KC_TILD, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_MINS, KC_DEL, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, KC_4, KC_5, KC_6, KC_PLUS, KC_PIPE, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
_______, KC_CIRC, KC_ASTR, KC_UNDS, KC_EQL, KC_AMPR, _______, KC_1, KC_2, KC_3, KC_SLSH, _______, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
_______, _______, _______, _______, _______, _______, _______, KC_0, _______, _______, _______, _______ \ | ||
// '--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' | ||
), | ||
|
||
[_RAISE] = LAYOUT_ortho_4x12( \ | ||
// .--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------. | ||
KC_GRV, _______, _______, KC_LPRN, KC_RPRN, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, KC_DEL, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
_______, _______, _______, KC_LCBR, KC_RCBR, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, KC_BSLS, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
_______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, \ | ||
// |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ | ||
// '--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' | ||
), | ||
|
||
[_ADJUST] = LAYOUT_ortho_4x12( \ | ||
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \ | ||
_______, _______, RESET, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ | ||
) | ||
|
||
|
||
}; | ||
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
switch (keycode) { | ||
case QWERTY: | ||
if (record->event.pressed) { | ||
set_single_persistent_default_layer(_QWERTY); | ||
} | ||
return false; | ||
break; | ||
case COLEMAK: | ||
if (record->event.pressed) { | ||
set_single_persistent_default_layer(_COLEMAK); | ||
} | ||
return false; | ||
break; | ||
case DVORAK: | ||
if (record->event.pressed) { | ||
set_single_persistent_default_layer(_DVORAK); | ||
} | ||
return false; | ||
break; | ||
case LOWER: | ||
if (record->event.pressed) { | ||
layer_on(_LOWER); | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
} else { | ||
layer_off(_LOWER); | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
} | ||
return false; | ||
break; | ||
case RAISE: | ||
if (record->event.pressed) { | ||
layer_on(_RAISE); | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
} else { | ||
layer_off(_RAISE); | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
} | ||
return false; | ||
break; | ||
case ADJUST: | ||
if (record->event.pressed) { | ||
layer_on(_ADJUST); | ||
} else { | ||
layer_off(_ADJUST); | ||
} | ||
return false; | ||
break; | ||
} | ||
return true; | ||
} |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
Buswerks' 4x12 Ortholinear Layout | ||
============================ | ||
For use on Planck, Let's Split, and similar keyboards | ||
|
||
### Layout Overview | ||
|
||
- Main Layer | ||
- An additional shift key is located on the right space key (only works for grid layouts) | ||
- Enter is located on the Raise key (layer-tap) | ||
- The left and right shift keys function as Space Cadet shift keys | ||
- The bottom left key is the Adjust modifier | ||
- Escape is in the traditional Caps Lock position | ||
- Holding down the escape key acts as LGUI (intended for macOS use) | ||
- Lower | ||
- There is a numpad on the right hand (4, 5, and 6 are located under JKL/NEI/HTN) | ||
- Plus and minus keys are located to the right of the numpad | ||
- All other symbols are located on the other side of the keyboard, in a somewhat logical order | ||
- Symbols from the number row are in order, starting on the left pinky. | ||
- Equals and underscore are in easily accessible spots, because they are more commonly used in programming | ||
- The ampersand is less common, so it is moved to the right of the equals symbol | ||
- Raise | ||
- Vim-style arrow keys | ||
- Above the arrow keys are media controls | ||
- Below are home, end, pgup, and pgdn | ||
- The left hand has all three types of braces | ||
- Curly braces are under the index and middle fingers for easy access during programming, and because parentheses are already available through Space Cadet shift | ||
- Adjust | ||
- Function keys are located along the top row (reset is moved to accommodate this) |