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) */ /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
#define MIDI_TONE_KEYCODE_OCTAVES 2 #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 Default is
#define LSPO_KEY KC_9 #define LSPO_KEY KC_9
@ -40,5 +35,6 @@
*/ */
#define LSPO_KEY KC_8 #define LSPO_KEY KC_8
#define RSPC_KEY KC_9 #define RSPC_KEY KC_9
#define PERMISSIVE_HOLD
#endif #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 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 _______ KC_TRNS
#define xxxxxxx KC_NO #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. // 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. // The underscores don't mean anything - you can have a layer called STUFF or any other name.
@ -23,14 +21,34 @@
#define TO_MIDI _______ #define TO_MIDI _______
#endif #endif
// go back to base layer
#define TO_BASE TO(_BL) #define TO_BASE TO(_BL)
// switch to function layer while helde
#define MO_FUNC MO(_FL) #define MO_FUNC MO(_FL)
// switch to media layer while held
#define MEDIA MO(_ME) #define MEDIA MO(_ME)
// switch to Control layer while helde
#define MO_CTL MO(_CL) #define MO_CTL MO(_CL)
// switch to mouse layer if held, else space
#define L_MOUSE LT(_ML, KC_SPC) #define L_MOUSE LT(_ML, KC_SPC)
// Function key when held, else ESC
#define ESC_FUN LT(_FL, KC_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) #define ESC_GRV F(0)
// Reset RGB mode to layer signalling
#define RGB_RST F(1) #define RGB_RST F(1)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, \ 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, \ 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, \ 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), 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( [_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_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, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, KC_PAUS, _______, _______, _______, _______, \
_______, _______, MO_CTL, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, \ _______, _______, 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), _______, _______, _______, _______, _______, _______, _______, _______, _______, MO_FUNC, KC_HOME, KC_PGDN, KC_END),
/* Keymap _ME: Media layer */ /* Keymap _ME: Media layer */
@ -70,9 +88,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ML] = KEYMAP( [_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, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 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) #if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)
/* Keymap _MI: MIDI layer (Advanced)*/ /* Keymap _MI: MIDI layer (Advanced)*/

View file

@ -2,23 +2,42 @@
[Keyboard Layout Editor File] [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 a combination of the `mouse_keys` and the `win_optimized` layouts.
This layout is optimized for an ISO layout. 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 ## Mouse Layer
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. 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 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 MIDI layer is permanently enabled by pressing `FN` + `/`.
The Tab key works as Tab when tapped, and [Hyper] (Ctrl + Alt + Shift + Cmd) when hold It can be exited with the `ESC`-Key
The Shift-Keys are configured as [Space Cadet Shift Parentheses]
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: 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 - Control layer: Red
- Midi layer: Purple - 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 [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 [Keyboard Layout Editor File]: http://www.keyboard-layout-editor.com/#/gists/f869b8789242a712e0f46eabbd550056