imported>Fmherschel |
|
Line 1: |
Line 1: |
− | === Introduction ===
| + | Xmodmap allows you to modify your keymap. |
− | This article describes some aspects to setup an enviroment with a VDR server and a xine stream client.
| |
| | | |
− | Here typically should be the obligatory screenshot of my desktop showing the running stream - I add that later on :)
| + | You can put a .Xmodmap file into your home directory: |
| + | keycode 134 = Multi_key |
| + | keycode 98 = Up |
| + | keycode 100 = Left |
| + | keycode 102 = Right |
| | | |
− | === The setup as basic for this article ===
| |
− | We need some Hardware - I my case:
| |
− | * a laptop DELL D620
| |
− | * an external USB S2 digtital HD device TeVii S660
| |
− | * a TechnoTrend remote control (because unfortunately the remote control support of TeVii S660 is buggy in my setup)
| |
− |
| |
− | And of course some software repositories - in my case:
| |
− | * Base OS is openSUSE 11.4
| |
− | * Additional package repositories: TBD
| |
− |
| |
− | We setup the following componets
| |
− | * VDR (http://www.vdr-portal.de/)
| |
− | * LIRC
| |
− | * XINE
| |
− |
| |
− | === Setup Procedure ===
| |
− | * Setup your openSUSE 11.4 to have the following installation channels: '''please note that installing packages from untrusted sources could compromise your system'''
| |
− | | Alias | Name | Enabled | Refresh | Priority | Type | URI
| |
− | --+----------------------+----------------------------+---------+---------+----------+--------+-----------------------------------------------------------------------------
| |
− | | openSUSE-11.4-11.4-0 | openSUSE-11.4-11.4-0 | Yes | No | 99 | yast2 | cd:///?devices=/dev/disk/by-id/ata-TSSTcorp_DVD+_-RW_TS-U633F_R3476GRSB01273
| |
− | | packman-essentials | packman-essentials | Yes | Yes | 99 | rpm-md | http://packman.inode.at/suse/openSUSE_11.4/Essentials
| |
− | | packman-multimedia | packman-multimedia | Yes | Yes | 99 | rpm-md | http://packman.inode.at/suse/openSUSE_11.4/Multimedia
| |
− | | repo-debug | openSUSE-11.4-Debug | No | Yes | 99 | NONE | http://download.opensuse.org/debug/distribution/11.4/repo/oss/
| |
− | | repo-debug-update | openSUSE-11.4-Update-Debug | No | Yes | 99 | NONE | http://download.opensuse.org/debug/update/11.4/
| |
− | | repo-non-oss | openSUSE-11.4-Non-Oss | Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/11.4/repo/non-oss/
| |
− | | repo-oss | openSUSE-11.4-Oss | Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/11.4/repo/oss/
| |
− | | repo-source | openSUSE-11.4-Source | No | Yes | 99 | NONE | http://download.opensuse.org/source/distribution/11.4/repo/oss/
| |
− | | repo-update | openSUSE-11.4-Update | Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/11.4/
| |
− |
| |
− | * Install VDR and xine packages - sou might need also some dependent packages so use zypper to resolve dependencies
| |
− | Name | Version | Vendor | Project Url
| |
− | ----------------------+-----------+--------------------------------+------------------------------------------------------
| |
− | vdr-plugin-xine | 0.9.4 | http://packman.links2linux.de | http://home.vr-web.de/~rnissl/
| |
− | vdr | 1.6.0 | openSUSE | http://www.tvdr.de/
| |
− | libxine1-pulse | 1.1.20.1 | http://packman.links2linux.de | http://www.xine-project.org/home
| |
− | vdr-plugin-xine | 0.9.4 | http://packman.links2linux.de | http://home.vr-web.de/~rnissl/
| |
− | libxine1-codecs | 1.1.20.1 | http://packman.links2linux.de | http://www.xine-project.org/home
| |
− | xine-ui | 0.99.6 | http://packman.links2linux.de | http://xine.sourceforge.net
| |
− | libxine1 | 1.1.20.1 | http://packman.links2linux.de | http://www.xine-project.org/home
| |
− | xine-skins | 1.0.3 | Packman | http://xinehq.de/index.php/skins
| |
− | gxine-browser-plugin | 0.5.907 | http://packman.links2linux.de | http://www.xine-project.org/home
| |
− | kdebase4-runtime-xine | 4.6.0 | openSUSE | http://www.kde.org/
| |
− | libxine2 | 1.2.1 | http://packman.links2linux.de | http://www.xine-project.org/home
| |
− | gxine | 0.5.907 | http://packman.links2linux.de | http://www.xine-project.org/home
| |
− | xinetd | 2.3.14 | openSUSE | http://www.xinetd.org/
| |
− | phonon-backend-xine | 4.4.4 | openSUSE | http://phonon.kde.org/
| |
− | libxine1-gnome-vfs | 1.1.20.1 | http://packman.links2linux.de | http://www.xine-project.org/home
| |
− |
| |
− | * Install optional VDR packages
| |
− | vdr-plugin-cutalot 0.0.3 openSUSE http://www.vdr-wiki.de/wiki/index.php/Cutalot-plugin
| |
− | vdr-plugin-epgsearch 0.9.24 obs://build.opensuse.org/vdr http://winni.vdr-developer.org/epgsearch/downloads/vdr-epgsearch-0.9.24.tgz
| |
− | vdr-plugin-streamdev 0.0_CVS20080716080048 openSUSE http://streamdev.vdr-developer.org/
| |
− |
| |
− | '''Remark:''' Using the xine plugin (from repository PackMan) you could use xine for a complete VDR client (with full control over all menus).
| |
− |
| |
− | * Adapt plugin configuration /etc/sysconfig/vdr (the plugin "remote" is optional and can be dropped, if you use lirc)
| |
− | ** With plugin remote:
| |
− | VDR_PLUGINS="remote xine"
| |
− | VDR_PLUGIN_ARGS_remote="-i /dev/input/ir"
| |
− | VDR_PLUGIN_ARGS_xine=""
| |
− | ** Without plugin remote
| |
− | VDR_PLUGINS="remote xine"
| |
− | VDR_PLUGIN_ARGS_remote="-i /dev/input/ir"
| |
− | VDR_PLUGIN_ARGS_xine=""
| |
− | * Restart VDR
| |
− | /etc/init.d/vdr restart
| |
− | * start watching VDR: - You should get a OSD message from VDR that tells you to train VDR to understand your remote control or keyboard sequences
| |
− | xine vdr://
| |
− |
| |
− | In this setup we proceed to integrate the Technotrend Remote control to be able to send signals to LIRCD and than configure VDR to understand LIRCD commands...
| |
− |
| |
− | === TechnoTrend USB Remote-Control ===
| |
− | ==== Low Level Test with mode2 ====
| |
− | To test, if the IR keys are recognized on a very low level test using command mode2. This works also without lircd.
| |
− | furka:~ # mode2 -d /dev/lirc0
| |
− | space 3508766
| |
− | pulse 806
| |
− | space 744
| |
− | pulse 806
| |
− |
| |
− | ==== lircd configuration ====
| |
− | In openSUSE 11.4 lircd is configured via
| |
− | ===== /etc/sysconfig/lirc =====
| |
− | ## Description: lirc (infrared remote control) configuration
| |
− | ## Type: string
| |
− | ## Default: "660"
| |
− | ## ServiceRestart: lirc
| |
− | #
| |
− | # permissions for /dev/lircd
| |
− | #
| |
− | LIRCD_DEV_PERMISSIONS="660"
| |
− |
| |
− | ## Type: string
| |
− | ## Default: "root:video"
| |
− | #
| |
− | # owner and group for /dev/lircd
| |
− | #
| |
− | LIRCD_DEV_OWNER="root:video"
| |
− |
| |
− | ## Type: string
| |
− | ## Default: ""
| |
− | #
| |
− | # use given driver
| |
− | #
| |
− | LIRCD_DRIVER=""
| |
− |
| |
− | ## Type: string
| |
− | ## Default: ""
| |
− | #
| |
− | # read from given device
| |
− | #
| |
− | LIRCD_DEVICE="/dev/lirc0"
| |
− |
| |
− | ## Type: string(lirc_bt829,lirc_gpio,lirc_i2c,lirc_it87,lirc_parallel,lirc_sir,ir-kbd-i2c,ir-kbd-gpio)
| |
− | ## Default: ""
| |
− | #
| |
− | # load given lirc driver module
| |
− | #
| |
− | LIRC_MODULE="lirc_ttusbir"
| |
− |
| |
− | ## Type: string
| |
− | ## Default: ""
| |
− | #
| |
− | # listen for network connections on specified port.
| |
− | # WARNING: don't use this on a machine with an internet
| |
− | # connection as lircd is running as root!
| |
− | #
| |
− | LIRCD_LISTENPORT=
| |
− |
| |
− | ## Type: string
| |
− | ## Default: ""
| |
− | #
| |
− | # connect lircd to specified host
| |
− | #
| |
− | LIRCD_CONNECT=
| |
− | ===== /etc/lirc/lircd.conf =====
| |
− | /etc/lirc/lircd.conf (enthaelt die definition der Fernbedienungstasten)
| |
− | #
| |
− | # this config file was automatically generated
| |
− | # using lirc-0.8.3(default) on Wed Jul 2 21:51:15 2008
| |
− | #
| |
− | # contributed by
| |
− | #
| |
− | # brand: Technotrend
| |
− | # model no. of remote control:
| |
− | # devices being controlled by this remote: TV-Card
| |
− | #
| |
− |
| |
− | begin remote
| |
− |
| |
− | name Technotrend
| |
− | bits 6
| |
− | flags RC5|CONST_LENGTH
| |
− | eps 30
| |
− | aeps 100
| |
− |
| |
− | one 889 889
| |
− | zero 889 889
| |
− | plead 889
| |
− | pre_data_bits 7
| |
− | pre_data 0x55
| |
− | gap 113792
| |
− | toggle_bit 2
| |
− | frequency 36000
| |
− | duty_cycle 50
| |
− |
| |
− | begin codes
| |
− | Power 0x01
| |
− | Mute 0x18
| |
− | 1 0x03
| |
− | 2 0x04
| |
− | 3 0x05
| |
− | 4 0x06
| |
− | 5 0x07
| |
− | 6 0x08
| |
− | 7 0x09
| |
− | 8 0x0A
| |
− | 9 0x0B
| |
− | 0 0x0C
| |
− | Audio 0x1A
| |
− | Repeat 0x02
| |
− | vol- 0x26
| |
− | vol+ 0x25
| |
− | Text 0x19
| |
− | ch- 0x24
| |
− | ch+ 0x23
| |
− | Exit 0x13
| |
− | OK 0x0F
| |
− | Up 0x0D
| |
− | Down 0x11
| |
− | Left 0x0E
| |
− | Right 0x10
| |
− | Red 0x14
| |
− | Green 0x15
| |
− | Yellow 0x16
| |
− | Blue 0x17
| |
− | Record 0x3A
| |
− | Play 0x3B
| |
− | Stop 0x3C
| |
− | Info 0x12
| |
− | Rew 0x3D
| |
− | Pause 0x3E
| |
− | Fwd 0x3F
| |
− | EPG 0x22
| |
− | end codes
| |
− |
| |
− | end remote
| |
− |
| |
− | ==== lircd start and start at boot time ====
| |
− | furka:~ # rclirc start
| |
− | Starting lircd (/dev/lirc0) done
| |
− | furka:~ # chkconfig lirc on
| |
− |
| |
− | ==== lircd-client Connection Test ====
| |
− | To test, if a client of lircd could recognize key presses use command irw. This command is part of package lirc.
| |
− | furka:~ # irw
| |
− | 000000000000154c 00 0 Technotrend
| |
− | 000000000000154c 01 0 Technotrend
| |
− | 000000000000154c 00 0 Technotrend
| |
− | 000000000000154c 01 0 Technotrend
| |
− |
| |
− | ==== Trouble-Shooting ====
| |
− | * If you do NOT have a valid config file for your remote you might create one interactive using irrecord
| |
− | irrecord -d /dev/lirc0 file
| |
− | ** file is the output file here
| |
− | ** You should prefer to fetch a config file from http://www.lirc.org/remotes/
| |
− | ** I try http://lirc.sourceforge.net/remotes/technotrend/TV-Card
| |
− |
| |
− | === lirc to talk with vdr ===
| |
− | File /etc/vdr/remote.conf needs to contain those additional entries for accepting lircd keys:
| |
− | LIRC.Up Up
| |
− | LIRC.Down Down
| |
− | LIRC.Menu Repeat
| |
− | LIRC.Ok OK
| |
− | LIRC.Back Exit
| |
− | LIRC.Left Left
| |
− | LIRC.Right Right
| |
− | LIRC.Red Red
| |
− | LIRC.Green Green
| |
− | LIRC.Yellow Yellow
| |
− | LIRC.Blue Blue
| |
− | LIRC.0 0
| |
− | LIRC.1 1
| |
− | LIRC.2 2
| |
− | LIRC.3 3
| |
− | LIRC.4 4
| |
− | LIRC.5 5
| |
− | LIRC.6 6
| |
− | LIRC.7 7
| |
− | LIRC.8 8
| |
− | LIRC.9 9
| |
− | LIRC.Info Info
| |
− | LIRC.Play Play
| |
− | LIRC.Pause Pause
| |
− | LIRC.Stop Stop
| |
− | LIRC.Record Record
| |
− | LIRC.FastFwd Fwd
| |
− | LIRC.FastRew Rew
| |
− | LIRC.Power Power
| |
− | LIRC.Channel+ ch+
| |
− | LIRC.Channel- ch-
| |
− | LIRC.Volume+ vol+
| |
− | LIRC.Volume- vol-
| |
− | LIRC.Mute Mute
| |
− |
| |
− |
| |
− | === UNSORTED STUFF ===
| |
− | Auf dem Laptop Latitude D820 habe ich einen vdr installiert mit einer externen USB-Box TVii 660
| |
− | ==== Installation of the DVB-S2 USB-Box ====
| |
− | <TBD>
| |
− | ==== Installation vdr ====
| |
− | <TBD>
| |
− | ==== Plugins ====
| |
− | We need / expore the following VDR plugins:
| |
− | * xine
| |
− | * streamdev
| |
− | * libxineoutput
| |
− | ==== Video clients ====
| |
− | ===== Remote Streaming: vdr-plugin-streamdev =====
| |
− | vlc - What is already running is that you can watch TV and also switch the programm. But you do not have full control over VDR using that method.
| |
− | vlc http://127.0.0.1:3000/PES/1
| |
− | URL in general:
| |
− | http://<hostip>:<port>/[PES|xx]/<prognummer>
| |
− | You need to setup the file /etc/vdr/streamdev.conf:
| |
− | # streamdev.conf:
| |
− | <TBD>
| |
− |
| |
− | Passender /etc/sysconfig/vdr Auszug
| |
− | VDR_PLUGINS="streamdev"
| |
− |
| |
− | ===== vdr-plugin-xineliboutput =====
| |
− | With xineliboutput
| |
− | vlc tcp://localhost:37890
| |
− |
| |
− | But how to switch the program using this connection?
| |
− |
| |
− | ===== Best practice local access with <html><acronym title="On Screen Display">OSD</acronym></html>: vdr-plugin-xine =====
| |
− | '''This is the recommended way if you want to watch TV on the computer where VDR is running.'''
| |
− |
| |
− | Using the xine plugin (from repository PackMan) you could use xine for a complete VDR client (with full control over all menus).
| |
− |
| |
− | * install it:
| |
− | yast -i vdr-plugin-xine
| |
− |
| |
− | * Matching line in /etc/sysconfig/vdr (the plugin "remote" is optional and can be dropped, if you use lirc)
| |
− | VDR_PLUGINS="remote xine"
| |
− | VDR_PLUGIN_ARGS_remote="-i /dev/input/ir"
| |
− | VDR_PLUGIN_ARGS_xine=""
| |
− |
| |
− | * Restart VDR
| |
− | /etc/init.d/vdr restart
| |
− |
| |
− | * start watching TV:
| |
− | xine vdr://
| |
− |
| |
− | ==== Remote Control ====
| |
− | ===== TeVii S660 remote control is a bit painfull for me =====
| |
− | Translation: <TBD>
| |
− | * Mit dem Update von c.a. Mitte März auf den Herstellerseiten (auf Simplon Download/Tevii) geht nun die Erkennung der Fernbedienung
| |
− | * Kleiner Patch in ./v4l/dw2102.c die Ausgaben von "query RC..." auskommentiert (also nicht aktiv), weil sonst der syslog voll läuft
| |
− | * VDR meldet (ohne Config s.u.) beim Starten, dass er kein lirc findet, allerdings scheint die Fernbedienung als Tastatur zur funktionieren:
| |
− | ** Test mit fb bringt messages im syslog (kann ggf später entfallen)
| |
− | ** xev zeigt tastaturreaktion, wenn man fb bedient
| |
− | ** KDE lautstärke regler funktioniert bereits :)
| |
− | ** Cursorbewegungen (auf/ab/rechts/links) funktinieren u.a. hier im wiki :)
| |
− | ** war jetzt nach einigen Eingaben nicht stabil - prüfen!
| |
− |
| |
− | In den VDR bindet man die Fernbedienung mit dem plugin remote ein.
| |
− | Passender Auszug aus der /etc/sysconfig/vdr
| |
− | VDR_PLUGINS="remote"
| |
− | VDR_PLUGIN_ARGS_remote="-i /dev/input/ir
| |
− |
| |
− | Die Berechtigungen für das IR-device (/dev/input/ir) müssen so eingestellt werden,
| |
− | dass der VDR (Benutzer vdr) darauf Zugreifen darf.
| |
− | chown vdr:users /dev/input/ir
| |
− |
| |
− | Die FB muss beim ersten Benutzen im VDR trainiert werden, wenn die Datei /etc/vdr/remote.conf nicht
| |
− | angepasst wird (Datei stelle ich bei Bedarf zur Verfügung :).
| |
− | ==== Paketliste ====
| |
− | ===== Liste der Xine und VDR Pakete =====
| |
− | gxine-0.5.904-1.pm.2.6.x86_64
| |
− | gxine-browser-plugin-0.5.904-1.pm.2.6.x86_64
| |
− | libdvdread3-0.9.7-5.pm.5.1.x86_64
| |
− | libdvdread4-4.1.3-1.pm.2.1.x86_64
| |
− | libxine1-1.1.18.1-1.pm.36.7.x86_64
| |
− | libxine1-codecs-1.1.18.1-1.pm.36.7.x86_64
| |
− | libxine1-gnome-vfs-1.1.18.1-1.pm.36.7.x86_64
| |
− | libxine1-pulse-1.1.18.1-1.pm.36.7.x86_64
| |
− | phonon-backend-xine-4.3.1-3.3.x86_64
| |
− | vdr-1.6.0-49.1.x86_64
| |
− | vdr-plugin-cutalot-0.0.3-4.1.x86_64
| |
− | vdr-plugin-epgsearch-0.9.24-4.3.x86_64
| |
− | vdr-plugin-remote-0.4.0-4.1.x86_64
| |
− | vdr-plugin-streamdev-0.0_CVS20080716080048-4.3.x86_64
| |
− | vdr-plugin-xine-0.9.3-1.pm.2.1.x86_64
| |
− | vdr-plugin-xineliboutput-1.0.4-2.6.x86_64
| |
− | xine-browser-plugin-1.0.2-1.pm.1.1.x86_64
| |
− | xine-skins-1.0.3-1.pm.1.1.noarch
| |
− | xine-ui-0.99.5cvs20091115-0.pm.1.1.x86_64
| |
− |
| |
− | ===== Pakete und DISTURL =====
| |
− | * obs://10.8.0.1/main/openSUSE_11.2_Update
| |
− | libdvdread4 obs://10.8.0.1/main/openSUSE_11.2_Update/306059dfe7c2fe75c81463ffdc94b602-libdvdread
| |
− | libdvdread3 obs://10.8.0.1/main/openSUSE_11.2_Update/36bda5a7750dcdd29c15b71d09d30dc5-libdvdread3
| |
− | xine-skins obs://10.8.0.1/main/openSUSE_11.2_Update/a081540ec1b7e330947215723b405cb6-xine-skins
| |
− | xine-ui obs://10.8.0.1/main/openSUSE_11.2_Update/a666d655902a208cd16815381bb904ed-xine-ui
| |
− | xine-browser-plugin obs://10.8.0.1/main/openSUSE_11.2_Update/b4f55cabb13736ad3445f83e562c8eec-xine-browser-plugin
| |
− | gxine obs://10.8.0.1/main/openSUSE_11.2_Update/e7ca26543c8c88e2aad0fd9932000cf1-gxine
| |
− | gxine-browser-plugin obs://10.8.0.1/main/openSUSE_11.2_Update/e7ca26543c8c88e2aad0fd9932000cf1-gxine
| |
− | vdr-plugin-xine obs://10.8.0.1/main/openSUSE_11.2_Update/eca889b371e2a093c15d926ca9aee98a-vdr-plugin-xine
| |
− | * obs://10.8.0.1/main_pm/openSUSE_11.2
| |
− | libxine1 obs://10.8.0.1/main_pm/openSUSE_11.2/4788c3fd626509d2d6a0a206decf0ba7-xine-lib
| |
− | libxine1-codecs obs://10.8.0.1/main_pm/openSUSE_11.2/4788c3fd626509d2d6a0a206decf0ba7-xine-lib
| |
− | libxine1-gnome-vfs obs://10.8.0.1/main_pm/openSUSE_11.2/4788c3fd626509d2d6a0a206decf0ba7-xine-lib
| |
− | libxine1-pulse obs://10.8.0.1/main_pm/openSUSE_11.2/4788c3fd626509d2d6a0a206decf0ba7-xine-lib
| |
− | * obs://build.opensuse.org/openSUSE:11.2/standard
| |
− | xinetd obs://build.opensuse.org/openSUSE:11.2/standard/26ae7516fc8927f0dd79a740c4a5112d-xinetd
| |
− | vdr-plugin-epgsearch obs://build.opensuse.org/openSUSE:11.2/standard/2ff727d44350a87268023d017b0c07c1-vdr-plugin-epgsearch
| |
− | vdr-plugin-cutalot obs://build.opensuse.org/openSUSE:11.2/standard/3756441b40467ca978334fcdd3da5c92-vdr-plugin-cutalot
| |
− | phonon-backend-xine obs://build.opensuse.org/openSUSE:11.2/standard/6903a64ebd71ba3a9821e225ad1b7318-phonon
| |
− | vdr-plugin-remote obs://build.opensuse.org/openSUSE:11.2/standard/82c16937795c5fe821d9a57d5946bc4b-vdr-plugin-remote
| |
− | vdr-plugin-streamdev obs://build.opensuse.org/openSUSE:11.2/standard/886f590ea9d6228ed3de8eac63aae288-vdr-plugin-streamdev
| |
− | vdr obs://build.opensuse.org/openSUSE:11.2/standard/c70699e1e939c603de2b1b636bbf04e3-vdr
| |
− | * obs://build.opensuse.org/vdr/openSUSE_11.2
| |
− | vdr-plugin-xineliboutput obs://build.opensuse.org/vdr/openSUSE_11.2/b2b3714110677b022ab9e75e26f02b33-vdr-plugin-xineliboutput
| |
− |
| |
− | ===== Pakete und VENDOR =====
| |
− | rpm -qa --queryformat "%{NAME} %{VENDOR}\
| |
− | " | egrep '(vdr|xine)' | sort -k2
| |
− | * Packman
| |
− | gxine Packman
| |
− | gxine-browser-plugin Packman
| |
− | xine-browser-plugin Packman
| |
− | xine-skins Packman
| |
− | * http://packman.links2linux.de
| |
− | libdvdread3 http://packman.links2linux.de
| |
− | libdvdread4 http://packman.links2linux.de
| |
− | libxine1 http://packman.links2linux.de
| |
− | libxine1-codecs http://packman.links2linux.de
| |
− | libxine1-gnome-vfs http://packman.links2linux.de
| |
− | libxine1-pulse http://packman.links2linux.de
| |
− | vdr-plugin-xine http://packman.links2linux.de
| |
− | xine-ui http://packman.links2linux.de
| |
− | * obs://build.opensuse.org/vdr
| |
− | vdr-plugin-xineliboutput obs://build.opensuse.org/vdr
| |
− | * openSUSE
| |
− | phonon-backend-xine openSUSE
| |
− | vdr openSUSE
| |
− | vdr-plugin-cutalot openSUSE
| |
− | vdr-plugin-epgsearch openSUSE
| |
− | vdr-plugin-remote openSUSE
| |
− | vdr-plugin-streamdev openSUSE
| |
− | xinetd openSUSE
| |
| | | |
| = See also = | | = See also = |
− | * [[watch TV]] | + | * [[compose key]] |
− | * http://packman.links2linux.de/package/vdr-plugin-xine/229857
| |