我将在这里回答我自己的问题。

问题是:如何防止 Droid VNC 服务器缓冲按键事件,并且在出现指针(鼠标/手势/点击等)事件之前不将它们发送到 Android 的输入系统?

我在 Android x86 上使用来自 Droid VNC Server on GitHub 的 Droid VNC 服务器的自定义构建。

我发现的问题是我会在键盘上的一些可编辑文本字段中键入一系列字符,但直到我触摸屏幕上的某个地方(小心不要让文本字段失去焦点)才会出现,从而导致鼠标事件。

最佳答案

在/jni/vnc/inputMethods/input.c 中有一个方法 keyEvent,我在其中添加了一行代码来“实时”刷新关键事件:

void keyEvent(rfbBool down, rfbKeySym key, rfbClientPtr cl)
{
....
if (key && down)
{
....
}
// Added this to "flush" out key events as they come in achieving real-time
// character input on Android
suinput_write(inputfd, EV_SYN, SYN_REPORT, 0);

关于android - 如何防止 droid VNC 服务器上的键盘缓冲,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17501761/

10-13 04:41