Список форумов Клуб любителей Series 60  
Имя:   Пароль:   Авто  
Чт, 29/07/10, 21:12
 
Разделы сайта

Форум



Поиск в Google
Google
Web club60.org

Наши друзья
[Купить Opera!]
[Купить Opera!]

Купить программы!


Зоопарк ручных компьютеров: Handy.Ru - карманные компьютеры Pocket PC, Palm, Psion  мобильные телефоны, цифровые камеры, гаджеты
АКСЕССУАРЫ К СОТОВЫМ ТЕЛЕФОНАМ

Здесь размещаются кнопки-ссылки на крупные сайты аналогичной тематики. В обмен на этих сайтах будет показываться наша кнопка. Подробнее смотрите в разделе "Работа форума"

Клуб любителей Series 60
Rambler's Top100


Переключалка языка Предыдущая тема :: Следующая тема  
Страница 1 из 15 На страницу 1, 2, 3 ... 13, 14, 15  След.
Главная
Список форумов Клуб любителей Series 60
   :: Series 60 - Программы
   :: Программирование
   :: Переключалка языка
 

Начать новую тему   Ответить на тему
Автор Сообщение
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185
Переключалка языка
СообщениеДобавлено: Чт, 05/02/04, 04:34
Ответить с цитатой

Народ, кто имеет опыт программирования под симбианом,
какие проблемы с написанием переключалки раскладки?

хотелось бы иметь возможность настройки комбиранции клавиш
для переключения, например <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 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185

СообщениеДобавлено: Чт, 05/02/04, 05:56
Ответить с цитатой

Из соседней ветки:

Ну, у тебя 2 возможных пути,
первый ведет в сервис-центр, но судя по твоему местоположению это проблематично,
второй - попробовать разобраться, какие файлы отвечают за языки, взять их с русскоязычной гаги и при помощи палки и веревки попробовать прикрутить их к себе, например скопировав их на диск C: в каталоги с такими же названиями... но это уже, сам понимаешь, хакерство.

например, тут явно замешаны файлы
/system/T9lib/russian.rsc
/system/T9lib/t9russiaeven.dll
но это лишь словари для предсказательного ввода T9

наверняка за языки отвечают файлы-ресурсы, видимо
*.r01 - английский язык,
*.r16 - русский,
*.r93 - украинский
но где-то должен быть список доступных языков...

текущий язык выбирается неким параметром "DispLang" который пока не ясно как установить и откуда взять список возможных...

http://www.symbian.com/developer/techlib/v70docs/SDL_v7.0/doc_source/CustKit/Lockit/operatorsguide/management/langenvs.html
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185

СообщениеДобавлено: Чт, 05/02/04, 06:03
Ответить с цитатой

Как я это вижу:

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 из русского в транслит

можно как-то объединить это с Favourites...

Возьмется ли кто такую штуку написать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
OlegGL

Гость







СообщениеДобавлено: Чт, 05/02/04, 12:22
Ответить с цитатой

Разбираться над конкретно. По моему опыту могу сказать что не все плагины можно инсталировать на диск C. Чаще всего они работаюти только на Z. Это не свойство Symbian это свойство конечных DFRD типа Series60 или UIQ.
Если разберешся как локализацию менять, т.е. подставлять разные кодировки для печати, то напиши пожалуйста.
Что касается конвертеров которые умеют понимать koi8 win1251 то не трать на них время. Пиши мне на мыло и я дам тебе под это благое дело исходники.
Вернуться к началу
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185

СообщениеДобавлено: Вс, 08/02/04, 07:06
Ответить с цитатой

Да, разбираться надо, пытаюсь.

С доступными языками вроде ясно - их список лежит в файле 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-а с описаниями классов нет Sad

Есть еще класс RSSSettings и ...Observer, методы описаны в sssettings.lib но описания классов снова нет.

CSharedData::Get и CSharedData::Set - по идее эти методы нам больше всего нужны, найти бы к ним доки...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185

СообщениеДобавлено: Пн, 09/02/04, 04:35
Ответить с цитатой

вот какие есть методы:

class RSharedDataClient {
public:
RSharedDataClient(class MSharedDataNotifyHandler *);
RSharedDataClient(void);
int Assign(class TUid) const;
int AssignToTemporaryFile(class TUid) const;
void CancelAllNotifies(void);
void CancelNotify(class TUid,class TDesC16 const *);
void Close(void);
int Connect(int);
int Flush(void) const;
int GetInt(class TDesC16 const &,int &) const;
int GetReal(class TDesC16 const &,double &) const;
int GetString(class TDesC16 const &,class TDes16 &) const;
int NotifyChange(class TUid,class TDesC16 const *);
int NotifySet(class TUid,class TDesC16 const *);
int RestoreOriginal(class TUid,class MDesC16Array const *);
int SetInt(class TDesC16 const &,int);
int SetReal(class TDesC16 const &,double);
int SetString(class TDesC16 const &,class TDesC16 const &);
void CancelFreeDiskSpaceRequest(void) const;
void RequestFreeDiskSpace(int) const;
void RequestFreeDiskSpaceLC(int) const;
int AddToValue(class TDesC16 const &,int);
void CancelAllSignals(void);
void CancelSignal(class TDesC16 const &);
int Signal(class TDesC16 const &);
private: // наверняка штуки 4 поля у класса есть...
void *v1,*v2,*v3,*v4;
};

как я понимаю, последовательность действий д.б. такая:

new
.Connect(0);
.Assign( 0x100058EC );
.GetInt( преобразованная к TDesC16 "InputLang" );
.SetInt();
.Close();
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185

СообщениеДобавлено: Пн, 09/02/04, 20:12
Ответить с цитатой

Работает!! Аж страшно - собрал первую прогу под телефон, и она работает! В основу взят HelloWorld с вышеупомянутым классом и вот каким дополнением:

case EHelloWorldCommand1: {
RSharedDataClient sd;
sd.Connect(0);
sd.Assign( TUid::Uid( 0x100058EC ) );
int InputLang = -1;
sd.GetInt( _L("InputLang"), InputLang );
InputLang = InputLang == 1 ? 16 : 1;
sd.SetInt( _L("InputLang"), InputLang );
sd.Close();
} break;

Клавиатуру - переключает, между русским и английским!!

Вот: http://thetan.ru/ngage/keys0.zip


Последний раз редактировалось: alex14san (Вс, 15/02/04, 20:19), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Herurg

Модератор
Модератор

Возраст: 92 Пол:Мужской
Телефон: Nokia N95
Прошивка: 21.0.016 [RED]
Оператор: BeeLine
Город: Moscow/Piter
Сообщения: 3798

СообщениеДобавлено: Пн, 09/02/04, 20:29
Ответить с цитатой

а чем переключает?
_________________
My Nokia Story: 450i -> 3110 -> 6150 -> 7110 -> 7650 -> Nokia N80 IE -> Nokia N95 Wink
[Худею] [Мои статьи] [Русский fring]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора Yahoo Messenger
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185

СообщениеДобавлено: Пн, 09/02/04, 22:03
Ответить с цитатой

Herurg писал(а):
а чем переключает?


Пока - пунктом "hello" в меню, и переключение работает только в самой программе. я, конечно, поспешил ее выкладывать, не сделав чтобы она висела всегда и слушала какую-нибудь комбинацию клавиш.

Как сделаю - скажу обязательно, пока ценность сего лишь в том, что переключить язык удалось, поскольку документированного способа сделать это нет.

Также этот способ позволяет менять настройки других программ, и ценность представляет больше для программистов чем для пользователей.

Я сейчас еще изучаю возможность установки русского языка для ввода на смарты, где русского нет в прошивке. Пока похоже что раскладка лежит в Z:\system\T9Ldb и подложить ее на диск C: не получится Sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185

СообщениеДобавлено: Ср, 11/02/04, 04:13
Ответить с цитатой

Покопавшись в сети нашел сайт http://www.yipton.net/
взяв за основу тамошний SCap сделал переключение даже при неактивном приложении.

Переключение работает по клавише <Call/Звонок> (только русский/английский)
Вроде удобно - при вводе текста она никакой функции не несет,
а случайные переключения при звонке не сильно мешают.

через метод CaptureKey был глюк - клавиша "теряла" свою основную функцию, переделал через CaptureKeyUpAndDowns/EEventKeyDown - работает!!

Программу можно взять с http://thetan.ru/ngage/keys01.zip
файлы HELLOWORLD.APP и HELLOWORLD.RSC записать куда-нибудь на телефон и запустить файл-менеджером,
либо установить из http://thetan.ru/ngage/keys01.sis

Называется все еще HelloWorld, иконки нет, исправлю в будущем, тестировать уже можно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
dimpos

Старожил
Старожил

Возраст: 27 Пол:Мужской
Телефон: Другой
Прошивка: SE W800
Оператор: Йайца/Пчйолы
Город: Краснодар
Сообщения: 393

СообщениеДобавлено: Ср, 11/02/04, 14:52
Ответить с цитатой

Спасибо автору! Прога очень нужная. Но вот ИМХО недоработочка. Мне такая прога пригодилась бы для переключения языков в телефонке, но при нажатии на <CALL> идет соответственно вызов абонента. Конкретно, просьба разработчику придумать другую комбинацию для переключения.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Herurg

Модератор
Модератор

Возраст: 92 Пол:Мужской
Телефон: Nokia N95
Прошивка: 21.0.016 [RED]
Оператор: BeeLine
Город: Moscow/Piter
Сообщения: 3798

СообщениеДобавлено: Ср, 11/02/04, 15:09
Ответить с цитатой

совет - лучше использовать какую-либо конбинацию клавишь - например:[ABC]+[Call]
_________________
My Nokia Story: 450i -> 3110 -> 6150 -> 7110 -> 7650 -> Nokia N80 IE -> Nokia N95 Wink
[Худею] [Мои статьи] [Русский fring]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора Yahoo Messenger
dimpos

Старожил
Старожил

Возраст: 27 Пол:Мужской
Телефон: Другой
Прошивка: SE W800
Оператор: Йайца/Пчйолы
Город: Краснодар
Сообщения: 393

СообщениеДобавлено: Ср, 11/02/04, 15:52
Ответить с цитатой

...а еще есть ведь смс-ки (они при нажатии на грин-кей отпраляются)... Но все равно идея проги - супер!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
alex14san

Активный участник
Активный участник

Возраст: 34 Пол:Мужской
Телефон: Nokia N-Gage
Прошивка: 4.03
Оператор: Би+
Город: Москва
Сообщения: 185

СообщениеДобавлено: Ср, 11/02/04, 16:47
Ответить с цитатой

dimpos писал(а):
Спасибо автору! Прога очень нужная.


Smile

dimpos писал(а):
но при нажатии на <CALL> идет соответственно вызов абонента. Конкретно, просьба разработчику придумать другую комбинацию для переключения.


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

Пока я нахожусь на этапе разбирательства что как можно сделать,
как окончательно разберусь - прикручу все настройки и украшения.

Сейчас разбираюсь с возможностью макросов и транслитерации
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Herurg

Модератор
Модератор

Возраст: 92 Пол:Мужской
Телефон: Nokia N95
Прошивка: 21.0.016 [RED]
Оператор: BeeLine
Город: Moscow/Piter
Сообщения: 3798

СообщениеДобавлено: Ср, 11/02/04, 17:03
Ответить с цитатой

alex14san писал(а):
Сейчас разбираюсь с возможностью макросов
об этом можно поподробнее? не о шаблонах ли речь? если о них, то может подключить стандартные (которые в сообщениях ужо имеюЦЦа)?
_________________
My Nokia Story: 450i -> 3110 -> 6150 -> 7110 -> 7650 -> Nokia N80 IE -> Nokia N95 Wink
[Худею] [Мои статьи] [Русский fring]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора Yahoo Messenger
Показать сообщения:   
Страница 1 из 15 На страницу 1, 2, 3 ... 13, 14, 15  След.
Главная
Список форумов Клуб любителей Series 60
   :: Series 60 - Программы
   :: Программирование
   :: Переключалка языка
Начать новую тему   Ответить на тему

Часовой пояс: GMT + 3


Powered by phpBB © 2001, 2005 phpBB Group

Включить сайт в список автообновлений по RSS версии 2.0