Здесь размещаются кнопки-ссылки на крупные сайты аналогичной тематики. В обмен на этих сайтах будет показываться наша кнопка. Подробнее смотрите в разделе "Работа форума"
Активный участник Возраст: 34 Телефон: Nokia N-Gage Прошивка: 4.03 Оператор: Би+ Город: Москва Сообщения: 185
Народ, кто имеет опыт программирования под симбианом,
какие проблемы с написанием переключалки раскладки?
хотелось бы иметь возможность настройки комбиранции клавиш
для переключения, например <abc>+<#>,
и отметки галкой тех языков между которыми будет переключение,
например у меня стоят русский, английский и украинский,
мне нужны только первые 2
мудрый гугль дает вот какие подсказки:
SharedData: Get request with key "InputLang" by EikAppUiServer
наверняка это делается чтением/записью именованной области shared memory с названием "InputLang", правильно?
на диске Z: найдены следующие либы:
syslangutil.dll t9lang.dll akninputlanguage.dll
не знаю чем это может помочь
Еще есть упоминание файла C:\system\Shareddata\100058ec.ini на эту тему...
строка "InputLang" встречается в /system/apps/gs/gs.app (Settings)
вместе с DispLang (язык интерфейса?) и PredTxt (активация T9?)
Последний раз редактировалось: alex14san (Ср, 11/02/04, 18:11), всего редактировалось 1 раз
Активный участник Возраст: 34 Телефон: Nokia N-Gage Прошивка: 4.03 Оператор: Би+ Город: Москва Сообщения: 185
Из соседней ветки:
Ну, у тебя 2 возможных пути,
первый ведет в сервис-центр, но судя по твоему местоположению это проблематично,
второй - попробовать разобраться, какие файлы отвечают за языки, взять их с русскоязычной гаги и при помощи палки и веревки попробовать прикрутить их к себе, например скопировав их на диск C: в каталоги с такими же названиями... но это уже, сам понимаешь, хакерство.
например, тут явно замешаны файлы
/system/T9lib/russian.rsc
/system/T9lib/t9russiaeven.dll
но это лишь словари для предсказательного ввода T9
наверняка за языки отвечают файлы-ресурсы, видимо
*.r01 - английский язык,
*.r16 - русский,
*.r93 - украинский
но где-то должен быть список доступных языков...
текущий язык выбирается неким параметром "DispLang" который пока не ясно как установить и откуда взять список возможных...
Активный участник Возраст: 34 Телефон: Nokia N-Gage Прошивка: 4.03 Оператор: Би+ Город: Москва Сообщения: 185
Как я это вижу:
2 sis-файла, один для установки русского языка на телефоны где его изначально нет, он должен включать в себя в том числе файлы koi8 и 1251.cpl, русский T9-словарь, и что-то еще чтобы русский язык появился в списке доступных.
второй - собственно программа-переключалка, с настройками:
Автозапуск (при включении телефона) - On/Off
Выбор комбинации клавиш для переключения (напр. <abc>+<#>)
Выбор доступных для переключения языков (напр. русский/английский)
Что еще?..
Как дополнение было бы неплохо добавить возможность программирования макросов, например на комбинации клавиши <карандаш>+<цифра> и <меню>+<цифра>, из вариантов:
1. заранее известный текст (напр. "Привет", "Спасибо", и т.п.)
2. запуск какой-то программы,
3. переключение/выбор языка ввода, вкл/выкл T9 и т.п.
4. перекодировка Clipboard
Например, чтобы можно было установить:
<abc>+1 - ввод слова "Привет"
<abc>+2 - запуск программы FileMan
<abc>+3 - запуск stICQ
<abc>+4 - запуск блокнота
<abc>+# - переключение ввода рус/англ
<abc>+0 - перекодировка clipboard из русского в транслит
Разбираться над конкретно. По моему опыту могу сказать что не все плагины можно инсталировать на диск C. Чаще всего они работаюти только на Z. Это не свойство Symbian это свойство конечных DFRD типа Series60 или UIQ.
Если разберешся как локализацию менять, т.е. подставлять разные кодировки для печати, то напиши пожалуйста.
Что касается конвертеров которые умеют понимать koi8 win1251 то не трать на них время. Пиши мне на мыло и я дам тебе под это благое дело исходники.
Активный участник Возраст: 34 Телефон: Nokia N-Gage Прошивка: 4.03 Оператор: Би+ Город: Москва Сообщения: 185
Да, разбираться надо, пытаюсь.
С доступными языками вроде ясно - их список лежит в файле Z:\system\bootdata\Languages.txt и подменить его думаю не удастся.
За языки отвечает, как я понял, syslangutil.dll, используются они в /system/Fep/T9fep.fep
Переменная InputLang хранится в файле c:\System\Shareddata\100058EC.ini для доступа к таким вещам есть SharedDataServer.exe
Кстати, там наверняка много интересного, например в 100058FA.ini есть параметр DefRingM который задает мелодию будильника, было бы неплохо уметь ее поменять, DefMsgM - мелодию входящей SMS и т.п. Очень похоже что в Shareddata\101f4290.ini лежит список авто-запускаемых программ (?)
Можно ли напрямую работать с syslangutil.dll - не ясно, у нее экспортируется 7 функций, но кто из них кто - не ясно. Разобраться бы... Вероятно 5-я дает название языка по коду (?)
Есть кучка (также недокументированных) классов, например RSharedDataClient (упоминается в cpbkcontactengine.h), CSharedDataInteger, CSharedDataString - отчасти они описаны в commonengine.lib но header-а с описаниями классов нет
Есть еще класс RSSSettings и ...Observer, методы описаны в sssettings.lib но описания классов снова нет.
CSharedData::Get и CSharedData::Set - по идее эти методы нам больше всего нужны, найти бы к ним доки...
а чем переключает? _________________ My Nokia Story: 450i -> 3110 -> 6150 -> 7110 -> 7650 -> Nokia N80 IE -> Nokia N95 [Худею] [Мои статьи] [Русский fring]
Активный участник Возраст: 34 Телефон: Nokia N-Gage Прошивка: 4.03 Оператор: Би+ Город: Москва Сообщения: 185
Herurg писал(а):
а чем переключает?
Пока - пунктом "hello" в меню, и переключение работает только в самой программе. я, конечно, поспешил ее выкладывать, не сделав чтобы она висела всегда и слушала какую-нибудь комбинацию клавиш.
Как сделаю - скажу обязательно, пока ценность сего лишь в том, что переключить язык удалось, поскольку документированного способа сделать это нет.
Также этот способ позволяет менять настройки других программ, и ценность представляет больше для программистов чем для пользователей.
Я сейчас еще изучаю возможность установки русского языка для ввода на смарты, где русского нет в прошивке. Пока похоже что раскладка лежит в Z:\system\T9Ldb и подложить ее на диск C: не получится
Активный участник Возраст: 34 Телефон: Nokia N-Gage Прошивка: 4.03 Оператор: Би+ Город: Москва Сообщения: 185
Покопавшись в сети нашел сайт http://www.yipton.net/
взяв за основу тамошний SCap сделал переключение даже при неактивном приложении.
Переключение работает по клавише <Call/Звонок> (только русский/английский)
Вроде удобно - при вводе текста она никакой функции не несет,
а случайные переключения при звонке не сильно мешают.
через метод CaptureKey был глюк - клавиша "теряла" свою основную функцию, переделал через CaptureKeyUpAndDowns/EEventKeyDown - работает!!
Старожил Возраст: 27 Телефон: Другой Прошивка: SE W800 Оператор: Йайца/Пчйолы Город: Краснодар Сообщения: 393
Спасибо автору! Прога очень нужная. Но вот ИМХО недоработочка. Мне такая прога пригодилась бы для переключения языков в телефонке, но при нажатии на <CALL> идет соответственно вызов абонента. Конкретно, просьба разработчику придумать другую комбинацию для переключения.
совет - лучше использовать какую-либо конбинацию клавишь - например:[ABC]+[Call] _________________ My Nokia Story: 450i -> 3110 -> 6150 -> 7110 -> 7650 -> Nokia N80 IE -> Nokia N95 [Худею] [Мои статьи] [Русский fring]
об этом можно поподробнее? не о шаблонах ли речь? если о них, то может подключить стандартные (которые в сообщениях ужо имеюЦЦа)? _________________ My Nokia Story: 450i -> 3110 -> 6150 -> 7110 -> 7650 -> Nokia N80 IE -> Nokia N95 [Худею] [Мои статьи] [Русский fring]