forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keymap] Jonavin new obe keymap (qmk#14657)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Jonavin <=>
- Loading branch information
1 parent
bac4500
commit a2db833
Showing
8 changed files
with
322 additions
and
43 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,39 @@ | ||
/* Copyright 2021 Jonavin Eng | ||
* | ||
* 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 2 | ||
// TT set to two taps | ||
|
||
/* Handle GRAVESC combo keys */ | ||
#define GRAVE_ESC_ALT_OVERRIDE | ||
//Always send Escape if Alt is pressed | ||
#define GRAVE_ESC_CTRL_OVERRIDE | ||
//Always send Escape if Control is pressed | ||
|
||
#define TAPPING_TERM 180 | ||
|
||
#ifdef RGBLIGHT_ENABLE | ||
// Redefine number of LED | ||
#ifdef RGBLED_NUM | ||
#undef RGBLED_NUM | ||
#endif // DEBUG | ||
#define RGBLED_NUM 20 | ||
|
||
#define RGBLIGHT_LAYERS | ||
#define RGBLIGHT_SLEEP | ||
#endif // RGBLIGHT_ENABLE |
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,114 @@ | ||
/* Copyright 2021 Kyle McCreery | ||
* | ||
* 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 "jonavin.h" | ||
|
||
#ifdef RGBLIGHT_ENABLE | ||
// Custom RGB Colours | ||
#define RGB_OBE_BOW 0x00, 0xE4, 0xFF // colour for matching keycaps | ||
#endif // RGBLIGHT_ENABLE | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
/* Base */ | ||
[_BASE] = LAYOUT( | ||
KC_MUTE, KC_GESC, 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_BSLS, KC_DEL, | ||
KC_PGUP, KC_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_BSPC, | ||
KC_PGDN, TT(_RAISE), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | ||
KC_LSFTCAPSWIN,KC_Z, KC_X, KC_C, KC_V, KC_B, LT(_LOWER,KC_B), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, | ||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), LT(_RAISE,KC_SPC), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
), | ||
[_FN1] = LAYOUT( | ||
KC_NO, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_INS, | ||
KC_HOME, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_NO, RESET, | ||
KC_END, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, | ||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NLCK, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_TRNS, | ||
KC_TRNS,KC_WINLCK,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END | ||
), | ||
[_LOWER] = LAYOUT( | ||
KC_NO, KC_TILD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_TRNS, KC_DEL, | ||
RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EMO_TEARS, EMO_SAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, | ||
RGB_HUD, KC_NO, KC_NO, EMO_SHRUG,KC_NO, KC_NO, KC_NO, KC_NO, EMO_JOY, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, | ||
KC_NO, KC_NO, KC_NO, EMO_CONFUSE,KC_NO,KC_NO,KC_TRNS,EMO_NERVOUS,KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD, KC_TRNS, | ||
KC_TRNS, KC_APP, KC_TRNS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_RMOD, RGB_SPI | ||
), | ||
[_RAISE] = LAYOUT( | ||
KC_NO, KC_TILD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_PSLS, KC_DEL, | ||
KC_NO, KC_NO, KC_HOME,KC_UP, KC_END, KC_PGUP, KC_NO, KC_TAB, KC_P4, KC_P5, KC_P6, KC_NO, KC_NO, KC_NO, KC_PEQL, | ||
KC_NO, TT(_RAISE),KC_LEFT,KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_PAST, KC_PENT, | ||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_P0, KC_00, KC_NO, KC_PDOT, KC_PSLS, CT_PGUP, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CT_HOME, CT_PGDN, CT_END | ||
) | ||
}; | ||
|
||
#ifdef RGBLIGHT_ENABLE | ||
|
||
enum custom_rgblight_layers | ||
{ | ||
_rgbWINLOCK, | ||
_rgbFN, | ||
_rgbLOWER, | ||
_rgbRAISE | ||
}; | ||
|
||
// Optional RGB Light Mapping Zones {LED Posiiton, Number of LEDs, Colour} | ||
const rgblight_segment_t PROGMEM _rgb_winlock_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{1, 3, HSV_RED}, | ||
{15, 3, HSV_RED} | ||
); | ||
const rgblight_segment_t PROGMEM _rgb_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{6, 6, HSV_PURPLE} | ||
); | ||
// Light LEDs 9 & 10 in cyan when keyboard layer 1 is active | ||
const rgblight_segment_t PROGMEM _rgb_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{4, 10, HSV_YELLOW} | ||
); | ||
|
||
const rgblight_segment_t PROGMEM _rgb_raise_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{3, 5, HSV_GREEN}, | ||
{10, 5, HSV_GREEN} | ||
); | ||
|
||
const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||
_rgb_winlock_layer, | ||
_rgb_fn_layer, | ||
_rgb_lower_layer, | ||
_rgb_raise_layer | ||
); | ||
|
||
bool led_update_user(led_t led_state) { | ||
rgblight_set_layer_state(_rgbWINLOCK, keymap_config.no_gui); | ||
return true; | ||
} | ||
|
||
layer_state_t layer_state_set_user(layer_state_t state) { | ||
rgblight_set_layer_state(_rgbFN, layer_state_cmp(state, _FN1)); | ||
rgblight_set_layer_state(_rgbLOWER, layer_state_cmp(state, _LOWER)); | ||
rgblight_set_layer_state(_rgbRAISE, layer_state_cmp(state, _RAISE)); | ||
return state; | ||
} | ||
#endif // RGBLIGHT_ENABLE | ||
|
||
void keyboard_post_init_keymap(void) { | ||
// keyboard_post_init_user() moved to userspace | ||
#ifdef RGBLIGHT_ENABLE | ||
rgblight_enable_noeeprom(); | ||
rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); | ||
rgblight_setrgb(RGB_OBE_BOW); // Default startup colour | ||
rgblight_layers = _rgb_layers; | ||
#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,46 @@ | ||
# Jonavin's MechWild Orange Boy Ergo keymap | ||
|
||
--> This keymap makes user of user/jonavin userspace | ||
|
||
Features | ||
- Split spacebars, Split Backspace | ||
- RGB Winlock indicator (requires LED stripto be installed) | ||
- RGB Layer indicators: FN/MO1 - Purple; LOWER/MO2 - Yellow; RAISE/MO3/NumPad - Green | ||
- quick demo https://youtu.be/gR1awbsouLk | ||
|
||
- Add PrtScr, Scroll Lock, Break, NumLock to Fn layer | ||
- Implement Win key lock using Fn+Win | ||
- Layer 2 (LOWER) when right B is held -- for emoticons | ||
- Layer 2 RGB functions | ||
- Layer 3 (RAISE) mod on Caps Lock with double-tap to switch to this layer, double tap to switch back | ||
- provides arrows on WASD and additional nav keys + right hand numpad with 00; an be used for Alt Code entry | ||
- left spacebar Backspace | ||
- add double tap of Left Shift to toggle Caps Lock | ||
|
||
|
||
rules.mk OPTIONS - Active features from userspace | ||
-------------------------------------------------- | ||
|
||
STARTUP_NUMLOCK_ON = yes | ||
- turns on NUMLOCK by default | ||
|
||
ENCODER_DEFAULTACTIONS_ENABLE = yes | ||
- Enables default encoder funtions | ||
- holding Left shift, change layers | ||
- holding right shift, Navigate page up/down | ||
- holding Left Ctrl, navigate prev/next word | ||
- holding Left Alt, change media prev/next track | ||
- default is change volume | ||
|
||
TD_LSFT_CAPSLOCK_ENABLE = yes | ||
- This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS | ||
|
||
IDLE_TIMEOUT_ENABLE = yes | ||
- Enables Timer functionality; for RGB idle timeouts that can be changed dynamically | ||
|
||
EMOTICON_ENABLE | ||
- adds EMO_ keycodes for text emojis | ||
|
||
## All layers diagram | ||
![image](https://user-images.githubusercontent.com/71780717/135770721-ab263532-f645-4903-99cb-749549944e15.png) | ||
|
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,11 @@ | ||
VIA_ENABLE = yes | ||
LTO_ENABLE = yes | ||
RGBLIGHT_ENABLE = yes | ||
|
||
MOUSEKEY_ENABLE = no | ||
TAP_DANCE_ENABLE = yes | ||
|
||
TD_LSFT_CAPSLOCK_ENABLE = yes | ||
STARTUP_NUMLOCK_ON = yes | ||
ENCODER_DEFAULTACTIONS_ENABLE = yes | ||
EMOTICON_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
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
Oops, something went wrong.