enum PspCtrlButtons
{
PSP_CTRL_SELECT = 0x000001,
PSP_CTRL_START = 0x000008,
PSP_CTRL_UP = 0x000010,
PSP_CTRL_RIGHT = 0x000020,
PSP_CTRL_DOWN = 0x000040,
PSP_CTRL_LEFT = 0x000080,
PSP_CTRL_LTRIGGER = 0x000100,
PSP_CTRL_RTRIGGER = 0x000200,
PSP_CTRL_TRIANGLE = 0x001000,
PSP_CTRL_CIRCLE = 0x002000,
PSP_CTRL_CROSS = 0x004000,
PSP_CTRL_SQUARE = 0x008000,
PSP_CTRL_HOME = 0x010000,
PSP_CTRL_HOLD = 0x020000,
PSP_CTRL_NOTE = 0x800000,
PSP_CTRL_SCREEN = 0x400000, // только в режиме ядра
PSP_CTRL_VOLUP = 0x100000, // только в режиме ядра
PSP_CTRL_VOLDOWN = 0x200000, // только в режиме ядра
PSP_CTRL_WLAN_UP = 0x040000, // только в режиме ядра
PSP_CTRL_REMOTE = 0x080000, // только в режиме ядра
PSP_CTRL_DISC = 0x1000000, // только в режиме ядра
PSP_CTRL_MS = 0x2000000, // только в режиме ядра
};
Пример:
if (pad.Buttons & PSP_CTRL_TRIANGLE)
pspDebugScreenPrintf("TRIANGLE "); // Выводим на экран название нажатой кнопки
if (pad.Buttons & PSP_CTRL_CIRCLE)
pspDebugScreenPrintf("CIRCLE "); // Выводим на экран название нажатой кнопки
if (pad.Buttons & PSP_CTRL_CROSS)
pspDebugScreenPrintf("CROSS "); // Выводим на экран название нажатой кнопки
if (pad.Buttons & PSP_CTRL_SQUARE)
pspDebugScreenPrintf("SQUARE "); // Выводим на экран название нажатой кнопки
Пример кода в программе:
Код:
while (1)
{
SceCtrlData pad;
sceCtrlReadBufferPositive(&pad, 1);
if (pad.Buttons & PSP_CTRL_SQUARE)
{
mode = MODE_ENCRYPT_SIGCHECK;
break;
}
else if (pad.Buttons & PSP_CTRL_TRIANGLE)
{
mode = MODE_ENCRYPT;
break;
}
else if (pad.Buttons & PSP_CTRL_CROSS)
{
mode = MODE_DECRYPT;
break;
}
else if (pad.Buttons & PSP_CTRL_CIRCLE)
{
sceKernelExitGame();
break;
}
sceKernelDelayThread(10000);
}
Автор статьи ErikPshat