Browse Source

clang

pull/16396/head
Teimor Epstein 2 years ago
parent
commit
eb6a06e4ba
7 changed files with 75 additions and 45 deletions
  1. +3
    -3
      keyboards/keychron/q1/rev_0100/keymaps/teimor/config.h
  2. +1
    -1
      keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap_user.h
  3. +11
    -11
      keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c
  4. +19
    -10
      keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.c
  5. +18
    -10
      keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.c
  6. +4
    -0
      keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_user.c
  7. +19
    -10
      keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.c

+ 3
- 3
keyboards/keychron/q1/rev_0100/keymaps/teimor/config.h View File

@ -16,7 +16,7 @@
#pragma once
#undef TAPPING_TERM
#undef TAPPING_TERM
#define TAPPING_TERM 200
/* RGB Matrix Configuration */
@ -27,6 +27,6 @@
# define CAPS_LOCK_INDICATOR_COLOR RGB_RED
# define CAPS_LOCK_INDICATOR_LIGHT_60
# define FN_LAYER_TRANSPARENT_KEYS_OFF
# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
#endif

+ 1
- 1
keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap_user.h View File

@ -37,5 +37,5 @@ enum {
#define KC_LGWIN TD(WIN_CAPS_LANGUAGE_CHANGE)
#define KC_MACFN MO(MAC_FN)
#define KC_WINFN MO(WIN_FN)
#define KC_LMAC LCTL(LGUI(KC_Q))
#define KC_LMAC LCTL(LGUI(KC_Q))
#define KC_MACPS LGUI(LSFT(KC_5))

+ 11
- 11
keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c View File

@ -32,16 +32,17 @@ void rgb_matrix_init_user(void) {
}
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
uint8_t current_layer = get_highest_layer(layer_state|default_layer_state);
uint8_t current_layer = get_highest_layer(layer_state | default_layer_state);
switch (current_layer) {
case MAC_BASE:
case WIN_BASE:
#if defined CAPS_LOCK_INDICATOR_COLOR && defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR);
}
else if (current_layer == MAC_BASE) rgb_matrix_set_color_all(MAC_LAYER_DEFAULT_COLOR);
else if (current_layer == WIN_BASE) rgb_matrix_set_color_all(WIN_LAYER_DEFAULT_COLOR);
} else if (current_layer == MAC_BASE)
rgb_matrix_set_color_all(MAC_LAYER_DEFAULT_COLOR);
else if (current_layer == WIN_BASE)
rgb_matrix_set_color_all(WIN_LAYER_DEFAULT_COLOR);
#endif
break;
case MAC_FN:
@ -49,8 +50,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
#if defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
if (current_layer == MAC_FN) {
rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_not_transparent, MAC_LAYER_DEFAULT_COLOR);
}
else if (current_layer == WIN_FN) {
} else if (current_layer == WIN_FN) {
rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_not_transparent, WIN_LAYER_DEFAULT_COLOR);
}
#endif
@ -69,8 +69,10 @@ void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t l
}
#if defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
else {
if (layer == MAC_BASE) rgb_matrix_set_color(i, MAC_LAYER_DEFAULT_COLOR);
else if (layer == WIN_BASE) rgb_matrix_set_color(i, WIN_LAYER_DEFAULT_COLOR);
if (layer == MAC_BASE)
rgb_matrix_set_color(i, MAC_LAYER_DEFAULT_COLOR);
else if (layer == WIN_BASE)
rgb_matrix_set_color(i, WIN_LAYER_DEFAULT_COLOR);
}
#endif
}
@ -79,9 +81,7 @@ void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t l
bool is_caps_lock_indicator(uint16_t keycode) {
bool indicator = keycode == KC_CAPS || keycode == KC_LGMAC || keycode == KC_LGWIN;
#ifdef CAPS_LOCK_INDICATOR_LIGHT_60
return (KC_A <= keycode && keycode <= KC_CAPS) || \
(KC_LEFT_CTRL <= keycode && keycode <= KC_RIGHT_GUI) || \
keycode == KC_MACFN || keycode == KC_WINFN || indicator;
return (KC_A <= keycode && keycode <= KC_CAPS) || (KC_LEFT_CTRL <= keycode && keycode <= KC_RIGHT_GUI) || keycode == KC_MACFN || keycode == KC_WINFN || indicator;
#else
return indicator;
#endif


+ 19
- 10
keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.c View File

@ -15,25 +15,34 @@
*/
/* macOS CapsLock language change */
static td_tap_t mac_caps_language_tap_state = {
.is_press_action = true,
.state = TD_NONE
};
static td_tap_t mac_caps_language_tap_state = {.is_press_action = true, .state = TD_NONE};
void mac_caps_language_finished(qk_tap_dance_state_t *state, void *user_data) {
mac_caps_language_tap_state.state = current_dance(state);
switch (mac_caps_language_tap_state.state) {
case TD_SINGLE_TAP: register_code(KC_LCTL); register_code(KC_SPACE); break;
case TD_SINGLE_HOLD: register_code(KC_CAPS_LOCK); break;
default: break;
case TD_SINGLE_TAP:
register_code(KC_LCTL);
register_code(KC_SPACE);
break;
case TD_SINGLE_HOLD:
register_code(KC_CAPS_LOCK);
break;
default:
break;
}
}
void mac_caps_language_reset(qk_tap_dance_state_t *state, void *user_data) {
switch (mac_caps_language_tap_state.state) {
case TD_SINGLE_TAP: unregister_code(KC_SPACE); unregister_code(KC_LCTL); break;
case TD_SINGLE_HOLD: unregister_code(KC_CAPS_LOCK); break;
default: break;
case TD_SINGLE_TAP:
unregister_code(KC_SPACE);
unregister_code(KC_LCTL);
break;
case TD_SINGLE_HOLD:
unregister_code(KC_CAPS_LOCK);
break;
default:
break;
}
mac_caps_language_tap_state.state = TD_NONE;
}

+ 18
- 10
keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.c View File

@ -21,14 +21,14 @@ typedef enum {
TD_SINGLE_HOLD,
TD_DOUBLE_TAP,
TD_DOUBLE_HOLD,
TD_DOUBLE_SINGLE_TAP, // Send two single taps
TD_DOUBLE_SINGLE_TAP, // Send two single taps
TD_TRIPLE_TAP,
TD_TRIPLE_HOLD,
TD_TRIPLE_SINGLE_TAP // Send three single tap
} td_state_t;
typedef struct {
bool is_press_action;
bool is_press_action;
td_state_t state;
} td_tap_t;
@ -36,23 +36,31 @@ td_state_t current_dance(qk_tap_dance_state_t *state) {
if (state->count == 1) {
if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
/* Key has not been interrupted, but the key is still held. Means you w ant to send a 'HOLD'. */
else return TD_SINGLE_HOLD;
else
return TD_SINGLE_HOLD;
} else if (state->count == 2) {
/* TD_DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap
action when hitting 'pp'. Suggested use case for this return value is when you want to send two
keystrokes of the key, and not the 'double tap' action/macro. */
if (state->interrupted) return TD_DOUBLE_SINGLE_TAP;
else if (state->pressed) return TD_DOUBLE_HOLD;
else return TD_DOUBLE_TAP;
if (state->interrupted)
return TD_DOUBLE_SINGLE_TAP;
else if (state->pressed)
return TD_DOUBLE_HOLD;
else
return TD_DOUBLE_TAP;
}
/* Assumes no one is trying to type the same letter three times (at least not quickly).
If your tap dance key is 'KC_W', and you want to type "www." quickly - then you will need to add
an exception here to return a 'TD_TRIPLE_SINGLE_TAP', and define that enum just like 'TD_DOUBLE_SINGLE_TAP' */
if (state->count == 3) {
if (state->interrupted) return TD_TRIPLE_SINGLE_TAP;
else if (state->pressed) return TD_TRIPLE_HOLD;
else return TD_TRIPLE_TAP;
if (state->interrupted)
return TD_TRIPLE_SINGLE_TAP;
else if (state->pressed)
return TD_TRIPLE_HOLD;
else
return TD_TRIPLE_TAP;
} else return TD_UNKNOWN;
} else
return TD_UNKNOWN;
}

+ 4
- 0
keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_user.c View File

@ -18,7 +18,11 @@
#include "tap_dance_mac_caps.c"
#include "tap_dance_win_caps.c"
// clang-format off
qk_tap_dance_action_t tap_dance_actions[] = {
[MAC_CAPS_LANGUAGE_CHANGE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, mac_caps_language_finished, mac_caps_language_reset),
[WIN_CAPS_LANGUAGE_CHANGE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, win_caps_language_finished, win_caps_language_reset)
};
// clang-format on

+ 19
- 10
keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.c View File

@ -15,25 +15,34 @@
*/
/* Windows CapsLock language change */
static td_tap_t win_caps_language_tap_state = {
.is_press_action = true,
.state = TD_NONE
};
static td_tap_t win_caps_language_tap_state = {.is_press_action = true, .state = TD_NONE};
void win_caps_language_finished(qk_tap_dance_state_t *state, void *user_data) {
win_caps_language_tap_state.state = current_dance(state);
switch (win_caps_language_tap_state.state) {
case TD_SINGLE_TAP: register_code(KC_LGUI); register_code(KC_SPACE); break;
case TD_SINGLE_HOLD: register_code(KC_CAPS_LOCK); break;
default: break;
case TD_SINGLE_TAP:
register_code(KC_LGUI);
register_code(KC_SPACE);
break;
case TD_SINGLE_HOLD:
register_code(KC_CAPS_LOCK);
break;
default:
break;
}
}
void win_caps_language_reset(qk_tap_dance_state_t *state, void *user_data) {
switch (win_caps_language_tap_state.state) {
case TD_SINGLE_TAP: unregister_code(KC_SPACE); unregister_code(KC_LGUI); break;
case TD_SINGLE_HOLD: unregister_code(KC_CAPS_LOCK); break;
default: break;
case TD_SINGLE_TAP:
unregister_code(KC_SPACE);
unregister_code(KC_LGUI);
break;
case TD_SINGLE_HOLD:
unregister_code(KC_CAPS_LOCK);
break;
default:
break;
}
win_caps_language_tap_state.state = TD_NONE;
}

Loading…
Cancel
Save