1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
|
remote - Remote Control plugin for the Video Disk Recorder (VDR)
================================================================
Version: 0.4.0
Written by: Oliver Endriss <o.endriss@gmx.de>
Latest version available at: http://www.escape-edv.de/endriss/vdr
Requirements: VDR 1.1.32 or later
DVB or dvb-kernel driver (2003-03-31 or later)
Distributed under GPL, see the file COPYING for license information.
Description:
------------
This plugin extends the remote control capabilities of vdr.
The following remote control devices are supported:
(a) linux input device driver ('/dev/input/eventX', X=0,1,2,...)
- built-in remote control port of the av711x-based DVB cards
(aka full-featured cards), e.g. DVB-S Nexus [1]
- remote control port of some budget cards, e.g. Nova-CI [2]
- other input devices (not tested, please report success!)
See file FAQ for a list of cards which have been reported to work.
(b) keyboard (tty driver): /dev/console, /dev/ttyX
(c) TCP connection (telnet)
(d) LIRC
Notes:
[1] supported by DVB and dvb-kernel
[2] supported by dvb-kernel only
Installation:
-------------
The Remote Control plugin is installed the same way as any other plugin:
- cd VDR/PLUGINS/src
- tar xfz vdr-remote-0.4.0.tgz
- ln -s remote-0.4.0 remote
- cd ../..
- make plugins
Edit runvdr (or whatever script you use) to load the Remote Control plugin, e.g.
vdr -Premote
will start the Remote Control plugin using default (autodetect) mode.
Key Learning:
-------------
When a remote control device is used for the first time, vdr will enter
key learning mode. Please follow the instructions on the OSD carefully!
For full-featured cards, you will be asked whether you want to use an
user-defined keymap. This keymap must be loaded with av7110_loadkeys
- *after* the driver has been loaded and
- *before* vdr has been started.
This way you can use your old keymaps if you are upgrading an existing
installation. Most people don't want to do this, and won't press a key here!
If you don't care about keymaps (or don't even know what a keymap is ;-),
the Remote Control plugin will now try to autodetect the remote control.
It will load a one-for-all keymap and detect protocol type and device address.
Please see note [3] below!
You will be prompted to press and hold down any key.
It is *important* to keep the key pressed until there is a OSD message that
- protocol ... has been detected or
- no remote control could be detected.
Note that the remote control transmitter can be detected only, if it uses a
infrared protocol supported by the receiver hardware.
The receivers of the Nexus cards support the RC5 protocol, which is supported
by virtually all universal remote controls (try 'Philips' codes).
After key learning, entries like these will be added to the remote.conf file:
...
remote-event0._Setup /proc/av7110_ir 00000000 18
remote-event0.Up 0000000100010021
remote-event0.Down 0000000100010022
remote-event0.Menu 0000000100010024
...
If you have to re-learn keys, edit remote.conf and delete these lines.
(If you delete the file remote.conf, you have to repeat key learning
for all remote controls.)
Notes:
[3] There is a restriction:
By default, /proc/av7110 is owned by root with permissions -rw-r-r- (0644).
Therefore, the new autodetect feature can be used only,
- if vdr runs as root
or
- if you are running kernel 2.6.10.7 or later:
Use chown/chmod to set ownership/permissions. For example, add
chown $VDRUSR /proc/av7110_ir
to your runvdr script (after loading the driver).
or
- if the driver has been patched using the patch in directory 'misc':
cd DVB/driver/av7110
patch < av7110_ir-permission-666-kernel-2.4.diff
The patch will change permissions of /proc/av7110_ir to 666, so any user
may load new keymaps. (Don't install the patch if you consider loading
keymaps a security risc.) After applying the patch the driver has to be
recompiled.
DVB and dvb-kernel driver (version 1.0.x "DVB", version 1.1.x "dvb-kernel")
---------------------------------------------------------------------------
Remote control events are passed through '/device/input/eventX'.
(Since the /dev/input protocol is standardized in the kernel, there is a
chance that this plugin will work with other /dev/input devices, too.
However, this has not been tested yet...)
The -i option allows you to specify the name of the /dev/input device.
Before submitting a bug report, please verify that driver and remote control
are working properly. You may do this using the 'evtest' tool supplied
with the driver (directory 'DVB/apps/av7110_loadkeys' or
'DVB-APPS/util/av7110_loadkeys').
Verify that the device node exists and you have read access rights.
For testing or if you want to build your own keymap:
You have to select the correct protocol type, inversion setting and
keymap using the tool 'av7110_loadkeys'. Please read the file README in
the directory 'DVB/apps/av7110_loadkeys' or 'DVB-APPS/util/av7110_loadkeys'.
If you still have problems, have a look on the checklist in file 'FAQ'.
TTY devices
-----------
The -t option may be used to specify a virtual console as an input device.
This is useful, if you haven't compiled keyboard support into your VDR.
Option -T does the same, plus displays a simple 'OSD' on the terminal.
Note that this is _not_ the real OSD. Information supplied by the cStatus
class is used to create a display which looks _like_ the OSD.
Please don't complain if some features don't work. For example, the screens
for remote control/keyboard learning cannot be displayed on this kind of OSD.
There are probably some display errors, too.
TCP connection (telnet)
-----------------------
Option -p can be used to control vdr over one or more TCP ports.
Access restrictions apply as specified in svdrphosts.conf (see 'man 5 vdr').
Otherwise, behaviour should be the same as remote control type -T.
LIRC
----
The LIRC remote control (option '-l') just starts the LIRC code of vdr.
Please note that I do not use LIRC and cannot provide any support.
Summary of command line options:
--------------------------------
-i dev, --input=dev select device which supports the /dev/input protocol
-l dev, --lirc=dev select LIRC device
-t dev, --tty=dev select terminal device
-T dev, --TTY=dev select terminal device with 'OSD'
-p tcp:n, --port=tcp:n select connection on tcp port <n>
Examples:
---------
vdr -Premote
vdr -P"remote -i autodetect"
Try to autodetect device '/dev/input/eventX' (X = 0,1,2,...).
If no device can be identified, '-i /dev/input/ir' is used.
vdr -P"remote -i /dev/input/event2"
use specified input device '/dev/input/event2'
vdr -P"remote -i /dev/input/by-path/pci-0000:02:06.0--event-ir"
select input device by pci slot (udev support required)
vdr -P"remote -l /dev/lircd"
select LIRC remote control
vdr -P"remote -p tcp:3333"
wait for a telnet connection on tcp port 3333
(use 'telnet vdr 3333' to access this port)
vdr -P"remote -t /dev/tty10"
use terminal device without 'OSD'
vdr -P"remote -T /dev/tty10"
use terminal device with 'OSD'
vdr -P"remote -i autodetect -p tcp:3333 -t /dev/tty10"
use multiple devices
Have fun,
Oliver
|