Мне надо при старте своего приложения отключать все стандартные действия на клавишах, а при завершение включать назад. Требовать от пользователей рутать девайс не могу.
PS
Если кому интересно зачем это нужно: я пишу терминального клиента под андроид который должен работать с клавиатурой и мышью подключёнными по USB. Но ряд клавиш с клавиатур воспринимается андроидом как хардверные клавиши на корпусе телефона - он сворачивает мою программу и делает что то. Например по F1 открывает окно настроек. А мне надо этого избежать, и просто получать скан код клавиши в мою программу.
Ну это точно возможно, но как не скажу (поэтому в комментарии). Например terminal emulator забирает клавиши громкости как модификаторы. Нельзя забирать без рута, кажется, только клавишу блокировки и клавишу поиска. И, возможно, этот набор отличается на разных мажорных версиях Android
ИМХО, проще придумать дополнительный (софтовый?) модификатор, который превращал бы внутри приложения верхний ряд "~"-"1"-"2"-"3"-... в "Esc"-"F1"-"F2"-"F3"-...; а вообще Ведроид -- телефонно-медийная платформа, а не полноценная ОС, и терминальный клиент на ней смотрится немного странно. Создание подобного приложения уместно только в качестве курсовой работы или упражнения для собственного мозга. Практического смысла нету: кому нужен терминальный клиент для работы -- скорее обзаведутся нет-/ультрабуком, где будет стоять совершенно другая, полноценная ОС.
Alexander Burov: предполагается использование андроид стик которая вытыкается в монитор. В любом случае надо, сделать. Варианта не сделать нету, - я тогда становлюсь безработным. "~"-"1"-"2"-"3"-... в "Esc"-"F1"-"F2"-"F3"-...; не подходит, все было как будто пользователь сидит за обычной виндовс.
oleg0xff: Вопросы.
1) Для чего там должен оставаться Ведроид? Пользователь пользуется ещё какими-то приложениями помимо предполагаемого терминального клиента?
2) Что туда мешает закатать нормальный (Gentoo/Calculate, Arch) или условно-нормальный (Debian) Linux и уже на нём собрать терминального клиента? (Вроде Mali400 стал открытым со всеми ускорялками.) (Есть готовые дистрибутивы с собранной и работающей Либрой для закатывания на SD.)
3) Есть ли возможность выбрать правильную Android-палку или только ту, что дают?
Переопределить onKeyUp и там прописать обработчики для нужных ваш клавиш. Если хотите отключить стандартную обработку, то возвращаете из этого метода true.