While using Linux VDA typing will eventually repeat keys, such as “pppppppppping”. The issue happens in high network latency environment occasionally. This KB is to address the root cause and find work around for this issue.
Using “xset q” in session to check the auto repeat setting of Linux VDA.
If the “auto repeat” is on, then use “xset -r” to disable it.
After applying this change, please check again whether keys are still repeated in bad networking environment.
There may be another case that even the auto repeat of Linux VDA is configured to be off, If I holding down a key in receiver, the key still be auto repeated in Linux VDA.
If holding a key at Receiver side, receiver will automatically repeat and send key events to VDA (if the auto repeat of Receiver is on). However, if you turn off the auto repeat of Receiver and Linux VDA at the same time, the key will not repeat in VDA anymore even if you holding down a key.
When holding down a key, whether a key is auto repeated depends on the settings of Receiver & Linux VDA, as below table.
Receiver auto repeat | VDA auto repeat | Is key auto repeated? |
on | on | Yes |
on | off | Yes |
off | on | Yes |
off | off | No |
This is probably caused by bad networking status and auto repeat settings in both Receiver and Linux VDA side. Normally there are two X events for every key pressed—“KEY_DOWN” and “KEY_UP”. When pressing down a key, Receiver will send “KEY_DOWN” event to Linux VDA and when releasing the Key, Receiver will send “KEY_UP” event to Linux VDA.
If Linux VDA gets “KEY_DOWN” event, but “KEY_UP” is delayed by network latency or is lost totally, Then the X will auto repeat the key (if the auto repeat is on) until gets the “KEY_UP” or other key events.