|
Программирование для PSP Вы программист? Welcome сюда... |
06.01.2010, 13:36
|
Сообщение: #1 (858143)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 57
Сообщений: 46,304
Вы сказали Спасибо: 27,029
Поблагодарили 42,586 раз(а) в 12,178 сообщениях
Сила репутации: 10Репутация: 41781 
(репутация неоспорима)
|
Коды кнопок PSP
PSP_CTRL_SELECT => 0x00000001
PSP_CTRL_START => 0x00000008
PSP_CTRL_UP => 0x00000010
PSP_CTRL_RIGHT => 0x00000020
PSP_CTRL_DOWN => 0x00000040
PSP_CTRL_LEFT => 0x00000080
PSP_CTRL_LTRIGGER => 0x00000100
PSP_CTRL_RTRIGGER => 0x00000200
PSP_CTRL_TRIANGLE => 0x00001000
PSP_CTRL_CIRCLE => 0x00002000
PSP_CTRL_CROSS => 0x00004000
PSP_CTRL_SQUARE => 0x00008000
PSP_CTRL_HOME => 0x00010000 // только в режиме ядра либо в user на ядре 6.xx
PSP_CTRL_HOLD => 0x00020000
PSP_CTRL_NOTE => 0x00800000
PSP_CTRL_SCREEN => 0x00400000 // только в режиме ядра
PSP_CTRL_VOLUP => 0x00100000 // только в режиме ядра
PSP_CTRL_VOLDOWN => 0x00200000 // только в режиме ядра
PSP_CTRL_WLAN_UP => 0x00040000 // только в режиме ядра
PSP_CTRL_REMOTE => 0x00080000 // только в режиме ядра
PSP_CTRL_DISC => 0x01000000 // только в режиме ядра
PSP_CTRL_MS => 0x02000000 // только в режиме ядра
Сочетание кнопок происходит путём сложения их байтов, например:- PSP_CTRL_VOLUP + PSP_CTRL_VOLDOWN = 0х100000 + 0х200000 = 0х300000
- PSP_CTRL_HOME + PSP_CTRL_START = 0x010000 + 0x000008 = 0x010008
- PSP_CTRL_LTRIGGER + PSP_CTRL_CROSS = 0x000100 + 0x004000 = 0x004100
Пример использования в кодах программ:
while(!done)
{
pspDebugScreenSetXY(0, 2);
sceCtrlReadBufferPositive(&pad, 1);
printf("Analog X = %d ", pad.Lx);
printf("Analog Y = %d \n", pad.Ly);
if (pad.Buttons != 0)
{
if (pad.Buttons & PSP_CTRL_SQUARE)
{
printf("Нажата кнопка Квадрат \n");
}
if (pad.Buttons & PSP_CTRL_TRIANGLE)
{
printf("Нажата кнопка Треугольник \n");
}
if (pad.Buttons & PSP_CTRL_CIRCLE)
{
printf("Нажата кнопка Круг \n");
}
if (pad.Buttons & PSP_CTRL_CROSS)
{
printf("Нажата кнопка Крест \n");
}
if (pad.Buttons & PSP_CTRL_UP)
{
printf("Нажата кнопка Вверх \n");
}
if (pad.Buttons & PSP_CTRL_DOWN)
{
printf("Нажата кнопка Вниз \n");
}
if (pad.Buttons & PSP_CTRL_LEFT)
{
printf("Нажата кнопка Влево \n");
}
if (pad.Buttons & PSP_CTRL_RIGHT)
{
printf("Нажата кнопка Вправо \n");
}
if (pad.Buttons & PSP_CTRL_START)
{
printf("Нажата кнопка START \n");
}
if (pad.Buttons & PSP_CTRL_SELECT)
{
printf("Нажата кнопка SELECT \n");
}
if (pad.Buttons & PSP_CTRL_LTRIGGER)
{
printf("Нажата кнопка Левый триггер \n");
}
if (pad.Buttons & PSP_CTRL_RTRIGGER)
{
printf("Нажата кнопка Правый триггер \n");
}
}
}
Последний раз редактировалось ErikPshat; 04.02.2015 в 06:52.
|
|
|
Эти 8 пользователя(ей) сказали Спасибо ErikPshat за это полезное сообщение:
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 20:53. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.
|
|
|