derkyjadex / M8WebDisplay

Display for headless M8 tracker
https://derkyjadex.github.io/M8WebDisplay/
MIT License
199 stars 41 forks source link

Key press delay/repeat times too fast for being usable #23

Closed marcora closed 1 year ago

marcora commented 1 year ago

I am trying to use an headless M8 on my Mac using your M8display web app. However, I often overshoot where I want to be (or the value I intend to set) while navigating around (or changing note/param values) with computer keyboard. Changing the key press delay/repeat times of my keyboard in MacOS does not change them in M8 (only on my Mac). Is there a way to set key press delay/repeat times in the headless M8 or the M8display web app? I cannot imaging being the only one having this issue. Thanks in advance for your help!

derkyjadex commented 1 year ago

The repeat rate is defined by the M8. The web display just tells the M8 whether the key is down or not.

It is possible that there is lag between your input and the display being updated. Do you notice anything like that?

I don't know whether it is possible to configure the repeat rate on the M8 (I don't have my Teensy at the moment to check). You might want to ask on the Discord. I expect that this would work just the same on the real hardware too.

marcora commented 1 year ago

Thanks for your reply. It is possible that the delay is what's tripping me. Hopefully the same issue (delay) will not happen on the hardware (which I preordered).

On Fri, Mar 24, 2023 at 8:43 AM James Deery @.***> wrote:

The repeat rate is defined by the M8. The web display just tells the M8 whether the key is down or not.

It is possible that there is lag between your input and the display being updated. Do you notice anything like that?

I don't know whether it is possible to configure the repeat rate on the M8 (I don't have my Teensy at the moment to check). You might want to ask on the Discord. I expect that this would work just the same on the real hardware too.

— Reply to this email directly, view it on GitHub https://github.com/derkyjadex/M8WebDisplay/issues/23#issuecomment-1482740400, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAABRRZFG4G2A4CNB7TUMITW5WJIZANCNFSM6AAAAAAV7XQTWE . You are receiving this because you authored the thread.Message ID: @.***>

adwuard commented 1 month ago

Arrow key hold often causes input overshoot. Since the loop repeat is determined on Teensy side.

Assumptions:

Latency 1: M8 key repeat loop (fixed latency), let's say maybe 100ms Latency 2: M8's UI -> PC render -> user sensory to release key -> event to M8. Let's say it takes around 400ms to react. Then it is often overshot.

Improvement Proposal

For only arrow keys, when it's arrow key hold, then synthesize key up/down repeat loop in JS code.

@derkyjadex Not sure if this is a viable solution to this problem.

marcora commented 1 month ago

Yesterday I also filed a similar issue on the Dirtywave M8 firmware repo, asking to fix this on the Teensy side of things. Crossing fingers :)