j’ai essayé sur un pi4 avec bullseye en 64bit
dans /boot/config.txt:
dtoverlay=gpio-ir,gpio_pin=23
pour recevoir le signal sur le pin gpio23
ensuite j’ai passer le programme :
lirc-make-devinput /usr/include/linux/input-event-codes.h
parce que le fichier /etc/lirc/lircd.conf.d/devinput.lircd.conf
peut ne pas correspondre avec le kernel de la machine mais en fait ça a rien changé !
ensuite j’ai créé un conf avec irrrecord que j’ai testé avec lirc-config-tool mais malgré 0 erreur ça marche toujours pas !
avant de jeter le bouzin j’ai installé ir-keytable (merci pour l’info
) un module python evdev, bidouillé un petit programme python et la effectivement ça fonctionne presque sans problème ! il reste la répétition des touches trop rapide !
#!/usr/bin/python3
import subprocess
# apparementt il faut lancer d'abord ir-keytable
print(subprocess.run("sudo ir-keytable -c -p all", shell=True))
from evdev import InputDevice
irr = InputDevice('/dev/input/event0')
print("Press remote IR buttons, Ctrl-C to quit")
for event in irr.read_loop():
if event.type == 4:
try:
if event.value == 22:
print("button pressed: 0")
elif event.value == 12:
print("button pressed: 1")
elif event.value == 24:
print("button pressed: 2")
elif event.value == 94:
print("button pressed: 3")
# avec la touche "st" code 13 on lance apt update ! why not !
elif event.value == 13:
print("button pressed: st")
print(subprocess.run("sudo apt update", shell=True))
else:
print("button unknown!")
print(event)
except:
print("Problem with button press...")
j"ai trouvé ça ici:
https://www.sigmdel.ca/michel/ha/opi/ir_02_fr.html