forumti.gif
@_ö
(08:39)  Bienvenue ! - Inscrivez vous pour poster ! -
@Boo + 18 inconnu(s)

Login :  Mot de passe :      Se souvenir de moi.  Mot de passe perdu ?
/!\:: Cliquez ici pour vous inscrire et poster, créer des sujets ou des forums ! ::/!\
 « - 1/1 - » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (15r) » appui touches simultannes
./Post de départ - appui touches simultannes
12.10.2005 - 24
14:00  natha - Posté : 11-11-2009  M
Bonjour a tous

Je programme actuellement un jeu sous tigcc qui nécessitera d'appuyer sur plusieurs touches simultanément.

Je suppose que tout comme sur les claviers d'ordinateurs, le nombre de touches qui fonctionnent en appui simultané est limite, donc je voudrais aussi savoir quelles sont ces touches sur la ti.

Je sais que c le cas pour les 4 flèches ainsi que les 4 touches a gauche de celles-ci car dans la librairie flib, une fonction (keylow si je me souviens bien) permet de récupérer l'état de ces touches sous forme d'une liste.

Y en a t'il d'autres?
Quelle est la fonction sous tigcc qui me permette de récupérer le numéro DES touches enfoncées de la ti?



Il n'y a rien la dessus sur le tuto de squale92 et je n'ai rien trouve sur la doc de tigcc mais mon niveau en anglais y est peu être pour quelque chose :/

Merci beaucoup

Natha
./Publicité AdSense
./1
18.06.2001 - 26444
14:13  Folco - Posté : 11-11-2009  M
natha

Enorme, c'était le nom d'une jument chez mon parrain, éleveur de chevaux, chez qui j'ai passées les meilleurs vacances far-westiennes de toute mon enfance. #oui#



En fait, on peut récupérer l'état de toutes les touches, indépendamment de l'état des autres (je te fais grâce du bug de la matrice clavier). Regarde du côté de _rowread (kbd.h, regarde dans la doc). C'est ainsi que procède FLib. Dans la pratique, on peut détecter 25 appuis de touches simultanés si ça nous amuse.

Et pour info, la doc de TIGCC fournie avec est plus simple à utiliser que celle en ligne, pour des raisons évidentes.
avatar<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./2
10.06.2001 - 33210
15:41  Kevin Kofler - Posté : 11-11-2009  M
Le "bug de la matrice clavier" dont parle Folco est assez simple à décrire et AMHA c'est important pour répondre à ta question: si les touches de coordonnées (x1,y1), (x1,y2) et (x2,y1) sont enfoncées, le matériel croit que (x2,y2) l'est aussi.
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
./3
27.04.2006 - 39089
15:46  @Zerosquare - Posté : 11-11-2009  @_ö
À noter que ce n'est pas vraiment un bug, c'est une économie de la part de TI (qu'on trouve aussi sur la très grande majorité des claviers) : résoudre ce problème nécessite des composants électroniques supplémentaires. À leur décharge, y'a pas de raison d'appuyer sur plusieurs touches à la fois sur une calculatrice graphique, à priori tongue
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau

« Sur Atari tout le hardware tu trouvera, le driver toi même tu le codera » — GT Turbo
./4
12.10.2005 - 24
16:23  natha - Posté : 11-11-2009  M
merci beaucoup!
j'essaie ca tt de suite


Et pour info, la doc de TIGCC fournie avec est plus simple à utiliser que celle en ligne, pour des raisons évidentes.

oui en effet c la doc de tigcc que j'utilise wink j'allais pas vs copier tt le chapitre de la doc grin

Natha
./5
12.10.2005 - 24
19:59  natha - Posté : 12-11-2009  M
mdr j'avais pas vu ton message cache Folco grin
...Nom peu courant pour une bête^^ Natha est le diminutif de Nathanael

Enfin revenons a nos moutons

Ça y est j'ai compris pas mal de trucs sur cette librairie smile

J'ai fait un petit prog pour tester l'appui sur une touche particulière, mais il renvoie 0 pour la touche enfoncée, et le numéro de la lignepour toutes les autres touches de la colonne (et 0 sur toutes les autres colonnes). Comment remédier a ce problème?

Voici mon programme:
unsigned char aff(unsigned char row,unsigned char col)
{
unsigned char x,nbdec,list[8]={0};
nbdec=_rowread(pow(2,col));
for(x=0;x<8;x++,nbdec/=2) list[7-x]=nbdec%2; //dec --> binaire
return list[7-row];
}


Et autre petite question pour la route:
Sur la doc ils mettent que la touche ON est une interruption, comment la détecte t on?
./6
18.06.2001 - 26444
20:10  Folco - Posté : 12-11-2009  M
Auto-int 6. Le fonctionnement est décrit dans cette doc qui fait autorité : http://tict.ticalc.org/docs/J89hw.txt

Pour le reste, autant ça me pose pas de problème en assembleur, autant je suis trop nul en C pour t'aider, cf le topic d'à côté. grin
avatar<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./7
10.06.2001 - 33210
23:54  Kevin Kofler - Posté : 12-11-2009  M
Il est plus simple d'utiliser _keytest que _rowread directement.
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
./8
12.10.2005 - 24
00:01  natha - Posté : 14-11-2009  M
Merci KK pour ton conseil, c ce qui me fallait smile
Pour ce qui est de l'interruption, je n'ai pas compris le fonctionnement.
Il y a une fonction pour obtenir l'interruption et une pour la lire?

GetIntVec (0x78) (ou GetIntVec (AUTO_INT_6) je crois que c pareil) renvoie quoi exactement?

au fait le keytest de la touche '=' ne marche pas chez moi(ti89t), j'ai du le remplacer par _keytest (5,4) , ça marche sur les autres calto? (92, V200?) #hum#
./9
18.06.2001 - 26444
00:02  Folco - Posté : 14-11-2009  M
A mon sens, ça devrait renvoyer le vecteur, c'est à dire l'adresse du code qui sera exécuté quand une ai6 se produira.
avatar<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./10
12.10.2005 - 24
00:28  natha - Posté : 14-11-2009  M
en effet
&GetIntVec (AUTO_INT_6)
renvoie 0 mais je n'obtiens pas de 1 si j'appuie sur ON #hum#
Faut faire un truc au préalable avec &SetIntVec?
./11
18.06.2001 - 26444
00:30  Folco - Posté : 14-11-2009  M
Euh... c'est pas comme ça que t'auras ça. Tu veux faire quoi en fait ? Juste savoir si la touche est enfoncée ou non ?
avatar<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./12
18.06.2001 - 26444
00:34  Folco - Posté : 14-11-2009  M
Dans la doc dont je t'ai passé le lien :
$60001A RW
:1 READ: Current status of the [ON] key, =0 if pressed
:7-0 WRITE: Acknowledge [ON] key interrupt (level 6)

T'as juste un bit à lire pour savoir si c'est appuyé.
avatar<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./13
12.10.2005 - 24
00:53  natha - Posté : 14-11-2009  M
oui je veux juste savoir si c enfonce ou non pr pouvoir couper le prog par ex comme en ti-basic
un truc du style
while(&GetIntVec (AUTO_INT_6))    { ... }

J'ai lu ce passage ds la doc mais comme je disais j'ai tj le 0 meme qd j'appuie sur ON

./14
18.06.2001 - 26444
01:10  Folco - Posté : 14-11-2009  M
Faut que tu fasses un handler d'interruption alors, que tu vas installer avec SetIntVec(ton handler).
Et tu fais ce que tu veux faire dans ce handler.
avatar<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./15
12.10.2005 - 24
02:00  natha - Posté : 14-11-2009  M
raa
me soule ce truc je comprends rien #triso#

j'ai fini par faire un
	while(!_keytest (RR_ESC))    { ... }

c pas la même touche mais bon c bien plus court smile
Ce qui change c que le test va être vérifié uniquement en fin de boucle, alors qu'avec les interrupt ça coupe direct (si g bien compris) mais bon ça me suffit.

Et puis de tt facoobllmrblblzzzzzz #zzz# #zzz# #zzz#
./Publicité AdSense
 « - 1/1 - » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (15r) » appui touches simultannes

./Poster un nouveau message. - Ouvrir dans une nouvelle fenêtre
Login : Mot de passe :

url - image - media  
spoiler - pre - fixed
quote - box - hr
poll - code





Smileys
Smileys perso
Pièce jointe
     Flood control (?) :    
Les messages postés sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus.

» yN ©1624 - Aide / Charte / Crédits
30ms | Statistiques