Linux hotkey
Miroslav Mraz
mrazik na volny.cz
Neděle Červenec 11 19:45:22 CEST 2021
Kdyby nevadila skutečná klávesa místo nějaké virtuální, řešení je hodně
jednoduché i když se mi hodně blbě hledalo. Pokud přidáte do souboru
/boot/config.txt např. řádek
dtoverlay=gpio-key,gpio=21,label=KEY_ENTER,keycode=28
pak se automaticky vytvoří /dev/input/eventN, což emuluje klávesnici (v
příkazové řádce i X11) s jedinou klávesou ENTER, pokud je tlačítko na
GPIO21 proti zemi (pull up je default), přičemž gpio-key je ovladač.
Opravdu to funguje - konfigurace je Rpi3B, Linux raspberrypi 5.10.17-v7+
#1421 SMP Thu May 27 13:59:01 BST 2021 armv7l GNU/Linux.
Více na
https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README
https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h
Mrazík
Dne 10. 07. 21 v 18:50 Michal Grunt napsal(a):
> Mám napsany v C jednoduchý program, který na RPi sleduje jedno GPIO (kde
> je tlacitko) a při jeho stisknutí vygeneruje zmacknuti virtuální klávesy
> třeba X. Funguje to, ale jak to napsat tak, aby to nezatezovalo moc
> procesor? Mám tam nekonečnou smyčku kde sleduji GPIO, ale pokud do té
> smyčky nedám delay třeba 200ms tak to sežere snad všechen CPU čas a nebo
> je to dost náročný (už si to přesně nepamatuji). Ale zase s těmi 200ms
> je to zmacknuti detekování se zpožděním... Jak ten stav GPIO detekovat
> bez zpoždění a s minimální zátěží CPU?
>
> MG
Další informace o konferenci Hw-list