summaryrefslogtreecommitdiff
path: root/users/nstickney
diff options
context:
space:
mode:
authorStick <8531041+nstickney@users.noreply.github.com>2019-06-06 16:00:52 -0400
committerDrashna Jaelre <drashna@live.com>2019-06-06 13:00:52 -0700
commitde29da973a3171d55834a1401b72772726d5a354 (patch)
treea512104f2c1493bf8356600b1cfddb0a569284d8 /users/nstickney
parent872480dde2ba4713a96404d1a0a55db71a9d1b9b (diff)
[Keymap] update @nstickney's keymaps (#6076)
* [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` (#6050)
Diffstat (limited to 'users/nstickney')
-rw-r--r--users/nstickney/nstickney.c44
-rw-r--r--users/nstickney/nstickney.h25
-rw-r--r--users/nstickney/rules.mk4
3 files changed, 73 insertions, 0 deletions
diff --git a/users/nstickney/nstickney.c b/users/nstickney/nstickney.c
new file mode 100644
index 0000000000..3e18e5c838
--- /dev/null
+++ b/users/nstickney/nstickney.c
@@ -0,0 +1,44 @@
+#include "nstickney.h"
+
+// Tap Dancing
+void dance_layer (qk_tap_dance_state_t *state, void *user_data) {
+ switch (state -> count) {
+ case 1: tap_code(KC_APP); break;
+ case 2: layer_invert(NUMP); break;
+ case 3: layer_invert(SYMB); break;
+ case 4: layer_invert(SYSH); break;
+ default: break;
+ }
+};
+
+void dance_lock_finished (qk_tap_dance_state_t *state, void *user_data) {
+ switch (state->count) {
+ case 1: register_code(KC_LGUI); break;
+ case 2: register_code(KC_NLCK); break;
+ case 3: register_code(KC_CAPS); break;
+ case 4: register_code(KC_SLCK); break;
+ default: break;
+ }
+};
+
+void dance_lock_reset (qk_tap_dance_state_t *state, void *user_data) {
+ switch (state->count) {
+ case 1: unregister_code(KC_LGUI); break;
+ case 2: unregister_code(KC_NLCK); break;
+ case 3: register_code(KC_CAPS); break;
+ case 4: register_code(KC_SLCK); break;
+ default: break;
+ }
+};
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [LOCKS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_lock_finished, dance_lock_reset),
+ [LAYERS] = ACTION_TAP_DANCE_FN(dance_layer)
+};
+
+void eeconfig_init_user (void) {
+ set_unicode_input_mode(UC_LNX); // Linux
+ //set_unicode_input_mode(UC_OSX); // Mac OSX
+ //set_unicode_input_mode(UC_WIN); // Windows (with registry key, see wiki)
+ //set_unicode_input_mode(UC_WINC); // Windows (with WinCompose, see wiki)
+}; \ No newline at end of file
diff --git a/users/nstickney/nstickney.h b/users/nstickney/nstickney.h
new file mode 100644
index 0000000000..d3f5a7c6fc
--- /dev/null
+++ b/users/nstickney/nstickney.h
@@ -0,0 +1,25 @@
+#include QMK_KEYBOARD_H
+
+#pragma once
+#define USE_SERIAL
+#define MASTER_LEFT
+
+#undef UNICODE_SELECTED_MODES
+#define UNICODE_SELECTED_MODES UC_OSX, UC_LNX, UC_WINC
+
+// Layers
+#define BASE 0 // Base layer
+#define SYMB 1 // Symbols
+#define SYSH 2 // Symbols, shifted
+#define NUMP 3 // Numpad
+#define FCTN 4 // Function
+
+// Make keymaps 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)
+
+enum tap_dances {LOCKS = 0, LAYERS = 1}; \ No newline at end of file
diff --git a/users/nstickney/rules.mk b/users/nstickney/rules.mk
new file mode 100644
index 0000000000..f52371c791
--- /dev/null
+++ b/users/nstickney/rules.mk
@@ -0,0 +1,4 @@
+SRC += nstickney.c
+
+TAP_DANCE_ENABLE = yes
+UNICODE_ENABLE = yes \ No newline at end of file