|   | 
  
    
    
     
	
	
		| Программирование для PSP Вы программист? Welcome сюда... | 
	 
	 
		 
	
	
	
		
	
	
	
		
			
			 
			13.10.2009, 01:32
			
			
		 | 
		
			 
			
			Сообщение: #1 (831111)
			
		 | 
	
 
	
			
	
	
 
 
			
				Регистрация: 07.07.2009 
				
				Возраст: 37 
				
					Сообщений: 7
				 
				 
	Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
				
				Сила репутации:  0Репутация: 0 
					 (пока ничем не отличился) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
				 
				Помогите разобраться..
			 
			 
			
		
		
	
	
		Я новичек в этом деле, но никак не могу получить обработку кнопок в prx плагине, если на этом сайте есть человек который может помочь, пожалуйста ответе... а если есть возможность то просто выложите код prx плагина который при нажатие на оба тригера пишет на экране например hello world.. заранее большое спасибо.. 
	 
		
		
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			13.10.2009, 01:39
			
			
		 | 
		
			 
			
			Сообщение: #2 (831112)
			
		 | 
	
 
	
			
	
	
 
 
			
Прошивка: 5.50 gen-c 
Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb) 
				Регистрация: 11.05.2007 
				
				Возраст: 44 
				
					Сообщений: 2,509
				 
				 
	Вы сказали Спасибо: 337 
	
		
			
				Поблагодарили 991 раз(а) в 579 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 951 
					 (это имя известно всем) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		Опрос кнопок по таймеру не работает? 
	int InputThread(SceSize args, void *argp)
{
	while(run)
	{	
		sceCtrlPeekBufferPositive(&pad, 1);
		sceKernelDelayThread(1);	
				
				if (pad.Buttons & PSP_CTRL_HOME)
					run = 0;
	}
	
return 0;
}
void SetupInput( void)
{
SceUID itid = sceKernelCreateThread("Input thread",
InputThread,
0x18, 256 * 1024, PSP_THREAD_ATTR_USER, 0);
if (itid >= 0)
	sceKernelStartThread(itid, 0, 0);
} 
 
 
	 
		
		
		
		
		
	 
		
		
						 
  
				
				Последний раз редактировалось l3VGV; 13.10.2009 в 01:41.
				
				
			
		
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			13.10.2009, 01:42
			
			
		 | 
		
			 
			
			Сообщение: #3 (831113)
			
		 | 
	
 
	
			
	
	
 
 
			
				Регистрация: 07.07.2009 
				
				Возраст: 37 
				
					Сообщений: 7
				 
				 
	Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
				
				Сила репутации:  0Репутация: 0 
					 (пока ничем не отличился) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		хм... опрос по таймеру это как перерыл кучу примеров но по таймеру не видел.. 
самый обычный способ.. проверка SceCtrlData pad; if (pad.Buttons != 0) и так далее... 
	 
		
		
		
		
		
	 
		
		
						 
  
				
				Последний раз редактировалось LeshiyGS; 13.10.2009 в 01:43.
				
				
			
		
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			13.10.2009, 01:45
			
			
		 | 
		
			 
			
			Сообщение: #4 (831114)
			
		 | 
	
 
	
			
	
	
 
 
			
Прошивка: 5.50 gen-c 
Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb) 
				Регистрация: 11.05.2007 
				
				Возраст: 44 
				
					Сообщений: 2,509
				 
				 
	Вы сказали Спасибо: 337 
	
		
			
				Поблагодарили 991 раз(а) в 579 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 951 
					 (это имя известно всем) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		ну вот я тебе кусок кода дал. вызываешь сетуп инпут в начале работы модуля, а там пишешь что надо в глобальные переменные. ну а потом гдето в основном потоке из проверяешь. можно и без отдельного потока, но тогда во время  тяжёлой работы система не будет реагировать на кнопки. а это бесит. 
	 
		
		
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			13.10.2009, 01:47
			
			
		 | 
		
			 
			
			Сообщение: #5 (831115)
			
		 | 
	
 
	
			
	
	
 
 
			
				Регистрация: 07.07.2009 
				
				Возраст: 37 
				
					Сообщений: 7
				 
				 
	Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
				
				Сила репутации:  0Репутация: 0 
					 (пока ничем не отличился) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		мда)) легко тебе говорить.. я 50% написаного тобой только понял)) 
InputThread - понял 
SetupInput - почти не понял 
))) 
	 
		
		
		
		
		
	 
		
		
						 
  
				
				Последний раз редактировалось LeshiyGS; 13.10.2009 в 01:50.
				
				
			
		
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			13.10.2009, 01:49
			
			
		 | 
		
			 
			
			Сообщение: #6 (831116)
			
		 | 
	
 
	
			
	
	
 
 
			
Прошивка: 5.50 gen-c 
Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb) 
				Регистрация: 11.05.2007 
				
				Возраст: 44 
				
					Сообщений: 2,509
				 
				 
	Вы сказали Спасибо: 337 
	
		
			
				Поблагодарили 991 раз(а) в 579 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 951 
					 (это имя известно всем) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		общая идея в том что ничем работа в модуле не отличается от обычной. либо тебе основное приложение будет сигналить о вводе или сам определяешь. там 2 типа функций, котрорый удаляет из очереди и который оставляет. в доках есть. 
	 
		
		
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			13.10.2009, 01:54
			
			
		 | 
		
			 
			
			Сообщение: #7 (831117)
			
		 | 
	
 
	
			
	
	
 
 
			
				Регистрация: 07.07.2009 
				
				Возраст: 37 
				
					Сообщений: 7
				 
				 
	Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
				
				Сила репутации:  0Репутация: 0 
					 (пока ничем не отличился) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		на доки ссылку можно? я так понял что во второй функции ты создаешь Thead который говорит о том нажата кнопка или нет.. вот только я не пойму как спросить нажата ли.. я полный новичек)) 
	 
		
		
		
		
		
	 
		
		
						 
  
				
				Последний раз редактировалось LeshiyGS; 13.10.2009 в 01:57.
				
				
			
		
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			13.10.2009, 01:57
			
			
		 | 
		
			 
			
			Сообщение: #8 (831118)
			
		 | 
	
 
	
			
	
	
 
 
			
Прошивка: 5.50 gen-c 
Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb) 
				Регистрация: 11.05.2007 
				
				Возраст: 44 
				
					Сообщений: 2,509
				 
				 
	Вы сказали Спасибо: 337 
	
		
			
				Поблагодарили 991 раз(а) в 579 сообщениях
			
		
	 
				
				Сила репутации:  1Репутация: 951 
					 (это имя известно всем) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		Доки есть в комплекте к сдк, они компилятся или устанавливаются из комплекта мингвовского минималиста. там есть и коды кнопок и как работать с буфером нажатий. 
	 
		
		
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			13.10.2009, 02:22
			
			
		 | 
		
			 
			
			Сообщение: #9 (831120)
			
		 | 
	
 
	
			
	
	
 
 
			
				Регистрация: 07.07.2009 
				
				Возраст: 37 
				
					Сообщений: 7
				 
				 
	Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
				
				Сила репутации:  0Репутация: 0 
					 (пока ничем не отличился) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		как спросить о нажатии я так и не вьехал(( кстати при юзании SetupInput xmb виснет 
 
LeshiyGS добавил 13-10-2009 в 02:22 
уу спс получилось и без второй функции 
	 
		
		
		
		
		
	 
		
		
						 
  
				
				Последний раз редактировалось LeshiyGS; 13.10.2009 в 02:22.
				Причина: добавил, подумав
				
			
		
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			19.10.2009, 00:22
			
			
		 | 
		
			 
			
			Сообщение: #10 (833224)
			
		 | 
	
 
	
			
	
	
 
 
			
				Регистрация: 07.07.2009 
				
				Возраст: 37 
				
					Сообщений: 7
				 
				 
	Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
				
				Сила репутации:  0Репутация: 0 
					 (пока ничем не отличился) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
			 
			
		
		
	
	
		
	#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
#include <string.h>
PSP_MODULE_INFO("TESTPRX", 0x1000, 1, 1);
typedef unsigned char byte; 
int menu = 0;
#define RGB(r,g,B) ((u32)((byte)(r)|((byte)(g) << 8)|((byte)(B) << 16)))
#define printf    pspDebugScreenPrintf
SceCtrlData pad;
int main(int argc, char **argv)
{
        
    pspDebugScreenInit();
    while (1) 
    {
        sceKernelDelayThread(1000);
        sceCtrlReadBufferPositive(&pad, 1);
        if (pad.Buttons & PSP_CTRL_RTRIGGER){
                if (menu) menu = 0;
                else menu = 1;                
        }
        if  (menu){
            pspDebugScreenSetXY(0, 0);
            pspDebugScreenSetBackColor(RGB(255, 0, 0));
            printf("First Menu");
            pspDebugScreenSetXY(0, 1);
            printf("Play Station Portable");
        }
    }
    sceKernelSleepThread();
return 0;
}
void* getModuleInfo(void)
{
    return (void *) &module_info;
}
int main_thread (void) {
    return 0;
}
int module_stop (void) {
    return 0;
} 
 
Подскажите почему так.. кроме плагина неработает ничего.. это раз.. фон моргает это 2 и еще отклик от кнопки работает как то странно это 3((  
	 
		
		
		
		
		
	 
		 
	 | 
 
	| 
		
		
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
 
 
		
	 | 
 
 
 
	 
	
		 
	 
 
		
 
	
		
	
	
	
	
	
	
	
	
		| 
			Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
		 | 
	 
	
		| 
			 
		 | 
	 
	 
	| Опции темы | 
	
 
	| 
	
	
	
	 | 
	
 
	| Опции просмотра | 
	
 
	
	
	
	
		  Линейный вид 
		
		
	 
	
	 | 
	
	
 
 
	
		
	
		 
		Ваши права в разделе
	 | 
 
	
		
		Вы не можете создавать новые темы 
		Вы не можете отвечать в темах 
		Вы не можете прикреплять вложения 
		Вы не можете редактировать свои сообщения 
		 
		
		
		
		
		HTML код Выкл. 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
       
          Текущее время: 20:38. Часовой пояс GMT +3.
        
       
    
      
        
	   
		
		Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод:  zCarot
		
		
		
			
		PSPx Forum - Сообщество фанатов игровых консолей.
	     
         | 
       
     
    
     
    
     | 
   |