aboutsummaryrefslogtreecommitdiff
path: root/users/mtdjr
diff options
context:
space:
mode:
authormtdjr <mtdjr@users.noreply.github.com>2018-06-20 18:13:00 -0400
committerDrashna Jaelre <drashna@live.com>2018-06-20 15:13:00 -0700
commite8eaf5630cee4f5d16b0c86627579c5a695540d5 (patch)
tree0635413c03b59dc46f7af0f36f34d4e84fa06bf0 /users/mtdjr
parentf46b1db9f4997631c3e09269e51faf5f2bc3aeaf (diff)
downloadqmk_firmware-e8eaf5630cee4f5d16b0c86627579c5a695540d5.tar.gz
qmk_firmware-e8eaf5630cee4f5d16b0c86627579c5a695540d5.zip
Updates to mtdjr userspace and keymaps (#3206)
* slight tweaks to xd75 keymap * update to config.h to remove undef of solenoid active * code organization for userspace * updates to userspace and keymaps * add rgb to userspace and lets split * add conditional around rgb functions in userpsace * move rgb layer changes into layer_state_set_user
Diffstat (limited to 'users/mtdjr')
-rw-r--r--users/mtdjr/mtdjr.c122
-rw-r--r--users/mtdjr/mtdjr.h85
-rw-r--r--users/mtdjr/solenoid.h14
3 files changed, 131 insertions, 90 deletions
diff --git a/users/mtdjr/mtdjr.c b/users/mtdjr/mtdjr.c
index da4f57047..1d47d88ee 100644
--- a/users/mtdjr/mtdjr.c
+++ b/users/mtdjr/mtdjr.c
@@ -2,20 +2,58 @@
2 2
3#ifdef SOLENOID_ENABLE 3#ifdef SOLENOID_ENABLE
4 #include "solenoid.h" 4 #include "solenoid.h"
5#endif
5 6
6 void solenoid_buzz_on(void); 7#ifndef RGB_MODE
7 void solenoid_buzz_off(void); 8 #define RGB_MODE 16
8 void solenoid_dwell_minus(void); 9#endif
9 void solenoid_dwell_plus(void); 10#ifndef RGB_HUE
10 void solenoid_toggle(void); 11 #define RGB_HUE 285
11 void solenoid_stop(void);
12 void solenoid_fire(void);
13 void solenoid_check(void);
14 void solenoid_setup(void);
15 void matrix_init_user(void);
16 void matrix_scan_user(void);
17#endif 12#endif
18 13
14// Tap Dance Definitions
15qk_tap_dance_action_t tap_dance_actions[] = {
16 [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC),
17 [TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)),
18 [TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)),
19 [TD_PRINT] = ACTION_TAP_DANCE_DOUBLE(LGUI(LSFT(KC_3)), LGUI(LSFT(KC_4))),
20};
21
22// Macros
23const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
24 if (record->event.pressed) {
25 switch(id) {
26 case ROOT:
27 SEND_STRING("sudo su -\n");
28 return false; break;
29 case PPLY:
30 SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n");
31 return false; break;
32 case PSEF:
33 SEND_STRING("ps -ef | grep ");
34 return false; break;
35 }
36 }
37 return MACRO_NONE;
38};
39
40void matrix_init_user(void) {
41 #ifdef RGBLIGHT_ENABLE
42 rgblight_enable_noeeprom();
43 rgblight_mode_noeeprom(RGB_MODE);
44 rgblight_sethsv (RGB_HUE, 255, 255);
45 #endif
46 #ifdef SOLENOID_ENABLE
47 solenoid_setup();
48 #endif
49}
50
51void matrix_scan_user(void) {
52 #ifdef SOLENOID_ENABLE
53 solenoid_check();
54 #endif
55}
56
19bool process_record_user(uint16_t keycode, keyrecord_t *record) { 57bool process_record_user(uint16_t keycode, keyrecord_t *record) {
20 #ifdef SOLENOID_ENABLE 58 #ifdef SOLENOID_ENABLE
21 if (record->event.pressed) { 59 if (record->event.pressed) {
@@ -71,7 +109,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
71 if (record->event.pressed) { 109 if (record->event.pressed) {
72 solenoid_dwell_minus(); 110 solenoid_dwell_minus();
73 } 111 }
74 #endif 112 #endif
75 break; 113 break;
76 case SOLENOID_DWELL_PLUS: 114 case SOLENOID_DWELL_PLUS:
77 #ifdef SOLENOID_ENABLE 115 #ifdef SOLENOID_ENABLE
@@ -85,53 +123,35 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
85 if (record->event.pressed) { 123 if (record->event.pressed) {
86 solenoid_buzz_on(); 124 solenoid_buzz_on();
87 } 125 }
88 #endif 126 #endif
89 break; 127 break;
90 case SOLENOID_BUZZ_OFF: 128 case SOLENOID_BUZZ_OFF:
91 #ifdef SOLENOID_ENABLE 129 #ifdef SOLENOID_ENABLE
92 if (record->event.pressed) { 130 if (record->event.pressed) {
93 solenoid_buzz_off(); 131 solenoid_buzz_off();
94 } 132 }
95 #endif 133 #endif
96 break; 134 break;
97 } 135 }
98 return true; 136 return true;
99}; 137};
100 138
101 139uint32_t layer_state_set_user(uint32_t state) {
102//Tap Dance Definitions 140#ifdef RGBLIGHT_ENABLE
103qk_tap_dance_action_t tap_dance_actions[] = { 141 switch (biton32(state)) {
104 [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC), 142 case _RAISE:
105 [TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)), 143 rgblight_sethsv_noeeprom (240, 255, 255);
106 [TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)), 144 break;
107 //[TD_PRNT] = ACTION_TAP_DANCE_DOUBLE(PRINT, PRINT_SEL) 145 case _LOWER:
108}; 146 rgblight_sethsv_noeeprom (0, 255, 255);
109 147 break;
110const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { 148 case _ADJUST:
111 if (record->event.pressed) { 149 rgblight_sethsv_noeeprom (0, 0, 255);
112 switch(id) { 150 break;
113 case 0: 151 default:
114 SEND_STRING("sudo su -\n"); 152 rgblight_sethsv_noeeprom (RGB_HUE, 255, 255);
115 return false; break; 153 break;
116 case 1: 154 }
117 SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n"); 155 return state;
118 return false; break; 156}
119 case 2: 157#endif
120 SEND_STRING("ps -ef | grep ");
121 return false; break;
122 case 3: // control + insert
123 return MACRO(D(LCTL), T(INS), U(LCTL), END);
124 break;
125 case 4: // shift + insert
126 return MACRO(D(LSFT), T(INS), U(LSFT), END);
127 break;
128 case 5: // control + alt + delete
129 return MACRO(D(LCTL), D(RALT), T(DEL), U(LCTL), U(LALT), END);
130 break;
131 case 6: // lgui + L
132 return MACRO(D(LGUI), T(L), U(LGUI), END);
133 break;
134 }
135 }
136 return MACRO_NONE;
137};
diff --git a/users/mtdjr/mtdjr.h b/users/mtdjr/mtdjr.h
index 012a35610..3efcb45ec 100644
--- a/users/mtdjr/mtdjr.h
+++ b/users/mtdjr/mtdjr.h
@@ -3,61 +3,79 @@
3 3
4#include "quantum.h" 4#include "quantum.h"
5 5
6#define _QWERTY 0 6// Layers
7#define _LOWER 1 7enum user_enum {
8#define _RAISE 2 8 // Layers
9#define _SUPER 3
10#define _ADJUST 16
11
12enum user_layers {
13 QWERTY = SAFE_RANGE, 9 QWERTY = SAFE_RANGE,
14 LOWER, 10 LOWER,
15 RAISE, 11 RAISE,
16 SUPER, 12 SUPER,
17 ADJUST, 13 ADJUST,
14 // Solenoid
15 SOLENOID_TOG,
16 SOLENOID_DWELL_MINUS,
17 SOLENOID_DWELL_PLUS,
18 SOLENOID_BUZZ_ON,
19 SOLENOID_BUZZ_OFF,
18}; 20};
19 21
22// Macro / Send String
23enum user_macros {
24 ROOT,
25 PPLY,
26 PSEF,
27};
28
29// TapDance
20enum user_tapdance { 30enum user_tapdance {
21 TD_ENDLOCK, 31 TD_ENDLOCK,
22 TD_ALTLOCK, 32 TD_ALTLOCK,
33 TD_PRINT,
23 TD_ESC, 34 TD_ESC,
24}; 35};
25 36
26enum user_solenoid {
27 SOLENOID_TOG,
28 SOLENOID_DWELL_MINUS,
29 SOLENOID_DWELL_PLUS,
30 SOLENOID_BUZZ_ON,
31 SOLENOID_BUZZ_OFF,
32};
33 37
34#define KC_STOG SOLENOID_TOG 38// Layers
35#define KC_SDM SOLENOID_DWELL_MINUS 39#define _QWERTY 0
36#define KC_SDP SOLENOID_DWELL_PLUS 40#define _LOWER 1
37#define KC_SBON SOLENOID_BUZZ_ON 41#define _RAISE 2
38#define KC_SBOF SOLENOID_BUZZ_OFF 42#define _SUPER 3
43#define _ADJUST 16
44
45// Macros
46#define KC_ROOT M(ROOT)
47#define KC_PPLY M(PPLY)
48#define KC_PSEF M(PSEF)
39 49
50// Tapdance
51#define KC_EXC TD(TD_ESC)
52#define KC_ELCK TD(TD_ENDLOCK)
53#define KC_ALCK TD(TD_ALTLOCK)
54#define KC_MPNT TD(TD_PRINT)
55
56// Custom Keycodes
40#define KC_ KC_TRNS 57#define KC_ KC_TRNS
41#define _______ KC_TRNS 58#define _______ KC_TRNS
42#define XXXXXXX KC_NO 59#define XXXXXXX KC_NO
43#define KC_xxxx KC_NO 60#define KC_xxxx KC_NO
44
45#define KC_LOWR LOWER 61#define KC_LOWR LOWER
46#define KC_RASE RAISE 62#define KC_RASE RAISE
47#define KC_SUPR SUPER 63#define KC_SUPR SUPER
48#define KC_RST RESET 64#define KC_RST RESET
49 65
50// TapDance Keycodes 66// Key Combos
51#define KC_EXC TD_ESC 67#define KC_XCPY LCTL(KC_INS)
68#define KC_XINS LSFT(KC_INS)
69#define KC_CAD LCTL(LALT(KC_DEL))
70#define KC_XCAD LCTL(LALT(KC_DEL))
71#define KC_XLCK LGUI(KC_L)
52 72
53// Macro Declarations 73// Solenoid
54#define KC_ROOT M(0) 74#define KC_STOG SOLENOID_TOG
55#define KC_PPLY M(1) 75#define KC_SDM SOLENOID_DWELL_MINUS
56#define KC_PSEF M(2) 76#define KC_SDP SOLENOID_DWELL_PLUS
57#define KC_XCPY M(3) 77#define KC_SBON SOLENOID_BUZZ_ON
58#define KC_XINS M(4) 78#define KC_SBOF SOLENOID_BUZZ_OFF
59#define KC_CAD M(5)
60#define UM_LOCK M(6)
61 79
62// RGB and Backlighting 80// RGB and Backlighting
63#define KC_RGB RGB_TOG 81#define KC_RGB RGB_TOG
@@ -67,10 +85,17 @@ enum user_solenoid {
67#define KC_RSAD RGB_SAD 85#define KC_RSAD RGB_SAD
68#define KC_RVAI RGB_VAI 86#define KC_RVAI RGB_VAI
69#define KC_RVAD RGB_VAD 87#define KC_RVAD RGB_VAD
88#define KC_MOD RGB_MOD
89#define KC_RMOD RGB_RMOD
90#define KC_RPLN RGB_M_P
91#define KC_RBTH RGB_M_B
70#define KC_BLT BL_TOGG 92#define KC_BLT BL_TOGG
71#define KC_BLS BL_STEP 93#define KC_BLS BL_STEP
72#define KC_BLI BL_INC 94#define KC_BLI BL_INC
73#define KC_BLD BL_DEC 95#define KC_BLD BL_DEC
96#define KC_BLB BL_BRTG
97#define KC_BLON BL_ON
98#define KB_BLOF BL_OFF
74 99
75 100
76#endif 101#endif
diff --git a/users/mtdjr/solenoid.h b/users/mtdjr/solenoid.h
index 38066f4c3..a911bf794 100644
--- a/users/mtdjr/solenoid.h
+++ b/users/mtdjr/solenoid.h
@@ -4,13 +4,17 @@
4#include <timer.h> 4#include <timer.h>
5#include "pincontrol.h" 5#include "pincontrol.h"
6 6
7
7#define SOLENOID_DEFAULT_DWELL 12 8#define SOLENOID_DEFAULT_DWELL 12
8#define SOLENOID_MAX_DWELL 100 9#define SOLENOID_MAX_DWELL 100
9#define SOLENOID_MIN_DWELL 4 10#define SOLENOID_MIN_DWELL 4
10#ifndef SOLENOID_ACTIVE 11#ifndef SOLENOID_ACTIVE
11 #define SOLENOID_ACTIVE false 12 #define SOLENOID_ACTIVE false
12#endif 13#endif
13//#define SOLENOID_PIN F6 14#ifndef SOLENOID_PIN
15 #define SOLENOID_PIN F6
16#endif
17
14 18
15bool solenoid_enabled = SOLENOID_ACTIVE; 19bool solenoid_enabled = SOLENOID_ACTIVE;
16bool solenoid_on = false; 20bool solenoid_on = false;
@@ -92,12 +96,4 @@ void solenoid_setup(void) {
92 pinMode(SOLENOID_PIN, PinDirectionOutput); 96 pinMode(SOLENOID_PIN, PinDirectionOutput);
93} 97}
94 98
95void matrix_init_user(void) {
96 solenoid_setup();
97}
98
99void matrix_scan_user(void) {
100 solenoid_check();
101}
102
103#endif 99#endif