diff options
Diffstat (limited to 'users/davidkristoffersen/hardware/split_space.c')
-rw-r--r-- | users/davidkristoffersen/hardware/split_space.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/users/davidkristoffersen/hardware/split_space.c b/users/davidkristoffersen/hardware/split_space.c new file mode 100644 index 0000000000..da25343f3d --- /dev/null +++ b/users/davidkristoffersen/hardware/split_space.c @@ -0,0 +1,23 @@ +// Copyright 2022 David Kristoffersen (@davidkristoffersen) +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "split_space.h" + +#ifdef SPLIT_SPACE +void handle_split_space(uint16_t keycode) { + // Disable modifiers when numpad is active + if (IS_LAYER_ON(NUMPAD)) clear_oneshot_mods(); + + if (keycode == KC_LSPC) { + // 2ng tap: Activate ctrl if shift is active + if (get_oneshot_mods() & MOD_MASK_SHIFT) { + clear_oneshot_mods(); + set_oneshot_mods(MOD_LCTL); + } + // 1st. tap: Activate shift if no modifier is active + else { + set_oneshot_mods(MOD_LSFT); + } + } +} +#endif |