qmk/qmk_firmware

[Bug] There's no way to tell Space Cadet to not emit the tapping key

Open

#8,360 创建于 2020年3月9日

在 GitHub 查看
 (7 评论) (0 反应) (0 负责人)C (43,867 fork)batch import
bughelp wanted

仓库指标

Star
 (20,368 star)
PR 合并指标
 (平均合并 20天 9小时) (30 天内合并 27 个 PR)

描述

Describe the Bug

I have commented in #3192 but I think this deserves its own issue.

It's currently a problem that it's impossible to tell Space Cadet that you don't need the tapping key and to not emit it. You can return false in the processing function for other keys, but there's no way to cancel Space Cadet's tapping.

My usage is:

  • Space Cadet shifts (pressing is parenthesis, holding is shift).
  • Alt+Shift passing through as normal, for language change in the OS (no parentheses, no matter whether I instantly tap Shift).
  • Left shift+Right shift sending "()", as sometimes I haven't managed to release left shift before tapping right.
  • Right shift+Left shift sending Caps Lock.

I currently can't make these work, because if I tap a Shift key quickly, its tapping keycode is always emitted, even if it was part of Alt+Shift for changing the language, and there's no way to change this from my config because I can't tell Space Cadet to not emit the parenthesis no matter how short the tap is.

There should be a way to tell Space Cadet "you don't need to emit the tapping key, I've got it".

System Information

  • Keyboard: Centromere
    • Revision (if applicable): v2
  • Operating system: Linux
  • AVR GCC version:
  • ARM GCC version:
  • QMK Firmware version: I'm using @spe2's fork, I'm not entirely sure what version it is, but I would love to use mainline.
  • Any keyboard related software installed?
    • AutoHotKey
    • Karabiner
    • Other:

贡献者指南