jasonrudolph / keyboard

⌨ Toward a more useful keyboard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bug? SD mode + space (shift mode) + h didn't work, but jkl are ok.

sullevy opened this issue · comments

Enter SD mode, and put space down, but h (forward mode) didn't work.

I suspect you're running into a keyboard ghosting issue:

"Ghosting" is the problem that some keyboard keys don't work when multiple keys are pressed simultaneously. The key presses that don't show up on the computer or seem to have disappeared are said to have been "ghosted". On most keyboards, even some that are explicitly marketed as "Anti-Ghosting," this happens with many three key combinations.

You can use an online tool to test whether your keyboard is capable of simultaneously sending s + d + space + h. To perform the test:

  1. Quit Hammerspoon
  2. Open https://www.microsoft.com/appliedsciences/content/projects/KeyboardGhostingDemo.aspx
  3. Click the keyboard image on that page
  4. Hold down s and verify that you see the s key highlighted on the keyboard
  5. Hold down d and verify that you see the d key highlighted on the keyboard
  6. Hold down space and verify that you see the space key highlighted on the keyboard
  7. Hold down h and verify that you see the h key highlighted on the keyboard

On my Kinesis Freestyle 2, all of the steps above work. However, some keyboards are incapable of sending all four of those keystrokes.

I suspect keyboard ghosting is the source of this problem, so I'm going to close this issue. If a keyboard can't send those four keystrokes simultaneously, then Hammerspoon won't have any way of knowing that those keys are being pressed. 😦 However, if you run through the steps above, and you see that your keyboard is sending all four keystrokes simultaneously, please let me know and we'll re-open this issue.

Doesn't work on MacBook Pro 13 with Touch Bar

Yep, this appears to be the issue. I run into this issue with the internal keyboard on M1 MacBook Pro, but my Massdrop Alt handles it just fine. Oddly, It occurs with the H key, but not with j,k, or l keys.