Test d'apuie sur touche spécial

Test d'apuie sur touche spécial - C++ - Programmation

Marsh Posté le 25-12-2007 à 14:56:16    

Bonjour a tous
 
Je suis actuellement sous Mandriva 2008 et j'aimerai réaliser un petit programme qui me détecte l'appuie sur des touche spéciales.
 
En particulier je voudrai tester les touches Vol+ et Vol- de mon PC portables acer !
 
Y a t'il une librairie particulière a utiliser ou bien des fonction spécial C/C++ qui me permettrai de le faire ?
J'ai lue sur le net que l'on pouvait utiliser la librairie ncurses mais je ne sait pas comment l'utiliser pour identifier mes touches Vol- et Vol+
 
Merci

Reply

Marsh Posté le 25-12-2007 à 14:56:16   

Reply

Marsh Posté le 26-12-2007 à 01:21:10    

Salut,
 
Normalement, ces touches devraient êtres définies comme XF86AudioLowerVolume et XF86AudioRaiseVolume (dans /usr/include/X11/XF86keysym.h); par contre, pour comment les détecter, je passe mon tour, je n'y connais rien en dev X11 :/

Reply

Marsh Posté le 26-12-2007 à 09:03:50    

Ok merci pour ta réponse je vais essayer de me renseigner sur sa
Si quelqu'un a d'autre proposition ou explication ce sont les bienvenue ^^

Reply

Marsh Posté le 15-01-2008 à 19:54:40    

Salut, je pense que mon bout de code pourra t'aider :
 
#include <conio.h>
#include <iostream>
#include <cstdio>
 
using namespace std ;
 
int main()  
{  
int buffer;
 
buffer=getch();
 
cout<<endl<<buffer<<endl;
system("PAUSE>>nul" ) ;
return 0 ;
}
Tu compile et execute ce programme.
Il te donne le code ANSII du caractère saisi... quelque soit la touche pressée.
Ensuite, tu peux mettre le code suivent dans ton programme :
 
if ( toucheAppuye == valeurTrouvéePourV+)
{
action 1
}
else if( toucheAppuye == valeurTrouvéePourV-)
{
action 2
}
 
Je suis pas sur que ca marchera mais tu peux essayer...

Reply

Marsh Posté le 16-01-2008 à 08:35:01    

conio.h sous mandriva j'y crois pas 10s :E

Reply

Marsh Posté le 16-01-2008 à 13:50:40    

effectivement conio.h c'est pas pour mandriva mais merci quand même de la réponse

Reply

Marsh Posté le 16-01-2008 à 20:03:57    

Voir xlib. Ca fonctionne comme sous windows.
 

Code :
  1. //...
  2. XEvent event;
  3. XNextEvent(display,&event),
  4. switch (event.type) {
  5.     case KeyPress : // touche pressée
  6.     break;
  7. }


 
 
je te laisse chercher les initialisations nécessaires. Sache quand meme que ton application ne recevra les événements que si elle est active.

Reply

Marsh Posté le 16-01-2008 à 20:04:45    

xlib c'est so 1890 ... y a bien qqchose de plus récent que ca :o

Reply

Marsh Posté le 16-01-2008 à 20:06:50    

Joel F a écrit :

xlib c'est so 1890 ... y a bien qqchose de plus récent que ca :o


Peut-être, mais l'application a plus de chance de tourner sur diverses machines.

Reply

Marsh Posté le 16-01-2008 à 20:13:04    

quand même :/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed