1
0
Fork 0

new planck keymap, new feature - hybrid shift/enter action key (great for small keyboards!) (#2100)

* new planck keymap, new feature - hybrid shift/enter action key (great for small keyboards!)

* corrected documentation to specify rules.mk file instead of Makefile
This commit is contained in:
Zach Richard 2017-12-14 00:20:44 -05:00 committed by Jack Humbert
parent 56f266173c
commit 8a1e656099
6 changed files with 785 additions and 0 deletions

View file

@ -162,6 +162,11 @@ void reset_keyboard(void) {
#define RSPC_KEY KC_0
#endif
// Shift / Enter setup
#ifndef SFTENT_KEY
#define SFTENT_KEY KC_ENT
#endif
static bool shift_interrupted[2] = {0, 0};
static uint16_t scs_timer[2] = {0, 0};
@ -552,6 +557,24 @@ bool process_record_quantum(keyrecord_t *record) {
}
return false;
}
case KC_SFTENT: {
if (record->event.pressed) {
shift_interrupted[1] = false;
scs_timer[1] = timer_read ();
register_mods(MOD_BIT(KC_RSFT));
}
else if (!shift_interrupted[1] && timer_elapsed(scs_timer[1]) < TAPPING_TERM) {
unregister_mods(MOD_BIT(KC_RSFT));
register_code(SFTENT_KEY);
unregister_code(SFTENT_KEY);
}
else {
unregister_mods(MOD_BIT(KC_RSFT));
}
return false;
}
case GRAVE_ESC: {
uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)
|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)));