Portál AbcLinuxu, 9. května 2025 06:26

Dotaz: DO jako klávesnice, jak to vypnout

24.5.2008 19:43 Hrabosh | skóre: 26 | blog: HBlog | Brno
DO jako klávesnice, jak to vypnout
Přečteno: 406×
Odpovědět | Admin

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 .. ?

To jsem psal já ... to není bordel, to je modulární!
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.5.2008 20:14 petris
Rozbalit Rozbalit vše Re: DO jako klávesnice, jak to vypnout
Odpovědět | | Sbalit | Link | Blokovat | Admin
kouknete se, jestli je ten DO podporovany v programu lirc
26.5.2008 21:46 Hrabosh | skóre: 26 | blog: HBlog | Brno
Rozbalit Rozbalit vše Re: DO jako klávesnice, jak to vypnout

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=yes
Ale 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 ?

To jsem psal já ... to není bordel, to je modulární!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.