开发者

Cyanogen /dev/uinput key injection

开发者 https://www.devze.com 2023-01-22 18:56 出处:网络
I\'m working on a Synergy port to the Android (see synergy-foss.org). The only 开发者_运维百科way I\'ve found to inject keystrokes is to use the Cyanogen Mod and write keystrokes to /dev/uinput.Howev

I'm working on a Synergy port to the Android (see synergy-foss.org).

The only 开发者_运维百科way I've found to inject keystrokes is to use the Cyanogen Mod and write keystrokes to /dev/uinput. However, my app does not have permissions to write to /dev/uinput. The only way around this that I've found is to chmod 777 /dev/uinput.

However... it seems after some time the permissions on /dev/uinput are reset -- by what? I don't know.

Is there a better way or is there a way to run your app as root in the Cyanogen mod?

Thanks


Look at IWindowManager.injectKeyEvent. It is in the layoutlib.jar in the platform SDK. I am not sure what permissions the application will need to call it (like root or not) but it is a start. I don't think you will need root to execute the method.

I was playing around with it for a little while and was able to inject keystrokes from my computer keyboard and have the device "repeat" the action.


Hmm I guess it's as simple as

Process p = Runtime.getRuntime().exec("su");
0

精彩评论

暂无评论...
验证码 换一张
取 消