.TH MODE2 "1" "Last change: Aug 2015" "mode2 @version@" "User Commands"
.SH NAME
xmode2 - Show the pulse/space length of infrared signals
.SH SYNOPSIS
.P
\fBxmode2\fR [\fIoptions\fR]

.SH DESCRIPTION
.P
The main purpose of \fBxmode2\fR is to check operation of your
home-brew LIRC receiver hardware and to see the IR waveform of the
remote controller without an expensive oscilloscope. Very useful for
debugging. Of course this program won't work with hardware that decodes
the signals itself like e.g. TV cards or the Irman i. e., it only
works with LIRC_MODE_MODE2 type drivers.
.P
\fBxmode2\fR prints a simple graphics display of the pulse/space lengths. It
accepts a few commands including time base changes; see the xmode2 -h output.
.P
lirc-lsplugins(1) allows checking if a driver is a LIRC_MODE2 type one.


.SH OPTIONS

.TP
\fB\-h\fR \fB\-\-help\fR
display usage summary
.TP
\fB\-v\fR \fB\-\-version\fR
display version
.TP
\fB\-d\fR \fB\-\-device\fR=\fIdevice\fR
read from given device
.TP
\fB\-H\fR \fB\-\-driver\fR=\fIdriver\fR
use given driver
.TP
\fB\-m\fR \fB\-\-mode\fR
enable alternative display mode
.TP
\fB\-r\fR \fB\-\-raw\fR
access device directly

.SH RUNNING AS ROOT
In many cases xmode2 needs to run as root to access devices not available
to regular users. On the other hand, running as root creates problems
such as log files owned by root, security concerns etc.
.P
In order to cope with this, xmode2 by default drops root privileges
after opening the input device. This support is based on that root
permissions are acquired using sudo(1) e. g., using
.nf

        $ sudo xmode2 --driver default --device /dev/lirc0

.fi
If not using sudo, the same behaviour could be accomplished using the
SUDO_USER environment variable e. g.,
.nf

        # SUDO_USER=$LOGNAME xmode2 --raw /dev/lirc0

.fi
The --keep-root option will make xmode2 keep it's root privileges for the
complete run.


.SH "DRIVER LOADING"
Drivers are loaded dynamically. The search path used for this is determined
by (falling priority):
.IP \- 2
The --plugindir option.
.IP \- 2
The 'plugindir' entry in  the [lircd] section of the lirc_options.conf file.
.IP \- 2
The environment variable LIRC_PLUGINDIR.
.IP \- 2
A hardcoded default (usually /usr/lib[64]/lirc/plugins).

.SH FILES

.TP 4
.B ~/.cache/xmode2.log
Debug output. Setting the XDG_CACHE_HOME environment variable relocates this
file to $XDG_CACHE_HOME/mode2.log

.SH "SEE ALSO"
mode2(1)
.br
lirc-lsplugins(1)

The documentation for
.B lirc
is maintained as html pages. They are located under html/ in the
documentation directory.
