|  | 
     
	
	
		| Программирование для 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,786 раз(а) в 12,399 сообщениях
			
		
	 Сила репутации: 10 Репутация: 42977 
					(репутация неоспорима)
      | 
				 Коды кнопок 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,832
				 Вы сказали Спасибо: 825 
		
			
				Поблагодарили 3,968 раз(а) в 2,068 сообщениях
			
		
	 Сила репутации: 1 Репутация: 3968 
					(репутация неоспорима)
      | 
 
	
		st1x51, что значит "зажатие"? Пока держишь, код клавиши в переменной. Отпустил - код вычли.
 
 |  
	|  |       |  
	
		
	
	
	
	
	
	
	
	
		| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) |  
		|  |  
	| 
	|  Ваши права в разделе |  
	| 
		
		Вы не можете создавать новые темы Вы не можете отвечать в темах Вы не можете прикреплять вложения Вы не можете редактировать свои сообщения 
 HTML код Выкл. 
 |  |  |  
          Текущее время: 12:22. Часовой пояс GMT +3.
        
      
        | 
		
		Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot 
			
		PSPx Forum - Сообщество фанатов игровых консолей.
	    |  |  |