-
-
Notifications
You must be signed in to change notification settings - Fork 40k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keymap] add cwebster2 userspace and keymaps (#10541)
* Adding my keymap * Add a starter keymap for kyria * Updated keymap * Add auto shift, tapping modifications and gravatar oled bitmap * Add flashing helper scripts * Updates to my keymap * Enable raw hid and rgblight sleep * Cleanup * Updated keymap and board features * Remove some RGB modes for space * Start working on a miryoku-like keymap. This adds homerow mods to my keymap on the base layer and adds a game layer that doesnt have them * more work on keymaps * Fine tuning home row mods * update keymap * Keymap update * add split transport * keymap * cherry pick from develop * merge develop * fix * keymap iterations * Refactoring * continued refactoring * messing with rgb * update layer coloring * continued refactoring * more features * modifier color * Move stuff to userspace * Moving stuff out to userspace * refactoring into userspace * More refactoring * Fixing some errors in the keymap and changing the oled output * Sync zen1 keymap to my userspace config * Update copyright notices and revert transport.c to master * Swap tab and esc * Remove a file accidentally created * Use LTO_ENABLE to turn on Link_Time_Optimization * Drop modtap thumbs on game layout * Update game keymap * More iteration on the game keymap * Add oled indications of kitty and i3 mod * Promote colemak to default * Update tapping term for modtap keys * Add per key tapping term * Use left modifiers on right side
- Loading branch information
Showing
13 changed files
with
952 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,55 @@ | ||
/* Copyright 2020 Casey Webster <[email protected]> | ||
* | ||
* 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/>. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#ifdef OLED_DRIVER_ENABLE | ||
#define OLED_DISPLAY_128X64 | ||
#endif | ||
|
||
#ifdef RGBLIGHT_ENABLE | ||
//#define RGBLIGHT_ANIMATIONS | ||
//#define RGBLIGHT_EFFECT_ALTERNATING | ||
#define RGBLIGHT_EFFECT_BREATHING | ||
//#define RGBLIGHT_EFFECT_CHRISTMAS | ||
//#define RGBLIGHT_EFFECT_KNIGHT | ||
//#define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
//#define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
//#define RGBLIGHT_EFFECT_RGB_TEST | ||
//#define RGBLIGHT_EFFECT_SNAKE | ||
//#define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
//#define RGBLIGHT_EFFECT_TWINKLE | ||
#define RGBLIGHT_HUE_STEP 8 | ||
#define RGBLIGHT_SAT_STEP 8 | ||
#define RGBLIGHT_VAL_STEP 8 | ||
#define RGBLIGHT_SLEEP | ||
#define RGBLIGHT_LIMIT_VAL 128 | ||
#define RGBLIGHT_EFFECT_BREATHE_MAX 128 | ||
#define RGBLIGHT_LAYERS | ||
#define RGBLIGHT_MAX_LAYERS 16 | ||
//#define RGBLIGHT_STARTUP_ANIMATION | ||
#endif | ||
|
||
#ifdef COMBO_ENABLE | ||
#define COMBO_COUNT 2 | ||
#endif | ||
|
||
#define QMK_KEYS_PER_SCAN 4 | ||
|
||
#define EE_HANDS | ||
|
||
//#define DEBUG_MATRIX_SCAN_RATE | ||
//#define SPLIT_MODS_ENABLE |
Large diffs are not rendered by default.
Oops, something went wrong.
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,5 @@ | ||
OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays | ||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
RAW_ENABLE = yes | ||
WPM_ENABLE = yes | ||
COMBO_ENABLE = no |
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,34 @@ | ||
/* | ||
Copyright 2020 Casey Webster <[email protected]> | ||
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/>. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include "config_common.h" | ||
|
||
/* Use I2C or Serial, not both */ | ||
|
||
#define USE_SERIAL | ||
|
||
#define EE_HANDS | ||
|
||
#ifdef COMBO_ENABLE | ||
#define COMBO_COUNT 2 | ||
#endif | ||
|
||
#define QMK_KEYS_PER_SCAN 4 | ||
|
||
#define EE_HANDS |
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,116 @@ | ||
/* Copyright 2020 Casey Webster <[email protected]> | ||
* | ||
* 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/>. | ||
*/ | ||
#include QMK_KEYBOARD_H | ||
#include "rev1.h" | ||
#include "cwebster2.h" | ||
|
||
#define LAYOUT_zen_base( \ | ||
L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, \ | ||
L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, \ | ||
L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, \ | ||
L33, L34, L35, R35, R34, R33 \ | ||
) \ | ||
LAYOUT_zen_wrapper ( \ | ||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, \ | ||
KC_GRV, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, KC_BSLS, \ | ||
KC_CTLBS, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, KC_QUOT, \ | ||
KC_EQL, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, KC_MINS, \ | ||
KC_LCCL, KC_LGUI, SCMD_T(KC_LBRC), C_S_T(KC_MINS), L33, L34, L35, R35, R34, R33, TO(_GAME), KC_PSCR, KC_ALTCL, KC_LSFT \ | ||
) | ||
#define LAYOUT_zen_base_wrapper(...) LAYOUT_zen_base(__VA_ARGS__) | ||
|
||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
/* | ||
* Base Layer: QWERTY | ||
*/ | ||
[_QWERTY] = LAYOUT_zen_base_wrapper( | ||
/* ,-----------------------. ,-----------------------. */ | ||
_______QWERTY_L1______, _______QWERTY_R1______, | ||
_______QWERTY_L2______, _______QWERTY_R2______, | ||
_______QWERTY_L3______, _______QWERTY_R3______, | ||
_______THUMBS_L_______, _______THUMBS_R_______ | ||
/* `---------------------' `---------------------' */ | ||
), | ||
[_COLEMAK] = LAYOUT_zen_wrapper( | ||
/* ,-----------------------. ,-----------------------. */ | ||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, | ||
KC_GRV, _______COLEMAK_L1_____, _______COLEMAK_R1_____, KC_BSLS, | ||
KC_CTLBS, _______COLEMAK_L2_____, _______COLEMAK_R2_____, KC_SCLN, | ||
KC_EQL, _______COLEMAK_L3_____, _______COLEMAK_R3_____, KC_MINS, | ||
KC_LCCL, KC_LGUI, SCMD_T(KC_LBRC), C_S_T(KC_MINS), _______THUMBS_L_______, _______THUMBS_R_______, TO(_QWERTY), KC_PSCR, KC_ALTCL, KC_LSFT | ||
/* `---------------------' `---------------------' */ | ||
), | ||
// GAME layout -- qwerty without homerow mods | ||
[_GAME] = LAYOUT_zen_wrapper( | ||
/* ,-------------------------------------------. ,-------------------------------------------. */ | ||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, | ||
KC_GRV, _______QWERTY_L1______, _______QWERTY_R1______, KC_BSLS, | ||
KC_CTLBS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
KC_EQL, _______QWERTY_L3______, _______QWERTY_R3______, KC_MINS, | ||
KC_LCCL, KC_LGUI, SCMD_T(KC_LBRC), C_S_T(KC_MINS), _______THUMBS_L_______, _______THUMBS_R_______, TO(_COLEMAK), KC_PSCR, KC_ALTCL, KC_LSFT | ||
/* `----------------------------------' `----------------------------------' */ | ||
), | ||
[_FN] = LAYOUT_zen_base_wrapper( | ||
/* ,-----------------------. ,-----------------------. */ | ||
_______FN_______L1____, _______INACTIVE_R1____, | ||
_______FN_______L2____, _______INACTIVE_R2____, | ||
_______FN_______L3____, _______NAV______R2____, | ||
_______FN________T____, _______INACTIVE__T____ | ||
/* `---------------------' `---------------------' */ | ||
), | ||
[_SYMBOLS] = LAYOUT_zen_base_wrapper( | ||
/* ,-----------------------. ,-----------------------. */ | ||
_______SYM______L1____, _______INACTIVE_R1____, | ||
_______SYM______L2____, _______INACTIVE_R2____, | ||
_______SYM______L3____, _______INACTIVE_R3____, | ||
_______SYM_______T____, _______INACTIVE__T____ | ||
/* `---------------------' `---------------------' */ | ||
), | ||
[_NUM] = LAYOUT_zen_base_wrapper( | ||
/* ,-----------------------. ,-----------------------. */ | ||
_______NUM______L1____, _______INACTIVE_R1____, | ||
_______NUM______L2____, _______INACTIVE_R2____, | ||
_______NUM______L3____, _______INACTIVE_R3____, | ||
_______NUM_______T____, _______INACTIVE__T____ | ||
/* `---------------------' `---------------------' */ | ||
), | ||
[_NAV] = LAYOUT_zen_base_wrapper( | ||
/* ,-----------------------. ,-----------------------. */ | ||
_______INACTIVE_L1____, _______NAV______R1____, | ||
_______INACTIVE_L2____, _______NAV______R2____, | ||
_______INACTIVE_L3____, _______NAV______R3____, | ||
_______INACTIVE__T____, _______NAV_______T____ | ||
/* `---------------------' `---------------------' */ | ||
), | ||
[_MOUSE] = LAYOUT_zen_base_wrapper( | ||
/* ,-----------------------. ,-----------------------. */ | ||
_______INACTIVE_L1____, _______MOUSE____R1____, | ||
_______INACTIVE_L2____, _______MOUSE____R2____, | ||
_______INACTIVE_L3____, _______MOUSE____R3____, | ||
_______INACTIVE__T____, _______MOUSE_____T____ | ||
/* `---------------------' `---------------------' */ | ||
), | ||
[_MEDIA] = LAYOUT_zen_base_wrapper( | ||
/* ,-----------------------. ,-----------------------. */ | ||
_______INACTIVE_L1____, _______MEDIA____R1____, | ||
_______INACTIVE_L2____, _______MEDIA____R2____, | ||
_______INACTIVE_L3____, _______MEDIA____R3____, | ||
_______INACTIVE__T____, _______MEDIA_____T____ | ||
/* `---------------------' `---------------------' */ | ||
), | ||
}; | ||
|
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,2 @@ | ||
RGBLIGHT_ENABLE = no | ||
RAW_ENABLE = yes |
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,57 @@ | ||
/* Copyright 2020 Casey Webster <[email protected]> | ||
* | ||
* 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/>. | ||
*/ | ||
#pragma once | ||
|
||
#define TAPPING_TOGGLE 1 | ||
#define TAPPING_TERM 200 | ||
#define TAPPING_TERM_PER_KEY | ||
//#define TAPPING_FORCE_HOLD | ||
#undef PERMISSIVE_HOLD | ||
#define IGNORE_MOD_TAP_INTERRUPT | ||
#define NO_ACTION_ONESHOT | ||
|
||
#ifdef AUTO_SHIFT_ENABLE | ||
#define AUTO_SHIFT_TIMEOUT 200 | ||
#define NO_AUTO_SHIFT_SPECIAL | ||
#define NO_AUTO_SHIFT_ALPHA | ||
#endif | ||
|
||
#undef MOUSEKEY_DELAY | ||
#define MOUSEKEY_DELAY 0 | ||
#undef MOUSEKEY_INTERVAL | ||
#define MOUSEKEY_INTERVAL 16 | ||
#undef MOUSEKEY_WHEEL_DELAY | ||
#define MOUSEKEY_WHEEL_DELAY 0 | ||
#undef MOUSEKEY_MAX_SPEED | ||
#define MOUSEKEY_MAX_SPEED 6 | ||
#undef MOUSEKEY_TIME_TO_MAX | ||
#define MOUSEKEY_TIME_TO_MAX 64 | ||
|
||
#ifdef LOCKING_SUPPORT_ENABLE | ||
# undef LOCKING_SUPPORT_ENABLE | ||
#endif | ||
#ifdef LOCKING_RESYNC_ENABLE | ||
# undef LOCKING_RESYNC_ENABLE | ||
#endif | ||
|
||
#define NO_ACTION_MACRO | ||
#define NO_ACTION_FUNCTION | ||
#ifndef NO_DEBUG | ||
#define NO_DEBUG | ||
#endif // !NO_DEBUG | ||
#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE) | ||
#define NO_PRINT | ||
#endif // !NO_PRINT |
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,65 @@ | ||
/* Copyright 2020 Casey Webster <[email protected]> | ||
* | ||
* 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/>. | ||
*/ | ||
#include "cwebster2.h" | ||
|
||
userspace_config_t userspace_config; | ||
|
||
__attribute__((weak)) void matrix_scan_keymap(void) {} | ||
|
||
void matrix_scan_user(void) { | ||
static bool has_ran_yet; | ||
if (!has_ran_yet) { | ||
has_ran_yet = true; | ||
startup_user(); | ||
} | ||
|
||
matrix_scan_keymap(); | ||
} | ||
|
||
void keyboard_post_init_rgb(void) { | ||
#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_STARTUP_ANIMATION) | ||
/*if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); }*/ | ||
/*if (rgblight_config.enable) {*/ | ||
/*layer_state_set_user(layer_state);*/ | ||
/*uint16_t old_hue = rgblight_config.hue;*/ | ||
uint16_t old_hue = 170; | ||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); | ||
for (uint16_t i = 255; i > 0; i--) { | ||
rgblight_sethsv_noeeprom( ( i + old_hue) % 255, 255, 255); | ||
matrix_scan(); | ||
wait_ms(10); | ||
} | ||
/*}*/ | ||
#endif | ||
/*layer_state_set_user(layer_state);*/ | ||
} | ||
|
||
__attribute__((weak)) void eeconfig_init_keymap(void) {} | ||
|
||
void eeconfig_init_user(void) { | ||
userspace_config.raw = 0; | ||
userspace_config.rgb_layer_change = true; | ||
eeconfig_update_user(userspace_config.raw); | ||
eeconfig_init_keymap(); | ||
keyboard_init(); | ||
} | ||
|
||
bool hasAllBitsInMask(uint8_t value, uint8_t mask) { | ||
value &= 0xF; | ||
mask &= 0xF; | ||
|
||
return (value & mask) == mask; | ||
} |
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,51 @@ | ||
/* Copyright 2020 Casey Webster <[email protected]> | ||
* | ||
* 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/>. | ||
*/ | ||
#pragma once | ||
|
||
#include "my_miryoku.h" | ||
#include "keycodes.h" | ||
#include "eeprom.h" | ||
|
||
#define LAYOUT_kyria_wrapper(...) LAYOUT(__VA_ARGS__) | ||
#define LAYOUT_zen_wrapper(...) LAYOUT(__VA_ARGS__) | ||
|
||
enum userspace_layers { | ||
_COLEMAK = 0, | ||
_QWERTY, | ||
_GAME, | ||
_FN, | ||
_SYMBOLS, | ||
_NUM, | ||
_NAV, | ||
_MOUSE, | ||
_MEDIA, | ||
__LAST | ||
}; | ||
|
||
void keyboard_post_init_rgb(void); | ||
void matrix_scan_keymap(void); | ||
void eeconfig_init_keymap(void); | ||
bool hasAllBitsInMask(uint8_t value, uint8_t mask); | ||
|
||
|
||
typedef union { | ||
uint32_t raw; | ||
struct { | ||
bool rgb_layer_change :1; | ||
}; | ||
} userspace_config_t; | ||
|
||
extern userspace_config_t userspace_config; |
Oops, something went wrong.