Asus DH IR remote with USB receiver support on FreeBSD with LIRC as additional keyboard

Polytropon freebsd at edvax.de
Sun Oct 4 14:18:39 UTC 2020


Out of curiosity (and because I'd like to have a working remote control
for presentations given by "xpdf -fullscreen <file>"), I'd like to get
my Asus DH remove control working with FreeBSD. There is a USB receiver
which identifies to the system as follows:

	ugen2.6: <T-wins ASUS DH Remote> at usbus2
	ukbd1 on uhub7
	ukbd1: <T-wins ASUS DH Remote, class 0/0, rev 1.10/1.00,
		addr 6> on usbus2
	kbd3 at ukbd1

But in my opinion, the identification as a keyboard is a false-positive,
and it doesn't work. Using the "xev" tool, when I press any key on the
remove, I get a "left shift key down" event, and it keeps stuck in that
state, so I have to disconnect the IR receiver so it "snaps back" to
normal.

I've read that I need LIRC - Linux Infrared Remove Control. Luckily, this
is available on FreeBSD and even comes with a configuration file for the
Asus remote:

	/usr/local/share/examples/lirc/remotes/asus/lircd.conf.asusdh

I can start the daemon, but don't know which device I am supposed to use
(so "default" looks reasonable from the "--device=help" list):

	# lircd -n --device=/dev/ugen2.6 --driver=default
	lircd: lircd(default) ready, using /var/run/lirc/lircd
	^C
	lircd: caught signal
	# _

No error messages or useful log entries are being generated. But no
/dev/lirc0 device file either.

The documentation on the web is... well... quite "distributed"... and
applies to Linux primarily. It mentions files that exist nowhere, it
is not clear about what device name to enter where, and so on. I cannot
get a /dev/lirc0 file, even though LIRC starts. I have no idea what to
put into which configuration file, or how they are supposed to be named
and located; /usr/local/etc/lircd.conf is logical, but is hardware.conf
supposed to be /usr/local/etc/lirc/hardware.conf? It's not even mentioned
in the manual (and the manual is specific to Linux).

What I'm basically searching for is a way to have the remote to be an
additional keyboard, sending key presses into X's input system as if
I would press them on a normal keyboard, e. g., press "+" on the
remote, sends KP_Add, outputs "+". It would be nice to define which
key symbols are being sent for a specific code, just like any simple
programmable keyboard can be used (code - symbol - action, using
common tools like xev, xmodmap, and xbindkeys, no further magic is
needed). Or for the use with xpdf in presentation mode: press ">>|",
sends "space", xpdf shows next page; press "|<<", sends "b", xpdf
shows previous page.

I _assume_ that something like lirc - config - xmodmap is possible.
Or at least _should_ be possible. I have no idea what I'm doing.

So my questions include, but are not limited to:

1. How do I prevent FreeBSD from aiming me with a false keyboard that
   I need to unplug after I pressed a key?

2. How to setup LIRC correctly on FreeBSD, given the information that
   you know which IR device you have and which USB port the receiver
   is attached to?

3. How can X be configured to accept codes / symbols received by the
   IR system as key presses I can define?

Did anyone get this potentially useful thing to work with FreeBSD yet?

It would be unfortunate if I had to throw the remote and the receiver
away just because the documentation is problematic (to a simple-minded
user like myself)...




-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...


More information about the freebsd-questions mailing list