<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE>LIRC - Linux Infrared Remote Control</TITLE> <LINK REL="stylesheet" TYPE="text/css" HREF="lirc.css"> <LINK REL="shortcut icon" HREF="../images/favicon.ico"> <META NAME="description" CONTENT="LIRC - Linux Infrared Remote Control"> <META NAME="keywords" CONTENT="linux remote control, multimedia"> <META charset="UTF-8"> </HEAD> <body> <TABLE CLASS="menu"><TR> <TD CLASS="menu"><IMG class="menuimg" SRC="../images/diode.gif" ALT="LIRC icon" ALIGN="LEFT"></TD> <TD><IMG class="menuimg" SRC="../images/lirc.gif" ALT="LIRC logo" ALIGN="RIGHT"></TD> </TR></TABLE> <h1>LIRCMD</h1> Section: System Administration Utilities (8)<br>Updated: Last change: Aug 2016<br><a href="#index">Index</a> <a href="index.html">Return to Main Contents</a><hr> <a name="lbAB"> </a> <h2>NAME</h2> <p> <b>lircmd</b> - Translate infrared signals into mouse events. <a name="lbAC"> </a> </p> <h2>SYNOPSIS</h2> <p> <b>lircmd</b> [<i>options</i>] [<i>config-file</i>] <a name="lbAD"> </a> </p> <h2>DESCRIPTION</h2> <b>lircmd</b> reads decoded buttonpress events from a <b><a href="lircd.html">lircd</a>(8)</b> output socket and converts them to mouse events. These events are made available either on the lircmd output socket (by default <i>/run/lirc/lircmd</i> ) or, using the <i>--uinput</i> option, on a /dev/input device like <i>/dev/input/event12</i> . <p> This daemon can simulate a MouseSystems, IntelliMouse or IMPS/2 type mouse. The function depends on a configuration file, by default <i>/etc/lirc/lircmd.conf</i> . This file determines which button from which remote causes a mouse move or a mouse button click. Special button which activates or deactivates the mouse mode can also be defined. </p> <p> The normal usage is to configure X11 to use the events produced by lircmd as an input source. See SEE ALSO. </p> <p> Using the <i>--uinput</i> option the user device created by the kernel has a dynamic name which typically changes after a reboot. The lirc distribution contains a udev rule which, if installed, creates a fixed link named <i>/dev/lircmd</i> which always can be used. </p> <p> By default, using the <i>--uinput</i> option requires <b>lircmd</b> to run as root since the <i>/dev/uinput</i> device can be accessed only by root. The lirc distribution contains example udev rules and <b><a href="lircd-setup.html">lircd-setup</a>(8)</b> configurations which can be used to make the device accessible by other users. In this way, <b>lircmd</b> can be run as a regular user. </p> <p> </p> <p> <a name="lbAE"> </a> </p> <h2>OPTIONS</h2> <dl> <div><dt> <b>-h</b> <b>--help</b> </dt></div> <dd> Display help message. </dd> <div><dt> <b>-v</b> <b>--version</b> </dt></div> <dd> Display version. </dd> <div><dt> <b>-n</b> <b>--nodaemon</b> </dt></div> <dd> Don't fork to background. </dd> <div><dt> <b>-s</b> <b>--socket</b> <<i>socket path</i>></dt></div> <dd> Use alternate lircd socket path (the lircmd input source). Defaults to the <i>output</i> key in the <i>[lircd]</i> section of the <i>lirc_options.conf</i> config file, falling back to /run/lirc/lircd. </dd> <div><dt> <b>-O</b> <b>--options-file</b>=<i>file</i> </dt></div> <dd> Alternative default options file, usually defaults to /etc/lirc/lirc_options.conf. </dd> <div><dt> <b>-u</b> <b>--uinput</b> </dt></div> <dd> On Linux systems the --uinput option will enable automatic generation of Linux input events. lircmd will open /dev/input/uinput and inject the simulated mouse events into the Linux kernel rather than creating the /dev/lircm device. The kernel makes these events available to other applications on a /dev/input device, just like any other kernel input device. </dd> <div><dt> <b>-D</b> <b>--loglevel</b>=[<i>level</i>]</dt></div> <dd> Determine the amount of logging information. [level] can be a symbolic syslog level: 'error','warning, 'info', 'notice' or 'debug'. lircd also defines three additional levels 'trace', 'trace1' and 'trace2' which gives even more messages ('trace2' bringing the most). However, in the log these messages are marked as 'debug'. <p> </p> </dd> </dl> <a name="lbAF"> </a> <h2>SOCKET PROTOCOL</h2> <p> The socket protocol contains undocumented parts. The data on the output socket is </p> <dl> <div><dt> <b>MouseSystems</b> </dt></div> <dd> 5 byte packets: <dl> <div><dt></dt></div> <dd> <dl> <div><dt>•</dt></div> <dd> Byte 1: Button information. </dd> <div><dt>•</dt></div> <dd> Byte 2: X-axis change. </dd> <div><dt>•</dt></div> <dd> Byte 3: Y-axis change. </dd> <div><dt>•</dt></div> <dd> Byte 4 and 5: 0. </dd> </dl> </dd> </dl> </dd> <div><dt> <b>IMPS/2</b> </dt></div> <dd> 4 byte packets. Please refer to the lircmd source code for details. </dd> <div><dt> <b>IntelliMouse</b> </dt></div> <dd> 4 byte packets. Please refer to the lircmd source code for details. <p> </p> </dd> </dl> <a name="lbAG"> </a> <h2>FILES</h2> <p> <b>lircmd</b> will use syslogd to output error messages. It depends on your system configuration where they will show up. </p> <p> The options file is by default /etc/lirc/lirc_options.conf; <b>lircmd</b> handles the values under the [lircmd] section in this file. The location can be changed using the -O/--options-file command-line option or using the environment variable LIRC_OPTIONS_PATH. The values here are used as defaults for any option not present on command line. </p> <p> </p> <p> <a name="lbAH"> </a> </p> <h2>DAEMONS</h2> <p> <b>lircmd</b> is a daemon. It should be started in some system-dependent init script. Besides the systemd setup which is installed by default there are also example scripts for other distros and init systems in the contrib directory. <b>lircmd</b> has to be started after lircd as it connects to the socket lircd provides. </p> <p> <a name="lbAI"> </a> </p> <h2>BUGS</h2> <p> Since the device name used when registrating the <i>--uinput</i> device is fixed, only one instance of <b>lircmd</b> using this option can run on a given system. </p> <p> The socket protocol is a documentation-wise mess. </p> <p> <a name="lbAJ"> </a> </p> <h2>SEE ALSO</h2> <p> <b><a href="http://lirc.org/html/configure.html#lircmd.conf">http://lirc.org/html/configure.html#lircmd.conf</a></b> <br> <b><a href="lircd.html">lircd</a>(8)</b> <br> <b><a href="lircd-setup.html">lircd-setup</a>(8)</b> </p> <p> </p> <hr> <a name="index"> </a><h2>Index</h2> <dl> <div><dt><a href="#lbAB">NAME</a></dt></div> <dd> </dd> <div><dt><a href="#lbAC">SYNOPSIS</a></dt></div> <dd> </dd> <div><dt><a href="#lbAD">DESCRIPTION</a></dt></div> <dd> </dd> <div><dt><a href="#lbAE">OPTIONS</a></dt></div> <dd> </dd> <div><dt><a href="#lbAF">SOCKET PROTOCOL</a></dt></div> <dd> </dd> <div><dt><a href="#lbAG">FILES</a></dt></div> <dd> </dd> <div><dt><a href="#lbAH">DAEMONS</a></dt></div> <dd> </dd> <div><dt><a href="#lbAI">BUGS</a></dt></div> <dd> </dd> <div><dt><a href="#lbAJ">SEE ALSO</a></dt></div> <dd> </dd> </dl> <hr> <p> This document was created by <a href="index.html">man2html</a>, using the manual pages.<br> Time: 12:55:09 GMT, February 16, 2019 </p> <p class="footer"> [<A HREF="http://www.lirc.org/">LIRC homepage</A>] </p> </body> </html>