Коды кнопок 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.
				
				
			
		
		 
	 |