~ruther/qmk_firmware

1ac1f9200092627432e3b5f2c3c74b8ffe9164d2 — QMK Bot 3 years ago 7e69348 + 980a1b0
Merge remote-tracking branch 'origin/master' into develop
M keyboards/gmmk/pro/pro.c => keyboards/gmmk/pro/pro.c +14 -0
@@ 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

M layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c => layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c +44 -1
@@ 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) {

A layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/rules.mk => layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/rules.mk +2 -0
@@ 0,0 1,2 @@
# uncomment below to disable fake capslock
# OPT_DEFS += -DNO_FAKE_CAPS