forked from mfulz_github/qmk_firmware
		
	Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
		
						commit
						9c4e294887
					
				@ -14,3 +14,17 @@
 | 
				
			|||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#include "pro.h"
 | 
					#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;
 | 
					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] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
/* Keymap 0: Basic layer
 | 
					/* Keymap 0: Basic layer
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@ -123,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
    // MEDIA AND TENKEY
 | 
					    // MEDIA AND TENKEY
 | 
				
			||||||
    [MDIA] = LAYOUT_ergodox(
 | 
					    [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_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_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,
 | 
					       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
 | 
					       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.
 | 
					// Runs constantly in the background, in a loop.
 | 
				
			||||||
void matrix_scan_user(void) {
 | 
					void matrix_scan_user(void) {
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					# uncomment below to disable fake capslock
 | 
				
			||||||
 | 
					# OPT_DEFS += -DNO_FAKE_CAPS
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user