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.
Normacos keymap for let's split keyboard (qmk#2691)
* Cheers let's split keymap * fixed typo on norman layer of cheers keymap for let's split * fixed right handed mappings for home row * cheers keymap for let's split redefinition * updated Cheers keymap for let's split * cheers keymap for let's split updated with some terminal macros * renamed cheers let's split keymap to a more appropriate normacos * updated normacos keymap doc / removed non functional keys * reset let's split rules to default values * added more spotlight search macros * normalized keymap comments * Moved numpad on lower layer
- Loading branch information
1 parent
3aa3ecd
commit 14cee25
Showing
4 changed files
with
313 additions
and
1 deletion.
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,37 @@ | ||
/* | ||
This is the c configuration file for the keymap | ||
Copyright 2012 Jun Wako <[email protected]> | ||
Copyright 2015 Jack Humbert | ||
This program is free software: you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation, either version 2 of the License, or | ||
(at your option) any later version. | ||
This program is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#ifndef CONFIG_USER_H | ||
#define CONFIG_USER_H | ||
|
||
#include "../../config.h" | ||
|
||
/* Use I2C or Serial, not both */ | ||
|
||
#define USE_SERIAL | ||
// #define USE_I2C | ||
|
||
/* Select hand configuration */ | ||
|
||
// #define MASTER_LEFT | ||
// #define _MASTER_RIGHT | ||
#define EE_HANDS | ||
|
||
#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,190 @@ | ||
#include "lets_split.h" | ||
#include "action_layer.h" | ||
#include "eeconfig.h" | ||
|
||
extern keymap_config_t keymap_config; | ||
|
||
// 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. | ||
// Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
// entirely and just use numbers. | ||
#define _NORMAN 0 | ||
#define _LOWER 1 | ||
#define _RAISE 2 | ||
#define _ADJUST 3 | ||
|
||
// To be used in process_record_user | ||
enum custom_keycodes { | ||
NORMAN = SAFE_RANGE, | ||
LOWER, | ||
RAISE, | ||
ADJUST, | ||
SH_SUDO, | ||
SH_GOUP, | ||
SH_TERM, | ||
SPOT, | ||
SLACK, | ||
OUTLOOK, | ||
CHROME | ||
}; | ||
|
||
// Fillers (to make layering more clear) | ||
#define _______ KC_TRNS | ||
#define XXXXXXX KC_NO | ||
|
||
// Mod taps | ||
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift | ||
#define CTL_ESC CTL_T(KC_ESC) // Tap for Escape, hold for Control | ||
|
||
// Custom macros | ||
#define SCN_SHT LSFT(LGUI(KC_4)) // Take a screenshot (MacOS) | ||
#define SCN_LCK LCTL(LGUI(KC_Q)) // Lock screen (MacOS) | ||
#define SH_HOME LCTL(KC_A) // Go to start of line | ||
#define SH_END LCTL(KC_E) // Go to end of line | ||
#define SH_RSCH LCTL(KC_R) // Search command history | ||
#define SH_CLRH LCTL(KC_U) // Erase to beginning of line | ||
#define SH_CLRE LCTL(KC_K) // Erase to end of line | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
|
||
/* Norman | ||
* ,-----------------------------------------. ,-----------------------------------------. | ||
* | Tab | Q | W | D | F | K | | J | U | R | L | ; | Bksp | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* |CtlEsc| A | S | E | T | G | | Y | N | I | O | H | ' | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | Shift| Z | X | C | V | B | | P | M | , | . | / |SftEnt| | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | Lock | Home | End | Alt | Lower| GUI | | Space| Raise| Left | Down | Up | Right| | ||
* `-----------------------------------------' `-----------------------------------------' | ||
*/ | ||
[_NORMAN] = KEYMAP( \ | ||
KC_TAB, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, KC_BSPC, \ | ||
CTL_ESC, KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, KC_QUOT, \ | ||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, \ | ||
SCN_LCK, KC_HOME, KC_END, KC_LALT, LOWER, KC_LGUI, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
), | ||
|
||
/* Lower | ||
* ,-----------------------------------------. ,-----------------------------------------. | ||
* | Tab | F1 | F2 | F3 | F4 | | |NumLck| 7 | 8 | 9 | = | Bksp | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* |CtlEsc| F5 | F6 | F7 | F8 | | | * | 4 | 5 | 6 | + | Del | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | Shift| F9 | F10 | F11 | F12 | | | / | 1 | 2 | 3 | - |SftEnt| | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | Lock | Home | End | Alt | Lower| GUI | | . | Raise| 0 | Spot |Chrome| | | ||
* `-----------------------------------------' `-----------------------------------------' | ||
*/ | ||
[_LOWER] = KEYMAP( \ | ||
_______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_PEQL, _______, \ | ||
_______, KC_F5, KC_F6, KC_F8, KC_F9, XXXXXXX, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_DEL, \ | ||
_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_PSLS, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, \ | ||
_______, _______, _______, _______, _______, _______, KC_PDOT, _______, KC_P0, SPOT, CHROME, XXXXXXX | ||
), | ||
|
||
/* Raise | ||
* ,-----------------------------------------. ,-----------------------------------------. | ||
* | Tab | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* |CtlEsc| Sudo | UpDir| Slack| Term | OutLk| | = | - | \ | [ | ] | ` | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | Shift|ClrHom|ClrEnd|ShHome| ShEnd|Search| | Play | Mute | VolDn| VolUp|ScnSht|SftEnt| | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | Lock | Home | End | Alt | Lower| GUI | | Space| Raise| Left | Down | Up | Right| | ||
* `-----------------------------------------' `-----------------------------------------' | ||
*/ | ||
[_RAISE] = KEYMAP( \ | ||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \ | ||
_______, SH_SUDO, SH_GOUP, SLACK, SH_TERM, OUTLOOK, KC_EQL, KC_MINS, KC_BSLS, KC_LBRC, KC_RBRC, KC_GRV, \ | ||
_______, SH_CLRH, SH_CLRE, SH_HOME, SH_END, SH_RSCH, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, SCN_SHT, _______, \ | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
), | ||
|
||
/* Adjust (Lower + Raise) | ||
* ,-----------------------------------------. ,-----------------------------------------. | ||
* | | | | | | | | | | | | Reset| | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | | | | | AudOn|AudOff| | |Norman| | | | | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | | | | | | | | | | | | | | | ||
* |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
* | | | | | Lower| | | | Raise| | | | | | ||
* `-----------------------------------------' `-----------------------------------------' | ||
*/ | ||
[_ADJUST] = KEYMAP( \ | ||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, \ | ||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, XXXXXXX, NORMAN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
) | ||
|
||
}; | ||
|
||
#ifdef AUDIO_ENABLE | ||
float tone_norman[][2] = SONG(QWERTY_SOUND); | ||
#endif | ||
|
||
void persistent_default_layer_set(uint16_t default_layer) { | ||
eeconfig_update_default_layer(default_layer); | ||
default_layer_set(default_layer); | ||
} | ||
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
if (record->event.pressed) { | ||
switch(keycode) { | ||
case NORMAN: | ||
#ifdef AUDIO_ENABLE | ||
PLAY_SONG(tone_norman); | ||
#endif | ||
persistent_default_layer_set(1UL<<_NORMAN); | ||
return false; | ||
case LOWER: | ||
layer_on(_LOWER); | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
return false; | ||
case RAISE: | ||
layer_on(_RAISE); | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
return false; | ||
case ADJUST: | ||
layer_on(_ADJUST); | ||
return false; | ||
case SH_SUDO: | ||
SEND_STRING("sudo !!"SS_TAP(X_ENTER)); // Elevate last command | ||
return false; | ||
case SH_GOUP: | ||
SEND_STRING("cd .."SS_TAP(X_ENTER)); // Go up a directory | ||
return false; | ||
case SH_TERM: | ||
SEND_STRING(SS_LGUI(SS_TAP(X_SPACE))"terminal"SS_TAP(X_ENTER)); // Open Terminal | ||
return false; | ||
case SPOT: | ||
SEND_STRING(SS_LGUI(SS_TAP(X_SPACE))"spotify app"SS_TAP(X_ENTER)); // Open Spotify | ||
return false; | ||
case SLACK: | ||
SEND_STRING(SS_LGUI(SS_TAP(X_SPACE))"slack"SS_TAP(X_ENTER)); // Open Slack | ||
return false; | ||
case OUTLOOK: | ||
SEND_STRING(SS_LGUI(SS_TAP(X_SPACE))"outlook"SS_TAP(X_ENTER)); // Open Outlook | ||
return false; | ||
case CHROME: | ||
SEND_STRING(SS_LGUI(SS_TAP(X_SPACE))"chrome"SS_TAP(X_ENTER)); // Open Chrome | ||
} | ||
} else { | ||
switch(keycode) { | ||
case LOWER: | ||
layer_off(_LOWER); | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
return false; | ||
case RAISE: | ||
layer_off(_RAISE); | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
return false; | ||
case ADJUST: | ||
layer_off(_ADJUST); | ||
return false; | ||
} | ||
} | ||
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,85 @@ | ||
# normacos | ||
This keymap was designed especifically to be used on a MacOS High Sierra system with constant use of the Terminal, as it includes a multitude of macros for both the terminal as well as Spotlight Search. | ||
|
||
Norman keyboard layout [info page.](https://normanlayout.info/) | ||
|
||
Some Norman layout keys were placed on different layers and different positions based on available space. | ||
|
||
|
||
Macros: | ||
- CtlEsc sends Escape when tapped, and Control when held. | ||
- SftEnt sends Enter when tapped, and Shift when held. | ||
- Lock locks the computer | ||
- Slack opens Slack through Spotlight Search | ||
- Term opens Terminal through Spotlight Search | ||
- Spot opens Spotify through Spotlight Search | ||
- Chrome opesn Chrome through Spotlight Search | ||
- OutLk opens Microsoft Outlook through Spotlight Search | ||
- ScnSht allows the user to take a screenshot of a selected portion of the screen | ||
- ClrHom clears Terminal line from beginning of line up to cursor | ||
- ClrEnd clears Terminal line from cursor up to end of line | ||
- ShHome moves Terminal cursor to beginning of line | ||
- ShEnd moves Terminal cursor to end of line | ||
- Search activates Terminal Reverse Search Command History | ||
- Sudo elevates last Terminal command | ||
- UpDir moves working directory to its parent | ||
|
||
Any and all empty keys shown below are will be set in the future, and do nothing as of the time of this writing. | ||
|
||
|
||
|
||
## Default (Norman) | ||
``` | ||
,-----------------------------------------. ,-----------------------------------------. | ||
| Tab | Q | W | D | F | K | | J | U | R | L | ; | Bksp | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
|CtlEsc| A | S | E | T | G | | Y | N | I | O | H | ' | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| Shift| Z | X | C | V | B | | P | M | , | . | / |SftEnt| | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| Lock | Home | End | Alt | Lower| GUI | | Space| Raise| Left | Down | Up | Right| | ||
`-----------------------------------------' `-----------------------------------------' | ||
``` | ||
|
||
|
||
## Lower | ||
``` | ||
,-----------------------------------------. ,-----------------------------------------. | ||
| Tab | F1 | F2 | F3 | F4 | | |NumLck| 7 | 8 | 9 | = | Bksp | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
|CtlEsc| F5 | F6 | F7 | F8 | | | * | 4 | 5 | 6 | + | Del | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| Shift| F9 | F10 | F11 | F12 | | | / | 1 | 2 | 3 | - |SftEnt| | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| Lock | Home | End | Alt | Lower| GUI | | . | Raise| 0 | Spot |Chrome| | | ||
`-----------------------------------------' `-----------------------------------------' | ||
``` | ||
|
||
|
||
## Raise | ||
|
||
``` | ||
,-----------------------------------------. ,-----------------------------------------. | ||
| Tab | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
|CtlEsc| Sudo | UpDir| Slack| Term | OutLk| | = | - | \ | [ | ] | ` | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| Shift|ClrHom|ClrEnd|ShHome| ShEnd|Search| | Play | Mute | VolDn| VolUp|ScnSht|SftEnt| | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| Lock | Home | End | Alt | Lower| GUI | | Space| Raise| Left | Down | Up | Right| | ||
`-----------------------------------------' `-----------------------------------------' | ||
``` | ||
|
||
## Adjust (Lower + Raise) | ||
|
||
``` | ||
,-----------------------------------------. ,-----------------------------------------. | ||
| | | | | | | | | | | | Reset| | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| | | | | AudOn|AudOff| | |Norman| | | | | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| | | | | | | | | | | | | | | ||
|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| | | | | Lower| | | | Raise| | | | | | ||
`-----------------------------------------' `-----------------------------------------' | ||
``` |
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 |
---|---|---|
|
@@ -74,4 +74,4 @@ CUSTOM_MATRIX = yes | |
|
||
LAYOUTS = ortho_4x12 | ||
|
||
DEFAULT_FOLDER = lets_split/rev2 | ||
DEFAULT_FOLDER = lets_split/rev2 |