diff --git a/Manual.org b/Manual.org index 6f195e1..67d6e00 100644 --- a/Manual.org +++ b/Manual.org @@ -998,6 +998,12 @@ install_avahi: true dest: /etc/vdr/conf.d/03-vdr-lirc.conf notify: ['Restart VDR'] +- name: expand template for /etc/rc_maps.cfg + template: + src: templates/rc_maps.cfg.j2 + dest: /etc/rc_maps.cfg + notify: ['Trigger Udev'] + # TODO: upload lircd2uinput package to PPA #- name: install lircd2uinput # tag: install @@ -1008,12 +1014,198 @@ install_avahi: true # install_eventlircd is defined and install_eventlircd #+END_SRC *** templates +**** Systemd Drop-in to start vdr with lirc support #+BEGIN_SRC conf :tangle roles/yavdr-remote/templates/03-vdr-lirc.conf.j2 :mkdirp yes :padline no {% if frontend != 'kodi' %} [vdr] --lirc=/var/run/lirc/lircd {% endif %} #+END_SRC +**** create /etc/rc_maps.cfg +#+BEGIN_SRC conf :tangle roles/yavdr-remote/templates/rc_maps.cfg.j2 :mkdirp yes :padline no +# +# Keymaps table +# +# This table creates an association between a keycode file and a kernel +# driver. It can be used to automatically override a keycode definition. +# +# Although not yet tested, it is mented to be added at udev. +# +# To use, you just need to run: +# ./ir-keytable -a +# +# Or, if the remote is not the first device: +# ./ir-keytable -a -s rc1 # for RC at rc1 +# + +# Format: +# driver - name of the driver provided via uevent - use * for any driver +# table - RC keymap table, provided via uevent - use * for any table +# file - file name. If directory is not specified, it will default to +# /etc/rc_keymaps. +# For example: +# driver table file +# cx8800 * ./keycodes/rc5_hauppauge_new +# * rc-avermedia-m135a-rm-jx ./keycodes/kworld_315u +# saa7134 rc-avermedia-m135a-rm-jx ./keycodes/keycodes/nec_terratec_cinergy_xs +# em28xx * ./keycodes/kworld_315u +# * * ./keycodes/rc5_hauppauge_new + +# Table to automatically load the rc maps for the bundled IR's provided with the +# devices supported by the linux kernel + +#driver table file +,* rc-adstech-dvb-t-pci adstech_dvb_t_pci +,* rc-alink-dtu-m alink_dtu_m +,* rc-anysee anysee +,* rc-apac-viewcomp apac_viewcomp +,* rc-asus-pc39 asus_pc39 +,* rc-asus-ps3-100 asus_ps3_100 +,* rc-ati-tv-wonder-hd-600 ati_tv_wonder_hd_600 +,* rc-ati-x10 ati_x10 +,* rc-avermedia-a16d avermedia_a16d +,* rc-avermedia-cardbus avermedia_cardbus +,* rc-avermedia-dvbt avermedia_dvbt +,* rc-avermedia-m135a avermedia_m135a +,* rc-avermedia-m733a-rm-k6 avermedia_m733a_rm_k6 +,* rc-avermedia-rm-ks avermedia_rm_ks +,* rc-avermedia avermedia +,* rc-avertv-303 avertv_303 +,* rc-azurewave-ad-tu700 azurewave_ad_tu700 +,* rc-behold-columbus behold_columbus +,* rc-behold behold +,* rc-budget-ci-old budget_ci_old +,* rc-cec cec +,* rc-cinergy-1400 cinergy_1400 +,* rc-cinergy cinergy +,* rc-delock-61959 delock_61959 +,* rc-dib0700-nec dib0700_nec +,* rc-dib0700-rc5 dib0700_rc5 +,* rc-digitalnow-tinytwin digitalnow_tinytwin +,* rc-digittrade digittrade +,* rc-dm1105-nec dm1105_nec +,* rc-dntv-live-dvb-t dntv_live_dvb_t +,* rc-dntv-live-dvbt-pro dntv_live_dvbt_pro +,* rc-dtt200u dtt200u +,* rc-dvbsky dvbsky +,* rc-em-terratec em_terratec +,* rc-encore-enltv-fm53 encore_enltv_fm53 +,* rc-encore-enltv encore_enltv +,* rc-encore-enltv2 encore_enltv2 +,* rc-evga-indtube evga_indtube +,* rc-eztv eztv +,* rc-flydvb flydvb +,* rc-flyvideo flyvideo +,* rc-fusionhdtv-mce fusionhdtv_mce +,* rc-gadmei-rm008z gadmei_rm008z +,* rc-genius-tvgo-a11mce genius_tvgo_a11mce +,* rc-gotview7135 gotview7135 +,* rc-hauppauge hauppauge +#* rc-imon-mce imon_mce +#* rc-imon-pad imon_pad +,* rc-iodata-bctv7e iodata_bctv7e +,* rc-it913x-v1 it913x_v1 +,* rc-it913x-v2 it913x_v2 +,* rc-kaiomy kaiomy +,* rc-kworld-315u kworld_315u +,* rc-kworld-pc150u kworld_pc150u +,* rc-kworld-plus-tv-analog kworld_plus_tv_analog +,* rc-leadtek-y04g0051 leadtek_y04g0051 +,* rc-lme2510 lme2510 +,* rc-manli manli +,* rc-medion-x10-digitainer medion_x10_digitainer +,* rc-medion-x10-or2x medion_x10_or2x +,* rc-medion-x10 medion_x10 +,* rc-msi-digivox-ii msi_digivox_ii +,* rc-msi-digivox-iii msi_digivox_iii +,* rc-msi-tvanywhere-plus msi_tvanywhere_plus +,* rc-msi-tvanywhere msi_tvanywhere +,* rc-nebula nebula +,* rc-nec-terratec-cinergy-xs nec_terratec_cinergy_xs +,* rc-norwood norwood +,* rc-npgtech npgtech +,* rc-pctv-sedna pctv_sedna +,* rc-pinnacle-color pinnacle_color +,* rc-pinnacle-grey pinnacle_grey +,* rc-pinnacle-pctv-hd pinnacle_pctv_hd +,* rc-pixelview-002t pixelview_002t +,* rc-pixelview-mk12 pixelview_mk12 +,* rc-pixelview-new pixelview_new +,* rc-pixelview pixelview +,* rc-powercolor-real-angel powercolor_real_angel +,* rc-proteus-2309 proteus_2309 +,* rc-purpletv purpletv +,* rc-pv951 pv951 +,* rc-real-audio-220-32-keys real_audio_220_32_keys +,* rc-reddo reddo +,* rc-snapstream-firefly snapstream_firefly +,* rc-streamzap streamzap +,* rc-su3000 su3000 +,* rc-tbs-nec tbs_nec +,* rc-technisat-ts35 technisat_ts35 +,* rc-technisat-usb2 technisat_usb2 +,* rc-terratec-cinergy-c-pci terratec_cinergy_c_pci +,* rc-terratec-cinergy-s2-hd terratec_cinergy_s2_hd +,* rc-terratec-cinergy-xs terratec_cinergy_xs +,* rc-terratec-slim-2 terratec_slim_2 +,* rc-terratec-slim terratec_slim +,* rc-tevii-nec tevii_nec +,* rc-tivo tivo +,* rc-total-media-in-hand-02 total_media_in_hand_02 +,* rc-total-media-in-hand total_media_in_hand +,* rc-trekstor trekstor +,* rc-tt-1500 tt_1500 +,* rc-twinhan-dtv-cab-ci twinhan_dtv_cab_ci +,* rc-twinhan1027 twinhan_vp1027_dvbs +,* rc-videomate-k100 videomate_k100 +,* rc-videomate-s350 videomate_s350 +,* rc-videomate-tv-pvr videomate_tv_pvr +,* rc-winfast-usbii-deluxe winfast_usbii_deluxe +,* rc-winfast winfast +# * * a800 # found in a800.c +# * * af9005 # found in af9005-remote.c +# * * cinergyt2 # found in cinergyT2-core.c +# * * dvico_mce # found in cxusb.c +# * * dvico_portable # found in cxusb.c +# * * d680_dmb # found in cxusb.c +# * * dibusb # found in dibusb-common.c +# * * digitv # found in digitv.c +# * * megasky # found in m920x.c +# * * tvwalkerir-kbd-i2c rc-hauppauge /lib/udev/rc_keymaps/rc-hauppaugetwin # found in m920x.c +# * * pinnacle310e # found in m920x.c +# * * haupp # found in nova-t-usb2.c +# * * opera1 # found in opera1.c +# * * vp702x # found in vp702x.c +# * * vp7045 # found in vp7045.c + +# Hauppauge PVR 350 +ir-kbd-i2c rc-hauppauge /lib/udev/rc_keymaps/rc-hauppauge + +# imon-pad +imon rc-imon-pad /lib/udev/rc_keymaps/rc-imon-pad +imon rc-imon-mce /lib/udev/rc_keymaps/rc-imon-mce + +# TT-1500/1501 +,* rc-tt-1500 /lib/udev/rc_keymaps/rc-tt-1500 +budget_ci rc-tt-1500 /lib/udev/rc_keymaps/rc-tt-1501 + +# rc-rc6-mce +,* rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce +# CIR +ite-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce +nuvoton-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce + +# mceusb +mceusb rc-rc6-mce /lib/udev/rc_keymaps/HOPLOrc6 + +# Skystarhd2 +mantis_core * /lib/udev/rc_keymaps/skystarhd2 + +# Medion X10 +ati_remote rc-medion-x10 /lib/udev/rc_keymaps/rc-medion-x10 +ati_remote rc-medion-x10-or2x /lib/udev/rc_keymaps/rc-medion-x10-or2x +ati_remote rc-medion-x10-digitainer /lib/udev/rc_keymaps/rc-medion-x10-digitainer +#+END_SRC *** files ** pulseaudio diff --git a/roles/yavdr-remote/tasks/main.yml b/roles/yavdr-remote/tasks/main.yml index 0dcb379..86fc4d2 100644 --- a/roles/yavdr-remote/tasks/main.yml +++ b/roles/yavdr-remote/tasks/main.yml @@ -34,6 +34,12 @@ dest: /etc/vdr/conf.d/03-vdr-lirc.conf notify: ['Restart VDR'] +- name: expand template for /etc/rc_maps.cfg + template: + src: templates/rc_maps.cfg.j2 + dest: /etc/rc_maps.cfg + notify: ['Trigger Udev'] + # TODO: upload lircd2uinput package to PPA #- name: install lircd2uinput # tag: install diff --git a/roles/yavdr-remote/templates/rc_maps.cfg.j2 b/roles/yavdr-remote/templates/rc_maps.cfg.j2 new file mode 100644 index 0000000..11cb8d8 --- /dev/null +++ b/roles/yavdr-remote/templates/rc_maps.cfg.j2 @@ -0,0 +1,182 @@ +# +# Keymaps table +# +# This table creates an association between a keycode file and a kernel +# driver. It can be used to automatically override a keycode definition. +# +# Although not yet tested, it is mented to be added at udev. +# +# To use, you just need to run: +# ./ir-keytable -a +# +# Or, if the remote is not the first device: +# ./ir-keytable -a -s rc1 # for RC at rc1 +# + +# Format: +# driver - name of the driver provided via uevent - use * for any driver +# table - RC keymap table, provided via uevent - use * for any table +# file - file name. If directory is not specified, it will default to +# /etc/rc_keymaps. +# For example: +# driver table file +# cx8800 * ./keycodes/rc5_hauppauge_new +# * rc-avermedia-m135a-rm-jx ./keycodes/kworld_315u +# saa7134 rc-avermedia-m135a-rm-jx ./keycodes/keycodes/nec_terratec_cinergy_xs +# em28xx * ./keycodes/kworld_315u +# * * ./keycodes/rc5_hauppauge_new + +# Table to automatically load the rc maps for the bundled IR's provided with the +# devices supported by the linux kernel + +#driver table file +* rc-adstech-dvb-t-pci adstech_dvb_t_pci +* rc-alink-dtu-m alink_dtu_m +* rc-anysee anysee +* rc-apac-viewcomp apac_viewcomp +* rc-asus-pc39 asus_pc39 +* rc-asus-ps3-100 asus_ps3_100 +* rc-ati-tv-wonder-hd-600 ati_tv_wonder_hd_600 +* rc-ati-x10 ati_x10 +* rc-avermedia-a16d avermedia_a16d +* rc-avermedia-cardbus avermedia_cardbus +* rc-avermedia-dvbt avermedia_dvbt +* rc-avermedia-m135a avermedia_m135a +* rc-avermedia-m733a-rm-k6 avermedia_m733a_rm_k6 +* rc-avermedia-rm-ks avermedia_rm_ks +* rc-avermedia avermedia +* rc-avertv-303 avertv_303 +* rc-azurewave-ad-tu700 azurewave_ad_tu700 +* rc-behold-columbus behold_columbus +* rc-behold behold +* rc-budget-ci-old budget_ci_old +* rc-cec cec +* rc-cinergy-1400 cinergy_1400 +* rc-cinergy cinergy +* rc-delock-61959 delock_61959 +* rc-dib0700-nec dib0700_nec +* rc-dib0700-rc5 dib0700_rc5 +* rc-digitalnow-tinytwin digitalnow_tinytwin +* rc-digittrade digittrade +* rc-dm1105-nec dm1105_nec +* rc-dntv-live-dvb-t dntv_live_dvb_t +* rc-dntv-live-dvbt-pro dntv_live_dvbt_pro +* rc-dtt200u dtt200u +* rc-dvbsky dvbsky +* rc-em-terratec em_terratec +* rc-encore-enltv-fm53 encore_enltv_fm53 +* rc-encore-enltv encore_enltv +* rc-encore-enltv2 encore_enltv2 +* rc-evga-indtube evga_indtube +* rc-eztv eztv +* rc-flydvb flydvb +* rc-flyvideo flyvideo +* rc-fusionhdtv-mce fusionhdtv_mce +* rc-gadmei-rm008z gadmei_rm008z +* rc-genius-tvgo-a11mce genius_tvgo_a11mce +* rc-gotview7135 gotview7135 +* rc-hauppauge hauppauge +#* rc-imon-mce imon_mce +#* rc-imon-pad imon_pad +* rc-iodata-bctv7e iodata_bctv7e +* rc-it913x-v1 it913x_v1 +* rc-it913x-v2 it913x_v2 +* rc-kaiomy kaiomy +* rc-kworld-315u kworld_315u +* rc-kworld-pc150u kworld_pc150u +* rc-kworld-plus-tv-analog kworld_plus_tv_analog +* rc-leadtek-y04g0051 leadtek_y04g0051 +* rc-lme2510 lme2510 +* rc-manli manli +* rc-medion-x10-digitainer medion_x10_digitainer +* rc-medion-x10-or2x medion_x10_or2x +* rc-medion-x10 medion_x10 +* rc-msi-digivox-ii msi_digivox_ii +* rc-msi-digivox-iii msi_digivox_iii +* rc-msi-tvanywhere-plus msi_tvanywhere_plus +* rc-msi-tvanywhere msi_tvanywhere +* rc-nebula nebula +* rc-nec-terratec-cinergy-xs nec_terratec_cinergy_xs +* rc-norwood norwood +* rc-npgtech npgtech +* rc-pctv-sedna pctv_sedna +* rc-pinnacle-color pinnacle_color +* rc-pinnacle-grey pinnacle_grey +* rc-pinnacle-pctv-hd pinnacle_pctv_hd +* rc-pixelview-002t pixelview_002t +* rc-pixelview-mk12 pixelview_mk12 +* rc-pixelview-new pixelview_new +* rc-pixelview pixelview +* rc-powercolor-real-angel powercolor_real_angel +* rc-proteus-2309 proteus_2309 +* rc-purpletv purpletv +* rc-pv951 pv951 +* rc-real-audio-220-32-keys real_audio_220_32_keys +* rc-reddo reddo +* rc-snapstream-firefly snapstream_firefly +* rc-streamzap streamzap +* rc-su3000 su3000 +* rc-tbs-nec tbs_nec +* rc-technisat-ts35 technisat_ts35 +* rc-technisat-usb2 technisat_usb2 +* rc-terratec-cinergy-c-pci terratec_cinergy_c_pci +* rc-terratec-cinergy-s2-hd terratec_cinergy_s2_hd +* rc-terratec-cinergy-xs terratec_cinergy_xs +* rc-terratec-slim-2 terratec_slim_2 +* rc-terratec-slim terratec_slim +* rc-tevii-nec tevii_nec +* rc-tivo tivo +* rc-total-media-in-hand-02 total_media_in_hand_02 +* rc-total-media-in-hand total_media_in_hand +* rc-trekstor trekstor +* rc-tt-1500 tt_1500 +* rc-twinhan-dtv-cab-ci twinhan_dtv_cab_ci +* rc-twinhan1027 twinhan_vp1027_dvbs +* rc-videomate-k100 videomate_k100 +* rc-videomate-s350 videomate_s350 +* rc-videomate-tv-pvr videomate_tv_pvr +* rc-winfast-usbii-deluxe winfast_usbii_deluxe +* rc-winfast winfast +# * * a800 # found in a800.c +# * * af9005 # found in af9005-remote.c +# * * cinergyt2 # found in cinergyT2-core.c +# * * dvico_mce # found in cxusb.c +# * * dvico_portable # found in cxusb.c +# * * d680_dmb # found in cxusb.c +# * * dibusb # found in dibusb-common.c +# * * digitv # found in digitv.c +# * * megasky # found in m920x.c +# * * tvwalkerir-kbd-i2c rc-hauppauge /lib/udev/rc_keymaps/rc-hauppaugetwin # found in m920x.c +# * * pinnacle310e # found in m920x.c +# * * haupp # found in nova-t-usb2.c +# * * opera1 # found in opera1.c +# * * vp702x # found in vp702x.c +# * * vp7045 # found in vp7045.c + +# Hauppauge PVR 350 +ir-kbd-i2c rc-hauppauge /lib/udev/rc_keymaps/rc-hauppauge + +# imon-pad +imon rc-imon-pad /lib/udev/rc_keymaps/rc-imon-pad +imon rc-imon-mce /lib/udev/rc_keymaps/rc-imon-mce + +# TT-1500/1501 +* rc-tt-1500 /lib/udev/rc_keymaps/rc-tt-1500 +budget_ci rc-tt-1500 /lib/udev/rc_keymaps/rc-tt-1501 + +# rc-rc6-mce +* rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce +# CIR +ite-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce +nuvoton-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce + +# mceusb +mceusb rc-rc6-mce /lib/udev/rc_keymaps/HOPLOrc6 + +# Skystarhd2 +mantis_core * /lib/udev/rc_keymaps/skystarhd2 + +# Medion X10 +ati_remote rc-medion-x10 /lib/udev/rc_keymaps/rc-medion-x10 +ati_remote rc-medion-x10-or2x /lib/udev/rc_keymaps/rc-medion-x10-or2x +ati_remote rc-medion-x10-digitainer /lib/udev/rc_keymaps/rc-medion-x10-digitainer