Add pcoves's userspace (#9354)
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Pablo COVES <pablo.coves@anatoscope.com>
This commit is contained in:
parent
071e0c2029
commit
facca23315
13 changed files with 375 additions and 0 deletions
127
users/pcoves/tapDance.c
Normal file
127
users/pcoves/tapDance.c
Normal file
|
@ -0,0 +1,127 @@
|
|||
#include "tapDance.h"
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
void left(qk_tap_dance_state_t* state, void* user_data) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
if (state->pressed)
|
||||
tap_code16(S(KC_LBRACKET));
|
||||
else
|
||||
tap_code16(S(KC_9));
|
||||
break;
|
||||
case 2:
|
||||
if (state->pressed)
|
||||
tap_code16(S(KC_COMM));
|
||||
else
|
||||
tap_code(KC_LBRACKET);
|
||||
break;
|
||||
default:
|
||||
reset_tap_dance(state);
|
||||
}
|
||||
}
|
||||
|
||||
void right(qk_tap_dance_state_t* state, void* user_data) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
if (state->pressed)
|
||||
tap_code16(S(KC_RBRACKET));
|
||||
else
|
||||
tap_code16(S(KC_0));
|
||||
break;
|
||||
case 2:
|
||||
if (state->pressed)
|
||||
tap_code16(S(KC_DOT));
|
||||
else
|
||||
tap_code(KC_RBRACKET);
|
||||
break;
|
||||
default:
|
||||
reset_tap_dance(state);
|
||||
}
|
||||
}
|
||||
|
||||
enum { REST, HOLD1, HOLD2, HOLD3 };
|
||||
|
||||
static int Alt = REST;
|
||||
void altFinish(qk_tap_dance_state_t* state, void* user_data) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
if (state->pressed) {
|
||||
register_code(KC_LALT);
|
||||
Alt = HOLD1;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (state->pressed) {
|
||||
register_code(KC_RALT);
|
||||
Alt = HOLD2;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (state->pressed) {
|
||||
register_code(KC_RALT);
|
||||
register_code(KC_RSHIFT);
|
||||
Alt = HOLD3;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
reset_tap_dance(state);
|
||||
}
|
||||
}
|
||||
|
||||
void altReset(qk_tap_dance_state_t* state, void* user_data) {
|
||||
switch (Alt) {
|
||||
case HOLD1:
|
||||
unregister_code(KC_LALT);
|
||||
break;
|
||||
case HOLD2:
|
||||
unregister_code(KC_RALT);
|
||||
break;
|
||||
case HOLD3:
|
||||
unregister_code(KC_RSHIFT);
|
||||
unregister_code(KC_RALT);
|
||||
break;
|
||||
}
|
||||
Alt = REST;
|
||||
}
|
||||
|
||||
static int Ctrl = REST;
|
||||
void ctrlFinish(qk_tap_dance_state_t* state, void* user_data) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
if (state->pressed) {
|
||||
register_code(KC_LCTL);
|
||||
Ctrl = HOLD1;
|
||||
} else {
|
||||
tap_code(KC_ESC);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (state->pressed) {
|
||||
register_code(KC_LGUI);
|
||||
Ctrl = HOLD2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
reset_tap_dance(state);
|
||||
}
|
||||
}
|
||||
|
||||
void ctrlReset(qk_tap_dance_state_t* state, void* user_data) {
|
||||
switch (Ctrl) {
|
||||
case HOLD1:
|
||||
unregister_code(KC_LCTL);
|
||||
break;
|
||||
case HOLD2:
|
||||
unregister_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
Ctrl = REST;
|
||||
}
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
[ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altFinish, altReset),
|
||||
[CTRL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctrlFinish, ctrlReset),
|
||||
[LEFT] = ACTION_TAP_DANCE_FN(left),
|
||||
[RIGHT] = ACTION_TAP_DANCE_FN(right),
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue