Некоторое время назад ко мне обратился один мой знакомый на предмет “кастомизации” Nokia N810. Вопрос был озвучен ещё до появления в продаже самих таблеток и касался облегчения ввода с помощью встроенной клавиатуры кириллических текстов. Проблема была в том, что не хотелось дожидаться появления в России локализованных моделей (с русскими буквами на клавиатуре), поскольку они и появятся не скоро, да и стоить будут как всегда – запредельно.
Вот и попросил он, имея опыт использования Трео 650 с английской клавой, сделать нечто аналогичное для N810 – дополнительную фонетическую раскладку “ЯВЕРТЫ”. Поскольку пару месяцев назад я делал нечто похожее для Bluetooth клавиатур для Nokia N800 то, в рамках этого своего проекта, решил сделать и альтернативные раскладки для встроенной клавиатуры N810. Здесь я хочу пояснить что и как было сделано.
Я опущу все исследования и опишу только результат. Как оказалось, Nokia поддержку встроенной клавиатуры реализовала не на чистом XKB. Её функционирование определяется частично конфигурационными файлами, а частично жёстко прошита в исполнительные, в отличии от Bluetooth клавиатур. В частности фиксировано подмножество допустимых локализованных раскладок (прошит в апплет выбора для аппаратной клавиатуры). Из-за этого мне пришлось пойти по пути замены существующего описания на своё, а не добавления нового (как это было сделано для N800). В N810 зашиты 7 раскладок:
- us – U.S. English;
- fisenoda – Finnish/Swedish/Norwegian/Danish;
- ptes – Portuguese/Spanish;
- fr – French;
- de – German;
- ru – Russian;
- it – Italian.
Как оказалось, на разных раскладках не совпадают не только национальные буквы, но и расположение специальных символов. Поэтому я решил делать под каждую раскладку свой пакет. Поскольку на настоящий момент я смог получить фотографии только 2-х раскладок (английской и скандинавской), то и готовы пока только 2 пакета. Ниже я прикладываю фотографии известных мне раскладок.
U.S. English:
FiSeNoDa:
Количество клавиш на всех раскладках совпадает, как и их скан-коды. Соответствие скан-кодов клавишам видно на следующем рисунке (осторожно, высокое разрешение – большой объём):
Помимо того, что Nokia строго определила допустимые варианты раскладок, она программно вмешалась в работу XKB модуля. Чтобы не заморачиваться на ввод всех необходимых символов с клавиатуры, была введена многофункциональная клавиша <Chr>, которая одновременно решает несколько задач, попутно модифицируя встроенный таблицы xkb. В частности её нажатие вызывает на экран виртуальную клавиатуру дополнительных символов, одновременное нажатие её и буквы вводит букву с альтернативной раскладки и сочетание <Ctrl>+<Chr> фиксирует переключение альтернативной раскладки. Это опять же побудило меня не задавать собственное переключение раскладок, а полностью сохранить всю логику работы управляющих клавиш. Ещё один момент в Нокиевской реализации меня удивил. Не смотря на то, что на клавиатуре две клавиши <Shift>, электрически они параллельны. Другими словами у них единый скан-код. Ну и последнее ограничение. На клавиатуре для ввода символов задействовано всего 32 клавиши. А в русском языке, как ни странно, 33 буквы. Я не смог придумать, куда переносить одну букву (точнее как её вводить – с помощью <Fn>, заменив спец.символ, перенести на основную клавиатуру, или ещё как) и пока решил сделать без буквы “Ё”. Если появятся разумные идеи куда её вывести – готов вернуться к этому вопросу.
Получившаяся раскладка выглядит так:
В настоящей реализации пакеты содержат в себе патч для одного файла:
/usr/share/X11/xkb/symbols/nokia_vndr /rx-44
При установке пакета старая раскладка Ru переименовывается, а новая дописывается в конец файла с метками начала и конца. При удалении моя раскладка удаляется, а старая переименовывается обратно.
Собственно сами раскладки выложены всё в том же моём разделе в Maemo гараже.
Реконструкция поста от 25 декабря 2007 года





September 27th, 2008 at 6:43 am
дорогой друг, а не могли бы Вы, по доброте своей душевной и на радость многим , сделать нечто подобное, а именно фонетическую клавиатуру для Нокиа Е90?! ПОЖАЛУЙСТА!! Еасли нужны скруны или онфо, то напишите. буду Вам признателен. Я поискал в сети, именно решения этой проблемки, никто не предлогает. Может быть Вы возмётесь??!
September 27th, 2008 at 11:14 am
Когда я собирался покупать себе Е90, я думал об этом, поскольку преполагал брать в Финляндии по-дешевле. Однако в реалии в России, все официально продаваемые Нокиевские девайсы, дешевле чем на их исторической родине. И поэтому я свою ешку брал в Питере с русской раскладкой. Предварительный прикид (до покупки) показал, что создание альтернативных раскладок под симбиан – дело совсем не простое. Раскладки – это не конфигурационные файлы, которые достаточно просто подправить. Информации по ним просто нет и копаться надо очень серьёзно. Параллельно я узнал, что существует очень бюджетная возможность просто заменить клавиатуру на кирилическую. Чисто механически. Совсем недорого. Так что могу посоветовать Вам именно этот вариант.
October 9th, 2009 at 1:56 pm
так ведь не в замене клавиатуры же дело-то!
очень и очень многим владельцам Е90 не хватает не просто русской, но именно фонетической раскладки, “яверты”, а не “йцукен”, вот ведь в чем дело. а чтобы самостоятельно решить эту проблему, надо иметь такую голову, как у Вас – но ведь не каждому дано, к сожалению…
на винде стоит фонетика, для коммуникаторов от 9210 до 9500 была кем-то (дай Бог ему здоровья!) программка написана, так народ уже на стандартной клаве печатать разучился. я, например, если изредко нужда возникает, на чужом компе без фонетической раскладки раз в пять медленнее печатаю, каждую букву буквально разыскиваю…
October 9th, 2009 at 2:25 pm
Под симбиан это не возможно. Раскладки существуют на уровне ядра и такого сертификата Nokia не даёт сторонним разработчикам. Там даже хакнуть, как в случае с N8×0 и n900 не возможно. – это не файлы конфигурации, а прописано, частично, на уровне драйвера. проще за смешные деньги просто купить клавишки с надписанной кирилицей и пользоваться штатной раскладкой.
К пониманию невозможности редактирования раскладки пришёл не только своим умом, но и общавшись с такими же потрошителями.
October 9th, 2009 at 2:40 pm
спасибо за столь быстрый ответ.
да есть у меня кирилица, и клаву я поменял сразу, и языковой пакет залил с русским.
а как же фонетическая раскладка для нокий 9210-9500, там же тоже симбиан?
извините за назойливость, очень уж хочется, да и не только мне, знаю по форумам…
October 9th, 2009 at 2:45 pm
там старая версия симбиана была. Досертификатная. Там просто хакали. Честно говоря процесс дизассемлированяи драйверов и генерации своей прошивки для такого решения как фонетическая раскладка меня не вдохновил. Тем паче, что чудно живу с йцукеном надписанным. Вот для N900 уже собрал. Так что как выйдут в продажу – сможете воспользоваться