-
Notifications
You must be signed in to change notification settings - Fork 480
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VNC keyboard not removed when server stopped (with solution) #36
Comments
Thanks for you interest and contribution to the project! I'm not sure if it is safe to put a file on /system, wouldnt work if we simply close the virtual device before closing the daemon? I'm not sure if i'm doing it! Best |
Q: "wouldnt work if we simply close the virtual device before closing the daemon?"
Maybe only ICS does that, I don't know. But I don't think there is a safe way to force ICS to close a built-in device. Do you see my point? A safe solution would be to use a non built-in device for keyboard, thus not using the default |
Thanks for your suggestions... I am as well considering adding support for a second input method, which i think should work in even more devices than uinput brings us (i've heard some comments of not working on some devices).... That would be to startup the "monkey --port PORT" android cmd that listens on a determined PORT, and injects touch/key events directly on the Java framework... have you acknowledge this already? best |
I have used the monkey for stress test only, not as a uinput wrapper. Probably worth trying if the execution overhead is acceptable. |
I've made some research on this lately. Monkey uses the IWindowManager.aidl Binder interface to inject keys/touch through the WindowManagerService.java. Ideally we should have a AIDL->CPP translator so we could put the daemon injecting keys directly to the service, but we do not have that. Any thoughs on this? My question would be, is it easier to implement the stubs by hand or adapting the AIDL translator to generate cpp files? |
Sorry for the delay, but to answer your question : I have no idea. |
I met an issue on my pandaboard running AOSP-4.0.4. After I started and stopped VNC server, Android virtual keyboard did not prompt anymore, although I had no USB keyboard connected. Before that virtual / physical keyboards toggled dynamically smoothly when USB keyboard was plugged in and out. After some tests, I figured out that droid-VNC-server creates a standard keyboard, and it is recognized as a built-in keyboard by Android. See http://pastebin.com/7NurfTwj.
On this log, I commented USB keyboard plug-in with:
When VNC server is stopped, later in the log, three lines are of interest:
The keyboard created by droid-VNC-server is not removed completely because it is defined as built-in! Android cannot "remove" a so-called built-in device. Then when I enter a keyboard-demanding application, Android virtual keyboard does not pop up because Android believes that a built-in keyboard is already present... Can be annoying on a device without physical keyboard.
So I patched
droidvncdaemon/vnc/input.c
:And I created a new .idc file in
/system/usr/idc
similar toqwerty.idc
, only difference is:The text was updated successfully, but these errors were encountered: