Merge remote-tracking branch 'origin/master' into develop

master
QMK Bot 2022-03-24 05:24:12 +00:00
commit 1ac1f92000
3 changed files with 60 additions and 1 deletions

View File

@ -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

View File

@ -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) {

View File

@ -0,0 +1,2 @@
# uncomment below to disable fake capslock
# OPT_DEFS += -DNO_FAKE_CAPS