Как переключить раскладку клавиатуры для внешней клавиатуры

Как переключить раскладку клавиатуры для внешней USB-клавиатуры на Android 2.1? Я подключил немецкую USB-клавиатуру к своему планшету Android (Easypix 1000). Хотя установлен немецкий язык, внешняя клавиатура ошибочно воспринимается как английская. Спасибо!

Ответы (4)

Есть надежда.

Я написал тестовое приложение, которое делает именно это (и использует его как повседневную клавиатуру).

Начиная с кекса, в системе есть функция, InputMethodServiceкоторая позволяет на лету переопределять нажатия клавиш. Это позволяет приложениям изменять коды клавиш на лету, не требуя root.

Исходный код доступен здесь (только для самых любопытных)

Если у вас есть права root, вы можете изменить файлы раскладки клавиатуры, определенные здесь: http://source.android.com/porting/keymaps_keyboard_input.html .

ВНИМАНИЕ: я не пробовал это сам, поэтому я не знаю, сработает ли это. Изменение системных файлов может привести к поломке вашего Android.

Это гораздо более полезный ответ, но, как говорит Райан, изменение системных файлов рискованно. Если вы попробуете этот метод, пожалуйста, обязательно опубликуйте свои результаты здесь, так как мне было бы интересно узнать, как все прошло. И сделайте резервную копию!

В настольных ОС раскладки клавиатуры хранятся в программном обеспечении ОС, и я не могу представить, чтобы Android сильно отличался. Поскольку единственными устройствами, разработанными для Android и имеющими физическую клавиатуру (о которых я могу думать), являются телефоны, я сомневаюсь, что в стеке Android есть даже возможность изменить раскладку клавиатуры, поскольку вы, очевидно, не можете просто вытащить клавиатуру. вашего дроида и замените его другим.

Может быть какой-то способ перехватить ввод с клавиатуры до того, как он попадет на ваше устройство, и переназначить данные, но для этого потребуется специальное приложение (если эта опция действительно существует в стеке Android) или вам нужно подключить что-то промежуточное ваша клавиатура и планшет.

Нажмите Shift+ Ctrl+Space

Или

Нажмите Alt+ Ctrl+Space