|   | 
  
    
    
     
	
	
		| Программирование для PSP Вы программист? Welcome сюда... | 
	 
	 
		 
	
	
	
		
	
	
	
		
			
			 
			06.01.2010, 13:36
			
			
		 | 
		
			 
			
			Сообщение: #1 (858143)
			
		 | 
	
 
	
			
	
	
 
 
			
Модель консоли: PSP-1004 
Прошивка: 6.60 PROMOD 
Другие консоли: iPad 3 WiFi 
				Регистрация: 18.12.2006 
				Адрес: Москва 
				Возраст: 58 
				
					Сообщений: 47,758
				 
				 
	Вы сказали Спасибо: 27,999 
	
		
			
				Поблагодарили 43,806 раз(а) в 12,399 сообщениях
			
		
	 
				
				Сила репутации:  10Репутация: 42997 
					 (репутация неоспорима) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
				 
				Коды кнопок 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 за это полезное сообщение:
				
				
				
			 | 
			 | 
		 
	 
 
  
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			09.01.2010, 20:20
			
			
		 | 
		
			 
			
			Сообщение: #2 (859154)
			
		 | 
	
 
	
			
	
	
 
 
			
				Регистрация: 06.02.2006 
				
				
				
					Сообщений: 95
				 
				 
	Вы сказали Спасибо: 14 
	
		
			
				Поблагодарили 12 раз(а) в 7 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 12 
					 (на пути к лучшему) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			09.01.2010, 21:13
			
			
		 | 
		
			 
			
			Сообщение: #3 (859174)
			
		 | 
	
 
	
			
	
	
 
 
			
				Регистрация: 28.11.2009 
				
				
				
					Сообщений: 361
				 
				 
	Вы сказали Спасибо: 58 
	
		
			
				Поблагодарили 139 раз(а) в 100 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 142 
					 (скоро придёт к известности) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		~cHendler~, 
pad.Lx, pad.Ly соответственно оси X и Y. Значение после "sceCtrlReadBufferPositive(&pad, 1);" изменяется от -128 до 127. Где ноль это центр джойстика. При этом учитывай некоторую мертвую зону, где-то в 20-50 единиц. 
	 
		
		
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	
		
			| 
				
					Эти 2 пользователя(ей) сказали Спасибо ivy за это полезное сообщение:
				
				
				
			 | 
			 | 
		 
	 
 
  
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			07.02.2010, 23:39
			
			
		 | 
		
			 
			
			Сообщение: #4 (865785)
			
		 | 
	
 
	
			
	
	
 
 
			
Прошивка: 5.00m33-6 
Другие консоли: Tetris,Calculator 
				Регистрация: 18.08.2007 
				Адрес: Домодедово 
				Возраст: 53 
				
					Сообщений: 203
				 
				 
	Вы сказали Спасибо: 21 
	
		
			
				Поблагодарили 123 раз(а) в 49 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 123 
					 (скоро придёт к известности) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		а кнопки типа (volup voldown hold screen note etc..) в юсер можно доставать с помошью модулей, которые не посредственно грузятся в кернел! 
	 
		
		
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	
		
			| 
				
					Этот пользователь сказал Спасибо Vcardpsp за это полезное сообщение:
				
				
				
			 | 
			 | 
		 
	 
 
  
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			18.05.2013, 13:39
			
			
		 | 
		
			 
			
			Сообщение: #5 (1072044)
			
		 | 
	
 
	
			
	
	
 
 
			
Модель консоли: PSP-3004 
Прошивка: 6.60 Pro-C 
Другие консоли: PSOne,PS2,PS3 
				Регистрация: 17.09.2008 
				Адрес: Мурманск 
				
				
					Сообщений: 16
				 
				 
	Вы сказали Спасибо: 2 
	
		
			
				Поблагодарили 4 раз(а) в 3 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 4 
					 (с надеждой на лучшее) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		хм,а зажатие кнопки как реализовывается?) 
	 
		
		
		
		
		
			
				  
				//generated by Quake, do not modify||Все еще что-то делаю на PSP.
 
			
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			19.05.2013, 00:28
			
			
		 | 
		
			 
			
			Сообщение: #6 (1072068)
			
		 | 
	
 
	
			
	
	
 
 
			
Модель консоли: PSP-1004 
Прошивка: 6.61 PROMOD-C2p 
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R 
				Регистрация: 19.03.2008 
				Адрес: Россия 
				
				
					Сообщений: 5,833
				 
				 
	Вы сказали Спасибо: 826 
	
		
			
				Поблагодарили 3,969 раз(а) в 2,068 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 3969 
					 (репутация неоспорима) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		st1x51,  
что значит "зажатие"? Пока держишь, код клавиши в переменной. Отпустил - код вычли. 
	 
		
		
		
		
		
			
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
		
 
	
		
	
	
	
	
	
	
	
	
		| 
			Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
		 | 
	 
	
		| 
			 
		 | 
	 
	 
	| Опции темы | 
	
 
	| 
	
	
	
	 | 
	
 
	| Опции просмотра | 
	
 
	
	
	
	
		  Линейный вид 
		
		
	 
	
	 | 
	
	
 
 
	
		
	
		 
		Ваши права в разделе
	 | 
 
	
		
		Вы не можете создавать новые темы 
		Вы не можете отвечать в темах 
		Вы не можете прикреплять вложения 
		Вы не можете редактировать свои сообщения 
		 
		
		
		
		
		HTML код Выкл. 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
       
          Текущее время: 09:36. Часовой пояс GMT +3.
        
       
    
      
        
	   
		
		Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод:  zCarot
		
		
		
			
		PSPx Forum - Сообщество фанатов игровых консолей.
	     
         | 
       
     
    
     
    
     | 
   |