Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

 
Reply to this topicStart new topicStart Poll
quasist
post Вторник, 09 ноября 2010, 23:55
Отправлено #1


Sing along at the Opera
Group Icon

Группа: Профи
Сообщений: 3 391
Регистрация: 06 янв. 2006
Пользователь №: 14 791





название клавиши=код клавиши

A=0
X=1
B=2
Y=3
L=4
R=5
HOME=6
HOLD=7
HELP1=8
HELP2=9
CLICK=10

При нажатом HOLD все остальные клавиши "замораживаются" вместе с координатами джойстика.

При нажатом CLICK можно двигать джойстиком и считывать координаты smile.gif


--------------------
12 удачных сделок в барахолке gbx.ru
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Четверг, 18 августа 2011, 10:32
Отправлено #2


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





click - это нажатие на джойстик? Если так, то на него почему-то не реагирует.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Воскресенье, 28 августа 2011, 13:17
Отправлено #3


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





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


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Понедельник, 29 августа 2011, 10:06
Отправлено #4


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





QUOTE (Hahahoj @ Воскресенье, 28 августа 2011, 13:17)
Если обработка клика не включена разработчиком в мапинг используемых кнопок - он ни на что и не будет реагировать.
*


Так в том-то и дело, что я его обрабатываю, но не реагирует. Остальные кнопки при этом нормально обрабатываются, только на эту не реагирует. Вот и подумал, что может надо как-то особенно его обрабатывать, не так как остальные кнопки. Я кстати и не встречал еще приложений где он работает, может в моей приставке он не работает. У кого-нибудь получалось клик задействовать?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
quasist
post Понедельник, 29 августа 2011, 12:52
Отправлено #5


Sing along at the Opera
Group Icon

Группа: Профи
Сообщений: 3 391
Регистрация: 06 янв. 2006
Пользователь №: 14 791





QUOTE (sdm @ Понедельник, 29 августа 2011, 10:06)
Так в том-то и дело, что я его обрабатываю, но не реагирует.
*

Код обработки?


--------------------
12 удачных сделок в барахолке gbx.ru
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Понедельник, 29 августа 2011, 13:32
Отправлено #6


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





QUOTE (quasist @ Понедельник, 29 августа 2011, 12:52)
Код обработки?
*


Примерный привожу, так как за точным надо до дома добраться:
CODE

enum CaanooButtons {
   CAANOO_BUTTON_A = 0,
...
   CAANOO_BUTTON_JOY = 10
};
...
SDL_Event event;

while ( SDL_PollEvent(&event) )
{
   switch( event.jbutton.button )
   {
...
   case CAANOO_BUTTON_JOY:
       {
           ...
           break;
       }
...
   }
}


Вобщем суть в том что если CAANOO_BUTTON_JOY заменить на другую кнопку, то на нее реагирует, а на эту не реагирует.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Понедельник, 29 августа 2011, 18:47
Отправлено #7


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





Реальный код приведи, смысл от настоящей реализации может отличаться кардинально.
Вот кусочек SDK-шки:
CODE
enum
{
// 버튼 상태 = 단말기 / 조이스틱
// 그린 아시아 칩셋 사용 조이스틱 의존

BTN_A = 0,     //       A /             1
BTN_X = 1,     //       X /             2
BTN_B = 2,     //       B /             3
BTN_Y = 3,     //       Y /             4
BTN_L = 4,     //       L /         5, L1
BTN_R = 5,     //       R /         6, L2
BTN_HOME = 6,  //    Home /         7, R1
BTN_HOLD = 7,  //    Hold /         8, R2
BTN_HELP1 = 8, //  Help I /        Select
BTN_HELP2 = 9, // Help II /         Start
BTN_TACT = 10, //    Tact / L Thumb Stick
};


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Вторник, 30 августа 2011, 09:55
Отправлено #8


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





Вот реальный код (чтобы не загромождать пост вырезал не имеющее отношения к проблеме):

io.h:
CODE

...
enum CaanooButtons {
       CAANOO_BUTTON_A = 0,
       CAANOO_BUTTON_X = 1,
       CAANOO_BUTTON_B = 2,
       CAANOO_BUTTON_Y = 3,
       CAANOO_BUTTON_L = 4,
       CAANOO_BUTTON_R = 5,
       CAANOO_BUTTON_HOME = 6,
       CAANOO_BUTTON_1 = 8,
       CAANOO_BUTTON_2 = 9,
       CAANOO_BUTTON_JOY = 10,
...
};
...


io.cpp:
CODE

...
int IO::IsButtonDown (int pBut)
{
   return SDL_JoystickGetButton( m_joy, pBut );
}
...
int IO::Pollkey()
{
   SDL_Event event;
   while ( SDL_PollEvent(&event) )
   {
       switch (event.type) {
...
           case SDL_JOYBUTTONDOWN:
               return event.jbutton.button;
...
       }
   }
   return -1;
}


main.cpp:
CODE

...
   IO mIO;
...
   while( !mIO.IsButtonDown( CAANOO_BUTTON_HOME ) )
   {
...
       int mKey = mIO.Pollkey();
       switch (mKey)
       {
           case ( CAANOO_AXIS_RIGHT ):
           case ( CAANOO_BUTTON_R ):
           {
...
                   break;
           }

           case ( CAANOO_AXIS_LEFT ):
           case ( CAANOO_BUTTON_L ):
           {
...
               break;
           }

           case ( CAANOO_BUTTON_A ):
           {
...
               break;
           }

           case ( CAANOO_BUTTON_X ):
           {
...
               break;
           }

           case ( CAANOO_BUTTON_JOY ):
           case ( CAANOO_BUTTON_Y ):
           {
...
               break;
           }
           case ( CAANOO_BUTTON_HOME ):
           {
               exit(0);
           }
       }


На всякий случай прикладываю полный код и файл проекта для кодеблокс.

Присоединённый файл  tts.zip ( 12.1кб ) Кол-во скачиваний: 425
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Вторник, 30 августа 2011, 16:48
Отправлено #9


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





А вывести mKey и посмотреть шо там лежит при изменениях значений пробовал?
У тебя прошивка какая?

И это... wink.gif На будущее вот тут поковыряйся, коли смотрю за свой движок взялся:
http://www.gp32x.com/board/index.php?showtopic=59429
Будет весьма полезно.

Квазист тут подсказал, что проверить клик можно на Флешчасмере Еве, там с помощью этой кнопки поднимаемся по лестницам и заходим в магазины (с третьего уровня).

Сообщение отредактировал Hahahoj - Вторник, 30 августа 2011, 17:43


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Вторник, 30 августа 2011, 19:36
Отправлено #10


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





QUOTE (Hahahoj @ Вторник, 30 августа 2011, 16:48)
А вывести mKey и посмотреть шо там лежит при изменениях значений пробовал?


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

QUOTE
У тебя прошивка какая?


1.6.0

QUOTE
И это...  wink.gif На будущее вот тут поковыряйся, коли смотрю за свой движок взялся:
http://www.gp32x.com/board/index.php?showtopic=59429
Будет весьма полезно.


Спасибо, посмотрю.
За свой движок я не брался, пока просто пробую портировать уже готовые приложения.

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Вторник, 30 августа 2011, 19:44
Отправлено #11


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





Ну, насчет портирования - я давно заметил:
http://wiz.rusbase.net/forum/viewtopic.php?t=1021
Надеюсь до ума доведешь, но сразу предупрежу - Визовская версия фрихерос слетала у меня довольно часто.


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Среда, 31 августа 2011, 13:13
Отправлено #12


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





QUOTE (Hahahoj @ Вторник, 30 августа 2011, 19:44)
Ну, насчет портирования - я давно заметил:
http://wiz.rusbase.net/forum/viewtopic.php?t=1021
Надеюсь до ума доведешь, но сразу предупрежу - Визовская версия фрихерос слетала у меня довольно часто.
*


Ого, круто, уже новость даже есть )
Насчет доведения до ума - если будут сообщать об ошибках, то по возможности могу исправлять, сам-то играть в них пока не собирался и не уверен, что соберусь.
Заметил что новую версию исходников выложили. Для начала попробую ее собрать. Еще есть идея сделать скроллинг джойстиком, и возможность назначения кнопок джойстика для других действий.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Четверг, 01 сентября 2011, 11:15
Отправлено #13


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





Было б отлично, мне как раз вторые герои больше всего нравятся. Но к сожалению поиграть на Визе так толком из-за глюков и не получилось.


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Четверг, 01 сентября 2011, 15:53
Отправлено #14


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





Сделал. Можно здесь взять пока на openhandhelds не обновилось.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
quasist
post Четверг, 01 сентября 2011, 16:24
Отправлено #15


Sing along at the Opera
Group Icon

Группа: Профи
Сообщений: 3 391
Регистрация: 06 янв. 2006
Пользователь №: 14 791





Может проект стоит в отдельную тему вынести?


--------------------
12 удачных сделок в барахолке gbx.ru
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Четверг, 01 сентября 2011, 16:47
Отправлено #16


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





QUOTE (quasist @ Четверг, 01 сентября 2011, 16:24)
Может проект стоит в отдельную тему вынести?
*


ок. Теперь обсуждение здесь.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Четверг, 01 сентября 2011, 17:03
Отправлено #17


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





Так. Проверить клик можно еще проще - чего то я стормозил.
Заходим в настройки консоли, выбираем test mode, там жмем L+R, появляется макет консоли, на ней проверяем работоспособность кнопок.
Если не работает - попробуй либу от Рикку - там точно работало, либо разбирайся в коде, там должен быть один принцип для срабатывания всех кнопок.
Грабли могут быть также из-за того что у enum-а нет предопределенной правилами языка типизации (но сомневаюсь), тип значения заданного в нем отдается на откуп компилятору, а там вполне может зависить от настроек компилятора. Если хочешь точного соответствия - попробуй сменить на const.
Вообще-больше всего ошибка с кликом смахивает на несоответствие типов переменных (возможно возвращаемого значения) тому что ты должен в итоге получить.

В любом случае с исходниками библиотеки ввода от Рикку этой проблемы нет


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sdm
post Суббота, 03 сентября 2011, 16:28
Отправлено #18


Фанат
***

Группа: Пользователи
Сообщений: 155
Регистрация: 11 авг. 2011
Пользователь №: 42 034





QUOTE (Hahahoj @ Четверг, 01 сентября 2011, 17:03)
Заходим в настройки консоли, выбираем test mode, там жмем L+R, появляется макет консоли, на ней проверяем работоспособность кнопок.

Да и тут не работает.
QUOTE
Если не работает - попробуй либу от Рикку - там точно работало, либо разбирайся в коде, там должен быть один принцип для срабатывания всех кнопок.

Библиотеку от Рикку тоже попробовал - и в ней не работает.

В общем ладно. Спасибо за помощь, уже смирился с тем, что клик не работает, можно и без него обойтись..
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Чт., 28 мар. 2024, 17:05
Skin Designed (c) by Rooq.net, All Rights Reserved.