android-如何防止droid VNC服务器上的键盘缓冲

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

问题是:如何防止Droid VNC Server缓冲键事件并将它们发送到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);
上一篇:Centos7远程桌面 vnc-server设置


下一篇:Java VNC库