]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/wanleg/wanleg.c
Keymap: Wanleg updates (#3794)
[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 SUBTER:
45       if (record->event.pressed) {
46         layer_on(SUB);
47       } else {
48         layer_off(SUB);
49       }
50       return false;
51       break;
52     case SUPRA:
53       if (record->event.pressed) {
54         layer_on(SUP);
55       } else {
56         layer_off(SUP);
57       }
58       return false;
59       break;
60         case NUMBER:
61       if (record->event.pressed) {
62         layer_on(NUM);
63       } else {
64         layer_off(NUM);
65       }
66       return false;
67       break;
68         case DIRECTION:
69       if (record->event.pressed) {
70         layer_on(DIR);
71       } else {
72         layer_off(DIR);
73       }
74       return false;
75       break;
76         case ETCETERA:
77       if (record->event.pressed) {
78         layer_on(ETC);
79       } else {
80         layer_off(ETC);
81       }
82       return false;
83       break;
84   case gNUMBER:
85       if (record->event.pressed) {
86         layer_on(gNUM);
87       } else {
88         layer_off(gNUM);
89       }
90       return false;
91       break;
92   case gDIRECTION:
93       if (record->event.pressed) {
94         layer_on(gDIR);
95       } else {
96         layer_off(gDIR);
97       }
98       return false;
99       break;
100         case gETCETERA:
101       if (record->event.pressed) {
102         layer_on(gETC);
103       } else {
104         layer_off(gETC);
105       }
106       return false;
107       break;
108         case SUBTER75:
109       if (record->event.pressed) {
110         layer_on(SUB75);
111       } else {
112         layer_off(SUB75);
113       }
114       return false;
115       break;
116         case SUPRA75:
117       if (record->event.pressed) {
118         layer_on(SUP75);
119       } else {
120         layer_off(SUP75);
121       }
122       return false;
123       break;
124         case NUMBER75:
125       if (record->event.pressed) {
126         layer_on(NUM75);
127       } else {
128         layer_off(NUM75);
129       }
130       return false;
131       break;
132         case DIRECTION75:
133       if (record->event.pressed) {
134         layer_on(DIR75);
135       } else {
136         layer_off(DIR75);
137       }
138       return false;
139       break;
140         case ETCETERA75:
141       if (record->event.pressed) {
142         layer_on(ETC75);
143       } else {
144         layer_off(ETC75);
145       }
146       return false;
147       break;
148         case FUNCTION75:
149       if (record->event.pressed) {
150         layer_on(FN75);
151       } else {
152         layer_off(FN75);
153       }
154       return false;
155       break;
156   }
157   return true;
158 }
159
160 /// Turn off LEDs on ProMicros of Let's Split ///
161 // LEDs only on by default on Let's Split
162 // Add reconfigurable functions here, for keymap customization
163 // This allows for a global, userspace functions, and continued
164 // customization of the keymap.  Use _keymap instead of _user
165 // functions in the keymaps
166 __attribute__ ((weak))
167 void matrix_init_keymap(void) {}
168
169 // Call user matrix init, then call the keymap's init function
170 void matrix_init_user(void) {
171 #if defined(KEYBOARD_lets_split_rev2)
172   DDRD &= ~(1<<5);
173   PORTD &= ~(1<<5);
174
175   DDRB &= ~(1<<0);
176   PORTB &= ~(1<<0);
177 #endif
178   matrix_init_keymap();
179 }