MotoFan.Ru — всё для Motorola > Устройства Motorola > Motorola на Windows Mobile OS: MPx100, MPx200, MPx220, MPx300, Q, Q8, Q9c, Q9h, Q9m, Q11, SURF A3x00, ES400

Русский ввод в A3100 Полная версия

 av kycb-kycb

 27.5.2009, 12:34

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

Сейчас раскладка есть только в QWERTY/ЙЦУКЕН режимах.
Phonepad и keypad расковырять не удалось. Если кто-нибудь скажет как редактировать kdb файлы (в аттаче пример), то обязательно сделаю.

Портретный режим:
Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла
Режим пейзажа:
Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла
Сглаживаются почему-то только латинские символы, да и б-г с ними.

Для установки скопировать содержимое архива в папку \Windows\. Очень желательно перед этим сделать бэкап заменяемых файлов.
Нажмите для просмотра прикрепленного файла

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

При копировании материала пожалуйста указывайте ссылку на тему.

Закрепил пост. NoPH8

 no av Борисыч

 25.6.2009, 10:24

Цитата(kycb-kycb @ 27.5.2009, 16:34) *



Для установки скопировать содержимое архива в папку \Windows\. Очень желательно перед этим сделать бэкап заменяемых файлов.



блин не получается туда файлики залит пишет не могу заменить с тела то ж не переименовывает и не заменяет sad.gif

 av kycb-kycb

 25.6.2009, 18:22

Борисыч, Total Commander на телефон поставь и им заменяй.
Бекап делать может не надо, точно не помню. Оригинальные файлы кажется в ROM записаны.

 av Gnom

 20.8.2009, 18:38

Цитата(Борисыч @ 25.6.2009, 13:24) *

блин не получается туда файлики залит пишет не могу заменить с тела то ж не переименовывает и не заменяет sad.gif

То же самое было. Даже на Тотале - муть ероглифами пейсало. Но добил. Как в поговорке - если долго мучаться - что-нибудь получится.

 av @leks

 24.8.2009, 3:49

Ты не пробовал сделать русский ввод независимым от английского, могу скинуть все файлы от xt9 из прошивки...

 no av tellurians

 24.8.2009, 10:25

а как настроить автоподставление букв при вводе?

 av Gnom

 24.8.2009, 14:57

Цитата(tellurians @ 24.8.2009, 13:25) *

а как настроить автоподставление букв при вводе?

С тебя Т9 словарь для А3100. иначе никак

 av kycb-kycb

 24.8.2009, 17:31

@leks, файлов у меня своих хватает biggrin.gif Независимым - я думал. Меню что по удержании кнопки вылезает, подогнано под размер экрана и для русского там места не остаётся. Да и переключать не так удобно через это меню.

 no av tellurians

 25.8.2009, 4:51

Цитата(Gnom @ 24.8.2009, 18:57) *

С тебя Т9 словарь для А3100. иначе никак

На китайской прошивке английский сам подставлялся.
Сейчас нет этого

 av Gnom

 25.8.2009, 10:58

Цитата(tellurians @ 25.8.2009, 7:51) *

На китайской прошивке английский сам подставлялся.
Сейчас нет этого

Так вопрос и стоит в наличии Т9 словара для А3100, вернее - в его отсутствии.

 no av tellurians

 25.8.2009, 11:03

Я понимаю с русским, а английский куда делся. если был?

 no av tellurians

 4.12.2009, 5:37

Вот интересно про ХТ9 и языки написано. Может поможет.
http://palmz.in/board/index.php?showtopic=46940

Вот что там:

Руководство по установке дополнительных словарей.


В этом руководстве я попытаюсь подробно рассмотреть как устанавливать дополнительные словари (XT9) на смартфон, а также как сменить раскладку языка, установленную по умолчанию, на ту, которую хотите вы (QWERTZ для Германии, ЯВЕРТЫ для России и т.д.).

1. Добавление новых словарей XT9

1.1 В реестр

Сначала рассмотрим как словари хранятся в реестре.

1.1.1 eT9\AvailableLanguages

Посмотрите ветку HKEY_LOCAL_MACHINE\ Software\Tegic\eT9\ AvailableLanguages. Здесь содержится список поддерживаемых языков. Т.е. если поместить сюда идентификатор языка, он будет доступен в списке выбора языков (независимо от того существует для него в системе библиотека или нет).

Коды языка соответствуют утвержденным ISO кодам стран с заменой старшего байта 04 на 01.

Например, официальный код России 0419, в этом случае для обращения к этому языку необходимо создать ссылку 0119. Это касается всех языков: например код Франции 040C, соответственно ссылка будет выглядеть как 010C.

Учтите, что порядок ссылок также важен. Например, если вы хотите установить первым в списке русский язык, просто переместите 0119 (идентификатор русского языка- см. выше) в начало списка параметра реестра, это будет выглядеть примерно так:

0119,0109,0107,0110,010A,0113,0105,0108,0118,0115,0116,011B,011F,010E,011D,0114,

010B
0106

При этом в списке выбора языка русский будет на первой позиции.



Это также необходимо, если вы хотите переместить язык на другое место. Например, если английский язык стоит последним в списке и необходимо переместить его на первую строку в меню выбора языка, просто узнайте его код (0409 ), измените старший байт 04 на 01 и переместите результат 0109 в начало параметра реестра.




Заметили как просто перемещать языки в списке выбора?

Теперь загрузим в систему реальные словари.

1.1.2 eT9\IME\KdbFiles

Как несложно догадаться, файлы словарей занимают достаточно много системной памяти (от 100 до 400 кБайт), поэтому в память смартфона не желательно интегрировать много языков (тем более если вы ими никогда не пользуетесь ).

После объявления языка в eT9\AvailableLanguages (см. пункт 1.1), необходимо обеспечить его библиотекой.

Для этого скопируйте соответствующие языковые библиотеки в папку \Windows и объявите их в ключе реестра HKEY_LOCAL_MACHINE\ Software\Tegic\eT9\ IME\KdbFiles.

Параметры объявления достаточно прямолинейные: имя параметра содержит младший байт имени кода языка, а значение- имя библиотеки. Пример для русского языка (код языка в hex: 0419, соответственно младший байт: 19) выглядит так:

"0619"="ruhpd.kdb"
"0719"="eT9.HQD.Russian.kdb"

Старший байт для *hpd.kdb всегда 06 . Для eT9.HQD.*.kdb старший байт всегда 07.


2. Переопределение раскладки встроенной клавиатуры

Недостаточно просто добавить карту раскладки клавиатуры- ее необходимо зарегистрировать в реестре.

2.1 Файлы раскладки клавиатуры

Рекомендуется (но не обязательно) называть файлы раскладки следующим образом:

eT9.Excalibur.XXXX.kmap.txt

где XXXX – официальный код языка (например 0419 для русского языка). Допустимо изменять имя, например с Excalibur на Rose, HTC. Важно запомнить, что недостаточно просто правильно назвать файл, его еще необходимо зарегистрировать в реестре.

Вначале содержимое этого файла может показаться достаточно сложным, но скоро вы поймете как он устроен. Например рассмотрим часть файла конфигурации для русского языка:


CODE
{Q Я Щ ! 0x13} {1 В 1 1 0x0c} {2 Е Э 2 0x04} {3 Р 3 3 0x0f} {T Т + + 0x18} {Y Ы ( ( 0x0b} {U У Ю ) 0x02} {I И _ _ 0x17} {O О Ш - 0x10} {P П Ч " 0x0e}


Здесь мы видим 5 колонок, которые содержат записи кнопок. Первая из них просто отображает букву, напечатанную на кнопке и не нуждается в правке, она служит для удобства правки файла. Вторая более важна: она отвечает за буквы, которые отображаются при вводе с клавиатуры. Третья и четвертая колонки содержат символы отображаемые при вводе в режиме долгого нажатия кнопки и при нажатии Fn+ клавиша. Пятая колонка также не требует правки.

Запомните, вы не должны править последнее поле!!!

Рассмотрим пример. Например вам надо, чтобы по нажатии на клавишу Т отображалась буква Й:

Рассмотрим оригинальный файл- первая буква Т обозначает нарисованную на клавише букву и правки не требует. Вторая буква Т означает букву, которая отображается при нажатии на клавишу. Первый знак + отображается при долгом нажатии на клавишу, второй + отображается при нажатии клавиши Fn с клавишей Т . Запись 0x18 не требует правки- это ссылка на строку в файле библиотеки.

..
{T Т + + 0x18}
..


Посмотрим на запись Т: ее надо подкорректировать следующим образом, чтобы исправить ввод:

{T Й + + 0x18}

Как вы заметили, если необходимо чтобы при нажатии клавиши Т отображалась буква Й , вам надо просто исправить запись в строке Т. Просто не так ли?


2.2 Регистрация в реестре

Одного только добавления файлов в систему (см. пункт 2.1) недостаточно. Их также необходимо зарегистрировать в реестре.
Для этого необходимо зарегистрировать файлы в двух ветках: HKEY_LOCAL_MACHINE\Software\ Tegic\eT9\IME\ KeyboardLayouFiles и HKEY_LOCAL_MACHINE\Software\ Tegic\eT9\IME\ LanguageKeyboardIDMapping.

В ключе KeyboardLayoutFiles необходимо создать новый строковой параметр с именем 07XX, где XX – младший байт кода языка (например, 0719 для 0419 hex (русский:), со значением, содержащим имя файла раскладки (например для русской раскладки- " eT9.Rose.0419.kmap.txt ").

Далее вы должны сделать привязку языка к файлу. Для этого создайте строковой параметр с идентификатором кода языка (с учетом всех изменений ( см. пункт 1.1.1) , т.е. с заменой старшего байта с 4 на 1). Его значением должна быть строка из KeyboardLayouFiles.

В примере рассмотрено создание новых ключей для русского языка:

[HKEY_LOCAL_MACHINE\Software\Tegic\eT9\IME\KeyboardLayouDlls]
"0719"=" eT9.Rose.0419.kmap.txt"

[HKEY_LOCAL_MACHINE\Software\Tegic\eT9\IME\LanguageKeyboardIDMapping]
"0119"="0719"

Теперь второй параметр ссылается на первый!

3. Регистрация драйверов в реестре.

Для функционирования клавиатуры также необходим драйвер, который обычно называется eT9DisInput.dll. Его необходимо поместить в папку \Windows и в ключе реестра HKEY_LOCAL_MACHINE\Software\Tegic\eT9\InputModuleDlls создать на него ссылку.

[HKEY_LOCAL_MACHINE\Software\Tegic\eT9\InputModuleDlls]
"1"="eT9DisInput.dll"

4. Регистрация библиотек *.ldb.

Библиотеки с расширением *.ldb также необходимо поместить в папку \Windows. Количество включаемых библиотек должно соответствовать количеству добавляемых языков. В ключе реестра HKEY_LOCAL_MACHINE\Software\Tegic\eT9\LdbFiles необходимо создать на каждый из них строковой параметр. Для этого создайте строковой параметр с идентификатором кода языка (с учетом всех изменений ( см. пункт 1.1.1) , т.е. с заменой старшего байта с 4 на 1). Его значением должно быть имя библиотеки *.ldb.

Рассмотрим на примере создания ключа для русского языка:

[HKEY_LOCAL_MACHINE\Software\Tegic\eT9\LdbFiles]
"0119"="RUlsUN_xt9.ldb"

Вот, пожалуй, и все, что я хотел рассказать! Учитель из меня плохой, но надеюсь все понятно .

 av @leks

 17.3.2010, 20:10

Посмотри это кабик, может сможешь сделать полноценную клавиатуру с русским и английским?!?!?
В нем есть раскладки для кучи языков, в том числе и для русского и английского, глянь, буду признателен...
Если нужна помощь, помогу чем смогу...

 no av tellurians

 18.3.2010, 8:07

А клава от kycb-kycb будет работать под 6.5?
Что его самого - kycb-kycb - не видно :(

 av @leks

 22.3.2010, 9:24

Цитата(tellurians @ 18.3.2010, 13:07) *

А клава от kycb-kycb будет работать под 6.5?
Что его самого - kycb-kycb - не видно :(

Уже работает в моеё последней сборке v1.4

Полная версия:


MotoFan.ru (©) 2024    Слушать Radio