Provided by: lirc_0.10.0-2_amd64 bug

NAME

       lircmd - Translate infrared signals into mouse events.

SYNOPSIS

       lircmd [options] [config-file]

DESCRIPTION

       lircmd reads decoded buttonpress events from a lircd(8) output socket and converts them to
       mouse events.  These events are made available either on  the  lircmd  output  socket  (by
       default  /var/run/lirc/lircmd ) or, using the --uinput option, on a /dev/input device like
       /dev/input/event12 .

       This daemon can simulate a MouseSystems, IntelliMouse or IMPS/2 type mouse.  The  function
       depends  on a configuration file, by default /etc/lirc/lircmd.conf .  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.

       The  normal  usage  is  to  configure X11 to use the events produced by lircmd as an input
       source.  See  SEE ALSO.

       Using the --uinput 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 /dev/lircmd which always can be used.

       By default, using the --uinput option requires lircmd to run as root since the /dev/uinput
       device  can  be  accessed only by root.  The lirc distribution contains example udev rules
       and lircd-setup(8) configurations which can be used to make the device accessible by other
       users.  In this way, lircmd can be run as a regular user.

OPTIONS

       -h --help
              Display help  message.

       -v --version
              Display version.

       -n --nodaemon
              Don't fork to background.

       -s --socket <socket path>
              Use  alternate lircd socket path (the lircmd input source).  Defaults to the output
              key in the [lircd] section of the lirc_options.conf config file,  falling  back  to
              /var/run/lirc/lircd.

       -O --options-file=file
              Alternative default options file, usually defaults to /etc/lirc/lirc_options.conf.

       -u --uinput
              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.

       -D --loglevel=[level]
              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'.

SOCKET PROTOCOL

       The socket protocol contains undocumented parts. The data on the output socket is

       MouseSystems
           5 byte packets:

           •   Byte 1: Button information.

           •   Byte 2: X-axis change.

           •   Byte 3: Y-axis change.

           •   Byte 4 and 5: 0.

       IMPS/2
           4 byte packets. Please refer to the lircmd source code for details.

       IntelliMouse
           4 byte packets. Please refer to the lircmd source code for details.

FILES

       lircmd  will use syslogd to output error messages. It depends on your system configuration
       where they will show up.

       The options file is by default  /etc/lirc/lirc_options.conf;  lircmd  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.

DAEMONS

       lircmd  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.  lircmd has to be started after lircd
       as it connects to the socket lircd provides.

BUGS

       Since the device name used when registrating  the  --uinput  device  is  fixed,  only  one
       instance of lircmd using this option can run on a given system.

       The socket protocol is a documentation-wise mess.

SEE ALSO

       http://lirc.org/html/configure.html#lircmd.conf
       lircd(8)
       lircd-setup(8)