
Начать — труднее всего, так что я обойдусь без вступления. Всё по существу.
Какие преимущества и недостатки у использования bluetooth-клавиатуры?
+ С помощью bluetooth-клавиатуры набор идет быстрее. (Безусловно, со свайпом скорость выше, но (по крайней мере, для меня) только если не учитывать опечатки).
+ Набирая «на ощупь», можно отвлечь хоть часть внимания от клавиатуры.
+ Быстрый доступ ко всем спецсимволам. К примеру, при программировании на телефоне — это большой плюс.
+ В отличие от встроенной, bluetooth-клавиатуру можно и не таскать с собой, если ничего большого набирать не придется.
— Лишнее устройство.
— Небольшой, но всё-таки разряд аккумулятора.
— На ходу не особенно-то понабираешь, например, в ICQ — держать одновременно и телефон и клавиатуру, при этом еще и что-то печатая… Можно, но не совсем удобно, да и выглядит странно.
Так что, если печатать нужно лишь изредка: немного в поиск гугла, немного в SMS, еще чуть-чуть в какой-нибудь интернет-мессенджер — bluetooth-клавиатура не нужна. Но вот если печатать нужно много, подобное устройство может сильно облегчить жизнь.

Где купить bluetooth-клавиатуру?
— ebay.com. Недостаток — слишком долгая доставка. Я ждал клавиатуру 25 дней и к тому времени, когда она пришла, уже забыл, зачем покупал.
— В одном из многочисленных интернет-магазинов. Тут свой минус — слишком завышенная цена. На ebay клавиатура стоила 18 долларов, здесь такая же стоит в среднем тысячу рублей.
Как подключить эту клавиатуру к Android-телефону?
Вот ради этого я, пожалуй, и решил написать эту статью. Поделиться несколькими советами.
В маркете есть большое число приложений для использования bluetooth-клавиатуры. Большинство — бесплатны.
Вначале я поставил Blueinput с 4pda. Но, к сожалению, у меня эта программа работала очень посредственно — часто теряла соединение, не могла автоматически подцепить клавиатуру. Часто отказывалась соединяться. К тому же было непонятно, как добавить русский язык.
Полез на маркет и наткнулся вот на эту программу. Меня подкупило слово root, «Раз используются рут-права, может, она-то хоть будет нормально эмулировать нажатия?» — подумалось мне. К счастью, я не ошибся — работает действительно великолепно. Суть программы сводится к следующему: программа загружает пару драйверов (на это и нужны рут-права), после которых можно связать телефон и клавиатуру, а сама каждые пять секунд проверяет, нет ли клавиатуры рядом. Если есть — соединяется.
Настройка клавиатуры
Все эти клавиатуры — такие разные. У всех есть какие-то свои хитрые кнопки, вроде кнопок управления плеером. А Android их может и не увидеть. И, чтобы исправить это, придется повозиться.
— Нужно составить список кодов клавиш, которые работают неправильно. Для этого можно воспользоваться этой программой. (Записывайте scancode).
— Вытащите из вашего телефона файл qwerty.kl. Он лежит в папке /system/usr/keylayout/. Откройте его любым текстовым редактором.
— Строки этого файла имеют структуру «key <код клавиши> <действие> <особенные свойства клавиши>». Измените его в соответствии с вашей клавиатурой.
> Список действий:
> — 0-9
> — A-Z
> — Спецсимволы: LEFT_BRACKET, RIGHT_BRACKET, BACKSLASH, SEMICOLON, APOSTROPHE, > COMMA, PERIOD, SLASH, MINUS, EQUALS, AT, SPACE, ENVELOPE
> — Важные кнопки: ALT_LEFT, ALT_RIGHT, SHIFT_LEFT, SHIFT_RIGHT, DEL, ENTER
> — SYM — (у меня) окно выбора средства ввода
> — MEDIA_STOP, MEDIA_PREVIOUS, MEDIA_PLAY_PAUSE, MEDIA_NEXT — управление плеером.
> — VOLUME_DOWN, VOLUME_UP — громкость
> — HOME, SEARCH, MENU, CALL, ENDCALL, BACK — обычные клавиши
> — SOFT_LEFT, SOFT_RIGHT, MUTE, GRAVE — неизвестные клавиши, неясно, что они делают
> — CAMERA, FOCUS — по идее, запуск камеры и фокусировка
> — DPAD_CENTER, DPAD_DOWN, DPAD_UP, DPAD_LEFT, DPAD_RIGHT — трекбол (с этими кнопками связан один баг — они меняют свои функции против часовой стрелки при повороте устройства)
> Не хватает такого важного действия, как, судя по разным источникам, CAPS или CAPS_LOCK. У меня не работает ни то, ни другое. Кстати, если действие будет не распознано, все строки ниже не будут обработаны.
> Особенные свойства:
> — WAKE — устройство проснется и отреагирует на нажатие.
> — WAKE_DROPPED — устройство только проснется.
— Закиньте измененный файл обратно. Установите права доступа — 644.
— Перезагрузитесь.
Так же можете посмотреть содержимое файла qwerty_ru.kcm.bin. Это — буквы на каждое из действий, по четыре штуки. По идее, можно русифицировать клавиатуру прямо отсюда, но это — далеко не лучшее решение. Но, если хотите, попробуйте. Правда, они скомпилированы — поищите в сети исходный файл.

Русификация клавиатуры
Ну, тут всё совсем просто. Стоит установить что-нибудь вроде ruKeyboard, и тот предоставит вам большой выбор раскладок (если их недостаточно — ничего не мешает вам добавить свою) и возможность быстрого преключения при нажатии Shift+Space.
А чтобы было совсем круто — за 150 рублей можно купить наклейки с русскими буквами для небольшой клавиатуры.
Приложения
Если вы станете владельцем той же клавиатуры, что и я, с сорока девятью клавишами — вот мои файлы:
— qwerty.kl
— arrays.xml — небольшой мод для ruKeyboard: добавляет раскладку, более подходящую для этой клавиатуры.
Используемые материалы
— www.kandroid.org/android_pdk/keymaps_keyboard_input.html
— chris.boyle.name/2010/08/android-keymaps
— www.slatedroid.com/index.php?/topic/10538-keyboard-layout-qwertykl-thread