Cyanogen / dev / uinput key инъекция - PullRequest
       2

Cyanogen / dev / uinput key инъекция

2 голосов
/ 29 октября 2010

Я работаю над портом Synergy для Android (см. Synergy-foss.org).

Я нашел единственный способ вводить нажатия клавиш - это использовать Cyanogen Mod и записывать нажатия клавиш в /DEV / uinput.Однако у моего приложения нет прав на запись в / dev / uinput.Единственный способ обойти это - chmod 777 /dev/uinput.

Однако ... кажется, что через некоторое время разрешения на / dev / uinput сбрасываются - чем?Я не знаю.

Есть ли лучший способ или способ запустить ваше приложение как root в моде Cyanogen?

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 октября 2010

Посмотрите на IWindowManager . injectKeyEvent .Он находится в layoutlib.jar в платформе SDK.Я не уверен, какие разрешения приложению потребуется для его вызова (например, root или нет), но это только начало.Я не думаю, что вам понадобится root для выполнения метода.

Я немного поиграл с ним и смог вводить нажатия клавиш с клавиатуры компьютера и заставить устройство «повторить» действие.

0 голосов
/ 29 октября 2010

Хм, я думаю, это так же просто, как

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