Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						1ac1f92000
					
				
					 3 changed files with 60 additions and 1 deletions
				
			
		|  | @ -14,3 +14,17 @@ | |||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| #include "pro.h" | ||||
| 
 | ||||
| #ifdef ENCODER_ENABLE | ||||
| bool encoder_update_kb(uint8_t index, bool clockwise) { | ||||
|     if (!encoder_update_user(index, clockwise)) { | ||||
|         return false; | ||||
|     } | ||||
|     if (clockwise) { | ||||
|         tap_code_delay(KC_VOLU, 10); | ||||
|     } else { | ||||
|         tap_code_delay(KC_VOLD, 10); | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| #endif | ||||
|  |  | |||
|  | @ -15,6 +15,10 @@ enum layer_names { | |||
| 
 | ||||
| typedef enum onoff_t {OFF, ON} onoff; | ||||
| 
 | ||||
| #define caps_led_on  ergodox_right_led_2_on | ||||
| #define caps_led_off ergodox_right_led_2_off | ||||
| 
 | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| /* Keymap 0: Basic layer
 | ||||
|  * | ||||
|  | @ -123,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
|  */ | ||||
|     // MEDIA AND TENKEY
 | ||||
|     [MDIA] = LAYOUT_ergodox( | ||||
|        KC_NO,   KC_NO,   KC_MUTE, KC_VOLD, KC_VOLU, KC_F14,  KC_F15, | ||||
|        QK_BOOT, KC_NO,   KC_MUTE, KC_VOLD, KC_VOLU, KC_F14,  KC_F15, | ||||
|        KC_TRNS, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, | ||||
|        KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, | ||||
|        KC_TRNS, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, | ||||
|  | @ -142,6 +146,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
|        KC_TRNS, KC_TRNS, KC_TRNS | ||||
|     ), | ||||
| }; | ||||
| #ifndef NO_FAKE_CAPS | ||||
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||
|     static onoff caps_state = OFF; | ||||
| 
 | ||||
|     switch (keycode) { | ||||
|         case KC_CAPS: | ||||
|             if (record->event.pressed) { | ||||
|                 if (caps_state == OFF) { | ||||
|                     caps_led_on(); | ||||
|                     caps_state = ON; | ||||
|                 } else { | ||||
|                     caps_led_off(); | ||||
|                     caps_state = OFF; | ||||
|                 } | ||||
|             } | ||||
|             break; | ||||
|         default: | ||||
|             if (keycode < KC_A || keycode > KC_Z) { | ||||
|                 // This isn't an alpha or a KC_CAPS, continue on as usual.
 | ||||
|                 return true; | ||||
|             } | ||||
|             if (record->event.pressed) { | ||||
|                 bool shifted = (caps_state == ON && get_mods() == 0); | ||||
|                 if (shifted) { | ||||
|                     register_code(KC_LSFT); | ||||
|                 } | ||||
|                 register_code(keycode); | ||||
|                 if (shifted) { | ||||
|                     unregister_code(KC_LSFT); | ||||
|                 } | ||||
|             } else { | ||||
|                 unregister_code(keycode); | ||||
|             } | ||||
|             break; | ||||
|     } | ||||
|     // If we get here, we've already handled the keypresses.
 | ||||
|     return false; | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| // Runs constantly in the background, in a loop.
 | ||||
| void matrix_scan_user(void) { | ||||
|  |  | |||
|  | @ -0,0 +1,2 @@ | |||
| # uncomment below to disable fake capslock
 | ||||
| # OPT_DEFS += -DNO_FAKE_CAPS
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 QMK Bot
						QMK Bot