]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/bigseries/keymaps/leddance/keymap.c
Merge branch 'master' of github.com:qmk/qmk_firmware into hf/shinydox
[qmk_firmware.git] / keyboards / bigseries / keymaps / leddance / keymap.c
1 /*
2 Copyright 2018 Cole Markham
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 */
17
18 #include QMK_KEYBOARD_H
19
20
21 extern rgblight_config_t rgblight_config;
22
23 enum custom_keycodes {
24   BL = SAFE_RANGE
25 };
26
27 enum custom_layers {
28   BASE = 0,
29   LED
30 };
31
32 //Tap Dance Declarations
33 enum {
34   TD_TOGGLE = 0
35 };
36
37 void dance_toggle (qk_tap_dance_state_t *state, void *user_data) {
38   if (state->count >= 2) {
39     println("Double tapped, switching layers");
40     if (layer_state_is(LED)) {
41       layer_off(LED);
42     } else {
43       layer_on(LED);
44     }
45   } else {
46     print("Single tapped: ");
47     if (layer_state_is(LED)) {
48 #ifdef RGBLIGHT_ENABLE
49       if (!rgblight_config.enable) {
50         rgblight_enable();
51       }
52       rgblight_step();
53 #endif
54     } else {
55       println("Base layer, sending string");
56       SEND_STRING("This thing is BIG!!\n");
57     }
58   }
59 }
60
61 //Tap Dance Definitions
62 qk_tap_dance_action_t tap_dance_actions[] = {
63   [TD_TOGGLE]  = ACTION_TAP_DANCE_FN(dance_toggle)
64 // Other declarations would go here, separated by commas, if you have them
65 };
66
67 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
68
69 [BASE] = LAYOUT(
70     TD(TD_TOGGLE)),
71 [LED] = LAYOUT(
72     TD(TD_TOGGLE)
73     )
74
75
76 };
77
78
79 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
80   return MACRO_NONE ;
81 }
82
83
84 void matrix_init_user(void) {
85 }
86
87 void matrix_scan_user(void) {
88 }
89
90 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
91   // Nothing here, see dance_toggle
92   return true;
93 }
94
95 void led_set_user(uint8_t usb_led) {
96
97   if (usb_led & (1 << USB_LED_NUM_LOCK)) {
98
99   } else {
100
101   }
102
103   if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
104
105   } else {
106
107   }
108
109   if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
110
111   } else {
112
113   }
114
115   if (usb_led & (1 << USB_LED_COMPOSE)) {
116
117   } else {
118
119   }
120
121   if (usb_led & (1 << USB_LED_KANA)) {
122
123   } else {
124
125   }
126
127 }