Keyboard polling rate too low

Is it just me, or is the fw12’s keyboard polling rate absurdly low?
I can easily press a key hard enough to bottom it out, and the key not registering, due to how quickly I retract my finger.

I do type fast, but I’m not even one of those speed-typing guys. During use, I frequently get whole bits of text not being inputted (like half a word may not be registered at all), even though I absolutely do hit the keys.
I can reproduce it easily if need be, but I’d like to refrain from posting a video unless needed.

I have a normal, non-preorder fw12, and never updated the bios or stuff, as I really have terrible luck and my free time is incredibly limited.

5 Likes

I have the same issue.

But I doubt that it’s a polling rate issue.

Because sometimes it happens and sometimes it doesn’t.. And it doesn’t seem to be related to how fast I’m typing.

I’ve also experience this phenomenon.

I really hope the V2 keyboards have a better firmware/polling rate because otherwise I kinda love how this keyboard feels. It’s just frustrating, especially when I’m entering long passwords.

Here’s to hoping we get a confirmation/response from Framework at some point.

If you’re still experiencing this issue, please file a ticket with our support team. You can also reference this thread in the ticket.

I can confirm. Sometimes I see that some of the keypresses are not registered while typing quickly. I’ve tried and found out how I can easily press keys quickly enough for it to bottom out and not register at all. I could describe it as “pecking” motion with my finger. When I peck a bit slower it registers the keypress. I’ve tried recording how keypresses sound like with audacity and by selecting from key hit to what I think is they key release it looks like it’s necessary to press the key for at least 40ms. It might be either polling rate or programmed key debounce time.

My keyboard registers something like this but well.. this is a mechanical keyboard. I’ll try the same thing on some cheap membrane keyboards and other laptops out of curiosity.

I was worried I was the only one. I’m a very fast key stroke guy and I’m was worried that my machine was broken.

I am also experiencing dropped keystrokes when typing quickly.

After sending a video showing dropped keys during normal typing to framework support, I recieved a new input cover free of charge. However, the issue persists with the new input cover. (This was also reproduced in different linux enviroments, ruling out a linux software issue)

Currently I am doing more tests. I am getting evidence that there is a low polling rate of about 30ms ± 5ms. This was found by analyzing the output of sudo libinput debug-events --show-keycodes with a python script. Both the time differences between events and the durations of keypresses fall on a ~30ms grid according to a histogram plot, while an external keyboard shows a grid of less than 10ms, aligning with a 125 hz polling rate, the lowest common polling rate according to some internet research.

I am working on refining the analysis and communicating with framework support about the matter. I will post more soon, including the python code and gathered data.

Builtin keyboard: (30ms peaks in duration histogram and diff histogram)

External keyboard: (10ms peaks in duration histogram, no peaks in diff histogram because the bins are more than 10ms wide.)

4 Likes

@catastrophic Is this not the expected behavior for the hardware? I ended up purchasing a second keyboard but there was no difference.

I have done more testing and confirmed this also happens in a live usb ubuntu. (My normal distro is fedora-kde) I also ensured that the laptop was plugged in and set to performance mode, but that made no difference.

The code with instructions is at GitHub - codemaker4/keyboardtest · GitHub

If anyone with similar issues could run the script and share the results that would be interesting.

I am also sending this info to the framework support ticket. I’ll keep you posted.

It should be possible to increase the polling rate on the new Framework 12 laptop because the new keyboard has ZMK firmware right?

I also experienced this since I had the laptop. But now I am out of warranty :frowning:

Oh I was suggesting a ticket in case they were having further issues, but I might have misunderstood. We moved the microcontroller on the 2nd Gen Touchpad to have more control over key behavior. The fixed function keyboard controller in the 1st Gen version does not handle key collisions well, and in certain instances dropped keys as a result.

Does that mean this problem will be fixed, or at least reduced, in the gen 2 keyboard? If so, that would be fantastic! It would solve one of my continuing little niggles with the FW 12.

There is more control over the key behavior so from my understanding it’s improved, but I can clarify with the team.

7 Likes

that sounds great if you could check that. The non registering of keystrokes made me crazy - so that I sold the FW12. Even if I really liked the device. But I bought it for typing… Will reconsider buying again if that is fixed.

1 Like

It would be great to know if the new microcontroller fixes this. I just got my framework 12 last week, the keyboard is quite nice to type on, which makes me type faster, which in turn makes it miss keys when I type too fast. If it wasn’t for this thread I would have thought that I was getting dementia and forgetting my password.

If the new microcontroller fixes this, I am ordering a gen 2 touchpad right away.

4 Likes

Checked with the team and the answer is yes, it does fix it.

7 Likes

That is great! One of the biggest things tickling the back of my brain into considering other machines is that I just prefer typing on other machines at times, and I do a lot of typing. But if the random dropped key presses is improved/fixed on the FW 12, that’s awesome!

1 Like

Now the problem is that most layouts are still stuck at gen 1… =(

1 Like

My guess this is caused due to the FW12 not being an N-key rollover keyboard.
If typing fast, the previous key might not have released before one types the next key.