Mottie / Keyboard

Virtual Keyboard using jQuery ~
http://mottie.github.io/Keyboard/
Other
1.78k stars 723 forks source link

Double characters on slow hardware #491

Open SeeeD opened 8 years ago

SeeeD commented 8 years ago

Hi Mottie,

I am using the virtual keyboard on an embedded device with limited ressources and got an issue which seems to the same as #184. I do not receive this issue every time, but when I do the second click event is triggered 140 - 180ms after the original click.

Your fix was adding the option "preventDoubleEventTime" with the default of 100ms to prevent the second call. In reason of the embedded device I am using, everything is slower and so I am thinking this is causing the large delay between the first and the second event call. If I increase this value to 200, the issue is fixed, but typing is too slow in my opinion.

Do you know the exact problem which causes the second click? I will take care of this, but at the moment I have no idea where this issue comes from. :(

Thank you

Mottie commented 7 years ago

Hi @SeeeD!

Sorry for taking so long to respond! I was on an extended vacation. It's taken me a few weeks to get caught up.

Anyway, the preventDoubleEventTime option was added because the keyBinding option is set as 'mousedown touchstart' by default.

I would suggest using the jQuery PEP library for pointer events, then change the keyBinding option to 'pointerdown'.

Please let me know if that works for you.

SeeeD commented 7 years ago

Hi @Mottie,

Thanks for the response. I will have a look on the library the next days and get back to you once I tried it. :)

Regards

SeeeD commented 7 years ago

Hi @Mottie,

Just a short update. Using jquery pep library will raise the same issue. I am receiving the click-event twice. I'll keep you up to date.

(sadly we are using chromium 42. This could be the issue too)

Mottie commented 7 years ago

Any update on this issue?

Did you try changing the keyBinding option to only use pointerdown? What if you only used touchstart?

Maybe you could try setting the repeatRate option to 0 (zero) to disable the repeat key function (keys will repeat when held down like on the physical keyboard).

SeeeD commented 7 years ago

Hey Mottie,

I tried changing the keyBinding only to "touchstart" and received the same issue. Also I am pretty sure I tried to disable the repeatRate too, but I will try it again.

Maybe this is really an issue of our hardware/setup - as I told the chromium version we have to use is very old :(