Показать сообщение отдельно
Старый 23.03.2012, 00:57   #14
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 48
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 669
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию

В общем, я сегодня чуть ни весь день потратил, уже голову сломал... Я не могу найти где находятся настройки какое приложение вызывается при нажатии на хард-клавишу, прописанную в keylayout. Например, почему по коду MUSIC он запускает music.apk, а не что-то другое? Даже написал в xda-developers, весь день прошел, тишина...

Вот софтину нашел, вроде меняет именно запускаемые приложения по хард-клавишам, но у меня не работает. Прилагаю, попробуйте, может кому пригодится... DreamKeys называется.

Пробовал чисто на удачу заменить music.apk на apk от PowerAMP, вылетает с ошибкой. Видимо, его надо переименовать прежде чем устанавливать, но это какой-то кривой путь, я так не хочу! Вообще, именно таким образом IconBIT заменили браузер в последней прошивке, он под тем же именем, но размер другой.

Еще выяснил, что некоторые клавиши не работали из-за того, что были дважды назначены в keylayout, а так делать нельзя. Например:

key 67 HOME
...
...
...
key 67 VOLUME_UP

HOME не будет работать.

И еще, смысл этого файла оказывается просто в конвертации кодов клавиатуры. Т.е. 67 - Linux-код клавиши, а VOLUME_UP - код Андроид-клавиши. Т.е. это типа #define' ы.

Скоро я уже дойду до того чтобы самому написать такую программу, но надо чтобы она работала не только когда она активна, а всегда. В винде это называется hook (когда перехватываешь системную процедуру и данные пропускаешь через свою), в Андроиде не знаю как... Может тупо с девайса клавиатуры читать в /dev ??
Вложения
Тип файла: rar dreamKeys.rar (26.5 Кб, 455 просмотров)
AngelOfGrief вне форума   Ответить с цитированием