其他分享
首页 > 其他分享> > android-如何防止droid VNC服务器上的键盘缓冲

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);

标签:key,buffering,vnc,android
来源: https://codeday.me/bug/20191123/2064771.html