?

Log in

No account? Create an account
Благая весть русскоязычным пользователям n950 - Журнал Восставшей Машины [entries|archive|friends|userinfo]
ArkanoiD

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Благая весть русскоязычным пользователям n950 [Mar. 11th, 2012|01:18 am]
ArkanoiD
[Tags|]

nikandroff победил ублюдочную автокапитализацию ввода на железной клавиатуре и написал небольшой комментарий о том, где там что крутится. Далее цитирую его письмо:


Выставлять раскладки в Harmattan через setxkbmap
(http://meegos.ru/wiki/index.php/Nokia_N950) - извращение.

В Harmattan за раскладки отвечает пачка ключей в GConf, скрипт
/usr/bin/update-hwkb-config, и файлы описания
клавиатур в /etc/meego-input-method-configuration/hw-keyboard.

N950 бывает только одной модификации (что мне известны), это 0100 с
английской раскладкой клавиатуры. В каталоге
/etc/meego-input-method-configuration/hw-keyboard есть и другие
варианты, но скрипт /usr/bin/update-hwkb-config
выбирает их, читая при помощи sysinfoclient инфу об устройстве, и
выбирая 0100. Так как сам скрипт не изменить
из-за aegis, необходимо проделать следущий финт ушами (0700 - код
несуществующего устройства с русской раскладкой
а-ля E7, её обычно и юзают те, кто выставляет раскладку по setxkbmap):

$ devel-su
# cd /etc/meego-input-method-configuration/hw-keyboard
# mv 0100 0100.old && cp -R 0700 0100

После этого можно запустить /usr/bin/update-hwkb-config (или
перезагрузиться). Переключение по Ctrl+Space. Заодно
и индикатор раскладки в статусной строке показывает русские буквы.
Если телефон выставлен на русский язык, то
даже нормально работает расстановка заглавных букв. В противном случае
нормально в заглавные выставляются только
английские буквы. К сожалению, последовательное нажатие Shift, а затем
буквы в данном случае тоже не работают для
русского. Судя по исходникам meegotouch-inputmethodkeyboard,
правильная работа автозаглавных завязана на локаль,
а она вся выставляется только по языку интерфейса.

Выключить расстановку заглавных букв можно так (оно выставляет это и
для английского, и для русского варианта,
так как английский вариант для кода 0700 это ru(latin), а русский -
это ru(cyrillic)):

$ gconftool-2 -t string -s
/meegotouch/inputmethods/hwkeyboard/autocapsdisabledlayouts ru

Клава, выскакивающая по клавише Sym лежит в
/usr/share/meegotouch/virtual-keyboard/layouts/hwsymbols_common.xml.

В качестве бонуса - клавиатурная раскладка, максимально
соответствующая физической раскладке N950 (очень уж тяжело
запоминать другую раскладку пунктуации, а йцукен пальцы сами помнят).
Для лишних русских букв вместо Fn используется
Sym, так можно оставить все остальные символы на своих местах. С
автозаглавными буквами (БЮЖЭХЪ) работает до сих пор
немного странновато, но это лучшее из того, что у меня вышло.

# cp ~user/nokia /usr/share/X11/xkb/types/
# cp ~user/rm-680 /usr/share/X11/xkb/symbols/nokia_vndr/
---

файлики лежат тут:
http://milliways.chance.ru/~ark/Nokia/harmattankeyboardautocapitalizationstuff_.zip
linkReply

Comments:
[User Picture]From: nikandroff
2012-03-11 06:58 pm (UTC)
Проблема даже не в русском/английском тексте. Он в нокиевском свайпе тоже нормален, если не говорить по-подонковски или матом. Проблема (для меня) в основном во всяких ssh.

(это только то, что касается клавиатурного ввода. про общую кошерность платформы ми-го я и не говорю)
(Reply) (Parent) (Thread)