Bonjour,
Je tente de programmer un appareil basé sur une architecture ARM sous linux. Cet appareil possède des boutons dont j'aimerais contrôler l'état en permanence afin d'attribuer diverses fonctions à l'appui sur l'un de ces boutons.
De ce que j'ai pu trouver jusque là il semblerais qu'il faut utiliser la fonction ioctl() afin de lire les entrée clavier. Or je ne sait pas comment cette méthode fonctionne.
Suite à quelques recherche sur le net voici le code que j'ai actuellement :
Dans ce code, de ce que j'en comprends, je viens lire l'état du "/dev/input/keyboard0" (cela correspond à mes boutons selon la doc de mon appareil). Une fois la lecture effectuée je viens parcourir chacune des touche afin de voir leur état puis si l'une d'entre-elle est à l'état 1 je rentre dans le Switch. Sauf que actuellement je ne suis encore jamais passé dans le switch, suite à plusieurs tentatives en debug.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
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
Je ne comprends pas bien le fonctionnement de ioctl() et je ne sais pas si c'est la bonne méthode à employer. Par la suite je souhaitais mettre cette fonction dans un thread afin d'avoir un contrôle des touches en permanence.
Pouvez-vous m'expliquer comment fonctionne cette fonction ioctl (si je dois l'inclure dans un while(1) pour avoir un contrôle permanent). De plus si vous voyez quelques chose que j'ai mal fait dans ce bout de code n'hésitez pas à me le dire.
Je suis relativement nouveau au C++ et totalement nouveau à la programmation sur des appareil linux.
Merci d'avance pour votre temps et vos réponses.

 

 
		
		 
         
  
			
			
 
   
 


 Utilisation de ioctl() pour lire les entrées clavier
 Utilisation de ioctl() pour lire les entrées clavier
				 Répondre avec citation
  Répondre avec citation

 
  
  
 
 
  
 
 
  
Partager