我将在这里回答我自己的问题.
问题是:如何防止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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。