]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
e2eeed6fa9c47ececdaac25dc3c28a4167f6df2e
[qmk_firmware.git] / keyboards / ergodox_ez / keymaps / hacker_dvorak / user / layer_set_state_user.c
1
2 uint32_t layer_state_set_user(uint32_t state) {
3     uint8_t layer = biton32(state);
4
5     switch (layer) {
6         case DVORAK:
7             rgblight_sethsv_noeeprom_green();
8             rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
9
10             if (PLOVER_MODE) {
11                 plover_toggle();
12                 PLOVER_MODE = false;
13             }
14
15             break;
16
17         case PLOVER:
18             rgblight_sethsv_noeeprom_red();
19             rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
20
21             if (!(PLOVER_MODE)) {
22                 plover_toggle();
23                 PLOVER_MODE = true;
24             }
25
26             break;
27
28         case GAMING:
29             rgblight_sethsv_noeeprom_red();
30             rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
31
32             if (PLOVER_MODE) {
33                 plover_toggle();
34                 PLOVER_MODE = false;
35             }
36
37             break;
38
39         case ARROWS:
40             rgblight_sethsv_noeeprom_blue();
41             rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
42
43             if (PLOVER_MODE) {
44                 plover_toggle();
45                 PLOVER_MODE = false;
46             }
47
48             break;
49
50         case MOUSE:
51             rgblight_sethsv_noeeprom_blue();
52             rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
53
54             if (PLOVER_MODE) {
55                 plover_toggle();
56                 PLOVER_MODE = false;
57             }
58
59             break;
60
61         case NUMPAD:
62             rgblight_sethsv_noeeprom_blue();
63             rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
64
65             if (PLOVER_MODE) {
66                 plover_toggle();
67                 PLOVER_MODE = false;
68             }
69
70             break;
71
72         case LAYERS:
73             rgblight_sethsv_noeeprom_cyan();
74             rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
75
76             if (PLOVER_MODE) {
77                 plover_toggle();
78                 PLOVER_MODE = false;
79             }
80
81             break;
82
83         case MEDIA_FN:
84             rgblight_sethsv_noeeprom_yellow();
85             rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
86
87             if (PLOVER_MODE) {
88                 plover_toggle();
89                 PLOVER_MODE = false;
90             }
91
92             break;
93
94         case HYPER:
95             rgblight_sethsv_noeeprom_magenta();
96             rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
97
98             if (PLOVER_MODE) {
99                 plover_toggle();
100                 PLOVER_MODE = false;
101             }
102
103             break;
104
105         case FIRMWARE:
106             rgblight_sethsv_noeeprom_magenta();
107             rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
108
109             if (PLOVER_MODE) {
110                 plover_toggle();
111                 PLOVER_MODE = false;
112             }
113
114             break;
115
116         default:
117             break;
118     }
119
120     return state;
121 }