Danielo515/redox (#8232)
* feat(build): added script for compiling with docker easily * chore: bring my own build with docker to master * chore: delete a file that does not make sense anymore * feat: first redox for danielo * chore: basic compatibility between redox and my space * refactor: removed some old stuff * feat: added go coding symbols * feat: name control_k and alt_j * chore: reduce combo term * feat: improved first layer of redox * feat: add configurations to the redox * feat: make alt tab more portable * feat: small improvements to redox layout * feat: added leader * refactor: move leader defs to my userspace config * chore: movement modified * feat: more predefined keys and a a new combo * feat: redox alt tab functionality * refactor: move alt_tab processing to a separate file * refactor: early return * refactor: move process record to a separate file * format leader function * chore: backspace on digits layer * feat: add extra combo * feat: added more combos * implement guard proposed by @drashna Co-Authored-By: Drashna Jaelre <drashna@live.com> * chore: include @drashna placeholder suggestion Co-Authored-By: Drashna Jaelre <drashna@live.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
parent
f2f2afe13b
commit
32d03eef90
16 changed files with 608 additions and 480 deletions
38
users/danielo515/alt_tab.c
Normal file
38
users/danielo515/alt_tab.c
Normal file
|
@ -0,0 +1,38 @@
|
|||
#include "danielo515.h"
|
||||
#include "alt_tab.h"
|
||||
|
||||
bool altPressed = false;
|
||||
__attribute__((weak)) void alt_tab_activated(void){};
|
||||
__attribute__((weak)) void alt_tab_deactivated(void){};
|
||||
extern bool onMac;
|
||||
|
||||
// =============== ALT_TAB single key handling
|
||||
bool process_alt_tab(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case ALT_TAB:
|
||||
if (!record->event.pressed) {
|
||||
return false;
|
||||
}
|
||||
if (altPressed) {
|
||||
tap_code(KC_TAB);
|
||||
} else {
|
||||
altPressed = true;
|
||||
onMac ? register_code(KC_LGUI) : register_code(KC_LALT);
|
||||
tap_code(KC_TAB);
|
||||
alt_tab_activated();
|
||||
}
|
||||
// avoid alt releasing if the key is of movement
|
||||
case KC_RIGHT ... KC_UP:
|
||||
if (altPressed) {
|
||||
return true; // yes QMK, do your stuff
|
||||
}
|
||||
}
|
||||
// Reset sticky alt tab when any other key is pressed
|
||||
if (altPressed) {
|
||||
onMac ? unregister_code(KC_LGUI) : unregister_code(KC_LALT);
|
||||
altPressed = false;
|
||||
alt_tab_deactivated();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue