2 Copyright 2018 Cole Markham
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.
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.
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/>.
18 #include QMK_KEYBOARD_H
21 extern rgblight_config_t rgblight_config;
23 enum custom_keycodes {
32 //Tap Dance Declarations
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)) {
46 print("Single tapped: ");
47 if (layer_state_is(LED)) {
48 #ifdef RGBLIGHT_ENABLE
49 if (!rgblight_config.enable) {
55 println("Base layer, sending string");
56 SEND_STRING("This thing is BIG!!\n");
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
67 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
79 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
84 void matrix_init_user(void) {
87 void matrix_scan_user(void) {
90 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
91 // Nothing here, see dance_toggle
95 void led_set_user(uint8_t usb_led) {
97 if (usb_led & (1 << USB_LED_NUM_LOCK)) {
103 if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
109 if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
115 if (usb_led & (1 << USB_LED_COMPOSE)) {
121 if (usb_led & (1 << USB_LED_KANA)) {