~ruther/qmk_firmware

a1fa70f94ddddcd6b51914a89cee7218ae1281ce — U-LANDSRAAD\drashna 7 years ago d8f0faa
Add toggle option to AutoShift
M keyboards/ergodox_ez/keymaps/drashna/keymap.c => keyboards/ergodox_ez/keymaps/drashna/keymap.c +1 -1
@@ 294,7 294,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                KC_I,       KC_O,       KC_NO,      KC_NO,      KC_NO,      KC_NO,
                TG(_GAMEPAD),   KC_N,       KC_M,       KC_NO,      KC_NO,      KC_NO,      KC_NO,
                                            KC_LEFT,    KC_DOWN,    KC_UP,      KC_RIGHT,      KC_NO,
                KC_NO,          KC_NO,
                KC_ASTG,          KC_NO,
                KC_NO,
                KC_PGDOWN,      KC_DELETE, KC_ENTER
            ),

M quantum/process_keycode/process_auto_shift.c => quantum/process_keycode/process_auto_shift.c +13 -0
@@ 34,6 34,8 @@ uint16_t autoshift_time = 0;
uint16_t autoshift_timeout = AUTO_SHIFT_TIMEOUT;
uint16_t autoshift_lastkey = KC_NO;

bool autoshift_enabled = true;

void autoshift_timer_report(void) {
  char display[8];



@@ 84,6 86,15 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) {
        autoshift_timer_report();
        return false;

      case KC_ASTG:
        if (autoshift_enabled) {
          autoshift_enabled = false;
          autoshift_flush();
        }
        else {
          autoshift_enabled = true;
        }

#ifndef NO_AUTO_SHIFT_ALPHA
      case KC_A:
      case KC_B:


@@ 137,6 148,8 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) {
      case KC_DOT:
      case KC_SLSH:
#endif
        if (!autoshift_enabled) return true;

        autoshift_flush();

        any_mod_pressed = get_mods() & (

M quantum/quantum_keycodes.h => quantum/quantum_keycodes.h +3 -0
@@ 121,10 121,13 @@ enum quantum_keycodes {
    KC_LEAD,
#endif

#ifdef AUTO_SHIFT_ENABLE
    // Auto Shift setup
    KC_ASUP,
    KC_ASDN,
    KC_ASRP,
    KC_ASTG,
#endif // AUTO_SHIFT_ENABLE

    // Audio on/off/toggle
    AU_ON,