[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 <git@zvecr.com> * corrected tap dance * Update config.h * correct image link * Apply suggestions from code review Co-authored-by: Ryan <fauxpark@gmail.com> * added GPL headers * Update readme.md Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
		
							parent
							
								
									bf959d79dc
								
							
						
					
					
						commit
						b7b82d509b
					
				
					 7 changed files with 208 additions and 0 deletions
				
			
		
							
								
								
									
										55
									
								
								keyboards/leafcutterlabs/bigknob/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								keyboards/leafcutterlabs/bigknob/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 <http://www.gnu.org/licenses/>. 
 | 
			
		||||
  */ 
 | 
			
		||||
  
 | 
			
		||||
#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)
 | 
			
		||||
  )
 | 
			
		||||
};
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue