]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/wanleg/wanleg.c
f22c34ba30faedc28ef7e93cbcac2864d7a4bb9c
[qmk_firmware.git] / users / wanleg / wanleg.c
1 #include "wanleg.h"
2
3 // Defines actions for my global custom keycodes. Defined in wanleg.h file
4 // Then runs the _keymap's record handier if not processed here
5 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
6   switch (keycode) {
7     case QWERTY:
8       if (record->event.pressed) {
9         print("mode just switched to qwerty and this is a huge string\n");
10         set_single_persistent_default_layer(_QW);
11       }
12       return false;
13       break;
14     case GHERKIN:
15       if (record->event.pressed) {
16         set_single_persistent_default_layer(_GK);
17       }
18       return false;
19       break;
20     case gGHERKIN:
21       if (record->event.pressed) {
22         set_single_persistent_default_layer(gGK);
23       }
24       return false;
25       break;
26     case ONEHAND:
27     if (record->event.pressed) {
28       set_single_persistent_default_layer(ONE);
29       }
30       return false;
31       break;
32     case QWERTY75:
33     if (record->event.pressed) {
34       set_single_persistent_default_layer(QW75);
35       }
36       return false;
37       break;
38     case GHERKIN75:
39     if (record->event.pressed) {
40       set_single_persistent_default_layer(GK75);
41       }
42       return false;
43       break;
44     case NUMPAD:
45     if (record->event.pressed) {
46       set_single_persistent_default_layer(PAD);
47       }
48       return false;
49       break;
50     case SUBTER:
51       if (record->event.pressed) {
52         layer_on(SUB);
53       } else {
54         layer_off(SUB);
55       }
56       return false;
57       break;
58     case SUPRA:
59       if (record->event.pressed) {
60         layer_on(SUP);
61       } else {
62         layer_off(SUP);
63       }
64       return false;
65       break;
66         case NUMBER:
67       if (record->event.pressed) {
68         layer_on(NUM);
69       } else {
70         layer_off(NUM);
71       }
72       return false;
73       break;
74         case DIRECTION:
75       if (record->event.pressed) {
76         layer_on(DIR);
77       } else {
78         layer_off(DIR);
79       }
80       return false;
81       break;
82         case ETCETERA:
83       if (record->event.pressed) {
84         layer_on(ETC);
85       } else {
86         layer_off(ETC);
87       }
88       return false;
89       break;
90   case gNUMBER:
91       if (record->event.pressed) {
92         layer_on(gNUM);
93       } else {
94         layer_off(gNUM);
95       }
96       return false;
97       break;
98   case gDIRECTION:
99       if (record->event.pressed) {
100         layer_on(gDIR);
101       } else {
102         layer_off(gDIR);
103       }
104       return false;
105       break;
106         case gETCETERA:
107       if (record->event.pressed) {
108         layer_on(gETC);
109       } else {
110         layer_off(gETC);
111       }
112       return false;
113       break;
114         case SUBTER75:
115       if (record->event.pressed) {
116         layer_on(SUB75);
117       } else {
118         layer_off(SUB75);
119       }
120       return false;
121       break;
122         case SUPRA75:
123       if (record->event.pressed) {
124         layer_on(SUP75);
125       } else {
126         layer_off(SUP75);
127       }
128       return false;
129       break;
130         case NUMBER75:
131       if (record->event.pressed) {
132         layer_on(NUM75);
133       } else {
134         layer_off(NUM75);
135       }
136       return false;
137       break;
138         case DIRECTION75:
139       if (record->event.pressed) {
140         layer_on(DIR75);
141       } else {
142         layer_off(DIR75);
143       }
144       return false;
145       break;
146         case ETCETERA75:
147       if (record->event.pressed) {
148         layer_on(ETC75);
149       } else {
150         layer_off(ETC75);
151       }
152       return false;
153       break;
154         case FUNCTION75:
155       if (record->event.pressed) {
156         layer_on(FN75);
157       } else {
158         layer_off(FN75);
159       }
160       return false;
161       break;
162   }
163   return true;
164 }
165
166 /// Turn off LEDs on ProMicros of Let's Split ///
167 // LEDs only on by default on Let's Split
168 // Add reconfigurable functions here, for keymap customization
169 // This allows for a global, userspace functions, and continued
170 // customization of the keymap.  Use _keymap instead of _user
171 // functions in the keymaps
172 __attribute__ ((weak))
173 void matrix_init_keymap(void) {}
174
175 // Call user matrix init, then call the keymap's init function
176 void matrix_init_user(void) {
177 #if defined(KEYBOARD_lets_split_rev2)
178   DDRD &= ~(1<<5);
179   PORTD &= ~(1<<5);
180
181   DDRB &= ~(1<<0);
182   PORTB &= ~(1<<0);
183 #endif
184   matrix_init_keymap();
185 }