diff options
Diffstat (limited to 'users/losinggeneration')
| -rw-r--r-- | users/losinggeneration/README.md | 185 | ||||
| -rw-r--r-- | users/losinggeneration/losinggeneration-common.h | 74 | ||||
| -rw-r--r-- | users/losinggeneration/losinggeneration-config.h | 29 | ||||
| -rw-r--r-- | users/losinggeneration/losinggeneration-keymap.h | 352 | ||||
| -rw-r--r-- | users/losinggeneration/rules.mk | 16 |
5 files changed, 656 insertions, 0 deletions
diff --git a/users/losinggeneration/README.md b/users/losinggeneration/README.md new file mode 100644 index 000000000..852103fc6 --- /dev/null +++ b/users/losinggeneration/README.md | |||
| @@ -0,0 +1,185 @@ | |||
| 1 | losinggeneration's ortholinear layout | ||
| 2 | ============================ | ||
| 3 | |||
| 4 | ### Features | ||
| 5 | |||
| 6 | - Main layer(s) | ||
| 7 | - The left space bar key has been changed to delete to have backspace | ||
| 8 | & delete on the same main layer. | ||
| 9 | - Adujst is a tap dance with one tap goes to the Adjust layer, second tap | ||
| 10 | goes to the Numpad layer, a third tap goes to the Mouse layer. More taps | ||
| 11 | are an error and disables tapping until you stop and try again. | ||
| 12 | - Ctrl when tapped once & Ctrl+Alt when tapped twice | ||
| 13 | - Left Alt when tapped once & Right Alt when tapped twice. | ||
| 14 | - Left GUI when tapped once & right GUI when tapped twice. This is | ||
| 15 | because I have a compose key on the right GUI key. | ||
| 16 | - Left shift is a one shot modifier. | ||
| 17 | - Enter when tapped Shift when held. | ||
| 18 | - Esc when tapped Ctrl when held. | ||
| 19 | - Lower & Raise | ||
| 20 | - Removed ISO ~, ISO |, ISO #, ISO /, Media Next, & Media Play | ||
| 21 | - Added PgUp, PgDn, Home, & End under the home row | ||
| 22 | - Added Mute next to Vol- | ||
| 23 | - New layers: Workman, Game, Numpad, & Mouse | ||
| 24 | |||
| 25 | ## Layouts | ||
| 26 | These include the 5x12 layout since it's nearly identical to the 4x12 layout. | ||
| 27 | The only difference is the top row is removed for the 4x12 layout. | ||
| 28 | |||
| 29 | The Adjust layer keyboard specific, so it's described with the specific | ||
| 30 | keyboard. | ||
| 31 | |||
| 32 | ### Qwerty | ||
| 33 | |||
| 34 | ``` | ||
| 35 | ,-----------------------------------------..-----------------------------------------. | ||
| 36 | | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del | | ||
| 37 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 38 | | Tab | Q | W | E | R | T || Y | U | I | O | P | Bksp | | ||
| 39 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 40 | | Esc | A | S | D | F | G || H | J | K | L | ; | " | | ||
| 41 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 42 | | Shift| Z | X | C | V | B || N | M | , | . | / |Enter | | ||
| 43 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 44 | |Adjust| Ctrl | Alt | GUI |Lower | Bksp ||Space |Raise | Left | Down | Up |Right | | ||
| 45 | `-----------------------------------------'`-----------------------------------------' | ||
| 46 | ``` | ||
| 47 | |||
| 48 | ### Colemak | ||
| 49 | |||
| 50 | ``` | ||
| 51 | ,-----------------------------------------.,-----------------------------------------. | ||
| 52 | | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del | | ||
| 53 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 54 | | Tab | Q | W | F | P | G || J | L | U | Y | ; | Bksp | | ||
| 55 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 56 | | Esc | A | R | S | T | D || H | N | E | I | O | " | | ||
| 57 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 58 | | Shift| Z | X | C | V | B || K | M | , | . | / |Enter | | ||
| 59 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 60 | |Adjust| Ctrl | Alt | GUI |Lower | Bksp ||Space |Raise | Left | Down | Up |Right | | ||
| 61 | `-----------------------------------------'`-----------------------------------------' | ||
| 62 | ``` | ||
| 63 | |||
| 64 | ### Workman | ||
| 65 | |||
| 66 | ``` | ||
| 67 | ,-----------------------------------------..-----------------------------------------. | ||
| 68 | | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del | | ||
| 69 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 70 | | Tab | Q | D | R | W | B || J | F | U | P | ; | Bksp | | ||
| 71 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 72 | | Esc | A | S | H | T | G || Y | N | E | O | I | " | | ||
| 73 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 74 | | Shift| Z | X | M | C | V || K | L | , | . | / |Enter | | ||
| 75 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 76 | |Adjust| Ctrl | Alt | GUI |Lower | Bksp ||Space |Raise | Left | Down | Up |Right | | ||
| 77 | `-----------------------------------------'`-----------------------------------------' | ||
| 78 | ``` | ||
| 79 | |||
| 80 | ### Dvorak | ||
| 81 | |||
| 82 | ``` | ||
| 83 | ,-----------------------------------------..-----------------------------------------. | ||
| 84 | | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del | | ||
| 85 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 86 | | Tab | " | , | . | P | Y || F | G | C | R | L | Bksp | | ||
| 87 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 88 | | Esc | A | O | E | U | I || D | H | T | N | S | / | | ||
| 89 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 90 | | Shift| ; | Q | J | K | X || B | M | W | V | Z |Enter | | ||
| 91 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 92 | |Adjust| Ctrl | Alt | GUI |Lower | Bksp ||Space |Raise | Left | Down | Up |Right | | ||
| 93 | `-----------------------------------------'`-----------------------------------------' | ||
| 94 | ``` | ||
| 95 | |||
| 96 | ### Game (Qwerty without one shot modifiers & tap dancing) | ||
| 97 | |||
| 98 | ``` | ||
| 99 | ,-----------------------------------------..-----------------------------------------. | ||
| 100 | | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del | | ||
| 101 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 102 | | Tab | Q | W | E | R | T || Y | U | I | O | P | Bksp | | ||
| 103 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 104 | | Esc | A | S | D | F | G || H | J | K | L | ; | " | | ||
| 105 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 106 | | Shift| Z | X | C | V | B || N | M | , | . | / |Enter | | ||
| 107 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 108 | |Adjust| Ctrl | Alt | GUI |Lower |Space ||Space |Raise | Left | Down | Up |Right | | ||
| 109 | `-----------------------------------------'`-----------------------------------------' | ||
| 110 | ``` | ||
| 111 | |||
| 112 | ### Number pad | ||
| 113 | |||
| 114 | ``` | ||
| 115 | ,-----------------------------------------..-----------------------------------------. | ||
| 116 | | XXX | XXX | XXX | XXX | XXX | XXX || XXX | NLCK | * | / | BKSP | BKSP | | ||
| 117 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 118 | | Tab | XXX | XXX | XXX | XXX | XXX || NLCK | 7 | 8 | 9 | - | BKSP | | ||
| 119 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 120 | | Esc | XXX | XXX | XXX | XXX | XXX || * | 4 | 5 | 6 | + | BKSP | | ||
| 121 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 122 | |Shift | XXX | XXX | XXX | XXX | XXX || / | 1 | 2 | 3 | ENT | XXX | | ||
| 123 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 124 | |Adjust| Ctrl | Alt | GUI | XXX |Space ||Space | 0 | 0 | . | ENT | XXX | | ||
| 125 | `-----------------------------------------''-----------------------------------------' | ||
| 126 | ``` | ||
| 127 | |||
| 128 | ### Mouse movement | ||
| 129 | |||
| 130 | * M is short for Mouse | ||
| 131 | * MW is short for Mouse Wheel | ||
| 132 | * MB is short for Mouse Button | ||
| 133 | * MA is short for Mouse Acceleration | ||
| 134 | |||
| 135 | | ||
| 136 | * MB\_1 is the left click | ||
| 137 | * MB\_2 is the right click | ||
| 138 | * MB\_3 is the middle click | ||
| 139 | |||
| 140 | ``` | ||
| 141 | ,-----------------------------------------..-----------------------------------------. | ||
| 142 | | XXX | XXX | XXX | XXX | XXX | XXX || XXX | XXX | XXX | XXX | XXX | XXX | | ||
| 143 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 144 | | Tab | MB_1 | MB_3 | MB_2 | MB_4 | MB_5 || MA_0 | MB_1 | MB_3 | MB_2 | MB_4 | MB_5 | | ||
| 145 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 146 | | Esc | MW_L | MW_U | MW_D | MW_R | XXX || MA_1 | M_LT | M_UP | M_DN | M_RT | XXX | | ||
| 147 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 148 | |Shift | MA_0 | MA_1 | MA_2 | XXX | XXX || MA_2 | MW_L | MW_U | MW_D | MW_R | XXX | | ||
| 149 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 150 | |Adjust| Ctrl | Alt | GUI | XXX |Space || XXX | XXX | XXX | XXX | XXX | XXX | | ||
| 151 | `-----------------------------------------''-----------------------------------------' | ||
| 152 | ``` | ||
| 153 | |||
| 154 | ### Lower | ||
| 155 | |||
| 156 | ``` | ||
| 157 | ,-----------------------------------------..-----------------------------------------. | ||
| 158 | | ~ | ! | @ | # | $ | % || ^ | & | * | ( | ) | Del | | ||
| 159 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 160 | | ~ | ! | @ | # | $ | % || ^ | & | * | ( | ) | Bksp | | ||
| 161 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 162 | | Del | F1 | F2 | F3 | F4 | F5 || F6 | _ | + | | \ | | | | ||
| 163 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 164 | | | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ | | ||
| 165 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 166 | | | | | | | || | | Mute | Vol- | Vol+ | ⏯ | | ||
| 167 | `-----------------------------------------'`-----------------------------------------' | ||
| 168 | ``` | ||
| 169 | |||
| 170 | ### Raise | ||
| 171 | |||
| 172 | ``` | ||
| 173 | ,-----------------------------------------..-----------------------------------------. | ||
| 174 | | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del | | ||
| 175 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 176 | | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Bksp | | ||
| 177 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 178 | | Del | F1 | F2 | F3 | F4 | F5 || F6 | - | = | [ | ] | \ | | ||
| 179 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 180 | | | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ | | ||
| 181 | |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 182 | | | | | | | || | | Mute | Vol- | Vol+ | ⏯ | | ||
| 183 | `-----------------------------------------''-----------------------------------------' | ||
| 184 | ``` | ||
| 185 | |||
diff --git a/users/losinggeneration/losinggeneration-common.h b/users/losinggeneration/losinggeneration-common.h new file mode 100644 index 000000000..8f5b8b241 --- /dev/null +++ b/users/losinggeneration/losinggeneration-common.h | |||
| @@ -0,0 +1,74 @@ | |||
| 1 | #ifndef LOSINGGENERATION_COMMON_H | ||
| 2 | #define LOSINGGENERATION_COMMON_H | ||
| 3 | |||
| 4 | /* Custom keys & combinations to be shorter for keymaps */ | ||
| 5 | #define KC_LCA LCA(KC_NO) | ||
| 6 | /* Fillers to make layering more clear */ | ||
| 7 | #define _______ KC_TRNS | ||
| 8 | #define XXXXXXX KC_NO | ||
| 9 | |||
| 10 | #define OSM_LSFT OSM(MOD_LSFT) | ||
| 11 | #define TD_CTL TD(TD_CTL_CTLALT) | ||
| 12 | #define TD_GUI TD(TD_LGUI_RGUI) | ||
| 13 | #define TD_ALT TD(TD_LALT_RALT) | ||
| 14 | #define MT_ENT SFT_T(KC_ENT) | ||
| 15 | #define MT_ESC CTL_T(KC_ESC) | ||
| 16 | |||
| 17 | /* Custom layer movements for keymaps */ | ||
| 18 | #define TD_ADJ TD(TD_ADJUST) | ||
| 19 | #define TO_GAME TO(_GAME) | ||
| 20 | #define TO_MS TO(_MOUSE) | ||
| 21 | #define TO_NUM TO(_NUMPAD) | ||
| 22 | #define MO_ADJ MO(_ADJUST) | ||
| 23 | |||
| 24 | /* Mouse keys */ | ||
| 25 | #define MS_BTN1 KC_MS_BTN1 | ||
| 26 | #define MS_BTN2 KC_MS_BTN2 | ||
| 27 | #define MS_BTN3 KC_MS_BTN3 | ||
| 28 | #define MS_BTN4 KC_MS_BTN4 | ||
| 29 | #define MS_BTN5 KC_MS_BTN5 | ||
| 30 | #define MS_LEFT KC_MS_LEFT | ||
| 31 | #define MS_DOWN KC_MS_DOWN | ||
| 32 | #define MS_UP KC_MS_UP | ||
| 33 | #define MS_RGHT KC_MS_RIGHT | ||
| 34 | #define MW_LEFT KC_MS_WH_LEFT | ||
| 35 | #define MW_DOWN KC_MS_WH_DOWN | ||
| 36 | #define MW_UP KC_MS_WH_UP | ||
| 37 | #define MW_RGHT KC_MS_WH_RIGHT | ||
| 38 | #define MS_ACL0 KC_MS_ACCEL0 | ||
| 39 | #define MS_ACL1 KC_MS_ACCEL1 | ||
| 40 | #define MS_ACL2 KC_MS_ACCEL2 | ||
| 41 | |||
| 42 | /* | ||
| 43 | * This will expand values sent to it to send to the KEYMAP macro so defines | ||
| 44 | * can be used by KEYMAP | ||
| 45 | */ | ||
| 46 | #define CATMAP(...) KEYMAP(__VA_ARGS__) | ||
| 47 | |||
| 48 | /* | ||
| 49 | Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
| 50 | The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
| 51 | Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
| 52 | entirely and just use numbers. | ||
| 53 | */ | ||
| 54 | #define _QWERTY 0 | ||
| 55 | #define _COLEMAK 1 | ||
| 56 | #define _WORKMAN 2 | ||
| 57 | #define _DVORAK 3 | ||
| 58 | #define _GAME 4 | ||
| 59 | #define _NUMPAD 5 | ||
| 60 | #define _MOUSE 6 | ||
| 61 | #define _LOWER 14 | ||
| 62 | #define _RAISE 15 | ||
| 63 | #define _ADJUST 16 | ||
| 64 | |||
| 65 | enum custom_keycodes { | ||
| 66 | QWERTY = SAFE_RANGE, | ||
| 67 | COLEMAK, | ||
| 68 | WORKMAN, | ||
| 69 | DVORAK, | ||
| 70 | LOWER, | ||
| 71 | RAISE, | ||
| 72 | }; | ||
| 73 | |||
| 74 | #endif | ||
diff --git a/users/losinggeneration/losinggeneration-config.h b/users/losinggeneration/losinggeneration-config.h new file mode 100644 index 000000000..e1719aa9e --- /dev/null +++ b/users/losinggeneration/losinggeneration-config.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2017 Danny Nguyen <danny@hexwire.com> | ||
| 3 | Copyright 2018 Harley Laue <losinggeneration@gmail.com> | ||
| 4 | |||
| 5 | This program is free software: you can redistribute it and/or modify | ||
| 6 | it under the terms of the GNU General Public License as published by | ||
| 7 | the Free Software Foundation, either version 2 of the License, or | ||
| 8 | (at your option) any later version. | ||
| 9 | |||
| 10 | This program is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | GNU General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU General Public License | ||
| 16 | long with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 17 | */ | ||
| 18 | |||
| 19 | #ifndef LOSINGGENERATION_CONFIG_H | ||
| 20 | #define LOSINGGENERATION_CONFIG_H | ||
| 21 | |||
| 22 | #define MOUSEKEY_DELAY 100 | ||
| 23 | #define MOUSEKEY_INTERVAL 20 | ||
| 24 | #define MOUSEKEY_MAX_SPEED 10 | ||
| 25 | #define MOUSEKEY_TIME_TO_MAX 20 | ||
| 26 | #define MOUSEKEY_WHEEL_MAX_SPEED 8 | ||
| 27 | #define MOUSEKEY_WHEEL_TIME_TO_MAX 20 | ||
| 28 | |||
| 29 | #endif | ||
diff --git a/users/losinggeneration/losinggeneration-keymap.h b/users/losinggeneration/losinggeneration-keymap.h new file mode 100644 index 000000000..89827bc13 --- /dev/null +++ b/users/losinggeneration/losinggeneration-keymap.h | |||
| @@ -0,0 +1,352 @@ | |||
| 1 | #ifndef LOSINGGENERATION_KEYMAP_H | ||
| 2 | #define LOSINGGENERATION_KEYMAP_H | ||
| 3 | |||
| 4 | #include "action_layer.h" | ||
| 5 | #include "eeconfig.h" | ||
| 6 | #include "losinggeneration-common.h" | ||
| 7 | |||
| 8 | /* Tap dance keycodes */ | ||
| 9 | enum tap_dance_keycodes { | ||
| 10 | TD_CTL_CTLALT = 0, | ||
| 11 | TD_LGUI_RGUI, | ||
| 12 | TD_LALT_RALT, | ||
| 13 | TD_ADJUST, | ||
| 14 | }; | ||
| 15 | |||
| 16 | /* | ||
| 17 | Used to indicate a CTRL should be pressed on one press, or CTRL+ALT on | ||
| 18 | a double tap | ||
| 19 | */ | ||
| 20 | void dance_ctl_ctlalt_each(qk_tap_dance_state_t *state, void *user_data) { | ||
| 21 | register_code(KC_LCTL); | ||
| 22 | if(state->count > 1) { | ||
| 23 | register_code(KC_LALT); | ||
| 24 | } | ||
| 25 | } | ||
| 26 | |||
| 27 | /* Used to release CTRL or the double tapped variant CTRL+ALT */ | ||
| 28 | void dance_ctl_ctlalt_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 29 | unregister_code(KC_LCTL); | ||
| 30 | if(state->count > 1) { | ||
| 31 | unregister_code(KC_LALT); | ||
| 32 | } | ||
| 33 | } | ||
| 34 | |||
| 35 | /* | ||
| 36 | Set ADJUST layer on the first press and off after that. | ||
| 37 | Each is used to make sure ADJUST activates as soon as it's pressed the first | ||
| 38 | time. | ||
| 39 | */ | ||
| 40 | void dance_adj_each(qk_tap_dance_state_t *state, void *user_data) { | ||
| 41 | if(state->count == 1) { | ||
| 42 | layer_on(_ADJUST); | ||
| 43 | } else { | ||
| 44 | layer_off(_ADJUST); | ||
| 45 | } | ||
| 46 | } | ||
| 47 | |||
| 48 | /* Set NUMPAD layer on second tap and MOUSE layer on 3rd */ | ||
| 49 | void dance_adj_finish(qk_tap_dance_state_t *state, void *user_data) { | ||
| 50 | switch(state->count) { | ||
| 51 | case 1: break; | ||
| 52 | case 2: | ||
| 53 | layer_on(_NUMPAD); | ||
| 54 | break; | ||
| 55 | case 3: | ||
| 56 | layer_on(_MOUSE); | ||
| 57 | break; | ||
| 58 | default: | ||
| 59 | reset_tap_dance(state); | ||
| 60 | break; | ||
| 61 | } | ||
| 62 | } | ||
| 63 | |||
| 64 | /* Turn off any layer that may have been tapped on */ | ||
| 65 | void dance_adj_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 66 | switch(state->count) { | ||
| 67 | case 1: | ||
| 68 | layer_off(_ADJUST); | ||
| 69 | break; | ||
| 70 | case 2: | ||
| 71 | layer_off(_NUMPAD); | ||
| 72 | break; | ||
| 73 | case 3: | ||
| 74 | layer_off(_MOUSE); | ||
| 75 | break; | ||
| 76 | } | ||
| 77 | } | ||
| 78 | |||
| 79 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 80 | [TD_CTL_CTLALT] = ACTION_TAP_DANCE_FN_ADVANCED(dance_ctl_ctlalt_each, NULL, dance_ctl_ctlalt_reset), | ||
| 81 | [TD_LGUI_RGUI] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, KC_RGUI), | ||
| 82 | [TD_LALT_RALT] = ACTION_TAP_DANCE_DOUBLE(KC_LALT, KC_RALT), | ||
| 83 | [TD_ADJUST] = ACTION_TAP_DANCE_FN_ADVANCED(dance_adj_each, dance_adj_finish, dance_adj_reset), | ||
| 84 | }; | ||
| 85 | |||
| 86 | /* | ||
| 87 | * ,-----------------------------------------..-----------------------------------------. | ||
| 88 | * |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right | | ||
| 89 | * `-----------------------------------------'`-----------------------------------------' | ||
| 90 | */ | ||
| 91 | #define BOTTOM_40_ROW \ | ||
| 92 | TD_ADJ ,TD_CTL , TD_ALT , TD_GUI , LOWER , KC_DEL , KC_SPC , RAISE , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT | ||
| 93 | |||
| 94 | /* | ||
| 95 | * ,-----------------------------------------..-----------------------------------------. | ||
| 96 | * | | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ | | ||
| 97 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 98 | * | | | | | | || | | Mute | Vol- | Vol+ | ⏯ | | ||
| 99 | * `-----------------------------------------'`-----------------------------------------' | ||
| 100 | */ | ||
| 101 | #define BOTTOM_RAISE_LOWER_ROWS \ | ||
| 102 | _______, KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PGUP, KC_PGDN, KC_HOME, KC_END , KC_MSTP, \ | ||
| 103 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY | ||
| 104 | |||
| 105 | /* | ||
| 106 | * ,-----------------------------------------..-----------------------------------------. | ||
| 107 | * | Tab | || | Bksp | | ||
| 108 | * `-----------------------------------------'`-----------------------------------------' | ||
| 109 | */ | ||
| 110 | #define STD_TAB_ROW(...) KC_TAB, __VA_ARGS__, KC_BSPC | ||
| 111 | |||
| 112 | /* | ||
| 113 | * ,-----------------------------------------..-----------------------------------------. | ||
| 114 | * | Esc | || | | ||
| 115 | * `-----------------------------------------'`-----------------------------------------' | ||
| 116 | */ | ||
| 117 | |||
| 118 | #define STD_ESC_ROW(...) KC_ESC, __VA_ARGS__ | ||
| 119 | |||
| 120 | /* | ||
| 121 | * ,-----------------------------------------..-----------------------------------------. | ||
| 122 | * | Shift| || |Enter | | ||
| 123 | * `-----------------------------------------'`-----------------------------------------' | ||
| 124 | */ | ||
| 125 | #define STD_LSFT_ROW(...) OSM_LSFT, __VA_ARGS__, MT_ENT | ||
| 126 | |||
| 127 | /* Qwerty | ||
| 128 | * ,-----------------------------------------..-----------------------------------------. | ||
| 129 | * | Tab | Q | W | E | R | T || Y | U | I | O | P | Bksp | | ||
| 130 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 131 | * | Esc | A | S | D | F | G || H | J | K | L | ; | " | | ||
| 132 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 133 | * | Shift| Z | X | C | V | B || N | M | , | . | / |Enter | | ||
| 134 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 135 | * |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right | | ||
| 136 | * `-----------------------------------------'`-----------------------------------------' | ||
| 137 | */ | ||
| 138 | #define QWERTY_LAYER \ | ||
| 139 | STD_TAB_ROW( KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ), \ | ||
| 140 | STD_ESC_ROW( KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT), \ | ||
| 141 | STD_LSFT_ROW(KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH), \ | ||
| 142 | BOTTOM_40_ROW | ||
| 143 | |||
| 144 | /* Colemak | ||
| 145 | * ,-----------------------------------------.,-----------------------------------------. | ||
| 146 | * | Tab | Q | W | F | P | G || J | L | U | Y | ; | Bksp | | ||
| 147 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 148 | * | Esc | A | R | S | T | D || H | N | E | I | O | " | | ||
| 149 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 150 | * | Shift| Z | X | C | V | B || K | M | , | . | / |Enter | | ||
| 151 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 152 | * |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right | | ||
| 153 | * `-----------------------------------------'`-----------------------------------------' | ||
| 154 | */ | ||
| 155 | #define COLEMAK_LAYER \ | ||
| 156 | STD_TAB_ROW( KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN), \ | ||
| 157 | STD_ESC_ROW( KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT), \ | ||
| 158 | STD_LSFT_ROW(KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH), \ | ||
| 159 | BOTTOM_40_ROW | ||
| 160 | |||
| 161 | /* Workman | ||
| 162 | * ,-----------------------------------------..-----------------------------------------. | ||
| 163 | * | Tab | Q | D | R | W | B || J | F | U | P | ; | Bksp | | ||
| 164 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 165 | * | Esc | A | S | H | T | G || Y | N | E | O | I | " | | ||
| 166 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 167 | * | Shift| Z | X | M | C | V || K | L | , | . | / |Enter | | ||
| 168 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 169 | * |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right | | ||
| 170 | * `-----------------------------------------'`-----------------------------------------' | ||
| 171 | */ | ||
| 172 | #define WORKMAN_LAYER \ | ||
| 173 | STD_TAB_ROW( KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN), \ | ||
| 174 | STD_ESC_ROW( KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , KC_QUOT), \ | ||
| 175 | STD_LSFT_ROW(KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH), \ | ||
| 176 | BOTTOM_40_ROW | ||
| 177 | |||
| 178 | /* Dvorak | ||
| 179 | * ,-----------------------------------------..-----------------------------------------. | ||
| 180 | * | Tab | " | , | . | P | Y || F | G | C | R | L | Bksp | | ||
| 181 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 182 | * | Esc | A | O | E | U | I || D | H | T | N | S | / | | ||
| 183 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 184 | * | Shift| ; | Q | J | K | X || B | M | W | V | Z |Enter | | ||
| 185 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 186 | * |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right | | ||
| 187 | * `-----------------------------------------'`-----------------------------------------' | ||
| 188 | */ | ||
| 189 | #define DVORAK_LAYER \ | ||
| 190 | STD_TAB_ROW( KC_QUOT, KC_COMM, KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L), \ | ||
| 191 | STD_ESC_ROW( KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_SLSH), \ | ||
| 192 | STD_LSFT_ROW(KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z), \ | ||
| 193 | BOTTOM_40_ROW | ||
| 194 | |||
| 195 | /* Game (Qwerty without one shot modifiers & tap dancing) | ||
| 196 | * ,-----------------------------------------..-----------------------------------------. | ||
| 197 | * | Tab | Q | W | E | R | T || Y | U | I | O | P | Bksp | | ||
| 198 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 199 | * | Esc | A | S | D | F | G || H | J | K | L | ; | " | | ||
| 200 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 201 | * | Shift| Z | X | C | V | B || N | M | , | . | / |Enter | | ||
| 202 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 203 | * |Adjust| Ctrl | Alt | GUI |Lower |Space ||Space |Raise | Left | Down | Up |Right | | ||
| 204 | * `-----------------------------------------'`-----------------------------------------' | ||
| 205 | */ | ||
| 206 | #define GAME_LAYER \ | ||
| 207 | KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, \ | ||
| 208 | KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, \ | ||
| 209 | KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_ENT , \ | ||
| 210 | MO_ADJ , KC_LCTL, KC_LALT, KC_LGUI, LOWER , KC_SPC , KC_SPC , RAISE , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT | ||
| 211 | |||
| 212 | /* Number pad | ||
| 213 | * ,-----------------------------------------..-----------------------------------------. | ||
| 214 | * | Tab | XXX | XXX | XXX | XXX | XXX || NLCK | 7 | 8 | 9 | - | BKSP | | ||
| 215 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 216 | * | Esc | XXX | XXX | XXX | XXX | XXX || * | 4 | 5 | 6 | + | BKSP | | ||
| 217 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 218 | * |Shift | XXX | XXX | XXX | XXX | XXX || / | 1 | 2 | 3 | ENT | XXX | | ||
| 219 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 220 | * |Adjust| Ctrl | Alt | GUI | XXX |Space ||Space | 0 | 0 | . | ENT | XXX | | ||
| 221 | * `-----------------------------------------''-----------------------------------------' | ||
| 222 | */ | ||
| 223 | #define NUMPAD_LAYER \ | ||
| 224 | KC_TAB , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_P7 , KC_P8 , KC_P9 , KC_PMNS, KC_BSPC, \ | ||
| 225 | KC_ESC , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P4 , KC_P5 , KC_P6 , KC_PPLS, KC_BSPC, \ | ||
| 226 | KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_P1 , KC_P2 , KC_P3 , KC_PENT, XXXXXXX, \ | ||
| 227 | TD_ADJ , TD_CTL , TD_ALT , TD_GUI , XXXXXXX, KC_SPC , KC_SPC , KC_P0 , KC_P0 , KC_PDOT, KC_PENT, XXXXXXX | ||
| 228 | |||
| 229 | /* Mouse movement | ||
| 230 | * ,-----------------------------------------..-----------------------------------------. | ||
| 231 | * | Tab | MB_1 | MB_3 | MB_2 | MB_4 | MB_5 || MA_0 | MB_1 | MB_3 | MB_2 | MB_4 | MB_5 | | ||
| 232 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 233 | * | Esc | MW_L | MW_U | MW_D | MW_R | XXX || MA_1 | M_LT | M_UP | M_DN | M_RT | XXX | | ||
| 234 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 235 | * |Shift | MA_0 | MA_1 | MA_2 | XXX | XXX || MA_2 | MW_L | MW_U | MW_D | MW_R | XXX | | ||
| 236 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 237 | * |Adjust| Ctrl | Alt | GUI | XXX |Space || XXX | XXX | XXX | XXX | XXX | XXX | | ||
| 238 | * `-----------------------------------------''-----------------------------------------' | ||
| 239 | */ | ||
| 240 | #define MOUSE_LAYER \ | ||
| 241 | KC_TAB , MS_BTN1, MS_BTN3, MS_BTN2, MS_BTN4, MS_BTN5, MS_ACL0, MS_BTN1, MS_BTN3, MS_BTN2, MS_BTN4, MS_BTN5, \ | ||
| 242 | KC_ESC , MW_LEFT, MW_DOWN, MW_UP , MW_RGHT, XXXXXXX, MS_ACL1, MS_LEFT, MS_DOWN, MS_UP , MS_RGHT, XXXXXXX, \ | ||
| 243 | KC_LSFT, MS_ACL0, MS_ACL1, MS_ACL2, XXXXXXX, XXXXXXX, MS_ACL2, MW_LEFT, MW_DOWN, MW_UP , MW_RGHT, XXXXXXX, \ | ||
| 244 | TD_ADJ , TD_CTL , TD_ALT , TD_GUI , XXXXXXX, KC_SPC , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
| 245 | |||
| 246 | /* Lower | ||
| 247 | * ,-----------------------------------------..-----------------------------------------. | ||
| 248 | * | ~ | ! | @ | # | $ | % || ^ | & | * | ( | ) | Bksp | | ||
| 249 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 250 | * | Del | F1 | F2 | F3 | F4 | F5 || F6 | _ | + | | \ | | | | ||
| 251 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 252 | * | | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ | | ||
| 253 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 254 | * | | | | | | || | | Mute | Vol- | Vol+ | ⏯ | | ||
| 255 | * `-----------------------------------------'`-----------------------------------------' | ||
| 256 | */ | ||
| 257 | #define LOWER_LAYER \ | ||
| 258 | KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ | ||
| 259 | KC_DEL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ | ||
| 260 | BOTTOM_RAISE_LOWER_ROWS | ||
| 261 | |||
| 262 | /* Raise | ||
| 263 | * ,-----------------------------------------..-----------------------------------------. | ||
| 264 | * | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Bksp | | ||
| 265 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 266 | * | Del | F1 | F2 | F3 | F4 | F5 || F6 | - | = | [ | ] | \ | | ||
| 267 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 268 | * | | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ | | ||
| 269 | * |------+------+------+------+------+------||------+------+------+------+------+------| | ||
| 270 | * | | | | | | || | | Mute | Vol- | Vol+ | ⏯ | | ||
| 271 | * `-----------------------------------------''-----------------------------------------' | ||
| 272 | */ | ||
| 273 | #define RAISE_LAYER \ | ||
| 274 | KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC, \ | ||
| 275 | KC_DEL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_BSLS, \ | ||
| 276 | BOTTOM_RAISE_LOWER_ROWS | ||
| 277 | |||
| 278 | #ifdef AUDIO_ENABLE | ||
| 279 | float tone_qwerty[][2] = SONG(QWERTY_SOUND); | ||
| 280 | float tone_dvorak[][2] = SONG(DVORAK_SOUND); | ||
| 281 | float tone_colemak[][2] = SONG(COLEMAK_SOUND); | ||
| 282 | float tone_workman[][2] = SONG(PLOVER_SOUND); | ||
| 283 | #else | ||
| 284 | float tone_qwerty; | ||
| 285 | float tone_dvorak; | ||
| 286 | float tone_colemak; | ||
| 287 | float tone_workman; | ||
| 288 | #define PLAY_SONG(tone) | ||
| 289 | #endif | ||
| 290 | |||
| 291 | void persistent_default_layer_set(uint16_t default_layer) { | ||
| 292 | layer_state_set(default_layer); | ||
| 293 | eeconfig_update_default_layer(default_layer); | ||
| 294 | default_layer_set(default_layer); | ||
| 295 | } | ||
| 296 | |||
| 297 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 298 | switch (keycode) { | ||
| 299 | case QWERTY: | ||
| 300 | if (record->event.pressed) { | ||
| 301 | PLAY_SONG(tone_qwerty); | ||
| 302 | persistent_default_layer_set(1UL<<_QWERTY); | ||
| 303 | } | ||
| 304 | return false; | ||
| 305 | break; | ||
| 306 | case COLEMAK: | ||
| 307 | if (record->event.pressed) { | ||
| 308 | PLAY_SONG(tone_colemak); | ||
| 309 | persistent_default_layer_set(1UL<<_COLEMAK); | ||
| 310 | } | ||
| 311 | return false; | ||
| 312 | break; | ||
| 313 | case WORKMAN: | ||
| 314 | if (record->event.pressed) { | ||
| 315 | PLAY_SONG(tone_workman); | ||
| 316 | persistent_default_layer_set(1UL<<_WORKMAN); | ||
| 317 | } | ||
| 318 | return false; | ||
| 319 | break; | ||
| 320 | case DVORAK: | ||
| 321 | if (record->event.pressed) { | ||
| 322 | PLAY_SONG(tone_dvorak); | ||
| 323 | persistent_default_layer_set(1UL<<_DVORAK); | ||
| 324 | } | ||
| 325 | return false; | ||
| 326 | break; | ||
| 327 | case LOWER: | ||
| 328 | if (record->event.pressed) { | ||
| 329 | layer_on(_LOWER); | ||
| 330 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
| 331 | } else { | ||
| 332 | layer_off(_LOWER); | ||
| 333 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
| 334 | } | ||
| 335 | return false; | ||
| 336 | break; | ||
| 337 | case RAISE: | ||
| 338 | if (record->event.pressed) { | ||
| 339 | layer_on(_RAISE); | ||
| 340 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
| 341 | } else { | ||
| 342 | layer_off(_RAISE); | ||
| 343 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
| 344 | } | ||
| 345 | return false; | ||
| 346 | break; | ||
| 347 | } | ||
| 348 | |||
| 349 | return true; | ||
| 350 | } | ||
| 351 | |||
| 352 | #endif | ||
diff --git a/users/losinggeneration/rules.mk b/users/losinggeneration/rules.mk new file mode 100644 index 000000000..75277116b --- /dev/null +++ b/users/losinggeneration/rules.mk | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | # Build Options | ||
| 2 | # Only enable things here that are generic to all keyboards. A yes or no here | ||
| 3 | # will override keyboard/keymap specific values | ||
| 4 | # | ||
| 5 | #BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 6 | #COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 7 | #CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 8 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 9 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
| 10 | #NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 11 | TAP_DANCE_ENABLE = yes # Enable tap dancing | ||
| 12 | #UNICODE_ENABLE = no # Unicode | ||
| 13 | |||
| 14 | ifndef QUANTUM_DIR | ||
| 15 | include ../../../../Makefile | ||
| 16 | endif | ||
