29 Jun 2022 |
Flarefin | genkey | 20:44:23 |
escape semification | genkey more like janky 😹 | 20:44:49 |
Flarefin | does ur analyzer list the dsfbs | 20:44:56 |
Flarefin | maybe u could figure it out from that | 20:45:05 |
Flarefin | yea genkey still gets similar on shai | 20:48:23 |
escape semification | it doesn't but i can maybe check manually | 21:04:28 |
w | contextual repeat/shift is just this easy 😋 uint16_t key = 0;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if(record->event.pressed) {
if(keycode == REPEAT) {
if(key == KC_SPACE) {
add_oneshot_mods(MOD_BIT(KC_LSFT));
} else {
tap_code(key);
}
return false;
} else {
key = keycode;
return true;
}
}
return true;
}; | 21:17:52 |
w | layers fucking baffle me tho what | 21:31:49 |
escape semification | what does this do | 21:33:34 |
w | it repeats the last letter unless it was space and then it acts as a oneshot shift | 21:33:59 |
w | so for 99% of english typing it can be both without issue 😋 | 21:34:28 |
w | * it repeats the last letter unless it was space in which case it'll acts as a oneshot shift | 21:35:14 |
Desshaw | Might not work at the start of a sentence? | 21:39:47 |
Desshaw | I mean, when you start typing something. Not when you are already typing obv | 21:40:57 |
Desshaw | * Might not work at the start of a sentence? | 21:41:06 |
Desshaw | * Might not work at the start of a sentence? | 21:41:14 |
w | I can always add a timeout | 21:41:53 |
w | but ya | 21:42:11 |
Desshaw | Oh, that should solve this. That's nice then. | 21:42:36 |
Desshaw | * Oh, that should solve this. That's really nice then. | 21:42:41 |
Desshaw | Also, it should also be shift if last keycode was enter | 21:43:44 |
w | uint16_t key = 0;
static uint16_t key_timer;
key_timer = timer_read();
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if(record->event.pressed) {
if(keycode == REPEAT) {
if(key == KC_SPACE || key == KC_ENTER || key_timer > 500) {
add_oneshot_mods(MOD_BIT(KC_LSFT));
} else {
tap_code(key);
}
key_timer = timer_read();
return false;
} else {
key = keycode;
return true;
}
}
return true;
}; | 21:45:23 |
w | oh uym | 21:45:55 |
w | maybe not | 21:45:56 |
w | maybe this uint16_t key = 0;
static uint16_t key_timer;
key_timer = timer_read();
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if(record->event.pressed) {
if(keycode == REPEAT) {
if(key == KC_SPACE || KC_ENTER || key_timer > 500) {
add_oneshot_mods(MOD_BIT(KC_LSFT));
} else {
tap_code(key);
}
key_timer = timer_read();
return false;
} else {
key = keycode;
key_timer = timer_read();
return true;
}
}
return true;
}; | 21:46:37 |
w | okay still messing with it ignore me | 21:48:30 |
w | I had a type .. I think this works uint16_t key = 0;
int key_timer = 1000;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if(record->event.pressed) {
if(keycode == REPEAT) {
if(key == KC_SPACE || key == KC_ENTER || timer_elapsed(key_timer) > 500) {
add_oneshot_mods(MOD_BIT(KC_LSFT));
} else {
tap_code(key);
}
return false;
} else {
key = keycode;
key_timer = timer_read();
return true;
}
}
return true;
}; | 22:00:07 |
w | * I had a typo .. I think this works uint16_t key = 0;
int key_timer = 1000;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if(record->event.pressed) {
if(keycode == REPEAT) {
if(key == KC_SPACE || key == KC_ENTER || timer_elapsed(key_timer) > 500) {
add_oneshot_mods(MOD_BIT(KC_LSFT));
} else {
tap_code(key);
}
return false;
} else {
key = keycode;
key_timer = timer_read();
return true;
}
}
return true;
}; | 22:00:13 |
escape semification | you had a taipo | 22:18:13 |
<3 | when the the joke is made | 22:20:28 |