You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					92 lines
				
				2.1 KiB
			
		
		
			
		
	
	
					92 lines
				
				2.1 KiB
			| 
								 
											7 years ago
										 
									 | 
							
								#include QMK_KEYBOARD_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Each layer gets a name for readability, which is then used in the keymap matrix below.
							 | 
						||
| 
								 | 
							
								// The underscores don't mean anything - you can have a layer called STUFF or any other name.
							 | 
						||
| 
								 | 
							
								// Layer names don't all need to be of the same length, obviously, and you can also skip them
							 | 
						||
| 
								 | 
							
								// entirely and just use numbers.
							 | 
						||
| 
								 | 
							
								enum honeycomb_layers {
							 | 
						||
| 
								 | 
							
									_BS,
							 | 
						||
| 
								 | 
							
									_EN
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Macro definitions for readability
							 | 
						||
| 
								 | 
							
								enum honeycomb_keycodes {
							 | 
						||
| 
								 | 
							
									HW = SAFE_RANGE,
							 | 
						||
| 
								 | 
							
									COPY,
							 | 
						||
| 
								 | 
							
									PASTA
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern int8_t encoderValue;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
							 | 
						||
| 
								 | 
							
									[_BS] = LAYOUT( /* Base layout, put whatever defaults. */
							 | 
						||
| 
								 | 
							
										HW,      COPY,    PASTA,   KC_MUTE,
							 | 
						||
| 
								 | 
							
										KC_4,    KC_5,    KC_6,    KC_7,
							 | 
						||
| 
								 | 
							
								    KC_8,    KC_9,    KC_A,    KC_B,
							 | 
						||
| 
								 | 
							
										KC_C,    KC_D,    KC_E,    KC_F
							 | 
						||
| 
								 | 
							
									),
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									[_EN] = LAYOUT( /* Alternate layer */
							 | 
						||
| 
								 | 
							
										_______, _______, _______, _______,
							 | 
						||
| 
								 | 
							
										_______, _______, _______, _______,
							 | 
						||
| 
								 | 
							
										_______, _______, _______, _______,
							 | 
						||
| 
								 | 
							
										_______, _______, _______, _______
							 | 
						||
| 
								 | 
							
									)
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								report_mouse_t currentReport = {};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								bool process_record_user(uint16_t keycode, keyrecord_t *record) {
							 | 
						||
| 
								 | 
							
									//uint8_t layer = biton32(layer_state);  // get the current layer
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									// Basic example functions
							 | 
						||
| 
								 | 
							
									switch (keycode) {
							 | 
						||
| 
								 | 
							
										case HW:
							 | 
						||
| 
								 | 
							
											if (record->event.pressed) {
							 | 
						||
| 
								 | 
							
													SEND_STRING("Hello, world!");
							 | 
						||
| 
								 | 
							
												} else {
							 | 
						||
| 
								 | 
							
													SEND_STRING("Goodbye, cruel world!");
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
											case COPY:
							 | 
						||
| 
								 | 
							
												if (record->event.pressed) {
							 | 
						||
| 
								 | 
							
													tap_code16(LCTL(KC_C)); // Replace with tap_code16(LCMD(KC_C)) to enable for Mac
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
											case PASTA:
							 | 
						||
| 
								 | 
							
												if (record->event.pressed) {
							 | 
						||
| 
								 | 
							
													tap_code16(LCTL(KC_V)); // Replace with tap_code16(LCMD(KC_V)) to enable for Mac
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										return false;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									return true;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void matrix_scan_user(void) {
							 | 
						||
| 
								 | 
							
									/* Leaving some LED stuff in here in comment form so you can see how to use it.
							 | 
						||
| 
								 | 
							
								    if (shiftLED || capsLED){
							 | 
						||
| 
								 | 
							
										red_led_on;
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
										red_led_off;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (numLED){
							 | 
						||
| 
								 | 
							
										grn_led_on;
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
										grn_led_off;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (mouseLED){
							 | 
						||
| 
								 | 
							
										blu_led_on;
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
										blu_led_off;
							 | 
						||
| 
								 | 
							
									}*/
							 | 
						||
| 
								 | 
							
									while (encoderValue < 0){
							 | 
						||
| 
								 | 
							
										tap_code(KC_VOLD);
							 | 
						||
| 
								 | 
							
										encoderValue++;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									while (encoderValue > 0){
							 | 
						||
| 
								 | 
							
										tap_code(KC_VOLU);
							 | 
						||
| 
								 | 
							
										encoderValue--;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								};
							 |