aboutsummaryrefslogtreecommitdiffstats
path: root/users
diff options
context:
space:
mode:
authorDaniel Shields <daniel.shields@bcs.org>2019-09-21 19:04:27 +0100
committerDrashna Jaelre <drashna@live.com>2019-09-21 11:04:27 -0700
commit63a0b1241d204873cd5156a959e913c602b0c386 (patch)
tree69ec7c084ed0ef26c50e23017ec32a3e483de679 /users
parent75c97477874b9354a90b8b4eca2d3b1ecfc15435 (diff)
downloadfirmware-63a0b1241d204873cd5156a959e913c602b0c386.tar.gz
firmware-63a0b1241d204873cd5156a959e913c602b0c386.tar.bz2
firmware-63a0b1241d204873cd5156a959e913c602b0c386.zip
[Keymap] Move common code and configuration to userspace for dshields keymaps. (#6537)
Diffstat (limited to 'users')
-rw-r--r--users/dshields/config.h14
-rw-r--r--users/dshields/dshields.c30
-rw-r--r--users/dshields/dshields.h31
-rw-r--r--users/dshields/rules.mk24
4 files changed, 99 insertions, 0 deletions
diff --git a/users/dshields/config.h b/users/dshields/config.h
new file mode 100644
index 000000000..743f16f99
--- /dev/null
+++ b/users/dshields/config.h
@@ -0,0 +1,14 @@
+#pragma once
+
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define USB_MAX_POWER_CONSUMPTION 100
+#define ONESHOT_TAP_TOGGLE 2
+#define ONESHOT_TIMEOUT 3000
+#define RETRO_TAPPING
+
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_TIME_TO_MAX 40
+#define MOUSEKEY_MAX_SPEED 7
+#define MOUSEKEY_WHEEL_DELAY 0
+
diff --git a/users/dshields/dshields.c b/users/dshields/dshields.c
new file mode 100644
index 000000000..6aff5c671
--- /dev/null
+++ b/users/dshields/dshields.c
@@ -0,0 +1,30 @@
+extern keymap_config_t keymap_config;
+
+/* uncomment to reset
+void matrix_init_user(void) {
+ eeconfig_init();
+};
+*/
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_dynamic_macro(keycode, record)) {
+ return false;
+ }
+ return true;
+}
+
+// work in progress
+uint32_t layer_state_set_user(uint32_t state) {
+ switch (biton32(state)) {
+ case DEF:
+ set_all_leds_to(0,0,0);
+ break;
+ case FUN:
+ // TODO light the fn keys
+ // set_led_to(?, 0, 128, 0);
+ // set_led_to(?, 0, 128, 0);
+ break;
+ }
+ return state;
+}
+
diff --git a/users/dshields/dshields.h b/users/dshields/dshields.h
new file mode 100644
index 000000000..c746e74fb
--- /dev/null
+++ b/users/dshields/dshields.h
@@ -0,0 +1,31 @@
+#pragma once
+
+// dynamic macro keys
+#define DM_PLAY DYN_MACRO_PLAY1
+#define DM_STRT DYN_REC_START1
+#define DM_STOP DYN_REC_STOP
+
+// one-shot layer keys
+#define OSL_RSE OSL(RSE)
+#define OSL_LWR OSL(LWR)
+#define OSL_FUN OSL(FUN)
+
+// one-shot modifier keys
+#define OSMLCTL OSM(MOD_LCTL)
+#define OSMRCTL OSM(MOD_RCTL)
+#define OSMLALT OSM(MOD_LALT)
+#define OSMRALT OSM(MOD_RALT)
+#define OSMLSFT OSM(MOD_LSFT)
+#define OSMRSFT OSM(MOD_RSFT)
+
+// mod-tap keys
+#define MT_SPC SFT_T(KC_SPC)
+
+#ifdef KEYBOARD_planck_light
+ #define LGT_TOG RGB_TOG
+ #define LGT_MOD RGB_MOD
+#else
+ #define LGT_TOG BL_TOGG
+ #define LGT_MOD BL_STEP
+#endif
+
diff --git a/users/dshields/rules.mk b/users/dshields/rules.mk
new file mode 100644
index 000000000..a2bec4335
--- /dev/null
+++ b/users/dshields/rules.mk
@@ -0,0 +1,24 @@
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+COMMAND_ENABLE = no # Commands for debug and configuration
+CONSOLE_ENABLE = no # Console for debug(+400)
+EXTRAKEY_ENABLE = no
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+API_SYSEX_ENABLE = no
+
+ifeq ($(strip $(KEYBOARD)), planck/rev3)
+ AUDIO_ENABLE = no
+ BACKLIGHT_ENABLE = yes
+ RGB_MATRIX_ENABLE = no
+endif
+ifeq ($(strip $(KEYBOARD)), planck/rev6)
+ EXTRALDFLAGS = -Wl,--build-id=none
+ AUDIO_ENABLE = no
+ BACKLIGHT_ENABLE = no
+ RGB_MATRIX_ENABLE = no
+endif
+ifeq ($(strip $(KEYBOARD)), planck/light)
+ AUDIO_ENABLE = yes
+ BACKLIGHT_ENABLE = no
+ RGB_MATRIX_ENABLE = yes
+endif
+