Move Space Caded Parentheses to own layer (#1452)

* Move Space Caded Parentheses to own layer

The space cadet parentheses where too much distracting. Therefore they are now on the function layer. I also added two more layers for also having angle brackets and curly braces on the shift keys forr better access.

Also updated the README

* Fixed SHIFT+Function key conflict

* Removed Angle Bracket and Curly Bracket layers, as they don't work corrrectly
This commit is contained in:
Martin Gondermann 2017-07-03 20:48:48 +02:00 committed by skullydazed
parent 062b3547ed
commit 34c8bf47a7
3 changed files with 56 additions and 23 deletions

View File

@ -26,13 +26,8 @@
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
#define MIDI_TONE_KEYCODE_OCTAVES 2
/* Disabling rollover allows you to use the opposite shift key to cancel the space cadet state in the event
of an erroneous press instead of emitting a pair of parentheses when the keys are released.
*/
#define DISABLE_SPACE_CADET_ROLLOVER
/*
Setting the Space Cadet Parens for German layout
Setting the modified Space Cadet Parens for German layout
Default is
#define LSPO_KEY KC_9
@ -40,5 +35,6 @@
*/
#define LSPO_KEY KC_8
#define RSPC_KEY KC_9
#define PERMISSIVE_HOLD
#endif

View File

@ -4,8 +4,6 @@
#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
#define _______ KC_TRNS
#define xxxxxxx KC_NO
#define HPR_TAB ALL_T(KC_TAB)
#define CTL_ESC CTL_T(KC_ESC)
// 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.
@ -23,14 +21,34 @@
#define TO_MIDI _______
#endif
// go back to base layer
#define TO_BASE TO(_BL)
// switch to function layer while helde
#define MO_FUNC MO(_FL)
// switch to media layer while held
#define MEDIA MO(_ME)
// switch to Control layer while helde
#define MO_CTL MO(_CL)
// switch to mouse layer if held, else space
#define L_MOUSE LT(_ML, KC_SPC)
// Function key when held, else ESC
#define ESC_FUN LT(_FL, KC_ESC)
// Hyper (CTRL+ALT+SHIFT+SUPER) when held, TAB when tapped
#define HPR_TAB ALL_T(KC_TAB)
// CTRL when held, ESC when tapped
#define CTL_ESC CTL_T(KC_ESC)
// ESC/Grave mode
#define ESC_GRV F(0)
// Reset RGB mode to layer signalling
#define RGB_RST F(1)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@ -39,15 +57,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
ESC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_BSPC, KC_INS, \
HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, \
ESC_FUN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, KC_RSPC, KC_UP, \
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, KC_RSFT, KC_UP, \
KC_LCTL, KC_LGUI, KC_LALT,_______, L_MOUSE, L_MOUSE, _______, KC_RALT, KC_RCTL, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT),
/* Keymap _FL: Function Layer */
/* Keymap _FL: Function layer */
[_FL] = KEYMAP(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_STEP, \
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, KC_PAUS, _______, _______, _______, _______, \
_______, _______, MO_CTL, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, MEDIA, _______, _______, TO_MIDI, _______, _______, KC_PGUP, \
KC_LSPO, _______, _______, _______, _______, _______, _______, _______, MEDIA, _______, _______, TO_MIDI, _______, KC_RSPC, KC_PGUP, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, MO_FUNC, KC_HOME, KC_PGDN, KC_END),
/* Keymap _ME: Media layer */
@ -70,9 +88,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ML] = KEYMAP(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, KC_BTN3, KC_BTN2, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, _______, \
_______, _______, KC_BTN2, KC_BTN3, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, \
_______, _______, _______, _______, L_MOUSE, L_MOUSE, _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R),
_______, _______, _______, _______, L_MOUSE, L_MOUSE, _______, KC_BTN1, KC_BTN3, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R),
#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)
/* Keymap _MI: MIDI layer (Advanced)*/

View File

@ -2,23 +2,42 @@
[Keyboard Layout Editor File]
![Clueboard Layout Image](http://i.imgur.com/WFfJ15k.png)
![Clueboard Layout Image](http://i.imgur.com/eEwjLEj.png)
My ClueBoard Layout as of 2017/06/30
This layout is a combination of the `mouse_keys` and the `win_optimized` layouts.
This layout is optimized for an ISO layout.
The CapsLock is disabled and works as ESC when tapped and FN when held.
The `TAB` key works as `TAB` when tapped, and [HYPER] (`CTRL` + `ALT` + `SHIFT` + `CMD`) when held.
It adds a mouse layer. When you hold down the spacebar the arrow keys
will move your mouse cursor. You can click using the 3 mods to the left of the
arrow keys, or the 3 keys under your primary fingers on the home row.
## Mouse Layer
When you hold down the spacebar the arrow keys will move your mouse cursor.
You can click using the 3 mods to the left of the arrow keys, or the 3 keys under your primary fingers on the home row.
The Left, Down, Up and Right for the mouse movement are also VIM-Like on the HJKL keys
There is also a MIDI layer included.
## MIDI layer
The CapsLock is disabled and works as Escape when tapped and Fn when Hold.
The Tab key works as Tab when tapped, and [Hyper] (Ctrl + Alt + Shift + Cmd) when hold
The Shift-Keys are configured as [Space Cadet Shift Parentheses]
The MIDI layer is permanently enabled by pressing `FN` + `/`.
It can be exited with the `ESC`-Key
There is also a separate media layer with Volume/Play controls
## Space Cadet(ish) Shift Parentheses
If the function layer is active, the `SHIFT`-Keys are configured like the [Space Cadet Shift Parentheses]
as opened (left `SHIFT`) and closed (right `SHIFT`) parentheses if tapped and `SHIFT` if held.
## Media layer
The media layer with Volume/Play controls, can be accessed via `FN` + `m`
## Control layer
The control layer is accessed via `FN` + `s`.
Here one can control the behavior of the RGB underlight.
`FN` + `s` + `1` resets the RGB underlight to the Layer signalling mode
## Layer signalling through underlight
The different layers are signalled throug setting of the underlight:
@ -29,6 +48,6 @@ The different layers are signalled throug setting of the underlight:
- Control layer: Red
- Midi layer: Purple
[Hyper]: http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
[HYPER]: http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
[Space Cadet Shift Parentheses]: http://stevelosh.com/blog/2012/10/a-modern-space-cadet/#shift-parentheses
[Keyboard Layout Editor File]: http://www.keyboard-layout-editor.com/#/gists/f869b8789242a712e0f46eabbd550056