Bonjour à tous,

Je cherche actuellement à récupérer mes touches d'un clavier par le biais des GPIO

J'ai une base sur laquelle je récupère mes touches les unes après les autres mais je souhaiterais les récupérer peu importe comment on appuie sur les touches.

Voici le code qui me permet actuellement de récupérer les appuis:

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
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
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
#!/usr/bin/python3
 
# -*- coding:utf-8 -*-
 
import os
 
import RPi.GPIO as GPIO
 
 
 
#Paramétrage des GPIO en input et déclaration des variables
 
 
GPIO.setmode(GPIO.BOARD)
 
L1 = 12
 
GPIO.setup(L1,GPIO.IN)
 
L2 = 13
 
GPIO.setup(L2,GPIO.IN)
 
L3 = 15
 
GPIO.setup(L3,GPIO.IN)
 
L4 = 37
 
GPIO.setup(L4,GPIO.IN)
 
L5 = 16
 
GPIO.setup(L5,GPIO.IN)
 
L6 = 19
 
GPIO.setup(L6,GPIO.IN)
 
C1 = 18
 
GPIO.setup(C1, GPIO.IN)
 
C2 = 22
 
GPIO.setup(C2,GPIO.IN)
 
C3 = 32
 
GPIO.setup(C3,GPIO.IN)
 
C4 = 36
 
GPIO.setup(C4,GPIO.IN)
 
 
i = 0
 
 
 
#Détection de l'appui sur une colonne et une ligne
 
 
while i < 1:
 
	if GPIO.wait_for_edge(L1, GPIO.FALLING) and GPIO.wait_for_edge(C1, GPIO.FALLING):
 
		print("touche 9 appuyée")
 
	if GPIO.wait_for_edge(L1, GPIO.FALLING) and GPIO.wait_for_edge(C2, GPIO.FALLING):
 
		print("touche 8 appuyée")
 
	if GPIO.wait_for_edge(L1, GPIO.FALLING) and GPIO.wait_for_edge(C3, GPIO.FALLING):
 
		print("touche 7 appuyée")
 
	i = i+1

Le problème est que j'arrive à récupérer si j'appuie sur le 9, puis le 8 puis le 7 ...

Je souhaiterais moi pouvoir appuyer sur le 8 ou le 7 en premier ...

Le but étant à terme de récupérer dans un fichier (xml je pense) des séquences d'appui sur le clavier...

Qu'est-ce qui cloche dans mon script ?

En vous remerciant de votre aide,

Bien cordialement,

M.