- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 - 38
 - 39
 - 40
 - 41
 - 42
 - 43
 - 44
 - 45
 - 46
 - 47
 - 48
 - 49
 - 50
 - 51
 - 52
 - 53
 - 54
 - 55
 - 56
 - 57
 - 58
 - 59
 - 60
 - 61
 - 62
 - 63
 - 64
 - 65
 - 66
 - 67
 - 68
 - 69
 - 70
 - 71
 - 72
 - 73
 - 74
 - 75
 - 76
 - 77
 - 78
 - 79
 - 80
 - 81
 - 82
 - 83
 - 84
 - 85
 - 86
 - 87
 - 88
 
                        void MyZKbMain::keyPressEvent(QKeyEvent* k)
{
	QPixmap pm; pm.load("ruleta_usr.png");
	ZConfig Num(QString("numeros.cfg"), true);
	ZConfig Hist(QString("historial.cfg"), true);
	switch (k->key())
	{
	case 0x1046: //Boton Verde
	break;
	case 0x1030: //Boton Verde
	calcular=0;
	reboot = new ZMessageDlg("zRoulette", 
		QString("Sistema Ubeda 0.5\nBasado en el Sistema de Cuadros\n\nwww.developermoto.com/es\nwww.modmymoto.com\n\n(C)2009 RacingLocura07, CepiPerez"), 
		(ZMessageDlg::MessageDlgType)2, 0, this,"about", true, 0);
	reboot->setTitleIcon(pm); reboot->show();
	break;
	case 0x1031: //Boton Rojo
	calcular=0;
	reboot = new ZMessageDlg("zRoulette", "Desea salir?", 
			(ZMessageDlg::MessageDlgType)1, 0, this,"about", true, 0);
	reboot->setTitleIcon(pm); reboot->show();
	if(reboot->exec()==1) { exit(); }
	else { update(); break; }
	
	case 0x1012: //Tecla de Navegacion De Izquierda
	calcular=0;
	if (current > 1 ) { --current; update(); break; } else { break; }
	case 0x1013: //Tecla de Navegacion De Arriba
	calcular=0;
	if ( current > 3 ) { ------current; update(); break; } else { break; }
	case 0x1014: //Tecla de Navegacion De Derecha
	calcular=0;
	if (current < 36 ) { ++current; update(); break; } else { break; }
	case 0x1015: //Tecla de Navegacion De Abajo
	calcular=0;
	if (current < 34 ) { ++++++current; update(); break; } else { break; }
	case 0x1038: //Softkey Izquierda
	calcular=0;
	reboot = new ZMessageDlg("zRoulette", "Desea reinciar la Ruleta?", (ZMessageDlg::MessageDlgType)1, 0, this,"about", true, 0);
	reboot->setTitleIcon(pm); reboot->show();
	if(reboot->exec()==1) { system("rm numeros.cfg"); system("rm historial.cfg"); current = 1; jugadas = 0; lista.clear(); update(); break; }
	else { update(); break; }
	case 0x103a: //Softkey Derecha
	int temp = Hist.readNumEntry ( QString("HISTORIAL"), QString("18"), 0 );
	if ( temp != 0 ) {
		reboot = new ZMessageDlg("zRoulette", "Desea limpiar las jugadas dejando las ultimas 18 solamente?", 
				(ZMessageDlg::MessageDlgType)1, 0, this,"about", true, 0); reboot->setTitleIcon(pm); reboot->show();
		if(reboot->exec()==1) { 
		  for ( int l=1; l<37; ++l) { Num.writeEntry ( QString("NUMEROS"), QString("%1").arg(l), QString("0") ); }
		  for ( int j=1; j<19; ++j) {
			int temp = Hist.readNumEntry ( QString("HISTORIAL"), QString("%1").arg(j), 0 );
			if ( temp > 0 ) { Num.writeEntry ( QString("NUMEROS"), QString("%1").arg(temp), QString("1") ); }
		  }	calcular=1; update(); break; 
		} else { break; }
	} else {
		reboot = new ZMessageDlg("zRoulette", "Deben haber mas de 18 bolas jugadas para el reinicio parcial.", 
			(ZMessageDlg::MessageDlgType)2, 0, this,"about", true, 0); reboot->setTitleIcon(pm); reboot->show(); break;
	}
	case 0x1004:  //Boton Central
	valortemp = Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(current), 0 );
	if ( valortemp < 1 ) { valortemp=0; } ++valortemp;
	Num.writeEntry(QString("NUMEROS"), QString("%1").arg(current), valortemp);
	int lugar=0; for ( int j=18; j>0; --j)
	{ int temp = Hist.readNumEntry ( QString("HISTORIAL"), QString("%1").arg(j), 0 ); if ( temp==0 ) { lugar=j; } }
	
	if ( lugar > 0 ) {
	  Hist.writeEntry ( QString("HISTORIAL"), QString("%1").arg(lugar), QString("%1").arg(current) );
	} else {
	  for ( int j=1; j<18; ++j) {
		int temp = Hist.readNumEntry ( QString("HISTORIAL"), QString("%1").arg(j+1), 0 ); 
		Hist.writeEntry ( QString("HISTORIAL"), QString("%1").arg(j), QString("%1").arg(temp) ); 
	  }
	  Hist.writeEntry ( QString("HISTORIAL"), QString("18"), QString("%1").arg(current) ); 
	}
	calcular=1;
	update();
	}
}
                                     
        
            Разработчики из солнечной Аргентины. Кусочек кода из кастомного "лаунчера" для телефонов Motorola на платформе MotoMAGX (Linux 2.6.10, Qt 2.3.8, gcc 3.4.3). АДИЩЕ С ЦАРСКИМИ АНРОЛЛАМИ: https://github.com/crutchwalkfactory/motocakerteam/blob/master/Projects/MotoDesk/MyZKbMain.cpp
Что интересно, это всё как-то работало и даже довольно мило выглядело: http://exlmoto.ru/wp-content/Images/AOne/1.gif