-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Holding down a key still generates a lot of duplicated logs. #22
Comments
What happens if you close the program, set |
I tried changing "KeyboardJoinInterval" to some values. |
I am rather confused about how these two sentences add up. |
It means that I tried modifying the value of "KeyboardJoinInterval" to 1, 0.5, etc. |
Are you saying that modifying Are you sure modified the right configuration file, and that you do not have more than instance of InputScope running? |
Let's take an example. And Suppose I set the value of KeyboardJoinInterval to '0.05' and I hold down R key for 5 seconds. To be precise, Resetting the value of KeyboardJoinInterval had an effect on this issue. |
Okay, so the parameter works, just that the default value of 0.05 is not a good fit for your setup. If you set it to 0.1, does it still count a long keypress as multiple events? |
I set it to 0.1 and checked that it counts a long key press as two events or sometimes more than 3 events. |
This is mostly a limitation of the underlying input listener library that InputScope uses. It does not provide information whether a key is physically depressed, it only provides keyboard events like typical programs receive. So the only way it can tell that a series of key events is a long keypress, is looking at the time intervals and using the KeyboardJoinInterval as a threshold. A long keypress registering as two events is expected. When you press and hold a key like S, there is a delay between the first and second Out of interest - what are your keyboard settings for "repeat delay" and "repeat rate" options in Windows settings? |
delay : short Inputscope also counts keystrokes inaccurately by CPU usage. |
The short delay setting explains why 0.05 is too low for your setup. CPU usage should not be a factor. Bear in mind that there is a delay of up to 5 seconds between an input event occurring and the input event being visible in statistics. InputScope does database writes in bursts, for lesser overhead. |
What is the difference in the way KeyPlus, Whatpulse, Mousotron and Inputscope count keystrokes? |
Looking into things further, I see that I misspoke earlier - it is actually very possible for InputScope to detect whether a key is being held down physically. If memory serves, I took the current approach because I wanted to count all the keys produced, not only whether a key had been depressed. I had quite forgotten about this. I made a few changes, can try this version: https://erki.lap.ee/stuff/inputscope_1.7.dev1_x64.exe It should be able to count long keypresses as a single event now. There is also an option in the tray menu for toggling this sticky mode off or on. |
I have tried the dev version. |
Released version 1.7 with sticky long keypress as the default setting. Thank you for the thorough reporting. |
#15 issue has not been fixed yet.
Hold down a key still generates a lot of duplicated logs.
The text was updated successfully, but these errors were encountered: