Portál AbcLinuxu, 9. května 2025 06:26
Zdravím.
Při snaze rozchodit dálkové ovládání ke kartě WinFast DTV2000H jsem zjitil, že toto DO generuje eventy, stejně jako klávesnice. Bohužel, tlačítka jsou stejně namapována, takže když zmáčknu 1 na ovladači, je to jakobych tom zmáčkl na klávesnici.
GentooOnAthlon hrabosh # showkey kb mode was RAW [ if you are trying this under X, it might not work since the X server is also reading /dev/console ] press any key (program terminates 10s after last keypress)... keycode 28 release keycode 3 press keycode 3 release
... a opravdu, pokud třeba v Opeře kliknu do řádku pro URL a mačkám tlačítka na DO, objevují se mi tam bud čísla, nebo diakritické znaky (podle toho, jestli mám CZ, nebo EN klávesnici).
Chtěl jsem ty tlačítka použít k přepínání kanálu v kaffeinu, ale počítám, že když si na to nastavím třeba xbindkeys, tak mi to bude reagovat na čísla z klávesnice, což pochopitelně nechci ...
Nevíte někdo, jak z toho ven? Aby ten ovladač šel normálně používat .. ?
Jj. už vím, jak to funguje. Ovladač je LIRCem podporovaný, ale já jsem chtel nejdříve vyřešit tu duplicitu s klávesnicí, aby se mi to nehádalo. Pokud ale zapnu lirc, klávesnicové eventy (generované DO) už se odchytnout nedají, což jsem potřeboval.
Mám s tím ale další problém. LIRCD jsem nakonfiguroval, ale nejde mi irexec. Mám vytvořený konfigurační soubor (/etc/lirc/lircrc) na testování:
begin prog = irexec button = FM config = xterm repeat = 1 end, můj /etc/conf.d/irexec vypadá takto:
# Options to pass to the irexec process IREXEC_OPTS="/etc/lirc/lircrc" # User to execute irexec as. # Warning: Running irexec as root can open security holes IREXEC_USER="hrabosh" # Use this to disable the warning printed when starting irexec as root IREXEC_DISABLE_ROOT_WARNING=yesAle když ho pomocí /etc/init.d/irexec start spustím, tak nedělá nic. (Na tlačítka na DO nic nereaguje.)
Když ale irexec normálně spustím (irexec -d), tak se po stisku tlačítka na DO spustí xterm, jak má.
spouštecí skript z distribuce (Gentoo) vypadá takto:
#!/sbin/runscript # Copyright 2003 Martin Hierling # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/irexec-initd,v 1.3 2007/05/24 20:12:16 zzam Exp $ : ${IREXEC_USER:=root} depend() { need lircd } start() { if [ "x${IREXEC_USER}" = "xroot" -a "x${IREXEC_DISABLE_ROOT_WARNING}" != "xyes" ]; then ewarn "Warning: Running irexec as root can open security holes" fi ebegin "Starting irexec" start-stop-daemon --start --chuid ${IREXEC_USER} --user ${IREXEC_USER}\ --exec /usr/bin/irexec -- --daemon ${IREXEC_OPTS} eend $? "Failed to start irexec." } stop() { ebegin "Stopping irexec" start-stop-daemon --stop --exec /usr/bin/irexec --user ${IREXEC_USER} eend $? "Failed to stop irexec." }
Přitom když založím systémové proměnné IREXEC_USER a IREXEC_OPTS a spustím ten řádek (start-stop-daemon --start --chuid ${IREXEC_USER} --user ${IREXEC_USER} --exec /usr/bin/irexec -- --daemon ${IREXEC_OPTS}) v konzoli, tak to jede.
V zoufalství jsem vytvořil jiný spouštecí skript muj_irexec, který vypadá takto:
#!/sbin/runscript # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-process/vixie-cron/files/vixie-cron.rc6,v 1.2 2005/06/09 01:35:44 ka0ttic Exp $ start() { ebegin "Starting IREXEC ..." /usr/bin/irexec -d eend $? } stop() { ebegin "Doing nothing ..." eend $? }
Ten bohužel nefunguje, přestože /usr/bin/exec -d v konzoli jo .... napadá vás něco ?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.