Skip to content

Commit

Permalink
[Keymap] update @nstickney's keymaps (qmk#6076)
Browse files Browse the repository at this point in the history
* [Keymap] iris@nstickney: improve RGB init

Perfecting the rgb backlight initialization with a delay for each
color; also start and stop the animation at the "default layer"
color.

* [Keymap] iris,ergodox@nstickney fix FN on SYMB

The function key was not operational on the SYMB and SYSH layers due
to other keycodes being mapped over MO() on those layers. The
offending keycodes have been moved to other keys.

* [Keymap] add @nstickney's userspace

Pulled common code out to a userspace directory for my iris and
ergodox keymaps.

* [Keymap] iris@nstickney add image to README

Added an image from keyboard-layout-editor.com to meet the README
standard.

* iris@nstickney hue values now `uint8_t` (qmk#6050)
  • Loading branch information
nstickney authored and JeffreyPalmer committed Feb 27, 2020
1 parent a7b3e92 commit f029c9e
Show file tree
Hide file tree
Showing 9 changed files with 173 additions and 245 deletions.
9 changes: 5 additions & 4 deletions keyboards/keebio/iris/keymaps/nstickney/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

> Familiar layout for users who regularly switch between Iris and more standard layouts.
[![Keymap](https://i.imgur.com/hKs7fYr.jpg)](http://www.keyboard-layout-editor.com/#/gists/aa6093ea2eb9c750ab941b92adae7036)

[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme)

## Install
Expand All @@ -15,11 +17,11 @@ $ make keebio/iris/rev2:nstickney:avrdude
## Usage

0. QWERTY `BASE` layer.
* `/`, `\\`, ` `, `[ENTER]`, `-`, and `=` on the thumb clusters.
* `/`, `\`, ` `, `[ENTER]`, `-`, and `=` on the thumb clusters.
* `CAPSLOCK` replaced by `ESC`; hold it down for `CTRL`. `'` can also be held for `CTRL`.
* [Space-Cadet Shift](/docs/docs/feature_space_cadet_shift.md) is enabled, so the `SHIFT` keys send `(` and `)` when tapped.
* [Space-Cadet Shift](https://docs.qmk.fm/#/feature_space_cadet_shift) is enabled, so the `SHIFT` keys send `(` and `)` when tapped.
* Hold down `/` or `=` for `ALT`.
* Hold down `\\` or `-` to access the functions layer.
* Hold down `\` or `-` to access the functions layer.
* Upper-center thumb keys are `GUI` and `MENU`.
* Tapping `GUI` 2, 3, or 4 times will toggle `NUMLOCK`, `CAPSLOCK`, or `SCROLLLOCK`, respectively.
* Tapping `MENU` 2, 3, or 4 times will toggle the `NUMP`, `SYMB`, and `SYSH` layers, respectively.
Expand All @@ -40,7 +42,6 @@ $ make keebio/iris/rev2:nstickney:avrdude

If you are using this layout and think you've found a better way to do something, I'd appreciate an [issue](https://github.com/nstickney/qmk_firmware/issues), or better yet a [pull request](https://github.com/nstickney/qmk_firmware/pulls).


## License

Copyright © 2016-2019 @nstickney. Released under [GPL-2.0](/LICENSE).
6 changes: 1 addition & 5 deletions keyboards/keebio/iris/keymaps/nstickney/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define RGBLED_NUM 12
// #define RGBLIGHT_HUE_STEP 8
// #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8

// Unicode input
#undef UNICODE_SELECTED_MODES
#define UNICODE_SELECTED_MODES UC_OSX, UC_LNX, UC_WINC
// #define RGBLIGHT_VAL_STEP 8
92 changes: 13 additions & 79 deletions keyboards/keebio/iris/keymaps/nstickney/keymap.c
Original file line number Diff line number Diff line change
@@ -1,66 +1,4 @@
#include QMK_KEYBOARD_H

extern keymap_config_t keymap_config;

// Layers
#define BASE 0 // Base layer
#define SYMB 1 // Symbols
#define SYSH 2 // Symbols, shifted
#define NUMP 4 // Numpad
#define FCTN 8 // Functions

// Tap Dancing
void dance_lock (qk_tap_dance_state_t *state, void *user_data) {
switch (state->count){
case 1: // Press once for LGUI
tap_code(KC_LGUI);
break;
case 2: // Press twice for NUMLOCK
tap_code(KC_NLCK);
break;
case 3: // Press thrice for CAPSLOCK
tap_code(KC_CAPS);
break;
case 4: // Press four times for SCROLLOCK
tap_code(KC_SLCK);
break;
default:
break;
}
};

void dance_layer (qk_tap_dance_state_t *state, void *user_data) {
switch (state -> count) {
case 1: // Press once for MENU
tap_code(KC_APP);
break;
case 2: // Press twice for NUMPAD
layer_invert(NUMP);
break;
case 3: // Press thrice for SYMBOLS
layer_invert(SYMB);
break;
case 4: // Press four times for SYMBOLS, SHIFTED
layer_invert(SYSH);
break;
default:
break;
}
};

enum tap_dances {LOCKS = 0, LAYERS = 1};
qk_tap_dance_action_t tap_dance_actions[] = {
[LOCKS] = ACTION_TAP_DANCE_FN(dance_lock),
[LAYERS] = ACTION_TAP_DANCE_FN(dance_layer)
};

// Make layering more clear
#define CC_ESC LCTL_T(KC_ESC)
#define CC_QUOT RCTL_T(KC_QUOT)
#define AC_SLSH LALT_T(KC_SLSH)
#define AC_EQL RALT_T(KC_EQL)
#define FC_BSLS LT(FCTN, KC_BSLS)
#define FC_MINS LT(FCTN, KC_MINS)
#include "nstickney.h"

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

Expand Down Expand Up @@ -88,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
_______, UC(0x00E6),UC(0x00E8),UC(0x00A9),UC(0x00EA),UC(0x00EB),_______, _______, UC(0x00F1),UC(0x00FD),UC(0x00E7),UC(0x00F4),UC(0x00BF),_______,
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
UC(0x00BF),UC(0x00AC),_______, _______, UC(0x00B1),UC(0x00D7)
UC(0x00BF),_______, UC(0x00AC), UC(0x00B1),_______, UC(0x00D7)
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
),

Expand All @@ -102,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
_______, UC(0x00C6),UC(0x00C8),UC(0x00A2),UC(0x00CA),UC(0x00CB),_______, _______, UC(0x00D1),UC(0x00DD),UC(0x00C7),UC(0x00D4),UC(0x203D),_______,
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
UC(0x203D),UC(0x00A6),_______, _______, UC(0x00AA),UC(0x00F7)
UC(0x203D),_______, UC(0x00A6), UC(0x00AA),_______, UC(0x00F7)
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
),

Expand Down Expand Up @@ -138,28 +76,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Initialize rgblight
void keyboard_post_init_user(void) {
rgblight_enable_noeeprom();
for (int i = 360; i > 0; i--) {
rgblight_sethsv_noeeprom(i, 255, 255);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
layer_state_set_user(layer_state);
uint16_t user_hue = rgblight_get_hue();
for (uint16_t i = 0; i < 256; ++i) {
rgblight_sethsv_noeeprom( (i + user_hue) % 256, 255, 255);
wait_ms(5);
}
layer_state_set_user(layer_state);
};

// Turn on RGB underglow according to active layer
uint32_t layer_state_set_user(uint32_t state) {
switch (biton32(state)) {
case FCTN:
rgblight_sethsv_noeeprom(136, 255, 255);
break;
case NUMP:
rgblight_sethsv_noeeprom(228, 255, 255);
break;
case FCTN: rgblight_sethsv_noeeprom(96, 255, 255); break;
case NUMP: rgblight_sethsv_noeeprom(162, 255, 255); break;
case SYMB:
case SYSH:
rgblight_sethsv_noeeprom(320, 255, 255);
break;
default: // for any other layers, or the default layer
rgblight_sethsv_noeeprom(19, 255, 255);
break;
case SYSH: rgblight_sethsv_noeeprom(227, 255, 255); break;
default: rgblight_sethsv_noeeprom(13, 255, 255); break;
}
return state;
};
5 changes: 1 addition & 4 deletions keyboards/keebio/iris/keymaps/nstickney/rules.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
TAP_DANCE_ENABLE=yes
UNICODE_ENABLE = yes
RGBLIGHT_ENABLE = yes
Loading

0 comments on commit f029c9e

Please sign in to comment.