From b7b82d509bfccd69c6507761f03910f34b4366cb Mon Sep 17 00:00:00 2001 From: Craig Gardner <40006110+LeafCutterLabs@users.noreply.github.com> Date: Wed, 6 Jan 2021 10:00:05 -0800 Subject: [Keyboard] add support for bigknob (#11291) * add support for bigknob Add support for bigknob macropad * corrected files * Apply suggestions from code review Co-authored-by: Joel Challis * corrected tap dance * Update config.h * correct image link * Apply suggestions from code review Co-authored-by: Ryan * added GPL headers * Update readme.md Co-authored-by: Joel Challis Co-authored-by: Ryan --- .../bigknob/keymaps/default/keymap.c | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 keyboards/leafcutterlabs/bigknob/keymaps/default/keymap.c (limited to 'keyboards/leafcutterlabs/bigknob/keymaps/default/keymap.c') diff --git a/keyboards/leafcutterlabs/bigknob/keymaps/default/keymap.c b/keyboards/leafcutterlabs/bigknob/keymaps/default/keymap.c new file mode 100644 index 0000000000..999d3c4347 --- /dev/null +++ b/keyboards/leafcutterlabs/bigknob/keymaps/default/keymap.c @@ -0,0 +1,55 @@ +/* Copyright 2021 Craig Gardner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +#define _MAIN 0 + +void encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } +} + +enum { + TD_RGB = 0 +}; + +void dance_rgb_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + tap_code(KC_MNXT); + } else if (state->count == 2) { + rgblight_toggle(); + } else if (state->count == 3) { + rgblight_step(); + } +} + +//All tap dance functions would go here. Only showing this one. +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_RGB] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_rgb_finished, NULL) +}; + +// +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //buttion closest to usb is first + [_MAIN] = LAYOUT( + KC_MUTE, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_STOP, TD(TD_RGB) + ) +}; -- cgit v1.2.3