> Важно!

Новые темы необходимо создавать только в корневом разделе! В дальнейшем они будут обработаны модераторами.

Если Вы выложили новую версию программы, пожалуйста, сообщите об этом модератору нажав на вашем сообщении кнопку "Жалоба".



Запуск Java-Мидлетов на КПК



Реп: (15)
Java- игры » |Оптимизируем Java-игры под Тач » |Поиск игр! » |Запуск Java-Мидлетов на КПК

Обязательно ознакомьтесь с FAQ по запуску Java на КПК

Уважаемые владельцы КПК и КМК с WM6.5, прочитайте нижеследующие цитаты:
Для владельцев КПК
-Василь Иваныч, вот <acronym title='КПК - это Карманный Персональный Компьютер - БЕЗ ТЕЛЕФОННОГО МОДУЛЯ!'>КПК</acronym> себе купил
-Круто, Петька!
-Та не в этом дело, Василь Иваныч, ставлю эмулятор явы, а он не пашет, а ведь на коммуникаторе все работало...
-Акстись, Петька, Библиотеки sms.dll и phone.dll ставил?
-Нет Василь Иваныч, а что это?
-Это, Петька... Библиотеки для запуска эмулей на КПК.
-Ааа...
*За Fix_dlls_for_PPC благодарим Mforward

Для владельцев КМК с WM6.5
-Василь Иваныч, я вот <acronym title='КМК - это КоМмуниКатор = КПК + телефонный модуль'>КМК</acronym> с WM6.5 себе купил
-Круто, Петька!
-Да не в этом дело, Василь Иваныч, ставлю эмулятор явы, а пароль не могу ввести нигде, а ведь на коммуникаторе с WM6.0 и 6.1 все работало...
-Акстись, Петька, Библиотеку compime.dll ставил?
-Нет Василь Иваныч, а что это?
-Это, Петька... Библиотека исправленная для ввода паролей на wm6.5.
-Ааа...
-Не забудь перезагрузиться, Петька.
*За compime.dll благодарим Zevz


Esmertec Java Bed
Windows Mobile 6 и 6.1
VGA:
- tigerSW.cn Jbed OpenGL 2.3.1013.1 >> (поддержка видеоускорителя, создаёт ярлыки, эмулирует несколько разрешений экрана) >> >> + rus mui >> \Program Files\Myriad
- Myriad Group JBed 2009.05.06.2.1 12M VGA (heap 12Mb, 3gp) >>
- Myriad Group JBed 2009.05.06.2.1 8M VGA (heap 8Mb, 3gp) >>
- Esmertec JBed 2009.05.06.2.1 (heap 12 Mb, без залипания) + патч для vga: VGA_patch_big или VGA_patch_medium >>
- Esmertec JBed 2009.02.16.5.1 (3D и heap 12Mb) >>
- Esmertec JBed 2009.02.17.5.1R2 >> +отключение запросов
- Esmertec Jbed 2009.02.17.5.1R2 Rus >>
- Esmertec JBed 2008.12.03.2.1 + exe-файл от -Akm- (Размеры шрифтов 22,24,25)
- Esmertec JBed 2008.03.28.3.1 (3D, heap 12Mb, без запросов, Rus/Eng, на прошивках 6.5.x внизу не "проваливается" за экран) >>
- Esmertec Java от О2 Флейм - только для VGA (идет на машинках только с ВГА экранами) >> скорее всего это Jeodek

QVGA:
- tigerSW.cn Jbed OpenGL 2.3.1013.1 >> (поддержка видеоускорителя, создаёт ярлыки, эмулирует несколько разрешений экрана) >> >> + rus mui >> \Program Files\Myriad
- tigerSW.cn Jbed OpenGL Mod by Relay (что за зверь, не знаю) >>
- Myriad Group JBed 20090506.2.1 12M (heap 12Mb, 3gp) >>
- Myriad Group JBed 20090506.2.1 8M (heap 8Mb, 3gp) >>
- Esmertec JBed 2009.05.06.2.1 (heap 12 Mb, без залипания) >>
- Esmertec JBed 2009.05.06.2.1 >> (heap 8Mb, JSR-184 (3D), 3gp, mp3, mid, amr, JSR-75 (но OM5 не открыла основную память), <acronym title='выделение всего текста в окне полноэкранного редактирования'>выделение текста</acronym>, <acronym title='OMmod работает, но долго грузится при включении'>OMmod</acronym>, <acronym title='запросы безопасности только один раз'>без запросов</acronym>) + exe без залипания >>
\Program Files\JBed_2009.05.06_2.1\jbed.exe; \Program Files\JBed_2009.05.06_2.1\appdb; HKLM\software\esmertec\090506210\device info\java font
- Esmertec JBed 2009.04.16.5.1 8M >> (heap 8Mb, JSR-184 (3D), 3gp, mp3, wav, mid, JSR-75 (фс), <acronym title='выделение только одного слова в окне полноэкранного редактирования текста'>выделение слова</acronym>, <acronym title='виснет при выходе из полноэкранного редактирования'>OM5</acronym>, OMmod, <acronym title='без запросов безопасности'>без запросов</acronym>) + exe без залипания >>
\windows\jbed.exe; \Program Files\esmertec\appdb; HKLM\software\Apps\Esmertec Java\Device Info\Java Font
- Esmertec JBed 2009.02.16.5.1 (3D и heap 12Mb) >>
- Esmertec JBed 2009.02.17.5.1R2 >> (heap 4Mb, JSR-184 (3D), 3gp, mp3, wav, mid, JSR-75 (фс), <acronym title='выделение только одного слова в окне полноэкранного редактирования текста'>выделение слова</acronym>, <acronym title='виснет при выходе из полноэкранного редактирования'>OM5</acronym>, OMmod) + замена файлов: без залипания и запросов
\windows\jbed.exe; \Windows\Appdb; \HKLM\Software\Apps\Esmertec Java\Device Info\Java Font; (после замены файлов: \HKLM\Software\Esmertec\090216_51\Properties\Device Info\Java Font])
- Esmertec Jbed 2009.02.17.5.1R2 Rus >>
- Esmertec JBed 20081203.2.1 (многозадачность, отсутствует 3d, создаёт ярлыки!) >>:
             • JBed 2008.12.03.2.1_WinDir_En - установка в папку "Windows", для eng версии, т.е.у кого "Start Menu".
             • JBed 2008.12.03.2.1_WinDir_Ru - установка в папку "Windows", для rus версии, т.е. у кого "Главное Меню". (heap 8Mb|16Mb >>)
             • JBed 2008.12.03.2.1 - можно устанавливать везде, но ярлыки будет создаваться неправильно.
- Esmertec Jbed 20081203.2.1 (корректно работающий с карты памяти) >> Все вопросы и претензии к The_ZeN
- Esmertec JBed 2008.09.12.5.1 by Sorg (нет залипаний, разлочены все медиа форматы, нет запросов, heap 8Mb) >>
- Esmertec JBed 2008.09.12.5.1 by padona4ek (не модифицирована в отличии от by Sorg, работает на всех экранах)
- Esmertec JBed 2008.03.28.3.1 (3D, heap 12Mb, без запросов, Rus/Eng, на прошивках 6.5.x внизу не "проваливается" за экран) >>
- Esmertec JBed 2008.03.28.3.1 VolROM +8mb (heap 8Mb, Rus/Eng) >> >>
- Esmertec JBed 2008.03.28.3.1 RUS (heap 4Mb, Rus) >>
- Esmertec JBedModHeapFix(02.01.08) >>
- Esmertec JBed3dModHeapFix(02.01.08) >> >> (играет звуки своеобразно: копирует файлы в временную папку (по умолчанию - \Application Data\Volatile\), проигрывает и потом, по идее, удаляет. По идее потому, что midi и wav он удаляет корректно, а mp3 оставляет.)
- Esmertec JBed3dMod HeapSizeFix 12.02.2008 на основе Esmertec Jbed ver.20071119.3.1 >> (без запросов)
- EsmertecJbedNotForStorage(02.01.08 ??) >>
- Jbedtestgiris (23.02.08 byDom1nat0R aka NermaN) - JBed3dMod RU Fix 1.1 на основе тестовой версии JBed3dMod_HeapSizeFix_17.02.08 (Esmertec Jbed v.20071119.3.1) >> >> (перезагрузить устройство после установки).
Windows Mobile 5
- Esmertec JBed 2009.05.06.2.1 >>
- Esmertec JBed 2009.02.16.5.1 >> + замена exe-файла >>
- Esmertec JBed 2008.12.03.2.1 (многозадачность, отсутствует 3d, создаёт ярлыки!) >> + замена exe-файла >>
- Esmertec JBed 2008.03.28.3.1 VolROM +8mb >>
- JBedModHeapFix(02.01.08)
- Jbedtestgiris (23.02.08 byDom1nat0R aka NermaN) - JBed3dMod RU Fix 1.1 на основе тестовой версии JBed3dMod_HeapSizeFix_17.02.08 (Esmertec Jbed v.20071119.3.1) >> >> (перезагрузить устройство после установки).
Windows Mobile 2003 (by giris&deamonpnz)
- JBed3dMod_HeapSizeFix (25.02.08) >> - Работает как с карты, так и с основной памяти. Инсталлируется в "%Program Files%/Jbed3DMod".
Можно увеличить шрифт:
1. Удалить %Program Files%/Jbed3DMod/jbe0524.dll.
2. Вместо неё из папки %Program Files%/Jbed3DMod/Dll скопировать новую: чем больше плюсиков в названии dll, тем крупнее шрифт в ней "содержится".
2. Переименовать ее в jbe0524.dll
Кто хочет английский язык, удаляйте "jbed.exe.0409.mui", а "jbed.exe.0409_Eng.mui" переименуйте в "jbed.exe.0409.mui".

- Esmertec Jbed heapfix >> - скопировать содержимое архива в папку \Storage Card\jbed0802\
- Esmertec Jbed3d heapfix >> - скопировать содержимое архива в папку \Storage Card\jbed0524\

Примечание: Если вы ставите эмуляторы на КПК(т.е у вас отсутствует телефонный модуль), то вам будут необходимы библиотеки phone.dll и sms.dll. На форуме присутствуют библиотеки только для wm5(см. шапку). Их работоспособность на wm2003 не проверена. Кто проверит просьба отписаться о результатах. Также необходимо, чтобы девайс был разлочен.
Порядок запуска мидлетов эмулятором Esmertec Java:
1. Устанавливаем ява-эмулятор;
2. Теперь все jar и jad файлы ассоциированы с эмулятором -> можно открыть их из любого файл-менеджера и начнётся установка;
или
открыть эмулятор и инициировать в нём поиск java файлов. Найти нужный и начать установку;
3. После нескольких вопрос java установтся;
4. Запускать java-программы из эмулятора.
Более подробно в сообщении volta_john № 398636

Можно создать ярлык на каждую установленную java-программу:
5.1 Создаем txt-файл с текстом: 28#"\Windows\jbed.exe" -run s_
- порядковый номер мидлетов, начинается от 0.
смотреть в директория_с_эмулятором\appdb\selector.utf в секциях root=s№_, \
Путь до jbed.exe может быть разным в зависимости от версии эмулятора:
\Windows\jbed.exe
\Program files\Jbed\jbed.exe
\Program files\Jbed_xxxxxxxxxxxxx\jbed.exe
\Storage Card\Windows\jbed.exe
\Storage Card\Program Files\Jbed\jbed.exe
\Storage Card\Program Files\Jbed xxxxxxxxxxx\jbed.exe
Так что зайдите в \windows\главное меню\программы. Откройте любым текстовым редактором файл jbed.lnk и скопируйте из него путь.

  • Так же есть возможость поставить иконку на ярлык: 28#"\Windows\jbed.exe" -run s_?Icon.dll,-7
Если просто написать Icon.dll, то эта библиотека должна находиться в папке Windows.
Либо можно прописать полный адрес к библиотеке с иконками в ярлыке. После Icon.dll,- указывается номер иконки в библиотеке.
Полный пример ярлыка с иконкой:
28#"\Program Files\Jbed_2009.05.06_2_1\jbed.exe" -run s1_?Program Files\Jbed_2009.05.06_2_1\Icon.dll,-102

5.2 Сохраняем в txt;
5.3 Меняем расширение файла на lnk;
5.4 Перемещаем файл в \windows\главное меню\программы.
--Smartphone
- Esmertec Java


Esmertec JBlend
По просьмам трудящихся
Всё, что нашёл в теме:
- Esmertec JBlend 3.3.6 20091127 a >> из прошивки Samsung'а (не знаю какого). Вот история создания: 1>> 2>> 3>> 4>>. Благодарим extvision и serega13!
- Esmertec JBlend 3.3.6 20080605 b >> из прошивки Samsung WiTu. giris:"жуткий, тормозной и неудобный..."


IBM J9 Websphere Everyplace Micro Environment Java Midlet Manager
Версии
-IBM J9 WEME MIDP20 JMM v.6.1.0 (WM5/WM6/QVGA/ собрано yukon_28)
-IBM J9 WEME MIDP20 JMM v.6.1.0 (WM5/WM6/VGA/ собрано dFine1107) >>
-IBM J9 WEME MIDP20 JMM v.1.3 >>
Некоторые особенности эмулятора IBM J9 WEME:
- Эмулятор при запуске образует менеджер мидлетов под именем "Midlet HQ".
- Все установившиеся мидлеты он пишет в My Documents/temp.
- После удаления какого-либо мидлета из "Midlet HQ", может потребоваться его ручное удаление из My Documents/temp.
- Эмулятор работает на Storage card
- Jad-файл при установке мидлетов не требуется
- Работает с буфером обмена
- Если при запуске эмулятора мало свободной RAM памяти, он может не запуститься, при этом никаких сообщений не выводится
- Стандартный комплект IBM J9 WEME MIDP20 JMM не поддерживает спецификацию JSR75 - у мидлетов нет доступа к файловой системе КПК.
Этот патч устранит проблему.
После установки патча перенастраиваем разрешения модифицированной Opera mini в MIDlet HQ - Actions -> Permissions: Comm, File Read и File Write нужно установить в Always allowed (настройки предоставлены volta_john).
- Способ ликвидации запросов security эмулятора IBM J9, в том числе о разрешении доступа в сеть (если Вас это беспокоит), выложил Yago De Malina в сообщении № 886752.
- ненравится шрифт в v. 6.1.0 для QVGA
- Замена шрифта пост № 324711
- Альтернативый способ Vadya corp. № 468394
- IBM иногда глючит - слетают все установленные в него мидлеты или закладки в Опере мини, Опера мини загружает белые листы, а потом вообще перестает запускаться и т.п. Лечения см. в сообщении № 472209
Можно создать ярлык на каждую установленную java-программу:
1. Создаем txt-файл с текстом: 77#"\Storage card\IBM MIDP20\bin\emulator.exe" "-Xjam:run=" (спасибо Isidor)
- порядковый номер мидлета в списке установленных мидлетов. Путь до emulator.exe нужно вписать свой.
2. Сохраняем в txt;
3. Меняем расширение файла на lnk;
4. Перемещаем файл в \windows\главное меню\программы.
Запуск мидлетов можно производить при помощи ярлыков:
- Ярлык для запуска мидлета выглядит так:
77#"\Storage card\IBM MIDP20\bin\emulator.exe" "-Xdescriptor:\Storage card\Opera mini\opera117.jar" (спасибо Konrad и VitAR).
- Пути, естественно, ваши.
- Данный способ можно использовать для запуска любых мидлетов, изменяя при этом только пути к файлам.
- При запуске мидлета через указанный ярлык он временно устанавливается в эмулятор, а при окончании работы - дезинсталлируется. Поэтому история и закладки в Opera mini при таком методе запуска не сохраняются.
(ярлычки от konrad)
Мануал по IBM J9 WEME MIDP20 JMM(Eng)


TAO Intent Java Midlet Manager
Версии
Для работы данного эмулятора на любых девайсах были разработаны патчи elate.dll (для версий 10.1.2.57, 10.1.2.76 и 11.1.7.1023 их разработал ZuRiUs, а для версии 11.1.7.1034 - dFine1107). Ниже преведенные Cаb'ы уже пропатчены.

dFine1107 добавил также возможность установки в любое место и возможность деинсталляции штатными средствами.
- TAO v. 10.1.2.76 (WM 2003/WM5)
- ТАО v. 11.1.7.1034 для коммуникаторов (WM5/WM6)
- ТАО v. 11.1.7.1023 (Build 20060907) НЕ для коммуникаторов – (WM5/WM6/не пропатчен/не мод.)

Более скоросные модифицированные от dFine1107
- ТАО TurboTweaked v. 11.1.7.1023 (Build 20060907) для коммуникаторов (WM5/WM6);
- ТАО TurboTweaked v. 11.1.7.1023 (Build 20060907) НЕ для коммуникаторов (WM5/WM6);

Версии TAO для смартфонов (архив в оригинальном виде) представил daemonpnz, а cab-инcталляторы собрал dFine1107:
- TAO.intent.Java.MIDlet.Manager.v10.1.0.14.b20040225 (WM2003 by dFine.)
- TAO.intent.Java.MIDlet.Manager.v10.1.7.561.b20060726 (WM5 by dFine.)
Некоторые особенности эмулятора TAO Intent JMM:
- Jad-файл при установке мидлетов не требуется
- С буфером обмена эмулятор в штатном режиме не работает. Патч для работы буфером обмена смотреть тут
- 11-е версии эмулятора имеют доступ к файловой системе КПК
- TAO больше подходит для java-игр, чем для работы с сетевыми мидлетами.
- На TAO периодически возникает такая проблема - при установке или удалении очередного мидлета процесс как-бы зависает и внезапно заканчивается тем, что пользовательский интерфейс эмулятора вдруг оказывается пустым. Лечение см. в сообщении № 472209


Java-эмуляторы с поддержкой Bluetooth (JSR-82) теперь существуют! :) (их истоки >>)

Если в приложениях нет звука сначала прочтите этот пост

Эмуляторы не запустились? Вот еще парочка, пробуйте....
Home page Java Technology

P.S. Если есть дельные замечания и предложения - отписываемся модератору или куратору.

Сообщение отредактировал wandererbk - 18.05.12, 13:18
Причина редактирования: Итого: Дополнил описание (4), исправил очепятки, исправил описание(3), исправил орфографию, добавил (4) эмуля, поправил (1) ссылку



Реп: (2)
IBM Java 6.0.6 у меня отлично работает Спасибо Chima :good: :good: :D



Реп: (81)
Машинка hp2190 eng, wm5.
Эмулятор Tao v10.1.2.76 (Build 20040705) Оказалось очень просто заставить его работать.

Берём шрифт tahoma.ttf 243.18 кб. с ББ, и Заменяем им родной в /windows/ на КПК Реско Эксплорером.
Реско ругнётся, что мол файл в Ром и опасно, смело заменяем.
После софт ресет, и ура, ТАО начнёт ЗАПУСКАТЬ мидлеты!

Прикрепленные изображения
Прикрепленное изображение


Сообщение отредактировал Mforward - 26.11.06, 17:53



Реп: (58)
Mforward,
отличное решение для копилки знаний по ТАО! Вот только вопрос -
Mforward @ 26.11.06 07:30:13
Эмулятор Tao v10.1.2.76 (Build 20040705) Оказалось очень просто заставить его РАБОТАТЬ...
...ура, ТАО начнёт ЗАПУСКАТЬ мидлеты!

так в чем, собственно, была проблема? ТАО до этого не работал вообще, или работал и производил установку мидлетов в Менеджер Мидлетов, но не мог оттуда их запустить?



Реп: (81)
Тао устанавливался, мидлеты тоже ставились, но НЕ запускались(писал ошибку)



Реп: (58)
Управление в java-играх (мидлетах). Известные проблемы и некоторые способы их решения.

Не секрет, что поддержка java в девайсах на платформе PocketPC на сегодняшний день реализована крайне плохо. Возможности как встроенных в прошивку эмуляторов java, так и имеющихся для свободного скачивания из сети, сильно ограничены по сравнению с ява-машинами мобильных телефонов и смартфонов на ОС Symbian. Отсутствие поддержки спецклассов производителей телефонов (Nokia, Siemens, Motorola и т.д.), неполная реализация стандандартных спецификаций J2ME, а также отсутствие поддержки расширенных спецификаций java, приводит к невозможности установки большей части мидлетов на PocketPC. Решение этой проблемы целиком на совести разработчиков эмуляторов java, которые предлагают девелоперам (производителям девайсов) полные версии эмуляторов с улучшенной совместимостью, наличием библиотек спецклассов мобильных телефонов, расширенных спецификаций и полной поддержкой J2ME за такие огромные деньги, которые те, скорее всего, никогда им не заплатят. А те намного более дешевые версии эмуляторов java, которые устанавливаются в прошивку девайсов их производителями, представляют из себя максимально урезанные варианты полных версий. Эти версии, кстати, и доступны для загрузки из сети, и именно о них написано выше. Полные версии в интернете недоступны ни в каком виде, нет даже демо или триал версий.

Однако проблема не заканчивается лишь ограничением количества мидлетов, которые возможно установить в эмуляторах java. Это только цветочки. После "успешной" установки мидлета в Менеджер Мидлетов зачастую оказывается, что при его запуске девайс или зависает намертво (причем дело может дойти до хард-ресета), или мидлет вылетает с ошибкой (иногда вообще без каких-либо сообщений). Причем как при самом запуске, так и во время работы/игры в любой момент, чаще всего через 1 - 5 минут после начала работы/игры. Эта проблема также обусловлена, как и проблема с установкой, плохой совместимостью доступных эмуляторов java с кодами мидлетов, написанных для мобильных телефонов (хотя написаны эмуляторы java как раз для запуска мидлетов от мобильных телефонов!). Решение проблемы то же, что и выше описанное - возможность доступа к новым, полным, более качественным версиям эмуляторов.

И вот наконец мидлет успешно установлен и успешно запущен. Ваш любимый еще с мобильного телефона SplinterCell: Double Agent после прохождения заставок предлагает выбрать - воспроизводить звук в игре, или нет. И ждёт Вашего ответа Yes или No, который возможен только в виде нажатия левой или правой телефонной софт-клавиши. Тут мы сталкиваемся с ещё одной проблемой современных доступных эмуляторов java для PocketPC - полным отсутствием эмуляции нажатий телефонных софт-кнопок. Эта беда делает невозможным запуск примерно половины из тех java игр, которые смогли нормально установиться в эмуляторы java для PocketPC. После появления такого вопроса на дисплее почти всегда единственным выходом из ожидания ответа остаётся закрытие java игры "крестом". После этого и на самой java игре можно ставить крест и удалять её из Менеджера Мидлетов. Причем последствия этого сказываются почти во всех мидлетах, которые при запуске не требуют подтверждающих/отменяющих операций с использованием телефонных софт-клавиш, и которые благодаря этому можно запускать. Они работают нормально только до тех пор, пока не становится необходимым нажатие именно телефонной софт-кнопки. В результате на сегодняшний день (ноябрь 2006г.) становится возможным полноценное использование только тех малочисленных мидлетов, в которых либо всё управление полностью выполняется джойстиком (пример - игра Freestyle Moto X2), либо действия софт-кнопок дублируются в мидлете кнопками * и # (пример - игра Splinter Cell: Pandora Tomorrow). Подчеркну в связи с вышеизложенным - всё управление в мидлете (т.е. кнопки, которые в нём используются) заложено в самом мидлете программистами, его написавшими, и от эмулятора java не зависит. Эта проблема на платформе PocketPC пока не имеет решения. Никакие возможные кнопки виртуальной клавиатуры, включая хард-кнопки девайсов (которые вообще не перехватываются), не заставляют существующие эмуляторы java посылать в работающий мидлет коды, эмулирующие нажатия телефонных софт-кнопок. При запуске мидлетов, написанных под старую платформу MIDP 1.0, и TAO Intent Java MIDlet manager, и IBM J9 WEME MIDP20 JMM, и Coretek Delta java manager позволяют эмулировать софт-кнопки в виде виртуальных кнопок в нижнем баре на экране девайса. Нажимать на них необходимо стилусом. Для мидлетов, написанных на платформе MIDP 2.0, такую эмуляцию обеспечивает только Coretek Delta java manager, причем не для всех мидлетов. Такой странный ход разработчиков эмуляторов java сложно объяснить. Решение этой проблемы очевидно, и не может быть сложным в реализации для авторов. Причем в случае с TAO Intent Java MIDlet manager вообще налицо "саботаж". Версия для PocketPC лишена поддержки софт-клавиш (нажатия F1 (код 70 hex) и F2 (код 71 hex) игнорируются), версия для Windows Mobile for Smartphone их отлично эмулирует. Одним из частных решений проблемы с запуском мидлетов на старте, когда необходимо ответить на вопрос нажатием левой или правой телефонной софт-клавиши, является нажатие цифры 5, символов * либо # на виртуальной клавиатуре девайса, а также нажатие джойстика. Эмуляция нажатий данных кнопок эмуляторами java выполняется корректно, кроме эмулятора Coretek Delta java manager, который, хотя и эмулирует нажатие джойстика, однако нажатия 5, * и # эмулировать отказывается.

Поправка. С 10.01.2007 на форуме стала доступна версия 11.1.7.1023 эмулятора TAO Intent Java MIDlet manager - TAO Runtime JTWI 1.0 для ОС Windows Mobile 5.0, в которой добавлена поддержка эмуляции телефонных софт-клавиш и внесён ещё целый ряд улучшений.

Итак, игра запустилась, нажатий телефонных софт-кнопок не потребовалось, и вы готовы разобраться со всеми террористами на Земле вместе с Сэмом Фишером (игра Splinter Cell: Extended Ops). Но что это такое?!! Джойстик не работает!

Неработоспособность или частичная работоспособность джойстика связана с тем, что мидлет ожидает в качестве кодов команд джойстика (вверх, вниз, влево, вправо, выбор) вовсе не те коды, которые ему передаёт эмулятор java. В результате в мидлете джойстик оказывается нерабочим. Здесь следует добавить, что все команды нажатий кнопок виртуальной клавиатуры или джойстика пользователем поступают в мидлет через "переводчик", в качестве которого выступает эмулятор. При этом разные эмуляторы java генерируют разные коды для одних и тех же кнопок. Пример:

Скан-коды TAO Intent Java MIDlet manager.

джойстик вверх = -57377/1
джойстик вниз = -57378/6
джойстик влево = -57379/2
джойстик вправо = -57380/5
джойстик нажатие = 13/8

Скан-коды IBM J9 WEME MIDP20 JMM.

джойстик вверх = -1/1
джойстик вниз = -2/6
джойстик влево = -3/2
джойстик вправо = -4/5
джойстик нажатие = -5/8

Решение данной проблемы возможно лишь в тех мидлетах, в которых заложено разработчиками дублирование джойстика на цифровые кнопки мобильного телефона. Эмуляция их нажатий эмуляторами java выполняется корректно (исключение составляет лишь Coretek Delta java manager). При этом их соответствие в большинстве мидлетов определяется следующим образом:

джойстик вверх = 2
джойстик вниз = 8
джойстик влево = 4
джойстик вправо = 6
джойстик нажатие = 5

Проблема с джойстиком не последняя. Замыкает парад ограничений использования мидлетов на PocketPC некорректное программное взаимодействие виртуальной клавиатуры с запущенным в эмуляторе java мидлетом. Визуально это проявляется в неприятных глюках, например, в игре Splinter Cell: Extended Ops при нажатии на виртуальной клавиатуре кнопки 6 Сэм начинает бежать вперёд без остановки, пока не наступает на мину и не подрывается, или после каждого нажатия действие выполняется один раз, после чего всё тормозится, и для следующего действия необходимо, к примеру, нажимать последовательно кнопки *, а затем #. Также возможна лишь частичная работа ряда кнопок 2, 4, 5, 6, 8. Проявлений может быть множество, все их просто не описать, да это и не нужно - то, что что-то работает не так, будет заметно сразу. Источником данной проблемы являются используемые на девайсе программы виртуальных клавиатур. Поведение управления в мидлетах при использовании разных клавиатур может очень существенно отличаться - от полной невозможности до стабильной и нормальной работы. Причина глюка управления так мной точно и не установлена. Есть лишь предположение, что дело тут в том, как эмулятор передаёт их команды в запущенный мидлет. Т. е. эмулятор "доносит" до работающего мидлета команды пользователя с клавиатуры в таком формате, в каком он получает их от ОС, а мидлет, написанный под KVM и ОС определённого телефона, и формат команд ожидает соответствующий. Абстрактный пример: эмулятор передал в мидлет команду с клавиатуры "Пользователь Нажал Кнопку 5 - Пользователь Отпустил Кнопку 5", но мидлет понимает только такой формат "Пользователь Нажал Кнопку 5 - Пользователем Прекращено Нажатие Кнопки 5". Из-за этого и возникает некорректное программное взаимодействие.
Мною была проведена работа по изучению поведения управления в мидлетах с использованием различных виртуальных клавиатур, доступных в Карте Форума. Удовлетворительные результаты дают QKeys, LEng и Keyboard+. Лучше всех показала себя Resco Keyboard Pro, но небольшие проблемы есть и с ней (к примеру, в играх Sven и SpiderMan). Повторяемость результатов была 100%. Использовалось более сотни мидлетов. На этом, собственно, и хотел завершить тест виртуальных клавиатур, однако знание о наличии проблемы во всех протестированных клавиатурах постоянно свербило у меня в голове, заставляя искать клавиатуры, не описанные на форуме, пока я не вспомнил о бесплатном лайт-русификаторе от МакЦентра PocketRussKey, в состав которого и входила не изученная мной полноценная виртуальная клавиатура.
Результат оказался наилучший! Более того, не было зафиксированно ни одной проблемы с управлением во всех используемых мидлетах! Можно с большой долей уверенности говорить о том, что проблемы некорректного программного взаимодействия мидлетов с данной клавиатурой просто не существует. Однако установка бесплатного лайт-русификатора от МакЦентра PocketRussKey имеет свои особенности. Это ПО - всё таки русификатор, и установка русификатора поверх другого русификатора может быть чревата для девайса серьёзными глюками. Если изначально Вы - счастливый обладатель системы русификации от МакЦентра, то можете смело пропускать эту часть, если нет - читайте дальше. Если на Вашем девайсе данная проблема никогда Вам пока не встречалась, отлично! Возможно, что вы её никогда и не получите. К примеру, на Qtek 9100 при использовании родной виртуальной клавиатуры эта проблема не проявляется.

Итак, заканчиваю критику и аргументацию, и перехожу к позитивным предложениям.

Если Вы решили пользоваться java-играми (мидлетами) и при их запуске обнаружили проявление последней описанной в данном сообщении проблемы с управлением, решением проблемы станет установка PocketRussKey lite:

1. Делаете полный бэкап системы, чтобы в случае возникновения проблем в работе Вашего PocketPC после установки PocketRussKey lite Вы смогли сделать хард-ресет и через рестор вернуться к состоянию до установки ПО от МакЦентра.
2. Поскольку после установки PocketRussKey встроенная в него Клавиатура станет клавиатурой Вашего PocketPC по умолчанию, для получения возможности быстрого восстановления загрузки по умолчанию привычной клавиатуры экспортируйте с помощью любого редактора реестра ветку HKEY_CURRENT_USER ControlPanel\Sip. Reg-файл лучше всего скопировать на карту памяти, чтобы в случае возможного хард-резета не повторять эту процедуру вновь.
3. Скачиваете приаттаченный к сообщению архив keyboard.zip и распаковываете его.
Если Ваш PocketPC работает под управлением Windows Mobile 2003/SE, то необходимо распаковать вложенный архив Pocket_RussKey_2.1b_lite.zip. Данная версия дана мной в виде установочного cab-файла MacCentre_Pocket_RussKey_2003.cab. Использовать эту версию на девайсах, работающих под управлением Windows Mobile 5.0, нельзя!
Если Ваш PocketPC работает под управлением Windows Mobile 5.0, то необходимо распаковать вложенный архив Pocket_RussKey_2.12_lite.zip. Данная версия устанавливается на PocketPC только с ПК через ActiveSync запуском на нём дистрибутива MacCentre_Pocket_RussKey_2003.ехе. Cab-файл не создаётся.
4. Устанавливаете PocketRussKey на свой девайс, выбрав при установке lite версию программы. По окончании установки производите софт-ресет своему PocketPC.
5. После этого ОБЯЗАТЕЛЬНО удалите из папки \Windows\ файл шрифта bkdings.ttf (для Windows Mobile 2003/SE); или kkbdsym.ttf, либо prkkbdsym.ttf (для Windows Mobile 5.0). Если просто так сделать это не получается, переименуйте его, к примеру, в bkdings.tt или kkbdsym.tt (либо prkkbdsym.tt) и еще раз выполните софт-ресет. Теперь у Вас получится его, переименованный, удалить. Либо его можно удалить без проблем через ActiveSync с ПК.
6. После установки PocketRussKey встроенная в него Клавиатура стала клавиатурой Вашего PocketPC по умолчанию. Чтобы восстановить загрузку по умолчанию привычной клавиатуры, запустите reg-файл, который предварительно, до установки PocketRussKey, был Вами экспортирован из реестра (см. пункт 2).
Если же ветка реестра HKEY_CURRENT_USER ControlPanel\Sip своевременно не была Вами экспортирована, значение параметра HKEY_CURRENT_USER ControlPanel\Sip\DefaultIm можно будет восстановить вручную. Для этого замените его значение DefaultIm в соответствии с приведенными ниже справочными данными для различных клавиатур:
{42429667-ae04-11d0-a4f8-00aa00a749b9} = Keyboard
{51A2CB38-154E-4C92-A625-A83871C99EC2} = Phone Pad
{42429690-ae04-11d0-a4f8-00aa00a749b9} = Letter Recognizer
{42429691-ae04-11d0-a4f8-00aa00a749b9} = Block Recognizer
{991A1001-9DCB-11d3-B3C2-000000000000} = AccessPanel
{1E03E205-12D7-4d82-963E-C01889F2EC10} = Claviature
{95BDB641-772F-11d2-AC6B-204C4F4F5020} = Fitaly
{52429695-AE04-11D0-A4F8-00AA00A749B9} = FleXslide
{4EAD10BD-83AC-44b9-99AE-71958C1B0F0E} = InPad
{C099F78A-924E-4814-A8CF-54E7BD8C2124} = JetKeys
{4128DEE4-EE84-4338-A261-CC704CB32C19} = NanoPad
{42429695-AE04-11D0-A4F8-00AA00A749B9} = NullKB
{025ECAC2-075B-4b82-A972-05E4C17719EA} = PDAMedia Excel
{FA957346-A925-4b68-B9E1-D3D0310F4433} = PDAMEdia KBD
{DE6510EF-6691-401D-B1D3-B9074BFD1555} = PHM Character Map
{81FC2CAD-AD71-4793-9464-36D27630E584} = PHM Clipboard Pane
{9DD23292-0AB3-48F2-A245-0713652A8CEE} = PHM Ext. Keyboard
{FFFD6819-FF21-4e93-B844-A1BBF986B55C} = QuikWriting
{991A1000-9DCB-11d3-B3C2-000000000000} = RapidCalc
{A070BE16-AD56-11d3-BC77-00C06C512035} = Resco Keyboard Pro
{7F0854D9-9ADA-45A9-A3A2-189D9BE8A653} = Smilies Input Panel
{26F56EF0-2CE8-4C46-ADC8-FE0A7DF12DD1} = SPB Fullscreen Keyboard
{5efab5bd-0af5-48f8-abec-6f36e3a0b5af} = TenGo
{8A7968F3-677B-4F64-859C-8A49FCCCB9BF} = TextPlus
{A5304BFA-CC1D-493f-87D3-D9C17147FA32} = TopKey
{4345EA53-B8A5-4E24-A14A-F7C34DD78077} = WordLogic
{D79FF5E2-3F2D-4EDF-9DFA-8EDAE42024BB} = qkeys от Кварты
Если нужной Вам клавиатуры нет в этом списке - тогда хард-резет, все заново, и не забываем о пункте 2.
На этом установка PocketRussKey завершена. Одновременная работа в девайсе двух русификаторов при установке PocketRussKey по приведённой выше инструкции не будет сопровождаться ошибками и глюками. Это проверено на HP iPAQ h5550 Windows Mobile 2003, iMate JAM Windows Mobile 2003SE PE, а также Asus P535 и Qket S200 на Windows Mobile 5.0. На моём девайсе HP iPAQ h5550 иногда Клавиатура запускается с задержкой, выдавая такое сообщение об ошибке:

Прикрепленное изображение

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

Вид меню настроек на вкладке "Личные" HP iPAQ h5550 Windows Mobile 2003.

Прикрепленное изображение

Вид меню настроек на вкладке "Личные" iMate JAM Windows Mobile 2003SE PE.

Прикрепленное изображение

Вид меню настроек PocketRussKey на HP iPAQ h5550

Прикрепленное изображение

Прикрепленное изображение

Вид меню настроек PocketRussKey на iMate JAM

Прикрепленное изображение

Как видите, все замечательно и мирно сосуществует. Но если вопросы и проблемы всё же появятся, обязательно здесь в теме о них пишите.

7. Как я уже отметил выше, наилучшее управление из протестированных виртуальных клавиатур обеспечивают Клавиатура от МакЦентра, входящая в состав PocketRussKey, и Resco Keyboard Pro. При их использовании, если в java игре не работает джойстик, удобно использовать раскладку, повторяющую блок цифровых клавиш обычных клавиатур. На обычной раскладке с рядом цифровых кнопок игровой процесс - сплошное мучение.

HP iPAQ h5550

Прикрепленное изображение

Однако в java играх, написанных для мобильных телефонов, 8 - это вниз, а 2 - это вверх (такая раскладка цифровых клавиш мобильных телефонов), но на цифровом блоке компьютерных клавиатур 8 - вверху, а 2 - внизу. Не знаю, как Вам, но мне в java играх на компьютерной раскладке бегать без ошибок не получалось. Автоматом, заигравшись, жму 8, расположенную вверху, и жду движения вверх, но получаю перемещение вниз, совершенно мне не нужное. Поэтому в приаттаченном архиве Вы можете найти переделанный мной файл keyboard.dll для PocketRussKey, заменив которым оригинальный файл в папке \Program Files\RussKey\Keyboard\, можно значительно улучшить и сделать комфортней игровой процесс. Предварительно не забудьте сделать резервную копию оригинального keyboard.dll для возможности восстановления работы программы. Если просто так заменить исходный файл не получается, переименуйте его, к примеру, в keyboard.dl. Если Вы используете автоматический уборщик мусора на старте девайса типа Remover или SKTools от S_K, ОБЯЗАТЕЛЬНО разово отключите эту функцию в программе-уборщике, и только после этого выполните софт-ресет. Теперь у Вас получится удалить исходный переименованный файл и записать вместо него обновлённый. Либо его можно удалить без проблем через ActiveSync с ПК. Данный файл может использоваться как на девайсах с Windows Mobile 2003, так и на девайсах с Windows Mobile 5.0 с отключенной проверкой сертификатов.
ВНИМАНИЕ !!! Имеются данные о следующих проблемах, возникших при замене keyboard.dll на девайсах с Windows Mobile 5.0:
1. Если PocketRussKey используется как клавиатура по умолчанию, то после указанной замены девайс не выходит из софт-резета, зависает на белом экране, и выводится из этого состояния только хард-резетом. Поэтому НЕОБХОДИМО сразу же после замены keyboard.dll ОБЯЗАТЕЛЬНО восстановить указанным выше способом (пункт 6) загрузку по умолчанию клавиатуры, которая использовалась в этом качестве до установки PocketRussKey. В противном случае, как уже было сказано, хард-резет гарантирован (проверено на Asus P535, Qtek S200 и I-Mate Jamin).
2. На I-Mate Jamin при замене keyboard.dll возникала локальная проблема конфликта с ранее установленной Resco Keyboard Pro. После замены dll'ки и восстановления дефолтной Sip девайс все равно зависал на белом экране, пока Resco Keyboard Pro не была удалена полностью, включая записи в реестре, которых удалители не видят (записи в реестре ищутся поиском по словам "Resco Keyboard"). После установки PocketRussKey, замены keyboard.dll и двойного софт-резета Resco Keyboard Pro замечательно установилась заново как клавиатура по умолчанию.

HP iPAQ h5550

Прикрепленное изображение

iMate JAM

Прикрепленное изображение


Переделкой keyboard.dll для PocketRussKey я не ограничился. В архиве также находится cab-файл скина для Resco Keyboard Pro RKbdBlackSkin_p_QVGA.CAB, который необходимо установить в папку установки клавиатуры. После этого оригинальные файлы Numeric.map и NumSmall.png можно будет заменить без сложностей на приложенные в архиве, и выбрать в настройках Resco Keyboard Pro скин Black. В результате в играх получится следующее:

HP iPAQ h5550

Прикрепленное изображение

Данная модификация клавиатуры работает на девайсах и с Windows Mobile 2003/SE, и с Windows Mobile 5.0.

На этом всё. Выражаю благодарность rendor-у за неоценимую помощь и тестирование PocketRussKey на свой страх и риск.

Прикрепленные файлы

Прикрепленный файлkeyboard.zip ( 383.33 КБ )



Реп: (261)
Молодцы.... Бли-и-ин долго читал!!!
:D volta_john, смотрю обшение с рендером приводит к потрясающим результатам в написании и выражающимся в чувстве удивительного загруза у читателя в голове.. Ну это так - шучу я... Просто подвести итог с вашего позволения постараюсь:

Господа нормальное дублирование джойстика с SIP клавиатуры наиболее грамотно реализуется при использовании Resco Keyboard Pro и PocketRussKey. Кои и надо юзать - особенно переключив в режим эмуляции numpad'а. А вот чтобы перевернуть ее пользуемся рецептами от естествоиспытателей!

=) Ладно а теперь шутки в сторону! Ребята - спасибо огромное за проделанную работу - по себе знаю на сколько запарно заниматься тестированием, подгонкой и т.п. Еще и учитывая потерянное время и вероятность ХР. Кстати - я вначале не понял про что вы вообще начали говорить - дело в том что у меня изначально и русскей и реска стоят, посему я даже не предпологал что на других клавах косяк... Воистину - век живи - век учись. А вообще есть новость - Coretek Delta java manager тут ребята вроде эмуль делают... хотя если честно я бы им памятник поставил только за эмуль софткеев... хз.. может что и выйдет.



Реп: (117)
Chuma
Для тех, кто Resco Keyboard Pro и PocketRussKey не пользуется, я думаю что volta_john написал исключительно полезный мануал. Могу сказать, что на своей дефолтной клавиатуре я в принципе не мог играть в такие игры, как например Splinter Cell или Spider Man. Симптомы болезни были именно такие, как volta_john описал - жмешь на клавишу, и герой несется вперед, насколько программа позволяет ему двигаться в данном направлении, а затем замирает, и чтобы оживить его, нужно нажать кучу клавиш. Играть, конечно, было невозможно (уточню что это, конечно, проявлялось не во всех играх). Теперь же, после установки PocketRussKey - лайт версии, все просто замечательно работает.
У меня удаление шрифта bkdings.ttf и установка патча keyboard.dll произошли без переименований и софт-резетов. Я сделал это с ББ через Активсинк, и все произошло в одно касание.



Реп: (58)
Chuma,
спасибо за репу, а "пощупать" проблему с совместимостью Вы можете "вживую". Поставьте на ТАО Sven (он здесь лежит) и попробуйте поиграть на Resco Keyboard Pro. Я офигевал от результата.
Ну а если команда, в которой трудится hackerMMX, сможет сваять эмуль под PocketPC с эмуляцией софт-клавиш мобил - то это прям маленькая революция в этой теме (в глобальном смысле) будет! Удачи им! Уж мы то потестировать/присоветовать всегда ЗА.



Реп: (261)
volta_john @ 27.11.06 03:18:34
Поставьте на ТАО Sven


эх в свое время не дошли до него руки из за малого кол-ва "поз" после xxl версии на ББ ;) ;) ;)



Реп: (261)
кабчик от тао с визарда. ессно на джемке втупую не пошел... можно думается подшаманить с подменой файлов... хоть посмотреть чито за зверь

Прикрепленные файлы

Прикрепленный файлIntent_MIDlet_manager.cab ( 1.5 МБ )



Реп: (261)
Coretek Delta MIDP 2006
Плюсы: полное соответствие спецификациям от Sun (даже формы такие же как в офиц. эмуляторах); установка игр из JAR(не надо джад); работает с флешки.

НО! на покете не пашет екзешник - кричит что для др. версии винды (2005? или чисто под смарты заточена?)

выложу завтра... на 5 - винде надо проверить.

блин специально под нее купил(!) себе мпх200 - разбирать буду ( 5 винда - эмуль летает на нем)... осталось проверить на настоящем каком либо покете.


--------------------added -------------------------

Проверил - действительно под пятую винду! Проверено на атоме!

В принципе доделаная версия моя =) (т.е. на нормальном инглише), но под смарты со всеми вытекающими (разрешение и т.п.)

Выложу уже сегодня :D в одноименной теме...



Реп: (1)
Ууу... я гений. :D Ставьте Vito Button Mapper 4.0 > Назначаете у нужной вам кнопки stylus tap emulation. Появится окошко с кнопкой start. Заходите теперь в эмулятор в Opera Mini, на домашнюю страницу. Нажимаем start и стилусом нажимаем на кнопку меню. В имени вводим что-то вроде opera_mini_left. Всё работает. :yahoo:



Реп: (261)
mobility, блин - молоток, неплохое решение...
Надо будет отметить - для коретека самое то.



Реп: (58)
mobility,
да, здорово! Жаль, что это работать будет только в мини опере, Коретеке, и в IBM с ТАО на мидлетах под MIDP1.0, где софт-кнопки в виде виртуальных кнопок эмулируются...



Реп: (1)
volta_john, почему же будет работать только в них? Хотите сказать что в других эмуляторах нету отоброжения этого бара?

Прикрепленное изображение

Будет работать помойму в абсолютно в любом эмуляторе. Ведь тап можно эмулировать в любое место на экране...



Реп: (58)
mobility,
бар, который Вы выделили, рисует и использует сама мини опера. Стилус поддерживает тоже она сама, без помощи эмуля. А эмулятор работает с самым нижним баром. Как видите, он пуст. Не пустым он будет при запуске мидлетов, написанных на дремучем MIDP1.0.



Реп: (1)
И всё-таки я не понимаю почему нам нужен нижний бар если эмулируется нажатие на зону, которую я выделил. Из-за чего мой метод где-то не будет работать? У меня ведь всё выглядит точно так же.



Реп: (58)
mobility,
Ваш метод будет работать в мини опере MIDP2.0 официальной и модах, запущеной на ТАО и IBM (на Коретеке мини опера просто не работает), и в мидлетах MIDP1.0 на всех трёх эмулях. В них эмуляторы образуют виртуальные софт-кнопки, которые нужно нажимать стилусом. Коретек может это делать и для части мидлетов на MIDP2.0.
Т.е. Ваш метод работает, и никто это под сомнение не ставит. На всех эмулях. Но не всегда. Когда он не будет работать, я только что написал. Конкретно для мини оперы он не сработает на Коретеке, потому что мини опера на нём не работает.
Теперь понятно?



Реп: (1)
Да. Разобрался.



Реп: (58)
Замечательно. Вы молодец, что придумали такое интересное решение для задействования хард-кнопок в управлении запущенными мидлетами. Репутацию Вам я уже поднял.


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 28.03.24, 13:18