summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--abs/core/ca-certificates/40-update-ca-trust.hook (renamed from abs/core/ca-certificates/update-ca-trust.hook)2
-rw-r--r--abs/core/ca-certificates/PKGBUILD16
-rw-r--r--abs/core/dbus/PKGBUILD92
-rw-r--r--abs/core/dbus/dbus-reload.hook13
-rw-r--r--abs/core/dbus/dbus.sysusers5
-rw-r--r--abs/core/dbus/no-fatal-warnings.diff13
-rw-r--r--abs/core/gettext/PKGBUILD47
-rw-r--r--abs/core/libcap/PKGBUILD4
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/autocard.h2
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.cpp2
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h2
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/fileshare.h15
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/infrared.h18
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp236
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installationtype.h8
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp1871
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h239
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/main.cpp73
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.h48
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro23
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp18
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h45
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp22
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/settemplate.h4
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/supplemental.h10
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp108
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/vnc.h13
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp52
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h66
-rw-r--r--abs/core/mythinstall/PKGBUILD2
-rw-r--r--abs/core/mythtv/stable-30/mythtv/PKGBUILD3
-rw-r--r--abs/core/mythtv/stable-30/mythtv/sortingPrefixesFixAn.patch12
-rw-r--r--abs/core/python_modules/docutils/PKGBUILD9
-rw-r--r--abs/core/python_modules/python-babel/PKGBUILD54
-rw-r--r--abs/core/python_modules/python-babel/python-3.9.patch202
-rw-r--r--abs/core/python_modules/python-beautifulsoup4/PKGBUILD17
-rw-r--r--abs/core/python_modules/python-chardet/PKGBUILD3
-rw-r--r--abs/core/python_modules/python-future/PKGBUILD50
-rw-r--r--abs/core/python_modules/python-html5lib/PKGBUILD33
-rw-r--r--abs/core/python_modules/python-idna/PKGBUILD8
-rw-r--r--abs/core/python_modules/python-imagesize/PKGBUILD34
-rw-r--r--abs/core/python_modules/python-jinja/PKGBUILD48
-rw-r--r--abs/core/python_modules/python-lxml/PKGBUILD20
-rw-r--r--abs/core/python_modules/python-markupsafe/PKGBUILD39
-rw-r--r--abs/core/python_modules/python-mysqlclient/PKGBUILD26
-rw-r--r--abs/core/python_modules/python-pygments/PKGBUILD60
-rw-r--r--abs/core/python_modules/python-pygments/python2-pygments.install7
-rw-r--r--abs/core/python_modules/python-pytest-runner/PKGBUILD31
-rw-r--r--abs/core/python_modules/python-pytz/0001-Use-the-system-zoneinfo-from-the-tzdata-package.patch69
-rw-r--r--abs/core/python_modules/python-pytz/PKGBUILD40
-rw-r--r--abs/core/python_modules/python-requests/PKGBUILD18
-rw-r--r--abs/core/python_modules/python-simplejson/PKGBUILD5
-rw-r--r--abs/core/python_modules/python-snowballstemmer/PKGBUILD49
-rw-r--r--abs/core/python_modules/python-soupsieve/PKGBUILD31
-rw-r--r--abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD25
-rw-r--r--abs/core/python_modules/python-sphinx/PKGBUILD173
-rw-r--r--abs/core/python_modules/python-sphinxcontrib-applehelp/PKGBUILD32
-rw-r--r--abs/core/python_modules/python-sphinxcontrib-devhelp/PKGBUILD32
-rw-r--r--abs/core/python_modules/python-sphinxcontrib-htmlhelp/PKGBUILD32
-rw-r--r--abs/core/python_modules/python-sphinxcontrib-jsmath/PKGBUILD32
-rw-r--r--abs/core/python_modules/python-sphinxcontrib-qthelp/PKGBUILD32
-rw-r--r--abs/core/python_modules/python-sphinxcontrib-serializinghtml/PKGBUILD32
-rw-r--r--abs/core/python_modules/python2-backports.functools_lru_cache/PKGBUILD38
-rw-r--r--abs/core/python_modules/python2-backports/PKGBUILD25
-rw-r--r--abs/core/python_modules/python2-futures/PKGBUILD7
-rw-r--r--abs/core/python_modules/python2-soupsieve/PKGBUILD31
-rw-r--r--abs/extra/fftw/PKGBUILD99
-rw-r--r--abs/extra/fftw/fftw.install22
-rw-r--r--abs/extra/git/PKGBUILD110
-rw-r--r--abs/extra/git/git-sysusers.conf2
-rw-r--r--abs/extra/git/git.install7
-rw-r--r--abs/extra/google-chrome/PKGBUILD4
-rwxr-xr-xabs/extra/google-chrome/update_version.sh6
-rw-r--r--abs/extra/guile/PKGBUILD7
-rw-r--r--abs/extra/libburn/PKGBUILD15
-rw-r--r--abs/extra/libisoburn/PKGBUILD11
-rw-r--r--abs/extra/libisofs/PKGBUILD14
-rw-r--r--abs/extra/openmpi/PKGBUILD98
-rw-r--r--abs/extra/openmpi/system_ltdl.patch66
-rw-r--r--abs/extra/plex-media-server/PKGBUILD6
-rw-r--r--linhes/calamares/PKGBUILD65
-rw-r--r--linhes/certbot-dns-duckdns/PKGBUILD31
-rwxr-xr-xlinhes/ckbcomp/PKGBUILD36
-rw-r--r--linhes/clean-chroot-manager/PKGBUILD26
-rw-r--r--linhes/clean-chroot-manager/ccm.install28
-rw-r--r--linhes/dvb-firmware/.gitignore1
-rw-r--r--linhes/dvb-firmware/PKGBUILD19
-rw-r--r--linhes/dvb-firmware/dvb-fw/NXP7164-2010-03-10.1.fwbin0 -> 4019072 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/NXP7164-2010-04-01.1.fwbin0 -> 3283792 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-bcm3510-01.fwbin0 -> 2285 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-cx24116.fwbin0 -> 32290 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-cx24117.fwbin0 -> 55486 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-nxt2002.fwbin0 -> 5908 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-nxt2004.fwbin0 -> 9584 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-or51132-qam.fwbin0 -> 12772 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-or51132-vsb.fwbin0 -> 17532 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-or51211.fwbin0 -> 8518 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-sp887x.fwbin0 -> 23620 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-tda10045.fwbin0 -> 30555 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-tda10046.fwbin0 -> 24479 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-tda10048-1.0.fwbin0 -> 24878 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-tdlb7.fwbin0 -> 20108 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-fe-xc5000-1.1.fwbin0 -> 12332 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fwbin0 -> 239956 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261abin0 -> 226460 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261bbin0 -> 226408 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261cbin0 -> 226376 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261dbin0 -> 231952 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261fbin0 -> 234284 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-2622bin0 -> 239956 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-2000t.fwbin0 -> 430328 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-2540t.fwbin0 -> 460448 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-3000s.fwbin0 -> 465152 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-adstech-usb2-02.fwbin0 -> 6649 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-af9015.fwbin0 -> 15913 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-avertv-a800-02.fwbin0 -> 10757 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-bluebird-01.fwbin0 -> 9025 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-bluebird-02.fwbin0 -> 8512 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-dib0700-01.fwbin0 -> 29955 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-5.0.0.11.fwbin0 -> 9180 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-6.0.0.8.fwbin0 -> 7558 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-an2235-01.fwbin0 -> 7951 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-digitv-02.fwbin0 -> 5166 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-dtt200u-01.fwbin0 -> 7431 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-nova-t-usb2-02.fwbin0 -> 11023 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-pctv-400e-01.fwbin0 -> 8767 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-umt-010-02.fwbin0 -> 4286 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-vp702x-01.fwbin0 -> 10752 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-vp702x-02.fwbin0 -> 8832 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-vp7045-01.fwbin0 -> 10752 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-01.fwbin0 -> 8581 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-02.fwbin0 -> 8480 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-fc03.fwbin0 -> 12902 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-zl0353-01.fwbin0 -> 8518 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/pvrusb2.f1bin0 -> 8192 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/pvrusb2.f2bin0 -> 262144 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/v4l-cx23418-apu.fwbin0 -> 141200 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/v4l-cx23418-cpu.fwbin0 -> 158332 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/v4l-cx23418-dig.fwbin0 -> 16382 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/v4l-cx23885-enc.fwbin0 -> 376836 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/v4l-saa7164-1.0.2.fwbin0 -> 3978608 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/v4l-saa7164-1.0.3.fwbin0 -> 3978608 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028-dvico-au-01.fwbin0 -> 9175 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028-v27.fwbin0 -> 66220 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028L-v36.fwbin0 -> 68933 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_8MHz_MTS_init0.i2c.fwbin0 -> 8857 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_8MHz_init0.i2c.fwbin0 -> 8846 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_A.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_A_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_B.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_B_MTS.i2c.fwbin0 -> 171 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_A.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_A_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_B.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_B_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_A2.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_A2_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_NICAM.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_NICAM_MTS.i2c.fwbin0 -> 171 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_DK1.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_DK1_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_L_DK3.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_L_DK3_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV6_ATSC_2620.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV6_ATSC_2633.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV6_QAM_2620.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV6_QAM_2633.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV78_2620.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV78_2633.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV7_2620.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV7_2633.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV8_2620.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_DTV8_2633.i2c.fwbin0 -> 150 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_FM.i2c.fwbin0 -> 136 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_FM_INPUT1_init0.i2c.fwbin0 -> 8719 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_FM_init0.i2c.fwbin0 -> 8705 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_I_PAL_NICAM.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_I_PAL_NICAM_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_L'_SECAM_NICAM.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_L_SECAM_AM.i2c.fwbin0 -> 172 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_L_SECAM_NICAM.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_LCD.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_LCD_NOGD.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC.i2c.fwbin0 -> 163 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC_LCD.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC_LCD_NOGD.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ_LCD.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ_LCD_NOGD.i2c.fwbin0 -> 162 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS_LCD.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS_LCD_NOGD.i2c.fwbin0 -> 170 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_MTS_init0.i2c.fwbin0 -> 8827 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc3028_init0.i2c.fwbin0 -> 8820 bytes
-rw-r--r--linhes/dvb-firmware/dvb-fw/xc4000-1.4.fwbin0 -> 23913 bytes
-rwxr-xr-xlinhes/dvb-firmware/mp_preflight3
-rw-r--r--linhes/dvb-firmware/xc5000.conf5
-rw-r--r--linhes/libestr/.gitignore3
-rw-r--r--linhes/libestr/PKGBUILD24
-rw-r--r--linhes/libfastjson/PKGBUILD21
-rw-r--r--linhes/libhdhomerun/.gitignore4
-rw-r--r--linhes/libhdhomerun/PKGBUILD28
-rw-r--r--linhes/liblogging/PKGBUILD24
-rw-r--r--linhes/librelp/PKGBUILD21
-rw-r--r--linhes/libsignal-client/PKGBUILD58
-rw-r--r--linhes/linhes-dev/LinHES9_iso/.gitignore3
-rwxr-xr-xlinhes/linhes-dev/LinHES9_iso/build_iso.sh296
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/TuxRemote.pngbin0 -> 32068 bytes
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/branding.desc228
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_ar.ts17
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_en.ts17
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_eo.ts17
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_fr.ts17
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_nl.ts17
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.pngbin0 -> 86002 bytes
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png.license2
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/show.qml97
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.pngbin0 -> 8313 bytes
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png.license2
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/stylesheet.qss263
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf47
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf26
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf222
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf255
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf67
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf13
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf78
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf85
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf96
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf217
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf121
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/settings.conf243
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/default/grub63
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/lightdm/lightdm.conf164
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/motd4
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/os-release10
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/pacman.conf105
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules9
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sddm.conf.d/autologin.conf3
-rwxr-xr-xlinhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/autostart/calamares.desktop252
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/dolphinrc26
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/kscreenlockerrc6
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc120
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.local/share/dolphin/dolphinstaterc14
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sudoers96
l---------linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/systemd/system/display-manager.service1
-rwxr-xr-xlinhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/root/customize_airootfs.sh8
-rwxr-xr-xlinhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/bin/calamares_polkit6
-rwxr-xr-xlinhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/share/LinHES/calamares.desktop252
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/01-archiso-x86_64-linux.conf7
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf7
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/loader.conf2
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg46
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/packages.x86_64160
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/pacman.conf106
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/profiledef.sh25
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_head.cfg28
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe-linux.cfg32
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg5
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys-linux.cfg20
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg8
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_tail.cfg35
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/splash.pngbin0 -> 36027 bytes
-rw-r--r--linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/syslinux.cfg11
-rw-r--r--linhes/linhes-dev/PKGBUILD21
-rwxr-xr-xlinhes/linhes-dev/chk_aur_pkg.py80
-rwxr-xr-xlinhes/linhes-dev/lh_setup_dev.sh77
-rwxr-xr-xlinhes/linhes-dev/lh_sync.sh126
-rwxr-xr-xlinhes/linhes-dev/lh_update_db_repo.sh22
-rwxr-xr-xlinhes/linhes-dev/mp.py581
-rw-r--r--linhes/linhes-system/10-monitor.conf10
-rw-r--r--linhes/linhes-system/79-cronie.hook9
-rw-r--r--linhes/linhes-system/81-wol.rules1
-rw-r--r--linhes/linhes-system/LinHES-release1
-rwxr-xr-xlinhes/linhes-system/PKGBUILD161
-rwxr-xr-xlinhes/linhes-system/add_storage.py1120
-rw-r--r--linhes/linhes-system/add_storage.readme3
-rwxr-xr-xlinhes/linhes-system/balance_storage_groups.py165
-rwxr-xr-xlinhes/linhes-system/be_check.py12
-rwxr-xr-xlinhes/linhes-system/checkXFSfrag.sh70
-rwxr-xr-xlinhes/linhes-system/create_media_dirs.sh74
-rwxr-xr-xlinhes/linhes-system/diskspace.sh67
-rwxr-xr-xlinhes/linhes-system/empty_storage_groups.py195
-rwxr-xr-xlinhes/linhes-system/enableIRWake.sh22
-rwxr-xr-xlinhes/linhes-system/find_orphans.py250
-rw-r--r--linhes/linhes-system/flatpak_update.cron2
-rw-r--r--linhes/linhes-system/fstrim.hook9
-rwxr-xr-xlinhes/linhes-system/gen_lib_xml.py115
-rwxr-xr-xlinhes/linhes-system/idle.py379
-rwxr-xr-xlinhes/linhes-system/jobqueue_helper.py63
-rwxr-xr-xlinhes/linhes-system/lh_apply_UI_settings.sh39
-rwxr-xr-xlinhes/linhes-system/lh_home_check.sh9
-rw-r--r--linhes/linhes-system/lh_lighttpd.conf295
-rwxr-xr-xlinhes/linhes-system/lh_log_care.cron16
-rw-r--r--linhes/linhes-system/lh_mtc.cron80
-rwxr-xr-xlinhes/linhes-system/lh_mtc.py153
-rwxr-xr-xlinhes/linhes-system/lh_myth_status.py271
-rwxr-xr-xlinhes/linhes-system/lh_notify-send12
-rw-r--r--linhes/linhes-system/lh_php.ini64
-rw-r--r--linhes/linhes-system/lh_restart_needed.hook9
-rwxr-xr-xlinhes/linhes-system/lh_restart_needed.sh39
-rwxr-xr-xlinhes/linhes-system/lh_setup_fileshare.py150
-rw-r--r--linhes/linhes-system/lh_sqlserver.cnf82
-rwxr-xr-xlinhes/linhes-system/lh_system_backup32
-rwxr-xr-xlinhes/linhes-system/lh_system_backup_job339
-rwxr-xr-xlinhes/linhes-system/lh_system_start.sh159
-rw-r--r--linhes/linhes-system/lh_system_start.sh.desktop7
-rw-r--r--linhes/linhes-system/linhes-profile.sh13
-rwxr-xr-xlinhes/linhes-system/misc_recent_recordings.pl194
-rwxr-xr-xlinhes/linhes-system/misc_status_config.py41
-rwxr-xr-xlinhes/linhes-system/misc_status_info.sh23
-rwxr-xr-xlinhes/linhes-system/misc_upcoming_recordings.pl334
-rwxr-xr-xlinhes/linhes-system/misc_which_recorder.pl107
-rwxr-xr-xlinhes/linhes-system/myth2mkv466
-rwxr-xr-xlinhes/linhes-system/myth2mp396
-rwxr-xr-xlinhes/linhes-system/myth2videos148
-rw-r--r--linhes/linhes-system/openssh.hook9
-rwxr-xr-xlinhes/linhes-system/optimize_mythdb.py16
-rw-r--r--linhes/linhes-system/paccache.cron2
-rw-r--r--linhes/linhes-system/plex_lib.conf9
-rwxr-xr-xlinhes/linhes-system/plexmediascanner.sh6
-rw-r--r--linhes/linhes-system/rc6_mce.toml70
-rw-r--r--linhes/linhes-system/readme_is_xml1
-rw-r--r--linhes/linhes-system/recordings.cron144
-rwxr-xr-xlinhes/linhes-system/remove_storage.py185
-rw-r--r--linhes/linhes-system/rsyslog.hook9
-rw-r--r--linhes/linhes-system/rsyslog.mythtv.conf63
-rw-r--r--linhes/linhes-system/system-sudo.rules2
-rwxr-xr-xlinhes/linhes-system/udev_link.sh33
-rw-r--r--linhes/linhes-system/x11vnc.override.conf8
-rw-r--r--linhes/linhes-system/xfs_defrag.cron3
-rw-r--r--linhes/linhes-templates/.gitignore1
-rw-r--r--linhes/linhes-templates/PKGBUILD18
-rwxr-xr-xlinhes/linhes-templates/mp_preflight3
-rw-r--r--linhes/linhes-templates/templates/LCD/Shuttle/LCDd.conf1295
-rw-r--r--linhes/linhes-templates/templates/LCD/Silverstone/LCDd.conf1295
-rw-r--r--linhes/linhes-templates/templates/LCD/Silverstone/modules1
-rw-r--r--linhes/linhes-templates/templates/LCD/antec_fusion/LCDd.conf1295
-rw-r--r--linhes/linhes-templates/templates/LCD/antec_fusion/lircd.conf38
-rw-r--r--linhes/linhes-templates/templates/LCD/antec_fusion/lircrc15
-rw-r--r--linhes/linhes-templates/templates/LCD/antec_fusion/modules1
-rw-r--r--linhes/linhes-templates/templates/LCD/moneual_320/LCDd.conf1294
-rw-r--r--linhes/linhes-templates/templates/LCD/nmedia/LCDd.conf1295
-rw-r--r--linhes/linhes-templates/templates/LCD/xosd/LCDd.conf1294
-rw-r--r--linhes/linhes-templates/templates/cron.template4
-rw-r--r--linhes/linhes-templates/templates/db/custom.sql122
-rw-r--r--linhes/linhes-templates/templates/db/permissions.sql9
-rw-r--r--linhes/linhes-templates/templates/exports.template8
-rw-r--r--linhes/linhes-templates/templates/lights-bud-abstract-4k-cq.jpgbin0 -> 1196914 bytes
-rw-r--r--linhes/linhes-templates/templates/lighttpd.conf.template5
-rw-r--r--linhes/linhes-templates/templates/mysql.txt.template29
-rw-r--r--linhes/linhes-templates/templates/pacman.conf.template103
-rw-r--r--linhes/linhes-templates/templates/plasma-org.kde.plasma.desktop-appletsrc169
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/lircd.conf76
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/lircrc636
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/preview.jpgbin0 -> 63480 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/lircd.conf198
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/lircrc258
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/preview.jpgbin0 -> 25555 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/Lircmap.xml38
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/ir.conf.ff17
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/lircd.snapstrm.conf127
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt349
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/preview.jpgbin0 -> 63750 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/Lircmap.xml38
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/ir.conf.ff17
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircd.conf.ff1111
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt349
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/preview.jpgbin0 -> 63750 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/Lircmap.xml38
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/ir.conf.ff27
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircd.conf.ff2111
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt349
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/preview.jpgbin0 -> 63750 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/Lircmap.xml38
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/ir.conf.ff37
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircd.conf.ff3111
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt349
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/preview.jpgbin0 -> 63750 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/Lircmap.xml38
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/ir.conf.ff47
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircd.conf.ff4111
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt349
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/preview.jpgbin0 -> 63750 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/Lircmap.xml38
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/ir.conf.ff57
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircd.conf.ff5111
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt349
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/preview.jpgbin0 -> 63750 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/Lircmap.xml38
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/ir.conf.ff67
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircd.conf.ff6111
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt349
-rw-r--r--linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/preview.jpgbin0 -> 63750 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/MX880-jams/lircd.conf115
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/MX880-jams/lircrc857
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/MX880-jams/preview.jpgbin0 -> 57543 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/dvico/Lircmap.xml53
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/dvico/lircd.conf.fusionHDTV226
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/dvico/lircrc.txt883
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/dvico/preview.jpgbin0 -> 29813 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/dvico/remote.run3
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/dvico/wol-lircrc46
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/mce/lircd.conf.mceusb163
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/mce/lircrc-mceusb877
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/mce/preview.jpgbin0 -> 12551 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb46
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/no_remote/preview.jpgbin0 -> 3087 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/streamzap/Lircmap.xml52
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap119
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/streamzap/lircrc832
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/streamzap/preview.jpgbin0 -> 83195 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/favorites/streamzap/wol-lircrc66
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/lircd-haupblack.conf55
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/lircrc-haupblack.conf135
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/preview.jpgbin0 -> 35841 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/lircd.conf31133
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/lircrc-haupgrey-g3.txt586
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/preview.jpgbin0 -> 45763 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/lircd-haupgrey-alt.conf199
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/lircrc-haupgrey-alt533
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/preview.jpgbin0 -> 3069 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/lircd-haupgrey.conf199
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/lircrc-haupgrey.txt505
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/preview.jpgbin0 -> 3069 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/lircd-haupgrey-g3.conf64
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/lircrc-haupgrey-g3.txt762
-rw-r--r--linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/preview.jpgbin0 -> 45763 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/i2c.id12
-rw-r--r--linhes/linhes-templates/templates/remotes/other/AOpen-EA65/lircd.conf.ea6573
-rw-r--r--linhes/linhes-templates/templates/remotes/other/AOpen-EA65/lircrc.ea65381
-rw-r--r--linhes/linhes-templates/templates/remotes/other/AOpen-EA65/preview.jpgbin0 -> 76036 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/lircd.conf.asus56
-rw-r--r--linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/lircd.conf.digimatrix152
-rw-r--r--linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/preview.jpgbin0 -> 28706 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/lircd.conf.dvico-dual-digital481
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/lircrc.dvico-dual-digital4430
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/preview.jpgbin0 -> 34354 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/remote.run3
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Jetway/lircd.conf172
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Jetway/lircrc649
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Jetway/preview.jpgbin0 -> 24517 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Kworld_110/lircd-kworld110.conf84
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Kworld_110/lircrc-kworld110.txt482
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Kworld_110/preview.jpgbin0 -> 16642 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Kworld_310/lircd-kworld310.conf80
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Kworld_310/lircrc-kworld310.txt482
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Kworld_310/preview.jpgbin0 -> 25987 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/lircd-leadtek2000xp.conf77
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/lircrc-leadtek2000xp.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/preview.jpgbin0 -> 16424 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/lircd-leadtekPVR.conf82
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/lircrc-leadtekPVR.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Medion_RF/lircd-medion-rf.conf82
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Medion_RF/lircrc-medion-rf.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Medion_RF/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/lircd-medionx10-8080.conf68
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/lircrc-medionx10-8080.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nebula/lircd-nebula.conf88
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nebula/lircrc-nebula.txt402
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nebula/preview.jpgbin0 -> 10625 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_500/lircd-nova500.conf69
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_500/lircrc-nova500.txt559
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_500/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_T/lircd-novat.conf60
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_T/lircrc-novat.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_T/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/lircd-novatusb2.conf77
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/lircrc-novatusb2.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nvidia/lircd-nvidia.conf62
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nvidia/lircrc-nvidia.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nvidia/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nvidia_X10/lircd-nvidiax10.conf71
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nvidia_X10/lircrc-nvidiax10.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Nvidia_X10/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All/lircd-one4all.conf111
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All/lircrc-one4all.txt730
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All/preview.jpgbin0 -> 7432 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All_6131/lircd-one4all6131.conf31
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All_6131/lircrc-one4all6131.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All_6131/preview.jpgbin0 -> 10324 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All_7544/lircd-one4all7544.conf49
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All_7544/lircrc-one4all7544.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/One4All_7544/preview.jpgbin0 -> 14880 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Packard_bell/lircd-packard.conf92
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Packard_bell/lircrc-packard.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Packard_bell/preview.jpgbin0 -> 21260 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Pinnacle/lircd-pinnacle.conf97
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Pinnacle/lircrc-pinnacle.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Pinnacle/preview.jpgbin0 -> 11124 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/lircd-rs.conf87
-rw-r--r--linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/lircrc-rs539
-rw-r--r--linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/preview.jpgbin0 -> 7504 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Technisat/lircd-technisat.conf68
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Technisat/lircrc-technisat.txt347
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Technisat/preview.jpgbin0 -> 11111 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/Technisat TTS35 Keys.pngbin0 -> 349957 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/lircd-technisat.conf59
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/lircrc-technisat.txt548
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/preview.jpgbin0 -> 213045 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/remote.run8
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Twinhan/lircd-twinhan.conf44
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Twinhan/lircrc-twinhan.txt474
-rw-r--r--linhes/linhes-templates/templates/remotes/other/Twinhan/preview.jpgbin0 -> 18260 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/X10_Lola/lircd-x10lola.conf78
-rw-r--r--linhes/linhes-templates/templates/remotes/other/X10_Lola/lircrc-x10lola.txt334
-rw-r--r--linhes/linhes-templates/templates/remotes/other/X10_Lola/preview.jpgbin0 -> 11610 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.avermedia72
-rw-r--r--linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.avermedia98175
-rw-r--r--linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.vdomate61
-rw-r--r--linhes/linhes-templates/templates/remotes/other/avermedia/lircmd.conf.avermedia33
-rw-r--r--linhes/linhes-templates/templates/remotes/other/avermedia/lircmd.conf.avermedia9837
-rw-r--r--linhes/linhes-templates/templates/remotes/other/avermedia/preview.jpgbin0 -> 1587 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/DENON.conf31
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/MOTOROLA.conf53
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/NEC-pulse.conf32
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/NEC-short-pulse.conf34
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/NEC.conf30
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/RC-5.conf30
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/RC-6.conf28
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/RCMM-32.conf23
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/RECS80.conf31
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/SANYO.conf34
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/SONY12.conf28
-rw-r--r--linhes/linhes-templates/templates/remotes/other/generic/SONY20.conf29
-rw-r--r--linhes/linhes-templates/templates/remotes/other/imon-mce/lircd.conf.imon835
-rw-r--r--linhes/linhes-templates/templates/remotes/other/imon-mce/lircrc922
-rw-r--r--linhes/linhes-templates/templates/remotes/other/imon-mce/preview.jpgbin0 -> 35870 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/imon-mce/remote.run4
-rw-r--r--linhes/linhes-templates/templates/remotes/other/imon/lircd.conf.imon835
-rw-r--r--linhes/linhes-templates/templates/remotes/other/imon/lircrc922
-rw-r--r--linhes/linhes-templates/templates/remotes/other/imon/preview.jpgbin0 -> 25799 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/other/imon/remote.run4
-rw-r--r--linhes/linhes-templates/templates/remotes/other/snapstream_firefly/lircd.snapstrm.conf127
-rw-r--r--linhes/linhes-templates/templates/remotes/other/snapstream_firefly/lircrc-snapstrm.txt590
-rw-r--r--linhes/linhes-templates/templates/remotes/other/snapstream_firefly/preview.jpgbin0 -> 63750 bytes
-rw-r--r--linhes/linhes-templates/templates/remotes/receiver_usb.id40
-rw-r--r--linhes/linhes-templates/templates/smb.conf.template182
-rw-r--r--linhes/linhes-templates/templates/transmit/Time_Warner_SA3250/lircd.conf413
-rw-r--r--linhes/linhes-templates/templates/transmit/amino_STB/lircd.conf162
-rw-r--r--linhes/linhes-templates/templates/transmit/coolsat_4000/lircd.conf51
-rw-r--r--linhes/linhes-templates/templates/transmit/coolsat_5000/lircd.conf60
-rw-r--r--linhes/linhes-templates/templates/transmit/digitalstream_9900/lircd.conf69
-rw-r--r--linhes/linhes-templates/templates/transmit/dish301_311/lircd.conf78
-rw-r--r--linhes/linhes-templates/templates/transmit/dish501_508/lircd.conf78
-rw-r--r--linhes/linhes-templates/templates/transmit/dish_dvr625/lircd.conf68
-rw-r--r--linhes/linhes-templates/templates/transmit/dish_network/lircd.conf1272
-rw-r--r--linhes/linhes-templates/templates/transmit/echostar_2700/lircd.conf1274
-rw-r--r--linhes/linhes-templates/templates/transmit/echostar_4700/lircd.conf1274
-rw-r--r--linhes/linhes-templates/templates/transmit/echostar_4900/lircd.conf1274
-rw-r--r--linhes/linhes-templates/templates/transmit/echostar_5000/lircd.conf1274
-rw-r--r--linhes/linhes-templates/templates/transmit/expressvu3100/lircd.conf78
-rw-r--r--linhes/linhes-templates/templates/transmit/expressvu5xxx/lircd.conf78
-rw-r--r--linhes/linhes-templates/templates/transmit/fortec_lifetime/lircd.conf68
-rw-r--r--linhes/linhes-templates/templates/transmit/general_550/lircd.conf63
-rw-r--r--linhes/linhes-templates/templates/transmit/hughes_hbh/lircd.conf74
-rw-r--r--linhes/linhes-templates/templates/transmit/humax_5400/lircd.conf68
-rw-r--r--linhes/linhes-templates/templates/transmit/illusion_m3/lircd.conf72
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dct2000/lircd.conf75
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dct22xx/lircd.conf103
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dct2524/lircd.conf83
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dct6200/lircd.conf70
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dct700/lircd.conf359
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dsr205/lircd.conf239
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dsr305/lircd.conf93
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dsr315/lircd.conf239
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dsr922/lircd.conf66
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_dth335/lircd.conf55
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_qip7100/lircd.conf81
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_rg2xxx/lircd.conf144
-rw-r--r--linhes/linhes-templates/templates/transmit/motorola_vip12xx/lircd.conf73
-rw-r--r--linhes/linhes-templates/templates/transmit/nokia_8003/lircd.conf87
-rw-r--r--linhes/linhes-templates/templates/transmit/nokia_9600/lircd.conf90
-rw-r--r--linhes/linhes-templates/templates/transmit/nokia_9780/lircd.conf261
-rw-r--r--linhes/linhes-templates/templates/transmit/nokia_9802/lircd.conf227
-rw-r--r--linhes/linhes-templates/templates/transmit/nokia_dbox2/lircd.conf59
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_4001/lircd.conf70
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_420/lircd.conf207
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_dsr2000/lircd.conf71
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_dsr600/lircd.conf71
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_mss200/lircd.conf69
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_mss300/lircd.conf68
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_psr800/lircd.conf58
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_psr900/lircd.conf61
-rw-r--r--linhes/linhes-templates/templates/transmit/pace_xsat_cdtv410/lircd.conf70
-rw-r--r--linhes/linhes-templates/templates/transmit/pansat_2700a/lircd.conf86
-rw-r--r--linhes/linhes-templates/templates/transmit/pioneer_bdv300/lircd.conf92
-rw-r--r--linhes/linhes-templates/templates/transmit/pvr150/lircd.conf30947
-rw-r--r--linhes/linhes-templates/templates/transmit/rca_drd4xxrg_series/lircd.conf71
-rw-r--r--linhes/linhes-templates/templates/transmit/rca_drd4xxrh_series/lircd.conf71
-rw-r--r--linhes/linhes-templates/templates/transmit/samsung_1000/lircd.conf71
-rw-r--r--linhes/linhes-templates/templates/transmit/samsung_300/lircd.conf50
-rw-r--r--linhes/linhes-templates/templates/transmit/samsung_702/lircd.conf75
-rw-r--r--linhes/linhes-templates/templates/transmit/sciatl_4200/lircd.conf87
-rw-r--r--linhes/linhes-templates/templates/transmit/sciatl_exp1840/lircd.conf77
-rw-r--r--linhes/linhes-templates/templates/transmit/sciatl_exp2000/lircd.conf423
-rw-r--r--linhes/linhes-templates/templates/transmit/sciatl_exp2xxx_3xxx_4xxx/lircd.conf87
-rw-r--r--linhes/linhes-templates/templates/transmit/sciatl_exp8000/lircd.conf87
-rw-r--r--linhes/linhes-templates/templates/transmit/skymaster_9410/lircd.conf69
-rw-r--r--linhes/linhes-templates/templates/transmit/skyplus/lircd.conf74
-rw-r--r--linhes/linhes-templates/templates/transmit/technisat_st3002s/lircd.conf64
-rw-r--r--linhes/linhes-templates/templates/transmit/technisat_st3004s/lircd.conf67
-rw-r--r--linhes/linhes-templates/templates/transmit/zenith_dtt900/lircd.conf67
-rw-r--r--linhes/linhes-theme/LHLogo.pngbin0 -> 95713 bytes
-rw-r--r--linhes/linhes-theme/LHLogoAndText.pngbin0 -> 112895 bytes
-rwxr-xr-xlinhes/linhes-theme/PKGBUILD141
-rw-r--r--linhes/linhes-theme/background-with-logo.pngbin0 -> 821488 bytes
-rw-r--r--linhes/linhes-theme/background.pngbin0 -> 781602 bytes
-rw-r--r--linhes/linhes-theme/base.xml.patch987
-rw-r--r--linhes/linhes-theme/blank_coverart.pngbin0 -> 50947 bytes
-rw-r--r--linhes/linhes-theme/browser-ui.xml.patch69
-rw-r--r--linhes/linhes-theme/bubble_background.pngbin0 -> 1857101 bytes
-rw-r--r--linhes/linhes-theme/checkmark.pngbin0 -> 24628 bytes
-rw-r--r--linhes/linhes-theme/config-ui.xml.patch673
-rw-r--r--linhes/linhes-theme/controls-ui.xml.patch20
-rw-r--r--linhes/linhes-theme/error.pngbin0 -> 16172 bytes
-rw-r--r--linhes/linhes-theme/gears.pngbin0 -> 24505 bytes
-rw-r--r--linhes/linhes-theme/gg-left-arrow-large.pngbin0 -> 2082 bytes
-rw-r--r--linhes/linhes-theme/gg-right-arrow-large.pngbin0 -> 2047 bytes
-rw-r--r--linhes/linhes-theme/image-ui.xml632
-rw-r--r--linhes/linhes-theme/install-ui.xml188
-rw-r--r--linhes/linhes-theme/lights_bud_background.pngbin0 -> 1284799 bytes
-rw-r--r--linhes/linhes-theme/linhes-theme.install19
-rw-r--r--linhes/linhes-theme/menu-ui-vert.xml.patch211
-rw-r--r--linhes/linhes-theme/music-base.xml.patch121
-rw-r--r--linhes/linhes-theme/music-ui.xml.patch704
-rw-r--r--linhes/linhes-theme/musicsettings-ui.xml.patch366
-rw-r--r--linhes/linhes-theme/mytharchive-ui.xml.patch38
-rw-r--r--linhes/linhes-theme/mythburn-ui.xml.patch20
-rw-r--r--linhes/linhes-theme/mythnative-ui.xml.patch20
-rw-r--r--linhes/linhes-theme/notification-ui.xml.patch385
-rw-r--r--linhes/linhes-theme/osd.xml.patch1249
-rw-r--r--linhes/linhes-theme/osd_subtitle.xml142
-rw-r--r--linhes/linhes-theme/preview.pngbin0 -> 264596 bytes
-rw-r--r--linhes/linhes-theme/progdetails_page1.html63
-rw-r--r--linhes/linhes-theme/qtlook.txt.patch11
-rw-r--r--linhes/linhes-theme/question.pngbin0 -> 25883 bytes
-rw-r--r--linhes/linhes-theme/readme.txt.patch29
-rw-r--r--linhes/linhes-theme/recordings-ui.xml.patch995
-rw-r--r--linhes/linhes-theme/schedule-ui.xml.patch262
-rw-r--r--linhes/linhes-theme/settings-ui.xml.patch11
-rw-r--r--linhes/linhes-theme/standardsetting-ui.xml403
-rw-r--r--linhes/linhes-theme/status-ui.xml.patch201
-rw-r--r--linhes/linhes-theme/stream-ui.xml.patch568
-rw-r--r--linhes/linhes-theme/themeinfo.xml59
-rw-r--r--linhes/linhes-theme/tux_thoughts.pngbin0 -> 50666 bytes
-rw-r--r--linhes/linhes-theme/video-ui.xml.patch1654
-rw-r--r--linhes/linhes-theme/warning.pngbin0 -> 5436 bytes
-rw-r--r--linhes/linhes-theme/weather-ui.xml.patch126
-rw-r--r--linhes/linhes-web/.gitignore1
-rw-r--r--linhes/linhes-web/PKGBUILD21
-rw-r--r--linhes/linhes-web/linhes-web.conf68
-rwxr-xr-xlinhes/linhes-web/mp_preflight3
-rwxr-xr-xlinhes/linhes-web/website/contents/ajaxloader.min.js1
-rw-r--r--linhes/linhes-web/website/contents/back.pngbin0 -> 3133 bytes
-rwxr-xr-xlinhes/linhes-web/website/contents/cardmap.shtml13
-rwxr-xr-xlinhes/linhes-web/website/contents/count.py118
-rw-r--r--linhes/linhes-web/website/contents/docs.html59
-rw-r--r--linhes/linhes-web/website/contents/error-handler.html9
-rw-r--r--linhes/linhes-web/website/contents/error/call_log.html11
-rw-r--r--linhes/linhes-web/website/contents/error/hobbit.html11
-rw-r--r--linhes/linhes-web/website/contents/error/mythbackend.html11
-rw-r--r--linhes/linhes-web/website/contents/error/mythexport.html22
-rw-r--r--linhes/linhes-web/website/contents/error/mythexpress.html20
-rw-r--r--linhes/linhes-web/website/contents/error/mythweb.html16
-rw-r--r--linhes/linhes-web/website/contents/error/phpadmin.html26
-rw-r--r--linhes/linhes-web/website/contents/error/remyth.html22
-rw-r--r--linhes/linhes-web/website/contents/error/status-404.html9
-rw-r--r--linhes/linhes-web/website/contents/error/zoneminder.html20
-rwxr-xr-xlinhes/linhes-web/website/contents/exports.shtml14
-rw-r--r--linhes/linhes-web/website/contents/favicon.icobin0 -> 1150 bytes
-rw-r--r--linhes/linhes-web/website/contents/fe_status.py144
-rw-r--r--linhes/linhes-web/website/contents/fe_status.shtml18
-rwxr-xr-xlinhes/linhes-web/website/contents/fe_status_load.shtml41
-rw-r--r--linhes/linhes-web/website/contents/frame.css229
-rw-r--r--linhes/linhes-web/website/contents/go.pngbin0 -> 2471 bytes
-rwxr-xr-xlinhes/linhes-web/website/contents/header.html81
-rwxr-xr-xlinhes/linhes-web/website/contents/home.shtml1
-rw-r--r--linhes/linhes-web/website/contents/images/classic-menugraph.pngbin0 -> 144106 bytes
-rw-r--r--linhes/linhes-web/website/contents/images/dvr_menugraph.pngbin0 -> 207288 bytes
-rw-r--r--linhes/linhes-web/website/contents/images/menu_diagram_color.pngbin0 -> 193264 bytes
-rwxr-xr-xlinhes/linhes-web/website/contents/index.html17
-rw-r--r--linhes/linhes-web/website/contents/linhes_header.pngbin0 -> 57259 bytes
-rw-r--r--linhes/linhes-web/website/contents/links.html27
-rwxr-xr-xlinhes/linhes-web/website/contents/list_cardmap.py156
-rwxr-xr-xlinhes/linhes-web/website/contents/list_exports.py85
-rw-r--r--linhes/linhes-web/website/contents/mv.css100
-rw-r--r--linhes/linhes-web/website/contents/mvp_process.py195
-rw-r--r--linhes/linhes-web/website/contents/mvp_select.py146
-rw-r--r--linhes/linhes-web/website/contents/mvpmc.shtml21
-rw-r--r--linhes/linhes-web/website/contents/mythweb.html16
-rw-r--r--linhes/linhes-web/website/contents/page_background.jpgbin0 -> 740 bytes
-rwxr-xr-xlinhes/linhes-web/website/contents/process.py447
-rw-r--r--linhes/linhes-web/website/contents/skeleton.css105
-rw-r--r--linhes/mkinitcpio-openswap/LICENSE (renamed from abs/core/python_modules/python-html5lib/LICENSE)12
-rw-r--r--linhes/mkinitcpio-openswap/PKGBUILD28
-rw-r--r--linhes/mkinitcpio-openswap/openswap.conf17
-rw-r--r--linhes/mkinitcpio-openswap/openswap.hook25
-rw-r--r--linhes/mkinitcpio-openswap/openswap.install27
-rw-r--r--linhes/mkinitcpio-openswap/usage.install9
-rw-r--r--linhes/mythplugins/PKGBUILD125
-rw-r--r--linhes/mythplugins/__changelog1
-rw-r--r--linhes/mythtv/0031-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch71
-rw-r--r--linhes/mythtv/0059-portchecker-speedup.patch27
-rw-r--r--linhes/mythtv/0227-OSD-Add-interlaced-status-to-OSD-debug-screen.patch20
-rw-r--r--linhes/mythtv/99-mythbackend.rules6
-rw-r--r--linhes/mythtv/PKGBUILD193
-rw-r--r--linhes/mythtv/__changelog5
-rw-r--r--linhes/mythtv/autoskip_reduce_commskip_jumpback.patch15
-rw-r--r--linhes/mythtv/defaultThemeLinHES.patch13
-rw-r--r--linhes/mythtv/mythbackend.service14
-rw-r--r--linhes/mythtv/mythfrontend.desktop6
-rw-r--r--linhes/mythtv/mythfrontend_en_us.ts_Title_Case.patch13175
-rw-r--r--linhes/mythtv/mythtv-setup.desktop6
-rw-r--r--linhes/mythtv/mythtv.pngbin0 -> 39528 bytes
-rw-r--r--linhes/mythtv/sysusers.d5
-rw-r--r--linhes/package-query/PKGBUILD26
-rw-r--r--linhes/perl-datetime-format-sqlite/PKGBUILD50
-rw-r--r--linhes/perl-lwp-useragent-determined/PKGBUILD50
-rw-r--r--linhes/perl-net-upnp/PKGBUILD39
-rw-r--r--linhes/perl-xml-dom/PKGBUILD29
-rw-r--r--linhes/perl-xml-treepp/PKGBUILD51
-rw-r--r--linhes/plex-media-server/.gitignore6
-rw-r--r--linhes/plex-media-server/PKGBUILD66
-rw-r--r--linhes/plex-media-server/plex-media-server.install12
-rw-r--r--linhes/plex-media-server/plex.sysusers1
-rw-r--r--linhes/plex-media-server/plex.tmpfiles3
-rw-r--r--linhes/plex-media-server/plexmediaserver.conf.d6
-rw-r--r--linhes/plex-media-server/plexmediaserver.hook12
-rw-r--r--linhes/plex-media-server/plexmediaserver.service27
-rw-r--r--linhes/plex-media-server/terms.txt514
-rw-r--r--linhes/python-requests-cache/.gitignore5
-rw-r--r--linhes/python-requests-cache/PKGBUILD49
-rw-r--r--linhes/python-time-machine/PKGBUILD22
-rw-r--r--linhes/python-timeout-decorator/PKGBUILD30
-rw-r--r--linhes/python-url-normalize/PKGBUILD37
-rw-r--r--linhes/qbittorrent-vuetorrent-bin/.SRCINFO16
-rw-r--r--linhes/qbittorrent-vuetorrent-bin/.gitignore5
-rw-r--r--linhes/qbittorrent-vuetorrent-bin/PKGBUILD30
-rw-r--r--linhes/qbittorrent-vuetorrent-bin/qbittorrent-vuetorrent.install6
-rw-r--r--linhes/rsyslog/PKGBUILD57
-rw-r--r--linhes/rsyslog/__changelog1
-rw-r--r--linhes/rsyslog/rsyslog.conf61
-rw-r--r--linhes/rsyslog/rsyslog.install5
-rw-r--r--linhes/rsyslog/rsyslog.logrotate7
-rw-r--r--linhes/rsyslog/rsyslog.service16
-rw-r--r--linhes/signal-cli/PKGBUILD71
-rw-r--r--linhes/signal-cli/signal-cli.sh6
-rw-r--r--linhes/ttf-overlock/PKGBUILD20
-rw-r--r--linhes/wxedid/PKGBUILD31
-rw-r--r--linhes/xmltv/PKGBUILD95
-rw-r--r--linhes/yaah/PKGBUILD22
-rw-r--r--linhes/zabbix/PKGBUILD240
-rw-r--r--linhes/zabbix/zabbix-agent.service11
-rw-r--r--linhes/zabbix/zabbix-agent.sysusers1
-rw-r--r--linhes/zabbix/zabbix-agent.tmpfiles1
-rw-r--r--linhes/zabbix/zabbix-agent2.service11
-rw-r--r--linhes/zabbix/zabbix-proxy-mysql.service18
-rw-r--r--linhes/zabbix/zabbix-proxy.sysusers1
-rw-r--r--linhes/zabbix/zabbix-proxy.tmpfiles1
-rw-r--r--linhes/zabbix/zabbix-server-mysql.service19
-rw-r--r--linhes/zabbix/zabbix-server.sysusers1
-rw-r--r--linhes/zabbix/zabbix-server.tmpfiles1
-rw-r--r--linhes/zabbix/zabbix-web-service.service11
-rw-r--r--linhes/zabbix/zabbix-web-service.sysusers1
-rw-r--r--linhes/zabbix/zabbix-web-service.tmpfiles1
772 files changed, 157214 insertions, 2326 deletions
diff --git a/.gitignore b/.gitignore
index a9d70d9..d0345da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,4 @@ srclinks.*
*/git_src/mythtv
abs/core/mythtv/*/git_src/mythtv
abs/core/mythtv/*/git_src/mythweb
+.SRCINFO
diff --git a/abs/core/ca-certificates/update-ca-trust.hook b/abs/core/ca-certificates/40-update-ca-trust.hook
index ace8ea8..a83d518 100644
--- a/abs/core/ca-certificates/update-ca-trust.hook
+++ b/abs/core/ca-certificates/40-update-ca-trust.hook
@@ -2,7 +2,7 @@
Operation = Install
Operation = Upgrade
Operation = Remove
-Type = File
+Type = Path
Target = usr/share/ca-certificates/trust-source/*
[Action]
diff --git a/abs/core/ca-certificates/PKGBUILD b/abs/core/ca-certificates/PKGBUILD
index 1a7b291..23bcdb8 100644
--- a/abs/core/ca-certificates/PKGBUILD
+++ b/abs/core/ca-certificates/PKGBUILD
@@ -1,19 +1,19 @@
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgbase=ca-certificates
pkgname=(ca-certificates-utils ca-certificates)
pkgver=20181109
-pkgrel=1
+pkgrel=4
pkgdesc="Common CA certificates"
url="https://src.fedoraproject.org/rpms/ca-certificates"
arch=(any)
license=(GPL2)
makedepends=(asciidoc p11-kit)
-source=(update-ca-trust update-ca-trust.8.txt update-ca-trust.hook)
+source=(update-ca-trust update-ca-trust.8.txt 40-update-ca-trust.hook)
sha256sums=('ba98e00f80f94e2648b66252119d1b0da2339b8c83860cd69738e5c4e2d0fcc3'
'acf571f7d7a9df2149a373017280e8f22d07a2d36600256fa48159d22ab74751'
- '15eb04e757b7c61c8ee1540fd697771b8ae8e31f92cfb39c260b423101e21af8')
+ '3a3833ebd6f9cdef2e534a273653f973a4354d4f9368577d0d73236b014b7748')
build() {
asciidoc.py -v -d manpage -b docbook update-ca-trust.8.txt
@@ -22,14 +22,14 @@ build() {
package_ca-certificates-utils() {
pkgdesc+=" (utilities)"
- depends=('bash' 'coreutils' 'findutils' 'p11-kit>=0.23.1')
+ depends=('bash' 'coreutils' 'findutils' 'p11-kit>=0.23.19')
provides=(ca-certificates ca-certificates-java)
conflicts=(ca-certificates-java)
replaces=(ca-certificates-java)
- install -D update-ca-trust "$pkgdir/usr/bin/update-ca-trust"
- install -Dm644 update-ca-trust.8 "$pkgdir/usr/share/man/man8/update-ca-trust.8"
- install -Dm644 update-ca-trust.hook "$pkgdir/usr/share/libalpm/hooks/update-ca-trust.hook"
+ install -Dt "$pkgdir/usr/bin" update-ca-trust
+ install -Dt "$pkgdir/usr/share/man/man8" -m644 update-ca-trust.8
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook
# Trust source directories
install -d "$pkgdir"/{etc,usr/share}/$pkgbase/trust-source/{anchors,blacklist}
diff --git a/abs/core/dbus/PKGBUILD b/abs/core/dbus/PKGBUILD
index 32a2d2f..cd14468 100644
--- a/abs/core/dbus/PKGBUILD
+++ b/abs/core/dbus/PKGBUILD
@@ -1,76 +1,78 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: Link Dupont <link@subpop.net>
pkgbase=dbus
pkgname=(dbus dbus-docs)
-pkgver=1.12.6
+pkgver=1.12.20
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="https://wiki.freedesktop.org/www/Software/dbus/"
arch=(x86_64)
license=(GPL custom)
-depends=(libsystemd expat)
-makedepends=(systemd xmlto docbook-xsl python yelp-tools doxygen git autoconf-archive graphviz)
-_commit=a723baa2bc7e91fc9b1926cda1ce53e9301de4d8 # tags/dbus-1.12.6^0
-source=("git+https://anongit.freedesktop.org/git/dbus/dbus#commit=$_commit"
- 'dbus.sysusers')
+depends=(systemd-libs expat audit)
+makedepends=(systemd xmlto docbook-xsl python yelp-tools doxygen git autoconf-archive)
+source=("git+https://gitlab.freedesktop.org/dbus/dbus.git?signed#tag=dbus-$pkgver"
+ dbus-reload.hook no-fatal-warnings.diff)
sha256sums=('SKIP'
- 'ee7a7a4b2f944cb2e64b9e760efb82589d81872b5b70268356fb73c83c394845')
-validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90' # Simon McVittie <simon.mcvittie@collabora.co.uk>
- '3C8672A0F49637FE064AC30F52A43A1E4B77B059') # Simon McVittie <simon.mcvittie@collabora.co.uk>
-
-pkgver() {
- cd $pkgbase
- git describe --tags | sed 's/^dbus-//;s/-/+/g'
-}
+ 'd636205622d0ee3b0734360225739ef0c7ad2468a09489e6ef773d88252960f3'
+ '6958eeec07557b92a28419eb1702331ee2f0a6fd17285e37dfb6130b9fa4cf6e')
+validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90') # Simon McVittie <simon.mcvittie@collabora.co.uk>
prepare() {
- cd $pkgbase
+ cd dbus
- # Reduce docs size
- printf '%s\n' >>Doxyfile.in \
- HAVE_DOT=yes DOT_IMAGE_FORMAT=svg INTERACTIVE_SVG=yes
+ # Allow us to enable checks without them being fatal
+ patch -Np1 -i ../no-fatal-warnings.diff
NOCONFIGURE=1 ./autogen.sh
}
build() {
- cd $pkgbase
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=dbus \
- --with-system-pid-file=/run/dbus/pid \
- --with-system-socket=/run/dbus/system_bus_socket \
- --with-console-auth-dir=/run/console/ \
- --enable-inotify --disable-static \
- --disable-verbose-mode --disable-asserts \
- --with-systemdsystemunitdir=/usr/lib/systemd/system \
- --enable-systemd --enable-user-session
+ cd dbus
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/dbus-1.0 \
+ runstatedir=/run \
+ --with-console-auth-dir=/run/console/ \
+ --with-dbus-user=dbus \
+ --with-system-pid-file=/run/dbus/pid \
+ --with-system-socket=/run/dbus/system_bus_socket \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --enable-inotify \
+ --enable-libaudit \
+ --enable-systemd \
+ --enable-user-session \
+ --enable-xml-docs \
+ --enable-doxygen-docs \
+ --disable-static \
+ --without-x
make
}
check() {
- cd $pkgbase
- make check
+ make -C dbus check
}
package_dbus() {
- provides=(libdbus)
+ depends+=(libsystemd.so libaudit.so)
+ provides=(libdbus libdbus-1.so)
conflicts=(libdbus)
replaces=(libdbus)
- cd $pkgbase
-
- make DESTDIR="$pkgdir" install
-
- rm -r "$pkgdir/var/run"
+ DESTDIR="$pkgdir" make -C dbus install
- install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgbase/COPYING"
+ rm -r "$pkgdir"/{etc,var}
# We have a pre-assigned uid (81)
- install -m644 "$srcdir/dbus.sysusers" "$pkgdir/usr/lib/sysusers.d/dbus.conf"
+ echo 'u dbus 81 "System Message Bus"' |
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/dbus.conf"
+
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING
# Split docs
mv "$pkgdir/usr/share/doc" "$srcdir"
@@ -78,10 +80,10 @@ package_dbus() {
package_dbus-docs() {
pkgdesc+=" (documentation)"
- depends=(dbus)
-
- install -d "$pkgdir/usr/share/licenses"
- ln -s dbus "$pkgdir/usr/share/licenses/dbus-docs"
+ depends=()
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING
mv doc "$pkgdir/usr/share"
}
+
+# vim:set sw=2 et:
diff --git a/abs/core/dbus/dbus-reload.hook b/abs/core/dbus/dbus-reload.hook
new file mode 100644
index 0000000..9f87829
--- /dev/null
+++ b/abs/core/dbus/dbus-reload.hook
@@ -0,0 +1,13 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = etc/dbus-1/system.d/*.conf
+Target = usr/share/dbus-1/system.d/*.conf
+Target = usr/share/dbus-1/system-services/*.service
+
+[Action]
+Description = Reloading system bus configuration...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/systemd-hook reload dbus
diff --git a/abs/core/dbus/dbus.sysusers b/abs/core/dbus/dbus.sysusers
deleted file mode 100644
index c6199ed..0000000
--- a/abs/core/dbus/dbus.sysusers
+++ /dev/null
@@ -1,5 +0,0 @@
-# sysusers.d snippet for creating the D-Bus system user automatically
-# at boot on systemd-based systems that ship with an unpopulated
-# /etc. See sysusers.d(5) for details.
-
-u dbus 81 "System Message Bus"
diff --git a/abs/core/dbus/no-fatal-warnings.diff b/abs/core/dbus/no-fatal-warnings.diff
new file mode 100644
index 0000000..459da90
--- /dev/null
+++ b/abs/core/dbus/no-fatal-warnings.diff
@@ -0,0 +1,13 @@
+diff --git i/dbus/dbus-internals.c w/dbus/dbus-internals.c
+index 267aef97..b1064e85 100644
+--- i/dbus/dbus-internals.c
++++ w/dbus/dbus-internals.c
+@@ -185,7 +185,7 @@ const char *_dbus_no_memory_message = "Not enough memory";
+
+ static dbus_bool_t warn_initted = FALSE;
+ static dbus_bool_t fatal_warnings = FALSE;
+-static dbus_bool_t fatal_warnings_on_check_failed = TRUE;
++static dbus_bool_t fatal_warnings_on_check_failed = FALSE;
+
+ static void
+ init_warnings(void)
diff --git a/abs/core/gettext/PKGBUILD b/abs/core/gettext/PKGBUILD
index c8dbf03..0980598 100644
--- a/abs/core/gettext/PKGBUILD
+++ b/abs/core/gettext/PKGBUILD
@@ -1,34 +1,45 @@
-# $Id$
# Maintainer:
pkgname=gettext
-pkgver=0.19.8.1
-pkgrel=2
+pkgver=0.21
+pkgrel=1
pkgdesc="GNU internationalization library"
-arch=('x86_64')
-url="http://www.gnu.org/software/gettext/"
-license=('GPL')
-groups=('base' 'base-devel')
-depends=('gcc-libs' 'acl' 'sh' 'glib2' 'libunistring')
+url="https://www.gnu.org/software/gettext/"
+arch=(x86_64)
+license=(GPL)
+groups=(base-devel)
+depends=(gcc-libs acl sh glib2 libunistring libcroco)
+makedepends=(gettext emacs git)
optdepends=('git: for autopoint infrastructure updates')
options=(!docs)
-source=(ftp://ftp.gnu.org/pub/gnu/gettext/${pkgname}-${pkgver}.tar.gz{,.sig})
-validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno
+source=(https://ftp.gnu.org/pub/gnu/gettext/$pkgname-$pkgver.tar.gz{,.sig})
+sha256sums=('c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12'
+ 'SKIP')
+validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno
+ '68D94D8AAEEAD48AE7DC5B904F494A942E4616C2'
+ '9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D') # Bruno Haible (Open Source Development)
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --enable-csharp \
+ --enable-nls \
+ --with-xz \
+ --without-included-gettext
+
+ sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \
+ -i gettext-{tools,runtime,runtime/libasprintf}/libtool
+
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make -j1 -k check
+ cd $pkgname-$pkgver
+ make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
}
-md5sums=('97e034cf8ce5ba73a28ff6c3c0638092'
- 'SKIP')
diff --git a/abs/core/libcap/PKGBUILD b/abs/core/libcap/PKGBUILD
index e9947da..28c8d60 100644
--- a/abs/core/libcap/PKGBUILD
+++ b/abs/core/libcap/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Hugo Doria <hugo@archlinux.org>
pkgname=libcap
-pkgver=2.43
+pkgver=2.44
pkgrel=1
pkgdesc='POSIX 1003.1e capabilities'
arch=(x86_64)
@@ -14,7 +14,7 @@ makedepends=(linux-api-headers)
provides=(libcap.so)
source=(https://kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-$pkgver.tar.{xz,sign})
validpgpkeys=(38A644698C69787344E954CE29EE848AE2CCF3F4) # Andrew G. Morgan <morgan@kernel.org>
-sha512sums=('817add571fb2c54ad2a39974e6545b8fc8d855ecdcf2e00b2cc10e583802c49dfea2d8bca484c89ecd574fdacfc46565b51e3064a4407cf1985defb913240d45'
+sha512sums=('1bb323ca362923bd6bd0e2e4639cf8726975165a620a243b31e797056439eb7efb2bfbc8e5521636783a86c7415b2037b1638c98747b79183ca7d3d42a04ff20'
'SKIP')
prepare() {
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/autocard.h b/abs/core/mythinstall/MythVantage-app/mythinstall/autocard.h
index 4948842..a396932 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/autocard.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/autocard.h
@@ -2,7 +2,7 @@
#define AUTOCARD_H
#include <mythtv/mythdbcon.h>
#include "qstringlist.h"
-#include "libmyth/settings.h"
+//#include "libmyth/settings.h"
#include "libmyth/mythwidgets.h"
class MPUBLIC AutoCard : public QObject, public ConfigurationDialog
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.cpp
index 22d784f..2e63ba9 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.cpp
@@ -1,5 +1,5 @@
#include "mythuihelper.h"
-#include "settings.h"
+//#include "settings.h"
#include "compat-mv.h"
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h b/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h
index 5f6825f..f5717f9 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h
@@ -1,4 +1,4 @@
-#include "settings.h"
+//#include "settings.h"
#include "mythstorage.h"
class MPUBLIC ImageSelectSetting: public SelectSetting {
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/fileshare.h b/abs/core/mythinstall/MythVantage-app/mythinstall/fileshare.h
index 68be528..644898d 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/fileshare.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/fileshare.h
@@ -3,7 +3,7 @@
#include <iostream>
#include <fstream>
#include <stdio.h>
-#include "settings.h"
+//#include "settings.h"
#include "installsettings.h"
#include <qsqldatabase.h>
#include <qsqlquery.h>
@@ -18,28 +18,21 @@
-class FileShareMainFrameClient: public VerticalConfigurationGroup {
+class FileShareMainFrameClient: public GroupSetting {
public:
FileShareMainFrameClient();
};
-class FileShareMainFrameServer: public VerticalConfigurationGroup {
+class FileShareMainFrameServer: public GroupSetting {
public:
FileShareMainFrameServer();
};
-
-
-
-
-
-class ClientNFSSettings: public
-TriggeredConfigurationGroup {
+class ClientNFSSettings: public GroupSetting {
public:
ClientNFSSettings();
-
};
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/infrared.h b/abs/core/mythinstall/MythVantage-app/mythinstall/infrared.h
index e11c49d..8994d18 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/infrared.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/infrared.h
@@ -3,7 +3,7 @@
#include <iostream>
#include <fstream>
#include <stdio.h>
-#include "settings.h"
+//#include "settings.h"
#include "installsettings.h"
#include <qsqldatabase.h>
#include <qsqlquery.h>
@@ -15,12 +15,12 @@
#include <qapplication.h>
#include "mythmiscutil.h"
-class IRFrame: public VerticalConfigurationGroup {
+class IRFrame: public GroupSetting {
public:
IRFrame();
};
-
+/*
class HostRemoteTypeIR_favorites: public HostImageSelect {
public:
HostRemoteTypeIR_favorites();
@@ -46,22 +46,16 @@ class HostRemoteTypeIR_user: public HostImageSelect {
public:
HostRemoteTypeIR_user();
};
+*/
-
-class IR_TransmitFrame: public VerticalConfigurationGroup {
+class IR_TransmitFrame: public GroupSetting {
public:
IR_TransmitFrame();
};
-class LCDFrame: public VerticalConfigurationGroup {
+class LCDFrame: public GroupSetting {
public:
LCDFrame();
};
-
-
-
-
-
-
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp
index cb2e918..93d45ae 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp
@@ -31,8 +31,18 @@ int mythinstalltype (QString tmp_install_drive)
setting.Load();
setting.Save();
- if ( setting.exec() == QDialog::Accepted )
- {
+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+ StandardSettingDialog *ssd =
+ new StandardSettingDialog(mainStack, "mythinstalltypesettings",
+ new Mythinstalltype());
+
+ if (ssd->Create())
+ mainStack->AddScreen(ssd);
+ else
+ delete ssd;
+
+ //if ( setting.exec() == QDialog::Accepted )
+ //{
//get users sizes
rootsize = gCoreContext->GetSetting("HOSTOSsize");
homesize = gCoreContext->GetSetting("HOSTHOMEsize");
@@ -74,7 +84,7 @@ int mythinstalltype (QString tmp_install_drive)
file.close();
//convert to MB and match calulation in installdialog.cpp
disksizeMB = qRound(disksize.toFloat() * 1024 / 1000000);
-
+/* FIXME change to mythui
if (neededsize > disksizeMB)
{
DialogCode val = MythPopupBox::Show2ButtonPopup(
@@ -96,79 +106,65 @@ int mythinstalltype (QString tmp_install_drive)
{
retc = 0;
}
- }
- else
- {
- retc = 0;
- }
+*/
}
return retc;
-
};
-static HostComboBox *HOSTinstallationtype()
+static HostComboBoxSetting *HOSTinstallationtype()
{
- HostComboBox *gc = new HostComboBox("HOSTinstallationtype");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HOSTinstallationtype");
gc->setLabel(QObject::tr("Installation Type"));
gc->addSelection("Full/Auto") ;
-
gc->addSelection("Upgrade");
-
//gc->setValue("Full/Auto");
gc->setHelpText(QObject::tr("Full install will erase the entire drive and repartition. Upgrade will format only the first parition of the drive. Only LinHES R8.0 or newer can use Upgrade."));
-
return gc;
}
-static HostSpinBox *HOSTOSsize()
+static HostSpinBoxSetting *HOSTOSsize()
{
#ifdef __MVAPP__
- HostSpinBox *gc = new HostSpinBox("HOSTOSsize", 2, 15, 1, true);
+ HostSpinBoxSetting *gc = new HostSpinBoxSetting("HOSTOSsize", 2, 15, 1, true);
#else
- HostSpinBox *gc = new HostSpinBox("HOSTOSsize", 3, 25, 1, true);
+ HostSpinBoxSetting *gc = new HostSpinBoxSetting("HOSTOSsize", 3, 25, 1, true);
#endif
- gc->setLabel(QObject::tr("OS size (GB)"));
+ gc->setLabel(QObject::tr("OS Size (GB)"));
gc->setValue(2);
- gc->setHelpText(QObject::tr("Amount of space allocated for the root OS." ));
-
+ gc->setHelpText(QObject::tr("Amount of space allocated for the root OS partition."));
return gc;
}
-static HostSpinBox *HOSTDATAsize()
+static HostSpinBoxSetting *HOSTDATAsize()
{
- HostSpinBox *gc = new HostSpinBox("HOSTDATAsize", 2, 1500, 1, true);
- gc->setLabel(QObject::tr("Data size (GB)"));
+ HostSpinBoxSetting *gc = new HostSpinBoxSetting("HOSTDATAsize", 2, 1500, 1, true);
+ gc->setLabel(QObject::tr("Data Size (GB)"));
gc->setValue(3);
- gc->setHelpText(QObject::tr("" ));
-
+ gc->setHelpText(QObject::tr("Amount of space allocated for the data partiton."));
return gc;
}
-static HostSpinBox *HOSTHOMEsize()
+static HostSpinBoxSetting *HOSTHOMEsize()
{
- HostSpinBox *gc = new HostSpinBox("HOSTHOMEsize", 1, 1500, 1, true);
- gc->setLabel(QObject::tr("Home dir size (GB)"));
+ HostSpinBoxSetting *gc = new HostSpinBoxSetting("HOSTHOMEsize", 1, 1500, 1, true);
+ gc->setLabel(QObject::tr("Home Size (GB)"));
gc->setValue(3);
gc->setHelpText(QObject::tr("Amount of space allocated for the home directories partition. Three to five GB will be sufficient for most people. The home partition will be the same filesystem as the root OS." ));
-
return gc;
}
-static HostSpinBox *HOSTDatabasesize()
+static HostSpinBoxSetting *HOSTDatabasesize()
{
- HostSpinBox *gc = new HostSpinBox("HOSTDatabasesize", 1, 20, 1, true);
- gc->setLabel(QObject::tr("Database partition size (GB)"));
+ HostSpinBoxSetting *gc = new HostSpinBoxSetting("HOSTDatabasesize", 1, 20, 1, true);
+ gc->setLabel(QObject::tr("Database Size (GB)"));
gc->setValue(4);
- gc->setHelpText(QObject::tr("Amount of space allocated for the database partition. Two GB is more then enough for most people. The database partition space will be formatted with the ext3 filesystem." ));
-
+ gc->setHelpText(QObject::tr("Amount of space allocated for the database partition. Two GB is more then enough for most people. The database partition space will be formatted with the ext3 filesystem."));
return gc;
}
-
-
-static HostSpinBox *HOSTSWAPsize()
+static HostSpinBoxSetting *HOSTSWAPsize()
{
QString currentitem;
QString line;
@@ -193,26 +189,25 @@ static HostSpinBox *HOSTSWAPsize()
if ( ! ok )
mem = 257 ;
//QTextStream(stdout) << mem << endl;
- HostSpinBox *gc = new HostSpinBox("HOSTSWAPsize", 256, 256000, 256, true);
- gc->setLabel(QObject::tr("Swapspace size (MB)"));
+ HostSpinBoxSetting *gc = new HostSpinBoxSetting("HOSTSWAPsize", 256, 256000, 256, true);
+ gc->setLabel(QObject::tr("Swap Size (MB)"));
gc->setValue(mem);
gc->setHelpText(QObject::tr("Amount of space allocated for the swap partition." ));
-
return gc;
}
-static HostCheckBox *HostUseSWAP()
+static HostCheckBoxSetting *HostUseSWAP()
{
- HostCheckBox *gc = new HostCheckBox("HostUseSWAP");
- gc->setLabel(QObject::tr("Use swap partition"));
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostUseSWAP");
+ gc->setLabel(QObject::tr("Use Swap"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Enable or disable the swap partition."));
return gc;
};
-static HostCheckBox *HostUseALLdata()
+static HostCheckBoxSetting *HostUseALLdata()
{
- HostCheckBox *gc = new HostCheckBox("HostUseALLdata");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostUseALLdata");
gc->setLabel(QObject::tr("Use all remaining space for data"));
gc->setValue(true);
gc->setHelpText(QObject::tr("If checked the remaining space on the drive will be used for storage. Otherwise you can set the size of the partition."));
@@ -220,26 +215,24 @@ static HostCheckBox *HostUseALLdata()
};
-static HostComboBox *HOSTdatafstype()
+static HostComboBoxSetting *HOSTdatafstype()
{
- HostComboBox *gc = new HostComboBox("HOSTdatafstype");
- gc->setLabel(QObject::tr("Data filesystem"));
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HOSTdatafstype");
+ gc->setLabel(QObject::tr("Data File System"));
gc->addSelection("ext3") ;
gc->addSelection("ext4") ;
// gc->addSelection("reiserfs");
gc->addSelection("jfs");
gc->addSelection("xfs");
//gc->addSelection("btrfs");
-
- gc->setHelpText(QObject::tr("Filesystem type for data storage."));
-
+ gc->setHelpText(QObject::tr("File system type for data storage."));
return gc;
}
-static HostComboBox *HOSTuprootfstype()
+static HostComboBoxSetting *HOSTuprootfstype()
{
- HostComboBox *gc = new HostComboBox("HOSTuprootfstype");
- gc->setLabel(QObject::tr("OS file system"));
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HOSTuprootfstype");
+ gc->setLabel(QObject::tr("OS File System"));
gc->addSelection("ext3") ;
gc->addSelection("ext4") ;
gc->addSelection("reiserfs");
@@ -247,101 +240,109 @@ static HostComboBox *HOSTuprootfstype()
//gc->addSelection("xfs");
//gc->addSelection("btrfs");
gc->addSelection("Do_not_format");
-
- gc->setHelpText(QObject::tr("Filesystem type for OS. "));
-
+ gc->setHelpText(QObject::tr("File system type for OS. "));
return gc;
}
-static HostComboBox *HOSTrootfstype()
+static HostComboBoxSetting *HOSTrootfstype()
{
- HostComboBox *gc = new HostComboBox("HOSTrootfstype");
- gc->setLabel(QObject::tr("Root filesystem format"));
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HOSTrootfstype");
+ gc->setLabel(QObject::tr("Root File System"));
gc->addSelection("ext3") ;
gc->addSelection("ext4") ;
gc->addSelection("reiserfs");
gc->addSelection("jfs");
//gc->addSelection("btrfs");
//gc->addSelection("xfs");
-
- gc->setHelpText(QObject::tr("Filesystem type for root OS."));
-
+ gc->setHelpText(QObject::tr("File system type for root OS."));
return gc;
}
-class USESwap:
- public TriggeredConfigurationGroup {
-public:
- USESwap():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
- SetVertical(false);
- Setting* useswap = HostUseSWAP();
+class USESwap : public GroupSetting
+{
+ public:
+ USESwap()
+ {
+// TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
+// SetVertical(false);
+ HostCheckBoxSetting* useswap = HostUseSWAP();
addChild(useswap);
- setTrigger(useswap);
-
+// setTrigger(useswap);
- ConfigurationGroup* swapyes = new VerticalConfigurationGroup(false);
- swapyes->addChild(HOSTSWAPsize());
- addTarget("1", swapyes );
- addTarget("0", new VerticalConfigurationGroup(true));
- };
+// ConfigurationGroup* swapyes = new VerticalConfigurationGroup(false);
+// swapyes->addChild(HOSTSWAPsize());
+// addTarget("1", swapyes );
+// addTarget("0", new VerticalConfigurationGroup(true));
+ useswap->addTargetedChild("1", HOSTSWAPsize());
+ }
};
-class DATAsize:
- public TriggeredConfigurationGroup {
-public:
- DATAsize():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
- SetVertical(false);
- Setting* datasize = HostUseALLdata();
+class DATAsize : public GroupSetting
+{
+ public:
+ DATAsize()
+ {
+// TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
+// SetVertical(false);
+// Setting* datasize = HostUseALLdata();
+ HostCheckBoxSetting* datasize = HostUseALLdata();
addChild(datasize);
- setTrigger(datasize);
+// setTrigger(datasize);
- ConfigurationGroup* alldatano = new VerticalConfigurationGroup(false);
- alldatano->addChild(HOSTDATAsize());
- alldatano->addChild(HOSTdatafstype());
+// ConfigurationGroup* alldatano = new VerticalConfigurationGroup(false);
+// alldatano->addChild(HOSTDATAsize());
+// alldatano->addChild(HOSTdatafstype());
+ datasize->addTargetedChild("1", HOSTDATAsize());
+ datasize->addTargetedChild("1", HOSTdatafstype());
+ datasize->addTargetedChild("0", HOSTdatafstype());
+// ConfigurationGroup* alldatayes = new VerticalConfigurationGroup(false);
+// alldatayes->addChild(HOSTdatafstype());
- ConfigurationGroup* alldatayes = new VerticalConfigurationGroup(false);
- alldatayes->addChild(HOSTdatafstype());
-
- addTarget("1", alldatayes);
- addTarget("0", alldatano);
- };
+// addTarget("1", alldatayes);
+// addTarget("0", alldatano);
+ }
};
-
-class Installationtype:
- public TriggeredConfigurationGroup {
-public:
- Installationtype():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
+class Installationtype : public GroupSetting
+{
+ public:
+ Installationtype()
+ {
+// TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
setLabel(QObject::tr("LinHES Install"));
- Setting *Mtemplate = HOSTinstallationtype();
+// Setting *Mtemplate = HOSTinstallationtype();
+ HostComboBoxSetting *Mtemplate = HOSTinstallationtype();
addChild(Mtemplate);
- setTrigger(Mtemplate);
+// setTrigger(Mtemplate);
- ConfigurationGroup *ospartition = new GridConfigurationGroup(2,false);
- ospartition->addChild(HOSTOSsize());
- ospartition->addChild(HOSTrootfstype());
- ospartition->addChild(HOSTHOMEsize());
- ospartition->addChild(HOSTDatabasesize());
+// ConfigurationGroup *ospartition = new GridConfigurationGroup(2,false);
+// ospartition->addChild(HOSTOSsize());
+// ospartition->addChild(HOSTrootfstype());
+// ospartition->addChild(HOSTHOMEsize());
+// ospartition->addChild(HOSTDatabasesize());
+ Mtemplate->addTargetedChild("1", HOSTOSsize());
+ Mtemplate->addTargetedChild("1", HOSTrootfstype());
+ Mtemplate->addTargetedChild("1", HOSTHOMEsize());
+ Mtemplate->addTargetedChild("1", HOSTDatabasesize());
+ Mtemplate->addTargetedChild("0", HOSTuprootfstype());
- ConfigurationGroup *tupgrade = new VerticalConfigurationGroup(false);
- tupgrade->addChild(HOSTuprootfstype());
- ConfigurationGroup *tfull = new VerticalConfigurationGroup(false);
+// ConfigurationGroup *tupgrade = new VerticalConfigurationGroup(false);
+// tupgrade->addChild(HOSTuprootfstype());
+
+// ConfigurationGroup *tfull = new VerticalConfigurationGroup(false);
// tfull->addChild(HOSTOSsize());
// tfull->addChild(HOSTrootfstype());
- tfull->addChild(ospartition);
- tfull->addChild(new USESwap);
- tfull->addChild(new DATAsize);
+// tfull->addChild(ospartition);
+// tfull->addChild(new USESwap);
+// tfull->addChild(new DATAsize);
- addTarget("Upgrade",tupgrade );
- addTarget("Full/Auto", tfull);
- };
+// addTarget("Upgrade",tupgrade );
+// addTarget("Full/Auto", tfull);
+ }
};
Mythinstalltype::Mythinstalltype()
@@ -352,6 +353,3 @@ Mythinstalltype::Mythinstalltype()
Installationtype *installationtype = new Installationtype();
addChild(installationtype);
};
-
-
-
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.h b/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.h
index e043f0a..75f322a 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.h
@@ -1,11 +1,11 @@
-#include <settings.h>
-#include "mythdialogs.h"
+//#include <settings.h>
+//#include "mythdialogs.h"
+#include "standardsettings.h"
-class Mythinstalltype: public ConfigurationWizard {
+class Mythinstalltype : public GroupSetting {
public:
Mythinstalltype();
};
int mythinstalltype(QString);
-
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp
index 5eb8717..462aaf9 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp
@@ -18,14 +18,10 @@
#include "vnc.h"
#include "fileshare.h"
-
-
int timezone_unknown = false;
extern HostParms hostparm;
//extern DDCinfo ddcinfo;
-
-
bool displaymysqlonly = false ;
bool displayshownetwork =false ;
bool displayshowhostype = false ;
@@ -49,30 +45,28 @@ bool displayvnc = false;
bool displayfileshare = false;
-static HostComboBox *ThemePainter()
+static HostComboBoxSetting *ThemePainter()
{
- HostComboBox *gc = new HostComboBox("ThemePainter");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("ThemePainter");
gc->setLabel(QObject::tr("Paint Engine"));
gc->addSelection(QObject::tr("Qt"), "qt");
gc->addSelection(QObject::tr("OpenGL"), "opengl");
gc->setHelpText(QObject::tr("This selects what Myth uses to draw. If you have decent hardware, select OpenGL. Changing this requires a restart."));
return gc;
-
}
-
-static HostLineEdit *HostDDnslogin()
+static HostTextEditSetting *HostDDnslogin()
{
- HostLineEdit *gc = new HostLineEdit("HostDDnslogin");
+ HostTextEditSetting *gc = new HostTextEditSetting("HostDDnslogin");
gc->setLabel(QObject::tr("Login"));
gc->setValue("");
gc->setHelpText(QObject::tr("Login for DDNS account."));
return gc;
};
-static HostLineEdit *HostDDnspassword()
+static HostTextEditSetting *HostDDnspassword()
{
- HostLineEdit *gc = new HostLineEdit("HostDDnspassword");
+ HostTextEditSetting *gc = new HostTextEditSetting("HostDDnspassword");
gc->setLabel(QObject::tr("Password"));
gc->setValue("");
gc->SetPasswordEcho(true);
@@ -80,28 +74,29 @@ static HostLineEdit *HostDDnspassword()
return gc;
};
-static HostLineEdit *HostDDnshostname()
+static HostTextEditSetting *HostDDnshostname()
{
- HostLineEdit *gc = new HostLineEdit("HostDDnshostname");
+ HostTextEditSetting *gc = new HostTextEditSetting("HostDDnshostname");
gc->setLabel(QObject::tr("DDNS hostname"));
gc->setValue("");
gc->setHelpText(QObject::tr("Hostname used for DDNS."));
return gc;
};
-static HostCheckBox *HostDDnsEnable()
+static HostCheckBoxSetting *HostDDnsEnable()
{
- HostCheckBox *gc = new HostCheckBox("HostDDnsEnable");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostDDnsEnable");
gc->setLabel(QObject::tr("Enable DDNS"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Update DDNS records at dyndns.com. Visit http://dyndns.com to setup your account."));
return gc;
};
-class DDnssettings: public TriggeredConfigurationGroup {
+/*
+class DDnssettings: public GroupSetting {
public:
DDnssettings():
- TriggeredConfigurationGroup(false,false,false,false) {
+ GroupSetting(false,false,false,false) {
setLabel(QObject::tr("DDNS Settings"));
SetVertical(true);
Setting* trigger = HostDDnsEnable() ;
@@ -117,7 +112,7 @@ public:
addTarget("1", settings);
};
};
-
+*/
QString findnet()
@@ -186,9 +181,9 @@ QString findnet_wireless()
return netdev;
}
-static HostComboBox *HostNetDevice()
+static HostComboBoxSetting *HostNetDevice()
{
- HostComboBox *gc = new HostComboBox("HostNetDevice");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostNetDevice");
gc->setLabel(QObject::tr("Device"));
QString foundnet=findnet();
@@ -214,37 +209,36 @@ static HostComboBox *HostNetDevice()
if (foundnet.contains("ath0"))
gc->addSelection("ath0");
- int findoldnetdevice=gc->findSelection(hostparm.ThisHostnetOLD);
+ //int findoldnetdevice=gc->findSelection(hostparm.ThisHostnetOLD);
+ QString findoldnetdevice = gCoreContext->GetSetting("ThisHostnetOLD");
gc->setValue(findoldnetdevice);
-
-
gc->setHelpText(QObject::tr("Network interface"));
return gc;
};
/*
-static HostCheckBox *HostActiveonboot()
+static HostCheckBoxSetting *HostActiveonboot()
{
- HostCheckBox *gc = new HostCheckBox("HostActiveonboot");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostActiveonboot");
gc->setLabel(QObject::tr("Device is active on boot"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Network is started on boot"));
return gc;
};
-static HostCheckBox *HostServiceSamba()
+static HostCheckBoxSetting *HostServiceSamba()
{
- HostCheckBox *gc = new HostCheckBox("HostServiceSamba");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceSamba");
gc->setLabel(QObject::tr("Windows sharing"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Allow window machines to access recorded files"));
return gc;
};
-static HostCheckBox *HostServiceSamba_write()
+static HostCheckBoxSetting *HostServiceSamba_write()
{
- HostCheckBox *gc = new HostCheckBox("HostServiceSamba_write");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceSamba_write");
gc->setLabel(QObject::tr("Readonly"));
gc->setValue(false);
gc->setHelpText(QObject::tr("If checked, all remote connections will be read only. If not checked then remote clients will have write and delete abilites. "));
@@ -252,27 +246,27 @@ static HostCheckBox *HostServiceSamba_write()
};
-static HostCheckBox *HostServiceSamba_writehome()
+static HostCheckBoxSetting *HostServiceSamba_writehome()
{
- HostCheckBox *gc = new HostCheckBox("HostServiceSamba_writehome");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceSamba_writehome");
gc->setLabel(QObject::tr("Readonly"));
gc->setValue(false);
gc->setHelpText(QObject::tr("If checked, all remote connections will be read only. If not checked then remote clients will have write and delete abilites. "));
return gc;
};
-static HostCheckBox *HostServiceSamba_media()
+static HostCheckBoxSetting *HostServiceSamba_media()
{
- HostCheckBox *gc = new HostCheckBox("HostServiceSamba_media");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceSamba_media");
gc->setLabel(QObject::tr("share media"));
gc->setValue(true);
gc->setHelpText(QObject::tr(" "));
return gc;
};
-static HostCheckBox *HostServiceSamba_home()
+static HostCheckBoxSetting *HostServiceSamba_home()
{
- HostCheckBox *gc = new HostCheckBox("HostServiceSamba_home");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceSamba_home");
gc->setLabel(QObject::tr("share home"));
gc->setValue(true);
gc->setHelpText(QObject::tr(" "));
@@ -281,9 +275,9 @@ static HostCheckBox *HostServiceSamba_home()
-static HostComboBox *HostServiceSamba_domain()
+static HostComboBoxSetting *HostServiceSamba_domain()
{
- HostComboBox *gc = new HostComboBox("HostServiceSamba_domain",true);
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostServiceSamba_domain",true);
gc->setLabel(QObject::tr("Workgroup"));
gc->setHelpText(QObject::tr("Workgroup for smb share"));
gc->addSelection("WORKGROUP");
@@ -309,18 +303,18 @@ static HostComboBox *HostServiceSamba_domain()
return gc;
};
-static HostCheckBox *HostLircWait()
+static HostCheckBoxSetting *HostLircWait()
{
- HostCheckBox *gc = new HostCheckBox("HostLircWait");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostLircWait");
gc->setLabel(QObject::tr("Wait for lirc"));
gc->setValue(false);
gc->setHelpText(QObject::tr("System will wait for lirc before starting the UI "));
return gc;
};
*/
-static HostCheckBox *HostBEWait()
+static HostCheckBoxSetting *HostBEWait()
{
- HostCheckBox *gc = new HostCheckBox("HostBEWait");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostBEWait");
gc->setLabel(QObject::tr("Delay starting mythfrontend until mythbackend is running"));
gc->setValue(true);
gc->setHelpText(QObject::tr("The system will check if mythbackend is online before starting mythfrontend. This will avoid connection errors and configuration screens."));
@@ -329,9 +323,9 @@ static HostCheckBox *HostBEWait()
-// static HostComboBox *HostEvrouterConfig()
+// static HostComboBoxSetting *HostEvrouterConfig()
// {
-// HostComboBox *gc = new HostComboBox("HostEvrouterConfig",true);
+// HostComboBoxSetting *gc = new HostComboBoxSetting("HostEvrouterConfig",true);
// gc->setLabel(QObject::tr("Key Configuration"));
// gc->setHelpText(QObject::tr("Choose the key definations that will be used by the event router"));
// QString dirtxt;
@@ -357,9 +351,9 @@ static HostCheckBox *HostBEWait()
// };
-// static HostCheckBox *HostServiceNFS()
+// static HostCheckBoxSetting *HostServiceNFS()
// {
-// HostCheckBox *gc = new HostCheckBox("HostServiceNFS");
+// HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceNFS");
// gc->setLabel(QObject::tr("Standard file sharing"));
// gc->setValue(true);
// gc->setHelpText(QObject::tr("Allow all machines to access recorded files with nfs"));
@@ -367,18 +361,18 @@ static HostCheckBox *HostBEWait()
// };
-static HostCheckBox *HostServiceMythWEB()
+static HostCheckBoxSetting *HostServiceMythWEB()
{
- HostCheckBox *gc = new HostCheckBox("HostServiceMythWEB");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceMythWEB");
gc->setLabel(QObject::tr("Enable MythWeb"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Allow MythTV scheduling using a web browser."));
return gc;
};
-
-static HostCheckBox *HostServiceHobbitclient()
+/*
+static HostCheckBoxSetting *HostServiceHobbitclient()
{
- HostCheckBox *gc = new HostCheckBox("HostServiceHobbitclient");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceHobbitclient");
gc->setLabel(QObject::tr("Hobbit-client"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Report stats and other stuff to the master backend"));
@@ -394,54 +388,54 @@ static GlobalCheckBox *GlobalServiceHobbitserver()
return gc;
};
-static HostCheckBox *HostServiceRRD()
+static HostCheckBoxSetting *HostServiceRRD()
{
- HostCheckBox *gc = new HostCheckBox("HostServiceRRD");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostServiceRRD");
gc->setLabel(QObject::tr("rrd_stats"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Collect stats and create graphs of various system resources."));
return gc;
};
-
-static HostCheckBox *HostUseDHCP()
+*/
+static HostCheckBoxSetting *HostUseDHCP()
{
- HostCheckBox *gc = new HostCheckBox("HostUseDHCP");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostUseDHCP");
gc->setLabel(QObject::tr("Static ip address"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used."));
return gc;
};
-static HostCheckBox *HostRunDHCP()
+static HostCheckBoxSetting *HostRunDHCP()
{
- HostCheckBox *gc = new HostCheckBox("HostRunDHCP");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostRunDHCP");
gc->setLabel(QObject::tr("DHCP Server"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Only one DHCP server should run on a network. Leave this unchecked if you are not sure."));
return gc;
};
-// static HostCheckBox *HostRunEvrouter()
+// static HostCheckBoxSetting *HostRunEvrouter()
// {
-// HostCheckBox *gc = new HostCheckBox("HostRunEvrouter");
+// HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostRunEvrouter");
// gc->setLabel(QObject::tr("Use evrouter"));
// gc->setValue(false);
// gc->setHelpText(QObject::tr("Evrouter will run custom actions, based on the user defined events."));
// return gc;
// };
-static HostCheckBox *HostUsemythfrontend()
+static HostCheckBoxSetting *HostUsemythfrontend()
{
- HostCheckBox *gc = new HostCheckBox("HostUseMythWelcome");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostUseMythWelcome");
gc->setLabel(QObject::tr("Run MythWelcome"));
gc->setValue(false);
gc->setHelpText(QObject::tr("If checked mythwelcome will be started instead of mythfrontend."));
return gc;
};
-static HostCheckBox *HostRunFrontend()
+static HostCheckBoxSetting *HostRunFrontend()
{
- HostCheckBox *gc = new HostCheckBox("HostRunFrontend");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostRunFrontend");
gc->setLabel(QObject::tr("Run Frontend"));
gc->setValue(true);
gc->setHelpText(QObject::tr("If checked the frontend X windows GUI will start. Most people will want this checked. Disable the frontend if you want the system to run without a display connected."));
@@ -449,9 +443,9 @@ static HostCheckBox *HostRunFrontend()
};
-static HostComboBox *HostMysqlserverip_listbox()
+static HostComboBoxSetting *HostMysqlserverip_listbox()
{
- HostComboBox *gc = new HostComboBox("HostMysqlServer",true);
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostMysqlServer",true);
gc->setLabel(QObject::tr("MySQL Server"));
myth_system("avahi-browse -l -r -t _mysql._tcp > /tmp/mysqllist");
@@ -495,9 +489,9 @@ static HostComboBox *HostMysqlserverip_listbox()
-static HostCheckBox *HostRemoteBackup()
+static HostCheckBoxSetting *HostRemoteBackup()
{
- HostCheckBox *gc = new HostCheckBox("HostRemoteBackup");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostRemoteBackup");
gc->setLabel(QObject::tr("Remote Backup"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Copy the system backup file to another directory or host."));
@@ -505,11 +499,11 @@ static HostCheckBox *HostRemoteBackup()
};
-static HostComboBox *HostRemoteBackupDir()
+static HostComboBoxSetting *HostRemoteBackupDir()
{
QString tempItem;
- HostComboBox *gc = new HostComboBox("HostRemoteBackupDir",true);
- gc->setLabel(QObject::tr(" Dir or Host" ));
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostRemoteBackupDir",true);
+ gc->setLabel(QObject::tr("Dir or Host" ));
gc->addSelection("dir:/data/storage/disk0");
MSqlQuery query(MSqlQuery::InitCon());
@@ -530,29 +524,26 @@ static HostComboBox *HostRemoteBackupDir()
return gc;
};
-class Backupsettings: public TriggeredConfigurationGroup {
+class Backupsettings: public GroupSetting {
public:
- Backupsettings():
- TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) {
- SetVertical(false);
+ Backupsettings(): GroupSetting()
+ {
+// SetVertical(false);
setLabel(QObject::tr("Backup Settings"));
- Setting* trigger = HostRemoteBackup();
- addChild(trigger);
- setTrigger(trigger);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false);
- settings->addChild(HostRemoteBackupDir());
-
- addTarget("0", new VerticalConfigurationGroup(false, false));
- addTarget("1", settings);
-
+// Setting* trigger = HostRemoteBackup();
+ addChild(HostRemoteBackup());
+// setTrigger(trigger);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false);
+// addTargetedChild(HostRemoteBackupDir(),true);
+// addTarget("0", new VerticalConfigurationGroup(false, false));
+// addTarget("1", settings);
};
};
-
-// static HostCheckBox *HostPKG_MIRROR()
+// static HostCheckBoxSetting *HostPKG_MIRROR()
// {
-// HostCheckBox *gc = new HostCheckBox("HostPKG_MIRROR");
+// HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostPKG_MIRROR");
// gc->setLabel(QObject::tr("Use Local mirror"));
// gc->setValue(false);
// gc->setHelpText(QObject::tr("Master Backend will be used as the repo source."));
@@ -570,27 +561,27 @@ public:
-static HostCheckBox *HostncidClient()
+static HostCheckBoxSetting *HostncidClient()
{
- HostCheckBox *gc = new HostCheckBox("HostncidClient");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostncidClient");
gc->setLabel(QObject::tr("Show CallerID"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Show CallerID popup. The backend must be running the CallerID program."));
return gc;
};
-static HostCheckBox *HostncidDaemon()
+static HostCheckBoxSetting *HostncidDaemon()
{
- HostCheckBox *gc = new HostCheckBox("HostncidDaemon");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostncidDaemon");
gc->setLabel(QObject::tr("Run CallerID"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Run daemon to collect CallerID information."));
return gc;
};
-static HostComboBox *HostSerialPortncid()
+static HostComboBoxSetting *HostSerialPortncid()
{
- HostComboBox *gc = new HostComboBox("HostSerialPortncid",false);
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostSerialPortncid",false);
gc->setLabel(QObject::tr("Serial Port"));
gc->addSelection("ttyS0");
gc->addSelection("ttyS1");
@@ -601,9 +592,9 @@ static HostComboBox *HostSerialPortncid()
return gc;
}
-static HostCheckBox *HostNcidDeviceNetCallerID()
+static HostCheckBoxSetting *HostNcidDeviceNetCallerID()
{
- HostCheckBox *gc = new HostCheckBox("HostNcidDeviceNetCallerID");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostNcidDeviceNetCallerID");
gc->setLabel(QObject::tr("Using a NetCallerID"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Instead of a typical modem, the serial device is a NetCallerID"));
@@ -611,9 +602,9 @@ static HostCheckBox *HostNcidDeviceNetCallerID()
};
-static HostCheckBox *Hostbootsplash()
+static HostCheckBoxSetting *Hostbootsplash()
{
- HostCheckBox *gc = new HostCheckBox("Hostbootsplash");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostbootsplash");
gc->setLabel(QObject::tr("Enable Boot Splash"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Covers up boot messages with LinHES logo."));
@@ -621,10 +612,10 @@ static HostCheckBox *Hostbootsplash()
};
//-------------------------------------screensaver settings-------------------
-
-static HostComboBox *HostScreensaverType()
+/*
+static HostComboBoxSetting *HostScreensaverType()
{
- HostComboBox *gc = new HostComboBox("HostScreensaverType");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostScreensaverType");
gc->setLabel(QObject::tr("Screensaver Program"));
gc->addSelection("xscreensaver");
//gc->addSelection("gscreensaver");
@@ -635,7 +626,7 @@ static HostComboBox *HostScreensaverType()
return gc;
};
-static HostSpinBox *HostScreensaverIdle()
+static HostSpinBoxSetting *HostScreensaverIdle()
{
HostSpinBox *gc = new HostSpinBox("HostScreensaverIdle", 5, 60, 1, true);
gc->setLabel(QObject::tr("Idle Time"));
@@ -644,18 +635,18 @@ static HostSpinBox *HostScreensaverIdle()
return gc;
}
-static HostCheckBox *HostScreensaverBlank()
+static HostCheckBoxSetting *HostScreensaverBlank()
{
- HostCheckBox *gc = new HostCheckBox("HostScreensaverBlank");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostScreensaverBlank");
gc->setLabel(QObject::tr("Blank"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Blank the screen instead of using a screensaver"));
return gc;
};
-static HostCheckBox *HostScreensaverRandom()
+static HostCheckBoxSetting *HostScreensaverRandom()
{
- HostCheckBox *gc = new HostCheckBox("HostScreensaverRandom");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostScreensaverRandom");
gc->setLabel(QObject::tr("Random"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Use a random screensaver."));
@@ -664,9 +655,9 @@ static HostCheckBox *HostScreensaverRandom()
-static HostComboBox *HostGScreensaverTheme()
+static HostComboBoxSetting *HostGScreensaverTheme()
{
- HostComboBox *gc = new HostComboBox("HostGScreensaverTheme");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostGScreensaverTheme");
gc->setLabel(QObject::tr("Screensaver"));
gc->setHelpText(QObject::tr("Screen saver program to use."));
QString line;
@@ -686,9 +677,9 @@ static HostComboBox *HostGScreensaverTheme()
return gc;
};
-static HostComboBox *HostXScreensaverTheme()
+static HostComboBoxSetting *HostXScreensaverTheme()
{
- HostComboBox *gc = new HostComboBox("HostXScreensaverTheme");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostXScreensaverTheme");
gc->setLabel(QObject::tr("Screensaver"));
gc->setHelpText(QObject::tr("Screensaver to display."));
QString dirtxt;
@@ -710,11 +701,11 @@ static HostComboBox *HostXScreensaverTheme()
return gc;
};
-class Screensaverhostsettings: public TriggeredConfigurationGroup {
+class Screensaverhostsettings: public GroupSetting {
public:
Screensaverhostsettings():
- TriggeredConfigurationGroup() {
+ GroupSetting() {
SetVertical(true);
setLabel(QObject::tr("Screensaver Settings"));
Setting* trigger = HostScreensaverType() ;
@@ -735,8 +726,6 @@ public:
gscreensaversettings->addChild(HostScreensaverIdle());
gscreensaversettings->addChild(HostGScreensaverTheme());
-
-
addTarget("tinker", new VerticalConfigurationGroup(false, false));
addTarget("none", new VerticalConfigurationGroup(false, false));
addTarget("gscreensaver", gscreensaversettings);
@@ -744,139 +733,139 @@ public:
};
};
-
+*/
//-------------------------------------access setting----------------------
-static HostCheckBox *Hostaccessnetwork()
+static HostCheckBoxSetting *Hostaccessnetwork()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessnetwork");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessnetwork");
gc->setLabel(QObject::tr("Network"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Control access to Network Settings. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *Hostaccesshostype()
+static HostCheckBoxSetting *Hostaccesshostype()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccesshostype");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccesshostype");
gc->setLabel(QObject::tr("Host"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Host Settings. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *HostaccesshostypeSystemtype()
+static HostCheckBoxSetting *HostaccesshostypeSystemtype()
{
- HostCheckBox *gc = new HostCheckBox("HostaccesshostypeSystemtype");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostaccesshostypeSystemtype");
gc->setLabel(QObject::tr("Change System Type"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Ability to change the System Type in Host Settings. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *Hostaccessmisc()
+static HostCheckBoxSetting *Hostaccessmisc()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessmisc");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessmisc");
gc->setLabel(QObject::tr("Miscellanous"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Miscellanous Settings. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *Hostaccesssleep()
+static HostCheckBoxSetting *Hostaccesssleep()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccesssleep");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccesssleep");
gc->setLabel(QObject::tr("Shutdown"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Shutdown Settings. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *Hostaccessadvanced()
+static HostCheckBoxSetting *Hostaccessadvanced()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessadvanced");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessadvanced");
gc->setLabel(QObject::tr("Advanced"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Advanced Settings. Checked means the screen is enabled. "));
return gc;
};
-static HostCheckBox *HostaccessadvancedX()
+static HostCheckBoxSetting *HostaccessadvancedX()
{
- HostCheckBox *gc = new HostCheckBox("HostaccessadvancedX");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostaccessadvancedX");
gc->setLabel(QObject::tr("Display"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Display Settings. Checked means the screen is enabled. "));
return gc;
};
-static HostCheckBox *Hostaccessddns()
+static HostCheckBoxSetting *Hostaccessddns()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessddns");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessddns");
gc->setLabel(QObject::tr("Dynamic DNS"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to DDNS Settings. Checked means the screen is enabled. "));
return gc;
};
-static HostCheckBox *Hostaccesssound()
+static HostCheckBoxSetting *Hostaccesssound()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccesssound");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccesssound");
gc->setLabel(QObject::tr("Audio"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Audio Settings. Checked means the screen is enabled."));
return gc;
};
-
-static HostCheckBox *Hostaccessscreensaver()
+/*
+static HostCheckBoxSetting *Hostaccessscreensaver()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessscreensaver");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessscreensaver");
gc->setLabel(QObject::tr("Screensaver"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Screensaver Settings. Checked means the screen is enabled."));
return gc;
};
-
-static HostCheckBox *Hostaccessir()
+*/
+static HostCheckBoxSetting *Hostaccessir()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessir");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessir");
gc->setLabel(QObject::tr("Remotes"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Remotes Settings. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *Hostaccessplugins()
+static HostCheckBoxSetting *Hostaccessplugins()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessplugins");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessplugins");
gc->setLabel(QObject::tr("Programs"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Programs. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *Hostaccessuser()
+static HostCheckBoxSetting *Hostaccessuser()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessuser");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessuser");
gc->setLabel(QObject::tr("User Accounts"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Control access to User Accounts. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *Hostaccesswebuser()
+static HostCheckBoxSetting *Hostaccesswebuser()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccesswebuser");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccesswebuser");
gc->setLabel(QObject::tr("Web Security"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Web Security Settings. Checked means the screen is enabled."));
return gc;
};
-static HostCheckBox *Hostaccessvnc()
+static HostCheckBoxSetting *Hostaccessvnc()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessvnc");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessvnc");
gc->setLabel(QObject::tr("Screen Sharing"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to Screen Sharing Settings. Checked means the screen is enabled."));
@@ -884,20 +873,20 @@ static HostCheckBox *Hostaccessvnc()
};
-static HostCheckBox *Hostaccessfileshare()
+static HostCheckBoxSetting *Hostaccessfileshare()
{
- HostCheckBox *gc = new HostCheckBox("Hostaccessfileshare");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostaccessfileshare");
gc->setLabel(QObject::tr("File Sharing"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Control access to File Sharing Settings. Checked means the screen is enabled."));
return gc;
};
-
-class ACCESShostsettings: public TriggeredConfigurationGroup {
+/*
+class ACCESShostsettings: public GroupSetting {
public:
ACCESShostsettings():
- TriggeredConfigurationGroup(false,false,false,false) {
+ GroupSetting(false,false,false,false) {
SetVertical(false);
Setting* trigger = Hostaccesshostype () ;
addChild(trigger);
@@ -912,13 +901,13 @@ public:
addTarget("1", settings);
};
};
-
+*/
//---------------------------------- PLUGINS ----------------------
-static HostCheckBox *Hostpluginmytharchive()
+static HostCheckBoxSetting *Hostpluginmytharchive()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmytharchive");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmytharchive");
gc->setLabel(QObject::tr("MythArchive"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Check to enable MythArchive."));
@@ -926,9 +915,9 @@ static HostCheckBox *Hostpluginmytharchive()
};
-static HostCheckBox *Hostpluginmythbrowser()
+static HostCheckBoxSetting *Hostpluginmythbrowser()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythbrowser");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythbrowser");
gc->setLabel(QObject::tr("MythBrowser"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Check to enable MythBrowser."));
@@ -936,9 +925,9 @@ static HostCheckBox *Hostpluginmythbrowser()
};
-static HostCheckBox *Hostpluginmythnetvision()
+static HostCheckBoxSetting *Hostpluginmythnetvision()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythnetvision");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythnetvision");
gc->setLabel(QObject::tr("MythNetvision"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Check to enable MythNetvision."));
@@ -946,9 +935,9 @@ static HostCheckBox *Hostpluginmythnetvision()
};
-static HostCheckBox *Hostpluginmythgallery()
+static HostCheckBoxSetting *Hostpluginmythgallery()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythgallery");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythgallery");
gc->setLabel(QObject::tr("MythGallery"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Check to enable MythGallery."));
@@ -956,81 +945,81 @@ static HostCheckBox *Hostpluginmythgallery()
};
-static HostCheckBox *Hostpluginmythgame()
+static HostCheckBoxSetting *Hostpluginmythgame()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythgame");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythgame");
gc->setLabel(QObject::tr("MythGame"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Check to enable MythGame."));
return gc;
};
-static HostCheckBox *Hostpluginmythgamesnes9x()
+static HostCheckBoxSetting *Hostpluginmythgamesnes9x()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythgamesnes9x");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythgamesnes9x");
gc->setLabel(QObject::tr("snes9x"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Super Nintendo emulator"));
return gc;
};
-static HostCheckBox *Hostpluginmythgamefceux()
+static HostCheckBoxSetting *Hostpluginmythgamefceux()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythgamefceux");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythgamefceux");
gc->setLabel(QObject::tr("fceux"));
gc->setValue(false);
gc->setHelpText(QObject::tr("NES emulator"));
return gc;
};
-static HostCheckBox *HostpluginmythgameMame()
+static HostCheckBoxSetting *HostpluginmythgameMame()
{
- HostCheckBox *gc = new HostCheckBox("HostpluginmythgameMame");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostpluginmythgameMame");
gc->setLabel(QObject::tr("mame"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Mame, Multiple Arcade Machine Emulator"));
return gc;
};
-static HostCheckBox *HostpluginmythgameMednafen()
+static HostCheckBoxSetting *HostpluginmythgameMednafen()
{
- HostCheckBox *gc = new HostCheckBox("HostpluginmythgameMednafen");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostpluginmythgameMednafen");
gc->setLabel(QObject::tr("Mednafen"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Mednafen is a portable, utilizing OpenGL and SDL, command-line driven multi-system emulator with many advanced features."));
return gc;
};
-static HostCheckBox *HostpluginmythgameROMDB()
+static HostCheckBoxSetting *HostpluginmythgameROMDB()
{
- HostCheckBox *gc = new HostCheckBox("HostpluginmythgameROMDB");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostpluginmythgameROMDB");
gc->setLabel(QObject::tr("RomDB"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Table used my MythGame to store information about games. If you are into games, this is recommended."));
return gc;
};
-static HostCheckBox *Hostpluginmythgamemupen64()
+static HostCheckBoxSetting *Hostpluginmythgamemupen64()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythgamemupen64");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythgamemupen64");
gc->setLabel(QObject::tr("mupen64"));
gc->setValue(false);
gc->setHelpText(QObject::tr("n64 emulator"));
return gc;
};
-static HostCheckBox *HostpluginmythgameDolphin()
+static HostCheckBoxSetting *HostpluginmythgameDolphin()
{
- HostCheckBox *gc = new HostCheckBox("HostpluginmythgameDolphin");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostpluginmythgameDolphin");
gc->setLabel(QObject::tr("Dolphin"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Nintendo Wii emulator"));
return gc;
};
-static HostCheckBox *HostpluginmythgameXe()
+static HostCheckBoxSetting *HostpluginmythgameXe()
{
- HostCheckBox *gc = new HostCheckBox("HostpluginmythgameXe");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostpluginmythgameXe");
gc->setLabel(QObject::tr("Xe"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Xe is a multisystem emulator. http://www.xe-emulator.com/ for the complete list."));
@@ -1038,9 +1027,9 @@ static HostCheckBox *HostpluginmythgameXe()
};
-static HostCheckBox *Hostpluginmythmusic()
+static HostCheckBoxSetting *Hostpluginmythmusic()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythmusic");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythmusic");
gc->setLabel(QObject::tr("MythMusic"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Check to enable MythMusic."));
@@ -1048,9 +1037,9 @@ static HostCheckBox *Hostpluginmythmusic()
};
-static HostCheckBox *Hostpluginmythnews()
+static HostCheckBoxSetting *Hostpluginmythnews()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythnews");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythnews");
gc->setLabel(QObject::tr("MythNews"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Check to enable MythNews."));
@@ -1058,9 +1047,9 @@ static HostCheckBox *Hostpluginmythnews()
};
-static HostCheckBox *Hostpluginmythvideo_dvdcss()
+static HostCheckBoxSetting *Hostpluginmythvideo_dvdcss()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythvideo_dvdcss");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythvideo_dvdcss");
gc->setLabel(QObject::tr("dvdcss"));
gc->setValue(false);
gc->setHelpText(QObject::tr("libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption."));
@@ -1069,9 +1058,9 @@ static HostCheckBox *Hostpluginmythvideo_dvdcss()
-static HostCheckBox *Hostpluginmythappletrailers()
+static HostCheckBoxSetting *Hostpluginmythappletrailers()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythappletrailers");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythappletrailers");
gc->setLabel(QObject::tr("MythAppleTrailers"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Stream trailer's from Apple's website."));
@@ -1079,9 +1068,9 @@ static HostCheckBox *Hostpluginmythappletrailers()
};
-static HostCheckBox *Hostpluginmythweather()
+static HostCheckBoxSetting *Hostpluginmythweather()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythweather");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythweather");
gc->setLabel(QObject::tr("MythWeather"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Check to enable MythWeather."));
@@ -1089,9 +1078,9 @@ static HostCheckBox *Hostpluginmythweather()
};
-static HostCheckBox *Hostwebmin()
+static HostCheckBoxSetting *Hostwebmin()
{
- HostCheckBox *gc = new HostCheckBox("Hostwebmin");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostwebmin");
gc->setLabel(QObject::tr("Webmin"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Webmin is a web-based interface for system administration. Once installed, access it at https://ip.of.back.end:10000 using your root password."));
@@ -1099,9 +1088,9 @@ static HostCheckBox *Hostwebmin()
};
-static HostCheckBox *Hostfoldingathome()
+static HostCheckBoxSetting *Hostfoldingathome()
{
- HostCheckBox *gc = new HostCheckBox("Hostfoldingathome");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostfoldingathome");
gc->setLabel(QObject::tr("Folding@home"));
gc->setValue(false);
gc->setHelpText(QObject::tr("A distributed computing project which studies protein folding, misfolding, aggregation, and related diseases."));
@@ -1110,52 +1099,43 @@ static HostCheckBox *Hostfoldingathome()
-static HostCheckBox *Hostwebonlinhes()
+static HostCheckBoxSetting *Hostwebonlinhes()
{
- HostCheckBox *gc = new HostCheckBox("Hostwebonlinhes");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostwebonlinhes");
gc->setLabel(QObject::tr("Web On LinHES"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Includes Google Chrome and multiple websites with 10' UIs in Media Library --> Online Content."));
return gc;
};
-static HostCheckBox *HostHuluDesktop()
+static HostCheckBoxSetting *HostXBMC()
{
- HostCheckBox *gc = new HostCheckBox("HostHuluDesktop");
- gc->setLabel(QObject::tr("Hulu Desktop"));
- gc->setValue(false);
- gc->setHelpText(QObject::tr("Hulu Desktop for Linux."));
- return gc;
-};
-
-static HostCheckBox *HostXBMC()
-{
- HostCheckBox *gc = new HostCheckBox("HostXBMC");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostXBMC");
gc->setLabel(QObject::tr("Kodi"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub, featuring a 10-foot user interface for use with televisions and remote controls."));
return gc;
};
-static HostCheckBox *HostPLEXHT()
+static HostCheckBoxSetting *HostPLEXHT()
{
- HostCheckBox *gc = new HostCheckBox("HostPLEXHT");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostPLEXHT");
gc->setLabel(QObject::tr("OpenPHT"));
gc->setValue(false);
gc->setHelpText(QObject::tr("OpenPHT is a community driven fork of Plex Home Theater. OpenPHT is a full-featured, powerful App that connects to Plex Media Server and is designed to be used in the living room from the comfort of your lounge."));
return gc;
};
-static HostCheckBox *HostPLEXMS()
+static HostCheckBoxSetting *HostPLEXMS()
{
- HostCheckBox *gc = new HostCheckBox("HostPLEXMS");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostPLEXMS");
gc->setLabel(QObject::tr("Plex Media Server"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Plex is a centralized home media playback system with a powerful central server - the Plex Media Server - that streams its media to many Plex player Apps."));
return gc;
};
-static HostComboBox *Hostfoldingusername()
+static HostComboBoxSetting *Hostfoldingusername()
{
// If there is an old R5.5 style folding directory /myth/folding@home, attempt
// to retrieve the old username.
@@ -1184,7 +1164,7 @@ static HostComboBox *Hostfoldingusername()
pclose (username_pipe);
}
- HostComboBox *gc = new HostComboBox("Hostfoldingusername",true);
+ HostComboBoxSetting *gc = new HostComboBoxSetting("Hostfoldingusername",true);
gc->setLabel(QObject::tr("Folding Username"));
gc->setValue("");
@@ -1192,9 +1172,9 @@ static HostComboBox *Hostfoldingusername()
return gc;
};
-static HostComboBox *Hostfoldingworksize()
+static HostComboBoxSetting *Hostfoldingworksize()
{
- HostComboBox *gc = new HostComboBox("Hostfoldingworksize");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("Hostfoldingworksize");
gc->setLabel(QObject::tr("Work Packet Size"));
gc->addSelection("Big", "big");
gc->addSelection("Normal", "normal");
@@ -1203,9 +1183,9 @@ static HostComboBox *Hostfoldingworksize()
return gc;
};
-// static HostCheckBox *HostXscreensaver()
+// static HostCheckBoxSetting *HostXscreensaver()
// {
-// HostCheckBox *gc = new HostCheckBox("HostXscreensaver");
+// HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostXscreensaver");
// gc->setLabel(QObject::tr("Screensaver"));
// gc->setValue(false);
// gc->setHelpText(QObject::tr("Run screensaver after 10 minutes of inactivity."));
@@ -1213,9 +1193,9 @@ static HostComboBox *Hostfoldingworksize()
// };
-static HostCheckBox *Hostpluginmythzoneminder()
+static HostCheckBoxSetting *Hostpluginmythzoneminder()
{
- HostCheckBox *gc = new HostCheckBox("Hostpluginmythzoneminder");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("Hostpluginmythzoneminder");
gc->setLabel(QObject::tr("MythZoneMinder"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Check to enable MythZoneMinder."));
@@ -1226,11 +1206,11 @@ static HostCheckBox *Hostpluginmythzoneminder()
// -------------End plugins--------------------------------
-
-class NCIDsettings: public TriggeredConfigurationGroup {
+/*
+class NCIDsettings: public GroupSetting {
public:
NCIDsettings():
- TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) {
+ GroupSetting(false, false, true, true,false, false, true, true) {
SetVertical(true);
Setting* trigger = HostncidDaemon() ;
addChild(trigger);
@@ -1242,11 +1222,11 @@ public:
addTarget("1", settings);
};
};
-
-// class SAMBAsettings: public TriggeredConfigurationGroup {
+*/
+// class SAMBAsettings: public GroupSetting {
// public:
// SAMBAsettings():
-// TriggeredConfigurationGroup(false, true, true, true,false, false, true, true) {
+// GroupSetting(false, true, true, true,false, false, true, true) {
// SetVertical(false);
// Setting* trigger = HostServiceSamba() ;
// addChild(trigger);
@@ -1266,10 +1246,10 @@ public:
// };
-// class Evroutersettings: public TriggeredConfigurationGroup {
+// class Evroutersettings: public GroupSetting {
// public:
// Evroutersettings():
-// TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) {
+// GroupSetting(false, false, true, true,false, false, true, true) {
// setLabel(QObject::tr("Evrouter config"));
// Setting* trigger = HostRunEvrouter() ;
// addChild(trigger);
@@ -1283,39 +1263,30 @@ public:
// };
// };
-class MythGamesettings: public TriggeredConfigurationGroup {
+class MythGamesettings: public GroupSetting {
public:
- MythGamesettings():
- TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) {
- setLabel(QObject::tr("Programs - Games"));
- Setting* trigger = Hostpluginmythgame() ;
+ MythGamesettings(): GroupSetting()
+ {
+ //setLabel(QObject::tr("Programs - Games"));
+ HostCheckBoxSetting* trigger = Hostpluginmythgame();
addChild(trigger);
- setTrigger(trigger);
-
- ConfigurationGroup* settings = new GridConfigurationGroup(3,true,true);
- settings->addChild(HostpluginmythgameROMDB());
- settings->addChild(Hostpluginmythgamesnes9x());
- settings->addChild(Hostpluginmythgamefceux());
- settings->addChild(HostpluginmythgameMame());
- settings->addChild(HostpluginmythgameMednafen());
- settings->addChild(Hostpluginmythgamemupen64());
- settings->addChild(HostpluginmythgameDolphin());
- settings->addChild(HostpluginmythgameXe());
-
-
- addTarget("0", new VerticalConfigurationGroup(false, false));
- addTarget("1", settings);
+ trigger->addTargetedChild("1", HostpluginmythgameROMDB());
+ trigger->addTargetedChild("1", Hostpluginmythgamesnes9x());
+ trigger->addTargetedChild("1", Hostpluginmythgamefceux());
+ trigger->addTargetedChild("1", HostpluginmythgameMame());
+ trigger->addTargetedChild("1", HostpluginmythgameMednafen());
+ trigger->addTargetedChild("1", Hostpluginmythgamemupen64());
+ trigger->addTargetedChild("1", HostpluginmythgameDolphin());
+ trigger->addTargetedChild("1", HostpluginmythgameXe());
};
};
-
//____________________________________________________________________________
-class eth0_settings: public TriggeredConfigurationGroup {
+class eth0_settings: public GroupSetting {
public:
- eth0_settings():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
-
- HostComboBox *HOSTESSIDeth0 = new HostComboBox("HOSTESSIDeth0",true);
+ eth0_settings(): GroupSetting()
+ {
+ HostComboBoxSetting *HOSTESSIDeth0 = new HostComboBoxSetting("HOSTESSIDeth0");
HOSTESSIDeth0->setLabel(QObject::tr("ESSID"));
HOSTESSIDeth0->addSelection("MythVantage");
HOSTESSIDeth0->addSelection("home_lan");
@@ -1323,39 +1294,33 @@ public:
HOSTESSIDeth0->setHelpText(QObject::tr("ESSID"));
addChild(HOSTESSIDeth0);
- HostComboBox *HostUseEncryptioneth0 = new HostComboBox("HostUseEncryptioneth0");
+// HostCheckBoxSetting* HostUseEncryption = HostUseEncryptioneth0;
+// addChild(HostUseEncryption);
+
+ HostComboBoxSetting *HostUseEncryptioneth0 = new HostComboBoxSetting("HostUseEncryptioneth0");
HostUseEncryptioneth0->setLabel(QObject::tr("Encryption"));
HostUseEncryptioneth0->setHelpText(QObject::tr("WPA uses a shared key phrase this is the most secure. For WEP use the generated key, this type of encryption is not recommended."));
- HostUseEncryptioneth0->addSelection("none");
+ HostUseEncryptioneth0->addSelection("None");
HostUseEncryptioneth0->addSelection("WPA");
HostUseEncryptioneth0->addSelection("WEP");
- Setting* HostUseEncryption = HostUseEncryptioneth0;
- addChild(HostUseEncryption);
- setTrigger(HostUseEncryption);
-
- HostLineEdit *Hostkeyeth0 = new HostLineEdit("Hostkeyeth0");
- Hostkeyeth0->setLabel(QObject::tr("key"));
+ HostTextEditSetting *Hostkeyeth0 = new HostTextEditSetting("Hostkeyeth0");
+ Hostkeyeth0->setLabel(QObject::tr("Encryption Key"));
Hostkeyeth0->setHelpText(QObject::tr("Key to use for encryption."));
-
- ConfigurationGroup* settings = new GridConfigurationGroup(1,false);
- settings->addChild(Hostkeyeth0);
- addTarget("none", new GridConfigurationGroup(1,false));
- addTarget("WPA", settings);
- addTarget("WEP", settings);
+ addChild(Hostkeyeth0);
};
};
-NetworkSettingseth0::NetworkSettingseth0():
- TriggeredConfigurationGroup(false,false,false,false) {
+NetworkSettingseth0::NetworkSettingseth0()
+{
setLabel(QObject::tr("Network Settings"));
- HostLineEdit *HostIPeth0 = new HostLineEdit("HostIPeth0");
+ HostTextEditSetting *HostIPeth0 = new HostTextEditSetting("HostIPeth0");
HostIPeth0->setLabel(QObject::tr("IP Address"));
HostIPeth0->setValue("192.168.1.12");
HostIPeth0->setHelpText(QObject::tr("IP address of the new installation."));
- HostComboBox *HostNETMASKeth0 = new HostComboBox("HostNETMASKeth0");
+ HostComboBoxSetting *HostNETMASKeth0 = new HostComboBoxSetting("HostNETMASKeth0");
HostNETMASKeth0->setLabel(QObject::tr("Netmask"));
HostNETMASKeth0->addSelection("/0 0.0.0.0");
HostNETMASKeth0->addSelection("/1 128.0.0.0");
@@ -1393,65 +1358,67 @@ NetworkSettingseth0::NetworkSettingseth0():
HostNETMASKeth0->setHelpText(QObject::tr("Netmask"));
HostNETMASKeth0->setValue(24);
- HostLineEdit *HostGWeth0 = new HostLineEdit("HostGWeth0");
+ HostTextEditSetting *HostGWeth0 = new HostTextEditSetting("HostGWeth0");
HostGWeth0->setLabel(QObject::tr("Gateway"));
HostGWeth0->setValue("192.168.1.1");
HostGWeth0->setHelpText(QObject::tr("This is the default route."));
-
- HostLineEdit *HostDNSeth0 = new HostLineEdit("HostDNSeth0");
+ HostTextEditSetting *HostDNSeth0 = new HostTextEditSetting("HostDNSeth0");
HostDNSeth0->setLabel(QObject::tr("Name Server"));
HostDNSeth0->setValue("192.168.1.1");
HostDNSeth0->setHelpText(QObject::tr("Name server"));
-
- HostCheckBox *HostActiveonbooteth0 = new HostCheckBox("HostActiveonbooteth0");
+ HostCheckBoxSetting *HostActiveonbooteth0 = new HostCheckBoxSetting("HostActiveonbooteth0");
HostActiveonbooteth0->setLabel(QObject::tr("Active"));
HostActiveonbooteth0->setValue(true);
HostActiveonbooteth0->setHelpText(QObject::tr("Network is started on boot."));
- HostDefaulteth0 = new HostCheckBox("HostDefaulteth0");
+ HostDefaulteth0 = new HostCheckBoxSetting("HostDefaulteth0");
HostDefaulteth0->setLabel(QObject::tr("Default"));
HostDefaulteth0->setValue(true);
HostDefaulteth0->setHelpText(QObject::tr("Will be used as the primary interface."));
- connect(HostDefaulteth0, SIGNAL(valueChanged(bool)), this, SLOT(eth0_disable_others()));
+ connect(HostDefaulteth0, SIGNAL(valueChanged(bool)), this,
+ SLOT(eth0_disable_others()));
- HostCheckBox *HostUseDHCPeth0 = new HostCheckBox("HostUseDHCPeth0");
- HostUseDHCPeth0 ->setLabel(QObject::tr("Static IP Address"));
- HostUseDHCPeth0 ->setValue(false);
- HostUseDHCPeth0 ->setHelpText(QObject::tr("Enable to use a static IP address, otherwise DHCP will be used."));
+ HostCheckBoxSetting *HostUseDHCPeth0 = new HostCheckBoxSetting("HostUseDHCPeth0");
+ HostUseDHCPeth0->setLabel(QObject::tr("Static IP Address"));
+ HostUseDHCPeth0->setValue(false);
+ HostUseDHCPeth0->setHelpText(QObject::tr("Enable to use a static IP address, otherwise DHCP will be used."));
- wirelessbuttoneth0 = new TransButtonSetting();
- wirelessbuttoneth0->setLabel(tr("Wireless Settings"));
- connect(wirelessbuttoneth0, SIGNAL(pressed()), this, SLOT(eth0_wireless_settings()));
+ wirelessbuttoneth0 = new ButtonStandardSetting("Wireless Settings");
+ connect(wirelessbuttoneth0, SIGNAL(pressed()), this,
+ SLOT(eth0_wireless_settings()));
- ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, true, true);
- settings1->addChild(HostActiveonbooteth0);
- settings1->addChild(HostDefaulteth0);
- settings1-> addChild(wirelessbuttoneth0);
- addChild(settings1);
+ HostDNSeth0->setLabel(QObject::tr("Name Server"));
+ HostDNSeth0->setValue("192.168.1.1");
+ HostDNSeth0->setHelpText(QObject::tr("Name server"));
+// ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, true, true);
+ addChild(HostActiveonbooteth0);
+ addChild(HostDefaulteth0);
+ addChild(wirelessbuttoneth0);
+// addChild(settings1);
- Setting* dhcpEnabled = HostUseDHCPeth0;
- addChild(dhcpEnabled);
- setTrigger(dhcpEnabled);
+// Setting* dhcpEnabled = HostUseDHCPeth0;
+ addChild(HostUseDHCPeth0);
+// setTrigger(dhcpEnabled);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false, false, false);
- settings->addChild(HostIPeth0);
- settings->addChild(HostNETMASKeth0);
- settings->addChild(HostGWeth0);
- settings->addChild(HostDNSeth0);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false, false, false);
+ HostUseDHCPeth0->addTargetedChild("1", HostIPeth0);
+ HostUseDHCPeth0->addTargetedChild("1", HostNETMASKeth0);
+ HostUseDHCPeth0->addTargetedChild("1", HostGWeth0);
+ HostUseDHCPeth0->addTargetedChild("1", HostDNSeth0);
- addTarget("0", new VerticalConfigurationGroup(false,false,false,false));
- addTarget("1", settings);
+// addTarget("0", new VerticalConfigurationGroup(false,false,false,false));
+// addTarget("1", settings);
};
eth0options::eth0options()
{
-
- VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
- rec->setLabel(QObject::tr("Wireless configuration for eth0"));
+// VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
+ GroupSetting* rec = new GroupSetting;
+ rec->setLabel(QObject::tr("Wireless Configuration for eth0"));
//rec->setUseLabel(true);
rec->addChild(new eth0_settings);
addChild(rec);
@@ -1467,14 +1434,16 @@ void NetworkSettingseth0::eth0_disable_others()
emit eth0_is_default();
}
}
+
void NetworkSettingseth0::eth0_disabled()
{
HostDefaulteth0->setValue(0);
}
+
void NetworkSettingseth0::eth0_wireless_settings(void)
{
eth0options eth0screen;
- eth0screen.exec();
+// eth0screen.exec();
}
void NetworkSettingseth0::eth0_wireless_disable()
@@ -1482,51 +1451,42 @@ void NetworkSettingseth0::eth0_wireless_disable()
wirelessbuttoneth0->setEnabled(false);
}
-class eth1_settings: public TriggeredConfigurationGroup {
+class eth1_settings: public GroupSetting {
public:
- eth1_settings():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
-
- HostComboBox *HOSTESSIDeth1 = new HostComboBox("HOSTESSIDeth1",true);
+ eth1_settings(): GroupSetting()
+ {
+ HostComboBoxSetting *HOSTESSIDeth1 = new HostComboBoxSetting("HOSTESSIDeth1");
HOSTESSIDeth1->setLabel(QObject::tr("ESSID"));
HOSTESSIDeth1->addSelection("MythVantage");
HOSTESSIDeth1->addSelection("home_lan");
HOSTESSIDeth1->addSelection("type_it_here");
HOSTESSIDeth1->setHelpText(QObject::tr("ESSID"));
addChild(HOSTESSIDeth1);
- HostComboBox *HostUseEncryptioneth0 = new HostComboBox("HostUseEncryptioneth0");
- HostUseEncryptioneth0->setLabel(QObject::tr("Encryption"));
- HostUseEncryptioneth0->setHelpText(QObject::tr("WPA, WEP, none"));
- HostUseEncryptioneth0->addSelection("none");
- HostUseEncryptioneth0->addSelection("WPA");
- HostUseEncryptioneth0->addSelection("WEP");
-
- Setting* HostUseEncryption = HostUseEncryptioneth0;
- addChild(HostUseEncryption);
- setTrigger(HostUseEncryption);
-
- HostLineEdit *Hostkeyeth0 = new HostLineEdit("Hostkeyeth0");
- Hostkeyeth0->setLabel(QObject::tr("key"));
- Hostkeyeth0->setHelpText(QObject::tr("Key to use for encryption"));
-
- ConfigurationGroup* settings = new GridConfigurationGroup(1,false);
- settings->addChild(Hostkeyeth0);
- addTarget("none", new GridConfigurationGroup(1,false));
- addTarget("WPA", settings);
- addTarget("WEP", settings);
+// HostComboBoxSetting *HostUseEncryptioneth0 = new HostComboBoxSetting("HostUseEncryptioneth0");
+
+ HostComboBoxSetting *HostUseEncryptioneth1 = new HostComboBoxSetting("HostUseEncryptioneth1");
+ HostUseEncryptioneth1->setLabel(QObject::tr("Encryption"));
+ HostUseEncryptioneth1->setHelpText(QObject::tr("WPA, WEP, none"));
+ HostUseEncryptioneth1->addSelection("none");
+ HostUseEncryptioneth1->addSelection("WPA");
+ HostUseEncryptioneth1->addSelection("WEP");
+
+ HostTextEditSetting *Hostkeyeth1 = new HostTextEditSetting("Hostkeyeth1");
+ Hostkeyeth1->setLabel(QObject::tr("Encryption Key"));
+ Hostkeyeth1->setHelpText(QObject::tr("Key to use for encryption."));
+ addChild(Hostkeyeth1);
};
};
-
-NetworkSettingseth1::NetworkSettingseth1():
- TriggeredConfigurationGroup(false,false,false,false) {
+NetworkSettingseth1::NetworkSettingseth1()
+{
setLabel(QObject::tr("Network Settings"));
- HostLineEdit *HostIPeth1 = new HostLineEdit("HostIPeth1");
- HostIPeth1->setLabel(QObject::tr("Ip address"));
+ HostTextEditSetting *HostIPeth1 = new HostTextEditSetting("HostIPeth1");
+ HostIPeth1->setLabel(QObject::tr("IP Address"));
HostIPeth1->setValue("192.168.1.12");
HostIPeth1->setHelpText(QObject::tr("IP address of the new installation"));
- HostComboBox *HostNETMASKeth1 = new HostComboBox("HostNETMASKeth1");
+ HostComboBoxSetting *HostNETMASKeth1 = new HostComboBoxSetting("HostNETMASKeth1");
HostNETMASKeth1->setLabel(QObject::tr("Netmask"));
HostNETMASKeth1->addSelection("/0 0.0.0.0");
HostNETMASKeth1->addSelection("/1 128.0.0.0");
@@ -1564,62 +1524,63 @@ NetworkSettingseth1::NetworkSettingseth1():
HostNETMASKeth1->setHelpText(QObject::tr("Netmask"));
HostNETMASKeth1->setValue(24);
- HostLineEdit *HostGWeth1 = new HostLineEdit("HostGWeth1");
+ HostTextEditSetting *HostGWeth1 = new HostTextEditSetting("HostGWeth1");
HostGWeth1->setLabel(QObject::tr("Gateway"));
HostGWeth1->setValue("192.168.1.1");
HostGWeth1->setHelpText(QObject::tr("This is the default route"));
-
- HostLineEdit *HostDNSeth1 = new HostLineEdit("HostDNSeth1");
- HostDNSeth1->setLabel(QObject::tr("Name server"));
+ HostTextEditSetting *HostDNSeth1 = new HostTextEditSetting("HostDNSeth1");
+ HostDNSeth1->setLabel(QObject::tr("Name Server"));
HostDNSeth1->setValue("192.168.1.1");
HostDNSeth1->setHelpText(QObject::tr("Name server"));
-
- HostCheckBox *HostActiveonbooteth1 = new HostCheckBox("HostActiveonbooteth1");
+ HostCheckBoxSetting *HostActiveonbooteth1 = new HostCheckBoxSetting("HostActiveonbooteth1");
HostActiveonbooteth1->setLabel(QObject::tr("Active"));
HostActiveonbooteth1->setValue(false);
HostActiveonbooteth1->setHelpText(QObject::tr("Network is started on boot"));
- HostDefaulteth1 = new HostCheckBox("HostDefaulteth1");
+ HostDefaulteth1 = new HostCheckBoxSetting("HostDefaulteth1");
HostDefaulteth1->setLabel(QObject::tr("Default"));
HostDefaulteth1->setValue(false);
HostDefaulteth1->setHelpText(QObject::tr("Will be used as the primary interface"));
- connect(HostDefaulteth1, SIGNAL(valueChanged(bool)), this, SLOT(eth1_disable_others()));
- HostCheckBox *HostUseDHCPeth1 = new HostCheckBox("HostUseDHCPeth1");
- HostUseDHCPeth1 ->setLabel(QObject::tr("Static ip address"));
+ connect(HostDefaulteth1, SIGNAL(valueChanged(bool)), this,
+ SLOT(eth1_disable_others()));
+
+ HostCheckBoxSetting *HostUseDHCPeth1 = new HostCheckBoxSetting("HostUseDHCPeth1");
+ HostUseDHCPeth1 ->setLabel(QObject::tr("Static IP Address"));
HostUseDHCPeth1 ->setValue(false);
HostUseDHCPeth1 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used."));
- wirelessbuttoneth1 = new TransButtonSetting();
- wirelessbuttoneth1->setLabel(tr("Wireless Settings"));
- connect(wirelessbuttoneth1, SIGNAL(pressed()), this, SLOT(eth1_wireless_settings()));
-
- ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false);
- settings1->addChild(HostActiveonbooteth1);
- settings1->addChild(HostDefaulteth1);
- settings1-> addChild(wirelessbuttoneth1);
+ wirelessbuttoneth1 = new ButtonStandardSetting("Wireless Settings");
+ connect(wirelessbuttoneth1, SIGNAL(pressed()), this,
+ SLOT(eth1_wireless_settings()));
- addChild(settings1);
+// ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false);
+ addChild(HostActiveonbooteth1);
+ addChild(HostDefaulteth1);
+ addChild(wirelessbuttoneth1);
+// addChild(settings1);
- Setting* dhcpEnabled = HostUseDHCPeth1;
- addChild(dhcpEnabled);
- setTrigger(dhcpEnabled);
+// Setting* dhcpEnabled = HostUseDHCPeth1;
+ addChild(HostUseDHCPeth1);
+// setTrigger(dhcpEnabled);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
- settings->addChild(HostIPeth1);
- settings->addChild(HostNETMASKeth1);
- settings->addChild(HostGWeth1);
- settings->addChild(HostDNSeth1);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
+ HostUseDHCPeth1->addTargetedChild("1", HostIPeth1);
+ HostUseDHCPeth1->addTargetedChild("1", HostNETMASKeth1);
+ HostUseDHCPeth1->addTargetedChild("1", HostGWeth1);
+ HostUseDHCPeth1->addTargetedChild("1", HostDNSeth1);
- addTarget("0", new VerticalConfigurationGroup(false,false,false,false));
- addTarget("1", settings);
+// addTarget("0", new VerticalConfigurationGroup(false,false,false,false));
+// addTarget("1", settings);
};
eth1options::eth1options()
{
- VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
- rec->setLabel(QObject::tr("Wireless configuration for eth1"));
+// VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
+ GroupSetting* rec = new GroupSetting;
+ rec->setLabel(QObject::tr("Wireless Configuration for eth1"));
+ //rec->setUseLabel(true);
rec->addChild(new eth1_settings);
addChild(rec);
}
@@ -1634,6 +1595,7 @@ void NetworkSettingseth1::eth1_disable_others()
emit eth1_is_default();
}
}
+
void NetworkSettingseth1::eth1_disabled()
{
HostDefaulteth1->setValue(0);
@@ -1642,7 +1604,7 @@ void NetworkSettingseth1::eth1_disabled()
void NetworkSettingseth1::eth1_wireless_settings(void)
{
eth1options eth1screen;
- eth1screen.exec();
+// eth1screen.exec();
}
void NetworkSettingseth1::eth1_wireless_disable()
@@ -1651,51 +1613,45 @@ void NetworkSettingseth1::eth1_wireless_disable()
}
-class wlan0_settings: public TriggeredConfigurationGroup {
+class wlan0_settings: public GroupSetting {
public:
- wlan0_settings():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
-
- HostComboBox *HOSTESSIDwlan0 = new HostComboBox("HOSTESSIDwlan0",true);
+ wlan0_settings(): GroupSetting()
+ {
+ HostComboBoxSetting *HOSTESSIDwlan0 = new HostComboBoxSetting("HOSTESSIDwlan0",true);
HOSTESSIDwlan0->setLabel(QObject::tr("ESSID"));
HOSTESSIDwlan0->addSelection("MythVantage");
HOSTESSIDwlan0->addSelection("home_lan");
HOSTESSIDwlan0->addSelection("type_it_here");
HOSTESSIDwlan0->setHelpText(QObject::tr("ESSID"));
addChild(HOSTESSIDwlan0);
- HostComboBox *HostUseEncryptionwlan0 = new HostComboBox("HostUseEncryptionwlan0");
+ HostComboBoxSetting *HostUseEncryptionwlan0 = new HostComboBoxSetting("HostUseEncryptionwlan0");
HostUseEncryptionwlan0->setLabel(QObject::tr("Encryption"));
HostUseEncryptionwlan0->setHelpText(QObject::tr("WPA, WEP, none"));
HostUseEncryptionwlan0->addSelection("none");
HostUseEncryptionwlan0->addSelection("WPA");
HostUseEncryptionwlan0->addSelection("WEP");
- Setting* HostUseEncryption = HostUseEncryptionwlan0;
- addChild(HostUseEncryption);
- setTrigger(HostUseEncryption);
+// Setting* HostUseEncryption = HostUseEncryptionwlan0;
+// addChild(HostUseEncryption);
+// setTrigger(HostUseEncryption);
- HostLineEdit *Hostkeywlan0 = new HostLineEdit("Hostkeywlan0");
- Hostkeywlan0->setLabel(QObject::tr("key"));
+ HostTextEditSetting *Hostkeywlan0 = new HostTextEditSetting("Hostkeywlan0");
+ Hostkeywlan0->setLabel(QObject::tr("Encryption Key"));
Hostkeywlan0->setHelpText(QObject::tr("Key to use for encryption"));
-
- ConfigurationGroup* settings = new GridConfigurationGroup(1,false);
- settings->addChild(Hostkeywlan0);
- addTarget("none", new GridConfigurationGroup(1,false));
- addTarget("WPA", settings);
- addTarget("WEP", settings);
+ addChild(Hostkeywlan0);
};
};
-NetworkSettingswlan0::NetworkSettingswlan0():
- TriggeredConfigurationGroup(false,false,false,false) {
+NetworkSettingswlan0::NetworkSettingswlan0()
+{
setLabel(QObject::tr("Network Settings"));
- HostIPwlan0 = new HostLineEdit("HostIPwlan0");
- HostIPwlan0->setLabel(QObject::tr("Ip address"));
+ HostIPwlan0 = new HostTextEditSetting("HostIPwlan0");
+ HostIPwlan0->setLabel(QObject::tr("IP Address"));
HostIPwlan0->setValue("192.168.1.12");
HostIPwlan0->setHelpText(QObject::tr("IP address of the new installation"));
- HostNETMASKwlan0 = new HostComboBox("HostNETMASKwlan0");
+ HostNETMASKwlan0 = new HostComboBoxSetting("HostNETMASKwlan0");
HostNETMASKwlan0->setLabel(QObject::tr("Netmask"));
HostNETMASKwlan0->addSelection("/0 0.0.0.0");
HostNETMASKwlan0->addSelection("/1 128.0.0.0");
@@ -1733,64 +1689,65 @@ NetworkSettingswlan0::NetworkSettingswlan0():
HostNETMASKwlan0->setHelpText(QObject::tr("Netmask"));
HostNETMASKwlan0->setValue(24);
- HostGWwlan0 = new HostLineEdit("HostGWwlan0");
+ HostGWwlan0 = new HostTextEditSetting("HostGWwlan0");
HostGWwlan0->setLabel(QObject::tr("Gateway"));
HostGWwlan0->setValue("192.168.1.1");
HostGWwlan0->setHelpText(QObject::tr("This is the default route"));
-
- HostDNSwlan0 = new HostLineEdit("HostDNSwlan0");
+ HostDNSwlan0 = new HostTextEditSetting("HostDNSwlan0");
HostDNSwlan0->setLabel(QObject::tr("Name server"));
HostDNSwlan0->setValue("192.168.1.1");
HostDNSwlan0->setHelpText(QObject::tr("Name server"));
-
- HostActiveonbootwlan0 = new HostCheckBox("HostActiveonbootwlan0");
+ HostActiveonbootwlan0 = new HostCheckBoxSetting("HostActiveonbootwlan0");
HostActiveonbootwlan0->setLabel(QObject::tr("Active"));
HostActiveonbootwlan0->setValue(false);
HostActiveonbootwlan0->setHelpText(QObject::tr("Network is started on boot"));
- HostDefaultwlan0 = new HostCheckBox("HostDefaultwlan0");
+ HostDefaultwlan0 = new HostCheckBoxSetting("HostDefaultwlan0");
HostDefaultwlan0->setLabel(QObject::tr("Default"));
HostDefaultwlan0->setValue(false);
HostDefaultwlan0->setHelpText(QObject::tr("Will be used as the primary interface"));
- connect(HostDefaultwlan0, SIGNAL(valueChanged(bool)), this, SLOT(wlan0_disable_others()));
+ connect(HostDefaultwlan0, SIGNAL(valueChanged(bool)), this,
+ SLOT(wlan0_disable_others()));
- HostUseDHCPwlan0 = new HostCheckBox("HostUseDHCPwlan0");
- HostUseDHCPwlan0 ->setLabel(QObject::tr("Static ip address"));
+ HostUseDHCPwlan0 = new HostCheckBoxSetting("HostUseDHCPwlan0");
+ HostUseDHCPwlan0 ->setLabel(QObject::tr("Static IP Address"));
HostUseDHCPwlan0 ->setValue(false);
HostUseDHCPwlan0 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used."));
- wirelessbuttonwlan0 = new TransButtonSetting();
- wirelessbuttonwlan0->setLabel(tr("Wireless Settings"));
- connect(wirelessbuttonwlan0, SIGNAL(pressed()), this, SLOT(wlan0_wireless_settings()));
+ wirelessbuttonwlan0 = new ButtonStandardSetting("Wireless Settings");
+ connect(wirelessbuttonwlan0, SIGNAL(pressed()), this,
+ SLOT(wlan0_wireless_settings()));
- ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false);
- settings1->addChild(HostActiveonbootwlan0);
- settings1->addChild(HostDefaultwlan0);
- settings1-> addChild(wirelessbuttonwlan0);
- addChild(settings1);
+// ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false)
+ addChild(HostActiveonbootwlan0);
+ addChild(HostDefaultwlan0);
+ addChild(wirelessbuttonwlan0);
+// addChild(settings1);
- Setting* dhcpEnabled = HostUseDHCPwlan0;
- addChild(dhcpEnabled);
- setTrigger(dhcpEnabled);
+// Setting* dhcpEnabled = HostUseDHCPwlan0;
+ addChild(HostUseDHCPwlan0);
+// setTrigger(dhcpEnabled);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
- settings->addChild(HostIPwlan0);
- settings->addChild(HostNETMASKwlan0);
- settings->addChild(HostGWwlan0);
- settings->addChild(HostDNSwlan0);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
+ HostUseDHCPwlan0->addTargetedChild("1", HostIPwlan0);
+ HostUseDHCPwlan0->addTargetedChild("1", HostNETMASKwlan0);
+ HostUseDHCPwlan0->addTargetedChild("1", HostGWwlan0);
+ HostUseDHCPwlan0->addTargetedChild("1", HostDNSwlan0);
- addTarget("0", new VerticalConfigurationGroup(false,false,false,false));
- addTarget("1", settings);
+// addTarget("0", new VerticalConfigurationGroup(false,false,false,false));
+// addTarget("1", settings);
};
Wlan0options::Wlan0options()
{
- VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
- rec->setLabel(QObject::tr("Wireless configuration for wlan0"));
+// VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
+ GroupSetting* rec = new GroupSetting;
+ rec->setLabel(QObject::tr("Wireless Configuration for wlan0"));
+ //rec->setUseLabel(true);
rec->addChild(new wlan0_settings);
addChild(rec);
}
@@ -1804,75 +1761,63 @@ void NetworkSettingswlan0::wlan0_disable_others()
hostparm.ThisHostDefaultInterface="wlan0";
emit wlan0_is_default();
}
-
-
-
}
+
void NetworkSettingswlan0::wlan0_disabled()
{
HostDefaultwlan0->setValue(0);
}
-
void NetworkSettingswlan0::wlan0_wireless_settings(void)
{
Wlan0options wlan0screen;
- wlan0screen.exec();
+// wlan0screen.exec();
}
+
void NetworkSettingswlan0::wlan0_wireless_disable()
{
wirelessbuttonwlan0->setEnabled(false);
}
-
-class wlan1_settings: public TriggeredConfigurationGroup {
+class wlan1_settings: public GroupSetting {
public:
- wlan1_settings():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
-
- HostComboBox *HOSTESSIDwlan1 = new HostComboBox("HOSTESSIDwlan1",true);
+ wlan1_settings(): GroupSetting()
+ {
+ HostComboBoxSetting *HOSTESSIDwlan1 = new HostComboBoxSetting("HOSTESSIDwlan1");
HOSTESSIDwlan1->setLabel(QObject::tr("ESSID"));
HOSTESSIDwlan1->addSelection("MythVantage");
HOSTESSIDwlan1->addSelection("home_lan");
HOSTESSIDwlan1->addSelection("type_it_here");
HOSTESSIDwlan1->setHelpText(QObject::tr("ESSID"));
addChild(HOSTESSIDwlan1);
-
-
- HostComboBox *HostUseEncryptionwlan1 = new HostComboBox("HostUseEncryptionwlan1");
+ HostComboBoxSetting *HostUseEncryptionwlan1 = new HostComboBoxSetting("HostUseEncryptionwlan1");
HostUseEncryptionwlan1->setLabel(QObject::tr("Encryption"));
HostUseEncryptionwlan1->setHelpText(QObject::tr("WPA, WEP, none"));
HostUseEncryptionwlan1->addSelection("none");
HostUseEncryptionwlan1->addSelection("WPA");
HostUseEncryptionwlan1->addSelection("WEP");
- Setting* HostUseEncryption = HostUseEncryptionwlan1;
- addChild(HostUseEncryption);
- setTrigger(HostUseEncryption);
+// Setting* HostUseEncryption = HostUseEncryptionwlan1;
+// addChild(HostUseEncryption);
+// setTrigger(HostUseEncryption);
- HostLineEdit *Hostkeywlan1 = new HostLineEdit("Hostkeywlan1");
- Hostkeywlan1->setLabel(QObject::tr("key"));
+ HostTextEditSetting *Hostkeywlan1 = new HostTextEditSetting("Hostkeywlan1");
+ Hostkeywlan1->setLabel(QObject::tr("Encryption Key"));
Hostkeywlan1->setHelpText(QObject::tr("Key to use for encryption"));
-
- ConfigurationGroup* settings = new GridConfigurationGroup(1,false);
- settings->addChild(Hostkeywlan1);
- addTarget("none", new GridConfigurationGroup(1,false));
- addTarget("WPA", settings);
- addTarget("WEP", settings);
-
+ addChild(Hostkeywlan1);
};
};
-NetworkSettingswlan1::NetworkSettingswlan1():
- TriggeredConfigurationGroup(false,false,false,false) {
+NetworkSettingswlan1::NetworkSettingswlan1()
+{
setLabel(QObject::tr("Network Settings"));
- HostIPwlan1 = new HostLineEdit("HostIPwlan1");
- HostIPwlan1->setLabel(QObject::tr("Ip address"));
+ HostIPwlan1 = new HostTextEditSetting("HostIPwlan1");
+ HostIPwlan1->setLabel(QObject::tr("IP Address"));
HostIPwlan1->setValue("192.168.1.12");
HostIPwlan1->setHelpText(QObject::tr("IP address of the new installation"));
- HostNETMASKwlan1 = new HostComboBox("HostNETMASKwlan1");
+ HostNETMASKwlan1 = new HostComboBoxSetting("HostNETMASKwlan1");
HostNETMASKwlan1->setLabel(QObject::tr("Netmask"));
HostNETMASKwlan1->addSelection("/0 0.0.0.0");
HostNETMASKwlan1->addSelection("/1 128.0.0.0");
@@ -1910,64 +1855,64 @@ NetworkSettingswlan1::NetworkSettingswlan1():
HostNETMASKwlan1->setHelpText(QObject::tr("Netmask"));
HostNETMASKwlan1->setValue(24);
- HostGWwlan1 = new HostLineEdit("HostGWwlan1");
+ HostGWwlan1 = new HostTextEditSetting("HostGWwlan1");
HostGWwlan1->setLabel(QObject::tr("Gateway"));
HostGWwlan1->setValue("192.168.1.1");
HostGWwlan1->setHelpText(QObject::tr("This is the default route"));
-
- HostDNSwlan1 = new HostLineEdit("HostDNSwlan1");
+ HostDNSwlan1 = new HostTextEditSetting("HostDNSwlan1");
HostDNSwlan1->setLabel(QObject::tr("Name server"));
HostDNSwlan1->setValue("192.168.1.1");
HostDNSwlan1->setHelpText(QObject::tr("Name server"));
-
- HostActiveonbootwlan1 = new HostCheckBox("HostActiveonbootwlan1");
+ HostActiveonbootwlan1 = new HostCheckBoxSetting("HostActiveonbootwlan1");
HostActiveonbootwlan1->setLabel(QObject::tr("Active"));
HostActiveonbootwlan1->setValue(false);
HostActiveonbootwlan1->setHelpText(QObject::tr("Network is started on boot"));
- HostUseDHCPwlan1 = new HostCheckBox("HostUseDHCPwlan1");
+ HostUseDHCPwlan1 = new HostCheckBoxSetting("HostUseDHCPwlan1");
HostUseDHCPwlan1 ->setLabel(QObject::tr("Static ip address"));
HostUseDHCPwlan1 ->setValue(false);
HostUseDHCPwlan1 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used."));
- wirelessbuttonwlan1 = new TransButtonSetting();
- wirelessbuttonwlan1->setLabel(tr("Wireless Settings"));
- connect(wirelessbuttonwlan1, SIGNAL(pressed()), this, SLOT(wlan1_wireless_settings()));
+ wirelessbuttonwlan1 = new ButtonStandardSetting("Wireless Settings");
+ connect(wirelessbuttonwlan1, SIGNAL(pressed()), this,
+ SLOT(wlan1_wireless_settings()));
- HostDefaultwlan1 = new HostCheckBox("HostDefaultwlan1");
+ HostDefaultwlan1 = new HostCheckBoxSetting("HostDefaultwlan1");
HostDefaultwlan1->setLabel(QObject::tr("Default"));
HostDefaultwlan1->setValue(false);
HostDefaultwlan1->setHelpText(QObject::tr("Will be used as the primary interface"));
- connect(HostDefaultwlan1, SIGNAL(valueChanged(bool)), this, SLOT(wlan1_disable_others()));
-
+ connect(HostDefaultwlan1, SIGNAL(valueChanged(bool)), this,
+ SLOT(wlan1_disable_others()));
- ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false, false);
- settings1->addChild(HostActiveonbootwlan1);
- settings1->addChild(HostDefaultwlan1);
- settings1-> addChild(wirelessbuttonwlan1);
+// ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false, false);
+ addChild(HostActiveonbootwlan1);
+ addChild(HostDefaultwlan1);
+ addChild(wirelessbuttonwlan1);
- addChild(settings1);
+// addChild(settings1);
- Setting* dhcpEnabled = HostUseDHCPwlan1;
- addChild(dhcpEnabled);
- setTrigger(dhcpEnabled);
+// Setting* dhcpEnabled = HostUseDHCPwlan1;
+ addChild(HostDefaultwlan1);
+// setTrigger(dhcpEnabled);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
- settings->addChild(HostIPwlan1);
- settings->addChild(HostNETMASKwlan1);
- settings->addChild(HostGWwlan1);
- settings->addChild(HostDNSwlan1);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
+ HostDefaultwlan1->addTargetedChild("1", HostIPwlan1);
+ HostDefaultwlan1->addTargetedChild("1", HostNETMASKwlan1);
+ HostDefaultwlan1->addTargetedChild("1", HostGWwlan1);
+ HostDefaultwlan1->addTargetedChild("1", HostDNSwlan1);
- addTarget("0", new VerticalConfigurationGroup(true));
- addTarget("1", settings);
+// addTarget("0", new VerticalConfigurationGroup(true));
+// addTarget("1", settings);
};
wlan1options::wlan1options()
{
- VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
- rec->setLabel(QObject::tr("Wireless configuration for wlan1"));
+// VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
+ GroupSetting* rec = new GroupSetting;
+ rec->setLabel(QObject::tr("Wireless Configuration for wlan1"));
+ //rec->setUseLabel(true);
rec->addChild(new wlan1_settings);
addChild(rec);
}
@@ -1986,6 +1931,7 @@ void NetworkSettingswlan1::wlan1_disabled()
{
HostDefaultwlan1->setValue(0);
}
+
void NetworkSettingswlan1::wlan1_wireless_disable()
{
wirelessbuttonwlan1->setEnabled(false);
@@ -1994,17 +1940,16 @@ void NetworkSettingswlan1::wlan1_wireless_disable()
void NetworkSettingswlan1::wlan1_wireless_settings(void)
{
wlan1options wlan1screen;
- wlan1screen.exec();
+// wlan1screen.exec();
}
//---
-class ath0_settings: public TriggeredConfigurationGroup {
+class ath0_settings: public GroupSetting {
public:
- ath0_settings():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
-
- HostComboBox *HOSTESSIDath0 = new HostComboBox("HOSTESSIDath0",true);
+ ath0_settings(): GroupSetting()
+ {
+ HostComboBoxSetting *HOSTESSIDath0 = new HostComboBoxSetting("HOSTESSIDath0",true);
HOSTESSIDath0->setLabel(QObject::tr("ESSID"));
HOSTESSIDath0->addSelection("MythVantage");
HOSTESSIDath0->addSelection("home_lan");
@@ -2012,41 +1957,34 @@ public:
HOSTESSIDath0->setHelpText(QObject::tr("ESSID"));
addChild(HOSTESSIDath0);
- HostComboBox *HostUseEncryptionath0 = new HostComboBox("HostUseEncryptionath0");
+ HostComboBoxSetting *HostUseEncryptionath0 = new HostComboBoxSetting("HostUseEncryptionath0");
HostUseEncryptionath0->setLabel(QObject::tr("Encryption"));
HostUseEncryptionath0->setHelpText(QObject::tr("WPA, WEP, none"));
HostUseEncryptionath0->addSelection("none");
HostUseEncryptionath0->addSelection("WPA");
HostUseEncryptionath0->addSelection("WEP");
- Setting* HostUseEncryption = HostUseEncryptionath0;
- addChild(HostUseEncryption);
- setTrigger(HostUseEncryption);
+// Setting* HostUseEncryption = HostUseEncryptionath0;
+// addChild(HostUseEncryption);
+// setTrigger(HostUseEncryption);
- HostLineEdit *Hostkeyath0 = new HostLineEdit("Hostkeyath0");
- Hostkeyath0->setLabel(QObject::tr("key"));
+ HostTextEditSetting *Hostkeyath0 = new HostTextEditSetting("Hostkeyath0");
+ Hostkeyath0->setLabel(QObject::tr("Encryption Key"));
Hostkeyath0->setHelpText(QObject::tr("Key to use for encryption"));
-
- ConfigurationGroup* settings = new GridConfigurationGroup(1,false);
- settings->addChild(Hostkeyath0);
- addTarget("none", new GridConfigurationGroup(1,false));
- addTarget("WPA", settings);
- addTarget("WEP", settings);
- //-
-
+ addChild(Hostkeyath0);
};
};
-NetworkSettingsath0::NetworkSettingsath0():
- TriggeredConfigurationGroup(false,false,false,false) {
+NetworkSettingsath0::NetworkSettingsath0()
+{
setLabel(QObject::tr("Network Settings"));
- HostLineEdit *HostIPath0 = new HostLineEdit("HostIPath0");
- HostIPath0->setLabel(QObject::tr("Ip address"));
+ HostTextEditSetting *HostIPath0 = new HostTextEditSetting("HostIPath0");
+ HostIPath0->setLabel(QObject::tr("IP Address"));
HostIPath0->setValue("192.168.1.12");
HostIPath0->setHelpText(QObject::tr("IP address of the new installation"));
- HostComboBox *HostNETMASKath0 = new HostComboBox("HostNETMASKath0");
+ HostComboBoxSetting *HostNETMASKath0 = new HostComboBoxSetting("HostNETMASKath0");
HostNETMASKath0->setLabel(QObject::tr("Netmask"));
HostNETMASKath0->addSelection("/0 0.0.0.0");
HostNETMASKath0->addSelection("/1 128.0.0.0");
@@ -2084,63 +2022,65 @@ NetworkSettingsath0::NetworkSettingsath0():
HostNETMASKath0->setHelpText(QObject::tr("Netmask"));
HostNETMASKath0->setValue(24);
- HostLineEdit *HostGWath0 = new HostLineEdit("HostGWath0");
+ HostTextEditSetting *HostGWath0 = new HostTextEditSetting("HostGWath0");
HostGWath0->setLabel(QObject::tr("Gateway"));
HostGWath0->setValue("192.168.1.1");
HostGWath0->setHelpText(QObject::tr("This is the default route"));
- HostLineEdit *HostDNSath0 = new HostLineEdit("HostDNSath0");
+ HostTextEditSetting *HostDNSath0 = new HostTextEditSetting("HostDNSath0");
HostDNSath0->setLabel(QObject::tr("Name server"));
HostDNSath0->setValue("192.168.1.1");
HostDNSath0->setHelpText(QObject::tr("Name server"));
- HostCheckBox *HostActiveonbootath0 = new HostCheckBox("HostActiveonbootath0");
+ HostCheckBoxSetting *HostActiveonbootath0 = new HostCheckBoxSetting("HostActiveonbootath0");
HostActiveonbootath0->setLabel(QObject::tr("Active"));
HostActiveonbootath0->setValue(false);
HostActiveonbootath0->setHelpText(QObject::tr("Network is started on boot"));
- HostDefaultath0 = new HostCheckBox("HostDefaultath0");
+ HostDefaultath0 = new HostCheckBoxSetting("HostDefaultath0");
HostDefaultath0->setLabel(QObject::tr("Default"));
HostDefaultath0->setValue(false);
HostDefaultath0->setHelpText(QObject::tr("Will be used as the primary interface"));
- connect(HostDefaultath0, SIGNAL(valueChanged(bool)), this, SLOT(ath0_disable_others()));
+ connect(HostDefaultath0, SIGNAL(valueChanged(bool)), this,
+ SLOT(ath0_disable_others()));
- HostCheckBox *HostUseDHCPath0 = new HostCheckBox("HostUseDHCPath0");
+ HostCheckBoxSetting *HostUseDHCPath0 = new HostCheckBoxSetting("HostUseDHCPath0");
HostUseDHCPath0 ->setLabel(QObject::tr("Static ip address"));
HostUseDHCPath0 ->setValue(false);
HostUseDHCPath0 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used."));
- wirelessbuttonath0 = new TransButtonSetting();
- wirelessbuttonath0->setLabel(tr("Wireless Settings"));
- connect(wirelessbuttonath0, SIGNAL(pressed()), this, SLOT(ath0_wireless_settings()));
+ wirelessbuttonath0 = new ButtonStandardSetting("Wireless Settings");
+ connect(wirelessbuttonath0, SIGNAL(pressed()), this,
+ SLOT(ath0_wireless_settings()));
- ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false);
- settings1->addChild(HostActiveonbootath0);
- settings1->addChild(HostDefaultath0);
- settings1-> addChild(wirelessbuttonath0);
+// ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false);
+ addChild(HostActiveonbootath0);
+ addChild(HostDefaultath0);
+ addChild(wirelessbuttonath0);
- addChild(settings1);
+// addChild(settings1);
- Setting* dhcpEnabled = HostUseDHCPath0;
- addChild(dhcpEnabled);
- setTrigger(dhcpEnabled);
+// Setting* dhcpEnabled = HostUseDHCPath0;
+ addChild(HostUseDHCPath0);
+// setTrigger(dhcpEnabled);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
- settings->addChild(HostIPath0);
- settings->addChild(HostNETMASKath0);
- settings->addChild(HostGWath0);
- settings->addChild(HostDNSath0);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
+ HostUseDHCPath0->addTargetedChild("1", HostIPath0);
+ HostUseDHCPath0->addTargetedChild("1", HostNETMASKath0);
+ HostUseDHCPath0->addTargetedChild("1", HostGWath0);
+ HostUseDHCPath0->addTargetedChild("1", HostDNSath0);
- addTarget("0", new VerticalConfigurationGroup(false,false,false,false));
- addTarget("1", settings);
+// addTarget("0", new VerticalConfigurationGroup(false,false,false,false));
+// addTarget("1", settings);
};
ath0options::ath0options()
{
-
- VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
- rec->setLabel(QObject::tr("Wireless configuration for ath0"));
+// VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false);
+ GroupSetting* rec = new GroupSetting;
+ rec->setLabel(QObject::tr("Wireless Configuration for ath0"));
+ //rec->setUseLabel(true);
rec->addChild(new ath0_settings);
addChild(rec);
}
@@ -2155,6 +2095,7 @@ void NetworkSettingsath0::ath0_disable_others()
emit ath0_is_default();
}
}
+
void NetworkSettingsath0::ath0_disabled()
{
HostDefaultath0->setValue(0);
@@ -2163,7 +2104,7 @@ void NetworkSettingsath0::ath0_disabled()
void NetworkSettingsath0::ath0_wireless_settings(void)
{
ath0options ath0screen;
- ath0screen.exec();
+// ath0screen.exec();
}
void NetworkSettingsath0::ath0_wireless_disable()
@@ -2175,14 +2116,15 @@ void NetworkSettingsath0::ath0_wireless_disable()
//--
class NetworkSettingsFrame:
- public TriggeredConfigurationGroup {
+ public GroupSetting {
public:
- NetworkSettingsFrame():
- TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) {
- setLabel(QObject::tr("Network Settings (1/2)"));
- Setting* netdevice = HostNetDevice();
+ NetworkSettingsFrame(): GroupSetting()
+ {
+ setLabel(QObject::tr("Network Settings"));
+// Setting* netdevice = HostNetDevice();
+ HostComboBoxSetting* netdevice = HostNetDevice();
addChild(netdevice);
- setTrigger(netdevice);
+// setTrigger(netdevice);
NetworkSettingswlan0 *Nwlan0 = new NetworkSettingswlan0 ;
NetworkSettingswlan1 *Nwlan1 = new NetworkSettingswlan1 ;
@@ -2267,67 +2209,67 @@ public:
connect(Nath0, SIGNAL(ath0_is_default(void)), Neth0, SLOT(eth0_disabled()));
- HostLineEdit *HostMTUeth0 = new HostLineEdit("HostMTUeth0");
+ HostTextEditSetting *HostMTUeth0 = new HostTextEditSetting("HostMTUeth0");
HostMTUeth0->setLabel(QObject::tr("MTU"));
HostMTUeth0->setValue("");
HostMTUeth0->setHelpText(QObject::tr("Leave this blank for default values. Changing this setting can have adverse affects, use with caution. Not all values will be supported by the device."));
- ConfigurationGroup* settingseth0 = new GridConfigurationGroup(1,false, false, false, false);
- settingseth0->addChild(Neth0);
- settingseth0->addChild(HostMTUeth0);
+// ConfigurationGroup* settingseth0 = new GridConfigurationGroup(1,false, false, false, false);
+ addChild(Neth0);
+ addChild(HostMTUeth0);
- HostLineEdit *HostMTUeth1 = new HostLineEdit("HostMTUeth1");
+ HostTextEditSetting *HostMTUeth1 = new HostTextEditSetting("HostMTUeth1");
HostMTUeth1->setLabel(QObject::tr("MTU"));
HostMTUeth1->setValue("");
HostMTUeth1->setHelpText(QObject::tr("Leave this blank for default values. Changing this setting can have adverse affects, use with caution. Not all values will be supported by the device."));
- ConfigurationGroup* settingseth1 = new GridConfigurationGroup(1,false, false, true, true);
- settingseth1->addChild(Neth1);
- settingseth1->addChild(HostMTUeth1);
+// ConfigurationGroup* settingseth1 = new GridConfigurationGroup(1,false, false, true, true);
+ addChild(Neth1);
+ addChild(HostMTUeth1);
- HostLineEdit *HostMTUwlan0 = new HostLineEdit("HostMTUwlan0");
+ HostTextEditSetting *HostMTUwlan0 = new HostTextEditSetting("HostMTUwlan0");
HostMTUwlan0->setLabel(QObject::tr("MTU"));
HostMTUwlan0->setValue("");
HostMTUwlan0->setHelpText(QObject::tr("Leave this blank for default values. Changing this setting can have adverse affects, use with caution. Not all values will be supported by the device."));
- ConfigurationGroup* settingswlan0 = new GridConfigurationGroup(1,false, false, false, false);
- settingswlan0->addChild(Nwlan0);
- settingswlan0->addChild(HostMTUwlan0);
+// ConfigurationGroup* settingswlan0 = new GridConfigurationGroup(1,false, false, false, false);
+ addChild(Nwlan0);
+ addChild(HostMTUwlan0);
- HostLineEdit *HostMTUwlan1 = new HostLineEdit("HostMTUwlan1");
+ HostTextEditSetting *HostMTUwlan1 = new HostTextEditSetting("HostMTUwlan1");
HostMTUwlan1->setLabel(QObject::tr("MTU"));
HostMTUwlan1->setValue("");
HostMTUwlan1->setHelpText(QObject::tr("Leave this blank for default values. Changing this setting can have adverse affects, use with caution. Not all values will be supported by the device."));
- ConfigurationGroup* settingswlan1 = new GridConfigurationGroup(1,false, false, false, false);
- settingswlan1->addChild(Nwlan1);
- settingswlan1->addChild(HostMTUwlan1);
+// ConfigurationGroup* settingswlan1 = new GridConfigurationGroup(1,false, false, false, false);
+ addChild(Nwlan1);
+ addChild(HostMTUwlan1);
- HostLineEdit *HostMTUath0 = new HostLineEdit("HostMTUath0");
+ HostTextEditSetting *HostMTUath0 = new HostTextEditSetting("HostMTUath0");
HostMTUath0->setLabel(QObject::tr("MTU"));
HostMTUath0->setValue("");
HostMTUath0->setHelpText(QObject::tr("Leave this blank for default values. Changing this setting can have adverse affects, use with caution. Not all values will be supported by the device."));
- ConfigurationGroup* settingsath0 = new GridConfigurationGroup(1,false, false, false, false);
- settingsath0->addChild(Nath0);
- settingsath0->addChild(HostMTUath0);
-
+// ConfigurationGroup* settingsath0 = new GridConfigurationGroup(1,false, false, false, false);
+ addChild(Nath0);
+ addChild(HostMTUath0);
+/*
addTarget("wlan0", settingswlan0);
addTarget("wlan1", settingswlan1);
addTarget("eth0", settingseth0);
addTarget("eth1", settingseth1);
addTarget("ath0", settingsath0);
+*/
};
};
-NetworkOptionsFrame::NetworkOptionsFrame():
- VerticalConfigurationGroup(false,false,false,false)
+NetworkOptionsFrame::NetworkOptionsFrame(): GroupSetting()
{
setLabel(QObject::tr("Network Settings (2/2)"));
- HostMyhostname = new HostComboBox("HostMyhostname",true);
+ HostMyhostname = new HostComboBoxSetting("HostMyhostname",true);
HostMyhostname->setLabel(QObject::tr("Hostname"));
HostMyhostname->addSelection("Envy");
HostMyhostname->addSelection("Greed");
@@ -2346,22 +2288,19 @@ NetworkOptionsFrame::NetworkOptionsFrame():
HostMyhostname->addSelection("type_hostname_here");
HostMyhostname->setHelpText(QObject::tr("The hostname must resolve via DNS. If DNS is not available then append .local to the end of the hostname. When using .local, names must not include an additional ."));
- FetchDhcpHostnameButton = new TransButtonSetting();
- FetchDhcpHostnameButton ->setLabel(tr("Ask DHCP server for hostname"));
- connect(FetchDhcpHostnameButton, SIGNAL(pressed()), this, SLOT(fetch_hostname()));
+ FetchDhcpHostnameButton = new ButtonStandardSetting("Ask DHCP Server for Hostname");
+ connect(FetchDhcpHostnameButton, SIGNAL(pressed()), this,
+ SLOT(fetch_hostname()));
- networklabel = new TransLabelSetting();
QString labelstring;
- labelstring = "Will use " + hostparm.ThisHostDefaultInterface + " to check for hostname";
- networklabel->setValue(labelstring);
+ labelstring = "Will use " + hostparm.ThisHostDefaultInterface + " to check for hostname.";
+ FetchDhcpHostnameButton->setHelpText(labelstring);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
- settings->addChild(HostMyhostname);
- settings->addChild(networklabel);
- settings->addChild(FetchDhcpHostnameButton);
-
- addChild(settings);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false);
+ addChild(HostMyhostname);
+ addChild(FetchDhcpHostnameButton);
+// addChild(settings);
}
QString NetworkOptionsFrame::find_hostname()
@@ -2402,23 +2341,25 @@ void NetworkOptionsFrame::fetch_hostname()
new_host=find_hostname();
if ( new_host != "null" )
{
- networklabel->setValue("Updated the hostname.");
+// networklabel->setValue("Updated the hostname.");
+// FIXME Need dialog ok box
HostMyhostname->addSelection(new_host);
HostMyhostname->setValue(new_host);
}
- else
- networklabel->setValue("DHCP server did not return a hostname.");
+// else
+// FIXME Need dialog ok box
+// networklabel->setValue("DHCP server did not return a hostname.");
}
-
-static HostCheckBox *HostAutodown()
+/*
+static HostCheckBoxSetting *HostAutodown()
{
- HostCheckBox *gc = new HostCheckBox("HostAutodown");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostAutodown");
gc->setLabel(QObject::tr("Turn off machine at a specified time"));
gc->setValue(false);
gc->setHelpText(QObject::tr("Will turn off this system."));
return gc;
};
-
+*/
//static HostSpinBox *HostWakeupTime()
//{
// HostSpinBox *gc = new HostSpinBox("HostWakeupTime", -1, 23, 1, true);
@@ -2427,7 +2368,7 @@ static HostCheckBox *HostAutodown()
// gc->setHelpText(QObject::tr("Select the hour to auto poweron this system. Use -1 to disable" ));
// return gc;
//}
-
+/*
static HostSpinBox *HostShutdownTime()
{
HostSpinBox *gc = new HostSpinBox("HostShutdownTime", -1, 23, 1, true);
@@ -2437,29 +2378,29 @@ static HostSpinBox *HostShutdownTime()
return gc;
}
-static HostSpinBox *HostShutdownTime2()
+static HostSpinBoxSetting *HostShutdownTime2()
{
- HostSpinBox *gc = new HostSpinBox("HostShutdownTime2", -1, 23, 1, true);
+ HostSpinBoxSetting *gc = new HostSpinBoxSetting("HostShutdownTime2", -1, 23, 1, true);
gc->setLabel(QObject::tr("2nd auto Shutdown time"));
gc->setValue(2);
gc->setHelpText(QObject::tr("Select the hour to poweroff this syste. Times are in 24hour format. Use -1 to disable" ));
return gc;
}
+*/
-
-//static HostCheckBox *HostUseWOL()
+//static HostCheckBoxSetting *HostUseWOL()
//{
-// HostCheckBox *gc = new HostCheckBox("HostUseWOL");
+// HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostUseWOL");
// gc->setLabel(QObject::tr("Use Wake on Lan to turn on system"));
// gc->setValue(true);
// gc->setHelpText(QObject::tr("Unless you know what your doing leave it checked"));
// return gc;
//};
-//static HostCheckBox *HostUseNVRAM()
+//static HostCheckBoxSetting *HostUseNVRAM()
//{
-// HostCheckBox *gc = new HostCheckBox("HostUseNVRAM");
+// HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostUseNVRAM");
// gc->setLabel(QObject::tr("Use nvram to turn on system"));
// gc->setValue(true);
// gc->setHelpText(QObject::tr("Leaved checked unless nvram causes problems."));
@@ -2467,9 +2408,9 @@ static HostSpinBox *HostShutdownTime2()
//};
-static HostCheckBox *HostUseXLargeMouse()
+static HostCheckBoxSetting *HostUseXLargeMouse()
{
- HostCheckBox *gc = new HostCheckBox("HostUseXLargeMouse");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostUseXLargeMouse");
gc->setLabel(QObject::tr("Large Mouse Pointer"));
gc->setValue(true);
gc->setHelpText(QObject::tr("Use an extra large mouse pointer. This takes effect the next time the frontend is started."));
@@ -2477,12 +2418,12 @@ static HostCheckBox *HostUseXLargeMouse()
};
-
-class WakeSettings: public TriggeredConfigurationGroup {
+/*
+class WakeSettings: public GroupSetting {
public:
WakeSettings():
- TriggeredConfigurationGroup(true) {
+ GroupSetting(true) {
setLabel(QObject::tr("Shutdown Settings"));
Setting* Autodown = HostAutodown();
addChild(Autodown);
@@ -2497,78 +2438,78 @@ public:
addTarget("1", settings);
};
};
+*/
-class Frontend_settings_group: public TriggeredConfigurationGroup {
+class Frontend_settings_group: public GroupSetting {
public:
- Frontend_settings_group():
- TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) {
- Setting* fe = HostRunFrontend();
+ Frontend_settings_group(): GroupSetting()
+{
+ HostCheckBoxSetting* fe = HostRunFrontend();
addChild(fe);
- setTrigger(fe);
- ConfigurationGroup* setting1 = new GridConfigurationGroup(2,false);
+// ConfigurationGroup* setting1 = new GridConfigurationGroup(2,false);
- setting1->addChild(HostUseXLargeMouse());
- setting1->addChild(HostUsemythfrontend());
+ fe->addTargetedChild("1", HostUseXLargeMouse());
+ fe->addTargetedChild("1", HostUsemythfrontend());
// setting1->addChild(HostXres());
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false);
- settings->addChild(setting1);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false);
+// settings->addChild(setting1);
// settings->addChild(new HostRemoteType);
- addTarget("0", new VerticalConfigurationGroup(false));
- addTarget("1", settings);
+// addTarget("0", new VerticalConfigurationGroup(false));
+// addTarget("1", settings);
};
};
-SystemtypeGroup::SystemtypeGroup(): TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) {
+SystemtypeGroup::SystemtypeGroup()
+{
setLabel(QObject::tr("System Type"));
- HostSystemType = new HostComboBox("HostSystemType");
+ HostSystemType = new HostComboBoxSetting("HostSystemType");
HostSystemType->setLabel(QObject::tr("System Type"));
HostSystemType->addSelection("Master_backend");
HostSystemType->addSelection("Frontend_only");
// HostSystemType->addSelection("Standalone");
HostSystemType->addSelection("Slave_backend");
- if ( ((gCoreContext->GetSetting("HostaccesshostypeSystemtype")) == "0" ))
+ if ( ((gCoreContext->GetSetting("HostaccesshostypeSystemtype")) == "0" ) )
HostSystemType->setEnabled(false);
addChild(HostSystemType);
- setTrigger(HostSystemType);
- ConfigurationGroup* fe1 = new GridConfigurationGroup(2,false,false,true,true);
- fe1->addChild(HostUseXLargeMouse());
- fe1->addChild(HostUsemythfrontend());
+// ConfigurationGroup* fe1 = new GridConfigurationGroup(2,false,false,true,true);
+ HostSystemType->addTargetedChild("Master_backend", HostUseXLargeMouse());
+ HostSystemType->addTargetedChild("Master_backend", HostUsemythfrontend());
- ConfigurationGroup* standalone = new VerticalConfigurationGroup(false,false,true,true);
+// ConfigurationGroup* standalone = new VerticalConfigurationGroup(false,false,true,true);
// standalone->addChild(HostXres());
//FIXME
// standalone->addChild(new HostRemoteType);
- standalone->addChild(fe1);
- ConfigurationGroup* frontend = new VerticalConfigurationGroup(false,false,true,true);
- frontend->addChild(HostMysqlserverip_listbox());
+// ConfigurationGroup* frontend = new VerticalConfigurationGroup(false,false,true,true);
+ HostSystemType->addTargetedChild("Frontend_only", HostMysqlserverip_listbox());
// frontend->addChild(HostXres());
//FIXME
// frontend->addChild(new HostRemoteType);
- frontend->addChild(fe1);
+ HostSystemType->addTargetedChild("Frontend_only", HostUseXLargeMouse());
+ HostSystemType->addTargetedChild("Frontend_only", HostUsemythfrontend());
- ConfigurationGroup* backend = new VerticalConfigurationGroup(false,false,false,false);
- backend->addChild( new Frontend_settings_group);
+// ConfigurationGroup* backend = new VerticalConfigurationGroup(false,false,false,false);
+ HostSystemType->addTargetedChild("Slave_backend", new Frontend_settings_group);
- ConfigurationGroup* slave = new VerticalConfigurationGroup(false,false,true,true);
- slave->addChild(HostMysqlserverip_listbox());
- slave->addChild( new Frontend_settings_group);
+// ConfigurationGroup* slave = new VerticalConfigurationGroup(false,false,true,true);
+ HostSystemType->addTargetedChild("Slave_backend", HostMysqlserverip_listbox());
+ HostSystemType->addTargetedChild("Slave_backend", new Frontend_settings_group);
- addTarget("Standalone", standalone);
- addTarget("Frontend_only", frontend);
- addTarget("Master_backend", backend);
- addTarget("Slave_backend", slave);
- connect(HostSystemType, SIGNAL(valueChanged(const QString&)),
- this, SLOT(SystemtypeHelp()));
+// addTarget("Standalone", standalone);
+// addTarget("Frontend_only", frontend);
+// addTarget("Master_backend", backend);
+// addTarget("Slave_backend", slave);
+// connect(HostSystemType, SIGNAL(valueChanged(const QString&)), this,
+// SLOT(SystemtypeHelp()));
};
@@ -2639,70 +2580,70 @@ void SystemtypeGroup::SystemtypeHelp(void)
//
// }
-class AdvancedSettings: public TriggeredConfigurationGroup {
+class AdvancedSettings: public GroupSetting {
public:
- AdvancedSettings():
- TriggeredConfigurationGroup(true,true,true,true,true,true,true,true)
+ AdvancedSettings(): GroupSetting()
{
-
setLabel(QObject::tr("Advanced Settings (1/2)"));
- Setting* Autodown = HostAutodown();
- setTrigger(Autodown);
- hostparm.ThisSystemType = gCoreContext->GetSetting("HostSystemType");
- ConfigurationGroup *checkbox = new GridConfigurationGroup(2,false);
- checkbox->addChild(HostServiceMythWEB());
+// Setting* Autodown = HostAutodown();
+// setTrigger(Autodown);
+ hostparm.ThisSystemType = gCoreContext->GetSetting("HostSystemType");
+// ConfigurationGroup *checkbox = new GridConfigurationGroup(2,false);
+ // addChild(HostServiceMythWEB());
// checkbox->addChild(HostServiceNFS());
- checkbox->addChild(Hostbootsplash());
- checkbox->addChild(HostncidClient());
+ // addChild(Hostbootsplash());
+ //addChild(HostncidClient());
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false);
- if ( hostparm.ThisSystemType == "Standalone" )
- {
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false);
+// if ( hostparm.ThisSystemType == "Standalone" )
+// {
// smb_busy_box();
- settings->addChild(new NCIDsettings);
+// settings->addChild(new NCIDsettings);
// settings->addChild(new SAMBAsettings);
// checkbox->addChild(HostServiceRRD() );
- settings->addChild(checkbox) ;
- }
- else if (hostparm.ThisSystemType == "Master_backend" )
+// settings->addChild(checkbox) ;
+// }
+ if ( hostparm.ThisSystemType == "Master_backend" )
{
// smb_busy_box();
// checkbox->addChild(GlobalPKG_MIRROR());
- settings->addChild(new NCIDsettings);
+ //settings->addChild(new NCIDsettings);
// settings->addChild(new SAMBAsettings);
// checkbox->addChild(HostServiceRRD() );
- settings->addChild(checkbox) ;
+ addChild(HostServiceMythWEB());
+ addChild(Hostbootsplash());
+// addChild(checkbox) ;
}
- else if (hostparm.ThisSystemType == "Frontend_only" )
+ else if ( hostparm.ThisSystemType == "Frontend_only" )
{
- settings->addChild(Hostbootsplash());
- settings->addChild(HostncidClient());
+ addChild(Hostbootsplash());
+ //settings->addChild(HostncidClient());
// settings->addChild(HostServiceRRD() );
}
- else if (hostparm.ThisSystemType == "Slave_backend" )
+ else if ( hostparm.ThisSystemType == "Slave_backend" )
{
- settings->addChild(Hostbootsplash());
- settings->addChild(HostncidClient());
+ addChild(Hostbootsplash());
+ //settings->addChild(HostncidClient());
// settings->addChild(HostServiceRRD() );
// if ( (gCoreContext->GetSetting("GlobalPKG_MIRROR")) == "1")
// settings->addChild(HostPKG_MIRROR());
};
- addTarget("", settings);
+ //addTarget("", settings);
};
};
-class AdvancedSettings_2: public TriggeredConfigurationGroup {
+class AdvancedSettings_2: public GroupSetting {
public:
- AdvancedSettings_2():
- TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) {
+ AdvancedSettings_2(): GroupSetting()
+ {
setLabel(QObject::tr("Advanced Settings (2/2)"));
- Setting* Autodown = HostAutodown();
- setTrigger(Autodown);
- hostparm.ThisSystemType = gCoreContext->GetSetting("HostSystemType");
+// Setting* Autodown = HostAutodown();
+// setTrigger(Autodown);
+ hostparm.ThisSystemType = gCoreContext->GetSetting("HostSystemType");
/*
ConfigurationGroup *checkbox = new GridConfigurationGroup(2,false);
checkbox->addChild(HostServiceMythWEB());
@@ -2710,76 +2651,76 @@ public:
checkbox->addChild(Hostbootsplash());
checkbox->addChild(HostncidClient());*/
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false);
if ( hostparm.ThisSystemType == "Standalone" )
{
- settings->addChild(HostRunDHCP());
- settings->addChild(HostBEWait());
+ addChild(HostRunDHCP());
+ addChild(HostBEWait());
//settings->addChild(new Evroutersettings);
}
else if (hostparm.ThisSystemType == "Master_backend" )
{
- settings->addChild(new Backupsettings);
- settings->addChild(HostRunDHCP());
- settings->addChild(HostBEWait());
+ addChild(new Backupsettings);
+ addChild(HostRunDHCP());
+ addChild(HostBEWait());
//settings->addChild(new Evroutersettings);
}
else if (hostparm.ThisSystemType == "Frontend_only" )
{
//settings->addChild(new Evroutersettings);
- settings->addChild(HostBEWait());
+ addChild(HostBEWait());
}
else if (hostparm.ThisSystemType == "Slave_backend" )
{
//settings->addChild(new Evroutersettings);
- settings->addChild(HostBEWait());
+ addChild(HostBEWait());
};
- addTarget("", settings);
+ //addTarget("", settings);
};
};
/*_______________________________Sound settings ____________________*/
-SoundSettings::SoundSettings():
- TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) {
+SoundSettings::SoundSettings(): GroupSetting()
+ {
setLabel(QObject::tr("Audio Settings"));
- HostAudiotype = new HostComboBox("HostAudiotype",false);
- HostAudiotype->setLabel(QObject::tr("Sound Card Driver"));
- HostAudiotype->addSelection("OSS");
- HostAudiotype->addSelection("ALSA");
+// HostAudiotype = new HostComboBoxSetting("HostAudiotype",false);
+// HostAudiotype->setLabel(QObject::tr("Sound Card Driver"));
+// HostAudiotype->addSelection("OSS");
+// HostAudiotype->addSelection("ALSA");
- HostAudiotype->setHelpText(QObject::tr("Select the sound driver, ALSA or OSS." ) );
- addChild(HostAudiotype);
- setTrigger(HostAudiotype);
+// HostAudiotype->setHelpText(QObject::tr("Select the sound driver, ALSA or OSS." ) );
+// addChild(HostAudiotype);
+// setTrigger(HostAudiotype);
- HorizontalConfigurationGroup *lp = new HorizontalConfigurationGroup(false, false, true, true);
- HorizontalConfigurationGroup *lpalsa = new HorizontalConfigurationGroup(false, false, true, true);
+// HorizontalConfigurationGroup *lp = new HorizontalConfigurationGroup(false, false, true, true);
+// HorizontalConfigurationGroup *lpalsa = new HorizontalConfigurationGroup(false, false, true, true);
- TransButtonSetting *LoadOSSbutton = new TransButtonSetting();
- LoadOSSbutton->setLabel(tr("Load OSS Driver"));
- TransButtonSetting *LoadALSAbutton = new TransButtonSetting();
- LoadALSAbutton->setLabel(tr("Load ALSA Driver"));
+// TransButtonSetting *LoadOSSbutton = new TransButtonSetting();
+// LoadOSSbutton->setLabel(tr("Load OSS Driver"));
+ ButtonStandardSetting *LoadALSAbutton = new ButtonStandardSetting("Load ALSA Driver");
+// LoadALSAbutton->setLabel(tr("Load ALSA Driver"));
- TransButtonSetting *TestAudiobutton = new TransButtonSetting();
- TestAudiobutton->setLabel(tr("Test Device"));
- TestAudiobutton->setHelpText(QObject::tr("Play a sound using the selected default device."));
- lp->addChild(TestAudiobutton);
- lp->addChild(LoadOSSbutton);
+// ButtonStandardSetting *TestAudiobutton = new TransButtonSetting();
+// TestAudiobutton->setLabel(tr("Test Device"));
+// TestAudiobutton->setHelpText(QObject::tr("Play a sound using the selected default device."));
+// addChild(TestAudiobutton);
+// lp->addChild(LoadOSSbutton);
- TransButtonSetting *TestALSAAudiobutton = new TransButtonSetting();
- TestALSAAudiobutton->setLabel(tr("Test Device"));
+ ButtonStandardSetting *TestALSAAudiobutton = new ButtonStandardSetting(tr("Test Device"));
+// TestALSAAudiobutton->setLabel(tr("Test Device"));
TestALSAAudiobutton->setHelpText(QObject::tr("Play a sound using the selected default device."));
- lpalsa->addChild(TestALSAAudiobutton);
- lpalsa->addChild(LoadALSAbutton);
-
- TransLabelSetting *osslabel = new TransLabelSetting();
- osslabel->setValue("OSS- Open Sound System\nhttp://opensound.com\n\nTo configure sound for MythTV go to:\nService Menu --> MythTV Settings --> Setup --> Audio\n");
+ addChild(TestALSAAudiobutton);
+ addChild(LoadALSAbutton);
- TransLabelSetting *AlsaLabel = new TransLabelSetting();
- AlsaLabel->setValue("ALSA - Advanced Linux Sound Architecture\nhttp://alsa-project.org\n\nTo configure sound for MythTV go to:\nService Menu --> MythTV Settings --> Setup --> Audio\n");
+// TransLabelSetting *osslabel = new TransLabelSetting();
+// osslabel->setValue("OSS- Open Sound System\nhttp://opensound.com\n\nTo configure sound for MythTV go to:\nService Menu --> MythTV Settings --> Setup --> Audio\n");
+// TransLabelSetting *AlsaLabel = new TransLabelSetting();
+// AlsaLabel->setValue("ALSA - Advanced Linux Sound Architecture\nhttp://alsa-project.org\n\nTo configure sound for MythTV go to:\nService Menu --> MythTV Settings --> Setup --> Audio\n");
+/*
// OSS GROUP
SoundOSSsettings *OSS = new SoundOSSsettings ;
ConfigurationGroup* osssettings = new VerticalConfigurationGroup(false);
@@ -2792,13 +2733,13 @@ SoundSettings::SoundSettings():
this, SLOT(soundossgathersettings_1()));
connect(LoadOSSbutton, SIGNAL(pressed()),
OSS, SLOT(loadossdriver()));
-
+*/
// ALSA GROUP
- SoundALSAsettings *ALSA = new SoundALSAsettings ;
- ConfigurationGroup* alsasettings = new VerticalConfigurationGroup(false);
- alsasettings->addChild(AlsaLabel);
- alsasettings->addChild(ALSA);
- alsasettings->addChild(lpalsa);
+ SoundALSAsettings *ALSA = new SoundALSAsettings ;
+// ConfigurationGroup* alsasettings = new VerticalConfigurationGroup(false);
+// addChild(AlsaLabel);
+ addChild(ALSA);
+// alsasettings->addChild(lpalsa);
connect(this, SIGNAL(alsa_sig()),
ALSA, SLOT(soundalsagathersettings()));
@@ -2806,16 +2747,15 @@ SoundSettings::SoundSettings():
this, SLOT(soundalsagathersettings_1()));
connect(LoadALSAbutton, SIGNAL(pressed()),
ALSA, SLOT(loadalsadriver()));
- addTarget("ALSA", alsasettings);
- addTarget("OSS", osssettings);
+// addTarget("ALSA", alsasettings);
+// addTarget("OSS", osssettings);
};
-
-SoundOSSsettings::SoundOSSsettings():
- TriggeredConfigurationGroup(true,false,true,true,true,true,true,true)
+/*
+SoundOSSsettings::SoundOSSsettings(): GroupSetting()
{
SetVertical(true);
- HostSoundOssAll = new HostComboBox("HostSoundOssAll");
+ HostSoundOssAll = new HostComboBoxSetting("HostSoundOssAll");
HostSoundOssAll->setLabel(QObject::tr("Default Device"));
HostSoundOssAll->setHelpText(QObject::tr("Select the default audio output device for the system."));
fillossselection();
@@ -2823,20 +2763,19 @@ SoundOSSsettings::SoundOSSsettings():
HostSoundOssAll->setValue(findossall);
addTarget("All", HostSoundOssAll);
};
-
-SoundALSAsettings::SoundALSAsettings():
- TriggeredConfigurationGroup(true,false,true,true,true,true,true,true)
+*/
+SoundALSAsettings::SoundALSAsettings(): GroupSetting()
{
- SetVertical(true);
- HostSoundALSAAll = new HostComboBox("HostSoundALSAAll");
+// SetVertical(true);
+ HostSoundALSAAll = new HostComboBoxSetting("HostSoundALSAAll");
HostSoundALSAAll->setLabel(QObject::tr("Default Device"));
HostSoundALSAAll->setHelpText(QObject::tr("Select the default audio output device for the system. Chrome, aplay and other programs that use the default system device for audio will use this device. Mplayer will be set to use this device."));
fillALSAselection();
- int findalsaall=HostSoundALSAAll->findSelection(hostparm.OLDHostSoundALSAAll );
- HostSoundALSAAll->setValue(findalsaall);
- addTarget("All", HostSoundALSAAll);
+// int findalsaall=HostSoundALSAAll->findSelection(hostparm.OLDHostSoundALSAAll );
+// HostSoundALSAAll->setValue(findalsaall);
+ addChild( HostSoundALSAAll);
};
-
+/*
void SoundOSSsettings::loadossdriver()
{
// Add info popup right here
@@ -2901,6 +2840,7 @@ void SoundOSSsettings::loadossdriver()
fillossselection();
}
+
void SoundALSAsettings::loadalsadriver()
{
QString cmdtxt;
@@ -3005,7 +2945,7 @@ void SoundOSSsettings::fillossselection()
}
return ;
};
-
+*/
void SoundALSAsettings::fillALSAselection()
{
@@ -3075,13 +3015,14 @@ void SoundALSAsettings::fillALSAselection()
}
return ;
}
-
+/*
void SoundSettings::soundossgathersettings_1 (void)
{
hostparm.ThisHostAudiotype = HostAudiotype->getValue();
// emit the signal to call soundossgathersetting.
emit oss_sig();
};
+*/
void SoundSettings::soundalsagathersettings_1 (void)
{
hostparm.ThisHostAudiotype = HostAudiotype->getValue();
@@ -3089,7 +3030,7 @@ void SoundSettings::soundalsagathersettings_1 (void)
emit alsa_sig();
};
-
+/*
void SoundOSSsettings::soundossgathersettings(void)
{
hostparm.ThisHostSoundOSSAll = HostSoundOssAll->getValue();
@@ -3155,7 +3096,7 @@ void SoundOSSsettings::soundossgathersettings(void)
}
};
-
+*/
void SoundALSAsettings::soundalsagathersettings(void)
{
@@ -3186,7 +3127,7 @@ void SoundALSAsettings::soundalsagathersettings(void)
delete busyPopup;
busyPopup = NULL;
}
-
+/*
int progressbar=1;
MythProgressDialog *popupProgress = NULL;
popupProgress = new MythProgressDialog(msgtext, 50);
@@ -3194,14 +3135,14 @@ void SoundALSAsettings::soundalsagathersettings(void)
{
popupProgress->setProgress(progressbar);
}
-
+*/
while ( return_code == 0 )
{
- progressbar++;
- popupProgress->setProgress(progressbar);
- if (progressbar > 50 )
- progressbar = 10;
+// progressbar++;
+// popupProgress->setProgress(progressbar);
+// if (progressbar > 50 )
+// progressbar = 10;
return_code = myth_system("ps -ef|grep soundconfig.sh|grep -v grep > /dev/null");
@@ -3214,13 +3155,13 @@ void SoundALSAsettings::soundalsagathersettings(void)
busyPopup->Close();
busyPopup = NULL;
}
-
+/*
if (popupProgress)
{
popupProgress->Close();
popupProgress->deleteLater();
}
-
+*/
};
@@ -3395,9 +3336,9 @@ void run_systemconfig(QString modulelist, bool restart, QString dbcommand)
cmdtxt.append("bin/systemconfig.sh " + modulelist + " &");
myth_system(cmdtxt);
int return_code = 0;
- QString msgtext = "Please wait while " ;
+ QString msgtext = "Configuring " ;
msgtext.append(gCoreContext->GetSetting("HostMyhostname"));
- msgtext.append(" is configured");
+ msgtext.append("...");
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busyPopup = new MythUIBusyDialog(msgtext, popupStack,"installbusy");
if (busyPopup->Create())
@@ -3409,7 +3350,7 @@ void run_systemconfig(QString modulelist, bool restart, QString dbcommand)
delete busyPopup;
busyPopup = NULL;
}
- while ( return_code == 0 )
+ while ( return_code == 0 )
{
return_code = myth_system("ps -ef|grep systemconfig.sh|grep -v grep > /dev/null");
qApp->processEvents ();
@@ -3422,17 +3363,16 @@ void run_systemconfig(QString modulelist, bool restart, QString dbcommand)
busyPopup = NULL;
}
-
-
if (restart)
{
return_code = 1;
int loopnumber=0 ;
bool doloop = true;
- QString msgtext = "Transferring database settings" ;
+ QString msgtext = "Transferring Database Settings..." ;
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
- MythUIBusyDialog *busyPopup = new MythUIBusyDialog(msgtext, popupStack,"installbusy");
+ MythUIBusyDialog *busyPopup = new MythUIBusyDialog(msgtext, popupStack,
+ "installbusy");
if (busyPopup->Create())
{
popupStack->AddScreen(busyPopup, false);
@@ -3443,9 +3383,6 @@ void run_systemconfig(QString modulelist, bool restart, QString dbcommand)
busyPopup = NULL;
}
-
-
-
while ( doloop )
{
return_code = myth_system(dbcommand);
@@ -3463,10 +3400,19 @@ void run_systemconfig(QString modulelist, bool restart, QString dbcommand)
};
-
-
}
+void settingsWait()
+{
+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+ //mainStack->AddScreen(ssd);
+ // Block by running an event loop until last screen is removed
+ QEventLoop block;
+ QObject::connect(mainStack, &MythScreenStack::topScreenChanged,
+ &block, [&](MythScreenType* screen)
+ { if (!screen) block.quit(); });
+ block.exec();
+}
int runsettings (bool mysqlonly , bool shownetwork , bool showhostype,
@@ -3478,16 +3424,16 @@ int runsettings (bool mysqlonly , bool shownetwork , bool showhostype,
bool showremotesonly, bool showvnc, bool showfileshare)
{
displaymysqlonly = false ;
- displayshownetwork =false ;
+ displayshownetwork = false ;
displayshowhostype = false ;
- displayshowmisc =false ;
- displayshowshutdown =false ;
+ displayshowmisc = false ;
+ displayshowshutdown = false ;
displayshowadvanced = false;
displayshowsound = false ;
displayshowadvancedX = false;
- displayaccesscontrol= false;
- displayplugins= false;
- displaysoftware= false;
+ displayaccesscontrol = false;
+ displayplugins = false;
+ displaysoftware = false;
displayuser = false;
displaywebuser = false;
displayddns = false;
@@ -3495,47 +3441,47 @@ int runsettings (bool mysqlonly , bool shownetwork , bool showhostype,
displayscreensaver = false;
displaysupplemental = false;
displayremotesonly = false;
- displayvnc = false;
+ displayvnc = false;
displayfileshare = false;
//gCoreContext->ActivateSettingsCache(true);
//gCoreContext->ClearSettingsCache();
- bool runothers=false;
- bool continuerun=true;
+ bool runothers = false;
+ bool continuerun = true;
int retc = 0 ;
displaymysqlonly = mysqlonly;
- if (displaymysqlonly)
+ if ( displaymysqlonly )
{
MythInstallSettings mysqlsettings;
- mysqlsettings.Load();
- mysqlsettings.Save();
- if ( mysqlsettings.exec() == QDialog::Accepted )
- {
- retc = 1;
- }
- else
- {
- retc=2;
- };
+// mysqlsettings.Load();
+// mysqlsettings.Save();
+// if ( mysqlsettings.exec() == QDialog::Accepted )
+// {
+// retc = 1;
+// }
+// else
+// {
+// retc = 2;
+// };
};
if ( shownetwork )
{
displayshownetwork = shownetwork;
MythInstallSettings settings;
- settings.Load();
- settings.Save();
- if ( settings.exec() == QDialog::Accepted )
- {
- retc = 1;
- }
- else
- {
- continuerun=false;
- retc=2;
- };
- displayshownetwork = false;
+// settings.Load();
+// settings.Save();
+// if ( settings.exec() == QDialog::Accepted )
+// {
+// retc = 1;
+// }
+// else
+// {
+// continuerun=false;
+// retc = 2;
+// };
+// displayshownetwork = false;
};
if ( showhostype && continuerun )
@@ -3545,21 +3491,24 @@ int runsettings (bool mysqlonly , bool shownetwork , bool showhostype,
if (sysRet < 0)
LOG(VB_GENERAL, LOG_ERR, "Error running avahi-browse");
MythInstallSettings settings1;
- settings1.Load();
- settings1.Save();
- if ( settings1.exec() == QDialog::Accepted )
- {
- retc = 1;
- }
- else
- {
- continuerun=false;
- retc=2;
- };
+// settings1.Load();
+// settings1.Save();
+// if ( settings1.exec() == QDialog::Accepted )
+// {
+// retc = 1;
+// }
+// else
+// {
+// continuerun=false;
+// retc = 2;
+// };
displayshowhostype=false;
}
- if ( showmisc || showshutdown || showsound || showadvancedX || showadvanced || showaccesscontrol || showplugins || showsoftware || showuser || showwebuser || showddns || showinfrared || showscreensaver || showsupplemental || showremotesonly || showvnc || showfileshare)
+ if ( showmisc || showshutdown || showsound || showadvancedX || showadvanced ||
+ showaccesscontrol || showplugins || showsoftware || showuser || showwebuser ||
+ showddns || showinfrared || showscreensaver || showsupplemental ||
+ showremotesonly || showvnc || showfileshare)
{
runothers=true;
displayshowmisc = showmisc;
@@ -3593,7 +3542,7 @@ int runsettings (bool mysqlonly , bool shownetwork , bool showhostype,
pre_writesettings();
//FINDME
DatabaseParams params = gContext->GetDatabaseParams();
- QString cmdtxt=MV_ROOT ;
+ QString cmdtxt=MV_ROOT;
cmdtxt.append("bin/timezip.py -m ");
QString zipcommand=cmdtxt;
zipcommand.append(hostparm.ThisDBhost);
@@ -3602,31 +3551,31 @@ int runsettings (bool mysqlonly , bool shownetwork , bool showhostype,
//cout << zipcommand << endl;
myth_system(zipcommand);
//hostparm.ThisHostZipcode = gCoreContext->GetSetting("HostZipcode");
- hostparm.ThisTimeZone = gCoreContext->GetSetting("HostTimeZone");
+ hostparm.ThisTimeZone = gCoreContext->GetSetting("HostTimeZone");
// hostparm.ThisHostServiceHobbit = gCoreContext->GetSetting("HostServiceHobbitclient");
// if ( hostparm.ThisHostServiceHobbit == "1" )
// install_hobbit = true;
MythInstallSettings settings2;
- settings2.Load();
- settings2.Save();
-// gCoreContext->SaveSetting("HostServiceHobbitclient", hostparm.ThisHostServiceHobbit );
- if ( settings2.exec() == QDialog::Accepted )
- {
- retc = 1;
- }
- else
- {
- continuerun=false;
- retc=2;
- };
+// settings2.Load();
+// settings2.Save();
+ // gCoreContext->SaveSetting("HostServiceHobbitclient", hostparm.ThisHostServiceHobbit );
+// if ( settings2.exec() == QDialog::Accepted )
+// {
+// retc = 1;
+// }
+// else
+// {
+// continuerun=false;
+// retc = 2;
+// };
};
pre_writesettings();
if ( mysqlonly )
{
QString cmdtxt;
cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/systemconfig.sh Mysql_only " + hostparm.ThisDBhost);
+ cmdtxt.append("bin/systemconfig.sh Mysql_only " + hostparm.ThisDBhost);
myth_system(cmdtxt);
}
else
@@ -3639,33 +3588,33 @@ int runsettings (bool mysqlonly , bool shownetwork , bool showhostype,
-void writesettings ()
+void writesettings()
{
// ofstream myfile;
- gCoreContext->ClearSettingsCache();
+ //gCoreContext->ClearSettingsCache();
//gCoreContext->ActivateSettingsCache(false);
- hostparm.language = gCoreContext->GetSetting("language");
+ hostparm.language = gCoreContext->GetSetting("language");
hostparm.ThisHostName = gCoreContext->GetSetting("HostMyhostname").toLower();
hostparm.ThisTimeZone = gCoreContext->GetSetting("HostTimeZone");
- hostparm.ThisHostIPeth0 = gCoreContext->GetSetting("HostIPeth0");
- hostparm.ThisHostNETMASKeth0 = gCoreContext->GetSetting("HostNETMASKeth0");
- hostparm.ThisHostDNSeth0 = gCoreContext->GetSetting("HostDNSeth0");
- hostparm.ThisHostUSEDHCPeth0 = gCoreContext->GetSetting("HostUseDHCPeth0");
- hostparm.ThisHostGWeth0 = gCoreContext->GetSetting("HostGWeth0");
- hostparm.ThisHostActiveonbooteth0 = gCoreContext->GetSetting("HostActiveonbooteth0");
- hostparm.ThisHOSTESSIDeth0 = gCoreContext->GetSetting("HOSTESSIDeth0");
+ hostparm.ThisHostIPeth0 = gCoreContext->GetSetting("HostIPeth0");
+ hostparm.ThisHostNETMASKeth0 = gCoreContext->GetSetting("HostNETMASKeth0");
+ hostparm.ThisHostDNSeth0 = gCoreContext->GetSetting("HostDNSeth0");
+ hostparm.ThisHostUSEDHCPeth0 = gCoreContext->GetSetting("HostUseDHCPeth0");
+ hostparm.ThisHostGWeth0 = gCoreContext->GetSetting("HostGWeth0");
+ hostparm.ThisHostActiveonbooteth0 = gCoreContext->GetSetting("HostActiveonbooteth0");
+ hostparm.ThisHOSTESSIDeth0 = gCoreContext->GetSetting("HOSTESSIDeth0");
hostparm.ThisHostUseEncryptioneth0 = gCoreContext->GetSetting("HostUseEncryptioneth0");
hostparm.ThisHostkeyeth0 = gCoreContext->GetSetting("Hostkeyeth0");
hostparm.ThisHostMTUeth0 = gCoreContext->GetSetting("HostMTUeth0");
- hostparm.ThisHostIPeth1 = gCoreContext->GetSetting("HostIPeth1");
- hostparm.ThisHostNETMASKeth1 = gCoreContext->GetSetting("HostNETMASKeth1");
- hostparm.ThisHostDNSeth1 = gCoreContext->GetSetting("HostDNSeth1");
- hostparm.ThisHostUSEDHCPeth1 = gCoreContext->GetSetting("HostUseDHCPeth1");
- hostparm.ThisHostGWeth1 = gCoreContext->GetSetting("HostGWeth1");
- hostparm.ThisHostActiveonbooteth1 = gCoreContext->GetSetting("HostActiveonbooteth1");
- hostparm.ThisHOSTESSIDeth1 = gCoreContext->GetSetting("HOSTESSIDeth1");
+ hostparm.ThisHostIPeth1 = gCoreContext->GetSetting("HostIPeth1");
+ hostparm.ThisHostNETMASKeth1 = gCoreContext->GetSetting("HostNETMASKeth1");
+ hostparm.ThisHostDNSeth1 = gCoreContext->GetSetting("HostDNSeth1");
+ hostparm.ThisHostUSEDHCPeth1 = gCoreContext->GetSetting("HostUseDHCPeth1");
+ hostparm.ThisHostGWeth1 = gCoreContext->GetSetting("HostGWeth1");
+ hostparm.ThisHostActiveonbooteth1 = gCoreContext->GetSetting("HostActiveonbooteth1");
+ hostparm.ThisHOSTESSIDeth1 = gCoreContext->GetSetting("HOSTESSIDeth1");
hostparm.ThisHostUseEncryptioneth1 = gCoreContext->GetSetting("HostUseEncryptioneth1");
hostparm.ThisHostkeyeth1 = gCoreContext->GetSetting("Hostkeyeth1");
hostparm.ThisHostMTUeth1 = gCoreContext->GetSetting("HostMTUeth1");
@@ -3703,7 +3652,6 @@ void writesettings ()
hostparm.ThisHostkeyath0 = gCoreContext->GetSetting("Hostkeyath0");
hostparm.ThisHostMTUath0 = gCoreContext->GetSetting("HostMTUath0");
-
// hostparm.ThisHostServiceRRD = gCoreContext->GetSetting("HostServiceRRD");
hostparm.ThisSamba = gCoreContext->GetSetting("HostServiceSamba");
hostparm.ThisHostServiceSamba_media = gCoreContext->GetSetting("HostServiceSamba_media");
@@ -3808,9 +3756,9 @@ void writesettings ()
}
-//*********************************************************************************************
+//--------------------------------------------------------------------------------
// AUDIO SETTINGS
-//******************************************************************************************
+//--------------------------------------------------------------------------------
hostparm.ThisHostAudiotype = gCoreContext->GetSetting("HostAudiotype");
hostparm.ThisHostSoundOSSAll = gCoreContext->GetSetting("HostSoundOssAll");
hostparm.ThisHostSoundALSAAll = gCoreContext->GetSetting("HostSoundALSAAll");
@@ -3873,7 +3821,6 @@ void writesettings ()
hostparm.ThisHostpluginmythgameROMDB= gCoreContext->GetSetting("HostpluginmythgameROMDB");
hostparm.ThisHostpluginmythgameMupen64= gCoreContext->GetSetting("HostpluginmythgameMupen64");
hostparm.ThisHostwebmin = gCoreContext->GetSetting("Hostwebmin");
- hostparm.ThisHostHuluDesktop = gCoreContext->GetSetting("HostHuluDesktop");
hostparm.ThisHostwebonlinhes = gCoreContext->GetSetting("HostWebonlinhes");
hostparm.ThisHostXBMC = gCoreContext->GetSetting("HostXBMC");
hostparm.ThisHostPLEXHT = gCoreContext->GetSetting("HostPLEXHT");
@@ -3939,11 +3886,8 @@ void writesettings ()
hostparm.ThisHostTransmitSend_after_4 =
gCoreContext->GetSetting("HostTransmitSend_after_4");
-
hostparm.ThisHOSTrootSSH = gCoreContext->GetSetting("HOSTrootSSH");
-
-
hostparm.ThisHostSupplemental = gCoreContext->GetSetting("HostSupplemental");
hostparm.ThisHostWindowManager = gCoreContext->GetSetting("HostWindowManager");
hostparm.ThisHostEnhancedWMStyle = gCoreContext->GetSetting("HostEnhancedWMStyle");
@@ -3954,9 +3898,6 @@ void writesettings ()
hostparm.ThisHostXVNCpassword = gCoreContext->GetSetting("HostXVNCpassword");
-
-
-
//______________________WRITE OUT THE FILE__________________________
QString systemheader;
QString divider;
@@ -4203,7 +4144,6 @@ void writesettings ()
myfile << "mythappletrailers=\"" + hostparm.ThisHostpluginmythappletrailers + "\"\n";
myfile << "webonlinhes=\"" + hostparm.ThisHostwebonlinhes + "\"\n";
- myfile << "huludesktop=\"" + hostparm.ThisHostHuluDesktop + "\"\n";
myfile << "kodi=\"" + hostparm.ThisHostXBMC + "\"\n";
myfile << "plexhometheater=\"" + hostparm.ThisHostPLEXHT + "\"\n";
myfile << "plexmediaserver=\"" + hostparm.ThisHostPLEXMS + "\"\n";
@@ -4212,7 +4152,6 @@ void writesettings ()
myfile << "foldingworksize=\"" + hostparm.ThisHostfoldingworksize + "\"\n";
myfile << "webmin=\"" + hostparm.ThisHostwebmin + "\"\n";
-
systemheader="\n# ddns settings\n" ;
myfile << systemheader ;
myfile << divider ;
@@ -4258,7 +4197,6 @@ void writesettings ()
myfile << "Hostnumblaster=\"" + hostparm.ThisHostnumblaster + "\"\n";
myfile << "LCDtype=\"" + hostparm.ThisHostLCDType + "\"\n";
-
systemheader="\n# user settings\n" ;
myfile << systemheader ;
myfile << divider ;
@@ -4285,25 +4223,23 @@ void writesettings ()
myfile << "UseMythWEB_auth=\"" + hostparm.ThisHostwebauth + "\"\n";
-
f.close();
-
}
-MythInstallSettings::MythInstallSettings()
+MythInstallSettings::MythInstallSettings() : GroupSetting()
{
- VerticalConfigurationGroup* vcg = new VerticalConfigurationGroup(false,false,true,true);
- VerticalConfigurationGroup* denied = new VerticalConfigurationGroup(false,false,true,true);
- TransLabelSetting *deniedlabel = new TransLabelSetting();
- deniedlabel->setValue(" Access to these settings is disabled.\n Access can be enabled in Access Settings." );
- denied->addChild(deniedlabel);
+// VerticalConfigurationGroup* vcg = new VerticalConfigurationGroup(false,false,true,true);
+// VerticalConfigurationGroup* denied = new VerticalConfigurationGroup(false,false,true,true);
+// TransLabelSetting *deniedlabel = new TransLabelSetting();
+// deniedlabel->setValue(" Access to these settings is disabled.\n Access can be enabled in Access Settings." );
+// denied->addChild(deniedlabel);
if ( displaymysqlonly )
{
- vcg->setLabel(QObject::tr("Run MythFrontend Settings"));
- vcg->addChild(HostMysqlserverip_listbox());
- vcg->addChild(ThemePainter());
- addChild(vcg);
+ //vcg->setLabel(QObject::tr("Run MythFrontend Settings"));
+ //vcg->addChild(HostMysqlserverip_listbox());
+ //vcg->addChild(ThemePainter());
+ //addChild(vcg);
}
else
{
@@ -4331,15 +4267,15 @@ MythInstallSettings::MythInstallSettings()
- vcg->setLabel(QObject::tr("Host Settings"));
+ //vcg->setLabel(QObject::tr("Host Settings"));
// Check to see if screen should appear
if ( displayshownetwork )
{
//Check to see if screen is allowed to appear
if ( ((gCoreContext->GetSetting("Hostaccessnetwork")) == "0" ) )
{
- denied ->setLabel(QObject::tr("Network Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Network Settings"));
+ //addChild(denied);
}
else
{
@@ -4379,8 +4315,8 @@ MythInstallSettings::MythInstallSettings()
NetworkOptionsFrame *networkoptionsframe = new NetworkOptionsFrame();
NetworkSettingsFrame *netsettingsframe = new NetworkSettingsFrame();
- addChild(netsettingsframe);
- addChild(networkoptionsframe);
+// addChild(netsettingsframe);
+// addChild(networkoptionsframe);
};
}
@@ -4389,14 +4325,14 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccesshostype")) =="0" ))
{
- denied ->setLabel(QObject::tr("Host Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Host Settings"));
+ //addChild(denied);
}
else
{
SystemtypeGroup *systemtypegroup = new SystemtypeGroup();
- vcg->addChild(systemtypegroup);
- addChild(vcg);
+ //vcg->addChild(systemtypegroup);
+ //addChild(vcg);
}
}
@@ -4404,13 +4340,13 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccessir")) =="0" ))
{
- denied ->setLabel(QObject::tr("Remotes Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Remotes Settings"));
+ //addChild(denied);
}
else
{
IRFrame *irframe = new IRFrame();
- addChild(irframe);
+// addChild(irframe);
}
}
@@ -4418,13 +4354,13 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("HostaccessadvancedX")) == "0" ))
{
- denied ->setLabel(QObject::tr("Display Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Display Settings"));
+ //addChild(denied);
}
else
{
AdvancedXSettings *advancedXsettings = new AdvancedXSettings();
- addChild(advancedXsettings);
+// addChild(advancedXsettings);
}
}
@@ -4432,13 +4368,31 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccessvnc")) == "0" ))
{
- denied ->setLabel(QObject::tr("VNC Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("VNC Settings"));
+ //addChild(denied);
}
else
{
- VNChostsettings* vnchostsettings= new VNChostsettings();
- addChild(vnchostsettings);
+ //VNChostsettings* vnchostsettings= new VNChostsettings();
+ //addChild(vnchostsettings);
+
+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+ StandardSettingDialog *ssd =
+ new StandardSettingDialog(mainStack, "vncsettings",
+ new VNChostsettings());
+ if (ssd->Create())
+ {
+ mainStack->AddScreen(ssd);
+ settingsWait();
+ // Block by running an event loop until last screen is removed
+ //QEventLoop block;
+ //QObject::connect(mainStack, &MythScreenStack::topScreenChanged,
+ // &block, [&](MythScreenType* screen)
+ //{ if (!screen) block.quit(); });
+ // block.exec();
+ }
+ else
+ delete ssd;
}
}
@@ -4446,16 +4400,16 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccessfileshare")) == "0" ))
{
- denied ->setLabel(QObject::tr("File Sharing Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("File Sharing Settings"));
+ //addChild(denied);
}
else
{
FileShareMainFrameClient *nfsclient = new FileShareMainFrameClient();
- addChild(nfsclient);
+// addChild(nfsclient);
FileShareMainFrameServer *fileserver = new FileShareMainFrameServer();
- addChild(fileserver);
+// addChild(fileserver);
}
}
@@ -4463,14 +4417,14 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccessmisc")) == "0" ))
{
- denied ->setLabel(QObject::tr("Miscellanous"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Miscellanous"));
+ //addChild(denied);
}
else
{
MiscMainFrame *miscsettings = new MiscMainFrame();
// MiscMainFrame2 *miscsettings2 = new MiscMainFrame2();
- addChild(miscsettings);
+// addChild(miscsettings);
// addChild(miscsettings2);
}
}
@@ -4479,20 +4433,20 @@ MythInstallSettings::MythInstallSettings()
{
//JM VERBOSE(VB_IMPORTANT, "screensaver");
Supplementalhostsettings *supplemental = new Supplementalhostsettings();
- addChild(supplemental);
+// addChild(supplemental);
}
if ( displayshowshutdown )
{
if ( ((gCoreContext->GetSetting("Hostaccesssleep")) == "0" ))
{
- denied ->setLabel(QObject::tr("Shutdown Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Shutdown Settings"));
+ //addChild(denied);
}
else
{
- WakeSettings *wakesettings = new WakeSettings();
- addChild(wakesettings);
+// WakeSettings *wakesettings = new WakeSettings();
+// addChild(wakesettings);
}
}
@@ -4500,16 +4454,16 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccessadvanced")) == "0" ) )
{
- denied ->setLabel(QObject::tr("Advanced Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Advanced Settings"));
+ //addChild(denied);
}
else
{
AdvancedSettings *advancedsettings = new AdvancedSettings();
AdvancedSettings_2 *advancedsettings_2 = new AdvancedSettings_2();
- addChild(advancedsettings);
- addChild(advancedsettings_2);
+// addChild(advancedsettings);
+// addChild(advancedsettings_2);
}
}
@@ -4517,8 +4471,8 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccesssound")) =="0") )
{
- denied ->setLabel(QObject::tr("Audio Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Audio Settings"));
+ //addChild(denied);
}
else
{
@@ -4556,71 +4510,71 @@ MythInstallSettings::MythInstallSettings()
SoundSettings *soundsettings = new SoundSettings();
- addChild(soundsettings);
+ // addChild(soundsettings);
}
}
if ( displayaccesscontrol )
{
- VerticalConfigurationGroup* accessettings =
- new VerticalConfigurationGroup(false,true,false,false);
- ConfigurationGroup *GridAccess =
- new GridConfigurationGroup(2,false,false,false,false);
-
- GridAccess->addChild(Hostaccessadvanced());
- GridAccess->addChild(Hostaccesssound());
- GridAccess->addChild(HostaccessadvancedX());
- GridAccess->addChild(Hostaccessddns());
- GridAccess->addChild(Hostaccessfileshare());
- GridAccess->addChild(Hostaccessmisc());
- GridAccess->addChild(Hostaccessnetwork());
- GridAccess->addChild(Hostaccessplugins());
- GridAccess->addChild(Hostaccessir());
- GridAccess->addChild(Hostaccessscreensaver());
+// VerticalConfigurationGroup* accessettings =
+// new VerticalConfigurationGroup(false,true,false,false);
+// ConfigurationGroup *GridAccess =
+// new GridConfigurationGroup(2,false,false,false,false);
+
+ addChild(Hostaccessadvanced());
+ addChild(Hostaccesssound());
+ addChild(HostaccessadvancedX());
+ addChild(Hostaccessddns());
+ addChild(Hostaccessfileshare());
+ addChild(Hostaccessmisc());
+ addChild(Hostaccessnetwork());
+ addChild(Hostaccessplugins());
+ addChild(Hostaccessir());
+// addChild(Hostaccessscreensaver());
//screensaver
- GridAccess->addChild(Hostaccessvnc());
- GridAccess->addChild(Hostaccesssleep());
+ addChild(Hostaccessvnc());
+ addChild(Hostaccesssleep());
// GridAccess->addChild(Hostaccessuser());
- GridAccess->addChild(Hostaccesswebuser());
+ addChild(Hostaccesswebuser());
// accessettings->addChild(Hostaccessnetwork());
- accessettings->addChild(new ACCESShostsettings);
- accessettings->addChild(GridAccess);
- accessettings ->setLabel(QObject::tr("Access Settings"));
- addChild(accessettings);
+// addChild(new ACCESShostsettings);
+// addChild(GridAccess);
+// accessettings ->setLabel(QObject::tr("Access Settings"));
+// addChild(accessettings);
}
if ( displayplugins )
{
if ( ((gCoreContext->GetSetting("Hostaccessplugins")) == "0" ))
{
- denied ->setLabel(QObject::tr("Programs"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Programs"));
+ //addChild(denied);
}
else
{
- ConfigurationGroup *GridShowPlugin = new GridConfigurationGroup(2,false);
- GridShowPlugin->setLabel(QObject::tr("Programs (1/4)"));
- GridShowPlugin->addChild(Hostpluginmytharchive());
- GridShowPlugin->addChild(Hostpluginmythbrowser());
- GridShowPlugin->addChild(Hostpluginmythnetvision());
- GridShowPlugin->addChild(Hostpluginmythgallery());
+// ConfigurationGroup *GridShowPlugin = new GridConfigurationGroup(2,false);
+ setLabel(QObject::tr("Programs (1/4)"));
+ addChild(Hostpluginmytharchive());
+ addChild(Hostpluginmythbrowser());
+ addChild(Hostpluginmythnetvision());
+ addChild(Hostpluginmythgallery());
//ConfigurationGroup *GridShowPlugin2 = new GridConfigurationGroup(2);
- GridShowPlugin->addChild(Hostpluginmythmusic());
- GridShowPlugin->addChild(Hostpluginmythnews());
- GridShowPlugin->addChild(Hostpluginmythweather());
- GridShowPlugin->addChild(Hostpluginmythzoneminder());
+ addChild(Hostpluginmythmusic());
+ addChild(Hostpluginmythnews());
+ addChild(Hostpluginmythweather());
+ addChild(Hostpluginmythzoneminder());
- ConfigurationGroup *GridShowPlugin3 = new VerticalConfigurationGroup(false,true);
- GridShowPlugin3->setLabel(QObject::tr("Programs (2/4)"));
- GridShowPlugin3->addChild(new MythGamesettings);
- GridShowPlugin3->addChild(Hostpluginmythvideo_dvdcss());
+ //ConfigurationGroup *GridShowPlugin3 = new VerticalConfigurationGroup(false,true);
+ setLabel(QObject::tr("Programs (2/4)"));
+ addChild(new MythGamesettings);
+ addChild(Hostpluginmythvideo_dvdcss());
- addChild(GridShowPlugin);
+// addChild(GridShowPlugin);
// addChild(GridShowPlugin2);
- addChild(GridShowPlugin3);
+// addChild(GridShowPlugin3);
}
}
@@ -4628,45 +4582,44 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccessplugins")) == "0" ))
{
- denied ->setLabel(QObject::tr("Programs"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Programs"));
+ //addChild(denied);
}
else
{
- ConfigurationGroup *GridShowPlugin4 = new GridConfigurationGroup(2,false);
- GridShowPlugin4->setLabel(QObject::tr("Programs (3/4)"));
- GridShowPlugin4->addChild(Hostpluginmythappletrailers());
- GridShowPlugin4->addChild(HostHuluDesktop());
- GridShowPlugin4->addChild(HostPLEXHT());
- GridShowPlugin4->addChild(HostPLEXMS());
- GridShowPlugin4->addChild(Hostwebmin());
- GridShowPlugin4->addChild(Hostwebonlinhes());
- GridShowPlugin4->addChild(HostXBMC());
+ //ConfigurationGroup *GridShowPlugin4 = new GridConfigurationGroup(2,false);
+ setLabel(QObject::tr("Programs (3/4)"));
+ addChild(Hostpluginmythappletrailers());
+ addChild(HostPLEXHT());
+ addChild(HostPLEXMS());
+ addChild(Hostwebmin());
+ addChild(Hostwebonlinhes());
+ addChild(HostXBMC());
//ConfigurationGroup *GridShowPlugin5 = new GridConfigurationGroup(2);
- ConfigurationGroup *GridShowPlugin6 = new VerticalConfigurationGroup(false,true);
- GridShowPlugin6->setLabel(QObject::tr("Programs (4/4)"));
- GridShowPlugin6->addChild(Hostfoldingathome());
- GridShowPlugin6->addChild(Hostfoldingusername());
- GridShowPlugin6->addChild(Hostfoldingworksize());
+ //ConfigurationGroup *GridShowPlugin6 = new VerticalConfigurationGroup(false,true);
+ //GridShowPlugin6->setLabel(QObject::tr("Programs (4/4)"));
+ //addChild(Hostfoldingathome());
+ //addChild(Hostfoldingusername());
+ //addChild(Hostfoldingworksize());
- addChild(GridShowPlugin4);
+// addChild(GridShowPlugin4);
//addChild(GridShowPlugin5);
- addChild(GridShowPlugin6);
+// addChild(GridShowPlugin6);
}
}
if ( displayuser )
{
if ( ((gCoreContext->GetSetting("Hostaccessuser")) == "0" ))
{
- denied ->setLabel(QObject::tr("User Accounts"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("User Accounts"));
+ //addChild(denied);
}
else
{
UserManagement *usermanagement = new UserManagement();
- addChild(usermanagement);
+// addChild(usermanagement);
}
}
@@ -4674,46 +4627,46 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccesswebuser")) == "0" ))
{
- denied ->setLabel(QObject::tr("Web Security Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Web Security Settings"));
+ //addChild(denied);
}
else
{
WebPasswordFrame *webpasswordframe = new WebPasswordFrame();
- addChild(webpasswordframe);
+// addChild(webpasswordframe);
}
}
-
+/*
if ( displayddns )
{
if ( ((gCoreContext->GetSetting("Hostaccessddns")) == "0" ))
{
- denied ->setLabel(QObject::tr("DDNS Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("DDNS Settings"));
+ //addChild(denied);
}
else
{
DDnssettings *ddnsframe = new DDnssettings();
- addChild(ddnsframe);
+// addChild(ddnsframe);
}
}
-
+*/
if ( displayinfrared )
{
if ( ((gCoreContext->GetSetting("Hostaccessir")) =="0" ))
{
- denied ->setLabel(QObject::tr("Remotes Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Remotes Settings"));
+ //addChild(denied);
}
else
{
IRFrame *irframe = new IRFrame();
IR_TransmitFrame *transmitframe = new IR_TransmitFrame();
LCDFrame *lcdframe = new LCDFrame();
- addChild(irframe);
- addChild(transmitframe);
- addChild(lcdframe);
+// addChild(irframe);
+// addChild(transmitframe);
+// addChild(lcdframe);
}
}
@@ -4721,14 +4674,14 @@ MythInstallSettings::MythInstallSettings()
{
if ( ((gCoreContext->GetSetting("Hostaccessscreensaver")) =="0" ))
{
- denied ->setLabel(QObject::tr("Screensaver Settings"));
- addChild(denied);
+ //denied ->setLabel(QObject::tr("Screensaver Settings"));
+ //addChild(denied);
}
else
{
//JM VERBOSE(VB_IMPORTANT, "screensaver");
- Screensaverhostsettings *screensaver = new Screensaverhostsettings();
- addChild(screensaver);
+// Screensaverhostsettings *screensaver = new Screensaverhostsettings();
+// addChild(screensaver);
}
}
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h b/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h
index 3a53048..fa9908e 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h
@@ -1,37 +1,38 @@
#ifndef WELCOMESETTINGS_H
#define WELCOMESETTINGS_H
-#include <settings.h>
+//#include <settings.h>
+#include <standardsettings.h>
#include "mythdialogs.h"
#include "libmyth/mythdialogs.h"
#include "libmyth/mythwidgets.h"
-#include "compat-mv.h"
+//#include "compat-mv.h"
-class SystemtypeGroup: public TriggeredConfigurationGroup {
+class SystemtypeGroup: public GroupSetting {
Q_OBJECT
public:
SystemtypeGroup();
- HostComboBox *HostSystemType;
+ HostComboBoxSetting *HostSystemType;
public slots:
void SystemtypeHelp();
};
//-------------------------------------------
-class NetworkSettingseth0:
- public TriggeredConfigurationGroup {
+class NetworkSettingseth0: public GroupSetting {
Q_OBJECT
public:
NetworkSettingseth0();
- HostLineEdit *HostIPeth0;
- HostComboBox *HostNETMASKeth0;
- HostLineEdit *HostGWeth0;
- HostLineEdit *HostDNSeth0;
- HostCheckBox *HostActiveonbooteth0;
- HostCheckBox *HostUseDHCPeth0 ;
- HostCheckBox *HostDefaulteth0;
- TransButtonSetting *wirelessbuttoneth0;
-
+ HostTextEditSetting *HostIPeth0;
+ HostComboBoxSetting *HostNETMASKeth0;
+ HostTextEditSetting *HostGWeth0;
+ HostTextEditSetting *HostDNSeth0;
+ HostCheckBoxSetting *HostActiveonbooteth0;
+ HostCheckBoxSetting *HostUseDHCPeth0;
+ HostCheckBoxSetting *HostDefaulteth0;
+ ButtonStandardSetting *wirelessbuttoneth0;
+ HostComboBoxSetting *HOSTESSIDeth0();
+ HostTextEditSetting *Hostkeyeth0();
signals:
void eth0_is_default(void);
public slots:
@@ -41,27 +42,27 @@ public slots:
void eth0_wireless_disable();
};
-class eth0options : public ConfigurationWizard
-{
+class eth0options: public GroupSetting {
public:
eth0options();
};
-class NetworkSettingseth1:
- public TriggeredConfigurationGroup {
+class NetworkSettingseth1: public GroupSetting {
Q_OBJECT
public:
NetworkSettingseth1();
- HostLineEdit *HostIPeth1;
- HostComboBox *HostNETMASKeth1;
- HostLineEdit *HostGWeth1;
- HostLineEdit *HostDNSeth1;
- HostCheckBox *HostActiveonbooteth1;
- HostCheckBox *HostUseDHCPeth1 ;
- HostCheckBox *HostDefaulteth1;
- TransButtonSetting *wirelessbuttoneth1;
+ HostTextEditSetting *HostIPeth1;
+ HostComboBoxSetting *HostNETMASKeth1;
+ HostTextEditSetting *HostGWeth1;
+ HostTextEditSetting *HostDNSeth1;
+ HostCheckBoxSetting *HostActiveonbooteth1;
+ HostCheckBoxSetting *HostUseDHCPeth1 ;
+ HostCheckBoxSetting *HostDefaulteth1;
+ ButtonStandardSetting *wirelessbuttoneth1;
+ HostComboBoxSetting *HOSTESSIDeth1();
+ HostTextEditSetting *Hostkeyeth1();
signals:
void eth1_is_default(void);
public slots:
@@ -71,28 +72,27 @@ public slots:
void eth1_wireless_disable();
};
-class eth1options : public ConfigurationWizard
-{
+class eth1options: public GroupSetting {
public:
eth1options();
};
-
-class NetworkSettingswlan0:
- public TriggeredConfigurationGroup {
+class NetworkSettingswlan0: public GroupSetting {
Q_OBJECT
public:
NetworkSettingswlan0();
- HostLineEdit *HostIPwlan0;
- HostComboBox *HostNETMASKwlan0;
- HostLineEdit *HostGWwlan0;
- HostLineEdit *HostDNSwlan0;
- HostCheckBox *HostActiveonbootwlan0;
- HostCheckBox *HostUseDHCPwlan0 ;
- HostCheckBox *HostDefaultwlan0;
- TransButtonSetting *wirelessbuttonwlan0;
+ HostTextEditSetting *HostIPwlan0;
+ HostComboBoxSetting *HostNETMASKwlan0;
+ HostTextEditSetting *HostGWwlan0;
+ HostTextEditSetting *HostDNSwlan0;
+ HostCheckBoxSetting *HostActiveonbootwlan0;
+ HostCheckBoxSetting *HostUseDHCPwlan0 ;
+ HostCheckBoxSetting *HostDefaultwlan0;
+ ButtonStandardSetting *wirelessbuttonwlan0;
+ HostComboBoxSetting *HOSTESSIDwlan0();
+ HostTextEditSetting *Hostkeywlan0();
signals:
void wlan0_is_default(void);
public slots:
@@ -102,27 +102,27 @@ public slots:
void wlan0_wireless_disable();
};
-class Wlan0options : public ConfigurationWizard
-{
+class Wlan0options: public GroupSetting {
public:
Wlan0options();
};
-class NetworkSettingswlan1:
- public TriggeredConfigurationGroup {
+class NetworkSettingswlan1: public GroupSetting {
Q_OBJECT
public:
NetworkSettingswlan1();
- HostLineEdit *HostIPwlan1;
- HostComboBox *HostNETMASKwlan1;
- HostLineEdit *HostGWwlan1;
- HostLineEdit *HostDNSwlan1;
- HostCheckBox *HostActiveonbootwlan1;
- HostCheckBox *HostUseDHCPwlan1 ;
- HostCheckBox *HostDefaultwlan1;
- TransButtonSetting *wirelessbuttonwlan1;
+ HostTextEditSetting *HostIPwlan1;
+ HostComboBoxSetting *HostNETMASKwlan1;
+ HostTextEditSetting *HostGWwlan1;
+ HostTextEditSetting *HostDNSwlan1;
+ HostCheckBoxSetting *HostActiveonbootwlan1;
+ HostCheckBoxSetting *HostUseDHCPwlan1 ;
+ HostCheckBoxSetting *HostDefaultwlan1;
+ ButtonStandardSetting *wirelessbuttonwlan1;
+ HostComboBoxSetting *HOSTESSIDwlan1();
+ HostTextEditSetting *Hostkeywlan1();
signals:
void wlan1_is_default(void);
public slots:
@@ -132,28 +132,25 @@ public slots:
void wlan1_wireless_disable();
};
-class wlan1options : public ConfigurationWizard
-{
+class wlan1options: public GroupSetting {
public:
wlan1options();
};
-
-class NetworkSettingsath0:
- public TriggeredConfigurationGroup {
+class NetworkSettingsath0: public GroupSetting {
Q_OBJECT
public:
NetworkSettingsath0();
- HostLineEdit *HostIPath0;
- HostComboBox *HostNETMASKath0;
- HostLineEdit *HostGWath0;
- HostLineEdit *HostDNSath0;
- HostCheckBox *HostActiveonbootath0;
- HostCheckBox *HostUseDHCPath0 ;
- HostCheckBox *HostDefaultath0;
- TransButtonSetting *wirelessbuttonath0;
+ HostTextEditSetting *HostIPath0;
+ HostComboBoxSetting *HostNETMASKath0;
+ HostTextEditSetting *HostGWath0;
+ HostTextEditSetting *HostDNSath0;
+ HostCheckBoxSetting *HostActiveonbootath0;
+ HostCheckBoxSetting *HostUseDHCPath0 ;
+ HostCheckBoxSetting *HostDefaultath0;
+ ButtonStandardSetting *wirelessbuttonath0;
signals:
void ath0_is_default(void);
public slots:
@@ -163,19 +160,17 @@ public slots:
void ath0_wireless_disable();
};
-class ath0options : public ConfigurationWizard
-{
+class ath0options: public GroupSetting {
public:
ath0options();
};
-class NetworkOptionsFrame: public VerticalConfigurationGroup {
+class NetworkOptionsFrame: public GroupSetting {
Q_OBJECT
public:
NetworkOptionsFrame();
- TransButtonSetting *FetchDhcpHostnameButton;
- TransLabelSetting *networklabel;
- HostComboBox *HostMyhostname;
+ ButtonStandardSetting *FetchDhcpHostnameButton;
+ HostComboBoxSetting *HostMyhostname;
QString find_hostname();
public slots:
void fetch_hostname();
@@ -185,11 +180,11 @@ public slots:
//--------------------------------------------
-class SoundSettings: public TriggeredConfigurationGroup {
+class SoundSettings: public GroupSetting {
Q_OBJECT
public:
SoundSettings();
- HostComboBox *HostAudiotype;
+ HostComboBoxSetting *HostAudiotype;
signals:
@@ -201,23 +196,23 @@ public slots:
};
-
-class SoundOSSsettings: public TriggeredConfigurationGroup {
+/*
+class SoundOSSsettings: public HostCheckBoxSetting {
Q_OBJECT
public:
SoundOSSsettings();
- HostComboBox *HostSoundOssAll;
+ HostComboBoxSetting *HostSoundOssAll;
void fillossselection();
public slots:
void soundossgathersettings();
void loadossdriver();
};
-
-class SoundALSAsettings: public TriggeredConfigurationGroup {
+*/
+class SoundALSAsettings: public GroupSetting {
Q_OBJECT
public:
SoundALSAsettings();
- HostComboBox *HostSoundALSAAll;
+ HostComboBoxSetting *HostSoundALSAAll;
void fillALSAselection();
public slots:
void soundalsagathersettings();
@@ -227,80 +222,36 @@ public slots:
//############################################
-class MythInstallSettings: public ConfigurationWizard
-{
-
+class MythInstallSettings: public GroupSetting {
public:
MythInstallSettings();
void testme();
private:
MythPopupBox *popup;
-
};
-/*
-#include "mythstorage.h"
-
-class MPUBLIC ImageSelectSetting: public SelectSetting {
- Q_OBJECT
-public:
- ImageSelectSetting(Storage *_storage) :
- SelectSetting(_storage),
- bxwidget(NULL), imagelabel(NULL), combo(NULL),
- m_hmult(1.0f), m_wmult(1.0f) { }
- virtual QWidget* configWidget(ConfigurationGroup *cg, QWidget* parent,
- const char* widgetName = 0);
- virtual void widgetInvalid(QObject *obj);
- virtual void deleteLater(void);
- virtual void setHelpText(const QString &str);
-
- virtual void addImageSelection(const QString& label,
- QImage* image,
- QString value=QString::null,
- bool select=false);
-
-protected slots:
- void imageSet(int);
-
-protected:
- void Teardown(void);
- virtual ~ImageSelectSetting();
-
-protected:
- vector<QImage*> images;
- QWidget *bxwidget;
- QLabel *imagelabel;
- MythComboBox *combo;
- float m_hmult, m_wmult;
-};
-
-
-class MPUBLIC HostImageSelect : public ImageSelectSetting, public HostDBStorage
-{
-public:
- HostImageSelect(const QString &name) :
- ImageSelectSetting(this), HostDBStorage(this, name) { }
-};*/
-
+/*
class HostRemoteType: public HostImageSelect {
public:
HostRemoteType();
};
-
+*/
#define MV_ROOT "/usr/MythVantage/"
-int runsettings(bool = false , bool = false , bool = false ,bool = false ,bool = false, bool = false,bool = false,bool = false , bool = false , bool = false , bool = false, bool = false , bool = false , bool = false , bool = false, bool = false , bool = false , bool = false , bool = false, bool = false);
+int runsettings(bool = false, bool = false, bool = false, bool = false,
+ bool = false, bool = false, bool = false, bool = false,
+ bool = false, bool = false, bool = false, bool = false,
+ bool = false, bool = false, bool = false, bool = false,
+ bool = false, bool = false, bool = false, bool = false);
//void ReadDDCifno(void);
void run_systemconfig(QString,bool = false,QString = "");
+void settingsWait();
void writesettings();
//void testXconfiguration();
-
-
-
struct HostParms
{
@@ -329,7 +280,6 @@ struct HostParms
QString ThisHostkeyeth0;
QString ThisHostMTUeth0;
-
QString ThisHostIPeth1;
QString ThisHostNETMASKeth1;
QString ThisHostDNSeth1;
@@ -354,7 +304,6 @@ struct HostParms
QString ThisHostkeywlan0;
QString ThisHostMTUwlan0;
-
QString ThisHostIPwlan1;
QString ThisHostNETMASKwlan1;
QString ThisHostDNSwlan1;
@@ -379,7 +328,6 @@ struct HostParms
QString ThisHostkeyath0;
QString ThisHostMTUath0;
-
QString ThisRemote;
QString ThisHostRemotebucket;
@@ -393,12 +341,12 @@ struct HostParms
QString ThisNFS;
QString ThisMythWEB;
QString ThisHostwebauth;
- // QString ThisHostServiceHobbit;
- // QString ThisHostServiceRRD;
+// QString ThisHostServiceHobbit;
+// QString ThisHostServiceRRD;
QString ThisHostRunDHCP;
QString ThisSystemType;
-// QString ThisBlaster;
+// QString ThisBlaster;
QString ThisHostTransmitproto_1;
QString ThisHostTransmitproto_2;
@@ -416,12 +364,6 @@ struct HostParms
QString ThisHostTransmitDelay_4;
QString ThisHostTransmitSend_after_4;
-
-
-
-
-
-
QString ThisReceiverType;
QString ThisHDHRlirc_device;
QString ThisHostLircWait;
@@ -431,8 +373,6 @@ struct HostParms
QString ThisDBhost;
QString ThisXres;
-
-
QString ThisHostBEWait;
QString ThisHostUseXLargeMouse;
QString ThisShutdowntime;
@@ -503,7 +443,6 @@ struct HostParms
QString ThisHostXBMC;
QString ThisHostPLEXHT;
QString ThisHostPLEXMS;
- QString ThisHostHuluDesktop;
QString ThisHostpluginmythgameMame;
QString ThisHostpluginmythgamefceux;
@@ -549,10 +488,4 @@ struct DDCinfo
QString Displaysize;
};
-
-
-
-
-
-
#endif
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
index 5c2e128..6751796 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
@@ -1,5 +1,4 @@
-//#include <qapplication.h>
-
+// mythinstall
#include "installdialog.h"
#include "installsettings.h"
#include "password_manage.h"
@@ -12,6 +11,7 @@
#include <QDir>
#include <QTextStream>
+#include <stdio.h>
#include <cstdlib>
#include <sys/types.h>
#include <sys/stat.h>
@@ -19,8 +19,6 @@
#include <chrono> // for milliseconds
#include <thread> // for sleep_for
-#include <stdio.h>
-
//MythTV
#include "langsettings.h"
#include "mythcontext.h"
@@ -39,18 +37,18 @@
#include "mythuihelper.h"
//??
-#include "myththemebase.h"
+//#include "myththemebase.h"
HostParms hostparm;
DDCinfo ddcinfo;
-void initKeys(void)
-{
- REG_KEY("Welcome", "STARTXTERM", "Open an Xterm window", "F12");
- REG_KEY("Welcome", "SHOWSETTINGS", "Show Mythshutdown settings", "F11");
-}
+//void initKeys(void)
+//{
+// REG_KEY("Welcome", "STARTXTERM", "Open an Xterm window", "F12");
+// REG_KEY("Welcome", "SHOWSETTINGS", "Show Mythshutdown settings", "F11");
+//}
int main(int argc, char **argv)
{
@@ -67,7 +65,7 @@ int main(int argc, char **argv)
bool bShowplugins = false;
bool bShowsoftware = false;
bool bShowTemplate = false;
- bool bShowuser = false;
+ bool bShowuser = false;
bool bShowwebuser = false;
bool bRunSetup = false;
bool bShowHelp = false;
@@ -78,8 +76,8 @@ int main(int argc, char **argv)
bool bShowquestion = false;
bool bShowsupplemental = false;
bool bShowremotes_only = false;
- bool bShowvnc = false;
- bool bShowFileshare = false;
+ bool bShowvnc = false;
+ bool bShowFileshare = false;
QStringList template_c_line ;
QString modulelist = "" ;
@@ -261,14 +259,17 @@ int main(int argc, char **argv)
showLang = true;
LCD::SetupLCD();
+
if (class LCD *lcd = LCD::Get())
lcd->switchToTime();
-
MythTranslation::load("mythfrontend");
+
GetMythUI()->LoadQtConfig();
+
MythMainWindow *mainWindow = GetMythMainWindow();
mainWindow->Init();
+ MythScreenStack *mainStack = mainWindow->GetMainStack();
// if parms were passed to -t then doen't init the screen.
// if ( template_c_line.size() == 0 )
@@ -282,14 +283,15 @@ int main(int argc, char **argv)
// initKeys();
// };
- gCoreContext->ActivateSettingsCache(false);
- gCoreContext->ClearSettingsCache();
- gCoreContext->ActivateSettingsCache(false);
+// gCoreContext->ActivateSettingsCache(false);
+// gCoreContext->ClearSettingsCache();
+// gCoreContext->ActivateSettingsCache(false);
+ MythScreenType *screen;
if (bShowSettings)
{
- gCoreContext->ActivateSettingsCache(false);
- gCoreContext->ClearSettingsCache();
+ //gCoreContext->ActivateSettingsCache(false);
+ //gCoreContext->ClearSettingsCache();
bool runconfig = false;
int sysRet=system("cp -f /etc/systemconfig /tmp/systemconfig.bak");
if (sysRet < 0)
@@ -321,7 +323,6 @@ int main(int argc, char **argv)
"libdvdcss",
"mythweather",
"mythzoneminder",
- "huludesktop",
"openpht",
"plex-media-server",
"kodi",
@@ -347,7 +348,6 @@ int main(int argc, char **argv)
"Hostpluginmythvideo_dvdcss",
"Hostpluginmythweather",
"Hostpluginmythzoneminder",
- "HostHuluDesktop",
"HostPLEXHT",
"HostPLEXMS",
"HostXBMC",
@@ -389,14 +389,18 @@ int main(int argc, char **argv)
}
//DONE sync db with pacman
- runsettings(false,bShowNetwork,bShowHostype,bShowMisc,bShowshutdown,bShowadvanced,bShowsound,bShowadvancedX,bShowAccesscontrol,bShowplugins,bShowsoftware,bShowuser,bShowwebuser,bShowddns,bShowinfrared,bShowscreensaver,bShowsupplemental,bShowremotes_only,bShowvnc,bShowFileshare);
+ runsettings(false,bShowNetwork,bShowHostype,bShowMisc,bShowshutdown,
+ bShowadvanced,bShowsound,bShowadvancedX,bShowAccesscontrol,
+ bShowplugins,bShowsoftware,bShowuser,bShowwebuser,bShowddns,
+ bShowinfrared,bShowscreensaver,bShowsupplemental,
+ bShowremotes_only,bShowvnc,bShowFileshare);
QString newdb = gCoreContext->GetSetting("HostMysqlserver");
QString newhostype = gCoreContext->GetSetting("HostSystemType");
int status = system("diff /tmp/systemconfig.bak /etc/systemconfig");
bool restart = false;
//save my settings in case db switches
QString cmdtxt=MV_ROOT;
- cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb);
+ cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb);
sysRet=system(qPrintable(cmdtxt));
if (sysRet < 0)
LOG(VB_GENERAL, LOG_ERR, "Could not save settings");
@@ -413,7 +417,7 @@ int main(int argc, char **argv)
//db changed save setting from olddb
QString cmdtxt;
cmdtxt=MV_ROOT;
- cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb ) ;
+ cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb);
int sysRet=system(qPrintable(cmdtxt));
if (sysRet < 0)
LOG(VB_GENERAL, LOG_ERR, "Could not save settings");
@@ -421,15 +425,14 @@ int main(int argc, char **argv)
if ( runconfig )
{
- //LOG(VB_GENERAL, LOG_ERR,
- // "mythinstall: this is where i stalled");
+ //LOG(VB_GENERAL, LOG_ERR, "mythinstall: this is where i stalled");
if ( newhostype != oldhostype )
modulelist.append("hostypec,");
- // trim off last ,
+ // trim off last ,
modulelist.truncate(modulelist.length()-1);
QString cmdtxt;
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/myth_settings_wrapper.sh -c restore -t syssettings -d ");
+ cmdtxt=MV_ROOT;
+ cmdtxt.append("bin/myth_settings_wrapper.sh -c restore -t syssettings -d ");
QString dbcommand = cmdtxt;
dbcommand.append(newdb);
run_systemconfig(modulelist,restart,dbcommand);
@@ -438,8 +441,8 @@ int main(int argc, char **argv)
if (sysRet < 0)
LOG(VB_GENERAL, LOG_ERR, "Could not remove /tmp/systemconfig.bak.");
- gCoreContext->ActivateSettingsCache(false);
- gCoreContext->ClearSettingsCache();
+// gCoreContext->ActivateSettingsCache(false);
+// gCoreContext->ClearSettingsCache();
if ( restart )
{
QString prompt;
@@ -469,9 +472,9 @@ int main(int argc, char **argv)
if (sysRet < 0)
LOG(VB_GENERAL, LOG_ERR, "Could not reload frontend.");
}
- gCoreContext->ActivateSettingsCache(false);
- gCoreContext->ClearSettingsCache();
- gCoreContext->SendMessage("CLEAR_SETTINGS_CACHE");
+// gCoreContext->ActivateSettingsCache(false);
+// gCoreContext->ClearSettingsCache();
+// gCoreContext->SendMessage("CLEAR_SETTINGS_CACHE");
}//run settings
else if (bShowTemplate)
@@ -644,6 +647,8 @@ int main(int argc, char **argv)
}
DestroyMythMainWindow();
delete gContext;
+// gContext = nullptr;
+// delete qApp;
SignalHandler::Done();
return retval;
}
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.h b/abs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.h
index 325fc0e..3e76ae6 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.h
@@ -3,7 +3,7 @@
#include <iostream>
#include <fstream>
#include <stdio.h>
-#include "settings.h"
+//#include "settings.h"
#include "installsettings.h"
#include <qsqldatabase.h>
#include <qsqlquery.h>
@@ -16,7 +16,7 @@
#include "mythmiscutil.h"
-class MiscMainFrame: public VerticalConfigurationGroup {
+class MiscMainFrame: public GroupSetting {
Q_OBJECT
public:
MiscMainFrame();
@@ -29,14 +29,14 @@ signals:
void update_timezone(QString);
};
-class MiscMainFrame2: public VerticalConfigurationGroup {
+class MiscMainFrame2: public GroupSetting {
Q_OBJECT
public:
MiscMainFrame2();
};
/*
-class TimezoneButton: public VerticalConfigurationGroup {
+class TimezoneButton: public GroupSetting {
Q_OBJECT
public:
TimezoneButton();
@@ -49,28 +49,28 @@ signals:
};
*/
-class TimezoneRegion: public TriggeredConfigurationGroup {
+class TimezoneRegion: public GroupSetting {
Q_OBJECT
public:
TimezoneRegion();
- HostComboBox *HostTimeZoneRegion;
- HostComboBox *HostTimezoneRegion_US;
- HostComboBox *HostTimezoneRegion_Pacific;
- HostComboBox *HostTimezoneRegion_Mideast;
- HostComboBox *HostTimezoneRegion_Mexico;
- HostComboBox *HostTimezoneRegion_Indian;
- HostComboBox *HostTimezoneRegion_Europe;
- HostComboBox *HostTimezoneRegion_Etc;
- HostComboBox *HostTimezoneRegion_Chile;
- HostComboBox *HostTimezoneRegion_Canada;
- HostComboBox *HostTimezoneRegion_Brazil;
- HostComboBox *HostTimezoneRegion_Australia;
- HostComboBox *HostTimezoneRegion_Atlantic;
- HostComboBox *HostTimezoneRegion_Asia;
- HostComboBox *HostTimezoneRegion_Arctic;
- HostComboBox *HostTimezoneRegion_Antarctica;
- HostComboBox *HostTimezoneRegion_America;
- HostComboBox *HostTimezoneRegion_Africa;
+ HostComboBoxSetting *HostTimeZoneRegion;
+ HostComboBoxSetting *HostTimezoneRegion_US;
+ HostComboBoxSetting *HostTimezoneRegion_Pacific;
+ HostComboBoxSetting *HostTimezoneRegion_Mideast;
+ HostComboBoxSetting *HostTimezoneRegion_Mexico;
+ HostComboBoxSetting *HostTimezoneRegion_Indian;
+ HostComboBoxSetting *HostTimezoneRegion_Europe;
+ HostComboBoxSetting *HostTimezoneRegion_Etc;
+ HostComboBoxSetting *HostTimezoneRegion_Chile;
+ HostComboBoxSetting *HostTimezoneRegion_Canada;
+ HostComboBoxSetting *HostTimezoneRegion_Brazil;
+ HostComboBoxSetting *HostTimezoneRegion_Australia;
+ HostComboBoxSetting *HostTimezoneRegion_Atlantic;
+ HostComboBoxSetting *HostTimezoneRegion_Asia;
+ HostComboBoxSetting *HostTimezoneRegion_Arctic;
+ HostComboBoxSetting *HostTimezoneRegion_Antarctica;
+ HostComboBoxSetting *HostTimezoneRegion_America;
+ HostComboBoxSetting *HostTimezoneRegion_Africa;
void timezoneregion_fillselection(QString);
void timezoneregion_fillselection_zone();
@@ -84,7 +84,7 @@ signals:
/*
class NFSSettings: public
- TriggeredConfigurationGroup {
+ GroupSetting {
public:
NFSSettings();
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro b/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
index 099d0f0..08704cf 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
@@ -38,21 +38,22 @@ INSTALLS += uifiles
QMAKE_CLEAN += $(TARGET)
# Input
-//HEADERS += commandlineparser.h
-//SOURCES += main.cpp commandlineparser.cpp
-
HEADERS += installdialog.h commandlineparser.h installsettings.h
-HEADERS += settemplate.h installationtype.h xorgsettings.h password_manage.h
-HEADERS += misc_settings.h mv_common.h infrared.h compat-mv.h supplemental.h
+HEADERS += installationtype.h xorgsettings.h password_manage.h
+#HEADERS += settemplate.h installationtype.h xorgsettings.h password_manage.h
+#HEADERS += misc_settings.h mv_common.h infrared.h compat-mv.h supplemental.h
+HEADERS += misc_settings.h mv_common.h infrared.h supplemental.h
HEADERS += vnc.h fileshare.h questionnotice.h
-HEADERS += mythconfigdialogs.h mythconfiggroups.h
-HEADERS += settings.h
+#HEADERS += mythconfigdialogs.h mythconfiggroups.h
+#HEADERS += settings.h
SOURCES += main.cpp commandlineparser.cpp installdialog.cpp installsettings.cpp
-SOURCES += settemplate.cpp installationtype.cpp xorgsettings.cpp
-SOURCES += password_manage.cpp misc_settings.cpp infrared.cpp compat-mv.cpp
+SOURCES += installationtype.cpp xorgsettings.cpp
+#SOURCES += settemplate.cpp installationtype.cpp xorgsettings.cpp
+#SOURCES += password_manage.cpp misc_settings.cpp infrared.cpp compat-mv.cpp
+SOURCES += password_manage.cpp misc_settings.cpp infrared.cpp
SOURCES += supplemental.cpp vnc.cpp fileshare.cpp questionnotice.cpp
-SOURCES += mythconfigdialogs.cpp mythconfiggroups.cpp
-SOURCES += settings.cpp
+#SOURCES += mythconfigdialogs.cpp mythconfiggroups.cpp
+#SOURCES += settings.cpp
QT += sql xml network widgets
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp
index 11e2974..3fc0e02 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp
@@ -128,31 +128,31 @@ bool UserManagement::user_valid_check(QString check_string)
}
-UserManagement::UserManagement():
- VerticalConfigurationGroup(false,false,false,false)
+UserManagement::UserManagement()
{
- setLabel(QObject::tr("User Accounts"));
- userlist = new TransComboBoxSetting(false);
+ GroupSetting* UMsettings = new GroupSetting();
+ UMsettings->setLabel(QObject::tr("User Accounts"));
+ HostComboBoxSetting* userlist = new HostComboBoxSetting(false);
userlist->setLabel(QObject::tr("User"));
userlist->addSelection("root");
userlist->addSelection("mythtv");
user_fillselection();
userlist->setHelpText(QObject::tr("Select the user to change the user password or delete the user account."));
- userpass1= new TransLineEditSetting(true);
+ userpass1= new HostLineEditSetting(true);
userpass1->setLabel("Password");
userpass1->SetPasswordEcho(passtoggle);
userpass1->setHelpText("The following characters will not be accepted: " + invalid_chars);
- passToggleButton = new TransButtonSetting;
+ passToggleButton = new ButtonStandardSetting;
passToggleButton->setLabel("Toggle Password View");
passToggleButton->setHelpText(QObject::tr("Hide or show the password."));
- info = new TransLabelSetting;
- info->setValue("");
+// info = new TransLabelSetting;
+// info->setValue("");
- userapplyButton = new TransButtonSetting;
+ userapplyButton = new ButtonStandardSetting;
userapplyButton->setLabel("Apply New Password");
usercreateButton = new TransButtonSetting;
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h b/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h
index 049cbce..cea7010 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h
@@ -1,24 +1,24 @@
-#include <settings.h>
+//#include <settings.h>
+#include "standardsettings.h"
#include "mythdialogs.h"
//#include "libmyth/mythdialogs.h"
#include "libmyth/mythwidgets.h"
#include "installsettings.h"
#include <QTextStream>
-class UserManagement: public
- VerticalConfigurationGroup {
+class UserManagement: public GroupSetting {
Q_OBJECT
public:
UserManagement();
- TransComboBoxSetting *userlist;
- TransLineEditSetting *userpass1;
- TransButtonSetting *userapplyButton;
- TransButtonSetting *usercreateButton;
- TransButtonSetting *userdeleteButton;
- TransButtonSetting *passToggleButton;
- TransLabelSetting *info;
- TransCheckBoxSetting *lockaccount;
- HostCheckBox *rootSSH;
+ HostComboBoxSetting *userlist;
+ HostTextEditSetting *userpass1;
+ ButtonStandardSetting *userapplyButton;
+ ButtonStandardSetting *usercreateButton;
+ ButtonStandardSetting *userdeleteButton;
+ ButtonStandardSetting *passToggleButton;
+// TransLabelSetting *info;
+// TransMythUICheckBoxSetting *lockaccount;
+ HostCheckBoxSetting *rootSSH;
void user_fillselection(void);
bool user_exist_check(QString);
bool user_valid_check(QString);
@@ -33,29 +33,26 @@ public slots:
-class WebPassword: public
- TriggeredConfigurationGroup {
+class WebPassword: public GroupSetting {
Q_OBJECT
public:
WebPassword();
- HostLineEdit *webuser;
- HostLineEdit *webpassword;
- HostCheckBox *webAuth;
- TransButtonSetting *webpassToggleButton;
- TransLabelSetting *info;
+ HostTextEditSetting *webuser;
+ HostTextEditSetting *webpassword;
+ HostCheckBoxSetting *webAuth;
+ ButtonStandardSetting *webpassToggleButton;
+// TransLabelSetting *info;
bool valid_check(QString);
- TransButtonSetting *webapplyButton;
+ ButtonStandardSetting *webapplyButton;
public slots:
void webpassword_gathersettings();
void togglepass();
};
-class WebPasswordFrame: public
- VerticalConfigurationGroup {
+class WebPasswordFrame: public GroupSetting {
Q_OBJECT
public:
WebPasswordFrame();
- TransButtonSetting *webapplyButton;
-
+ ButtonStandardSetting *webapplyButton;
};
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp
index 7201304..def6ae6 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp
@@ -44,7 +44,7 @@ void choosetemplate (QString templateop, QString templatename , QString templat
MythCtemplate setting;
// setting.load();
// setting.save();
- setting.exec();
+// setting.exec();
};
QString thistemplate;
@@ -283,9 +283,9 @@ void c_from(QString copyhost, QString templatenumber)
-static HostComboBox *HOSTtemplatetype()
+static HostComboBoxSetting *HOSTtemplatetype()
{
- HostComboBox *gc = new HostComboBox("HOSTtemplatetype");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HOSTtemplatetype");
gc->setLabel(QObject::tr("Template options"));
gc->addSelection("Do Nothing") ;
gc->addSelection("restore");
@@ -297,9 +297,9 @@ static HostComboBox *HOSTtemplatetype()
return gc;
}
-static HostComboBox *HostTemplateSave()
+static HostComboBoxSetting *HostTemplateSave()
{
- HostComboBox *gc = new HostComboBox("HostTemplateSave");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostTemplateSave");
gc->setLabel(QObject::tr("Save Template"));
// gc->addSelection("none");
gc->addSelection("user1") ;
@@ -309,9 +309,9 @@ static HostComboBox *HostTemplateSave()
return gc;
}
-static HostComboBox *HostTemplateCopy_restore()
+static HostComboBoxSetting *HostTemplateCopy_restore()
{
- HostComboBox *gc = new HostComboBox("HostTemplateRestore");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostTemplateRestore");
gc->setLabel(QObject::tr("Template"));
// gc->addSelection("none");
gc->addSelection("Current");
@@ -323,9 +323,9 @@ static HostComboBox *HostTemplateCopy_restore()
return gc;
}
-static HostComboBox *HostTemplateRestore()
+static HostComboBoxSetting *HostTemplateRestore()
{
- HostComboBox *gc = new HostComboBox("HostTemplateRestore");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostTemplateRestore");
gc->setLabel(QObject::tr("Template"));
// gc->addSelection("none");
gc->addSelection("default_1");
@@ -338,9 +338,9 @@ static HostComboBox *HostTemplateRestore()
return gc;
}
-static HostComboBox *HostSelectcopy_from()
+static HostComboBoxSetting *HostSelectcopy_from()
{
- HostComboBox *gc = new HostComboBox("HostSelectcopy_from");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostSelectcopy_from");
gc->setLabel(QObject::tr("Host"));
// gc->addSelection("none");
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.h b/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.h
index a730cf5..c89ef33 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.h
@@ -1,7 +1,7 @@
-#include <settings.h>
+//#include <settings.h>
#include "mythdialogs.h"
-class MythCtemplate: public ConfigurationWizard {
+class MythCtemplate: public GroupSetting {
public:
MythCtemplate();
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/supplemental.h b/abs/core/mythinstall/MythVantage-app/mythinstall/supplemental.h
index 835d161..c8a670a 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/supplemental.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/supplemental.h
@@ -3,7 +3,7 @@
#include <iostream>
#include <fstream>
#include <stdio.h>
-#include "settings.h"
+//#include "settings.h"
#include "installsettings.h"
#include <qsqldatabase.h>
#include <qsqlquery.h>
@@ -15,12 +15,12 @@
#include <qapplication.h>
#include "mythmiscutil.h"
-class WindowManager_settings: public TriggeredConfigurationGroup {
+class WindowManager_settings: public GroupSetting {
Q_OBJECT
public:
WindowManager_settings();
- HostCheckBox *HostEnhancedWMStyle;
- HostCheckBox *HostSupplemental;
+ HostCheckBoxSetting *HostEnhancedWMStyle;
+ HostCheckBoxSetting *HostSupplemental;
signals:
void eth0_is_default(void);
public slots:
@@ -29,7 +29,7 @@ public:
-class Supplementalhostsettings: public VerticalConfigurationGroup {
+class Supplementalhostsettings: public GroupSetting {
// Q_OBJECT
public:
Supplementalhostsettings();
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp
index 96cb107..11bc371 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp
@@ -19,9 +19,10 @@ extern HostParms hostparm;
// return gc;
// };
//---------x11vnc
-static HostLineEdit *HostXVNCpassword()
+//static HostLineEdit *HostXVNCpassword()
+static HostTextEditSetting *HostXVNCpassword()
{
- HostLineEdit *gc = new HostLineEdit("HostXVNCpassword");
+ HostTextEditSetting *gc = new HostTextEditSetting("HostXVNCpassword");
gc->setLabel(QObject::tr("Password"));
gc->setValue("");
gc->SetPasswordEcho(true);
@@ -29,82 +30,99 @@ static HostLineEdit *HostXVNCpassword()
return gc;
};
-static HostCheckBox *HostXVNCEnable()
+static HostCheckBoxSetting *HostXVNCEnable()
{
- HostCheckBox *gc = new HostCheckBox("HostXVNCEnable");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostXVNCEnable");
gc->setLabel(QObject::tr("Enable XVNC"));
gc->setValue(false);
gc->setHelpText(QObject::tr("This will allow you to remotely see what is currently displayed on the main screen. The session will be available on vnc:2 (port 5902)."));
return gc;
};
-
-class XVNCsettings: public TriggeredConfigurationGroup {
+/*
+class XVNCsettings: public GroupSetting {
public:
- XVNCsettings():
- TriggeredConfigurationGroup(false,false,false,false) {
+ XVNCsettings()
+// TriggeredConfigurationGroup(false,false,false,false) {
+ {
setLabel(QObject::tr("XVNC Settings"));
- SetVertical(true);
- Setting* trigger = HostXVNCEnable() ;
+// SetVertical(true);
+// Setting* trigger = HostXVNCEnable() ;
+ HostCheckBoxSetting* trigger = HostXVNCEnable();
addChild(trigger);
- setTrigger(trigger);
+// setTrigger(trigger);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false,false,false);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false,false,false);
//settings->addChild(HostXVNClogin());
- settings->addChild(HostXVNCpassword());
-
- addTarget("0", new VerticalConfigurationGroup(false, false));
- addTarget("1", settings);
- };
+// settings->addChild(HostXVNCpassword());
+ HostTextEditSetting* settings = HostXVNCpassword();
+// settings->addTargetedChild("0", new VerticalConfigurationGroup(false, false));
+ settings->addTargetedChild("1", settings);
+ }
};
-
+*/
//------------------
-static HostLineEdit *HostVNCpassword()
+static HostTextEditSetting *HostVNCpassword()
{
- HostLineEdit *gc = new HostLineEdit("HostVNCpassword");
- gc->setLabel(QObject::tr("Password"));
+ HostTextEditSetting *gc = new HostTextEditSetting("HostVNCpassword");
+ gc->setLabel(QObject::tr("VNC Password"));
gc->setValue("");
gc->SetPasswordEcho(true);
gc->setHelpText(QObject::tr("Password for VNC account must be at least 5 characters long. Passwords shorter than 5 characters long will silently fail."));
return gc;
};
-static HostCheckBox *HostVNCEnable()
+static HostCheckBoxSetting *HostVNCEnable()
{
- HostCheckBox *gc = new HostCheckBox("HostVNCEnable");
+ HostCheckBoxSetting *gc = new HostCheckBoxSetting("HostVNCEnable");
gc->setLabel(QObject::tr("Enable VNC"));
gc->setValue(false);
gc->setHelpText(QObject::tr("This will start a seperate VNC session that can be used for remote administration. The session will be available on vnc:1 (port 5901)."));
return gc;
};
-
-class VNCsettings: public TriggeredConfigurationGroup {
+/*
+class VNCsettings: public GroupSetting {
public:
- VNCsettings():
- TriggeredConfigurationGroup(false,false,false,false) {
+ VNCsettings()
+// TriggeredConfigurationGroup(false,false,false,false) {
+ {
setLabel(QObject::tr("VNC Settings"));
- SetVertical(true);
- Setting* trigger = HostVNCEnable() ;
+// SetVertical(true);
+// Setting* trigger = HostVNCEnable() ;
+ HostCheckBoxSetting* trigger = HostVNCEnable();
addChild(trigger);
- setTrigger(trigger);
+// setTrigger(trigger);
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false,false,false);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false,false,false);
//settings->addChild(HostVNClogin());
- settings->addChild(HostVNCpassword());
+ //settings->addChild(HostVNCpassword());
- addTarget("0", new VerticalConfigurationGroup(false, false));
- addTarget("1", settings);
- };
+ HostTextEditSetting* settings = HostVNCpassword();
+// addTarget("0", new VerticalConfigurationGroup(false, false));
+ settings->addTargetedChild("1", settings);
+// addTarget("1", settings);
+ }
};
+*/
-
-VNChostsettings::VNChostsettings():
- VerticalConfigurationGroup(false,false,false,false)
- {
- setLabel(QObject::tr("Screen Sharing Settings"));
- VNCsettings *vncframe = new VNCsettings();
- XVNCsettings *xvncframe = new XVNCsettings();
- addChild(vncframe);
- addChild(xvncframe);
- }
+VNChostsettings::VNChostsettings()
+{
+ GroupSetting* SSsettings = new GroupSetting();
+ SSsettings->setLabel(QObject::tr("Screen Sharing Settings"));
+ HostCheckBoxSetting* vnctrigger = HostVNCEnable();
+ addChild(vnctrigger);
+ vnctrigger->addTargetedChild("1", HostVNCpassword());
+ //HostTextEditSetting* vncsettings = HostVNCpassword();
+ //vncsettings->addTargetedChild("1", vncsettings);
+
+ //SSsettings->addChild(XVNCsettings());
+ setLabel(QObject::tr("XVNC Settings"));
+ HostCheckBoxSetting* xvnctrigger = HostXVNCEnable();
+ addChild(xvnctrigger);
+ HostTextEditSetting* xvncsettings = HostXVNCpassword();
+// settings->addTargetedChild("0", new VerticalConfigurationGroup(false, false));
+ xvncsettings->addTargetedChild("1", xvncsettings);
+
+ //addChild(SSsettings);
+}
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.h b/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.h
index 3b1b349..c1d04d3 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.h
@@ -3,8 +3,9 @@
#include <iostream>
#include <fstream>
#include <stdio.h>
-#include "settings.h"
-#include "installsettings.h"
+//#include "settings.h"
+#include "standardsettings.h"
+//#include "installsettings.h"
#include <qsqldatabase.h>
#include <qsqlquery.h>
@@ -16,13 +17,7 @@
#include "mythmiscutil.h"
-class VNChostsettings: public VerticalConfigurationGroup {
+class VNChostsettings: public GroupSetting {
public:
VNChostsettings();
-
};
-
-
-
-
-
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp
index eb6c893..f34f95d 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp
@@ -61,7 +61,6 @@ static HostComboBox *HostXgeneric_connection()
gc->setHelpText(QObject::tr("Video-out"));
return gc;
}
-*/
static HostCheckBox *HostXIgnoreEDID()
{
@@ -278,11 +277,11 @@ void AdvancedXGeneric_modelines::AdvancedXGeneric_modelines_GatherSettings(void)
// Jump to final step
testXconfiguration();
}
-
+*/
// --------------------------------------------start of nvidia specific ------------------------------------
-
+/*
AdvancedXNvidiaConnections::AdvancedXNvidiaConnections():
TriggeredConfigurationGroup(false,false,true,true,true,true,true,true) {
@@ -544,7 +543,7 @@ void AdvancedXcardtype::AdvancedXcardgatherSettings(void)
else
emit go();
};
-
+*/
// AdvancedXSettings::AdvancedXSettings():
// TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) {
@@ -591,14 +590,11 @@ void AdvancedXcardtype::AdvancedXcardgatherSettings(void)
//
// };
-AdvancedXSettings::AdvancedXSettings():
- TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) {
+AdvancedXSettings::AdvancedXSettings(): GroupSetting()
+{
setLabel(QObject::tr("Display Settings"));
-
-
-
- HostXIgnoreConfig = new HostCheckBox("HostXIgnoreConfig");
+ HostXIgnoreConfig = new HostCheckBoxSetting("HostXIgnoreConfig");
HostXIgnoreConfig->setLabel(QObject::tr("User Supplied Configuration"));
HostXIgnoreConfig->setValue(false);
#ifdef __MVAPP__
@@ -607,31 +603,21 @@ AdvancedXSettings::AdvancedXSettings():
HostXIgnoreConfig->setHelpText(QObject::tr("If checked, the system will use the configuration file provided by YOU. Place your configuration file in /home/mythtv/templates/xorg.user."));
#endif
- Setting* Advancedxsettings = HostXIgnoreConfig;
- addChild(Advancedxsettings);
- setTrigger(Advancedxsettings);
-
-
-
-
-
-
- ConfigurationGroup* settings = new VerticalConfigurationGroup(false);
-
-
- ConfigurationGroup* setting1 = new GridConfigurationGroup(1,false);
- setting1->addChild(HostXres());
-
- addTarget("0",setting1);
- addTarget("1", settings);
-
+// Setting* Advancedxsettings = HostXIgnoreConfig;
+ addChild(HostXIgnoreConfig);
+// setTrigger(Advancedxsettings);
+// ConfigurationGroup* settings = new VerticalConfigurationGroup(false);
+// ConfigurationGroup* setting1 = new GridConfigurationGroup(1,false);
+ HostXIgnoreConfig->addTargetedChild("1", HostXres());
+// addTarget("0",setting1);
+// addTarget("1", settings);
};
-
+/*
void AdvancedXSettings::ADJUSTEDID(void)
{
EDIDOptions edidscreen;
@@ -684,10 +670,4 @@ void testXconfiguration(void)
GetMythMainWindow(), QObject::tr("Test X button"),
message);
};
-
-
-
-
-
-
-
+*/
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
index ad62564..8c659f7 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
@@ -1,6 +1,6 @@
-#include <settings.h>
-#include "mythdialogs.h"
-#include "libmyth/mythdialogs.h"
+//#include <settings.h>
+//#include "mythdialogs.h"
+//#include "libmyth/mythdialogs.h"
#include "libmyth/mythwidgets.h"
#include "installsettings.h"
@@ -8,13 +8,13 @@
#include <qdir.h>
-class AdvancedXNvidiaConnections: public TriggeredConfigurationGroup {
+class AdvancedXNvidiaConnections: public GroupSetting {
Q_OBJECT
public:
AdvancedXNvidiaConnections();
- HostComboBox *HostXNvidiaConnection;
- HostComboBox *HostXnVidiaTVformat;
- HostComboBox *HostXnVidiaTVstandard;
+ HostComboBoxSetting *HostXNvidiaConnection;
+ HostComboBoxSetting *HostXnVidiaTVformat;
+ HostComboBoxSetting *HostXnVidiaTVstandard;
public slots:
void AdvancedXNvidiaConnectionsGatherSettings();
@@ -23,20 +23,20 @@ signals:
};
-class AdvancedXNvidia_modelines: public TriggeredConfigurationGroup {
+class AdvancedXNvidia_modelines: public GroupSetting {
Q_OBJECT
public:
AdvancedXNvidia_modelines();
- HostComboBox *HostXNvidiaModelineCatagory;
- HostComboBox *HostXNvidiaadvancedresVESA;
- HostComboBox *HostXNvidiaadvancedresATSC;
- HostComboBox *HostXNvidiaadvancedresDVD;
- HostComboBox *HostXNvidiaadvancedresNTSC;
- HostComboBox *HostXNvidiaadvancedresCustom;
- HostCheckBox *HostXnVidia1080p;
- HostCheckBox *HostXnVidia1080i;
- HostCheckBox *HostXnVidia720p;
- HostCheckBox *HostXnVidia480p;
+ HostComboBoxSetting *HostXNvidiaModelineCatagory;
+ HostComboBoxSetting *HostXNvidiaadvancedresVESA;
+ HostComboBoxSetting *HostXNvidiaadvancedresATSC;
+ HostComboBoxSetting *HostXNvidiaadvancedresDVD;
+ HostComboBoxSetting *HostXNvidiaadvancedresNTSC;
+ HostComboBoxSetting *HostXNvidiaadvancedresCustom;
+ HostCheckBoxSetting *HostXnVidia1080p;
+ HostCheckBoxSetting *HostXnVidia1080i;
+ HostCheckBoxSetting *HostXnVidia720p;
+ HostCheckBoxSetting *HostXnVidia480p;
void Nvidia_fillselection(QString);
public slots:
void AdvancedXNvidia_modelines_GatherSettings(void);
@@ -45,11 +45,11 @@ public slots:
//-------------------------------------------------
-class AdvancedXcardtype: public TriggeredConfigurationGroup {
+class AdvancedXcardtype: public GroupSetting {
Q_OBJECT
public:
AdvancedXcardtype();
- HostComboBox *HostXcardtype;
+ HostComboBoxSetting *HostXcardtype;
public slots:
void AdvancedXcardgatherSettings();
@@ -60,34 +60,33 @@ signals:
};
-class AdvancedXSettings: public TriggeredConfigurationGroup {
+class AdvancedXSettings: public GroupSetting {
Q_OBJECT
public:
AdvancedXSettings();
- HostCheckBox *HostXIgnoreConfig;
+ HostCheckBoxSetting *HostXIgnoreConfig;
protected slots:
void ADJUSTEDID(void);
};
-class AdvancedXGeneric_modelines: public TriggeredConfigurationGroup {
+class AdvancedXGeneric_modelines: public GroupSetting {
Q_OBJECT
public:
AdvancedXGeneric_modelines();
- HostComboBox *HostXModelineCatagory;
- HostComboBox *HostXadvancedresVESA;
- HostComboBox *HostXadvancedresATSC;
- HostComboBox *HostXadvancedresDVD;
- HostComboBox *HostXadvancedresNTSC;
- HostComboBox *HostXadvancedresCustom;
+ HostComboBoxSetting *HostXModelineCatagory;
+ HostComboBoxSetting *HostXadvancedresVESA;
+ HostComboBoxSetting *HostXadvancedresATSC;
+ HostComboBoxSetting *HostXadvancedresDVD;
+ HostComboBoxSetting *HostXadvancedresNTSC;
+ HostComboBoxSetting *HostXadvancedresCustom;
void generic_fillselection(QString);
public slots:
void AdvancedXGeneric_modelines_GatherSettings(void);
};
-class EDIDOptions : public ConfigurationWizard
-{
+class EDIDOptions : public GroupSetting {
public:
EDIDOptions();
};
@@ -101,10 +100,10 @@ void ReadDDCvalues();
#include <iostream>
-static HostComboBox *HostXres()
+static HostComboBoxSetting *HostXres()
//Used in the simple config
{
- HostComboBox *gc = new HostComboBox("HostXres");
+ HostComboBoxSetting *gc = new HostComboBoxSetting("HostXres");
gc->setLabel(QObject::tr("Initial Resolution"));
gc->addSelection("Auto") ;
gc->setHelpText(QObject::tr(""));
@@ -124,4 +123,3 @@ static HostComboBox *HostXres()
return gc;
}
-
diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD
index 24a8235..76cce00 100644
--- a/abs/core/mythinstall/PKGBUILD
+++ b/abs/core/mythinstall/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Jams
pkgname=mythinstall
pkgver=8.6
-pkgrel=1
+pkgrel=2
pkgdesc="LinHES installer/systemconfig GUI."
arch=('x86_64')
depends=('mythtv>=30.0' 'LinHES-config')
diff --git a/abs/core/mythtv/stable-30/mythtv/PKGBUILD b/abs/core/mythtv/stable-30/mythtv/PKGBUILD
index 6385e5b..a12b1e4 100644
--- a/abs/core/mythtv/stable-30/mythtv/PKGBUILD
+++ b/abs/core/mythtv/stable-30/mythtv/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythtv
pkgver=30.0
-pkgrel=12
+pkgrel=13
commit_hash=`cat ../git_src/git_hash`
pkgdesc="A Homebrew PVR project $commit_hash"
arch=('x86_64')
@@ -38,6 +38,7 @@ patches=(
'fixTranslations.patch' #MythTV Ticket 13286
# 'pull103-Add-heuristic-in-TMDB-script-to-detect-movie-release-years.patch'
'addHostnameIPtoMachineStatus.patch' #MythTV Ticket 13430
+ 'sortingPrefixesFixAn.patch'
'revertQTsettingsForMythinstall.patch'
)
diff --git a/abs/core/mythtv/stable-30/mythtv/sortingPrefixesFixAn.patch b/abs/core/mythtv/stable-30/mythtv/sortingPrefixesFixAn.patch
new file mode 100644
index 0000000..3d1a380
--- /dev/null
+++ b/abs/core/mythtv/stable-30/mythtv/sortingPrefixesFixAn.patch
@@ -0,0 +1,12 @@
+diff --git a/mythtv/libs/libmythbase/mythsorthelper.cpp b/mythtv/libs/libmythbase/mythsorthelper.cpp
+index 642c42d8f4..b6f064cccd 100644
+--- a/mythtv/libs/libmythbase/mythsorthelper.cpp
++++ b/mythtv/libs/libmythbase/mythsorthelper.cpp
+@@ -14,7 +14,6 @@ void MythSortHelper::MythSortHelperCommon(void)
+ {
+ m_prefixes = tr("^(The |A |An )",
+ "Regular Expression for what to ignore when sorting");
+- m_prefixes = m_prefixes.trimmed();
+ if (not hasPrefixes()) {
+ // This language doesn't ignore any words when sorting
+ m_prefix_mode = SortPrefixKeep;
diff --git a/abs/core/python_modules/docutils/PKGBUILD b/abs/core/python_modules/docutils/PKGBUILD
index 1b7cbe6..fda440e 100644
--- a/abs/core/python_modules/docutils/PKGBUILD
+++ b/abs/core/python_modules/docutils/PKGBUILD
@@ -1,19 +1,18 @@
-# $Id$
# Maintainer: Sébastien Luttringer
# Contributor : Ionut Biru <ibiru@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgbase=docutils
pkgname=('python-docutils' 'python2-docutils')
-pkgver=0.14
-pkgrel=1
+pkgver=0.16
+pkgrel=4
pkgdesc='Set of tools for processing plaintext docs into formats such as HTML, XML, or LaTeX'
arch=('any')
url='http://docutils.sourceforge.net'
license=('custom')
makedepends=('python' 'python2')
-source=("http://downloads.sourceforge.net/$pkgbase/$pkgbase-$pkgver.tar.gz")
-md5sums=('c53768d63db3873b7d452833553469de')
+source=("https://downloads.sourceforge.net/$pkgbase/$pkgbase-$pkgver.tar.gz")
+sha512sums=('1a4e1bdedc79388e73dd438ae6d4d2ba67a005c745613452e027c0f6b378058b528f3329d650454fc0d3dd5253a1eb95dc52b35846cbfb4d8618d9bd4c3ad934')
build() {
cd $pkgbase-$pkgver
diff --git a/abs/core/python_modules/python-babel/PKGBUILD b/abs/core/python_modules/python-babel/PKGBUILD
index fcbdc4b..1b144f7 100644
--- a/abs/core/python_modules/python-babel/PKGBUILD
+++ b/abs/core/python_modules/python-babel/PKGBUILD
@@ -1,54 +1,48 @@
-# $Id$
# Maintainer: Morten Linderud <foxboron@archlinux.no>
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor : Giedrius Slavinskas <giedrius25@gmail.com>
-pkgbase=python-babel
-pkgname=(python-babel python2-babel)
-pkgver=2.5.3
-pkgrel=4
+pkgname=python-babel
+pkgver=2.8.1
+_core=36
+pkgrel=2
pkgdesc="A collection of tools for internationalizing Python applications"
url="http://babel.pocoo.org/"
license=("BSD")
arch=('any')
-makedepends=('python' 'python2'
- 'python-setuptools' 'python2-setuptools'
- 'python-pytz' 'python2-pytz')
-noextract=("core-28.zip")
-source=("$pkgbase-$pkgver.tar.gz::https://github.com/python-babel/babel/archive/v$pkgver.tar.gz"
- "core-29.zip::http://unicode.org/Public/cldr/29/core.zip")
-sha256sums=('4c231f28875552abe18c6c10829cec0884d7eeb27423b562357250dc32090cb9'
- 'b3308f8d3b4a80045ce4262b2784ac8d99775e80aaacafbf1277833f6b28ffda')
+depends=('python' 'python-pytz')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest' 'python-pytest-runner' 'python-freezegun')
+noextract=("cldr-core-$_core.zip")
+source=("$pkgname-$pkgver.tar.gz::https://github.com/python-babel/babel/archive/v$pkgver.tar.gz"
+ "cldr-core-$_core.zip::http://unicode.org/Public/cldr/$_core/core.zip"
+ "python-3.9.patch")
+sha256sums=('2324e41ffb439a83748813e54718574c094222bb32996d466958a7a3d6c23a47'
+ '07279e56c1f4266d140b907ef3ec379dce0a99542303a9628562ac5fe460ba43'
+ '13adbc61cf0c59f215f38cd5b1a4dc3c29f2e35c9e9d054f64a9f03308401b0a')
prepare() {
- cp -a babel-$pkgver{,-py2}
- cp "$srcdir"/core-29.zip babel-$pkgver-py2/cldr/
- cp "$srcdir"/core-29.zip babel-$pkgver/cldr/
+ # Python 3.9 fixes
+ patch -Np1 -d babel-$pkgver <python-3.9.patch
+
+ cp "$srcdir"/cldr-core-$_core.zip babel-$pkgver/cldr/cldr-core-$_core.zip
}
build(){
cd "$srcdir/babel-$pkgver"
python setup.py import_cldr
python setup.py build
+}
- cd "$srcdir/babel-$pkgver-py2"
- python2 setup.py import_cldr
- python2 setup.py build
+check(){
+ cd "$srcdir/babel-$pkgver"
+ # the tests fail if running in the wrong timezone:
+ # https://github.com/python-babel/babel/issues/757
+ TZ=UTC python setup.py pytest
}
package_python-babel() {
- depends=('python' 'python-pytz')
-
cd "$srcdir"/babel-${pkgver}
python setup.py install --root="$pkgdir" --optimize=1 --skip-build
install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-
-package_python2-babel() {
- depends=('python2' 'python2-pytz')
-
- cd "$srcdir"/babel-${pkgver}-py2
- python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
- mv "$pkgdir"/usr/bin/pybabel "$pkgdir"/usr/bin/pybabel2
- install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}
diff --git a/abs/core/python_modules/python-babel/python-3.9.patch b/abs/core/python_modules/python-babel/python-3.9.patch
new file mode 100644
index 0000000..676c682
--- /dev/null
+++ b/abs/core/python_modules/python-babel/python-3.9.patch
@@ -0,0 +1,202 @@
+From 4fa749b918810b52a63b312d82e4003e24db0406 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Mon, 6 Jan 2020 00:37:39 +0100
+Subject: [PATCH] Replace usage of parser.suite with ast.parse
+
+Replaced usage of the long-superseded "parser.suite" module in the
+mako.util package for parsing the python magic encoding comment with the
+"ast.parse" function introduced many years ago in Python 2.5, as
+"parser.suite" is emitting deprecation warnings in Python 3.9.
+
+Fixes https://github.com/sqlalchemy/mako/issues/310
+See also https://github.com/sqlalchemy/mako/commit/2dae7d2c3da73653e6de329dc15c55056a0b9ab6
+---
+ babel/util.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/babel/util.py b/babel/util.py
+index 73a90516..c371badb 100644
+--- a/babel/util.py
++++ b/babel/util.py
+@@ -68,8 +68,8 @@ def parse_encoding(fp):
+ m = PYTHON_MAGIC_COMMENT_re.match(line1)
+ if not m:
+ try:
+- import parser
+- parser.suite(line1.decode('latin-1'))
++ import ast
++ ast.parse(line1.decode('latin-1'))
+ except (ImportError, SyntaxError, UnicodeEncodeError):
+ # Either it's a real syntax error, in which case the source is
+ # not valid python source, or line2 is a continuation of line1,
+
+From 167b71421f113e2210e4deefef5020402492e5be Mon Sep 17 00:00:00 2001
+From: Felix Schwarz <felix.schwarz@oss.schwarz.eu>
+Date: Tue, 5 May 2020 09:58:01 +0200
+Subject: [PATCH] stop using deprecated ElementTree methods "getchildren()" and
+ "getiterator()"
+
+Both methods were removed in Python 3.9 as mentioned in the release notes:
+
+> Methods getchildren() and getiterator() of classes ElementTree and Element in
+> the ElementTree module have been removed. They were deprecated in Python 3.2.
+> Use iter(x) or list(x) instead of x.getchildren() and x.iter() or
+> list(x.iter()) instead of x.getiterator().
+---
+ scripts/import_cldr.py | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/scripts/import_cldr.py b/scripts/import_cldr.py
+index 8993b68e..2ed3af91 100755
+--- a/scripts/import_cldr.py
++++ b/scripts/import_cldr.py
+@@ -598,7 +598,7 @@ def parse_calendar_months(data, calendar):
+ for width in ctxt.findall('monthWidth'):
+ width_type = width.attrib['type']
+ widths = ctxts.setdefault(width_type, {})
+- for elem in width.getiterator():
++ for elem in width.iter():
+ if elem.tag == 'month':
+ _import_type_text(widths, elem, int(elem.attrib['type']))
+ elif elem.tag == 'alias':
+@@ -616,7 +616,7 @@ def parse_calendar_days(data, calendar):
+ for width in ctxt.findall('dayWidth'):
+ width_type = width.attrib['type']
+ widths = ctxts.setdefault(width_type, {})
+- for elem in width.getiterator():
++ for elem in width.iter():
+ if elem.tag == 'day':
+ _import_type_text(widths, elem, weekdays[elem.attrib['type']])
+ elif elem.tag == 'alias':
+@@ -634,7 +634,7 @@ def parse_calendar_quarters(data, calendar):
+ for width in ctxt.findall('quarterWidth'):
+ width_type = width.attrib['type']
+ widths = ctxts.setdefault(width_type, {})
+- for elem in width.getiterator():
++ for elem in width.iter():
+ if elem.tag == 'quarter':
+ _import_type_text(widths, elem, int(elem.attrib['type']))
+ elif elem.tag == 'alias':
+@@ -649,7 +649,7 @@ def parse_calendar_eras(data, calendar):
+ for width in calendar.findall('eras/*'):
+ width_type = NAME_MAP[width.tag]
+ widths = eras.setdefault(width_type, {})
+- for elem in width.getiterator():
++ for elem in width.iter():
+ if elem.tag == 'era':
+ _import_type_text(widths, elem, type=int(elem.attrib.get('type')))
+ elif elem.tag == 'alias':
+@@ -676,7 +676,7 @@ def parse_calendar_periods(data, calendar):
+ def parse_calendar_date_formats(data, calendar):
+ date_formats = data.setdefault('date_formats', {})
+ for format in calendar.findall('dateFormats'):
+- for elem in format.getiterator():
++ for elem in format.iter():
+ if elem.tag == 'dateFormatLength':
+ type = elem.attrib.get('type')
+ if _should_skip_elem(elem, type, date_formats):
+@@ -696,7 +696,7 @@ def parse_calendar_date_formats(data, calendar):
+ def parse_calendar_time_formats(data, calendar):
+ time_formats = data.setdefault('time_formats', {})
+ for format in calendar.findall('timeFormats'):
+- for elem in format.getiterator():
++ for elem in format.iter():
+ if elem.tag == 'timeFormatLength':
+ type = elem.attrib.get('type')
+ if _should_skip_elem(elem, type, time_formats):
+@@ -717,7 +717,7 @@ def parse_calendar_datetime_skeletons(data, calendar):
+ datetime_formats = data.setdefault('datetime_formats', {})
+ datetime_skeletons = data.setdefault('datetime_skeletons', {})
+ for format in calendar.findall('dateTimeFormats'):
+- for elem in format.getiterator():
++ for elem in format.iter():
+ if elem.tag == 'dateTimeFormatLength':
+ type = elem.attrib.get('type')
+ if _should_skip_elem(elem, type, datetime_formats):
+@@ -880,7 +880,7 @@ def parse_interval_formats(data, tree):
+ interval_formats[None] = elem.text
+ elif elem.tag == "intervalFormatItem":
+ skel_data = interval_formats.setdefault(elem.attrib["id"], {})
+- for item_sub in elem.getchildren():
++ for item_sub in elem:
+ if item_sub.tag == "greatestDifference":
+ skel_data[item_sub.attrib["id"]] = split_interval_pattern(item_sub.text)
+ else:
+@@ -903,7 +903,7 @@ def parse_currency_formats(data, tree):
+ type = '%s:%s' % (type, curr_length_type)
+ if _should_skip_elem(elem, type, currency_formats):
+ continue
+- for child in elem.getiterator():
++ for child in elem.iter():
+ if child.tag == 'alias':
+ currency_formats[type] = Alias(
+ _translate_alias(['currency_formats', elem.attrib['type']],
+
+From 7bdaa28a55e8d8228d5434effa4b1473ab7b3669 Mon Sep 17 00:00:00 2001
+From: Felix Schwarz <felix.schwarz@oss.schwarz.eu>
+Date: Tue, 5 May 2020 08:05:56 +0000
+Subject: [PATCH] fix tests when using Python 3.9a6
+
+In Python 3.9a6 integer values for future flags were changed to prevent
+collision with compiler flags. We need to retrieve these at runtime so
+the test suite works with Python <= 3.8 as well as Python 3.9.
+---
+ tests/test_util.py | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_util.py b/tests/test_util.py
+index a6a4450c..b9343aaa 100644
+--- a/tests/test_util.py
++++ b/tests/test_util.py
+@@ -11,6 +11,7 @@
+ # individuals. For the exact contribution history, see the revision
+ # history and logs, available at http://babel.edgewall.org/log/.
+
++import __future__
+ import unittest
+
+ import pytest
+@@ -20,6 +21,12 @@
+ from babel.util import parse_future_flags
+
+
++class _FF:
++ division = __future__.division.compiler_flag
++ print_function = __future__.print_function.compiler_flag
++ with_statement = __future__.with_statement.compiler_flag
++ unicode_literals = __future__.unicode_literals.compiler_flag
++
+ def test_distinct():
+ assert list(util.distinct([1, 2, 1, 3, 4, 4])) == [1, 2, 3, 4]
+ assert list(util.distinct('foobar')) == ['f', 'o', 'b', 'a', 'r']
+@@ -70,25 +77,25 @@ def test_parse_encoding_non_ascii():
+ from __future__ import print_function,
+ division, with_statement,
+ unicode_literals
+-''', 0x10000 | 0x2000 | 0x8000 | 0x20000),
++''', _FF.print_function | _FF.division | _FF.with_statement | _FF.unicode_literals),
+ ('''
+ from __future__ import print_function, division
+ print('hello')
+-''', 0x10000 | 0x2000),
++''', _FF.print_function | _FF.division),
+ ('''
+ from __future__ import print_function, division, unknown,,,,,
+ print 'hello'
+-''', 0x10000 | 0x2000),
++''', _FF.print_function | _FF.division),
+ ('''
+ from __future__ import (
+ print_function,
+ division)
+-''', 0x10000 | 0x2000),
++''', _FF.print_function | _FF.division),
+ ('''
+ from __future__ import \\
+ print_function, \\
+ division
+-''', 0x10000 | 0x2000),
++''', _FF.print_function | _FF.division),
+ ])
+ def test_parse_future(source, result):
+ fp = BytesIO(source.encode('latin-1'))
diff --git a/abs/core/python_modules/python-beautifulsoup4/PKGBUILD b/abs/core/python_modules/python-beautifulsoup4/PKGBUILD
index 5ed3781..e3d2f56 100644
--- a/abs/core/python_modules/python-beautifulsoup4/PKGBUILD
+++ b/abs/core/python_modules/python-beautifulsoup4/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgbase=python-beautifulsoup4
pkgname=('python-beautifulsoup4' 'python2-beautifulsoup4')
-pkgver=4.6.0
-pkgrel=2
+pkgver=4.9.3
+pkgrel=3
pkgdesc="A Python HTML/XML parser designed for quick turnaround projects like screen-scraping"
arch=('any')
-url="http://www.crummy.com/software/BeautifulSoup/index.html"
+url="https://www.crummy.com/software/BeautifulSoup/index.html"
license=('PSF')
-makedepends=('python-setuptools' 'python2-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-soupsieve' 'python2-soupsieve')
checkdepends=('python-pytest' 'python2-pytest')
-source=("http://www.crummy.com/software/BeautifulSoup/bs4/download/${pkgver%.*}/${pkgbase#*-}-$pkgver.tar.gz")
-sha512sums=('1a7eee4218e58cc3852e71fe4f0892f673bb46a851941264766a38eff8ef05d612d88b4641fcb478ce8f66ac50dc987ca039923c4bbb11867c74813289f7e578')
+source=("https://pypi.io/packages/source/b/beautifulsoup4/beautifulsoup4-$pkgver.tar.gz")
+sha512sums=('e3cb6258bd7c51f12128fa8ee5948fb3566163ae233fac2dda21bab7772ab8dbb384d920b0ea138ef9921307b48f89cee3a9bf6111dfc8903d917ee7af365f34')
prepare() {
cp -a beautifulsoup4-$pkgver{,-py2}
@@ -37,7 +36,7 @@ check() {
}
package_python-beautifulsoup4() {
- depends=('python')
+ depends=('python-soupsieve')
optdepends=('python-chardet: to autodetect character encodings'
'python-lxml: alternative HTML parser'
'python-html5lib: alternative HTML parser')
@@ -47,7 +46,7 @@ package_python-beautifulsoup4() {
}
package_python2-beautifulsoup4() {
- depends=('python2')
+ depends=('python2-soupsieve')
optdepends=('python2-chardet: to autodetect character encodings'
'python2-lxml: alternative HTML parser'
'python2-html5lib: alternative HTML parser')
diff --git a/abs/core/python_modules/python-chardet/PKGBUILD b/abs/core/python_modules/python-chardet/PKGBUILD
index 6b6332d..a123390 100644
--- a/abs/core/python_modules/python-chardet/PKGBUILD
+++ b/abs/core/python_modules/python-chardet/PKGBUILD
@@ -1,4 +1,3 @@
-# $Id$
# Maintainer : Felix Yan <felixonmars@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
@@ -6,7 +5,7 @@
pkgbase=python-chardet
pkgname=('python-chardet' 'python2-chardet')
pkgver=3.0.4
-pkgrel=2
+pkgrel=7
arch=('any')
url="https://github.com/chardet/chardet"
license=('LGPL')
diff --git a/abs/core/python_modules/python-future/PKGBUILD b/abs/core/python_modules/python-future/PKGBUILD
index 3cc7fa5..55c7d3b 100644
--- a/abs/core/python_modules/python-future/PKGBUILD
+++ b/abs/core/python_modules/python-future/PKGBUILD
@@ -1,66 +1,38 @@
-# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Christopher Arndt <aur -at- chrisarndt -dot- de>
# Contributor: Gaute Hope <eg@gaute.vetsj.com>
# Contributor: Melissa Padilla <mpadilla2 at hotmail dot com>
-pkgbase=python-future
-pkgname=(python-future python2-future)
-pkgver=0.16.0
+pkgname=python-future
+pkgver=0.18.2
pkgrel=3
pkgdesc="Clean single-source support for Python 3 and 2"
-url="http://python-future.org/"
+url="https://python-future.org/"
arch=('any')
license=('MIT')
-makedepends=('python-setuptools' 'python2-setuptools')
-checkdepends=('python-requests' 'python2-requests')
+depends=('python')
+provides=('futurize' 'pasteurize')
+checkdepends=('python-requests')
+makedepends=('python-setuptools')
+optdepends=('python-setuptools: futurize and pasteurize scripts')
options=('!emptydirs')
source=("https://pypi.io/packages/source/f/future/future-$pkgver.tar.gz")
-sha256sums=('e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb')
-
-prepare() {
- cp -a future-$pkgver{,-py2}
-}
+sha512sums=('91c025f7d94bcdf93df838fab67053165a414fc84e8496f92ecbb910dd55f6b6af5e360bbd051444066880c5a6877e75157bd95e150ead46e5c605930dfc50f2')
build() {
cd "$srcdir"/future-$pkgver
python setup.py build
-
- cd "$srcdir"/future-$pkgver-py2
- python2 setup.py build
}
check() {
cd "$srcdir"/future-$pkgver
- PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python setup.py test || warning "Tests failed"
-
- cd "$srcdir"/future-$pkgver-py2
- PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python2 setup.py test
+#PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python setup.py test || warning "Tests failed"
}
-package_python-future() {
- depends=('python')
- optdepends=('python-setuptools: futurize and pasteurize scripts')
- provides=('futurize' 'pasteurize')
-
+package() {
cd future-$pkgver
python setup.py install --root="$pkgdir" --optimize=1
install -D -m644 LICENSE.txt \
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
}
-
-package_python2-future() {
- depends=('python2')
- optdepends=('python2-setuptools: futurize2 and pasteurize2 scripts')
-
- cd future-$pkgver-py2
-
- python2 setup.py install --root="$pkgdir" --optimize=1
-
- mv "$pkgdir"/usr/bin/futurize{,2}
- mv "$pkgdir"/usr/bin/pasteurize{,2}
-
- install -D -m644 LICENSE.txt \
- "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
-}
diff --git a/abs/core/python_modules/python-html5lib/PKGBUILD b/abs/core/python_modules/python-html5lib/PKGBUILD
index 4991390..2e7f14b 100644
--- a/abs/core/python_modules/python-html5lib/PKGBUILD
+++ b/abs/core/python_modules/python-html5lib/PKGBUILD
@@ -5,23 +5,29 @@
pkgbase=python-html5lib
pkgname=('python2-html5lib' 'python-html5lib')
-pkgver=1.0.1
-pkgrel=2
+pkgver=1.1
+pkgrel=5
arch=('any')
url="https://github.com/html5lib"
license=('MIT')
-makedepends=('python-setuptools' 'python2-setuptools' 'python-webencodings' 'python2-webencodings')
-checkdepends=('python-six' 'python2-six' 'python-pytest-expect' 'python2-pytest-expect'
- 'python-lxml' 'python2-lxml' 'python-mock' 'python2-mock')
-_test_commit=c305da74fae50fb018870de7a042da36c1a93b65
+_deps=('six' 'webencodings')
+makedepends=('python-setuptools' 'python2-setuptools' "${_deps[@]/#/python-}" "${_deps[@]/#/python2-}")
+_checkdeps=('pytest' 'pytest-expect' 'lxml' 'mock')
+checkdepends=("${_checkdeps[@]/#/python-}" "${_checkdeps[@]/#/python2-}")
+_test_commit=71eebd59772d1d39aced0c0582ae9c09acf3ce6e
source=("$pkgbase-$pkgver.tar.gz::https://github.com/html5lib/html5lib-python/archive/${pkgver}.tar.gz"
+ "https://github.com/html5lib/html5lib-python/commit/2c19b9899ab3a3e8bd0ca35e5d78544334204169.patch"
"https://github.com/html5lib/html5lib-tests/archive/${_test_commit}.tar.gz")
-sha256sums=('fabbebd6a55d07842087f13849076eeed350aa8bb6c9ec840f6a6aba9388db06'
- 'cb261423c644b3469ac66926e290060b481371d0952995d270492fc761d0209a')
+sha256sums=('66e9e24a53c10c27abb6be8a3cf2cf55824c6ea1cef8570a633cb223ec46e894'
+ '6f37b33667e35ea138279be9842f012792821b1497b81ae4b108a74180cfe249'
+ 'c866f5e4ae9ef34313e2b61fcb74849b6f8aef970bf8249956b6a5d142197087')
prepare() {
cd "${srcdir}"/html5lib-python-${pkgver}
+ # fix pytest 6 compat
+ patch -p1 -i ../2c19b9899ab3a3e8bd0ca35e5d78544334204169.patch
+
rmdir html5lib/tests/testdata
ln -sfT ../../../html5lib-tests-${_test_commit} html5lib/tests/testdata
}
@@ -42,22 +48,21 @@ check() {
package_python-html5lib() {
pkgdesc="A Python HTML parser/tokenizer based on the WHATWG HTML5 spec"
- depends=('python' 'python-six' 'python-webencodings')
+ depends=("${_deps[@]/#/python-}")
optdepends=('python-lxml: lxml treebuilder'
'python-genshi: genshi treewalker')
cd "${srcdir}"/html5lib-python-${pkgver}
python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
- install -Dm755 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
package_python2-html5lib() {
pkgdesc="A Python2 HTML parser/tokenizer based on the WHATWG HTML5 spec"
- depends=('python2' 'python2-six' 'python2-webencodings')
- optdepends=('python2-lxml: lxml treebuilder'
- 'python2-genshi: genshi treewalker')
+ depends=("${_deps[@]/#/python2-}")
+ optdepends=('python2-lxml: lxml treebuilder')
cd "${srcdir}"/html5lib-python-${pkgver}
python2 setup.py install --root="${pkgdir}" --optimize=1 --skip-build
- install -Dm755 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/python_modules/python-idna/PKGBUILD b/abs/core/python_modules/python-idna/PKGBUILD
index 00a64bf..6f5941d 100644
--- a/abs/core/python_modules/python-idna/PKGBUILD
+++ b/abs/core/python_modules/python-idna/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-idna
pkgname=('python-idna' 'python2-idna')
-pkgver=2.6
-pkgrel=1
+pkgver=2.10
+pkgrel=3
pkgdesc="Internationalized Domain Names in Applications (IDNA)"
arch=('any')
license=('BSD')
url="https://github.com/kjd/idna"
makedepends=('python-setuptools' 'python2-setuptools')
source=("https://pypi.io/packages/source/i/idna/idna-$pkgver.tar.gz")
-sha512sums=('cb5dbfab44c4d11521c67f9d29391f184d1267a3da6dc89f4ed12c60a7a909d5c7474c3ea2bddd0af7063f4f620e87a8dd586bb07e8b961b30b1dd7c969704c2')
+sha512sums=('83b412de2f79a4bc86fb4bdac7252521b9d84f0be54f4fb1bde1ee13a210bbfa4b1a98247affbc7921046fb117a591316c12694c1be72865767646554c5207ac')
prepare() {
+ rm -r idna-$pkgver/*.egg-info
cp -a idna-$pkgver{,-py2}
}
diff --git a/abs/core/python_modules/python-imagesize/PKGBUILD b/abs/core/python_modules/python-imagesize/PKGBUILD
index c8ee2da..6b20113 100644
--- a/abs/core/python_modules/python-imagesize/PKGBUILD
+++ b/abs/core/python_modules/python-imagesize/PKGBUILD
@@ -1,39 +1,31 @@
-pkgbase=python-imagesize
-pkgname=('python-imagesize' 'python2-imagesize')
-pkgver=1.0.0
-pkgrel=1
+pkgname=python-imagesize
+pkgver=1.2.0
+pkgrel=4
pkgdesc='Getting image size from png/jpeg/jpeg2000/gif file'
url='https://github.com/shibukawa/imagesize_py'
arch=('any')
license=('MIT')
-makedepends=('python-setuptools' 'python2-setuptools')
+depends=('python')
+makedepends=('python-setuptools')
source=("https://files.pythonhosted.org/packages/source/i/imagesize/imagesize-$pkgver.tar.gz")
-md5sums=('9aa76df782f1df5b917794638b6bb6c2')
+sha256sums=('b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1')
build() {
- cp -r imagesize-$pkgver imagesize-$pkgver-py2
-
cd "$srcdir"/imagesize-$pkgver
python setup.py build
-
- cd "$srcdir"/imagesize-$pkgver-py2
- python2 setup.py build
}
-package_python-imagesize() {
- depends=('python')
-
- cd imagesize-$pkgver
- python setup.py install --root="$pkgdir" --optimize=1
+check() {
+ cd "$srcdir"/imagesize-$pkgver
+ python -m unittest discover -v
}
-package_python2-imagesize() {
- depends=('python2')
-
- cd imagesize-$pkgver-py2
- python2 setup.py install --root="$pkgdir" --optimize=1
+package() {
+ cd imagesize-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE.rst "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.rst
}
diff --git a/abs/core/python_modules/python-jinja/PKGBUILD b/abs/core/python_modules/python-jinja/PKGBUILD
index 1bcd44e..c9822bd 100644
--- a/abs/core/python_modules/python-jinja/PKGBUILD
+++ b/abs/core/python_modules/python-jinja/PKGBUILD
@@ -1,49 +1,49 @@
-# $Id$
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: David Runge <dave@sleepmap.de>
# Contributor: Peter Baldwin <bald_pete@hotmail.com>
pkgname=('python-jinja' 'python2-jinja')
-pkgver=2.10
-pkgrel=1
+pkgver=2.11.2
+pkgrel=4
pkgdesc="A simple pythonic template language written in Python"
arch=('any')
-url="http://jinja.pocoo.org/"
+url="https://palletsprojects.com/p/jinja/"
license=('BSD')
makedepends=('python-setuptools' 'python2-setuptools' 'python-markupsafe'
'python2-markupsafe')
-source=(https://pypi.org/packages/source/J/Jinja2/Jinja2-$pkgver.tar.gz)
-sha256sums=('f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4')
+checkdepends=('python-pytest' 'python2-pytest')
+source=(https://files.pythonhosted.org/packages/source/J/Jinja2/Jinja2-$pkgver.tar.gz)
+sha256sums=('89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0')
build() {
- cd "$srcdir"
-
- rm -rf python{2,3}-build
- for builddir in python{2,3}-build; do
- cp -r Jinja2-$pkgver $builddir
- pushd $builddir
- ${builddir%-build} setup.py build
- popd
- done
+ cd Jinja2-$pkgver
+ python3 setup.py build
+}
+
+check() {
+ cd Jinja2-$pkgver
+ export PYTHONPATH=build/lib:$PYTHONPATH
+ py.test
+ py.test2
}
package_python-jinja() {
depends=('python-setuptools' 'python-markupsafe')
+ optdepends=('python-babel: for i18n support')
- cd "$srcdir/python3-build"
-
- python3 setup.py install --root="$pkgdir" -O1
+ cd Jinja2-$pkgver
+ python3 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE.rst -t "$pkgdir/usr/share/licenses/$pkgname"
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 ext/Vim/jinja.vim -t "$pkgdir/usr/share/vim/vimfiles/syntax"
}
package_python2-jinja() {
depends=('python2-setuptools' 'python2-markupsafe')
- cd "$srcdir/python2-build"
-
- python2 setup.py install --root="$pkgdir" -O1
-
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd Jinja2-$pkgver
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-lxml/PKGBUILD b/abs/core/python_modules/python-lxml/PKGBUILD
index f939617..b38d024 100644
--- a/abs/core/python_modules/python-lxml/PKGBUILD
+++ b/abs/core/python_modules/python-lxml/PKGBUILD
@@ -3,17 +3,17 @@
pkgbase=python-lxml
pkgname=('python-lxml' 'python2-lxml' 'python-lxml-docs')
-pkgver=4.3.0
-pkgrel=1
+pkgver=4.6.1
+pkgrel=3
arch=('x86_64')
license=('BSD' 'custom')
-url="http://lxml.de/"
-makedepends=('libxslt' 'python-setuptools' 'python2-setuptools' 'epydoc' 'python2-pygments'
- 'python2-docutils' 'cython' 'cython2')
+url="https://lxml.de/"
+makedepends=('libxslt' 'python-setuptools' 'python2-setuptools' 'python-pygments'
+ 'python-sphinx' 'python-sphinx_rtd_theme' 'cython' 'cython2')
checkdepends=('python-cssselect' 'python2-cssselect' 'python-html5lib' 'python2-html5lib'
'python-beautifulsoup4' 'python2-beautifulsoup4')
source=("https://github.com/lxml/lxml/archive/lxml-$pkgver.tar.gz")
-sha512sums=('3739e243b543e8a5f678aaca19fe1b5be21351c343065fe8e52709523d4e27dbd5c846c0681473b9612fd73af6a4d04ec21c6834e53680410cab854b7f7f1675')
+sha512sums=('3cc917e7535ac1be3db8939f72846313267c8b1f0adccc92a2155a160ed7299d0def718bdae1379e42398ca1b959b1130505597febca00f02cb87c8666f1f1c3')
prepare() {
mv lxml-lxml-$pkgver lxml-$pkgver
@@ -26,20 +26,20 @@ prepare() {
build() {
cd "$srcdir"/lxml-$pkgver
python setup.py build
+ make html
cd "$srcdir"/lxml-$pkgver-py2
python2 setup.py build
- make PYTHON=python2 html
}
check() {
# TODO: Find a sane way to skip inplace build
cd "$srcdir"/lxml-$pkgver
- make PYTHON=python test || warning "Tests failed"
+ make PYTHON=python test
cd "$srcdir"/lxml-$pkgver-py2
- make PYTHON=python2 test || warning "Tests failed"
+ make PYTHON=python2 test
}
package_python-lxml() {
@@ -84,7 +84,7 @@ package_python-lxml-docs() {
pkgdesc="Python binding for the libxml2 and libxslt libraries (docs)"
options=('docs')
- cd lxml-$pkgver-py2
+ cd lxml-$pkgver
install -d "$pkgdir"/usr/share/doc/$pkgbase
cp -r doc/html "$pkgdir"/usr/share/doc/$pkgbase
diff --git a/abs/core/python_modules/python-markupsafe/PKGBUILD b/abs/core/python_modules/python-markupsafe/PKGBUILD
index ec6d6f9..a57d99d 100644
--- a/abs/core/python_modules/python-markupsafe/PKGBUILD
+++ b/abs/core/python_modules/python-markupsafe/PKGBUILD
@@ -1,53 +1,46 @@
-# $Id$
# Maintainer : Felix Yan <felixonmars@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Alex Anthony <alex.anthony28991@gmail.com>
+pkgbase=python-markupsafe
pkgname=('python-markupsafe' 'python2-markupsafe')
-pkgver=1.0
-pkgrel=1
+pkgver=1.1.1
+pkgrel=6
pkgdesc="Implements a XML/HTML/XHTML Markup safe string for Python"
arch=('x86_64')
-url="http://pypi.python.org/pypi/MarkupSafe"
-license=('custom')
+url="https://pypi.python.org/pypi/MarkupSafe"
+license=('BSD')
makedepends=('python-setuptools' 'python2-setuptools')
-source=("https://pypi.io/packages/source/M/MarkupSafe/MarkupSafe-${pkgver}.tar.gz")
-sha512sums=('7437a02cb1b9c1d6d6c20b13d394f24a1cd1cb8c743f832d8b1cbb6ab8846f70f54d924dd693423b33c4d592e772983ae38fd4a35961e233457c48bd3584ecb8')
-
-prepare() {
- cp -a MarkupSafe-$pkgver{,-py2}
-}
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pallets/markupsafe/archive/$pkgver.tar.gz")
+sha512sums=('c2a1072c5dd0918e47f9cfbd30b79b0690a43635f7cfc3fdd27f3df52f8e20406d7e3cfadd29df8ab1d1110f50e23eb7c7272707e0739d862d4b1edb59bbc241')
build() {
- cd "$srcdir"/MarkupSafe-$pkgver
+ cd markupsafe-$pkgver
python setup.py build
-
- cd "$srcdir"/MarkupSafe-$pkgver-py2
python2 setup.py build
}
check() {
- cd "$srcdir"/MarkupSafe-$pkgver
- python setup.py test
-
- cd "$srcdir"/MarkupSafe-$pkgver-py2
- python2 setup.py test
+ cd markupsafe-$pkgver
+ python setup.py pytest
+ python2 setup.py pytest
}
package_python-markupsafe() {
depends=('python')
- cd MarkupSafe-$pkgver
+ cd markupsafe-$pkgver
python setup.py install --root="$pkgdir" --optimize=1
- install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python-markupsafe/LICENSE
+ install -D -m644 LICENSE.rst "$pkgdir"/usr/share/licenses/python-markupsafe/LICENSE.rst
}
package_python2-markupsafe() {
depends=('python2')
- cd MarkupSafe-$pkgver-py2
+ cd markupsafe-$pkgver
python2 setup.py install --root="$pkgdir" --optimize=1
- install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python2-markupsafe/LICENSE
+ install -D -m644 LICENSE.rst "$pkgdir"/usr/share/licenses/python2-markupsafe/LICENSE.rst
}
diff --git a/abs/core/python_modules/python-mysqlclient/PKGBUILD b/abs/core/python_modules/python-mysqlclient/PKGBUILD
new file mode 100644
index 0000000..8b49ff4
--- /dev/null
+++ b/abs/core/python_modules/python-mysqlclient/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=python-mysqlclient
+_libname=${pkgname/python-/}
+pkgver=2.0.1
+pkgrel=1
+pkgdesc="Fork of MySQL-python with support for Python 3"
+arch=('x86_64')
+url="https://github.com/PyMySQL/mysqlclient-python"
+license=('GPL')
+depends=('python' 'libmysqlclient')
+makedepends=('mysql' 'python-setuptools')
+source=("https://files.pythonhosted.org/packages/source/${_libname:0:1}/$_libname/$_libname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir"/$_libname-$pkgver
+ python setup.py build
+}
+
+package() {
+ cd "$srcdir"/$_libname-$pkgver
+ python setup.py install -O1 --skip-build --root="$pkgdir"
+}
+
+sha256sums=('fb2f75aea14722390d2d8ddf384ad99da708c707a96656210a7be8af20a2c5e5')
diff --git a/abs/core/python_modules/python-pygments/PKGBUILD b/abs/core/python_modules/python-pygments/PKGBUILD
index ef7fc43..20edf45 100644
--- a/abs/core/python_modules/python-pygments/PKGBUILD
+++ b/abs/core/python_modules/python-pygments/PKGBUILD
@@ -1,62 +1,44 @@
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Timm Preetz <timm@preetz.us>
-pkgname=('python-pygments' 'python2-pygments' 'pygmentize')
-pkgver=2.3.1
-pkgrel=1
+pkgname=python-pygments
+pkgver=2.7.2
+pkgrel=3
pkgdesc="Python syntax highlighter"
arch=('any')
-url="http://pygments.org/"
+url="https://pygments.org/"
license=('BSD')
-makedepends=('python-setuptools' 'python2-setuptools')
-options=('!emptydirs')
+depends=('python-setuptools')
+makedepends=('python-sphinx')
+checkdepends=('python-pytest')
+provides=('pygmentize')
+conflicts=('pygmentize')
+replaces=('pygmentize')
source=(https://pypi.org/packages/source/P/Pygments/Pygments-$pkgver.tar.gz)
-sha256sums=('5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a')
-
-package_python-pygments() {
- depends=('python-setuptools')
+sha256sums=('381985fcc551eb9d37c52088a32914e00517e57f4a21609f48141ba08e193fa0')
+build() {
cd "$srcdir/Pygments-$pkgver"
-
- python3 setup.py install --root="$pkgdir" -O1
-
- # pygmentize is shipped in its own package
- rm "$pkgdir/usr/bin/pygmentize"
-
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ make -C doc html
}
-package_python2-pygments() {
- depends=('python2-setuptools')
- install=python2-pygments.install
-
+check() {
cd "$srcdir/Pygments-$pkgver"
-
- python2 setup.py install --root="$pkgdir" -O1
-
- # pygmentize is shipped in its own package
- rm "$pkgdir/usr/bin/pygmentize"
-
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ PYTHONDONTWRITEBYTECODE=1 pytest
}
-package_pygmentize() {
- depends=('python-pygments')
-
+package() {
cd "$srcdir/Pygments-$pkgver"
+ export PYTHONHASHSEED=0
python3 setup.py install --root="$pkgdir" -O1
+ install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
- # Remove all files except for usr/bin/pygmentize
- find "$pkgdir" -type f -not -name pygmentize -delete
-
- # Drop version dependency from console script
- sed -i "s/Pygments==$pkgver/Pygments/g" "$pkgdir/usr/bin/pygmentize"
-
+ mkdir -p "$pkgdir/usr/share/doc"
+ cp -rT doc/_build/html "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm644 doc/pygmentize.1 -t "$pkgdir/usr/share/man/man1"
install -Dm644 external/pygments.bashcomp \
"$pkgdir/usr/share/bash-completion/completions/pygmentize"
-
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-pygments/python2-pygments.install b/abs/core/python_modules/python-pygments/python2-pygments.install
deleted file mode 100644
index 3949246..0000000
--- a/abs/core/python_modules/python-pygments/python2-pygments.install
+++ /dev/null
@@ -1,7 +0,0 @@
-post_upgrade() {
- if (($(vercmp $2 2.0.2-2) < 0)); then
- echo ':: /usr/bin/pygmentize has been moved to the pygmentize package'
- fi
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-pytest-runner/PKGBUILD b/abs/core/python_modules/python-pytest-runner/PKGBUILD
index 8928aa0..891ce11 100644
--- a/abs/core/python_modules/python-pytest-runner/PKGBUILD
+++ b/abs/core/python_modules/python-pytest-runner/PKGBUILD
@@ -1,44 +1,43 @@
-# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-pytest-runner
pkgname=('python-pytest-runner' 'python2-pytest-runner')
-pkgver=2.11.1
-pkgrel=2
+pkgver=5.2
+pkgrel=1
pkgdesc="Invoke py.test as distutils command with dependency resolution"
arch=('any')
license=('MIT')
url="https://github.com/pytest-dev/pytest-runner"
-makedepends=('python-pytest' 'python-setuptools-scm' 'python2-pytest' 'python2-setuptools-scm' 'git')
-source=("git+https://github.com/pytest-dev/pytest-runner.git#tag=$pkgver")
-sha512sums=('SKIP')
+makedepends=('python-pytest' 'python2-pytest' 'python-setuptools-scm' 'python2-setuptools-scm')
+checkdepends=('python-pytest-black' 'python-pytest-cov' 'python-pytest-virtualenv'
+ 'python-pytest-flake8')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pytest-dev/pytest-runner/archive/$pkgver.tar.gz")
+sha512sums=('0ce9c191481ab97795d0f45bdea7669cb61c3ac6aac476954d34c3e09e6fb08fd6bf73f192c014cb7ff2bd90dbfeb0f01d9a9ba7a9c6caeb371e40b42b558d63')
prepare() {
- cp -a pytest-runner{,-py2}
+ cp -a pytest-runner-$pkgver{,-py2}
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
}
build() {
- cd "$srcdir"/pytest-runner
+ cd "$srcdir"/pytest-runner-$pkgver
python setup.py build
- cd "$srcdir"/pytest-runner-py2
+ cd "$srcdir"/pytest-runner-$pkgver-py2
python2 setup.py build
}
check() {
- cd "$srcdir"/pytest-runner
+ cd pytest-runner-$pkgver
python setup.py egg_info
PYTHONPATH="$PWD" pytest
-
- cd "$srcdir"/pytest-runner-py2
- python2 setup.py egg_info
- PYTHONPATH="$PWD" pytest2
}
package_python-pytest-runner() {
depends=('python-pytest')
- cd pytest-runner
+ cd pytest-runner-$pkgver
python setup.py install --root="$pkgdir" --optimize=1
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
@@ -46,7 +45,7 @@ package_python-pytest-runner() {
package_python2-pytest-runner() {
depends=('python2-pytest')
- cd pytest-runner-py2
+ cd pytest-runner-$pkgver-py2
python2 setup.py install --root="$pkgdir" --optimize=1
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core/python_modules/python-pytz/0001-Use-the-system-zoneinfo-from-the-tzdata-package.patch b/abs/core/python_modules/python-pytz/0001-Use-the-system-zoneinfo-from-the-tzdata-package.patch
new file mode 100644
index 0000000..ba7e388
--- /dev/null
+++ b/abs/core/python_modules/python-pytz/0001-Use-the-system-zoneinfo-from-the-tzdata-package.patch
@@ -0,0 +1,69 @@
+From 74baf31e5505d03a71df49894d57e1011e771eb9 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz@archlinux.org>
+Date: Mon, 4 May 2020 15:26:01 -0400
+Subject: [PATCH] Use the system zoneinfo from the tzdata package.
+
+We don't need to ship these vendored blobs as our system copy works
+quite well.
+
+Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
+---
+ src/pytz/__init__.py | 13 +------------
+ src/pytz/tzfile.py | 2 +-
+ src/setup.py | 2 --
+ 3 files changed, 2 insertions(+), 15 deletions(-)
+
+diff --git a/src/pytz/__init__.py b/src/pytz/__init__.py
+index c25a1d1..3cc59ef 100644
+--- a/src/pytz/__init__.py
++++ b/src/pytz/__init__.py
+@@ -92,19 +92,8 @@ def open_resource(name):
+ if zoneinfo_dir is not None:
+ filename = os.path.join(zoneinfo_dir, *name_parts)
+ else:
+- filename = os.path.join(os.path.dirname(__file__),
++ filename = os.path.join('/usr', 'share',
+ 'zoneinfo', *name_parts)
+- if not os.path.exists(filename):
+- # http://bugs.launchpad.net/bugs/383171 - we avoid using this
+- # unless absolutely necessary to help when a broken version of
+- # pkg_resources is installed.
+- try:
+- from pkg_resources import resource_stream
+- except ImportError:
+- resource_stream = None
+-
+- if resource_stream is not None:
+- return resource_stream(__name__, 'zoneinfo/' + name)
+ return open(filename, 'rb')
+
+
+diff --git a/src/pytz/tzfile.py b/src/pytz/tzfile.py
+index 25117f3..98eba05 100644
+--- a/src/pytz/tzfile.py
++++ b/src/pytz/tzfile.py
+@@ -126,7 +126,7 @@ def build_tzinfo(zone, fp):
+ if __name__ == '__main__':
+ import os.path
+ from pprint import pprint
+- base = os.path.join(os.path.dirname(__file__), 'zoneinfo')
++ base = os.path.join('/usr', 'share', 'zoneinfo')
+ tz = build_tzinfo('Australia/Melbourne',
+ open(os.path.join(base, 'Australia', 'Melbourne'), 'rb'))
+ tz = build_tzinfo('US/Eastern',
+diff --git a/src/setup.py b/src/setup.py
+index fa9a592..675618c 100644
+--- a/src/setup.py
++++ b/src/setup.py
+@@ -22,8 +22,6 @@ for dirpath, dirnames, filenames in os.walk(os.path.join('pytz', 'zoneinfo')):
+ for filename in filenames])
+ package_data = {'pytz': resources}
+
+-assert len(resources) > 10, 'zoneinfo files not found!'
+-
+ setup(
+ name='pytz',
+ version=pytz.VERSION,
+--
+2.26.2
+
diff --git a/abs/core/python_modules/python-pytz/PKGBUILD b/abs/core/python_modules/python-pytz/PKGBUILD
index fca20e0..7eb49b7 100644
--- a/abs/core/python_modules/python-pytz/PKGBUILD
+++ b/abs/core/python_modules/python-pytz/PKGBUILD
@@ -4,23 +4,31 @@
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=('python-pytz' 'python2-pytz')
-pkgver=2018.3
-pkgrel=1
+pkgver=2020.4
+pkgrel=3
arch=('any')
-url="http://pypi.python.org/pypi/pytz"
+url="https://pypi.python.org/pypi/pytz"
license=("MIT")
makedepends=('python' 'python2')
-source=("https://pypi.io/packages/source/p/pytz/pytz-${pkgver}.tar.gz")
-md5sums=('abb07c09c79f78d7c04f222a550c99ef')
+source=("https://pypi.io/packages/source/p/pytz/pytz-${pkgver}.tar.gz"
+ "0001-Use-the-system-zoneinfo-from-the-tzdata-package.patch")
+sha512sums=('dcbe763bc6e48c52df855fe03a8109dc0656a0e851324c0468f4307e8aff60e577fe0c9f0b062319e90d2f639b96e98edf8346064705e244143386c863a0aa7c'
+ '3cbd497313c3049a2ae04298118aefb6dfa9ec4626078c665c95c13a78ae944b33a68813aea0c53b02b0532b64221cca4a0cd2153bd91b3760916bc3c0f6df8f')
validpgpkeys=('C7ECC365AB6F255E1EB9BA1701FA998FBAC6374A')
+prepare() {
+ cd pytz-$pkgver
+
+ patch -p2 -i ../0001-Use-the-system-zoneinfo-from-the-tzdata-package.patch
+ rm -r pytz/zoneinfo/
+}
+
build(){
- cd $srcdir
cp -rf pytz-$pkgver pytz2-$pkgver
}
check(){
- cd $srcdir/pytz-$pkgver/pytz/tests
+ cd pytz-$pkgver/pytz/tests
python3 test_tzinfo.py
python2 test_tzinfo.py
@@ -30,14 +38,11 @@ package_python-pytz(){
depends=('python')
pkgdesc="Cross platform time zone library for Python"
- cd $srcdir/pytz-$pkgver
+ cd pytz-$pkgver
- # Fix locale https://github.com/ipython/ipython/issues/2057
- export LC_ALL=en_US.UTF-8
+ python3 setup.py install --root="$pkgdir"/
- python3 setup.py install --root=$pkgdir/
-
- install -D LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
@@ -45,12 +50,9 @@ package_python2-pytz(){
depends=('python2')
pkgdesc="Cross platform time zone library for Python"
- cd $srcdir/pytz2-$pkgver
-
- # python 2 fix
-# sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' pytz/tzfile.py
+ cd pytz2-$pkgver
- python2 setup.py install --root="$pkgdir/"
+ python2 setup.py install --root="$pkgdir"/
- install -D LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core/python_modules/python-requests/PKGBUILD b/abs/core/python_modules/python-requests/PKGBUILD
index e791c7b..eee0bf0 100644
--- a/abs/core/python_modules/python-requests/PKGBUILD
+++ b/abs/core/python_modules/python-requests/PKGBUILD
@@ -1,10 +1,9 @@
-# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgbase=python-requests
pkgname=('python-requests' 'python2-requests')
-pkgver=2.18.4
+pkgver=2.25.0
pkgrel=1
pkgdesc="Python HTTP for Humans"
arch=('any')
@@ -12,16 +11,16 @@ url="http://python-requests.org"
license=('Apache')
makedepends=('python-setuptools' 'python2-setuptools' 'python-chardet' 'python2-chardet'
'python-urllib3' 'python2-urllib3' 'python-idna' 'python2-idna')
-checkdepends=('python-pytest-httpbin' 'python2-pytest-httpbin' 'python-pytest-mock'
- 'python2-pytest-mock' 'python-pysocks' 'python2-pysocks')
-source=("$pkgbase-$pkgver.tar.gz::https://github.com/kennethreitz/requests/archive/v$pkgver.tar.gz"
+checkdepends=('python-pytest-httpbin' 'python-pytest-mock' 'python-pysocks' 'python-pyopenssl')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/psf/requests/archive/v$pkgver.tar.gz"
certs.patch)
-sha512sums=('8ca20fe18d13b8c62977be0c51617f2ae8618d3d002ad4dc554362828855db7359274efbff0cd13e8c5699508913e91205cffcf306221a70321e74ac10b2d4d7'
+sha512sums=('f60d8dbbc7aaebaedc7647ab2cec1fffd01547ea3340b91d9c7fea51fde4cb932aaf81e3b8aac9f4be11243e4fc44c8266a69db5f52c4eb2afb1b7714c150b95'
'424a3bb01b23409284f6c9cd2bc22d92df31b85cfd96e1d1b16b5d68adeca670dfed4fff7977d8b10980102b0f780eacc465431021fcd661f3a17168a02a39a3')
prepare() {
cd "$srcdir"/requests-$pkgver
sed -e '/certifi/d' \
+ -e "s/,<.*'/'/" \
-i setup.py
patch -p1 -i "$srcdir"/certs.patch
@@ -39,11 +38,10 @@ build() {
}
check() {
- cd "$srcdir"/requests-$pkgver
- py.test tests
+ # Seems to be a problem about pytest-httpbin
- cd "$srcdir"/requests-$pkgver-py2
- py.test2 tests
+ cd requests-$pkgver
+ pytest tests --deselect tests/test_requests.py::TestRequests::test_https_warnings
}
package_python-requests() {
diff --git a/abs/core/python_modules/python-simplejson/PKGBUILD b/abs/core/python_modules/python-simplejson/PKGBUILD
index 0e1a323..c953a4e 100644
--- a/abs/core/python_modules/python-simplejson/PKGBUILD
+++ b/abs/core/python_modules/python-simplejson/PKGBUILD
@@ -1,4 +1,3 @@
-# $Id$
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
@@ -6,7 +5,7 @@
pkgbase=python-simplejson
pkgname=('python-simplejson' 'python2-simplejson')
-pkgver=3.13.2
+pkgver=3.17.2
pkgrel=1
pkgdesc='Simple, fast, extensible JSON encoder/decoder for Python'
license=('MIT')
@@ -15,7 +14,7 @@ url='https://github.com/simplejson/simplejson'
makedepends=('python-setuptools' 'python2-setuptools')
checkdepends=('python-pytest-runner' 'python2-pytest-runner')
source=("$pkgbase-$pkgver.tar.gz::https://github.com/simplejson/simplejson/archive/v$pkgver.tar.gz")
-sha512sums=('b1d6c68e1a6c967dfb695d0cd3d8dca19d458b650ddc0c8273328378eab7f52b801ee29431a6b3bde16608e886259267f41cbefabb7fbe7adb1e243479f91132')
+sha512sums=('59428640d43fdc6927db752a36196f48d00818a87d924358deab7e498709515423ecdd34dece31364c5e8d64b63d99112fd4a4b8a03b9f9c6533268afc38e314')
prepare() {
cp -a simplejson-$pkgver{,-py2}
diff --git a/abs/core/python_modules/python-snowballstemmer/PKGBUILD b/abs/core/python_modules/python-snowballstemmer/PKGBUILD
index 676c0e8..0351e53 100644
--- a/abs/core/python_modules/python-snowballstemmer/PKGBUILD
+++ b/abs/core/python_modules/python-snowballstemmer/PKGBUILD
@@ -1,47 +1,32 @@
-# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: xantares
-pkgbase=python-snowballstemmer
-pkgname=('python-snowballstemmer' 'python2-snowballstemmer')
-pkgver=1.2.1
-pkgrel=2
+pkgname=python-snowballstemmer
+pkgver=2.0.0
+pkgrel=6
arch=('any')
pkgdesc="Snowball stemming library collection for Python"
-url='https://github.com/shibukawa/snowball_py'
+url='https://snowballstem.org'
license=('BSD')
-makedepends=('python' 'python2')
-source=("https://pypi.python.org/packages/source/s/snowballstemmer/snowballstemmer-${pkgver}.tar.gz")
-md5sums=('643b019667a708a922172e33a99bf2fa')
-
-prepare() {
- cp -a snowballstemmer-${pkgver}{,-py2}
-}
+depends=('python')
+optdepends=('python-pystemmer: for improved performance')
+makedepends=('python-setuptools')
+source=("https://pypi.python.org/packages/source/s/snowballstemmer/snowballstemmer-$pkgver.tar.gz")
+md5sums=('c05ec4a897be3c953c8b8b844c4241d4')
build() {
- cd "$srcdir"/snowballstemmer-${pkgver}
+ cd "$srcdir"/snowballstemmer-$pkgver
python setup.py build
-
- cd "$srcdir"/snowballstemmer-${pkgver}-py2
- python2 setup.py build
}
-package_python-snowballstemmer() {
- depends=('python')
- optdepends=('python-pystemmer: for improved performance')
-
- cd "$srcdir"/snowballstemmer-${pkgver}
- python setup.py install --root="$pkgdir" --optimize=1
-
- install -Dm644 LICENSE.rst "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.rst
+check() {
+ cd "$srcdir"/snowballstemmer-$pkgver/src
+ PYTHONPATH=. python sample/testapp.py english "what's this"
}
-package_python2-snowballstemmer() {
- depends=('python2')
- optdepends=('python2-pystemmer: for improved performance')
-
- cd "$srcdir"/snowballstemmer-${pkgver}-py2
- python2 setup.py install --root="$pkgdir" --optimize=1
+package() {
+ cd "$srcdir"/snowballstemmer-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
- install -Dm644 LICENSE.rst "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.rst
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
diff --git a/abs/core/python_modules/python-soupsieve/PKGBUILD b/abs/core/python_modules/python-soupsieve/PKGBUILD
new file mode 100644
index 0000000..8b65574
--- /dev/null
+++ b/abs/core/python_modules/python-soupsieve/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=python-soupsieve
+pkgver=2.0.1
+pkgrel=3
+pkgdesc="A CSS4 selector implementation for Beautiful Soup"
+url="https://github.com/facelessuser/soupsieve"
+license=('MIT')
+arch=('any')
+depends=('python')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest' 'python-beautifulsoup4' 'python-html5lib' 'python-lxml')
+source=("https://github.com/facelessuser/soupsieve/archive/$pkgver/$pkgname-$pkgver.tar.gz")
+sha512sums=('f4ef4deee81bb31952e1d3216250712f09b425e7a2253e15bd1b38cb74b680e421e7d086a8770737898f6b57867f07f2dd07b8a98108d05e338bce92b274b85f')
+
+build() {
+ cd soupsieve-$pkgver
+ python setup.py build
+}
+
+check() {
+ cd soupsieve-$pkgver
+ pytest
+}
+
+package() {
+ cd soupsieve-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.md
+}
diff --git a/abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD b/abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD
index d3203be..9900d02 100644
--- a/abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD
+++ b/abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD
@@ -1,43 +1,30 @@
-# $Id$
# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
# Contributor: xantares
-pkgbase=python-sphinx-alabaster-theme
-pkgname=(python-sphinx-alabaster-theme python2-sphinx-alabaster-theme)
-pkgver=0.7.10
-pkgrel=1
+pkgname=python-sphinx-alabaster-theme
+pkgver=0.7.12
+pkgrel=6
pkgdesc="Sphinx default theme"
url='https://github.com/bitprophet/alabaster'
arch=('any')
license=('custom:BSD')
+depends=('python')
makedepends=('python-setuptools' 'python2-setuptools')
source=("https://pypi.org/packages/source/a/alabaster/alabaster-$pkgver.tar.gz")
-md5sums=('7934dccf38801faa105f6e7b4784f493')
+md5sums=('3591827fde96d1dd23970fb05410ed04')
build() {
- cp -r alabaster-"$pkgver" alabaster-"$pkgver"-py2
-
cd alabaster-"$pkgver"
python setup.py build
-
- cd "$srcdir"/alabaster-"$pkgver"-py2
- python2 setup.py build
}
-package_python-sphinx-alabaster-theme() {
+package() {
cd alabaster-"$pkgver"
python setup.py install --root="$pkgdir" --optimize=1
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
}
-
-package_python2-sphinx-alabaster-theme() {
- cd alabaster-"$pkgver"-py2
- python2 setup.py install --root="$pkgdir" --optimize=1
-
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
-}
diff --git a/abs/core/python_modules/python-sphinx/PKGBUILD b/abs/core/python_modules/python-sphinx/PKGBUILD
index cab258e..33328d1 100644
--- a/abs/core/python_modules/python-sphinx/PKGBUILD
+++ b/abs/core/python_modules/python-sphinx/PKGBUILD
@@ -1,150 +1,63 @@
-# $Id$
# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
+# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
# Contributor: Sébastien Luttringer
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: Fabio Volpe <volpefabio@gmail.com>
-pkgbase=python-sphinx
-pkgname=('python-sphinx' 'python2-sphinx')
-pkgver=1.7.0
-pkgrel=1
-
+pkgname=python-sphinx
+pkgver=3.2.1
+pkgrel=3
+pkgdesc='Python documentation generator'
arch=('any')
-url='http://sphinx.pocoo.org/'
+url=http://www.sphinx-doc.org/
license=('BSD')
-
-makedepends=(
- 'python-setuptools'
- 'python-docutils'
- 'python-jinja'
- 'python-pygments'
- 'python-six'
- 'python-imagesize'
- 'python-sphinxcontrib-websupport'
- 'python-sqlalchemy'
- 'python-whoosh'
- 'python2-setuptools'
- 'python2-docutils'
- 'python2-jinja'
- 'python2-pygments'
- 'python2-six'
- 'python2-imagesize'
- 'python2-sphinxcontrib-websupport'
- 'python2-sqlalchemy'
- 'python2-whoosh'
- 'python2-typing'
-)
-
-checkdepends=(
- 'texlive-latexextra'
- 'python-nose' 'python2-nose'
- 'python-snowballstemmer' 'python2-snowballstemmer'
- 'python-babel' 'python2-babel'
- 'python-sphinx-alabaster-theme' 'python2-sphinx-alabaster-theme'
- 'python-sphinx_rtd_theme' 'python2-sphinx_rtd_theme'
- 'python-mock' 'python2-mock'
- 'python-html5lib' 'python2-html5lib'
- 'python-requests' 'python2-requests'
- 'python2-pytest' 'python-pytest'
- 'python2-enum34'
- 'python-sphinxcontrib-websupport' 'python2-sphinxcontrib-websupport'
- 'imagemagick' 'librsvg'
-)
-
-source=("https://pypi.org/packages/source/S/Sphinx/Sphinx-$pkgver.tar.gz"{,.asc})
-
-validpgpkeys=('8A11B79A5D0D749A66F0A030102C2C17498D6B9E'
- 'E9BEABB07E7B9CC3F56E62C91425F8CE5EBA0E07')
-md5sums=('7d6d8226148378875986310aea68702e'
- 'SKIP')
+depends=('python-babel'
+ 'python-docutils'
+ 'python-imagesize'
+ 'python-jinja'
+ 'python-pygments'
+ 'python-requests'
+ 'python-setuptools'
+ 'python-snowballstemmer'
+ 'python-sphinx-alabaster-theme'
+ 'python-sphinxcontrib-'{{apple,dev,html}help,jsmath,qthelp,serializinghtml})
+checkdepends=('cython'
+ 'imagemagick' 'librsvg'
+ 'python-html5lib'
+ 'python-pytest'
+ 'texlive-fontsextra' 'texlive-latexextra')
+optdepends=('imagemagick: for ext.imgconverter'
+ 'texlive-latexextra: for generation of PDF documentation')
+source=("https://pypi.org/packages/source/S/Sphinx/Sphinx-$pkgver.tar.gz"{,.asc}
+ $pkgname-pygments-2.7.patch::https://github.com/sphinx-doc/sphinx/commit/85b24a2e88ea.patch)
+sha256sums=('321d6d9b16fa381a5306e5a0b76cd48ffbc588e6340059a729c6fdd66087e0e8'
+ 'SKIP'
+ '6b790f4b3b540924a6a7861452fcbac8123f1e0a6c1765f5caafd7cb94fcecec')
+validpgpkeys=('8A11B79A5D0D749A66F0A030102C2C17498D6B9E' # Takeshi KOMIYA
+ 'E9BEABB07E7B9CC3F56E62C91425F8CE5EBA0E07') # Takayuki Shimizukawa
prepare() {
- # souce duplication is required because makefile modify source code
- # setyp.py --build tricks don't works well
- cp -a Sphinx-$pkgver Sphinx-${pkgver}2
- # change python2 interpreter
- find Sphinx-${pkgver}2 -type f -exec \
- sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
- # change sphinx-binaries name in source code
- find Sphinx-${pkgver}2 -type f -name '*.py' -exec \
- sed -ri 's,(sphinx-(:?build|apidoc|autogen|quickstart)),\12,' {} \;
+ cd Sphinx-$pkgver
+
+ # Fix test failure with pygments 2.7
+ patch -Np1 -i ../$pkgname-pygments-2.7.patch
}
build() {
- msg2 'Python 3 version'
- cd "$srcdir"/Sphinx-$pkgver
- make PYTHON=python3 build
-
- msg2 'Python 2 version'
- cd "$srcdir"/Sphinx-${pkgver}2
- make PYTHON=python2 build
+ cd Sphinx-$pkgver
+ make build
}
-#check() {
-# msg2 'Python 3 version'
-# cd "$srcdir"/Sphinx-$pkgver
-# LC_ALL="en_US.UTF-8" make PYTHON=python3 test
-# rm -r tests
-#
-# msg2 'Python 2 version'
-# cd "$srcdir"/Sphinx-${pkgver}2
-# LC_ALL="en_US.UTF-8" make PYTHON=python2 test
-# rm -r tests
-#}
-
-package_python-sphinx() {
- pkgdesc='Python3 documentation generator'
- depends=(
- 'python-setuptools'
- 'python-jinja'
- 'python-pygments'
- 'python-docutils'
- 'python-sphinx_rtd_theme'
- 'python-sphinx-alabaster-theme'
- 'python-babel'
- 'python-snowballstemmer'
- 'python-six'
- 'python-imagesize'
- 'python-requests'
- 'python-sphinxcontrib-websupport'
- 'python-sqlalchemy'
- 'python-whoosh'
- )
- optdepends=('texlive-latexextra: for generation of PDF documentation'
- 'imagemagick: ext.imageconverter')
-
+check() {
cd Sphinx-$pkgver
- python setup.py install --root="$pkgdir" --optimize=1
-
- install -Dm644 "$srcdir"/Sphinx-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/python-sphinx/LICENSE
+ LC_ALL="en_US.UTF-8" make test
+ rm -r tests
}
-package_python2-sphinx() {
- pkgdesc='Python2 documentation generator'
- depends=(
- 'python2-setuptools'
- 'python2-jinja'
- 'python2-pygments'
- 'python2-docutils'
- 'python2-sphinx_rtd_theme'
- 'python2-sphinx-alabaster-theme'
- 'python2-babel'
- 'python2-snowballstemmer'
- 'python2-six'
- 'python2-imagesize'
- 'python2-requests'
- 'python2-sphinxcontrib-websupport'
- 'python2-sqlalchemy'
- 'python2-whoosh'
- 'python2-typing'
- )
- optdepends=('texlive-latexextra: for generation of PDF documentation'
- 'imagemagick: ext.imageconverter')
-
- cd Sphinx-${pkgver}2
- python2 setup.py install --root="$pkgdir" --optimize=1
-
- install -Dm644 "$srcdir"/Sphinx-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/python2-sphinx/LICENSE
+package() {
+ cd Sphinx-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname LICENSE
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-sphinxcontrib-applehelp/PKGBUILD b/abs/core/python_modules/python-sphinxcontrib-applehelp/PKGBUILD
new file mode 100644
index 0000000..92bfa97
--- /dev/null
+++ b/abs/core/python_modules/python-sphinxcontrib-applehelp/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
+
+_name=sphinxcontrib-applehelp
+pkgname=python-sphinxcontrib-applehelp
+pkgver=1.0.2
+pkgrel=3
+pkgdesc='Sphinx extension which outputs Apple help books'
+arch=('any')
+url=https://github.com/sphinx-doc/sphinxcontrib-applehelp
+license=('BSD')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest' 'python-sphinx')
+source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz")
+sha256sums=('a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58')
+
+build() {
+ cd $_name-$pkgver
+ python setup.py build
+}
+
+check() {
+ cd $_name-$pkgver
+ pytest
+}
+
+package() {
+ cd $_name-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-sphinxcontrib-devhelp/PKGBUILD b/abs/core/python_modules/python-sphinxcontrib-devhelp/PKGBUILD
new file mode 100644
index 0000000..105a41d
--- /dev/null
+++ b/abs/core/python_modules/python-sphinxcontrib-devhelp/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
+
+_name=sphinxcontrib-devhelp
+pkgname=python-sphinxcontrib-devhelp
+pkgver=1.0.2
+pkgrel=3
+pkgdesc='Sphinx extension which outputs Devhelp document'
+arch=('any')
+url=https://github.com/sphinx-doc/sphinxcontrib-devhelp
+license=('BSD')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest' 'python-sphinx')
+source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz")
+sha256sums=('ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4')
+
+build() {
+ cd $_name-$pkgver
+ python setup.py build
+}
+
+check() {
+ cd $_name-$pkgver
+ pytest
+}
+
+package() {
+ cd $_name-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-sphinxcontrib-htmlhelp/PKGBUILD b/abs/core/python_modules/python-sphinxcontrib-htmlhelp/PKGBUILD
new file mode 100644
index 0000000..ac87604
--- /dev/null
+++ b/abs/core/python_modules/python-sphinxcontrib-htmlhelp/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
+
+_name=sphinxcontrib-htmlhelp
+pkgname=python-sphinxcontrib-htmlhelp
+pkgver=1.0.3
+pkgrel=3
+pkgdesc='Sphinx extension which renders HTML help files'
+arch=('any')
+url=https://github.com/sphinx-doc/sphinxcontrib-htmlhelp
+license=('BSD')
+makedepends=('python-setuptools')
+checkdepends=('python-html5lib' 'python-pytest' 'python-sphinx')
+source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz")
+sha256sums=('e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b')
+
+build() {
+ cd $_name-$pkgver
+ python setup.py build
+}
+
+check() {
+ cd $_name-$pkgver
+ pytest
+}
+
+package() {
+ cd $_name-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-sphinxcontrib-jsmath/PKGBUILD b/abs/core/python_modules/python-sphinxcontrib-jsmath/PKGBUILD
new file mode 100644
index 0000000..d50d95e
--- /dev/null
+++ b/abs/core/python_modules/python-sphinxcontrib-jsmath/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
+
+_name=sphinxcontrib-jsmath
+pkgname=python-sphinxcontrib-jsmath
+pkgver=1.0.1
+pkgrel=6
+pkgdesc='Sphinx extension which renders display math in HTML via JavaScript'
+arch=('any')
+url=https://github.com/sphinx-doc/sphinxcontrib-jsmath
+license=('BSD')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest' 'python-sphinx')
+source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz")
+sha256sums=('a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8')
+
+build() {
+ cd $_name-$pkgver
+ python setup.py build
+}
+
+check() {
+ cd $_name-$pkgver
+ pytest
+}
+
+package() {
+ cd $_name-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-sphinxcontrib-qthelp/PKGBUILD b/abs/core/python_modules/python-sphinxcontrib-qthelp/PKGBUILD
new file mode 100644
index 0000000..38ff257
--- /dev/null
+++ b/abs/core/python_modules/python-sphinxcontrib-qthelp/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
+
+_name=sphinxcontrib-qthelp
+pkgname=python-sphinxcontrib-qthelp
+pkgver=1.0.3
+pkgrel=3
+pkgdesc='Sphinx extension which outputs QtHelp document'
+arch=('any')
+url=https://github.com/sphinx-doc/sphinxcontrib-qthelp
+license=('BSD')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest' 'python-sphinx')
+source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz")
+sha256sums=('4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72')
+
+build() {
+ cd $_name-$pkgver
+ python setup.py build
+}
+
+check() {
+ cd $_name-$pkgver
+ pytest
+}
+
+package() {
+ cd $_name-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-sphinxcontrib-serializinghtml/PKGBUILD b/abs/core/python_modules/python-sphinxcontrib-serializinghtml/PKGBUILD
new file mode 100644
index 0000000..baaa7d4
--- /dev/null
+++ b/abs/core/python_modules/python-sphinxcontrib-serializinghtml/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
+
+_name=sphinxcontrib-serializinghtml
+pkgname=python-sphinxcontrib-serializinghtml
+pkgver=1.1.4
+pkgrel=3
+pkgdesc='Sphinx extension which outputs "serialized" HTML files (json and pickle)'
+arch=('any')
+url=https://github.com/sphinx-doc/sphinxcontrib-serializinghtml
+license=('BSD')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest' 'python-sphinx')
+source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz")
+sha256sums=('eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc')
+
+build() {
+ cd $_name-$pkgver
+ python setup.py build
+}
+
+check() {
+ cd $_name-$pkgver
+ pytest
+}
+
+package() {
+ cd $_name-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python2-backports.functools_lru_cache/PKGBUILD b/abs/core/python_modules/python2-backports.functools_lru_cache/PKGBUILD
new file mode 100644
index 0000000..fd5eb30
--- /dev/null
+++ b/abs/core/python_modules/python2-backports.functools_lru_cache/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Crass00 <crass00 @ hotmail . com>
+
+pkgname=python2-backports.functools_lru_cache
+pkgver=1.6.1
+pkgrel=2
+pkgdesc="Backport of functools.lru_cache from Python 3.3"
+arch=('any')
+url="https://github.com/jaraco/backports.functools_lru_cache"
+license=('MIT')
+depends=('python2-backports')
+makedepends=('python2-setuptools-scm')
+checkdepends=('python2-pytest')
+source=("https://pypi.io/packages/source/b/backports.functools_lru_cache/backports.functools_lru_cache-$pkgver.tar.gz")
+sha512sums=('5764cc6ed83dc4abc2a7e5f8b5bb30c7b7554aafcbb6dfcececdb3646fe9298a8c1791a02112238ec94a0e383855bdec43bf9094f40b57124d0a0c9aa7c67f88')
+
+prepare() {
+ cd backports.functools_lru_cache-$pkgver
+ # Style or coverage checks are not relevant for us
+ sed -i 's/--flake8 --black --cov//' pytest.ini
+}
+
+build() {
+ cd backports.functools_lru_cache-$pkgver
+ python2 setup.py build
+}
+
+check() {
+ cd backports.functools_lru_cache-$pkgver
+ python2 -m pytest
+}
+
+package() {
+ cd backports.functools_lru_cache-$pkgver
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ rm "$pkgdir"/usr/lib/python2.7/site-packages/backports/__init__.py*
+}
diff --git a/abs/core/python_modules/python2-backports/PKGBUILD b/abs/core/python_modules/python2-backports/PKGBUILD
new file mode 100644
index 0000000..0585c1d
--- /dev/null
+++ b/abs/core/python_modules/python2-backports/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=python2-backports
+pkgver=1.0
+pkgrel=3
+pkgdesc="Namespace package required for backports collection"
+arch=('any')
+url="https://pypi.python.org/pypi/backports"
+license=('PSF')
+depends=('python2')
+
+build() {
+ cd "$srcdir"
+ cat << EOF > __init__.py
+from pkgutil import extend_path
+__path__ = extend_path(__path__, __name__)
+EOF
+ python2 -m compileall .
+}
+
+package() {
+ cd "$srcdir"
+ install -Dm644 __init__.py "$pkgdir/usr/lib/python2.7/site-packages/backports/__init__.py"
+ install -Dm644 __init__.pyc "$pkgdir/usr/lib/python2.7/site-packages/backports/__init__.pyc"
+}
diff --git a/abs/core/python_modules/python2-futures/PKGBUILD b/abs/core/python_modules/python2-futures/PKGBUILD
index dcaed42..7034b40 100644
--- a/abs/core/python_modules/python2-futures/PKGBUILD
+++ b/abs/core/python_modules/python2-futures/PKGBUILD
@@ -1,12 +1,11 @@
-# $Id$
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
pkgname=python2-futures
_pkgname=futures
-pkgver=3.1.1
-pkgrel=1
+pkgver=3.3.0
+pkgrel=2
pkgdesc="Backport of the concurrent.futures package from Python 3.2"
arch=('any')
url="https://github.com/agronholm/pythonfutures"
@@ -14,7 +13,7 @@ license=('BSD')
depends=('python2')
source=("$_pkgname-$pkgver.tar.gz::https://github.com/agronholm/pythonfutures/archive/$pkgver.tar.gz"
LICENSE)
-md5sums=('c500fc20a02b83e7ec88dc5bac9649f5'
+md5sums=('f27b1e0bd1fb32b2b2c79cb0823f2a2d'
'dd6708d05936d3f6c4e20ed14c87b5e3')
build() {
diff --git a/abs/core/python_modules/python2-soupsieve/PKGBUILD b/abs/core/python_modules/python2-soupsieve/PKGBUILD
new file mode 100644
index 0000000..f552d97
--- /dev/null
+++ b/abs/core/python_modules/python2-soupsieve/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=python2-soupsieve
+pkgver=1.9.6
+pkgrel=2
+pkgdesc="A CSS4 selector implementation for Beautiful Soup"
+url="https://github.com/facelessuser/soupsieve"
+license=('MIT')
+arch=('any')
+depends=('python2-backports.functools_lru_cache')
+makedepends=('python2-setuptools')
+checkdepends=('python2-pytest' 'python2-beautifulsoup4' 'python2-html5lib' 'python2-lxml')
+source=("https://github.com/facelessuser/soupsieve/archive/$pkgver/$pkgname-$pkgver.tar.gz")
+sha512sums=('44954cdedc16a51c794ebe6770caeb8f179167ad2f0a0478cb1efd5878d6cc49fffd6119125964b19184afa6d0d7dedadb81dee020a48c5128ccf56e36a78f61')
+
+build() {
+ cd soupsieve-$pkgver
+ python2 setup.py build
+}
+
+check() {
+ cd soupsieve-$pkgver
+ pytest2
+}
+
+package() {
+ cd soupsieve-$pkgver
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.md
+}
diff --git a/abs/extra/fftw/PKGBUILD b/abs/extra/fftw/PKGBUILD
index db4322f..1ab869b 100644
--- a/abs/extra/fftw/PKGBUILD
+++ b/abs/extra/fftw/PKGBUILD
@@ -1,50 +1,81 @@
-# $Id: PKGBUILD 159277 2012-05-20 10:35:50Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: David Runge <dvzrv@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=fftw
-pkgver=3.3.2
-pkgrel=1
+pkgver=3.3.8
+pkgrel=3
pkgdesc="A library for computing the discrete Fourier transform (DFT)"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL2')
url="http://www.fftw.org/"
-depends=('glibc' 'bash')
+depends=('bash' 'gcc-libs' 'glibc' 'openmpi')
makedepends=('gcc-fortran')
-options=('!libtool')
+provides=('libfftw3q_threads.so' 'libfftw3q_omp.so' 'libfftw3q.so'
+'libfftw3l_threads.so' 'libfftw3l_omp.so' 'libfftw3l_mpi.so' 'libfftw3l.so'
+'libfftw3f_threads.so' 'libfftw3f_omp.so' 'libfftw3f_mpi.so' 'libfftw3f.so'
+'libfftw3_threads.so' 'libfftw3_omp.so' 'libfftw3_mpi.so' 'libfftw3.so')
+# makedepends=('gcc-fortran' 'ocaml' 'ocaml-num' 'ocamlbuild')
source=("http://www.fftw.org/${pkgname}-${pkgver}.tar.gz")
-install=fftw.install
-sha1sums=('11a8c31186ff5a7d686a79a3f21b2530888e0dc2')
-
-# notes:
-# http://www.fftw.org/fftw2_doc/fftw_6.html#SEC69
-# http://www.fftw.org/faq/section2.html#singleprec
-# http://www.fftw.org/fftw3_doc/Precision.html#Precision
+# source=("https://github.com/${pkgname}/fftw3/archive/${pkgname}-${pkgver}.tar.gz")
+sha512sums=('ab918b742a7c7dcb56390a0a0014f517a6dff9a2e4b4591060deeb2c652bf3c6868aa74559a422a276b853289b4b701bdcbd3d4d8c08943acf29167a7be81a38')
+prepare() {
+# issue with ocaml-num
+# mv -v "fftw3-${pkgname}-${pkgver}" "${pkgname}-${pkgver}"
+# (
+# cd "$pkgname-$pkgver"
+# cp -v NEWS ChangeLog
+# autoreconf -vfi
+# )
+ cp -av "${pkgname}-${pkgver}" "${pkgname}-${pkgver}-double"
+ cp -av "${pkgname}-${pkgver}" "${pkgname}-${pkgver}-long-double"
+ cp -av "${pkgname}-${pkgver}" "${pkgname}-${pkgver}-quad"
+}
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
+ export F77='gfortran'
# use upstream default CFLAGS while keeping our -march/-mtune
CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math"
+ # default configure call
+ _default_configure="./configure --prefix=/usr --enable-shared --enable-threads --enable-mpi --enable-openmp"
+
+ # configure single precision
+ (
+ cd "${pkgname}-${pkgver}"
+ ${_default_configure} --enable-sse --enable-avx --enable-single
+ )
+
+ # configure double precision
+ (
+ cd "${pkgname}-${pkgver}-double"
+ ${_default_configure} --enable-sse2 --enable-avx
+ )
+
+ # configure long-double precission
+ (
+ cd "${pkgname}-${pkgver}-long-double"
+ ${_default_configure} --enable-long-double
+ )
+
+ # configure quad precision
+ (
+ cd "${pkgname}-${pkgver}-quad"
+ ${_default_configure} --disable-mpi --enable-quad-precision
+ )
+
+ make -C "${pkgname}-${pkgver}"
+ make -C "${pkgname}-${pkgver}-double"
+ make -C "${pkgname}-${pkgver}-long-double"
+ make -C "${pkgname}-${pkgver}-quad"
+}
- CONFIGURE="./configure F77=gfortran --prefix=/usr \
- --enable-shared --enable-threads --enable-type-prefix"
-
- # build & install double precision
- $CONFIGURE --enable-sse2
- make
- make DESTDIR=${pkgdir} install
- make clean
-
- # build & install long double precission
- $CONFIGURE --enable-long-double
- make
- make DESTDIR=${pkgdir} install
- make clean
-
- # build & install single precision
- $CONFIGURE --enable-float --enable-sse
- make
- make DESTDIR=${pkgdir} install
+package() {
+ make DESTDIR="${pkgdir}" install -C "${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install -C "${pkgname}-${pkgver}-double"
+ make DESTDIR="${pkgdir}" install -C "${pkgname}-${pkgver}-long-double"
+ make DESTDIR="${pkgdir}" install -C "${pkgname}-${pkgver}-quad"
+ cd "${pkgname}-${pkgver}"
+ install -vDm 644 {AUTHORS,ChangeLog,NEWS,README,TODO} \
+ -t "${pkgdir}/usr/share/doc/${pkgname}"
}
diff --git a/abs/extra/fftw/fftw.install b/abs/extra/fftw/fftw.install
deleted file mode 100644
index a3748aa..0000000
--- a/abs/extra/fftw/fftw.install
+++ /dev/null
@@ -1,22 +0,0 @@
-info_dir=/usr/share/info
-info_files=(fftw3.info)
-
-post_install() {
- for f in ${info_files[@]}; do
- install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install
-}
-
-pre_remove() {
- for f in ${info_files[@]}; do
- install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-
-
-
diff --git a/abs/extra/git/PKGBUILD b/abs/extra/git/PKGBUILD
index 024b137..724fc29 100644
--- a/abs/extra/git/PKGBUILD
+++ b/abs/extra/git/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id$
# Maintainer: Christian Hesse <mail@eworm.de>
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=git
-pkgver=2.16.2
+pkgver=2.29.2
pkgrel=1
-pkgdesc="the fast distributed version control system"
-arch=(x86_64)
-url="http://git-scm.com/"
+pkgdesc='the fast distributed version control system'
+arch=('x86_64')
+url='https://git-scm.com/'
license=('GPL2')
-depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre2'
- 'grep' 'shadow')
-makedepends=('python2' 'emacs' 'libgnome-keyring' 'xmlto' 'asciidoc')
+depends=('curl' 'expat' 'perl' 'perl-error' 'perl-mailtools'
+ 'openssl' 'pcre2' 'grep' 'shadow')
+makedepends=('python' 'libgnome-keyring' 'xmlto' 'asciidoc')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
- 'perl-term-readkey: git svn'
+ 'perl-term-readkey: git svn and interactive.singlekey setting'
'perl-mime-tools: git send-email'
'perl-net-smtp-ssl: git send-email TLS support'
'perl-authen-sasl: git send-email TLS support'
@@ -22,44 +21,55 @@ optdepends=('tk: gitk and git gui'
'perl-datetime-format-iso8601: git mediawiki support'
'perl-lwp-protocol-https: git mediawiki https support'
'perl-cgi: gitweb (web interface) support'
- 'python2: various helper scripts'
+ 'python: git svn & git p4'
'subversion: git svn'
- 'gnome-keyring: GNOME keyring credential helper')
-replaces=('git-core')
-provides=('git-core')
+ 'org.freedesktop.secrets: keyring credential helper'
+ 'libsecret: libsecret credential helper')
install=git.install
validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano
source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar."{xz,sign}
'git-daemon@.service'
'git-daemon.socket'
'git-sysusers.conf')
-sha256sums=('5560578bd21468d98637f41515c165d32f69caff0838b8989dee5ce10022c717'
+sha256sums=('f2fc436ebe657821a1360bcd1e5f4896049610082419143d60f6fa13c2f607c1'
'SKIP'
'14c0b67cfe116b430645c19d8c4759419657e6809dfa28f438c33a005245ad91'
'ac4c90d62c44926e6d30d18d97767efc901076d4e0283ed812a349aece72f203'
- '595794856bfa6087c33826640ae7b5447832233844f36dfedc18646d47154730')
+ '7630e8245526ad80f703fac9900a1328588c503ce32b37b9f8811674fcda4a45')
+
+_make_paths=(
+ prefix='/usr'
+ gitexecdir='/usr/lib/git-core'
+ perllibdir="$(/usr/bin/perl -MConfig -wle 'print $Config{installvendorlib}')"
+)
+
+_make_options=(
+ CFLAGS="$CFLAGS"
+ LDFLAGS="$LDFLAGS"
+ INSTALL_SYMLINKS=1
+ MAN_BOLD_LITERAL=1
+ NO_PERL_CPAN_FALLBACKS=1
+ USE_LIBPCRE2=1
+)
build() {
- export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
- make prefix=/usr gitexecdir=/usr/lib/git-core \
- CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
- USE_LIBPCRE2=1 \
- NO_CROSS_DIRECTORY_HARDLINKS=1 \
- MAN_BOLD_LITERAL=1 \
- all doc
- make -C contrib/emacs prefix=/usr
+ make \
+ "${_make_paths[@]}" \
+ "${_make_options[@]}" \
+ all man
+
make -C contrib/credential/gnome-keyring
make -C contrib/credential/libsecret
- make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all doc
- make -C contrib/mw-to-git prefix=/usr all
- make -C contrib/diff-highlight prefix=/usr
+ make -C contrib/subtree "${_make_paths[@]}" all man
+ make -C contrib/mw-to-git "${_make_paths[@]}" all
+ make -C contrib/diff-highlight "${_make_paths[@]}"
}
check() {
- export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
+
local jobs
jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true
mkdir -p /dev/shm/git-test
@@ -67,11 +77,9 @@ check() {
# which is caused by 'git rebase' trying to use builduser's SHELL inside the
# build chroot (i.e.: /usr/bin/nologin)
SHELL=/bin/sh \
- make prefix=/usr gitexecdir=/usr/lib/git-core \
- CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
- USE_LIBPCRE2=1 \
- NO_CROSS_DIRECTORY_HARDLINKS=1 \
- MAN_BOLD_LITERAL=1 \
+ make \
+ "${_make_paths[@]}" \
+ "${_make_options[@]}" \
NO_SVN_TESTS=y \
DEFAULT_TEST_TARGET=prove \
GIT_PROVE_OPTS="$jobs -Q" \
@@ -80,14 +88,13 @@ check() {
}
package() {
- export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
- make prefix=/usr gitexecdir=/usr/lib/git-core \
- CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
- USE_LIBPCRE2=1 \
- NO_CROSS_DIRECTORY_HARDLINKS=1 \
- MAN_BOLD_LITERAL=1 \
- INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-doc
+
+ make \
+ "${_make_paths[@]}" \
+ "${_make_options[@]}" \
+ DESTDIR="$pkgdir" \
+ install install-man
# bash completion
mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
@@ -95,9 +102,8 @@ package() {
# fancy git prompt
mkdir -p "$pkgdir"/usr/share/git/
install -m 0644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh
- # emacs
- make -C contrib/emacs prefix=/usr DESTDIR="$pkgdir" install
- # gnome credentials helper
+ # gnome credentials helper (deprecated, but we will keep it as long there is no extra cost)
+ # https://gitlab.gnome.org/GNOME/libgnome-keyring/commit/6a5adea4aec93
install -m 0755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
"$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring
make -C contrib/credential/gnome-keyring clean
@@ -106,26 +112,12 @@ package() {
"$pkgdir"/usr/lib/git-core/git-credential-libsecret
make -C contrib/credential/libsecret clean
# subtree installation
- make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install install-doc
+ make -C contrib/subtree "${_make_paths[@]}" DESTDIR="$pkgdir" install install-man
# mediawiki installation
- make -C contrib/mw-to-git prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install
+ make -C contrib/mw-to-git "${_make_paths[@]}" DESTDIR="$pkgdir" install
# the rest of the contrib stuff
find contrib/ -name '.gitignore' -delete
- cp -a ./contrib/* $pkgdir/usr/share/git/
-
- # scripts are for python 2.x
- sed -i 's|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|' \
- $(find "$pkgdir" -name '*.py') \
- "$pkgdir"/usr/share/git/remote-helpers/git-remote-bzr \
- "$pkgdir"/usr/share/git/remote-helpers/git-remote-hg
- sed -i 's|#![ ]*/usr/bin/python$|#!/usr/bin/python2|' \
- "$pkgdir"/usr/share/git/svn-fe/svnrdump_sim.py
-
- # perl modules from contrib/ install to site dir... move to vendor
- mv "$pkgdir"/usr/share/perl5/site_perl/Git/* "$pkgdir"/usr/share/perl5/vendor_perl/Git/
- rm -rf "$pkgdir"/usr/share/perl5/site_perl
- # remove perllocal.pod, .packlist, and empty directories.
- rm -rf "$pkgdir"/usr/lib/perl5
+ cp -a ./contrib/* "$pkgdir"/usr/share/git/
# git-daemon via systemd socket activation
install -D -m 0644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service
diff --git a/abs/extra/git/git-sysusers.conf b/abs/extra/git/git-sysusers.conf
index 2141c70..8189065 100644
--- a/abs/extra/git/git-sysusers.conf
+++ b/abs/extra/git/git-sysusers.conf
@@ -1 +1 @@
-u git - "git daemon user" /
+u git - "git daemon user" / /usr/bin/git-shell
diff --git a/abs/extra/git/git.install b/abs/extra/git/git.install
index 24bc5d7..453050d 100644
--- a/abs/extra/git/git.install
+++ b/abs/extra/git/git.install
@@ -5,13 +5,6 @@ post_install() {
if ! grep -qe '^/usr/bin/git-shell$' etc/shells; then
echo '/usr/bin/git-shell' >> etc/shells
fi
-
- # make sure the user exists...
- systemd-sysusers git.conf
-
- # ... and change the shell. This is done only once in post-install
- # function, so an administrative change is persistent.
- chsh --shell /usr/bin/git-shell git > /dev/null
}
# do not modify user settings (shell) in post-upgrade function!
diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD
index 7958ecc..c875010 100644
--- a/abs/extra/google-chrome/PKGBUILD
+++ b/abs/extra/google-chrome/PKGBUILD
@@ -6,7 +6,7 @@
# or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }'
pkgname=google-chrome
-pkgver=80.0.3987.122
+pkgver=86.0.4240.111
pkgrel=1
pkgdesc="The popular and trusted web browser by Google (Stable Channel)"
arch=('x86_64')
@@ -26,7 +26,7 @@ _channel=stable
source=("google-chrome-${_channel}_${pkgver}_amd64.deb::https://dl.google.com/linux/direct/google-chrome-${_channel}_current_amd64.deb"
'eula_text.html'
"google-chrome-$_channel.sh")
-sha512sums=('dc9e6ab4cda866e19b13f90613efb8915993346dc8dfa00aba84e200b9a90633759226788cc18105a8d240951b17a7c753f9f380fceb8ce0beaed7315c6ba47a'
+sha512sums=('354efe5e248b3bd15faa8ac6107756004b75a105cd1d98087cd35a84ae6ee1b3a4140b50cff3a732e4bb7350a72d9c9d1ccba653ebdec62f84a55017671a66de'
'a225555c06b7c32f9f2657004558e3f996c981481dbb0d3cd79b1d59fa3f05d591af88399422d3ab29d9446c103e98d567aeafe061d9550817ab6e7eb0498396'
'351ccec932eea30d8f73071854370978594442c0ab2f5faf4df965b430f9124689e5b70dc64142faefb7f0603904bccac24e23d553d3b692ed6e61b9ec53a79c')
diff --git a/abs/extra/google-chrome/update_version.sh b/abs/extra/google-chrome/update_version.sh
index 5b32577..467a57b 100755
--- a/abs/extra/google-chrome/update_version.sh
+++ b/abs/extra/google-chrome/update_version.sh
@@ -27,8 +27,8 @@ fi
#makepkg --printsrcinfo >.SRCINFO
# Build
-mpv2.py --rmold
+#mpv2.py --rmold
# Commit changes
-git add PKGBUILD
-git commit -m "google-chrome: update to v${VER}"
+#git add PKGBUILD
+#git commit -m "google-chrome: update to v${VER}"
diff --git a/abs/extra/guile/PKGBUILD b/abs/extra/guile/PKGBUILD
index 73ff747..a081865 100644
--- a/abs/extra/guile/PKGBUILD
+++ b/abs/extra/guile/PKGBUILD
@@ -1,11 +1,10 @@
-# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=guile
-pkgver=2.2.3
-pkgrel=1
+pkgver=2.2.6
+pkgrel=2
pkgdesc='Portable, embeddable Scheme implementation written in C'
url='https://www.gnu.org/software/guile/'
arch=(x86_64)
@@ -15,7 +14,7 @@ source=(https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz{,.sig})
validpgpkeys=('3CE464558A84FDC69DB40CFB090B11993D9AEBB5' # Ludovic Courtès <ludo@gnu.org>
'FF478FB264DE32EC296725A3DDC0F5358812F8F2' # Andy Wingo
'4FD4D288D445934E0A14F9A5A8803732E4436885') # Andy Wingo <wingo@pobox.com>"
-sha256sums=('87ee07caef33c97ddc74bf3c29ce7628cfac12061f573e4a29a3a1176754610a'
+sha256sums=('08c0e7487777740b61cdd97949b69e8a5e2997d8c2fe6c7e175819eb18444506'
'SKIP')
build() {
diff --git a/abs/extra/libburn/PKGBUILD b/abs/extra/libburn/PKGBUILD
index 2bd7725..de3f1fa 100644
--- a/abs/extra/libburn/PKGBUILD
+++ b/abs/extra/libburn/PKGBUILD
@@ -1,29 +1,28 @@
-# $Id$
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=libburn
-pkgver=1.4.8 # .pl01
-pkgrel=1
+pkgver=1.5.2 # .pl01
+pkgrel=2
pkgdesc="Library for reading, mastering and writing optical discs"
arch=('x86_64')
url="https://dev.lovelyhq.com/libburnia"
license=('GPL')
depends=('glibc')
+# https://dev.lovelyhq.com/libburnia/web/wikis/Releases
source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz{,.sig})
options=('!emptydirs')
-sha256sums=('3e81a2e359376c38d96239a9c9967be715f706d150d89c337de0fc85ecb79da6'
+sha256sums=('7b32db1719d7f6516cce82a9d00dfddfb3581725db732ea87d41ea8ef0ce5227'
'SKIP')
validpgpkeys=('44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854') # Thomas Schmitt <scdbackup@gmx.net>
build() {
- cd ${pkgname}-${pkgver/.pl01/}
+ cd "${pkgname}"-${pkgver/.pl01/}
./configure --prefix=/usr --disable-static
make
}
package() {
- cd ${pkgname}-${pkgver/.pl01/}
- make DESTDIR=${pkgdir} install
+ cd "${pkgname}"-${pkgver/.pl01/}
+ make DESTDIR="${pkgdir}" install
}
-
diff --git a/abs/extra/libisoburn/PKGBUILD b/abs/extra/libisoburn/PKGBUILD
index c094ee0..313d758 100644
--- a/abs/extra/libisoburn/PKGBUILD
+++ b/abs/extra/libisoburn/PKGBUILD
@@ -1,9 +1,8 @@
-# $Id$
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Gour <Gour <gour@mail.inet.hr>
pkgname=libisoburn
-pkgver=1.4.8 #.pl01
+pkgver=1.5.2 #.pl01
pkgrel=2
pkgdesc="frontend for libraries libburn and libisofs"
url="https://dev.lovelyhq.com/libburnia"
@@ -14,17 +13,17 @@ optdepends=('tk: for xorriso-tcltk frontend')
#'bwidget: for xorriso-tcltk frontend') # AUR
provides=('xorriso' 'xorriso-tcltk')
source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz{,.sig})
-sha256sums=('91cf50473f0f19400629515974bda441545aaae29862dcbbdb28d87b821ca5a5'
+sha256sums=('cc720bc9511d8e0b09365e2c8b0e40817986be308cd96ca2705c807c955590ec'
'SKIP')
validpgpkeys=('44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854') # Thomas Schmitt <scdbackup@gmx.net>
build() {
- cd ${pkgname}-${pkgver/.pl01/}
+ cd "${pkgname}"-${pkgver/.pl01/}
./configure --prefix=/usr
make
}
package() {
- cd ${pkgname}-${pkgver/.pl01/}
- make DESTDIR=${pkgdir} install
+ cd "${pkgname}"-${pkgver/.pl01/}
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/extra/libisofs/PKGBUILD b/abs/extra/libisofs/PKGBUILD
index 6c5e0fc..3e5d030 100644
--- a/abs/extra/libisofs/PKGBUILD
+++ b/abs/extra/libisofs/PKGBUILD
@@ -1,30 +1,28 @@
-# $Id$
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Contributor: Hugo Doria <hugodoria@gmail.com>
# Contributor: Bjorn Martensen
pkgname=libisofs
-pkgver=1.4.8
-pkgrel=1
+pkgver=1.5.2
+pkgrel=2
pkgdesc="Library to pack up hard disk files and directories into a ISO 9660 disk image"
arch=('x86_64')
url="https://dev.lovelyhq.com/libburnia"
license=('GPL')
depends=('acl' 'zlib')
source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz{,.sig})
-sha256sums=('dc9de9df366c27cf03d31d860c83a08ddad9028fe192801ee344602ccec29b69'
+sha256sums=('ef5a139600b3e688357450e52381e40ec26a447d35eb8d21524598c7b1675500'
'SKIP')
validpgpkeys=('44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854') # Thomas Schmitt <scdbackup@gmx.net>
build() {
- cd ${pkgname}-${pkgver}
+ cd "${pkgname}"-${pkgver}
./configure --prefix=/usr \
--enable-libacl --enable-xattr --disable-static
make
}
package() {
- cd ${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd "${pkgname}"-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
-
diff --git a/abs/extra/openmpi/PKGBUILD b/abs/extra/openmpi/PKGBUILD
index d6aa6e1..d94e7d2 100644
--- a/abs/extra/openmpi/PKGBUILD
+++ b/abs/extra/openmpi/PKGBUILD
@@ -1,67 +1,59 @@
-# $Id$
-# Maintainer: Anatol Pomozov <anatol dot pomozov at gmail>
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Anatol Pomozov <anatol dot pomozov at gmail>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
pkgname=openmpi
-pkgver=1.10.2
-pkgrel=1
+pkgver=4.0.5
+pkgrel=2
pkgdesc='High performance message passing library (MPI)'
-arch=(i686 x86_64)
-url='http://www.open-mpi.org'
-license=(custom)
-depends=(libltdl hwloc)
-makedepends=(inetutils valgrind gcc-fortran)
+url='https://www.open-mpi.org'
+arch=('x86_64')
+license=('custom:OpenMPI')
+depends=('glibc' 'libltdl' 'hwloc' 'openssh' 'zlib' 'libnl' 'perl')
+makedepends=('inetutils' 'valgrind' 'gcc-fortran')
optdepends=('gcc-fortran: fortran support')
-options=(staticlibs)
-source=(http://www.open-mpi.org/software/ompi/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('03934fc0a2dd0d0d2d0459d714a976eabca938fb')
+options=('staticlibs')
+source=(https://www.open-mpi.org/software/ompi/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('c58f3863b61d944231077f344fe6b4b8fbb83f3d1bc93ab74640bf3e5acac009')
+b2sums=('9709dc8c251d4f2be14d0ab498c5d0d0e59f95db98fb16d9e84fe3d30af5a8e2f9636bbceaf7ae4086a3312bcd6299f0e9e1ca609d658930a1f5abe1018311e1')
build() {
- cd $pkgname-$pkgver
-
- ./autogen.pl
- ./configure --prefix=/usr \
- --sysconfdir=/etc/${pkgname} \
- --enable-mpi-fortran=all \
- --libdir=/usr/lib/${pkgname} \
- --with-threads=posix \
- --enable-smp-locks \
- --with-valgrind \
- --enable-memchecker \
- --enable-pretty-print-stacktrace \
- --without-slurm \
- --with-hwloc=/usr \
- --with-libltdl=/usr \
- FC=/usr/bin/gfortran \
- LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
-
- make
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/${pkgname} \
+ --enable-mpi-fortran=all \
+ --libdir=/usr/lib/${pkgname} \
+ --enable-builtin-atomics \
+ --enable-mpi-cxx \
+ --with-valgrind \
+ --enable-memchecker \
+ --enable-pretty-print-stacktrace \
+ --without-slurm \
+ --with-hwloc=/usr \
+ --with-libltdl=/usr \
+ FC=/usr/bin/gfortran \
+ LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
+ make
}
check() {
- cd $pkgname-$pkgver
-
- make check
+ cd ${pkgname}-${pkgver}
+ make check
}
package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
-
- # FS#28583
- install -d -m 755 "$pkgdir"/usr/lib/pkgconfig
- for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do
- ln -sf /usr/lib/openmpi/pkgconfig/$i "$pkgdir"/usr/lib/pkgconfig/
- done
-
- # Openmpi's otfinfo conflicts with the one from texlive
- mv "$pkgdir"/usr/bin/otfinfo{,mpi}
-
- # Remove dangling symlink and useless file
- rm "$pkgdir"/usr/share/vampirtrace/config.log
-
- install -d -m 755 "$pkgdir"/etc/ld.so.conf.d
- echo "/usr/lib/$pkgname" > "$pkgdir"/etc/ld.so.conf.d/$pkgname.conf
-
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ # FS#28583
+ install -dm 755 "${pkgdir}/usr/lib/pkgconfig"
+ for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do
+ ln -sf "/usr/lib/openmpi/pkgconfig/${i}" "${pkgdir}/usr/lib/pkgconfig/"
+ done
+
+ install -dm 755 "${pkgdir}/etc/ld.so.conf.d"
+ echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf
+ install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/openmpi/system_ltdl.patch b/abs/extra/openmpi/system_ltdl.patch
deleted file mode 100644
index 300da38..0000000
--- a/abs/extra/openmpi/system_ltdl.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff --git a/config/ltdl.m4 b/config/ltdl.m4
-index ea76f4d..2f1cbfe 100644
---- a/config/ltdl.m4
-+++ b/config/ltdl.m4
-@@ -162,6 +162,8 @@ m4_defun([_LTDL_INSTALLABLE],
- fi
- fi
-
-+enable_ltdl_install=no
-+
- # If configure.ac declared an installable ltdl, and the user didn't override
- # with --disable-ltdl-install, we will install the shipped libltdl.
- case $enable_ltdl_install in
-diff --git a/ompi/debuggers/Makefile.am b/ompi/debuggers/Makefile.am
-index 2adf3fd..5b22a91 100644
---- a/ompi/debuggers/Makefile.am
-+++ b/ompi/debuggers/Makefile.am
-@@ -46,8 +46,7 @@ headers = \
- # Simple checks to ensure that the DSOs are functional
-
- dlopen_test_SOURCES = dlopen_test.c
--dlopen_test_CPPFLAGS = -I$(top_srcdir)/opal/libltdl
--dlopen_test_LDADD = $(top_builddir)/opal/libltdl/libltdlc.la
-+dlopen_test_LDADD = -lltdl
-
- predefined_gap_test_SOURCES = predefined_gap_test.c
- predefined_gap_test_LDFLAGS = $(WRAPPER_EXTRA_LDFLAGS)
-diff --git a/ompi/debuggers/dlopen_test.c b/ompi/debuggers/dlopen_test.c
-index 029a4ee..023afb8 100644
---- a/ompi/debuggers/dlopen_test.c
-+++ b/ompi/debuggers/dlopen_test.c
-@@ -13,7 +13,7 @@
- #include <string.h>
- #include <stdlib.h>
-
--#include "opal/libltdl/ltdl.h"
-+#include "ltdl.h"
-
- static int do_test(void);
-
-diff --git a/test/support/components.c b/test/support/components.c
-index 41c4345..6b4b464 100644
---- a/test/support/components.c
-+++ b/test/support/components.c
-@@ -24,7 +24,7 @@
-
- #include "opal/constants.h"
- #include "opal/mca/mca.h"
--#include "opal/libltdl/ltdl.h"
-+#include "ltdl.h"
-
- #include "components.h"
-
-diff --git a/test/support/components.h b/test/support/components.h
-index 6db1f0d..fc8dfc5 100644
---- a/test/support/components.h
-+++ b/test/support/components.h
-@@ -20,7 +20,7 @@
- #ifndef OMPI_SUPPORT_COMPONENTS_H
- #define OMPI_SUPPORT_COMPONENTS_H
-
--#include "opal/libltdl/ltdl.h"
-+#include "ltdl.h"
- #include "opal/mca/mca.h"
-
- BEGIN_C_DECLS
diff --git a/abs/extra/plex-media-server/PKGBUILD b/abs/extra/plex-media-server/PKGBUILD
index 041b824..3e081b2 100644
--- a/abs/extra/plex-media-server/PKGBUILD
+++ b/abs/extra/plex-media-server/PKGBUILD
@@ -9,8 +9,8 @@
# Contributor: Praekon <praekon@googlemail.com>
pkgname=plex-media-server
-pkgver=1.18.2.2058
-_pkgsum=e67a4e892
+pkgver=1.24.2.4973
+_pkgsum=2b1b51db9
pkgrel=1
pkgdesc='Plex Media Server'
arch=('x86_64')
@@ -59,4 +59,4 @@ md5sums=('16f212dc586df577fa116d80adf1ebf6'
'b926b4b845120bd37b640a4982a667dc'
'f70da65876e2caac21dc463df234c726'
'af6d0a81c7821b2eddb1bc137310ca1b')
-md5sums_x86_64=('2244982ed6e033c916e3104c4c606893')
+md5sums_x86_64=('4e263044e0eea7619191410471ef7668')
diff --git a/linhes/calamares/PKGBUILD b/linhes/calamares/PKGBUILD
new file mode 100644
index 0000000..c749ce5
--- /dev/null
+++ b/linhes/calamares/PKGBUILD
@@ -0,0 +1,65 @@
+# Maintainer: Cecil Watson <knoppmyth@gmail.com>
+
+pkgname=calamares
+pkgver=3.2.62
+_pkgver=3.2.62
+pkgrel=1
+pkgdesc='Distribution-independent installer framework'
+arch=('i686' 'x86_64')
+license=(GPL)
+url="https://github.com/calamares/calamares"
+license=('LGPL')
+depends=('kconfig' 'kcoreaddons' 'kiconthemes' 'ki18n' 'kio' 'solid' 'yaml-cpp' 'kpmcore>=4.1.0' 'mkinitcpio-openswap'
+ 'boost-libs' 'ckbcomp' 'hwinfo' 'qt5-svg' 'polkit-qt5' 'gtk-update-icon-cache' 'plasma-framework'
+ 'qt5-xmlpatterns' 'squashfs-tools' 'libpwquality' 'appstream-qt')
+makedepends=('extra-cmake-modules' 'qt5-tools' 'qt5-translations' 'git' 'boost' 'python-yaml'
+ 'python-jsonschema')
+
+source=("https://github.com/calamares/calamares/releases/download/v$pkgver/calamares-$pkgver.tar.gz")
+
+#pkgver() {
+# cd ${srcdir}/calamares-${pkgver}
+# sed -i -e "s|\${CALAMARES_VERSION_MAJOR}.\${CALAMARES_VERSION_MINOR}.\${CALAMARES_VERSION_PATCH}|${_ver}-${pkgrel}|g" CMakeLists.txt
+# sed -i -e "s|CALAMARES_VERSION_RC 1|CALAMARES_VERSION_RC 0|g" CMakeLists.txt
+#}
+
+prepare() {
+ cd ${srcdir}/calamares-${pkgver}
+ sed -i -e 's/"Install configuration files" OFF/"Install configuration files" ON/' CMakeLists.txt
+ sed -i -e 's|$pkgver|$_pkgver|g' CMakeLists.txt
+ printf 'Version: %s-%s' "${_ver}" "${pkgrel}"
+
+ sed -i -e "s|\${CALAMARES_VERSION_MAJOR}.\${CALAMARES_VERSION_MINOR}.\${CALAMARES_VERSION_PATCH}|${_ver}-${pkgrel}|g" CMakeLists.txt
+ sed -i -e "s|CALAMARES_VERSION_RC 1|CALAMARES_VERSION_RC 0|g" CMakeLists.txt
+}
+
+
+build() {
+ cd ${srcdir}/calamares-${pkgver}
+
+ mkdir -p build
+ cd build
+ cmake .. \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DWITH_PYTHONQT:BOOL=ON \
+ -DBoost_NO_BOOST_CMAKE=ON \
+ -DSKIP_MODULES="webview interactiveterminal initramfs \
+ initramfscfg dracut dracutlukscfg \
+ dummyprocess dummypython dummycpp \
+ dummypythonqt services-openrc"
+ make
+}
+
+package() {
+ cd ${srcdir}/calamares-${pkgver}/build
+ make DESTDIR="$pkgdir" install
+
+ # rename services-systemd back to services
+ mv "$pkgdir/usr/lib/calamares/modules/services-systemd" "$pkgdir/usr/lib/calamares/modules/services"
+ mv "$pkgdir/usr/share/calamares/modules/services-systemd.conf" "$pkgdir/usr/share/calamares/modules/services.conf"
+ sed -i -e 's/-systemd//' "$pkgdir/usr/lib/calamares/modules/services/module.desc"
+ sed -i -e 's/-systemd//' "$pkgdir/usr/share/calamares/settings.conf"
+}
+sha256sums=('a0fbcec2a438693753fc174220356119ad7adb8a2b19c317518aa1cb025d6dd0')
diff --git a/linhes/certbot-dns-duckdns/PKGBUILD b/linhes/certbot-dns-duckdns/PKGBUILD
new file mode 100644
index 0000000..b268acd
--- /dev/null
+++ b/linhes/certbot-dns-duckdns/PKGBUILD
@@ -0,0 +1,31 @@
+# shellcheck shell=bash
+# shellcheck disable=SC2034 # Various variables that are used by makepkg
+# shellcheck disable=SC2154 # Various variables that are provided by makepkg
+# Maintainer: eomanis at web dot de
+
+pkgname='certbot-dns-duckdns'
+_pkgverUpstream="1.3"
+pkgver="1.3.0"
+pkgrel=1
+pkgdesc="Plugin for certbot for a DNS-01 challenge with a DuckDNS domain"
+arch=('any')
+url='https://github.com/infinityofspace/certbot_dns_duckdns'
+license=('MIT')
+depends=('certbot' 'python-dnspython' 'python-requests')
+makedepends=( 'python-build' 'python-installer' 'python-wheel' )
+source=("https://github.com/infinityofspace/certbot_dns_duckdns/archive/refs/tags/v${_pkgverUpstream}.tar.gz")
+sha256sums=('1faa4ebfb4902056dd90d45f8544a925d81ce8df34ab5d232acfb97e1bf12848')
+
+build() {
+ local srcRootDir="${srcdir}/certbot_dns_duckdns-${_pkgverUpstream}"
+ cd "$srcRootDir" || return 1
+
+ python -m build --wheel --no-isolation
+}
+
+package() {
+ local srcRootDir="${srcdir}/certbot_dns_duckdns-${_pkgverUpstream}"
+ cd "$srcRootDir" || return 1
+
+ python -m installer --destdir="$pkgdir" dist/*.whl
+}
diff --git a/linhes/ckbcomp/PKGBUILD b/linhes/ckbcomp/PKGBUILD
new file mode 100755
index 0000000..e023e65
--- /dev/null
+++ b/linhes/ckbcomp/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Nissar Chababy <funilrys at outlook dot com>
+# Ex-Maintainer: Jeroen Bollen <jbinero at gmail dot comau>
+
+pkgname=ckbcomp
+pkgver=1.221
+pkgrel=1
+pkgdesc="Compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol"
+arch=(any)
+url="http://anonscm.debian.org/cgit/d-i/console-setup.git/"
+license=('GPL2')
+depends=('perl')
+source=("http://ftp.debian.org/debian/pool/main/c/console-setup/console-setup_${pkgver}.tar.xz")
+sha512sums=('083dcf8bb5b96f7e4d659df454355dd48ef85b49e08136570fa6ec270b61ef6aa46d54cd416a720a7abd1d524b100bc73230dc9edd20f6dd0c8be6f214b54aff')
+conflicts=(ckbcomp-bin)
+
+package() {
+ if [[ -d "${srcdir}/console-setup" ]]
+ then
+ cd console-setup
+ elif [[ -d "${srcdir}/console-setup-${pkgver}" ]]
+ then
+ cd console-setup-${pkgver}
+ else
+ echo "Source directory not found.".
+ exit 1
+ fi
+
+
+ if [[ ${?} != 0 ]]
+ then
+ cd console-setup-${pkgver}
+ fi
+
+ install -d ${pkgdir}/usr/bin/
+ install -m755 Keyboard/ckbcomp ${pkgdir}/usr/bin/
+}
diff --git a/linhes/clean-chroot-manager/PKGBUILD b/linhes/clean-chroot-manager/PKGBUILD
new file mode 100644
index 0000000..f4dfed8
--- /dev/null
+++ b/linhes/clean-chroot-manager/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: graysky <therealgraysky AT protonmail DOT com>
+
+pkgname=clean-chroot-manager
+pkgver=2.226
+pkgrel=1
+pkgdesc='Wrapper for managing clean chroot builds with local repo therein.'
+arch=('any')
+url='https://github.com/graysky2/clean-chroot-manager'
+license=('MIT')
+depends=('devtools>=1:1.0.0-1' 'rsync' 'libarchive>=3.3.3' 'pacman>=6.0.2-7')
+conflicts=('clean_chroot_manager')
+replaces=('clean_chroot_manager')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/graysky2/clean-chroot-manager/archive/v$pkgver.tar.gz")
+b2sums=('fce60c3f94aa07b32fd9da8436e228a3ae79db2fe8164593578543e777280cf6bed5803bb43068d95029c68880a2dfb0c964d944f43077a72f96f16620066ffc')
+install=ccm.install
+
+build() {
+ cd "$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 MIT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/linhes/clean-chroot-manager/ccm.install b/linhes/clean-chroot-manager/ccm.install
new file mode 100644
index 0000000..e2cfd39
--- /dev/null
+++ b/linhes/clean-chroot-manager/ccm.install
@@ -0,0 +1,28 @@
+## arg 1: the new package version
+## arg 2: the old package version
+
+post_upgrade() {
+ # define the versions for which a change is needed
+ for test in 2.101-1 2.201-1 2.202-1 2.208-1 2.212-1 2.213-1 2.221-1 2.224-1; do
+ if [ "$(vercmp $2 $test)" -lt 0 ]; then
+ cat <<END
+
+>>> New features/changes have been made with this release.
+ Check \$XDG_CONFIG_HOME/clean-chroot-manager.conf against
+ /usr/share/clean-chroot-manager/ccm.skel to ensure it is updated!
+
+END
+ fi
+ done
+
+ for test in 2.217-1; do
+ if [ "$(vercmp $2 $test)" -lt 0 ]; then
+ cat <<END
+
+>>> WARNING: Changes to this release require some users to nuke any existing
+ buildroot before using ccm with this release!
+
+END
+ fi
+ done
+}
diff --git a/linhes/dvb-firmware/.gitignore b/linhes/dvb-firmware/.gitignore
new file mode 100644
index 0000000..6295c0f
--- /dev/null
+++ b/linhes/dvb-firmware/.gitignore
@@ -0,0 +1 @@
+dvb-fw.tar.gz
diff --git a/linhes/dvb-firmware/PKGBUILD b/linhes/dvb-firmware/PKGBUILD
new file mode 100644
index 0000000..bd692d4
--- /dev/null
+++ b/linhes/dvb-firmware/PKGBUILD
@@ -0,0 +1,19 @@
+# Maintainer: Cecil Watson<knoppmyth@gmail.com>
+
+pkgname=dvb-firmware
+pkgver=1
+pkgrel=25
+pkgdesc="Firmware for DVB cards"
+arch=('x86_64')
+url="http://linuxtv.org/"
+source=('dvb-fw.tar.gz' 'xc5000.conf')
+
+package() {
+ cd $srcdir
+ mkdir -p ${pkgdir}/usr/lib/firmware
+ cp -a ${srcdir}/dvb-fw/* ${pkgdir}/usr/lib/firmware
+ mkdir -p ${pkgdir}/etc/modprobe.d/
+ install -D -m644 "${srcdir}/xc5000.conf" "${pkgdir}/etc/modprobe.d/"
+}
+sha256sums=('6a04e259e13bc3aba26723d226ac61b02ca0da62b1f243d3ab69b4c121e42397'
+ '5256ea2fc2c72dde7844ac1d8d9957bc17ca84fb0f93c071578ba1e092ef3237')
diff --git a/linhes/dvb-firmware/dvb-fw/NXP7164-2010-03-10.1.fw b/linhes/dvb-firmware/dvb-fw/NXP7164-2010-03-10.1.fw
new file mode 100644
index 0000000..01360d1
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/NXP7164-2010-03-10.1.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/NXP7164-2010-04-01.1.fw b/linhes/dvb-firmware/dvb-fw/NXP7164-2010-04-01.1.fw
new file mode 100644
index 0000000..da9c66c
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/NXP7164-2010-04-01.1.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-bcm3510-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-bcm3510-01.fw
new file mode 100644
index 0000000..6eec615
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-bcm3510-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-cx24116.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-cx24116.fw
new file mode 100644
index 0000000..8fed649
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-cx24116.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-cx24117.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-cx24117.fw
new file mode 100644
index 0000000..79768b0
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-cx24117.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-nxt2002.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-nxt2002.fw
new file mode 100644
index 0000000..3c81c5e
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-nxt2002.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-nxt2004.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-nxt2004.fw
new file mode 100644
index 0000000..3cd57b1
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-nxt2004.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-or51132-qam.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-or51132-qam.fw
new file mode 100644
index 0000000..84e6928
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-or51132-qam.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-or51132-vsb.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-or51132-vsb.fw
new file mode 100644
index 0000000..51168f4
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-or51132-vsb.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-or51211.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-or51211.fw
new file mode 100644
index 0000000..1300f7f
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-or51211.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-sp887x.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-sp887x.fw
new file mode 100644
index 0000000..a318966
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-sp887x.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10045.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10045.fw
new file mode 100644
index 0000000..a5d5568
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10045.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10046.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10046.fw
new file mode 100644
index 0000000..caad832
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10046.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10048-1.0.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10048-1.0.fw
new file mode 100644
index 0000000..b46126d
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-tda10048-1.0.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-tdlb7.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-tdlb7.fw
new file mode 100644
index 0000000..9a2cc31
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-tdlb7.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-fe-xc5000-1.1.fw b/linhes/dvb-firmware/dvb-fw/dvb-fe-xc5000-1.1.fw
new file mode 100644
index 0000000..7d4c230
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-fe-xc5000-1.1.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw
new file mode 100644
index 0000000..5bb7f25
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261a b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261a
new file mode 100644
index 0000000..7a7b95f
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261a
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261b b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261b
new file mode 100644
index 0000000..0c0e792
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261b
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261c b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261c
new file mode 100644
index 0000000..671db19
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261c
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261d b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261d
new file mode 100644
index 0000000..9b9c53c
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261d
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261f b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261f
new file mode 100644
index 0000000..d0b528b
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-261f
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-2622 b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-2622
new file mode 100644
index 0000000..5bb7f25
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttpci-01.fw-2622
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-2000t.fw b/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-2000t.fw
new file mode 100644
index 0000000..62e5684
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-2000t.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-2540t.fw b/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-2540t.fw
new file mode 100644
index 0000000..7c282d7
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-2540t.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-3000s.fw b/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-3000s.fw
new file mode 100644
index 0000000..2407fbd
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-ttusb-dec-3000s.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-adstech-usb2-02.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-adstech-usb2-02.fw
new file mode 100644
index 0000000..119590a
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-adstech-usb2-02.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-af9015.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-af9015.fw
new file mode 100644
index 0000000..0014181
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-af9015.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-avertv-a800-02.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-avertv-a800-02.fw
new file mode 100644
index 0000000..c8f0be7
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-avertv-a800-02.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-bluebird-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-bluebird-01.fw
new file mode 100644
index 0000000..3b80112
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-bluebird-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-bluebird-02.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-bluebird-02.fw
new file mode 100644
index 0000000..11aaf45
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-bluebird-02.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-dib0700-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-dib0700-01.fw
new file mode 100644
index 0000000..445ddf4
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-dib0700-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-5.0.0.11.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-5.0.0.11.fw
new file mode 100644
index 0000000..c57fb29
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-5.0.0.11.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-6.0.0.8.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-6.0.0.8.fw
new file mode 100644
index 0000000..825e05d
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-6.0.0.8.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-an2235-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-an2235-01.fw
new file mode 100644
index 0000000..b57d47a
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-dibusb-an2235-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-digitv-02.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-digitv-02.fw
new file mode 100644
index 0000000..04b377a
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-digitv-02.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-dtt200u-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-dtt200u-01.fw
new file mode 100644
index 0000000..5693813
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-dtt200u-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-nova-t-usb2-02.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-nova-t-usb2-02.fw
new file mode 100644
index 0000000..76ea03d
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-nova-t-usb2-02.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-pctv-400e-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-pctv-400e-01.fw
new file mode 100644
index 0000000..e5b3ae8
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-pctv-400e-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-umt-010-02.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-umt-010-02.fw
new file mode 100644
index 0000000..479be75
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-umt-010-02.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-vp702x-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-vp702x-01.fw
new file mode 100644
index 0000000..e366e92
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-vp702x-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-vp702x-02.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-vp702x-02.fw
new file mode 100644
index 0000000..d148dd8
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-vp702x-02.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-vp7045-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-vp7045-01.fw
new file mode 100644
index 0000000..df4f3db
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-vp7045-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-01.fw
new file mode 100644
index 0000000..f0a1e83
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-02.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-02.fw
new file mode 100644
index 0000000..6de7366
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-02.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-fc03.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-fc03.fw
new file mode 100644
index 0000000..66c4a9a
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-fc03.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-zl0353-01.fw b/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-zl0353-01.fw
new file mode 100644
index 0000000..49c881f
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/dvb-usb-wt220u-zl0353-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/pvrusb2.f1 b/linhes/dvb-firmware/dvb-fw/pvrusb2.f1
new file mode 100644
index 0000000..578e722
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/pvrusb2.f1
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/pvrusb2.f2 b/linhes/dvb-firmware/dvb-fw/pvrusb2.f2
new file mode 100644
index 0000000..ad73f3b
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/pvrusb2.f2
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/v4l-cx23418-apu.fw b/linhes/dvb-firmware/dvb-fw/v4l-cx23418-apu.fw
new file mode 100644
index 0000000..04351f1
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/v4l-cx23418-apu.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/v4l-cx23418-cpu.fw b/linhes/dvb-firmware/dvb-fw/v4l-cx23418-cpu.fw
new file mode 100644
index 0000000..22227b6
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/v4l-cx23418-cpu.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/v4l-cx23418-dig.fw b/linhes/dvb-firmware/dvb-fw/v4l-cx23418-dig.fw
new file mode 100644
index 0000000..cfd6e84
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/v4l-cx23418-dig.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/v4l-cx23885-enc.fw b/linhes/dvb-firmware/dvb-fw/v4l-cx23885-enc.fw
new file mode 100644
index 0000000..25a2915
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/v4l-cx23885-enc.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/v4l-saa7164-1.0.2.fw b/linhes/dvb-firmware/dvb-fw/v4l-saa7164-1.0.2.fw
new file mode 100644
index 0000000..9a209b7
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/v4l-saa7164-1.0.2.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/v4l-saa7164-1.0.3.fw b/linhes/dvb-firmware/dvb-fw/v4l-saa7164-1.0.3.fw
new file mode 100644
index 0000000..ad374fd
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/v4l-saa7164-1.0.3.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028-dvico-au-01.fw b/linhes/dvb-firmware/dvb-fw/xc3028-dvico-au-01.fw
new file mode 100644
index 0000000..379eb2f
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028-dvico-au-01.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028-v27.fw b/linhes/dvb-firmware/dvb-fw/xc3028-v27.fw
new file mode 100644
index 0000000..76f46ab
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028-v27.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028L-v36.fw b/linhes/dvb-firmware/dvb-fw/xc3028L-v36.fw
new file mode 100644
index 0000000..a7bcd64
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028L-v36.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_8MHz_MTS_init0.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_8MHz_MTS_init0.i2c.fw
new file mode 100644
index 0000000..7c4df16
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_8MHz_MTS_init0.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_8MHz_init0.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_8MHz_init0.i2c.fw
new file mode 100644
index 0000000..7c6f012
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_8MHz_init0.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_A.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_A.i2c.fw
new file mode 100644
index 0000000..bb495b2
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_A.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_A_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_A_MTS.i2c.fw
new file mode 100644
index 0000000..bb495b2
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_A_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_B.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_B.i2c.fw
new file mode 100644
index 0000000..83a8383
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_B.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_B_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_B_MTS.i2c.fw
new file mode 100644
index 0000000..4d7eb79
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_A2_B_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_A.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_A.i2c.fw
new file mode 100644
index 0000000..7b65976
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_A.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_A_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_A_MTS.i2c.fw
new file mode 100644
index 0000000..e8ef52f
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_A_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_B.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_B.i2c.fw
new file mode 100644
index 0000000..7b65976
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_B.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_B_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_B_MTS.i2c.fw
new file mode 100644
index 0000000..e8ef52f
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_BG_PAL_NICAM_B_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_A2.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_A2.i2c.fw
new file mode 100644
index 0000000..9c4d336
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_A2.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_A2_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_A2_MTS.i2c.fw
new file mode 100644
index 0000000..6d7a05e
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_A2_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_NICAM.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_NICAM.i2c.fw
new file mode 100644
index 0000000..50826fe
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_NICAM.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_NICAM_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_NICAM_MTS.i2c.fw
new file mode 100644
index 0000000..d8a8fe2
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DK_PAL_NICAM_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_DK1.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_DK1.i2c.fw
new file mode 100644
index 0000000..a02899c
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_DK1.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_DK1_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_DK1_MTS.i2c.fw
new file mode 100644
index 0000000..112e30a
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_DK1_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_L_DK3.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_L_DK3.i2c.fw
new file mode 100644
index 0000000..ca4787a
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_L_DK3.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_L_DK3_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_L_DK3_MTS.i2c.fw
new file mode 100644
index 0000000..b38b1df
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DK_SECAM_A2_L_DK3_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_ATSC_2620.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_ATSC_2620.i2c.fw
new file mode 100644
index 0000000..1260a54
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_ATSC_2620.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_ATSC_2633.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_ATSC_2633.i2c.fw
new file mode 100644
index 0000000..1260a54
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_ATSC_2633.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_QAM_2620.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_QAM_2620.i2c.fw
new file mode 100644
index 0000000..9c2631a
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_QAM_2620.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_QAM_2633.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_QAM_2633.i2c.fw
new file mode 100644
index 0000000..1aa4698
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV6_QAM_2633.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV78_2620.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV78_2620.i2c.fw
new file mode 100644
index 0000000..e9ad141
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV78_2620.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV78_2633.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV78_2633.i2c.fw
new file mode 100644
index 0000000..3b872ea
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV78_2633.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV7_2620.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV7_2620.i2c.fw
new file mode 100644
index 0000000..9a430ef
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV7_2620.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV7_2633.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV7_2633.i2c.fw
new file mode 100644
index 0000000..e7fa399
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV7_2633.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV8_2620.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV8_2620.i2c.fw
new file mode 100644
index 0000000..9a430ef
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV8_2620.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_DTV8_2633.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_DTV8_2633.i2c.fw
new file mode 100644
index 0000000..e7fa399
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_DTV8_2633.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_FM.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_FM.i2c.fw
new file mode 100644
index 0000000..1a7e1cc
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_FM.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_FM_INPUT1_init0.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_FM_INPUT1_init0.i2c.fw
new file mode 100644
index 0000000..3d07966
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_FM_INPUT1_init0.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_FM_init0.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_FM_init0.i2c.fw
new file mode 100644
index 0000000..efad66a
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_FM_init0.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_I_PAL_NICAM.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_I_PAL_NICAM.i2c.fw
new file mode 100644
index 0000000..382f969
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_I_PAL_NICAM.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_I_PAL_NICAM_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_I_PAL_NICAM_MTS.i2c.fw
new file mode 100644
index 0000000..83eff60
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_I_PAL_NICAM_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_L'_SECAM_NICAM.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_L'_SECAM_NICAM.i2c.fw
new file mode 100644
index 0000000..8fe3ab7
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_L'_SECAM_NICAM.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_L_SECAM_AM.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_L_SECAM_AM.i2c.fw
new file mode 100644
index 0000000..dc668c7
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_L_SECAM_AM.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_L_SECAM_NICAM.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_L_SECAM_NICAM.i2c.fw
new file mode 100644
index 0000000..f22dfcb
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_L_SECAM_NICAM.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2.i2c.fw
new file mode 100644
index 0000000..c3f02c7
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_LCD.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_LCD.i2c.fw
new file mode 100644
index 0000000..38cda6e
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_LCD.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_LCD_NOGD.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_LCD_NOGD.i2c.fw
new file mode 100644
index 0000000..7292163
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_LCD_NOGD.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_MTS.i2c.fw
new file mode 100644
index 0000000..a12f1ad
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_A2_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC.i2c.fw
new file mode 100644
index 0000000..292a08f
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC_LCD.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC_LCD.i2c.fw
new file mode 100644
index 0000000..f6bd3ea
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC_LCD.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC_LCD_NOGD.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC_LCD_NOGD.i2c.fw
new file mode 100644
index 0000000..355c2c5
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_BTSC_LCD_NOGD.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ.i2c.fw
new file mode 100644
index 0000000..175ccb2
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ_LCD.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ_LCD.i2c.fw
new file mode 100644
index 0000000..f6bd3ea
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ_LCD.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ_LCD_NOGD.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ_LCD_NOGD.i2c.fw
new file mode 100644
index 0000000..355c2c5
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_EIAJ_LCD_NOGD.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS.i2c.fw
new file mode 100644
index 0000000..c3f02c7
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS_LCD.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS_LCD.i2c.fw
new file mode 100644
index 0000000..cdbda18
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS_LCD.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS_LCD_NOGD.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS_LCD_NOGD.i2c.fw
new file mode 100644
index 0000000..080463c
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MN_NTSCPAL_MTS_LCD_NOGD.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_MTS_init0.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_MTS_init0.i2c.fw
new file mode 100644
index 0000000..100cf32
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_MTS_init0.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc3028_init0.i2c.fw b/linhes/dvb-firmware/dvb-fw/xc3028_init0.i2c.fw
new file mode 100644
index 0000000..e845ede
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc3028_init0.i2c.fw
Binary files differ
diff --git a/linhes/dvb-firmware/dvb-fw/xc4000-1.4.fw b/linhes/dvb-firmware/dvb-fw/xc4000-1.4.fw
new file mode 100644
index 0000000..79cc4d8
--- /dev/null
+++ b/linhes/dvb-firmware/dvb-fw/xc4000-1.4.fw
Binary files differ
diff --git a/linhes/dvb-firmware/mp_preflight b/linhes/dvb-firmware/mp_preflight
new file mode 100755
index 0000000..159f7ae
--- /dev/null
+++ b/linhes/dvb-firmware/mp_preflight
@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+echo " Starting mp_preflight"
+tar -czvf dvb-fw.tar.gz ./dvb-fw
diff --git a/linhes/dvb-firmware/xc5000.conf b/linhes/dvb-firmware/xc5000.conf
new file mode 100644
index 0000000..1b98fb0
--- /dev/null
+++ b/linhes/dvb-firmware/xc5000.conf
@@ -0,0 +1,5 @@
+# xc5000
+# Disable power cycling and firmware reloads caused by device sleeping
+#
+#
+#options xc5000 no_poweroff=1
diff --git a/linhes/libestr/.gitignore b/linhes/libestr/.gitignore
new file mode 100644
index 0000000..107f9fe
--- /dev/null
+++ b/linhes/libestr/.gitignore
@@ -0,0 +1,3 @@
+*.tar.xz
+*.tar.gz
+*.sig
diff --git a/linhes/libestr/PKGBUILD b/linhes/libestr/PKGBUILD
new file mode 100644
index 0000000..a8850b3
--- /dev/null
+++ b/linhes/libestr/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 266875 2017-11-15 14:29:11Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Brian Knox <taotetek@gmail.com>
+
+pkgname=libestr
+pkgver=0.1.11
+pkgrel=1
+pkgdesc="essentials for string handling (and a bit more)"
+url="http://libestr.adiscon.com/"
+arch=('x86_64' 'i686')
+license=('LGPL2.1')
+depends=()
+source=("http://libestr.adiscon.com/files/download/libestr-$pkgver.tar.gz")
+md5sums=('1f25a2332750d4bfacfb314235fedff0')
+
+build() {
+ cd "$srcdir"/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd "$srcdir"/${pkgname}-${pkgver}
+ make install DESTDIR="$pkgdir"
+}
diff --git a/linhes/libfastjson/PKGBUILD b/linhes/libfastjson/PKGBUILD
new file mode 100644
index 0000000..eb59293
--- /dev/null
+++ b/linhes/libfastjson/PKGBUILD
@@ -0,0 +1,21 @@
+pkgname=libfastjson
+pkgver=1.2304.0
+pkgrel=1
+pkgdesc="A performance-focused json library for C"
+arch=('x86_64' 'i686' 'aarch64' 'armv7h')
+url="https://github.com/rsyslog/libfastjson"
+license=('GPL')
+source=($pkgname-$pkgver.tar.gz::https://github.com/rsyslog/$pkgname/archive/v$pkgver.tar.gz)
+sha256sums=('6c18848c75b179108429fc2818273551c68ffe6ddd5e414c20c071c844befbc1')
+
+build() {
+ cd "$pkgname-$pkgver"
+ autoreconf -fvi
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/linhes/libhdhomerun/.gitignore b/linhes/libhdhomerun/.gitignore
new file mode 100644
index 0000000..ffb4883
--- /dev/null
+++ b/linhes/libhdhomerun/.gitignore
@@ -0,0 +1,4 @@
+*.pkg.tar.xz
+*.tgz
+src/
+pkg/
diff --git a/linhes/libhdhomerun/PKGBUILD b/linhes/libhdhomerun/PKGBUILD
new file mode 100644
index 0000000..1ab1674
--- /dev/null
+++ b/linhes/libhdhomerun/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Louis Tim Larsen <louis(a)louis.dk>, Alex Mekkering <amekkering at gmail dot com>
+# Contributor: Grey Christoforo <first name [at] last name [dot] net>
+
+pkgname=libhdhomerun
+pkgver=20230719
+pkgrel=1
+pkgdesc="Library and command line utility for interfacing with HDHomeRun device"
+arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
+url="https://www.silicondust.com/downloads"
+license=('LGPL')
+optdepends=('hdhomerun-firmware-bin: firmware for hdhomerun devices'
+ 'hdhomerun_config_gui: hdhomerun configuration gui')
+
+source=("https://download.silicondust.com/hdhomerun/${pkgname}_${pkgver}.tgz")
+sha512sums=('da7e8a2a93f60b74103556d1326770243d403844a45fc0583603d8a611946346d4da90cfa6ca239f4f903ac853635b9dd884b5f56af7dff3e4bf230ce700e524')
+
+build() {
+ cd "$srcdir/$pkgname"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ install -D -m 644 *.h -t $pkgdir/usr/include/libhdhomerun/
+ install -D -m 755 libhdhomerun.so $pkgdir/usr/lib/libhdhomerun.so
+ install -D -m 755 hdhomerun_config $pkgdir/usr/bin/hdhomerun_config
+}
diff --git a/linhes/liblogging/PKGBUILD b/linhes/liblogging/PKGBUILD
new file mode 100644
index 0000000..3c7125d
--- /dev/null
+++ b/linhes/liblogging/PKGBUILD
@@ -0,0 +1,24 @@
+pkgname=liblogging
+pkgver=1.0.6
+pkgrel=3
+pkgdesc="easy to use, portable, open source library for system logging"
+url="http://www.liblogging.org/"
+arch=('x86_64' 'i686')
+license=('GPL')
+depends=('systemd')
+makedepends=('python-docutils')
+options=('strip' 'zipman' '!libtool')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/rsyslog/liblogging/archive/v$pkgver.tar.gz")
+sha256sums=('5d235b7da35329d7d13349a4b941a197506a3c47bf8c27758c5e56b51c142c58')
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ make install DESTDIR="$pkgdir"
+}
diff --git a/linhes/librelp/PKGBUILD b/linhes/librelp/PKGBUILD
new file mode 100644
index 0000000..9cb216c
--- /dev/null
+++ b/linhes/librelp/PKGBUILD
@@ -0,0 +1,21 @@
+pkgname=librelp
+pkgver=1.10.0
+pkgrel=1
+pkgdesc="The Reliable Event Logging Protocol"
+url="https://www.rsyslog.com/librelp/"
+arch=('x86_64' 'i686')
+license=('GPL3')
+depends=('gnutls')
+source=("http://download.rsyslog.com/librelp/librelp-${pkgver}.tar.gz")
+sha256sums=('148db4e4d1a23e8136e9ec08810929a55faf5d45e24c2e3186d5ab34355dab31')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/linhes/libsignal-client/PKGBUILD b/linhes/libsignal-client/PKGBUILD
new file mode 100644
index 0000000..cb58774
--- /dev/null
+++ b/linhes/libsignal-client/PKGBUILD
@@ -0,0 +1,58 @@
+# Maintainer: <asamk@gmx.de>
+
+pkgname=libsignal-client
+_pkgname=libsignal
+_libname=libsignal_jni
+pkgver=0.39.2
+pkgrel=1
+pkgdesc='Library for the Signal Protocol.'
+url="https://github.com/signalapp/${_pkgname}"
+depends=('gcc-libs')
+checkdepends=('cargo')
+makedepends=('cargo' 'gradle' 'git' 'zip' 'protobuf' 'cmake' 'clang' 'java-environment')
+options=(!lto)
+arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
+license=('AGPL-3.0-only')
+source=(
+ "${_pkgname}-${pkgver}.tar.gz::https://github.com/signalapp/${_pkgname}/archive/refs/tags/v$pkgver.tar.gz"
+)
+
+sha512sums=('c2307782a68c695c990ea620b3d0f07eea699fa8f30af8d57b068ffc96e9203718073224426859aab2f2bfa21f136ebe07b0feed387647c9ca5c39e284e502a2')
+
+prepare() {
+ tar xf "${_pkgname}-$pkgver.tar.gz"
+ cd "${_pkgname}-${pkgver}"
+
+ # Use the default system rust toolchain
+ # rm -f rust-toolchain
+
+ sed -i "s/cargo build/cargo build --frozen/" java/build_jni.sh
+
+ cargo fetch --locked --target "$(rustc -vV | awk '/^host: / {print $2}')"
+}
+
+build() {
+ cd "${_pkgname}-${pkgver}/java"
+
+ export RUSTUP_TOOLCHAIN=stable
+ export CARGO_TARGET_DIR=target
+ ./build_jni.sh desktop
+ GRADLE_USER_HOME="${srcdir}/.gradle" gradle --no-daemon assemble -PskipAndroid=true
+
+ zip -d "client/build/libs/libsignal-client-${pkgver}.jar" "${_libname}.so"
+}
+
+check() {
+ cd "${_pkgname}-${pkgver}"
+ export RUSTUP_TOOLCHAIN=stable
+ cargo test --frozen
+}
+
+package() {
+ cd "${_pkgname}-${pkgver}"
+
+ install -m755 -d "${pkgdir}/usr/share/java/${pkgname}" "${pkgdir}/usr/lib"
+
+ install -Dm644 "java/client/build/libs/libsignal-client-${pkgver}.jar" "$pkgdir/usr/share/java/$pkgname/$pkgname.jar"
+ install -Dm644 "target/release/${_libname}.so" "$pkgdir/usr/lib/"
+}
diff --git a/linhes/linhes-dev/LinHES9_iso/.gitignore b/linhes/linhes-dev/LinHES9_iso/.gitignore
new file mode 100644
index 0000000..ee2a1ba
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/.gitignore
@@ -0,0 +1,3 @@
+arch_skel
+out
+work
diff --git a/linhes/linhes-dev/LinHES9_iso/build_iso.sh b/linhes/linhes-dev/LinHES9_iso/build_iso.sh
new file mode 100755
index 0000000..51aba98
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/build_iso.sh
@@ -0,0 +1,296 @@
+#!/bin/bash
+
+# Revision: 2022.06.15
+# (GNU/General Public License version 3.0)
+# by Cecil Watson for LinHES.
+# based on work by eznix (https://sourceforge.net/projects/ezarch/)
+
+# ----------------------------------------
+# Define Variables
+# ----------------------------------------
+
+LCLST="en_US"
+# Format is language_COUNTRY where language is lower case two letter code
+# and country is upper case two letter code, separated with an underscore
+
+KEYMP="us"
+# Use lower case two letter country code
+
+KEYMOD="pc105"
+# pc105 and pc104 are modern standards, all others need to be researched
+
+MYUSERNM="km"
+# use all lowercase letters only
+
+MYUSRPASSWD="mtv"
+# Pick a password of your choice
+
+RTPASSWD="roto"
+# Pick a root password
+
+MYHOSTNM="linhes"
+# Pick a hostname for the machine
+
+# ----------------------------------------
+# Functions
+# ----------------------------------------
+
+# Test for root user
+rootuser () {
+ if [[ "$EUID" = 0 ]]; then
+ continue
+ else
+ echo "Please Run As Root or sudo"
+ sleep 2
+ exit
+ fi
+}
+
+# Display line error
+handlerror () {
+clear
+set -uo pipefail
+trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR
+}
+
+# Clean up working directories
+cleanup () {
+[[ -d ./arch_skel ]] && rm -r ./arch_skel
+[[ -d ./work ]] && rm -r ./work
+sleep 2
+}
+
+# Requirements and preparation
+_isInstalled() {
+ package="$1";
+ check="$(sudo pacman -Qs --color always "${package}" | grep "local" | grep "${package} ")";
+ if [ -n "${check}" ] ; then
+ echo 0; #'0' means 'true' in Bash
+ return; #true
+ fi;
+ echo 1; #'1' means 'false' in Bash
+ return; #false
+}
+
+prereqs() {
+
+ # The packages that are not installed will be added to this array.
+ toInstall=();
+
+ for pkg; do
+ # If the package IS installed, skip it.
+ if [[ $(_isInstalled "${pkg}") == 0 ]]; then
+ echo "${pkg} is already installed.";
+ continue;
+ fi;
+
+ #Otherwise, add it to the list of packages to install.
+ toInstall+=("${pkg}");
+ done;
+
+ # If no packages were added to the "${toInstall[@]}" array,
+ # don't do anything and stop this function.
+ if [[ "${toInstall[@]}" == "" ]] ; then
+ echo "All packages are already installed.";
+ return;
+ fi;
+
+ # Otherwise, install all the packages that have been added to the "${toInstall[@]}" array.
+ printf "Packages not installed:\n%s\n" "${toInstall[@]}";
+ sudo pacman -S --needed --noconfirm "${toInstall[@]}";
+}
+
+# Copy Arch profile to working directory
+cp_releng () {
+cp -r /usr/share/archiso/configs/releng/ ./arch_skel
+rm -r ./arch_skel/efiboot
+rm -r ./arch_skel/syslinux
+}
+
+# Copy cust_repo to opt
+cp_repo () {
+if [ -d "./cust_repo" ]
+then
+ cp -r ./cust_repo /opt/repo
+fi
+}
+
+# Remove ezrepo from opt
+rm_repo () {
+if [ -d "/opt/repo" ]
+then
+ rm -r /opt/repo
+fi
+}
+
+# Delete automatic login
+nalogin () {
+rm -r ./arch_skel/airootfs/etc/systemd/system/getty@tty1.service.d
+}
+
+# Remove cloud-init, hyper-v, qemu-guest, vmtoolsd, sshd, systemd-networkd & iwd services
+rmunitsd () {
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/sshd.service
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service
+rm ./arch_skel/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
+rm ./arch_skel/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket
+rm ./arch_skel/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service
+rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service
+rm -r ./arch_skel/airootfs/etc/systemd/system/cloud-init.target.wants
+}
+
+# Add Bluetooth, cups, haveged, NetworkManager, & sddm systemd links
+addnmlinks () {
+mkdir -p ./arch_skel/airootfs/etc/systemd/system/network-online.target.wants
+mkdir -p ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants
+mkdir -p ./arch_skel/airootfs/etc/systemd/system/bluetooth.target.wants
+mkdir -p ./arch_skel/airootfs/etc/systemd/system/printer.target.wants
+mkdir -p ./arch_skel/airootfs/etc/systemd/system/sockets.target.wants
+mkdir -p ./arch_skel/airootfs/etc/systemd/system/timers.target.wants
+mkdir -p ./arch_skel/airootfs/etc/systemd/system/sysinit.target.wants
+ln -sf /usr/lib/systemd/system/NetworkManager-wait-online.service ./arch_skel/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
+ln -sf /usr/lib/systemd/system/NetworkManager-dispatcher.service ./arch_skel/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
+ln -sf /usr/lib/systemd/system/NetworkManager.service ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service
+ln -sf /usr/lib/systemd/system/bluetooth.service ./arch_skel/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service
+ln -sf /usr/lib/systemd/system/haveged.service ./arch_skel/airootfs/etc/systemd/system/sysinit.target.wants/haveged.service
+ln -sf /usr/lib/systemd/system/cups.service ./arch_skel/airootfs/etc/systemd/system/printer.target.wants/cups.service
+ln -sf /usr/lib/systemd/system/cups.socket ./arch_skel/airootfs/etc/systemd/system/sockets.target.wants/cups.socket
+ln -sf /usr/lib/systemd/system/cups.path ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/cups.path
+ln -sf /usr/lib/systemd/system/bluetooth.service ./arch_skel/airootfs/etc/systemd/system/dbus-org.bluez.service
+ln -sf /usr/lib/systemd/system/lightdm.service ./arch_skel/airootfs/etc/systemd/system/display-manager.service
+}
+
+# Copy files to customize the ISO
+cpmyfiles () {
+cp ./cust_skel/packages.x86_64 ./arch_skel/
+cp ./cust_skel/pacman.conf ./arch_skel/
+cp ./cust_skel/profiledef.sh ./arch_skel/
+cp -r ./cust_skel/grub ./arch_skel/
+cp -r ./cust_skel/efiboot ./arch_skel/
+cp -r ./cust_skel/syslinux ./arch_skel/
+cp -r ./cust_skel/airootfs ./arch_skel/
+}
+
+# Set hostname
+sethostname () {
+echo "${MYHOSTNM}" > ./arch_skel/airootfs/etc/hostname
+}
+
+# Create passwd file
+# Changed user to 1000 from 1010
+crtpasswd () {
+echo "root:x:0:0:root:/root:/usr/bin/bash
+"${MYUSERNM}":x:1000:1000::/home/"${MYUSERNM}":/bin/bash" > ./arch_skel/airootfs/etc/passwd
+}
+
+# Create group file
+# Changed user to 1000 from 1010
+crtgroup () {
+echo "root:x:0:root
+sys:x:3:"${MYUSERNM}"
+adm:x:4:"${MYUSERNM}"
+wheel:x:10:"${MYUSERNM}"
+log:x:19:"${MYUSERNM}"
+network:x:90:"${MYUSERNM}"
+floppy:x:94:"${MYUSERNM}"
+scanner:x:96:"${MYUSERNM}"
+power:x:98:"${MYUSERNM}"
+rfkill:x:850:"${MYUSERNM}"
+users:x:985:"${MYUSERNM}"
+video:x:860:"${MYUSERNM}"
+storage:x:870:"${MYUSERNM}"
+optical:x:880:"${MYUSERNM}"
+lp:x:840:"${MYUSERNM}"
+audio:x:890:"${MYUSERNM}"
+autologin:x:965:"${MYUSERNM}"
+"${MYUSERNM}":x:1000:" > ./arch_skel/airootfs/etc/group
+}
+
+# Create shadow file
+crtshadow () {
+usr_hash=$(openssl passwd -6 "${MYUSRPASSWD}")
+root_hash=$(openssl passwd -6 "${RTPASSWD}")
+echo "root:"${root_hash}":14871::::::
+"${MYUSERNM}":"${usr_hash}":14871::::::" > ./arch_skel/airootfs/etc/shadow
+}
+
+# create gshadow file
+crtgshadow () {
+echo "root:!*::root
+"${MYUSERNM}":!*::" > ./arch_skel/airootfs/etc/gshadow
+}
+
+# Set the keyboard layout
+setkeylayout () {
+echo "KEYMAP="${KEYMP}"" > ./arch_skel/airootfs/etc/vconsole.conf
+}
+
+# Create 00-keyboard.conf file
+crtkeyboard () {
+mkdir -p ./arch_skel/airootfs/etc/X11/xorg.conf.d
+echo "Section \"InputClass\"
+ Identifier \"system-keyboard\"
+ MatchIsKeyboard \"on\"
+ Option \"XkbLayout\" \""${KEYMP}"\"
+ Option \"XkbModel\" \""${KEYMOD}"\"
+EndSection" > ./arch_skel/airootfs/etc/X11/xorg.conf.d/00-keyboard.conf
+}
+
+# Fix 40-locale-gen.hook and create locale.conf
+crtlocalec () {
+sed -i "s/en_US/"${LCLST}"/g" ./arch_skel/airootfs/etc/pacman.d/hooks/40-locale-gen.hook
+echo "LANG="${LCLST}".UTF-8" > ./arch_skel/airootfs/etc/locale.conf
+}
+
+# Start mkarchiso
+runmkarchiso () {
+mkarchiso -v -w ./work -o ./out ./arch_skel
+}
+
+# ----------------------------------------
+# Run Functions
+# ----------------------------------------
+
+rootuser
+handlerror
+prereqs "archlinux-keyring" "archiso" "mkinitcpio-archiso"
+cleanup
+cp_releng
+addnmlinks
+cp_repo
+nalogin
+rmunitsd
+cpmyfiles
+sethostname
+crtpasswd
+crtgroup
+crtshadow
+crtgshadow
+setkeylayout
+crtkeyboard
+crtlocalec
+runmkarchiso
+rm_repo
+
+
+# Disclaimer:
+#
+# THIS SOFTWARE IS PROVIDED BY EZNIX “AS IS” AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL EZNIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# END
+#
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/TuxRemote.png b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/TuxRemote.png
new file mode 100644
index 0000000..daf0445
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/TuxRemote.png
Binary files differ
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/branding.desc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/branding.desc
new file mode 100644
index 0000000..1f566e1
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/branding.desc
@@ -0,0 +1,228 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Product branding information. This influences some global
+# user-visible aspects of Calamares, such as the product
+# name, window behavior, and the slideshow during installation.
+#
+# Additional styling can be done using the stylesheet.qss
+# file, also in the branding directory.
+---
+componentName: LinHES
+
+
+### WELCOME / OVERALL WORDING
+#
+# These settings affect some overall phrasing and looks,
+# which are most visible in the welcome page.
+
+# This selects between different welcome texts. When false, uses
+# the traditional "Welcome to the %1 installer.", and when true,
+# uses "Welcome to the Calamares installer for %1." This allows
+# to distinguish this installer from other installers for the
+# same distribution.
+welcomeStyleCalamares: false
+
+# Should the welcome image (productWelcome, below) be scaled
+# up beyond its natural size? If false, the image does not grow
+# with the window but remains the same size throughout (this
+# may have surprising effects on HiDPI monitors).
+welcomeExpandingLogo: true
+
+### WINDOW CONFIGURATION
+#
+# The settings here affect the placement of the Calamares
+# window through hints to the window manager and initial
+# sizing of the Calamares window.
+
+# Size and expansion policy for Calamares.
+# - "normal" or unset, expand as needed, use *windowSize*
+# - "fullscreen", start as large as possible, ignore *windowSize*
+# - "noexpand", don't expand automatically, use *windowSize*
+windowExpanding: normal
+
+# Size of Calamares window, expressed as w,h. Both w and h
+# may be either pixels (suffix px) or font-units (suffix em).
+# e.g. "800px,600px"
+# "60em,480px"
+# This setting is ignored if "fullscreen" is selected for
+# *windowExpanding*, above. If not set, use constants defined
+# in CalamaresUtilsGui, 800x520.
+windowSize: 1024px,735px
+
+# Placement of Calamares window. Either "center" or "free".
+# Whether "center" actually works does depend on the window
+# manager in use (and only makes sense if you're not using
+# *windowExpanding* set to "fullscreen").
+windowPlacement: center
+
+### PANELS CONFIGURATION
+#
+# Calamares has a main content area, and two panels (navigation
+# and progress / sidebar). The panels can be controlled individually,
+# or switched off. If both panels are switched off, the layout of
+# the main content area loses its margins, on the assumption that
+# you're doing something special.
+
+# Kind of sidebar (panel on the left, showing progress).
+# - "widget" or unset, use traditional sidebar (logo, items)
+# - "none", hide it entirely
+# - "qml", use calamares-sidebar.qml from branding folder
+# In addition, you **may** specify a side, separated by a comma,
+# from the kind. Valid sides are:
+# - "left" (if not specified, uses this)
+# - "right"
+# - "top"
+# - "bottom"
+# For instance, "widget,right" is valid; so is "qml", which defaults
+# to putting the sidebar on the left. Also valid is "qml,top".
+# While "widget,top" is valid, the widgets code is **not** flexible
+# and results will be terrible.
+sidebar: widget
+
+# Kind of navigation (button panel on the bottom).
+# - "widget" or unset, use traditional navigation
+# - "none", hide it entirely
+# - "qml", use calamares-navigation.qml from branding folder
+# In addition, you **may** specify a side, separated by a comma,
+# from the kind. The same sides are valid as for *sidebar*,
+# except the default is *bottom*.
+navigation: widget
+
+
+### STRINGS, IMAGES AND COLORS
+#
+# This section contains the "branding proper" of names
+# and images, rather than global-look settings.
+
+# These are strings shown to the user in the user interface.
+# There is no provision for translating them -- since they
+# are names, the string is included as-is.
+#
+# The four Url strings are the Urls used by the buttons in
+# the welcome screen, and are not shown to the user. Clicking
+# on the "Support" button, for instance, opens the link supportUrl.
+# If a Url is empty, the corresponding button is not shown.
+#
+# bootloaderEntryName is how this installation / distro is named
+# in the boot loader (e.g. in the GRUB menu).
+#
+# These strings support substitution from /etc/os-release
+# if KDE Frameworks 5.58 are available at build-time. When
+# enabled, @{var-name} is replaced by the equivalent value
+# from os-release. All the supported var-names are in all-caps,
+# and are listed on the FreeDesktop.org site,
+# https://www.freedesktop.org/software/systemd/man/os-release.html
+# Note that ANSI_COLOR and CPE_NAME don't make sense here, and
+# are not supported (the rest are). Remember to quote the string
+# if it contains substitutions, or you'll get YAML exceptions.
+#
+# The *Url* entries are used on the welcome page, and they
+# are visible as buttons there if the corresponding *show* keys
+# are set to "true" (they can also be overridden).
+strings:
+ productName: LinHES
+ shortProductName: LinHES
+ version: 9alpha1
+ shortVersion: 9alpha1
+ versionedName: LinHES
+ shortVersionedName: LinHES
+ bootloaderEntryName: LinHES9
+
+# These images are loaded from the branding module directory.
+#
+# productBanner is an optional image, which if present, will be shown
+# on the welcome page of the application, above the welcome text.
+# It is intended to have a width much greater than height.
+# It is displayed at 64px height (also on HiDPI).
+# Recommended size is 64px tall, and up to 460px wide.
+# productIcon is used as the window icon, and will (usually) be used
+# by the window manager to represent the application. This image
+# should be square, and may be displayed by the window manager
+# as small as 16x16 (but possibly larger).
+# productLogo is used as the logo at the top of the left-hand column
+# which shows the steps to be taken. The image should be square,
+# and is displayed at 80x80 pixels (also on HiDPI).
+# productWallpaper is an optional image, which if present, will replace
+# the normal solid background on every page of the application.
+# It can be any size and proportion,
+# and will be tiled to fit the entire window.
+# For a non-tiled wallpaper, the size should be the same as
+# the overall window, see *windowSize* above (800x520).
+# productWelcome is shown on the welcome page of the application in
+# the middle of the window, below the welcome text. It can be
+# any size and proportion, and will be scaled to fit inside
+# the window. Use `welcomeExpandingLogo` to make it non-scaled.
+# Recommended size is 320x150.
+#
+# These filenames can also use substitutions from os-release (see above).
+images:
+ # productBanner: "banner.png"
+ productIcon: "TuxRemote.png"
+ productLogo: "TuxRemote.png"
+ # productWallpaper: "wallpaper.png"
+ # productWelcome: ""
+
+# Colors for text and background components.
+#
+# - sidebarBackground is the background of the sidebar
+# - sidebarText is the (foreground) text color
+# - sidebarTextHighlight sets the background of the selected (current) step.
+# Optional, and defaults to the application palette.
+# - sidebarSelect is the text color of the selected step.
+#
+# These colors can **also** be set through the stylesheet, if the
+# branding component also ships a stylesheet.qss. Then they are
+# the corresponding CSS attributes of #sidebarApp.
+style:
+ sidebarBackground: "#292F34"
+ sidebarText: "#FFFFFF"
+# sidebarTextSelect: "#292F34"
+ sidebarTextSelect: "#EBB81C"
+ sidebarTextHighlight: "#0072BC"
+
+### SLIDESHOW
+#
+# The slideshow is displayed during execution steps (e.g. when the
+# installer is actually writing to disk and doing other slow things).
+
+# The slideshow can be a QML file (recommended) which can display
+# arbitrary things -- text, images, animations, or even play a game --
+# during the execution step. The QML **is** abruptly stopped when the
+# execution step is done, though, so maybe a game isn't a great idea.
+#
+# The slideshow can also be a sequence of images (not recommended unless
+# you don't want QML at all in your Calamares). The images are displayed
+# at a rate of 1 every 2 seconds during the execution step.
+#
+# To configure a QML file, list a single filename:
+# slideshow: "show.qml"
+# To configure images, like the filenames (here, as an inline list):
+# slideshow: [ "/etc/calamares/slideshow/0.png", "/etc/logo.png" ]
+slideshow: "show.qml"
+
+# There are two available APIs for a QML slideshow:
+# - 1 (the default) loads the entire slideshow when the installation-
+# slideshow page is shown and starts the QML then. The QML
+# is never stopped (after installation is done, times etc.
+# continue to fire).
+# - 2 loads the slideshow on startup and calls onActivate() and
+# onLeave() in the root object. After the installation is done,
+# the show is stopped (first by calling onLeave(), then destroying
+# the QML components).
+#
+# An image slideshow does not need to have the API defined.
+slideshowAPI: 2
+
+
+# These options are to customize online uploading of logs to pastebins:
+# - type : Defines the kind of pastebin service to be used. Currently
+# it accepts two values:
+# - none : disables the pastebin functionality
+# - fiche : use fiche pastebin server
+# - url : Defines the address of pastebin service to be used.
+# Takes string as input. Important bits are the host and port,
+# the scheme is not used.
+uploadServer :
+ type : "fiche"
+ url : "http://termbin.com:9999"
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_ar.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_ar.ts
new file mode 100644
index 0000000..3c4fe09
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_ar.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ar">
+<context>
+ <name>show</name>
+ <message>
+ <location filename="../show.qml" line="64"/>
+ <source>This is a second Slide element.</source>
+ <translation>عرض الثاني</translation>
+ </message>
+ <message>
+ <location filename="../show.qml" line="68"/>
+ <source>This is a third Slide element.</source>
+ <translation>عرض الثالث</translation>
+ </message>
+</context>
+</TS>
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_en.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_en.ts
new file mode 100644
index 0000000..b02dbd5
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_en.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en">
+<context>
+ <name>show</name>
+ <message>
+ <location filename="../show.qml" line="64"/>
+ <source>This is a second Slide element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../show.qml" line="68"/>
+ <source>This is a third Slide element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_eo.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_eo.ts
new file mode 100644
index 0000000..7d1ef4e
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_eo.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="eo">
+<context>
+ <name>show</name>
+ <message>
+ <location filename="../show.qml" line="64"/>
+ <source>This is a second Slide element.</source>
+ <translation>Ĉi tio estas la dua gliteja.</translation>
+ </message>
+ <message>
+ <location filename="../show.qml" line="68"/>
+ <source>This is a third Slide element.</source>
+ <translation>Ĉi tio estas la tria gliteja.</translation>
+ </message>
+</context>
+</TS>
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_fr.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_fr.ts
new file mode 100644
index 0000000..ec5e041
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_fr.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="fr">
+<context>
+ <name>show</name>
+ <message>
+ <location filename="../show.qml" line="64"/>
+ <source>This is a second Slide element.</source>
+ <translation>Ceci est la deuxieme affiche.</translation>
+ </message>
+ <message>
+ <location filename="../show.qml" line="68"/>
+ <source>This is a third Slide element.</source>
+ <translation>La troisième affice ce trouve ici.</translation>
+ </message>
+</context>
+</TS>
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_nl.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_nl.ts
new file mode 100644
index 0000000..19fd583
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_nl.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl">
+<context>
+ <name>show</name>
+ <message>
+ <location filename="../show.qml" line="64"/>
+ <source>This is a second Slide element.</source>
+ <translation>Dit is het tweede Dia element.</translation>
+ </message>
+ <message>
+ <location filename="../show.qml" line="68"/>
+ <source>This is a third Slide element.</source>
+ <translation>Dit is het derde Dia element.</translation>
+ </message>
+</context>
+</TS>
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png
new file mode 100644
index 0000000..5331652
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png
Binary files differ
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png.license b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png.license
new file mode 100644
index 0000000..ea82645
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
+SPDX-License-Identifier: GPL-3.0-or-later
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/show.qml b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/show.qml
new file mode 100644
index 0000000..b0632dc
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/show.qml
@@ -0,0 +1,97 @@
+/* === This file is part of Calamares - <https://calamares.io> ===
+ *
+ * SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
+ * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ * Calamares is Free Software: see the License-Identifier above.
+ *
+ */
+
+import QtQuick 2.0;
+import calamares.slideshow 1.0;
+
+Presentation
+{
+ id: presentation
+
+ function nextSlide() {
+ console.log("QML Component (default slideshow) Next slide");
+ presentation.goToNextSlide();
+ }
+
+ Timer {
+ id: advanceTimer
+ interval: 5000
+ running: presentation.activatedInCalamares
+ repeat: true
+ onTriggered: nextSlide()
+ }
+
+ Slide {
+
+ anchors.fill: parent
+ anchors.verticalCenterOffset: 0
+
+ Image {
+ id: background1
+ source: ""
+ width: parent.width; height: parent.height
+ horizontalAlignment: Image.AlignCenter
+ verticalAlignment: Image.AlignTop
+ fillMode: Image.Stretch
+ anchors.fill: parent
+ }
+
+ Text {
+ anchors.horizontalCenter: background.horizontalCenter
+ anchors.top: background.bottom
+ text: "Welcome to"
+ wrapMode: Text.WordWrap
+ width: presentation.width
+ horizontalAlignment: Text.Center
+ }
+ }
+
+ Slide {
+
+ anchors.fill: parent
+ anchors.verticalCenterOffset: 0
+
+ Image {
+ id: background2
+ source: ""
+ width: parent.width; height: parent.height
+ horizontalAlignment: Image.AlignCenter
+ verticalAlignment: Image.AlignTop
+ fillMode: Image.Stretch
+ anchors.fill: parent
+ }
+
+ Text {
+ anchors.horizontalCenter: background.horizontalCenter
+ anchors.top: background.bottom
+ text: "LinHES: The Linux Entertainment System"
+ wrapMode: Text.WordWrap
+ width: presentation.width
+ horizontalAlignment: Text.Center
+ }
+ }
+
+
+ // When this slideshow is loaded as a V1 slideshow, only
+ // activatedInCalamares is set, which starts the timer (see above).
+ //
+ // In V2, also the onActivate() and onLeave() methods are called.
+ // These example functions log a message (and re-start the slides
+ // from the first).
+ function onActivate() {
+ console.log("QML Component (default slideshow) activated");
+ presentation.currentSlide = 0;
+ }
+
+ function onLeave() {
+ console.log("QML Component (default slideshow) deactivated");
+ }
+
+}
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png
new file mode 100644
index 0000000..452e445
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png
Binary files differ
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png.license b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png.license
new file mode 100644
index 0000000..cc08e1f
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
+SPDX-License-Identifier: GPL-3.0-or-later
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/stylesheet.qss b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/stylesheet.qss
new file mode 100644
index 0000000..d3d0c2d
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/stylesheet.qss
@@ -0,0 +1,263 @@
+/*
+
+A branding component can ship a stylesheet (like this one)
+which is applied to parts of the Calamares user-interface.
+In principle, all parts can be styled through CSS.
+Missing parts should be filed as issues.
+
+The IDs are based on the object names in the C++ code.
+You can use the Debug Dialog to find out object names:
+ - Open the debug dialog
+ - Choose tab *Tools*
+ - Click *Widget Tree* button
+The list of object names is printed in the log.
+
+Documentation for styling Qt Widgets through a stylesheet
+can be found at
+ https://doc.qt.io/qt-5/stylesheet-examples.html
+ https://doc.qt.io/qt-5/stylesheet-reference.html
+In Calamares, styling widget classes is supported (e.g.
+using `QComboBox` as a selector).
+
+This example stylesheet has all the actual styling commented out.
+The examples are not exhaustive.
+
+*/
+
+
+/* ########## MAIN APPLICATION WINDOW ########## */
+
+#mainApp {
+}
+
+#mainText{
+ font : bold 16px;
+}
+
+#sidebarApp {
+
+}
+
+#logoApp {
+}
+
+#sidebarMenuApp {
+ padding: 3px;
+ background-color: #292F34;
+}
+
+QWidget {
+ font: 16px;
+}
+
+QTextEdit, QListView {
+}
+QDialogButtonBox {
+}
+QAbstractSpinBox {
+}
+QListWidget::item:alternate {
+}
+
+
+#debugButton {
+ font: bold 8px;
+ color: #FFFFFF;
+}
+
+
+/* ########## TOOLTIP ########## */
+
+
+
+QPushButton {
+ font : 16px;
+}
+
+QDialogButtonBox {
+ dialogbuttonbox-buttons-have-icons: 0;
+}
+
+
+/* ########## QLIST VIEW ########## */
+
+QListView {
+ font: 16px;
+}
+
+
+/* ########## QLINE EDIT ########## */
+
+QLineEdit#LE_TestKeyboard {
+ font: 16px;
+}
+
+QLineEdit#m_passphraseLineEdit, QLineEdit#vgName,
+QLineEdit#m_confirmLineEdit {
+ font: 16px;
+}
+
+QLineEdit#textBoxUserVerifiedPassword, QLineEdit#textBoxVerifiedRootPassword {
+ font: 16px;
+}
+
+QLineEdit#textBoxFullName, QLineEdit#textBoxLoginName, QLineEdit#textBoxHostName,
+QLineEdit#textBoxUserPassword, QLineEdit#textBoxRootPassword {
+ font: 16px;
+}
+
+#textBoxFullName, #textBoxLoginName, #textBoxHostName, #textBoxUserPassword,
+#textBoxRootPassword, #textBoxAutoLogin, #vgName {
+ font: 16px;
+}
+
+#textBoxUserVerifiedPassword, #textBoxVerifiedRootPassword,
+#LE_TestKeyboard, #m_confirmLineEdit, #m_passphraseLineEdit {
+ font: 16px;
+}
+
+/* ##########PARTITION ########## */
+
+#partResizerWidget {
+ font: 16px;
+}
+
+/* ########## PAGE_USERSETUP ########## */
+
+ #labelWhatIsYourName {
+ font: 16px;
+}
+ #textBoxFullName {
+ font: 16px;
+}
+ #labelFullName {
+ font: 16px;
+}
+ #labelFullNameError {
+ font: 16px;
+}
+ #username_label_2 {
+ font: 16px;
+}
+ #textBoxLoginName {
+ font: 16px;
+}
+ #labelUsername {
+ font: 16px;
+}
+ #labelUsernameError {
+ font: 16px;
+}
+ #hostname_label_2 {
+ font: 16px;
+}
+ #textBoxHostName {
+ font: 16px;
+}
+ #labelHostname {
+ font: 16px;
+}
+ #labelHostnameError {
+ font: 16px;
+}
+ #password_label_2 {
+ font: 16px;
+}
+ #textBoxUserPassword {
+ font: 16px;
+}
+ #textBoxUserVerifiedPassword {
+ font: 16px;
+}
+ #labelUserPassword {
+ font: 16px;
+}
+ #labelUserPasswordError {
+ font: 16px;
+}
+ #checkBoxRequireStrongPassword {
+ font: 16px;
+}
+ #checkBoxDoAutoLogin {
+ font: 16px;
+}
+ #checkBoxReusePassword {
+ font: 16px;
+}
+ #labelChooseRootPassword {
+ font: 16px;
+}
+ #textBoxRootPassword {
+ font: 16px;
+}
+ #textBoxVerifiedRootPassword {
+ font: 16px;
+}
+ #labelRootPassword {
+ font: 16px;
+}
+ #labelRootPasswordError {
+ font: 16px;
+}
+
+/* ########## COMBO BOX ########## */
+
+QComboBox {
+ font: 16px;
+}
+
+#mountPointComboBox::drop-down {
+ font: 16px;
+}
+
+/* ########## SPIN BOX ########## */
+
+QSpinBox {
+ font: 16px;
+}
+
+QLineEdit {
+ font: 16px;
+}
+
+/* ########## TREE VIEW ########## */
+
+QTreeView {
+ font: 16px;
+ show-decoration-selected: 0;
+}
+
+QTreeView::item {
+ padding: 2px;
+}
+
+QTreeView::branch:has-siblings:!adjoins-item {
+}
+QTreeView::branch:has-siblings:adjoins-item {
+}
+QTreeView::branch:!has-children:!has-siblings:adjoins-item {
+}
+QTreeView::branch:has-children:!has-siblings:closed,
+QTreeView::branch:closed:has-children:has-siblings {
+}
+QTreeView::branch:open:has-children:!has-siblings,
+QTreeView::branch:open:has-children:has-siblings {
+}
+
+/* ########## CHECK BOX ########## */
+
+QCheckBox {
+}
+QCheckBox::indicator:unchecked {
+}
+QCheckBox::indicator:checked {
+}
+QItemSelectionModel::Select {
+}
+
+/* ########## HEADER VIEW ########## */
+
+QHeaderView::section {
+ font : 16px;
+}
+
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf
new file mode 100644
index 0000000..b0647fe
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf
@@ -0,0 +1,47 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Configuration for the "finished" page, which is usually shown only at
+# the end of the installation (successful or not).
+---
+# DEPRECATED
+#
+# The finished page can hold a "restart system now" checkbox.
+# If this is false, no checkbox is shown and the system is not restarted
+# when Calamares exits.
+# restartNowEnabled: true
+
+# DEPRECATED
+#
+# Initial state of the checkbox "restart now". Only relevant when the
+# checkbox is shown by restartNowEnabled.
+# restartNowChecked: false
+
+# Behavior of the "restart system now" button.
+#
+# There are four usable values:
+# - never
+# Does not show the button and does not restart.
+# This matches the old behavior with restartNowEnabled=false.
+# - user-unchecked
+# Shows the button, defaults to unchecked, restarts if it is checked.
+# This matches the old behavior with restartNowEnabled=true and restartNowChecked=false.
+# - user-checked
+# Shows the button, defaults to checked, restarts if it is checked.
+# This matches the old behavior with restartNowEnabled=true and restartNowChecked=true.
+# - always
+# Shows the button, checked, but the user cannot change it.
+# This is new behavior.
+#
+# The three combinations of legacy values are still supported.
+restartNowMode: user-checked
+
+# If the checkbox is shown, and the checkbox is checked, then when
+# Calamares exits from the finished-page it will run this command.
+# If not set, falls back to "shutdown -r now".
+restartNowCommand: "systemctl -i reboot"
+
+# When the last page is (successfully) reached, send a DBus notification
+# to the desktop that the installation is done. This works only if the
+# user as whom Calamares is run, can reach the regular desktop session bus.
+notifyOnFinished: false
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf
new file mode 100644
index 0000000..d2a1268
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf
@@ -0,0 +1,26 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Run mkinitcpio(8) with the given preset value
+---
+# This key defines the kernel to be loaded.
+# It can have the following values:
+# - the name of a single mkinitcpio preset
+# - empty or unset
+# - the literal string "all"
+#
+# If kernel is set to "all" or empty/unset then mkinitpio is called for all
+# kernels. Otherwise it is called with a single preset with the value
+# contained in kernel.
+#
+kernel: linux
+
+# Set this to true to turn off mitigations for lax file
+# permissions on initramfs (which, in turn, can compromise
+# your LUKS encryption keys, CVS-2019-13179).
+#
+# If your initramfs are stored in the EFI partition or another non-POSIX
+# filesystem, this has no effect as the file permissions cannot be changed.
+# In this case, ensure the partition is mounted securely.
+#
+be_unsafe: false
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf
new file mode 100644
index 0000000..9fa3b31
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf
@@ -0,0 +1,222 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# The configuration for the package manager starts with the
+# *backend* key, which picks one of the backends to use.
+# In `main.py` there is a base class `PackageManager`.
+# Implementations must subclass that and set a (class-level)
+# property *backend* to the name of the backend (e.g. "dummy").
+# That property is used to match against the *backend* key here.
+#
+# You will have to add such a class for your package manager.
+# It is fairly simple Python code. The API is described in the
+# abstract methods in class `PackageManager`. Mostly, the only
+# trick is to figure out the correct commands to use, and in particular,
+# whether additional switches are required or not. Some package managers
+# have more installer-friendly defaults than others, e.g., DNF requires
+# passing --disablerepo=* -C to allow removing packages without Internet
+# connectivity, and it also returns an error exit code if the package did
+# not exist to begin with.
+---
+#
+# Which package manager to use, options are:
+# - apk - Alpine Linux package manager
+# - apt - APT frontend for DEB and RPM
+# - dnf - DNF, the new RPM frontend
+# - entropy - Sabayon package manager (is being deprecated)
+# - luet - Sabayon package manager (next-gen)
+# - packagekit - PackageKit CLI tool
+# - pacman - Pacman
+# - pamac - Manjaro package manager
+# - portage - Gentoo package manager
+# - yum - Yum RPM frontend
+# - zypp - Zypp RPM frontend
+#
+# Not actually a package manager, but suitable for testing:
+# - dummy - Dummy manager, only logs
+#
+backend: pacman
+
+#
+# Often package installation needs an internet connection.
+# Since you may allow system installation without a connection
+# and want to offer OPTIONAL package installation, it's
+# possible to have no internet, yet have this packages module
+# enabled in settings.
+#
+# You can skip the whole module when there is no internet
+# by setting "skip_if_no_internet" to true.
+#
+# You can run a package-manager specific update procedure
+# before installing packages (for instance, to update the
+# list of packages and dependencies); this is done only if there
+# is an internet connection.
+#
+# Set "update_db" to 'true' for refreshing the database on the
+# target system. On target installations, which got installed by
+# unsquashing, a full system update may be needed. Otherwise
+# post-installing additional packages may result in conflicts.
+# Therefore set also "update_system" to 'true'.
+#
+skip_if_no_internet: false
+update_db: false
+update_system: false
+
+# pacman specific options
+#
+# *num_retries* should be a positive integer which specifies the
+# number of times the call to pacman will be retried in the event of a
+# failure. If it is missing, it will be set to 0.
+#
+# *disable_download_timeout* is a boolean that, when true, includes
+# the flag --disable-download-timeout on calls to pacman. When missing,
+# false is assumed.
+#
+# *needed_only* is a boolean that includes the pacman argument --needed
+# when set to true. If missing, false is assumed.
+pacman:
+ num_retries: 0
+ disable_download_timeout: false
+ needed_only: false
+
+#
+# List of maps with package operations such as install or remove.
+# Distro developers can provide a list of packages to remove
+# from the installed system (for instance packages meant only
+# for the live system).
+#
+# A job implementing a distro specific logic to determine other
+# packages that need to be installed or removed can run before
+# this one. Distro developers may want to install locale packages
+# or remove drivers not needed on the installed system.
+# Such a job would populate a list of dictionaries in the global
+# storage called "packageOperations" and that list is processed
+# after the static list in the job configuration (i.e. the list
+# that is in this configuration file).
+#
+# Allowed package operations are:
+# - *install*, *try_install*: will call the package manager to
+# install one or more packages. The install target will
+# abort the whole installation if package-installation
+# fails, while try_install carries on. Packages may be
+# listed as (localized) names, or as (localized) package-data.
+# See below for the description of the format.
+# - *localInstall*: this is used to call the package manager
+# to install a package from a path-to-a-package. This is
+# useful if you have a static package archive on the install media.
+# The *pacman* package manager is the only one to specially support
+# this operation (all others treat this the same as *install*).
+# - *remove*, *try_remove*: will call the package manager to
+# remove one or more packages. The remove target will
+# abort the whole installation if package-removal fails,
+# while try_remove carries on. Packages may be listed as
+# (localized) names.
+# One additional key is recognized, to help netinstall out:
+# - *source*: ignored, does get logged
+# Any other key is ignored, and logged as a warning.
+#
+# There are two formats for naming packages: as a name or as package-data,
+# which is an object notation providing package-name, as well as pre- and
+# post-install scripts.
+#
+# Here are both formats, for installing vi. The first one just names the
+# package for vi (using the naming of the installed package manager), while
+# the second contains three data-items; the pre-script is run before invoking
+# the package manager, and the post-script runs once it is done.
+#
+# - install
+# - vi
+# - package: vi
+# pre-script: touch /tmp/installing-vi
+# post-script: rm -f /tmp/installing-vi
+#
+# The pre- and post-scripts are optional, but you cannot leave both out
+# if you do use the *package* key: using "package: vi" with neither script
+# option will trick Calamares into trying to install a package named
+# "package: vi", which is unlikely to work.
+#
+# The pre- and post-scripts are **not** executed by a shell unless you
+# explicitly invoke `/bin/sh` in them. The command-lines are passed
+# to exec(), which does not understand shell syntax. In other words:
+#
+# pre-script: ls | wc -l
+#
+# Will fail, because `|` is passed as a command-line argument to ls,
+# as are `wc`, and `-l`. No shell pipeline is set up, and ls is likely
+# to complain. Invoke the shell explicitly:
+#
+# pre-script: /bin/sh -c \"ls | wc -l\"
+#
+# The above note on shell-expansion applies to versions up-to-and-including
+# Calamares 3.2.12, but will change in future.
+#
+# Any package name may be localized; this is used to install localization
+# packages for software based on the selected system locale. By including
+# the string `LOCALE` in the package name, the following happens:
+#
+# - if the system locale is English (any variety), then the package is not
+# installed at all,
+# - otherwise `$LOCALE` or `${LOCALE}` is replaced by the 'lower-cased' BCP47
+# name of the 'language' part of the selected system locale (not the
+# country/region/dialect part), e.g. selecting "nl_BE" will use "nl"
+# here.
+#
+# Take care that just plain `LOCALE` will not be replaced, so `foo-LOCALE` will
+# be left unchanged, while `foo-$LOCALE` will be changed. However, `foo-LOCALE`
+# **will** be removed from the list of packages (i.e. not installed), if
+# English is selected. If a non-English locale is selected, then `foo-LOCALE`
+# will be installed, unchanged (no language-name-substitution occurs).
+#
+# The following installs localizations for vi, if they are relevant; if
+# there is no localization, installation continues normally.
+#
+# - install
+# - vi-$LOCALE
+# - package: vi-${LOCALE}
+# pre-script: touch /tmp/installing-vi
+# post-script: rm -f /tmp/installing-vi
+#
+# When installing packages, Calamares will invoke the package manager
+# with a list of package names if it can; package-data prevents this because
+# of the scripts that need to run. In other words, this:
+#
+# - install:
+# - vi
+# - binutils
+# - package: wget
+# pre-script: touch /tmp/installing-wget
+#
+# This will invoke the package manager three times, once for each package,
+# because not all of them are simple package names. You can speed up the
+# process if you have only a few pre-scripts, by using multiple install targets:
+#
+# - install:
+# - vi
+# - binutils
+# - install:
+# - package: wget
+# pre-script: touch /tmp/installing-wget
+#
+# This will call the package manager once with the package-names "vi" and
+# "binutils", and then a second time for "wget". When installing large numbers
+# of packages, this can lead to a considerable time savings.
+#
+operations:
+ - try_remove:
+ - plasma-framework
+ - kpmcore
+ - yaml-cpp
+ - mkinitcpio-archiso
+ - boost-libs
+ - ckbcomp
+ - hwinfo
+ - qt5-xmlpatterns
+ - squashfs-tools
+ - kconfig
+ - kcoreaddons
+ - kiconthemes
+ - ki18n
+ - kio
+ - solid
+ - qt5-svg
+ - calamares
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf
new file mode 100644
index 0000000..e9425ad
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf
@@ -0,0 +1,255 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# This setting specifies the mount point of the EFI system partition. Some
+# distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS,
+# etc.) use just /boot.
+#
+# Defaults to "/boot/efi", may be empty (but weird effects ensue)
+efiSystemPartition: "/boot/efi"
+
+# This optional setting specifies the size of the EFI system partition.
+# If nothing is specified, the default size of 300MiB will be used.
+#
+# This size applies both to automatic partitioning and the checks
+# during manual partitioning. A minimum of 32MiB is enforced,
+# 300MiB is the default, M is treated as MiB, and if you really want
+# one-million (10^6) bytes, use MB.
+#
+# efiSystemPartitionSize: 300M
+
+# This optional setting specifies the name of the EFI system partition (see
+# PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
+# If nothing is specified, the partition name is left unset.
+# efiSystemPartitionName: EFI
+
+# In autogenerated partitioning, allow the user to select a swap size?
+# If there is exactly one choice, no UI is presented, and the user
+# cannot make a choice -- this setting is used. If there is more than
+# one choice, a UI is presented.
+#
+# Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond
+# to values of *userSwapChoices* as follows:
+# - *neverCreateSwap* is true, means [none]
+# - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small]
+# - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend]
+#
+# Autogenerated swap sizes are as follows:
+# - *suspend*: Swap is always at least total memory size,
+# and up to 4GiB RAM follows the rule-of-thumb 2 * memory;
+# from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory
+# swap is the size of main memory.
+# - *small*: Follows the rules above, but Swap is at
+# most 8GiB, and no more than 10% of available disk.
+# In both cases, a fudge factor (usually 10% extra) is applied so that there
+# is some space for administrative overhead (e.g. 8 GiB swap will allocate
+# 8.8GiB on disk in the end).
+#
+# If *file* is enabled here, make sure to have the *fstab* module
+# as well (later in the exec phase) so that the swap file is
+# actually created.
+userSwapChoices:
+ - none # Create no swap, use no swap
+ - small # Up to 4GB
+ - suspend # At least main memory size
+ # - reuse # Re-use existing swap, but don't create any (unsupported right now)
+ - file # To swap file instead of partition
+
+# This optional setting specifies the name of the swap partition (see
+# PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
+# If nothing is specified, the partition name is left unset.
+# swapPartitionName: swap
+
+# LEGACY SETTINGS (these will generate a warning)
+# ensureSuspendToDisk: true
+# neverCreateSwap: false
+
+# Correctly draw nested (e.g. logical) partitions as such.
+drawNestedPartitions: false
+
+# Show/hide partition labels on manual partitioning page.
+alwaysShowPartitionLabels: true
+
+# Allow manual partitioning.
+#
+# When set to false, this option hides the "Manual partitioning" button,
+# limiting the user's choice to "Erase", "Replace" or "Alongside".
+# This can be useful when using a custom partition layout we don't want
+# the user to modify.
+#
+# If nothing is specified, manual partitioning is enabled.
+#allowManualPartitioning: true
+
+# Initial selection on the Choice page
+#
+# There are four radio buttons (in principle: erase, replace, alongside, manual),
+# and you can pick which of them, if any, is initially selected. For most
+# installers, "none" is the right choice: it makes the user pick something specific,
+# rather than accidentally being able to click past an important choice (in particular,
+# "erase" is a dangerous choice).
+#
+# The default is "none"
+#
+initialPartitioningChoice: none
+#
+# Similarly, some of the installation choices may offer a choice of swap;
+# the available choices depend on *userSwapChoices*, above, and this
+# setting can be used to pick a specific one.
+#
+# The default is "none" (no swap) if that is one of the enabled options, otherwise
+# one of the items from the options.
+initialSwapChoice: none
+
+# Default partition table type, used when a "erase" disk is made.
+#
+# When erasing a disk, a new partition table is created on disk.
+# In other cases, e.g. Replace and Alongside, as well as when using
+# manual partitioning, this partition table exists already on disk
+# and it is left unmodified.
+#
+# Suggested values: gpt, msdos
+# If nothing is specified, Calamares defaults to "gpt" if system is
+# efi or "msdos".
+#
+# Names are case-sensitive and defined by KPMCore.
+# defaultPartitionTableType: msdos
+
+# Requirement for partition table type
+#
+# Restrict the installation on disks that match the type of partition
+# tables that are specified.
+#
+# Possible values: msdos, gpt. Names are case-sensitive and defined by KPMCore.
+#
+# If nothing is specified, Calamares defaults to both "msdos" and "gpt".
+#
+# requiredPartitionTableType: gpt
+# requiredPartitionTableType:
+# - msdos
+# - gpt
+
+# Default filesystem type, used when a "new" partition is made.
+#
+# When replacing a partition, the existing filesystem inside the
+# partition is retained. In other cases, e.g. Erase and Alongside,
+# as well as when using manual partitioning and creating a new
+# partition, this filesystem type is pre-selected. Note that
+# editing a partition in manual-creation mode will not automatically
+# change the filesystem type to this default value -- it is not
+# creating a new partition.
+#
+# Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
+# If nothing is specified, Calamares defaults to "ext4".
+#
+# Names are case-sensitive and defined by KPMCore.
+defaultFileSystemType: "ext4"
+
+# Selectable filesystem type, used when "erase" is done.
+#
+# When erasing the disk, the *defaultFileSystemType* is used (see
+# above), but it is also possible to give users a choice:
+# list suitable filesystems here. A drop-down is provided
+# to pick which is the filesystems will be used.
+#
+# The value *defaultFileSystemType* is added to this list (with a warning)
+# if not present; the default pick is the *defaultFileSystemType*.
+#
+# If not specified at all, uses *defaultFileSystemType* without a
+# warning (this matches traditional no-choice-available behavior best).
+availableFileSystemTypes: ["ext4","ext3","btrfs","f2fs","jfs","reiser","xfs"]
+
+# Show/hide LUKS related functionality in automated partitioning modes.
+# Disable this if you choose not to deploy early unlocking support in GRUB2
+# and/or your distribution's initramfs solution.
+#
+# BIG FAT WARNING:
+#
+# This option is unsupported, as it cuts out a crucial security feature.
+# Disabling LUKS and shipping Calamares without a correctly configured GRUB2
+# and initramfs is considered suboptimal use of the Calamares software. The
+# Calamares team will not provide user support for any potential issue that
+# may arise as a consequence of setting this option to false.
+# It is strongly recommended that system integrators put in the work to support
+# LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc.
+# For more information on setting up GRUB2 for Calamares with LUKS, see
+# https://github.com/calamares/calamares/wiki/Deploy-LUKS
+#
+# If nothing is specified, LUKS is enabled in automated modes.
+#enableLuksAutomatedPartitioning: true
+
+# Partition layout.
+#
+# This optional setting specifies a custom partition layout.
+#
+# If nothing is specified, the default partition layout is a single partition
+# for root that uses 100% of the space and uses the filesystem defined by
+# defaultFileSystemType.
+#
+# Note: the EFI system partition is prepend automatically to the layout if
+# needed; the swap partition is appended to the layout if enabled (small of
+# suspend).
+#
+# Otherwise, the partition layout is defined as follow:
+#
+# partitionLayout:
+# - name: "rootfs"
+# type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
+# filesystem: "ext4"
+# mountPoint: "/"
+# size: 20%
+# minSize: 500M
+# maxSize: 10G
+# attributes: 0xffff000000000003
+# - name: "home"
+# type: "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
+# filesystem: "ext4"
+# mountPoint: "/home"
+# size: 3G
+# minSize: 1.5G
+# features:
+# 64bit: false
+# casefold: true
+# - name: "data"
+# filesystem: "fat32"
+# mountPoint: "/data"
+# features:
+# sector-size: 4096
+# sectors-per-cluster: 128
+# size: 100%
+#
+# There can be any number of partitions, each entry having the following attributes:
+# - name: filesystem label
+# and
+# partition name (gpt only; since KPMCore 4.2.0)
+# - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0)
+# - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0)
+# - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0)
+# - filesystem: filesystem type (optional parameter)
+# - if not set at all, treat as "unformatted"
+# - if "unformatted", no filesystem will be created
+# - if "unknown" (or an unknown FS name, like "elephant") then the
+# default filesystem type, or the user's choice, will be applied instead
+# of "unknown" (e.g. the user might pick ext4, or xfs).
+# - mountPoint: partition mount point (optional parameter; not mounted if unset)
+# - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB)
+# or
+# % of the available drive space if a '%' is appended to the value
+# - minSize: minimum partition size (optional parameter)
+# - maxSize: maximum partition size (optional parameter)
+# - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0)
+# name: boolean or integer or string
+
+# Checking for available storage
+#
+# This overlaps with the setting of the same name in the welcome module's
+# requirements section. If nothing is set by the welcome module, this
+# value is used instead. It is still a problem if there is no required
+# size set at all, and the replace and resize options will not be offered
+# if no required size is set.
+#
+# The value is in Gibibytes (GiB).
+#
+# BIG FAT WARNING: except for OEM-phase-0 use, you should be using
+# the welcome module, **and** configure this value in
+# `welcome.conf`, not here.
+# requiredStorage: 3.5
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf
new file mode 100644
index 0000000..379d2fc
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf
@@ -0,0 +1,67 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Configuration for the preserve-files job
+#
+# The *files* key contains a list of files to preserve. Each element of
+# the list should have one of these forms:
+#
+# - an absolute path (probably within the host system). This will be preserved
+# as the same path within the target system (chroot). If, globally,
+# *dontChroot* is true, then these items will be ignored (since the
+# destination is the same as the source).
+# - a map with a *dest* key. The *dest* value is a path interpreted in the
+# target system (if the global *dontChroot* is true, then the host is the
+# target as well). Relative paths are not recommended. There are two
+# ways to select the source data for the file:
+# - *from*, which must have one of the values, below; it is used to
+# preserve files whose pathname is known to Calamares internally.
+# - *src*, to refer to a path interpreted in the host system. Relative
+# paths are not recommended, and are interpreted relative to where
+# Calamares is being run.
+# Exactly one of the two source keys (either *from* or *src*) must be set.
+#
+# Special values for the key *from* are:
+# - *log*, for the complete log file (up to the moment the preservefiles
+# module is run),
+# - *config*, for a JSON dump of the contents of global storage.
+# Note that this may contain sensitive information, and should be
+# given restrictive permissions.
+#
+# A map with a *dest* key can have these additional fields:
+# - *perm*, is a colon-separated tuple of <user>:<group>:<mode>
+# where <mode> is in octal (e.g. 4777 for wide-open, 0400 for read-only
+# by owner). If set, the file's ownership and permissions are set to
+# those values within the target system; if not set, no permissions
+# are changed.
+# - *optional*, is a boolean; if this is set to `true` then failure to
+# preserve the file will **not** be counted as a failure of the
+# module, and installation will proceed. Set this for files that might
+# not exist in the host system (e.g. nvidia configuration files that
+# are created in some boot scenarios and not in others).
+#
+# The target path (*dest*) is modified as follows:
+# - `@@ROOT@@` is replaced by the path to the target root (may be /).
+# There is never any reason to use this, since the *dest* is already
+# interpreted in the target system.
+# - `@@USER@@` is replaced by the username entered by on the user
+# page (may be empty, for instance if no user page is enabled)
+#
+#
+#
+files:
+ - from: log
+ dest: /var/log/Calamares.log
+ perm: root:root:644
+ - from: config
+ dest: /var/log/Calamares-install.json
+ perm: root:root:644
+# - src: /var/log/nvidia.conf
+# dest: /var/log/Calamares-nvidia.conf
+# optional: true
+
+# The *perm* key contains a default value to apply to all files listed
+# above that do not have a *perm* key of their own. If not set,
+# root:root:0400 (highly restrictive) is used.
+#
+# perm: "root:root:0400"
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf
new file mode 100644
index 0000000..0b5b39c
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf
@@ -0,0 +1,13 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Removes a single user (with userdel) from the system.
+# This is typically used in OEM setups or if the live user
+# spills into the target system.
+#
+# The module never fails; if userdel fails, this is logged
+# but the module still reports success and installation / setup
+# continues as normal.
+---
+# Username in the target system to be removed.
+username: km
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf
new file mode 100644
index 0000000..aaf0243
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf
@@ -0,0 +1,78 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Configuration for the shell process job.
+#
+# Executes a list of commands found under the key *script*.
+# If the top-level key *dontChroot* is true, then the commands
+# are executed in the context of the live system, otherwise
+# in the context of the target system. In all of the commands,
+# the following variable expansions will take place:
+# - `ROOT` is replaced by the root mount point of the **target**
+# system from the point of view of the command (when run in the target
+# system, e.g. when *dontChroot* is false, that will be `/`).
+# - `USER` is replaced by the username, set on the user page.
+#
+# Variables are written as `${var}`, e.g. `${ROOT}`.
+#
+# The (global) timeout for the command list can be set with
+# the *timeout* key. The value is a time in seconds, default
+# is 30 seconds if not set. The timeout **must** be tuned, either
+# globally or per-command (see below in the description of *script*),
+# to the load or expected running-time of the command.
+#
+# - Setting a timeout of 30 for a `touch` command is probably exessive
+# - Setting a timeout of 1 for a `touch` command might be low,
+# on a slow disk where touch needs to be loaded from CDROM
+# - Setting a timeout of 30 for a 1GB download is definitely low
+# - Setting a timeout of 3600 for a 1GB download is going to leave
+# the user in uncertainty for a loooong time.
+#
+# If a command starts with "-" (a single minus sign), then the
+# return value of the command following the - is ignored; otherwise,
+# a failing command will abort the installation. This is much like
+# make's use of - in a command.
+#
+# The value of *script* may be:
+# - a single string; this is one command that is executed.
+# - a single object (this is not useful).
+# - a list of items; these are executed one at a time, by
+# separate shells (/bin/sh -c is invoked for each command).
+# Each list item may be:
+# - a single string; this is one command that is executed.
+# - a single object, specifying a key *command* and (optionally)
+# a key *timeout* to set the timeout for this specific
+# command differently from the global setting.
+#
+# Using a single object is not useful because the same effect can
+# be obtained with a single string and a global timeout, but when
+# there are multiple commands to execute, one of them might have
+# a different timeout than the others.
+#
+# To change the description of the job, set the *name* entries in *i18n*.
+---
+# Set to true to run in host, rather than target system
+dontChroot: false
+# Tune this for the commands you're actually running
+timeout: 999
+
+# Script may be a single string (because false returns an error exit
+# code, this will trigger a failure in the installation):
+#
+# script: "/usr/bin/false"
+
+# Script may be a list of strings (because false returns an error exit
+# code, **but** the command starts with a "-", the error exit is
+# ignored and installation continues):
+#
+# script:
+# - "-/usr/bin/false"
+# - "/bin/ls"
+# - "/usr/bin/true"
+
+# Script may be a list of items (if the touch command fails, it is
+# ignored; the slowloris command has a different timeout from the
+# other commands in the list):
+script:
+ - "-/usr/bin/pacman-key --init"
+ - "-/usr/bin/pacman-key --populate" \ No newline at end of file
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf
new file mode 100644
index 0000000..65be5e1
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf
@@ -0,0 +1,85 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Configuration for the shell process job.
+#
+# Executes a list of commands found under the key *script*.
+# If the top-level key *dontChroot* is true, then the commands
+# are executed in the context of the live system, otherwise
+# in the context of the target system. In all of the commands,
+# the following variable expansions will take place:
+# - `ROOT` is replaced by the root mount point of the **target**
+# system from the point of view of the command (when run in the target
+# system, e.g. when *dontChroot* is false, that will be `/`).
+# - `USER` is replaced by the username, set on the user page.
+#
+# Variables are written as `${var}`, e.g. `${ROOT}`.
+#
+# The (global) timeout for the command list can be set with
+# the *timeout* key. The value is a time in seconds, default
+# is 30 seconds if not set. The timeout **must** be tuned, either
+# globally or per-command (see below in the description of *script*),
+# to the load or expected running-time of the command.
+#
+# - Setting a timeout of 30 for a `touch` command is probably exessive
+# - Setting a timeout of 1 for a `touch` command might be low,
+# on a slow disk where touch needs to be loaded from CDROM
+# - Setting a timeout of 30 for a 1GB download is definitely low
+# - Setting a timeout of 3600 for a 1GB download is going to leave
+# the user in uncertainty for a loooong time.
+#
+# If a command starts with "-" (a single minus sign), then the
+# return value of the command following the - is ignored; otherwise,
+# a failing command will abort the installation. This is much like
+# make's use of - in a command.
+#
+# The value of *script* may be:
+# - a single string; this is one command that is executed.
+# - a single object (this is not useful).
+# - a list of items; these are executed one at a time, by
+# separate shells (/bin/sh -c is invoked for each command).
+# Each list item may be:
+# - a single string; this is one command that is executed.
+# - a single object, specifying a key *command* and (optionally)
+# a key *timeout* to set the timeout for this specific
+# command differently from the global setting.
+#
+# Using a single object is not useful because the same effect can
+# be obtained with a single string and a global timeout, but when
+# there are multiple commands to execute, one of them might have
+# a different timeout than the others.
+#
+# To change the description of the job, set the *name* entries in *i18n*.
+---
+# Set to true to run in host, rather than target system
+dontChroot: false
+# Tune this for the commands you're actually running
+timeout: 999
+
+# Script may be a single string (because false returns an error exit
+# code, this will trigger a failure in the installation):
+#
+# script: "/usr/bin/false"
+
+# Script may be a list of strings (because false returns an error exit
+# code, **but** the command starts with a "-", the error exit is
+# ignored and installation continues):
+#
+# script:
+# - "-/usr/bin/false"
+# - "/bin/ls"
+# - "/usr/bin/true"
+
+# Script may be a list of items (if the touch command fails, it is
+# ignored; the slowloris command has a different timeout from the
+# other commands in the list):
+script:
+ - "-rm @@ROOT@@/etc/sudoers.d/g_wheel"
+ - "-rm -r @@ROOT@@/etc/systemd/system/getty@tty1.service.d"
+ - "-rm -r @@ROOT@@/etc/systemd/system/multi-user.target.wants/pacman-init.service"
+ - "-rm -r @@ROOT@@/etc/systemd/system/pacman-init.service"
+ - "-rm @@ROOT@@/etc/systemd/system/etc-pacman.d-gnupg.mount"
+ - "-rm @@ROOT@@/root/.automated_script.sh"
+ - "-rm @@ROOT@@/root/.zlogin"
+ - "-rm @@ROOT@@/etc/polkit-1/rules.d/49-nopasswd_global.rules"
+# - "-rm @@ROOT@@/etc/systemd/system/display-manager.service"
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf
new file mode 100644
index 0000000..6bf2ff2
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf
@@ -0,0 +1,96 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Unsquash / unpack a filesystem. Multiple sources are supported, and
+# they may be squashed or plain filesystems.
+#
+# Configuration:
+#
+# from globalstorage: rootMountPoint
+# from job.configuration: the path to where to mount the source image(s)
+# for copying an ordered list of unpack mappings for image file <->
+# target dir relative to rootMountPoint.
+
+---
+# Each list item is unpacked, in order, to the target system.
+#
+# Each list item has the following **mandatory** attributes:
+# - *source* path relative to the live / intstalling system to the image
+# - *sourcefs* the type of the source files; valid entries are
+# - `ext4` (copies the filesystem contents)
+# - `squashfs` (unsquashes)
+# - `file` (copies a file or directory)
+# - (may be others if mount supports it)
+# - *destination* path relative to rootMountPoint (so in the target
+# system) where this filesystem is unpacked. It may be an
+# empty string, which effectively is / (the root) of the target
+# system.
+#
+# Each list item **optionally** can include the following attributes:
+# - *exclude* is a list of values that is expanded into --exclude
+# arguments for rsync (each entry in exclude gets its own --exclude).
+# - *excludeFile* is a single file that is passed to rsync as an
+# --exclude-file argument. This should be a full pathname
+# inside the **host** filesystem.
+# - *weight* is useful when the entries take wildly different
+# times to unpack (e.g. with a squashfs, and one single file)
+# and the total weight of this module should be distributed
+# differently between the entries. (This is only relevant when
+# there is more than one entry; by default all the entries
+# have the same weight, 1)
+#
+# EXAMPLES
+#
+# Usually you list a filesystem image to unpack; you can use
+# squashfs or an ext4 image. An empty destination is equivalent to "/",
+# the root of the target system. The destination directory must exist
+# in the target system.
+#
+# - source: "/path/to/filesystem.sqfs"
+# sourcefs: "squashfs"
+# destination: ""
+#
+# Multiple entries are unpacked in-order; if there is more than one
+# item then only the first must exist beforehand -- it's ok to
+# create directories with one unsquash and then to use those
+# directories as a target from a second unsquash.
+#
+# - source: "/path/to/another/filesystem.img"
+# sourcefs: "ext4"
+# destination: ""
+# - source: "/path/to/another/filesystem2.img"
+# sourcefs: "ext4"
+# destination: "/usr/lib/extra"
+#
+# You can list filesystem source paths relative to the Calamares run
+# directory, if you use -d (this is only useful for testing, though).
+#
+# - source: ./example.sqfs
+# sourcefs: squashfs
+# destination: ""
+#
+# You can list individual files (copied one-by-one), or directories
+# (the files inside this directory are copied directly to the destination,
+# so no "dummycpp/" subdirectory is created in this example).
+# Do note that the target directory must exist already (e.g. from
+# extracting some other filesystem).
+#
+# - source: ../CHANGES
+# sourcefs: file
+# destination: "/tmp/derp"
+# - source: ../src/modules/dummycpp
+# sourcefs: file
+# destination: "/tmp/derp"
+#
+# The *destination* and *source* are handed off to rsync, so the semantics
+# of trailing slashes apply. In order to *rename* a file as it is
+# copied, specify one single file (e.g. CHANGES) and a full pathname
+# for its destination name, as in the example below.
+
+unpack:
+ - source: "/run/archiso/bootmnt/arch/x86_64/airootfs.sfs"
+ sourcefs: "squashfs"
+ destination: ""
+ - source: "/run/archiso/bootmnt/arch/boot/x86_64/vmlinuz-linux"
+ sourcefs: "file"
+ destination: "/boot/vmlinuz-linux"
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf
new file mode 100644
index 0000000..19531a8
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf
@@ -0,0 +1,217 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Configuration for the one-user-system user module.
+#
+# Besides these settings, the users module also places the following
+# keys into the Global Storage area, based on user input in the view step.
+#
+# - hostname
+# - username
+# - password (obscured)
+# - autologinUser (if enabled, set to username)
+#
+# These Global Storage keys are set when the configuration for this module
+# is read and when they are modified in the UI.
+---
+# Used as default groups for the created user.
+# Adjust to your Distribution defaults.
+#
+# Each entry in the *defaultGroups* list is either:
+# - a string, naming a group; this is a **non**-system group
+# which does not need to exist in the target system; if it
+# does not exist, it will be created.
+# - an entry with subkeys *name*, *must_exist* and *system*;
+# if the group *must_exist* and does not, an error is thrown
+# and the installation fails.
+#
+# The group is created if it does not exist, and it is
+# created as a system group (GID < 1000) or user group
+# (GID >= 1000) depending on the value of *system*.
+defaultGroups:
+ - name: users
+ must_exist: true
+ system: true
+ - lp
+ - video
+ - network
+ - storage
+ - name: wheel
+ must_exist: false
+ system: true
+ - audio
+
+# Some Distributions require a 'autologin' group for the user.
+# Autologin causes a user to become automatically logged in to
+# the desktop environment on boot.
+# Disable when your Distribution does not require such a group.
+autologinGroup: autologin
+# You can control the initial state for the 'autologin checkbox' here.
+# Possible values are:
+# - true to check or
+# - false to uncheck
+# These set the **initial** state of the checkbox.
+doAutologin: true
+
+# When *sudoersGroup* is set to a non-empty string, Calamares creates a
+# sudoers file for the user. This file is located at:
+# `/etc/sudoers.d/10-installer`
+# Remember to add the (value of) *sudoersGroup* to *defaultGroups*.
+#
+# If your Distribution already sets up a group of sudoers in its packaging,
+# remove this setting (delete or comment out the line below). Otherwise,
+# the setting will be duplicated in the `/etc/sudoers.d/10-installer` file,
+# potentially confusing users.
+sudoersGroup: wheel
+# If set to `false` (the default), writes a sudoers file with `(ALL)`
+# so that the command can be run as any user. If set to `true`, writes
+# `(ALL:ALL)` so that any user and any group can be chosen.
+sudoersConfigureWithGroup: true
+
+# Setting this to false, causes the root account to be disabled.
+# When disabled, hides the "Use the same password for administrator"
+# checkbox. Also hides the "Choose a password" and associated text-inputs.
+setRootPassword: true
+
+# You can control the initial state for the 'reuse password for root'
+# checkbox here. Possible values are:
+# - true to check or
+# - false to uncheck
+#
+# When checked, the user password is used for the root account too.
+#
+# NOTE: *doReusePassword* requires *setRootPassword* to be enabled.
+doReusePassword: true
+
+# These are optional password-requirements that a distro can enforce
+# on the user. The values given in this sample file set only very weak
+# validation settings.
+#
+# - nonempty rejects empty passwords
+# - there are no length validations
+# - libpwquality (if it is enabled at all) has no length of class
+# restrictions, although it will still reject palindromes and
+# dictionary words with these settings.
+#
+# Checks may be listed multiple times; each is checked separately,
+# and no effort is done to ensure that the checks are consistent
+# (e.g. specifying a maximum length less than the minimum length
+# will annoy users).
+#
+# The libpwquality check relies on the (optional) libpwquality library.
+# Its value is a list of configuration statements that could also
+# be found in pwquality.conf, and these are handed off to the
+# libpwquality parser for evaluation. The check is ignored if
+# libpwquality is not available at build time (generates a warning in
+# the log). The Calamares password check rejects passwords with a
+# score of < 40 with the given libpwquality settings.
+#
+# (additional checks may be implemented in CheckPWQuality.cpp and
+# wired into UsersPage.cpp)
+#
+# - To disable specific password validations:
+# comment out the relevant 'passwordRequirements' keys below.
+# - To disable all password validations:
+# set both 'allowWeakPasswords' and 'allowWeakPasswordsDefault' to true.
+# (That will show the box *Allow weak passwords* in the user-
+# interface, and check it by default).
+#passwordRequirements:
+# nonempty: true
+# minLength: -1 # Password at least this many characters
+# maxLength: -1 # Password at most this many characters
+# libpwquality:
+# - minlen=0
+# - minclass=0
+
+# You can control the visibility of the 'strong passwords' checkbox here.
+# Possible values are:
+# - true to show or
+# - false to hide (default)
+# the checkbox. This checkbox allows the user to choose to disable
+# password-strength-checks. By default the box is **hidden**, so
+# that you have to pick a password that satisfies the checks.
+allowWeakPasswords: false
+# You can control the initial state for the 'strong passwords' checkbox here.
+# Possible values are:
+# - true to uncheck or
+# - false to check (default)
+# the checkbox by default. Since the box is labeled to enforce strong
+# passwords, in order to **allow** weak ones by default, the box needs
+# to be unchecked.
+allowWeakPasswordsDefault: true
+
+# User settings
+#
+# The user can enter a username, but there are some other
+# hidden settings for the user which are configurable in Calamares.
+#
+# Key *user* has the following sub-keys:
+#
+# - *shell* Shell to be used for the regular user of the target system.
+# There are three possible kinds of settings:
+# - unset (i.e. commented out, the default), act as if set to /bin/bash
+# - empty (explicit), don't pass shell information to useradd at all
+# and rely on a correct configuration file in /etc/default/useradd
+# - set, non-empty, use that path as shell. No validation is done
+# that the shell actually exists or is executable.
+# - *forbidden_names* Login names that may not be used. This list always
+# contains "root" and "nobody", but may be extended to list other special
+# names for a given distro (eg. "video", or "mysql" might not be a valid
+# end-user login name).
+user:
+ shell: /bin/bash
+ forbidden_names: [ root ]
+
+# Hostname settings
+#
+# The user can enter a hostname; this is configured into the system
+# in some way. There are settings for how a hostname is guessed (as
+# a default / suggestion) and where (or how) the hostname is set in
+# the target system.
+#
+# Key *hostname* has the following sub-keys:
+#
+# - *location* How the hostname is set in the target system:
+# - *None*, to not set the hostname at all
+# - *EtcFile*, to write to `/etc/hostname` directly
+# - *Etc*, identical to above
+# - *Hostnamed*, to use systemd hostnamed(1) over DBus
+# - *Transient*, to remove `/etc/hostname` from the target
+# The default is *EtcFile*. Setting this to *None* or *Transient* will
+# hide the hostname field.
+# - *writeHostsFile* Should /etc/hosts be written with a hostname for
+# this machine (also adds localhost and some ipv6 standard entries).
+# Defaults to *true*.
+# - *template* Is a simple template for making a suggestion for the
+# hostname, based on user data. The default is "${first}-${product}".
+# This is used only if the hostname field is shown. KMacroExpander is
+# used; write `${key}` where `key` is one of the following:
+# - *first* User's first name (whatever is first in the User Name field,
+# which is first-in-order but not necessarily a "first name" as in
+# "given name" or "name by which you call someone"; beware of western bias)
+# - *name* All the text in the User Name field.
+# - *login* The login name (which may be suggested based on User Name)
+# - *product* The hardware product, based on DMI data
+# - *product2* The product as described by Qt
+# - *cpu* CPU name
+# - *host* Current hostname (which may be a transient hostname)
+# Literal text in the template is preserved. Calamares tries to map
+# `${key}` values to something that will fit in a hostname, but does not
+# apply the same to literal text in the template. Do not use invalid
+# characters in the literal text, or no suggeston will be done.
+# - *forbidden_names* lists hostnames that may not be used. This list
+# always contains "localhost", but may list others that are unsuitable
+# or broken in special ways.
+hostname:
+ location: EtcFile
+ writeHostsFile: true
+ #template: "alci-${cpu}"
+ forbidden_names: [ localhost ]
+
+presets:
+ fullName:
+ value: "mythtv"
+ editable: true
+ loginName:
+ value: "mythtv"
+ editable: true
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf
new file mode 100644
index 0000000..490b627
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf
@@ -0,0 +1,121 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Configuration for the welcome module. The welcome page
+# displays some information from the branding file.
+# Which parts it displays can be configured through
+# the show* variables.
+#
+# In addition to displaying the welcome page, this module
+# can check requirements for installation.
+---
+# Display settings for various buttons on the welcome page.
+# The URLs themselves come from `branding.desc`. Each button
+# is show if the corresponding *show<buttonname>* setting
+# here is "true". If the setting is "false", the button is hidden.
+# Empty or not-set is interpreted as "false".
+#
+# TODO:3.3 Remove the URL fallback here; URLs only in `branding.desc`
+#
+# The setting can also be a full URL which will then be used
+# instead of the one from the branding file.
+showSupportUrl: false
+showKnownIssuesUrl: false
+showReleaseNotesUrl: false
+# TODO:3.3 Move to branding, keep only a bool here
+showDonateUrl: false
+
+# Requirements checking. These are general, generic, things
+# that are checked. They may not match with the actual requirements
+# imposed by other modules in the system.
+requirements:
+ # Amount of available disk, in GiB. Floating-point is allowed here.
+ # Note that this does not account for *usable* disk, so it is possible
+ # to satisfy this requirement, yet have no space to install to.
+ requiredStorage: 6
+
+ # Amount of available RAM, in GiB. Floating-point is allowed here.
+ requiredRam: 1.0
+
+ # To check for internet connectivity, Calamares does a HTTP GET
+ # on this URL; on success (e.g. HTTP code 200) internet is OK.
+ # Use a privacy-respecting URL here, preferably in your distro's domain.
+ #
+ # The URL is only used if "internet" is in the *check* list below.
+ internetCheckUrl: http://example.com
+ #
+ # This may be a single URL, or a list or URLs, in which case the
+ # URLs will be checked one-by-one; if any of them returns data,
+ # internet is assumed to be OK. This can be used to check via
+ # a number of places, where some domains may be down or blocked.
+ #
+ # To use a list of URLs, just use YAML list syntax (e.g.
+ #
+ # internetCheckUrl:
+ # - http://www.kde.org
+ # - http://www.freebsd.org
+ #
+ # or short-form
+ #
+ # internetCheckUrl: [ http://www.kde.org, http://www.freebsd.org ]
+
+ # List conditions to check. Each listed condition will be
+ # probed in some way, and yields true or false according to
+ # the host system satisfying the condition.
+ #
+ # This sample file lists all the conditions that are known.
+ check:
+ - storage
+ - ram
+ - power
+ - internet
+ - root
+ - screen
+
+ # List conditions that **must** be satisfied (from the list
+ # of conditions, above) for installation to proceed.
+ # If any of these conditions are not met, the user cannot
+ # continue past the welcome page.
+ required:
+ - storage
+ - ram
+ # - root
+
+# GeoIP checking
+#
+# This can be used to pre-select a language based on the country
+# the user is currently in. It *assumes* that there's internet
+# connectivity, though. Configuration is like in the locale module,
+# but remember to use a URL that returns full data **and** to
+# use a selector that will pick the country, not the timezone.
+#
+# To disable GeoIP checking, either comment-out the entire geoip section,
+# or set the *style* key to an unsupported format (e.g. `none`).
+# Also, note the analogous feature in `src/modules/locale/locale.conf`,
+# which is where you will find complete documentation.
+#
+# For testing, the *style* may be set to `fixed`, any URL that
+# returns data (e.g. `http://example.com`) and then *selector*
+# sets the data that is actually returned (e.g. "DE" to simulate
+# the machine being in Germany).
+#
+# NOTE: the *selector* must pick the country code from the GeoIP
+# data. Timezone, city, or other data will not be recognized.
+#
+geoip:
+ style: "none"
+ url: "https://geoip.kde.org/v1/ubiquity" # extended XML format
+ selector: "CountryCode" # blank uses default, which is wrong
+
+# User interface
+#
+# The "select language" icon is an international standard, but it
+# might not theme very well with your desktop environment.
+# Fill in an icon name (following FreeDesktop standards) to
+# use that named icon instead of the usual one.
+#
+# Leave blank or unset to use the international standard.
+#
+# Known icons in this space are "set-language" and "config-language".
+#
+# languageIcon: set-language
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/settings.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/settings.conf
new file mode 100644
index 0000000..e7cba3e
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/settings.conf
@@ -0,0 +1,243 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# Configuration file for Calamares
+#
+# This is the top-level configuration file for Calamares.
+# It specifies what modules will be used, as well as some
+# overall characteristics -- is this a setup program, or
+# an installer. More specific configuration is devolved
+# to the branding file (for the UI) and the individual
+# module configuration files (for functionality).
+---
+# Modules can be job modules (with different interfaces) and QtWidgets view
+# modules. They could all be placed in a number of different paths.
+# "modules-search" is a list of strings, each of these can either be a full
+# path to a directory or the keyword "local".
+#
+# "local" means:
+# - modules in $LIBDIR/calamares/modules, with
+# - settings in SHARE/calamares/modules or /etc/calamares/modules.
+# In debug-mode (e.g. calamares -d) "local" also adds some paths
+# that make sense from inside the build-directory, so that you
+# can build-and-run with the latest modules immediately.
+#
+# Strings other than "local" are taken as paths and interpreted
+# relative to wherever Calamares is started. It is therefore **strongly**
+# recommended to use only absolute paths here. This is mostly useful
+# if your distro has forks of standard Calamares modules, but also
+# uses some form of upstream packaging which might overwrite those
+# forked modules -- then you can keep modules somewhere outside of
+# the "regular" module tree.
+#
+#
+# YAML: list of strings.
+modules-search: [ local ]
+
+# Instances section. This section is optional, and it defines custom instances
+# for modules of any kind. An instance entry has these keys:
+# - *module* name, which matches the module name from the module descriptor
+# (usually the name of the directory under `src/modules/`, but third-
+# party modules may diverge.
+# - *id* (optional) an identifier to distinguish this instance from
+# all the others. If none is given, the name of the module is used.
+# Together, the module and id form an instance key (see below).
+# - *config* (optional) a filename for the configuration. If none is
+# given, *module*`.conf` is used (e.g. `welcome.conf` for the welcome
+# module)
+# - *weight* (optional) In the *exec* phase of the sequence, progress
+# is reported as jobs are completed. The jobs from a single module
+# together contribute the full weight of that module. The overall
+# progress (0 .. 100%) is divided up according to the weight of each
+# module. Give modules that take a lot of time to complete, a larger
+# weight to keep the overall progress moving along steadily. This
+# weight overrides a weight given in the module descriptor. If no weight
+# is given, uses the value from the module descriptor, or 1 if there
+# isn't one there either.
+#
+# The primary goal of this mechanism is to allow loading multiple instances
+# of the same module, with different configuration. If you don't need this,
+# the instances section can safely be left empty.
+#
+# Module name plus instance name makes an instance key, e.g.
+# "webview@owncloud", where "webview" is the module name (for the webview
+# viewmodule) and "owncloud" is the instance name. In the *sequence*
+# section below, use instance-keys to name instances (instead of just
+# a module name, for modules which have only a single instance).
+#
+# Every module implicitly has an instance with the instance name equal
+# to its module name, e.g. "welcome@welcome". In the *sequence* section,
+# mentioning a module without a full instance key (e.g. "welcome")
+# means that implicit module.
+#
+# An instance may specify its configuration file (e.g. `webview-home.conf`).
+# The implicit instances all have configuration files named `<module>.conf`.
+# This (implict) way matches the source examples, where the welcome
+# module contains an example `welcome.conf`. Specify a *config* for
+# any module (also implicit instances) to change which file is used.
+#
+# For more information on running module instances, run Calamares in debug
+# mode and check the Modules page in the Debug information interface.
+#
+# A module that is often used with instances is shellprocess, which will
+# run shell commands specified in the configuration file. By configuring
+# more than one instance of the module, multiple shell sessions can be run
+# during install.
+#
+# YAML: list of maps of string:string key-value pairs.
+#instances:
+#- id: owncloud
+# module: webview
+# config: owncloud.conf
+
+# Sequence section. This section describes the sequence of modules, both
+# viewmodules and jobmodules, as they should appear and/or run.
+#
+# A jobmodule instance key (or name) can only appear in an exec phase, whereas
+# a viewmodule instance key (or name) can appear in both exec and show phases.
+# There is no limit to the number of show or exec phases. However, the same
+# module instance key should not appear more than once per phase, and
+# deployers should take notice that the global storage structure is persistent
+# throughout the application lifetime, possibly influencing behavior across
+# phases. A show phase defines a sequence of viewmodules (and therefore
+# pages). These viewmodules can offer up jobs for the execution queue.
+#
+# An exec phase displays a progress page (with brandable slideshow). This
+# progress page iterates over the modules listed in the *immediately
+# preceding* show phase, and enqueues their jobs, as well as any other jobs
+# from jobmodules, in the order defined in the current exec phase.
+#
+# It then executes the job queue and clears it. If a viewmodule offers up a
+# job for execution, but the module name (or instance key) isn't listed in the
+# immediately following exec phase, this job will not be executed.
+#
+# YAML: list of lists of strings.
+
+instances:
+- id: before
+ module: shellprocess
+ config: shellprocess-before.conf
+- id: final
+ module: shellprocess
+ config: shellprocess-final.conf
+
+
+sequence:
+- show:
+ - welcome
+# - notesqml
+ - locale
+ - keyboard
+ - partition
+ - users
+# - tracking
+ - summary
+- exec:
+ - partition
+# - zfs
+ - mount
+ - unpackfs
+ - machineid
+ - fstab
+ - locale
+ - keyboard
+ - localecfg
+ - luksbootkeyfile
+ - luksopenswaphookcfg
+ - initcpiocfg
+ - initcpio
+ - removeuser
+ - users
+ - displaymanager
+ - networkcfg
+ - hwclock
+# - services-systemd
+ - shellprocess@before
+ - packages
+ - grubcfg
+ - bootloader
+ - shellprocess@final
+ - preservefiles
+ - umount
+- show:
+# - webview@owncloud
+ - finished
+
+# A branding component is a directory, either in SHARE/calamares/branding or
+# in /etc/calamares/branding (the latter takes precedence). The directory must
+# contain a YAML file branding.desc which may reference additional resources
+# (such as images) as paths relative to the current directory.
+#
+# A branding component can also ship a QML slideshow for execution pages,
+# along with translation files.
+#
+# Only the name of the branding component (directory) should be specified
+# here, Calamares then takes care of finding it and loading the contents.
+#
+# YAML: string.
+branding: LinHES
+
+# If this is set to true, Calamares will show an "Are you sure?" prompt right
+# before each execution phase, i.e. at points of no return. If this is set to
+# false, no prompt is shown. Default is false, but Calamares will complain if
+# this is not explicitly set.
+#
+# YAML: boolean.
+prompt-install: false
+
+# If this is set to true, Calamares will execute all target environment
+# commands in the current environment, without chroot. This setting should
+# only be used when setting up Calamares as a post-install configuration tool,
+# as opposed to a full operating system installer.
+#
+# Some official Calamares modules are not expected to function with this
+# setting. (e.g. partitioning seems like a bad idea, since that is expected to
+# have been done already)
+#
+# Default is false (for a normal installer), but Calamares will complain if
+# this is not explicitly set.
+#
+# YAML: boolean.
+dont-chroot: false
+
+# If this is set to true, Calamares refers to itself as a "setup program"
+# rather than an "installer". Defaults to the value of dont-chroot, but
+# Calamares will complain if this is not explicitly set.
+oem-setup: false
+
+# If this is set to true, the "Cancel" button will be disabled entirely.
+# The button is also hidden from view.
+#
+# This can be useful if when e.g. Calamares is used as a post-install
+# configuration tool and you require the user to go through all the
+# configuration steps.
+#
+# Default is false, but Calamares will complain if this is not explicitly set.
+#
+# YAML: boolean.
+disable-cancel: false
+
+# If this is set to true, the "Cancel" button will be disabled once
+# you start the 'Installation', meaning there won't be a way to cancel
+# the Installation until it has finished or installation has failed.
+#
+# Default is false, but Calamares will complain if this is not explicitly set.
+#
+# YAML: boolean.
+disable-cancel-during-exec: false
+
+# If this is set to true, the "Next" and "Back" button will be hidden once
+# you start the 'Installation'.
+#
+# Default is false, but Calamares will complain if this is not explicitly set.
+#
+# YAML: boolean.
+hide-back-and-next-during-exec: false
+
+# If this is set to true, then once the end of the sequence has
+# been reached, the quit (done) button is clicked automatically
+# and Calamares will close. Default is false: the user will see
+# that the end of installation has been reached, and that things are ok.
+#
+#
+quit-at-end: false
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/default/grub b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/default/grub
new file mode 100644
index 0000000..97fb2f8
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/default/grub
@@ -0,0 +1,63 @@
+# GRUB boot loader configuration
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=5
+GRUB_DISTRIBUTOR="LinHES"
+GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
+GRUB_CMDLINE_LINUX=""
+
+# Preload both GPT and MBR modules so that they are not missed
+GRUB_PRELOAD_MODULES="part_gpt part_msdos"
+
+# Uncomment to enable booting from LUKS encrypted devices
+#GRUB_ENABLE_CRYPTODISK=y
+
+# Set to 'countdown' or 'hidden' to change timeout behavior,
+# press ESC key to display menu.
+GRUB_TIMEOUT_STYLE=menu
+
+# Uncomment to use basic console
+GRUB_TERMINAL_INPUT=console
+
+# Uncomment to disable graphical terminal
+#GRUB_TERMINAL_OUTPUT=console
+
+# The resolution used on graphical terminal
+# note that you can use only modes which your graphic card supports via VBE
+# you can see them in real GRUB with the command `videoinfo'
+GRUB_GFXMODE=auto
+
+# Uncomment to allow the kernel use the same resolution used by grub
+GRUB_GFXPAYLOAD_LINUX=keep
+
+# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
+# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
+#GRUB_DISABLE_LINUX_UUID=true
+
+# Uncomment to disable generation of recovery mode menu entries
+GRUB_DISABLE_RECOVERY=true
+
+# Uncomment and set to the desired menu colors. Used by normal and wallpaper
+# modes only. Entries specified as foreground/background.
+#GRUB_COLOR_NORMAL="light-blue/black"
+#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
+
+# Uncomment one of them for the gfx desired, a image background or a gfxtheme
+#GRUB_BACKGROUND="/path/to/wallpaper"
+#GRUB_THEME="/path/to/gfxtheme"
+
+# Uncomment to get a beep at GRUB start
+#GRUB_INIT_TUNE="480 440 1"
+
+# Uncomment to make GRUB remember the last selection. This requires
+# setting 'GRUB_DEFAULT=saved' above.
+#GRUB_SAVEDEFAULT=true
+
+# Uncomment to disable submenus in boot menu
+#GRUB_DISABLE_SUBMENU=y
+
+# Probing for other operating systems is disabled for security reasons. Read
+# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
+# functionality install os-prober and uncomment to detect and include other
+# operating systems.
+#GRUB_DISABLE_OS_PROBER=false
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/lightdm/lightdm.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/lightdm/lightdm.conf
new file mode 100644
index 0000000..f43b26c
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/lightdm/lightdm.conf
@@ -0,0 +1,164 @@
+[Seat:*]
+#
+# General configuration
+#
+# start-default-seat = True to always start one seat if none are defined in the configuration
+# greeter-user = User to run greeter as
+# minimum-display-number = Minimum display number to use for X servers
+# minimum-vt = First VT to run displays on
+# lock-memory = True to prevent memory from being paged to disk
+# user-authority-in-system-dir = True if session authority should be in the system location
+# guest-account-script = Script to be run to setup guest account
+# logind-check-graphical = True to on start seats that are marked as graphical by logind
+# log-directory = Directory to log information to
+# run-directory = Directory to put running state in
+# cache-directory = Directory to cache to
+# sessions-directory = Directory to find sessions
+# remote-sessions-directory = Directory to find remote sessions
+# greeters-directory = Directory to find greeters
+# backup-logs = True to move add a .old suffix to old log files when opening new ones
+# dbus-service = True if LightDM provides a D-Bus service to control it
+#
+[LightDM]
+#start-default-seat=true
+#greeter-user=lightdm
+#minimum-display-number=0
+#minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799
+#lock-memory=true
+#user-authority-in-system-dir=false
+#guest-account-script=guest-account
+#logind-check-graphical=false
+#log-directory=/var/log/lightdm
+run-directory=/run/lightdm
+#cache-directory=/var/cache/lightdm
+#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
+#remote-sessions-directory=/usr/share/lightdm/remote-sessions
+#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
+#backup-logs=true
+#dbus-service=true
+
+#
+# Seat configuration
+#
+# Seat configuration is matched against the seat name glob in the section, for example:
+# [Seat:*] matches all seats and is applied first.
+# [Seat:seat0] matches the seat named "seat0".
+# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
+#
+# type = Seat type (local, xremote)
+# pam-service = PAM service to use for login
+# pam-autologin-service = PAM service to use for autologin
+# pam-greeter-service = PAM service to use for greeters
+# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
+# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
+# xserver-config = Config file to pass to X server
+# xserver-layout = Layout to pass to X server
+# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
+# xserver-share = True if the X server is shared for both greeter and session
+# xserver-hostname = Hostname of X server (only for type=xremote)
+# xserver-display-number = Display number of X server (only for type=xremote)
+# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
+# xdmcp-port = XDMCP UDP/IP port to communicate on
+# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
+# greeter-session = Session to load for greeter
+# greeter-hide-users = True to hide the user list
+# greeter-allow-guest = True if the greeter should show a guest login option
+# greeter-show-manual-login = True if the greeter should offer a manual login option
+# greeter-show-remote-login = True if the greeter should offer a remote login option
+# user-session = Session to load for users
+# allow-user-switching = True if allowed to switch users
+# allow-guest = True if guest login is allowed
+# guest-session = Session to load for guests (overrides user-session)
+# session-wrapper = Wrapper script to run session with
+# greeter-wrapper = Wrapper script to run greeter with
+# guest-wrapper = Wrapper script to run guest sessions with
+# display-setup-script = Script to run when starting a greeter session (runs as root)
+# display-stopped-script = Script to run after stopping the display server (runs as root)
+# greeter-setup-script = Script to run when starting a greeter (runs as root)
+# session-setup-script = Script to run when starting a user session (runs as root)
+# session-cleanup-script = Script to run when quitting a user session (runs as root)
+# autologin-guest = True to log in as guest by default
+# autologin-user = User to log in with by default (overrides autologin-guest)
+# autologin-user-timeout = Number of seconds to wait before loading default user
+# autologin-session = Session to load for automatic login (overrides user-session)
+# autologin-in-background = True if autologin session should not be immediately activated
+# exit-on-failure = True if the daemon should exit if this seat fails
+#
+[Seat:*]
+#type=local
+#pam-service=lightdm
+#pam-autologin-service=lightdm-autologin
+#pam-greeter-service=lightdm-greeter
+#xserver-command=X
+#xmir-command=Xmir
+#xserver-config=
+#xserver-layout=
+#xserver-allow-tcp=false
+#xserver-share=true
+#xserver-hostname=
+#xserver-display-number=
+#xdmcp-manager=
+#xdmcp-port=177
+#xdmcp-key=
+greeter-session=lightdm-gtk-greeter
+#greeter-hide-users=false
+#greeter-allow-guest=true
+#greeter-show-manual-login=false
+#greeter-show-remote-login=true
+user-session=xfce
+#allow-user-switching=true
+#allow-guest=true
+#guest-session=
+session-wrapper=/etc/lightdm/Xsession
+#greeter-wrapper=
+#guest-wrapper=
+#display-setup-script=
+#display-stopped-script=
+#greeter-setup-script=
+#session-setup-script=
+#session-cleanup-script=
+#autologin-guest=false
+autologin-user=km
+#autologin-user-timeout=0
+#autologin-in-background=false
+autologin-session=xfce
+#exit-on-failure=false
+
+#
+# XDMCP Server configuration
+#
+# enabled = True if XDMCP connections should be allowed
+# port = UDP/IP port to listen for connections on
+# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
+# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
+# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
+#
+# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
+# it can be a word and the first 7 characters are used as the key.
+#
+[XDMCPServer]
+#enabled=false
+#port=177
+#listen-address=
+#key=
+#hostname=
+
+#
+# VNC Server configuration
+#
+# enabled = True if VNC connections should be allowed
+# command = Command to run Xvnc server with
+# port = TCP/IP port to listen for connections on
+# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
+# width = Width of display to use
+# height = Height of display to use
+# depth = Color depth of display to use
+#
+[VNCServer]
+#enabled=false
+#command=Xvnc
+#port=5900
+#listen-address=
+#width=1024
+#height=768
+#depth=8
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/motd b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/motd
new file mode 100644
index 0000000..91d4b87
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/motd
@@ -0,0 +1,4 @@
+Welcome to LinHES!
+https://linhes.org
+
+                                          
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/os-release b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/os-release
new file mode 100644
index 0000000..5d74377
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/os-release
@@ -0,0 +1,10 @@
+NAME="LinHES: The Linux Entertainment System"
+PRETTY_NAME="LinHES"
+ID=linhes
+BUILD_ID=rolling
+ANSI_COLOR="38;2;23;147;209"
+HOME_URL="https://linhes.org/"
+DOCUMENTATION_URL="https://linhes.org/projects/linhes/wiki"
+SUPPORT_URL="https://forums.linhes.org/"
+BUG_REPORT_URL="https://linhes.org/projects/linhes/issues"
+LOGO=linhes-logo
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/pacman.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/pacman.conf
new file mode 100644
index 0000000..cb24f8c
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/pacman.conf
@@ -0,0 +1,105 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+#GPGDir = /etc/pacman.d/gnupg/
+#HookDir = /etc/pacman.d/hooks/
+HoldPkg = pacman glibc
+#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options
+#UseSyslog
+#Color
+#NoProgressBar
+# We cannot check disk space from within a chroot environment
+#CheckSpace
+#VerbosePkgLists
+ParallelDownloads = 5
+
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
+SigLevel = Required DatabaseOptional
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+#[testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+Include = /etc/pacman.d/mirrorlist
+
+# If you want to run 32 bit applications on your x86_64 system,
+# enable the multilib repositories as required here.
+
+#[multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
+
+[linhes-testing]
+SigLevel = Optional TrustAll
+Server = http://linhes.org/repo/$arch/$repo/
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules
new file mode 100644
index 0000000..afc8670
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules
@@ -0,0 +1,9 @@
+/* Allow members of the wheel group to execute any actions
+ * without password authentication, similar to "sudo NOPASSWD:"
+ */
+polkit.addRule(function(action, subject) {
+ if (subject.isInGroup("wheel")) {
+ return polkit.Result.YES;
+ }
+});
+
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sddm.conf.d/autologin.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sddm.conf.d/autologin.conf
new file mode 100644
index 0000000..6ed2275
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sddm.conf.d/autologin.conf
@@ -0,0 +1,3 @@
+[Autologin]
+User=km
+Session=plasma
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/autostart/calamares.desktop b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/autostart/calamares.desktop
new file mode 100755
index 0000000..5d3405c
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/autostart/calamares.desktop
@@ -0,0 +1,252 @@
+[Desktop Entry]
+Categories=Qt;System;
+Comment[en_US]=Calamares — System Installer
+Comment=Calamares — System Installer
+Comment[ar]=كالامارس - مثبت النظام
+Comment[as]=কেলামাৰেচ — চিছটেম​ ইনস্তলাৰ
+Comment[ast]=Calamares — Instalador del sistema
+Comment[az]=Calamares Sistem Quraşdırıcısı
+Comment[az_AZ]=Calamares — Sistem Quraşdırıcısı
+Comment[be]=Calamares — усталёўшчык сістэмы
+Comment[bg]=„Calamares“ – Системен инсталатор
+Comment[bn]=ক্যালামারেস - সিস্টেম ইনস্টলার
+Comment[ca]=Calamares — Instal·lador de sistema
+Comment[cs_CZ]=Calamares – instalátor operačních systémů
+Comment[da]=Calamares — Systeminstallationsprogram
+Comment[de]=Calamares - Installation des Betriebssystems
+Comment[el]=Calamares — Εγκατάσταση συστήματος
+Comment[en_GB]=Calamares — System Installer
+Comment[eo]=Calamares — Sistema Instalilo
+Comment[es]=Calamares — Instalador del sistema
+Comment[es_MX]=Calamares - Instalador del sistema
+Comment[et]=Calamares — süsteemipaigaldaja
+Comment[eu]=Calamares - sistema instalatzailea
+Comment[fa]=کالامارس — نصب‌کننده سامانه
+Comment[fi_FI]=Calamares — Järjestelmän asentaja
+Comment[fr]=Calamares - Installateur système
+Comment[fur]=Calamares — Program di instalazion dal sisteme
+Comment[gl]=Calamares — Instalador de sistemas
+Comment[he]=Calamares - אשף התקנה
+Comment[hi]=Calamares — सिस्टम इंस्टॉलर
+Comment[hr]=Calamares — Instalacija sustava
+Comment[hu]=Calamares – Rendszertelepítő
+Comment[id]=Calamares — Pemasang Sistem
+Comment[ie]=Calamares — Installator del sistema
+Comment[is]=Calamares — Kerfis uppsetning
+Comment[it_IT]=Calamares — Programma d'installazione del sistema
+Comment[ja]=Calamares — システムインストーラー
+Comment[ko]=깔라마레스 — 시스템 설치 관리자
+Comment[lt]=Calamares — Sistemos diegimo programa
+Comment[mk]=Calamares - Системен Инсталер
+Comment[ml]=കലാമാരേസ് - സിസ്റ്റം ഇൻസ്റ്റാളർ
+Comment[nb]=Calamares-systeminstallatør
+Comment[ne_NP]=Calamares - सिस्टम इन्स्टलर
+Comment[nl]=Calamares — Installatieprogramma
+Comment[pl]=Calamares — Instalator systemu
+Comment[pt_BR]=Calamares — Instalador de Sistema
+Comment[pt_PT]=Instalador de Sistema - Calamares
+Comment[ro]=Calamares — Instalator de sistem
+Comment[ru]=Calamares - Установщик системы
+Comment[si]=Calamares - පද්ධති ස්ථාපකය
+Comment[sk]=Calamares — Inštalátor systému
+Comment[sq]=Calamares — Instalues Sistemi
+Comment[sr]=Каламарес — инсталатер система
+Comment[sv]=Calamares — Systeminstallerare
+Comment[tg]=Calamares — Насбкунандаи низомӣ
+Comment[tr_TR]=Calamares — Sistem Yükleyici
+Comment[uk]=Calamares - Встановлювач системи
+Comment[vi]=Calamares — Bộ cài đặt hệ thống
+Comment[zh_CN]=Calamares — 系统安装程序
+Comment[zh_TW]=Calamares ── 系統安裝程式
+Exec=sh /usr/bin/calamares_polkit %f
+GenericName[en_US]=System Installer
+GenericName=System Installer
+GenericName[ar]=مثبت النظام
+GenericName[as]=চিছটেম ইনস্তলাৰ
+GenericName[ast]=Instalador del sistema
+GenericName[az]=Sistem Quraşdırıcısı
+GenericName[az_AZ]=Sistem quraşdırcısı
+GenericName[be]=Усталёўшчык сістэмы
+GenericName[bg]=Системен инсталатор
+GenericName[bn]=সিস্টেম ইনস্টলার
+GenericName[ca]=Instal·lador de sistema
+GenericName[cs_CZ]=Instalátor systému
+GenericName[da]=Systeminstallationsprogram
+GenericName[de]=Installation des Betriebssystems
+GenericName[el]=Εγκατάσταση συστήματος
+GenericName[en_GB]=System Installer
+GenericName[eo]=Sistema Instalilo
+GenericName[es]=Instalador del sistema
+GenericName[es_MX]=Instalador del sistema
+GenericName[et]=Süsteemipaigaldaja
+GenericName[eu]=Sistema instalatzailea
+GenericName[fa]=نصب‌کننده سامانه
+GenericName[fi_FI]=Järjestelmän asennusohjelma
+GenericName[fr]=Installateur système
+GenericName[fur]=Program di instalazion dal sisteme
+GenericName[gl]=Instalador de sistemas
+GenericName[he]=אשף התקנה
+GenericName[hi]=सिस्टम इंस्टॉलर
+GenericName[hr]=Instalacija sustava
+GenericName[hu]=Rendszertelepítő
+GenericName[id]=Pemasang
+GenericName[ie]=Installator del sistema
+GenericName[is]=Kerfis uppsetning
+GenericName[it_IT]=Programma d'installazione del sistema
+GenericName[ja]=システムインストーラー
+GenericName[ko]=시스템 설치 관리자
+GenericName[lt]=Sistemos diegimas į kompiuterį
+GenericName[mk]=Системен Инсталер
+GenericName[ml]=സിസ്റ്റം ഇൻസ്റ്റാളർ
+GenericName[nb]=Systeminstallatør
+GenericName[ne_NP]=सिस्टम इन्स्टलर
+GenericName[nl]=Installatieprogramma
+GenericName[pl]=Instalator systemu
+GenericName[pt_BR]=Instalador de Sistema
+GenericName[pt_PT]=Instalador de Sistema
+GenericName[ro]=Instalator de sistem
+GenericName[ru]=Установщик системы
+GenericName[si]=පද්ධති ස්ථාපකය
+GenericName[sk]=Inštalátor systému
+GenericName[sq]=Instalues Sistemi
+GenericName[sr]=Инсталатер система
+GenericName[sv]=Systeminstallerare
+GenericName[tg]=Насбкунандаи низомӣ
+GenericName[tr_TR]=Sistem Yükleyici
+GenericName[uk]=Встановлювач системи
+GenericName[vi]=Bộ cài đặt hệ thống
+GenericName[zh_CN]=系统安装程序
+GenericName[zh_TW]=系統安裝程式
+Icon=qvidcap
+Icon[ar]=كالامارس
+Icon[as]=কেলামাৰেচ
+Icon[ast]=calamares
+Icon[az]=calamares
+Icon[az_AZ]=calamares
+Icon[be]=calamares
+Icon[bg]=calamares
+Icon[bn]=ক্যালামারেস
+Icon[ca]=calamares
+Icon[cs_CZ]=calamares
+Icon[da]=calamares
+Icon[de]=calamares
+Icon[el]=calamares
+Icon[en_GB]=calamares
+Icon[eo]=calamares
+Icon[es]=calamares
+Icon[es_MX]=calamares
+Icon[et]=calamares
+Icon[eu]=calamares
+Icon[fa]=کالامارس
+Icon[fi_FI]=calamares
+Icon[fr]=calamares
+Icon[fur]=calamares
+Icon[gl]=calamares
+Icon[he]=calamares
+Icon[hi]=calamares
+Icon[hr]=calamares
+Icon[hu]=calamares
+Icon[id]=calamares
+Icon[ie]=calamares
+Icon[is]=calamares
+Icon[it_IT]=calamares
+Icon[ja]=calamares
+Icon[ko]=깔라마레스
+Icon[lt]=calamares
+Icon[mk]=calamares
+Icon[ml]=കലാമാരേസ്
+Icon[nb]=calamares
+Icon[ne_NP]=Calamares
+Icon[nl]=calamares
+Icon[pl]=calamares
+Icon[pt_BR]=calamares
+Icon[pt_PT]=calamares
+Icon[ro]=calamares
+Icon[ru]=calamares
+Icon[si]=කැලමරේස්
+Icon[sk]=calamares
+Icon[sq]=calamares
+Icon[sr]=calamares
+Icon[sv]=calamares
+Icon[tg]=calamares
+Icon[tr_TR]=calamares
+Icon[uk]=calamares
+Icon[vi]=calamares
+Icon[zh_CN]=calamares
+Icon[zh_TW]=calamares
+Keywords=calamares;system;installer;
+MimeType=
+Name[en_US]=Install LinHES
+Name=Install LinHES
+Name[ar]=تثبيت النظام
+Name[as]=চিছটেম ইনস্তল কৰক
+Name[ast]=Instalar el sistema
+Name[az]=Sistemi Quraşdırmaq
+Name[az_AZ]=Sistemi quraşdırmaq
+Name[be]=Усталяваць сістэму
+Name[bg]=Инсталирай системата
+Name[bn]=সিস্টেম ইনস্টল করুন
+Name[ca]=Instal·la el sistema
+Name[cs_CZ]=Nainstalovat systém
+Name[da]=Installér system
+Name[de]=System installieren
+Name[el]=Εγκατάσταση συστήματος
+Name[en_GB]=Install System
+Name[eo]=Instali Sistemo
+Name[es]=Instalar el sistema
+Name[es_MX]=Instalar el Sistema
+Name[es_PR]=Instalar el sistema
+Name[et]=Paigalda süsteem
+Name[eu]=Sistema instalatu
+Name[fa]=نصب سامانه
+Name[fi_FI]=Asenna järjestelmä
+Name[fr]=Installer le système
+Name[fur]=Instale il sisteme
+Name[gl]=Instalación do Sistema
+Name[he]=התקנת מערכת
+Name[hi]=सिस्टम इंस्टॉल करें
+Name[hr]=Instaliraj sustav
+Name[hu]=Rendszer telepítése
+Name[id]=Instal Sistem
+Name[ie]=Installar li sistema
+Name[is]=Setja upp kerfið
+Name[it_IT]=Installa il sistema
+Name[ja]=システムをインストール
+Name[ko]=시스템 설치
+Name[lt]=Įdiegti Sistemą
+Name[mk]=Инсталирај го системот
+Name[ml]=സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്യുക
+Name[nb]=Installer System
+Name[ne_NP]=सिस्टम इन्स्टल गर्नुहोस्
+Name[nl]=Installeer systeem
+Name[pl]=Zainstaluj system
+Name[pt_BR]=Sistema de Instalação
+Name[pt_PT]=Instalar Sistema
+Name[ro]=Instalează sistemul
+Name[ru]=Установить систему
+Name[si]=පද්ධතිය ස්ථාපනය කරන්න
+Name[sk]=Inštalovať systém
+Name[sl]=Namesti sistem
+Name[sq]=Instalo Sistemin
+Name[sr@latin]=Instaliraj sistem
+Name[sr]=Инсталирај систем
+Name[sv]=Installera system
+Name[tg]=Насбкунии низом
+Name[th]=ติดตั้งระบบ
+Name[tr_TR]=Sistemi Yükle
+Name[uk]=Встановити Систему
+Name[vi]=Cài đặt hệ thống
+Name[zh_CN]=安装系统
+Name[zh_TW]=安裝系統
+Path=
+StartupNotify=true
+Terminal=false
+TerminalOptions=
+TryExec=calamares
+Type=Application
+Version=1.0
+X-AppStream-Ignore=true
+X-DBUS-ServiceName=
+X-DBUS-StartupType=
+X-KDE-SubstituteUID=false
+X-KDE-Username=
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/dolphinrc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/dolphinrc
new file mode 100644
index 0000000..9682f1e
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/dolphinrc
@@ -0,0 +1,26 @@
+MenuBar=Disabled
+
+[CompactMode]
+FontWeight=50
+
+[DetailsMode]
+FontWeight=50
+PreviewSize=16
+
+[General]
+ShowFullPath=true
+Version=201
+ViewPropsTimestamp=2022,6,17,10,18,48.021
+
+[IconsMode]
+FontWeight=50
+
+[KFileDialog Settings]
+Places Icons Auto-resize=false
+Places Icons Static Size=22
+
+[MainWindow]
+ToolBarsMovable=Disabled
+
+[PreviewSettings]
+Plugins=appimagethumbnail,audiothumbnail,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,imagethumbnail,jpegthumbnail,kraorathumbnail,opendocumentthumbnail,svgthumbnail,windowsexethumbnail,windowsimagethumbnail,directorythumbnail,fontthumbnail
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/kscreenlockerrc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/kscreenlockerrc
new file mode 100644
index 0000000..c578cbc
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/kscreenlockerrc
@@ -0,0 +1,6 @@
+[$Version]
+update_info=kscreenlocker.upd:0.1-autolock
+
+[Daemon]
+Autolock=false
+LockOnResume=false
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc
new file mode 100644
index 0000000..eb81fe5
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc
@@ -0,0 +1,120 @@
+[ActionPlugins][0]
+RightButton;NoModifier=org.kde.contextmenu
+wheel:Vertical;NoModifier=org.kde.switchdesktop
+
+[ActionPlugins][1]
+RightButton;NoModifier=org.kde.contextmenu
+
+[Containments][1]
+ItemGeometries-800x600=
+ItemGeometriesHorizontal=
+activityId=03488176-3216-460f-af69-0f26f3069f9f
+formfactor=0
+immutability=1
+lastScreen=0
+location=0
+plugin=org.kde.plasma.folder
+wallpaperplugin=org.kde.image
+
+[Containments][1][Wallpaper][org.kde.image][General]
+Image=file:///usr/share/wallpapers/Next/contents/images/1024x768.jpg
+
+[Containments][2]
+activityId=
+formfactor=2
+immutability=1
+lastScreen=0
+location=4
+plugin=org.kde.panel
+wallpaperplugin=org.kde.image
+
+[Containments][2][Applets][14]
+immutability=1
+plugin=org.kde.plasma.digitalclock
+
+[Containments][2][Applets][15]
+immutability=1
+plugin=org.kde.plasma.showdesktop
+
+[Containments][2][Applets][3]
+immutability=1
+plugin=org.kde.plasma.kickoff
+
+[Containments][2][Applets][3][Configuration]
+PreloadWeight=100
+
+[Containments][2][Applets][3][Configuration][General]
+favoritesPortedToKAstats=true
+
+[Containments][2][Applets][3][Configuration][Shortcuts]
+global=Alt+F1
+
+[Containments][2][Applets][3][Shortcuts]
+global=Alt+F1
+
+[Containments][2][Applets][4]
+immutability=1
+plugin=org.kde.plasma.pager
+
+[Containments][2][Applets][5]
+immutability=1
+plugin=org.kde.plasma.icontasks
+
+[Containments][2][Applets][5][Configuration][General]
+launchers=applications:systemsettings.desktop,preferred://filemanager
+
+[Containments][2][Applets][6]
+immutability=1
+plugin=org.kde.plasma.marginsseparator
+
+[Containments][2][Applets][7]
+immutability=1
+plugin=org.kde.plasma.systemtray
+
+[Containments][2][Applets][7][Configuration]
+PreloadWeight=55
+SystrayContainmentId=8
+
+[Containments][2][General]
+AppletOrder=3;4;5;6;7;14;15
+
+[Containments][8]
+activityId=
+formfactor=2
+immutability=1
+lastScreen=0
+location=4
+plugin=org.kde.plasma.private.systemtray
+wallpaperplugin=org.kde.image
+
+[Containments][8][Applets][10]
+immutability=1
+plugin=org.kde.plasma.devicenotifier
+
+[Containments][8][Applets][11]
+immutability=1
+plugin=org.kde.plasma.keyboardlayout
+
+[Containments][8][Applets][12]
+immutability=1
+plugin=org.kde.plasma.manage-inputmethod
+
+[Containments][8][Applets][13]
+immutability=1
+plugin=org.kde.plasma.notifications
+
+[Containments][8][Applets][16]
+immutability=1
+plugin=org.kde.plasma.networkmanagement
+
+[Containments][8][Applets][9]
+immutability=1
+plugin=org.kde.plasma.clipboard
+
+[Containments][8][General]
+extraItems=org.kde.plasma.battery,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications
+knownItems=org.kde.plasma.battery,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications
+
+[ScreenMapping]
+itemsOnDisabledScreens=
+screenMapping=desktop:/calamares.desktop,0,03488176-3216-460f-af69-0f26f3069f9f
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.local/share/dolphin/dolphinstaterc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.local/share/dolphin/dolphinstaterc
new file mode 100644
index 0000000..f065a7c
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.local/share/dolphin/dolphinstaterc
@@ -0,0 +1,14 @@
+[SettingsDialog]
+Virtual1 Height 800x600=438
+Virtual1 Width 800x600=540
+
+[State]
+State=AAAA/wAAAAD9AAAAAwAAAAAAAAC7AAABa/wCAAAAAvsAAAAWAGYAbwBsAGQAZQByAHMARABvAGMAawAAAABMAAAA/wAAAAoBAAAD+wAAABQAcABsAGEAYwBlAHMARABvAGMAawEAAABMAAABawAAAF0BAAADAAAAAQAAALgAAAFk/AIAAAAB+wAAABAAaQBuAGYAbwBEAG8AYwBrAAAAAEwAAAFkAAAACgEAAAMAAAADAAAC+AAAAHD8AQAAAAH7AAAAGAB0AGUAcgBtAGkAbgBhAGwARABvAGMAawAAAAAAAAAC+AAAAAoBAAADAAABjAAAAWsAAAAEAAAABAAAAAgAAAAI/AAAAAEAAAACAAAAAQAAABYAbQBhAGkAbgBUAG8AbwBsAEIAYQByAQAAAAD/////AAAAAAAAAAA=
+Virtual1 Height 1280x800=412
+Virtual1 Height 800x600=439
+Virtual1 Width 1280x800=630
+Virtual1 Width 800x600=584
+Virtual1 XPosition 1280x800=381
+Virtual1 XPosition 800x600=34
+Virtual1 YPosition 1280x800=56
+Virtual1 YPosition 800x600=29
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sudoers b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sudoers
new file mode 100644
index 0000000..3507926
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sudoers
@@ -0,0 +1,96 @@
+## sudoers file.
+##
+## This file MUST be edited with the 'visudo' command as root.
+## Failure to use 'visudo' may result in syntax or file permission errors
+## that prevent sudo from running.
+##
+## See the sudoers man page for the details on how to write a sudoers file.
+##
+
+##
+## Host alias specification
+##
+## Groups of machines. These may include host names (optionally with wildcards),
+## IP addresses, network numbers or netgroups.
+# Host_Alias WEBSERVERS = www1, www2, www3
+
+##
+## User alias specification
+##
+## Groups of users. These may consist of user names, uids, Unix groups,
+## or netgroups.
+# User_Alias ADMINS = millert, dowdy, mikef
+
+##
+## Cmnd alias specification
+##
+## Groups of commands. Often used to group related commands together.
+# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
+# /usr/bin/pkill, /usr/bin/top
+# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
+
+##
+## Defaults specification
+##
+## You may wish to keep some of the following environment variables
+## when running commands via sudo.
+##
+## Locale settings
+# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
+##
+## Run X applications through sudo; HOME is used to find the
+## .Xauthority file. Note that other programs use HOME to find
+## configuration files and this may lead to privilege escalation!
+# Defaults env_keep += "HOME"
+##
+## X11 resource path settings
+# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
+##
+## Desktop path settings
+# Defaults env_keep += "QTDIR KDEDIR"
+##
+## Allow sudo-run commands to inherit the callers' ConsoleKit session
+# Defaults env_keep += "XDG_SESSION_COOKIE"
+##
+## Uncomment to enable special input methods. Care should be taken as
+## this may allow users to subvert the command being run via sudo.
+# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
+##
+## Uncomment to use a hard-coded PATH instead of the user's to find commands
+# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+##
+## Uncomment to send mail if the user does not enter the correct password.
+# Defaults mail_badpass
+##
+## Uncomment to enable logging of a command's output, except for
+## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
+# Defaults log_output
+# Defaults!/usr/bin/sudoreplay !log_output
+# Defaults!/usr/local/bin/sudoreplay !log_output
+# Defaults!REBOOT !log_output
+
+##
+## Runas alias specification
+##
+
+##
+## User privilege specification
+##
+root ALL=(ALL) ALL
+
+## Uncomment to allow members of group wheel to execute any command
+%wheel ALL=(ALL) ALL
+
+## Same thing without a password
+# %wheel ALL=(ALL) NOPASSWD: ALL
+
+## Uncomment to allow members of group sudo to execute any command
+# %sudo ALL=(ALL) ALL
+
+## Uncomment to allow any user to run sudo if they know the password
+## of the user they are running the command as (root by default).
+# Defaults targetpw # Ask for the password of the target user
+# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw'
+
+## Read drop-in files from /etc/sudoers.d
+@includedir /etc/sudoers.d
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/systemd/system/display-manager.service b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/systemd/system/display-manager.service
new file mode 120000
index 0000000..56f1df2
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/systemd/system/display-manager.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/sddm.service \ No newline at end of file
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/root/customize_airootfs.sh b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/root/customize_airootfs.sh
new file mode 100755
index 0000000..521f3d8
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/root/customize_airootfs.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+set -e -u
+
+mkdir /home/km/Desktop
+cp /usr/share/LinHES/calamares.desktop /home/km/Desktop
+chmod +x /home/km/Desktop/calamares.desktop
+chown km:users /home/km/Desktop
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/bin/calamares_polkit b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/bin/calamares_polkit
new file mode 100755
index 0000000..9bce0f8
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/bin/calamares_polkit
@@ -0,0 +1,6 @@
+#!/bin/bash
+if [ $(which pkexec) ]; then
+ pkexec --disable-internal-agent "/usr/bin/calamares" "$@"
+else
+ /usr/bin/calamares "$@"
+fi
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/share/LinHES/calamares.desktop b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/share/LinHES/calamares.desktop
new file mode 100755
index 0000000..5d3405c
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/share/LinHES/calamares.desktop
@@ -0,0 +1,252 @@
+[Desktop Entry]
+Categories=Qt;System;
+Comment[en_US]=Calamares — System Installer
+Comment=Calamares — System Installer
+Comment[ar]=كالامارس - مثبت النظام
+Comment[as]=কেলামাৰেচ — চিছটেম​ ইনস্তলাৰ
+Comment[ast]=Calamares — Instalador del sistema
+Comment[az]=Calamares Sistem Quraşdırıcısı
+Comment[az_AZ]=Calamares — Sistem Quraşdırıcısı
+Comment[be]=Calamares — усталёўшчык сістэмы
+Comment[bg]=„Calamares“ – Системен инсталатор
+Comment[bn]=ক্যালামারেস - সিস্টেম ইনস্টলার
+Comment[ca]=Calamares — Instal·lador de sistema
+Comment[cs_CZ]=Calamares – instalátor operačních systémů
+Comment[da]=Calamares — Systeminstallationsprogram
+Comment[de]=Calamares - Installation des Betriebssystems
+Comment[el]=Calamares — Εγκατάσταση συστήματος
+Comment[en_GB]=Calamares — System Installer
+Comment[eo]=Calamares — Sistema Instalilo
+Comment[es]=Calamares — Instalador del sistema
+Comment[es_MX]=Calamares - Instalador del sistema
+Comment[et]=Calamares — süsteemipaigaldaja
+Comment[eu]=Calamares - sistema instalatzailea
+Comment[fa]=کالامارس — نصب‌کننده سامانه
+Comment[fi_FI]=Calamares — Järjestelmän asentaja
+Comment[fr]=Calamares - Installateur système
+Comment[fur]=Calamares — Program di instalazion dal sisteme
+Comment[gl]=Calamares — Instalador de sistemas
+Comment[he]=Calamares - אשף התקנה
+Comment[hi]=Calamares — सिस्टम इंस्टॉलर
+Comment[hr]=Calamares — Instalacija sustava
+Comment[hu]=Calamares – Rendszertelepítő
+Comment[id]=Calamares — Pemasang Sistem
+Comment[ie]=Calamares — Installator del sistema
+Comment[is]=Calamares — Kerfis uppsetning
+Comment[it_IT]=Calamares — Programma d'installazione del sistema
+Comment[ja]=Calamares — システムインストーラー
+Comment[ko]=깔라마레스 — 시스템 설치 관리자
+Comment[lt]=Calamares — Sistemos diegimo programa
+Comment[mk]=Calamares - Системен Инсталер
+Comment[ml]=കലാമാരേസ് - സിസ്റ്റം ഇൻസ്റ്റാളർ
+Comment[nb]=Calamares-systeminstallatør
+Comment[ne_NP]=Calamares - सिस्टम इन्स्टलर
+Comment[nl]=Calamares — Installatieprogramma
+Comment[pl]=Calamares — Instalator systemu
+Comment[pt_BR]=Calamares — Instalador de Sistema
+Comment[pt_PT]=Instalador de Sistema - Calamares
+Comment[ro]=Calamares — Instalator de sistem
+Comment[ru]=Calamares - Установщик системы
+Comment[si]=Calamares - පද්ධති ස්ථාපකය
+Comment[sk]=Calamares — Inštalátor systému
+Comment[sq]=Calamares — Instalues Sistemi
+Comment[sr]=Каламарес — инсталатер система
+Comment[sv]=Calamares — Systeminstallerare
+Comment[tg]=Calamares — Насбкунандаи низомӣ
+Comment[tr_TR]=Calamares — Sistem Yükleyici
+Comment[uk]=Calamares - Встановлювач системи
+Comment[vi]=Calamares — Bộ cài đặt hệ thống
+Comment[zh_CN]=Calamares — 系统安装程序
+Comment[zh_TW]=Calamares ── 系統安裝程式
+Exec=sh /usr/bin/calamares_polkit %f
+GenericName[en_US]=System Installer
+GenericName=System Installer
+GenericName[ar]=مثبت النظام
+GenericName[as]=চিছটেম ইনস্তলাৰ
+GenericName[ast]=Instalador del sistema
+GenericName[az]=Sistem Quraşdırıcısı
+GenericName[az_AZ]=Sistem quraşdırcısı
+GenericName[be]=Усталёўшчык сістэмы
+GenericName[bg]=Системен инсталатор
+GenericName[bn]=সিস্টেম ইনস্টলার
+GenericName[ca]=Instal·lador de sistema
+GenericName[cs_CZ]=Instalátor systému
+GenericName[da]=Systeminstallationsprogram
+GenericName[de]=Installation des Betriebssystems
+GenericName[el]=Εγκατάσταση συστήματος
+GenericName[en_GB]=System Installer
+GenericName[eo]=Sistema Instalilo
+GenericName[es]=Instalador del sistema
+GenericName[es_MX]=Instalador del sistema
+GenericName[et]=Süsteemipaigaldaja
+GenericName[eu]=Sistema instalatzailea
+GenericName[fa]=نصب‌کننده سامانه
+GenericName[fi_FI]=Järjestelmän asennusohjelma
+GenericName[fr]=Installateur système
+GenericName[fur]=Program di instalazion dal sisteme
+GenericName[gl]=Instalador de sistemas
+GenericName[he]=אשף התקנה
+GenericName[hi]=सिस्टम इंस्टॉलर
+GenericName[hr]=Instalacija sustava
+GenericName[hu]=Rendszertelepítő
+GenericName[id]=Pemasang
+GenericName[ie]=Installator del sistema
+GenericName[is]=Kerfis uppsetning
+GenericName[it_IT]=Programma d'installazione del sistema
+GenericName[ja]=システムインストーラー
+GenericName[ko]=시스템 설치 관리자
+GenericName[lt]=Sistemos diegimas į kompiuterį
+GenericName[mk]=Системен Инсталер
+GenericName[ml]=സിസ്റ്റം ഇൻസ്റ്റാളർ
+GenericName[nb]=Systeminstallatør
+GenericName[ne_NP]=सिस्टम इन्स्टलर
+GenericName[nl]=Installatieprogramma
+GenericName[pl]=Instalator systemu
+GenericName[pt_BR]=Instalador de Sistema
+GenericName[pt_PT]=Instalador de Sistema
+GenericName[ro]=Instalator de sistem
+GenericName[ru]=Установщик системы
+GenericName[si]=පද්ධති ස්ථාපකය
+GenericName[sk]=Inštalátor systému
+GenericName[sq]=Instalues Sistemi
+GenericName[sr]=Инсталатер система
+GenericName[sv]=Systeminstallerare
+GenericName[tg]=Насбкунандаи низомӣ
+GenericName[tr_TR]=Sistem Yükleyici
+GenericName[uk]=Встановлювач системи
+GenericName[vi]=Bộ cài đặt hệ thống
+GenericName[zh_CN]=系统安装程序
+GenericName[zh_TW]=系統安裝程式
+Icon=qvidcap
+Icon[ar]=كالامارس
+Icon[as]=কেলামাৰেচ
+Icon[ast]=calamares
+Icon[az]=calamares
+Icon[az_AZ]=calamares
+Icon[be]=calamares
+Icon[bg]=calamares
+Icon[bn]=ক্যালামারেস
+Icon[ca]=calamares
+Icon[cs_CZ]=calamares
+Icon[da]=calamares
+Icon[de]=calamares
+Icon[el]=calamares
+Icon[en_GB]=calamares
+Icon[eo]=calamares
+Icon[es]=calamares
+Icon[es_MX]=calamares
+Icon[et]=calamares
+Icon[eu]=calamares
+Icon[fa]=کالامارس
+Icon[fi_FI]=calamares
+Icon[fr]=calamares
+Icon[fur]=calamares
+Icon[gl]=calamares
+Icon[he]=calamares
+Icon[hi]=calamares
+Icon[hr]=calamares
+Icon[hu]=calamares
+Icon[id]=calamares
+Icon[ie]=calamares
+Icon[is]=calamares
+Icon[it_IT]=calamares
+Icon[ja]=calamares
+Icon[ko]=깔라마레스
+Icon[lt]=calamares
+Icon[mk]=calamares
+Icon[ml]=കലാമാരേസ്
+Icon[nb]=calamares
+Icon[ne_NP]=Calamares
+Icon[nl]=calamares
+Icon[pl]=calamares
+Icon[pt_BR]=calamares
+Icon[pt_PT]=calamares
+Icon[ro]=calamares
+Icon[ru]=calamares
+Icon[si]=කැලමරේස්
+Icon[sk]=calamares
+Icon[sq]=calamares
+Icon[sr]=calamares
+Icon[sv]=calamares
+Icon[tg]=calamares
+Icon[tr_TR]=calamares
+Icon[uk]=calamares
+Icon[vi]=calamares
+Icon[zh_CN]=calamares
+Icon[zh_TW]=calamares
+Keywords=calamares;system;installer;
+MimeType=
+Name[en_US]=Install LinHES
+Name=Install LinHES
+Name[ar]=تثبيت النظام
+Name[as]=চিছটেম ইনস্তল কৰক
+Name[ast]=Instalar el sistema
+Name[az]=Sistemi Quraşdırmaq
+Name[az_AZ]=Sistemi quraşdırmaq
+Name[be]=Усталяваць сістэму
+Name[bg]=Инсталирай системата
+Name[bn]=সিস্টেম ইনস্টল করুন
+Name[ca]=Instal·la el sistema
+Name[cs_CZ]=Nainstalovat systém
+Name[da]=Installér system
+Name[de]=System installieren
+Name[el]=Εγκατάσταση συστήματος
+Name[en_GB]=Install System
+Name[eo]=Instali Sistemo
+Name[es]=Instalar el sistema
+Name[es_MX]=Instalar el Sistema
+Name[es_PR]=Instalar el sistema
+Name[et]=Paigalda süsteem
+Name[eu]=Sistema instalatu
+Name[fa]=نصب سامانه
+Name[fi_FI]=Asenna järjestelmä
+Name[fr]=Installer le système
+Name[fur]=Instale il sisteme
+Name[gl]=Instalación do Sistema
+Name[he]=התקנת מערכת
+Name[hi]=सिस्टम इंस्टॉल करें
+Name[hr]=Instaliraj sustav
+Name[hu]=Rendszer telepítése
+Name[id]=Instal Sistem
+Name[ie]=Installar li sistema
+Name[is]=Setja upp kerfið
+Name[it_IT]=Installa il sistema
+Name[ja]=システムをインストール
+Name[ko]=시스템 설치
+Name[lt]=Įdiegti Sistemą
+Name[mk]=Инсталирај го системот
+Name[ml]=സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്യുക
+Name[nb]=Installer System
+Name[ne_NP]=सिस्टम इन्स्टल गर्नुहोस्
+Name[nl]=Installeer systeem
+Name[pl]=Zainstaluj system
+Name[pt_BR]=Sistema de Instalação
+Name[pt_PT]=Instalar Sistema
+Name[ro]=Instalează sistemul
+Name[ru]=Установить систему
+Name[si]=පද්ධතිය ස්ථාපනය කරන්න
+Name[sk]=Inštalovať systém
+Name[sl]=Namesti sistem
+Name[sq]=Instalo Sistemin
+Name[sr@latin]=Instaliraj sistem
+Name[sr]=Инсталирај систем
+Name[sv]=Installera system
+Name[tg]=Насбкунии низом
+Name[th]=ติดตั้งระบบ
+Name[tr_TR]=Sistemi Yükle
+Name[uk]=Встановити Систему
+Name[vi]=Cài đặt hệ thống
+Name[zh_CN]=安装系统
+Name[zh_TW]=安裝系統
+Path=
+StartupNotify=true
+Terminal=false
+TerminalOptions=
+TryExec=calamares
+Type=Application
+Version=1.0
+X-AppStream-Ignore=true
+X-DBUS-ServiceName=
+X-DBUS-StartupType=
+X-KDE-SubstituteUID=false
+X-KDE-Username=
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/01-archiso-x86_64-linux.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/01-archiso-x86_64-linux.conf
new file mode 100644
index 0000000..6d50cc8
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/01-archiso-x86_64-linux.conf
@@ -0,0 +1,7 @@
+title LinHES (x86_64, UEFI)
+sort-key 01
+linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+initrd /%INSTALL_DIR%/boot/intel-ucode.img
+initrd /%INSTALL_DIR%/boot/amd-ucode.img
+initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=4G copytoram=no
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf
new file mode 100644
index 0000000..a021e66
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf
@@ -0,0 +1,7 @@
+title LinHES (x86_64, UEFI) with speech
+sort-key 02
+linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+initrd /%INSTALL_DIR%/boot/intel-ucode.img
+initrd /%INSTALL_DIR%/boot/amd-ucode.img
+initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on cow_spacesize=4G copytoram=no
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/loader.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/loader.conf
new file mode 100644
index 0000000..ae63487
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/loader.conf
@@ -0,0 +1,2 @@
+timeout 15
+default 01-archiso-x86_64-linux.conf
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg
new file mode 100644
index 0000000..0a0b11c
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg
@@ -0,0 +1,46 @@
+insmod part_gpt
+insmod part_msdos
+insmod fat
+insmod iso9660
+
+insmod all_video
+
+insmod font
+
+if loadfont "${prefix}/fonts/unicode.pf2" ; then
+ insmod gfxterm
+ set gfxmode="auto"
+ terminal_input console
+ terminal_output gfxterm
+fi
+
+# GRUB init tune for accessibility
+#
+# Morse translation table:
+# "." is "500 1 300 1"
+# "-" is "600 3 300 1"
+# " " is "100 2"
+# "/" is "100 5"
+#
+# Message: "s for blind"
+play 500 500 1 300 1 500 1 300 1 500 1 300 1 100 5 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 600 3 300 1 500 1 300 1 100 5 600 3 300 1 500 1 300 1 500 1 300 1 500 1 300 1 100 2 500 1 300 1 600 3 300 1 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 100 2 600 3 300 1 500 1 300 1 100 2 600 3 300 1 500 1 300 1 500 1 300 1
+
+menuentry "LinHES install medium (x86_64, UEFI)" {
+ set gfxpayload=keep
+ search --no-floppy --set=root --label %ARCHISO_LABEL%
+ linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
+ initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+}
+
+menuentry "LinHES install medium with speakup screen reader (x86_64, UEFI)" --hotkey=s {
+ set gfxpayload=keep
+ search --no-floppy --set=root --label %ARCHISO_LABEL%
+ linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on
+ initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+}
+
+menuentry "UEFI Shell" {
+ insmod chain
+ search --no-floppy --set=root --label %ARCHISO_LABEL%
+ chainloader /shellia32.efi
+}
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/packages.x86_64 b/linhes/linhes-dev/LinHES9_iso/cust_skel/packages.x86_64
new file mode 100644
index 0000000..a2a9b4a
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/packages.x86_64
@@ -0,0 +1,160 @@
+alsa-utils
+amd-ucode
+arch-install-scripts
+#archinstall
+b43-fwcutter
+base
+bind
+brltty
+broadcom-wl
+btrfs-progs
+#clonezilla
+#cloud-init
+cryptsetup
+#darkhttpd
+#ddrescue
+dhclient
+dhcpcd
+diffutils
+dmidecode
+dmraid
+dnsmasq
+dosfstools
+e2fsprogs
+edk2-shell
+efibootmgr
+#espeakup
+ethtool
+exfatprogs
+f2fs-tools
+fatresize
+#fsarchiver
+gnu-netcat
+gpart
+gpm
+gptfdisk
+grml-zsh-config
+grub
+hdparm
+hyperv
+intel-ucode
+#ipw2100-fw
+#ipw2200-fw
+#irssi
+iw
+iwd
+#jfsutils
+kitty-terminfo
+less
+lftp
+libfido2
+libusb-compat
+linux
+#linux-atm
+linux-firmware
+linux-firmware-marvell
+#livecd-sounds
+lsscsi
+lvm2
+lynx
+man-db
+man-pages
+#mc
+mdadm
+memtest86+
+mkinitcpio
+mkinitcpio-archiso
+mkinitcpio-nfs-utils
+#modemmanager
+mtools
+nano
+nbd
+ndisc6
+nfs-utils
+#nilfs-utils
+#nmap
+ntfs-3g
+nvme-cli
+#open-iscsi
+open-vm-tools
+openconnect
+openssh
+openvpn
+partclone
+parted
+partimage
+pcsclite
+ppp
+pptpclient
+pv
+qemu-guest-agent
+refind
+reflector
+reiserfsprogs
+rp-pppoe
+rsync
+rxvt-unicode-terminfo
+screen
+sdparm
+sg3_utils
+smartmontools
+sof-firmware
+squashfs-tools
+sudo
+syslinux
+systemd-resolvconf
+#tcpdump
+terminus-font
+testdisk
+tmux
+tpm2-tss
+udftools
+usb_modeswitch
+usbmuxd
+usbutils
+vim
+virtualbox-guest-utils-nox
+vpnc
+wireless-regdb
+wireless_tools
+wpa_supplicant
+wvdial
+xfsprogs
+xl2tpd
+zsh
+######################
+# LinHES 9 additions #
+######################
+bash-completion
+calamares
+linhes-system
+networkmanager
+network-manager-applet
+os-prober
+pipewire
+pipewire-alsa
+pipewire-pulse
+wireplumber
+xdg-user-dirs
+xf86-video-fbdev
+xf86-video-vesa
+xf86-video-vmware
+xorg-server
+####################
+# XFCE #
+####################
+#lightdm
+#lightdm-gtk-greeter
+#xfce4
+#xfce4-goodies
+####################
+# Plasma #
+####################
+dolphin
+konsole
+kscreen
+plasma-desktop
+plasma-nm
+plasma-pa
+sddm
+systemsettings
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/pacman.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/pacman.conf
new file mode 100644
index 0000000..89af0f2
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/pacman.conf
@@ -0,0 +1,106 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+#GPGDir = /etc/pacman.d/gnupg/
+#HookDir = /etc/pacman.d/hooks/
+HoldPkg = pacman glibc
+#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options
+#UseSyslog
+#Color
+#NoProgressBar
+# We cannot check disk space from within a chroot environment
+#CheckSpace
+#VerbosePkgLists
+ParallelDownloads = 5
+
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
+SigLevel = Required DatabaseOptional
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+#[linhes]
+[linhes-testing]
+SigLevel = Optional TrustAll
+Server = http://linhes.org/repo/$arch/$repo/
+
+#[testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+Include = /etc/pacman.d/mirrorlist
+
+# If you want to run 32 bit applications on your x86_64 system,
+# enable the multilib repositories as required here.
+
+#[multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/profiledef.sh b/linhes/linhes-dev/LinHES9_iso/cust_skel/profiledef.sh
new file mode 100644
index 0000000..4d0ec24
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/profiledef.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+# shellcheck disable=SC2034
+
+iso_name="LinHES"
+iso_label="LinHES_$(date +%Y%m)"
+iso_publisher="LinHES <https://linhes.org>"
+iso_application="LinHES Live/Installation CD"
+iso_version="R9_$(date +%Y.%m.%d)"
+install_dir="arch"
+buildmodes=('iso')
+bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
+ 'uefi-ia32.grub.esp' 'uefi-x64.systemd-boot.esp'
+ 'uefi-ia32.grub.eltorito' 'uefi-x64.systemd-boot.eltorito')
+arch="x86_64"
+pacman_conf="pacman.conf"
+airootfs_image_type="squashfs"
+airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M')
+file_permissions=(
+ ["/etc/shadow"]="0:0:400"
+ ["/root"]="0:0:750"
+ ["/root/.automated_script.sh"]="0:0:755"
+ ["/usr/local/bin/choose-mirror"]="0:0:755"
+ ["/usr/local/bin/Installation_guide"]="0:0:755"
+ ["/usr/local/bin/livecd-sound"]="0:0:755"
+)
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_head.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_head.cfg
new file mode 100644
index 0000000..d505018
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_head.cfg
@@ -0,0 +1,28 @@
+SERIAL 0 115200
+UI vesamenu.c32
+MENU TITLE LinHES: The Linux Home Entertainment System
+MENU BACKGROUND splash.png
+
+MENU WIDTH 78
+MENU MARGIN 4
+MENU ROWS 7
+MENU VSHIFT 10
+MENU TABMSGROW 14
+MENU CMDLINEROW 14
+MENU HELPMSGROW 16
+MENU HELPMSGENDROW 29
+
+# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
+
+MENU COLOR border 30;44 #40ffffff #a0000000 std
+MENU COLOR title 1;36;44 #9033ccff #a0000000 std
+MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
+MENU COLOR unsel 37;44 #50ffffff #a0000000 std
+MENU COLOR help 37;40 #c0ffffff #a0000000 std
+MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
+MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
+MENU COLOR msg07 37;40 #90ffffff #a0000000 std
+MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
+
+MENU CLEAR
+MENU IMMEDIATE
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe-linux.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe-linux.cfg
new file mode 100644
index 0000000..61d116c
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe-linux.cfg
@@ -0,0 +1,32 @@
+LABEL arch64_nbd
+TEXT HELP
+Boot LinHES using NBD.
+It allows you to install Ezarcher Linux or perform system maintenance.
+ENDTEXT
+MENU LABEL LinHES (x86_64, NBD)
+LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify cow_spacesize=4G copytoram=no
+SYSAPPEND 3
+
+LABEL arch64_nfs
+TEXT HELP
+Boot LinHES using NFS.
+It allows you to install LinHES or perform system maintenance.
+ENDTEXT
+MENU LABEL LinHES (x86_64, NFS)
+LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify cow_spacesize=4G
+SYSAPPEND 3
+
+LABEL arch64_http
+TEXT HELP
+Boot LinHES using HTTP.
+It allows you to install LinHES or perform system maintenance.
+ENDTEXT
+MENU LABEL LinHES (x86_64, HTTP)
+LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify cow_spacesize=4G copytoram=no
+SYSAPPEND 3
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg
new file mode 100644
index 0000000..b4c9a80
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg
@@ -0,0 +1,5 @@
+INCLUDE archiso_head.cfg
+
+INCLUDE archiso_pxe-linux.cfg
+
+INCLUDE archiso_tail.cfg
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys-linux.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys-linux.cfg
new file mode 100644
index 0000000..e0887f2
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys-linux.cfg
@@ -0,0 +1,20 @@
+LABEL arch64
+TEXT HELP
+Boot LinHES install medium on BIOS.
+It allows you to install LinHES or perform system maintenance.
+ENDTEXT
+MENU LABEL LinHES (x86_64, BIOS)
+LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=4G copytoram=no
+
+# Accessibility boot option
+LABEL arch64speech
+TEXT HELP
+Boot LinHES install medium on BIOS with speakup screen reader.
+It allows you to install LinHES or perform system maintenance with speech feedback.
+ENDTEXT
+MENU LABEL LinHES (x86_64, BIOS) with ^speech
+LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on cow_spacesize=4G copytoram=no
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg
new file mode 100644
index 0000000..d93bcfe
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg
@@ -0,0 +1,8 @@
+INCLUDE archiso_head.cfg
+
+DEFAULT arch64
+TIMEOUT 150
+
+INCLUDE archiso_sys-linux.cfg
+
+INCLUDE archiso_tail.cfg
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_tail.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_tail.cfg
new file mode 100644
index 0000000..e5339a2
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_tail.cfg
@@ -0,0 +1,35 @@
+LABEL existing
+TEXT HELP
+Boot an existing operating system.
+Press TAB to edit the disk and partition number to boot.
+ENDTEXT
+MENU LABEL Boot existing OS
+COM32 chain.c32
+APPEND hd0 0
+
+# http://www.memtest.org/
+LABEL memtest
+MENU LABEL Run Memtest86+ (RAM test)
+LINUX /%INSTALL_DIR%/boot/memtest
+
+# http://hdt-project.org/
+LABEL hdt
+MENU LABEL Hardware Information (HDT)
+COM32 hdt.c32
+APPEND modules_alias=hdt/modalias.gz pciids=hdt/pciids.gz
+
+LABEL reboot
+TEXT HELP
+Reboot computer.
+The computer's firmware must support APM.
+ENDTEXT
+MENU LABEL Reboot
+COM32 reboot.c32
+
+LABEL poweroff
+TEXT HELP
+Power off computer.
+The computer's firmware must support APM.
+ENDTEXT
+MENU LABEL Power Off
+COM32 poweroff.c32
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/splash.png b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/splash.png
new file mode 100644
index 0000000..f8cc839
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/splash.png
Binary files differ
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/syslinux.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/syslinux.cfg
new file mode 100644
index 0000000..cbda72f
--- /dev/null
+++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/syslinux.cfg
@@ -0,0 +1,11 @@
+DEFAULT select
+
+LABEL select
+COM32 whichsys.c32
+APPEND -pxe- pxe -sys- sys -iso- sys
+
+LABEL pxe
+CONFIG archiso_pxe.cfg
+
+LABEL sys
+CONFIG archiso_sys.cfg
diff --git a/linhes/linhes-dev/PKGBUILD b/linhes/linhes-dev/PKGBUILD
new file mode 100644
index 0000000..3466fdf
--- /dev/null
+++ b/linhes/linhes-dev/PKGBUILD
@@ -0,0 +1,21 @@
+pkgname=linhes-dev
+pkgver=9.0.0
+pkgrel=16
+pkgdesc="Scripts to develop LinHES"
+arch=('x86_64')
+license=('GPL2')
+depends=('clean-chroot-manager' 'git' 'pacman-contrib' 'package-query' 'pigz'
+ 'python-gitpython' 'rclone' 'yaah')
+url="http://linhes.org/"
+source=('lh_sync.sh' 'chk_aur_pkg.py' 'mp.py' 'lh_setup_dev.sh' 'lh_update_db_repo.sh')
+sha256sums=('3a64b4125b56c6f95cc9dc85ce58ebd1c0612b22fb27c3e76d4d9a5570f2d61e'
+ 'a097438b19725fb1b02c7b2587e06450ab4c757cf60b25b5f0256ff0c38146ee'
+ '025776558632dc60da5a97cc66a4fb52b31882eff7aeaf5476a8e40107e39a87'
+ '0b9d0bb16700a06f201bfc701ba94ec65045bac50c77a389dbbdf7543def5896'
+ '86c9ebe77228f7e3cc07cb05f480e5584e0e3cad1b889b63a50821f7323bf449')
+
+package() {
+ cd ${srcdir}
+ install -d ${pkgdir}/usr/bin
+ install -D -m755 * ${pkgdir}/usr/bin/
+}
diff --git a/linhes/linhes-dev/chk_aur_pkg.py b/linhes/linhes-dev/chk_aur_pkg.py
new file mode 100755
index 0000000..0594e74
--- /dev/null
+++ b/linhes/linhes-dev/chk_aur_pkg.py
@@ -0,0 +1,80 @@
+#!/usr/bin/python
+#Checks the aur version and compares it to the /data/dev/linhes_pkgbuild/linhes directory.
+
+
+import os,sys
+import shutil
+import urllib.request, urllib.error, urllib.parse
+import re
+import subprocess
+import glob
+
+def getArchVer():
+ try:
+ archVer = subprocess.check_output(["package-query", "-A", "-i", "-f %v", "--nocolor", currDirName])
+ archVer = archVer.strip().decode('utf-8')
+ return archVer
+ except:
+ return "None"
+
+def getLHVer():
+ pkgfile = currDir + "/PKGBUILD"
+ if not os.path.isfile(pkgfile):
+ print(currDirName + " version in LH PKGBUILD is: Unknown")
+ print(" Can't find",pkgfile)
+ #sys.exit(2)
+ else:
+ LHVer=""
+ variables=["pkgbase", "pkgname", "pkgver", "pkgrel", "epoch"]
+ # Loop over contents to get our variables
+ # Use bash to do it because PKGBUILDs are very loose with their format
+ for item in variables:
+ v = subprocess.Popen(['/bin/bash','-c', 'source ' +
+ pkgfile +
+ '; echo ${' + item + '[@]}'],
+ stdout = subprocess.PIPE,)
+ value = v.communicate()[0].strip(b'\n')
+ value = value.decode('utf-8')
+ if item == "pkgbase":
+ pkgbase = value
+ elif item == "pkgname":
+ pkgname = value
+ pkglist = list(value.split())
+ elif item == "epoch":
+ if value:
+ epoch = "%s:" %value
+ LHVer=epoch
+ elif item == "pkgver":
+ pkgver = value
+ elif item == "pkgrel":
+ pkgrel = value
+ LHVer=LHVer + pkgver + "-" + pkgrel
+ return LHVer
+# print(currDirName + " version in LH PKGBUILD is: " + LHVer)
+
+def main():
+ global currDirName
+ global currDir
+
+ LHdir="/data/dev/linhes_pkgbuild/linhes/*"
+
+ for currDir in glob.glob(LHdir):
+ if os.path.isdir(currDir):
+ currDirName = os.path.basename(currDir)
+ if currDirName == "mythtv":
+ continue
+ archVer = getArchVer()
+ if archVer == "None":
+ continue
+ #print("Searching for " + currDirName + " on archlinux.org...")
+ #print("AUR:",archVer)
+ LHVer = getLHVer()
+ #print("LH:",LHVer)
+ archNewer = subprocess.run(['/bin/vercmp', archVer , LHVer], capture_output=True, text=True)
+ if archNewer.stdout == "1\n":
+ print(currDirName,"needs update: [AUR]:",archVer,"[LH]:",LHVer)
+
+if __name__ == "__main__":
+ print("--------------------------")
+ main()
+ print("--------------------------")
diff --git a/linhes/linhes-dev/lh_setup_dev.sh b/linhes/linhes-dev/lh_setup_dev.sh
new file mode 100755
index 0000000..f0cc94c
--- /dev/null
+++ b/linhes/linhes-dev/lh_setup_dev.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+echo "Creating repo directories..."
+sudo mkdir -p /data/dev/
+sudo chmod a+w /data/dev/
+mkdir -p /data/dev/LH_buildroot
+mkdir -p /data/dev/pkg_repo/x86_64/linhes
+mkdir -p /data/dev/pkg_repo/x86_64/linhes-testing
+mkdir -p /data/dev/pkg_repo/packages
+mkdir -p /data/dev/pkg_repo/sources
+mkdir -p /data/dev/pkg_repo/src_packages/linhes
+mkdir -p /data/dev/pkg_repo/src_packages/linhes-testing
+
+echo -e "\n\nChanging setting in /etc/makepkg.conf..."
+#sudo sed -i 's/#PKGDEST=.*/PKGDEST=\/data\/dev\/pkg_repo\/packages/' /etc/makepkg.conf
+sudo sed -i 's/#SRCDEST=.*/SRCDEST=\/data\/dev\/pkg_repo\/sources/' /etc/makepkg.conf
+sudo sed -i 's/#SRCPKGDEST=.*/SRCPKGDEST=\/data\/dev\/pkg_repo\/src_packages/' /etc/makepkg.conf
+sudo sed -i 's/#PACKAGER=.*/PACKAGER=\"LinHESDev <LinHESDev\@linhes.org>\"/' /etc/makepkg.conf
+sudo sed -i 's/^COMPRESSGZ=.*/COMPRESSGZ=(pigz -c -f -n)/' /etc/makepkg.conf
+sudo sed -i 's/^COMPRESSXZ=.*/COMPRESSXZ=(xz -c -z --threads=0 -)/' /etc/makepkg.conf
+sudo sed -i 's/^COMPRESSZST=.*/COMPRESSZST=(zstd -c -z -q --threads=0 -)/' /etc/makepkg.conf
+
+echo -e "\n\nSetup clean-chroot-manager (ccm) and edit ~/.config/clean-chroot-manager.conf"...
+sudo ccm l
+sed -i 's/CHROOTPATH64=.*/CHROOTPATH64=\"\/data\/dev\/LH_buildroot\"/' ~/.config/clean-chroot-manager.conf
+sed -i 's/#CUSTOM_PACMAN_CONF=.*/CUSTOM_PACMAN_CONF=\"\/usr\/share\/linhes\/templates\/pacman.conf.template\"/' ~/.config/clean-chroot-manager.conf
+sed -i 's/#CUSTOM_MAKEPKG_CONF=.*/CUSTOM_MAKEPKG_CONF=\"\/etc\/makepkg.conf\"/' ~/.config/clean-chroot-manager.conf
+sudo ccm c
+
+echo -e "\n\nAdd aliases to .bashrc..."
+if ! grep -q 'alias ccm=' ~/.bashrc; then
+ echo -e "\nalias ccm='sudo ccm'" >> ~/.bashrc
+fi
+if ! grep -q 'alias cddev=' ~/.bashrc; then
+ echo -e "alias cddev='cd /data/dev/'" >> ~/.bashrc
+fi
+if ! grep -q 'alias cdl=' ~/.bashrc; then
+ echo -e "alias cdl='cd /data/dev/linhes_pkgbuild/linhes'" >> ~/.bashrc
+fi
+if ! grep -q 'alias cdb=' ~/.bashrc; then
+ echo -e "alias cdb='cd /data/dev/linhes_pkgbuild/linhes/linhes-dev/LinHES9_iso'" >> ~/.bashrc
+fi
+
+if ! grep -q 'ssh-agent >' ~/.bashrc; then
+cat >> ~/.bashrc<<END
+if ! pgrep -u "\$USER" ssh-agent > /dev/null; then
+ ssh-agent > "\$XDG_RUNTIME_DIR/ssh-agent.env"
+fi
+if [[ ! -f "\$SSH_AUTH_SOCK" ]]; then
+ source "\$XDG_RUNTIME_DIR/ssh-agent.env" >/dev/null
+fi
+ssh-add -q
+END
+fi
+
+echo -e "\n\nAdd rclone.conf..."
+if [ ! -f ~/.config/rclone/rclone.conf ]; then
+ mkdir -p ~/.config/rclone && touch ~/.config/rclone/rclone.conf
+fi
+if ! grep -q 'host = linhes.org' ~/.config/rclone/rclone.conf; then
+cat >> ~/.config/rclone/rclone.conf<<END
+[ssh]
+type = sftp
+host = linhes.org
+user = reposync
+key_file = ssh-agent
+pubkey_file = ~/.ssh/id_rsa.pub
+END
+fi
+
+# clone the git linhes_pkgbuild
+# Checkout the repo. You will need to have been given a dev account on
+# linhes.org. This involves creating a public ssh key and supplying it to
+# one of the linhes.org admins. The key is created using ssh-keygen. The
+# resulting public key will be stored in .ssh/id_rsa.pub.
+echo -e "\n\nCheckout the repo manually. You will need to be given a dev account on linhes.org. This involves creating a public ssh key and supplying it toone of the linhes.org admins. The key is created using ssh-keygen. The resulting public key will be stored in .ssh/id_rsa.pub."
+echo -e "EXAMPLE: \ncd /data/dev\ngit clone git@linhes.org:linhes_pkgbuild\ngit checkout testing\n\n"
diff --git a/linhes/linhes-dev/lh_sync.sh b/linhes/linhes-dev/lh_sync.sh
new file mode 100755
index 0000000..053aaba
--- /dev/null
+++ b/linhes/linhes-dev/lh_sync.sh
@@ -0,0 +1,126 @@
+#!/bin/bash
+
+#This script will create and synchronize a local package mirror with the repository
+#(as defined below) on linhes.org, and will also update the database.
+#This script uses a shared account on linhes.org.
+#DO NOT change the account name and don't ask for the password,
+#instead setup ssh keys and run ssh-agent.
+
+if [ -e /etc/makepkg.conf ]
+then
+ . /etc/makepkg.conf
+else
+ echo "Couldn't find /etc/makepkg.conf"
+fi
+
+LOCAL_DIR=/data/dev
+REMOTE_DIR=/srv/www/repo
+PKGROOT=$LOCAL_DIR/pkg_repo/$CARCH
+
+function sync_dirs {
+ REMOTE=$1
+ LOCAL=$2
+ echo "--------------------------------------------------------"
+ echo " Syncing $3 packages with linhes.org"
+ echo "--------------------------------------------------------"
+ echo "Remote: $REMOTE"
+ echo "Local: $LOCAL"
+ case $4 in
+ resync)
+ rclone bisync :sftp,host=linhes.org,user=reposync:$REMOTE $LOCAL --verbose --resync --copy-links
+ ;;
+ force)
+ rclone bisync :sftp,host=linhes.org,user=reposync:$REMOTE $LOCAL --verbose --force --copy-links
+ ;;
+ *)
+ rclone bisync :sftp,host=linhes.org,user=reposync:$REMOTE $LOCAL --verbose --copy-links
+ ;;
+ esac
+
+ if [ ! $? = 0 ]
+ then
+ echo "############################################"
+ echo "## ERRORS OCCURED ##"
+ echo "############################################"
+ exit 1
+ fi
+
+ #update the local database
+ if [ "$4" == "update_db" ]
+ then
+ echo "--------"
+ echo "Updating the whole package db..."
+ echo "--------"
+ lh_update_db_repo.sh $LOCAL $3
+
+ echo "--------"
+ echo "Pushing the package db to linhes.org"
+ echo "--------"
+ rclone bisync :sftp,host=linhes.org,user=reposync:$REMOTE $LOCAL --verbose --copy-links
+ fi
+
+ echo "--------------------------------------------------------"
+ echo " Finished syncing $3 packages"
+ echo "--------------------------------------------------------"
+}
+
+function source_sync () {
+ echo "--------------------------------------------------------"
+ echo " Syncing $1 sources"
+ echo "--------------------------------------------------------"
+ REMOTE_SRC=$REMOTE_DIR/src_packages/$1/
+ LOCAL_SRC=$LOCAL_DIR/pkg_repo/src_packages/$1/
+ echo "Remote: $REMOTE_SRC"
+ echo "Remote: $LOCAL_SRC"
+ case $2 in
+ resync)
+ rclone bisync :sftp,host=linhes.org,user=reposync:$REMOTE_SRC $LOCAL_SRC --verbose --resync --copy-links
+ ;;
+ force)
+ rclone bisync :sftp,host=linhes.org,user=reposync:$REMOTE_SRC $LOCAL_SRC --verbose --force --copy-links
+ ;;
+ *)
+ rclone bisync :sftp,host=linhes.org,user=reposync:$REMOTE_SRC $LOCAL_SRC --verbose --copy-links
+ ;;
+ esac
+ echo "--------------------------------------------------------"
+ echo " Finished syncing $3 sources"
+ echo "--------------------------------------------------------"
+}
+
+function pacman_sync () {
+ echo "running 'pacman -Sy' to sync repos"
+ sudo pacman -Sy
+}
+
+#---------------------------------------------------------------
+case $1 in
+ testing)
+ sync_dirs $REMOTE_DIR/$CARCH/linhes-testing/ $PKGROOT/linhes-testing/ linhes-testing $2
+ source_sync linhes-testing $2
+ pacman_sync
+ ;;
+ release)
+ sync_dirs $REMOTE_DIR/$CARCH/linhes/ $PKGROOT/linhes/ linhes $2
+ source_sync linhes $2
+ pacman_sync
+ ;;
+ source)
+ if [ x = x$2 ]
+ then
+ echo "Missing source repository [testing|release]"
+ exit 1
+ fi
+ source_sync $1 $2
+ pacman_sync
+ ;;
+ *)
+ echo "Invalid Options"
+ echo "lh_sync.sh (testing|release|source[testing|release]) (update_db|resync|force)"
+ echo
+ echo "force: force rclone to sync when too many deletes are detected"
+ echo "resync: overwrites the local package and source repos with ones from linhes.org"
+ echo "update_db: recreate the db files in the repo and syncs to linhes.org"
+ echo "EXAMPLE: lh_sync.sh testing update_db <= will sync the testing repo with linhes.org update the local database and resync with linhes.org"
+ ;;
+esac
diff --git a/linhes/linhes-dev/lh_update_db_repo.sh b/linhes/linhes-dev/lh_update_db_repo.sh
new file mode 100755
index 0000000..3316e38
--- /dev/null
+++ b/linhes/linhes-dev/lh_update_db_repo.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+# tiny util to regenreate the database on the LOCAL machine
+
+if [ $# -ne 2 ]
+then
+ echo "incorrect number of args"
+ echo "lh_update_db_repo.sh directory repo"
+ echo "EX: update_db_repo.sh /data/dev/pkg_repo/x86_64/linhes-testing linhes-testing"
+ exit 1
+fi
+
+
+cd $1
+REPO=$2
+echo " --------------------------"
+echo "updating database for $REPO"
+echo " --------------------------"
+#pwd
+ #forcefully remove the old db to start clean
+ rm -f $REPO.db.tar.gz
+ repo-add -q $REPO.db.tar.gz *.pkg.tar.*
+cd -
diff --git a/linhes/linhes-dev/mp.py b/linhes/linhes-dev/mp.py
new file mode 100755
index 0000000..4124b79
--- /dev/null
+++ b/linhes/linhes-dev/mp.py
@@ -0,0 +1,581 @@
+#!/usr/bin/env python
+# Version 3.0.4
+import os
+import stat
+import sys
+import re
+import subprocess
+import gettext
+from git import Repo,Git
+import configparser
+import glob
+import shutil
+import optparse
+import fileinput
+import time
+
+PKGHOME = "/data/dev/pkg_repo/packages"
+SRCHOME = "/data/dev/pkg_repo/sources"
+SRCPKGHOME = "/data/dev/pkg_repo/src_packages"
+
+# See what git branch we're working under
+git_repo = Git()
+branches = git_repo.branch()
+git_branch = branches.split('*')[1].lstrip(' ')
+
+if git_branch == "testing":
+ SFIX = "-testing"
+elif git_branch == "master":
+ SFIX = ""
+else:
+ print("Can't determine which git branch is in use!")
+ sys.exit(2)
+#print("Git Branch suffix is:",SFIX)
+
+
+def commandline(makepkg_cmd):
+ #print makepkg_cmd
+ cli_dict = {}
+ cli_list = []
+
+ clparser = optparse.OptionParser()
+ clparser.add_option("-b", "--bump", action="store_true", default=False, help="Increase package release one unit.")
+ clparser.add_option("--pkglist", action="store", help="List of packages to compile")
+ clparser.add_option("--config", action="store", help="Use an alternate config file instead of the /etc/makepkg.conf default.")
+ clparser.add_option("--rmold", action="store_true", default=False, help="BETA: Remove old src and software packages from repos. Use with caution. False positives may occur (i.e. nvidia pkgs)!")
+
+ (options, args) = clparser.parse_args()
+
+ options1 = ['config', 'pkglist']
+ options2 = ['bump', 'rmold']
+
+ for o in options1:
+ cmd1 = eval('options.'+o)
+ if o != 'p':
+ if cmd1 is not None:
+ cli_dict['--'+o] = cmd1
+ elif cmd1 is not None:
+ cli_dict['-'+o] = cmd1
+ for o in options2:
+ cmd2 = eval('options.'+o)
+ if cmd2 is True:
+ cli_list.append('--'+o)
+
+ # Create makepkg command
+ makepkg_cmd.extend(cli_list)
+ for k in list(cli_dict.keys()):
+ v = cli_dict.get(k)
+ makepkg_cmd.append(k)
+ makepkg_cmd.append(v)
+
+ # Remove bump option from makepkg command if it exists
+ if "--bump" in makepkg_cmd:
+ makepkg_cmd.remove("--bump")
+ # Remove rmold option from makepkg command if it exists
+ if "--rmold" in makepkg_cmd:
+ makepkg_cmd.remove("--rmold")
+
+ #print("Makepkg Command:",makepkg_cmd)
+ return makepkg_cmd, cli_list, cli_dict
+
+
+
+class Packagefile(object):
+ def __init__(self,cli_dict,cli_list,makepkg_cmd):
+ self.failure=0
+ self.attempt=0
+ self.REPO = "none"
+ self.DOCROOT = ""
+ self.pkgfile = "none"
+ self.pkgbase = ""
+ self.pkgname = ""
+ self.pkgver = ""
+ self.pkgrel = ""
+ self.pkglist=[]
+ self.epoch = ""
+ self.arch = ""
+ self.CARCH = ""
+ self.PKGDEST = ""
+ self.SRCDEST = ""
+ self.SRCPKGDEST = ""
+ self.TOTALPKG = ""
+ self.GZPKG = ""
+ self.XZPKG = ""
+ self.ZSTPKG = ""
+ self.repolist=["core", "extra", "linhes",
+ "chroot-devel", "mv-core", "xmpl", "local"]
+ self.mydir = os.getcwd()
+ self.variables = ['pkgbase','pkgname','pkgver','pkgrel','arch','epoch','depends','makedepends','makedepends_x86_64','checkdepends']
+ self.pkgrel_incremented = False
+ self.makepkg_cmd = makepkg_cmd
+ self.cli_list = cli_list
+ self.cli_dict = cli_dict
+ self.pkg_dependencies = []
+ self.makepkg_dependencies = []
+ self.check_dependencies = []
+ self.backupdir="/tmp/backup/"
+ self.compile_status = "Pending"
+ self.backup_pkgdir = ""
+ self.pkg_dep_available = []
+ self.pkg_dep_not_in_repo = []
+ if "-p" in cli_dict:
+ self.pkgfile = cli_dict["-p"]
+ else:
+ self.pkgfile = "PKGBUILD"
+
+ self.updateINIT()
+
+
+ def set_srcpkg(self):
+ if self.pkgbase:
+ self.SRCPKG = self.pkgbase + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + ".src.tar.gz"
+ else:
+ self.SRCPKG = self.pkglist[0] + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + ".src.tar.gz"
+
+
+ def updateINIT(self):
+ # Check what file will be used for our PKGBUILD
+
+ # Does the file exist?
+ if not os.path.isfile(self.pkgfile):
+ print("ERROR in function config_file: Can't find ",self.pkgfile,"!")
+ sys.exit(2)
+ else:
+ # Loop over contents to get our variables
+ # Use bash to do it because PKGBUILDs are very loose with their format
+ for item in self.variables:
+ v = subprocess.Popen(['/bin/bash','-c', 'source ' +
+ self.pkgfile +
+ '; echo ${' + item + '[@]}'],
+ stdout = subprocess.PIPE,)
+ value = v.communicate()[0].strip(b'\n')
+ value = value.decode('utf-8')
+ if item == "pkgbase":
+ self.pkgbase = value
+ elif item == "pkgname":
+ self.pkgname = value
+ self.pkglist = list(value.split())
+ elif item == "pkgver":
+ self.pkgver = value
+ elif item == "pkgrel":
+ self.pkgrel = value
+ elif item == "epoch":
+ if value == "0":
+ value = ""
+ if value:
+ self.epoch = "%s:" %value
+ elif item == "arch":
+ self.arch = value
+ elif item == "depends":
+ self.pkg_dependencies = value.split()
+ elif item == "makedepends":
+ self.makepkg_dependencies = self.makepkg_dependencies + value.split()
+ elif item == "makedepends_x86_64":
+ self.makepkg_dependencies = self.makepkg_dependencies + value.split()
+ elif item == "checkdepends":
+ self.check_dependencies = value.split()
+
+ self.set_srcpkg()
+ # Get needed makepkg.conf variables
+ mpkg="/etc/makepkg.conf"
+ f=open(mpkg,"r")
+ # Read file contents into memory
+ makepkg_contents=f.readlines()
+ f.close()
+
+ self.PKGDEST = PKGHOME
+ self.SRCDEST = SRCHOME
+ self.SRCPKGDEST = SRCPKGHOME
+ # Loop over contents to get our variables
+ for mp_lines in makepkg_contents:
+ if mp_lines.strip().startswith("CARCH"):
+ self.CARCH = mp_lines.partition("=")[2].strip('\n').replace('\"','')
+ if self.arch != 'any':
+ self.arch = self.CARCH
+ if mp_lines.strip().startswith("PKGDEST"):
+ self.PKGDEST = mp_lines.partition("=")[2].strip('\n')
+
+
+
+ def print_vars(self):
+ print("####################################################")
+ print("")
+ print(" Config File:",self.pkgfile)
+ print(" pkgbase:",self.pkgbase)
+ print(" pkgname:",self.pkgname)
+ print(" pkglist:",self.pkglist)
+ print(" epoch:" ,self.epoch)
+ print(" pkgver:",self.pkgver)
+ print(" pkgrel:",self.pkgrel)
+ print(" arch:",self.arch)
+ print(" Source package:",self.SRCPKG)
+ print(" CARCH is:",self.CARCH)
+ print(" Architecture is:",self.arch)
+ print(" Repository : ", self.REPO)
+ print(" DOCROOT : ", self.DOCROOT)
+ print(" Current directory: ", self.mydir)
+ #print(" Backup directory: ", self.get_backupdir())
+ print(" Package destination:",self.PKGDEST)
+ print(" Source destination:",self.SRCDEST)
+ print(" Dependencies: ", self.pkg_dependencies)
+ print(" Make Dependencies: ", self.makepkg_dependencies)
+ print(" Package compile status: ", self.get_compile_status())
+ print("")
+ print("####################################################")
+
+ def getname(self):
+ return self.pkgname
+
+ def getfailure(self):
+ return self.failure
+
+ def getattempts(self):
+ return self.attempt
+
+ def getdir(self):
+ return self.mydir
+
+ def get_unmet_compile(self):
+ return self.pkg_dep_not_in_repo
+
+ def get_unmet_install(self):
+ return self.pkg_dep_available
+
+ def incrementcompile(self):
+ self.attempt = self.attempt + 1
+
+ def get_backupdir(self):
+ return self.backup_pkgdir
+
+ def get_compile_status(self):
+ return self.compile_status
+
+ def find_repo(self):
+ # Create a list with the directory names of our current directory tree
+ dir_tree = os.path.dirname(self.mydir).split("/")
+ # Loop through the dir_tree to see if we can find our repo
+ for item in self.repolist:
+ if item not in dir_tree:
+ continue
+ else:
+ repo_name = item
+ if repo_name == "extra":
+ self.REPO = "extra" + SFIX
+ elif repo_name == "core":
+ self.REPO = "core" + SFIX
+ elif repo_name == "linhes":
+ self.REPO = "linhes" + SFIX
+ elif repo_name == "xmpl":
+ self.REPO = "local"
+ elif repo_name not in repolist:
+ print("ERROR in function find_repo: Cannot determine repository!")
+ sys.exit(2)
+ else:
+ self.REPO = repo_name
+ # Ensure our DOCROOT exists and if not, create it
+ self.DOCROOT = "/data/dev/pkg_repo/" + self.CARCH + "/" + self.REPO
+ #print("DOCROOT:",self.DOCROOT)
+ if os.path.exists(self.DOCROOT):
+ print("")
+ #print("INFO: Repository is",self.REPO)
+ else:
+ try:
+ os.mkdir(self.DOCROOT,0o755)
+ print("INFO: ",self.DOCROOT,"directory created. Repository is",self.REPO)
+ except Exception as e:
+ print("ERROR: Creating DOCROOT failed: ", e)
+ pass
+
+ def increase_pkgrel(self):
+ if not "--bump" in self.cli_list:
+ return
+ print("- Incrementing pkgrel for %s" %self.pkgname)
+ # Backup the original pkgfile
+ shutil.copy2(self.pkgfile, self.pkgfile + ".old")
+ # Let's increase the pkgrel
+ for line in fileinput.input(self.pkgfile, inplace=1):
+ if line.strip().startswith("pkgrel"):
+ self.pkgrel = line.partition("=")[2].strip('\n')
+ # Add 1 to pkgrel
+ new_pkgrel = int(self.pkgrel) + 1
+ line = line.replace("pkgrel=" + self.pkgrel, "pkgrel=" + str(new_pkgrel))
+ self.pkgrel = str(new_pkgrel)
+ sys.stdout.write(line)
+ print(" pkgrel:",self.pkgrel)
+ self.set_srcpkg()
+ self.pkgrel_incremented = True
+
+ def runPreFlight(self):
+ if os.path.isfile("mp_preflight"):
+ print("- Running PreFlight...")
+ os.chmod("mp_preflight", 0o755)
+ retcode = subprocess.call(["./mp_preflight"])
+ if retcode != 0:
+ print(" ERROR: PreFlight Error")
+ print("")
+
+ def updateSUMS(self):
+ print("- Updating checksums...")
+ retcode = subprocess.call(["updpkgsums"])
+ if retcode != 0:
+ self.compile_status = "Failed: %s" %retcode
+ self.failure = self.failure + 1
+
+ def make_package(self):
+ #creates both binary and source package
+ print(" Removing old packages...")
+ for oldpkgs in self.pkglist:
+ pkglinks = glob.glob(oldpkgs + "*.pkg.tar.*")
+ print(" Old Packages:",pkglinks)
+ if pkglinks:
+ for DELPKG in pkglinks:
+ os.remove(DELPKG)
+
+ print("- Making package...")
+ retcode = subprocess.call(["sudo", "ccm", "s"])
+ if retcode != 0:
+ self.compile_status = "Failed: %s" %retcode
+ self.failure = self.failure + 1
+ print(" ERROR: ccm failed with return code ",retcode)
+ if self.pkgrel_incremented:
+ if os.path.isfile(self.pkgfile + '.old'):
+ shutil.move(self.pkgfile + '.old', self.pkgfile)
+ print(" Reverted pkgrel increment.")
+ return False
+ else:
+ print("-------------Making source package-------------")
+ retcode = subprocess.call(["makepkg", "--force", "--holdver", "--source"])
+ if retcode != 0:
+ self.compile_status = "Failed source: %s" %retcode
+ self.failure = self.failure + 1
+ print("ERROR: Source package creation failed with return code",retcode)
+ sys.exit(2)
+ print("=============FINISHED CREATING PKG=============")
+ self.compile_status = "Success"
+ return True
+
+ def update_database(self):
+ print("- Copying files and updating database")
+ # pkgname could be a list of several pkgs. Since bash array format is
+ # loose, let bash parse the pkgname(s) first, then return a list for us.
+ self.updateINIT()
+ #if self.arch == 'any':
+ # self.CARCH = 'any'
+
+ for i in self.pkglist:
+ print(" Package name:",i)
+
+ self.GZPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.arch + ".pkg.tar.gz"
+ self.XZPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.arch + ".pkg.tar.xz"
+ self.ZSTPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.arch + ".pkg.tar.zst"
+ #print(self.GZPKG)
+ #print(self.XZPKG)
+ #print(self.ZSTPKG)
+
+ if os.path.isfile(self.ZSTPKG):
+ self.TOTALPKG = self.ZSTPKG
+ elif os.path.isfile(self.XZPKG):
+ self.TOTALPKG = self.XZPKG
+ elif os.path.isfile(self.GZPKG):
+ self.TOTALPKG = self.GZPKG
+ else:
+ print("")
+ print(" ERROR in function update_database: Couldn't find the new package:",self.TOTALPKG)
+ sys.exit(2)
+
+ # Remove old package(s) from local copy
+ print(" Looking for old packages")
+
+ oldfilelist = glob.glob(self.DOCROOT + "/" + i + "-*-*-*.pkg.tar.*")
+ print(" Old Packages:",oldfilelist)
+ if oldfilelist:
+ for DELPKG in oldfilelist:
+ if "--rmold" in self.cli_list:
+ print(" Deleting old package:",DELPKG)
+ os.remove(DELPKG)
+
+ # Copy in new package
+ print(" Copying " + self.TOTALPKG + " to " + self.PKGDEST)
+ if shutil.copy2(self.TOTALPKG, self.PKGDEST):
+ os.remove(self.mydir + "/" + self.TOTALPKG)
+ print(" Copying " + self.TOTALPKG + " to " + self.DOCROOT)
+ shutil.copy2(self.PKGDEST + "/" + self.TOTALPKG, self.DOCROOT)
+ print(" Creating symlink to " + self.PKGDEST + "/" + self.TOTALPKG)
+ if os.path.islink(self.mydir + "/" + self.TOTALPKG):
+ os.remove(self.mydir + "/" + self.TOTALPKG)
+ os.symlink(self.DOCROOT + "/" + self.TOTALPKG, self.mydir + "/" + self.TOTALPKG)
+ print(" Adding package to repo")
+ subprocess.call(["repo-add", self.DOCROOT+ "/" + self.REPO + ".db.tar.gz", self.DOCROOT + "/" + self.TOTALPKG])
+
+ def update_srcrepo(self):
+ print("- Updating source file repository")
+ print(" SRCPKG:",self.SRCPKG)
+ OLDSRCPKG=""
+
+ if not os.path.isfile(self.SRCPKGDEST + "/" +self.SRCPKG):
+ print("ERROR in function update_srcrepo: Couldn't find the new package",self.SRCPKG)
+ sys.exit(2)
+
+ i = self.pkglist[0]
+
+ print(" Looking for old sources")
+ oldfilelist = glob.glob(self.SRCPKGDEST + "/" + self.REPO + "/" + i + "-*-*.src.tar.gz")
+ print(" Old Sources:",oldfilelist)
+ if oldfilelist:
+ for DELPKG in oldfilelist:
+ if "--rmold" in self.cli_list:
+ print(" Deleting old source:",DELPKG)
+ os.remove(DELPKG)
+
+ print(" Copying " + self.SRCPKG + " to " + self.SRCPKGDEST + "/" + self.REPO)
+ if shutil.copy2(self.SRCPKGDEST + "/" + self.SRCPKG, self.SRCPKGDEST + "/" + self.REPO + "/"):
+ os.remove(self.SRCPKGDEST + "/" + self.SRCPKG)
+
+
+ def cleanup(self):
+ os.chdir(self.mydir)
+ if os.path.isfile(self.pkgfile + '.old'):
+ os.remove(self.pkgfile + '.old')
+ print("Removed temporary backup file",self.pkgfile + '.old')
+ #remove src.tar.gz so it stops cluttering up git
+ if os.path.islink(self.SRCPKG):
+ os.unlink(self.SRCPKG)
+ #remove src dir if empty
+ if os.path.exists(self.mydir + "/src") and not os.path.isfile(self.mydir + "/src"):
+ if not os.listdir(self.mydir + "/src"):
+ os.rmdir(self.mydir + "/src")
+ # Remove any old -build and -package log files
+ os.chdir(self.mydir)
+ build_log = self.pkgname + "-" + self.pkgver + "-" + self.pkgrel + "-" + self.arch + "-build.log"
+ pkg_log = self.pkgname + "-" + self.pkgver + "-" + self.pkgrel + "-" + self.arch + "-package.log"
+ all_logs = glob.glob("*.log*")
+ #print "All Logs:",all_logs
+ saved_logs = []
+ #save the logrotate files
+ saved_logs = glob.glob("*.logrotate*")
+ #if os.path.isfile(build_log):
+ # saved_logs.append(build_log)
+ #if os.path.isfile(pkg_log):
+ # saved_logs.append(pkg_log)
+ #print ("Saved Logs:",saved_logs)
+ for log in all_logs:
+ if log not in saved_logs:
+ os.remove(log)
+ pass
+
+
+ def check_for_changelog(self, pkgdir):
+ filename = "%s/__changelog" %pkgdir
+ return os.path.exists(filename)
+
+def formatTD(time):
+ # convert seconds to day, hour, minutes and seconds
+ days = int(time // (24 * 3600))
+ time = time % (24 * 3600)
+ hours = int(time // 3600)
+ time %= 3600
+ minutes = int(time // 60)
+ time %= 60
+ seconds = int(time)
+
+ if days == 0:
+ day_string = ""
+ elif days > 1:
+ day_string = "%s days, " %days
+ else:
+ day_string = "%s day, " %days
+
+ if hours == 0:
+ hour_string = ""
+ elif hours > 1:
+ hour_string = "%s hours, " %hours
+ else:
+ hour_string = "%s hour, " %hours
+
+ if minutes == 0:
+ minute_string = ""
+ elif minutes > 1:
+ minute_string = "%s minutes, " %minutes
+ else:
+ minute_string = "%s minute, " %minutes
+
+ if seconds > 1:
+ second_string = "%s seconds" %seconds
+ else:
+ second_string = "%s second" %seconds
+
+ return_string = '%s%s%s%s' % (day_string, hour_string, minute_string, second_string)
+ return return_string
+
+def main():
+ pkg_not_found=[]
+ pkg_objdict={}
+ pkg_list=[]
+
+ global makepkg_cmd
+ global cli_list
+ global cli_dict
+
+ makepkg_cmd = ['makepkg']
+ makepkg_cmd, cli_list, cli_dict = commandline(makepkg_cmd)
+
+ try:
+ pkg_list = cli_dict['--pkglist'].split(',')
+ except:
+ packagefile = None
+ packagefile = Packagefile(cli_dict,cli_list,makepkg_cmd)
+ pkg_objdict[packagefile.getname()]=packagefile
+ pkg_list=[packagefile.getname()]
+
+
+ packagefile.find_repo()
+ packagefile.increase_pkgrel()
+ packagefile.runPreFlight()
+ packagefile.print_vars()
+ packagefile.updateSUMS()
+ if packagefile.make_package():
+ packagefile.update_database()
+ packagefile.update_srcrepo()
+ packagefile.cleanup()
+ pkg_objdict[packagefile.getname()]=packagefile
+
+ update_pkg = []
+ success_pkg = []
+ failed_compile = []
+ failed_update = []
+
+ #create lists
+ for k, v in pkg_objdict.items():
+ #print k
+ #print v.print_vars()
+ if v.get_compile_status().strip() == "Success":
+ success_pkg.append(k)
+ else:
+ temp = "%s --- %s (%s)" %(k,v.get_compile_status(),v.getattempts())
+ failed_compile.append(temp)
+
+ print("\n\n\n\n")
+ print("#######################################################")
+
+ print("\n")
+ print("Couldn't find these packages:")
+ print("---------------------------------")
+ print(pkg_not_found)
+
+ print("\n")
+ print("Failed to compile these packages:")
+ print("---------------------------------")
+ print(failed_compile)
+
+ print("\n")
+ print("Successful compiled :")
+ print("---------------------------------")
+ print(success_pkg)
+ print("\n")
+
+if __name__ == "__main__":
+ start = time.time()
+ main()
+ end = time.time()
+ print("Build Time:",formatTD(end - start))
+ print("#######################################################")
diff --git a/linhes/linhes-system/10-monitor.conf b/linhes/linhes-system/10-monitor.conf
new file mode 100644
index 0000000..a92ff49
--- /dev/null
+++ b/linhes/linhes-system/10-monitor.conf
@@ -0,0 +1,10 @@
+Section "Extensions"
+ Option "DPMS" "True"
+EndSection
+
+Section "ServerFlags"
+ Option "StandbyTime" "0"
+ Option "SuspendTime" "0"
+ Option "OffTime" "0"
+ Option "BlankTime" "0"
+EndSection
diff --git a/linhes/linhes-system/79-cronie.hook b/linhes/linhes-system/79-cronie.hook
new file mode 100644
index 0000000..59ca25e
--- /dev/null
+++ b/linhes/linhes-system/79-cronie.hook
@@ -0,0 +1,9 @@
+[Trigger]
+Operation = Install
+Type = Package
+Target = linhes-system
+
+[Action]
+Description = Enable and start cronie...
+When = PostTransaction
+Exec = /usr/bin/systemctl enable --now cronie.service
diff --git a/linhes/linhes-system/81-wol.rules b/linhes/linhes-system/81-wol.rules
new file mode 100644
index 0000000..f4d0116
--- /dev/null
+++ b/linhes/linhes-system/81-wol.rules
@@ -0,0 +1 @@
+ACTION=="add", SUBSYSTEM=="net", NAME=="enp*", RUN+="/usr/bin/ethtool -s $name wol g"
diff --git a/linhes/linhes-system/LinHES-release b/linhes/linhes-system/LinHES-release
new file mode 100644
index 0000000..e6aa8f2
--- /dev/null
+++ b/linhes/linhes-system/LinHES-release
@@ -0,0 +1 @@
+LinHES R9.0.0 (Been a minute...)
diff --git a/linhes/linhes-system/PKGBUILD b/linhes/linhes-system/PKGBUILD
new file mode 100755
index 0000000..c87bfb6
--- /dev/null
+++ b/linhes/linhes-system/PKGBUILD
@@ -0,0 +1,161 @@
+pkgname=linhes-system
+pkgver=9.0.0
+pkgrel=77
+arch=('x86_64')
+#install=$pkgname.install
+pkgdesc="Everything that makes LinHES a system"
+license=('GPL2')
+depends=('cronie' 'dbus-python' 'dvb-firmware' 'expect' 'flatpak' 'firefox' 'glances' 'inetutils'
+ 'kdialog' 'libnotify'
+ 'logrotate' 'linhes-templates' 'linhes-theme' 'mlocate' 'ncdu' 'python-dateutil' 'python-pytz'
+ 'python-tzlocal' 'openssh' 'pacman-contrib' 'rsyslog' 'ttf-overlock' 'wget' 'x11vnc'
+ 'intel-media-driver' 'libva-intel-driver' 'libva-vdpau-driver' 'pigz')
+binfiles="add_storage.py balance_storage_groups.py empty_storage_groups.py remove_storage.py
+ checkXFSfrag.sh enableIRWake.sh idle.py lh_system_start.sh lh_notify-send
+ lh_home_check.sh lh_myth_status.py lh_system_backup lh_system_backup_job
+ jobqueue_helper.py gen_lib_xml.py lh_setup_fileshare.py lh_restart_needed.sh
+ diskspace.sh find_orphans.py optimize_mythdb.py lh_mtc.py lh_apply_UI_settings.sh
+ misc_recent_recordings.pl misc_status_config.py misc_status_info.sh
+ misc_upcoming_recordings.pl misc_which_recorder.pl plexmediascanner.sh
+ create_media_dirs.sh be_check.py
+ myth2mkv myth2mp3 myth2videos udev_link.sh"
+source=($binfiles
+ 'lh_mtc.cron' 'paccache.cron' 'flatpak_update.cron' 'xfs_defrag.cron'
+ 'readme_is_xml' 'add_storage.readme' 'LinHES-release' 'lh_log_care.cron'
+ '79-cronie.hook' 'fstrim.hook' 'openssh.hook' 'plex_lib.conf' 'rsyslog.hook'
+ '10-monitor.conf' '81-wol.rules' 'x11vnc.override.conf' 'lh_lighttpd.conf' 'lh_php.ini'
+ 'system-sudo.rules' 'linhes-profile.sh' 'lh_sqlserver.cnf' 'lh_restart_needed.hook'
+ 'lh_system_start.sh.desktop' 'rc6_mce.toml' 'recordings.cron' 'rsyslog.mythtv.conf')
+sha256sums=('e6eaa2fb4819fa60cb05b4d2e7328d2914af3a73028a735ec4d56e7ece33ecc0'
+ '1115809a2d80c1ead7cfc5df05e1d6427255912a8303594574b3be23d3d3e4f1'
+ '97fe9e851c782fa9f85c5b69b110ccff2817dd4fa2a6d9ff6ee225dc558677e4'
+ 'ff261f41efec8a9963f9f59100cbe75f015028a2ed3a863ce0cb473f2ebb7b76'
+ '8b54c31b8efde3917f603c5307bebb0a2a00239ad9a983c2f5d8120003256449'
+ 'ae34515e144830f424d3bd3f6b1b446892d62beed20bca6f0fb19b0bbb779f27'
+ '5e6d128f879b0fe7c1a190cccd75d4e5d00afc161f3bc9e92ffa2d87242cc9df'
+ '3db3620b3430d1e8031596efa9eb50dea7f4c1b837c37929c3743c1eb65ac666'
+ '6d4fb0ed1a5ed961b3a3884dce093118e50c2981a9cd5837d20abc5a6d4fd8aa'
+ '87875d9e5f5ce18208f419698ce69b6bcbcd08955a57a4a13940e715af58b787'
+ '93d664f4a46fda05d0f754d19df40cbda120e325b80c07092345b14763993833'
+ 'a523388ffdc6f30f2dd2ef4803b21bded8a35bfded499dc66b786adec71840a3'
+ '6ea7f807a29631e33629da14e7ca6481310f0416c5d6f8fb415a76fa90fb9b76'
+ '91bdec992bb2c933e15625c181f2195c402060b879168ebf35944cb064c904b9'
+ '5cacfdd02833e5a3130d765573e772e6bd5030336ba86239c5e4db5ffa36fc69'
+ 'd51253c207d3315997d7122cb774c6d0fc38975c33e66bf416f0b1b95cf86e5b'
+ '52eef974c7e530d60799ee2b2c67cedc3e0c4d58948f021a609c20cfedd2056e'
+ 'ebdb3ee0212e0cc72526bb5e50a032573e1894acb7bf75617243b0b49aa1f8f2'
+ 'cd3306991c8b63f5402c0e52405cc1a6581cb3c42af74b7c2f879c8192f95610'
+ 'e371c6a289c68fe200d7da856c20a8c579efa23178f4d62235f7359d7f6e49a1'
+ 'ee9a4df83e463e0c8a2e862680a83cff07a36cf3606faf60f57bc11190ffb1c9'
+ 'be52026eee470d70dcbf3ab364ef8ec92155b7990f589526928d46873cc72cdf'
+ 'd2d69b2bf6315bd37ff5f5b2f0cde8ab2fb89bae18f8796dc5208ffc1a9d743e'
+ 'a745356952470a5d718bef1961309ea30e4fa6a2860961cd52e09d6ec11e708e'
+ '1819085bd2c9106482c5f243b95fddf3dae69212330ab76cb493add5c26a45a4'
+ '62a5a195ddfaa13bbc7b5bc627cdd748f5d697d178a5238b71a703533bfdd587'
+ '8d92160ef094c6186cb0aaeeddcf8730f3e1a05a933ad4147269a74f09c70b19'
+ 'bfb0cc87bf350214f38a262400bee0174fca75f15bed4eec6bdad4a34dde174c'
+ 'bffcc13e4b480f720feb2b3c781bc4247c63303250c3d885022c699573d45a33'
+ '51093acab5e5a4de51a55f4bdf7b935f4f69edf3d84f1c37db710853ec95eca8'
+ 'ad4ddabbc34d5e1b308ece33cabf91d750f44894c52a18325762dea026152973'
+ 'a961cfdc6f02b12fb445777dd2c144fed96306ca2f430cc8853ae307c759c1ad'
+ 'd8574104b75c6d41284488612ec5583c50a8dab438492fa42c47231add4cfc54'
+ '6bdbf593d3e1348d1a8f7c4c17cb2e893f7e18ae355daf978173e669cfe3be80'
+ 'b3f02ec3f8cedc98c74b3169049b7b6aa78bd79d558a8bc98d00e064b983965c'
+ '186203d3c0520bb3d611da99d33a7713e9c1563814285f1f101097234f214b2f'
+ 'd8d36a501928d0cc505957d392291fad317b1e895ff99847d90643cf5f622a89'
+ 'cdfc0c836b8194f631f4a9e022c232ff75a13ff1a161a1a011858578bea5f930'
+ '5f502b1bc8815d69c802320790745e4526d5817fd8ecc7b00cf8b16078f8d440'
+ '12e424432bdf2d50afe3e632c018fef847e860a35a53525eccbe656b9c4118aa'
+ 'ee745056d018f860572f8363ed5e730ba501394c23cdd6f316719d7141c10050'
+ '77fc99fee33387a91e158c0a4e6f3d99601e4d27d04e26d3f815634f48de6a79'
+ '0fbc05f521aea83157c5e6f8bd29a422873093bb6cded965cb7ffe98ff776fa4'
+ '4c29e0b71071ae9556cf2dbd75de560d028577fe5eb993113105112c4b445eac'
+ '890482242434e333024c7819e8bf3c889dc16548d0a1745479c8523930fb32f7'
+ '71c564a12d9a8e2814a2bf67a1a3d70c1e9d3b50bc108f7043ed8c958c067b01'
+ '6c42b2920c6a37bf3dd05755b9e3fdd80137708cc55a7d1bef2234c17dff0349'
+ '09b9c1b2ee6a5bbe48c5f3755ad64628487b60a4eb6734efb292cefdb74fb657'
+ 'efc2a04b67ea76661157e154228d4b58ae2e1b652f8ce41bc001a5a863d13573'
+ '67d0cb111d47609de4c60b84dc617fc817fdf092763fbd0cef270b5ee650d702'
+ '023cba18580819018413608ec055d5ff8166b69525c32aa728ad1ecd7cf00aca'
+ 'dae799f09a076e0f573ea516bc357f56f2fd3aa8e35ec0cf54b6b62282960ee0'
+ 'aa1d831f25317a9cb8d7e9a7d7b6d51c8d03bd5b69f3bec27bea7644ca38fe9a'
+ 'cf884bad5caab9d5901b88b0ef41e3a39ea0b7a4614b8d14707d79941c899cbf'
+ '3ed91fb5a7894f82fb4895e06d2e3f1df3ac4f82e46c970d4a85aaa4edc24cf1'
+ '197ff4bb3c1cafcb197268cac335f1f75ae26873aca5833d62cc51fade85176c'
+ '0b9868a563036c81f8fdb8ab8bbad51934aca2a07e9d7634e24214791afda8e2'
+ '1b965b5e7eeafdf3815c8f2722587a560693dd780327cca9910dc47fba0f1aef'
+ 'd09244af78e693cf0eaa14b7bd0d7535cb8f6c0a78eb0e1f0a0fd2bfd5ec56c1'
+ '2b91f6eb8c010a0dce1f41149c0549d067915fba93251c7af7e5328a05977f0c')
+
+package() {
+ cd $srcdir
+
+ install -m755 -D linhes-profile.sh $pkgdir/etc/profile.d/linhes-profile.sh
+
+ #bin files
+ BINDIR=$pkgdir/usr/bin
+ for i in $binfiles
+ do
+ item=$i
+ echo "installing $item to $BINDIR"
+ install -m755 -D $item $BINDIR/$item
+ done
+
+ #release files
+ install -Dm644 "$srcdir/LinHES-release" "$pkgdir/etc/LinHES-release"
+
+ #startup files
+ install -Dm644 "$srcdir/lh_system_start.sh.desktop" "$pkgdir/etc/skel/.config/autostart/lh_system_start.sh.desktop"
+
+ #systemd files
+ install -Dm644 $srcdir/x11vnc.override.conf $pkgdir/etc/systemd/system/x11vnc.service.d/override.conf
+
+ #sql files
+ install -Dm644 $srcdir/lh_sqlserver.cnf $pkgdir/etc/my.cnf.d/lh_sqlserver.cnf
+
+ #php files
+ install -Dm644 $srcdir/lh_php.ini $pkgdir/etc/php/conf.d/lh_php.ini
+
+ #lighttpd files
+ install -Dm644 $srcdir/lh_lighttpd.conf $pkgdir/etc/lighttpd/conf.d/lh_lighttpd.conf
+
+ #gen_lib_xml.py files
+ install -Dm644 ${srcdir}/plex_lib.conf ${pkgdir}/etc/gen_lib_xml.d/plex_lib.conf
+
+ #rsyslog files
+ install -Dm644 $srcdir/rsyslog.mythtv.conf $pkgdir/etc/rsyslog.d/mythtv.conf
+
+ #remote files
+ install -Dm644 $srcdir/rc6_mce.toml $pkgdir/etc/rc_keymaps/rc6_mce.toml
+
+ #readme files
+ install -Dm644 $srcdir/readme_is_xml $pkgdir/etc/gen_is_xml.d/readme_is_xml
+ install -Dm644 $srcdir/readme_is_xml $pkgdir/etc/gen_lib_xml.d/readme_gen_xml
+ install -Dm644 $srcdir/readme_is_xml $pkgdir/etc/gen_game_xml.d/readme_gen_xml
+ install -Dm644 $srcdir/add_storage.readme $pkgdir/etc/storage.d/readme
+
+ #cron files
+ install -Dm755 $srcdir/paccache.cron $pkgdir/etc/cron.weekly/paccache
+ install -Dm755 $srcdir/xfs_defrag.cron $pkgdir/etc/cron.weekly/xfs_defrag
+ install -Dm755 $srcdir/lh_mtc.cron $pkgdir/etc/cron.hourly/lh_mtc
+ install -Dm755 $srcdir/flatpak_update.cron $pkgdir/etc/cron.daily/flatpak_update
+ install -Dm755 $srcdir/lh_log_care.cron $pkgdir/etc/cron.daily/lh_log_care
+ install -Dm755 $srcdir/recordings.cron $pkgdir/etc/cron.hourly/recordings
+
+ #hooks
+ install -Dm0644 $srcdir/79-cronie.hook "${pkgdir}"/usr/share/libalpm/hooks/79-cronie.hook
+ install -Dm0644 $srcdir/fstrim.hook "${pkgdir}"/usr/share/libalpm/hooks/fstrim.hook
+ install -Dm0644 $srcdir/openssh.hook "${pkgdir}"/usr/share/libalpm/hooks/openssh.hook
+ install -Dm0644 $srcdir/lh_restart_needed.hook "${pkgdir}"/usr/share/libalpm/hooks/lh_restart_needed.hook
+ install -Dm0644 $srcdir/rsyslog.hook "${pkgdir}"/usr/share/libalpm/hooks/rsyslog.hook
+
+ #sudo rules
+ install -Dm0750 "$srcdir/system-sudo.rules" "$pkgdir/etc/sudoers.d/system_sudo"
+ chmod 750 $pkgdir/etc/sudoers.d/
+
+ #udev rules
+ install -Dm0644 "$srcdir/81-wol.rules" "$pkgdir/etc/udev/rules.d/81-wol.rules"
+
+ #disable dpms
+ install -Dm0644 "$srcdir/10-monitor.conf" "$pkgdir/etc/X11/xorg.conf.d/10-monitor.conf"
+}
diff --git a/linhes/linhes-system/add_storage.py b/linhes/linhes-system/add_storage.py
new file mode 100755
index 0000000..cc6feb5
--- /dev/null
+++ b/linhes/linhes-system/add_storage.py
@@ -0,0 +1,1120 @@
+#!/usr/bin/python
+#add_storage.py used to auto add new storage to MythTV storage groups
+#If it's a new disk it will erase the entire disk and reformat.
+#
+#Disks that are mounted, in fstab, size < 5000 bytes, optical or
+#have already been seen will not be presented as an option.
+#
+# Version 2.0.2
+
+import dbus
+import pickle
+import subprocess
+import sys,os,re
+import random,string
+import configparser
+from configparser import ConfigParser
+import glob
+import logging
+from MythTV import MythDB, MythBE, Recorded, MythError
+from socket import timeout, gethostname
+
+
+storage_dir = "/etc/storage.d"
+pickle_file = "%s/storage.pkl" %storage_dir
+
+
+SG_MAP={
+ 'Default' :'media/tv/',
+ 'LiveTV' :'media/tv/live/',
+ 'DB Backups' :'backup/mythtv_backups/',
+ 'Music' :'media/music/',
+ 'Streaming' :'media/streaming/',
+ 'Videos' :'media/video/',
+ 'Photographs':'media/photos/',
+ 'Banners' :'media/artwork/banners/',
+ 'Coverart' :'media/artwork/coverart/',
+ 'Fanart' :'media/artwork/fanart/',
+ 'MusicArt' :'media/artwork/musicart/',
+ 'Screenshots':'media/artwork/screenshots/',
+ 'Trailers' :'media/artwork/trailers/',
+ }
+
+FS_LIST=[]
+for key in list(SG_MAP.keys()):
+ FS_LIST.append(SG_MAP[key])
+
+class disk_device:
+ def __init__(self,device,storage_dir):
+ block_dev = bus.get_object("org.freedesktop.UDisks2", device)
+
+ self.block_path = block_dev.Get('org.freedesktop.UDisks2.Block', 'Device', dbus_interface='org.freedesktop.DBus.Properties')
+ self.block_path = bytearray(self.block_path).replace(b'\x00', b'').decode('utf-8')
+ logging.info("Device: %s", self.block_path)
+ self.read_only = self.get_is_readonly(block_dev)
+ logging.info("ReadOnly: %s", self.read_only)
+ self.device_file_path = self.get_device_file_path(block_dev)
+ logging.info("Device File Path: %s", self.device_file_path)
+ self.device_id = block_dev.Get('org.freedesktop.UDisks2.Block', 'Id', dbus_interface='org.freedesktop.DBus.Properties')
+ logging.info("Device Id: %s", self.device_id)
+ self.is_device = self.get_is_device()
+ logging.info("Is Device: %s", self.is_device)
+
+ self.drive = block_dev.Get('org.freedesktop.UDisks2.Block', 'Drive', dbus_interface='org.freedesktop.DBus.Properties')
+ logging.info("Drive: %s", self.drive)
+ drive_dev = bus.get_object("org.freedesktop.UDisks2", self.drive)
+
+ self.storage_dir = storage_dir
+ self.top_mount_dir = "/data/storage"
+ self.config = configparser.RawConfigParser()
+ self.fs_map = self.get_fsmap()
+
+ self.vendor = drive_dev.Get('org.freedesktop.UDisks2.Drive', 'Vendor', dbus_interface='org.freedesktop.DBus.Properties')
+ logging.info("Vendor: %s", self.vendor)
+ self.model = drive_dev.Get('org.freedesktop.UDisks2.Drive', 'Model', dbus_interface='org.freedesktop.DBus.Properties')
+ logging.info("Model: %s", self.model)
+ self.device_size = drive_dev.Get('org.freedesktop.UDisks2.Drive', 'Size', dbus_interface='org.freedesktop.DBus.Properties')
+ logging.info("Drive Size: %s", self.device_size)
+ self.serial_number = self.get_serial_number(drive_dev)
+ logging.info("Serial: %s", self.serial_number)
+ self.is_optical = self.get_is_optical_disc(drive_dev)
+ logging.info("Is Optical: %s", self.is_optical)
+
+ self.mmount = False
+ self.dir_sg = False
+
+ try:
+ self.f = block_dev.Get('org.freedesktop.UDisks2.Filesystem', 'MountPoints', dbus_interface='org.freedesktop.DBus.Properties')
+ self.is_mounted = True
+ self.f[0] = bytearray(self.f[0]).replace(b'\x00', b'').decode('utf-8')
+ logging.info("MountPoints: %s", self.f[0])
+ except:
+ self.f = ['']
+ self.is_mounted = False
+ logging.info("MountPoints: %s", self.f[0])
+ logging.info("Is Mounted: %s", self.is_mounted)
+
+ try:
+ self.partition_size = block_dev.Get('org.freedesktop.UDisks2.Partition', 'Size', dbus_interface='org.freedesktop.DBus.Properties')
+ except:
+ self.partition_size = 0
+ logging.info("Partition Size: %s", self.partition_size)
+
+ self.set_partition("1")
+ logging.info("Block Partition: %s", self.block_partition)
+
+ self.in_use = self.get_in_use()
+ logging.info("In Use: %s", self.in_use)
+ self.uuid=''
+ self.new_mount_point=''
+ self.disk_num=''
+
+ def set_partition(self,partition):
+ if self.is_device:
+ if 'nvme' in self.block_path:
+ self.block_partition = "%sp%s" %(self.block_path,partition)
+ else:
+ self.block_partition = "%s%s" %(self.block_path,partition)
+ else:
+ self.block_partition = self.block_path
+
+ def set_mmount(self,flag):
+ self.mmount = flag
+
+ def set_dir_sg(self,flag):
+ self.dir_sg = flag
+
+ def set_disk_num(self,num):
+ self.disk_num=num
+
+ def get_name(self):
+ filename="%s_%s" %(self.model.replace(' ',''),
+ self.serial_number.replace(' ',''))
+ return filename
+
+ def get_is_readonly(self,block_dev):
+ readonly = block_dev.Get('org.freedesktop.UDisks2.Block', 'ReadOnly', dbus_interface='org.freedesktop.DBus.Properties')
+ if readonly == 0:
+ return False
+ else:
+ return True
+
+ def get_is_optical_disc(self,drive_dev):
+ optical = drive_dev.Get('org.freedesktop.UDisks2.Drive', 'Optical', dbus_interface='org.freedesktop.DBus.Properties')
+ if optical == 0:
+ return False
+ else:
+ return True
+
+ def get_is_device(self):
+ match = re.search(r'part\d+$', self.device_file_path)
+ if match is None:
+ return True
+ else:
+ return False
+
+ def get_in_use(self):
+ in_use = False
+ for i in self.fs_map:
+ if self.block_path in i[0]:
+ in_use = True
+ break
+ return in_use
+
+ def get_serial_number(self,drive_dev):
+ serial_number = drive_dev.Get('org.freedesktop.UDisks2.Drive', 'Serial', dbus_interface='org.freedesktop.DBus.Properties')
+ random_string = os.urandom(5)
+ if serial_number == '':
+ serial_number = "".join( [random.choice(string.ascii_letters) for i in range(6)] )
+ serial_number = "NSW%s" %serial_number
+ return serial_number
+
+ def get_device_file_path(self,block_dev):
+ paths = block_dev.Get('org.freedesktop.UDisks2.Block', 'Symlinks', dbus_interface='org.freedesktop.DBus.Properties')
+ try:
+ for path in paths:
+ path = bytearray(path).replace(b'\x00', b'').decode('utf-8')
+ if path.startswith('/dev/disk/by-path'):
+ return path
+ except:
+ path = "None"
+
+ def partition_disk(self):
+ print(" Creating new partition table")
+ cmd = "parted -s -a optimal %s mklabel gpt" %self.block_path
+ runcmd(cmd)
+ cmd = "parted -s -a optimal %s mkpart primary \" 1 -1\"" %self.block_path
+ runcmd(cmd)
+ return
+
+ def get_fsmap(self):
+ fs_map=[]
+
+ f = open('/proc/mounts','r')
+ mounts=f.readlines()
+ f.close()
+ for line in mounts:
+ temp_fs=[]
+ split_line=line.split()
+ block=split_line[0]
+ mountp=split_line[1]
+ fs=split_line[2]
+ block=os.path.realpath(block)
+ if block.startswith("/dev"):
+ temp_fs.append(block)
+ temp_fs.append(mountp)
+ temp_fs.append(fs)
+ fs_map.append(temp_fs)
+ return fs_map
+
+ def find_fstype(self,moutpoint):
+ fstype="xfs"
+ mp=['/myth', '/data/storage/disk0']
+ for i in self.fs_map:
+ if i[1] in mp:
+ fstype = i[2]
+ break
+ return fstype
+
+ def lookup_format(self):
+ fstab = self.read_fstab()
+ current_media_mount = self.find_options_type(fstab)[1]
+ new_fstype = self.find_fstype(current_media_mount)
+ #setting self.new_fstype so that it can be referenced when setting fstab
+ self.new_fstype = new_fstype
+ return
+
+ def format_disk(self):
+ #lookup format
+ #self.lookup_format()
+ #do format
+ if self.new_fstype == "xfs":
+ cmd = "mkfs -t %s -f %s " %(self.new_fstype,self.block_partition)
+ else:
+ cmd = "mkfs -t %s %s " %(self.new_fstype,self.block_partition)
+ print(" Formatting %s with %s" %(self.block_partition,self.new_fstype))
+ runcmd(cmd)
+ return
+
+ def find_uuid(self,partition):
+ #logging.info("Finding the UUID for %s...", partition)
+ cmd = "blkid -s UUID %s" %partition
+ tmpuuid = runcmd(cmd)[1]
+ splituuid = tmpuuid.partition("=")
+ uuid = splituuid[2].replace('"', "")
+ #logging.info("The uuid is %s", uuid)
+ if uuid == '':
+ print("Could not find a UUID for device: %s" %partition)
+ sys.exit(1)
+ self.uuid = uuid.strip()
+ return uuid.strip()
+
+ def read_fstab(self):
+ f = open('/etc/fstab', 'r')
+ fstab=f.readlines()
+ f.close()
+ return fstab
+
+ def find_options_type(self,fstab):
+ mp=['/myth', '/data/storage/disk0']
+ for i in fstab:
+ split_line=i.split()
+ try:
+ if split_line[1] in mp:
+ options = split_line[3]
+ break
+ else:
+ options = "defaults"
+ mount_point = i
+ except:
+ options = "defaults"
+ return options,i
+
+
+ def add_fstab(self):
+ #new_fstab_list=['UUID=', 'mount_point', 'auto', 'defaults', '0', '1']
+ new_fstab_list=['UUID=', 'mount_point', self.new_fstype, 'defaults', '0', '1']
+ fstab=self.read_fstab()
+ new_fstab=[]
+
+ #determine mount_path
+ self.new_mount_point="%s/%s_%s" %(self.top_mount_dir,self.model.replace(' ',''),self.serial_number.replace(' ',''))
+
+ #check for old mount point and comment out
+ for line in fstab:
+ if not line.startswith("#"):
+ if line.find(self.new_mount_point) > -1:
+ print(" Found old mount %s in fstab, commenting out" %self.new_mount_point)
+ line = "#"+line
+ new_fstab.append(line)
+ fstab=new_fstab
+
+ #determine options
+ #new_options = self.find_options_type(fstab)[0]
+ new_options = "nofail,x-systemd.device-timeout=10"
+
+ #find blkid
+ self.block_partition="%s1" %self.block_path
+ uuid=self.find_uuid(self.block_partition)
+
+ #construct new line
+ new_fstab_list[0]="UUID=%s" %uuid
+ new_fstab_list[1]=self.new_mount_point
+ new_fstab_list[3]=new_options
+ if self.new_fstype == "xfs":
+ new_fstab_list[5]="0"
+
+ new_fstab_line='\t'.join(new_fstab_list)
+ new_fstab_line="%s\n" %new_fstab_line
+ fstab.append(new_fstab_line)
+
+ #add line to fstab
+ f = open('/etc/fstab', 'w')
+ for i in fstab:
+ f.write(i)
+ f.close()
+ return
+
+ def mount_disk(self,no_mount=False):
+ try:
+ os.stat(self.new_mount_point)
+ except:
+ os.makedirs(self.new_mount_point)
+ if no_mount == False:
+ if os.path.ismount(self.new_mount_point):
+ print(" Disk already mounted, will not mount:\n %s" %self.new_mount_point)
+ pass
+ else:
+ print(" Mounting %s" %self.new_mount_point)
+ cmd = "mount %s" %self.new_mount_point
+ runcmd(cmd)
+ return
+
+ def mkdirs(self,FS_LIST):
+ print(" Creating directory structure:")
+ print(" %s" %self.new_mount_point)
+ for y in FS_LIST:
+ print(" %s" %y)
+ new_dir="%s/%s" %(self.new_mount_point,y)
+ try:
+ os.stat(new_dir)
+ except:
+ os.makedirs(new_dir)
+ cmd="chown -R mythtv:mythtv /%s" %self.new_mount_point
+ runcmd(cmd)
+ cmd="chmod -R 775 /%s" %self.new_mount_point
+ runcmd(cmd)
+
+ def add_sg(self,DB,host,SG_MAP,weight='0',install_call=False):
+ print(" Adding storage groups")
+ sgweight=int(weight)
+ for key in SG_MAP.keys():
+ #print key," : ", SG_MAP[key]
+ gn=key
+ hn=host
+ dn="%s/%s" %(self.new_mount_point,SG_MAP[key])
+ #print dn
+ #print gn
+ #print hn
+ if install_call == True :
+ print("Will write SG for stuff after the fact")
+ else:
+ with DB as c:
+ #delete old dir without trailing slash
+ c.execute("""delete from storagegroup where groupname = %s and hostname = %s and dirname = %s""", (gn,hn,dn.rstrip('/')))
+
+ try:
+ c.execute("""insert into storagegroup (groupname,hostname,dirname) values (%s,%s,%s)""",(gn,hn,dn))
+ print(" Adding location: %s to storagegroup %s" %(dn,gn))
+ except:
+ print(" *Error inserting %s into storage groups" %dn)
+
+ if sgweight > 0:
+ try:
+ #("SGweightPerDir:server2:/mnt/video", 99, "server2");
+ sgw="SGweightPerDir:%s:%s" %(hn,dn)
+ #print sgw
+ #print sgweight
+ #print hn
+
+ #delete old dir without trailing slash
+ c.execute("""delete from settings where value = %s and data = %s and hostname = %s""", (sgw.rstrip('/'),sgweight,hn))
+
+ c.execute("""insert into settings (value,data,hostname) values (%s,%s,%s)""",(sgw,sgweight,hn))
+ print(" Adding storage group weight of %s for %s\n" %(sgweight,gn))
+ except:
+ print(" *Error setting storage group weight %s for %s\n" %(sgweight,gn))
+
+ return
+
+ def write_config(self):
+ print(" Writing /etc/storage.d conf file")
+ self.config.add_section('storage')
+ self.config.set('storage','uuid',self.uuid)
+ self.config.set('storage','mountpoint',self.new_mount_point)
+ self.config.set('storage','fstype',self.new_fstype)
+ self.config.set('storage','shareable','True')
+ self.config.set('storage','mmount',self.mmount)
+ self.config.set('storage','storage_groups',self.dir_sg)
+ self.config.set('storage','disk_num',self.disk_num)
+
+ filename="%s_%s.conf" %(self.model.replace(' ',''),
+ self.serial_number.replace(' ',''))
+
+ configfile="/etc/storage.d/%s" %filename
+ print(" %s" %configfile)
+ with open(configfile, 'w') as configfile:
+ self.config.write(configfile)
+ return
+
+ def symlink_disk(self):
+ print(" Creating symlink for disk%s" %self.disk_num)
+ disk_ln="%s/disk%s" %(self.top_mount_dir,self.disk_num)
+ cmd = "ln -s %s %s" %(self.new_mount_point,disk_ln)
+ runcmd(cmd)
+
+
+#end of class
+
+
+def runcmd(cmd):
+ if True :
+ pass
+ else:
+ cmd = "echo "+cmd
+ #print(cmd)
+ cmdout = subprocess.getstatusoutput(cmd)
+ #logging.debug(" %s", cmdout)
+ return cmdout
+
+
+
+
+def scan_system():
+ ud_manager_obj = bus.get_object("org.freedesktop.UDisks2", "/org/freedesktop/UDisks2")
+ ud_manager = dbus.Interface(ud_manager_obj, 'org.freedesktop.DBus.ObjectManager')
+ current_drive_list=[]
+ for dev in ud_manager.GetManagedObjects().items():
+ if dev[0].startswith("/org/freedesktop/UDisks2/block_devices"):
+ logging.info(dev[0])
+ drive = disk_device(dev[0],storage_dir)
+ if drive.is_device and drive.device_size > 5000 and not drive.is_optical :
+ current_drive_list.append(drive)
+ return current_drive_list
+
+def read_known_list():
+ #reading pickle file
+ known_drive_list=[]
+ try:
+ pkl_file = open(pickle_file, 'rb')
+ known_drive_list = pickle.load(pkl_file)
+ pkl_file.close()
+ except:
+ pass
+ return known_drive_list
+
+
+def write_known_drive_list(known_drive_list):
+ output = open(pickle_file, 'wb')
+ pickle.dump(known_drive_list, output, -1)
+ output.close()
+
+
+def search_for_match(system_drive,known_drive_list):
+ match_drive=False
+ for y in known_drive_list:
+ if system_drive.serial_number.startswith("NSW"):
+ #print("Match_test: hash")
+ system_drive_hash = "%s_%s_%s" %(system_drive.model,system_drive.partition_size,system_drive.device_file_path)
+ y_drive_hash = "%s_%s_%s" %(y.model,y.partition_size,y.device_file_path)
+ if system_drive_hash == y_drive_hash :
+ match_drive = True
+ print("\n* No serial number was found, matched using hash method: %s" %system_drive.model)
+ break
+
+ elif y.serial_number == system_drive.serial_number:
+ #print("Match_test: serial number")
+ match_drive=True
+ break
+
+ return match_drive
+
+
+def prompt_to_add(current_drive,destruction = True):
+ loop = True
+ if destruction :
+ prompt = '''
+ ** Adding this disk will remove all contents on the disk. **
+ This disk will be partitioned and formatted.
+
+ Enable this disk for storage (Y/N)?:'''
+ else:
+ prompt = '''
+ ** Preserving existing contents on the disk. **
+ This disk will NOT be partitioned or formatted.
+
+ Enable this disk for storage (Y/N)?:'''
+ while loop:
+ str1 = input(prompt)
+
+ if str1 in ['Y','N','y','n']:
+ loop = False
+ break
+ print("\n")
+ if str1 == 'Y' or str1 == 'y':
+ rc = True
+ else:
+ rc = False
+ return rc
+
+def prompt_to_continue(process_list):
+ loop = True
+ print("\n\n\n Ready to add additional storage!\n")
+ if destruction:
+ print("** WARNING: These disk(s) WILL be partitioned and formatted. **\n ** All content on these disk(s) will be erased. **")
+ else:
+ print(" ** These disk(s) will NOT be partitioned and formatted. **")
+ for i in process_list:
+ print(" %s" %(i.get_name()))
+ str1 = input("\n Press Y to add disk(s), any other key to cancel:")
+
+ if str1 == 'Y' or str1 == 'y':
+ rc = True
+ else:
+ rc = False
+ print("\nCancelled: No disk(s) added to your system.")
+ print("-----")
+ return rc
+
+def prompt_sg(dir_sg):
+ #check for storage groups
+ print("*" * 60)
+ if dir_sg != True:
+ loop = True
+ prompt_string='''
+ MythTV storage groups are used for artwork, database backups,
+ photos, music, streaming, TV recordings, and videos.
+
+ The content on these storage groups will
+ only be available while the system is online.
+
+ Enabling MythTV storage groups will create the directories
+ on the disk(s) and add the paths to the MythTV database.
+
+ Enable MythTV storage groups (Y/N)?:'''
+
+ while loop:
+ str1 = input(prompt_string)
+ if str1 in ['Y','N','y','n']:
+ loop = False
+ break
+ print("\n")
+
+ if str1 == 'Y' or str1 == 'y':
+ dir_sg = True
+ print(" ** Will add MythTV storage groups!")
+ else:
+ print(" ** Will NOT add MythTV storage groups!")
+ dir_sg = False
+ else:
+ dir_sg = True
+ print("\n --add_sg option used")
+ print(" ** Will add MythTV storage groups!")
+
+ return dir_sg
+
+def remove_pickle():
+ try:
+ print("\n* Removing list of known disks.\n")
+ os.remove(pickle_file)
+ except:
+ pass
+
+def last_disk_num():
+ parser = ConfigParser()
+ num_list = []
+ for conf_file in glob.glob('%s/*.conf' %storage_dir):
+ parser.read(conf_file)
+ try:
+ disk_num = parser.get('storage', 'disk_num')
+ except:
+ print("\nSkipping " + conf_file + "is missing disk_num.")
+ continue
+ num_list.append(int(disk_num))
+ num_list.sort()
+ try:
+ return num_list[-1]
+ except:
+ # conf file or disk_num is missing so fallback to /data/storage/disk# links
+ for disk_name in glob.glob('/data/storage/disk*'):
+ disk_num = disk_name.strip('/data/storage/disk')
+ num_list.append(int(disk_num))
+ num_list.sort()
+ try:
+ return num_list[-1]
+ except:
+ print("Couldn't find last disk number.")
+ sys.exit(1)
+
+#--------------------------------------------
+
+def main(scan_only, destruction, no_mount, install_call, dir_sg):
+ global bus
+ bus = dbus.SystemBus()
+
+ system_drive_list = scan_system()
+ known_drive_list=[]
+ known_drive_list = read_known_list()
+ process_list=[]
+ no_process_list=[]
+
+ print("-" * 60)
+ print(" Scan for Disks")
+
+ for i in system_drive_list:
+ #print i.mount_path
+ #print i.is_mounted
+ #print i.in_use
+ #print i.model
+ #print i.block_path
+ #print "--"
+
+ if search_for_match(i,known_drive_list) or i.in_use :
+ if search_for_match(i,known_drive_list) :
+ dstatus = " Ignoring - Disk has been previously skipped:"
+ if i.in_use :
+ dstatus = " Ignoring - Disk is mounted:"
+ if search_for_match(i,known_drive_list) and i.in_use :
+ dstatus = " Ignoring - Disk has been previously skipped and is mounted:"
+
+ print("\n")
+ print(" --------------------------------------------------------")
+ print(dstatus)
+ print(" model: %s" %i.model)
+ print(" location: %s" %i.block_path)
+ print(" size: %s" %i.device_size)
+ continue
+
+ else:
+ if not scan_only:
+ print("\n")
+ print(" --------------------------------------------------------")
+ print(" Found New Disk:")
+ print(" model: %s" %i.model)
+ print(" location: %s" %i.block_path)
+ print(" size: %s " %i.device_size)
+
+ if prompt_to_add(i,destruction) :
+ print("\n %s will be added to your system!" %i.model)
+ process_list.append(i)
+ else:
+ no_process_list.append(i)
+ else:
+ process_list.append(i)
+ print("\n")
+ print(" Scan Finished")
+ print("-" * 60)
+
+ if scan_only:
+ if len(process_list) > 0:
+ print(" Unknown or Unmounted Disks:")
+ f = open('/tmp/scan_report', 'w')
+ for i in process_list:
+ f.write("disk: %s, location: %s, size: %s\n" %(i.model,i.block_path,i.device_size))
+ print("\n")
+ print(" ---------------------------------------------------------")
+ print(" Found New Disk:")
+ print(" model: %s" %i.model)
+ print(" location: %s" %i.block_path)
+ print(" size: %s " %i.device_size)
+ f.close()
+ sys.exit(0)
+
+ for i in no_process_list:
+ system_drive_list.append(i)
+
+
+ if len(process_list) > 0:
+ #DB = MythDB()
+ host=gethostname()
+ for y in process_list:
+ system_drive_list.remove(y)
+ write_known_drive_list(system_drive_list)
+ else:
+ print("\nThere are no disks to add to your system.\n\nFor more options: add_storage.py --help\n")
+ write_known_drive_list(system_drive_list)
+
+
+ if len(process_list) > 0:
+ print("\n Will add %s disk(s) to your system." %len(process_list))
+
+ dir_sg = prompt_sg(dir_sg)
+ if prompt_to_continue(process_list) == True:
+ write_known_drive_list(system_drive_list)
+ disk_num = last_disk_num()
+ for i in process_list:
+ print(" Disk: %s" %(i.get_name()))
+ disk_num = disk_num + 1
+ i.lookup_format()
+ if destruction == True:
+ i.partition_disk()
+ i.format_disk()
+ i.add_fstab()
+ i.mount_disk(no_mount)
+
+ if dir_sg == True:
+ i.mkdirs(FS_LIST)
+
+ i.set_disk_num(disk_num)
+ i.set_dir_sg(dir_sg)
+ i.write_config()
+ system_drive_list.append(i)
+ write_known_drive_list(system_drive_list)
+
+ i.symlink_disk()
+
+ if dir_sg == True:
+ DB = MythDB()
+ i.add_sg(DB,host,SG_MAP)
+
+ print("-----")
+
+def reconstruct_storagegroups():
+ print("\nRecreating storage groups from contents of /etc/storage.d/\n")
+
+ DB = MythDB()
+ host=gethostname()
+
+ for conf_file in glob.glob('%s/*.conf' %storage_dir):
+ parser = ConfigParser()
+ parser.read(conf_file)
+ try:
+ mount_point = parser.get('storage', 'mountpoint')
+ except:
+ print("\nSkipping: " + conf_file + " is missing mountpoint")
+ continue
+ mmount = parser.getboolean('storage', 'mmount')
+ try:
+ removed = parser.getboolean('storage', 'removed')
+ except:
+ removed = False
+ if removed:
+ print("Skipping: " + mount_point + " - removed")
+ continue
+ if not os.path.ismount(mount_point):
+ print("Skipping: " + mount_point + " - not mounted")
+ continue
+ try:
+ dir_sg = parser.getboolean('storage', 'storage_groups')
+ except configparser.NoOptionError as err:
+ print("SG not found in conf, get setting from DB")
+ dir_sg = False
+ # Get storage group directories from DB
+ recs = DB.getStorageGroup(groupname="Default")
+ for record in recs:
+ if record.dirname.startswith(mount_point):
+ dir_sg = True
+ # Write SG usage to conf
+ parser.set('storage','storage_groups',str(dir_sg))
+ with open(conf_file, 'wb') as conf_file:
+ parser.write(conf_file)
+
+ if dir_sg is True:
+ print("SGs Enabled for: " + mount_point)
+ print(" Creating directory structure:")
+ print(" %s" %mount_point)
+ for y in FS_LIST:
+ new_dir="%s/%s" %(mount_point,y)
+ try:
+ os.stat(new_dir)
+ print(" %s - exists" %y)
+ except:
+ os.makedirs(new_dir)
+ cmd="chown -R mythtv:mythtv /%s" %new_dir
+ runcmd(cmd)
+ cmd="chmod -R 775 /%s" %new_dir
+ runcmd(cmd)
+ print(" %s - created" %y)
+
+ print(" Adding storage groups to DB")
+ if mmount is True:
+ sgweight=99
+ else:
+ sgweight=0
+
+ for key in SG_MAP.keys():
+ gn=key
+ hn=host
+ dn="%s/%s" %(mount_point,SG_MAP[key])
+ with DB as c:
+ #delete old dir without trailing slash
+ c.execute("""delete from storagegroup where groupname = %s and hostname = %s and dirname = %s""", (gn,hn,dn.rstrip('/')))
+
+ try:
+ c.execute("""insert into storagegroup (groupname,hostname,dirname) values (%s,%s,%s)""",(gn,hn,dn))
+ print(" Added: %s to storagegroup %s" %(dn,gn))
+ except:
+ print(" Skipping: %s exists" %dn)
+ if sgweight > 0:
+ try:
+ sgw="SGweightPerDir:%s:%s" %(hn,dn)
+
+ #delete old dir without trailing slash
+ c.execute("""delete from settings where value = %s and data = %s and hostname = %s""", (sgw.rstrip('/'),sgweight,hn))
+
+ if DB.settings[hn][sgw] == '99':
+ print(" Skipping: storage group weight DB entry exists")
+ else:
+ c.execute("""insert into settings (value,data,hostname) values (%s,%s,%s)""",(sgw,sgweight,hn))
+ print(" Adding storage group weight of %s for %s\n" %(sgweight,gn))
+ except:
+ print(" *Error setting storage group weight %s for %s\n" %(sgweight,gn))
+
+ else:
+ print("SGs Disabled for: " + mount_point)
+ return
+
+class reconstruct_path:
+ def __init__(self,conf_file):
+ self.conf_file = conf_file
+ parser = ConfigParser()
+ parser.read(self.conf_file)
+ self.config = configparser.RawConfigParser()
+
+ self.uuid = parser.get('storage', 'uuid')
+ self.mount_point = parser.get('storage', 'mountpoint')
+ self.shareable = parser.get('storage', 'shareable')
+ self.disk_num = parser.get('storage', 'disk_num')
+ self.top_mount_dir = os.path.dirname(self.mount_point)
+ try:
+ self.fstype = parser.get('storage', 'fstype')
+ except:
+ self.fstype = self.get_fstype()
+ try:
+ self.removed = parser.get('storage', 'removed')
+ except:
+ self.removed = False
+
+ def get_fstype(self):
+ cmd = "fsck -N UUID=%s" %self.uuid
+ tmpfstype = runcmd(cmd)
+ tmpfstype = tmpfstype[1].split('/sbin/fsck.')
+ tmpfstype = tmpfstype[1].split(' ')
+ self.fstype = tmpfstype[0]
+ self.write_config()
+ return self.fstype
+
+ def get_conf(self):
+ return self.conf_file
+
+ def get_uuid(self):
+ return self.uuid
+
+ def get_mount_point(self):
+ return self.mount_point
+
+ def get_shareable(self):
+ return self.shareable
+
+ def get_is_myth_mount(self):
+ return self.myth_mount
+
+ def get_disk_num(self):
+ return self.disk_num
+
+ def get_removed(self):
+ return self.removed
+
+ def create_mount_point(self):
+ try:
+ os.stat(self.mount_point)
+ except:
+ os.makedirs(self.mount_point)
+
+ def find_options_type(self,fstab):
+ mp=['/myth', '/data/storage/disk0']
+ for i in fstab:
+ split_line=i.split()
+ try:
+ if split_line[1] in mp:
+ options = split_line[3]
+ break
+ else:
+ options = "defaults"
+ mount_point = i
+ except:
+ options = "defaults"
+ return options,i
+
+ def read_fstab(self):
+ f = open('/etc/fstab', 'r')
+ fstab=f.readlines()
+ f.close()
+ return fstab
+
+ def check_in_fstab(self,fstab,check_path):
+ for line in fstab:
+ if line.find(check_path) > -1:
+ return True
+ return False
+
+ def append_fstab(self,line):
+ new_fstab_line='\t'.join(line)
+ new_fstab_line="%s\n" %new_fstab_line
+
+ f = open('/etc/fstab', 'a')
+ f.write(new_fstab_line)
+ f.close()
+
+ def symlink_disk(self):
+ print(" Creating symlink for disk%s" %self.disk_num)
+ disk_ln="%s/disk%s" %(self.top_mount_dir,self.disk_num)
+ if os.path.islink(disk_ln):
+ print(" Symlink %s exists. Skipping." %disk_ln)
+ else:
+ cmd = "ln -s %s %s" %(self.mount_point,disk_ln)
+ runcmd(cmd)
+
+ def add_fstab(self):
+ #new_fstab_list=['UUID=', 'mount_point', 'auto', 'defaults', '0', '1']
+ new_fstab_list=['UUID=', 'mount_point', self.fstype, 'defaults', '0', '1']
+ fstab=self.read_fstab()
+
+ if self.check_in_fstab(fstab,self.uuid) == True:
+ print(" Found UUID of disk in fstab, will not add it")
+ else:
+ print(" Adding storage to fstab")
+ #check for old mount point and comment out
+ f = open('/etc/fstab', 'w')
+ for line in fstab:
+ if not line.startswith("#"):
+ if line.find(self.mount_point) > -1:
+ print(" Found old mount %s in fstab, commenting out" %self.mount_point)
+ line = "#"+line
+ f.write(line)
+ f.close()
+
+ #construct new line
+ #new_options = self.find_options_type(fstab)[0]
+ new_options = "nofail,x-systemd.device-timeout=10"
+ new_fstab_list[0]="UUID=%s" %self.uuid
+ new_fstab_list[1]=self.mount_point
+ new_fstab_list[3]=new_options
+ if self.fstype == "xfs":
+ new_fstab_list[5]="0"
+ self.append_fstab(new_fstab_list)
+
+ def mount_disk(self,no_mount=False):
+ try:
+ os.stat(self.mount_point)
+ except:
+ os.makedirs(self.mount_point)
+ if no_mount == False :
+ if os.path.ismount(self.mount_point):
+ print(" Disk already mounted, will not mount:\n %s" %self.mount_point)
+ pass
+ else:
+ print(" Mounting %s" %self.mount_point)
+ cmd = "mount %s" %self.mount_point
+ runcmd(cmd)
+ return
+
+ def write_config(self):
+ print(" Writing /etc/storage.d conf file")
+ self.config.add_section('storage')
+ self.config.set('storage','uuid',self.uuid)
+ self.config.set('storage','mountpoint',self.mount_point)
+ self.config.set('storage','fstype',self.fstype)
+ self.config.set('storage','shareable','True')
+ self.config.set('storage','mmount',self.myth_mount)
+ self.config.set('storage','storage_groups',self.dir_sg)
+ self.config.set('storage','disk_num',self.disk_num)
+
+ print(" %s" %self.conf_file)
+ with open(self.conf_file, 'w') as self.conf_file:
+ self.config.write(self.conf_file)
+ return
+
+def reconstruct_mounts(no_mount):
+ print("\nRecreating disks from contents of /etc/storage.d/")
+ for conf_file in glob.glob('%s/*.conf' %storage_dir):
+ print("\n")
+ cf = reconstruct_path(conf_file)
+
+ # skip if the disk was removed
+ if cf.get_removed():
+ continue
+ #print cf.get_conf()
+ #print cf.get_uuid()
+ print(" Recreating %s" %cf.get_mount_point())
+ #print cf.get_shareable()
+ #print cf.get_is_myth_mount()
+ #print cf.get_disk_num()
+
+ cf.create_mount_point()
+ cf.add_fstab()
+ cf.symlink_disk()
+ cf.mount_disk(no_mount)
+
+ print("\n\nDone recreating disks.\n")
+ pass
+
+
+def usage():
+ help='''
+ add_storage.py finds and sets up disks for MythTV usage.
+ It's a powerful tool that could destroy data if not used correctly,
+ please be careful.
+
+ Scanned disks are ignored if they are mounted or have been
+ previously skipped by add_storage.py.
+
+ The file system type for disks added by add_storage.py is
+ automatically set to the type selected for the data partition
+ at install.
+
+ Normal operations without options include (in this order):
+ Partition the disk
+ Format the disk
+ Add disk to /etc/fstab
+ Mount the disk
+ Create the directories
+ (if user enables MythTV storage groups)
+ Write out the disk config file to /etc/storage.d/
+ Create disk# symlink at /data/storage/
+ Create MythTV storage group paths in MythTV database
+ (if user enables MythTV storage groups)
+
+ Options:
+ --add_sg: Create the MythTV storage group directories and
+ database entries for database backups, TV
+ recordings, photos, music, streaming, videos
+ and artwork.
+ -h, --help: Show this help message.
+ --new_init: Erase the list of known disks and rescan.
+ --no_destruction: Will not partition or format the disk.
+ All other normal operations will be performed.
+ Can be used to import disks from other systems
+ however, add_storage.py only works with the first
+ partition on a disk and ignores all others.
+ --no_mount: Do not mount the disk.
+ All other normal operations will be performed.
+ --reconstruct: Recreate mount point, fstab entry,
+ /data/storage/disk# symlink, and mount the disk.
+ --no_mount is the only option that works with
+ --reconstruct.
+ --reconstruct_sg: Recreate the MythTV storage group directories and
+ database entries if they don't exist.
+ No other options work with --reconstruct_sg.
+ --report: Scan disks and print new found disks.
+ '''
+ print(help)
+ sys.exit(0)
+
+
+
+
+if __name__ == "__main__":
+ scan_only = False
+ myth_mount = False
+ no_mount = False
+ destruction = True
+ install_call = False
+ dir_sg = False
+ reconstruct = False
+ reconstruct_sg = False
+ try:
+ os.remove("/tmp/scan_report")
+ except:
+ pass
+
+ if not os.geteuid()==0:
+ sys.exit("\nRoot access is required to run this program.\n")
+
+ logging.basicConfig(filename='/var/log/add_storage.log', filemode='w',
+ format='%(asctime)s - %(levelname)s - %(message)s',
+ datefmt='%y-%m-%d %H:%M:%S')
+ logger = logging.getLogger()
+ logger.setLevel(logging.INFO)
+
+ if "--help" in sys.argv or "-h" in sys.argv:
+ usage()
+
+ if "--install_call" in sys.argv:
+ install_call = True
+
+ if "--no_mount" in sys.argv :
+ no_mount = True
+
+ if "--no_destruction" in sys.argv:
+ destruction = False
+
+ if "--new_init" in sys.argv :
+ remove_pickle()
+
+ if "--report" in sys.argv :
+ scan_only = True
+
+ if "--add_sg" in sys.argv:
+ dir_sg = True
+
+ #there is no distinction between FE and BE sg anymore
+ #but leaving these for backwards compatibility
+ if "--add_fe_sg" in sys.argv:
+ dir_sg = True
+
+ if "--add_be_sg" in sys.argv:
+ dir_sg = True
+
+ if "--reconstruct" in sys.argv:
+ reconstruct = True
+
+ if "--reconstruct_sg" in sys.argv:
+ reconstruct_sg = True
+
+ if reconstruct == True:
+ reconstruct_mounts(no_mount)
+ elif reconstruct_sg == True:
+ reconstruct_storagegroups()
+ else:
+ main(scan_only, destruction, no_mount, install_call, dir_sg)
diff --git a/linhes/linhes-system/add_storage.readme b/linhes/linhes-system/add_storage.readme
new file mode 100644
index 0000000..d4435d5
--- /dev/null
+++ b/linhes/linhes-system/add_storage.readme
@@ -0,0 +1,3 @@
+Files here are autogenerated by add_storage.py.
+They will be used by systemconfig to generate nfs, smb and mountpoint recovery.
+
diff --git a/linhes/linhes-system/balance_storage_groups.py b/linhes/linhes-system/balance_storage_groups.py
new file mode 100755
index 0000000..d91da60
--- /dev/null
+++ b/linhes/linhes-system/balance_storage_groups.py
@@ -0,0 +1,165 @@
+#!/usr/bin/python
+
+import argparse, glob, operator, os, random, shutil, subprocess, sys, signal, time
+shouldQuit = False
+movingFiles = False
+
+def getFreeSpaceForDir(dir):
+ stats = os.statvfs(dir)
+ return (stats.f_bavail * stats.f_frsize)
+
+def getFreePercentForDir(dir):
+ stats = os.statvfs(dir)
+ total = (stats.f_blocks)
+ avail = (stats.f_bavail)
+ return (total - avail) / float(total)
+
+def getFileSize(fullPath):
+ return os.path.getsize(fullPath)
+
+def sizeof_fmt(num, suffix='B'):
+ for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']:
+ if abs(num) < 1024.0:
+ return "%3.1f %s%s" % (num, unit, suffix)
+ num /= 1024.0
+ return "%.1f %s%s" % (num, 'Yi', suffix)
+
+def signal_handler(signal, frame):
+ if movingFiles:
+ print("\nWill quit when file has been moved.\nMoving File...")
+ global shouldQuit
+ shouldQuit = True
+ else:
+ sys.exit(0)
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-c', '--checkonly', action='store_true', help="Check only, don't move any files.")
+ parser.add_argument('-p', '--percent', type=int, default=7, help="The percentage difference between the most full dir and least full dir that will stop balancing.")
+ cmdargs = parser.parse_args()
+
+ SGDIRS = []
+ SGgrp = "Default"
+
+ signal.signal(signal.SIGINT, signal_handler)
+
+ print("\nBalance MythTV Storage Group Directories\nPress Ctrl+C to quit")
+
+ # Get Storage Groups from MythDB
+ try:
+ from MythTV import MythDB
+ mythDB = MythDB()
+ records = mythDB.getStorageGroup()
+ except:
+ print("Couldn't connect to MythTV database.")
+ sys.exit(1)
+
+ # Get Storage Group directories
+ for record in records:
+ if record.groupname == SGgrp:
+ dirname = record.dirname
+ SGDIRS.append(dirname)
+
+ # If there are less than 2 directories defined bail as we can't move anything
+ if len(SGDIRS) < 2:
+ print("There are less than 2 directories defined. Exiting.")
+ sys.exit(0)
+
+ while not shouldQuit:
+ SGDIRSdata = []
+ print("\n------------------------------------------------")
+ print("'" + SGgrp + "' Storage Group Directories - Percent Used:")
+ # Get percent free and size free
+ for directory in SGDIRS:
+ # Check if SG path exists
+ if not os.path.exists(directory):
+ print(" " + directory + " - Not Mounted")
+ continue
+ freePcent = getFreePercentForDir(directory)
+ freeSize = getFreeSpaceForDir(directory)
+ SGDIRSdata.append([directory, freePcent, freeSize])
+ print(" %s - %.2f%%" % (directory, freePcent * 100))
+
+ # Sort data on percent free
+ SGDIRSdata = sorted(SGDIRSdata, reverse=True, key=operator.itemgetter(1))
+ #print SGDIRSdata
+
+ # Check if SG has any ts, mpg or nuv files
+ i=0
+ for dir in SGDIRSdata:
+ mostFull = SGDIRSdata[i]
+ i=i+1
+ if len(glob.glob1(mostFull[0],"*.ts")) or len(glob.glob1(mostFull[0],"*.mpg")) or len(glob.glob1(mostFull[0],"*.nuv")):
+ break
+ else:
+ if i == 1:
+ print("------------------------------------------------")
+ print(" " + mostFull[0] + " - NO files to move")
+
+ leastFull = SGDIRSdata[-1]
+
+ print("------------------------------------------------")
+ print("Most Used Storage Group Directory with files to move: ")
+ print(" %s - %.2f%%" % (mostFull[0], mostFull[1] * 100))
+ print("Least Used Storage Group Directory: ")
+ print(" %s - %.2f%%" % (leastFull[0], leastFull[1] * 100))
+
+ # Check if mostFull and leastFull are within the percent var of each other
+ if mostFull[1] - (float(cmdargs.percent) / 100) < leastFull[1]:
+ print("\nThe most used and least used storage group directories are\nwithin " + str(cmdargs.percent) + "% used of each other. No files will be moved.")
+ sys.exit()
+
+ # Get random file from most used dir
+ fileToMove = random.choice([f for f in os.listdir(mostFull[0]) if f.endswith(".ts") or f.endswith(".mpg") or f.endswith(".nuv")])
+ filePathToMove = mostFull[0] + "/" + fileToMove
+
+ # Check that the file isn't too big for least used dir
+ fileSize = getFileSize(filePathToMove)
+ if (fileSize > getFreeSpaceForDir(leastFull[0])):
+ # Too big to move
+ print(filePathToMove + " is too big to move to " + leastFull[0])
+ sys.exit()
+
+ # Move file
+ if cmdargs.checkonly:
+ print("------------------------------------------------")
+ print("Check Only option was used. No files were moved.")
+ shouldQuit = True
+ else:
+ isBusy = True
+ while isBusy:
+ if shouldQuit:
+ sys.exit(0)
+ print("------------------------------------------------")
+ print("Checking System Status...")
+ if subprocess.call(["/usr/bin/python", "/usr/bin/idle.py", "-s"]):
+ print(" System is busy. The file will not be moved.")
+ print(" Waiting 5 minutes before trying again.")
+ time.sleep(300)
+ else:
+ isBusy = False
+ print("------------------------------------------------")
+ print("Move File:")
+ print(" " + filePathToMove)
+ print(" Size: " + sizeof_fmt(os.path.getsize(filePathToMove)))
+ print("To:")
+ print(" " + leastFull[0])
+ print(" Available: " + sizeof_fmt(getFreeSpaceForDir(leastFull[0])))
+ print("Moving File...")
+ movingFiles = True
+ try:
+ shutil.move(filePathToMove, leastFull[0])
+ # eg. src and dest are the same file
+ except shutil.Error as e:
+ print(('Error: %s' % e))
+ except IOError as e:
+ print(('Error: %s' % e.strerror))
+
+ # Remove png files
+ print("------------------------------------------------")
+ print("Removing png Files:")
+ pngFiles = glob.glob(filePathToMove + "*.png")
+ for p in pngFiles:
+ os.remove(p)
+ print(" " + p)
+ movingFiles = False
diff --git a/linhes/linhes-system/be_check.py b/linhes/linhes-system/be_check.py
new file mode 100755
index 0000000..1a8dc58
--- /dev/null
+++ b/linhes/linhes-system/be_check.py
@@ -0,0 +1,12 @@
+#!/usr/bin/python
+#simple program to check if mythbackend is up and running
+#exit code of 0 is success, anything else means it can't connect
+import sys
+from MythTV import MythBE,MythDB
+
+try:
+ be = MythBE()
+ db = MythDB()
+except:
+ sys.exit(1)
+sys.exit(0)
diff --git a/linhes/linhes-system/checkXFSfrag.sh b/linhes/linhes-system/checkXFSfrag.sh
new file mode 100755
index 0000000..f3c71da
--- /dev/null
+++ b/linhes/linhes-system/checkXFSfrag.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+#
+# Bash script by Gene Alexander (http://www.eracc.com/contact)
+# of ERA Computers & Consulting (www.eracc.com, blog.eracc.com, shopping.eracc.com)
+# Written using vim, the BEST plain text file editor in all of Creation.
+#
+# Teach yourself bash scripting: http://tldp.org/LDP/abs/html/index.html
+#
+# Purpose: To check fragmentation on XFS with xfs_db and run xfs_fsr on XFS mount points that
+# are above a specific fragmentation threshold.
+#
+# What is xfs_db? Use 'man xfs_db' to find out.
+# What is xfs_fsr? Use 'man xfs_fsr' to find out.
+#
+# Any busy files, such as open logs on /var/log, will be skipped. To defragment logs one should
+# wrap this script with another script to stop and restart logging. Or, even better, write
+# one's own script just for defragmentation of the logs.
+#
+# Warranty: NONE. Use at your own discretion and be aware that data loss is on your head if
+# you choose to use this script.
+#
+# License: GPL 2.0 http://www.gnu.org/licenses/gpl-2.0.html
+#
+# Suggested Usage: crontab file for root
+# 0 0 * * * /root/bin/chkxfsfrag # Run at midnight
+#
+# Original Release: 2011 December 15 (Merry Christmas!)
+# DO NOT ALTER HEADER FROM THIS LINE UP.
+#
+e='/usr/bin/echo -e' # Use the echo command, not built-in.
+xfsfsr=/usr/bin/xfs_fsr # Set variable with the path to xfs_fsr.
+xfsdb=/usr/bin/xfs_db # Set variable with the path to xfs_db.
+ionice=/usr/bin/ionice # Set variable with the path to ionice.
+idle='/usr/bin/idle.py -s' # Set variable with path to idle.py.
+pctmax=12 # Set maxiumum frag percent needed for defrag.
+ # This is zero here for testing purposes only
+ # a higher number should be used in production.
+array=`df -T|grep xfs|cut -f 1 --delim=" "` # Array of all XFS file systems.
+for i in ${array[@]};
+do
+ #check for idle flag
+ if [[ $1 == "--idle" ]]
+ then
+ while ! $idle
+ do
+ echo "System is busy. Waiting 10 minutes before trying again."
+ sleep 600
+ done
+ fi
+ #check that the device is SATA and skip defrag on SSDs
+ device=`echo ${i} | cut -f 3 --delim="/" | sed 's/[0-9]//g'`
+ isSATA=`cat /sys/block/${device}/queue/rotational`
+ if [[ $isSATA -eq 1 ]]
+ then
+ percentage=`$xfsdb -c frag -r ${i}|grep factor|cut -f 7 --delim=" "`
+ percent2=`$e $percentage|cut -f 1 --delim=.`
+ if [[ "$percent2" -gt "$pctmax" ]]
+ then
+ $e "${i} is $percentage fragmented. Running defragment on ${i}."
+ # Only uncomment one of the following two lines.
+ #$xfsfsr -v ${i} # Uncomment for verbose defrag.
+ $ionice -c3 $xfsfsr ${i} # Uncomment for quiet defrag.
+ else
+ $e "${i} is $percent2% fragmented and is below the fragmentation threshold of $pctmax%. Skipping."
+ fi
+ else
+ echo "${i} is an SSD. Skipping."
+ fi
+done
+exit 0
diff --git a/linhes/linhes-system/create_media_dirs.sh b/linhes/linhes-system/create_media_dirs.sh
new file mode 100755
index 0000000..0aa44f5
--- /dev/null
+++ b/linhes/linhes-system/create_media_dirs.sh
@@ -0,0 +1,74 @@
+#!/bin/bash
+#script to create the media directories
+#used for building ISO (go.sh) and LiveCD (pre_install.sh)
+#call it like so
+#create_media_dirs.sh /top_level_path
+
+topdir=$1
+
+if [ x$topdir = "x" ]
+then
+ echo "Top level dir is empty"
+ exit 1
+fi
+
+if [ ! -d "$topdir" ]
+then
+ echo "$topdir is not a dir or does not exist"
+ exit 2
+fi
+
+
+
+while read dirname
+do
+ mkdir -p "${topdir}/${dirname}"
+ touch "${topdir}/${dirname}/.media"
+ chown mythtv:users "${topdir}/${dirname}"
+ chmod 775 "${topdir}/${dirname}"
+ chmod 775 "${topdir}/${dirname}/.media"
+done <<EOF
+media/tv
+media/tv/live
+media/gallery
+media/photos
+media/music
+media/games/nes/roms
+media/games/nes/screens
+media/games/nes
+media/games/pc/screens
+media/games/pc
+media/games/snes/roms
+media/games/snes/screens
+media/games/snes
+media/games/xmame/cabs
+media/games/xmame/flyers
+media/games/xmame/hiscores
+media/games/xmame/history
+media/games/xmame/roms
+media/games/xmame/screens
+media/games/xmame
+media/games
+media/video
+media/tmp
+media/archive
+media/recordings
+media/streaming
+media/artwork/trailers
+media/artwork/coverart
+media/artwork/fanart
+media/artwork/musicart
+media/artwork/screenshots
+media/artwork/banners
+media/games/screenshots
+media/games/fanart
+media/games/boxart
+backup
+backup/system_backups
+backup/user_backups
+backup/mythtv_backups
+EOF
+
+chown -R mythtv:users ${topdir}
+chmod -R 775 ${topdir}
+chmod 1777 "${topdir}/media/tmp"
diff --git a/linhes/linhes-system/diskspace.sh b/linhes/linhes-system/diskspace.sh
new file mode 100755
index 0000000..1ab6dd7
--- /dev/null
+++ b/linhes/linhes-system/diskspace.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+### Monitor free disk space
+# Display alert if the free percentage of space is >= $ALERT
+
+#
+# Static Config Variables
+#
+# free space percentage to trigger an alert
+ALERT=90
+
+#
+# Static Binary Paths
+#
+DF='/usr/bin/df'
+GREP='/usr/bin/grep'
+AWK='/usr/bin/awk'
+CUT='/usr/bin/cut'
+HOSTNAME='/usr/bin/hostnamectl hostname'
+DATE='/usr/bin/date'
+MSG_CLIENT='/usr/bin/lh_notify-send'
+
+#
+# Static System Variables
+#
+THIS_HOST=`${HOSTNAME}`
+
+#
+# Check CLI Options
+#
+VERBOSE=false
+OSD=false
+for ARG in "$@" ; do
+ case $ARG in
+ "-v")
+ VERBOSE=true
+ ;;
+ "-osd")
+ OSD=true
+ ;;
+ esac
+done
+
+[ $VERBOSE = true ] && echo "Checking free disk space on ${THIS_HOST}"
+[ $VERBOSE = true ] && echo "Threshold for warning is ${ALERT}%"
+[ $VERBOSE = true ] && echo "------------------------------------------------------------------"
+
+# Dynamic Variables
+#DATE_STR=`${DATE} "+%d-%B-%y @ %H%Mhrs"`
+
+# Call df to find the used percentages. Grep for only local disks (not remote mounts like nfs or smb)
+# Pipe the output to awk to get the needed columns, then start a while loop to process each line.
+$DF -HPl | $GREP -E "^/dev/" | $AWK '{ print $5 " " $6 " " $1 }' | while read OUTPUT ; do
+ USED_PCENT=$(echo ${OUTPUT} | $AWK '{ print $1}' | $CUT -d'%' -f1 ) # Used space as a percentage
+ PARTITION=$(echo ${OUTPUT} | $AWK '{ print $2 }' ) # Mount Point (eg, /home)
+ DEVICE=$(echo ${OUTPUT} | $AWK '{ print $3 }' ) # Device (eg, /dev/sda1 or LABEL or UUID)
+ if [ $VERBOSE = true ] ; then
+ echo -e "${USED_PCENT}% used:\tDevice ${DEVICE} mounted to ${PARTITION}"
+ fi
+ if [ ${USED_PCENT} -ge $ALERT ]; then
+ echo "WARNING: Partition (${PARTITION}) on (${DEVICE}) is ${USED_PCENT}% full on ${THIS_HOST}"
+ if [ $OSD = true ] && { [ ${PARTITION} = / ] || [ ${PARTITION} = /home ] || [ ${PARTITION} = /data/srv/mysql ]; } then
+ $MSG_CLIENT --app-name="Disk Space WARNING" "Partition (${PARTITION}) on (${DEVICE}) is ${USED_PCENT}% full."
+ fi
+ fi
+done
+
+exit 0
diff --git a/linhes/linhes-system/empty_storage_groups.py b/linhes/linhes-system/empty_storage_groups.py
new file mode 100755
index 0000000..708c118
--- /dev/null
+++ b/linhes/linhes-system/empty_storage_groups.py
@@ -0,0 +1,195 @@
+#!/usr/bin/python
+
+import argparse, glob, operator, os, random, shutil, subprocess, sys, signal
+shouldQuit = False
+
+def getFreeSpaceForDir(dir):
+ stats = os.statvfs(dir)
+ return (stats.f_bavail * stats.f_frsize)
+
+def getFreePercentForDir(dir):
+ stats = os.statvfs(dir)
+ total = (stats.f_blocks)
+ avail = (stats.f_bavail)
+ return (total - avail) / float(total)
+
+def getFileSize(fullPath):
+ return os.path.getsize(fullPath)
+
+def sizeof_fmt(num, suffix='B'):
+ for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']:
+ if abs(num) < 1024.0:
+ return "%3.1f %s%s" % (num, unit, suffix)
+ num /= 1024.0
+ return "%.1f %s%s" % (num, 'Yi', suffix)
+
+def signal_handler(signal, frame):
+ print("\nWill quit when file has been moved.\nMoving File...")
+ global shouldQuit
+ shouldQuit = True
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-c', '--checkonly', action='store_true', help="Check only, don't move any files.")
+ cmdargs = parser.parse_args()
+
+ SGs = []
+ SGDIRS = []
+ SGgrp = "Default"
+ SGselectdata = []
+
+ signal.signal(signal.SIGINT, signal_handler)
+
+ print("\nEmpty a MythTV Storage Group Directory\nPress Ctrl+C to quit")
+
+ # Get Storage Groups from MythDB
+ try:
+ from MythTV import MythDB
+ mythDB = MythDB()
+ records = mythDB.getStorageGroup()
+ recs = mythDB.getStorageGroup()
+ except:
+ print("Couldn't connect to MythTV database.")
+ sys.exit(1)
+
+ # get list of non duplicate SGs
+ for record in records:
+ SGs.append(record.groupname)
+ SGs=list(set(SGs))
+ # Move Default to top of list
+ if "Default" in SGs:
+ SGs.remove("Default")
+ SGs.insert(0,"Default")
+
+ # ask user which SG to use
+ print("\n------------------------------------------------")
+ print("Storage Groups:")
+ for i,sg in enumerate(SGs):
+ print(str(i+1) + ": " + sg)
+
+ try:
+ SGselect=input("\nEnter the number of the storage group to use (default 1): ") or 1
+ SGselect=int(SGselect)
+ if SGselect > len(SGs) or SGselect < 1:
+ SGselect=int("e")
+ except ValueError:
+ print("You must enter a number between 1 and " + str(len(SGs)) + ". Exiting.")
+ sys.exit(0)
+
+ SGgrp=SGs[SGselect-1]
+
+ # Get Storage Group directories
+ for record in recs:
+ if record.groupname == SGgrp:
+ dirname = record.dirname
+ SGDIRS.append(dirname)
+
+ # If there are less than 2 directories defined bail as we can't move anything
+ if len(SGDIRS) < 2:
+ print("There are less than 2 directories defined. Exiting.")
+ sys.exit(0)
+
+ while not shouldQuit:
+ SGDIRSdata = []
+ print("\n------------------------------------------------")
+ print("'" + SGgrp + "' Storage Group Directories - Percent Used:")
+ SGcnt=0
+ # Get percent free and size free
+ for directory in SGDIRS:
+ # Check if SG path exists
+ if not os.path.exists(directory):
+ print(" " + directory + " - Not Mounted")
+ continue
+ # Check if SG has data files to move
+ if len(glob.glob1(directory,"*.ts")) or len(glob.glob1(directory,"*.mpg")) or len(glob.glob1(directory,"*.nuv")) or len(glob.glob1(directory,"*.jpg")):
+ freePcent = getFreePercentForDir(directory)
+ freeSize = getFreeSpaceForDir(directory)
+ SGDIRSdata.append([directory, freePcent, freeSize])
+ SGcnt=SGcnt+1
+ print("%s: %s - %.2f%%" % (SGcnt, directory, freePcent * 100))
+ else:
+ # Check if the selected SG dir has no data files exit
+ if SGselectdata and SGselectdata[0] == directory:
+ print("\n'" + SGgrp + "' Storage Group directories have no files to move. Exiting")
+ sys.exit(0)
+
+ # Exit if no SGs with data found
+ if SGcnt is 0:
+ print("\n'" + SGgrp + "' Storage Group directories have no files to move. Exiting.")
+ sys.exit(0)
+
+ # Ask user to select which SG to empty if not already selected
+ if not SGselectdata:
+ try:
+ SGDIRselect=int(input("\nEnter the number of the storage group directory to empty: "))
+ if SGDIRselect > SGcnt or SGDIRselect < 1:
+ SGDIRselect=int("e")
+ except ValueError:
+ print("You must enter a number between 1 and %s. Exiting." %SGcnt)
+ sys.exit(0)
+
+ SGselectdata=SGDIRSdata[SGDIRselect-1]
+
+ # Sort data on percent free
+ SGDIRSdata = sorted(SGDIRSdata, reverse=True, key=operator.itemgetter(1))
+ leastFull = SGDIRSdata[-1]
+
+ # Make sure leastFull and SGselectdata are not the same dir
+ if leastFull[0] == SGselectdata[0]:
+ leastFull = SGDIRSdata[-2]
+
+ # Get random file from user selected dir
+ fileToMove = random.choice([f for f in os.listdir(SGselectdata[0]) if f.endswith(".ts") or f.endswith(".mpg") or f.endswith(".nuv") or f.endswith(".jpg")])
+ filePathToMove = SGselectdata[0] + "/" + fileToMove
+
+ # Check that the file isn't too big for least used dir
+ fileSize = getFileSize(filePathToMove)
+ if (fileSize > getFreeSpaceForDir(leastFull[0])):
+ # Too big to move
+ print(filePathToMove + " is too big to move to " + leastFull[0])
+ sys.exit()
+
+ print("------------------------------------------------")
+ print("Move File:")
+ print(" " + filePathToMove)
+ print(" Size: " + sizeof_fmt(os.path.getsize(filePathToMove)))
+ print("To:")
+ print(" " + leastFull[0])
+ print(" Available: " + sizeof_fmt(getFreeSpaceForDir(leastFull[0])))
+
+ # Move file
+ if cmdargs.checkonly:
+ print("------------------------------------------------")
+ print("Check Only option was used. No files were moved.")
+ shouldQuit = True
+ else:
+ print("------------------------------------------------")
+ print("Checking System Status...")
+ if subprocess.call(["/usr/bin/python", "/usr/bin/idle.py", "-s"]):
+ print(" System is busy. The file will not be moved.")
+ sys.exit()
+ print("Moving File...")
+ try:
+ shutil.move(filePathToMove, leastFull[0])
+ # eg. src and dest are the same file
+ except shutil.Error as e:
+ a=input("\n%s. Overwrite destination (y/n)? " % e)
+ if a == "y" or a == "Y":
+ os.remove(leastFull[0] + "/" + fileToMove)
+ shutil.move(filePathToMove, leastFull[0])
+ else:
+ b=input("\nRemove %s (y/n)? " % filePathToMove)
+ if b == "y" or b == "Y":
+ os.remove(filePathToMove)
+ # eg. source or destination doesn't exist
+ except IOError as e:
+ print(('Error: %s' % e.strerror))
+
+ # Remove png files for Default & LiveTV SGs
+ if SGgrp == "Default" or SGgrp == "LiveTV":
+ print("------------------------------------------------")
+ print("Removing png Files:")
+ pngFiles = glob.glob(filePathToMove + "*.png")
+ for p in pngFiles:
+ os.remove(p)
+ print(" " + p)
diff --git a/linhes/linhes-system/enableIRWake.sh b/linhes/linhes-system/enableIRWake.sh
new file mode 100755
index 0000000..8a9847a
--- /dev/null
+++ b/linhes/linhes-system/enableIRWake.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+for vendProdID in `lsusb | sed -e 's/.*ID \([a-f0-9]\+:[a-f0-9]\+\).*/\1/g'`
+do
+ foundRemote=`grep -i "$vendProdID" /usr/share/linhes/templates/remotes/receiver_usb.id`
+ if [[ $? = 0 ]]
+ then
+ #echo Found: $foundRemote
+ vendID=`echo $vendProdID | cut -d":" -f1`
+ prodID=`echo $vendProdID | cut -d":" -f2`
+ for usbDevice in `grep . /sys/bus/usb/devices/*/power/wakeup | cut -d"/" -f6`
+ do
+ foundVendID=`cat /sys/bus/usb/devices/$usbDevice/idVendor`
+ foundProdID=`cat /sys/bus/usb/devices/$usbDevice/idProduct`
+ if [[ $foundVendID == $vendID && $foundProdID == $prodID ]]
+ then
+ echo "Enable wake for $foundRemote on $usbDevice"
+ sudo sh -c "echo 'enabled' > /sys/bus/usb/devices/$usbDevice/power/wakeup"
+ fi
+ done
+ fi
+done
diff --git a/linhes/linhes-system/find_orphans.py b/linhes/linhes-system/find_orphans.py
new file mode 100755
index 0000000..786f01b
--- /dev/null
+++ b/linhes/linhes-system/find_orphans.py
@@ -0,0 +1,250 @@
+#!/usr/bin/python3
+# based on https://www.mythtv.org/wiki/Find_orphans.py
+
+from MythTV import MythDB, MythBE, Recorded, MythError
+from socket import timeout
+
+import os
+import sys
+
+def human_size(s):
+ s = float(s)
+ o = 0
+ while s > 1000:
+ s /= 1000
+ o += 1
+ return str(round(s,1))+('B ','KB','MB','GB','TB')[o]
+
+class File( str ):
+ def __new__(self, host, group, path, name, size):
+ return str.__new__(self, name)
+ def __init__(self, host, group, path, name, size):
+ self.host = host
+ self.group = group
+ self.path = path
+ self.size = int(size)
+ def pprint(self):
+ name = '%s: %s' % (self.host, os.path.join(self.path, self))
+ print(' {0:<90}{1:>8}'.format(name, human_size(self.size)))
+ def delete(self):
+ be = MythBE(self.host, db=DB)
+ be.deleteFile(self, self.group)
+
+class MyRecorded( Recorded ):
+ _table = 'recorded'
+ def pprint(self):
+ name = '{0.hostname}: {0.title}'.format(self)
+ if self.subtitle:
+ name += ' - '+self.subtitle
+ print(' {0:<70}{1:>28}'.format(name,self.basename))
+
+def printrecs(title, recs):
+ print(title)
+ for rec in sorted(recs, key=lambda x: x.title):
+ rec.pprint()
+ print('{0:>87}{1:>12}'.format('Count:',len(recs)))
+
+def printfiles(title, files):
+ print(title)
+ for f in sorted(files, key=lambda x: x.path):
+ f.pprint()
+ size = sum([f.size for f in files])
+ print('{0:>87}{1:>12}'.format('Total:',human_size(size)))
+
+def populate(host=None):
+ unfiltered = []
+ kwargs = {'livetv':True}
+ if host:
+ with DB as c:
+ c.execute("""SELECT count(1) FROM settings
+ WHERE hostname=%s AND value=%s""",
+ (host, 'BackendServerAddr'))
+ if c.fetchone()[0] == 0:
+ raise Exception('Invalid hostname specified on command line.')
+ hosts = [host]
+ kwargs['hostname'] = host
+ else:
+ with DB as c:
+ c.execute("""SELECT hostname FROM settings
+ WHERE value='BackendServerAddr'""")
+ hosts = [r[0] for r in c.fetchall()]
+ for host in hosts:
+ for sg in DB.getStorageGroup():
+ if sg.groupname in ('Videos','Banners','Coverart','Fanart',\
+ 'Music','MusicArt', 'Photographs',\
+ 'Screenshots','Trailers'):
+ continue
+ try:
+ dirs,files,sizes = BE.getSGList(host, sg.groupname, sg.dirname)
+ for f,s in zip(files,sizes):
+ newfile = File(host, sg.groupname, sg.dirname, f, s)
+ if newfile not in unfiltered:
+ unfiltered.append(newfile)
+ except:
+ pass
+
+ recs = list(DB.searchRecorded(**kwargs))
+
+ zerorecs = []
+ orphvids = []
+ for rec in list(recs):
+ if rec.basename in unfiltered:
+ recs.remove(rec)
+ i = unfiltered.index(rec.basename)
+ f = unfiltered.pop(i)
+ if f.size < 1024:
+ zerorecs.append(rec)
+ name = rec.basename.rsplit('.',1)[0]
+ for f in list(unfiltered):
+ if name in f:
+ unfiltered.remove(f)
+ for f in list(unfiltered):
+ if not (f.endswith('.mpg') or f.endswith('.nuv') or f.endswith('.ts')):
+ continue
+ orphvids.append(f)
+ unfiltered.remove(f)
+
+ orphimgs = []
+ for f in list(unfiltered):
+ if not f.endswith('.png'):
+ continue
+ orphimgs.append(f)
+ unfiltered.remove(f)
+
+ dbbackup = []
+ for f in list(unfiltered):
+ if 'sql' not in f:
+ continue
+ dbbackup.append(f)
+ unfiltered.remove(f)
+
+ return (recs, zerorecs, orphvids, orphimgs, dbbackup, unfiltered)
+
+def delete_recs(recs):
+ printrecs('The following recordings will be deleted', recs)
+ print('Are you sure you want to continue? (yes/no)')
+ try:
+ res = input('> ')
+ while True:
+ if res == 'yes':
+ for rec in recs:
+ rec.delete(True, True)
+ break
+ elif res == 'no':
+ break
+ else:
+ res = input("'yes' or 'no' > ")
+ except MythError:
+ name = '{0.hostname}: {0.title}'.format(rec)
+ if rec.subtitle:
+ name += ' - '+rec.subtitle
+ print("Warning: Failed to delete '" + name + "'")
+ except KeyboardInterrupt:
+ pass
+ except EOFError:
+ sys.exit(0)
+
+def delete_files(files):
+ printfiles('The following files will be deleted', files)
+ print('Are you sure you want to continue? (yes/no)')
+ try:
+ res = input('> ')
+ while True:
+ if res == 'yes':
+ for f in files:
+ f.delete()
+ break
+ elif res == 'no':
+ break
+ else:
+ res = input("'yes' or 'no' > ")
+ except KeyboardInterrupt:
+ pass
+ except EOFError:
+ sys.exit(0)
+
+def main(host=None):
+ while True:
+ recs, zerorecs, orphvids, orphimgs, dbbackup, unfiltered = populate(host)
+
+ if len(recs):
+ printrecs("Recordings with missing files", recs)
+ if len(zerorecs):
+ printrecs("Zero byte recordings", zerorecs)
+ if len(orphvids):
+ printfiles("Orphaned video files", orphvids)
+ if len(orphimgs):
+ printfiles("Orphaned snapshots", orphimgs)
+ if len(dbbackup):
+ printfiles("Database backups", dbbackup)
+ if len(unfiltered):
+ printfiles("Other files", unfiltered)
+ if not printOnly:
+ opts = []
+ if len(recs):
+ opts.append(['Delete orphaned recording entries', delete_recs, recs])
+ if len(zerorecs):
+ opts.append(['Delete zero byte recordings', delete_recs, zerorecs])
+ if len(orphvids):
+ opts.append(['Delete orphaned video files', delete_files, orphvids])
+ if len(orphimgs):
+ opts.append(['Delete orphaned snapshots', delete_files, orphimgs])
+ if len(unfiltered):
+ opts.append(['Delete other files', delete_files, unfiltered])
+ opts.append(['Refresh list', None, None])
+ print('Please select from the following:')
+ for i, opt in enumerate(opts):
+ if opt[0] == "Refresh list":
+ print(' R. {1}'.format(i+1, opt[0]))
+ refreshNum=i+1
+ else:
+ print(' {0}. {1}'.format(i+1, opt[0]))
+
+ print(' Q. Quit')
+ try:
+ inner = True
+ res = input('> ')
+ while inner:
+ try:
+ res = int(res)
+ except:
+ if res == "Q" or res == "q":
+ sys.exit(0)
+ elif res == "R" or res == "r":
+ res = refreshNum
+ else:
+ res = input('Invalid selection > ')
+ continue
+ if (res <= 0) or (res > len(opts)):
+ res = input('Invalid selection > ')
+ continue
+ break
+ opt = opts[res-1]
+ if opt[1] is None:
+ continue
+ else:
+ opt[1](opt[2])
+
+ except KeyboardInterrupt:
+ break
+ except EOFError:
+ sys.exit(0)
+ else:
+ sys.exit(0)
+DB = MythDB()
+BE = MythBE(db=DB)
+DB.searchRecorded.handler = MyRecorded
+DB.searchRecorded.dbclass = MyRecorded
+
+if __name__ == '__main__':
+ global printOnly
+ if "--printonly" in sys.argv :
+ printOnly=True
+ else:
+ printOnly=False
+
+
+ if len(sys.argv) == 2 and sys.argv[1] != "--printonly":
+ main(sys.argv[1])
+ else:
+ main()
diff --git a/linhes/linhes-system/flatpak_update.cron b/linhes/linhes-system/flatpak_update.cron
new file mode 100644
index 0000000..8d0d83a
--- /dev/null
+++ b/linhes/linhes-system/flatpak_update.cron
@@ -0,0 +1,2 @@
+#!/bin/bash
+flatpak update --noninteractive --assumeyes
diff --git a/linhes/linhes-system/fstrim.hook b/linhes/linhes-system/fstrim.hook
new file mode 100644
index 0000000..3f80657
--- /dev/null
+++ b/linhes/linhes-system/fstrim.hook
@@ -0,0 +1,9 @@
+[Trigger]
+Operation = Install
+Type = Package
+Target = linhes-system
+
+[Action]
+Description = Enable fstrim.timer...
+When = PostTransaction
+Exec = /usr/bin/systemctl enable fstrim.timer
diff --git a/linhes/linhes-system/gen_lib_xml.py b/linhes/linhes-system/gen_lib_xml.py
new file mode 100755
index 0000000..8169f4e
--- /dev/null
+++ b/linhes/linhes-system/gen_lib_xml.py
@@ -0,0 +1,115 @@
+#! /usr/bin/python
+#Helper program that generates library.xml thats custom to linhes.
+#Contents are read from /etc/gen_lib_xml.d
+#This script should be run everytime an entry is added or removed
+
+
+import os, sys, subprocess
+import glob
+
+class Gen_lib_xml:
+ def __init__(self,snippit_dir,orig_theme_file):
+ self.snippit_dir = snippit_dir
+ self.orig_theme_file = orig_theme_file
+ self.xml_snippets=[]
+ self.orig_theme_xml=[]
+ self.new_xml=[]
+
+ def get_new_xml(self):
+ return self.new_xml
+ def get_orig_xml(self):
+ return self.orig_theme_xml
+ def get_snippits(self):
+ return self.xml_snippets
+
+ def read_snippets(self):
+ xml_snippets=""
+ lines=[]
+ try:
+ os.chdir(self.snippit_dir)
+ except:
+ print(" gen_lib_xml: Couldn't change dir to %s" %self.snippit_dir)
+ print(" Exiting")
+ sys.exit(0)
+ file_list=glob.glob("*.conf")
+ for conf_file in file_list:
+ try:
+ print(" gen_lib_xml: reading in %s" %conf_file)
+ f=open(conf_file,'r')
+ line=f.readlines()
+ f.close()
+ except:
+ print(" gen_lib_xml: Couldn't open %s for reading" %conf_file)
+ print(" Exiting")
+ sys.exit(0)
+ lines.extend(line)
+
+ if len(file_list) == 0:
+ print(" gen_lib_xml: no conf files found")
+ lines = []
+ self.xml_snippets = lines
+
+ def read_orig_xml(self):
+ try:
+ print(" gen_lib_xml: reading in %s" %self.orig_theme_file)
+ f=open(self.orig_theme_file,'r')
+ lines=f.readlines()
+ f.close()
+
+ except:
+ print(" gen_lib_xml: Couldn't open %s for reading" %self.orig_theme_file)
+ print(" Exiting")
+ sys.exit(2)
+ #print lines
+ for i in lines:
+ if i.strip() == "</mythmenu>":
+ lines.remove(i)
+ print(" gen_lib_xml: Removing /mythmenu tag ")
+ break
+ self.orig_theme_xml=lines
+
+ def make_new_xml(self):
+ self.new_xml = self.orig_theme_xml + self.xml_snippets
+ self.new_xml.append("</mythmenu>\n")
+ pass
+
+
+
+
+
+
+
+
+def write_xml(xml,filename):
+ try:
+ f=open(filename, 'w')
+ except:
+ print(" gen_lib_xml: Couldn't open %s" %(filename))
+ print(" Exiting")
+ sys.exit(2)
+ print(" gen_lib_xml: Writing %s" %(filename))
+ for i in xml:
+ f.write(i)
+ f.close()
+
+def main():
+ MYTHHOME=subprocess.check_output("lh_home_check.sh").decode('utf-8').strip()
+ filename="%s/.mythtv/library.xml" %MYTHHOME
+ orig_theme_file="/usr/share/mythtv/themes/defaultmenu/library.xml"
+ lib_xml_dir="/etc/gen_lib_xml.d/"
+
+ lib_xml = Gen_lib_xml(lib_xml_dir,orig_theme_file)
+ lib_xml.read_snippets()
+ lib_xml.read_orig_xml()
+ lib_xml.make_new_xml()
+ lib_xml.make_new_xml()
+ new_xml = lib_xml.get_new_xml()
+
+ #a = lib_xml.get_new_xml()
+ #b = lib_xml.get_orig_xml()
+ #c = lib_xml.get_snippits()
+
+ write_xml(new_xml,filename)
+
+if __name__ == "__main__":
+ main()
diff --git a/linhes/linhes-system/idle.py b/linhes/linhes-system/idle.py
new file mode 100755
index 0000000..778677d
--- /dev/null
+++ b/linhes/linhes-system/idle.py
@@ -0,0 +1,379 @@
+#!/usr/bin/python
+
+import argparse, os, re, subprocess, sys, time
+from datetime import datetime, date, timedelta
+
+def msg(cmdargs,msg):
+ if cmdargs.silent is False:
+ print("%s" %msg)
+
+def mythshutdownlock_check(cmdargs,cursor):
+ if (cmdargs.lock):
+ msg(cmdargs," Checking mythshutdown for lock...")
+ try:
+ cursor.execute("select data from settings where value = 'MythShutdownLock'")
+ results=cursor.fetchone()
+ except:
+ return True
+ lock=results[0]
+ if int(lock) == 0 :
+ msg(cmdargs," mythshutdown is NOT locked.")
+ return True
+ else:
+ msg(cmdargs," mythshutdown is locked.")
+ return False
+ else:
+ return True
+
+def dailywake_check(cmdargs,cursor):
+ if (cmdargs.daily):
+ msg(cmdargs," Checking if in a daily wake period...")
+ dailyWake=False
+ today = date.today()
+ now = datetime.now()
+ try:
+ cursor.execute("select data from settings where value = 'DailyWakeupStartPeriod1'")
+ results=cursor.fetchone()
+ p1Start=datetime.strptime(' '.join([str(today), results[0]]), "%Y-%m-%d %H:%M")
+ cursor.execute("select data from settings where value = 'DailyWakeupEndPeriod1'")
+ results=cursor.fetchone()
+ p1End=datetime.strptime(' '.join([str(today), results[0]]), "%Y-%m-%d %H:%M")
+ cursor.execute("select data from settings where value = 'DailyWakeupStartPeriod2'")
+ results=cursor.fetchone()
+ p2Start=datetime.strptime(' '.join([str(today), results[0]]), "%Y-%m-%d %H:%M")
+ cursor.execute("select data from settings where value = 'DailyWakeupEndPeriod2'")
+ results=cursor.fetchone()
+ p2End=datetime.strptime(' '.join([str(today), results[0]]), "%Y-%m-%d %H:%M")
+ except:
+ print("error")
+ return True
+
+ # Check for time periods that cross midnight
+ if (p1End < p1Start):
+ if (now > p1End):
+ p1End = p1End + timedelta(days=1)
+ else:
+ p1Start = p1Start + timedelta(days=-1)
+ if (p2End < p2Start):
+ if (now > p2End):
+ p2End = p2End + timedelta(days=1)
+ else:
+ p2Start = p2Start + timedelta(days=-1)
+
+ #Check for one of the daily wakeup periods
+ if (p1Start != p1End):
+ if (now >= p1Start and now <= p1End):
+ msg(cmdargs," Currently in daily wake period 1.")
+ return False
+ if (p2Start != p2End):
+ if (now >= p2Start and now <= p2End):
+ msg(cmdargs," Currently in daily wake period 2.")
+ return False
+
+ #Are we about to start a daily wakeup period using the -t TIME var
+ if (p1Start != p1End):
+ delta=p1Start-now
+ if (delta.seconds >= 0 and delta.seconds <= cmdargs.time * 60):
+ msg(cmdargs," Daily wake period 1 will start in less than %s minutes." %cmdargs.time)
+ return False
+ if (p2Start != p2End):
+ delta=p2Start-now
+ if (delta.seconds >= 0 and delta.seconds <= cmdargs.time * 60):
+ msg(cmdargs," Daily wake period 2 will start in less than %s minutes." %cmdargs.time)
+ return False
+
+ msg(cmdargs," Currently NOT in a daily wake period.")
+ return True
+ else:
+ return True
+
+def schemalock_check(cmdargs,cursor):
+ msg(cmdargs," Checking if the schema is locked...")
+ try:
+ cursor.execute("select count(*) from schemalock")
+ results=cursor.fetchone()
+ except:
+ return True
+ schemalock=results[0]
+ if schemalock == 0:
+ msg(cmdargs," The schema is NOT locked.")
+ return True
+ else:
+ msg(cmdargs," The schema is locked.")
+ return False
+
+def in_use(cmdargs,cursor):
+ msg(cmdargs," Checking if programs are in use...")
+ try:
+ cursor.execute("select count(*) from inuseprograms")
+ results=cursor.fetchone()
+ except:
+ return True
+ prginuse=results[0]
+ if prginuse == 0 :
+ msg(cmdargs," Programs are NOT in use.")
+ return True
+ else:
+ msg(cmdargs," %s programs are in use." %prginuse)
+ cursor.execute("select recusage,chanid,lastupdatetime from inuseprograms")
+ results=cursor.fetchall()
+ for i in results:
+ msg(cmdargs," %s - %s - %s" %(i[0],i[1],i[2]))
+ return False
+
+def job_check(cmdargs,cursor):
+ msg(cmdargs," Checking jobqueue for active jobs...")
+ try:
+ cursor.execute("select count(*) from jobqueue where status between 2 and 5")
+ results=cursor.fetchone()
+ except:
+ return True
+ jobs=results[0]
+ if jobs == 0 :
+ msg(cmdargs," No jobs are active.")
+ return True
+ else:
+ msg(cmdargs," Jobs are active.")
+ return False
+
+def upcoming_check(cmdargs,mythBE):
+ msg(cmdargs," Checking for recordings in the next %s minutes..." %cmdargs.time)
+ try:
+ upcoming = mythBE.getUpcomingRecordings()
+ except:
+ msg(cmdargs," Could not get upcoming recordings.")
+ return True
+ time_diff=10000
+ r=0
+ for i in upcoming:
+ r += 1
+ if r > 1:
+ break
+ show=str(i)
+ show=show.strip()
+ showtime=re.split("[-+]\d\d:\d\d",str(i.starttime))[0]
+ now=time.time()
+ rec_time=time.strptime( showtime ,"%Y-%m-%d %H:%M:%S" )
+ r=time.mktime(rec_time)
+ time_diff = ( r - now ) / 60
+
+ if ( time_diff > cmdargs.time) :
+ msg(cmdargs," No recordings starting in %s minutes." %cmdargs.time)
+ return True
+ else:
+ msg(cmdargs," A recording is starting in %s minutes." %int(time_diff))
+ return False
+
+def mfd_check(cmdargs):
+ msg(cmdargs," Checking if mythfilldatabase is running...")
+ with open(os.devnull, "w") as fnull:
+ mythfilldatabase_ret = subprocess.call(["pidof", "mythfilldatabase"], stdout=fnull)
+ if mythfilldatabase_ret == 0 :
+ msg(cmdargs," mythfilldatabase is running.")
+ return False
+ else:
+ msg(cmdargs," mythfilldatabase is NOT running.")
+ return True
+
+def mythtvsetup_check(cmdargs):
+ msg(cmdargs," Checking if mythtv-setup is running...")
+ with open(os.devnull, "w") as fnull:
+ mythsetup_ret = subprocess.call(["pidof", "mythtv-setup"], stdout=fnull)
+ if mythsetup_ret == 0 :
+ msg(cmdargs," mythtv-setup is running.")
+ return False
+ else:
+ msg(cmdargs," mythtv-setup is NOT running.")
+ return True
+
+def userlogins_check(cmdargs):
+ if (cmdargs.logins):
+ u=False
+ msg(cmdargs," Checking for users logged in...")
+ users=subprocess.check_output("who")
+ names=([x.split() for x in users.splitlines()])
+ for i in names:
+ if (i[0] == "mythtv" and i[4] == "(:0)"):
+ msg(cmdargs," Ignoring %s %s" %(i[0],i[4]))
+ else:
+ msg(cmdargs," User logged in: %s %s" %(i[0],i[4]))
+ u=True
+ if u:
+ return False
+ else:
+ return True
+ else:
+ return True
+
+def sambafiles_check(cmdargs):
+ if (cmdargs.sambafiles):
+ msg(cmdargs," Checking if Samba files are in use...")
+ try:
+ smbstatus=subprocess.check_output(["smbstatus", "-L"])
+ except:
+ smbstatus="No locked files"
+ if "No locked files" in smbstatus:
+ msg(cmdargs," Samba files are NOT in use.")
+ return True
+ else:
+ msg(cmdargs," Samba files are in use.")
+ return False
+ else:
+ return True
+
+def mythfe_check(cmdargs,cursor,mythDB):
+ #checks to see if a frontend is considered idle
+ # True means FE is idle
+
+ if ( cmdargs.runningfe ):
+ msg(cmdargs," Checking for running and playing mythfrontends...")
+ else:
+ msg(cmdargs," Checking for playing mythfrontends...")
+ try:
+ cursor.execute("select distinct hostname from settings where hostname is not null;")
+ frontends=cursor.fetchall()
+ except:
+ return True
+
+ for i in frontends:
+ try:
+ msg(cmdargs," Checking %s's mythfrontend status..." %i)
+ frontend = mythDB.getFrontend(''.join(i))
+ if ( cmdargs.runningfe ):
+ msg(cmdargs," %s's mythfrontend is RUNNING." %i)
+ return False
+ location = frontend.sendQuery('Location')
+
+ if location == "standbymode":
+ msg(cmdargs," %s's mythfrontend is in Standby Mode." %i)
+ continue
+
+ if ( location.startswith('Playback ') ):
+ msg(cmdargs," %s's mythfrontend is PLAYING." %i)
+ return False
+ else:
+ msg(cmdargs," %s's mythfrontend is NOT playing." %i)
+
+ if '.xml' in location or 'mainmenu' in location:
+ msg(cmdargs," %s's mythfrontend is in MENUS." %i)
+ else:
+ #FE is not in menus, so it must be active in a plugin
+ msg(cmdargs," %s's mythfrontend is NOT in menus." %i)
+ return False
+ except:
+ msg(cmdargs," Could not connect to %s's mythfrontend." %i)
+
+ if ( cmdargs.runningfe ):
+ msg(cmdargs," mythfrontends are not running or playing or are in menus.")
+ else:
+ msg(cmdargs," mythfrontends are not playing or are in menus.")
+
+ return True
+
+def usage():
+ line = '''
+ idle.py checks if the system is idle.
+ Use idle.py -h to see options.
+
+ idle.py checks these parts of the system in this order to
+ determine if it is idle:
+ - (option -g) users are logged in return busy
+ ignores mythtv (:0) for busy
+ - (option -f) Samba files are in use return busy
+ - (option -l) mythshutdown is locked return busy
+ - (option -d) in a daily wake period or
+ about to start a daily wake period return busy
+ checks the next 15 minutes. -t TIME changes time
+ - schema is locked return busy
+ - there are in use programs return busy
+ - there are active jobs in the job queue return busy
+ - mythfilldatabase is running return busy
+ - mythtv-setup is running return busy
+ - there are upcoming recordings return busy
+ checks the next 15 minutes. -t TIME changes time
+ - (option -r) mythfrontends running return busy
+ - mythfrontends playing back a recording or video return busy
+ - mythfrontends not in menus return busy
+
+ idle.py stops checking and returns false (busy) when the first busy is found.
+ '''
+ print(line)
+ sys.exit(0)
+
+def main(args=[False]):
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-d', '--daily', action='store_true', help='Include daily wake & about to start wake in system busy. (default: daily wake & about to start wake is system idle)')
+ parser.add_argument('-g', '--logins', action='store_true', help='Include user logins in system busy. Ignores mythtv (:0) in system busy.')
+ parser.add_argument('-f', '--sambafiles', action='store_true', help='Include Samba files in use in system busy.')
+ parser.add_argument('-l', '--lock', action='store_true', help='Include mythshutdown lock in system busy. (default: mythshutdown lock is system idle)')
+ parser.add_argument('-r', '--runningfe', action='store_true', help='Include running mythfrontends in system busy. (default: running mythfrontends are system idle)')
+ parser.add_argument('-s', '--silent', action='store_true', help='Run without printing output. Recommended for use in cron jobs or scripts.')
+ parser.add_argument('-t', '--time', type=int, default=15, help='Minutes of idle time needed to return idle for upcoming recordings and daily wake.')
+ parser.add_argument('-u', '--usage', action='store_true', help='Print usage instructions.')
+ if args[0] is False:
+ cmdargs = parser.parse_args()
+ else:
+ cmdargs = parser.parse_args(args)
+
+ if cmdargs.usage:
+ usage()
+ idle=True
+ msg(cmdargs,"Checking system idle...")
+
+ if (userlogins_check(cmdargs)):
+ idle = True
+ else:
+ idle = False
+
+ if (idle and sambafiles_check(cmdargs)):
+ idle = True
+ else:
+ idle = False
+
+ try:
+ from MythTV import MythDB
+ mythDB = MythDB()
+ cursor = mythDB.cursor()
+ db_conn=True
+ except:
+ msg(cmdargs,"Couldn't connect to MythTV database.")
+ db_conn=False
+
+ try:
+ from MythTV import MythBE
+ mythBE = MythBE()
+ be_conn=True
+ except:
+ msg(cmdargs,"Couldn't connect to MythTV backend.")
+ be_conn=False
+
+ if ( db_conn and idle ):
+ if (mythshutdownlock_check(cmdargs,cursor) and dailywake_check(cmdargs,cursor) and schemalock_check(cmdargs,cursor) and in_use(cmdargs,cursor) and job_check(cmdargs,cursor)):
+ idle=True
+ else:
+ idle=False
+
+ if ( be_conn and idle ):
+ if (mfd_check(cmdargs) and mythtvsetup_check(cmdargs) and upcoming_check(cmdargs,mythBE)):
+ idle=True
+ else:
+ idle=False
+
+ if ( db_conn and idle ):
+ if (mythfe_check(cmdargs,cursor,mythDB)):
+ idle=True
+ else:
+ idle=False
+
+ if ( idle ):
+ msg(cmdargs,"System is idle.")
+ else:
+ msg(cmdargs,"System is busy.")
+ return idle
+
+if __name__ == "__main__":
+ idle=main()
+ if ( idle ):
+ exit(0)
+ else:
+ exit(1)
diff --git a/linhes/linhes-system/jobqueue_helper.py b/linhes/linhes-system/jobqueue_helper.py
new file mode 100755
index 0000000..6a567cb
--- /dev/null
+++ b/linhes/linhes-system/jobqueue_helper.py
@@ -0,0 +1,63 @@
+#!/usr/bin/python
+
+import argparse, os, re, subprocess, sys, time
+from MythTV import MythDB, Job
+
+mythDB = MythDB()
+cursor = mythDB.cursor()
+
+def set_cmds(cmdargs,job):
+ #print "Setting cmds on job %s to %s" %(cmdargs.jobid,cmdargs.cmd)
+ cursor.execute("update jobqueue set cmds = '%s' where id = '%s'" %(cmdargs.cmd,cmdargs.jobid))
+
+def set_comment(cmdargs,job):
+ #print "Setting comment on job %s to %s" %(cmdargs.jobid,cmdargs.comment)
+ job.setComment("%s" %cmdargs.comment)
+
+def set_status(cmdargs,job):
+ #print "Setting status on job %s to %s" %(cmdargs.jobid,cmdargs.status)
+ job.setStatus("%s" %cmdargs.status)
+
+def run_cursor(cmdargs):
+ cursor.execute("%s" %cmdargs.man_cursor)
+ results=cursor.fetchone()
+ print(results[0])
+
+def usage():
+ line = '''
+ jobqueue_helper.py provides MythTV job queue functions
+ using python bindings for bash scripts.
+ Use jobqueue_helper.py -h to see options.
+ '''
+ print(line)
+ sys.exit(0)
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-cs', '--comment_set', action='store', dest='comment', help='Set the comment of the jobid')
+ parser.add_argument('-cmds', '--cmd_set', type=int, default=77777, action='store', dest='cmd', help='Set the cmd of the jobid')
+ parser.add_argument('-ss', '--status_set', type=int, action='store', dest='status', help='Set the status of the jobid')
+ action = parser.add_mutually_exclusive_group(required=True)
+ action.add_argument('-j', '--jobid', type=int, help='jobid of the job to control')
+ action.add_argument('-m', '--man_cursor', action='store', dest='man_cursor', help='Manual mysql cursor command')
+ action.add_argument('-u', '--usage', action='store_true', help='Print usage instructions.')
+
+ cmdargs = parser.parse_args()
+
+ if cmdargs.usage:
+ usage()
+
+ if cmdargs.jobid:
+ job = Job(cmdargs.jobid)
+
+ if cmdargs.comment:
+ set_comment(cmdargs, job)
+
+ if cmdargs.status:
+ set_status(cmdargs, job)
+
+ if cmdargs.cmd != 77777:
+ set_cmds(cmdargs, job)
+
+ if cmdargs.man_cursor:
+ run_cursor(cmdargs)
diff --git a/linhes/linhes-system/lh_apply_UI_settings.sh b/linhes/linhes-system/lh_apply_UI_settings.sh
new file mode 100755
index 0000000..2cf98a1
--- /dev/null
+++ b/linhes/linhes-system/lh_apply_UI_settings.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+cp /usr/share/linhes/templates/plasma-org.kde.plasma.desktop-appletsrc ~/.config/
+plasma-apply-colorscheme BreezeDark
+kwriteconfig5 --group KDE --key SingleClick false
+kwriteconfig5 --file ~/.config/kscreenlockerrc --group Daemon --key Autolock false
+kwriteconfig5 --file ~/.config/kscreenlockerrc --group Daemon --key LockOnResume false
+kwriteconfig5 --file ~/.config/ksmserverrc --group General --key loginMode emptySession
+kwriteconfig5 --file ~/.config/powermanagementprofilesrc --group AC --group DPMSControl --key idleTime --delete
+kwriteconfig6 --file ~/.powerdevilrc --group AC --group Display --key DimDisplayWhenIdle false
+kwriteconfig6 --file ~/.powerdevilrc --group AC --group Display --key TurnOffDisplayWhenIdle false
+kwriteconfig6 --file ~/.powerdevilrc --group AC --group SuspendAndShutdown --key AutoSuspendAction 0
+
+plasma-apply-wallpaperimage /usr/share/linhes/templates/lights-bud-abstract-4k-cq.jpg
+
+#sddm settings
+if grep -Fxq "User=km" /etc/sddm.conf.d/autologin.conf; then
+ echo "Updating /etc/sddm.conf.d/autologin.conf"
+ echo "[Autologin]" | sudo tee /etc/sddm.conf.d/autologin.conf
+ echo "User=$(whoami)" | sudo tee -a /etc/sddm.conf.d/autologin.conf
+ echo "Session=plasmax11" | sudo tee -a /etc/sddm.conf.d/autologin.conf
+fi
+
+if [ -f "/etc/sddm.conf" ]; then
+ sudo rm /etc/sddm.conf
+fi
+
+if [ ! -f "/etc/sddm.conf.d/theme.conf" ]; then
+ echo "[General]" | sudo tee /etc/sddm.conf.d/theme.conf
+ echo "Numlock=on" | sudo tee -a /etc/sddm.conf.d/theme.conf
+
+ echo "[Theme]" | sudo tee /etc/sddm.conf.d/theme.conf
+ echo "Current=breeze" | sudo tee -a /etc/sddm.conf.d/theme.conf
+ echo "CursorTheme=breeze_cursors" | sudo tee -a /etc/sddm.conf.d/theme.conf
+ echo "Font=Noto Sans,10,-1,0,400,0,0,0,0,0,0,0,0,0,0,1" | sudo tee -a /etc/sddm.conf.d/theme.conf
+fi
+
+#disable file indexing
+balooctl6 disable
diff --git a/linhes/linhes-system/lh_home_check.sh b/linhes/linhes-system/lh_home_check.sh
new file mode 100755
index 0000000..de4e089
--- /dev/null
+++ b/linhes/linhes-system/lh_home_check.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+#Detect the name of the display in use
+display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)"
+
+#Detect the user using such display
+user=$(who | grep '('$display')' | awk '{print $1}' | head -n 1)
+
+echo /home/$user
diff --git a/linhes/linhes-system/lh_lighttpd.conf b/linhes/linhes-system/lh_lighttpd.conf
new file mode 100644
index 0000000..71709a2
--- /dev/null
+++ b/linhes/linhes-system/lh_lighttpd.conf
@@ -0,0 +1,295 @@
+#######################################################################
+# lighttpd configuration file
+#######################################################################
+
+## modules to load
+# at least mod_access and mod_accesslog should be loaded
+# all other module should only be loaded if really neccesary
+# - saves some time
+# - saves memory
+server.modules = (
+ "mod_rewrite",
+# "mod_redirect",
+ "mod_alias",
+ "mod_access",
+# "mod_cml",
+# "mod_trigger_b4_dl",
+ "mod_auth",
+ "mod_status",
+ "mod_setenv",
+ "mod_fastcgi",
+ "mod_proxy",
+# "mod_simple_vhost",
+# "mod_evhost",
+# "mod_userdir",
+ "mod_cgi",
+# "mod_compress",
+ "mod_ssi",
+# "mod_usertrack",
+# "mod_expire",
+# "mod_secdownload",
+# "mod_rrdtool",
+ "mod_accesslog" )
+
+## a static document-root, for virtual-hosting take look at the
+## server.virtual-* options
+server.document-root = "/data/srv/httpd/htdocs"
+
+## where to send error-messages to
+#server.errorlog = "/var/log/lighttpd/error.log"
+#### accesslog module
+#accesslog.filename = "/var/log/lighttpd/access.log"
+
+##send errors to syslog
+server.errorlog-use-syslog = "enable"
+$HTTP["url"] !~ "\.(jpe?g|png|gif|css)" { accesslog.use-syslog = "enable" }
+
+## File uploads
+# Make sure this folder exists and is writable to server.username
+# Add /data/storage/disk0/media/tmp/ for large file downloads in MythWeb
+server.upload-dirs = ( "/var/tmp/", "/data/storage/disk0/media/tmp/" )
+
+# files to check for if .../ is requested
+index-file.names = ( "index.php", "index.html",
+ "index.htm", "default.htm" , "mythweb.php" )
+
+## set the event-handler (read the performance section in the manual)
+# server.event-handler = "freebsd-kqueue" # needed on OS X
+
+# mimetype mapping
+mimetype.assign = (
+".pdf" => "application/pdf",
+".sig" => "application/pgp-signature",
+".spl" => "application/futuresplash",
+".class" => "application/octet-stream",
+".ps" => "application/postscript",
+".torrent" => "application/x-bittorrent",
+".dvi" => "application/x-dvi",
+".gz" => "application/x-gzip",
+".pac" => "application/x-ns-proxy-autoconfig",
+".swf" => "application/x-shockwave-flash",
+".tar.gz" => "application/x-tgz",
+".tgz" => "application/x-tgz",
+".tar" => "application/x-tar",
+".zip" => "application/zip",
+".mp3" => "audio/mpeg",
+".m3u" => "audio/x-mpegurl",
+".wma" => "audio/x-ms-wma",
+".wax" => "audio/x-ms-wax",
+".ogg" => "application/ogg",
+".wav" => "audio/x-wav",
+".gif" => "image/gif",
+".jar" => "application/x-java-archive",
+".jpg" => "image/jpeg",
+".jpeg" => "image/jpeg",
+".png" => "image/png",
+".svg" => "image/svg+xml",
+".xbm" => "image/x-xbitmap",
+".xpm" => "image/x-xpixmap",
+".xwd" => "image/x-xwindowdump",
+".css" => "text/css",
+".html" => "text/html",
+".shtml" => "text/html",
+".htm" => "text/html",
+".js" => "text/javascript",
+".asc" => "text/plain",
+".c" => "text/plain",
+".cpp" => "text/plain",
+".log" => "text/plain",
+".conf" => "text/plain",
+".text" => "text/plain",
+".txt" => "text/plain",
+".dtd" => "text/xml",
+".xml" => "text/xml",
+".mpeg" => "video/mpeg",
+".mpg" => "video/mpeg",
+".mp4" => "video/quicktime",
+".mov" => "video/quicktime",
+".qt" => "video/quicktime",
+".avi" => "video/x-msvideo",
+".asf" => "video/x-ms-asf",
+".asx" => "video/x-ms-asf",
+".wmv" => "video/x-ms-wmv",
+".bz2" => "application/x-bzip",
+".tbz" => "application/x-bzip-compressed-tar",
+".tar.bz2" => "application/x-bzip-compressed-tar",
+# default mime type
+"" => "application/octet-stream",
+)
+
+# Use the "Content-Type" extended attribute to obtain mime type if possible
+#mimetype.use-xattr = "enable"
+
+
+## send a different Server: header
+## be nice and keep it at lighttpd
+# server.tag = "lighttpd"
+
+
+## deny access the file-extensions
+#
+# ~ is for backupfiles from vi, emacs, joe, ...
+# .inc is often used for code includes which should in general not be part
+# of the document-root
+url.access-deny = ( "~", ".inc" )
+
+$HTTP["url"] =~ "\.pdf$" {
+ server.range-requests = "disable"
+}
+ssi.extension = ( ".shtml" )
+
+##
+# which extensions should not be handle via static-file transfer
+#
+# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
+static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
+
+######### Options that are good to be but not neccesary to be changed #######
+
+## bind to port (default: 80)
+#server.port = 81
+
+## bind to localhost (default: all interfaces)
+#server.bind = "127.0.0.1"
+
+## error-handler for status 404
+server.error-handler-404 = "/index.html"
+
+## to help the rc.scripts
+server.pid-file = "/var/run/lighttpd/lighttpd.pid"
+
+
+###### virtual hosts
+##
+## If you want name-based virtual hosting add the next three settings and load
+## mod_simple_vhost
+##
+## document-root =
+## virtual-server-root + virtual-server-default-host + virtual-server-docroot
+## or
+## virtual-server-root + http-host + virtual-server-docroot
+##
+#simple-vhost.server-root = "/srv/http/vhosts/"
+#simple-vhost.default-host = "www.example.org"
+#simple-vhost.document-root = "/htdocs/"
+
+
+##
+## Format: <errorfile-prefix><status-code>.html
+## -> ..../status-404.html for 'File not found'
+#server.errorfile-prefix = "/usr/share/lighttpd/errors/status-"
+#server.errorfile-prefix = "/srv/http/errors/status-"
+
+## virtual directory listings
+#dir-listing.activate = "enable"
+## select encoding for directory listings
+#dir-listing.encoding = "utf-8"
+
+## enable debugging
+#debug.log-request-header = "enable"
+#debug.log-response-header = "enable"
+#debug.log-request-handling = "enable"
+#debug.log-file-not-found = "enable"
+
+### only root can use these options
+#
+# chroot() to directory (default: no chroot() )
+#server.chroot = "/"
+
+## change uid to <uid> (default: don't care)
+server.username = "http"
+
+## change uid to <uid> (default: don't care)
+server.groupname = "http"
+
+#### compress module
+#compress.cache-dir = "/var/cache/lighttpd/compress/"
+#compress.filetype = ("text/plain", "text/html")
+
+#### proxy module
+## read proxy.txt for more info
+#proxy.server = ( ".php" =>
+# ( "localhost" =>
+# (
+# "host" => "192.168.0.101",
+# "port" => 80
+# )
+# )
+# )
+
+#### fastcgi module
+## read fastcgi.txt for more info
+## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
+$HTTP["url"] =~ "^/mythweb/" {
+ server.document-root = "/data/srv/httpd/mythweb"
+ alias.url += ( "/mythweb" => "/data/srv/httpd/mythweb/")
+ fastcgi.server = (
+ "/mythweb/mythweb.php" => ((
+ "bin-path" => "/usr/bin/php-cgi",
+ "socket" => "/var/run/lighttpd/mythtv-php-fcgi.socket",
+ "broken-scriptfilename" => "enable",
+ "bin-environment" => (
+ "db_server" => "localhost",
+ "db_name" => "mythconverg",
+ "db_login" => "mythtv",
+ "db_password" => "mythtv"
+ )
+ ))
+ )
+
+ setenv.add-environment = (
+ "db_server" => "localhost",
+ "db_name" => "mythconverg",
+ "db_login" => "mythtv",
+ "db_password" => "mythtv"
+)
+}
+
+$HTTP["url"] =~ "^/zabbix/" {
+ server.document-root = "/data/srv/httpd/zabbix"
+ alias.url += ( "/zabbix" => "/data/srv/httpd/zabbix/")
+ fastcgi.server = (
+ ".php" => ((
+ "bin-path" => "/usr/bin/php-cgi",
+ "socket" => "/var/run/lighttpd/zabbix-php-fcgi.socket",
+ "broken-scriptfilename" => "enable",
+ ))
+ )
+}
+
+#### CGI module
+cgi.assign = ( ".pl" => "/usr/bin/perl",
+ ".cgi" => "/usr/bin/perl",
+ ".sh" => "/usr/bin/bash",
+ ".py" => "/usr/bin/python")
+
+alias.url += ( "/cgi-bin" => "/data/srv/httpd/cgi-bin/")
+
+$HTTP["url"] =~ "^/cgi-bin" {
+ cgi.assign = ( "" => "" )
+ }
+
+#### url handling modules (rewrite, redirect, access)
+#url.rewrite = ( "^/$" => "/server-status" )
+#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
+
+#### setenv
+#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
+#setenv.add-response-header = ( "X-Secret-Message" => "42" )
+
+#### include
+#include "/etc/lighttpd/auth-inc.conf"
+## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf"
+#include "lighttpd-inc.conf"
+
+#### include_shell
+#include_shell "echo var.a=1"
+## the above is same as:
+#var.a=1
+
+url.rewrite-once = (
+"^/{1,2}mythweb/(css|data|images|js|themes|skins|[a-z_]+\.(php|pl)).*" => "$0",
+"^/{1,2}mythweb/(pl(/.*)?)$" => "/mythweb/mythweb.pl/$1",
+"^/{1,2}mythweb/(.+)$" => "/mythweb/mythweb.php/$1",
+"^/{1,2}mythweb/(.*)$" => "/mythweb/mythweb.php"
+)
diff --git a/linhes/linhes-system/lh_log_care.cron b/linhes/linhes-system/lh_log_care.cron
new file mode 100755
index 0000000..ace0534
--- /dev/null
+++ b/linhes/linhes-system/lh_log_care.cron
@@ -0,0 +1,16 @@
+#!/bin/bash
+MYTH_RUN_STATUS=1
+. /etc/profile
+
+BackupDir="/var/log/20*-*-*"
+KeepBackups=14
+NumBackups=`ls -d $BackupDir | wc -l`
+
+if [[ $NumBackups > $KeepBackups ]]; then
+ echo "Deleting old log files"
+ numdel=$(($NumBackups-$KeepBackups))
+ rm -rf `ls -d $BackupDir | head -$numdel`
+fi
+
+echo "Compressing log files"
+find $BackupDir -type f -mtime +6 \( ! -iname "*.gz" \) -exec gzip -9 {} \;
diff --git a/linhes/linhes-system/lh_mtc.cron b/linhes/linhes-system/lh_mtc.cron
new file mode 100644
index 0000000..b556d60
--- /dev/null
+++ b/linhes/linhes-system/lh_mtc.cron
@@ -0,0 +1,80 @@
+#!/bin/bash
+MYTH_RUN_STATUS=1
+. /etc/systemconfig
+. /etc/profile
+
+date=`date +%Y-%m-%d`
+timestamp=`date +'%Y-%m-%d %H:%M'`
+hostname=`/usr/bin/hostnamectl hostname`
+logFile="/var/log/${date}/${hostname}_lh_mtc.log"
+log="logger -t lh_mtc -p local6.info"
+
+if [ ! -f $logFile ]; then
+ touch $logFile
+ echo "" | $log
+fi
+
+#check logfile for Finished and if not run lh_mtc.py
+if ! grep -q "Finished Maintenance" $logFile
+then
+
+ if ! grep -q "Finished checking size of MythTV home" $logFile
+ then
+ sudo -u mythtv bash -c "MYTHCONFDIR=/usr/share/mythtv unbuffer lh_mtc.py --check_home | $log"
+ if [ $? = 0 ]
+ then
+ echo "" | $log
+ else
+ echo "Time Exceeded" | $log
+ exit
+ fi
+ fi
+
+ if ! grep -q "Finished Optimize" $logFile
+ then
+ if [ $SystemType = FrontendOnly ]
+ then
+ echo "Will not run Optimize on Frontend Only systems." | $log
+ echo "Finished Optimize" | $log
+ else
+ sudo -u mythtv bash -c "MYTHCONFDIR=/usr/share/mythtv unbuffer lh_mtc.py --optimize | $log"
+ if [ $? = 0 ]
+ then
+ echo "" | $log
+ else
+ echo "Time Exceeded" | $log
+ exit
+ fi
+ fi
+ fi
+
+ if ! grep -q "Finished Backup" $logFile && grep -q "Finished Optimize" $logFile
+ then
+ sudo -u mythtv bash -c "MYTHCONFDIR=/usr/share/mythtv unbuffer lh_mtc.py --backup | $log"
+ if [ $? = 0 ]
+ then
+ echo "" | $log
+ else
+ echo "Time Exceeded" | $log
+ exit
+ fi
+ fi
+
+# if ! grep -q "Finished Update" $logFile
+# then
+# sudo -u mythtv bash -c "MYTHCONFDIR=/usr/share/mythtv unbuffer lh_mtc.py --update | $log"
+# if [ $? = 0 ]
+# then
+# echo "" | $log
+# else
+# echo "Time Exceeded" | $log
+# exit
+# fi
+# fi
+
+# if grep -q "Finished checking size of MythTV home" $logFile && grep -q "Finished Optimize" $logFile && grep -q "Finished Backup" $logFile && grep -q "Finished Update" $logFile
+ if grep -q "Finished checking size of MythTV home" $logFile && grep -q "Finished Optimize" $logFile && grep -q "Finished Backup" $logFile
+ then
+ echo "Finished Maintenance" | $log
+ fi
+fi
diff --git a/linhes/linhes-system/lh_mtc.py b/linhes/linhes-system/lh_mtc.py
new file mode 100755
index 0000000..5a8b75e
--- /dev/null
+++ b/linhes/linhes-system/lh_mtc.py
@@ -0,0 +1,153 @@
+#!/usr/bin/python
+import sys, subprocess
+import re
+import socket
+import os
+import datetime,time
+import shlex
+sys.dont_write_bytecode = True
+
+try:
+ from MythTV import MythBE
+ mythtv = MythBE()
+except:
+ mythtv = None
+
+#print mythtv.db.getSetting( 'Theme', socket.gethostname())
+
+def get_timestamp():
+ now = datetime.datetime.now()
+ date = (now.strftime('%Y-%m-%d %H:%M'))
+ return date
+
+def getFreePercentForDir(dir):
+ stats = os.statvfs(dir)
+ total = (stats.f_blocks)
+ avail = (stats.f_bavail)
+ return (total - avail) / float(total)
+
+def check_home():
+ #get the mythtv home dir
+ MYTHHOME=subprocess.check_output("lh_home_check.sh").decode('utf-8').strip()
+
+ freePcent = getFreePercentForDir(MYTHHOME)
+ print(" Home directory percent used: " + str(freePcent * 100) + "%")
+ if float(freePcent) > .9:
+ print(" Home directory is greater than 90% used. Clearing caches...")
+ cmd = "/usr/bin/rm -rf " + MYTHHOME + "/.mythtv/{*cache,Cache-*,tmp/*,MythMusic/AlbumArt/*}"
+ subprocess.call(["sh", "-c", cmd])
+ print(" Restarting mythfrontend...")
+ subprocess.call(["killall", "mythfrontend"])
+ cmd = "/usr/bin/rm -rf " + MYTHHOME + "/.cache/*"
+ subprocess.call(["sh", "-c", cmd])
+ cmd = "/usr/bin/rm -rf " + MYTHHOME + "/.plexht/userdata/Thumbnails/*"
+ subprocess.call(["sh", "-c", cmd])
+ cmd = "/usr/bin/rm -rf " + MYTHHOME + "/.plexht/userdata/ThemeMusicCache/*"
+ subprocess.call(["sh", "-c", cmd])
+ freePcent = getFreePercentForDir(MYTHHOME)
+ print(" Home directory percent used: " + str(freePcent * 100) + "%")
+ else:
+ print(" Home directory is less than 90% used. Not clearing caches.")
+ return 0
+
+def optimize():
+ try:
+ cursor = mythtv.db.cursor()
+ cursor.execute("SHOW tables")
+ result = cursor.fetchall()
+ except:
+ print("\n%s Problem getting tables from the database" %(get_timestamp()))
+ return 1
+ ops=["REPAIR","OPTIMIZE","ANALYZE"]
+ for row in result:
+ ctable=row[0]
+ for op in ops:
+ print(" %s %s" %(op,ctable))
+ cmd= "%s table %s" %(op,ctable)
+ cursor.execute(cmd)
+ return 0
+
+def cleanup_inuseprograms():
+ fourHoursAgo=datetime.datetime.today() - datetime.timedelta(hours=4)
+ cmd="DELETE FROM inuseprograms WHERE lastupdatetime < '%s';" %fourHoursAgo
+ try:
+ cursor = mythtv.db.cursor()
+ cursor.execute(cmd)
+ except:
+ print("\n%s Problem cleaning inuseprograms in database" %(get_timestamp()))
+
+
+def bail_if_another_is_running():
+ cmd = shlex.split("pgrep -u {} -f {}".format(os.getuid(), __file__))
+ pids = subprocess.check_output(cmd).decode('utf-8').strip().split('\n')
+ if len(pids) > 1:
+ pids.remove("{}".format(os.getpid()))
+ print("Exiting! Found {} is already running (pids): {}".format(
+ __file__, " ".join(pids)))
+ raise SystemExit(1)
+
+def run_stuff():
+ print("\n%s" %get_timestamp())
+
+ if (len(sys.argv) == 1) or ("--noidlecheck" in sys.argv) and (len(sys.argv) == 2):
+ runall = True
+ else:
+ runall = False
+
+ if ("--noidlecheck" in sys.argv):
+ print("No system idle check will be done.")
+ idle = 0
+ else:
+ idle = subprocess.call(["/usr/bin/python", "/usr/bin/idle.py"])
+
+ if not idle:
+ if ("--check_home" in sys.argv) or runall:
+ print("\n#######################################")
+ print("\n%s Checking size of MythTV home" %(get_timestamp()))
+ if not check_home():
+ print("\nFinished checking size of MythTV home")
+ else:
+ return True
+
+ if ("--optimize" in sys.argv) or runall:
+ print("\n#######################################")
+ print("\n%s Running Optimize" %(get_timestamp()))
+ if not optimize():
+ print("\nFinished Optimize")
+ else:
+ return True
+
+ if ("--backup" in sys.argv) or runall:
+ print("\n#######################################")
+ print("\n%s Running Backup" %(get_timestamp()))
+ if not os.system('sudo /usr/bin/lh_system_backup_job'):
+ print("\nFinished Backup")
+
+# if ("--update" in sys.argv) or runall:
+# print("\n#######################################")
+# print("\n%s Running System Update" %(get_timestamp()))
+# if not os.system('/usr/bin/lh_system_host_update'):
+# print("\nFinished Update")
+
+ print("\n#######################################")
+ continue_loop=False
+ else:
+ continue_loop=True
+ return continue_loop
+
+#---------------------------------
+bail_if_another_is_running()
+starttime=time.time()
+ctin=True
+while ctin:
+ cleanup_inuseprograms()
+ ctin=run_stuff()
+ if ctin:
+ print("\n%s Waiting 10 minutes before trying again." %(get_timestamp()))
+ time.sleep(600)
+
+ current_time=time.time()
+ if (current_time - starttime) > 3000 :
+ ctin = False
+ print("\n%s Time Exceeded 50 minutes. Quitting.)" %(get_timestamp()))
+ exit(1)
diff --git a/linhes/linhes-system/lh_myth_status.py b/linhes/linhes-system/lh_myth_status.py
new file mode 100755
index 0000000..c682d1c
--- /dev/null
+++ b/linhes/linhes-system/lh_myth_status.py
@@ -0,0 +1,271 @@
+#!/usr/bin/python
+#This program is called on login to display the status of mythtv tuners & recording status
+#Also will display alerts generated by xymon. If the location of xymon changes, this script needs to be updated.
+
+from MythTV import MythBE,MythDB,MythLog
+import datetime,pytz,re,socket,subprocess,sys,time
+from dateutil.parser import parse
+from tzlocal import get_localzone
+
+import os,glob
+from socket import gethostname;
+
+def formatTD(td):
+ days = td.days
+ hours = td.seconds // 3600
+ minutes = (td.seconds % 3600) // 60
+ seconds = td.seconds % 60
+
+ if days == 0:
+ day_string = ""
+ elif days > 1:
+ day_string = "%s days, " %days
+ else:
+ day_string = "%s day, " %days
+
+ if hours > 1:
+ hour_string = "%s hours, " %hours
+ else:
+ hour_string = "%s hour, " %hours
+
+ if minutes > 1:
+ minute_string = "%s minutes, " %minutes
+ else:
+ minute_string = "%s minute, " %minutes
+
+ if seconds > 1:
+ second_string = "%s seconds" %seconds
+ else:
+ second_string = "%s second" %seconds
+
+ return_string = '%s%s%s%s' % (day_string, hour_string, minute_string, second_string)
+ return return_string
+
+def print_alerts():
+ dir_name = "/home/xymon/var/login_alerts"
+ out_alert=""
+ try:
+ os.chdir(dir_name)
+ except:
+ pass
+ #print " myth_status: Couldn't change dir to %s" %dir_name
+
+ file_list=glob.glob("*")
+
+ if len(file_list) == 0:
+ #print " myth_status: no alert files found"
+ pass
+ else:
+ for alert_file in file_list:
+ out_line=''
+ datahost = ''
+ dataservice = ''
+ datacolor = ''
+ datadown = ''
+ try:
+ #print " myth_staus: reading in %s" %alert_file
+ f=open(alert_file,'r')
+ lines=f.readlines()
+ f.close()
+ except:
+ #print " myth_status: Couldn't open %s for reading" %alert_file
+ continue
+
+ for line in lines:
+ try:
+ data,value=line.split(":")
+ except:
+ continue #exception occured try the next line
+
+ if data == 'HOST':
+ datahost = value.strip()
+ elif data == 'SERVICE':
+ dataservice = value.strip()
+ elif data == 'COLOR':
+ datacolor = value.strip()
+ elif data == 'DOWN':
+ datadown = value.strip()
+ sec=int(datadown)
+ td_sec = datetime.timedelta(seconds=sec)
+ td_sec_formated = formatTD(td_sec)
+
+ out_line =" %s on %s %s for %s \n" %(dataservice,
+ datahost,datacolor.upper(),
+ td_sec_formated)
+ out_alert += out_line
+
+ print("System Alerts:")
+ print("--------------")
+ if len(out_alert) > 0:
+ print(out_alert)
+ print(" Go to http://%s and click Health & Maintenance for more information." %gethostname())
+ else:
+ print(" All systems OK")
+
+ return
+
+
+#-------------------------------------------
+
+
+class tuner_recording_status:
+ def __init__ (self,num_upcoming):
+
+ self.now = datetime.datetime.now(pytz.utc)
+ self.currTZ = get_localzone()
+ self.farout=99999999
+ self.next_start_diff=datetime.timedelta(self.farout)
+ self.num_upcoming=num_upcoming
+ self.tuner_status_list=[]
+ self.conflict_list=[]
+ self.upcoming_list=[]
+ self.ur=0
+ self.db_connection_status = self.check_database_connection()
+ if self.db_connection_status == 0:
+ self.tuner_status()
+ self.conflicts()
+ self.upcoming_recordings()
+
+ def get_db_check_status(self):
+ return self.db_connection_status
+
+ def check_database_connection(self):
+ rc=0
+ try:
+ self.be = MythBE()
+ self.db = MythDB()
+ self.cursor = self.db.cursor()
+ except:
+ print("\nCouldn't connect to MythTV service for status")
+ rc=1
+ return rc
+#-----
+ def tuner_status(self):
+ a=self.be.getRecorderList()
+ for i in a:
+ outline=''
+ cmd="select cardtype,hostname,displayname from capturecard where cardid=%s;" %i
+ self.cursor.execute(cmd)
+ results=self.cursor.fetchall()
+ type = results[0][0]
+ hostname = results[0][1]
+ displayname = results[0][2]
+ id = i
+ try:
+ c=self.be.getCurrentRecording(i)
+ if c.title == None:
+ current_recording = "Idle"
+ else:
+ current_recording = "Recording %s" %c.title
+ outline = " Tuner %s - %s (%s) on %s : %s " %(id, displayname, type, hostname, current_recording)
+ self.tuner_status_list.append(outline)
+ except:
+ outline = " Tuner %s - %s (%s) on %s : %s " %(id, displayname, type, hostname, "Tuner Error")
+ self.tuner_status_list.append(outline)
+
+ def get_tuner_status(self):
+ return self.tuner_status
+
+ def print_tuner_status(self):
+ print("Tuner Status:")
+ print("-------------")
+ if len(self.tuner_status_list) > 0 :
+ for line in self.tuner_status_list:
+ print(line)
+ else:
+ print(" No tuners found")
+#--------
+ def upcoming_recordings(self):
+
+ a=self.be.getUpcomingRecordings()
+ r=0
+ for i in a:
+ r += 1
+ if r > self.num_upcoming:
+ break
+ title_chan="%s (%s)" %(i.title, i.channame)
+ # convert timezone to local timezone
+ start_time=parse(str(i.starttime))
+ start_time=start_time.astimezone(self.currTZ)
+ start_time_out=start_time.strftime("%a %b %d %I:%M%p")
+ self.upcoming_list.append([start_time_out,i.hostname, title_chan])
+
+ diff = start_time - self.now
+ if diff < self.next_start_diff :
+ self.next_start_diff = diff
+
+ if self.next_start_diff == datetime.timedelta(self.farout):
+ self.ur="No recordings are scheduled"
+ else:
+ self.ur=formatTD(self.next_start_diff)
+
+ def get_upcoming_recordings(self):
+ return self.upcoming_list
+
+ def print_upcoming_recordings(self):
+ #print self.get_upcoming_recordings()
+ print("")
+ print("Upcoming Recordings (Next %s Scheduled):" %(self.num_upcoming))
+ print("----------------------------------------")
+ if len(self.get_upcoming_recordings()) > 0:
+ for i in self.get_upcoming_recordings():
+ #print " %s - %s - %s" %(start_time_out,i.hostname, title_chan)
+ print(" %s - %s - %s" %(i[0],i[1],i[2]))
+ else:
+ print(" No upcoming recordings")
+ pass
+
+ def get_next_start_time(self):
+ return self.ur
+
+ def print_next_start_time(self):
+ print("")
+ print("The next recording starts in:")
+ print("-----------------------------")
+ print(" %s" %(self.get_next_start_time()))
+ print("")
+
+#-----
+
+ def conflicts(self):
+ a=self.be.getConflictedRecordings()
+ for i in a:
+ out_line=''
+ title_chan="%s (%s)" %(i.title, i.channame)
+ # convert timezone to local timezone
+ start_time=parse(str(i.starttime))
+ start_time=start_time.astimezone(self.currTZ)
+ start_time_out=start_time.strftime("%a %b %d %I:%M%p")
+ out_line=(start_time_out,i.hostname,title_chan)
+ self.conflict_list.append(out_line)
+
+ def get_conflict_list(self):
+ return self.conflict_list
+
+ def print_conflict_list(self):
+ print("")
+ print("Recording Conflicts:")
+ print("--------------------")
+ if len(self.get_conflict_list()) > 0:
+ for i in self.get_conflict_list():
+ print(" %s - %s - %s" %(i[0],i[1],i[2]))
+ else:
+ print(" No conflicts")
+
+#header="#"*60
+
+
+def go():
+ welcomeFile=open("/etc/LinHES-release", "r")
+ print("Welcome to %s on %s\n" %(welcomeFile.readline().rstrip(), socket.gethostname()))
+ tuner = tuner_recording_status(12)
+ if tuner.get_db_check_status() == 0:
+ tuner.print_tuner_status()
+ tuner.print_upcoming_recordings()
+ tuner.print_conflict_list()
+ tuner.print_next_start_time()
+ #print_alerts()
+
+
+if __name__ == "__main__":
+ go()
diff --git a/linhes/linhes-system/lh_notify-send b/linhes/linhes-system/lh_notify-send
new file mode 100755
index 0000000..dd98ede
--- /dev/null
+++ b/linhes/linhes-system/lh_notify-send
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+#Detect the name of the display in use
+display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)"
+
+#Detect the user using such display
+user=$(who | grep '('$display')' | awk '{print $1}' | head -n 1)
+
+#Detect the id of the user
+uid=$(id -u $user)
+
+sudo -u $user DISPLAY=$display DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus notify-send "$@"
diff --git a/linhes/linhes-system/lh_php.ini b/linhes/linhes-system/lh_php.ini
new file mode 100644
index 0000000..bea2eae
--- /dev/null
+++ b/linhes/linhes-system/lh_php.ini
@@ -0,0 +1,64 @@
+[PHP]
+
+; Log errors to specified file. PHP's default behavior is to leave this value
+; empty.
+; http://php.net/error-log
+; Example:
+;error_log = php_errors.log
+; Log errors to syslog (Event Log on Windows).
+;error_log = syslog
+
+; How many GET/POST/COOKIE input variables may be accepted
+max_input_vars = 6000
+
+; Maximum execution time of each script, in seconds
+; https://php.net/max-execution-time
+; Note: This directive is hardcoded to 0 for the CLI SAPI
+max_execution_time = 300
+
+; idea to limit this time on productions servers in order to eliminate unexpectedly
+; long running scripts.
+; Note: This directive is hardcoded to -1 for the CLI SAPI
+; Default Value: -1 (Unlimited)
+; Development Value: 60 (60 seconds)
+; Production Value: 60 (60 seconds)
+; https://php.net/max-input-time
+max_input_time = 300
+
+; Maximum size of POST data that PHP will accept.
+; Its value may be 0 to disable the limit. It is ignored if POST data reading
+; is disabled through enable_post_data_reading.
+; https://php.net/post-max-size
+post_max_size = 16M
+
+; This directive determines whether or not PHP will recognize code between
+; <? and ?> tags as PHP source which should be processed as such. It is
+; generally recommended that <?php and ?> should be used and that this feature
+; should be disabled, as enabling it may result in issues when generating XML
+; documents, however this remains supported for backward compatibility reasons.
+; Note that this directive does not control the <?= shorthand tag, which can be
+; used regardless of this directive.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://php.net/short-open-tag
+short_open_tag = On
+
+; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
+; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
+; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
+; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
+; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
+; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
+; http://php.net/cgi.fix-pathinfo
+cgi.fix_pathinfo=1
+
+extension=bcmath.so
+extension=ftp.so
+extension=gd.so
+extension=gettext.so
+extension=mysqli.so
+;extension=openssl.so
+extension=pdo_mysql.so
+extension=sockets.so
+;extension=zip.so
diff --git a/linhes/linhes-system/lh_restart_needed.hook b/linhes/linhes-system/lh_restart_needed.hook
new file mode 100644
index 0000000..e22ecdc
--- /dev/null
+++ b/linhes/linhes-system/lh_restart_needed.hook
@@ -0,0 +1,9 @@
+[Trigger]
+Operation = Upgrade
+Type = Package
+Target = *
+
+[Action]
+Description = Checking if reboot is needed...
+When = PostTransaction
+Exec = /usr/bin/lh_restart_needed.sh
diff --git a/linhes/linhes-system/lh_restart_needed.sh b/linhes/linhes-system/lh_restart_needed.sh
new file mode 100755
index 0000000..2db8a2d
--- /dev/null
+++ b/linhes/linhes-system/lh_restart_needed.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+get_boot_kernel() {
+ local get_version=0
+ for field in $(file /boot/vmlinuz*); do
+ if [[ $get_version -eq 1 ]]; then
+ echo $field
+ return
+ elif [[ $field == version ]]; then
+ # the next field contains the version
+ get_version=1
+ fi
+ done
+}
+
+rc=1
+
+libs=$(lsof -n +c 0 2> /dev/null | grep 'DEL.*lib' | awk '1 { print $1 ": " $NF }' | sort -u)
+if [[ -n $libs ]]; then
+ cat <<< $libs
+ echo "# LIBS: reboot required"
+ rc=0
+fi
+
+active_kernel=$(uname -r)
+current_kernel=$(get_boot_kernel)
+#echo $active_kernel
+#echo $current_kernel
+
+if [[ $active_kernel != $current_kernel ]]; then
+ echo "$active_kernel < $current_kernel"
+ echo "# KERNEL: reboot required"
+ rc=0
+fi
+
+if [[ $rc == 1 ]]; then
+ echo "No reboot needed."
+fi
+exit $rc
diff --git a/linhes/linhes-system/lh_setup_fileshare.py b/linhes/linhes-system/lh_setup_fileshare.py
new file mode 100755
index 0000000..81eb5fa
--- /dev/null
+++ b/linhes/linhes-system/lh_setup_fileshare.py
@@ -0,0 +1,150 @@
+#!/usr/bin/python
+
+import glob, sys, subprocess, os, re, socket
+
+def setup_samba():
+ mythhome = subprocess.check_output("lh_home_check.sh").decode('utf-8').strip()
+ excludes = ['mysql','srv']
+ print(" Activating samba file sharing")
+ usersamba=mythhome+"/templates/smb.conf"
+ subprocess.call(["pacman", "-S", "--noconfirm", "samba", "avahi"])
+ if not os.path.exists("/etc/samba"):
+ print(" Creating directory /etc/samba")
+ try:
+ os.makedirs("/etc/samba")
+ except:
+ pass
+
+ if os.path.exists(usersamba):
+ print(" Using user provided config file " + usersamba)
+ subprocess.call(["install", "-Dm755", usersamba, "/etc/samba/smb.conf"])
+ else:
+ #Samba_media = systemconfig.get("Samba_media")
+ #Samba_home = systemconfig.get("Samba_home")
+ smreadonly = "yes"
+ shreadonly = "yes"
+ domain = "WORKGROUP"
+ servername = socket.gethostname()
+
+ try:
+ f = open("/usr/share/linhes/templates/smb.conf.template",'r')
+ t_smbconf = f.readlines()
+ f.close()
+ except:
+ print(" Couldn't open samba template file")
+ return
+
+ try:
+ f = open("/etc/samba/smb.conf",'w')
+ except:
+ print(" Couldn't open samba file")
+ return
+
+ for line in t_smbconf:
+ outline = line
+ if re.match("^.*workgroup", line):
+ print(" Setting workgroup to " + domain)
+ outline=" workgroup = %s\n" %domain
+ print(" " + outline)
+ if re.match("^.* server string",line):
+ print(" Setting server name to " + servername)
+ outline=" server string = %s\n" %servername
+ print(" " + outline)
+ f.write(outline)
+
+ outline="include = %s/templates/user.shares \n" %mythhome
+ f.write(outline)
+ outline="include = /etc/samba/smb.conf.media\n"
+ f.write(outline)
+ outline="include = /etc/samba/smb.conf.home\n"
+ f.write(outline)
+ f.close()
+
+ print(" Writing smb.conf.media")
+ try:
+ f = open("/etc/samba/smb.conf.media","w")
+ except:
+ print("* Couldn't open smb.conf.media")
+ return
+
+ shares = scan_for_shares()
+ medialines='''
+[%s]
+path = %s
+public = yes
+only guest = yes
+writeable = %s
+printable = no
+force user = mythtv
+force group = mythtv
+create mask = 0755\n'''
+ new_share=[]
+ excludes
+ for share in shares:
+ share_name = share.split("/")[-1]
+ share_path = share
+ f.write(medialines %(share_name,share_path,smreadonly) )
+ print(medialines %(share_name,share_path,smreadonly) )
+ excludeline = 'veto files = '
+ for exclude in excludes:
+ excludeline+= ''' /%s/ ''' %exclude
+
+ if excludes != []:
+ f.write( excludeline)
+ f.write("\n")
+
+ f.close()
+ print(" Writing smb.conf.home")
+ try:
+ f = open("/etc/samba/smb.conf.home","w")
+ except:
+ print(" Couldn't open smb.conf.home")
+ return
+ homelines='''
+[home]
+path = %s
+public = yes
+only guest = yes
+writeable = %s
+printable = no
+force user = mythtv
+force group = mythtv
+create mask = 0755 ''' %(mythhome,shreadonly)
+ f.write(homelines)
+ f.close()
+ print(" " + homelines)
+
+ print("\n Creating samba user mythtv")
+ os.system("(echo mythtv; echo mythtv) | smbpasswd -sa mythtv")
+ print("\n Starting SMB, NMB and avahi services")
+ subprocess.call(["systemctl", "enable", "--now", "smb.service"])
+ subprocess.call(["systemctl", "enable", "--now", "nmb.service"])
+ subprocess.call(["systemctl", "enable", "--now", "avahi-daemon.service"])
+ print("\n Finished setting up samba file sharing")
+
+
+def scan_for_shares():
+ import configparser
+ config = configparser.RawConfigParser()
+ file_list=glob.glob("/etc/storage.d/*.conf")
+ share_list = ['/data/storage/disk0']
+ for conf_file in file_list:
+ try:
+ print(" reading in %s" %conf_file)
+ config.read(conf_file)
+ shareable = config.get('storage','shareable')
+ if shareable == "True" :
+ mp = config.get('storage','mountpoint')
+ share_list.append(mp)
+# if config.get('storage','mmount') == "True" :
+# share_list.append("/myth")
+ except:
+ print(" Couldn't open %s for reading" %conf_file)
+ return share_list
+
+
+def setup_fileshare():
+ setup_samba()
+
+if __name__ == "__main__":
+ setup_fileshare()
diff --git a/linhes/linhes-system/lh_sqlserver.cnf b/linhes/linhes-system/lh_sqlserver.cnf
new file mode 100644
index 0000000..be2d5bd
--- /dev/null
+++ b/linhes/linhes-system/lh_sqlserver.cnf
@@ -0,0 +1,82 @@
+#
+# These groups are read by MariaDB server.
+# Use it for options that only the server (but not clients) should see
+#
+# See the examples of server my.cnf files in /usr/share/mysql/
+#
+
+# this is read by the standalone daemon and embedded servers
+[server]
+
+# this is only for the mysqld standalone daemon
+[mysqld]
+
+#
+# * Galera-related settings
+#
+[galera]
+# Mandatory settings
+#wsrep_on=ON
+#wsrep_provider=
+#wsrep_cluster_address=
+#binlog_format=row
+#default_storage_engine=InnoDB
+#innodb_autoinc_lock_mode=2
+#
+# Allow server to accept connections on all interfaces.
+#
+#bind-address=0.0.0.0
+#
+# Optional setting
+#wsrep_slave_threads=1
+#innodb_flush_log_at_trx_commit=0
+
+# this is only for embedded server
+[embedded]
+
+# This group is only read by MariaDB servers, not by MySQL.
+# If you use the same .cnf file for MySQL and MariaDB,
+# you can put MariaDB-only options here
+[mariadb]
+datadir=/data/srv/mysql
+
+skip-external-locking
+
+net_buffer_length = 8K
+key_buffer_size = 768M
+max_allowed_packet = 1M
+tmp_table_size = 256M
+max_heap_table_size = 256M
+sort_buffer_size = 2M
+read_buffer_size = 2M
+read_rnd_buffer_size = 2M
+myisam_sort_buffer_size = 64M
+thread_cache_size = 8
+query_cache_type = 0
+query_cache_size = 0
+query_cache_limit = 2M
+join_buffer_size = 1M
+ignore-db-dir = lost+found
+table_open_cache = 5000
+open_files_limit = 10000
+
+# Uncomment the following if you are using InnoDB tables
+#innodb_data_home_dir = /var/lib/mysql
+#innodb_data_file_path = ibdata1:10M:autoextend
+#innodb_log_group_home_dir = /var/lib/mysql
+# You can set .._buffer_pool_size up to 50 - 80 %
+# of RAM but beware of setting memory usage too high
+#innodb_buffer_pool_size = 16M
+#innodb_additional_mem_pool_size = 2M
+# Set .._log_file_size to 25 % of buffer pool size
+innodb_log_file_size = 16M
+#innodb_log_buffer_size = 8M
+#innodb_flush_log_at_trx_commit = 1
+#innodb_lock_wait_timeout = 50
+innodb_buffer_pool_instances = 1
+
+# This group is only read by MariaDB-10.8 servers.
+# If you use the same .cnf file for MariaDB of different versions,
+# use this group for options that older servers don't understand
+[mariadb-10.8]
+
diff --git a/linhes/linhes-system/lh_system_backup b/linhes/linhes-system/lh_system_backup
new file mode 100755
index 0000000..b3df6e1
--- /dev/null
+++ b/linhes/linhes-system/lh_system_backup
@@ -0,0 +1,32 @@
+#!/bin/bash
+. /etc/systemconfig
+lh_notify-send "Starting Backup..."
+#alert user the database will not be backed up
+if [ $SystemType != MasterBackend -a $SystemType != Standalone ]
+then
+ lh_notify-send "This is not the MasterBackend.\n Skipping backup of database."
+fi
+
+if [ $SystemType = MasterBackend -o $SystemType = Standalone ]
+then
+ lh_notify-send "Stopping MythBackend..."
+ systemctl stop mythbackend.service
+fi
+
+#do the backup
+lh_notify-send "Starting system backup..."
+lh_system_backup_job 2>&1 > /var/log/system_backup.log
+rc=$?
+if [ $SystemType = MasterBackend -o $SystemType = Standalone ]
+then
+ lh_notify-send "Starting MythBackend..."
+ systemctl start mythbackend.service
+fi
+
+if [ $rc = 0 ]
+then
+ complete_message="Backup completed successfully."
+else
+ complete_message="Backup failed."
+fi
+lh_notify-send "$complete_message"
diff --git a/linhes/linhes-system/lh_system_backup_job b/linhes/linhes-system/lh_system_backup_job
new file mode 100755
index 0000000..6d16596
--- /dev/null
+++ b/linhes/linhes-system/lh_system_backup_job
@@ -0,0 +1,339 @@
+#!/bin/bash
+#process that uses this system backup script
+# - lh_mtc.py
+
+MYTH_RUN_STATUS="1"
+. /etc/profile
+. /etc/systemconfig
+PLEXDIR=/var/lib/plex
+KeepBackups=14
+DATE=`date +%F_%H-%M`
+backup_status=0
+MYTHHOME=`lh_home_check.sh`
+MYTHSHUTDOWN="/usr/bin/mythshutdown"
+
+#find primary backup location
+for dir in /data/storage/disk*
+do
+ if [ $dir == /data/storage/disk0 ]; then
+ continue
+ fi
+ TESTDIR=`readlink $dir`
+ if [ -n $TESTDIR ]; then
+ BACKUPLINK=$dir
+ BACKUPDISK=$TESTDIR
+ BACKUPDIR=$TESTDIR/backup/system_backups
+ break
+ fi
+done
+
+if [ `mountpoint -q $BACKUPDISK 2> /dev/null` ]; then
+ echo " The system doesn't have a second drive. Backup skipped."
+ exit $backup_status
+fi
+
+
+#find secondary backup location
+for dir in /data/storage/disk*
+do
+ if [[ $dir == /data/storage/disk0 || $dir == $BACKUPLINK ]]; then
+ continue
+ fi
+ TESTDIR=`readlink $dir`
+ if [ -n $TESTDIR ]; then
+ SECBACKUPLINK=$dir
+ SECBACKUPDISK=$TESTDIR
+ SECBACKUPDIR=$TESTDIR/backup/system_backups
+ break
+ fi
+done
+
+function lock_myth(){
+ $MYTHSHUTDOWN --lock
+}
+
+function unlock_myth(){
+ $MYTHSHUTDOWN --unlock
+}
+
+function backup_status_check(){
+ if [ $1 -ne 0 ]
+ then
+ backup_status=1
+ fi
+}
+
+
+function backup(){
+
+ echo
+ echo "Starting Backup"
+ echo "Backup Directory: $BACKUPLINK --> $BACKUPDIR"
+ echo "Secondary Backup Directory: $SECBACKUPLINK --> $SECBACKUPDIR"
+ echo
+ mkdir -p $BACKUPDIR/$DATE
+
+ #backup database
+ if [ $SystemType = MasterBackend -o $SystemType = Standalone ]
+ then
+ echo
+ echo "Backup mariadb databases"
+ pacman -Q mysql 2>/dev/null
+ if [ $? = 0 ]
+ then
+ echo " mythconverg (mythtv database)"
+ /usr/bin/mariadb-dump -x mythconverg > $BACKUPDIR/$DATE/mythconverg
+ backup_status_check $?
+
+ #this is everything
+ echo " All databases in one file"
+ /usr/bin/mariadb-dump -x --all-databases > $BACKUPDIR/$DATE/all_databases
+ backup_status_check $?
+ fi
+ fi
+
+ echo "Backup saved settings"
+ if [ -e /usr/MythVantage/templates/settings ]
+ then
+ cp -rp /usr/MythVantage/templates/settings $BACKUPDIR/$DATE/settings
+ backup_status_check $?
+ fi
+
+ echo "Backup etc"
+ cp -rp /etc $BACKUPDIR/$DATE/etc
+
+ echo "Backup Plex Media Server databases and preferences"
+ if [ -e $PLEXDIR/Plex\ Media\ Server/Plug-in\ Support ]
+ then
+ mkdir $BACKUPDIR/$DATE/plex
+ backup_status_check $?
+ fi
+ if [ -e $PLEXDIR/Plex\ Media\ Server/Plug-in\ Support/Databases ]
+ then
+ mkdir -p $BACKUPDIR/$DATE/plex/Databases/
+ backup_status_check $?
+ cp -rp $PLEXDIR/Plex\ Media\ Server/Plug-in\ Support/Databases/*.db $BACKUPDIR/$DATE/plex/Databases/
+ backup_status_check $?
+ cp -rp $PLEXDIR/Plex\ Media\ Server/Plug-in\ Support/Databases/*.db-wal $BACKUPDIR/$DATE/plex/Databases/
+ backup_status_check $?
+ cp -rp $PLEXDIR/Plex\ Media\ Server/Plug-in\ Support/Databases/*.db-shm $BACKUPDIR/$DATE/plex/Databases/
+ backup_status_check $?
+ fi
+ if [ -e $PLEXDIR/Plex\ Media\ Server/Plug-in\ Support/Preferences ]
+ then
+ cp -rp $PLEXDIR/Plex\ Media\ Server/Plug-in\ Support/Preferences $BACKUPDIR/$DATE/plex/Preferences
+ backup_status_check $?
+ fi
+
+ #create default backup_exclude.txt
+ if [ ! -f $MYTHHOME/backup_config/backup_exclude.txt ]
+ then
+ mkdir -p $MYTHHOME/backup_config/
+ touch $MYTHHOME/backup_config/backup_exclude.txt
+ chmod 777 $MYTHHOME/backup_config/backup_exclude.txt
+ fi
+
+ for i in ".mythtv/cache" ".mythtv/themecache" ".mythtv/remotecache" ".mythtv/Cache-myth*" ".cache" "tmp" ".vnc/*log" ".vnc/*pid" ".plexht/userdata/Thumbnails" ".plexht/userdata/ThemeMusicCache" ".kodi/userdata/Thumbnails"
+ do
+ grep -qF "$i" $MYTHHOME/backup_config/backup_exclude.txt
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ echo "$i" >> $MYTHHOME/backup_config/backup_exclude.txt
+ fi
+ done
+
+ echo "Backup home dirs"
+ HOMEDIRS=""
+ tar -I pigz -cf $BACKUPDIR/$DATE/home_dir.tar.gz -X $MYTHHOME/backup_config/backup_exclude.txt $MYTHHOME $HOMEDIRS
+
+ if [ -f $MYTHHOME/backup_config/backup_include.txt ]
+ then
+ echo
+ echo "Backup items from $MYTHHOME/backup_config/backup_include.txt"
+ tar -I pigz -cf $BACKUPDIR/$DATE/other.tar.gz -T $MYTHHOME/backup_config/backup_include.txt
+ backup_status_check $?
+ fi
+
+ echo "Compress backup file"
+ cd $BACKUPDIR
+ tar -I pigz -cf $BACKUPDIR/backup.$DATE.tgz $DATE
+ backup_status_check $?
+ if [ -d $BACKUPDIR/$DATE ]
+ then
+ rm -rf $BACKUPDIR/$DATE
+ fi
+
+ if [ $backup_status -eq 0 ]
+ then
+ BACKUPPATH=$BACKUPDIR/backup.$DATE.tgz
+ else
+ echo "Backup had an error"
+ mkdir $BACKUPDIR/errored_backups
+ mv $BACKUPDIR/backup.$DATE.tgz $BACKUPDIR/errored_backups/backup.$DATE.tgz
+ BACKUPPATH=$BACKUPDIR/errored_backups/backup.$DATE.tgz
+ fi
+
+ if [ -f /home/xymon/server/ext/hbnotes.py ]
+ then
+ /home/xymon/server/ext/hbnotes.py
+ chown nobody:nobody /data/srv/httpd/htdocs/hobbit/notes/* 2> /dev/null >/dev/null
+ fi
+ echo
+ echo "Created backup file:"
+ echo " $BACKUPPATH"
+}
+
+function update_backup_status(){
+ echo
+ # Add Last backup status to menu item
+ #if description not in the backup xml file, add it
+ if [ $rc=0 ]
+ then
+ COMPLETE_MSG="Last backup completed `date '+%D %-I:%M %p'`"
+ else
+ COMPLETE_MSG="Last backup FAILED `date '+%D %-I:%M %p'`"
+ fi
+ echo "Updating menu with:"
+ echo " $COMPLETE_MSG"
+ xmlfile="/usr/share/mythtv/themes/defaultmenu/mythbackup.xml"
+
+ grep -q "<description>" $xmlfile >/dev/null
+ desc_check=$?
+
+ if [ $desc_check = 0 ]
+ then
+ sed -i "0,/<description\>.*\<description\>/s||\<description\>$COMPLETE_MSG<\/description|" $xmlfile
+ #sed -i "0,/\<description\>.*\<description\>/s//\<description\>$COMPLETE_MSG\<\/description/" $xmlfile
+ else
+ sed -i " /NONE/ i\ \<description\>$COMPLETE_MSG\<\/description\>" $xmlfile
+ fi
+}
+
+function remove_old_backups(){
+ #remove old backups
+ NumBackups=`ls $BACKUPDIR/backup*.tgz|wc -l`
+ if [[ $NumBackups -gt $KeepBackups ]]; then
+ numdel=$(($NumBackups-$KeepBackups))
+ rm -f `ls $BACKUPDIR/backup*.tgz -tr1|head -$numdel`
+ fi
+}
+
+
+function remote_backup(){
+ echo
+ echo "Remote backup"
+ #Remote copy
+ if [ x$RemoteBackup = x1 ]
+ then
+ localRemoteCheck=`echo $RemoteBackupDir | cut -d: -f1`
+ if [ x$localRemoteCheck = xdir ]
+ then
+ localRemotedir=`echo $RemoteBackupDir | cut -d: -f2`
+ echo " copying $BACKUPDIR/backup.$DATE.tgz to $localRemotedir "
+ cp $BACKUPDIR/backup.$DATE.tgz $localRemotedir
+ else
+ /usr/bin/func ${RemoteBackupDir} ping| grep -q "FAILED"
+ rc=$?
+ if [ $rc = 0 ]
+ then
+ #this is here to mark failed copy of the backup.
+ #There is a cron.hourly job that will attempt to retransfer the file
+ echo " Remote backup failed to ${RemoteBackupDir}"
+ echo backup.$DATE.tgz >> $BACKUPDIR/remote_backup_failed.txt
+ else
+ echo " copying $BACKUPDIR/backup.$DATE.tgz to ${RemoteBackupDir}:$BACKUPDIR/MBE_$DATE.tgz"
+ /usr/bin/func ${RemoteBackupDir} copyfile -f $BACKUPDIR/backup.$DATE.tgz --remotepath $BACKUPDIR/MBE_$DATE.tgz
+ fi
+ fi
+ else #do local copy to SECBACKUPLINK
+ echo " Remote backup is not enabled, copying backup to another drive on this system."
+
+ if [ -n "$SECBACKUPDISK" ]; then
+ SECBACKUP=$SECBACKUPDISK/backup
+ if [ ! `mountpoint -q $SECBACKUPDISK 2> /dev/null` ]; then
+ if [ ! -d "$SECBACKUPDIR" ]; then
+ mkdir -p -m 775 $SECBACKUPDIR
+ echo " Created $SECBACKUPDIR"
+ chown mythtv:users $SECBACKUPDIR
+ fi
+ echo " Copying system backups to $SECBACKUPDIR"
+ rsync -au --delete $BACKUPDIR/ $SECBACKUPDIR/
+ else
+ echo " $SECBACKUPDISK isn't mounted."
+ fi
+ else
+ echo " Could not find another drive on this system."
+ fi
+ fi
+}
+
+function remote_transfer(){
+ transfer_file=${1}
+ echo $transfer_file
+ /usr/bin/func ${RemoteBackupDir} ping| grep -q "FAILED"
+ rc=$?
+ if [ $rc = 0 ]
+ then
+ #this is here to mark a failed copy of the backup.
+ #There is a cron.hourly job that will attempt to retransfer the file
+ echo " Remote backup failed to ${RemoteBackupDir}"
+ echo $transfer_file >> $BACKUPDIR/remote_backup_failed.txt
+ else
+ echo " copying $BACKUPDIR/$transfer_file to ${RemoteBackupDir}:$BACKUPDIR/MBE_$transfer_file"
+ /usr/bin/func ${RemoteBackupDir} copyfile -f $BACKUPDIR/$transfer_file --remotepath $BACKUPDIR/MBE_$transfer_file
+ fi
+}
+
+function add_link(){
+ if [ -f $BACKUPDIR/remote_backup_failed.txt ]
+ then
+ RETRYFILE="/etc/cron.hourly/lh_backup_retry.sh"
+ echo "#!/bin/bash" > $RETRYFILE
+ echo "#This file was autogenerated and will be removed by lh_system_backup_job" >> $RETRYFILE
+ echo "MYTH_RUN_STATUS=1">> $RETRYFILE
+ echo ". /etc/profile">> $RETRYFILE
+ echo "lh_system_backup_job retry">> $RETRYFILE
+ chmod 755 $RETRYFILE
+ fi
+}
+
+function remove_link(){
+ RETRYFILE="/etc/cron.hourly/lh_backup_retry.sh"
+ if [ ! -f $BACKUPDIR/remote_backup_failed.txt ]
+ then
+ rm -f $RETRYFILE
+ fi
+}
+
+
+#------------------------------------
+lock_myth
+if [ "x$1" = "x" ]
+then
+ backup
+ #update_backup_status
+ #only remove old backups if there was no problems
+ if [ $backup_status -eq 0 ]
+ then
+ remove_old_backups
+ fi
+ remote_backup
+ add_link
+else
+ #this is where we attempt to transfer again as part of the cronjob
+ if [ -f $BACKUPDIR/remote_backup_failed.txt ]
+ then
+ mv -f $BACKUPDIR/remote_backup_failed.txt /tmp
+ while read line
+ do
+ echo $line
+ remote_transfer $line
+ done < /tmp/remote_backup_failed.txt
+ rm -f /tmp/remote_backup_failed.txt
+ fi
+ remove_link
+fi
+unlock_myth
+echo $backup_status > /var/run/systembackup.rc
+exit $backup_status
diff --git a/linhes/linhes-system/lh_system_start.sh b/linhes/linhes-system/lh_system_start.sh
new file mode 100755
index 0000000..3cbf5dc
--- /dev/null
+++ b/linhes/linhes-system/lh_system_start.sh
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+. /etc/profile
+#. /etc/systemconfig
+
+HOSTNAME=`/usr/bin/hostnamectl hostname`
+
+function msg(){
+ /usr/bin/lh_notify-send --app-name="LinHES" --icon=dialog-information "$1" "$2"
+}
+
+function check_installer_user(){
+ if [[ "$(whoami)" = 'km' ]]; then
+ echo "Running lh_system_start as installer user km. Exiting."
+ exit 1
+ fi
+}
+
+function applyUIsettings(){
+ /usr/bin/lh_apply_UI_settings.sh
+ msg "Welcome to LinHES 9!"
+}
+
+function x11vnc_setup(){
+ konsole -e /bin/bash -i -c "echo 'Create VNC password.' && x11vnc --storepasswd"
+ mkdir -p ~/.vnc
+ touch ~/.vnc/x11vnc.log
+ sudo /usr/bin/systemctl enable --now x11vnc.service
+}
+
+function bashrc_setup(){
+ if ! grep -q 'alias rscp=' ~/.bashrc; then
+ echo -e "\nalias rscp='rsync -a --info=progress2'" >> ~/.bashrc
+ fi
+ if ! grep -q 'alias rsmv=' ~/.bashrc; then
+ echo -e "alias rsmv='rsync -a --info=progress2 --remove-source-files'" >> ~/.bashrc
+ fi
+}
+
+function nanorc_setup(){
+ sudo sed -i 's/# set tabsize.*/set tabsize 4/' /etc/nanorc
+ sudo sed -i 's/# set tabstospaces.*/set tabstospaces/' /etc/nanorc
+ sudo sed -i 's/# include "\/usr\/share\/nano\/\*.nanorc"/include "\/usr\/share\/nano\/\*.nanorc"/' /etc/nanorc
+}
+
+function storage_scan(){
+ sudo add_storage.py --report > /dev/null
+ if [ -e /tmp/scan_report ]; then
+ msg "New Storage Found" "Run add_storage.py for details."
+ fi
+}
+
+function install_lh_apps(){
+ #install programs that are not needed on the iso
+ #check network connection
+ netwait=0
+ while ! timeout 1 nc -zw1 1.1.1.1 443; do
+ [ $netwait -gt 12 ] && msg "Could not install apps. Check internet connection. Cancelling Setup." && exit 1
+ msg "Waiting for internet connectivity..."
+ ((netwait++))
+ sleep 5
+ done
+ msg "Installing apps."
+ konsole -e /bin/bash -i -c "sudo pacman -Syyy --noconfirm archlinux-keyring && sudo pacman -Syyy --noconfirm mythtv mythplugins-mytharchive mythplugins-mythmusic mythplugins-mythweb && flatpak install tv.plex.PlexHTPC --noninteractive --assumeyes && sudo flatpak override tv.plex.PlexHTPC --filesystem=/run/lirc/lircd"
+ status=$?
+ [ $status -eq 1 ] && msg "Could not install apps. Check internet connection. Cancelling Setup." && exit 1
+ gen_lib_xml.py
+}
+
+function sql_setup(){
+ sudo mkdir -p /data/srv/mysql
+ sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/data/srv/mysql
+ sudo systemctl enable --now mariadb.service
+ mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql -u root mysql
+ sudo mariadb -u root < /usr/share/linhes/templates/db/permissions.sql
+ mythtv-setup -O theme=LinHES
+ sed -e "s/apheleia/${HOSTNAME}/g" /usr/share/linhes/templates/db/custom.sql > /tmp/custom.sql.fixed
+ sudo mariadb -u root mythconverg < /tmp/custom.sql.fixed
+}
+
+function localweb_setup(){
+ konsole -e /bin/bash -i -c "sudo pacman -Syyy --noconfirm linhes-web"
+ sudo cp /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.orig
+ sudo cp /usr/share/linhes/templates/lighttpd.conf.template /etc/lighttpd/lighttpd.conf
+ sudo systemctl enable --now lighttpd.service
+}
+
+function first_configure(){
+ if [ ! -f ~/.config/lh_configured ]; then
+ msg "New install of LinHES. Starting setup."
+ install_lh_apps
+ nanorc_setup
+ bashrc_setup
+ x11vnc_setup
+ if [ -f /etc/systemconfig ]; then
+ SystemType=$(grep SystemType= /etc/systemconfig | cut -d '"' -f 2)
+ else
+ SystemType=$(kdialog --title "LinHES System Type" --combobox "Select the LinHES System Type: " "MasterBackend" "FrontendOnly" "DesktopOnly" --default "MasterBackend")
+ echo "SystemType=\"$SystemType\"" | sudo tee /etc/systemconfig
+ fi
+ #apply settings for specific system types
+ msg "Setup as $SystemType"
+ if [ $SystemType = "MasterBackend" ]; then
+ # create media directory structure
+ sudo mkdir -p /data/storage/disk0
+ sudo create_media_dirs.sh /data/storage/disk0
+ sudo ln -s /data/storage/disk0/media/ /myth
+ # setup DB
+ sql_setup
+ # run mythtv-setup
+ # need to run twice for default db install/upgrade
+ mythtv-setup
+ sudo systemctl enable --now mythbackend.service
+ # run mythfilldatabase
+ #nice -n 19 mythfilldatabase --quiet &
+ #msg "Guide data is being loaded." "Until this completes some shows will appear as unknown in the program guide."
+ localweb_setup
+ elif [ $SystemType = "FrontendOnly" ]; then
+ msg "Frontend Only"
+ #Frontend_only cmds
+ # create media directory structure
+ sudo mkdir -p /data/storage/disk0
+ sudo create_media_dirs.sh /data/storage/disk0
+ elif [ $SystemType = "DesktopOnly" ]; then
+ msg "Desktop Only"
+ #Frontend_only cmds
+ # create media directory structure
+ sudo mkdir -p /data/storage/disk0
+ sudo create_media_dirs.sh /data/storage/disk0
+ touch ~/.config/lh_dontrunmythfrontend
+ fi
+ touch ~/.config/lh_configured
+ fi
+}
+
+function start_user_apps() {
+ if [ -f ~/.config/lh_startuserapps ]; then
+ msg "Starting User Apps..."
+ source ~/.config/lh_startuserapps
+ fi
+}
+
+function start_myth() {
+ STARTCMD="/usr/bin/mythfrontend --syslog local6 --quiet"
+ if [ ! -f ~/.config/lh_dontrunmythfrontend ]; then
+ msg "Starting MythFrontend..."
+ $STARTCMD 2>&1 &
+ fi
+}
+
+#-------MAIN-------
+check_installer_user
+#apply settings for all system types
+applyUIsettings
+first_configure
+/usr/bin/enableIRWake.sh &
+storage_scan
+start_user_apps
+start_myth
diff --git a/linhes/linhes-system/lh_system_start.sh.desktop b/linhes/linhes-system/lh_system_start.sh.desktop
new file mode 100644
index 0000000..6dc353e
--- /dev/null
+++ b/linhes/linhes-system/lh_system_start.sh.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Exec=/usr/bin/lh_system_start.sh
+Icon=dialog-scripts
+Name=LinHES_Startup
+Path=
+Type=Application
+X-KDE-AutostartScript=true
diff --git a/linhes/linhes-system/linhes-profile.sh b/linhes/linhes-system/linhes-profile.sh
new file mode 100644
index 0000000..df98315
--- /dev/null
+++ b/linhes/linhes-system/linhes-profile.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+#this enables airplay support
+export MYTHTV_AIRPLAY="1"
+
+if [ -f /etc/systemconfig ]; then
+ SystemType=$(grep SystemType= /etc/systemconfig | cut -d '"' -f 2)
+fi
+if [ ! $SystemType = "FrontendOnly" ]; then
+ if [ x$MYTH_RUN_STATUS = x ]; then
+ MYTHCONFDIR=/usr/share/mythtv /usr/bin/lh_myth_status.py
+ fi
+ MYTH_RUN_STATUS="1"
+fi
diff --git a/linhes/linhes-system/misc_recent_recordings.pl b/linhes/linhes-system/misc_recent_recordings.pl
new file mode 100755
index 0000000..92dda8a
--- /dev/null
+++ b/linhes/linhes-system/misc_recent_recordings.pl
@@ -0,0 +1,194 @@
+#!/usr/bin/perl -w
+#
+# Outputs information about the most-recently-recorded shows.
+#
+# Automatically detects database settings.
+#
+
+# Includes
+ use DBI;
+ use Getopt::Long;
+ use MythTV;
+
+# Some variables we'll use here
+ our ($num_recordings, $live, $heading, $plain_text, $text_format, $usage);
+ our ($hours, $minutes, $seconds);
+ our ($dnum_recordings, $dheading, $dtext_format);
+ our ($dhours, $dminutes, $dseconds);
+ our ($status_text_format, $status_value_format);
+ our ($dstatus_text_format, $dstatus_value_format);
+
+# Default number of recent recordings to show
+ $dnum_recordings = 5;
+# Default period in which to show recordings
+ $dhours = -1;
+ $dminutes = -1;
+ $dseconds = -1;
+# Default status output heading
+ $dheading='Recent Recordings:\n';
+# Default format of plain-text output
+ $dtext_format='%n/%j, %g:%i %A - %cc\n%T - %S\n%R\n\n';
+# Default format of status output display text
+ $dstatus_text_format= '<a href="javascript:void(0)">%n/%j %g:%i %A - %cc - %T - %S<br />'.
+ '<span><strong>%T</strong> %n/%j, %g:%i %A<br />'.
+ '<em>%S</em><br /><br />%R<br /></span></a><hr />';
+# Default format of status output value
+ $dstatus_value_format = '%n/%j, %g:%i %A - %T - %S';
+
+# Provide default values for GetOptions
+ $num_recordings = $dnum_recordings;
+ $hours = $dhours;
+ $minutes = $dminutes;
+ $seconds = $dseconds;
+ $heading = $dheading;
+ $text_format = $dtext_format;
+ $status_text_format = $dstatus_text_format;
+ $status_value_format = $dstatus_value_format;
+
+# Load the cli options
+ GetOptions('num_recordings|recordings=s' => \$num_recordings,
+ 'hours|o=i' => \$hours,
+ 'minutes=i' => \$minutes,
+ 'seconds|e=i' => \$seconds,
+ 'live' => \$live,
+ 'heading=s' => \$heading,
+ 'plain_text' => \$plain_text,
+ 'text_format=s' => \$text_format,
+ 'status_text_format=s' => \$status_text_format,
+ 'status_value_format=s' => \$status_value_format,
+ 'usage|help' => \$usage
+ );
+
+# Print usage
+ if ($usage) {
+ print <<EOF;
+$0 usage:
+
+options:
+
+--recordings [number of recordings]
+
+ Outputs information on the last [number of recordings] shows recorded by
+ MythTV. To output information on all recordings, specify -1.
+
+ default: $dnum_recordings
+
+--hours [number of hours]
+
+ Outputs information on recordings that occurred within [number of hours].
+ This option may be specified in conjunction with --minutes and --seconds.
+ To output information on all matching recordings regardless of start time,
+ specify -1 for --hours, --minutes, and --seconds.
+
+ default: $dhours
+
+--minutes [number of minutes]
+
+ Outputs information on recordings that occurred within [number of minutes].
+ This option may be specified in conjunction with --hours and --seconds.
+ To output information on all matching recordings regardless of start time,
+ specify -1 for --hours, --minutes, and --seconds.
+
+ default: $dminutes
+
+--seconds [number of seconds]
+
+ Outputs information on recordings that occurred within [number of seconds].
+ This option may be specified in conjunction with --hours and --minutes.
+ To output information on all matching recordings regardless of start time,
+ specify -1 for --hours, --minutes, and --seconds.
+
+ default: $dseconds
+
+--live
+ Include information on recent LiveTV recordings.
+
+--heading [heading]
+ Output the [heading] before printing information about recordings.
+
+ default: \'$dheading\'
+
+--plain_text
+ Output information in plain text format (i.e. for inclusion in an e-mail
+ notification).
+
+--text_format [format]
+ Use the provided [format] to display information on the recordings. The
+ format should use the same format specifiers used by mythlink.pl, but
+ may also use \\r and/or \\n for line breaks. This option is ignored
+ if --plain_text is not used.
+
+ default: \'$dtext_format\'
+
+--help
+
+ Show this help text.
+
+EOF
+ exit;
+ }
+
+# Determine the period of interest
+ my $now = time();
+ my $start_after = $now;
+ $start_after = $start_after - ($hours * 3600) if ($hours > 0);
+ $start_after = $start_after - ($minutes * 60) if ($minutes > 0);
+ $start_after = $start_after - $seconds if ($seconds > 0);
+ $start_after = 0 if (!($start_after < $now));
+
+# Fix the heading.
+ if (defined($plain_text)) {
+ $heading =~ s/\\r/\r/g;
+ $heading =~ s/\\n/\n/g;
+ }
+ else {
+ # Remove line break format specifiers from heading for status output
+ $heading =~ s/(\\r|\\n)//g;
+ }
+
+# Connect to mythbackend
+ my $Myth = new MythTV();
+
+# Get the list of recordings
+ my $count = 0;
+ my %rows = $Myth->backend_rows('QUERY_RECORDINGS Delete');
+ our $show;
+ foreach my $row (@{$rows{'rows'}}) {
+ last unless (($count < $num_recordings) || ($num_recordings < 0));
+ $show = new MythTV::Program(@$row);
+ # Skip LiveTV recordings?
+ next unless (defined($live) || $show->{'recgroup'} ne 'LiveTV');
+ # Within the period of interest?
+ last if (($start_after) && ($show->{'recstartts'} < $start_after));
+ # Print the recording information in the desired format
+ if (defined($plain_text)) {
+ text_print($count);
+ }
+ else {
+ status_print($count);
+ }
+ $count++;
+ }
+
+# Print the output for use in the backend status page.
+ sub status_print {
+ my $count = shift;
+ my $text = $show->format_name($status_text_format, ' ', ' ', 1, 0 ,1);
+ my $value = $show->format_name($status_value_format, ' ', ' ',
+ 1, 0 ,1);
+ print("$heading<div class=\"schedule\">") if ($count == 0);
+ print("$text");
+ print("</div>") if ($count == ($num_recordings - 1));
+ print("[]:[]recording$count");
+ print("[]:[]$value\n");
+ }
+
+# Print the output in plain text format
+ sub text_print {
+ my $count = shift;
+ my $text = $show->format_name($text_format, ' ', ' ', 1, 0 ,1);
+ $text =~ s/\\r/\r/g;
+ $text =~ s/\\n/\n/g;
+ print("$heading") if ($count == 0);
+ print("$text");
+ }
diff --git a/linhes/linhes-system/misc_status_config.py b/linhes/linhes-system/misc_status_config.py
new file mode 100755
index 0000000..b025886
--- /dev/null
+++ b/linhes/linhes-system/misc_status_config.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+
+# This script will configure the myth db to use the misc_status_info scripts
+
+from socket import gethostname
+from MythTV import MythDB
+mythdb = MythDB()
+localhostname = gethostname()
+import sys
+
+# Function to set db setting. This setting is set in mythtv-setup.
+def dbSettingChange():
+ if mythdb.settings[localhostname].MiscStatusScript == u'':
+ mythdb.settings[localhostname].MiscStatusScript = u'/usr/bin/misc_status_info.sh'
+ print 'The MythTV database setting MiscStatusScript was updated to /usr/bin/misc_status_info.sh.'
+ else:
+ print 'The MythTV database setting MiscStatusScript is already set and will not be updated.'
+ return
+
+#taken from systemconfig.py
+#this is how you populate the dict
+systemconfig = {}
+file_name = "/etc/systemconfig"
+try:
+ config_file = open(file_name)
+except:
+ print file_name + " could not be opened"
+ sys.exit(1)
+
+for line in config_file:
+ line = line.strip()
+ if line and line[0] is not "#" and line[-1] is not "=":
+ var, val = line.rsplit("=", 1)
+ val = val.strip('"')
+ systemconfig[var.strip()] = val.strip()
+
+#this is how you reference a value from mv_hostype.py
+if (systemconfig.get("SystemType") == "Standalone"):
+ dbSettingChange()
+elif systemconfig.get("SystemType") == "MasterBackend":
+ dbSettingChange()
diff --git a/linhes/linhes-system/misc_status_info.sh b/linhes/linhes-system/misc_status_info.sh
new file mode 100755
index 0000000..3061a08
--- /dev/null
+++ b/linhes/linhes-system/misc_status_info.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# Show all upcoming conflicts
+/usr/bin/misc_upcoming_recordings.pl --recordings -1 \
+ --no_show_scheduled \
+ --heading '<h3>Recording Conflicts</h3>' \
+ --no_conflicts_message '<h3>No Recording Conflicts</h3>'
+
+# Show all the shows recorded today
+/usr/bin/misc_recent_recordings.pl --recordings=-1 --hours=24 \
+ --heading '<h3>Shows Recorded In The Last 24 Hours</h3>'
+
+# Get Encoder that was used for recordings from the backend log
+firstrun=1
+loglist=`find /var/log/ -name *_mythbackend*.log*`
+for i in `ls -t $loglist`
+do
+ if [ $firstrun -eq 1 ]; then
+ echo "<h3>Encoder Information</h3><div class=\"schedule\""
+ firstrun=0
+ fi
+ /usr/bin/misc_which_recorder.pl --noheader $i
+done
diff --git a/linhes/linhes-system/misc_upcoming_recordings.pl b/linhes/linhes-system/misc_upcoming_recordings.pl
new file mode 100755
index 0000000..26ec1b4
--- /dev/null
+++ b/linhes/linhes-system/misc_upcoming_recordings.pl
@@ -0,0 +1,334 @@
+#!/usr/bin/perl -w
+#
+# Provides notification of upcoming recordings.
+#
+# Automatically detects database settings.
+#
+
+# Includes
+ use DBI;
+ use Getopt::Long;
+ use MythTV;
+
+# Some variables we'll use here
+ our ($num_recordings, $heading, $plain_text, $text_format, $usage);
+ our ($hours, $minutes, $seconds, $no_conflicts_message);
+ our ($scheduled, $duplicates, $deactivated, $conflicts);
+ our ($dnum_recordings, $dheading, $dtext_format);
+ our ($dhours, $dminutes, $dseconds, $dno_conflicts_message);
+ our ($dscheduled, $dduplicates, $ddeactivated, $dconflicts);
+ our ($status_text_format, $status_value_format);
+ our ($dstatus_text_format, $dstatus_value_format);
+
+# Default number of upcoming recordings to show
+ $dnum_recordings = 5;
+# Default period in which to show recordings
+ $dhours = -1;
+ $dminutes = -1;
+ $dseconds = -1;
+# Default recording status types to show
+ $dscheduled = 1;
+ $dduplicates = 0;
+ $ddeactivated = 0;
+ $dconflicts = 1;
+# Default status output heading
+ $dheading='Upcoming Recordings:\n';
+# Default format of plain-text output
+ $dtext_format='%rs\n%n/%j, %g:%i %A - %cc\n%T - %S\n%R\n\n';
+# Default "no conflicts" message
+ $dno_conflicts_message='No conflicts.\n';
+# Default format of status output display text
+ $dstatus_text_format= '<a href="javascript:void(0)">%rs - %n/%j %g:%i %A - %cc - '.
+ '%T - %S<br />'.
+ '<span><strong>%T</strong> %n/%j, %g:%i %A<br />'.
+ '<em>%S</em><br /><br />%R<br /></span></a><hr />';
+# Default format of status output value
+ $dstatus_value_format = '%n/%j %g:%i %A - %T - %S';
+
+# Provide default values for GetOptions
+ $num_recordings = $dnum_recordings;
+ $hours = $dhours;
+ $minutes = $dminutes;
+ $seconds = $dseconds;
+ $scheduled = $dscheduled;
+ $duplicates = $dduplicates;
+ $deactivated = $ddeactivated;
+ $conflicts = $dconflicts;
+ $heading = $dheading;
+ $text_format = $dtext_format;
+ $no_conflicts_message = $dno_conflicts_message;
+ $status_text_format = $dstatus_text_format;
+ $status_value_format = $dstatus_value_format;
+
+# Load the cli options
+ GetOptions('num_recordings|recordings=s' => \$num_recordings,
+ 'hours|o=i' => \$hours,
+ 'minutes=i' => \$minutes,
+ 'seconds|s=i' => \$seconds,
+ 'show_scheduled|_show_scheduled|scheduled|_scheduled|e!'
+ => \$scheduled,
+ 'show_duplicates|_show_duplicates|duplicates|_duplicates|p!'
+ => \$duplicates,
+ 'show_deactivated|_show_deactivated|deactivated|_deactivated|v!'
+ => \$deactivated,
+ 'show_conflicts|_show_conflicts|conflicts|_conflicts!'
+ => \$conflicts,
+ 'heading=s' => \$heading,
+ 'plain_text' => \$plain_text,
+ 'text_format=s' => \$text_format,
+ 'no_conflicts_message=s' => \$no_conflicts_message,
+ 'status_text_format=s' => \$status_text_format,
+ 'status_value_format=s' => \$status_value_format,
+ 'usage|help' => \$usage
+ );
+
+# Print usage
+ if ($usage) {
+ # Make default "--show_*" options readable
+ $dscheduled = ($dscheduled ? '--show_scheduled' :
+ '--no_show_scheduled');
+ $dduplicates = ($dduplicates ? '--show_duplicates' :
+ '--no_show_duplicates');
+ $ddeactivated = ($ddeactivated ? '--show_deactivated' :
+ '--no_show_deactivated');
+ $dconflicts = ($dconflicts ? '--show_conflicts' :
+ '--no_show_conflicts');
+ print <<EOF;
+$0 usage:
+
+options:
+
+--recordings [number of recordings]
+
+ Outputs information on the next [number of recordings] shows to be recorded
+ by MythTV and that match the criteria specified for --scheduled,
+ --duplicates, --deactivated, and --conflicts. To output information on all
+ matching recordings, specify -1.
+
+ default: $dnum_recordings
+
+--hours [number of hours]
+
+ Outputs information on recordings starting in the next [number of hours]
+ and that match the criteria specified for --scheduled, --duplicates,
+ --deactivated, and --conflicts. This option may be specified in
+ conjunction with --minutes and --seconds. To output information on all
+ matching recordings regardless of start time, specify -1 for --hours,
+ --minutes, and --seconds.
+
+ default: $dhours
+
+--minutes [number of minutes]
+
+ Outputs information on recordings starting in the next [number of minutes]
+ and that match the criteria specified for --scheduled, --duplicates,
+ --deactivated, and --conflicts. This option may be specified in
+ conjunction with --hours and --seconds. To output information on all
+ matching recordings regardless of start time, specify -1 for --hours,
+ --minutes, and --seconds.
+
+ default: $dminutes
+
+--seconds [number of seconds]
+
+ Outputs information on recordings starting in the next [number of seconds]
+ and that match the criteria specified for --scheduled, --duplicates,
+ --deactivated, and --conflicts. This option may be specified in
+ conjunction with --hours and --minutes. To output information on all
+ matching recordings regardless of start time, specify -1 for --hours,
+ --minutes, and --seconds.
+
+ default: $dseconds
+
+--show_scheduled|--no_show_scheduled
+
+ Outputs information about scheduled recordings. Scheduled recordings are
+ those that MythTV plans to actually record.
+
+ default: $dscheduled
+
+--show_duplicates|--no_show_duplicates
+
+ Outputs information about duplicate recordings. Duplicate recordings are
+ those that will not be recorded because of the specified duplicate matching
+ policy for the rule.
+
+ default: $dduplicates
+
+--show_deactivated|--no_show_deactivated
+
+ Outputs information about deactivated recordings. Deactivated recordings
+ are those that MythTV will not record because the schedule is inactive,
+ because the showing was set to never record, because the show is being
+ recorded in an earlier or later showing, because there are too many
+ recordings or not enough disk space to allow the recording, or because
+ the show you\'ve specified for recording is not listed in the timeslot
+ specified.
+
+ default: $ddeactivated
+
+--show_conflicts|--no_show_conflicts
+
+ Outputs information about conflicts (those shows that MythTV cannot record
+ because of other higher-priority scheduled recordings).
+
+ default: $dconflicts
+
+--heading [heading]
+ Output the [heading] before printing information about recordings.
+
+ default: \'$dheading\'
+
+--plain_text
+ Output information in plain text format (i.e. for inclusion in an e-mail
+ notification).
+
+--text_format [format]
+ Use the provided [format] to display information on the recordings. The
+ format should use the same format specifiers used by mythlink.pl, but
+ may also use \\r and/or \\n for line breaks and %rs for recording status.
+ This option is ignored if --plain_text is not used.
+
+ default: \'$dtext_format\'
+
+--no_conflicts_message [message]
+ Use the provided [message] to specify there are no conflicts. This option
+ is used when only information about conflicts is requested and there are
+ no conflicts. I.e. it is only used with the combination of show_*
+ options --show_conflicts, --no_show_scheduled, --no_show_deactivated,
+ and --no_show_duplicates .
+
+ default: \'$dno_conflicts_message\'
+
+--help
+
+ Show this help text.
+
+EOF
+ exit;
+ }
+
+# Determine the period of interest
+ my $now = time();
+ my $start_before = $now;
+ $start_before = $start_before + ($hours * 3600) if ($hours > 0);
+ $start_before = $start_before + ($minutes * 60) if ($minutes > 0);
+ $start_before = $start_before + $seconds if ($seconds > 0);
+ $start_before = 0 if (!($start_before > $now));
+
+# Fix the heading.
+ if (defined($plain_text)) {
+ $heading =~ s/\\r/\r/g;
+ $heading =~ s/\\n/\n/g;
+ }
+ else {
+ # Remove line break format specifiers from heading for status output
+ $heading =~ s/(\\r|\\n)//g;
+ }
+
+# Connect to mythbackend
+ my $Myth = new MythTV();
+
+# Get the list of recordings
+ my $count = 0;
+ my %rows = $Myth->backend_rows('QUERY_GETALLPENDING', 2);
+ my $has_conflicts = $rows{'offset'}[0];
+ if ((!$has_conflicts) &&
+ (($conflicts) &&
+ (!(($scheduled) || ($duplicates) || ($deactivated))))) {
+ $no_conflicts_message =~ s/\\r/\r/g;
+ $no_conflicts_message =~ s/\\n/\n/g;
+ print "$no_conflicts_message";
+ exit 0;
+ }
+ my $num_scheduled = $rows{'offset'}[1];
+ our $show;
+ foreach my $row (@{$rows{'rows'}}) {
+ last unless (($count < $num_recordings) || ($num_recordings < 0));
+ $show = new MythTV::Program(@$row);
+ last if (($start_before) && ($show->{'recstartts'} > $start_before));
+ next if ((!$scheduled) && (is_scheduled($show->{'recstatus'})));
+ next if ((!$duplicates) && (is_duplicate($show->{'recstatus'})));
+ next if ((!$deactivated) && (is_deactivated($show->{'recstatus'})));
+ next if ((!$conflicts) && (is_conflict($show->{'recstatus'})));
+
+ # Print the recording information in the desired format
+ if (defined($plain_text)) {
+ text_print($count);
+ }
+ else {
+ status_print($count);
+ }
+ $count++;
+ }
+
+# Returns true if the show is scheduled to record
+ sub is_scheduled {
+ my $recstatus = (shift() or 0);
+ return (($MythTV::recstatus_willrecord == $recstatus) ||
+ ($MythTV::recstatus_recorded == $recstatus) ||
+ ($MythTV::recstatus_recording == $recstatus));
+ }
+
+# Returns true if the show is a duplicate
+ sub is_duplicate {
+ my $recstatus = (shift() or 0);
+ return (($MythTV::recstatus_repeat == $recstatus) ||
+ ($MythTV::recstatus_previousrecording == $recstatus) ||
+ ($MythTV::recstatus_currentrecording == $recstatus));
+ }
+
+# Returns true if the recording is deactivated
+ sub is_deactivated {
+ my $recstatus = (shift() or 0);
+ return (($MythTV::recstatus_inactive == $recstatus) ||
+ ($MythTV::recstatus_toomanyrecordings == $recstatus) ||
+ ($MythTV::recstatus_cancelled == $recstatus) ||
+ ($MythTV::recstatus_deleted == $recstatus) ||
+ ($MythTV::recstatus_aborted == $recstatus) ||
+ ($MythTV::recstatus_notlisted == $recstatus) ||
+ ($MythTV::recstatus_dontrecord == $recstatus) ||
+ ($MythTV::recstatus_lowdiskspace == $recstatus) ||
+ ($MythTV::recstatus_tunerbusy == $recstatus) ||
+ ($MythTV::recstatus_neverrecord == $recstatus) ||
+ ($MythTV::recstatus_earliershowing == $recstatus) ||
+ ($MythTV::recstatus_latershowing == $recstatus));
+ }
+
+# Returns true if the show cannot be recorded due to a conflict
+ sub is_conflict {
+ my $recstatus = (shift() or 0);
+ return ($MythTV::recstatus_conflict == $recstatus);
+ }
+
+# Print the output for use in the backend status page.
+ sub status_print {
+ my $count = shift;
+ my $text = $show->format_name($status_text_format, ' ', ' ', 1, 0 ,1);
+ {
+ no warnings 'uninitialized';
+ $text =~ s/%rs/$MythTV::RecStatus_Types{$show->{'recstatus'}}/g;
+ }
+ my $value = $show->format_name($status_value_format, ' ', ' ',
+ 1, 0 ,1);
+ $value =~ s/%rs/$MythTV::RecStatus_Types{$show->{'recstatus'}}/g;
+ print("$heading<div class=\"schedule\">") if ($count == 0);
+ print("$text");
+ print("</div>") if ($count == ($num_recordings - 1));
+ print("[]:[]recording$count");
+ print("[]:[]$value\n");
+ }
+
+# Print the output in plain text format
+ sub text_print {
+ my $count = shift;
+ my $text = $show->format_name($text_format, ' ', ' ', 1, 0 ,1);
+ {
+ no warnings 'uninitialized';
+ $text =~ s/%rs/$MythTV::RecStatus_Types{$show->{'recstatus'}}/g;
+ }
+ $text =~ s/\\r/\r/g;
+ $text =~ s/\\n/\n/g;
+ print("$heading") if ($count == 0);
+ print("$text");
+ }
diff --git a/linhes/linhes-system/misc_which_recorder.pl b/linhes/linhes-system/misc_which_recorder.pl
new file mode 100755
index 0000000..57947f1
--- /dev/null
+++ b/linhes/linhes-system/misc_which_recorder.pl
@@ -0,0 +1,107 @@
+#!/usr/bin/perl -w
+#
+# Parses the backend log file and includes information on which encoder was used to record shows.
+
+my ($time, $title, $subtitle, $chanid, $cardid, $sourceid);
+my $index = 0;
+
+sub print_text
+{
+ print "$time - $title";
+ print ": $subtitle" if ($subtitle);
+ print "\n";
+ print " - Encoder ID: $cardid\n";
+ print " - Video Source ID: $sourceid\n";
+ print " - Channel ID: $chanid\n";
+}
+
+sub print_xml
+{
+ print "<a href=\"javascript:void(0)\">$time - $title";
+ print ": $subtitle" if ($subtitle);
+ print " - Encoder: $cardid<br />".
+ "<span><strong>$title</strong> $time<br />";
+ print "<em>$subtitle</em><br />" if ($subtitle);
+ print "<br />Channel ID: $chanid<br />Encoder ID: $cardid<br />".
+ "Video Source ID: $sourceid<br /></span></a><hr />";
+ # For XML parsers
+ print "[]:[]capture_info$index\[]:[]time='$time':title='$title'".
+ ":subtitle='$subtitle':chanid='$chanid':cardid='$cardid'".
+ ":sourceid='$sourceid'\n";
+}
+
+my $mode = shift;
+my $log_file = shift;
+
+if (($mode ne "--text") && ($mode ne "--noheader"))
+{
+ $log_file = $mode;
+}
+
+if ($log_file =~ m/^--.*/i)
+{
+ die ("Only one option can be used at a time.\n");
+}
+
+if ($log_file =~ /\.gz$/)
+{
+# read top down
+# open($fh, "gunzip -c $log_file |") or die "Unable to open log file '$log_file', stopping:";
+# read bottom up
+ open($fh, "gunzip -c $log_file |tac |") or die "Unable to open log file '$log_file', stopping:";
+}
+else
+{
+# read top down
+# open($fh, "<$log_file") or die "Unable to open log file '$log_file', stopping:";
+# read bottom up
+ open($fh, "tac $log_file |") or die "Unable to open log file '$log_file', stopping:";
+}
+
+while (<$fh>)
+{
+# Myth .25 & .27 regex to find start of recording for digital and analog MPEG
+ if (/^(\D\D\D +\d+ \d+\:\d+\:\d+)(?:.*) \(HandleRecordingStatusChange\) (?:Started|Tuning) recording: (.*): channel (\d+) on cardid \[(\d+)\], sourceid (\d+)/ || /^(\d+-\d+-\d+T\d+\:\d+\:\d+)(?:.*) \(UpdateRecStatus\) Updating status for (.*)() on cardid \[(\d+)\] \(Will Record => Recording\)()/)
+ {
+ if ($mode eq "--noheader")
+ {
+ print "<div class=\"schedule\">"
+ if (($index == 0) && ($mode ne "--text"));
+ }
+ else
+ {
+ print "<h3>Encoder Information</h3><div class=\"schedule\">"
+ if (($index == 0) && ($mode ne "--text"));
+ }
+ $index++;
+
+ ($time, $title, $chanid, $cardid, $sourceid) = ($1, $2, $3, $4, $5);
+ $time =~ s/T/' '/;
+ $time = `date -d "$time" +%a' '%-m/%-d' '%l:%M' '%p`;
+ chomp ($time);
+ if (($title =~ /"?(.+)"?:"?(.*)"?/) || ($title =~ /(.+) "(.*)"/))
+ {
+ $title = $1;
+ $subtitle = $2;
+ }
+ else
+ {
+ $subtitle = '';
+ }
+ $title =~ s/^"//;
+ $subtitle =~ s/^"//;
+ $title =~ s/"$//;
+ $subtitle =~ s/"$//;
+ if ($mode eq "--text")
+ {
+ print_text;
+ }
+ else
+ {
+ print_xml;
+ }
+ }
+}
+print "</div>" if (($index > 0) && ($mode ne "--text"));
+
+close $fh;
diff --git a/linhes/linhes-system/myth2mkv b/linhes/linhes-system/myth2mkv
new file mode 100755
index 0000000..6edb804
--- /dev/null
+++ b/linhes/linhes-system/myth2mkv
@@ -0,0 +1,466 @@
+#!/bin/bash
+#
+# Convert video to AVC-1 / h264
+#
+# version 0.27-001
+#
+# Prerequisites:
+# - mythtv >= 0.27
+# - handbrake-cli
+# - mplayer
+# - mkvtoolnix
+# - jobqueue_helper.py
+#
+# Arguments
+# $1 must be the directory/file of the recording
+# $2 must be chanid
+# $3 must be starttime
+# $4 must be title
+# $5 must be subtitle
+# $6 must be jobid
+# $7 must be quality of encode
+#
+# As a MythTV user job:
+# myth2mkv "%DIR%/%FILE%" "%CHANID%" "%STARTTIME%" "%TITLE%" "%SUBTITLE%" "%JOBID%" "HP|HQ|MQ|LQ"
+# Select only 1 quality setting
+# HP is similar to the HandBrake built-in preset High Profile
+
+########################
+# #
+# Adjustable variables #
+# #
+########################
+
+OUTDIR=/data/storage/disk0/media/video
+LOGPATH=/var/log/mythtv
+LOGFILE=${LOGPATH}/myth2mkv-$$.log
+
+# TMPDIR is for large transient files
+TMPDIR=/data/storage/disk0/media/tmp
+
+# x264 tuning:
+# Tune x264 based on content. Valid options for TUNING are:
+# film, animation, grain, stillimage, psnr, ssim, fastdecode, zerolatency
+# Separate multiple options with a comma. DEFAULT: none
+TUNING=""
+
+# Custom cropping. Useful if you have a 4:3 image in a HD frame or if
+# HandBrake's autocrop smarts fail you.
+# Crop 240 pixels off the left and right for 4:3 image in 1920x1080 frame
+# Crop 160 pixels off the left and right for 4:3 image in 1280x720 frame
+# <T:B:L:R>
+# i.e. 0:0:240:240
+# Default: In HP and HQ: CROP="0:0:0:0" (no cropping).
+# IN MQ and LQ: autocrop.
+CROP=""
+
+# Force custom output resolution.
+# Default: Keep same resolution as input file (less any cropping).
+# The HP quality setting always keeps the same resolution as the input file.
+WIDTH=""
+HEIGHT=""
+
+# Force use/non-use of deinterlacing filter. Y|N|G (Yes, No, Guess)
+# Default: G - Guess based on source resolution.
+# If the source video width is 1920, 1440, 852, 704, 640 or 528 pixels
+# "G" will deinterlace the video. Change to "Y" to force use of deinterlacing
+# filter or to "N" to NOT use deinterlace filter no matter the resolution.
+DEINT="G"
+
+############################
+# #
+# End adjustable variables #
+# #
+############################
+
+if [[ ! -d ${TMPDIR} ]] ; then
+ mkdir -p ${TMPDIR}
+fi
+
+if [[ ! -d ${OUTDIR} ]] ; then
+ mkdir -p ${OUTDIR}
+fi
+
+#------FUNCTIONS---------------
+update_comment()
+# Arg_1 = COMMENT
+{
+if [ ${NO_JOBID} -eq 0 ]; then
+ `jobqueue_helper.py -j ${JOBID} -cs "${1}"`
+fi
+}
+
+check_background_progress()
+# check handbrake progress in background
+{
+while [ ! -f ${HB_RETURN_CODE} ]
+do
+ sleep 15
+ check_myth_jobcmds
+ pass=`tail -1 ${STATUSFILE} | egrep -o -e 'task [0-9] of [0-9], ' | tail -1 | sed 's/task\ /Pass\ /g'`
+ prog_percent=`tail -1 ${STATUSFILE} | egrep -o -e '[0-9]*\.[0-9]. %' | tail -1 | sed 's/\ %//g'`
+ current_FPS=`tail -1 ${STATUSFILE} | egrep -o -e 'avg [0-9.]*\.[0-9]* fps' | tail -1 | sed -e 's/avg\ //g' -e 's/\ fps//g'`
+ current_ETA=`tail -1 ${STATUSFILE} | egrep -o -e 'ETA [0-9.][0-9.]h[0-9.][0-9.]m[0-9.][0-9.]s' | tail -1`
+ if [ -n "$prog_percent" ]; then
+ echo "${pass}${prog_percent}% @ ${current_FPS} fps. ${current_ETA}"
+ update_comment "${pass}${prog_percent}% @ ${current_FPS} fps. ${current_ETA}"
+ fi
+done
+}
+
+check_myth_jobcmds()
+# check the myth database for stop pause or resume commands
+{
+if [[ ${NO_JOBID} -eq 0 ]] ; then
+ CURRENT_CMD=`jobqueue_helper.py -m "select cmds from jobqueue where id = ${JOBID}"`
+ case "${CURRENT_CMD}" in
+ # JOB_RUN
+ 0) ;;
+ # JOB_PAUSE
+ 1) `jobqueue_helper.py -j ${JOBID} -ss 6`
+ kill -s STOP ${handbrake_pid} ;;
+ # JOB_RESUME
+ 2) `jobqueue_helper.py -j ${JOBID} -ss 4`
+ `jobqueue_helper.py -j ${JOBID} -cmds 0`
+ kill -s CONT ${handbrake_pid} ;;
+ # JOB_STOP
+ 4) `jobqueue_helper.py -j ${JOBID} -ss 5`
+ `jobqueue_helper.py -j ${JOBID} -cmds 0`
+ kill -9 ${handbrake_pid} ${command_pid}
+ clean_up_files
+ echo "Encode Cancelled" >> ${LOGFILE}
+ `jobqueue_helper.py -j ${JOBID} -ss 320`
+ exit ;;
+ esac
+fi
+}
+
+get_info_for_hb() {
+# Collect some info about source file
+
+/usr/bin/mplayer -nolirc -identify -frames 0 "${HBINPUTFILE}" \
+ 2>/dev/null 1>"${IDFILE}"
+
+VIDEOW=$( grep ID_VIDEO_WIDTH= "${IDFILE}" | awk -F= '{ print $NF }' )
+FPS=$( grep ID_VIDEO_FPS= "${IDFILE}" | awk -F= '{ print $NF }' )
+
+# HandBrake does not like a framerate of 29.970, so let's drop the 0
+if [[ ${FPS} = "29.970" ]] ; then
+ FPS="29.97"
+fi
+
+# HandBrake does not like a framerate of 59.940, so let's drop the 0
+if [[ ${FPS} = "59.940" ]] ; then
+ FPS="59.94"
+fi
+
+# A rough guestimation that if the video width is 1920, 1440, 852, 704, 640 or
+# 528 pixels it is probably interlaced.
+if [[ ${DEINT} = Y ]] ; then
+ DEINT="-d slow"
+else
+ if [[ ${DEINT} = N ]] ; then
+ DEINT=""
+ else
+ if [[ ${VIDEOW} = 1920 || ${VIDEOW} = 1440 || ${VIDEOW} = 852 || \
+ ${VIDEOW} = 704 || ${VIDEOW} = 640 || ${VIDEOW} = 528 ]] ; then
+ DEINT="-d slow"
+ else
+ DEINT=""
+ fi
+ fi
+fi
+
+if [[ -n ${DEINT} ]] ; then
+ if [[ ${QUALITY} = LQ ]] ; then
+ DEINT="-d fast"
+ fi
+fi
+
+if [[ -n ${TUNING} ]] ; then
+ TUNING="--x264-tune ${TUNING}"
+fi
+
+if [[ -n ${CROP} ]] ; then
+ CROP="--crop ${CROP}"
+fi
+
+if [[ -n ${WIDTH} ]] ; then
+ WIDTH="-w ${WIDTH} -X ${WIDTH}"
+fi
+
+if [[ -n ${HEIGHT} ]] ; then
+ HEIGHT="-l ${HEIGHT} -Y ${HEIGHT}"
+fi
+
+if [[ ${QUALITY} = HP ]] ; then
+ if [[ -n ${CROP} ]] ; then
+ CROP="--crop ${CROP}"
+ else
+ CROP="--crop 0:0:0:0 --auto-anamorphic"
+ fi
+ HB_OPTS="-o ${TMPFILE} -e x264 ${TUNING} -q 20.0 -a 1,1 -E copy:ac3,faac -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 --audio-copy-mask aac,ac3,dtshd,dts,mp3 --audio-fallback ffac3 -f mkv --decomb --loose-anamorphic --modulus 2 -m --x264-preset medium --h264-profile high --h264-level 4.1 ${CROP} -s 1"
+elif [[ ${QUALITY} = HQ ]] ; then
+ if [[ -n ${CROP} ]] ; then
+ CROP="--crop ${CROP}"
+ else
+ CROP="--crop 0:0:0:0 --auto-anamorphic"
+ fi
+ HB_OPTS="-o ${TMPFILE} -f mkv -m -e x264 ${TUNING} -x b-adapt=2:rc-lookahead=50 -b 5000 -2 -T ${WIDTH} ${HEIGHT} -r ${FPS} --cfr ${CROP} ${DEINT} -a 1 -E copy -s 1"
+else
+ if [[ ${CROP} = "--crop 0:0:0:0" ]] ; then
+ CROP="${CROP} --auto-anamorphic"
+ fi
+ if [[ ${QUALITY} = LQ ]] ; then
+ HB_OPTS="-o ${TMPFILE} -f mkv -m -e x264 ${TUNING} -b 1250 ${WIDTH} ${HEIGHT} -r ${FPS} --pfr ${CROP} ${DEINT} -a 1 -E lame -B 128 -Q 8 -6 stereo -s 1"
+ else
+ # Fallback to "MQ"
+ HB_OPTS="-o ${TMPFILE} -f mkv -m -e x264 ${TUNING} -b 2500 -2 -T ${WIDTH} ${HEIGHT} -r ${FPS} --pfr ${CROP} ${DEINT} -a 1 -E lame -B 256 -Q 3 -6 stereo -s 1"
+ fi
+fi
+}
+
+get_handbrake_pid()
+{
+process_name=""
+i1=1
+while [ "${process_name}" != "found" ]; do
+ handbrake_pid=`expr ${handbrake_pid} + 1`
+ i1=`expr ${i1} + 1`
+ if [ "`ps ${handbrake_pid} | grep HandBrakeCLI | sed 's_.*\(HandBrakeCLI\).*_\1_'`" = "HandBrakeCLI" ]; then
+ process_name="found"
+ fi
+ if [ ${i1} -gt 20 ]; then
+ break
+ fi
+done
+}
+
+tag_file() {
+DATE=`date`
+
+# Create a tag file here
+echo "<?xml version='1.0' encoding='ISO-8859-1'?>" > "${TAG_FILE}"
+echo "" >> "${TAG_FILE}"
+echo "<!DOCTYPE Tags SYSTEM 'matroskatags.dtd'>" >> "${TAG_FILE}"
+echo "" >> "${TAG_FILE}"
+echo "<Tags>" >> "${TAG_FILE}"
+echo " <Tag>" >> "${TAG_FILE}"
+echo " <Simple>" >> "${TAG_FILE}"
+echo " <Name>TITLE</Name>" >> "${TAG_FILE}"
+echo " <String>${TITLE}</String>" >> "${TAG_FILE}"
+echo " <Simple>" >> "${TAG_FILE}"
+echo " <Name>SUBTITLE</Name>" >> "${TAG_FILE}"
+echo " <String>${SUBTITLE}</String>" >> "${TAG_FILE}"
+echo " <Simple>" >> "${TAG_FILE}"
+echo " <Name>SUMMARY</Name>" >> "${TAG_FILE}"
+echo " <String>${DESCR}</String>" >> "${TAG_FILE}"
+echo " </Simple>" >> "${TAG_FILE}"
+echo " <Simple>" >> "${TAG_FILE}"
+echo " <Name>DATE_RELEASED</Name>" >> "${TAG_FILE}"
+echo " <String>${OAD}</String>" >> "${TAG_FILE}"
+echo " </Simple>" >> "${TAG_FILE}"
+echo " <Simple>" >> "${TAG_FILE}"
+echo " <Name>SEASON</Name>" >> "${TAG_FILE}"
+echo " <String>${SEASON}</String>" >> "${TAG_FILE}"
+echo " </Simple>" >> "${TAG_FILE}"
+echo " <Simple>" >> "${TAG_FILE}"
+echo " <Name>EPISODE</Name>" >> "${TAG_FILE}"
+echo " <String>${EPISODE}</String>" >> "${TAG_FILE}"
+echo " </Simple>" >> "${TAG_FILE}"
+echo " </Simple>" >> "${TAG_FILE}"
+echo " </Simple>" >> "${TAG_FILE}"
+echo " <Simple>" >> "${TAG_FILE}"
+echo " <Name>ENCODED_BY</Name>" >> "${TAG_FILE}"
+echo " <String>HandBrakeCLI ${HBCLIVER}</String>" >> "${TAG_FILE}"
+echo " </Simple>" >> "${TAG_FILE}"
+echo " <Simple>" >> "${TAG_FILE}"
+echo " <Name>DATE_TAGGED</Name>" >> "${TAG_FILE}"
+echo " <String>${DATE}</String>" >> "${TAG_FILE}"
+echo " </Simple>" >> "${TAG_FILE}"
+echo " </Tag>" >> "${TAG_FILE}"
+echo "</Tags>" >> "${TAG_FILE}"
+
+# Add tag info into MKV file
+echo "Adding tag info to ${TITLE} - ${SUBTITLE} ..." >> ${LOGFILE}
+
+/usr/bin/mkvpropedit -r ${LOGFILE} -t all:"${TAG_FILE}" "${TMPFILE}"
+}
+
+clean_up_files()
+# clean up left over files
+{
+unlink ${TMPFILE} 2> /dev/null
+unlink ${TMPCUTFILE} 2> /dev/null
+unlink ${TMPCUTFILE}.map 2> /dev/null
+unlink ${STATUSFILE} 2> /dev/null
+unlink ${IDFILE} 2> /dev/null
+unlink ${HB_RETURN_CODE} 2> /dev/null
+unlink ${TAG_FILE} 2> /dev/null
+}
+
+#-------MAIN SCRIPT------------
+
+# create temp filename so multiple instances won't conflict
+TMPNAME=toX264-$$
+TMPFILE=${TMPDIR}/${TMPNAME}.mkv
+TMPCUTFILE=${TMPDIR}/${TMPNAME}.mpg
+HBINPUTFILE="${1}"
+TITLE="${4}"
+SUBTITLE="${5}"
+JOBID="${6}"
+QUALITY="${7}"
+BASE=`basename ${HBINPUTFILE}`
+HBCLIVER=`pacman -Q | grep handbrake-cli | awk '{ print $NF }' | awk -F"-" '{ print $1 }'`
+STATUSFILE=/tmp/${TMPNAME}-status.log
+HB_RETURN_CODE=/tmp/${TMPNAME}-hb_return_code
+IDFILE=/tmp/${TMPNAME}-id.txt
+TAG_FILE=/tmp/${TMPNAME}.xml
+SEASON=`jobqueue_helper.py -m "select season from recorded where basename LIKE '${BASE}'"`
+SEASON=`printf "%02d" $SEASON`
+EPISODE=`jobqueue_helper.py -m "select episode from recorded where basename LIKE '${BASE}'"`
+EPISODE=`printf "%02d" $EPISODE`
+OAD=`jobqueue_helper.py -m "select originalairdate from recorded where basename LIKE '${BASE}'"`
+DESCR=`jobqueue_helper.py -m "select description from recorded where basename LIKE '${BASE}'" | sed 's/\&/and/g'`
+USER=`whoami`
+
+# check if %JOBID% is passed from command line
+if [ -z ${JOBID} ]; then
+ NO_JOBID=1
+else
+ NO_JOBID=0
+fi
+
+# log file location
+CDate="`date`"
+echo "" >> ${LOGFILE}
+echo $CDate >> ${LOGFILE}
+echo "File to encode: ${HBINPUTFILE}" >> ${LOGFILE}
+echo " --> Name: ${TITLE} - ${SUBTITLE}" >> ${LOGFILE}
+echo " --> Temporary Files: ${TMPNAME}.*" >> ${LOGFILE}
+echo "" >> ${LOGFILE}
+
+get_info_for_hb
+ERROR=$?
+
+if [[ ${ERROR} != 0 ]] ; then
+ echo "Error parsing source file information!" >> ${LOGFILE}
+ cat ${IDFILE} >> ${LOGFILE}
+ clean_up_files
+ exit 1
+fi
+
+# start timer
+beforetime="$(date +%s)"
+
+check_myth_jobcmds
+
+# If there is a cutlist, use it:
+if [[ -n `mythutil --getcutlist --chanid "${2}" --starttime "${3}" | grep \
+ Cutlist: | awk -F": " '{ print $NF }'` ]] ; then
+ echo "Applying cutlist for ${TITLE} - ${SUBTITLE} ..." >> ${LOGFILE}
+ mythtranscode --chanid "${2}" --starttime "${3}" -m --honorcutlist \
+ -q --loglevel info --logpath "${LOGPATH}" -o "${TMPCUTFILE}"
+ mythtrans_pid=$!
+ ERROR=$?
+ HBINPUTFILE=${TMPCUTFILE}
+fi
+
+if [[ ${ERROR} != 0 ]] ; then
+ echo "MythTranscode error!" >> ${LOGFILE}
+ echo "Check ${LOGPATH}/mythtranscode.date.${mythtrans_pid}.log for mythtranscode error" >> ${LOGFILE}
+ clean_up_files
+ exit 1
+fi
+
+# run handbrake in background to do conversion
+echo "Encoding ${TITLE} - ${SUBTITLE} ..." >> ${LOGFILE}
+
+( /usr/bin/nice -n19 nohup /usr/bin/HandBrakeCLI -i ${HBINPUTFILE} ${HB_OPTS} \
+ > ${STATUSFILE} 2>&1 ; echo $? > ${HB_RETURN_CODE} ) &
+handbrake_pid=$!
+command_pid=${handbrake_pid}
+get_handbrake_pid
+
+check_background_progress
+
+if [[ `cat ${HB_RETURN_CODE}` != 0 ]] ; then
+ echo "HandBrakeCLI error!" >> ${LOGFILE}
+ cat ${STATUSFILE} >> ${LOGFILE}
+ clean_up_files
+ exit 1
+fi
+
+tag_file
+ERROR=$?
+
+if [[ ${ERROR} != 0 ]] ; then
+ echo "Error creating tag file!" >> ${LOGFILE}
+ cat ${TAG_FILE} >> ${LOGFILE}
+ clean_up_files
+ exit 1
+fi
+
+# make output filename unique and do not clobber an existing file
+# Build a final file name
+if [[ $SEASON != "00" && $EPISODE != "00" ]]; then
+ FILE=$( echo "${TITLE,,} s${SEASON}e${EPISODE} ${SUBTITLE,,}" | tr -d [:punct:] | tr [:blank:] "_" | tr -s "_" )
+else
+ FILE=$( echo "${TITLE,,} ${OAD} ${SUBTITLE,,}" | tr -d [:punct:] | tr [:blank:] "_" | tr -s "_" )
+fi
+OUTPUTFILE="${OUTDIR}/${FILE}.mkv"
+i=1
+while [ -e "${OUTPUTFILE}" ]
+do
+ OUTPUTFILE="${OUTDIR}/${FILE}-${i}.mkv"
+ i=`expr $i + 1`
+done
+
+# move temp file to output location
+chown -v "${USER}" "${TMPFILE}" >> ${LOGFILE}
+mv -v "${TMPFILE}" "$OUTPUTFILE" >> ${LOGFILE}
+ERROR=$?
+
+if [[ ${ERROR} != 0 ]] ; then
+ echo "Error moving ${TMPFILE} to ${OUTPUTFILE} !" >> ${LOGFILE}
+ clean_up_files
+ exit 1
+fi
+
+# stop timer
+aftertime="$(date +%s)"
+seconds="$(expr ${aftertime} - ${beforetime})"
+
+if [ ${ERROR} -eq 0 ]; then
+ echo "File Encoded Successfully: ${OUTPUTFILE}" >> ${LOGFILE}
+ hours=$((seconds / 3600))
+ seconds=$((seconds % 3600))
+ minutes=$((seconds / 60))
+ seconds=$((seconds % 60))
+ if [ $hours -eq 0 ]; then
+ hours=""
+ elif [ $hours -eq 1 ]; then
+ hours=" $hours hour"
+ else
+ hours=" $hours hours"
+ fi
+ if [ $minutes -eq 1 ]; then
+ minutes="$minutes minute"
+ else
+ minutes="$minutes minutes"
+ fi
+ if [ $seconds -eq 1 ]; then
+ seconds="$seconds second"
+ else
+ seconds="$seconds seconds"
+ fi
+
+ echo "Encoding took${hours} ${minutes} ${seconds} @ ${current_FPS} fps." >> ${LOGFILE}
+ `jobqueue_helper.py -j ${JOBID} -ss 272`
+ update_comment "Encode Successful. Encoding Time:${hours} ${minutes} ${seconds}"
+else
+ echo "ERROR: ${ERROR}" >> ${LOGFILE}
+fi
+
+# Clean up
+clean_up_files
diff --git a/linhes/linhes-system/myth2mp3 b/linhes/linhes-system/myth2mp3
new file mode 100755
index 0000000..e5960be
--- /dev/null
+++ b/linhes/linhes-system/myth2mp3
@@ -0,0 +1,96 @@
+#!/bin/sh
+# convert recordings to as mp3 audio only
+# version 1.1.3
+
+# usage:
+# first parameter must be %DIR%/%FILE% of the recording
+# second parameter must be the desired base name of the output
+# third parameter must be %CHANID% if you set USECUTLIST=Y
+# fourth parameter must be %STARTTIME% if you set USECUTLIST=Y
+# In the mythtv setup screen invoke this script like this:
+# MYTHTV User Job Command:
+# /usr/bin/myth2mp3 "%DIR%/%FILE%" "%TITLE% - %SUBTITLE%" "%CHANID%" "%STARTTIME%"
+
+# options:
+BITRATE=256k #ie. 128k, 160k, 192k, 224k, 256k
+USECUTLIST=Y #Y or N
+
+# where the converted audio is stored
+OUT_DIR=/data/storage/disk0/media/music
+
+# create temp filename so multiple instances won't conflict
+TMPNAME=toMP3-$$
+TMPFILE=/data/storage/disk0/media/tmp/$TMPNAME
+TMPCUTFILE=/data/storage/disk0/media/tmp/$TMPNAME.mpg
+FFINPUTFILE=$1
+TITLE=`echo $2 | sed 's/\//_/g'`
+
+# log file location
+LOGFILE=/var/log/mythtv/myth2mp3.log
+CDate="`date`"
+echo "" >> $LOGFILE
+echo $CDate >> $LOGFILE
+echo "File to encode: $1 Name: $TITLE" >> $LOGFILE
+
+# start timer
+beforetime="$(date +%s)"
+
+# check if using cutlist
+if [ $USECUTLIST = Y ];then
+ MYTHCOMMFRAMES=`mythutil --getcutlist --chanid "$3" --starttime "$4" | grep 'Cutlist:' | cut -d \ -f 2`
+ if [ -n "$MYTHCOMMFRAMES" ]; then
+ echo "Extracting Cutlist..." >> $LOGFILE
+ /usr/bin/nice -n19 /usr/bin/mythtranscode --chanid "$3" --starttime "$4" --outfile "$TMPCUTFILE" --mpeg2 --honorcutlist
+ FFINPUTFILE=$TMPCUTFILE
+ fi
+fi
+
+# run ffmpeg to do conversion to wav
+echo "Encoding to intermediate wav..." >> $LOGFILE
+/usr/bin/nice -n19 /usr/bin/ffmpeg -i "$FFINPUTFILE" -vn -acodec pcm_s16le -ar 44100 -ac 2 "$TMPFILE.wav"
+ERROR=$?
+
+# Normalize the intermediate wav
+echo "Normalizing intermediate wav..." >> $LOGFILE
+/usr/bin/nice -n19 /usr/bin/normalize -q "$TMPFILE.wav"
+ERROR=$?
+
+FFINPUTFILE=$TMPFILE.wav
+
+# Final encode of normalized wav to mp3
+echo "Encoding normalized wav to mp3..." >> $LOGFILE
+/usr/bin/nice -n19 /usr/bin/ffmpeg -i "$FFINPUTFILE" -vn -acodec libmp3lame -ab $BITRATE -ar 44100 -ac 2 "$TMPFILE.mp3"
+ERROR=$?
+
+# make output filename unique
+OUTPUTFILE=$OUT_DIR/$TITLE.mp3
+i=1
+while [ -e "$OUTPUTFILE" ]
+do
+ OUTPUTFILE=$OUT_DIR/$TITLE-$i.mp3
+ i=`expr $i + 1`
+done
+
+# move temp file to output location
+chown mythtv "$TMPFILE.mp3" && mv "$TMPFILE.mp3" "$OUTPUTFILE"
+
+# stop timer
+aftertime="$(date +%s)"
+seconds="$(expr $aftertime - $beforetime)"
+
+if [ $ERROR -eq 0 ]; then
+ echo "File Encoded Sucessfully: $OUTPUTFILE" >> $LOGFILE
+ hours=$((seconds / 3600))
+ seconds=$((seconds % 3600))
+ minutes=$((seconds / 60))
+ seconds=$((seconds % 60))
+ echo "Encoding Time: $hours hour(s) $minutes minute(s) $seconds second(s)" >> $LOGFILE
+else
+ echo "ERROR: $ERROR" >> $LOGFILE
+fi
+
+# clean up left over files
+unlink $TMPFILE.mp3 2> /dev/null
+unlink $TMPFILE.wav 2> /dev/null
+unlink $TMPCUTFILE 2> /dev/null
+unlink $TMPCUTFILE.map 2> /dev/null
diff --git a/linhes/linhes-system/myth2videos b/linhes/linhes-system/myth2videos
new file mode 100755
index 0000000..c4d3246
--- /dev/null
+++ b/linhes/linhes-system/myth2videos
@@ -0,0 +1,148 @@
+#!/bin/sh
+# copy recording to videos
+# version 0.3
+
+# usage:
+# first parameter must be %DIR%/%FILE% of the recording
+# second parameter must be the desired base name of the output
+# third parameter must be %CHANID% if you set USECUTLIST=Y
+# fourth parameter must be %STARTTIME% if you set USECUTLIST=Y
+# fifth parameter must be %JOBID% for the User Job status to be updated in MythTV
+# in the mythtv setup screen invoke this script like this:
+# MYTHTV User Job Command:
+# /usr/bin/myth2videos "%DIR%/%FILE%" "%TITLE% - %SUBTITLE%" "%CHANID%" "%STARTTIME%" "%JOBID%"
+
+# options:
+USECUTLIST=Y # Y or N
+
+# where the video is stored
+OUT_DIR=/data/storage/disk0/media/video
+
+
+#------FUNCTIONS---------------
+update_comment()
+# Arg_1 = COMMENT
+{
+if [ $NO_JOBID -eq 0 ]; then
+ `jobqueue_helper.py -j ${JOBID} -cs "${1}"`
+fi
+}
+
+update_status()
+# Arg_1 = status code
+{
+if [ $NO_JOBID -eq 0 ]; then
+ `jobqueue_helper.py -j ${JOBID} -cs "${1}"`
+fi
+}
+
+check_myth_jobcmds()
+# check the myth database for stop pause or resume commands
+{
+if [ $NO_JOBID -eq 0 ]; then
+ CURRENT_CMD=`jobqueue_helper.py -m "select cmds from jobqueue where id = ${JOBID}"`
+ case "$CURRENT_CMD" in
+ # JOB_RUN
+ 0) ;;
+ # JOB_PAUSE
+ 1) `jobqueue_helper.py -j ${JOBID} -ss 6`;;
+ # JOB_RESUME
+ 2) `jobqueue_helper.py -j ${JOBID} -ss 4`
+ `jobqueue_helper.py -j ${JOBID} -cmds 0`;;
+ # JOB_STOP
+ 4) `jobqueue_helper.py -j ${JOBID} -ss 5`
+ `jobqueue_helper.py -j ${JOBID} -cmds 0`
+ clean_up_files
+ echo "Copy Cancelled" >> $LOGFILE
+ `jobqueue_helper.py -j ${JOBID} -ss 320`
+ exit ;;
+ esac
+fi
+}
+
+clean_up_files()
+# clean up left over files
+{
+unlink $TMPFILE 2> /dev/null
+unlink $TMPFILE.map 2> /dev/null
+}
+
+#-------MAIN SCRIPT------------
+
+# check if %JOBID% is passed from command line
+JOBID=${5}
+if [ -z "$JOBID" ]; then
+ NO_JOBID=1
+else
+ NO_JOBID=0
+fi
+
+# create temp filename so multiple instances won't conflict
+TMPNAME=toVIDEOS-$$
+TMPFILE=/data/storage/disk0/media/tmp/$TMPNAME.mpg
+MENINPUTFILE=$1
+TITLE=`echo $2 | sed 's/\//_/g'`
+
+# log file location
+LOGFILE=/var/log/mythtv/myth2videos.log
+CDate="`date`"
+echo "" >> $LOGFILE
+echo $CDate >> $LOGFILE
+echo "File to copy: $MENINPUTFILE Name: $TITLE" >> $LOGFILE
+echo "$2 $3 $4 $5" >> $LOGFILE
+
+# start timer
+beforetime="$(date +%s)"
+
+check_myth_jobcmds
+
+# check if using cutlist
+if [ $USECUTLIST = Y ]; then
+ MYTHCOMMFRAMES=`mythutil --getcutlist --chanid "$3" --starttime "$4" | grep 'Cutlist:' | cut -d \ -f 2`
+ echo $MYTHCOMMFRAMES
+ if [ -n "$MYTHCOMMFRAMES" ]; then
+ echo "Extracting Cutlist..." >> $LOGFILE
+ update_comment "Extracting Cutlist..."
+ /usr/bin/nice -n19 /usr/bin/mythtranscode --chanid "$3" --starttime "$4" --outfile "$TMPFILE" --mpeg2 --honorcutlist
+ else
+ update_comment "Copying Recording..."
+ cp "$MENINPUTFILE" "$TMPFILE"
+ fi
+elif [ $USECUTLIST = N ]; then
+ update_comment "Copying Recording..."
+ cp "$MENINPUTFILE" "$TMPFILE"
+fi
+
+# make output filename unique
+OUTPUTFILE=$OUT_DIR/$TITLE.mpg
+i=1
+while [ -e "$OUTPUTFILE" ]
+do
+ OUTPUTFILE=$OUT_DIR/$TITLE-$i.mpg
+ i=`expr $i + 1`
+done
+
+# move temp file to output location
+chown mythtv "$TMPFILE" && mv "$TMPFILE" "$OUTPUTFILE"
+
+# stop timer
+aftertime="$(date +%s)"
+seconds="$(expr $aftertime - $beforetime)"
+
+ERROR=$?
+if [ $ERROR -eq 0 ]; then
+ echo "File Encoded Successfully: $OUTPUTFILE" >> $LOGFILE
+ hours=$((seconds / 3600))
+ seconds=$((seconds % 3600))
+ minutes=$((seconds / 60))
+ seconds=$((seconds % 60))
+ echo "Encoding took $hours hour(s) $minutes minute(s) $seconds second(s) @ $current_FPS fps." >> $LOGFILE
+ update_status 272
+ update_comment "Encode Successful. Encoding Time: $hours hour(s) $minutes minute(s) $seconds second(s)"
+else
+ update_status 304
+ update_comment "Encode Failed. Exit status: $ERROR"
+ echo "ERROR: $ERROR" >> $LOGFILE
+fi
+
+clean_up_files
diff --git a/linhes/linhes-system/openssh.hook b/linhes/linhes-system/openssh.hook
new file mode 100644
index 0000000..0f9f866
--- /dev/null
+++ b/linhes/linhes-system/openssh.hook
@@ -0,0 +1,9 @@
+[Trigger]
+Operation = Install
+Type = Package
+Target = linhes-system
+
+[Action]
+Description = Enable and start sshd...
+When = PostTransaction
+Exec = /usr/bin/systemctl enable --now sshd.service
diff --git a/linhes/linhes-system/optimize_mythdb.py b/linhes/linhes-system/optimize_mythdb.py
new file mode 100755
index 0000000..7d60e89
--- /dev/null
+++ b/linhes/linhes-system/optimize_mythdb.py
@@ -0,0 +1,16 @@
+#!/usr/bin/python
+# import MySQL module
+import MySQLdb
+import socket
+import sys
+db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+cursor = db.cursor()
+cursor.execute("SHOW tables")
+result = cursor.fetchall()
+ops=["REPAIR","OPTIMIZE","ANALYZE"]
+for row in result:
+ ctable=row[0]
+ for op in ops:
+ print(op,ctable)
+ cmd= "%s table %s" %(op,ctable)
+ cursor.execute(cmd)
diff --git a/linhes/linhes-system/paccache.cron b/linhes/linhes-system/paccache.cron
new file mode 100644
index 0000000..d3ca082
--- /dev/null
+++ b/linhes/linhes-system/paccache.cron
@@ -0,0 +1,2 @@
+#!/bin/bash
+/usr/bin/paccache -r -q
diff --git a/linhes/linhes-system/plex_lib.conf b/linhes/linhes-system/plex_lib.conf
new file mode 100644
index 0000000..df4b3f3
--- /dev/null
+++ b/linhes/linhes-system/plex_lib.conf
@@ -0,0 +1,9 @@
+<!--#PLEX-->
+ <button>
+ <type>MENU_PLEX</type>
+ <text>Launch Plex</text>
+ <description>Open Plex Home Theater</description>
+ <action>EXEC /var/lib/flatpak/exports/bin/tv.plex.PlexHTPC</action>
+ </button>
+<!--#PLEX-->
+
diff --git a/linhes/linhes-system/plexmediascanner.sh b/linhes/linhes-system/plexmediascanner.sh
new file mode 100755
index 0000000..6ce2f5d
--- /dev/null
+++ b/linhes/linhes-system/plexmediascanner.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+exec 2>&1
+export TERM=linux
+. /etc/conf.d/plexmediaserver
+
+sudo -uplex -gplex LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" PLEX_MEDIA_SERVER_HOME="${PLEX_MEDIA_SERVER_HOME}" PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}" /usr/lib/plexmediaserver/Plex\ Media\ Scanner $@
diff --git a/linhes/linhes-system/rc6_mce.toml b/linhes/linhes-system/rc6_mce.toml
new file mode 100644
index 0000000..9ba3cb8
--- /dev/null
+++ b/linhes/linhes-system/rc6_mce.toml
@@ -0,0 +1,70 @@
+# Generated with gen_keytables.pl from drivers/media/rc/keymaps/rc-rc6-mce.c
+[[protocols]]
+name = "rc6_mce"
+protocol = "rc6"
+variant = "rc6_mce"
+[protocols.scancodes]
+0x800f0400 = "KEY_NUMERIC_0"
+0x800f0401 = "KEY_NUMERIC_1"
+0x800f0402 = "KEY_NUMERIC_2"
+0x800f0403 = "KEY_NUMERIC_3"
+0x800f0404 = "KEY_NUMERIC_4"
+0x800f0405 = "KEY_NUMERIC_5"
+0x800f0406 = "KEY_NUMERIC_6"
+0x800f0407 = "KEY_NUMERIC_7"
+0x800f0408 = "KEY_NUMERIC_8"
+0x800f0409 = "KEY_NUMERIC_9"
+0x800f040a = "KEY_DELETE"
+0x800f040b = "KEY_ENTER"
+0x800f040c = "KEY_SLEEP"
+0x800f040d = "KEY_M"
+0x800f040e = "KEY_MUTE"
+0x800f040f = "KEY_I"
+0x800f0410 = "KEY_VOLUMEUP"
+0x800f0411 = "KEY_VOLUMEDOWN"
+0x800f0412 = "KEY_CHANNELUP"
+0x800f0413 = "KEY_CHANNELDOWN"
+0x800f0414 = "KEY_FASTFORWARD"
+0x800f0415 = "KEY_REWIND"
+0x800f0416 = "KEY_SPACE"
+0x800f0417 = "KEY_RECORD"
+0x800f0418 = "KEY_SPACE"
+0x800f0419 = "KEY_X"
+0x800f041a = "KEY_END"
+0x800f041b = "KEY_HOME"
+0x800f041c = "KEY_NUMERIC_POUND"
+0x800f041d = "KEY_NUMERIC_STAR"
+0x800f041e = "KEY_UP"
+0x800f041f = "KEY_DOWN"
+0x800f0420 = "KEY_LEFT"
+0x800f0421 = "KEY_RIGHT"
+0x800f0422 = "KEY_ENTER"
+0x800f0423 = "KEY_BACK"
+0x800f0424 = "KEY_DVD"
+0x800f0425 = "KEY_TUNER"
+0x800f0426 = "KEY_EPG"
+0x800f0427 = "KEY_ZOOM"
+0x800f0432 = "KEY_MODE"
+0x800f0433 = "KEY_PRESENTATION"
+0x800f0434 = "KEY_EJECTCD"
+0x800f043a = "KEY_BRIGHTNESSUP"
+0x800f0446 = "KEY_TV"
+0x800f0447 = "KEY_AUDIO"
+0x800f0448 = "KEY_PVR"
+0x800f0449 = "KEY_CAMERA"
+0x800f044a = "KEY_VIDEO"
+0x800f044c = "KEY_LANGUAGE"
+0x800f044d = "KEY_TITLE"
+0x800f044e = "KEY_PRINT"
+0x800f0450 = "KEY_RADIO"
+0x800f045a = "KEY_SUBTITLE"
+0x800f045b = "KEY_RED"
+0x800f045c = "KEY_GREEN"
+0x800f045d = "KEY_YELLOW"
+0x800f045e = "KEY_BLUE"
+0x800f0465 = "KEY_POWER2"
+0x800f0469 = "KEY_MESSENGER"
+0x800f046e = "KEY_PLAYPAUSE"
+0x800f046f = "KEY_PLAYER"
+0x800f0480 = "KEY_BRIGHTNESSDOWN"
+0x800f0481 = "KEY_PLAYPAUSE"
diff --git a/linhes/linhes-system/readme_is_xml b/linhes/linhes-system/readme_is_xml
new file mode 100644
index 0000000..f0a13cb
--- /dev/null
+++ b/linhes/linhes-system/readme_is_xml
@@ -0,0 +1 @@
+Files ending in .conf will be read by gen_is_xml.py or gen_lib_xml.py or gen_game_xml.py and output xml as appropriate
diff --git a/linhes/linhes-system/recordings.cron b/linhes/linhes-system/recordings.cron
new file mode 100644
index 0000000..d71c139
--- /dev/null
+++ b/linhes/linhes-system/recordings.cron
@@ -0,0 +1,144 @@
+#!/bin/bash
+
+#check if mythbackend is running and was just started
+for i in 1 2
+do
+if [ $(pidof mythbackend) ]
+then
+ now=$(date +%s)
+ mythbackendStartTime=$(systemctl status mythbackend.service | grep Active| cut -d ' ' -f 11-12)
+ mythbackendStartTime=$(date -d"$mythbackendStartTime" +"%s")
+ if [[ $(( $now - $mythbackendStartTime )) -lt 59 ]]
+ then
+ #echo "mythbackend started less than a minute ago. Sleeping..."
+ sleep 60
+ fi
+else
+ #echo "mythbackend not running. exiting."
+ exit
+fi
+done
+
+if [ -f /usr/share/mythtv/contrib/user_jobs/mythlink.pl ]
+then
+ recdir="/data/storage/disk0/media/recordings"
+ tmprecdir="/data/storage/disk0/media/tmp/recordings"
+ rm -r $tmprecdir
+ su - mythtv -c "perl /usr/share/mythtv/contrib/user_jobs/mythlink.pl --format '%Ct/%U/%T/%T %- S%ssE%ep %- %oY-%om-%od = %S' --link '$tmprecdir'"
+
+ # rename category_types (%Ct) from numbers to names
+ for cattype in $tmprecdir/*
+ do
+ if [ $cattype == "$tmprecdir/1" ]
+ then
+ rsync -a "$cattype/" "$tmprecdir/Movies"
+ rm -r "$cattype"
+ elif [[ $cattype == "$tmprecdir/2" ]] || [[ $cattype == "$tmprecdir/4" ]]
+ then
+ rsync -a "$cattype/" "$tmprecdir/TV Shows"
+ rm -r "$cattype"
+ elif [ $cattype == "$tmprecdir/3" ]
+ then
+ rsync -a "$cattype/" "$tmprecdir/Sports"
+ rm -r "$cattype"
+ else
+ #ignore Movies, TV Shows, Sports. Move all others to TV Shows
+ if [[ $cattype != "$tmprecdir/Movies" ]] && [[ $cattype != "$tmprecdir/TV Shows" ]] && [[ $cattype != "$tmprecdir/Sports" ]]
+ then
+ if [ ! -d "$tmprecdir/TV Shows" ]
+ then
+ mkdir "$tmprecdir/TV Shows"
+ fi
+ rsync -a "$cattype" "$tmprecdir/TV Shows"
+ rm -r "$cattype"
+ fi
+ fi
+ done
+
+ #delete Deleted recgroup
+ for link in $tmprecdir/**/Deleted
+ do
+ rm -r "$link"
+ done
+
+ #move all links in recgroup dirs out to parent dir
+ for recgroup in $tmprecdir/**/*
+ do
+ if [ -d "$recgroup" ]
+ then
+ cd "$recgroup"
+ rsync -a "$recgroup/" ..
+ cd "$tmprecdir"
+ rm -r "$recgroup"
+ fi
+ done
+
+ #replace SE if no season/episode is in myth
+ for link in $tmprecdir/**/**/*\ -\ SE\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - SE - / - /'`
+ mv "$link" "$newlink"
+ done
+ #replace SEyy if no season is in myth
+ for link in $tmprecdir/**/**/*\ -\ SE[0-9][0-9]\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - SE/ - S00E/'`
+ mv "$link" "$newlink"
+ done
+ #replace SyyE if no episode is in myth
+ for link in $tmprecdir/**/**/*\ -\ S[0-9][0-9]E\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/E - /E00 - /'`
+ mv "$link" "$newlink"
+ done
+ #replace blank original date
+ for link in $tmprecdir/**/**/*\ -\ 0000-00-00\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - 0000-00-00 - / - /'`
+ mv "$link" "$newlink"
+ done
+ #add dash pt suffix if filename before the subtitle is the same
+ #so that plex will scan and include in library
+ uniqs="$(ls $tmprecdir/**/**/* | sed 's/ = .*//' | sort | uniq -d)"
+ SAVEIFS=$IFS
+ IFS=$'\n'
+ for link in $uniqs
+ do
+ i=1
+ for dup in `ls -v $link*`
+ do
+ newlink=`echo "$dup" | sed "s/ = /-pt$i = /"`
+ mv "$dup" "$newlink"
+ i=$((i+1))
+ done
+ done
+ IFS=$SAVEIFS
+
+ #change symlinks mtime to match the file it is linked to
+# for link in $tmprecdir/**/*
+# do
+# if [ -L "$link" ]
+# then
+# file=`readlink "$link"`
+# touch -hr "$file" "$link"
+# fi
+# done
+
+ #sync tmprecdir to recdir
+ #rsync -aOP --delete --ignore-existing "$tmprecdir/" "$recdir/"
+ rsync -aO --delete "$tmprecdir/" "$recdir/"
+
+ #check if plex media server is running
+ if [[ `pidof "Plex Media Server"` ]]
+ then
+ #get plex section and update
+ script -q -c '/usr/bin/plexmediascanner.sh -l' | grep -i myth | cut -d: -f1 | while read -r line
+ do
+ /usr/bin/plexmediascanner.sh --scan --refresh --section $line
+ done
+ fi
+fi
+
+#END=$(date +%s)
+#DIFF=$(( $END - $START ))
+#echo "It took $DIFF seconds"
diff --git a/linhes/linhes-system/remove_storage.py b/linhes/linhes-system/remove_storage.py
new file mode 100755
index 0000000..5de2f7a
--- /dev/null
+++ b/linhes/linhes-system/remove_storage.py
@@ -0,0 +1,185 @@
+#!/usr/bin/python
+#remove_storage.py removes disks that were added using add_storage.py
+#
+#Only disks that have a conf file in /etc/storage.d/ are presented
+#as choices to remove.
+# Version 2.0.0
+
+import os,sys,subprocess
+import configparser
+from configparser import ConfigParser
+import glob
+from socket import gethostname
+from MythTV import MythDB
+
+storage_dir = "/etc/storage.d"
+
+def runcmd(cmd):
+ if True :
+ pass
+ else:
+ cmd = "echo "+cmd
+ #print cmd
+ cmdout = subprocess.getstatusoutput(cmd)
+ #logging.debug(" %s", cmdout)
+ return cmdout
+
+def read_fstab():
+ f = open('/etc/fstab', 'r')
+ fstab=f.readlines()
+ f.close()
+ return fstab
+
+def unmount_disk(conf):
+ if os.path.ismount(conf[1]):
+ print("Unmounting " + conf[1] + ".")
+ cmd = "umount %s" %conf[1]
+ runcmd(cmd)
+
+def remove_fstab_entry(conf):
+ fstab=read_fstab()
+ f = open('/etc/fstab', 'w')
+ for line in fstab:
+ if not line.startswith("#"):
+ if line.find(conf[1]) > -1 and line.find(conf[2]) > -1 :
+ print("Removing " + conf[1] + " from fstab.")
+ else:
+ f.write(line)
+ else:
+ f.write(line)
+ f.close()
+
+def remove_SG_entries(conf):
+ DB = MythDB()
+ host=gethostname()
+ with DB as c:
+ print("Removing " + conf[1] + " storage group\n paths from MythTV database.")
+ c.execute("""delete from storagegroup where hostname = %s and dirname like %s""", (host,conf[1] + '%'))
+ c.execute("""delete from settings where hostname = %s and value like %s""", (host,'SGweightPerDir:' + host + ':' + conf[1] + '%'))
+
+def remove_disk_link(conf):
+ if os.path.islink("/data/storage/disk" + str(conf[0])):
+ print("Removing link /data/storage/disk%s." %(conf[0]))
+ cmd = "rm -f /data/storage/disk%s" %(conf[0])
+ runcmd(cmd)
+
+def remove_disk_mount(conf):
+ print("Removing mountpoint %s." %(conf[1]))
+ cmd = "rm -rf %s" %(conf[1])
+ runcmd(cmd)
+
+def update_conf_file(conf):
+ print("Updating %s file." %(conf[4]))
+ parser = ConfigParser()
+ parser.read(conf[4])
+ parser.set('storage','shareable',"False")
+ parser.set('storage','removed',"True")
+ with open(conf[4], 'w') as conf[4]:
+ parser.write(conf[4])
+
+def usage():
+ help='''
+ remove_storage.py removes disks that were added using add_storage.py.
+ Only disks that have a conf file in /etc/storage.d/ are presented
+ as choices to remove.
+
+ Disks removed from the system are not erased or formatted.
+
+ Normal operations include (in this order):
+ Ask which disk to remove
+ Unmount the disk if mounted
+ Remove disk from /etc/fstab
+ Remove MythTV storage group paths in MythTV database
+ Remove disk# symlink at /data/storage/
+ Remove disk name mountpoint at /data/storage/
+ Make shareable = False in /etc/storage.d/DISKNAME.conf
+ Add removed = True in /etc/stoarge.d/DISKNAME.conf
+
+ Options:
+ -h, --help: Show this help message.
+ '''
+ print(help)
+ sys.exit(0)
+
+#--------------------------------------------
+
+def main():
+ all_confs = []
+
+ # get conf files that are not disk0 or not removed
+ for conf_file in glob.glob('%s/*.conf' %storage_dir):
+ this_conf = []
+ parser = ConfigParser()
+ parser.read(conf_file)
+ mounted = ""
+ try:
+ disk_num = parser.get('storage', 'disk_num')
+ except:
+ print("\nSkipping: " + conf_file + " is missing disk_num")
+ continue
+ try:
+ removed = parser.get('storage', 'removed')
+ except:
+ removed = False
+ if disk_num == "0" or removed:
+ continue
+ this_conf.append(int(disk_num)) #0
+ this_conf.append(parser.get('storage', 'mountpoint')) #1
+ this_conf.append(parser.get('storage', 'uuid')) #2
+ if os.path.ismount(this_conf[1]):
+ this_conf.append("(mounted)") #3
+ else:
+ this_conf.append("") #3
+ this_conf.append(conf_file) #4
+ all_confs.append(this_conf)
+
+ # sort confs on disk num
+ all_confs.sort(key=lambda x: x[0])
+
+ # exit if no disks found
+ if len(all_confs) == 0:
+ print("\nThere are no disks to remove. Exiting.")
+ sys.exit(0)
+
+ print("\nDisks found in /etc/storage.d/:\n")
+
+ # print list of disks to remove
+ for i,conf in enumerate(all_confs):
+ print(str(i+1) + ": " + conf[1] + " (disk" + str(conf[0]) + ") " + conf[3])
+
+ # get user input of disk to remove
+ try:
+ conf_select=input("\nEnter the number of the disk to remove: ")
+ conf_select=int(conf_select)
+ if conf_select > len(all_confs) or conf_select < 1:
+ conf_select=int("e")
+ except ValueError:
+ print("You must enter a number between 1 and " + str(len(all_confs)) + ". Exiting.")
+ sys.exit(0)
+
+ selected_conf = all_confs[conf_select-1]
+
+ # confirm selection
+ confirm_select=input("\nDisk " + selected_conf[1] + " (disk" + str(selected_conf[0]) + ") will be removed.\nAre you sure you want to remove it (yes/no)? ")
+ if confirm_select != "yes":
+ print("Exiting.")
+ sys.exit(0)
+
+ print("")
+ unmount_disk(selected_conf)
+ remove_fstab_entry(selected_conf)
+ remove_SG_entries(selected_conf)
+ remove_disk_link(selected_conf)
+ remove_disk_mount(selected_conf)
+ update_conf_file(selected_conf)
+
+ print("\nDisk " + selected_conf[1] + " has been removed.")
+
+if __name__ == "__main__":
+ if not os.geteuid()==0:
+ sys.exit("\nRoot access is required to run this program.\n")
+
+ if "--help" in sys.argv or "-h" in sys.argv:
+ usage()
+ else:
+ main()
diff --git a/linhes/linhes-system/rsyslog.hook b/linhes/linhes-system/rsyslog.hook
new file mode 100644
index 0000000..00e3b5f
--- /dev/null
+++ b/linhes/linhes-system/rsyslog.hook
@@ -0,0 +1,9 @@
+[Trigger]
+Operation = Install
+Type = Package
+Target = linhes-system
+
+[Action]
+Description = Enable and start rsyslog...
+When = PostTransaction
+Exec = /usr/bin/systemctl enable --now rsyslog.service
diff --git a/linhes/linhes-system/rsyslog.mythtv.conf b/linhes/linhes-system/rsyslog.mythtv.conf
new file mode 100644
index 0000000..9f3efe7
--- /dev/null
+++ b/linhes/linhes-system/rsyslog.mythtv.conf
@@ -0,0 +1,63 @@
+# MythTV 0.26 and later rsyslog.d conf
+
+# Control-code conversion. The default is on.
+#$EscapeControlCharactersOnReceive off
+
+$template DynMythFormat,"%TIMESTAMP:::date-rfc3339%%msg%\n"
+$template DynMythBackend,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythbackend.log"
+$template DynMythFrontend,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythfrontend.log"
+$template DynMythJobQueue,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythjobqueue.log"
+$template DynMythMediaServer,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythmediaserver.log"
+$template DynMythSetup,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythtv_setup.log"
+$template DynMythFillDatabase,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythfilldatabase.log"
+$template DynMythCommflag,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythcommflag.log"
+$template DynMythPreviewGen,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythpreviewgen.log"
+$template DynMythTranscode,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythtranscode.log"
+$template DynMythMetadataLookup,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythmetadatalookup.log"
+$template DynMythUtil,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythutil.log"
+$template DynMythWelcome,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythwelcome.log"
+$template DynMythShutdown,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythshutdown.log"
+$template DynMythLCDServer,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythlcdserver.log"
+$template DynMythccExtractor,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythccextractor.log"
+$template DynMythAVTest,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythavtest.log"
+$template DynMythLogServer,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythlogserver.log"
+$template DynMythNoLogServer,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_%programname%.log"
+
+
+
+if $syslogfacility-text == 'local6' and $msg startswith ' mythbackend' then ?DynMythBackend;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythfrontend' then ?DynMythFrontend;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythjobqueue' then ?DynMythJobQueue;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythmediaserver' then ?DynMythMediaServer;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythtv-setup' then ?DynMythSetup;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythfilldatabase' then ?DynMythFillDatabase;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythcommflag' then ?DynMythCommflag;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythpreviewgen' then ?DynMythPreviewGen;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythtranscode' then ?DynMythTranscode;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythmetadatalookup' then ?DynMythMetadataLookup;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythutil' then ?DynMythUtil;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythwelcome' then ?DynMythWelcome;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythshutdown' then ?DynMythShutdown;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythlcdserver' then ?DynMythLCDServer;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythccextractor' then ?DynMythccExtractor;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythavtest' then ?DynMythAVTest;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $msg startswith ' mythlogserver' then ?DynMythLogServer;DynMythFormat
+& stop
+if $syslogfacility-text == 'local6' and $programname startswith 'myth' then ?DynMythNoLogServer
+& stop
diff --git a/linhes/linhes-system/system-sudo.rules b/linhes/linhes-system/system-sudo.rules
new file mode 100644
index 0000000..74ef5ef
--- /dev/null
+++ b/linhes/linhes-system/system-sudo.rules
@@ -0,0 +1,2 @@
+mythtv ALL=(ALL) NOPASSWD: ALL
+zabbix-server ALL=(ALL) NOPASSWD: /usr/bin/systemctl, /usr/bin/nmap, /usr/share/zabbix/alertscripts/*
diff --git a/linhes/linhes-system/udev_link.sh b/linhes/linhes-system/udev_link.sh
new file mode 100755
index 0000000..45038e9
--- /dev/null
+++ b/linhes/linhes-system/udev_link.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+my_base=$1
+dev_name=$2
+#DEVNAME=/dev/dvb/adapter2/frontend0
+#DVB_ADAPTER_NUM=2
+
+lndir=`dirname $dev_name`
+for clink in `ls -d /dev/dvb/adapter_*`
+do
+ if [ `readlink $clink` == $lndir ]
+ then
+ echo "link is already present $clink"
+ exit 0
+ fi
+done
+mkdir -p /dev/vstatic
+for i in 1 2 3 4
+do
+ if [ $i -eq 1 ]
+ then
+ mydir="/dev/dvb/adapter_${my_base}"
+ else
+ mydir="/dev/dvb/adapter_${my_base}-$i"
+ fi
+ if [ ! -e $mydir ]
+ then
+ ln -s $lndir $mydir
+ exit 0
+ else
+ echo "dvb $mydir already exists"
+ fi
+done
+exit 0
diff --git a/linhes/linhes-system/x11vnc.override.conf b/linhes/linhes-system/x11vnc.override.conf
new file mode 100644
index 0000000..b1d657d
--- /dev/null
+++ b/linhes/linhes-system/x11vnc.override.conf
@@ -0,0 +1,8 @@
+[Service]
+ExecStart=
+ExecStart=/bin/bash -c "/usr/bin/x11vnc -auth /var/run/sddm/* -display :0 -forever -loop -noxdamage -repeat -rfbauth /home/mythtv/.vnc/passwd -shared"
+Restart=on-failure
+RestartSec=10
+
+[Install]
+WantedBy=graphical.target
diff --git a/linhes/linhes-system/xfs_defrag.cron b/linhes/linhes-system/xfs_defrag.cron
new file mode 100644
index 0000000..208f5e8
--- /dev/null
+++ b/linhes/linhes-system/xfs_defrag.cron
@@ -0,0 +1,3 @@
+#!/bin/bash
+#. /etc/profile
+/usr/bin/checkXFSfrag.sh --idle | /usr/bin/logger -t xfs_defrag
diff --git a/linhes/linhes-templates/.gitignore b/linhes/linhes-templates/.gitignore
new file mode 100644
index 0000000..bc95f88
--- /dev/null
+++ b/linhes/linhes-templates/.gitignore
@@ -0,0 +1 @@
+templates.tar.gz
diff --git a/linhes/linhes-templates/PKGBUILD b/linhes/linhes-templates/PKGBUILD
new file mode 100644
index 0000000..f96c8e4
--- /dev/null
+++ b/linhes/linhes-templates/PKGBUILD
@@ -0,0 +1,18 @@
+pkgname=linhes-templates
+pkgver=9.0.0
+pkgrel=15
+conflicts=()
+pkgdesc="Templates used for LinHES system configuration"
+depends=()
+makedepends=()
+arch=('x86_64')
+source=(templates.tar.gz)
+sha256sums=('1fe3cb69acab1f006596b9a5bd63d6a6f85c13c00d7d8209af215336ded84a3c')
+
+package() {
+ MVDIR=$pkgdir/usr/share/linhes
+ mkdir -p $MVDIR
+ cp -r $srcdir/templates $MVDIR
+ chmod -R 0755 $MVDIR
+ find $MVDIR -type f -perm 0755 -exec chmod 0644 {} +
+}
diff --git a/linhes/linhes-templates/mp_preflight b/linhes/linhes-templates/mp_preflight
new file mode 100755
index 0000000..2017567
--- /dev/null
+++ b/linhes/linhes-templates/mp_preflight
@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+echo " Starting mp_preflight"
+tar -czvf templates.tar.gz ./templates
diff --git a/linhes/linhes-templates/templates/LCD/Shuttle/LCDd.conf b/linhes/linhes-templates/templates/LCD/Shuttle/LCDd.conf
new file mode 100644
index 0000000..8f6f3d2
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/Shuttle/LCDd.conf
@@ -0,0 +1,1295 @@
+# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
+#
+# This file contains the configuration for the LCDd server.
+#
+# The format is ini-file-like. It is divided into sections that start at
+# markers that look like [section]. Comments are all line-based comments,
+# and are lines that start with '#' or ';'.
+#
+# The server has a 'central' section named [server]. For the menu there is
+# a section called [menu]. Further each driver has a section which
+# defines how the driver acts.
+#
+# The drivers are activated by specifying them in a driver= line in the
+# server section, like:
+#
+# Driver=curses
+#
+# This tells LCDd to use the curses driver.
+# The first driver that is loaded and is capable of output defines the
+# size of the display. The default driver to use is curses.
+# If the driver is specified using the -d <driver> command line option,
+# the Driver= options in the config file are ignored.
+#
+# The drivers read their own options from the respective sections.
+
+
+
+## Server section with all kinds of settings for the LCDd server ##
+[server]
+
+# Where can we find the driver modules ?
+# IMPORTANT: Make sure to change this setting to reflect your
+# specific setup! Otherwise LCDd won't be able to find
+# the driver modules and will thus not be able to
+# function properly.
+# NOTE: Always place a slash as last character !
+DriverPath=/usr/lib/lcdproc/
+
+# Tells the server to load the given drivers. Multiple lines can be given.
+# The name of the driver is case sensitive and determines the section
+# where to look for further configuration options of the specific driver
+# as well as the name of the dynamic driver module to load at runtime.
+# The latter one can be changed by giving a File= directive in the
+# driver specific section.
+#
+# The following drivers are supported:
+# bayrad, CFontz, CFontzPacket, curses, CwLnx, ea65,
+# EyeboxOne, g15, glcd, glcdlib, glk, hd44780, icp_a106, imon, imonlcd,
+# IOWarrior, irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800,
+# mdm166a, ms6931, mtc_s16209x, MtxOrb, mx5000, NoritakeVFD, picolcd,
+# pyramid, sdeclcd, sed1330, sed1520, serialPOS, serialVFD, shuttleVFD, sli,
+# stv5730, svga, t6963, text, tyan, ula200, vlsys_m428, xosd
+Driver=shuttleVFD
+
+# Tells the driver to bind to the given interface
+Bind=127.0.0.1
+
+# Listen on this specified port; defaults to 13666.
+Port=13666
+
+# Sets the reporting level; defaults to 2 (warnings and errors only).
+#ReportLevel=3
+
+# Should we report to syslog instead of stderr ? [default: no; legal: yes, no]
+#ReportToSyslog=yes
+
+# User to run as. LCDd will drop its root privileges, if any,
+# and run as this user instead.
+User=nobody
+
+# The server will stay in the foreground if set to true.
+#Foreground=no
+
+# Hello message: each entry represents a display line; default: builtin
+Hello="LinHES"
+#Hello=" Welcome to"
+#Hello=" LCDproc!"
+
+# GoodBye message: each entry represents a display line; default: builtin
+GoodBye=""
+#GoodBye="Thanks for using"
+#GoodBye=" LCDproc!"
+
+# Sets the default time in seconds to displays a screen.
+WaitTime=10
+
+# If set to no, LCDd will start with screen rotation disabled. This has the
+# same effect as if the ToggleRotateKey had been pressed. Rotation will start
+# if the ToggleRotateKey is pressed. Note that this setting does not turn off
+# priority sorting of screens. [default: on; legal: on, off]
+#AutoRotate=no
+
+# If yes, the the serverscreen will be rotated as a usual info screen. If no,
+# it will be a background screen, only visible when no other screens are
+# active. The special value 'blank' is similar to no, but only a blank screen
+# is displayed. [default: on; legal: on, off, blank]
+ServerScreen=blank
+
+# Set master backlight setting. If set to 'open' a client may control the
+# backlight for its own screens (only). [default: open; legal: off, open, on]
+#Backlight=open
+
+# Set master heartbeat setting. If set to 'open' a client may control the
+# heartbeat for its own screens (only). [default: open; legal: off, open, on]
+#Heartbeat=open
+
+# set title scrolling speed [default: 10; legal: 0-10]
+#TitleSpeed=10
+
+# The "...Key=" lines define what the server does with keypresses that
+# don't go to any client. The ToggleRotateKey stops rotation of screens, while
+# the PrevScreenKey and NextScreenKey go back / forward one screen (even if
+# rotation is disabled.
+# Assign the key string returned by the driver to the ...Key setting. These
+# are the defaults:
+ToggleRotateKey=Enter
+PrevScreenKey=Left
+NextScreenKey=Right
+#ScrollUpKey=Up
+#ScrollDownKey=Down
+
+
+## The menu section. The menu is an internal LCDproc client. ##
+[menu]
+# You can configure what keys the menu should use. Note that the MenuKey
+# will be reserved exclusively, the others work in shared mode.
+
+# Up to six keys are supported. The MenuKey (to enter and exit the menu), the
+# EnterKey (to select values) and at least one movement keys are required.
+# These are the default key assignments:
+MenuKey=Escape
+EnterKey=Enter
+UpKey=Up
+DownKey=Down
+#LeftKey=Left
+#RightKey=Right
+
+
+### Driver sections are below this line, in alphabetical order ###
+
+
+## EMAC BayRAD driver ##
+[bayrad]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200]
+Speed=9600
+
+
+
+## CrystalFontz driver (for CF632 & CF634) ##
+[CFontz]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+# Select the LCD size [default: 20x4]
+Size=20x4
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200,
+# 115200]
+Speed=9600
+# Set the firmware version (New means >= 2.0) [default: no; legal: yes, no]
+NewFirmware=no
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+
+
+## CrystalFontz packet driver (for CFA533, CFA631, CFA633 & CFA635) ##
+[CFontzPacket]
+
+# Select the LCD model [default: 633; legal: 533, 631, 633, 635]
+Model=633
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+# Reinitialize the LCD's BIOS on driver start. [default: no; legal: yes, no]
+Reboot=yes
+
+# Enable the USB flag if the device is connected to an USB port. For
+# serial ports leave it disabled. [default: no; legal: yes, no]
+#USB=yes
+
+# Very old 633 firmware versions do not support partial screen updates using
+# 'Send Data to LCD' command (31). For those devices it may be necessary to
+# enable this flag. [default: no; legal: yes, no]
+#OldFirmware=yes
+
+# Override the LCD size known for the selected model. Usually setting this
+# value should not be necessary.
+#Size=20x4
+
+# Override the default communication speed known for the selected model.
+# Default value depends on model [legal: 19200, 115200]
+#Speed=115200
+
+
+
+## Curses driver ##
+[curses]
+
+# color settings
+# foreground color [default: blue]
+Foreground=blue
+# background color when "backlight" is off [default: cyan]
+Background=cyan
+# background color when "backlight" is on [default: red]
+Backlight=red
+
+# display size [default: 20x4]
+Size=20x4
+
+# What position (X,Y) to start the left top corner at...
+# Default: (7,7)
+TopLeftX=7
+TopLeftY=7
+
+# use ASC symbols for icons & bars [default: no; legal: yes, no]
+UseACS=no
+
+# draw Border [default: yes; legal: yes, no]
+DrawBorder=yes
+
+
+
+## Cwlinux driver ##
+[CwLnx]
+
+# Select the LCD model [default: 12232; legal: 12232, 12832, 1602]
+Model=12232
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Select the LCD size. Default depends on model:
+# 12232: 20x4
+# 12832: 21x4
+# 1602: 16x2
+Size=20x4
+
+# Set the communication speed [default: 19200; legal: 9600, 19200]
+Speed=19200
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+# If you have a keypad connected. Keypad layout is currently not
+# configureable from the config file.
+Keypad=yes
+
+# If you have a non-standard keypad you can associate any keystrings to keys.
+# There are 6 input keys in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following is the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+# keypad_test_mode permits one to test keypad assignment
+# Default value is no
+#keypad_test_mode=yes
+
+
+
+## ea65 driver for the display in AOpen XC Cube AV EA65 media barebones ##
+[ea65]
+
+# Device is fixed /dev/ttyS1
+# Width and Height are fixed 9x1
+
+# As the VFD is self luminescent we don't have a backlight
+# But we can use the backlight functions to control the front LEDs
+# Brightness 0 to 299 -> LEDs off
+# Brightness 300 to 699 -> LEDs half bright
+# Brightness 700 to 1000 -> LEDs full bright
+Brightness=500
+# OffBrightness is the the value used for the 'backlight off' state
+OffBrightness=0
+
+
+
+## EyeboxOne driver ##
+[EyeboxOne]
+
+# Select the output device to use [default: /dev/ttyS1]
+#Device=/dev/cua01
+Device=/dev/ttyS1
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Switch on the backlight? [default: yes]
+Backlight=yes
+
+# Switch on the cursor? [default: no]
+Cursor=no
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# Enter Key is a \r character, so it's hardcoded in the driver
+LeftKey=D
+RightKey=C
+UpKey=A
+DownKey=B
+EscapeKey=P
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## g15 driver for Logitech G15 Keyboard LCDs ##
+[g15]
+
+# Display size (currently unused)
+size=20x5
+
+
+
+## glcd generic graphical display driver
+[glcd]
+# Select what type of connection. See documentation for types.
+ConnectionType=t6963
+
+# Width and height of the display in pixel. The supported sizes may depend on
+# the ConnectionType. [default: 128x64; legal: 1x1 - 640x480]
+#Size=128x64
+
+# Width and height of a character cell in pixels. This value is only used if
+# the driver has been compiled with FreeType and it is enabled. Otherwise the
+# default 6x8 cell is used.
+#CellSize=12x16
+
+# If LCDproc has been compiled with FreeType 2 support this option can be used
+# to turn if off intentionally. [default: yes; legal: yes, no]
+#useFT2=no
+
+# Path to font file to use for FreeType rendering. This font must be monospace
+# and should contain some special Unicode characters like arrows (Andale Mono
+# is recommended and can be fetched at http://corefonts.sf.net).
+#normal_font=/usr/local/lib/X11/fonts/TTF/andalemo.ttf
+
+# Some fonts miss the Unicode characters used to represent icons. In this case
+# the built-in 5x8 font can used if this option is turned off. [default: yes;
+# legal: yes, no]
+#fontHasIcons=no
+
+# Set the initial contrast if supported by connection type.
+# [default: 600; legal: 0 - 1000]
+#Contrast=600
+
+# Set brightness of the backlight if the backlight is switched 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# Set brightness of the backlight if the backlight is switched 'off'. Set this
+# to zero to completely turn off the backlight. [default: 100; legal: 0 - 1000]
+#OffBrightness=0
+
+# Time (ms) from first key report to first repeat. Set to 0 to disable repeated
+# key reports. [default: 500; legal: 0 - 3000]
+#KeyRepeatDelay=500
+
+# Time (ms) between repeated key reports. Ignored if KeyRepeatDelay is disabled
+# (set to zero). [default: 300; legal: 0 - 3000]
+#KeyRepeatInterval=300
+
+# Assign key strings to keys. There may be up to 16 keys numbered 'A' to 'Z'.
+# By default keys 'A' to 'F' are assigned Up, Down, Left, Right, Enter, Escape.
+KeyMap_A=Up
+KeyMap_B=Down
+KeyMap_C=Enter
+KeyMap_D=Escape
+
+# t6963: Parallel port to use [default: 0x378; legal: 0x200 - 0x400]
+#Port=0x378
+
+# t6963: Use LPT port in bi-directional mode. This should work on most LPT port
+# and is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# t6963: Insert additional delays into reads / writes. [default: no;
+# legal: yes, no]
+#delayBus=no
+
+# serdisplib: Name of the underlying serdisplib driver, e.g. ctinclud. See
+# serdisplib documentation for details.
+serdisp_name=t6963
+
+# serdisplib: The display device to use, e.g. serraw:/dev/ttyS0,
+# parport:/dev/parport0 or USB:07c0/1501.
+serdisp_device=/dev/ppi0
+
+# serdisplib: Options string to pass to serdisplib during initialization. Use
+# this to set any display related options (e.g. wiring). The display size is
+# always set based on the Size configured above! By default, no options are
+# set.
+# Important: The value must be quoted as it contains equal signs!
+#serdisp_options="INVERT=1"
+
+
+
+## glcdlib meta driver for graphical LCDs ##
+[glcdlib]
+
+## mandatory:
+
+# which graphical display supported by graphlcd-base to use [default: image]
+# (see /etc/graphlcd.conf for possible drivers)
+Driver=noritake800
+
+# no=use graphlcd bitmap fonts (they have only one size / font file)
+# yes=use fonts supported by FreeType2 (needs Freetype2 support in
+# libglcdprocdriver and its dependants)
+UseFT2=yes
+
+# text resolution in fixed width characters [default: 16x4]
+# (if it won't fit according to available physical pixel resolution
+# and the minimum available font face size in pixels, then
+# 'DebugBorder' will automatically be turned on)
+TextResolution=20x4
+
+# path to font file to use
+FontFile=/usr/share/fonts/corefonts/courbd.ttf
+
+## these only apply if UseFT2=yes:
+
+# character encoding to use
+CharEncoding=iso8859-2
+
+# minimum size in pixels in which fonts should be rendered
+MinFontFaceSize=7x12
+
+## optional:
+Brightness=50 # Brightness (in %) if applicable
+Contrast=50 # Contrast (in %) if applicable
+Backlight=no # Backlight if applicable
+UpsideDown=no # flip image upside down
+Invert=no # invert light/dark pixels
+ShowDebugFrame=no # turns on/off 1 pixel thick debugging
+ # border within the usable text area,
+ # for setting up TextResolution and
+ # MinFontFaceSize (if using FT2);
+ShowBigBorder=no # border around the unused area
+ShowThinBorder=yes # border around the unused area
+PixelShiftX=0
+PixelShiftY=2
+
+
+
+## Matrix Orbital GLK driver ##
+[glk]
+
+# select the serial device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# set the initial contrast value [default: 560; legal: 0 - 1000]
+Contrast=560
+
+# set the serial port speed [default: 19200; legal: 9600, 19200, 38400]
+Speed=19200
+
+
+
+## Hitachi HD44780 driver ##
+[hd44780]
+
+# Select what type of connection. See documentation for types.
+ConnectionType=4bit
+
+# Port where the LPT is. Usual value are: 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Device of the serial interface [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Bitrate of the serial port (0 for interface default)
+Speed=0
+
+# If you have a keypad connected.
+# You may also need to configure the keypad layout further on in this file.
+Keypad=no
+
+# Set the initial contrast (bwctusb, lcd2usb, and usb4all)
+# [default: 800; legal: 0 - 1000]
+#Contrast=0
+
+# Set brightness of the backlight (lcd2usb and usb4all):
+# Brightness is the brightness while the backlight is set to 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# OffBrightness is the brightness while the backlight is set to 'off'.
+# [default: 300; legal: 0 - 1000]
+#OffBrightness=0
+
+# If you have a switchable backlight.
+Backlight=no
+
+# If you have the additional output port ("bargraph") and you want to
+# be able to control it with the lcdproc OUTPUT command
+OutputPort=no
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+# Specifies the size of the LCD.
+# In case of multiple combined displays, this should be the total size.
+Size=20x4
+
+# For multiple combined displays: how many lines does each display have.
+# Vspan=2,2 means both displays have 2 lines.
+#vspan=2,2
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# In extended mode, on some controllers like the ST7036 (in 3 line mode)
+# the next line in DDRAM won't start 0x20 higher. [default: 0x20]
+#LineAddress=0x10
+
+# Character map to to map ISO-8859-1 to the LCD's character set
+# [default: hd44780_default; legal: hd44780_default, hd44780_euro, ea_ks0073,
+# sed1278f_0b, hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5, upd16314 ]
+# (hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5 and upd16314 are possible if
+# compiled with additional charmaps)
+CharMap=hd44780_default
+
+# If your display is slow and cannot keep up with the flow of data from
+# LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4
+# to increase the delays. Default: 1.
+#DelayMult=2
+
+# Some displays (e.g. vdr-wakeup) need a message from the driver to that it
+# is still alive. When set to a value bigger then null the character in the
+# upper left corner is updated every <KeepAliveDisplay> seconds. Default: 0.
+#KeepAliveDisplay=0
+
+# If you experience occasional garbage on your display you can use this
+# option as workaround. If set to a value bigger than null it forces a
+# full screen refresh <RefreshDiplay> seconds. Default: 0.
+#RefreshDisplay=5
+
+# You can reduce the inserted delays by setting this to false.
+# On fast PCs it is possible your LCD does not respond correctly.
+# Default: true.
+DelayBus=true
+
+# If you have a keypad you can assign keystrings to the keys.
+# See documentation for used terms and how to wire it.
+# For example to give directly connected key 4 the string "Enter", use:
+# KeyDirect_4=Enter
+# For matrix keys use the X and Y coordinates of the key:
+# KeyMatrix_1_3=Enter
+KeyMatrix_4_1=Enter
+KeyMatrix_4_2=Up
+KeyMatrix_4_3=Down
+KeyMatrix_4_4=Escape
+
+
+
+## ICP A106 driver ##
+[icp_a106]
+Device=/dev/ttyS1
+
+
+
+## Code Mercenaries IO-Warrior driver ##
+[IOWarrior]
+
+# display dimensions
+Size=20x4
+
+# serial number. Must be exactly as listed by usbview
+# (if not given, the 1st IOWarrior found gets used)
+#SerialNumber=00000674
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+## Soundgraph/Ahanix/Silverstone/Uneed/Accent iMON driver ##
+[imon]
+
+# select the device to use
+Device=/dev/lcd0
+
+# display dimensions
+Size=16x2
+
+# Character map to to map ISO-8859-1 to the displays character set.
+# [default: none; legal: none, hd44780_euro, upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 ] (upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 are possible if compiled with additional
+# charmaps)
+CharMap=hd44780_euro
+
+## Soundgraph iMON LCD ##
+[imonlcd]
+# Specify which iMon protocol should be used
+# [legal: 0, 1; default: 0]
+# Choose 0 for 15c2:ffdc device,
+# Choose 1 for 15c2:0038 device
+Protocol=0
+
+# Set the exit behavior [legal: 0-2; default: 1]
+# 0 means leave shutdown message,
+# 1 means show the big clock,
+# 2 means blank device
+#OnExit=2
+
+# Select the output device to use [default: /dev/lcd0]
+Device=/dev/lcd0
+
+# Select the displays contrast [default: 200; legal: 0-1000]
+Contrast=200
+
+# Specify the size of the display in pixels [default: 96x16]
+#Size=96x16
+
+# Set the backlight state [default: on; legal: on, off]
+#Backlight=on
+
+# Set the disc mode [legal: 0,1; default: 0]
+# 0 => spin the "slim" disc - two disc segments,
+# 1 => their complement spinning;
+#DiscMode=0
+
+
+
+## IrMan driver ##
+[IrMan]
+# in case of trouble with IrMan, try the Lirc emulator for IrMan
+
+# Select the input device to use
+#Device=/dev/irman
+
+# Select the configuration file to use
+#Config=/etc/irman.cfg
+
+
+
+## IRtrans driver ##
+[irtrans]
+
+# Does the device have a backlight? [default: no; legal: yes, no]
+#Backlight=no
+
+# IRTrans device to connect to [default: localhost]
+#Hostname=localhost
+
+# display dimensions
+Size=16x2
+
+
+
+## Joystick driver ##
+[joy]
+
+# Select the input device to use [default: /dev/js0]
+Device=/dev/js0
+
+# set the axis map
+Map_Axis1neg=Left
+Map_Axis1pos=Right
+Map_Axis2neg=Up
+Map_Axis2pos=Down
+
+# set the button map
+Map_Button1=Enter
+Map_Button2=Escape
+
+
+
+## LB216 driver ##
+[lb216]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Set the communication speed [default: 9600; legal: 2400, 9600]
+Speed=9600
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## LCDM001 driver ##
+[lcdm001]
+
+Device=/dev/ttyS1
+
+# keypad settings
+# Keyname Function
+# Normal context Menu context
+# ------- -------------- ------------
+# PauseKey Pause/Continue Enter/select
+# BackKey Back(Go to previous screen) Up/Left
+# ForwardKey Forward(Go to next screen) Down/Right
+# MainMenuKey Open main menu Exit/Cancel
+PauseKey=LeftKey
+BackKey=UpKey
+ForwardKey=DownKey
+MainMenuKey=RightKey
+
+# You can rearrange the settings here.
+# If your device is broken, have a look at /usr/lib/lcdproc/lcdm001.h
+
+
+
+## HNE LCTerm driver ##
+[lcterm]
+Device=/dev/ttyS1
+Size=16x2
+
+
+
+## LIRC input driver ##
+[lirc]
+
+# Specify an alternative location of the lircrc file [default: ~/.lircrc]
+#lircrc=/etc/lircrc.lcdproc
+
+# Must be the same as in your lircrc
+#prog=lcdd
+
+
+
+## LIS MCE 2005 driver ##
+[lis]
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# 0-250 = 25%, 251-500 = 50%, 501-750 = 75%, 751-1000 = 100%
+#Brightness=1000
+
+# Columns by lines [default: 20x2]
+#Size=20x2
+
+# USB Vendor ID [default: 0x0403]
+# Change only if testing a compatible device.
+#VendorID=0x0403
+
+# USB Product ID [default: 0x6001]
+# Change only if testing a compatible device.
+#ProductID=0x6001
+
+# Specifies if the last line is pixel addressable (yes) or it only controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+##The driver for the VFD of the Medion MD8800 PC ##
+[MD8800]
+# device to use [default: /dev/ttyS1]
+#Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+
+
+## Futuba MDM166A Display
+[mdm166a]
+# Show self-running clock after LCDd shutdown
+# Possible values: [default: no; legal: no, small, big]
+Clock=big
+# Dim display, no dimming gives full brightness [default: no, legal: yes, no]
+Dimming=no
+# Dim display in case LCDd is inactive [default: no, legal: yes, no]
+OffDimming=yes
+
+
+
+## MSI MS-6931 driver for displays in 1HU servers ##
+[ms6931]
+
+# device to use [default: /dev/ttyS1]
+Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+
+
+## MTC-S16209x driver ##
+[mtc_s16209x]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Matrix Orbital driver ##
+[MtxOrb]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Set the display type [default: lcd; legal: lcd, lkd, vfd, vkd]
+Type=lkd
+
+# Set the initial contrast [default: 480]
+# NOTE: The driver will ignore this if the display
+# is a vfd or vkd as they don't have this feature
+Contrast=480
+
+# Some old displays do not have an adjustable backlight but only can
+# switch the backlight on/off. If you experience randomly appearing block
+# characters, try setting this to false. [default: yes; legal: yes, no]
+hasAdjustableBacklight=no
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# The following table translates from MtxOrb key letters to logical key names.
+# By default no keys are mapped, meaning the keypad is not used at all.
+#KeyMap_A=Left
+#KeyMap_B=Right
+#KeyMap_C=Up
+#KeyMap_D=Down
+#KeyMap_E=Enter
+#KeyMap_F=Escape
+# See the [menu] section for an explanation of the key mappings
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## mx5000 driver for LCD display on the Logitech MX5000 keyboard ##
+[mx5000]
+
+# Select the output device to use [default: /dev/hiddev0]
+Device = /dev/hiddev0
+# Time to wait in ms after the refresh screen has been sent [default: 1000]
+WaitAfterRefresh = 1000
+
+
+
+## Noritake VFD driver ##
+[NoritakeVFD]
+# device where the VFD is. Usual values are /dev/ttyS0 and /dev/ttyS1
+# [default: /dev/lcd]
+Device=/dev/ttyS0
+# Specifies the size of the LCD.
+Size=20x4
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+# set the serial port speed [default: 9600, legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+# Set serial data parity [default: 0; legal: 0-2 ]
+# Meaning: 0(=none), 1(=odd), 2(=even)
+Parity=0
+# re-initialize the VFD [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Mini-box.com picoLCD (usblcd) driver ##
+[picolcd]
+
+# KeyTimeout is only used if the picoLCD driver is built with libusb-0.1. When
+# built with libusb-1.0 key and IR data is input asynchronously so there is no
+# need to wait for the USB data.
+# KeyTimeout is the time in ms that LCDd spends waiting for a key press before
+# cycling through other duties. Higher values make LCDd use less CPU time and
+# make key presses more detectable. Lower values make LCDd more responsive
+# but a little prone to missing key presses. 500 (.5 second) is the default
+# and a balanced value. [default: 500; legal: 0 - 1000]
+KeyTimeout=500
+
+# Key auto repeat is only available if the picoLCD driver is built with
+# libusb-1.0. Use KeyRepeatDelay and KeyRepeatInterval to configure key auto
+# repeat.
+#
+# Key auto repeat delay (time in ms from first key report to first repeat). Use
+# zero to disable auto repeat. [default: 300; legal: 0 - 3000]
+KeyRepeatDelay=300
+
+# Key auto repeat interval (time in ms between repeat reports). Only used if
+# KeyRepeatDelay is not zero. [default: 200; legal: 0 - 3000]
+KeyRepeatInterval=200
+
+# Sets the initial state of the backlight upon start-up.
+# [default: on; legal: on, off]
+#Backlight=on
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]. Works only
+# with the 20x4 device
+Brightness=1000
+
+# Set the brightness while the backlight is 'off' [default: 0; legal: 0 - 1000].
+# Works only with the 20x4 device.
+#OffBrightness=0
+
+# Set the initial contrast [default: 1000; legal: 0 - 1000]
+Contrast=1000
+
+# Link the key lights to the backlight? [default: on; legal: on, off]
+#LinkLights=off
+
+# Light the keys? [default: on; legal: on, off]
+Keylights=on
+
+# If Keylights is on, the you can unlight specific keys below:
+# Key0 is the directional pad. Key1 - Key5 correspond to the F1 - F5 keys.
+# There is no LED for the +/- keys. This is a handy way to indicate to users
+# which keys are disabled. [default: on; legal: on, off]
+Key0Light=on
+Key1Light=on
+Key2Light=on
+Key3Light=on
+Key4Light=on
+Key5Light=on
+
+# Host name or IP address of the LIRC instance that is to receive IR codes
+# If not set, or set to an empty value, IR support is disabled.
+#LircHost=127.0.0.1
+
+# UDP port on which LIRC is listening [default: 8765; legal: 1 - 65535]
+LircPort=8765
+
+# Threshold in jiffies of synthesized gap that triggers flushing the IR data
+# to lirc [default: 100 ; max: 32767 ]
+# 100 means 6.1ms. legal: 16 - 32767; Use 0 to disable.
+LircFlushThreshold=100
+
+
+
+## Pyramid LCD driver ##
+[pyramid]
+
+# device to connect to [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+
+
+## SDEC driver for Watchguard Firebox ##
+[sdeclcd]
+# No options
+
+
+
+## Seiko Epson 1330 driver ##
+[sed1330]
+
+# Port where the LPT is. Common values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Type of LCD module (legal: G321D, G121C, G242C, G191D, G2446, SP14Q002)
+# Note: Currently only tested with G321D & SP14Q002.
+Type=G321D
+
+# Width x Height of a character cell in pixels [legal: 6x7 - 8x16; default: 6x10]
+CellSize=6x10
+
+# Select what type of connection [legal: classic, bitshaker; default: classic]
+ConnectionType=classic
+
+
+
+## Seiko Epson 1520 driver ##
+[sed1520]
+
+# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Select the interface type (wiring) for the display. Supported values are
+# 68 for 68-style connection (RESET level high) and 80 for 80-style connection
+# (RESET level low). [legal: 68, 80; default: 80]
+InterfaceType=80
+
+# On fast machines it may be necessary to slow down transfer to the display.
+# If this value is set to zero, delay is disabled. Any value greater than
+# zero slows down each write by one microsecond. [legal: 0-1000; default: 1]
+DelayMult=0
+
+# The original wiring used an inverter to drive the control lines. If you do
+# not use an inverter set haveInverter to no. [default: yes; legal: yes, no]
+haveInverter=no
+
+
+
+## serial POS display driver ##
+[serialPOS]
+
+# Device to use in serial mode [default: /dev/lcd]
+Device=/dev/lcd
+
+# Specifies the size of the display in characters. [default: 16x2]
+Size=16x2
+
+# Set the communication protocol to use with the POS display.
+# [default: AEDEX; legal: IEE, Epson, Emax, IBM, LogicControls, Ultimate]
+Type=AEDEX
+
+# communication baud rate with the display [default: 9600; legal: 1200, 2400,
+# 19200, 115200]
+Speed=9600
+
+
+
+## Serial VFD driver ##
+## Drives various (see below) serial 5x7dot VFD's. ##
+[serialVFD]
+
+# Specifies the displaytype.[default: 0]
+# 0 NEC (FIPC8367 based) VFDs.
+# 1 KD Rev 2.1.
+# 2 Noritake VFDs (*).
+# 3 Futaba VFDs
+# 4 IEE S03601-95B
+# 5 IEE S03601-96-080 (*)
+# 6 Futaba NA202SD08FA (allmost IEE compatible)
+# 7 Samsung 20S207DA4 and 20S207DA6
+# 8 Nixdorf BA6x / VT100
+# (* most should work, not tested yet.)
+Type=0
+
+# "no" if display connected serial, "yes" if connected parallel. [default: no]
+# I.e. serial by default
+use_parallel=no
+
+# Number of Custom-Characters. default is display type dependent
+#Custom-Characters=0
+
+# Portaddress where the LPT is. Used in parallel mode only. Usual values are
+# 0x278, 0x378 and 0x3BC.
+Port=0x378
+
+# Set parallel port timing delay (us). Used in parallel mode only.
+# [default: 2; legal: 0 - 255]
+#PortWait=2
+
+# Device to use in serial mode. Usual values are /dev/ttyS0 and /dev/ttyS1
+Device=/dev/ttyS1
+
+# Specifies the size of the VFD.
+Size=20x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+OffBrightness=0
+
+# set the serial port speed [default: 9600; legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+
+# enable ISO 8859 1 compatibility [default: yes; legal: yes, no]
+#ISO_8859_1=yes
+
+
+
+## shuttleVFD driver ##
+[shuttleVFD]
+# No options
+
+
+
+## stv5730 driver ##
+[stv5730]
+
+# Port the device is connected to [default: 0x378]
+Port=0x378
+
+
+[SureElec]
+
+# Port the device is connected to (by default first USB serial port)
+Device=/dev/ttyUSB0
+
+# Edition level of the device (can be 1, 2 or 3) [default: 2]
+#Edition=1
+
+# set display size
+# Note: The size can be obtained directly from device for edition 2 & 3.
+#Size=16x2
+
+# Set the initial contrast [default: 480; legal: 0 - 1000]
+#Contrast=200
+
+# Set the initial brightness [default: 480; legal: 1 - 1000]
+#Brightness=480
+
+# Set the initial off-brightness [default: 100; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+#OffBrightness=100
+
+
+## SVGAlib driver ##
+[svga]
+
+# svgalib mode to use [default: G320x240x256 ]
+# legal values are supported svgalib modes
+#Mode=G640x480x256
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Set the initial contrast [default: 500; legal: 0 - 1000]
+# Can be set but does not change anything internally
+Contrast=500
+
+# Set the initial brightness [default: 1000; legal: 1 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 500; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=500
+
+
+
+## Text driver ##
+[text]
+# Set the display size [default: 20x4]
+Size=20x4
+
+
+
+## Toshiba T6963 driver ##
+[t6963]
+
+# set display size in pixels [default: 128x64]
+Size=128x64
+
+# port to use [default: 0x378; legal: 0x200 - 0x400]
+Port=0x378
+
+# Use LPT port in bi-directional mode. This should work on most LPT port and
+# is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# Insert additional delays into reads / writes. [default: no; legal: yes, no]
+#delayBus=no
+
+# Clear graphic memory on start-up. [default: no; legal: yes, no]
+#ClearGraphic=no
+
+
+
+## Tyan Barebones LCD driver (GS10 & GS12 series) ##
+[tyan]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 4800, 9600]
+Speed=9600
+
+# set display size [default: 16x2]
+Size=16x2
+
+
+
+## ELV ula200 driver ##
+[ula200]
+
+# Select the LCD size [default: 20x4]
+Size=20x4
+
+# If you have a non standard keypad you can associate any keystrings to keys.
+# There are 6 input key in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following it the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+
+
+## Wirz SLI LCD driver ##
+[sli]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200,
+# 38400, 57600, 115200]
+Speed=19200
+
+
+
+## vlsys_m428 for VFD/IR combination in Moneual MonCaso 320 ##
+[vlsys_m428]
+
+# Select the output device to use [default: /dev/ttyUSB0]
+#Device=/dev/ttyUSB0
+
+
+
+## OnScreen Display using libxosd ##
+[xosd]
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Offset in pixels from the top-left corner of the monitor [default: 0x0]
+Offset=200x200
+
+# X font to use, in XLFD format, as given by "xfontsel"
+Font=-*-clean-*-*-*-*-*-160-*-*-*-*-*-*
+
+# EOF
diff --git a/linhes/linhes-templates/templates/LCD/Silverstone/LCDd.conf b/linhes/linhes-templates/templates/LCD/Silverstone/LCDd.conf
new file mode 100644
index 0000000..2fced90
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/Silverstone/LCDd.conf
@@ -0,0 +1,1295 @@
+# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
+#
+# This file contains the configuration for the LCDd server.
+#
+# The format is ini-file-like. It is divided into sections that start at
+# markers that look like [section]. Comments are all line-based comments,
+# and are lines that start with '#' or ';'.
+#
+# The server has a 'central' section named [server]. For the menu there is
+# a section called [menu]. Further each driver has a section which
+# defines how the driver acts.
+#
+# The drivers are activated by specifying them in a driver= line in the
+# server section, like:
+#
+# Driver=curses
+#
+# This tells LCDd to use the curses driver.
+# The first driver that is loaded and is capable of output defines the
+# size of the display. The default driver to use is curses.
+# If the driver is specified using the -d <driver> command line option,
+# the Driver= options in the config file are ignored.
+#
+# The drivers read their own options from the respective sections.
+
+
+
+## Server section with all kinds of settings for the LCDd server ##
+[server]
+
+# Where can we find the driver modules ?
+# IMPORTANT: Make sure to change this setting to reflect your
+# specific setup! Otherwise LCDd won't be able to find
+# the driver modules and will thus not be able to
+# function properly.
+# NOTE: Always place a slash as last character !
+DriverPath=/usr/lib/lcdproc/
+
+# Tells the server to load the given drivers. Multiple lines can be given.
+# The name of the driver is case sensitive and determines the section
+# where to look for further configuration options of the specific driver
+# as well as the name of the dynamic driver module to load at runtime.
+# The latter one can be changed by giving a File= directive in the
+# driver specific section.
+#
+# The following drivers are supported:
+# bayrad, CFontz, CFontzPacket, curses, CwLnx, ea65,
+# EyeboxOne, g15, glcd, glcdlib, glk, hd44780, icp_a106, imon, imonlcd,
+# IOWarrior, irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800,
+# mdm166a, ms6931, mtc_s16209x, MtxOrb, mx5000, NoritakeVFD, picolcd,
+# pyramid, sdeclcd, sed1330, sed1520, serialPOS, serialVFD, shuttleVFD, sli,
+# stv5730, svga, t6963, text, tyan, ula200, vlsys_m428, xosd
+Driver=imon
+
+# Tells the driver to bind to the given interface
+Bind=127.0.0.1
+
+# Listen on this specified port; defaults to 13666.
+Port=13666
+
+# Sets the reporting level; defaults to 2 (warnings and errors only).
+#ReportLevel=3
+
+# Should we report to syslog instead of stderr ? [default: no; legal: yes, no]
+#ReportToSyslog=yes
+
+# User to run as. LCDd will drop its root privileges, if any,
+# and run as this user instead.
+User=nobody
+
+# The server will stay in the foreground if set to true.
+#Foreground=no
+
+# Hello message: each entry represents a display line; default: builtin
+Hello="LinHES"
+#Hello=" Welcome to"
+#Hello=" LCDproc!"
+
+# GoodBye message: each entry represents a display line; default: builtin
+GoodBye=""
+#GoodBye="Thanks for using"
+#GoodBye=" LCDproc!"
+
+# Sets the default time in seconds to displays a screen.
+WaitTime=10
+
+# If set to no, LCDd will start with screen rotation disabled. This has the
+# same effect as if the ToggleRotateKey had been pressed. Rotation will start
+# if the ToggleRotateKey is pressed. Note that this setting does not turn off
+# priority sorting of screens. [default: on; legal: on, off]
+#AutoRotate=no
+
+# If yes, the the serverscreen will be rotated as a usual info screen. If no,
+# it will be a background screen, only visible when no other screens are
+# active. The special value 'blank' is similar to no, but only a blank screen
+# is displayed. [default: on; legal: on, off, blank]
+ServerScreen=blank
+
+# Set master backlight setting. If set to 'open' a client may control the
+# backlight for its own screens (only). [default: open; legal: off, open, on]
+#Backlight=open
+
+# Set master heartbeat setting. If set to 'open' a client may control the
+# heartbeat for its own screens (only). [default: open; legal: off, open, on]
+#Heartbeat=open
+
+# set title scrolling speed [default: 10; legal: 0-10]
+#TitleSpeed=10
+
+# The "...Key=" lines define what the server does with keypresses that
+# don't go to any client. The ToggleRotateKey stops rotation of screens, while
+# the PrevScreenKey and NextScreenKey go back / forward one screen (even if
+# rotation is disabled.
+# Assign the key string returned by the driver to the ...Key setting. These
+# are the defaults:
+ToggleRotateKey=Enter
+PrevScreenKey=Left
+NextScreenKey=Right
+#ScrollUpKey=Up
+#ScrollDownKey=Down
+
+
+## The menu section. The menu is an internal LCDproc client. ##
+[menu]
+# You can configure what keys the menu should use. Note that the MenuKey
+# will be reserved exclusively, the others work in shared mode.
+
+# Up to six keys are supported. The MenuKey (to enter and exit the menu), the
+# EnterKey (to select values) and at least one movement keys are required.
+# These are the default key assignments:
+MenuKey=Escape
+EnterKey=Enter
+UpKey=Up
+DownKey=Down
+#LeftKey=Left
+#RightKey=Right
+
+
+### Driver sections are below this line, in alphabetical order ###
+
+
+## EMAC BayRAD driver ##
+[bayrad]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200]
+Speed=9600
+
+
+
+## CrystalFontz driver (for CF632 & CF634) ##
+[CFontz]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+# Select the LCD size [default: 20x4]
+Size=20x4
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200,
+# 115200]
+Speed=9600
+# Set the firmware version (New means >= 2.0) [default: no; legal: yes, no]
+NewFirmware=no
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+
+
+## CrystalFontz packet driver (for CFA533, CFA631, CFA633 & CFA635) ##
+[CFontzPacket]
+
+# Select the LCD model [default: 633; legal: 533, 631, 633, 635]
+Model=633
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+# Reinitialize the LCD's BIOS on driver start. [default: no; legal: yes, no]
+Reboot=yes
+
+# Enable the USB flag if the device is connected to an USB port. For
+# serial ports leave it disabled. [default: no; legal: yes, no]
+#USB=yes
+
+# Very old 633 firmware versions do not support partial screen updates using
+# 'Send Data to LCD' command (31). For those devices it may be necessary to
+# enable this flag. [default: no; legal: yes, no]
+#OldFirmware=yes
+
+# Override the LCD size known for the selected model. Usually setting this
+# value should not be necessary.
+#Size=20x4
+
+# Override the default communication speed known for the selected model.
+# Default value depends on model [legal: 19200, 115200]
+#Speed=115200
+
+
+
+## Curses driver ##
+[curses]
+
+# color settings
+# foreground color [default: blue]
+Foreground=blue
+# background color when "backlight" is off [default: cyan]
+Background=cyan
+# background color when "backlight" is on [default: red]
+Backlight=red
+
+# display size [default: 20x4]
+Size=20x4
+
+# What position (X,Y) to start the left top corner at...
+# Default: (7,7)
+TopLeftX=7
+TopLeftY=7
+
+# use ASC symbols for icons & bars [default: no; legal: yes, no]
+UseACS=no
+
+# draw Border [default: yes; legal: yes, no]
+DrawBorder=yes
+
+
+
+## Cwlinux driver ##
+[CwLnx]
+
+# Select the LCD model [default: 12232; legal: 12232, 12832, 1602]
+Model=12232
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Select the LCD size. Default depends on model:
+# 12232: 20x4
+# 12832: 21x4
+# 1602: 16x2
+Size=20x4
+
+# Set the communication speed [default: 19200; legal: 9600, 19200]
+Speed=19200
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+# If you have a keypad connected. Keypad layout is currently not
+# configureable from the config file.
+Keypad=yes
+
+# If you have a non-standard keypad you can associate any keystrings to keys.
+# There are 6 input keys in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following is the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+# keypad_test_mode permits one to test keypad assignment
+# Default value is no
+#keypad_test_mode=yes
+
+
+
+## ea65 driver for the display in AOpen XC Cube AV EA65 media barebones ##
+[ea65]
+
+# Device is fixed /dev/ttyS1
+# Width and Height are fixed 9x1
+
+# As the VFD is self luminescent we don't have a backlight
+# But we can use the backlight functions to control the front LEDs
+# Brightness 0 to 299 -> LEDs off
+# Brightness 300 to 699 -> LEDs half bright
+# Brightness 700 to 1000 -> LEDs full bright
+Brightness=500
+# OffBrightness is the the value used for the 'backlight off' state
+OffBrightness=0
+
+
+
+## EyeboxOne driver ##
+[EyeboxOne]
+
+# Select the output device to use [default: /dev/ttyS1]
+#Device=/dev/cua01
+Device=/dev/ttyS1
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Switch on the backlight? [default: yes]
+Backlight=yes
+
+# Switch on the cursor? [default: no]
+Cursor=no
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# Enter Key is a \r character, so it's hardcoded in the driver
+LeftKey=D
+RightKey=C
+UpKey=A
+DownKey=B
+EscapeKey=P
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## g15 driver for Logitech G15 Keyboard LCDs ##
+[g15]
+
+# Display size (currently unused)
+size=20x5
+
+
+
+## glcd generic graphical display driver
+[glcd]
+# Select what type of connection. See documentation for types.
+ConnectionType=t6963
+
+# Width and height of the display in pixel. The supported sizes may depend on
+# the ConnectionType. [default: 128x64; legal: 1x1 - 640x480]
+#Size=128x64
+
+# Width and height of a character cell in pixels. This value is only used if
+# the driver has been compiled with FreeType and it is enabled. Otherwise the
+# default 6x8 cell is used.
+#CellSize=12x16
+
+# If LCDproc has been compiled with FreeType 2 support this option can be used
+# to turn if off intentionally. [default: yes; legal: yes, no]
+#useFT2=no
+
+# Path to font file to use for FreeType rendering. This font must be monospace
+# and should contain some special Unicode characters like arrows (Andale Mono
+# is recommended and can be fetched at http://corefonts.sf.net).
+#normal_font=/usr/local/lib/X11/fonts/TTF/andalemo.ttf
+
+# Some fonts miss the Unicode characters used to represent icons. In this case
+# the built-in 5x8 font can used if this option is turned off. [default: yes;
+# legal: yes, no]
+#fontHasIcons=no
+
+# Set the initial contrast if supported by connection type.
+# [default: 600; legal: 0 - 1000]
+#Contrast=600
+
+# Set brightness of the backlight if the backlight is switched 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# Set brightness of the backlight if the backlight is switched 'off'. Set this
+# to zero to completely turn off the backlight. [default: 100; legal: 0 - 1000]
+#OffBrightness=0
+
+# Time (ms) from first key report to first repeat. Set to 0 to disable repeated
+# key reports. [default: 500; legal: 0 - 3000]
+#KeyRepeatDelay=500
+
+# Time (ms) between repeated key reports. Ignored if KeyRepeatDelay is disabled
+# (set to zero). [default: 300; legal: 0 - 3000]
+#KeyRepeatInterval=300
+
+# Assign key strings to keys. There may be up to 16 keys numbered 'A' to 'Z'.
+# By default keys 'A' to 'F' are assigned Up, Down, Left, Right, Enter, Escape.
+KeyMap_A=Up
+KeyMap_B=Down
+KeyMap_C=Enter
+KeyMap_D=Escape
+
+# t6963: Parallel port to use [default: 0x378; legal: 0x200 - 0x400]
+#Port=0x378
+
+# t6963: Use LPT port in bi-directional mode. This should work on most LPT port
+# and is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# t6963: Insert additional delays into reads / writes. [default: no;
+# legal: yes, no]
+#delayBus=no
+
+# serdisplib: Name of the underlying serdisplib driver, e.g. ctinclud. See
+# serdisplib documentation for details.
+serdisp_name=t6963
+
+# serdisplib: The display device to use, e.g. serraw:/dev/ttyS0,
+# parport:/dev/parport0 or USB:07c0/1501.
+serdisp_device=/dev/ppi0
+
+# serdisplib: Options string to pass to serdisplib during initialization. Use
+# this to set any display related options (e.g. wiring). The display size is
+# always set based on the Size configured above! By default, no options are
+# set.
+# Important: The value must be quoted as it contains equal signs!
+#serdisp_options="INVERT=1"
+
+
+
+## glcdlib meta driver for graphical LCDs ##
+[glcdlib]
+
+## mandatory:
+
+# which graphical display supported by graphlcd-base to use [default: image]
+# (see /etc/graphlcd.conf for possible drivers)
+Driver=noritake800
+
+# no=use graphlcd bitmap fonts (they have only one size / font file)
+# yes=use fonts supported by FreeType2 (needs Freetype2 support in
+# libglcdprocdriver and its dependants)
+UseFT2=yes
+
+# text resolution in fixed width characters [default: 16x4]
+# (if it won't fit according to available physical pixel resolution
+# and the minimum available font face size in pixels, then
+# 'DebugBorder' will automatically be turned on)
+TextResolution=20x4
+
+# path to font file to use
+FontFile=/usr/share/fonts/corefonts/courbd.ttf
+
+## these only apply if UseFT2=yes:
+
+# character encoding to use
+CharEncoding=iso8859-2
+
+# minimum size in pixels in which fonts should be rendered
+MinFontFaceSize=7x12
+
+## optional:
+Brightness=50 # Brightness (in %) if applicable
+Contrast=50 # Contrast (in %) if applicable
+Backlight=no # Backlight if applicable
+UpsideDown=no # flip image upside down
+Invert=no # invert light/dark pixels
+ShowDebugFrame=no # turns on/off 1 pixel thick debugging
+ # border within the usable text area,
+ # for setting up TextResolution and
+ # MinFontFaceSize (if using FT2);
+ShowBigBorder=no # border around the unused area
+ShowThinBorder=yes # border around the unused area
+PixelShiftX=0
+PixelShiftY=2
+
+
+
+## Matrix Orbital GLK driver ##
+[glk]
+
+# select the serial device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# set the initial contrast value [default: 560; legal: 0 - 1000]
+Contrast=560
+
+# set the serial port speed [default: 19200; legal: 9600, 19200, 38400]
+Speed=19200
+
+
+
+## Hitachi HD44780 driver ##
+[hd44780]
+
+# Select what type of connection. See documentation for types.
+ConnectionType=4bit
+
+# Port where the LPT is. Usual value are: 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Device of the serial interface [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Bitrate of the serial port (0 for interface default)
+Speed=0
+
+# If you have a keypad connected.
+# You may also need to configure the keypad layout further on in this file.
+Keypad=no
+
+# Set the initial contrast (bwctusb, lcd2usb, and usb4all)
+# [default: 800; legal: 0 - 1000]
+#Contrast=0
+
+# Set brightness of the backlight (lcd2usb and usb4all):
+# Brightness is the brightness while the backlight is set to 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# OffBrightness is the brightness while the backlight is set to 'off'.
+# [default: 300; legal: 0 - 1000]
+#OffBrightness=0
+
+# If you have a switchable backlight.
+Backlight=no
+
+# If you have the additional output port ("bargraph") and you want to
+# be able to control it with the lcdproc OUTPUT command
+OutputPort=no
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+# Specifies the size of the LCD.
+# In case of multiple combined displays, this should be the total size.
+Size=20x4
+
+# For multiple combined displays: how many lines does each display have.
+# Vspan=2,2 means both displays have 2 lines.
+#vspan=2,2
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# In extended mode, on some controllers like the ST7036 (in 3 line mode)
+# the next line in DDRAM won't start 0x20 higher. [default: 0x20]
+#LineAddress=0x10
+
+# Character map to to map ISO-8859-1 to the LCD's character set
+# [default: hd44780_default; legal: hd44780_default, hd44780_euro, ea_ks0073,
+# sed1278f_0b, hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5, upd16314 ]
+# (hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5 and upd16314 are possible if
+# compiled with additional charmaps)
+CharMap=hd44780_default
+
+# If your display is slow and cannot keep up with the flow of data from
+# LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4
+# to increase the delays. Default: 1.
+#DelayMult=2
+
+# Some displays (e.g. vdr-wakeup) need a message from the driver to that it
+# is still alive. When set to a value bigger then null the character in the
+# upper left corner is updated every <KeepAliveDisplay> seconds. Default: 0.
+#KeepAliveDisplay=0
+
+# If you experience occasional garbage on your display you can use this
+# option as workaround. If set to a value bigger than null it forces a
+# full screen refresh <RefreshDiplay> seconds. Default: 0.
+#RefreshDisplay=5
+
+# You can reduce the inserted delays by setting this to false.
+# On fast PCs it is possible your LCD does not respond correctly.
+# Default: true.
+DelayBus=true
+
+# If you have a keypad you can assign keystrings to the keys.
+# See documentation for used terms and how to wire it.
+# For example to give directly connected key 4 the string "Enter", use:
+# KeyDirect_4=Enter
+# For matrix keys use the X and Y coordinates of the key:
+# KeyMatrix_1_3=Enter
+KeyMatrix_4_1=Enter
+KeyMatrix_4_2=Up
+KeyMatrix_4_3=Down
+KeyMatrix_4_4=Escape
+
+
+
+## ICP A106 driver ##
+[icp_a106]
+Device=/dev/ttyS1
+
+
+
+## Code Mercenaries IO-Warrior driver ##
+[IOWarrior]
+
+# display dimensions
+Size=20x4
+
+# serial number. Must be exactly as listed by usbview
+# (if not given, the 1st IOWarrior found gets used)
+#SerialNumber=00000674
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+## Soundgraph/Ahanix/Silverstone/Uneed/Accent iMON driver ##
+[imon]
+
+# select the device to use
+Device=/dev/lcd0
+
+# display dimensions
+Size=16x2
+
+# Character map to to map ISO-8859-1 to the displays character set.
+# [default: none; legal: none, hd44780_euro, upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 ] (upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 are possible if compiled with additional
+# charmaps)
+CharMap=hd44780_euro
+
+## Soundgraph iMON LCD ##
+[imonlcd]
+# Specify which iMon protocol should be used
+# [legal: 0, 1; default: 0]
+# Choose 0 for 15c2:ffdc device,
+# Choose 1 for 15c2:0038 device
+Protocol=0
+
+# Set the exit behavior [legal: 0-2; default: 1]
+# 0 means leave shutdown message,
+# 1 means show the big clock,
+# 2 means blank device
+#OnExit=2
+
+# Select the output device to use [default: /dev/lcd0]
+Device=/dev/lcd0
+
+# Select the displays contrast [default: 200; legal: 0-1000]
+Contrast=200
+
+# Specify the size of the display in pixels [default: 96x16]
+#Size=96x16
+
+# Set the backlight state [default: on; legal: on, off]
+#Backlight=on
+
+# Set the disc mode [legal: 0,1; default: 0]
+# 0 => spin the "slim" disc - two disc segments,
+# 1 => their complement spinning;
+#DiscMode=0
+
+
+
+## IrMan driver ##
+[IrMan]
+# in case of trouble with IrMan, try the Lirc emulator for IrMan
+
+# Select the input device to use
+#Device=/dev/irman
+
+# Select the configuration file to use
+#Config=/etc/irman.cfg
+
+
+
+## IRtrans driver ##
+[irtrans]
+
+# Does the device have a backlight? [default: no; legal: yes, no]
+#Backlight=no
+
+# IRTrans device to connect to [default: localhost]
+#Hostname=localhost
+
+# display dimensions
+Size=16x2
+
+
+
+## Joystick driver ##
+[joy]
+
+# Select the input device to use [default: /dev/js0]
+Device=/dev/js0
+
+# set the axis map
+Map_Axis1neg=Left
+Map_Axis1pos=Right
+Map_Axis2neg=Up
+Map_Axis2pos=Down
+
+# set the button map
+Map_Button1=Enter
+Map_Button2=Escape
+
+
+
+## LB216 driver ##
+[lb216]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Set the communication speed [default: 9600; legal: 2400, 9600]
+Speed=9600
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## LCDM001 driver ##
+[lcdm001]
+
+Device=/dev/ttyS1
+
+# keypad settings
+# Keyname Function
+# Normal context Menu context
+# ------- -------------- ------------
+# PauseKey Pause/Continue Enter/select
+# BackKey Back(Go to previous screen) Up/Left
+# ForwardKey Forward(Go to next screen) Down/Right
+# MainMenuKey Open main menu Exit/Cancel
+PauseKey=LeftKey
+BackKey=UpKey
+ForwardKey=DownKey
+MainMenuKey=RightKey
+
+# You can rearrange the settings here.
+# If your device is broken, have a look at /usr/lib/lcdproc/lcdm001.h
+
+
+
+## HNE LCTerm driver ##
+[lcterm]
+Device=/dev/ttyS1
+Size=16x2
+
+
+
+## LIRC input driver ##
+[lirc]
+
+# Specify an alternative location of the lircrc file [default: ~/.lircrc]
+#lircrc=/etc/lircrc.lcdproc
+
+# Must be the same as in your lircrc
+#prog=lcdd
+
+
+
+## LIS MCE 2005 driver ##
+[lis]
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# 0-250 = 25%, 251-500 = 50%, 501-750 = 75%, 751-1000 = 100%
+#Brightness=1000
+
+# Columns by lines [default: 20x2]
+#Size=20x2
+
+# USB Vendor ID [default: 0x0403]
+# Change only if testing a compatible device.
+#VendorID=0x0403
+
+# USB Product ID [default: 0x6001]
+# Change only if testing a compatible device.
+#ProductID=0x6001
+
+# Specifies if the last line is pixel addressable (yes) or it only controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+##The driver for the VFD of the Medion MD8800 PC ##
+[MD8800]
+# device to use [default: /dev/ttyS1]
+#Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+
+
+## Futuba MDM166A Display
+[mdm166a]
+# Show self-running clock after LCDd shutdown
+# Possible values: [default: no; legal: no, small, big]
+Clock=big
+# Dim display, no dimming gives full brightness [default: no, legal: yes, no]
+Dimming=no
+# Dim display in case LCDd is inactive [default: no, legal: yes, no]
+OffDimming=yes
+
+
+
+## MSI MS-6931 driver for displays in 1HU servers ##
+[ms6931]
+
+# device to use [default: /dev/ttyS1]
+Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+
+
+## MTC-S16209x driver ##
+[mtc_s16209x]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Matrix Orbital driver ##
+[MtxOrb]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Set the display type [default: lcd; legal: lcd, lkd, vfd, vkd]
+Type=lkd
+
+# Set the initial contrast [default: 480]
+# NOTE: The driver will ignore this if the display
+# is a vfd or vkd as they don't have this feature
+Contrast=480
+
+# Some old displays do not have an adjustable backlight but only can
+# switch the backlight on/off. If you experience randomly appearing block
+# characters, try setting this to false. [default: yes; legal: yes, no]
+hasAdjustableBacklight=no
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# The following table translates from MtxOrb key letters to logical key names.
+# By default no keys are mapped, meaning the keypad is not used at all.
+#KeyMap_A=Left
+#KeyMap_B=Right
+#KeyMap_C=Up
+#KeyMap_D=Down
+#KeyMap_E=Enter
+#KeyMap_F=Escape
+# See the [menu] section for an explanation of the key mappings
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## mx5000 driver for LCD display on the Logitech MX5000 keyboard ##
+[mx5000]
+
+# Select the output device to use [default: /dev/hiddev0]
+Device = /dev/hiddev0
+# Time to wait in ms after the refresh screen has been sent [default: 1000]
+WaitAfterRefresh = 1000
+
+
+
+## Noritake VFD driver ##
+[NoritakeVFD]
+# device where the VFD is. Usual values are /dev/ttyS0 and /dev/ttyS1
+# [default: /dev/lcd]
+Device=/dev/ttyS0
+# Specifies the size of the LCD.
+Size=20x4
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+# set the serial port speed [default: 9600, legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+# Set serial data parity [default: 0; legal: 0-2 ]
+# Meaning: 0(=none), 1(=odd), 2(=even)
+Parity=0
+# re-initialize the VFD [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Mini-box.com picoLCD (usblcd) driver ##
+[picolcd]
+
+# KeyTimeout is only used if the picoLCD driver is built with libusb-0.1. When
+# built with libusb-1.0 key and IR data is input asynchronously so there is no
+# need to wait for the USB data.
+# KeyTimeout is the time in ms that LCDd spends waiting for a key press before
+# cycling through other duties. Higher values make LCDd use less CPU time and
+# make key presses more detectable. Lower values make LCDd more responsive
+# but a little prone to missing key presses. 500 (.5 second) is the default
+# and a balanced value. [default: 500; legal: 0 - 1000]
+KeyTimeout=500
+
+# Key auto repeat is only available if the picoLCD driver is built with
+# libusb-1.0. Use KeyRepeatDelay and KeyRepeatInterval to configure key auto
+# repeat.
+#
+# Key auto repeat delay (time in ms from first key report to first repeat). Use
+# zero to disable auto repeat. [default: 300; legal: 0 - 3000]
+KeyRepeatDelay=300
+
+# Key auto repeat interval (time in ms between repeat reports). Only used if
+# KeyRepeatDelay is not zero. [default: 200; legal: 0 - 3000]
+KeyRepeatInterval=200
+
+# Sets the initial state of the backlight upon start-up.
+# [default: on; legal: on, off]
+#Backlight=on
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]. Works only
+# with the 20x4 device
+Brightness=1000
+
+# Set the brightness while the backlight is 'off' [default: 0; legal: 0 - 1000].
+# Works only with the 20x4 device.
+#OffBrightness=0
+
+# Set the initial contrast [default: 1000; legal: 0 - 1000]
+Contrast=1000
+
+# Link the key lights to the backlight? [default: on; legal: on, off]
+#LinkLights=off
+
+# Light the keys? [default: on; legal: on, off]
+Keylights=on
+
+# If Keylights is on, the you can unlight specific keys below:
+# Key0 is the directional pad. Key1 - Key5 correspond to the F1 - F5 keys.
+# There is no LED for the +/- keys. This is a handy way to indicate to users
+# which keys are disabled. [default: on; legal: on, off]
+Key0Light=on
+Key1Light=on
+Key2Light=on
+Key3Light=on
+Key4Light=on
+Key5Light=on
+
+# Host name or IP address of the LIRC instance that is to receive IR codes
+# If not set, or set to an empty value, IR support is disabled.
+#LircHost=127.0.0.1
+
+# UDP port on which LIRC is listening [default: 8765; legal: 1 - 65535]
+LircPort=8765
+
+# Threshold in jiffies of synthesized gap that triggers flushing the IR data
+# to lirc [default: 100 ; max: 32767 ]
+# 100 means 6.1ms. legal: 16 - 32767; Use 0 to disable.
+LircFlushThreshold=100
+
+
+
+## Pyramid LCD driver ##
+[pyramid]
+
+# device to connect to [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+
+
+## SDEC driver for Watchguard Firebox ##
+[sdeclcd]
+# No options
+
+
+
+## Seiko Epson 1330 driver ##
+[sed1330]
+
+# Port where the LPT is. Common values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Type of LCD module (legal: G321D, G121C, G242C, G191D, G2446, SP14Q002)
+# Note: Currently only tested with G321D & SP14Q002.
+Type=G321D
+
+# Width x Height of a character cell in pixels [legal: 6x7 - 8x16; default: 6x10]
+CellSize=6x10
+
+# Select what type of connection [legal: classic, bitshaker; default: classic]
+ConnectionType=classic
+
+
+
+## Seiko Epson 1520 driver ##
+[sed1520]
+
+# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Select the interface type (wiring) for the display. Supported values are
+# 68 for 68-style connection (RESET level high) and 80 for 80-style connection
+# (RESET level low). [legal: 68, 80; default: 80]
+InterfaceType=80
+
+# On fast machines it may be necessary to slow down transfer to the display.
+# If this value is set to zero, delay is disabled. Any value greater than
+# zero slows down each write by one microsecond. [legal: 0-1000; default: 1]
+DelayMult=0
+
+# The original wiring used an inverter to drive the control lines. If you do
+# not use an inverter set haveInverter to no. [default: yes; legal: yes, no]
+haveInverter=no
+
+
+
+## serial POS display driver ##
+[serialPOS]
+
+# Device to use in serial mode [default: /dev/lcd]
+Device=/dev/lcd
+
+# Specifies the size of the display in characters. [default: 16x2]
+Size=16x2
+
+# Set the communication protocol to use with the POS display.
+# [default: AEDEX; legal: IEE, Epson, Emax, IBM, LogicControls, Ultimate]
+Type=AEDEX
+
+# communication baud rate with the display [default: 9600; legal: 1200, 2400,
+# 19200, 115200]
+Speed=9600
+
+
+
+## Serial VFD driver ##
+## Drives various (see below) serial 5x7dot VFD's. ##
+[serialVFD]
+
+# Specifies the displaytype.[default: 0]
+# 0 NEC (FIPC8367 based) VFDs.
+# 1 KD Rev 2.1.
+# 2 Noritake VFDs (*).
+# 3 Futaba VFDs
+# 4 IEE S03601-95B
+# 5 IEE S03601-96-080 (*)
+# 6 Futaba NA202SD08FA (allmost IEE compatible)
+# 7 Samsung 20S207DA4 and 20S207DA6
+# 8 Nixdorf BA6x / VT100
+# (* most should work, not tested yet.)
+Type=0
+
+# "no" if display connected serial, "yes" if connected parallel. [default: no]
+# I.e. serial by default
+use_parallel=no
+
+# Number of Custom-Characters. default is display type dependent
+#Custom-Characters=0
+
+# Portaddress where the LPT is. Used in parallel mode only. Usual values are
+# 0x278, 0x378 and 0x3BC.
+Port=0x378
+
+# Set parallel port timing delay (us). Used in parallel mode only.
+# [default: 2; legal: 0 - 255]
+#PortWait=2
+
+# Device to use in serial mode. Usual values are /dev/ttyS0 and /dev/ttyS1
+Device=/dev/ttyS1
+
+# Specifies the size of the VFD.
+Size=20x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+OffBrightness=0
+
+# set the serial port speed [default: 9600; legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+
+# enable ISO 8859 1 compatibility [default: yes; legal: yes, no]
+#ISO_8859_1=yes
+
+
+
+## shuttleVFD driver ##
+[shuttleVFD]
+# No options
+
+
+
+## stv5730 driver ##
+[stv5730]
+
+# Port the device is connected to [default: 0x378]
+Port=0x378
+
+
+[SureElec]
+
+# Port the device is connected to (by default first USB serial port)
+Device=/dev/ttyUSB0
+
+# Edition level of the device (can be 1, 2 or 3) [default: 2]
+#Edition=1
+
+# set display size
+# Note: The size can be obtained directly from device for edition 2 & 3.
+#Size=16x2
+
+# Set the initial contrast [default: 480; legal: 0 - 1000]
+#Contrast=200
+
+# Set the initial brightness [default: 480; legal: 1 - 1000]
+#Brightness=480
+
+# Set the initial off-brightness [default: 100; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+#OffBrightness=100
+
+
+## SVGAlib driver ##
+[svga]
+
+# svgalib mode to use [default: G320x240x256 ]
+# legal values are supported svgalib modes
+#Mode=G640x480x256
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Set the initial contrast [default: 500; legal: 0 - 1000]
+# Can be set but does not change anything internally
+Contrast=500
+
+# Set the initial brightness [default: 1000; legal: 1 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 500; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=500
+
+
+
+## Text driver ##
+[text]
+# Set the display size [default: 20x4]
+Size=20x4
+
+
+
+## Toshiba T6963 driver ##
+[t6963]
+
+# set display size in pixels [default: 128x64]
+Size=128x64
+
+# port to use [default: 0x378; legal: 0x200 - 0x400]
+Port=0x378
+
+# Use LPT port in bi-directional mode. This should work on most LPT port and
+# is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# Insert additional delays into reads / writes. [default: no; legal: yes, no]
+#delayBus=no
+
+# Clear graphic memory on start-up. [default: no; legal: yes, no]
+#ClearGraphic=no
+
+
+
+## Tyan Barebones LCD driver (GS10 & GS12 series) ##
+[tyan]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 4800, 9600]
+Speed=9600
+
+# set display size [default: 16x2]
+Size=16x2
+
+
+
+## ELV ula200 driver ##
+[ula200]
+
+# Select the LCD size [default: 20x4]
+Size=20x4
+
+# If you have a non standard keypad you can associate any keystrings to keys.
+# There are 6 input key in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following it the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+
+
+## Wirz SLI LCD driver ##
+[sli]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200,
+# 38400, 57600, 115200]
+Speed=19200
+
+
+
+## vlsys_m428 for VFD/IR combination in Moneual MonCaso 320 ##
+[vlsys_m428]
+
+# Select the output device to use [default: /dev/ttyUSB0]
+#Device=/dev/ttyUSB0
+
+
+
+## OnScreen Display using libxosd ##
+[xosd]
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Offset in pixels from the top-left corner of the monitor [default: 0x0]
+Offset=200x200
+
+# X font to use, in XLFD format, as given by "xfontsel"
+Font=-*-clean-*-*-*-*-*-160-*-*-*-*-*-*
+
+# EOF
diff --git a/linhes/linhes-templates/templates/LCD/Silverstone/modules b/linhes/linhes-templates/templates/LCD/Silverstone/modules
new file mode 100644
index 0000000..cd576c3
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/Silverstone/modules
@@ -0,0 +1 @@
+lirc_imon #LCD
diff --git a/linhes/linhes-templates/templates/LCD/antec_fusion/LCDd.conf b/linhes/linhes-templates/templates/LCD/antec_fusion/LCDd.conf
new file mode 100644
index 0000000..2ff1397
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/antec_fusion/LCDd.conf
@@ -0,0 +1,1295 @@
+# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
+#
+# This file contains the configuration for the LCDd server.
+#
+# The format is ini-file-like. It is divided into sections that start at
+# markers that look like [section]. Comments are all line-based comments,
+# and are lines that start with '#' or ';'.
+#
+# The server has a 'central' section named [server]. For the menu there is
+# a section called [menu]. Further each driver has a section which
+# defines how the driver acts.
+#
+# The drivers are activated by specifying them in a driver= line in the
+# server section, like:
+#
+# Driver=curses
+#
+# This tells LCDd to use the curses driver.
+# The first driver that is loaded and is capable of output defines the
+# size of the display. The default driver to use is curses.
+# If the driver is specified using the -d <driver> command line option,
+# the Driver= options in the config file are ignored.
+#
+# The drivers read their own options from the respective sections.
+
+
+
+## Server section with all kinds of settings for the LCDd server ##
+[server]
+
+# Where can we find the driver modules ?
+# IMPORTANT: Make sure to change this setting to reflect your
+# specific setup! Otherwise LCDd won't be able to find
+# the driver modules and will thus not be able to
+# function properly.
+# NOTE: Always place a slash as last character !
+DriverPath=/usr/lib/lcdproc/
+
+# Tells the server to load the given drivers. Multiple lines can be given.
+# The name of the driver is case sensitive and determines the section
+# where to look for further configuration options of the specific driver
+# as well as the name of the dynamic driver module to load at runtime.
+# The latter one can be changed by giving a File= directive in the
+# driver specific section.
+#
+# The following drivers are supported:
+# bayrad, CFontz, CFontzPacket, curses, CwLnx, ea65,
+# EyeboxOne, g15, glcd, glcdlib, glk, hd44780, icp_a106, imon, imonlcd,
+# IOWarrior, irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800,
+# mdm166a, ms6931, mtc_s16209x, MtxOrb, mx5000, NoritakeVFD, picolcd,
+# pyramid, sdeclcd, sed1330, sed1520, serialPOS, serialVFD, shuttleVFD, sli,
+# stv5730, svga, t6963, text, tyan, ula200, vlsys_m428, xosd
+Driver=imonlcd
+
+# Tells the driver to bind to the given interface
+Bind=127.0.0.1
+
+# Listen on this specified port; defaults to 13666.
+Port=13666
+
+# Sets the reporting level; defaults to 2 (warnings and errors only).
+#ReportLevel=3
+
+# Should we report to syslog instead of stderr ? [default: no; legal: yes, no]
+#ReportToSyslog=yes
+
+# User to run as. LCDd will drop its root privileges, if any,
+# and run as this user instead.
+User=nobody
+
+# The server will stay in the foreground if set to true.
+#Foreground=no
+
+# Hello message: each entry represents a display line; default: builtin
+Hello="LinHES"
+#Hello=" Welcome to"
+#Hello=" LCDproc!"
+
+# GoodBye message: each entry represents a display line; default: builtin
+GoodBye=""
+#GoodBye="Thanks for using"
+#GoodBye=" LCDproc!"
+
+# Sets the default time in seconds to displays a screen.
+WaitTime=10
+
+# If set to no, LCDd will start with screen rotation disabled. This has the
+# same effect as if the ToggleRotateKey had been pressed. Rotation will start
+# if the ToggleRotateKey is pressed. Note that this setting does not turn off
+# priority sorting of screens. [default: on; legal: on, off]
+#AutoRotate=no
+
+# If yes, the the serverscreen will be rotated as a usual info screen. If no,
+# it will be a background screen, only visible when no other screens are
+# active. The special value 'blank' is similar to no, but only a blank screen
+# is displayed. [default: on; legal: on, off, blank]
+ServerScreen=blank
+
+# Set master backlight setting. If set to 'open' a client may control the
+# backlight for its own screens (only). [default: open; legal: off, open, on]
+#Backlight=open
+
+# Set master heartbeat setting. If set to 'open' a client may control the
+# heartbeat for its own screens (only). [default: open; legal: off, open, on]
+#Heartbeat=open
+
+# set title scrolling speed [default: 10; legal: 0-10]
+#TitleSpeed=10
+
+# The "...Key=" lines define what the server does with keypresses that
+# don't go to any client. The ToggleRotateKey stops rotation of screens, while
+# the PrevScreenKey and NextScreenKey go back / forward one screen (even if
+# rotation is disabled.
+# Assign the key string returned by the driver to the ...Key setting. These
+# are the defaults:
+ToggleRotateKey=Enter
+PrevScreenKey=Left
+NextScreenKey=Right
+#ScrollUpKey=Up
+#ScrollDownKey=Down
+
+
+## The menu section. The menu is an internal LCDproc client. ##
+[menu]
+# You can configure what keys the menu should use. Note that the MenuKey
+# will be reserved exclusively, the others work in shared mode.
+
+# Up to six keys are supported. The MenuKey (to enter and exit the menu), the
+# EnterKey (to select values) and at least one movement keys are required.
+# These are the default key assignments:
+MenuKey=Escape
+EnterKey=Enter
+UpKey=Up
+DownKey=Down
+#LeftKey=Left
+#RightKey=Right
+
+
+### Driver sections are below this line, in alphabetical order ###
+
+
+## EMAC BayRAD driver ##
+[bayrad]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200]
+Speed=9600
+
+
+
+## CrystalFontz driver (for CF632 & CF634) ##
+[CFontz]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+# Select the LCD size [default: 20x4]
+Size=20x4
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200,
+# 115200]
+Speed=9600
+# Set the firmware version (New means >= 2.0) [default: no; legal: yes, no]
+NewFirmware=no
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+
+
+## CrystalFontz packet driver (for CFA533, CFA631, CFA633 & CFA635) ##
+[CFontzPacket]
+
+# Select the LCD model [default: 633; legal: 533, 631, 633, 635]
+Model=633
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+# Reinitialize the LCD's BIOS on driver start. [default: no; legal: yes, no]
+Reboot=yes
+
+# Enable the USB flag if the device is connected to an USB port. For
+# serial ports leave it disabled. [default: no; legal: yes, no]
+#USB=yes
+
+# Very old 633 firmware versions do not support partial screen updates using
+# 'Send Data to LCD' command (31). For those devices it may be necessary to
+# enable this flag. [default: no; legal: yes, no]
+#OldFirmware=yes
+
+# Override the LCD size known for the selected model. Usually setting this
+# value should not be necessary.
+#Size=20x4
+
+# Override the default communication speed known for the selected model.
+# Default value depends on model [legal: 19200, 115200]
+#Speed=115200
+
+
+
+## Curses driver ##
+[curses]
+
+# color settings
+# foreground color [default: blue]
+Foreground=blue
+# background color when "backlight" is off [default: cyan]
+Background=cyan
+# background color when "backlight" is on [default: red]
+Backlight=red
+
+# display size [default: 20x4]
+Size=20x4
+
+# What position (X,Y) to start the left top corner at...
+# Default: (7,7)
+TopLeftX=7
+TopLeftY=7
+
+# use ASC symbols for icons & bars [default: no; legal: yes, no]
+UseACS=no
+
+# draw Border [default: yes; legal: yes, no]
+DrawBorder=yes
+
+
+
+## Cwlinux driver ##
+[CwLnx]
+
+# Select the LCD model [default: 12232; legal: 12232, 12832, 1602]
+Model=12232
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Select the LCD size. Default depends on model:
+# 12232: 20x4
+# 12832: 21x4
+# 1602: 16x2
+Size=20x4
+
+# Set the communication speed [default: 19200; legal: 9600, 19200]
+Speed=19200
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+# If you have a keypad connected. Keypad layout is currently not
+# configureable from the config file.
+Keypad=yes
+
+# If you have a non-standard keypad you can associate any keystrings to keys.
+# There are 6 input keys in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following is the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+# keypad_test_mode permits one to test keypad assignment
+# Default value is no
+#keypad_test_mode=yes
+
+
+
+## ea65 driver for the display in AOpen XC Cube AV EA65 media barebones ##
+[ea65]
+
+# Device is fixed /dev/ttyS1
+# Width and Height are fixed 9x1
+
+# As the VFD is self luminescent we don't have a backlight
+# But we can use the backlight functions to control the front LEDs
+# Brightness 0 to 299 -> LEDs off
+# Brightness 300 to 699 -> LEDs half bright
+# Brightness 700 to 1000 -> LEDs full bright
+Brightness=500
+# OffBrightness is the the value used for the 'backlight off' state
+OffBrightness=0
+
+
+
+## EyeboxOne driver ##
+[EyeboxOne]
+
+# Select the output device to use [default: /dev/ttyS1]
+#Device=/dev/cua01
+Device=/dev/ttyS1
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Switch on the backlight? [default: yes]
+Backlight=yes
+
+# Switch on the cursor? [default: no]
+Cursor=no
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# Enter Key is a \r character, so it's hardcoded in the driver
+LeftKey=D
+RightKey=C
+UpKey=A
+DownKey=B
+EscapeKey=P
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## g15 driver for Logitech G15 Keyboard LCDs ##
+[g15]
+
+# Display size (currently unused)
+size=20x5
+
+
+
+## glcd generic graphical display driver
+[glcd]
+# Select what type of connection. See documentation for types.
+ConnectionType=t6963
+
+# Width and height of the display in pixel. The supported sizes may depend on
+# the ConnectionType. [default: 128x64; legal: 1x1 - 640x480]
+#Size=128x64
+
+# Width and height of a character cell in pixels. This value is only used if
+# the driver has been compiled with FreeType and it is enabled. Otherwise the
+# default 6x8 cell is used.
+#CellSize=12x16
+
+# If LCDproc has been compiled with FreeType 2 support this option can be used
+# to turn if off intentionally. [default: yes; legal: yes, no]
+#useFT2=no
+
+# Path to font file to use for FreeType rendering. This font must be monospace
+# and should contain some special Unicode characters like arrows (Andale Mono
+# is recommended and can be fetched at http://corefonts.sf.net).
+#normal_font=/usr/local/lib/X11/fonts/TTF/andalemo.ttf
+
+# Some fonts miss the Unicode characters used to represent icons. In this case
+# the built-in 5x8 font can used if this option is turned off. [default: yes;
+# legal: yes, no]
+#fontHasIcons=no
+
+# Set the initial contrast if supported by connection type.
+# [default: 600; legal: 0 - 1000]
+#Contrast=600
+
+# Set brightness of the backlight if the backlight is switched 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# Set brightness of the backlight if the backlight is switched 'off'. Set this
+# to zero to completely turn off the backlight. [default: 100; legal: 0 - 1000]
+#OffBrightness=0
+
+# Time (ms) from first key report to first repeat. Set to 0 to disable repeated
+# key reports. [default: 500; legal: 0 - 3000]
+#KeyRepeatDelay=500
+
+# Time (ms) between repeated key reports. Ignored if KeyRepeatDelay is disabled
+# (set to zero). [default: 300; legal: 0 - 3000]
+#KeyRepeatInterval=300
+
+# Assign key strings to keys. There may be up to 16 keys numbered 'A' to 'Z'.
+# By default keys 'A' to 'F' are assigned Up, Down, Left, Right, Enter, Escape.
+KeyMap_A=Up
+KeyMap_B=Down
+KeyMap_C=Enter
+KeyMap_D=Escape
+
+# t6963: Parallel port to use [default: 0x378; legal: 0x200 - 0x400]
+#Port=0x378
+
+# t6963: Use LPT port in bi-directional mode. This should work on most LPT port
+# and is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# t6963: Insert additional delays into reads / writes. [default: no;
+# legal: yes, no]
+#delayBus=no
+
+# serdisplib: Name of the underlying serdisplib driver, e.g. ctinclud. See
+# serdisplib documentation for details.
+serdisp_name=t6963
+
+# serdisplib: The display device to use, e.g. serraw:/dev/ttyS0,
+# parport:/dev/parport0 or USB:07c0/1501.
+serdisp_device=/dev/ppi0
+
+# serdisplib: Options string to pass to serdisplib during initialization. Use
+# this to set any display related options (e.g. wiring). The display size is
+# always set based on the Size configured above! By default, no options are
+# set.
+# Important: The value must be quoted as it contains equal signs!
+#serdisp_options="INVERT=1"
+
+
+
+## glcdlib meta driver for graphical LCDs ##
+[glcdlib]
+
+## mandatory:
+
+# which graphical display supported by graphlcd-base to use [default: image]
+# (see /etc/graphlcd.conf for possible drivers)
+Driver=noritake800
+
+# no=use graphlcd bitmap fonts (they have only one size / font file)
+# yes=use fonts supported by FreeType2 (needs Freetype2 support in
+# libglcdprocdriver and its dependants)
+UseFT2=yes
+
+# text resolution in fixed width characters [default: 16x4]
+# (if it won't fit according to available physical pixel resolution
+# and the minimum available font face size in pixels, then
+# 'DebugBorder' will automatically be turned on)
+TextResolution=20x4
+
+# path to font file to use
+FontFile=/usr/share/fonts/corefonts/courbd.ttf
+
+## these only apply if UseFT2=yes:
+
+# character encoding to use
+CharEncoding=iso8859-2
+
+# minimum size in pixels in which fonts should be rendered
+MinFontFaceSize=7x12
+
+## optional:
+Brightness=50 # Brightness (in %) if applicable
+Contrast=50 # Contrast (in %) if applicable
+Backlight=no # Backlight if applicable
+UpsideDown=no # flip image upside down
+Invert=no # invert light/dark pixels
+ShowDebugFrame=no # turns on/off 1 pixel thick debugging
+ # border within the usable text area,
+ # for setting up TextResolution and
+ # MinFontFaceSize (if using FT2);
+ShowBigBorder=no # border around the unused area
+ShowThinBorder=yes # border around the unused area
+PixelShiftX=0
+PixelShiftY=2
+
+
+
+## Matrix Orbital GLK driver ##
+[glk]
+
+# select the serial device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# set the initial contrast value [default: 560; legal: 0 - 1000]
+Contrast=560
+
+# set the serial port speed [default: 19200; legal: 9600, 19200, 38400]
+Speed=19200
+
+
+
+## Hitachi HD44780 driver ##
+[hd44780]
+
+# Select what type of connection. See documentation for types.
+ConnectionType=4bit
+
+# Port where the LPT is. Usual value are: 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Device of the serial interface [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Bitrate of the serial port (0 for interface default)
+Speed=0
+
+# If you have a keypad connected.
+# You may also need to configure the keypad layout further on in this file.
+Keypad=no
+
+# Set the initial contrast (bwctusb, lcd2usb, and usb4all)
+# [default: 800; legal: 0 - 1000]
+#Contrast=0
+
+# Set brightness of the backlight (lcd2usb and usb4all):
+# Brightness is the brightness while the backlight is set to 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# OffBrightness is the brightness while the backlight is set to 'off'.
+# [default: 300; legal: 0 - 1000]
+#OffBrightness=0
+
+# If you have a switchable backlight.
+Backlight=no
+
+# If you have the additional output port ("bargraph") and you want to
+# be able to control it with the lcdproc OUTPUT command
+OutputPort=no
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+# Specifies the size of the LCD.
+# In case of multiple combined displays, this should be the total size.
+Size=20x4
+
+# For multiple combined displays: how many lines does each display have.
+# Vspan=2,2 means both displays have 2 lines.
+#vspan=2,2
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# In extended mode, on some controllers like the ST7036 (in 3 line mode)
+# the next line in DDRAM won't start 0x20 higher. [default: 0x20]
+#LineAddress=0x10
+
+# Character map to to map ISO-8859-1 to the LCD's character set
+# [default: hd44780_default; legal: hd44780_default, hd44780_euro, ea_ks0073,
+# sed1278f_0b, hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5, upd16314 ]
+# (hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5 and upd16314 are possible if
+# compiled with additional charmaps)
+CharMap=hd44780_default
+
+# If your display is slow and cannot keep up with the flow of data from
+# LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4
+# to increase the delays. Default: 1.
+#DelayMult=2
+
+# Some displays (e.g. vdr-wakeup) need a message from the driver to that it
+# is still alive. When set to a value bigger then null the character in the
+# upper left corner is updated every <KeepAliveDisplay> seconds. Default: 0.
+#KeepAliveDisplay=0
+
+# If you experience occasional garbage on your display you can use this
+# option as workaround. If set to a value bigger than null it forces a
+# full screen refresh <RefreshDiplay> seconds. Default: 0.
+#RefreshDisplay=5
+
+# You can reduce the inserted delays by setting this to false.
+# On fast PCs it is possible your LCD does not respond correctly.
+# Default: true.
+DelayBus=true
+
+# If you have a keypad you can assign keystrings to the keys.
+# See documentation for used terms and how to wire it.
+# For example to give directly connected key 4 the string "Enter", use:
+# KeyDirect_4=Enter
+# For matrix keys use the X and Y coordinates of the key:
+# KeyMatrix_1_3=Enter
+KeyMatrix_4_1=Enter
+KeyMatrix_4_2=Up
+KeyMatrix_4_3=Down
+KeyMatrix_4_4=Escape
+
+
+
+## ICP A106 driver ##
+[icp_a106]
+Device=/dev/ttyS1
+
+
+
+## Code Mercenaries IO-Warrior driver ##
+[IOWarrior]
+
+# display dimensions
+Size=20x4
+
+# serial number. Must be exactly as listed by usbview
+# (if not given, the 1st IOWarrior found gets used)
+#SerialNumber=00000674
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+## Soundgraph/Ahanix/Silverstone/Uneed/Accent iMON driver ##
+[imon]
+
+# select the device to use
+Device=/dev/lcd0
+
+# display dimensions
+Size=16x2
+
+# Character map to to map ISO-8859-1 to the displays character set.
+# [default: none; legal: none, hd44780_euro, upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 ] (upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 are possible if compiled with additional
+# charmaps)
+CharMap=hd44780_euro
+
+## Soundgraph iMON LCD ##
+[imonlcd]
+# Specify which iMon protocol should be used
+# [legal: 0, 1; default: 0]
+# Choose 0 for 15c2:ffdc device,
+# Choose 1 for 15c2:0038 device
+Protocol=0
+
+# Set the exit behavior [legal: 0-2; default: 1]
+# 0 means leave shutdown message,
+# 1 means show the big clock,
+# 2 means blank device
+#OnExit=2
+
+# Select the output device to use [default: /dev/lcd0]
+Device=/dev/lcd0
+
+# Select the displays contrast [default: 200; legal: 0-1000]
+Contrast=200
+
+# Specify the size of the display in pixels [default: 96x16]
+#Size=96x16
+
+# Set the backlight state [default: on; legal: on, off]
+#Backlight=on
+
+# Set the disc mode [legal: 0,1; default: 0]
+# 0 => spin the "slim" disc - two disc segments,
+# 1 => their complement spinning;
+#DiscMode=0
+
+
+
+## IrMan driver ##
+[IrMan]
+# in case of trouble with IrMan, try the Lirc emulator for IrMan
+
+# Select the input device to use
+#Device=/dev/irman
+
+# Select the configuration file to use
+#Config=/etc/irman.cfg
+
+
+
+## IRtrans driver ##
+[irtrans]
+
+# Does the device have a backlight? [default: no; legal: yes, no]
+#Backlight=no
+
+# IRTrans device to connect to [default: localhost]
+#Hostname=localhost
+
+# display dimensions
+Size=16x2
+
+
+
+## Joystick driver ##
+[joy]
+
+# Select the input device to use [default: /dev/js0]
+Device=/dev/js0
+
+# set the axis map
+Map_Axis1neg=Left
+Map_Axis1pos=Right
+Map_Axis2neg=Up
+Map_Axis2pos=Down
+
+# set the button map
+Map_Button1=Enter
+Map_Button2=Escape
+
+
+
+## LB216 driver ##
+[lb216]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Set the communication speed [default: 9600; legal: 2400, 9600]
+Speed=9600
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## LCDM001 driver ##
+[lcdm001]
+
+Device=/dev/ttyS1
+
+# keypad settings
+# Keyname Function
+# Normal context Menu context
+# ------- -------------- ------------
+# PauseKey Pause/Continue Enter/select
+# BackKey Back(Go to previous screen) Up/Left
+# ForwardKey Forward(Go to next screen) Down/Right
+# MainMenuKey Open main menu Exit/Cancel
+PauseKey=LeftKey
+BackKey=UpKey
+ForwardKey=DownKey
+MainMenuKey=RightKey
+
+# You can rearrange the settings here.
+# If your device is broken, have a look at /usr/lib/lcdproc/lcdm001.h
+
+
+
+## HNE LCTerm driver ##
+[lcterm]
+Device=/dev/ttyS1
+Size=16x2
+
+
+
+## LIRC input driver ##
+[lirc]
+
+# Specify an alternative location of the lircrc file [default: ~/.lircrc]
+#lircrc=/etc/lircrc.lcdproc
+
+# Must be the same as in your lircrc
+#prog=lcdd
+
+
+
+## LIS MCE 2005 driver ##
+[lis]
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# 0-250 = 25%, 251-500 = 50%, 501-750 = 75%, 751-1000 = 100%
+#Brightness=1000
+
+# Columns by lines [default: 20x2]
+#Size=20x2
+
+# USB Vendor ID [default: 0x0403]
+# Change only if testing a compatible device.
+#VendorID=0x0403
+
+# USB Product ID [default: 0x6001]
+# Change only if testing a compatible device.
+#ProductID=0x6001
+
+# Specifies if the last line is pixel addressable (yes) or it only controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+##The driver for the VFD of the Medion MD8800 PC ##
+[MD8800]
+# device to use [default: /dev/ttyS1]
+#Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+
+
+## Futuba MDM166A Display
+[mdm166a]
+# Show self-running clock after LCDd shutdown
+# Possible values: [default: no; legal: no, small, big]
+Clock=big
+# Dim display, no dimming gives full brightness [default: no, legal: yes, no]
+Dimming=no
+# Dim display in case LCDd is inactive [default: no, legal: yes, no]
+OffDimming=yes
+
+
+
+## MSI MS-6931 driver for displays in 1HU servers ##
+[ms6931]
+
+# device to use [default: /dev/ttyS1]
+Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+
+
+## MTC-S16209x driver ##
+[mtc_s16209x]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Matrix Orbital driver ##
+[MtxOrb]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Set the display type [default: lcd; legal: lcd, lkd, vfd, vkd]
+Type=lkd
+
+# Set the initial contrast [default: 480]
+# NOTE: The driver will ignore this if the display
+# is a vfd or vkd as they don't have this feature
+Contrast=480
+
+# Some old displays do not have an adjustable backlight but only can
+# switch the backlight on/off. If you experience randomly appearing block
+# characters, try setting this to false. [default: yes; legal: yes, no]
+hasAdjustableBacklight=no
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# The following table translates from MtxOrb key letters to logical key names.
+# By default no keys are mapped, meaning the keypad is not used at all.
+#KeyMap_A=Left
+#KeyMap_B=Right
+#KeyMap_C=Up
+#KeyMap_D=Down
+#KeyMap_E=Enter
+#KeyMap_F=Escape
+# See the [menu] section for an explanation of the key mappings
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## mx5000 driver for LCD display on the Logitech MX5000 keyboard ##
+[mx5000]
+
+# Select the output device to use [default: /dev/hiddev0]
+Device = /dev/hiddev0
+# Time to wait in ms after the refresh screen has been sent [default: 1000]
+WaitAfterRefresh = 1000
+
+
+
+## Noritake VFD driver ##
+[NoritakeVFD]
+# device where the VFD is. Usual values are /dev/ttyS0 and /dev/ttyS1
+# [default: /dev/lcd]
+Device=/dev/ttyS0
+# Specifies the size of the LCD.
+Size=20x4
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+# set the serial port speed [default: 9600, legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+# Set serial data parity [default: 0; legal: 0-2 ]
+# Meaning: 0(=none), 1(=odd), 2(=even)
+Parity=0
+# re-initialize the VFD [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Mini-box.com picoLCD (usblcd) driver ##
+[picolcd]
+
+# KeyTimeout is only used if the picoLCD driver is built with libusb-0.1. When
+# built with libusb-1.0 key and IR data is input asynchronously so there is no
+# need to wait for the USB data.
+# KeyTimeout is the time in ms that LCDd spends waiting for a key press before
+# cycling through other duties. Higher values make LCDd use less CPU time and
+# make key presses more detectable. Lower values make LCDd more responsive
+# but a little prone to missing key presses. 500 (.5 second) is the default
+# and a balanced value. [default: 500; legal: 0 - 1000]
+KeyTimeout=500
+
+# Key auto repeat is only available if the picoLCD driver is built with
+# libusb-1.0. Use KeyRepeatDelay and KeyRepeatInterval to configure key auto
+# repeat.
+#
+# Key auto repeat delay (time in ms from first key report to first repeat). Use
+# zero to disable auto repeat. [default: 300; legal: 0 - 3000]
+KeyRepeatDelay=300
+
+# Key auto repeat interval (time in ms between repeat reports). Only used if
+# KeyRepeatDelay is not zero. [default: 200; legal: 0 - 3000]
+KeyRepeatInterval=200
+
+# Sets the initial state of the backlight upon start-up.
+# [default: on; legal: on, off]
+#Backlight=on
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]. Works only
+# with the 20x4 device
+Brightness=1000
+
+# Set the brightness while the backlight is 'off' [default: 0; legal: 0 - 1000].
+# Works only with the 20x4 device.
+#OffBrightness=0
+
+# Set the initial contrast [default: 1000; legal: 0 - 1000]
+Contrast=1000
+
+# Link the key lights to the backlight? [default: on; legal: on, off]
+#LinkLights=off
+
+# Light the keys? [default: on; legal: on, off]
+Keylights=on
+
+# If Keylights is on, the you can unlight specific keys below:
+# Key0 is the directional pad. Key1 - Key5 correspond to the F1 - F5 keys.
+# There is no LED for the +/- keys. This is a handy way to indicate to users
+# which keys are disabled. [default: on; legal: on, off]
+Key0Light=on
+Key1Light=on
+Key2Light=on
+Key3Light=on
+Key4Light=on
+Key5Light=on
+
+# Host name or IP address of the LIRC instance that is to receive IR codes
+# If not set, or set to an empty value, IR support is disabled.
+#LircHost=127.0.0.1
+
+# UDP port on which LIRC is listening [default: 8765; legal: 1 - 65535]
+LircPort=8765
+
+# Threshold in jiffies of synthesized gap that triggers flushing the IR data
+# to lirc [default: 100 ; max: 32767 ]
+# 100 means 6.1ms. legal: 16 - 32767; Use 0 to disable.
+LircFlushThreshold=100
+
+
+
+## Pyramid LCD driver ##
+[pyramid]
+
+# device to connect to [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+
+
+## SDEC driver for Watchguard Firebox ##
+[sdeclcd]
+# No options
+
+
+
+## Seiko Epson 1330 driver ##
+[sed1330]
+
+# Port where the LPT is. Common values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Type of LCD module (legal: G321D, G121C, G242C, G191D, G2446, SP14Q002)
+# Note: Currently only tested with G321D & SP14Q002.
+Type=G321D
+
+# Width x Height of a character cell in pixels [legal: 6x7 - 8x16; default: 6x10]
+CellSize=6x10
+
+# Select what type of connection [legal: classic, bitshaker; default: classic]
+ConnectionType=classic
+
+
+
+## Seiko Epson 1520 driver ##
+[sed1520]
+
+# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Select the interface type (wiring) for the display. Supported values are
+# 68 for 68-style connection (RESET level high) and 80 for 80-style connection
+# (RESET level low). [legal: 68, 80; default: 80]
+InterfaceType=80
+
+# On fast machines it may be necessary to slow down transfer to the display.
+# If this value is set to zero, delay is disabled. Any value greater than
+# zero slows down each write by one microsecond. [legal: 0-1000; default: 1]
+DelayMult=0
+
+# The original wiring used an inverter to drive the control lines. If you do
+# not use an inverter set haveInverter to no. [default: yes; legal: yes, no]
+haveInverter=no
+
+
+
+## serial POS display driver ##
+[serialPOS]
+
+# Device to use in serial mode [default: /dev/lcd]
+Device=/dev/lcd
+
+# Specifies the size of the display in characters. [default: 16x2]
+Size=16x2
+
+# Set the communication protocol to use with the POS display.
+# [default: AEDEX; legal: IEE, Epson, Emax, IBM, LogicControls, Ultimate]
+Type=AEDEX
+
+# communication baud rate with the display [default: 9600; legal: 1200, 2400,
+# 19200, 115200]
+Speed=9600
+
+
+
+## Serial VFD driver ##
+## Drives various (see below) serial 5x7dot VFD's. ##
+[serialVFD]
+
+# Specifies the displaytype.[default: 0]
+# 0 NEC (FIPC8367 based) VFDs.
+# 1 KD Rev 2.1.
+# 2 Noritake VFDs (*).
+# 3 Futaba VFDs
+# 4 IEE S03601-95B
+# 5 IEE S03601-96-080 (*)
+# 6 Futaba NA202SD08FA (allmost IEE compatible)
+# 7 Samsung 20S207DA4 and 20S207DA6
+# 8 Nixdorf BA6x / VT100
+# (* most should work, not tested yet.)
+Type=0
+
+# "no" if display connected serial, "yes" if connected parallel. [default: no]
+# I.e. serial by default
+use_parallel=no
+
+# Number of Custom-Characters. default is display type dependent
+#Custom-Characters=0
+
+# Portaddress where the LPT is. Used in parallel mode only. Usual values are
+# 0x278, 0x378 and 0x3BC.
+Port=0x378
+
+# Set parallel port timing delay (us). Used in parallel mode only.
+# [default: 2; legal: 0 - 255]
+#PortWait=2
+
+# Device to use in serial mode. Usual values are /dev/ttyS0 and /dev/ttyS1
+Device=/dev/ttyS1
+
+# Specifies the size of the VFD.
+Size=20x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+OffBrightness=0
+
+# set the serial port speed [default: 9600; legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+
+# enable ISO 8859 1 compatibility [default: yes; legal: yes, no]
+#ISO_8859_1=yes
+
+
+
+## shuttleVFD driver ##
+[shuttleVFD]
+# No options
+
+
+
+## stv5730 driver ##
+[stv5730]
+
+# Port the device is connected to [default: 0x378]
+Port=0x378
+
+
+[SureElec]
+
+# Port the device is connected to (by default first USB serial port)
+Device=/dev/ttyUSB0
+
+# Edition level of the device (can be 1, 2 or 3) [default: 2]
+#Edition=1
+
+# set display size
+# Note: The size can be obtained directly from device for edition 2 & 3.
+#Size=16x2
+
+# Set the initial contrast [default: 480; legal: 0 - 1000]
+#Contrast=200
+
+# Set the initial brightness [default: 480; legal: 1 - 1000]
+#Brightness=480
+
+# Set the initial off-brightness [default: 100; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+#OffBrightness=100
+
+
+## SVGAlib driver ##
+[svga]
+
+# svgalib mode to use [default: G320x240x256 ]
+# legal values are supported svgalib modes
+#Mode=G640x480x256
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Set the initial contrast [default: 500; legal: 0 - 1000]
+# Can be set but does not change anything internally
+Contrast=500
+
+# Set the initial brightness [default: 1000; legal: 1 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 500; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=500
+
+
+
+## Text driver ##
+[text]
+# Set the display size [default: 20x4]
+Size=20x4
+
+
+
+## Toshiba T6963 driver ##
+[t6963]
+
+# set display size in pixels [default: 128x64]
+Size=128x64
+
+# port to use [default: 0x378; legal: 0x200 - 0x400]
+Port=0x378
+
+# Use LPT port in bi-directional mode. This should work on most LPT port and
+# is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# Insert additional delays into reads / writes. [default: no; legal: yes, no]
+#delayBus=no
+
+# Clear graphic memory on start-up. [default: no; legal: yes, no]
+#ClearGraphic=no
+
+
+
+## Tyan Barebones LCD driver (GS10 & GS12 series) ##
+[tyan]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 4800, 9600]
+Speed=9600
+
+# set display size [default: 16x2]
+Size=16x2
+
+
+
+## ELV ula200 driver ##
+[ula200]
+
+# Select the LCD size [default: 20x4]
+Size=20x4
+
+# If you have a non standard keypad you can associate any keystrings to keys.
+# There are 6 input key in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following it the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+
+
+## Wirz SLI LCD driver ##
+[sli]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200,
+# 38400, 57600, 115200]
+Speed=19200
+
+
+
+## vlsys_m428 for VFD/IR combination in Moneual MonCaso 320 ##
+[vlsys_m428]
+
+# Select the output device to use [default: /dev/ttyUSB0]
+#Device=/dev/ttyUSB0
+
+
+
+## OnScreen Display using libxosd ##
+[xosd]
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Offset in pixels from the top-left corner of the monitor [default: 0x0]
+Offset=200x200
+
+# X font to use, in XLFD format, as given by "xfontsel"
+Font=-*-clean-*-*-*-*-*-160-*-*-*-*-*-*
+
+# EOF
diff --git a/linhes/linhes-templates/templates/LCD/antec_fusion/lircd.conf b/linhes/linhes-templates/templates/LCD/antec_fusion/lircd.conf
new file mode 100644
index 0000000..ce64936
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/antec_fusion/lircd.conf
@@ -0,0 +1,38 @@
+
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.8.1(default) on Thu Sep 6 09:06:50 2007
+#
+# contributed by
+#
+# brand: /tmp/out
+# model no. of remote control:
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name Antec_fusion_silver_v1
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ post_data_bits 16
+ post_data 0xFF
+ gap 131985
+ min_repeat 6
+ toggle_bit 0
+
+
+ begin codes
+ CW 0x0001
+ CCW 0x0100
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/LCD/antec_fusion/lircrc b/linhes/linhes-templates/templates/LCD/antec_fusion/lircrc
new file mode 100644
index 0000000..7a39704
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/antec_fusion/lircrc
@@ -0,0 +1,15 @@
+begin
+ remote = Antec_fusion_silver_v1
+ prog = mythtv
+ button = CW
+ repeat = 1
+ config = ]
+end
+
+begin
+ remote = Antec_fusion_silver_v1
+ prog = mythtv
+ button = CCW
+ repeat = 1
+ config = [
+end
diff --git a/linhes/linhes-templates/templates/LCD/antec_fusion/modules b/linhes/linhes-templates/templates/LCD/antec_fusion/modules
new file mode 100644
index 0000000..cd576c3
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/antec_fusion/modules
@@ -0,0 +1 @@
+lirc_imon #LCD
diff --git a/linhes/linhes-templates/templates/LCD/moneual_320/LCDd.conf b/linhes/linhes-templates/templates/LCD/moneual_320/LCDd.conf
new file mode 100644
index 0000000..b8bcd44
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/moneual_320/LCDd.conf
@@ -0,0 +1,1294 @@
+# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
+#
+# This file contains the configuration for the LCDd server.
+#
+# The format is ini-file-like. It is divided into sections that start at
+# markers that look like [section]. Comments are all line-based comments,
+# and are lines that start with '#' or ';'.
+#
+# The server has a 'central' section named [server]. For the menu there is
+# a section called [menu]. Further each driver has a section which
+# defines how the driver acts.
+#
+# The drivers are activated by specifying them in a driver= line in the
+# server section, like:
+#
+# Driver=curses
+#
+# This tells LCDd to use the curses driver.
+# The first driver that is loaded and is capable of output defines the
+# size of the display. The default driver to use is curses.
+# If the driver is specified using the -d <driver> command line option,
+# the Driver= options in the config file are ignored.
+#
+# The drivers read their own options from the respective sections.
+
+
+
+## Server section with all kinds of settings for the LCDd server ##
+[server]
+
+# Where can we find the driver modules ?
+# IMPORTANT: Make sure to change this setting to reflect your
+# specific setup! Otherwise LCDd won't be able to find
+# the driver modules and will thus not be able to
+# function properly.
+# NOTE: Always place a slash as last character !
+DriverPath=/usr/lib/lcdproc/
+
+# Tells the server to load the given drivers. Multiple lines can be given.
+# The name of the driver is case sensitive and determines the section
+# where to look for further configuration options of the specific driver
+# as well as the name of the dynamic driver module to load at runtime.
+# The latter one can be changed by giving a File= directive in the
+# driver specific section.
+#
+# The following drivers are supported:
+# bayrad, CFontz, CFontzPacket, curses, CwLnx, ea65,
+# EyeboxOne, g15, glcd, glcdlib, glk, hd44780, icp_a106, imon, imonlcd,
+# IOWarrior, irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800,
+# mdm166a, ms6931, mtc_s16209x, MtxOrb, mx5000, NoritakeVFD, picolcd,
+# pyramid, sdeclcd, sed1330, sed1520, serialPOS, serialVFD, shuttleVFD, sli,
+# stv5730, svga, t6963, text, tyan, ula200, vlsys_m428, xosd
+Driver=vlsys_m428
+
+# Tells the driver to bind to the given interface
+Bind=127.0.0.1
+
+# Listen on this specified port; defaults to 13666.
+Port=13666
+
+# Sets the reporting level; defaults to 2 (warnings and errors only).
+#ReportLevel=3
+
+# Should we report to syslog instead of stderr ? [default: no; legal: yes, no]
+#ReportToSyslog=yes
+
+# User to run as. LCDd will drop its root privileges, if any,
+# and run as this user instead.
+User=nobody
+
+# The server will stay in the foreground if set to true.
+#Foreground=no
+
+# Hello message: each entry represents a display line; default: builtin
+Hello="LinHES"
+#Hello=" Welcome to"
+#Hello=" LCDproc!"
+
+# GoodBye message: each entry represents a display line; default: builtin
+GoodBye=""
+#GoodBye="Thanks for using"
+#GoodBye=" LCDproc!"
+
+# Sets the default time in seconds to displays a screen.
+WaitTime=10
+
+# If set to no, LCDd will start with screen rotation disabled. This has the
+# same effect as if the ToggleRotateKey had been pressed. Rotation will start
+# if the ToggleRotateKey is pressed. Note that this setting does not turn off
+# priority sorting of screens. [default: on; legal: on, off]
+#AutoRotate=no
+
+# If yes, the the serverscreen will be rotated as a usual info screen. If no,
+# it will be a background screen, only visible when no other screens are
+# active. The special value 'blank' is similar to no, but only a blank screen
+# is displayed. [default: on; legal: on, off, blank]
+ServerScreen=blank
+
+# Set master backlight setting. If set to 'open' a client may control the
+# backlight for its own screens (only). [default: open; legal: off, open, on]
+#Backlight=open
+
+# Set master heartbeat setting. If set to 'open' a client may control the
+# heartbeat for its own screens (only). [default: open; legal: off, open, on]
+#Heartbeat=open
+
+# set title scrolling speed [default: 10; legal: 0-10]
+#TitleSpeed=10
+
+# The "...Key=" lines define what the server does with keypresses that
+# don't go to any client. The ToggleRotateKey stops rotation of screens, while
+# the PrevScreenKey and NextScreenKey go back / forward one screen (even if
+# rotation is disabled.
+# Assign the key string returned by the driver to the ...Key setting. These
+# are the defaults:
+ToggleRotateKey=Enter
+PrevScreenKey=Left
+NextScreenKey=Right
+#ScrollUpKey=Up
+#ScrollDownKey=Down
+
+
+## The menu section. The menu is an internal LCDproc client. ##
+[menu]
+# You can configure what keys the menu should use. Note that the MenuKey
+# will be reserved exclusively, the others work in shared mode.
+
+# Up to six keys are supported. The MenuKey (to enter and exit the menu), the
+# EnterKey (to select values) and at least one movement keys are required.
+# These are the default key assignments:
+MenuKey=Escape
+EnterKey=Enter
+UpKey=Up
+DownKey=Down
+#LeftKey=Left
+#RightKey=Right
+
+
+### Driver sections are below this line, in alphabetical order ###
+
+
+## EMAC BayRAD driver ##
+[bayrad]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200]
+Speed=9600
+
+
+
+## CrystalFontz driver (for CF632 & CF634) ##
+[CFontz]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+# Select the LCD size [default: 20x4]
+Size=20x4
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200,
+# 115200]
+Speed=9600
+# Set the firmware version (New means >= 2.0) [default: no; legal: yes, no]
+NewFirmware=no
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+
+
+## CrystalFontz packet driver (for CFA533, CFA631, CFA633 & CFA635) ##
+[CFontzPacket]
+
+# Select the LCD model [default: 633; legal: 533, 631, 633, 635]
+Model=633
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+# Reinitialize the LCD's BIOS on driver start. [default: no; legal: yes, no]
+Reboot=yes
+
+# Enable the USB flag if the device is connected to an USB port. For
+# serial ports leave it disabled. [default: no; legal: yes, no]
+#USB=yes
+
+# Very old 633 firmware versions do not support partial screen updates using
+# 'Send Data to LCD' command (31). For those devices it may be necessary to
+# enable this flag. [default: no; legal: yes, no]
+#OldFirmware=yes
+
+# Override the LCD size known for the selected model. Usually setting this
+# value should not be necessary.
+#Size=20x4
+
+# Override the default communication speed known for the selected model.
+# Default value depends on model [legal: 19200, 115200]
+#Speed=115200
+
+
+
+## Curses driver ##
+[curses]
+
+# color settings
+# foreground color [default: blue]
+Foreground=blue
+# background color when "backlight" is off [default: cyan]
+Background=cyan
+# background color when "backlight" is on [default: red]
+Backlight=red
+
+# display size [default: 20x4]
+Size=20x4
+
+# What position (X,Y) to start the left top corner at...
+# Default: (7,7)
+TopLeftX=7
+TopLeftY=7
+
+# use ASC symbols for icons & bars [default: no; legal: yes, no]
+UseACS=no
+
+# draw Border [default: yes; legal: yes, no]
+DrawBorder=yes
+
+
+
+## Cwlinux driver ##
+[CwLnx]
+
+# Select the LCD model [default: 12232; legal: 12232, 12832, 1602]
+Model=12232
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Select the LCD size. Default depends on model:
+# 12232: 20x4
+# 12832: 21x4
+# 1602: 16x2
+Size=20x4
+
+# Set the communication speed [default: 19200; legal: 9600, 19200]
+Speed=19200
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+# If you have a keypad connected. Keypad layout is currently not
+# configureable from the config file.
+Keypad=yes
+
+# If you have a non-standard keypad you can associate any keystrings to keys.
+# There are 6 input keys in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following is the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+# keypad_test_mode permits one to test keypad assignment
+# Default value is no
+#keypad_test_mode=yes
+
+
+
+## ea65 driver for the display in AOpen XC Cube AV EA65 media barebones ##
+[ea65]
+
+# Device is fixed /dev/ttyS1
+# Width and Height are fixed 9x1
+
+# As the VFD is self luminescent we don't have a backlight
+# But we can use the backlight functions to control the front LEDs
+# Brightness 0 to 299 -> LEDs off
+# Brightness 300 to 699 -> LEDs half bright
+# Brightness 700 to 1000 -> LEDs full bright
+Brightness=500
+# OffBrightness is the the value used for the 'backlight off' state
+OffBrightness=0
+
+
+
+## EyeboxOne driver ##
+[EyeboxOne]
+
+# Select the output device to use [default: /dev/ttyS1]
+#Device=/dev/cua01
+Device=/dev/ttyS1
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Switch on the backlight? [default: yes]
+Backlight=yes
+
+# Switch on the cursor? [default: no]
+Cursor=no
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# Enter Key is a \r character, so it's hardcoded in the driver
+LeftKey=D
+RightKey=C
+UpKey=A
+DownKey=B
+EscapeKey=P
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## g15 driver for Logitech G15 Keyboard LCDs ##
+[g15]
+
+# Display size (currently unused)
+size=20x5
+
+
+
+## glcd generic graphical display driver
+[glcd]
+# Select what type of connection. See documentation for types.
+ConnectionType=t6963
+
+# Width and height of the display in pixel. The supported sizes may depend on
+# the ConnectionType. [default: 128x64; legal: 1x1 - 640x480]
+#Size=128x64
+
+# Width and height of a character cell in pixels. This value is only used if
+# the driver has been compiled with FreeType and it is enabled. Otherwise the
+# default 6x8 cell is used.
+#CellSize=12x16
+
+# If LCDproc has been compiled with FreeType 2 support this option can be used
+# to turn if off intentionally. [default: yes; legal: yes, no]
+#useFT2=no
+
+# Path to font file to use for FreeType rendering. This font must be monospace
+# and should contain some special Unicode characters like arrows (Andale Mono
+# is recommended and can be fetched at http://corefonts.sf.net).
+#normal_font=/usr/local/lib/X11/fonts/TTF/andalemo.ttf
+
+# Some fonts miss the Unicode characters used to represent icons. In this case
+# the built-in 5x8 font can used if this option is turned off. [default: yes;
+# legal: yes, no]
+#fontHasIcons=no
+
+# Set the initial contrast if supported by connection type.
+# [default: 600; legal: 0 - 1000]
+#Contrast=600
+
+# Set brightness of the backlight if the backlight is switched 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# Set brightness of the backlight if the backlight is switched 'off'. Set this
+# to zero to completely turn off the backlight. [default: 100; legal: 0 - 1000]
+#OffBrightness=0
+
+# Time (ms) from first key report to first repeat. Set to 0 to disable repeated
+# key reports. [default: 500; legal: 0 - 3000]
+#KeyRepeatDelay=500
+
+# Time (ms) between repeated key reports. Ignored if KeyRepeatDelay is disabled
+# (set to zero). [default: 300; legal: 0 - 3000]
+#KeyRepeatInterval=300
+
+# Assign key strings to keys. There may be up to 16 keys numbered 'A' to 'Z'.
+# By default keys 'A' to 'F' are assigned Up, Down, Left, Right, Enter, Escape.
+KeyMap_A=Up
+KeyMap_B=Down
+KeyMap_C=Enter
+KeyMap_D=Escape
+
+# t6963: Parallel port to use [default: 0x378; legal: 0x200 - 0x400]
+#Port=0x378
+
+# t6963: Use LPT port in bi-directional mode. This should work on most LPT port
+# and is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# t6963: Insert additional delays into reads / writes. [default: no;
+# legal: yes, no]
+#delayBus=no
+
+# serdisplib: Name of the underlying serdisplib driver, e.g. ctinclud. See
+# serdisplib documentation for details.
+serdisp_name=t6963
+
+# serdisplib: The display device to use, e.g. serraw:/dev/ttyS0,
+# parport:/dev/parport0 or USB:07c0/1501.
+serdisp_device=/dev/ppi0
+
+# serdisplib: Options string to pass to serdisplib during initialization. Use
+# this to set any display related options (e.g. wiring). The display size is
+# always set based on the Size configured above! By default, no options are
+# set.
+# Important: The value must be quoted as it contains equal signs!
+#serdisp_options="INVERT=1"
+
+
+
+## glcdlib meta driver for graphical LCDs ##
+[glcdlib]
+
+## mandatory:
+
+# which graphical display supported by graphlcd-base to use [default: image]
+# (see /etc/graphlcd.conf for possible drivers)
+Driver=noritake800
+
+# no=use graphlcd bitmap fonts (they have only one size / font file)
+# yes=use fonts supported by FreeType2 (needs Freetype2 support in
+# libglcdprocdriver and its dependants)
+UseFT2=yes
+
+# text resolution in fixed width characters [default: 16x4]
+# (if it won't fit according to available physical pixel resolution
+# and the minimum available font face size in pixels, then
+# 'DebugBorder' will automatically be turned on)
+TextResolution=20x4
+
+# path to font file to use
+FontFile=/usr/share/fonts/corefonts/courbd.ttf
+
+## these only apply if UseFT2=yes:
+
+# character encoding to use
+CharEncoding=iso8859-2
+
+# minimum size in pixels in which fonts should be rendered
+MinFontFaceSize=7x12
+
+## optional:
+Brightness=50 # Brightness (in %) if applicable
+Contrast=50 # Contrast (in %) if applicable
+Backlight=no # Backlight if applicable
+UpsideDown=no # flip image upside down
+Invert=no # invert light/dark pixels
+ShowDebugFrame=no # turns on/off 1 pixel thick debugging
+ # border within the usable text area,
+ # for setting up TextResolution and
+ # MinFontFaceSize (if using FT2);
+ShowBigBorder=no # border around the unused area
+ShowThinBorder=yes # border around the unused area
+PixelShiftX=0
+PixelShiftY=2
+
+
+
+## Matrix Orbital GLK driver ##
+[glk]
+
+# select the serial device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# set the initial contrast value [default: 560; legal: 0 - 1000]
+Contrast=560
+
+# set the serial port speed [default: 19200; legal: 9600, 19200, 38400]
+Speed=19200
+
+
+
+## Hitachi HD44780 driver ##
+[hd44780]
+
+# Select what type of connection. See documentation for types.
+ConnectionType=4bit
+
+# Port where the LPT is. Usual value are: 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Device of the serial interface [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Bitrate of the serial port (0 for interface default)
+Speed=0
+
+# If you have a keypad connected.
+# You may also need to configure the keypad layout further on in this file.
+Keypad=no
+
+# Set the initial contrast (bwctusb, lcd2usb, and usb4all)
+# [default: 800; legal: 0 - 1000]
+#Contrast=0
+
+# Set brightness of the backlight (lcd2usb and usb4all):
+# Brightness is the brightness while the backlight is set to 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# OffBrightness is the brightness while the backlight is set to 'off'.
+# [default: 300; legal: 0 - 1000]
+#OffBrightness=0
+
+# If you have a switchable backlight.
+Backlight=no
+
+# If you have the additional output port ("bargraph") and you want to
+# be able to control it with the lcdproc OUTPUT command
+OutputPort=no
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+# Specifies the size of the LCD.
+# In case of multiple combined displays, this should be the total size.
+Size=20x4
+
+# For multiple combined displays: how many lines does each display have.
+# Vspan=2,2 means both displays have 2 lines.
+#vspan=2,2
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# In extended mode, on some controllers like the ST7036 (in 3 line mode)
+# the next line in DDRAM won't start 0x20 higher. [default: 0x20]
+#LineAddress=0x10
+
+# Character map to to map ISO-8859-1 to the LCD's character set
+# [default: hd44780_default; legal: hd44780_default, hd44780_euro, ea_ks0073,
+# sed1278f_0b, hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5, upd16314 ]
+# (hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5 and upd16314 are possible if
+# compiled with additional charmaps)
+CharMap=hd44780_default
+
+# If your display is slow and cannot keep up with the flow of data from
+# LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4
+# to increase the delays. Default: 1.
+#DelayMult=2
+
+# Some displays (e.g. vdr-wakeup) need a message from the driver to that it
+# is still alive. When set to a value bigger then null the character in the
+# upper left corner is updated every <KeepAliveDisplay> seconds. Default: 0.
+#KeepAliveDisplay=0
+
+# If you experience occasional garbage on your display you can use this
+# option as workaround. If set to a value bigger than null it forces a
+# full screen refresh <RefreshDiplay> seconds. Default: 0.
+#RefreshDisplay=5
+
+# You can reduce the inserted delays by setting this to false.
+# On fast PCs it is possible your LCD does not respond correctly.
+# Default: true.
+DelayBus=true
+
+# If you have a keypad you can assign keystrings to the keys.
+# See documentation for used terms and how to wire it.
+# For example to give directly connected key 4 the string "Enter", use:
+# KeyDirect_4=Enter
+# For matrix keys use the X and Y coordinates of the key:
+# KeyMatrix_1_3=Enter
+KeyMatrix_4_1=Enter
+KeyMatrix_4_2=Up
+KeyMatrix_4_3=Down
+KeyMatrix_4_4=Escape
+
+
+
+## ICP A106 driver ##
+[icp_a106]
+Device=/dev/ttyS1
+
+
+
+## Code Mercenaries IO-Warrior driver ##
+[IOWarrior]
+
+# display dimensions
+Size=20x4
+
+# serial number. Must be exactly as listed by usbview
+# (if not given, the 1st IOWarrior found gets used)
+#SerialNumber=00000674
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+## Soundgraph/Ahanix/Silverstone/Uneed/Accent iMON driver ##
+[imon]
+
+# select the device to use
+Device=/dev/lcd0
+
+# display dimensions
+Size=16x2
+
+# Character map to to map ISO-8859-1 to the displays character set.
+# [default: none; legal: none, hd44780_euro, upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 ] (upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 are possible if compiled with additional
+# charmaps)
+CharMap=hd44780_euro
+
+## Soundgraph iMON LCD ##
+[imonlcd]
+# Specify which iMon protocol should be used
+# [legal: 0, 1; default: 0]
+# Choose 0 for 15c2:ffdc device,
+# Choose 1 for 15c2:0038 device
+Protocol=0
+
+# Set the exit behavior [legal: 0-2; default: 1]
+# 0 means leave shutdown message,
+# 1 means show the big clock,
+# 2 means blank device
+#OnExit=2
+
+# Select the output device to use [default: /dev/lcd0]
+Device=/dev/lcd0
+
+# Select the displays contrast [default: 200; legal: 0-1000]
+Contrast=200
+
+# Specify the size of the display in pixels [default: 96x16]
+#Size=96x16
+
+# Set the backlight state [default: on; legal: on, off]
+#Backlight=on
+
+# Set the disc mode [legal: 0,1; default: 0]
+# 0 => spin the "slim" disc - two disc segments,
+# 1 => their complement spinning;
+#DiscMode=0
+
+
+
+## IrMan driver ##
+[IrMan]
+# in case of trouble with IrMan, try the Lirc emulator for IrMan
+
+# Select the input device to use
+#Device=/dev/irman
+
+# Select the configuration file to use
+#Config=/etc/irman.cfg
+
+
+
+## IRtrans driver ##
+[irtrans]
+
+# Does the device have a backlight? [default: no; legal: yes, no]
+#Backlight=no
+
+# IRTrans device to connect to [default: localhost]
+#Hostname=localhost
+
+# display dimensions
+Size=16x2
+
+
+
+## Joystick driver ##
+[joy]
+
+# Select the input device to use [default: /dev/js0]
+Device=/dev/js0
+
+# set the axis map
+Map_Axis1neg=Left
+Map_Axis1pos=Right
+Map_Axis2neg=Up
+Map_Axis2pos=Down
+
+# set the button map
+Map_Button1=Enter
+Map_Button2=Escape
+
+
+
+## LB216 driver ##
+[lb216]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Set the communication speed [default: 9600; legal: 2400, 9600]
+Speed=9600
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## LCDM001 driver ##
+[lcdm001]
+
+Device=/dev/ttyS1
+
+# keypad settings
+# Keyname Function
+# Normal context Menu context
+# ------- -------------- ------------
+# PauseKey Pause/Continue Enter/select
+# BackKey Back(Go to previous screen) Up/Left
+# ForwardKey Forward(Go to next screen) Down/Right
+# MainMenuKey Open main menu Exit/Cancel
+PauseKey=LeftKey
+BackKey=UpKey
+ForwardKey=DownKey
+MainMenuKey=RightKey
+
+# You can rearrange the settings here.
+# If your device is broken, have a look at /usr/lib/lcdproc/lcdm001.h
+
+
+
+## HNE LCTerm driver ##
+[lcterm]
+Device=/dev/ttyS1
+Size=16x2
+
+
+
+## LIRC input driver ##
+[lirc]
+
+# Specify an alternative location of the lircrc file [default: ~/.lircrc]
+#lircrc=/etc/lircrc.lcdproc
+
+# Must be the same as in your lircrc
+#prog=lcdd
+
+
+
+## LIS MCE 2005 driver ##
+[lis]
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# 0-250 = 25%, 251-500 = 50%, 501-750 = 75%, 751-1000 = 100%
+#Brightness=1000
+
+# Columns by lines [default: 20x2]
+#Size=20x2
+
+# USB Vendor ID [default: 0x0403]
+# Change only if testing a compatible device.
+#VendorID=0x0403
+
+# USB Product ID [default: 0x6001]
+# Change only if testing a compatible device.
+#ProductID=0x6001
+
+# Specifies if the last line is pixel addressable (yes) or it only controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+##The driver for the VFD of the Medion MD8800 PC ##
+[MD8800]
+# device to use [default: /dev/ttyS1]
+#Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+
+
+## Futuba MDM166A Display
+[mdm166a]
+# Show self-running clock after LCDd shutdown
+# Possible values: [default: no; legal: no, small, big]
+Clock=big
+# Dim display, no dimming gives full brightness [default: no, legal: yes, no]
+Dimming=no
+# Dim display in case LCDd is inactive [default: no, legal: yes, no]
+OffDimming=yes
+
+
+
+## MSI MS-6931 driver for displays in 1HU servers ##
+[ms6931]
+
+# device to use [default: /dev/ttyS1]
+Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+
+
+## MTC-S16209x driver ##
+[mtc_s16209x]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Matrix Orbital driver ##
+[MtxOrb]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Set the display type [default: lcd; legal: lcd, lkd, vfd, vkd]
+Type=lkd
+
+# Set the initial contrast [default: 480]
+# NOTE: The driver will ignore this if the display
+# is a vfd or vkd as they don't have this feature
+Contrast=480
+
+# Some old displays do not have an adjustable backlight but only can
+# switch the backlight on/off. If you experience randomly appearing block
+# characters, try setting this to false. [default: yes; legal: yes, no]
+hasAdjustableBacklight=no
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# The following table translates from MtxOrb key letters to logical key names.
+# By default no keys are mapped, meaning the keypad is not used at all.
+#KeyMap_A=Left
+#KeyMap_B=Right
+#KeyMap_C=Up
+#KeyMap_D=Down
+#KeyMap_E=Enter
+#KeyMap_F=Escape
+# See the [menu] section for an explanation of the key mappings
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## mx5000 driver for LCD display on the Logitech MX5000 keyboard ##
+[mx5000]
+
+# Select the output device to use [default: /dev/hiddev0]
+Device = /dev/hiddev0
+# Time to wait in ms after the refresh screen has been sent [default: 1000]
+WaitAfterRefresh = 1000
+
+
+
+## Noritake VFD driver ##
+[NoritakeVFD]
+# device where the VFD is. Usual values are /dev/ttyS0 and /dev/ttyS1
+# [default: /dev/lcd]
+Device=/dev/ttyS0
+# Specifies the size of the LCD.
+Size=20x4
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+# set the serial port speed [default: 9600, legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+# Set serial data parity [default: 0; legal: 0-2 ]
+# Meaning: 0(=none), 1(=odd), 2(=even)
+Parity=0
+# re-initialize the VFD [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Mini-box.com picoLCD (usblcd) driver ##
+[picolcd]
+
+# KeyTimeout is only used if the picoLCD driver is built with libusb-0.1. When
+# built with libusb-1.0 key and IR data is input asynchronously so there is no
+# need to wait for the USB data.
+# KeyTimeout is the time in ms that LCDd spends waiting for a key press before
+# cycling through other duties. Higher values make LCDd use less CPU time and
+# make key presses more detectable. Lower values make LCDd more responsive
+# but a little prone to missing key presses. 500 (.5 second) is the default
+# and a balanced value. [default: 500; legal: 0 - 1000]
+KeyTimeout=500
+
+# Key auto repeat is only available if the picoLCD driver is built with
+# libusb-1.0. Use KeyRepeatDelay and KeyRepeatInterval to configure key auto
+# repeat.
+#
+# Key auto repeat delay (time in ms from first key report to first repeat). Use
+# zero to disable auto repeat. [default: 300; legal: 0 - 3000]
+KeyRepeatDelay=300
+
+# Key auto repeat interval (time in ms between repeat reports). Only used if
+# KeyRepeatDelay is not zero. [default: 200; legal: 0 - 3000]
+KeyRepeatInterval=200
+
+# Sets the initial state of the backlight upon start-up.
+# [default: on; legal: on, off]
+#Backlight=on
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]. Works only
+# with the 20x4 device
+Brightness=1000
+
+# Set the brightness while the backlight is 'off' [default: 0; legal: 0 - 1000].
+# Works only with the 20x4 device.
+#OffBrightness=0
+
+# Set the initial contrast [default: 1000; legal: 0 - 1000]
+Contrast=1000
+
+# Link the key lights to the backlight? [default: on; legal: on, off]
+#LinkLights=off
+
+# Light the keys? [default: on; legal: on, off]
+Keylights=on
+
+# If Keylights is on, the you can unlight specific keys below:
+# Key0 is the directional pad. Key1 - Key5 correspond to the F1 - F5 keys.
+# There is no LED for the +/- keys. This is a handy way to indicate to users
+# which keys are disabled. [default: on; legal: on, off]
+Key0Light=on
+Key1Light=on
+Key2Light=on
+Key3Light=on
+Key4Light=on
+Key5Light=on
+
+# Host name or IP address of the LIRC instance that is to receive IR codes
+# If not set, or set to an empty value, IR support is disabled.
+#LircHost=127.0.0.1
+
+# UDP port on which LIRC is listening [default: 8765; legal: 1 - 65535]
+LircPort=8765
+
+# Threshold in jiffies of synthesized gap that triggers flushing the IR data
+# to lirc [default: 100 ; max: 32767 ]
+# 100 means 6.1ms. legal: 16 - 32767; Use 0 to disable.
+LircFlushThreshold=100
+
+
+
+## Pyramid LCD driver ##
+[pyramid]
+
+# device to connect to [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+
+
+## SDEC driver for Watchguard Firebox ##
+[sdeclcd]
+# No options
+
+
+
+## Seiko Epson 1330 driver ##
+[sed1330]
+
+# Port where the LPT is. Common values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Type of LCD module (legal: G321D, G121C, G242C, G191D, G2446, SP14Q002)
+# Note: Currently only tested with G321D & SP14Q002.
+Type=G321D
+
+# Width x Height of a character cell in pixels [legal: 6x7 - 8x16; default: 6x10]
+CellSize=6x10
+
+# Select what type of connection [legal: classic, bitshaker; default: classic]
+ConnectionType=classic
+
+
+
+## Seiko Epson 1520 driver ##
+[sed1520]
+
+# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Select the interface type (wiring) for the display. Supported values are
+# 68 for 68-style connection (RESET level high) and 80 for 80-style connection
+# (RESET level low). [legal: 68, 80; default: 80]
+InterfaceType=80
+
+# On fast machines it may be necessary to slow down transfer to the display.
+# If this value is set to zero, delay is disabled. Any value greater than
+# zero slows down each write by one microsecond. [legal: 0-1000; default: 1]
+DelayMult=0
+
+# The original wiring used an inverter to drive the control lines. If you do
+# not use an inverter set haveInverter to no. [default: yes; legal: yes, no]
+haveInverter=no
+
+
+
+## serial POS display driver ##
+[serialPOS]
+
+# Device to use in serial mode [default: /dev/lcd]
+Device=/dev/lcd
+
+# Specifies the size of the display in characters. [default: 16x2]
+Size=16x2
+
+# Set the communication protocol to use with the POS display.
+# [default: AEDEX; legal: IEE, Epson, Emax, IBM, LogicControls, Ultimate]
+Type=AEDEX
+
+# communication baud rate with the display [default: 9600; legal: 1200, 2400,
+# 19200, 115200]
+Speed=9600
+
+
+
+## Serial VFD driver ##
+## Drives various (see below) serial 5x7dot VFD's. ##
+[serialVFD]
+
+# Specifies the displaytype.[default: 0]
+# 0 NEC (FIPC8367 based) VFDs.
+# 1 KD Rev 2.1.
+# 2 Noritake VFDs (*).
+# 3 Futaba VFDs
+# 4 IEE S03601-95B
+# 5 IEE S03601-96-080 (*)
+# 6 Futaba NA202SD08FA (allmost IEE compatible)
+# 7 Samsung 20S207DA4 and 20S207DA6
+# 8 Nixdorf BA6x / VT100
+# (* most should work, not tested yet.)
+Type=0
+
+# "no" if display connected serial, "yes" if connected parallel. [default: no]
+# I.e. serial by default
+use_parallel=no
+
+# Number of Custom-Characters. default is display type dependent
+#Custom-Characters=0
+
+# Portaddress where the LPT is. Used in parallel mode only. Usual values are
+# 0x278, 0x378 and 0x3BC.
+Port=0x378
+
+# Set parallel port timing delay (us). Used in parallel mode only.
+# [default: 2; legal: 0 - 255]
+#PortWait=2
+
+# Device to use in serial mode. Usual values are /dev/ttyS0 and /dev/ttyS1
+Device=/dev/ttyS1
+
+# Specifies the size of the VFD.
+Size=20x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+OffBrightness=0
+
+# set the serial port speed [default: 9600; legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+
+# enable ISO 8859 1 compatibility [default: yes; legal: yes, no]
+#ISO_8859_1=yes
+
+
+
+## shuttleVFD driver ##
+[shuttleVFD]
+# No options
+
+
+
+## stv5730 driver ##
+[stv5730]
+
+# Port the device is connected to [default: 0x378]
+Port=0x378
+
+
+[SureElec]
+
+# Port the device is connected to (by default first USB serial port)
+Device=/dev/ttyUSB0
+
+# Edition level of the device (can be 1, 2 or 3) [default: 2]
+#Edition=1
+
+# set display size
+# Note: The size can be obtained directly from device for edition 2 & 3.
+#Size=16x2
+
+# Set the initial contrast [default: 480; legal: 0 - 1000]
+#Contrast=200
+
+# Set the initial brightness [default: 480; legal: 1 - 1000]
+#Brightness=480
+
+# Set the initial off-brightness [default: 100; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+#OffBrightness=100
+
+
+## SVGAlib driver ##
+[svga]
+
+# svgalib mode to use [default: G320x240x256 ]
+# legal values are supported svgalib modes
+#Mode=G640x480x256
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Set the initial contrast [default: 500; legal: 0 - 1000]
+# Can be set but does not change anything internally
+Contrast=500
+
+# Set the initial brightness [default: 1000; legal: 1 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 500; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=500
+
+
+
+## Text driver ##
+[text]
+# Set the display size [default: 20x4]
+Size=20x4
+
+
+
+## Toshiba T6963 driver ##
+[t6963]
+
+# set display size in pixels [default: 128x64]
+Size=128x64
+
+# port to use [default: 0x378; legal: 0x200 - 0x400]
+Port=0x378
+
+# Use LPT port in bi-directional mode. This should work on most LPT port and
+# is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# Insert additional delays into reads / writes. [default: no; legal: yes, no]
+#delayBus=no
+
+# Clear graphic memory on start-up. [default: no; legal: yes, no]
+#ClearGraphic=no
+
+
+
+## Tyan Barebones LCD driver (GS10 & GS12 series) ##
+[tyan]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 4800, 9600]
+Speed=9600
+
+# set display size [default: 16x2]
+Size=16x2
+
+
+
+## ELV ula200 driver ##
+[ula200]
+
+# Select the LCD size [default: 20x4]
+Size=20x4
+
+# If you have a non standard keypad you can associate any keystrings to keys.
+# There are 6 input key in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following it the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+
+
+## Wirz SLI LCD driver ##
+[sli]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200,
+# 38400, 57600, 115200]
+Speed=19200
+
+
+
+## vlsys_m428 for VFD/IR combination in Moneual MonCaso 320 ##
+[vlsys_m428]
+
+# Select the output device to use [default: /dev/ttyUSB0]
+#Device=/dev/ttyUSB0
+
+
+
+## OnScreen Display using libxosd ##
+[xosd]
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Offset in pixels from the top-left corner of the monitor [default: 0x0]
+Offset=200x200
+
+# X font to use, in XLFD format, as given by "xfontsel"
+Font=-*-clean-*-*-*-*-*-160-*-*-*-*-*-*
+# EOF
diff --git a/linhes/linhes-templates/templates/LCD/nmedia/LCDd.conf b/linhes/linhes-templates/templates/LCD/nmedia/LCDd.conf
new file mode 100644
index 0000000..60b28a3
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/nmedia/LCDd.conf
@@ -0,0 +1,1295 @@
+# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
+#
+# This file contains the configuration for the LCDd server.
+#
+# The format is ini-file-like. It is divided into sections that start at
+# markers that look like [section]. Comments are all line-based comments,
+# and are lines that start with '#' or ';'.
+#
+# The server has a 'central' section named [server]. For the menu there is
+# a section called [menu]. Further each driver has a section which
+# defines how the driver acts.
+#
+# The drivers are activated by specifying them in a driver= line in the
+# server section, like:
+#
+# Driver=curses
+#
+# This tells LCDd to use the curses driver.
+# The first driver that is loaded and is capable of output defines the
+# size of the display. The default driver to use is curses.
+# If the driver is specified using the -d <driver> command line option,
+# the Driver= options in the config file are ignored.
+#
+# The drivers read their own options from the respective sections.
+
+
+
+## Server section with all kinds of settings for the LCDd server ##
+[server]
+
+# Where can we find the driver modules ?
+# IMPORTANT: Make sure to change this setting to reflect your
+# specific setup! Otherwise LCDd won't be able to find
+# the driver modules and will thus not be able to
+# function properly.
+# NOTE: Always place a slash as last character !
+DriverPath=/usr/lib/lcdproc/
+
+# Tells the server to load the given drivers. Multiple lines can be given.
+# The name of the driver is case sensitive and determines the section
+# where to look for further configuration options of the specific driver
+# as well as the name of the dynamic driver module to load at runtime.
+# The latter one can be changed by giving a File= directive in the
+# driver specific section.
+#
+# The following drivers are supported:
+# bayrad, CFontz, CFontzPacket, curses, CwLnx, ea65,
+# EyeboxOne, g15, glcd, glcdlib, glk, hd44780, icp_a106, imon, imonlcd,
+# IOWarrior, irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800,
+# mdm166a, ms6931, mtc_s16209x, MtxOrb, mx5000, NoritakeVFD, picolcd,
+# pyramid, sdeclcd, sed1330, sed1520, serialPOS, serialVFD, shuttleVFD, sli,
+# stv5730, svga, t6963, text, tyan, ula200, vlsys_m428, xosd
+Driver=lis
+
+# Tells the driver to bind to the given interface
+Bind=127.0.0.1
+
+# Listen on this specified port; defaults to 13666.
+Port=13666
+
+# Sets the reporting level; defaults to 2 (warnings and errors only).
+#ReportLevel=3
+
+# Should we report to syslog instead of stderr ? [default: no; legal: yes, no]
+#ReportToSyslog=yes
+
+# User to run as. LCDd will drop its root privileges, if any,
+# and run as this user instead.
+User=nobody
+
+# The server will stay in the foreground if set to true.
+#Foreground=no
+
+# Hello message: each entry represents a display line; default: builtin
+Hello="LinHES"
+#Hello=" Welcome to"
+#Hello=" LCDproc!"
+
+# GoodBye message: each entry represents a display line; default: builtin
+GoodBye=""
+#GoodBye="Thanks for using"
+#GoodBye=" LCDproc!"
+
+# Sets the default time in seconds to displays a screen.
+WaitTime=10
+
+# If set to no, LCDd will start with screen rotation disabled. This has the
+# same effect as if the ToggleRotateKey had been pressed. Rotation will start
+# if the ToggleRotateKey is pressed. Note that this setting does not turn off
+# priority sorting of screens. [default: on; legal: on, off]
+#AutoRotate=no
+
+# If yes, the the serverscreen will be rotated as a usual info screen. If no,
+# it will be a background screen, only visible when no other screens are
+# active. The special value 'blank' is similar to no, but only a blank screen
+# is displayed. [default: on; legal: on, off, blank]
+ServerScreen=blank
+
+# Set master backlight setting. If set to 'open' a client may control the
+# backlight for its own screens (only). [default: open; legal: off, open, on]
+#Backlight=open
+
+# Set master heartbeat setting. If set to 'open' a client may control the
+# heartbeat for its own screens (only). [default: open; legal: off, open, on]
+#Heartbeat=open
+
+# set title scrolling speed [default: 10; legal: 0-10]
+#TitleSpeed=10
+
+# The "...Key=" lines define what the server does with keypresses that
+# don't go to any client. The ToggleRotateKey stops rotation of screens, while
+# the PrevScreenKey and NextScreenKey go back / forward one screen (even if
+# rotation is disabled.
+# Assign the key string returned by the driver to the ...Key setting. These
+# are the defaults:
+ToggleRotateKey=Enter
+PrevScreenKey=Left
+NextScreenKey=Right
+#ScrollUpKey=Up
+#ScrollDownKey=Down
+
+
+## The menu section. The menu is an internal LCDproc client. ##
+[menu]
+# You can configure what keys the menu should use. Note that the MenuKey
+# will be reserved exclusively, the others work in shared mode.
+
+# Up to six keys are supported. The MenuKey (to enter and exit the menu), the
+# EnterKey (to select values) and at least one movement keys are required.
+# These are the default key assignments:
+MenuKey=Escape
+EnterKey=Enter
+UpKey=Up
+DownKey=Down
+#LeftKey=Left
+#RightKey=Right
+
+
+### Driver sections are below this line, in alphabetical order ###
+
+
+## EMAC BayRAD driver ##
+[bayrad]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200]
+Speed=9600
+
+
+
+## CrystalFontz driver (for CF632 & CF634) ##
+[CFontz]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+# Select the LCD size [default: 20x4]
+Size=20x4
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200,
+# 115200]
+Speed=9600
+# Set the firmware version (New means >= 2.0) [default: no; legal: yes, no]
+NewFirmware=no
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+
+
+## CrystalFontz packet driver (for CFA533, CFA631, CFA633 & CFA635) ##
+[CFontzPacket]
+
+# Select the LCD model [default: 633; legal: 533, 631, 633, 635]
+Model=633
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+# Reinitialize the LCD's BIOS on driver start. [default: no; legal: yes, no]
+Reboot=yes
+
+# Enable the USB flag if the device is connected to an USB port. For
+# serial ports leave it disabled. [default: no; legal: yes, no]
+#USB=yes
+
+# Very old 633 firmware versions do not support partial screen updates using
+# 'Send Data to LCD' command (31). For those devices it may be necessary to
+# enable this flag. [default: no; legal: yes, no]
+#OldFirmware=yes
+
+# Override the LCD size known for the selected model. Usually setting this
+# value should not be necessary.
+#Size=20x4
+
+# Override the default communication speed known for the selected model.
+# Default value depends on model [legal: 19200, 115200]
+#Speed=115200
+
+
+
+## Curses driver ##
+[curses]
+
+# color settings
+# foreground color [default: blue]
+Foreground=blue
+# background color when "backlight" is off [default: cyan]
+Background=cyan
+# background color when "backlight" is on [default: red]
+Backlight=red
+
+# display size [default: 20x4]
+Size=20x4
+
+# What position (X,Y) to start the left top corner at...
+# Default: (7,7)
+TopLeftX=7
+TopLeftY=7
+
+# use ASC symbols for icons & bars [default: no; legal: yes, no]
+UseACS=no
+
+# draw Border [default: yes; legal: yes, no]
+DrawBorder=yes
+
+
+
+## Cwlinux driver ##
+[CwLnx]
+
+# Select the LCD model [default: 12232; legal: 12232, 12832, 1602]
+Model=12232
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Select the LCD size. Default depends on model:
+# 12232: 20x4
+# 12832: 21x4
+# 1602: 16x2
+Size=20x4
+
+# Set the communication speed [default: 19200; legal: 9600, 19200]
+Speed=19200
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+# If you have a keypad connected. Keypad layout is currently not
+# configureable from the config file.
+Keypad=yes
+
+# If you have a non-standard keypad you can associate any keystrings to keys.
+# There are 6 input keys in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following is the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+# keypad_test_mode permits one to test keypad assignment
+# Default value is no
+#keypad_test_mode=yes
+
+
+
+## ea65 driver for the display in AOpen XC Cube AV EA65 media barebones ##
+[ea65]
+
+# Device is fixed /dev/ttyS1
+# Width and Height are fixed 9x1
+
+# As the VFD is self luminescent we don't have a backlight
+# But we can use the backlight functions to control the front LEDs
+# Brightness 0 to 299 -> LEDs off
+# Brightness 300 to 699 -> LEDs half bright
+# Brightness 700 to 1000 -> LEDs full bright
+Brightness=500
+# OffBrightness is the the value used for the 'backlight off' state
+OffBrightness=0
+
+
+
+## EyeboxOne driver ##
+[EyeboxOne]
+
+# Select the output device to use [default: /dev/ttyS1]
+#Device=/dev/cua01
+Device=/dev/ttyS1
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Switch on the backlight? [default: yes]
+Backlight=yes
+
+# Switch on the cursor? [default: no]
+Cursor=no
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# Enter Key is a \r character, so it's hardcoded in the driver
+LeftKey=D
+RightKey=C
+UpKey=A
+DownKey=B
+EscapeKey=P
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## g15 driver for Logitech G15 Keyboard LCDs ##
+[g15]
+
+# Display size (currently unused)
+size=20x5
+
+
+
+## glcd generic graphical display driver
+[glcd]
+# Select what type of connection. See documentation for types.
+ConnectionType=t6963
+
+# Width and height of the display in pixel. The supported sizes may depend on
+# the ConnectionType. [default: 128x64; legal: 1x1 - 640x480]
+#Size=128x64
+
+# Width and height of a character cell in pixels. This value is only used if
+# the driver has been compiled with FreeType and it is enabled. Otherwise the
+# default 6x8 cell is used.
+#CellSize=12x16
+
+# If LCDproc has been compiled with FreeType 2 support this option can be used
+# to turn if off intentionally. [default: yes; legal: yes, no]
+#useFT2=no
+
+# Path to font file to use for FreeType rendering. This font must be monospace
+# and should contain some special Unicode characters like arrows (Andale Mono
+# is recommended and can be fetched at http://corefonts.sf.net).
+#normal_font=/usr/local/lib/X11/fonts/TTF/andalemo.ttf
+
+# Some fonts miss the Unicode characters used to represent icons. In this case
+# the built-in 5x8 font can used if this option is turned off. [default: yes;
+# legal: yes, no]
+#fontHasIcons=no
+
+# Set the initial contrast if supported by connection type.
+# [default: 600; legal: 0 - 1000]
+#Contrast=600
+
+# Set brightness of the backlight if the backlight is switched 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# Set brightness of the backlight if the backlight is switched 'off'. Set this
+# to zero to completely turn off the backlight. [default: 100; legal: 0 - 1000]
+#OffBrightness=0
+
+# Time (ms) from first key report to first repeat. Set to 0 to disable repeated
+# key reports. [default: 500; legal: 0 - 3000]
+#KeyRepeatDelay=500
+
+# Time (ms) between repeated key reports. Ignored if KeyRepeatDelay is disabled
+# (set to zero). [default: 300; legal: 0 - 3000]
+#KeyRepeatInterval=300
+
+# Assign key strings to keys. There may be up to 16 keys numbered 'A' to 'Z'.
+# By default keys 'A' to 'F' are assigned Up, Down, Left, Right, Enter, Escape.
+KeyMap_A=Up
+KeyMap_B=Down
+KeyMap_C=Enter
+KeyMap_D=Escape
+
+# t6963: Parallel port to use [default: 0x378; legal: 0x200 - 0x400]
+#Port=0x378
+
+# t6963: Use LPT port in bi-directional mode. This should work on most LPT port
+# and is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# t6963: Insert additional delays into reads / writes. [default: no;
+# legal: yes, no]
+#delayBus=no
+
+# serdisplib: Name of the underlying serdisplib driver, e.g. ctinclud. See
+# serdisplib documentation for details.
+serdisp_name=t6963
+
+# serdisplib: The display device to use, e.g. serraw:/dev/ttyS0,
+# parport:/dev/parport0 or USB:07c0/1501.
+serdisp_device=/dev/ppi0
+
+# serdisplib: Options string to pass to serdisplib during initialization. Use
+# this to set any display related options (e.g. wiring). The display size is
+# always set based on the Size configured above! By default, no options are
+# set.
+# Important: The value must be quoted as it contains equal signs!
+#serdisp_options="INVERT=1"
+
+
+
+## glcdlib meta driver for graphical LCDs ##
+[glcdlib]
+
+## mandatory:
+
+# which graphical display supported by graphlcd-base to use [default: image]
+# (see /etc/graphlcd.conf for possible drivers)
+Driver=noritake800
+
+# no=use graphlcd bitmap fonts (they have only one size / font file)
+# yes=use fonts supported by FreeType2 (needs Freetype2 support in
+# libglcdprocdriver and its dependants)
+UseFT2=yes
+
+# text resolution in fixed width characters [default: 16x4]
+# (if it won't fit according to available physical pixel resolution
+# and the minimum available font face size in pixels, then
+# 'DebugBorder' will automatically be turned on)
+TextResolution=20x4
+
+# path to font file to use
+FontFile=/usr/share/fonts/corefonts/courbd.ttf
+
+## these only apply if UseFT2=yes:
+
+# character encoding to use
+CharEncoding=iso8859-2
+
+# minimum size in pixels in which fonts should be rendered
+MinFontFaceSize=7x12
+
+## optional:
+Brightness=50 # Brightness (in %) if applicable
+Contrast=50 # Contrast (in %) if applicable
+Backlight=no # Backlight if applicable
+UpsideDown=no # flip image upside down
+Invert=no # invert light/dark pixels
+ShowDebugFrame=no # turns on/off 1 pixel thick debugging
+ # border within the usable text area,
+ # for setting up TextResolution and
+ # MinFontFaceSize (if using FT2);
+ShowBigBorder=no # border around the unused area
+ShowThinBorder=yes # border around the unused area
+PixelShiftX=0
+PixelShiftY=2
+
+
+
+## Matrix Orbital GLK driver ##
+[glk]
+
+# select the serial device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# set the initial contrast value [default: 560; legal: 0 - 1000]
+Contrast=560
+
+# set the serial port speed [default: 19200; legal: 9600, 19200, 38400]
+Speed=19200
+
+
+
+## Hitachi HD44780 driver ##
+[hd44780]
+
+# Select what type of connection. See documentation for types.
+ConnectionType=4bit
+
+# Port where the LPT is. Usual value are: 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Device of the serial interface [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Bitrate of the serial port (0 for interface default)
+Speed=0
+
+# If you have a keypad connected.
+# You may also need to configure the keypad layout further on in this file.
+Keypad=no
+
+# Set the initial contrast (bwctusb, lcd2usb, and usb4all)
+# [default: 800; legal: 0 - 1000]
+#Contrast=0
+
+# Set brightness of the backlight (lcd2usb and usb4all):
+# Brightness is the brightness while the backlight is set to 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# OffBrightness is the brightness while the backlight is set to 'off'.
+# [default: 300; legal: 0 - 1000]
+#OffBrightness=0
+
+# If you have a switchable backlight.
+Backlight=no
+
+# If you have the additional output port ("bargraph") and you want to
+# be able to control it with the lcdproc OUTPUT command
+OutputPort=no
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+# Specifies the size of the LCD.
+# In case of multiple combined displays, this should be the total size.
+Size=20x4
+
+# For multiple combined displays: how many lines does each display have.
+# Vspan=2,2 means both displays have 2 lines.
+#vspan=2,2
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# In extended mode, on some controllers like the ST7036 (in 3 line mode)
+# the next line in DDRAM won't start 0x20 higher. [default: 0x20]
+#LineAddress=0x10
+
+# Character map to to map ISO-8859-1 to the LCD's character set
+# [default: hd44780_default; legal: hd44780_default, hd44780_euro, ea_ks0073,
+# sed1278f_0b, hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5, upd16314 ]
+# (hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5 and upd16314 are possible if
+# compiled with additional charmaps)
+CharMap=hd44780_default
+
+# If your display is slow and cannot keep up with the flow of data from
+# LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4
+# to increase the delays. Default: 1.
+#DelayMult=2
+
+# Some displays (e.g. vdr-wakeup) need a message from the driver to that it
+# is still alive. When set to a value bigger then null the character in the
+# upper left corner is updated every <KeepAliveDisplay> seconds. Default: 0.
+#KeepAliveDisplay=0
+
+# If you experience occasional garbage on your display you can use this
+# option as workaround. If set to a value bigger than null it forces a
+# full screen refresh <RefreshDiplay> seconds. Default: 0.
+#RefreshDisplay=5
+
+# You can reduce the inserted delays by setting this to false.
+# On fast PCs it is possible your LCD does not respond correctly.
+# Default: true.
+DelayBus=true
+
+# If you have a keypad you can assign keystrings to the keys.
+# See documentation for used terms and how to wire it.
+# For example to give directly connected key 4 the string "Enter", use:
+# KeyDirect_4=Enter
+# For matrix keys use the X and Y coordinates of the key:
+# KeyMatrix_1_3=Enter
+KeyMatrix_4_1=Enter
+KeyMatrix_4_2=Up
+KeyMatrix_4_3=Down
+KeyMatrix_4_4=Escape
+
+
+
+## ICP A106 driver ##
+[icp_a106]
+Device=/dev/ttyS1
+
+
+
+## Code Mercenaries IO-Warrior driver ##
+[IOWarrior]
+
+# display dimensions
+Size=20x4
+
+# serial number. Must be exactly as listed by usbview
+# (if not given, the 1st IOWarrior found gets used)
+#SerialNumber=00000674
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+## Soundgraph/Ahanix/Silverstone/Uneed/Accent iMON driver ##
+[imon]
+
+# select the device to use
+Device=/dev/lcd0
+
+# display dimensions
+Size=16x2
+
+# Character map to to map ISO-8859-1 to the displays character set.
+# [default: none; legal: none, hd44780_euro, upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 ] (upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 are possible if compiled with additional
+# charmaps)
+CharMap=hd44780_euro
+
+## Soundgraph iMON LCD ##
+[imonlcd]
+# Specify which iMon protocol should be used
+# [legal: 0, 1; default: 0]
+# Choose 0 for 15c2:ffdc device,
+# Choose 1 for 15c2:0038 device
+Protocol=0
+
+# Set the exit behavior [legal: 0-2; default: 1]
+# 0 means leave shutdown message,
+# 1 means show the big clock,
+# 2 means blank device
+#OnExit=2
+
+# Select the output device to use [default: /dev/lcd0]
+Device=/dev/lcd0
+
+# Select the displays contrast [default: 200; legal: 0-1000]
+Contrast=200
+
+# Specify the size of the display in pixels [default: 96x16]
+#Size=96x16
+
+# Set the backlight state [default: on; legal: on, off]
+#Backlight=on
+
+# Set the disc mode [legal: 0,1; default: 0]
+# 0 => spin the "slim" disc - two disc segments,
+# 1 => their complement spinning;
+#DiscMode=0
+
+
+
+## IrMan driver ##
+[IrMan]
+# in case of trouble with IrMan, try the Lirc emulator for IrMan
+
+# Select the input device to use
+#Device=/dev/irman
+
+# Select the configuration file to use
+#Config=/etc/irman.cfg
+
+
+
+## IRtrans driver ##
+[irtrans]
+
+# Does the device have a backlight? [default: no; legal: yes, no]
+#Backlight=no
+
+# IRTrans device to connect to [default: localhost]
+#Hostname=localhost
+
+# display dimensions
+Size=16x2
+
+
+
+## Joystick driver ##
+[joy]
+
+# Select the input device to use [default: /dev/js0]
+Device=/dev/js0
+
+# set the axis map
+Map_Axis1neg=Left
+Map_Axis1pos=Right
+Map_Axis2neg=Up
+Map_Axis2pos=Down
+
+# set the button map
+Map_Button1=Enter
+Map_Button2=Escape
+
+
+
+## LB216 driver ##
+[lb216]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Set the communication speed [default: 9600; legal: 2400, 9600]
+Speed=9600
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## LCDM001 driver ##
+[lcdm001]
+
+Device=/dev/ttyS1
+
+# keypad settings
+# Keyname Function
+# Normal context Menu context
+# ------- -------------- ------------
+# PauseKey Pause/Continue Enter/select
+# BackKey Back(Go to previous screen) Up/Left
+# ForwardKey Forward(Go to next screen) Down/Right
+# MainMenuKey Open main menu Exit/Cancel
+PauseKey=LeftKey
+BackKey=UpKey
+ForwardKey=DownKey
+MainMenuKey=RightKey
+
+# You can rearrange the settings here.
+# If your device is broken, have a look at /usr/lib/lcdproc/lcdm001.h
+
+
+
+## HNE LCTerm driver ##
+[lcterm]
+Device=/dev/ttyS1
+Size=16x2
+
+
+
+## LIRC input driver ##
+[lirc]
+
+# Specify an alternative location of the lircrc file [default: ~/.lircrc]
+#lircrc=/etc/lircrc.lcdproc
+
+# Must be the same as in your lircrc
+#prog=lcdd
+
+
+
+## LIS MCE 2005 driver ##
+[lis]
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# 0-250 = 25%, 251-500 = 50%, 501-750 = 75%, 751-1000 = 100%
+#Brightness=1000
+
+# Columns by lines [default: 20x2]
+#Size=20x2
+
+# USB Vendor ID [default: 0x0403]
+# Change only if testing a compatible device.
+#VendorID=0x0403
+
+# USB Product ID [default: 0x6001]
+# Change only if testing a compatible device.
+#ProductID=0x6001
+
+# Specifies if the last line is pixel addressable (yes) or it only controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+##The driver for the VFD of the Medion MD8800 PC ##
+[MD8800]
+# device to use [default: /dev/ttyS1]
+#Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+
+
+## Futuba MDM166A Display
+[mdm166a]
+# Show self-running clock after LCDd shutdown
+# Possible values: [default: no; legal: no, small, big]
+Clock=big
+# Dim display, no dimming gives full brightness [default: no, legal: yes, no]
+Dimming=no
+# Dim display in case LCDd is inactive [default: no, legal: yes, no]
+OffDimming=yes
+
+
+
+## MSI MS-6931 driver for displays in 1HU servers ##
+[ms6931]
+
+# device to use [default: /dev/ttyS1]
+Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+
+
+## MTC-S16209x driver ##
+[mtc_s16209x]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Matrix Orbital driver ##
+[MtxOrb]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Set the display type [default: lcd; legal: lcd, lkd, vfd, vkd]
+Type=lkd
+
+# Set the initial contrast [default: 480]
+# NOTE: The driver will ignore this if the display
+# is a vfd or vkd as they don't have this feature
+Contrast=480
+
+# Some old displays do not have an adjustable backlight but only can
+# switch the backlight on/off. If you experience randomly appearing block
+# characters, try setting this to false. [default: yes; legal: yes, no]
+hasAdjustableBacklight=no
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# The following table translates from MtxOrb key letters to logical key names.
+# By default no keys are mapped, meaning the keypad is not used at all.
+#KeyMap_A=Left
+#KeyMap_B=Right
+#KeyMap_C=Up
+#KeyMap_D=Down
+#KeyMap_E=Enter
+#KeyMap_F=Escape
+# See the [menu] section for an explanation of the key mappings
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## mx5000 driver for LCD display on the Logitech MX5000 keyboard ##
+[mx5000]
+
+# Select the output device to use [default: /dev/hiddev0]
+Device = /dev/hiddev0
+# Time to wait in ms after the refresh screen has been sent [default: 1000]
+WaitAfterRefresh = 1000
+
+
+
+## Noritake VFD driver ##
+[NoritakeVFD]
+# device where the VFD is. Usual values are /dev/ttyS0 and /dev/ttyS1
+# [default: /dev/lcd]
+Device=/dev/ttyS0
+# Specifies the size of the LCD.
+Size=20x4
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+# set the serial port speed [default: 9600, legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+# Set serial data parity [default: 0; legal: 0-2 ]
+# Meaning: 0(=none), 1(=odd), 2(=even)
+Parity=0
+# re-initialize the VFD [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Mini-box.com picoLCD (usblcd) driver ##
+[picolcd]
+
+# KeyTimeout is only used if the picoLCD driver is built with libusb-0.1. When
+# built with libusb-1.0 key and IR data is input asynchronously so there is no
+# need to wait for the USB data.
+# KeyTimeout is the time in ms that LCDd spends waiting for a key press before
+# cycling through other duties. Higher values make LCDd use less CPU time and
+# make key presses more detectable. Lower values make LCDd more responsive
+# but a little prone to missing key presses. 500 (.5 second) is the default
+# and a balanced value. [default: 500; legal: 0 - 1000]
+KeyTimeout=500
+
+# Key auto repeat is only available if the picoLCD driver is built with
+# libusb-1.0. Use KeyRepeatDelay and KeyRepeatInterval to configure key auto
+# repeat.
+#
+# Key auto repeat delay (time in ms from first key report to first repeat). Use
+# zero to disable auto repeat. [default: 300; legal: 0 - 3000]
+KeyRepeatDelay=300
+
+# Key auto repeat interval (time in ms between repeat reports). Only used if
+# KeyRepeatDelay is not zero. [default: 200; legal: 0 - 3000]
+KeyRepeatInterval=200
+
+# Sets the initial state of the backlight upon start-up.
+# [default: on; legal: on, off]
+#Backlight=on
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]. Works only
+# with the 20x4 device
+Brightness=1000
+
+# Set the brightness while the backlight is 'off' [default: 0; legal: 0 - 1000].
+# Works only with the 20x4 device.
+#OffBrightness=0
+
+# Set the initial contrast [default: 1000; legal: 0 - 1000]
+Contrast=1000
+
+# Link the key lights to the backlight? [default: on; legal: on, off]
+#LinkLights=off
+
+# Light the keys? [default: on; legal: on, off]
+Keylights=on
+
+# If Keylights is on, the you can unlight specific keys below:
+# Key0 is the directional pad. Key1 - Key5 correspond to the F1 - F5 keys.
+# There is no LED for the +/- keys. This is a handy way to indicate to users
+# which keys are disabled. [default: on; legal: on, off]
+Key0Light=on
+Key1Light=on
+Key2Light=on
+Key3Light=on
+Key4Light=on
+Key5Light=on
+
+# Host name or IP address of the LIRC instance that is to receive IR codes
+# If not set, or set to an empty value, IR support is disabled.
+#LircHost=127.0.0.1
+
+# UDP port on which LIRC is listening [default: 8765; legal: 1 - 65535]
+LircPort=8765
+
+# Threshold in jiffies of synthesized gap that triggers flushing the IR data
+# to lirc [default: 100 ; max: 32767 ]
+# 100 means 6.1ms. legal: 16 - 32767; Use 0 to disable.
+LircFlushThreshold=100
+
+
+
+## Pyramid LCD driver ##
+[pyramid]
+
+# device to connect to [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+
+
+## SDEC driver for Watchguard Firebox ##
+[sdeclcd]
+# No options
+
+
+
+## Seiko Epson 1330 driver ##
+[sed1330]
+
+# Port where the LPT is. Common values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Type of LCD module (legal: G321D, G121C, G242C, G191D, G2446, SP14Q002)
+# Note: Currently only tested with G321D & SP14Q002.
+Type=G321D
+
+# Width x Height of a character cell in pixels [legal: 6x7 - 8x16; default: 6x10]
+CellSize=6x10
+
+# Select what type of connection [legal: classic, bitshaker; default: classic]
+ConnectionType=classic
+
+
+
+## Seiko Epson 1520 driver ##
+[sed1520]
+
+# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Select the interface type (wiring) for the display. Supported values are
+# 68 for 68-style connection (RESET level high) and 80 for 80-style connection
+# (RESET level low). [legal: 68, 80; default: 80]
+InterfaceType=80
+
+# On fast machines it may be necessary to slow down transfer to the display.
+# If this value is set to zero, delay is disabled. Any value greater than
+# zero slows down each write by one microsecond. [legal: 0-1000; default: 1]
+DelayMult=0
+
+# The original wiring used an inverter to drive the control lines. If you do
+# not use an inverter set haveInverter to no. [default: yes; legal: yes, no]
+haveInverter=no
+
+
+
+## serial POS display driver ##
+[serialPOS]
+
+# Device to use in serial mode [default: /dev/lcd]
+Device=/dev/lcd
+
+# Specifies the size of the display in characters. [default: 16x2]
+Size=16x2
+
+# Set the communication protocol to use with the POS display.
+# [default: AEDEX; legal: IEE, Epson, Emax, IBM, LogicControls, Ultimate]
+Type=AEDEX
+
+# communication baud rate with the display [default: 9600; legal: 1200, 2400,
+# 19200, 115200]
+Speed=9600
+
+
+
+## Serial VFD driver ##
+## Drives various (see below) serial 5x7dot VFD's. ##
+[serialVFD]
+
+# Specifies the displaytype.[default: 0]
+# 0 NEC (FIPC8367 based) VFDs.
+# 1 KD Rev 2.1.
+# 2 Noritake VFDs (*).
+# 3 Futaba VFDs
+# 4 IEE S03601-95B
+# 5 IEE S03601-96-080 (*)
+# 6 Futaba NA202SD08FA (allmost IEE compatible)
+# 7 Samsung 20S207DA4 and 20S207DA6
+# 8 Nixdorf BA6x / VT100
+# (* most should work, not tested yet.)
+Type=0
+
+# "no" if display connected serial, "yes" if connected parallel. [default: no]
+# I.e. serial by default
+use_parallel=no
+
+# Number of Custom-Characters. default is display type dependent
+#Custom-Characters=0
+
+# Portaddress where the LPT is. Used in parallel mode only. Usual values are
+# 0x278, 0x378 and 0x3BC.
+Port=0x378
+
+# Set parallel port timing delay (us). Used in parallel mode only.
+# [default: 2; legal: 0 - 255]
+#PortWait=2
+
+# Device to use in serial mode. Usual values are /dev/ttyS0 and /dev/ttyS1
+Device=/dev/ttyS1
+
+# Specifies the size of the VFD.
+Size=20x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+OffBrightness=0
+
+# set the serial port speed [default: 9600; legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+
+# enable ISO 8859 1 compatibility [default: yes; legal: yes, no]
+#ISO_8859_1=yes
+
+
+
+## shuttleVFD driver ##
+[shuttleVFD]
+# No options
+
+
+
+## stv5730 driver ##
+[stv5730]
+
+# Port the device is connected to [default: 0x378]
+Port=0x378
+
+
+[SureElec]
+
+# Port the device is connected to (by default first USB serial port)
+Device=/dev/ttyUSB0
+
+# Edition level of the device (can be 1, 2 or 3) [default: 2]
+#Edition=1
+
+# set display size
+# Note: The size can be obtained directly from device for edition 2 & 3.
+#Size=16x2
+
+# Set the initial contrast [default: 480; legal: 0 - 1000]
+#Contrast=200
+
+# Set the initial brightness [default: 480; legal: 1 - 1000]
+#Brightness=480
+
+# Set the initial off-brightness [default: 100; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+#OffBrightness=100
+
+
+## SVGAlib driver ##
+[svga]
+
+# svgalib mode to use [default: G320x240x256 ]
+# legal values are supported svgalib modes
+#Mode=G640x480x256
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Set the initial contrast [default: 500; legal: 0 - 1000]
+# Can be set but does not change anything internally
+Contrast=500
+
+# Set the initial brightness [default: 1000; legal: 1 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 500; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=500
+
+
+
+## Text driver ##
+[text]
+# Set the display size [default: 20x4]
+Size=20x4
+
+
+
+## Toshiba T6963 driver ##
+[t6963]
+
+# set display size in pixels [default: 128x64]
+Size=128x64
+
+# port to use [default: 0x378; legal: 0x200 - 0x400]
+Port=0x378
+
+# Use LPT port in bi-directional mode. This should work on most LPT port and
+# is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# Insert additional delays into reads / writes. [default: no; legal: yes, no]
+#delayBus=no
+
+# Clear graphic memory on start-up. [default: no; legal: yes, no]
+#ClearGraphic=no
+
+
+
+## Tyan Barebones LCD driver (GS10 & GS12 series) ##
+[tyan]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 4800, 9600]
+Speed=9600
+
+# set display size [default: 16x2]
+Size=16x2
+
+
+
+## ELV ula200 driver ##
+[ula200]
+
+# Select the LCD size [default: 20x4]
+Size=20x4
+
+# If you have a non standard keypad you can associate any keystrings to keys.
+# There are 6 input key in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following it the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+
+
+## Wirz SLI LCD driver ##
+[sli]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200,
+# 38400, 57600, 115200]
+Speed=19200
+
+
+
+## vlsys_m428 for VFD/IR combination in Moneual MonCaso 320 ##
+[vlsys_m428]
+
+# Select the output device to use [default: /dev/ttyUSB0]
+#Device=/dev/ttyUSB0
+
+
+
+## OnScreen Display using libxosd ##
+[xosd]
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Offset in pixels from the top-left corner of the monitor [default: 0x0]
+Offset=200x200
+
+# X font to use, in XLFD format, as given by "xfontsel"
+Font=-*-clean-*-*-*-*-*-160-*-*-*-*-*-*
+
+# EOF
diff --git a/linhes/linhes-templates/templates/LCD/xosd/LCDd.conf b/linhes/linhes-templates/templates/LCD/xosd/LCDd.conf
new file mode 100644
index 0000000..5a0b882
--- /dev/null
+++ b/linhes/linhes-templates/templates/LCD/xosd/LCDd.conf
@@ -0,0 +1,1294 @@
+# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
+#
+# This file contains the configuration for the LCDd server.
+#
+# The format is ini-file-like. It is divided into sections that start at
+# markers that look like [section]. Comments are all line-based comments,
+# and are lines that start with '#' or ';'.
+#
+# The server has a 'central' section named [server]. For the menu there is
+# a section called [menu]. Further each driver has a section which
+# defines how the driver acts.
+#
+# The drivers are activated by specifying them in a driver= line in the
+# server section, like:
+#
+# Driver=curses
+#
+# This tells LCDd to use the curses driver.
+# The first driver that is loaded and is capable of output defines the
+# size of the display. The default driver to use is curses.
+# If the driver is specified using the -d <driver> command line option,
+# the Driver= options in the config file are ignored.
+#
+# The drivers read their own options from the respective sections.
+
+
+
+## Server section with all kinds of settings for the LCDd server ##
+[server]
+
+# Where can we find the driver modules ?
+# IMPORTANT: Make sure to change this setting to reflect your
+# specific setup! Otherwise LCDd won't be able to find
+# the driver modules and will thus not be able to
+# function properly.
+# NOTE: Always place a slash as last character !
+DriverPath=/usr/lib/lcdproc/
+
+# Tells the server to load the given drivers. Multiple lines can be given.
+# The name of the driver is case sensitive and determines the section
+# where to look for further configuration options of the specific driver
+# as well as the name of the dynamic driver module to load at runtime.
+# The latter one can be changed by giving a File= directive in the
+# driver specific section.
+#
+# The following drivers are supported:
+# bayrad, CFontz, CFontzPacket, curses, CwLnx, ea65,
+# EyeboxOne, g15, glcd, glcdlib, glk, hd44780, icp_a106, imon, imonlcd,
+# IOWarrior, irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800,
+# mdm166a, ms6931, mtc_s16209x, MtxOrb, mx5000, NoritakeVFD, picolcd,
+# pyramid, sdeclcd, sed1330, sed1520, serialPOS, serialVFD, shuttleVFD, sli,
+# stv5730, svga, t6963, text, tyan, ula200, vlsys_m428, xosd
+Driver=xosd
+
+# Tells the driver to bind to the given interface
+Bind=127.0.0.1
+
+# Listen on this specified port; defaults to 13666.
+Port=13666
+
+# Sets the reporting level; defaults to 2 (warnings and errors only).
+#ReportLevel=3
+
+# Should we report to syslog instead of stderr ? [default: no; legal: yes, no]
+#ReportToSyslog=yes
+
+# User to run as. LCDd will drop its root privileges, if any,
+# and run as this user instead.
+User=nobody
+
+# The server will stay in the foreground if set to true.
+#Foreground=no
+
+# Hello message: each entry represents a display line; default: builtin
+Hello="LinHES"
+#Hello=" Welcome to"
+#Hello=" LCDproc!"
+
+# GoodBye message: each entry represents a display line; default: builtin
+GoodBye=""
+#GoodBye="Thanks for using"
+#GoodBye=" LCDproc!"
+
+# Sets the default time in seconds to displays a screen.
+WaitTime=10
+
+# If set to no, LCDd will start with screen rotation disabled. This has the
+# same effect as if the ToggleRotateKey had been pressed. Rotation will start
+# if the ToggleRotateKey is pressed. Note that this setting does not turn off
+# priority sorting of screens. [default: on; legal: on, off]
+#AutoRotate=no
+
+# If yes, the the serverscreen will be rotated as a usual info screen. If no,
+# it will be a background screen, only visible when no other screens are
+# active. The special value 'blank' is similar to no, but only a blank screen
+# is displayed. [default: on; legal: on, off, blank]
+ServerScreen=blank
+
+# Set master backlight setting. If set to 'open' a client may control the
+# backlight for its own screens (only). [default: open; legal: off, open, on]
+#Backlight=open
+
+# Set master heartbeat setting. If set to 'open' a client may control the
+# heartbeat for its own screens (only). [default: open; legal: off, open, on]
+#Heartbeat=open
+
+# set title scrolling speed [default: 10; legal: 0-10]
+#TitleSpeed=10
+
+# The "...Key=" lines define what the server does with keypresses that
+# don't go to any client. The ToggleRotateKey stops rotation of screens, while
+# the PrevScreenKey and NextScreenKey go back / forward one screen (even if
+# rotation is disabled.
+# Assign the key string returned by the driver to the ...Key setting. These
+# are the defaults:
+ToggleRotateKey=Enter
+PrevScreenKey=Left
+NextScreenKey=Right
+#ScrollUpKey=Up
+#ScrollDownKey=Down
+
+
+## The menu section. The menu is an internal LCDproc client. ##
+[menu]
+# You can configure what keys the menu should use. Note that the MenuKey
+# will be reserved exclusively, the others work in shared mode.
+
+# Up to six keys are supported. The MenuKey (to enter and exit the menu), the
+# EnterKey (to select values) and at least one movement keys are required.
+# These are the default key assignments:
+MenuKey=Escape
+EnterKey=Enter
+UpKey=Up
+DownKey=Down
+#LeftKey=Left
+#RightKey=Right
+
+
+### Driver sections are below this line, in alphabetical order ###
+
+
+## EMAC BayRAD driver ##
+[bayrad]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200]
+Speed=9600
+
+
+
+## CrystalFontz driver (for CF632 & CF634) ##
+[CFontz]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+# Select the LCD size [default: 20x4]
+Size=20x4
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+# Set the communication speed [default: 9600; legal: 1200, 2400, 9600, 19200,
+# 115200]
+Speed=9600
+# Set the firmware version (New means >= 2.0) [default: no; legal: yes, no]
+NewFirmware=no
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+
+
+## CrystalFontz packet driver (for CFA533, CFA631, CFA633 & CFA635) ##
+[CFontzPacket]
+
+# Select the LCD model [default: 633; legal: 533, 631, 633, 635]
+Model=633
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Set the initial contrast [default: 560; legal: 0 - 1000]
+Contrast=350
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+# Reinitialize the LCD's BIOS on driver start. [default: no; legal: yes, no]
+Reboot=yes
+
+# Enable the USB flag if the device is connected to an USB port. For
+# serial ports leave it disabled. [default: no; legal: yes, no]
+#USB=yes
+
+# Very old 633 firmware versions do not support partial screen updates using
+# 'Send Data to LCD' command (31). For those devices it may be necessary to
+# enable this flag. [default: no; legal: yes, no]
+#OldFirmware=yes
+
+# Override the LCD size known for the selected model. Usually setting this
+# value should not be necessary.
+#Size=20x4
+
+# Override the default communication speed known for the selected model.
+# Default value depends on model [legal: 19200, 115200]
+#Speed=115200
+
+
+
+## Curses driver ##
+[curses]
+
+# color settings
+# foreground color [default: blue]
+Foreground=blue
+# background color when "backlight" is off [default: cyan]
+Background=cyan
+# background color when "backlight" is on [default: red]
+Backlight=red
+
+# display size [default: 20x4]
+Size=20x4
+
+# What position (X,Y) to start the left top corner at...
+# Default: (7,7)
+TopLeftX=7
+TopLeftY=7
+
+# use ASC symbols for icons & bars [default: no; legal: yes, no]
+UseACS=no
+
+# draw Border [default: yes; legal: yes, no]
+DrawBorder=yes
+
+
+
+## Cwlinux driver ##
+[CwLnx]
+
+# Select the LCD model [default: 12232; legal: 12232, 12832, 1602]
+Model=12232
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+# Select the LCD size. Default depends on model:
+# 12232: 20x4
+# 12832: 21x4
+# 1602: 16x2
+Size=20x4
+
+# Set the communication speed [default: 19200; legal: 9600, 19200]
+Speed=19200
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+# normally you shouldn't need this
+Reboot=no
+
+# If you have a keypad connected. Keypad layout is currently not
+# configureable from the config file.
+Keypad=yes
+
+# If you have a non-standard keypad you can associate any keystrings to keys.
+# There are 6 input keys in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following is the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+# keypad_test_mode permits one to test keypad assignment
+# Default value is no
+#keypad_test_mode=yes
+
+
+
+## ea65 driver for the display in AOpen XC Cube AV EA65 media barebones ##
+[ea65]
+
+# Device is fixed /dev/ttyS1
+# Width and Height are fixed 9x1
+
+# As the VFD is self luminescent we don't have a backlight
+# But we can use the backlight functions to control the front LEDs
+# Brightness 0 to 299 -> LEDs off
+# Brightness 300 to 699 -> LEDs half bright
+# Brightness 700 to 1000 -> LEDs full bright
+Brightness=500
+# OffBrightness is the the value used for the 'backlight off' state
+OffBrightness=0
+
+
+
+## EyeboxOne driver ##
+[EyeboxOne]
+
+# Select the output device to use [default: /dev/ttyS1]
+#Device=/dev/cua01
+Device=/dev/ttyS1
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Switch on the backlight? [default: yes]
+Backlight=yes
+
+# Switch on the cursor? [default: no]
+Cursor=no
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# Enter Key is a \r character, so it's hardcoded in the driver
+LeftKey=D
+RightKey=C
+UpKey=A
+DownKey=B
+EscapeKey=P
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## g15 driver for Logitech G15 Keyboard LCDs ##
+[g15]
+
+# Display size (currently unused)
+size=20x5
+
+
+
+## glcd generic graphical display driver
+[glcd]
+# Select what type of connection. See documentation for types.
+ConnectionType=t6963
+
+# Width and height of the display in pixel. The supported sizes may depend on
+# the ConnectionType. [default: 128x64; legal: 1x1 - 640x480]
+#Size=128x64
+
+# Width and height of a character cell in pixels. This value is only used if
+# the driver has been compiled with FreeType and it is enabled. Otherwise the
+# default 6x8 cell is used.
+#CellSize=12x16
+
+# If LCDproc has been compiled with FreeType 2 support this option can be used
+# to turn if off intentionally. [default: yes; legal: yes, no]
+#useFT2=no
+
+# Path to font file to use for FreeType rendering. This font must be monospace
+# and should contain some special Unicode characters like arrows (Andale Mono
+# is recommended and can be fetched at http://corefonts.sf.net).
+#normal_font=/usr/local/lib/X11/fonts/TTF/andalemo.ttf
+
+# Some fonts miss the Unicode characters used to represent icons. In this case
+# the built-in 5x8 font can used if this option is turned off. [default: yes;
+# legal: yes, no]
+#fontHasIcons=no
+
+# Set the initial contrast if supported by connection type.
+# [default: 600; legal: 0 - 1000]
+#Contrast=600
+
+# Set brightness of the backlight if the backlight is switched 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# Set brightness of the backlight if the backlight is switched 'off'. Set this
+# to zero to completely turn off the backlight. [default: 100; legal: 0 - 1000]
+#OffBrightness=0
+
+# Time (ms) from first key report to first repeat. Set to 0 to disable repeated
+# key reports. [default: 500; legal: 0 - 3000]
+#KeyRepeatDelay=500
+
+# Time (ms) between repeated key reports. Ignored if KeyRepeatDelay is disabled
+# (set to zero). [default: 300; legal: 0 - 3000]
+#KeyRepeatInterval=300
+
+# Assign key strings to keys. There may be up to 16 keys numbered 'A' to 'Z'.
+# By default keys 'A' to 'F' are assigned Up, Down, Left, Right, Enter, Escape.
+KeyMap_A=Up
+KeyMap_B=Down
+KeyMap_C=Enter
+KeyMap_D=Escape
+
+# t6963: Parallel port to use [default: 0x378; legal: 0x200 - 0x400]
+#Port=0x378
+
+# t6963: Use LPT port in bi-directional mode. This should work on most LPT port
+# and is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# t6963: Insert additional delays into reads / writes. [default: no;
+# legal: yes, no]
+#delayBus=no
+
+# serdisplib: Name of the underlying serdisplib driver, e.g. ctinclud. See
+# serdisplib documentation for details.
+serdisp_name=t6963
+
+# serdisplib: The display device to use, e.g. serraw:/dev/ttyS0,
+# parport:/dev/parport0 or USB:07c0/1501.
+serdisp_device=/dev/ppi0
+
+# serdisplib: Options string to pass to serdisplib during initialization. Use
+# this to set any display related options (e.g. wiring). The display size is
+# always set based on the Size configured above! By default, no options are
+# set.
+# Important: The value must be quoted as it contains equal signs!
+#serdisp_options="INVERT=1"
+
+
+
+## glcdlib meta driver for graphical LCDs ##
+[glcdlib]
+
+## mandatory:
+
+# which graphical display supported by graphlcd-base to use [default: image]
+# (see /etc/graphlcd.conf for possible drivers)
+Driver=noritake800
+
+# no=use graphlcd bitmap fonts (they have only one size / font file)
+# yes=use fonts supported by FreeType2 (needs Freetype2 support in
+# libglcdprocdriver and its dependants)
+UseFT2=yes
+
+# text resolution in fixed width characters [default: 16x4]
+# (if it won't fit according to available physical pixel resolution
+# and the minimum available font face size in pixels, then
+# 'DebugBorder' will automatically be turned on)
+TextResolution=20x4
+
+# path to font file to use
+FontFile=/usr/share/fonts/corefonts/courbd.ttf
+
+## these only apply if UseFT2=yes:
+
+# character encoding to use
+CharEncoding=iso8859-2
+
+# minimum size in pixels in which fonts should be rendered
+MinFontFaceSize=7x12
+
+## optional:
+Brightness=50 # Brightness (in %) if applicable
+Contrast=50 # Contrast (in %) if applicable
+Backlight=no # Backlight if applicable
+UpsideDown=no # flip image upside down
+Invert=no # invert light/dark pixels
+ShowDebugFrame=no # turns on/off 1 pixel thick debugging
+ # border within the usable text area,
+ # for setting up TextResolution and
+ # MinFontFaceSize (if using FT2);
+ShowBigBorder=no # border around the unused area
+ShowThinBorder=yes # border around the unused area
+PixelShiftX=0
+PixelShiftY=2
+
+
+
+## Matrix Orbital GLK driver ##
+[glk]
+
+# select the serial device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# set the initial contrast value [default: 560; legal: 0 - 1000]
+Contrast=560
+
+# set the serial port speed [default: 19200; legal: 9600, 19200, 38400]
+Speed=19200
+
+
+
+## Hitachi HD44780 driver ##
+[hd44780]
+
+# Select what type of connection. See documentation for types.
+ConnectionType=4bit
+
+# Port where the LPT is. Usual value are: 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Device of the serial interface [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Bitrate of the serial port (0 for interface default)
+Speed=0
+
+# If you have a keypad connected.
+# You may also need to configure the keypad layout further on in this file.
+Keypad=no
+
+# Set the initial contrast (bwctusb, lcd2usb, and usb4all)
+# [default: 800; legal: 0 - 1000]
+#Contrast=0
+
+# Set brightness of the backlight (lcd2usb and usb4all):
+# Brightness is the brightness while the backlight is set to 'on'.
+# [default: 800; legal: 0 - 1000]
+#Brightness=1000
+
+# OffBrightness is the brightness while the backlight is set to 'off'.
+# [default: 300; legal: 0 - 1000]
+#OffBrightness=0
+
+# If you have a switchable backlight.
+Backlight=no
+
+# If you have the additional output port ("bargraph") and you want to
+# be able to control it with the lcdproc OUTPUT command
+OutputPort=no
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+# Specifies the size of the LCD.
+# In case of multiple combined displays, this should be the total size.
+Size=20x4
+
+# For multiple combined displays: how many lines does each display have.
+# Vspan=2,2 means both displays have 2 lines.
+#vspan=2,2
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# In extended mode, on some controllers like the ST7036 (in 3 line mode)
+# the next line in DDRAM won't start 0x20 higher. [default: 0x20]
+#LineAddress=0x10
+
+# Character map to to map ISO-8859-1 to the LCD's character set
+# [default: hd44780_default; legal: hd44780_default, hd44780_euro, ea_ks0073,
+# sed1278f_0b, hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5, upd16314 ]
+# (hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5 and upd16314 are possible if
+# compiled with additional charmaps)
+CharMap=hd44780_default
+
+# If your display is slow and cannot keep up with the flow of data from
+# LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4
+# to increase the delays. Default: 1.
+#DelayMult=2
+
+# Some displays (e.g. vdr-wakeup) need a message from the driver to that it
+# is still alive. When set to a value bigger then null the character in the
+# upper left corner is updated every <KeepAliveDisplay> seconds. Default: 0.
+#KeepAliveDisplay=0
+
+# If you experience occasional garbage on your display you can use this
+# option as workaround. If set to a value bigger than null it forces a
+# full screen refresh <RefreshDiplay> seconds. Default: 0.
+#RefreshDisplay=5
+
+# You can reduce the inserted delays by setting this to false.
+# On fast PCs it is possible your LCD does not respond correctly.
+# Default: true.
+DelayBus=true
+
+# If you have a keypad you can assign keystrings to the keys.
+# See documentation for used terms and how to wire it.
+# For example to give directly connected key 4 the string "Enter", use:
+# KeyDirect_4=Enter
+# For matrix keys use the X and Y coordinates of the key:
+# KeyMatrix_1_3=Enter
+KeyMatrix_4_1=Enter
+KeyMatrix_4_2=Up
+KeyMatrix_4_3=Down
+KeyMatrix_4_4=Escape
+
+
+
+## ICP A106 driver ##
+[icp_a106]
+Device=/dev/ttyS1
+
+
+
+## Code Mercenaries IO-Warrior driver ##
+[IOWarrior]
+
+# display dimensions
+Size=20x4
+
+# serial number. Must be exactly as listed by usbview
+# (if not given, the 1st IOWarrior found gets used)
+#SerialNumber=00000674
+
+# If you have an HD66712, a KS0073 or another 'almost HD44780-compatible',
+# set this flag to get into extended mode (4-line linear).
+#ExtendedMode=yes
+
+# Specifies if the last line is pixel addressable (yes) or it controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+## Soundgraph/Ahanix/Silverstone/Uneed/Accent iMON driver ##
+[imon]
+
+# select the device to use
+Device=/dev/lcd0
+
+# display dimensions
+Size=16x2
+
+# Character map to to map ISO-8859-1 to the displays character set.
+# [default: none; legal: none, hd44780_euro, upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 ] (upd16314, hd44780_koi8_r,
+# hd44780_cp1251, hd44780_8859_5 are possible if compiled with additional
+# charmaps)
+CharMap=hd44780_euro
+
+## Soundgraph iMON LCD ##
+[imonlcd]
+# Specify which iMon protocol should be used
+# [legal: 0, 1; default: 0]
+# Choose 0 for 15c2:ffdc device,
+# Choose 1 for 15c2:0038 device
+Protocol=0
+
+# Set the exit behavior [legal: 0-2; default: 1]
+# 0 means leave shutdown message,
+# 1 means show the big clock,
+# 2 means blank device
+#OnExit=2
+
+# Select the output device to use [default: /dev/lcd0]
+Device=/dev/lcd0
+
+# Select the displays contrast [default: 200; legal: 0-1000]
+Contrast=200
+
+# Specify the size of the display in pixels [default: 96x16]
+#Size=96x16
+
+# Set the backlight state [default: on; legal: on, off]
+#Backlight=on
+
+# Set the disc mode [legal: 0,1; default: 0]
+# 0 => spin the "slim" disc - two disc segments,
+# 1 => their complement spinning;
+#DiscMode=0
+
+
+
+## IrMan driver ##
+[IrMan]
+# in case of trouble with IrMan, try the Lirc emulator for IrMan
+
+# Select the input device to use
+#Device=/dev/irman
+
+# Select the configuration file to use
+#Config=/etc/irman.cfg
+
+
+
+## IRtrans driver ##
+[irtrans]
+
+# Does the device have a backlight? [default: no; legal: yes, no]
+#Backlight=no
+
+# IRTrans device to connect to [default: localhost]
+#Hostname=localhost
+
+# display dimensions
+Size=16x2
+
+
+
+## Joystick driver ##
+[joy]
+
+# Select the input device to use [default: /dev/js0]
+Device=/dev/js0
+
+# set the axis map
+Map_Axis1neg=Left
+Map_Axis1pos=Right
+Map_Axis2neg=Up
+Map_Axis2pos=Down
+
+# set the button map
+Map_Button1=Enter
+Map_Button2=Escape
+
+
+
+## LB216 driver ##
+[lb216]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Set the communication speed [default: 9600; legal: 2400, 9600]
+Speed=9600
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## LCDM001 driver ##
+[lcdm001]
+
+Device=/dev/ttyS1
+
+# keypad settings
+# Keyname Function
+# Normal context Menu context
+# ------- -------------- ------------
+# PauseKey Pause/Continue Enter/select
+# BackKey Back(Go to previous screen) Up/Left
+# ForwardKey Forward(Go to next screen) Down/Right
+# MainMenuKey Open main menu Exit/Cancel
+PauseKey=LeftKey
+BackKey=UpKey
+ForwardKey=DownKey
+MainMenuKey=RightKey
+
+# You can rearrange the settings here.
+# If your device is broken, have a look at /usr/lib/lcdproc/lcdm001.h
+
+
+
+## HNE LCTerm driver ##
+[lcterm]
+Device=/dev/ttyS1
+Size=16x2
+
+
+
+## LIRC input driver ##
+[lirc]
+
+# Specify an alternative location of the lircrc file [default: ~/.lircrc]
+#lircrc=/etc/lircrc.lcdproc
+
+# Must be the same as in your lircrc
+#prog=lcdd
+
+
+
+## LIS MCE 2005 driver ##
+[lis]
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# 0-250 = 25%, 251-500 = 50%, 501-750 = 75%, 751-1000 = 100%
+#Brightness=1000
+
+# Columns by lines [default: 20x2]
+#Size=20x2
+
+# USB Vendor ID [default: 0x0403]
+# Change only if testing a compatible device.
+#VendorID=0x0403
+
+# USB Product ID [default: 0x6001]
+# Change only if testing a compatible device.
+#ProductID=0x6001
+
+# Specifies if the last line is pixel addressable (yes) or it only controls an
+# underline effect (no). [default: yes; legal: yes, no]
+#Lastline=yes
+
+
+
+##The driver for the VFD of the Medion MD8800 PC ##
+[MD8800]
+# device to use [default: /dev/ttyS1]
+#Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+
+
+
+## Futuba MDM166A Display
+[mdm166a]
+# Show self-running clock after LCDd shutdown
+# Possible values: [default: no; legal: no, small, big]
+Clock=big
+# Dim display, no dimming gives full brightness [default: no, legal: yes, no]
+Dimming=no
+# Dim display in case LCDd is inactive [default: no, legal: yes, no]
+OffDimming=yes
+
+
+
+## MSI MS-6931 driver for displays in 1HU servers ##
+[ms6931]
+
+# device to use [default: /dev/ttyS1]
+Device=/dev/ttyS1
+
+# display size [default: 16x2]
+#Size=16x2
+
+
+
+## MTC-S16209x driver ##
+[mtc_s16209x]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the initial brightness [default: 255; legal: 0 - 255]
+Brightness=255
+
+# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Matrix Orbital driver ##
+[MtxOrb]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/ttyS0
+
+# Set the display size [default: 20x4]
+Size=20x4
+
+# Set the display type [default: lcd; legal: lcd, lkd, vfd, vkd]
+Type=lkd
+
+# Set the initial contrast [default: 480]
+# NOTE: The driver will ignore this if the display
+# is a vfd or vkd as they don't have this feature
+Contrast=480
+
+# Some old displays do not have an adjustable backlight but only can
+# switch the backlight on/off. If you experience randomly appearing block
+# characters, try setting this to false. [default: yes; legal: yes, no]
+hasAdjustableBacklight=no
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=0
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200]
+Speed=19200
+
+# The following table translates from MtxOrb key letters to logical key names.
+# By default no keys are mapped, meaning the keypad is not used at all.
+#KeyMap_A=Left
+#KeyMap_B=Right
+#KeyMap_C=Up
+#KeyMap_D=Down
+#KeyMap_E=Enter
+#KeyMap_F=Escape
+# See the [menu] section for an explanation of the key mappings
+
+# You can find out which key of your display sends which
+# character by setting keypad_test_mode to yes and running
+# LCDd. LCDd will output all characters it receives.
+# Afterwards you can modify the settings above and set
+# keypad_set_mode to no again.
+keypad_test_mode=no
+
+
+
+## mx5000 driver for LCD display on the Logitech MX5000 keyboard ##
+[mx5000]
+
+# Select the output device to use [default: /dev/hiddev0]
+Device = /dev/hiddev0
+# Time to wait in ms after the refresh screen has been sent [default: 1000]
+WaitAfterRefresh = 1000
+
+
+
+## Noritake VFD driver ##
+[NoritakeVFD]
+# device where the VFD is. Usual values are /dev/ttyS0 and /dev/ttyS1
+# [default: /dev/lcd]
+Device=/dev/ttyS0
+# Specifies the size of the LCD.
+Size=20x4
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=50
+# set the serial port speed [default: 9600, legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+# Set serial data parity [default: 0; legal: 0-2 ]
+# Meaning: 0(=none), 1(=odd), 2(=even)
+Parity=0
+# re-initialize the VFD [default: no; legal: yes, no]
+Reboot=no
+
+
+
+## Mini-box.com picoLCD (usblcd) driver ##
+[picolcd]
+
+# KeyTimeout is only used if the picoLCD driver is built with libusb-0.1. When
+# built with libusb-1.0 key and IR data is input asynchronously so there is no
+# need to wait for the USB data.
+# KeyTimeout is the time in ms that LCDd spends waiting for a key press before
+# cycling through other duties. Higher values make LCDd use less CPU time and
+# make key presses more detectable. Lower values make LCDd more responsive
+# but a little prone to missing key presses. 500 (.5 second) is the default
+# and a balanced value. [default: 500; legal: 0 - 1000]
+KeyTimeout=500
+
+# Key auto repeat is only available if the picoLCD driver is built with
+# libusb-1.0. Use KeyRepeatDelay and KeyRepeatInterval to configure key auto
+# repeat.
+#
+# Key auto repeat delay (time in ms from first key report to first repeat). Use
+# zero to disable auto repeat. [default: 300; legal: 0 - 3000]
+KeyRepeatDelay=300
+
+# Key auto repeat interval (time in ms between repeat reports). Only used if
+# KeyRepeatDelay is not zero. [default: 200; legal: 0 - 3000]
+KeyRepeatInterval=200
+
+# Sets the initial state of the backlight upon start-up.
+# [default: on; legal: on, off]
+#Backlight=on
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]. Works only
+# with the 20x4 device
+Brightness=1000
+
+# Set the brightness while the backlight is 'off' [default: 0; legal: 0 - 1000].
+# Works only with the 20x4 device.
+#OffBrightness=0
+
+# Set the initial contrast [default: 1000; legal: 0 - 1000]
+Contrast=1000
+
+# Link the key lights to the backlight? [default: on; legal: on, off]
+#LinkLights=off
+
+# Light the keys? [default: on; legal: on, off]
+Keylights=on
+
+# If Keylights is on, the you can unlight specific keys below:
+# Key0 is the directional pad. Key1 - Key5 correspond to the F1 - F5 keys.
+# There is no LED for the +/- keys. This is a handy way to indicate to users
+# which keys are disabled. [default: on; legal: on, off]
+Key0Light=on
+Key1Light=on
+Key2Light=on
+Key3Light=on
+Key4Light=on
+Key5Light=on
+
+# Host name or IP address of the LIRC instance that is to receive IR codes
+# If not set, or set to an empty value, IR support is disabled.
+#LircHost=127.0.0.1
+
+# UDP port on which LIRC is listening [default: 8765; legal: 1 - 65535]
+LircPort=8765
+
+# Threshold in jiffies of synthesized gap that triggers flushing the IR data
+# to lirc [default: 100 ; max: 32767 ]
+# 100 means 6.1ms. legal: 16 - 32767; Use 0 to disable.
+LircFlushThreshold=100
+
+
+
+## Pyramid LCD driver ##
+[pyramid]
+
+# device to connect to [default: /dev/lcd]
+Device=/dev/ttyUSB0
+
+
+
+## SDEC driver for Watchguard Firebox ##
+[sdeclcd]
+# No options
+
+
+
+## Seiko Epson 1330 driver ##
+[sed1330]
+
+# Port where the LPT is. Common values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Type of LCD module (legal: G321D, G121C, G242C, G191D, G2446, SP14Q002)
+# Note: Currently only tested with G321D & SP14Q002.
+Type=G321D
+
+# Width x Height of a character cell in pixels [legal: 6x7 - 8x16; default: 6x10]
+CellSize=6x10
+
+# Select what type of connection [legal: classic, bitshaker; default: classic]
+ConnectionType=classic
+
+
+
+## Seiko Epson 1520 driver ##
+[sed1520]
+
+# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC
+Port=0x378
+
+# Select the interface type (wiring) for the display. Supported values are
+# 68 for 68-style connection (RESET level high) and 80 for 80-style connection
+# (RESET level low). [legal: 68, 80; default: 80]
+InterfaceType=80
+
+# On fast machines it may be necessary to slow down transfer to the display.
+# If this value is set to zero, delay is disabled. Any value greater than
+# zero slows down each write by one microsecond. [legal: 0-1000; default: 1]
+DelayMult=0
+
+# The original wiring used an inverter to drive the control lines. If you do
+# not use an inverter set haveInverter to no. [default: yes; legal: yes, no]
+haveInverter=no
+
+
+
+## serial POS display driver ##
+[serialPOS]
+
+# Device to use in serial mode [default: /dev/lcd]
+Device=/dev/lcd
+
+# Specifies the size of the display in characters. [default: 16x2]
+Size=16x2
+
+# Set the communication protocol to use with the POS display.
+# [default: AEDEX; legal: IEE, Epson, Emax, IBM, LogicControls, Ultimate]
+Type=AEDEX
+
+# communication baud rate with the display [default: 9600; legal: 1200, 2400,
+# 19200, 115200]
+Speed=9600
+
+
+
+## Serial VFD driver ##
+## Drives various (see below) serial 5x7dot VFD's. ##
+[serialVFD]
+
+# Specifies the displaytype.[default: 0]
+# 0 NEC (FIPC8367 based) VFDs.
+# 1 KD Rev 2.1.
+# 2 Noritake VFDs (*).
+# 3 Futaba VFDs
+# 4 IEE S03601-95B
+# 5 IEE S03601-96-080 (*)
+# 6 Futaba NA202SD08FA (allmost IEE compatible)
+# 7 Samsung 20S207DA4 and 20S207DA6
+# 8 Nixdorf BA6x / VT100
+# (* most should work, not tested yet.)
+Type=0
+
+# "no" if display connected serial, "yes" if connected parallel. [default: no]
+# I.e. serial by default
+use_parallel=no
+
+# Number of Custom-Characters. default is display type dependent
+#Custom-Characters=0
+
+# Portaddress where the LPT is. Used in parallel mode only. Usual values are
+# 0x278, 0x378 and 0x3BC.
+Port=0x378
+
+# Set parallel port timing delay (us). Used in parallel mode only.
+# [default: 2; legal: 0 - 255]
+#PortWait=2
+
+# Device to use in serial mode. Usual values are /dev/ttyS0 and /dev/ttyS1
+Device=/dev/ttyS1
+
+# Specifies the size of the VFD.
+Size=20x2
+
+# Set the initial brightness [default: 1000; legal: 0 - 1000]
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+Brightness=1000
+# Set the initial off-brightness [default: 0; legal: 0 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+# (4 steps 0-250, 251-500, 501-750, 751-1000)
+OffBrightness=0
+
+# set the serial port speed [default: 9600; legal: 1200, 2400, 9600, 19200, 115200]
+Speed=9600
+
+# enable ISO 8859 1 compatibility [default: yes; legal: yes, no]
+#ISO_8859_1=yes
+
+
+
+## shuttleVFD driver ##
+[shuttleVFD]
+# No options
+
+
+
+## stv5730 driver ##
+[stv5730]
+
+# Port the device is connected to [default: 0x378]
+Port=0x378
+
+
+[SureElec]
+
+# Port the device is connected to (by default first USB serial port)
+Device=/dev/ttyUSB0
+
+# Edition level of the device (can be 1, 2 or 3) [default: 2]
+#Edition=1
+
+# set display size
+# Note: The size can be obtained directly from device for edition 2 & 3.
+#Size=16x2
+
+# Set the initial contrast [default: 480; legal: 0 - 1000]
+#Contrast=200
+
+# Set the initial brightness [default: 480; legal: 1 - 1000]
+#Brightness=480
+
+# Set the initial off-brightness [default: 100; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+#OffBrightness=100
+
+
+## SVGAlib driver ##
+[svga]
+
+# svgalib mode to use [default: G320x240x256 ]
+# legal values are supported svgalib modes
+#Mode=G640x480x256
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Set the initial contrast [default: 500; legal: 0 - 1000]
+# Can be set but does not change anything internally
+Contrast=500
+
+# Set the initial brightness [default: 1000; legal: 1 - 1000]
+Brightness=1000
+
+# Set the initial off-brightness [default: 500; legal: 1 - 1000]
+# This value is used when the display is normally
+# switched off in case LCDd is inactive
+OffBrightness=500
+
+
+
+## Text driver ##
+[text]
+# Set the display size [default: 20x4]
+Size=20x4
+
+
+
+## Toshiba T6963 driver ##
+[t6963]
+
+# set display size in pixels [default: 128x64]
+Size=128x64
+
+# port to use [default: 0x378; legal: 0x200 - 0x400]
+Port=0x378
+
+# Use LPT port in bi-directional mode. This should work on most LPT port and
+# is required for proper timing! [default: yes; legal: yes, no]
+#bidirectional=yes
+
+# Insert additional delays into reads / writes. [default: no; legal: yes, no]
+#delayBus=no
+
+# Clear graphic memory on start-up. [default: no; legal: yes, no]
+#ClearGraphic=no
+
+
+
+## Tyan Barebones LCD driver (GS10 & GS12 series) ##
+[tyan]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 9600; legal: 4800, 9600]
+Speed=9600
+
+# set display size [default: 16x2]
+Size=16x2
+
+
+
+## ELV ula200 driver ##
+[ula200]
+
+# Select the LCD size [default: 20x4]
+Size=20x4
+
+# If you have a non standard keypad you can associate any keystrings to keys.
+# There are 6 input key in the CwLnx hardware that generate characters
+# from 'A' to 'F'.
+#
+# The following it the built-in default mapping hardcoded in the driver.
+# You can leave those unchanged if you have a standard keypad.
+# You can change it if you want to report other keystrings or have a non
+# standard keypad.
+# KeyMap_A=Up
+# KeyMap_B=Down
+# KeyMap_C=Left
+# KeyMap_D=Right
+# KeyMap_E=Enter
+# KeyMap_F=Escape
+
+
+
+## Wirz SLI LCD driver ##
+[sli]
+
+# Select the output device to use [default: /dev/lcd]
+Device=/dev/lcd
+
+# Set the communication speed [default: 19200; legal: 1200, 2400, 9600, 19200,
+# 38400, 57600, 115200]
+Speed=19200
+
+
+
+## vlsys_m428 for VFD/IR combination in Moneual MonCaso 320 ##
+[vlsys_m428]
+
+# Select the output device to use [default: /dev/ttyUSB0]
+#Device=/dev/ttyUSB0
+
+
+
+## OnScreen Display using libxosd ##
+[xosd]
+
+# set display size [default: 20x4]
+Size=20x4
+
+# Offset in pixels from the top-left corner of the monitor [default: 0x0]
+Offset=200x200
+
+# X font to use, in XLFD format, as given by "xfontsel"
+Font=-*-clean-*-*-*-*-*-160-*-*-*-*-*-*
+# EOF
diff --git a/linhes/linhes-templates/templates/cron.template b/linhes/linhes-templates/templates/cron.template
new file mode 100644
index 0000000..7914cba
--- /dev/null
+++ b/linhes/linhes-templates/templates/cron.template
@@ -0,0 +1,4 @@
+# <minute> <hour> <day> <month> <dow> <command>
+
+
+00 HOUR * * * /usr/bin/sudo /sbin/halt >/dev/null 2>&1 \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/db/custom.sql b/linhes/linhes-templates/templates/db/custom.sql
new file mode 100644
index 0000000..9be8ab0
--- /dev/null
+++ b/linhes/linhes-templates/templates/db/custom.sql
@@ -0,0 +1,122 @@
+-- Clear out old values because mysql is mysql
+DELETE from settings where value in
+(
+ 'AllowQuitShutdown',
+ 'AllowConnFromAll',
+ 'ListenOnAllIps',
+ 'BackendServerIP',
+ 'BackendServerIP6',
+ 'HaltCommand',
+ 'RebootCommand',
+ 'Theme'
+ );
+
+INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
+ ('AllowQuitShutdown' ,'4' , 'apheleia'),
+ ('AllowConnFromAll' ,'0' , 'apheleia'),
+ ('ListenOnAllIps' ,'0' , 'apheleia'),
+ ('BackendServerIP' ,'127.0.0.1' , 'apheleia'),
+ ('BackendServerIP6' ,'::1' , 'apheleia'),
+ ('HaltCommand' ,'sudo /sbin/halt' , 'apheleia'),
+ ('RebootCommand' ,'sudo /sbin/reboot' , 'apheleia'),
+ ('Theme' ,'LinHES' , 'apheleia');
+--
+
+--INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
+-- ('NonID3FileNameFormat' ,'GENRE/ARTIST/ALBUM/TRACK_TITLE' , 'apheleia'),
+-- ('CDDevice' ,'/dev/cdrom' , 'apheleia'),
+-- ('MusicAudioDevice' ,'default' , 'apheleia'),
+-- ('MythArchiveCopyRemoteFiles' ,'1' , 'apheleia'),
+-- ('GalleryDir' ,'/myth/gallery' , 'apheleia'),
+-- ('MusicLocation' ,'/myth/music/' , 'apheleia'),
+-- ('mythgame.screenshotdir' ,'/myth/games/screenshots' , 'apheleia'),
+-- ('mythgame.fanartdir' ,'/myth/games/fanart' , 'apheleia'),
+-- ('mythgame.boxartdir' ,'/myth/games/boxart' , 'apheleia'),
+-- ('MythArchiveTempDir' ,'/myth/tmp' , 'apheleia');
+
+
+-- MythVideo old local dir..replaced by storage groups, but should set values to null
+INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
+('VideoStartupDir' ,'' , 'apheleia'),
+('mythvideo.TrailersDir' ,'' , 'apheleia'),
+('VideoArtworkDir' ,'' , 'apheleia'),
+('ScreenShotPath' ,'' , 'apheleia'),
+('mythvideo.screenshotDir' ,'' , 'apheleia'),
+('mythvideo.bannerDir' ,'' , 'apheleia'),
+('mythvideo.fanartDir' ,'' , 'apheleia');
+
+
+-- /myth based storage groups are obsolete, add_storage.py will create the ones it needs.
+-- putting in artwork ones on disk0
+INSERT INTO `storagegroup` (`groupname`, `hostname`, `dirname`) VALUES
+-- ('Default' ,'apheleia' ,'/myth/tv/'),
+-- ('LiveTV' ,'apheleia' ,'/myth/tv/live/'),
+-- ('Videos' ,'apheleia' ,'/myth/video/'),
+('Coverart' ,'apheleia' ,'/data/storage/disk0/media/artwork/coverart/'),
+('Banners' ,'apheleia' ,'/data/storage/disk0/media/artwork/banners/'),
+('Fanart' ,'apheleia' ,'/data/storage/disk0/media/artwork/fanart/'),
+('Screenshots' ,'apheleia' ,'/data/storage/disk0/media/artwork/screenshots/'),
+('Trailers' ,'apheleia' ,'/data/storage/disk0/media/artwork/trailers/'),
+-- ('Streaming' ,'apheleia' ,'/myth/streaming'),
+('DB Backups' ,'apheleia' ,'/data/storage/disk0/backup/mythtv_backups/');
+
+
+-- Clear out old values because mysql is mysql
+DELETE from settings where value in
+('OverrideExitMenu',
+ 'NetworkControlEnabled',
+ 'SecurityPin',
+ 'BackendStopCommand',
+ 'BackendStartCommand');
+
+INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
+('OverrideExitMenu','3','apheleia'),
+('NetworkControlEnabled','1','apheleia'),
+('SecurityPin','0000','apheleia'),
+('BackendStopCommand','sudo systemctl stop mythbackend.service' ,NULL),
+('BackendStartCommand','sudo systemctl start mythbackend.service' ,NULL);
+--
+
+-- Clear out old user jobs
+DELETE FROM `settings` where value in
+('JobAllowUserJob1',
+ 'JobAllowUserJob2',
+ 'JobAllowUserJob3',
+ 'JobAllowUserJob4',
+ 'UserJob1',
+ 'UserJob2',
+ 'UserJob3',
+ 'UserJob4',
+ 'UserJobDesc1',
+ 'UserJobDesc2',
+ 'UserJobDesc3',
+ 'UserJobDesc4');
+
+
+INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
+ ('JobAllowUserJob1','1','apheleia'),
+ ('JobAllowUserJob2','1','apheleia'),
+ ('JobAllowUserJob3','1','apheleia'),
+ ('JobAllowUserJob4','0','apheleia'),
+ ('UserJob1','/usr/bin/mythvidexport.py %JOBID%','apheleia'),
+ ('UserJob2','/usr/bin/myth2mkv "%DIR%/%FILE%" "%CHANID%" "%STARTTIME%" "%TITLE%" "%SUBTITLE%" "%JOBID%" "HP"','apheleia'),
+ ('UserJob3','/usr/bin/myth2mp3 "%DIR%/%FILE%" "%TITLE% - %SUBTITLE%" "%CHANID%" "%STARTTIME%"','apheleia'),
+ ('UserJob4','','apheleia'),
+ ('UserJobDesc1','Copy to Videos','apheleia'),
+ ('UserJobDesc2','Encode to x264 mkv','apheleia'),
+ ('UserJobDesc3','Encode Audio to mp3','apheleia'),
+ ('UserJobDesc4','','apheleia');
+--
+
+INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
+('MiscStatusScript','/usr/bin/misc_status_info.sh','apheleia');
+
+
+--UPDATE `keybindings` set `keylist` = "Alt+Esc" WHERE `action` = 'EXITPROMPT' ;
+
+-- Add a dummy tuner and videosource so BE will at least start
+INSERT INTO `capturecard` (`videodevice`,`cardtype`,`defaultinput`,`hostname`) VALUES
+('file://tmp/demo.mpg' , 'DEMO', 'Television', 'apheleia');
+
+--INSERT INTO `videosource` (`name`, `xmltvgrabber`) VALUES
+--('DEMO_VIDEO_SOURCE' , '/bin/true');
diff --git a/linhes/linhes-templates/templates/db/permissions.sql b/linhes/linhes-templates/templates/db/permissions.sql
new file mode 100644
index 0000000..108a1ab
--- /dev/null
+++ b/linhes/linhes-templates/templates/db/permissions.sql
@@ -0,0 +1,9 @@
+CREATE DATABASE IF NOT EXISTS mythconverg;
+GRANT ALL ON mythconverg.* TO 'mythtv'@localhost IDENTIFIED BY 'mythtv';
+GRANT ALL ON mythconverg.* TO 'mythtv'@'%' IDENTIFIED BY 'mythtv';
+GRANT FILE ON *.* TO 'mythtv'@"%";
+FLUSH PRIVILEGES;
+GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO 'mythtv'@localhost IDENTIFIED BY 'mythtv';
+GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO 'mythtv'@'%' IDENTIFIED BY 'mythtv';
+FLUSH PRIVILEGES;
+ALTER DATABASE mythconverg DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
diff --git a/linhes/linhes-templates/templates/exports.template b/linhes/linhes-templates/templates/exports.template
new file mode 100644
index 0000000..b883932
--- /dev/null
+++ b/linhes/linhes-templates/templates/exports.template
@@ -0,0 +1,8 @@
+# /etc/exports
+#
+# See exports(5) for a description.
+
+# use exportfs -arv to reread
+/myth REPLACEME(rw,all_squash,anonuid=1000,anongid=1000)
+/data/var/cache REPLACEME(rw,all_squash,anonuid=1000,anongid=1000)
+
diff --git a/linhes/linhes-templates/templates/lights-bud-abstract-4k-cq.jpg b/linhes/linhes-templates/templates/lights-bud-abstract-4k-cq.jpg
new file mode 100644
index 0000000..37a2de6
--- /dev/null
+++ b/linhes/linhes-templates/templates/lights-bud-abstract-4k-cq.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/lighttpd.conf.template b/linhes/linhes-templates/templates/lighttpd.conf.template
new file mode 100644
index 0000000..8271924
--- /dev/null
+++ b/linhes/linhes-templates/templates/lighttpd.conf.template
@@ -0,0 +1,5 @@
+# See /usr/share/doc/lighttpd
+# and http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions
+# check /etc/lighttpd/conf.d/*.conf for the configuration of modules.
+
+include "/etc/lighttpd/conf.d/*.conf"
diff --git a/linhes/linhes-templates/templates/mysql.txt.template b/linhes/linhes-templates/templates/mysql.txt.template
new file mode 100644
index 0000000..04531b5
--- /dev/null
+++ b/linhes/linhes-templates/templates/mysql.txt.template
@@ -0,0 +1,29 @@
+DBHostName=127.0.0.1
+DBUserName=mythtv
+DBPassword=mythtv
+DBName=mythconverg
+DBType=QMYSQL3
+
+# Set the following if you want to use something other than the
+# machine's real hostname for identifying settings in the database.
+# This is useful if your hostname changes often, as otherwise
+# you'll need to reconfigure mythtv (or futz with the DB) every time.
+# TWO HOSTS MUST NOT USE THE SAME VALUE
+#
+#LocalHostName=my-unique-identifier-goes-here
+
+# If you want your frontend to be able to wake your MySQL server
+# using WakeOnLan, have a look at the following settings:
+#
+# Set the time the frontend waits (in seconds) between reconnect tries.
+# This should be the rough time your MySQL server needs for startup
+#WOLsqlReconnectWaitTime=0
+#
+#
+# This is the amount of retries to wake the MySQL server until the frontend
+# gives up
+#WOLsqlConnectRetry=5
+#
+#
+# This is the command executed to wake your MySQL server.
+#WOLsqlCommand=echo 'WOLsqlServerCommand not set'
diff --git a/linhes/linhes-templates/templates/pacman.conf.template b/linhes/linhes-templates/templates/pacman.conf.template
new file mode 100644
index 0000000..5fbe142
--- /dev/null
+++ b/linhes/linhes-templates/templates/pacman.conf.template
@@ -0,0 +1,103 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+#GPGDir = /etc/pacman.d/gnupg/
+#HookDir = /etc/pacman.d/hooks/
+HoldPkg = pacman glibc
+#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options
+#UseSyslog
+#Color
+#NoProgressBar
+# We cannot check disk space from within a chroot environment
+#CheckSpace
+#VerbosePkgLists
+ParallelDownloads = 5
+
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
+SigLevel = Required DatabaseOptional
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+#[linhes]
+[linhes-testing]
+SigLevel = Optional TrustAll
+Server = http://linhes.org/repo/$arch/$repo/
+
+#[core-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+#[extra-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+# If you want to run 32 bit applications on your x86_64 system,
+# enable the multilib repositories as required here.
+
+#[multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
diff --git a/linhes/linhes-templates/templates/plasma-org.kde.plasma.desktop-appletsrc b/linhes/linhes-templates/templates/plasma-org.kde.plasma.desktop-appletsrc
new file mode 100644
index 0000000..55538f2
--- /dev/null
+++ b/linhes/linhes-templates/templates/plasma-org.kde.plasma.desktop-appletsrc
@@ -0,0 +1,169 @@
+[ActionPlugins][0]
+RightButton;NoModifier=org.kde.contextmenu
+wheel:Vertical;NoModifier=org.kde.switchdesktop
+
+[ActionPlugins][1]
+RightButton;NoModifier=org.kde.contextmenu
+
+[Containments][1]
+ItemGeometries-1920x1080=
+ItemGeometries-800x600=
+ItemGeometriesHorizontal=
+activityId=d0362dac-3dfd-40a7-88a6-b674b5635057
+formfactor=0
+immutability=1
+lastScreen=0
+location=0
+plugin=org.kde.plasma.folder
+wallpaperplugin=org.kde.image
+
+[Containments][1][Configuration]
+PreloadWeight=42
+
+[Containments][1][Wallpaper][org.kde.image][General]
+Image=file:///usr/share/linhes/templates/lights-bud-abstract-4k-cq.jpg
+
+[Containments][2]
+activityId=
+formfactor=2
+immutability=1
+lastScreen=0
+location=4
+plugin=org.kde.panel
+wallpaperplugin=org.kde.image
+
+[Containments][2][Applets][14]
+immutability=1
+plugin=org.kde.plasma.digitalclock
+
+[Containments][2][Applets][14][Configuration]
+PreloadWeight=47
+popupHeight=450
+popupWidth=396
+
+[Containments][2][Applets][15]
+immutability=1
+plugin=org.kde.plasma.showdesktop
+
+[Containments][2][Applets][15][Configuration]
+PreloadWeight=42
+
+[Containments][2][Applets][3]
+immutability=1
+plugin=org.kde.plasma.kickoff
+
+[Containments][2][Applets][3][Configuration]
+PreloadWeight=97
+popupHeight=512
+popupWidth=647
+
+[Containments][2][Applets][3][Configuration][General]
+favoritesPortedToKAstats=true
+
+[Containments][2][Applets][3][Configuration][Shortcuts]
+global=Alt+F1
+
+[Containments][2][Applets][3][Shortcuts]
+global=Alt+F1
+
+[Containments][2][Applets][4]
+immutability=1
+plugin=org.kde.plasma.pager
+
+[Containments][2][Applets][4][Configuration]
+PreloadWeight=42
+
+[Containments][2][Applets][5]
+immutability=1
+plugin=org.kde.plasma.icontasks
+
+[Containments][2][Applets][5][Configuration]
+PreloadWeight=42
+
+[Containments][2][Applets][5][Configuration][General]
+groupingStrategy=0
+launchers=applications:systemsettings.desktop,preferred://filemanager,applications:org.kde.konsole.desktop,applications:firefox.desktop,applications:mythfrontend.desktop
+
+[Containments][2][Applets][6]
+immutability=1
+plugin=org.kde.plasma.marginsseparator
+
+[Containments][2][Applets][6][Configuration]
+PreloadWeight=42
+
+[Containments][2][Applets][7]
+immutability=1
+plugin=org.kde.plasma.systemtray
+
+[Containments][2][Applets][7][Configuration]
+PreloadWeight=77
+SystrayContainmentId=8
+
+[Containments][2][Configuration]
+PreloadWeight=42
+
+[Containments][2][General]
+AppletOrder=3;4;5;6;7;14;15
+
+[Containments][8]
+activityId=
+formfactor=2
+immutability=1
+lastScreen=0
+location=4
+plugin=org.kde.plasma.private.systemtray
+popupHeight=432
+popupWidth=432
+wallpaperplugin=org.kde.image
+
+[Containments][8][Applets][10]
+immutability=1
+plugin=org.kde.plasma.notifications
+
+[Containments][8][Applets][10][Configuration]
+PreloadWeight=42
+
+[Containments][8][Applets][11]
+immutability=1
+plugin=org.kde.plasma.clipboard
+
+[Containments][8][Applets][11][Configuration]
+PreloadWeight=42
+
+[Containments][8][Applets][12]
+immutability=1
+plugin=org.kde.plasma.devicenotifier
+
+[Containments][8][Applets][12][Configuration]
+PreloadWeight=52
+
+[Containments][8][Applets][13]
+immutability=1
+plugin=org.kde.plasma.keyboardlayout
+
+[Containments][8][Applets][13][Configuration]
+PreloadWeight=42
+
+[Containments][8][Applets][16]
+immutability=1
+plugin=org.kde.plasma.networkmanagement
+
+[Containments][8][Applets][16][Configuration]
+PreloadWeight=57
+
+[Containments][8][Applets][9]
+immutability=1
+plugin=org.kde.plasma.manage-inputmethod
+
+[Containments][8][Applets][9][Configuration]
+PreloadWeight=42
+
+[Containments][8][Configuration]
+PreloadWeight=42
+
+[Containments][8][General]
+extraItems=org.kde.plasma.manage-inputmethod,org.kde.plasma.battery,org.kde.plasma.notifications,org.kde.plasma.networkmanagement,org.kde.plasma.mediacontroller,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout
+knownItems=org.kde.plasma.manage-inputmethod,org.kde.plasma.battery,org.kde.plasma.notifications,org.kde.plasma.networkmanagement,org.kde.plasma.mediacontroller,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout
+
+[ScreenMapping]
+itemsOnDisabledScreens=
diff --git a/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/lircd.conf b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/lircd.conf
new file mode 100644
index 0000000..087b9ad
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/lircd.conf
@@ -0,0 +1,76 @@
+# brand: ATI Remote Wonder
+# model no. of remote control: 5000023600
+# devices being controlled by this remote: ATI USB Receiver
+#
+# Found on a linpvr.org forum, thanks.
+
+begin remote
+
+ name ati_remote
+ bits 40
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ gap 235966
+ toggle_bit 0
+
+
+ begin codes
+ a 0x00000014D5000000
+ b 0x00000014D6010000
+ power 0x00000014D7020000
+ tv 0x00000014D8030000
+ dvd 0x00000014D9040000
+ web 0x00000014DA050000
+ media_library 0x00000014DB060000
+ drag 0x00000014DC070000
+ mouse-button_left 0x000000144D780000
+ mouse-button_right 0x00000014517C0000
+ mouse-up 0x0000001447720000
+ mouse-down 0x0000001448730000
+ mouse-left 0x0000001445700000
+ mouse-right 0x0000001446710000
+ mouse-left_up 0x0000001449740000
+ mouse-right_up 0x000000144A750000
+ mouse-left_down 0x000000144C770000
+ mouse-right_down 0x000000144B760000
+ vol-up 0x00000014DD080000
+ vol-down 0x00000014DE090000
+ mute 0x00000014DF0A0000
+ chan-up 0x00000014E00B0000
+ chan-down 0x00000014E10C0000
+ 1 0x00000014E20D0000
+ 2 0x00000014E30E0000
+ 3 0x00000014E40F0000
+ 4 0x00000014E5100000
+ 5 0x00000014E6110000
+ 6 0x00000014E7120000
+ 7 0x00000014E8130000
+ 8 0x00000014E9140000
+ 9 0x00000014EA150000
+ 0 0x00000014EC170000
+ dvd-root_menu 0x00000014EB160000
+ launch_setup 0x00000014ED180000
+ c 0x00000014EE190000
+ d 0x00000014F01B0000
+ tv_on_demand 0x00000014F11C0000
+ max_window 0x00000014F5200000
+ cursor-up 0x00000014EF1A0000
+ cursor-down 0x00000014F7220000
+ cursor-left 0x00000014F21D0000
+ cursor-right 0x00000014F41F0000
+ ok 0x00000014F31E0000
+ e 0x00000014F6210000
+ f 0x00000014F8230000
+ rewind 0x00000014F9240000
+ play 0x00000014FA250000
+ fastforward 0x00000014FB260000
+ record 0x00000014FC270000
+ stop 0x00000014FD280000
+ pause 0x00000014FE290000
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/lircrc b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/lircrc
new file mode 100644
index 0000000..01519a8
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/lircrc
@@ -0,0 +1,636 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the ATI-Wonder Remote
+# using lirc_atiusb driver
+#
+
+begin
+#Jumppoint for Program Guide created in Mythweb
+ prog = mythtv
+ button = tv
+ config = !
+ repeat = 5
+end
+
+begin
+#Jumppoint for DVD playback created in Mythweb
+ prog = mythtv
+ button = dvd
+ config = @
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+#Jumppoint for MythWeater created in Mythweb
+ button = web
+ config = #
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+#Jumppoint for MythVideo created in Mythweb
+ button = media_library
+ config = $
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+#Jumppoint for MythWeater created in Mythweb
+ button = HAND
+ config = %
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 0
+config = 0
+repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = mouse-up
+ config = Up
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = mouse-down
+ config = Down
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = mouse-left
+ config = Left
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = mouse-right
+ config = Right
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = mouse-button-right
+ config = Esc
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+# Enter button
+ button = mouse-button-left
+ config = Return
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = power
+ config = Esc
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+# Enter button
+ button = ok
+ config = Return
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = cursor-up
+ config = Up
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = cursor-down
+ config = Down
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = cursor-left
+ config = Left
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = cursor-right
+ config = Right
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = D
+ config = Esc
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = chan-up
+config = Up
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = chan-down
+config = Down
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = vol-down
+ repeat = 3
+ config = F10
+end
+
+begin
+ prog = mythtv
+ button = vol-up
+ repeat = 3
+ config = F11
+end
+begin
+ prog = mythtv
+ button = mute
+ config = F9
+ repeat = 5
+end
+
+begin
+# Mute for MythMusic
+ prog = mythtv
+ button = mute
+ config = |
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = dvd-root_menu
+ config = M
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+# Enter button
+ button = launch_setup
+ config = Return
+ repeat = 5
+end
+
+
+begin
+ prog = mythtv
+ button = a
+ config = S
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = b
+ config = I
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = c
+ config = T
+ repeat = 5
+end
+
+begin
+prog = mythtv
+# Change focus for PiP (to change channel in the other window)
+button = max_window
+config = B
+ repeat = 5
+end
+
+begin
+prog = mythtv
+# Toggle PiP on/off
+button = tv_on_demand
+config = V
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = rewind
+ config = Left
+ repeat = 5
+end
+
+
+begin
+ prog = mythtv
+ button = fastforward
+ config = Right
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = record
+config = R
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = stop
+config = Esc
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = play
+config = P
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = pause
+config = P
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = e
+# Use for backwards commercial skip
+config = Q
+ repeat = 5
+end
+
+begin
+prog = mythtv
+button = f
+# Use for forward commercial skip
+config = Z
+ repeat = 5
+end
+
+#Mplayer
+
+begin
+prog = mplayer
+button = play
+config = pause
+ repeat = 5
+end
+
+begin
+prog = mplayer
+button = pause
+config = pause
+ repeat = 5
+end
+
+begin
+prog = mplayer
+button = stop
+config = quit
+ repeat = 5
+end
+
+begin
+prog = mplayer
+button = power
+config = quit
+ repeat = 5
+end
+
+begin
+prog = mplayer
+button = d
+config = quit
+ repeat = 5
+end
+
+begin
+prog = mplayer
+button = mouse-button-right
+config = quit
+ repeat = 5
+end
+
+begin
+prog = mplayer
+button = mute
+config = mute
+ repeat = 5
+end
+
+begin
+prog = mplayer
+button = e
+repeat = 6
+config = seek -10
+end
+
+begin
+prog = mplayer
+button = r
+repeat = 6
+config = seek 10
+end
+
+begin
+prog = mplayer
+button = rewind
+repeat = 6
+config = seek -70
+end
+
+begin
+prog = mplayer
+button = fastforward
+repeat = 6
+config = seek 70
+end
+
+begin
+prog = mplayer
+button = vol-down
+repeat = 6
+config = volume -1
+end
+
+begin
+prog = mplayer
+button = vol-up
+repeat = 6
+config = volume 1
+end
+
+#Xine
+
+begin
+prog = xine
+button = play
+config = Play
+end
+
+begin
+prog = xine
+button = pause
+config = PAUSE
+end
+
+begin
+prog = xine
+button = stop
+config = Stop
+end
+
+begin
+prog = xine
+button = power
+config = Quit
+end
+
+begin
+prog = xine
+button = d
+config = quit
+end
+
+begin
+prog = xine
+button = mouse-button-right
+config = quit
+end
+
+begin
+prog = xine
+button = cursor-up
+repeat = 4
+config = EventUp
+end
+
+begin
+prog = xine
+button = cursor-down
+repeat = 4
+config = EventDown
+end
+
+begin
+prog = xine
+button = cursor-left
+repeat = 4
+config = EventLeft
+end
+
+begin
+prog = xine
+button = corsor-right
+repeat = 4
+config = EventRight
+end
+
+begin
+prog = xine
+button = ok
+repeat = 0
+config = EventSelect
+end
+
+begin
+prog = xine
+button = mouse-up
+repeat = 4
+config = EventUp
+end
+
+begin
+prog = xine
+button = mouse-down
+repeat = 4
+config = EventDown
+end
+
+begin
+prog = xine
+button = mouse-left
+repeat = 4
+config = EventLeft
+end
+
+begin
+prog = xine
+button = mouse-right
+repeat = 4
+config = EventRight
+end
+
+begin
+prog = xine
+button = mouse-button-left
+repeat = 0
+config = EventSelect
+end
+
+begin
+prog = xine
+button = dvd-root_menu
+repeat = 0
+config = Menu
+end
+
+#vol down
+begin
+prog = xine
+button = vol-down
+repeat = 1
+config = Volume-
+end
+
+#vol up
+begin
+prog = xine
+button = vol-up
+repeat = 1
+config = Volume+
+end
+
+begin
+prog = xine
+button = tv_on_demand
+repeat = 1
+config = ZoomIn
+end
+
+begin
+prog = xine
+button = max_window
+repeat = 1
+config = ZoomOut
+end
+
+#skip chapter forward
+begin
+prog = xine
+button = fastforward
+repeat = 1
+config = EventNext
+end
+
+#skip chapter backward
+begin
+prog = xine
+button = rewind
+repeat = 1
+config = EventPrior
+end
+
+begin
+prog = xine
+button = f
+repeat = 2
+config = SeekRelative+45
+end
+
+begin
+prog = xine
+button = e
+repeat = 2
+config = SeekRelative-45
+end
+
+
+
+
+
diff --git a/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/preview.jpg
new file mode 100644
index 0000000..351a111
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/lircd.conf b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/lircd.conf
new file mode 100644
index 0000000..6b1172a
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/lircd.conf
@@ -0,0 +1,198 @@
+
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.8.0pre3(atiusb) on Tue Feb 7 19:33:37 2006
+#
+# contributed by
+# edited 2/19/2006 for dual code generation problem
+#
+# brand: ATI Remote Wonder Plus / RW3
+# model no. of remote control: 5000026900
+# devices being controlled by this remote: 500002700
+#
+
+begin remote
+
+ name ATI_RWP
+ bits 24
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ post_data_bits 16
+ post_data 0x0
+ gap 243966
+ min_repeat 2
+ toggle_bit 0
+
+
+ begin codes
+
+ A 0x155580
+ A 0x15D500
+
+ B 0x155681
+ B 0x15D601
+
+ ? 0x155A85
+ ? 0x15da05
+
+ POWER 0x15d702
+ POWER 0x155782
+
+ FM 0x15F11C
+ FM 0x15719C
+
+ TV 0x155883
+ TV 0x15d803
+
+ GUIDE 0x15DB06
+ GUIDE 0x155B86
+
+ TV2 0x15FF2A
+ TV2 0x157FAA
+
+ DVD 0x15D904
+ DVD 0x155984
+
+ Vol+ 0x155D88
+ Vol+ 0x15dd08
+
+ Vol- 0x15DE09
+ Vol- 0x155e89
+
+ Ch+ 0x15608B
+ Ch+ 0x15e00b
+
+ Ch- 0x15E10C
+ Ch- 0x15618c
+
+ Mute 0x155F8A
+ Mute 0x15df0a
+
+ ATI 0x15022D
+ ATI 0x1582ad
+
+ Maximize 0x1575A0
+ Maximize 0x15f520
+
+ Hand 0x15dc07
+ Hand 0x155c87
+
+ Mouse_LeftButton 0x154d78
+ Mouse_LeftButton 0x15cdf8
+
+ Mouse_RightButton 0x15517c
+ Mouse_RightButton 0x15d1fc
+
+ Mouse_Up 0x15C7F2
+ Mouse_Up 0x154772
+
+ Mouse_Down 0x154873
+ Mouse_Down 0x15c8f3
+
+ Mouse_Left 0x154570
+ Mouse_Left 0x15c5f0
+
+ Mouse_Right 0x154671
+ Mouse_Right 0x15c6f1
+
+ Mouse_UpRight 0x154A75
+ Mouse_UpRight 0x15caf5
+
+ Mouse_UpLeft 0x15C9F4
+ Mouse_UpLeft 0x154974
+
+ Mouse_DownRight 0x15CBF6
+ Mouse_DownRight 0x154b76
+
+ Mouse_DownLeft 0x154c77
+ Mouse_DownLeft 0x15ccf7
+
+ Play 0x157AA5
+ Play 0x15fa25
+
+ Pause 0x15FE29
+ Pause 0x157ea9
+
+ Stop 0x157DA8
+ Stop 0x15fd28
+
+ Previous 0x15F924
+ Previous 0x1579a4
+
+ Next 0x157BA6
+ Next 0x15fb26
+
+ Record 0x15fc27
+ Record 0x157ca7
+
+ C 0x156E99
+ C 0x15ee19
+
+ D 0x15F01B
+ D 0x15709b
+
+ E 0x1576A1
+ E 0x15f621
+
+ F 0x15F823
+ F 0x1578a3
+
+ OK 0x15739E
+ OK 0x15f31e
+
+ Information 0x15012C
+ Information 0x1581ac
+
+ Clock 0x1580AB
+ Clock 0x15002b
+
+ 1 0x15E20D
+ 1 0x15628d
+ 2 0x15638E
+ 2 0x15e30e
+ 3 0x15E40F
+ 3 0x15648f
+ 4 0x156590
+ 4 0x15e510
+ 5 0x15E611
+ 5 0x156691
+ 6 0x156792
+ 6 0x15e712
+ 7 0x15E813
+ 7 0x156893
+ 8 0x156994
+ 8 0x15e914
+ 9 0x15EA15
+ 9 0x156a95
+ 0 0x156C97
+ 0 0x15ec17
+
+ Checkmark 0x15ED18
+ Checkmark 0x156d98
+
+ Dropdown 0x156B96
+ Dropdown 0x15eb16
+
+ Arrow_Up 0x156F9A
+ Arrow_Up 0x15EF1A
+
+ Arrow_Down 0x15F722
+ Arrow_Down 0x1577a2
+
+ Arrow_Right 0x15749F
+ Arrow_Right 0x15f41f
+
+ Arrow_Left 0x15F21D
+ Arrow_Left 0x15729d
+
+ end codes
+
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/lircrc b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/lircrc
new file mode 100644
index 0000000..85365c4
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/lircrc
@@ -0,0 +1,258 @@
+begin
+prog = mythtv
+button = A
+config = E
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = B
+config = O
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Stop
+config = Esc
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Next
+config = U
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Maximize
+config = V
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Pause
+config = P
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Play
+config = P
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Mute
+config = |
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Vol-
+config = [
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Vol+
+config = ]
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = f
+config = PgDown
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = d
+config = PgUp
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = c
+config = F4
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = e
+config = Esc
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Arrow_Right
+config = Right
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Arrow_Left
+config = Left
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Arrow_Up
+config = Up
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Arrow_Down
+config = Down
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Ch+
+config = Up
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Ch-
+config = Down
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = OK
+config = Return
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 0
+config = 0
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Information
+config = i
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Checkmark
+config = Enter
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Dropdown
+config = M
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = TV
+config = F9
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = GUIDE
+config = M
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = Clock
+config = I
+repeat = 5
+end
diff --git a/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/preview.jpg
new file mode 100644
index 0000000..36612e5
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/ATI_Remote_Wonder_Plus/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/Lircmap.xml b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/Lircmap.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/Lircmap.xml
@@ -0,0 +1,38 @@
+<lircmap>
+<remote device="Snapstream_Firefly">
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FWD</forward>
+ <reverse>REW</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <select>OK</select>
+ <pageplus>CH+</pageplus>
+ <pageminus>CH-</pageminus>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>PLAY</title>
+ <info>INFO</info>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREV</skipminus>
+ <display>MAXI</display>
+ <start>FIREFLY</start>
+ <record>REC</record>
+ <volumeplus>VOL+</volumeplus>
+ <volumeminus>VOL-</volumeminus>
+ <mute>MUTE</mute>
+ <power>CLOSE</power>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+</remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/ir.conf.ff1 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/ir.conf.ff1
new file mode 100644
index 0000000..1cd93db
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/ir.conf.ff1
@@ -0,0 +1,7 @@
+#Snapstream Firefly Channel all
+#placed here by mv_ir.py
+blacklist ati_remote
+install ati_remote /bin/false
+
+alias char-major-61 lirc_atiusb
+#options lirc_atiusb
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/lircd.snapstrm.conf b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/lircd.snapstrm.conf
new file mode 100644
index 0000000..288bb51
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/lircd.snapstrm.conf
@@ -0,0 +1,127 @@
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.7.0(any) on Fri Mar 11 08:51:45 2005
+#
+# contributed by
+#
+# brand: Snapstream Firefly Remote
+# model no. of remote control:
+# devices being controlled by this remote:
+#
+
+begin remote
+
+name Snapstream_Firefly
+bits 40
+eps 30
+aeps 100
+
+one 0 0
+zero 0 0
+gap 219964
+toggle_bit 0
+
+
+begin codes
+MAXI 0x0000001481AC0000
+MAXI 0x00000014012C0000
+CLOSE 0x00000014D7020000
+CLOSE 0x0000001457820000
+1 0x00000014628D0000
+1 0x00000014E20D0000
+2 0x00000014E30E0000
+2 0x00000014638E0000
+3 0x00000014648F0000
+3 0x00000014E40F0000
+4 0x00000014E5100000
+4 0x0000001465900000
+5 0x0000001466910000
+5 0x00000014E6110000
+6 0x00000014E7120000
+6 0x0000001467920000
+7 0x0000001468930000
+7 0x00000014E8130000
+8 0x00000014E9140000
+8 0x0000001469940000
+9 0x000000146A950000
+9 0x00000014EA150000
+0 0x00000014EC170000
+0 0x000000146C970000
+BACK 0x000000146B960000
+BACK 0x00000014EB160000
+ENT 0x00000014ED180000
+ENT 0x000000146D980000
+VOL+ 0x000000145E890000
+VOL+ 0x00000014DE090000
+VOL- 0x000000145D880000
+VOL- 0x00000014DD080000
+MUTE 0x000000145F8A0000
+MUTE 0x00000014DF0A0000
+FIREFLY 0x0000001455800000
+FIREFLY 0x00000014D5000000
+CH+ 0x00000014608B0000
+CH+ 0x00000014E00B0000
+CH- 0x00000014618C0000
+CH- 0x00000014E10C0000
+INFO 0x0000001483AE0000
+INFO 0x00000014032E0000
+OPTION 0x0000001484AF0000
+OPTION 0x00000014042F0000
+UP 0x000000146F9A0000
+UP 0x00000014EF1A0000
+LEFT 0x00000014729D0000
+LEFT 0x00000014F21D0000
+DOWN 0x0000001477A20000
+DOWN 0x00000014F7220000
+RIGHT 0x00000014749F0000
+RIGHT 0x00000014F41F0000
+OK 0x00000014739E0000
+OK 0x00000014F31E0000
+MENU 0x00000014719C0000
+MENU 0x00000014F11C0000
+EXIT 0x0000001475A00000
+EXIT 0x00000014F5200000
+REC 0x00000014FC270000
+REC 0x000000147CA70000
+PLAY 0x00000014FA250000
+PLAY 0x000000147AA50000
+STOP 0x00000014FD280000
+STOP 0x000000147DA80000
+REW 0x00000014F9240000
+REW 0x0000001479A40000
+FWD 0x00000014FB260000
+FWD 0x000000147BA60000
+PREV 0x00000014002B0000
+PREV 0x0000001480AB0000
+PAUSE 0x00000014FE290000
+PAUSE 0x000000147EA90000
+NEXT 0x00000014FF2A0000
+NEXT 0x000000147FAA0000
+MUSIC 0x00000014DB060000
+MUSIC 0x000000145B860000
+PHOTOS 0x00000014DA050000
+PHOTOS 0x000000145A850000
+DVD 0x00000014D9040000
+DVD 0x0000001459840000
+TV 0x00000014D8030000
+TV 0x0000001458830000
+VIDEO 0x00000014DC070000
+VIDEO 0x000000145C870000
+HELP 0x00000014D6010000
+HELP 0x0000001456810000
+MOUSE 0x00000014022D0000
+MOUSE 0x0000001482AD0000
+A 0x00000014EE190000
+A 0x000000146E990000
+B 0x00000014F01B0000
+B 0x00000014709B0000
+C 0x00000014F6210000
+C 0x0000001476A10000
+D 0x00000014F8230000
+D 0x0000001478A30000
+
+end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt
new file mode 100644
index 0000000..064e72d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt
@@ -0,0 +1,349 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Modified from Jarod Wilson's which came from Jeff Campbell's
+# By Brad Templeton
+# Modified to use the Firefly's Unique Buttons by Ryan Schmitz
+# Updated by RacerX for Linhes 8.0
+
+ # Remote Numbers 0-9
+
+begin
+ prog = mythtv
+ button = 0
+ repeat = 3
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = 1
+ repeat = 3
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ repeat = 3
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ repeat = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ repeat = 3
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ repeat = 3
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ repeat = 3
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ repeat = 3
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ repeat = 3
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ repeat = 3
+ config = 9
+end
+
+ # Escape/Back/Exit
+begin
+ prog = mythtv
+ button = BACK
+ config = Esc
+end
+
+ # OK/Select
+begin
+ prog = mythtv
+ button = ENT
+ config = pace
+end
+
+ # Volumn Up
+begin
+ prog = mythtv
+ button = VOL+
+ repeat = 3
+ config = F11
+end
+
+ # Volumn Down
+begin
+ prog = mythtv
+ button = VOL-
+ repeat = 3
+ config = F10
+end
+
+ # Mute
+begin
+ prog = mythtv
+ button = MUTE
+ repeat = 3
+ config = |
+end
+
+ # Firefly
+begin
+ prog = mythtv
+ button = FIREFLY
+ repeat = 3
+ config = F8
+end
+
+ # Channel Up
+begin
+ prog = mythtv
+ button = CH+
+ repeat = 3
+ config = Up
+end
+
+ # Channel Down
+begin
+ prog = mythtv
+ button = CH-
+ repeat = 3
+ config = Down
+end
+
+ # Info
+begin
+ prog = mythtv
+ button = INFO
+ repeat = 3
+ config = I
+end
+
+ # change tuners
+begin
+ prog = mythtv
+ button = OPTION
+ repeat = 3
+ config = Y
+end
+
+ # Up
+begin
+ prog = mythtv
+ button = UP
+ repeat = 3
+ config = Up
+end
+
+ # Left
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 3
+ config = Left
+end
+
+ # Down
+begin
+ prog = mythtv
+ button = DOWN
+ repeat = 3
+ config = Down
+end
+
+ # Right
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 3
+ config = Right
+end
+
+ # Ok/Select
+begin
+ prog = mythtv
+ button = OK
+ config = space
+end
+
+ # Menu
+begin
+ prog = mythtv
+ button = MENU
+ repeat = 3
+ config = M
+end
+
+ # Escape/Exit/Back
+begin
+ prog = mythtv
+ button = EXIT
+ config = Esc
+end
+
+ # Record
+begin
+ prog = mythtv
+ button = REC
+ repeat = 3
+ config = R
+end
+
+ # Play
+begin
+ prog = mythtv
+ button = PLAY
+ config = Return
+end
+
+ # Stop
+begin
+ prog = mythtv
+ button = STOP
+ config = Esc
+end
+
+ # Rewind
+begin
+ prog = mythtv
+ button = FWD
+ repeat = 3
+ config = PgDown
+end
+
+ # Fast Forward
+begin
+ prog = mythtv
+ button = REW
+ repeat = 3
+ config = PgUp
+end
+
+ # Skip Backward
+begin
+ prog = mythtv
+ button = PREV
+ repeat = 3
+ config = home
+end
+
+ # Skip Forward
+begin
+ prog = mythtv
+ button = NEXT
+ repeat = 3
+ config = End
+end
+
+ # Pause
+begin
+ prog = mythtv
+ button = Pause
+ repeat = 3
+ config = P
+end
+
+ # Delete
+begin
+ prog = mythtv
+ button = A
+ repeat = 3
+ config = D
+end
+
+ # Decrease Playback Speed
+begin
+ prog = mythtv
+ button = B
+ repeat = 3
+ config = J
+end
+
+ # Double Playback Speed
+begin
+ prog = mythtv
+ button = C
+ repeat = 3
+ config = J
+end
+
+ # Time Stretch
+begin
+ prog = mythtv
+ button = D
+ repeat = 3
+ config = Y
+end
+
+ ### Jump Points need to match config in mythweb keybindings
+
+ # Myth Music
+begin
+ prog = mythtv
+ button = Music
+ repeat = 3
+ config = F4
+end
+
+ # Live TV
+begin
+ prog = mythtv
+ button = TV
+ repeat = 3
+ config = F5
+end
+
+ # Myth Video Gallery
+begin
+ prog = mythtv
+ button = VIDEO
+ repeat = 3
+ config = F2
+end
+
+ # Myth Image Gallery
+begin
+ prog = mythtv
+ button = PHOTOS
+ repeat = 3
+ config = F
+end
+
+
+begin
+ prog = irexec
+ button = HELP
+ config = env DISPLAY=:0 xdotool key alt+h
+ flags = quit
+end
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/preview.jpg
new file mode 100644
index 0000000..a1fbc6e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_all/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/Lircmap.xml b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/Lircmap.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/Lircmap.xml
@@ -0,0 +1,38 @@
+<lircmap>
+<remote device="Snapstream_Firefly">
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FWD</forward>
+ <reverse>REW</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <select>OK</select>
+ <pageplus>CH+</pageplus>
+ <pageminus>CH-</pageminus>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>PLAY</title>
+ <info>INFO</info>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREV</skipminus>
+ <display>MAXI</display>
+ <start>FIREFLY</start>
+ <record>REC</record>
+ <volumeplus>VOL+</volumeplus>
+ <volumeminus>VOL-</volumeminus>
+ <mute>MUTE</mute>
+ <power>CLOSE</power>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+</remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/ir.conf.ff1 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/ir.conf.ff1
new file mode 100644
index 0000000..272b877
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/ir.conf.ff1
@@ -0,0 +1,7 @@
+#Snapstream Firefly Channel 1
+#placed here by mv_ir.py
+blacklist ati_remote
+install ati_remote /bin/false
+
+alias char-major-61 lirc_atiusb
+options lirc_atiusb unique=1 mask=0x0001
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircd.conf.ff1 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircd.conf.ff1
new file mode 100644
index 0000000..fc48b9d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircd.conf.ff1
@@ -0,0 +1,111 @@
+#Snapstream Firefly Default Channel 1
+begin remote
+ name Snapstream_Firefly
+ bits 40
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 219964
+ toggle_bit 0
+ begin codes
+ MAXI 0x0000001481AC0000
+ MAXI 0x00000014012C0000
+ CLOSE 0x00000014D7020000
+ CLOSE 0x0000001457820000
+ 1 0x00000014628D0000
+ 1 0x00000014E20D0000
+ 2 0x00000014E30E0000
+ 2 0x00000014638E0000
+ 3 0x00000014648F0000
+ 3 0x00000014E40F0000
+ 4 0x00000014E5100000
+ 4 0x0000001465900000
+ 5 0x0000001466910000
+ 5 0x00000014E6110000
+ 6 0x00000014E7120000
+ 6 0x0000001467920000
+ 7 0x0000001468930000
+ 7 0x00000014E8130000
+ 8 0x00000014E9140000
+ 8 0x0000001469940000
+ 9 0x000000146A950000
+ 9 0x00000014EA150000
+ 0 0x00000014EC170000
+ 0 0x000000146C970000
+ BACK 0x000000146B960000
+ BACK 0x00000014EB160000
+ ENT 0x00000014ED180000
+ ENT 0x000000146D980000
+ VOL+ 0x000000145E890000
+ VOL+ 0x00000014DE090000
+ VOL- 0x000000145D880000
+ VOL- 0x00000014DD080000
+ MUTE 0x000000145F8A0000
+ MUTE 0x00000014DF0A0000
+ FIREFLY 0x0000001455800000
+ FIREFLY 0x00000014D5000000
+ CH+ 0x00000014608B0000
+ CH+ 0x00000014E00B0000
+ CH- 0x00000014618C0000
+ CH- 0x00000014E10C0000
+ INFO 0x0000001483AE0000
+ INFO 0x00000014032E0000
+ OPTION 0x0000001484AF0000
+ OPTION 0x00000014042F0000
+ UP 0x000000146F9A0000
+ UP 0x00000014EF1A0000
+ LEFT 0x00000014729D0000
+ LEFT 0x00000014F21D0000
+ DOWN 0x0000001477A20000
+ DOWN 0x00000014F7220000
+ RIGHT 0x00000014749F0000
+ RIGHT 0x00000014F41F0000
+ OK 0x00000014739E0000
+ OK 0x00000014F31E0000
+ MENU 0x00000014719C0000
+ MENU 0x00000014F11C0000
+ EXIT 0x0000001475A00000
+ EXIT 0x00000014F5200000
+ REC 0x00000014FC270000
+ REC 0x000000147CA70000
+ PLAY 0x00000014FA250000
+ PLAY 0x000000147AA50000
+ STOP 0x00000014FD280000
+ STOP 0x000000147DA80000
+ REW 0x00000014F9240000
+ REW 0x0000001479A40000
+ FWD 0x00000014FB260000
+ FWD 0x000000147BA60000
+ PREV 0x00000014002B0000
+ PREV 0x0000001480AB0000
+ PAUSE 0x00000014FE290000
+ PAUSE 0x000000147EA90000
+ NEXT 0x00000014FF2A0000
+ NEXT 0x000000147FAA0000
+ MUSIC 0x00000014DB060000
+ MUSIC 0x000000145B860000
+ PHOTOS 0x00000014DA050000
+ PHOTOS 0x000000145A850000
+ DVD 0x00000014D9040000
+ DVD 0x0000001459840000
+ TV 0x00000014D8030000
+ TV 0x0000001458830000
+ VIDEO 0x00000014DC070000
+ VIDEO 0x000000145C870000
+ HELP 0x00000014D6010000
+ HELP 0x0000001456810000
+ MOUSE 0x00000014022D0000
+ MOUSE 0x0000001482AD0000
+ A 0x00000014EE190000
+ A 0x000000146E990000
+ B 0x00000014F01B0000
+ B 0x00000014709B0000
+ C 0x00000014F6210000
+ C 0x0000001476A10000
+ D 0x00000014F8230000
+ D 0x0000001478A30000
+
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt
new file mode 100644
index 0000000..064e72d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt
@@ -0,0 +1,349 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Modified from Jarod Wilson's which came from Jeff Campbell's
+# By Brad Templeton
+# Modified to use the Firefly's Unique Buttons by Ryan Schmitz
+# Updated by RacerX for Linhes 8.0
+
+ # Remote Numbers 0-9
+
+begin
+ prog = mythtv
+ button = 0
+ repeat = 3
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = 1
+ repeat = 3
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ repeat = 3
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ repeat = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ repeat = 3
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ repeat = 3
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ repeat = 3
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ repeat = 3
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ repeat = 3
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ repeat = 3
+ config = 9
+end
+
+ # Escape/Back/Exit
+begin
+ prog = mythtv
+ button = BACK
+ config = Esc
+end
+
+ # OK/Select
+begin
+ prog = mythtv
+ button = ENT
+ config = pace
+end
+
+ # Volumn Up
+begin
+ prog = mythtv
+ button = VOL+
+ repeat = 3
+ config = F11
+end
+
+ # Volumn Down
+begin
+ prog = mythtv
+ button = VOL-
+ repeat = 3
+ config = F10
+end
+
+ # Mute
+begin
+ prog = mythtv
+ button = MUTE
+ repeat = 3
+ config = |
+end
+
+ # Firefly
+begin
+ prog = mythtv
+ button = FIREFLY
+ repeat = 3
+ config = F8
+end
+
+ # Channel Up
+begin
+ prog = mythtv
+ button = CH+
+ repeat = 3
+ config = Up
+end
+
+ # Channel Down
+begin
+ prog = mythtv
+ button = CH-
+ repeat = 3
+ config = Down
+end
+
+ # Info
+begin
+ prog = mythtv
+ button = INFO
+ repeat = 3
+ config = I
+end
+
+ # change tuners
+begin
+ prog = mythtv
+ button = OPTION
+ repeat = 3
+ config = Y
+end
+
+ # Up
+begin
+ prog = mythtv
+ button = UP
+ repeat = 3
+ config = Up
+end
+
+ # Left
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 3
+ config = Left
+end
+
+ # Down
+begin
+ prog = mythtv
+ button = DOWN
+ repeat = 3
+ config = Down
+end
+
+ # Right
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 3
+ config = Right
+end
+
+ # Ok/Select
+begin
+ prog = mythtv
+ button = OK
+ config = space
+end
+
+ # Menu
+begin
+ prog = mythtv
+ button = MENU
+ repeat = 3
+ config = M
+end
+
+ # Escape/Exit/Back
+begin
+ prog = mythtv
+ button = EXIT
+ config = Esc
+end
+
+ # Record
+begin
+ prog = mythtv
+ button = REC
+ repeat = 3
+ config = R
+end
+
+ # Play
+begin
+ prog = mythtv
+ button = PLAY
+ config = Return
+end
+
+ # Stop
+begin
+ prog = mythtv
+ button = STOP
+ config = Esc
+end
+
+ # Rewind
+begin
+ prog = mythtv
+ button = FWD
+ repeat = 3
+ config = PgDown
+end
+
+ # Fast Forward
+begin
+ prog = mythtv
+ button = REW
+ repeat = 3
+ config = PgUp
+end
+
+ # Skip Backward
+begin
+ prog = mythtv
+ button = PREV
+ repeat = 3
+ config = home
+end
+
+ # Skip Forward
+begin
+ prog = mythtv
+ button = NEXT
+ repeat = 3
+ config = End
+end
+
+ # Pause
+begin
+ prog = mythtv
+ button = Pause
+ repeat = 3
+ config = P
+end
+
+ # Delete
+begin
+ prog = mythtv
+ button = A
+ repeat = 3
+ config = D
+end
+
+ # Decrease Playback Speed
+begin
+ prog = mythtv
+ button = B
+ repeat = 3
+ config = J
+end
+
+ # Double Playback Speed
+begin
+ prog = mythtv
+ button = C
+ repeat = 3
+ config = J
+end
+
+ # Time Stretch
+begin
+ prog = mythtv
+ button = D
+ repeat = 3
+ config = Y
+end
+
+ ### Jump Points need to match config in mythweb keybindings
+
+ # Myth Music
+begin
+ prog = mythtv
+ button = Music
+ repeat = 3
+ config = F4
+end
+
+ # Live TV
+begin
+ prog = mythtv
+ button = TV
+ repeat = 3
+ config = F5
+end
+
+ # Myth Video Gallery
+begin
+ prog = mythtv
+ button = VIDEO
+ repeat = 3
+ config = F2
+end
+
+ # Myth Image Gallery
+begin
+ prog = mythtv
+ button = PHOTOS
+ repeat = 3
+ config = F
+end
+
+
+begin
+ prog = irexec
+ button = HELP
+ config = env DISPLAY=:0 xdotool key alt+h
+ flags = quit
+end
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/preview.jpg
new file mode 100644
index 0000000..a1fbc6e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch1/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/Lircmap.xml b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/Lircmap.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/Lircmap.xml
@@ -0,0 +1,38 @@
+<lircmap>
+<remote device="Snapstream_Firefly">
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FWD</forward>
+ <reverse>REW</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <select>OK</select>
+ <pageplus>CH+</pageplus>
+ <pageminus>CH-</pageminus>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>PLAY</title>
+ <info>INFO</info>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREV</skipminus>
+ <display>MAXI</display>
+ <start>FIREFLY</start>
+ <record>REC</record>
+ <volumeplus>VOL+</volumeplus>
+ <volumeminus>VOL-</volumeminus>
+ <mute>MUTE</mute>
+ <power>CLOSE</power>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+</remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/ir.conf.ff2 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/ir.conf.ff2
new file mode 100644
index 0000000..22852233
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/ir.conf.ff2
@@ -0,0 +1,7 @@
+#Snapstream Firefly Channel 2
+#placed here by mv_ir.py
+blacklist ati_remote
+install ati_remote /bin/false
+
+alias char-major-61 lirc_atiusb
+options lirc_atiusb unique=1 mask=0x0002
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircd.conf.ff2 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircd.conf.ff2
new file mode 100644
index 0000000..6218b7f
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircd.conf.ff2
@@ -0,0 +1,111 @@
+#Snapstream Firefly Channel 2
+begin remote
+ name Snapstream_Firefly
+ bits 40
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 219964
+ toggle_bit 0
+ begin codes
+ MAXI 0x0000001491AC1000
+ MAXI 0x00000014112C1000
+ CLOSE 0x00000014E7021000
+ CLOSE 0x0000001467821000
+ 1 0x00000014728D1000
+ 1 0x00000014F20D1000
+ 2 0x00000014F30E1000
+ 2 0x00000014738E1000
+ 3 0x00000014748F1000
+ 3 0x00000014F40F1000
+ 4 0x00000014F5101000
+ 4 0x0000001475901000
+ 5 0x0000001476911000
+ 5 0x00000014F6111000
+ 6 0x00000014F7121000
+ 6 0x0000001477921000
+ 7 0x0000001478931000
+ 7 0x00000014F8131000
+ 8 0x00000014F9141000
+ 8 0x0000001479941000
+ 9 0x000000147A951000
+ 9 0x00000014FA151000
+ 0 0x00000014FC171000
+ 0 0x000000147C971000
+ BACK 0x000000147B961000
+ BACK 0x00000014FB161000
+ ENT 0x00000014FD181000
+ ENT 0x000000147D981000
+ VOL+ 0x000000146E891000
+ VOL+ 0x00000014EE091000
+ VOL- 0x000000146D881000
+ VOL- 0x00000014ED081000
+ MUTE 0x000000146F8A1000
+ MUTE 0x00000014EF0A1000
+ FIREFLY 0x0000001465801000
+ FIREFLY 0x00000014E5001000
+ CH+ 0x00000014708B1000
+ CH+ 0x00000014F00B1000
+ CH- 0x00000014718C1000
+ CH- 0x00000014F10C1000
+ INFO 0x0000001493AE1000
+ INFO 0x00000014132E1000
+ OPTION 0x0000001494AF1000
+ OPTION 0x00000014142F1000
+ UP 0x000000147F9A1000
+ UP 0x00000014FF1A1000
+ LEFT 0x00000014829D1000
+ LEFT 0x00000014021D1000
+ DOWN 0x0000001487A21000
+ DOWN 0x0000001407221000
+ RIGHT 0x00000014849F1000
+ RIGHT 0x00000014041F1000
+ OK 0x00000014839E1000
+ OK 0x00000014031E1000
+ MENU 0x00000014819C1000
+ MENU 0x00000014011C1000
+ EXIT 0x0000001485A01000
+ EXIT 0x0000001405201000
+ REC 0x000000140C271000
+ REC 0x000000148CA71000
+ PLAY 0x000000140A251000
+ PLAY 0x000000148AA51000
+ STOP 0x000000140D281000
+ STOP 0x000000148DA81000
+ REW 0x0000001409241000
+ REW 0x0000001489A41000
+ FWD 0x000000140B261000
+ FWD 0x000000148BA61000
+ PREV 0x00000014102B1000
+ PREV 0x0000001490AB1000
+ PAUSE 0x000000140E291000
+ PAUSE 0x000000148EA91000
+ NEXT 0x000000140F2A1000
+ NEXT 0x000000148FAA1000
+ MUSIC 0x00000014EB061000
+ MUSIC 0x000000146B861000
+ PHOTOS 0x00000014EA051000
+ PHOTOS 0x000000146A851000
+ DVD 0x00000014E9041000
+ DVD 0x0000001469841000
+ TV 0x00000014E8031000
+ TV 0x0000001468831000
+ VIDEO 0x00000014EC071000
+ VIDEO 0x000000146C871000
+ HELP 0x00000014E6011000
+ HELP 0x0000001466811000
+ MOUSE 0x00000014122D1000
+ MOUSE 0x0000001492AD1000
+ A 0x00000014FE191000
+ A 0x000000147E991000
+ B 0x00000014001B1000
+ B 0x00000014809B1000
+ C 0x0000001406211000
+ C 0x0000001486A11000
+ D 0x0000001408231000
+ D 0x0000001488A31000
+
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt
new file mode 100644
index 0000000..064e72d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt
@@ -0,0 +1,349 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Modified from Jarod Wilson's which came from Jeff Campbell's
+# By Brad Templeton
+# Modified to use the Firefly's Unique Buttons by Ryan Schmitz
+# Updated by RacerX for Linhes 8.0
+
+ # Remote Numbers 0-9
+
+begin
+ prog = mythtv
+ button = 0
+ repeat = 3
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = 1
+ repeat = 3
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ repeat = 3
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ repeat = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ repeat = 3
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ repeat = 3
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ repeat = 3
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ repeat = 3
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ repeat = 3
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ repeat = 3
+ config = 9
+end
+
+ # Escape/Back/Exit
+begin
+ prog = mythtv
+ button = BACK
+ config = Esc
+end
+
+ # OK/Select
+begin
+ prog = mythtv
+ button = ENT
+ config = pace
+end
+
+ # Volumn Up
+begin
+ prog = mythtv
+ button = VOL+
+ repeat = 3
+ config = F11
+end
+
+ # Volumn Down
+begin
+ prog = mythtv
+ button = VOL-
+ repeat = 3
+ config = F10
+end
+
+ # Mute
+begin
+ prog = mythtv
+ button = MUTE
+ repeat = 3
+ config = |
+end
+
+ # Firefly
+begin
+ prog = mythtv
+ button = FIREFLY
+ repeat = 3
+ config = F8
+end
+
+ # Channel Up
+begin
+ prog = mythtv
+ button = CH+
+ repeat = 3
+ config = Up
+end
+
+ # Channel Down
+begin
+ prog = mythtv
+ button = CH-
+ repeat = 3
+ config = Down
+end
+
+ # Info
+begin
+ prog = mythtv
+ button = INFO
+ repeat = 3
+ config = I
+end
+
+ # change tuners
+begin
+ prog = mythtv
+ button = OPTION
+ repeat = 3
+ config = Y
+end
+
+ # Up
+begin
+ prog = mythtv
+ button = UP
+ repeat = 3
+ config = Up
+end
+
+ # Left
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 3
+ config = Left
+end
+
+ # Down
+begin
+ prog = mythtv
+ button = DOWN
+ repeat = 3
+ config = Down
+end
+
+ # Right
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 3
+ config = Right
+end
+
+ # Ok/Select
+begin
+ prog = mythtv
+ button = OK
+ config = space
+end
+
+ # Menu
+begin
+ prog = mythtv
+ button = MENU
+ repeat = 3
+ config = M
+end
+
+ # Escape/Exit/Back
+begin
+ prog = mythtv
+ button = EXIT
+ config = Esc
+end
+
+ # Record
+begin
+ prog = mythtv
+ button = REC
+ repeat = 3
+ config = R
+end
+
+ # Play
+begin
+ prog = mythtv
+ button = PLAY
+ config = Return
+end
+
+ # Stop
+begin
+ prog = mythtv
+ button = STOP
+ config = Esc
+end
+
+ # Rewind
+begin
+ prog = mythtv
+ button = FWD
+ repeat = 3
+ config = PgDown
+end
+
+ # Fast Forward
+begin
+ prog = mythtv
+ button = REW
+ repeat = 3
+ config = PgUp
+end
+
+ # Skip Backward
+begin
+ prog = mythtv
+ button = PREV
+ repeat = 3
+ config = home
+end
+
+ # Skip Forward
+begin
+ prog = mythtv
+ button = NEXT
+ repeat = 3
+ config = End
+end
+
+ # Pause
+begin
+ prog = mythtv
+ button = Pause
+ repeat = 3
+ config = P
+end
+
+ # Delete
+begin
+ prog = mythtv
+ button = A
+ repeat = 3
+ config = D
+end
+
+ # Decrease Playback Speed
+begin
+ prog = mythtv
+ button = B
+ repeat = 3
+ config = J
+end
+
+ # Double Playback Speed
+begin
+ prog = mythtv
+ button = C
+ repeat = 3
+ config = J
+end
+
+ # Time Stretch
+begin
+ prog = mythtv
+ button = D
+ repeat = 3
+ config = Y
+end
+
+ ### Jump Points need to match config in mythweb keybindings
+
+ # Myth Music
+begin
+ prog = mythtv
+ button = Music
+ repeat = 3
+ config = F4
+end
+
+ # Live TV
+begin
+ prog = mythtv
+ button = TV
+ repeat = 3
+ config = F5
+end
+
+ # Myth Video Gallery
+begin
+ prog = mythtv
+ button = VIDEO
+ repeat = 3
+ config = F2
+end
+
+ # Myth Image Gallery
+begin
+ prog = mythtv
+ button = PHOTOS
+ repeat = 3
+ config = F
+end
+
+
+begin
+ prog = irexec
+ button = HELP
+ config = env DISPLAY=:0 xdotool key alt+h
+ flags = quit
+end
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/preview.jpg
new file mode 100644
index 0000000..a1fbc6e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch2/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/Lircmap.xml b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/Lircmap.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/Lircmap.xml
@@ -0,0 +1,38 @@
+<lircmap>
+<remote device="Snapstream_Firefly">
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FWD</forward>
+ <reverse>REW</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <select>OK</select>
+ <pageplus>CH+</pageplus>
+ <pageminus>CH-</pageminus>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>PLAY</title>
+ <info>INFO</info>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREV</skipminus>
+ <display>MAXI</display>
+ <start>FIREFLY</start>
+ <record>REC</record>
+ <volumeplus>VOL+</volumeplus>
+ <volumeminus>VOL-</volumeminus>
+ <mute>MUTE</mute>
+ <power>CLOSE</power>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+</remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/ir.conf.ff3 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/ir.conf.ff3
new file mode 100644
index 0000000..7a42baa
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/ir.conf.ff3
@@ -0,0 +1,7 @@
+#Snapstream Firefly Channel 3
+#placed here by mv_ir.py
+blacklist ati_remote
+install ati_remote /bin/false
+
+alias char-major-61 lirc_atiusb
+options lirc_atiusb unique=1 mask=0x0004
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircd.conf.ff3 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircd.conf.ff3
new file mode 100644
index 0000000..bd9d03f
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircd.conf.ff3
@@ -0,0 +1,111 @@
+#Snapstream Firefly Channel 3
+begin remote
+ name Snapstream_Firefly
+ bits 40
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 219964
+ toggle_bit 0
+ begin codes
+ MAXI 0x00000014A1AC2000
+ MAXI 0x00000014212C2000
+ CLOSE 0x00000014F7022000
+ CLOSE 0x0000001477822000
+ 1 0x00000014828D2000
+ 1 0x00000014020D2000
+ 2 0x00000014030E2000
+ 2 0x00000014838E2000
+ 3 0x00000014848F2000
+ 3 0x00000014040F2000
+ 4 0x0000001405102000
+ 4 0x0000001485902000
+ 5 0x0000001486912000
+ 5 0x0000001406112000
+ 6 0x0000001407122000
+ 6 0x0000001487922000
+ 7 0x0000001488932000
+ 7 0x0000001408132000
+ 8 0x0000001409142000
+ 8 0x0000001489942000
+ 9 0x000000148A952000
+ 9 0x000000140A152000
+ 0 0x000000140C172000
+ 0 0x000000148C972000
+ BACK 0x000000148B962000
+ BACK 0x000000140B162000
+ ENT 0x000000140D182000
+ ENT 0x000000148D982000
+ VOL+ 0x000000147E892000
+ VOL+ 0x00000014FE092000
+ VOL- 0x000000147D882000
+ VOL- 0x00000014FD082000
+ MUTE 0x000000147F8A2000
+ MUTE 0x00000014FF0A2000
+ FIREFLY 0x0000001475802000
+ FIREFLY 0x00000014F5002000
+ CH+ 0x00000014808B2000
+ CH+ 0x00000014000B2000
+ CH- 0x00000014818C2000
+ CH- 0x00000014010C2000
+ INFO 0x00000014A3AE2000
+ INFO 0x00000014232E2000
+ OPTION 0x00000014A4AF2000
+ OPTION 0x00000014242F2000
+ UP 0x000000148F9A2000
+ UP 0x000000140F1A2000
+ LEFT 0x00000014929D2000
+ LEFT 0x00000014121D2000
+ DOWN 0x0000001497A22000
+ DOWN 0x0000001417222000
+ RIGHT 0x00000014949F2000
+ RIGHT 0x00000014141F2000
+ OK 0x00000014939E2000
+ OK 0x00000014131E2000
+ MENU 0x00000014919C2000
+ MENU 0x00000014111C2000
+ EXIT 0x0000001495A02000
+ EXIT 0x0000001415202000
+ REC 0x000000141C272000
+ REC 0x000000149CA72000
+ PLAY 0x000000141A252000
+ PLAY 0x000000149AA52000
+ STOP 0x000000141D282000
+ STOP 0x000000149DA82000
+ REW 0x0000001419242000
+ REW 0x0000001499A42000
+ FWD 0x000000141B262000
+ FWD 0x000000149BA62000
+ PREV 0x00000014202B2000
+ PREV 0x00000014A0AB2000
+ PAUSE 0x000000141E292000
+ PAUSE 0x000000149EA92000
+ NEXT 0x000000141F2A2000
+ NEXT 0x000000149FAA2000
+ MUSIC 0x00000014FB062000
+ MUSIC 0x000000147B862000
+ PHOTOS 0x00000014FA052000
+ PHOTOS 0x000000147A852000
+ DVD 0x00000014F9042000
+ DVD 0x0000001479842000
+ TV 0x00000014F8032000
+ TV 0x0000001478832000
+ VIDEO 0x00000014FC072000
+ VIDEO 0x000000147C872000
+ HELP 0x00000014F6012000
+ HELP 0x0000001476812000
+ MOUSE 0x00000014222D2000
+ MOUSE 0x00000014A2AD2000
+ A 0x000000140E192000
+ A 0x000000148E992000
+ B 0x00000014101B2000
+ B 0x00000014909B2000
+ C 0x0000001416212000
+ C 0x0000001496A12000
+ D 0x0000001418232000
+ D 0x0000001498A32000
+
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt
new file mode 100644
index 0000000..064e72d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt
@@ -0,0 +1,349 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Modified from Jarod Wilson's which came from Jeff Campbell's
+# By Brad Templeton
+# Modified to use the Firefly's Unique Buttons by Ryan Schmitz
+# Updated by RacerX for Linhes 8.0
+
+ # Remote Numbers 0-9
+
+begin
+ prog = mythtv
+ button = 0
+ repeat = 3
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = 1
+ repeat = 3
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ repeat = 3
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ repeat = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ repeat = 3
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ repeat = 3
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ repeat = 3
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ repeat = 3
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ repeat = 3
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ repeat = 3
+ config = 9
+end
+
+ # Escape/Back/Exit
+begin
+ prog = mythtv
+ button = BACK
+ config = Esc
+end
+
+ # OK/Select
+begin
+ prog = mythtv
+ button = ENT
+ config = pace
+end
+
+ # Volumn Up
+begin
+ prog = mythtv
+ button = VOL+
+ repeat = 3
+ config = F11
+end
+
+ # Volumn Down
+begin
+ prog = mythtv
+ button = VOL-
+ repeat = 3
+ config = F10
+end
+
+ # Mute
+begin
+ prog = mythtv
+ button = MUTE
+ repeat = 3
+ config = |
+end
+
+ # Firefly
+begin
+ prog = mythtv
+ button = FIREFLY
+ repeat = 3
+ config = F8
+end
+
+ # Channel Up
+begin
+ prog = mythtv
+ button = CH+
+ repeat = 3
+ config = Up
+end
+
+ # Channel Down
+begin
+ prog = mythtv
+ button = CH-
+ repeat = 3
+ config = Down
+end
+
+ # Info
+begin
+ prog = mythtv
+ button = INFO
+ repeat = 3
+ config = I
+end
+
+ # change tuners
+begin
+ prog = mythtv
+ button = OPTION
+ repeat = 3
+ config = Y
+end
+
+ # Up
+begin
+ prog = mythtv
+ button = UP
+ repeat = 3
+ config = Up
+end
+
+ # Left
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 3
+ config = Left
+end
+
+ # Down
+begin
+ prog = mythtv
+ button = DOWN
+ repeat = 3
+ config = Down
+end
+
+ # Right
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 3
+ config = Right
+end
+
+ # Ok/Select
+begin
+ prog = mythtv
+ button = OK
+ config = space
+end
+
+ # Menu
+begin
+ prog = mythtv
+ button = MENU
+ repeat = 3
+ config = M
+end
+
+ # Escape/Exit/Back
+begin
+ prog = mythtv
+ button = EXIT
+ config = Esc
+end
+
+ # Record
+begin
+ prog = mythtv
+ button = REC
+ repeat = 3
+ config = R
+end
+
+ # Play
+begin
+ prog = mythtv
+ button = PLAY
+ config = Return
+end
+
+ # Stop
+begin
+ prog = mythtv
+ button = STOP
+ config = Esc
+end
+
+ # Rewind
+begin
+ prog = mythtv
+ button = FWD
+ repeat = 3
+ config = PgDown
+end
+
+ # Fast Forward
+begin
+ prog = mythtv
+ button = REW
+ repeat = 3
+ config = PgUp
+end
+
+ # Skip Backward
+begin
+ prog = mythtv
+ button = PREV
+ repeat = 3
+ config = home
+end
+
+ # Skip Forward
+begin
+ prog = mythtv
+ button = NEXT
+ repeat = 3
+ config = End
+end
+
+ # Pause
+begin
+ prog = mythtv
+ button = Pause
+ repeat = 3
+ config = P
+end
+
+ # Delete
+begin
+ prog = mythtv
+ button = A
+ repeat = 3
+ config = D
+end
+
+ # Decrease Playback Speed
+begin
+ prog = mythtv
+ button = B
+ repeat = 3
+ config = J
+end
+
+ # Double Playback Speed
+begin
+ prog = mythtv
+ button = C
+ repeat = 3
+ config = J
+end
+
+ # Time Stretch
+begin
+ prog = mythtv
+ button = D
+ repeat = 3
+ config = Y
+end
+
+ ### Jump Points need to match config in mythweb keybindings
+
+ # Myth Music
+begin
+ prog = mythtv
+ button = Music
+ repeat = 3
+ config = F4
+end
+
+ # Live TV
+begin
+ prog = mythtv
+ button = TV
+ repeat = 3
+ config = F5
+end
+
+ # Myth Video Gallery
+begin
+ prog = mythtv
+ button = VIDEO
+ repeat = 3
+ config = F2
+end
+
+ # Myth Image Gallery
+begin
+ prog = mythtv
+ button = PHOTOS
+ repeat = 3
+ config = F
+end
+
+
+begin
+ prog = irexec
+ button = HELP
+ config = env DISPLAY=:0 xdotool key alt+h
+ flags = quit
+end
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/preview.jpg
new file mode 100644
index 0000000..a1fbc6e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch3/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/Lircmap.xml b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/Lircmap.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/Lircmap.xml
@@ -0,0 +1,38 @@
+<lircmap>
+<remote device="Snapstream_Firefly">
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FWD</forward>
+ <reverse>REW</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <select>OK</select>
+ <pageplus>CH+</pageplus>
+ <pageminus>CH-</pageminus>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>PLAY</title>
+ <info>INFO</info>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREV</skipminus>
+ <display>MAXI</display>
+ <start>FIREFLY</start>
+ <record>REC</record>
+ <volumeplus>VOL+</volumeplus>
+ <volumeminus>VOL-</volumeminus>
+ <mute>MUTE</mute>
+ <power>CLOSE</power>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+</remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/ir.conf.ff4 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/ir.conf.ff4
new file mode 100644
index 0000000..ba1fa1c
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/ir.conf.ff4
@@ -0,0 +1,7 @@
+#Snapstream Firefly Channel 4
+#placed here by mv_ir.py
+blacklist ati_remote
+install ati_remote /bin/false
+
+alias char-major-61 lirc_atiusb
+options lirc_atiusb unique=1 mask=0x0008
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircd.conf.ff4 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircd.conf.ff4
new file mode 100644
index 0000000..79b0370
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircd.conf.ff4
@@ -0,0 +1,111 @@
+#Snapstream Firefly Channel 4
+begin remote
+ name Snapstream_Firefly
+ bits 40
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 219964
+ toggle_bit 0
+ begin codes
+ MAXI 0x00000014B1AC3000
+ MAXI 0x00000014312C3000
+ CLOSE 0x0000001407023000
+ CLOSE 0x0000001487823000
+ 1 0x00000014928D3000
+ 1 0x00000014120D3000
+ 2 0x00000014130E3000
+ 2 0x00000014938E3000
+ 3 0x00000014948F3000
+ 3 0x00000014140F3000
+ 4 0x0000001415103000
+ 4 0x0000001495903000
+ 5 0x0000001496913000
+ 5 0x0000001416113000
+ 6 0x0000001417123000
+ 6 0x0000001497923000
+ 7 0x0000001498933000
+ 7 0x0000001418133000
+ 8 0x0000001419143000
+ 8 0x0000001499943000
+ 9 0x000000149A953000
+ 9 0x000000141A153000
+ 0 0x000000141C173000
+ 0 0x000000149C973000
+ BACK 0x000000149B963000
+ BACK 0x000000141B163000
+ ENT 0x000000141D183000
+ ENT 0x000000149D983000
+ VOL+ 0x000000148E893000
+ VOL+ 0x000000140E093000
+ VOL- 0x000000148D883000
+ VOL- 0x000000140D083000
+ MUTE 0x000000148F8A3000
+ MUTE 0x000000140F0A3000
+ FIREFLY 0x0000001485803000
+ FIREFLY 0x0000001405003000
+ CH+ 0x00000014908B3000
+ CH+ 0x00000014100B3000
+ CH- 0x00000014918C3000
+ CH- 0x00000014110C3000
+ INFO 0x00000014B3AE3000
+ INFO 0x00000014332E3000
+ OPTION 0x00000014B4AF3000
+ OPTION 0x00000014342F3000
+ UP 0x000000149F9A3000
+ UP 0x000000141F1A3000
+ LEFT 0x00000014A29D3000
+ LEFT 0x00000014221D3000
+ DOWN 0x00000014A7A23000
+ DOWN 0x0000001427223000
+ RIGHT 0x00000014A49F3000
+ RIGHT 0x00000014241F3000
+ OK 0x00000014A39E3000
+ OK 0x00000014231E3000
+ MENU 0x00000014A19C3000
+ MENU 0x00000014211C3000
+ EXIT 0x00000014A5A03000
+ EXIT 0x0000001425203000
+ REC 0x000000142C273000
+ REC 0x00000014ACA73000
+ PLAY 0x000000142A253000
+ PLAY 0x00000014AAA53000
+ STOP 0x000000142D283000
+ STOP 0x00000014ADA83000
+ REW 0x0000001429243000
+ REW 0x00000014A9A43000
+ FWD 0x000000142B263000
+ FWD 0x00000014ABA63000
+ PREV 0x00000014302B3000
+ PREV 0x00000014B0AB3000
+ PAUSE 0x000000142E293000
+ PAUSE 0x00000014AEA93000
+ NEXT 0x000000142F2A3000
+ NEXT 0x00000014AFAA3000
+ MUSIC 0x000000140B063000
+ MUSIC 0x000000148B863000
+ PHOTOS 0x000000140A053000
+ PHOTOS 0x000000148A853000
+ DVD 0x0000001409043000
+ DVD 0x0000001489843000
+ TV 0x0000001408033000
+ TV 0x0000001488833000
+ VIDEO 0x000000140C073000
+ VIDEO 0x000000148C873000
+ HELP 0x0000001406013000
+ HELP 0x0000001486813000
+ MOUSE 0x00000014322D3000
+ MOUSE 0x00000014B2AD3000
+ A 0x000000141E193000
+ A 0x000000149E993000
+ B 0x00000014201B3000
+ B 0x00000014A09B3000
+ C 0x0000001426213000
+ C 0x00000014A6A13000
+ D 0x0000001428233000
+ D 0x00000014A8A33000
+
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt
new file mode 100644
index 0000000..064e72d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt
@@ -0,0 +1,349 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Modified from Jarod Wilson's which came from Jeff Campbell's
+# By Brad Templeton
+# Modified to use the Firefly's Unique Buttons by Ryan Schmitz
+# Updated by RacerX for Linhes 8.0
+
+ # Remote Numbers 0-9
+
+begin
+ prog = mythtv
+ button = 0
+ repeat = 3
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = 1
+ repeat = 3
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ repeat = 3
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ repeat = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ repeat = 3
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ repeat = 3
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ repeat = 3
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ repeat = 3
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ repeat = 3
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ repeat = 3
+ config = 9
+end
+
+ # Escape/Back/Exit
+begin
+ prog = mythtv
+ button = BACK
+ config = Esc
+end
+
+ # OK/Select
+begin
+ prog = mythtv
+ button = ENT
+ config = pace
+end
+
+ # Volumn Up
+begin
+ prog = mythtv
+ button = VOL+
+ repeat = 3
+ config = F11
+end
+
+ # Volumn Down
+begin
+ prog = mythtv
+ button = VOL-
+ repeat = 3
+ config = F10
+end
+
+ # Mute
+begin
+ prog = mythtv
+ button = MUTE
+ repeat = 3
+ config = |
+end
+
+ # Firefly
+begin
+ prog = mythtv
+ button = FIREFLY
+ repeat = 3
+ config = F8
+end
+
+ # Channel Up
+begin
+ prog = mythtv
+ button = CH+
+ repeat = 3
+ config = Up
+end
+
+ # Channel Down
+begin
+ prog = mythtv
+ button = CH-
+ repeat = 3
+ config = Down
+end
+
+ # Info
+begin
+ prog = mythtv
+ button = INFO
+ repeat = 3
+ config = I
+end
+
+ # change tuners
+begin
+ prog = mythtv
+ button = OPTION
+ repeat = 3
+ config = Y
+end
+
+ # Up
+begin
+ prog = mythtv
+ button = UP
+ repeat = 3
+ config = Up
+end
+
+ # Left
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 3
+ config = Left
+end
+
+ # Down
+begin
+ prog = mythtv
+ button = DOWN
+ repeat = 3
+ config = Down
+end
+
+ # Right
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 3
+ config = Right
+end
+
+ # Ok/Select
+begin
+ prog = mythtv
+ button = OK
+ config = space
+end
+
+ # Menu
+begin
+ prog = mythtv
+ button = MENU
+ repeat = 3
+ config = M
+end
+
+ # Escape/Exit/Back
+begin
+ prog = mythtv
+ button = EXIT
+ config = Esc
+end
+
+ # Record
+begin
+ prog = mythtv
+ button = REC
+ repeat = 3
+ config = R
+end
+
+ # Play
+begin
+ prog = mythtv
+ button = PLAY
+ config = Return
+end
+
+ # Stop
+begin
+ prog = mythtv
+ button = STOP
+ config = Esc
+end
+
+ # Rewind
+begin
+ prog = mythtv
+ button = FWD
+ repeat = 3
+ config = PgDown
+end
+
+ # Fast Forward
+begin
+ prog = mythtv
+ button = REW
+ repeat = 3
+ config = PgUp
+end
+
+ # Skip Backward
+begin
+ prog = mythtv
+ button = PREV
+ repeat = 3
+ config = home
+end
+
+ # Skip Forward
+begin
+ prog = mythtv
+ button = NEXT
+ repeat = 3
+ config = End
+end
+
+ # Pause
+begin
+ prog = mythtv
+ button = Pause
+ repeat = 3
+ config = P
+end
+
+ # Delete
+begin
+ prog = mythtv
+ button = A
+ repeat = 3
+ config = D
+end
+
+ # Decrease Playback Speed
+begin
+ prog = mythtv
+ button = B
+ repeat = 3
+ config = J
+end
+
+ # Double Playback Speed
+begin
+ prog = mythtv
+ button = C
+ repeat = 3
+ config = J
+end
+
+ # Time Stretch
+begin
+ prog = mythtv
+ button = D
+ repeat = 3
+ config = Y
+end
+
+ ### Jump Points need to match config in mythweb keybindings
+
+ # Myth Music
+begin
+ prog = mythtv
+ button = Music
+ repeat = 3
+ config = F4
+end
+
+ # Live TV
+begin
+ prog = mythtv
+ button = TV
+ repeat = 3
+ config = F5
+end
+
+ # Myth Video Gallery
+begin
+ prog = mythtv
+ button = VIDEO
+ repeat = 3
+ config = F2
+end
+
+ # Myth Image Gallery
+begin
+ prog = mythtv
+ button = PHOTOS
+ repeat = 3
+ config = F
+end
+
+
+begin
+ prog = irexec
+ button = HELP
+ config = env DISPLAY=:0 xdotool key alt+h
+ flags = quit
+end
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/preview.jpg
new file mode 100644
index 0000000..a1fbc6e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch4/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/Lircmap.xml b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/Lircmap.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/Lircmap.xml
@@ -0,0 +1,38 @@
+<lircmap>
+<remote device="Snapstream_Firefly">
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FWD</forward>
+ <reverse>REW</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <select>OK</select>
+ <pageplus>CH+</pageplus>
+ <pageminus>CH-</pageminus>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>PLAY</title>
+ <info>INFO</info>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREV</skipminus>
+ <display>MAXI</display>
+ <start>FIREFLY</start>
+ <record>REC</record>
+ <volumeplus>VOL+</volumeplus>
+ <volumeminus>VOL-</volumeminus>
+ <mute>MUTE</mute>
+ <power>CLOSE</power>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+</remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/ir.conf.ff5 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/ir.conf.ff5
new file mode 100644
index 0000000..65723b8
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/ir.conf.ff5
@@ -0,0 +1,7 @@
+#Snapstream Firefly Channel 5
+#placed here by mv_ir.py
+blacklist ati_remote
+install ati_remote /bin/false
+
+alias char-major-61 lirc_atiusb
+options lirc_atiusb unique=1 mask=0x0010
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircd.conf.ff5 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircd.conf.ff5
new file mode 100644
index 0000000..d1f2a60
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircd.conf.ff5
@@ -0,0 +1,111 @@
+#Snapstream Firefly Channel 5
+begin remote
+ name Snapstream_Firefly
+ bits 40
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 219964
+ toggle_bit 0
+ begin codes
+ MAXI 0x00000014C1AC4000
+ MAXI 0x00000014412C4000
+ CLOSE 0x0000001417024000
+ CLOSE 0x0000001497824000
+ 1 0x00000014A28D4000
+ 1 0x00000014220D4000
+ 2 0x00000014230E4000
+ 2 0x00000014A38E4000
+ 3 0x00000014A48F4000
+ 3 0x00000014240F4000
+ 4 0x0000001425104000
+ 4 0x00000014A5904000
+ 5 0x00000014A6914000
+ 5 0x0000001426114000
+ 6 0x0000001427124000
+ 6 0x00000014A7924000
+ 7 0x00000014A8934000
+ 7 0x0000001428134000
+ 8 0x0000001429144000
+ 8 0x00000014A9944000
+ 9 0x00000014AA954000
+ 9 0x000000142A154000
+ 0 0x000000142C174000
+ 0 0x00000014AC974000
+ BACK 0x00000014AB964000
+ BACK 0x000000142B164000
+ ENT 0x000000142D184000
+ ENT 0x00000014AD984000
+ VOL+ 0x000000149E894000
+ VOL+ 0x000000141E094000
+ VOL- 0x000000149D884000
+ VOL- 0x000000141D084000
+ MUTE 0x000000149F8A4000
+ MUTE 0x000000141F0A4000
+ FIREFLY 0x0000001495804000
+ FIREFLY 0x0000001415004000
+ CH+ 0x00000014A08B4000
+ CH+ 0x00000014200B4000
+ CH- 0x00000014A18C4000
+ CH- 0x00000014210C4000
+ INFO 0x00000014C3AE4000
+ INFO 0x00000014432E4000
+ OPTION 0x00000014C4AF4000
+ OPTION 0x00000014442F4000
+ UP 0x00000014AF9A4000
+ UP 0x000000142F1A4000
+ LEFT 0x00000014B29D4000
+ LEFT 0x00000014321D4000
+ DOWN 0x00000014B7A24000
+ DOWN 0x0000001437224000
+ RIGHT 0x00000014B49F4000
+ RIGHT 0x00000014341F4000
+ OK 0x00000014B39E4000
+ OK 0x00000014331E4000
+ MENU 0x00000014B19C4000
+ MENU 0x00000014311C4000
+ EXIT 0x00000014B5A04000
+ EXIT 0x0000001435204000
+ REC 0x000000143C274000
+ REC 0x00000014BCA74000
+ PLAY 0x000000143A254000
+ PLAY 0x00000014BAA54000
+ STOP 0x000000143D284000
+ STOP 0x00000014BDA84000
+ REW 0x0000001439244000
+ REW 0x00000014B9A44000
+ FWD 0x000000143B264000
+ FWD 0x00000014BBA64000
+ PREV 0x00000014402B4000
+ PREV 0x00000014C0AB4000
+ PAUSE 0x000000143E294000
+ PAUSE 0x00000014BEA94000
+ NEXT 0x000000143F2A4000
+ NEXT 0x00000014BFAA4000
+ MUSIC 0x000000141B064000
+ MUSIC 0x000000149B864000
+ PHOTOS 0x000000141A054000
+ PHOTOS 0x000000149A854000
+ DVD 0x0000001419044000
+ DVD 0x0000001499844000
+ TV 0x0000001418034000
+ TV 0x0000001498834000
+ VIDEO 0x000000141C074000
+ VIDEO 0x000000149C874000
+ HELP 0x0000001416014000
+ HELP 0x0000001496814000
+ MOUSE 0x00000014422D4000
+ MOUSE 0x00000014C2AD4000
+ A 0x000000142E194000
+ A 0x00000014AE994000
+ B 0x00000014301B4000
+ B 0x00000014B09B4000
+ C 0x0000001436214000
+ C 0x00000014B6A14000
+ D 0x0000001438234000
+ D 0x00000014B8A34000
+
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt
new file mode 100644
index 0000000..064e72d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt
@@ -0,0 +1,349 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Modified from Jarod Wilson's which came from Jeff Campbell's
+# By Brad Templeton
+# Modified to use the Firefly's Unique Buttons by Ryan Schmitz
+# Updated by RacerX for Linhes 8.0
+
+ # Remote Numbers 0-9
+
+begin
+ prog = mythtv
+ button = 0
+ repeat = 3
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = 1
+ repeat = 3
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ repeat = 3
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ repeat = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ repeat = 3
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ repeat = 3
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ repeat = 3
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ repeat = 3
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ repeat = 3
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ repeat = 3
+ config = 9
+end
+
+ # Escape/Back/Exit
+begin
+ prog = mythtv
+ button = BACK
+ config = Esc
+end
+
+ # OK/Select
+begin
+ prog = mythtv
+ button = ENT
+ config = pace
+end
+
+ # Volumn Up
+begin
+ prog = mythtv
+ button = VOL+
+ repeat = 3
+ config = F11
+end
+
+ # Volumn Down
+begin
+ prog = mythtv
+ button = VOL-
+ repeat = 3
+ config = F10
+end
+
+ # Mute
+begin
+ prog = mythtv
+ button = MUTE
+ repeat = 3
+ config = |
+end
+
+ # Firefly
+begin
+ prog = mythtv
+ button = FIREFLY
+ repeat = 3
+ config = F8
+end
+
+ # Channel Up
+begin
+ prog = mythtv
+ button = CH+
+ repeat = 3
+ config = Up
+end
+
+ # Channel Down
+begin
+ prog = mythtv
+ button = CH-
+ repeat = 3
+ config = Down
+end
+
+ # Info
+begin
+ prog = mythtv
+ button = INFO
+ repeat = 3
+ config = I
+end
+
+ # change tuners
+begin
+ prog = mythtv
+ button = OPTION
+ repeat = 3
+ config = Y
+end
+
+ # Up
+begin
+ prog = mythtv
+ button = UP
+ repeat = 3
+ config = Up
+end
+
+ # Left
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 3
+ config = Left
+end
+
+ # Down
+begin
+ prog = mythtv
+ button = DOWN
+ repeat = 3
+ config = Down
+end
+
+ # Right
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 3
+ config = Right
+end
+
+ # Ok/Select
+begin
+ prog = mythtv
+ button = OK
+ config = space
+end
+
+ # Menu
+begin
+ prog = mythtv
+ button = MENU
+ repeat = 3
+ config = M
+end
+
+ # Escape/Exit/Back
+begin
+ prog = mythtv
+ button = EXIT
+ config = Esc
+end
+
+ # Record
+begin
+ prog = mythtv
+ button = REC
+ repeat = 3
+ config = R
+end
+
+ # Play
+begin
+ prog = mythtv
+ button = PLAY
+ config = Return
+end
+
+ # Stop
+begin
+ prog = mythtv
+ button = STOP
+ config = Esc
+end
+
+ # Rewind
+begin
+ prog = mythtv
+ button = FWD
+ repeat = 3
+ config = PgDown
+end
+
+ # Fast Forward
+begin
+ prog = mythtv
+ button = REW
+ repeat = 3
+ config = PgUp
+end
+
+ # Skip Backward
+begin
+ prog = mythtv
+ button = PREV
+ repeat = 3
+ config = home
+end
+
+ # Skip Forward
+begin
+ prog = mythtv
+ button = NEXT
+ repeat = 3
+ config = End
+end
+
+ # Pause
+begin
+ prog = mythtv
+ button = Pause
+ repeat = 3
+ config = P
+end
+
+ # Delete
+begin
+ prog = mythtv
+ button = A
+ repeat = 3
+ config = D
+end
+
+ # Decrease Playback Speed
+begin
+ prog = mythtv
+ button = B
+ repeat = 3
+ config = J
+end
+
+ # Double Playback Speed
+begin
+ prog = mythtv
+ button = C
+ repeat = 3
+ config = J
+end
+
+ # Time Stretch
+begin
+ prog = mythtv
+ button = D
+ repeat = 3
+ config = Y
+end
+
+ ### Jump Points need to match config in mythweb keybindings
+
+ # Myth Music
+begin
+ prog = mythtv
+ button = Music
+ repeat = 3
+ config = F4
+end
+
+ # Live TV
+begin
+ prog = mythtv
+ button = TV
+ repeat = 3
+ config = F5
+end
+
+ # Myth Video Gallery
+begin
+ prog = mythtv
+ button = VIDEO
+ repeat = 3
+ config = F2
+end
+
+ # Myth Image Gallery
+begin
+ prog = mythtv
+ button = PHOTOS
+ repeat = 3
+ config = F
+end
+
+
+begin
+ prog = irexec
+ button = HELP
+ config = env DISPLAY=:0 xdotool key alt+h
+ flags = quit
+end
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/preview.jpg
new file mode 100644
index 0000000..a1fbc6e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch5/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/Lircmap.xml b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/Lircmap.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/Lircmap.xml
@@ -0,0 +1,38 @@
+<lircmap>
+<remote device="Snapstream_Firefly">
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FWD</forward>
+ <reverse>REW</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <select>OK</select>
+ <pageplus>CH+</pageplus>
+ <pageminus>CH-</pageminus>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>PLAY</title>
+ <info>INFO</info>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREV</skipminus>
+ <display>MAXI</display>
+ <start>FIREFLY</start>
+ <record>REC</record>
+ <volumeplus>VOL+</volumeplus>
+ <volumeminus>VOL-</volumeminus>
+ <mute>MUTE</mute>
+ <power>CLOSE</power>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+</remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/ir.conf.ff6 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/ir.conf.ff6
new file mode 100644
index 0000000..e85b777
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/ir.conf.ff6
@@ -0,0 +1,7 @@
+#Snapstream Firefly Channel 6
+#placed here by mv_ir.py
+blacklist ati_remote
+install ati_remote /bin/false
+
+alias char-major-61 lirc_atiusb
+options lirc_atiusb unique=1 mask=0x0020
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircd.conf.ff6 b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircd.conf.ff6
new file mode 100644
index 0000000..df060b4
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircd.conf.ff6
@@ -0,0 +1,111 @@
+#Snapstream Firefly Channel 6
+begin remote
+ name Snapstream_Firefly
+ bits 40
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 219964
+ toggle_bit 0
+ begin codes
+ MAXI 0x00000014D1AC5000
+ MAXI 0x00000014512C5000
+ CLOSE 0x0000001427025000
+ CLOSE 0x00000014A7825000
+ 1 0x00000014B28D5000
+ 1 0x00000014320D5000
+ 2 0x00000014330E5000
+ 2 0x00000014B38E5000
+ 3 0x00000014B48F5000
+ 3 0x00000014340F5000
+ 4 0x0000001435105000
+ 4 0x00000014B5905000
+ 5 0x00000014B6915000
+ 5 0x0000001436115000
+ 6 0x0000001437125000
+ 6 0x00000014B7925000
+ 7 0x00000014B8935000
+ 7 0x0000001438135000
+ 8 0x0000001439145000
+ 8 0x00000014B9945000
+ 9 0x00000014BA955000
+ 9 0x000000143A155000
+ 0 0x000000143C175000
+ 0 0x00000014BC975000
+ BACK 0x00000014BB965000
+ BACK 0x000000143B165000
+ ENT 0x000000143D185000
+ ENT 0x00000014BD985000
+ VOL+ 0x00000014AE895000
+ VOL+ 0x000000142E095000
+ VOL- 0x00000014AD885000
+ VOL- 0x000000142D085000
+ MUTE 0x00000014AF8A5000
+ MUTE 0x000000142F0A5000
+ FIREFLY 0x00000014A5805000
+ FIREFLY 0x0000001425005000
+ CH+ 0x00000014B08B5000
+ CH+ 0x00000014300B5000
+ CH- 0x00000014B18C5000
+ CH- 0x00000014310C5000
+ INFO 0x00000014D3AE5000
+ INFO 0x00000014532E5000
+ OPTION 0x00000014D4AF5000
+ OPTION 0x00000014542F5000
+ UP 0x00000014BF9A5000
+ UP 0x000000143F1A5000
+ LEFT 0x00000014C29D5000
+ LEFT 0x00000014421D5000
+ DOWN 0x00000014C7A25000
+ DOWN 0x0000001447225000
+ RIGHT 0x00000014C49F5000
+ RIGHT 0x00000014441F5000
+ OK 0x00000014C39E5000
+ OK 0x00000014431E5000
+ MENU 0x00000014C19C5000
+ MENU 0x00000014411C5000
+ EXIT 0x00000014C5A05000
+ EXIT 0x0000001445205000
+ REC 0x000000144C275000
+ REC 0x00000014CCA75000
+ PLAY 0x000000144A255000
+ PLAY 0x00000014CAA55000
+ STOP 0x000000144D285000
+ STOP 0x00000014CDA85000
+ REW 0x0000001449245000
+ REW 0x00000014C9A45000
+ FWD 0x000000144B265000
+ FWD 0x00000014CBA65000
+ PREV 0x00000014502B5000
+ PREV 0x00000014D0AB5000
+ PAUSE 0x000000144E295000
+ PAUSE 0x00000014CEA95000
+ NEXT 0x000000144F2A5000
+ NEXT 0x00000014CFAA5000
+ MUSIC 0x000000142B065000
+ MUSIC 0x00000014AB865000
+ PHOTOS 0x000000142A055000
+ PHOTOS 0x00000014AA855000
+ DVD 0x0000001429045000
+ DVD 0x00000014A9845000
+ TV 0x0000001428035000
+ TV 0x00000014A8835000
+ VIDEO 0x000000142C075000
+ VIDEO 0x00000014AC875000
+ HELP 0x0000001426015000
+ HELP 0x00000014A6815000
+ MOUSE 0x00000014522D5000
+ MOUSE 0x00000014D2AD5000
+ A 0x000000143E195000
+ A 0x00000014BE995000
+ B 0x00000014401B5000
+ B 0x00000014C09B5000
+ C 0x0000001446215000
+ C 0x00000014C6A15000
+ D 0x0000001448235000
+ D 0x00000014C8A35000
+
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt
new file mode 100644
index 0000000..064e72d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt
@@ -0,0 +1,349 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Modified from Jarod Wilson's which came from Jeff Campbell's
+# By Brad Templeton
+# Modified to use the Firefly's Unique Buttons by Ryan Schmitz
+# Updated by RacerX for Linhes 8.0
+
+ # Remote Numbers 0-9
+
+begin
+ prog = mythtv
+ button = 0
+ repeat = 3
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = 1
+ repeat = 3
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ repeat = 3
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ repeat = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ repeat = 3
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ repeat = 3
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ repeat = 3
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ repeat = 3
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ repeat = 3
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ repeat = 3
+ config = 9
+end
+
+ # Escape/Back/Exit
+begin
+ prog = mythtv
+ button = BACK
+ config = Esc
+end
+
+ # OK/Select
+begin
+ prog = mythtv
+ button = ENT
+ config = pace
+end
+
+ # Volumn Up
+begin
+ prog = mythtv
+ button = VOL+
+ repeat = 3
+ config = F11
+end
+
+ # Volumn Down
+begin
+ prog = mythtv
+ button = VOL-
+ repeat = 3
+ config = F10
+end
+
+ # Mute
+begin
+ prog = mythtv
+ button = MUTE
+ repeat = 3
+ config = |
+end
+
+ # Firefly
+begin
+ prog = mythtv
+ button = FIREFLY
+ repeat = 3
+ config = F8
+end
+
+ # Channel Up
+begin
+ prog = mythtv
+ button = CH+
+ repeat = 3
+ config = Up
+end
+
+ # Channel Down
+begin
+ prog = mythtv
+ button = CH-
+ repeat = 3
+ config = Down
+end
+
+ # Info
+begin
+ prog = mythtv
+ button = INFO
+ repeat = 3
+ config = I
+end
+
+ # change tuners
+begin
+ prog = mythtv
+ button = OPTION
+ repeat = 3
+ config = Y
+end
+
+ # Up
+begin
+ prog = mythtv
+ button = UP
+ repeat = 3
+ config = Up
+end
+
+ # Left
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 3
+ config = Left
+end
+
+ # Down
+begin
+ prog = mythtv
+ button = DOWN
+ repeat = 3
+ config = Down
+end
+
+ # Right
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 3
+ config = Right
+end
+
+ # Ok/Select
+begin
+ prog = mythtv
+ button = OK
+ config = space
+end
+
+ # Menu
+begin
+ prog = mythtv
+ button = MENU
+ repeat = 3
+ config = M
+end
+
+ # Escape/Exit/Back
+begin
+ prog = mythtv
+ button = EXIT
+ config = Esc
+end
+
+ # Record
+begin
+ prog = mythtv
+ button = REC
+ repeat = 3
+ config = R
+end
+
+ # Play
+begin
+ prog = mythtv
+ button = PLAY
+ config = Return
+end
+
+ # Stop
+begin
+ prog = mythtv
+ button = STOP
+ config = Esc
+end
+
+ # Rewind
+begin
+ prog = mythtv
+ button = FWD
+ repeat = 3
+ config = PgDown
+end
+
+ # Fast Forward
+begin
+ prog = mythtv
+ button = REW
+ repeat = 3
+ config = PgUp
+end
+
+ # Skip Backward
+begin
+ prog = mythtv
+ button = PREV
+ repeat = 3
+ config = home
+end
+
+ # Skip Forward
+begin
+ prog = mythtv
+ button = NEXT
+ repeat = 3
+ config = End
+end
+
+ # Pause
+begin
+ prog = mythtv
+ button = Pause
+ repeat = 3
+ config = P
+end
+
+ # Delete
+begin
+ prog = mythtv
+ button = A
+ repeat = 3
+ config = D
+end
+
+ # Decrease Playback Speed
+begin
+ prog = mythtv
+ button = B
+ repeat = 3
+ config = J
+end
+
+ # Double Playback Speed
+begin
+ prog = mythtv
+ button = C
+ repeat = 3
+ config = J
+end
+
+ # Time Stretch
+begin
+ prog = mythtv
+ button = D
+ repeat = 3
+ config = Y
+end
+
+ ### Jump Points need to match config in mythweb keybindings
+
+ # Myth Music
+begin
+ prog = mythtv
+ button = Music
+ repeat = 3
+ config = F4
+end
+
+ # Live TV
+begin
+ prog = mythtv
+ button = TV
+ repeat = 3
+ config = F5
+end
+
+ # Myth Video Gallery
+begin
+ prog = mythtv
+ button = VIDEO
+ repeat = 3
+ config = F2
+end
+
+ # Myth Image Gallery
+begin
+ prog = mythtv
+ button = PHOTOS
+ repeat = 3
+ config = F
+end
+
+
+begin
+ prog = irexec
+ button = HELP
+ config = env DISPLAY=:0 xdotool key alt+h
+ flags = quit
+end
diff --git a/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/preview.jpg b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/preview.jpg
new file mode 100644
index 0000000..a1fbc6e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/ATI/snapstream_firefly_ch6/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/lircd.conf b/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/lircd.conf
new file mode 100644
index 0000000..b76d32c
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/lircd.conf
@@ -0,0 +1,115 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.1-CVS(serial) on Fri Feb 4 23:20:56 2005
+#
+# contributed by Christoph Bartelmus
+#
+# brand: Streamzap
+# model no. of remote control: PC Remote
+# devices being controlled by this remote: USB receiver
+#
+
+begin remote
+
+ name Streamzap_PC_Remote
+ bits 6
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 889 889
+ zero 889 889
+ plead 889
+ pre_data_bits 8
+ pre_data 0xA3
+ gap 108344
+ toggle_bit 2
+
+
+ begin codes
+ 0 0x00
+ 1 0x01
+ 2 0x02
+ 3 0x03
+ 4 0x04
+ 5 0x05
+ 6 0x06
+ 7 0x07
+ 8 0x08
+ 9 0x09
+ POWER 0x0A
+ MUTE 0x0B
+ CH_UP 0x0C
+ VOL_UP 0x0D
+ CH_DOWN 0x0E
+ VOL_DOWN 0x0F
+ UP 0x10
+ LEFT 0x11
+ OK 0x12
+ RIGHT 0x13
+ DOWN 0x14
+ MENU 0x15
+ EXIT 0x16
+ PLAY 0x17
+ PAUSE 0x18
+ STOP 0x19
+ |<< 0x1A
+ >>| 0x1B
+ RECORD 0x1C
+ << 0x1D
+ >> 0x1E
+ RED 0x20
+ GREEN 0x21
+ YELLOW 0x22
+ BLUE 0x23
+ end codes
+
+end remote
+
+
+
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.7.2(streamzap) on Mon Dec 5 08:45:02 2005
+#
+# contributed by
+#
+# brand: RS_LD_120-MX500
+# model no. of remote control:
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name RS_LD
+ bits 15
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 384 1920
+ zero 384 896
+ ptrail 384
+ gap 70400
+ min_repeat 2
+ toggle_bit 0
+
+
+ begin codes
+ RESET 0x19FD
+ TIME 0X1902
+ BLANK 0X1B02
+ PICTURE 0X1882
+ ASPECT 0X1A82
+ BROWSE 0X1982
+ DELETE 0X1B82
+ CARD 0X1842
+ CARD_SOURCE 0X1A42
+ SPARE1 0X1942
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/lircrc b/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/lircrc
new file mode 100644
index 0000000..2663c63
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/lircrc
@@ -0,0 +1,857 @@
+# StreamZap Remote
+# 'config' must either be a literal key, e.g. 'config = l' or must
+# refer to a defined key in MythTV, e.g. 'config = PLAY'a
+
+
+#restart frontend
+begin
+ remote = RS_LD
+ button = RESET
+ prog = irexec
+ repeat = 0
+ config = /usr/bin/restartfrontend.sh
+end
+
+#time
+begin
+ remote = RS_LD
+ button = TIME
+ prog = irexec
+ repeat = 10
+ config = /usr/bin/saytime.sh
+end
+
+#screen blank
+begin
+ remote = RS_LD
+ button = BLANK
+ prog = irexec
+ repeat = 0
+# config = ls
+ config = xset s activate ; xset s blank
+end
+
+
+#picture
+begin
+REMOTE = RS_LD
+prog = mythtv
+button = PICTURE
+repeat = 5
+config = f
+end
+
+#change aspect
+begin
+remote = RS_LD
+prog = mythtv
+button = ASPECT
+# change aspect ratio
+config = w
+repeat = 5
+end
+
+#Browse
+begin
+remote = RS_LD
+prog = mythtv
+button = BROWSE
+repeat = 8
+config = o
+end
+
+# delete key
+begin
+remote = RS_LD
+prog = mythtv
+button = DELETE
+repeat = 8
+config = d
+end
+
+
+#change card
+begin
+remote = RS_LD
+prog = mythtv
+button = CARD
+repeat = 8
+config = y
+end
+
+# Change TV card input
+begin
+remote = RS_LD
+prog = mythtv
+button = CARD_SOURCE
+repeat = 4
+config = C
+end
+
+
+
+# Cycle through channel history
+begin
+remote = Streamzap_PC_Remote
+prog = mythtv
+button = BLUE
+repeat = 4
+config = H
+end
+
+# Bring up OSD info
+begin
+remote = Streamzap_PC_Remote
+prog = mythtv
+button = YELLOW
+repeat = 4
+config = i
+end
+
+
+
+
+begin
+prog = mythtv
+button = 0
+config = 0
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+repeat = 5
+end
+
+
+begin
+prog = mythtv
+button = POWER
+config = Esc
+end
+
+# ???
+begin
+prog = mythtv
+button = MUTE
+config = F9
+end
+
+begin
+prog = mythtv
+button = CH_UP
+repeat = 3
+config = PgUp
+end
+
+begin
+prog = mythtv
+button = VOL_UP
+repeat = 3
+config = ]
+end
+
+begin
+prog = mythtv
+button = CH_DOWN
+repeat = 3
+config = PgDown
+end
+
+begin
+prog = mythtv
+button = VOL_DOWN
+repeat = 3
+config = [
+end
+
+begin
+prog = mythtv
+button = UP
+repeat = 3
+config = Up
+end
+
+begin
+prog = mythtv
+button = LEFT
+# navigates, or skips back during playback or live tv.
+config = Left
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = OK
+config = Return
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = RIGHT
+# navigates, or skips forwards during playback or live tv.
+config = Right
+end
+
+begin
+prog = mythtv
+button = DOWN
+repeat = 3
+config = Down
+end
+
+begin
+prog = mythtv
+button = MENU
+config = m
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = EXIT
+config = Esc
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = PLAY
+config = Space
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = PAUSE
+config = p
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = STOP
+config = Esc
+repeat = 5
+end
+
+begin
+prog = mythtv
+# skip backward
+button = |<<
+config = PgUp
+repeat = 5
+end
+
+begin
+prog = mythtv
+# skip forward
+button = >>|
+config = PgDown
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = RECORD
+config = r
+repeat = 5
+end
+
+begin
+prog = mythtv
+# rewind
+button = <<
+config = Home
+repeat = 5
+end
+
+begin
+prog = mythtv
+# fast forward
+button = >>
+config = End
+repeat = 5
+end
+
+begin
+prog = mythtv
+button = RED
+# Delete
+config = d
+end
+
+begin
+prog = mythtv
+button = GREEN
+# Info
+config = S
+repeat = 5
+end
+
+#begin
+#prog = mythtv
+#button = YELLOW
+# change aspect ratio
+#config = w
+#end
+
+begin
+prog = mythtv
+button = BLUE
+config = Tab
+end
+
+# MPLAYER
+begin
+prog = mplayer
+button = POWER
+config = quit
+end
+
+begin
+prog = mplayer
+button = MUTE
+config = mute
+end
+
+begin
+prog = mplayer
+button = VOL_UP
+repeat = 3
+config = volume +1
+end
+
+begin
+prog = mplayer
+button = VOL_DOWN
+repeat = 3
+config = volume -1
+end
+
+begin
+prog = mplayer
+button = UP
+repeat = 3
+config = seek +10
+end
+
+begin
+prog = mplayer
+button = LEFT
+# navigates, or skips back during playback or live tv.
+config = seek -60
+end
+
+begin
+prog = mplayer
+button = RIGHT
+# navigates, or skips forwards during playback or live tv.
+config = seek +60
+end
+
+begin
+prog = mplayer
+button = DOWN
+repeat = 3
+config = seek -10
+end
+
+begin
+prog = mplayer
+button = EXIT
+config = quit
+end
+
+begin
+prog = mplayer
+button = play
+config = speed_set 1.0
+end
+
+begin
+ prog = mplayer
+ button = pause
+ config = pause
+end
+
+begin
+prog = mplayer
+button = STOP
+config = quit
+end
+
+begin
+prog = mplayer
+# skip backward
+button = |<<
+config = seek -600
+end
+
+begin
+prog = mplayer
+# skip forward
+button = >>|
+config = seek +600
+end
+
+begin
+prog = mplayer
+# slow forward
+button = <<
+config = speed_mult 0.5
+end
+
+begin
+prog = mplayer
+# fast forward
+button = >>
+config = speed_mult 2.0
+end
+
+### xine commands
+
+begin
+prog = xine
+button = YELLOW
+repeat = 4
+#config = ToggleVisiblity
+config = OSDStreamInfos
+end
+
+begin
+prog = xine
+button = MENU
+repeat = 4
+config = SeekRelative+60
+end
+
+# increase brightness by 10
+begin
+ button = DELETE
+ prog = xine
+ repeat = 4
+ config = BrightnessControl+
+end
+
+# decrease brightness by 10
+begin
+ button = PICTURE
+ prog = xine
+ repeat = 4
+ config = BrightnessControl-
+end
+
+
+begin
+prog = xine
+button = PAUSE
+repeat = 4
+config = Pause
+end
+
+begin
+prog = xine
+button = PLAY
+repeat = 4
+config = Play
+end
+
+begin
+prog = xine
+button = STOP
+repeat = 4
+config = quit
+end
+
+begin
+prog = xine
+button = MUTE
+repeat = 4
+config = mute
+end
+
+begin
+prog = xine
+button = <<
+repeat = 4
+config = SeekRelative-30
+end
+
+begin
+prog = xine
+button = >>
+repeat = 4
+#config = SeekRelative+30
+config = SpeedFaster
+end
+
+begin
+prog = xine
+button = POWER
+repeat = 4
+config = quit
+end
+
+begin
+prog = xine
+button = EXIT
+repeat = 4
+config = quit
+end
+
+
+begin
+prog = xine
+button = FREEZE
+repeat = 4
+config = SeekRelative+1200
+end
+
+begin
+prog = xine
+button = MOVE
+repeat = 4
+config = SeekRelative-1200
+end
+
+begin
+prog = xine
+button = 3
+config = SpuNext
+repeat = 0
+end
+
+# Select previous sub picture (subtitle) channel.
+begin
+button = 1
+prog = xine
+repeat = 0
+config = SpuPrior
+end
+
+# Select next audio channel.
+begin
+button = 9
+prog = xine
+repeat = 0
+config = AudioChannelNext
+end
+
+# Select previous audio channel.
+begin
+button = 7
+prog = xine
+repeat = 0
+config = AudioChannelPrior
+end
+
+
+
+# Up event.
+begin
+
+button = UP
+prog = xine
+repeat = 8
+config = EventUp
+end
+
+# Down event.
+begin
+
+button = DOWN
+prog = xine
+repeat = 8
+config = EventDown
+end
+
+# Left event.
+begin
+
+button = LEFT
+prog = xine
+repeat = 8
+config = EventLeft
+end
+
+# Right event.
+begin
+
+button = RIGHT
+prog = xine
+repeat = 8
+config = EventRight
+end
+
+# Select event.
+begin
+prog = xine
+button = ok
+repeat = 8
+config = EventSelect
+end
+
+# Down Chapter
+begin
+
+button = CH_DOWN
+prog = xine
+repeat = 8
+config = EventPrior
+end
+
+# Next Chapter.
+begin
+
+button = CH_UP
+prog = xine
+repeat = 8
+config = EventNext
+end
+
+# menu.
+begin
+
+button = record
+prog = xine
+repeat = 8
+config = RootMenu
+end
+
+# Toggle aspect ratio
+begin
+prog = xine
+button = ASPECT
+repeat = 0
+config = ToggleAspectRatio
+end
+
+
+
+#######xmms
+begin xmms
+ begin
+ prog = xmms
+ button = PLAY
+ config = PLAY
+ end
+ begin
+ prog = xmms
+ button = clear
+ config = PLAYLIST_CLEAR
+ end
+ begin
+ prog = xmms
+ button = load
+ config = PLAYLIST_ADD .xmms/xmms.m3u
+ end
+ begin
+ prog = xmms
+ button = PAUSE
+ config = PAUSE
+ end
+ begin
+ prog = xmms
+ button = STOP
+ config = STOP
+ end
+ begin
+ prog = xmms
+ button = EXIT
+ config = QUIT
+ flags = mode
+ end
+
+ begin
+ prog = xmms
+ button = POWER
+ config = QUIT
+ flags = mode
+ end
+
+ begin
+ prog = xmms
+ button = CH_UP
+ config = NEXT
+ end
+ begin
+ prog = xmms
+ button = CH_DOWN
+ config = PREV
+ end
+
+
+
+begin
+ prog = xmms
+ button = >>|
+ config = NEXT
+ end
+begin
+ prog = xmms
+ button = |<<
+ config = PREV
+end
+
+
+begin
+ prog = xmms
+ button = <<
+ config = FWD 10
+ repeat = 2
+ end
+ begin
+ prog = xmms
+ button = <<
+ config = BWD 10
+ repeat = 2
+ end
+ begin
+ prog = xmms
+ button = volup
+ config = VOL_UP 10
+ repeat = 2
+ end
+ begin
+ prog = xmms
+ button = voldown
+ config = VOL_DOWN 10
+ repeat = 2
+ end
+ begin
+ prog = xmms
+ button = 1
+ config = ONE
+ end
+ begin
+ prog = xmms
+ button = 2
+ config = TWO
+ end
+ begin
+ prog = xmms
+ button = 3
+ config = THREE
+ end
+ begin
+ prog = xmms
+ button = 4
+ config = FOUR
+ end
+ begin
+ prog = xmms
+ button = 5
+ config = FIVE
+ end
+ begin
+ prog = xmms
+ button = 6
+ config = SIX
+ end
+ begin
+ prog = xmms
+ button = 7
+ config = SEVEN
+ end
+ begin
+ prog = xmms
+ button = 8
+ config = EIGHT
+ end
+ begin
+ prog = xmms
+ button = 9
+ config = NINE
+ end
+ begin
+ prog = xmms
+ button = 0
+ config = ZERO
+ end
+ begin
+ prog = xmms
+ button = enter
+ config = SETPOS
+ end
+end xmms
+
+#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/preview.jpg b/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/preview.jpg
new file mode 100644
index 0000000..63714fc
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/MX880-jams/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/favorites/dvico/Lircmap.xml b/linhes/linhes-templates/templates/remotes/favorites/dvico/Lircmap.xml
new file mode 100644
index 0000000..5c09546
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/dvico/Lircmap.xml
@@ -0,0 +1,53 @@
+<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml -->
+<!-- -->
+<!-- How to add remotes -->
+<!-- <remote device="name_Lirc_calls_the_remote"> -->
+<!-- -->
+<!-- For the commands the layout following layout is used -->
+<!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND> -->
+<!-- -->
+<!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml -->
+
+<lircmap>
+ <remote device="DVICO_MCE">
+ <play>playpause</play>
+ <pause>mute</pause>
+ <stop>stop</stop>
+ <forward>ff</forward>
+ <reverse>rew</reverse>
+ <left>left</left>
+ <right>right</right>
+ <up>up</up>
+ <down>down</down>
+ <select>ok</select>
+ <pageplus>ch_up</pageplus>
+ <pageminus>ch_down</pageminus>
+ <back>back</back>
+ <menu>dvd_menu</menu>
+ <title>guide</title>
+ <info>more</info>
+ <skipplus>skip</skipplus>
+ <skipminus>replay</skipminus>
+ <display>ratio</display>
+ <start>alt_tab</start>
+ <record>rec</record>
+ <volumeplus>vol_up</volumeplus>
+ <volumeminus>vol_down</volumeminus>
+ <power>power_onoff</power>
+ <myvideo>cfp</myvideo>
+ <mymusic>mp3</mymusic>
+ <mypictures>photo</mypictures>
+ <mytv>dtv</mytv>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+ <star>start</star>
+ </remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/favorites/dvico/lircd.conf.fusionHDTV b/linhes/linhes-templates/templates/remotes/favorites/dvico/lircd.conf.fusionHDTV
new file mode 100644
index 0000000..7f03ba1
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/dvico/lircd.conf.fusionHDTV
@@ -0,0 +1,226 @@
+#
+# contributed by Chris Pascoe
+#
+# brand: DVICO
+# model no. of remote control: DVB-T
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name DVICO
+ bits 32
+ eps 0
+ aeps 0
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 32
+ pre_data 0x10046
+ gap 195755
+ post_data_bits 0
+ toggle_bit 0
+
+ begin codes
+ 1 0x00000000000011F9
+ 2 0x00000000000012F9
+ 3 0x00000000000013F9
+ 4 0x00000000000014F9
+ 5 0x00000000000015F9
+ 6 0x00000000000016F9
+ 7 0x00000000000017F9
+ 8 0x00000000000018F9
+ 9 0x00000000000019F9
+ 0 0x00000000000010F9
+ power 0x0000000000000AF9
+ pcoff 0x0000000000000CF9
+ camera 0x0000000000001AF9
+ record 0x0000000000001BF9
+ chup 0x00000000000000F9
+ chdown 0x00000000000001F9
+ volup 0x00000000000002F9
+ voldown 0x00000000000003F9
+ playpause 0x0000000000001FF9
+ rew 0x0000000000001CF9
+ stop 0x0000000000001EF9
+ ff 0x0000000000001DF9
+ folder 0x00000000000040F9
+ atvdtv 0x00000000000006F9
+ dvhs 0x00000000000041F9
+ menu 0x00000000000008F9
+ aspect 0x00000000000007F9
+ zoom 0x00000000000004F9
+ epg 0x0000000000000BF9
+ mute 0x0000000000000DF9
+ back 0x0000000000000EF9
+ hd 0x0000000000000FF9
+ red 0x00000000000005F9
+ green 0x00000000000009F9
+ yellow 0x00000000000042F9
+ blue 0x00000000000043F9
+ end codes
+
+end remote
+
+#
+# this config file was automatically generated
+# using lirc-0.7.0(dvico) on Sat Jun 18 00:56:01 2005
+#
+# contributed by anonymous
+#
+# brand: DVICO
+# model no. of remote control: MCE Remote
+#
+
+begin remote
+
+ name DVICO_MCE
+ bits 32
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 8
+ pre_data 0x0
+ post_data_bits 8
+ post_data 0x0
+ gap 195956
+ toggle_bit 0
+
+
+ begin codes
+ ok 0x0000000000FE5E00
+ dtv 0x0000000000FE0200
+ mp3 0x0000000000FE0E00
+ dvd 0x0000000000FE1A00
+ cpf 0x0000000000FE1E00
+ setup 0x0000000000FE1600
+ tv_onoff 0x0000000000FE4600
+ guide 0x0000000000FE0A00
+ back 0x0000000000FE4900
+ more 0x0000000000FE5900
+ dvd_menu 0x0000000000FE4D00
+ alt_tab 0x0000000000FE5500
+ replay 0x0000000000FE0F00
+ skip 0x0000000000FE1200
+ up 0x0000000000FE5100
+ down 0x0000000000FE5300
+ left 0x0000000000FE5B00
+ right 0x0000000000FE5F00
+ start 0x0000000000FE4200
+ vol_up 0x0000000000FE1500
+ vol_down 0x0000000000FE0500
+ ch_up 0x0000000000FE1100
+ ch_down 0x0000000000FE0900
+ snapshot 0x0000000000FE5200
+ live 0x0000000000FE5A00
+ folder_open 0x0000000000FE1900
+ 1 0x0000000000FE0B00
+ 2 0x0000000000FE1700
+ 3 0x0000000000FE1B00
+ 4 0x0000000000FE0700
+ 5 0x0000000000FE5000
+ 6 0x0000000000FE5400
+ 7 0x0000000000FE4800
+ 8 0x0000000000FE4C00
+ 9 0x0000000000FE5800
+ 0 0x0000000000FE0300
+ aspect 0x0000000000FE1300
+ fullscreen 0x0000000000FE1F00
+ rewind 0x0000000000FE4300
+ playpause 0x0000000000FE4700
+ fastforward 0x0000000000FE4F00
+ stop 0x0000000000FE0D00
+ mute 0x0000000000FE5700
+ record 0x0000000000FE0100
+ white_onoff 0x0000000000FE4E00
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.7.3-CVS(dvico) on Thu Sep 1 21:36:06 2005
+#
+# contributed by: David Bussenschutt <buzz|oska.com>
+#
+# brand: "DViCO"
+# model no. of remote control: "Fusion Remote MCE"
+# devices being controlled by this remote: My MythTV install
+#
+
+begin remote
+
+ name DVICO_MCE
+ bits 8
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 48
+ pre_data 0x100460000
+ post_data_bits 8
+ post_data 0xFE
+ gap 195843
+ toggle_bit 0
+
+
+ begin codes
+ ok 0x5e
+ up 0x51
+ down 0x53
+ left 0x5B
+ right 0x5F
+ setup 0x16
+ tv_onoff 0x46
+ guide 0x0A
+ dtv 0x02
+ mp3 0x0E
+ dvd 0x1A
+ cpf 0x1E
+ back 0x49
+ more 0x59
+ dvd_menu 0x4D
+ alt_tab 0x55
+ replay 0x0F
+ skip 0x12
+ start 0x42
+ vol_up 0x15
+ vol_down 0x05
+ ch_up 0x11
+ ch_down 0x09
+ photo 0x52
+ live 0x5A
+ folder 0x19
+ 1 0x0B
+ 2 0x17
+ 3 0x1B
+ 4 0x07
+ 5 0x50
+ 6 0x54
+ 7 0x48
+ 8 0x4C
+ 9 0x58
+ 0 0x03
+ ratio 0x13
+ zoom 0x1F
+ rew 0x43
+ playpause 0x47
+ ff 0x4F
+ mute 0x57
+ stop 0x0D
+ rec 0x01
+ power_onoff 0x4e
+ phantom1 0x7b
+ phantom2 0x6b
+ phantom3 0x77
+ phantom4 0x4b
+ phantom5 0x3b
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/favorites/dvico/lircrc.txt b/linhes/linhes-templates/templates/remotes/favorites/dvico/lircrc.txt
new file mode 100644
index 0000000..283ac05
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/dvico/lircrc.txt
@@ -0,0 +1,883 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the Fustion
+#
+
+begin
+ #Jumppoint for DVD playback created in Mythweb
+ prog = mythtv
+ button = dvd
+ config = @
+end
+
+begin
+ #Jumppoint for MythWeater created in Mythweb
+ prog = mythtv
+ button = start
+ config = #
+end
+
+begin
+ #Jumppoint for MythVideo created in Mythweb
+ prog = mythtv
+ button = cpf
+ config = $
+end
+
+begin
+ prog = mythtv
+ #Jumppoint for LiveTV created in Mythweb
+ button = dtv
+ config = ^
+end
+
+begin
+ prog = mythtv
+ #Jumppoint for Music created in Mythweb
+ button = mp3
+ config = F8
+end
+
+begin
+ prog = mythtv
+ button = 1
+ config = 1
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 2
+ config = 2
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 3
+ config = 3
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 4
+ config = 4
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 5
+ config = 5
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ config = 6
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 7
+ config = 7
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 8
+ config = 8
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 9
+ config = 9
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+ repeat = 5
+end
+
+begin
+ prog = mythtv
+ button = camera
+ config = A
+end
+
+begin
+ prog = mythtv
+ button = up
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = chup
+ config = Up
+ repeat = 2
+end
+
+begin
+ prog = mythtv
+ button = down
+ config = Down
+end
+
+begin
+ prog = mythtv
+ button = chdown
+ config = Down
+ repeat = 2
+end
+
+begin
+ prog = mythtv
+ button = left
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = voldown
+ config = Left
+ repeat = 2
+end
+
+begin
+ prog = mythtv
+ button = right
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = volup
+ config = Right
+ repeat = 2
+end
+
+begin
+ prog = mythtv
+ button = replay
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = skip
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = back
+ config = Esc
+end
+
+# Enter button
+begin
+ prog = mythtv
+ button = ok
+ config = Return
+end
+
+begin
+ prog = mythtv
+ button = playpause
+ config = Return
+end
+
+begin
+ prog = mythtv
+ button = tv_onoff
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = power
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = ch_up
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = ch_down
+ config = Down
+end
+
+begin
+ prog = mythtv
+ button = vol_down
+ repeat = 3
+ config = F10
+end
+
+begin
+ prog = mythtv
+ button = yellow
+ repeat = 3
+ config = F10
+end
+
+begin
+ prog = mythtv
+ button = vol_up
+ repeat = 3
+ config = F11
+end
+
+begin
+ prog = mythtv
+ button = blue
+ repeat = 3
+ config = F11
+end
+
+begin
+ prog = mythtv
+ button = more
+ config = I
+end
+
+begin
+ prog = mythtv
+ button = green
+ config = I
+end
+
+begin
+ prog = mythtv
+ button = red
+ config = D
+end
+
+begin
+ prog = mythtv
+ button = ff
+ config = >
+ repeat = 2
+end
+
+begin
+ prog = mythtv
+ button = rew
+ config = <
+ repeat = 2
+end
+
+begin
+ prog = mythtv
+ button = power_onoff
+ config = Y
+end
+
+begin
+ prog = mythtv
+ button = live
+ config = C
+end
+
+########### Start Of TV #############
+
+#Jumppoint for Program Guide created in Mythweb
+begin
+ prog = mythtv
+ button = guide
+ config = S
+end
+
+begin
+ prog = mythtv
+ button = epg
+ config = S
+end
+
+begin
+ prog = mythtv
+ button = dvd_menu
+ config = M
+end
+
+begin
+ prog = mythtv
+ button = menu
+ config = M
+end
+
+begin
+ prog = mythtv
+ button = ratio
+ config = W
+end
+
+begin
+ prog = mythtv
+ button = rec
+ config = R
+end
+
+begin
+ prog = mythtv
+ button = record
+ config = R
+end
+
+begin
+ prog = mythtv
+ button = alt_tab
+ # Use for forward commercial skip
+ config = Z
+end
+
+begin
+ prog = mythtv
+ button = folder
+ # Use for Teletext
+ config = T
+end
+
+########### Start Of Music #############
+
+begin
+ # Mute for MythMusic
+ prog = mythtv
+ button = mute
+ config = |
+end
+
+begin
+ prog = mythtv
+ button = DVD_ROOTMENU
+ config = M
+end
+
+begin
+ prog = mythtv
+ # Enter button
+ button = SETUP
+ config = Return
+end
+
+begin
+ prog = mythtv
+ button = A
+ config = S
+end
+
+begin
+ prog = mythtv
+ button = B
+ config = I
+end
+
+begin
+ prog = mythtv
+ button = C
+ config = T
+end
+
+begin
+ prog = mythtv
+ # Change focus for PiP (to change channel in the other window)
+ button = MAXAMIZE
+ config = B
+end
+
+begin
+ prog = mythtv
+ # Toggle PiP on/off
+ button = TV_ON_DEMAND
+ config = V
+end
+
+begin
+ prog = mythtv
+ button = BACK
+ config = <
+end
+
+begin
+ prog = mythtv
+ button = NEXT
+ config = >
+end
+
+begin
+ prog = mythtv
+ button = BACK
+ config = Left
+end
+
+
+begin
+ prog = mythtv
+ button = NEXT
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = RECCORD
+ config = R
+end
+
+begin
+ prog = mythtv
+ button = STOP
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = PLAY
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = PAUSE
+ config = P
+end
+
+#Page Up/Down
+begin
+ prog = mythtv
+ button = E
+ config = PgUp
+end
+
+begin
+ prog = mythtv
+ button = F
+ config = PgDown
+end
+
+begin
+ prog = mythtv
+ button = E
+ # Use for backwards commercial skip
+ config = Q
+end
+
+begin
+ prog = mythtv
+ button = F
+ # Use for forward commercial skip
+ config = Z
+end
+
+#Mplayer
+
+begin
+ prog = mplayer
+ button = PLAY
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = PAUSE
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = STOP
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = POWER
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = D
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = MOUSE_RIGHT_BTN
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = MUTE
+ config = mute
+end
+
+begin
+ prog = mplayer
+ button = E
+ repeat = 6
+ config = seek -10
+end
+
+begin
+ prog = mplayer
+ button = F
+ repeat = 6
+ config = seek 10
+end
+
+begin
+ prog = mplayer
+ button = Left
+ repeat = 6
+ config = seek -70
+end
+
+begin
+ prog = mplayer
+ button = chup
+ repeat = 6
+ config = seek -70
+end
+
+begin
+ prog = mplayer
+ button = Right
+ repeat = 6
+ config = seek 70
+end
+
+begin
+ prog = mplayer
+ button = chdown
+ repeat = 6
+ config = seek 70
+end
+
+begin
+ prog = mplayer
+ button = ch_up
+ config = seek 10
+end
+
+begin
+ prog = mplayer
+ button = volup
+ config = seek 10
+end
+
+begin
+ prog = mplayer
+ button = ch_down
+ config = seek -10
+end
+
+begin
+ prog = mplayer
+ button = voldown
+ config = seek -10
+end
+
+begin
+ prog = mplayer
+ button = vol_down
+ repeat = 6
+ config = volume -1
+end
+
+begin
+ prog = mplayer
+ button = yellow
+ repeat = 6
+ config = volume -1
+end
+
+begin
+ prog = mplayer
+ button = vol_up
+ repeat = 6
+ config = volume 1
+end
+
+begin
+ prog = mplayer
+ button = blue
+ repeat = 6
+ config = volume 1
+end
+
+begin
+ prog = mplayer
+ button = 1
+ config = 1
+ repeat = 5
+end
+
+begin
+ prog = mplayer
+ button = 2
+ config = 2
+ repeat = 5
+end
+
+begin
+ prog = mplayer
+ button = 3
+ config = 3
+ repeat = 5
+end
+
+begin
+ prog = mplayer
+ button = 4
+ config = 4
+ repeat = 5
+end
+
+
+begin
+ prog = mplayer
+ button = 5
+ config = 5
+ repeat = 5
+end
+
+begin
+ prog = mplayer
+ button = 6
+ config = 6
+ repeat = 5
+end
+
+begin
+ prog = mplayer
+ button = 7
+ config = 7
+ repeat = 5
+end
+
+begin
+ prog = mplayer
+ button = 8
+ config = 8
+ repeat = 5
+end
+
+begin
+ prog = mplayer
+ button = 9
+ config = 9
+ repeat = 5
+end
+
+begin
+ prog = mplayer
+ button = 0
+ config = 0
+ repeat = 5
+end
+
+
+#Xine
+
+begin
+ prog = xine
+ button = PLAY
+ config = Play
+end
+
+begin
+ prog = xine
+ button = PAUSE
+ config = PAUSE
+end
+
+begin
+ prog = xine
+ button = STOP
+ config = Stop
+end
+
+begin
+ prog = xine
+ button = POWER
+ config = Quit
+end
+
+begin
+ prog = xine
+ button = D
+ config = quit
+end
+
+begin
+ prog = xine
+ button = MOUSE_RIGHT_BTN
+ config = quit
+end
+
+begin
+ prog = xine
+ button = ARROW_UP
+ repeat = 4
+ config = EventUp
+end
+
+begin
+ prog = xine
+ button = ARROW_DOWN
+ repeat = 4
+ config = EventDown
+end
+
+begin
+ prog = xine
+ button = ARROW_LEFT
+ repeat = 4
+ config = EventLeft
+end
+
+begin
+ prog = xine
+ button = ARROW_RIGHT
+ repeat = 4
+ config = EventRight
+end
+
+begin
+ prog = xine
+ button = OK
+ repeat = 0
+ config = EventSelect
+end
+
+begin
+ prog = xine
+ button = MOUSE_UP
+ repeat = 4
+ config = EventUp
+end
+
+begin
+ prog = xine
+ button = MOUSE_DOWN
+ repeat = 4
+ config = EventDown
+end
+
+begin
+ prog = xine
+ button = MOUSE_LEFT
+ repeat = 4
+ config = EventLeft
+end
+
+begin
+ prog = xine
+ button = MOUSE_RIGHT
+ repeat = 4
+ config = EventRight
+end
+
+begin
+ prog = xine
+ button = MOUSE_LEFT_BTN
+ repeat = 0
+ config = EventSelect
+end
+
+begin
+ prog = xine
+ button = DVD_ROOTMENU
+ repeat = 0
+ config = Menu
+end
+
+#vol down
+begin
+ prog = xine
+ button = VOL_DOWN
+ repeat = 1
+ config = Volume-
+end
+
+begin
+ prog = xine
+ button = yellow
+ repeat = 1
+ config = Volume-
+end
+
+#vol up
+begin
+ prog = xine
+ button = VOL_UP
+ repeat = 1
+ config = Volume+
+end
+
+begin
+ prog = xine
+ button = blue
+ repeat = 1
+ config = Volume+
+end
+
+begin
+ prog = xine
+ button = TV_ON_DEMAND
+ repeat = 1
+ config = ZoomIn
+end
+
+begin
+ prog = xine
+ button = MAXAMIZE
+ repeat = 1
+ config = ZoomOut
+end
+
+#skip chapter forward
+begin
+ prog = xine
+ button = NEXT
+ repeat = 1
+ config = EventNext
+end
+
+#skip chapter backward
+begin
+ prog = xine
+ button = BACK
+ repeat = 1
+ config = EventPrior
+end
+
+begin
+ prog = xine
+ button = F
+ repeat = 2
+ config = SeekRelative+45
+end
+
+begin
+ prog = xine
+ button = E
+ repeat = 2
+ config = SeekRelative-45
+end
diff --git a/linhes/linhes-templates/templates/remotes/favorites/dvico/preview.jpg b/linhes/linhes-templates/templates/remotes/favorites/dvico/preview.jpg
new file mode 100644
index 0000000..1ec179d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/dvico/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/favorites/dvico/remote.run b/linhes/linhes-templates/templates/remotes/favorites/dvico/remote.run
new file mode 100644
index 0000000..7721acd
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/dvico/remote.run
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+/usr/sbin/lircd -r -n -d /dev/remotes/dvicoIR --driver=dvico --output /var/run/lirc/lircd
diff --git a/linhes/linhes-templates/templates/remotes/favorites/dvico/wol-lircrc b/linhes/linhes-templates/templates/remotes/favorites/dvico/wol-lircrc
new file mode 100644
index 0000000..8c4ffe0
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/dvico/wol-lircrc
@@ -0,0 +1,46 @@
+begin
+ prog = irxevent
+ button = back
+ config = Key Escape CurrentWindow
+end
+begin
+ prog = irxevent
+ button = stop
+ config = Key ctrl-shift-w CurrentWindow
+end
+begin
+ prog = irxevent
+ button = up
+ config = Key Up CurrentWindow
+end
+begin
+ prog = irxevent
+ button = down
+ config = Key Down CurrentWindow
+end
+begin
+ prog = irxevent
+ button = left
+ config = Key Left CurrentWindow
+end
+begin
+ prog = irxevent
+ button = right
+ config = Key Right CurrentWindow
+end
+begin
+ prog = irxevent
+ button = ok
+ config = Key Return CurrentWindow
+end
+begin
+ prog = irxevent
+ button = ch_up
+ config = Key alt-Right CurrentWindow
+end
+begin
+ prog = irxevent
+ button = ch_down
+ config = Key alt-Left CurrentWindow
+end
+
diff --git a/linhes/linhes-templates/templates/remotes/favorites/mce/lircd.conf.mceusb b/linhes/linhes-templates/templates/remotes/favorites/mce/lircd.conf.mceusb
new file mode 100644
index 0000000..b1c26b6
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/mce/lircd.conf.mceusb
@@ -0,0 +1,163 @@
+#
+# RC-6 config file
+#
+# source: http://home.hccnet.nl/m.majoor/projects__remote_control.htm
+# http://home.hccnet.nl/m.majoor/pronto.pdf
+#
+# used by: Philips
+#
+#########
+#
+# Philips Media Center Edition remote control
+# For use with the USB MCE ir receiver
+#
+# Dan Conti dconti|acm.wwu.edu
+#
+# Updated with codes for MCE 2005 Remote additional buttons
+# *, #, Teletext, Red, Green, Yellow & Blue Buttons
+# Note: TV power button transmits no code until programmed.
+# Updated 12th September 2005
+# Graham Auld - mce|graham.auld.me.uk
+#
+# Radio, Print, RecTV are only available on the HP Media Center remote control
+#
+
+begin remote
+
+ name mceusb
+ bits 16
+ flags RC6|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 2667 889
+ one 444 444
+ zero 444 444
+ pre_data_bits 21
+ pre_data 0x37FF0
+ gap 105000
+ toggle_bit 22
+ rc6_mask 0x100000000
+
+ begin codes
+#-------------------------------------------------------------b9
+ Testb90 0x00007b90
+ Testb91 0x00007b91
+ Testb92 0x00007b92
+ Testb93 0x00007b93
+ Testb94 0x00007b94
+ Testb95 0x00007b95
+ Testb96 0x00007b96
+ Testb97 0x00007b97
+ Testb98 0x00007b98
+ Testb99 0x00007b99
+ TV????? 0x00007b9a
+ Messenger 0x00007b9b
+ Testb9c 0x00007b9c
+ Testb9d 0x00007b9d
+ Testb9e 0x00007b9e
+ Testb9f 0x00007b9f
+#-------------------------------------------------------------ba
+ Testba0 0x00007ba0
+ Blue 0x00007ba1
+ Yellow 0x00007ba2
+ Green 0x00007ba3
+ Red 0x00007ba4
+ Teletext 0x00007ba5
+ Testba6 0x00007ba6
+ Testba7 0x00007ba7
+ Testba8 0x00007ba8
+ Testba9 0x00007ba9
+ Testbaa 0x00007baa
+ Testbab 0x00007bab
+ Testbac 0x00007bac
+ Testbad 0x00007bad
+ Testbae 0x00007bae
+ Radio 0x00007baf
+#-------------------------------------------------------------bb
+ Testbb0 0x00007bb0
+ Print 0x00007bb1
+ Testbb2 0x00007bb2
+ Testbb3 0x00007bb3
+ Testbb4 0x00007bb4
+ Videos 0x00007bb5
+ Pictures 0x00007bb6
+ RecordedTV 0x00007bb7
+ Music 0x00007bb8
+ TV 0x00007bb9
+ Testbba 0x00007bba
+ Testbbb 0x00007bbb
+ Testbbc 0x00007bbc
+ Testbbd 0x00007bbd
+ Testbbe 0x00007bbe
+ Testbbf 0x00007bbf
+#-------------------------------------------------------------- bc
+ Testbc0 0x00007bc0
+ Testbc1 0x00007bc1
+ Testbc2 0x00007bc2
+ Testbc3 0x00007bc3
+ Testbc4 0x00007bc4
+ Testbc5 0x00007bc5
+ Testbc6 0x00007bc6
+ Testbc7 0x00007bc7
+ Testbc8 0x00007bc8
+ Testbc9 0x00007bc9
+ Testbca 0x00007bca
+ Testbcb 0x00007bcb
+ Testbcc 0x00007bcc
+ Testbcd 0x00007bcd
+ Testbce 0x00007bce
+ Testbcf 0x00007bcf
+#---------------------------------------------------------------bd
+ Testbd0 0x00007bd0
+ Testbd1 0x00007bd1
+ Testbd2 0x00007bd2
+ Testbd3 0x00007bd3
+ Testbd4 0x00007bd4
+ Testbd5 0x00007bd5
+ Testbd6 0x00007bd6
+ Testbd7 0x00007bd7
+ Testbd8 0x00007bd8
+ Guide 0x00007bd9
+ LiveTV 0x00007bda
+ DVDMenu 0x00007bdb
+ Back 0x00007bdc
+ OK 0x00007bdd
+ Right 0x00007bde
+ Left 0x00007bdf
+#--------------------------------------------------------------be
+ Down 0x00007be0
+ Up 0x00007be1
+ Star 0x00007be2
+ Hash 0x00007be3
+ Replay 0x00007be4
+ Skip 0x00007be5
+ Stop 0x00007be6
+ Pause 0x00007be7
+ Record 0x00007be8
+ Play 0x00007be9
+ Rewind 0x00007bea
+ Forward 0x00007beb
+ ChannelDown 0x00007bec
+ ChannelUp 0x00007bed
+ VolumeDown 0x00007bee
+ VolumeUp 0x00007bef
+#---------------------------------------------------------------bf
+ More 0x00007bf0
+ Mute 0x00007bf1
+ Start 0x00007bf2
+ Power 0x00007bf3
+ Enter 0x00007bf4
+ Clear 0x00007bf5
+ Nine 0x00007bf6
+ Eight 0x00007bf7
+ Seven 0x00007bf8
+ Six 0x00007bf9
+ Five 0x00007bfa
+ Four 0x00007bfb
+ Three 0x00007bfc
+ Two 0x00007bfd
+ One 0x00007bfe
+ Zero 0x00007bff
+ end codes
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/favorites/mce/lircrc-mceusb b/linhes/linhes-templates/templates/remotes/favorites/mce/lircrc-mceusb
new file mode 100644
index 0000000..a6a8c48
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/mce/lircrc-mceusb
@@ -0,0 +1,877 @@
+# /home/mythtv/.mythtv/lircrc
+#
+# From Knoppmyth R5.5 - Copied by UniCav
+#
+# Media Center Edition Remote Control and
+# Remote Control Keys on Media Center Keyboard
+#
+##############################################################################
+# For use with the USB MCE ir receiver
+# MythTV LIRC config file for the mceusb2 or lirc_mod_mce module
+
+# Info about lircrc statment
+#begin
+# prog = ... Program controlled, irxevent, irexec, mythtv, mplayer,
+# xine, or others
+# remote = ... mceusb, or what ever you happen to have or want to call it
+# button = ... remote keys names from your lircd.conf file
+# repeat = ... repeat = 2 is fast, repeat = 4 is slower
+# delay = ... delay before repeat, 1 is short, 4 is longer
+# config = ... output key presses to key bindings editor
+# mode = ...
+# flags = ...
+#end
+
+# Test your new Lirc settings
+# /etc/init.d/lirc restart To restart Lirc
+# ctrl-alt-backspace To restart the frontend
+
+# Updated January 30th 2008 BAK
+# for the Knoppmyth project
+
+################################### irexec ###################################
+# the lirc irexec program must be running for this section
+
+# Will perform a complete shutdown
+#begin
+# prog = irexec
+# button = Power
+# config = /usr/bin/sudo halt
+#end
+
+############################### Mythtv Section ###############################
+# MythTV Key Binding Editor location
+# Mythtv Menu >>Utilities / Setup >>Edit Keys
+# Key Bindings can also be found in Myth Web
+
+# Record
+begin
+ prog = mythtv
+ button = Record
+ config = R
+end
+
+# Stop
+begin
+ prog = mythtv
+ button = Stop
+ config = Esc
+end
+
+# Pause
+begin
+ prog = mythtv
+ button = Pause
+ config = P
+end
+
+# Rewind (while viewing)
+begin
+ prog = mythtv
+ button = Rewind
+ repeat = 0
+ delay = 1
+ config = <
+end
+
+# Fast forward (while viewing)
+begin
+ prog = mythtv
+ button = Forward
+ repeat = 0
+ delay = 1
+ config = >
+end
+
+# Play
+begin
+ prog = mythtv
+ button = Play
+ config = L
+end
+
+# Skip backward (1 min default)
+begin
+ prog = mythtv
+ button = Replay
+ repeat = 4
+ delay = 4
+ config = PgUp
+end
+
+# Skip forward (1 min default)
+begin
+ prog = mythtv
+ button = Skip
+ repeat = 4
+ delay = 4
+ config = PgDown
+end
+
+#<><><><><><><><><><><> Mythtv Control <><><><>
+
+# Escape/Exit/Back
+begin
+ prog = mythtv
+ button = Back
+ config = Esc
+end
+
+# Bring up OSD info
+begin
+ prog = mythtv
+ button = More
+ config = I
+end
+
+begin
+ prog = mythtv
+ button = Left
+ repeat = 2
+ delay = 4
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = Right
+ repeat = 2
+ delay = 4
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = Up
+ repeat = 2
+ delay = 4
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = Down
+ repeat = 2
+ delay = 4
+ config = Down
+end
+
+# OK/Select
+begin
+ prog = mythtv
+ button = OK
+ config = Return
+end
+
+# The Start Button is really just a Menu key
+begin
+ prog = mythtv
+ button = Start
+ config = M
+end
+
+#<><><><><><><><><><><><><><><>
+
+# Volume-Up
+begin
+ prog = mythtv
+ button = VolumeUp
+ repeat = 1
+ config = ]
+end
+
+# Volume-Down
+begin
+ prog = mythtv
+ button = VolumeDown
+ repeat = 1
+ config = [
+end
+
+# Mute
+begin
+ prog = mythtv
+ button = Mute
+ config = |
+end
+
+# Channel Up
+begin
+ prog = mythtv
+ button = ChannelUp
+ repeat = 3
+# delay = 1
+ config = Up
+end
+
+# Channel Down
+begin
+ prog = mythtv
+ button = ChannelDown
+ config = Down
+ repeat = 3
+# delay = 1
+end
+
+# Numbers 0-9 <><><><><><><><><><><>
+
+begin
+ prog = mythtv
+ button = One
+# repeat = 2
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = Two
+# repeat = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = Three
+# repeat = 2
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = Four
+# repeat = 2
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = Five
+# repeat = 2
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = Six
+# repeat = 2
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = Seven
+# repeat = 2
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = Eight
+# repeat = 2
+ config = 8
+End
+
+begin
+ prog = mythtv
+ button = Nine
+# repeat = 2
+ config = 9
+end
+
+begin
+ prog = mythtv
+ button = Zero
+# repeat = 2
+ config = 0
+end
+
+#<><><><><><><><><><><><><><><><><><><><>
+# Seek to previous commercial cut point
+# or remove all cut points from the Editing Cutlist
+begin
+ prog = mythtv
+ button = Star
+ config = Q
+end
+
+# Seek to next commercial cut point
+# or add commericial cut points to the Editing Cutlist
+begin
+ prog = mythtv
+ button = Hash
+ config = Z
+end
+
+# Brings up the delete box
+begin
+ prog = mythtv
+ button = Clear
+ repeat = 0
+ config = D
+end
+
+# Toggle Editing Cutlist on or off
+begin
+ prog = mythtv
+ button = Enter
+ repeat = 0
+ config = E
+end
+
+#<><><><><><><><> Additional Remote Commands <><><><><><><><>
+# All buttons in this section must be configured using
+# MythTV's KeyBindings JumpPoints editor.
+# >>> Utilities/ Setup >>> Edit Keys >>> JumpPoints >>>
+
+# Listen to Myth Music
+begin
+ prog = mythtv
+ button = Music
+ config = Ctrl+Alt+M
+end
+
+# at this time connects to MythStreem
+begin
+ prog = mythtv
+ button = Radio
+ config = Ctrl+Alt+S
+end
+
+# View Pictures
+begin
+ prog = mythtv
+ button = Pictures
+ config = Ctrl+Alt+P
+end
+
+# Watch Videos
+begin
+ prog = mythtv
+ button = Videos
+ config = Ctrl+Alt+V
+end
+
+# Watch Live TV with Live TV Guide open
+begin
+ prog = mythtv
+ button = TV
+ config = Ctrl+Alt+K
+end
+
+# Watch Live TV
+begin
+ prog = mythtv
+ button = LiveTV
+ config = Ctrl+Alt+L
+end
+
+# Recorded TV Programs
+begin
+ prog = mythtv
+ button = RecordedTV
+ config = Ctrl+Alt+R
+end
+
+# Program Guide
+begin
+ prog = mythtv
+ button = Guide
+ config = Ctrl+Alt+G
+end
+
+# Play DVD
+# There must be a disk in the DVD drive or it dos nothing
+begin
+ prog = mythtv
+ button = DVDMenu
+ config = Ctrl+Alt+D
+end
+
+# unused key
+#begin
+# prog = mythtv
+# button = Messenger
+# config = Ctrl+Alt+A
+#end
+
+# <><><><><><><><><><><><><> Teletext Buttons <><><><><><><><><><><>
+
+# Teletext = Show interactive MHEG screens
+begin
+ prog = mythtv
+ button = Teletext
+ config = F7
+end
+
+# Red = Red button for interactive screens.
+begin
+ prog = mythtv
+ button = Red
+ config = F2
+end
+
+# Green = Green button for interactive screens.
+begin
+ prog = mythtv
+ button = Green
+ config = F3
+end
+
+# Yellow = Yellow button for interactive screens.
+begin
+ prog = mythtv
+ button = Yellow
+ config = F4
+end
+
+# Blue = Blue button for interactive screens.
+begin
+ prog = mythtv
+ button = Blue
+ config = F5
+end
+
+
+######################## MPlayer Section #####################################
+# "mplayer -input keylist" Prints all keys that can be bound to commands.
+# "mplayer -input cmdlist" Prints all commands that can be bound to keys
+# "man mplayer" Prints documentation for MPlayer
+
+# Show OSD
+begin
+ prog = mplayer
+ button = OK
+ config = osd
+end
+
+# Pause playback
+begin
+ prog = mplayer
+ button = Pause
+ config = pause
+end
+
+# If paused, resume playing
+begin
+ prog = mplayer
+ button = Play
+ config = pause
+end
+
+# Stop playback and exit
+begin
+ prog = mplayer
+ button = Stop
+ config = quit
+end
+
+# Volume-Up
+begin
+ prog = mplayer
+ button = VolumeUp
+ repeat = 2
+ config = volume +1
+end
+
+# Volume-Down
+begin
+ prog = mplayer
+ button = VolumeDown
+ repeat = 2
+ config = volume -1
+end
+
+# Mute
+begin
+ prog = mplayer
+ button = Mute
+ config = mute
+end
+
+# Seek back 60 seconds
+begin
+ prog = mplayer
+ button = Left
+ repeat = 2
+ config = seek -60
+end
+
+# Seek forward 60 seconds
+begin
+ prog = mplayer
+ button = Right
+ repeat = 2
+ config = seek +60
+end
+
+# Seek back 10 seconds
+begin
+ prog = mplayer
+ button = Rewind
+ repeat = 2
+ config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+ prog = mplayer
+ button = Forward
+ repeat = 2
+ config = seek +30
+end
+
+# Quit
+begin
+ prog = mplayer
+ button = Back
+ config = quit
+end
+
+# Seek forward 10 minutes
+begin
+ prog = mplayer
+ button = Skip
+ repeat = 2
+ config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+ prog = mplayer
+ button = Replay
+ repeat = 2
+ config = seek -600
+end
+
+# increase brightness
+begin
+ prog = mplayer
+ button = ChannelUp
+ repeat = 2
+ config = brightness +1
+end
+
+# decrease brightness
+begin
+ prog = mplayer
+ button = ChannelDown
+ repeat = 2
+ config = brightness -1
+end
+
+# Toggle full-screen
+#begin
+# prog = mplayer
+# button = #???????????????????????????
+# repeat = 2
+# config = vo_fullscreen
+#end
+
+
+########################## XINE Section ######################################
+#
+# For a compleate list of Xine's Lirc Keybindings use comand
+# xine --keymap=lirc>.lircrc.xine.keybindings
+# This creates a file in current directory called ".lircrc.xine.keybindings"
+# Note: Xine has diferent sets of keybindings for lirc and keyboard
+
+## 01/14/2008
+# xine key bindings.
+# Automatically generated by xine-ui version 0.99.6cvs.
+
+#<><><><><><><><><><> Xine Video Movement <><><><>
+
+# start playback
+begin
+ prog = xine
+ button = Play
+ config = Play
+end
+
+# playback pause toggle
+begin
+ prog = xine
+ button = Pause
+ config = Pause
+end
+
+# stop playback
+begin
+ prog = xine
+ button = Stop
+ config = Stop
+end
+
+# take a snapshot
+#begin
+# prog = xine
+# button = Record
+# repeat = 2
+# config = Snapshot
+#end
+
+begin
+ prog = xine
+ button = Forward
+ repeat = 2
+# delay = 1
+ config = SeekRelative+7
+end
+
+begin
+ prog = xine
+ button = Rewind
+ repeat = 2
+# delay = 1
+ config = SeekRelative-7
+end
+
+# set position to -60 seconds in current stream
+begin
+ prog = xine
+ button = Replay
+ repeat = 2
+ delay = 1
+ config = SeekRelative-60
+end
+
+# set position to +60 seconds in current stream
+begin
+ prog = xine
+ button = Skip
+ repeat = 2
+ delay = 1
+ config = SeekRelative+60
+end
+#<><><><><><><><><><><><>Xine Control<><><><><><><><><>
+
+# quit the program
+begin
+ prog = xine
+ button = Back
+ config = Quit
+end
+
+#display stream information using OSD
+begin
+ prog = xine
+ button = More
+ config = OSDStreamInfos
+end
+
+# menu navigate up
+begin
+ prog = xine
+ button = Up
+ repeat = 2
+ delay = 2
+ config = EventUp
+end
+
+# menu navigate down
+begin
+ prog = xine
+ button = Down
+ repeat = 2
+ delay = 2
+ config = EventDown
+end
+
+# menu navigate left
+begin
+ prog = xine
+ button = Left
+ repeat = 2
+ delay = 2
+ config = EventLeft
+end
+
+# menu navigate right
+begin
+ prog = xine
+ button = Right
+ repeat = 2
+ delay = 2
+ config = EventRight
+end
+
+# menu select
+begin
+ prog = xine
+ button = OK
+ config = EventSelect
+end
+
+# jump to Root Menu
+begin
+ prog = xine
+ button = Start
+ config = Menu
+end
+
+#<><><><><><><><><><><><><><><><><><><> Xine Volume / Channel <><><><><><><><>
+
+# increment audio volume
+begin
+ prog = xine
+ button = VolumeUp
+ repeat = 1
+ config = Volume+
+end
+
+# decrement audio volume
+begin
+ prog = xine
+ button = VolumeDown
+ repeat = 1
+ config = Volume-
+end
+
+# audio muting toggle
+begin
+ prog = xine
+ button = Mute
+ config = Mute
+end
+
+# increase brightness by 10
+begin
+ prog = xine
+ button = ChannelUp
+ config = BrightnessControl+
+end
+
+# decrease brightness by 10
+begin
+ prog = xine
+ button = ChannelDown
+ config = BrightnessControl-
+end
+
+#<><><><><><><><><><><><><><><><><> Xine Menu <><><><>
+
+# unused key
+#begin
+# prog = xine
+# button = RecordedTV
+# config = ????????
+#end
+
+# visibility toggle of stream info window
+begin
+ prog = xine
+ button = Guide
+ config = SetupShow
+end
+
+# unused key
+#begin
+# prog = xine
+# button = LiveTV
+# config = ????????
+#end
+
+# jump to Title Menu
+begin
+ prog = xine
+ button = DVDMenu
+ config = RootMenu
+end
+
+#<><><><><><><><><><><><><><><><><> Xine Stream Position <><><><>
+
+# set position in current stream
+
+begin
+ prog = xine
+ button = Zero
+ config = SetPosition0%
+end
+
+begin
+ prog = xine
+ button = One
+ config = SetPosition10%
+end
+
+begin
+ prog = xine
+ button = Two
+ config = SetPosition20%
+end
+
+begin
+ prog = xine
+ button = Three
+ config = SetPosition30%
+end
+
+begin
+ prog = xine
+ button = Four
+ config = SetPosition40%
+end
+
+begin
+ prog = xine
+ button = Five
+ config = SetPosition50%
+end
+
+begin
+ prog = xine
+ button = Six
+ config = SetPosition60%
+end
+
+begin
+ prog = xine
+ button = Seven
+ config = SetPosition70%
+end
+
+begin
+ prog = xine
+ button = Eight
+ config = SetPosition80%
+end
+
+begin
+ prog = xine
+ button = Nine
+ config = SetPosition90%
+end
+
+#<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+
+# decrement playback speed (slow motion slowdown)
+begin
+ prog = xine
+ button = Star
+ config = SpeedSlower
+end
+
+# increment playback speed (slow motion speedup)
+begin
+ prog = xine
+ button = Hash
+ config = SpeedFaster
+end
+
+# reset playback speed
+begin
+ prog = xine
+ button = Clear
+ config = SpeedReset
+end
+
+# set position to -30 seconds in current stream config = SeekRelative-30
+# set position to +30 seconds in current stream config = SeekRelative+30
+# eject the current medium config = Eject
+# zoom in config = ZoomIn
+# zoom out config = ZoomOut
+# fullscreen toggle config = ToggleFullscreen
+
+##
+# End of xine .
+##
diff --git a/linhes/linhes-templates/templates/remotes/favorites/mce/preview.jpg b/linhes/linhes-templates/templates/remotes/favorites/mce/preview.jpg
new file mode 100644
index 0000000..0aa6a4a
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/mce/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb b/linhes/linhes-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb
new file mode 100644
index 0000000..7acf7ac
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb
@@ -0,0 +1,46 @@
+begin
+ prog = irxevent
+ button = Back
+ config = Key Escape CurrentWindow
+end
+begin
+ prog = irxevent
+ button = Stop
+ config = Key ctrl-shift-w CurrentWindow
+end
+begin
+ prog = irxevent
+ button = Up
+ config = Key Up CurrentWindow
+end
+begin
+ prog = irxevent
+ button = Down
+ config = Key Down CurrentWindow
+end
+begin
+ prog = irxevent
+ button = Left
+ config = Key Left CurrentWindow
+end
+begin
+ prog = irxevent
+ button = Right
+ config = Key Right CurrentWindow
+end
+begin
+ prog = irxevent
+ button = OK
+ config = Key Return CurrentWindow
+end
+begin
+ prog = irxevent
+ button = ChannelUp
+ config = Key alt-Right CurrentWindow
+end
+begin
+ prog = irxevent
+ button = ChannelDown
+ config = Key alt-Left CurrentWindow
+end
+
diff --git a/linhes/linhes-templates/templates/remotes/favorites/no_remote/preview.jpg b/linhes/linhes-templates/templates/remotes/favorites/no_remote/preview.jpg
new file mode 100644
index 0000000..1d887dd
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/no_remote/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/favorites/streamzap/Lircmap.xml b/linhes/linhes-templates/templates/remotes/favorites/streamzap/Lircmap.xml
new file mode 100644
index 0000000..fe4aec4
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/streamzap/Lircmap.xml
@@ -0,0 +1,52 @@
+<!-- ~/.kodi/userdata/Lircmap.xml -->
+<!-- -->
+<!-- This file maps XBMC_buttons to LIRC_buttons -->
+<!-- and is works with a custom ~/.kodi/userdata/remote.xml which maps -->
+<!-- XBMC_buttons to actions -->
+<!-- -->
+<!-- How to add remotes -->
+<!-- <remote device="name_Lirc_calls_the_remote"> -->
+<!-- -->
+<!-- For the commands the layout following layout is used -->
+<!-- <XBMC_button>LIRC_button</XBMC_button> -->
+
+<lircmap>
+ <remote device="Streamzap_PC_Remote">
+ <power>POWER</power>
+ <play>PLAY</play>
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FORWARD</forward>
+ <reverse>REWIND</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <pageplus>CHANNELUP</pageplus>
+ <pageminus>CHANNELDOWN</pageminus>
+ <select>OK</select>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>RED</title>
+ <info>GREEN</info>
+ <display>YELLOW</display>
+ <blue>BLUE</blue>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREVIOUS</skipminus>
+ <record>RECORD</record>
+ <volumeplus>VOLUMEUP</volumeplus>
+ <volumeminus>VOLUMEDOWN</volumeminus>
+ <mute>MUTE</mute>
+ <record>RECORD</record>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+ </remote>
+</lircmap>
diff --git a/linhes/linhes-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap b/linhes/linhes-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap
new file mode 100644
index 0000000..a89ae7e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap
@@ -0,0 +1,119 @@
+# This config file was automatically generated
+# using lirc-0.9.4b(default) on Thu Nov 3 19:55:19 2016
+# Command line used: --device=/dev/lirc0 --driver default Streamzap_PC_Remote
+# Kernel version (uname -r): 4.8.6-1-custom
+#
+# Contributed by graysky (https://github.com/graysky2)
+#
+# You should specify the default driver in /etc/lirc/lirc_options.conf
+# like this: driver = default
+#
+# Remote name : Streamzap PC Remote Control
+# Brand of remote device : Streamzap
+# Remote device model : USBIR2
+# Remote device info URL : http://www.streamzap.com/consumer/pc_remote
+# USB dongle : Yes
+# USB vendor ID : 0x0e9c Streamzap, Inc.
+# Product ID : 0x0000 Streamzap Remote Control
+# Devices controlled : HTPC
+# Remote layout : Classic models have the word "streamzap" in white
+# letters across the bottom of the remote.
+#
+# At least one newer model has the words, "TEMPEST
+# microsystems" in white letters across the bottom of
+# the remote with 3 additional keys in the bottom row.
+#
+# Both older and newer IR receivers and corresponding
+# scancodes seem identical based on the two samples
+# available to me.
+#
+# +-----------+
+# | |
+# | x x | Power, Mute
+# | |
+# | x x x | 1, 2, 3
+# | |
+# | x x x | 4, 5, 6
+# | |
+# | x x x | 7, 8, 9
+# | |
+# | x x x | Channelup, 0, Volumeup
+# | |
+# | x x | Channeldown, Volumedown
+# | |
+# | x | Up
+# | |
+# | x x x | Left, OK, Right
+# | |
+# | x | Down
+# | |
+# | x x | Menu, Exit
+# | |
+# | x x x | Play, Pause, Stop
+# | |
+# | x x x | Previous, Next, Record
+# | |
+# / x x \ Rewind, Forward
+# | |
+# | x x x x | Red, Green, Yellow, Blue
+# | |
+# | x x x | Disp, PTZ (Pan/Tilt/Zoom), Help
+# +-------------+
+
+begin remote
+
+ name Streamzap_PC_Remote
+ bits 14
+ flags RC5
+ eps 30
+ aeps 100
+
+ one 864 864
+ zero 864 864
+ plead 896
+ gap 16777215
+ toggle_bit_mask 0x1000
+ frequency 38000
+
+ begin codes
+ 1 0x28C1
+ 2 0x28C2
+ 3 0x28C3
+ 4 0x28C4
+ 5 0x28C5
+ 6 0x28C6
+ 7 0x28C7
+ 8 0x28C8
+ 9 0x28C9
+ 0 0x28C0
+ POWER 0x28CA
+ MUTE 0x28CB
+ CH_UP 0x28CC
+ CH_DOWN 0x28CE
+ VOL_UP 0x28CD
+ VOL_DOWN 0x28CF
+ UP 0x28D0
+ DOWN 0x28D4
+ LEFT 0x28D1
+ RIGHT 0x28D3
+ OK 0x28D2
+ MENU 0x28D5
+ EXIT 0x28D6
+ PLAY 0x28D7
+ PAUSE 0x28D8
+ STOP 0x28D9
+ PREVIOUS 0x28DA
+ NEXT 0x28DB
+ RECORD 0x28DC
+ REWIND 0x28DD
+ FORWARD 0x28DE
+ RED 0x28E0
+ GREEN 0x28E1
+ YELLOW 0x28E2
+ BLUE 0x28E3
+ DISP 0x28E4
+ PTZ 0x28E5
+ HELP 0x28E6
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/favorites/streamzap/lircrc b/linhes/linhes-templates/templates/remotes/favorites/streamzap/lircrc
new file mode 100644
index 0000000..88a14b8
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/streamzap/lircrc
@@ -0,0 +1,832 @@
+# StreamZap Remote
+# 'config' must either be a literal key, e.g. 'config = l' or must
+# refer to a defined key in MythTV, e.g. 'config = PLAY'a
+
+
+#restart frontend
+begin
+ remote = RS_LD
+ button = RESET
+ prog = irexec
+ repeat = 0
+ config = /usr/bin/restartfrontend.sh
+end
+
+#time
+begin
+ remote = RS_LD
+ button = TIME
+ prog = irexec
+ repeat = 10
+ config = /usr/bin/saytime.sh
+end
+
+#screen blank
+begin
+ remote = RS_LD
+ button = BLANK
+ prog = irexec
+ repeat = 0
+# config = ls
+ config = xset s activate ; xset s blank
+end
+
+
+#picture
+begin
+REMOTE = RS_LD
+prog = mythtv
+button = PICTURE
+repeat = 4
+config = f
+end
+
+#change aspect
+begin
+remote = RS_LD
+prog = mythtv
+button = ASPECT
+# change aspect ratio
+config = w
+end
+
+#Browse
+begin
+remote = RS_LD
+prog = mythtv
+button = BROWSE
+repeat = 8
+config = o
+end
+
+# delete key
+begin
+remote = RS_LD
+prog = mythtv
+button = DELETE
+repeat = 8
+config = d
+end
+
+
+#change card
+begin
+remote = RS_LD
+prog = mythtv
+button = CARD
+repeat = 8
+config = y
+end
+
+# Change TV card input
+begin
+remote = RS_LD
+prog = mythtv
+button = CARD_SOURCE
+repeat = 4
+config = C
+end
+
+
+
+# Cycle through channel history
+begin
+remote = Streamzap_PC_Remote
+prog = mythtv
+button = BLUE
+repeat = 4
+config = H
+end
+
+# Bring up OSD info
+begin
+remote = Streamzap_PC_Remote
+prog = mythtv
+button = YELLOW
+repeat = 4
+config = i
+end
+
+
+
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+begin
+prog = mythtv
+button = POWER
+config = Esc
+end
+
+# ???
+begin
+prog = mythtv
+button = MUTE
+config = F9
+end
+
+begin
+prog = mythtv
+button = CH_UP
+repeat = 3
+config = PgUp
+end
+
+begin
+prog = mythtv
+button = VOL_UP
+repeat = 3
+config = ]
+end
+
+begin
+prog = mythtv
+button = CH_DOWN
+repeat = 3
+config = PgDown
+end
+
+begin
+prog = mythtv
+button = VOL_DOWN
+repeat = 3
+config = [
+end
+
+begin
+prog = mythtv
+button = UP
+repeat = 3
+config = Up
+end
+
+begin
+prog = mythtv
+button = LEFT
+# navigates, or skips back during playback or live tv.
+config = Left
+end
+
+begin
+prog = mythtv
+button = OK
+config = Return
+end
+
+begin
+prog = mythtv
+button = RIGHT
+# navigates, or skips forwards during playback or live tv.
+config = Right
+end
+
+begin
+prog = mythtv
+button = DOWN
+repeat = 3
+config = Down
+end
+
+begin
+prog = mythtv
+button = MENU
+config = m
+end
+
+begin
+prog = mythtv
+button = EXIT
+config = Esc
+end
+
+begin
+prog = mythtv
+button = PLAY
+config = Space
+end
+
+begin
+prog = mythtv
+button = PAUSE
+config = p
+end
+
+begin
+prog = mythtv
+button = STOP
+config = Esc
+end
+
+begin
+prog = mythtv
+# skip backward
+button = PREVIOUS
+config = PgUp
+end
+
+begin
+prog = mythtv
+# skip forward
+button = NEXT
+config = PgDown
+end
+
+begin
+prog = mythtv
+button = RECORD
+config = r
+end
+
+begin
+prog = mythtv
+# rewind
+button = REWIND
+config = Home
+end
+
+begin
+prog = mythtv
+# fast forward
+button = FORWARD
+config = End
+end
+
+begin
+prog = mythtv
+button = RED
+# Delete
+config = d
+end
+
+begin
+prog = mythtv
+button = GREEN
+# Info
+config = i
+end
+
+#begin
+#prog = mythtv
+#button = YELLOW
+# change aspect ratio
+#config = w
+#end
+
+begin
+prog = mythtv
+button = BLUE
+config = Tab
+end
+
+# MPLAYER
+begin
+prog = mplayer
+button = POWER
+config = quit
+end
+
+begin
+prog = mplayer
+button = MUTE
+config = mute
+end
+
+begin
+prog = mplayer
+button = VOL_UP
+repeat = 3
+config = volume +1
+end
+
+begin
+prog = mplayer
+button = VOL_DOWN
+repeat = 3
+config = volume -1
+end
+
+begin
+prog = mplayer
+button = UP
+repeat = 3
+config = seek +10
+end
+
+begin
+prog = mplayer
+button = LEFT
+# navigates, or skips back during playback or live tv.
+config = seek -60
+end
+
+begin
+prog = mplayer
+button = RIGHT
+# navigates, or skips forwards during playback or live tv.
+config = seek +60
+end
+
+begin
+prog = mplayer
+button = DOWN
+repeat = 3
+config = seek -10
+end
+
+begin
+prog = mplayer
+button = EXIT
+config = quit
+end
+
+begin
+prog = mplayer
+button = play
+config = speed_set 1.0
+end
+
+begin
+ prog = mplayer
+ button = pause
+ config = pause
+end
+
+begin
+prog = mplayer
+button = STOP
+config = quit
+end
+
+begin
+prog = mplayer
+# skip backward
+button = PREVIOUS
+config = seek -600
+end
+
+begin
+prog = mplayer
+# skip forward
+button = NEXT
+config = seek +600
+end
+
+begin
+prog = mplayer
+# slow forward
+button = REWIND
+config = speed_mult 0.5
+end
+
+begin
+prog = mplayer
+# fast forward
+button = FORWARD
+config = speed_mult 2.0
+end
+
+### xine commands
+
+begin
+prog = xine
+button = YELLOW
+repeat = 4
+#config = ToggleVisiblity
+config = OSDStreamInfos
+end
+
+begin
+prog = xine
+button = MENU
+repeat = 4
+config = SeekRelative+60
+end
+
+# increase brightness by 10
+begin
+ button = DELETE
+ prog = xine
+ repeat = 4
+ config = BrightnessControl+
+end
+
+# decrease brightness by 10
+begin
+ button = PICTURE
+ prog = xine
+ repeat = 4
+ config = BrightnessControl-
+end
+
+
+begin
+prog = xine
+button = PAUSE
+repeat = 4
+config = Pause
+end
+
+begin
+prog = xine
+button = PLAY
+repeat = 4
+config = Play
+end
+
+begin
+prog = xine
+button = STOP
+repeat = 4
+config = quit
+end
+
+begin
+prog = xine
+button = MUTE
+repeat = 4
+config = mute
+end
+
+begin
+prog = xine
+button = REWIND
+repeat = 4
+config = SeekRelative-30
+end
+
+begin
+prog = xine
+button = FORWARD
+repeat = 4
+#config = SeekRelative+30
+config = SpeedFaster
+end
+
+begin
+prog = xine
+button = POWER
+repeat = 4
+config = quit
+end
+
+begin
+prog = xine
+button = EXIT
+repeat = 4
+config = quit
+end
+
+
+begin
+prog = xine
+button = FREEZE
+repeat = 4
+config = SeekRelative+1200
+end
+
+begin
+prog = xine
+button = MOVE
+repeat = 4
+config = SeekRelative-1200
+end
+
+begin
+prog = xine
+button = 3
+config = SpuNext
+repeat = 0
+end
+
+# Select previous sub picture (subtitle) channel.
+begin
+button = 1
+prog = xine
+repeat = 0
+config = SpuPrior
+end
+
+# Select next audio channel.
+begin
+button = 9
+prog = xine
+repeat = 0
+config = AudioChannelNext
+end
+
+# Select previous audio channel.
+begin
+button = 7
+prog = xine
+repeat = 0
+config = AudioChannelPrior
+end
+
+
+
+# Up event.
+begin
+
+button = UP
+prog = xine
+repeat = 8
+config = EventUp
+end
+
+# Down event.
+begin
+
+button = DOWN
+prog = xine
+repeat = 8
+config = EventDown
+end
+
+# Left event.
+begin
+
+button = LEFT
+prog = xine
+repeat = 8
+config = EventLeft
+end
+
+# Right event.
+begin
+
+button = RIGHT
+prog = xine
+repeat = 8
+config = EventRight
+end
+
+# Select event.
+begin
+prog = xine
+button = ok
+repeat = 8
+config = EventSelect
+end
+
+# Down Chapter
+begin
+
+button = CH_DOWN
+prog = xine
+repeat = 8
+config = EventPrior
+end
+
+# Next Chapter.
+begin
+
+button = CH_UP
+prog = xine
+repeat = 8
+config = EventNext
+end
+
+# menu.
+begin
+
+button = record
+prog = xine
+repeat = 8
+config = RootMenu
+end
+
+# Toggle aspect ratio
+begin
+prog = xine
+button = ASPECT
+repeat = 0
+config = ToggleAspectRatio
+end
+
+
+
+#######xmms
+begin xmms
+ begin
+ prog = xmms
+ button = PLAY
+ config = PLAY
+ end
+ begin
+ prog = xmms
+ button = clear
+ config = PLAYLIST_CLEAR
+ end
+ begin
+ prog = xmms
+ button = load
+ config = PLAYLIST_ADD .xmms/xmms.m3u
+ end
+ begin
+ prog = xmms
+ button = PAUSE
+ config = PAUSE
+ end
+ begin
+ prog = xmms
+ button = STOP
+ config = STOP
+ end
+ begin
+ prog = xmms
+ button = EXIT
+ config = QUIT
+ flags = mode
+ end
+
+ begin
+ prog = xmms
+ button = POWER
+ config = QUIT
+ flags = mode
+ end
+
+ begin
+ prog = xmms
+ button = CH_UP
+ config = NEXT
+ end
+ begin
+ prog = xmms
+ button = CH_DOWN
+ config = PREV
+ end
+
+
+
+begin
+ prog = xmms
+ button = NEXT
+ config = NEXT
+ end
+begin
+ prog = xmms
+ button = PREVIOUS
+ config = PREV
+end
+
+
+begin
+ prog = xmms
+ button = FORWARD
+ config = FWD 10
+ repeat = 2
+ end
+ begin
+ prog = xmms
+ button = REWIND
+ config = BWD 10
+ repeat = 2
+ end
+ begin
+ prog = xmms
+ button = volup
+ config = VOL_UP 10
+ repeat = 2
+ end
+ begin
+ prog = xmms
+ button = voldown
+ config = VOL_DOWN 10
+ repeat = 2
+ end
+ begin
+ prog = xmms
+ button = 1
+ config = ONE
+ end
+ begin
+ prog = xmms
+ button = 2
+ config = TWO
+ end
+ begin
+ prog = xmms
+ button = 3
+ config = THREE
+ end
+ begin
+ prog = xmms
+ button = 4
+ config = FOUR
+ end
+ begin
+ prog = xmms
+ button = 5
+ config = FIVE
+ end
+ begin
+ prog = xmms
+ button = 6
+ config = SIX
+ end
+ begin
+ prog = xmms
+ button = 7
+ config = SEVEN
+ end
+ begin
+ prog = xmms
+ button = 8
+ config = EIGHT
+ end
+ begin
+ prog = xmms
+ button = 9
+ config = NINE
+ end
+ begin
+ prog = xmms
+ button = 0
+ config = ZERO
+ end
+ begin
+ prog = xmms
+ button = enter
+ config = SETPOS
+ end
+end xmms
+
+#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linhes/linhes-templates/templates/remotes/favorites/streamzap/preview.jpg b/linhes/linhes-templates/templates/remotes/favorites/streamzap/preview.jpg
new file mode 100644
index 0000000..4d1a5fe
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/streamzap/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/favorites/streamzap/wol-lircrc b/linhes/linhes-templates/templates/remotes/favorites/streamzap/wol-lircrc
new file mode 100644
index 0000000..bd3e26e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/favorites/streamzap/wol-lircrc
@@ -0,0 +1,66 @@
+# wol-lircrc for Streamzap
+begin
+ prog = irxevent
+ button = STOP
+ config = Key ctrl-shift-w CurrentWindow
+end
+begin
+# Exit Chrome back to Myth
+ prog = irxevent
+ button = EXIT
+ config = Key Escape CurrentWindow
+end
+begin
+ prog = irxevent
+ button = UP
+ config = Key Up CurrentWindow
+end
+begin
+ prog = irxevent
+ button = DOWN
+ config = Key Down CurrentWindow
+end
+begin
+ prog = irxevent
+ button = LEFT
+ config = Key Left CurrentWindow
+end
+begin
+ prog = irxevent
+ button = RIGHT
+ config = Key Right CurrentWindow
+end
+begin
+# Play/Pause
+ prog = irxevent
+ button = OK
+ config = Key Return CurrentWindow
+end
+begin
+# Play/Pause
+ prog = irxevent
+ button = PAUSE
+ config = Key Return CurrentWindow
+end
+begin
+# Play/Pause
+ prog = irxevent
+ button = PLAY
+ config = Key Return CurrentWindow
+end
+begin
+ prog = irxevent
+ button = CH_UP
+ config = Key alt-Right CurrentWindow
+end
+begin
+ prog = irxevent
+ button = CH_DOWN
+ config = Key alt-Left CurrentWindow
+end
+begin
+# Stop watching and return to Netflix Browse
+ prog = irxevent
+ button = MENU
+ config = Key alt-Left CurrentWindow
+end
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/lircd-haupblack.conf b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/lircd-haupblack.conf
new file mode 100644
index 0000000..1733bc1
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/lircd-haupblack.conf
@@ -0,0 +1,55 @@
+#
+# this config file was automatically generated
+# using lirc-0.5.5pre8 on Sun Apr 18 11:43:45 1999
+#
+# contributed by Jens Leuschner <leuschner@gmx.net>
+#
+# brand: Hauppauge
+# model:
+# supported devices: WinTV primo; WinTV pci; WinTV radio
+#
+# This config file will work with both homebrew receivers and
+# original Hauppauge TV cards !!!
+#
+
+begin remote
+
+ name Hauppauge
+ bits 13
+ flags SHIFT_ENC
+ eps 30
+ aeps 100
+
+ one 950 830
+ zero 950 830
+ plead 960
+ gap 89584
+ repeat_bit 2
+
+ begin codes
+ TV 0x000000000000100F
+ RADIO 0x000000000000100C
+ FULL_SCREEN 0x000000000000102E
+ CH+ 0x0000000000001020
+ CH- 0x0000000000001021
+ VOL- 0x0000000000001011
+ VOL+ 0x0000000000001010
+ MUTE 0x000000000000100D
+ SOURCE 0x0000000000001022
+ 1 0x0000000000001001
+ 2 0x0000000000001002
+ 3 0x0000000000001003
+ 4 0x0000000000001004
+ 5 0x0000000000001005
+ 6 0x0000000000001006
+ 7 0x0000000000001007
+ 8 0x0000000000001008
+ 9 0x0000000000001009
+ 0 0x0000000000001000
+ RESERVED 0x000000000000101E
+ MINIMIZE 0x0000000000001026
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/lircrc-haupblack.conf b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/lircrc-haupblack.conf
new file mode 100644
index 0000000..312208b
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/lircrc-haupblack.conf
@@ -0,0 +1,135 @@
+#Hauppauge Black Keys
+
+#UP
+
+begin
+prog = mythtv
+button = CH+
+repeat = 3
+config = Up
+end
+
+#Down
+
+begin
+prog = mythtv
+button = CH-
+repeat = 3
+config = Down
+end
+
+#Close
+
+begin
+prog = mythtv
+button = SOURCE
+config = Escape
+end
+
+#Enter
+
+begin
+prog = mythtv
+button = FULL_SCREEN
+config = W
+end
+
+#Menu
+
+begin
+prog = mythtv
+button = MenuUp
+repeat = 3
+config = M
+end
+
+begin
+prog = mythtv
+button = VOL+
+repeat = 3
+config = F11
+end
+
+begin
+prog = mythtv
+button = VOL-
+repeat = 3
+config = F10
+end
+
+begin
+prog = mythtv
+button = TV
+repeat = 3
+config = O
+end
+
+begin
+prog = mythtv
+button = MUTE
+config = |
+end
+
+#NUMBERS ALL REMOTES HAVE THEM
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/preview.jpg b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/preview.jpg
new file mode 100644
index 0000000..94ffddf
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-black/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/lircd.conf b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/lircd.conf
new file mode 100644
index 0000000..76e74a1
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/lircd.conf
@@ -0,0 +1,31133 @@
+
+#
+# this config file was automatically generated
+# using lirc-0.5.5pre8 on Sun Apr 18 11:43:45 1999
+#
+# contributed by Jens Leuschner <leuschner@gmx.net>
+#
+# brand: Hauppauge
+# model:
+# supported devices: WinTV primo; WinTV pci; WinTV radio
+#
+# This config file will work with both homebrew receivers and
+# original Hauppauge TV cards !!!
+#
+
+begin remote
+
+ name blaster
+ bits 32
+ flags RAW_CODES
+ eps 0
+ aeps 0
+ plead 0
+ gap 333333
+ repeat_bit 0
+ begin raw_codes
+ name 0_1_KEY_0
+ 65536
+ name 0_1_KEY_1
+ 65537
+ name 0_1_KEY_2
+ 65538
+ name 0_1_KEY_3
+ 65539
+ name 0_1_KEY_4
+ 65540
+ name 0_1_KEY_5
+ 65541
+ name 0_1_KEY_6
+ 65542
+ name 0_1_KEY_7
+ 65543
+ name 0_1_KEY_8
+ 65544
+ name 0_1_KEY_9
+ 65545
+ name 0_1_KEY_POWER
+ 65546
+ name 0_1_KEY_MUTE
+ 65553
+ name 0_1_KEY_VOL_DOWN
+ 65554
+ name 0_1_CH_PREVIOUS
+ 65555
+ name 0_1_KEY_VOL_UP
+ 65556
+ name 0_1_KEY_FTUNEPLUS
+ 65569
+ name 0_1_KEY_FTUNEMINUS
+ 65570
+ name 1_1_KEY_0
+ 2147549184
+ name 1_1_KEY_1
+ 2147549185
+ name 1_1_KEY_2
+ 2147549186
+ name 1_1_KEY_3
+ 2147549187
+ name 1_1_KEY_4
+ 2147549188
+ name 1_1_KEY_5
+ 2147549189
+ name 1_1_KEY_6
+ 2147549190
+ name 1_1_KEY_7
+ 2147549191
+ name 1_1_KEY_8
+ 2147549192
+ name 1_1_KEY_9
+ 2147549193
+ name 1_1_KEY_POWER
+ 2147549194
+ name 1_1_KEY_CH_UP
+ 2147549199
+ name 1_1_KEY_CH_DOWN
+ 2147549200
+ name 1_1_KEY_MUTE
+ 2147549201
+ name 1_1_KEY_VOL_DOWN
+ 2147549202
+ name 1_1_CH_PREVIOUS
+ 2147549203
+ name 1_1_KEY_VOL_UP
+ 2147549204
+ name 1_1_KEY_DISPLAY
+ 2147549205
+ name 1_1_KEY_MNSELECT
+ 2147549207
+ name 1_1_KEY_MENU
+ 2147549231
+ name 1_1_KEY_MUP
+ 2147549232
+ name 1_1_KEY_MDOWN
+ 2147549233
+ name 1_1_KEY_MLEFT
+ 2147549234
+ name 1_1_KEY_MRIGHT
+ 2147549235
+ name 1_1_KEY_Setup
+ 2147549249
+ name 1_1_KEY_DGuide
+ 2147549251
+ name 1_1_KEY_Language
+ 2147549254
+ name 1_1_KEY_TVDSS
+ 2147549258
+ name 1_1_KEY_VT
+ 2147549259
+ name 1_1_KEY_Esc
+ 2147549260
+ name 0_2_KEY_0
+ 131072
+ name 0_2_KEY_1
+ 131073
+ name 0_2_KEY_2
+ 131074
+ name 0_2_KEY_3
+ 131075
+ name 0_2_KEY_4
+ 131076
+ name 0_2_KEY_5
+ 131077
+ name 0_2_KEY_6
+ 131078
+ name 0_2_KEY_7
+ 131079
+ name 0_2_KEY_8
+ 131080
+ name 0_2_KEY_9
+ 131081
+ name 0_2_KEY_POWER
+ 131082
+ name 0_2_KEY_CH_UP
+ 131087
+ name 0_2_KEY_CH_DOWN
+ 131088
+ name 0_2_CH_PREVIOUS
+ 131091
+ name 0_2_KEY_FTUNEPLUS
+ 131105
+ name 0_2_KEY_FTUNEMINUS
+ 131106
+ name 0_2_KEY_Norm
+ 131133
+ name 1_2_KEY_0
+ 2147614720
+ name 1_2_KEY_1
+ 2147614721
+ name 1_2_KEY_2
+ 2147614722
+ name 1_2_KEY_3
+ 2147614723
+ name 1_2_KEY_4
+ 2147614724
+ name 1_2_KEY_5
+ 2147614725
+ name 1_2_KEY_6
+ 2147614726
+ name 1_2_KEY_7
+ 2147614727
+ name 1_2_KEY_8
+ 2147614728
+ name 1_2_KEY_9
+ 2147614729
+ name 1_2_KEY_POWER
+ 2147614730
+ name 1_2_KEY_CH_UP
+ 2147614735
+ name 1_2_KEY_CH_DOWN
+ 2147614736
+ name 1_2_KEY_MUTE
+ 2147614737
+ name 1_2_KEY_VOL_DOWN
+ 2147614738
+ name 1_2_KEY_VOL_UP
+ 2147614740
+ name 1_2_KEY_MNSELECT
+ 2147614743
+ name 1_2_KEY_MNRETRUN
+ 2147614752
+ name 1_2_KEY_BLUE
+ 2147614755
+ name 1_2_KEY_GREEN
+ 2147614756
+ name 1_2_KEY_RED
+ 2147614757
+ name 1_2_KEY_YELLOW
+ 2147614758
+ name 1_2_KEY_MENU
+ 2147614767
+ name 1_2_KEY_MUP
+ 2147614768
+ name 1_2_KEY_MDOWN
+ 2147614769
+ name 1_2_KEY_MLEFT
+ 2147614770
+ name 1_2_KEY_MRIGHT
+ 2147614771
+ name 1_2_KEY_FF
+ 2147614772
+ name 1_2_KEY_PLAY
+ 2147614773
+ name 1_2_KEY_REW
+ 2147614774
+ name 1_2_KEY_REC
+ 2147614775
+ name 1_2_KEY_PAUSE
+ 2147614776
+ name 1_2_KEY_STOP
+ 2147614777
+ name 1_2_KEY_VT
+ 2147614795
+ name 1_2_KEY_FullScreen
+ 2147614799
+ name 1_2_KEY_Replay
+ 2147614800
+ name 1_2_KEY_Skip
+ 2147614801
+ name 0_3_KEY_0
+ 196608
+ name 0_3_KEY_1
+ 196609
+ name 0_3_KEY_2
+ 196610
+ name 0_3_KEY_3
+ 196611
+ name 0_3_KEY_4
+ 196612
+ name 0_3_KEY_5
+ 196613
+ name 0_3_KEY_6
+ 196614
+ name 0_3_KEY_7
+ 196615
+ name 0_3_KEY_8
+ 196616
+ name 0_3_KEY_9
+ 196617
+ name 0_3_KEY_POWER
+ 196618
+ name 0_3_KEY_CH_UP
+ 196623
+ name 0_3_KEY_CH_DOWN
+ 196624
+ name 0_3_KEY_VOL_DOWN
+ 196626
+ name 0_3_KEY_VOL_UP
+ 196628
+ name 0_3_KEY_DISPLAY
+ 196629
+ name 0_3_KEY_FAVCH
+ 196636
+ name 0_3_KEY_FTUNEPLUS
+ 196641
+ name 0_3_KEY_FTUNEMINUS
+ 196642
+ name 1_3_KEY_0
+ 2147680256
+ name 1_3_KEY_1
+ 2147680257
+ name 1_3_KEY_2
+ 2147680258
+ name 1_3_KEY_3
+ 2147680259
+ name 1_3_KEY_4
+ 2147680260
+ name 1_3_KEY_5
+ 2147680261
+ name 1_3_KEY_6
+ 2147680262
+ name 1_3_KEY_7
+ 2147680263
+ name 1_3_KEY_8
+ 2147680264
+ name 1_3_KEY_9
+ 2147680265
+ name 1_3_KEY_CH_UP
+ 2147680271
+ name 1_3_KEY_CH_DOWN
+ 2147680272
+ name 1_3_KEY_MUTE
+ 2147680273
+ name 1_3_KEY_VOL_DOWN
+ 2147680274
+ name 1_3_KEY_VOL_UP
+ 2147680276
+ name 1_3_KEY_Radio
+ 2147680327
+ name 1_3_KEY_TV
+ 2147680328
+ name 1_3_KEY_FullScreen
+ 2147680335
+ name 1_3_KEY_Skip
+ 2147680337
+ name 1_3_KEY_Source
+ 2147680338
+ name 1_3_KEY_Reserved
+ 2147680339
+ name 0_4_KEY_0
+ 262144
+ name 0_4_KEY_1
+ 262145
+ name 0_4_KEY_2
+ 262146
+ name 0_4_KEY_3
+ 262147
+ name 0_4_KEY_4
+ 262148
+ name 0_4_KEY_5
+ 262149
+ name 0_4_KEY_6
+ 262150
+ name 0_4_KEY_7
+ 262151
+ name 0_4_KEY_8
+ 262152
+ name 0_4_KEY_9
+ 262153
+ name 0_4_KEY_POWER
+ 262154
+ name 0_4_KEY_MUTE
+ 262161
+ name 0_4_KEY_VOL_DOWN
+ 262162
+ name 0_4_KEY_VOL_UP
+ 262164
+ name 0_4_KEY_DISPLAY
+ 262165
+ name 0_4_KEY_FAVCH
+ 262172
+ name 0_4_KEY_AB
+ 262206
+ name 1_4_KEY_0
+ 2147745792
+ name 1_4_KEY_1
+ 2147745793
+ name 1_4_KEY_2
+ 2147745794
+ name 1_4_KEY_3
+ 2147745795
+ name 1_4_KEY_4
+ 2147745796
+ name 1_4_KEY_5
+ 2147745797
+ name 1_4_KEY_6
+ 2147745798
+ name 1_4_KEY_7
+ 2147745799
+ name 1_4_KEY_8
+ 2147745800
+ name 1_4_KEY_9
+ 2147745801
+ name 1_4_KEY_POWER
+ 2147745802
+ name 1_4_CH_PREVIOUS
+ 2147745811
+ name 1_4_KEY_DISPLAY
+ 2147745813
+ name 1_4_KEY_EXIT
+ 2147745816
+ name 1_4_KEY_INPUT
+ 2147745818
+ name 1_4_KEY_FAV
+ 2147745821
+ name 1_4_KEY_MNRETRUN
+ 2147745824
+ name 1_4_KEY_ENTER
+ 2147745835
+ name 1_4_KEY_MENU
+ 2147745839
+ name 1_4_KEY_MUP
+ 2147745840
+ name 1_4_KEY_MDOWN
+ 2147745841
+ name 1_4_KEY_MLEFT
+ 2147745842
+ name 1_4_KEY_MRIGHT
+ 2147745843
+ name 0_5_KEY_0
+ 327680
+ name 0_5_KEY_1
+ 327681
+ name 0_5_KEY_2
+ 327682
+ name 0_5_KEY_3
+ 327683
+ name 0_5_KEY_4
+ 327684
+ name 0_5_KEY_5
+ 327685
+ name 0_5_KEY_6
+ 327686
+ name 0_5_KEY_7
+ 327687
+ name 0_5_KEY_8
+ 327688
+ name 0_5_KEY_9
+ 327689
+ name 0_5_KEY_POWER
+ 327690
+ name 0_5_KEY_CH_UP
+ 327695
+ name 0_5_KEY_CH_DOWN
+ 327696
+ name 0_5_CH_PREVIOUS
+ 327699
+ name 0_5_KEY_FTUNEPLUS
+ 327713
+ name 0_5_KEY_FTUNEMINUS
+ 327714
+ name 1_5_KEY_0
+ 2147811328
+ name 1_5_KEY_1
+ 2147811329
+ name 1_5_KEY_2
+ 2147811330
+ name 1_5_KEY_3
+ 2147811331
+ name 1_5_KEY_4
+ 2147811332
+ name 1_5_KEY_5
+ 2147811333
+ name 1_5_KEY_6
+ 2147811334
+ name 1_5_KEY_7
+ 2147811335
+ name 1_5_KEY_8
+ 2147811336
+ name 1_5_KEY_9
+ 2147811337
+ name 1_5_KEY_POWER
+ 2147811338
+ name 1_5_TWO_DIGITS
+ 2147811341
+ name 1_5_KEY_CH_UP
+ 2147811343
+ name 1_5_KEY_CH_DOWN
+ 2147811344
+ name 1_5_CH_PREVIOUS
+ 2147811347
+ name 1_5_KEY_DISPLAY
+ 2147811349
+ name 1_5_KEY_EXIT
+ 2147811352
+ name 1_5_KEY_FAV
+ 2147811357
+ name 1_5_KEY_MENU
+ 2147811375
+ name 1_5_KEY_MUP
+ 2147811376
+ name 1_5_KEY_MDOWN
+ 2147811377
+ name 1_5_KEY_MLEFT
+ 2147811378
+ name 1_5_KEY_MRIGHT
+ 2147811379
+ name 1_5_KEY_DGuide
+ 2147811395
+ name 0_6_KEY_0
+ 393216
+ name 0_6_KEY_1
+ 393217
+ name 0_6_KEY_2
+ 393218
+ name 0_6_KEY_3
+ 393219
+ name 0_6_KEY_4
+ 393220
+ name 0_6_KEY_5
+ 393221
+ name 0_6_KEY_6
+ 393222
+ name 0_6_KEY_7
+ 393223
+ name 0_6_KEY_8
+ 393224
+ name 0_6_KEY_9
+ 393225
+ name 0_6_KEY_POWER
+ 393226
+ name 0_6_KEY_CH_UP
+ 393231
+ name 0_6_KEY_CH_DOWN
+ 393232
+ name 0_6_KEY_MUTE
+ 393233
+ name 0_6_KEY_VOL_DOWN
+ 393234
+ name 0_6_CH_PREVIOUS
+ 393235
+ name 0_6_KEY_VOL_UP
+ 393236
+ name 0_6_KEY_FTUNEPLUS
+ 393249
+ name 0_6_KEY_FTUNEMINUS
+ 393250
+ name 1_6_KEY_0
+ 2147876864
+ name 1_6_KEY_1
+ 2147876865
+ name 1_6_KEY_2
+ 2147876866
+ name 1_6_KEY_3
+ 2147876867
+ name 1_6_KEY_4
+ 2147876868
+ name 1_6_KEY_5
+ 2147876869
+ name 1_6_KEY_6
+ 2147876870
+ name 1_6_KEY_7
+ 2147876871
+ name 1_6_KEY_8
+ 2147876872
+ name 1_6_KEY_9
+ 2147876873
+ name 1_6_KEY_POWER
+ 2147876874
+ name 1_6_TWO_DIGITS
+ 2147876877
+ name 1_6_KEY_CH_UP
+ 2147876879
+ name 1_6_KEY_CH_DOWN
+ 2147876880
+ name 1_6_KEY_VOL_DOWN
+ 2147876882
+ name 1_6_CH_PREVIOUS
+ 2147876883
+ name 1_6_KEY_VOL_UP
+ 2147876884
+ name 1_6_KEY_DISPLAY
+ 2147876885
+ name 1_6_KEY_EXIT
+ 2147876888
+ name 1_6_KEY_AV
+ 2147876905
+ name 1_6_KEY_MENU
+ 2147876911
+ name 1_6_KEY_MUP
+ 2147876912
+ name 1_6_KEY_MDOWN
+ 2147876913
+ name 1_6_KEY_MLEFT
+ 2147876914
+ name 1_6_KEY_MRIGHT
+ 2147876915
+ name 0_7_KEY_0
+ 458752
+ name 0_7_KEY_1
+ 458753
+ name 0_7_KEY_2
+ 458754
+ name 0_7_KEY_3
+ 458755
+ name 0_7_KEY_4
+ 458756
+ name 0_7_KEY_5
+ 458757
+ name 0_7_KEY_6
+ 458758
+ name 0_7_KEY_7
+ 458759
+ name 0_7_KEY_8
+ 458760
+ name 0_7_KEY_9
+ 458761
+ name 0_7_KEY_POWER
+ 458762
+ name 0_7_KEY_CH_UP
+ 458767
+ name 0_7_KEY_CH_DOWN
+ 458768
+ name 0_7_KEY_MUTE
+ 458769
+ name 0_7_KEY_VOL_DOWN
+ 458770
+ name 0_7_KEY_VOL_UP
+ 458772
+ name 0_7_KEY_DISPLAY
+ 458773
+ name 1_7_KEY_0
+ 2147942400
+ name 1_7_KEY_1
+ 2147942401
+ name 1_7_KEY_2
+ 2147942402
+ name 1_7_KEY_3
+ 2147942403
+ name 1_7_KEY_4
+ 2147942404
+ name 1_7_KEY_5
+ 2147942405
+ name 1_7_KEY_6
+ 2147942406
+ name 1_7_KEY_7
+ 2147942407
+ name 1_7_KEY_8
+ 2147942408
+ name 1_7_KEY_9
+ 2147942409
+ name 1_7_KEY_POWER
+ 2147942410
+ name 1_7_KEY_CH_UP
+ 2147942415
+ name 1_7_KEY_CH_DOWN
+ 2147942416
+ name 1_7_CH_PREVIOUS
+ 2147942419
+ name 1_7_KEY_MNSELECT
+ 2147942423
+ name 1_7_KEY_EXIT
+ 2147942424
+ name 1_7_KEY_GUIDE
+ 2147942427
+ name 1_7_KEY_FAV
+ 2147942429
+ name 1_7_KEY_MENU
+ 2147942447
+ name 1_7_KEY_MUP
+ 2147942448
+ name 1_7_KEY_MDOWN
+ 2147942449
+ name 1_7_KEY_MLEFT
+ 2147942450
+ name 1_7_KEY_MRIGHT
+ 2147942451
+ name 0_8_KEY_0
+ 524288
+ name 0_8_KEY_1
+ 524289
+ name 0_8_KEY_2
+ 524290
+ name 0_8_KEY_3
+ 524291
+ name 0_8_KEY_4
+ 524292
+ name 0_8_KEY_5
+ 524293
+ name 0_8_KEY_6
+ 524294
+ name 0_8_KEY_7
+ 524295
+ name 0_8_KEY_8
+ 524296
+ name 0_8_KEY_9
+ 524297
+ name 0_8_KEY_POWER
+ 524298
+ name 0_8_KEY_CH_UP
+ 524303
+ name 0_8_KEY_CH_DOWN
+ 524304
+ name 0_8_KEY_DISPLAY
+ 524309
+ name 0_8_KEY_PMCLEAR
+ 524313
+ name 1_8_KEY_0
+ 2148007936
+ name 1_8_KEY_1
+ 2148007937
+ name 1_8_KEY_2
+ 2148007938
+ name 1_8_KEY_3
+ 2148007939
+ name 1_8_KEY_4
+ 2148007940
+ name 1_8_KEY_5
+ 2148007941
+ name 1_8_KEY_6
+ 2148007942
+ name 1_8_KEY_7
+ 2148007943
+ name 1_8_KEY_8
+ 2148007944
+ name 1_8_KEY_9
+ 2148007945
+ name 1_8_KEY_POWER
+ 2148007946
+ name 1_8_KEY_CH_UP
+ 2148007951
+ name 1_8_KEY_CH_DOWN
+ 2148007952
+ name 1_8_KEY_DISPLAY
+ 2148007957
+ name 1_8_KEY_GUIDE
+ 2148007963
+ name 1_8_KEY_ENTER
+ 2148007979
+ name 1_8_KEY_MENU
+ 2148007983
+ name 1_8_KEY_MUP
+ 2148007984
+ name 1_8_KEY_MDOWN
+ 2148007985
+ name 1_8_KEY_MLEFT
+ 2148007986
+ name 1_8_KEY_MRIGHT
+ 2148007987
+ name 1_8_KEY_FF
+ 2148007988
+ name 1_8_KEY_PLAY
+ 2148007989
+ name 1_8_KEY_REW
+ 2148007990
+ name 1_8_KEY_REC
+ 2148007991
+ name 1_8_KEY_PAUSE
+ 2148007992
+ name 0_9_KEY_0
+ 589824
+ name 0_9_KEY_1
+ 589825
+ name 0_9_KEY_2
+ 589826
+ name 0_9_KEY_3
+ 589827
+ name 0_9_KEY_4
+ 589828
+ name 0_9_KEY_5
+ 589829
+ name 0_9_KEY_6
+ 589830
+ name 0_9_KEY_7
+ 589831
+ name 0_9_KEY_8
+ 589832
+ name 0_9_KEY_9
+ 589833
+ name 0_9_KEY_POWER
+ 589834
+ name 0_9_KEY_CH_UP
+ 589839
+ name 0_9_KEY_CH_DOWN
+ 589840
+ name 0_9_KEY_MUTE
+ 589841
+ name 0_9_KEY_VOL_DOWN
+ 589842
+ name 0_9_KEY_VOL_UP
+ 589844
+ name 0_9_KEY_DISPLAY
+ 589845
+ name 0_9_KEY_FTUNEPLUS
+ 589857
+ name 0_9_KEY_FTUNEMINUS
+ 589858
+ name 0_9_KEY_ENTER
+ 589867
+ name 0_9_KEY_Norm
+ 589885
+ name 0_9_KEY_AB
+ 589886
+ name 1_9_KEY_0
+ 2148073472
+ name 1_9_KEY_1
+ 2148073473
+ name 1_9_KEY_2
+ 2148073474
+ name 1_9_KEY_3
+ 2148073475
+ name 1_9_KEY_4
+ 2148073476
+ name 1_9_KEY_5
+ 2148073477
+ name 1_9_KEY_6
+ 2148073478
+ name 1_9_KEY_7
+ 2148073479
+ name 1_9_KEY_8
+ 2148073480
+ name 1_9_KEY_9
+ 2148073481
+ name 1_9_KEY_POWER
+ 2148073482
+ name 1_9_KEY_CH_UP
+ 2148073487
+ name 1_9_KEY_CH_DOWN
+ 2148073488
+ name 1_9_CH_PREVIOUS
+ 2148073491
+ name 1_9_KEY_DISPLAY
+ 2148073493
+ name 1_9_KEY_EXIT
+ 2148073496
+ name 1_9_KEY_INPUT
+ 2148073498
+ name 1_9_KEY_GUIDE
+ 2148073499
+ name 1_9_KEY_MENU
+ 2148073519
+ name 1_9_KEY_MUP
+ 2148073520
+ name 1_9_KEY_MDOWN
+ 2148073521
+ name 1_9_KEY_MLEFT
+ 2148073522
+ name 1_9_KEY_MRIGHT
+ 2148073523
+ name 0_10_KEY_0
+ 655360
+ name 0_10_KEY_1
+ 655361
+ name 0_10_KEY_2
+ 655362
+ name 0_10_KEY_3
+ 655363
+ name 0_10_KEY_4
+ 655364
+ name 0_10_KEY_5
+ 655365
+ name 0_10_KEY_6
+ 655366
+ name 0_10_KEY_7
+ 655367
+ name 0_10_KEY_8
+ 655368
+ name 0_10_KEY_9
+ 655369
+ name 0_10_KEY_POWER
+ 655370
+ name 0_10_KEY_CH_UP
+ 655375
+ name 0_10_KEY_CH_DOWN
+ 655376
+ name 0_10_KEY_AB
+ 655422
+ name 1_10_KEY_0
+ 2148139008
+ name 1_10_KEY_1
+ 2148139009
+ name 1_10_KEY_2
+ 2148139010
+ name 1_10_KEY_3
+ 2148139011
+ name 1_10_KEY_4
+ 2148139012
+ name 1_10_KEY_5
+ 2148139013
+ name 1_10_KEY_6
+ 2148139014
+ name 1_10_KEY_7
+ 2148139015
+ name 1_10_KEY_8
+ 2148139016
+ name 1_10_KEY_9
+ 2148139017
+ name 1_10_KEY_POWER
+ 2148139018
+ name 1_10_TWO_DIGITS
+ 2148139021
+ name 1_10_KEY_CH_UP
+ 2148139023
+ name 1_10_KEY_CH_DOWN
+ 2148139024
+ name 1_10_KEY_MUTE
+ 2148139025
+ name 1_10_KEY_VOL_DOWN
+ 2148139026
+ name 1_10_CH_PREVIOUS
+ 2148139027
+ name 1_10_KEY_VOL_UP
+ 2148139028
+ name 1_10_KEY_DISPLAY
+ 2148139029
+ name 1_10_KEY_EXIT
+ 2148139032
+ name 1_10_KEY_ENTER
+ 2148139051
+ name 1_10_KEY_MENU
+ 2148139055
+ name 1_10_KEY_MUP
+ 2148139056
+ name 1_10_KEY_MDOWN
+ 2148139057
+ name 1_10_KEY_MLEFT
+ 2148139058
+ name 1_10_KEY_MRIGHT
+ 2148139059
+ name 0_11_KEY_0
+ 720896
+ name 0_11_KEY_1
+ 720897
+ name 0_11_KEY_2
+ 720898
+ name 0_11_KEY_3
+ 720899
+ name 0_11_KEY_4
+ 720900
+ name 0_11_KEY_5
+ 720901
+ name 0_11_KEY_6
+ 720902
+ name 0_11_KEY_7
+ 720903
+ name 0_11_KEY_8
+ 720904
+ name 0_11_KEY_9
+ 720905
+ name 0_11_KEY_POWER
+ 720906
+ name 0_11_KEY_CH_UP
+ 720911
+ name 0_11_KEY_CH_DOWN
+ 720912
+ name 0_11_KEY_FTUNEPLUS
+ 720929
+ name 0_11_KEY_FTUNEMINUS
+ 720930
+ name 1_11_KEY_0
+ 2148204544
+ name 1_11_KEY_1
+ 2148204545
+ name 1_11_KEY_2
+ 2148204546
+ name 1_11_KEY_3
+ 2148204547
+ name 1_11_KEY_4
+ 2148204548
+ name 1_11_KEY_5
+ 2148204549
+ name 1_11_KEY_6
+ 2148204550
+ name 1_11_KEY_7
+ 2148204551
+ name 1_11_KEY_8
+ 2148204552
+ name 1_11_KEY_9
+ 2148204553
+ name 1_11_KEY_POWER
+ 2148204554
+ name 1_11_TWO_DIGITS
+ 2148204557
+ name 1_11_KEY_CH_UP
+ 2148204559
+ name 1_11_KEY_CH_DOWN
+ 2148204560
+ name 1_11_CH_PREVIOUS
+ 2148204563
+ name 1_11_KEY_DISPLAY
+ 2148204565
+ name 1_11_KEY_EXIT
+ 2148204568
+ name 1_11_KEY_INPUT
+ 2148204570
+ name 1_11_KEY_GUIDE
+ 2148204571
+ name 1_11_KEY_FAV
+ 2148204573
+ name 1_11_KEY_MENU
+ 2148204591
+ name 1_11_KEY_MUP
+ 2148204592
+ name 1_11_KEY_MDOWN
+ 2148204593
+ name 1_11_KEY_MLEFT
+ 2148204594
+ name 1_11_KEY_MRIGHT
+ 2148204595
+ name 0_12_KEY_0
+ 786432
+ name 0_12_KEY_1
+ 786433
+ name 0_12_KEY_2
+ 786434
+ name 0_12_KEY_3
+ 786435
+ name 0_12_KEY_4
+ 786436
+ name 0_12_KEY_5
+ 786437
+ name 0_12_KEY_6
+ 786438
+ name 0_12_KEY_7
+ 786439
+ name 0_12_KEY_8
+ 786440
+ name 0_12_KEY_9
+ 786441
+ name 0_12_KEY_POWER
+ 786442
+ name 0_12_KEY_CH_UP
+ 786447
+ name 0_12_KEY_CH_DOWN
+ 786448
+ name 0_12_KEY_MUTE
+ 786449
+ name 0_12_KEY_VOL_DOWN
+ 786450
+ name 0_12_KEY_VOL_UP
+ 786452
+ name 1_12_KEY_0
+ 2148270080
+ name 1_12_KEY_1
+ 2148270081
+ name 1_12_KEY_2
+ 2148270082
+ name 1_12_KEY_3
+ 2148270083
+ name 1_12_KEY_4
+ 2148270084
+ name 1_12_KEY_5
+ 2148270085
+ name 1_12_KEY_6
+ 2148270086
+ name 1_12_KEY_7
+ 2148270087
+ name 1_12_KEY_8
+ 2148270088
+ name 1_12_KEY_9
+ 2148270089
+ name 1_12_KEY_POWER
+ 2148270090
+ name 1_12_TWO_DIGITS
+ 2148270093
+ name 1_12_KEY_CH_UP
+ 2148270095
+ name 1_12_KEY_CH_DOWN
+ 2148270096
+ name 1_12_CH_PREVIOUS
+ 2148270099
+ name 1_12_KEY_DISPLAY
+ 2148270101
+ name 1_12_KEY_EXIT
+ 2148270104
+ name 1_12_KEY_GUIDE
+ 2148270107
+ name 1_12_KEY_MENU
+ 2148270127
+ name 1_12_KEY_MUP
+ 2148270128
+ name 1_12_KEY_MDOWN
+ 2148270129
+ name 1_12_KEY_MLEFT
+ 2148270130
+ name 1_12_KEY_MRIGHT
+ 2148270131
+ name 0_13_KEY_0
+ 851968
+ name 0_13_KEY_1
+ 851969
+ name 0_13_KEY_2
+ 851970
+ name 0_13_KEY_3
+ 851971
+ name 0_13_KEY_4
+ 851972
+ name 0_13_KEY_5
+ 851973
+ name 0_13_KEY_6
+ 851974
+ name 0_13_KEY_7
+ 851975
+ name 0_13_KEY_8
+ 851976
+ name 0_13_KEY_9
+ 851977
+ name 0_13_KEY_POWER
+ 851978
+ name 0_13_KEY_CH_UP
+ 851983
+ name 0_13_KEY_CH_DOWN
+ 851984
+ name 0_13_KEY_MUTE
+ 851985
+ name 0_13_KEY_VOL_DOWN
+ 851986
+ name 0_13_KEY_VOL_UP
+ 851988
+ name 0_13_KEY_DISPLAY
+ 851989
+ name 0_13_KEY_Norm
+ 852029
+ name 1_13_KEY_0
+ 2148335616
+ name 1_13_KEY_1
+ 2148335617
+ name 1_13_KEY_2
+ 2148335618
+ name 1_13_KEY_3
+ 2148335619
+ name 1_13_KEY_4
+ 2148335620
+ name 1_13_KEY_5
+ 2148335621
+ name 1_13_KEY_6
+ 2148335622
+ name 1_13_KEY_7
+ 2148335623
+ name 1_13_KEY_8
+ 2148335624
+ name 1_13_KEY_9
+ 2148335625
+ name 1_13_KEY_POWER
+ 2148335626
+ name 1_13_KEY_CH_UP
+ 2148335631
+ name 1_13_KEY_CH_DOWN
+ 2148335632
+ name 1_13_CH_PREVIOUS
+ 2148335635
+ name 1_13_KEY_DISPLAY
+ 2148335637
+ name 1_13_KEY_MNSELECT
+ 2148335639
+ name 1_13_KEY_EXIT
+ 2148335640
+ name 1_13_KEY_GUIDE
+ 2148335643
+ name 1_13_KEY_MENU
+ 2148335663
+ name 1_13_KEY_MUP
+ 2148335664
+ name 1_13_KEY_MDOWN
+ 2148335665
+ name 1_13_KEY_MLEFT
+ 2148335666
+ name 1_13_KEY_MRIGHT
+ 2148335667
+ name 1_13_KEY_Help
+ 2148335680
+ name 0_14_KEY_0
+ 917504
+ name 0_14_KEY_1
+ 917505
+ name 0_14_KEY_2
+ 917506
+ name 0_14_KEY_3
+ 917507
+ name 0_14_KEY_4
+ 917508
+ name 0_14_KEY_5
+ 917509
+ name 0_14_KEY_6
+ 917510
+ name 0_14_KEY_7
+ 917511
+ name 0_14_KEY_8
+ 917512
+ name 0_14_KEY_9
+ 917513
+ name 0_14_KEY_POWER
+ 917514
+ name 0_14_KEY_CH_UP
+ 917519
+ name 0_14_KEY_CH_DOWN
+ 917520
+ name 0_14_KEY_MUTE
+ 917521
+ name 0_14_KEY_VOL_DOWN
+ 917522
+ name 0_14_CH_PREVIOUS
+ 917523
+ name 0_14_KEY_VOL_UP
+ 917524
+ name 0_14_KEY_DISPLAY
+ 917525
+ name 0_14_KEY_SELECT
+ 917534
+ name 1_14_KEY_0
+ 2148401152
+ name 1_14_KEY_1
+ 2148401153
+ name 1_14_KEY_2
+ 2148401154
+ name 1_14_KEY_3
+ 2148401155
+ name 1_14_KEY_4
+ 2148401156
+ name 1_14_KEY_5
+ 2148401157
+ name 1_14_KEY_6
+ 2148401158
+ name 1_14_KEY_7
+ 2148401159
+ name 1_14_KEY_8
+ 2148401160
+ name 1_14_KEY_9
+ 2148401161
+ name 1_14_KEY_POWER
+ 2148401162
+ name 1_14_KEY_CH_UP
+ 2148401167
+ name 1_14_KEY_CH_DOWN
+ 2148401168
+ name 1_14_CH_PREVIOUS
+ 2148401171
+ name 1_14_KEY_DISPLAY
+ 2148401173
+ name 1_14_KEY_EXIT
+ 2148401176
+ name 1_14_KEY_GUIDE
+ 2148401179
+ name 1_14_KEY_FAV
+ 2148401181
+ name 1_14_KEY_ENTER
+ 2148401195
+ name 1_14_KEY_MENU
+ 2148401199
+ name 1_14_KEY_MUP
+ 2148401200
+ name 1_14_KEY_MDOWN
+ 2148401201
+ name 1_14_KEY_MLEFT
+ 2148401202
+ name 1_14_KEY_MRIGHT
+ 2148401203
+ name 0_15_KEY_0
+ 983040
+ name 0_15_KEY_1
+ 983041
+ name 0_15_KEY_2
+ 983042
+ name 0_15_KEY_3
+ 983043
+ name 0_15_KEY_4
+ 983044
+ name 0_15_KEY_5
+ 983045
+ name 0_15_KEY_6
+ 983046
+ name 0_15_KEY_7
+ 983047
+ name 0_15_KEY_8
+ 983048
+ name 0_15_KEY_9
+ 983049
+ name 0_15_KEY_POWER
+ 983050
+ name 0_15_KEY_CH_UP
+ 983055
+ name 0_15_KEY_CH_DOWN
+ 983056
+ name 0_15_KEY_MUTE
+ 983057
+ name 0_15_KEY_VOL_DOWN
+ 983058
+ name 0_15_CH_PREVIOUS
+ 983059
+ name 0_15_KEY_VOL_UP
+ 983060
+ name 0_15_KEY_FTUNEPLUS
+ 983073
+ name 0_15_KEY_FTUNEMINUS
+ 983074
+ name 1_15_KEY_0
+ 2148466688
+ name 1_15_KEY_1
+ 2148466689
+ name 1_15_KEY_2
+ 2148466690
+ name 1_15_KEY_3
+ 2148466691
+ name 1_15_KEY_4
+ 2148466692
+ name 1_15_KEY_5
+ 2148466693
+ name 1_15_KEY_6
+ 2148466694
+ name 1_15_KEY_7
+ 2148466695
+ name 1_15_KEY_8
+ 2148466696
+ name 1_15_KEY_9
+ 2148466697
+ name 1_15_KEY_POWER
+ 2148466698
+ name 1_15_KEY_CH_UP
+ 2148466703
+ name 1_15_KEY_CH_DOWN
+ 2148466704
+ name 1_15_CH_PREVIOUS
+ 2148466707
+ name 1_15_KEY_DISPLAY
+ 2148466709
+ name 1_15_KEY_MNSELECT
+ 2148466711
+ name 1_15_KEY_EXIT
+ 2148466712
+ name 1_15_KEY_GUIDE
+ 2148466715
+ name 1_15_KEY_MENU
+ 2148466735
+ name 1_15_KEY_MUP
+ 2148466736
+ name 1_15_KEY_MDOWN
+ 2148466737
+ name 1_15_KEY_MLEFT
+ 2148466738
+ name 1_15_KEY_MRIGHT
+ 2148466739
+ name 0_16_KEY_0
+ 1048576
+ name 0_16_KEY_1
+ 1048577
+ name 0_16_KEY_2
+ 1048578
+ name 0_16_KEY_3
+ 1048579
+ name 0_16_KEY_4
+ 1048580
+ name 0_16_KEY_5
+ 1048581
+ name 0_16_KEY_6
+ 1048582
+ name 0_16_KEY_7
+ 1048583
+ name 0_16_KEY_8
+ 1048584
+ name 0_16_KEY_9
+ 1048585
+ name 0_16_KEY_POWER
+ 1048586
+ name 0_16_KEY_CH_UP
+ 1048591
+ name 0_16_KEY_CH_DOWN
+ 1048592
+ name 0_16_KEY_FTUNEPLUS
+ 1048609
+ name 0_16_KEY_FTUNEMINUS
+ 1048610
+ name 1_16_KEY_0
+ 2148532224
+ name 1_16_KEY_1
+ 2148532225
+ name 1_16_KEY_2
+ 2148532226
+ name 1_16_KEY_3
+ 2148532227
+ name 1_16_KEY_4
+ 2148532228
+ name 1_16_KEY_5
+ 2148532229
+ name 1_16_KEY_6
+ 2148532230
+ name 1_16_KEY_7
+ 2148532231
+ name 1_16_KEY_8
+ 2148532232
+ name 1_16_KEY_9
+ 2148532233
+ name 1_16_KEY_POWER
+ 2148532234
+ name 1_16_KEY_CH_UP
+ 2148532239
+ name 1_16_KEY_CH_DOWN
+ 2148532240
+ name 1_16_KEY_EXIT
+ 2148532248
+ name 1_16_KEY_GUIDE
+ 2148532251
+ name 1_16_KEY_MENU
+ 2148532271
+ name 1_16_KEY_MUP
+ 2148532272
+ name 1_16_KEY_MDOWN
+ 2148532273
+ name 1_16_KEY_MLEFT
+ 2148532274
+ name 1_16_KEY_MRIGHT
+ 2148532275
+ name 0_17_KEY_0
+ 1114112
+ name 0_17_KEY_1
+ 1114113
+ name 0_17_KEY_2
+ 1114114
+ name 0_17_KEY_3
+ 1114115
+ name 0_17_KEY_4
+ 1114116
+ name 0_17_KEY_5
+ 1114117
+ name 0_17_KEY_6
+ 1114118
+ name 0_17_KEY_7
+ 1114119
+ name 0_17_KEY_8
+ 1114120
+ name 0_17_KEY_9
+ 1114121
+ name 0_17_KEY_POWER
+ 1114122
+ name 0_17_KEY_CH_UP
+ 1114127
+ name 0_17_KEY_CH_DOWN
+ 1114128
+ name 1_17_KEY_0
+ 2148597760
+ name 1_17_KEY_1
+ 2148597761
+ name 1_17_KEY_2
+ 2148597762
+ name 1_17_KEY_3
+ 2148597763
+ name 1_17_KEY_4
+ 2148597764
+ name 1_17_KEY_5
+ 2148597765
+ name 1_17_KEY_6
+ 2148597766
+ name 1_17_KEY_7
+ 2148597767
+ name 1_17_KEY_8
+ 2148597768
+ name 1_17_KEY_9
+ 2148597769
+ name 1_17_KEY_POWER
+ 2148597770
+ name 1_17_KEY_CH_UP
+ 2148597775
+ name 1_17_KEY_CH_DOWN
+ 2148597776
+ name 1_17_KEY_MUTE
+ 2148597777
+ name 1_17_KEY_VOL_DOWN
+ 2148597778
+ name 1_17_CH_PREVIOUS
+ 2148597779
+ name 1_17_KEY_VOL_UP
+ 2148597780
+ name 1_17_KEY_DISPLAY
+ 2148597781
+ name 1_17_KEY_EXIT
+ 2148597784
+ name 1_17_KEY_GUIDE
+ 2148597787
+ name 1_17_KEY_FAV
+ 2148597789
+ name 1_17_KEY_MENU
+ 2148597807
+ name 1_17_KEY_MUP
+ 2148597808
+ name 1_17_KEY_MDOWN
+ 2148597809
+ name 1_17_KEY_MLEFT
+ 2148597810
+ name 1_17_KEY_MRIGHT
+ 2148597811
+ name 0_18_KEY_0
+ 1179648
+ name 0_18_KEY_1
+ 1179649
+ name 0_18_KEY_2
+ 1179650
+ name 0_18_KEY_3
+ 1179651
+ name 0_18_KEY_4
+ 1179652
+ name 0_18_KEY_5
+ 1179653
+ name 0_18_KEY_6
+ 1179654
+ name 0_18_KEY_7
+ 1179655
+ name 0_18_KEY_8
+ 1179656
+ name 0_18_KEY_9
+ 1179657
+ name 0_18_KEY_POWER
+ 1179658
+ name 0_18_KEY_CH_UP
+ 1179663
+ name 0_18_KEY_CH_DOWN
+ 1179664
+ name 0_18_CH_PREVIOUS
+ 1179667
+ name 0_18_KEY_AB
+ 1179710
+ name 1_18_KEY_0
+ 2148663296
+ name 1_18_KEY_1
+ 2148663297
+ name 1_18_KEY_2
+ 2148663298
+ name 1_18_KEY_3
+ 2148663299
+ name 1_18_KEY_4
+ 2148663300
+ name 1_18_KEY_5
+ 2148663301
+ name 1_18_KEY_6
+ 2148663302
+ name 1_18_KEY_7
+ 2148663303
+ name 1_18_KEY_8
+ 2148663304
+ name 1_18_KEY_9
+ 2148663305
+ name 1_18_KEY_POWER
+ 2148663306
+ name 1_18_KEY_CH_UP
+ 2148663311
+ name 1_18_KEY_CH_DOWN
+ 2148663312
+ name 1_18_CH_PREVIOUS
+ 2148663315
+ name 1_18_KEY_DISPLAY
+ 2148663317
+ name 1_18_KEY_EXIT
+ 2148663320
+ name 1_18_KEY_INPUT
+ 2148663322
+ name 1_18_KEY_GUIDE
+ 2148663323
+ name 1_18_KEY_FAV
+ 2148663325
+ name 1_18_KEY_MENU
+ 2148663343
+ name 1_18_KEY_MUP
+ 2148663344
+ name 1_18_KEY_MDOWN
+ 2148663345
+ name 1_18_KEY_MLEFT
+ 2148663346
+ name 1_18_KEY_MRIGHT
+ 2148663347
+ name 0_19_KEY_0
+ 1245184
+ name 0_19_KEY_1
+ 1245185
+ name 0_19_KEY_2
+ 1245186
+ name 0_19_KEY_3
+ 1245187
+ name 0_19_KEY_4
+ 1245188
+ name 0_19_KEY_5
+ 1245189
+ name 0_19_KEY_6
+ 1245190
+ name 0_19_KEY_7
+ 1245191
+ name 0_19_KEY_8
+ 1245192
+ name 0_19_KEY_9
+ 1245193
+ name 0_19_KEY_POWER
+ 1245194
+ name 0_19_KEY_CH_UP
+ 1245199
+ name 0_19_KEY_CH_DOWN
+ 1245200
+ name 0_19_KEY_DISPLAY
+ 1245205
+ name 0_19_KEY_ENTER
+ 1245227
+ name 0_19_KEY_Norm
+ 1245245
+ name 1_19_KEY_0
+ 2148728832
+ name 1_19_KEY_1
+ 2148728833
+ name 1_19_KEY_2
+ 2148728834
+ name 1_19_KEY_3
+ 2148728835
+ name 1_19_KEY_4
+ 2148728836
+ name 1_19_KEY_5
+ 2148728837
+ name 1_19_KEY_6
+ 2148728838
+ name 1_19_KEY_7
+ 2148728839
+ name 1_19_KEY_8
+ 2148728840
+ name 1_19_KEY_9
+ 2148728841
+ name 1_19_KEY_POWER
+ 2148728842
+ name 1_19_KEY_CH_UP
+ 2148728847
+ name 1_19_KEY_CH_DOWN
+ 2148728848
+ name 1_19_KEY_MUTE
+ 2148728849
+ name 1_19_KEY_VOL_DOWN
+ 2148728850
+ name 1_19_CH_PREVIOUS
+ 2148728851
+ name 1_19_KEY_VOL_UP
+ 2148728852
+ name 1_19_KEY_DISPLAY
+ 2148728853
+ name 1_19_KEY_EXIT
+ 2148728856
+ name 1_19_KEY_GUIDE
+ 2148728859
+ name 1_19_KEY_FAV
+ 2148728861
+ name 1_19_KEY_SAT
+ 2148728874
+ name 1_19_KEY_MENU
+ 2148728879
+ name 1_19_KEY_MUP
+ 2148728880
+ name 1_19_KEY_MDOWN
+ 2148728881
+ name 1_19_KEY_MLEFT
+ 2148728882
+ name 1_19_KEY_MRIGHT
+ 2148728883
+ name 0_20_KEY_0
+ 1310720
+ name 0_20_KEY_1
+ 1310721
+ name 0_20_KEY_2
+ 1310722
+ name 0_20_KEY_3
+ 1310723
+ name 0_20_KEY_4
+ 1310724
+ name 0_20_KEY_5
+ 1310725
+ name 0_20_KEY_6
+ 1310726
+ name 0_20_KEY_7
+ 1310727
+ name 0_20_KEY_8
+ 1310728
+ name 0_20_KEY_9
+ 1310729
+ name 0_20_KEY_POWER
+ 1310730
+ name 0_20_KEY_CH_UP
+ 1310735
+ name 0_20_KEY_CH_DOWN
+ 1310736
+ name 0_20_KEY_MUTE
+ 1310737
+ name 0_20_KEY_VOL_DOWN
+ 1310738
+ name 0_20_KEY_VOL_UP
+ 1310740
+ name 0_20_KEY_DISPLAY
+ 1310741
+ name 0_20_KEY_FAVCH
+ 1310748
+ name 0_20_KEY_FTUNEPLUS
+ 1310753
+ name 0_20_KEY_FTUNEMINUS
+ 1310754
+ name 1_20_KEY_0
+ 2148794368
+ name 1_20_KEY_1
+ 2148794369
+ name 1_20_KEY_2
+ 2148794370
+ name 1_20_KEY_3
+ 2148794371
+ name 1_20_KEY_4
+ 2148794372
+ name 1_20_KEY_5
+ 2148794373
+ name 1_20_KEY_6
+ 2148794374
+ name 1_20_KEY_7
+ 2148794375
+ name 1_20_KEY_8
+ 2148794376
+ name 1_20_KEY_9
+ 2148794377
+ name 1_20_KEY_POWER
+ 2148794378
+ name 1_20_KEY_CH_UP
+ 2148794383
+ name 1_20_KEY_CH_DOWN
+ 2148794384
+ name 1_20_KEY_MUTE
+ 2148794385
+ name 1_20_KEY_VOL_DOWN
+ 2148794386
+ name 1_20_CH_PREVIOUS
+ 2148794387
+ name 1_20_KEY_VOL_UP
+ 2148794388
+ name 1_20_KEY_DISPLAY
+ 2148794389
+ name 1_20_KEY_EXIT
+ 2148794392
+ name 1_20_KEY_INPUT
+ 2148794394
+ name 1_20_KEY_GUIDE
+ 2148794395
+ name 1_20_KEY_SELECT
+ 2148794398
+ name 1_20_KEY_AV
+ 2148794409
+ name 1_20_KEY_SAT
+ 2148794410
+ name 1_20_KEY_ENTER
+ 2148794411
+ name 1_20_KEY_MENU
+ 2148794415
+ name 1_20_KEY_MUP
+ 2148794416
+ name 1_20_KEY_MDOWN
+ 2148794417
+ name 1_20_KEY_MLEFT
+ 2148794418
+ name 1_20_KEY_MRIGHT
+ 2148794419
+ name 1_20_KEY_FF
+ 2148794420
+ name 1_20_KEY_PLAY
+ 2148794421
+ name 1_20_KEY_REW
+ 2148794422
+ name 1_20_KEY_REC
+ 2148794423
+ name 1_20_KEY_PAUSE
+ 2148794424
+ name 1_20_KEY_STOP
+ 2148794425
+ name 0_21_KEY_0
+ 1376256
+ name 0_21_KEY_1
+ 1376257
+ name 0_21_KEY_2
+ 1376258
+ name 0_21_KEY_3
+ 1376259
+ name 0_21_KEY_4
+ 1376260
+ name 0_21_KEY_5
+ 1376261
+ name 0_21_KEY_6
+ 1376262
+ name 0_21_KEY_7
+ 1376263
+ name 0_21_KEY_8
+ 1376264
+ name 0_21_KEY_9
+ 1376265
+ name 0_21_KEY_POWER
+ 1376266
+ name 0_21_KEY_CH_UP
+ 1376271
+ name 0_21_KEY_CH_DOWN
+ 1376272
+ name 0_21_KEY_MUTE
+ 1376273
+ name 0_21_KEY_VOL_DOWN
+ 1376274
+ name 0_21_CH_PREVIOUS
+ 1376275
+ name 0_21_KEY_VOL_UP
+ 1376276
+ name 0_21_KEY_DISPLAY
+ 1376277
+ name 0_21_KEY_FTUNEPLUS
+ 1376289
+ name 0_21_KEY_FTUNEMINUS
+ 1376290
+ name 1_21_KEY_0
+ 2148859904
+ name 1_21_KEY_1
+ 2148859905
+ name 1_21_KEY_2
+ 2148859906
+ name 1_21_KEY_3
+ 2148859907
+ name 1_21_KEY_4
+ 2148859908
+ name 1_21_KEY_5
+ 2148859909
+ name 1_21_KEY_6
+ 2148859910
+ name 1_21_KEY_7
+ 2148859911
+ name 1_21_KEY_8
+ 2148859912
+ name 1_21_KEY_9
+ 2148859913
+ name 1_21_KEY_POWER
+ 2148859914
+ name 1_21_KEY_CH_UP
+ 2148859919
+ name 1_21_KEY_CH_DOWN
+ 2148859920
+ name 1_21_KEY_MUTE
+ 2148859921
+ name 1_21_KEY_VOL_DOWN
+ 2148859922
+ name 1_21_CH_PREVIOUS
+ 2148859923
+ name 1_21_KEY_VOL_UP
+ 2148859924
+ name 1_21_KEY_DISPLAY
+ 2148859925
+ name 1_21_KEY_EXIT
+ 2148859928
+ name 1_21_KEY_INPUT
+ 2148859930
+ name 1_21_KEY_GUIDE
+ 2148859931
+ name 1_21_KEY_AV
+ 2148859945
+ name 1_21_KEY_SAT
+ 2148859946
+ name 1_21_KEY_ENTER
+ 2148859947
+ name 1_21_KEY_MENU
+ 2148859951
+ name 1_21_KEY_MUP
+ 2148859952
+ name 1_21_KEY_MDOWN
+ 2148859953
+ name 1_21_KEY_MLEFT
+ 2148859954
+ name 1_21_KEY_MRIGHT
+ 2148859955
+ name 1_21_KEY_FF
+ 2148859956
+ name 1_21_KEY_PLAY
+ 2148859957
+ name 1_21_KEY_REW
+ 2148859958
+ name 1_21_KEY_REC
+ 2148859959
+ name 1_21_KEY_PAUSE
+ 2148859960
+ name 1_21_KEY_STOP
+ 2148859961
+ name 0_22_KEY_0
+ 1441792
+ name 0_22_KEY_1
+ 1441793
+ name 0_22_KEY_2
+ 1441794
+ name 0_22_KEY_3
+ 1441795
+ name 0_22_KEY_4
+ 1441796
+ name 0_22_KEY_5
+ 1441797
+ name 0_22_KEY_6
+ 1441798
+ name 0_22_KEY_7
+ 1441799
+ name 0_22_KEY_8
+ 1441800
+ name 0_22_KEY_9
+ 1441801
+ name 0_22_KEY_POWER
+ 1441802
+ name 0_22_KEY_CH_UP
+ 1441807
+ name 0_22_KEY_CH_DOWN
+ 1441808
+ name 0_22_KEY_MUTE
+ 1441809
+ name 0_22_KEY_VOL_DOWN
+ 1441810
+ name 0_22_KEY_VOL_UP
+ 1441812
+ name 0_22_KEY_DISPLAY
+ 1441813
+ name 0_22_KEY_FAVCH
+ 1441820
+ name 0_22_KEY_FTUNEPLUS
+ 1441825
+ name 0_22_KEY_FTUNEMINUS
+ 1441826
+ name 1_22_KEY_0
+ 2148925440
+ name 1_22_KEY_1
+ 2148925441
+ name 1_22_KEY_2
+ 2148925442
+ name 1_22_KEY_3
+ 2148925443
+ name 1_22_KEY_4
+ 2148925444
+ name 1_22_KEY_5
+ 2148925445
+ name 1_22_KEY_6
+ 2148925446
+ name 1_22_KEY_7
+ 2148925447
+ name 1_22_KEY_8
+ 2148925448
+ name 1_22_KEY_9
+ 2148925449
+ name 1_22_KEY_POWER
+ 2148925450
+ name 1_22_KEY_CH_UP
+ 2148925455
+ name 1_22_KEY_CH_DOWN
+ 2148925456
+ name 1_22_KEY_MUTE
+ 2148925457
+ name 1_22_KEY_VOL_DOWN
+ 2148925458
+ name 1_22_CH_PREVIOUS
+ 2148925459
+ name 1_22_KEY_VOL_UP
+ 2148925460
+ name 1_22_KEY_DISPLAY
+ 2148925461
+ name 1_22_KEY_EXIT
+ 2148925464
+ name 1_22_KEY_INPUT
+ 2148925466
+ name 1_22_KEY_GUIDE
+ 2148925467
+ name 1_22_KEY_AV
+ 2148925481
+ name 1_22_KEY_SAT
+ 2148925482
+ name 1_22_KEY_ENTER
+ 2148925483
+ name 1_22_KEY_MENU
+ 2148925487
+ name 1_22_KEY_MUP
+ 2148925488
+ name 1_22_KEY_MDOWN
+ 2148925489
+ name 1_22_KEY_MLEFT
+ 2148925490
+ name 1_22_KEY_MRIGHT
+ 2148925491
+ name 1_22_KEY_FF
+ 2148925492
+ name 1_22_KEY_PLAY
+ 2148925493
+ name 1_22_KEY_REW
+ 2148925494
+ name 1_22_KEY_REC
+ 2148925495
+ name 1_22_KEY_PAUSE
+ 2148925496
+ name 1_22_KEY_STOP
+ 2148925497
+ name 0_23_KEY_0
+ 1507328
+ name 0_23_KEY_1
+ 1507329
+ name 0_23_KEY_2
+ 1507330
+ name 0_23_KEY_3
+ 1507331
+ name 0_23_KEY_4
+ 1507332
+ name 0_23_KEY_5
+ 1507333
+ name 0_23_KEY_6
+ 1507334
+ name 0_23_KEY_7
+ 1507335
+ name 0_23_KEY_8
+ 1507336
+ name 0_23_KEY_9
+ 1507337
+ name 0_23_KEY_POWER
+ 1507338
+ name 0_23_KEY_CH_UP
+ 1507343
+ name 0_23_KEY_CH_DOWN
+ 1507344
+ name 0_23_KEY_DISPLAY
+ 1507349
+ name 1_23_KEY_0
+ 2148990976
+ name 1_23_KEY_1
+ 2148990977
+ name 1_23_KEY_2
+ 2148990978
+ name 1_23_KEY_3
+ 2148990979
+ name 1_23_KEY_4
+ 2148990980
+ name 1_23_KEY_5
+ 2148990981
+ name 1_23_KEY_6
+ 2148990982
+ name 1_23_KEY_7
+ 2148990983
+ name 1_23_KEY_8
+ 2148990984
+ name 1_23_KEY_9
+ 2148990985
+ name 1_23_KEY_POWER
+ 2148990986
+ name 1_23_KEY_CH_UP
+ 2148990991
+ name 1_23_KEY_CH_DOWN
+ 2148990992
+ name 1_23_CH_PREVIOUS
+ 2148990995
+ name 1_23_KEY_DISPLAY
+ 2148990997
+ name 1_23_KEY_EXIT
+ 2148991000
+ name 1_23_KEY_INPUT
+ 2148991002
+ name 1_23_KEY_GUIDE
+ 2148991003
+ name 1_23_KEY_SELECT
+ 2148991006
+ name 1_23_KEY_AV
+ 2148991017
+ name 1_23_KEY_ENTER
+ 2148991019
+ name 1_23_KEY_MENU
+ 2148991023
+ name 1_23_KEY_MUP
+ 2148991024
+ name 1_23_KEY_MDOWN
+ 2148991025
+ name 1_23_KEY_MLEFT
+ 2148991026
+ name 1_23_KEY_MRIGHT
+ 2148991027
+ name 1_23_KEY_FF
+ 2148991028
+ name 1_23_KEY_PLAY
+ 2148991029
+ name 1_23_KEY_REW
+ 2148991030
+ name 1_23_KEY_REC
+ 2148991031
+ name 1_23_KEY_PAUSE
+ 2148991032
+ name 1_23_KEY_STOP
+ 2148991033
+ name 0_24_KEY_0
+ 1572864
+ name 0_24_KEY_1
+ 1572865
+ name 0_24_KEY_2
+ 1572866
+ name 0_24_KEY_3
+ 1572867
+ name 0_24_KEY_4
+ 1572868
+ name 0_24_KEY_5
+ 1572869
+ name 0_24_KEY_6
+ 1572870
+ name 0_24_KEY_7
+ 1572871
+ name 0_24_KEY_8
+ 1572872
+ name 0_24_KEY_9
+ 1572873
+ name 0_24_KEY_POWER
+ 1572874
+ name 0_24_KEY_CH_UP
+ 1572879
+ name 0_24_KEY_CH_DOWN
+ 1572880
+ name 0_24_KEY_DISPLAY
+ 1572885
+ name 0_24_KEY_PMCLEAR
+ 1572889
+ name 0_24_KEY_FTUNEPLUS
+ 1572897
+ name 0_24_KEY_FTUNEMINUS
+ 1572898
+ name 1_24_KEY_0
+ 2149056512
+ name 1_24_KEY_1
+ 2149056513
+ name 1_24_KEY_2
+ 2149056514
+ name 1_24_KEY_3
+ 2149056515
+ name 1_24_KEY_4
+ 2149056516
+ name 1_24_KEY_5
+ 2149056517
+ name 1_24_KEY_6
+ 2149056518
+ name 1_24_KEY_7
+ 2149056519
+ name 1_24_KEY_8
+ 2149056520
+ name 1_24_KEY_9
+ 2149056521
+ name 1_24_KEY_POWER
+ 2149056522
+ name 1_24_KEY_CH_UP
+ 2149056527
+ name 1_24_KEY_CH_DOWN
+ 2149056528
+ name 1_24_CH_PREVIOUS
+ 2149056531
+ name 1_24_KEY_DISPLAY
+ 2149056533
+ name 1_24_KEY_EXIT
+ 2149056536
+ name 1_24_KEY_INPUT
+ 2149056538
+ name 1_24_KEY_GUIDE
+ 2149056539
+ name 1_24_KEY_FAV
+ 2149056541
+ name 1_24_KEY_SELECT
+ 2149056542
+ name 1_24_KEY_AV
+ 2149056553
+ name 1_24_KEY_SAT
+ 2149056554
+ name 1_24_KEY_ENTER
+ 2149056555
+ name 1_24_KEY_MENU
+ 2149056559
+ name 1_24_KEY_MUP
+ 2149056560
+ name 1_24_KEY_MDOWN
+ 2149056561
+ name 1_24_KEY_MLEFT
+ 2149056562
+ name 1_24_KEY_MRIGHT
+ 2149056563
+ name 1_24_KEY_FF
+ 2149056564
+ name 1_24_KEY_PLAY
+ 2149056565
+ name 1_24_KEY_REW
+ 2149056566
+ name 1_24_KEY_REC
+ 2149056567
+ name 1_24_KEY_PAUSE
+ 2149056568
+ name 1_24_KEY_STOP
+ 2149056569
+ name 0_25_KEY_0
+ 1638400
+ name 0_25_KEY_1
+ 1638401
+ name 0_25_KEY_2
+ 1638402
+ name 0_25_KEY_3
+ 1638403
+ name 0_25_KEY_4
+ 1638404
+ name 0_25_KEY_5
+ 1638405
+ name 0_25_KEY_6
+ 1638406
+ name 0_25_KEY_7
+ 1638407
+ name 0_25_KEY_8
+ 1638408
+ name 0_25_KEY_9
+ 1638409
+ name 0_25_KEY_POWER
+ 1638410
+ name 0_25_KEY_CH_UP
+ 1638415
+ name 0_25_KEY_CH_DOWN
+ 1638416
+ name 0_25_KEY_VOL_DOWN
+ 1638418
+ name 0_25_CH_PREVIOUS
+ 1638419
+ name 0_25_KEY_VOL_UP
+ 1638420
+ name 0_25_KEY_FAVCH
+ 1638428
+ name 0_25_KEY_SELECT
+ 1638430
+ name 0_25_KEY_AB
+ 1638462
+ name 1_25_KEY_0
+ 2149122048
+ name 1_25_KEY_1
+ 2149122049
+ name 1_25_KEY_2
+ 2149122050
+ name 1_25_KEY_3
+ 2149122051
+ name 1_25_KEY_4
+ 2149122052
+ name 1_25_KEY_5
+ 2149122053
+ name 1_25_KEY_6
+ 2149122054
+ name 1_25_KEY_7
+ 2149122055
+ name 1_25_KEY_8
+ 2149122056
+ name 1_25_KEY_9
+ 2149122057
+ name 1_25_KEY_POWER
+ 2149122058
+ name 1_25_KEY_CH_UP
+ 2149122063
+ name 1_25_KEY_CH_DOWN
+ 2149122064
+ name 1_25_KEY_MUTE
+ 2149122065
+ name 1_25_KEY_VOL_DOWN
+ 2149122066
+ name 1_25_CH_PREVIOUS
+ 2149122067
+ name 1_25_KEY_VOL_UP
+ 2149122068
+ name 1_25_KEY_DISPLAY
+ 2149122069
+ name 1_25_KEY_EXIT
+ 2149122072
+ name 1_25_KEY_INPUT
+ 2149122074
+ name 1_25_KEY_GUIDE
+ 2149122075
+ name 1_25_KEY_SELECT
+ 2149122078
+ name 1_25_KEY_AV
+ 2149122089
+ name 1_25_KEY_SAT
+ 2149122090
+ name 1_25_KEY_ENTER
+ 2149122091
+ name 1_25_KEY_MENU
+ 2149122095
+ name 1_25_KEY_MUP
+ 2149122096
+ name 1_25_KEY_MDOWN
+ 2149122097
+ name 1_25_KEY_MLEFT
+ 2149122098
+ name 1_25_KEY_MRIGHT
+ 2149122099
+ name 1_25_KEY_FF
+ 2149122100
+ name 1_25_KEY_PLAY
+ 2149122101
+ name 1_25_KEY_REW
+ 2149122102
+ name 1_25_KEY_REC
+ 2149122103
+ name 1_25_KEY_PAUSE
+ 2149122104
+ name 1_25_KEY_STOP
+ 2149122105
+ name 1_25_KEY_Repeat
+ 2149122106
+ name 0_26_KEY_0
+ 1703936
+ name 0_26_KEY_1
+ 1703937
+ name 0_26_KEY_2
+ 1703938
+ name 0_26_KEY_3
+ 1703939
+ name 0_26_KEY_4
+ 1703940
+ name 0_26_KEY_5
+ 1703941
+ name 0_26_KEY_6
+ 1703942
+ name 0_26_KEY_7
+ 1703943
+ name 0_26_KEY_8
+ 1703944
+ name 0_26_KEY_9
+ 1703945
+ name 0_26_KEY_POWER
+ 1703946
+ name 0_26_KEY_CH_UP
+ 1703951
+ name 0_26_KEY_CH_DOWN
+ 1703952
+ name 0_26_KEY_VOL_DOWN
+ 1703954
+ name 0_26_CH_PREVIOUS
+ 1703955
+ name 0_26_KEY_VOL_UP
+ 1703956
+ name 0_26_KEY_DISPLAY
+ 1703957
+ name 0_26_KEY_ENTER
+ 1703979
+ name 1_26_KEY_0
+ 2149187584
+ name 1_26_KEY_1
+ 2149187585
+ name 1_26_KEY_2
+ 2149187586
+ name 1_26_KEY_3
+ 2149187587
+ name 1_26_KEY_4
+ 2149187588
+ name 1_26_KEY_5
+ 2149187589
+ name 1_26_KEY_6
+ 2149187590
+ name 1_26_KEY_7
+ 2149187591
+ name 1_26_KEY_8
+ 2149187592
+ name 1_26_KEY_9
+ 2149187593
+ name 1_26_KEY_POWER
+ 2149187594
+ name 1_26_KEY_CH_UP
+ 2149187599
+ name 1_26_KEY_CH_DOWN
+ 2149187600
+ name 1_26_KEY_MUTE
+ 2149187601
+ name 1_26_KEY_VOL_DOWN
+ 2149187602
+ name 1_26_CH_PREVIOUS
+ 2149187603
+ name 1_26_KEY_VOL_UP
+ 2149187604
+ name 1_26_KEY_DISPLAY
+ 2149187605
+ name 1_26_KEY_EXIT
+ 2149187608
+ name 1_26_KEY_INPUT
+ 2149187610
+ name 1_26_KEY_GUIDE
+ 2149187611
+ name 1_26_KEY_SELECT
+ 2149187614
+ name 1_26_KEY_AV
+ 2149187625
+ name 1_26_KEY_SAT
+ 2149187626
+ name 1_26_KEY_ENTER
+ 2149187627
+ name 1_26_KEY_MENU
+ 2149187631
+ name 1_26_KEY_MUP
+ 2149187632
+ name 1_26_KEY_MDOWN
+ 2149187633
+ name 1_26_KEY_MLEFT
+ 2149187634
+ name 1_26_KEY_MRIGHT
+ 2149187635
+ name 1_26_KEY_FF
+ 2149187636
+ name 1_26_KEY_PLAY
+ 2149187637
+ name 1_26_KEY_REW
+ 2149187638
+ name 1_26_KEY_REC
+ 2149187639
+ name 1_26_KEY_PAUSE
+ 2149187640
+ name 1_26_KEY_STOP
+ 2149187641
+ name 1_26_KEY_Repeat
+ 2149187642
+ name 0_27_KEY_0
+ 1769472
+ name 0_27_KEY_1
+ 1769473
+ name 0_27_KEY_2
+ 1769474
+ name 0_27_KEY_3
+ 1769475
+ name 0_27_KEY_4
+ 1769476
+ name 0_27_KEY_5
+ 1769477
+ name 0_27_KEY_6
+ 1769478
+ name 0_27_KEY_7
+ 1769479
+ name 0_27_KEY_8
+ 1769480
+ name 0_27_KEY_9
+ 1769481
+ name 0_27_KEY_POWER
+ 1769482
+ name 0_27_KEY_CH_UP
+ 1769487
+ name 0_27_KEY_CH_DOWN
+ 1769488
+ name 0_27_KEY_FAVCH
+ 1769500
+ name 0_27_KEY_FTUNEPLUS
+ 1769505
+ name 0_27_KEY_FTUNEMINUS
+ 1769506
+ name 0_27_KEY_Norm
+ 1769533
+ name 0_27_KEY_AB
+ 1769534
+ name 1_27_KEY_0
+ 2149253120
+ name 1_27_KEY_1
+ 2149253121
+ name 1_27_KEY_2
+ 2149253122
+ name 1_27_KEY_3
+ 2149253123
+ name 1_27_KEY_4
+ 2149253124
+ name 1_27_KEY_5
+ 2149253125
+ name 1_27_KEY_6
+ 2149253126
+ name 1_27_KEY_7
+ 2149253127
+ name 1_27_KEY_8
+ 2149253128
+ name 1_27_KEY_9
+ 2149253129
+ name 1_27_KEY_POWER
+ 2149253130
+ name 1_27_KEY_CH_UP
+ 2149253135
+ name 1_27_KEY_CH_DOWN
+ 2149253136
+ name 1_27_CH_PREVIOUS
+ 2149253139
+ name 1_27_KEY_GUIDE
+ 2149253147
+ name 1_27_KEY_AV
+ 2149253161
+ name 1_27_KEY_ENTER
+ 2149253163
+ name 0_28_KEY_0
+ 1835008
+ name 0_28_KEY_1
+ 1835009
+ name 0_28_KEY_2
+ 1835010
+ name 0_28_KEY_3
+ 1835011
+ name 0_28_KEY_4
+ 1835012
+ name 0_28_KEY_5
+ 1835013
+ name 0_28_KEY_6
+ 1835014
+ name 0_28_KEY_7
+ 1835015
+ name 0_28_KEY_8
+ 1835016
+ name 0_28_KEY_9
+ 1835017
+ name 0_28_KEY_POWER
+ 1835018
+ name 0_28_KEY_CH_UP
+ 1835023
+ name 0_28_KEY_CH_DOWN
+ 1835024
+ name 0_28_KEY_MUTE
+ 1835025
+ name 0_28_KEY_VOL_DOWN
+ 1835026
+ name 0_28_KEY_VOL_UP
+ 1835028
+ name 0_28_KEY_DISPLAY
+ 1835029
+ name 1_28_KEY_0
+ 2149318656
+ name 1_28_KEY_1
+ 2149318657
+ name 1_28_KEY_2
+ 2149318658
+ name 1_28_KEY_3
+ 2149318659
+ name 1_28_KEY_4
+ 2149318660
+ name 1_28_KEY_5
+ 2149318661
+ name 1_28_KEY_6
+ 2149318662
+ name 1_28_KEY_7
+ 2149318663
+ name 1_28_KEY_8
+ 2149318664
+ name 1_28_KEY_9
+ 2149318665
+ name 1_28_KEY_POWER
+ 2149318666
+ name 1_28_KEY_CH_UP
+ 2149318671
+ name 1_28_KEY_CH_DOWN
+ 2149318672
+ name 1_28_KEY_MUTE
+ 2149318673
+ name 1_28_KEY_VOL_DOWN
+ 2149318674
+ name 1_28_CH_PREVIOUS
+ 2149318675
+ name 1_28_KEY_VOL_UP
+ 2149318676
+ name 1_28_KEY_DISPLAY
+ 2149318677
+ name 1_28_KEY_EXIT
+ 2149318680
+ name 1_28_KEY_GUIDE
+ 2149318683
+ name 1_28_KEY_SELECT
+ 2149318686
+ name 1_28_KEY_AV
+ 2149318697
+ name 1_28_KEY_ENTER
+ 2149318699
+ name 1_28_KEY_MENU
+ 2149318703
+ name 1_28_KEY_MUP
+ 2149318704
+ name 1_28_KEY_MDOWN
+ 2149318705
+ name 1_28_KEY_MLEFT
+ 2149318706
+ name 1_28_KEY_MRIGHT
+ 2149318707
+ name 0_29_KEY_0
+ 1900544
+ name 0_29_KEY_1
+ 1900545
+ name 0_29_KEY_2
+ 1900546
+ name 0_29_KEY_3
+ 1900547
+ name 0_29_KEY_4
+ 1900548
+ name 0_29_KEY_5
+ 1900549
+ name 0_29_KEY_6
+ 1900550
+ name 0_29_KEY_7
+ 1900551
+ name 0_29_KEY_8
+ 1900552
+ name 0_29_KEY_9
+ 1900553
+ name 0_29_KEY_POWER
+ 1900554
+ name 0_29_KEY_CH_UP
+ 1900559
+ name 0_29_KEY_CH_DOWN
+ 1900560
+ name 0_29_KEY_MUTE
+ 1900561
+ name 0_29_KEY_VOL_DOWN
+ 1900562
+ name 0_29_CH_PREVIOUS
+ 1900563
+ name 0_29_KEY_VOL_UP
+ 1900564
+ name 0_29_KEY_DISPLAY
+ 1900565
+ name 0_29_KEY_FAVCH
+ 1900572
+ name 0_29_KEY_SELECT
+ 1900574
+ name 0_29_KEY_ENTER
+ 1900587
+ name 0_29_KEY_AB
+ 1900606
+ name 1_29_KEY_0
+ 2149384192
+ name 1_29_KEY_1
+ 2149384193
+ name 1_29_KEY_2
+ 2149384194
+ name 1_29_KEY_3
+ 2149384195
+ name 1_29_KEY_4
+ 2149384196
+ name 1_29_KEY_5
+ 2149384197
+ name 1_29_KEY_6
+ 2149384198
+ name 1_29_KEY_7
+ 2149384199
+ name 1_29_KEY_8
+ 2149384200
+ name 1_29_KEY_9
+ 2149384201
+ name 1_29_KEY_POWER
+ 2149384202
+ name 1_29_KEY_CH_UP
+ 2149384207
+ name 1_29_KEY_CH_DOWN
+ 2149384208
+ name 1_29_KEY_ENTER
+ 2149384235
+ name 0_30_KEY_0
+ 1966080
+ name 0_30_KEY_1
+ 1966081
+ name 0_30_KEY_2
+ 1966082
+ name 0_30_KEY_3
+ 1966083
+ name 0_30_KEY_4
+ 1966084
+ name 0_30_KEY_5
+ 1966085
+ name 0_30_KEY_6
+ 1966086
+ name 0_30_KEY_7
+ 1966087
+ name 0_30_KEY_8
+ 1966088
+ name 0_30_KEY_9
+ 1966089
+ name 0_30_KEY_POWER
+ 1966090
+ name 0_30_KEY_MUTE
+ 1966097
+ name 0_30_KEY_VOL_DOWN
+ 1966098
+ name 0_30_CH_PREVIOUS
+ 1966099
+ name 0_30_KEY_VOL_UP
+ 1966100
+ name 0_30_KEY_RETURN
+ 1966111
+ name 1_30_KEY_0
+ 2149449728
+ name 1_30_KEY_1
+ 2149449729
+ name 1_30_KEY_2
+ 2149449730
+ name 1_30_KEY_3
+ 2149449731
+ name 1_30_KEY_4
+ 2149449732
+ name 1_30_KEY_5
+ 2149449733
+ name 1_30_KEY_6
+ 2149449734
+ name 1_30_KEY_7
+ 2149449735
+ name 1_30_KEY_8
+ 2149449736
+ name 1_30_KEY_9
+ 2149449737
+ name 1_30_KEY_POWER
+ 2149449738
+ name 1_30_TWO_DIGITS
+ 2149449741
+ name 1_30_KEY_CH_UP
+ 2149449743
+ name 1_30_KEY_CH_DOWN
+ 2149449744
+ name 1_30_KEY_DISPLAY
+ 2149449749
+ name 1_30_KEY_EXIT
+ 2149449752
+ name 1_30_KEY_GUIDE
+ 2149449755
+ name 1_30_KEY_SELECT
+ 2149449758
+ name 1_30_KEY_MENU
+ 2149449775
+ name 1_30_KEY_MUP
+ 2149449776
+ name 1_30_KEY_MDOWN
+ 2149449777
+ name 1_30_KEY_MLEFT
+ 2149449778
+ name 1_30_KEY_MRIGHT
+ 2149449779
+ name 0_31_KEY_0
+ 2031616
+ name 0_31_KEY_1
+ 2031617
+ name 0_31_KEY_2
+ 2031618
+ name 0_31_KEY_3
+ 2031619
+ name 0_31_KEY_4
+ 2031620
+ name 0_31_KEY_5
+ 2031621
+ name 0_31_KEY_6
+ 2031622
+ name 0_31_KEY_7
+ 2031623
+ name 0_31_KEY_8
+ 2031624
+ name 0_31_KEY_9
+ 2031625
+ name 0_31_KEY_POWER
+ 2031626
+ name 0_31_KEY_CH_UP
+ 2031631
+ name 0_31_KEY_CH_DOWN
+ 2031632
+ name 0_31_CH_PREVIOUS
+ 2031635
+ name 0_31_KEY_DISPLAY
+ 2031637
+ name 1_31_KEY_0
+ 2149515264
+ name 1_31_KEY_1
+ 2149515265
+ name 1_31_KEY_2
+ 2149515266
+ name 1_31_KEY_3
+ 2149515267
+ name 1_31_KEY_4
+ 2149515268
+ name 1_31_KEY_5
+ 2149515269
+ name 1_31_KEY_6
+ 2149515270
+ name 1_31_KEY_7
+ 2149515271
+ name 1_31_KEY_8
+ 2149515272
+ name 1_31_KEY_9
+ 2149515273
+ name 1_31_KEY_POWER
+ 2149515274
+ name 1_31_TWO_DIGITS
+ 2149515277
+ name 1_31_KEY_CH_UP
+ 2149515279
+ name 1_31_KEY_CH_DOWN
+ 2149515280
+ name 1_31_KEY_DISPLAY
+ 2149515285
+ name 1_31_KEY_EXIT
+ 2149515288
+ name 1_31_KEY_GUIDE
+ 2149515291
+ name 1_31_KEY_SELECT
+ 2149515294
+ name 1_31_KEY_MENU
+ 2149515311
+ name 1_31_KEY_MUP
+ 2149515312
+ name 1_31_KEY_MDOWN
+ 2149515313
+ name 1_31_KEY_MLEFT
+ 2149515314
+ name 1_31_KEY_MRIGHT
+ 2149515315
+ name 0_32_KEY_0
+ 2097152
+ name 0_32_KEY_1
+ 2097153
+ name 0_32_KEY_2
+ 2097154
+ name 0_32_KEY_3
+ 2097155
+ name 0_32_KEY_4
+ 2097156
+ name 0_32_KEY_5
+ 2097157
+ name 0_32_KEY_6
+ 2097158
+ name 0_32_KEY_7
+ 2097159
+ name 0_32_KEY_8
+ 2097160
+ name 0_32_KEY_9
+ 2097161
+ name 0_32_KEY_POWER
+ 2097162
+ name 0_32_KEY_CH_UP
+ 2097167
+ name 0_32_KEY_CH_DOWN
+ 2097168
+ name 0_32_KEY_MUTE
+ 2097169
+ name 0_32_KEY_VOL_DOWN
+ 2097170
+ name 0_32_CH_PREVIOUS
+ 2097171
+ name 0_32_KEY_VOL_UP
+ 2097172
+ name 1_32_KEY_0
+ 2149580800
+ name 1_32_KEY_1
+ 2149580801
+ name 1_32_KEY_2
+ 2149580802
+ name 1_32_KEY_3
+ 2149580803
+ name 1_32_KEY_4
+ 2149580804
+ name 1_32_KEY_5
+ 2149580805
+ name 1_32_KEY_6
+ 2149580806
+ name 1_32_KEY_7
+ 2149580807
+ name 1_32_KEY_8
+ 2149580808
+ name 1_32_KEY_9
+ 2149580809
+ name 1_32_KEY_POWER
+ 2149580810
+ name 1_32_TWO_DIGITS
+ 2149580813
+ name 1_32_KEY_CH_UP
+ 2149580815
+ name 1_32_KEY_CH_DOWN
+ 2149580816
+ name 1_32_KEY_DISPLAY
+ 2149580821
+ name 1_32_KEY_EXIT
+ 2149580824
+ name 1_32_KEY_GUIDE
+ 2149580827
+ name 1_32_KEY_SELECT
+ 2149580830
+ name 1_32_KEY_MENU
+ 2149580847
+ name 1_32_KEY_MUP
+ 2149580848
+ name 1_32_KEY_MDOWN
+ 2149580849
+ name 1_32_KEY_MLEFT
+ 2149580850
+ name 1_32_KEY_MRIGHT
+ 2149580851
+ name 0_33_KEY_0
+ 2162688
+ name 0_33_KEY_1
+ 2162689
+ name 0_33_KEY_2
+ 2162690
+ name 0_33_KEY_3
+ 2162691
+ name 0_33_KEY_4
+ 2162692
+ name 0_33_KEY_5
+ 2162693
+ name 0_33_KEY_6
+ 2162694
+ name 0_33_KEY_7
+ 2162695
+ name 0_33_KEY_8
+ 2162696
+ name 0_33_KEY_9
+ 2162697
+ name 0_33_KEY_POWER
+ 2162698
+ name 0_33_KEY_CH_UP
+ 2162703
+ name 0_33_KEY_CH_DOWN
+ 2162704
+ name 0_33_KEY_MUTE
+ 2162705
+ name 0_33_KEY_VOL_DOWN
+ 2162706
+ name 0_33_CH_PREVIOUS
+ 2162707
+ name 0_33_KEY_VOL_UP
+ 2162708
+ name 0_33_KEY_DISPLAY
+ 2162709
+ name 0_33_KEY_INPUT
+ 2162714
+ name 0_33_KEY_FTUNEPLUS
+ 2162721
+ name 0_33_KEY_FTUNEMINUS
+ 2162722
+ name 0_33_KEY_AB
+ 2162750
+ name 1_33_KEY_0
+ 2149646336
+ name 1_33_KEY_1
+ 2149646337
+ name 1_33_KEY_2
+ 2149646338
+ name 1_33_KEY_3
+ 2149646339
+ name 1_33_KEY_4
+ 2149646340
+ name 1_33_KEY_5
+ 2149646341
+ name 1_33_KEY_6
+ 2149646342
+ name 1_33_KEY_7
+ 2149646343
+ name 1_33_KEY_8
+ 2149646344
+ name 1_33_KEY_9
+ 2149646345
+ name 1_33_KEY_POWER
+ 2149646346
+ name 1_33_TWO_DIGITS
+ 2149646349
+ name 1_33_KEY_CH_UP
+ 2149646351
+ name 1_33_KEY_CH_DOWN
+ 2149646352
+ name 1_33_KEY_DISPLAY
+ 2149646357
+ name 1_33_KEY_EXIT
+ 2149646360
+ name 1_33_KEY_GUIDE
+ 2149646363
+ name 1_33_KEY_SELECT
+ 2149646366
+ name 1_33_KEY_MENU
+ 2149646383
+ name 1_33_KEY_MUP
+ 2149646384
+ name 1_33_KEY_MDOWN
+ 2149646385
+ name 1_33_KEY_MLEFT
+ 2149646386
+ name 1_33_KEY_MRIGHT
+ 2149646387
+ name 0_34_KEY_0
+ 2228224
+ name 0_34_KEY_1
+ 2228225
+ name 0_34_KEY_2
+ 2228226
+ name 0_34_KEY_3
+ 2228227
+ name 0_34_KEY_4
+ 2228228
+ name 0_34_KEY_5
+ 2228229
+ name 0_34_KEY_6
+ 2228230
+ name 0_34_KEY_7
+ 2228231
+ name 0_34_KEY_8
+ 2228232
+ name 0_34_KEY_9
+ 2228233
+ name 0_34_KEY_POWER
+ 2228234
+ name 0_34_KEY_CH_UP
+ 2228239
+ name 0_34_KEY_CH_DOWN
+ 2228240
+ name 0_34_CH_PREVIOUS
+ 2228243
+ name 0_34_KEY_ENTER
+ 2228267
+ name 1_34_KEY_0
+ 2149711872
+ name 1_34_KEY_1
+ 2149711873
+ name 1_34_KEY_2
+ 2149711874
+ name 1_34_KEY_3
+ 2149711875
+ name 1_34_KEY_4
+ 2149711876
+ name 1_34_KEY_5
+ 2149711877
+ name 1_34_KEY_6
+ 2149711878
+ name 1_34_KEY_7
+ 2149711879
+ name 1_34_KEY_8
+ 2149711880
+ name 1_34_KEY_9
+ 2149711881
+ name 1_34_KEY_POWER
+ 2149711882
+ name 1_34_TWO_DIGITS
+ 2149711885
+ name 1_34_KEY_CH_UP
+ 2149711887
+ name 1_34_KEY_CH_DOWN
+ 2149711888
+ name 1_34_KEY_DISPLAY
+ 2149711893
+ name 1_34_KEY_EXIT
+ 2149711896
+ name 1_34_KEY_GUIDE
+ 2149711899
+ name 1_34_KEY_SELECT
+ 2149711902
+ name 1_34_KEY_MENU
+ 2149711919
+ name 1_34_KEY_MUP
+ 2149711920
+ name 1_34_KEY_MDOWN
+ 2149711921
+ name 1_34_KEY_MLEFT
+ 2149711922
+ name 1_34_KEY_MRIGHT
+ 2149711923
+ name 0_35_KEY_0
+ 2293760
+ name 0_35_KEY_1
+ 2293761
+ name 0_35_KEY_2
+ 2293762
+ name 0_35_KEY_3
+ 2293763
+ name 0_35_KEY_4
+ 2293764
+ name 0_35_KEY_5
+ 2293765
+ name 0_35_KEY_6
+ 2293766
+ name 0_35_KEY_7
+ 2293767
+ name 0_35_KEY_8
+ 2293768
+ name 0_35_KEY_9
+ 2293769
+ name 0_35_KEY_POWER
+ 2293770
+ name 0_35_KEY_CH_UP
+ 2293775
+ name 0_35_KEY_CH_DOWN
+ 2293776
+ name 0_35_CH_PREVIOUS
+ 2293779
+ name 0_35_KEY_ENTER
+ 2293803
+ name 1_35_KEY_0
+ 2149777408
+ name 1_35_KEY_1
+ 2149777409
+ name 1_35_KEY_2
+ 2149777410
+ name 1_35_KEY_3
+ 2149777411
+ name 1_35_KEY_4
+ 2149777412
+ name 1_35_KEY_5
+ 2149777413
+ name 1_35_KEY_6
+ 2149777414
+ name 1_35_KEY_7
+ 2149777415
+ name 1_35_KEY_8
+ 2149777416
+ name 1_35_KEY_9
+ 2149777417
+ name 1_35_KEY_POWER
+ 2149777418
+ name 1_35_TWO_DIGITS
+ 2149777421
+ name 1_35_KEY_CH_UP
+ 2149777423
+ name 1_35_KEY_CH_DOWN
+ 2149777424
+ name 1_35_KEY_DISPLAY
+ 2149777429
+ name 1_35_KEY_EXIT
+ 2149777432
+ name 1_35_KEY_GUIDE
+ 2149777435
+ name 1_35_KEY_SELECT
+ 2149777438
+ name 1_35_KEY_MENU
+ 2149777455
+ name 1_35_KEY_MUP
+ 2149777456
+ name 1_35_KEY_MDOWN
+ 2149777457
+ name 1_35_KEY_MLEFT
+ 2149777458
+ name 1_35_KEY_MRIGHT
+ 2149777459
+ name 0_36_KEY_0
+ 2359296
+ name 0_36_KEY_1
+ 2359297
+ name 0_36_KEY_2
+ 2359298
+ name 0_36_KEY_3
+ 2359299
+ name 0_36_KEY_4
+ 2359300
+ name 0_36_KEY_5
+ 2359301
+ name 0_36_KEY_6
+ 2359302
+ name 0_36_KEY_7
+ 2359303
+ name 0_36_KEY_8
+ 2359304
+ name 0_36_KEY_9
+ 2359305
+ name 0_36_KEY_POWER
+ 2359306
+ name 0_36_KEY_CH_UP
+ 2359311
+ name 0_36_KEY_CH_DOWN
+ 2359312
+ name 1_36_KEY_0
+ 2149842944
+ name 1_36_KEY_1
+ 2149842945
+ name 1_36_KEY_2
+ 2149842946
+ name 1_36_KEY_3
+ 2149842947
+ name 1_36_KEY_4
+ 2149842948
+ name 1_36_KEY_5
+ 2149842949
+ name 1_36_KEY_6
+ 2149842950
+ name 1_36_KEY_7
+ 2149842951
+ name 1_36_KEY_8
+ 2149842952
+ name 1_36_KEY_9
+ 2149842953
+ name 1_36_KEY_POWER
+ 2149842954
+ name 1_36_TWO_DIGITS
+ 2149842957
+ name 1_36_KEY_CH_UP
+ 2149842959
+ name 1_36_KEY_CH_DOWN
+ 2149842960
+ name 1_36_KEY_DISPLAY
+ 2149842965
+ name 1_36_KEY_EXIT
+ 2149842968
+ name 1_36_KEY_GUIDE
+ 2149842971
+ name 1_36_KEY_SELECT
+ 2149842974
+ name 1_36_KEY_MENU
+ 2149842991
+ name 1_36_KEY_MUP
+ 2149842992
+ name 1_36_KEY_MDOWN
+ 2149842993
+ name 1_36_KEY_MLEFT
+ 2149842994
+ name 1_36_KEY_MRIGHT
+ 2149842995
+ name 0_37_KEY_0
+ 2424832
+ name 0_37_KEY_1
+ 2424833
+ name 0_37_KEY_2
+ 2424834
+ name 0_37_KEY_3
+ 2424835
+ name 0_37_KEY_4
+ 2424836
+ name 0_37_KEY_5
+ 2424837
+ name 0_37_KEY_6
+ 2424838
+ name 0_37_KEY_7
+ 2424839
+ name 0_37_KEY_8
+ 2424840
+ name 0_37_KEY_9
+ 2424841
+ name 0_37_KEY_POWER
+ 2424842
+ name 0_37_KEY_CH_UP
+ 2424847
+ name 0_37_KEY_CH_DOWN
+ 2424848
+ name 1_37_KEY_0
+ 2149908480
+ name 1_37_KEY_1
+ 2149908481
+ name 1_37_KEY_2
+ 2149908482
+ name 1_37_KEY_3
+ 2149908483
+ name 1_37_KEY_4
+ 2149908484
+ name 1_37_KEY_5
+ 2149908485
+ name 1_37_KEY_6
+ 2149908486
+ name 1_37_KEY_7
+ 2149908487
+ name 1_37_KEY_8
+ 2149908488
+ name 1_37_KEY_9
+ 2149908489
+ name 1_37_KEY_POWER
+ 2149908490
+ name 1_37_TWO_DIGITS
+ 2149908493
+ name 1_37_KEY_CH_UP
+ 2149908495
+ name 1_37_KEY_CH_DOWN
+ 2149908496
+ name 1_37_KEY_DISPLAY
+ 2149908501
+ name 1_37_KEY_EXIT
+ 2149908504
+ name 1_37_KEY_GUIDE
+ 2149908507
+ name 1_37_KEY_SELECT
+ 2149908510
+ name 1_37_KEY_MENU
+ 2149908527
+ name 1_37_KEY_MUP
+ 2149908528
+ name 1_37_KEY_MDOWN
+ 2149908529
+ name 1_37_KEY_MLEFT
+ 2149908530
+ name 1_37_KEY_MRIGHT
+ 2149908531
+ name 0_38_KEY_0
+ 2490368
+ name 0_38_KEY_1
+ 2490369
+ name 0_38_KEY_2
+ 2490370
+ name 0_38_KEY_3
+ 2490371
+ name 0_38_KEY_4
+ 2490372
+ name 0_38_KEY_5
+ 2490373
+ name 0_38_KEY_6
+ 2490374
+ name 0_38_KEY_7
+ 2490375
+ name 0_38_KEY_8
+ 2490376
+ name 0_38_KEY_9
+ 2490377
+ name 0_38_KEY_POWER
+ 2490378
+ name 0_38_KEY_CH_UP
+ 2490383
+ name 0_38_KEY_CH_DOWN
+ 2490384
+ name 0_38_KEY_INPUT
+ 2490394
+ name 0_38_KEY_ENTER
+ 2490411
+ name 0_38_KEY_MENU
+ 2490415
+ name 0_38_KEY_MUP
+ 2490416
+ name 0_38_KEY_MDOWN
+ 2490417
+ name 0_38_KEY_MLEFT
+ 2490418
+ name 0_38_KEY_MRIGHT
+ 2490419
+ name 1_38_KEY_0
+ 2149974016
+ name 1_38_KEY_1
+ 2149974017
+ name 1_38_KEY_2
+ 2149974018
+ name 1_38_KEY_3
+ 2149974019
+ name 1_38_KEY_4
+ 2149974020
+ name 1_38_KEY_5
+ 2149974021
+ name 1_38_KEY_6
+ 2149974022
+ name 1_38_KEY_7
+ 2149974023
+ name 1_38_KEY_8
+ 2149974024
+ name 1_38_KEY_9
+ 2149974025
+ name 1_38_KEY_POWER
+ 2149974026
+ name 1_38_KEY_CH_UP
+ 2149974031
+ name 1_38_KEY_CH_DOWN
+ 2149974032
+ name 1_38_KEY_MUTE
+ 2149974033
+ name 1_38_KEY_VOL_DOWN
+ 2149974034
+ name 1_38_CH_PREVIOUS
+ 2149974035
+ name 1_38_KEY_VOL_UP
+ 2149974036
+ name 1_38_KEY_DISPLAY
+ 2149974037
+ name 1_38_KEY_EXIT
+ 2149974040
+ name 1_38_KEY_INPUT
+ 2149974042
+ name 1_38_KEY_GUIDE
+ 2149974043
+ name 1_38_KEY_SELECT
+ 2149974046
+ name 1_38_KEY_AV
+ 2149974057
+ name 1_38_KEY_SAT
+ 2149974058
+ name 1_38_KEY_ENTER
+ 2149974059
+ name 1_38_KEY_MENU
+ 2149974063
+ name 1_38_KEY_MUP
+ 2149974064
+ name 1_38_KEY_MDOWN
+ 2149974065
+ name 1_38_KEY_MLEFT
+ 2149974066
+ name 1_38_KEY_MRIGHT
+ 2149974067
+ name 1_38_KEY_FF
+ 2149974068
+ name 1_38_KEY_PLAY
+ 2149974069
+ name 1_38_KEY_REW
+ 2149974070
+ name 1_38_KEY_REC
+ 2149974071
+ name 1_38_KEY_PAUSE
+ 2149974072
+ name 1_38_KEY_STOP
+ 2149974073
+ name 0_39_KEY_0
+ 2555904
+ name 0_39_KEY_1
+ 2555905
+ name 0_39_KEY_2
+ 2555906
+ name 0_39_KEY_3
+ 2555907
+ name 0_39_KEY_4
+ 2555908
+ name 0_39_KEY_5
+ 2555909
+ name 0_39_KEY_6
+ 2555910
+ name 0_39_KEY_7
+ 2555911
+ name 0_39_KEY_8
+ 2555912
+ name 0_39_KEY_9
+ 2555913
+ name 0_39_KEY_POWER
+ 2555914
+ name 0_39_KEY_CH_UP
+ 2555919
+ name 0_39_KEY_CH_DOWN
+ 2555920
+ name 0_39_CH_PREVIOUS
+ 2555923
+ name 0_39_KEY_ENTER
+ 2555947
+ name 1_39_KEY_0
+ 2150039552
+ name 1_39_KEY_1
+ 2150039553
+ name 1_39_KEY_2
+ 2150039554
+ name 1_39_KEY_3
+ 2150039555
+ name 1_39_KEY_4
+ 2150039556
+ name 1_39_KEY_5
+ 2150039557
+ name 1_39_KEY_6
+ 2150039558
+ name 1_39_KEY_7
+ 2150039559
+ name 1_39_KEY_8
+ 2150039560
+ name 1_39_KEY_9
+ 2150039561
+ name 1_39_KEY_POWER
+ 2150039562
+ name 1_39_KEY_CH_UP
+ 2150039567
+ name 1_39_KEY_CH_DOWN
+ 2150039568
+ name 1_39_KEY_MUTE
+ 2150039569
+ name 1_39_KEY_VOL_DOWN
+ 2150039570
+ name 1_39_CH_PREVIOUS
+ 2150039571
+ name 1_39_KEY_VOL_UP
+ 2150039572
+ name 1_39_KEY_DISPLAY
+ 2150039573
+ name 1_39_KEY_EXIT
+ 2150039576
+ name 1_39_KEY_INPUT
+ 2150039578
+ name 1_39_KEY_GUIDE
+ 2150039579
+ name 1_39_KEY_SELECT
+ 2150039582
+ name 1_39_KEY_AV
+ 2150039593
+ name 1_39_KEY_SAT
+ 2150039594
+ name 1_39_KEY_ENTER
+ 2150039595
+ name 1_39_KEY_MENU
+ 2150039599
+ name 1_39_KEY_MUP
+ 2150039600
+ name 1_39_KEY_MDOWN
+ 2150039601
+ name 1_39_KEY_MLEFT
+ 2150039602
+ name 1_39_KEY_MRIGHT
+ 2150039603
+ name 1_39_KEY_FF
+ 2150039604
+ name 1_39_KEY_PLAY
+ 2150039605
+ name 1_39_KEY_REW
+ 2150039606
+ name 1_39_KEY_REC
+ 2150039607
+ name 1_39_KEY_PAUSE
+ 2150039608
+ name 1_39_KEY_STOP
+ 2150039609
+ name 0_40_KEY_0
+ 2621440
+ name 0_40_KEY_1
+ 2621441
+ name 0_40_KEY_2
+ 2621442
+ name 0_40_KEY_3
+ 2621443
+ name 0_40_KEY_4
+ 2621444
+ name 0_40_KEY_5
+ 2621445
+ name 0_40_KEY_6
+ 2621446
+ name 0_40_KEY_7
+ 2621447
+ name 0_40_KEY_8
+ 2621448
+ name 0_40_KEY_9
+ 2621449
+ name 0_40_KEY_POWER
+ 2621450
+ name 0_40_KEY_CH_UP
+ 2621455
+ name 0_40_KEY_CH_DOWN
+ 2621456
+ name 0_40_CH_PREVIOUS
+ 2621459
+ name 0_40_KEY_ENTER
+ 2621483
+ name 1_40_KEY_0
+ 2150105088
+ name 1_40_KEY_1
+ 2150105089
+ name 1_40_KEY_2
+ 2150105090
+ name 1_40_KEY_3
+ 2150105091
+ name 1_40_KEY_4
+ 2150105092
+ name 1_40_KEY_5
+ 2150105093
+ name 1_40_KEY_6
+ 2150105094
+ name 1_40_KEY_7
+ 2150105095
+ name 1_40_KEY_8
+ 2150105096
+ name 1_40_KEY_9
+ 2150105097
+ name 1_40_KEY_POWER
+ 2150105098
+ name 1_40_CH_PREVIOUS
+ 2150105107
+ name 1_40_KEY_EXIT
+ 2150105112
+ name 1_40_KEY_GUIDE
+ 2150105115
+ name 1_40_KEY_FAV
+ 2150105117
+ name 1_40_KEY_SELECT
+ 2150105118
+ name 1_40_KEY_MENU
+ 2150105135
+ name 1_40_KEY_MUP
+ 2150105136
+ name 1_40_KEY_MDOWN
+ 2150105137
+ name 1_40_KEY_MLEFT
+ 2150105138
+ name 1_40_KEY_MRIGHT
+ 2150105139
+ name 0_41_KEY_0
+ 2686976
+ name 0_41_KEY_1
+ 2686977
+ name 0_41_KEY_2
+ 2686978
+ name 0_41_KEY_3
+ 2686979
+ name 0_41_KEY_4
+ 2686980
+ name 0_41_KEY_5
+ 2686981
+ name 0_41_KEY_6
+ 2686982
+ name 0_41_KEY_7
+ 2686983
+ name 0_41_KEY_8
+ 2686984
+ name 0_41_KEY_9
+ 2686985
+ name 0_41_KEY_POWER
+ 2686986
+ name 0_41_KEY_CH_UP
+ 2686991
+ name 0_41_KEY_CH_DOWN
+ 2686992
+ name 0_41_CH_PREVIOUS
+ 2686995
+ name 0_41_KEY_ENTER
+ 2687019
+ name 1_41_KEY_0
+ 2150170624
+ name 1_41_KEY_1
+ 2150170625
+ name 1_41_KEY_2
+ 2150170626
+ name 1_41_KEY_3
+ 2150170627
+ name 1_41_KEY_4
+ 2150170628
+ name 1_41_KEY_5
+ 2150170629
+ name 1_41_KEY_6
+ 2150170630
+ name 1_41_KEY_7
+ 2150170631
+ name 1_41_KEY_8
+ 2150170632
+ name 1_41_KEY_9
+ 2150170633
+ name 1_41_KEY_POWER
+ 2150170634
+ name 1_41_KEY_CH_UP
+ 2150170639
+ name 1_41_KEY_CH_DOWN
+ 2150170640
+ name 1_41_KEY_MUTE
+ 2150170641
+ name 1_41_KEY_VOL_DOWN
+ 2150170642
+ name 1_41_CH_PREVIOUS
+ 2150170643
+ name 1_41_KEY_VOL_UP
+ 2150170644
+ name 1_41_KEY_GUIDE
+ 2150170651
+ name 1_41_KEY_FAV
+ 2150170653
+ name 1_41_KEY_SELECT
+ 2150170654
+ name 0_42_KEY_0
+ 2752512
+ name 0_42_KEY_1
+ 2752513
+ name 0_42_KEY_2
+ 2752514
+ name 0_42_KEY_3
+ 2752515
+ name 0_42_KEY_4
+ 2752516
+ name 0_42_KEY_5
+ 2752517
+ name 0_42_KEY_6
+ 2752518
+ name 0_42_KEY_7
+ 2752519
+ name 0_42_KEY_8
+ 2752520
+ name 0_42_KEY_9
+ 2752521
+ name 0_42_KEY_POWER
+ 2752522
+ name 0_42_KEY_CH_UP
+ 2752527
+ name 0_42_KEY_CH_DOWN
+ 2752528
+ name 0_42_CH_PREVIOUS
+ 2752531
+ name 0_42_KEY_ENTER
+ 2752555
+ name 1_42_KEY_0
+ 2150236160
+ name 1_42_KEY_1
+ 2150236161
+ name 1_42_KEY_2
+ 2150236162
+ name 1_42_KEY_3
+ 2150236163
+ name 1_42_KEY_4
+ 2150236164
+ name 1_42_KEY_5
+ 2150236165
+ name 1_42_KEY_6
+ 2150236166
+ name 1_42_KEY_7
+ 2150236167
+ name 1_42_KEY_8
+ 2150236168
+ name 1_42_KEY_9
+ 2150236169
+ name 1_42_KEY_POWER
+ 2150236170
+ name 1_42_CH_PREVIOUS
+ 2150236179
+ name 1_42_KEY_EXIT
+ 2150236184
+ name 1_42_KEY_GUIDE
+ 2150236187
+ name 1_42_KEY_FAV
+ 2150236189
+ name 1_42_KEY_SELECT
+ 2150236190
+ name 1_42_KEY_MENU
+ 2150236207
+ name 1_42_KEY_MUP
+ 2150236208
+ name 1_42_KEY_MDOWN
+ 2150236209
+ name 1_42_KEY_MLEFT
+ 2150236210
+ name 1_42_KEY_MRIGHT
+ 2150236211
+ name 0_43_KEY_0
+ 2818048
+ name 0_43_KEY_1
+ 2818049
+ name 0_43_KEY_2
+ 2818050
+ name 0_43_KEY_3
+ 2818051
+ name 0_43_KEY_4
+ 2818052
+ name 0_43_KEY_5
+ 2818053
+ name 0_43_KEY_6
+ 2818054
+ name 0_43_KEY_7
+ 2818055
+ name 0_43_KEY_8
+ 2818056
+ name 0_43_KEY_9
+ 2818057
+ name 0_43_KEY_POWER
+ 2818058
+ name 0_43_KEY_CH_UP
+ 2818063
+ name 0_43_KEY_CH_DOWN
+ 2818064
+ name 0_43_CH_PREVIOUS
+ 2818067
+ name 0_43_KEY_ENTER
+ 2818091
+ name 1_43_KEY_0
+ 2150301696
+ name 1_43_KEY_1
+ 2150301697
+ name 1_43_KEY_2
+ 2150301698
+ name 1_43_KEY_3
+ 2150301699
+ name 1_43_KEY_4
+ 2150301700
+ name 1_43_KEY_5
+ 2150301701
+ name 1_43_KEY_6
+ 2150301702
+ name 1_43_KEY_7
+ 2150301703
+ name 1_43_KEY_8
+ 2150301704
+ name 1_43_KEY_9
+ 2150301705
+ name 1_43_KEY_POWER
+ 2150301706
+ name 1_43_CH_PREVIOUS
+ 2150301715
+ name 1_43_KEY_EXIT
+ 2150301720
+ name 1_43_KEY_SELECT
+ 2150301726
+ name 1_43_KEY_MENU
+ 2150301743
+ name 1_43_KEY_MUP
+ 2150301744
+ name 1_43_KEY_MDOWN
+ 2150301745
+ name 1_43_KEY_MLEFT
+ 2150301746
+ name 1_43_KEY_MRIGHT
+ 2150301747
+ name 0_44_KEY_0
+ 2883584
+ name 0_44_KEY_1
+ 2883585
+ name 0_44_KEY_2
+ 2883586
+ name 0_44_KEY_3
+ 2883587
+ name 0_44_KEY_4
+ 2883588
+ name 0_44_KEY_5
+ 2883589
+ name 0_44_KEY_6
+ 2883590
+ name 0_44_KEY_7
+ 2883591
+ name 0_44_KEY_8
+ 2883592
+ name 0_44_KEY_9
+ 2883593
+ name 0_44_KEY_POWER
+ 2883594
+ name 0_44_KEY_CH_UP
+ 2883599
+ name 0_44_KEY_CH_DOWN
+ 2883600
+ name 0_44_CH_PREVIOUS
+ 2883603
+ name 0_44_KEY_ENTER
+ 2883627
+ name 1_44_KEY_0
+ 2150367232
+ name 1_44_KEY_1
+ 2150367233
+ name 1_44_KEY_2
+ 2150367234
+ name 1_44_KEY_3
+ 2150367235
+ name 1_44_KEY_4
+ 2150367236
+ name 1_44_KEY_5
+ 2150367237
+ name 1_44_KEY_6
+ 2150367238
+ name 1_44_KEY_7
+ 2150367239
+ name 1_44_KEY_8
+ 2150367240
+ name 1_44_KEY_9
+ 2150367241
+ name 1_44_KEY_POWER
+ 2150367242
+ name 1_44_KEY_CH_UP
+ 2150367247
+ name 1_44_KEY_CH_DOWN
+ 2150367248
+ name 1_44_KEY_MUTE
+ 2150367249
+ name 1_44_KEY_VOL_DOWN
+ 2150367250
+ name 1_44_CH_PREVIOUS
+ 2150367251
+ name 1_44_KEY_VOL_UP
+ 2150367252
+ name 1_44_KEY_GUIDE
+ 2150367259
+ name 1_44_KEY_FAV
+ 2150367261
+ name 1_44_KEY_ENTER
+ 2150367275
+ name 0_45_KEY_0
+ 2949120
+ name 0_45_KEY_1
+ 2949121
+ name 0_45_KEY_2
+ 2949122
+ name 0_45_KEY_3
+ 2949123
+ name 0_45_KEY_4
+ 2949124
+ name 0_45_KEY_5
+ 2949125
+ name 0_45_KEY_6
+ 2949126
+ name 0_45_KEY_7
+ 2949127
+ name 0_45_KEY_8
+ 2949128
+ name 0_45_KEY_9
+ 2949129
+ name 0_45_KEY_POWER
+ 2949130
+ name 0_45_KEY_CH_UP
+ 2949135
+ name 0_45_KEY_CH_DOWN
+ 2949136
+ name 0_45_KEY_ENTER
+ 2949163
+ name 1_45_KEY_0
+ 2150432768
+ name 1_45_KEY_1
+ 2150432769
+ name 1_45_KEY_2
+ 2150432770
+ name 1_45_KEY_3
+ 2150432771
+ name 1_45_KEY_4
+ 2150432772
+ name 1_45_KEY_5
+ 2150432773
+ name 1_45_KEY_6
+ 2150432774
+ name 1_45_KEY_7
+ 2150432775
+ name 1_45_KEY_8
+ 2150432776
+ name 1_45_KEY_9
+ 2150432777
+ name 1_45_KEY_POWER
+ 2150432778
+ name 1_45_KEY_CH_UP
+ 2150432783
+ name 1_45_KEY_CH_DOWN
+ 2150432784
+ name 1_45_CH_PREVIOUS
+ 2150432787
+ name 1_45_KEY_DISPLAY
+ 2150432789
+ name 1_45_KEY_EXIT
+ 2150432792
+ name 1_45_KEY_GUIDE
+ 2150432795
+ name 1_45_KEY_FAV
+ 2150432797
+ name 1_45_KEY_SELECT
+ 2150432798
+ name 1_45_KEY_ENTER
+ 2150432811
+ name 1_45_KEY_MENU
+ 2150432815
+ name 1_45_KEY_MUP
+ 2150432816
+ name 1_45_KEY_MDOWN
+ 2150432817
+ name 1_45_KEY_MLEFT
+ 2150432818
+ name 1_45_KEY_MRIGHT
+ 2150432819
+ name 0_46_KEY_0
+ 3014656
+ name 0_46_KEY_1
+ 3014657
+ name 0_46_KEY_2
+ 3014658
+ name 0_46_KEY_3
+ 3014659
+ name 0_46_KEY_4
+ 3014660
+ name 0_46_KEY_5
+ 3014661
+ name 0_46_KEY_6
+ 3014662
+ name 0_46_KEY_7
+ 3014663
+ name 0_46_KEY_8
+ 3014664
+ name 0_46_KEY_9
+ 3014665
+ name 0_46_KEY_POWER
+ 3014666
+ name 0_46_KEY_CH_UP
+ 3014671
+ name 0_46_KEY_CH_DOWN
+ 3014672
+ name 0_46_CH_PREVIOUS
+ 3014675
+ name 0_46_KEY_ENTER
+ 3014699
+ name 1_46_KEY_0
+ 2150498304
+ name 1_46_KEY_1
+ 2150498305
+ name 1_46_KEY_2
+ 2150498306
+ name 1_46_KEY_3
+ 2150498307
+ name 1_46_KEY_4
+ 2150498308
+ name 1_46_KEY_5
+ 2150498309
+ name 1_46_KEY_6
+ 2150498310
+ name 1_46_KEY_7
+ 2150498311
+ name 1_46_KEY_8
+ 2150498312
+ name 1_46_KEY_9
+ 2150498313
+ name 1_46_KEY_POWER
+ 2150498314
+ name 1_46_KEY_CH_UP
+ 2150498319
+ name 1_46_KEY_CH_DOWN
+ 2150498320
+ name 1_46_KEY_MUTE
+ 2150498321
+ name 1_46_KEY_VOL_DOWN
+ 2150498322
+ name 1_46_CH_PREVIOUS
+ 2150498323
+ name 1_46_KEY_VOL_UP
+ 2150498324
+ name 1_46_KEY_FAV
+ 2150498333
+ name 1_46_KEY_ENTER
+ 2150498347
+ name 0_47_KEY_0
+ 3080192
+ name 0_47_KEY_1
+ 3080193
+ name 0_47_KEY_2
+ 3080194
+ name 0_47_KEY_3
+ 3080195
+ name 0_47_KEY_4
+ 3080196
+ name 0_47_KEY_5
+ 3080197
+ name 0_47_KEY_6
+ 3080198
+ name 0_47_KEY_7
+ 3080199
+ name 0_47_KEY_8
+ 3080200
+ name 0_47_KEY_9
+ 3080201
+ name 0_47_KEY_POWER
+ 3080202
+ name 0_47_KEY_CH_UP
+ 3080207
+ name 0_47_KEY_CH_DOWN
+ 3080208
+ name 0_47_CH_PREVIOUS
+ 3080211
+ name 1_47_KEY_POWER
+ 2150563850
+ name 1_47_KEY_CH_UP
+ 2150563855
+ name 1_47_KEY_CH_DOWN
+ 2150563856
+ name 1_47_KEY_MUTE
+ 2150563857
+ name 1_47_KEY_VOL_DOWN
+ 2150563858
+ name 1_47_KEY_VOL_UP
+ 2150563860
+ name 1_47_KEY_SAT
+ 2150563882
+ name 1_47_KEY_ENTER
+ 2150563883
+ name 0_48_KEY_0
+ 3145728
+ name 0_48_KEY_1
+ 3145729
+ name 0_48_KEY_2
+ 3145730
+ name 0_48_KEY_3
+ 3145731
+ name 0_48_KEY_4
+ 3145732
+ name 0_48_KEY_5
+ 3145733
+ name 0_48_KEY_6
+ 3145734
+ name 0_48_KEY_7
+ 3145735
+ name 0_48_KEY_8
+ 3145736
+ name 0_48_KEY_9
+ 3145737
+ name 0_48_KEY_POWER
+ 3145738
+ name 0_48_KEY_CH_UP
+ 3145743
+ name 0_48_KEY_CH_DOWN
+ 3145744
+ name 0_48_CH_PREVIOUS
+ 3145747
+ name 0_48_KEY_ENTER
+ 3145771
+ name 1_48_KEY_0
+ 2150629376
+ name 1_48_KEY_1
+ 2150629377
+ name 1_48_KEY_2
+ 2150629378
+ name 1_48_KEY_3
+ 2150629379
+ name 1_48_KEY_4
+ 2150629380
+ name 1_48_KEY_5
+ 2150629381
+ name 1_48_KEY_6
+ 2150629382
+ name 1_48_KEY_7
+ 2150629383
+ name 1_48_KEY_8
+ 2150629384
+ name 1_48_KEY_9
+ 2150629385
+ name 1_48_KEY_POWER
+ 2150629386
+ name 1_48_KEY_CH_UP
+ 2150629391
+ name 1_48_KEY_CH_DOWN
+ 2150629392
+ name 1_48_KEY_MUTE
+ 2150629393
+ name 1_48_KEY_VOL_DOWN
+ 2150629394
+ name 1_48_KEY_VOL_UP
+ 2150629396
+ name 1_48_KEY_CKU
+ 2150629416
+ name 1_48_KEY_SAT
+ 2150629418
+ name 0_49_KEY_0
+ 3211264
+ name 0_49_KEY_1
+ 3211265
+ name 0_49_KEY_2
+ 3211266
+ name 0_49_KEY_3
+ 3211267
+ name 0_49_KEY_4
+ 3211268
+ name 0_49_KEY_5
+ 3211269
+ name 0_49_KEY_6
+ 3211270
+ name 0_49_KEY_7
+ 3211271
+ name 0_49_KEY_8
+ 3211272
+ name 0_49_KEY_9
+ 3211273
+ name 0_49_KEY_POWER
+ 3211274
+ name 0_49_KEY_CH_UP
+ 3211279
+ name 0_49_KEY_CH_DOWN
+ 3211280
+ name 0_49_CH_PREVIOUS
+ 3211283
+ name 0_49_KEY_ENTER
+ 3211307
+ name 1_49_KEY_0
+ 2150694912
+ name 1_49_KEY_1
+ 2150694913
+ name 1_49_KEY_2
+ 2150694914
+ name 1_49_KEY_3
+ 2150694915
+ name 1_49_KEY_4
+ 2150694916
+ name 1_49_KEY_5
+ 2150694917
+ name 1_49_KEY_6
+ 2150694918
+ name 1_49_KEY_7
+ 2150694919
+ name 1_49_KEY_8
+ 2150694920
+ name 1_49_KEY_9
+ 2150694921
+ name 1_49_KEY_POWER
+ 2150694922
+ name 1_49_KEY_CH_UP
+ 2150694927
+ name 1_49_KEY_CH_DOWN
+ 2150694928
+ name 1_49_KEY_MUTE
+ 2150694929
+ name 1_49_KEY_VOL_DOWN
+ 2150694930
+ name 1_49_KEY_VOL_UP
+ 2150694932
+ name 0_50_KEY_0
+ 3276800
+ name 0_50_KEY_1
+ 3276801
+ name 0_50_KEY_2
+ 3276802
+ name 0_50_KEY_3
+ 3276803
+ name 0_50_KEY_4
+ 3276804
+ name 0_50_KEY_5
+ 3276805
+ name 0_50_KEY_6
+ 3276806
+ name 0_50_KEY_7
+ 3276807
+ name 0_50_KEY_8
+ 3276808
+ name 0_50_KEY_9
+ 3276809
+ name 0_50_KEY_POWER
+ 3276810
+ name 0_50_KEY_CH_UP
+ 3276815
+ name 0_50_KEY_CH_DOWN
+ 3276816
+ name 0_50_KEY_ENTER
+ 3276843
+ name 1_50_KEY_0
+ 2150760448
+ name 1_50_KEY_1
+ 2150760449
+ name 1_50_KEY_2
+ 2150760450
+ name 1_50_KEY_3
+ 2150760451
+ name 1_50_KEY_4
+ 2150760452
+ name 1_50_KEY_5
+ 2150760453
+ name 1_50_KEY_6
+ 2150760454
+ name 1_50_KEY_7
+ 2150760455
+ name 1_50_KEY_8
+ 2150760456
+ name 1_50_KEY_9
+ 2150760457
+ name 1_50_KEY_POWER
+ 2150760458
+ name 1_50_KEY_CH_UP
+ 2150760463
+ name 1_50_KEY_CH_DOWN
+ 2150760464
+ name 1_50_CH_PREVIOUS
+ 2150760467
+ name 1_50_KEY_FAV
+ 2150760477
+ name 1_50_KEY_ENTER
+ 2150760491
+ name 0_51_KEY_0
+ 3342336
+ name 0_51_KEY_1
+ 3342337
+ name 0_51_KEY_2
+ 3342338
+ name 0_51_KEY_3
+ 3342339
+ name 0_51_KEY_4
+ 3342340
+ name 0_51_KEY_5
+ 3342341
+ name 0_51_KEY_6
+ 3342342
+ name 0_51_KEY_7
+ 3342343
+ name 0_51_KEY_8
+ 3342344
+ name 0_51_KEY_9
+ 3342345
+ name 0_51_KEY_POWER
+ 3342346
+ name 0_51_KEY_CH_UP
+ 3342351
+ name 0_51_KEY_CH_DOWN
+ 3342352
+ name 0_51_CH_PREVIOUS
+ 3342355
+ name 0_51_KEY_ENTER
+ 3342379
+ name 1_51_KEY_0
+ 2150825984
+ name 1_51_KEY_1
+ 2150825985
+ name 1_51_KEY_2
+ 2150825986
+ name 1_51_KEY_3
+ 2150825987
+ name 1_51_KEY_4
+ 2150825988
+ name 1_51_KEY_5
+ 2150825989
+ name 1_51_KEY_6
+ 2150825990
+ name 1_51_KEY_7
+ 2150825991
+ name 1_51_KEY_8
+ 2150825992
+ name 1_51_KEY_9
+ 2150825993
+ name 1_51_KEY_POWER
+ 2150825994
+ name 1_51_KEY_CH_UP
+ 2150825999
+ name 1_51_KEY_CH_DOWN
+ 2150826000
+ name 1_51_KEY_MUTE
+ 2150826001
+ name 1_51_KEY_VOL_DOWN
+ 2150826002
+ name 1_51_KEY_VOL_UP
+ 2150826004
+ name 1_51_KEY_EXIT
+ 2150826008
+ name 1_51_KEY_CKU
+ 2150826024
+ name 1_51_KEY_AV
+ 2150826025
+ name 1_51_KEY_SAT
+ 2150826026
+ name 1_51_KEY_ENTER
+ 2150826027
+ name 1_51_KEY_MENU
+ 2150826031
+ name 1_51_KEY_MUP
+ 2150826032
+ name 1_51_KEY_MDOWN
+ 2150826033
+ name 1_51_KEY_MLEFT
+ 2150826034
+ name 1_51_KEY_MRIGHT
+ 2150826035
+ name 1_51_KEY_Help
+ 2150826048
+ name 1_51_KEY_Setup
+ 2150826049
+ name 0_52_KEY_0
+ 3407872
+ name 0_52_KEY_1
+ 3407873
+ name 0_52_KEY_2
+ 3407874
+ name 0_52_KEY_3
+ 3407875
+ name 0_52_KEY_4
+ 3407876
+ name 0_52_KEY_5
+ 3407877
+ name 0_52_KEY_6
+ 3407878
+ name 0_52_KEY_7
+ 3407879
+ name 0_52_KEY_8
+ 3407880
+ name 0_52_KEY_9
+ 3407881
+ name 0_52_KEY_POWER
+ 3407882
+ name 0_52_KEY_CH_UP
+ 3407887
+ name 0_52_KEY_CH_DOWN
+ 3407888
+ name 0_52_CH_PREVIOUS
+ 3407891
+ name 0_52_KEY_ENTER
+ 3407915
+ name 1_52_KEY_0
+ 2150891520
+ name 1_52_KEY_1
+ 2150891521
+ name 1_52_KEY_2
+ 2150891522
+ name 1_52_KEY_3
+ 2150891523
+ name 1_52_KEY_4
+ 2150891524
+ name 1_52_KEY_5
+ 2150891525
+ name 1_52_KEY_6
+ 2150891526
+ name 1_52_KEY_7
+ 2150891527
+ name 1_52_KEY_8
+ 2150891528
+ name 1_52_KEY_9
+ 2150891529
+ name 1_52_KEY_POWER
+ 2150891530
+ name 1_52_KEY_CH_UP
+ 2150891535
+ name 1_52_KEY_CH_DOWN
+ 2150891536
+ name 1_52_KEY_MUTE
+ 2150891537
+ name 1_52_KEY_VOL_DOWN
+ 2150891538
+ name 1_52_CH_PREVIOUS
+ 2150891539
+ name 1_52_KEY_VOL_UP
+ 2150891540
+ name 1_52_KEY_EXIT
+ 2150891544
+ name 1_52_KEY_FAV
+ 2150891549
+ name 1_52_KEY_SAT
+ 2150891562
+ name 1_52_KEY_ENTER
+ 2150891563
+ name 1_52_KEY_MENU
+ 2150891567
+ name 1_52_KEY_MUP
+ 2150891568
+ name 1_52_KEY_MDOWN
+ 2150891569
+ name 1_52_KEY_MLEFT
+ 2150891570
+ name 1_52_KEY_MRIGHT
+ 2150891571
+ name 1_52_KEY_Help
+ 2150891584
+ name 1_52_KEY_Setup
+ 2150891585
+ name 0_53_KEY_0
+ 3473408
+ name 0_53_KEY_1
+ 3473409
+ name 0_53_KEY_2
+ 3473410
+ name 0_53_KEY_3
+ 3473411
+ name 0_53_KEY_4
+ 3473412
+ name 0_53_KEY_5
+ 3473413
+ name 0_53_KEY_6
+ 3473414
+ name 0_53_KEY_7
+ 3473415
+ name 0_53_KEY_8
+ 3473416
+ name 0_53_KEY_9
+ 3473417
+ name 0_53_KEY_POWER
+ 3473418
+ name 0_53_KEY_CH_UP
+ 3473423
+ name 0_53_KEY_CH_DOWN
+ 3473424
+ name 0_53_CH_PREVIOUS
+ 3473427
+ name 0_53_KEY_ENTER
+ 3473451
+ name 1_53_KEY_0
+ 2150957056
+ name 1_53_KEY_1
+ 2150957057
+ name 1_53_KEY_2
+ 2150957058
+ name 1_53_KEY_3
+ 2150957059
+ name 1_53_KEY_4
+ 2150957060
+ name 1_53_KEY_5
+ 2150957061
+ name 1_53_KEY_6
+ 2150957062
+ name 1_53_KEY_7
+ 2150957063
+ name 1_53_KEY_8
+ 2150957064
+ name 1_53_KEY_9
+ 2150957065
+ name 1_53_KEY_POWER
+ 2150957066
+ name 1_53_KEY_CH_UP
+ 2150957071
+ name 1_53_KEY_CH_DOWN
+ 2150957072
+ name 1_53_KEY_MUTE
+ 2150957073
+ name 1_53_KEY_VOL_DOWN
+ 2150957074
+ name 1_53_KEY_VOL_UP
+ 2150957076
+ name 1_53_KEY_EXIT
+ 2150957080
+ name 1_53_KEY_FAV
+ 2150957085
+ name 1_53_KEY_SAT
+ 2150957098
+ name 1_53_KEY_ENTER
+ 2150957099
+ name 1_53_KEY_MENU
+ 2150957103
+ name 1_53_KEY_MUP
+ 2150957104
+ name 1_53_KEY_MDOWN
+ 2150957105
+ name 1_53_KEY_MLEFT
+ 2150957106
+ name 1_53_KEY_MRIGHT
+ 2150957107
+ name 1_53_KEY_Help
+ 2150957120
+ name 1_53_KEY_Setup
+ 2150957121
+ name 0_54_KEY_0
+ 3538944
+ name 0_54_KEY_1
+ 3538945
+ name 0_54_KEY_2
+ 3538946
+ name 0_54_KEY_3
+ 3538947
+ name 0_54_KEY_4
+ 3538948
+ name 0_54_KEY_5
+ 3538949
+ name 0_54_KEY_6
+ 3538950
+ name 0_54_KEY_7
+ 3538951
+ name 0_54_KEY_8
+ 3538952
+ name 0_54_KEY_9
+ 3538953
+ name 0_54_KEY_POWER
+ 3538954
+ name 0_54_KEY_CH_UP
+ 3538959
+ name 0_54_KEY_CH_DOWN
+ 3538960
+ name 0_54_KEY_ENTER
+ 3538987
+ name 1_54_KEY_0
+ 2151022592
+ name 1_54_KEY_1
+ 2151022593
+ name 1_54_KEY_2
+ 2151022594
+ name 1_54_KEY_3
+ 2151022595
+ name 1_54_KEY_4
+ 2151022596
+ name 1_54_KEY_5
+ 2151022597
+ name 1_54_KEY_6
+ 2151022598
+ name 1_54_KEY_7
+ 2151022599
+ name 1_54_KEY_8
+ 2151022600
+ name 1_54_KEY_9
+ 2151022601
+ name 1_54_KEY_POWER
+ 2151022602
+ name 1_54_KEY_CH_UP
+ 2151022607
+ name 1_54_KEY_CH_DOWN
+ 2151022608
+ name 1_54_KEY_VOL_DOWN
+ 2151022610
+ name 1_54_KEY_VOL_UP
+ 2151022612
+ name 1_54_KEY_CKU
+ 2151022632
+ name 1_54_KEY_ENTER
+ 2151022635
+ name 0_55_KEY_0
+ 3604480
+ name 0_55_KEY_1
+ 3604481
+ name 0_55_KEY_2
+ 3604482
+ name 0_55_KEY_3
+ 3604483
+ name 0_55_KEY_4
+ 3604484
+ name 0_55_KEY_5
+ 3604485
+ name 0_55_KEY_6
+ 3604486
+ name 0_55_KEY_7
+ 3604487
+ name 0_55_KEY_8
+ 3604488
+ name 0_55_KEY_9
+ 3604489
+ name 0_55_KEY_POWER
+ 3604490
+ name 0_55_KEY_CH_UP
+ 3604495
+ name 0_55_KEY_CH_DOWN
+ 3604496
+ name 0_55_CH_PREVIOUS
+ 3604499
+ name 0_55_KEY_ENTER
+ 3604523
+ name 1_55_KEY_0
+ 2151088128
+ name 1_55_KEY_1
+ 2151088129
+ name 1_55_KEY_2
+ 2151088130
+ name 1_55_KEY_3
+ 2151088131
+ name 1_55_KEY_4
+ 2151088132
+ name 1_55_KEY_5
+ 2151088133
+ name 1_55_KEY_6
+ 2151088134
+ name 1_55_KEY_7
+ 2151088135
+ name 1_55_KEY_8
+ 2151088136
+ name 1_55_KEY_9
+ 2151088137
+ name 1_55_KEY_POWER
+ 2151088138
+ name 1_55_KEY_CH_UP
+ 2151088143
+ name 1_55_KEY_CH_DOWN
+ 2151088144
+ name 1_55_KEY_MUTE
+ 2151088145
+ name 1_55_KEY_VOL_DOWN
+ 2151088146
+ name 1_55_KEY_VOL_UP
+ 2151088148
+ name 1_55_KEY_DISPLAY
+ 2151088149
+ name 1_55_KEY_CKU
+ 2151088168
+ name 1_55_KEY_SAT
+ 2151088170
+ name 1_55_KEY_ENTER
+ 2151088171
+ name 0_56_KEY_0
+ 3670016
+ name 0_56_KEY_1
+ 3670017
+ name 0_56_KEY_2
+ 3670018
+ name 0_56_KEY_3
+ 3670019
+ name 0_56_KEY_4
+ 3670020
+ name 0_56_KEY_5
+ 3670021
+ name 0_56_KEY_6
+ 3670022
+ name 0_56_KEY_7
+ 3670023
+ name 0_56_KEY_8
+ 3670024
+ name 0_56_KEY_9
+ 3670025
+ name 0_56_KEY_POWER
+ 3670026
+ name 0_56_KEY_CH_UP
+ 3670031
+ name 0_56_KEY_CH_DOWN
+ 3670032
+ name 0_56_CH_PREVIOUS
+ 3670035
+ name 0_56_KEY_ENTER
+ 3670059
+ name 1_56_KEY_0
+ 2151153664
+ name 1_56_KEY_1
+ 2151153665
+ name 1_56_KEY_2
+ 2151153666
+ name 1_56_KEY_3
+ 2151153667
+ name 1_56_KEY_4
+ 2151153668
+ name 1_56_KEY_5
+ 2151153669
+ name 1_56_KEY_6
+ 2151153670
+ name 1_56_KEY_7
+ 2151153671
+ name 1_56_KEY_8
+ 2151153672
+ name 1_56_KEY_9
+ 2151153673
+ name 1_56_KEY_POWER
+ 2151153674
+ name 1_56_KEY_CH_UP
+ 2151153679
+ name 1_56_KEY_CH_DOWN
+ 2151153680
+ name 1_56_KEY_VOL_DOWN
+ 2151153682
+ name 1_56_KEY_VOL_UP
+ 2151153684
+ name 0_57_KEY_0
+ 3735552
+ name 0_57_KEY_1
+ 3735553
+ name 0_57_KEY_2
+ 3735554
+ name 0_57_KEY_3
+ 3735555
+ name 0_57_KEY_4
+ 3735556
+ name 0_57_KEY_5
+ 3735557
+ name 0_57_KEY_6
+ 3735558
+ name 0_57_KEY_7
+ 3735559
+ name 0_57_KEY_8
+ 3735560
+ name 0_57_KEY_9
+ 3735561
+ name 0_57_KEY_POWER
+ 3735562
+ name 0_57_KEY_CH_UP
+ 3735567
+ name 0_57_KEY_CH_DOWN
+ 3735568
+ name 0_57_CH_PREVIOUS
+ 3735571
+ name 0_57_KEY_ENTER
+ 3735595
+ name 1_57_KEY_0
+ 2151219200
+ name 1_57_KEY_1
+ 2151219201
+ name 1_57_KEY_2
+ 2151219202
+ name 1_57_KEY_3
+ 2151219203
+ name 1_57_KEY_4
+ 2151219204
+ name 1_57_KEY_5
+ 2151219205
+ name 1_57_KEY_6
+ 2151219206
+ name 1_57_KEY_7
+ 2151219207
+ name 1_57_KEY_8
+ 2151219208
+ name 1_57_KEY_9
+ 2151219209
+ name 1_57_KEY_POWER
+ 2151219210
+ name 1_57_KEY_CH_UP
+ 2151219215
+ name 1_57_KEY_CH_DOWN
+ 2151219216
+ name 1_57_KEY_VOL_DOWN
+ 2151219218
+ name 1_57_KEY_VOL_UP
+ 2151219220
+ name 1_57_KEY_DISPLAY
+ 2151219221
+ name 1_57_KEY_FAV
+ 2151219229
+ name 1_57_KEY_CKU
+ 2151219240
+ name 1_57_KEY_ENTER
+ 2151219243
+ name 0_58_KEY_0
+ 3801088
+ name 0_58_KEY_1
+ 3801089
+ name 0_58_KEY_2
+ 3801090
+ name 0_58_KEY_3
+ 3801091
+ name 0_58_KEY_4
+ 3801092
+ name 0_58_KEY_5
+ 3801093
+ name 0_58_KEY_6
+ 3801094
+ name 0_58_KEY_7
+ 3801095
+ name 0_58_KEY_8
+ 3801096
+ name 0_58_KEY_9
+ 3801097
+ name 0_58_KEY_POWER
+ 3801098
+ name 0_58_KEY_CH_UP
+ 3801103
+ name 0_58_KEY_CH_DOWN
+ 3801104
+ name 0_58_CH_PREVIOUS
+ 3801107
+ name 0_58_KEY_ENTER
+ 3801131
+ name 1_58_KEY_0
+ 2151284736
+ name 1_58_KEY_1
+ 2151284737
+ name 1_58_KEY_2
+ 2151284738
+ name 1_58_KEY_3
+ 2151284739
+ name 1_58_KEY_4
+ 2151284740
+ name 1_58_KEY_5
+ 2151284741
+ name 1_58_KEY_6
+ 2151284742
+ name 1_58_KEY_7
+ 2151284743
+ name 1_58_KEY_8
+ 2151284744
+ name 1_58_KEY_9
+ 2151284745
+ name 1_58_KEY_POWER
+ 2151284746
+ name 1_58_KEY_CH_UP
+ 2151284751
+ name 1_58_KEY_CH_DOWN
+ 2151284752
+ name 1_58_KEY_MUTE
+ 2151284753
+ name 1_58_KEY_VOL_DOWN
+ 2151284754
+ name 1_58_CH_PREVIOUS
+ 2151284755
+ name 1_58_KEY_VOL_UP
+ 2151284756
+ name 1_58_KEY_ENTER
+ 2151284779
+ name 1_58_KEY_MENU
+ 2151284783
+ name 1_58_KEY_MUP
+ 2151284784
+ name 1_58_KEY_MDOWN
+ 2151284785
+ name 1_58_KEY_MLEFT
+ 2151284786
+ name 1_58_KEY_MRIGHT
+ 2151284787
+ name 0_59_KEY_0
+ 3866624
+ name 0_59_KEY_1
+ 3866625
+ name 0_59_KEY_2
+ 3866626
+ name 0_59_KEY_3
+ 3866627
+ name 0_59_KEY_4
+ 3866628
+ name 0_59_KEY_5
+ 3866629
+ name 0_59_KEY_6
+ 3866630
+ name 0_59_KEY_7
+ 3866631
+ name 0_59_KEY_8
+ 3866632
+ name 0_59_KEY_9
+ 3866633
+ name 0_59_KEY_POWER
+ 3866634
+ name 0_59_KEY_CH_UP
+ 3866639
+ name 0_59_KEY_CH_DOWN
+ 3866640
+ name 0_59_CH_PREVIOUS
+ 3866643
+ name 0_59_KEY_ENTER
+ 3866667
+ name 1_59_KEY_0
+ 2151350272
+ name 1_59_KEY_1
+ 2151350273
+ name 1_59_KEY_2
+ 2151350274
+ name 1_59_KEY_3
+ 2151350275
+ name 1_59_KEY_4
+ 2151350276
+ name 1_59_KEY_5
+ 2151350277
+ name 1_59_KEY_6
+ 2151350278
+ name 1_59_KEY_7
+ 2151350279
+ name 1_59_KEY_8
+ 2151350280
+ name 1_59_KEY_9
+ 2151350281
+ name 1_59_KEY_POWER
+ 2151350282
+ name 1_59_KEY_CH_UP
+ 2151350287
+ name 1_59_KEY_CH_DOWN
+ 2151350288
+ name 1_59_KEY_VOL_DOWN
+ 2151350290
+ name 1_59_CH_PREVIOUS
+ 2151350291
+ name 1_59_KEY_VOL_UP
+ 2151350292
+ name 1_59_KEY_SELECT
+ 2151350302
+ name 1_59_KEY_ENTER
+ 2151350315
+ name 0_60_KEY_0
+ 3932160
+ name 0_60_KEY_1
+ 3932161
+ name 0_60_KEY_2
+ 3932162
+ name 0_60_KEY_3
+ 3932163
+ name 0_60_KEY_4
+ 3932164
+ name 0_60_KEY_5
+ 3932165
+ name 0_60_KEY_6
+ 3932166
+ name 0_60_KEY_7
+ 3932167
+ name 0_60_KEY_8
+ 3932168
+ name 0_60_KEY_9
+ 3932169
+ name 0_60_KEY_POWER
+ 3932170
+ name 0_60_KEY_CH_UP
+ 3932175
+ name 0_60_KEY_CH_DOWN
+ 3932176
+ name 1_60_KEY_0
+ 2151415808
+ name 1_60_KEY_1
+ 2151415809
+ name 1_60_KEY_2
+ 2151415810
+ name 1_60_KEY_3
+ 2151415811
+ name 1_60_KEY_4
+ 2151415812
+ name 1_60_KEY_5
+ 2151415813
+ name 1_60_KEY_6
+ 2151415814
+ name 1_60_KEY_7
+ 2151415815
+ name 1_60_KEY_8
+ 2151415816
+ name 1_60_KEY_9
+ 2151415817
+ name 1_60_KEY_POWER
+ 2151415818
+ name 1_60_KEY_CH_UP
+ 2151415823
+ name 1_60_KEY_CH_DOWN
+ 2151415824
+ name 1_60_KEY_MUTE
+ 2151415825
+ name 1_60_KEY_VOL_DOWN
+ 2151415826
+ name 1_60_KEY_VOL_UP
+ 2151415828
+ name 1_60_KEY_EXIT
+ 2151415832
+ name 1_60_KEY_CKU
+ 2151415848
+ name 1_60_KEY_ENTER
+ 2151415851
+ name 1_60_KEY_MENU
+ 2151415855
+ name 1_60_KEY_MUP
+ 2151415856
+ name 1_60_KEY_MDOWN
+ 2151415857
+ name 1_60_KEY_MLEFT
+ 2151415858
+ name 1_60_KEY_MRIGHT
+ 2151415859
+ name 1_60_KEY_Help
+ 2151415872
+ name 1_60_KEY_Setup
+ 2151415873
+ name 0_61_KEY_0
+ 3997696
+ name 0_61_KEY_1
+ 3997697
+ name 0_61_KEY_2
+ 3997698
+ name 0_61_KEY_3
+ 3997699
+ name 0_61_KEY_4
+ 3997700
+ name 0_61_KEY_5
+ 3997701
+ name 0_61_KEY_6
+ 3997702
+ name 0_61_KEY_7
+ 3997703
+ name 0_61_KEY_8
+ 3997704
+ name 0_61_KEY_9
+ 3997705
+ name 0_61_KEY_POWER
+ 3997706
+ name 0_61_KEY_CH_UP
+ 3997711
+ name 0_61_KEY_CH_DOWN
+ 3997712
+ name 0_61_CH_PREVIOUS
+ 3997715
+ name 0_61_KEY_ENTER
+ 3997739
+ name 1_61_KEY_0
+ 2151481344
+ name 1_61_KEY_1
+ 2151481345
+ name 1_61_KEY_2
+ 2151481346
+ name 1_61_KEY_3
+ 2151481347
+ name 1_61_KEY_4
+ 2151481348
+ name 1_61_KEY_5
+ 2151481349
+ name 1_61_KEY_6
+ 2151481350
+ name 1_61_KEY_7
+ 2151481351
+ name 1_61_KEY_8
+ 2151481352
+ name 1_61_KEY_9
+ 2151481353
+ name 1_61_KEY_POWER
+ 2151481354
+ name 1_61_KEY_CH_UP
+ 2151481359
+ name 1_61_KEY_CH_DOWN
+ 2151481360
+ name 1_61_KEY_MUTE
+ 2151481361
+ name 1_61_KEY_VOL_DOWN
+ 2151481362
+ name 1_61_KEY_VOL_UP
+ 2151481364
+ name 1_61_KEY_DISPLAY
+ 2151481365
+ name 1_61_KEY_FAV
+ 2151481373
+ name 1_61_KEY_CKU
+ 2151481384
+ name 1_61_KEY_ENTER
+ 2151481387
+ name 0_62_KEY_0
+ 4063232
+ name 0_62_KEY_1
+ 4063233
+ name 0_62_KEY_2
+ 4063234
+ name 0_62_KEY_3
+ 4063235
+ name 0_62_KEY_4
+ 4063236
+ name 0_62_KEY_5
+ 4063237
+ name 0_62_KEY_6
+ 4063238
+ name 0_62_KEY_7
+ 4063239
+ name 0_62_KEY_8
+ 4063240
+ name 0_62_KEY_9
+ 4063241
+ name 0_62_KEY_POWER
+ 4063242
+ name 0_62_KEY_CH_UP
+ 4063247
+ name 0_62_KEY_CH_DOWN
+ 4063248
+ name 0_62_CH_PREVIOUS
+ 4063251
+ name 0_62_KEY_ENTER
+ 4063275
+ name 1_62_KEY_0
+ 2151546880
+ name 1_62_KEY_1
+ 2151546881
+ name 1_62_KEY_2
+ 2151546882
+ name 1_62_KEY_3
+ 2151546883
+ name 1_62_KEY_4
+ 2151546884
+ name 1_62_KEY_5
+ 2151546885
+ name 1_62_KEY_6
+ 2151546886
+ name 1_62_KEY_7
+ 2151546887
+ name 1_62_KEY_8
+ 2151546888
+ name 1_62_KEY_9
+ 2151546889
+ name 1_62_KEY_POWER
+ 2151546890
+ name 1_62_KEY_MUTE
+ 2151546897
+ name 1_62_KEY_VOL_DOWN
+ 2151546898
+ name 1_62_KEY_VOL_UP
+ 2151546900
+ name 1_62_KEY_FAV
+ 2151546909
+ name 1_62_KEY_SELECT
+ 2151546910
+ name 1_62_KEY_SAT
+ 2151546922
+ name 0_63_KEY_0
+ 4128768
+ name 0_63_KEY_1
+ 4128769
+ name 0_63_KEY_2
+ 4128770
+ name 0_63_KEY_3
+ 4128771
+ name 0_63_KEY_4
+ 4128772
+ name 0_63_KEY_5
+ 4128773
+ name 0_63_KEY_6
+ 4128774
+ name 0_63_KEY_7
+ 4128775
+ name 0_63_KEY_8
+ 4128776
+ name 0_63_KEY_9
+ 4128777
+ name 0_63_KEY_POWER
+ 4128778
+ name 0_63_KEY_CH_UP
+ 4128783
+ name 0_63_KEY_CH_DOWN
+ 4128784
+ name 0_63_CH_PREVIOUS
+ 4128787
+ name 0_63_KEY_ENTER
+ 4128811
+ name 1_63_KEY_POWER
+ 2151612426
+ name 1_63_KEY_CH_UP
+ 2151612431
+ name 1_63_KEY_CH_DOWN
+ 2151612432
+ name 1_63_KEY_VOL_DOWN
+ 2151612434
+ name 1_63_CH_PREVIOUS
+ 2151612435
+ name 1_63_KEY_VOL_UP
+ 2151612436
+ name 0_64_KEY_0
+ 4194304
+ name 0_64_KEY_1
+ 4194305
+ name 0_64_KEY_2
+ 4194306
+ name 0_64_KEY_3
+ 4194307
+ name 0_64_KEY_4
+ 4194308
+ name 0_64_KEY_5
+ 4194309
+ name 0_64_KEY_6
+ 4194310
+ name 0_64_KEY_7
+ 4194311
+ name 0_64_KEY_8
+ 4194312
+ name 0_64_KEY_9
+ 4194313
+ name 0_64_KEY_POWER
+ 4194314
+ name 0_64_KEY_CH_UP
+ 4194319
+ name 0_64_KEY_CH_DOWN
+ 4194320
+ name 0_64_CH_PREVIOUS
+ 4194323
+ name 0_64_KEY_ENTER
+ 4194347
+ name 1_64_KEY_POWER
+ 2151677962
+ name 1_64_KEY_CH_UP
+ 2151677967
+ name 1_64_KEY_CH_DOWN
+ 2151677968
+ name 1_64_KEY_MUTE
+ 2151677969
+ name 1_64_KEY_VOL_DOWN
+ 2151677970
+ name 1_64_KEY_VOL_UP
+ 2151677972
+ name 1_64_KEY_ENTER
+ 2151677995
+ name 0_65_KEY_0
+ 4259840
+ name 0_65_KEY_1
+ 4259841
+ name 0_65_KEY_2
+ 4259842
+ name 0_65_KEY_3
+ 4259843
+ name 0_65_KEY_4
+ 4259844
+ name 0_65_KEY_5
+ 4259845
+ name 0_65_KEY_6
+ 4259846
+ name 0_65_KEY_7
+ 4259847
+ name 0_65_KEY_8
+ 4259848
+ name 0_65_KEY_9
+ 4259849
+ name 0_65_KEY_POWER
+ 4259850
+ name 0_65_KEY_CH_UP
+ 4259855
+ name 0_65_KEY_CH_DOWN
+ 4259856
+ name 0_65_CH_PREVIOUS
+ 4259859
+ name 0_65_KEY_ENTER
+ 4259883
+ name 1_65_KEY_0
+ 2151743488
+ name 1_65_KEY_1
+ 2151743489
+ name 1_65_KEY_2
+ 2151743490
+ name 1_65_KEY_3
+ 2151743491
+ name 1_65_KEY_4
+ 2151743492
+ name 1_65_KEY_5
+ 2151743493
+ name 1_65_KEY_6
+ 2151743494
+ name 1_65_KEY_7
+ 2151743495
+ name 1_65_KEY_8
+ 2151743496
+ name 1_65_KEY_9
+ 2151743497
+ name 1_65_KEY_POWER
+ 2151743498
+ name 1_65_KEY_CH_UP
+ 2151743503
+ name 1_65_KEY_CH_DOWN
+ 2151743504
+ name 1_65_KEY_MUTE
+ 2151743505
+ name 1_65_KEY_VOL_DOWN
+ 2151743506
+ name 1_65_KEY_VOL_UP
+ 2151743508
+ name 1_65_KEY_CKU
+ 2151743528
+ name 1_65_KEY_SAT
+ 2151743530
+ name 0_66_KEY_0
+ 4325376
+ name 0_66_KEY_1
+ 4325377
+ name 0_66_KEY_2
+ 4325378
+ name 0_66_KEY_3
+ 4325379
+ name 0_66_KEY_4
+ 4325380
+ name 0_66_KEY_5
+ 4325381
+ name 0_66_KEY_6
+ 4325382
+ name 0_66_KEY_7
+ 4325383
+ name 0_66_KEY_8
+ 4325384
+ name 0_66_KEY_9
+ 4325385
+ name 0_66_KEY_POWER
+ 4325386
+ name 0_66_KEY_CH_UP
+ 4325391
+ name 0_66_KEY_CH_DOWN
+ 4325392
+ name 0_66_KEY_ENTER
+ 4325419
+ name 1_66_KEY_0
+ 2151809024
+ name 1_66_KEY_1
+ 2151809025
+ name 1_66_KEY_2
+ 2151809026
+ name 1_66_KEY_3
+ 2151809027
+ name 1_66_KEY_4
+ 2151809028
+ name 1_66_KEY_5
+ 2151809029
+ name 1_66_KEY_6
+ 2151809030
+ name 1_66_KEY_7
+ 2151809031
+ name 1_66_KEY_8
+ 2151809032
+ name 1_66_KEY_9
+ 2151809033
+ name 1_66_KEY_POWER
+ 2151809034
+ name 1_66_KEY_CH_UP
+ 2151809039
+ name 1_66_KEY_CH_DOWN
+ 2151809040
+ name 1_66_KEY_MUTE
+ 2151809041
+ name 1_66_KEY_VOL_DOWN
+ 2151809042
+ name 1_66_KEY_VOL_UP
+ 2151809044
+ name 1_66_KEY_EXIT
+ 2151809048
+ name 1_66_KEY_FAV
+ 2151809053
+ name 1_66_KEY_C
+ 2151809063
+ name 1_66_KEY_SAT
+ 2151809066
+ name 1_66_KEY_ENTER
+ 2151809067
+ name 1_66_KEY_MENU
+ 2151809071
+ name 1_66_KEY_MUP
+ 2151809072
+ name 1_66_KEY_MDOWN
+ 2151809073
+ name 1_66_KEY_MLEFT
+ 2151809074
+ name 1_66_KEY_MRIGHT
+ 2151809075
+ name 1_66_KEY_Help
+ 2151809088
+ name 1_66_KEY_Setup
+ 2151809089
+ name 0_67_KEY_0
+ 4390912
+ name 0_67_KEY_1
+ 4390913
+ name 0_67_KEY_2
+ 4390914
+ name 0_67_KEY_3
+ 4390915
+ name 0_67_KEY_4
+ 4390916
+ name 0_67_KEY_5
+ 4390917
+ name 0_67_KEY_6
+ 4390918
+ name 0_67_KEY_7
+ 4390919
+ name 0_67_KEY_8
+ 4390920
+ name 0_67_KEY_9
+ 4390921
+ name 0_67_KEY_POWER
+ 4390922
+ name 0_67_KEY_CH_UP
+ 4390927
+ name 0_67_KEY_CH_DOWN
+ 4390928
+ name 0_67_CH_PREVIOUS
+ 4390931
+ name 0_67_KEY_ENTER
+ 4390955
+ name 1_67_KEY_0
+ 2151874560
+ name 1_67_KEY_1
+ 2151874561
+ name 1_67_KEY_2
+ 2151874562
+ name 1_67_KEY_3
+ 2151874563
+ name 1_67_KEY_4
+ 2151874564
+ name 1_67_KEY_5
+ 2151874565
+ name 1_67_KEY_6
+ 2151874566
+ name 1_67_KEY_7
+ 2151874567
+ name 1_67_KEY_8
+ 2151874568
+ name 1_67_KEY_9
+ 2151874569
+ name 1_67_KEY_POWER
+ 2151874570
+ name 1_67_KEY_CH_UP
+ 2151874575
+ name 1_67_KEY_CH_DOWN
+ 2151874576
+ name 1_67_CH_PREVIOUS
+ 2151874579
+ name 1_67_KEY_EXIT
+ 2151874584
+ name 1_67_KEY_GUIDE
+ 2151874587
+ name 1_67_KEY_FAV
+ 2151874589
+ name 1_67_KEY_SELECT
+ 2151874590
+ name 1_67_KEY_MENU
+ 2151874607
+ name 1_67_KEY_MUP
+ 2151874608
+ name 1_67_KEY_MDOWN
+ 2151874609
+ name 1_67_KEY_MLEFT
+ 2151874610
+ name 1_67_KEY_MRIGHT
+ 2151874611
+ name 0_68_KEY_0
+ 4456448
+ name 0_68_KEY_1
+ 4456449
+ name 0_68_KEY_2
+ 4456450
+ name 0_68_KEY_3
+ 4456451
+ name 0_68_KEY_4
+ 4456452
+ name 0_68_KEY_5
+ 4456453
+ name 0_68_KEY_6
+ 4456454
+ name 0_68_KEY_7
+ 4456455
+ name 0_68_KEY_8
+ 4456456
+ name 0_68_KEY_9
+ 4456457
+ name 0_68_KEY_POWER
+ 4456458
+ name 0_68_KEY_CH_UP
+ 4456463
+ name 0_68_KEY_CH_DOWN
+ 4456464
+ name 0_68_KEY_ENTER
+ 4456491
+ name 1_68_KEY_0
+ 2151940096
+ name 1_68_KEY_1
+ 2151940097
+ name 1_68_KEY_2
+ 2151940098
+ name 1_68_KEY_3
+ 2151940099
+ name 1_68_KEY_4
+ 2151940100
+ name 1_68_KEY_5
+ 2151940101
+ name 1_68_KEY_6
+ 2151940102
+ name 1_68_KEY_7
+ 2151940103
+ name 1_68_KEY_8
+ 2151940104
+ name 1_68_KEY_9
+ 2151940105
+ name 1_68_KEY_POWER
+ 2151940106
+ name 1_68_KEY_CH_UP
+ 2151940111
+ name 1_68_KEY_CH_DOWN
+ 2151940112
+ name 1_68_KEY_VOL_DOWN
+ 2151940114
+ name 1_68_KEY_VOL_UP
+ 2151940116
+ name 1_68_KEY_DISPLAY
+ 2151940117
+ name 1_68_KEY_FAV
+ 2151940125
+ name 1_68_KEY_CKU
+ 2151940136
+ name 1_68_KEY_ENTER
+ 2151940139
+ name 0_69_KEY_0
+ 4521984
+ name 0_69_KEY_1
+ 4521985
+ name 0_69_KEY_2
+ 4521986
+ name 0_69_KEY_3
+ 4521987
+ name 0_69_KEY_4
+ 4521988
+ name 0_69_KEY_5
+ 4521989
+ name 0_69_KEY_6
+ 4521990
+ name 0_69_KEY_7
+ 4521991
+ name 0_69_KEY_8
+ 4521992
+ name 0_69_KEY_9
+ 4521993
+ name 0_69_KEY_POWER
+ 4521994
+ name 0_69_KEY_CH_UP
+ 4521999
+ name 0_69_KEY_CH_DOWN
+ 4522000
+ name 0_69_CH_PREVIOUS
+ 4522003
+ name 0_69_KEY_ENTER
+ 4522027
+ name 1_69_KEY_0
+ 2152005632
+ name 1_69_KEY_1
+ 2152005633
+ name 1_69_KEY_2
+ 2152005634
+ name 1_69_KEY_3
+ 2152005635
+ name 1_69_KEY_4
+ 2152005636
+ name 1_69_KEY_5
+ 2152005637
+ name 1_69_KEY_6
+ 2152005638
+ name 1_69_KEY_7
+ 2152005639
+ name 1_69_KEY_8
+ 2152005640
+ name 1_69_KEY_9
+ 2152005641
+ name 1_69_KEY_POWER
+ 2152005642
+ name 1_69_KEY_CH_UP
+ 2152005647
+ name 1_69_KEY_CH_DOWN
+ 2152005648
+ name 1_69_KEY_MUTE
+ 2152005649
+ name 1_69_KEY_VOL_DOWN
+ 2152005650
+ name 1_69_KEY_VOL_UP
+ 2152005652
+ name 1_69_KEY_EXIT
+ 2152005656
+ name 1_69_KEY_FAV
+ 2152005661
+ name 1_69_KEY_C
+ 2152005671
+ name 1_69_KEY_ENTER
+ 2152005675
+ name 1_69_KEY_MUP
+ 2152005680
+ name 1_69_KEY_MDOWN
+ 2152005681
+ name 1_69_KEY_MLEFT
+ 2152005682
+ name 1_69_KEY_MRIGHT
+ 2152005683
+ name 1_69_KEY_Help
+ 2152005696
+ name 1_69_KEY_Setup
+ 2152005697
+ name 0_70_KEY_0
+ 4587520
+ name 0_70_KEY_1
+ 4587521
+ name 0_70_KEY_2
+ 4587522
+ name 0_70_KEY_3
+ 4587523
+ name 0_70_KEY_4
+ 4587524
+ name 0_70_KEY_5
+ 4587525
+ name 0_70_KEY_6
+ 4587526
+ name 0_70_KEY_7
+ 4587527
+ name 0_70_KEY_8
+ 4587528
+ name 0_70_KEY_9
+ 4587529
+ name 0_70_KEY_POWER
+ 4587530
+ name 0_70_KEY_CH_UP
+ 4587535
+ name 0_70_KEY_CH_DOWN
+ 4587536
+ name 0_70_KEY_ENTER
+ 4587563
+ name 1_70_KEY_0
+ 2152071168
+ name 1_70_KEY_1
+ 2152071169
+ name 1_70_KEY_2
+ 2152071170
+ name 1_70_KEY_3
+ 2152071171
+ name 1_70_KEY_4
+ 2152071172
+ name 1_70_KEY_5
+ 2152071173
+ name 1_70_KEY_6
+ 2152071174
+ name 1_70_KEY_7
+ 2152071175
+ name 1_70_KEY_8
+ 2152071176
+ name 1_70_KEY_9
+ 2152071177
+ name 1_70_KEY_POWER
+ 2152071178
+ name 1_70_KEY_CH_UP
+ 2152071183
+ name 1_70_KEY_CH_DOWN
+ 2152071184
+ name 1_70_KEY_VOL_DOWN
+ 2152071186
+ name 1_70_KEY_VOL_UP
+ 2152071188
+ name 1_70_KEY_DISPLAY
+ 2152071189
+ name 1_70_KEY_CKU
+ 2152071208
+ name 1_70_KEY_SAT
+ 2152071210
+ name 0_71_KEY_0
+ 4653056
+ name 0_71_KEY_1
+ 4653057
+ name 0_71_KEY_2
+ 4653058
+ name 0_71_KEY_3
+ 4653059
+ name 0_71_KEY_4
+ 4653060
+ name 0_71_KEY_5
+ 4653061
+ name 0_71_KEY_6
+ 4653062
+ name 0_71_KEY_7
+ 4653063
+ name 0_71_KEY_8
+ 4653064
+ name 0_71_KEY_9
+ 4653065
+ name 0_71_KEY_POWER
+ 4653066
+ name 0_71_KEY_CH_UP
+ 4653071
+ name 0_71_KEY_CH_DOWN
+ 4653072
+ name 0_71_KEY_MUTE
+ 4653073
+ name 0_71_KEY_VOL_DOWN
+ 4653074
+ name 0_71_KEY_VOL_UP
+ 4653076
+ name 1_71_KEY_0
+ 2152136704
+ name 1_71_KEY_1
+ 2152136705
+ name 1_71_KEY_2
+ 2152136706
+ name 1_71_KEY_3
+ 2152136707
+ name 1_71_KEY_4
+ 2152136708
+ name 1_71_KEY_5
+ 2152136709
+ name 1_71_KEY_6
+ 2152136710
+ name 1_71_KEY_7
+ 2152136711
+ name 1_71_KEY_8
+ 2152136712
+ name 1_71_KEY_9
+ 2152136713
+ name 1_71_KEY_POWER
+ 2152136714
+ name 1_71_KEY_MUTE
+ 2152136721
+ name 1_71_KEY_VOL_DOWN
+ 2152136722
+ name 1_71_KEY_VOL_UP
+ 2152136724
+ name 1_71_KEY_CKU
+ 2152136744
+ name 0_72_KEY_0
+ 4718592
+ name 0_72_KEY_1
+ 4718593
+ name 0_72_KEY_2
+ 4718594
+ name 0_72_KEY_3
+ 4718595
+ name 0_72_KEY_4
+ 4718596
+ name 0_72_KEY_5
+ 4718597
+ name 0_72_KEY_6
+ 4718598
+ name 0_72_KEY_7
+ 4718599
+ name 0_72_KEY_8
+ 4718600
+ name 0_72_KEY_9
+ 4718601
+ name 0_72_KEY_POWER
+ 4718602
+ name 0_72_KEY_CH_UP
+ 4718607
+ name 0_72_KEY_CH_DOWN
+ 4718608
+ name 0_72_KEY_MUTE
+ 4718609
+ name 0_72_KEY_VOL_DOWN
+ 4718610
+ name 0_72_CH_PREVIOUS
+ 4718611
+ name 0_72_KEY_VOL_UP
+ 4718612
+ name 0_72_KEY_DISPLAY
+ 4718613
+ name 0_72_KEY_EXIT
+ 4718616
+ name 0_72_KEY_INPUT
+ 4718618
+ name 0_72_KEY_GUIDE
+ 4718619
+ name 0_72_KEY_FAV
+ 4718621
+ name 0_72_KEY_ENTER
+ 4718635
+ name 0_72_KEY_MENU
+ 4718639
+ name 0_72_KEY_MUP
+ 4718640
+ name 0_72_KEY_MDOWN
+ 4718641
+ name 0_72_KEY_MLEFT
+ 4718642
+ name 0_72_KEY_MRIGHT
+ 4718643
+ name 0_72_KEY_FF
+ 4718644
+ name 0_72_KEY_PLAY
+ 4718645
+ name 0_72_KEY_REW
+ 4718646
+ name 0_72_KEY_REC
+ 4718647
+ name 0_72_KEY_PAUSE
+ 4718648
+ name 0_72_KEY_STOP
+ 4718649
+ name 1_72_KEY_0
+ 2152202240
+ name 1_72_KEY_1
+ 2152202241
+ name 1_72_KEY_2
+ 2152202242
+ name 1_72_KEY_3
+ 2152202243
+ name 1_72_KEY_4
+ 2152202244
+ name 1_72_KEY_5
+ 2152202245
+ name 1_72_KEY_6
+ 2152202246
+ name 1_72_KEY_7
+ 2152202247
+ name 1_72_KEY_8
+ 2152202248
+ name 1_72_KEY_9
+ 2152202249
+ name 1_72_KEY_POWER
+ 2152202250
+ name 1_72_KEY_CH_UP
+ 2152202255
+ name 1_72_KEY_CH_DOWN
+ 2152202256
+ name 1_72_KEY_MUTE
+ 2152202257
+ name 1_72_KEY_VOL_DOWN
+ 2152202258
+ name 1_72_KEY_VOL_UP
+ 2152202260
+ name 1_72_KEY_DISPLAY
+ 2152202261
+ name 1_72_KEY_FAV
+ 2152202269
+ name 1_72_KEY_CKU
+ 2152202280
+ name 1_72_KEY_ENTER
+ 2152202283
+ name 0_73_KEY_0
+ 4784128
+ name 0_73_KEY_1
+ 4784129
+ name 0_73_KEY_2
+ 4784130
+ name 0_73_KEY_3
+ 4784131
+ name 0_73_KEY_4
+ 4784132
+ name 0_73_KEY_5
+ 4784133
+ name 0_73_KEY_6
+ 4784134
+ name 0_73_KEY_7
+ 4784135
+ name 0_73_KEY_8
+ 4784136
+ name 0_73_KEY_9
+ 4784137
+ name 0_73_KEY_POWER
+ 4784138
+ name 0_73_KEY_CH_UP
+ 4784143
+ name 0_73_KEY_CH_DOWN
+ 4784144
+ name 0_73_KEY_MUTE
+ 4784145
+ name 0_73_KEY_VOL_DOWN
+ 4784146
+ name 0_73_KEY_VOL_UP
+ 4784148
+ name 0_73_KEY_DISPLAY
+ 4784149
+ name 0_73_KEY_MNSELECT
+ 4784151
+ name 0_73_KEY_GUIDE
+ 4784155
+ name 0_73_KEY_FAV
+ 4784157
+ name 0_73_KEY_ENTER
+ 4784171
+ name 0_73_KEY_MENU
+ 4784175
+ name 0_73_KEY_MUP
+ 4784176
+ name 0_73_KEY_MDOWN
+ 4784177
+ name 0_73_KEY_MLEFT
+ 4784178
+ name 0_73_KEY_MRIGHT
+ 4784179
+ name 1_73_KEY_0
+ 2152267776
+ name 1_73_KEY_1
+ 2152267777
+ name 1_73_KEY_2
+ 2152267778
+ name 1_73_KEY_3
+ 2152267779
+ name 1_73_KEY_4
+ 2152267780
+ name 1_73_KEY_5
+ 2152267781
+ name 1_73_KEY_6
+ 2152267782
+ name 1_73_KEY_7
+ 2152267783
+ name 1_73_KEY_8
+ 2152267784
+ name 1_73_KEY_9
+ 2152267785
+ name 1_73_KEY_POWER
+ 2152267786
+ name 1_73_KEY_CH_UP
+ 2152267791
+ name 1_73_KEY_CH_DOWN
+ 2152267792
+ name 1_73_KEY_FAV
+ 2152267805
+ name 0_74_KEY_0
+ 4849664
+ name 0_74_KEY_1
+ 4849665
+ name 0_74_KEY_2
+ 4849666
+ name 0_74_KEY_3
+ 4849667
+ name 0_74_KEY_4
+ 4849668
+ name 0_74_KEY_5
+ 4849669
+ name 0_74_KEY_6
+ 4849670
+ name 0_74_KEY_7
+ 4849671
+ name 0_74_KEY_8
+ 4849672
+ name 0_74_KEY_9
+ 4849673
+ name 0_74_KEY_POWER
+ 4849674
+ name 0_74_KEY_CH_UP
+ 4849679
+ name 0_74_KEY_CH_DOWN
+ 4849680
+ name 0_74_KEY_MUTE
+ 4849681
+ name 0_74_KEY_VOL_DOWN
+ 4849682
+ name 0_74_KEY_VOL_UP
+ 4849684
+ name 0_74_KEY_MENU
+ 4849711
+ name 0_74_KEY_MUP
+ 4849712
+ name 0_74_KEY_MDOWN
+ 4849713
+ name 0_74_KEY_MLEFT
+ 4849714
+ name 0_74_KEY_MRIGHT
+ 4849715
+ name 1_74_KEY_0
+ 2152333312
+ name 1_74_KEY_1
+ 2152333313
+ name 1_74_KEY_2
+ 2152333314
+ name 1_74_KEY_3
+ 2152333315
+ name 1_74_KEY_4
+ 2152333316
+ name 1_74_KEY_5
+ 2152333317
+ name 1_74_KEY_6
+ 2152333318
+ name 1_74_KEY_7
+ 2152333319
+ name 1_74_KEY_8
+ 2152333320
+ name 1_74_KEY_9
+ 2152333321
+ name 1_74_KEY_POWER
+ 2152333322
+ name 1_74_KEY_CH_UP
+ 2152333327
+ name 1_74_KEY_CH_DOWN
+ 2152333328
+ name 1_74_KEY_MUTE
+ 2152333329
+ name 1_74_KEY_VOL_DOWN
+ 2152333330
+ name 1_74_KEY_VOL_UP
+ 2152333332
+ name 1_74_KEY_FAV
+ 2152333341
+ name 1_74_KEY_SAT
+ 2152333354
+ name 1_74_KEY_ENTER
+ 2152333355
+ name 0_75_KEY_0
+ 4915200
+ name 0_75_KEY_1
+ 4915201
+ name 0_75_KEY_2
+ 4915202
+ name 0_75_KEY_3
+ 4915203
+ name 0_75_KEY_4
+ 4915204
+ name 0_75_KEY_5
+ 4915205
+ name 0_75_KEY_6
+ 4915206
+ name 0_75_KEY_7
+ 4915207
+ name 0_75_KEY_8
+ 4915208
+ name 0_75_KEY_9
+ 4915209
+ name 0_75_KEY_POWER
+ 4915210
+ name 0_75_KEY_CH_UP
+ 4915215
+ name 0_75_KEY_CH_DOWN
+ 4915216
+ name 0_75_KEY_MUTE
+ 4915217
+ name 0_75_KEY_VOL_DOWN
+ 4915218
+ name 0_75_KEY_VOL_UP
+ 4915220
+ name 0_75_KEY_MUP
+ 4915248
+ name 0_75_KEY_MDOWN
+ 4915249
+ name 0_75_KEY_MLEFT
+ 4915250
+ name 0_75_KEY_MRIGHT
+ 4915251
+ name 1_75_KEY_0
+ 2152398848
+ name 1_75_KEY_1
+ 2152398849
+ name 1_75_KEY_2
+ 2152398850
+ name 1_75_KEY_3
+ 2152398851
+ name 1_75_KEY_4
+ 2152398852
+ name 1_75_KEY_5
+ 2152398853
+ name 1_75_KEY_6
+ 2152398854
+ name 1_75_KEY_7
+ 2152398855
+ name 1_75_KEY_8
+ 2152398856
+ name 1_75_KEY_9
+ 2152398857
+ name 1_75_KEY_FAV
+ 2152398877
+ name 1_75_KEY_ENTER
+ 2152398891
+ name 0_76_KEY_0
+ 4980736
+ name 0_76_KEY_1
+ 4980737
+ name 0_76_KEY_2
+ 4980738
+ name 0_76_KEY_3
+ 4980739
+ name 0_76_KEY_4
+ 4980740
+ name 0_76_KEY_5
+ 4980741
+ name 0_76_KEY_6
+ 4980742
+ name 0_76_KEY_7
+ 4980743
+ name 0_76_KEY_8
+ 4980744
+ name 0_76_KEY_9
+ 4980745
+ name 0_76_KEY_POWER
+ 4980746
+ name 0_76_KEY_CH_UP
+ 4980751
+ name 0_76_KEY_CH_DOWN
+ 4980752
+ name 0_76_KEY_MUTE
+ 4980753
+ name 0_76_KEY_VOL_DOWN
+ 4980754
+ name 0_76_KEY_VOL_UP
+ 4980756
+ name 0_76_KEY_MENU
+ 4980783
+ name 0_76_KEY_MUP
+ 4980784
+ name 0_76_KEY_MDOWN
+ 4980785
+ name 0_76_KEY_MLEFT
+ 4980786
+ name 0_76_KEY_MRIGHT
+ 4980787
+ name 1_76_KEY_0
+ 2152464384
+ name 1_76_KEY_1
+ 2152464385
+ name 1_76_KEY_2
+ 2152464386
+ name 1_76_KEY_3
+ 2152464387
+ name 1_76_KEY_4
+ 2152464388
+ name 1_76_KEY_5
+ 2152464389
+ name 1_76_KEY_6
+ 2152464390
+ name 1_76_KEY_7
+ 2152464391
+ name 1_76_KEY_8
+ 2152464392
+ name 1_76_KEY_9
+ 2152464393
+ name 1_76_KEY_POWER
+ 2152464394
+ name 1_76_KEY_CH_UP
+ 2152464399
+ name 1_76_KEY_CH_DOWN
+ 2152464400
+ name 1_76_KEY_MUTE
+ 2152464401
+ name 1_76_KEY_VOL_DOWN
+ 2152464402
+ name 1_76_KEY_VOL_UP
+ 2152464404
+ name 1_76_KEY_DISPLAY
+ 2152464405
+ name 1_76_KEY_CKU
+ 2152464424
+ name 1_76_KEY_SAT
+ 2152464426
+ name 1_76_KEY_ENTER
+ 2152464427
+ name 0_77_KEY_0
+ 5046272
+ name 0_77_KEY_1
+ 5046273
+ name 0_77_KEY_2
+ 5046274
+ name 0_77_KEY_3
+ 5046275
+ name 0_77_KEY_4
+ 5046276
+ name 0_77_KEY_5
+ 5046277
+ name 0_77_KEY_6
+ 5046278
+ name 0_77_KEY_7
+ 5046279
+ name 0_77_KEY_8
+ 5046280
+ name 0_77_KEY_9
+ 5046281
+ name 0_77_KEY_POWER
+ 5046282
+ name 0_77_KEY_MUTE
+ 5046289
+ name 0_77_KEY_MNSELECT
+ 5046295
+ name 0_77_KEY_MENU
+ 5046319
+ name 0_77_KEY_MUP
+ 5046320
+ name 0_77_KEY_MDOWN
+ 5046321
+ name 0_77_KEY_MLEFT
+ 5046322
+ name 0_77_KEY_MRIGHT
+ 5046323
+ name 1_77_KEY_0
+ 2152529920
+ name 1_77_KEY_1
+ 2152529921
+ name 1_77_KEY_2
+ 2152529922
+ name 1_77_KEY_3
+ 2152529923
+ name 1_77_KEY_4
+ 2152529924
+ name 1_77_KEY_5
+ 2152529925
+ name 1_77_KEY_6
+ 2152529926
+ name 1_77_KEY_7
+ 2152529927
+ name 1_77_KEY_8
+ 2152529928
+ name 1_77_KEY_9
+ 2152529929
+ name 1_77_KEY_POWER
+ 2152529930
+ name 1_77_KEY_CH_UP
+ 2152529935
+ name 1_77_KEY_CH_DOWN
+ 2152529936
+ name 1_77_KEY_MUTE
+ 2152529937
+ name 1_77_KEY_VOL_DOWN
+ 2152529938
+ name 1_77_CH_PREVIOUS
+ 2152529939
+ name 1_77_KEY_VOL_UP
+ 2152529940
+ name 1_77_KEY_EXIT
+ 2152529944
+ name 1_77_KEY_FAV
+ 2152529949
+ name 1_77_KEY_SAT
+ 2152529962
+ name 1_77_KEY_ENTER
+ 2152529963
+ name 1_77_KEY_MENU
+ 2152529967
+ name 1_77_KEY_MUP
+ 2152529968
+ name 1_77_KEY_MDOWN
+ 2152529969
+ name 1_77_KEY_MLEFT
+ 2152529970
+ name 1_77_KEY_MRIGHT
+ 2152529971
+ name 1_77_KEY_Help
+ 2152529984
+ name 1_77_KEY_Setup
+ 2152529985
+ name 0_78_KEY_0
+ 5111808
+ name 0_78_KEY_1
+ 5111809
+ name 0_78_KEY_2
+ 5111810
+ name 0_78_KEY_3
+ 5111811
+ name 0_78_KEY_4
+ 5111812
+ name 0_78_KEY_5
+ 5111813
+ name 0_78_KEY_6
+ 5111814
+ name 0_78_KEY_7
+ 5111815
+ name 0_78_KEY_8
+ 5111816
+ name 0_78_KEY_9
+ 5111817
+ name 0_78_KEY_POWER
+ 5111818
+ name 0_78_KEY_CH_UP
+ 5111823
+ name 0_78_KEY_CH_DOWN
+ 5111824
+ name 0_78_KEY_MUTE
+ 5111825
+ name 0_78_KEY_VOL_DOWN
+ 5111826
+ name 0_78_KEY_VOL_UP
+ 5111828
+ name 0_78_KEY_MUP
+ 5111856
+ name 0_78_KEY_MDOWN
+ 5111857
+ name 0_78_KEY_MLEFT
+ 5111858
+ name 0_78_KEY_MRIGHT
+ 5111859
+ name 1_78_KEY_0
+ 2152595456
+ name 1_78_KEY_1
+ 2152595457
+ name 1_78_KEY_2
+ 2152595458
+ name 1_78_KEY_3
+ 2152595459
+ name 1_78_KEY_4
+ 2152595460
+ name 1_78_KEY_5
+ 2152595461
+ name 1_78_KEY_6
+ 2152595462
+ name 1_78_KEY_7
+ 2152595463
+ name 1_78_KEY_8
+ 2152595464
+ name 1_78_KEY_9
+ 2152595465
+ name 1_78_KEY_POWER
+ 2152595466
+ name 1_78_KEY_CH_UP
+ 2152595471
+ name 1_78_KEY_CH_DOWN
+ 2152595472
+ name 1_78_KEY_MUTE
+ 2152595473
+ name 1_78_KEY_VOL_DOWN
+ 2152595474
+ name 1_78_CH_PREVIOUS
+ 2152595475
+ name 1_78_KEY_VOL_UP
+ 2152595476
+ name 1_78_KEY_DISPLAY
+ 2152595477
+ name 1_78_KEY_FAV
+ 2152595485
+ name 1_78_KEY_ENTER
+ 2152595499
+ name 0_79_KEY_0
+ 5177344
+ name 0_79_KEY_1
+ 5177345
+ name 0_79_KEY_2
+ 5177346
+ name 0_79_KEY_3
+ 5177347
+ name 0_79_KEY_4
+ 5177348
+ name 0_79_KEY_5
+ 5177349
+ name 0_79_KEY_6
+ 5177350
+ name 0_79_KEY_7
+ 5177351
+ name 0_79_KEY_8
+ 5177352
+ name 0_79_KEY_9
+ 5177353
+ name 0_79_KEY_POWER
+ 5177354
+ name 0_79_KEY_CH_UP
+ 5177359
+ name 0_79_KEY_CH_DOWN
+ 5177360
+ name 0_79_KEY_MNSELECT
+ 5177367
+ name 0_79_KEY_MENU
+ 5177391
+ name 0_79_KEY_MUP
+ 5177392
+ name 0_79_KEY_MDOWN
+ 5177393
+ name 0_79_KEY_MLEFT
+ 5177394
+ name 0_79_KEY_MRIGHT
+ 5177395
+ name 1_79_KEY_0
+ 2152660992
+ name 1_79_KEY_1
+ 2152660993
+ name 1_79_KEY_2
+ 2152660994
+ name 1_79_KEY_3
+ 2152660995
+ name 1_79_KEY_4
+ 2152660996
+ name 1_79_KEY_5
+ 2152660997
+ name 1_79_KEY_6
+ 2152660998
+ name 1_79_KEY_7
+ 2152660999
+ name 1_79_KEY_8
+ 2152661000
+ name 1_79_KEY_9
+ 2152661001
+ name 1_79_KEY_POWER
+ 2152661002
+ name 1_79_KEY_CH_UP
+ 2152661007
+ name 1_79_KEY_CH_DOWN
+ 2152661008
+ name 1_79_KEY_MUTE
+ 2152661009
+ name 1_79_KEY_VOL_DOWN
+ 2152661010
+ name 1_79_KEY_VOL_UP
+ 2152661012
+ name 1_79_KEY_FAV
+ 2152661021
+ name 1_79_KEY_ENTER
+ 2152661035
+ name 0_80_KEY_0
+ 5242880
+ name 0_80_KEY_1
+ 5242881
+ name 0_80_KEY_2
+ 5242882
+ name 0_80_KEY_3
+ 5242883
+ name 0_80_KEY_4
+ 5242884
+ name 0_80_KEY_5
+ 5242885
+ name 0_80_KEY_6
+ 5242886
+ name 0_80_KEY_7
+ 5242887
+ name 0_80_KEY_8
+ 5242888
+ name 0_80_KEY_9
+ 5242889
+ name 0_80_KEY_POWER
+ 5242890
+ name 0_80_KEY_CH_UP
+ 5242895
+ name 0_80_KEY_CH_DOWN
+ 5242896
+ name 0_80_KEY_MUTE
+ 5242897
+ name 0_80_KEY_VOL_DOWN
+ 5242898
+ name 0_80_KEY_VOL_UP
+ 5242900
+ name 0_80_KEY_MNSELECT
+ 5242903
+ name 0_80_KEY_MENU
+ 5242927
+ name 0_80_KEY_MUP
+ 5242928
+ name 0_80_KEY_MDOWN
+ 5242929
+ name 0_80_KEY_MLEFT
+ 5242930
+ name 0_80_KEY_MRIGHT
+ 5242931
+ name 1_80_KEY_0
+ 2152726528
+ name 1_80_KEY_1
+ 2152726529
+ name 1_80_KEY_2
+ 2152726530
+ name 1_80_KEY_3
+ 2152726531
+ name 1_80_KEY_4
+ 2152726532
+ name 1_80_KEY_5
+ 2152726533
+ name 1_80_KEY_6
+ 2152726534
+ name 1_80_KEY_7
+ 2152726535
+ name 1_80_KEY_8
+ 2152726536
+ name 1_80_KEY_9
+ 2152726537
+ name 1_80_KEY_POWER
+ 2152726538
+ name 1_80_KEY_CH_UP
+ 2152726543
+ name 1_80_KEY_CH_DOWN
+ 2152726544
+ name 1_80_KEY_VOL_DOWN
+ 2152726546
+ name 1_80_KEY_VOL_UP
+ 2152726548
+ name 1_80_KEY_SELECT
+ 2152726558
+ name 0_81_KEY_0
+ 5308416
+ name 0_81_KEY_1
+ 5308417
+ name 0_81_KEY_2
+ 5308418
+ name 0_81_KEY_3
+ 5308419
+ name 0_81_KEY_4
+ 5308420
+ name 0_81_KEY_5
+ 5308421
+ name 0_81_KEY_6
+ 5308422
+ name 0_81_KEY_7
+ 5308423
+ name 0_81_KEY_8
+ 5308424
+ name 0_81_KEY_9
+ 5308425
+ name 0_81_KEY_POWER
+ 5308426
+ name 0_81_KEY_CH_UP
+ 5308431
+ name 0_81_KEY_CH_DOWN
+ 5308432
+ name 0_81_KEY_MENU
+ 5308463
+ name 0_81_KEY_MUP
+ 5308464
+ name 0_81_KEY_MDOWN
+ 5308465
+ name 0_81_KEY_MLEFT
+ 5308466
+ name 0_81_KEY_MRIGHT
+ 5308467
+ name 1_81_KEY_0
+ 2152792064
+ name 1_81_KEY_1
+ 2152792065
+ name 1_81_KEY_2
+ 2152792066
+ name 1_81_KEY_3
+ 2152792067
+ name 1_81_KEY_4
+ 2152792068
+ name 1_81_KEY_5
+ 2152792069
+ name 1_81_KEY_6
+ 2152792070
+ name 1_81_KEY_7
+ 2152792071
+ name 1_81_KEY_8
+ 2152792072
+ name 1_81_KEY_9
+ 2152792073
+ name 1_81_KEY_POWER
+ 2152792074
+ name 1_81_KEY_CH_UP
+ 2152792079
+ name 1_81_KEY_CH_DOWN
+ 2152792080
+ name 0_82_KEY_0
+ 5373952
+ name 0_82_KEY_1
+ 5373953
+ name 0_82_KEY_2
+ 5373954
+ name 0_82_KEY_3
+ 5373955
+ name 0_82_KEY_4
+ 5373956
+ name 0_82_KEY_5
+ 5373957
+ name 0_82_KEY_6
+ 5373958
+ name 0_82_KEY_7
+ 5373959
+ name 0_82_KEY_8
+ 5373960
+ name 0_82_KEY_9
+ 5373961
+ name 0_82_KEY_POWER
+ 5373962
+ name 0_82_KEY_CH_UP
+ 5373967
+ name 0_82_KEY_CH_DOWN
+ 5373968
+ name 0_82_KEY_MUTE
+ 5373969
+ name 0_82_KEY_VOL_DOWN
+ 5373970
+ name 0_82_KEY_VOL_UP
+ 5373972
+ name 0_82_KEY_MNSELECT
+ 5373975
+ name 0_82_KEY_ENTER
+ 5373995
+ name 0_82_KEY_MENU
+ 5373999
+ name 0_82_KEY_MUP
+ 5374000
+ name 0_82_KEY_MDOWN
+ 5374001
+ name 0_82_KEY_MLEFT
+ 5374002
+ name 0_82_KEY_MRIGHT
+ 5374003
+ name 1_82_KEY_0
+ 2152857600
+ name 1_82_KEY_1
+ 2152857601
+ name 1_82_KEY_2
+ 2152857602
+ name 1_82_KEY_3
+ 2152857603
+ name 1_82_KEY_4
+ 2152857604
+ name 1_82_KEY_5
+ 2152857605
+ name 1_82_KEY_6
+ 2152857606
+ name 1_82_KEY_7
+ 2152857607
+ name 1_82_KEY_8
+ 2152857608
+ name 1_82_KEY_9
+ 2152857609
+ name 1_82_KEY_POWER
+ 2152857610
+ name 1_82_KEY_CH_UP
+ 2152857615
+ name 1_82_KEY_CH_DOWN
+ 2152857616
+ name 1_82_CH_PREVIOUS
+ 2152857619
+ name 1_82_KEY_DISPLAY
+ 2152857621
+ name 1_82_KEY_EXIT
+ 2152857624
+ name 1_82_KEY_AV
+ 2152857641
+ name 1_82_KEY_ENTER
+ 2152857643
+ name 1_82_KEY_MENU
+ 2152857647
+ name 1_82_KEY_MUP
+ 2152857648
+ name 1_82_KEY_MDOWN
+ 2152857649
+ name 1_82_KEY_MLEFT
+ 2152857650
+ name 1_82_KEY_MRIGHT
+ 2152857651
+ name 0_83_KEY_0
+ 5439488
+ name 0_83_KEY_1
+ 5439489
+ name 0_83_KEY_2
+ 5439490
+ name 0_83_KEY_3
+ 5439491
+ name 0_83_KEY_4
+ 5439492
+ name 0_83_KEY_5
+ 5439493
+ name 0_83_KEY_6
+ 5439494
+ name 0_83_KEY_7
+ 5439495
+ name 0_83_KEY_8
+ 5439496
+ name 0_83_KEY_9
+ 5439497
+ name 0_83_KEY_POWER
+ 5439498
+ name 0_83_KEY_CH_UP
+ 5439503
+ name 0_83_KEY_CH_DOWN
+ 5439504
+ name 0_83_KEY_MENU
+ 5439535
+ name 0_83_KEY_MUP
+ 5439536
+ name 0_83_KEY_MDOWN
+ 5439537
+ name 0_83_KEY_MLEFT
+ 5439538
+ name 0_83_KEY_MRIGHT
+ 5439539
+ name 1_83_KEY_0
+ 2152923136
+ name 1_83_KEY_1
+ 2152923137
+ name 1_83_KEY_2
+ 2152923138
+ name 1_83_KEY_3
+ 2152923139
+ name 1_83_KEY_4
+ 2152923140
+ name 1_83_KEY_5
+ 2152923141
+ name 1_83_KEY_6
+ 2152923142
+ name 1_83_KEY_7
+ 2152923143
+ name 1_83_KEY_8
+ 2152923144
+ name 1_83_KEY_9
+ 2152923145
+ name 1_83_KEY_POWER
+ 2152923146
+ name 1_83_KEY_CH_UP
+ 2152923151
+ name 1_83_KEY_CH_DOWN
+ 2152923152
+ name 1_83_KEY_MUTE
+ 2152923153
+ name 1_83_KEY_VOL_DOWN
+ 2152923154
+ name 1_83_CH_PREVIOUS
+ 2152923155
+ name 1_83_KEY_VOL_UP
+ 2152923156
+ name 1_83_KEY_DISPLAY
+ 2152923157
+ name 1_83_KEY_EXIT
+ 2152923160
+ name 1_83_KEY_GUIDE
+ 2152923163
+ name 1_83_KEY_SELECT
+ 2152923166
+ name 1_83_KEY_AV
+ 2152923177
+ name 1_83_KEY_SAT
+ 2152923178
+ name 1_83_KEY_ENTER
+ 2152923179
+ name 1_83_KEY_MENU
+ 2152923183
+ name 1_83_KEY_MUP
+ 2152923184
+ name 1_83_KEY_MDOWN
+ 2152923185
+ name 1_83_KEY_MLEFT
+ 2152923186
+ name 1_83_KEY_MRIGHT
+ 2152923187
+ name 0_84_KEY_0
+ 5505024
+ name 0_84_KEY_1
+ 5505025
+ name 0_84_KEY_2
+ 5505026
+ name 0_84_KEY_3
+ 5505027
+ name 0_84_KEY_4
+ 5505028
+ name 0_84_KEY_5
+ 5505029
+ name 0_84_KEY_6
+ 5505030
+ name 0_84_KEY_7
+ 5505031
+ name 0_84_KEY_8
+ 5505032
+ name 0_84_KEY_9
+ 5505033
+ name 0_84_KEY_POWER
+ 5505034
+ name 0_84_KEY_CH_UP
+ 5505039
+ name 0_84_KEY_CH_DOWN
+ 5505040
+ name 0_84_KEY_MUTE
+ 5505041
+ name 0_84_KEY_VOL_DOWN
+ 5505042
+ name 0_84_KEY_VOL_UP
+ 5505044
+ name 0_84_KEY_MNSELECT
+ 5505047
+ name 0_84_KEY_MENU
+ 5505071
+ name 0_84_KEY_MUP
+ 5505072
+ name 0_84_KEY_MDOWN
+ 5505073
+ name 0_84_KEY_MLEFT
+ 5505074
+ name 0_84_KEY_MRIGHT
+ 5505075
+ name 1_84_KEY_0
+ 2152988672
+ name 1_84_KEY_1
+ 2152988673
+ name 1_84_KEY_2
+ 2152988674
+ name 1_84_KEY_3
+ 2152988675
+ name 1_84_KEY_4
+ 2152988676
+ name 1_84_KEY_5
+ 2152988677
+ name 1_84_KEY_6
+ 2152988678
+ name 1_84_KEY_7
+ 2152988679
+ name 1_84_KEY_8
+ 2152988680
+ name 1_84_KEY_9
+ 2152988681
+ name 1_84_KEY_POWER
+ 2152988682
+ name 1_84_KEY_CH_UP
+ 2152988687
+ name 1_84_KEY_CH_DOWN
+ 2152988688
+ name 1_84_CH_PREVIOUS
+ 2152988691
+ name 1_84_KEY_DISPLAY
+ 2152988693
+ name 1_84_KEY_EXIT
+ 2152988696
+ name 1_84_KEY_AV
+ 2152988713
+ name 1_84_KEY_ENTER
+ 2152988715
+ name 1_84_KEY_MENU
+ 2152988719
+ name 1_84_KEY_MUP
+ 2152988720
+ name 1_84_KEY_MDOWN
+ 2152988721
+ name 1_84_KEY_MLEFT
+ 2152988722
+ name 1_84_KEY_MRIGHT
+ 2152988723
+ name 0_85_KEY_0
+ 5570560
+ name 0_85_KEY_1
+ 5570561
+ name 0_85_KEY_2
+ 5570562
+ name 0_85_KEY_3
+ 5570563
+ name 0_85_KEY_4
+ 5570564
+ name 0_85_KEY_5
+ 5570565
+ name 0_85_KEY_6
+ 5570566
+ name 0_85_KEY_7
+ 5570567
+ name 0_85_KEY_8
+ 5570568
+ name 0_85_KEY_9
+ 5570569
+ name 0_85_KEY_POWER
+ 5570570
+ name 0_85_KEY_CH_UP
+ 5570575
+ name 0_85_KEY_CH_DOWN
+ 5570576
+ name 0_85_KEY_MUTE
+ 5570577
+ name 0_85_KEY_VOL_DOWN
+ 5570578
+ name 0_85_CH_PREVIOUS
+ 5570579
+ name 0_85_KEY_VOL_UP
+ 5570580
+ name 0_85_KEY_DISPLAY
+ 5570581
+ name 0_85_KEY_MNSELECT
+ 5570583
+ name 0_85_KEY_EXIT
+ 5570584
+ name 0_85_KEY_INPUT
+ 5570586
+ name 0_85_KEY_GUIDE
+ 5570587
+ name 0_85_KEY_FAV
+ 5570589
+ name 0_85_KEY_MENU
+ 5570607
+ name 0_85_KEY_MUP
+ 5570608
+ name 0_85_KEY_MDOWN
+ 5570609
+ name 0_85_KEY_MLEFT
+ 5570610
+ name 0_85_KEY_MRIGHT
+ 5570611
+ name 0_85_KEY_FF
+ 5570612
+ name 0_85_KEY_PLAY
+ 5570613
+ name 0_85_KEY_REW
+ 5570614
+ name 0_85_KEY_REC
+ 5570615
+ name 0_85_KEY_PAUSE
+ 5570616
+ name 0_85_KEY_STOP
+ 5570617
+ name 1_85_KEY_0
+ 2153054208
+ name 1_85_KEY_1
+ 2153054209
+ name 1_85_KEY_2
+ 2153054210
+ name 1_85_KEY_3
+ 2153054211
+ name 1_85_KEY_4
+ 2153054212
+ name 1_85_KEY_5
+ 2153054213
+ name 1_85_KEY_6
+ 2153054214
+ name 1_85_KEY_7
+ 2153054215
+ name 1_85_KEY_8
+ 2153054216
+ name 1_85_KEY_9
+ 2153054217
+ name 1_85_KEY_POWER
+ 2153054218
+ name 1_85_KEY_CH_UP
+ 2153054223
+ name 1_85_KEY_CH_DOWN
+ 2153054224
+ name 1_85_CH_PREVIOUS
+ 2153054227
+ name 1_85_KEY_DISPLAY
+ 2153054229
+ name 1_85_KEY_EXIT
+ 2153054232
+ name 1_85_KEY_SELECT
+ 2153054238
+ name 1_85_KEY_ENTER
+ 2153054251
+ name 1_85_KEY_MENU
+ 2153054255
+ name 1_85_KEY_MUP
+ 2153054256
+ name 1_85_KEY_MDOWN
+ 2153054257
+ name 1_85_KEY_MLEFT
+ 2153054258
+ name 1_85_KEY_MRIGHT
+ 2153054259
+ name 0_86_KEY_0
+ 5636096
+ name 0_86_KEY_1
+ 5636097
+ name 0_86_KEY_2
+ 5636098
+ name 0_86_KEY_3
+ 5636099
+ name 0_86_KEY_4
+ 5636100
+ name 0_86_KEY_5
+ 5636101
+ name 0_86_KEY_6
+ 5636102
+ name 0_86_KEY_7
+ 5636103
+ name 0_86_KEY_8
+ 5636104
+ name 0_86_KEY_9
+ 5636105
+ name 0_86_KEY_POWER
+ 5636106
+ name 0_86_KEY_CH_UP
+ 5636111
+ name 0_86_KEY_CH_DOWN
+ 5636112
+ name 0_86_KEY_MUTE
+ 5636113
+ name 0_86_KEY_VOL_DOWN
+ 5636114
+ name 0_86_CH_PREVIOUS
+ 5636115
+ name 0_86_KEY_VOL_UP
+ 5636116
+ name 0_86_KEY_DISPLAY
+ 5636117
+ name 0_86_KEY_MNSELECT
+ 5636119
+ name 0_86_KEY_EXIT
+ 5636120
+ name 0_86_KEY_INPUT
+ 5636122
+ name 0_86_KEY_GUIDE
+ 5636123
+ name 0_86_KEY_FAV
+ 5636125
+ name 0_86_KEY_ENTER
+ 5636139
+ name 0_86_KEY_MENU
+ 5636143
+ name 0_86_KEY_MUP
+ 5636144
+ name 0_86_KEY_MDOWN
+ 5636145
+ name 0_86_KEY_MLEFT
+ 5636146
+ name 0_86_KEY_MRIGHT
+ 5636147
+ name 0_86_KEY_FF
+ 5636148
+ name 0_86_KEY_PLAY
+ 5636149
+ name 0_86_KEY_REW
+ 5636150
+ name 0_86_KEY_REC
+ 5636151
+ name 0_86_KEY_PAUSE
+ 5636152
+ name 0_86_KEY_STOP
+ 5636153
+ name 1_86_KEY_0
+ 2153119744
+ name 1_86_KEY_1
+ 2153119745
+ name 1_86_KEY_2
+ 2153119746
+ name 1_86_KEY_3
+ 2153119747
+ name 1_86_KEY_4
+ 2153119748
+ name 1_86_KEY_5
+ 2153119749
+ name 1_86_KEY_6
+ 2153119750
+ name 1_86_KEY_7
+ 2153119751
+ name 1_86_KEY_8
+ 2153119752
+ name 1_86_KEY_9
+ 2153119753
+ name 1_86_KEY_POWER
+ 2153119754
+ name 1_86_KEY_CH_UP
+ 2153119759
+ name 1_86_KEY_CH_DOWN
+ 2153119760
+ name 1_86_CH_PREVIOUS
+ 2153119763
+ name 1_86_KEY_DISPLAY
+ 2153119765
+ name 1_86_KEY_EXIT
+ 2153119768
+ name 1_86_KEY_AV
+ 2153119785
+ name 1_86_KEY_ENTER
+ 2153119787
+ name 1_86_KEY_MENU
+ 2153119791
+ name 1_86_KEY_MUP
+ 2153119792
+ name 1_86_KEY_MDOWN
+ 2153119793
+ name 1_86_KEY_MLEFT
+ 2153119794
+ name 1_86_KEY_MRIGHT
+ 2153119795
+ name 0_87_KEY_0
+ 5701632
+ name 0_87_KEY_1
+ 5701633
+ name 0_87_KEY_2
+ 5701634
+ name 0_87_KEY_3
+ 5701635
+ name 0_87_KEY_4
+ 5701636
+ name 0_87_KEY_5
+ 5701637
+ name 0_87_KEY_6
+ 5701638
+ name 0_87_KEY_7
+ 5701639
+ name 0_87_KEY_8
+ 5701640
+ name 0_87_KEY_9
+ 5701641
+ name 0_87_KEY_POWER
+ 5701642
+ name 0_87_KEY_CH_UP
+ 5701647
+ name 0_87_KEY_CH_DOWN
+ 5701648
+ name 0_87_KEY_MUTE
+ 5701649
+ name 0_87_KEY_VOL_DOWN
+ 5701650
+ name 0_87_CH_PREVIOUS
+ 5701651
+ name 0_87_KEY_VOL_UP
+ 5701652
+ name 0_87_KEY_DISPLAY
+ 5701653
+ name 0_87_KEY_MNSELECT
+ 5701655
+ name 0_87_KEY_EXIT
+ 5701656
+ name 0_87_KEY_INPUT
+ 5701658
+ name 0_87_KEY_GUIDE
+ 5701659
+ name 0_87_KEY_FAV
+ 5701661
+ name 0_87_KEY_MENU
+ 5701679
+ name 0_87_KEY_MUP
+ 5701680
+ name 0_87_KEY_MDOWN
+ 5701681
+ name 0_87_KEY_MLEFT
+ 5701682
+ name 0_87_KEY_MRIGHT
+ 5701683
+ name 0_87_KEY_FF
+ 5701684
+ name 0_87_KEY_PLAY
+ 5701685
+ name 0_87_KEY_REW
+ 5701686
+ name 0_87_KEY_REC
+ 5701687
+ name 0_87_KEY_PAUSE
+ 5701688
+ name 0_87_KEY_STOP
+ 5701689
+ name 1_87_KEY_0
+ 2153185280
+ name 1_87_KEY_1
+ 2153185281
+ name 1_87_KEY_2
+ 2153185282
+ name 1_87_KEY_3
+ 2153185283
+ name 1_87_KEY_4
+ 2153185284
+ name 1_87_KEY_5
+ 2153185285
+ name 1_87_KEY_6
+ 2153185286
+ name 1_87_KEY_7
+ 2153185287
+ name 1_87_KEY_8
+ 2153185288
+ name 1_87_KEY_9
+ 2153185289
+ name 1_87_KEY_POWER
+ 2153185290
+ name 1_87_KEY_CH_UP
+ 2153185295
+ name 1_87_KEY_CH_DOWN
+ 2153185296
+ name 1_87_CH_PREVIOUS
+ 2153185299
+ name 1_87_KEY_DISPLAY
+ 2153185301
+ name 1_87_KEY_EXIT
+ 2153185304
+ name 1_87_KEY_AV
+ 2153185321
+ name 1_87_KEY_MENU
+ 2153185327
+ name 1_87_KEY_MUP
+ 2153185328
+ name 1_87_KEY_MDOWN
+ 2153185329
+ name 1_87_KEY_MLEFT
+ 2153185330
+ name 1_87_KEY_MRIGHT
+ 2153185331
+ name 0_88_KEY_0
+ 5767168
+ name 0_88_KEY_1
+ 5767169
+ name 0_88_KEY_2
+ 5767170
+ name 0_88_KEY_3
+ 5767171
+ name 0_88_KEY_4
+ 5767172
+ name 0_88_KEY_5
+ 5767173
+ name 0_88_KEY_6
+ 5767174
+ name 0_88_KEY_7
+ 5767175
+ name 0_88_KEY_8
+ 5767176
+ name 0_88_KEY_9
+ 5767177
+ name 0_88_KEY_POWER
+ 5767178
+ name 0_88_KEY_CH_UP
+ 5767183
+ name 0_88_KEY_CH_DOWN
+ 5767184
+ name 0_88_KEY_MUTE
+ 5767185
+ name 0_88_KEY_VOL_DOWN
+ 5767186
+ name 0_88_CH_PREVIOUS
+ 5767187
+ name 0_88_KEY_VOL_UP
+ 5767188
+ name 0_88_KEY_DISPLAY
+ 5767189
+ name 0_88_KEY_MNSELECT
+ 5767191
+ name 0_88_KEY_EXIT
+ 5767192
+ name 0_88_KEY_INPUT
+ 5767194
+ name 0_88_KEY_GUIDE
+ 5767195
+ name 0_88_KEY_FAV
+ 5767197
+ name 0_88_KEY_MENU
+ 5767215
+ name 0_88_KEY_MUP
+ 5767216
+ name 0_88_KEY_MDOWN
+ 5767217
+ name 0_88_KEY_MLEFT
+ 5767218
+ name 0_88_KEY_MRIGHT
+ 5767219
+ name 0_88_KEY_FF
+ 5767220
+ name 0_88_KEY_PLAY
+ 5767221
+ name 0_88_KEY_REW
+ 5767222
+ name 0_88_KEY_REC
+ 5767223
+ name 0_88_KEY_PAUSE
+ 5767224
+ name 0_88_KEY_STOP
+ 5767225
+ name 1_88_KEY_0
+ 2153250816
+ name 1_88_KEY_1
+ 2153250817
+ name 1_88_KEY_2
+ 2153250818
+ name 1_88_KEY_3
+ 2153250819
+ name 1_88_KEY_4
+ 2153250820
+ name 1_88_KEY_5
+ 2153250821
+ name 1_88_KEY_6
+ 2153250822
+ name 1_88_KEY_7
+ 2153250823
+ name 1_88_KEY_8
+ 2153250824
+ name 1_88_KEY_9
+ 2153250825
+ name 1_88_KEY_POWER
+ 2153250826
+ name 1_88_KEY_CH_UP
+ 2153250831
+ name 1_88_KEY_CH_DOWN
+ 2153250832
+ name 1_88_CH_PREVIOUS
+ 2153250835
+ name 1_88_KEY_EXIT
+ 2153250840
+ name 1_88_KEY_SELECT
+ 2153250846
+ name 1_88_KEY_AV
+ 2153250857
+ name 1_88_KEY_ENTER
+ 2153250859
+ name 1_88_KEY_MENU
+ 2153250863
+ name 1_88_KEY_MUP
+ 2153250864
+ name 1_88_KEY_MDOWN
+ 2153250865
+ name 1_88_KEY_MLEFT
+ 2153250866
+ name 1_88_KEY_MRIGHT
+ 2153250867
+ name 0_89_KEY_0
+ 5832704
+ name 0_89_KEY_1
+ 5832705
+ name 0_89_KEY_2
+ 5832706
+ name 0_89_KEY_3
+ 5832707
+ name 0_89_KEY_4
+ 5832708
+ name 0_89_KEY_5
+ 5832709
+ name 0_89_KEY_6
+ 5832710
+ name 0_89_KEY_7
+ 5832711
+ name 0_89_KEY_8
+ 5832712
+ name 0_89_KEY_9
+ 5832713
+ name 0_89_KEY_POWER
+ 5832714
+ name 0_89_KEY_CH_UP
+ 5832719
+ name 0_89_KEY_CH_DOWN
+ 5832720
+ name 0_89_KEY_MUTE
+ 5832721
+ name 0_89_KEY_VOL_DOWN
+ 5832722
+ name 0_89_CH_PREVIOUS
+ 5832723
+ name 0_89_KEY_VOL_UP
+ 5832724
+ name 0_89_KEY_DISPLAY
+ 5832725
+ name 0_89_KEY_MNSELECT
+ 5832727
+ name 0_89_KEY_EXIT
+ 5832728
+ name 0_89_KEY_INPUT
+ 5832730
+ name 0_89_KEY_GUIDE
+ 5832731
+ name 0_89_KEY_FAV
+ 5832733
+ name 0_89_KEY_MENU
+ 5832751
+ name 0_89_KEY_MUP
+ 5832752
+ name 0_89_KEY_MDOWN
+ 5832753
+ name 0_89_KEY_MLEFT
+ 5832754
+ name 0_89_KEY_MRIGHT
+ 5832755
+ name 1_89_KEY_POWER
+ 2153316362
+ name 1_89_KEY_CH_UP
+ 2153316367
+ name 1_89_KEY_CH_DOWN
+ 2153316368
+ name 1_89_KEY_DISPLAY
+ 2153316373
+ name 1_89_KEY_EXIT
+ 2153316376
+ name 1_89_KEY_GUIDE
+ 2153316379
+ name 1_89_KEY_SELECT
+ 2153316382
+ name 1_89_KEY_ENTER
+ 2153316395
+ name 1_89_KEY_MENU
+ 2153316399
+ name 1_89_KEY_MUP
+ 2153316400
+ name 1_89_KEY_MDOWN
+ 2153316401
+ name 1_89_KEY_MLEFT
+ 2153316402
+ name 1_89_KEY_MRIGHT
+ 2153316403
+ name 0_90_KEY_0
+ 5898240
+ name 0_90_KEY_1
+ 5898241
+ name 0_90_KEY_2
+ 5898242
+ name 0_90_KEY_3
+ 5898243
+ name 0_90_KEY_4
+ 5898244
+ name 0_90_KEY_5
+ 5898245
+ name 0_90_KEY_6
+ 5898246
+ name 0_90_KEY_7
+ 5898247
+ name 0_90_KEY_8
+ 5898248
+ name 0_90_KEY_9
+ 5898249
+ name 0_90_KEY_POWER
+ 5898250
+ name 0_90_KEY_CH_UP
+ 5898255
+ name 0_90_KEY_CH_DOWN
+ 5898256
+ name 0_90_KEY_MUTE
+ 5898257
+ name 0_90_KEY_VOL_DOWN
+ 5898258
+ name 0_90_CH_PREVIOUS
+ 5898259
+ name 0_90_KEY_VOL_UP
+ 5898260
+ name 0_90_KEY_DISPLAY
+ 5898261
+ name 0_90_KEY_MNSELECT
+ 5898263
+ name 0_90_KEY_EXIT
+ 5898264
+ name 0_90_KEY_INPUT
+ 5898266
+ name 0_90_KEY_GUIDE
+ 5898267
+ name 0_90_KEY_FAV
+ 5898269
+ name 0_90_KEY_MENU
+ 5898287
+ name 0_90_KEY_MUP
+ 5898288
+ name 0_90_KEY_MDOWN
+ 5898289
+ name 0_90_KEY_MLEFT
+ 5898290
+ name 0_90_KEY_MRIGHT
+ 5898291
+ name 0_90_KEY_FF
+ 5898292
+ name 0_90_KEY_PLAY
+ 5898293
+ name 0_90_KEY_REW
+ 5898294
+ name 0_90_KEY_REC
+ 5898295
+ name 0_90_KEY_PAUSE
+ 5898296
+ name 0_90_KEY_STOP
+ 5898297
+ name 1_90_KEY_0
+ 2153381888
+ name 1_90_KEY_1
+ 2153381889
+ name 1_90_KEY_2
+ 2153381890
+ name 1_90_KEY_3
+ 2153381891
+ name 1_90_KEY_4
+ 2153381892
+ name 1_90_KEY_5
+ 2153381893
+ name 1_90_KEY_6
+ 2153381894
+ name 1_90_KEY_7
+ 2153381895
+ name 1_90_KEY_8
+ 2153381896
+ name 1_90_KEY_9
+ 2153381897
+ name 1_90_KEY_POWER
+ 2153381898
+ name 1_90_KEY_CH_UP
+ 2153381903
+ name 1_90_KEY_CH_DOWN
+ 2153381904
+ name 1_90_CH_PREVIOUS
+ 2153381907
+ name 1_90_KEY_DISPLAY
+ 2153381909
+ name 1_90_KEY_AV
+ 2153381929
+ name 1_90_KEY_ENTER
+ 2153381931
+ name 1_90_KEY_MENU
+ 2153381935
+ name 1_90_KEY_MUP
+ 2153381936
+ name 1_90_KEY_MDOWN
+ 2153381937
+ name 1_90_KEY_MLEFT
+ 2153381938
+ name 1_90_KEY_MRIGHT
+ 2153381939
+ name 0_91_KEY_0
+ 5963776
+ name 0_91_KEY_1
+ 5963777
+ name 0_91_KEY_2
+ 5963778
+ name 0_91_KEY_3
+ 5963779
+ name 0_91_KEY_4
+ 5963780
+ name 0_91_KEY_5
+ 5963781
+ name 0_91_KEY_6
+ 5963782
+ name 0_91_KEY_7
+ 5963783
+ name 0_91_KEY_8
+ 5963784
+ name 0_91_KEY_9
+ 5963785
+ name 0_91_KEY_POWER
+ 5963786
+ name 0_91_KEY_CH_UP
+ 5963791
+ name 0_91_KEY_CH_DOWN
+ 5963792
+ name 0_91_KEY_MUTE
+ 5963793
+ name 0_91_KEY_VOL_DOWN
+ 5963794
+ name 0_91_CH_PREVIOUS
+ 5963795
+ name 0_91_KEY_VOL_UP
+ 5963796
+ name 0_91_KEY_DISPLAY
+ 5963797
+ name 0_91_KEY_MNSELECT
+ 5963799
+ name 0_91_KEY_EXIT
+ 5963800
+ name 0_91_KEY_INPUT
+ 5963802
+ name 0_91_KEY_GUIDE
+ 5963803
+ name 0_91_KEY_FAV
+ 5963805
+ name 0_91_KEY_MENU
+ 5963823
+ name 0_91_KEY_MUP
+ 5963824
+ name 0_91_KEY_MDOWN
+ 5963825
+ name 0_91_KEY_MLEFT
+ 5963826
+ name 0_91_KEY_MRIGHT
+ 5963827
+ name 0_91_KEY_FF
+ 5963828
+ name 0_91_KEY_PLAY
+ 5963829
+ name 0_91_KEY_REW
+ 5963830
+ name 0_91_KEY_REC
+ 5963831
+ name 0_91_KEY_PAUSE
+ 5963832
+ name 0_91_KEY_STOP
+ 5963833
+ name 1_91_KEY_0
+ 2153447424
+ name 1_91_KEY_1
+ 2153447425
+ name 1_91_KEY_2
+ 2153447426
+ name 1_91_KEY_3
+ 2153447427
+ name 1_91_KEY_4
+ 2153447428
+ name 1_91_KEY_5
+ 2153447429
+ name 1_91_KEY_6
+ 2153447430
+ name 1_91_KEY_7
+ 2153447431
+ name 1_91_KEY_8
+ 2153447432
+ name 1_91_KEY_9
+ 2153447433
+ name 1_91_KEY_POWER
+ 2153447434
+ name 1_91_KEY_CH_UP
+ 2153447439
+ name 1_91_KEY_CH_DOWN
+ 2153447440
+ name 1_91_CH_PREVIOUS
+ 2153447443
+ name 1_91_KEY_DISPLAY
+ 2153447445
+ name 1_91_KEY_EXIT
+ 2153447448
+ name 1_91_KEY_AV
+ 2153447465
+ name 1_91_KEY_ENTER
+ 2153447467
+ name 1_91_KEY_MENU
+ 2153447471
+ name 1_91_KEY_MUP
+ 2153447472
+ name 1_91_KEY_MDOWN
+ 2153447473
+ name 1_91_KEY_MLEFT
+ 2153447474
+ name 1_91_KEY_MRIGHT
+ 2153447475
+ name 0_92_KEY_0
+ 6029312
+ name 0_92_KEY_1
+ 6029313
+ name 0_92_KEY_2
+ 6029314
+ name 0_92_KEY_3
+ 6029315
+ name 0_92_KEY_4
+ 6029316
+ name 0_92_KEY_5
+ 6029317
+ name 0_92_KEY_6
+ 6029318
+ name 0_92_KEY_7
+ 6029319
+ name 0_92_KEY_8
+ 6029320
+ name 0_92_KEY_9
+ 6029321
+ name 0_92_KEY_POWER
+ 6029322
+ name 0_92_KEY_CH_UP
+ 6029327
+ name 0_92_KEY_CH_DOWN
+ 6029328
+ name 0_92_KEY_MUTE
+ 6029329
+ name 0_92_KEY_VOL_DOWN
+ 6029330
+ name 0_92_CH_PREVIOUS
+ 6029331
+ name 0_92_KEY_VOL_UP
+ 6029332
+ name 0_92_KEY_DISPLAY
+ 6029333
+ name 0_92_KEY_MNSELECT
+ 6029335
+ name 0_92_KEY_EXIT
+ 6029336
+ name 0_92_KEY_INPUT
+ 6029338
+ name 0_92_KEY_GUIDE
+ 6029339
+ name 0_92_KEY_FAV
+ 6029341
+ name 0_92_KEY_MENU
+ 6029359
+ name 0_92_KEY_MUP
+ 6029360
+ name 0_92_KEY_MDOWN
+ 6029361
+ name 0_92_KEY_MLEFT
+ 6029362
+ name 0_92_KEY_MRIGHT
+ 6029363
+ name 0_92_KEY_FF
+ 6029364
+ name 0_92_KEY_PLAY
+ 6029365
+ name 0_92_KEY_REW
+ 6029366
+ name 0_92_KEY_REC
+ 6029367
+ name 0_92_KEY_PAUSE
+ 6029368
+ name 0_92_KEY_STOP
+ 6029369
+ name 1_92_KEY_0
+ 2153512960
+ name 1_92_KEY_1
+ 2153512961
+ name 1_92_KEY_2
+ 2153512962
+ name 1_92_KEY_3
+ 2153512963
+ name 1_92_KEY_4
+ 2153512964
+ name 1_92_KEY_5
+ 2153512965
+ name 1_92_KEY_6
+ 2153512966
+ name 1_92_KEY_7
+ 2153512967
+ name 1_92_KEY_8
+ 2153512968
+ name 1_92_KEY_9
+ 2153512969
+ name 1_92_KEY_POWER
+ 2153512970
+ name 1_92_KEY_CH_UP
+ 2153512975
+ name 1_92_KEY_CH_DOWN
+ 2153512976
+ name 1_92_CH_PREVIOUS
+ 2153512979
+ name 1_92_KEY_DISPLAY
+ 2153512981
+ name 1_92_KEY_EXIT
+ 2153512984
+ name 1_92_KEY_INPUT
+ 2153512986
+ name 1_92_KEY_GUIDE
+ 2153512987
+ name 1_92_KEY_SELECT
+ 2153512990
+ name 1_92_KEY_AV
+ 2153513001
+ name 1_92_KEY_SAT
+ 2153513002
+ name 1_92_KEY_ENTER
+ 2153513003
+ name 1_92_KEY_MENU
+ 2153513007
+ name 1_92_KEY_MUP
+ 2153513008
+ name 1_92_KEY_MDOWN
+ 2153513009
+ name 1_92_KEY_MLEFT
+ 2153513010
+ name 1_92_KEY_MRIGHT
+ 2153513011
+ name 0_93_KEY_0
+ 6094848
+ name 0_93_KEY_1
+ 6094849
+ name 0_93_KEY_2
+ 6094850
+ name 0_93_KEY_3
+ 6094851
+ name 0_93_KEY_4
+ 6094852
+ name 0_93_KEY_5
+ 6094853
+ name 0_93_KEY_6
+ 6094854
+ name 0_93_KEY_7
+ 6094855
+ name 0_93_KEY_8
+ 6094856
+ name 0_93_KEY_9
+ 6094857
+ name 0_93_KEY_POWER
+ 6094858
+ name 0_93_KEY_CH_UP
+ 6094863
+ name 0_93_KEY_CH_DOWN
+ 6094864
+ name 0_93_KEY_MUTE
+ 6094865
+ name 0_93_KEY_VOL_DOWN
+ 6094866
+ name 0_93_CH_PREVIOUS
+ 6094867
+ name 0_93_KEY_VOL_UP
+ 6094868
+ name 0_93_KEY_DISPLAY
+ 6094869
+ name 0_93_KEY_MNSELECT
+ 6094871
+ name 0_93_KEY_EXIT
+ 6094872
+ name 0_93_KEY_INPUT
+ 6094874
+ name 0_93_KEY_GUIDE
+ 6094875
+ name 0_93_KEY_FAV
+ 6094877
+ name 0_93_KEY_MENU
+ 6094895
+ name 0_93_KEY_MUP
+ 6094896
+ name 0_93_KEY_MDOWN
+ 6094897
+ name 0_93_KEY_MLEFT
+ 6094898
+ name 0_93_KEY_MRIGHT
+ 6094899
+ name 0_93_KEY_FF
+ 6094900
+ name 0_93_KEY_PLAY
+ 6094901
+ name 0_93_KEY_REW
+ 6094902
+ name 0_93_KEY_REC
+ 6094903
+ name 0_93_KEY_PAUSE
+ 6094904
+ name 0_93_KEY_STOP
+ 6094905
+ name 1_93_KEY_0
+ 2153578496
+ name 1_93_KEY_1
+ 2153578497
+ name 1_93_KEY_2
+ 2153578498
+ name 1_93_KEY_3
+ 2153578499
+ name 1_93_KEY_4
+ 2153578500
+ name 1_93_KEY_5
+ 2153578501
+ name 1_93_KEY_6
+ 2153578502
+ name 1_93_KEY_7
+ 2153578503
+ name 1_93_KEY_8
+ 2153578504
+ name 1_93_KEY_9
+ 2153578505
+ name 1_93_KEY_POWER
+ 2153578506
+ name 1_93_KEY_CH_UP
+ 2153578511
+ name 1_93_KEY_CH_DOWN
+ 2153578512
+ name 1_93_CH_PREVIOUS
+ 2153578515
+ name 1_93_KEY_ENTER
+ 2153578539
+ name 0_94_KEY_0
+ 6160384
+ name 0_94_KEY_1
+ 6160385
+ name 0_94_KEY_2
+ 6160386
+ name 0_94_KEY_3
+ 6160387
+ name 0_94_KEY_4
+ 6160388
+ name 0_94_KEY_5
+ 6160389
+ name 0_94_KEY_6
+ 6160390
+ name 0_94_KEY_7
+ 6160391
+ name 0_94_KEY_8
+ 6160392
+ name 0_94_KEY_9
+ 6160393
+ name 0_94_KEY_POWER
+ 6160394
+ name 0_94_KEY_CH_UP
+ 6160399
+ name 0_94_KEY_CH_DOWN
+ 6160400
+ name 0_94_KEY_MUTE
+ 6160401
+ name 0_94_KEY_VOL_DOWN
+ 6160402
+ name 0_94_CH_PREVIOUS
+ 6160403
+ name 0_94_KEY_VOL_UP
+ 6160404
+ name 0_94_KEY_DISPLAY
+ 6160405
+ name 0_94_KEY_MNSELECT
+ 6160407
+ name 0_94_KEY_EXIT
+ 6160408
+ name 0_94_KEY_INPUT
+ 6160410
+ name 0_94_KEY_GUIDE
+ 6160411
+ name 0_94_KEY_FAV
+ 6160413
+ name 0_94_KEY_MENU
+ 6160431
+ name 0_94_KEY_MUP
+ 6160432
+ name 0_94_KEY_MDOWN
+ 6160433
+ name 0_94_KEY_MLEFT
+ 6160434
+ name 0_94_KEY_MRIGHT
+ 6160435
+ name 0_94_KEY_FF
+ 6160436
+ name 0_94_KEY_PLAY
+ 6160437
+ name 0_94_KEY_REW
+ 6160438
+ name 0_94_KEY_REC
+ 6160439
+ name 0_94_KEY_PAUSE
+ 6160440
+ name 0_94_KEY_STOP
+ 6160441
+ name 1_94_KEY_0
+ 2153644032
+ name 1_94_KEY_1
+ 2153644033
+ name 1_94_KEY_2
+ 2153644034
+ name 1_94_KEY_3
+ 2153644035
+ name 1_94_KEY_4
+ 2153644036
+ name 1_94_KEY_5
+ 2153644037
+ name 1_94_KEY_6
+ 2153644038
+ name 1_94_KEY_7
+ 2153644039
+ name 1_94_KEY_8
+ 2153644040
+ name 1_94_KEY_9
+ 2153644041
+ name 1_94_KEY_POWER
+ 2153644042
+ name 1_94_KEY_CH_UP
+ 2153644047
+ name 1_94_KEY_CH_DOWN
+ 2153644048
+ name 1_94_CH_PREVIOUS
+ 2153644051
+ name 1_94_KEY_ENTER
+ 2153644075
+ name 0_95_KEY_0
+ 6225920
+ name 0_95_KEY_1
+ 6225921
+ name 0_95_KEY_2
+ 6225922
+ name 0_95_KEY_3
+ 6225923
+ name 0_95_KEY_4
+ 6225924
+ name 0_95_KEY_5
+ 6225925
+ name 0_95_KEY_6
+ 6225926
+ name 0_95_KEY_7
+ 6225927
+ name 0_95_KEY_8
+ 6225928
+ name 0_95_KEY_9
+ 6225929
+ name 0_95_KEY_POWER
+ 6225930
+ name 0_95_KEY_CH_UP
+ 6225935
+ name 0_95_KEY_CH_DOWN
+ 6225936
+ name 0_95_KEY_MUTE
+ 6225937
+ name 0_95_KEY_VOL_DOWN
+ 6225938
+ name 0_95_CH_PREVIOUS
+ 6225939
+ name 0_95_KEY_VOL_UP
+ 6225940
+ name 0_95_KEY_DISPLAY
+ 6225941
+ name 0_95_KEY_MNSELECT
+ 6225943
+ name 0_95_KEY_EXIT
+ 6225944
+ name 0_95_KEY_INPUT
+ 6225946
+ name 0_95_KEY_GUIDE
+ 6225947
+ name 0_95_KEY_ENTER
+ 6225963
+ name 0_95_KEY_MENU
+ 6225967
+ name 0_95_KEY_MUP
+ 6225968
+ name 0_95_KEY_MDOWN
+ 6225969
+ name 0_95_KEY_MLEFT
+ 6225970
+ name 0_95_KEY_MRIGHT
+ 6225971
+ name 0_95_KEY_FF
+ 6225972
+ name 0_95_KEY_PLAY
+ 6225973
+ name 0_95_KEY_REW
+ 6225974
+ name 0_95_KEY_REC
+ 6225975
+ name 0_95_KEY_PAUSE
+ 6225976
+ name 0_95_KEY_STOP
+ 6225977
+ name 1_95_KEY_0
+ 2153709568
+ name 1_95_KEY_1
+ 2153709569
+ name 1_95_KEY_2
+ 2153709570
+ name 1_95_KEY_3
+ 2153709571
+ name 1_95_KEY_4
+ 2153709572
+ name 1_95_KEY_5
+ 2153709573
+ name 1_95_KEY_6
+ 2153709574
+ name 1_95_KEY_7
+ 2153709575
+ name 1_95_KEY_8
+ 2153709576
+ name 1_95_KEY_9
+ 2153709577
+ name 1_95_KEY_POWER
+ 2153709578
+ name 1_95_KEY_CH_UP
+ 2153709583
+ name 1_95_KEY_CH_DOWN
+ 2153709584
+ name 0_96_KEY_0
+ 6291456
+ name 0_96_KEY_1
+ 6291457
+ name 0_96_KEY_2
+ 6291458
+ name 0_96_KEY_3
+ 6291459
+ name 0_96_KEY_4
+ 6291460
+ name 0_96_KEY_5
+ 6291461
+ name 0_96_KEY_6
+ 6291462
+ name 0_96_KEY_7
+ 6291463
+ name 0_96_KEY_8
+ 6291464
+ name 0_96_KEY_9
+ 6291465
+ name 0_96_KEY_POWER
+ 6291466
+ name 0_96_KEY_CH_UP
+ 6291471
+ name 0_96_KEY_CH_DOWN
+ 6291472
+ name 0_96_KEY_MUTE
+ 6291473
+ name 0_96_KEY_VOL_DOWN
+ 6291474
+ name 0_96_CH_PREVIOUS
+ 6291475
+ name 0_96_KEY_VOL_UP
+ 6291476
+ name 0_96_KEY_DISPLAY
+ 6291477
+ name 0_96_KEY_MNSELECT
+ 6291479
+ name 0_96_KEY_INPUT
+ 6291482
+ name 0_96_KEY_GUIDE
+ 6291483
+ name 0_96_KEY_MENU
+ 6291503
+ name 0_96_KEY_MUP
+ 6291504
+ name 0_96_KEY_MDOWN
+ 6291505
+ name 0_96_KEY_MLEFT
+ 6291506
+ name 0_96_KEY_MRIGHT
+ 6291507
+ name 0_96_KEY_FF
+ 6291508
+ name 0_96_KEY_REW
+ 6291510
+ name 0_96_KEY_PAUSE
+ 6291512
+ name 1_96_KEY_0
+ 2153775104
+ name 1_96_KEY_1
+ 2153775105
+ name 1_96_KEY_2
+ 2153775106
+ name 1_96_KEY_3
+ 2153775107
+ name 1_96_KEY_4
+ 2153775108
+ name 1_96_KEY_5
+ 2153775109
+ name 1_96_KEY_6
+ 2153775110
+ name 1_96_KEY_7
+ 2153775111
+ name 1_96_KEY_8
+ 2153775112
+ name 1_96_KEY_9
+ 2153775113
+ name 1_96_KEY_POWER
+ 2153775114
+ name 1_96_KEY_CH_UP
+ 2153775119
+ name 1_96_KEY_CH_DOWN
+ 2153775120
+ name 0_97_KEY_0
+ 6356992
+ name 0_97_KEY_1
+ 6356993
+ name 0_97_KEY_2
+ 6356994
+ name 0_97_KEY_3
+ 6356995
+ name 0_97_KEY_4
+ 6356996
+ name 0_97_KEY_5
+ 6356997
+ name 0_97_KEY_6
+ 6356998
+ name 0_97_KEY_7
+ 6356999
+ name 0_97_KEY_8
+ 6357000
+ name 0_97_KEY_9
+ 6357001
+ name 0_97_KEY_POWER
+ 6357002
+ name 0_97_KEY_CH_UP
+ 6357007
+ name 0_97_KEY_CH_DOWN
+ 6357008
+ name 0_97_KEY_MUTE
+ 6357009
+ name 0_97_KEY_VOL_DOWN
+ 6357010
+ name 0_97_CH_PREVIOUS
+ 6357011
+ name 0_97_KEY_VOL_UP
+ 6357012
+ name 0_97_KEY_DISPLAY
+ 6357013
+ name 0_97_KEY_MNSELECT
+ 6357015
+ name 0_97_KEY_EXIT
+ 6357016
+ name 0_97_KEY_INPUT
+ 6357018
+ name 0_97_KEY_GUIDE
+ 6357019
+ name 0_97_KEY_ENTER
+ 6357035
+ name 0_97_KEY_MENU
+ 6357039
+ name 0_97_KEY_MUP
+ 6357040
+ name 0_97_KEY_MDOWN
+ 6357041
+ name 0_97_KEY_MLEFT
+ 6357042
+ name 0_97_KEY_MRIGHT
+ 6357043
+ name 0_97_KEY_FF
+ 6357044
+ name 0_97_KEY_PLAY
+ 6357045
+ name 0_97_KEY_REW
+ 6357046
+ name 0_97_KEY_REC
+ 6357047
+ name 0_97_KEY_PAUSE
+ 6357048
+ name 0_97_KEY_STOP
+ 6357049
+ name 1_97_KEY_0
+ 2153840640
+ name 1_97_KEY_1
+ 2153840641
+ name 1_97_KEY_2
+ 2153840642
+ name 1_97_KEY_3
+ 2153840643
+ name 1_97_KEY_4
+ 2153840644
+ name 1_97_KEY_5
+ 2153840645
+ name 1_97_KEY_6
+ 2153840646
+ name 1_97_KEY_7
+ 2153840647
+ name 1_97_KEY_8
+ 2153840648
+ name 1_97_KEY_9
+ 2153840649
+ name 1_97_KEY_POWER
+ 2153840650
+ name 1_97_KEY_CH_UP
+ 2153840655
+ name 1_97_KEY_CH_DOWN
+ 2153840656
+ name 1_97_CH_PREVIOUS
+ 2153840659
+ name 1_97_KEY_ENTER
+ 2153840683
+ name 0_98_KEY_0
+ 6422528
+ name 0_98_KEY_1
+ 6422529
+ name 0_98_KEY_2
+ 6422530
+ name 0_98_KEY_3
+ 6422531
+ name 0_98_KEY_4
+ 6422532
+ name 0_98_KEY_5
+ 6422533
+ name 0_98_KEY_6
+ 6422534
+ name 0_98_KEY_7
+ 6422535
+ name 0_98_KEY_8
+ 6422536
+ name 0_98_KEY_9
+ 6422537
+ name 0_98_KEY_POWER
+ 6422538
+ name 0_98_KEY_CH_UP
+ 6422543
+ name 0_98_KEY_CH_DOWN
+ 6422544
+ name 0_98_KEY_MUTE
+ 6422545
+ name 0_98_KEY_VOL_DOWN
+ 6422546
+ name 0_98_CH_PREVIOUS
+ 6422547
+ name 0_98_KEY_VOL_UP
+ 6422548
+ name 0_98_KEY_DISPLAY
+ 6422549
+ name 0_98_KEY_MNSELECT
+ 6422551
+ name 0_98_KEY_EXIT
+ 6422552
+ name 0_98_KEY_INPUT
+ 6422554
+ name 0_98_KEY_GUIDE
+ 6422555
+ name 0_98_KEY_MENU
+ 6422575
+ name 0_98_KEY_MUP
+ 6422576
+ name 0_98_KEY_MDOWN
+ 6422577
+ name 0_98_KEY_MLEFT
+ 6422578
+ name 0_98_KEY_MRIGHT
+ 6422579
+ name 0_98_KEY_FF
+ 6422580
+ name 0_98_KEY_PLAY
+ 6422581
+ name 0_98_KEY_REW
+ 6422582
+ name 0_98_KEY_REC
+ 6422583
+ name 0_98_KEY_PAUSE
+ 6422584
+ name 0_98_KEY_STOP
+ 6422585
+ name 1_98_KEY_0
+ 2153906176
+ name 1_98_KEY_1
+ 2153906177
+ name 1_98_KEY_2
+ 2153906178
+ name 1_98_KEY_3
+ 2153906179
+ name 1_98_KEY_4
+ 2153906180
+ name 1_98_KEY_5
+ 2153906181
+ name 1_98_KEY_6
+ 2153906182
+ name 1_98_KEY_7
+ 2153906183
+ name 1_98_KEY_8
+ 2153906184
+ name 1_98_KEY_9
+ 2153906185
+ name 1_98_KEY_POWER
+ 2153906186
+ name 1_98_KEY_CH_UP
+ 2153906191
+ name 1_98_KEY_CH_DOWN
+ 2153906192
+ name 0_99_KEY_0
+ 6488064
+ name 0_99_KEY_1
+ 6488065
+ name 0_99_KEY_2
+ 6488066
+ name 0_99_KEY_3
+ 6488067
+ name 0_99_KEY_4
+ 6488068
+ name 0_99_KEY_5
+ 6488069
+ name 0_99_KEY_6
+ 6488070
+ name 0_99_KEY_7
+ 6488071
+ name 0_99_KEY_8
+ 6488072
+ name 0_99_KEY_9
+ 6488073
+ name 0_99_KEY_POWER
+ 6488074
+ name 0_99_KEY_CH_UP
+ 6488079
+ name 0_99_KEY_CH_DOWN
+ 6488080
+ name 0_99_CH_PREVIOUS
+ 6488083
+ name 0_99_KEY_DISPLAY
+ 6488085
+ name 0_99_KEY_MNSELECT
+ 6488087
+ name 0_99_KEY_GUIDE
+ 6488091
+ name 0_99_KEY_FAV
+ 6488093
+ name 0_99_KEY_ENTER
+ 6488107
+ name 0_99_KEY_MUP
+ 6488112
+ name 0_99_KEY_MDOWN
+ 6488113
+ name 0_99_KEY_MLEFT
+ 6488114
+ name 0_99_KEY_MRIGHT
+ 6488115
+ name 0_99_KEY_FF
+ 6488116
+ name 0_99_KEY_PLAY
+ 6488117
+ name 0_99_KEY_REW
+ 6488118
+ name 0_99_KEY_REC
+ 6488119
+ name 0_99_KEY_PAUSE
+ 6488120
+ name 0_99_KEY_STOP
+ 6488121
+ name 1_99_KEY_0
+ 2153971712
+ name 1_99_KEY_1
+ 2153971713
+ name 1_99_KEY_2
+ 2153971714
+ name 1_99_KEY_3
+ 2153971715
+ name 1_99_KEY_4
+ 2153971716
+ name 1_99_KEY_5
+ 2153971717
+ name 1_99_KEY_6
+ 2153971718
+ name 1_99_KEY_7
+ 2153971719
+ name 1_99_KEY_8
+ 2153971720
+ name 1_99_KEY_9
+ 2153971721
+ name 1_99_KEY_POWER
+ 2153971722
+ name 1_99_KEY_CH_UP
+ 2153971727
+ name 1_99_KEY_CH_DOWN
+ 2153971728
+ name 0_100_KEY_0
+ 6553600
+ name 0_100_KEY_1
+ 6553601
+ name 0_100_KEY_2
+ 6553602
+ name 0_100_KEY_3
+ 6553603
+ name 0_100_KEY_4
+ 6553604
+ name 0_100_KEY_5
+ 6553605
+ name 0_100_KEY_6
+ 6553606
+ name 0_100_KEY_7
+ 6553607
+ name 0_100_KEY_8
+ 6553608
+ name 0_100_KEY_9
+ 6553609
+ name 0_100_KEY_POWER
+ 6553610
+ name 0_100_KEY_CH_UP
+ 6553615
+ name 0_100_KEY_CH_DOWN
+ 6553616
+ name 0_100_KEY_MUTE
+ 6553617
+ name 0_100_KEY_VOL_DOWN
+ 6553618
+ name 0_100_CH_PREVIOUS
+ 6553619
+ name 0_100_KEY_VOL_UP
+ 6553620
+ name 0_100_KEY_DISPLAY
+ 6553621
+ name 0_100_KEY_MNSELECT
+ 6553623
+ name 0_100_KEY_EXIT
+ 6553624
+ name 0_100_KEY_INPUT
+ 6553626
+ name 0_100_KEY_GUIDE
+ 6553627
+ name 0_100_KEY_ENTER
+ 6553643
+ name 0_100_KEY_MENU
+ 6553647
+ name 0_100_KEY_MUP
+ 6553648
+ name 0_100_KEY_MDOWN
+ 6553649
+ name 0_100_KEY_MLEFT
+ 6553650
+ name 0_100_KEY_MRIGHT
+ 6553651
+ name 0_100_KEY_FF
+ 6553652
+ name 0_100_KEY_PLAY
+ 6553653
+ name 0_100_KEY_REW
+ 6553654
+ name 0_100_KEY_REC
+ 6553655
+ name 0_100_KEY_PAUSE
+ 6553656
+ name 0_100_KEY_STOP
+ 6553657
+ name 1_100_KEY_0
+ 2154037248
+ name 1_100_KEY_1
+ 2154037249
+ name 1_100_KEY_2
+ 2154037250
+ name 1_100_KEY_3
+ 2154037251
+ name 1_100_KEY_4
+ 2154037252
+ name 1_100_KEY_5
+ 2154037253
+ name 1_100_KEY_6
+ 2154037254
+ name 1_100_KEY_7
+ 2154037255
+ name 1_100_KEY_8
+ 2154037256
+ name 1_100_KEY_9
+ 2154037257
+ name 1_100_KEY_POWER
+ 2154037258
+ name 1_100_KEY_CH_UP
+ 2154037263
+ name 1_100_KEY_CH_DOWN
+ 2154037264
+ name 1_100_CH_PREVIOUS
+ 2154037267
+ name 1_100_KEY_ENTER
+ 2154037291
+ name 0_101_KEY_0
+ 6619136
+ name 0_101_KEY_1
+ 6619137
+ name 0_101_KEY_2
+ 6619138
+ name 0_101_KEY_3
+ 6619139
+ name 0_101_KEY_4
+ 6619140
+ name 0_101_KEY_5
+ 6619141
+ name 0_101_KEY_6
+ 6619142
+ name 0_101_KEY_7
+ 6619143
+ name 0_101_KEY_8
+ 6619144
+ name 0_101_KEY_9
+ 6619145
+ name 0_101_KEY_POWER
+ 6619146
+ name 0_101_KEY_CH_UP
+ 6619151
+ name 0_101_KEY_CH_DOWN
+ 6619152
+ name 0_101_KEY_MUTE
+ 6619153
+ name 0_101_KEY_VOL_DOWN
+ 6619154
+ name 0_101_CH_PREVIOUS
+ 6619155
+ name 0_101_KEY_VOL_UP
+ 6619156
+ name 0_101_KEY_DISPLAY
+ 6619157
+ name 0_101_KEY_MNSELECT
+ 6619159
+ name 0_101_KEY_EXIT
+ 6619160
+ name 0_101_KEY_INPUT
+ 6619162
+ name 0_101_KEY_GUIDE
+ 6619163
+ name 0_101_KEY_MENU
+ 6619183
+ name 0_101_KEY_MUP
+ 6619184
+ name 0_101_KEY_MDOWN
+ 6619185
+ name 0_101_KEY_MLEFT
+ 6619186
+ name 0_101_KEY_MRIGHT
+ 6619187
+ name 0_101_KEY_FF
+ 6619188
+ name 0_101_KEY_PLAY
+ 6619189
+ name 0_101_KEY_REW
+ 6619190
+ name 0_101_KEY_REC
+ 6619191
+ name 0_101_KEY_PAUSE
+ 6619192
+ name 0_101_KEY_STOP
+ 6619193
+ name 1_101_KEY_0
+ 2154102784
+ name 1_101_KEY_1
+ 2154102785
+ name 1_101_KEY_2
+ 2154102786
+ name 1_101_KEY_3
+ 2154102787
+ name 1_101_KEY_4
+ 2154102788
+ name 1_101_KEY_5
+ 2154102789
+ name 1_101_KEY_6
+ 2154102790
+ name 1_101_KEY_7
+ 2154102791
+ name 1_101_KEY_8
+ 2154102792
+ name 1_101_KEY_9
+ 2154102793
+ name 1_101_KEY_POWER
+ 2154102794
+ name 1_101_KEY_CH_UP
+ 2154102799
+ name 1_101_KEY_CH_DOWN
+ 2154102800
+ name 1_101_KEY_ENTER
+ 2154102827
+ name 0_102_KEY_0
+ 6684672
+ name 0_102_KEY_1
+ 6684673
+ name 0_102_KEY_2
+ 6684674
+ name 0_102_KEY_3
+ 6684675
+ name 0_102_KEY_4
+ 6684676
+ name 0_102_KEY_5
+ 6684677
+ name 0_102_KEY_6
+ 6684678
+ name 0_102_KEY_7
+ 6684679
+ name 0_102_KEY_8
+ 6684680
+ name 0_102_KEY_9
+ 6684681
+ name 0_102_KEY_POWER
+ 6684682
+ name 0_102_KEY_CH_UP
+ 6684687
+ name 0_102_KEY_CH_DOWN
+ 6684688
+ name 0_102_KEY_MUTE
+ 6684689
+ name 0_102_KEY_VOL_DOWN
+ 6684690
+ name 0_102_CH_PREVIOUS
+ 6684691
+ name 0_102_KEY_VOL_UP
+ 6684692
+ name 0_102_KEY_DISPLAY
+ 6684693
+ name 0_102_KEY_MNSELECT
+ 6684695
+ name 0_102_KEY_INPUT
+ 6684698
+ name 0_102_KEY_GUIDE
+ 6684699
+ name 0_102_KEY_MENU
+ 6684719
+ name 1_102_KEY_0
+ 2154168320
+ name 1_102_KEY_1
+ 2154168321
+ name 1_102_KEY_2
+ 2154168322
+ name 1_102_KEY_3
+ 2154168323
+ name 1_102_KEY_4
+ 2154168324
+ name 1_102_KEY_5
+ 2154168325
+ name 1_102_KEY_6
+ 2154168326
+ name 1_102_KEY_7
+ 2154168327
+ name 1_102_KEY_8
+ 2154168328
+ name 1_102_KEY_9
+ 2154168329
+ name 1_102_KEY_POWER
+ 2154168330
+ name 1_102_KEY_CH_UP
+ 2154168335
+ name 1_102_KEY_CH_DOWN
+ 2154168336
+ name 1_102_CH_PREVIOUS
+ 2154168339
+ name 1_102_KEY_ENTER
+ 2154168363
+ name 0_103_KEY_0
+ 6750208
+ name 0_103_KEY_1
+ 6750209
+ name 0_103_KEY_2
+ 6750210
+ name 0_103_KEY_3
+ 6750211
+ name 0_103_KEY_4
+ 6750212
+ name 0_103_KEY_5
+ 6750213
+ name 0_103_KEY_6
+ 6750214
+ name 0_103_KEY_7
+ 6750215
+ name 0_103_KEY_8
+ 6750216
+ name 0_103_KEY_9
+ 6750217
+ name 0_103_KEY_POWER
+ 6750218
+ name 0_103_KEY_CH_UP
+ 6750223
+ name 0_103_KEY_CH_DOWN
+ 6750224
+ name 0_103_KEY_MUTE
+ 6750225
+ name 0_103_KEY_VOL_DOWN
+ 6750226
+ name 0_103_CH_PREVIOUS
+ 6750227
+ name 0_103_KEY_VOL_UP
+ 6750228
+ name 0_103_KEY_DISPLAY
+ 6750229
+ name 0_103_KEY_MNSELECT
+ 6750231
+ name 0_103_KEY_EXIT
+ 6750232
+ name 0_103_KEY_MENU
+ 6750255
+ name 1_103_KEY_0
+ 2154233856
+ name 1_103_KEY_1
+ 2154233857
+ name 1_103_KEY_2
+ 2154233858
+ name 1_103_KEY_3
+ 2154233859
+ name 1_103_KEY_4
+ 2154233860
+ name 1_103_KEY_5
+ 2154233861
+ name 1_103_KEY_6
+ 2154233862
+ name 1_103_KEY_7
+ 2154233863
+ name 1_103_KEY_8
+ 2154233864
+ name 1_103_KEY_9
+ 2154233865
+ name 1_103_KEY_POWER
+ 2154233866
+ name 1_103_KEY_CH_UP
+ 2154233871
+ name 1_103_KEY_CH_DOWN
+ 2154233872
+ name 1_103_CH_PREVIOUS
+ 2154233875
+ name 1_103_KEY_ENTER
+ 2154233899
+ name 0_104_KEY_0
+ 6815744
+ name 0_104_KEY_1
+ 6815745
+ name 0_104_KEY_2
+ 6815746
+ name 0_104_KEY_3
+ 6815747
+ name 0_104_KEY_4
+ 6815748
+ name 0_104_KEY_5
+ 6815749
+ name 0_104_KEY_6
+ 6815750
+ name 0_104_KEY_7
+ 6815751
+ name 0_104_KEY_8
+ 6815752
+ name 0_104_KEY_9
+ 6815753
+ name 0_104_KEY_POWER
+ 6815754
+ name 0_104_KEY_CH_UP
+ 6815759
+ name 0_104_KEY_CH_DOWN
+ 6815760
+ name 0_104_KEY_MUTE
+ 6815761
+ name 0_104_KEY_VOL_DOWN
+ 6815762
+ name 0_104_CH_PREVIOUS
+ 6815763
+ name 0_104_KEY_VOL_UP
+ 6815764
+ name 0_104_KEY_DISPLAY
+ 6815765
+ name 0_104_KEY_MNSELECT
+ 6815767
+ name 0_104_KEY_EXIT
+ 6815768
+ name 0_104_KEY_INPUT
+ 6815770
+ name 0_104_KEY_GUIDE
+ 6815771
+ name 0_104_KEY_ENTER
+ 6815787
+ name 0_104_KEY_MENU
+ 6815791
+ name 0_104_KEY_MUP
+ 6815792
+ name 0_104_KEY_MDOWN
+ 6815793
+ name 0_104_KEY_MLEFT
+ 6815794
+ name 0_104_KEY_MRIGHT
+ 6815795
+ name 1_104_KEY_0
+ 2154299392
+ name 1_104_KEY_1
+ 2154299393
+ name 1_104_KEY_2
+ 2154299394
+ name 1_104_KEY_3
+ 2154299395
+ name 1_104_KEY_4
+ 2154299396
+ name 1_104_KEY_5
+ 2154299397
+ name 1_104_KEY_6
+ 2154299398
+ name 1_104_KEY_7
+ 2154299399
+ name 1_104_KEY_8
+ 2154299400
+ name 1_104_KEY_9
+ 2154299401
+ name 1_104_KEY_POWER
+ 2154299402
+ name 1_104_KEY_CH_UP
+ 2154299407
+ name 1_104_KEY_CH_DOWN
+ 2154299408
+ name 1_104_CH_PREVIOUS
+ 2154299411
+ name 1_104_KEY_ENTER
+ 2154299435
+ name 0_105_KEY_0
+ 6881280
+ name 0_105_KEY_1
+ 6881281
+ name 0_105_KEY_2
+ 6881282
+ name 0_105_KEY_3
+ 6881283
+ name 0_105_KEY_4
+ 6881284
+ name 0_105_KEY_5
+ 6881285
+ name 0_105_KEY_6
+ 6881286
+ name 0_105_KEY_7
+ 6881287
+ name 0_105_KEY_8
+ 6881288
+ name 0_105_KEY_9
+ 6881289
+ name 0_105_KEY_POWER
+ 6881290
+ name 0_105_KEY_CH_UP
+ 6881295
+ name 0_105_KEY_CH_DOWN
+ 6881296
+ name 0_105_KEY_MUTE
+ 6881297
+ name 0_105_KEY_VOL_DOWN
+ 6881298
+ name 0_105_CH_PREVIOUS
+ 6881299
+ name 0_105_KEY_VOL_UP
+ 6881300
+ name 0_105_KEY_INPUT
+ 6881306
+ name 1_105_KEY_0
+ 2154364928
+ name 1_105_KEY_1
+ 2154364929
+ name 1_105_KEY_2
+ 2154364930
+ name 1_105_KEY_3
+ 2154364931
+ name 1_105_KEY_4
+ 2154364932
+ name 1_105_KEY_5
+ 2154364933
+ name 1_105_KEY_6
+ 2154364934
+ name 1_105_KEY_7
+ 2154364935
+ name 1_105_KEY_8
+ 2154364936
+ name 1_105_KEY_9
+ 2154364937
+ name 1_105_KEY_POWER
+ 2154364938
+ name 1_105_KEY_CH_UP
+ 2154364943
+ name 1_105_KEY_CH_DOWN
+ 2154364944
+ name 1_105_KEY_MUTE
+ 2154364945
+ name 1_105_KEY_VOL_DOWN
+ 2154364946
+ name 1_105_CH_PREVIOUS
+ 2154364947
+ name 1_105_KEY_VOL_UP
+ 2154364948
+ name 1_105_KEY_DISPLAY
+ 2154364949
+ name 1_105_KEY_EXIT
+ 2154364952
+ name 1_105_KEY_INPUT
+ 2154364954
+ name 1_105_KEY_GUIDE
+ 2154364955
+ name 1_105_KEY_SELECT
+ 2154364958
+ name 1_105_KEY_AV
+ 2154364969
+ name 1_105_KEY_SAT
+ 2154364970
+ name 1_105_KEY_ENTER
+ 2154364971
+ name 1_105_KEY_MENU
+ 2154364975
+ name 1_105_KEY_MUP
+ 2154364976
+ name 1_105_KEY_MDOWN
+ 2154364977
+ name 1_105_KEY_MLEFT
+ 2154364978
+ name 1_105_KEY_MRIGHT
+ 2154364979
+ name 1_105_KEY_FF
+ 2154364980
+ name 1_105_KEY_PLAY
+ 2154364981
+ name 1_105_KEY_REW
+ 2154364982
+ name 1_105_KEY_REC
+ 2154364983
+ name 1_105_KEY_PAUSE
+ 2154364984
+ name 1_105_KEY_STOP
+ 2154364985
+ name 0_106_KEY_0
+ 6946816
+ name 0_106_KEY_1
+ 6946817
+ name 0_106_KEY_2
+ 6946818
+ name 0_106_KEY_3
+ 6946819
+ name 0_106_KEY_4
+ 6946820
+ name 0_106_KEY_5
+ 6946821
+ name 0_106_KEY_6
+ 6946822
+ name 0_106_KEY_7
+ 6946823
+ name 0_106_KEY_8
+ 6946824
+ name 0_106_KEY_9
+ 6946825
+ name 0_106_KEY_POWER
+ 6946826
+ name 0_106_KEY_CH_UP
+ 6946831
+ name 0_106_KEY_CH_DOWN
+ 6946832
+ name 0_106_KEY_MUTE
+ 6946833
+ name 0_106_KEY_VOL_DOWN
+ 6946834
+ name 0_106_CH_PREVIOUS
+ 6946835
+ name 0_106_KEY_VOL_UP
+ 6946836
+ name 0_106_KEY_DISPLAY
+ 6946837
+ name 0_106_KEY_MNSELECT
+ 6946839
+ name 0_106_KEY_EXIT
+ 6946840
+ name 0_106_KEY_INPUT
+ 6946842
+ name 0_106_KEY_GUIDE
+ 6946843
+ name 0_106_KEY_ENTER
+ 6946859
+ name 0_106_KEY_MUP
+ 6946864
+ name 0_106_KEY_MDOWN
+ 6946865
+ name 0_106_KEY_MLEFT
+ 6946866
+ name 0_106_KEY_MRIGHT
+ 6946867
+ name 1_106_KEY_0
+ 2154430464
+ name 1_106_KEY_1
+ 2154430465
+ name 1_106_KEY_2
+ 2154430466
+ name 1_106_KEY_3
+ 2154430467
+ name 1_106_KEY_4
+ 2154430468
+ name 1_106_KEY_5
+ 2154430469
+ name 1_106_KEY_6
+ 2154430470
+ name 1_106_KEY_7
+ 2154430471
+ name 1_106_KEY_8
+ 2154430472
+ name 1_106_KEY_9
+ 2154430473
+ name 1_106_KEY_POWER
+ 2154430474
+ name 1_106_KEY_CH_UP
+ 2154430479
+ name 1_106_KEY_CH_DOWN
+ 2154430480
+ name 1_106_KEY_MUTE
+ 2154430481
+ name 1_106_KEY_VOL_DOWN
+ 2154430482
+ name 1_106_CH_PREVIOUS
+ 2154430483
+ name 1_106_KEY_VOL_UP
+ 2154430484
+ name 1_106_KEY_DISPLAY
+ 2154430485
+ name 1_106_KEY_EXIT
+ 2154430488
+ name 1_106_KEY_INPUT
+ 2154430490
+ name 1_106_KEY_GUIDE
+ 2154430491
+ name 1_106_KEY_SELECT
+ 2154430494
+ name 1_106_KEY_AV
+ 2154430505
+ name 1_106_KEY_SAT
+ 2154430506
+ name 1_106_KEY_ENTER
+ 2154430507
+ name 1_106_KEY_MENU
+ 2154430511
+ name 1_106_KEY_MUP
+ 2154430512
+ name 1_106_KEY_MDOWN
+ 2154430513
+ name 1_106_KEY_MLEFT
+ 2154430514
+ name 1_106_KEY_MRIGHT
+ 2154430515
+ name 1_106_KEY_FF
+ 2154430516
+ name 1_106_KEY_PLAY
+ 2154430517
+ name 1_106_KEY_REW
+ 2154430518
+ name 1_106_KEY_REC
+ 2154430519
+ name 1_106_KEY_PAUSE
+ 2154430520
+ name 1_106_KEY_STOP
+ 2154430521
+ name 0_107_KEY_0
+ 7012352
+ name 0_107_KEY_1
+ 7012353
+ name 0_107_KEY_2
+ 7012354
+ name 0_107_KEY_3
+ 7012355
+ name 0_107_KEY_4
+ 7012356
+ name 0_107_KEY_5
+ 7012357
+ name 0_107_KEY_6
+ 7012358
+ name 0_107_KEY_7
+ 7012359
+ name 0_107_KEY_8
+ 7012360
+ name 0_107_KEY_9
+ 7012361
+ name 0_107_KEY_POWER
+ 7012362
+ name 0_107_KEY_CH_UP
+ 7012367
+ name 0_107_KEY_CH_DOWN
+ 7012368
+ name 0_107_KEY_MUTE
+ 7012369
+ name 0_107_KEY_VOL_DOWN
+ 7012370
+ name 0_107_CH_PREVIOUS
+ 7012371
+ name 0_107_KEY_VOL_UP
+ 7012372
+ name 0_107_KEY_DISPLAY
+ 7012373
+ name 0_107_KEY_MNSELECT
+ 7012375
+ name 0_107_KEY_EXIT
+ 7012376
+ name 0_107_KEY_INPUT
+ 7012378
+ name 0_107_KEY_GUIDE
+ 7012379
+ name 0_107_KEY_ENTER
+ 7012395
+ name 0_107_KEY_MENU
+ 7012399
+ name 0_107_KEY_MUP
+ 7012400
+ name 0_107_KEY_MDOWN
+ 7012401
+ name 0_107_KEY_MLEFT
+ 7012402
+ name 0_107_KEY_MRIGHT
+ 7012403
+ name 0_107_KEY_FF
+ 7012404
+ name 0_107_KEY_REW
+ 7012406
+ name 0_107_KEY_REC
+ 7012407
+ name 0_107_KEY_PAUSE
+ 7012408
+ name 0_108_KEY_0
+ 7077888
+ name 0_108_KEY_1
+ 7077889
+ name 0_108_KEY_2
+ 7077890
+ name 0_108_KEY_3
+ 7077891
+ name 0_108_KEY_4
+ 7077892
+ name 0_108_KEY_5
+ 7077893
+ name 0_108_KEY_6
+ 7077894
+ name 0_108_KEY_7
+ 7077895
+ name 0_108_KEY_8
+ 7077896
+ name 0_108_KEY_9
+ 7077897
+ name 0_108_KEY_POWER
+ 7077898
+ name 0_108_KEY_CH_UP
+ 7077903
+ name 0_108_KEY_CH_DOWN
+ 7077904
+ name 0_108_KEY_MUTE
+ 7077905
+ name 0_108_KEY_VOL_DOWN
+ 7077906
+ name 0_108_CH_PREVIOUS
+ 7077907
+ name 0_108_KEY_VOL_UP
+ 7077908
+ name 0_108_KEY_FAVCH
+ 7077916
+ name 0_108_KEY_SELECT
+ 7077918
+ name 0_108_KEY_ENTER
+ 7077931
+ name 0_108_KEY_AB
+ 7077950
+ name 0_109_KEY_0
+ 7143424
+ name 0_109_KEY_1
+ 7143425
+ name 0_109_KEY_2
+ 7143426
+ name 0_109_KEY_3
+ 7143427
+ name 0_109_KEY_4
+ 7143428
+ name 0_109_KEY_5
+ 7143429
+ name 0_109_KEY_6
+ 7143430
+ name 0_109_KEY_7
+ 7143431
+ name 0_109_KEY_8
+ 7143432
+ name 0_109_KEY_9
+ 7143433
+ name 0_109_KEY_POWER
+ 7143434
+ name 0_109_KEY_CH_UP
+ 7143439
+ name 0_109_KEY_CH_DOWN
+ 7143440
+ name 0_109_KEY_MUTE
+ 7143441
+ name 0_109_KEY_VOL_DOWN
+ 7143442
+ name 0_109_CH_PREVIOUS
+ 7143443
+ name 0_109_KEY_VOL_UP
+ 7143444
+ name 0_109_KEY_DISPLAY
+ 7143445
+ name 0_109_KEY_MNSELECT
+ 7143447
+ name 0_109_KEY_EXIT
+ 7143448
+ name 0_109_KEY_GUIDE
+ 7143451
+ name 0_109_KEY_FAV
+ 7143453
+ name 0_109_KEY_MENU
+ 7143471
+ name 0_109_KEY_MUP
+ 7143472
+ name 0_109_KEY_MDOWN
+ 7143473
+ name 0_109_KEY_MLEFT
+ 7143474
+ name 0_109_KEY_MRIGHT
+ 7143475
+ name 1_109_KEY_0
+ 2154627072
+ name 1_109_KEY_1
+ 2154627073
+ name 1_109_KEY_2
+ 2154627074
+ name 1_109_KEY_3
+ 2154627075
+ name 1_109_KEY_4
+ 2154627076
+ name 1_109_KEY_5
+ 2154627077
+ name 1_109_KEY_6
+ 2154627078
+ name 1_109_KEY_7
+ 2154627079
+ name 1_109_KEY_8
+ 2154627080
+ name 1_109_KEY_9
+ 2154627081
+ name 1_109_KEY_POWER
+ 2154627082
+ name 1_109_KEY_CH_UP
+ 2154627087
+ name 1_109_KEY_CH_DOWN
+ 2154627088
+ name 1_109_KEY_EXIT
+ 2154627096
+ name 1_109_KEY_GUIDE
+ 2154627099
+ name 1_109_KEY_MENU
+ 2154627119
+ name 1_109_KEY_MUP
+ 2154627120
+ name 1_109_KEY_MDOWN
+ 2154627121
+ name 1_109_KEY_MLEFT
+ 2154627122
+ name 1_109_KEY_MRIGHT
+ 2154627123
+ name 0_110_KEY_0
+ 7208960
+ name 0_110_KEY_1
+ 7208961
+ name 0_110_KEY_2
+ 7208962
+ name 0_110_KEY_3
+ 7208963
+ name 0_110_KEY_4
+ 7208964
+ name 0_110_KEY_5
+ 7208965
+ name 0_110_KEY_6
+ 7208966
+ name 0_110_KEY_7
+ 7208967
+ name 0_110_KEY_8
+ 7208968
+ name 0_110_KEY_9
+ 7208969
+ name 0_110_KEY_POWER
+ 7208970
+ name 0_110_KEY_CH_UP
+ 7208975
+ name 0_110_KEY_CH_DOWN
+ 7208976
+ name 0_110_CH_PREVIOUS
+ 7208979
+ name 0_110_KEY_FAV
+ 7208989
+ name 0_110_KEY_MENU
+ 7209007
+ name 1_110_KEY_0
+ 2154692608
+ name 1_110_KEY_1
+ 2154692609
+ name 1_110_KEY_2
+ 2154692610
+ name 1_110_KEY_3
+ 2154692611
+ name 1_110_KEY_4
+ 2154692612
+ name 1_110_KEY_5
+ 2154692613
+ name 1_110_KEY_6
+ 2154692614
+ name 1_110_KEY_7
+ 2154692615
+ name 1_110_KEY_8
+ 2154692616
+ name 1_110_KEY_9
+ 2154692617
+ name 1_110_KEY_POWER
+ 2154692618
+ name 1_110_KEY_CH_UP
+ 2154692623
+ name 1_110_KEY_CH_DOWN
+ 2154692624
+ name 1_110_KEY_EXIT
+ 2154692632
+ name 1_110_KEY_INPUT
+ 2154692634
+ name 1_110_KEY_GUIDE
+ 2154692635
+ name 1_110_KEY_FAV
+ 2154692637
+ name 1_110_KEY_MENU
+ 2154692655
+ name 1_110_KEY_MUP
+ 2154692656
+ name 1_110_KEY_MDOWN
+ 2154692657
+ name 1_110_KEY_MLEFT
+ 2154692658
+ name 1_110_KEY_MRIGHT
+ 2154692659
+ name 0_111_KEY_0
+ 7274496
+ name 0_111_KEY_1
+ 7274497
+ name 0_111_KEY_2
+ 7274498
+ name 0_111_KEY_3
+ 7274499
+ name 0_111_KEY_4
+ 7274500
+ name 0_111_KEY_5
+ 7274501
+ name 0_111_KEY_6
+ 7274502
+ name 0_111_KEY_7
+ 7274503
+ name 0_111_KEY_8
+ 7274504
+ name 0_111_KEY_9
+ 7274505
+ name 0_111_KEY_POWER
+ 7274506
+ name 0_111_KEY_CH_UP
+ 7274511
+ name 0_111_KEY_CH_DOWN
+ 7274512
+ name 0_111_KEY_MUTE
+ 7274513
+ name 0_111_KEY_VOL_DOWN
+ 7274514
+ name 0_111_CH_PREVIOUS
+ 7274515
+ name 0_111_KEY_VOL_UP
+ 7274516
+ name 0_111_KEY_DISPLAY
+ 7274517
+ name 0_111_KEY_MNSELECT
+ 7274519
+ name 0_111_KEY_EXIT
+ 7274520
+ name 0_111_KEY_GUIDE
+ 7274523
+ name 0_111_KEY_ENTER
+ 7274539
+ name 0_111_KEY_MENU
+ 7274543
+ name 0_111_KEY_MUP
+ 7274544
+ name 0_111_KEY_MDOWN
+ 7274545
+ name 1_111_KEY_0
+ 2154758144
+ name 1_111_KEY_1
+ 2154758145
+ name 1_111_KEY_2
+ 2154758146
+ name 1_111_KEY_3
+ 2154758147
+ name 1_111_KEY_4
+ 2154758148
+ name 1_111_KEY_5
+ 2154758149
+ name 1_111_KEY_6
+ 2154758150
+ name 1_111_KEY_7
+ 2154758151
+ name 1_111_KEY_8
+ 2154758152
+ name 1_111_KEY_9
+ 2154758153
+ name 1_111_POWER_ON
+ 2154758155
+ name 1_111_KEY_CH_UP
+ 2154758159
+ name 1_111_KEY_CH_DOWN
+ 2154758160
+ name 1_111_KEY_EXIT
+ 2154758168
+ name 1_111_KEY_GUIDE
+ 2154758171
+ name 1_111_KEY_MUP
+ 2154758192
+ name 1_111_KEY_MDOWN
+ 2154758193
+ name 1_111_KEY_MLEFT
+ 2154758194
+ name 1_111_KEY_MRIGHT
+ 2154758195
+ name 0_112_KEY_0
+ 7340032
+ name 0_112_KEY_1
+ 7340033
+ name 0_112_KEY_2
+ 7340034
+ name 0_112_KEY_3
+ 7340035
+ name 0_112_KEY_4
+ 7340036
+ name 0_112_KEY_5
+ 7340037
+ name 0_112_KEY_6
+ 7340038
+ name 0_112_KEY_7
+ 7340039
+ name 0_112_KEY_8
+ 7340040
+ name 0_112_KEY_9
+ 7340041
+ name 0_112_KEY_POWER
+ 7340042
+ name 0_112_KEY_CH_UP
+ 7340047
+ name 0_112_KEY_CH_DOWN
+ 7340048
+ name 0_112_CH_PREVIOUS
+ 7340051
+ name 0_112_KEY_MUP
+ 7340080
+ name 0_112_KEY_MDOWN
+ 7340081
+ name 1_112_KEY_0
+ 2154823680
+ name 1_112_KEY_1
+ 2154823681
+ name 1_112_KEY_2
+ 2154823682
+ name 1_112_KEY_3
+ 2154823683
+ name 1_112_KEY_4
+ 2154823684
+ name 1_112_KEY_5
+ 2154823685
+ name 1_112_KEY_6
+ 2154823686
+ name 1_112_KEY_7
+ 2154823687
+ name 1_112_KEY_8
+ 2154823688
+ name 1_112_KEY_9
+ 2154823689
+ name 1_112_KEY_POWER
+ 2154823690
+ name 1_112_KEY_CH_UP
+ 2154823695
+ name 1_112_KEY_CH_DOWN
+ 2154823696
+ name 1_112_KEY_EXIT
+ 2154823704
+ name 1_112_KEY_INPUT
+ 2154823706
+ name 1_112_KEY_FAV
+ 2154823709
+ name 1_112_KEY_MNRETRUN
+ 2154823712
+ name 1_112_KEY_MENU
+ 2154823727
+ name 1_112_KEY_MUP
+ 2154823728
+ name 1_112_KEY_MDOWN
+ 2154823729
+ name 1_112_KEY_MLEFT
+ 2154823730
+ name 1_112_KEY_MRIGHT
+ 2154823731
+ name 0_113_KEY_0
+ 7405568
+ name 0_113_KEY_1
+ 7405569
+ name 0_113_KEY_2
+ 7405570
+ name 0_113_KEY_3
+ 7405571
+ name 0_113_KEY_4
+ 7405572
+ name 0_113_KEY_5
+ 7405573
+ name 0_113_KEY_6
+ 7405574
+ name 0_113_KEY_7
+ 7405575
+ name 0_113_KEY_8
+ 7405576
+ name 0_113_KEY_9
+ 7405577
+ name 0_113_KEY_POWER
+ 7405578
+ name 0_113_KEY_CH_UP
+ 7405583
+ name 0_113_KEY_CH_DOWN
+ 7405584
+ name 0_113_KEY_MUTE
+ 7405585
+ name 0_113_KEY_VOL_DOWN
+ 7405586
+ name 0_113_CH_PREVIOUS
+ 7405587
+ name 0_113_KEY_VOL_UP
+ 7405588
+ name 0_113_KEY_DISPLAY
+ 7405589
+ name 1_113_KEY_0
+ 2154889216
+ name 1_113_KEY_1
+ 2154889217
+ name 1_113_KEY_2
+ 2154889218
+ name 1_113_KEY_3
+ 2154889219
+ name 1_113_KEY_4
+ 2154889220
+ name 1_113_KEY_5
+ 2154889221
+ name 1_113_KEY_6
+ 2154889222
+ name 1_113_KEY_7
+ 2154889223
+ name 1_113_KEY_8
+ 2154889224
+ name 1_113_KEY_9
+ 2154889225
+ name 1_113_KEY_POWER
+ 2154889226
+ name 1_113_KEY_CH_UP
+ 2154889231
+ name 1_113_KEY_CH_DOWN
+ 2154889232
+ name 1_113_KEY_EXIT
+ 2154889240
+ name 1_113_KEY_INPUT
+ 2154889242
+ name 1_113_KEY_GUIDE
+ 2154889243
+ name 1_113_KEY_MNRETRUN
+ 2154889248
+ name 1_113_KEY_ENTER
+ 2154889259
+ name 1_113_KEY_MENU
+ 2154889263
+ name 1_113_KEY_MUP
+ 2154889264
+ name 1_113_KEY_MDOWN
+ 2154889265
+ name 1_113_KEY_MLEFT
+ 2154889266
+ name 1_113_KEY_MRIGHT
+ 2154889267
+ name 0_114_KEY_0
+ 7471104
+ name 0_114_KEY_1
+ 7471105
+ name 0_114_KEY_2
+ 7471106
+ name 0_114_KEY_3
+ 7471107
+ name 0_114_KEY_4
+ 7471108
+ name 0_114_KEY_5
+ 7471109
+ name 0_114_KEY_6
+ 7471110
+ name 0_114_KEY_7
+ 7471111
+ name 0_114_KEY_8
+ 7471112
+ name 0_114_KEY_9
+ 7471113
+ name 0_114_KEY_POWER
+ 7471114
+ name 0_114_KEY_CH_UP
+ 7471119
+ name 0_114_KEY_CH_DOWN
+ 7471120
+ name 0_114_KEY_MUTE
+ 7471121
+ name 0_114_KEY_VOL_DOWN
+ 7471122
+ name 0_114_CH_PREVIOUS
+ 7471123
+ name 0_114_KEY_VOL_UP
+ 7471124
+ name 1_114_KEY_0
+ 2154954752
+ name 1_114_KEY_1
+ 2154954753
+ name 1_114_KEY_2
+ 2154954754
+ name 1_114_KEY_3
+ 2154954755
+ name 1_114_KEY_4
+ 2154954756
+ name 1_114_KEY_5
+ 2154954757
+ name 1_114_KEY_6
+ 2154954758
+ name 1_114_KEY_7
+ 2154954759
+ name 1_114_KEY_8
+ 2154954760
+ name 1_114_KEY_9
+ 2154954761
+ name 1_114_KEY_POWER
+ 2154954762
+ name 1_114_KEY_CH_UP
+ 2154954767
+ name 1_114_KEY_CH_DOWN
+ 2154954768
+ name 1_114_KEY_EXIT
+ 2154954776
+ name 1_114_KEY_INPUT
+ 2154954778
+ name 1_114_KEY_GUIDE
+ 2154954779
+ name 1_114_KEY_MNRETRUN
+ 2154954784
+ name 1_114_KEY_ENTER
+ 2154954795
+ name 1_114_KEY_MUP
+ 2154954800
+ name 1_114_KEY_MDOWN
+ 2154954801
+ name 1_114_KEY_MLEFT
+ 2154954802
+ name 1_114_KEY_MRIGHT
+ 2154954803
+ name 0_115_KEY_0
+ 7536640
+ name 0_115_KEY_1
+ 7536641
+ name 0_115_KEY_2
+ 7536642
+ name 0_115_KEY_3
+ 7536643
+ name 0_115_KEY_4
+ 7536644
+ name 0_115_KEY_5
+ 7536645
+ name 0_115_KEY_6
+ 7536646
+ name 0_115_KEY_7
+ 7536647
+ name 0_115_KEY_8
+ 7536648
+ name 0_115_KEY_9
+ 7536649
+ name 0_115_KEY_POWER
+ 7536650
+ name 0_115_KEY_CH_UP
+ 7536655
+ name 0_115_KEY_CH_DOWN
+ 7536656
+ name 0_115_KEY_MUTE
+ 7536657
+ name 0_115_KEY_VOL_DOWN
+ 7536658
+ name 0_115_CH_PREVIOUS
+ 7536659
+ name 0_115_KEY_VOL_UP
+ 7536660
+ name 0_115_KEY_DISPLAY
+ 7536661
+ name 0_115_KEY_MNSELECT
+ 7536663
+ name 0_115_KEY_EXIT
+ 7536664
+ name 0_115_KEY_GUIDE
+ 7536667
+ name 0_115_KEY_MENU
+ 7536687
+ name 0_115_KEY_MUP
+ 7536688
+ name 0_115_KEY_MDOWN
+ 7536689
+ name 0_115_KEY_MLEFT
+ 7536690
+ name 0_115_KEY_MRIGHT
+ 7536691
+ name 1_115_KEY_0
+ 2155020288
+ name 1_115_KEY_1
+ 2155020289
+ name 1_115_KEY_2
+ 2155020290
+ name 1_115_KEY_3
+ 2155020291
+ name 1_115_KEY_4
+ 2155020292
+ name 1_115_KEY_5
+ 2155020293
+ name 1_115_KEY_6
+ 2155020294
+ name 1_115_KEY_7
+ 2155020295
+ name 1_115_KEY_8
+ 2155020296
+ name 1_115_KEY_9
+ 2155020297
+ name 1_115_KEY_POWER
+ 2155020298
+ name 1_115_KEY_CH_UP
+ 2155020303
+ name 1_115_KEY_CH_DOWN
+ 2155020304
+ name 1_115_KEY_EXIT
+ 2155020312
+ name 1_115_KEY_INPUT
+ 2155020314
+ name 1_115_KEY_GUIDE
+ 2155020315
+ name 1_115_KEY_MNRETRUN
+ 2155020320
+ name 1_115_KEY_ENTER
+ 2155020331
+ name 1_115_KEY_MUP
+ 2155020336
+ name 1_115_KEY_MDOWN
+ 2155020337
+ name 1_115_KEY_MLEFT
+ 2155020338
+ name 1_115_KEY_MRIGHT
+ 2155020339
+ name 0_116_KEY_0
+ 7602176
+ name 0_116_KEY_1
+ 7602177
+ name 0_116_KEY_2
+ 7602178
+ name 0_116_KEY_3
+ 7602179
+ name 0_116_KEY_4
+ 7602180
+ name 0_116_KEY_5
+ 7602181
+ name 0_116_KEY_6
+ 7602182
+ name 0_116_KEY_7
+ 7602183
+ name 0_116_KEY_8
+ 7602184
+ name 0_116_KEY_9
+ 7602185
+ name 0_116_KEY_POWER
+ 7602186
+ name 0_116_KEY_CH_UP
+ 7602191
+ name 0_116_KEY_CH_DOWN
+ 7602192
+ name 0_116_CH_PREVIOUS
+ 7602195
+ name 1_116_KEY_0
+ 2155085824
+ name 1_116_KEY_1
+ 2155085825
+ name 1_116_KEY_2
+ 2155085826
+ name 1_116_KEY_3
+ 2155085827
+ name 1_116_KEY_4
+ 2155085828
+ name 1_116_KEY_5
+ 2155085829
+ name 1_116_KEY_6
+ 2155085830
+ name 1_116_KEY_7
+ 2155085831
+ name 1_116_KEY_8
+ 2155085832
+ name 1_116_KEY_9
+ 2155085833
+ name 1_116_KEY_POWER
+ 2155085834
+ name 1_116_KEY_CH_UP
+ 2155085839
+ name 1_116_KEY_CH_DOWN
+ 2155085840
+ name 1_116_KEY_EXIT
+ 2155085848
+ name 1_116_KEY_INPUT
+ 2155085850
+ name 1_116_KEY_GUIDE
+ 2155085851
+ name 1_116_KEY_MNRETRUN
+ 2155085856
+ name 1_116_KEY_ENTER
+ 2155085867
+ name 1_116_KEY_MUP
+ 2155085872
+ name 1_116_KEY_MDOWN
+ 2155085873
+ name 1_116_KEY_MLEFT
+ 2155085874
+ name 1_116_KEY_MRIGHT
+ 2155085875
+ name 0_117_KEY_0
+ 7667712
+ name 0_117_KEY_1
+ 7667713
+ name 0_117_KEY_2
+ 7667714
+ name 0_117_KEY_3
+ 7667715
+ name 0_117_KEY_4
+ 7667716
+ name 0_117_KEY_5
+ 7667717
+ name 0_117_KEY_6
+ 7667718
+ name 0_117_KEY_7
+ 7667719
+ name 0_117_KEY_8
+ 7667720
+ name 0_117_KEY_9
+ 7667721
+ name 0_117_KEY_POWER
+ 7667722
+ name 0_117_KEY_CH_UP
+ 7667727
+ name 0_117_KEY_CH_DOWN
+ 7667728
+ name 0_117_KEY_MUTE
+ 7667729
+ name 0_117_KEY_VOL_DOWN
+ 7667730
+ name 0_117_CH_PREVIOUS
+ 7667731
+ name 0_117_KEY_VOL_UP
+ 7667732
+ name 0_117_KEY_DISPLAY
+ 7667733
+ name 0_117_KEY_MNSELECT
+ 7667735
+ name 0_117_KEY_EXIT
+ 7667736
+ name 0_117_KEY_GUIDE
+ 7667739
+ name 0_117_KEY_ENTER
+ 7667755
+ name 0_117_KEY_MENU
+ 7667759
+ name 0_117_KEY_MUP
+ 7667760
+ name 0_117_KEY_MDOWN
+ 7667761
+ name 0_117_KEY_MLEFT
+ 7667762
+ name 0_117_KEY_MRIGHT
+ 7667763
+ name 1_117_KEY_0
+ 2155151360
+ name 1_117_KEY_1
+ 2155151361
+ name 1_117_KEY_2
+ 2155151362
+ name 1_117_KEY_3
+ 2155151363
+ name 1_117_KEY_4
+ 2155151364
+ name 1_117_KEY_5
+ 2155151365
+ name 1_117_KEY_6
+ 2155151366
+ name 1_117_KEY_7
+ 2155151367
+ name 1_117_KEY_8
+ 2155151368
+ name 1_117_KEY_9
+ 2155151369
+ name 1_117_KEY_POWER
+ 2155151370
+ name 1_117_KEY_CH_UP
+ 2155151375
+ name 1_117_KEY_CH_DOWN
+ 2155151376
+ name 1_117_KEY_EXIT
+ 2155151384
+ name 1_117_KEY_INPUT
+ 2155151386
+ name 1_117_KEY_GUIDE
+ 2155151387
+ name 1_117_KEY_MNRETRUN
+ 2155151392
+ name 1_117_KEY_ENTER
+ 2155151403
+ name 1_117_KEY_MUP
+ 2155151408
+ name 1_117_KEY_MDOWN
+ 2155151409
+ name 1_117_KEY_MLEFT
+ 2155151410
+ name 1_117_KEY_MRIGHT
+ 2155151411
+ name 0_118_KEY_0
+ 7733248
+ name 0_118_KEY_1
+ 7733249
+ name 0_118_KEY_2
+ 7733250
+ name 0_118_KEY_3
+ 7733251
+ name 0_118_KEY_4
+ 7733252
+ name 0_118_KEY_5
+ 7733253
+ name 0_118_KEY_6
+ 7733254
+ name 0_118_KEY_7
+ 7733255
+ name 0_118_KEY_8
+ 7733256
+ name 0_118_KEY_9
+ 7733257
+ name 0_118_KEY_POWER
+ 7733258
+ name 0_118_KEY_CH_UP
+ 7733263
+ name 0_118_KEY_CH_DOWN
+ 7733264
+ name 0_118_KEY_MUTE
+ 7733265
+ name 0_118_KEY_VOL_DOWN
+ 7733266
+ name 0_118_KEY_VOL_UP
+ 7733268
+ name 0_118_KEY_DISPLAY
+ 7733269
+ name 1_118_KEY_0
+ 2155216896
+ name 1_118_KEY_1
+ 2155216897
+ name 1_118_KEY_2
+ 2155216898
+ name 1_118_KEY_3
+ 2155216899
+ name 1_118_KEY_4
+ 2155216900
+ name 1_118_KEY_5
+ 2155216901
+ name 1_118_KEY_6
+ 2155216902
+ name 1_118_KEY_7
+ 2155216903
+ name 1_118_KEY_8
+ 2155216904
+ name 1_118_KEY_9
+ 2155216905
+ name 1_118_KEY_POWER
+ 2155216906
+ name 1_118_KEY_CH_UP
+ 2155216911
+ name 1_118_KEY_CH_DOWN
+ 2155216912
+ name 1_118_KEY_EXIT
+ 2155216920
+ name 1_118_KEY_INPUT
+ 2155216922
+ name 1_118_KEY_GUIDE
+ 2155216923
+ name 1_118_KEY_MNRETRUN
+ 2155216928
+ name 1_118_KEY_ENTER
+ 2155216939
+ name 1_118_KEY_MUP
+ 2155216944
+ name 1_118_KEY_MDOWN
+ 2155216945
+ name 1_118_KEY_MLEFT
+ 2155216946
+ name 1_118_KEY_MRIGHT
+ 2155216947
+ name 0_119_KEY_0
+ 7798784
+ name 0_119_KEY_1
+ 7798785
+ name 0_119_KEY_2
+ 7798786
+ name 0_119_KEY_3
+ 7798787
+ name 0_119_KEY_4
+ 7798788
+ name 0_119_KEY_5
+ 7798789
+ name 0_119_KEY_6
+ 7798790
+ name 0_119_KEY_7
+ 7798791
+ name 0_119_KEY_8
+ 7798792
+ name 0_119_KEY_9
+ 7798793
+ name 0_119_KEY_POWER
+ 7798794
+ name 0_119_KEY_CH_UP
+ 7798799
+ name 0_119_KEY_CH_DOWN
+ 7798800
+ name 0_119_KEY_MUTE
+ 7798801
+ name 0_119_KEY_VOL_DOWN
+ 7798802
+ name 0_119_CH_PREVIOUS
+ 7798803
+ name 0_119_KEY_VOL_UP
+ 7798804
+ name 0_119_KEY_DISPLAY
+ 7798805
+ name 0_119_KEY_MNSELECT
+ 7798807
+ name 0_119_KEY_EXIT
+ 7798808
+ name 0_119_KEY_GUIDE
+ 7798811
+ name 0_119_KEY_MENU
+ 7798831
+ name 0_119_KEY_MUP
+ 7798832
+ name 0_119_KEY_MDOWN
+ 7798833
+ name 0_119_KEY_MLEFT
+ 7798834
+ name 0_119_KEY_MRIGHT
+ 7798835
+ name 1_119_KEY_0
+ 2155282432
+ name 1_119_KEY_1
+ 2155282433
+ name 1_119_KEY_2
+ 2155282434
+ name 1_119_KEY_3
+ 2155282435
+ name 1_119_KEY_4
+ 2155282436
+ name 1_119_KEY_5
+ 2155282437
+ name 1_119_KEY_6
+ 2155282438
+ name 1_119_KEY_7
+ 2155282439
+ name 1_119_KEY_8
+ 2155282440
+ name 1_119_KEY_9
+ 2155282441
+ name 1_119_KEY_POWER
+ 2155282442
+ name 1_119_KEY_CH_UP
+ 2155282447
+ name 1_119_KEY_CH_DOWN
+ 2155282448
+ name 1_119_KEY_EXIT
+ 2155282456
+ name 1_119_KEY_INPUT
+ 2155282458
+ name 1_119_KEY_GUIDE
+ 2155282459
+ name 1_119_KEY_MNRETRUN
+ 2155282464
+ name 1_119_KEY_ENTER
+ 2155282475
+ name 1_119_KEY_MUP
+ 2155282480
+ name 1_119_KEY_MDOWN
+ 2155282481
+ name 1_119_KEY_MLEFT
+ 2155282482
+ name 1_119_KEY_MRIGHT
+ 2155282483
+ name 0_120_KEY_0
+ 7864320
+ name 0_120_KEY_1
+ 7864321
+ name 0_120_KEY_2
+ 7864322
+ name 0_120_KEY_3
+ 7864323
+ name 0_120_KEY_4
+ 7864324
+ name 0_120_KEY_5
+ 7864325
+ name 0_120_KEY_6
+ 7864326
+ name 0_120_KEY_7
+ 7864327
+ name 0_120_KEY_8
+ 7864328
+ name 0_120_KEY_9
+ 7864329
+ name 0_120_KEY_POWER
+ 7864330
+ name 0_120_KEY_CH_UP
+ 7864335
+ name 0_120_KEY_CH_DOWN
+ 7864336
+ name 0_120_KEY_MUTE
+ 7864337
+ name 0_120_KEY_VOL_DOWN
+ 7864338
+ name 0_120_CH_PREVIOUS
+ 7864339
+ name 0_120_KEY_VOL_UP
+ 7864340
+ name 0_120_KEY_DISPLAY
+ 7864341
+ name 0_120_KEY_MNSELECT
+ 7864343
+ name 0_120_KEY_EXIT
+ 7864344
+ name 0_120_KEY_GUIDE
+ 7864347
+ name 0_120_KEY_MENU
+ 7864367
+ name 0_120_KEY_MUP
+ 7864368
+ name 0_120_KEY_MDOWN
+ 7864369
+ name 0_120_KEY_MLEFT
+ 7864370
+ name 0_120_KEY_MRIGHT
+ 7864371
+ name 1_120_KEY_0
+ 2155347968
+ name 1_120_KEY_1
+ 2155347969
+ name 1_120_KEY_2
+ 2155347970
+ name 1_120_KEY_3
+ 2155347971
+ name 1_120_KEY_4
+ 2155347972
+ name 1_120_KEY_5
+ 2155347973
+ name 1_120_KEY_6
+ 2155347974
+ name 1_120_KEY_7
+ 2155347975
+ name 1_120_KEY_8
+ 2155347976
+ name 1_120_KEY_9
+ 2155347977
+ name 1_120_KEY_POWER
+ 2155347978
+ name 1_120_KEY_CH_UP
+ 2155347983
+ name 1_120_KEY_CH_DOWN
+ 2155347984
+ name 1_120_KEY_EXIT
+ 2155347992
+ name 1_120_KEY_INPUT
+ 2155347994
+ name 1_120_KEY_GUIDE
+ 2155347995
+ name 1_120_KEY_MNRETRUN
+ 2155348000
+ name 1_120_KEY_ENTER
+ 2155348011
+ name 1_120_KEY_MUP
+ 2155348016
+ name 1_120_KEY_MDOWN
+ 2155348017
+ name 1_120_KEY_MLEFT
+ 2155348018
+ name 1_120_KEY_MRIGHT
+ 2155348019
+ name 0_121_KEY_0
+ 7929856
+ name 0_121_KEY_1
+ 7929857
+ name 0_121_KEY_2
+ 7929858
+ name 0_121_KEY_3
+ 7929859
+ name 0_121_KEY_4
+ 7929860
+ name 0_121_KEY_5
+ 7929861
+ name 0_121_KEY_6
+ 7929862
+ name 0_121_KEY_7
+ 7929863
+ name 0_121_KEY_8
+ 7929864
+ name 0_121_KEY_9
+ 7929865
+ name 0_121_KEY_POWER
+ 7929866
+ name 0_121_KEY_CH_UP
+ 7929871
+ name 0_121_KEY_CH_DOWN
+ 7929872
+ name 0_121_KEY_MUTE
+ 7929873
+ name 0_121_KEY_VOL_DOWN
+ 7929874
+ name 0_121_CH_PREVIOUS
+ 7929875
+ name 0_121_KEY_VOL_UP
+ 7929876
+ name 0_121_KEY_MENU
+ 7929903
+ name 1_121_KEY_0
+ 2155413504
+ name 1_121_KEY_1
+ 2155413505
+ name 1_121_KEY_2
+ 2155413506
+ name 1_121_KEY_3
+ 2155413507
+ name 1_121_KEY_4
+ 2155413508
+ name 1_121_KEY_5
+ 2155413509
+ name 1_121_KEY_6
+ 2155413510
+ name 1_121_KEY_7
+ 2155413511
+ name 1_121_KEY_8
+ 2155413512
+ name 1_121_KEY_9
+ 2155413513
+ name 1_121_KEY_POWER
+ 2155413514
+ name 1_121_KEY_CH_UP
+ 2155413519
+ name 1_121_KEY_CH_DOWN
+ 2155413520
+ name 1_121_KEY_EXIT
+ 2155413528
+ name 1_121_KEY_INPUT
+ 2155413530
+ name 1_121_KEY_GUIDE
+ 2155413531
+ name 1_121_KEY_MNRETRUN
+ 2155413536
+ name 1_121_KEY_ENTER
+ 2155413547
+ name 1_121_KEY_MUP
+ 2155413552
+ name 1_121_KEY_MDOWN
+ 2155413553
+ name 1_121_KEY_MLEFT
+ 2155413554
+ name 1_121_KEY_MRIGHT
+ 2155413555
+ name 0_122_KEY_0
+ 7995392
+ name 0_122_KEY_1
+ 7995393
+ name 0_122_KEY_2
+ 7995394
+ name 0_122_KEY_3
+ 7995395
+ name 0_122_KEY_4
+ 7995396
+ name 0_122_KEY_5
+ 7995397
+ name 0_122_KEY_6
+ 7995398
+ name 0_122_KEY_7
+ 7995399
+ name 0_122_KEY_8
+ 7995400
+ name 0_122_KEY_9
+ 7995401
+ name 0_122_KEY_POWER
+ 7995402
+ name 0_122_KEY_CH_UP
+ 7995407
+ name 0_122_KEY_CH_DOWN
+ 7995408
+ name 0_122_KEY_MUTE
+ 7995409
+ name 0_122_KEY_VOL_DOWN
+ 7995410
+ name 0_122_CH_PREVIOUS
+ 7995411
+ name 0_122_KEY_VOL_UP
+ 7995412
+ name 0_122_KEY_DISPLAY
+ 7995413
+ name 0_122_KEY_MNSELECT
+ 7995415
+ name 0_122_KEY_EXIT
+ 7995416
+ name 0_122_KEY_GUIDE
+ 7995419
+ name 0_122_KEY_ENTER
+ 7995435
+ name 0_122_KEY_MENU
+ 7995439
+ name 0_122_KEY_MUP
+ 7995440
+ name 0_122_KEY_MDOWN
+ 7995441
+ name 0_122_KEY_MLEFT
+ 7995442
+ name 0_122_KEY_MRIGHT
+ 7995443
+ name 1_122_KEY_0
+ 2155479040
+ name 1_122_KEY_1
+ 2155479041
+ name 1_122_KEY_2
+ 2155479042
+ name 1_122_KEY_3
+ 2155479043
+ name 1_122_KEY_4
+ 2155479044
+ name 1_122_KEY_5
+ 2155479045
+ name 1_122_KEY_6
+ 2155479046
+ name 1_122_KEY_7
+ 2155479047
+ name 1_122_KEY_8
+ 2155479048
+ name 1_122_KEY_9
+ 2155479049
+ name 1_122_KEY_POWER
+ 2155479050
+ name 1_122_KEY_CH_UP
+ 2155479055
+ name 1_122_KEY_CH_DOWN
+ 2155479056
+ name 1_122_KEY_EXIT
+ 2155479064
+ name 1_122_KEY_INPUT
+ 2155479066
+ name 1_122_KEY_GUIDE
+ 2155479067
+ name 1_122_KEY_MNRETRUN
+ 2155479072
+ name 1_122_KEY_ENTER
+ 2155479083
+ name 1_122_KEY_MUP
+ 2155479088
+ name 1_122_KEY_MDOWN
+ 2155479089
+ name 1_122_KEY_MLEFT
+ 2155479090
+ name 1_122_KEY_MRIGHT
+ 2155479091
+ name 0_123_KEY_0
+ 8060928
+ name 0_123_KEY_1
+ 8060929
+ name 0_123_KEY_2
+ 8060930
+ name 0_123_KEY_3
+ 8060931
+ name 0_123_KEY_4
+ 8060932
+ name 0_123_KEY_5
+ 8060933
+ name 0_123_KEY_6
+ 8060934
+ name 0_123_KEY_7
+ 8060935
+ name 0_123_KEY_8
+ 8060936
+ name 0_123_KEY_9
+ 8060937
+ name 0_123_KEY_POWER
+ 8060938
+ name 0_123_KEY_CH_UP
+ 8060943
+ name 0_123_KEY_CH_DOWN
+ 8060944
+ name 0_123_KEY_MUTE
+ 8060945
+ name 0_123_KEY_VOL_DOWN
+ 8060946
+ name 0_123_CH_PREVIOUS
+ 8060947
+ name 0_123_KEY_VOL_UP
+ 8060948
+ name 0_123_KEY_DISPLAY
+ 8060949
+ name 0_123_KEY_MNSELECT
+ 8060951
+ name 0_123_KEY_GUIDE
+ 8060955
+ name 0_123_KEY_MENU
+ 8060975
+ name 0_123_KEY_MUP
+ 8060976
+ name 0_123_KEY_MDOWN
+ 8060977
+ name 0_123_KEY_MLEFT
+ 8060978
+ name 0_123_KEY_MRIGHT
+ 8060979
+ name 0_123_KEY_FF
+ 8060980
+ name 0_123_KEY_REW
+ 8060982
+ name 0_123_KEY_PAUSE
+ 8060984
+ name 1_123_KEY_0
+ 2155544576
+ name 1_123_KEY_1
+ 2155544577
+ name 1_123_KEY_2
+ 2155544578
+ name 1_123_KEY_3
+ 2155544579
+ name 1_123_KEY_4
+ 2155544580
+ name 1_123_KEY_5
+ 2155544581
+ name 1_123_KEY_6
+ 2155544582
+ name 1_123_KEY_7
+ 2155544583
+ name 1_123_KEY_8
+ 2155544584
+ name 1_123_KEY_9
+ 2155544585
+ name 1_123_KEY_POWER
+ 2155544586
+ name 1_123_KEY_CH_UP
+ 2155544591
+ name 1_123_KEY_CH_DOWN
+ 2155544592
+ name 1_123_KEY_EXIT
+ 2155544600
+ name 1_123_KEY_INPUT
+ 2155544602
+ name 1_123_KEY_GUIDE
+ 2155544603
+ name 1_123_KEY_MNRETRUN
+ 2155544608
+ name 1_123_KEY_ENTER
+ 2155544619
+ name 1_123_KEY_MUP
+ 2155544624
+ name 1_123_KEY_MDOWN
+ 2155544625
+ name 1_123_KEY_MLEFT
+ 2155544626
+ name 1_123_KEY_MRIGHT
+ 2155544627
+ name 0_124_KEY_0
+ 8126464
+ name 0_124_KEY_1
+ 8126465
+ name 0_124_KEY_2
+ 8126466
+ name 0_124_KEY_3
+ 8126467
+ name 0_124_KEY_4
+ 8126468
+ name 0_124_KEY_5
+ 8126469
+ name 0_124_KEY_6
+ 8126470
+ name 0_124_KEY_7
+ 8126471
+ name 0_124_KEY_8
+ 8126472
+ name 0_124_KEY_9
+ 8126473
+ name 0_124_KEY_POWER
+ 8126474
+ name 0_124_KEY_CH_UP
+ 8126479
+ name 0_124_KEY_CH_DOWN
+ 8126480
+ name 0_124_KEY_MUTE
+ 8126481
+ name 0_124_KEY_VOL_DOWN
+ 8126482
+ name 0_124_CH_PREVIOUS
+ 8126483
+ name 0_124_KEY_VOL_UP
+ 8126484
+ name 0_124_KEY_DISPLAY
+ 8126485
+ name 0_124_KEY_EXIT
+ 8126488
+ name 0_124_KEY_GUIDE
+ 8126491
+ name 0_124_KEY_ENTER
+ 8126507
+ name 0_124_KEY_MENU
+ 8126511
+ name 0_124_KEY_MUP
+ 8126512
+ name 0_124_KEY_MDOWN
+ 8126513
+ name 0_124_KEY_MLEFT
+ 8126514
+ name 0_124_KEY_MRIGHT
+ 8126515
+ name 1_124_KEY_0
+ 2155610112
+ name 1_124_KEY_1
+ 2155610113
+ name 1_124_KEY_2
+ 2155610114
+ name 1_124_KEY_3
+ 2155610115
+ name 1_124_KEY_4
+ 2155610116
+ name 1_124_KEY_5
+ 2155610117
+ name 1_124_KEY_6
+ 2155610118
+ name 1_124_KEY_7
+ 2155610119
+ name 1_124_KEY_8
+ 2155610120
+ name 1_124_KEY_9
+ 2155610121
+ name 1_124_KEY_POWER
+ 2155610122
+ name 1_124_KEY_CH_UP
+ 2155610127
+ name 1_124_KEY_CH_DOWN
+ 2155610128
+ name 1_124_KEY_EXIT
+ 2155610136
+ name 1_124_KEY_INPUT
+ 2155610138
+ name 1_124_KEY_GUIDE
+ 2155610139
+ name 1_124_KEY_MNRETRUN
+ 2155610144
+ name 1_124_KEY_ENTER
+ 2155610155
+ name 1_124_KEY_MUP
+ 2155610160
+ name 1_124_KEY_MDOWN
+ 2155610161
+ name 1_124_KEY_MLEFT
+ 2155610162
+ name 1_124_KEY_MRIGHT
+ 2155610163
+ name 0_125_KEY_0
+ 8192000
+ name 0_125_KEY_1
+ 8192001
+ name 0_125_KEY_2
+ 8192002
+ name 0_125_KEY_3
+ 8192003
+ name 0_125_KEY_4
+ 8192004
+ name 0_125_KEY_5
+ 8192005
+ name 0_125_KEY_6
+ 8192006
+ name 0_125_KEY_7
+ 8192007
+ name 0_125_KEY_8
+ 8192008
+ name 0_125_KEY_9
+ 8192009
+ name 0_125_KEY_POWER
+ 8192010
+ name 0_125_KEY_CH_UP
+ 8192015
+ name 0_125_KEY_CH_DOWN
+ 8192016
+ name 0_125_KEY_MUTE
+ 8192017
+ name 0_125_KEY_VOL_DOWN
+ 8192018
+ name 0_125_CH_PREVIOUS
+ 8192019
+ name 0_125_KEY_VOL_UP
+ 8192020
+ name 0_125_KEY_DISPLAY
+ 8192021
+ name 0_125_KEY_MNSELECT
+ 8192023
+ name 0_125_KEY_EXIT
+ 8192024
+ name 0_125_KEY_GUIDE
+ 8192027
+ name 0_125_KEY_ENTER
+ 8192043
+ name 0_125_KEY_MENU
+ 8192047
+ name 0_125_KEY_MUP
+ 8192048
+ name 0_125_KEY_MDOWN
+ 8192049
+ name 0_125_KEY_MLEFT
+ 8192050
+ name 0_125_KEY_MRIGHT
+ 8192051
+ name 0_125_KEY_FF
+ 8192052
+ name 0_125_KEY_PLAY
+ 8192053
+ name 0_125_KEY_REW
+ 8192054
+ name 0_125_KEY_PAUSE
+ 8192056
+ name 0_125_KEY_STOP
+ 8192057
+ name 1_125_KEY_0
+ 2155675648
+ name 1_125_KEY_1
+ 2155675649
+ name 1_125_KEY_2
+ 2155675650
+ name 1_125_KEY_3
+ 2155675651
+ name 1_125_KEY_4
+ 2155675652
+ name 1_125_KEY_5
+ 2155675653
+ name 1_125_KEY_6
+ 2155675654
+ name 1_125_KEY_7
+ 2155675655
+ name 1_125_KEY_8
+ 2155675656
+ name 1_125_KEY_9
+ 2155675657
+ name 1_125_KEY_POWER
+ 2155675658
+ name 1_125_KEY_CH_UP
+ 2155675663
+ name 1_125_KEY_CH_DOWN
+ 2155675664
+ name 1_125_CH_PREVIOUS
+ 2155675667
+ name 1_125_KEY_DISPLAY
+ 2155675669
+ name 1_125_KEY_EXIT
+ 2155675672
+ name 1_125_KEY_GUIDE
+ 2155675675
+ name 1_125_KEY_MNRETRUN
+ 2155675680
+ name 1_125_KEY_ENTER
+ 2155675691
+ name 1_125_KEY_MENU
+ 2155675695
+ name 1_125_KEY_MUP
+ 2155675696
+ name 1_125_KEY_MDOWN
+ 2155675697
+ name 1_125_KEY_MLEFT
+ 2155675698
+ name 1_125_KEY_MRIGHT
+ 2155675699
+ name 0_126_KEY_0
+ 8257536
+ name 0_126_KEY_1
+ 8257537
+ name 0_126_KEY_2
+ 8257538
+ name 0_126_KEY_3
+ 8257539
+ name 0_126_KEY_4
+ 8257540
+ name 0_126_KEY_5
+ 8257541
+ name 0_126_KEY_6
+ 8257542
+ name 0_126_KEY_7
+ 8257543
+ name 0_126_KEY_8
+ 8257544
+ name 0_126_KEY_9
+ 8257545
+ name 0_126_KEY_POWER
+ 8257546
+ name 0_126_KEY_CH_UP
+ 8257551
+ name 0_126_KEY_CH_DOWN
+ 8257552
+ name 0_126_KEY_MUTE
+ 8257553
+ name 0_126_KEY_VOL_DOWN
+ 8257554
+ name 0_126_CH_PREVIOUS
+ 8257555
+ name 0_126_KEY_VOL_UP
+ 8257556
+ name 0_126_KEY_DISPLAY
+ 8257557
+ name 0_126_KEY_MNSELECT
+ 8257559
+ name 0_126_KEY_EXIT
+ 8257560
+ name 0_126_KEY_GUIDE
+ 8257563
+ name 0_126_KEY_MENU
+ 8257583
+ name 0_126_KEY_MUP
+ 8257584
+ name 0_126_KEY_MDOWN
+ 8257585
+ name 0_126_KEY_MLEFT
+ 8257586
+ name 0_126_KEY_MRIGHT
+ 8257587
+ name 0_126_KEY_FF
+ 8257588
+ name 0_126_KEY_PLAY
+ 8257589
+ name 0_126_KEY_REW
+ 8257590
+ name 0_126_KEY_PAUSE
+ 8257592
+ name 0_126_KEY_STOP
+ 8257593
+ name 1_126_KEY_0
+ 2155741184
+ name 1_126_KEY_1
+ 2155741185
+ name 1_126_KEY_2
+ 2155741186
+ name 1_126_KEY_3
+ 2155741187
+ name 1_126_KEY_4
+ 2155741188
+ name 1_126_KEY_5
+ 2155741189
+ name 1_126_KEY_6
+ 2155741190
+ name 1_126_KEY_7
+ 2155741191
+ name 1_126_KEY_8
+ 2155741192
+ name 1_126_KEY_9
+ 2155741193
+ name 1_126_KEY_POWER
+ 2155741194
+ name 1_126_KEY_CH_UP
+ 2155741199
+ name 1_126_KEY_CH_DOWN
+ 2155741200
+ name 1_126_CH_PREVIOUS
+ 2155741203
+ name 1_126_KEY_DISPLAY
+ 2155741205
+ name 1_126_KEY_EXIT
+ 2155741208
+ name 1_126_KEY_INPUT
+ 2155741210
+ name 1_126_KEY_GUIDE
+ 2155741211
+ name 1_126_KEY_ENTER
+ 2155741227
+ name 1_126_KEY_MENU
+ 2155741231
+ name 1_126_KEY_MUP
+ 2155741232
+ name 1_126_KEY_MDOWN
+ 2155741233
+ name 1_126_KEY_MLEFT
+ 2155741234
+ name 1_126_KEY_MRIGHT
+ 2155741235
+ name 0_127_KEY_0
+ 8323072
+ name 0_127_KEY_1
+ 8323073
+ name 0_127_KEY_2
+ 8323074
+ name 0_127_KEY_3
+ 8323075
+ name 0_127_KEY_4
+ 8323076
+ name 0_127_KEY_5
+ 8323077
+ name 0_127_KEY_6
+ 8323078
+ name 0_127_KEY_7
+ 8323079
+ name 0_127_KEY_8
+ 8323080
+ name 0_127_KEY_9
+ 8323081
+ name 0_127_KEY_POWER
+ 8323082
+ name 0_127_KEY_CH_UP
+ 8323087
+ name 0_127_KEY_CH_DOWN
+ 8323088
+ name 0_127_KEY_MUTE
+ 8323089
+ name 0_127_KEY_VOL_DOWN
+ 8323090
+ name 0_127_CH_PREVIOUS
+ 8323091
+ name 0_127_KEY_VOL_UP
+ 8323092
+ name 0_127_KEY_DISPLAY
+ 8323093
+ name 0_127_KEY_MNSELECT
+ 8323095
+ name 0_127_KEY_EXIT
+ 8323096
+ name 0_127_KEY_GUIDE
+ 8323099
+ name 0_127_KEY_MENU
+ 8323119
+ name 0_127_KEY_MUP
+ 8323120
+ name 0_127_KEY_MDOWN
+ 8323121
+ name 0_127_KEY_MLEFT
+ 8323122
+ name 0_127_KEY_MRIGHT
+ 8323123
+ name 1_127_KEY_0
+ 2155806720
+ name 1_127_KEY_1
+ 2155806721
+ name 1_127_KEY_2
+ 2155806722
+ name 1_127_KEY_3
+ 2155806723
+ name 1_127_KEY_4
+ 2155806724
+ name 1_127_KEY_5
+ 2155806725
+ name 1_127_KEY_6
+ 2155806726
+ name 1_127_KEY_7
+ 2155806727
+ name 1_127_KEY_8
+ 2155806728
+ name 1_127_KEY_9
+ 2155806729
+ name 1_127_KEY_POWER
+ 2155806730
+ name 1_127_KEY_CH_UP
+ 2155806735
+ name 1_127_KEY_CH_DOWN
+ 2155806736
+ name 1_127_CH_PREVIOUS
+ 2155806739
+ name 1_127_KEY_DISPLAY
+ 2155806741
+ name 1_127_KEY_EXIT
+ 2155806744
+ name 1_127_KEY_GUIDE
+ 2155806747
+ name 1_127_KEY_ENTER
+ 2155806763
+ name 1_127_KEY_MENU
+ 2155806767
+ name 1_127_KEY_MUP
+ 2155806768
+ name 1_127_KEY_MDOWN
+ 2155806769
+ name 1_127_KEY_MLEFT
+ 2155806770
+ name 1_127_KEY_MRIGHT
+ 2155806771
+ name 0_128_KEY_0
+ 8388608
+ name 0_128_KEY_1
+ 8388609
+ name 0_128_KEY_2
+ 8388610
+ name 0_128_KEY_3
+ 8388611
+ name 0_128_KEY_4
+ 8388612
+ name 0_128_KEY_5
+ 8388613
+ name 0_128_KEY_6
+ 8388614
+ name 0_128_KEY_7
+ 8388615
+ name 0_128_KEY_8
+ 8388616
+ name 0_128_KEY_9
+ 8388617
+ name 0_128_KEY_POWER
+ 8388618
+ name 0_128_KEY_CH_UP
+ 8388623
+ name 0_128_KEY_CH_DOWN
+ 8388624
+ name 0_128_KEY_MUTE
+ 8388625
+ name 0_128_KEY_VOL_DOWN
+ 8388626
+ name 0_128_CH_PREVIOUS
+ 8388627
+ name 0_128_KEY_VOL_UP
+ 8388628
+ name 0_128_KEY_DISPLAY
+ 8388629
+ name 0_128_KEY_MNSELECT
+ 8388631
+ name 0_128_KEY_EXIT
+ 8388632
+ name 0_128_KEY_GUIDE
+ 8388635
+ name 0_128_KEY_ENTER
+ 8388651
+ name 0_128_KEY_MENU
+ 8388655
+ name 0_128_KEY_MUP
+ 8388656
+ name 0_128_KEY_MDOWN
+ 8388657
+ name 0_128_KEY_MLEFT
+ 8388658
+ name 0_128_KEY_MRIGHT
+ 8388659
+ name 1_128_KEY_0
+ 2155872256
+ name 1_128_KEY_1
+ 2155872257
+ name 1_128_KEY_2
+ 2155872258
+ name 1_128_KEY_3
+ 2155872259
+ name 1_128_KEY_4
+ 2155872260
+ name 1_128_KEY_5
+ 2155872261
+ name 1_128_KEY_6
+ 2155872262
+ name 1_128_KEY_7
+ 2155872263
+ name 1_128_KEY_8
+ 2155872264
+ name 1_128_KEY_9
+ 2155872265
+ name 1_128_KEY_POWER
+ 2155872266
+ name 1_128_KEY_CH_UP
+ 2155872271
+ name 1_128_KEY_CH_DOWN
+ 2155872272
+ name 1_128_CH_PREVIOUS
+ 2155872275
+ name 1_128_KEY_DISPLAY
+ 2155872277
+ name 1_128_KEY_EXIT
+ 2155872280
+ name 1_128_KEY_GUIDE
+ 2155872283
+ name 1_128_KEY_ENTER
+ 2155872299
+ name 1_128_KEY_MENU
+ 2155872303
+ name 1_128_KEY_MUP
+ 2155872304
+ name 1_128_KEY_MDOWN
+ 2155872305
+ name 1_128_KEY_MLEFT
+ 2155872306
+ name 1_128_KEY_MRIGHT
+ 2155872307
+ name 0_129_KEY_0
+ 8454144
+ name 0_129_KEY_1
+ 8454145
+ name 0_129_KEY_2
+ 8454146
+ name 0_129_KEY_3
+ 8454147
+ name 0_129_KEY_4
+ 8454148
+ name 0_129_KEY_5
+ 8454149
+ name 0_129_KEY_6
+ 8454150
+ name 0_129_KEY_7
+ 8454151
+ name 0_129_KEY_8
+ 8454152
+ name 0_129_KEY_9
+ 8454153
+ name 0_129_KEY_POWER
+ 8454154
+ name 0_129_KEY_CH_UP
+ 8454159
+ name 0_129_KEY_CH_DOWN
+ 8454160
+ name 0_129_KEY_MUTE
+ 8454161
+ name 0_129_KEY_VOL_DOWN
+ 8454162
+ name 0_129_CH_PREVIOUS
+ 8454163
+ name 0_129_KEY_VOL_UP
+ 8454164
+ name 0_129_KEY_DISPLAY
+ 8454165
+ name 0_129_KEY_MNSELECT
+ 8454167
+ name 0_129_KEY_EXIT
+ 8454168
+ name 0_129_KEY_GUIDE
+ 8454171
+ name 0_129_KEY_ENTER
+ 8454187
+ name 0_129_KEY_MENU
+ 8454191
+ name 0_129_KEY_MUP
+ 8454192
+ name 0_129_KEY_MDOWN
+ 8454193
+ name 0_129_KEY_MLEFT
+ 8454194
+ name 0_129_KEY_MRIGHT
+ 8454195
+ name 0_129_KEY_FF
+ 8454196
+ name 0_129_KEY_PLAY
+ 8454197
+ name 0_129_KEY_REW
+ 8454198
+ name 0_129_KEY_PAUSE
+ 8454200
+ name 0_129_KEY_STOP
+ 8454201
+ name 1_129_KEY_0
+ 2155937792
+ name 1_129_KEY_1
+ 2155937793
+ name 1_129_KEY_2
+ 2155937794
+ name 1_129_KEY_3
+ 2155937795
+ name 1_129_KEY_4
+ 2155937796
+ name 1_129_KEY_5
+ 2155937797
+ name 1_129_KEY_6
+ 2155937798
+ name 1_129_KEY_7
+ 2155937799
+ name 1_129_KEY_8
+ 2155937800
+ name 1_129_KEY_9
+ 2155937801
+ name 1_129_KEY_POWER
+ 2155937802
+ name 1_129_KEY_CH_UP
+ 2155937807
+ name 1_129_KEY_CH_DOWN
+ 2155937808
+ name 1_129_CH_PREVIOUS
+ 2155937811
+ name 1_129_KEY_DISPLAY
+ 2155937813
+ name 1_129_KEY_EXIT
+ 2155937816
+ name 1_129_KEY_GUIDE
+ 2155937819
+ name 1_129_KEY_SAT
+ 2155937834
+ name 1_129_KEY_MENU
+ 2155937839
+ name 1_129_KEY_MUP
+ 2155937840
+ name 1_129_KEY_MDOWN
+ 2155937841
+ name 1_129_KEY_MLEFT
+ 2155937842
+ name 1_129_KEY_MRIGHT
+ 2155937843
+ name 1_129_KEY_FF
+ 2155937844
+ name 1_129_KEY_PLAY
+ 2155937845
+ name 1_129_KEY_REW
+ 2155937846
+ name 1_129_KEY_REC
+ 2155937847
+ name 1_129_KEY_PAUSE
+ 2155937848
+ name 1_129_KEY_STOP
+ 2155937849
+ name 0_130_KEY_0
+ 8519680
+ name 0_130_KEY_1
+ 8519681
+ name 0_130_KEY_2
+ 8519682
+ name 0_130_KEY_3
+ 8519683
+ name 0_130_KEY_4
+ 8519684
+ name 0_130_KEY_5
+ 8519685
+ name 0_130_KEY_6
+ 8519686
+ name 0_130_KEY_7
+ 8519687
+ name 0_130_KEY_8
+ 8519688
+ name 0_130_KEY_9
+ 8519689
+ name 0_130_KEY_POWER
+ 8519690
+ name 0_130_KEY_CH_UP
+ 8519695
+ name 0_130_KEY_CH_DOWN
+ 8519696
+ name 0_130_KEY_MUTE
+ 8519697
+ name 0_130_KEY_VOL_DOWN
+ 8519698
+ name 0_130_CH_PREVIOUS
+ 8519699
+ name 0_130_KEY_VOL_UP
+ 8519700
+ name 0_130_KEY_DISPLAY
+ 8519701
+ name 0_130_KEY_MNSELECT
+ 8519703
+ name 0_130_KEY_EXIT
+ 8519704
+ name 0_130_KEY_GUIDE
+ 8519707
+ name 0_130_KEY_ENTER
+ 8519723
+ name 0_130_KEY_MENU
+ 8519727
+ name 0_130_KEY_MUP
+ 8519728
+ name 0_130_KEY_MDOWN
+ 8519729
+ name 0_130_KEY_MLEFT
+ 8519730
+ name 0_130_KEY_MRIGHT
+ 8519731
+ name 0_130_KEY_FF
+ 8519732
+ name 0_130_KEY_PLAY
+ 8519733
+ name 0_130_KEY_REW
+ 8519734
+ name 0_130_KEY_REC
+ 8519735
+ name 0_130_KEY_PAUSE
+ 8519736
+ name 0_130_KEY_STOP
+ 8519737
+ name 1_130_KEY_0
+ 2156003328
+ name 1_130_KEY_1
+ 2156003329
+ name 1_130_KEY_2
+ 2156003330
+ name 1_130_KEY_3
+ 2156003331
+ name 1_130_KEY_4
+ 2156003332
+ name 1_130_KEY_5
+ 2156003333
+ name 1_130_KEY_6
+ 2156003334
+ name 1_130_KEY_7
+ 2156003335
+ name 1_130_KEY_8
+ 2156003336
+ name 1_130_KEY_9
+ 2156003337
+ name 1_130_KEY_POWER
+ 2156003338
+ name 1_130_KEY_CH_UP
+ 2156003343
+ name 1_130_KEY_CH_DOWN
+ 2156003344
+ name 1_130_CH_PREVIOUS
+ 2156003347
+ name 1_130_KEY_DISPLAY
+ 2156003349
+ name 1_130_KEY_EXIT
+ 2156003352
+ name 1_130_KEY_GUIDE
+ 2156003355
+ name 1_130_KEY_SAT
+ 2156003370
+ name 1_130_KEY_MENU
+ 2156003375
+ name 1_130_KEY_MUP
+ 2156003376
+ name 1_130_KEY_MDOWN
+ 2156003377
+ name 1_130_KEY_MLEFT
+ 2156003378
+ name 1_130_KEY_MRIGHT
+ 2156003379
+ name 1_130_KEY_FF
+ 2156003380
+ name 1_130_KEY_PLAY
+ 2156003381
+ name 1_130_KEY_REW
+ 2156003382
+ name 1_130_KEY_REC
+ 2156003383
+ name 1_130_KEY_PAUSE
+ 2156003384
+ name 1_130_KEY_STOP
+ 2156003385
+ name 1_131_KEY_0
+ 2156068864
+ name 1_131_KEY_1
+ 2156068865
+ name 1_131_KEY_2
+ 2156068866
+ name 1_131_KEY_3
+ 2156068867
+ name 1_131_KEY_4
+ 2156068868
+ name 1_131_KEY_5
+ 2156068869
+ name 1_131_KEY_6
+ 2156068870
+ name 1_131_KEY_7
+ 2156068871
+ name 1_131_KEY_8
+ 2156068872
+ name 1_131_KEY_9
+ 2156068873
+ name 1_131_KEY_POWER
+ 2156068874
+ name 1_131_KEY_CH_UP
+ 2156068879
+ name 1_131_KEY_CH_DOWN
+ 2156068880
+ name 1_131_CH_PREVIOUS
+ 2156068883
+ name 1_131_KEY_DISPLAY
+ 2156068885
+ name 1_131_KEY_EXIT
+ 2156068888
+ name 1_131_KEY_GUIDE
+ 2156068891
+ name 1_131_KEY_SAT
+ 2156068906
+ name 1_131_KEY_MENU
+ 2156068911
+ name 1_131_KEY_MUP
+ 2156068912
+ name 1_131_KEY_MDOWN
+ 2156068913
+ name 1_131_KEY_MLEFT
+ 2156068914
+ name 1_131_KEY_MRIGHT
+ 2156068915
+ name 1_131_KEY_FF
+ 2156068916
+ name 1_131_KEY_PLAY
+ 2156068917
+ name 1_131_KEY_REW
+ 2156068918
+ name 1_131_KEY_REC
+ 2156068919
+ name 1_131_KEY_PAUSE
+ 2156068920
+ name 1_131_KEY_STOP
+ 2156068921
+ name 1_132_KEY_0
+ 2156134400
+ name 1_132_KEY_1
+ 2156134401
+ name 1_132_KEY_2
+ 2156134402
+ name 1_132_KEY_3
+ 2156134403
+ name 1_132_KEY_4
+ 2156134404
+ name 1_132_KEY_5
+ 2156134405
+ name 1_132_KEY_6
+ 2156134406
+ name 1_132_KEY_7
+ 2156134407
+ name 1_132_KEY_8
+ 2156134408
+ name 1_132_KEY_9
+ 2156134409
+ name 1_132_KEY_POWER
+ 2156134410
+ name 1_132_KEY_CH_UP
+ 2156134415
+ name 1_132_KEY_CH_DOWN
+ 2156134416
+ name 1_132_CH_PREVIOUS
+ 2156134419
+ name 1_132_KEY_DISPLAY
+ 2156134421
+ name 1_132_KEY_EXIT
+ 2156134424
+ name 1_132_KEY_GUIDE
+ 2156134427
+ name 1_132_KEY_SAT
+ 2156134442
+ name 1_132_KEY_MENU
+ 2156134447
+ name 1_132_KEY_MUP
+ 2156134448
+ name 1_132_KEY_MDOWN
+ 2156134449
+ name 1_132_KEY_MLEFT
+ 2156134450
+ name 1_132_KEY_MRIGHT
+ 2156134451
+ name 1_132_KEY_FF
+ 2156134452
+ name 1_132_KEY_PLAY
+ 2156134453
+ name 1_132_KEY_REW
+ 2156134454
+ name 1_132_KEY_REC
+ 2156134455
+ name 1_132_KEY_PAUSE
+ 2156134456
+ name 1_132_KEY_STOP
+ 2156134457
+ name 1_133_KEY_0
+ 2156199936
+ name 1_133_KEY_1
+ 2156199937
+ name 1_133_KEY_2
+ 2156199938
+ name 1_133_KEY_3
+ 2156199939
+ name 1_133_KEY_4
+ 2156199940
+ name 1_133_KEY_5
+ 2156199941
+ name 1_133_KEY_6
+ 2156199942
+ name 1_133_KEY_7
+ 2156199943
+ name 1_133_KEY_8
+ 2156199944
+ name 1_133_KEY_9
+ 2156199945
+ name 1_133_KEY_POWER
+ 2156199946
+ name 1_133_KEY_CH_UP
+ 2156199951
+ name 1_133_KEY_CH_DOWN
+ 2156199952
+ name 1_133_CH_PREVIOUS
+ 2156199955
+ name 1_133_KEY_DISPLAY
+ 2156199957
+ name 1_133_KEY_EXIT
+ 2156199960
+ name 1_133_KEY_GUIDE
+ 2156199963
+ name 1_133_KEY_SAT
+ 2156199978
+ name 1_133_KEY_MENU
+ 2156199983
+ name 1_133_KEY_MUP
+ 2156199984
+ name 1_133_KEY_MDOWN
+ 2156199985
+ name 1_133_KEY_MLEFT
+ 2156199986
+ name 1_133_KEY_MRIGHT
+ 2156199987
+ name 1_133_KEY_FF
+ 2156199988
+ name 1_133_KEY_PLAY
+ 2156199989
+ name 1_133_KEY_REW
+ 2156199990
+ name 1_133_KEY_REC
+ 2156199991
+ name 1_133_KEY_PAUSE
+ 2156199992
+ name 1_133_KEY_STOP
+ 2156199993
+ name 1_134_KEY_0
+ 2156265472
+ name 1_134_KEY_1
+ 2156265473
+ name 1_134_KEY_2
+ 2156265474
+ name 1_134_KEY_3
+ 2156265475
+ name 1_134_KEY_4
+ 2156265476
+ name 1_134_KEY_5
+ 2156265477
+ name 1_134_KEY_6
+ 2156265478
+ name 1_134_KEY_7
+ 2156265479
+ name 1_134_KEY_8
+ 2156265480
+ name 1_134_KEY_9
+ 2156265481
+ name 1_134_KEY_POWER
+ 2156265482
+ name 1_134_KEY_CH_UP
+ 2156265487
+ name 1_134_KEY_CH_DOWN
+ 2156265488
+ name 1_134_KEY_MUTE
+ 2156265489
+ name 1_134_KEY_VOL_DOWN
+ 2156265490
+ name 1_134_CH_PREVIOUS
+ 2156265491
+ name 1_134_KEY_VOL_UP
+ 2156265492
+ name 1_134_KEY_DISPLAY
+ 2156265493
+ name 1_134_KEY_EXIT
+ 2156265496
+ name 1_134_KEY_GUIDE
+ 2156265499
+ name 1_134_KEY_ENTER
+ 2156265515
+ name 1_134_KEY_MENU
+ 2156265519
+ name 1_134_KEY_MUP
+ 2156265520
+ name 1_134_KEY_MDOWN
+ 2156265521
+ name 1_134_KEY_MLEFT
+ 2156265522
+ name 1_134_KEY_MRIGHT
+ 2156265523
+ name 1_135_KEY_0
+ 2156331008
+ name 1_135_KEY_1
+ 2156331009
+ name 1_135_KEY_2
+ 2156331010
+ name 1_135_KEY_3
+ 2156331011
+ name 1_135_KEY_4
+ 2156331012
+ name 1_135_KEY_5
+ 2156331013
+ name 1_135_KEY_6
+ 2156331014
+ name 1_135_KEY_7
+ 2156331015
+ name 1_135_KEY_8
+ 2156331016
+ name 1_135_KEY_9
+ 2156331017
+ name 1_135_KEY_POWER
+ 2156331018
+ name 1_135_KEY_CH_UP
+ 2156331023
+ name 1_135_KEY_CH_DOWN
+ 2156331024
+ name 1_135_KEY_MUTE
+ 2156331025
+ name 1_135_KEY_VOL_DOWN
+ 2156331026
+ name 1_135_CH_PREVIOUS
+ 2156331027
+ name 1_135_KEY_VOL_UP
+ 2156331028
+ name 1_135_KEY_DISPLAY
+ 2156331029
+ name 1_135_KEY_MNSELECT
+ 2156331031
+ name 1_135_KEY_GUIDE
+ 2156331035
+ name 1_135_KEY_MNRETRUN
+ 2156331040
+ name 1_135_KEY_SAT
+ 2156331050
+ name 1_135_KEY_MUP
+ 2156331056
+ name 1_135_KEY_MDOWN
+ 2156331057
+ name 1_135_KEY_MLEFT
+ 2156331058
+ name 1_135_KEY_MRIGHT
+ 2156331059
+ name 1_136_KEY_0
+ 2156396544
+ name 1_136_KEY_1
+ 2156396545
+ name 1_136_KEY_2
+ 2156396546
+ name 1_136_KEY_3
+ 2156396547
+ name 1_136_KEY_4
+ 2156396548
+ name 1_136_KEY_5
+ 2156396549
+ name 1_136_KEY_6
+ 2156396550
+ name 1_136_KEY_7
+ 2156396551
+ name 1_136_KEY_8
+ 2156396552
+ name 1_136_KEY_9
+ 2156396553
+ name 1_136_KEY_POWER
+ 2156396554
+ name 1_136_KEY_CH_UP
+ 2156396559
+ name 1_136_KEY_CH_DOWN
+ 2156396560
+ name 1_136_KEY_MUTE
+ 2156396561
+ name 1_136_KEY_VOL_DOWN
+ 2156396562
+ name 1_136_CH_PREVIOUS
+ 2156396563
+ name 1_136_KEY_VOL_UP
+ 2156396564
+ name 1_136_KEY_DISPLAY
+ 2156396565
+ name 1_136_KEY_EXIT
+ 2156396568
+ name 1_136_KEY_GUIDE
+ 2156396571
+ name 1_136_KEY_SAT
+ 2156396586
+ name 1_136_KEY_MENU
+ 2156396591
+ name 1_136_KEY_MUP
+ 2156396592
+ name 1_136_KEY_MDOWN
+ 2156396593
+ name 1_136_KEY_MLEFT
+ 2156396594
+ name 1_136_KEY_MRIGHT
+ 2156396595
+ name 1_137_KEY_0
+ 2156462080
+ name 1_137_KEY_1
+ 2156462081
+ name 1_137_KEY_2
+ 2156462082
+ name 1_137_KEY_3
+ 2156462083
+ name 1_137_KEY_4
+ 2156462084
+ name 1_137_KEY_5
+ 2156462085
+ name 1_137_KEY_6
+ 2156462086
+ name 1_137_KEY_7
+ 2156462087
+ name 1_137_KEY_8
+ 2156462088
+ name 1_137_KEY_9
+ 2156462089
+ name 1_137_KEY_POWER
+ 2156462090
+ name 1_137_KEY_CH_UP
+ 2156462095
+ name 1_137_KEY_CH_DOWN
+ 2156462096
+ name 1_137_KEY_MUTE
+ 2156462097
+ name 1_137_KEY_VOL_DOWN
+ 2156462098
+ name 1_137_CH_PREVIOUS
+ 2156462099
+ name 1_137_KEY_VOL_UP
+ 2156462100
+ name 1_137_KEY_DISPLAY
+ 2156462101
+ name 1_137_KEY_MNSELECT
+ 2156462103
+ name 1_137_KEY_GUIDE
+ 2156462107
+ name 1_137_KEY_MNRETRUN
+ 2156462112
+ name 1_137_KEY_SAT
+ 2156462122
+ name 1_137_KEY_MUP
+ 2156462128
+ name 1_137_KEY_MDOWN
+ 2156462129
+ name 1_137_KEY_MLEFT
+ 2156462130
+ name 1_137_KEY_MRIGHT
+ 2156462131
+ name 1_138_KEY_0
+ 2156527616
+ name 1_138_KEY_1
+ 2156527617
+ name 1_138_KEY_2
+ 2156527618
+ name 1_138_KEY_3
+ 2156527619
+ name 1_138_KEY_4
+ 2156527620
+ name 1_138_KEY_5
+ 2156527621
+ name 1_138_KEY_6
+ 2156527622
+ name 1_138_KEY_7
+ 2156527623
+ name 1_138_KEY_8
+ 2156527624
+ name 1_138_KEY_9
+ 2156527625
+ name 1_138_KEY_POWER
+ 2156527626
+ name 1_138_KEY_CH_UP
+ 2156527631
+ name 1_138_KEY_CH_DOWN
+ 2156527632
+ name 1_138_KEY_MUTE
+ 2156527633
+ name 1_138_KEY_VOL_DOWN
+ 2156527634
+ name 1_138_CH_PREVIOUS
+ 2156527635
+ name 1_138_KEY_VOL_UP
+ 2156527636
+ name 1_138_KEY_DISPLAY
+ 2156527637
+ name 1_138_KEY_MNSELECT
+ 2156527639
+ name 1_138_KEY_EXIT
+ 2156527640
+ name 1_138_KEY_INPUT
+ 2156527642
+ name 1_138_KEY_GUIDE
+ 2156527643
+ name 1_138_KEY_MNRETRUN
+ 2156527648
+ name 1_138_KEY_MENU
+ 2156527663
+ name 1_138_KEY_MUP
+ 2156527664
+ name 1_138_KEY_MDOWN
+ 2156527665
+ name 1_138_KEY_MLEFT
+ 2156527666
+ name 1_138_KEY_MRIGHT
+ 2156527667
+ name 1_138_KEY_FF
+ 2156527668
+ name 1_138_KEY_PLAY
+ 2156527669
+ name 1_138_KEY_REW
+ 2156527670
+ name 1_138_KEY_REC
+ 2156527671
+ name 1_138_KEY_PAUSE
+ 2156527672
+ name 1_138_KEY_STOP
+ 2156527673
+ name 1_139_KEY_0
+ 2156593152
+ name 1_139_KEY_1
+ 2156593153
+ name 1_139_KEY_2
+ 2156593154
+ name 1_139_KEY_3
+ 2156593155
+ name 1_139_KEY_4
+ 2156593156
+ name 1_139_KEY_5
+ 2156593157
+ name 1_139_KEY_6
+ 2156593158
+ name 1_139_KEY_7
+ 2156593159
+ name 1_139_KEY_8
+ 2156593160
+ name 1_139_KEY_9
+ 2156593161
+ name 1_139_KEY_POWER
+ 2156593162
+ name 1_139_KEY_CH_UP
+ 2156593167
+ name 1_139_KEY_CH_DOWN
+ 2156593168
+ name 1_139_CH_PREVIOUS
+ 2156593171
+ name 1_139_KEY_DISPLAY
+ 2156593173
+ name 1_139_KEY_MNSELECT
+ 2156593175
+ name 1_139_KEY_EXIT
+ 2156593176
+ name 1_139_KEY_INPUT
+ 2156593178
+ name 1_139_KEY_GUIDE
+ 2156593179
+ name 1_139_KEY_MNRETRUN
+ 2156593184
+ name 1_139_KEY_MENU
+ 2156593199
+ name 1_139_KEY_MUP
+ 2156593200
+ name 1_139_KEY_MDOWN
+ 2156593201
+ name 1_139_KEY_MLEFT
+ 2156593202
+ name 1_139_KEY_MRIGHT
+ 2156593203
+ name 1_139_KEY_FF
+ 2156593204
+ name 1_139_KEY_PLAY
+ 2156593205
+ name 1_139_KEY_REW
+ 2156593206
+ name 1_139_KEY_REC
+ 2156593207
+ name 1_139_KEY_PAUSE
+ 2156593208
+ name 1_139_KEY_STOP
+ 2156593209
+ name 1_140_KEY_0
+ 2156658688
+ name 1_140_KEY_1
+ 2156658689
+ name 1_140_KEY_2
+ 2156658690
+ name 1_140_KEY_3
+ 2156658691
+ name 1_140_KEY_4
+ 2156658692
+ name 1_140_KEY_5
+ 2156658693
+ name 1_140_KEY_6
+ 2156658694
+ name 1_140_KEY_7
+ 2156658695
+ name 1_140_KEY_8
+ 2156658696
+ name 1_140_KEY_9
+ 2156658697
+ name 1_140_KEY_POWER
+ 2156658698
+ name 1_140_KEY_CH_UP
+ 2156658703
+ name 1_140_KEY_CH_DOWN
+ 2156658704
+ name 1_140_CH_PREVIOUS
+ 2156658707
+ name 1_140_KEY_DISPLAY
+ 2156658709
+ name 1_140_KEY_MNSELECT
+ 2156658711
+ name 1_140_KEY_EXIT
+ 2156658712
+ name 1_140_KEY_INPUT
+ 2156658714
+ name 1_140_KEY_GUIDE
+ 2156658715
+ name 1_140_KEY_MNRETRUN
+ 2156658720
+ name 1_140_KEY_ENTER
+ 2156658731
+ name 1_140_KEY_MENU
+ 2156658735
+ name 1_140_KEY_MUP
+ 2156658736
+ name 1_140_KEY_MDOWN
+ 2156658737
+ name 1_140_KEY_MLEFT
+ 2156658738
+ name 1_140_KEY_MRIGHT
+ 2156658739
+ name 1_140_KEY_FF
+ 2156658740
+ name 1_140_KEY_PLAY
+ 2156658741
+ name 1_140_KEY_REW
+ 2156658742
+ name 1_140_KEY_REC
+ 2156658743
+ name 1_140_KEY_PAUSE
+ 2156658744
+ name 1_140_KEY_STOP
+ 2156658745
+ name 1_141_KEY_0
+ 2156724224
+ name 1_141_KEY_1
+ 2156724225
+ name 1_141_KEY_2
+ 2156724226
+ name 1_141_KEY_3
+ 2156724227
+ name 1_141_KEY_4
+ 2156724228
+ name 1_141_KEY_5
+ 2156724229
+ name 1_141_KEY_6
+ 2156724230
+ name 1_141_KEY_7
+ 2156724231
+ name 1_141_KEY_8
+ 2156724232
+ name 1_141_KEY_9
+ 2156724233
+ name 1_141_KEY_POWER
+ 2156724234
+ name 1_141_KEY_CH_UP
+ 2156724239
+ name 1_141_KEY_CH_DOWN
+ 2156724240
+ name 1_141_CH_PREVIOUS
+ 2156724243
+ name 1_141_KEY_DISPLAY
+ 2156724245
+ name 1_141_KEY_MNSELECT
+ 2156724247
+ name 1_141_KEY_EXIT
+ 2156724248
+ name 1_141_KEY_INPUT
+ 2156724250
+ name 1_141_KEY_GUIDE
+ 2156724251
+ name 1_141_KEY_MNRETRUN
+ 2156724256
+ name 1_141_KEY_ENTER
+ 2156724267
+ name 1_141_KEY_MUP
+ 2156724272
+ name 1_141_KEY_MDOWN
+ 2156724273
+ name 1_141_KEY_MLEFT
+ 2156724274
+ name 1_141_KEY_MRIGHT
+ 2156724275
+ name 1_142_KEY_0
+ 2156789760
+ name 1_142_KEY_1
+ 2156789761
+ name 1_142_KEY_2
+ 2156789762
+ name 1_142_KEY_3
+ 2156789763
+ name 1_142_KEY_4
+ 2156789764
+ name 1_142_KEY_5
+ 2156789765
+ name 1_142_KEY_6
+ 2156789766
+ name 1_142_KEY_7
+ 2156789767
+ name 1_142_KEY_8
+ 2156789768
+ name 1_142_KEY_9
+ 2156789769
+ name 1_142_KEY_POWER
+ 2156789770
+ name 1_142_KEY_CH_UP
+ 2156789775
+ name 1_142_KEY_CH_DOWN
+ 2156789776
+ name 1_142_KEY_MUTE
+ 2156789777
+ name 1_142_KEY_VOL_DOWN
+ 2156789778
+ name 1_142_CH_PREVIOUS
+ 2156789779
+ name 1_142_KEY_VOL_UP
+ 2156789780
+ name 1_142_KEY_DISPLAY
+ 2156789781
+ name 1_142_KEY_MNSELECT
+ 2156789783
+ name 1_142_KEY_EXIT
+ 2156789784
+ name 1_142_KEY_INPUT
+ 2156789786
+ name 1_142_KEY_GUIDE
+ 2156789787
+ name 1_142_KEY_MNRETRUN
+ 2156789792
+ name 1_142_KEY_MENU
+ 2156789807
+ name 1_142_KEY_MUP
+ 2156789808
+ name 1_142_KEY_MDOWN
+ 2156789809
+ name 1_142_KEY_MLEFT
+ 2156789810
+ name 1_142_KEY_MRIGHT
+ 2156789811
+ name 1_143_KEY_0
+ 2156855296
+ name 1_143_KEY_1
+ 2156855297
+ name 1_143_KEY_2
+ 2156855298
+ name 1_143_KEY_3
+ 2156855299
+ name 1_143_KEY_4
+ 2156855300
+ name 1_143_KEY_5
+ 2156855301
+ name 1_143_KEY_6
+ 2156855302
+ name 1_143_KEY_7
+ 2156855303
+ name 1_143_KEY_8
+ 2156855304
+ name 1_143_KEY_9
+ 2156855305
+ name 1_143_KEY_POWER
+ 2156855306
+ name 1_143_KEY_CH_UP
+ 2156855311
+ name 1_143_KEY_CH_DOWN
+ 2156855312
+ name 1_143_CH_PREVIOUS
+ 2156855315
+ name 1_143_KEY_DISPLAY
+ 2156855317
+ name 1_143_KEY_MNSELECT
+ 2156855319
+ name 1_143_KEY_EXIT
+ 2156855320
+ name 1_143_KEY_INPUT
+ 2156855322
+ name 1_143_KEY_GUIDE
+ 2156855323
+ name 1_143_KEY_MNRETRUN
+ 2156855328
+ name 1_143_KEY_MENU
+ 2156855343
+ name 1_143_KEY_MUP
+ 2156855344
+ name 1_143_KEY_MDOWN
+ 2156855345
+ name 1_143_KEY_MLEFT
+ 2156855346
+ name 1_143_KEY_MRIGHT
+ 2156855347
+ name 1_144_KEY_0
+ 2156920832
+ name 1_144_KEY_1
+ 2156920833
+ name 1_144_KEY_2
+ 2156920834
+ name 1_144_KEY_3
+ 2156920835
+ name 1_144_KEY_4
+ 2156920836
+ name 1_144_KEY_5
+ 2156920837
+ name 1_144_KEY_6
+ 2156920838
+ name 1_144_KEY_7
+ 2156920839
+ name 1_144_KEY_8
+ 2156920840
+ name 1_144_KEY_9
+ 2156920841
+ name 1_144_KEY_POWER
+ 2156920842
+ name 1_144_KEY_CH_UP
+ 2156920847
+ name 1_144_KEY_CH_DOWN
+ 2156920848
+ name 1_144_CH_PREVIOUS
+ 2156920851
+ name 1_144_KEY_DISPLAY
+ 2156920853
+ name 1_144_KEY_EXIT
+ 2156920856
+ name 1_144_KEY_INPUT
+ 2156920858
+ name 1_144_KEY_GUIDE
+ 2156920859
+ name 1_144_KEY_MNRETRUN
+ 2156920864
+ name 1_144_KEY_SAT
+ 2156920874
+ name 1_144_KEY_MENU
+ 2156920879
+ name 1_144_KEY_MUP
+ 2156920880
+ name 1_144_KEY_MDOWN
+ 2156920881
+ name 1_144_KEY_MLEFT
+ 2156920882
+ name 1_144_KEY_MRIGHT
+ 2156920883
+ name 1_145_KEY_0
+ 2156986368
+ name 1_145_KEY_1
+ 2156986369
+ name 1_145_KEY_2
+ 2156986370
+ name 1_145_KEY_3
+ 2156986371
+ name 1_145_KEY_4
+ 2156986372
+ name 1_145_KEY_5
+ 2156986373
+ name 1_145_KEY_6
+ 2156986374
+ name 1_145_KEY_7
+ 2156986375
+ name 1_145_KEY_8
+ 2156986376
+ name 1_145_KEY_9
+ 2156986377
+ name 1_145_KEY_POWER
+ 2156986378
+ name 1_145_KEY_CH_UP
+ 2156986383
+ name 1_145_KEY_CH_DOWN
+ 2156986384
+ name 1_145_CH_PREVIOUS
+ 2156986387
+ name 1_145_KEY_DISPLAY
+ 2156986389
+ name 1_145_KEY_EXIT
+ 2156986392
+ name 1_145_KEY_INPUT
+ 2156986394
+ name 1_145_KEY_GUIDE
+ 2156986395
+ name 1_145_KEY_MNRETRUN
+ 2156986400
+ name 1_145_KEY_SAT
+ 2156986410
+ name 1_145_KEY_MENU
+ 2156986415
+ name 1_145_KEY_MUP
+ 2156986416
+ name 1_145_KEY_MDOWN
+ 2156986417
+ name 1_145_KEY_MLEFT
+ 2156986418
+ name 1_145_KEY_MRIGHT
+ 2156986419
+ name 1_146_KEY_0
+ 2157051904
+ name 1_146_KEY_1
+ 2157051905
+ name 1_146_KEY_2
+ 2157051906
+ name 1_146_KEY_3
+ 2157051907
+ name 1_146_KEY_4
+ 2157051908
+ name 1_146_KEY_5
+ 2157051909
+ name 1_146_KEY_6
+ 2157051910
+ name 1_146_KEY_7
+ 2157051911
+ name 1_146_KEY_8
+ 2157051912
+ name 1_146_KEY_9
+ 2157051913
+ name 1_146_KEY_POWER
+ 2157051914
+ name 1_146_KEY_CH_UP
+ 2157051919
+ name 1_146_KEY_CH_DOWN
+ 2157051920
+ name 1_146_KEY_MUTE
+ 2157051921
+ name 1_146_KEY_VOL_DOWN
+ 2157051922
+ name 1_146_CH_PREVIOUS
+ 2157051923
+ name 1_146_KEY_VOL_UP
+ 2157051924
+ name 1_146_KEY_MNSELECT
+ 2157051927
+ name 1_146_KEY_EXIT
+ 2157051928
+ name 1_146_KEY_INPUT
+ 2157051930
+ name 1_146_KEY_GUIDE
+ 2157051931
+ name 1_146_KEY_SAT
+ 2157051946
+ name 1_146_KEY_MENU
+ 2157051951
+ name 1_146_KEY_MUP
+ 2157051952
+ name 1_146_KEY_MDOWN
+ 2157051953
+ name 1_146_KEY_MLEFT
+ 2157051954
+ name 1_146_KEY_MRIGHT
+ 2157051955
+ name 1_147_KEY_0
+ 2157117440
+ name 1_147_KEY_1
+ 2157117441
+ name 1_147_KEY_2
+ 2157117442
+ name 1_147_KEY_3
+ 2157117443
+ name 1_147_KEY_4
+ 2157117444
+ name 1_147_KEY_5
+ 2157117445
+ name 1_147_KEY_6
+ 2157117446
+ name 1_147_KEY_7
+ 2157117447
+ name 1_147_KEY_8
+ 2157117448
+ name 1_147_KEY_9
+ 2157117449
+ name 1_147_KEY_POWER
+ 2157117450
+ name 1_147_KEY_CH_UP
+ 2157117455
+ name 1_147_KEY_CH_DOWN
+ 2157117456
+ name 1_147_CH_PREVIOUS
+ 2157117459
+ name 1_147_KEY_DISPLAY
+ 2157117461
+ name 1_147_KEY_EXIT
+ 2157117464
+ name 1_147_KEY_GUIDE
+ 2157117467
+ name 1_147_KEY_MENU
+ 2157117487
+ name 1_147_KEY_MUP
+ 2157117488
+ name 1_147_KEY_MDOWN
+ 2157117489
+ name 1_147_KEY_MLEFT
+ 2157117490
+ name 1_147_KEY_MRIGHT
+ 2157117491
+ name 1_148_KEY_0
+ 2157182976
+ name 1_148_KEY_1
+ 2157182977
+ name 1_148_KEY_2
+ 2157182978
+ name 1_148_KEY_3
+ 2157182979
+ name 1_148_KEY_4
+ 2157182980
+ name 1_148_KEY_5
+ 2157182981
+ name 1_148_KEY_6
+ 2157182982
+ name 1_148_KEY_7
+ 2157182983
+ name 1_148_KEY_8
+ 2157182984
+ name 1_148_KEY_9
+ 2157182985
+ name 1_148_KEY_POWER
+ 2157182986
+ name 1_148_KEY_CH_UP
+ 2157182991
+ name 1_148_KEY_CH_DOWN
+ 2157182992
+ name 1_148_KEY_MUTE
+ 2157182993
+ name 1_148_KEY_VOL_DOWN
+ 2157182994
+ name 1_148_CH_PREVIOUS
+ 2157182995
+ name 1_148_KEY_VOL_UP
+ 2157182996
+ name 1_148_KEY_DISPLAY
+ 2157182997
+ name 1_148_KEY_MNSELECT
+ 2157182999
+ name 1_148_KEY_EXIT
+ 2157183000
+ name 1_148_KEY_GUIDE
+ 2157183003
+ name 1_148_KEY_MNRETRUN
+ 2157183008
+ name 1_148_KEY_MENU
+ 2157183023
+ name 1_148_KEY_MUP
+ 2157183024
+ name 1_148_KEY_MDOWN
+ 2157183025
+ name 1_148_KEY_MLEFT
+ 2157183026
+ name 1_148_KEY_MRIGHT
+ 2157183027
+ name 1_149_KEY_0
+ 2157248512
+ name 1_149_KEY_1
+ 2157248513
+ name 1_149_KEY_2
+ 2157248514
+ name 1_149_KEY_3
+ 2157248515
+ name 1_149_KEY_4
+ 2157248516
+ name 1_149_KEY_5
+ 2157248517
+ name 1_149_KEY_6
+ 2157248518
+ name 1_149_KEY_7
+ 2157248519
+ name 1_149_KEY_8
+ 2157248520
+ name 1_149_KEY_9
+ 2157248521
+ name 1_149_KEY_POWER
+ 2157248522
+ name 1_149_KEY_CH_UP
+ 2157248527
+ name 1_149_KEY_CH_DOWN
+ 2157248528
+ name 1_149_KEY_MUTE
+ 2157248529
+ name 1_149_KEY_VOL_DOWN
+ 2157248530
+ name 1_149_CH_PREVIOUS
+ 2157248531
+ name 1_149_KEY_VOL_UP
+ 2157248532
+ name 1_149_KEY_DISPLAY
+ 2157248533
+ name 1_149_KEY_MNSELECT
+ 2157248535
+ name 1_149_KEY_EXIT
+ 2157248536
+ name 1_149_KEY_GUIDE
+ 2157248539
+ name 1_149_KEY_MNRETRUN
+ 2157248544
+ name 1_149_KEY_ENTER
+ 2157248555
+ name 1_149_KEY_MENU
+ 2157248559
+ name 1_149_KEY_MUP
+ 2157248560
+ name 1_149_KEY_MDOWN
+ 2157248561
+ name 1_149_KEY_MLEFT
+ 2157248562
+ name 1_149_KEY_MRIGHT
+ 2157248563
+ name 1_149_KEY_FF
+ 2157248564
+ name 1_149_KEY_PLAY
+ 2157248565
+ name 1_149_KEY_REW
+ 2157248566
+ name 1_149_KEY_REC
+ 2157248567
+ name 1_149_KEY_PAUSE
+ 2157248568
+ name 1_149_KEY_STOP
+ 2157248569
+ name 1_150_KEY_0
+ 2157314048
+ name 1_150_KEY_1
+ 2157314049
+ name 1_150_KEY_2
+ 2157314050
+ name 1_150_KEY_3
+ 2157314051
+ name 1_150_KEY_4
+ 2157314052
+ name 1_150_KEY_5
+ 2157314053
+ name 1_150_KEY_6
+ 2157314054
+ name 1_150_KEY_7
+ 2157314055
+ name 1_150_KEY_8
+ 2157314056
+ name 1_150_KEY_9
+ 2157314057
+ name 1_150_KEY_POWER
+ 2157314058
+ name 1_150_KEY_CH_UP
+ 2157314063
+ name 1_150_KEY_CH_DOWN
+ 2157314064
+ name 1_150_KEY_MUTE
+ 2157314065
+ name 1_150_KEY_VOL_DOWN
+ 2157314066
+ name 1_150_CH_PREVIOUS
+ 2157314067
+ name 1_150_KEY_VOL_UP
+ 2157314068
+ name 1_150_KEY_DISPLAY
+ 2157314069
+ name 1_150_KEY_MNSELECT
+ 2157314071
+ name 1_150_KEY_EXIT
+ 2157314072
+ name 1_150_KEY_GUIDE
+ 2157314075
+ name 1_150_KEY_MNRETRUN
+ 2157314080
+ name 1_150_KEY_MENU
+ 2157314095
+ name 1_150_KEY_MUP
+ 2157314096
+ name 1_150_KEY_MDOWN
+ 2157314097
+ name 1_150_KEY_MLEFT
+ 2157314098
+ name 1_150_KEY_MRIGHT
+ 2157314099
+ name 1_150_KEY_FF
+ 2157314100
+ name 1_150_KEY_PLAY
+ 2157314101
+ name 1_150_KEY_REW
+ 2157314102
+ name 1_150_KEY_REC
+ 2157314103
+ name 1_150_KEY_PAUSE
+ 2157314104
+ name 1_150_KEY_STOP
+ 2157314105
+ name 1_151_KEY_0
+ 2157379584
+ name 1_151_KEY_1
+ 2157379585
+ name 1_151_KEY_2
+ 2157379586
+ name 1_151_KEY_3
+ 2157379587
+ name 1_151_KEY_4
+ 2157379588
+ name 1_151_KEY_5
+ 2157379589
+ name 1_151_KEY_6
+ 2157379590
+ name 1_151_KEY_7
+ 2157379591
+ name 1_151_KEY_8
+ 2157379592
+ name 1_151_KEY_9
+ 2157379593
+ name 1_151_KEY_CH_UP
+ 2157379599
+ name 1_151_KEY_CH_DOWN
+ 2157379600
+ name 1_151_CH_PREVIOUS
+ 2157379603
+ name 1_151_KEY_DISPLAY
+ 2157379605
+ name 1_151_KEY_MNSELECT
+ 2157379607
+ name 1_151_KEY_EXIT
+ 2157379608
+ name 1_151_KEY_GUIDE
+ 2157379611
+ name 1_151_KEY_MNRETRUN
+ 2157379616
+ name 1_151_KEY_ENTER
+ 2157379627
+ name 1_151_KEY_MENU
+ 2157379631
+ name 1_151_KEY_MUP
+ 2157379632
+ name 1_151_KEY_MDOWN
+ 2157379633
+ name 1_151_KEY_MLEFT
+ 2157379634
+ name 1_151_KEY_MRIGHT
+ 2157379635
+ name 1_151_KEY_FF
+ 2157379636
+ name 1_151_KEY_PLAY
+ 2157379637
+ name 1_151_KEY_REW
+ 2157379638
+ name 1_151_KEY_REC
+ 2157379639
+ name 1_151_KEY_PAUSE
+ 2157379640
+ name 1_152_KEY_0
+ 2157445120
+ name 1_152_KEY_1
+ 2157445121
+ name 1_152_KEY_2
+ 2157445122
+ name 1_152_KEY_3
+ 2157445123
+ name 1_152_KEY_4
+ 2157445124
+ name 1_152_KEY_5
+ 2157445125
+ name 1_152_KEY_6
+ 2157445126
+ name 1_152_KEY_7
+ 2157445127
+ name 1_152_KEY_8
+ 2157445128
+ name 1_152_KEY_9
+ 2157445129
+ name 1_152_KEY_POWER
+ 2157445130
+ name 1_152_KEY_CH_UP
+ 2157445135
+ name 1_152_KEY_CH_DOWN
+ 2157445136
+ name 1_152_CH_PREVIOUS
+ 2157445139
+ name 1_152_KEY_DISPLAY
+ 2157445141
+ name 1_152_KEY_MNSELECT
+ 2157445143
+ name 1_152_KEY_EXIT
+ 2157445144
+ name 1_152_KEY_GUIDE
+ 2157445147
+ name 1_152_KEY_MNRETRUN
+ 2157445152
+ name 1_152_KEY_MENU
+ 2157445167
+ name 1_152_KEY_MUP
+ 2157445168
+ name 1_152_KEY_MDOWN
+ 2157445169
+ name 1_152_KEY_MLEFT
+ 2157445170
+ name 1_152_KEY_MRIGHT
+ 2157445171
+ name 1_152_KEY_FF
+ 2157445172
+ name 1_152_KEY_PLAY
+ 2157445173
+ name 1_152_KEY_REW
+ 2157445174
+ name 1_152_KEY_REC
+ 2157445175
+ name 1_152_KEY_PAUSE
+ 2157445176
+ name 1_152_KEY_STOP
+ 2157445177
+ name 1_153_KEY_0
+ 2157510656
+ name 1_153_KEY_1
+ 2157510657
+ name 1_153_KEY_2
+ 2157510658
+ name 1_153_KEY_3
+ 2157510659
+ name 1_153_KEY_4
+ 2157510660
+ name 1_153_KEY_5
+ 2157510661
+ name 1_153_KEY_6
+ 2157510662
+ name 1_153_KEY_7
+ 2157510663
+ name 1_153_KEY_8
+ 2157510664
+ name 1_153_KEY_9
+ 2157510665
+ name 1_153_KEY_POWER
+ 2157510666
+ name 1_153_KEY_CH_UP
+ 2157510671
+ name 1_153_KEY_CH_DOWN
+ 2157510672
+ name 1_153_CH_PREVIOUS
+ 2157510675
+ name 1_153_KEY_DISPLAY
+ 2157510677
+ name 1_153_KEY_MNSELECT
+ 2157510679
+ name 1_153_KEY_EXIT
+ 2157510680
+ name 1_153_KEY_GUIDE
+ 2157510683
+ name 1_153_KEY_MNRETRUN
+ 2157510688
+ name 1_153_KEY_MENU
+ 2157510703
+ name 1_153_KEY_MUP
+ 2157510704
+ name 1_153_KEY_MDOWN
+ 2157510705
+ name 1_153_KEY_MLEFT
+ 2157510706
+ name 1_153_KEY_MRIGHT
+ 2157510707
+ name 1_153_KEY_FF
+ 2157510708
+ name 1_153_KEY_PLAY
+ 2157510709
+ name 1_153_KEY_REW
+ 2157510710
+ name 1_153_KEY_REC
+ 2157510711
+ name 1_153_KEY_PAUSE
+ 2157510712
+ name 1_153_KEY_STOP
+ 2157510713
+ name 1_154_KEY_0
+ 2157576192
+ name 1_154_KEY_1
+ 2157576193
+ name 1_154_KEY_2
+ 2157576194
+ name 1_154_KEY_3
+ 2157576195
+ name 1_154_KEY_4
+ 2157576196
+ name 1_154_KEY_5
+ 2157576197
+ name 1_154_KEY_6
+ 2157576198
+ name 1_154_KEY_7
+ 2157576199
+ name 1_154_KEY_8
+ 2157576200
+ name 1_154_KEY_9
+ 2157576201
+ name 1_154_KEY_POWER
+ 2157576202
+ name 1_154_KEY_CH_UP
+ 2157576207
+ name 1_154_KEY_CH_DOWN
+ 2157576208
+ name 1_154_CH_PREVIOUS
+ 2157576211
+ name 1_154_KEY_DISPLAY
+ 2157576213
+ name 1_154_KEY_MNSELECT
+ 2157576215
+ name 1_154_KEY_EXIT
+ 2157576216
+ name 1_154_KEY_GUIDE
+ 2157576219
+ name 1_154_KEY_MNRETRUN
+ 2157576224
+ name 1_154_KEY_ENTER
+ 2157576235
+ name 1_154_KEY_MENU
+ 2157576239
+ name 1_154_KEY_MUP
+ 2157576240
+ name 1_154_KEY_MDOWN
+ 2157576241
+ name 1_154_KEY_MLEFT
+ 2157576242
+ name 1_154_KEY_MRIGHT
+ 2157576243
+ name 1_154_KEY_FF
+ 2157576244
+ name 1_154_KEY_PLAY
+ 2157576245
+ name 1_154_KEY_REW
+ 2157576246
+ name 1_154_KEY_REC
+ 2157576247
+ name 1_154_KEY_PAUSE
+ 2157576248
+ name 1_154_KEY_STOP
+ 2157576249
+ name 1_155_KEY_0
+ 2157641728
+ name 1_155_KEY_1
+ 2157641729
+ name 1_155_KEY_2
+ 2157641730
+ name 1_155_KEY_3
+ 2157641731
+ name 1_155_KEY_4
+ 2157641732
+ name 1_155_KEY_5
+ 2157641733
+ name 1_155_KEY_6
+ 2157641734
+ name 1_155_KEY_7
+ 2157641735
+ name 1_155_KEY_8
+ 2157641736
+ name 1_155_KEY_9
+ 2157641737
+ name 1_155_KEY_POWER
+ 2157641738
+ name 1_155_KEY_CH_UP
+ 2157641743
+ name 1_155_KEY_CH_DOWN
+ 2157641744
+ name 1_155_CH_PREVIOUS
+ 2157641747
+ name 1_155_KEY_DISPLAY
+ 2157641749
+ name 1_155_KEY_MNSELECT
+ 2157641751
+ name 1_155_KEY_EXIT
+ 2157641752
+ name 1_155_KEY_GUIDE
+ 2157641755
+ name 1_155_KEY_MNRETRUN
+ 2157641760
+ name 1_155_KEY_ENTER
+ 2157641771
+ name 1_155_KEY_MENU
+ 2157641775
+ name 1_155_KEY_MUP
+ 2157641776
+ name 1_155_KEY_MDOWN
+ 2157641777
+ name 1_155_KEY_MLEFT
+ 2157641778
+ name 1_155_KEY_MRIGHT
+ 2157641779
+ name 1_155_KEY_FF
+ 2157641780
+ name 1_155_KEY_PLAY
+ 2157641781
+ name 1_155_KEY_REW
+ 2157641782
+ name 1_155_KEY_REC
+ 2157641783
+ name 1_155_KEY_PAUSE
+ 2157641784
+ name 1_156_KEY_0
+ 2157707264
+ name 1_156_KEY_1
+ 2157707265
+ name 1_156_KEY_2
+ 2157707266
+ name 1_156_KEY_3
+ 2157707267
+ name 1_156_KEY_4
+ 2157707268
+ name 1_156_KEY_5
+ 2157707269
+ name 1_156_KEY_6
+ 2157707270
+ name 1_156_KEY_7
+ 2157707271
+ name 1_156_KEY_8
+ 2157707272
+ name 1_156_KEY_9
+ 2157707273
+ name 1_156_KEY_CH_UP
+ 2157707279
+ name 1_156_KEY_CH_DOWN
+ 2157707280
+ name 1_156_CH_PREVIOUS
+ 2157707283
+ name 1_156_KEY_DISPLAY
+ 2157707285
+ name 1_156_KEY_MNSELECT
+ 2157707287
+ name 1_156_KEY_EXIT
+ 2157707288
+ name 1_156_KEY_GUIDE
+ 2157707291
+ name 1_156_KEY_MNRETRUN
+ 2157707296
+ name 1_156_KEY_ENTER
+ 2157707307
+ name 1_156_KEY_MENU
+ 2157707311
+ name 1_156_KEY_MUP
+ 2157707312
+ name 1_156_KEY_MDOWN
+ 2157707313
+ name 1_156_KEY_MLEFT
+ 2157707314
+ name 1_156_KEY_MRIGHT
+ 2157707315
+ name 1_156_KEY_FF
+ 2157707316
+ name 1_156_KEY_PLAY
+ 2157707317
+ name 1_156_KEY_REW
+ 2157707318
+ name 1_156_KEY_REC
+ 2157707319
+ name 1_156_KEY_PAUSE
+ 2157707320
+ name 1_157_KEY_0
+ 2157772800
+ name 1_157_KEY_1
+ 2157772801
+ name 1_157_KEY_2
+ 2157772802
+ name 1_157_KEY_3
+ 2157772803
+ name 1_157_KEY_4
+ 2157772804
+ name 1_157_KEY_5
+ 2157772805
+ name 1_157_KEY_6
+ 2157772806
+ name 1_157_KEY_7
+ 2157772807
+ name 1_157_KEY_8
+ 2157772808
+ name 1_157_KEY_9
+ 2157772809
+ name 1_157_KEY_POWER
+ 2157772810
+ name 1_157_KEY_CH_UP
+ 2157772815
+ name 1_157_KEY_CH_DOWN
+ 2157772816
+ name 1_157_KEY_DISPLAY
+ 2157772821
+ name 1_157_KEY_MNSELECT
+ 2157772823
+ name 1_157_KEY_EXIT
+ 2157772824
+ name 1_157_KEY_GUIDE
+ 2157772827
+ name 1_157_KEY_ENTER
+ 2157772843
+ name 1_157_KEY_MENU
+ 2157772847
+ name 1_157_KEY_MUP
+ 2157772848
+ name 1_157_KEY_MDOWN
+ 2157772849
+ name 1_157_KEY_MLEFT
+ 2157772850
+ name 1_157_KEY_MRIGHT
+ 2157772851
+ name 1_157_KEY_FF
+ 2157772852
+ name 1_157_KEY_PLAY
+ 2157772853
+ name 1_157_KEY_REW
+ 2157772854
+ name 1_157_KEY_REC
+ 2157772855
+ name 1_157_KEY_PAUSE
+ 2157772856
+ name 1_158_KEY_0
+ 2157838336
+ name 1_158_KEY_1
+ 2157838337
+ name 1_158_KEY_2
+ 2157838338
+ name 1_158_KEY_3
+ 2157838339
+ name 1_158_KEY_4
+ 2157838340
+ name 1_158_KEY_5
+ 2157838341
+ name 1_158_KEY_6
+ 2157838342
+ name 1_158_KEY_7
+ 2157838343
+ name 1_158_KEY_8
+ 2157838344
+ name 1_158_KEY_9
+ 2157838345
+ name 1_158_KEY_POWER
+ 2157838346
+ name 1_158_KEY_CH_UP
+ 2157838351
+ name 1_158_KEY_CH_DOWN
+ 2157838352
+ name 1_158_KEY_DISPLAY
+ 2157838357
+ name 1_158_KEY_MNSELECT
+ 2157838359
+ name 1_158_KEY_EXIT
+ 2157838360
+ name 1_158_KEY_GUIDE
+ 2157838363
+ name 1_158_KEY_ENTER
+ 2157838379
+ name 1_158_KEY_MENU
+ 2157838383
+ name 1_158_KEY_MUP
+ 2157838384
+ name 1_158_KEY_MDOWN
+ 2157838385
+ name 1_158_KEY_MLEFT
+ 2157838386
+ name 1_158_KEY_MRIGHT
+ 2157838387
+ name 1_158_KEY_FF
+ 2157838388
+ name 1_158_KEY_PLAY
+ 2157838389
+ name 1_158_KEY_REW
+ 2157838390
+ name 1_158_KEY_REC
+ 2157838391
+ name 1_158_KEY_PAUSE
+ 2157838392
+ name 1_159_KEY_0
+ 2157903872
+ name 1_159_KEY_1
+ 2157903873
+ name 1_159_KEY_2
+ 2157903874
+ name 1_159_KEY_3
+ 2157903875
+ name 1_159_KEY_4
+ 2157903876
+ name 1_159_KEY_5
+ 2157903877
+ name 1_159_KEY_6
+ 2157903878
+ name 1_159_KEY_7
+ 2157903879
+ name 1_159_KEY_8
+ 2157903880
+ name 1_159_KEY_9
+ 2157903881
+ name 1_159_KEY_POWER
+ 2157903882
+ name 1_159_KEY_CH_UP
+ 2157903887
+ name 1_159_KEY_CH_DOWN
+ 2157903888
+ name 1_159_KEY_MUTE
+ 2157903889
+ name 1_159_KEY_VOL_DOWN
+ 2157903890
+ name 1_159_CH_PREVIOUS
+ 2157903891
+ name 1_159_KEY_VOL_UP
+ 2157903892
+ name 1_159_KEY_DISPLAY
+ 2157903893
+ name 1_159_KEY_MNSELECT
+ 2157903895
+ name 1_159_KEY_EXIT
+ 2157903896
+ name 1_159_KEY_GUIDE
+ 2157903899
+ name 1_159_KEY_MNRETRUN
+ 2157903904
+ name 1_159_KEY_ENTER
+ 2157903915
+ name 1_159_KEY_MENU
+ 2157903919
+ name 1_159_KEY_MUP
+ 2157903920
+ name 1_159_KEY_MDOWN
+ 2157903921
+ name 1_159_KEY_MLEFT
+ 2157903922
+ name 1_159_KEY_MRIGHT
+ 2157903923
+ name 1_160_KEY_0
+ 2157969408
+ name 1_160_KEY_1
+ 2157969409
+ name 1_160_KEY_2
+ 2157969410
+ name 1_160_KEY_3
+ 2157969411
+ name 1_160_KEY_4
+ 2157969412
+ name 1_160_KEY_5
+ 2157969413
+ name 1_160_KEY_6
+ 2157969414
+ name 1_160_KEY_7
+ 2157969415
+ name 1_160_KEY_8
+ 2157969416
+ name 1_160_KEY_9
+ 2157969417
+ name 1_160_KEY_CH_UP
+ 2157969423
+ name 1_160_KEY_CH_DOWN
+ 2157969424
+ name 1_160_CH_PREVIOUS
+ 2157969427
+ name 1_160_KEY_DISPLAY
+ 2157969429
+ name 1_160_KEY_MNSELECT
+ 2157969431
+ name 1_160_KEY_EXIT
+ 2157969432
+ name 1_160_KEY_GUIDE
+ 2157969435
+ name 1_160_KEY_MNRETRUN
+ 2157969440
+ name 1_160_KEY_ENTER
+ 2157969451
+ name 1_160_KEY_MENU
+ 2157969455
+ name 1_160_KEY_MUP
+ 2157969456
+ name 1_160_KEY_MDOWN
+ 2157969457
+ name 1_160_KEY_MLEFT
+ 2157969458
+ name 1_160_KEY_MRIGHT
+ 2157969459
+ name 1_161_KEY_0
+ 2158034944
+ name 1_161_KEY_1
+ 2158034945
+ name 1_161_KEY_2
+ 2158034946
+ name 1_161_KEY_3
+ 2158034947
+ name 1_161_KEY_4
+ 2158034948
+ name 1_161_KEY_5
+ 2158034949
+ name 1_161_KEY_6
+ 2158034950
+ name 1_161_KEY_7
+ 2158034951
+ name 1_161_KEY_8
+ 2158034952
+ name 1_161_KEY_9
+ 2158034953
+ name 1_161_KEY_POWER
+ 2158034954
+ name 1_161_KEY_CH_UP
+ 2158034959
+ name 1_161_KEY_CH_DOWN
+ 2158034960
+ name 1_161_CH_PREVIOUS
+ 2158034963
+ name 1_161_KEY_DISPLAY
+ 2158034965
+ name 1_161_KEY_MNSELECT
+ 2158034967
+ name 1_161_KEY_EXIT
+ 2158034968
+ name 1_161_KEY_GUIDE
+ 2158034971
+ name 1_161_KEY_MNRETRUN
+ 2158034976
+ name 1_161_KEY_MENU
+ 2158034991
+ name 1_161_KEY_MUP
+ 2158034992
+ name 1_161_KEY_MDOWN
+ 2158034993
+ name 1_161_KEY_MLEFT
+ 2158034994
+ name 1_161_KEY_MRIGHT
+ 2158034995
+ name 1_162_KEY_0
+ 2158100480
+ name 1_162_KEY_1
+ 2158100481
+ name 1_162_KEY_2
+ 2158100482
+ name 1_162_KEY_3
+ 2158100483
+ name 1_162_KEY_4
+ 2158100484
+ name 1_162_KEY_5
+ 2158100485
+ name 1_162_KEY_6
+ 2158100486
+ name 1_162_KEY_7
+ 2158100487
+ name 1_162_KEY_8
+ 2158100488
+ name 1_162_KEY_9
+ 2158100489
+ name 1_162_KEY_POWER
+ 2158100490
+ name 1_162_KEY_CH_UP
+ 2158100495
+ name 1_162_KEY_CH_DOWN
+ 2158100496
+ name 1_162_KEY_MUTE
+ 2158100497
+ name 1_162_KEY_VOL_DOWN
+ 2158100498
+ name 1_162_CH_PREVIOUS
+ 2158100499
+ name 1_162_KEY_VOL_UP
+ 2158100500
+ name 1_162_KEY_DISPLAY
+ 2158100501
+ name 1_162_KEY_MNSELECT
+ 2158100503
+ name 1_162_KEY_EXIT
+ 2158100504
+ name 1_162_KEY_GUIDE
+ 2158100507
+ name 1_162_KEY_MNRETRUN
+ 2158100512
+ name 1_162_KEY_ENTER
+ 2158100523
+ name 1_162_KEY_MENU
+ 2158100527
+ name 1_162_KEY_MUP
+ 2158100528
+ name 1_162_KEY_MDOWN
+ 2158100529
+ name 1_162_KEY_MLEFT
+ 2158100530
+ name 1_162_KEY_MRIGHT
+ 2158100531
+ name 1_163_KEY_0
+ 2158166016
+ name 1_163_KEY_1
+ 2158166017
+ name 1_163_KEY_2
+ 2158166018
+ name 1_163_KEY_3
+ 2158166019
+ name 1_163_KEY_4
+ 2158166020
+ name 1_163_KEY_5
+ 2158166021
+ name 1_163_KEY_6
+ 2158166022
+ name 1_163_KEY_7
+ 2158166023
+ name 1_163_KEY_8
+ 2158166024
+ name 1_163_KEY_9
+ 2158166025
+ name 1_163_KEY_POWER
+ 2158166026
+ name 1_163_KEY_CH_UP
+ 2158166031
+ name 1_163_KEY_CH_DOWN
+ 2158166032
+ name 1_163_KEY_MUTE
+ 2158166033
+ name 1_163_KEY_VOL_DOWN
+ 2158166034
+ name 1_163_CH_PREVIOUS
+ 2158166035
+ name 1_163_KEY_VOL_UP
+ 2158166036
+ name 1_163_KEY_DISPLAY
+ 2158166037
+ name 1_163_KEY_MNSELECT
+ 2158166039
+ name 1_163_KEY_EXIT
+ 2158166040
+ name 1_163_KEY_GUIDE
+ 2158166043
+ name 1_163_KEY_MNRETRUN
+ 2158166048
+ name 1_163_KEY_MENU
+ 2158166063
+ name 1_163_KEY_MUP
+ 2158166064
+ name 1_163_KEY_MDOWN
+ 2158166065
+ name 1_163_KEY_MLEFT
+ 2158166066
+ name 1_163_KEY_MRIGHT
+ 2158166067
+ name 1_164_KEY_0
+ 2158231552
+ name 1_164_KEY_1
+ 2158231553
+ name 1_164_KEY_2
+ 2158231554
+ name 1_164_KEY_3
+ 2158231555
+ name 1_164_KEY_4
+ 2158231556
+ name 1_164_KEY_5
+ 2158231557
+ name 1_164_KEY_6
+ 2158231558
+ name 1_164_KEY_7
+ 2158231559
+ name 1_164_KEY_8
+ 2158231560
+ name 1_164_KEY_9
+ 2158231561
+ name 1_164_KEY_POWER
+ 2158231562
+ name 1_164_KEY_CH_UP
+ 2158231567
+ name 1_164_KEY_CH_DOWN
+ 2158231568
+ name 1_164_CH_PREVIOUS
+ 2158231571
+ name 1_164_KEY_DISPLAY
+ 2158231573
+ name 1_164_KEY_MNSELECT
+ 2158231575
+ name 1_164_KEY_EXIT
+ 2158231576
+ name 1_164_KEY_GUIDE
+ 2158231579
+ name 1_164_KEY_ENTER
+ 2158231595
+ name 1_164_KEY_MENU
+ 2158231599
+ name 1_164_KEY_MUP
+ 2158231600
+ name 1_164_KEY_MDOWN
+ 2158231601
+ name 1_164_KEY_MLEFT
+ 2158231602
+ name 1_164_KEY_MRIGHT
+ 2158231603
+ name 1_165_KEY_0
+ 2158297088
+ name 1_165_KEY_1
+ 2158297089
+ name 1_165_KEY_2
+ 2158297090
+ name 1_165_KEY_3
+ 2158297091
+ name 1_165_KEY_4
+ 2158297092
+ name 1_165_KEY_5
+ 2158297093
+ name 1_165_KEY_6
+ 2158297094
+ name 1_165_KEY_7
+ 2158297095
+ name 1_165_KEY_8
+ 2158297096
+ name 1_165_KEY_9
+ 2158297097
+ name 1_165_KEY_POWER
+ 2158297098
+ name 1_165_KEY_CH_UP
+ 2158297103
+ name 1_165_KEY_CH_DOWN
+ 2158297104
+ name 1_165_CH_PREVIOUS
+ 2158297107
+ name 1_165_KEY_DISPLAY
+ 2158297109
+ name 1_165_KEY_MNSELECT
+ 2158297111
+ name 1_165_KEY_EXIT
+ 2158297112
+ name 1_165_KEY_GUIDE
+ 2158297115
+ name 1_165_KEY_MNRETRUN
+ 2158297120
+ name 1_165_KEY_ENTER
+ 2158297131
+ name 1_165_KEY_MENU
+ 2158297135
+ name 1_165_KEY_MUP
+ 2158297136
+ name 1_165_KEY_MDOWN
+ 2158297137
+ name 1_165_KEY_MLEFT
+ 2158297138
+ name 1_165_KEY_MRIGHT
+ 2158297139
+ name 1_165_KEY_FF
+ 2158297140
+ name 1_165_KEY_PLAY
+ 2158297141
+ name 1_165_KEY_REW
+ 2158297142
+ name 1_165_KEY_REC
+ 2158297143
+ name 1_165_KEY_PAUSE
+ 2158297144
+ name 1_165_KEY_STOP
+ 2158297145
+ name 1_166_KEY_0
+ 2158362624
+ name 1_166_KEY_1
+ 2158362625
+ name 1_166_KEY_2
+ 2158362626
+ name 1_166_KEY_3
+ 2158362627
+ name 1_166_KEY_4
+ 2158362628
+ name 1_166_KEY_5
+ 2158362629
+ name 1_166_KEY_6
+ 2158362630
+ name 1_166_KEY_7
+ 2158362631
+ name 1_166_KEY_8
+ 2158362632
+ name 1_166_KEY_9
+ 2158362633
+ name 1_166_KEY_CH_UP
+ 2158362639
+ name 1_166_KEY_CH_DOWN
+ 2158362640
+ name 1_166_CH_PREVIOUS
+ 2158362643
+ name 1_166_KEY_DISPLAY
+ 2158362645
+ name 1_166_KEY_MNSELECT
+ 2158362647
+ name 1_166_KEY_EXIT
+ 2158362648
+ name 1_166_KEY_GUIDE
+ 2158362651
+ name 1_166_KEY_MNRETRUN
+ 2158362656
+ name 1_166_KEY_ENTER
+ 2158362667
+ name 1_166_KEY_MENU
+ 2158362671
+ name 1_166_KEY_MUP
+ 2158362672
+ name 1_166_KEY_MDOWN
+ 2158362673
+ name 1_166_KEY_MLEFT
+ 2158362674
+ name 1_166_KEY_MRIGHT
+ 2158362675
+ name 1_166_KEY_FF
+ 2158362676
+ name 1_166_KEY_PLAY
+ 2158362677
+ name 1_166_KEY_REW
+ 2158362678
+ name 1_166_KEY_REC
+ 2158362679
+ name 1_166_KEY_PAUSE
+ 2158362680
+ name 1_167_KEY_0
+ 2158428160
+ name 1_167_KEY_1
+ 2158428161
+ name 1_167_KEY_2
+ 2158428162
+ name 1_167_KEY_3
+ 2158428163
+ name 1_167_KEY_4
+ 2158428164
+ name 1_167_KEY_5
+ 2158428165
+ name 1_167_KEY_6
+ 2158428166
+ name 1_167_KEY_7
+ 2158428167
+ name 1_167_KEY_8
+ 2158428168
+ name 1_167_KEY_9
+ 2158428169
+ name 1_167_KEY_POWER
+ 2158428170
+ name 1_167_KEY_CH_UP
+ 2158428175
+ name 1_167_KEY_CH_DOWN
+ 2158428176
+ name 1_167_KEY_MUTE
+ 2158428177
+ name 1_167_KEY_VOL_DOWN
+ 2158428178
+ name 1_167_CH_PREVIOUS
+ 2158428179
+ name 1_167_KEY_VOL_UP
+ 2158428180
+ name 1_167_KEY_DISPLAY
+ 2158428181
+ name 1_167_KEY_MNSELECT
+ 2158428183
+ name 1_167_KEY_EXIT
+ 2158428184
+ name 1_167_KEY_GUIDE
+ 2158428187
+ name 1_167_KEY_SAT
+ 2158428202
+ name 1_167_KEY_MENU
+ 2158428207
+ name 1_167_KEY_MUP
+ 2158428208
+ name 1_167_KEY_MDOWN
+ 2158428209
+ name 1_167_KEY_MLEFT
+ 2158428210
+ name 1_167_KEY_MRIGHT
+ 2158428211
+ name 1_168_KEY_0
+ 2158493696
+ name 1_168_KEY_1
+ 2158493697
+ name 1_168_KEY_2
+ 2158493698
+ name 1_168_KEY_3
+ 2158493699
+ name 1_168_KEY_4
+ 2158493700
+ name 1_168_KEY_5
+ 2158493701
+ name 1_168_KEY_6
+ 2158493702
+ name 1_168_KEY_7
+ 2158493703
+ name 1_168_KEY_8
+ 2158493704
+ name 1_168_KEY_9
+ 2158493705
+ name 1_168_KEY_POWER
+ 2158493706
+ name 1_168_KEY_CH_UP
+ 2158493711
+ name 1_168_KEY_CH_DOWN
+ 2158493712
+ name 1_168_CH_PREVIOUS
+ 2158493715
+ name 1_168_KEY_DISPLAY
+ 2158493717
+ name 1_168_KEY_EXIT
+ 2158493720
+ name 1_168_KEY_INPUT
+ 2158493722
+ name 1_168_KEY_GUIDE
+ 2158493723
+ name 1_168_KEY_SELECT
+ 2158493726
+ name 1_168_KEY_MENU
+ 2158493743
+ name 1_168_KEY_MUP
+ 2158493744
+ name 1_168_KEY_MDOWN
+ 2158493745
+ name 1_168_KEY_MLEFT
+ 2158493746
+ name 1_168_KEY_MRIGHT
+ 2158493747
+ name 1_169_KEY_0
+ 2158559232
+ name 1_169_KEY_1
+ 2158559233
+ name 1_169_KEY_2
+ 2158559234
+ name 1_169_KEY_3
+ 2158559235
+ name 1_169_KEY_4
+ 2158559236
+ name 1_169_KEY_5
+ 2158559237
+ name 1_169_KEY_6
+ 2158559238
+ name 1_169_KEY_7
+ 2158559239
+ name 1_169_KEY_8
+ 2158559240
+ name 1_169_KEY_9
+ 2158559241
+ name 1_169_KEY_POWER
+ 2158559242
+ name 1_169_KEY_CH_UP
+ 2158559247
+ name 1_169_KEY_CH_DOWN
+ 2158559248
+ name 1_169_CH_PREVIOUS
+ 2158559251
+ name 1_169_KEY_DISPLAY
+ 2158559253
+ name 1_169_KEY_EXIT
+ 2158559256
+ name 1_169_KEY_INPUT
+ 2158559258
+ name 1_169_KEY_GUIDE
+ 2158559259
+ name 1_169_KEY_MNRETRUN
+ 2158559264
+ name 1_169_KEY_SAT
+ 2158559274
+ name 1_169_KEY_MUP
+ 2158559280
+ name 1_169_KEY_MDOWN
+ 2158559281
+ name 1_169_KEY_MLEFT
+ 2158559282
+ name 1_169_KEY_MRIGHT
+ 2158559283
+ name 1_170_KEY_0
+ 2158624768
+ name 1_170_KEY_1
+ 2158624769
+ name 1_170_KEY_2
+ 2158624770
+ name 1_170_KEY_3
+ 2158624771
+ name 1_170_KEY_4
+ 2158624772
+ name 1_170_KEY_5
+ 2158624773
+ name 1_170_KEY_6
+ 2158624774
+ name 1_170_KEY_7
+ 2158624775
+ name 1_170_KEY_8
+ 2158624776
+ name 1_170_KEY_9
+ 2158624777
+ name 1_170_KEY_POWER
+ 2158624778
+ name 1_170_KEY_CH_UP
+ 2158624783
+ name 1_170_KEY_CH_DOWN
+ 2158624784
+ name 1_170_KEY_MUTE
+ 2158624785
+ name 1_170_KEY_VOL_DOWN
+ 2158624786
+ name 1_170_CH_PREVIOUS
+ 2158624787
+ name 1_170_KEY_VOL_UP
+ 2158624788
+ name 1_170_KEY_DISPLAY
+ 2158624789
+ name 1_170_KEY_EXIT
+ 2158624792
+ name 1_170_KEY_GUIDE
+ 2158624795
+ name 1_170_KEY_MNRETRUN
+ 2158624800
+ name 1_170_KEY_SAT
+ 2158624810
+ name 1_170_KEY_MENU
+ 2158624815
+ name 1_170_KEY_MUP
+ 2158624816
+ name 1_170_KEY_MDOWN
+ 2158624817
+ name 1_170_KEY_MLEFT
+ 2158624818
+ name 1_170_KEY_MRIGHT
+ 2158624819
+ name 1_171_KEY_0
+ 2158690304
+ name 1_171_KEY_1
+ 2158690305
+ name 1_171_KEY_2
+ 2158690306
+ name 1_171_KEY_3
+ 2158690307
+ name 1_171_KEY_4
+ 2158690308
+ name 1_171_KEY_5
+ 2158690309
+ name 1_171_KEY_6
+ 2158690310
+ name 1_171_KEY_7
+ 2158690311
+ name 1_171_KEY_8
+ 2158690312
+ name 1_171_KEY_9
+ 2158690313
+ name 1_171_KEY_POWER
+ 2158690314
+ name 1_171_KEY_CH_UP
+ 2158690319
+ name 1_171_KEY_CH_DOWN
+ 2158690320
+ name 1_171_KEY_MUTE
+ 2158690321
+ name 1_171_KEY_VOL_DOWN
+ 2158690322
+ name 1_171_CH_PREVIOUS
+ 2158690323
+ name 1_171_KEY_VOL_UP
+ 2158690324
+ name 1_171_KEY_DISPLAY
+ 2158690325
+ name 1_171_KEY_EXIT
+ 2158690328
+ name 1_171_KEY_INPUT
+ 2158690330
+ name 1_171_KEY_GUIDE
+ 2158690331
+ name 1_171_KEY_MNRETRUN
+ 2158690336
+ name 1_171_KEY_SAT
+ 2158690346
+ name 1_171_KEY_MUP
+ 2158690352
+ name 1_171_KEY_MDOWN
+ 2158690353
+ name 1_171_KEY_MLEFT
+ 2158690354
+ name 1_171_KEY_MRIGHT
+ 2158690355
+ name 1_172_KEY_0
+ 2158755840
+ name 1_172_KEY_1
+ 2158755841
+ name 1_172_KEY_2
+ 2158755842
+ name 1_172_KEY_3
+ 2158755843
+ name 1_172_KEY_4
+ 2158755844
+ name 1_172_KEY_5
+ 2158755845
+ name 1_172_KEY_6
+ 2158755846
+ name 1_172_KEY_7
+ 2158755847
+ name 1_172_KEY_8
+ 2158755848
+ name 1_172_KEY_9
+ 2158755849
+ name 1_172_KEY_POWER
+ 2158755850
+ name 1_172_KEY_CH_UP
+ 2158755855
+ name 1_172_KEY_CH_DOWN
+ 2158755856
+ name 1_172_KEY_MUTE
+ 2158755857
+ name 1_172_KEY_VOL_DOWN
+ 2158755858
+ name 1_172_CH_PREVIOUS
+ 2158755859
+ name 1_172_KEY_VOL_UP
+ 2158755860
+ name 1_172_KEY_DISPLAY
+ 2158755861
+ name 1_172_KEY_EXIT
+ 2158755864
+ name 1_172_KEY_INPUT
+ 2158755866
+ name 1_172_KEY_GUIDE
+ 2158755867
+ name 1_172_KEY_MNRETRUN
+ 2158755872
+ name 1_172_KEY_SAT
+ 2158755882
+ name 1_172_KEY_MUP
+ 2158755888
+ name 1_172_KEY_MDOWN
+ 2158755889
+ name 1_172_KEY_MLEFT
+ 2158755890
+ name 1_172_KEY_MRIGHT
+ 2158755891
+ name 1_173_KEY_0
+ 2158821376
+ name 1_173_KEY_1
+ 2158821377
+ name 1_173_KEY_2
+ 2158821378
+ name 1_173_KEY_3
+ 2158821379
+ name 1_173_KEY_4
+ 2158821380
+ name 1_173_KEY_5
+ 2158821381
+ name 1_173_KEY_6
+ 2158821382
+ name 1_173_KEY_7
+ 2158821383
+ name 1_173_KEY_8
+ 2158821384
+ name 1_173_KEY_9
+ 2158821385
+ name 1_173_KEY_POWER
+ 2158821386
+ name 1_173_KEY_CH_UP
+ 2158821391
+ name 1_173_KEY_CH_DOWN
+ 2158821392
+ name 1_173_CH_PREVIOUS
+ 2158821395
+ name 1_173_KEY_DISPLAY
+ 2158821397
+ name 1_173_KEY_EXIT
+ 2158821400
+ name 1_173_KEY_GUIDE
+ 2158821403
+ name 1_173_KEY_MNRETRUN
+ 2158821408
+ name 1_173_KEY_SAT
+ 2158821418
+ name 1_173_KEY_MENU
+ 2158821423
+ name 1_173_KEY_MUP
+ 2158821424
+ name 1_173_KEY_MDOWN
+ 2158821425
+ name 1_173_KEY_MLEFT
+ 2158821426
+ name 1_173_KEY_MRIGHT
+ 2158821427
+ name 1_173_KEY_Help
+ 2158821440
+ name 0_300_KEY_0
+ 19660800
+ name 0_300_KEY_1
+ 19660801
+ name 0_300_KEY_2
+ 19660802
+ name 0_300_KEY_3
+ 19660803
+ name 0_300_KEY_4
+ 19660804
+ name 0_300_KEY_5
+ 19660805
+ name 0_300_KEY_6
+ 19660806
+ name 0_300_KEY_7
+ 19660807
+ name 0_300_KEY_8
+ 19660808
+ name 0_300_KEY_9
+ 19660809
+ name 0_300_KEY_POWER
+ 19660810
+ name 0_300_KEY_CH_UP
+ 19660815
+ name 0_300_KEY_CH_DOWN
+ 19660816
+ name 0_300_KEY_MUTE
+ 19660817
+ name 0_300_KEY_VOL_DOWN
+ 19660818
+ name 0_300_KEY_VOL_UP
+ 19660820
+ name 0_300_KEY_MENU
+ 19660847
+ name 0_300_KEY_MUP
+ 19660848
+ name 0_300_KEY_MDOWN
+ 19660849
+ name 0_300_KEY_MLEFT
+ 19660850
+ name 0_300_KEY_MRIGHT
+ 19660851
+ name 1_300_KEY_0
+ 2167144448
+ name 1_300_KEY_1
+ 2167144449
+ name 1_300_KEY_2
+ 2167144450
+ name 1_300_KEY_3
+ 2167144451
+ name 1_300_KEY_4
+ 2167144452
+ name 1_300_KEY_5
+ 2167144453
+ name 1_300_KEY_6
+ 2167144454
+ name 1_300_KEY_7
+ 2167144455
+ name 1_300_KEY_8
+ 2167144456
+ name 1_300_KEY_9
+ 2167144457
+ name 1_300_KEY_POWER
+ 2167144458
+ name 1_300_KEY_CH_UP
+ 2167144463
+ name 1_300_KEY_CH_DOWN
+ 2167144464
+ name 1_300_KEY_MNSELECT
+ 2167144471
+ name 1_300_KEY_MENU
+ 2167144495
+ name 1_300_KEY_MUP
+ 2167144496
+ name 1_300_KEY_MDOWN
+ 2167144497
+ name 1_300_KEY_MLEFT
+ 2167144498
+ name 1_300_KEY_MRIGHT
+ 2167144499
+ name 0_301_KEY_0
+ 19726336
+ name 0_301_KEY_1
+ 19726337
+ name 0_301_KEY_2
+ 19726338
+ name 0_301_KEY_3
+ 19726339
+ name 0_301_KEY_4
+ 19726340
+ name 0_301_KEY_5
+ 19726341
+ name 0_301_KEY_6
+ 19726342
+ name 0_301_KEY_7
+ 19726343
+ name 0_301_KEY_8
+ 19726344
+ name 0_301_KEY_9
+ 19726345
+ name 0_301_KEY_POWER
+ 19726346
+ name 0_301_KEY_CH_UP
+ 19726351
+ name 0_301_KEY_CH_DOWN
+ 19726352
+ name 0_301_KEY_MUTE
+ 19726353
+ name 0_301_KEY_VOL_DOWN
+ 19726354
+ name 0_301_KEY_VOL_UP
+ 19726356
+ name 0_301_KEY_MENU
+ 19726383
+ name 0_301_KEY_MUP
+ 19726384
+ name 0_301_KEY_MDOWN
+ 19726385
+ name 0_301_KEY_MLEFT
+ 19726386
+ name 0_301_KEY_MRIGHT
+ 19726387
+ name 1_301_KEY_0
+ 2167209984
+ name 1_301_KEY_1
+ 2167209985
+ name 1_301_KEY_2
+ 2167209986
+ name 1_301_KEY_3
+ 2167209987
+ name 1_301_KEY_4
+ 2167209988
+ name 1_301_KEY_5
+ 2167209989
+ name 1_301_KEY_6
+ 2167209990
+ name 1_301_KEY_7
+ 2167209991
+ name 1_301_KEY_8
+ 2167209992
+ name 1_301_KEY_9
+ 2167209993
+ name 1_301_KEY_POWER
+ 2167209994
+ name 1_301_KEY_CH_UP
+ 2167209999
+ name 1_301_KEY_CH_DOWN
+ 2167210000
+ name 1_301_CH_PREVIOUS
+ 2167210003
+ name 1_301_KEY_MENU
+ 2167210031
+ name 1_301_KEY_MUP
+ 2167210032
+ name 1_301_KEY_MDOWN
+ 2167210033
+ name 1_301_KEY_MLEFT
+ 2167210034
+ name 1_301_KEY_MRIGHT
+ 2167210035
+ name 0_302_KEY_0
+ 19791872
+ name 0_302_KEY_1
+ 19791873
+ name 0_302_KEY_2
+ 19791874
+ name 0_302_KEY_3
+ 19791875
+ name 0_302_KEY_4
+ 19791876
+ name 0_302_KEY_5
+ 19791877
+ name 0_302_KEY_6
+ 19791878
+ name 0_302_KEY_7
+ 19791879
+ name 0_302_KEY_8
+ 19791880
+ name 0_302_KEY_9
+ 19791881
+ name 0_302_KEY_POWER
+ 19791882
+ name 0_302_KEY_CH_UP
+ 19791887
+ name 0_302_KEY_CH_DOWN
+ 19791888
+ name 0_302_KEY_MUTE
+ 19791889
+ name 0_302_KEY_VOL_DOWN
+ 19791890
+ name 0_302_KEY_VOL_UP
+ 19791892
+ name 0_302_KEY_AV
+ 19791913
+ name 0_302_KEY_MENU
+ 19791919
+ name 0_302_KEY_MUP
+ 19791920
+ name 0_302_KEY_MDOWN
+ 19791921
+ name 0_302_KEY_MLEFT
+ 19791922
+ name 0_302_KEY_MRIGHT
+ 19791923
+ name 1_302_KEY_0
+ 2167275520
+ name 1_302_KEY_1
+ 2167275521
+ name 1_302_KEY_2
+ 2167275522
+ name 1_302_KEY_3
+ 2167275523
+ name 1_302_KEY_4
+ 2167275524
+ name 1_302_KEY_5
+ 2167275525
+ name 1_302_KEY_6
+ 2167275526
+ name 1_302_KEY_7
+ 2167275527
+ name 1_302_KEY_8
+ 2167275528
+ name 1_302_KEY_9
+ 2167275529
+ name 1_302_KEY_POWER
+ 2167275530
+ name 1_302_KEY_CH_UP
+ 2167275535
+ name 1_302_KEY_CH_DOWN
+ 2167275536
+ name 1_302_CH_PREVIOUS
+ 2167275539
+ name 1_302_KEY_MNSELECT
+ 2167275543
+ name 1_302_KEY_MENU
+ 2167275567
+ name 1_302_KEY_MUP
+ 2167275568
+ name 1_302_KEY_MDOWN
+ 2167275569
+ name 1_302_KEY_MLEFT
+ 2167275570
+ name 1_302_KEY_MRIGHT
+ 2167275571
+ name 0_303_KEY_0
+ 19857408
+ name 0_303_KEY_1
+ 19857409
+ name 0_303_KEY_2
+ 19857410
+ name 0_303_KEY_3
+ 19857411
+ name 0_303_KEY_4
+ 19857412
+ name 0_303_KEY_5
+ 19857413
+ name 0_303_KEY_6
+ 19857414
+ name 0_303_KEY_7
+ 19857415
+ name 0_303_KEY_8
+ 19857416
+ name 0_303_KEY_9
+ 19857417
+ name 0_303_KEY_POWER
+ 19857418
+ name 0_303_TWO_DIGITS
+ 19857421
+ name 0_303_KEY_CH_UP
+ 19857423
+ name 0_303_KEY_CH_DOWN
+ 19857424
+ name 1_303_KEY_0
+ 2167341056
+ name 1_303_KEY_1
+ 2167341057
+ name 1_303_KEY_2
+ 2167341058
+ name 1_303_KEY_3
+ 2167341059
+ name 1_303_KEY_4
+ 2167341060
+ name 1_303_KEY_5
+ 2167341061
+ name 1_303_KEY_6
+ 2167341062
+ name 1_303_KEY_7
+ 2167341063
+ name 1_303_KEY_8
+ 2167341064
+ name 1_303_KEY_9
+ 2167341065
+ name 1_303_KEY_POWER
+ 2167341066
+ name 1_303_TWO_DIGITS
+ 2167341069
+ name 1_303_KEY_CH_UP
+ 2167341071
+ name 1_303_KEY_CH_DOWN
+ 2167341072
+ name 1_303_CH_PREVIOUS
+ 2167341075
+ name 1_303_KEY_MNSELECT
+ 2167341079
+ name 1_303_KEY_FAV
+ 2167341085
+ name 1_303_KEY_MENU
+ 2167341103
+ name 1_303_KEY_MUP
+ 2167341104
+ name 1_303_KEY_MDOWN
+ 2167341105
+ name 1_303_KEY_MLEFT
+ 2167341106
+ name 1_303_KEY_MRIGHT
+ 2167341107
+ name 0_304_KEY_0
+ 19922944
+ name 0_304_KEY_1
+ 19922945
+ name 0_304_KEY_2
+ 19922946
+ name 0_304_KEY_3
+ 19922947
+ name 0_304_KEY_4
+ 19922948
+ name 0_304_KEY_5
+ 19922949
+ name 0_304_KEY_6
+ 19922950
+ name 0_304_KEY_7
+ 19922951
+ name 0_304_KEY_8
+ 19922952
+ name 0_304_KEY_9
+ 19922953
+ name 0_304_KEY_POWER
+ 19922954
+ name 0_304_KEY_CH_UP
+ 19922959
+ name 0_304_KEY_CH_DOWN
+ 19922960
+ name 0_304_CH_PREVIOUS
+ 19922963
+ name 1_304_KEY_0
+ 2167406592
+ name 1_304_KEY_1
+ 2167406593
+ name 1_304_KEY_2
+ 2167406594
+ name 1_304_KEY_3
+ 2167406595
+ name 1_304_KEY_4
+ 2167406596
+ name 1_304_KEY_5
+ 2167406597
+ name 1_304_KEY_6
+ 2167406598
+ name 1_304_KEY_7
+ 2167406599
+ name 1_304_KEY_8
+ 2167406600
+ name 1_304_KEY_9
+ 2167406601
+ name 1_304_KEY_POWER
+ 2167406602
+ name 1_304_KEY_CH_UP
+ 2167406607
+ name 1_304_KEY_CH_DOWN
+ 2167406608
+ name 1_304_KEY_MNSELECT
+ 2167406615
+ name 1_304_KEY_MENU
+ 2167406639
+ name 1_304_KEY_MUP
+ 2167406640
+ name 1_304_KEY_MDOWN
+ 2167406641
+ name 1_304_KEY_MLEFT
+ 2167406642
+ name 1_304_KEY_MRIGHT
+ 2167406643
+ name 0_305_KEY_0
+ 19988480
+ name 0_305_KEY_1
+ 19988481
+ name 0_305_KEY_2
+ 19988482
+ name 0_305_KEY_3
+ 19988483
+ name 0_305_KEY_4
+ 19988484
+ name 0_305_KEY_5
+ 19988485
+ name 0_305_KEY_6
+ 19988486
+ name 0_305_KEY_7
+ 19988487
+ name 0_305_KEY_8
+ 19988488
+ name 0_305_KEY_9
+ 19988489
+ name 0_305_KEY_POWER
+ 19988490
+ name 0_305_TWO_DIGITS
+ 19988493
+ name 0_305_KEY_CH_UP
+ 19988495
+ name 0_305_KEY_CH_DOWN
+ 19988496
+ name 0_305_CH_PREVIOUS
+ 19988499
+ name 1_305_KEY_0
+ 2167472128
+ name 1_305_KEY_1
+ 2167472129
+ name 1_305_KEY_2
+ 2167472130
+ name 1_305_KEY_3
+ 2167472131
+ name 1_305_KEY_4
+ 2167472132
+ name 1_305_KEY_5
+ 2167472133
+ name 1_305_KEY_6
+ 2167472134
+ name 1_305_KEY_7
+ 2167472135
+ name 1_305_KEY_8
+ 2167472136
+ name 1_305_KEY_9
+ 2167472137
+ name 1_305_KEY_POWER
+ 2167472138
+ name 1_305_TWO_DIGITS
+ 2167472141
+ name 1_305_KEY_CH_UP
+ 2167472143
+ name 1_305_KEY_CH_DOWN
+ 2167472144
+ name 1_305_KEY_FAV
+ 2167472157
+ name 0_306_KEY_0
+ 20054016
+ name 0_306_KEY_1
+ 20054017
+ name 0_306_KEY_2
+ 20054018
+ name 0_306_KEY_3
+ 20054019
+ name 0_306_KEY_4
+ 20054020
+ name 0_306_KEY_5
+ 20054021
+ name 0_306_KEY_6
+ 20054022
+ name 0_306_KEY_7
+ 20054023
+ name 0_306_KEY_8
+ 20054024
+ name 0_306_KEY_9
+ 20054025
+ name 0_306_KEY_POWER
+ 20054026
+ name 0_306_KEY_CH_UP
+ 20054031
+ name 0_306_KEY_CH_DOWN
+ 20054032
+ name 0_306_KEY_AV
+ 20054057
+ name 1_306_KEY_0
+ 2167537664
+ name 1_306_KEY_1
+ 2167537665
+ name 1_306_KEY_2
+ 2167537666
+ name 1_306_KEY_3
+ 2167537667
+ name 1_306_KEY_4
+ 2167537668
+ name 1_306_KEY_5
+ 2167537669
+ name 1_306_KEY_6
+ 2167537670
+ name 1_306_KEY_7
+ 2167537671
+ name 1_306_KEY_8
+ 2167537672
+ name 1_306_KEY_9
+ 2167537673
+ name 1_306_KEY_POWER
+ 2167537674
+ name 1_306_KEY_CH_UP
+ 2167537679
+ name 1_306_KEY_CH_DOWN
+ 2167537680
+ name 1_306_CH_PREVIOUS
+ 2167537683
+ name 1_306_KEY_MNSELECT
+ 2167537687
+ name 1_306_KEY_MENU
+ 2167537711
+ name 1_306_KEY_MUP
+ 2167537712
+ name 1_306_KEY_MDOWN
+ 2167537713
+ name 1_306_KEY_MLEFT
+ 2167537714
+ name 1_306_KEY_MRIGHT
+ 2167537715
+ name 0_307_KEY_0
+ 20119552
+ name 0_307_KEY_1
+ 20119553
+ name 0_307_KEY_2
+ 20119554
+ name 0_307_KEY_3
+ 20119555
+ name 0_307_KEY_4
+ 20119556
+ name 0_307_KEY_5
+ 20119557
+ name 0_307_KEY_6
+ 20119558
+ name 0_307_KEY_7
+ 20119559
+ name 0_307_KEY_8
+ 20119560
+ name 0_307_KEY_9
+ 20119561
+ name 0_307_KEY_POWER
+ 20119562
+ name 0_307_KEY_CH_UP
+ 20119567
+ name 0_307_KEY_CH_DOWN
+ 20119568
+ name 0_307_CH_PREVIOUS
+ 20119571
+ name 1_307_KEY_0
+ 2167603200
+ name 1_307_KEY_1
+ 2167603201
+ name 1_307_KEY_2
+ 2167603202
+ name 1_307_KEY_3
+ 2167603203
+ name 1_307_KEY_4
+ 2167603204
+ name 1_307_KEY_5
+ 2167603205
+ name 1_307_KEY_6
+ 2167603206
+ name 1_307_KEY_7
+ 2167603207
+ name 1_307_KEY_8
+ 2167603208
+ name 1_307_KEY_9
+ 2167603209
+ name 1_307_KEY_POWER
+ 2167603210
+ name 1_307_KEY_CH_UP
+ 2167603215
+ name 1_307_KEY_CH_DOWN
+ 2167603216
+ name 1_307_CH_PREVIOUS
+ 2167603219
+ name 1_307_KEY_MNSELECT
+ 2167603223
+ name 1_307_KEY_MENU
+ 2167603247
+ name 1_307_KEY_MUP
+ 2167603248
+ name 1_307_KEY_MDOWN
+ 2167603249
+ name 1_307_KEY_MLEFT
+ 2167603250
+ name 1_307_KEY_MRIGHT
+ 2167603251
+ name 0_308_KEY_0
+ 20185088
+ name 0_308_KEY_1
+ 20185089
+ name 0_308_KEY_2
+ 20185090
+ name 0_308_KEY_3
+ 20185091
+ name 0_308_KEY_4
+ 20185092
+ name 0_308_KEY_5
+ 20185093
+ name 0_308_KEY_6
+ 20185094
+ name 0_308_KEY_7
+ 20185095
+ name 0_308_KEY_8
+ 20185096
+ name 0_308_KEY_9
+ 20185097
+ name 0_308_KEY_POWER
+ 20185098
+ name 0_308_TWO_DIGITS
+ 20185101
+ name 0_308_KEY_CH_UP
+ 20185103
+ name 0_308_KEY_CH_DOWN
+ 20185104
+ name 0_308_CH_PREVIOUS
+ 20185107
+ name 1_308_KEY_0
+ 2167668736
+ name 1_308_KEY_1
+ 2167668737
+ name 1_308_KEY_2
+ 2167668738
+ name 1_308_KEY_3
+ 2167668739
+ name 1_308_KEY_4
+ 2167668740
+ name 1_308_KEY_5
+ 2167668741
+ name 1_308_KEY_6
+ 2167668742
+ name 1_308_KEY_7
+ 2167668743
+ name 1_308_KEY_8
+ 2167668744
+ name 1_308_KEY_9
+ 2167668745
+ name 1_308_KEY_POWER
+ 2167668746
+ name 1_308_KEY_CH_UP
+ 2167668751
+ name 1_308_KEY_CH_DOWN
+ 2167668752
+ name 1_308_KEY_MNSELECT
+ 2167668759
+ name 1_308_KEY_MENU
+ 2167668783
+ name 1_308_KEY_MUP
+ 2167668784
+ name 1_308_KEY_MDOWN
+ 2167668785
+ name 1_308_KEY_MLEFT
+ 2167668786
+ name 1_308_KEY_MRIGHT
+ 2167668787
+ name 1_308_KEY_On
+ 2167668813
+ name 0_309_KEY_0
+ 20250624
+ name 0_309_KEY_1
+ 20250625
+ name 0_309_KEY_2
+ 20250626
+ name 0_309_KEY_3
+ 20250627
+ name 0_309_KEY_4
+ 20250628
+ name 0_309_KEY_5
+ 20250629
+ name 0_309_KEY_6
+ 20250630
+ name 0_309_KEY_7
+ 20250631
+ name 0_309_KEY_8
+ 20250632
+ name 0_309_KEY_9
+ 20250633
+ name 0_309_KEY_POWER
+ 20250634
+ name 0_309_KEY_CH_UP
+ 20250639
+ name 0_309_KEY_CH_DOWN
+ 20250640
+ name 1_309_KEY_0
+ 2167734272
+ name 1_309_KEY_1
+ 2167734273
+ name 1_309_KEY_2
+ 2167734274
+ name 1_309_KEY_3
+ 2167734275
+ name 1_309_KEY_4
+ 2167734276
+ name 1_309_KEY_5
+ 2167734277
+ name 1_309_KEY_6
+ 2167734278
+ name 1_309_KEY_7
+ 2167734279
+ name 1_309_KEY_8
+ 2167734280
+ name 1_309_KEY_9
+ 2167734281
+ name 1_309_KEY_POWER
+ 2167734282
+ name 1_309_KEY_CH_UP
+ 2167734287
+ name 1_309_KEY_CH_DOWN
+ 2167734288
+ name 1_309_KEY_MNSELECT
+ 2167734295
+ name 1_309_KEY_MENU
+ 2167734319
+ name 1_309_KEY_MUP
+ 2167734320
+ name 1_309_KEY_MDOWN
+ 2167734321
+ name 1_309_KEY_MLEFT
+ 2167734322
+ name 1_309_KEY_MRIGHT
+ 2167734323
+ name 1_309_KEY_On
+ 2167734349
+ name 0_310_KEY_0
+ 20316160
+ name 0_310_KEY_1
+ 20316161
+ name 0_310_KEY_2
+ 20316162
+ name 0_310_KEY_3
+ 20316163
+ name 0_310_KEY_4
+ 20316164
+ name 0_310_KEY_5
+ 20316165
+ name 0_310_KEY_6
+ 20316166
+ name 0_310_KEY_7
+ 20316167
+ name 0_310_KEY_8
+ 20316168
+ name 0_310_KEY_9
+ 20316169
+ name 0_310_KEY_POWER
+ 20316170
+ name 0_310_TWO_DIGITS
+ 20316173
+ name 0_310_KEY_CH_UP
+ 20316175
+ name 0_310_KEY_CH_DOWN
+ 20316176
+ name 1_310_KEY_0
+ 2167799808
+ name 1_310_KEY_1
+ 2167799809
+ name 1_310_KEY_2
+ 2167799810
+ name 1_310_KEY_3
+ 2167799811
+ name 1_310_KEY_4
+ 2167799812
+ name 1_310_KEY_5
+ 2167799813
+ name 1_310_KEY_6
+ 2167799814
+ name 1_310_KEY_7
+ 2167799815
+ name 1_310_KEY_8
+ 2167799816
+ name 1_310_KEY_9
+ 2167799817
+ name 1_310_KEY_POWER
+ 2167799818
+ name 1_310_KEY_CH_UP
+ 2167799823
+ name 1_310_KEY_CH_DOWN
+ 2167799824
+ name 1_310_KEY_MNSELECT
+ 2167799831
+ name 1_310_KEY_MENU
+ 2167799855
+ name 1_310_KEY_MUP
+ 2167799856
+ name 1_310_KEY_MDOWN
+ 2167799857
+ name 1_310_KEY_MLEFT
+ 2167799858
+ name 1_310_KEY_MRIGHT
+ 2167799859
+ name 1_310_KEY_On
+ 2167799885
+ name 0_311_KEY_0
+ 20381696
+ name 0_311_KEY_1
+ 20381697
+ name 0_311_KEY_2
+ 20381698
+ name 0_311_KEY_3
+ 20381699
+ name 0_311_KEY_4
+ 20381700
+ name 0_311_KEY_5
+ 20381701
+ name 0_311_KEY_6
+ 20381702
+ name 0_311_KEY_7
+ 20381703
+ name 0_311_KEY_8
+ 20381704
+ name 0_311_KEY_9
+ 20381705
+ name 0_311_KEY_POWER
+ 20381706
+ name 0_311_KEY_CH_UP
+ 20381711
+ name 0_311_KEY_CH_DOWN
+ 20381712
+ name 1_311_KEY_0
+ 2167865344
+ name 1_311_KEY_1
+ 2167865345
+ name 1_311_KEY_2
+ 2167865346
+ name 1_311_KEY_3
+ 2167865347
+ name 1_311_KEY_4
+ 2167865348
+ name 1_311_KEY_5
+ 2167865349
+ name 1_311_KEY_6
+ 2167865350
+ name 1_311_KEY_7
+ 2167865351
+ name 1_311_KEY_8
+ 2167865352
+ name 1_311_KEY_9
+ 2167865353
+ name 1_311_KEY_POWER
+ 2167865354
+ name 1_311_KEY_CH_UP
+ 2167865359
+ name 1_311_KEY_CH_DOWN
+ 2167865360
+ name 1_311_CH_PREVIOUS
+ 2167865363
+ name 1_311_KEY_MENU
+ 2167865391
+ name 1_311_KEY_MUP
+ 2167865392
+ name 1_311_KEY_MDOWN
+ 2167865393
+ name 1_311_KEY_MLEFT
+ 2167865394
+ name 1_311_KEY_MRIGHT
+ 2167865395
+ name 0_312_KEY_0
+ 20447232
+ name 0_312_KEY_1
+ 20447233
+ name 0_312_KEY_2
+ 20447234
+ name 0_312_KEY_3
+ 20447235
+ name 0_312_KEY_4
+ 20447236
+ name 0_312_KEY_5
+ 20447237
+ name 0_312_KEY_6
+ 20447238
+ name 0_312_KEY_7
+ 20447239
+ name 0_312_KEY_8
+ 20447240
+ name 0_312_KEY_9
+ 20447241
+ name 0_312_KEY_POWER
+ 20447242
+ name 0_312_TWO_DIGITS
+ 20447245
+ name 0_312_KEY_CH_UP
+ 20447247
+ name 0_312_KEY_CH_DOWN
+ 20447248
+ name 1_312_KEY_0
+ 2167930880
+ name 1_312_KEY_1
+ 2167930881
+ name 1_312_KEY_2
+ 2167930882
+ name 1_312_KEY_3
+ 2167930883
+ name 1_312_KEY_4
+ 2167930884
+ name 1_312_KEY_5
+ 2167930885
+ name 1_312_KEY_6
+ 2167930886
+ name 1_312_KEY_7
+ 2167930887
+ name 1_312_KEY_8
+ 2167930888
+ name 1_312_KEY_9
+ 2167930889
+ name 1_312_KEY_POWER
+ 2167930890
+ name 1_312_KEY_CH_UP
+ 2167930895
+ name 1_312_KEY_CH_DOWN
+ 2167930896
+ name 1_312_KEY_MNSELECT
+ 2167930903
+ name 1_312_KEY_MENU
+ 2167930927
+ name 1_312_KEY_MUP
+ 2167930928
+ name 1_312_KEY_MDOWN
+ 2167930929
+ name 1_312_KEY_MLEFT
+ 2167930930
+ name 1_312_KEY_MRIGHT
+ 2167930931
+ name 0_313_KEY_0
+ 20512768
+ name 0_313_KEY_1
+ 20512769
+ name 0_313_KEY_2
+ 20512770
+ name 0_313_KEY_3
+ 20512771
+ name 0_313_KEY_4
+ 20512772
+ name 0_313_KEY_5
+ 20512773
+ name 0_313_KEY_6
+ 20512774
+ name 0_313_KEY_7
+ 20512775
+ name 0_313_KEY_8
+ 20512776
+ name 0_313_KEY_9
+ 20512777
+ name 0_313_KEY_POWER
+ 20512778
+ name 0_313_KEY_CH_UP
+ 20512783
+ name 0_313_KEY_CH_DOWN
+ 20512784
+ name 0_313_KEY_MUTE
+ 20512785
+ name 0_313_KEY_VOL_DOWN
+ 20512786
+ name 0_313_CH_PREVIOUS
+ 20512787
+ name 0_313_KEY_VOL_UP
+ 20512788
+ name 0_313_KEY_Sleep
+ 20512831
+ name 1_313_KEY_0
+ 2167996416
+ name 1_313_KEY_1
+ 2167996417
+ name 1_313_KEY_2
+ 2167996418
+ name 1_313_KEY_3
+ 2167996419
+ name 1_313_KEY_4
+ 2167996420
+ name 1_313_KEY_5
+ 2167996421
+ name 1_313_KEY_6
+ 2167996422
+ name 1_313_KEY_7
+ 2167996423
+ name 1_313_KEY_8
+ 2167996424
+ name 1_313_KEY_9
+ 2167996425
+ name 1_313_KEY_POWER
+ 2167996426
+ name 1_313_KEY_CH_UP
+ 2167996431
+ name 1_313_KEY_CH_DOWN
+ 2167996432
+ name 1_313_CH_PREVIOUS
+ 2167996435
+ name 1_313_KEY_MNSELECT
+ 2167996439
+ name 1_313_KEY_EXIT
+ 2167996440
+ name 1_313_KEY_GUIDE
+ 2167996443
+ name 1_313_KEY_AV
+ 2167996457
+ name 1_313_KEY_MENU
+ 2167996463
+ name 1_313_KEY_MUP
+ 2167996464
+ name 1_313_KEY_MDOWN
+ 2167996465
+ name 1_313_KEY_MLEFT
+ 2167996466
+ name 1_313_KEY_MRIGHT
+ 2167996467
+ name 0_314_KEY_0
+ 20578304
+ name 0_314_KEY_1
+ 20578305
+ name 0_314_KEY_2
+ 20578306
+ name 0_314_KEY_3
+ 20578307
+ name 0_314_KEY_4
+ 20578308
+ name 0_314_KEY_5
+ 20578309
+ name 0_314_KEY_6
+ 20578310
+ name 0_314_KEY_7
+ 20578311
+ name 0_314_KEY_8
+ 20578312
+ name 0_314_KEY_9
+ 20578313
+ name 0_314_KEY_POWER
+ 20578314
+ name 0_314_KEY_CH_UP
+ 20578319
+ name 0_314_KEY_CH_DOWN
+ 20578320
+ name 0_314_CH_PREVIOUS
+ 20578323
+ name 1_314_KEY_0
+ 2168061952
+ name 1_314_KEY_1
+ 2168061953
+ name 1_314_KEY_2
+ 2168061954
+ name 1_314_KEY_3
+ 2168061955
+ name 1_314_KEY_4
+ 2168061956
+ name 1_314_KEY_5
+ 2168061957
+ name 1_314_KEY_6
+ 2168061958
+ name 1_314_KEY_7
+ 2168061959
+ name 1_314_KEY_8
+ 2168061960
+ name 1_314_KEY_9
+ 2168061961
+ name 1_314_KEY_POWER
+ 2168061962
+ name 1_314_KEY_CH_UP
+ 2168061967
+ name 1_314_KEY_CH_DOWN
+ 2168061968
+ name 1_314_CH_PREVIOUS
+ 2168061971
+ name 1_314_KEY_MNSELECT
+ 2168061975
+ name 1_314_KEY_EXIT
+ 2168061976
+ name 1_314_KEY_GUIDE
+ 2168061979
+ name 1_314_KEY_AV
+ 2168061993
+ name 1_314_KEY_MENU
+ 2168061999
+ name 1_314_KEY_MUP
+ 2168062000
+ name 1_314_KEY_MDOWN
+ 2168062001
+ name 1_314_KEY_MLEFT
+ 2168062002
+ name 1_314_KEY_MRIGHT
+ 2168062003
+ name 0_315_KEY_0
+ 20643840
+ name 0_315_KEY_1
+ 20643841
+ name 0_315_KEY_2
+ 20643842
+ name 0_315_KEY_3
+ 20643843
+ name 0_315_KEY_4
+ 20643844
+ name 0_315_KEY_5
+ 20643845
+ name 0_315_KEY_6
+ 20643846
+ name 0_315_KEY_7
+ 20643847
+ name 0_315_KEY_8
+ 20643848
+ name 0_315_KEY_9
+ 20643849
+ name 0_315_KEY_POWER
+ 20643850
+ name 0_315_KEY_CH_UP
+ 20643855
+ name 0_315_KEY_CH_DOWN
+ 20643856
+ name 1_315_KEY_0
+ 2168127488
+ name 1_315_KEY_1
+ 2168127489
+ name 1_315_KEY_2
+ 2168127490
+ name 1_315_KEY_3
+ 2168127491
+ name 1_315_KEY_4
+ 2168127492
+ name 1_315_KEY_5
+ 2168127493
+ name 1_315_KEY_6
+ 2168127494
+ name 1_315_KEY_7
+ 2168127495
+ name 1_315_KEY_8
+ 2168127496
+ name 1_315_KEY_9
+ 2168127497
+ name 1_315_KEY_POWER
+ 2168127498
+ name 1_315_KEY_CH_UP
+ 2168127503
+ name 1_315_KEY_CH_DOWN
+ 2168127504
+ name 1_315_CH_PREVIOUS
+ 2168127507
+ name 1_315_KEY_MNSELECT
+ 2168127511
+ name 1_315_KEY_EXIT
+ 2168127512
+ name 1_315_KEY_GUIDE
+ 2168127515
+ name 1_315_KEY_AV
+ 2168127529
+ name 1_315_KEY_MENU
+ 2168127535
+ name 1_315_KEY_MUP
+ 2168127536
+ name 1_315_KEY_MDOWN
+ 2168127537
+ name 1_315_KEY_MLEFT
+ 2168127538
+ name 1_315_KEY_MRIGHT
+ 2168127539
+ name 0_316_KEY_0
+ 20709376
+ name 0_316_KEY_1
+ 20709377
+ name 0_316_KEY_2
+ 20709378
+ name 0_316_KEY_3
+ 20709379
+ name 0_316_KEY_4
+ 20709380
+ name 0_316_KEY_5
+ 20709381
+ name 0_316_KEY_6
+ 20709382
+ name 0_316_KEY_7
+ 20709383
+ name 0_316_KEY_8
+ 20709384
+ name 0_316_KEY_9
+ 20709385
+ name 0_316_KEY_POWER
+ 20709386
+ name 0_316_KEY_CH_UP
+ 20709391
+ name 0_316_KEY_CH_DOWN
+ 20709392
+ name 1_316_KEY_0
+ 2168193024
+ name 1_316_KEY_1
+ 2168193025
+ name 1_316_KEY_2
+ 2168193026
+ name 1_316_KEY_3
+ 2168193027
+ name 1_316_KEY_4
+ 2168193028
+ name 1_316_KEY_5
+ 2168193029
+ name 1_316_KEY_6
+ 2168193030
+ name 1_316_KEY_7
+ 2168193031
+ name 1_316_KEY_8
+ 2168193032
+ name 1_316_KEY_9
+ 2168193033
+ name 1_316_KEY_POWER
+ 2168193034
+ name 1_316_KEY_CH_UP
+ 2168193039
+ name 1_316_KEY_CH_DOWN
+ 2168193040
+ name 1_316_CH_PREVIOUS
+ 2168193043
+ name 1_316_KEY_MNSELECT
+ 2168193047
+ name 1_316_KEY_EXIT
+ 2168193048
+ name 1_316_KEY_GUIDE
+ 2168193051
+ name 1_316_KEY_AV
+ 2168193065
+ name 1_316_KEY_MENU
+ 2168193071
+ name 1_316_KEY_MUP
+ 2168193072
+ name 1_316_KEY_MDOWN
+ 2168193073
+ name 1_316_KEY_MLEFT
+ 2168193074
+ name 1_316_KEY_MRIGHT
+ 2168193075
+ name 0_317_KEY_0
+ 20774912
+ name 0_317_KEY_1
+ 20774913
+ name 0_317_KEY_2
+ 20774914
+ name 0_317_KEY_3
+ 20774915
+ name 0_317_KEY_4
+ 20774916
+ name 0_317_KEY_5
+ 20774917
+ name 0_317_KEY_6
+ 20774918
+ name 0_317_KEY_7
+ 20774919
+ name 0_317_KEY_8
+ 20774920
+ name 0_317_KEY_9
+ 20774921
+ name 0_317_KEY_POWER
+ 20774922
+ name 0_317_KEY_CH_UP
+ 20774927
+ name 0_317_KEY_CH_DOWN
+ 20774928
+ name 0_317_CH_PREVIOUS
+ 20774931
+ name 1_317_KEY_0
+ 2168258560
+ name 1_317_KEY_1
+ 2168258561
+ name 1_317_KEY_2
+ 2168258562
+ name 1_317_KEY_3
+ 2168258563
+ name 1_317_KEY_4
+ 2168258564
+ name 1_317_KEY_5
+ 2168258565
+ name 1_317_KEY_6
+ 2168258566
+ name 1_317_KEY_7
+ 2168258567
+ name 1_317_KEY_8
+ 2168258568
+ name 1_317_KEY_9
+ 2168258569
+ name 1_317_KEY_POWER
+ 2168258570
+ name 1_317_TWO_DIGITS
+ 2168258573
+ name 1_317_KEY_CH_UP
+ 2168258575
+ name 1_317_KEY_CH_DOWN
+ 2168258576
+ name 1_317_KEY_MUTE
+ 2168258577
+ name 1_317_KEY_VOL_DOWN
+ 2168258578
+ name 1_317_KEY_VOL_UP
+ 2168258580
+ name 1_317_KEY_DISPLAY
+ 2168258581
+ name 1_317_KEY_MNSELECT
+ 2168258583
+ name 1_317_KEY_EXIT
+ 2168258584
+ name 1_317_KEY_MENU
+ 2168258607
+ name 1_317_KEY_MUP
+ 2168258608
+ name 1_317_KEY_MDOWN
+ 2168258609
+ name 1_317_KEY_MLEFT
+ 2168258610
+ name 1_317_KEY_MRIGHT
+ 2168258611
+ name 0_318_KEY_0
+ 20840448
+ name 0_318_KEY_1
+ 20840449
+ name 0_318_KEY_2
+ 20840450
+ name 0_318_KEY_3
+ 20840451
+ name 0_318_KEY_4
+ 20840452
+ name 0_318_KEY_5
+ 20840453
+ name 0_318_KEY_6
+ 20840454
+ name 0_318_KEY_7
+ 20840455
+ name 0_318_KEY_8
+ 20840456
+ name 0_318_KEY_9
+ 20840457
+ name 0_318_KEY_POWER
+ 20840458
+ name 0_318_KEY_CH_UP
+ 20840463
+ name 0_318_KEY_CH_DOWN
+ 20840464
+ name 0_318_KEY_MUTE
+ 20840465
+ name 0_318_KEY_VOL_DOWN
+ 20840466
+ name 0_318_CH_PREVIOUS
+ 20840467
+ name 0_318_KEY_VOL_UP
+ 20840468
+ name 0_318_KEY_AV
+ 20840489
+ name 1_318_KEY_0
+ 2168324096
+ name 1_318_KEY_1
+ 2168324097
+ name 1_318_KEY_2
+ 2168324098
+ name 1_318_KEY_3
+ 2168324099
+ name 1_318_KEY_4
+ 2168324100
+ name 1_318_KEY_5
+ 2168324101
+ name 1_318_KEY_6
+ 2168324102
+ name 1_318_KEY_7
+ 2168324103
+ name 1_318_KEY_8
+ 2168324104
+ name 1_318_KEY_9
+ 2168324105
+ name 1_318_KEY_POWER
+ 2168324106
+ name 1_318_POWER_OFF
+ 2168324108
+ name 1_318_TWO_DIGITS
+ 2168324109
+ name 1_318_KEY_CH_UP
+ 2168324111
+ name 1_318_KEY_CH_DOWN
+ 2168324112
+ name 1_318_KEY_DISPLAY
+ 2168324117
+ name 1_318_KEY_TIMER
+ 2168324140
+ name 0_319_KEY_0
+ 20905984
+ name 0_319_KEY_1
+ 20905985
+ name 0_319_KEY_2
+ 20905986
+ name 0_319_KEY_3
+ 20905987
+ name 0_319_KEY_4
+ 20905988
+ name 0_319_KEY_5
+ 20905989
+ name 0_319_KEY_6
+ 20905990
+ name 0_319_KEY_7
+ 20905991
+ name 0_319_KEY_8
+ 20905992
+ name 0_319_KEY_9
+ 20905993
+ name 0_319_KEY_POWER
+ 20905994
+ name 0_319_KEY_CH_UP
+ 20905999
+ name 0_319_KEY_CH_DOWN
+ 20906000
+ name 0_319_CH_PREVIOUS
+ 20906003
+ name 1_319_KEY_0
+ 2168389632
+ name 1_319_KEY_1
+ 2168389633
+ name 1_319_KEY_2
+ 2168389634
+ name 1_319_KEY_3
+ 2168389635
+ name 1_319_KEY_4
+ 2168389636
+ name 1_319_KEY_5
+ 2168389637
+ name 1_319_KEY_6
+ 2168389638
+ name 1_319_KEY_7
+ 2168389639
+ name 1_319_KEY_8
+ 2168389640
+ name 1_319_KEY_9
+ 2168389641
+ name 1_319_KEY_POWER
+ 2168389642
+ name 1_319_TWO_DIGITS
+ 2168389645
+ name 1_319_KEY_CH_UP
+ 2168389647
+ name 1_319_KEY_CH_DOWN
+ 2168389648
+ name 1_319_KEY_MUTE
+ 2168389649
+ name 1_319_KEY_VOL_DOWN
+ 2168389650
+ name 1_319_CH_PREVIOUS
+ 2168389651
+ name 1_319_KEY_VOL_UP
+ 2168389652
+ name 1_319_KEY_FAV
+ 2168389661
+ name 1_319_KEY_FTUNEPLUS
+ 2168389665
+ name 1_319_KEY_FTUNEMINUS
+ 2168389666
+ name 0_320_KEY_0
+ 20971520
+ name 0_320_KEY_1
+ 20971521
+ name 0_320_KEY_2
+ 20971522
+ name 0_320_KEY_3
+ 20971523
+ name 0_320_KEY_4
+ 20971524
+ name 0_320_KEY_5
+ 20971525
+ name 0_320_KEY_6
+ 20971526
+ name 0_320_KEY_7
+ 20971527
+ name 0_320_KEY_8
+ 20971528
+ name 0_320_KEY_9
+ 20971529
+ name 0_320_KEY_POWER
+ 20971530
+ name 0_320_TWO_DIGITS
+ 20971533
+ name 0_320_KEY_CH_UP
+ 20971535
+ name 0_320_KEY_CH_DOWN
+ 20971536
+ name 0_320_KEY_MNSELECT
+ 20971543
+ name 0_320_KEY_MENU
+ 20971567
+ name 0_320_KEY_MUP
+ 20971568
+ name 0_320_KEY_MDOWN
+ 20971569
+ name 0_320_KEY_MLEFT
+ 20971570
+ name 0_320_KEY_MRIGHT
+ 20971571
+ name 1_320_KEY_0
+ 2168455168
+ name 1_320_KEY_1
+ 2168455169
+ name 1_320_KEY_2
+ 2168455170
+ name 1_320_KEY_3
+ 2168455171
+ name 1_320_KEY_4
+ 2168455172
+ name 1_320_KEY_5
+ 2168455173
+ name 1_320_KEY_6
+ 2168455174
+ name 1_320_KEY_7
+ 2168455175
+ name 1_320_KEY_8
+ 2168455176
+ name 1_320_KEY_9
+ 2168455177
+ name 1_320_KEY_POWER
+ 2168455178
+ name 1_320_TWO_DIGITS
+ 2168455181
+ name 1_320_KEY_CH_UP
+ 2168455183
+ name 1_320_KEY_CH_DOWN
+ 2168455184
+ name 1_320_KEY_MUTE
+ 2168455185
+ name 1_320_KEY_VOL_DOWN
+ 2168455186
+ name 1_320_CH_PREVIOUS
+ 2168455187
+ name 1_320_KEY_VOL_UP
+ 2168455188
+ name 1_320_KEY_FAV
+ 2168455197
+ name 1_320_KEY_FTUNEPLUS
+ 2168455201
+ name 1_320_KEY_FTUNEMINUS
+ 2168455202
+ name 0_321_KEY_0
+ 21037056
+ name 0_321_KEY_1
+ 21037057
+ name 0_321_KEY_2
+ 21037058
+ name 0_321_KEY_3
+ 21037059
+ name 0_321_KEY_4
+ 21037060
+ name 0_321_KEY_5
+ 21037061
+ name 0_321_KEY_6
+ 21037062
+ name 0_321_KEY_7
+ 21037063
+ name 0_321_KEY_8
+ 21037064
+ name 0_321_KEY_9
+ 21037065
+ name 0_321_KEY_POWER
+ 21037066
+ name 0_321_KEY_CH_UP
+ 21037071
+ name 0_321_KEY_CH_DOWN
+ 21037072
+ name 0_321_KEY_MUTE
+ 21037073
+ name 0_321_KEY_VOL_DOWN
+ 21037074
+ name 0_321_KEY_VOL_UP
+ 21037076
+ name 0_321_KEY_AV
+ 21037097
+ name 0_321_KEY_MENU
+ 21037103
+ name 0_321_KEY_MUP
+ 21037104
+ name 0_321_KEY_MDOWN
+ 21037105
+ name 0_321_KEY_MLEFT
+ 21037106
+ name 0_321_KEY_MRIGHT
+ 21037107
+ name 1_321_KEY_0
+ 2168520704
+ name 1_321_KEY_1
+ 2168520705
+ name 1_321_KEY_2
+ 2168520706
+ name 1_321_KEY_3
+ 2168520707
+ name 1_321_KEY_4
+ 2168520708
+ name 1_321_KEY_5
+ 2168520709
+ name 1_321_KEY_6
+ 2168520710
+ name 1_321_KEY_7
+ 2168520711
+ name 1_321_KEY_8
+ 2168520712
+ name 1_321_KEY_9
+ 2168520713
+ name 1_321_KEY_POWER
+ 2168520714
+ name 1_321_TWO_DIGITS
+ 2168520717
+ name 1_321_KEY_CH_UP
+ 2168520719
+ name 1_321_KEY_CH_DOWN
+ 2168520720
+ name 1_321_CH_PREVIOUS
+ 2168520723
+ name 0_322_KEY_0
+ 21102592
+ name 0_322_KEY_1
+ 21102593
+ name 0_322_KEY_2
+ 21102594
+ name 0_322_KEY_3
+ 21102595
+ name 0_322_KEY_4
+ 21102596
+ name 0_322_KEY_5
+ 21102597
+ name 0_322_KEY_6
+ 21102598
+ name 0_322_KEY_7
+ 21102599
+ name 0_322_KEY_8
+ 21102600
+ name 0_322_KEY_9
+ 21102601
+ name 0_322_KEY_POWER
+ 21102602
+ name 0_322_KEY_CH_UP
+ 21102607
+ name 0_322_KEY_CH_DOWN
+ 21102608
+ name 0_322_KEY_MUTE
+ 21102609
+ name 0_322_KEY_VOL_DOWN
+ 21102610
+ name 0_322_CH_PREVIOUS
+ 21102611
+ name 0_322_KEY_VOL_UP
+ 21102612
+ name 0_322_KEY_MNSELECT
+ 21102615
+ name 0_322_KEY_MUP
+ 21102640
+ name 0_322_KEY_MDOWN
+ 21102641
+ name 1_322_KEY_0
+ 2168586240
+ name 1_322_KEY_1
+ 2168586241
+ name 1_322_KEY_2
+ 2168586242
+ name 1_322_KEY_3
+ 2168586243
+ name 1_322_KEY_4
+ 2168586244
+ name 1_322_KEY_5
+ 2168586245
+ name 1_322_KEY_6
+ 2168586246
+ name 1_322_KEY_7
+ 2168586247
+ name 1_322_KEY_8
+ 2168586248
+ name 1_322_KEY_9
+ 2168586249
+ name 1_322_KEY_POWER
+ 2168586250
+ name 1_322_TWO_DIGITS
+ 2168586253
+ name 1_322_KEY_CH_UP
+ 2168586255
+ name 1_322_KEY_CH_DOWN
+ 2168586256
+ name 1_322_KEY_MUTE
+ 2168586257
+ name 1_322_KEY_VOL_DOWN
+ 2168586258
+ name 1_322_KEY_VOL_UP
+ 2168586260
+ name 1_322_KEY_FTUNEPLUS
+ 2168586273
+ name 1_322_KEY_FTUNEMINUS
+ 2168586274
+ name 0_323_KEY_0
+ 21168128
+ name 0_323_KEY_1
+ 21168129
+ name 0_323_KEY_2
+ 21168130
+ name 0_323_KEY_3
+ 21168131
+ name 0_323_KEY_4
+ 21168132
+ name 0_323_KEY_5
+ 21168133
+ name 0_323_KEY_6
+ 21168134
+ name 0_323_KEY_7
+ 21168135
+ name 0_323_KEY_8
+ 21168136
+ name 0_323_KEY_9
+ 21168137
+ name 0_323_KEY_POWER
+ 21168138
+ name 0_323_KEY_CH_UP
+ 21168143
+ name 0_323_KEY_CH_DOWN
+ 21168144
+ name 0_323_KEY_MUTE
+ 21168145
+ name 0_323_KEY_VOL_DOWN
+ 21168146
+ name 0_323_KEY_VOL_UP
+ 21168148
+ name 0_323_KEY_AV
+ 21168169
+ name 0_323_KEY_MUP
+ 21168176
+ name 0_323_KEY_MDOWN
+ 21168177
+ name 1_323_KEY_0
+ 2168651776
+ name 1_323_KEY_1
+ 2168651777
+ name 1_323_KEY_2
+ 2168651778
+ name 1_323_KEY_3
+ 2168651779
+ name 1_323_KEY_4
+ 2168651780
+ name 1_323_KEY_5
+ 2168651781
+ name 1_323_KEY_6
+ 2168651782
+ name 1_323_KEY_7
+ 2168651783
+ name 1_323_KEY_8
+ 2168651784
+ name 1_323_KEY_9
+ 2168651785
+ name 1_323_KEY_POWER
+ 2168651786
+ name 1_323_TWO_DIGITS
+ 2168651789
+ name 1_323_KEY_CH_UP
+ 2168651791
+ name 1_323_KEY_CH_DOWN
+ 2168651792
+ name 1_323_KEY_MUTE
+ 2168651793
+ name 1_323_KEY_VOL_DOWN
+ 2168651794
+ name 1_323_KEY_VOL_UP
+ 2168651796
+ name 1_323_KEY_DISPLAY
+ 2168651797
+ name 1_323_KEY_FTUNEPLUS
+ 2168651809
+ name 1_323_KEY_FTUNEMINUS
+ 2168651810
+ name 0_324_KEY_0
+ 21233664
+ name 0_324_KEY_1
+ 21233665
+ name 0_324_KEY_2
+ 21233666
+ name 0_324_KEY_3
+ 21233667
+ name 0_324_KEY_4
+ 21233668
+ name 0_324_KEY_5
+ 21233669
+ name 0_324_KEY_6
+ 21233670
+ name 0_324_KEY_7
+ 21233671
+ name 0_324_KEY_8
+ 21233672
+ name 0_324_KEY_9
+ 21233673
+ name 0_324_KEY_POWER
+ 21233674
+ name 0_324_KEY_CH_UP
+ 21233679
+ name 0_324_KEY_CH_DOWN
+ 21233680
+ name 0_324_KEY_MUTE
+ 21233681
+ name 0_324_KEY_VOL_DOWN
+ 21233682
+ name 0_324_CH_PREVIOUS
+ 21233683
+ name 0_324_KEY_VOL_UP
+ 21233684
+ name 0_324_KEY_MNSELECT
+ 21233687
+ name 0_324_KEY_MENU
+ 21233711
+ name 0_324_KEY_MUP
+ 21233712
+ name 0_324_KEY_MDOWN
+ 21233713
+ name 0_324_KEY_MLEFT
+ 21233714
+ name 0_324_KEY_MRIGHT
+ 21233715
+ name 1_324_KEY_0
+ 2168717312
+ name 1_324_KEY_1
+ 2168717313
+ name 1_324_KEY_2
+ 2168717314
+ name 1_324_KEY_3
+ 2168717315
+ name 1_324_KEY_4
+ 2168717316
+ name 1_324_KEY_5
+ 2168717317
+ name 1_324_KEY_6
+ 2168717318
+ name 1_324_KEY_7
+ 2168717319
+ name 1_324_KEY_8
+ 2168717320
+ name 1_324_KEY_9
+ 2168717321
+ name 1_324_KEY_POWER
+ 2168717322
+ name 1_324_TWO_DIGITS
+ 2168717325
+ name 1_324_KEY_CH_UP
+ 2168717327
+ name 1_324_KEY_CH_DOWN
+ 2168717328
+ name 1_324_KEY_VOL_DOWN
+ 2168717330
+ name 1_324_KEY_VOL_UP
+ 2168717332
+ name 1_324_KEY_BLUE
+ 2168717347
+ name 1_324_KEY_GREEN
+ 2168717348
+ name 1_324_KEY_RED
+ 2168717349
+ name 1_324_KEY_YELLOW
+ 2168717350
+ name 1_324_KEY_TTOnOff
+ 2168717385
+ name 0_325_KEY_0
+ 21299200
+ name 0_325_KEY_1
+ 21299201
+ name 0_325_KEY_2
+ 21299202
+ name 0_325_KEY_3
+ 21299203
+ name 0_325_KEY_4
+ 21299204
+ name 0_325_KEY_5
+ 21299205
+ name 0_325_KEY_6
+ 21299206
+ name 0_325_KEY_7
+ 21299207
+ name 0_325_KEY_8
+ 21299208
+ name 0_325_KEY_9
+ 21299209
+ name 0_325_KEY_POWER
+ 21299210
+ name 0_325_KEY_CH_UP
+ 21299215
+ name 0_325_KEY_CH_DOWN
+ 21299216
+ name 0_325_KEY_MUTE
+ 21299217
+ name 0_325_KEY_VOL_DOWN
+ 21299218
+ name 0_325_KEY_VOL_UP
+ 21299220
+ name 0_325_KEY_MNSELECT
+ 21299223
+ name 0_325_KEY_AV
+ 21299241
+ name 0_325_KEY_MUP
+ 21299248
+ name 0_325_KEY_MDOWN
+ 21299249
+ name 0_325_KEY_MLEFT
+ 21299250
+ name 0_325_KEY_MRIGHT
+ 21299251
+ name 1_325_KEY_0
+ 2168782848
+ name 1_325_KEY_1
+ 2168782849
+ name 1_325_KEY_2
+ 2168782850
+ name 1_325_KEY_3
+ 2168782851
+ name 1_325_KEY_4
+ 2168782852
+ name 1_325_KEY_5
+ 2168782853
+ name 1_325_KEY_6
+ 2168782854
+ name 1_325_KEY_7
+ 2168782855
+ name 1_325_KEY_8
+ 2168782856
+ name 1_325_KEY_9
+ 2168782857
+ name 1_325_KEY_POWER
+ 2168782858
+ name 1_325_TWO_DIGITS
+ 2168782861
+ name 1_325_KEY_CH_UP
+ 2168782863
+ name 1_325_KEY_CH_DOWN
+ 2168782864
+ name 1_325_KEY_MUTE
+ 2168782865
+ name 1_325_KEY_FTUNEPLUS
+ 2168782881
+ name 1_325_KEY_FTUNEMINUS
+ 2168782882
+ name 1_326_KEY_0
+ 2168848384
+ name 1_326_KEY_1
+ 2168848385
+ name 1_326_KEY_2
+ 2168848386
+ name 1_326_KEY_3
+ 2168848387
+ name 1_326_KEY_4
+ 2168848388
+ name 1_326_KEY_5
+ 2168848389
+ name 1_326_KEY_6
+ 2168848390
+ name 1_326_KEY_7
+ 2168848391
+ name 1_326_KEY_8
+ 2168848392
+ name 1_326_KEY_9
+ 2168848393
+ name 1_326_KEY_POWER
+ 2168848394
+ name 1_326_KEY_MUTE
+ 2168848401
+ name 1_326_KEY_VOL_DOWN
+ 2168848402
+ name 1_326_CH_PREVIOUS
+ 2168848403
+ name 1_326_KEY_VOL_UP
+ 2168848404
+ name 1_328_KEY_0
+ 2168979456
+ name 1_328_KEY_1
+ 2168979457
+ name 1_328_KEY_2
+ 2168979458
+ name 1_328_KEY_3
+ 2168979459
+ name 1_328_KEY_4
+ 2168979460
+ name 1_328_KEY_5
+ 2168979461
+ name 1_328_KEY_6
+ 2168979462
+ name 1_328_KEY_7
+ 2168979463
+ name 1_328_KEY_8
+ 2168979464
+ name 1_328_KEY_9
+ 2168979465
+ name 1_328_KEY_POWER
+ 2168979466
+ name 1_328_TWO_DIGITS
+ 2168979469
+ name 1_328_KEY_CH_UP
+ 2168979471
+ name 1_328_KEY_CH_DOWN
+ 2168979472
+ name 1_329_KEY_0
+ 2169044992
+ name 1_329_KEY_1
+ 2169044993
+ name 1_329_KEY_2
+ 2169044994
+ name 1_329_KEY_3
+ 2169044995
+ name 1_329_KEY_4
+ 2169044996
+ name 1_329_KEY_5
+ 2169044997
+ name 1_329_KEY_6
+ 2169044998
+ name 1_329_KEY_7
+ 2169044999
+ name 1_329_KEY_8
+ 2169045000
+ name 1_329_KEY_9
+ 2169045001
+ name 1_329_KEY_POWER
+ 2169045002
+ name 1_329_TWO_DIGITS
+ 2169045005
+ name 1_329_KEY_CH_UP
+ 2169045007
+ name 1_329_KEY_CH_DOWN
+ 2169045008
+ name 1_329_KEY_FAV
+ 2169045021
+ name 1_329_KEY_FTUNEPLUS
+ 2169045025
+ name 1_329_KEY_FTUNEMINUS
+ 2169045026
+ name 1_330_KEY_0
+ 2169110528
+ name 1_330_KEY_1
+ 2169110529
+ name 1_330_KEY_2
+ 2169110530
+ name 1_330_KEY_3
+ 2169110531
+ name 1_330_KEY_4
+ 2169110532
+ name 1_330_KEY_5
+ 2169110533
+ name 1_330_KEY_6
+ 2169110534
+ name 1_330_KEY_7
+ 2169110535
+ name 1_330_KEY_8
+ 2169110536
+ name 1_330_KEY_9
+ 2169110537
+ name 1_330_KEY_POWER
+ 2169110538
+ name 1_330_TWO_DIGITS
+ 2169110541
+ name 1_330_KEY_CH_UP
+ 2169110543
+ name 1_330_KEY_CH_DOWN
+ 2169110544
+ name 1_330_KEY_MUTE
+ 2169110545
+ name 1_330_KEY_VOL_DOWN
+ 2169110546
+ name 1_330_KEY_VOL_UP
+ 2169110548
+ name 1_330_KEY_DISPLAY
+ 2169110549
+ name 1_330_KEY_FAV
+ 2169110557
+ name 1_330_KEY_TIMER
+ 2169110572
+ name 1_331_KEY_0
+ 2169176064
+ name 1_331_KEY_1
+ 2169176065
+ name 1_331_KEY_2
+ 2169176066
+ name 1_331_KEY_3
+ 2169176067
+ name 1_331_KEY_4
+ 2169176068
+ name 1_331_KEY_5
+ 2169176069
+ name 1_331_KEY_6
+ 2169176070
+ name 1_331_KEY_7
+ 2169176071
+ name 1_331_KEY_8
+ 2169176072
+ name 1_331_KEY_9
+ 2169176073
+ name 1_331_KEY_POWER
+ 2169176074
+ name 1_331_TWO_DIGITS
+ 2169176077
+ name 1_331_KEY_CH_UP
+ 2169176079
+ name 1_331_KEY_CH_DOWN
+ 2169176080
+ name 1_331_CH_PREVIOUS
+ 2169176083
+ name 1_331_KEY_DISPLAY
+ 2169176085
+ name 1_332_KEY_0
+ 2169241600
+ name 1_332_KEY_1
+ 2169241601
+ name 1_332_KEY_2
+ 2169241602
+ name 1_332_KEY_3
+ 2169241603
+ name 1_332_KEY_4
+ 2169241604
+ name 1_332_KEY_5
+ 2169241605
+ name 1_332_KEY_6
+ 2169241606
+ name 1_332_KEY_7
+ 2169241607
+ name 1_332_KEY_8
+ 2169241608
+ name 1_332_KEY_9
+ 2169241609
+ name 1_332_KEY_POWER
+ 2169241610
+ name 1_332_TWO_DIGITS
+ 2169241613
+ name 1_332_KEY_CH_UP
+ 2169241615
+ name 1_332_KEY_CH_DOWN
+ 2169241616
+ name 1_333_KEY_0
+ 2169307136
+ name 1_333_KEY_1
+ 2169307137
+ name 1_333_KEY_2
+ 2169307138
+ name 1_333_KEY_3
+ 2169307139
+ name 1_333_KEY_4
+ 2169307140
+ name 1_333_KEY_5
+ 2169307141
+ name 1_333_KEY_6
+ 2169307142
+ name 1_333_KEY_7
+ 2169307143
+ name 1_333_KEY_8
+ 2169307144
+ name 1_333_KEY_9
+ 2169307145
+ name 1_333_KEY_POWER
+ 2169307146
+ name 1_333_TWO_DIGITS
+ 2169307149
+ name 1_333_KEY_CH_UP
+ 2169307151
+ name 1_333_KEY_CH_DOWN
+ 2169307152
+ name 1_333_KEY_MUTE
+ 2169307153
+ name 1_334_KEY_0
+ 2169372672
+ name 1_334_KEY_1
+ 2169372673
+ name 1_334_KEY_2
+ 2169372674
+ name 1_334_KEY_3
+ 2169372675
+ name 1_334_KEY_4
+ 2169372676
+ name 1_334_KEY_5
+ 2169372677
+ name 1_334_KEY_6
+ 2169372678
+ name 1_334_KEY_7
+ 2169372679
+ name 1_334_KEY_8
+ 2169372680
+ name 1_334_KEY_9
+ 2169372681
+ name 1_334_KEY_POWER
+ 2169372682
+ name 1_334_TWO_DIGITS
+ 2169372685
+ name 1_334_KEY_CH_UP
+ 2169372687
+ name 1_334_KEY_CH_DOWN
+ 2169372688
+ name 1_334_KEY_FAV
+ 2169372701
+ name 1_335_KEY_0
+ 2169438208
+ name 1_335_KEY_1
+ 2169438209
+ name 1_335_KEY_2
+ 2169438210
+ name 1_335_KEY_3
+ 2169438211
+ name 1_335_KEY_4
+ 2169438212
+ name 1_335_KEY_5
+ 2169438213
+ name 1_335_KEY_6
+ 2169438214
+ name 1_335_KEY_7
+ 2169438215
+ name 1_335_KEY_8
+ 2169438216
+ name 1_335_KEY_9
+ 2169438217
+ name 1_335_KEY_POWER
+ 2169438218
+ name 1_335_TWO_DIGITS
+ 2169438221
+ name 1_335_KEY_CH_UP
+ 2169438223
+ name 1_335_KEY_CH_DOWN
+ 2169438224
+ name 1_335_KEY_FAV
+ 2169438237
+ name 1_336_KEY_0
+ 2169503744
+ name 1_336_KEY_1
+ 2169503745
+ name 1_336_KEY_2
+ 2169503746
+ name 1_336_KEY_3
+ 2169503747
+ name 1_336_KEY_4
+ 2169503748
+ name 1_336_KEY_5
+ 2169503749
+ name 1_336_KEY_6
+ 2169503750
+ name 1_336_KEY_7
+ 2169503751
+ name 1_336_KEY_8
+ 2169503752
+ name 1_336_KEY_9
+ 2169503753
+ name 1_336_KEY_POWER
+ 2169503754
+ name 1_336_TWO_DIGITS
+ 2169503757
+ name 1_336_KEY_CH_UP
+ 2169503759
+ name 1_336_KEY_CH_DOWN
+ 2169503760
+ name 1_336_KEY_FTUNEPLUS
+ 2169503777
+ name 1_336_KEY_FTUNEMINUS
+ 2169503778
+ name 1_336_KEY_AV
+ 2169503785
+ name 1_337_KEY_0
+ 2169569280
+ name 1_337_KEY_1
+ 2169569281
+ name 1_337_KEY_2
+ 2169569282
+ name 1_337_KEY_3
+ 2169569283
+ name 1_337_KEY_4
+ 2169569284
+ name 1_337_KEY_5
+ 2169569285
+ name 1_337_KEY_6
+ 2169569286
+ name 1_337_KEY_7
+ 2169569287
+ name 1_337_KEY_8
+ 2169569288
+ name 1_337_KEY_9
+ 2169569289
+ name 1_337_KEY_POWER
+ 2169569290
+ name 1_337_TWO_DIGITS
+ 2169569293
+ name 1_337_KEY_CH_UP
+ 2169569295
+ name 1_337_KEY_CH_DOWN
+ 2169569296
+ name 1_337_KEY_MUTE
+ 2169569297
+ name 1_337_KEY_VOL_DOWN
+ 2169569298
+ name 1_337_CH_PREVIOUS
+ 2169569299
+ name 1_337_KEY_VOL_UP
+ 2169569300
+ name 1_337_KEY_TIMER
+ 2169569324
+ name 1_338_KEY_0
+ 2169634816
+ name 1_338_KEY_1
+ 2169634817
+ name 1_338_KEY_2
+ 2169634818
+ name 1_338_KEY_3
+ 2169634819
+ name 1_338_KEY_4
+ 2169634820
+ name 1_338_KEY_5
+ 2169634821
+ name 1_338_KEY_6
+ 2169634822
+ name 1_338_KEY_7
+ 2169634823
+ name 1_338_KEY_8
+ 2169634824
+ name 1_338_KEY_9
+ 2169634825
+ name 1_338_KEY_POWER
+ 2169634826
+ name 1_338_TWO_DIGITS
+ 2169634829
+ name 1_338_KEY_CH_UP
+ 2169634831
+ name 1_338_KEY_CH_DOWN
+ 2169634832
+ name 1_338_KEY_MUTE
+ 2169634833
+ name 1_338_KEY_SELECT
+ 2169634846
+ name 1_338_KEY_FTUNEPLUS
+ 2169634849
+ name 1_338_KEY_FTUNEMINUS
+ 2169634850
+ name 1_339_KEY_0
+ 2169700352
+ name 1_339_KEY_1
+ 2169700353
+ name 1_339_KEY_2
+ 2169700354
+ name 1_339_KEY_3
+ 2169700355
+ name 1_339_KEY_4
+ 2169700356
+ name 1_339_KEY_5
+ 2169700357
+ name 1_339_KEY_6
+ 2169700358
+ name 1_339_KEY_7
+ 2169700359
+ name 1_339_KEY_8
+ 2169700360
+ name 1_339_KEY_9
+ 2169700361
+ name 1_339_KEY_POWER
+ 2169700362
+ name 1_339_TWO_DIGITS
+ 2169700365
+ name 1_339_KEY_CH_UP
+ 2169700367
+ name 1_339_KEY_CH_DOWN
+ 2169700368
+ name 1_339_KEY_MUTE
+ 2169700369
+ name 1_339_KEY_VOL_DOWN
+ 2169700370
+ name 1_339_CH_PREVIOUS
+ 2169700371
+ name 1_339_KEY_VOL_UP
+ 2169700372
+ name 1_339_KEY_FAV
+ 2169700381
+ name 1_339_KEY_TIMER
+ 2169700396
+ name 1_342_KEY_0
+ 2169896960
+ name 1_342_KEY_1
+ 2169896961
+ name 1_342_KEY_2
+ 2169896962
+ name 1_342_KEY_3
+ 2169896963
+ name 1_342_KEY_4
+ 2169896964
+ name 1_342_KEY_5
+ 2169896965
+ name 1_342_KEY_6
+ 2169896966
+ name 1_342_KEY_7
+ 2169896967
+ name 1_342_KEY_8
+ 2169896968
+ name 1_342_KEY_9
+ 2169896969
+ name 1_342_KEY_POWER
+ 2169896970
+ name 1_342_TWO_DIGITS
+ 2169896973
+ name 1_342_KEY_CH_UP
+ 2169896975
+ name 1_342_KEY_CH_DOWN
+ 2169896976
+ name 1_342_KEY_MUTE
+ 2169896977
+ name 1_342_KEY_VOL_DOWN
+ 2169896978
+ name 1_342_KEY_VOL_UP
+ 2169896980
+ name 1_343_KEY_0
+ 2169962496
+ name 1_343_KEY_1
+ 2169962497
+ name 1_343_KEY_2
+ 2169962498
+ name 1_343_KEY_3
+ 2169962499
+ name 1_343_KEY_4
+ 2169962500
+ name 1_343_KEY_5
+ 2169962501
+ name 1_343_KEY_6
+ 2169962502
+ name 1_343_KEY_7
+ 2169962503
+ name 1_343_KEY_8
+ 2169962504
+ name 1_343_KEY_9
+ 2169962505
+ name 1_343_KEY_POWER
+ 2169962506
+ name 1_343_TWO_DIGITS
+ 2169962509
+ name 1_343_KEY_CH_UP
+ 2169962511
+ name 1_343_KEY_CH_DOWN
+ 2169962512
+ name 1_344_KEY_0
+ 2170028032
+ name 1_344_KEY_1
+ 2170028033
+ name 1_344_KEY_2
+ 2170028034
+ name 1_344_KEY_3
+ 2170028035
+ name 1_344_KEY_4
+ 2170028036
+ name 1_344_KEY_5
+ 2170028037
+ name 1_344_KEY_6
+ 2170028038
+ name 1_344_KEY_7
+ 2170028039
+ name 1_344_KEY_8
+ 2170028040
+ name 1_344_KEY_9
+ 2170028041
+ name 1_344_KEY_POWER
+ 2170028042
+ name 1_344_TWO_DIGITS
+ 2170028045
+ name 1_344_KEY_CH_UP
+ 2170028047
+ name 1_344_KEY_CH_DOWN
+ 2170028048
+ name 1_344_KEY_MUTE
+ 2170028049
+ name 1_344_KEY_VOL_DOWN
+ 2170028050
+ name 1_344_KEY_VOL_UP
+ 2170028052
+ name 1_344_KEY_SELECT
+ 2170028062
+ name 1_344_KEY_FTUNEPLUS
+ 2170028065
+ name 1_344_KEY_FTUNEMINUS
+ 2170028066
+ name 1_345_KEY_0
+ 2170093568
+ name 1_345_KEY_1
+ 2170093569
+ name 1_345_KEY_2
+ 2170093570
+ name 1_345_KEY_3
+ 2170093571
+ name 1_345_KEY_4
+ 2170093572
+ name 1_345_KEY_5
+ 2170093573
+ name 1_345_KEY_6
+ 2170093574
+ name 1_345_KEY_7
+ 2170093575
+ name 1_345_KEY_8
+ 2170093576
+ name 1_345_KEY_9
+ 2170093577
+ name 1_345_KEY_POWER
+ 2170093578
+ name 1_345_TWO_DIGITS
+ 2170093581
+ name 1_345_KEY_CH_UP
+ 2170093583
+ name 1_345_KEY_CH_DOWN
+ 2170093584
+ name 1_346_KEY_0
+ 2170159104
+ name 1_346_KEY_1
+ 2170159105
+ name 1_346_KEY_2
+ 2170159106
+ name 1_346_KEY_3
+ 2170159107
+ name 1_346_KEY_4
+ 2170159108
+ name 1_346_KEY_5
+ 2170159109
+ name 1_346_KEY_6
+ 2170159110
+ name 1_346_KEY_7
+ 2170159111
+ name 1_346_KEY_8
+ 2170159112
+ name 1_346_KEY_9
+ 2170159113
+ name 1_346_KEY_POWER
+ 2170159114
+ name 1_346_TWO_DIGITS
+ 2170159117
+ name 1_346_KEY_CH_UP
+ 2170159119
+ name 1_346_KEY_CH_DOWN
+ 2170159120
+ name 1_346_KEY_FTUNEPLUS
+ 2170159137
+ name 1_346_KEY_FTUNEMINUS
+ 2170159138
+ name 1_348_KEY_0
+ 2170290176
+ name 1_348_KEY_1
+ 2170290177
+ name 1_348_KEY_2
+ 2170290178
+ name 1_348_KEY_3
+ 2170290179
+ name 1_348_KEY_4
+ 2170290180
+ name 1_348_KEY_5
+ 2170290181
+ name 1_348_KEY_6
+ 2170290182
+ name 1_348_KEY_7
+ 2170290183
+ name 1_348_KEY_8
+ 2170290184
+ name 1_348_KEY_9
+ 2170290185
+ name 1_348_KEY_POWER
+ 2170290186
+ name 1_348_TWO_DIGITS
+ 2170290189
+ name 1_348_KEY_CH_UP
+ 2170290191
+ name 1_348_KEY_CH_DOWN
+ 2170290192
+ name 1_348_CH_PREVIOUS
+ 2170290195
+ name 1_348_KEY_TIMER
+ 2170290220
+ name 1_349_KEY_0
+ 2170355712
+ name 1_349_KEY_1
+ 2170355713
+ name 1_349_KEY_2
+ 2170355714
+ name 1_349_KEY_3
+ 2170355715
+ name 1_349_KEY_4
+ 2170355716
+ name 1_349_KEY_5
+ 2170355717
+ name 1_349_KEY_6
+ 2170355718
+ name 1_349_KEY_7
+ 2170355719
+ name 1_349_KEY_8
+ 2170355720
+ name 1_349_KEY_9
+ 2170355721
+ name 1_349_KEY_POWER
+ 2170355722
+ name 1_349_TWO_DIGITS
+ 2170355725
+ name 1_349_KEY_CH_UP
+ 2170355727
+ name 1_349_KEY_CH_DOWN
+ 2170355728
+ name 1_350_KEY_0
+ 2170421248
+ name 1_350_KEY_1
+ 2170421249
+ name 1_350_KEY_2
+ 2170421250
+ name 1_350_KEY_3
+ 2170421251
+ name 1_350_KEY_4
+ 2170421252
+ name 1_350_KEY_5
+ 2170421253
+ name 1_350_KEY_6
+ 2170421254
+ name 1_350_KEY_7
+ 2170421255
+ name 1_350_KEY_8
+ 2170421256
+ name 1_350_KEY_9
+ 2170421257
+ name 1_350_KEY_POWER
+ 2170421258
+ name 1_350_TWO_DIGITS
+ 2170421261
+ name 1_350_KEY_CH_UP
+ 2170421263
+ name 1_350_KEY_CH_DOWN
+ 2170421264
+ name 1_350_KEY_VOL_DOWN
+ 2170421266
+ name 1_350_KEY_VOL_UP
+ 2170421268
+ name 1_350_KEY_FTUNEPLUS
+ 2170421281
+ name 1_350_KEY_FTUNEMINUS
+ 2170421282
+ name 1_351_KEY_0
+ 2170486784
+ name 1_351_KEY_1
+ 2170486785
+ name 1_351_KEY_2
+ 2170486786
+ name 1_351_KEY_3
+ 2170486787
+ name 1_351_KEY_4
+ 2170486788
+ name 1_351_KEY_5
+ 2170486789
+ name 1_351_KEY_6
+ 2170486790
+ name 1_351_KEY_7
+ 2170486791
+ name 1_351_KEY_8
+ 2170486792
+ name 1_351_KEY_9
+ 2170486793
+ name 1_351_KEY_POWER
+ 2170486794
+ name 1_351_TWO_DIGITS
+ 2170486797
+ name 1_351_KEY_CH_UP
+ 2170486799
+ name 1_351_KEY_CH_DOWN
+ 2170486800
+ name 1_351_KEY_MUTE
+ 2170486801
+ name 1_351_KEY_VOL_DOWN
+ 2170486802
+ name 1_351_KEY_VOL_UP
+ 2170486804
+ name 1_352_KEY_0
+ 2170552320
+ name 1_352_KEY_1
+ 2170552321
+ name 1_352_KEY_2
+ 2170552322
+ name 1_352_KEY_3
+ 2170552323
+ name 1_352_KEY_4
+ 2170552324
+ name 1_352_KEY_5
+ 2170552325
+ name 1_352_KEY_6
+ 2170552326
+ name 1_352_KEY_7
+ 2170552327
+ name 1_352_KEY_8
+ 2170552328
+ name 1_352_KEY_9
+ 2170552329
+ name 1_352_KEY_POWER
+ 2170552330
+ name 1_352_TWO_DIGITS
+ 2170552333
+ name 1_352_KEY_CH_UP
+ 2170552335
+ name 1_352_KEY_CH_DOWN
+ 2170552336
+ name 1_352_CH_PREVIOUS
+ 2170552339
+ name 1_352_KEY_FTUNEPLUS
+ 2170552353
+ name 1_352_KEY_FTUNEMINUS
+ 2170552354
+ name 1_353_KEY_0
+ 2170617856
+ name 1_353_KEY_1
+ 2170617857
+ name 1_353_KEY_2
+ 2170617858
+ name 1_353_KEY_3
+ 2170617859
+ name 1_353_KEY_4
+ 2170617860
+ name 1_353_KEY_5
+ 2170617861
+ name 1_353_KEY_6
+ 2170617862
+ name 1_353_KEY_7
+ 2170617863
+ name 1_353_KEY_8
+ 2170617864
+ name 1_353_KEY_9
+ 2170617865
+ name 1_353_KEY_POWER
+ 2170617866
+ name 1_353_TWO_DIGITS
+ 2170617869
+ name 1_353_KEY_CH_UP
+ 2170617871
+ name 1_353_KEY_CH_DOWN
+ 2170617872
+ name 1_353_CH_PREVIOUS
+ 2170617875
+ name 1_354_KEY_0
+ 2170683392
+ name 1_354_KEY_1
+ 2170683393
+ name 1_354_KEY_2
+ 2170683394
+ name 1_354_KEY_3
+ 2170683395
+ name 1_354_KEY_4
+ 2170683396
+ name 1_354_KEY_5
+ 2170683397
+ name 1_354_KEY_6
+ 2170683398
+ name 1_354_KEY_7
+ 2170683399
+ name 1_354_KEY_8
+ 2170683400
+ name 1_354_KEY_9
+ 2170683401
+ name 1_354_KEY_POWER
+ 2170683402
+ name 1_354_TWO_DIGITS
+ 2170683405
+ name 1_354_KEY_CH_UP
+ 2170683407
+ name 1_354_KEY_CH_DOWN
+ 2170683408
+ name 1_354_KEY_AV
+ 2170683433
+ name 1_355_KEY_0
+ 2170748928
+ name 1_355_KEY_1
+ 2170748929
+ name 1_355_KEY_2
+ 2170748930
+ name 1_355_KEY_3
+ 2170748931
+ name 1_355_KEY_4
+ 2170748932
+ name 1_355_KEY_5
+ 2170748933
+ name 1_355_KEY_6
+ 2170748934
+ name 1_355_KEY_7
+ 2170748935
+ name 1_355_KEY_8
+ 2170748936
+ name 1_355_KEY_9
+ 2170748937
+ name 1_355_KEY_POWER
+ 2170748938
+ name 1_355_TWO_DIGITS
+ 2170748941
+ name 1_355_KEY_CH_UP
+ 2170748943
+ name 1_355_KEY_CH_DOWN
+ 2170748944
+ name 1_357_KEY_0
+ 2170880000
+ name 1_357_KEY_1
+ 2170880001
+ name 1_357_KEY_2
+ 2170880002
+ name 1_357_KEY_3
+ 2170880003
+ name 1_357_KEY_4
+ 2170880004
+ name 1_357_KEY_5
+ 2170880005
+ name 1_357_KEY_6
+ 2170880006
+ name 1_357_KEY_7
+ 2170880007
+ name 1_357_KEY_8
+ 2170880008
+ name 1_357_KEY_9
+ 2170880009
+ name 1_357_KEY_POWER
+ 2170880010
+ name 1_357_TWO_DIGITS
+ 2170880013
+ name 1_357_KEY_CH_UP
+ 2170880015
+ name 1_357_KEY_CH_DOWN
+ 2170880016
+ name 1_357_KEY_SELECT
+ 2170880030
+ name 1_358_KEY_0
+ 2170945536
+ name 1_358_KEY_1
+ 2170945537
+ name 1_358_KEY_2
+ 2170945538
+ name 1_358_KEY_3
+ 2170945539
+ name 1_358_KEY_4
+ 2170945540
+ name 1_358_KEY_5
+ 2170945541
+ name 1_358_KEY_6
+ 2170945542
+ name 1_358_KEY_7
+ 2170945543
+ name 1_358_KEY_8
+ 2170945544
+ name 1_358_KEY_9
+ 2170945545
+ name 1_358_KEY_POWER
+ 2170945546
+ name 1_358_TWO_DIGITS
+ 2170945549
+ name 1_358_KEY_CH_UP
+ 2170945551
+ name 1_358_KEY_CH_DOWN
+ 2170945552
+ name 1_358_KEY_MUTE
+ 2170945553
+ name 1_358_KEY_VOL_DOWN
+ 2170945554
+ name 1_358_KEY_VOL_UP
+ 2170945556
+ name 1_358_KEY_FAV
+ 2170945565
+ name 1_358_KEY_TIMER
+ 2170945580
+ name 1_359_KEY_0
+ 2171011072
+ name 1_359_KEY_1
+ 2171011073
+ name 1_359_KEY_2
+ 2171011074
+ name 1_359_KEY_3
+ 2171011075
+ name 1_359_KEY_4
+ 2171011076
+ name 1_359_KEY_5
+ 2171011077
+ name 1_359_KEY_6
+ 2171011078
+ name 1_359_KEY_7
+ 2171011079
+ name 1_359_KEY_8
+ 2171011080
+ name 1_359_KEY_9
+ 2171011081
+ name 1_359_KEY_POWER
+ 2171011082
+ name 1_359_POWER_ON
+ 2171011083
+ name 1_359_TWO_DIGITS
+ 2171011085
+ name 1_359_KEY_CH_UP
+ 2171011087
+ name 1_359_KEY_CH_DOWN
+ 2171011088
+ name 1_359_KEY_MUTE
+ 2171011089
+ name 1_359_KEY_VOL_DOWN
+ 2171011090
+ name 1_359_KEY_VOL_UP
+ 2171011092
+ name 1_360_KEY_0
+ 2171076608
+ name 1_360_KEY_1
+ 2171076609
+ name 1_360_KEY_2
+ 2171076610
+ name 1_360_KEY_3
+ 2171076611
+ name 1_360_KEY_4
+ 2171076612
+ name 1_360_KEY_5
+ 2171076613
+ name 1_360_KEY_6
+ 2171076614
+ name 1_360_KEY_7
+ 2171076615
+ name 1_360_KEY_8
+ 2171076616
+ name 1_360_KEY_9
+ 2171076617
+ name 1_360_KEY_POWER
+ 2171076618
+ name 1_360_TWO_DIGITS
+ 2171076621
+ name 1_360_KEY_CH_UP
+ 2171076623
+ name 1_360_KEY_CH_DOWN
+ 2171076624
+ name 1_360_KEY_MUTE
+ 2171076625
+ name 1_360_KEY_VOL_DOWN
+ 2171076626
+ name 1_360_CH_PREVIOUS
+ 2171076627
+ name 1_360_KEY_VOL_UP
+ 2171076628
+ name 1_360_KEY_DISPLAY
+ 2171076629
+ name 1_361_KEY_0
+ 2171142144
+ name 1_361_KEY_1
+ 2171142145
+ name 1_361_KEY_2
+ 2171142146
+ name 1_361_KEY_3
+ 2171142147
+ name 1_361_KEY_4
+ 2171142148
+ name 1_361_KEY_5
+ 2171142149
+ name 1_361_KEY_6
+ 2171142150
+ name 1_361_KEY_7
+ 2171142151
+ name 1_361_KEY_8
+ 2171142152
+ name 1_361_KEY_9
+ 2171142153
+ name 1_361_KEY_POWER
+ 2171142154
+ name 1_361_TWO_DIGITS
+ 2171142157
+ name 1_361_KEY_CH_UP
+ 2171142159
+ name 1_361_KEY_CH_DOWN
+ 2171142160
+ name 1_361_KEY_MUTE
+ 2171142161
+ name 1_361_KEY_VOL_DOWN
+ 2171142162
+ name 1_361_KEY_VOL_UP
+ 2171142164
+ name 1_363_KEY_0
+ 2171273216
+ name 1_363_KEY_1
+ 2171273217
+ name 1_363_KEY_2
+ 2171273218
+ name 1_363_KEY_3
+ 2171273219
+ name 1_363_KEY_4
+ 2171273220
+ name 1_363_KEY_5
+ 2171273221
+ name 1_363_KEY_6
+ 2171273222
+ name 1_363_KEY_7
+ 2171273223
+ name 1_363_KEY_8
+ 2171273224
+ name 1_363_KEY_9
+ 2171273225
+ name 1_363_KEY_POWER
+ 2171273226
+ name 1_363_TWO_DIGITS
+ 2171273229
+ name 1_363_KEY_CH_UP
+ 2171273231
+ name 1_363_KEY_CH_DOWN
+ 2171273232
+ name 1_363_KEY_MUTE
+ 2171273233
+ name 1_363_KEY_VOL_DOWN
+ 2171273234
+ name 1_363_KEY_VOL_UP
+ 2171273236
+ name 1_363_KEY_FTUNEPLUS
+ 2171273249
+ name 1_363_KEY_FTUNEMINUS
+ 2171273250
+ name 1_364_KEY_0
+ 2171338752
+ name 1_364_KEY_1
+ 2171338753
+ name 1_364_KEY_2
+ 2171338754
+ name 1_364_KEY_3
+ 2171338755
+ name 1_364_KEY_4
+ 2171338756
+ name 1_364_KEY_5
+ 2171338757
+ name 1_364_KEY_6
+ 2171338758
+ name 1_364_KEY_7
+ 2171338759
+ name 1_364_KEY_8
+ 2171338760
+ name 1_364_KEY_9
+ 2171338761
+ name 1_364_KEY_POWER
+ 2171338762
+ name 1_364_TWO_DIGITS
+ 2171338765
+ name 1_364_KEY_CH_UP
+ 2171338767
+ name 1_364_KEY_CH_DOWN
+ 2171338768
+ name 1_364_KEY_MUTE
+ 2171338769
+ name 1_364_KEY_VOL_DOWN
+ 2171338770
+ name 1_364_KEY_VOL_UP
+ 2171338772
+ name 1_364_KEY_BLUE
+ 2171338787
+ name 1_364_KEY_GREEN
+ 2171338788
+ name 1_364_KEY_RED
+ 2171338789
+ name 1_364_KEY_YELLOW
+ 2171338790
+ name 1_364_KEY_On
+ 2171338829
+ name 1_364_KEY_Off
+ 2171338830
+ name 1_365_KEY_0
+ 2171404288
+ name 1_365_KEY_1
+ 2171404289
+ name 1_365_KEY_2
+ 2171404290
+ name 1_365_KEY_3
+ 2171404291
+ name 1_365_KEY_4
+ 2171404292
+ name 1_365_KEY_5
+ 2171404293
+ name 1_365_KEY_6
+ 2171404294
+ name 1_365_KEY_7
+ 2171404295
+ name 1_365_KEY_8
+ 2171404296
+ name 1_365_KEY_9
+ 2171404297
+ name 1_365_KEY_POWER
+ 2171404298
+ name 1_365_TWO_DIGITS
+ 2171404301
+ name 1_365_KEY_CH_UP
+ 2171404303
+ name 1_365_KEY_CH_DOWN
+ 2171404304
+ name 1_365_CH_PREVIOUS
+ 2171404307
+ name 1_366_KEY_0
+ 2171469824
+ name 1_366_KEY_1
+ 2171469825
+ name 1_366_KEY_2
+ 2171469826
+ name 1_366_KEY_3
+ 2171469827
+ name 1_366_KEY_4
+ 2171469828
+ name 1_366_KEY_5
+ 2171469829
+ name 1_366_KEY_6
+ 2171469830
+ name 1_366_KEY_7
+ 2171469831
+ name 1_366_KEY_8
+ 2171469832
+ name 1_366_KEY_9
+ 2171469833
+ name 1_366_KEY_POWER
+ 2171469834
+ name 1_366_TWO_DIGITS
+ 2171469837
+ name 1_366_KEY_CH_UP
+ 2171469839
+ name 1_366_KEY_CH_DOWN
+ 2171469840
+ name 1_366_CH_PREVIOUS
+ 2171469843
+ name 1_368_KEY_0
+ 2171600896
+ name 1_368_KEY_1
+ 2171600897
+ name 1_368_KEY_2
+ 2171600898
+ name 1_368_KEY_3
+ 2171600899
+ name 1_368_KEY_4
+ 2171600900
+ name 1_368_KEY_5
+ 2171600901
+ name 1_368_KEY_6
+ 2171600902
+ name 1_368_KEY_7
+ 2171600903
+ name 1_368_KEY_8
+ 2171600904
+ name 1_368_KEY_9
+ 2171600905
+ name 1_368_KEY_POWER
+ 2171600906
+ name 1_368_TWO_DIGITS
+ 2171600909
+ name 1_368_KEY_CH_UP
+ 2171600911
+ name 1_368_KEY_CH_DOWN
+ 2171600912
+ name 1_369_KEY_0
+ 2171666432
+ name 1_369_KEY_1
+ 2171666433
+ name 1_369_KEY_2
+ 2171666434
+ name 1_369_KEY_3
+ 2171666435
+ name 1_369_KEY_4
+ 2171666436
+ name 1_369_KEY_5
+ 2171666437
+ name 1_369_KEY_6
+ 2171666438
+ name 1_369_KEY_7
+ 2171666439
+ name 1_369_KEY_8
+ 2171666440
+ name 1_369_KEY_9
+ 2171666441
+ name 1_369_KEY_POWER
+ 2171666442
+ name 1_369_TWO_DIGITS
+ 2171666445
+ name 1_369_KEY_CH_UP
+ 2171666447
+ name 1_369_KEY_CH_DOWN
+ 2171666448
+ name 1_369_KEY_MUTE
+ 2171666449
+ name 1_369_KEY_VOL_DOWN
+ 2171666450
+ name 1_369_KEY_VOL_UP
+ 2171666452
+ name 1_369_KEY_MNSELECT
+ 2171666455
+ name 1_369_KEY_AV
+ 2171666473
+ name 1_369_KEY_AUTOTRACK
+ 2171666478
+ name 1_369_KEY_MENU
+ 2171666479
+ name 1_369_KEY_MUP
+ 2171666480
+ name 1_369_KEY_MDOWN
+ 2171666481
+ name 1_369_KEY_MLEFT
+ 2171666482
+ name 1_369_KEY_MRIGHT
+ 2171666483
+ name 1_370_KEY_0
+ 2171731968
+ name 1_370_KEY_1
+ 2171731969
+ name 1_370_KEY_2
+ 2171731970
+ name 1_370_KEY_3
+ 2171731971
+ name 1_370_KEY_4
+ 2171731972
+ name 1_370_KEY_5
+ 2171731973
+ name 1_370_KEY_6
+ 2171731974
+ name 1_370_KEY_7
+ 2171731975
+ name 1_370_KEY_8
+ 2171731976
+ name 1_370_KEY_9
+ 2171731977
+ name 1_370_KEY_POWER
+ 2171731978
+ name 1_370_TWO_DIGITS
+ 2171731981
+ name 1_370_KEY_CH_UP
+ 2171731983
+ name 1_370_KEY_CH_DOWN
+ 2171731984
+ name 1_370_KEY_MUTE
+ 2171731985
+ name 1_370_KEY_VOL_DOWN
+ 2171731986
+ name 1_370_KEY_VOL_UP
+ 2171731988
+ name 1_370_KEY_MNSELECT
+ 2171731991
+ name 1_370_KEY_AV
+ 2171732009
+ name 1_370_KEY_AUTOTRACK
+ 2171732014
+ name 1_370_KEY_MENU
+ 2171732015
+ name 1_370_KEY_MUP
+ 2171732016
+ name 1_370_KEY_MDOWN
+ 2171732017
+ name 1_370_KEY_MLEFT
+ 2171732018
+ name 1_370_KEY_MRIGHT
+ 2171732019
+ name 1_371_KEY_0
+ 2171797504
+ name 1_371_KEY_1
+ 2171797505
+ name 1_371_KEY_2
+ 2171797506
+ name 1_371_KEY_3
+ 2171797507
+ name 1_371_KEY_4
+ 2171797508
+ name 1_371_KEY_5
+ 2171797509
+ name 1_371_KEY_6
+ 2171797510
+ name 1_371_KEY_7
+ 2171797511
+ name 1_371_KEY_8
+ 2171797512
+ name 1_371_KEY_9
+ 2171797513
+ name 1_371_KEY_POWER
+ 2171797514
+ name 1_371_KEY_CH_UP
+ 2171797519
+ name 1_371_KEY_CH_DOWN
+ 2171797520
+ name 1_371_KEY_MUTE
+ 2171797521
+ name 1_371_KEY_VOL_DOWN
+ 2171797522
+ name 1_371_KEY_VOL_UP
+ 2171797524
+ name 1_371_KEY_MNSELECT
+ 2171797527
+ name 1_371_KEY_AV
+ 2171797545
+ name 1_371_KEY_MENU
+ 2171797551
+ name 1_371_KEY_MUP
+ 2171797552
+ name 1_371_KEY_MDOWN
+ 2171797553
+ name 1_371_KEY_MLEFT
+ 2171797554
+ name 1_371_KEY_MRIGHT
+ 2171797555
+ name 1_372_KEY_0
+ 2171863040
+ name 1_372_KEY_1
+ 2171863041
+ name 1_372_KEY_2
+ 2171863042
+ name 1_372_KEY_3
+ 2171863043
+ name 1_372_KEY_4
+ 2171863044
+ name 1_372_KEY_5
+ 2171863045
+ name 1_372_KEY_6
+ 2171863046
+ name 1_372_KEY_7
+ 2171863047
+ name 1_372_KEY_8
+ 2171863048
+ name 1_372_KEY_9
+ 2171863049
+ name 1_372_KEY_POWER
+ 2171863050
+ name 1_372_KEY_CH_UP
+ 2171863055
+ name 1_372_KEY_CH_DOWN
+ 2171863056
+ name 1_372_KEY_MUTE
+ 2171863057
+ name 1_372_KEY_VOL_DOWN
+ 2171863058
+ name 1_372_KEY_VOL_UP
+ 2171863060
+ name 1_372_KEY_MNSELECT
+ 2171863063
+ name 1_372_KEY_AV
+ 2171863081
+ name 1_372_KEY_MENU
+ 2171863087
+ name 1_372_KEY_MUP
+ 2171863088
+ name 1_372_KEY_MDOWN
+ 2171863089
+ name 1_372_KEY_MLEFT
+ 2171863090
+ name 1_372_KEY_MRIGHT
+ 2171863091
+ name 1_373_KEY_0
+ 2171928576
+ name 1_373_KEY_1
+ 2171928577
+ name 1_373_KEY_2
+ 2171928578
+ name 1_373_KEY_3
+ 2171928579
+ name 1_373_KEY_4
+ 2171928580
+ name 1_373_KEY_5
+ 2171928581
+ name 1_373_KEY_6
+ 2171928582
+ name 1_373_KEY_7
+ 2171928583
+ name 1_373_KEY_8
+ 2171928584
+ name 1_373_KEY_9
+ 2171928585
+ name 1_373_KEY_POWER
+ 2171928586
+ name 1_373_KEY_CH_UP
+ 2171928591
+ name 1_373_KEY_CH_DOWN
+ 2171928592
+ name 1_373_KEY_MUTE
+ 2171928593
+ name 1_373_KEY_VOL_DOWN
+ 2171928594
+ name 1_373_KEY_VOL_UP
+ 2171928596
+ name 1_373_KEY_MNSELECT
+ 2171928599
+ name 1_373_KEY_AV
+ 2171928617
+ name 1_373_KEY_MENU
+ 2171928623
+ name 1_373_KEY_MUP
+ 2171928624
+ name 1_373_KEY_MDOWN
+ 2171928625
+ name 1_373_KEY_MLEFT
+ 2171928626
+ name 1_373_KEY_MRIGHT
+ 2171928627
+ name 1_374_KEY_0
+ 2171994112
+ name 1_374_KEY_1
+ 2171994113
+ name 1_374_KEY_2
+ 2171994114
+ name 1_374_KEY_3
+ 2171994115
+ name 1_374_KEY_4
+ 2171994116
+ name 1_374_KEY_5
+ 2171994117
+ name 1_374_KEY_6
+ 2171994118
+ name 1_374_KEY_7
+ 2171994119
+ name 1_374_KEY_8
+ 2171994120
+ name 1_374_KEY_9
+ 2171994121
+ name 1_374_KEY_POWER
+ 2171994122
+ name 1_374_TWO_DIGITS
+ 2171994125
+ name 1_374_KEY_CH_UP
+ 2171994127
+ name 1_374_KEY_CH_DOWN
+ 2171994128
+ name 1_374_KEY_MUTE
+ 2171994129
+ name 1_374_KEY_VOL_DOWN
+ 2171994130
+ name 1_374_KEY_VOL_UP
+ 2171994132
+ name 1_374_KEY_AV
+ 2171994153
+ name 1_374_KEY_MENU
+ 2171994159
+ name 1_374_KEY_MUP
+ 2171994160
+ name 1_374_KEY_MDOWN
+ 2171994161
+ name 1_374_KEY_MLEFT
+ 2171994162
+ name 1_374_KEY_MRIGHT
+ 2171994163
+ name 1_375_KEY_0
+ 2172059648
+ name 1_375_KEY_1
+ 2172059649
+ name 1_375_KEY_2
+ 2172059650
+ name 1_375_KEY_3
+ 2172059651
+ name 1_375_KEY_4
+ 2172059652
+ name 1_375_KEY_5
+ 2172059653
+ name 1_375_KEY_6
+ 2172059654
+ name 1_375_KEY_7
+ 2172059655
+ name 1_375_KEY_8
+ 2172059656
+ name 1_375_KEY_9
+ 2172059657
+ name 1_375_KEY_POWER
+ 2172059658
+ name 1_375_TWO_DIGITS
+ 2172059661
+ name 1_375_KEY_CH_UP
+ 2172059663
+ name 1_375_KEY_CH_DOWN
+ 2172059664
+ name 1_375_KEY_MUTE
+ 2172059665
+ name 1_375_KEY_VOL_DOWN
+ 2172059666
+ name 1_375_KEY_VOL_UP
+ 2172059668
+ name 1_375_KEY_MNSELECT
+ 2172059671
+ name 1_375_KEY_AV
+ 2172059689
+ name 1_375_KEY_AUTOTRACK
+ 2172059694
+ name 1_375_KEY_MENU
+ 2172059695
+ name 1_375_KEY_MUP
+ 2172059696
+ name 1_375_KEY_MDOWN
+ 2172059697
+ name 1_375_KEY_MLEFT
+ 2172059698
+ name 1_375_KEY_MRIGHT
+ 2172059699
+ name 1_376_KEY_0
+ 2172125184
+ name 1_376_KEY_1
+ 2172125185
+ name 1_376_KEY_2
+ 2172125186
+ name 1_376_KEY_3
+ 2172125187
+ name 1_376_KEY_4
+ 2172125188
+ name 1_376_KEY_5
+ 2172125189
+ name 1_376_KEY_6
+ 2172125190
+ name 1_376_KEY_7
+ 2172125191
+ name 1_376_KEY_8
+ 2172125192
+ name 1_376_KEY_9
+ 2172125193
+ name 1_376_KEY_POWER
+ 2172125194
+ name 1_376_TWO_DIGITS
+ 2172125197
+ name 1_376_KEY_CH_UP
+ 2172125199
+ name 1_376_KEY_CH_DOWN
+ 2172125200
+ name 1_376_KEY_MUTE
+ 2172125201
+ name 1_376_KEY_VOL_DOWN
+ 2172125202
+ name 1_376_KEY_VOL_UP
+ 2172125204
+ name 1_376_KEY_MNSELECT
+ 2172125207
+ name 1_376_KEY_MENU
+ 2172125231
+ name 1_376_KEY_MUP
+ 2172125232
+ name 1_376_KEY_MDOWN
+ 2172125233
+ name 1_376_KEY_MLEFT
+ 2172125234
+ name 1_376_KEY_MRIGHT
+ 2172125235
+ name 1_377_KEY_0
+ 2172190720
+ name 1_377_KEY_1
+ 2172190721
+ name 1_377_KEY_2
+ 2172190722
+ name 1_377_KEY_3
+ 2172190723
+ name 1_377_KEY_4
+ 2172190724
+ name 1_377_KEY_5
+ 2172190725
+ name 1_377_KEY_6
+ 2172190726
+ name 1_377_KEY_7
+ 2172190727
+ name 1_377_KEY_8
+ 2172190728
+ name 1_377_KEY_9
+ 2172190729
+ name 1_377_KEY_POWER
+ 2172190730
+ name 1_377_KEY_CH_UP
+ 2172190735
+ name 1_377_KEY_CH_DOWN
+ 2172190736
+ name 1_377_KEY_AV
+ 2172190761
+ name 1_378_KEY_0
+ 2172256256
+ name 1_378_KEY_1
+ 2172256257
+ name 1_378_KEY_2
+ 2172256258
+ name 1_378_KEY_3
+ 2172256259
+ name 1_378_KEY_4
+ 2172256260
+ name 1_378_KEY_5
+ 2172256261
+ name 1_378_KEY_6
+ 2172256262
+ name 1_378_KEY_7
+ 2172256263
+ name 1_378_KEY_8
+ 2172256264
+ name 1_378_KEY_9
+ 2172256265
+ name 1_378_KEY_POWER
+ 2172256266
+ name 1_378_KEY_CH_UP
+ 2172256271
+ name 1_378_KEY_CH_DOWN
+ 2172256272
+ name 1_378_KEY_MUTE
+ 2172256273
+ name 1_378_KEY_VOL_DOWN
+ 2172256274
+ name 1_378_KEY_VOL_UP
+ 2172256276
+ name 1_378_KEY_AV
+ 2172256297
+ name 1_379_KEY_0
+ 2172321792
+ name 1_379_KEY_1
+ 2172321793
+ name 1_379_KEY_2
+ 2172321794
+ name 1_379_KEY_3
+ 2172321795
+ name 1_379_KEY_4
+ 2172321796
+ name 1_379_KEY_5
+ 2172321797
+ name 1_379_KEY_6
+ 2172321798
+ name 1_379_KEY_7
+ 2172321799
+ name 1_379_KEY_8
+ 2172321800
+ name 1_379_KEY_9
+ 2172321801
+ name 1_379_KEY_POWER
+ 2172321802
+ name 1_379_KEY_CH_UP
+ 2172321807
+ name 1_379_KEY_CH_DOWN
+ 2172321808
+ name 1_379_KEY_AV
+ 2172321833
+ name 1_380_KEY_0
+ 2172387328
+ name 1_380_KEY_1
+ 2172387329
+ name 1_380_KEY_2
+ 2172387330
+ name 1_380_KEY_3
+ 2172387331
+ name 1_380_KEY_4
+ 2172387332
+ name 1_380_KEY_5
+ 2172387333
+ name 1_380_KEY_6
+ 2172387334
+ name 1_380_KEY_7
+ 2172387335
+ name 1_380_KEY_8
+ 2172387336
+ name 1_380_KEY_9
+ 2172387337
+ name 1_380_KEY_POWER
+ 2172387338
+ name 1_380_KEY_CH_UP
+ 2172387343
+ name 1_380_KEY_CH_DOWN
+ 2172387344
+ name 1_380_KEY_AV
+ 2172387369
+ name 1_381_KEY_0
+ 2172452864
+ name 1_381_KEY_1
+ 2172452865
+ name 1_381_KEY_2
+ 2172452866
+ name 1_381_KEY_3
+ 2172452867
+ name 1_381_KEY_4
+ 2172452868
+ name 1_381_KEY_5
+ 2172452869
+ name 1_381_KEY_6
+ 2172452870
+ name 1_381_KEY_7
+ 2172452871
+ name 1_381_KEY_8
+ 2172452872
+ name 1_381_KEY_9
+ 2172452873
+ name 1_381_KEY_POWER
+ 2172452874
+ name 1_381_KEY_CH_UP
+ 2172452879
+ name 1_381_KEY_CH_DOWN
+ 2172452880
+ name 1_381_KEY_AV
+ 2172452905
+ name 1_382_KEY_0
+ 2172518400
+ name 1_382_KEY_1
+ 2172518401
+ name 1_382_KEY_2
+ 2172518402
+ name 1_382_KEY_3
+ 2172518403
+ name 1_382_KEY_4
+ 2172518404
+ name 1_382_KEY_5
+ 2172518405
+ name 1_382_KEY_6
+ 2172518406
+ name 1_382_KEY_7
+ 2172518407
+ name 1_382_KEY_8
+ 2172518408
+ name 1_382_KEY_9
+ 2172518409
+ name 1_382_KEY_POWER
+ 2172518410
+ name 1_382_KEY_CH_UP
+ 2172518415
+ name 1_382_KEY_CH_DOWN
+ 2172518416
+ name 1_382_KEY_MUTE
+ 2172518417
+ name 1_382_KEY_VOL_DOWN
+ 2172518418
+ name 1_382_KEY_VOL_UP
+ 2172518420
+ name 1_382_KEY_AV
+ 2172518441
+ name 1_383_KEY_0
+ 2172583936
+ name 1_383_KEY_1
+ 2172583937
+ name 1_383_KEY_2
+ 2172583938
+ name 1_383_KEY_3
+ 2172583939
+ name 1_383_KEY_4
+ 2172583940
+ name 1_383_KEY_5
+ 2172583941
+ name 1_383_KEY_6
+ 2172583942
+ name 1_383_KEY_7
+ 2172583943
+ name 1_383_KEY_8
+ 2172583944
+ name 1_383_KEY_9
+ 2172583945
+ name 1_383_KEY_POWER
+ 2172583946
+ name 1_383_TWO_DIGITS
+ 2172583949
+ name 1_383_KEY_CH_UP
+ 2172583951
+ name 1_383_KEY_CH_DOWN
+ 2172583952
+ name 1_383_KEY_MUTE
+ 2172583953
+ name 1_383_KEY_VOL_DOWN
+ 2172583954
+ name 1_383_KEY_VOL_UP
+ 2172583956
+ name 1_384_KEY_0
+ 2172649472
+ name 1_384_KEY_1
+ 2172649473
+ name 1_384_KEY_2
+ 2172649474
+ name 1_384_KEY_3
+ 2172649475
+ name 1_384_KEY_4
+ 2172649476
+ name 1_384_KEY_5
+ 2172649477
+ name 1_384_KEY_6
+ 2172649478
+ name 1_384_KEY_7
+ 2172649479
+ name 1_384_KEY_8
+ 2172649480
+ name 1_384_KEY_9
+ 2172649481
+ name 1_384_KEY_POWER
+ 2172649482
+ name 1_384_TWO_DIGITS
+ 2172649485
+ name 1_384_KEY_CH_UP
+ 2172649487
+ name 1_384_KEY_CH_DOWN
+ 2172649488
+ name 1_384_KEY_MUTE
+ 2172649489
+ name 1_384_KEY_VOL_DOWN
+ 2172649490
+ name 1_384_KEY_VOL_UP
+ 2172649492
+ name 1_384_KEY_AV
+ 2172649513
+ name 1_384_KEY_AUTOTRACK
+ 2172649518
+ name 1_384_KEY_MENU
+ 2172649519
+ name 1_384_KEY_MUP
+ 2172649520
+ name 1_384_KEY_MDOWN
+ 2172649521
+ name 1_384_KEY_MLEFT
+ 2172649522
+ name 1_384_KEY_MRIGHT
+ 2172649523
+ name 1_385_KEY_0
+ 2172715008
+ name 1_385_KEY_1
+ 2172715009
+ name 1_385_KEY_2
+ 2172715010
+ name 1_385_KEY_3
+ 2172715011
+ name 1_385_KEY_4
+ 2172715012
+ name 1_385_KEY_5
+ 2172715013
+ name 1_385_KEY_6
+ 2172715014
+ name 1_385_KEY_7
+ 2172715015
+ name 1_385_KEY_8
+ 2172715016
+ name 1_385_KEY_9
+ 2172715017
+ name 1_385_KEY_POWER
+ 2172715018
+ name 1_385_TWO_DIGITS
+ 2172715021
+ name 1_385_KEY_CH_UP
+ 2172715023
+ name 1_385_KEY_CH_DOWN
+ 2172715024
+ name 1_385_KEY_MUTE
+ 2172715025
+ name 1_385_KEY_VOL_DOWN
+ 2172715026
+ name 1_385_KEY_VOL_UP
+ 2172715028
+ name 1_385_KEY_MNSELECT
+ 2172715031
+ name 1_385_KEY_AV
+ 2172715049
+ name 1_385_KEY_AUTOTRACK
+ 2172715054
+ name 1_385_KEY_MENU
+ 2172715055
+ name 1_385_KEY_MUP
+ 2172715056
+ name 1_385_KEY_MDOWN
+ 2172715057
+ name 1_385_KEY_MLEFT
+ 2172715058
+ name 1_385_KEY_MRIGHT
+ 2172715059
+ name 1_386_KEY_0
+ 2172780544
+ name 1_386_KEY_1
+ 2172780545
+ name 1_386_KEY_2
+ 2172780546
+ name 1_386_KEY_3
+ 2172780547
+ name 1_386_KEY_4
+ 2172780548
+ name 1_386_KEY_5
+ 2172780549
+ name 1_386_KEY_6
+ 2172780550
+ name 1_386_KEY_7
+ 2172780551
+ name 1_386_KEY_8
+ 2172780552
+ name 1_386_KEY_9
+ 2172780553
+ name 1_386_KEY_POWER
+ 2172780554
+ name 1_386_KEY_CH_UP
+ 2172780559
+ name 1_386_KEY_CH_DOWN
+ 2172780560
+ name 1_386_KEY_MUTE
+ 2172780561
+ name 1_386_KEY_VOL_DOWN
+ 2172780562
+ name 1_386_KEY_VOL_UP
+ 2172780564
+ name 1_387_KEY_0
+ 2172846080
+ name 1_387_KEY_1
+ 2172846081
+ name 1_387_KEY_2
+ 2172846082
+ name 1_387_KEY_3
+ 2172846083
+ name 1_387_KEY_4
+ 2172846084
+ name 1_387_KEY_5
+ 2172846085
+ name 1_387_KEY_6
+ 2172846086
+ name 1_387_KEY_7
+ 2172846087
+ name 1_387_KEY_8
+ 2172846088
+ name 1_387_KEY_9
+ 2172846089
+ name 1_387_KEY_POWER
+ 2172846090
+ name 1_387_KEY_CH_UP
+ 2172846095
+ name 1_387_KEY_CH_DOWN
+ 2172846096
+ name 1_387_KEY_AV
+ 2172846121
+ name 1_389_KEY_0
+ 2172977152
+ name 1_389_KEY_1
+ 2172977153
+ name 1_389_KEY_2
+ 2172977154
+ name 1_389_KEY_3
+ 2172977155
+ name 1_389_KEY_4
+ 2172977156
+ name 1_389_KEY_5
+ 2172977157
+ name 1_389_KEY_6
+ 2172977158
+ name 1_389_KEY_7
+ 2172977159
+ name 1_389_KEY_8
+ 2172977160
+ name 1_389_KEY_9
+ 2172977161
+ name 1_389_KEY_POWER
+ 2172977162
+ name 1_389_KEY_CH_UP
+ 2172977167
+ name 1_389_KEY_CH_DOWN
+ 2172977168
+ name 1_389_CH_PREVIOUS
+ 2172977171
+ name 1_390_KEY_0
+ 2173042688
+ name 1_390_KEY_1
+ 2173042689
+ name 1_390_KEY_2
+ 2173042690
+ name 1_390_KEY_3
+ 2173042691
+ name 1_390_KEY_4
+ 2173042692
+ name 1_390_KEY_5
+ 2173042693
+ name 1_390_KEY_6
+ 2173042694
+ name 1_390_KEY_7
+ 2173042695
+ name 1_390_KEY_8
+ 2173042696
+ name 1_390_KEY_9
+ 2173042697
+ name 1_390_KEY_POWER
+ 2173042698
+ name 1_390_TWO_DIGITS
+ 2173042701
+ name 1_390_KEY_CH_UP
+ 2173042703
+ name 1_390_KEY_CH_DOWN
+ 2173042704
+ name 1_391_KEY_0
+ 2173108224
+ name 1_391_KEY_1
+ 2173108225
+ name 1_391_KEY_2
+ 2173108226
+ name 1_391_KEY_3
+ 2173108227
+ name 1_391_KEY_4
+ 2173108228
+ name 1_391_KEY_5
+ 2173108229
+ name 1_391_KEY_6
+ 2173108230
+ name 1_391_KEY_7
+ 2173108231
+ name 1_391_KEY_8
+ 2173108232
+ name 1_391_KEY_9
+ 2173108233
+ name 1_391_KEY_POWER
+ 2173108234
+ name 1_391_TWO_DIGITS
+ 2173108237
+ name 1_391_KEY_CH_UP
+ 2173108239
+ name 1_391_KEY_CH_DOWN
+ 2173108240
+ name 1_391_KEY_AV
+ 2173108265
+ name 1_392_KEY_0
+ 2173173760
+ name 1_392_KEY_1
+ 2173173761
+ name 1_392_KEY_2
+ 2173173762
+ name 1_392_KEY_3
+ 2173173763
+ name 1_392_KEY_4
+ 2173173764
+ name 1_392_KEY_5
+ 2173173765
+ name 1_392_KEY_6
+ 2173173766
+ name 1_392_KEY_7
+ 2173173767
+ name 1_392_KEY_8
+ 2173173768
+ name 1_392_KEY_9
+ 2173173769
+ name 1_392_KEY_POWER
+ 2173173770
+ name 1_392_KEY_CH_UP
+ 2173173775
+ name 1_392_KEY_CH_DOWN
+ 2173173776
+ name 1_392_CH_PREVIOUS
+ 2173173779
+ name 1_393_KEY_0
+ 2173239296
+ name 1_393_KEY_1
+ 2173239297
+ name 1_393_KEY_2
+ 2173239298
+ name 1_393_KEY_3
+ 2173239299
+ name 1_393_KEY_4
+ 2173239300
+ name 1_393_KEY_5
+ 2173239301
+ name 1_393_KEY_6
+ 2173239302
+ name 1_393_KEY_7
+ 2173239303
+ name 1_393_KEY_8
+ 2173239304
+ name 1_393_KEY_9
+ 2173239305
+ name 1_393_KEY_POWER
+ 2173239306
+ name 1_393_KEY_CH_UP
+ 2173239311
+ name 1_393_KEY_CH_DOWN
+ 2173239312
+ name 1_394_KEY_0
+ 2173304832
+ name 1_394_KEY_1
+ 2173304833
+ name 1_394_KEY_2
+ 2173304834
+ name 1_394_KEY_3
+ 2173304835
+ name 1_394_KEY_4
+ 2173304836
+ name 1_394_KEY_5
+ 2173304837
+ name 1_394_KEY_6
+ 2173304838
+ name 1_394_KEY_7
+ 2173304839
+ name 1_394_KEY_8
+ 2173304840
+ name 1_394_KEY_9
+ 2173304841
+ name 1_394_KEY_POWER
+ 2173304842
+ name 1_394_KEY_CH_UP
+ 2173304847
+ name 1_394_KEY_CH_DOWN
+ 2173304848
+ name 1_394_CH_PREVIOUS
+ 2173304851
+ name 1_395_KEY_0
+ 2173370368
+ name 1_395_KEY_1
+ 2173370369
+ name 1_395_KEY_2
+ 2173370370
+ name 1_395_KEY_3
+ 2173370371
+ name 1_395_KEY_4
+ 2173370372
+ name 1_395_KEY_5
+ 2173370373
+ name 1_395_KEY_6
+ 2173370374
+ name 1_395_KEY_7
+ 2173370375
+ name 1_395_KEY_8
+ 2173370376
+ name 1_395_KEY_9
+ 2173370377
+ name 1_395_KEY_POWER
+ 2173370378
+ name 1_395_KEY_CH_UP
+ 2173370383
+ name 1_395_KEY_CH_DOWN
+ 2173370384
+ name 1_396_KEY_0
+ 2173435904
+ name 1_396_KEY_1
+ 2173435905
+ name 1_396_KEY_2
+ 2173435906
+ name 1_396_KEY_3
+ 2173435907
+ name 1_396_KEY_4
+ 2173435908
+ name 1_396_KEY_5
+ 2173435909
+ name 1_396_KEY_6
+ 2173435910
+ name 1_396_KEY_7
+ 2173435911
+ name 1_396_KEY_8
+ 2173435912
+ name 1_396_KEY_9
+ 2173435913
+ name 1_396_KEY_POWER
+ 2173435914
+ name 1_396_TWO_DIGITS
+ 2173435917
+ name 1_396_KEY_CH_UP
+ 2173435919
+ name 1_396_KEY_CH_DOWN
+ 2173435920
+ name 1_396_KEY_AV
+ 2173435945
+ name 1_397_KEY_0
+ 2173501440
+ name 1_397_KEY_1
+ 2173501441
+ name 1_397_KEY_2
+ 2173501442
+ name 1_397_KEY_3
+ 2173501443
+ name 1_397_KEY_4
+ 2173501444
+ name 1_397_KEY_5
+ 2173501445
+ name 1_397_KEY_6
+ 2173501446
+ name 1_397_KEY_7
+ 2173501447
+ name 1_397_KEY_8
+ 2173501448
+ name 1_397_KEY_9
+ 2173501449
+ name 1_397_KEY_POWER
+ 2173501450
+ name 1_397_KEY_CH_UP
+ 2173501455
+ name 1_397_KEY_CH_DOWN
+ 2173501456
+ name 1_398_KEY_0
+ 2173566976
+ name 1_398_KEY_1
+ 2173566977
+ name 1_398_KEY_2
+ 2173566978
+ name 1_398_KEY_3
+ 2173566979
+ name 1_398_KEY_4
+ 2173566980
+ name 1_398_KEY_5
+ 2173566981
+ name 1_398_KEY_6
+ 2173566982
+ name 1_398_KEY_7
+ 2173566983
+ name 1_398_KEY_8
+ 2173566984
+ name 1_398_KEY_9
+ 2173566985
+ name 1_398_KEY_POWER
+ 2173566986
+ name 1_398_KEY_CH_UP
+ 2173566991
+ name 1_398_KEY_CH_DOWN
+ 2173566992
+ name 1_399_KEY_0
+ 2173632512
+ name 1_399_KEY_1
+ 2173632513
+ name 1_399_KEY_2
+ 2173632514
+ name 1_399_KEY_3
+ 2173632515
+ name 1_399_KEY_4
+ 2173632516
+ name 1_399_KEY_5
+ 2173632517
+ name 1_399_KEY_6
+ 2173632518
+ name 1_399_KEY_7
+ 2173632519
+ name 1_399_KEY_8
+ 2173632520
+ name 1_399_KEY_9
+ 2173632521
+ name 1_399_KEY_POWER
+ 2173632522
+ name 1_399_KEY_CH_UP
+ 2173632527
+ name 1_399_KEY_CH_DOWN
+ 2173632528
+ name 1_400_KEY_0
+ 2173698048
+ name 1_400_KEY_1
+ 2173698049
+ name 1_400_KEY_2
+ 2173698050
+ name 1_400_KEY_3
+ 2173698051
+ name 1_400_KEY_4
+ 2173698052
+ name 1_400_KEY_5
+ 2173698053
+ name 1_400_KEY_6
+ 2173698054
+ name 1_400_KEY_7
+ 2173698055
+ name 1_400_KEY_8
+ 2173698056
+ name 1_400_KEY_9
+ 2173698057
+ name 1_400_KEY_POWER
+ 2173698058
+ name 1_400_KEY_CH_UP
+ 2173698063
+ name 1_400_KEY_CH_DOWN
+ 2173698064
+ name 1_401_KEY_0
+ 2173763584
+ name 1_401_KEY_1
+ 2173763585
+ name 1_401_KEY_2
+ 2173763586
+ name 1_401_KEY_3
+ 2173763587
+ name 1_401_KEY_4
+ 2173763588
+ name 1_401_KEY_5
+ 2173763589
+ name 1_401_KEY_6
+ 2173763590
+ name 1_401_KEY_7
+ 2173763591
+ name 1_401_KEY_8
+ 2173763592
+ name 1_401_KEY_9
+ 2173763593
+ name 1_401_KEY_POWER
+ 2173763594
+ name 1_401_KEY_CH_UP
+ 2173763599
+ name 1_401_KEY_CH_DOWN
+ 2173763600
+ name 1_401_CH_PREVIOUS
+ 2173763603
+ name 1_402_KEY_0
+ 2173829120
+ name 1_402_KEY_1
+ 2173829121
+ name 1_402_KEY_2
+ 2173829122
+ name 1_402_KEY_3
+ 2173829123
+ name 1_402_KEY_4
+ 2173829124
+ name 1_402_KEY_5
+ 2173829125
+ name 1_402_KEY_6
+ 2173829126
+ name 1_402_KEY_7
+ 2173829127
+ name 1_402_KEY_8
+ 2173829128
+ name 1_402_KEY_9
+ 2173829129
+ name 1_402_KEY_POWER
+ 2173829130
+ name 1_402_KEY_CH_UP
+ 2173829135
+ name 1_402_KEY_CH_DOWN
+ 2173829136
+ name 1_402_KEY_AV
+ 2173829161
+ name 1_403_KEY_0
+ 2173894656
+ name 1_403_KEY_1
+ 2173894657
+ name 1_403_KEY_2
+ 2173894658
+ name 1_403_KEY_3
+ 2173894659
+ name 1_403_KEY_4
+ 2173894660
+ name 1_403_KEY_5
+ 2173894661
+ name 1_403_KEY_6
+ 2173894662
+ name 1_403_KEY_7
+ 2173894663
+ name 1_403_KEY_8
+ 2173894664
+ name 1_403_KEY_9
+ 2173894665
+ name 1_403_KEY_POWER
+ 2173894666
+ name 1_403_KEY_CH_UP
+ 2173894671
+ name 1_403_KEY_CH_DOWN
+ 2173894672
+ name 1_404_KEY_0
+ 2173960192
+ name 1_404_KEY_1
+ 2173960193
+ name 1_404_KEY_2
+ 2173960194
+ name 1_404_KEY_3
+ 2173960195
+ name 1_404_KEY_4
+ 2173960196
+ name 1_404_KEY_5
+ 2173960197
+ name 1_404_KEY_6
+ 2173960198
+ name 1_404_KEY_7
+ 2173960199
+ name 1_404_KEY_8
+ 2173960200
+ name 1_404_KEY_9
+ 2173960201
+ name 1_404_KEY_POWER
+ 2173960202
+ name 1_404_KEY_CH_UP
+ 2173960207
+ name 1_404_KEY_CH_DOWN
+ 2173960208
+ name 1_404_CH_PREVIOUS
+ 2173960211
+ name 1_405_KEY_0
+ 2174025728
+ name 1_405_KEY_1
+ 2174025729
+ name 1_405_KEY_2
+ 2174025730
+ name 1_405_KEY_3
+ 2174025731
+ name 1_405_KEY_4
+ 2174025732
+ name 1_405_KEY_5
+ 2174025733
+ name 1_405_KEY_6
+ 2174025734
+ name 1_405_KEY_7
+ 2174025735
+ name 1_405_KEY_8
+ 2174025736
+ name 1_405_KEY_9
+ 2174025737
+ name 1_405_KEY_POWER
+ 2174025738
+ name 1_405_KEY_CH_UP
+ 2174025743
+ name 1_405_KEY_CH_DOWN
+ 2174025744
+ name 1_405_CH_PREVIOUS
+ 2174025747
+ name 1_405_KEY_AV
+ 2174025769
+ name 1_406_KEY_0
+ 2174091264
+ name 1_406_KEY_1
+ 2174091265
+ name 1_406_KEY_2
+ 2174091266
+ name 1_406_KEY_3
+ 2174091267
+ name 1_406_KEY_4
+ 2174091268
+ name 1_406_KEY_5
+ 2174091269
+ name 1_406_KEY_6
+ 2174091270
+ name 1_406_KEY_7
+ 2174091271
+ name 1_406_KEY_8
+ 2174091272
+ name 1_406_KEY_9
+ 2174091273
+ name 1_406_KEY_POWER
+ 2174091274
+ name 1_406_KEY_CH_UP
+ 2174091279
+ name 1_406_KEY_CH_DOWN
+ 2174091280
+ name 1_406_CH_PREVIOUS
+ 2174091283
+ name 1_406_KEY_AV
+ 2174091305
+ name 1_407_KEY_0
+ 2174156800
+ name 1_407_KEY_1
+ 2174156801
+ name 1_407_KEY_2
+ 2174156802
+ name 1_407_KEY_3
+ 2174156803
+ name 1_407_KEY_4
+ 2174156804
+ name 1_407_KEY_5
+ 2174156805
+ name 1_407_KEY_6
+ 2174156806
+ name 1_407_KEY_7
+ 2174156807
+ name 1_407_KEY_8
+ 2174156808
+ name 1_407_KEY_9
+ 2174156809
+ name 1_407_KEY_POWER
+ 2174156810
+ name 1_407_KEY_CH_UP
+ 2174156815
+ name 1_407_KEY_CH_DOWN
+ 2174156816
+ name 1_407_KEY_Sleep
+ 2174156863
+ name 1_408_KEY_0
+ 2174222336
+ name 1_408_KEY_1
+ 2174222337
+ name 1_408_KEY_2
+ 2174222338
+ name 1_408_KEY_3
+ 2174222339
+ name 1_408_KEY_4
+ 2174222340
+ name 1_408_KEY_5
+ 2174222341
+ name 1_408_KEY_6
+ 2174222342
+ name 1_408_KEY_7
+ 2174222343
+ name 1_408_KEY_8
+ 2174222344
+ name 1_408_KEY_9
+ 2174222345
+ name 1_408_KEY_POWER
+ 2174222346
+ name 1_408_KEY_CH_UP
+ 2174222351
+ name 1_408_KEY_CH_DOWN
+ 2174222352
+ name 1_408_KEY_AV
+ 2174222377
+ name 1_409_KEY_0
+ 2174287872
+ name 1_409_KEY_1
+ 2174287873
+ name 1_409_KEY_2
+ 2174287874
+ name 1_409_KEY_3
+ 2174287875
+ name 1_409_KEY_4
+ 2174287876
+ name 1_409_KEY_5
+ 2174287877
+ name 1_409_KEY_6
+ 2174287878
+ name 1_409_KEY_7
+ 2174287879
+ name 1_409_KEY_8
+ 2174287880
+ name 1_409_KEY_9
+ 2174287881
+ name 1_409_KEY_POWER
+ 2174287882
+ name 1_409_KEY_CH_UP
+ 2174287887
+ name 1_409_KEY_CH_DOWN
+ 2174287888
+ name 1_409_KEY_MUTE
+ 2174287889
+ name 1_409_KEY_VOL_DOWN
+ 2174287890
+ name 1_409_KEY_VOL_UP
+ 2174287892
+ name 1_410_KEY_0
+ 2174353408
+ name 1_410_KEY_1
+ 2174353409
+ name 1_410_KEY_2
+ 2174353410
+ name 1_410_KEY_3
+ 2174353411
+ name 1_410_KEY_4
+ 2174353412
+ name 1_410_KEY_5
+ 2174353413
+ name 1_410_KEY_6
+ 2174353414
+ name 1_410_KEY_7
+ 2174353415
+ name 1_410_KEY_8
+ 2174353416
+ name 1_410_KEY_9
+ 2174353417
+ name 1_410_KEY_POWER
+ 2174353418
+ name 1_410_KEY_CH_UP
+ 2174353423
+ name 1_410_KEY_CH_DOWN
+ 2174353424
+ name 1_411_KEY_0
+ 2174418944
+ name 1_411_KEY_1
+ 2174418945
+ name 1_411_KEY_2
+ 2174418946
+ name 1_411_KEY_3
+ 2174418947
+ name 1_411_KEY_4
+ 2174418948
+ name 1_411_KEY_5
+ 2174418949
+ name 1_411_KEY_6
+ 2174418950
+ name 1_411_KEY_7
+ 2174418951
+ name 1_411_KEY_8
+ 2174418952
+ name 1_411_KEY_9
+ 2174418953
+ name 1_411_KEY_POWER
+ 2174418954
+ name 1_411_TWO_DIGITS
+ 2174418957
+ name 1_411_KEY_CH_UP
+ 2174418959
+ name 1_411_KEY_CH_DOWN
+ 2174418960
+ name 1_412_KEY_0
+ 2174484480
+ name 1_412_KEY_1
+ 2174484481
+ name 1_412_KEY_2
+ 2174484482
+ name 1_412_KEY_3
+ 2174484483
+ name 1_412_KEY_4
+ 2174484484
+ name 1_412_KEY_5
+ 2174484485
+ name 1_412_KEY_6
+ 2174484486
+ name 1_412_KEY_7
+ 2174484487
+ name 1_412_KEY_8
+ 2174484488
+ name 1_412_KEY_9
+ 2174484489
+ name 1_412_KEY_POWER
+ 2174484490
+ name 1_412_TWO_DIGITS
+ 2174484493
+ name 1_412_KEY_CH_UP
+ 2174484495
+ name 1_412_KEY_CH_DOWN
+ 2174484496
+ name 1_412_KEY_AV
+ 2174484521
+ name 1_413_KEY_0
+ 2174550016
+ name 1_413_KEY_1
+ 2174550017
+ name 1_413_KEY_2
+ 2174550018
+ name 1_413_KEY_3
+ 2174550019
+ name 1_413_KEY_4
+ 2174550020
+ name 1_413_KEY_5
+ 2174550021
+ name 1_413_KEY_6
+ 2174550022
+ name 1_413_KEY_7
+ 2174550023
+ name 1_413_KEY_8
+ 2174550024
+ name 1_413_KEY_9
+ 2174550025
+ name 1_413_KEY_POWER
+ 2174550026
+ name 1_413_KEY_CH_UP
+ 2174550031
+ name 1_413_KEY_CH_DOWN
+ 2174550032
+ name 1_413_CH_PREVIOUS
+ 2174550035
+ name 1_413_KEY_AV
+ 2174550057
+ name 1_413_KEY_Sleep
+ 2174550079
+ name 1_414_KEY_0
+ 2174615552
+ name 1_414_KEY_1
+ 2174615553
+ name 1_414_KEY_2
+ 2174615554
+ name 1_414_KEY_3
+ 2174615555
+ name 1_414_KEY_4
+ 2174615556
+ name 1_414_KEY_5
+ 2174615557
+ name 1_414_KEY_6
+ 2174615558
+ name 1_414_KEY_7
+ 2174615559
+ name 1_414_KEY_8
+ 2174615560
+ name 1_414_KEY_9
+ 2174615561
+ name 1_414_KEY_POWER
+ 2174615562
+ name 1_414_KEY_CH_UP
+ 2174615567
+ name 1_414_KEY_CH_DOWN
+ 2174615568
+ name 1_415_KEY_0
+ 2174681088
+ name 1_415_KEY_1
+ 2174681089
+ name 1_415_KEY_2
+ 2174681090
+ name 1_415_KEY_3
+ 2174681091
+ name 1_415_KEY_4
+ 2174681092
+ name 1_415_KEY_5
+ 2174681093
+ name 1_415_KEY_6
+ 2174681094
+ name 1_415_KEY_7
+ 2174681095
+ name 1_415_KEY_8
+ 2174681096
+ name 1_415_KEY_9
+ 2174681097
+ name 1_415_KEY_POWER
+ 2174681098
+ name 1_415_TWO_DIGITS
+ 2174681101
+ name 1_415_KEY_CH_UP
+ 2174681103
+ name 1_415_KEY_CH_DOWN
+ 2174681104
+ name 1_416_KEY_0
+ 2174746624
+ name 1_416_KEY_1
+ 2174746625
+ name 1_416_KEY_2
+ 2174746626
+ name 1_416_KEY_3
+ 2174746627
+ name 1_416_KEY_4
+ 2174746628
+ name 1_416_KEY_5
+ 2174746629
+ name 1_416_KEY_6
+ 2174746630
+ name 1_416_KEY_7
+ 2174746631
+ name 1_416_KEY_8
+ 2174746632
+ name 1_416_KEY_9
+ 2174746633
+ name 1_416_KEY_POWER
+ 2174746634
+ name 1_416_KEY_CH_UP
+ 2174746639
+ name 1_416_KEY_CH_DOWN
+ 2174746640
+ name 1_417_KEY_0
+ 2174812160
+ name 1_417_KEY_1
+ 2174812161
+ name 1_417_KEY_2
+ 2174812162
+ name 1_417_KEY_3
+ 2174812163
+ name 1_417_KEY_4
+ 2174812164
+ name 1_417_KEY_5
+ 2174812165
+ name 1_417_KEY_6
+ 2174812166
+ name 1_417_KEY_7
+ 2174812167
+ name 1_417_KEY_8
+ 2174812168
+ name 1_417_KEY_9
+ 2174812169
+ name 1_417_KEY_POWER
+ 2174812170
+ name 1_417_TWO_DIGITS
+ 2174812173
+ name 1_417_KEY_CH_UP
+ 2174812175
+ name 1_417_KEY_CH_DOWN
+ 2174812176
+ name 1_417_KEY_AV
+ 2174812201
+ name 1_418_KEY_0
+ 2174877696
+ name 1_418_KEY_1
+ 2174877697
+ name 1_418_KEY_2
+ 2174877698
+ name 1_418_KEY_3
+ 2174877699
+ name 1_418_KEY_4
+ 2174877700
+ name 1_418_KEY_5
+ 2174877701
+ name 1_418_KEY_6
+ 2174877702
+ name 1_418_KEY_7
+ 2174877703
+ name 1_418_KEY_8
+ 2174877704
+ name 1_418_KEY_9
+ 2174877705
+ name 1_418_KEY_POWER
+ 2174877706
+ name 1_418_KEY_CH_UP
+ 2174877711
+ name 1_418_KEY_CH_DOWN
+ 2174877712
+ name 1_419_KEY_0
+ 2174943232
+ name 1_419_KEY_1
+ 2174943233
+ name 1_419_KEY_2
+ 2174943234
+ name 1_419_KEY_3
+ 2174943235
+ name 1_419_KEY_4
+ 2174943236
+ name 1_419_KEY_5
+ 2174943237
+ name 1_419_KEY_6
+ 2174943238
+ name 1_419_KEY_7
+ 2174943239
+ name 1_419_KEY_8
+ 2174943240
+ name 1_419_KEY_9
+ 2174943241
+ name 1_419_KEY_POWER
+ 2174943242
+ name 1_419_TWO_DIGITS
+ 2174943245
+ name 1_419_KEY_CH_UP
+ 2174943247
+ name 1_419_KEY_CH_DOWN
+ 2174943248
+ name 1_420_KEY_0
+ 2175008768
+ name 1_420_KEY_1
+ 2175008769
+ name 1_420_KEY_2
+ 2175008770
+ name 1_420_KEY_3
+ 2175008771
+ name 1_420_KEY_4
+ 2175008772
+ name 1_420_KEY_5
+ 2175008773
+ name 1_420_KEY_6
+ 2175008774
+ name 1_420_KEY_7
+ 2175008775
+ name 1_420_KEY_8
+ 2175008776
+ name 1_420_KEY_9
+ 2175008777
+ name 1_420_KEY_POWER
+ 2175008778
+ name 1_420_TWO_DIGITS
+ 2175008781
+ name 1_420_KEY_CH_UP
+ 2175008783
+ name 1_420_KEY_CH_DOWN
+ 2175008784
+ name 1_420_KEY_Sleep
+ 2175008831
+ name 1_421_KEY_0
+ 2175074304
+ name 1_421_KEY_1
+ 2175074305
+ name 1_421_KEY_2
+ 2175074306
+ name 1_421_KEY_3
+ 2175074307
+ name 1_421_KEY_4
+ 2175074308
+ name 1_421_KEY_5
+ 2175074309
+ name 1_421_KEY_6
+ 2175074310
+ name 1_421_KEY_7
+ 2175074311
+ name 1_421_KEY_8
+ 2175074312
+ name 1_421_KEY_9
+ 2175074313
+ name 1_421_KEY_POWER
+ 2175074314
+ name 1_421_KEY_CH_UP
+ 2175074319
+ name 1_421_KEY_CH_DOWN
+ 2175074320
+ name 1_421_CH_PREVIOUS
+ 2175074323
+ name 1_422_KEY_0
+ 2175139840
+ name 1_422_KEY_1
+ 2175139841
+ name 1_422_KEY_2
+ 2175139842
+ name 1_422_KEY_3
+ 2175139843
+ name 1_422_KEY_4
+ 2175139844
+ name 1_422_KEY_5
+ 2175139845
+ name 1_422_KEY_6
+ 2175139846
+ name 1_422_KEY_7
+ 2175139847
+ name 1_422_KEY_8
+ 2175139848
+ name 1_422_KEY_9
+ 2175139849
+ name 1_422_KEY_POWER
+ 2175139850
+ name 1_422_KEY_CH_UP
+ 2175139855
+ name 1_422_KEY_CH_DOWN
+ 2175139856
+ name 1_422_CH_PREVIOUS
+ 2175139859
+ name 1_423_KEY_0
+ 2175205376
+ name 1_423_KEY_1
+ 2175205377
+ name 1_423_KEY_2
+ 2175205378
+ name 1_423_KEY_3
+ 2175205379
+ name 1_423_KEY_4
+ 2175205380
+ name 1_423_KEY_5
+ 2175205381
+ name 1_423_KEY_6
+ 2175205382
+ name 1_423_KEY_7
+ 2175205383
+ name 1_423_KEY_8
+ 2175205384
+ name 1_423_KEY_9
+ 2175205385
+ name 1_423_KEY_POWER
+ 2175205386
+ name 1_423_KEY_CH_UP
+ 2175205391
+ name 1_423_KEY_CH_DOWN
+ 2175205392
+ name 1_423_KEY_AV
+ 2175205417
+ name 1_424_KEY_0
+ 2175270912
+ name 1_424_KEY_1
+ 2175270913
+ name 1_424_KEY_2
+ 2175270914
+ name 1_424_KEY_3
+ 2175270915
+ name 1_424_KEY_4
+ 2175270916
+ name 1_424_KEY_5
+ 2175270917
+ name 1_424_KEY_6
+ 2175270918
+ name 1_424_KEY_7
+ 2175270919
+ name 1_424_KEY_8
+ 2175270920
+ name 1_424_KEY_9
+ 2175270921
+ name 1_424_KEY_POWER
+ 2175270922
+ name 1_424_KEY_CH_UP
+ 2175270927
+ name 1_424_KEY_CH_DOWN
+ 2175270928
+ name 1_424_KEY_MUTE
+ 2175270929
+ name 1_424_KEY_VOL_DOWN
+ 2175270930
+ name 1_424_KEY_VOL_UP
+ 2175270932
+ name 1_425_KEY_0
+ 2175336448
+ name 1_425_KEY_1
+ 2175336449
+ name 1_425_KEY_2
+ 2175336450
+ name 1_425_KEY_3
+ 2175336451
+ name 1_425_KEY_4
+ 2175336452
+ name 1_425_KEY_5
+ 2175336453
+ name 1_425_KEY_6
+ 2175336454
+ name 1_425_KEY_7
+ 2175336455
+ name 1_425_KEY_8
+ 2175336456
+ name 1_425_KEY_9
+ 2175336457
+ name 1_425_KEY_POWER
+ 2175336458
+ name 1_425_KEY_CH_UP
+ 2175336463
+ name 1_425_KEY_CH_DOWN
+ 2175336464
+ name 1_425_KEY_AV
+ 2175336489
+ name 1_426_KEY_0
+ 2175401984
+ name 1_426_KEY_1
+ 2175401985
+ name 1_426_KEY_2
+ 2175401986
+ name 1_426_KEY_3
+ 2175401987
+ name 1_426_KEY_4
+ 2175401988
+ name 1_426_KEY_5
+ 2175401989
+ name 1_426_KEY_6
+ 2175401990
+ name 1_426_KEY_7
+ 2175401991
+ name 1_426_KEY_8
+ 2175401992
+ name 1_426_KEY_9
+ 2175401993
+ name 1_426_KEY_POWER
+ 2175401994
+ name 1_426_KEY_CH_UP
+ 2175401999
+ name 1_426_KEY_CH_DOWN
+ 2175402000
+ name 1_427_KEY_0
+ 2175467520
+ name 1_427_KEY_1
+ 2175467521
+ name 1_427_KEY_2
+ 2175467522
+ name 1_427_KEY_3
+ 2175467523
+ name 1_427_KEY_4
+ 2175467524
+ name 1_427_KEY_5
+ 2175467525
+ name 1_427_KEY_6
+ 2175467526
+ name 1_427_KEY_7
+ 2175467527
+ name 1_427_KEY_8
+ 2175467528
+ name 1_427_KEY_9
+ 2175467529
+ name 1_427_KEY_POWER
+ 2175467530
+ name 1_427_KEY_CH_UP
+ 2175467535
+ name 1_427_KEY_CH_DOWN
+ 2175467536
+ name 1_427_KEY_AV
+ 2175467561
+ name 1_428_KEY_0
+ 2175533056
+ name 1_428_KEY_1
+ 2175533057
+ name 1_428_KEY_2
+ 2175533058
+ name 1_428_KEY_3
+ 2175533059
+ name 1_428_KEY_4
+ 2175533060
+ name 1_428_KEY_5
+ 2175533061
+ name 1_428_KEY_6
+ 2175533062
+ name 1_428_KEY_7
+ 2175533063
+ name 1_428_KEY_8
+ 2175533064
+ name 1_428_KEY_9
+ 2175533065
+ name 1_428_KEY_POWER
+ 2175533066
+ name 1_428_TWO_DIGITS
+ 2175533069
+ name 1_428_KEY_CH_UP
+ 2175533071
+ name 1_428_KEY_CH_DOWN
+ 2175533072
+ name 1_429_KEY_0
+ 2175598592
+ name 1_429_KEY_1
+ 2175598593
+ name 1_429_KEY_2
+ 2175598594
+ name 1_429_KEY_3
+ 2175598595
+ name 1_429_KEY_4
+ 2175598596
+ name 1_429_KEY_5
+ 2175598597
+ name 1_429_KEY_6
+ 2175598598
+ name 1_429_KEY_7
+ 2175598599
+ name 1_429_KEY_8
+ 2175598600
+ name 1_429_KEY_9
+ 2175598601
+ name 1_429_KEY_POWER
+ 2175598602
+ name 1_429_TWO_DIGITS
+ 2175598605
+ name 1_429_KEY_CH_UP
+ 2175598607
+ name 1_429_KEY_CH_DOWN
+ 2175598608
+ name 1_429_KEY_AV
+ 2175598633
+ name 1_430_KEY_0
+ 2175664128
+ name 1_430_KEY_1
+ 2175664129
+ name 1_430_KEY_2
+ 2175664130
+ name 1_430_KEY_3
+ 2175664131
+ name 1_430_KEY_4
+ 2175664132
+ name 1_430_KEY_5
+ 2175664133
+ name 1_430_KEY_6
+ 2175664134
+ name 1_430_KEY_7
+ 2175664135
+ name 1_430_KEY_8
+ 2175664136
+ name 1_430_KEY_9
+ 2175664137
+ name 1_430_KEY_POWER
+ 2175664138
+ name 1_430_KEY_CH_UP
+ 2175664143
+ name 1_430_KEY_CH_DOWN
+ 2175664144
+ name 1_431_KEY_0
+ 2175729664
+ name 1_431_KEY_1
+ 2175729665
+ name 1_431_KEY_2
+ 2175729666
+ name 1_431_KEY_3
+ 2175729667
+ name 1_431_KEY_4
+ 2175729668
+ name 1_431_KEY_5
+ 2175729669
+ name 1_431_KEY_6
+ 2175729670
+ name 1_431_KEY_7
+ 2175729671
+ name 1_431_KEY_8
+ 2175729672
+ name 1_431_KEY_9
+ 2175729673
+ name 1_431_KEY_POWER
+ 2175729674
+ name 1_431_KEY_CH_UP
+ 2175729679
+ name 1_431_KEY_CH_DOWN
+ 2175729680
+ name 1_431_CH_PREVIOUS
+ 2175729683
+ name 1_432_KEY_0
+ 2175795200
+ name 1_432_KEY_1
+ 2175795201
+ name 1_432_KEY_2
+ 2175795202
+ name 1_432_KEY_3
+ 2175795203
+ name 1_432_KEY_4
+ 2175795204
+ name 1_432_KEY_5
+ 2175795205
+ name 1_432_KEY_6
+ 2175795206
+ name 1_432_KEY_7
+ 2175795207
+ name 1_432_KEY_8
+ 2175795208
+ name 1_432_KEY_9
+ 2175795209
+ name 1_432_KEY_POWER
+ 2175795210
+ name 1_432_KEY_CH_UP
+ 2175795215
+ name 1_432_KEY_CH_DOWN
+ 2175795216
+ name 1_433_KEY_0
+ 2175860736
+ name 1_433_KEY_1
+ 2175860737
+ name 1_433_KEY_2
+ 2175860738
+ name 1_433_KEY_3
+ 2175860739
+ name 1_433_KEY_4
+ 2175860740
+ name 1_433_KEY_5
+ 2175860741
+ name 1_433_KEY_6
+ 2175860742
+ name 1_433_KEY_7
+ 2175860743
+ name 1_433_KEY_8
+ 2175860744
+ name 1_433_KEY_9
+ 2175860745
+ name 1_433_KEY_POWER
+ 2175860746
+ name 1_433_KEY_CH_UP
+ 2175860751
+ name 1_433_KEY_CH_DOWN
+ 2175860752
+ name 1_434_KEY_0
+ 2175926272
+ name 1_434_KEY_1
+ 2175926273
+ name 1_434_KEY_2
+ 2175926274
+ name 1_434_KEY_3
+ 2175926275
+ name 1_434_KEY_4
+ 2175926276
+ name 1_434_KEY_5
+ 2175926277
+ name 1_434_KEY_6
+ 2175926278
+ name 1_434_KEY_7
+ 2175926279
+ name 1_434_KEY_8
+ 2175926280
+ name 1_434_KEY_9
+ 2175926281
+ name 1_434_KEY_POWER
+ 2175926282
+ name 1_434_TWO_DIGITS
+ 2175926285
+ name 1_434_KEY_CH_UP
+ 2175926287
+ name 1_434_KEY_CH_DOWN
+ 2175926288
+ name 1_435_KEY_0
+ 2175991808
+ name 1_435_KEY_1
+ 2175991809
+ name 1_435_KEY_2
+ 2175991810
+ name 1_435_KEY_3
+ 2175991811
+ name 1_435_KEY_4
+ 2175991812
+ name 1_435_KEY_5
+ 2175991813
+ name 1_435_KEY_6
+ 2175991814
+ name 1_435_KEY_7
+ 2175991815
+ name 1_435_KEY_8
+ 2175991816
+ name 1_435_KEY_9
+ 2175991817
+ name 1_435_KEY_POWER
+ 2175991818
+ name 1_435_KEY_CH_UP
+ 2175991823
+ name 1_435_KEY_CH_DOWN
+ 2175991824
+ name 1_435_KEY_AV
+ 2175991849
+ name 1_436_KEY_0
+ 2176057344
+ name 1_436_KEY_1
+ 2176057345
+ name 1_436_KEY_2
+ 2176057346
+ name 1_436_KEY_3
+ 2176057347
+ name 1_436_KEY_4
+ 2176057348
+ name 1_436_KEY_5
+ 2176057349
+ name 1_436_KEY_6
+ 2176057350
+ name 1_436_KEY_7
+ 2176057351
+ name 1_436_KEY_8
+ 2176057352
+ name 1_436_KEY_9
+ 2176057353
+ name 1_436_KEY_POWER
+ 2176057354
+ name 1_436_TWO_DIGITS
+ 2176057357
+ name 1_436_KEY_CH_UP
+ 2176057359
+ name 1_436_KEY_CH_DOWN
+ 2176057360
+ name 1_436_KEY_AV
+ 2176057385
+ name 1_437_KEY_0
+ 2176122880
+ name 1_437_KEY_1
+ 2176122881
+ name 1_437_KEY_2
+ 2176122882
+ name 1_437_KEY_3
+ 2176122883
+ name 1_437_KEY_4
+ 2176122884
+ name 1_437_KEY_5
+ 2176122885
+ name 1_437_KEY_6
+ 2176122886
+ name 1_437_KEY_7
+ 2176122887
+ name 1_437_KEY_8
+ 2176122888
+ name 1_437_KEY_9
+ 2176122889
+ name 1_437_KEY_POWER
+ 2176122890
+ name 1_437_KEY_CH_UP
+ 2176122895
+ name 1_437_KEY_CH_DOWN
+ 2176122896
+ name 1_437_KEY_AV
+ 2176122921
+ name 1_438_KEY_0
+ 2176188416
+ name 1_438_KEY_1
+ 2176188417
+ name 1_438_KEY_2
+ 2176188418
+ name 1_438_KEY_3
+ 2176188419
+ name 1_438_KEY_4
+ 2176188420
+ name 1_438_KEY_5
+ 2176188421
+ name 1_438_KEY_6
+ 2176188422
+ name 1_438_KEY_7
+ 2176188423
+ name 1_438_KEY_8
+ 2176188424
+ name 1_438_KEY_9
+ 2176188425
+ name 1_438_KEY_POWER
+ 2176188426
+ name 1_438_KEY_CH_UP
+ 2176188431
+ name 1_438_KEY_CH_DOWN
+ 2176188432
+ name 1_438_KEY_AV
+ 2176188457
+ name 1_439_KEY_0
+ 2176253952
+ name 1_439_KEY_1
+ 2176253953
+ name 1_439_KEY_2
+ 2176253954
+ name 1_439_KEY_3
+ 2176253955
+ name 1_439_KEY_4
+ 2176253956
+ name 1_439_KEY_5
+ 2176253957
+ name 1_439_KEY_6
+ 2176253958
+ name 1_439_KEY_7
+ 2176253959
+ name 1_439_KEY_8
+ 2176253960
+ name 1_439_KEY_9
+ 2176253961
+ name 1_439_KEY_POWER
+ 2176253962
+ name 1_439_KEY_CH_UP
+ 2176253967
+ name 1_439_KEY_CH_DOWN
+ 2176253968
+ name 1_440_KEY_0
+ 2176319488
+ name 1_440_KEY_1
+ 2176319489
+ name 1_440_KEY_2
+ 2176319490
+ name 1_440_KEY_3
+ 2176319491
+ name 1_440_KEY_4
+ 2176319492
+ name 1_440_KEY_5
+ 2176319493
+ name 1_440_KEY_6
+ 2176319494
+ name 1_440_KEY_7
+ 2176319495
+ name 1_440_KEY_8
+ 2176319496
+ name 1_440_KEY_9
+ 2176319497
+ name 1_440_KEY_POWER
+ 2176319498
+ name 1_440_TWO_DIGITS
+ 2176319501
+ name 1_440_KEY_CH_UP
+ 2176319503
+ name 1_440_KEY_CH_DOWN
+ 2176319504
+ name 1_440_KEY_AV
+ 2176319529
+ name 1_441_KEY_0
+ 2176385024
+ name 1_441_KEY_1
+ 2176385025
+ name 1_441_KEY_2
+ 2176385026
+ name 1_441_KEY_3
+ 2176385027
+ name 1_441_KEY_4
+ 2176385028
+ name 1_441_KEY_5
+ 2176385029
+ name 1_441_KEY_6
+ 2176385030
+ name 1_441_KEY_7
+ 2176385031
+ name 1_441_KEY_8
+ 2176385032
+ name 1_441_KEY_9
+ 2176385033
+ name 1_441_KEY_POWER
+ 2176385034
+ name 1_441_KEY_CH_UP
+ 2176385039
+ name 1_441_KEY_CH_DOWN
+ 2176385040
+ name 1_442_KEY_0
+ 2176450560
+ name 1_442_KEY_1
+ 2176450561
+ name 1_442_KEY_2
+ 2176450562
+ name 1_442_KEY_3
+ 2176450563
+ name 1_442_KEY_4
+ 2176450564
+ name 1_442_KEY_5
+ 2176450565
+ name 1_442_KEY_6
+ 2176450566
+ name 1_442_KEY_7
+ 2176450567
+ name 1_442_KEY_8
+ 2176450568
+ name 1_442_KEY_9
+ 2176450569
+ name 1_442_KEY_POWER
+ 2176450570
+ name 1_442_KEY_CH_UP
+ 2176450575
+ name 1_442_KEY_CH_DOWN
+ 2176450576
+ name 1_443_KEY_0
+ 2176516096
+ name 1_443_KEY_1
+ 2176516097
+ name 1_443_KEY_2
+ 2176516098
+ name 1_443_KEY_3
+ 2176516099
+ name 1_443_KEY_4
+ 2176516100
+ name 1_443_KEY_5
+ 2176516101
+ name 1_443_KEY_6
+ 2176516102
+ name 1_443_KEY_7
+ 2176516103
+ name 1_443_KEY_8
+ 2176516104
+ name 1_443_KEY_9
+ 2176516105
+ name 1_443_KEY_POWER
+ 2176516106
+ name 1_443_KEY_CH_UP
+ 2176516111
+ name 1_443_KEY_CH_DOWN
+ 2176516112
+ name 1_444_KEY_0
+ 2176581632
+ name 1_444_KEY_1
+ 2176581633
+ name 1_444_KEY_2
+ 2176581634
+ name 1_444_KEY_3
+ 2176581635
+ name 1_444_KEY_4
+ 2176581636
+ name 1_444_KEY_5
+ 2176581637
+ name 1_444_KEY_6
+ 2176581638
+ name 1_444_KEY_7
+ 2176581639
+ name 1_444_KEY_8
+ 2176581640
+ name 1_444_KEY_9
+ 2176581641
+ name 1_444_KEY_POWER
+ 2176581642
+ name 1_444_KEY_CH_UP
+ 2176581647
+ name 1_444_KEY_CH_DOWN
+ 2176581648
+ name 1_444_CH_PREVIOUS
+ 2176581651
+ name 1_444_KEY_AV
+ 2176581673
+ name 1_444_KEY_Sleep
+ 2176581695
+ name 1_445_KEY_0
+ 2176647168
+ name 1_445_KEY_1
+ 2176647169
+ name 1_445_KEY_2
+ 2176647170
+ name 1_445_KEY_3
+ 2176647171
+ name 1_445_KEY_4
+ 2176647172
+ name 1_445_KEY_5
+ 2176647173
+ name 1_445_KEY_6
+ 2176647174
+ name 1_445_KEY_7
+ 2176647175
+ name 1_445_KEY_8
+ 2176647176
+ name 1_445_KEY_9
+ 2176647177
+ name 1_445_KEY_POWER
+ 2176647178
+ name 1_445_TWO_DIGITS
+ 2176647181
+ name 1_445_KEY_CH_UP
+ 2176647183
+ name 1_445_KEY_CH_DOWN
+ 2176647184
+ name 1_446_KEY_0
+ 2176712704
+ name 1_446_KEY_1
+ 2176712705
+ name 1_446_KEY_2
+ 2176712706
+ name 1_446_KEY_3
+ 2176712707
+ name 1_446_KEY_4
+ 2176712708
+ name 1_446_KEY_5
+ 2176712709
+ name 1_446_KEY_6
+ 2176712710
+ name 1_446_KEY_7
+ 2176712711
+ name 1_446_KEY_8
+ 2176712712
+ name 1_446_KEY_9
+ 2176712713
+ name 1_446_KEY_POWER
+ 2176712714
+ name 1_446_TWO_DIGITS
+ 2176712717
+ name 1_446_KEY_CH_UP
+ 2176712719
+ name 1_446_KEY_CH_DOWN
+ 2176712720
+ name 1_446_KEY_Sleep
+ 2176712767
+ name 1_447_KEY_0
+ 2176778240
+ name 1_447_KEY_1
+ 2176778241
+ name 1_447_KEY_2
+ 2176778242
+ name 1_447_KEY_3
+ 2176778243
+ name 1_447_KEY_4
+ 2176778244
+ name 1_447_KEY_5
+ 2176778245
+ name 1_447_KEY_6
+ 2176778246
+ name 1_447_KEY_7
+ 2176778247
+ name 1_447_KEY_8
+ 2176778248
+ name 1_447_KEY_9
+ 2176778249
+ name 1_447_KEY_POWER
+ 2176778250
+ name 1_447_TWO_DIGITS
+ 2176778253
+ name 1_447_KEY_CH_UP
+ 2176778255
+ name 1_447_KEY_CH_DOWN
+ 2176778256
+ name 1_448_KEY_0
+ 2176843776
+ name 1_448_KEY_1
+ 2176843777
+ name 1_448_KEY_2
+ 2176843778
+ name 1_448_KEY_3
+ 2176843779
+ name 1_448_KEY_4
+ 2176843780
+ name 1_448_KEY_5
+ 2176843781
+ name 1_448_KEY_6
+ 2176843782
+ name 1_448_KEY_7
+ 2176843783
+ name 1_448_KEY_8
+ 2176843784
+ name 1_448_KEY_9
+ 2176843785
+ name 1_448_KEY_POWER
+ 2176843786
+ name 1_448_KEY_CH_UP
+ 2176843791
+ name 1_448_KEY_CH_DOWN
+ 2176843792
+ name 1_448_KEY_Sleep
+ 2176843839
+ name 1_449_KEY_0
+ 2176909312
+ name 1_449_KEY_1
+ 2176909313
+ name 1_449_KEY_2
+ 2176909314
+ name 1_449_KEY_3
+ 2176909315
+ name 1_449_KEY_4
+ 2176909316
+ name 1_449_KEY_5
+ 2176909317
+ name 1_449_KEY_6
+ 2176909318
+ name 1_449_KEY_7
+ 2176909319
+ name 1_449_KEY_8
+ 2176909320
+ name 1_449_KEY_9
+ 2176909321
+ name 1_449_KEY_POWER
+ 2176909322
+ name 1_449_TWO_DIGITS
+ 2176909325
+ name 1_449_KEY_CH_UP
+ 2176909327
+ name 1_449_KEY_CH_DOWN
+ 2176909328
+ name 1_449_CH_PREVIOUS
+ 2176909331
+ name 1_449_KEY_AV
+ 2176909353
+ name 1_450_KEY_0
+ 2176974848
+ name 1_450_KEY_1
+ 2176974849
+ name 1_450_KEY_2
+ 2176974850
+ name 1_450_KEY_3
+ 2176974851
+ name 1_450_KEY_4
+ 2176974852
+ name 1_450_KEY_5
+ 2176974853
+ name 1_450_KEY_6
+ 2176974854
+ name 1_450_KEY_7
+ 2176974855
+ name 1_450_KEY_8
+ 2176974856
+ name 1_450_KEY_9
+ 2176974857
+ name 1_450_KEY_POWER
+ 2176974858
+ name 1_450_KEY_CH_UP
+ 2176974863
+ name 1_450_KEY_CH_DOWN
+ 2176974864
+ name 1_451_KEY_0
+ 2177040384
+ name 1_451_KEY_1
+ 2177040385
+ name 1_451_KEY_2
+ 2177040386
+ name 1_451_KEY_3
+ 2177040387
+ name 1_451_KEY_4
+ 2177040388
+ name 1_451_KEY_5
+ 2177040389
+ name 1_451_KEY_6
+ 2177040390
+ name 1_451_KEY_7
+ 2177040391
+ name 1_451_KEY_8
+ 2177040392
+ name 1_451_KEY_9
+ 2177040393
+ name 1_451_KEY_POWER
+ 2177040394
+ name 1_451_KEY_CH_UP
+ 2177040399
+ name 1_451_KEY_CH_DOWN
+ 2177040400
+ name 1_452_KEY_0
+ 2177105920
+ name 1_452_KEY_1
+ 2177105921
+ name 1_452_KEY_2
+ 2177105922
+ name 1_452_KEY_3
+ 2177105923
+ name 1_452_KEY_4
+ 2177105924
+ name 1_452_KEY_5
+ 2177105925
+ name 1_452_KEY_6
+ 2177105926
+ name 1_452_KEY_7
+ 2177105927
+ name 1_452_KEY_8
+ 2177105928
+ name 1_452_KEY_9
+ 2177105929
+ name 1_452_KEY_POWER
+ 2177105930
+ name 1_452_KEY_CH_UP
+ 2177105935
+ name 1_452_KEY_CH_DOWN
+ 2177105936
+ name 1_452_KEY_AV
+ 2177105961
+ name 1_453_KEY_0
+ 2177171456
+ name 1_453_KEY_1
+ 2177171457
+ name 1_453_KEY_2
+ 2177171458
+ name 1_453_KEY_3
+ 2177171459
+ name 1_453_KEY_4
+ 2177171460
+ name 1_453_KEY_5
+ 2177171461
+ name 1_453_KEY_6
+ 2177171462
+ name 1_453_KEY_7
+ 2177171463
+ name 1_453_KEY_8
+ 2177171464
+ name 1_453_KEY_9
+ 2177171465
+ name 1_453_KEY_POWER
+ 2177171466
+ name 1_453_KEY_CH_UP
+ 2177171471
+ name 1_453_KEY_CH_DOWN
+ 2177171472
+ name 1_453_KEY_Sleep
+ 2177171519
+ name 1_454_KEY_0
+ 2177236992
+ name 1_454_KEY_1
+ 2177236993
+ name 1_454_KEY_2
+ 2177236994
+ name 1_454_KEY_3
+ 2177236995
+ name 1_454_KEY_4
+ 2177236996
+ name 1_454_KEY_5
+ 2177236997
+ name 1_454_KEY_6
+ 2177236998
+ name 1_454_KEY_7
+ 2177236999
+ name 1_454_KEY_8
+ 2177237000
+ name 1_454_KEY_9
+ 2177237001
+ name 1_454_KEY_POWER
+ 2177237002
+ name 1_454_KEY_CH_UP
+ 2177237007
+ name 1_454_KEY_CH_DOWN
+ 2177237008
+ name 1_455_KEY_0
+ 2177302528
+ name 1_455_KEY_1
+ 2177302529
+ name 1_455_KEY_2
+ 2177302530
+ name 1_455_KEY_3
+ 2177302531
+ name 1_455_KEY_4
+ 2177302532
+ name 1_455_KEY_5
+ 2177302533
+ name 1_455_KEY_6
+ 2177302534
+ name 1_455_KEY_7
+ 2177302535
+ name 1_455_KEY_8
+ 2177302536
+ name 1_455_KEY_9
+ 2177302537
+ name 1_455_KEY_POWER
+ 2177302538
+ name 1_455_KEY_CH_UP
+ 2177302543
+ name 1_455_KEY_CH_DOWN
+ 2177302544
+ name 1_455_KEY_MUTE
+ 2177302545
+ name 1_455_KEY_VOL_DOWN
+ 2177302546
+ name 1_455_KEY_VOL_UP
+ 2177302548
+ name 1_456_KEY_0
+ 2177368064
+ name 1_456_KEY_1
+ 2177368065
+ name 1_456_KEY_2
+ 2177368066
+ name 1_456_KEY_3
+ 2177368067
+ name 1_456_KEY_4
+ 2177368068
+ name 1_456_KEY_5
+ 2177368069
+ name 1_456_KEY_6
+ 2177368070
+ name 1_456_KEY_7
+ 2177368071
+ name 1_456_KEY_8
+ 2177368072
+ name 1_456_KEY_9
+ 2177368073
+ name 1_456_KEY_POWER
+ 2177368074
+ name 1_456_KEY_CH_UP
+ 2177368079
+ name 1_456_KEY_CH_DOWN
+ 2177368080
+ name 1_456_CH_PREVIOUS
+ 2177368083
+ name 1_457_KEY_0
+ 2177433600
+ name 1_457_KEY_1
+ 2177433601
+ name 1_457_KEY_2
+ 2177433602
+ name 1_457_KEY_3
+ 2177433603
+ name 1_457_KEY_4
+ 2177433604
+ name 1_457_KEY_5
+ 2177433605
+ name 1_457_KEY_6
+ 2177433606
+ name 1_457_KEY_7
+ 2177433607
+ name 1_457_KEY_8
+ 2177433608
+ name 1_457_KEY_9
+ 2177433609
+ name 1_457_KEY_POWER
+ 2177433610
+ name 1_457_TWO_DIGITS
+ 2177433613
+ name 1_457_KEY_CH_UP
+ 2177433615
+ name 1_457_KEY_CH_DOWN
+ 2177433616
+ name 1_457_CH_PREVIOUS
+ 2177433619
+ name 1_457_KEY_AV
+ 2177433641
+ name 1_458_KEY_0
+ 2177499136
+ name 1_458_KEY_1
+ 2177499137
+ name 1_458_KEY_2
+ 2177499138
+ name 1_458_KEY_3
+ 2177499139
+ name 1_458_KEY_4
+ 2177499140
+ name 1_458_KEY_5
+ 2177499141
+ name 1_458_KEY_6
+ 2177499142
+ name 1_458_KEY_7
+ 2177499143
+ name 1_458_KEY_8
+ 2177499144
+ name 1_458_KEY_9
+ 2177499145
+ name 1_458_KEY_POWER
+ 2177499146
+ name 1_458_KEY_CH_UP
+ 2177499151
+ name 1_458_KEY_CH_DOWN
+ 2177499152
+ name 1_459_KEY_0
+ 2177564672
+ name 1_459_KEY_1
+ 2177564673
+ name 1_459_KEY_2
+ 2177564674
+ name 1_459_KEY_3
+ 2177564675
+ name 1_459_KEY_4
+ 2177564676
+ name 1_459_KEY_5
+ 2177564677
+ name 1_459_KEY_6
+ 2177564678
+ name 1_459_KEY_7
+ 2177564679
+ name 1_459_KEY_8
+ 2177564680
+ name 1_459_KEY_9
+ 2177564681
+ name 1_459_KEY_POWER
+ 2177564682
+ name 1_459_KEY_CH_UP
+ 2177564687
+ name 1_459_KEY_CH_DOWN
+ 2177564688
+ name 1_459_CH_PREVIOUS
+ 2177564691
+ name 1_459_KEY_Sleep
+ 2177564735
+ name 1_460_KEY_0
+ 2177630208
+ name 1_460_KEY_1
+ 2177630209
+ name 1_460_KEY_2
+ 2177630210
+ name 1_460_KEY_3
+ 2177630211
+ name 1_460_KEY_4
+ 2177630212
+ name 1_460_KEY_5
+ 2177630213
+ name 1_460_KEY_6
+ 2177630214
+ name 1_460_KEY_7
+ 2177630215
+ name 1_460_KEY_8
+ 2177630216
+ name 1_460_KEY_9
+ 2177630217
+ name 1_460_KEY_POWER
+ 2177630218
+ name 1_460_KEY_CH_UP
+ 2177630223
+ name 1_460_KEY_CH_DOWN
+ 2177630224
+ name 1_460_KEY_AV
+ 2177630249
+ name 1_461_KEY_0
+ 2177695744
+ name 1_461_KEY_1
+ 2177695745
+ name 1_461_KEY_2
+ 2177695746
+ name 1_461_KEY_3
+ 2177695747
+ name 1_461_KEY_4
+ 2177695748
+ name 1_461_KEY_5
+ 2177695749
+ name 1_461_KEY_6
+ 2177695750
+ name 1_461_KEY_7
+ 2177695751
+ name 1_461_KEY_8
+ 2177695752
+ name 1_461_KEY_9
+ 2177695753
+ name 1_461_KEY_POWER
+ 2177695754
+ name 1_461_KEY_CH_UP
+ 2177695759
+ name 1_461_KEY_CH_DOWN
+ 2177695760
+ name 1_461_KEY_AV
+ 2177695785
+ name 1_461_KEY_Sleep
+ 2177695807
+ name 1_462_KEY_0
+ 2177761280
+ name 1_462_KEY_1
+ 2177761281
+ name 1_462_KEY_2
+ 2177761282
+ name 1_462_KEY_3
+ 2177761283
+ name 1_462_KEY_4
+ 2177761284
+ name 1_462_KEY_5
+ 2177761285
+ name 1_462_KEY_6
+ 2177761286
+ name 1_462_KEY_7
+ 2177761287
+ name 1_462_KEY_8
+ 2177761288
+ name 1_462_KEY_9
+ 2177761289
+ name 1_462_KEY_POWER
+ 2177761290
+ name 1_462_KEY_CH_UP
+ 2177761295
+ name 1_462_KEY_CH_DOWN
+ 2177761296
+ name 1_462_CH_PREVIOUS
+ 2177761299
+ name 1_462_KEY_AV
+ 2177761321
+ name 1_463_KEY_0
+ 2177826816
+ name 1_463_KEY_1
+ 2177826817
+ name 1_463_KEY_2
+ 2177826818
+ name 1_463_KEY_3
+ 2177826819
+ name 1_463_KEY_4
+ 2177826820
+ name 1_463_KEY_5
+ 2177826821
+ name 1_463_KEY_6
+ 2177826822
+ name 1_463_KEY_7
+ 2177826823
+ name 1_463_KEY_8
+ 2177826824
+ name 1_463_KEY_9
+ 2177826825
+ name 1_463_KEY_POWER
+ 2177826826
+ name 1_463_KEY_CH_UP
+ 2177826831
+ name 1_463_KEY_CH_DOWN
+ 2177826832
+ name 1_463_KEY_AV
+ 2177826857
+ name 1_464_KEY_0
+ 2177892352
+ name 1_464_KEY_1
+ 2177892353
+ name 1_464_KEY_2
+ 2177892354
+ name 1_464_KEY_3
+ 2177892355
+ name 1_464_KEY_4
+ 2177892356
+ name 1_464_KEY_5
+ 2177892357
+ name 1_464_KEY_6
+ 2177892358
+ name 1_464_KEY_7
+ 2177892359
+ name 1_464_KEY_8
+ 2177892360
+ name 1_464_KEY_9
+ 2177892361
+ name 1_464_KEY_POWER
+ 2177892362
+ name 1_464_KEY_CH_UP
+ 2177892367
+ name 1_464_KEY_CH_DOWN
+ 2177892368
+ name 1_465_KEY_0
+ 2177957888
+ name 1_465_KEY_1
+ 2177957889
+ name 1_465_KEY_2
+ 2177957890
+ name 1_465_KEY_3
+ 2177957891
+ name 1_465_KEY_4
+ 2177957892
+ name 1_465_KEY_5
+ 2177957893
+ name 1_465_KEY_6
+ 2177957894
+ name 1_465_KEY_7
+ 2177957895
+ name 1_465_KEY_8
+ 2177957896
+ name 1_465_KEY_9
+ 2177957897
+ name 1_465_KEY_POWER
+ 2177957898
+ name 1_465_KEY_CH_UP
+ 2177957903
+ name 1_465_KEY_CH_DOWN
+ 2177957904
+ name 1_466_KEY_0
+ 2178023424
+ name 1_466_KEY_1
+ 2178023425
+ name 1_466_KEY_2
+ 2178023426
+ name 1_466_KEY_3
+ 2178023427
+ name 1_466_KEY_4
+ 2178023428
+ name 1_466_KEY_5
+ 2178023429
+ name 1_466_KEY_6
+ 2178023430
+ name 1_466_KEY_7
+ 2178023431
+ name 1_466_KEY_8
+ 2178023432
+ name 1_466_KEY_9
+ 2178023433
+ name 1_466_KEY_POWER
+ 2178023434
+ name 1_466_KEY_CH_UP
+ 2178023439
+ name 1_466_KEY_CH_DOWN
+ 2178023440
+ name 1_466_KEY_AV
+ 2178023465
+ name 1_466_KEY_Sleep
+ 2178023487
+ name 1_467_KEY_0
+ 2178088960
+ name 1_467_KEY_1
+ 2178088961
+ name 1_467_KEY_2
+ 2178088962
+ name 1_467_KEY_3
+ 2178088963
+ name 1_467_KEY_4
+ 2178088964
+ name 1_467_KEY_5
+ 2178088965
+ name 1_467_KEY_6
+ 2178088966
+ name 1_467_KEY_7
+ 2178088967
+ name 1_467_KEY_8
+ 2178088968
+ name 1_467_KEY_9
+ 2178088969
+ name 1_467_KEY_POWER
+ 2178088970
+ name 1_467_KEY_CH_UP
+ 2178088975
+ name 1_467_KEY_CH_DOWN
+ 2178088976
+ name 1_468_KEY_0
+ 2178154496
+ name 1_468_KEY_1
+ 2178154497
+ name 1_468_KEY_2
+ 2178154498
+ name 1_468_KEY_3
+ 2178154499
+ name 1_468_KEY_4
+ 2178154500
+ name 1_468_KEY_5
+ 2178154501
+ name 1_468_KEY_6
+ 2178154502
+ name 1_468_KEY_7
+ 2178154503
+ name 1_468_KEY_8
+ 2178154504
+ name 1_468_KEY_9
+ 2178154505
+ name 1_468_KEY_POWER
+ 2178154506
+ name 1_468_KEY_CH_UP
+ 2178154511
+ name 1_468_KEY_CH_DOWN
+ 2178154512
+ name 1_469_KEY_0
+ 2178220032
+ name 1_469_KEY_1
+ 2178220033
+ name 1_469_KEY_2
+ 2178220034
+ name 1_469_KEY_3
+ 2178220035
+ name 1_469_KEY_4
+ 2178220036
+ name 1_469_KEY_5
+ 2178220037
+ name 1_469_KEY_6
+ 2178220038
+ name 1_469_KEY_7
+ 2178220039
+ name 1_469_KEY_8
+ 2178220040
+ name 1_469_KEY_9
+ 2178220041
+ name 1_469_KEY_POWER
+ 2178220042
+ name 1_469_TWO_DIGITS
+ 2178220045
+ name 1_469_KEY_CH_UP
+ 2178220047
+ name 1_469_KEY_CH_DOWN
+ 2178220048
+ name 1_470_KEY_0
+ 2178285568
+ name 1_470_KEY_1
+ 2178285569
+ name 1_470_KEY_2
+ 2178285570
+ name 1_470_KEY_3
+ 2178285571
+ name 1_470_KEY_4
+ 2178285572
+ name 1_470_KEY_5
+ 2178285573
+ name 1_470_KEY_6
+ 2178285574
+ name 1_470_KEY_7
+ 2178285575
+ name 1_470_KEY_8
+ 2178285576
+ name 1_470_KEY_9
+ 2178285577
+ name 1_470_KEY_POWER
+ 2178285578
+ name 1_470_KEY_CH_UP
+ 2178285583
+ name 1_470_KEY_CH_DOWN
+ 2178285584
+ name 1_471_KEY_0
+ 2178351104
+ name 1_471_KEY_1
+ 2178351105
+ name 1_471_KEY_2
+ 2178351106
+ name 1_471_KEY_3
+ 2178351107
+ name 1_471_KEY_4
+ 2178351108
+ name 1_471_KEY_5
+ 2178351109
+ name 1_471_KEY_6
+ 2178351110
+ name 1_471_KEY_7
+ 2178351111
+ name 1_471_KEY_8
+ 2178351112
+ name 1_471_KEY_9
+ 2178351113
+ name 1_471_KEY_POWER
+ 2178351114
+ name 1_471_KEY_CH_UP
+ 2178351119
+ name 1_471_KEY_CH_DOWN
+ 2178351120
+ name 1_471_CH_PREVIOUS
+ 2178351123
+ name 1_471_KEY_AV
+ 2178351145
+ name 1_472_KEY_0
+ 2178416640
+ name 1_472_KEY_1
+ 2178416641
+ name 1_472_KEY_2
+ 2178416642
+ name 1_472_KEY_3
+ 2178416643
+ name 1_472_KEY_4
+ 2178416644
+ name 1_472_KEY_5
+ 2178416645
+ name 1_472_KEY_6
+ 2178416646
+ name 1_472_KEY_7
+ 2178416647
+ name 1_472_KEY_8
+ 2178416648
+ name 1_472_KEY_9
+ 2178416649
+ name 1_472_KEY_POWER
+ 2178416650
+ name 1_472_KEY_CH_UP
+ 2178416655
+ name 1_472_KEY_CH_DOWN
+ 2178416656
+ name 1_472_KEY_AV
+ 2178416681
+ name 1_473_KEY_0
+ 2178482176
+ name 1_473_KEY_1
+ 2178482177
+ name 1_473_KEY_2
+ 2178482178
+ name 1_473_KEY_3
+ 2178482179
+ name 1_473_KEY_4
+ 2178482180
+ name 1_473_KEY_5
+ 2178482181
+ name 1_473_KEY_6
+ 2178482182
+ name 1_473_KEY_7
+ 2178482183
+ name 1_473_KEY_8
+ 2178482184
+ name 1_473_KEY_9
+ 2178482185
+ name 1_473_KEY_POWER
+ 2178482186
+ name 1_473_KEY_CH_UP
+ 2178482191
+ name 1_473_KEY_CH_DOWN
+ 2178482192
+ name 1_473_KEY_AV
+ 2178482217
+ name 1_474_KEY_0
+ 2178547712
+ name 1_474_KEY_1
+ 2178547713
+ name 1_474_KEY_2
+ 2178547714
+ name 1_474_KEY_3
+ 2178547715
+ name 1_474_KEY_4
+ 2178547716
+ name 1_474_KEY_5
+ 2178547717
+ name 1_474_KEY_6
+ 2178547718
+ name 1_474_KEY_7
+ 2178547719
+ name 1_474_KEY_8
+ 2178547720
+ name 1_474_KEY_9
+ 2178547721
+ name 1_474_KEY_POWER
+ 2178547722
+ name 1_474_KEY_CH_UP
+ 2178547727
+ name 1_474_KEY_CH_DOWN
+ 2178547728
+ name 1_474_CH_PREVIOUS
+ 2178547731
+ name 1_474_KEY_AV
+ 2178547753
+ name 1_475_KEY_0
+ 2178613248
+ name 1_475_KEY_1
+ 2178613249
+ name 1_475_KEY_2
+ 2178613250
+ name 1_475_KEY_3
+ 2178613251
+ name 1_475_KEY_4
+ 2178613252
+ name 1_475_KEY_5
+ 2178613253
+ name 1_475_KEY_6
+ 2178613254
+ name 1_475_KEY_7
+ 2178613255
+ name 1_475_KEY_8
+ 2178613256
+ name 1_475_KEY_9
+ 2178613257
+ name 1_475_KEY_POWER
+ 2178613258
+ name 1_475_KEY_CH_UP
+ 2178613263
+ name 1_475_KEY_CH_DOWN
+ 2178613264
+ name 1_475_KEY_AV
+ 2178613289
+ name 1_476_KEY_0
+ 2178678784
+ name 1_476_KEY_1
+ 2178678785
+ name 1_476_KEY_2
+ 2178678786
+ name 1_476_KEY_3
+ 2178678787
+ name 1_476_KEY_4
+ 2178678788
+ name 1_476_KEY_5
+ 2178678789
+ name 1_476_KEY_6
+ 2178678790
+ name 1_476_KEY_7
+ 2178678791
+ name 1_476_KEY_8
+ 2178678792
+ name 1_476_KEY_9
+ 2178678793
+ name 1_476_KEY_POWER
+ 2178678794
+ name 1_476_TWO_DIGITS
+ 2178678797
+ name 1_476_KEY_CH_UP
+ 2178678799
+ name 1_476_KEY_CH_DOWN
+ 2178678800
+ name 1_476_KEY_AV
+ 2178678825
+ name 1_478_KEY_0
+ 2178809856
+ name 1_478_KEY_1
+ 2178809857
+ name 1_478_KEY_2
+ 2178809858
+ name 1_478_KEY_3
+ 2178809859
+ name 1_478_KEY_4
+ 2178809860
+ name 1_478_KEY_5
+ 2178809861
+ name 1_478_KEY_6
+ 2178809862
+ name 1_478_KEY_7
+ 2178809863
+ name 1_478_KEY_8
+ 2178809864
+ name 1_478_KEY_9
+ 2178809865
+ name 1_478_KEY_POWER
+ 2178809866
+ name 1_478_KEY_CH_UP
+ 2178809871
+ name 1_478_KEY_CH_DOWN
+ 2178809872
+ name 1_478_KEY_MUTE
+ 2178809873
+ name 1_478_KEY_VOL_DOWN
+ 2178809874
+ name 1_478_CH_PREVIOUS
+ 2178809875
+ name 1_478_KEY_VOL_UP
+ 2178809876
+ name 1_478_KEY_AV
+ 2178809897
+ name 1_478_KEY_MENU
+ 2178809903
+ name 1_478_KEY_MUP
+ 2178809904
+ name 1_478_KEY_MDOWN
+ 2178809905
+ name 1_478_KEY_MLEFT
+ 2178809906
+ name 1_478_KEY_MRIGHT
+ 2178809907
+ name 1_478_KEY_Sleep
+ 2178809919
+ name 1_479_KEY_0
+ 2178875392
+ name 1_479_KEY_1
+ 2178875393
+ name 1_479_KEY_2
+ 2178875394
+ name 1_479_KEY_3
+ 2178875395
+ name 1_479_KEY_4
+ 2178875396
+ name 1_479_KEY_5
+ 2178875397
+ name 1_479_KEY_6
+ 2178875398
+ name 1_479_KEY_7
+ 2178875399
+ name 1_479_KEY_8
+ 2178875400
+ name 1_479_KEY_9
+ 2178875401
+ name 1_479_KEY_POWER
+ 2178875402
+ name 1_479_KEY_CH_UP
+ 2178875407
+ name 1_479_KEY_CH_DOWN
+ 2178875408
+ name 1_479_KEY_MUTE
+ 2178875409
+ name 1_479_KEY_VOL_DOWN
+ 2178875410
+ name 1_479_KEY_VOL_UP
+ 2178875412
+ name 1_480_KEY_0
+ 2178940928
+ name 1_480_KEY_1
+ 2178940929
+ name 1_480_KEY_2
+ 2178940930
+ name 1_480_KEY_3
+ 2178940931
+ name 1_480_KEY_4
+ 2178940932
+ name 1_480_KEY_5
+ 2178940933
+ name 1_480_KEY_6
+ 2178940934
+ name 1_480_KEY_7
+ 2178940935
+ name 1_480_KEY_8
+ 2178940936
+ name 1_480_KEY_9
+ 2178940937
+ name 1_480_KEY_POWER
+ 2178940938
+ name 1_480_KEY_CH_UP
+ 2178940943
+ name 1_480_KEY_CH_DOWN
+ 2178940944
+ name 1_481_KEY_0
+ 2179006464
+ name 1_481_KEY_1
+ 2179006465
+ name 1_481_KEY_2
+ 2179006466
+ name 1_481_KEY_3
+ 2179006467
+ name 1_481_KEY_4
+ 2179006468
+ name 1_481_KEY_5
+ 2179006469
+ name 1_481_KEY_6
+ 2179006470
+ name 1_481_KEY_7
+ 2179006471
+ name 1_481_KEY_8
+ 2179006472
+ name 1_481_KEY_9
+ 2179006473
+ name 1_481_KEY_POWER
+ 2179006474
+ name 1_481_TWO_DIGITS
+ 2179006477
+ name 1_481_KEY_CH_UP
+ 2179006479
+ name 1_481_KEY_CH_DOWN
+ 2179006480
+ name 1_481_KEY_AV
+ 2179006505
+ name 1_482_KEY_0
+ 2179072000
+ name 1_482_KEY_1
+ 2179072001
+ name 1_482_KEY_2
+ 2179072002
+ name 1_482_KEY_3
+ 2179072003
+ name 1_482_KEY_4
+ 2179072004
+ name 1_482_KEY_5
+ 2179072005
+ name 1_482_KEY_6
+ 2179072006
+ name 1_482_KEY_7
+ 2179072007
+ name 1_482_KEY_8
+ 2179072008
+ name 1_482_KEY_9
+ 2179072009
+ name 1_482_KEY_POWER
+ 2179072010
+ name 1_482_KEY_CH_UP
+ 2179072015
+ name 1_482_KEY_CH_DOWN
+ 2179072016
+ name 1_482_CH_PREVIOUS
+ 2179072019
+ name 1_483_KEY_0
+ 2179137536
+ name 1_483_KEY_1
+ 2179137537
+ name 1_483_KEY_2
+ 2179137538
+ name 1_483_KEY_3
+ 2179137539
+ name 1_483_KEY_4
+ 2179137540
+ name 1_483_KEY_5
+ 2179137541
+ name 1_483_KEY_6
+ 2179137542
+ name 1_483_KEY_7
+ 2179137543
+ name 1_483_KEY_8
+ 2179137544
+ name 1_483_KEY_9
+ 2179137545
+ name 1_483_KEY_POWER
+ 2179137546
+ name 1_483_KEY_CH_UP
+ 2179137551
+ name 1_483_KEY_CH_DOWN
+ 2179137552
+ name 1_483_CH_PREVIOUS
+ 2179137555
+ name 1_484_KEY_0
+ 2179203072
+ name 1_484_KEY_1
+ 2179203073
+ name 1_484_KEY_2
+ 2179203074
+ name 1_484_KEY_3
+ 2179203075
+ name 1_484_KEY_4
+ 2179203076
+ name 1_484_KEY_5
+ 2179203077
+ name 1_484_KEY_6
+ 2179203078
+ name 1_484_KEY_7
+ 2179203079
+ name 1_484_KEY_8
+ 2179203080
+ name 1_484_KEY_9
+ 2179203081
+ name 1_484_KEY_POWER
+ 2179203082
+ name 1_484_KEY_CH_UP
+ 2179203087
+ name 1_484_KEY_CH_DOWN
+ 2179203088
+ name 1_485_KEY_0
+ 2179268608
+ name 1_485_KEY_1
+ 2179268609
+ name 1_485_KEY_2
+ 2179268610
+ name 1_485_KEY_3
+ 2179268611
+ name 1_485_KEY_4
+ 2179268612
+ name 1_485_KEY_5
+ 2179268613
+ name 1_485_KEY_6
+ 2179268614
+ name 1_485_KEY_7
+ 2179268615
+ name 1_485_KEY_8
+ 2179268616
+ name 1_485_KEY_9
+ 2179268617
+ name 1_485_KEY_POWER
+ 2179268618
+ name 1_485_KEY_CH_UP
+ 2179268623
+ name 1_485_KEY_CH_DOWN
+ 2179268624
+ name 1_485_CH_PREVIOUS
+ 2179268627
+ name 1_485_KEY_AV
+ 2179268649
+ name 1_486_KEY_0
+ 2179334144
+ name 1_486_KEY_1
+ 2179334145
+ name 1_486_KEY_2
+ 2179334146
+ name 1_486_KEY_3
+ 2179334147
+ name 1_486_KEY_4
+ 2179334148
+ name 1_486_KEY_5
+ 2179334149
+ name 1_486_KEY_6
+ 2179334150
+ name 1_486_KEY_7
+ 2179334151
+ name 1_486_KEY_8
+ 2179334152
+ name 1_486_KEY_9
+ 2179334153
+ name 1_486_KEY_POWER
+ 2179334154
+ name 1_486_KEY_CH_UP
+ 2179334159
+ name 1_486_KEY_CH_DOWN
+ 2179334160
+ name 1_487_KEY_0
+ 2179399680
+ name 1_487_KEY_1
+ 2179399681
+ name 1_487_KEY_2
+ 2179399682
+ name 1_487_KEY_3
+ 2179399683
+ name 1_487_KEY_4
+ 2179399684
+ name 1_487_KEY_5
+ 2179399685
+ name 1_487_KEY_6
+ 2179399686
+ name 1_487_KEY_7
+ 2179399687
+ name 1_487_KEY_8
+ 2179399688
+ name 1_487_KEY_9
+ 2179399689
+ name 1_487_KEY_POWER
+ 2179399690
+ name 1_487_KEY_CH_UP
+ 2179399695
+ name 1_487_KEY_CH_DOWN
+ 2179399696
+ name 1_487_CH_PREVIOUS
+ 2179399699
+ name 1_488_KEY_0
+ 2179465216
+ name 1_488_KEY_1
+ 2179465217
+ name 1_488_KEY_2
+ 2179465218
+ name 1_488_KEY_3
+ 2179465219
+ name 1_488_KEY_4
+ 2179465220
+ name 1_488_KEY_5
+ 2179465221
+ name 1_488_KEY_6
+ 2179465222
+ name 1_488_KEY_7
+ 2179465223
+ name 1_488_KEY_8
+ 2179465224
+ name 1_488_KEY_9
+ 2179465225
+ name 1_488_KEY_POWER
+ 2179465226
+ name 1_488_TWO_DIGITS
+ 2179465229
+ name 1_488_KEY_CH_UP
+ 2179465231
+ name 1_488_KEY_CH_DOWN
+ 2179465232
+ name 1_489_KEY_0
+ 2179530752
+ name 1_489_KEY_1
+ 2179530753
+ name 1_489_KEY_2
+ 2179530754
+ name 1_489_KEY_3
+ 2179530755
+ name 1_489_KEY_4
+ 2179530756
+ name 1_489_KEY_5
+ 2179530757
+ name 1_489_KEY_6
+ 2179530758
+ name 1_489_KEY_7
+ 2179530759
+ name 1_489_KEY_8
+ 2179530760
+ name 1_489_KEY_9
+ 2179530761
+ name 1_489_KEY_POWER
+ 2179530762
+ name 1_489_KEY_CH_UP
+ 2179530767
+ name 1_489_KEY_CH_DOWN
+ 2179530768
+ name 1_489_CH_PREVIOUS
+ 2179530771
+ name 1_490_KEY_0
+ 2179596288
+ name 1_490_KEY_1
+ 2179596289
+ name 1_490_KEY_2
+ 2179596290
+ name 1_490_KEY_3
+ 2179596291
+ name 1_490_KEY_4
+ 2179596292
+ name 1_490_KEY_5
+ 2179596293
+ name 1_490_KEY_6
+ 2179596294
+ name 1_490_KEY_7
+ 2179596295
+ name 1_490_KEY_8
+ 2179596296
+ name 1_490_KEY_9
+ 2179596297
+ name 1_490_KEY_POWER
+ 2179596298
+ name 1_490_KEY_CH_UP
+ 2179596303
+ name 1_490_KEY_CH_DOWN
+ 2179596304
+ name 1_490_KEY_MUTE
+ 2179596305
+ name 1_490_KEY_VOL_DOWN
+ 2179596306
+ name 1_490_CH_PREVIOUS
+ 2179596307
+ name 1_490_KEY_VOL_UP
+ 2179596308
+ name 1_490_KEY_AV
+ 2179596329
+ name 1_498_KEY_0
+ 2180120576
+ name 1_498_KEY_1
+ 2180120577
+ name 1_498_KEY_2
+ 2180120578
+ name 1_498_KEY_3
+ 2180120579
+ name 1_498_KEY_4
+ 2180120580
+ name 1_498_KEY_5
+ 2180120581
+ name 1_498_KEY_6
+ 2180120582
+ name 1_498_KEY_7
+ 2180120583
+ name 1_498_KEY_8
+ 2180120584
+ name 1_498_KEY_9
+ 2180120585
+ name 1_498_KEY_POWER
+ 2180120586
+ name 1_498_KEY_CH_UP
+ 2180120591
+ name 1_498_KEY_CH_DOWN
+ 2180120592
+ name 1_498_KEY_MUTE
+ 2180120593
+ name 1_498_KEY_VOL_DOWN
+ 2180120594
+ name 1_498_CH_PREVIOUS
+ 2180120595
+ name 1_498_KEY_VOL_UP
+ 2180120596
+ name 1_498_KEY_MNSELECT
+ 2180120599
+ name 1_498_KEY_EXIT
+ 2180120600
+ name 1_498_KEY_FAV
+ 2180120605
+ name 1_498_KEY_MUP
+ 2180120624
+ name 1_498_KEY_MDOWN
+ 2180120625
+ name 1_498_KEY_MLEFT
+ 2180120626
+ name 1_498_KEY_MRIGHT
+ 2180120627
+ name 1_499_KEY_0
+ 2180186112
+ name 1_499_KEY_1
+ 2180186113
+ name 1_499_KEY_2
+ 2180186114
+ name 1_499_KEY_3
+ 2180186115
+ name 1_499_KEY_4
+ 2180186116
+ name 1_499_KEY_5
+ 2180186117
+ name 1_499_KEY_6
+ 2180186118
+ name 1_499_KEY_7
+ 2180186119
+ name 1_499_KEY_8
+ 2180186120
+ name 1_499_KEY_9
+ 2180186121
+ name 1_499_KEY_POWER
+ 2180186122
+ name 1_499_KEY_CH_UP
+ 2180186127
+ name 1_499_KEY_CH_DOWN
+ 2180186128
+ name 1_499_KEY_MUTE
+ 2180186129
+ name 1_499_KEY_VOL_DOWN
+ 2180186130
+ name 1_499_CH_PREVIOUS
+ 2180186131
+ name 1_499_KEY_VOL_UP
+ 2180186132
+ name 1_499_KEY_MNSELECT
+ 2180186135
+ name 1_499_KEY_EXIT
+ 2180186136
+ name 1_499_KEY_GUIDE
+ 2180186139
+ name 1_499_KEY_MENU
+ 2180186159
+ name 1_499_KEY_MUP
+ 2180186160
+ name 1_499_KEY_MDOWN
+ 2180186161
+ name 1_499_KEY_MLEFT
+ 2180186162
+ name 1_499_KEY_MRIGHT
+ 2180186163
+ name 1_499_KEY_DSubtitle
+ 2180186180
+ name 1_500_KEY_0
+ 2180251648
+ name 1_500_KEY_1
+ 2180251649
+ name 1_500_KEY_2
+ 2180251650
+ name 1_500_KEY_3
+ 2180251651
+ name 1_500_KEY_4
+ 2180251652
+ name 1_500_KEY_5
+ 2180251653
+ name 1_500_KEY_6
+ 2180251654
+ name 1_500_KEY_7
+ 2180251655
+ name 1_500_KEY_8
+ 2180251656
+ name 1_500_KEY_9
+ 2180251657
+ name 1_500_KEY_POWER
+ 2180251658
+ name 1_500_KEY_CH_UP
+ 2180251663
+ name 1_500_KEY_CH_DOWN
+ 2180251664
+ name 1_500_KEY_MUTE
+ 2180251665
+ name 1_500_KEY_VOL_DOWN
+ 2180251666
+ name 1_500_KEY_VOL_UP
+ 2180251668
+ name 1_500_KEY_MNSELECT
+ 2180251671
+ name 1_500_KEY_EXIT
+ 2180251672
+ name 1_500_KEY_MENU
+ 2180251695
+ name 1_500_KEY_MUP
+ 2180251696
+ name 1_500_KEY_MDOWN
+ 2180251697
+ name 1_500_KEY_MLEFT
+ 2180251698
+ name 1_500_KEY_MRIGHT
+ 2180251699
+ name 1_500_KEY_Sleep
+ 2180251711
+ name 1_501_KEY_0
+ 2180317184
+ name 1_501_KEY_1
+ 2180317185
+ name 1_501_KEY_2
+ 2180317186
+ name 1_501_KEY_3
+ 2180317187
+ name 1_501_KEY_4
+ 2180317188
+ name 1_501_KEY_5
+ 2180317189
+ name 1_501_KEY_6
+ 2180317190
+ name 1_501_KEY_7
+ 2180317191
+ name 1_501_KEY_8
+ 2180317192
+ name 1_501_KEY_9
+ 2180317193
+ name 1_501_KEY_POWER
+ 2180317194
+ name 1_501_KEY_CH_UP
+ 2180317199
+ name 1_501_KEY_CH_DOWN
+ 2180317200
+ name 1_501_KEY_MUTE
+ 2180317201
+ name 1_501_KEY_VOL_DOWN
+ 2180317202
+ name 1_501_CH_PREVIOUS
+ 2180317203
+ name 1_501_KEY_VOL_UP
+ 2180317204
+ name 1_501_KEY_MNSELECT
+ 2180317207
+ name 1_501_KEY_EXIT
+ 2180317208
+ name 1_501_KEY_GUIDE
+ 2180317211
+ name 1_501_KEY_AV
+ 2180317225
+ name 1_501_KEY_MENU
+ 2180317231
+ name 1_501_KEY_MUP
+ 2180317232
+ name 1_501_KEY_MDOWN
+ 2180317233
+ name 1_501_KEY_MLEFT
+ 2180317234
+ name 1_501_KEY_MRIGHT
+ 2180317235
+ name 1_502_KEY_0
+ 2180382720
+ name 1_502_KEY_1
+ 2180382721
+ name 1_502_KEY_2
+ 2180382722
+ name 1_502_KEY_3
+ 2180382723
+ name 1_502_KEY_4
+ 2180382724
+ name 1_502_KEY_5
+ 2180382725
+ name 1_502_KEY_6
+ 2180382726
+ name 1_502_KEY_7
+ 2180382727
+ name 1_502_KEY_8
+ 2180382728
+ name 1_502_KEY_9
+ 2180382729
+ name 1_502_KEY_POWER
+ 2180382730
+ name 1_502_KEY_MUTE
+ 2180382737
+ name 1_502_CH_PREVIOUS
+ 2180382739
+ name 1_502_KEY_MNSELECT
+ 2180382743
+ name 1_502_KEY_EXIT
+ 2180382744
+ name 1_502_KEY_MENU
+ 2180382767
+ name 1_503_KEY_0
+ 2180448256
+ name 1_503_KEY_1
+ 2180448257
+ name 1_503_KEY_2
+ 2180448258
+ name 1_503_KEY_3
+ 2180448259
+ name 1_503_KEY_4
+ 2180448260
+ name 1_503_KEY_5
+ 2180448261
+ name 1_503_KEY_6
+ 2180448262
+ name 1_503_KEY_7
+ 2180448263
+ name 1_503_KEY_8
+ 2180448264
+ name 1_503_KEY_9
+ 2180448265
+ name 1_503_KEY_POWER
+ 2180448266
+ name 1_503_KEY_MUTE
+ 2180448273
+ name 1_503_CH_PREVIOUS
+ 2180448275
+ name 1_503_KEY_MNSELECT
+ 2180448279
+ name 1_503_KEY_GUIDE
+ 2180448283
+ name 1_503_KEY_MENU
+ 2180448303
+ name 1_504_KEY_0
+ 2180513792
+ name 1_504_KEY_1
+ 2180513793
+ name 1_504_KEY_2
+ 2180513794
+ name 1_504_KEY_3
+ 2180513795
+ name 1_504_KEY_4
+ 2180513796
+ name 1_504_KEY_5
+ 2180513797
+ name 1_504_KEY_6
+ 2180513798
+ name 1_504_KEY_7
+ 2180513799
+ name 1_504_KEY_8
+ 2180513800
+ name 1_504_KEY_9
+ 2180513801
+ name 1_504_KEY_POWER
+ 2180513802
+ name 1_504_KEY_MUTE
+ 2180513809
+ name 1_504_CH_PREVIOUS
+ 2180513811
+ name 1_504_KEY_MNSELECT
+ 2180513815
+ name 1_504_KEY_MENU
+ 2180513839
+ name 1_505_KEY_0
+ 2180579328
+ name 1_505_KEY_1
+ 2180579329
+ name 1_505_KEY_2
+ 2180579330
+ name 1_505_KEY_3
+ 2180579331
+ name 1_505_KEY_4
+ 2180579332
+ name 1_505_KEY_5
+ 2180579333
+ name 1_505_KEY_6
+ 2180579334
+ name 1_505_KEY_7
+ 2180579335
+ name 1_505_KEY_8
+ 2180579336
+ name 1_505_KEY_9
+ 2180579337
+ name 1_505_KEY_POWER
+ 2180579338
+ name 1_505_KEY_CH_UP
+ 2180579343
+ name 1_505_KEY_CH_DOWN
+ 2180579344
+ name 1_505_KEY_MUTE
+ 2180579345
+ name 1_505_KEY_VOL_DOWN
+ 2180579346
+ name 1_505_KEY_VOL_UP
+ 2180579348
+ name 1_505_KEY_MNSELECT
+ 2180579351
+ name 1_505_KEY_EXIT
+ 2180579352
+ name 1_505_KEY_GUIDE
+ 2180579355
+ name 1_505_KEY_AV
+ 2180579369
+ name 1_505_KEY_MENU
+ 2180579375
+ name 1_505_KEY_MUP
+ 2180579376
+ name 1_505_KEY_MDOWN
+ 2180579377
+ name 1_505_KEY_MLEFT
+ 2180579378
+ name 1_505_KEY_MRIGHT
+ 2180579379
+ name 1_505_KEY_TTOnOff
+ 2180579401
+ name 1_506_KEY_0
+ 2180644864
+ name 1_506_KEY_1
+ 2180644865
+ name 1_506_KEY_2
+ 2180644866
+ name 1_506_KEY_3
+ 2180644867
+ name 1_506_KEY_4
+ 2180644868
+ name 1_506_KEY_5
+ 2180644869
+ name 1_506_KEY_6
+ 2180644870
+ name 1_506_KEY_7
+ 2180644871
+ name 1_506_KEY_8
+ 2180644872
+ name 1_506_KEY_9
+ 2180644873
+ name 1_506_KEY_POWER
+ 2180644874
+ name 1_506_TWO_DIGITS
+ 2180644877
+ name 1_506_KEY_CH_UP
+ 2180644879
+ name 1_506_KEY_CH_DOWN
+ 2180644880
+ name 1_507_KEY_0
+ 2180710400
+ name 1_507_KEY_1
+ 2180710401
+ name 1_507_KEY_2
+ 2180710402
+ name 1_507_KEY_3
+ 2180710403
+ name 1_507_KEY_4
+ 2180710404
+ name 1_507_KEY_5
+ 2180710405
+ name 1_507_KEY_6
+ 2180710406
+ name 1_507_KEY_7
+ 2180710407
+ name 1_507_KEY_8
+ 2180710408
+ name 1_507_KEY_9
+ 2180710409
+ name 1_507_KEY_POWER
+ 2180710410
+ name 1_507_TWO_DIGITS
+ 2180710413
+ name 1_507_KEY_CH_UP
+ 2180710415
+ name 1_507_KEY_CH_DOWN
+ 2180710416
+ name 1_507_KEY_MUP
+ 2180710448
+ name 1_507_KEY_MDOWN
+ 2180710449
+ name 1_508_KEY_0
+ 2180775936
+ name 1_508_KEY_1
+ 2180775937
+ name 1_508_KEY_2
+ 2180775938
+ name 1_508_KEY_3
+ 2180775939
+ name 1_508_KEY_4
+ 2180775940
+ name 1_508_KEY_5
+ 2180775941
+ name 1_508_KEY_6
+ 2180775942
+ name 1_508_KEY_7
+ 2180775943
+ name 1_508_KEY_8
+ 2180775944
+ name 1_508_KEY_9
+ 2180775945
+ name 1_508_KEY_POWER
+ 2180775946
+ name 1_508_KEY_CH_UP
+ 2180775951
+ name 1_508_KEY_CH_DOWN
+ 2180775952
+ name 1_508_CH_PREVIOUS
+ 2180775955
+ name 1_509_KEY_0
+ 2180841472
+ name 1_509_KEY_1
+ 2180841473
+ name 1_509_KEY_2
+ 2180841474
+ name 1_509_KEY_3
+ 2180841475
+ name 1_509_KEY_4
+ 2180841476
+ name 1_509_KEY_5
+ 2180841477
+ name 1_509_KEY_6
+ 2180841478
+ name 1_509_KEY_7
+ 2180841479
+ name 1_509_KEY_8
+ 2180841480
+ name 1_509_KEY_9
+ 2180841481
+ name 1_509_KEY_POWER
+ 2180841482
+ name 1_509_KEY_CH_UP
+ 2180841487
+ name 1_509_KEY_CH_DOWN
+ 2180841488
+ name 1_509_KEY_MUP
+ 2180841520
+ name 1_509_KEY_MDOWN
+ 2180841521
+ name 1_510_KEY_0
+ 2180907008
+ name 1_510_KEY_1
+ 2180907009
+ name 1_510_KEY_2
+ 2180907010
+ name 1_510_KEY_3
+ 2180907011
+ name 1_510_KEY_4
+ 2180907012
+ name 1_510_KEY_5
+ 2180907013
+ name 1_510_KEY_6
+ 2180907014
+ name 1_510_KEY_7
+ 2180907015
+ name 1_510_KEY_8
+ 2180907016
+ name 1_510_KEY_9
+ 2180907017
+ name 1_510_KEY_POWER
+ 2180907018
+ name 1_510_KEY_CH_UP
+ 2180907023
+ name 1_510_KEY_CH_DOWN
+ 2180907024
+ name 1_510_KEY_MNSELECT
+ 2180907031
+ name 1_510_KEY_MENU
+ 2180907055
+ name 1_510_KEY_MUP
+ 2180907056
+ name 1_510_KEY_MDOWN
+ 2180907057
+ name 1_510_KEY_MLEFT
+ 2180907058
+ name 1_510_KEY_MRIGHT
+ 2180907059
+ name 1_511_KEY_0
+ 2180972544
+ name 1_511_KEY_1
+ 2180972545
+ name 1_511_KEY_2
+ 2180972546
+ name 1_511_KEY_3
+ 2180972547
+ name 1_511_KEY_4
+ 2180972548
+ name 1_511_KEY_5
+ 2180972549
+ name 1_511_KEY_6
+ 2180972550
+ name 1_511_KEY_7
+ 2180972551
+ name 1_511_KEY_8
+ 2180972552
+ name 1_511_KEY_9
+ 2180972553
+ name 1_511_KEY_POWER
+ 2180972554
+ name 1_511_KEY_CH_UP
+ 2180972559
+ name 1_511_KEY_CH_DOWN
+ 2180972560
+ name 1_511_KEY_MNSELECT
+ 2180972567
+ name 1_511_KEY_MENU
+ 2180972591
+ name 1_511_KEY_MUP
+ 2180972592
+ name 1_511_KEY_MDOWN
+ 2180972593
+ name 1_511_KEY_MLEFT
+ 2180972594
+ name 1_511_KEY_MRIGHT
+ 2180972595
+ name 1_512_KEY_0
+ 2181038080
+ name 1_512_KEY_1
+ 2181038081
+ name 1_512_KEY_2
+ 2181038082
+ name 1_512_KEY_3
+ 2181038083
+ name 1_512_KEY_4
+ 2181038084
+ name 1_512_KEY_5
+ 2181038085
+ name 1_512_KEY_6
+ 2181038086
+ name 1_512_KEY_7
+ 2181038087
+ name 1_512_KEY_8
+ 2181038088
+ name 1_512_KEY_9
+ 2181038089
+ name 1_512_KEY_POWER
+ 2181038090
+ name 1_512_TWO_DIGITS
+ 2181038093
+ name 1_512_KEY_CH_UP
+ 2181038095
+ name 1_512_KEY_CH_DOWN
+ 2181038096
+ name 1_512_KEY_MNSELECT
+ 2181038103
+ name 1_512_KEY_BLUE
+ 2181038115
+ name 1_512_KEY_GREEN
+ 2181038116
+ name 1_512_KEY_RED
+ 2181038117
+ name 1_512_KEY_YELLOW
+ 2181038118
+ name 1_512_KEY_MENU
+ 2181038127
+ name 1_512_KEY_MUP
+ 2181038128
+ name 1_512_KEY_MDOWN
+ 2181038129
+ name 1_512_KEY_MLEFT
+ 2181038130
+ name 1_512_KEY_MRIGHT
+ 2181038131
+ name 1_512_KEY_On
+ 2181038157
+ name 1_513_KEY_0
+ 2181103616
+ name 1_513_KEY_1
+ 2181103617
+ name 1_513_KEY_2
+ 2181103618
+ name 1_513_KEY_3
+ 2181103619
+ name 1_513_KEY_4
+ 2181103620
+ name 1_513_KEY_5
+ 2181103621
+ name 1_513_KEY_6
+ 2181103622
+ name 1_513_KEY_7
+ 2181103623
+ name 1_513_KEY_8
+ 2181103624
+ name 1_513_KEY_9
+ 2181103625
+ name 1_513_KEY_POWER
+ 2181103626
+ name 1_513_KEY_CH_UP
+ 2181103631
+ name 1_513_KEY_CH_DOWN
+ 2181103632
+ name 1_513_KEY_MNSELECT
+ 2181103639
+ name 1_513_KEY_MENU
+ 2181103663
+ name 1_514_KEY_0
+ 2181169152
+ name 1_514_KEY_1
+ 2181169153
+ name 1_514_KEY_2
+ 2181169154
+ name 1_514_KEY_3
+ 2181169155
+ name 1_514_KEY_4
+ 2181169156
+ name 1_514_KEY_5
+ 2181169157
+ name 1_514_KEY_6
+ 2181169158
+ name 1_514_KEY_7
+ 2181169159
+ name 1_514_KEY_8
+ 2181169160
+ name 1_514_KEY_9
+ 2181169161
+ name 1_514_KEY_POWER
+ 2181169162
+ name 1_514_TWO_DIGITS
+ 2181169165
+ name 1_514_KEY_CH_UP
+ 2181169167
+ name 1_514_KEY_CH_DOWN
+ 2181169168
+ name 1_514_CH_PREVIOUS
+ 2181169171
+ name 1_514_KEY_MNSELECT
+ 2181169175
+ name 1_514_KEY_MENU
+ 2181169199
+ name 1_514_KEY_MUP
+ 2181169200
+ name 1_514_KEY_MDOWN
+ 2181169201
+ name 1_514_KEY_MLEFT
+ 2181169202
+ name 1_514_KEY_MRIGHT
+ 2181169203
+ name 1_515_KEY_0
+ 2181234688
+ name 1_515_KEY_1
+ 2181234689
+ name 1_515_KEY_2
+ 2181234690
+ name 1_515_KEY_3
+ 2181234691
+ name 1_515_KEY_4
+ 2181234692
+ name 1_515_KEY_5
+ 2181234693
+ name 1_515_KEY_6
+ 2181234694
+ name 1_515_KEY_7
+ 2181234695
+ name 1_515_KEY_8
+ 2181234696
+ name 1_515_KEY_9
+ 2181234697
+ name 1_515_KEY_POWER
+ 2181234698
+ name 1_515_TWO_DIGITS
+ 2181234701
+ name 1_515_KEY_CH_UP
+ 2181234703
+ name 1_515_KEY_CH_DOWN
+ 2181234704
+ name 1_515_CH_PREVIOUS
+ 2181234707
+ name 1_515_KEY_MNSELECT
+ 2181234711
+ name 1_515_KEY_MENU
+ 2181234735
+ name 1_515_KEY_MUP
+ 2181234736
+ name 1_515_KEY_MDOWN
+ 2181234737
+ name 1_515_KEY_MLEFT
+ 2181234738
+ name 1_515_KEY_MRIGHT
+ 2181234739
+ name 1_516_KEY_0
+ 2181300224
+ name 1_516_KEY_1
+ 2181300225
+ name 1_516_KEY_2
+ 2181300226
+ name 1_516_KEY_3
+ 2181300227
+ name 1_516_KEY_4
+ 2181300228
+ name 1_516_KEY_5
+ 2181300229
+ name 1_516_KEY_6
+ 2181300230
+ name 1_516_KEY_7
+ 2181300231
+ name 1_516_KEY_8
+ 2181300232
+ name 1_516_KEY_9
+ 2181300233
+ name 1_516_KEY_POWER
+ 2181300234
+ name 1_516_KEY_CH_UP
+ 2181300239
+ name 1_516_KEY_CH_DOWN
+ 2181300240
+ name 1_516_KEY_MNSELECT
+ 2181300247
+ name 1_516_KEY_GUIDE
+ 2181300251
+ name 1_516_KEY_BLUE
+ 2181300259
+ name 1_516_KEY_GREEN
+ 2181300260
+ name 1_516_KEY_RED
+ 2181300261
+ name 1_516_KEY_YELLOW
+ 2181300262
+ name 1_516_KEY_MENU
+ 2181300271
+ name 1_516_KEY_MUP
+ 2181300272
+ name 1_516_KEY_MDOWN
+ 2181300273
+ name 1_516_KEY_MLEFT
+ 2181300274
+ name 1_516_KEY_MRIGHT
+ 2181300275
+ name 1_517_KEY_0
+ 2181365760
+ name 1_517_KEY_1
+ 2181365761
+ name 1_517_KEY_2
+ 2181365762
+ name 1_517_KEY_3
+ 2181365763
+ name 1_517_KEY_4
+ 2181365764
+ name 1_517_KEY_5
+ 2181365765
+ name 1_517_KEY_6
+ 2181365766
+ name 1_517_KEY_7
+ 2181365767
+ name 1_517_KEY_8
+ 2181365768
+ name 1_517_KEY_9
+ 2181365769
+ name 1_517_KEY_POWER
+ 2181365770
+ name 1_517_KEY_CH_UP
+ 2181365775
+ name 1_517_KEY_CH_DOWN
+ 2181365776
+ name 1_517_KEY_MNSELECT
+ 2181365783
+ name 1_517_KEY_GUIDE
+ 2181365787
+ name 1_517_KEY_BLUE
+ 2181365795
+ name 1_517_KEY_GREEN
+ 2181365796
+ name 1_517_KEY_RED
+ 2181365797
+ name 1_517_KEY_YELLOW
+ 2181365798
+ name 1_517_KEY_MENU
+ 2181365807
+ name 1_517_KEY_MUP
+ 2181365808
+ name 1_517_KEY_MDOWN
+ 2181365809
+ name 1_517_KEY_MLEFT
+ 2181365810
+ name 1_517_KEY_MRIGHT
+ 2181365811
+ name 1_518_KEY_0
+ 2181431296
+ name 1_518_KEY_1
+ 2181431297
+ name 1_518_KEY_2
+ 2181431298
+ name 1_518_KEY_3
+ 2181431299
+ name 1_518_KEY_4
+ 2181431300
+ name 1_518_KEY_5
+ 2181431301
+ name 1_518_KEY_6
+ 2181431302
+ name 1_518_KEY_7
+ 2181431303
+ name 1_518_KEY_8
+ 2181431304
+ name 1_518_KEY_9
+ 2181431305
+ name 1_518_KEY_POWER
+ 2181431306
+ name 1_518_KEY_CH_UP
+ 2181431311
+ name 1_518_KEY_CH_DOWN
+ 2181431312
+ name 1_518_CH_PREVIOUS
+ 2181431315
+ name 1_519_KEY_0
+ 2181496832
+ name 1_519_KEY_1
+ 2181496833
+ name 1_519_KEY_2
+ 2181496834
+ name 1_519_KEY_3
+ 2181496835
+ name 1_519_KEY_4
+ 2181496836
+ name 1_519_KEY_5
+ 2181496837
+ name 1_519_KEY_6
+ 2181496838
+ name 1_519_KEY_7
+ 2181496839
+ name 1_519_KEY_8
+ 2181496840
+ name 1_519_KEY_9
+ 2181496841
+ name 1_519_KEY_POWER
+ 2181496842
+ name 1_519_KEY_CH_UP
+ 2181496847
+ name 1_519_KEY_CH_DOWN
+ 2181496848
+ name 1_519_CH_PREVIOUS
+ 2181496851
+ name 1_519_KEY_MNSELECT
+ 2181496855
+ name 1_519_KEY_GUIDE
+ 2181496859
+ name 1_519_KEY_MENU
+ 2181496879
+ name 1_519_KEY_MUP
+ 2181496880
+ name 1_519_KEY_MDOWN
+ 2181496881
+ name 1_519_KEY_MLEFT
+ 2181496882
+ name 1_519_KEY_MRIGHT
+ 2181496883
+ name 1_520_KEY_0
+ 2181562368
+ name 1_520_KEY_1
+ 2181562369
+ name 1_520_KEY_2
+ 2181562370
+ name 1_520_KEY_3
+ 2181562371
+ name 1_520_KEY_4
+ 2181562372
+ name 1_520_KEY_5
+ 2181562373
+ name 1_520_KEY_6
+ 2181562374
+ name 1_520_KEY_7
+ 2181562375
+ name 1_520_KEY_8
+ 2181562376
+ name 1_520_KEY_9
+ 2181562377
+ name 1_520_KEY_POWER
+ 2181562378
+ name 1_520_KEY_CH_UP
+ 2181562383
+ name 1_520_KEY_CH_DOWN
+ 2181562384
+ name 1_520_CH_PREVIOUS
+ 2181562387
+ name 1_520_KEY_MNSELECT
+ 2181562391
+ name 1_520_KEY_GUIDE
+ 2181562395
+ name 1_520_KEY_BLUE
+ 2181562403
+ name 1_520_KEY_GREEN
+ 2181562404
+ name 1_520_KEY_RED
+ 2181562405
+ name 1_520_KEY_YELLOW
+ 2181562406
+ name 1_520_KEY_MENU
+ 2181562415
+ name 1_520_KEY_MUP
+ 2181562416
+ name 1_520_KEY_MDOWN
+ 2181562417
+ name 1_520_KEY_MLEFT
+ 2181562418
+ name 1_520_KEY_MRIGHT
+ 2181562419
+ name 1_520_KEY_On
+ 2181562445
+ name 1_521_KEY_0
+ 2181627904
+ name 1_521_KEY_1
+ 2181627905
+ name 1_521_KEY_2
+ 2181627906
+ name 1_521_KEY_3
+ 2181627907
+ name 1_521_KEY_4
+ 2181627908
+ name 1_521_KEY_5
+ 2181627909
+ name 1_521_KEY_6
+ 2181627910
+ name 1_521_KEY_7
+ 2181627911
+ name 1_521_KEY_8
+ 2181627912
+ name 1_521_KEY_9
+ 2181627913
+ name 1_521_KEY_POWER
+ 2181627914
+ name 1_521_KEY_CH_UP
+ 2181627919
+ name 1_521_KEY_CH_DOWN
+ 2181627920
+ name 1_521_CH_PREVIOUS
+ 2181627923
+ name 1_521_KEY_MNSELECT
+ 2181627927
+ name 1_521_KEY_GUIDE
+ 2181627931
+ name 1_521_KEY_MENU
+ 2181627951
+ name 1_521_KEY_MUP
+ 2181627952
+ name 1_521_KEY_MDOWN
+ 2181627953
+ name 1_521_KEY_MLEFT
+ 2181627954
+ name 1_521_KEY_MRIGHT
+ 2181627955
+ name 1_522_KEY_0
+ 2181693440
+ name 1_522_KEY_1
+ 2181693441
+ name 1_522_KEY_2
+ 2181693442
+ name 1_522_KEY_3
+ 2181693443
+ name 1_522_KEY_4
+ 2181693444
+ name 1_522_KEY_5
+ 2181693445
+ name 1_522_KEY_6
+ 2181693446
+ name 1_522_KEY_7
+ 2181693447
+ name 1_522_KEY_8
+ 2181693448
+ name 1_522_KEY_9
+ 2181693449
+ name 1_522_KEY_POWER
+ 2181693450
+ name 1_522_KEY_CH_UP
+ 2181693455
+ name 1_522_KEY_CH_DOWN
+ 2181693456
+ name 1_522_CH_PREVIOUS
+ 2181693459
+ name 1_522_KEY_MNSELECT
+ 2181693463
+ name 1_522_KEY_GUIDE
+ 2181693467
+ name 1_522_KEY_BLUE
+ 2181693475
+ name 1_522_KEY_GREEN
+ 2181693476
+ name 1_522_KEY_RED
+ 2181693477
+ name 1_522_KEY_YELLOW
+ 2181693478
+ name 1_522_KEY_MENU
+ 2181693487
+ name 1_522_KEY_MUP
+ 2181693488
+ name 1_522_KEY_MDOWN
+ 2181693489
+ name 1_522_KEY_MLEFT
+ 2181693490
+ name 1_522_KEY_MRIGHT
+ 2181693491
+ name 1_523_KEY_0
+ 2181758976
+ name 1_523_KEY_1
+ 2181758977
+ name 1_523_KEY_2
+ 2181758978
+ name 1_523_KEY_3
+ 2181758979
+ name 1_523_KEY_4
+ 2181758980
+ name 1_523_KEY_5
+ 2181758981
+ name 1_523_KEY_6
+ 2181758982
+ name 1_523_KEY_7
+ 2181758983
+ name 1_523_KEY_8
+ 2181758984
+ name 1_523_KEY_9
+ 2181758985
+ name 1_523_KEY_POWER
+ 2181758986
+ name 1_523_KEY_CH_UP
+ 2181758991
+ name 1_523_KEY_CH_DOWN
+ 2181758992
+ name 1_523_KEY_MUTE
+ 2181758993
+ name 1_523_KEY_VOL_DOWN
+ 2181758994
+ name 1_523_KEY_VOL_UP
+ 2181758996
+ name 1_523_KEY_MNSELECT
+ 2181758999
+ name 1_523_KEY_EXIT
+ 2181759000
+ name 1_523_KEY_AV
+ 2181759017
+ name 1_523_KEY_MENU
+ 2181759023
+ name 1_523_KEY_MUP
+ 2181759024
+ name 1_523_KEY_MDOWN
+ 2181759025
+ name 1_523_KEY_MLEFT
+ 2181759026
+ name 1_523_KEY_MRIGHT
+ 2181759027
+ name 1_524_KEY_0
+ 2181824512
+ name 1_524_KEY_1
+ 2181824513
+ name 1_524_KEY_2
+ 2181824514
+ name 1_524_KEY_3
+ 2181824515
+ name 1_524_KEY_4
+ 2181824516
+ name 1_524_KEY_5
+ 2181824517
+ name 1_524_KEY_6
+ 2181824518
+ name 1_524_KEY_7
+ 2181824519
+ name 1_524_KEY_8
+ 2181824520
+ name 1_524_KEY_9
+ 2181824521
+ name 1_524_KEY_POWER
+ 2181824522
+ name 1_524_KEY_CH_UP
+ 2181824527
+ name 1_524_KEY_CH_DOWN
+ 2181824528
+ name 1_524_KEY_MUTE
+ 2181824529
+ name 1_524_KEY_VOL_DOWN
+ 2181824530
+ name 1_524_KEY_VOL_UP
+ 2181824532
+ name 1_524_KEY_MNSELECT
+ 2181824535
+ name 1_524_KEY_EXIT
+ 2181824536
+ name 1_524_KEY_AV
+ 2181824553
+ name 1_524_KEY_MENU
+ 2181824559
+ name 1_524_KEY_MUP
+ 2181824560
+ name 1_524_KEY_MDOWN
+ 2181824561
+ name 1_524_KEY_MLEFT
+ 2181824562
+ name 1_524_KEY_MRIGHT
+ 2181824563
+ name 1_525_KEY_0
+ 2181890048
+ name 1_525_KEY_1
+ 2181890049
+ name 1_525_KEY_2
+ 2181890050
+ name 1_525_KEY_3
+ 2181890051
+ name 1_525_KEY_4
+ 2181890052
+ name 1_525_KEY_5
+ 2181890053
+ name 1_525_KEY_6
+ 2181890054
+ name 1_525_KEY_7
+ 2181890055
+ name 1_525_KEY_8
+ 2181890056
+ name 1_525_KEY_9
+ 2181890057
+ name 1_525_KEY_POWER
+ 2181890058
+ name 1_525_KEY_CH_UP
+ 2181890063
+ name 1_525_KEY_CH_DOWN
+ 2181890064
+ name 1_525_KEY_MUTE
+ 2181890065
+ name 1_525_KEY_MNSELECT
+ 2181890071
+ name 1_525_KEY_EXIT
+ 2181890072
+ name 1_525_KEY_MENU
+ 2181890095
+ name 1_525_KEY_MUP
+ 2181890096
+ name 1_525_KEY_MDOWN
+ 2181890097
+ name 1_526_KEY_0
+ 2181955584
+ name 1_526_KEY_1
+ 2181955585
+ name 1_526_KEY_2
+ 2181955586
+ name 1_526_KEY_3
+ 2181955587
+ name 1_526_KEY_4
+ 2181955588
+ name 1_526_KEY_5
+ 2181955589
+ name 1_526_KEY_6
+ 2181955590
+ name 1_526_KEY_7
+ 2181955591
+ name 1_526_KEY_8
+ 2181955592
+ name 1_526_KEY_9
+ 2181955593
+ name 1_526_KEY_POWER
+ 2181955594
+ name 1_526_KEY_CH_UP
+ 2181955599
+ name 1_526_KEY_CH_DOWN
+ 2181955600
+ name 1_526_KEY_MUTE
+ 2181955601
+ name 1_526_KEY_VOL_DOWN
+ 2181955602
+ name 1_526_KEY_VOL_UP
+ 2181955604
+ name 1_526_KEY_MNSELECT
+ 2181955607
+ name 1_526_KEY_EXIT
+ 2181955608
+ name 1_526_KEY_AV
+ 2181955625
+ name 1_526_KEY_MENU
+ 2181955631
+ name 1_526_KEY_MUP
+ 2181955632
+ name 1_526_KEY_MDOWN
+ 2181955633
+ name 1_526_KEY_MLEFT
+ 2181955634
+ name 1_526_KEY_MRIGHT
+ 2181955635
+ name 1_527_KEY_0
+ 2182021120
+ name 1_527_KEY_1
+ 2182021121
+ name 1_527_KEY_2
+ 2182021122
+ name 1_527_KEY_3
+ 2182021123
+ name 1_527_KEY_4
+ 2182021124
+ name 1_527_KEY_5
+ 2182021125
+ name 1_527_KEY_6
+ 2182021126
+ name 1_527_KEY_7
+ 2182021127
+ name 1_527_KEY_8
+ 2182021128
+ name 1_527_KEY_9
+ 2182021129
+ name 1_527_KEY_POWER
+ 2182021130
+ name 1_527_KEY_CH_UP
+ 2182021135
+ name 1_527_KEY_CH_DOWN
+ 2182021136
+ name 1_527_KEY_MUTE
+ 2182021137
+ name 1_527_KEY_VOL_DOWN
+ 2182021138
+ name 1_527_KEY_VOL_UP
+ 2182021140
+ name 1_527_KEY_MNSELECT
+ 2182021143
+ name 1_527_KEY_EXIT
+ 2182021144
+ name 1_527_KEY_AV
+ 2182021161
+ name 1_527_KEY_MENU
+ 2182021167
+ name 1_527_KEY_MUP
+ 2182021168
+ name 1_527_KEY_MDOWN
+ 2182021169
+ name 1_527_KEY_MLEFT
+ 2182021170
+ name 1_527_KEY_MRIGHT
+ 2182021171
+ name 1_528_KEY_0
+ 2182086656
+ name 1_528_KEY_1
+ 2182086657
+ name 1_528_KEY_2
+ 2182086658
+ name 1_528_KEY_3
+ 2182086659
+ name 1_528_KEY_4
+ 2182086660
+ name 1_528_KEY_5
+ 2182086661
+ name 1_528_KEY_6
+ 2182086662
+ name 1_528_KEY_7
+ 2182086663
+ name 1_528_KEY_8
+ 2182086664
+ name 1_528_KEY_9
+ 2182086665
+ name 1_528_KEY_POWER
+ 2182086666
+ name 1_528_KEY_CH_UP
+ 2182086671
+ name 1_528_KEY_CH_DOWN
+ 2182086672
+ name 1_528_KEY_MUTE
+ 2182086673
+ name 1_528_KEY_MNSELECT
+ 2182086679
+ name 1_528_KEY_EXIT
+ 2182086680
+ name 1_528_KEY_AV
+ 2182086697
+ name 1_528_KEY_MENU
+ 2182086703
+ name 1_528_KEY_MUP
+ 2182086704
+ name 1_528_KEY_MDOWN
+ 2182086705
+ name 1_528_KEY_MLEFT
+ 2182086706
+ name 1_528_KEY_MRIGHT
+ 2182086707
+ name 1_529_KEY_0
+ 2182152192
+ name 1_529_KEY_1
+ 2182152193
+ name 1_529_KEY_2
+ 2182152194
+ name 1_529_KEY_3
+ 2182152195
+ name 1_529_KEY_4
+ 2182152196
+ name 1_529_KEY_5
+ 2182152197
+ name 1_529_KEY_6
+ 2182152198
+ name 1_529_KEY_7
+ 2182152199
+ name 1_529_KEY_8
+ 2182152200
+ name 1_529_KEY_9
+ 2182152201
+ name 1_529_KEY_POWER
+ 2182152202
+ name 1_529_KEY_CH_UP
+ 2182152207
+ name 1_529_KEY_CH_DOWN
+ 2182152208
+ name 1_529_KEY_MUTE
+ 2182152209
+ name 1_529_KEY_VOL_DOWN
+ 2182152210
+ name 1_529_KEY_VOL_UP
+ 2182152212
+ name 1_529_KEY_MNSELECT
+ 2182152215
+ name 1_529_KEY_EXIT
+ 2182152216
+ name 1_529_KEY_AV
+ 2182152233
+ name 1_529_KEY_MENU
+ 2182152239
+ name 1_529_KEY_MUP
+ 2182152240
+ name 1_529_KEY_MDOWN
+ 2182152241
+ name 1_529_KEY_MLEFT
+ 2182152242
+ name 1_529_KEY_MRIGHT
+ 2182152243
+ name 1_530_KEY_0
+ 2182217728
+ name 1_530_KEY_1
+ 2182217729
+ name 1_530_KEY_2
+ 2182217730
+ name 1_530_KEY_3
+ 2182217731
+ name 1_530_KEY_4
+ 2182217732
+ name 1_530_KEY_5
+ 2182217733
+ name 1_530_KEY_6
+ 2182217734
+ name 1_530_KEY_7
+ 2182217735
+ name 1_530_KEY_8
+ 2182217736
+ name 1_530_KEY_9
+ 2182217737
+ name 1_530_KEY_POWER
+ 2182217738
+ name 1_530_KEY_CH_UP
+ 2182217743
+ name 1_530_KEY_CH_DOWN
+ 2182217744
+ name 1_530_KEY_MUTE
+ 2182217745
+ name 1_530_KEY_MNSELECT
+ 2182217751
+ name 1_530_KEY_AV
+ 2182217769
+ name 1_530_KEY_MUP
+ 2182217776
+ name 1_530_KEY_MDOWN
+ 2182217777
+ name 1_530_KEY_MLEFT
+ 2182217778
+ name 1_530_KEY_MRIGHT
+ 2182217779
+ name 1_531_KEY_0
+ 2182283264
+ name 1_531_KEY_1
+ 2182283265
+ name 1_531_KEY_2
+ 2182283266
+ name 1_531_KEY_3
+ 2182283267
+ name 1_531_KEY_4
+ 2182283268
+ name 1_531_KEY_5
+ 2182283269
+ name 1_531_KEY_6
+ 2182283270
+ name 1_531_KEY_7
+ 2182283271
+ name 1_531_KEY_8
+ 2182283272
+ name 1_531_KEY_9
+ 2182283273
+ name 1_531_KEY_POWER
+ 2182283274
+ name 1_531_KEY_CH_UP
+ 2182283279
+ name 1_531_KEY_CH_DOWN
+ 2182283280
+ name 1_531_KEY_MUTE
+ 2182283281
+ name 1_531_KEY_VOL_DOWN
+ 2182283282
+ name 1_531_KEY_VOL_UP
+ 2182283284
+ name 1_531_KEY_MNSELECT
+ 2182283287
+ name 1_531_KEY_EXIT
+ 2182283288
+ name 1_531_KEY_AV
+ 2182283305
+ name 1_531_KEY_MENU
+ 2182283311
+ name 1_531_KEY_MUP
+ 2182283312
+ name 1_531_KEY_MDOWN
+ 2182283313
+ name 1_531_KEY_MLEFT
+ 2182283314
+ name 1_531_KEY_MRIGHT
+ 2182283315
+ name 1_532_KEY_0
+ 2182348800
+ name 1_532_KEY_1
+ 2182348801
+ name 1_532_KEY_2
+ 2182348802
+ name 1_532_KEY_3
+ 2182348803
+ name 1_532_KEY_4
+ 2182348804
+ name 1_532_KEY_5
+ 2182348805
+ name 1_532_KEY_6
+ 2182348806
+ name 1_532_KEY_7
+ 2182348807
+ name 1_532_KEY_8
+ 2182348808
+ name 1_532_KEY_9
+ 2182348809
+ name 1_532_KEY_POWER
+ 2182348810
+ name 1_532_KEY_CH_UP
+ 2182348815
+ name 1_532_KEY_CH_DOWN
+ 2182348816
+ name 1_532_KEY_MUTE
+ 2182348817
+ name 1_532_KEY_MNSELECT
+ 2182348823
+ name 1_532_KEY_EXIT
+ 2182348824
+ name 1_532_KEY_AV
+ 2182348841
+ name 1_532_KEY_MENU
+ 2182348847
+ name 1_532_KEY_MUP
+ 2182348848
+ name 1_532_KEY_MDOWN
+ 2182348849
+ name 1_533_KEY_0
+ 2182414336
+ name 1_533_KEY_1
+ 2182414337
+ name 1_533_KEY_2
+ 2182414338
+ name 1_533_KEY_3
+ 2182414339
+ name 1_533_KEY_4
+ 2182414340
+ name 1_533_KEY_5
+ 2182414341
+ name 1_533_KEY_6
+ 2182414342
+ name 1_533_KEY_7
+ 2182414343
+ name 1_533_KEY_8
+ 2182414344
+ name 1_533_KEY_9
+ 2182414345
+ name 1_533_KEY_POWER
+ 2182414346
+ name 1_533_KEY_CH_UP
+ 2182414351
+ name 1_533_KEY_CH_DOWN
+ 2182414352
+ name 1_533_KEY_EXIT
+ 2182414360
+ name 1_533_KEY_AV
+ 2182414377
+ name 1_533_KEY_MENU
+ 2182414383
+ name 1_533_KEY_MUP
+ 2182414384
+ name 1_533_KEY_MDOWN
+ 2182414385
+ name 1_533_KEY_MLEFT
+ 2182414386
+ name 1_533_KEY_MRIGHT
+ 2182414387
+ name 1_534_KEY_0
+ 2182479872
+ name 1_534_KEY_1
+ 2182479873
+ name 1_534_KEY_2
+ 2182479874
+ name 1_534_KEY_3
+ 2182479875
+ name 1_534_KEY_4
+ 2182479876
+ name 1_534_KEY_5
+ 2182479877
+ name 1_534_KEY_6
+ 2182479878
+ name 1_534_KEY_7
+ 2182479879
+ name 1_534_KEY_8
+ 2182479880
+ name 1_534_KEY_9
+ 2182479881
+ name 1_534_KEY_POWER
+ 2182479882
+ name 1_534_KEY_CH_UP
+ 2182479887
+ name 1_534_KEY_CH_DOWN
+ 2182479888
+ name 1_534_KEY_EXIT
+ 2182479896
+ name 1_534_KEY_AV
+ 2182479913
+ name 1_534_KEY_MENU
+ 2182479919
+ name 1_535_KEY_0
+ 2182545408
+ name 1_535_KEY_1
+ 2182545409
+ name 1_535_KEY_2
+ 2182545410
+ name 1_535_KEY_3
+ 2182545411
+ name 1_535_KEY_4
+ 2182545412
+ name 1_535_KEY_5
+ 2182545413
+ name 1_535_KEY_6
+ 2182545414
+ name 1_535_KEY_7
+ 2182545415
+ name 1_535_KEY_8
+ 2182545416
+ name 1_535_KEY_9
+ 2182545417
+ name 1_535_KEY_POWER
+ 2182545418
+ name 1_535_KEY_CH_UP
+ 2182545423
+ name 1_535_KEY_CH_DOWN
+ 2182545424
+ name 1_535_KEY_MUTE
+ 2182545425
+ name 1_535_KEY_MNSELECT
+ 2182545431
+ name 1_535_KEY_AV
+ 2182545449
+ name 1_535_KEY_MUP
+ 2182545456
+ name 1_535_KEY_MDOWN
+ 2182545457
+ name 1_536_KEY_0
+ 2182610944
+ name 1_536_KEY_1
+ 2182610945
+ name 1_536_KEY_2
+ 2182610946
+ name 1_536_KEY_3
+ 2182610947
+ name 1_536_KEY_4
+ 2182610948
+ name 1_536_KEY_5
+ 2182610949
+ name 1_536_KEY_6
+ 2182610950
+ name 1_536_KEY_7
+ 2182610951
+ name 1_536_KEY_8
+ 2182610952
+ name 1_536_KEY_9
+ 2182610953
+ name 1_536_KEY_POWER
+ 2182610954
+ name 1_536_KEY_CH_UP
+ 2182610959
+ name 1_536_KEY_CH_DOWN
+ 2182610960
+ name 1_536_KEY_MUTE
+ 2182610961
+ name 1_536_KEY_MNSELECT
+ 2182610967
+ name 1_536_KEY_AV
+ 2182610985
+ name 1_536_KEY_MUP
+ 2182610992
+ name 1_536_KEY_MDOWN
+ 2182610993
+ name 1_537_KEY_0
+ 2182676480
+ name 1_537_KEY_1
+ 2182676481
+ name 1_537_KEY_2
+ 2182676482
+ name 1_537_KEY_3
+ 2182676483
+ name 1_537_KEY_4
+ 2182676484
+ name 1_537_KEY_5
+ 2182676485
+ name 1_537_KEY_6
+ 2182676486
+ name 1_537_KEY_7
+ 2182676487
+ name 1_537_KEY_8
+ 2182676488
+ name 1_537_KEY_9
+ 2182676489
+ name 1_537_KEY_POWER
+ 2182676490
+ name 1_537_KEY_CH_UP
+ 2182676495
+ name 1_537_KEY_CH_DOWN
+ 2182676496
+ name 1_537_KEY_MNSELECT
+ 2182676503
+ name 1_537_KEY_MENU
+ 2182676527
+ name 1_537_KEY_MLEFT
+ 2182676530
+ name 1_537_KEY_MRIGHT
+ 2182676531
+ name 1_538_KEY_0
+ 2182742016
+ name 1_538_KEY_1
+ 2182742017
+ name 1_538_KEY_2
+ 2182742018
+ name 1_538_KEY_3
+ 2182742019
+ name 1_538_KEY_4
+ 2182742020
+ name 1_538_KEY_5
+ 2182742021
+ name 1_538_KEY_6
+ 2182742022
+ name 1_538_KEY_7
+ 2182742023
+ name 1_538_KEY_8
+ 2182742024
+ name 1_538_KEY_9
+ 2182742025
+ name 1_538_KEY_POWER
+ 2182742026
+ name 1_538_KEY_CH_UP
+ 2182742031
+ name 1_538_KEY_CH_DOWN
+ 2182742032
+ name 1_538_KEY_MUTE
+ 2182742033
+ name 1_538_KEY_MNSELECT
+ 2182742039
+ name 1_538_KEY_AV
+ 2182742057
+ name 1_538_KEY_MLEFT
+ 2182742066
+ name 1_538_KEY_MRIGHT
+ 2182742067
+ name 1_539_KEY_0
+ 2182807552
+ name 1_539_KEY_1
+ 2182807553
+ name 1_539_KEY_2
+ 2182807554
+ name 1_539_KEY_3
+ 2182807555
+ name 1_539_KEY_4
+ 2182807556
+ name 1_539_KEY_5
+ 2182807557
+ name 1_539_KEY_6
+ 2182807558
+ name 1_539_KEY_7
+ 2182807559
+ name 1_539_KEY_8
+ 2182807560
+ name 1_539_KEY_9
+ 2182807561
+ name 1_539_KEY_POWER
+ 2182807562
+ name 1_539_KEY_CH_UP
+ 2182807567
+ name 1_539_KEY_CH_DOWN
+ 2182807568
+ name 1_539_KEY_MNSELECT
+ 2182807575
+ name 1_539_KEY_MENU
+ 2182807599
+ name 1_539_KEY_MUP
+ 2182807600
+ name 1_539_KEY_MDOWN
+ 2182807601
+ name 1_539_KEY_MLEFT
+ 2182807602
+ name 1_539_KEY_MRIGHT
+ 2182807603
+ name 1_539_KEY_On
+ 2182807629
+ name 1_540_KEY_0
+ 2182873088
+ name 1_540_KEY_1
+ 2182873089
+ name 1_540_KEY_2
+ 2182873090
+ name 1_540_KEY_3
+ 2182873091
+ name 1_540_KEY_4
+ 2182873092
+ name 1_540_KEY_5
+ 2182873093
+ name 1_540_KEY_6
+ 2182873094
+ name 1_540_KEY_7
+ 2182873095
+ name 1_540_KEY_8
+ 2182873096
+ name 1_540_KEY_9
+ 2182873097
+ name 1_540_KEY_POWER
+ 2182873098
+ name 1_540_KEY_CH_UP
+ 2182873103
+ name 1_540_KEY_CH_DOWN
+ 2182873104
+ name 1_540_KEY_MNSELECT
+ 2182873111
+ name 1_541_KEY_0
+ 2182938624
+ name 1_541_KEY_1
+ 2182938625
+ name 1_541_KEY_2
+ 2182938626
+ name 1_541_KEY_3
+ 2182938627
+ name 1_541_KEY_4
+ 2182938628
+ name 1_541_KEY_5
+ 2182938629
+ name 1_541_KEY_6
+ 2182938630
+ name 1_541_KEY_7
+ 2182938631
+ name 1_541_KEY_8
+ 2182938632
+ name 1_541_KEY_9
+ 2182938633
+ name 1_541_KEY_POWER
+ 2182938634
+ name 1_541_KEY_CH_UP
+ 2182938639
+ name 1_541_KEY_CH_DOWN
+ 2182938640
+ name 1_542_KEY_0
+ 2183004160
+ name 1_542_KEY_1
+ 2183004161
+ name 1_542_KEY_2
+ 2183004162
+ name 1_542_KEY_3
+ 2183004163
+ name 1_542_KEY_4
+ 2183004164
+ name 1_542_KEY_5
+ 2183004165
+ name 1_542_KEY_6
+ 2183004166
+ name 1_542_KEY_7
+ 2183004167
+ name 1_542_KEY_8
+ 2183004168
+ name 1_542_KEY_9
+ 2183004169
+ name 1_542_KEY_POWER
+ 2183004170
+ name 1_542_KEY_CH_UP
+ 2183004175
+ name 1_542_KEY_CH_DOWN
+ 2183004176
+ name 1_542_KEY_MNSELECT
+ 2183004183
+ name 1_542_KEY_MLEFT
+ 2183004210
+ name 1_542_KEY_MRIGHT
+ 2183004211
+ name 1_543_KEY_0
+ 2183069696
+ name 1_543_KEY_1
+ 2183069697
+ name 1_543_KEY_2
+ 2183069698
+ name 1_543_KEY_3
+ 2183069699
+ name 1_543_KEY_4
+ 2183069700
+ name 1_543_KEY_5
+ 2183069701
+ name 1_543_KEY_6
+ 2183069702
+ name 1_543_KEY_7
+ 2183069703
+ name 1_543_KEY_8
+ 2183069704
+ name 1_543_KEY_9
+ 2183069705
+ name 1_543_KEY_POWER
+ 2183069706
+ name 1_543_KEY_CH_UP
+ 2183069711
+ name 1_543_KEY_CH_DOWN
+ 2183069712
+ name 1_543_KEY_MUTE
+ 2183069713
+ name 1_543_KEY_VOL_DOWN
+ 2183069714
+ name 1_543_KEY_VOL_UP
+ 2183069716
+ name 1_543_KEY_MNSELECT
+ 2183069719
+ name 1_543_KEY_EXIT
+ 2183069720
+ name 1_543_KEY_AV
+ 2183069737
+ name 1_543_KEY_MENU
+ 2183069743
+ name 1_543_KEY_MUP
+ 2183069744
+ name 1_543_KEY_MDOWN
+ 2183069745
+ name 1_543_KEY_MLEFT
+ 2183069746
+ name 1_543_KEY_MRIGHT
+ 2183069747
+ name 1_544_KEY_0
+ 2183135232
+ name 1_544_KEY_1
+ 2183135233
+ name 1_544_KEY_2
+ 2183135234
+ name 1_544_KEY_3
+ 2183135235
+ name 1_544_KEY_4
+ 2183135236
+ name 1_544_KEY_5
+ 2183135237
+ name 1_544_KEY_6
+ 2183135238
+ name 1_544_KEY_7
+ 2183135239
+ name 1_544_KEY_8
+ 2183135240
+ name 1_544_KEY_9
+ 2183135241
+ name 1_544_KEY_POWER
+ 2183135242
+ name 1_544_KEY_CH_UP
+ 2183135247
+ name 1_544_KEY_CH_DOWN
+ 2183135248
+ name 1_544_KEY_MUTE
+ 2183135249
+ name 1_544_KEY_VOL_DOWN
+ 2183135250
+ name 1_544_KEY_VOL_UP
+ 2183135252
+ name 1_544_KEY_MNSELECT
+ 2183135255
+ name 1_544_KEY_EXIT
+ 2183135256
+ name 1_544_KEY_AV
+ 2183135273
+ name 1_544_KEY_MENU
+ 2183135279
+ name 1_544_KEY_MUP
+ 2183135280
+ name 1_544_KEY_MDOWN
+ 2183135281
+ name 1_544_KEY_MLEFT
+ 2183135282
+ name 1_544_KEY_MRIGHT
+ 2183135283
+ name 1_545_KEY_0
+ 2183200768
+ name 1_545_KEY_1
+ 2183200769
+ name 1_545_KEY_2
+ 2183200770
+ name 1_545_KEY_3
+ 2183200771
+ name 1_545_KEY_4
+ 2183200772
+ name 1_545_KEY_5
+ 2183200773
+ name 1_545_KEY_6
+ 2183200774
+ name 1_545_KEY_7
+ 2183200775
+ name 1_545_KEY_8
+ 2183200776
+ name 1_545_KEY_9
+ 2183200777
+ name 1_545_KEY_POWER
+ 2183200778
+ name 1_545_TWO_DIGITS
+ 2183200781
+ name 1_545_KEY_CH_UP
+ 2183200783
+ name 1_545_KEY_CH_DOWN
+ 2183200784
+ name 1_546_KEY_0
+ 2183266304
+ name 1_546_KEY_1
+ 2183266305
+ name 1_546_KEY_2
+ 2183266306
+ name 1_546_KEY_3
+ 2183266307
+ name 1_546_KEY_4
+ 2183266308
+ name 1_546_KEY_5
+ 2183266309
+ name 1_546_KEY_6
+ 2183266310
+ name 1_546_KEY_7
+ 2183266311
+ name 1_546_KEY_8
+ 2183266312
+ name 1_546_KEY_9
+ 2183266313
+ name 1_546_KEY_POWER
+ 2183266314
+ name 1_546_KEY_CH_UP
+ 2183266319
+ name 1_546_KEY_CH_DOWN
+ 2183266320
+ name 1_547_KEY_0
+ 2183331840
+ name 1_547_KEY_1
+ 2183331841
+ name 1_547_KEY_2
+ 2183331842
+ name 1_547_KEY_3
+ 2183331843
+ name 1_547_KEY_4
+ 2183331844
+ name 1_547_KEY_5
+ 2183331845
+ name 1_547_KEY_6
+ 2183331846
+ name 1_547_KEY_7
+ 2183331847
+ name 1_547_KEY_8
+ 2183331848
+ name 1_547_KEY_9
+ 2183331849
+ name 1_547_KEY_POWER
+ 2183331850
+ name 1_547_KEY_CH_UP
+ 2183331855
+ name 1_547_KEY_CH_DOWN
+ 2183331856
+ name 1_547_KEY_MUTE
+ 2183331857
+ name 1_547_KEY_MNSELECT
+ 2183331863
+ name 1_547_KEY_EXIT
+ 2183331864
+ name 1_547_KEY_AV
+ 2183331881
+ name 1_547_KEY_MENU
+ 2183331887
+ name 1_547_KEY_MUP
+ 2183331888
+ name 1_547_KEY_MDOWN
+ 2183331889
+ name 1_547_KEY_MLEFT
+ 2183331890
+ name 1_547_KEY_MRIGHT
+ 2183331891
+ name 1_548_KEY_0
+ 2183397376
+ name 1_548_KEY_1
+ 2183397377
+ name 1_548_KEY_2
+ 2183397378
+ name 1_548_KEY_3
+ 2183397379
+ name 1_548_KEY_4
+ 2183397380
+ name 1_548_KEY_5
+ 2183397381
+ name 1_548_KEY_6
+ 2183397382
+ name 1_548_KEY_7
+ 2183397383
+ name 1_548_KEY_8
+ 2183397384
+ name 1_548_KEY_9
+ 2183397385
+ name 1_548_KEY_POWER
+ 2183397386
+ name 1_548_TWO_DIGITS
+ 2183397389
+ name 1_548_KEY_CH_UP
+ 2183397391
+ name 1_548_KEY_CH_DOWN
+ 2183397392
+ name 1_548_CH_PREVIOUS
+ 2183397395
+ name 1_548_KEY_MNSELECT
+ 2183397399
+ name 1_548_KEY_MENU
+ 2183397423
+ name 1_548_KEY_MUP
+ 2183397424
+ name 1_548_KEY_MDOWN
+ 2183397425
+ name 1_548_KEY_MLEFT
+ 2183397426
+ name 1_548_KEY_MRIGHT
+ 2183397427
+ name 1_548_KEY_On
+ 2183397453
+ name 1_549_KEY_0
+ 2183462912
+ name 1_549_KEY_1
+ 2183462913
+ name 1_549_KEY_2
+ 2183462914
+ name 1_549_KEY_3
+ 2183462915
+ name 1_549_KEY_4
+ 2183462916
+ name 1_549_KEY_5
+ 2183462917
+ name 1_549_KEY_6
+ 2183462918
+ name 1_549_KEY_7
+ 2183462919
+ name 1_549_KEY_8
+ 2183462920
+ name 1_549_KEY_9
+ 2183462921
+ name 1_549_KEY_POWER
+ 2183462922
+ name 1_549_KEY_CH_UP
+ 2183462927
+ name 1_549_KEY_CH_DOWN
+ 2183462928
+ name 1_549_KEY_MUTE
+ 2183462929
+ name 1_549_KEY_MNSELECT
+ 2183462935
+ name 1_549_KEY_EXIT
+ 2183462936
+ name 1_549_KEY_AV
+ 2183462953
+ name 1_549_KEY_MENU
+ 2183462959
+ name 1_549_KEY_MLEFT
+ 2183462962
+ name 1_549_KEY_MRIGHT
+ 2183462963
+ name 1_550_KEY_0
+ 2183528448
+ name 1_550_KEY_1
+ 2183528449
+ name 1_550_KEY_2
+ 2183528450
+ name 1_550_KEY_3
+ 2183528451
+ name 1_550_KEY_4
+ 2183528452
+ name 1_550_KEY_5
+ 2183528453
+ name 1_550_KEY_6
+ 2183528454
+ name 1_550_KEY_7
+ 2183528455
+ name 1_550_KEY_8
+ 2183528456
+ name 1_550_KEY_9
+ 2183528457
+ name 1_550_KEY_POWER
+ 2183528458
+ name 1_550_KEY_CH_UP
+ 2183528463
+ name 1_550_KEY_CH_DOWN
+ 2183528464
+ name 1_550_KEY_MNSELECT
+ 2183528471
+ name 1_551_KEY_0
+ 2183593984
+ name 1_551_KEY_1
+ 2183593985
+ name 1_551_KEY_2
+ 2183593986
+ name 1_551_KEY_3
+ 2183593987
+ name 1_551_KEY_4
+ 2183593988
+ name 1_551_KEY_5
+ 2183593989
+ name 1_551_KEY_6
+ 2183593990
+ name 1_551_KEY_7
+ 2183593991
+ name 1_551_KEY_8
+ 2183593992
+ name 1_551_KEY_9
+ 2183593993
+ name 1_551_KEY_POWER
+ 2183593994
+ name 1_551_KEY_CH_UP
+ 2183593999
+ name 1_551_KEY_CH_DOWN
+ 2183594000
+ name 1_551_KEY_MUTE
+ 2183594001
+ name 1_551_KEY_VOL_DOWN
+ 2183594002
+ name 1_551_KEY_VOL_UP
+ 2183594004
+ name 1_551_KEY_MNSELECT
+ 2183594007
+ name 1_551_KEY_EXIT
+ 2183594008
+ name 1_551_KEY_AV
+ 2183594025
+ name 1_551_KEY_MENU
+ 2183594031
+ name 1_551_KEY_MLEFT
+ 2183594034
+ name 1_551_KEY_MRIGHT
+ 2183594035
+ name 1_552_KEY_0
+ 2183659520
+ name 1_552_KEY_1
+ 2183659521
+ name 1_552_KEY_2
+ 2183659522
+ name 1_552_KEY_3
+ 2183659523
+ name 1_552_KEY_4
+ 2183659524
+ name 1_552_KEY_5
+ 2183659525
+ name 1_552_KEY_6
+ 2183659526
+ name 1_552_KEY_7
+ 2183659527
+ name 1_552_KEY_8
+ 2183659528
+ name 1_552_KEY_9
+ 2183659529
+ name 1_552_KEY_POWER
+ 2183659530
+ name 1_552_KEY_CH_UP
+ 2183659535
+ name 1_552_KEY_CH_DOWN
+ 2183659536
+ name 1_552_CH_PREVIOUS
+ 2183659539
+ name 1_553_KEY_0
+ 2183725056
+ name 1_553_KEY_1
+ 2183725057
+ name 1_553_KEY_2
+ 2183725058
+ name 1_553_KEY_3
+ 2183725059
+ name 1_553_KEY_4
+ 2183725060
+ name 1_553_KEY_5
+ 2183725061
+ name 1_553_KEY_6
+ 2183725062
+ name 1_553_KEY_7
+ 2183725063
+ name 1_553_KEY_8
+ 2183725064
+ name 1_553_KEY_9
+ 2183725065
+ name 1_553_KEY_POWER
+ 2183725066
+ name 1_553_KEY_CH_UP
+ 2183725071
+ name 1_553_KEY_CH_DOWN
+ 2183725072
+ name 1_553_KEY_MUTE
+ 2183725073
+ name 1_553_KEY_VOL_DOWN
+ 2183725074
+ name 1_553_KEY_VOL_UP
+ 2183725076
+ name 1_553_KEY_MNSELECT
+ 2183725079
+ name 1_553_KEY_EXIT
+ 2183725080
+ name 1_553_KEY_AV
+ 2183725097
+ name 1_553_KEY_MENU
+ 2183725103
+ name 1_553_KEY_MUP
+ 2183725104
+ name 1_553_KEY_MDOWN
+ 2183725105
+ name 1_553_KEY_MLEFT
+ 2183725106
+ name 1_553_KEY_MRIGHT
+ 2183725107
+ name 1_554_KEY_0
+ 2183790592
+ name 1_554_KEY_1
+ 2183790593
+ name 1_554_KEY_2
+ 2183790594
+ name 1_554_KEY_3
+ 2183790595
+ name 1_554_KEY_4
+ 2183790596
+ name 1_554_KEY_5
+ 2183790597
+ name 1_554_KEY_6
+ 2183790598
+ name 1_554_KEY_7
+ 2183790599
+ name 1_554_KEY_8
+ 2183790600
+ name 1_554_KEY_9
+ 2183790601
+ name 1_554_KEY_POWER
+ 2183790602
+ name 1_554_KEY_CH_UP
+ 2183790607
+ name 1_554_KEY_CH_DOWN
+ 2183790608
+ name 1_555_KEY_0
+ 2183856128
+ name 1_555_KEY_1
+ 2183856129
+ name 1_555_KEY_2
+ 2183856130
+ name 1_555_KEY_3
+ 2183856131
+ name 1_555_KEY_4
+ 2183856132
+ name 1_555_KEY_5
+ 2183856133
+ name 1_555_KEY_6
+ 2183856134
+ name 1_555_KEY_7
+ 2183856135
+ name 1_555_KEY_8
+ 2183856136
+ name 1_555_KEY_9
+ 2183856137
+ name 1_555_KEY_POWER
+ 2183856138
+ name 1_555_KEY_CH_UP
+ 2183856143
+ name 1_555_KEY_CH_DOWN
+ 2183856144
+ name 1_555_KEY_MUTE
+ 2183856145
+ name 1_555_KEY_VOL_DOWN
+ 2183856146
+ name 1_555_KEY_VOL_UP
+ 2183856148
+ name 1_555_KEY_MNSELECT
+ 2183856151
+ name 1_555_KEY_EXIT
+ 2183856152
+ name 1_555_KEY_AV
+ 2183856169
+ name 1_555_KEY_MENU
+ 2183856175
+ name 1_555_KEY_MUP
+ 2183856176
+ name 1_555_KEY_MDOWN
+ 2183856177
+ name 1_555_KEY_MLEFT
+ 2183856178
+ name 1_555_KEY_MRIGHT
+ 2183856179
+ name 1_556_KEY_0
+ 2183921664
+ name 1_556_KEY_1
+ 2183921665
+ name 1_556_KEY_2
+ 2183921666
+ name 1_556_KEY_3
+ 2183921667
+ name 1_556_KEY_4
+ 2183921668
+ name 1_556_KEY_5
+ 2183921669
+ name 1_556_KEY_6
+ 2183921670
+ name 1_556_KEY_7
+ 2183921671
+ name 1_556_KEY_8
+ 2183921672
+ name 1_556_KEY_9
+ 2183921673
+ name 1_556_KEY_POWER
+ 2183921674
+ name 1_556_KEY_CH_UP
+ 2183921679
+ name 1_556_KEY_CH_DOWN
+ 2183921680
+ name 1_557_KEY_0
+ 2183987200
+ name 1_557_KEY_1
+ 2183987201
+ name 1_557_KEY_2
+ 2183987202
+ name 1_557_KEY_3
+ 2183987203
+ name 1_557_KEY_4
+ 2183987204
+ name 1_557_KEY_5
+ 2183987205
+ name 1_557_KEY_6
+ 2183987206
+ name 1_557_KEY_7
+ 2183987207
+ name 1_557_KEY_8
+ 2183987208
+ name 1_557_KEY_9
+ 2183987209
+ name 1_557_KEY_POWER
+ 2183987210
+ name 1_557_KEY_CH_UP
+ 2183987215
+ name 1_557_KEY_CH_DOWN
+ 2183987216
+ name 1_557_KEY_MENU
+ 2183987247
+ name 1_557_KEY_MUP
+ 2183987248
+ name 1_557_KEY_MDOWN
+ 2183987249
+ name 1_557_KEY_MLEFT
+ 2183987250
+ name 1_557_KEY_MRIGHT
+ 2183987251
+ name 1_558_KEY_0
+ 2184052736
+ name 1_558_KEY_1
+ 2184052737
+ name 1_558_KEY_2
+ 2184052738
+ name 1_558_KEY_3
+ 2184052739
+ name 1_558_KEY_4
+ 2184052740
+ name 1_558_KEY_5
+ 2184052741
+ name 1_558_KEY_6
+ 2184052742
+ name 1_558_KEY_7
+ 2184052743
+ name 1_558_KEY_8
+ 2184052744
+ name 1_558_KEY_9
+ 2184052745
+ name 1_558_KEY_POWER
+ 2184052746
+ name 1_558_KEY_CH_UP
+ 2184052751
+ name 1_558_KEY_CH_DOWN
+ 2184052752
+ name 1_558_KEY_MUTE
+ 2184052753
+ name 1_558_KEY_VOL_DOWN
+ 2184052754
+ name 1_558_KEY_VOL_UP
+ 2184052756
+ name 1_558_KEY_MNSELECT
+ 2184052759
+ name 1_558_KEY_EXIT
+ 2184052760
+ name 1_558_KEY_AV
+ 2184052777
+ name 1_558_KEY_MENU
+ 2184052783
+ name 1_558_KEY_MUP
+ 2184052784
+ name 1_558_KEY_MDOWN
+ 2184052785
+ name 1_558_KEY_MLEFT
+ 2184052786
+ name 1_558_KEY_MRIGHT
+ 2184052787
+ name 1_559_KEY_0
+ 2184118272
+ name 1_559_KEY_1
+ 2184118273
+ name 1_559_KEY_2
+ 2184118274
+ name 1_559_KEY_3
+ 2184118275
+ name 1_559_KEY_4
+ 2184118276
+ name 1_559_KEY_5
+ 2184118277
+ name 1_559_KEY_6
+ 2184118278
+ name 1_559_KEY_7
+ 2184118279
+ name 1_559_KEY_8
+ 2184118280
+ name 1_559_KEY_9
+ 2184118281
+ name 1_559_KEY_POWER
+ 2184118282
+ name 1_559_TWO_DIGITS
+ 2184118285
+ name 1_559_KEY_CH_UP
+ 2184118287
+ name 1_559_KEY_CH_DOWN
+ 2184118288
+ name 1_559_KEY_MNSELECT
+ 2184118295
+ name 1_559_KEY_MENU
+ 2184118319
+ name 1_559_KEY_MUP
+ 2184118320
+ name 1_559_KEY_MDOWN
+ 2184118321
+ name 1_559_KEY_MLEFT
+ 2184118322
+ name 1_559_KEY_MRIGHT
+ 2184118323
+ name 1_560_KEY_0
+ 2184183808
+ name 1_560_KEY_1
+ 2184183809
+ name 1_560_KEY_2
+ 2184183810
+ name 1_560_KEY_3
+ 2184183811
+ name 1_560_KEY_4
+ 2184183812
+ name 1_560_KEY_5
+ 2184183813
+ name 1_560_KEY_6
+ 2184183814
+ name 1_560_KEY_7
+ 2184183815
+ name 1_560_KEY_8
+ 2184183816
+ name 1_560_KEY_9
+ 2184183817
+ name 1_560_KEY_POWER
+ 2184183818
+ name 1_560_KEY_CH_UP
+ 2184183823
+ name 1_560_KEY_CH_DOWN
+ 2184183824
+ name 1_560_KEY_MNSELECT
+ 2184183831
+ name 1_560_KEY_GUIDE
+ 2184183835
+ name 1_560_KEY_BLUE
+ 2184183843
+ name 1_560_KEY_GREEN
+ 2184183844
+ name 1_560_KEY_RED
+ 2184183845
+ name 1_560_KEY_YELLOW
+ 2184183846
+ name 1_560_KEY_MENU
+ 2184183855
+ name 1_560_KEY_MUP
+ 2184183856
+ name 1_560_KEY_MDOWN
+ 2184183857
+ name 1_560_KEY_MLEFT
+ 2184183858
+ name 1_560_KEY_MRIGHT
+ 2184183859
+ name 1_560_KEY_On
+ 2184183885
+ name 1_561_KEY_0
+ 2184249344
+ name 1_561_KEY_1
+ 2184249345
+ name 1_561_KEY_2
+ 2184249346
+ name 1_561_KEY_3
+ 2184249347
+ name 1_561_KEY_4
+ 2184249348
+ name 1_561_KEY_5
+ 2184249349
+ name 1_561_KEY_6
+ 2184249350
+ name 1_561_KEY_7
+ 2184249351
+ name 1_561_KEY_8
+ 2184249352
+ name 1_561_KEY_9
+ 2184249353
+ name 1_561_KEY_POWER
+ 2184249354
+ name 1_561_KEY_CH_UP
+ 2184249359
+ name 1_561_KEY_CH_DOWN
+ 2184249360
+ name 1_561_CH_PREVIOUS
+ 2184249363
+ name 1_561_KEY_MNSELECT
+ 2184249367
+ name 1_561_KEY_BLUE
+ 2184249379
+ name 1_561_KEY_GREEN
+ 2184249380
+ name 1_561_KEY_RED
+ 2184249381
+ name 1_561_KEY_YELLOW
+ 2184249382
+ name 1_561_KEY_MENU
+ 2184249391
+ name 1_561_KEY_MUP
+ 2184249392
+ name 1_561_KEY_MDOWN
+ 2184249393
+ name 1_561_KEY_MLEFT
+ 2184249394
+ name 1_561_KEY_MRIGHT
+ 2184249395
+ name 1_561_KEY_On
+ 2184249421
+ name 1_562_KEY_0
+ 2184314880
+ name 1_562_KEY_1
+ 2184314881
+ name 1_562_KEY_2
+ 2184314882
+ name 1_562_KEY_3
+ 2184314883
+ name 1_562_KEY_4
+ 2184314884
+ name 1_562_KEY_5
+ 2184314885
+ name 1_562_KEY_6
+ 2184314886
+ name 1_562_KEY_7
+ 2184314887
+ name 1_562_KEY_8
+ 2184314888
+ name 1_562_KEY_9
+ 2184314889
+ name 1_562_KEY_POWER
+ 2184314890
+ name 1_562_KEY_CH_UP
+ 2184314895
+ name 1_562_KEY_CH_DOWN
+ 2184314896
+ name 1_562_KEY_MUP
+ 2184314928
+ name 1_562_KEY_MDOWN
+ 2184314929
+ name 1_563_KEY_0
+ 2184380416
+ name 1_563_KEY_1
+ 2184380417
+ name 1_563_KEY_2
+ 2184380418
+ name 1_563_KEY_3
+ 2184380419
+ name 1_563_KEY_4
+ 2184380420
+ name 1_563_KEY_5
+ 2184380421
+ name 1_563_KEY_6
+ 2184380422
+ name 1_563_KEY_7
+ 2184380423
+ name 1_563_KEY_8
+ 2184380424
+ name 1_563_KEY_9
+ 2184380425
+ name 1_563_KEY_POWER
+ 2184380426
+ name 1_563_KEY_CH_UP
+ 2184380431
+ name 1_563_KEY_CH_DOWN
+ 2184380432
+ name 1_563_CH_PREVIOUS
+ 2184380435
+ name 1_563_KEY_MNSELECT
+ 2184380439
+ name 1_563_KEY_GUIDE
+ 2184380443
+ name 1_563_KEY_MENU
+ 2184380463
+ name 1_563_KEY_MUP
+ 2184380464
+ name 1_563_KEY_MDOWN
+ 2184380465
+ name 1_563_KEY_MLEFT
+ 2184380466
+ name 1_563_KEY_MRIGHT
+ 2184380467
+ name 1_563_KEY_On
+ 2184380493
+ name 1_564_KEY_0
+ 2184445952
+ name 1_564_KEY_1
+ 2184445953
+ name 1_564_KEY_2
+ 2184445954
+ name 1_564_KEY_3
+ 2184445955
+ name 1_564_KEY_4
+ 2184445956
+ name 1_564_KEY_5
+ 2184445957
+ name 1_564_KEY_6
+ 2184445958
+ name 1_564_KEY_7
+ 2184445959
+ name 1_564_KEY_8
+ 2184445960
+ name 1_564_KEY_9
+ 2184445961
+ name 1_564_KEY_POWER
+ 2184445962
+ name 1_564_KEY_CH_UP
+ 2184445967
+ name 1_564_KEY_CH_DOWN
+ 2184445968
+ name 1_564_CH_PREVIOUS
+ 2184445971
+ name 1_564_KEY_MNSELECT
+ 2184445975
+ name 1_564_KEY_GUIDE
+ 2184445979
+ name 1_564_KEY_MENU
+ 2184445999
+ name 1_564_KEY_MUP
+ 2184446000
+ name 1_564_KEY_MDOWN
+ 2184446001
+ name 1_564_KEY_MLEFT
+ 2184446002
+ name 1_564_KEY_MRIGHT
+ 2184446003
+ name 1_565_KEY_0
+ 2184511488
+ name 1_565_KEY_1
+ 2184511489
+ name 1_565_KEY_2
+ 2184511490
+ name 1_565_KEY_3
+ 2184511491
+ name 1_565_KEY_4
+ 2184511492
+ name 1_565_KEY_5
+ 2184511493
+ name 1_565_KEY_6
+ 2184511494
+ name 1_565_KEY_7
+ 2184511495
+ name 1_565_KEY_8
+ 2184511496
+ name 1_565_KEY_9
+ 2184511497
+ name 1_565_KEY_POWER
+ 2184511498
+ name 1_565_KEY_CH_UP
+ 2184511503
+ name 1_565_KEY_CH_DOWN
+ 2184511504
+ name 1_565_KEY_MNSELECT
+ 2184511511
+ name 1_565_KEY_GUIDE
+ 2184511515
+ name 1_565_KEY_BLUE
+ 2184511523
+ name 1_565_KEY_GREEN
+ 2184511524
+ name 1_565_KEY_RED
+ 2184511525
+ name 1_565_KEY_YELLOW
+ 2184511526
+ name 1_565_KEY_MENU
+ 2184511535
+ name 1_565_KEY_MUP
+ 2184511536
+ name 1_565_KEY_MDOWN
+ 2184511537
+ name 1_565_KEY_MLEFT
+ 2184511538
+ name 1_565_KEY_MRIGHT
+ 2184511539
+ name 1_566_KEY_0
+ 2184577024
+ name 1_566_KEY_1
+ 2184577025
+ name 1_566_KEY_2
+ 2184577026
+ name 1_566_KEY_3
+ 2184577027
+ name 1_566_KEY_4
+ 2184577028
+ name 1_566_KEY_5
+ 2184577029
+ name 1_566_KEY_6
+ 2184577030
+ name 1_566_KEY_7
+ 2184577031
+ name 1_566_KEY_8
+ 2184577032
+ name 1_566_KEY_9
+ 2184577033
+ name 1_566_KEY_POWER
+ 2184577034
+ name 1_566_KEY_CH_UP
+ 2184577039
+ name 1_566_KEY_CH_DOWN
+ 2184577040
+ name 1_566_KEY_MUTE
+ 2184577041
+ name 1_566_KEY_VOL_DOWN
+ 2184577042
+ name 1_566_KEY_VOL_UP
+ 2184577044
+ name 1_566_KEY_MNSELECT
+ 2184577047
+ name 1_566_KEY_EXIT
+ 2184577048
+ name 1_566_KEY_AV
+ 2184577065
+ name 1_566_KEY_MENU
+ 2184577071
+ name 1_566_KEY_MUP
+ 2184577072
+ name 1_566_KEY_MDOWN
+ 2184577073
+ name 1_566_KEY_MLEFT
+ 2184577074
+ name 1_566_KEY_MRIGHT
+ 2184577075
+ name 1_567_KEY_0
+ 2184642560
+ name 1_567_KEY_1
+ 2184642561
+ name 1_567_KEY_2
+ 2184642562
+ name 1_567_KEY_3
+ 2184642563
+ name 1_567_KEY_4
+ 2184642564
+ name 1_567_KEY_5
+ 2184642565
+ name 1_567_KEY_6
+ 2184642566
+ name 1_567_KEY_7
+ 2184642567
+ name 1_567_KEY_8
+ 2184642568
+ name 1_567_KEY_9
+ 2184642569
+ name 1_567_KEY_POWER
+ 2184642570
+ name 1_567_KEY_CH_UP
+ 2184642575
+ name 1_567_KEY_CH_DOWN
+ 2184642576
+ name 1_567_KEY_MUTE
+ 2184642577
+ name 1_567_KEY_MNSELECT
+ 2184642583
+ name 1_567_KEY_EXIT
+ 2184642584
+ name 1_567_KEY_MENU
+ 2184642607
+ name 1_567_KEY_MLEFT
+ 2184642610
+ name 1_567_KEY_MRIGHT
+ 2184642611
+ name 1_568_KEY_0
+ 2184708096
+ name 1_568_KEY_1
+ 2184708097
+ name 1_568_KEY_2
+ 2184708098
+ name 1_568_KEY_3
+ 2184708099
+ name 1_568_KEY_4
+ 2184708100
+ name 1_568_KEY_5
+ 2184708101
+ name 1_568_KEY_6
+ 2184708102
+ name 1_568_KEY_7
+ 2184708103
+ name 1_568_KEY_8
+ 2184708104
+ name 1_568_KEY_9
+ 2184708105
+ name 1_568_KEY_POWER
+ 2184708106
+ name 1_568_KEY_CH_UP
+ 2184708111
+ name 1_568_KEY_CH_DOWN
+ 2184708112
+ name 1_568_KEY_MUTE
+ 2184708113
+ name 1_568_KEY_MNSELECT
+ 2184708119
+ name 1_568_KEY_EXIT
+ 2184708120
+ name 1_568_KEY_MENU
+ 2184708143
+ name 1_568_KEY_MUP
+ 2184708144
+ name 1_568_KEY_MDOWN
+ 2184708145
+ name 1_568_KEY_MLEFT
+ 2184708146
+ name 1_568_KEY_MRIGHT
+ 2184708147
+ name 1_569_KEY_0
+ 2184773632
+ name 1_569_KEY_1
+ 2184773633
+ name 1_569_KEY_2
+ 2184773634
+ name 1_569_KEY_3
+ 2184773635
+ name 1_569_KEY_4
+ 2184773636
+ name 1_569_KEY_5
+ 2184773637
+ name 1_569_KEY_6
+ 2184773638
+ name 1_569_KEY_7
+ 2184773639
+ name 1_569_KEY_8
+ 2184773640
+ name 1_569_KEY_9
+ 2184773641
+ name 1_569_KEY_POWER
+ 2184773642
+ name 1_569_KEY_CH_UP
+ 2184773647
+ name 1_569_KEY_CH_DOWN
+ 2184773648
+ name 1_569_KEY_MUTE
+ 2184773649
+ name 1_569_KEY_MNSELECT
+ 2184773655
+ name 1_569_KEY_AV
+ 2184773673
+ name 1_570_KEY_0
+ 2184839168
+ name 1_570_KEY_1
+ 2184839169
+ name 1_570_KEY_2
+ 2184839170
+ name 1_570_KEY_3
+ 2184839171
+ name 1_570_KEY_4
+ 2184839172
+ name 1_570_KEY_5
+ 2184839173
+ name 1_570_KEY_6
+ 2184839174
+ name 1_570_KEY_7
+ 2184839175
+ name 1_570_KEY_8
+ 2184839176
+ name 1_570_KEY_9
+ 2184839177
+ name 1_570_KEY_POWER
+ 2184839178
+ name 1_570_KEY_CH_UP
+ 2184839183
+ name 1_570_KEY_CH_DOWN
+ 2184839184
+ name 1_570_KEY_MUTE
+ 2184839185
+ name 1_570_KEY_VOL_DOWN
+ 2184839186
+ name 1_570_KEY_VOL_UP
+ 2184839188
+ name 1_570_KEY_MNSELECT
+ 2184839191
+ name 1_570_KEY_AV
+ 2184839209
+ name 1_571_KEY_0
+ 2184904704
+ name 1_571_KEY_1
+ 2184904705
+ name 1_571_KEY_2
+ 2184904706
+ name 1_571_KEY_3
+ 2184904707
+ name 1_571_KEY_4
+ 2184904708
+ name 1_571_KEY_5
+ 2184904709
+ name 1_571_KEY_6
+ 2184904710
+ name 1_571_KEY_7
+ 2184904711
+ name 1_571_KEY_8
+ 2184904712
+ name 1_571_KEY_9
+ 2184904713
+ name 1_571_KEY_POWER
+ 2184904714
+ name 1_571_KEY_CH_UP
+ 2184904719
+ name 1_571_KEY_CH_DOWN
+ 2184904720
+ name 1_571_KEY_MUTE
+ 2184904721
+ name 1_571_KEY_MNSELECT
+ 2184904727
+ name 1_571_KEY_EXIT
+ 2184904728
+ name 1_571_KEY_AV
+ 2184904745
+ name 1_571_KEY_MENU
+ 2184904751
+ name 1_571_KEY_MUP
+ 2184904752
+ name 1_571_KEY_MDOWN
+ 2184904753
+ name 1_571_KEY_MLEFT
+ 2184904754
+ name 1_571_KEY_MRIGHT
+ 2184904755
+ name 1_572_KEY_0
+ 2184970240
+ name 1_572_KEY_1
+ 2184970241
+ name 1_572_KEY_2
+ 2184970242
+ name 1_572_KEY_3
+ 2184970243
+ name 1_572_KEY_4
+ 2184970244
+ name 1_572_KEY_5
+ 2184970245
+ name 1_572_KEY_6
+ 2184970246
+ name 1_572_KEY_7
+ 2184970247
+ name 1_572_KEY_8
+ 2184970248
+ name 1_572_KEY_9
+ 2184970249
+ name 1_572_KEY_POWER
+ 2184970250
+ name 1_572_KEY_CH_UP
+ 2184970255
+ name 1_572_KEY_CH_DOWN
+ 2184970256
+ name 1_572_KEY_MUTE
+ 2184970257
+ name 1_572_KEY_MNSELECT
+ 2184970263
+ name 1_572_KEY_EXIT
+ 2184970264
+ name 1_572_KEY_AV
+ 2184970281
+ name 1_572_KEY_MENU
+ 2184970287
+ name 1_572_KEY_MUP
+ 2184970288
+ name 1_572_KEY_MDOWN
+ 2184970289
+ name 1_572_KEY_MLEFT
+ 2184970290
+ name 1_572_KEY_MRIGHT
+ 2184970291
+ name 1_573_KEY_0
+ 2185035776
+ name 1_573_KEY_1
+ 2185035777
+ name 1_573_KEY_2
+ 2185035778
+ name 1_573_KEY_3
+ 2185035779
+ name 1_573_KEY_4
+ 2185035780
+ name 1_573_KEY_5
+ 2185035781
+ name 1_573_KEY_6
+ 2185035782
+ name 1_573_KEY_7
+ 2185035783
+ name 1_573_KEY_8
+ 2185035784
+ name 1_573_KEY_9
+ 2185035785
+ name 1_573_KEY_POWER
+ 2185035786
+ name 1_573_KEY_CH_UP
+ 2185035791
+ name 1_573_KEY_CH_DOWN
+ 2185035792
+ name 1_573_KEY_MUTE
+ 2185035793
+ name 1_573_KEY_MNSELECT
+ 2185035799
+ name 1_573_KEY_EXIT
+ 2185035800
+ name 1_573_KEY_AV
+ 2185035817
+ name 1_573_KEY_MENU
+ 2185035823
+ name 1_573_KEY_MUP
+ 2185035824
+ name 1_573_KEY_MDOWN
+ 2185035825
+ name 1_573_KEY_MLEFT
+ 2185035826
+ name 1_573_KEY_MRIGHT
+ 2185035827
+ name 1_574_KEY_0
+ 2185101312
+ name 1_574_KEY_1
+ 2185101313
+ name 1_574_KEY_2
+ 2185101314
+ name 1_574_KEY_3
+ 2185101315
+ name 1_574_KEY_4
+ 2185101316
+ name 1_574_KEY_5
+ 2185101317
+ name 1_574_KEY_6
+ 2185101318
+ name 1_574_KEY_7
+ 2185101319
+ name 1_574_KEY_8
+ 2185101320
+ name 1_574_KEY_9
+ 2185101321
+ name 1_574_KEY_POWER
+ 2185101322
+ name 1_574_KEY_CH_UP
+ 2185101327
+ name 1_574_KEY_CH_DOWN
+ 2185101328
+ name 1_574_KEY_MUTE
+ 2185101329
+ name 1_574_KEY_VOL_DOWN
+ 2185101330
+ name 1_574_KEY_VOL_UP
+ 2185101332
+ name 1_574_KEY_MNSELECT
+ 2185101335
+ name 1_574_KEY_EXIT
+ 2185101336
+ name 1_574_KEY_AV
+ 2185101353
+ name 1_574_KEY_MENU
+ 2185101359
+ name 1_574_KEY_MUP
+ 2185101360
+ name 1_574_KEY_MDOWN
+ 2185101361
+ name 1_574_KEY_MLEFT
+ 2185101362
+ name 1_574_KEY_MRIGHT
+ 2185101363
+ name 1_575_KEY_0
+ 2185166848
+ name 1_575_KEY_1
+ 2185166849
+ name 1_575_KEY_2
+ 2185166850
+ name 1_575_KEY_3
+ 2185166851
+ name 1_575_KEY_4
+ 2185166852
+ name 1_575_KEY_5
+ 2185166853
+ name 1_575_KEY_6
+ 2185166854
+ name 1_575_KEY_7
+ 2185166855
+ name 1_575_KEY_8
+ 2185166856
+ name 1_575_KEY_9
+ 2185166857
+ name 1_575_KEY_POWER
+ 2185166858
+ name 1_575_KEY_CH_UP
+ 2185166863
+ name 1_575_KEY_CH_DOWN
+ 2185166864
+ name 1_575_KEY_AV
+ 2185166889
+ name 1_576_KEY_0
+ 2185232384
+ name 1_576_KEY_1
+ 2185232385
+ name 1_576_KEY_2
+ 2185232386
+ name 1_576_KEY_3
+ 2185232387
+ name 1_576_KEY_4
+ 2185232388
+ name 1_576_KEY_5
+ 2185232389
+ name 1_576_KEY_6
+ 2185232390
+ name 1_576_KEY_7
+ 2185232391
+ name 1_576_KEY_8
+ 2185232392
+ name 1_576_KEY_9
+ 2185232393
+ name 1_576_KEY_POWER
+ 2185232394
+ name 1_576_KEY_CH_UP
+ 2185232399
+ name 1_576_KEY_CH_DOWN
+ 2185232400
+ name 1_576_KEY_AV
+ 2185232425
+ name 1_577_KEY_0
+ 2185297920
+ name 1_577_KEY_1
+ 2185297921
+ name 1_577_KEY_2
+ 2185297922
+ name 1_577_KEY_3
+ 2185297923
+ name 1_577_KEY_4
+ 2185297924
+ name 1_577_KEY_5
+ 2185297925
+ name 1_577_KEY_6
+ 2185297926
+ name 1_577_KEY_7
+ 2185297927
+ name 1_577_KEY_8
+ 2185297928
+ name 1_577_KEY_9
+ 2185297929
+ name 1_577_KEY_POWER
+ 2185297930
+ name 1_577_KEY_CH_UP
+ 2185297935
+ name 1_577_KEY_CH_DOWN
+ 2185297936
+ name 1_577_KEY_MUTE
+ 2185297937
+ name 1_577_KEY_VOL_DOWN
+ 2185297938
+ name 1_577_KEY_VOL_UP
+ 2185297940
+ name 1_577_KEY_MNSELECT
+ 2185297943
+ name 1_577_KEY_EXIT
+ 2185297944
+ name 1_577_KEY_MLEFT
+ 2185297970
+ name 1_577_KEY_MRIGHT
+ 2185297971
+ name 1_578_KEY_0
+ 2185363456
+ name 1_578_KEY_1
+ 2185363457
+ name 1_578_KEY_2
+ 2185363458
+ name 1_578_KEY_3
+ 2185363459
+ name 1_578_KEY_4
+ 2185363460
+ name 1_578_KEY_5
+ 2185363461
+ name 1_578_KEY_6
+ 2185363462
+ name 1_578_KEY_7
+ 2185363463
+ name 1_578_KEY_8
+ 2185363464
+ name 1_578_KEY_9
+ 2185363465
+ name 1_578_KEY_POWER
+ 2185363466
+ name 1_578_KEY_CH_UP
+ 2185363471
+ name 1_578_KEY_CH_DOWN
+ 2185363472
+ name 1_578_KEY_MUTE
+ 2185363473
+ name 1_578_KEY_MNSELECT
+ 2185363479
+ name 1_578_KEY_MLEFT
+ 2185363506
+ name 1_578_KEY_MRIGHT
+ 2185363507
+ name 1_579_KEY_0
+ 2185428992
+ name 1_579_KEY_1
+ 2185428993
+ name 1_579_KEY_2
+ 2185428994
+ name 1_579_KEY_3
+ 2185428995
+ name 1_579_KEY_4
+ 2185428996
+ name 1_579_KEY_5
+ 2185428997
+ name 1_579_KEY_6
+ 2185428998
+ name 1_579_KEY_7
+ 2185428999
+ name 1_579_KEY_8
+ 2185429000
+ name 1_579_KEY_9
+ 2185429001
+ name 1_579_KEY_POWER
+ 2185429002
+ name 1_579_KEY_CH_UP
+ 2185429007
+ name 1_579_KEY_CH_DOWN
+ 2185429008
+ name 1_579_KEY_MUTE
+ 2185429009
+ name 1_579_KEY_MNSELECT
+ 2185429015
+ name 1_579_KEY_AV
+ 2185429033
+ name 1_579_KEY_MLEFT
+ 2185429042
+ name 1_579_KEY_MRIGHT
+ 2185429043
+ name 1_580_KEY_0
+ 2185494528
+ name 1_580_KEY_1
+ 2185494529
+ name 1_580_KEY_2
+ 2185494530
+ name 1_580_KEY_3
+ 2185494531
+ name 1_580_KEY_4
+ 2185494532
+ name 1_580_KEY_5
+ 2185494533
+ name 1_580_KEY_6
+ 2185494534
+ name 1_580_KEY_7
+ 2185494535
+ name 1_580_KEY_8
+ 2185494536
+ name 1_580_KEY_9
+ 2185494537
+ name 1_580_KEY_POWER
+ 2185494538
+ name 1_580_KEY_CH_UP
+ 2185494543
+ name 1_580_KEY_CH_DOWN
+ 2185494544
+ name 1_580_KEY_MUTE
+ 2185494545
+ name 1_580_KEY_MNSELECT
+ 2185494551
+ name 1_580_KEY_MLEFT
+ 2185494578
+ name 1_580_KEY_MRIGHT
+ 2185494579
+ name 1_581_KEY_0
+ 2185560064
+ name 1_581_KEY_1
+ 2185560065
+ name 1_581_KEY_2
+ 2185560066
+ name 1_581_KEY_3
+ 2185560067
+ name 1_581_KEY_4
+ 2185560068
+ name 1_581_KEY_5
+ 2185560069
+ name 1_581_KEY_6
+ 2185560070
+ name 1_581_KEY_7
+ 2185560071
+ name 1_581_KEY_8
+ 2185560072
+ name 1_581_KEY_9
+ 2185560073
+ name 1_581_KEY_POWER
+ 2185560074
+ name 1_581_KEY_CH_UP
+ 2185560079
+ name 1_581_KEY_CH_DOWN
+ 2185560080
+ name 1_581_KEY_AV
+ 2185560105
+ name 1_581_KEY_MLEFT
+ 2185560114
+ name 1_581_KEY_MRIGHT
+ 2185560115
+ name 1_582_KEY_0
+ 2185625600
+ name 1_582_KEY_1
+ 2185625601
+ name 1_582_KEY_2
+ 2185625602
+ name 1_582_KEY_3
+ 2185625603
+ name 1_582_KEY_4
+ 2185625604
+ name 1_582_KEY_5
+ 2185625605
+ name 1_582_KEY_6
+ 2185625606
+ name 1_582_KEY_7
+ 2185625607
+ name 1_582_KEY_8
+ 2185625608
+ name 1_582_KEY_9
+ 2185625609
+ name 1_582_KEY_POWER
+ 2185625610
+ name 1_582_KEY_CH_UP
+ 2185625615
+ name 1_582_KEY_CH_DOWN
+ 2185625616
+ name 1_582_KEY_AV
+ 2185625641
+ name 1_583_KEY_0
+ 2185691136
+ name 1_583_KEY_1
+ 2185691137
+ name 1_583_KEY_2
+ 2185691138
+ name 1_583_KEY_3
+ 2185691139
+ name 1_583_KEY_4
+ 2185691140
+ name 1_583_KEY_5
+ 2185691141
+ name 1_583_KEY_6
+ 2185691142
+ name 1_583_KEY_7
+ 2185691143
+ name 1_583_KEY_8
+ 2185691144
+ name 1_583_KEY_9
+ 2185691145
+ name 1_583_KEY_POWER
+ 2185691146
+ name 1_583_KEY_CH_UP
+ 2185691151
+ name 1_583_KEY_CH_DOWN
+ 2185691152
+ name 1_583_KEY_MUTE
+ 2185691153
+ name 1_583_KEY_VOL_DOWN
+ 2185691154
+ name 1_583_KEY_VOL_UP
+ 2185691156
+ name 1_583_KEY_MNSELECT
+ 2185691159
+ name 1_583_KEY_AV
+ 2185691177
+ name 1_583_KEY_MUP
+ 2185691184
+ name 1_583_KEY_MDOWN
+ 2185691185
+ name 1_583_KEY_MLEFT
+ 2185691186
+ name 1_583_KEY_MRIGHT
+ 2185691187
+ name 1_584_KEY_0
+ 2185756672
+ name 1_584_KEY_1
+ 2185756673
+ name 1_584_KEY_2
+ 2185756674
+ name 1_584_KEY_3
+ 2185756675
+ name 1_584_KEY_4
+ 2185756676
+ name 1_584_KEY_5
+ 2185756677
+ name 1_584_KEY_6
+ 2185756678
+ name 1_584_KEY_7
+ 2185756679
+ name 1_584_KEY_8
+ 2185756680
+ name 1_584_KEY_9
+ 2185756681
+ name 1_584_KEY_POWER
+ 2185756682
+ name 1_584_KEY_CH_UP
+ 2185756687
+ name 1_584_KEY_CH_DOWN
+ 2185756688
+ name 1_584_KEY_MUTE
+ 2185756689
+ name 1_584_KEY_VOL_DOWN
+ 2185756690
+ name 1_584_KEY_VOL_UP
+ 2185756692
+ name 1_584_KEY_MNSELECT
+ 2185756695
+ name 1_584_KEY_MENU
+ 2185756719
+ name 1_584_KEY_MUP
+ 2185756720
+ name 1_584_KEY_MDOWN
+ 2185756721
+ name 1_584_KEY_MLEFT
+ 2185756722
+ name 1_584_KEY_MRIGHT
+ 2185756723
+ name 1_585_KEY_0
+ 2185822208
+ name 1_585_KEY_1
+ 2185822209
+ name 1_585_KEY_2
+ 2185822210
+ name 1_585_KEY_3
+ 2185822211
+ name 1_585_KEY_4
+ 2185822212
+ name 1_585_KEY_5
+ 2185822213
+ name 1_585_KEY_6
+ 2185822214
+ name 1_585_KEY_7
+ 2185822215
+ name 1_585_KEY_8
+ 2185822216
+ name 1_585_KEY_9
+ 2185822217
+ name 1_585_KEY_POWER
+ 2185822218
+ name 1_585_KEY_CH_UP
+ 2185822223
+ name 1_585_KEY_CH_DOWN
+ 2185822224
+ name 1_585_KEY_MUTE
+ 2185822225
+ name 1_585_KEY_AV
+ 2185822249
+ name 1_586_KEY_0
+ 2185887744
+ name 1_586_KEY_1
+ 2185887745
+ name 1_586_KEY_2
+ 2185887746
+ name 1_586_KEY_3
+ 2185887747
+ name 1_586_KEY_4
+ 2185887748
+ name 1_586_KEY_5
+ 2185887749
+ name 1_586_KEY_6
+ 2185887750
+ name 1_586_KEY_7
+ 2185887751
+ name 1_586_KEY_8
+ 2185887752
+ name 1_586_KEY_9
+ 2185887753
+ name 1_586_KEY_POWER
+ 2185887754
+ name 1_586_KEY_CH_UP
+ 2185887759
+ name 1_586_KEY_CH_DOWN
+ 2185887760
+ name 1_586_KEY_MUTE
+ 2185887761
+ name 1_586_KEY_MNSELECT
+ 2185887767
+ name 1_586_KEY_MUP
+ 2185887792
+ name 1_586_KEY_MDOWN
+ 2185887793
+ name 1_587_KEY_0
+ 2185953280
+ name 1_587_KEY_1
+ 2185953281
+ name 1_587_KEY_2
+ 2185953282
+ name 1_587_KEY_3
+ 2185953283
+ name 1_587_KEY_4
+ 2185953284
+ name 1_587_KEY_5
+ 2185953285
+ name 1_587_KEY_6
+ 2185953286
+ name 1_587_KEY_7
+ 2185953287
+ name 1_587_KEY_8
+ 2185953288
+ name 1_587_KEY_9
+ 2185953289
+ name 1_587_KEY_POWER
+ 2185953290
+ name 1_587_KEY_CH_UP
+ 2185953295
+ name 1_587_KEY_CH_DOWN
+ 2185953296
+ name 1_587_KEY_MUTE
+ 2185953297
+ name 1_587_KEY_VOL_DOWN
+ 2185953298
+ name 1_587_KEY_VOL_UP
+ 2185953300
+ name 1_587_KEY_MNSELECT
+ 2185953303
+ name 1_587_KEY_EXIT
+ 2185953304
+ name 1_587_KEY_MENU
+ 2185953327
+ name 1_587_KEY_MUP
+ 2185953328
+ name 1_587_KEY_MDOWN
+ 2185953329
+ name 1_587_KEY_MLEFT
+ 2185953330
+ name 1_587_KEY_MRIGHT
+ 2185953331
+ name 1_588_KEY_0
+ 2186018816
+ name 1_588_KEY_1
+ 2186018817
+ name 1_588_KEY_2
+ 2186018818
+ name 1_588_KEY_3
+ 2186018819
+ name 1_588_KEY_4
+ 2186018820
+ name 1_588_KEY_5
+ 2186018821
+ name 1_588_KEY_6
+ 2186018822
+ name 1_588_KEY_7
+ 2186018823
+ name 1_588_KEY_8
+ 2186018824
+ name 1_588_KEY_9
+ 2186018825
+ name 1_588_KEY_POWER
+ 2186018826
+ name 1_588_KEY_CH_UP
+ 2186018831
+ name 1_588_KEY_CH_DOWN
+ 2186018832
+ name 1_588_KEY_MUTE
+ 2186018833
+ name 1_588_KEY_VOL_DOWN
+ 2186018834
+ name 1_588_KEY_VOL_UP
+ 2186018836
+ name 1_588_KEY_MNSELECT
+ 2186018839
+ name 1_588_KEY_EXIT
+ 2186018840
+ name 1_588_KEY_AV
+ 2186018857
+ name 1_588_KEY_MENU
+ 2186018863
+ name 1_588_KEY_MUP
+ 2186018864
+ name 1_588_KEY_MDOWN
+ 2186018865
+ name 1_588_KEY_MLEFT
+ 2186018866
+ name 1_588_KEY_MRIGHT
+ 2186018867
+ name 1_589_KEY_0
+ 2186084352
+ name 1_589_KEY_1
+ 2186084353
+ name 1_589_KEY_2
+ 2186084354
+ name 1_589_KEY_3
+ 2186084355
+ name 1_589_KEY_4
+ 2186084356
+ name 1_589_KEY_5
+ 2186084357
+ name 1_589_KEY_6
+ 2186084358
+ name 1_589_KEY_7
+ 2186084359
+ name 1_589_KEY_8
+ 2186084360
+ name 1_589_KEY_9
+ 2186084361
+ name 1_589_KEY_POWER
+ 2186084362
+ name 1_589_KEY_CH_UP
+ 2186084367
+ name 1_589_KEY_CH_DOWN
+ 2186084368
+ name 1_589_KEY_MUTE
+ 2186084369
+ name 1_589_KEY_VOL_DOWN
+ 2186084370
+ name 1_589_KEY_VOL_UP
+ 2186084372
+ name 1_589_KEY_MNSELECT
+ 2186084375
+ name 1_589_KEY_EXIT
+ 2186084376
+ name 1_589_KEY_AV
+ 2186084393
+ name 1_589_KEY_MENU
+ 2186084399
+ name 1_589_KEY_MUP
+ 2186084400
+ name 1_589_KEY_MDOWN
+ 2186084401
+ name 1_589_KEY_MLEFT
+ 2186084402
+ name 1_589_KEY_MRIGHT
+ 2186084403
+ name 1_590_KEY_0
+ 2186149888
+ name 1_590_KEY_1
+ 2186149889
+ name 1_590_KEY_2
+ 2186149890
+ name 1_590_KEY_3
+ 2186149891
+ name 1_590_KEY_4
+ 2186149892
+ name 1_590_KEY_5
+ 2186149893
+ name 1_590_KEY_6
+ 2186149894
+ name 1_590_KEY_7
+ 2186149895
+ name 1_590_KEY_8
+ 2186149896
+ name 1_590_KEY_9
+ 2186149897
+ name 1_590_KEY_POWER
+ 2186149898
+ name 1_590_KEY_CH_UP
+ 2186149903
+ name 1_590_KEY_CH_DOWN
+ 2186149904
+ name 1_590_KEY_MUTE
+ 2186149905
+ name 1_590_KEY_VOL_DOWN
+ 2186149906
+ name 1_590_KEY_VOL_UP
+ 2186149908
+ name 1_590_KEY_MNSELECT
+ 2186149911
+ name 1_590_KEY_EXIT
+ 2186149912
+ name 1_590_KEY_AV
+ 2186149929
+ name 1_590_KEY_MENU
+ 2186149935
+ name 1_590_KEY_MUP
+ 2186149936
+ name 1_590_KEY_MDOWN
+ 2186149937
+ name 1_590_KEY_MLEFT
+ 2186149938
+ name 1_590_KEY_MRIGHT
+ 2186149939
+ name 1_591_KEY_0
+ 2186215424
+ name 1_591_KEY_1
+ 2186215425
+ name 1_591_KEY_2
+ 2186215426
+ name 1_591_KEY_3
+ 2186215427
+ name 1_591_KEY_4
+ 2186215428
+ name 1_591_KEY_5
+ 2186215429
+ name 1_591_KEY_6
+ 2186215430
+ name 1_591_KEY_7
+ 2186215431
+ name 1_591_KEY_8
+ 2186215432
+ name 1_591_KEY_9
+ 2186215433
+ name 1_591_KEY_POWER
+ 2186215434
+ name 1_591_KEY_CH_UP
+ 2186215439
+ name 1_591_KEY_CH_DOWN
+ 2186215440
+ name 1_591_KEY_MUTE
+ 2186215441
+ name 1_591_KEY_VOL_DOWN
+ 2186215442
+ name 1_591_KEY_VOL_UP
+ 2186215444
+ name 1_591_KEY_MNSELECT
+ 2186215447
+ name 1_591_KEY_EXIT
+ 2186215448
+ name 1_591_KEY_AV
+ 2186215465
+ name 1_591_KEY_MENU
+ 2186215471
+ name 1_591_KEY_MUP
+ 2186215472
+ name 1_591_KEY_MDOWN
+ 2186215473
+ name 1_591_KEY_MLEFT
+ 2186215474
+ name 1_591_KEY_MRIGHT
+ 2186215475
+ name 1_592_KEY_0
+ 2186280960
+ name 1_592_KEY_1
+ 2186280961
+ name 1_592_KEY_2
+ 2186280962
+ name 1_592_KEY_3
+ 2186280963
+ name 1_592_KEY_4
+ 2186280964
+ name 1_592_KEY_5
+ 2186280965
+ name 1_592_KEY_6
+ 2186280966
+ name 1_592_KEY_7
+ 2186280967
+ name 1_592_KEY_8
+ 2186280968
+ name 1_592_KEY_9
+ 2186280969
+ name 1_592_KEY_POWER
+ 2186280970
+ name 1_592_KEY_CH_UP
+ 2186280975
+ name 1_592_KEY_CH_DOWN
+ 2186280976
+ name 1_592_KEY_MUTE
+ 2186280977
+ name 1_592_KEY_VOL_DOWN
+ 2186280978
+ name 1_592_KEY_VOL_UP
+ 2186280980
+ name 1_592_KEY_MNSELECT
+ 2186280983
+ name 1_592_KEY_EXIT
+ 2186280984
+ name 1_592_KEY_AV
+ 2186281001
+ name 1_592_KEY_MENU
+ 2186281007
+ name 1_592_KEY_MUP
+ 2186281008
+ name 1_592_KEY_MDOWN
+ 2186281009
+ name 1_592_KEY_MLEFT
+ 2186281010
+ name 1_592_KEY_MRIGHT
+ 2186281011
+ name 1_593_KEY_0
+ 2186346496
+ name 1_593_KEY_1
+ 2186346497
+ name 1_593_KEY_2
+ 2186346498
+ name 1_593_KEY_3
+ 2186346499
+ name 1_593_KEY_4
+ 2186346500
+ name 1_593_KEY_5
+ 2186346501
+ name 1_593_KEY_6
+ 2186346502
+ name 1_593_KEY_7
+ 2186346503
+ name 1_593_KEY_8
+ 2186346504
+ name 1_593_KEY_9
+ 2186346505
+ name 1_593_KEY_POWER
+ 2186346506
+ name 1_593_KEY_CH_UP
+ 2186346511
+ name 1_593_KEY_CH_DOWN
+ 2186346512
+ name 1_593_KEY_MUTE
+ 2186346513
+ name 1_593_KEY_VOL_DOWN
+ 2186346514
+ name 1_593_KEY_VOL_UP
+ 2186346516
+ name 1_593_KEY_MNSELECT
+ 2186346519
+ name 1_593_KEY_EXIT
+ 2186346520
+ name 1_593_KEY_AV
+ 2186346537
+ name 1_593_KEY_MENU
+ 2186346543
+ name 1_593_KEY_MUP
+ 2186346544
+ name 1_593_KEY_MDOWN
+ 2186346545
+ name 1_593_KEY_MLEFT
+ 2186346546
+ name 1_593_KEY_MRIGHT
+ 2186346547
+ name 1_594_KEY_0
+ 2186412032
+ name 1_594_KEY_1
+ 2186412033
+ name 1_594_KEY_2
+ 2186412034
+ name 1_594_KEY_3
+ 2186412035
+ name 1_594_KEY_4
+ 2186412036
+ name 1_594_KEY_5
+ 2186412037
+ name 1_594_KEY_6
+ 2186412038
+ name 1_594_KEY_7
+ 2186412039
+ name 1_594_KEY_8
+ 2186412040
+ name 1_594_KEY_9
+ 2186412041
+ name 1_594_KEY_POWER
+ 2186412042
+ name 1_594_KEY_CH_UP
+ 2186412047
+ name 1_594_KEY_CH_DOWN
+ 2186412048
+ name 1_594_KEY_MUTE
+ 2186412049
+ name 1_594_KEY_MNSELECT
+ 2186412055
+ name 1_594_KEY_AV
+ 2186412073
+ name 1_595_KEY_0
+ 2186477568
+ name 1_595_KEY_1
+ 2186477569
+ name 1_595_KEY_2
+ 2186477570
+ name 1_595_KEY_3
+ 2186477571
+ name 1_595_KEY_4
+ 2186477572
+ name 1_595_KEY_5
+ 2186477573
+ name 1_595_KEY_6
+ 2186477574
+ name 1_595_KEY_7
+ 2186477575
+ name 1_595_KEY_8
+ 2186477576
+ name 1_595_KEY_9
+ 2186477577
+ name 1_595_KEY_POWER
+ 2186477578
+ name 1_595_KEY_CH_UP
+ 2186477583
+ name 1_595_KEY_CH_DOWN
+ 2186477584
+ name 1_595_KEY_MUTE
+ 2186477585
+ name 1_595_KEY_VOL_DOWN
+ 2186477586
+ name 1_595_KEY_VOL_UP
+ 2186477588
+ name 1_595_KEY_MNSELECT
+ 2186477591
+ name 1_595_KEY_EXIT
+ 2186477592
+ name 1_595_KEY_AV
+ 2186477609
+ name 1_595_KEY_MENU
+ 2186477615
+ name 1_595_KEY_MUP
+ 2186477616
+ name 1_595_KEY_MDOWN
+ 2186477617
+ name 1_595_KEY_MLEFT
+ 2186477618
+ name 1_595_KEY_MRIGHT
+ 2186477619
+ name 1_596_KEY_0
+ 2186543104
+ name 1_596_KEY_1
+ 2186543105
+ name 1_596_KEY_2
+ 2186543106
+ name 1_596_KEY_3
+ 2186543107
+ name 1_596_KEY_4
+ 2186543108
+ name 1_596_KEY_5
+ 2186543109
+ name 1_596_KEY_6
+ 2186543110
+ name 1_596_KEY_7
+ 2186543111
+ name 1_596_KEY_8
+ 2186543112
+ name 1_596_KEY_9
+ 2186543113
+ name 1_596_KEY_POWER
+ 2186543114
+ name 1_596_TWO_DIGITS
+ 2186543117
+ name 1_596_KEY_CH_UP
+ 2186543119
+ name 1_596_KEY_CH_DOWN
+ 2186543120
+ name 1_596_KEY_MUTE
+ 2186543121
+ name 1_596_KEY_VOL_DOWN
+ 2186543122
+ name 1_596_KEY_VOL_UP
+ 2186543124
+ name 1_596_KEY_BLUE
+ 2186543139
+ name 1_596_KEY_GREEN
+ 2186543140
+ name 1_596_KEY_RED
+ 2186543141
+ name 1_596_KEY_YELLOW
+ 2186543142
+ name 1_596_KEY_MENU
+ 2186543151
+ name 1_596_KEY_On
+ 2186543181
+ name 1_597_KEY_0
+ 2186608640
+ name 1_597_KEY_1
+ 2186608641
+ name 1_597_KEY_2
+ 2186608642
+ name 1_597_KEY_3
+ 2186608643
+ name 1_597_KEY_4
+ 2186608644
+ name 1_597_KEY_5
+ 2186608645
+ name 1_597_KEY_6
+ 2186608646
+ name 1_597_KEY_7
+ 2186608647
+ name 1_597_KEY_8
+ 2186608648
+ name 1_597_KEY_9
+ 2186608649
+ name 1_597_KEY_POWER
+ 2186608650
+ name 1_597_KEY_CH_UP
+ 2186608655
+ name 1_597_KEY_CH_DOWN
+ 2186608656
+ name 1_597_KEY_MUTE
+ 2186608657
+ name 1_597_KEY_VOL_DOWN
+ 2186608658
+ name 1_597_KEY_VOL_UP
+ 2186608660
+ name 1_597_KEY_MNSELECT
+ 2186608663
+ name 1_597_KEY_MENU
+ 2186608687
+ name 1_597_KEY_MUP
+ 2186608688
+ name 1_597_KEY_MDOWN
+ 2186608689
+ name 1_597_KEY_MLEFT
+ 2186608690
+ name 1_597_KEY_MRIGHT
+ 2186608691
+ name 1_597_KEY_Sleep
+ 2186608703
+ name 1_597_KEY_Off
+ 2186608718
+ name 1_598_KEY_0
+ 2186674176
+ name 1_598_KEY_1
+ 2186674177
+ name 1_598_KEY_2
+ 2186674178
+ name 1_598_KEY_3
+ 2186674179
+ name 1_598_KEY_4
+ 2186674180
+ name 1_598_KEY_5
+ 2186674181
+ name 1_598_KEY_6
+ 2186674182
+ name 1_598_KEY_7
+ 2186674183
+ name 1_598_KEY_8
+ 2186674184
+ name 1_598_KEY_9
+ 2186674185
+ name 1_598_KEY_POWER
+ 2186674186
+ name 1_598_KEY_CH_UP
+ 2186674191
+ name 1_598_KEY_CH_DOWN
+ 2186674192
+ name 1_598_KEY_MUTE
+ 2186674193
+ name 1_598_KEY_MENU
+ 2186674223
+ name 1_598_KEY_MUP
+ 2186674224
+ name 1_598_KEY_MDOWN
+ 2186674225
+ name 1_599_KEY_0
+ 2186739712
+ name 1_599_KEY_1
+ 2186739713
+ name 1_599_KEY_2
+ 2186739714
+ name 1_599_KEY_3
+ 2186739715
+ name 1_599_KEY_4
+ 2186739716
+ name 1_599_KEY_5
+ 2186739717
+ name 1_599_KEY_6
+ 2186739718
+ name 1_599_KEY_7
+ 2186739719
+ name 1_599_KEY_8
+ 2186739720
+ name 1_599_KEY_9
+ 2186739721
+ name 1_599_KEY_POWER
+ 2186739722
+ name 1_599_TWO_DIGITS
+ 2186739725
+ name 1_599_KEY_CH_UP
+ 2186739727
+ name 1_599_KEY_CH_DOWN
+ 2186739728
+ name 1_599_KEY_MUTE
+ 2186739729
+ name 1_599_KEY_VOL_DOWN
+ 2186739730
+ name 1_599_KEY_VOL_UP
+ 2186739732
+ name 1_599_KEY_MNSELECT
+ 2186739735
+ name 1_599_KEY_EXIT
+ 2186739736
+ name 1_599_KEY_BLUE
+ 2186739747
+ name 1_599_KEY_GREEN
+ 2186739748
+ name 1_599_KEY_RED
+ 2186739749
+ name 1_599_KEY_YELLOW
+ 2186739750
+ name 1_599_KEY_MENU
+ 2186739759
+ name 1_599_KEY_MUP
+ 2186739760
+ name 1_599_KEY_MDOWN
+ 2186739761
+ name 1_599_KEY_On
+ 2186739789
+ name 1_599_KEY_Off
+ 2186739790
+ name 1_600_KEY_0
+ 2186805248
+ name 1_600_KEY_1
+ 2186805249
+ name 1_600_KEY_2
+ 2186805250
+ name 1_600_KEY_3
+ 2186805251
+ name 1_600_KEY_4
+ 2186805252
+ name 1_600_KEY_5
+ 2186805253
+ name 1_600_KEY_6
+ 2186805254
+ name 1_600_KEY_7
+ 2186805255
+ name 1_600_KEY_8
+ 2186805256
+ name 1_600_KEY_9
+ 2186805257
+ name 1_600_KEY_POWER
+ 2186805258
+ name 1_600_TWO_DIGITS
+ 2186805261
+ name 1_600_KEY_CH_UP
+ 2186805263
+ name 1_600_KEY_CH_DOWN
+ 2186805264
+ name 1_600_KEY_MUTE
+ 2186805265
+ name 1_600_KEY_VOL_DOWN
+ 2186805266
+ name 1_600_CH_PREVIOUS
+ 2186805267
+ name 1_600_KEY_VOL_UP
+ 2186805268
+ name 1_600_KEY_MNSELECT
+ 2186805271
+ name 1_600_KEY_EXIT
+ 2186805272
+ name 1_600_KEY_MNRETRUN
+ 2186805280
+ name 1_600_KEY_BLUE
+ 2186805283
+ name 1_600_KEY_GREEN
+ 2186805284
+ name 1_600_KEY_RED
+ 2186805285
+ name 1_600_KEY_YELLOW
+ 2186805286
+ name 1_600_KEY_MENU
+ 2186805295
+ name 1_600_KEY_MUP
+ 2186805296
+ name 1_600_KEY_MDOWN
+ 2186805297
+ name 1_600_KEY_MLEFT
+ 2186805298
+ name 1_600_KEY_MRIGHT
+ 2186805299
+ name 1_600_KEY_Sleep
+ 2186805311
+ name 1_600_KEY_DSubtitle
+ 2186805316
+ name 1_600_KEY_On
+ 2186805325
+ name 1_600_KEY_Off
+ 2186805326
+ name 1_601_KEY_0
+ 2186870784
+ name 1_601_KEY_1
+ 2186870785
+ name 1_601_KEY_2
+ 2186870786
+ name 1_601_KEY_3
+ 2186870787
+ name 1_601_KEY_4
+ 2186870788
+ name 1_601_KEY_5
+ 2186870789
+ name 1_601_KEY_6
+ 2186870790
+ name 1_601_KEY_7
+ 2186870791
+ name 1_601_KEY_8
+ 2186870792
+ name 1_601_KEY_9
+ 2186870793
+ name 1_601_KEY_POWER
+ 2186870794
+ name 1_601_TWO_DIGITS
+ 2186870797
+ name 1_601_KEY_CH_UP
+ 2186870799
+ name 1_601_KEY_CH_DOWN
+ 2186870800
+ name 1_601_KEY_MUTE
+ 2186870801
+ name 1_601_KEY_VOL_DOWN
+ 2186870802
+ name 1_601_KEY_VOL_UP
+ 2186870804
+ name 1_601_KEY_EXIT
+ 2186870808
+ name 1_601_KEY_GUIDE
+ 2186870811
+ name 1_601_KEY_BLUE
+ 2186870819
+ name 1_601_KEY_GREEN
+ 2186870820
+ name 1_601_KEY_RED
+ 2186870821
+ name 1_601_KEY_YELLOW
+ 2186870822
+ name 1_601_KEY_MENU
+ 2186870831
+ name 1_601_KEY_MUP
+ 2186870832
+ name 1_601_KEY_MDOWN
+ 2186870833
+ name 1_601_KEY_Sleep
+ 2186870847
+ name 1_601_KEY_DSubtitle
+ 2186870852
+ name 1_601_KEY_On
+ 2186870861
+ name 1_602_KEY_0
+ 2186936320
+ name 1_602_KEY_1
+ 2186936321
+ name 1_602_KEY_2
+ 2186936322
+ name 1_602_KEY_3
+ 2186936323
+ name 1_602_KEY_4
+ 2186936324
+ name 1_602_KEY_5
+ 2186936325
+ name 1_602_KEY_6
+ 2186936326
+ name 1_602_KEY_7
+ 2186936327
+ name 1_602_KEY_8
+ 2186936328
+ name 1_602_KEY_9
+ 2186936329
+ name 1_602_KEY_POWER
+ 2186936330
+ name 1_602_KEY_CH_UP
+ 2186936335
+ name 1_602_KEY_CH_DOWN
+ 2186936336
+ name 1_602_KEY_MUTE
+ 2186936337
+ name 1_602_KEY_VOL_DOWN
+ 2186936338
+ name 1_602_CH_PREVIOUS
+ 2186936339
+ name 1_602_KEY_VOL_UP
+ 2186936340
+ name 1_602_KEY_MNSELECT
+ 2186936343
+ name 1_602_KEY_EXIT
+ 2186936344
+ name 1_602_KEY_GUIDE
+ 2186936347
+ name 1_602_KEY_MENU
+ 2186936367
+ name 1_602_KEY_MUP
+ 2186936368
+ name 1_602_KEY_MDOWN
+ 2186936369
+ name 1_602_KEY_MLEFT
+ 2186936370
+ name 1_602_KEY_MRIGHT
+ 2186936371
+ name 1_602_KEY_On
+ 2186936397
+ name 1_602_KEY_Off
+ 2186936398
+ name 1_603_KEY_0
+ 2187001856
+ name 1_603_KEY_1
+ 2187001857
+ name 1_603_KEY_2
+ 2187001858
+ name 1_603_KEY_3
+ 2187001859
+ name 1_603_KEY_4
+ 2187001860
+ name 1_603_KEY_5
+ 2187001861
+ name 1_603_KEY_6
+ 2187001862
+ name 1_603_KEY_7
+ 2187001863
+ name 1_603_KEY_8
+ 2187001864
+ name 1_603_KEY_9
+ 2187001865
+ name 1_603_KEY_POWER
+ 2187001866
+ name 1_603_KEY_CH_UP
+ 2187001871
+ name 1_603_KEY_CH_DOWN
+ 2187001872
+ name 1_603_KEY_MUTE
+ 2187001873
+ name 1_603_CH_PREVIOUS
+ 2187001875
+ name 1_604_KEY_0
+ 2187067392
+ name 1_604_KEY_1
+ 2187067393
+ name 1_604_KEY_2
+ 2187067394
+ name 1_604_KEY_3
+ 2187067395
+ name 1_604_KEY_4
+ 2187067396
+ name 1_604_KEY_5
+ 2187067397
+ name 1_604_KEY_6
+ 2187067398
+ name 1_604_KEY_7
+ 2187067399
+ name 1_604_KEY_8
+ 2187067400
+ name 1_604_KEY_9
+ 2187067401
+ name 1_604_KEY_POWER
+ 2187067402
+ name 1_604_KEY_CH_UP
+ 2187067407
+ name 1_604_KEY_CH_DOWN
+ 2187067408
+ name 1_604_KEY_MUTE
+ 2187067409
+ name 1_604_CH_PREVIOUS
+ 2187067411
+ name 1_605_KEY_0
+ 2187132928
+ name 1_605_KEY_1
+ 2187132929
+ name 1_605_KEY_2
+ 2187132930
+ name 1_605_KEY_3
+ 2187132931
+ name 1_605_KEY_4
+ 2187132932
+ name 1_605_KEY_5
+ 2187132933
+ name 1_605_KEY_6
+ 2187132934
+ name 1_605_KEY_7
+ 2187132935
+ name 1_605_KEY_8
+ 2187132936
+ name 1_605_KEY_9
+ 2187132937
+ name 1_605_KEY_POWER
+ 2187132938
+ name 1_605_KEY_CH_UP
+ 2187132943
+ name 1_605_KEY_CH_DOWN
+ 2187132944
+ name 1_605_KEY_MUTE
+ 2187132945
+ name 1_605_KEY_VOL_DOWN
+ 2187132946
+ name 1_605_KEY_VOL_UP
+ 2187132948
+ name 1_605_KEY_MNSELECT
+ 2187132951
+ name 1_605_KEY_EXIT
+ 2187132952
+ name 1_605_KEY_MENU
+ 2187132975
+ name 1_605_KEY_MUP
+ 2187132976
+ name 1_605_KEY_MDOWN
+ 2187132977
+ name 1_605_KEY_MLEFT
+ 2187132978
+ name 1_605_KEY_MRIGHT
+ 2187132979
+ name 1_606_KEY_0
+ 2187198464
+ name 1_606_KEY_1
+ 2187198465
+ name 1_606_KEY_2
+ 2187198466
+ name 1_606_KEY_3
+ 2187198467
+ name 1_606_KEY_4
+ 2187198468
+ name 1_606_KEY_5
+ 2187198469
+ name 1_606_KEY_6
+ 2187198470
+ name 1_606_KEY_7
+ 2187198471
+ name 1_606_KEY_8
+ 2187198472
+ name 1_606_KEY_9
+ 2187198473
+ name 1_606_KEY_POWER
+ 2187198474
+ name 1_606_KEY_CH_UP
+ 2187198479
+ name 1_606_KEY_CH_DOWN
+ 2187198480
+ name 1_606_KEY_MUTE
+ 2187198481
+ name 1_606_KEY_VOL_DOWN
+ 2187198482
+ name 1_606_KEY_VOL_UP
+ 2187198484
+ name 1_606_KEY_MNSELECT
+ 2187198487
+ name 1_606_KEY_EXIT
+ 2187198488
+ name 1_606_KEY_MENU
+ 2187198511
+ name 1_606_KEY_MUP
+ 2187198512
+ name 1_606_KEY_MDOWN
+ 2187198513
+ name 1_606_KEY_MLEFT
+ 2187198514
+ name 1_606_KEY_MRIGHT
+ 2187198515
+ name 1_607_KEY_0
+ 2187264000
+ name 1_607_KEY_1
+ 2187264001
+ name 1_607_KEY_2
+ 2187264002
+ name 1_607_KEY_3
+ 2187264003
+ name 1_607_KEY_4
+ 2187264004
+ name 1_607_KEY_5
+ 2187264005
+ name 1_607_KEY_6
+ 2187264006
+ name 1_607_KEY_7
+ 2187264007
+ name 1_607_KEY_8
+ 2187264008
+ name 1_607_KEY_9
+ 2187264009
+ name 1_607_KEY_POWER
+ 2187264010
+ name 1_607_TWO_DIGITS
+ 2187264013
+ name 1_607_KEY_CH_UP
+ 2187264015
+ name 1_607_KEY_CH_DOWN
+ 2187264016
+ name 1_607_KEY_MUTE
+ 2187264017
+ name 1_607_KEY_VOL_DOWN
+ 2187264018
+ name 1_607_CH_PREVIOUS
+ 2187264019
+ name 1_607_KEY_VOL_UP
+ 2187264020
+ name 1_607_KEY_MNSELECT
+ 2187264023
+ name 1_607_KEY_MENU
+ 2187264047
+ name 1_607_KEY_MUP
+ 2187264048
+ name 1_607_KEY_MDOWN
+ 2187264049
+ name 1_607_KEY_MLEFT
+ 2187264050
+ name 1_607_KEY_MRIGHT
+ 2187264051
+ name 1_607_KEY_Sleep
+ 2187264063
+ name 1_608_KEY_0
+ 2187329536
+ name 1_608_KEY_1
+ 2187329537
+ name 1_608_KEY_2
+ 2187329538
+ name 1_608_KEY_3
+ 2187329539
+ name 1_608_KEY_4
+ 2187329540
+ name 1_608_KEY_5
+ 2187329541
+ name 1_608_KEY_6
+ 2187329542
+ name 1_608_KEY_7
+ 2187329543
+ name 1_608_KEY_8
+ 2187329544
+ name 1_608_KEY_9
+ 2187329545
+ name 1_608_KEY_POWER
+ 2187329546
+ name 1_608_TWO_DIGITS
+ 2187329549
+ name 1_608_KEY_CH_UP
+ 2187329551
+ name 1_608_KEY_CH_DOWN
+ 2187329552
+ name 1_608_KEY_MUTE
+ 2187329553
+ name 1_608_KEY_VOL_DOWN
+ 2187329554
+ name 1_608_CH_PREVIOUS
+ 2187329555
+ name 1_608_KEY_VOL_UP
+ 2187329556
+ name 1_608_KEY_MNSELECT
+ 2187329559
+ name 1_608_KEY_MENU
+ 2187329583
+ name 1_608_KEY_MUP
+ 2187329584
+ name 1_608_KEY_MDOWN
+ 2187329585
+ name 1_608_KEY_MLEFT
+ 2187329586
+ name 1_608_KEY_MRIGHT
+ 2187329587
+ name 1_608_KEY_Sleep
+ 2187329599
+ name 1_609_KEY_0
+ 2187395072
+ name 1_609_KEY_1
+ 2187395073
+ name 1_609_KEY_2
+ 2187395074
+ name 1_609_KEY_3
+ 2187395075
+ name 1_609_KEY_4
+ 2187395076
+ name 1_609_KEY_5
+ 2187395077
+ name 1_609_KEY_6
+ 2187395078
+ name 1_609_KEY_7
+ 2187395079
+ name 1_609_KEY_8
+ 2187395080
+ name 1_609_KEY_9
+ 2187395081
+ name 1_609_KEY_POWER
+ 2187395082
+ name 1_609_KEY_CH_UP
+ 2187395087
+ name 1_609_KEY_CH_DOWN
+ 2187395088
+ name 1_609_KEY_MUTE
+ 2187395089
+ name 1_609_KEY_VOL_DOWN
+ 2187395090
+ name 1_609_KEY_VOL_UP
+ 2187395092
+ name 1_609_KEY_MNSELECT
+ 2187395095
+ name 1_609_KEY_MENU
+ 2187395119
+ name 1_609_KEY_MUP
+ 2187395120
+ name 1_609_KEY_MDOWN
+ 2187395121
+ name 1_609_KEY_MLEFT
+ 2187395122
+ name 1_609_KEY_MRIGHT
+ 2187395123
+ name 1_609_KEY_On
+ 2187395149
+ name 1_609_KEY_Off
+ 2187395150
+ name 1_610_KEY_0
+ 2187460608
+ name 1_610_KEY_1
+ 2187460609
+ name 1_610_KEY_2
+ 2187460610
+ name 1_610_KEY_3
+ 2187460611
+ name 1_610_KEY_4
+ 2187460612
+ name 1_610_KEY_5
+ 2187460613
+ name 1_610_KEY_6
+ 2187460614
+ name 1_610_KEY_7
+ 2187460615
+ name 1_610_KEY_8
+ 2187460616
+ name 1_610_KEY_9
+ 2187460617
+ name 1_610_KEY_POWER
+ 2187460618
+ name 1_610_KEY_CH_UP
+ 2187460623
+ name 1_610_KEY_CH_DOWN
+ 2187460624
+ name 1_610_KEY_MUTE
+ 2187460625
+ name 1_610_KEY_VOL_DOWN
+ 2187460626
+ name 1_610_KEY_VOL_UP
+ 2187460628
+ name 1_610_KEY_MNSELECT
+ 2187460631
+ name 1_610_KEY_MENU
+ 2187460655
+ name 1_610_KEY_MUP
+ 2187460656
+ name 1_610_KEY_MDOWN
+ 2187460657
+ name 1_610_KEY_MLEFT
+ 2187460658
+ name 1_610_KEY_MRIGHT
+ 2187460659
+ name 1_610_KEY_On
+ 2187460685
+ name 1_610_KEY_Off
+ 2187460686
+ name 1_611_KEY_0
+ 2187526144
+ name 1_611_KEY_1
+ 2187526145
+ name 1_611_KEY_2
+ 2187526146
+ name 1_611_KEY_3
+ 2187526147
+ name 1_611_KEY_4
+ 2187526148
+ name 1_611_KEY_5
+ 2187526149
+ name 1_611_KEY_6
+ 2187526150
+ name 1_611_KEY_7
+ 2187526151
+ name 1_611_KEY_8
+ 2187526152
+ name 1_611_KEY_9
+ 2187526153
+ name 1_611_KEY_POWER
+ 2187526154
+ name 1_611_TWO_DIGITS
+ 2187526157
+ name 1_611_KEY_CH_UP
+ 2187526159
+ name 1_611_KEY_CH_DOWN
+ 2187526160
+ name 1_611_KEY_MUTE
+ 2187526161
+ name 1_611_CH_PREVIOUS
+ 2187526163
+ name 1_611_KEY_MNSELECT
+ 2187526167
+ name 1_611_KEY_MENU
+ 2187526191
+ name 1_611_KEY_MUP
+ 2187526192
+ name 1_611_KEY_MDOWN
+ 2187526193
+ name 1_611_KEY_MLEFT
+ 2187526194
+ name 1_611_KEY_MRIGHT
+ 2187526195
+ name 1_611_KEY_On
+ 2187526221
+ name 1_612_KEY_0
+ 2187591680
+ name 1_612_KEY_1
+ 2187591681
+ name 1_612_KEY_2
+ 2187591682
+ name 1_612_KEY_3
+ 2187591683
+ name 1_612_KEY_4
+ 2187591684
+ name 1_612_KEY_5
+ 2187591685
+ name 1_612_KEY_6
+ 2187591686
+ name 1_612_KEY_7
+ 2187591687
+ name 1_612_KEY_8
+ 2187591688
+ name 1_612_KEY_9
+ 2187591689
+ name 1_612_KEY_POWER
+ 2187591690
+ name 1_612_KEY_CH_UP
+ 2187591695
+ name 1_612_KEY_CH_DOWN
+ 2187591696
+ name 1_612_KEY_MNSELECT
+ 2187591703
+ name 1_613_KEY_0
+ 2187657216
+ name 1_613_KEY_1
+ 2187657217
+ name 1_613_KEY_2
+ 2187657218
+ name 1_613_KEY_3
+ 2187657219
+ name 1_613_KEY_4
+ 2187657220
+ name 1_613_KEY_5
+ 2187657221
+ name 1_613_KEY_6
+ 2187657222
+ name 1_613_KEY_7
+ 2187657223
+ name 1_613_KEY_8
+ 2187657224
+ name 1_613_KEY_9
+ 2187657225
+ name 1_613_KEY_POWER
+ 2187657226
+ name 1_613_KEY_CH_UP
+ 2187657231
+ name 1_613_KEY_CH_DOWN
+ 2187657232
+ name 1_613_KEY_MNSELECT
+ 2187657239
+ name 1_614_KEY_0
+ 2187722752
+ name 1_614_KEY_1
+ 2187722753
+ name 1_614_KEY_2
+ 2187722754
+ name 1_614_KEY_3
+ 2187722755
+ name 1_614_KEY_4
+ 2187722756
+ name 1_614_KEY_5
+ 2187722757
+ name 1_614_KEY_6
+ 2187722758
+ name 1_614_KEY_7
+ 2187722759
+ name 1_614_KEY_8
+ 2187722760
+ name 1_614_KEY_9
+ 2187722761
+ name 1_614_KEY_POWER
+ 2187722762
+ name 1_614_KEY_CH_UP
+ 2187722767
+ name 1_614_KEY_CH_DOWN
+ 2187722768
+ name 1_614_KEY_MUTE
+ 2187722769
+ name 1_614_KEY_VOL_DOWN
+ 2187722770
+ name 1_614_KEY_VOL_UP
+ 2187722772
+ name 1_614_KEY_EXIT
+ 2187722776
+ name 1_615_KEY_0
+ 2187788288
+ name 1_615_KEY_1
+ 2187788289
+ name 1_615_KEY_2
+ 2187788290
+ name 1_615_KEY_3
+ 2187788291
+ name 1_615_KEY_4
+ 2187788292
+ name 1_615_KEY_5
+ 2187788293
+ name 1_615_KEY_6
+ 2187788294
+ name 1_615_KEY_7
+ 2187788295
+ name 1_615_KEY_8
+ 2187788296
+ name 1_615_KEY_9
+ 2187788297
+ name 1_615_KEY_POWER
+ 2187788298
+ name 1_615_KEY_CH_UP
+ 2187788303
+ name 1_615_KEY_CH_DOWN
+ 2187788304
+ name 1_615_KEY_MUTE
+ 2187788305
+ name 1_615_KEY_VOL_DOWN
+ 2187788306
+ name 1_615_KEY_VOL_UP
+ 2187788308
+ name 1_615_KEY_MENU
+ 2187788335
+ name 1_615_KEY_MUP
+ 2187788336
+ name 1_615_KEY_MDOWN
+ 2187788337
+ name 1_615_KEY_MLEFT
+ 2187788338
+ name 1_615_KEY_MRIGHT
+ 2187788339
+ name 1_615_KEY_Sleep
+ 2187788351
+ name 1_615_KEY_Off
+ 2187788366
+ name 1_616_KEY_0
+ 2187853824
+ name 1_616_KEY_1
+ 2187853825
+ name 1_616_KEY_2
+ 2187853826
+ name 1_616_KEY_3
+ 2187853827
+ name 1_616_KEY_4
+ 2187853828
+ name 1_616_KEY_5
+ 2187853829
+ name 1_616_KEY_6
+ 2187853830
+ name 1_616_KEY_7
+ 2187853831
+ name 1_616_KEY_8
+ 2187853832
+ name 1_616_KEY_9
+ 2187853833
+ name 1_616_KEY_POWER
+ 2187853834
+ name 1_616_KEY_CH_UP
+ 2187853839
+ name 1_616_KEY_CH_DOWN
+ 2187853840
+ name 1_616_KEY_MUTE
+ 2187853841
+ name 1_616_KEY_VOL_DOWN
+ 2187853842
+ name 1_616_KEY_VOL_UP
+ 2187853844
+ name 1_616_KEY_MENU
+ 2187853871
+ name 1_616_KEY_MUP
+ 2187853872
+ name 1_616_KEY_MDOWN
+ 2187853873
+ name 1_616_KEY_MLEFT
+ 2187853874
+ name 1_616_KEY_MRIGHT
+ 2187853875
+ name 1_616_KEY_Sleep
+ 2187853887
+ name 1_616_KEY_Off
+ 2187853902
+ name 1_617_KEY_0
+ 2187919360
+ name 1_617_KEY_1
+ 2187919361
+ name 1_617_KEY_2
+ 2187919362
+ name 1_617_KEY_3
+ 2187919363
+ name 1_617_KEY_4
+ 2187919364
+ name 1_617_KEY_5
+ 2187919365
+ name 1_617_KEY_6
+ 2187919366
+ name 1_617_KEY_7
+ 2187919367
+ name 1_617_KEY_8
+ 2187919368
+ name 1_617_KEY_9
+ 2187919369
+ name 1_617_KEY_POWER
+ 2187919370
+ name 1_617_KEY_CH_UP
+ 2187919375
+ name 1_617_KEY_CH_DOWN
+ 2187919376
+ name 1_617_KEY_MUTE
+ 2187919377
+ name 1_617_KEY_VOL_DOWN
+ 2187919378
+ name 1_617_KEY_VOL_UP
+ 2187919380
+ name 1_617_KEY_MNSELECT
+ 2187919383
+ name 1_617_KEY_MENU
+ 2187919407
+ name 1_617_KEY_MUP
+ 2187919408
+ name 1_617_KEY_MDOWN
+ 2187919409
+ name 1_617_KEY_MLEFT
+ 2187919410
+ name 1_617_KEY_MRIGHT
+ 2187919411
+ name 1_617_KEY_Off
+ 2187919438
+ name 1_618_KEY_0
+ 2187984896
+ name 1_618_KEY_1
+ 2187984897
+ name 1_618_KEY_2
+ 2187984898
+ name 1_618_KEY_3
+ 2187984899
+ name 1_618_KEY_4
+ 2187984900
+ name 1_618_KEY_5
+ 2187984901
+ name 1_618_KEY_6
+ 2187984902
+ name 1_618_KEY_7
+ 2187984903
+ name 1_618_KEY_8
+ 2187984904
+ name 1_618_KEY_9
+ 2187984905
+ name 1_618_KEY_POWER
+ 2187984906
+ name 1_618_TWO_DIGITS
+ 2187984909
+ name 1_618_KEY_CH_UP
+ 2187984911
+ name 1_618_KEY_CH_DOWN
+ 2187984912
+ name 1_618_KEY_MUTE
+ 2187984913
+ name 1_618_KEY_VOL_DOWN
+ 2187984914
+ name 1_618_KEY_VOL_UP
+ 2187984916
+ name 1_618_KEY_MNSELECT
+ 2187984919
+ name 1_618_KEY_MENU
+ 2187984943
+ name 1_618_KEY_MUP
+ 2187984944
+ name 1_618_KEY_MDOWN
+ 2187984945
+ name 1_618_KEY_MLEFT
+ 2187984946
+ name 1_618_KEY_MRIGHT
+ 2187984947
+ name 1_619_KEY_0
+ 2188050432
+ name 1_619_KEY_1
+ 2188050433
+ name 1_619_KEY_2
+ 2188050434
+ name 1_619_KEY_3
+ 2188050435
+ name 1_619_KEY_4
+ 2188050436
+ name 1_619_KEY_5
+ 2188050437
+ name 1_619_KEY_6
+ 2188050438
+ name 1_619_KEY_7
+ 2188050439
+ name 1_619_KEY_8
+ 2188050440
+ name 1_619_KEY_9
+ 2188050441
+ name 1_619_KEY_POWER
+ 2188050442
+ name 1_619_KEY_CH_UP
+ 2188050447
+ name 1_619_KEY_CH_DOWN
+ 2188050448
+ name 1_619_KEY_MUTE
+ 2188050449
+ name 1_619_KEY_VOL_DOWN
+ 2188050450
+ name 1_619_KEY_VOL_UP
+ 2188050452
+ name 1_619_KEY_MNSELECT
+ 2188050455
+ name 1_619_KEY_EXIT
+ 2188050456
+ name 1_619_KEY_BLUE
+ 2188050467
+ name 1_619_KEY_GREEN
+ 2188050468
+ name 1_619_KEY_RED
+ 2188050469
+ name 1_619_KEY_YELLOW
+ 2188050470
+ name 1_619_KEY_MENU
+ 2188050479
+ name 1_619_KEY_MUP
+ 2188050480
+ name 1_619_KEY_MDOWN
+ 2188050481
+ name 1_619_KEY_MLEFT
+ 2188050482
+ name 1_619_KEY_MRIGHT
+ 2188050483
+ name 1_619_KEY_On
+ 2188050509
+ name 1_619_KEY_Off
+ 2188050510
+ name 1_620_KEY_0
+ 2188115968
+ name 1_620_KEY_1
+ 2188115969
+ name 1_620_KEY_2
+ 2188115970
+ name 1_620_KEY_3
+ 2188115971
+ name 1_620_KEY_4
+ 2188115972
+ name 1_620_KEY_5
+ 2188115973
+ name 1_620_KEY_6
+ 2188115974
+ name 1_620_KEY_7
+ 2188115975
+ name 1_620_KEY_8
+ 2188115976
+ name 1_620_KEY_9
+ 2188115977
+ name 1_620_KEY_POWER
+ 2188115978
+ name 1_620_KEY_CH_UP
+ 2188115983
+ name 1_620_KEY_CH_DOWN
+ 2188115984
+ name 1_620_KEY_MUTE
+ 2188115985
+ name 1_621_KEY_0
+ 2188181504
+ name 1_621_KEY_1
+ 2188181505
+ name 1_621_KEY_2
+ 2188181506
+ name 1_621_KEY_3
+ 2188181507
+ name 1_621_KEY_4
+ 2188181508
+ name 1_621_KEY_5
+ 2188181509
+ name 1_621_KEY_6
+ 2188181510
+ name 1_621_KEY_7
+ 2188181511
+ name 1_621_KEY_8
+ 2188181512
+ name 1_621_KEY_9
+ 2188181513
+ name 1_621_KEY_POWER
+ 2188181514
+ name 1_621_KEY_CH_UP
+ 2188181519
+ name 1_621_KEY_CH_DOWN
+ 2188181520
+ name 1_621_KEY_MUTE
+ 2188181521
+ name 1_621_KEY_VOL_DOWN
+ 2188181522
+ name 1_621_KEY_VOL_UP
+ 2188181524
+ name 1_621_KEY_EXIT
+ 2188181528
+ name 1_621_KEY_MENU
+ 2188181551
+ name 1_621_KEY_MUP
+ 2188181552
+ name 1_621_KEY_MDOWN
+ 2188181553
+ name 1_621_KEY_MLEFT
+ 2188181554
+ name 1_621_KEY_MRIGHT
+ 2188181555
+ name 1_621_KEY_Sleep
+ 2188181567
+ name 1_622_KEY_0
+ 2188247040
+ name 1_622_KEY_1
+ 2188247041
+ name 1_622_KEY_2
+ 2188247042
+ name 1_622_KEY_3
+ 2188247043
+ name 1_622_KEY_4
+ 2188247044
+ name 1_622_KEY_5
+ 2188247045
+ name 1_622_KEY_6
+ 2188247046
+ name 1_622_KEY_7
+ 2188247047
+ name 1_622_KEY_8
+ 2188247048
+ name 1_622_KEY_9
+ 2188247049
+ name 1_622_KEY_POWER
+ 2188247050
+ name 1_622_TWO_DIGITS
+ 2188247053
+ name 1_622_KEY_CH_UP
+ 2188247055
+ name 1_622_KEY_CH_DOWN
+ 2188247056
+ name 1_622_KEY_MUTE
+ 2188247057
+ name 1_622_KEY_VOL_DOWN
+ 2188247058
+ name 1_622_KEY_VOL_UP
+ 2188247060
+ name 1_622_KEY_MNSELECT
+ 2188247063
+ name 1_622_KEY_EXIT
+ 2188247064
+ name 1_622_KEY_GUIDE
+ 2188247067
+ name 1_622_KEY_BLUE
+ 2188247075
+ name 1_622_KEY_GREEN
+ 2188247076
+ name 1_622_KEY_RED
+ 2188247077
+ name 1_622_KEY_YELLOW
+ 2188247078
+ name 1_622_KEY_MENU
+ 2188247087
+ name 1_622_KEY_MUP
+ 2188247088
+ name 1_622_KEY_MDOWN
+ 2188247089
+ name 1_622_KEY_MLEFT
+ 2188247090
+ name 1_622_KEY_MRIGHT
+ 2188247091
+ name 1_622_KEY_DSubtitle
+ 2188247108
+ name 1_622_KEY_On
+ 2188247117
+ name 1_622_KEY_Off
+ 2188247118
+ name 1_623_KEY_0
+ 2188312576
+ name 1_623_KEY_1
+ 2188312577
+ name 1_623_KEY_2
+ 2188312578
+ name 1_623_KEY_3
+ 2188312579
+ name 1_623_KEY_4
+ 2188312580
+ name 1_623_KEY_5
+ 2188312581
+ name 1_623_KEY_6
+ 2188312582
+ name 1_623_KEY_7
+ 2188312583
+ name 1_623_KEY_8
+ 2188312584
+ name 1_623_KEY_9
+ 2188312585
+ name 1_623_KEY_POWER
+ 2188312586
+ name 1_623_TWO_DIGITS
+ 2188312589
+ name 1_623_KEY_CH_UP
+ 2188312591
+ name 1_623_KEY_CH_DOWN
+ 2188312592
+ name 1_623_KEY_MUTE
+ 2188312593
+ name 1_623_KEY_VOL_DOWN
+ 2188312594
+ name 1_623_KEY_VOL_UP
+ 2188312596
+ name 1_623_KEY_MNSELECT
+ 2188312599
+ name 1_623_KEY_EXIT
+ 2188312600
+ name 1_623_KEY_GUIDE
+ 2188312603
+ name 1_623_KEY_BLUE
+ 2188312611
+ name 1_623_KEY_GREEN
+ 2188312612
+ name 1_623_KEY_RED
+ 2188312613
+ name 1_623_KEY_YELLOW
+ 2188312614
+ name 1_623_KEY_MENU
+ 2188312623
+ name 1_623_KEY_MUP
+ 2188312624
+ name 1_623_KEY_MDOWN
+ 2188312625
+ name 1_623_KEY_MLEFT
+ 2188312626
+ name 1_623_KEY_MRIGHT
+ 2188312627
+ name 1_623_KEY_DSubtitle
+ 2188312644
+ name 1_623_KEY_On
+ 2188312653
+ name 1_623_KEY_Off
+ 2188312654
+ name 1_624_KEY_0
+ 2188378112
+ name 1_624_KEY_1
+ 2188378113
+ name 1_624_KEY_2
+ 2188378114
+ name 1_624_KEY_3
+ 2188378115
+ name 1_624_KEY_4
+ 2188378116
+ name 1_624_KEY_5
+ 2188378117
+ name 1_624_KEY_6
+ 2188378118
+ name 1_624_KEY_7
+ 2188378119
+ name 1_624_KEY_8
+ 2188378120
+ name 1_624_KEY_9
+ 2188378121
+ name 1_624_KEY_POWER
+ 2188378122
+ name 1_624_TWO_DIGITS
+ 2188378125
+ name 1_624_KEY_CH_UP
+ 2188378127
+ name 1_624_KEY_CH_DOWN
+ 2188378128
+ name 1_624_KEY_MUTE
+ 2188378129
+ name 1_624_KEY_VOL_DOWN
+ 2188378130
+ name 1_624_KEY_VOL_UP
+ 2188378132
+ name 1_624_KEY_MNSELECT
+ 2188378135
+ name 1_624_KEY_EXIT
+ 2188378136
+ name 1_624_KEY_GUIDE
+ 2188378139
+ name 1_624_KEY_BLUE
+ 2188378147
+ name 1_624_KEY_GREEN
+ 2188378148
+ name 1_624_KEY_RED
+ 2188378149
+ name 1_624_KEY_YELLOW
+ 2188378150
+ name 1_624_KEY_MENU
+ 2188378159
+ name 1_624_KEY_MUP
+ 2188378160
+ name 1_624_KEY_MDOWN
+ 2188378161
+ name 1_624_KEY_MLEFT
+ 2188378162
+ name 1_624_KEY_MRIGHT
+ 2188378163
+ name 1_624_KEY_DSubtitle
+ 2188378180
+ name 1_624_KEY_On
+ 2188378189
+ name 1_624_KEY_Off
+ 2188378190
+ name 1_625_KEY_0
+ 2188443648
+ name 1_625_KEY_1
+ 2188443649
+ name 1_625_KEY_2
+ 2188443650
+ name 1_625_KEY_3
+ 2188443651
+ name 1_625_KEY_4
+ 2188443652
+ name 1_625_KEY_5
+ 2188443653
+ name 1_625_KEY_6
+ 2188443654
+ name 1_625_KEY_7
+ 2188443655
+ name 1_625_KEY_8
+ 2188443656
+ name 1_625_KEY_9
+ 2188443657
+ name 1_625_KEY_POWER
+ 2188443658
+ name 1_625_KEY_CH_UP
+ 2188443663
+ name 1_625_KEY_CH_DOWN
+ 2188443664
+ name 1_625_KEY_MUTE
+ 2188443665
+ name 1_625_KEY_VOL_DOWN
+ 2188443666
+ name 1_625_CH_PREVIOUS
+ 2188443667
+ name 1_625_KEY_VOL_UP
+ 2188443668
+ name 1_625_KEY_MNSELECT
+ 2188443671
+ name 1_625_KEY_EXIT
+ 2188443672
+ name 1_625_KEY_GUIDE
+ 2188443675
+ name 1_625_KEY_MENU
+ 2188443695
+ name 1_625_KEY_MUP
+ 2188443696
+ name 1_625_KEY_MDOWN
+ 2188443697
+ name 1_625_KEY_MLEFT
+ 2188443698
+ name 1_625_KEY_MRIGHT
+ 2188443699
+ name 1_625_KEY_On
+ 2188443725
+ name 1_625_KEY_Off
+ 2188443726
+ name 1_626_KEY_0
+ 2188509184
+ name 1_626_KEY_1
+ 2188509185
+ name 1_626_KEY_2
+ 2188509186
+ name 1_626_KEY_3
+ 2188509187
+ name 1_626_KEY_4
+ 2188509188
+ name 1_626_KEY_5
+ 2188509189
+ name 1_626_KEY_6
+ 2188509190
+ name 1_626_KEY_7
+ 2188509191
+ name 1_626_KEY_8
+ 2188509192
+ name 1_626_KEY_9
+ 2188509193
+ name 1_626_KEY_POWER
+ 2188509194
+ name 1_626_KEY_CH_UP
+ 2188509199
+ name 1_626_KEY_CH_DOWN
+ 2188509200
+ name 1_626_KEY_MUTE
+ 2188509201
+ name 1_626_KEY_VOL_DOWN
+ 2188509202
+ name 1_626_KEY_VOL_UP
+ 2188509204
+ name 1_626_KEY_MNSELECT
+ 2188509207
+ name 1_626_KEY_EXIT
+ 2188509208
+ name 1_626_KEY_GUIDE
+ 2188509211
+ name 1_626_KEY_BLUE
+ 2188509219
+ name 1_626_KEY_GREEN
+ 2188509220
+ name 1_626_KEY_RED
+ 2188509221
+ name 1_626_KEY_YELLOW
+ 2188509222
+ name 1_626_KEY_MENU
+ 2188509231
+ name 1_626_KEY_MUP
+ 2188509232
+ name 1_626_KEY_MDOWN
+ 2188509233
+ name 1_626_KEY_MLEFT
+ 2188509234
+ name 1_626_KEY_MRIGHT
+ 2188509235
+ name 1_626_KEY_DSubtitle
+ 2188509252
+ name 1_626_KEY_Off
+ 2188509262
+ name 1_627_KEY_0
+ 2188574720
+ name 1_627_KEY_1
+ 2188574721
+ name 1_627_KEY_2
+ 2188574722
+ name 1_627_KEY_3
+ 2188574723
+ name 1_627_KEY_4
+ 2188574724
+ name 1_627_KEY_5
+ 2188574725
+ name 1_627_KEY_6
+ 2188574726
+ name 1_627_KEY_7
+ 2188574727
+ name 1_627_KEY_8
+ 2188574728
+ name 1_627_KEY_9
+ 2188574729
+ name 1_627_KEY_POWER
+ 2188574730
+ name 1_627_KEY_CH_UP
+ 2188574735
+ name 1_627_KEY_CH_DOWN
+ 2188574736
+ name 1_627_KEY_MUTE
+ 2188574737
+ name 1_627_KEY_VOL_DOWN
+ 2188574738
+ name 1_627_CH_PREVIOUS
+ 2188574739
+ name 1_627_KEY_VOL_UP
+ 2188574740
+ name 1_627_KEY_MNSELECT
+ 2188574743
+ name 1_627_KEY_EXIT
+ 2188574744
+ name 1_627_KEY_GUIDE
+ 2188574747
+ name 1_627_KEY_MENU
+ 2188574767
+ name 1_627_KEY_MUP
+ 2188574768
+ name 1_627_KEY_MDOWN
+ 2188574769
+ name 1_627_KEY_MLEFT
+ 2188574770
+ name 1_627_KEY_MRIGHT
+ 2188574771
+ name 1_627_KEY_DSubtitle
+ 2188574788
+ name 1_627_KEY_On
+ 2188574797
+ name 1_628_KEY_0
+ 2188640256
+ name 1_628_KEY_1
+ 2188640257
+ name 1_628_KEY_2
+ 2188640258
+ name 1_628_KEY_3
+ 2188640259
+ name 1_628_KEY_4
+ 2188640260
+ name 1_628_KEY_5
+ 2188640261
+ name 1_628_KEY_6
+ 2188640262
+ name 1_628_KEY_7
+ 2188640263
+ name 1_628_KEY_8
+ 2188640264
+ name 1_628_KEY_9
+ 2188640265
+ name 1_628_KEY_POWER
+ 2188640266
+ name 1_628_TWO_DIGITS
+ 2188640269
+ name 1_628_KEY_CH_UP
+ 2188640271
+ name 1_628_KEY_CH_DOWN
+ 2188640272
+ name 1_628_KEY_MUTE
+ 2188640273
+ name 1_628_KEY_VOL_DOWN
+ 2188640274
+ name 1_628_CH_PREVIOUS
+ 2188640275
+ name 1_628_KEY_VOL_UP
+ 2188640276
+ name 1_628_KEY_MNSELECT
+ 2188640279
+ name 1_628_KEY_GUIDE
+ 2188640283
+ name 1_628_KEY_BLUE
+ 2188640291
+ name 1_628_KEY_GREEN
+ 2188640292
+ name 1_628_KEY_RED
+ 2188640293
+ name 1_628_KEY_YELLOW
+ 2188640294
+ name 1_628_KEY_MENU
+ 2188640303
+ name 1_628_KEY_MUP
+ 2188640304
+ name 1_628_KEY_MDOWN
+ 2188640305
+ name 1_628_KEY_MLEFT
+ 2188640306
+ name 1_628_KEY_MRIGHT
+ 2188640307
+ name 1_628_KEY_On
+ 2188640333
+ name 1_629_KEY_0
+ 2188705792
+ name 1_629_KEY_1
+ 2188705793
+ name 1_629_KEY_2
+ 2188705794
+ name 1_629_KEY_3
+ 2188705795
+ name 1_629_KEY_4
+ 2188705796
+ name 1_629_KEY_5
+ 2188705797
+ name 1_629_KEY_6
+ 2188705798
+ name 1_629_KEY_7
+ 2188705799
+ name 1_629_KEY_8
+ 2188705800
+ name 1_629_KEY_9
+ 2188705801
+ name 1_629_KEY_POWER
+ 2188705802
+ name 1_629_KEY_CH_UP
+ 2188705807
+ name 1_629_KEY_CH_DOWN
+ 2188705808
+ name 1_629_KEY_MUTE
+ 2188705809
+ name 1_629_KEY_VOL_DOWN
+ 2188705810
+ name 1_629_CH_PREVIOUS
+ 2188705811
+ name 1_629_KEY_VOL_UP
+ 2188705812
+ name 1_629_KEY_MNSELECT
+ 2188705815
+ name 1_629_KEY_EXIT
+ 2188705816
+ name 1_629_KEY_GUIDE
+ 2188705819
+ name 1_629_KEY_BLUE
+ 2188705827
+ name 1_629_KEY_GREEN
+ 2188705828
+ name 1_629_KEY_RED
+ 2188705829
+ name 1_629_KEY_YELLOW
+ 2188705830
+ name 1_629_KEY_MENU
+ 2188705839
+ name 1_629_KEY_MUP
+ 2188705840
+ name 1_629_KEY_MDOWN
+ 2188705841
+ name 1_629_KEY_MLEFT
+ 2188705842
+ name 1_629_KEY_MRIGHT
+ 2188705843
+ name 1_630_KEY_0
+ 2188771328
+ name 1_630_KEY_1
+ 2188771329
+ name 1_630_KEY_2
+ 2188771330
+ name 1_630_KEY_3
+ 2188771331
+ name 1_630_KEY_4
+ 2188771332
+ name 1_630_KEY_5
+ 2188771333
+ name 1_630_KEY_6
+ 2188771334
+ name 1_630_KEY_7
+ 2188771335
+ name 1_630_KEY_8
+ 2188771336
+ name 1_630_KEY_9
+ 2188771337
+ name 1_630_KEY_POWER
+ 2188771338
+ name 1_630_KEY_CH_UP
+ 2188771343
+ name 1_630_KEY_CH_DOWN
+ 2188771344
+ name 1_630_KEY_MUTE
+ 2188771345
+ name 1_630_KEY_VOL_DOWN
+ 2188771346
+ name 1_630_CH_PREVIOUS
+ 2188771347
+ name 1_630_KEY_VOL_UP
+ 2188771348
+ name 1_630_KEY_MNSELECT
+ 2188771351
+ name 1_630_KEY_EXIT
+ 2188771352
+ name 1_630_KEY_GUIDE
+ 2188771355
+ name 1_630_KEY_MNRETRUN
+ 2188771360
+ name 1_630_KEY_BLUE
+ 2188771363
+ name 1_630_KEY_GREEN
+ 2188771364
+ name 1_630_KEY_RED
+ 2188771365
+ name 1_630_KEY_YELLOW
+ 2188771366
+ name 1_630_KEY_MENU
+ 2188771375
+ name 1_630_KEY_MUP
+ 2188771376
+ name 1_630_KEY_MDOWN
+ 2188771377
+ name 1_630_KEY_MLEFT
+ 2188771378
+ name 1_630_KEY_MRIGHT
+ 2188771379
+ name 1_630_KEY_DSubtitle
+ 2188771396
+ name 1_631_KEY_0
+ 2188836864
+ name 1_631_KEY_1
+ 2188836865
+ name 1_631_KEY_2
+ 2188836866
+ name 1_631_KEY_3
+ 2188836867
+ name 1_631_KEY_4
+ 2188836868
+ name 1_631_KEY_5
+ 2188836869
+ name 1_631_KEY_6
+ 2188836870
+ name 1_631_KEY_7
+ 2188836871
+ name 1_631_KEY_8
+ 2188836872
+ name 1_631_KEY_9
+ 2188836873
+ name 1_631_KEY_POWER
+ 2188836874
+ name 1_631_KEY_CH_UP
+ 2188836879
+ name 1_631_KEY_CH_DOWN
+ 2188836880
+ name 1_631_KEY_MUTE
+ 2188836881
+ name 1_631_KEY_VOL_DOWN
+ 2188836882
+ name 1_631_CH_PREVIOUS
+ 2188836883
+ name 1_631_KEY_VOL_UP
+ 2188836884
+ name 1_631_KEY_MNSELECT
+ 2188836887
+ name 1_631_KEY_EXIT
+ 2188836888
+ name 1_631_KEY_GUIDE
+ 2188836891
+ name 1_631_KEY_BLUE
+ 2188836899
+ name 1_631_KEY_GREEN
+ 2188836900
+ name 1_631_KEY_RED
+ 2188836901
+ name 1_631_KEY_YELLOW
+ 2188836902
+ name 1_631_KEY_MENU
+ 2188836911
+ name 1_631_KEY_MUP
+ 2188836912
+ name 1_631_KEY_MDOWN
+ 2188836913
+ name 1_631_KEY_MLEFT
+ 2188836914
+ name 1_631_KEY_MRIGHT
+ 2188836915
+ name 1_631_KEY_DSubtitle
+ 2188836932
+ name 1_632_KEY_0
+ 2188902400
+ name 1_632_KEY_1
+ 2188902401
+ name 1_632_KEY_2
+ 2188902402
+ name 1_632_KEY_3
+ 2188902403
+ name 1_632_KEY_4
+ 2188902404
+ name 1_632_KEY_5
+ 2188902405
+ name 1_632_KEY_6
+ 2188902406
+ name 1_632_KEY_7
+ 2188902407
+ name 1_632_KEY_8
+ 2188902408
+ name 1_632_KEY_9
+ 2188902409
+ name 1_632_KEY_POWER
+ 2188902410
+ name 1_632_KEY_CH_UP
+ 2188902415
+ name 1_632_KEY_CH_DOWN
+ 2188902416
+ name 1_632_KEY_MUTE
+ 2188902417
+ name 1_632_KEY_VOL_DOWN
+ 2188902418
+ name 1_632_CH_PREVIOUS
+ 2188902419
+ name 1_632_KEY_VOL_UP
+ 2188902420
+ name 1_632_KEY_MNSELECT
+ 2188902423
+ name 1_632_KEY_EXIT
+ 2188902424
+ name 1_632_KEY_GUIDE
+ 2188902427
+ name 1_632_KEY_BLUE
+ 2188902435
+ name 1_632_KEY_GREEN
+ 2188902436
+ name 1_632_KEY_RED
+ 2188902437
+ name 1_632_KEY_YELLOW
+ 2188902438
+ name 1_632_KEY_MENU
+ 2188902447
+ name 1_632_KEY_MUP
+ 2188902448
+ name 1_632_KEY_MDOWN
+ 2188902449
+ name 1_632_KEY_MLEFT
+ 2188902450
+ name 1_632_KEY_MRIGHT
+ 2188902451
+ name 1_632_KEY_DSubtitle
+ 2188902468
+ name 1_633_KEY_0
+ 2188967936
+ name 1_633_KEY_1
+ 2188967937
+ name 1_633_KEY_2
+ 2188967938
+ name 1_633_KEY_3
+ 2188967939
+ name 1_633_KEY_4
+ 2188967940
+ name 1_633_KEY_5
+ 2188967941
+ name 1_633_KEY_6
+ 2188967942
+ name 1_633_KEY_7
+ 2188967943
+ name 1_633_KEY_8
+ 2188967944
+ name 1_633_KEY_9
+ 2188967945
+ name 1_633_KEY_POWER
+ 2188967946
+ name 1_633_KEY_CH_UP
+ 2188967951
+ name 1_633_KEY_CH_DOWN
+ 2188967952
+ name 1_633_KEY_MUTE
+ 2188967953
+ name 1_633_KEY_VOL_DOWN
+ 2188967954
+ name 1_633_CH_PREVIOUS
+ 2188967955
+ name 1_633_KEY_VOL_UP
+ 2188967956
+ name 1_633_KEY_MNSELECT
+ 2188967959
+ name 1_633_KEY_EXIT
+ 2188967960
+ name 1_633_KEY_GUIDE
+ 2188967963
+ name 1_633_KEY_MENU
+ 2188967983
+ name 1_633_KEY_MUP
+ 2188967984
+ name 1_633_KEY_MDOWN
+ 2188967985
+ name 1_633_KEY_MLEFT
+ 2188967986
+ name 1_633_KEY_MRIGHT
+ 2188967987
+ name 1_634_KEY_0
+ 2189033472
+ name 1_634_KEY_1
+ 2189033473
+ name 1_634_KEY_2
+ 2189033474
+ name 1_634_KEY_3
+ 2189033475
+ name 1_634_KEY_4
+ 2189033476
+ name 1_634_KEY_5
+ 2189033477
+ name 1_634_KEY_6
+ 2189033478
+ name 1_634_KEY_7
+ 2189033479
+ name 1_634_KEY_8
+ 2189033480
+ name 1_634_KEY_9
+ 2189033481
+ name 1_634_KEY_POWER
+ 2189033482
+ name 1_634_KEY_CH_UP
+ 2189033487
+ name 1_634_KEY_CH_DOWN
+ 2189033488
+ name 1_634_KEY_MUTE
+ 2189033489
+ name 1_634_KEY_VOL_DOWN
+ 2189033490
+ name 1_634_KEY_VOL_UP
+ 2189033492
+ name 1_634_KEY_MNSELECT
+ 2189033495
+ name 1_634_KEY_EXIT
+ 2189033496
+ name 1_634_KEY_GUIDE
+ 2189033499
+ name 1_634_KEY_MENU
+ 2189033519
+ name 1_634_KEY_MUP
+ 2189033520
+ name 1_634_KEY_MDOWN
+ 2189033521
+ name 1_634_KEY_MLEFT
+ 2189033522
+ name 1_634_KEY_MRIGHT
+ 2189033523
+ name 1_634_KEY_DSubtitle
+ 2189033540
+ name 1_635_KEY_0
+ 2189099008
+ name 1_635_KEY_1
+ 2189099009
+ name 1_635_KEY_2
+ 2189099010
+ name 1_635_KEY_3
+ 2189099011
+ name 1_635_KEY_4
+ 2189099012
+ name 1_635_KEY_5
+ 2189099013
+ name 1_635_KEY_6
+ 2189099014
+ name 1_635_KEY_7
+ 2189099015
+ name 1_635_KEY_8
+ 2189099016
+ name 1_635_KEY_9
+ 2189099017
+ name 1_635_KEY_POWER
+ 2189099018
+ name 1_635_KEY_CH_UP
+ 2189099023
+ name 1_635_KEY_CH_DOWN
+ 2189099024
+ name 1_635_KEY_MUTE
+ 2189099025
+ name 1_635_KEY_VOL_DOWN
+ 2189099026
+ name 1_635_CH_PREVIOUS
+ 2189099027
+ name 1_635_KEY_VOL_UP
+ 2189099028
+ name 1_635_KEY_MNSELECT
+ 2189099031
+ name 1_635_KEY_EXIT
+ 2189099032
+ name 1_635_KEY_GUIDE
+ 2189099035
+ name 1_635_KEY_MENU
+ 2189099055
+ name 1_635_KEY_MUP
+ 2189099056
+ name 1_635_KEY_MDOWN
+ 2189099057
+ name 1_635_KEY_MLEFT
+ 2189099058
+ name 1_635_KEY_MRIGHT
+ 2189099059
+ name 1_635_KEY_DSubtitle
+ 2189099076
+ name 1_636_KEY_0
+ 2189164544
+ name 1_636_KEY_1
+ 2189164545
+ name 1_636_KEY_2
+ 2189164546
+ name 1_636_KEY_3
+ 2189164547
+ name 1_636_KEY_4
+ 2189164548
+ name 1_636_KEY_5
+ 2189164549
+ name 1_636_KEY_6
+ 2189164550
+ name 1_636_KEY_7
+ 2189164551
+ name 1_636_KEY_8
+ 2189164552
+ name 1_636_KEY_9
+ 2189164553
+ name 1_636_KEY_POWER
+ 2189164554
+ name 1_636_KEY_CH_UP
+ 2189164559
+ name 1_636_KEY_CH_DOWN
+ 2189164560
+ name 1_636_KEY_MUTE
+ 2189164561
+ name 1_636_KEY_VOL_DOWN
+ 2189164562
+ name 1_636_KEY_VOL_UP
+ 2189164564
+ name 1_636_KEY_MNSELECT
+ 2189164567
+ name 1_636_KEY_MENU
+ 2189164591
+ name 1_636_KEY_MUP
+ 2189164592
+ name 1_636_KEY_MDOWN
+ 2189164593
+ name 1_636_KEY_MLEFT
+ 2189164594
+ name 1_636_KEY_MRIGHT
+ 2189164595
+ name 1_637_KEY_0
+ 2189230080
+ name 1_637_KEY_1
+ 2189230081
+ name 1_637_KEY_2
+ 2189230082
+ name 1_637_KEY_3
+ 2189230083
+ name 1_637_KEY_4
+ 2189230084
+ name 1_637_KEY_5
+ 2189230085
+ name 1_637_KEY_6
+ 2189230086
+ name 1_637_KEY_7
+ 2189230087
+ name 1_637_KEY_8
+ 2189230088
+ name 1_637_KEY_9
+ 2189230089
+ name 1_637_KEY_POWER
+ 2189230090
+ name 1_637_TWO_DIGITS
+ 2189230093
+ name 1_637_KEY_CH_UP
+ 2189230095
+ name 1_637_KEY_CH_DOWN
+ 2189230096
+ name 1_637_KEY_MUTE
+ 2189230097
+ name 1_637_KEY_VOL_DOWN
+ 2189230098
+ name 1_637_CH_PREVIOUS
+ 2189230099
+ name 1_637_KEY_VOL_UP
+ 2189230100
+ name 1_637_KEY_MNSELECT
+ 2189230103
+ name 1_637_KEY_EXIT
+ 2189230104
+ name 1_637_KEY_GUIDE
+ 2189230107
+ name 1_637_KEY_AV
+ 2189230121
+ name 1_637_KEY_MENU
+ 2189230127
+ name 1_637_KEY_MUP
+ 2189230128
+ name 1_637_KEY_MDOWN
+ 2189230129
+ name 1_637_KEY_MLEFT
+ 2189230130
+ name 1_637_KEY_MRIGHT
+ 2189230131
+ name 1_637_KEY_TTOnOff
+ 2189230153
+ name 1_638_KEY_0
+ 2189295616
+ name 1_638_KEY_1
+ 2189295617
+ name 1_638_KEY_2
+ 2189295618
+ name 1_638_KEY_3
+ 2189295619
+ name 1_638_KEY_4
+ 2189295620
+ name 1_638_KEY_5
+ 2189295621
+ name 1_638_KEY_6
+ 2189295622
+ name 1_638_KEY_7
+ 2189295623
+ name 1_638_KEY_8
+ 2189295624
+ name 1_638_KEY_9
+ 2189295625
+ name 1_638_KEY_POWER
+ 2189295626
+ name 1_638_KEY_CH_UP
+ 2189295631
+ name 1_638_KEY_CH_DOWN
+ 2189295632
+ name 1_638_KEY_MUTE
+ 2189295633
+ name 1_638_KEY_VOL_DOWN
+ 2189295634
+ name 1_638_KEY_VOL_UP
+ 2189295636
+ name 1_638_KEY_MNSELECT
+ 2189295639
+ name 1_638_KEY_EXIT
+ 2189295640
+ name 1_638_KEY_GUIDE
+ 2189295643
+ name 1_638_KEY_MNRETRUN
+ 2189295648
+ name 1_638_KEY_MENU
+ 2189295663
+ name 1_638_KEY_MUP
+ 2189295664
+ name 1_638_KEY_MDOWN
+ 2189295665
+ name 1_638_KEY_MLEFT
+ 2189295666
+ name 1_638_KEY_MRIGHT
+ 2189295667
+ name 1_638_KEY_DSubtitle
+ 2189295684
+ name 1_639_KEY_0
+ 2189361152
+ name 1_639_KEY_1
+ 2189361153
+ name 1_639_KEY_2
+ 2189361154
+ name 1_639_KEY_3
+ 2189361155
+ name 1_639_KEY_4
+ 2189361156
+ name 1_639_KEY_5
+ 2189361157
+ name 1_639_KEY_6
+ 2189361158
+ name 1_639_KEY_7
+ 2189361159
+ name 1_639_KEY_8
+ 2189361160
+ name 1_639_KEY_9
+ 2189361161
+ name 1_639_KEY_POWER
+ 2189361162
+ name 1_639_KEY_CH_UP
+ 2189361167
+ name 1_639_KEY_CH_DOWN
+ 2189361168
+ name 1_639_KEY_MNSELECT
+ 2189361175
+ name 1_639_KEY_MENU
+ 2189361199
+ name 1_639_KEY_MUP
+ 2189361200
+ name 1_639_KEY_MDOWN
+ 2189361201
+ name 1_639_KEY_MLEFT
+ 2189361202
+ name 1_639_KEY_MRIGHT
+ 2189361203
+ name 1_640_KEY_0
+ 2189426688
+ name 1_640_KEY_1
+ 2189426689
+ name 1_640_KEY_2
+ 2189426690
+ name 1_640_KEY_3
+ 2189426691
+ name 1_640_KEY_4
+ 2189426692
+ name 1_640_KEY_5
+ 2189426693
+ name 1_640_KEY_6
+ 2189426694
+ name 1_640_KEY_7
+ 2189426695
+ name 1_640_KEY_8
+ 2189426696
+ name 1_640_KEY_9
+ 2189426697
+ name 1_640_KEY_POWER
+ 2189426698
+ name 1_640_KEY_CH_UP
+ 2189426703
+ name 1_640_KEY_CH_DOWN
+ 2189426704
+ name 1_640_CH_PREVIOUS
+ 2189426707
+ name 1_640_KEY_MNSELECT
+ 2189426711
+ name 1_640_KEY_AV
+ 2189426729
+ name 1_640_KEY_MENU
+ 2189426735
+ name 1_640_KEY_MUP
+ 2189426736
+ name 1_640_KEY_MDOWN
+ 2189426737
+ name 1_640_KEY_MLEFT
+ 2189426738
+ name 1_640_KEY_MRIGHT
+ 2189426739
+ name 1_641_KEY_0
+ 2189492224
+ name 1_641_KEY_1
+ 2189492225
+ name 1_641_KEY_2
+ 2189492226
+ name 1_641_KEY_3
+ 2189492227
+ name 1_641_KEY_4
+ 2189492228
+ name 1_641_KEY_5
+ 2189492229
+ name 1_641_KEY_6
+ 2189492230
+ name 1_641_KEY_7
+ 2189492231
+ name 1_641_KEY_8
+ 2189492232
+ name 1_641_KEY_9
+ 2189492233
+ name 1_641_KEY_POWER
+ 2189492234
+ name 1_641_TWO_DIGITS
+ 2189492237
+ name 1_641_KEY_CH_UP
+ 2189492239
+ name 1_641_KEY_CH_DOWN
+ 2189492240
+ name 1_641_CH_PREVIOUS
+ 2189492243
+ name 1_641_KEY_MNSELECT
+ 2189492247
+ name 1_641_KEY_EXIT
+ 2189492248
+ name 1_641_KEY_GUIDE
+ 2189492251
+ name 1_641_KEY_BLUE
+ 2189492259
+ name 1_641_KEY_GREEN
+ 2189492260
+ name 1_641_KEY_RED
+ 2189492261
+ name 1_641_KEY_YELLOW
+ 2189492262
+ name 1_641_KEY_MENU
+ 2189492271
+ name 1_641_KEY_MUP
+ 2189492272
+ name 1_641_KEY_MDOWN
+ 2189492273
+ name 1_641_KEY_MLEFT
+ 2189492274
+ name 1_641_KEY_MRIGHT
+ 2189492275
+ name 1_641_KEY_DGuide
+ 2189492291
+ name 1_642_KEY_0
+ 2189557760
+ name 1_642_KEY_1
+ 2189557761
+ name 1_642_KEY_2
+ 2189557762
+ name 1_642_KEY_3
+ 2189557763
+ name 1_642_KEY_4
+ 2189557764
+ name 1_642_KEY_5
+ 2189557765
+ name 1_642_KEY_6
+ 2189557766
+ name 1_642_KEY_7
+ 2189557767
+ name 1_642_KEY_8
+ 2189557768
+ name 1_642_KEY_9
+ 2189557769
+ name 1_642_KEY_POWER
+ 2189557770
+ name 1_642_KEY_CH_UP
+ 2189557775
+ name 1_642_KEY_CH_DOWN
+ 2189557776
+ name 1_642_KEY_MNSELECT
+ 2189557783
+ name 1_642_KEY_EXIT
+ 2189557784
+ name 1_642_KEY_GUIDE
+ 2189557787
+ name 1_642_KEY_BLUE
+ 2189557795
+ name 1_642_KEY_GREEN
+ 2189557796
+ name 1_642_KEY_RED
+ 2189557797
+ name 1_642_KEY_YELLOW
+ 2189557798
+ name 1_642_KEY_AV
+ 2189557801
+ name 1_642_KEY_MENU
+ 2189557807
+ name 1_642_KEY_MUP
+ 2189557808
+ name 1_642_KEY_MDOWN
+ 2189557809
+ name 1_642_KEY_MLEFT
+ 2189557810
+ name 1_642_KEY_MRIGHT
+ 2189557811
+ name 1_642_KEY_DGuide
+ 2189557827
+ name 1_643_KEY_0
+ 2189623296
+ name 1_643_KEY_1
+ 2189623297
+ name 1_643_KEY_2
+ 2189623298
+ name 1_643_KEY_3
+ 2189623299
+ name 1_643_KEY_4
+ 2189623300
+ name 1_643_KEY_5
+ 2189623301
+ name 1_643_KEY_6
+ 2189623302
+ name 1_643_KEY_7
+ 2189623303
+ name 1_643_KEY_8
+ 2189623304
+ name 1_643_KEY_9
+ 2189623305
+ name 1_643_KEY_POWER
+ 2189623306
+ name 1_643_KEY_CH_UP
+ 2189623311
+ name 1_643_KEY_CH_DOWN
+ 2189623312
+ name 1_643_CH_PREVIOUS
+ 2189623315
+ name 1_643_KEY_MENU
+ 2189623343
+ name 1_643_KEY_MUP
+ 2189623344
+ name 1_643_KEY_MDOWN
+ 2189623345
+ name 1_643_KEY_MLEFT
+ 2189623346
+ name 1_643_KEY_MRIGHT
+ 2189623347
+ name 1_644_KEY_0
+ 2189688832
+ name 1_644_KEY_1
+ 2189688833
+ name 1_644_KEY_2
+ 2189688834
+ name 1_644_KEY_3
+ 2189688835
+ name 1_644_KEY_4
+ 2189688836
+ name 1_644_KEY_5
+ 2189688837
+ name 1_644_KEY_6
+ 2189688838
+ name 1_644_KEY_7
+ 2189688839
+ name 1_644_KEY_8
+ 2189688840
+ name 1_644_KEY_9
+ 2189688841
+ name 1_644_KEY_POWER
+ 2189688842
+ name 1_644_KEY_CH_UP
+ 2189688847
+ name 1_644_KEY_CH_DOWN
+ 2189688848
+ name 1_644_KEY_EXIT
+ 2189688856
+ name 1_644_KEY_GUIDE
+ 2189688859
+ name 1_644_KEY_MENU
+ 2189688879
+ name 1_644_KEY_MUP
+ 2189688880
+ name 1_644_KEY_MDOWN
+ 2189688881
+ name 1_644_KEY_MLEFT
+ 2189688882
+ name 1_644_KEY_MRIGHT
+ 2189688883
+ name 1_644_KEY_DGuide
+ 2189688899
+ name 1_645_KEY_0
+ 2189754368
+ name 1_645_KEY_1
+ 2189754369
+ name 1_645_KEY_2
+ 2189754370
+ name 1_645_KEY_3
+ 2189754371
+ name 1_645_KEY_4
+ 2189754372
+ name 1_645_KEY_5
+ 2189754373
+ name 1_645_KEY_6
+ 2189754374
+ name 1_645_KEY_7
+ 2189754375
+ name 1_645_KEY_8
+ 2189754376
+ name 1_645_KEY_9
+ 2189754377
+ name 1_645_KEY_POWER
+ 2189754378
+ name 1_645_KEY_CH_UP
+ 2189754383
+ name 1_645_KEY_CH_DOWN
+ 2189754384
+ name 1_645_CH_PREVIOUS
+ 2189754387
+ name 1_645_KEY_MNSELECT
+ 2189754391
+ name 1_645_KEY_GUIDE
+ 2189754395
+ name 1_645_KEY_BLUE
+ 2189754403
+ name 1_645_KEY_GREEN
+ 2189754404
+ name 1_645_KEY_RED
+ 2189754405
+ name 1_645_KEY_YELLOW
+ 2189754406
+ name 1_645_KEY_MENU
+ 2189754415
+ name 1_645_KEY_MUP
+ 2189754416
+ name 1_645_KEY_MDOWN
+ 2189754417
+ name 1_645_KEY_MLEFT
+ 2189754418
+ name 1_645_KEY_MRIGHT
+ 2189754419
+ name 1_645_KEY_On
+ 2189754445
+ name 1_646_KEY_0
+ 2189819904
+ name 1_646_KEY_1
+ 2189819905
+ name 1_646_KEY_2
+ 2189819906
+ name 1_646_KEY_3
+ 2189819907
+ name 1_646_KEY_4
+ 2189819908
+ name 1_646_KEY_5
+ 2189819909
+ name 1_646_KEY_6
+ 2189819910
+ name 1_646_KEY_7
+ 2189819911
+ name 1_646_KEY_8
+ 2189819912
+ name 1_646_KEY_9
+ 2189819913
+ name 1_646_KEY_POWER
+ 2189819914
+ name 1_646_TWO_DIGITS
+ 2189819917
+ name 1_646_KEY_CH_UP
+ 2189819919
+ name 1_646_KEY_CH_DOWN
+ 2189819920
+ name 1_646_KEY_BLUE
+ 2189819939
+ name 1_646_KEY_GREEN
+ 2189819940
+ name 1_646_KEY_RED
+ 2189819941
+ name 1_646_KEY_YELLOW
+ 2189819942
+ name 1_646_KEY_MENU
+ 2189819951
+ name 1_646_KEY_On
+ 2189819981
+ name 1_647_KEY_0
+ 2189885440
+ name 1_647_KEY_1
+ 2189885441
+ name 1_647_KEY_2
+ 2189885442
+ name 1_647_KEY_3
+ 2189885443
+ name 1_647_KEY_4
+ 2189885444
+ name 1_647_KEY_5
+ 2189885445
+ name 1_647_KEY_6
+ 2189885446
+ name 1_647_KEY_7
+ 2189885447
+ name 1_647_KEY_8
+ 2189885448
+ name 1_647_KEY_9
+ 2189885449
+ name 1_647_KEY_POWER
+ 2189885450
+ name 1_647_KEY_CH_UP
+ 2189885455
+ name 1_647_KEY_CH_DOWN
+ 2189885456
+ name 1_648_KEY_0
+ 2189950976
+ name 1_648_KEY_1
+ 2189950977
+ name 1_648_KEY_2
+ 2189950978
+ name 1_648_KEY_3
+ 2189950979
+ name 1_648_KEY_4
+ 2189950980
+ name 1_648_KEY_5
+ 2189950981
+ name 1_648_KEY_6
+ 2189950982
+ name 1_648_KEY_7
+ 2189950983
+ name 1_648_KEY_8
+ 2189950984
+ name 1_648_KEY_9
+ 2189950985
+ name 1_648_KEY_POWER
+ 2189950986
+ name 1_648_KEY_CH_UP
+ 2189950991
+ name 1_648_KEY_CH_DOWN
+ 2189950992
+ name 1_648_KEY_MENU
+ 2189951023
+ name 1_648_KEY_MUP
+ 2189951024
+ name 1_648_KEY_MDOWN
+ 2189951025
+ name 1_649_KEY_0
+ 2190016512
+ name 1_649_KEY_1
+ 2190016513
+ name 1_649_KEY_2
+ 2190016514
+ name 1_649_KEY_3
+ 2190016515
+ name 1_649_KEY_4
+ 2190016516
+ name 1_649_KEY_5
+ 2190016517
+ name 1_649_KEY_6
+ 2190016518
+ name 1_649_KEY_7
+ 2190016519
+ name 1_649_KEY_8
+ 2190016520
+ name 1_649_KEY_9
+ 2190016521
+ name 1_649_KEY_POWER
+ 2190016522
+ name 1_649_TWO_DIGITS
+ 2190016525
+ name 1_649_KEY_CH_UP
+ 2190016527
+ name 1_649_KEY_CH_DOWN
+ 2190016528
+ name 1_650_KEY_0
+ 2190082048
+ name 1_650_KEY_1
+ 2190082049
+ name 1_650_KEY_2
+ 2190082050
+ name 1_650_KEY_3
+ 2190082051
+ name 1_650_KEY_4
+ 2190082052
+ name 1_650_KEY_5
+ 2190082053
+ name 1_650_KEY_6
+ 2190082054
+ name 1_650_KEY_7
+ 2190082055
+ name 1_650_KEY_8
+ 2190082056
+ name 1_650_KEY_9
+ 2190082057
+ name 1_650_KEY_POWER
+ 2190082058
+ name 1_650_TWO_DIGITS
+ 2190082061
+ name 1_650_KEY_CH_UP
+ 2190082063
+ name 1_650_KEY_CH_DOWN
+ 2190082064
+ name 1_650_KEY_MNSELECT
+ 2190082071
+ name 1_650_KEY_BLUE
+ 2190082083
+ name 1_650_KEY_GREEN
+ 2190082084
+ name 1_650_KEY_RED
+ 2190082085
+ name 1_650_KEY_YELLOW
+ 2190082086
+ name 1_650_KEY_MENU
+ 2190082095
+ name 1_650_KEY_MUP
+ 2190082096
+ name 1_650_KEY_MDOWN
+ 2190082097
+ name 1_650_KEY_On
+ 2190082125
+ name 1_651_KEY_0
+ 2190147584
+ name 1_651_KEY_1
+ 2190147585
+ name 1_651_KEY_2
+ 2190147586
+ name 1_651_KEY_3
+ 2190147587
+ name 1_651_KEY_4
+ 2190147588
+ name 1_651_KEY_5
+ 2190147589
+ name 1_651_KEY_6
+ 2190147590
+ name 1_651_KEY_7
+ 2190147591
+ name 1_651_KEY_8
+ 2190147592
+ name 1_651_KEY_9
+ 2190147593
+ name 1_651_KEY_POWER
+ 2190147594
+ name 1_651_KEY_CH_UP
+ 2190147599
+ name 1_651_KEY_CH_DOWN
+ 2190147600
+ name 1_652_KEY_0
+ 2190213120
+ name 1_652_KEY_1
+ 2190213121
+ name 1_652_KEY_2
+ 2190213122
+ name 1_652_KEY_3
+ 2190213123
+ name 1_652_KEY_4
+ 2190213124
+ name 1_652_KEY_5
+ 2190213125
+ name 1_652_KEY_6
+ 2190213126
+ name 1_652_KEY_7
+ 2190213127
+ name 1_652_KEY_8
+ 2190213128
+ name 1_652_KEY_9
+ 2190213129
+ name 1_652_KEY_POWER
+ 2190213130
+ name 1_652_KEY_CH_UP
+ 2190213135
+ name 1_652_KEY_CH_DOWN
+ 2190213136
+ name 1_653_KEY_0
+ 2190278656
+ name 1_653_KEY_1
+ 2190278657
+ name 1_653_KEY_2
+ 2190278658
+ name 1_653_KEY_3
+ 2190278659
+ name 1_653_KEY_4
+ 2190278660
+ name 1_653_KEY_5
+ 2190278661
+ name 1_653_KEY_6
+ 2190278662
+ name 1_653_KEY_7
+ 2190278663
+ name 1_653_KEY_8
+ 2190278664
+ name 1_653_KEY_9
+ 2190278665
+ name 1_653_KEY_POWER
+ 2190278666
+ name 1_653_KEY_CH_UP
+ 2190278671
+ name 1_653_KEY_CH_DOWN
+ 2190278672
+ name 1_654_KEY_0
+ 2190344192
+ name 1_654_KEY_1
+ 2190344193
+ name 1_654_KEY_2
+ 2190344194
+ name 1_654_KEY_3
+ 2190344195
+ name 1_654_KEY_4
+ 2190344196
+ name 1_654_KEY_5
+ 2190344197
+ name 1_654_KEY_6
+ 2190344198
+ name 1_654_KEY_7
+ 2190344199
+ name 1_654_KEY_8
+ 2190344200
+ name 1_654_KEY_9
+ 2190344201
+ name 1_654_KEY_POWER
+ 2190344202
+ name 1_654_TWO_DIGITS
+ 2190344205
+ name 1_654_KEY_CH_UP
+ 2190344207
+ name 1_654_KEY_CH_DOWN
+ 2190344208
+ name 1_654_CH_PREVIOUS
+ 2190344211
+ name 1_654_KEY_MNSELECT
+ 2190344215
+ name 1_654_KEY_MUP
+ 2190344240
+ name 1_654_KEY_MDOWN
+ 2190344241
+ name 1_655_KEY_0
+ 2190409728
+ name 1_655_KEY_1
+ 2190409729
+ name 1_655_KEY_2
+ 2190409730
+ name 1_655_KEY_3
+ 2190409731
+ name 1_655_KEY_4
+ 2190409732
+ name 1_655_KEY_5
+ 2190409733
+ name 1_655_KEY_6
+ 2190409734
+ name 1_655_KEY_7
+ 2190409735
+ name 1_655_KEY_8
+ 2190409736
+ name 1_655_KEY_9
+ 2190409737
+ name 1_655_KEY_POWER
+ 2190409738
+ name 1_655_KEY_CH_UP
+ 2190409743
+ name 1_655_KEY_CH_DOWN
+ 2190409744
+ name 1_655_KEY_MNSELECT
+ 2190409751
+ name 1_655_KEY_EXIT
+ 2190409752
+ name 1_655_KEY_GUIDE
+ 2190409755
+ name 1_655_KEY_MNRETRUN
+ 2190409760
+ name 1_655_KEY_BLUE
+ 2190409763
+ name 1_655_KEY_GREEN
+ 2190409764
+ name 1_655_KEY_RED
+ 2190409765
+ name 1_655_KEY_YELLOW
+ 2190409766
+ name 1_655_KEY_MENU
+ 2190409775
+ name 1_655_KEY_MUP
+ 2190409776
+ name 1_655_KEY_MDOWN
+ 2190409777
+ name 1_655_KEY_MLEFT
+ 2190409778
+ name 1_655_KEY_MRIGHT
+ 2190409779
+ name 1_655_KEY_DSubtitle
+ 2190409796
+ name 1_655_KEY_TTOnOff
+ 2190409801
+ name 1_656_KEY_0
+ 2190475264
+ name 1_656_KEY_1
+ 2190475265
+ name 1_656_KEY_2
+ 2190475266
+ name 1_656_KEY_3
+ 2190475267
+ name 1_656_KEY_4
+ 2190475268
+ name 1_656_KEY_5
+ 2190475269
+ name 1_656_KEY_6
+ 2190475270
+ name 1_656_KEY_7
+ 2190475271
+ name 1_656_KEY_8
+ 2190475272
+ name 1_656_KEY_9
+ 2190475273
+ name 1_656_KEY_POWER
+ 2190475274
+ name 1_656_KEY_CH_UP
+ 2190475279
+ name 1_656_KEY_CH_DOWN
+ 2190475280
+ name 1_656_KEY_MUTE
+ 2190475281
+ name 1_656_KEY_VOL_DOWN
+ 2190475282
+ name 1_656_KEY_VOL_UP
+ 2190475284
+ name 1_656_KEY_MNSELECT
+ 2190475287
+ name 1_656_KEY_EXIT
+ 2190475288
+ name 1_656_KEY_GUIDE
+ 2190475291
+ name 1_656_KEY_MNRETRUN
+ 2190475296
+ name 1_656_KEY_MENU
+ 2190475311
+ name 1_656_KEY_MUP
+ 2190475312
+ name 1_656_KEY_MDOWN
+ 2190475313
+ name 1_656_KEY_MLEFT
+ 2190475314
+ name 1_656_KEY_MRIGHT
+ 2190475315
+ name 1_656_KEY_DSubtitle
+ 2190475332
+ name 1_657_KEY_0
+ 2190540800
+ name 1_657_KEY_1
+ 2190540801
+ name 1_657_KEY_2
+ 2190540802
+ name 1_657_KEY_3
+ 2190540803
+ name 1_657_KEY_4
+ 2190540804
+ name 1_657_KEY_5
+ 2190540805
+ name 1_657_KEY_6
+ 2190540806
+ name 1_657_KEY_7
+ 2190540807
+ name 1_657_KEY_8
+ 2190540808
+ name 1_657_KEY_9
+ 2190540809
+ name 1_657_KEY_POWER
+ 2190540810
+ name 1_657_KEY_CH_UP
+ 2190540815
+ name 1_657_KEY_CH_DOWN
+ 2190540816
+ name 1_657_KEY_MNSELECT
+ 2190540823
+ name 1_657_KEY_EXIT
+ 2190540824
+ name 1_657_KEY_GUIDE
+ 2190540827
+ name 1_657_KEY_MNRETRUN
+ 2190540832
+ name 1_657_KEY_BLUE
+ 2190540835
+ name 1_657_KEY_GREEN
+ 2190540836
+ name 1_657_KEY_RED
+ 2190540837
+ name 1_657_KEY_YELLOW
+ 2190540838
+ name 1_657_KEY_MENU
+ 2190540847
+ name 1_657_KEY_MUP
+ 2190540848
+ name 1_657_KEY_MDOWN
+ 2190540849
+ name 1_657_KEY_MLEFT
+ 2190540850
+ name 1_657_KEY_MRIGHT
+ 2190540851
+ name 1_657_KEY_DSubtitle
+ 2190540868
+ name 1_657_KEY_TTOnOff
+ 2190540873
+ name 1_658_KEY_0
+ 2190606336
+ name 1_658_KEY_1
+ 2190606337
+ name 1_658_KEY_2
+ 2190606338
+ name 1_658_KEY_3
+ 2190606339
+ name 1_658_KEY_4
+ 2190606340
+ name 1_658_KEY_5
+ 2190606341
+ name 1_658_KEY_6
+ 2190606342
+ name 1_658_KEY_7
+ 2190606343
+ name 1_658_KEY_8
+ 2190606344
+ name 1_658_KEY_9
+ 2190606345
+ name 1_658_KEY_POWER
+ 2190606346
+ name 1_658_KEY_CH_UP
+ 2190606351
+ name 1_658_KEY_CH_DOWN
+ 2190606352
+ name 1_658_KEY_MUTE
+ 2190606353
+ name 1_658_KEY_VOL_DOWN
+ 2190606354
+ name 1_658_KEY_VOL_UP
+ 2190606356
+ name 1_658_KEY_EXIT
+ 2190606360
+ name 1_658_KEY_GUIDE
+ 2190606363
+ name 1_658_KEY_BLUE
+ 2190606371
+ name 1_658_KEY_GREEN
+ 2190606372
+ name 1_658_KEY_RED
+ 2190606373
+ name 1_658_KEY_YELLOW
+ 2190606374
+ name 1_658_KEY_MENU
+ 2190606383
+ name 1_658_KEY_MUP
+ 2190606384
+ name 1_658_KEY_MDOWN
+ 2190606385
+ name 1_658_KEY_MLEFT
+ 2190606386
+ name 1_658_KEY_MRIGHT
+ 2190606387
+ name 1_658_KEY_DSubtitle
+ 2190606404
+ name 1_658_KEY_TTOnOff
+ 2190606409
+ name 1_659_KEY_0
+ 2190671872
+ name 1_659_KEY_1
+ 2190671873
+ name 1_659_KEY_2
+ 2190671874
+ name 1_659_KEY_3
+ 2190671875
+ name 1_659_KEY_4
+ 2190671876
+ name 1_659_KEY_5
+ 2190671877
+ name 1_659_KEY_6
+ 2190671878
+ name 1_659_KEY_7
+ 2190671879
+ name 1_659_KEY_8
+ 2190671880
+ name 1_659_KEY_9
+ 2190671881
+ name 1_659_KEY_POWER
+ 2190671882
+ name 1_659_KEY_CH_UP
+ 2190671887
+ name 1_659_KEY_CH_DOWN
+ 2190671888
+ name 1_659_KEY_MUTE
+ 2190671889
+ name 1_659_KEY_VOL_DOWN
+ 2190671890
+ name 1_659_KEY_VOL_UP
+ 2190671892
+ name 1_659_KEY_MNSELECT
+ 2190671895
+ name 1_659_KEY_EXIT
+ 2190671896
+ name 1_659_KEY_GUIDE
+ 2190671899
+ name 1_659_KEY_MNRETRUN
+ 2190671904
+ name 1_659_KEY_MENU
+ 2190671919
+ name 1_659_KEY_MUP
+ 2190671920
+ name 1_659_KEY_MDOWN
+ 2190671921
+ name 1_659_KEY_MLEFT
+ 2190671922
+ name 1_659_KEY_MRIGHT
+ 2190671923
+ name 1_659_KEY_DSubtitle
+ 2190671940
+ name 1_660_KEY_0
+ 2190737408
+ name 1_660_KEY_1
+ 2190737409
+ name 1_660_KEY_2
+ 2190737410
+ name 1_660_KEY_3
+ 2190737411
+ name 1_660_KEY_4
+ 2190737412
+ name 1_660_KEY_5
+ 2190737413
+ name 1_660_KEY_6
+ 2190737414
+ name 1_660_KEY_7
+ 2190737415
+ name 1_660_KEY_8
+ 2190737416
+ name 1_660_KEY_9
+ 2190737417
+ name 1_660_KEY_POWER
+ 2190737418
+ name 1_660_KEY_CH_UP
+ 2190737423
+ name 1_660_KEY_CH_DOWN
+ 2190737424
+ name 1_660_KEY_MUTE
+ 2190737425
+ name 1_660_KEY_VOL_DOWN
+ 2190737426
+ name 1_660_KEY_VOL_UP
+ 2190737428
+ name 1_660_KEY_EXIT
+ 2190737432
+ name 1_660_KEY_GUIDE
+ 2190737435
+ name 1_660_KEY_BLUE
+ 2190737443
+ name 1_660_KEY_GREEN
+ 2190737444
+ name 1_660_KEY_RED
+ 2190737445
+ name 1_660_KEY_YELLOW
+ 2190737446
+ name 1_660_KEY_MENU
+ 2190737455
+ name 1_660_KEY_MUP
+ 2190737456
+ name 1_660_KEY_MDOWN
+ 2190737457
+ name 1_660_KEY_MLEFT
+ 2190737458
+ name 1_660_KEY_MRIGHT
+ 2190737459
+ name 1_660_KEY_TTOnOff
+ 2190737481
+ name 1_661_KEY_0
+ 2190802944
+ name 1_661_KEY_1
+ 2190802945
+ name 1_661_KEY_2
+ 2190802946
+ name 1_661_KEY_3
+ 2190802947
+ name 1_661_KEY_4
+ 2190802948
+ name 1_661_KEY_5
+ 2190802949
+ name 1_661_KEY_6
+ 2190802950
+ name 1_661_KEY_7
+ 2190802951
+ name 1_661_KEY_8
+ 2190802952
+ name 1_661_KEY_9
+ 2190802953
+ name 1_661_KEY_POWER
+ 2190802954
+ name 1_661_TWO_DIGITS
+ 2190802957
+ name 1_661_KEY_CH_UP
+ 2190802959
+ name 1_661_KEY_CH_DOWN
+ 2190802960
+ name 1_661_KEY_DISPLAY
+ 2190802965
+ name 1_661_KEY_MNSELECT
+ 2190802967
+ name 1_661_KEY_EXIT
+ 2190802968
+ name 1_661_KEY_BLUE
+ 2190802979
+ name 1_661_KEY_GREEN
+ 2190802980
+ name 1_661_KEY_RED
+ 2190802981
+ name 1_661_KEY_YELLOW
+ 2190802982
+ name 1_661_KEY_MENU
+ 2190802991
+ name 1_661_KEY_MUP
+ 2190802992
+ name 1_661_KEY_MDOWN
+ 2190802993
+ name 1_661_KEY_MLEFT
+ 2190802994
+ name 1_661_KEY_MRIGHT
+ 2190802995
+ name 1_661_KEY_On
+ 2190803021
+ name 1_662_KEY_0
+ 2190868480
+ name 1_662_KEY_1
+ 2190868481
+ name 1_662_KEY_2
+ 2190868482
+ name 1_662_KEY_3
+ 2190868483
+ name 1_662_KEY_4
+ 2190868484
+ name 1_662_KEY_5
+ 2190868485
+ name 1_662_KEY_6
+ 2190868486
+ name 1_662_KEY_7
+ 2190868487
+ name 1_662_KEY_8
+ 2190868488
+ name 1_662_KEY_9
+ 2190868489
+ name 1_662_KEY_POWER
+ 2190868490
+ name 1_662_KEY_CH_UP
+ 2190868495
+ name 1_662_KEY_CH_DOWN
+ 2190868496
+ name 1_662_KEY_MUTE
+ 2190868497
+ name 1_662_KEY_VOL_DOWN
+ 2190868498
+ name 1_662_KEY_VOL_UP
+ 2190868500
+ name 1_662_KEY_MENU
+ 2190868527
+ name 1_662_KEY_MUP
+ 2190868528
+ name 1_662_KEY_MDOWN
+ 2190868529
+ name 1_662_KEY_MLEFT
+ 2190868530
+ name 1_662_KEY_MRIGHT
+ 2190868531
+ name 1_662_KEY_Sleep
+ 2190868543
+ name 1_663_KEY_0
+ 2190934016
+ name 1_663_KEY_1
+ 2190934017
+ name 1_663_KEY_2
+ 2190934018
+ name 1_663_KEY_3
+ 2190934019
+ name 1_663_KEY_4
+ 2190934020
+ name 1_663_KEY_5
+ 2190934021
+ name 1_663_KEY_6
+ 2190934022
+ name 1_663_KEY_7
+ 2190934023
+ name 1_663_KEY_8
+ 2190934024
+ name 1_663_KEY_9
+ 2190934025
+ name 1_663_KEY_POWER
+ 2190934026
+ name 1_663_KEY_CH_UP
+ 2190934031
+ name 1_663_KEY_CH_DOWN
+ 2190934032
+ name 1_663_KEY_GUIDE
+ 2190934043
+ name 1_663_KEY_MNRETRUN
+ 2190934048
+ name 1_663_KEY_BLUE
+ 2190934051
+ name 1_663_KEY_GREEN
+ 2190934052
+ name 1_663_KEY_RED
+ 2190934053
+ name 1_663_KEY_YELLOW
+ 2190934054
+ name 1_663_KEY_MENU
+ 2190934063
+ name 1_663_KEY_MUP
+ 2190934064
+ name 1_663_KEY_MDOWN
+ 2190934065
+ name 1_663_KEY_MLEFT
+ 2190934066
+ name 1_663_KEY_MRIGHT
+ 2190934067
+ name 1_663_KEY_On
+ 2190934093
+ name 1_663_KEY_Off
+ 2190934094
+ name 1_664_KEY_0
+ 2190999552
+ name 1_664_KEY_1
+ 2190999553
+ name 1_664_KEY_2
+ 2190999554
+ name 1_664_KEY_3
+ 2190999555
+ name 1_664_KEY_4
+ 2190999556
+ name 1_664_KEY_5
+ 2190999557
+ name 1_664_KEY_6
+ 2190999558
+ name 1_664_KEY_7
+ 2190999559
+ name 1_664_KEY_8
+ 2190999560
+ name 1_664_KEY_9
+ 2190999561
+ name 1_664_KEY_POWER
+ 2190999562
+ name 1_664_KEY_CH_UP
+ 2190999567
+ name 1_664_KEY_CH_DOWN
+ 2190999568
+ name 1_664_KEY_MUTE
+ 2190999569
+ name 1_664_KEY_VOL_DOWN
+ 2190999570
+ name 1_664_CH_PREVIOUS
+ 2190999571
+ name 1_664_KEY_VOL_UP
+ 2190999572
+ name 1_664_KEY_MNSELECT
+ 2190999575
+ name 1_664_KEY_EXIT
+ 2190999576
+ name 1_664_KEY_GUIDE
+ 2190999579
+ name 1_664_KEY_MENU
+ 2190999599
+ name 1_664_KEY_MUP
+ 2190999600
+ name 1_664_KEY_MDOWN
+ 2190999601
+ name 1_664_KEY_MLEFT
+ 2190999602
+ name 1_664_KEY_MRIGHT
+ 2190999603
+ name 1_665_KEY_0
+ 2191065088
+ name 1_665_KEY_1
+ 2191065089
+ name 1_665_KEY_2
+ 2191065090
+ name 1_665_KEY_3
+ 2191065091
+ name 1_665_KEY_4
+ 2191065092
+ name 1_665_KEY_5
+ 2191065093
+ name 1_665_KEY_6
+ 2191065094
+ name 1_665_KEY_7
+ 2191065095
+ name 1_665_KEY_8
+ 2191065096
+ name 1_665_KEY_9
+ 2191065097
+ name 1_665_KEY_POWER
+ 2191065098
+ name 1_665_KEY_CH_UP
+ 2191065103
+ name 1_665_KEY_CH_DOWN
+ 2191065104
+ name 1_665_KEY_MUTE
+ 2191065105
+ name 1_665_KEY_VOL_DOWN
+ 2191065106
+ name 1_665_CH_PREVIOUS
+ 2191065107
+ name 1_665_KEY_VOL_UP
+ 2191065108
+ name 1_665_KEY_MNSELECT
+ 2191065111
+ name 1_665_KEY_EXIT
+ 2191065112
+ name 1_665_KEY_GUIDE
+ 2191065115
+ name 1_665_KEY_MENU
+ 2191065135
+ name 1_665_KEY_MUP
+ 2191065136
+ name 1_665_KEY_MDOWN
+ 2191065137
+ name 1_665_KEY_MLEFT
+ 2191065138
+ name 1_665_KEY_MRIGHT
+ 2191065139
+ name 1_665_KEY_DSubtitle
+ 2191065156
+ name 1_665_KEY_On
+ 2191065165
+ name 1_665_KEY_Off
+ 2191065166
+ name 1_666_KEY_0
+ 2191130624
+ name 1_666_KEY_1
+ 2191130625
+ name 1_666_KEY_2
+ 2191130626
+ name 1_666_KEY_3
+ 2191130627
+ name 1_666_KEY_4
+ 2191130628
+ name 1_666_KEY_5
+ 2191130629
+ name 1_666_KEY_6
+ 2191130630
+ name 1_666_KEY_7
+ 2191130631
+ name 1_666_KEY_8
+ 2191130632
+ name 1_666_KEY_9
+ 2191130633
+ name 1_666_KEY_POWER
+ 2191130634
+ name 1_666_KEY_CH_UP
+ 2191130639
+ name 1_666_KEY_CH_DOWN
+ 2191130640
+ name 1_666_KEY_MUTE
+ 2191130641
+ name 1_666_KEY_VOL_DOWN
+ 2191130642
+ name 1_666_CH_PREVIOUS
+ 2191130643
+ name 1_666_KEY_VOL_UP
+ 2191130644
+ name 1_666_KEY_MNSELECT
+ 2191130647
+ name 1_666_KEY_GUIDE
+ 2191130651
+ name 1_666_KEY_MNRETRUN
+ 2191130656
+ name 1_666_KEY_BLUE
+ 2191130659
+ name 1_666_KEY_GREEN
+ 2191130660
+ name 1_666_KEY_RED
+ 2191130661
+ name 1_666_KEY_YELLOW
+ 2191130662
+ name 1_666_KEY_MUP
+ 2191130672
+ name 1_666_KEY_MDOWN
+ 2191130673
+ name 1_666_KEY_MLEFT
+ 2191130674
+ name 1_666_KEY_MRIGHT
+ 2191130675
+ name 1_666_KEY_Sleep
+ 2191130687
+ name 1_666_KEY_Off
+ 2191130702
+ name 1_667_KEY_0
+ 2191196160
+ name 1_667_KEY_1
+ 2191196161
+ name 1_667_KEY_2
+ 2191196162
+ name 1_667_KEY_3
+ 2191196163
+ name 1_667_KEY_4
+ 2191196164
+ name 1_667_KEY_5
+ 2191196165
+ name 1_667_KEY_6
+ 2191196166
+ name 1_667_KEY_7
+ 2191196167
+ name 1_667_KEY_8
+ 2191196168
+ name 1_667_KEY_9
+ 2191196169
+ name 1_667_KEY_POWER
+ 2191196170
+ name 1_667_KEY_CH_UP
+ 2191196175
+ name 1_667_KEY_CH_DOWN
+ 2191196176
+ name 1_667_KEY_MUTE
+ 2191196177
+ name 1_667_KEY_VOL_DOWN
+ 2191196178
+ name 1_667_CH_PREVIOUS
+ 2191196179
+ name 1_667_KEY_VOL_UP
+ 2191196180
+ name 1_667_KEY_MNSELECT
+ 2191196183
+ name 1_667_KEY_GUIDE
+ 2191196187
+ name 1_667_KEY_MNRETRUN
+ 2191196192
+ name 1_667_KEY_BLUE
+ 2191196195
+ name 1_667_KEY_GREEN
+ 2191196196
+ name 1_667_KEY_RED
+ 2191196197
+ name 1_667_KEY_YELLOW
+ 2191196198
+ name 1_667_KEY_MUP
+ 2191196208
+ name 1_667_KEY_MDOWN
+ 2191196209
+ name 1_667_KEY_MLEFT
+ 2191196210
+ name 1_667_KEY_MRIGHT
+ 2191196211
+ name 1_667_KEY_On
+ 2191196237
+ name 1_667_KEY_Off
+ 2191196238
+ name 1_668_KEY_0
+ 2191261696
+ name 1_668_KEY_1
+ 2191261697
+ name 1_668_KEY_2
+ 2191261698
+ name 1_668_KEY_3
+ 2191261699
+ name 1_668_KEY_4
+ 2191261700
+ name 1_668_KEY_5
+ 2191261701
+ name 1_668_KEY_6
+ 2191261702
+ name 1_668_KEY_7
+ 2191261703
+ name 1_668_KEY_8
+ 2191261704
+ name 1_668_KEY_9
+ 2191261705
+ name 1_668_KEY_POWER
+ 2191261706
+ name 1_668_KEY_CH_UP
+ 2191261711
+ name 1_668_KEY_CH_DOWN
+ 2191261712
+ name 1_668_KEY_MUTE
+ 2191261713
+ name 1_668_KEY_VOL_DOWN
+ 2191261714
+ name 1_668_CH_PREVIOUS
+ 2191261715
+ name 1_668_KEY_VOL_UP
+ 2191261716
+ name 1_668_KEY_MNSELECT
+ 2191261719
+ name 1_668_KEY_GUIDE
+ 2191261723
+ name 1_668_KEY_MNRETRUN
+ 2191261728
+ name 1_668_KEY_BLUE
+ 2191261731
+ name 1_668_KEY_GREEN
+ 2191261732
+ name 1_668_KEY_RED
+ 2191261733
+ name 1_668_KEY_YELLOW
+ 2191261734
+ name 1_668_KEY_AV
+ 2191261737
+ name 1_668_KEY_MUP
+ 2191261744
+ name 1_668_KEY_MDOWN
+ 2191261745
+ name 1_668_KEY_MLEFT
+ 2191261746
+ name 1_668_KEY_MRIGHT
+ 2191261747
+ name 1_668_KEY_Sleep
+ 2191261759
+ name 1_668_KEY_Off
+ 2191261774
+ name 1_669_KEY_0
+ 2191327232
+ name 1_669_KEY_1
+ 2191327233
+ name 1_669_KEY_2
+ 2191327234
+ name 1_669_KEY_3
+ 2191327235
+ name 1_669_KEY_4
+ 2191327236
+ name 1_669_KEY_5
+ 2191327237
+ name 1_669_KEY_6
+ 2191327238
+ name 1_669_KEY_7
+ 2191327239
+ name 1_669_KEY_8
+ 2191327240
+ name 1_669_KEY_9
+ 2191327241
+ name 1_669_KEY_POWER
+ 2191327242
+ name 1_669_KEY_CH_UP
+ 2191327247
+ name 1_669_KEY_CH_DOWN
+ 2191327248
+ name 1_669_KEY_MUTE
+ 2191327249
+ name 1_669_KEY_VOL_DOWN
+ 2191327250
+ name 1_669_CH_PREVIOUS
+ 2191327251
+ name 1_669_KEY_VOL_UP
+ 2191327252
+ name 1_669_KEY_MNSELECT
+ 2191327255
+ name 1_669_KEY_GUIDE
+ 2191327259
+ name 1_669_KEY_MNRETRUN
+ 2191327264
+ name 1_669_KEY_BLUE
+ 2191327267
+ name 1_669_KEY_GREEN
+ 2191327268
+ name 1_669_KEY_RED
+ 2191327269
+ name 1_669_KEY_YELLOW
+ 2191327270
+ name 1_669_KEY_AV
+ 2191327273
+ name 1_669_KEY_MUP
+ 2191327280
+ name 1_669_KEY_MDOWN
+ 2191327281
+ name 1_669_KEY_MLEFT
+ 2191327282
+ name 1_669_KEY_MRIGHT
+ 2191327283
+ name 1_669_KEY_Sleep
+ 2191327295
+ name 1_669_KEY_Off
+ 2191327310
+ name 1_670_KEY_0
+ 2191392768
+ name 1_670_KEY_1
+ 2191392769
+ name 1_670_KEY_2
+ 2191392770
+ name 1_670_KEY_3
+ 2191392771
+ name 1_670_KEY_4
+ 2191392772
+ name 1_670_KEY_5
+ 2191392773
+ name 1_670_KEY_6
+ 2191392774
+ name 1_670_KEY_7
+ 2191392775
+ name 1_670_KEY_8
+ 2191392776
+ name 1_670_KEY_9
+ 2191392777
+ name 1_670_KEY_POWER
+ 2191392778
+ name 1_670_KEY_CH_UP
+ 2191392783
+ name 1_670_KEY_CH_DOWN
+ 2191392784
+ name 1_670_KEY_MUTE
+ 2191392785
+ name 1_670_KEY_VOL_DOWN
+ 2191392786
+ name 1_670_CH_PREVIOUS
+ 2191392787
+ name 1_670_KEY_VOL_UP
+ 2191392788
+ name 1_670_KEY_INPUT
+ 2191392794
+ name 1_670_KEY_MUP
+ 2191392816
+ name 1_670_KEY_MDOWN
+ 2191392817
+ name 1_670_KEY_MLEFT
+ 2191392818
+ name 1_670_KEY_MRIGHT
+ 2191392819
+ name 1_670_KEY_On
+ 2191392845
+ name 1_670_KEY_Off
+ 2191392846
+ name 1_671_KEY_0
+ 2191458304
+ name 1_671_KEY_1
+ 2191458305
+ name 1_671_KEY_2
+ 2191458306
+ name 1_671_KEY_3
+ 2191458307
+ name 1_671_KEY_4
+ 2191458308
+ name 1_671_KEY_5
+ 2191458309
+ name 1_671_KEY_6
+ 2191458310
+ name 1_671_KEY_7
+ 2191458311
+ name 1_671_KEY_8
+ 2191458312
+ name 1_671_KEY_9
+ 2191458313
+ name 1_671_KEY_POWER
+ 2191458314
+ name 1_671_KEY_CH_UP
+ 2191458319
+ name 1_671_KEY_CH_DOWN
+ 2191458320
+ name 1_671_KEY_MUTE
+ 2191458321
+ name 1_671_KEY_VOL_DOWN
+ 2191458322
+ name 1_671_CH_PREVIOUS
+ 2191458323
+ name 1_671_KEY_VOL_UP
+ 2191458324
+ name 1_671_KEY_MNSELECT
+ 2191458327
+ name 1_671_KEY_EXIT
+ 2191458328
+ name 1_671_KEY_INPUT
+ 2191458330
+ name 1_671_KEY_GUIDE
+ 2191458331
+ name 1_671_KEY_MNRETRUN
+ 2191458336
+ name 1_671_KEY_MENU
+ 2191458351
+ name 1_671_KEY_MUP
+ 2191458352
+ name 1_671_KEY_MDOWN
+ 2191458353
+ name 1_671_KEY_MLEFT
+ 2191458354
+ name 1_671_KEY_MRIGHT
+ 2191458355
+ name 1_671_KEY_TTOnOff
+ 2191458377
+ name 1_672_KEY_0
+ 2191523840
+ name 1_672_KEY_1
+ 2191523841
+ name 1_672_KEY_2
+ 2191523842
+ name 1_672_KEY_3
+ 2191523843
+ name 1_672_KEY_4
+ 2191523844
+ name 1_672_KEY_5
+ 2191523845
+ name 1_672_KEY_6
+ 2191523846
+ name 1_672_KEY_7
+ 2191523847
+ name 1_672_KEY_8
+ 2191523848
+ name 1_672_KEY_9
+ 2191523849
+ name 1_672_KEY_POWER
+ 2191523850
+ name 1_672_KEY_CH_UP
+ 2191523855
+ name 1_672_KEY_CH_DOWN
+ 2191523856
+ name 1_672_KEY_MUTE
+ 2191523857
+ name 1_672_KEY_VOL_DOWN
+ 2191523858
+ name 1_672_CH_PREVIOUS
+ 2191523859
+ name 1_672_KEY_VOL_UP
+ 2191523860
+ name 1_672_KEY_MNSELECT
+ 2191523863
+ name 1_672_KEY_GUIDE
+ 2191523867
+ name 1_672_KEY_MNRETRUN
+ 2191523872
+ name 1_672_KEY_BLUE
+ 2191523875
+ name 1_672_KEY_GREEN
+ 2191523876
+ name 1_672_KEY_RED
+ 2191523877
+ name 1_672_KEY_YELLOW
+ 2191523878
+ name 1_672_KEY_MUP
+ 2191523888
+ name 1_672_KEY_MDOWN
+ 2191523889
+ name 1_672_KEY_MLEFT
+ 2191523890
+ name 1_672_KEY_MRIGHT
+ 2191523891
+ name 1_672_KEY_Sleep
+ 2191523903
+ name 1_672_KEY_Off
+ 2191523918
+ name 1_673_KEY_0
+ 2191589376
+ name 1_673_KEY_1
+ 2191589377
+ name 1_673_KEY_2
+ 2191589378
+ name 1_673_KEY_3
+ 2191589379
+ name 1_673_KEY_4
+ 2191589380
+ name 1_673_KEY_5
+ 2191589381
+ name 1_673_KEY_6
+ 2191589382
+ name 1_673_KEY_7
+ 2191589383
+ name 1_673_KEY_8
+ 2191589384
+ name 1_673_KEY_9
+ 2191589385
+ name 1_673_KEY_POWER
+ 2191589386
+ name 1_673_KEY_CH_UP
+ 2191589391
+ name 1_673_KEY_CH_DOWN
+ 2191589392
+ name 1_673_KEY_MUTE
+ 2191589393
+ name 1_673_KEY_VOL_DOWN
+ 2191589394
+ name 1_673_CH_PREVIOUS
+ 2191589395
+ name 1_673_KEY_VOL_UP
+ 2191589396
+ name 1_673_KEY_MNSELECT
+ 2191589399
+ name 1_673_KEY_GUIDE
+ 2191589403
+ name 1_673_KEY_MNRETRUN
+ 2191589408
+ name 1_673_KEY_BLUE
+ 2191589411
+ name 1_673_KEY_GREEN
+ 2191589412
+ name 1_673_KEY_RED
+ 2191589413
+ name 1_673_KEY_YELLOW
+ 2191589414
+ name 1_673_KEY_MUP
+ 2191589424
+ name 1_673_KEY_MDOWN
+ 2191589425
+ name 1_673_KEY_MLEFT
+ 2191589426
+ name 1_673_KEY_MRIGHT
+ 2191589427
+ name 1_673_KEY_Sleep
+ 2191589439
+ name 1_673_KEY_Off
+ 2191589454
+ name 1_674_KEY_0
+ 2191654912
+ name 1_674_KEY_1
+ 2191654913
+ name 1_674_KEY_2
+ 2191654914
+ name 1_674_KEY_3
+ 2191654915
+ name 1_674_KEY_4
+ 2191654916
+ name 1_674_KEY_5
+ 2191654917
+ name 1_674_KEY_6
+ 2191654918
+ name 1_674_KEY_7
+ 2191654919
+ name 1_674_KEY_8
+ 2191654920
+ name 1_674_KEY_9
+ 2191654921
+ name 1_674_KEY_POWER
+ 2191654922
+ name 1_674_KEY_CH_UP
+ 2191654927
+ name 1_674_KEY_CH_DOWN
+ 2191654928
+ name 1_674_KEY_VOL_DOWN
+ 2191654930
+ name 1_674_KEY_VOL_UP
+ 2191654932
+ name 1_674_KEY_MNSELECT
+ 2191654935
+ name 1_674_KEY_EXIT
+ 2191654936
+ name 1_674_KEY_GUIDE
+ 2191654939
+ name 1_674_KEY_TIMER
+ 2191654956
+ name 1_674_KEY_MENU
+ 2191654959
+ name 1_674_KEY_MUP
+ 2191654960
+ name 1_674_KEY_MDOWN
+ 2191654961
+ name 1_674_KEY_MLEFT
+ 2191654962
+ name 1_674_KEY_MRIGHT
+ 2191654963
+ name 1_674_KEY_Sleep
+ 2191654975
+ name 1_674_KEY_On
+ 2191654989
+ name 1_674_KEY_Off
+ 2191654990
+ name 1_675_KEY_0
+ 2191720448
+ name 1_675_KEY_1
+ 2191720449
+ name 1_675_KEY_2
+ 2191720450
+ name 1_675_KEY_3
+ 2191720451
+ name 1_675_KEY_4
+ 2191720452
+ name 1_675_KEY_5
+ 2191720453
+ name 1_675_KEY_6
+ 2191720454
+ name 1_675_KEY_7
+ 2191720455
+ name 1_675_KEY_8
+ 2191720456
+ name 1_675_KEY_9
+ 2191720457
+ name 1_675_KEY_POWER
+ 2191720458
+ name 1_675_KEY_CH_UP
+ 2191720463
+ name 1_675_KEY_CH_DOWN
+ 2191720464
+ name 1_675_KEY_VOL_DOWN
+ 2191720466
+ name 1_675_KEY_VOL_UP
+ 2191720468
+ name 1_675_KEY_MNSELECT
+ 2191720471
+ name 1_675_KEY_GUIDE
+ 2191720475
+ name 1_675_KEY_MNRETRUN
+ 2191720480
+ name 1_675_KEY_TIMER
+ 2191720492
+ name 1_675_KEY_MUP
+ 2191720496
+ name 1_675_KEY_MDOWN
+ 2191720497
+ name 1_675_KEY_MLEFT
+ 2191720498
+ name 1_675_KEY_MRIGHT
+ 2191720499
+ name 1_676_KEY_0
+ 2191785984
+ name 1_676_KEY_1
+ 2191785985
+ name 1_676_KEY_2
+ 2191785986
+ name 1_676_KEY_3
+ 2191785987
+ name 1_676_KEY_4
+ 2191785988
+ name 1_676_KEY_5
+ 2191785989
+ name 1_676_KEY_6
+ 2191785990
+ name 1_676_KEY_7
+ 2191785991
+ name 1_676_KEY_8
+ 2191785992
+ name 1_676_KEY_9
+ 2191785993
+ name 1_676_KEY_POWER
+ 2191785994
+ name 1_676_KEY_CH_UP
+ 2191785999
+ name 1_676_KEY_CH_DOWN
+ 2191786000
+ name 1_676_KEY_MUTE
+ 2191786001
+ name 1_676_KEY_VOL_DOWN
+ 2191786002
+ name 1_676_CH_PREVIOUS
+ 2191786003
+ name 1_676_KEY_VOL_UP
+ 2191786004
+ name 1_676_KEY_MNSELECT
+ 2191786007
+ name 1_676_KEY_EXIT
+ 2191786008
+ name 1_676_KEY_GUIDE
+ 2191786011
+ name 1_676_KEY_BLUE
+ 2191786019
+ name 1_676_KEY_GREEN
+ 2191786020
+ name 1_676_KEY_RED
+ 2191786021
+ name 1_676_KEY_YELLOW
+ 2191786022
+ name 1_676_KEY_MENU
+ 2191786031
+ name 1_676_KEY_MUP
+ 2191786032
+ name 1_676_KEY_MDOWN
+ 2191786033
+ name 1_676_KEY_MLEFT
+ 2191786034
+ name 1_676_KEY_MRIGHT
+ 2191786035
+ name 1_676_KEY_DSubtitle
+ 2191786052
+ name 1_677_KEY_0
+ 2191851520
+ name 1_677_KEY_1
+ 2191851521
+ name 1_677_KEY_2
+ 2191851522
+ name 1_677_KEY_3
+ 2191851523
+ name 1_677_KEY_4
+ 2191851524
+ name 1_677_KEY_5
+ 2191851525
+ name 1_677_KEY_6
+ 2191851526
+ name 1_677_KEY_7
+ 2191851527
+ name 1_677_KEY_8
+ 2191851528
+ name 1_677_KEY_9
+ 2191851529
+ name 1_677_KEY_POWER
+ 2191851530
+ name 1_677_KEY_CH_UP
+ 2191851535
+ name 1_677_KEY_CH_DOWN
+ 2191851536
+ name 1_677_KEY_MUTE
+ 2191851537
+ name 1_677_KEY_VOL_DOWN
+ 2191851538
+ name 1_677_CH_PREVIOUS
+ 2191851539
+ name 1_677_KEY_VOL_UP
+ 2191851540
+ name 1_677_KEY_MNSELECT
+ 2191851543
+ name 1_677_KEY_EXIT
+ 2191851544
+ name 1_677_KEY_GUIDE
+ 2191851547
+ name 1_677_KEY_BLUE
+ 2191851555
+ name 1_677_KEY_GREEN
+ 2191851556
+ name 1_677_KEY_RED
+ 2191851557
+ name 1_677_KEY_YELLOW
+ 2191851558
+ name 1_677_KEY_MENU
+ 2191851567
+ name 1_677_KEY_MUP
+ 2191851568
+ name 1_677_KEY_MDOWN
+ 2191851569
+ name 1_677_KEY_MLEFT
+ 2191851570
+ name 1_677_KEY_MRIGHT
+ 2191851571
+ name 1_677_KEY_Sleep
+ 2191851583
+ name 1_677_KEY_DSubtitle
+ 2191851588
+ name 1_677_KEY_TTOnOff
+ 2191851593
+ name 1_678_KEY_0
+ 2191917056
+ name 1_678_KEY_1
+ 2191917057
+ name 1_678_KEY_2
+ 2191917058
+ name 1_678_KEY_3
+ 2191917059
+ name 1_678_KEY_4
+ 2191917060
+ name 1_678_KEY_5
+ 2191917061
+ name 1_678_KEY_6
+ 2191917062
+ name 1_678_KEY_7
+ 2191917063
+ name 1_678_KEY_8
+ 2191917064
+ name 1_678_KEY_9
+ 2191917065
+ name 1_678_KEY_POWER
+ 2191917066
+ name 1_678_KEY_CH_UP
+ 2191917071
+ name 1_678_KEY_CH_DOWN
+ 2191917072
+ name 1_678_KEY_MUTE
+ 2191917073
+ name 1_678_KEY_VOL_DOWN
+ 2191917074
+ name 1_678_CH_PREVIOUS
+ 2191917075
+ name 1_678_KEY_VOL_UP
+ 2191917076
+ name 1_678_KEY_MNSELECT
+ 2191917079
+ name 1_678_KEY_EXIT
+ 2191917080
+ name 1_678_KEY_GUIDE
+ 2191917083
+ name 1_678_KEY_BLUE
+ 2191917091
+ name 1_678_KEY_GREEN
+ 2191917092
+ name 1_678_KEY_RED
+ 2191917093
+ name 1_678_KEY_YELLOW
+ 2191917094
+ name 1_678_KEY_MENU
+ 2191917103
+ name 1_678_KEY_MUP
+ 2191917104
+ name 1_678_KEY_MDOWN
+ 2191917105
+ name 1_678_KEY_MLEFT
+ 2191917106
+ name 1_678_KEY_MRIGHT
+ 2191917107
+ name 1_678_KEY_DSubtitle
+ 2191917124
+ name 1_678_KEY_TTOnOff
+ 2191917129
+ name 1_679_KEY_0
+ 2191982592
+ name 1_679_KEY_1
+ 2191982593
+ name 1_679_KEY_2
+ 2191982594
+ name 1_679_KEY_3
+ 2191982595
+ name 1_679_KEY_4
+ 2191982596
+ name 1_679_KEY_5
+ 2191982597
+ name 1_679_KEY_6
+ 2191982598
+ name 1_679_KEY_7
+ 2191982599
+ name 1_679_KEY_8
+ 2191982600
+ name 1_679_KEY_9
+ 2191982601
+ name 1_679_KEY_POWER
+ 2191982602
+ name 1_679_KEY_CH_UP
+ 2191982607
+ name 1_679_KEY_CH_DOWN
+ 2191982608
+ name 1_679_KEY_MUTE
+ 2191982609
+ name 1_679_KEY_VOL_DOWN
+ 2191982610
+ name 1_679_KEY_VOL_UP
+ 2191982612
+ name 1_679_KEY_MENU
+ 2191982639
+ name 1_679_KEY_MUP
+ 2191982640
+ name 1_679_KEY_MDOWN
+ 2191982641
+ name 1_680_KEY_0
+ 2192048128
+ name 1_680_KEY_1
+ 2192048129
+ name 1_680_KEY_2
+ 2192048130
+ name 1_680_KEY_3
+ 2192048131
+ name 1_680_KEY_4
+ 2192048132
+ name 1_680_KEY_5
+ 2192048133
+ name 1_680_KEY_6
+ 2192048134
+ name 1_680_KEY_7
+ 2192048135
+ name 1_680_KEY_8
+ 2192048136
+ name 1_680_KEY_9
+ 2192048137
+ name 1_680_KEY_POWER
+ 2192048138
+ name 1_680_KEY_CH_UP
+ 2192048143
+ name 1_680_KEY_CH_DOWN
+ 2192048144
+ name 1_681_KEY_0
+ 2192113664
+ name 1_681_KEY_1
+ 2192113665
+ name 1_681_KEY_2
+ 2192113666
+ name 1_681_KEY_3
+ 2192113667
+ name 1_681_KEY_4
+ 2192113668
+ name 1_681_KEY_5
+ 2192113669
+ name 1_681_KEY_6
+ 2192113670
+ name 1_681_KEY_7
+ 2192113671
+ name 1_681_KEY_8
+ 2192113672
+ name 1_681_KEY_9
+ 2192113673
+ name 1_681_KEY_POWER
+ 2192113674
+ name 1_681_KEY_CH_UP
+ 2192113679
+ name 1_681_KEY_CH_DOWN
+ 2192113680
+ name 1_681_KEY_MUTE
+ 2192113681
+ name 1_681_KEY_VOL_DOWN
+ 2192113682
+ name 1_681_CH_PREVIOUS
+ 2192113683
+ name 1_681_KEY_VOL_UP
+ 2192113684
+ name 1_681_KEY_MNSELECT
+ 2192113687
+ name 1_681_KEY_GUIDE
+ 2192113691
+ name 1_681_KEY_BLUE
+ 2192113699
+ name 1_681_KEY_GREEN
+ 2192113700
+ name 1_681_KEY_RED
+ 2192113701
+ name 1_681_KEY_YELLOW
+ 2192113702
+ name 1_681_KEY_MENU
+ 2192113711
+ name 1_681_KEY_MUP
+ 2192113712
+ name 1_681_KEY_MDOWN
+ 2192113713
+ name 1_681_KEY_MLEFT
+ 2192113714
+ name 1_681_KEY_MRIGHT
+ 2192113715
+ name 1_681_KEY_Sleep
+ 2192113727
+ name 1_681_KEY_DSubtitle
+ 2192113732
+ name 1_681_KEY_TTOnOff
+ 2192113737
+ name 1_682_KEY_0
+ 2192179200
+ name 1_682_KEY_1
+ 2192179201
+ name 1_682_KEY_2
+ 2192179202
+ name 1_682_KEY_3
+ 2192179203
+ name 1_682_KEY_4
+ 2192179204
+ name 1_682_KEY_5
+ 2192179205
+ name 1_682_KEY_6
+ 2192179206
+ name 1_682_KEY_7
+ 2192179207
+ name 1_682_KEY_8
+ 2192179208
+ name 1_682_KEY_9
+ 2192179209
+ name 1_682_KEY_POWER
+ 2192179210
+ name 1_682_KEY_CH_UP
+ 2192179215
+ name 1_682_KEY_CH_DOWN
+ 2192179216
+ name 1_682_KEY_MUTE
+ 2192179217
+ name 1_682_KEY_VOL_DOWN
+ 2192179218
+ name 1_682_KEY_VOL_UP
+ 2192179220
+ name 1_682_KEY_MNSELECT
+ 2192179223
+ name 1_682_KEY_EXIT
+ 2192179224
+ name 1_682_KEY_GUIDE
+ 2192179227
+ name 1_682_KEY_BLUE
+ 2192179235
+ name 1_682_KEY_GREEN
+ 2192179236
+ name 1_682_KEY_RED
+ 2192179237
+ name 1_682_KEY_YELLOW
+ 2192179238
+ name 1_682_KEY_MENU
+ 2192179247
+ name 1_682_KEY_MUP
+ 2192179248
+ name 1_682_KEY_MDOWN
+ 2192179249
+ name 1_682_KEY_MLEFT
+ 2192179250
+ name 1_682_KEY_MRIGHT
+ 2192179251
+ name 1_682_KEY_DSubtitle
+ 2192179268
+ name 1_682_KEY_Off
+ 2192179278
+ name 1_683_KEY_0
+ 2192244736
+ name 1_683_KEY_1
+ 2192244737
+ name 1_683_KEY_2
+ 2192244738
+ name 1_683_KEY_3
+ 2192244739
+ name 1_683_KEY_4
+ 2192244740
+ name 1_683_KEY_5
+ 2192244741
+ name 1_683_KEY_6
+ 2192244742
+ name 1_683_KEY_7
+ 2192244743
+ name 1_683_KEY_8
+ 2192244744
+ name 1_683_KEY_9
+ 2192244745
+ name 1_683_KEY_POWER
+ 2192244746
+ name 1_683_KEY_CH_UP
+ 2192244751
+ name 1_683_KEY_CH_DOWN
+ 2192244752
+ name 1_683_KEY_MUTE
+ 2192244753
+ name 1_683_KEY_VOL_DOWN
+ 2192244754
+ name 1_683_CH_PREVIOUS
+ 2192244755
+ name 1_683_KEY_VOL_UP
+ 2192244756
+ name 1_683_KEY_MNSELECT
+ 2192244759
+ name 1_683_KEY_EXIT
+ 2192244760
+ name 1_683_KEY_GUIDE
+ 2192244763
+ name 1_683_KEY_BLUE
+ 2192244771
+ name 1_683_KEY_GREEN
+ 2192244772
+ name 1_683_KEY_RED
+ 2192244773
+ name 1_683_KEY_YELLOW
+ 2192244774
+ name 1_683_KEY_AV
+ 2192244777
+ name 1_683_KEY_MENU
+ 2192244783
+ name 1_683_KEY_MUP
+ 2192244784
+ name 1_683_KEY_MDOWN
+ 2192244785
+ name 1_683_KEY_MLEFT
+ 2192244786
+ name 1_683_KEY_MRIGHT
+ 2192244787
+ name 1_683_KEY_DSubtitle
+ 2192244804
+ name 1_683_KEY_On
+ 2192244813
+ name 1_683_KEY_Off
+ 2192244814
+ name 1_684_KEY_0
+ 2192310272
+ name 1_684_KEY_1
+ 2192310273
+ name 1_684_KEY_2
+ 2192310274
+ name 1_684_KEY_3
+ 2192310275
+ name 1_684_KEY_4
+ 2192310276
+ name 1_684_KEY_5
+ 2192310277
+ name 1_684_KEY_6
+ 2192310278
+ name 1_684_KEY_7
+ 2192310279
+ name 1_684_KEY_8
+ 2192310280
+ name 1_684_KEY_9
+ 2192310281
+ name 1_684_KEY_POWER
+ 2192310282
+ name 1_684_KEY_CH_UP
+ 2192310287
+ name 1_684_KEY_CH_DOWN
+ 2192310288
+ name 1_684_KEY_MUTE
+ 2192310289
+ name 1_684_KEY_VOL_DOWN
+ 2192310290
+ name 1_684_CH_PREVIOUS
+ 2192310291
+ name 1_684_KEY_VOL_UP
+ 2192310292
+ name 1_684_KEY_MNSELECT
+ 2192310295
+ name 1_684_KEY_AV
+ 2192310313
+ name 1_684_KEY_MENU
+ 2192310319
+ name 1_684_KEY_MUP
+ 2192310320
+ name 1_684_KEY_MDOWN
+ 2192310321
+ name 1_684_KEY_MLEFT
+ 2192310322
+ name 1_684_KEY_MRIGHT
+ 2192310323
+ name 1_684_KEY_Off
+ 2192310350
+ name 1_685_KEY_0
+ 2192375808
+ name 1_685_KEY_1
+ 2192375809
+ name 1_685_KEY_2
+ 2192375810
+ name 1_685_KEY_3
+ 2192375811
+ name 1_685_KEY_4
+ 2192375812
+ name 1_685_KEY_5
+ 2192375813
+ name 1_685_KEY_6
+ 2192375814
+ name 1_685_KEY_7
+ 2192375815
+ name 1_685_KEY_8
+ 2192375816
+ name 1_685_KEY_9
+ 2192375817
+ name 1_685_KEY_POWER
+ 2192375818
+ name 1_685_KEY_CH_UP
+ 2192375823
+ name 1_685_KEY_CH_DOWN
+ 2192375824
+ name 1_685_KEY_MUTE
+ 2192375825
+ name 1_685_KEY_VOL_DOWN
+ 2192375826
+ name 1_685_KEY_VOL_UP
+ 2192375828
+ name 1_685_KEY_MNSELECT
+ 2192375831
+ name 1_685_KEY_MENU
+ 2192375855
+ name 1_685_KEY_MUP
+ 2192375856
+ name 1_685_KEY_MDOWN
+ 2192375857
+ name 1_685_KEY_MLEFT
+ 2192375858
+ name 1_685_KEY_MRIGHT
+ 2192375859
+ name 1_686_KEY_0
+ 2192441344
+ name 1_686_KEY_1
+ 2192441345
+ name 1_686_KEY_2
+ 2192441346
+ name 1_686_KEY_3
+ 2192441347
+ name 1_686_KEY_4
+ 2192441348
+ name 1_686_KEY_5
+ 2192441349
+ name 1_686_KEY_6
+ 2192441350
+ name 1_686_KEY_7
+ 2192441351
+ name 1_686_KEY_8
+ 2192441352
+ name 1_686_KEY_9
+ 2192441353
+ name 1_686_KEY_POWER
+ 2192441354
+ name 1_686_KEY_CH_UP
+ 2192441359
+ name 1_686_KEY_CH_DOWN
+ 2192441360
+ name 1_686_KEY_MUTE
+ 2192441361
+ name 1_686_KEY_VOL_DOWN
+ 2192441362
+ name 1_686_KEY_VOL_UP
+ 2192441364
+ name 1_686_KEY_MNSELECT
+ 2192441367
+ name 1_686_KEY_MUP
+ 2192441392
+ name 1_686_KEY_MDOWN
+ 2192441393
+ name 1_686_KEY_MLEFT
+ 2192441394
+ name 1_686_KEY_MRIGHT
+ 2192441395
+ name 1_686_KEY_Sleep
+ 2192441407
+ name 1_687_KEY_0
+ 2192506880
+ name 1_687_KEY_1
+ 2192506881
+ name 1_687_KEY_2
+ 2192506882
+ name 1_687_KEY_3
+ 2192506883
+ name 1_687_KEY_4
+ 2192506884
+ name 1_687_KEY_5
+ 2192506885
+ name 1_687_KEY_6
+ 2192506886
+ name 1_687_KEY_7
+ 2192506887
+ name 1_687_KEY_8
+ 2192506888
+ name 1_687_KEY_9
+ 2192506889
+ name 1_687_KEY_POWER
+ 2192506890
+ name 1_687_TWO_DIGITS
+ 2192506893
+ name 1_687_KEY_CH_UP
+ 2192506895
+ name 1_687_KEY_CH_DOWN
+ 2192506896
+ name 1_687_KEY_MUTE
+ 2192506897
+ name 1_687_KEY_VOL_DOWN
+ 2192506898
+ name 1_687_KEY_VOL_UP
+ 2192506900
+ name 1_687_KEY_MNSELECT
+ 2192506903
+ name 1_687_KEY_EXIT
+ 2192506904
+ name 1_687_KEY_BLUE
+ 2192506915
+ name 1_687_KEY_GREEN
+ 2192506916
+ name 1_687_KEY_RED
+ 2192506917
+ name 1_687_KEY_YELLOW
+ 2192506918
+ name 1_687_KEY_AV
+ 2192506921
+ name 1_687_KEY_MENU
+ 2192506927
+ name 1_687_KEY_MUP
+ 2192506928
+ name 1_687_KEY_MDOWN
+ 2192506929
+ name 1_687_KEY_On
+ 2192506957
+ name 1_687_KEY_Off
+ 2192506958
+ name 1_688_KEY_0
+ 2192572416
+ name 1_688_KEY_1
+ 2192572417
+ name 1_688_KEY_2
+ 2192572418
+ name 1_688_KEY_3
+ 2192572419
+ name 1_688_KEY_4
+ 2192572420
+ name 1_688_KEY_5
+ 2192572421
+ name 1_688_KEY_6
+ 2192572422
+ name 1_688_KEY_7
+ 2192572423
+ name 1_688_KEY_8
+ 2192572424
+ name 1_688_KEY_9
+ 2192572425
+ name 1_688_KEY_POWER
+ 2192572426
+ name 1_688_TWO_DIGITS
+ 2192572429
+ name 1_688_KEY_CH_UP
+ 2192572431
+ name 1_688_KEY_CH_DOWN
+ 2192572432
+ name 1_688_KEY_MUTE
+ 2192572433
+ name 1_688_KEY_VOL_DOWN
+ 2192572434
+ name 1_688_KEY_VOL_UP
+ 2192572436
+ name 1_688_KEY_EXIT
+ 2192572440
+ name 1_688_KEY_GUIDE
+ 2192572443
+ name 1_688_KEY_BLUE
+ 2192572451
+ name 1_688_KEY_GREEN
+ 2192572452
+ name 1_688_KEY_RED
+ 2192572453
+ name 1_688_KEY_YELLOW
+ 2192572454
+ name 1_688_KEY_MENU
+ 2192572463
+ name 1_688_KEY_MUP
+ 2192572464
+ name 1_688_KEY_MDOWN
+ 2192572465
+ name 1_688_KEY_Sleep
+ 2192572479
+ name 1_688_KEY_DSubtitle
+ 2192572484
+ name 1_688_KEY_On
+ 2192572493
+ name 1_689_KEY_0
+ 2192637952
+ name 1_689_KEY_1
+ 2192637953
+ name 1_689_KEY_2
+ 2192637954
+ name 1_689_KEY_3
+ 2192637955
+ name 1_689_KEY_4
+ 2192637956
+ name 1_689_KEY_5
+ 2192637957
+ name 1_689_KEY_6
+ 2192637958
+ name 1_689_KEY_7
+ 2192637959
+ name 1_689_KEY_8
+ 2192637960
+ name 1_689_KEY_9
+ 2192637961
+ name 1_689_KEY_POWER
+ 2192637962
+ name 1_689_KEY_CH_UP
+ 2192637967
+ name 1_689_KEY_CH_DOWN
+ 2192637968
+ name 1_689_KEY_MUTE
+ 2192637969
+ name 1_689_KEY_VOL_DOWN
+ 2192637970
+ name 1_689_CH_PREVIOUS
+ 2192637971
+ name 1_689_KEY_VOL_UP
+ 2192637972
+ name 1_689_KEY_AV
+ 2192637993
+ name 1_690_KEY_0
+ 2192703488
+ name 1_690_KEY_1
+ 2192703489
+ name 1_690_KEY_2
+ 2192703490
+ name 1_690_KEY_3
+ 2192703491
+ name 1_690_KEY_4
+ 2192703492
+ name 1_690_KEY_5
+ 2192703493
+ name 1_690_KEY_6
+ 2192703494
+ name 1_690_KEY_7
+ 2192703495
+ name 1_690_KEY_8
+ 2192703496
+ name 1_690_KEY_9
+ 2192703497
+ name 1_690_KEY_POWER
+ 2192703498
+ name 1_690_KEY_CH_UP
+ 2192703503
+ name 1_690_KEY_CH_DOWN
+ 2192703504
+ name 1_690_KEY_MUTE
+ 2192703505
+ name 1_690_KEY_VOL_DOWN
+ 2192703506
+ name 1_690_KEY_VOL_UP
+ 2192703508
+ name 1_690_KEY_MNSELECT
+ 2192703511
+ name 1_690_KEY_MNRETRUN
+ 2192703520
+ name 1_690_KEY_AV
+ 2192703529
+ name 1_690_KEY_MENU
+ 2192703535
+ name 1_690_KEY_MUP
+ 2192703536
+ name 1_690_KEY_MDOWN
+ 2192703537
+ name 1_690_KEY_MLEFT
+ 2192703538
+ name 1_690_KEY_MRIGHT
+ 2192703539
+ name 1_690_KEY_On
+ 2192703565
+ name 1_690_KEY_Off
+ 2192703566
+ name 1_691_KEY_0
+ 2192769024
+ name 1_691_KEY_1
+ 2192769025
+ name 1_691_KEY_2
+ 2192769026
+ name 1_691_KEY_3
+ 2192769027
+ name 1_691_KEY_4
+ 2192769028
+ name 1_691_KEY_5
+ 2192769029
+ name 1_691_KEY_6
+ 2192769030
+ name 1_691_KEY_7
+ 2192769031
+ name 1_691_KEY_8
+ 2192769032
+ name 1_691_KEY_9
+ 2192769033
+ name 1_691_KEY_POWER
+ 2192769034
+ name 1_691_KEY_CH_UP
+ 2192769039
+ name 1_691_KEY_CH_DOWN
+ 2192769040
+ name 1_691_KEY_MUTE
+ 2192769041
+ name 1_691_KEY_VOL_DOWN
+ 2192769042
+ name 1_691_KEY_VOL_UP
+ 2192769044
+ name 1_691_KEY_MNSELECT
+ 2192769047
+ name 1_691_KEY_AV
+ 2192769065
+ name 1_691_KEY_MENU
+ 2192769071
+ name 1_691_KEY_MUP
+ 2192769072
+ name 1_691_KEY_MDOWN
+ 2192769073
+ name 1_691_KEY_MLEFT
+ 2192769074
+ name 1_691_KEY_MRIGHT
+ 2192769075
+ name 1_692_KEY_0
+ 2192834560
+ name 1_692_KEY_1
+ 2192834561
+ name 1_692_KEY_2
+ 2192834562
+ name 1_692_KEY_3
+ 2192834563
+ name 1_692_KEY_4
+ 2192834564
+ name 1_692_KEY_5
+ 2192834565
+ name 1_692_KEY_6
+ 2192834566
+ name 1_692_KEY_7
+ 2192834567
+ name 1_692_KEY_8
+ 2192834568
+ name 1_692_KEY_9
+ 2192834569
+ name 1_692_KEY_POWER
+ 2192834570
+ name 1_692_KEY_CH_UP
+ 2192834575
+ name 1_692_KEY_CH_DOWN
+ 2192834576
+ name 1_692_CH_PREVIOUS
+ 2192834579
+ name 1_692_KEY_MNSELECT
+ 2192834583
+ name 1_692_KEY_MUP
+ 2192834608
+ name 1_692_KEY_MDOWN
+ 2192834609
+ name 1_692_KEY_MLEFT
+ 2192834610
+ name 1_692_KEY_MRIGHT
+ 2192834611
+ name 1_693_KEY_0
+ 2192900096
+ name 1_693_KEY_1
+ 2192900097
+ name 1_693_KEY_2
+ 2192900098
+ name 1_693_KEY_3
+ 2192900099
+ name 1_693_KEY_4
+ 2192900100
+ name 1_693_KEY_5
+ 2192900101
+ name 1_693_KEY_6
+ 2192900102
+ name 1_693_KEY_7
+ 2192900103
+ name 1_693_KEY_8
+ 2192900104
+ name 1_693_KEY_9
+ 2192900105
+ name 1_693_KEY_POWER
+ 2192900106
+ name 1_693_KEY_CH_UP
+ 2192900111
+ name 1_693_KEY_CH_DOWN
+ 2192900112
+ name 1_693_KEY_MUTE
+ 2192900113
+ name 1_693_KEY_VOL_DOWN
+ 2192900114
+ name 1_693_KEY_VOL_UP
+ 2192900116
+ name 1_693_KEY_EXIT
+ 2192900120
+ name 1_693_KEY_MENU
+ 2192900143
+ name 1_694_KEY_0
+ 2192965632
+ name 1_694_KEY_1
+ 2192965633
+ name 1_694_KEY_2
+ 2192965634
+ name 1_694_KEY_3
+ 2192965635
+ name 1_694_KEY_4
+ 2192965636
+ name 1_694_KEY_5
+ 2192965637
+ name 1_694_KEY_6
+ 2192965638
+ name 1_694_KEY_7
+ 2192965639
+ name 1_694_KEY_8
+ 2192965640
+ name 1_694_KEY_9
+ 2192965641
+ name 1_694_KEY_POWER
+ 2192965642
+ name 1_694_KEY_CH_UP
+ 2192965647
+ name 1_694_KEY_CH_DOWN
+ 2192965648
+ name 1_694_KEY_MUTE
+ 2192965649
+ name 1_694_KEY_VOL_DOWN
+ 2192965650
+ name 1_694_KEY_VOL_UP
+ 2192965652
+ name 1_695_KEY_0
+ 2193031168
+ name 1_695_KEY_1
+ 2193031169
+ name 1_695_KEY_2
+ 2193031170
+ name 1_695_KEY_3
+ 2193031171
+ name 1_695_KEY_4
+ 2193031172
+ name 1_695_KEY_5
+ 2193031173
+ name 1_695_KEY_6
+ 2193031174
+ name 1_695_KEY_7
+ 2193031175
+ name 1_695_KEY_8
+ 2193031176
+ name 1_695_KEY_9
+ 2193031177
+ name 1_695_KEY_POWER
+ 2193031178
+ name 1_695_KEY_CH_UP
+ 2193031183
+ name 1_695_KEY_CH_DOWN
+ 2193031184
+ name 1_695_KEY_MUTE
+ 2193031185
+ name 1_695_KEY_VOL_DOWN
+ 2193031186
+ name 1_695_CH_PREVIOUS
+ 2193031187
+ name 1_695_KEY_VOL_UP
+ 2193031188
+ name 1_695_KEY_MNSELECT
+ 2193031191
+ name 1_695_KEY_EXIT
+ 2193031192
+ name 1_695_KEY_GUIDE
+ 2193031195
+ name 1_695_KEY_MUP
+ 2193031216
+ name 1_695_KEY_MDOWN
+ 2193031217
+ name 1_695_KEY_MLEFT
+ 2193031218
+ name 1_695_KEY_MRIGHT
+ 2193031219
+ name 1_696_KEY_0
+ 2193096704
+ name 1_696_KEY_1
+ 2193096705
+ name 1_696_KEY_2
+ 2193096706
+ name 1_696_KEY_3
+ 2193096707
+ name 1_696_KEY_4
+ 2193096708
+ name 1_696_KEY_5
+ 2193096709
+ name 1_696_KEY_6
+ 2193096710
+ name 1_696_KEY_7
+ 2193096711
+ name 1_696_KEY_8
+ 2193096712
+ name 1_696_KEY_9
+ 2193096713
+ name 1_696_KEY_POWER
+ 2193096714
+ name 1_696_KEY_CH_UP
+ 2193096719
+ name 1_696_KEY_CH_DOWN
+ 2193096720
+ name 1_696_KEY_MUTE
+ 2193096721
+ name 1_696_KEY_VOL_DOWN
+ 2193096722
+ name 1_696_KEY_VOL_UP
+ 2193096724
+ name 1_696_KEY_MNSELECT
+ 2193096727
+ name 1_696_KEY_AV
+ 2193096745
+ name 1_696_KEY_MENU
+ 2193096751
+ name 1_696_KEY_MUP
+ 2193096752
+ name 1_696_KEY_MDOWN
+ 2193096753
+ name 1_696_KEY_MLEFT
+ 2193096754
+ name 1_696_KEY_MRIGHT
+ 2193096755
+ name 1_696_KEY_Sleep
+ 2193096767
+ name 1_697_KEY_0
+ 2193162240
+ name 1_697_KEY_1
+ 2193162241
+ name 1_697_KEY_2
+ 2193162242
+ name 1_697_KEY_3
+ 2193162243
+ name 1_697_KEY_4
+ 2193162244
+ name 1_697_KEY_5
+ 2193162245
+ name 1_697_KEY_6
+ 2193162246
+ name 1_697_KEY_7
+ 2193162247
+ name 1_697_KEY_8
+ 2193162248
+ name 1_697_KEY_9
+ 2193162249
+ name 1_697_KEY_POWER
+ 2193162250
+ name 1_697_KEY_CH_UP
+ 2193162255
+ name 1_697_KEY_CH_DOWN
+ 2193162256
+ name 1_697_KEY_MUTE
+ 2193162257
+ name 1_697_KEY_VOL_DOWN
+ 2193162258
+ name 1_697_KEY_VOL_UP
+ 2193162260
+ name 1_697_KEY_AV
+ 2193162281
+ name 1_697_KEY_MENU
+ 2193162287
+ name 1_697_KEY_MUP
+ 2193162288
+ name 1_697_KEY_MDOWN
+ 2193162289
+ name 1_697_KEY_MLEFT
+ 2193162290
+ name 1_697_KEY_MRIGHT
+ 2193162291
+ name 1_697_KEY_Sleep
+ 2193162303
+ name 1_697_KEY_Off
+ 2193162318
+ name 1_698_KEY_0
+ 2193227776
+ name 1_698_KEY_1
+ 2193227777
+ name 1_698_KEY_2
+ 2193227778
+ name 1_698_KEY_3
+ 2193227779
+ name 1_698_KEY_4
+ 2193227780
+ name 1_698_KEY_5
+ 2193227781
+ name 1_698_KEY_6
+ 2193227782
+ name 1_698_KEY_7
+ 2193227783
+ name 1_698_KEY_8
+ 2193227784
+ name 1_698_KEY_9
+ 2193227785
+ name 1_698_KEY_POWER
+ 2193227786
+ name 1_698_KEY_CH_UP
+ 2193227791
+ name 1_698_KEY_CH_DOWN
+ 2193227792
+ name 1_698_KEY_MUTE
+ 2193227793
+ name 1_698_KEY_VOL_DOWN
+ 2193227794
+ name 1_698_KEY_VOL_UP
+ 2193227796
+ name 1_698_KEY_MNSELECT
+ 2193227799
+ name 1_698_KEY_MENU
+ 2193227823
+ name 1_698_KEY_MUP
+ 2193227824
+ name 1_698_KEY_MDOWN
+ 2193227825
+ name 1_698_KEY_MLEFT
+ 2193227826
+ name 1_698_KEY_MRIGHT
+ 2193227827
+ name 1_698_KEY_Off
+ 2193227854
+ name 1_699_KEY_0
+ 2193293312
+ name 1_699_KEY_1
+ 2193293313
+ name 1_699_KEY_2
+ 2193293314
+ name 1_699_KEY_3
+ 2193293315
+ name 1_699_KEY_4
+ 2193293316
+ name 1_699_KEY_5
+ 2193293317
+ name 1_699_KEY_6
+ 2193293318
+ name 1_699_KEY_7
+ 2193293319
+ name 1_699_KEY_8
+ 2193293320
+ name 1_699_KEY_9
+ 2193293321
+ name 1_699_KEY_POWER
+ 2193293322
+ name 1_699_KEY_CH_UP
+ 2193293327
+ name 1_699_KEY_CH_DOWN
+ 2193293328
+ name 1_699_KEY_MUTE
+ 2193293329
+ name 1_699_KEY_VOL_DOWN
+ 2193293330
+ name 1_699_KEY_VOL_UP
+ 2193293332
+ name 1_699_KEY_GUIDE
+ 2193293339
+ name 1_699_KEY_AV
+ 2193293353
+ name 1_699_KEY_MUP
+ 2193293360
+ name 1_699_KEY_MDOWN
+ 2193293361
+ name 1_699_KEY_MLEFT
+ 2193293362
+ name 1_699_KEY_MRIGHT
+ 2193293363
+ name 1_700_KEY_0
+ 2193358848
+ name 1_700_KEY_1
+ 2193358849
+ name 1_700_KEY_2
+ 2193358850
+ name 1_700_KEY_3
+ 2193358851
+ name 1_700_KEY_4
+ 2193358852
+ name 1_700_KEY_5
+ 2193358853
+ name 1_700_KEY_6
+ 2193358854
+ name 1_700_KEY_7
+ 2193358855
+ name 1_700_KEY_8
+ 2193358856
+ name 1_700_KEY_9
+ 2193358857
+ name 1_700_KEY_POWER
+ 2193358858
+ name 1_700_KEY_CH_UP
+ 2193358863
+ name 1_700_KEY_CH_DOWN
+ 2193358864
+ name 1_700_KEY_MUTE
+ 2193358865
+ name 1_700_KEY_VOL_DOWN
+ 2193358866
+ name 1_700_CH_PREVIOUS
+ 2193358867
+ name 1_700_KEY_VOL_UP
+ 2193358868
+ name 1_700_KEY_MNSELECT
+ 2193358871
+ name 1_700_KEY_EXIT
+ 2193358872
+ name 1_700_KEY_GUIDE
+ 2193358875
+ name 1_700_KEY_BLUE
+ 2193358883
+ name 1_700_KEY_GREEN
+ 2193358884
+ name 1_700_KEY_RED
+ 2193358885
+ name 1_700_KEY_YELLOW
+ 2193358886
+ name 1_700_KEY_MENU
+ 2193358895
+ name 1_700_KEY_MUP
+ 2193358896
+ name 1_700_KEY_MDOWN
+ 2193358897
+ name 1_700_KEY_MLEFT
+ 2193358898
+ name 1_700_KEY_MRIGHT
+ 2193358899
+ name 1_700_KEY_DSubtitle
+ 2193358916
+ name 1_700_KEY_Off
+ 2193358926
+ name 1_701_KEY_0
+ 2193424384
+ name 1_701_KEY_1
+ 2193424385
+ name 1_701_KEY_2
+ 2193424386
+ name 1_701_KEY_3
+ 2193424387
+ name 1_701_KEY_4
+ 2193424388
+ name 1_701_KEY_5
+ 2193424389
+ name 1_701_KEY_6
+ 2193424390
+ name 1_701_KEY_7
+ 2193424391
+ name 1_701_KEY_8
+ 2193424392
+ name 1_701_KEY_9
+ 2193424393
+ name 1_701_KEY_POWER
+ 2193424394
+ name 1_701_KEY_CH_UP
+ 2193424399
+ name 1_701_KEY_CH_DOWN
+ 2193424400
+ name 1_701_KEY_MUTE
+ 2193424401
+ name 1_701_KEY_VOL_DOWN
+ 2193424402
+ name 1_701_CH_PREVIOUS
+ 2193424403
+ name 1_701_KEY_VOL_UP
+ 2193424404
+ name 1_701_KEY_MNSELECT
+ 2193424407
+ name 1_701_KEY_EXIT
+ 2193424408
+ name 1_701_KEY_GUIDE
+ 2193424411
+ name 1_701_KEY_MENU
+ 2193424431
+ name 1_701_KEY_MUP
+ 2193424432
+ name 1_701_KEY_MDOWN
+ 2193424433
+ name 1_701_KEY_MLEFT
+ 2193424434
+ name 1_701_KEY_MRIGHT
+ 2193424435
+ name 1_702_KEY_0
+ 2193489920
+ name 1_702_KEY_1
+ 2193489921
+ name 1_702_KEY_2
+ 2193489922
+ name 1_702_KEY_3
+ 2193489923
+ name 1_702_KEY_4
+ 2193489924
+ name 1_702_KEY_5
+ 2193489925
+ name 1_702_KEY_6
+ 2193489926
+ name 1_702_KEY_7
+ 2193489927
+ name 1_702_KEY_8
+ 2193489928
+ name 1_702_KEY_9
+ 2193489929
+ name 1_702_KEY_POWER
+ 2193489930
+ name 1_702_KEY_CH_UP
+ 2193489935
+ name 1_702_KEY_CH_DOWN
+ 2193489936
+ name 1_702_KEY_MUTE
+ 2193489937
+ name 1_702_KEY_VOL_DOWN
+ 2193489938
+ name 1_702_CH_PREVIOUS
+ 2193489939
+ name 1_702_KEY_VOL_UP
+ 2193489940
+ name 1_702_KEY_AV
+ 2193489961
+ name 1_703_KEY_0
+ 2193555456
+ name 1_703_KEY_1
+ 2193555457
+ name 1_703_KEY_2
+ 2193555458
+ name 1_703_KEY_3
+ 2193555459
+ name 1_703_KEY_4
+ 2193555460
+ name 1_703_KEY_5
+ 2193555461
+ name 1_703_KEY_6
+ 2193555462
+ name 1_703_KEY_7
+ 2193555463
+ name 1_703_KEY_8
+ 2193555464
+ name 1_703_KEY_9
+ 2193555465
+ name 1_703_KEY_POWER
+ 2193555466
+ name 1_703_KEY_CH_UP
+ 2193555471
+ name 1_703_KEY_CH_DOWN
+ 2193555472
+ name 1_703_KEY_MUTE
+ 2193555473
+ name 1_703_KEY_VOL_DOWN
+ 2193555474
+ name 1_703_CH_PREVIOUS
+ 2193555475
+ name 1_703_KEY_VOL_UP
+ 2193555476
+ name 1_703_KEY_MNSELECT
+ 2193555479
+ name 1_703_KEY_EXIT
+ 2193555480
+ name 1_703_KEY_GUIDE
+ 2193555483
+ name 1_703_KEY_BLUE
+ 2193555491
+ name 1_703_KEY_GREEN
+ 2193555492
+ name 1_703_KEY_RED
+ 2193555493
+ name 1_703_KEY_YELLOW
+ 2193555494
+ name 1_703_KEY_AV
+ 2193555497
+ name 1_703_KEY_MENU
+ 2193555503
+ name 1_703_KEY_MUP
+ 2193555504
+ name 1_703_KEY_MDOWN
+ 2193555505
+ name 1_703_KEY_MLEFT
+ 2193555506
+ name 1_703_KEY_MRIGHT
+ 2193555507
+ name 1_704_KEY_0
+ 2193620992
+ name 1_704_KEY_1
+ 2193620993
+ name 1_704_KEY_2
+ 2193620994
+ name 1_704_KEY_3
+ 2193620995
+ name 1_704_KEY_4
+ 2193620996
+ name 1_704_KEY_5
+ 2193620997
+ name 1_704_KEY_6
+ 2193620998
+ name 1_704_KEY_7
+ 2193620999
+ name 1_704_KEY_8
+ 2193621000
+ name 1_704_KEY_9
+ 2193621001
+ name 1_704_KEY_POWER
+ 2193621002
+ name 1_704_KEY_CH_UP
+ 2193621007
+ name 1_704_KEY_CH_DOWN
+ 2193621008
+ name 1_704_KEY_MUTE
+ 2193621009
+ name 1_704_KEY_VOL_DOWN
+ 2193621010
+ name 1_704_CH_PREVIOUS
+ 2193621011
+ name 1_704_KEY_VOL_UP
+ 2193621012
+ name 1_704_KEY_MNSELECT
+ 2193621015
+ name 1_704_KEY_EXIT
+ 2193621016
+ name 1_704_KEY_GUIDE
+ 2193621019
+ name 1_704_KEY_AV
+ 2193621033
+ name 1_704_KEY_MENU
+ 2193621039
+ name 1_704_KEY_MUP
+ 2193621040
+ name 1_704_KEY_MDOWN
+ 2193621041
+ name 1_704_KEY_MLEFT
+ 2193621042
+ name 1_704_KEY_MRIGHT
+ 2193621043
+ name 1_704_KEY_On
+ 2193621069
+ name 1_704_KEY_Off
+ 2193621070
+ name 1_705_KEY_0
+ 2193686528
+ name 1_705_KEY_1
+ 2193686529
+ name 1_705_KEY_2
+ 2193686530
+ name 1_705_KEY_3
+ 2193686531
+ name 1_705_KEY_4
+ 2193686532
+ name 1_705_KEY_5
+ 2193686533
+ name 1_705_KEY_6
+ 2193686534
+ name 1_705_KEY_7
+ 2193686535
+ name 1_705_KEY_8
+ 2193686536
+ name 1_705_KEY_9
+ 2193686537
+ name 1_705_KEY_POWER
+ 2193686538
+ name 1_705_KEY_CH_UP
+ 2193686543
+ name 1_705_KEY_CH_DOWN
+ 2193686544
+ name 1_705_KEY_MUTE
+ 2193686545
+ name 1_705_KEY_VOL_DOWN
+ 2193686546
+ name 1_705_CH_PREVIOUS
+ 2193686547
+ name 1_705_KEY_VOL_UP
+ 2193686548
+ name 1_705_KEY_MNSELECT
+ 2193686551
+ name 1_705_KEY_EXIT
+ 2193686552
+ name 1_705_KEY_GUIDE
+ 2193686555
+ name 1_705_KEY_MNRETRUN
+ 2193686560
+ name 1_705_KEY_BLUE
+ 2193686563
+ name 1_705_KEY_GREEN
+ 2193686564
+ name 1_705_KEY_RED
+ 2193686565
+ name 1_705_KEY_YELLOW
+ 2193686566
+ name 1_705_KEY_AV
+ 2193686569
+ name 1_705_KEY_MENU
+ 2193686575
+ name 1_705_KEY_MUP
+ 2193686576
+ name 1_705_KEY_MDOWN
+ 2193686577
+ name 1_705_KEY_MLEFT
+ 2193686578
+ name 1_705_KEY_MRIGHT
+ 2193686579
+ name 1_705_KEY_DSubtitle
+ 2193686596
+ name 1_706_KEY_0
+ 2193752064
+ name 1_706_KEY_1
+ 2193752065
+ name 1_706_KEY_2
+ 2193752066
+ name 1_706_KEY_3
+ 2193752067
+ name 1_706_KEY_4
+ 2193752068
+ name 1_706_KEY_5
+ 2193752069
+ name 1_706_KEY_6
+ 2193752070
+ name 1_706_KEY_7
+ 2193752071
+ name 1_706_KEY_8
+ 2193752072
+ name 1_706_KEY_9
+ 2193752073
+ name 1_706_KEY_POWER
+ 2193752074
+ name 1_706_KEY_CH_UP
+ 2193752079
+ name 1_706_KEY_CH_DOWN
+ 2193752080
+ name 1_706_KEY_MUTE
+ 2193752081
+ name 1_706_KEY_VOL_DOWN
+ 2193752082
+ name 1_706_CH_PREVIOUS
+ 2193752083
+ name 1_706_KEY_VOL_UP
+ 2193752084
+ name 1_706_KEY_MNSELECT
+ 2193752087
+ name 1_706_KEY_EXIT
+ 2193752088
+ name 1_706_KEY_GUIDE
+ 2193752091
+ name 1_706_KEY_MNRETRUN
+ 2193752096
+ name 1_706_KEY_BLUE
+ 2193752099
+ name 1_706_KEY_GREEN
+ 2193752100
+ name 1_706_KEY_RED
+ 2193752101
+ name 1_706_KEY_YELLOW
+ 2193752102
+ name 1_706_KEY_MENU
+ 2193752111
+ name 1_706_KEY_MUP
+ 2193752112
+ name 1_706_KEY_MDOWN
+ 2193752113
+ name 1_706_KEY_MLEFT
+ 2193752114
+ name 1_706_KEY_MRIGHT
+ 2193752115
+ name 1_706_KEY_DSubtitle
+ 2193752132
+ name 1_706_KEY_On
+ 2193752141
+ name 1_707_KEY_0
+ 2193817600
+ name 1_707_KEY_1
+ 2193817601
+ name 1_707_KEY_2
+ 2193817602
+ name 1_707_KEY_3
+ 2193817603
+ name 1_707_KEY_4
+ 2193817604
+ name 1_707_KEY_5
+ 2193817605
+ name 1_707_KEY_6
+ 2193817606
+ name 1_707_KEY_7
+ 2193817607
+ name 1_707_KEY_8
+ 2193817608
+ name 1_707_KEY_9
+ 2193817609
+ name 1_707_KEY_POWER
+ 2193817610
+ name 1_707_TWO_DIGITS
+ 2193817613
+ name 1_707_KEY_CH_UP
+ 2193817615
+ name 1_707_KEY_CH_DOWN
+ 2193817616
+ name 1_707_KEY_MUTE
+ 2193817617
+ name 1_707_KEY_VOL_DOWN
+ 2193817618
+ name 1_707_KEY_VOL_UP
+ 2193817620
+ name 1_707_KEY_EXIT
+ 2193817624
+ name 1_707_KEY_BLUE
+ 2193817635
+ name 1_707_KEY_GREEN
+ 2193817636
+ name 1_707_KEY_RED
+ 2193817637
+ name 1_707_KEY_YELLOW
+ 2193817638
+ name 1_707_KEY_AV
+ 2193817641
+ name 1_707_KEY_MENU
+ 2193817647
+ name 1_707_KEY_MUP
+ 2193817648
+ name 1_707_KEY_MDOWN
+ 2193817649
+ name 1_707_KEY_MLEFT
+ 2193817650
+ name 1_707_KEY_MRIGHT
+ 2193817651
+ name 1_707_KEY_On
+ 2193817677
+ name 1_707_KEY_Off
+ 2193817678
+ name 1_708_KEY_0
+ 2193883136
+ name 1_708_KEY_1
+ 2193883137
+ name 1_708_KEY_2
+ 2193883138
+ name 1_708_KEY_3
+ 2193883139
+ name 1_708_KEY_4
+ 2193883140
+ name 1_708_KEY_5
+ 2193883141
+ name 1_708_KEY_6
+ 2193883142
+ name 1_708_KEY_7
+ 2193883143
+ name 1_708_KEY_8
+ 2193883144
+ name 1_708_KEY_9
+ 2193883145
+ name 1_708_KEY_POWER
+ 2193883146
+ name 1_708_KEY_CH_UP
+ 2193883151
+ name 1_708_KEY_CH_DOWN
+ 2193883152
+ name 1_708_KEY_MUTE
+ 2193883153
+ name 1_708_KEY_VOL_DOWN
+ 2193883154
+ name 1_708_KEY_VOL_UP
+ 2193883156
+ name 1_708_KEY_EXIT
+ 2193883160
+ name 1_708_KEY_GUIDE
+ 2193883163
+ name 1_708_KEY_BLUE
+ 2193883171
+ name 1_708_KEY_GREEN
+ 2193883172
+ name 1_708_KEY_RED
+ 2193883173
+ name 1_708_KEY_YELLOW
+ 2193883174
+ name 1_708_KEY_MENU
+ 2193883183
+ name 1_708_KEY_MUP
+ 2193883184
+ name 1_708_KEY_MDOWN
+ 2193883185
+ name 1_708_KEY_MLEFT
+ 2193883186
+ name 1_708_KEY_MRIGHT
+ 2193883187
+ name 1_708_KEY_DSubtitle
+ 2193883204
+ name 1_708_KEY_TTOnOff
+ 2193883209
+ name 1_709_KEY_0
+ 2193948672
+ name 1_709_KEY_1
+ 2193948673
+ name 1_709_KEY_2
+ 2193948674
+ name 1_709_KEY_3
+ 2193948675
+ name 1_709_KEY_4
+ 2193948676
+ name 1_709_KEY_5
+ 2193948677
+ name 1_709_KEY_6
+ 2193948678
+ name 1_709_KEY_7
+ 2193948679
+ name 1_709_KEY_8
+ 2193948680
+ name 1_709_KEY_9
+ 2193948681
+ name 1_709_KEY_CH_UP
+ 2193948687
+ name 1_709_KEY_CH_DOWN
+ 2193948688
+ name 1_709_KEY_MNSELECT
+ 2193948695
+ name 1_709_KEY_MNRETRUN
+ 2193948704
+ name 1_709_KEY_MENU
+ 2193948719
+ name 1_710_KEY_0
+ 2194014208
+ name 1_710_KEY_1
+ 2194014209
+ name 1_710_KEY_2
+ 2194014210
+ name 1_710_KEY_3
+ 2194014211
+ name 1_710_KEY_4
+ 2194014212
+ name 1_710_KEY_5
+ 2194014213
+ name 1_710_KEY_6
+ 2194014214
+ name 1_710_KEY_7
+ 2194014215
+ name 1_710_KEY_8
+ 2194014216
+ name 1_710_KEY_9
+ 2194014217
+ name 1_710_KEY_POWER
+ 2194014218
+ name 1_710_KEY_CH_UP
+ 2194014223
+ name 1_710_KEY_CH_DOWN
+ 2194014224
+ name 1_710_KEY_MUTE
+ 2194014225
+ name 1_710_KEY_MNSELECT
+ 2194014231
+ name 1_710_KEY_EXIT
+ 2194014232
+ name 1_710_KEY_GUIDE
+ 2194014235
+ name 1_710_KEY_MNRETRUN
+ 2194014240
+ name 1_710_KEY_MENU
+ 2194014255
+ name 1_710_KEY_MUP
+ 2194014256
+ name 1_710_KEY_MDOWN
+ 2194014257
+ name 1_710_KEY_MLEFT
+ 2194014258
+ name 1_710_KEY_MRIGHT
+ 2194014259
+ name 1_710_KEY_DSubtitle
+ 2194014276
+ name 1_711_KEY_0
+ 2194079744
+ name 1_711_KEY_1
+ 2194079745
+ name 1_711_KEY_2
+ 2194079746
+ name 1_711_KEY_3
+ 2194079747
+ name 1_711_KEY_4
+ 2194079748
+ name 1_711_KEY_5
+ 2194079749
+ name 1_711_KEY_6
+ 2194079750
+ name 1_711_KEY_7
+ 2194079751
+ name 1_711_KEY_8
+ 2194079752
+ name 1_711_KEY_9
+ 2194079753
+ name 1_711_KEY_POWER
+ 2194079754
+ name 1_711_KEY_CH_UP
+ 2194079759
+ name 1_711_KEY_CH_DOWN
+ 2194079760
+ name 1_711_KEY_MUTE
+ 2194079761
+ name 1_711_KEY_VOL_DOWN
+ 2194079762
+ name 1_711_KEY_VOL_UP
+ 2194079764
+ name 1_711_KEY_MNSELECT
+ 2194079767
+ name 1_711_KEY_EXIT
+ 2194079768
+ name 1_711_KEY_GUIDE
+ 2194079771
+ name 1_711_KEY_MNRETRUN
+ 2194079776
+ name 1_711_KEY_MENU
+ 2194079791
+ name 1_711_KEY_MUP
+ 2194079792
+ name 1_711_KEY_MDOWN
+ 2194079793
+ name 1_711_KEY_MLEFT
+ 2194079794
+ name 1_711_KEY_MRIGHT
+ 2194079795
+ name 1_711_KEY_DSubtitle
+ 2194079812
+ name 1_712_KEY_0
+ 2194145280
+ name 1_712_KEY_1
+ 2194145281
+ name 1_712_KEY_2
+ 2194145282
+ name 1_712_KEY_3
+ 2194145283
+ name 1_712_KEY_4
+ 2194145284
+ name 1_712_KEY_5
+ 2194145285
+ name 1_712_KEY_6
+ 2194145286
+ name 1_712_KEY_7
+ 2194145287
+ name 1_712_KEY_8
+ 2194145288
+ name 1_712_KEY_9
+ 2194145289
+ name 1_712_KEY_POWER
+ 2194145290
+ name 1_712_KEY_CH_UP
+ 2194145295
+ name 1_712_KEY_CH_DOWN
+ 2194145296
+ name 1_712_KEY_MUTE
+ 2194145297
+ name 1_712_KEY_VOL_DOWN
+ 2194145298
+ name 1_712_CH_PREVIOUS
+ 2194145299
+ name 1_712_KEY_VOL_UP
+ 2194145300
+ name 1_712_KEY_MNSELECT
+ 2194145303
+ name 1_712_KEY_GUIDE
+ 2194145307
+ name 1_712_KEY_MNRETRUN
+ 2194145312
+ name 1_712_KEY_BLUE
+ 2194145315
+ name 1_712_KEY_GREEN
+ 2194145316
+ name 1_712_KEY_RED
+ 2194145317
+ name 1_712_KEY_YELLOW
+ 2194145318
+ name 1_712_KEY_TIMER
+ 2194145324
+ name 1_712_KEY_MUP
+ 2194145328
+ name 1_712_KEY_MDOWN
+ 2194145329
+ name 1_712_KEY_MLEFT
+ 2194145330
+ name 1_712_KEY_MRIGHT
+ 2194145331
+ name 1_712_KEY_DSubtitle
+ 2194145348
+ name 1_712_KEY_On
+ 2194145357
+ name 1_713_KEY_0
+ 2194210816
+ name 1_713_KEY_1
+ 2194210817
+ name 1_713_KEY_2
+ 2194210818
+ name 1_713_KEY_3
+ 2194210819
+ name 1_713_KEY_4
+ 2194210820
+ name 1_713_KEY_5
+ 2194210821
+ name 1_713_KEY_6
+ 2194210822
+ name 1_713_KEY_7
+ 2194210823
+ name 1_713_KEY_8
+ 2194210824
+ name 1_713_KEY_9
+ 2194210825
+ name 1_713_KEY_POWER
+ 2194210826
+ name 1_713_KEY_CH_UP
+ 2194210831
+ name 1_713_KEY_CH_DOWN
+ 2194210832
+ name 1_713_KEY_MUTE
+ 2194210833
+ name 1_713_KEY_VOL_DOWN
+ 2194210834
+ name 1_713_CH_PREVIOUS
+ 2194210835
+ name 1_713_KEY_VOL_UP
+ 2194210836
+ name 1_713_KEY_MNSELECT
+ 2194210839
+ name 1_713_KEY_EXIT
+ 2194210840
+ name 1_713_KEY_GUIDE
+ 2194210843
+ name 1_713_KEY_MNRETRUN
+ 2194210848
+ name 1_713_KEY_MENU
+ 2194210863
+ name 1_713_KEY_MUP
+ 2194210864
+ name 1_713_KEY_MDOWN
+ 2194210865
+ name 1_713_KEY_MLEFT
+ 2194210866
+ name 1_713_KEY_MRIGHT
+ 2194210867
+ name 1_713_KEY_DSubtitle
+ 2194210884
+ name 1_714_KEY_0
+ 2194276352
+ name 1_714_KEY_1
+ 2194276353
+ name 1_714_KEY_2
+ 2194276354
+ name 1_714_KEY_3
+ 2194276355
+ name 1_714_KEY_4
+ 2194276356
+ name 1_714_KEY_5
+ 2194276357
+ name 1_714_KEY_6
+ 2194276358
+ name 1_714_KEY_7
+ 2194276359
+ name 1_714_KEY_8
+ 2194276360
+ name 1_714_KEY_9
+ 2194276361
+ name 1_714_KEY_POWER
+ 2194276362
+ name 1_714_KEY_CH_UP
+ 2194276367
+ name 1_714_KEY_CH_DOWN
+ 2194276368
+ name 1_714_KEY_MUTE
+ 2194276369
+ name 1_714_KEY_VOL_DOWN
+ 2194276370
+ name 1_714_CH_PREVIOUS
+ 2194276371
+ name 1_714_KEY_VOL_UP
+ 2194276372
+ name 1_714_KEY_MNSELECT
+ 2194276375
+ name 1_714_KEY_EXIT
+ 2194276376
+ name 1_714_KEY_GUIDE
+ 2194276379
+ name 1_714_KEY_TIMER
+ 2194276396
+ name 1_714_KEY_MUP
+ 2194276400
+ name 1_714_KEY_MDOWN
+ 2194276401
+ name 1_714_KEY_MLEFT
+ 2194276402
+ name 1_714_KEY_MRIGHT
+ 2194276403
+ name 1_714_KEY_DSubtitle
+ 2194276420
+ name 1_715_KEY_0
+ 2194341888
+ name 1_715_KEY_1
+ 2194341889
+ name 1_715_KEY_2
+ 2194341890
+ name 1_715_KEY_3
+ 2194341891
+ name 1_715_KEY_4
+ 2194341892
+ name 1_715_KEY_5
+ 2194341893
+ name 1_715_KEY_6
+ 2194341894
+ name 1_715_KEY_7
+ 2194341895
+ name 1_715_KEY_8
+ 2194341896
+ name 1_715_KEY_9
+ 2194341897
+ name 1_715_KEY_POWER
+ 2194341898
+ name 1_715_KEY_CH_UP
+ 2194341903
+ name 1_715_KEY_CH_DOWN
+ 2194341904
+ name 1_715_KEY_MUTE
+ 2194341905
+ name 1_715_KEY_VOL_DOWN
+ 2194341906
+ name 1_715_CH_PREVIOUS
+ 2194341907
+ name 1_715_KEY_VOL_UP
+ 2194341908
+ name 1_715_KEY_MNSELECT
+ 2194341911
+ name 1_715_KEY_EXIT
+ 2194341912
+ name 1_715_KEY_GUIDE
+ 2194341915
+ name 1_715_KEY_BLUE
+ 2194341923
+ name 1_715_KEY_GREEN
+ 2194341924
+ name 1_715_KEY_RED
+ 2194341925
+ name 1_715_KEY_YELLOW
+ 2194341926
+ name 1_715_KEY_TIMER
+ 2194341932
+ name 1_715_KEY_MENU
+ 2194341935
+ name 1_715_KEY_MUP
+ 2194341936
+ name 1_715_KEY_MDOWN
+ 2194341937
+ name 1_715_KEY_MLEFT
+ 2194341938
+ name 1_715_KEY_MRIGHT
+ 2194341939
+ name 1_715_KEY_DSubtitle
+ 2194341956
+ name 1_715_KEY_On
+ 2194341965
+ name 1_716_KEY_0
+ 2194407424
+ name 1_716_KEY_1
+ 2194407425
+ name 1_716_KEY_2
+ 2194407426
+ name 1_716_KEY_3
+ 2194407427
+ name 1_716_KEY_4
+ 2194407428
+ name 1_716_KEY_5
+ 2194407429
+ name 1_716_KEY_6
+ 2194407430
+ name 1_716_KEY_7
+ 2194407431
+ name 1_716_KEY_8
+ 2194407432
+ name 1_716_KEY_9
+ 2194407433
+ name 1_716_KEY_POWER
+ 2194407434
+ name 1_716_KEY_CH_UP
+ 2194407439
+ name 1_716_KEY_CH_DOWN
+ 2194407440
+ name 1_716_KEY_MUTE
+ 2194407441
+ name 1_716_KEY_VOL_DOWN
+ 2194407442
+ name 1_716_KEY_VOL_UP
+ 2194407444
+ name 1_716_KEY_MNSELECT
+ 2194407447
+ name 1_716_KEY_EXIT
+ 2194407448
+ name 1_716_KEY_GUIDE
+ 2194407451
+ name 1_716_KEY_FAV
+ 2194407453
+ name 1_716_KEY_MENU
+ 2194407471
+ name 1_716_KEY_MUP
+ 2194407472
+ name 1_716_KEY_MDOWN
+ 2194407473
+ name 1_716_KEY_MLEFT
+ 2194407474
+ name 1_716_KEY_MRIGHT
+ 2194407475
+ name 1_716_KEY_DSubtitle
+ 2194407492
+ name 1_717_KEY_0
+ 2194472960
+ name 1_717_KEY_1
+ 2194472961
+ name 1_717_KEY_2
+ 2194472962
+ name 1_717_KEY_3
+ 2194472963
+ name 1_717_KEY_4
+ 2194472964
+ name 1_717_KEY_5
+ 2194472965
+ name 1_717_KEY_6
+ 2194472966
+ name 1_717_KEY_7
+ 2194472967
+ name 1_717_KEY_8
+ 2194472968
+ name 1_717_KEY_9
+ 2194472969
+ name 1_717_KEY_POWER
+ 2194472970
+ name 1_717_TWO_DIGITS
+ 2194472973
+ name 1_717_KEY_CH_UP
+ 2194472975
+ name 1_717_KEY_CH_DOWN
+ 2194472976
+ name 1_717_KEY_MUTE
+ 2194472977
+ name 1_717_KEY_VOL_DOWN
+ 2194472978
+ name 1_717_KEY_VOL_UP
+ 2194472980
+ name 1_717_KEY_EXIT
+ 2194472984
+ name 1_717_KEY_BLUE
+ 2194472995
+ name 1_717_KEY_GREEN
+ 2194472996
+ name 1_717_KEY_RED
+ 2194472997
+ name 1_717_KEY_YELLOW
+ 2194472998
+ name 1_717_KEY_AV
+ 2194473001
+ name 1_717_KEY_MENU
+ 2194473007
+ name 1_717_KEY_MUP
+ 2194473008
+ name 1_717_KEY_MDOWN
+ 2194473009
+ name 1_717_KEY_MLEFT
+ 2194473010
+ name 1_717_KEY_MRIGHT
+ 2194473011
+ name 1_717_KEY_On
+ 2194473037
+ name 1_718_KEY_0
+ 2194538496
+ name 1_718_KEY_1
+ 2194538497
+ name 1_718_KEY_2
+ 2194538498
+ name 1_718_KEY_3
+ 2194538499
+ name 1_718_KEY_4
+ 2194538500
+ name 1_718_KEY_5
+ 2194538501
+ name 1_718_KEY_6
+ 2194538502
+ name 1_718_KEY_7
+ 2194538503
+ name 1_718_KEY_8
+ 2194538504
+ name 1_718_KEY_9
+ 2194538505
+ name 1_718_KEY_POWER
+ 2194538506
+ name 1_718_TWO_DIGITS
+ 2194538509
+ name 1_718_KEY_CH_UP
+ 2194538511
+ name 1_718_KEY_CH_DOWN
+ 2194538512
+ name 1_718_KEY_MUTE
+ 2194538513
+ name 1_718_KEY_VOL_DOWN
+ 2194538514
+ name 1_718_KEY_VOL_UP
+ 2194538516
+ name 1_718_KEY_EXIT
+ 2194538520
+ name 1_718_KEY_BLUE
+ 2194538531
+ name 1_718_KEY_GREEN
+ 2194538532
+ name 1_718_KEY_RED
+ 2194538533
+ name 1_718_KEY_YELLOW
+ 2194538534
+ name 1_718_KEY_AV
+ 2194538537
+ name 1_718_KEY_MENU
+ 2194538543
+ name 1_718_KEY_MUP
+ 2194538544
+ name 1_718_KEY_MDOWN
+ 2194538545
+ name 1_718_KEY_MLEFT
+ 2194538546
+ name 1_718_KEY_MRIGHT
+ 2194538547
+ name 1_718_KEY_On
+ 2194538573
+ name 1_718_KEY_Off
+ 2194538574
+ name 1_719_KEY_0
+ 2194604032
+ name 1_719_KEY_1
+ 2194604033
+ name 1_719_KEY_2
+ 2194604034
+ name 1_719_KEY_3
+ 2194604035
+ name 1_719_KEY_4
+ 2194604036
+ name 1_719_KEY_5
+ 2194604037
+ name 1_719_KEY_6
+ 2194604038
+ name 1_719_KEY_7
+ 2194604039
+ name 1_719_KEY_8
+ 2194604040
+ name 1_719_KEY_9
+ 2194604041
+ name 1_719_KEY_POWER
+ 2194604042
+ name 1_719_TWO_DIGITS
+ 2194604045
+ name 1_719_KEY_CH_UP
+ 2194604047
+ name 1_719_KEY_CH_DOWN
+ 2194604048
+ name 1_719_KEY_MUTE
+ 2194604049
+ name 1_719_KEY_VOL_DOWN
+ 2194604050
+ name 1_719_KEY_VOL_UP
+ 2194604052
+ name 1_719_KEY_EXIT
+ 2194604056
+ name 1_719_KEY_BLUE
+ 2194604067
+ name 1_719_KEY_GREEN
+ 2194604068
+ name 1_719_KEY_RED
+ 2194604069
+ name 1_719_KEY_YELLOW
+ 2194604070
+ name 1_719_KEY_AV
+ 2194604073
+ name 1_719_KEY_MENU
+ 2194604079
+ name 1_719_KEY_MUP
+ 2194604080
+ name 1_719_KEY_MDOWN
+ 2194604081
+ name 1_719_KEY_MLEFT
+ 2194604082
+ name 1_719_KEY_MRIGHT
+ 2194604083
+ name 1_719_KEY_On
+ 2194604109
+ name 1_719_KEY_Off
+ 2194604110
+ name 1_720_KEY_0
+ 2194669568
+ name 1_720_KEY_1
+ 2194669569
+ name 1_720_KEY_2
+ 2194669570
+ name 1_720_KEY_3
+ 2194669571
+ name 1_720_KEY_4
+ 2194669572
+ name 1_720_KEY_5
+ 2194669573
+ name 1_720_KEY_6
+ 2194669574
+ name 1_720_KEY_7
+ 2194669575
+ name 1_720_KEY_8
+ 2194669576
+ name 1_720_KEY_9
+ 2194669577
+ name 1_720_KEY_POWER
+ 2194669578
+ name 1_720_TWO_DIGITS
+ 2194669581
+ name 1_720_KEY_CH_UP
+ 2194669583
+ name 1_720_KEY_CH_DOWN
+ 2194669584
+ name 1_720_KEY_MUTE
+ 2194669585
+ name 1_720_KEY_VOL_DOWN
+ 2194669586
+ name 1_720_KEY_VOL_UP
+ 2194669588
+ name 1_720_KEY_EXIT
+ 2194669592
+ name 1_720_KEY_BLUE
+ 2194669603
+ name 1_720_KEY_GREEN
+ 2194669604
+ name 1_720_KEY_RED
+ 2194669605
+ name 1_720_KEY_YELLOW
+ 2194669606
+ name 1_720_KEY_AV
+ 2194669609
+ name 1_720_KEY_MENU
+ 2194669615
+ name 1_720_KEY_MUP
+ 2194669616
+ name 1_720_KEY_MDOWN
+ 2194669617
+ name 1_720_KEY_MLEFT
+ 2194669618
+ name 1_720_KEY_MRIGHT
+ 2194669619
+ name 1_720_KEY_On
+ 2194669645
+ name 1_720_KEY_Off
+ 2194669646
+ name 1_721_KEY_0
+ 2194735104
+ name 1_721_KEY_1
+ 2194735105
+ name 1_721_KEY_2
+ 2194735106
+ name 1_721_KEY_3
+ 2194735107
+ name 1_721_KEY_4
+ 2194735108
+ name 1_721_KEY_5
+ 2194735109
+ name 1_721_KEY_6
+ 2194735110
+ name 1_721_KEY_7
+ 2194735111
+ name 1_721_KEY_8
+ 2194735112
+ name 1_721_KEY_9
+ 2194735113
+ name 1_721_KEY_POWER
+ 2194735114
+ name 1_721_TWO_DIGITS
+ 2194735117
+ name 1_721_KEY_CH_UP
+ 2194735119
+ name 1_721_KEY_CH_DOWN
+ 2194735120
+ name 1_721_KEY_MUTE
+ 2194735121
+ name 1_721_KEY_VOL_DOWN
+ 2194735122
+ name 1_721_KEY_VOL_UP
+ 2194735124
+ name 1_721_KEY_EXIT
+ 2194735128
+ name 1_721_KEY_BLUE
+ 2194735139
+ name 1_721_KEY_GREEN
+ 2194735140
+ name 1_721_KEY_RED
+ 2194735141
+ name 1_721_KEY_YELLOW
+ 2194735142
+ name 1_721_KEY_AV
+ 2194735145
+ name 1_721_KEY_MENU
+ 2194735151
+ name 1_721_KEY_MUP
+ 2194735152
+ name 1_721_KEY_MDOWN
+ 2194735153
+ name 1_721_KEY_MLEFT
+ 2194735154
+ name 1_721_KEY_MRIGHT
+ 2194735155
+ name 1_721_KEY_On
+ 2194735181
+ name 1_721_KEY_Off
+ 2194735182
+ name 1_722_KEY_0
+ 2194800640
+ name 1_722_KEY_1
+ 2194800641
+ name 1_722_KEY_2
+ 2194800642
+ name 1_722_KEY_3
+ 2194800643
+ name 1_722_KEY_4
+ 2194800644
+ name 1_722_KEY_5
+ 2194800645
+ name 1_722_KEY_6
+ 2194800646
+ name 1_722_KEY_7
+ 2194800647
+ name 1_722_KEY_8
+ 2194800648
+ name 1_722_KEY_9
+ 2194800649
+ name 1_722_KEY_POWER
+ 2194800650
+ name 1_722_TWO_DIGITS
+ 2194800653
+ name 1_722_KEY_CH_UP
+ 2194800655
+ name 1_722_KEY_CH_DOWN
+ 2194800656
+ name 1_722_KEY_MUTE
+ 2194800657
+ name 1_722_KEY_VOL_DOWN
+ 2194800658
+ name 1_722_KEY_VOL_UP
+ 2194800660
+ name 1_722_KEY_EXIT
+ 2194800664
+ name 1_722_KEY_BLUE
+ 2194800675
+ name 1_722_KEY_GREEN
+ 2194800676
+ name 1_722_KEY_RED
+ 2194800677
+ name 1_722_KEY_YELLOW
+ 2194800678
+ name 1_722_KEY_AV
+ 2194800681
+ name 1_722_KEY_MENU
+ 2194800687
+ name 1_722_KEY_MUP
+ 2194800688
+ name 1_722_KEY_MDOWN
+ 2194800689
+ name 1_722_KEY_MLEFT
+ 2194800690
+ name 1_722_KEY_MRIGHT
+ 2194800691
+ name 1_722_KEY_On
+ 2194800717
+ name 1_722_KEY_Off
+ 2194800718
+ name 1_723_KEY_0
+ 2194866176
+ name 1_723_KEY_1
+ 2194866177
+ name 1_723_KEY_2
+ 2194866178
+ name 1_723_KEY_3
+ 2194866179
+ name 1_723_KEY_4
+ 2194866180
+ name 1_723_KEY_5
+ 2194866181
+ name 1_723_KEY_6
+ 2194866182
+ name 1_723_KEY_7
+ 2194866183
+ name 1_723_KEY_8
+ 2194866184
+ name 1_723_KEY_9
+ 2194866185
+ name 1_723_KEY_POWER
+ 2194866186
+ name 1_723_TWO_DIGITS
+ 2194866189
+ name 1_723_KEY_CH_UP
+ 2194866191
+ name 1_723_KEY_CH_DOWN
+ 2194866192
+ name 1_723_KEY_EXIT
+ 2194866200
+ name 1_723_KEY_BLUE
+ 2194866211
+ name 1_723_KEY_GREEN
+ 2194866212
+ name 1_723_KEY_RED
+ 2194866213
+ name 1_723_KEY_YELLOW
+ 2194866214
+ name 1_723_KEY_AV
+ 2194866217
+ name 1_723_KEY_MENU
+ 2194866223
+ name 1_723_KEY_MUP
+ 2194866224
+ name 1_723_KEY_MDOWN
+ 2194866225
+ name 1_723_KEY_MLEFT
+ 2194866226
+ name 1_723_KEY_MRIGHT
+ 2194866227
+ name 1_723_KEY_On
+ 2194866253
+ name 1_723_KEY_Off
+ 2194866254
+ name 1_724_KEY_0
+ 2194931712
+ name 1_724_KEY_1
+ 2194931713
+ name 1_724_KEY_2
+ 2194931714
+ name 1_724_KEY_3
+ 2194931715
+ name 1_724_KEY_4
+ 2194931716
+ name 1_724_KEY_5
+ 2194931717
+ name 1_724_KEY_6
+ 2194931718
+ name 1_724_KEY_7
+ 2194931719
+ name 1_724_KEY_8
+ 2194931720
+ name 1_724_KEY_9
+ 2194931721
+ name 1_724_KEY_POWER
+ 2194931722
+ name 1_724_TWO_DIGITS
+ 2194931725
+ name 1_724_KEY_CH_UP
+ 2194931727
+ name 1_724_KEY_CH_DOWN
+ 2194931728
+ name 1_724_KEY_MUTE
+ 2194931729
+ name 1_724_KEY_VOL_DOWN
+ 2194931730
+ name 1_724_KEY_VOL_UP
+ 2194931732
+ name 1_724_KEY_EXIT
+ 2194931736
+ name 1_724_KEY_BLUE
+ 2194931747
+ name 1_724_KEY_GREEN
+ 2194931748
+ name 1_724_KEY_RED
+ 2194931749
+ name 1_724_KEY_YELLOW
+ 2194931750
+ name 1_724_KEY_AV
+ 2194931753
+ name 1_724_KEY_MENU
+ 2194931759
+ name 1_724_KEY_MUP
+ 2194931760
+ name 1_724_KEY_MDOWN
+ 2194931761
+ name 1_724_KEY_MLEFT
+ 2194931762
+ name 1_724_KEY_MRIGHT
+ 2194931763
+ name 1_724_KEY_On
+ 2194931789
+ name 1_724_KEY_Off
+ 2194931790
+ name 1_725_KEY_0
+ 2194997248
+ name 1_725_KEY_1
+ 2194997249
+ name 1_725_KEY_2
+ 2194997250
+ name 1_725_KEY_3
+ 2194997251
+ name 1_725_KEY_4
+ 2194997252
+ name 1_725_KEY_5
+ 2194997253
+ name 1_725_KEY_6
+ 2194997254
+ name 1_725_KEY_7
+ 2194997255
+ name 1_725_KEY_8
+ 2194997256
+ name 1_725_KEY_9
+ 2194997257
+ name 1_725_KEY_POWER
+ 2194997258
+ name 1_725_TWO_DIGITS
+ 2194997261
+ name 1_725_KEY_CH_UP
+ 2194997263
+ name 1_725_KEY_CH_DOWN
+ 2194997264
+ name 1_725_KEY_MUTE
+ 2194997265
+ name 1_725_KEY_VOL_DOWN
+ 2194997266
+ name 1_725_KEY_VOL_UP
+ 2194997268
+ name 1_725_KEY_EXIT
+ 2194997272
+ name 1_725_KEY_BLUE
+ 2194997283
+ name 1_725_KEY_GREEN
+ 2194997284
+ name 1_725_KEY_RED
+ 2194997285
+ name 1_725_KEY_YELLOW
+ 2194997286
+ name 1_725_KEY_AV
+ 2194997289
+ name 1_725_KEY_MENU
+ 2194997295
+ name 1_725_KEY_MUP
+ 2194997296
+ name 1_725_KEY_MDOWN
+ 2194997297
+ name 1_725_KEY_MLEFT
+ 2194997298
+ name 1_725_KEY_MRIGHT
+ 2194997299
+ name 1_725_KEY_On
+ 2194997325
+ name 1_725_KEY_Off
+ 2194997326
+ name 1_726_KEY_0
+ 2195062784
+ name 1_726_KEY_1
+ 2195062785
+ name 1_726_KEY_2
+ 2195062786
+ name 1_726_KEY_3
+ 2195062787
+ name 1_726_KEY_4
+ 2195062788
+ name 1_726_KEY_5
+ 2195062789
+ name 1_726_KEY_6
+ 2195062790
+ name 1_726_KEY_7
+ 2195062791
+ name 1_726_KEY_8
+ 2195062792
+ name 1_726_KEY_9
+ 2195062793
+ name 1_726_KEY_POWER
+ 2195062794
+ name 1_726_TWO_DIGITS
+ 2195062797
+ name 1_726_KEY_CH_UP
+ 2195062799
+ name 1_726_KEY_CH_DOWN
+ 2195062800
+ name 1_726_KEY_MUTE
+ 2195062801
+ name 1_726_KEY_VOL_DOWN
+ 2195062802
+ name 1_726_KEY_VOL_UP
+ 2195062804
+ name 1_726_KEY_EXIT
+ 2195062808
+ name 1_726_KEY_BLUE
+ 2195062819
+ name 1_726_KEY_GREEN
+ 2195062820
+ name 1_726_KEY_RED
+ 2195062821
+ name 1_726_KEY_YELLOW
+ 2195062822
+ name 1_726_KEY_AV
+ 2195062825
+ name 1_726_KEY_MENU
+ 2195062831
+ name 1_726_KEY_MUP
+ 2195062832
+ name 1_726_KEY_MDOWN
+ 2195062833
+ name 1_726_KEY_MLEFT
+ 2195062834
+ name 1_726_KEY_MRIGHT
+ 2195062835
+ name 1_726_KEY_On
+ 2195062861
+ name 1_726_KEY_Off
+ 2195062862
+ name 1_727_KEY_0
+ 2195128320
+ name 1_727_KEY_1
+ 2195128321
+ name 1_727_KEY_2
+ 2195128322
+ name 1_727_KEY_3
+ 2195128323
+ name 1_727_KEY_4
+ 2195128324
+ name 1_727_KEY_5
+ 2195128325
+ name 1_727_KEY_6
+ 2195128326
+ name 1_727_KEY_7
+ 2195128327
+ name 1_727_KEY_8
+ 2195128328
+ name 1_727_KEY_9
+ 2195128329
+ name 1_727_KEY_POWER
+ 2195128330
+ name 1_727_TWO_DIGITS
+ 2195128333
+ name 1_727_KEY_CH_UP
+ 2195128335
+ name 1_727_KEY_CH_DOWN
+ 2195128336
+ name 1_727_KEY_MUTE
+ 2195128337
+ name 1_727_KEY_VOL_DOWN
+ 2195128338
+ name 1_727_KEY_VOL_UP
+ 2195128340
+ name 1_727_KEY_EXIT
+ 2195128344
+ name 1_727_KEY_BLUE
+ 2195128355
+ name 1_727_KEY_GREEN
+ 2195128356
+ name 1_727_KEY_RED
+ 2195128357
+ name 1_727_KEY_YELLOW
+ 2195128358
+ name 1_727_KEY_AV
+ 2195128361
+ name 1_727_KEY_MENU
+ 2195128367
+ name 1_727_KEY_MUP
+ 2195128368
+ name 1_727_KEY_MDOWN
+ 2195128369
+ name 1_727_KEY_MLEFT
+ 2195128370
+ name 1_727_KEY_MRIGHT
+ 2195128371
+ name 1_727_KEY_On
+ 2195128397
+ name 1_727_KEY_Off
+ 2195128398
+ name 1_728_KEY_0
+ 2195193856
+ name 1_728_KEY_1
+ 2195193857
+ name 1_728_KEY_2
+ 2195193858
+ name 1_728_KEY_3
+ 2195193859
+ name 1_728_KEY_4
+ 2195193860
+ name 1_728_KEY_5
+ 2195193861
+ name 1_728_KEY_6
+ 2195193862
+ name 1_728_KEY_7
+ 2195193863
+ name 1_728_KEY_8
+ 2195193864
+ name 1_728_KEY_9
+ 2195193865
+ name 1_728_KEY_POWER
+ 2195193866
+ name 1_728_TWO_DIGITS
+ 2195193869
+ name 1_728_KEY_CH_UP
+ 2195193871
+ name 1_728_KEY_CH_DOWN
+ 2195193872
+ name 1_728_KEY_MUTE
+ 2195193873
+ name 1_728_KEY_VOL_DOWN
+ 2195193874
+ name 1_728_KEY_VOL_UP
+ 2195193876
+ name 1_728_KEY_EXIT
+ 2195193880
+ name 1_728_KEY_BLUE
+ 2195193891
+ name 1_728_KEY_GREEN
+ 2195193892
+ name 1_728_KEY_RED
+ 2195193893
+ name 1_728_KEY_YELLOW
+ 2195193894
+ name 1_728_KEY_AV
+ 2195193897
+ name 1_728_KEY_MENU
+ 2195193903
+ name 1_728_KEY_MUP
+ 2195193904
+ name 1_728_KEY_MDOWN
+ 2195193905
+ name 1_728_KEY_MLEFT
+ 2195193906
+ name 1_728_KEY_MRIGHT
+ 2195193907
+ name 1_728_KEY_On
+ 2195193933
+ name 1_728_KEY_Off
+ 2195193934
+ name 1_729_KEY_0
+ 2195259392
+ name 1_729_KEY_1
+ 2195259393
+ name 1_729_KEY_2
+ 2195259394
+ name 1_729_KEY_3
+ 2195259395
+ name 1_729_KEY_4
+ 2195259396
+ name 1_729_KEY_5
+ 2195259397
+ name 1_729_KEY_6
+ 2195259398
+ name 1_729_KEY_7
+ 2195259399
+ name 1_729_KEY_8
+ 2195259400
+ name 1_729_KEY_9
+ 2195259401
+ name 1_729_KEY_POWER
+ 2195259402
+ name 1_729_TWO_DIGITS
+ 2195259405
+ name 1_729_KEY_CH_UP
+ 2195259407
+ name 1_729_KEY_CH_DOWN
+ 2195259408
+ name 1_729_KEY_MUTE
+ 2195259409
+ name 1_729_KEY_VOL_DOWN
+ 2195259410
+ name 1_729_KEY_VOL_UP
+ 2195259412
+ name 1_729_KEY_EXIT
+ 2195259416
+ name 1_729_KEY_BLUE
+ 2195259427
+ name 1_729_KEY_GREEN
+ 2195259428
+ name 1_729_KEY_RED
+ 2195259429
+ name 1_729_KEY_YELLOW
+ 2195259430
+ name 1_729_KEY_AV
+ 2195259433
+ name 1_729_KEY_MENU
+ 2195259439
+ name 1_729_KEY_MUP
+ 2195259440
+ name 1_729_KEY_MDOWN
+ 2195259441
+ name 1_729_KEY_MLEFT
+ 2195259442
+ name 1_729_KEY_MRIGHT
+ 2195259443
+ name 1_729_KEY_On
+ 2195259469
+ name 1_729_KEY_Off
+ 2195259470
+ name 1_730_KEY_0
+ 2195324928
+ name 1_730_KEY_1
+ 2195324929
+ name 1_730_KEY_2
+ 2195324930
+ name 1_730_KEY_3
+ 2195324931
+ name 1_730_KEY_4
+ 2195324932
+ name 1_730_KEY_5
+ 2195324933
+ name 1_730_KEY_6
+ 2195324934
+ name 1_730_KEY_7
+ 2195324935
+ name 1_730_KEY_8
+ 2195324936
+ name 1_730_KEY_9
+ 2195324937
+ name 1_730_KEY_POWER
+ 2195324938
+ name 1_730_TWO_DIGITS
+ 2195324941
+ name 1_730_KEY_CH_UP
+ 2195324943
+ name 1_730_KEY_CH_DOWN
+ 2195324944
+ name 1_730_KEY_MUTE
+ 2195324945
+ name 1_730_KEY_VOL_DOWN
+ 2195324946
+ name 1_730_KEY_VOL_UP
+ 2195324948
+ name 1_730_KEY_EXIT
+ 2195324952
+ name 1_730_KEY_BLUE
+ 2195324963
+ name 1_730_KEY_GREEN
+ 2195324964
+ name 1_730_KEY_RED
+ 2195324965
+ name 1_730_KEY_YELLOW
+ 2195324966
+ name 1_730_KEY_AV
+ 2195324969
+ name 1_730_KEY_MENU
+ 2195324975
+ name 1_730_KEY_MUP
+ 2195324976
+ name 1_730_KEY_MDOWN
+ 2195324977
+ name 1_730_KEY_MLEFT
+ 2195324978
+ name 1_730_KEY_MRIGHT
+ 2195324979
+ name 1_730_KEY_On
+ 2195325005
+ name 1_730_KEY_Off
+ 2195325006
+ name 1_731_KEY_0
+ 2195390464
+ name 1_731_KEY_1
+ 2195390465
+ name 1_731_KEY_2
+ 2195390466
+ name 1_731_KEY_3
+ 2195390467
+ name 1_731_KEY_4
+ 2195390468
+ name 1_731_KEY_5
+ 2195390469
+ name 1_731_KEY_6
+ 2195390470
+ name 1_731_KEY_7
+ 2195390471
+ name 1_731_KEY_8
+ 2195390472
+ name 1_731_KEY_9
+ 2195390473
+ name 1_731_KEY_POWER
+ 2195390474
+ name 1_731_TWO_DIGITS
+ 2195390477
+ name 1_731_KEY_CH_UP
+ 2195390479
+ name 1_731_KEY_CH_DOWN
+ 2195390480
+ name 1_731_KEY_MUTE
+ 2195390481
+ name 1_731_KEY_VOL_DOWN
+ 2195390482
+ name 1_731_KEY_VOL_UP
+ 2195390484
+ name 1_731_KEY_EXIT
+ 2195390488
+ name 1_731_KEY_BLUE
+ 2195390499
+ name 1_731_KEY_GREEN
+ 2195390500
+ name 1_731_KEY_RED
+ 2195390501
+ name 1_731_KEY_YELLOW
+ 2195390502
+ name 1_731_KEY_AV
+ 2195390505
+ name 1_731_KEY_MENU
+ 2195390511
+ name 1_731_KEY_MUP
+ 2195390512
+ name 1_731_KEY_MDOWN
+ 2195390513
+ name 1_731_KEY_MLEFT
+ 2195390514
+ name 1_731_KEY_MRIGHT
+ 2195390515
+ name 1_731_KEY_On
+ 2195390541
+ name 1_731_KEY_Off
+ 2195390542
+ end raw_codes
+end remote
+
+begin remote
+
+ name Hauppauge
+ bits 13
+ flags SHIFT_ENC
+ eps 30
+ aeps 100
+
+ one 950 830
+ zero 950 830
+ plead 960
+ gap 89584
+ repeat_bit 2
+
+ begin codes
+ TV 0x000000000000100F
+ RADIO 0x000000000000100C
+ FULL_SCREEN 0x000000000000102E
+ CH+ 0x0000000000001020
+ CH- 0x0000000000001021
+ VOL- 0x0000000000001011
+ VOL+ 0x0000000000001010
+ MUTE 0x000000000000100D
+ SOURCE 0x0000000000001022
+ 1 0x0000000000001001
+ 2 0x0000000000001002
+ 3 0x0000000000001003
+ 4 0x0000000000001004
+ 5 0x0000000000001005
+ 6 0x0000000000001006
+ 7 0x0000000000001007
+ 8 0x0000000000001008
+ 9 0x0000000000001009
+ 0 0x0000000000001000
+ RESERVED 0x000000000000101E
+ MINIMIZE 0x0000000000001026
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
+#
+# contributed by
+#
+# brand: Hauppauge
+# model no. of remote control:
+# devices being controlled by this remote: PVR 2/350
+#
+
+begin remote
+
+ name hauppauge_pvr
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+ toggle_bit 2
+
+
+ begin codes
+ Power 0x00000000000017FD
+ Go 0x00000000000017FB
+ 1 0x00000000000017C1
+ 2 0x00000000000017C2
+ 3 0x00000000000017C3
+ 4 0x00000000000017C4
+ 5 0x00000000000017C5
+ 6 0x00000000000017C6
+ 7 0x00000000000017C7
+ 8 0x00000000000017C8
+ 9 0x00000000000017C9
+ Back/Exit 0x00000000000017DF
+ 0 0x00000000000017C0
+ Menu 0x00000000000017CD
+ Red 0x00000000000017CB
+ Green 0x00000000000017EE
+ Yellow 0x00000000000017F8
+ Blue 0x00000000000017E9
+ Ch+ 0x00000000000017E0
+ Ch- 0x00000000000017E1
+ Vol- 0x00000000000017D1
+ Vol+ 0x00000000000017D0
+ Ok 0x00000000000017E5
+ Mute 0x00000000000017CF
+ Blank 0x00000000000017CC
+ Full 0x00000000000017FC
+ Rewind 0x00000000000017F2
+ Play 0x00000000000017F5
+ Forward 0x00000000000017F4
+ Record 0x00000000000017F7
+ Stop 0x00000000000017F6
+ Pause 0x00000000000017F0
+ Replay 0x00000000000017E4
+ Skip 0x00000000000017DE
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.7.0(any) on Sun Nov 28 20:25:09 2004
+#
+# contributed by
+#
+# brand: Hauppauge 350
+# Created: G.J. Werler (The Netherlands)
+# Project: Mythtv Fedora Pundit-R www.mythtvportal.com
+# Date: 2004/11/28
+# model no. of remote control: Hauppauge A415-HPG
+# devices being controlled by this remote: PVR-350
+#
+
+begin remote
+
+ name Hauppauge_350
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+# gap 200000
+ toggle_bit 2
+
+
+ begin codes
+ Go 0x00000000000017BB
+ Power 0x00000000000017BD
+ TV 0x000000000000179C
+ Videos 0x0000000000001798
+ Music 0x0000000000001799
+ Pictures 0x000000000000179A
+ Guide 0x000000000000179B
+ Radio 0x000000000000178C
+ Up 0x0000000000001794
+ Left 0x0000000000001796
+ Right 0x0000000000001797
+ Down 0x0000000000001795
+ OK 0x00000000000017A5
+ Back/Exit 0x000000000000179F
+ Menu/i 0x000000000000178D
+ Vol+ 0x0000000000001790
+ Vol- 0x0000000000001791
+ Prev.Ch 0x0000000000001792
+ Mute 0x000000000000178F
+ Ch+ 0x00000000000017A0
+ Ch- 0x00000000000017A1
+ Record 0x00000000000017B7
+ Stop 0x00000000000017B6
+ Rewind 0x00000000000017B2
+ Play 0x00000000000017B5
+ Forward 0x00000000000017B4
+ Replay/SkipBackward 0x00000000000017A4
+ Pause 0x00000000000017B0
+ SkipForward 0x000000000000179E
+ 1 0x0000000000001781
+ 2 0x0000000000001782
+ 3 0x0000000000001783
+ 4 0x0000000000001784
+ 5 0x0000000000001785
+ 6 0x0000000000001786
+ 7 0x0000000000001787
+ 8 0x0000000000001788
+ 9 0x0000000000001789
+ Asterix 0x000000000000178A
+ 0 0x0000000000001780
+ # 0x000000000000178E
+ Red 0x000000000000178B
+ Green 0x00000000000017AE
+ Yellow 0x00000000000017B8
+ Blue 0x00000000000017A9
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/lircrc-haupgrey-g3.txt b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/lircrc-haupgrey-g3.txt
new file mode 100644
index 0000000..f12e4eb
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/lircrc-haupgrey-g3.txt
@@ -0,0 +1,586 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Here we have the jump point commands. They only work if you have
+# defined function keys for these jump points. For me the most
+# common command is the menu of recordings, so I put that on "videos"
+# even though that's counter-intuitive
+
+begin
+prog = mythtv
+button = TV
+repeat = 3
+config = F5
+end
+
+begin
+prog = mythtv
+button = Videos
+repeat = 3
+config = F2
+end
+
+# Not yet defined
+begin
+prog = mythtv
+button = Music
+repeat = 3
+config = Up
+end
+
+# Given another function for now, I don't use mythgallery
+begin
+prog = mythtv
+button = Pictures
+repeat = 3
+config = F
+end
+
+begin
+prog = mythtv
+button = Guide
+repeat = 3
+config = O
+end
+
+# Radio brings up menu
+
+begin
+prog = mythtv
+button = Go
+repeat = 3
+config = I
+end
+
+begin
+prog = mythtv
+button = Radio
+repeat = 3
+config = F4
+end
+
+begin
+prog = mythtv
+button = Up
+repeat = 3
+config = Up
+end
+
+begin
+prog = mythtv
+button = Down
+repeat = 3
+config = Down
+end
+
+begin
+prog = mythtv
+button = Left
+repeat = 3
+config = Left
+end
+
+begin
+prog = mythtv
+button = Right
+repeat = 3
+config = Right
+end
+
+# Channel Up
+begin
+prog = mythtv
+button = Ch+
+repeat = 3
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = Ch-
+repeat = 3
+config = Down
+end
+
+# OKSelect
+begin
+prog = mythtv
+button = OK
+repeat = 3
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = Play
+repeat = 3
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = Stop
+repeat = 3
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = Back/Exit
+repeat = 3
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = Power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = Pause
+repeat = 3
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = Mute
+repeat = 3
+config = |
+end
+
+# Fast forward
+begin
+prog = mythtv
+button = Rewind
+repeat = 3
+config = <
+end
+
+# Rewind
+begin
+prog = mythtv
+button = Forward
+repeat = 3
+config = >
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = SkipForward
+repeat = 3
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = Replay/SkipBackward
+repeat = 3
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = Record
+repeat = 3
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = Red
+repeat = 3
+config = D
+end
+
+# Decrease play speed
+begin
+prog = mythtv
+button = Green
+repeat = 3
+config = U
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = Menu/i
+repeat = 3
+config = M
+end
+
+# Scroll up
+begin
+prog = mythtv
+button = Vol+
+repeat = 3
+config = F11
+end
+
+# Scroll down
+begin
+prog = mythtv
+button = Vol-
+repeat = 3
+config = F10
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = Go
+repeat = 3
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = Prev.Ch
+repeat = 3
+config = H
+end
+
+# double speed watch
+begin
+prog = mythtv
+button = Yellow
+repeat = 3
+config = J
+end
+
+# change tuners
+begin
+prog = mythtv
+button = Asterix
+repeat = 3
+config = Y
+end
+
+# Bring up Time stretch
+begin
+prog = mythtv
+button = Blue
+repeat = 3
+config = A
+end
+
+# Numbers 0-9
+begin
+prog = mythtv
+button = 0
+repeat = 3
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+repeat = 3
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+repeat = 3
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+repeat = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+repeat = 3
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+repeat = 3
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+repeat = 3
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+repeat = 3
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+repeat = 3
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+repeat = 3
+config = 9
+end
+
+# MPlayer lirc setup
+# Show OSD
+begin
+prog = mplayer
+button = Menu/i
+repeat = 3
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = Pause
+repeat = 3
+config = pause
+end
+
+# Skip ahead a minute if playing
+# If paused, resume playing
+begin
+prog = mplayer
+button = Play
+repeat = 3
+config = seek +1
+end
+
+# Stop playback and exit
+begin
+prog = mplayer
+button = Stop
+repeat = 3
+config = quit
+end
+
+# Mute
+begin
+prog = mplayer
+button = Mute
+repeat = 3
+config = mute
+end
+
+begin
+prog = mplayer
+button = Left
+repeat = 3
+config = seek -10
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = Rewind
+repeat = 3
+config = seek -10
+end
+
+begin
+prog = mplayer
+button = Right
+repeat = 3
+config = seek +30
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = Forward
+repeat = 3
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = Back/Exit
+repeat = 3
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = SkipForward
+repeat = 3
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = Replay/SkipBackward
+repeat = 3
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button =
+repeat = 3
+config = vo_fullscreen
+end
+
+# Xine lirc setup
+begin
+prog = xine
+button = Play
+repeat = 3
+config = Play
+end
+
+begin
+prog = xine
+button = Stop
+repeat = 3
+config = Stop
+end
+
+begin
+prog = xine
+button = Back/Exit
+repeat = 3
+config = Quit
+end
+
+begin
+prog = xine
+button = Pause
+repeat = 3
+config = Pause
+end
+
+begin
+prog = xine
+button = Up
+repeat = 3
+config = EventUp
+end
+
+begin
+prog = xine
+button = Down
+repeat = 3
+config = EventDown
+end
+
+begin
+prog = xine
+button = Left
+repeat = 3
+config = EventLeft
+end
+
+begin
+prog = xine
+button = Right
+repeat = 3
+config = EventRight
+end
+
+begin
+prog = xine
+button = OK
+repeat = 3
+config = EventSelect
+end
+
+begin
+prog = xine
+button = Forward
+repeat = 3
+config = SpeedFaster
+end
+
+begin
+prog = xine
+button = Rewind
+repeat = 3
+config = SpeedSlower
+end
+
+begin
+prog = xine
+button = Vol+
+repeat = 3
+config = Volume+
+end
+
+begin
+prog = xine
+button = Vol-
+repeat = 3
+config = Volume-
+end
+
+begin
+prog = xine
+button = Mute
+repeat = 3
+config = Mute
+end
+
+begin
+prog = xine
+button = Menu/i
+repeat = 3
+config = RootMenu
+end
+
+begin
+prog = xine
+button = SkipForward
+repeat = 3
+config = EventNext
+end
+
+begin
+prog = xine
+button = Replay/SkipBackward
+repeat = 3
+config = EventPrior
+end
+
+begin
+prog = xine
+button = Go
+repeat = 3
+config = OSDStreamInfos
+end
+
+
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/preview.jpg b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/preview.jpg
new file mode 100644
index 0000000..a40a1e8
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-blaster/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/lircd-haupgrey-alt.conf b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/lircd-haupgrey-alt.conf
new file mode 100644
index 0000000..c0849ef
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/lircd-haupgrey-alt.conf
@@ -0,0 +1,199 @@
+#
+# this config file was automatically generated
+# using lirc-0.5.5pre8 on Sun Apr 18 11:43:45 1999
+#
+# contributed by Jens Leuschner <leuschner@gmx.net>
+#
+# brand: Hauppauge
+# model:
+# supported devices: WinTV primo; WinTV pci; WinTV radio
+#
+# This config file will work with both homebrew receivers and
+# original Hauppauge TV cards !!!
+#
+
+begin remote
+
+ name Hauppauge
+ bits 13
+ flags SHIFT_ENC
+ eps 30
+ aeps 100
+
+ one 950 830
+ zero 950 830
+ plead 960
+ gap 89584
+ repeat_bit 2
+
+ begin codes
+ TV 0x000000000000100F
+ RADIO 0x000000000000100C
+ FULL_SCREEN 0x000000000000102E
+ CH+ 0x0000000000001020
+ CH- 0x0000000000001021
+ VOL- 0x0000000000001011
+ VOL+ 0x0000000000001010
+ MUTE 0x000000000000100D
+ SOURCE 0x0000000000001022
+ 1 0x0000000000001001
+ 2 0x0000000000001002
+ 3 0x0000000000001003
+ 4 0x0000000000001004
+ 5 0x0000000000001005
+ 6 0x0000000000001006
+ 7 0x0000000000001007
+ 8 0x0000000000001008
+ 9 0x0000000000001009
+ 0 0x0000000000001000
+ RESERVED 0x000000000000101E
+ MINIMIZE 0x0000000000001026
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
+#
+# contributed by
+#
+# brand: Hauppauge
+# model no. of remote control:
+# devices being controlled by this remote: PVR 2/350
+#
+
+begin remote
+
+ name hauppauge_pvr
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+ toggle_bit 2
+
+
+ begin codes
+ Power 0x00000000000017FD
+ Go 0x00000000000017FB
+ 1 0x00000000000017C1
+ 2 0x00000000000017C2
+ 3 0x00000000000017C3
+ 4 0x00000000000017C4
+ 5 0x00000000000017C5
+ 6 0x00000000000017C6
+ 7 0x00000000000017C7
+ 8 0x00000000000017C8
+ 9 0x00000000000017C9
+ Back/Exit 0x00000000000017DF
+ 0 0x00000000000017C0
+ Menu 0x00000000000017CD
+ Red 0x00000000000017CB
+ Green 0x00000000000017EE
+ Yellow 0x00000000000017F8
+ Blue 0x00000000000017E9
+ Ch+ 0x00000000000017E0
+ Ch- 0x00000000000017E1
+ Vol- 0x00000000000017D1
+ Vol+ 0x00000000000017D0
+ Ok 0x00000000000017E5
+ Mute 0x00000000000017CF
+ Blank 0x00000000000017CC
+ Full 0x00000000000017FC
+ Rewind 0x00000000000017F2
+ Play 0x00000000000017F5
+ Forward 0x00000000000017F4
+ Record 0x00000000000017F7
+ Stop 0x00000000000017F6
+ Pause 0x00000000000017F0
+ Replay 0x00000000000017E4
+ Skip 0x00000000000017DE
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.7.0(any) on Sun Nov 28 20:25:09 2004
+#
+# contributed by
+#
+# brand: Hauppauge 350
+# Created: G.J. Werler (The Netherlands)
+# Project: Mythtv Fedora Pundit-R www.mythtvportal.com
+# Date: 2004/11/28
+# model no. of remote control: Hauppauge A415-HPG
+# devices being controlled by this remote: PVR-350
+#
+
+begin remote
+
+ name Hauppauge_350
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+ toggle_bit 2
+
+
+ begin codes
+ Go 0x00000000000017BB
+ Power 0x00000000000017BD
+ TV 0x000000000000179C
+ Videos 0x0000000000001798
+ Music 0x0000000000001799
+ Pictures 0x000000000000179A
+ Guide 0x000000000000179B
+ Radio 0x000000000000178C
+ Up 0x0000000000001794
+ Left 0x0000000000001796
+ Right 0x0000000000001797
+ Down 0x0000000000001795
+ OK 0x00000000000017A5
+ Back/Exit 0x000000000000179F
+ Menu/i 0x000000000000178D
+ Vol+ 0x0000000000001790
+ Vol- 0x0000000000001791
+ Prev.Ch 0x0000000000001792
+ Mute 0x000000000000178F
+ Ch+ 0x00000000000017A0
+ Ch- 0x00000000000017A1
+ Record 0x00000000000017B7
+ Stop 0x00000000000017B6
+ Rewind 0x00000000000017B2
+ Play 0x00000000000017B5
+ Forward 0x00000000000017B4
+ Replay/SkipBackward 0x00000000000017A4
+ Pause 0x00000000000017B0
+ SkipForward 0x000000000000179E
+ 1 0x0000000000001781
+ 2 0x0000000000001782
+ 3 0x0000000000001783
+ 4 0x0000000000001784
+ 5 0x0000000000001785
+ 6 0x0000000000001786
+ 7 0x0000000000001787
+ 8 0x0000000000001788
+ 9 0x0000000000001789
+ Asterix 0x000000000000178A
+ 0 0x0000000000001780
+ # 0x000000000000178E
+ Red 0x000000000000178B
+ Green 0x00000000000017AE
+ Yellow 0x00000000000017B8
+ Blue 0x00000000000017A9
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/lircrc-haupgrey-alt b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/lircrc-haupgrey-alt
new file mode 100644
index 0000000..f86246a
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/lircrc-haupgrey-alt
@@ -0,0 +1,533 @@
+# put this in /usr/MythVantage/templates/remotes/hauppauge-grey/
+# then change /etc/lircrc to include it
+#
+# lircrc.example.HauppaugeGrey-nativelirc
+# 2003-09-17, Robert Kulagowski
+# mailto:rkulagow@rocketmail.com
+# Save this file in ~/.mythtv/lircrc
+
+begin
+ prog = mythtv
+ button = Power
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = Go
+# Swap the PiP windows
+ config = N
+end
+
+begin
+ prog = mythtv
+ button = 1
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ config = 9
+end
+
+begin
+ prog = mythtv
+ button = Back/Exit
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = Menu
+ config = M
+end
+
+# Below are keys used with the Hauppauge Grey remote
+
+begin
+ prog = mythtv
+# This is the Red key
+# We'll use it for "Delete"
+ button = Red
+ config = Space
+end
+
+begin
+ prog = mythtv
+# This is the Green key
+# We'll use it for "Information"
+ button = Green
+ config = I
+end
+
+# Note the "repeat = " strings in the volume and channel.
+# This means that if you hold down the key, every nth instance will be
+# passed. This depends on your system, so you may want to increase or
+# decrease this and see what happens. repeat = 1 is probably too
+# fast.
+
+begin
+ prog = mythtv
+# This is the Yellow key
+# Use it as a volume key
+ button = Yellow
+ repeat = 3
+ config = F10
+end
+
+begin
+ prog = mythtv
+# This is the Blue key
+# Use it as a volume key
+ button = Blue
+ repeat = 3
+ config = F11
+end
+
+begin
+ prog = mythtv
+ button = Ch+
+# This is the "up" on the central diamond
+ repeat = 3
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = Ch-
+# This is the "down" on the central diamond
+ repeat = 3
+ config = Down
+end
+
+begin
+ prog = mythtv
+ button = Vol-
+# This is the "left" on the central diamond
+ repeat = 3
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = Vol+
+# This is the "right" on the central diamond
+ repeat = 3
+ config = Right
+end
+
+begin
+ prog = mythtv
+# Middle button on the diamond
+ button = Ok
+ config = Return
+end
+
+begin
+ prog = mythtv
+ button = Mute
+ config = F9
+end
+
+begin
+ prog = mythtv
+# Change focus for PiP (to change channel in the other window)
+ button = Blank
+ config = B
+end
+
+begin
+ prog = mythtv
+# Toggle PiP on/off
+ button = Full
+ config = V
+end
+
+begin
+ prog = mythtv
+ button = Rewind
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = Play
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = Forward
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = Record
+ config = R
+end
+
+begin
+ prog = mythtv
+# Teletext
+ button = Stop
+ config = T
+end
+
+begin
+ prog = mythtv
+ button = Pause
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = Replay
+# Use for backwards commercial skip
+ config = Q
+end
+
+begin
+ prog = mythtv
+ button = Skip
+# Use for forward commercial skip
+ config = Z
+end
+
+#MPlayer
+begin
+ prog = mplayer
+ button = Power
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = Menu
+ config = osd
+end
+
+begin
+ prog = mplayer
+ button = Rewind
+ config = seek -10
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Forward
+ config = seek +10
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Vol-
+ config = seek -15
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Vol+
+ config = seek +15
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Replay
+ config = seek -60
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Skip
+ config = seek +60
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Pause
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = OK
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Play
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Back/Exit
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = Play
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Ch+
+ config = volume +1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Ch-
+ config = volume -1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Mute
+ config = mute
+end
+##XINE
+
+ begin
+ prog = xine
+ button = Play
+ repeat = 3
+ config = Play
+ end
+
+ begin
+ prog = xine
+ button = Stop
+ repeat = 3
+ config = Stop
+ end
+
+ begin
+ prog = xine
+ button = Back/Exit
+ config = Quit
+ end
+
+ begin
+ prog = xine
+ button = Pause
+ repeat = 3
+ config = Pause
+ end
+
+ begin
+ prog = xine
+ button = Ch+
+ repeat = 4
+ config = EventUp
+ end
+
+ begin
+ prog = xine
+ button = Ch-
+ repeat = 4
+ config = EventDown
+ end
+
+ begin
+ prog = xine
+ button = Vol-
+ repeat = 4
+ config = EventLeft
+ end
+
+ begin
+ prog = xine
+ button = Vol+
+ repeat = 4
+ config = EventRight
+ end
+
+ begin
+ prog = xine
+ button = Ok
+ repeat = 0
+ config = EventSelect
+ end
+
+ begin
+ prog = xine
+ button = Menu
+ repeat = 0
+ config = Menu
+ end
+
+ #vol down
+ begin
+ prog = xine
+ button = Yellow
+ repeat = 1
+ config = Volume-
+ end
+
+ #vol up
+ begin
+ prog = xine
+ button = Red
+ repeat = 1
+ config = Volume+
+ end
+
+ begin
+ prog = xine
+ button = Forward
+ repeat = 2
+ config = SeekRelative+30
+ end
+
+ begin
+ prog = xine
+ button = Rewind
+ repeat = 2
+ config = SeekRelative-30
+ end
+
+ #ch up
+ begin
+ prog = xine
+ button = Green
+ repeat = 1
+ config = SeekRelative+60
+ end
+
+ #ch down
+ begin
+ prog = xine
+ button = Blue
+ repeat = 1
+ config = SeekRelative-60
+ end
+
+ #sleep
+ begin
+ prog = xine
+ button = Go
+ repeat = 1
+ config = ZoomIn
+ end
+
+ #display
+ begin
+ prog = xine
+ button = Skip
+ repeat = 1
+ config = ZoomOut
+ end
+
+ #skip chapter forward
+ begin
+ prog = xine
+ button = Skip
+ repeat = 1
+ config = EventNext
+ end
+
+ #skip chapter backward
+ begin
+ prog = xine
+ button = Replay
+ repeat = 1
+ config = EventPrior
+ end
+
+ begin
+ prog = lircnav
+ button = Vol-
+ config = page_down
+ end
+
+ begin
+ prog = lircnav
+ button = Vol+
+ config = page_up
+ end
+
+ begin
+ prog = lircnav
+ button = Ch+
+ config = up
+ end
+
+ begin
+ prog = lircnav
+ button = Ch-
+ config = down
+ end
+
+ begin
+ prog = lircnav
+ button = Ok
+ config = select
+ end
+
+ begin
+ prog = lircnav
+ button = Power
+ config = quit
+ end
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/preview.jpg b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/preview.jpg
new file mode 100644
index 0000000..19acba3
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey-alt/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/lircd-haupgrey.conf b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/lircd-haupgrey.conf
new file mode 100644
index 0000000..c0849ef
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/lircd-haupgrey.conf
@@ -0,0 +1,199 @@
+#
+# this config file was automatically generated
+# using lirc-0.5.5pre8 on Sun Apr 18 11:43:45 1999
+#
+# contributed by Jens Leuschner <leuschner@gmx.net>
+#
+# brand: Hauppauge
+# model:
+# supported devices: WinTV primo; WinTV pci; WinTV radio
+#
+# This config file will work with both homebrew receivers and
+# original Hauppauge TV cards !!!
+#
+
+begin remote
+
+ name Hauppauge
+ bits 13
+ flags SHIFT_ENC
+ eps 30
+ aeps 100
+
+ one 950 830
+ zero 950 830
+ plead 960
+ gap 89584
+ repeat_bit 2
+
+ begin codes
+ TV 0x000000000000100F
+ RADIO 0x000000000000100C
+ FULL_SCREEN 0x000000000000102E
+ CH+ 0x0000000000001020
+ CH- 0x0000000000001021
+ VOL- 0x0000000000001011
+ VOL+ 0x0000000000001010
+ MUTE 0x000000000000100D
+ SOURCE 0x0000000000001022
+ 1 0x0000000000001001
+ 2 0x0000000000001002
+ 3 0x0000000000001003
+ 4 0x0000000000001004
+ 5 0x0000000000001005
+ 6 0x0000000000001006
+ 7 0x0000000000001007
+ 8 0x0000000000001008
+ 9 0x0000000000001009
+ 0 0x0000000000001000
+ RESERVED 0x000000000000101E
+ MINIMIZE 0x0000000000001026
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
+#
+# contributed by
+#
+# brand: Hauppauge
+# model no. of remote control:
+# devices being controlled by this remote: PVR 2/350
+#
+
+begin remote
+
+ name hauppauge_pvr
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+ toggle_bit 2
+
+
+ begin codes
+ Power 0x00000000000017FD
+ Go 0x00000000000017FB
+ 1 0x00000000000017C1
+ 2 0x00000000000017C2
+ 3 0x00000000000017C3
+ 4 0x00000000000017C4
+ 5 0x00000000000017C5
+ 6 0x00000000000017C6
+ 7 0x00000000000017C7
+ 8 0x00000000000017C8
+ 9 0x00000000000017C9
+ Back/Exit 0x00000000000017DF
+ 0 0x00000000000017C0
+ Menu 0x00000000000017CD
+ Red 0x00000000000017CB
+ Green 0x00000000000017EE
+ Yellow 0x00000000000017F8
+ Blue 0x00000000000017E9
+ Ch+ 0x00000000000017E0
+ Ch- 0x00000000000017E1
+ Vol- 0x00000000000017D1
+ Vol+ 0x00000000000017D0
+ Ok 0x00000000000017E5
+ Mute 0x00000000000017CF
+ Blank 0x00000000000017CC
+ Full 0x00000000000017FC
+ Rewind 0x00000000000017F2
+ Play 0x00000000000017F5
+ Forward 0x00000000000017F4
+ Record 0x00000000000017F7
+ Stop 0x00000000000017F6
+ Pause 0x00000000000017F0
+ Replay 0x00000000000017E4
+ Skip 0x00000000000017DE
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.7.0(any) on Sun Nov 28 20:25:09 2004
+#
+# contributed by
+#
+# brand: Hauppauge 350
+# Created: G.J. Werler (The Netherlands)
+# Project: Mythtv Fedora Pundit-R www.mythtvportal.com
+# Date: 2004/11/28
+# model no. of remote control: Hauppauge A415-HPG
+# devices being controlled by this remote: PVR-350
+#
+
+begin remote
+
+ name Hauppauge_350
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+ toggle_bit 2
+
+
+ begin codes
+ Go 0x00000000000017BB
+ Power 0x00000000000017BD
+ TV 0x000000000000179C
+ Videos 0x0000000000001798
+ Music 0x0000000000001799
+ Pictures 0x000000000000179A
+ Guide 0x000000000000179B
+ Radio 0x000000000000178C
+ Up 0x0000000000001794
+ Left 0x0000000000001796
+ Right 0x0000000000001797
+ Down 0x0000000000001795
+ OK 0x00000000000017A5
+ Back/Exit 0x000000000000179F
+ Menu/i 0x000000000000178D
+ Vol+ 0x0000000000001790
+ Vol- 0x0000000000001791
+ Prev.Ch 0x0000000000001792
+ Mute 0x000000000000178F
+ Ch+ 0x00000000000017A0
+ Ch- 0x00000000000017A1
+ Record 0x00000000000017B7
+ Stop 0x00000000000017B6
+ Rewind 0x00000000000017B2
+ Play 0x00000000000017B5
+ Forward 0x00000000000017B4
+ Replay/SkipBackward 0x00000000000017A4
+ Pause 0x00000000000017B0
+ SkipForward 0x000000000000179E
+ 1 0x0000000000001781
+ 2 0x0000000000001782
+ 3 0x0000000000001783
+ 4 0x0000000000001784
+ 5 0x0000000000001785
+ 6 0x0000000000001786
+ 7 0x0000000000001787
+ 8 0x0000000000001788
+ 9 0x0000000000001789
+ Asterix 0x000000000000178A
+ 0 0x0000000000001780
+ # 0x000000000000178E
+ Red 0x000000000000178B
+ Green 0x00000000000017AE
+ Yellow 0x00000000000017B8
+ Blue 0x00000000000017A9
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/lircrc-haupgrey.txt b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/lircrc-haupgrey.txt
new file mode 100644
index 0000000..2f1e514
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/lircrc-haupgrey.txt
@@ -0,0 +1,505 @@
+# lircrc.example.HauppaugeGrey-nativelirc
+# 2003-09-17, Robert Kulagowski
+# mailto:rkulagow@rocketmail.com
+# Save this file in ~/.mythtv/lircrc
+
+begin
+ prog = mythtv
+ button = Power
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = Go
+# Swap the PiP windows
+ config = N
+end
+
+begin
+ prog = mythtv
+ button = 1
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ config = 9
+end
+
+begin
+ prog = mythtv
+ button = Back/Exit
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = Menu
+ config = M
+end
+
+# Below are keys used with the Hauppauge Grey remote
+
+begin
+ prog = mythtv
+# This is the Red key
+# We'll use it for "Delete"
+ button = Red
+ config = D
+end
+
+begin
+ prog = mythtv
+# This is the Green key
+# We'll use it for "Information"
+ button = Green
+ config = I
+end
+
+# Note the "repeat = " strings in the volume and channel.
+# This means that if you hold down the key, every nth instance will be
+# passed. This depends on your system, so you may want to increase or
+# decrease this and see what happens. repeat = 1 is probably too
+# fast.
+
+begin
+ prog = mythtv
+# This is the Yellow key
+# Use it as a volume key
+ button = Yellow
+ repeat = 3
+ config = F10
+end
+
+begin
+ prog = mythtv
+# This is the Blue key
+# Use it as a volume key
+ button = Blue
+ repeat = 3
+ config = F11
+end
+
+begin
+ prog = mythtv
+ button = Ch+
+# This is the "up" on the central diamond
+ repeat = 3
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = Ch-
+# This is the "down" on the central diamond
+ repeat = 3
+ config = Down
+end
+
+begin
+ prog = mythtv
+ button = Vol-
+# This is the "left" on the central diamond
+ repeat = 3
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = Vol+
+# This is the "right" on the central diamond
+ repeat = 3
+ config = Right
+end
+
+begin
+ prog = mythtv
+# Middle button on the diamond
+ button = Ok
+ config = Return
+end
+
+begin
+ prog = mythtv
+ button = Mute
+ config = F9
+end
+
+begin
+ prog = mythtv
+# Change focus for PiP (to change channel in the other window)
+ button = Blank
+ config = B
+end
+
+begin
+ prog = mythtv
+# Toggle PiP on/off
+ button = Full
+ config = V
+end
+
+begin
+ prog = mythtv
+ button = Rewind
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = Play
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = Forward
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = Record
+ config = R
+end
+
+begin
+ prog = mythtv
+# Teletext
+ button = Stop
+ config = T
+end
+
+begin
+ prog = mythtv
+ button = Pause
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = Replay
+# Use for backwards commercial skip
+ config = Q
+end
+
+begin
+ prog = mythtv
+ button = Skip
+# Use for forward commercial skip
+ config = Z
+end
+
+#MPlayer
+begin
+ prog = mplayer
+ button = Power
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = Menu
+ config = osd
+end
+
+begin
+ prog = mplayer
+ button = Rewind
+ config = seek -10
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Forward
+ config = seek +10
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Replay
+ config = seek -60
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Skip
+ config = seek +60
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Pause
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Play
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Back/Exit
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = Vol+
+ config = volume +1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Vol-
+ config = volume -1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Mute
+ config = mute
+end
+##XINE
+
+ begin
+ prog = xine
+ button = Play
+ repeat = 3
+ config = Play
+ end
+
+ begin
+ prog = xine
+ button = Stop
+ repeat = 3
+ config = Stop
+ end
+
+ begin
+ prog = xine
+ button = Back/Exit
+ config = Quit
+ end
+
+ begin
+ prog = xine
+ button = Pause
+ repeat = 3
+ config = Pause
+ end
+
+ begin
+ prog = xine
+ button = Ch+
+ repeat = 4
+ config = EventUp
+ end
+
+ begin
+ prog = xine
+ button = Ch-
+ repeat = 4
+ config = EventDown
+ end
+
+ begin
+ prog = xine
+ button = Vol-
+ repeat = 4
+ config = EventLeft
+ end
+
+ begin
+ prog = xine
+ button = Vol+
+ repeat = 4
+ config = EventRight
+ end
+
+ begin
+ prog = xine
+ button = Ok
+ repeat = 0
+ config = EventSelect
+ end
+
+ begin
+ prog = xine
+ button = Menu
+ repeat = 0
+ config = Menu
+ end
+
+ #vol down
+ begin
+ prog = xine
+ button = Yellow
+ repeat = 1
+ config = Volume-
+ end
+
+ #vol up
+ begin
+ prog = xine
+ button = Red
+ repeat = 1
+ config = Volume+
+ end
+
+ begin
+ prog = xine
+ button = Forward
+ repeat = 2
+ config = SeekRelative+30
+ end
+
+ begin
+ prog = xine
+ button = Rewind
+ repeat = 2
+ config = SeekRelative-30
+ end
+
+ #ch up
+ begin
+ prog = xine
+ button = Green
+ repeat = 1
+ config = SeekRelative+60
+ end
+
+ #ch down
+ begin
+ prog = xine
+ button = Blue
+ repeat = 1
+ config = SeekRelative-60
+ end
+
+ #sleep
+ begin
+ prog = xine
+ button = Go
+ repeat = 1
+ config = ZoomIn
+ end
+
+ #display
+ begin
+ prog = xine
+ button = Skip
+ repeat = 1
+ config = ZoomOut
+ end
+
+ #skip chapter forward
+ begin
+ prog = xine
+ button = Skip
+ repeat = 1
+ config = EventNext
+ end
+
+ #skip chapter backward
+ begin
+ prog = xine
+ button = Replay
+ repeat = 1
+ config = EventPrior
+ end
+
+ begin
+ prog = lircnav
+ button = Vol-
+ config = page_down
+ end
+
+ begin
+ prog = lircnav
+ button = Vol+
+ config = page_up
+ end
+
+ begin
+ prog = lircnav
+ button = Ch+
+ config = up
+ end
+
+ begin
+ prog = lircnav
+ button = Ch-
+ config = down
+ end
+
+ begin
+ prog = lircnav
+ button = Ok
+ config = select
+ end
+
+ begin
+ prog = lircnav
+ button = Power
+ config = quit
+ end
+
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/preview.jpg b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/preview.jpg
new file mode 100644
index 0000000..19acba3
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-grey/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/lircd-haupgrey-g3.conf b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/lircd-haupgrey-g3.conf
new file mode 100644
index 0000000..7269fc2
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/lircd-haupgrey-g3.conf
@@ -0,0 +1,64 @@
+begin remote
+
+ name Hauppauge_350
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+ toggle_bit 2
+
+
+ begin codes
+ Go 0x00000000000017BB
+ Power 0x00000000000017BD
+ TV 0x000000000000179C
+ Videos 0x0000000000001798
+ Music 0x0000000000001799
+ Pictures 0x000000000000179A
+ Guide 0x000000000000179B
+ Radio 0x000000000000178C
+ UP 0x0000000000001794
+ LEFT 0x0000000000001796
+ RIGHT 0x0000000000001797
+ DOWN 0x0000000000001795
+ OK 0x00000000000017A5
+ Back-Exit 0x000000000000179F
+ Menu 0x000000000000178D
+ Volume-UP 0x0000000000001790
+ Volume-DOWN 0x0000000000001791
+ Prev-Channel 0x0000000000001792
+ Mute 0x000000000000178F
+ Channel-UP 0x00000000000017A0
+ Channel-Down 0x00000000000017A1
+ Record 0x00000000000017B7
+ Stop 0x00000000000017B6
+ Rewind 0x00000000000017B2
+ Play 0x00000000000017B5
+ Forward 0x00000000000017B4
+ Previous 0x00000000000017A4
+ Pause 0x00000000000017B0
+ Next 0x000000000000179E
+ 1 0x0000000000001781
+ 2 0x0000000000001782
+ 3 0x0000000000001783
+ 4 0x0000000000001784
+ 5 0x0000000000001785
+ 6 0x0000000000001786
+ 7 0x0000000000001787
+ 8 0x0000000000001788
+ 9 0x0000000000001789
+ star 0x000000000000178A
+ 0 0x0000000000001780
+ hash 0x000000000000178E
+ red 0x000000000000178B
+ green 0x00000000000017AE
+ yellow 0x00000000000017B8
+ blue 0x00000000000017A9
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/lircrc-haupgrey-g3.txt b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/lircrc-haupgrey-g3.txt
new file mode 100644
index 0000000..3868261
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/lircrc-haupgrey-g3.txt
@@ -0,0 +1,762 @@
+# MythTV LIRC config file for the gray Hauppauge remote
+# Sticker on the inside of battery compartment
+# A415-HPG
+# 1004 032400
+#
+# /home/mythtv/.mythtv/lircrc
+#
+#
+### RESET THE MYTH BOX or REBOOT IT
+# 1 click is reset front end, 2 clicks is reboot
+#
+begin
+ prog = irexec
+ button = Power
+ config = /home/mythtv/scripts/mypower.sh &
+end
+#
+### MYTHTV SETTINGS FOR IT'S CONTROL
+#
+# Program Guide
+begin
+ remote = grayHauppauge
+ prog = mythtv
+ button = green
+ config = F2
+end
+#
+# TV Recording Playback
+begin
+ remote = grayHauppauge
+ prog = mythtv
+ button = Videos
+ config = F3
+end
+#
+# Live TV
+begin
+ remote = grayHauppauge
+ prog = mythtv
+ button = TV
+ config = F4
+end
+#
+# MythWeather
+begin
+ remote = grayHauppauge
+ prog = mythtv
+ button = Go
+ config = F7
+end
+#
+# MythGame
+begin
+ remote = grayHauppauge
+ prog = mythtv
+ button = Green
+ config = F5
+end
+#
+# MythMusic
+begin
+ remote = grayHauppauge
+ prog = mythtv
+ button = Music
+ config = F6
+end
+#
+# Previous Channel
+begin
+ remote = grayHauppauge
+ prog = mythtv
+ button = Prev-Channel
+ config = H
+end
+#
+# Channel Up
+begin
+ remote = grayHauppauge
+ prog = mythtv
+ button = Channel-UP
+ repeat = 3
+ config = Up
+end
+
+# Channel Down
+begin
+ prog = mythtv
+ button = Channel-DOWN
+ repeat = 3
+ config = Down
+end
+
+# OK/Select
+begin
+ prog = mythtv
+ button = OK
+ config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = Play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = Stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = Back-Exit
+config = Esc
+end
+
+# Power Off/Exit
+# begin
+# prog = mythtv
+# button = Power
+# config = Esc
+# end
+
+# Red means stop!
+#begin
+#prog = mythtv
+#button = red
+#config = Esc
+#end
+
+# Pause
+begin
+prog = mythtv
+button = Pause
+repeat = 3
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = Mute
+repeat = 3
+config = F9
+end
+
+begin
+prog = mythtv
+button = UP
+repeat = 3
+config = Up
+end
+
+begin
+prog = mythtv
+button = RIGHT
+repeat = 3
+config = Right
+end
+
+begin
+prog = mythtv
+button = DOWN
+repeat = 3
+config = Down
+end
+
+begin
+prog = mythtv
+button = LEFT
+repeat = 3
+config = Left
+end
+
+
+
+
+# Fast forward (while viewing)
+begin
+prog = mythtv
+button = Forward
+repeat = 3
+config = >
+end
+
+# Rewind (while viewing)
+begin
+prog = mythtv
+button = Rewind
+repeat = 3
+config = <
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = Next
+repeat = 3
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = Previous
+repeat = 3
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = Record
+repeat = 3
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = red
+repeat = 3
+config = D
+end
+
+# OSD browse
+
+begin
+prog = mythtv
+button = Menu
+repeat = 3
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = Guide
+repeat = 3
+config = M
+end
+
+# Volume-Up
+begin
+prog = mythtv
+button = Volume-UP
+repeat = 3
+config = ]
+end
+
+# Volume-Down
+begin
+prog = mythtv
+button = Volume-DOWN
+repeat = 3
+config = [
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = Go
+repeat = 3
+config = I
+end
+
+# Change display aspect ratio
+#begin
+#prog = mythtv
+#button = FULL
+#repeat = 3
+#config = W
+#end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button = yellow
+repeat = 3
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button = blue
+repeat = 3
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+repeat = 3
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+repeat = 3
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+repeat = 3
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+repeat = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+repeat = 3
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+repeat = 3
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+repeat = 3
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+repeat = 3
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+repeat = 3
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+repeat = 3
+config = 9
+end
+
+#
+### MPlayer lirc setup
+#
+# Show OSD
+begin
+prog = mplayer
+button = Menu
+repeat = 3
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = Pause
+repeat = 3
+config = pause
+end
+
+# Skip ahead a minute if playing
+# If paused, resume playing
+begin
+prog = mplayer
+button = Play
+repeat = 3
+config = seek +1
+end
+
+# Stop playback and exit
+begin
+prog = mplayer
+button = Stop
+repeat = 3
+config = quit
+end
+
+# Mute
+begin
+prog = mplayer
+button = Mute
+repeat = 3
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = Rewind
+repeat = 3
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = Forward
+repeat = 3
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = Back-Exit
+repeat = 3
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = Next
+repeat = 3
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = Previous
+repeat = 3
+config = seek -600
+end
+
+# Toggle full-screen
+#begin
+#prog = mplayer
+#button = FULL
+#repeat = 3
+#config = vo_fullscreen
+#end
+#
+#
+### XINE CONFIGURATION
+#
+##
+# xine key bindings.
+# Automatically generated by xine-ui version 0.99.2.
+##
+
+# start playback
+begin
+ button = Play
+ prog = xine
+ repeat = 3
+ config = Play
+end
+
+# playback pause toggle
+begin
+ button = Pause
+ prog = xine
+ repeat = 3
+ config = Pause
+end
+
+# stop playback
+begin
+ button = Stop
+ prog = xine
+ repeat = 3
+ config = Stop
+end
+
+# take a snapshot
+begin
+ button = Record
+ prog = xine
+ repeat = 3
+ config = Snapshot
+end
+
+# eject the current medium
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = Eject
+end
+
+# set position to -60 seconds in current stream
+begin
+ button = Previous
+ prog = xine
+ repeat = 3
+ config = SeekRelative-60
+end
+
+# set position to +60 seconds in current stream
+begin
+ button = Next
+ prog = xine
+ repeat = 3
+ config = SeekRelative+60
+end
+
+# set position to -30 seconds in current stream
+begin
+ button = Rewind
+ prog = xine
+ repeat = 3
+ config = SeekRelative-30
+end
+
+# set position to +30 seconds in current stream
+begin
+ button = Forward
+ prog = xine
+ repeat = 3
+ config = SeekRelative+30
+end
+
+# set position to +7 and -7 seconds in current stream
+begin
+ button = 1
+ prog = xine
+ repeat = 3
+ config = SeekRelative-7
+end
+
+begin
+ button = 2
+ prog = xine
+ repeat = 3
+ config = SeekRelative+7
+end
+
+begin
+ button = 4
+ prog = xine
+ repeat = 3
+ config = SetPosition40%
+end
+
+begin
+ button = 5
+ prog = xine
+ repeat = 3
+ config = SetPosition70%
+end
+
+begin
+ button = UP
+ prog = xine
+ repeat = 3
+ config = SpeedFaster
+end
+
+begin
+ button = DOWN
+ prog = xine
+ repeat = 3
+ config = SpeedSlower
+end
+
+begin
+ button = OK
+ prog = xine
+ repeat = 3
+ config = SpeedReset
+end
+
+# increment audio volume
+begin
+ button = Volume-UP
+ prog = xine
+ repeat = 3
+ config = Volume+
+end
+
+# decrement audio volume
+begin
+ button = Volume-DOWN
+ prog = xine
+ repeat = 3
+ config = Volume-
+end
+
+# audio muting toggle
+begin
+ button = Mute
+ prog = xine
+ repeat = 3
+ config = Mute
+end
+
+# set video output window to 100%
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = Window100
+end
+
+# set video output window to 200%
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = Window200
+end
+
+# zoom in
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = ZoomIn
+end
+
+# zoom out
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = ZoomOut
+end
+
+# fullscreen toggle
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = ToggleFullscreen
+end
+
+# Xinerama fullscreen toggle
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = ToggleXineramaFullscr
+end
+
+# jump to Title Menu
+begin
+ button = Go
+ prog = xine
+ repeat = 3
+ config = TitleMenu
+end
+
+# jump to Root Menu
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = RootMenu
+end
+
+# menu navigate up
+begin
+ button = xxxx
+ prog = xine
+ repeat = 3
+ config = EventUp
+end
+
+# menu navigate down
+begin
+ button = xxxx
+ prog = xine
+ repeat = 3
+ config = EventDown
+end
+
+# menu navigate left
+begin
+ button = LEFT
+ prog = xine
+ repeat = 3
+ config = EventLeft
+end
+
+# menu navigate right
+begin
+ button = RIGHT
+ prog = xine
+ repeat = 3
+ config = EventRight
+end
+
+# visibility toggle of stream info window
+begin
+ button = Guide
+ prog = xine
+ repeat = 3
+ config = StreamInfosShow
+end
+
+# display stream information using OSD
+begin
+ button = Menu
+ prog = xine
+ repeat = 3
+ config = OSDStreamInfos
+end
+
+
+
+# increase brightness by 10
+begin
+ button = Channel-UP
+ prog = xine
+ repeat = 3
+ config = BrightnessControl+
+end
+
+# decrease brightness by 10
+begin
+ button = Channel-DOWN
+ prog = xine
+ repeat = 3
+ config = BrightnessControl-
+end
+
+# quit the program
+begin
+ button = Back-Exit
+ prog = xine
+ repeat = 3
+ config = Quit
+end
+
+##
+# End of xine key bindings.
+##
diff --git a/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/preview.jpg b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/preview.jpg
new file mode 100644
index 0000000..a40a1e8
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/hauppauge/hauppauge-silver/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/i2c.id b/linhes/linhes-templates/templates/remotes/i2c.id
new file mode 100644
index 0000000..92a2fbb
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/i2c.id
@@ -0,0 +1,12 @@
+0070:4000|Hauppauge|WinTV PVR 250|hauppauge-grey|hauppauge
+0070:4009|Hauppauge|WinTV PVR 250|hauppauge-grey|hauppauge
+0070:4801|Hauppauge|WinTV PVR 250|hauppauge-grey|hauppauge
+0070:4803|Hauppauge|WinTV PVR 250|hauppauge-grey|hauppauge
+0070:0003|Hauppauge|WinTV PVR 250|hauppauge-grey|hauppauge
+0070:0009|Hauppauge|WinTV PVR 150|hauppauge-grey|hauppauge
+0070:0801|Hauppauge|WinTV PVR 150|hauppauge-grey|hauppauge
+0070:0807|Hauppauge|WinTV PVR 150|hauppauge-grey|hauppauge
+0070:8003|Hauppauge|WinTV PVR 150|hauppauge-grey|hauppauge
+0070:8801|Hauppauge|WinTV PVR 150|hauppauge-grey|hauppauge
+0070:c801|Hauppauge|WinTV PVR 150|hauppauge-grey|hauppauge
+0270:0801|Hauppauge|WinTV PVR 120|hauppauge-grey|hauppauge
diff --git a/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/lircd.conf.ea65 b/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/lircd.conf.ea65
new file mode 100644
index 0000000..a10181d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/lircd.conf.ea65
@@ -0,0 +1,73 @@
+#
+# Config file for AOpen XC Cube EA65, EA65-II
+# Max Krasnyanskiy <maxk@qualcomm.com>
+#
+
+begin remote
+ name EA65
+ bits 24
+ eps 10
+ aeps 100
+
+ gap 960000
+ toggle_bit 0
+
+ begin codes
+ tv/pvr 0x0014814c
+ photo 0x0017810e
+ htpc 0x0011811b
+ dvd/vcd 0x00128100
+ cd/mp3 0x00138152
+ fm 0x00158111
+ video 0x0016810f
+
+ 1 0x0041810b
+ 2 0x00428115
+ 3 0x00438112
+ 4 0x00448141
+ 5 0x00458119
+ 6 0x00468116
+ 7 0x00478150
+ 8 0x0048811a
+ 9 0x00498155
+ * 0x00328156
+ 0 0x00408158
+ # 0x0030814d
+
+ menu 0x00188104
+ exit 0x001d8154
+ enter 0x001e8101
+ up 0x00198159
+ down 0x001a811c
+ left 0x001c8102
+ right 0x001b815d
+
+ vol+ 0x00298103
+ vol- 0x002a814e
+ ch+ 0x002c8113
+ ch- 0x002d8117
+ mute 0x00288105
+ tune+ 0x002e8144
+ tune- 0x002f8148
+ mem 0x00318145
+ scan 0x00278151
+
+ display 0x0034811f
+ eject 0x0035815c
+ rwnd 0x00228118
+ ffwd 0x00218110
+ rec 0x002b810a
+ repeate 0x0038815a
+ prev 0x00238107
+ next 0x00248114
+ time/shift 0x00338108
+ stop 0x0020811d
+ play/pause 0x001f8109
+
+ play-pause 0x0080811d
+ stop-eject 0x00238107
+ mode- 0x00ff1080
+ mode+ 0x00ff1180
+ end codes
+end remote
+
diff --git a/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/lircrc.ea65 b/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/lircrc.ea65
new file mode 100644
index 0000000..fd96d42
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/lircrc.ea65
@@ -0,0 +1,381 @@
+#
+# Max Krasnyanskiy <maxk@qualcomm.com>
+#
+
+#
+# Xine key bindings.
+#
+
+# start playback
+begin
+ button = dvd/vcd
+ prog = xine
+ repeat = 1
+ config = Play
+end
+
+# playback pause toggle
+begin
+ button = play/pause
+ prog = xine
+ repeat = 1
+ config = Pause
+end
+
+# stop playback
+begin
+ button = stop
+ prog = xine
+ repeat = 1
+ config = Stop
+end
+
+# eject the current medium
+begin
+ button = eject
+ prog = xine
+ repeat = 1
+ config = Eject
+end
+
+# scan playlist to grab stream infos
+begin
+ button = mem
+ prog = xine
+ repeat = 1
+ config = ScanPlaylistInfo
+end
+
+# set position to -60 seconds in current stream
+begin
+ button = rwnd
+ prog = xine
+ repeat = 1
+ config = SeekRelative-60
+end
+
+# set position to +60 seconds in current stream
+begin
+ button = ffwd
+ prog = xine
+ repeat = 1
+ config = SeekRelative+60
+end
+
+# increment playback speed
+begin
+ button = tune+
+ prog = xine
+ repeat = 1
+ config = SpeedFaster
+end
+
+# decrement playback speed
+begin
+ button = tune-
+ prog = xine
+ repeat = 1
+ config = SpeedSlower
+end
+
+# increment audio volume
+begin
+ button = vol+
+ prog = xine
+ repeat = 1
+ config = Volume+
+end
+
+# decrement audio volume
+begin
+ button = vol-
+ prog = xine
+ repeat = 1
+ config = Volume-
+end
+
+# audio muting toggle
+begin
+ button = mute
+ prog = xine
+ repeat = 1
+ config = Mute
+end
+
+# select next audio channel
+begin
+ button = ch+
+ prog = xine
+ repeat = 1
+ config = AudioChannelNext
+end
+
+# select previous audio channel
+begin
+ button = ch-
+ prog = xine
+ repeat = 1
+ config = AudioChannelPrior
+end
+
+# interlaced mode toggle
+begin
+ button = scan
+ prog = xine
+ repeat = 1
+ config = ToggleInterleave
+end
+
+# cycle aspect ratio values
+begin
+ button = display
+ prog = xine
+ repeat = 1
+ config = ToggleAspectRatio
+end
+
+# jump to Title Menu
+begin
+ button = menu
+ prog = xine
+ repeat = 1
+ config = TitleMenu
+end
+
+# menu navigate up
+begin
+ button = up
+ prog = xine
+ repeat = 1
+ config = EventUp
+end
+
+# menu navigate down
+begin
+ button = down
+ prog = xine
+ repeat = 1
+ config = EventDown
+end
+
+# menu navigate left
+begin
+ button = left
+ prog = xine
+ repeat = 1
+ config = EventLeft
+end
+
+# menu navigate right
+begin
+ button = right
+ prog = xine
+ repeat = 1
+ config = EventRight
+end
+
+# menu select
+begin
+ button = enter
+ prog = xine
+ repeat = 1
+ config = EventSelect
+end
+
+# jump to next chapter
+begin
+ button = next
+ prog = xine
+ repeat = 1
+ config = EventNext
+end
+
+# jump to previous chapter
+begin
+ button = prev
+ prog = xine
+ repeat = 1
+ config = EventPrior
+end
+
+# select a subtitle file
+begin
+ button = repeat
+ prog = xine
+ repeat = 1
+ config = SubSelector
+end
+
+# enter the number 0
+begin
+ button = 0
+ prog = xine
+ repeat = 1
+ config = Number0
+end
+
+# enter the number 1
+begin
+ button = 1
+ prog = xine
+ repeat = 1
+ config = Number1
+end
+
+# enter the number 2
+begin
+ button = 2
+ prog = xine
+ repeat = 1
+ config = Number2
+end
+
+# enter the number 3
+begin
+ button = 3
+ prog = xine
+ repeat = 1
+ config = Number3
+end
+
+# enter the number 4
+begin
+ button = 4
+ prog = xine
+ repeat = 1
+ config = Number4
+end
+
+# enter the number 5
+begin
+ button = 5
+ prog = xine
+ repeat = 1
+ config = Number5
+end
+
+# enter the number 6
+begin
+ button = 6
+ prog = xine
+ repeat = 1
+ config = Number6
+end
+
+# enter the number 7
+begin
+ button = 7
+ prog = xine
+ repeat = 1
+ config = Number7
+end
+
+# enter the number 8
+begin
+ button = 8
+ prog = xine
+ repeat = 1
+ config = Number8
+end
+
+# enter the number 9
+begin
+ button = 9
+ prog = xine
+ repeat = 1
+ config = Number9
+end
+
+# quit the program
+begin
+ button = exit
+ prog = xine
+ repeat = 1
+ config = Quit
+end
+
+##
+# End of xine key bindings.
+##
+
+## MPlayer lirc setup
+
+# Show OSD
+begin
+ prog = mplayer
+ button = menu
+ repeat = 1
+ config = osd
+end
+
+# Pause playback
+begin
+ prog = mplayer
+ button = play/pause
+ repeat = 1
+ config = pause
+end
+
+# Stop playback and exit
+begin
+ prog = mplayer
+ button = stop
+ repeat = 1
+ config = stop #quit
+end
+
+# Mute
+begin
+ prog = mplayer
+ button = mute
+ repeat = 1
+ config = mute
+end
+
+# Seek back 10 seconds
+begin
+ prog = mplayer
+ button = rwnd
+ repeat = 1
+ config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+ prog = mplayer
+ button = ffwd
+ repeat = 1
+ config = seek +10
+end
+
+# Quit
+begin
+ prog = mplayer
+ button = exit
+ repeat = 1
+ config = quit
+end
+
+# Seek forward 10 minutes
+begin
+ prog = mplayer
+ button = next
+ repeat = 1
+ config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+ prog = mplayer
+ button = prev
+ repeat = 1
+ config = seek -600
+end
+
+# Toggle full-screen
+begin
+ prog = mplayer
+ button = display
+ repeat = 1
+ config = vo_fullscreen
+end
diff --git a/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/preview.jpg b/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/preview.jpg
new file mode 100644
index 0000000..2fc223c
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/AOpen-EA65/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/lircd.conf.asus b/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/lircd.conf.asus
new file mode 100644
index 0000000..ceadbf0
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/lircd.conf.asus
@@ -0,0 +1,56 @@
+#
+# contributed by Tibor Sipos <tibors@moravia-it.com> and
+# Stefan Jahn <stefan@lkcc.org>
+#
+# brand: Asus
+# model: Asus TV-Box Remote Control
+#
+
+begin remote
+
+ name Asus TV-Box IR
+
+ bits 8
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 1399999
+ toggle_bit 0
+
+ begin codes
+ 0 0x0000000000000000
+ 1 0x0000000000000008
+ 2 0x0000000000000010
+ 3 0x0000000000000018
+ 4 0x0000000000000020
+ 5 0x0000000000000028
+ 6 0x0000000000000030
+ 7 0x0000000000000038
+ 8 0x0000000000000040
+ 9 0x0000000000000048
+ PREV 0x0000000000000050
+ ENTER 0x0000000000000058
+ CH+ 0x0000000000000060
+ CH- 0x0000000000000068
+ VOL+ 0x0000000000000070
+ VOL- 0x0000000000000078
+ MAXIMIZE 0x0000000000000080
+ MUTE 0x0000000000000088
+ POWER 0x0000000000000090
+ MENU 0x0000000000000098
+ UP 0x00000000000000A0
+ DOWN 0x00000000000000A8
+ LEFT 0x00000000000000B0
+ RIGHT 0x00000000000000B8
+ CAPTION 0x00000000000000C0
+ MTS/SAP 0x00000000000000C8
+ DISPLAY 0x00000000000000D0
+ SCAN 0x00000000000000D8
+ RED 0x00000000000000E0
+ GREEN 0x00000000000000E8
+ YELLOW 0x00000000000000F0
+ BLUE 0x00000000000000F8
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/lircd.conf.digimatrix b/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/lircd.conf.digimatrix
new file mode 100644
index 0000000..a6e9abd
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/lircd.conf.digimatrix
@@ -0,0 +1,152 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.0pre7(it87) on Sun Aug 29 17:33:17 2004
+#
+# contributed by
+#
+# brand: ASUS
+# model no. of remote control: DigiMatrix
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name ASUS_DigiMatrix
+ bits 16
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ header 8057 4071
+ one 479 1534
+ zero 479 531
+ ptrail 491
+ pre_data_bits 8
+ pre_data 0x35
+ gap 25647
+ toggle_bit 0
+
+
+ begin codes
+ up 0x000000000000E817
+ down 0x00000000000018E7
+ enter 0x000000000000D02F
+ left 0x0000000000009867
+ right 0x00000000000058A7
+ 1 0x00000000000000FF
+ 2 0x000000000000807F
+ 3 0x00000000000040BF
+ 4 0x000000000000C03F
+ 5 0x00000000000020DF
+ 6 0x000000000000A05F
+ 7 0x000000000000609F
+ 8 0x000000000000E01F
+ 9 0x00000000000010EF
+ 0 0x000000000000906F
+ on_off 0x000000000000B04F
+ dvd_vcd 0x000000000000F00F
+ tv 0x00000000000008F7
+ os_start 0x00000000000030CF
+ photo 0x00000000000048B7
+ home 0x00000000000044BB
+ back 0x000000000000A857
+ ch+ 0x000000000000B847
+ stop 0x000000000000946B
+ play 0x000000000000C43B
+ vol+ 0x000000000000F807
+ ch- 0x0000000000007887
+ step- 0x000000000000E41B
+ step+ 0x000000000000649B
+ vol- 0x00000000000004FB
+ pause 0x00000000000024DB
+ pre 0x00000000000014EB
+ next 0x000000000000A45B
+ mute 0x000000000000847B
+ rec 0x000000000000D42B
+ subtitle 0x000000000000C837
+ menu 0x00000000000038C7
+ dvd_audio 0x00000000000050AF
+ ui_size 0x0000000000008877
+ ui_on_off 0x00000000000028D7
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.7.2(it87) on Sun Aug 28 18:13:15 2005
+#
+# contributed by
+#
+# brand: ASUS
+# model no. of remote control: DigiMatrix Mark 2
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name ASUS_DigiMatrixMk2
+ bits 8
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ header 2666 1378
+ one 260 741
+ zero 260 279
+ ptrail 251
+ pre_data_bits 1
+ pre_data 0x0
+ post_data_bits 8
+ post_data 0x3
+ gap 10826
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ power 0x0000000000000084
+ tv_dvr 0x0000000000000044
+ fm 0x00000000000000C4
+ os_start 0x0000000000000024
+ music 0x00000000000000A4
+ pictures 0x0000000000000064
+ video 0x00000000000000E4
+ dvd_menu 0x0000000000000014
+ up 0x000000000000004C
+ down 0x00000000000000E0
+ left 0x0000000000000010
+ right 0x0000000000000040
+ back 0x00000000000000B4
+ ok 0x0000000000000088
+ back_fwd 0x0000000000000074
+ rew 0x0000000000000094
+ play_pause 0x0000000000000054
+ fwd 0x00000000000000D4
+ step- 0x0000000000000098
+ stop 0x0000000000000048
+ step+ 0x0000000000000090
+ vol+ 0x0000000000000058
+ vol- 0x00000000000000D8
+ home 0x00000000000000C8
+ ch+ 0x0000000000000050
+ ch- 0x00000000000000D0
+ mute 0x0000000000000038
+ rec 0x0000000000000028
+ pc 0x0000000000000030
+ 1 0x00000000000000B8
+ 2 0x00000000000000A8
+ 3 0x00000000000000B0
+ 4 0x0000000000000078
+ 5 0x0000000000000068
+ 6 0x0000000000000070
+ 7 0x00000000000000F8
+ 8 0x00000000000000E8
+ 9 0x00000000000000F0
+ 0 0x0000000000000018
+ ui_size 0x0000000000000004
+ repeat 0x0000000000000008
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/preview.jpg b/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/preview.jpg
new file mode 100644
index 0000000..250d6a1
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/ASUS-DiGiMatrix/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/lircd.conf.dvico-dual-digital4 b/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/lircd.conf.dvico-dual-digital4
new file mode 100644
index 0000000..2d2b9ac
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/lircd.conf.dvico-dual-digital4
@@ -0,0 +1,81 @@
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.8.0(userspace) on Mon Mar 5 16:00:35 2007
+#
+# contributed by: Soth
+#
+# brand: DViCO FusionHDTV DVB-T Dual Digital
+# model no. of remote control: Fusion MCE
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name DViCO_Dual_Digital
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x1
+ gap 251756
+ toggle_bit 0
+
+ begin codes
+#starting at the top
+ dtv 0x0179
+ mp3 0x0187
+ dvd 0x0185
+ cpf 0x016C
+#outer circle clockwise from top
+ tvpower 0x0164
+ guide 0x016D
+ info 0x0166
+ alttab 0x000F
+ skip 0x00A3
+ start 0x001C
+ replay 0x00A5
+ dvdmenu 0x008B
+ back 0x009E
+ setup 0x008D
+#inner circle
+ up 0x0067
+ down 0x006C
+ left 0x0069
+ right 0x006A
+ ok 0x0160
+#volume and channel
+ voldn 0x0072
+ volup 0x0073
+ chup 0x0192
+ chdn 0x0193
+#keypad
+ camera 0x00D4
+ live 0x0182
+ folder 0x0086
+ 1 0x0002
+ 2 0x0003
+ 3 0x0004
+ 4 0x0005
+ 5 0x0006
+ 6 0x0007
+ 7 0x0008
+ 8 0x0009
+ 9 0x000A
+ aspect 0x0173
+ 0 0x000B
+ zoom 0x0174
+#play buttons
+ rew 0x00A8
+ playpause 0x00A4
+ ff 0x00D0
+ mute 0x0071
+ stop 0x0080
+ rec 0x00A7
+ power 0x0074
+ end codes
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/lircrc.dvico-dual-digital4 b/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/lircrc.dvico-dual-digital4
new file mode 100644
index 0000000..7c75f01
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/lircrc.dvico-dual-digital4
@@ -0,0 +1,430 @@
+# lircrc.example.DVICO-nativelirc
+# 2004-07-04, Chris Pascoe
+# mailto:linuxdvb@itee.uq.edu.au
+# Save this file in ~/.mythtv/lircrc
+#
+# Note the "repeat =" strings in the volume and channel.
+# This means that if you hold down the key, every nth instance will be
+# passed. This depends on your system, so you may want to increase or
+# decrease this and see what happens. repeat = 1 is probably too
+# fast.
+
+### Top 4 buttons ###
+
+# DTV - Change focus for PiP (to change channel in the other window)
+begin
+ prog = mythtv
+ button = dtv
+ config = B
+end
+
+begin
+ prog = mythtv
+ button = mp3
+ config = Ctrl+M
+end
+
+begin
+ prog = mythtv
+ button = dvd
+ config = Ctrl+D
+end
+
+begin
+ prog = mythtv
+ button = cpf
+ config =
+end
+
+### Outer Circle (clockwise from the top) ###
+
+begin
+ prog = mythtv
+ button = tvpower
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = guide
+ config = S
+end
+
+begin
+ prog = mythtv
+ button = info
+ config = I
+end
+
+#swap the pip windows
+begin
+ prog = mythtv
+ button = alttab
+ config = N
+end
+
+#commercial skip forwards
+begin
+ prog = mythtv
+ button = skip
+ config = Z
+end
+
+begin
+ prog = mythtv
+ button = start
+ config = Return
+end
+
+#commercial skip backwards
+begin
+ prog = mythtv
+ button = replay
+ config = Q
+end
+
+begin
+ prog = mythtv
+ button = dvdmenu
+# config = undefined
+end
+
+begin
+ prog = mythtv
+ button = back
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = setup
+ config = undefined
+end
+
+### Inner Circle ###
+
+begin
+ prog = mythtv
+ button = up
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = down
+ config = Down
+end
+
+begin
+ prog = mythtv
+ button = left
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = right
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = ok
+ config = Return
+end
+
+### Volume and Channel ###
+
+begin
+ prog = mythtv
+ button = voldn
+ repeat = 1
+ config = F10
+end
+
+begin
+ prog = mythtv
+ button = volup
+ repeat = 1
+ config = F11
+end
+
+begin
+ prog = mythtv
+ button = chup
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = chdn
+ config = Down
+end
+
+### Keypad ###
+
+begin
+ prog = mythtv
+ button = camera
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = live
+# config = undefined
+end
+
+begin
+ prog = mythtv
+ button = folder
+ config = C
+end
+
+begin
+ prog = mythtv
+ button = 1
+ config = 1
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = 2
+ config = 2
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = 3
+ config = 3
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = 4
+ config = 4
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = 5
+ config = 5
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = 6
+ config = 6
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = 7
+ config = 7
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = 8
+ config = 8
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = 9
+ config = 9
+ config = return
+end
+
+begin
+ prog = mythtv
+ button = aspect
+ config = W
+end
+
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+ config = return
+end
+
+# Toggle PiP on/off
+begin
+ prog = mythtv
+ button = zoom
+ config = V
+end
+
+### Play buttons ###
+
+begin
+ prog = mythtv
+ button = rew
+ config = Left
+# config = seek -180
+end
+
+begin
+ prog = mythtv
+ button = playpause
+ config = ctrl+p
+end
+
+begin
+ prog = mythtv
+ button = ff
+ config = Right
+# config = seek +180
+end
+
+begin
+ prog = mythtv
+ button = mute
+ config = |
+end
+
+begin
+ prog = mythtv
+ button = stop
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = rec
+ config = R
+end
+
+begin
+ prog = mythtv
+ button = power
+ config = Esc
+end
+
+# Xine
+
+begin
+ prog = xine
+ button = playpause
+ repeat = 3
+ config = Play
+end
+
+begin
+ prog = xine
+ button = stop
+ repeat = 3
+ config = Pause
+end
+
+begin
+ prog = xine
+ button = back
+ config = Quit
+end
+
+begin
+ prog = xine
+ button = tv_onoff
+ config = Quit
+end
+
+begin
+ prog = xine
+ button = right
+ repeat = 3
+ config = SeekRelative+10
+end
+
+begin
+ prog = xine
+ button = left
+ repeat = 3
+ config = SeekRelative-10
+end
+
+begin
+ prog = xine
+ button = ff
+ repeat = 3
+ config = SeekRelative+30
+end
+
+begin
+ prog = xine
+ button = rew
+ repeat = 3
+ config = SeekRelative-30
+end
+
+begin
+ prog = xine
+ button = skip
+ repeat = 3
+ config = SeekRelative+300
+end
+
+begin
+ prog = xine
+ button = replay
+ repeat = 3
+ config = SeekRelative-300
+end
+
+begin
+ prog = xine
+ button = up
+ repeat = 1
+ config = EventUp
+end
+
+begin
+ prog = xine
+ button = down
+ repeat = 1
+ config = EventDown
+end
+
+begin
+ prog = xine
+ button = ok
+ repeat = 0
+ config = EventSelect
+end
+
+begin
+ prog = xine
+ button = guide
+ repeat = 0
+ config = Menu
+end
+
+begin
+ prog = xine
+ button = setup
+ repeat = 0
+ config = Menu
+end
+
+begin
+ prog = xine
+ button = volup
+ repeat = 1
+ config = Volume+
+end
+
+begin
+ prog = xine
+ button = voldn
+ repeat = 1
+ config = Volume-
+end
diff --git a/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/preview.jpg
new file mode 100644
index 0000000..f3956fa
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/remote.run b/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/remote.run
new file mode 100644
index 0000000..1168696
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Dvico-Dual-Digital4-rev2/remote.run
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+/usr/sbin/lircd -r -n -d /dev/remotes/dvicoDualDigital4 --driver=devinput --output /var/run/lirc/lircd
diff --git a/linhes/linhes-templates/templates/remotes/other/Jetway/lircd.conf b/linhes/linhes-templates/templates/remotes/other/Jetway/lircd.conf
new file mode 100644
index 0000000..9a4b31b
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Jetway/lircd.conf
@@ -0,0 +1,172 @@
+#
+# brand: HP
+# model no. of remote control: TSGH-IR01
+# devices being controlled by this remote: HP Slimline S3100y
+#
+# RC-6 config file
+#
+# source: http://home.hccnet.nl/m.majoor/projects_remote_control.htm
+# http://home.hccnet.nl/m.majoor/pronto.pdf
+#
+# used by: Philips
+#
+#########
+#
+# Philips Media Center Edition remote control
+# For use with the USB MCE ir receiver
+#
+# Dan Conti dconti|acm.wwu.edu
+#
+# Updated with codes for MCE 2005 Remote additional buttons
+# *, #, Teletext, Red, Green, Yellow & Blue Buttons
+# Note: TV power button transmits no code until programmed.
+# Updated 12th September 2005
+# Graham Auld - mce|graham.auld.me.uk
+#
+# Radio, Print, RecTV are only available on the HP Media Center remote control
+#
+#
+# Updated with codes for MCE 2007 Remote additional buttons
+# Visualization, Aspect, SlideShow, Eject
+# Note:
+# Renamed some buttons: DVD->DVDMenu, More->MoreInfo, Star->Asterisk, Hash->Pound
+# Note:
+# Blue, Yellow, Green, Red, and Teletext buttons do not exist on the HP remote
+
+begin remote
+
+ name mceusb
+ bits 16
+ flags RC6|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 2667 889
+ one 444 444
+ zero 444 444
+ pre_data_bits 21
+ pre_data 0x37FF0
+ gap 105000
+ toggle_bit 22
+ rc6_mask 0x100000000
+
+
+ begin codes
+
+#unused by HP remote
+ Blue 0x00007ba1
+ Yellow 0x00007ba2
+ Green 0x00007ba3
+ Red 0x00007ba4
+ Teletext 0x00007ba5
+
+#ba6 - bae unused
+ BA6 0x00007ba6
+ BA7 0x00007ba7
+ BA8 0x00007ba8
+ BA9 0x00007ba9
+ BAA 0x00007baa
+ BAB 0x00007bab
+ BAC 0x00007bac
+ BAD 0x00007bad
+ BAE 0x00007bae
+
+ Radio 0x00007baf
+ Print 0x00007bb1
+
+#bb2 - bb4 unused
+ BB2 0x00007bb2
+ BB3 0x00007bb3
+ BB4 0x00007bb4
+
+ Videos 0x00007bb5
+ Pictures 0x00007bb6
+ RecTV 0x00007bb7
+ Music 0x00007bb8
+ TV 0x00007bb9
+
+#bba - bbf unused
+ BBA 0x00007bba
+ BBB 0x00007bbb
+ BBC 0x00007bbc
+ BBD 0x00007bbd
+ BBE 0x00007bbe
+ BBF 0x00007bbf
+#bc1 - bca unused
+ BC1 0x00007bc1
+ BC2 0x00007bc2
+ BC3 0x00007bc3
+ BC4 0x00007bc4
+ BC5 0x00007bc5
+ BC6 0x00007bc6
+ BC7 0x00007bc7
+ BC8 0x00007bc8
+ BC9 0x00007bc9
+ BCA 0x00007bca
+
+ Eject 0x00007bcb
+ SlideShow 0x00007bcc
+ Visualization 0x00007bcd
+
+#bce - bcf unused
+ BCE 0x00007bce
+ BCF 0x00007bcf
+#bd1 - bd7 unused
+ BD1 0x00007bd1
+ BD2 0x00007bd2
+ BD3 0x00007bd3
+ BD4 0x00007bd4
+ BD5 0x00007bd5
+ BD6 0x00007bd6
+ BD7 0x00007bd7
+
+ Aspect 0x00007bd8
+ Guide 0x00007bd9
+ LiveTV 0x00007bda
+ DVD 0x00007bdb
+#NoGap
+ Back 0x00007bdc
+ OK 0x00007bdd
+ Right 0x00007bde
+ Left 0x00007bdf
+ Down 0x00007be0
+ Up 0x00007be1
+#NoGap
+ Star 0x00007be2
+ Hash 0x00007be3
+#NoGap
+ Replay 0x00007be4
+ Skip 0x00007be5
+ Stop 0x00007be6
+ Pause 0x00007be7
+ Record 0x00007be8
+ Play 0x00007be9
+ Rewind 0x00007bea
+ Forward 0x00007beb
+#NoGap
+ ChanDown 0x00007bec
+ ChanUp 0x00007bed
+ VolDown 0x00007bee
+ VolUp 0x00007bef
+#NoGap
+ More 0x00007bf0
+ Mute 0x00007bf1
+ Home 0x00007bf2
+ Power 0x00007bf3
+#NoGap
+ Enter 0x00007bf4
+ Clear 0x00007bf5
+#NoGap
+ Nine 0x00007bf6
+ Eight 0x00007bf7
+ Seven 0x00007bf8
+ Six 0x00007bf9
+ Five 0x00007bfa
+ Four 0x00007bfb
+ Three 0x00007bfc
+ Two 0x00007bfd
+ One 0x00007bfe
+ Zero 0x00007bff
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Jetway/lircrc b/linhes/linhes-templates/templates/remotes/other/Jetway/lircrc
new file mode 100644
index 0000000..b96f907
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Jetway/lircrc
@@ -0,0 +1,649 @@
+begin
+ remote = mceusb
+ prog = mythtv
+ button = RecTV
+ config = R
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Guide
+ config = S
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Back
+ config = Escape
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = OK
+ config = Return
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Right
+ config = Right
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Left
+ config = Left
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Down
+ config = Down
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Up
+ config = Up
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Hash
+ config = D
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Replay
+ config = Q
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Skip
+ config = Z
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Stop
+ config = Escape
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Pause
+ config = P
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Record
+ config = R
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Play
+ config = P
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Rewind
+ config = <
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Forward
+ config = >
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = ChanDown
+ config = Down
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = ChanUp
+ config = Up
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = VolDown
+ config = [
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = VolUp
+ config = ]
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = More
+ config = I
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Mute
+ config = |
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Home
+ config = M
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Enter
+ config = Return
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Nine
+ config = 9
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Eight
+ config = 8
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Seven
+ config = 7
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Six
+ config = 6
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Five
+ config = 5
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Four
+ config = 4
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Three
+ config = 3
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Two
+ config = 2
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = One
+ config = 1
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mythtv
+ button = Zero
+ config = 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = OK
+ config = pause
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Right
+ config = seek +6 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Left
+ config = seek -6 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Down
+ config = seek -60 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Up
+ config = seek +60 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Replay
+ config = seek -15 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Skip
+ config = seek +15 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Stop
+ config = quit
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Pause
+ config = pause
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Play
+ config = pause
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Rewind
+ config = seek -30 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Forward
+ config = seek +30 0
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = VolDown
+ config = volume -1
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = VolUp
+ config = volume +1
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Mute
+ config = mute
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Home
+ config = vo_fullscreen
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Power
+ config = quit
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = mplayer
+ button = Enter
+ config = pause
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = DVD
+ config = RootMenu
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = OK
+ config = EventSelect
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Right
+ config = EventRight
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Left
+ config = EventLeft
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Down
+ config = EventDown
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Up
+ config = EventUp
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Replay
+ config = EvenPrior
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Skip
+ config = EventNext
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Stop
+ config = Quit
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Pause
+ config = Pause
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Play
+ config = Play
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Rewind
+ config = SeekRelative-15
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Forward
+ config = SeekRelative+15
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = VolDown
+ config = Volume-
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = VolUp
+ config = Volume+
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = More
+ config = OSDStreamInfos
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Mute
+ config = Mute
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Home
+ config = Menu
+ repeat = 0
+ delay = 0
+end
+
+begin
+ remote = mceusb
+ prog = xine
+ button = Enter
+ config = EventSelect
+ repeat = 0
+ delay = 0
+end
+
+
diff --git a/linhes/linhes-templates/templates/remotes/other/Jetway/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Jetway/preview.jpg
new file mode 100644
index 0000000..38f8740
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Jetway/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Kworld_110/lircd-kworld110.conf b/linhes/linhes-templates/templates/remotes/other/Kworld_110/lircd-kworld110.conf
new file mode 100644
index 0000000..eab7fa2
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Kworld_110/lircd-kworld110.conf
@@ -0,0 +1,84 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.1-CVS(default) on Sun Jan 14 20:53:40 2007
+#
+# contributed by Craig Courtney <craig at dawnsedge.com>
+#
+# brand: Kworld
+# model no. of remote control: ATSC 110 Remote
+# devices being controlled by this remote: ATSC 110 HDTV Tuner Card
+#
+# Generated with homebrew serial circuit connect to reciever that came
+# with the card.
+#
+
+begin remote
+
+ name Kworld_ATSC_110
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9084 4466
+ one 604 1650
+ zero 604 526
+ ptrail 603
+ repeat 9082 2218
+ pre_data_bits 16
+ pre_data 0xDF
+ gap 108354
+ toggle_bit 0
+
+
+ begin codes
+ power 0x30CF
+ ch+ 0x7887
+ ch- 0xF807
+ vol+ 0x38C7
+ vol- 0xB847
+ 1 0x00FF
+ 2 0x807F
+ 3 0x40BF
+ 4 0xC03F
+ 5 0x20DF
+ 6 0xA05F
+ 7 0x609F
+ 8 0xE01F
+ 9 0x10EF
+ 0 0x50AF
+ numpad_up 0x906F
+ numpad_enter 0xD02F
+ standby 0xB04F
+ mute 0x28D7
+ stereo 0xA857
+ source 0x6897
+ zoom 0xE817
+ shut_down 0x18E7
+ up 0x08F7
+ left 0x48B7
+ right 0xC837
+ down 0x8877
+ select 0x708F
+ timeshift 0x9867
+ stop 0x58A7
+ rec 0xD827
+ scan_rev 0x02FD
+ scan_fwd 0x827D
+ play_pause 0x22DD
+ play_stop 0xA25D
+ chapter_rev 0x42BD
+ chapter_fwd 0xC23D
+ a 0x12ED
+ b 0x926D
+ c 0x52AD
+ d 0xD22D
+ e 0x32CD
+ f 0xB24D
+ g 0x728D
+ h 0xF20D
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/other/Kworld_110/lircrc-kworld110.txt b/linhes/linhes-templates/templates/remotes/other/Kworld_110/lircrc-kworld110.txt
new file mode 100644
index 0000000..7447a46
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Kworld_110/lircrc-kworld110.txt
@@ -0,0 +1,482 @@
+# Channel Up
+begin
+prog = mythtv
+button = ch+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = ch-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = left
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = right
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = up
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = down
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = vol+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = vol-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = select
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = play_pause
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = play_pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = scan_fwd
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = scan_rev
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = chapter_fwd
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = chapter_rev
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = rec
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = d
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = b
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = e
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = c
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = zoom
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = h
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button = f
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button = g
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = source
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = play_pause
+config = pause
+end
+
+# Skip ahead a minute if playing
+# If paused, resume playing
+begin
+prog = mplayer
+button =
+config = seek +1
+end
+
+# Mute
+begin
+prog = mplayer
+button = mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = scan_rev
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = seek_fwd
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = chapter_fwd
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = chapter_rev
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = zoom
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = play_pause
+config = Play
+end
+
+begin
+prog = xine
+button = stop
+config = Stop
+end
+
+begin
+prog = xine
+button = stop
+config = Quit
+end
+
+begin
+prog = xine
+button = play_pause
+config = Pause
+end
+
+begin
+prog = xine
+button = up
+config = EventUp
+end
+
+begin
+prog = xine
+button = down
+config = EventDown
+end
+
+begin
+prog = xine
+button = left
+config = EventLeft
+end
+
+begin
+prog = xine
+button = right
+config = EventRight
+end
+
+begin
+prog = xine
+button = select
+config = EventSelect
+end
+
+begin
+prog = xine
+button = a
+config = Menu
+end
+
+begin
+prog = xine
+button = seek_fwd
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = seek_rev
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = vol+
+config = Volume+
+end
+
+begin
+prog = xine
+button = vol-
+config = Volume-
+end
+
+begin
+prog = xine
+button = mute
+config = Mute
+end
+
+begin
+prog = xine
+button = stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button = chapter_fwd
+config = EventNext
+end
+
+begin
+prog = xine
+button = chapter_rev
+config = EventPrior
+end
+
+begin
+prog = xine
+button = source
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Kworld_110/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Kworld_110/preview.jpg
new file mode 100644
index 0000000..f83f474
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Kworld_110/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Kworld_310/lircd-kworld310.conf b/linhes/linhes-templates/templates/remotes/other/Kworld_310/lircd-kworld310.conf
new file mode 100644
index 0000000..7ee4bdd
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Kworld_310/lircd-kworld310.conf
@@ -0,0 +1,80 @@
+#
+# this config file only works with a home-brew receiver!!!
+#
+
+#
+# this config file was automatically generated
+# using lirc-0.8.1(default) on Sun Jul 1 23:10:43 2007
+#
+# contributed by Bruce Schultz <brucejs71 at yahoo.com.au>
+#
+# brand:KWorld
+# model no. of remote control:
+# devices being controlled by this remote: DVB-T PE310 tuner card
+#
+
+begin remote
+
+ name KWorld-DVBT-PE310
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9175 4402
+ one 677 1580
+ zero 677 452
+ ptrail 667
+ repeat 9177 2145
+ pre_data_bits 16
+ pre_data 0xDF
+ gap 108444
+ toggle_bit 0
+
+
+ begin codes
+ power 0x30CF
+ standby 0xB04F
+ sub_tv 0x7887
+ preview 0xF807
+ snap 0x38C7
+ shut_down 0xB847
+ 1 0x00FF
+ 2 0x807F
+ 3 0x40BF
+ 4 0xC03F
+ 5 0x20DF
+ 6 0xA05F
+ 7 0x609F
+ 8 0xE01F
+ 9 0x10EF
+ 0 0x50AF
+ numpad_up 0x906F
+ numpad_enter 0xD02F
+ mute 0x28D7
+ stereo 0xA857
+ source 0x6897
+ zoom 0xE817
+ min 0x18E7
+ left 0x48B7
+ right 0xC837
+ up 0x08F7
+ down 0x8877
+ select 0x708F
+ timeshift 0x9867
+ stop 0x58A7
+ rec 0xD827
+ scan_rev 0x02FD
+ scan_fwd 0x827D
+ play_pause 0x22DD
+ play_stop 0xA25D
+ chapter_rev 0x42BD
+ chapter_fwd 0xC23D
+ fun1 0x12ED
+ fun2 0x926D
+ fun3 0x52AD
+ fun4 0xD22D
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/remotes/other/Kworld_310/lircrc-kworld310.txt b/linhes/linhes-templates/templates/remotes/other/Kworld_310/lircrc-kworld310.txt
new file mode 100644
index 0000000..702d238
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Kworld_310/lircrc-kworld310.txt
@@ -0,0 +1,482 @@
+# Channel Up
+begin
+prog = mythtv
+button = up
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = down
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button =
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button =
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = up
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = down
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = right
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = left
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = select
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = play_pause
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = play_pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = scan_fwd
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = scan_rev
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = chapter_fwd
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = chapter_rev
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = rec
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button =
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = fun1
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = fun2
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = zoom
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = fun3
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = source
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = play_pause
+config = pause
+end
+
+# Skip ahead a minute if playing
+# If paused, resume playing
+begin
+prog = mplayer
+button =
+config = seek +1
+end
+
+# Mute
+begin
+prog = mplayer
+button = mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = scan_rev
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = seek_fwd
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = chapter_fwd
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = chapter_rev
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = zoom
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = play_pause
+config = Play
+end
+
+begin
+prog = xine
+button = stop
+config = Stop
+end
+
+begin
+prog = xine
+button = stop
+config = Quit
+end
+
+begin
+prog = xine
+button = play_pause
+config = Pause
+end
+
+begin
+prog = xine
+button = up
+config = EventUp
+end
+
+begin
+prog = xine
+button = down
+config = EventDown
+end
+
+begin
+prog = xine
+button =
+config = EventLeft
+end
+
+begin
+prog = xine
+button =
+config = EventRight
+end
+
+begin
+prog = xine
+button = select
+config = EventSelect
+end
+
+begin
+prog = xine
+button = preview
+config = Menu
+end
+
+begin
+prog = xine
+button = seek_fwd
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = seek_rev
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = right
+config = Volume+
+end
+
+begin
+prog = xine
+button = left
+config = Volume-
+end
+
+begin
+prog = xine
+button = mute
+config = Mute
+end
+
+begin
+prog = xine
+button = stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button = chapter_fwd
+config = EventNext
+end
+
+begin
+prog = xine
+button = chapter_rev
+config = EventPrior
+end
+
+begin
+prog = xine
+button = source
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Kworld_310/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Kworld_310/preview.jpg
new file mode 100644
index 0000000..f024370
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Kworld_310/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/lircd-leadtek2000xp.conf b/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/lircd-leadtek2000xp.conf
new file mode 100644
index 0000000..4238a02
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/lircd-leadtek2000xp.conf
@@ -0,0 +1,77 @@
+# Please make this file available to others
+# by sending it to <lirc at bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.8.3-CVS(dev/input) on Tue Nov 6 17:04:54 2007
+#
+# contributed by: Jeff Kosowsky
+#
+# brand: LeadTek
+# model no. of remote control: Y0400046 (bundled with Winfast 2000XP Deluxe)
+# devices being controlled by this remote: LeadTek Winfast 2000XP Deluxe
+
+# brand: Leadtek
+# model: Y0400052 (bundeled with Winfast PVR2000 TV-card)
+#
+# Note: Only CH_UP, CH_DOWN, VOL_UP and VOL_DOWN will repeat. This
+# seems to be a limitation of the remote control.
+
+begin remote
+
+ name Leadtek_2000XP
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x8001
+ gap 423871
+ toggle_bit_mask 0x80010073
+
+ begin codes
+ POWER 0x0074
+ MTS 0x0188
+ TV/FM 0x0182
+ VIDEO 0x0189
+ DISPLAY 0x0166
+ CH+ 0x0192
+ CH- 0x0193
+ VOL- 0x0072
+ VOL+ 0x0073
+ FULLSCREEN 0x0174
+ TELETEXT 0x0184
+ SLEEP 0x008E
+ BOSSKEY 0x0163
+ MUTE 0x0071
+ RED 0x018E
+ GREEN 0x018F
+ YELLOW 0x0190
+ BLUE 0x0191
+ 1 0x0002
+ 2 0x0003
+ 3 0x0004
+ 4 0x0005
+ 5 0x0006
+ 6 0x0007
+ 7 0x0008
+ 8 0x0009
+ 9 0x000A
+ 0 0x000B
+ . 0x0034
+ FINETUNE+ 0x004E
+ FINETUNE- 0x004A
+ PIP 0x00E2
+ ENTER 0x001C
+ RECALL 0x0195
+ BACK 0x019C
+ PLAY 0x00A4
+ NEXT 0x0197
+ TIMESHIFTING 0x0169
+ STOP 0x0080
+ REC 0x00A7
+ SNAPSHOT 0x00EA
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/lircrc-leadtek2000xp.txt b/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/lircrc-leadtek2000xp.txt
new file mode 100644
index 0000000..f16beb3
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/lircrc-leadtek2000xp.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = CH+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = CH-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button =
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button =
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = FINETUNE+
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = FINETUNE-
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = VOL+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = VOL-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = ENTER
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = PLAY
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = STOP
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = POWER
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = SNAPSHOT
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = MUTE
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = NEXT
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = BACK
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = REC
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = RED
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button =
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = GREEN
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = YELLOW
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = DISPLAY
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = RECALL
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button = PIP
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button = BLUE
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = DISPLAY
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = SNAPSHOT
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = MUTE
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = BACK
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = NEXT
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = STOP
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = FINETUNE+
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = FINETUNE-
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = FULLSCREEN
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = PLAY
+config = Play
+end
+
+begin
+prog = xine
+button = STOP
+config = Stop
+end
+
+begin
+prog = xine
+button = STOP
+config = Quit
+end
+
+begin
+prog = xine
+button = SNAPSHOT
+config = Pause
+end
+
+begin
+prog = xine
+button = CH+
+config = EventUp
+end
+
+begin
+prog = xine
+button = CH-
+config = EventDown
+end
+
+begin
+prog = xine
+button = FINETUNE-
+config = EventLeft
+end
+
+begin
+prog = xine
+button = FINETUNE+
+config = EventRight
+end
+
+begin
+prog = xine
+button = ENTER
+config = EventSelect
+end
+
+begin
+prog = xine
+button = DISPLAY
+config = Menu
+end
+
+begin
+prog = xine
+button = NEXT
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = BACK
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = VOL+
+config = Volume+
+end
+
+begin
+prog = xine
+button = VOL-
+config = Volume-
+end
+
+begin
+prog = xine
+button = MUTE
+config = Mute
+end
+
+begin
+prog = xine
+button = STOP
+config = RootMenu
+end
+
+begin
+prog = xine
+button =
+config = EventNext
+end
+
+begin
+prog = xine
+button =
+config = EventPrior
+end
+
+begin
+prog = xine
+button = TELETEXT
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/preview.jpg
new file mode 100644
index 0000000..aeecf95
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Leadtek_2000XP/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/lircd-leadtekPVR.conf b/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/lircd-leadtekPVR.conf
new file mode 100644
index 0000000..460ddcf
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/lircd-leadtekPVR.conf
@@ -0,0 +1,82 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.2-CVS(default) on Thu Oct 25 23:27:29 2007
+#
+# contributed by
+#
+# brand: Leadtek
+# model no. of remote control:
+# devices being controlled by this remote: PVR2000
+#
+
+begin remote
+
+ name PVR2000
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 8946 4535
+ one 530 1716
+ zero 530 593
+ ptrail 532
+ repeat 8945 2286
+ pre_data_bits 16
+ pre_data 0xC03F
+ gap 107856
+ toggle_bit_mask 0x0
+
+ begin codes
+ POWER 0x00FF
+ TV 0x6A95
+ FM 0xEA15
+ DVD 0x1AE5
+ RED 0xD22D
+ GREEN 0x32CD
+ YELLOW 0xB24D
+ BLUE 0x728D
+ TELETEXT 0xF807
+ SLEEP 0x02FD
+ MUTE 0x28D7
+ BOSS_KEY 0x926D
+ CH_UP 0x30CF
+ CH_DOWN 0x08F7
+ VOL_DOWN 0x10EF
+ VOL_UP 0x20DF
+ ENTER 0xC837
+ CC 0x0AF5
+ FULLSCREEN 0xC03F
+ MENU 0xF20D
+ SCAN 0x8A75
+ REPLAY 0x42BD
+ PLAY 0xC23D
+ SKIP 0x22DD
+ OSD 0x4AB5
+ BACK 0x2AD5
+ STOP 0x629D
+ FORWARD 0xAA55
+ LANGUAGE 0xCA35
+ 1 0xA05F
+ 2 0x609F
+ 3 0xE01F
+ 4 0x906F
+ 5 0x50AF
+ 6 0xD02F
+ 7 0xB04F
+ 8 0x708F
+ 9 0xF00F
+ 0 0x48B7
+ . 0x827D
+ RECALL 0x8877
+ VIDEO 0x7887
+ AUDIO 0xD827
+ DISPLAY 0x6897
+ SNAPSHOT 0x12ED
+ PIP 0x52AD
+ RECSTOP 0x629D
+ REC 0xE21D
+ TIMESHIFT 0xA25D
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/lircrc-leadtekPVR.txt b/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/lircrc-leadtekPVR.txt
new file mode 100644
index 0000000..a15ee21
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/lircrc-leadtekPVR.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = CH_UP
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = CH_DOWN
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button =
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button =
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = CH_UP
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = CH_DOWN
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = VOL_UP
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = VOL_DOWN
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = ENTER
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = PLAY
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = STOP
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = POWER
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = SNAPSHOT
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = MUTE
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = FORWARD
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = BACK
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = REC
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = RED
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button =
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = GREEN
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = YELLOW
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = DISPLAY
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = RECALL
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button = PIP
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button = BLUE
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = DISPLAY
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = SNAPSHOT
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = MUTE
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = BACK
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = FORWARD
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = STOP
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = FULLSCREEN
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = PLAY
+config = Play
+end
+
+begin
+prog = xine
+button = STOP
+config = Stop
+end
+
+begin
+prog = xine
+button = STOP
+config = Quit
+end
+
+begin
+prog = xine
+button = SNAPSHOT
+config = Pause
+end
+
+begin
+prog = xine
+button = CH_UP
+config = EventUp
+end
+
+begin
+prog = xine
+button = CH_DOWN
+config = EventDown
+end
+
+begin
+prog = xine
+button =
+config = EventLeft
+end
+
+begin
+prog = xine
+button =
+config = EventRight
+end
+
+begin
+prog = xine
+button = ENTER
+config = EventSelect
+end
+
+begin
+prog = xine
+button = DISPLAY
+config = Menu
+end
+
+begin
+prog = xine
+button = FORWARD
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = BACK
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = VOL_UP
+config = Volume+
+end
+
+begin
+prog = xine
+button = VOL_DOWN
+config = Volume-
+end
+
+begin
+prog = xine
+button = MUTE
+config = Mute
+end
+
+begin
+prog = xine
+button = STOP
+config = RootMenu
+end
+
+begin
+prog = xine
+button =
+config = EventNext
+end
+
+begin
+prog = xine
+button =
+config = EventPrior
+end
+
+begin
+prog = xine
+button = TELETEXT
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Leadtek_PVR/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Medion_RF/lircd-medion-rf.conf b/linhes/linhes-templates/templates/remotes/other/Medion_RF/lircd-medion-rf.conf
new file mode 100644
index 0000000..8793475
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Medion_RF/lircd-medion-rf.conf
@@ -0,0 +1,82 @@
+# Please make this file available to others
+# by sending it to <lirc at bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.7.0(atiusb) on Sun Jan 23 11:18:36 2005
+#
+# contributed by Dirk Aust
+#
+# brand: Medion, Made by X10, China
+# Remote P/N: 20016398
+# Receiver P/N: 20016397
+
+begin remote
+
+ name Medion
+ bits 40
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ gap 139873
+ toggle_bit 0
+
+
+ begin codes
+ TV 0x00000014012C0000
+ VCR 0x00000014022D0000
+ DVD 0x00000014D9040000
+ MUSIC 0x00000014DB060000
+ RADIO 0x00000014032E0000
+ PHOTO 0x00000014DA050000
+ TV_PREVIEW 0x00000014042F0000
+ CHANNEL_LIST 0x0000001405300000
+ SETUP 0x00000014F01B0000
+ VIDEO_DESKTOP 0x0000001406310000
+ CHAN+ 0x00000014E00B0000
+ VOL- 0x00000014DD080000
+ MUTE 0x00000014D5000000
+ VOL+ 0x00000014DE090000
+ CHAN- 0x00000014E10C0000
+ RED 0x0000001407320000
+ GREEN 0x0000001408330000
+ YELLOW 0x0000001409340000
+ BLUE 0x000000140A350000
+ TXT 0x00000014FE290000
+ 1 0x00000014E20D0000
+ 2 0x00000014E30E0000
+ 3 0x00000014E40F0000
+ 4 0x00000014E5100000
+ 5 0x00000014E6110000
+ 6 0x00000014E7120000
+ 7 0x00000014E8130000
+ 8 0x00000014E9140000
+ 9 0x00000014EA150000
+ TV/RADIO 0x00000014F11C0000
+ 0 0x00000014EC170000
+ DELETE 0x00000014F5200000
+ RENAME 0x000000140B360000
+ SNAPSHOT 0x00000014ED180000
+ UP 0x00000014EF1A0000
+ LEFT 0x00000014F21D0000
+ OK 0x00000014F31E0000
+ RIGHT 0x00000014F41F0000
+ DOWN 0x00000014F7220000
+ ACQ_IMAGE 0x000000140C370000
+ EDIT_IMAGE 0x000000140D380000
+ REW 0x00000014F9240000
+ PLAY 0x00000014FA250000
+ FFW 0x00000014FB260000
+ RECORD 0x00000014FC270000
+ STOP 0x00000014FD280000
+ PAUSE 0x00000014FE290000
+ PREV 0x00000014F6210000
+ FULL 0x000000140E390000
+ NEXT 0x00000014F8230000
+ DVD_MENU 0x00000014EE190000
+ DVD_AUDIO 0x000000140F3A0000
+ POWER 0x00000014D7020000
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Medion_RF/lircrc-medion-rf.txt b/linhes/linhes-templates/templates/remotes/other/Medion_RF/lircrc-medion-rf.txt
new file mode 100644
index 0000000..cc69f96
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Medion_RF/lircrc-medion-rf.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = CH+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = CH-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = LEFT
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = RIGHT
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = UP
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = DOWN
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = VOL+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = VOL-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = OK
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = PLAY_PAUSE
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = STOP
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = PC
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = PLAY_PAUSE
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = MUTE
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = FFWD
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = FRWND
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = NEXT
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = PREV
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = RECORD
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button =
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button =
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button =
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button =
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = RC
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button =
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = PLAY_PAUSE
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = MUTE
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = FRWND
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = FFWD
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = STOP
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = NEXT
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = PREV
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button =
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = PLAY_PAUSE
+config = Play
+end
+
+begin
+prog = xine
+button = STOP
+config = Stop
+end
+
+begin
+prog = xine
+button = STOP
+config = Quit
+end
+
+begin
+prog = xine
+button = PLAY_PAUSE
+config = Pause
+end
+
+begin
+prog = xine
+button = UP
+config = EventUp
+end
+
+begin
+prog = xine
+button = DOWN
+config = EventDown
+end
+
+begin
+prog = xine
+button = LEFT
+config = EventLeft
+end
+
+begin
+prog = xine
+button = RIGHT
+config = EventRight
+end
+
+begin
+prog = xine
+button = OK
+config = EventSelect
+end
+
+begin
+prog = xine
+button =
+config = Menu
+end
+
+begin
+prog = xine
+button = FFWD
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = FRWND
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = VOL+
+config = Volume+
+end
+
+begin
+prog = xine
+button = VOL-
+config = Volume-
+end
+
+begin
+prog = xine
+button = MUTE
+config = Mute
+end
+
+begin
+prog = xine
+button = STOP
+config = RootMenu
+end
+
+begin
+prog = xine
+button = NEXT
+config = EventNext
+end
+
+begin
+prog = xine
+button = PREV
+config = EventPrior
+end
+
+begin
+prog = xine
+button =
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Medion_RF/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Medion_RF/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Medion_RF/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/lircd-medionx10-8080.conf b/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/lircd-medionx10-8080.conf
new file mode 100644
index 0000000..68c9179
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/lircd-medionx10-8080.conf
@@ -0,0 +1,68 @@
+begin remote
+ name Medion_8080
+ bits 16
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 139996
+ pre_data_bits 8
+ pre_data 0x14
+
+ begin codes
+ dvdaudio 0x0F3A
+ power 0xD702
+ dvdmenu 0xEE19
+ ff 0xF823
+ fullscreen 0x0E39
+ bb 0xF621
+ pause 0xFE29
+ stop 0xFD28
+ rec 0xFC27
+ f 0xFB26
+ play 0xFA25
+ b 0xF924
+ editimage 0x0D38
+ acquireimage 0x0C37
+ ok 0xF31E
+ right 0xF41F
+ left 0xF21D
+ down 0xF722
+ up 0xEF1A
+ snapshot 0xED18
+ rename 0x0B36
+ delete 0xF520
+ tvradio 0xF11C
+ 0 0xEC17
+ 9 0xEA15
+ 8 0xE914
+ 7 0xE813
+ 6 0xE712
+ 5 0xE611
+ 4 0xE510
+ 3 0xE40F
+ 2 0xE30E
+ 1 0xE20D
+ txt 0xEB16
+ blue 0x0A35
+ yellow 0x0934
+ green 0x0833
+ red 0x0732
+ vol+ 0xDE09
+ vol- 0xDD08
+ chan- 0xE10C
+ chan+ 0xE00B
+ videodesktop 0x0631
+ setup 0xF01B
+ channellist 0x0530
+ tvpreview 0x042F
+ photo 0xDA05
+ radio 0x032E
+ music 0xDB06
+ dvd 0xD904
+ vcr 0x022D
+ tv 0x012C
+
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/lircrc-medionx10-8080.txt b/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/lircrc-medionx10-8080.txt
new file mode 100644
index 0000000..2476f76
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/lircrc-medionx10-8080.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = chan+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = chan-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = left
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = right
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = up
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = down
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = vol+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = vol-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = ok
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button =
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = ff
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = bb
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = rec
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = delete
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = tvpreview
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = channellist
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = setup
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = fullscreen
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = snapshot
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button = txt
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button = pip
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = tvpreview
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = play
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button =
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = bb
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = ff
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = fullscreen
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = play
+config = Play
+end
+
+begin
+prog = xine
+button = stop
+config = Stop
+end
+
+begin
+prog = xine
+button = stop
+config = Quit
+end
+
+begin
+prog = xine
+button = pause
+config = Pause
+end
+
+begin
+prog = xine
+button = chan+
+config = EventUp
+end
+
+begin
+prog = xine
+button = chan-
+config = EventDown
+end
+
+begin
+prog = xine
+button = left
+config = EventLeft
+end
+
+begin
+prog = xine
+button = right
+config = EventRight
+end
+
+begin
+prog = xine
+button = ok
+config = EventSelect
+end
+
+begin
+prog = xine
+button = tvpreview
+config = Menu
+end
+
+begin
+prog = xine
+button = forward
+#config = ff
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = rewind
+#config = bb
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = vol+
+config = Volume+
+end
+
+begin
+prog = xine
+button = vol-
+config = Volume-
+end
+
+begin
+prog = xine
+button =
+config = Mute
+end
+
+begin
+prog = xine
+button = stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button =
+config = EventNext
+end
+
+begin
+prog = xine
+button =
+config = EventPrior
+end
+
+begin
+prog = xine
+button = channellist
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Medion_X10_8080/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Nebula/lircd-nebula.conf b/linhes/linhes-templates/templates/remotes/other/Nebula/lircd-nebula.conf
new file mode 100644
index 0000000..611c804
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nebula/lircd-nebula.conf
@@ -0,0 +1,88 @@
+
+# this config file was automatically generated
+# using lirc-0.8.0(userspace) on Wed Dec 20 19:35:11 2006
+#
+# contributed by Peter Wood
+#
+# brand: Nebula Electronics
+# model no. of remote control: DigiTV-PCI Remote
+# devices being controlled by this remote: DVB-Card
+#
+# Note unlike the existing lircd.conf, this one was captured with
+# the DigiTV IR receiver via the DVB card it's self. This was the
+# remote which came with a Revision B PCI card (Brought Dec 2006).
+
+begin remote
+
+ name Nebula_DVB
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x8001
+ gap 135906
+ toggle_bit 0
+
+
+ begin codes
+ TV 0x0179
+ AUX 0x0186
+ DVD/CD 0x0185
+ 1 0x0002
+ 2 0x0003
+ 3 0x0004
+ 4 0x0005
+ 5 0x0006
+ 6 0x0007
+ 7 0x0008
+ 8 0x0009
+ 9 0x000A
+ 0 0x000B
+ 16:9 0x00B7
+ 14:9 0x00B8
+ EXIT 0x00AE
+ POWER 0x0074
+ PICTURE 0x016F
+ AUDIO 0x0188
+ I 0x0166
+ EPG 0x016D
+ MENU 0x008B
+ UP 0x0067
+ DOWN 0x006C
+ LEFT 0x0069
+ RIGHT 0x006A
+ OK 0x001C
+ CH+ 0x0192
+ CH- 0x0193
+ VOLUME+ 0x0073
+ VOLUME- 0x0072
+ RED 0x018E
+ GREEN 0x018F
+ YELLOW 0x0190
+ BLUE 0x0191
+ SUBT 0x0172
+ AD 0x00B9
+ TEXT 0x0184
+ MUTE 0x0071
+ REWIND 0x00A8
+ STOP 0x0080
+ PLAY 0x00CF
+ FFORWARD 0x00D0
+ CHAPTER 0x00BA
+ PAUSE 0x0077
+ PLAYSPEED 0x80010CF
+ RECORD 0x00A7
+ PIP 0x00BB
+ ZOOM- 0x004E
+ ZOOM+ 0x004A
+ CAPTURE 0x00BC
+ WEB 0x00BD
+ EMAIL 0x00D7
+ PHONE 0x00A9
+ PC 0x0178
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nebula/lircrc-nebula.txt b/linhes/linhes-templates/templates/remotes/other/Nebula/lircrc-nebula.txt
new file mode 100644
index 0000000..c3d70b0
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nebula/lircrc-nebula.txt
@@ -0,0 +1,402 @@
+# lircrc.example.[[Nebula Digi T V]]-nativelirc
+# 2005-04-02, Samuel Jacobs
+# Save this file in ~/.mythtv/lircrc
+
+# There are so many buttons on this remote, 55 to be exact. I don't really
+# know what to do with all of them, yet I'm discovering that Myth has
+# functions for all of them and much, much more! All in all, 407 lines of
+# yummy remote-controlled icing on the delicious cake that is MythTV.
+
+# Intended for use with:
+# http://lirc.sourceforge.net/remotes/nebula_electronics/DigiTV
+# NOTE: On my system I renamed the remote to "nebdtv". To use this file
+# with the download from lirc.sf.net (which is otherwise identical to my
+# copy) simply replace all instances of "nebdtv" with "Nebula_DVB".
+
+# NOTE 2: Not all buttons are used yet, and some key binding customisations
+# will probably be made to get the most out of the extra buttons. In
+# particular "Picture" and "Audio" are currently unused so I could
+# possibly set jumppoints to [[Myth Photo]] and [[Myth Music]] in future.
+
+# NOTE 3: The buttons on the remote are listed from the top left down, row
+# by row, left to right, with any unused buttons given comments where it
+# would appear if it was used here. The number buttons are listed in their
+# entirety before starting back at the "Picture" button.
+
+# NOTE 4: I just thought of another thing that could cause confusion, the
+# volume buttons are commented out because I use KDELIRC for that. They
+# are defined however, so just uncomment them if you want to use them.
+
+# Based on, and thanks to:
+# lircrc.example.[[Hauppauge Grey]]-nativelirc
+# 2003-09-17, Robert Kulagowski
+# mailto:rkulagow@rocketmail.com
+
+# TODO: TV (will probably use for launching mythfrontend)
+# TODO: Aux (probably a jumppoint to Live TV)
+# TODO: DVD/CD (there's currently no jumppoint for generic optical media,
+# so will probably use for DVD)
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Power
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 1
+ config = 1
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 4
+ config = 4
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 5
+ config = 5
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 6
+ config = 6
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 7
+ config = 7
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 8
+ config = 8
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 9
+ config = 9
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 0
+ config = 0
+end
+
+# TODO: Picture
+# TODO: Audio
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = I
+ config = I
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 16:9
+ config = W
+end
+
+# Unused: 14:9
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+# this will only work in live tv mode
+ button = EPG
+ config = S
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Exit
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Menu
+ config = M
+end
+
+# Note the "repeat =" strings in the arrows, volume and channel.
+# This means that if you hold down the key, every nth instance will be
+# passed. This depends on your system, so you may want to increase or
+# decrease this and see what happens. repeat = 1 is probably too
+# fast.
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Up
+# This is the "up" on the central diamond
+ repeat = 3
+ config = Up
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Down
+# This is the "down" on the central diamond
+ repeat = 3
+ config = Down
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Left
+# This is the "left" on the central diamond
+ repeat = 3
+ config = Left
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Right
+# This is the "right" on the central diamond
+ repeat = 3
+ config = Right
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Ok
+# Middle button on the diamond
+ config = Return
+end
+
+# The channel buttons are mapped to Page Up and Page Down.
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Ch+
+ repeat = 3
+ config = [[Pg Up]]
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Ch-
+ repeat = 3
+ config = [[Pg Down]]
+end
+
+# These are the volume buttons. Uncomment them if you want myth to handle
+# the volume.
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Volume+
+ repeat = 3
+ config = F11
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Volume-
+ repeat = 3
+ config = F10
+end
+
+# colours
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Red
+# This is the Red button
+# We'll use it for "Delete"
+ config = D
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Green
+# This is the Green button
+# We'll use it for "Extended Info"
+ config = U
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Yellow
+# This is the Yellow button
+# We'll use it for "Edit"
+ config = E
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Blue
+# This is the Blue button
+# We'll use it for "Toggle browse mode"
+ config = O
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = SubT
+ config = T
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = AD
+ config = A
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Text
+# I REALLY can't think of anything to put here, so it does the same as EPG.
+ config = S
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Mute
+ config = |
+end
+
+# Here begineth a stickered area, so I assume the labels for these buttons
+# could be easily changed post-manufacture.
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Rewind
+ config = <
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Stop
+# Again, I couldn't think of an appropriate function, so it's ESC.
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Play
+ config = P
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = FForward
+ config = >
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Chapter
+# Change focus for PiP (to change channel in the other window)
+ config = B
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Pause
+ config = P
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Playspeed
+ config = J
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Record
+ config = R
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = PiP
+# Toggle PiP on/off
+ config = V
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Zoom-
+# Use for backwards commercial skip
+ config = Q
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Zoom+
+# Use for forward commercial skip
+ config = Z
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Capture
+# Swap the PiP windows
+ config = N
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nebula/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Nebula/preview.jpg
new file mode 100644
index 0000000..e4e979f
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nebula/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_500/lircd-nova500.conf b/linhes/linhes-templates/templates/remotes/other/Nova_500/lircd-nova500.conf
new file mode 100644
index 0000000..c66c9e5
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_500/lircd-nova500.conf
@@ -0,0 +1,69 @@
+#
+# brand: Hauppauge NOVA-T-500
+# model no. of remote control: Hauppage Nova-T-500 Snowboard Shape Silver over Black
+#
+
+begin remote
+
+ name NOVA-T500
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x1
+ gap 199999
+ toggle_bit 0
+
+
+ begin codes
+ Go 0x0162
+ Power 0x0074
+ TV 0x0179
+ Videos 0x0189
+ Music 0x0188
+ Pictures 0x00E2
+ Guide 0x016D
+ Radio 0x0181
+ ArrowUp 0x0067
+ ArrowLeft 0x0069
+ OK 0x0160
+ ArrowRight 0x006A
+ ArrowDown 0x006C
+ BackExit 0x009E
+ Menu 0x008B
+ VolumeUp 0x0073
+ VolumeDown 0x0072
+ PrevCh 0x016B
+ Mute 0x0071
+ ChannelUp 0x0192
+ ChannelDown 0x0193
+ Record 0x00A7
+ Rewind 0x00A8
+ SkipBack 0x0195
+ Play 0x00CF
+ Pause 0x0077
+ Stop 0x0080
+ Fwdwind 0x00D0
+ SkipFwd 0x0197
+ 1 0x0002
+ 2 0x0003
+ 3 0x0004
+ 4 0x0005
+ 5 0x0006
+ 6 0x0007
+ 7 0x0008
+ 8 0x0009
+ 9 0x000A
+ Star 0x0037
+ 0 0x000B
+ # 0x0029
+ Red 0x018E
+ Green 0x018F
+ Yellow 0x0190
+ Blue 0x0191
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_500/lircrc-nova500.txt b/linhes/linhes-templates/templates/remotes/other/Nova_500/lircrc-nova500.txt
new file mode 100644
index 0000000..2d74c3d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_500/lircrc-nova500.txt
@@ -0,0 +1,559 @@
+# /etc/lircrc
+# ln ~mythtv/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# Hauppage Nova-T-500 PCI Dual Tuners DVB-T
+# Snowboard shape remote
+# Silver on top Black underneath
+# 45 buttons
+#
+# Originally
+# By Jarod Wilson, 2003/12/21
+# Amalgamated from Jeff Campbell's .lircrc
+
+
+
+################## MythTV Control ######################
+### http://www.mythtv.org/wiki/index.php/Keybindings ###
+
+# Remote Button
+## MythTV function
+
+
+# Go
+## Go to home page
+begin
+prog = mythtv
+button = Go
+config = ALT+H
+end
+
+# Power
+## Turns monitor in Standby
+#begin
+#prog = irexec
+#button = Power
+#config = sudo vbetool dpms on ; sudo vbetool dpms off
+#end
+
+# TV
+## Go to Watch TV
+begin
+prog = mythtv
+button = TV
+config = ALT+T
+end
+
+# Videos
+## Go to MythVideo
+begin
+prog = mythtv
+button = Videos
+config = ALT+V
+end
+
+# Music
+## Go to MythMusic
+begin
+prog = mythtv
+button = Music
+config = ALT+M
+end
+
+# Pictures
+## Go to MythGallery
+begin
+prog = mythtv
+button = Pictures
+config = ALT+P
+end
+
+# Guide
+## display EPG
+begin
+prog = mythtv
+button = Guide
+config = s
+end
+
+# Radio
+
+
+
+# ArrowUp
+## Up
+begin
+prog = mythtv
+button = ArrowUp
+config = Up
+end
+
+# ArrowLeft
+## Left
+begin
+prog = mythtv
+button = ArrowLeft
+config = Left
+end
+
+# OK
+## Select/enter/resolve
+begin
+prog = mythtv
+button = OK
+config = Space
+end
+
+# ArrowRight
+## Right
+begin
+prog = mythtv
+button = ArrowRight
+config = Right
+end
+
+# ArrowDown
+## Down
+begin
+prog = mythtv
+button = ArrowDown
+config = Down
+end
+
+# BackExit
+## Exit/go back/cancel
+begin
+prog = mythtv
+button = BackExit
+config = Esc
+end
+
+# Menu
+## Menu
+begin
+prog = mythtv
+button = Menu
+config = m
+end
+
+# VolumeUp
+## Volume Up
+begin
+prog = mythtv
+button = VolumeUp
+config = F11
+end
+
+# VolumeDown
+## Volume down
+begin
+prog = mythtv
+button = VolumeDown
+config = F10
+end
+
+# PrevCh
+## Change tuner card input
+begin
+prog = mythtv
+button = PrevCh
+config = c
+end
+
+# Mute
+## Mute
+begin
+prog = mythtv
+button = Mute
+config = |
+end
+
+# ChannelUp
+begin
+prog = mythtv
+button = ChannelUp
+config = Up
+end
+
+# ChannelDown
+begin
+prog = mythtv
+button = ChannelDown
+config = Down
+end
+
+# Record
+begin
+prog = mythtv
+button = Record
+config = R
+end
+
+# Rewind
+begin
+prog = mythtv
+button = Rewind
+config = Left
+end
+
+# SkipBack
+begin
+prog = mythtv
+button = SkipBack
+config = PgUp
+end
+
+# Play
+begin
+prog = mythtv
+button = Play
+config = Return
+end
+
+# Pause
+begin
+prog = mythtv
+button = Pause
+config = P
+end
+
+# Stop
+begin
+prog = mythtv
+button = Stop
+config = Esc
+end
+
+# Fwdwind
+begin
+prog = mythtv
+button = Fwdwind
+config = Right
+end
+
+# SkipFwd
+begin
+prog = mythtv
+button = SkipFwd
+config = PgDown
+end
+
+# 1
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+# 2
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+# 3
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+# 4
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+# 5
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+# 6
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+# 7
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+# 8
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+# 9
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Star
+## Info
+begin
+prog = mythtv
+button = Star
+config = i
+end
+
+# 0
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+# #
+## Toggle recording of current program (cycles through types)
+begin
+prog = mythtv
+button = #
+config = r
+end
+
+# Red
+## Picture zoom
+begin
+prog = mythtv
+button = Red
+config = W
+end
+
+# Green
+# OSD navigation through channels/programs
+begin
+prog = mythtv
+button = Green
+config = O
+end
+
+# Yellow
+begin
+prog = mythtv
+button = Yellow
+config = Q
+end
+
+# Blue
+begin
+prog = mythtv
+button = Blue
+config = Z
+end
+
+
+
+##### MPlayer lirc setup
+# Show OSD
+begin
+prog = mplayer
+button = Menu
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = Pause
+config = pause
+end
+
+# Skip ahead a minute if playing
+# If paused, resume playing
+begin
+prog = mplayer
+button = Play
+config = seek +1
+end
+
+# Stop playback and exit
+begin
+prog = mplayer
+button = Stop
+config = quit
+end
+
+# Mute
+begin
+prog = mplayer
+button = Mute
+config = mute
+end
+
+begin
+prog = mplayer
+button = ArrowLeft
+config = seek -10
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = Rewind
+config = seek -10
+end
+
+begin
+prog = mplayer
+button = ArrowRight
+config = seek +30
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = Fwdwind
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = BackExit
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = SkipFwd
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = SkipBack
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = Star
+config = vo_fullscreen
+end
+
+
+
+###### Xine lirc setup
+begin
+prog = xine
+button = Play
+config = Play
+end
+
+begin
+prog = xine
+button = Stop
+config = Stop
+end
+
+begin
+prog = xine
+button = BackExit
+config = Quit
+end
+
+begin
+prog = xine
+button = Pause
+config = Pause
+end
+
+begin
+prog = xine
+button = ArrowUp
+config = EventUp
+end
+
+begin
+prog = xine
+button = ArrowDown
+config = EventDown
+end
+
+begin
+prog = xine
+button = ArrowLeft
+config = EventLeft
+end
+
+begin
+prog = xine
+button = ArrowRight
+config = EventRight
+end
+
+begin
+prog = xine
+button = OK
+config = EventSelect
+end
+
+begin
+prog = xine
+button = Fwdwind
+config = SpeedFaster
+end
+
+begin
+prog = xine
+button = Rewind
+config = SpeedSlower
+end
+
+begin
+prog = xine
+button = VolumeUp
+config = Volume+
+end
+
+begin
+prog = xine
+button = VolumeDown
+config = Volume-
+end
+
+begin
+prog = xine
+button = Mute
+config = Mute
+end
+
+begin
+prog = xine
+button = Menu
+config = RootMenu
+end
+
+begin
+prog = xine
+button = SkipFwd
+config = EventNext
+end
+
+begin
+prog = xine
+button = SkipBack
+config = EventPrior
+end
+
+begin
+prog = xine
+button = Go
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_500/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Nova_500/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_500/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_T/lircd-novat.conf b/linhes/linhes-templates/templates/remotes/other/Nova_T/lircd-novat.conf
new file mode 100644
index 0000000..27a575d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_T/lircd-novat.conf
@@ -0,0 +1,60 @@
+begin remote
+ name nova-t
+ bits 16
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 135988
+ pre_data_bits 16
+ pre_data 0x8001
+
+ begin codes
+ 1 0x0002
+ 2 0x0003
+ 3 0x0004
+ 4 0x0005
+ 5 0x0006
+ 6 0x0007
+ 7 0x0008
+ 8 0x0009
+ 9 0x000A
+ 0 0x000B
+ * 0x0184
+ # 0x0172
+ red 0x018E
+ green 0x018F
+ yellow 0x0190
+ blue 0x0191
+ power 0x0074
+ go 0x0161
+ tv 0x0179
+ videos 0x0189
+ music 0x0188
+ pictures 0x016F
+ guide 0x016D
+ radio 0x0181
+ up 0x0067
+ left 0x0069
+ right 0x006A
+ down 0x006C
+ ok 0x001C
+ back 0x00A8
+ menu 0x008B
+ prev-ch 0x019C
+ mute 0x0071
+ volup 0x0073
+ voldown 0x0072
+ chanup 0x0192
+ chandown 0x0193
+ rec 0x00A7
+ stop 0x0080
+ forward 0x00D0
+ skipback 0x00A5
+ skipforward 0x00A3
+ play 0x00CF
+ pause 0x0077
+
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_T/lircrc-novat.txt b/linhes/linhes-templates/templates/remotes/other/Nova_T/lircrc-novat.txt
new file mode 100644
index 0000000..f075729
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_T/lircrc-novat.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = chanup
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = chandown
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = left
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = right
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = up
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = down
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = volup
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = voldown
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = ok
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = forward
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = back
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = skipforward
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = skipback
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = rec
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = red
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = menu
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = guide
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = yellow
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = blue
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = prev-ch
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = guide
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = pause
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = back
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = forward
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = skipforward
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = skipback
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button =
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = play
+config = Play
+end
+
+begin
+prog = xine
+button = stop
+config = Stop
+end
+
+begin
+prog = xine
+button = stop
+config = Quit
+end
+
+begin
+prog = xine
+button = pause
+config = Pause
+end
+
+begin
+prog = xine
+button = up
+config = EventUp
+end
+
+begin
+prog = xine
+button = down
+config = EventDown
+end
+
+begin
+prog = xine
+button = left
+config = EventLeft
+end
+
+begin
+prog = xine
+button = right
+config = EventRight
+end
+
+begin
+prog = xine
+button = ok
+config = EventSelect
+end
+
+begin
+prog = xine
+button = menu
+config = Menu
+end
+
+begin
+prog = xine
+button = forward
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = back
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = volup
+config = Volume+
+end
+
+begin
+prog = xine
+button = voldown
+config = Volume-
+end
+
+begin
+prog = xine
+button = mute
+config = Mute
+end
+
+begin
+prog = xine
+button = stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button = skipforward
+config = EventNext
+end
+
+begin
+prog = xine
+button = skipback
+config = EventPrior
+end
+
+begin
+prog = xine
+button = guide
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_T/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Nova_T/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_T/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/lircd-novatusb2.conf b/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/lircd-novatusb2.conf
new file mode 100644
index 0000000..d2bbee6
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/lircd-novatusb2.conf
@@ -0,0 +1,77 @@
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.8.1-CVS(dev/input) on Sun Oct 8 22:51:46 2006
+#
+# contributed by JonS
+#
+# brand: irrecord.nova-T-usb
+# model no. of remote control: Hauppage Nova-T USB Snowboard Shape Silver over Black
+# devices being controlled by this remote: MythTV
+#
+
+begin remote
+
+ name nova-T-usb
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x1
+ gap 199999
+ toggle_bit 0
+
+
+ begin codes
+ Go 0x0162
+ Power 0x0074
+ TV 0x0179
+ Videos 0x0189
+ Music 0x0188
+ Pictures 0x00E2
+ Guide 0x016D
+ Radio 0x0181
+ ArrowUp 0x0067
+ ArrowLeft 0x0069
+ OK 0x0160
+ ArrowRight 0x006A
+ ArrowDown 0x006C
+ BackExit 0x009E
+ Menu 0x008B
+ VolumeUp 0x0073
+ VolumeDown 0x0072
+ PrevCh 0x016B
+ Mute 0x0071
+ ChannelUp 0x0192
+ ChannelDown 0x0193
+ Record 0x00A7
+ Rewind 0x00A8
+ SkipBack 0x0195
+ Play 0x00CF
+ Pause 0x0077
+ Stop 0x0080
+ Fwdwind 0x00D0
+ SkipFwd 0x0197
+ 1 0x0002
+ 2 0x0003
+ 3 0x0004
+ 4 0x0005
+ 5 0x0006
+ 6 0x0007
+ 7 0x0008
+ 8 0x0009
+ 9 0x000A
+ * 0x0037
+ 0 0x000B
+ # 0x0029
+ Red 0x018E
+ Green 0x018F
+ Yellow 0x0190
+ Blue 0x0191
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/lircrc-novatusb2.txt b/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/lircrc-novatusb2.txt
new file mode 100644
index 0000000..fad1483
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/lircrc-novatusb2.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = ChannelUp
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = ChannelDown
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = ArrowLeft
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = ArrowRight
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = ArrowUp
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = ArrowDown
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = VolumeUp
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = VolumeDown
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = OK
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = Play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = Stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = BackExit
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = Power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = Pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = Mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = FwdWind
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = Rewind
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = SkipFwd
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = SkipBack
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = Record
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = Red
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = Green
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = Guide
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = Yellow
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = Blue
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = PrevCh
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = Guide
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = Pause
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = Mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = Rewind
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = FwdWind
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = Stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = SkipFwd
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = SkipBack
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button =
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = Play
+config = Play
+end
+
+begin
+prog = xine
+button = Stop
+config = Stop
+end
+
+begin
+prog = xine
+button = BackExit
+config = Quit
+end
+
+begin
+prog = xine
+button = Pause
+config = Pause
+end
+
+begin
+prog = xine
+button = ArrowUp
+config = EventUp
+end
+
+begin
+prog = xine
+button = ArrowDown
+config = EventDown
+end
+
+begin
+prog = xine
+button = ArrowLeft
+config = EventLeft
+end
+
+begin
+prog = xine
+button = ArrowRight
+config = EventRight
+end
+
+begin
+prog = xine
+button = OK
+config = EventSelect
+end
+
+begin
+prog = xine
+button = Guide
+config = Menu
+end
+
+begin
+prog = xine
+button = FwdWind
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = Rewind
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = VolumeUp
+config = Volume+
+end
+
+begin
+prog = xine
+button = VolumeDown
+config = Volume-
+end
+
+begin
+prog = xine
+button = Mute
+config = Mute
+end
+
+begin
+prog = xine
+button = Stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button = SkipFwd
+config = EventNext
+end
+
+begin
+prog = xine
+button = SkipBack
+config = EventPrior
+end
+
+begin
+prog = xine
+button = Menu
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nova_T_USB2/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Nvidia/lircd-nvidia.conf b/linhes/linhes-templates/templates/remotes/other/Nvidia/lircd-nvidia.conf
new file mode 100644
index 0000000..133ac00
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nvidia/lircd-nvidia.conf
@@ -0,0 +1,62 @@
+begin remote
+ name nvidia
+ bits 16
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 227970
+ pre_data_bits 8
+ pre_data 0x14
+
+ begin codes
+ CANCIL 0xDF0A
+ RIGHTMOUSE 0x517C
+ LEFTMOUSE 0x4D78
+ PAUSE 0x4D78
+ STOP 0xFD28
+ REC 0xFC27
+ ADVANCE 0xFB26
+ PLAY 0xFA25
+ REPLAY 0xF924
+ FFORWARD 0xF823
+ REWIND 0xF621
+ OK 0xF31E
+ SLOW 0xF520
+ LIVETV 0xF11C
+ LEFT 0xF21D
+ RIGHT 0xF41F
+ DOWN 0xF722
+ UP 0xEF1A
+ SETUP 0xF01B
+ DVDMENU 0xEE19
+ SNAPSHOT 0xED18
+ CC 0xEB16
+ 0 0xEC17
+ 9 0xEA15
+ 8 0xE914
+ 7 0xE813
+ 6 0xE712
+ 5 0xE611
+ 4 0xE510
+ 3 0xE40F
+ 2 0xE30E
+ 1 0xE20D
+ ZOOM 0xFF2A
+ INPUT 0x002B
+ CHAN- 0xE10C
+ CHAN+ 0xE00B
+ VOL- 0xDD08
+ VOL+ 0xDE09
+ WEB 0xDC07
+ MUSIC 0xDB06
+ PHOTO 0xDA05
+ DVDVCD 0xD904
+ DVR 0xD803
+ CHSURF 0xD702
+ CHGUIDE 0xD601
+ MUTE 0xD500
+
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nvidia/lircrc-nvidia.txt b/linhes/linhes-templates/templates/remotes/other/Nvidia/lircrc-nvidia.txt
new file mode 100644
index 0000000..53c133b
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nvidia/lircrc-nvidia.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = CHAN+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = CHAN-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = LEFT
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = RIGHT
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = UP
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = DOWN
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = VOL+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = VOL-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = OK
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = PLAY
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = STOP
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = CANCIL
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button =
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = PAUSE
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = MUTE
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = FFORWARD
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = REWIND
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = ADVANCE
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = REPLAY
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = REC
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = CHGUIDE
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = CHSURF
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = INPUT
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = SETUP
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button =
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = CHGUIDE
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = PAUSE
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = MUTE
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = REWIND
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = FFORWARD
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = STOP
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = ADVANCE
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = REPLAY
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = ZOOM
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = PLAY
+config = Play
+end
+
+begin
+prog = xine
+button = STOP
+config = Stop
+end
+
+begin
+prog = xine
+button = STOP
+config = Quit
+end
+
+begin
+prog = xine
+button = PAUSE
+config = Pause
+end
+
+begin
+prog = xine
+button = UP
+config = EventUp
+end
+
+begin
+prog = xine
+button = DOWN
+config = EventDown
+end
+
+begin
+prog = xine
+button = LEFT
+config = EventLeft
+end
+
+begin
+prog = xine
+button = RIGHT
+config = EventRight
+end
+
+begin
+prog = xine
+button = OK
+config = EventSelect
+end
+
+begin
+prog = xine
+button = CHGUIDE
+config = Menu
+end
+
+begin
+prog = xine
+button = FFORWARD
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = REWIND
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = VOL+
+config = Volume+
+end
+
+begin
+prog = xine
+button = VOL-
+config = Volume-
+end
+
+begin
+prog = xine
+button = MUTE
+config = Mute
+end
+
+begin
+prog = xine
+button = STOP
+config = RootMenu
+end
+
+begin
+prog = xine
+button = ADVANCE
+config = EventNext
+end
+
+begin
+prog = xine
+button = REPLAY
+config = EventPrior
+end
+
+begin
+prog = xine
+button = CHSURF
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nvidia/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Nvidia/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nvidia/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/lircd-nvidiax10.conf b/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/lircd-nvidiax10.conf
new file mode 100644
index 0000000..1c06639
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/lircd-nvidiax10.conf
@@ -0,0 +1,71 @@
+begin remote
+ name nvidiax10
+ bits 40
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 235987
+
+ begin codes
+ mute 0x14D5000000
+ playlist 0x14D6010000
+ chSurf 0x14D7020000
+ dvr 0x14D8030000
+ dvd 0x14D9040000
+ photo 0x14DA050000
+ music 0x14DB060000
+ web 0x14DC070000
+ L 0x144D780000
+ R 0x14517C0000
+ ESC 0x14DF0A0000
+ VOL+ 0x14DE090000
+ VOL- 0x14DD080000
+ CHAN- 0x14E10C0000
+ CHAN+ 0x14E00B0000
+ angle 0x14002B0000
+ zoom 0x14FF2A0000
+ 0 0x14EC170000
+ 1 0x14E20D0000
+ 2 0x14E30E0000
+ 3 0x14E40F0000
+ 4 0x14E5100000
+ 5 0x14E6110000
+ 6 0x14E7120000
+ 7 0x14E8130000
+ 8 0x14E9140000
+ 9 0x14EA150000
+ TXT 0x14EB160000
+ SnapShot 0x14ED180000
+ DVDMenu 0x14EE190000
+ setup 0x14F01B0000
+ audio 0x14F11C0000
+ slow 0x14F5200000
+ up 0x14EF1A0000
+ down 0x14F7220000
+ left 0x14F21D0000
+ right 0x14F41F0000
+ ok 0x14F31E0000
+ back 0x14F6210000
+ forward 0x14F8230000
+ fRewind 0x14F9240000
+ play 0x14FA250000
+ ffw 0x14FB260000
+ rec 0x14FC270000
+ stop 0x14FD280000
+ pause 0x14FE290000
+
+ mouse_n 0x0000001447720000
+ mouse_ne 0x000000144A750000
+ mouse_e 0x0000001446710000
+ mouse_se 0x000000144B760000
+ mouse_s 0x0000001448730000
+ mouse_sw 0x000000144C770000
+ mouse_w 0x0000001445700000
+ mouse_nw 0x0000001449740000
+ mouse_left 0x000000144E790000
+ mouse_right 0x00000014527D0000
+
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/lircrc-nvidiax10.txt b/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/lircrc-nvidiax10.txt
new file mode 100644
index 0000000..0774c10
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/lircrc-nvidiax10.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = CHAN+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = CHAN-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = left
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = right
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = up
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = down
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = VOL+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = VOL-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = ok
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = ESC
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button =
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = ffw
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = fRewind
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = forward
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = back
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = rec
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button =
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = chSurf
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button =
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button =
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button =
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button = TXT
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = chSurf
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = pause
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = fRewind
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = ffw
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = forward
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = back
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = zoom
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = play
+config = Play
+end
+
+begin
+prog = xine
+button = stop
+config = Stop
+end
+
+begin
+prog = xine
+button = ESC
+config = Quit
+end
+
+begin
+prog = xine
+button = pause
+config = Pause
+end
+
+begin
+prog = xine
+button = up
+config = EventUp
+end
+
+begin
+prog = xine
+button = down
+config = EventDown
+end
+
+begin
+prog = xine
+button = left
+config = EventLeft
+end
+
+begin
+prog = xine
+button = right
+config = EventRight
+end
+
+begin
+prog = xine
+button = ok
+config = EventSelect
+end
+
+begin
+prog = xine
+button = chSurf
+config = Menu
+end
+
+begin
+prog = xine
+button = ffw
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = fRewind
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = VOL+
+config = Volume+
+end
+
+begin
+prog = xine
+button = VOL-
+config = Volume-
+end
+
+begin
+prog = xine
+button = mute
+config = Mute
+end
+
+begin
+prog = xine
+button = stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button = forward
+config = EventNext
+end
+
+begin
+prog = xine
+button = back
+config = EventPrior
+end
+
+begin
+prog = xine
+button =
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Nvidia_X10/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All/lircd-one4all.conf b/linhes/linhes-templates/templates/remotes/other/One4All/lircd-one4all.conf
new file mode 100644
index 0000000..00060fd
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All/lircd-one4all.conf
@@ -0,0 +1,111 @@
+#------------------------------------------------------------------------------
+# contributed by Claas Langbehn (claas@bigfoot.com) 01-May-2000
+#------------------------------------------------------------------------------
+#
+# filename: RC-5
+# encoding: shift encoded, RC-5
+# brand: Philips (and others)
+# model: all
+# supported devices: all
+#
+#------------------------------------------------------------------------------
+
+begin remote
+
+ name one4all
+ bits 11
+ flags RC5|CONST_LENGTH
+ eps 20
+ aeps 0
+
+ header 0 0
+ one 889 889
+ zero 889 889
+ plead 889
+ ptrail 0
+ foot 0 0
+ repeat 0 0
+ pre_data_bits 2
+ pre_data 0x02
+ post_data_bits 0
+ post_data 0x0
+ pre 0 0
+ post 0 0
+ gap 113792
+ toggle_bit 2
+ frequency 36000
+ duty_cycle 50
+
+ begin codes
+ 0 0x0000000000000140
+ 1 0x0000000000000141
+ 2 0x0000000000000142
+ 3 0x0000000000000143
+ 4 0x0000000000000144
+ 5 0x0000000000000145
+ 6 0x0000000000000146
+ 7 0x0000000000000147
+ 8 0x0000000000000148
+ 9 0x0000000000000149
+ GUIDE 0x000000000000014a
+ SELECT 0x000000000000014b
+ POWER 0x000000000000014c
+ Mute 0x000000000000014d
+ Move 0x000000000000014e
+ VOL+ 0x0000000000000150
+ VOL- 0x0000000000000151
+ PREVCH 0x0000000000000152
+ NEXTCH 0x0000000000000153
+ SLOMO 0x0000000000000154
+ ANGLE 0x0000000000000155
+ MENU 0x000000000000015d
+ SUBT 0x000000000000015e
+ CH+ 0x0000000000000160
+ CH- 0x0000000000000161
+ PIP 0x0000000000000162
+ Swap 0x0000000000000163
+ PAUSE 0x0000000000000169
+ PVRMENU 0x000000000000016e
+ EXIT 0x0000000000000171
+ REW 0x0000000000000172
+ REPLAY 0x0000000000000173
+ FFW 0x0000000000000174
+ PLAY 0x0000000000000175
+ STOP 0x0000000000000176
+ REC 0x0000000000000177
+ SKIP 0x0000000000000178
+ Prev 0x000000000000017b
+ INFO 0x000000000000017c
+ TV/VID 0x000000000000017e
+ Audio 0x000000000000017f
+ THDN 0x0000000000000268
+ THUP 0x0000000000000269
+ end codes
+
+end remote
+
+begin remote
+
+ name PHILIPS_RC-5_ALT
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 20
+ aeps 0
+
+ one 889 889
+ zero 889 889
+ plead 889
+ gap 113792
+ min_repeat 1
+ toggle_bit 2
+
+ frequency 36000
+ duty_cycle 50
+
+ begin codes
+ LEFT 0x0000000000000155
+ RIGHT 0x0000000000000156
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All/lircrc-one4all.txt b/linhes/linhes-templates/templates/remotes/other/One4All/lircrc-one4all.txt
new file mode 100644
index 0000000..0b67174
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All/lircrc-one4all.txt
@@ -0,0 +1,730 @@
+# lircrc.URC-6131/RC-5 (Hauppauge PVR-250)
+# 2004-01-25, Joe Votour
+# mailto:vulturej@vulturesnest.net
+# Save this file in ~/.mythtv/lircrc, and make a symlink with ~/.lircrc
+# TODO: Test/configure the mplayer buttons
+# Finish the rest of the remote buttons for MythTV
+
+# Power button/quit
+#begin
+# prog = mythtv
+# button = POWER
+# config = Esc
+#end
+
+# Change TV card input
+begin
+ prog = mythtv
+ button = TV/VID
+ config = C
+end
+
+# Toggle Picture-In-Picture
+begin
+ prog = mythtv
+ button = PIP
+ config = V
+end
+
+# Swap the PiP windows
+begin
+ prog = mythtv
+ button = Swap
+ config = N
+end
+
+# Number keys
+begin
+ prog = mythtv
+ button = 1
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ config = 9
+end
+
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+end
+
+# Exit button (returning to menu)
+begin
+ prog = mythtv
+ button = EXIT
+ config = Esc
+end
+
+# Menu button (TV menu)
+begin
+ prog = mythtv
+ button = MENU
+ config = M
+end
+
+# Guide button (EPG)
+begin
+ prog = mythtv
+ button = GUIDE
+ config = S
+end
+
+# Delete (i.e. View recordings screen)
+begin
+ prog = mythtv
+ button = POWER
+ config = D
+end
+
+# View program info (OSD)
+begin
+ prog = mythtv
+ button = INFO
+ config = I
+end
+
+# Note the "repeat =" strings in the volume and channel.
+# This means that if you hold down the key, every nth instance will be
+# passed. This depends on your system, so you may want to increase or
+# decrease this and see what happens. repeat = 1 is probably too
+# fast.
+
+# Volume Down
+begin
+ prog = mythtv
+ button = VOL-
+ repeat = 3
+ config = F10
+end
+
+# Volume Up
+begin
+ prog = mythtv
+ button = VOL+
+ repeat = 3
+ config = F11
+end
+
+# Channel Up
+begin
+ prog = mythtv
+ button = THUP
+ repeat = 3
+ config = Up
+end
+
+# Channel Down
+begin
+ prog = mythtv
+ button = THDN
+ repeat = 3
+ config = Down
+end
+
+# Navigational arrows
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 3
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 3
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = SELECT
+ config = Return
+end
+
+# Mute
+begin
+ prog = mythtv
+ button = Mute
+ config = F9
+end
+
+# Browse mode
+#begin
+# prog = mythtv
+# button = DISPLAY
+# config = O
+#end
+
+# Channel history
+begin
+ prog = mythtv
+ button = Prev
+ config = H
+end
+
+# Rewind
+begin
+ prog = mythtv
+ button = REW
+ config = Left
+end
+
+# Play
+begin
+ prog = mythtv
+ button = PLAY
+ config = P
+end
+
+# Fast-forward
+begin
+ prog = mythtv
+ button = FFW
+ config = Right
+end
+
+# Next chapter (page down for EPG)
+begin
+ prog = mythtv
+ button = NEXTCH
+ config = PgDown
+end
+
+# Previous chapter (page up for EPG)
+begin
+ prog = mythtv
+ button = PREVCH
+ config = PgUp
+end
+
+# Record
+begin
+ prog = mythtv
+ button = REC
+ config = R
+end
+
+# Teletext/Closed Captioning
+# Audio button doubles as CC
+begin
+ prog = mythtv
+ button = Audio
+ config = T
+end
+
+# Pause
+begin
+ prog = mythtv
+ button = PAUSE
+ config = P
+end
+
+# Backwards commercial skip
+begin
+ prog = mythtv
+ button = REPLAY
+ config = Q
+end
+
+# Forward commercial skip
+begin
+ prog = mythtv
+ button = SKIP
+ config = Z
+end
+
+#
+# mplayer keys (Untested)
+#
+begin
+ prog = mplayer
+ button = EXIT
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = MUTE
+ config = mute
+end
+
+begin
+ prog = mplayer
+ button = VOL-
+ config = volume -1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = VOL+
+ config = volume 1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = PLAY
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = PAUSE
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = STOP
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = DISPLAY
+ config = osd
+end
+
+begin
+ prog = mplayer
+ button = FFW
+ config = skip 1
+end
+
+begin
+ prog = mplayer
+ button = REW
+ config = skip -1
+end
+
+begin
+ prog = mplayer
+ button = REPLAY
+ config = skip -60
+end
+
+begin
+ prog = mplayer
+ button = SKIP
+ config = skip 60
+end
+
+##
+# xine key bindings.
+# Automatically generated by xine-ui version 0.9.23.
+# To run xine:
+# MythVideo: xine -D -pfh %s
+# MythDVD: xine -D -pfhq --auto-scan dvd (for DVD)
+# xine -D -pfhq --auto-scan vcdo (for VCD)
+##
+
+# start playback
+begin
+ button = PLAY
+ prog = xine
+ repeat = 3
+ config = Play
+end
+
+# playback pause toggle
+begin
+ button = PAUSE
+ prog = xine
+ repeat = 3
+ config = Pause
+end
+
+# stop playback
+begin
+ button = STOP
+ prog = xine
+ repeat = 3
+ config = Stop
+end
+
+# set position to -10 minutes in current stream
+begin
+ button = REPLAY
+ prog = xine
+ repeat = 3
+ config = SeekRelative-600
+end
+
+# set position to +10 minutes in current stream
+begin
+ button = SKIP
+ prog = xine
+ repeat = 3
+ config = SeekRelative+600
+end
+
+# set position to -30 seconds in current stream
+begin
+ button = REW
+ prog = xine
+ repeat = 3
+ config = SeekRelative-30
+end
+
+# set position to +30 seconds in current stream
+begin
+ button = FFW
+ prog = xine
+ repeat = 3
+ config = SeekRelative+30
+end
+
+# decrement playback speed
+begin
+ button = SLOMO
+ prog = xine
+ repeat = 3
+ config = SpeedSlower
+end
+
+# reset playback speed
+begin
+ button = PLAY
+ prog = xine
+ repeat = 3
+ config = SpeedReset
+end
+
+# increment audio volume
+begin
+ button = VOL+
+ prog = xine
+ repeat = 2
+ config = Volume+
+end
+
+# decrement audio volume
+begin
+ button = VOL-
+ prog = xine
+ repeat = 2
+ config = Volume-
+end
+
+# increment amplification level
+#begin
+# remote = xxxxx
+# button = xxxxx
+# prog = xine
+# repeat = 3
+# config = Amp+
+#end
+
+# decrement amplification level
+#begin
+# remote = xxxxx
+# button = xxxxx
+# prog = xine
+# repeat = 3
+# config = Amp-
+#end
+
+# reset amplification to default value
+#begin
+# remote = xxxxx
+# button = xxxxx
+# prog = xine
+# repeat = 3
+# config = ResetAmp
+#end
+
+# audio muting toggle
+begin
+ button = Mute
+ prog = xine
+ repeat = 3
+ config = Mute
+end
+
+# select next audio channel
+begin
+ button = Audio
+ prog = xine
+ repeat = 3
+ config = AudioChannelNext
+end
+
+# select next sub picture (subtitle) channel
+begin
+ button = SUBT
+ prog = xine
+ repeat = 3
+ config = SpuNext
+end
+
+# jump to media Menu
+#begin
+# button = MENU
+# prog = xine
+# repeat = 3
+# config = Menu
+#end
+
+# jump to Title Menu
+#begin
+# remote = xxxxx
+# button = xxxxx
+# prog = xine
+# repeat = 3
+# config = TitleMenu
+#end
+
+# jump to Root Menu
+begin
+ button = MENU
+ prog = xine
+ repeat = 3
+ config = RootMenu
+end
+
+# jump to Subpicture Menu
+begin
+ remote = xxxxx
+ button = xxxxx
+ prog = xine
+ repeat = 3
+ config = SubpictureMenu
+end
+
+# jump to Audio Menu
+begin
+ button = Audio
+ prog = xine
+ repeat = 3
+ config = AudioMenu
+end
+
+# jump to Angle Menu
+begin
+ button = Angle
+ prog = xine
+ repeat = 3
+ config = AngleMenu
+end
+
+# jump to Part Menu
+#begin
+# remote = xxxxx
+# button = xxxxx
+# prog = xine
+# repeat = 3
+# config = PartMenu
+#end
+
+# menu navigate up
+begin
+ button = CH+
+ prog = xine
+ repeat = 3
+ config = EventUp
+end
+
+# menu navigate down
+begin
+ button = CH-
+ prog = xine
+ repeat = 3
+ config = EventDown
+end
+
+# menu navigate left
+begin
+ button = LEFT
+ prog = xine
+ repeat = 3
+ config = EventLeft
+end
+
+# menu navigate right
+begin
+ button = RIGHT
+ prog = xine
+ repeat = 3
+ config = EventRight
+end
+
+# menu select
+begin
+ button = SELECT
+ prog = xine
+ repeat = 3
+ config = EventSelect
+end
+
+# jump to next chapter
+begin
+ button = NEXTCH
+ prog = xine
+ repeat = 3
+ config = EventNext
+end
+
+# jump to previous chapter
+begin
+ button = PREVCH
+ prog = xine
+ repeat = 3
+ config = EventPrior
+end
+
+# select next angle
+begin
+ button = ANGLE
+ prog = xine
+ repeat = 3
+ config = EventAngleNext
+end
+
+# display stream information using OSD
+begin
+ button = INFO
+ prog = xine
+ repeat = 3
+ config = OSDStreamInfos
+end
+
+# enter the number 0
+begin
+ button = 0
+ prog = xine
+ repeat = 3
+ config = Number0
+end
+
+# enter the number 1
+begin
+ button = 1
+ prog = xine
+ repeat = 3
+ config = Number1
+end
+
+# enter the number 2
+begin
+ button = 2
+ prog = xine
+ repeat = 3
+ config = Number2
+end
+
+# enter the number 3
+begin
+ button = 3
+ prog = xine
+ repeat = 3
+ config = Number3
+end
+
+# enter the number 4
+begin
+ button = 4
+ prog = xine
+ repeat = 3
+ config = Number4
+end
+
+# enter the number 5
+begin
+ button = 5
+ prog = xine
+ repeat = 3
+ config = Number5
+end
+
+# enter the number 6
+begin
+ button = 6
+ prog = xine
+ repeat = 3
+ config = Number6
+end
+
+# enter the number 7
+begin
+ button = 7
+ prog = xine
+ repeat = 3
+ config = Number7
+end
+
+# enter the number 8
+begin
+ button = 8
+ prog = xine
+ repeat = 3
+ config = Number8
+end
+
+# enter the number 9
+begin
+ button = 9
+ prog = xine
+ repeat = 3
+ config = Number9
+end
+
+# quit the program
+begin
+ button = POWER
+ prog = xine
+ repeat = 3
+ config = Quit
+end
+
+##
+# End of xine key bindings.
+##
+
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All/preview.jpg b/linhes/linhes-templates/templates/remotes/other/One4All/preview.jpg
new file mode 100644
index 0000000..770d54b
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All_6131/lircd-one4all6131.conf b/linhes/linhes-templates/templates/remotes/other/One4All_6131/lircd-one4all6131.conf
new file mode 100644
index 0000000..9562f79
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All_6131/lircd-one4all6131.conf
@@ -0,0 +1,31 @@
+begin remote
+ name OneForAll_6131
+ bits 20
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+ header 2449 542
+ one 1259 527
+ zero 675 527
+ gap 45430
+
+ begin codes
+ Left 0xDEB92
+ Right 0x3EB92
+ Up 0x9EB92
+ Down 0x5EB92
+ Select 0xD0B92
+ Exit 0x70B92
+ Info 0x2AB92
+ Guide 0x58B92
+ Menu 0xD8B92
+ Play 0x4CB92
+ Pause 0x9CB92
+ Stop 0x1CB92
+ JumpBack 0x6CB92
+ JumpAhead 0xECB92
+ JumpToStart 0x0CB92
+
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All_6131/lircrc-one4all6131.txt b/linhes/linhes-templates/templates/remotes/other/One4All_6131/lircrc-one4all6131.txt
new file mode 100644
index 0000000..728c046
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All_6131/lircrc-one4all6131.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = Up
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = Down
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button =
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button =
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = Up
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = Down
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = Right
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = Left
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = Select
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = Play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = Stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = Exit
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button =
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = Pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button =
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = JumpAhead
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = JumpBack
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button =
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = Menu
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = Guide
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = Info
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button =
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button =
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = Menu
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = Pause
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button =
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = JumpBack
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = JumpAhead
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = Stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button =
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = Play
+config = Play
+end
+
+begin
+prog = xine
+button = Stop
+config = Stop
+end
+
+begin
+prog = xine
+button = Exit
+config = Quit
+end
+
+begin
+prog = xine
+button = Pause
+config = Pause
+end
+
+begin
+prog = xine
+button = Up
+config = EventUp
+end
+
+begin
+prog = xine
+button = Down
+config = EventDown
+end
+
+begin
+prog = xine
+button =
+config = EventLeft
+end
+
+begin
+prog = xine
+button =
+config = EventRight
+end
+
+begin
+prog = xine
+button = Select
+config = EventSelect
+end
+
+begin
+prog = xine
+button = Menu
+config = Menu
+end
+
+begin
+prog = xine
+button = JumpAhead
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = JumpBack
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = Right
+config = Volume+
+end
+
+begin
+prog = xine
+button = Left
+config = Volume-
+end
+
+begin
+prog = xine
+button =
+config = Mute
+end
+
+begin
+prog = xine
+button = Stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button =
+config = EventNext
+end
+
+begin
+prog = xine
+button =
+config = EventPrior
+end
+
+begin
+prog = xine
+button = Info
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All_6131/preview.jpg b/linhes/linhes-templates/templates/remotes/other/One4All_6131/preview.jpg
new file mode 100644
index 0000000..cc0751e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All_6131/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All_7544/lircd-one4all7544.conf b/linhes/linhes-templates/templates/remotes/other/One4All_7544/lircd-one4all7544.conf
new file mode 100644
index 0000000..c1787ef
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All_7544/lircd-one4all7544.conf
@@ -0,0 +1,49 @@
+begin remote
+ name one4all_7544
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+ header 2399 615
+ one 1175 620
+ zero 572 620
+ gap 45451
+
+ begin codes
+ 1 0x01A
+ 2 0x81A
+ 3 0x41A
+ 4 0xC1A
+ 5 0x21A
+ 6 0xA1A
+ 7 0x61A
+ 8 0xE1A
+ 9 0x11A
+ 10 0x51A
+ 0 0x91A
+ av 0x55A
+ c+ 0x09A
+ c- 0x89A
+ exit 0x55A
+ ok 0x8BA
+ up 0x43A
+ down 0xC3A
+ left 0x47A
+ right 0x87A
+ v+ 0x49A
+ v- 0xC9A
+ mute 0xADA
+ rr 0xD9A
+ play 0x59A
+ pause 0x99A
+ ff 0x39A
+ red 0x1BA
+ green 0x19A
+ yellow 0xB9A
+ blue 0xE5A
+ menu 0xB3A
+ power 0xA9A
+
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All_7544/lircrc-one4all7544.txt b/linhes/linhes-templates/templates/remotes/other/One4All_7544/lircrc-one4all7544.txt
new file mode 100644
index 0000000..57e702a
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All_7544/lircrc-one4all7544.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = c+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = c-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = left
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = right
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = up
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = down
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = v+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = v-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = ok
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = exit
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = ff
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = rr
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = red
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = yellow
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = menu
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = green
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = blue
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button =
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = menu
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = pause
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = rr
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = ff
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = exit
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button =
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = play
+config = Play
+end
+
+begin
+prog = xine
+button = exit
+config = Stop
+end
+
+begin
+prog = xine
+button = exit
+config = Quit
+end
+
+begin
+prog = xine
+button = pause
+config = Pause
+end
+
+begin
+prog = xine
+button = up
+config = EventUp
+end
+
+begin
+prog = xine
+button = down
+config = EventDown
+end
+
+begin
+prog = xine
+button = left
+config = EventLeft
+end
+
+begin
+prog = xine
+button = right
+config = EventRight
+end
+
+begin
+prog = xine
+button = ok
+config = EventSelect
+end
+
+begin
+prog = xine
+button = menu
+config = Menu
+end
+
+begin
+prog = xine
+button = ff
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = rr
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = v+
+config = Volume+
+end
+
+begin
+prog = xine
+button = v-
+config = Volume-
+end
+
+begin
+prog = xine
+button = mute
+config = Mute
+end
+
+begin
+prog = xine
+button = exit
+config = RootMenu
+end
+
+begin
+prog = xine
+button =
+config = EventNext
+end
+
+begin
+prog = xine
+button =
+config = EventPrior
+end
+
+begin
+prog = xine
+button = green
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/One4All_7544/preview.jpg b/linhes/linhes-templates/templates/remotes/other/One4All_7544/preview.jpg
new file mode 100644
index 0000000..cb75f0b
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/One4All_7544/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Packard_bell/lircd-packard.conf b/linhes/linhes-templates/templates/remotes/other/Packard_bell/lircd-packard.conf
new file mode 100644
index 0000000..9e0e783
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Packard_bell/lircd-packard.conf
@@ -0,0 +1,92 @@
+# Config file for Packard Bell Remotes (with repeat codes!)
+# created by Samuel Wood (sjw@umr.edu)
+#
+# brand: Packard Bell Remote
+# model: El Cheapo Packard Bell Remote
+#
+# This is a config file for the cheap excess Packard Bell remotes
+# you sometimes can buy from online auctions like www.onsale.com.
+#
+# The receiver that comes with it hooks into the serial port and works
+# fine with lirc 0.5.4.
+#
+# The receiver that comes with the remote is near garbage. If
+# you don't point almost directly at it, it will not detect. But
+# it's simpler than building your own. :-)
+#
+# Repeat works fine for me. You just have to modify or add the
+# "repeat=" lines in your .lircrc.
+#
+# irrecord was used to generate the file, then I modified and
+# added repeat codes.
+#
+# The button names used are identical to what was printed on the
+# remote, except for the number pads (using actual numbers like
+# "1" and so forth did not seem to work. Similarly, '*' is Star
+# and '#' is Hash. LMB and RMB refer to the two mousepad buttons
+# on the left and right respectively.
+#
+# I still need to modify the gap setting. Right now, if you don't
+# hold the button down long enough, it may not register, but if
+# you hold it too long, it will detect a repeat or two. Feel free
+# to modify this to work better. If you get it to work better, send
+# me a copy. :-)
+
+begin remote
+
+ name PackBell
+ bits 15
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 400
+
+ header 9065 4500
+ one 597 532
+ zero 597 1643
+ ptrail 597
+ pre_data_bits 16
+ pre_data 0xF708
+ post_data_bits 1
+ post_data 0x0
+ gap 107000
+ repeat_bit 0
+ repeat 9050 2250
+
+ begin codes
+ Help 0x0000000000006F90
+ Phone 0x0000000000004FB0
+ Message 0x0000000000006E91
+ SRS 0x0000000000004EB1
+ CD 0x0000000000002FD0
+ Aux1 0x0000000000000FF0
+ Aux2 0x0000000000002ED1
+ Aux3 0x0000000000000EF1
+ LMB 0x00000000000023DC
+ RMB 0x000000000000639C
+ Up 0x00000000000037C8
+ Down 0x00000000000057A8
+ Left 0x0000000000007788
+ Right 0x00000000000017E8
+ Menu 0x0000000000007B84
+ Mute 0x0000000000003BC4
+ Enter 0x00000000000047B8
+ CHUp 0x00000000000027D8
+ CHDown 0x0000000000006798
+ VolUp 0x0000000000005BA4
+ VolDown 0x0000000000001BE4
+ Display 0x00000000000007F8
+ One 0x0000000000005EA1
+ Two 0x0000000000001EE1
+ Three 0x0000000000000BF4
+ Four 0x0000000000007E81
+ Five 0x0000000000003EC1
+ Six 0x0000000000004BB4
+ Seven 0x0000000000005FA0
+ Eight 0x0000000000001FE0
+ Nine 0x0000000000002BD4
+ Zero 0x0000000000003FC0
+ Star 0x0000000000007F80
+ Hash 0x0000000000006B94
+ end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Packard_bell/lircrc-packard.txt b/linhes/linhes-templates/templates/remotes/other/Packard_bell/lircrc-packard.txt
new file mode 100644
index 0000000..5e54f7a
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Packard_bell/lircrc-packard.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = CHUp
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = CHDown
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button = Left
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button = Right
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = Up
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = Down
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = VolUp
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = VolDown
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button = Enter
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button =
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button =
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button =
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = Mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button =
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button =
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button =
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button =
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = Menu
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button =
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button =
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = Zero
+config = 0
+end
+
+begin
+prog = mythtv
+button = One
+config = 1
+end
+
+begin
+prog = mythtv
+button = Two
+config = 2
+end
+
+begin
+prog = mythtv
+button = Three
+config = 3
+end
+
+begin
+prog = mythtv
+button = Four
+config = 4
+end
+
+begin
+prog = mythtv
+button = Five
+config = 5
+end
+
+begin
+prog = mythtv
+button = Six
+config = 6
+end
+
+begin
+prog = mythtv
+button = Seven
+config = 7
+end
+
+begin
+prog = mythtv
+button = Eight
+config = 8
+end
+
+begin
+prog = mythtv
+button = Nine
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button =
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button =
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = Menu
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button =
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = Mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = Left
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = Right
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button =
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button =
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button =
+config = Play
+end
+
+begin
+prog = xine
+button =
+config = Stop
+end
+
+begin
+prog = xine
+button =
+config = Quit
+end
+
+begin
+prog = xine
+button =
+config = Pause
+end
+
+begin
+prog = xine
+button = Up
+config = EventUp
+end
+
+begin
+prog = xine
+button = Down
+config = EventDown
+end
+
+begin
+prog = xine
+button = Left
+config = EventLeft
+end
+
+begin
+prog = xine
+button = Right
+config = EventRight
+end
+
+begin
+prog = xine
+button =
+config = EventSelect
+end
+
+begin
+prog = xine
+button = Menu
+config = Menu
+end
+
+begin
+prog = xine
+button =
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button =
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = VolUp
+config = Volume+
+end
+
+begin
+prog = xine
+button = VolDown
+config = Volume-
+end
+
+begin
+prog = xine
+button = Mute
+config = Mute
+end
+
+begin
+prog = xine
+button =
+config = RootMenu
+end
+
+begin
+prog = xine
+button =
+config = EventNext
+end
+
+begin
+prog = xine
+button =
+config = EventPrior
+end
+
+begin
+prog = xine
+button = Help
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Packard_bell/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Packard_bell/preview.jpg
new file mode 100644
index 0000000..76453bb
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Packard_bell/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Pinnacle/lircd-pinnacle.conf b/linhes/linhes-templates/templates/remotes/other/Pinnacle/lircd-pinnacle.conf
new file mode 100644
index 0000000..ebc04d9
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Pinnacle/lircd-pinnacle.conf
@@ -0,0 +1,97 @@
+#
+# contributed by Bart Alewijnse <scarfboy@yahoo.com>
+#
+# brand: Pinnacle Systems
+# model: PCTV Remote (Perhaps other ones as well)
+# supported devices: there's only one I know of. (serial)
+#
+# Mail me if your remote is only partly supported, or if it has different
+# buttons than listed below.
+#
+
+begin remote
+
+ name PinnacleSysPCTVRemote
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 8
+ pre_data 0xFE
+ gap 180000
+ toggle_bit 0
+
+ begin codes
+ Mute 0xB53C #Mute 0x000000000000003C
+ Power 0x2D2F #Power 0x000000000000002F
+ Chan+Play 0x173F #Chan+Play 0x000000000000003F
+ Chan-Stop 0xC63E #Chan-Stop 0x000000000000003E
+ Vol+FF 0xF13B #Vol+FF 0x000000000000003B
+ Vol-Rew 0x643D #Vol-Rew 0x000000000000003D
+ 1 0x9F31 #1 0x0000000000000031
+ 2 0x3D32 #2 0x0000000000000032
+ 3 0xEC33 #3 0x0000000000000033
+ 4 0xA834 #4 0x0000000000000034
+ 5 0x7935 #5 0x0000000000000035
+ 6 0xDB36 #6 0x0000000000000036
+ 7 0x0A37 #7 0x0000000000000037
+ 8 0x5338 #8 0x0000000000000038
+ 9 0x8239 #9 0x0000000000000039
+ Fullscreen 0x5E2D #Fullscreen 0x000000000000002D
+ 0/AV 0x203A #0/AV 0x000000000000003A
+ Info 0xCB2B #Info 0x000000000000002B
+ Preview 0xFC2E #Preview 0x000000000000002E
+ Record 0x3027 #Record 0x0000000000000027
+ Chan_Last 0x4325 #Chan_Last 0x0000000000000025
+ F_TV 0xE126 #F_TV 0x0000000000000026
+ F_TELETEXT 0xB829 #F_TELETEXT 0x0000000000000029
+ F_RADIO 0x1A2A #F_RADIO 0x000000000000002A
+
+#
+# here are some extra buttons a new version of the remote seems to have
+#
+# contributed by Robbert Monna <rjmonna@kabelfoon.nl>
+#
+# brand: Pinnacle Systems
+# model: PCTV Remote (newest version?)
+# supported devices: dongle on serial port (from TV-Card)
+#
+ L 0x631F #L 0x000000000000001F
+ Zoom 0xB21E #Zoom 0x000000000000001E
+ vol+ 0x851B #vol+ 0x000000000000001B
+ vol- 0x590F #vol- 0x000000000000000F
+ channel+ 0x7E17 #channel+ 0x0000000000000017
+ channel- 0xC11C #channel- 0x000000000000001C
+ middle 0x541A #middle 0x000000000000001A
+ Menu 0x101D #Menu 0x000000000000001D
+ next 0xF619 #next 0x0000000000000019
+ undo 0xAF16 #undo 0x0000000000000016
+ pause 0x0D15 #pause 0x0000000000000015
+ redo 0x9813 #redo 0x0000000000000013
+ Rewind 0x880E #Rewind 0x000000000000000E
+ Play 0x2A0D #Play 0x000000000000000D
+ Stop 0xBF0B #Stop 0x000000000000000B
+ FForward 0x4407 #FForward 0x0000000000000007
+ EPG 0x2718 #EPG 0x0000000000000018
+
+# here are some more buttons that seem to be mapped differently from
+# the ones above
+
+# contributed by InterCeptor ceptor_7@freemail.hu
+#
+# brand: Pinnacle Systems PCTV Pro Remote
+# model no. of remote control: (I can't find any numbers on it)
+# supported devices: serial
+#
+
+ 9 0x0000000000000082
+ Zoom 0x00000000000000B2
+ middle 0x0000000000000014
+
+
+ end codes
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/other/Pinnacle/lircrc-pinnacle.txt b/linhes/linhes-templates/templates/remotes/other/Pinnacle/lircrc-pinnacle.txt
new file mode 100644
index 0000000..d3b9261
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Pinnacle/lircrc-pinnacle.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = channel+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = channel-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button =
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button =
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = channel+
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = channel-
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = vol+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = vol-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button =
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = Play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = Stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = undo
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = Power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = Mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = FForward
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = Rewind
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = Vol+FF
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = Vol-Rew
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = Record
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = Menu
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = EPG
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = Info
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button =
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = Chan_Last
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button = F_TELETEXT
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button = Fullscreen
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = Menu
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = pause
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = Mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = Rewind
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = FForward
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = Stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = Vol+FF
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = Vol-Rew
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = Fullscreen
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = Play
+config = Play
+end
+
+begin
+prog = xine
+button = Stop
+config = Stop
+end
+
+begin
+prog = xine
+button = Stop
+config = Quit
+end
+
+begin
+prog = xine
+button = pause
+config = Pause
+end
+
+begin
+prog = xine
+button = channel+
+config = EventUp
+end
+
+begin
+prog = xine
+button = channel-
+config = EventDown
+end
+
+begin
+prog = xine
+button =
+config = EventLeft
+end
+
+begin
+prog = xine
+button =
+config = EventRight
+end
+
+begin
+prog = xine
+button =
+config = EventSelect
+end
+
+begin
+prog = xine
+button = Menu
+config = Menu
+end
+
+begin
+prog = xine
+button = FForward
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = Rewind
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = vol+
+config = Volume+
+end
+
+begin
+prog = xine
+button = vol-
+config = Volume-
+end
+
+begin
+prog = xine
+button = Mute
+config = Mute
+end
+
+begin
+prog = xine
+button = Stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button = next
+config = EventNext
+end
+
+begin
+prog = xine
+button = undo
+config = EventPrior
+end
+
+begin
+prog = xine
+button = Info
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Pinnacle/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Pinnacle/preview.jpg
new file mode 100644
index 0000000..bd8e19e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Pinnacle/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/lircd-rs.conf b/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/lircd-rs.conf
new file mode 100644
index 0000000..f8175f3
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/lircd-rs.conf
@@ -0,0 +1,87 @@
+# this config file was generated
+# using lirc-0.7.0pre2(hauppauge) on Thu Jan 1 00:35:50 2004
+#
+# contributed by Jarod Wilson <jcw@wilsonet.com>
+#------------------------------------------------------------------------------
+#
+# filename: RadioShack_15-2116-vcr0081.lirc
+# encoding: RC-5
+# brand: RadioShack Universal (and others)
+# model: 15-2116, set as VCR type 0081
+# supported devices: all
+#
+# note: requires quite a bit of key reassignment w/keymover and EFCs...
+# see http://wilsonet.com/mythtv/rs15-2116.html for HOWTO
+#
+#------------------------------------------------------------------------------
+
+begin remote
+
+ name rs15-2116-vcr0081
+ bits 11
+ flags RC5|CONST_LENGTH
+ eps 20
+ aeps 0
+ header 0 0
+ one 889 889
+ zero 889 889
+ plead 889
+ ptrail 0
+ foot 0 0
+ repeat 0 0
+ pre_data_bits 2
+ pre_data 0x02
+ post_data_bits 0
+ post_data 0x0
+ pre 0 0
+ post 0 0
+ gap 113792
+ toggle_bit 2
+ frequency 36000
+ duty_cycle 50
+
+ begin codes
+ 0 0x0000000000000140
+ 1 0x0000000000000141
+ 2 0x0000000000000142
+ 3 0x0000000000000143
+ 4 0x0000000000000144
+ 5 0x0000000000000145
+ 6 0x0000000000000146
+ 7 0x0000000000000147
+ 8 0x0000000000000148
+ 9 0x0000000000000149
+ INFO 0x000000000000014a
+ SELECT 0x000000000000014b
+ POWER 0x000000000000014c
+ MUTE 0x000000000000014d
+ MOVE 0x000000000000014e
+ VOL+ 0x0000000000000150
+ VOL- 0x0000000000000151
+ RIGHT 0x000000000000015a
+ LEFT 0x000000000000015b
+ ENTER 0x000000000000015c
+ MENU 0x000000000000015d
+ CH+ 0x0000000000000160
+ CH- 0x0000000000000161
+ PIP 0x0000000000000162
+ SWAP 0x0000000000000163
+ SLEEP 0x0000000000000166
+ FREEZE 0x0000000000000168
+ PAUSE 0x0000000000000169
+ SKIP 0x000000000000016a
+ EXIT 0x0000000000000171
+ REW 0x0000000000000172
+ REPLAY 0x0000000000000173
+ FFWD 0x0000000000000174
+ PLAY 0x0000000000000175
+ STOP 0x0000000000000176
+ REC 0x0000000000000177
+ SKIP 0x0000000000000178
+ +100 0x0000000000000179
+ LAST 0x000000000000017b
+ GUIDE 0x000000000000017c
+ TV/VIDEO 0x000000000000017e
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/lircrc-rs b/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/lircrc-rs
new file mode 100644
index 0000000..91c0de5
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/lircrc-rs
@@ -0,0 +1,539 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the RadioShack 15-2116, VCR type 0081
+# using Hauppauge IR receiver
+#
+# By Jarod Wilson, 2003/12/31
+# Amalgamated from Harry O's
+# .lircrc, the mythtv.org docs, and
+# a few touches of my own. :)
+#
+
+# Channel Up
+begin
+prog = mythtv
+button = CH+
+repeat = 4
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = CH-
+repeat = 4
+config = Down
+end
+
+# OK/Select
+begin
+prog = mythtv
+button = SELECT
+repeat = 4
+config = Return
+end
+
+# Play
+begin
+prog = mythtv
+button = PLAY
+repeat = 4
+config = Space
+end
+
+# Stop
+begin
+prog = mythtv
+button = STOP
+repeat = 4
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = EXIT
+repeat = 4
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = mythtv
+button = POWER
+repeat = 4
+config = Esc
+end
+
+# Pause
+begin
+prog = mythtv
+button = PAUSE
+repeat = 4
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = MUTE
+repeat = 4
+config = |
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = REW
+repeat = 4
+config = Left
+end
+
+begin
+prog = mythtv
+button = LEFT
+repeat = 4
+config = Left
+end
+
+# Fast forward (30 sec default)
+begin
+prog = mythtv
+button = FFWD
+repeat = 4
+config = Right
+end
+
+begin
+prog = mythtv
+button = RIGHT
+repeat = 4
+config = Right
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = FREEZE
+repeat = 4
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = MOVE
+repeat = 4
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = REC
+repeat = 4
+config = R
+end
+
+# OSD browse
+begin
+prog = mythtv
+button = GUIDE
+repeat = 4
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = MENU
+repeat = 4
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = INFO
+repeat = 4
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = +100
+repeat = 4
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button = SLEEP
+repeat = 4
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button = ENTER
+repeat = 4
+config = Z
+end
+
+# Change TV card input
+begin
+prog = mythtv
+button = TV/VIDEO
+repeat = 4
+config = C
+end
+
+# Toggle Picture-In-Picture
+begin
+prog = mythtv
+button = PIP
+repeat = 4
+config = V
+end
+
+# Swap PIP
+begin
+prog = mythtv
+button = SWAP
+repeat = 4
+config = N
+end
+
+# Cycle through channel history
+begin
+prog = mythtv
+button = LAST
+repeat = 4
+config = H
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+repeat = 4
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+repeat = 4
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+repeat = 4
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+repeat = 4
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+repeat = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+repeat = 4
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+repeat = 4
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+repeat = 4
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+repeat = 4
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+repeat = 4
+config = 9
+end
+
+### MPlayer commands
+
+begin
+prog = mplayer
+button = MENU
+repeat = 4
+config = osd
+end
+
+begin
+prog = mplayer
+button = PAUSE
+repeat = 4
+config = pause
+end
+
+begin
+prog = mplayer
+button = PLAY
+repeat = 4
+config = seek +1
+end
+
+begin
+prog = mplayer
+button = STOP
+repeat = 4
+config = quit
+end
+
+begin
+prog = mplayer
+button = MUTE
+repeat = 4
+config = mute
+end
+
+begin
+prog = mplayer
+button = REW
+repeat = 4
+config = seek -10
+end
+
+begin
+prog = mplayer
+button = LEFT
+repeat = 4
+config = seek -10
+end
+
+begin
+prog = mplayer
+button = FFWD
+repeat = 4
+config = seek +30
+end
+
+begin
+prog = mplayer
+button = RIGHT
+repeat = 4
+config = seek +30
+end
+
+begin
+prog = mplayer
+button = EXIT
+repeat = 4
+config = quit
+end
+
+begin
+prog = mplayer
+button = FREEZE
+repeat = 4
+config = seek +1200
+end
+
+begin
+prog = mplayer
+button = MOVE
+repeat = 4
+config = seek -1200
+end
+
+begin
+prog = mplayer
+button = +100
+repeat = 4
+config = vo_fullscreen
+end
+
+### Xine commands
+
+begin
+prog = xine
+button = PLAY
+repeat = 3
+config = Play
+end
+
+begin
+prog = xine
+button = STOP
+repeat = 3
+config = Stop
+end
+
+begin
+prog = xine
+button = POWER
+repeat = 3
+config = Quit
+end
+
+begin
+prog = xine
+button = EXIT
+repeat = 3
+config = Quit
+end
+
+begin
+prog = xine
+button = PAUSE
+repeat = 3
+config = Pause
+end
+
+begin
+prog = xine
+button = CH+
+repeat = 3
+config = EventUp
+end
+
+begin
+prog = xine
+button = CH-
+repeat = 3
+config = EventDown
+end
+
+begin
+prog = xine
+button = LEFT
+repeat = 3
+config = EventLeft
+end
+
+begin
+prog = xine
+button = RIGHT
+repeat = 3
+config = EventRight
+end
+
+begin
+prog = xine
+button = SELECT
+repeat = 3
+config = EventSelect
+end
+
+begin
+prog = xine
+button = GUIDE
+repeat = 3
+config = Menu
+end
+
+begin
+prog = xine
+button = FFWD
+repeat = 3
+config = SeekRelative+30
+end
+
+begin
+prog = xine
+button = REW
+repeat = 3
+config = SeekRelative-30
+end
+
+begin
+prog = xine
+button = VOL+
+repeat = 3
+config = Volume+
+end
+
+begin
+prog = xine
+button = VOL-
+repeat = 3
+config = Volume-
+end
+
+begin
+prog = xine
+button = MUTE
+repeat = 3
+config = Mute
+end
+
+begin
+prog = xine
+button = MENU
+repeat = 3
+config = RootMenu
+end
+
+begin
+prog = xine
+button = FREEZE
+repeat = 3
+config = EventNext
+end
+
+begin
+prog = xine
+button = LAST
+repeat = 3
+config = EventPrior
+end
+
+begin
+prog = xine
+button = INFO
+repeat = 3
+config = OSDStreamInfos
+end
+
+begin
+prog = xine
+button = ENTER
+repeat = 3
+config = SpeedFaster
+end
+
+begin
+prog = xine
+button = SLEEP
+repeat = 3
+config = SpeedSlower
+end
diff --git a/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/preview.jpg b/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/preview.jpg
new file mode 100644
index 0000000..d465839
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/RadioShack_15-2116-Jarod_Wilson/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Technisat/lircd-technisat.conf b/linhes/linhes-templates/templates/remotes/other/Technisat/lircd-technisat.conf
new file mode 100644
index 0000000..3f0f3d4
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Technisat/lircd-technisat.conf
@@ -0,0 +1,68 @@
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.6.6(any) on Sun Mar 27 11:39:40 2005
+#
+# contributed by
+#
+# brand:
+# model no. of remote control: TS35 - Airstar2
+# devices being controlled by this remote: DVB-T
+#
+
+begin remote
+
+ name technisat
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 907 885
+ zero 907 885
+ plead 954
+ gap 113935
+ toggle_bit 2
+
+
+ begin codes
+ 1 0x0000000000001A81
+ 2 0x0000000000001A82
+ 3 0x0000000000001283
+ 4 0x0000000000001284
+ 5 0x0000000000001A85
+ 6 0x0000000000001286
+ 7 0x0000000000001A87
+ 8 0x0000000000001288
+ 9 0x0000000000001A89
+ 0 0x0000000000001A80
+ Mute 0x000000000000128D
+ Ext 0x0000000000001AB8
+ a/b 0x00000000000012A3
+ Power 0x0000000000001A8C
+ tv/radio 0x0000000000000293
+ -/-- 0x0000000000001A8A
+ Menu 0x0000000000000292
+ Back 0x0000000000000A8F
+ Up 0x0000000000001AA0
+ Down 0x00000000000012A1
+ Left 0x0000000000001A91
+ Right 0x0000000000001A90
+ Sfi 0x0000000000001AAF
+ Repeat 0x0000000000001AA2
+ Red 0x00000000000002AB
+ Green 0x0000000000000AAC
+ Yellow 0x0000000000000AAD
+ Blue 0x0000000000000AAE
+ Ok 0x0000000000000297
+ Check 0x00000000000002B6
+ txt 0x0000000000001ABC
+ stop 0x00000000000012A9
+ help 0x0000000000001A8F
+ tv/radio 0x0000000000000A93
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/other/Technisat/lircrc-technisat.txt b/linhes/linhes-templates/templates/remotes/other/Technisat/lircrc-technisat.txt
new file mode 100644
index 0000000..8baa6b9
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Technisat/lircrc-technisat.txt
@@ -0,0 +1,347 @@
+begin
+ prog = mythtv
+ button = Up
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = Down
+ config = Down
+end
+
+begin
+ prog = mythtv
+ button = Left
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = Right
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = 1
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ config = 9
+end
+
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = Menu
+ config = M
+end
+
+begin
+ prog = mythtv
+ button = Repeat
+ config = H
+end
+
+begin
+ prog = mythtv
+ button = Check
+ config = /
+end
+
+begin
+ prog = mythtv
+ button = help
+ config = T
+end
+
+
+begin
+ prog = mythtv
+# This is the Red key
+# We'll use it for "Delete"
+ button = Red
+ config = D
+end
+
+begin
+ prog = mythtv
+# This is the Green key
+# We'll use it for "Information"
+ button = Green
+ config = I
+end
+
+begin
+ prog = mythtv
+# This is the Green key
+# We'll use it for "View details"
+ button = Yellow
+ config = U
+end
+
+begin
+ prog = mythtv
+# This is the Green key
+# We'll use it for "Upcoming episodes"
+ button = Blue
+ config = O
+end
+
+
+# Note the "repeat =" strings in the volume and channel.
+# This means that if you hold down the key, every nth instance will be
+# passed. This depends on your system, so you may want to increase or
+# decrease this and see what happens. repeat = 1 is probably too
+# fast.
+
+begin
+ prog = mythtv
+ button = Left
+ repeat = 3
+ config = F10
+end
+
+begin
+ prog = mythtv
+ button = Right
+ repeat = 3
+ config = F11
+end
+
+begin
+ prog = mythtv
+# Middle button on the diamond
+ button = Ok
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = Mute
+ config = |
+end
+
+begin
+ prog = mythtv
+ button = back
+ config = Esc
+end
+
+
+begin
+ prog = mythtv
+ button = stop
+ config = Esc
+end
+
+
+#MPlayer
+begin
+ prog = mplayer
+ button = stop
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = help
+ config = osd
+end
+
+begin
+ prog = mplayer
+ button = Ok
+ config = play
+end
+
+
+
+begin
+ prog = mplayer
+ button = Ok
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Right
+ config = volume +1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Left
+ config = volume -1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Mute
+ config = mute
+end
+##XINE
+
+ begin
+ prog = xine
+ button = Ok
+ repeat = 3
+ config = Play
+ end
+
+ begin
+ prog = xine
+ button = stop
+ repeat = 3
+ config = Stop
+ end
+
+ begin
+ prog = xine
+ button = Back
+ config = Quit
+ end
+
+ begin
+ prog = xine
+ button = Ok
+ repeat = 3
+ config = Pause
+ end
+
+ begin
+ prog = xine
+ button = Up
+ repeat = 4
+ config = EventUp
+ end
+
+ begin
+ prog = xine
+ button = Down
+ repeat = 4
+ config = EventDown
+ end
+
+ begin
+ prog = xine
+ button = Left
+ repeat = 4
+ config = Volume-
+ end
+
+ begin
+ prog = xine
+ button = Right
+ repeat = 4
+ config = Volume+
+ end
+
+ begin
+ prog = xine
+ button = Ok
+ repeat = 0
+ config = EventSelect
+ end
+
+ begin
+ prog = xine
+ button = Menu
+ repeat = 0
+ config = Menu
+ end
+
+ #vol down
+ begin
+ prog = xine
+ button = Yellow
+ repeat = 1
+ config = EventLeft
+ end
+
+ #vol up
+ begin
+ prog = xine
+ button = Red
+ repeat = 1
+ config = EventRight
+ end
+
+
+ #ch up
+ begin
+ prog = xine
+ button = Green
+ repeat = 1
+ config = SeekRelative+60
+ end
+
+ #ch down
+ begin
+ prog = xine
+ button = Blue
+ repeat = 1
+ config = SeekRelative-60
+ end
+
+
+ #skip chapter backward
+ begin
+ prog = xine
+ button = Repeat
+ repeat = 1
+ config = EventPrior
+ end
diff --git a/linhes/linhes-templates/templates/remotes/other/Technisat/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Technisat/preview.jpg
new file mode 100644
index 0000000..25ecd0d
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Technisat/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/Technisat TTS35 Keys.png b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/Technisat TTS35 Keys.png
new file mode 100644
index 0000000..cc01370
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/Technisat TTS35 Keys.png
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/lircd-technisat.conf b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/lircd-technisat.conf
new file mode 100644
index 0000000..d92f182
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/lircd-technisat.conf
@@ -0,0 +1,59 @@
+# brand: Technisat
+# model no. of remote control: TTS35AI
+# devices being controlled by this remote: Skystar2 / Airstar2
+#
+# Note: The codes for PROG+, PROG-, VOL+ and VOL- are double assigned
+# These codes also appear by pressing UP, DOWN, LEFT or RIGHT
+
+begin remote
+
+ name TTS35AI
+ bits 32
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ gap 107965
+ toggle_bit 0
+
+
+ begin codes
+ MUTE 0x80010032
+ 1 0x80010002
+ 2 0x80010003
+ 3 0x80010004
+ 4 0x80010005
+ 5 0x80010006
+ 6 0x80010007
+ 7 0x80010008
+ 8 0x80010009
+ 9 0x8001000A
+ 0 0x8001000B
+ -/-- 0x80010013
+ A/B 0x8001001F
+ RED 0x8001003F
+ GREEN 0x80010040
+ YELLOW 0x80010041
+ BLUE 0x80010042
+ UP 0x80010067
+ RIGHT 0x8001006A
+ DOWN 0x8001006C
+ LEFT 0x80010069
+ OK 0x8001001C
+ SFI 0x80010012
+ EXIT 0x80010021
+ INFO 0x80010017
+# PROG+ 0x80010067
+# PROG- 0x8001006C
+ TV/RADIO 0x80010043
+ MENU 0x8001003C
+# VOL+ 0x8001006A
+# VOL- 0x80010069
+ HELP 0x80010017
+ TXT 0x80010014
+ STOP 0x80010019
+ EXT 0x8001002F
+ end codes
+end remote
+ \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/lircrc-technisat.txt b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/lircrc-technisat.txt
new file mode 100644
index 0000000..48ee086
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/lircrc-technisat.txt
@@ -0,0 +1,548 @@
+# ~/.mythtv/lircrc
+#
+# LIRC config file for Technisat TTS35AI USB Remote
+#
+#
+
+# Mythtv configuration
+
+# Up Arrow
+begin
+ prog = mythtv
+ button = UP
+ repeat = 0
+ config = Up
+end
+
+# Down Arrow
+begin
+ prog = mythtv
+ button = DOWN
+ repeat = 0
+ config = Down
+end
+
+# Left Arrow
+begin
+ prog = mythtv
+ button = LEFT
+ repeat = 0
+ config = Left
+end
+
+# Right Arrow
+begin
+ prog = mythtv
+ button = RIGHT
+ repeat = 0
+ config = Right
+end
+
+# Mute
+begin
+ prog = mythtv
+ button = MUTE
+ repeat = 0
+ config = F9
+end
+
+# 1
+begin
+ prog = mythtv
+ button = 1
+ repeat = 0
+ config = 1
+end
+
+# 2
+begin
+ prog = mythtv
+ button = 2
+ repeat = 0
+ config = 2
+end
+
+# 3
+begin
+ prog = mythtv
+ button = 3
+ repeat = 0
+ config = 3
+end
+
+# 4
+begin
+ prog = mythtv
+ button = 4
+ repeat = 0
+ config = 4
+end
+
+# 5
+begin
+ prog = mythtv
+ button = 5
+ repeat = 0
+ config = 5
+end
+
+# 6
+begin
+ prog = mythtv
+ button = 6
+ repeat = 0
+ config = 6
+end
+
+# 7
+begin
+ prog = mythtv
+ button = 7
+ repeat = 0
+ config = 7
+end
+
+# 8
+begin
+ prog = mythtv
+ button = 8
+ repeat = 0
+ config = 8
+end
+
+# 9
+begin
+ prog = mythtv
+ button = 9
+ repeat = 0
+ config = 9
+end
+
+# 0
+begin
+ prog = mythtv
+ button = 0
+ repeat = 0
+ config = 0
+end
+
+# -/-- jump backward
+begin
+ prog = mythtv
+ button = -/--
+ repeat = 0
+ config = <
+end
+
+# A/B jump forward
+begin
+ prog = mythtv
+ button = A/B
+ repeat = 0
+ config = >
+end
+
+# Red button - Escape
+begin
+ prog = mythtv
+ button = RED
+ repeat = 1
+ config = Esc
+end
+
+# Green button - Browse
+begin
+ prog = mythtv
+ button = GREEN
+ repeat = 0
+ config = O
+end
+
+# Green button - Jump to Previous Commercial Marker
+begin
+ prog = mythtv
+ button = GREEN
+ repeat = 0
+ config = Q
+end
+
+# Blue button - jump to Next Commercial marker / Load Comercial Marking List
+begin
+ prog = mythtv
+ button = BLUE
+ repeat = 0
+ config = Z
+end
+
+# OK
+begin
+ prog = mythtv
+ button = OK
+ repeat = 0
+ config = Space
+end
+
+# SFI - Switch to channel in EPG
+begin
+ prog = mythtv
+ button = SFI
+ repeat = 0
+ config = X
+end
+
+# Exit - Pause/Play
+begin
+ prog = mythtv
+ button = EXIT
+ repeat = 0
+ config = p
+end
+
+# INFO - Info on program/show/...
+begin
+ prog = mythtv
+ button = INFO
+ repeat = 0
+ config = I
+end
+
+# TV/RADIO - Recording on/off
+begin
+ prog = mythtv
+ button = TV/RADIO
+ repeat = 0
+ config = R
+end
+
+# MENU - Menu/EPG
+begin
+ prog = mythtv
+ button = MENU
+ repeat = 0
+ config = M
+end
+
+# TXT - PageUp, Jump forward
+begin
+ prog = mythtv
+ button = TXT
+ repeat = 0
+ config = PgUp
+end
+
+# STOP - PageDown, Jump backward
+begin
+ prog = mythtv
+ button = STOP
+ repeat = 0
+ config = PgDown
+end
+
+# EXT - Delete
+begin
+ prog = mythtv
+ button = EXT
+ repeat = 0
+ config = D
+end
+
+###############################################
+#
+# Mythwelcome
+
+# Up Arrow
+begin
+ prog = mythwelcome
+ button = UP
+ repeat = 0
+ config = Up
+end
+
+# Down Arrow
+begin
+ prog = mythwelcome
+ button = DOWN
+ repeat = 0
+ config = Down
+end
+
+# Left Arrow
+begin
+ prog = mythwelcome
+ button = LEFT
+ repeat = 0
+ config = Left
+end
+
+# Right Arrow
+begin
+ prog = mythwelcome
+ button = RIGHT
+ repeat = 0
+ config = Right
+end
+
+# MENU - Menu
+begin
+ prog = mythwelcome
+ button = MENU
+ repeat = 0
+ config = M
+end
+
+# INFO - Info on settings
+begin
+ prog = mythwelcome
+ button = INFO
+ repeat = 0
+ config = I
+end
+
+
+#####################################################
+#
+# mplayer
+#
+
+# Up Arrow - Next Chapter
+begin
+ prog = mplayer
+ button = UP
+ repeat = 0
+ config = seek_chapter +1
+end
+
+# Down Arrow
+begin
+ prog = mplayer
+ button = DOWN
+ repeat = 0
+ config = seek_chapter -1
+end
+
+# Left Arrow
+begin
+ prog = mplayer
+ button = LEFT
+ repeat = 0
+ config = seek -10
+end
+
+# Right Arrow
+begin
+ prog = mplayer
+ button = RIGHT
+ repeat = 0
+ config = seek +10
+end
+
+# Mute
+begin
+ prog = mplayer
+ button = MUTE
+ repeat = 0
+ config = mute
+end
+
+# 1 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 1
+ repeat = 0
+ config = 1
+end
+
+# 2 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 2
+ repeat = 0
+ config = 2
+end
+
+# 3 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 3
+ repeat = 0
+ config = 3
+end
+
+# 4 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 4
+ repeat = 0
+ config = 4
+end
+
+# 5 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 5
+ repeat = 0
+ config = 5
+end
+
+# 6 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 6
+ repeat = 0
+ config = 6
+end
+
+# 7 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 7
+ repeat = 0
+ config = 7
+end
+
+# 8 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 8
+ repeat = 0
+ config = 8
+end
+
+# 9 UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = 9
+ repeat = 0
+ config = 9
+end
+
+# 0
+begin
+ prog = mplayer
+ button = 0
+ repeat = 0
+ config = 0
+end
+
+# -/-- jump backward
+begin
+ prog = mplayer
+ button = -/--
+ repeat = 0
+ config = seek -100
+end
+
+# A/B jump forward
+begin
+ prog = mplayer
+ button = A/B
+ repeat = 0
+ config = seek +100
+end
+
+# Red button - Escape/quit
+begin
+ prog = mplayer
+ button = RED
+ repeat = 1
+ config = quit
+end
+
+# Green button - Browse UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = GREEN
+ repeat = 0
+ config =
+end
+
+# Green button - Jump to Previous Commercial Marker UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = GREEN
+ repeat = 0
+ config = Q
+end
+
+# Blue button - jump to Next Commercial marker / Load Comercial Marking List UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = BLUE
+ repeat = 0
+ config = Z
+end
+
+# OK UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = OK
+ repeat = 0
+ config = Enter
+end
+
+# SFI - Switch to channel in EPG UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = SFI
+ repeat = 0
+ config = X
+end
+
+# Exit - Pause/Play
+begin
+ prog = mplayer
+ button = EXIT
+ repeat = 0
+ config = pause
+end
+
+# INFO - Info on program/show/...
+begin
+ prog = mplayer
+ button = INFO
+ repeat = 0
+ config = get_time_pos
+ config = get_time_length
+ config = get_meta_title
+ config = get_meta_artist
+end
+
+# TV/RADIO - Recording on/off UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = TV/RADIO
+ repeat = 0
+ config = R
+end
+
+# MENU - Menu/EPG
+begin
+ prog = mplayer
+ button = MENU
+ repeat = 0
+ config = menu
+end
+
+# TXT - PageUp, Jump forward
+begin
+ prog = mplayer
+ button = TXT
+ repeat = 0
+ config = seek +300
+end
+
+# STOP - PageDown, Jump backward
+begin
+ prog = mplayer
+ button = STOP
+ repeat = 0
+ config = seek -300
+end
+
+# EXT - Delete UNIMPLEMENTED
+begin
+ prog = mplayer
+ button = EXT
+ repeat = 0
+ config = D
+end
diff --git a/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/preview.jpg
new file mode 100644
index 0000000..413bd09
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/remote.run b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/remote.run
new file mode 100644
index 0000000..4e2f47a
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Technisat_TTS35/remote.run
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# lirc start for Technisat TT35 remote
+
+LIRC_DRIVER="dev/input"
+LIRC_DEVICE="name=USB IR Receiver USB IR Receiver"
+/usr/sbin/lircd -r -n -d "$LIRC_DEVICE" --driver=$LIRC_DRIVER --output=/dev/lircd /etc/lircd.conf
+
diff --git a/linhes/linhes-templates/templates/remotes/other/Twinhan/lircd-twinhan.conf b/linhes/linhes-templates/templates/remotes/other/Twinhan/lircd-twinhan.conf
new file mode 100644
index 0000000..3fb3652
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Twinhan/lircd-twinhan.conf
@@ -0,0 +1,44 @@
+begin remote
+ name TwinHanRemote
+ bits 32
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 115899
+ toggle_bit 0
+ begin codes
+ fullscreen 0x8001002C
+ Power 0x8001001D
+ 1 0x80010002
+ 2 0x80010003
+ 3 0x80010004
+ 4 0x80010005
+ 5 0x80010006
+ 6 0x80010007
+ 7 0x80010008
+ 8 0x80010009
+ 9 0x8001000A
+ 0 0x8001000B
+ rec 0x80010066
+ favorite 0x8001002F
+ rewind 0x80010017
+ forward 0x80010031
+ ch+ 0x80010068
+ ch- 0x8001006D
+ vol- 0x8001006C
+ vol+ 0x80010067
+ recall 0x8001002E
+ play 0x8001001C
+ stop 0x8001006B
+ pause 0x80010014
+ mute 0x80010032
+ cancel 0x80010001
+ capture 0x80010019
+ preview 0x80010025
+ epg 0x80010012
+ recordlist 0x80010026
+ tab 0x8001000F
+ teletext 0x8001001E
+ end codes
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Twinhan/lircrc-twinhan.txt b/linhes/linhes-templates/templates/remotes/other/Twinhan/lircrc-twinhan.txt
new file mode 100644
index 0000000..296876c
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Twinhan/lircrc-twinhan.txt
@@ -0,0 +1,474 @@
+# Channel Up
+begin
+prog = mythtv
+button = ch+
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = ch-
+config = Down
+end
+
+# General Left
+begin
+prog = mythtv
+button =
+config = Left
+end
+
+# General Right
+begin
+prog = mythtv
+button =
+config = Right
+end
+
+ # LiveTV browse up channel
+begin
+prog = mythtv
+button = ch+
+config = Up
+end
+
+# LiveTV browse down channel
+begin
+prog = mythtv
+button = ch-
+config = Down
+end
+
+# Volume Up
+begin
+prog = mythtv
+button = vol+
+config = F11
+end
+
+# Volume Down
+begin
+prog = mythtv
+button = vol-
+config = F10
+end
+
+ # OK/Select
+begin
+prog = mythtv
+button =
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = stop
+config = Esc
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button =
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = irexec
+button = Power
+config = /usr/bin/mythpowerbutton.sh
+end
+
+# Pause
+begin
+prog = mythtv
+button = pause
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = mute
+config = |
+end
+
+# Fast forward (10 sec default)
+begin
+prog = mythtv
+button = forward
+config = Right
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = rewind
+config = Left
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgDown
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button =
+config = PgUp
+end
+
+# Record
+begin
+prog = mythtv
+button = rec
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button =
+config = D
+end
+
+# OSD browse
+begin
+prog = mythtv
+button =
+config = O
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = epg
+config = M
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button =
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = preview
+config = W
+end
+
+# Seek to previous commercial cut point
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+# Seek to next commercial cut point
+begin
+prog = mythtv
+button =
+config = Z
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+config = 9
+end
+
+# Previous channel
+begin
+prog = mythtv
+button = recall
+config = H
+end
+
+# Closed Captioning
+begin
+prog = mythtv
+button = teletext
+config = T
+end
+
+# Picture in Picture
+begin
+prog = mythtv
+button =
+config = V
+end
+
+# Change channels on both cards
+begin
+prog = mythtv
+button =
+config = N
+end
+
+# Clear cutpoints in cutlist
+begin
+prog = mythtv
+button =
+config = Q
+end
+
+
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = epg
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = pause
+config = pause
+end
+
+# Mute
+begin
+prog = mplayer
+button = mute
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = rewind
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = forward
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = stop
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button =
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = fullscreen
+config = vo_fullscreen
+end
+
+
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = play
+config = Play
+end
+
+begin
+prog = xine
+button = stop
+config = Stop
+end
+
+begin
+prog = xine
+button = stop
+config = Quit
+end
+
+begin
+prog = xine
+button = pause
+config = Pause
+end
+
+begin
+prog = xine
+button = ch+
+config = EventUp
+end
+
+begin
+prog = xine
+button = ch-
+config = EventDown
+end
+
+begin
+prog = xine
+button =
+config = EventLeft
+end
+
+begin
+prog = xine
+button =
+config = EventRight
+end
+
+begin
+prog = xine
+button =
+config = EventSelect
+end
+
+begin
+prog = xine
+button = epg
+config = Menu
+end
+
+begin
+prog = xine
+button = forward
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = rewind
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = vol+
+config = Volume+
+end
+
+begin
+prog = xine
+button = vol-
+config = Volume-
+end
+
+begin
+prog = xine
+button = mute
+config = Mute
+end
+
+begin
+prog = xine
+button = stop
+config = RootMenu
+end
+
+begin
+prog = xine
+button =
+config = EventNext
+end
+
+begin
+prog = xine
+button =
+config = EventPrior
+end
+
+begin
+prog = xine
+button = teletext
+config = OSDStreamInfos
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/Twinhan/preview.jpg b/linhes/linhes-templates/templates/remotes/other/Twinhan/preview.jpg
new file mode 100644
index 0000000..65345c8
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/Twinhan/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/X10_Lola/lircd-x10lola.conf b/linhes/linhes-templates/templates/remotes/other/X10_Lola/lircd-x10lola.conf
new file mode 100644
index 0000000..7bfad44
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/X10_Lola/lircd-x10lola.conf
@@ -0,0 +1,78 @@
+# lircd.conf for X-10 Lola remote
+#
+# this config file was automatically generated
+# using lirc-0.6.6(any) on Sat May 15 14:41:38 2004
+# matching MythTV configuration file at http://wendy.seltzer.org/mythtv/lircrc
+#
+#
+# brand: X-10 Lola
+# model no. of remote control: UR89A
+# devices being controlled by this remote: mythtv
+#
+
+begin remote
+
+ name x10_lola
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+
+ pre_data_bits 8
+ pre_data 0x14
+ post_data_bits 16
+ post_data 0x0
+ gap 219972
+ toggle_bit 0
+
+
+ begin codes
+ up 0x000000000000600B
+ down 0x000000000000610C
+ left 0x0000000000005D08
+ right 0x0000000000005E09
+ M 0x0000000000005F0A
+ 1 0x000000000000620D
+ 2 0x000000000000630E
+ 3 0x000000000000640F
+ 4 0x0000000000006510
+ 5 0x0000000000006611
+ 6 0x0000000000006712
+ 7 0x0000000000006813
+ 8 0x0000000000006914
+ 9 0x0000000000006A15
+ 0 0x0000000000006C17
+ a-d 0x0000000000006B16
+ a-b 0x0000000000006D18
+ pageup 0x000000000000711C
+ pagedown 0x0000000000007520
+ T 0x000000000000832E
+ E 0x000000000000842F
+ F 0x0000000000005C07
+ S 0x0000000000008530
+ scan- 0x000000000000802B
+ rew 0x0000000000007924
+ play 0x0000000000007A25
+ ff 0x0000000000007B26
+ scan+ 0x0000000000007F2A
+ rec 0x0000000000007C27
+ stop 0x0000000000007D28
+ pause 0x0000000000007E29
+ playlist 0x0000000000005601
+ playing 0x000000000000822D
+ enter 0x000000000000731E
+ eu 0x0000000000006F1A
+ ed 0x0000000000007722
+ el 0x000000000000721D
+ er 0x000000000000741F
+ alb 0x0000000000006E19
+ art 0x000000000000701B
+ gen 0x0000000000007621
+ trk 0x0000000000007823
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/other/X10_Lola/lircrc-x10lola.txt b/linhes/linhes-templates/templates/remotes/other/X10_Lola/lircrc-x10lola.txt
new file mode 100644
index 0000000..5fc949e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/X10_Lola/lircrc-x10lola.txt
@@ -0,0 +1,334 @@
+# lircrc
+# lircrc configuration file for X-10 Lola remote for use with MythTV
+# for use with keymapping at http://wendy.seltzer.org/mythtv/lircd.conf
+# common keymappings from the keys.txt suggestions
+#
+# This file is public domain. No rights reserved.
+
+###number keys
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+end
+begin
+ prog = mythtv
+ button = 1
+ config = 1
+end
+begin
+ prog = mythtv
+ button = 2
+ config = 2
+end
+begin
+ prog = mythtv
+ button = 3
+ config = 3
+end
+begin
+ prog = mythtv
+ button = 4
+ config = 4
+end
+begin
+ prog = mythtv
+ button = 5
+ config = 5
+end
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+end
+begin
+ prog = mythtv
+ button = 6
+ config = 6
+end
+begin
+ prog = mythtv
+ button = 7
+ config = 7
+end
+begin
+ prog = mythtv
+ button = 8
+ config = 8
+end
+begin
+ prog = mythtv
+ button = 9
+ config = 9
+end
+
+##arrows
+begin
+ prog = mythtv
+ button = play
+ config = Space
+end
+
+### arrows with the multibutton
+begin
+ prog = mythtv
+ button = eu
+ config = Up
+end
+begin
+ prog = mythtv
+ button = ed
+ config = Down
+end
+begin
+ prog = mythtv
+ button = el
+ config = Left
+end
+begin
+ prog = mythtv
+ button = er
+ config = Right
+end
+begin
+ prog = mythtv
+ button = enter
+ config = Space
+end
+begin
+ prog = mythtv
+ button = stop
+ config = Escape
+end
+begin
+ prog = mythtv
+ button = alb
+ config = m
+end
+begin
+ prog = mythtv
+ button = art
+ config = e
+end
+begin
+ prog = mythtv
+ button = gen
+ config = i
+end
+begin
+ prog = mythtv
+ button = trk
+ config = y
+end
+begin
+ prog = mythtv
+ button = rec
+ config = r
+end
+
+begin
+ prog = mythtv
+ button = pause
+ config = p
+end
+
+begin
+ prog = mythtv
+ button = T
+ config = t
+end
+
+begin
+ prog = mythtv
+ button = E
+ config = u
+end
+
+begin
+ prog = mythtv
+ button = S
+ config = a
+end
+
+begin
+ prog = mythtv
+ button = F
+ config = +
+end
+
+begin
+ prog = mythtv
+ button = playing
+ config = s
+end
+
+begin
+ prog=mythtv
+ button = playlist
+ config = w
+end
+
+begin
+ prog = mythtv
+ button = a-d
+ config = d
+end
+
+begin
+ prog = mythtv
+ button = a-b
+ config = b
+end
+##Volume (with pageup)
+begin
+ prog=mythtv
+ button = pageup
+ config = Page Up
+end
+begin
+ prog=mythtv
+ button = pagedown
+ config = Page Down
+end
+
+begin
+ prog=mythtv
+ button = ch+
+ config = ]
+end
+
+begin
+ prog=mythtv
+ button = ch-
+ config = [
+end
+
+begin
+ prog=mythtv
+ button = vol-
+ config = q
+end
+
+begin
+ prog=mythtv
+ button = vol+
+ config = z
+end
+
+begin
+ prog=mythtv
+ button = ff
+ config = >
+end
+
+begin
+ prog=mythtv
+ button = rew
+ config = <
+end
+
+begin
+ prog=mythtv
+ button = scan+
+ config = }
+end
+
+begin
+ prog=mythtv
+ button = scan-
+ config = {
+end
+
+
+##mplayer
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = alb
+repeat = 3
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = pause
+repeat = 3
+config = pause
+end
+
+# Skip ahead a minute if playing
+# If paused, resume playing
+begin
+prog = mplayer
+button = play
+repeat = 3
+config = seek +1
+end
+
+# Stop playback and exit
+begin
+prog = mplayer
+button = stop
+repeat = 3
+config = quit
+end
+
+# Mute
+begin
+prog = mplayer
+button =
+repeat = 3
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = rew
+repeat = 3
+config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = ff
+repeat = 3
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = E
+repeat = 3
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = vol+
+repeat = 3
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = vol-
+repeat = 3
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = playlist
+repeat = 3
+config = vo_fullscreen
+end
+
diff --git a/linhes/linhes-templates/templates/remotes/other/X10_Lola/preview.jpg b/linhes/linhes-templates/templates/remotes/other/X10_Lola/preview.jpg
new file mode 100644
index 0000000..915a3b2
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/X10_Lola/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.avermedia b/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.avermedia
new file mode 100644
index 0000000..7091aa4
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.avermedia
@@ -0,0 +1,72 @@
+#
+# This is for the remote that Avermedia bundles with its TVCapture and
+# TVPhone, the classic ones (pre 98).
+# Commands from the remote are hardware-decoded by a PIC16c54-xt, which makes
+# lirc's job easy. You need at least lirc-0.6.3 to use this config file
+#
+# this config file was automatically generated
+# using lirc-0.6.3 on Wed Jan 10 19:31:20 2001
+#
+# contributed by Santiago Garcia Mantinan <manty@i.am>
+#
+# brand: Avermedia
+# model: TVCapture & TVPhone, the classic ones (pre 98)
+# supported devices: This remote control comes with some TV Tuner cards from
+# Avermedia.
+
+begin remote
+
+ name Avermedia
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 8984 4527
+ one 568 1681
+ zero 568 558
+ ptrail 547
+ repeat 8985 2276
+ pre_data_bits 16
+ pre_data 0x2FD
+ gap 108069
+ toggle_bit 0
+
+
+ begin codes
+ TV 0x0000000000006897
+ FM 0x000000000000A857
+ EXIT 0x00000000000048B7
+ DISPLAY 0x00000000000030CF
+ FREEZE 0x00000000000028D7
+ CAPTURE 0x0000000000008877
+ VIDEO 0x00000000000038C7
+ 1 0x000000000000807F
+ 2 0x00000000000040BF
+ 3 0x000000000000C03F
+ AUDIO 0x00000000000018E7
+ 4 0x00000000000020DF
+ 5 0x000000000000A05F
+ 6 0x000000000000609F
+ FULLSCREEN 0x000000000000F00F
+ 7 0x000000000000E01F
+ 8 0x00000000000010EF
+ 9 0x000000000000906F
+ LOOP 0x000000000000C837
+ 0 0x00000000000050AF
+ LEFTARROW 0x00000000000000FF
+ RIGHTARROW 0x000000000000E817
+ MUTE 0x00000000000008F7
+ COLOR 0x000000000000B04F
+ PREVIEW 0x000000000000708F
+ CHANNELUP 0x000000000000D827
+ VOL_UP 0x00000000000058A7
+ AUTOSCAN 0x000000000000B847
+ ENTER 0x0000000000009867
+ CHANNELDOWN 0x000000000000F807
+ VOL_DOWN 0x0000000000007887
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.avermedia98 b/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.avermedia98
new file mode 100644
index 0000000..f60ee50
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.avermedia98
@@ -0,0 +1,175 @@
+#
+# this config file was automatically generated
+# using lirc-0.5.5 on Thu May 25 18:00:24 2000
+#
+# contributed by Michal Kochanowicz & Jesus Bravo Alvarez
+#
+# brand: AVerMedia
+# model: ?
+# supported devices: some TVCapture98 (ID 0x00021461) and
+# some TVPhone98 (ID 0x00011461) cards
+
+begin remote
+
+ name TVCapture98
+ bits 6
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9078 4437
+ one 615 1631
+ zero 615 515
+ ptrail 620
+# pre_data_bits 16
+# pre_data 0x40BF
+ repeat 9080 2189
+ gap 108056
+ repeat_bit 0
+
+ begin codes
+ TV/FM 0x0000000000000023
+ CD 0x0000000000000022
+# TELETEXT 0x000000000000C03F
+ POWER 0x0000000000000027
+
+ 1 0x0000000000000018
+ 2 0x0000000000000010
+ 3 0x0000000000000008
+ VIDEO 0x0000000000000000
+
+ 4 0x0000000000000019
+ 5 0x0000000000000011
+ 6 0x0000000000000009
+ AUDIO 0x0000000000000001
+
+ 7 0x000000000000001A
+ 8 0x0000000000000012
+ 9 0x000000000000000A
+ FULLSCREEN 0x0000000000000002
+
+ 0 0x000000000000001B
+ DISPLAY 0x0000000000000013
+ COLOR 0x000000000000000B
+ LOOP 0x0000000000000003
+
+ UNLABELED 0x000000000000001C
+ LEFT 0x0000000000000014
+ RIGHT 0x000000000000000C
+ PREVIEW 0x0000000000000004
+
+ AUTOSCAN 0x000000000000001D
+ FREEZE 0x0000000000000015
+ CAPTURE 0x000000000000000D
+ MUTE 0x0000000000000005
+
+ RED 0x000000000000001E
+ VOL_DOWN 0x0000000000000016
+ VOL_UP 0x000000000000000E
+ YELLOW 0x0000000000000006
+
+ GREEN 0x000000000000001F
+ CH_DOWN 0x0000000000000017
+ CH_UP 0x000000000000000F
+ BLUE 0x0000000000000007
+ end codes
+
+end remote
+
+#
+# this config file was automatically generated
+# using lirc-0.6.1 on Tue Apr 25 14:31:21 2000
+#
+# contributed by Christoph Bartelmus <lirc@bartelmus.de>
+#
+# brand: AVerMedia
+# model: ? (36 buttons)
+# supported devices: TVPhone98 card (ID 0x00031461)
+# TVCapture98 card (ID 0x00041461)
+#
+# This config file does work with both homebrew receivers and
+# original AVerMedia TV cards !!!
+#
+
+begin remote
+
+ name TVPhone98
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9078 4437
+ one 615 1631
+ zero 615 515
+ ptrail 620
+ repeat 9080 2189
+ pre_data_bits 16
+ pre_data 0x40BF
+ gap 108056
+ repeat_bit 0
+
+ begin codes
+ POWER 0x00000000000000FF
+ TV/FM 0x000000000000807F
+ CD 0x00000000000040BF
+ TELETEXT 0x000000000000C03F
+ VIDEO 0x00000000000020DF
+ 1 0x000000000000A05F
+ 2 0x000000000000609F
+ 3 0x000000000000E01F
+ AUDIO 0x00000000000010EF
+ 4 0x000000000000906F
+ 5 0x00000000000050AF
+ 6 0x000000000000D02F
+ FULLSCREEN 0x00000000000030CF
+ 7 0x000000000000B04F
+ 8 0x000000000000708F
+ 9 0x000000000000F00F
+
+ PREVIEW 0x00000000000008F7
+ 0 0x0000000000008877
+ DISPLAY 0x00000000000048B7
+ LOOP 0x000000000000C837
+ MUTE 0x00000000000028D7
+ AUTOSCAN 0x000000000000A857
+ FREEZE 0x0000000000006897
+ CAPTURE 0x000000000000E817
+ PLAY 0x00000000000018E7
+ RECORD 0x0000000000009867
+ PAUSE 0x00000000000058A7
+ STOP 0x000000000000D827
+ YELLOW 0x00000000000038C7
+ RED 0x000000000000B847
+ VOL_DOWN 0x0000000000007887
+ VOL_UP 0x000000000000F807
+ end codes
+
+end remote
+
+begin remote
+
+ name TVPhone98_ext
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9078 4437
+ one 615 1631
+ zero 615 515
+ ptrail 620
+ repeat 9080 2189
+ pre_data_bits 16
+ pre_data 0xC03F
+ gap 108056
+ repeat_bit 0
+
+ begin codes
+ BLUE 0x00000000000000FF
+ GREEN 0x000000000000807F
+ CH_DOWN 0x00000000000040BF
+ CH_UP 0x000000000000C03F
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.vdomate b/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.vdomate
new file mode 100644
index 0000000..36b1c6b
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/avermedia/lircd.conf.vdomate
@@ -0,0 +1,61 @@
+#
+# this config file was automatically generated
+# using WinLIRC 0.6.4 (LIRC 0.6.1pre3) on Sun Oct 06 07:28:36 2002
+#
+# contributed by
+#
+# brand: AVerMedia
+# model:
+# supported devices: VDOMATE (ID 0x3001461)
+#
+
+begin remote
+
+ name hanircd
+ bits 32
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9086 4425
+ one 625 1624
+ zero 625 500
+ ptrail 624
+ repeat 9087 2185
+ gap 107977
+ toggle_bit 0
+
+
+ begin codes
+ power 0x0000000040BF00FF
+ one 0x0000000040BFA05F
+ two 0x0000000040BF609F
+ three 0x0000000040BFE01F
+ four 0x0000000040BF906F
+ five 0x0000000040BF50AF
+ six 0x0000000040BFD02F
+ seven 0x0000000040BFB04F
+ eight 0x0000000040BF708F
+ nine 0x0000000040BFF00F
+ zero 0x0000000040BF8877
+ video 0x0000000040BF20DF
+ fullscreen 0x0000000040BF30CF
+ display 0x0000000040BF48B7
+ color 0x0000000040BFC837
+ loop 0x0000000040BF08F7
+ coloup 0x0000000040BF6897
+ colordn 0x0000000040BFE817
+ preview 0x0000000040BF28D7
+ autoscan 0x0000000040BF9867
+ freeze 0x0000000040BF58A7
+ capture 0x0000000040BFD827
+ mute 0x0000000040BF18E7
+ volumeup 0x0000000040BF7887
+ volumedown 0x0000000040BFF807
+ chnldown 0x00000000C03F40BF
+ chnlup 0x00000000C03FC03F
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/remotes/other/avermedia/lircmd.conf.avermedia b/linhes/linhes-templates/templates/remotes/other/avermedia/lircmd.conf.avermedia
new file mode 100644
index 0000000..e950862
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/avermedia/lircmd.conf.avermedia
@@ -0,0 +1,33 @@
+#
+# lircmd config file
+#
+
+#PROTOCOL IntelliMouse
+PROTOCOL MouseSystems
+
+# ACCELERATOR start max multiplier
+
+ACCELERATOR 2 30 5
+
+ACTIVATE * FM
+
+MOVE_N * 2
+MOVE_NE * 3
+MOVE_E * 6
+MOVE_SE * 9
+MOVE_S * 8
+MOVE_SW * 7
+MOVE_W * 4
+MOVE_NW * 1
+
+# These are lircmd-0.5.5 extensions
+MOVE_IN * VOLUP
+MOVE_OUT * VOLDOWN
+
+BUTTON1_CLICK * DISPLAY
+BUTTON2_CLICK * FREEZE
+BUTTON3_CLICK * CAPTURE
+
+BUTTON1_TOGGLE * AUDIO
+BUTTON2_TOGGLE * FULLSCREEN
+BUTTON3_TOGGLE * LOOP
diff --git a/linhes/linhes-templates/templates/remotes/other/avermedia/lircmd.conf.avermedia98 b/linhes/linhes-templates/templates/remotes/other/avermedia/lircmd.conf.avermedia98
new file mode 100644
index 0000000..2885372
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/avermedia/lircmd.conf.avermedia98
@@ -0,0 +1,37 @@
+#
+# lircmd config file
+#
+
+PROTOCOL IntelliMouse
+
+# ACCELERATOR start max multiplier
+
+ACCELERATOR 2 30 5
+
+# ACTIVATE * MENUE
+
+MOVE_N * 2
+MOVE_NE * 3
+MOVE_E * 6
+MOVE_SE * 9
+MOVE_S * 8
+MOVE_SW * 7
+MOVE_W * 4
+MOVE_NW * 1
+
+# These are lircmd-0.5.5 extensions
+MOVE_IN * VOL_UP
+MOVE_OUT * VOL_DOWN
+
+BUTTON1_DOWN * 5
+BUTTON1_UP * 0
+
+BUTTON1_DOWN * TV/FM
+BUTTON2_DOWN * CD
+BUTTON3_DOWN * TELETEXT
+BUTTON1_CLICK * DISPLAY
+BUTTON3_CLICK * LOOP
+
+BUTTON1_TOGGLE * VIDEO
+BUTTON2_TOGGLE * AUDIO
+BUTTON3_TOGGLE * FULLSCREEN
diff --git a/linhes/linhes-templates/templates/remotes/other/avermedia/preview.jpg b/linhes/linhes-templates/templates/remotes/other/avermedia/preview.jpg
new file mode 100644
index 0000000..a034186
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/avermedia/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/DENON.conf b/linhes/linhes-templates/templates/remotes/other/generic/DENON.conf
new file mode 100644
index 0000000..e645cba
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/DENON.conf
@@ -0,0 +1,31 @@
+#
+# generic Denon config file
+#
+# source: various
+#
+# used by: Denon, Sharp
+
+begin remote
+
+ name DENON
+ bits 15
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ one 275 1900
+ zero 275 775
+ ptrail 275
+ gap 43000
+ repeat_bit 0
+
+# frequency 32000
+# frequency is 455/12 according to stewart@neuron.com
+# remote is based on Sharp lc3715 IC
+ frequency 38000
+# duty_cycle unknown
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/MOTOROLA.conf b/linhes/linhes-templates/templates/remotes/other/generic/MOTOROLA.conf
new file mode 100644
index 0000000..e786f2b
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/MOTOROLA.conf
@@ -0,0 +1,53 @@
+#
+# generic Motorola config file
+#
+# source: Motorola Application Note AN463
+# ICs 68HC05K0/MC144105/MC144107
+#
+# used by Grundig
+#
+# currently you have to create config files for such remotes manually
+# as irrecord always will record the start code
+
+begin remote
+
+ name MOTOROLA_START/STOP
+ flags SHIFT_ENC|CONST_LENGTH
+ bits 10
+ eps 10
+ aeps 250
+
+ header 512 2560
+ one 512 512
+ zero 512 512
+ gap 32800
+ repeat_bit 0
+ frequency 32000
+ duty_cycle 25
+
+ begin codes
+ START/STOP 0x0000000000000000
+ end codes
+
+end remote
+
+begin remote
+
+ name MOTOROLA
+ flags SHIFT_ENC|CONST_LENGTH
+ bits 10
+ eps 10
+ aeps 250
+
+ header 512 2560
+ one 512 512
+ zero 512 512
+ gap 131000
+ repeat_bit 0
+ frequency 32000
+ duty_cycle 25
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/NEC-pulse.conf b/linhes/linhes-templates/templates/remotes/other/generic/NEC-pulse.conf
new file mode 100644
index 0000000..51c31d9
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/NEC-pulse.conf
@@ -0,0 +1,32 @@
+#
+# generic NEC config file
+#
+# source: CIrCC datasheet, exiting config files
+#
+# used by: Toshiba
+
+begin remote
+
+ name NEC
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9000 4500
+ one 563 1687
+ zero 563 562
+ ptrail 563
+ pre_data_bits 16
+# just a guess
+ gap 108000
+
+ repeat 9000 4500
+
+ frequency 38000
+ duty_cycle 33
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/NEC-short-pulse.conf b/linhes/linhes-templates/templates/remotes/other/generic/NEC-short-pulse.conf
new file mode 100644
index 0000000..068c253
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/NEC-short-pulse.conf
@@ -0,0 +1,34 @@
+#
+# generic NEC config file
+#
+# source: CIrCC datasheet, exiting config files
+#
+# used by: Akai, Amstrad, Eltasat, Hitachi, ITT, Kenwood, Onkyo,
+# Sanyo, Schneider, SEG, Yamaha
+
+
+begin remote
+
+ name NEC
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9000 4500
+ one 563 1687
+ zero 563 562
+ ptrail 563
+ pre_data_bits 16
+# just a guess
+ gap 108000
+
+ repeat 9000 2250
+
+ frequency 38000
+ duty_cycle 33
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/NEC.conf b/linhes/linhes-templates/templates/remotes/other/generic/NEC.conf
new file mode 100644
index 0000000..18ee327
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/NEC.conf
@@ -0,0 +1,30 @@
+#
+# generic NEC config file
+#
+# source: CIrCC datasheet, exiting config files
+#
+# used by: Canon, Creative, Domland, Orion
+
+begin remote
+
+ name NEC
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9000 4500
+ one 563 1687
+ zero 563 562
+ ptrail 563
+ pre_data_bits 16
+# just a guess
+ gap 108000
+
+ frequency 38000
+ duty_cycle 33
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/RC-5.conf b/linhes/linhes-templates/templates/remotes/other/generic/RC-5.conf
new file mode 100644
index 0000000..f62e3f9
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/RC-5.conf
@@ -0,0 +1,30 @@
+#
+# generic RC-5 config file
+#
+# source: SAA3010 datasheet
+#
+# used by: Philips, Marantz, Anitech, Elitron, Grundig, Schneider
+
+begin remote
+
+ name RC-5
+ bits 6
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 889 889
+ zero 889 889
+ plead 889
+ pre_data_bits 7
+ gap 113792
+ toggle_bit 2
+
+# frequency 35750
+ frequency 36000
+ duty_cycle 50
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/RC-6.conf b/linhes/linhes-templates/templates/remotes/other/generic/RC-6.conf
new file mode 100644
index 0000000..9565707
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/RC-6.conf
@@ -0,0 +1,28 @@
+#
+# generic RC-6 config file
+#
+# source: http://home.hccnet.nl/m.majoor/projects__remote_control.htm
+# http://home.hccnet.nl/m.majoor/pronto.pdf
+#
+# used by: Philips
+
+begin remote
+
+ name RC-6
+ bits 8
+ flags RC6|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 2667 889
+ one 444 444
+ zero 444 444
+ pre_data_bits 13
+ pre_data 0xEFB
+ gap 108000
+ toggle_bit 5
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/RCMM-32.conf b/linhes/linhes-templates/templates/remotes/other/generic/RCMM-32.conf
new file mode 100644
index 0000000..89f847a
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/RCMM-32.conf
@@ -0,0 +1,23 @@
+begin remote
+
+ name RCMM-32
+ bits 32
+ flags RCMM|CONST_LENGTH
+ eps 2
+ aeps 100
+
+ header 417 278
+ three 167 778
+ two 167 611
+ one 167 444
+ zero 167 278
+ ptrail 167
+ pre_data_bits 0
+ gap 99817
+ repeat_bit 0
+
+ begin codes
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/RECS80.conf b/linhes/linhes-templates/templates/remotes/other/generic/RECS80.conf
new file mode 100644
index 0000000..b9702ea
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/RECS80.conf
@@ -0,0 +1,31 @@
+#
+# generic RECS 80 config file
+#
+# source: SAA3008 datasheet
+#
+# used by: Saba, Technisat
+
+begin remote
+
+ name RECS80
+ bits 5
+ flags SPACE_ENC|CONST_LENGTH
+ eps 20
+ aeps 150
+
+ one 141 7590
+ zero 141 5090
+ ptrail 141
+ pre_data_bits 6
+ pre_data 0x22
+ gap 121440
+ toggle_bit 2
+
+# frequency 37916
+ frequency 38000
+ duty_cycle 33
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/SANYO.conf b/linhes/linhes-templates/templates/remotes/other/generic/SANYO.conf
new file mode 100644
index 0000000..fbcf8dc
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/SANYO.conf
@@ -0,0 +1,34 @@
+#
+# generic Sanyo config file
+#
+# source: CIrCC datasheet, exiting config files
+# Sanyo LC7461M datasheet
+#
+# used by: Aiwa, Chinon, Sanyo
+
+begin remote
+
+ name Sanyo
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9000 4500
+ one 563 1687
+ zero 563 562
+ ptrail 563
+ pre_data_bits 26
+# just a guess
+ gap 108000
+
+ repeat 9000 4500
+
+# 455kHz/12
+ frequency 37916
+ duty_cycle 33
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/SONY12.conf b/linhes/linhes-templates/templates/remotes/other/generic/SONY12.conf
new file mode 100644
index 0000000..d62d12c
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/SONY12.conf
@@ -0,0 +1,28 @@
+#
+# generic Sony 12-bit config file
+#
+# source: various
+#
+
+begin remote
+
+ name SONY
+ bits 7
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 2400 600
+ one 1200 600
+ zero 600 600
+ post_data_bits 5
+ gap 45000
+ min_repeat 2
+
+ frequency 40000
+ duty_cycle 33
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/generic/SONY20.conf b/linhes/linhes-templates/templates/remotes/other/generic/SONY20.conf
new file mode 100644
index 0000000..4a64ca7
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/generic/SONY20.conf
@@ -0,0 +1,29 @@
+#
+# generic Sony 20-bit config file
+#
+# source: various
+#
+
+begin remote
+
+ name SONY
+ bits 7
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 2400 600
+ one 1200 600
+ zero 600 600
+ post_data_bits 13
+# gap is just a guess
+ gap 45000
+ min_repeat 2
+
+ frequency 40000
+# duty_cycle unknown
+
+ begin codes
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/remotes/other/imon-mce/lircd.conf.imon b/linhes/linhes-templates/templates/remotes/other/imon-mce/lircd.conf.imon
new file mode 100644
index 0000000..9b97ab1
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/imon-mce/lircd.conf.imon
@@ -0,0 +1,835 @@
+# generated by devinput.sh
+
+begin remote
+
+ name devinput
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x1
+ post_data_bits 32
+ post_data 0x1
+ gap 132799
+ toggle_bit_mask 0x0
+
+ begin codes
+ KEY_0 0x0200
+ KEY_102ND 0x0056
+ KEY_1 0x0201
+ KEY_2 0x0202
+ KEY_3 0x0203
+ KEY_4 0x0204
+ KEY_5 0x0205
+ KEY_6 0x0206
+ KEY_7 0x0207
+ KEY_8 0x0208
+ KEY_9 0x0209
+ KEY_A 0x001E
+ KEY_AB 0x0196
+ KEY_AGAIN 0x0081
+ KEY_ALTERASE 0x00DE
+ KEY_ANGLE 0x0173
+ KEY_APOSTROPHE 0x0028
+ KEY_ARCHIVE 0x0169
+ KEY_AUDIO 0x0188
+ KEY_AUX 0x0186
+ KEY_B 0x0030
+ KEY_BACK 0x009E
+ KEY_BACKSLASH 0x002B
+ KEY_BACKSPACE 0x000E
+ KEY_BASSBOOST 0x00D1
+ KEY_BATTERY 0x00EC
+ KEY_BLUE 0x0191
+ KEY_BOOKMARKS 0x009C
+ KEY_BREAK 0x019B
+ KEY_BRIGHTNESSDOWN 0x00E0
+ KEY_BRIGHTNESSUP 0x00E1
+ KEY_BRL_DOT1 0x01F1
+ KEY_BRL_DOT2 0x01F2
+ KEY_BRL_DOT3 0x01F3
+ KEY_BRL_DOT4 0x01F4
+ KEY_BRL_DOT5 0x01F5
+ KEY_BRL_DOT6 0x01F6
+ KEY_BRL_DOT7 0x01F7
+ KEY_BRL_DOT8 0x01F8
+ KEY_C 0x002E
+ KEY_CALC 0x008C
+ KEY_CALENDAR 0x018D
+ KEY_CAMERA 0x00D4
+ KEY_CANCEL 0x00DF
+ KEY_CAPSLOCK 0x003A
+ KEY_CD 0x017F
+ KEY_CHANNEL 0x016B
+ KEY_CHANNELDOWN 0x0193
+ KEY_CHANNELUP 0x0192
+ KEY_CHAT 0x00D8
+ KEY_CLEAR 0x0163
+ KEY_CLOSE 0x00CE
+ KEY_CLOSECD 0x00A0
+ KEY_COFFEE 0x0098
+ KEY_COMMA 0x0033
+ KEY_COMPOSE 0x007F
+ KEY_COMPUTER 0x009D
+ KEY_CONFIG 0x00AB
+ KEY_CONNECT 0x00DA
+ KEY_COPY 0x0085
+ KEY_CUT 0x0089
+ KEY_CYCLEWINDOWS 0x009A
+ KEY_D 0x0020
+ KEY_DEL_EOL 0x01C0
+ KEY_DEL_EOS 0x01C1
+ KEY_DELETE 0x006F
+ KEY_DELETEFILE 0x0092
+ KEY_DEL_LINE 0x01C3
+ KEY_DIGITS 0x019D
+ KEY_DIRECTION 0x0099
+ KEY_DIRECTORY 0x018A
+ KEY_DOCUMENTS 0x00EB
+ KEY_DOT 0x0034
+ KEY_DOWN 0x006C
+ KEY_DVD 0x0185
+ KEY_E 0x0012
+ KEY_EDIT 0x00B0
+ KEY_EJECTCD 0x00A1
+ KEY_EJECTCLOSECD 0x00A2
+ KEY_EMAIL 0x00D7
+ KEY_END 0x006B
+ KEY_ENTER 0x001C
+ KEY_EPG 0x016D
+ KEY_EQUAL 0x000D
+ KEY_ESC 0x0001
+ KEY_EXIT 0x00AE
+ KEY_F10 0x0044
+ KEY_F11 0x0057
+ KEY_F12 0x0058
+ KEY_F13 0x00B7
+ KEY_F14 0x00B8
+ KEY_F15 0x00B9
+ KEY_F1 0x003B
+ KEY_F16 0x00BA
+ KEY_F17 0x00BB
+ KEY_F18 0x00BC
+ KEY_F19 0x00BD
+ KEY_F20 0x00BE
+ KEY_F21 0x00BF
+ KEY_F22 0x00C0
+ KEY_F23 0x00C1
+ KEY_F24 0x00C2
+ KEY_F2 0x003C
+ KEY_F 0x0021
+ KEY_F3 0x003D
+ KEY_F4 0x003E
+ KEY_F5 0x003F
+ KEY_F6 0x0040
+ KEY_F7 0x0041
+ KEY_F8 0x0042
+ KEY_F9 0x0043
+ KEY_FASTFORWARD 0x00D0
+ KEY_FAVORITES 0x016C
+ KEY_FILE 0x0090
+ KEY_FINANCE 0x00DB
+ KEY_FIND 0x0088
+ KEY_FIRST 0x0194
+ KEY_FN 0x01D0
+ KEY_FN_1 0x01DE
+ KEY_FN_2 0x01DF
+ KEY_FN_B 0x01E4
+ KEY_FN_D 0x01E0
+ KEY_FN_E 0x01E1
+ KEY_FN_ESC 0x01D1
+ KEY_FN_F 0x01E2
+ KEY_FN_F10 0x01DB
+ KEY_FN_F1 0x01D2
+ KEY_FN_F11 0x01DC
+ KEY_FN_F12 0x01DD
+ KEY_FN_F2 0x01D3
+ KEY_FN_F3 0x01D4
+ KEY_FN_F4 0x01D5
+ KEY_FN_F5 0x01D6
+ KEY_FN_F6 0x01D7
+ KEY_FN_F7 0x01D8
+ KEY_FN_F8 0x01D9
+ KEY_FN_F9 0x01DA
+ KEY_FN_S 0x01E3
+ KEY_FORWARD 0x009F
+ KEY_FORWARDMAIL 0x00E9
+ KEY_FRONT 0x0084
+ KEY_G 0x0022
+ KEY_GOTO 0x0162
+ KEY_GRAVE 0x0029
+ KEY_GREEN 0x018F
+ KEY_H 0x0023
+ KEY_HANGEUL 0x007A
+ KEY_HANJA 0x007B
+ KEY_HELP 0x008A
+ KEY_HENKAN 0x005C
+ KEY_HIRAGANA 0x005B
+ KEY_HOME 0x0066
+ KEY_HOMEPAGE 0x00AC
+ KEY_HP 0x00D3
+ KEY_I 0x0017
+ KEY_INFO 0x0166
+ KEY_INSERT 0x006E
+ KEY_INS_LINE 0x01C2
+ KEY_ISO 0x00AA
+ KEY_J 0x0024
+ KEY_K 0x0025
+ KEY_KATAKANA 0x005A
+ KEY_KATAKANAHIRAGANA 0x005D
+ KEY_KBDILLUMDOWN 0x00E5
+ KEY_KBDILLUMTOGGLE 0x00E4
+ KEY_KBDILLUMUP 0x00E6
+ KEY_KEYBOARD 0x0176
+ KEY_KP0 0x0052
+ KEY_KP1 0x004F
+ KEY_KP2 0x0050
+ KEY_KP3 0x0051
+ KEY_KP4 0x004B
+ KEY_KP5 0x004C
+ KEY_KP6 0x004D
+ KEY_KP7 0x0047
+ KEY_KP8 0x0048
+ KEY_KP9 0x0049
+ KEY_KPASTERISK 0x0037
+ KEY_KPCOMMA 0x0079
+ KEY_KPDOT 0x0053
+ KEY_KPENTER 0x0060
+ KEY_KPEQUAL 0x0075
+ KEY_KPJPCOMMA 0x005F
+ KEY_KPLEFTPAREN 0x00B3
+ KEY_KPMINUS 0x004A
+ KEY_KPPLUS 0x004E
+ KEY_KPPLUSMINUS 0x0076
+ KEY_KPRIGHTPAREN 0x00B4
+ KEY_KPSLASH 0x0062
+ KEY_L 0x0026
+ KEY_LANGUAGE 0x0170
+ KEY_LAST 0x0195
+ KEY_LEFT 0x0069
+ KEY_LEFTALT 0x0038
+ KEY_LEFTBRACE 0x001A
+ KEY_LEFTCTRL 0x001D
+ KEY_LEFTMETA 0x007D
+ KEY_LEFTSHIFT 0x002A
+ KEY_LINEFEED 0x0065
+ KEY_LIST 0x018B
+ KEY_M 0x0032
+ KEY_MACRO 0x0070
+ KEY_MAIL 0x009B
+ KEY_MAX 0x01FF
+ KEY_MEDIA 0x00E2
+ KEY_MEMO 0x018C
+ KEY_MENU 0x008B
+ KEY_MHP 0x016F
+ KEY_MINUS 0x000C
+ KEY_MODE 0x0175
+ KEY_MOVE 0x00AF
+ KEY_MP3 0x0187
+ KEY_MSDOS 0x0097
+ KEY_MUHENKAN 0x005E
+ KEY_MUTE 0x0071
+ KEY_N 0x0031
+ KEY_NEW 0x00B5
+ KEY_NEXT 0x0197
+ KEY_NEXTSONG 0x00A3
+ KEY_NUMLOCK 0x0045
+ KEY_O 0x0018
+ KEY_OK 0x0160
+ KEY_OPEN 0x0086
+ KEY_OPTION 0x0165
+ KEY_P 0x0019
+ KEY_PAGEDOWN 0x006D
+ KEY_PAGEUP 0x0068
+ KEY_PASTE 0x0087
+ KEY_PAUSE 0x0077
+ KEY_PAUSECD 0x00C9
+ KEY_PC 0x0178
+ KEY_PHONE 0x00A9
+ KEY_PLAY 0x00CF
+ KEY_PLAYCD 0x00C8
+ KEY_PLAYER 0x0183
+ KEY_PLAYPAUSE 0x00A4
+ KEY_NUMERIC_POUND 0x020B
+ KEY_POWER 0x0074
+ KEY_POWER2 0x0164
+ KEY_PREVIOUS 0x019C
+ KEY_PREVIOUSSONG 0x00A5
+ KEY_PRINT 0x00D2
+ KEY_PROG1 0x0094
+ KEY_PROG2 0x0095
+ KEY_PROG3 0x00CA
+ KEY_PROG4 0x00CB
+ KEY_PROGRAM 0x016A
+ KEY_PROPS 0x0082
+ KEY_PVR 0x016E
+ KEY_Q 0x0010
+ KEY_QUESTION 0x00D6
+ KEY_R 0x0013
+ KEY_RADIO 0x0181
+ KEY_RECORD 0x00A7
+ KEY_RED 0x018E
+ KEY_REDO 0x00B6
+ KEY_REFRESH 0x00AD
+ KEY_REPLY 0x00E8
+ KEY_RESERVED 0x0000
+ KEY_RESTART 0x0198
+ KEY_REWIND 0x00A8
+ KEY_RIGHT 0x006A
+ KEY_RIGHTALT 0x0064
+ KEY_RIGHTBRACE 0x001B
+ KEY_RIGHTCTRL 0x0061
+ KEY_RIGHTMETA 0x007E
+ KEY_RIGHTSHIFT 0x0036
+ KEY_RO 0x0059
+ KEY_S 0x001F
+ KEY_SAT 0x017D
+ KEY_SAT2 0x017E
+ KEY_SAVE 0x00EA
+ KEY_SCREEN 0x0177
+ KEY_SCROLLDOWN 0x00B2
+ KEY_SCROLLLOCK 0x0046
+ KEY_SCROLLUP 0x00B1
+ KEY_SEARCH 0x00D9
+ KEY_SELECT 0x0161
+ KEY_SEMICOLON 0x0027
+ KEY_SEND 0x00E7
+ KEY_SENDFILE 0x0091
+ KEY_SETUP 0x008D
+ KEY_SHOP 0x00DD
+ KEY_SHUFFLE 0x019A
+ KEY_SLASH 0x0035
+ KEY_SLEEP 0x008E
+ KEY_SLOW 0x0199
+ KEY_SOUND 0x00D5
+ KEY_SPACE 0x0039
+ KEY_SPORT 0x00DC
+ KEY_STOP 0x0080
+ KEY_STOPCD 0x00A6
+ KEY_SUBTITLE 0x0172
+ KEY_SUSPEND 0x00CD
+ KEY_SWITCHVIDEOMODE 0x00E3
+ KEY_SYSRQ 0x0063
+ KEY_T 0x0014
+ KEY_TAB 0x000F
+ KEY_TAPE 0x0180
+ KEY_TEEN 0x019E
+ KEY_TEXT 0x0184
+ KEY_TIME 0x0167
+ KEY_TITLE 0x0171
+ KEY_TUNER 0x0182
+ KEY_TV 0x0179
+ KEY_TV2 0x017A
+ KEY_TWEN 0x019F
+ KEY_U 0x0016
+ KEY_UNDO 0x0083
+ KEY_UNKNOWN 0x00F0
+ KEY_UP 0x0067
+ KEY_V 0x002F
+ KEY_VCR 0x017B
+ KEY_VCR2 0x017C
+ KEY_VENDOR 0x0168
+ KEY_VIDEO 0x0189
+ KEY_VOLUMEDOWN 0x0072
+ KEY_VOLUMEUP 0x0073
+ KEY_W 0x0011
+ KEY_WAKEUP 0x008F
+ KEY_WWW 0x0096
+ KEY_X 0x002D
+ KEY_XFER 0x0093
+ KEY_Y 0x0015
+ KEY_YELLOW 0x0190
+ KEY_YEN 0x007C
+ KEY_Z 0x002C
+ KEY_ZENKAKUHANKAKU 0x0055
+ KEY_ZOOM 0x0174
+ BTN_0 0x0100
+ BTN_1 0x0101
+ BTN_2 0x0102
+ BTN_3 0x0103
+ BTN_4 0x0104
+ BTN_5 0x0105
+ BTN_6 0x0106
+ BTN_7 0x0107
+ BTN_8 0x0108
+ BTN_9 0x0109
+ BTN_A 0x0130
+ BTN_B 0x0131
+ BTN_BACK 0x0116
+ BTN_BASE 0x0126
+ BTN_BASE2 0x0127
+ BTN_BASE3 0x0128
+ BTN_BASE4 0x0129
+ BTN_BASE5 0x012A
+ BTN_BASE6 0x012B
+ BTN_C 0x0132
+ BTN_DEAD 0x012F
+ BTN_DIGI 0x0140
+ BTN_EXTRA 0x0114
+ BTN_FORWARD 0x0115
+ BTN_GAMEPAD 0x0130
+ BTN_GEAR_DOWN 0x0150
+ BTN_GEAR_UP 0x0151
+ BTN_JOYSTICK 0x0120
+ BTN_LEFT 0x0110
+ BTN_MIDDLE 0x0112
+ BTN_MISC 0x0100
+ BTN_MODE 0x013C
+ BTN_MOUSE 0x0110
+ BTN_PINKIE 0x0125
+ BTN_RIGHT 0x0111
+ BTN_SELECT 0x013A
+ BTN_SIDE 0x0113
+ BTN_START 0x013B
+ BTN_STYLUS 0x014B
+ BTN_STYLUS2 0x014C
+ BTN_TASK 0x0117
+ BTN_THUMB 0x0121
+ BTN_THUMB2 0x0122
+ BTN_THUMBL 0x013D
+ BTN_THUMBR 0x013E
+ BTN_TL 0x0136
+ BTN_TL2 0x0138
+ BTN_TOOL_AIRBRUSH 0x0144
+ BTN_TOOL_BRUSH 0x0142
+ BTN_TOOL_DOUBLETAP 0x014D
+ BTN_TOOL_FINGER 0x0145
+ BTN_TOOL_LENS 0x0147
+ BTN_TOOL_MOUSE 0x0146
+ BTN_TOOL_PEN 0x0140
+ BTN_TOOL_PENCIL 0x0143
+ BTN_TOOL_RUBBER 0x0141
+ BTN_TOOL_TRIPLETAP 0x014E
+ BTN_TOP 0x0123
+ BTN_TOP2 0x0124
+ BTN_TOUCH 0x014A
+ BTN_TR 0x0137
+ BTN_TR2 0x0139
+ BTN_TRIGGER 0x0120
+ BTN_WHEEL 0x0150
+ BTN_X 0x0133
+ BTN_Y 0x0134
+ BTN_Z 0x0135
+ end codes
+
+end remote
+
+# generated by devinput.sh (obsolete 32 bit version)
+begin remote
+
+ name devinput
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x8001
+ gap 132799
+ toggle_bit_mask 0x0
+
+ begin codes
+ KEY_0 0x0200
+ KEY_102ND 0x0056
+ KEY_1 0x0201
+ KEY_2 0x0202
+ KEY_3 0x0203
+ KEY_4 0x0204
+ KEY_5 0x0205
+ KEY_6 0x0206
+ KEY_7 0x0207
+ KEY_8 0x0208
+ KEY_9 0x0209
+ KEY_A 0x001E
+ KEY_AB 0x0196
+ KEY_AGAIN 0x0081
+ KEY_ALTERASE 0x00DE
+ KEY_ANGLE 0x0173
+ KEY_APOSTROPHE 0x0028
+ KEY_ARCHIVE 0x0169
+ KEY_AUDIO 0x0188
+ KEY_AUX 0x0186
+ KEY_B 0x0030
+ KEY_BACK 0x009E
+ KEY_BACKSLASH 0x002B
+ KEY_BACKSPACE 0x000E
+ KEY_BASSBOOST 0x00D1
+ KEY_BATTERY 0x00EC
+ KEY_BLUE 0x0191
+ KEY_BOOKMARKS 0x009C
+ KEY_BREAK 0x019B
+ KEY_BRIGHTNESSDOWN 0x00E0
+ KEY_BRIGHTNESSUP 0x00E1
+ KEY_BRL_DOT1 0x01F1
+ KEY_BRL_DOT2 0x01F2
+ KEY_BRL_DOT3 0x01F3
+ KEY_BRL_DOT4 0x01F4
+ KEY_BRL_DOT5 0x01F5
+ KEY_BRL_DOT6 0x01F6
+ KEY_BRL_DOT7 0x01F7
+ KEY_BRL_DOT8 0x01F8
+ KEY_C 0x002E
+ KEY_CALC 0x008C
+ KEY_CALENDAR 0x018D
+ KEY_CAMERA 0x00D4
+ KEY_CANCEL 0x00DF
+ KEY_CAPSLOCK 0x003A
+ KEY_CD 0x017F
+ KEY_CHANNEL 0x016B
+ KEY_CHANNELDOWN 0x0193
+ KEY_CHANNELUP 0x0192
+ KEY_CHAT 0x00D8
+ KEY_CLEAR 0x0163
+ KEY_CLOSE 0x00CE
+ KEY_CLOSECD 0x00A0
+ KEY_COFFEE 0x0098
+ KEY_COMMA 0x0033
+ KEY_COMPOSE 0x007F
+ KEY_COMPUTER 0x009D
+ KEY_CONFIG 0x00AB
+ KEY_CONNECT 0x00DA
+ KEY_COPY 0x0085
+ KEY_CUT 0x0089
+ KEY_CYCLEWINDOWS 0x009A
+ KEY_D 0x0020
+ KEY_DEL_EOL 0x01C0
+ KEY_DEL_EOS 0x01C1
+ KEY_DELETE 0x006F
+ KEY_DELETEFILE 0x0092
+ KEY_DEL_LINE 0x01C3
+ KEY_DIGITS 0x019D
+ KEY_DIRECTION 0x0099
+ KEY_DIRECTORY 0x018A
+ KEY_DOCUMENTS 0x00EB
+ KEY_DOT 0x0034
+ KEY_DOWN 0x006C
+ KEY_DVD 0x0185
+ KEY_E 0x0012
+ KEY_EDIT 0x00B0
+ KEY_EJECTCD 0x00A1
+ KEY_EJECTCLOSECD 0x00A2
+ KEY_EMAIL 0x00D7
+ KEY_END 0x006B
+ KEY_ENTER 0x001C
+ KEY_EPG 0x016D
+ KEY_EQUAL 0x000D
+ KEY_ESC 0x0001
+ KEY_EXIT 0x00AE
+ KEY_F10 0x0044
+ KEY_F11 0x0057
+ KEY_F12 0x0058
+ KEY_F13 0x00B7
+ KEY_F14 0x00B8
+ KEY_F15 0x00B9
+ KEY_F1 0x003B
+ KEY_F16 0x00BA
+ KEY_F17 0x00BB
+ KEY_F18 0x00BC
+ KEY_F19 0x00BD
+ KEY_F20 0x00BE
+ KEY_F21 0x00BF
+ KEY_F22 0x00C0
+ KEY_F23 0x00C1
+ KEY_F24 0x00C2
+ KEY_F2 0x003C
+ KEY_F 0x0021
+ KEY_F3 0x003D
+ KEY_F4 0x003E
+ KEY_F5 0x003F
+ KEY_F6 0x0040
+ KEY_F7 0x0041
+ KEY_F8 0x0042
+ KEY_F9 0x0043
+ KEY_FASTFORWARD 0x00D0
+ KEY_FAVORITES 0x016C
+ KEY_FILE 0x0090
+ KEY_FINANCE 0x00DB
+ KEY_FIND 0x0088
+ KEY_FIRST 0x0194
+ KEY_FN 0x01D0
+ KEY_FN_1 0x01DE
+ KEY_FN_2 0x01DF
+ KEY_FN_B 0x01E4
+ KEY_FN_D 0x01E0
+ KEY_FN_E 0x01E1
+ KEY_FN_ESC 0x01D1
+ KEY_FN_F 0x01E2
+ KEY_FN_F10 0x01DB
+ KEY_FN_F1 0x01D2
+ KEY_FN_F11 0x01DC
+ KEY_FN_F12 0x01DD
+ KEY_FN_F2 0x01D3
+ KEY_FN_F3 0x01D4
+ KEY_FN_F4 0x01D5
+ KEY_FN_F5 0x01D6
+ KEY_FN_F6 0x01D7
+ KEY_FN_F7 0x01D8
+ KEY_FN_F8 0x01D9
+ KEY_FN_F9 0x01DA
+ KEY_FN_S 0x01E3
+ KEY_FORWARD 0x009F
+ KEY_FORWARDMAIL 0x00E9
+ KEY_FRONT 0x0084
+ KEY_G 0x0022
+ KEY_GOTO 0x0162
+ KEY_GRAVE 0x0029
+ KEY_GREEN 0x018F
+ KEY_H 0x0023
+ KEY_HANGEUL 0x007A
+ KEY_HANJA 0x007B
+ KEY_HELP 0x008A
+ KEY_HENKAN 0x005C
+ KEY_HIRAGANA 0x005B
+ KEY_HOME 0x0066
+ KEY_HOMEPAGE 0x00AC
+ KEY_HP 0x00D3
+ KEY_I 0x0017
+ KEY_INFO 0x0166
+ KEY_INSERT 0x006E
+ KEY_INS_LINE 0x01C2
+ KEY_ISO 0x00AA
+ KEY_J 0x0024
+ KEY_K 0x0025
+ KEY_KATAKANA 0x005A
+ KEY_KATAKANAHIRAGANA 0x005D
+ KEY_KBDILLUMDOWN 0x00E5
+ KEY_KBDILLUMTOGGLE 0x00E4
+ KEY_KBDILLUMUP 0x00E6
+ KEY_KEYBOARD 0x0176
+ KEY_KP0 0x0052
+ KEY_KP1 0x004F
+ KEY_KP2 0x0050
+ KEY_KP3 0x0051
+ KEY_KP4 0x004B
+ KEY_KP5 0x004C
+ KEY_KP6 0x004D
+ KEY_KP7 0x0047
+ KEY_KP8 0x0048
+ KEY_KP9 0x0049
+ KEY_KPASTERISK 0x0037
+ KEY_KPCOMMA 0x0079
+ KEY_KPDOT 0x0053
+ KEY_KPENTER 0x0060
+ KEY_KPEQUAL 0x0075
+ KEY_KPJPCOMMA 0x005F
+ KEY_KPLEFTPAREN 0x00B3
+ KEY_KPMINUS 0x004A
+ KEY_KPPLUS 0x004E
+ KEY_KPPLUSMINUS 0x0076
+ KEY_KPRIGHTPAREN 0x00B4
+ KEY_KPSLASH 0x0062
+ KEY_L 0x0026
+ KEY_LANGUAGE 0x0170
+ KEY_LAST 0x0195
+ KEY_LEFT 0x0069
+ KEY_LEFTALT 0x0038
+ KEY_LEFTBRACE 0x001A
+ KEY_LEFTCTRL 0x001D
+ KEY_LEFTMETA 0x007D
+ KEY_LEFTSHIFT 0x002A
+ KEY_LINEFEED 0x0065
+ KEY_LIST 0x018B
+ KEY_M 0x0032
+ KEY_MACRO 0x0070
+ KEY_MAIL 0x009B
+ KEY_MAX 0x01FF
+ KEY_MEDIA 0x00E2
+ KEY_MEMO 0x018C
+ KEY_MENU 0x008B
+ KEY_MHP 0x016F
+ KEY_MINUS 0x000C
+ KEY_MODE 0x0175
+ KEY_MOVE 0x00AF
+ KEY_MP3 0x0187
+ KEY_MSDOS 0x0097
+ KEY_MUHENKAN 0x005E
+ KEY_MUTE 0x0071
+ KEY_N 0x0031
+ KEY_NEW 0x00B5
+ KEY_NEXT 0x0197
+ KEY_NEXTSONG 0x00A3
+ KEY_NUMLOCK 0x0045
+ KEY_NUMERIC_POUND 0x020B
+ KEY_O 0x0018
+ KEY_OK 0x0160
+ KEY_OPEN 0x0086
+ KEY_OPTION 0x0165
+ KEY_P 0x0019
+ KEY_PAGEDOWN 0x006D
+ KEY_PAGEUP 0x0068
+ KEY_PASTE 0x0087
+ KEY_PAUSE 0x0077
+ KEY_PAUSECD 0x00C9
+ KEY_PC 0x0178
+ KEY_PHONE 0x00A9
+ KEY_PLAY 0x00CF
+ KEY_PLAYCD 0x00C8
+ KEY_PLAYER 0x0183
+ KEY_PLAYPAUSE 0x00A4
+ KEY_POWER 0x0074
+ KEY_POWER2 0x0164
+ KEY_PREVIOUS 0x019C
+ KEY_PREVIOUSSONG 0x00A5
+ KEY_PRINT 0x00D2
+ KEY_PROG1 0x0094
+ KEY_PROG2 0x0095
+ KEY_PROG3 0x00CA
+ KEY_PROG4 0x00CB
+ KEY_PROGRAM 0x016A
+ KEY_PROPS 0x0082
+ KEY_PVR 0x016E
+ KEY_Q 0x0010
+ KEY_QUESTION 0x00D6
+ KEY_R 0x0013
+ KEY_RADIO 0x0181
+ KEY_RECORD 0x00A7
+ KEY_RED 0x018E
+ KEY_REDO 0x00B6
+ KEY_REFRESH 0x00AD
+ KEY_REPLY 0x00E8
+ KEY_RESERVED 0x0000
+ KEY_RESTART 0x0198
+ KEY_REWIND 0x00A8
+ KEY_RIGHT 0x006A
+ KEY_RIGHTALT 0x0064
+ KEY_RIGHTBRACE 0x001B
+ KEY_RIGHTCTRL 0x0061
+ KEY_RIGHTMETA 0x007E
+ KEY_RIGHTSHIFT 0x0036
+ KEY_RO 0x0059
+ KEY_S 0x001F
+ KEY_SAT 0x017D
+ KEY_SAT2 0x017E
+ KEY_SAVE 0x00EA
+ KEY_SCREEN 0x0177
+ KEY_SCROLLDOWN 0x00B2
+ KEY_SCROLLLOCK 0x0046
+ KEY_SCROLLUP 0x00B1
+ KEY_SEARCH 0x00D9
+ KEY_SELECT 0x0161
+ KEY_SEMICOLON 0x0027
+ KEY_SEND 0x00E7
+ KEY_SENDFILE 0x0091
+ KEY_SETUP 0x008D
+ KEY_SHOP 0x00DD
+ KEY_SHUFFLE 0x019A
+ KEY_SLASH 0x0035
+ KEY_SLEEP 0x008E
+ KEY_SLOW 0x0199
+ KEY_SOUND 0x00D5
+ KEY_SPACE 0x0039
+ KEY_SPORT 0x00DC
+ KEY_STOP 0x0080
+ KEY_STOPCD 0x00A6
+ KEY_SUBTITLE 0x0172
+ KEY_SUSPEND 0x00CD
+ KEY_SWITCHVIDEOMODE 0x00E3
+ KEY_SYSRQ 0x0063
+ KEY_T 0x0014
+ KEY_TAB 0x000F
+ KEY_TAPE 0x0180
+ KEY_TEEN 0x019E
+ KEY_TEXT 0x0184
+ KEY_TIME 0x0167
+ KEY_TITLE 0x0171
+ KEY_TUNER 0x0182
+ KEY_TV 0x0179
+ KEY_TV2 0x017A
+ KEY_TWEN 0x019F
+ KEY_U 0x0016
+ KEY_UNDO 0x0083
+ KEY_UNKNOWN 0x00F0
+ KEY_UP 0x0067
+ KEY_V 0x002F
+ KEY_VCR 0x017B
+ KEY_VCR2 0x017C
+ KEY_VENDOR 0x0168
+ KEY_VIDEO 0x0189
+ KEY_VOLUMEDOWN 0x0072
+ KEY_VOLUMEUP 0x0073
+ KEY_W 0x0011
+ KEY_WAKEUP 0x008F
+ KEY_WWW 0x0096
+ KEY_X 0x002D
+ KEY_XFER 0x0093
+ KEY_Y 0x0015
+ KEY_YELLOW 0x0190
+ KEY_YEN 0x007C
+ KEY_Z 0x002C
+ KEY_ZENKAKUHANKAKU 0x0055
+ KEY_ZOOM 0x0174
+ BTN_0 0x0100
+ BTN_1 0x0101
+ BTN_2 0x0102
+ BTN_3 0x0103
+ BTN_4 0x0104
+ BTN_5 0x0105
+ BTN_6 0x0106
+ BTN_7 0x0107
+ BTN_8 0x0108
+ BTN_9 0x0109
+ BTN_A 0x0130
+ BTN_B 0x0131
+ BTN_BACK 0x0116
+ BTN_BASE 0x0126
+ BTN_BASE2 0x0127
+ BTN_BASE3 0x0128
+ BTN_BASE4 0x0129
+ BTN_BASE5 0x012A
+ BTN_BASE6 0x012B
+ BTN_C 0x0132
+ BTN_DEAD 0x012F
+ BTN_DIGI 0x0140
+ BTN_EXTRA 0x0114
+ BTN_FORWARD 0x0115
+ BTN_GAMEPAD 0x0130
+ BTN_GEAR_DOWN 0x0150
+ BTN_GEAR_UP 0x0151
+ BTN_JOYSTICK 0x0120
+ BTN_LEFT 0x0110
+ BTN_MIDDLE 0x0112
+ BTN_MISC 0x0100
+ BTN_MODE 0x013C
+ BTN_MOUSE 0x0110
+ BTN_PINKIE 0x0125
+ BTN_RIGHT 0x0111
+ BTN_SELECT 0x013A
+ BTN_SIDE 0x0113
+ BTN_START 0x013B
+ BTN_STYLUS 0x014B
+ BTN_STYLUS2 0x014C
+ BTN_TASK 0x0117
+ BTN_THUMB 0x0121
+ BTN_THUMB2 0x0122
+ BTN_THUMBL 0x013D
+ BTN_THUMBR 0x013E
+ BTN_TL 0x0136
+ BTN_TL2 0x0138
+ BTN_TOOL_AIRBRUSH 0x0144
+ BTN_TOOL_BRUSH 0x0142
+ BTN_TOOL_DOUBLETAP 0x014D
+ BTN_TOOL_FINGER 0x0145
+ BTN_TOOL_LENS 0x0147
+ BTN_TOOL_MOUSE 0x0146
+ BTN_TOOL_PEN 0x0140
+ BTN_TOOL_PENCIL 0x0143
+ BTN_TOOL_RUBBER 0x0141
+ BTN_TOOL_TRIPLETAP 0x014E
+ BTN_TOP 0x0123
+ BTN_TOP2 0x0124
+ BTN_TOUCH 0x014A
+ BTN_TR 0x0137
+ BTN_TR2 0x0139
+ BTN_TRIGGER 0x0120
+ BTN_WHEEL 0x0150
+ BTN_X 0x0133
+ BTN_Y 0x0134
+ BTN_Z 0x0135
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/remotes/other/imon-mce/lircrc b/linhes/linhes-templates/templates/remotes/other/imon-mce/lircrc
new file mode 100644
index 0000000..f16bfc3
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/imon-mce/lircrc
@@ -0,0 +1,922 @@
+# /home/mythtv/.mythtv/lircrc
+#
+# Media Center Edition Remote Control and Remote Control Keys on Media Center Keyboard
+########################################################################################
+# For use with the USB MCE ir receiver
+# MythTV LIRC config file for the mceusb2 or lirc_mod_mce module
+
+# Info about lircrc statment
+#begin
+# prog = ... Program controlled, irxevent, irexec, mythtv, mplayer, xine, or others
+# remote = ... mceusb, or what ever you happen to have or want to call it
+# button = ... remote keys names from your lircd.conf file
+# repeat = ... repeat = 2 is fast, repeat = 4 is slower
+# delay = ... delay before repeat, 1 is short, 4 is longer
+# config = ... output key presses to key bindings editor
+# mode = ...
+# flags = ...
+#end
+
+
+# Updated January 30th 2008 BAK
+# for the Knoppmyth project
+
+######################################################## irexec ####################
+# the lirc irexec program must be running for this section
+
+# Will perform a complete shutdown
+#begin
+# prog = irexec
+# button = Power
+# config = /usr/bin/sudo halt
+#end
+
+# Teletext = used as power down button
+begin
+ prog = irexec
+ button = KEY_SUBTITLE
+ config = /usr/bin/sudo halt
+# config = sudo /sbin/shutdown -h -t 0 now
+end
+
+
+#
+################################################ Mythtv Section ####################
+# MythTV Key Binding Editor location
+# Mythtv Menu >>Utilities / Setup >>Edit Keys
+# Key Bindings can also be found in Myth Web
+
+# Record
+begin
+ prog = mythtv
+ button = KEY_RECORD
+ config = R
+end
+
+# Stop
+begin
+ prog = mythtv
+ button = KEY_STOP
+ config = Esc
+end
+
+# Pause
+begin
+ prog = mythtv
+ button = KEY_PAUSE
+ config = P
+end
+
+# Rewind (while viewing)
+begin
+ prog = mythtv
+ button = KEY_REWIND
+ repeat = 0
+ delay = 1
+ config = <
+end
+
+# Fast forward (while viewing)
+begin
+ prog = mythtv
+ button = KEY_FASTFORWARD
+ repeat = 0
+ delay = 1
+ config = >
+end
+
+# Play
+begin
+ prog = mythtv
+ button = KEY_PLAY
+ config = L
+end
+
+# Skip backward (1 min default)
+begin
+ prog = mythtv
+ button = KEY_PREVIOUS
+ repeat = 4
+ delay = 4
+ config = PgUp
+end
+
+# Skip forward (1 min default)
+begin
+ prog = mythtv
+ button = KEY_NEXT
+ repeat = 4
+ delay = 4
+ config = PgDown
+end
+
+#<><><><><><><><><><><> Mythtv Control <><><><>
+
+# Escape/Exit/Back
+begin
+ prog = mythtv
+ button = KEY_EXIT
+ config = Esc
+end
+
+# Bring up OSD info
+begin
+ prog = mythtv
+ button = KEY_INFO
+ config = I
+end
+
+begin
+ prog = mythtv
+ button = KEY_LEFT
+ repeat = 3
+ delay = 4
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = KEY_RIGHT
+ repeat = 3
+ delay = 4
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = KEY_UP
+ repeat = 3
+ delay = 4
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = KEY_DOWN
+ repeat = 3
+ delay = 4
+ config = Down
+end
+
+# OK/Select
+begin
+ prog = mythtv
+ button = KEY_OK
+ config = Return
+end
+
+# The Start Button is really just a Menu key
+begin
+ prog = mythtv
+ button = KEY_MEDIA
+ config = M
+end
+
+#<><><><><><><><><><><><><><><>
+
+# Volume-Up
+begin
+ prog = mythtv
+ button = KEY_VOLUMEUP
+ repeat = 2
+ config = ]
+end
+
+# Volume-Down
+begin
+ prog = mythtv
+ button = VOLUMEDOWN
+ repeat = 2
+ config = [
+end
+
+# Mute
+begin
+ prog = mythtv
+ button = KEY_MUTE
+ config = |
+end
+
+# Channel Up
+begin
+ prog = mythtv
+ button = KEY_CHANNELUP
+ repeat = 3
+# delay = 1
+ config = Up
+end
+
+# Channel Down
+begin
+ prog = mythtv
+ button = CHANNELDOWN
+ config = Down
+ repeat = 3
+# delay = 1
+end
+
+# Numbers 0-9 <><><><><><><><><><><>
+
+begin
+ prog = mythtv
+ button = KEY_1
+# repeat = 2
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = KEY_2
+# repeat = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = KEY_3
+# repeat = 2
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = KEY_4
+# repeat = 2
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = KEY_5
+# repeat = 2
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = KEY_6
+# repeat = 2
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = KEY_7
+# repeat = 2
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = KEY_8
+# repeat = 2
+ config = 8
+End
+
+begin
+ prog = mythtv
+ button = KEY_9
+# repeat = 2
+ config = 9
+end
+
+begin
+ prog = mythtv
+ button = KEY_0
+# repeat = 2
+ config = 0
+end
+
+# Use Zoom for Aspect Ratio
+begin
+ prog = mythtv
+ button = KEY_ZOOM
+ config = W
+end
+
+#<><><><><><><><><><><><><><><><><><><><>
+# Seek to previous commercial cut point
+# or remove all cut points from the Editing Cutlist
+begin
+ prog = mythtv
+ button = KEY_BLUE
+ config = Q
+end
+
+# Seek to next commercial cut point
+# or add commericial cut points to the Editing Cutlist
+begin
+ prog = mythtv
+ button = KEY_NUMERIC_POUND
+ config = Z
+end
+
+# Brings up the delete box
+begin
+ prog = mythtv
+ button = KEY_DELETE
+ repeat = 0
+ config = D
+end
+
+# Toggle Editing Cutlist on or off
+begin
+ prog = mythtv
+ button = KEY_ENTER
+ repeat = 0
+ config = E
+end
+
+#<><><><><><><><> Additional Remote Commands <><><><><><><><>
+# All buttons in this section must be configured using
+# MythTV's KeyBindings JumpPoints editor.
+# >>> Utilities/ Setup >>> Edit Keys >>> JumpPoints >>>
+
+# Listen to Myth Music
+begin
+ prog = mythtv
+ button = KEY_AUDIO
+ config = Ctrl+T
+end
+
+# at this time connects to MythStreem
+begin
+ prog = mythtv
+ button = KEY_RADIO
+ config = Ctrl+Alt+S
+end
+
+# View Pictures
+begin
+ prog = mythtv
+ button = KEY_CAMERA
+ config = Ctrl+G
+end
+
+# Watch Videos
+begin
+ prog = mythtv
+ button = KEY_VIDEO
+ config = Ctrl+V
+end
+
+# Watch Live TV with Live TV Guide open
+begin
+ prog = mythtv
+ button = KEY_TV
+ config = Ctrl+S
+end
+
+# Watch Live TV
+begin
+ prog = mythtv
+ button = KEY_GREEN
+ config = Ctrl+Alt+L
+end
+
+# Recorded TV Programs
+begin
+ prog = mythtv
+ button = KEY_PVR
+ config = Ctrl+R
+end
+
+# Program Guide
+begin
+ prog = mythtv
+ button = KEY_EPG
+ config = Ctrl+Alt+G
+end
+
+# Play DVD
+# There must be a disk in the DVD drive or it dos nothing
+begin
+ prog = mythtv
+ button = KEY_DVD
+ config = Ctrl+Alt+D
+end
+
+# unused key
+#begin
+# prog = mythtv
+# button = Messenger
+# config = Ctrl+Alt+A
+#end
+
+# <><><><><><><><><><><><><> Teletext Buttons <><><><><><><><><><><>
+
+# Teletext = Show interactive MHEG screens
+#begin
+# prog = mythtv
+# button = Teltext
+# config = F7
+#end
+
+# Red = Red button for interactive screens.
+begin
+ prog = mythtv
+ button = KEY_RED
+ config = F2
+end
+
+# Green = Green button for interactive screens.
+begin
+ prog = mythtv
+ button = KEY_GREEN
+ config = F3
+end
+
+# Yellow = Yellow button for interactive screens.
+begin
+ prog = mythtv
+ button = KEY_YELLOW
+ config = F4
+end
+
+# Blue = Blue button for interactive screens.
+begin
+ prog = mythtv
+ button = KEY_BLUE
+ config = F5
+end
+#
+#
+######################################################################### MPlayer Section #####
+# "mplayer -input keylist" Prints all keys that can be bound to commands.
+# "mplayer -input cmdlist" Prints all commands that can be bound to keys
+# "man mplayer" Prints documentation for MPlayer
+
+# Show OSD
+begin
+ prog = mplayer
+ button = KEY_OK
+ config = osd
+end
+
+# Pause playback
+begin
+ prog = mplayer
+ button = KEY_PAUSE
+ config = pause
+end
+
+# If paused, resume playing
+begin
+ prog = mplayer
+ button = KEY_PLAY
+ config = pause
+end
+
+# Stop playback and exit
+begin
+ prog = mplayer
+ button = KEY_STOP
+ config = q
+end
+
+# Exit playback
+begin
+ prog = mplayer
+ button = KEY_EXIT
+ config = q
+end
+
+# Subtitle
+begin
+ prog = mplayer
+ button = KEY_TITLE
+ config = sub_visibility
+end
+
+# Subtitle language
+begin
+ prog = mplayer
+# button = Language
+ button = KEY_BLUE
+ config = vobsub_lang
+end
+
+# Audio language
+begin
+ prog = mplayer
+ button = KEY_LANGUAGE
+ config = switch_audio
+end
+
+# Volume-Up
+begin
+ prog = mplayer
+ button = KEY_VOLUMEUP
+ repeat = 2
+ config = volume +1
+end
+
+# Volume-Down
+begin
+ prog = mplayer
+ button = KEY_VOLUMEDOWN
+ repeat = 2
+ config = volume -1
+end
+
+# Mute
+begin
+ prog = mplayer
+ button = KEY_MUTE
+ config = mute
+end
+
+# Seek back 60 seconds
+begin
+ prog = mplayer
+ button = KEY_LEFT
+ repeat = 2
+ config = seek -60
+end
+
+# Seek forward 60 seconds
+begin
+ prog = mplayer
+ button = KEY_RIGHT
+ repeat = 2
+ config = seek +60
+end
+
+# Seek back 10 seconds
+begin
+ prog = mplayer
+ button = KEY_REWIND
+ repeat = 2
+ config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+ prog = mplayer
+ button = KEY_FASTFORWARD
+ repeat = 2
+ config = seek +30
+end
+
+# Quit
+begin
+ prog = mplayer
+ button = KEY_EXIT
+ config = quit
+end
+
+# Seek forward 10 minutes
+begin
+ prog = mplayer
+ button = KEY_NEXT
+ repeat = 2
+ config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+ prog = mplayer
+ button = KEY_PREVIOUS
+ repeat = 2
+ config = seek -600
+end
+
+# increase brightness
+begin
+ button = KEY_CHANNELUP
+ prog = mplayer
+ repeat = 2
+ config = brightness +1
+end
+
+# decrease brightness
+begin
+ button = KEY_CHANNELDOWN
+ prog = mplayer
+ repeat = 2
+ config = brightness -1
+end
+
+# Toggle full-screen
+#begin
+# prog = mplayer
+# button = #???????????????????????????
+# repeat = 2
+# config = vo_fullscreen
+#end
+
+
+######################################################################## XINE Section ##########
+
+# For a compleate list of Xine's Lirc Keybindings use comand
+# xine --keymap=lirc>.lircrc.xine.keybindings
+# This creates a file in current directory called ".lircrc.xine.keybindings"
+# Note: Xine has diferent sets of keybindings for lirc and keyboard
+
+## 01/14/2008
+# xine key bindings.
+# Automatically generated by xine-ui version 0.99.6cvs.
+
+#<><><><><><><><><><> Xine Video Movement <><><><>
+
+# start playback
+begin
+ prog = xine
+ button = KEY_PLAY
+ config = Play
+end
+
+# playback pause toggle
+begin
+ prog = xine
+ button = KEY_PAUSE
+ config = Pause
+end
+
+# stop playback
+begin
+ prog = xine
+ button = KEY_STOP
+ config = Stop
+end
+
+# take a snapshot
+#begin
+# prog = xine
+# button = Record
+# repeat = 2
+# config = Snapshot
+#end
+
+begin
+ prog = xine
+ button = KEY_FASTFORWARD
+ repeat = 2
+# delay = 1
+ config = SeekRelative+7
+end
+
+begin
+ prog = xine
+ button = KEY_REWIND
+ repeat = 2
+# delay = 1
+ config = SeekRelative-7
+end
+
+# set position to -60 seconds in current stream
+begin
+ prog = xine
+ button = KEY_PREVIOUS
+ repeat = 2
+ delay = 1
+ config = SeekRelative-60
+end
+
+# set position to +60 seconds in current stream
+begin
+ prog = xine
+ button = KEY_NEXT
+ repeat = 2
+ delay = 1
+ config = SeekRelative+60
+end
+#<><><><><><><><><><><><>Xine Control<><><><><><><><><>
+
+# quit the program
+begin
+ prog = xine
+ button = KEY_EXIT
+ config = Quit
+end
+
+#display stream information using OSD
+begin
+ prog = xine
+ button = KEY_INFO
+ config = OSDStreamInfos
+end
+
+# menu navigate up
+begin
+ prog = xine
+ button = KEY_UP
+ repeat = 2
+ delay = 2
+ config = EventUp
+end
+
+# menu navigate down
+begin
+ prog = xine
+ button = KEY_DOWN
+ repeat = 2
+ delay = 2
+ config = EventDown
+end
+
+# menu navigate left
+begin
+ prog = xine
+ button = KEY_LEFT
+ repeat = 2
+ delay = 2
+ config = EventLeft
+end
+
+# menu navigate right
+begin
+ prog = xine
+ button = KEY_RIGHT
+ repeat = 2
+ delay = 2
+ config = EventRight
+end
+
+# menu select
+begin
+ prog = xine
+ button = KEY_OK
+ config = EventSelect
+end
+
+# jump to Root Menu
+begin
+ prog = xine
+ button = KEY_MEDIA
+ config = Menu
+end
+
+#<><><><><><><><><><><><><><><><><><><> Xine Volume / Channel <><><><><><><><>
+
+# increment audio volume
+begin
+ prog = xine
+ button = KEY_VOLUMEUP
+ repeat = 1
+ config = Volume+
+end
+
+# decrement audio volume
+begin
+ prog = xine
+ button = KEY_VOLUMEDOWN
+ repeat = 1
+ config = Volume-
+end
+
+# audio muting toggle
+begin
+ prog = xine
+ button = KEY_MUTE
+ config = Mute
+end
+
+# increase brightness by 10
+begin
+ prog = xine
+ button = KEY_CHANNELUP
+ config = BrightnessControl+
+end
+
+# decrease brightness by 10
+begin
+ prog = xine
+ button = KEY_CHANNELDOWN
+ config = BrightnessControl-
+end
+
+#<><><><><><><><><><><><><><><><><> Xine Menu <><><><>
+
+# unused key
+#begin
+# prog = xine
+# button = RecordedTV
+# config = ????????
+#end
+
+# visibility toggle of stream info window
+begin
+ prog = xine
+ button = KEY_EPG
+ config = SetupShow
+end
+
+# unused key
+#begin
+# prog = xine
+# button = LiveTV
+# config = ????????
+#end
+
+# jump to Title Menu
+begin
+ prog = xine
+ button = KEY_DVD
+ config = RootMenu
+end
+
+#<><><><><><><><><><><><><><><><><> Xine Stream Position <><><><>
+
+# set position in current stream
+
+begin
+ prog = xine
+ button = KEY_0
+ config = SetPosition0%
+end
+
+begin
+ prog = xine
+ button = KEY_1
+ config = SetPosition10%
+end
+
+begin
+ prog = xine
+ button = KEY_2
+ config = SetPosition20%
+end
+
+begin
+ prog = xine
+ button = KEY_3
+ config = SetPosition30%
+end
+
+begin
+ prog = xine
+ button = KEY_4
+ config = SetPosition40%
+end
+
+begin
+ prog = xine
+ button = KEY_5
+ config = SetPosition50%
+end
+
+begin
+ prog = xine
+ button = KEY_6
+ config = SetPosition60%
+end
+
+begin
+ prog = xine
+ button = KEY_7
+ config = SetPosition70%
+end
+
+begin
+ prog = xine
+ button = KEY_8
+ config = SetPosition80%
+end
+
+begin
+ prog = xine
+ button = KEY_9
+ config = SetPosition90%
+end
+
+#<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+
+# decrement playback speed (slow motion slowdown)
+begin
+ prog = xine
+ button = KEY_BLUE
+ config = SpeedSlower
+end
+
+# increment playback speed (slow motion speedup)
+begin
+ prog = xine
+ button = KEY_NUMERIC_POUND
+ config = SpeedFaster
+end
+
+# reset playback speed
+begin
+ prog = xine
+ button = KEY_DELETE
+ config = SpeedReset
+end
+
+# unused key
+#begin
+# prog = xine
+# button = clear
+# config = ?????????
+#end
+
+# set position to -30 seconds in current stream config = SeekRelative-30
+# set position to +30 seconds in current stream config = SeekRelative+30
+# eject the current medium config = Eject
+# zoom in config = ZoomIn
+# zoom out config = ZoomOut
+# fullscreen toggle config = ToggleFullscreen
+
+##
+# End of xine .
+##
diff --git a/linhes/linhes-templates/templates/remotes/other/imon-mce/preview.jpg b/linhes/linhes-templates/templates/remotes/other/imon-mce/preview.jpg
new file mode 100644
index 0000000..a2e46a3
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/imon-mce/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/imon-mce/remote.run b/linhes/linhes-templates/templates/remotes/other/imon-mce/remote.run
new file mode 100644
index 0000000..b6052db
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/imon-mce/remote.run
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+/usr/bin/ir-keytable -c -p RC6 -w /etc/rc_keymaps/imon_mce
+/usr/sbin/lircd -r -n --driver devinput -d /dev/remotes/SoundGraph --output /var/run/lirc/lircd
diff --git a/linhes/linhes-templates/templates/remotes/other/imon/lircd.conf.imon b/linhes/linhes-templates/templates/remotes/other/imon/lircd.conf.imon
new file mode 100644
index 0000000..9b97ab1
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/imon/lircd.conf.imon
@@ -0,0 +1,835 @@
+# generated by devinput.sh
+
+begin remote
+
+ name devinput
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x1
+ post_data_bits 32
+ post_data 0x1
+ gap 132799
+ toggle_bit_mask 0x0
+
+ begin codes
+ KEY_0 0x0200
+ KEY_102ND 0x0056
+ KEY_1 0x0201
+ KEY_2 0x0202
+ KEY_3 0x0203
+ KEY_4 0x0204
+ KEY_5 0x0205
+ KEY_6 0x0206
+ KEY_7 0x0207
+ KEY_8 0x0208
+ KEY_9 0x0209
+ KEY_A 0x001E
+ KEY_AB 0x0196
+ KEY_AGAIN 0x0081
+ KEY_ALTERASE 0x00DE
+ KEY_ANGLE 0x0173
+ KEY_APOSTROPHE 0x0028
+ KEY_ARCHIVE 0x0169
+ KEY_AUDIO 0x0188
+ KEY_AUX 0x0186
+ KEY_B 0x0030
+ KEY_BACK 0x009E
+ KEY_BACKSLASH 0x002B
+ KEY_BACKSPACE 0x000E
+ KEY_BASSBOOST 0x00D1
+ KEY_BATTERY 0x00EC
+ KEY_BLUE 0x0191
+ KEY_BOOKMARKS 0x009C
+ KEY_BREAK 0x019B
+ KEY_BRIGHTNESSDOWN 0x00E0
+ KEY_BRIGHTNESSUP 0x00E1
+ KEY_BRL_DOT1 0x01F1
+ KEY_BRL_DOT2 0x01F2
+ KEY_BRL_DOT3 0x01F3
+ KEY_BRL_DOT4 0x01F4
+ KEY_BRL_DOT5 0x01F5
+ KEY_BRL_DOT6 0x01F6
+ KEY_BRL_DOT7 0x01F7
+ KEY_BRL_DOT8 0x01F8
+ KEY_C 0x002E
+ KEY_CALC 0x008C
+ KEY_CALENDAR 0x018D
+ KEY_CAMERA 0x00D4
+ KEY_CANCEL 0x00DF
+ KEY_CAPSLOCK 0x003A
+ KEY_CD 0x017F
+ KEY_CHANNEL 0x016B
+ KEY_CHANNELDOWN 0x0193
+ KEY_CHANNELUP 0x0192
+ KEY_CHAT 0x00D8
+ KEY_CLEAR 0x0163
+ KEY_CLOSE 0x00CE
+ KEY_CLOSECD 0x00A0
+ KEY_COFFEE 0x0098
+ KEY_COMMA 0x0033
+ KEY_COMPOSE 0x007F
+ KEY_COMPUTER 0x009D
+ KEY_CONFIG 0x00AB
+ KEY_CONNECT 0x00DA
+ KEY_COPY 0x0085
+ KEY_CUT 0x0089
+ KEY_CYCLEWINDOWS 0x009A
+ KEY_D 0x0020
+ KEY_DEL_EOL 0x01C0
+ KEY_DEL_EOS 0x01C1
+ KEY_DELETE 0x006F
+ KEY_DELETEFILE 0x0092
+ KEY_DEL_LINE 0x01C3
+ KEY_DIGITS 0x019D
+ KEY_DIRECTION 0x0099
+ KEY_DIRECTORY 0x018A
+ KEY_DOCUMENTS 0x00EB
+ KEY_DOT 0x0034
+ KEY_DOWN 0x006C
+ KEY_DVD 0x0185
+ KEY_E 0x0012
+ KEY_EDIT 0x00B0
+ KEY_EJECTCD 0x00A1
+ KEY_EJECTCLOSECD 0x00A2
+ KEY_EMAIL 0x00D7
+ KEY_END 0x006B
+ KEY_ENTER 0x001C
+ KEY_EPG 0x016D
+ KEY_EQUAL 0x000D
+ KEY_ESC 0x0001
+ KEY_EXIT 0x00AE
+ KEY_F10 0x0044
+ KEY_F11 0x0057
+ KEY_F12 0x0058
+ KEY_F13 0x00B7
+ KEY_F14 0x00B8
+ KEY_F15 0x00B9
+ KEY_F1 0x003B
+ KEY_F16 0x00BA
+ KEY_F17 0x00BB
+ KEY_F18 0x00BC
+ KEY_F19 0x00BD
+ KEY_F20 0x00BE
+ KEY_F21 0x00BF
+ KEY_F22 0x00C0
+ KEY_F23 0x00C1
+ KEY_F24 0x00C2
+ KEY_F2 0x003C
+ KEY_F 0x0021
+ KEY_F3 0x003D
+ KEY_F4 0x003E
+ KEY_F5 0x003F
+ KEY_F6 0x0040
+ KEY_F7 0x0041
+ KEY_F8 0x0042
+ KEY_F9 0x0043
+ KEY_FASTFORWARD 0x00D0
+ KEY_FAVORITES 0x016C
+ KEY_FILE 0x0090
+ KEY_FINANCE 0x00DB
+ KEY_FIND 0x0088
+ KEY_FIRST 0x0194
+ KEY_FN 0x01D0
+ KEY_FN_1 0x01DE
+ KEY_FN_2 0x01DF
+ KEY_FN_B 0x01E4
+ KEY_FN_D 0x01E0
+ KEY_FN_E 0x01E1
+ KEY_FN_ESC 0x01D1
+ KEY_FN_F 0x01E2
+ KEY_FN_F10 0x01DB
+ KEY_FN_F1 0x01D2
+ KEY_FN_F11 0x01DC
+ KEY_FN_F12 0x01DD
+ KEY_FN_F2 0x01D3
+ KEY_FN_F3 0x01D4
+ KEY_FN_F4 0x01D5
+ KEY_FN_F5 0x01D6
+ KEY_FN_F6 0x01D7
+ KEY_FN_F7 0x01D8
+ KEY_FN_F8 0x01D9
+ KEY_FN_F9 0x01DA
+ KEY_FN_S 0x01E3
+ KEY_FORWARD 0x009F
+ KEY_FORWARDMAIL 0x00E9
+ KEY_FRONT 0x0084
+ KEY_G 0x0022
+ KEY_GOTO 0x0162
+ KEY_GRAVE 0x0029
+ KEY_GREEN 0x018F
+ KEY_H 0x0023
+ KEY_HANGEUL 0x007A
+ KEY_HANJA 0x007B
+ KEY_HELP 0x008A
+ KEY_HENKAN 0x005C
+ KEY_HIRAGANA 0x005B
+ KEY_HOME 0x0066
+ KEY_HOMEPAGE 0x00AC
+ KEY_HP 0x00D3
+ KEY_I 0x0017
+ KEY_INFO 0x0166
+ KEY_INSERT 0x006E
+ KEY_INS_LINE 0x01C2
+ KEY_ISO 0x00AA
+ KEY_J 0x0024
+ KEY_K 0x0025
+ KEY_KATAKANA 0x005A
+ KEY_KATAKANAHIRAGANA 0x005D
+ KEY_KBDILLUMDOWN 0x00E5
+ KEY_KBDILLUMTOGGLE 0x00E4
+ KEY_KBDILLUMUP 0x00E6
+ KEY_KEYBOARD 0x0176
+ KEY_KP0 0x0052
+ KEY_KP1 0x004F
+ KEY_KP2 0x0050
+ KEY_KP3 0x0051
+ KEY_KP4 0x004B
+ KEY_KP5 0x004C
+ KEY_KP6 0x004D
+ KEY_KP7 0x0047
+ KEY_KP8 0x0048
+ KEY_KP9 0x0049
+ KEY_KPASTERISK 0x0037
+ KEY_KPCOMMA 0x0079
+ KEY_KPDOT 0x0053
+ KEY_KPENTER 0x0060
+ KEY_KPEQUAL 0x0075
+ KEY_KPJPCOMMA 0x005F
+ KEY_KPLEFTPAREN 0x00B3
+ KEY_KPMINUS 0x004A
+ KEY_KPPLUS 0x004E
+ KEY_KPPLUSMINUS 0x0076
+ KEY_KPRIGHTPAREN 0x00B4
+ KEY_KPSLASH 0x0062
+ KEY_L 0x0026
+ KEY_LANGUAGE 0x0170
+ KEY_LAST 0x0195
+ KEY_LEFT 0x0069
+ KEY_LEFTALT 0x0038
+ KEY_LEFTBRACE 0x001A
+ KEY_LEFTCTRL 0x001D
+ KEY_LEFTMETA 0x007D
+ KEY_LEFTSHIFT 0x002A
+ KEY_LINEFEED 0x0065
+ KEY_LIST 0x018B
+ KEY_M 0x0032
+ KEY_MACRO 0x0070
+ KEY_MAIL 0x009B
+ KEY_MAX 0x01FF
+ KEY_MEDIA 0x00E2
+ KEY_MEMO 0x018C
+ KEY_MENU 0x008B
+ KEY_MHP 0x016F
+ KEY_MINUS 0x000C
+ KEY_MODE 0x0175
+ KEY_MOVE 0x00AF
+ KEY_MP3 0x0187
+ KEY_MSDOS 0x0097
+ KEY_MUHENKAN 0x005E
+ KEY_MUTE 0x0071
+ KEY_N 0x0031
+ KEY_NEW 0x00B5
+ KEY_NEXT 0x0197
+ KEY_NEXTSONG 0x00A3
+ KEY_NUMLOCK 0x0045
+ KEY_O 0x0018
+ KEY_OK 0x0160
+ KEY_OPEN 0x0086
+ KEY_OPTION 0x0165
+ KEY_P 0x0019
+ KEY_PAGEDOWN 0x006D
+ KEY_PAGEUP 0x0068
+ KEY_PASTE 0x0087
+ KEY_PAUSE 0x0077
+ KEY_PAUSECD 0x00C9
+ KEY_PC 0x0178
+ KEY_PHONE 0x00A9
+ KEY_PLAY 0x00CF
+ KEY_PLAYCD 0x00C8
+ KEY_PLAYER 0x0183
+ KEY_PLAYPAUSE 0x00A4
+ KEY_NUMERIC_POUND 0x020B
+ KEY_POWER 0x0074
+ KEY_POWER2 0x0164
+ KEY_PREVIOUS 0x019C
+ KEY_PREVIOUSSONG 0x00A5
+ KEY_PRINT 0x00D2
+ KEY_PROG1 0x0094
+ KEY_PROG2 0x0095
+ KEY_PROG3 0x00CA
+ KEY_PROG4 0x00CB
+ KEY_PROGRAM 0x016A
+ KEY_PROPS 0x0082
+ KEY_PVR 0x016E
+ KEY_Q 0x0010
+ KEY_QUESTION 0x00D6
+ KEY_R 0x0013
+ KEY_RADIO 0x0181
+ KEY_RECORD 0x00A7
+ KEY_RED 0x018E
+ KEY_REDO 0x00B6
+ KEY_REFRESH 0x00AD
+ KEY_REPLY 0x00E8
+ KEY_RESERVED 0x0000
+ KEY_RESTART 0x0198
+ KEY_REWIND 0x00A8
+ KEY_RIGHT 0x006A
+ KEY_RIGHTALT 0x0064
+ KEY_RIGHTBRACE 0x001B
+ KEY_RIGHTCTRL 0x0061
+ KEY_RIGHTMETA 0x007E
+ KEY_RIGHTSHIFT 0x0036
+ KEY_RO 0x0059
+ KEY_S 0x001F
+ KEY_SAT 0x017D
+ KEY_SAT2 0x017E
+ KEY_SAVE 0x00EA
+ KEY_SCREEN 0x0177
+ KEY_SCROLLDOWN 0x00B2
+ KEY_SCROLLLOCK 0x0046
+ KEY_SCROLLUP 0x00B1
+ KEY_SEARCH 0x00D9
+ KEY_SELECT 0x0161
+ KEY_SEMICOLON 0x0027
+ KEY_SEND 0x00E7
+ KEY_SENDFILE 0x0091
+ KEY_SETUP 0x008D
+ KEY_SHOP 0x00DD
+ KEY_SHUFFLE 0x019A
+ KEY_SLASH 0x0035
+ KEY_SLEEP 0x008E
+ KEY_SLOW 0x0199
+ KEY_SOUND 0x00D5
+ KEY_SPACE 0x0039
+ KEY_SPORT 0x00DC
+ KEY_STOP 0x0080
+ KEY_STOPCD 0x00A6
+ KEY_SUBTITLE 0x0172
+ KEY_SUSPEND 0x00CD
+ KEY_SWITCHVIDEOMODE 0x00E3
+ KEY_SYSRQ 0x0063
+ KEY_T 0x0014
+ KEY_TAB 0x000F
+ KEY_TAPE 0x0180
+ KEY_TEEN 0x019E
+ KEY_TEXT 0x0184
+ KEY_TIME 0x0167
+ KEY_TITLE 0x0171
+ KEY_TUNER 0x0182
+ KEY_TV 0x0179
+ KEY_TV2 0x017A
+ KEY_TWEN 0x019F
+ KEY_U 0x0016
+ KEY_UNDO 0x0083
+ KEY_UNKNOWN 0x00F0
+ KEY_UP 0x0067
+ KEY_V 0x002F
+ KEY_VCR 0x017B
+ KEY_VCR2 0x017C
+ KEY_VENDOR 0x0168
+ KEY_VIDEO 0x0189
+ KEY_VOLUMEDOWN 0x0072
+ KEY_VOLUMEUP 0x0073
+ KEY_W 0x0011
+ KEY_WAKEUP 0x008F
+ KEY_WWW 0x0096
+ KEY_X 0x002D
+ KEY_XFER 0x0093
+ KEY_Y 0x0015
+ KEY_YELLOW 0x0190
+ KEY_YEN 0x007C
+ KEY_Z 0x002C
+ KEY_ZENKAKUHANKAKU 0x0055
+ KEY_ZOOM 0x0174
+ BTN_0 0x0100
+ BTN_1 0x0101
+ BTN_2 0x0102
+ BTN_3 0x0103
+ BTN_4 0x0104
+ BTN_5 0x0105
+ BTN_6 0x0106
+ BTN_7 0x0107
+ BTN_8 0x0108
+ BTN_9 0x0109
+ BTN_A 0x0130
+ BTN_B 0x0131
+ BTN_BACK 0x0116
+ BTN_BASE 0x0126
+ BTN_BASE2 0x0127
+ BTN_BASE3 0x0128
+ BTN_BASE4 0x0129
+ BTN_BASE5 0x012A
+ BTN_BASE6 0x012B
+ BTN_C 0x0132
+ BTN_DEAD 0x012F
+ BTN_DIGI 0x0140
+ BTN_EXTRA 0x0114
+ BTN_FORWARD 0x0115
+ BTN_GAMEPAD 0x0130
+ BTN_GEAR_DOWN 0x0150
+ BTN_GEAR_UP 0x0151
+ BTN_JOYSTICK 0x0120
+ BTN_LEFT 0x0110
+ BTN_MIDDLE 0x0112
+ BTN_MISC 0x0100
+ BTN_MODE 0x013C
+ BTN_MOUSE 0x0110
+ BTN_PINKIE 0x0125
+ BTN_RIGHT 0x0111
+ BTN_SELECT 0x013A
+ BTN_SIDE 0x0113
+ BTN_START 0x013B
+ BTN_STYLUS 0x014B
+ BTN_STYLUS2 0x014C
+ BTN_TASK 0x0117
+ BTN_THUMB 0x0121
+ BTN_THUMB2 0x0122
+ BTN_THUMBL 0x013D
+ BTN_THUMBR 0x013E
+ BTN_TL 0x0136
+ BTN_TL2 0x0138
+ BTN_TOOL_AIRBRUSH 0x0144
+ BTN_TOOL_BRUSH 0x0142
+ BTN_TOOL_DOUBLETAP 0x014D
+ BTN_TOOL_FINGER 0x0145
+ BTN_TOOL_LENS 0x0147
+ BTN_TOOL_MOUSE 0x0146
+ BTN_TOOL_PEN 0x0140
+ BTN_TOOL_PENCIL 0x0143
+ BTN_TOOL_RUBBER 0x0141
+ BTN_TOOL_TRIPLETAP 0x014E
+ BTN_TOP 0x0123
+ BTN_TOP2 0x0124
+ BTN_TOUCH 0x014A
+ BTN_TR 0x0137
+ BTN_TR2 0x0139
+ BTN_TRIGGER 0x0120
+ BTN_WHEEL 0x0150
+ BTN_X 0x0133
+ BTN_Y 0x0134
+ BTN_Z 0x0135
+ end codes
+
+end remote
+
+# generated by devinput.sh (obsolete 32 bit version)
+begin remote
+
+ name devinput
+ bits 16
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0x8001
+ gap 132799
+ toggle_bit_mask 0x0
+
+ begin codes
+ KEY_0 0x0200
+ KEY_102ND 0x0056
+ KEY_1 0x0201
+ KEY_2 0x0202
+ KEY_3 0x0203
+ KEY_4 0x0204
+ KEY_5 0x0205
+ KEY_6 0x0206
+ KEY_7 0x0207
+ KEY_8 0x0208
+ KEY_9 0x0209
+ KEY_A 0x001E
+ KEY_AB 0x0196
+ KEY_AGAIN 0x0081
+ KEY_ALTERASE 0x00DE
+ KEY_ANGLE 0x0173
+ KEY_APOSTROPHE 0x0028
+ KEY_ARCHIVE 0x0169
+ KEY_AUDIO 0x0188
+ KEY_AUX 0x0186
+ KEY_B 0x0030
+ KEY_BACK 0x009E
+ KEY_BACKSLASH 0x002B
+ KEY_BACKSPACE 0x000E
+ KEY_BASSBOOST 0x00D1
+ KEY_BATTERY 0x00EC
+ KEY_BLUE 0x0191
+ KEY_BOOKMARKS 0x009C
+ KEY_BREAK 0x019B
+ KEY_BRIGHTNESSDOWN 0x00E0
+ KEY_BRIGHTNESSUP 0x00E1
+ KEY_BRL_DOT1 0x01F1
+ KEY_BRL_DOT2 0x01F2
+ KEY_BRL_DOT3 0x01F3
+ KEY_BRL_DOT4 0x01F4
+ KEY_BRL_DOT5 0x01F5
+ KEY_BRL_DOT6 0x01F6
+ KEY_BRL_DOT7 0x01F7
+ KEY_BRL_DOT8 0x01F8
+ KEY_C 0x002E
+ KEY_CALC 0x008C
+ KEY_CALENDAR 0x018D
+ KEY_CAMERA 0x00D4
+ KEY_CANCEL 0x00DF
+ KEY_CAPSLOCK 0x003A
+ KEY_CD 0x017F
+ KEY_CHANNEL 0x016B
+ KEY_CHANNELDOWN 0x0193
+ KEY_CHANNELUP 0x0192
+ KEY_CHAT 0x00D8
+ KEY_CLEAR 0x0163
+ KEY_CLOSE 0x00CE
+ KEY_CLOSECD 0x00A0
+ KEY_COFFEE 0x0098
+ KEY_COMMA 0x0033
+ KEY_COMPOSE 0x007F
+ KEY_COMPUTER 0x009D
+ KEY_CONFIG 0x00AB
+ KEY_CONNECT 0x00DA
+ KEY_COPY 0x0085
+ KEY_CUT 0x0089
+ KEY_CYCLEWINDOWS 0x009A
+ KEY_D 0x0020
+ KEY_DEL_EOL 0x01C0
+ KEY_DEL_EOS 0x01C1
+ KEY_DELETE 0x006F
+ KEY_DELETEFILE 0x0092
+ KEY_DEL_LINE 0x01C3
+ KEY_DIGITS 0x019D
+ KEY_DIRECTION 0x0099
+ KEY_DIRECTORY 0x018A
+ KEY_DOCUMENTS 0x00EB
+ KEY_DOT 0x0034
+ KEY_DOWN 0x006C
+ KEY_DVD 0x0185
+ KEY_E 0x0012
+ KEY_EDIT 0x00B0
+ KEY_EJECTCD 0x00A1
+ KEY_EJECTCLOSECD 0x00A2
+ KEY_EMAIL 0x00D7
+ KEY_END 0x006B
+ KEY_ENTER 0x001C
+ KEY_EPG 0x016D
+ KEY_EQUAL 0x000D
+ KEY_ESC 0x0001
+ KEY_EXIT 0x00AE
+ KEY_F10 0x0044
+ KEY_F11 0x0057
+ KEY_F12 0x0058
+ KEY_F13 0x00B7
+ KEY_F14 0x00B8
+ KEY_F15 0x00B9
+ KEY_F1 0x003B
+ KEY_F16 0x00BA
+ KEY_F17 0x00BB
+ KEY_F18 0x00BC
+ KEY_F19 0x00BD
+ KEY_F20 0x00BE
+ KEY_F21 0x00BF
+ KEY_F22 0x00C0
+ KEY_F23 0x00C1
+ KEY_F24 0x00C2
+ KEY_F2 0x003C
+ KEY_F 0x0021
+ KEY_F3 0x003D
+ KEY_F4 0x003E
+ KEY_F5 0x003F
+ KEY_F6 0x0040
+ KEY_F7 0x0041
+ KEY_F8 0x0042
+ KEY_F9 0x0043
+ KEY_FASTFORWARD 0x00D0
+ KEY_FAVORITES 0x016C
+ KEY_FILE 0x0090
+ KEY_FINANCE 0x00DB
+ KEY_FIND 0x0088
+ KEY_FIRST 0x0194
+ KEY_FN 0x01D0
+ KEY_FN_1 0x01DE
+ KEY_FN_2 0x01DF
+ KEY_FN_B 0x01E4
+ KEY_FN_D 0x01E0
+ KEY_FN_E 0x01E1
+ KEY_FN_ESC 0x01D1
+ KEY_FN_F 0x01E2
+ KEY_FN_F10 0x01DB
+ KEY_FN_F1 0x01D2
+ KEY_FN_F11 0x01DC
+ KEY_FN_F12 0x01DD
+ KEY_FN_F2 0x01D3
+ KEY_FN_F3 0x01D4
+ KEY_FN_F4 0x01D5
+ KEY_FN_F5 0x01D6
+ KEY_FN_F6 0x01D7
+ KEY_FN_F7 0x01D8
+ KEY_FN_F8 0x01D9
+ KEY_FN_F9 0x01DA
+ KEY_FN_S 0x01E3
+ KEY_FORWARD 0x009F
+ KEY_FORWARDMAIL 0x00E9
+ KEY_FRONT 0x0084
+ KEY_G 0x0022
+ KEY_GOTO 0x0162
+ KEY_GRAVE 0x0029
+ KEY_GREEN 0x018F
+ KEY_H 0x0023
+ KEY_HANGEUL 0x007A
+ KEY_HANJA 0x007B
+ KEY_HELP 0x008A
+ KEY_HENKAN 0x005C
+ KEY_HIRAGANA 0x005B
+ KEY_HOME 0x0066
+ KEY_HOMEPAGE 0x00AC
+ KEY_HP 0x00D3
+ KEY_I 0x0017
+ KEY_INFO 0x0166
+ KEY_INSERT 0x006E
+ KEY_INS_LINE 0x01C2
+ KEY_ISO 0x00AA
+ KEY_J 0x0024
+ KEY_K 0x0025
+ KEY_KATAKANA 0x005A
+ KEY_KATAKANAHIRAGANA 0x005D
+ KEY_KBDILLUMDOWN 0x00E5
+ KEY_KBDILLUMTOGGLE 0x00E4
+ KEY_KBDILLUMUP 0x00E6
+ KEY_KEYBOARD 0x0176
+ KEY_KP0 0x0052
+ KEY_KP1 0x004F
+ KEY_KP2 0x0050
+ KEY_KP3 0x0051
+ KEY_KP4 0x004B
+ KEY_KP5 0x004C
+ KEY_KP6 0x004D
+ KEY_KP7 0x0047
+ KEY_KP8 0x0048
+ KEY_KP9 0x0049
+ KEY_KPASTERISK 0x0037
+ KEY_KPCOMMA 0x0079
+ KEY_KPDOT 0x0053
+ KEY_KPENTER 0x0060
+ KEY_KPEQUAL 0x0075
+ KEY_KPJPCOMMA 0x005F
+ KEY_KPLEFTPAREN 0x00B3
+ KEY_KPMINUS 0x004A
+ KEY_KPPLUS 0x004E
+ KEY_KPPLUSMINUS 0x0076
+ KEY_KPRIGHTPAREN 0x00B4
+ KEY_KPSLASH 0x0062
+ KEY_L 0x0026
+ KEY_LANGUAGE 0x0170
+ KEY_LAST 0x0195
+ KEY_LEFT 0x0069
+ KEY_LEFTALT 0x0038
+ KEY_LEFTBRACE 0x001A
+ KEY_LEFTCTRL 0x001D
+ KEY_LEFTMETA 0x007D
+ KEY_LEFTSHIFT 0x002A
+ KEY_LINEFEED 0x0065
+ KEY_LIST 0x018B
+ KEY_M 0x0032
+ KEY_MACRO 0x0070
+ KEY_MAIL 0x009B
+ KEY_MAX 0x01FF
+ KEY_MEDIA 0x00E2
+ KEY_MEMO 0x018C
+ KEY_MENU 0x008B
+ KEY_MHP 0x016F
+ KEY_MINUS 0x000C
+ KEY_MODE 0x0175
+ KEY_MOVE 0x00AF
+ KEY_MP3 0x0187
+ KEY_MSDOS 0x0097
+ KEY_MUHENKAN 0x005E
+ KEY_MUTE 0x0071
+ KEY_N 0x0031
+ KEY_NEW 0x00B5
+ KEY_NEXT 0x0197
+ KEY_NEXTSONG 0x00A3
+ KEY_NUMLOCK 0x0045
+ KEY_NUMERIC_POUND 0x020B
+ KEY_O 0x0018
+ KEY_OK 0x0160
+ KEY_OPEN 0x0086
+ KEY_OPTION 0x0165
+ KEY_P 0x0019
+ KEY_PAGEDOWN 0x006D
+ KEY_PAGEUP 0x0068
+ KEY_PASTE 0x0087
+ KEY_PAUSE 0x0077
+ KEY_PAUSECD 0x00C9
+ KEY_PC 0x0178
+ KEY_PHONE 0x00A9
+ KEY_PLAY 0x00CF
+ KEY_PLAYCD 0x00C8
+ KEY_PLAYER 0x0183
+ KEY_PLAYPAUSE 0x00A4
+ KEY_POWER 0x0074
+ KEY_POWER2 0x0164
+ KEY_PREVIOUS 0x019C
+ KEY_PREVIOUSSONG 0x00A5
+ KEY_PRINT 0x00D2
+ KEY_PROG1 0x0094
+ KEY_PROG2 0x0095
+ KEY_PROG3 0x00CA
+ KEY_PROG4 0x00CB
+ KEY_PROGRAM 0x016A
+ KEY_PROPS 0x0082
+ KEY_PVR 0x016E
+ KEY_Q 0x0010
+ KEY_QUESTION 0x00D6
+ KEY_R 0x0013
+ KEY_RADIO 0x0181
+ KEY_RECORD 0x00A7
+ KEY_RED 0x018E
+ KEY_REDO 0x00B6
+ KEY_REFRESH 0x00AD
+ KEY_REPLY 0x00E8
+ KEY_RESERVED 0x0000
+ KEY_RESTART 0x0198
+ KEY_REWIND 0x00A8
+ KEY_RIGHT 0x006A
+ KEY_RIGHTALT 0x0064
+ KEY_RIGHTBRACE 0x001B
+ KEY_RIGHTCTRL 0x0061
+ KEY_RIGHTMETA 0x007E
+ KEY_RIGHTSHIFT 0x0036
+ KEY_RO 0x0059
+ KEY_S 0x001F
+ KEY_SAT 0x017D
+ KEY_SAT2 0x017E
+ KEY_SAVE 0x00EA
+ KEY_SCREEN 0x0177
+ KEY_SCROLLDOWN 0x00B2
+ KEY_SCROLLLOCK 0x0046
+ KEY_SCROLLUP 0x00B1
+ KEY_SEARCH 0x00D9
+ KEY_SELECT 0x0161
+ KEY_SEMICOLON 0x0027
+ KEY_SEND 0x00E7
+ KEY_SENDFILE 0x0091
+ KEY_SETUP 0x008D
+ KEY_SHOP 0x00DD
+ KEY_SHUFFLE 0x019A
+ KEY_SLASH 0x0035
+ KEY_SLEEP 0x008E
+ KEY_SLOW 0x0199
+ KEY_SOUND 0x00D5
+ KEY_SPACE 0x0039
+ KEY_SPORT 0x00DC
+ KEY_STOP 0x0080
+ KEY_STOPCD 0x00A6
+ KEY_SUBTITLE 0x0172
+ KEY_SUSPEND 0x00CD
+ KEY_SWITCHVIDEOMODE 0x00E3
+ KEY_SYSRQ 0x0063
+ KEY_T 0x0014
+ KEY_TAB 0x000F
+ KEY_TAPE 0x0180
+ KEY_TEEN 0x019E
+ KEY_TEXT 0x0184
+ KEY_TIME 0x0167
+ KEY_TITLE 0x0171
+ KEY_TUNER 0x0182
+ KEY_TV 0x0179
+ KEY_TV2 0x017A
+ KEY_TWEN 0x019F
+ KEY_U 0x0016
+ KEY_UNDO 0x0083
+ KEY_UNKNOWN 0x00F0
+ KEY_UP 0x0067
+ KEY_V 0x002F
+ KEY_VCR 0x017B
+ KEY_VCR2 0x017C
+ KEY_VENDOR 0x0168
+ KEY_VIDEO 0x0189
+ KEY_VOLUMEDOWN 0x0072
+ KEY_VOLUMEUP 0x0073
+ KEY_W 0x0011
+ KEY_WAKEUP 0x008F
+ KEY_WWW 0x0096
+ KEY_X 0x002D
+ KEY_XFER 0x0093
+ KEY_Y 0x0015
+ KEY_YELLOW 0x0190
+ KEY_YEN 0x007C
+ KEY_Z 0x002C
+ KEY_ZENKAKUHANKAKU 0x0055
+ KEY_ZOOM 0x0174
+ BTN_0 0x0100
+ BTN_1 0x0101
+ BTN_2 0x0102
+ BTN_3 0x0103
+ BTN_4 0x0104
+ BTN_5 0x0105
+ BTN_6 0x0106
+ BTN_7 0x0107
+ BTN_8 0x0108
+ BTN_9 0x0109
+ BTN_A 0x0130
+ BTN_B 0x0131
+ BTN_BACK 0x0116
+ BTN_BASE 0x0126
+ BTN_BASE2 0x0127
+ BTN_BASE3 0x0128
+ BTN_BASE4 0x0129
+ BTN_BASE5 0x012A
+ BTN_BASE6 0x012B
+ BTN_C 0x0132
+ BTN_DEAD 0x012F
+ BTN_DIGI 0x0140
+ BTN_EXTRA 0x0114
+ BTN_FORWARD 0x0115
+ BTN_GAMEPAD 0x0130
+ BTN_GEAR_DOWN 0x0150
+ BTN_GEAR_UP 0x0151
+ BTN_JOYSTICK 0x0120
+ BTN_LEFT 0x0110
+ BTN_MIDDLE 0x0112
+ BTN_MISC 0x0100
+ BTN_MODE 0x013C
+ BTN_MOUSE 0x0110
+ BTN_PINKIE 0x0125
+ BTN_RIGHT 0x0111
+ BTN_SELECT 0x013A
+ BTN_SIDE 0x0113
+ BTN_START 0x013B
+ BTN_STYLUS 0x014B
+ BTN_STYLUS2 0x014C
+ BTN_TASK 0x0117
+ BTN_THUMB 0x0121
+ BTN_THUMB2 0x0122
+ BTN_THUMBL 0x013D
+ BTN_THUMBR 0x013E
+ BTN_TL 0x0136
+ BTN_TL2 0x0138
+ BTN_TOOL_AIRBRUSH 0x0144
+ BTN_TOOL_BRUSH 0x0142
+ BTN_TOOL_DOUBLETAP 0x014D
+ BTN_TOOL_FINGER 0x0145
+ BTN_TOOL_LENS 0x0147
+ BTN_TOOL_MOUSE 0x0146
+ BTN_TOOL_PEN 0x0140
+ BTN_TOOL_PENCIL 0x0143
+ BTN_TOOL_RUBBER 0x0141
+ BTN_TOOL_TRIPLETAP 0x014E
+ BTN_TOP 0x0123
+ BTN_TOP2 0x0124
+ BTN_TOUCH 0x014A
+ BTN_TR 0x0137
+ BTN_TR2 0x0139
+ BTN_TRIGGER 0x0120
+ BTN_WHEEL 0x0150
+ BTN_X 0x0133
+ BTN_Y 0x0134
+ BTN_Z 0x0135
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/remotes/other/imon/lircrc b/linhes/linhes-templates/templates/remotes/other/imon/lircrc
new file mode 100644
index 0000000..f16bfc3
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/imon/lircrc
@@ -0,0 +1,922 @@
+# /home/mythtv/.mythtv/lircrc
+#
+# Media Center Edition Remote Control and Remote Control Keys on Media Center Keyboard
+########################################################################################
+# For use with the USB MCE ir receiver
+# MythTV LIRC config file for the mceusb2 or lirc_mod_mce module
+
+# Info about lircrc statment
+#begin
+# prog = ... Program controlled, irxevent, irexec, mythtv, mplayer, xine, or others
+# remote = ... mceusb, or what ever you happen to have or want to call it
+# button = ... remote keys names from your lircd.conf file
+# repeat = ... repeat = 2 is fast, repeat = 4 is slower
+# delay = ... delay before repeat, 1 is short, 4 is longer
+# config = ... output key presses to key bindings editor
+# mode = ...
+# flags = ...
+#end
+
+
+# Updated January 30th 2008 BAK
+# for the Knoppmyth project
+
+######################################################## irexec ####################
+# the lirc irexec program must be running for this section
+
+# Will perform a complete shutdown
+#begin
+# prog = irexec
+# button = Power
+# config = /usr/bin/sudo halt
+#end
+
+# Teletext = used as power down button
+begin
+ prog = irexec
+ button = KEY_SUBTITLE
+ config = /usr/bin/sudo halt
+# config = sudo /sbin/shutdown -h -t 0 now
+end
+
+
+#
+################################################ Mythtv Section ####################
+# MythTV Key Binding Editor location
+# Mythtv Menu >>Utilities / Setup >>Edit Keys
+# Key Bindings can also be found in Myth Web
+
+# Record
+begin
+ prog = mythtv
+ button = KEY_RECORD
+ config = R
+end
+
+# Stop
+begin
+ prog = mythtv
+ button = KEY_STOP
+ config = Esc
+end
+
+# Pause
+begin
+ prog = mythtv
+ button = KEY_PAUSE
+ config = P
+end
+
+# Rewind (while viewing)
+begin
+ prog = mythtv
+ button = KEY_REWIND
+ repeat = 0
+ delay = 1
+ config = <
+end
+
+# Fast forward (while viewing)
+begin
+ prog = mythtv
+ button = KEY_FASTFORWARD
+ repeat = 0
+ delay = 1
+ config = >
+end
+
+# Play
+begin
+ prog = mythtv
+ button = KEY_PLAY
+ config = L
+end
+
+# Skip backward (1 min default)
+begin
+ prog = mythtv
+ button = KEY_PREVIOUS
+ repeat = 4
+ delay = 4
+ config = PgUp
+end
+
+# Skip forward (1 min default)
+begin
+ prog = mythtv
+ button = KEY_NEXT
+ repeat = 4
+ delay = 4
+ config = PgDown
+end
+
+#<><><><><><><><><><><> Mythtv Control <><><><>
+
+# Escape/Exit/Back
+begin
+ prog = mythtv
+ button = KEY_EXIT
+ config = Esc
+end
+
+# Bring up OSD info
+begin
+ prog = mythtv
+ button = KEY_INFO
+ config = I
+end
+
+begin
+ prog = mythtv
+ button = KEY_LEFT
+ repeat = 3
+ delay = 4
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = KEY_RIGHT
+ repeat = 3
+ delay = 4
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = KEY_UP
+ repeat = 3
+ delay = 4
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = KEY_DOWN
+ repeat = 3
+ delay = 4
+ config = Down
+end
+
+# OK/Select
+begin
+ prog = mythtv
+ button = KEY_OK
+ config = Return
+end
+
+# The Start Button is really just a Menu key
+begin
+ prog = mythtv
+ button = KEY_MEDIA
+ config = M
+end
+
+#<><><><><><><><><><><><><><><>
+
+# Volume-Up
+begin
+ prog = mythtv
+ button = KEY_VOLUMEUP
+ repeat = 2
+ config = ]
+end
+
+# Volume-Down
+begin
+ prog = mythtv
+ button = VOLUMEDOWN
+ repeat = 2
+ config = [
+end
+
+# Mute
+begin
+ prog = mythtv
+ button = KEY_MUTE
+ config = |
+end
+
+# Channel Up
+begin
+ prog = mythtv
+ button = KEY_CHANNELUP
+ repeat = 3
+# delay = 1
+ config = Up
+end
+
+# Channel Down
+begin
+ prog = mythtv
+ button = CHANNELDOWN
+ config = Down
+ repeat = 3
+# delay = 1
+end
+
+# Numbers 0-9 <><><><><><><><><><><>
+
+begin
+ prog = mythtv
+ button = KEY_1
+# repeat = 2
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = KEY_2
+# repeat = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = KEY_3
+# repeat = 2
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = KEY_4
+# repeat = 2
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = KEY_5
+# repeat = 2
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = KEY_6
+# repeat = 2
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = KEY_7
+# repeat = 2
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = KEY_8
+# repeat = 2
+ config = 8
+End
+
+begin
+ prog = mythtv
+ button = KEY_9
+# repeat = 2
+ config = 9
+end
+
+begin
+ prog = mythtv
+ button = KEY_0
+# repeat = 2
+ config = 0
+end
+
+# Use Zoom for Aspect Ratio
+begin
+ prog = mythtv
+ button = KEY_ZOOM
+ config = W
+end
+
+#<><><><><><><><><><><><><><><><><><><><>
+# Seek to previous commercial cut point
+# or remove all cut points from the Editing Cutlist
+begin
+ prog = mythtv
+ button = KEY_BLUE
+ config = Q
+end
+
+# Seek to next commercial cut point
+# or add commericial cut points to the Editing Cutlist
+begin
+ prog = mythtv
+ button = KEY_NUMERIC_POUND
+ config = Z
+end
+
+# Brings up the delete box
+begin
+ prog = mythtv
+ button = KEY_DELETE
+ repeat = 0
+ config = D
+end
+
+# Toggle Editing Cutlist on or off
+begin
+ prog = mythtv
+ button = KEY_ENTER
+ repeat = 0
+ config = E
+end
+
+#<><><><><><><><> Additional Remote Commands <><><><><><><><>
+# All buttons in this section must be configured using
+# MythTV's KeyBindings JumpPoints editor.
+# >>> Utilities/ Setup >>> Edit Keys >>> JumpPoints >>>
+
+# Listen to Myth Music
+begin
+ prog = mythtv
+ button = KEY_AUDIO
+ config = Ctrl+T
+end
+
+# at this time connects to MythStreem
+begin
+ prog = mythtv
+ button = KEY_RADIO
+ config = Ctrl+Alt+S
+end
+
+# View Pictures
+begin
+ prog = mythtv
+ button = KEY_CAMERA
+ config = Ctrl+G
+end
+
+# Watch Videos
+begin
+ prog = mythtv
+ button = KEY_VIDEO
+ config = Ctrl+V
+end
+
+# Watch Live TV with Live TV Guide open
+begin
+ prog = mythtv
+ button = KEY_TV
+ config = Ctrl+S
+end
+
+# Watch Live TV
+begin
+ prog = mythtv
+ button = KEY_GREEN
+ config = Ctrl+Alt+L
+end
+
+# Recorded TV Programs
+begin
+ prog = mythtv
+ button = KEY_PVR
+ config = Ctrl+R
+end
+
+# Program Guide
+begin
+ prog = mythtv
+ button = KEY_EPG
+ config = Ctrl+Alt+G
+end
+
+# Play DVD
+# There must be a disk in the DVD drive or it dos nothing
+begin
+ prog = mythtv
+ button = KEY_DVD
+ config = Ctrl+Alt+D
+end
+
+# unused key
+#begin
+# prog = mythtv
+# button = Messenger
+# config = Ctrl+Alt+A
+#end
+
+# <><><><><><><><><><><><><> Teletext Buttons <><><><><><><><><><><>
+
+# Teletext = Show interactive MHEG screens
+#begin
+# prog = mythtv
+# button = Teltext
+# config = F7
+#end
+
+# Red = Red button for interactive screens.
+begin
+ prog = mythtv
+ button = KEY_RED
+ config = F2
+end
+
+# Green = Green button for interactive screens.
+begin
+ prog = mythtv
+ button = KEY_GREEN
+ config = F3
+end
+
+# Yellow = Yellow button for interactive screens.
+begin
+ prog = mythtv
+ button = KEY_YELLOW
+ config = F4
+end
+
+# Blue = Blue button for interactive screens.
+begin
+ prog = mythtv
+ button = KEY_BLUE
+ config = F5
+end
+#
+#
+######################################################################### MPlayer Section #####
+# "mplayer -input keylist" Prints all keys that can be bound to commands.
+# "mplayer -input cmdlist" Prints all commands that can be bound to keys
+# "man mplayer" Prints documentation for MPlayer
+
+# Show OSD
+begin
+ prog = mplayer
+ button = KEY_OK
+ config = osd
+end
+
+# Pause playback
+begin
+ prog = mplayer
+ button = KEY_PAUSE
+ config = pause
+end
+
+# If paused, resume playing
+begin
+ prog = mplayer
+ button = KEY_PLAY
+ config = pause
+end
+
+# Stop playback and exit
+begin
+ prog = mplayer
+ button = KEY_STOP
+ config = q
+end
+
+# Exit playback
+begin
+ prog = mplayer
+ button = KEY_EXIT
+ config = q
+end
+
+# Subtitle
+begin
+ prog = mplayer
+ button = KEY_TITLE
+ config = sub_visibility
+end
+
+# Subtitle language
+begin
+ prog = mplayer
+# button = Language
+ button = KEY_BLUE
+ config = vobsub_lang
+end
+
+# Audio language
+begin
+ prog = mplayer
+ button = KEY_LANGUAGE
+ config = switch_audio
+end
+
+# Volume-Up
+begin
+ prog = mplayer
+ button = KEY_VOLUMEUP
+ repeat = 2
+ config = volume +1
+end
+
+# Volume-Down
+begin
+ prog = mplayer
+ button = KEY_VOLUMEDOWN
+ repeat = 2
+ config = volume -1
+end
+
+# Mute
+begin
+ prog = mplayer
+ button = KEY_MUTE
+ config = mute
+end
+
+# Seek back 60 seconds
+begin
+ prog = mplayer
+ button = KEY_LEFT
+ repeat = 2
+ config = seek -60
+end
+
+# Seek forward 60 seconds
+begin
+ prog = mplayer
+ button = KEY_RIGHT
+ repeat = 2
+ config = seek +60
+end
+
+# Seek back 10 seconds
+begin
+ prog = mplayer
+ button = KEY_REWIND
+ repeat = 2
+ config = seek -10
+end
+
+# Seek forward 30 seconds
+begin
+ prog = mplayer
+ button = KEY_FASTFORWARD
+ repeat = 2
+ config = seek +30
+end
+
+# Quit
+begin
+ prog = mplayer
+ button = KEY_EXIT
+ config = quit
+end
+
+# Seek forward 10 minutes
+begin
+ prog = mplayer
+ button = KEY_NEXT
+ repeat = 2
+ config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+ prog = mplayer
+ button = KEY_PREVIOUS
+ repeat = 2
+ config = seek -600
+end
+
+# increase brightness
+begin
+ button = KEY_CHANNELUP
+ prog = mplayer
+ repeat = 2
+ config = brightness +1
+end
+
+# decrease brightness
+begin
+ button = KEY_CHANNELDOWN
+ prog = mplayer
+ repeat = 2
+ config = brightness -1
+end
+
+# Toggle full-screen
+#begin
+# prog = mplayer
+# button = #???????????????????????????
+# repeat = 2
+# config = vo_fullscreen
+#end
+
+
+######################################################################## XINE Section ##########
+
+# For a compleate list of Xine's Lirc Keybindings use comand
+# xine --keymap=lirc>.lircrc.xine.keybindings
+# This creates a file in current directory called ".lircrc.xine.keybindings"
+# Note: Xine has diferent sets of keybindings for lirc and keyboard
+
+## 01/14/2008
+# xine key bindings.
+# Automatically generated by xine-ui version 0.99.6cvs.
+
+#<><><><><><><><><><> Xine Video Movement <><><><>
+
+# start playback
+begin
+ prog = xine
+ button = KEY_PLAY
+ config = Play
+end
+
+# playback pause toggle
+begin
+ prog = xine
+ button = KEY_PAUSE
+ config = Pause
+end
+
+# stop playback
+begin
+ prog = xine
+ button = KEY_STOP
+ config = Stop
+end
+
+# take a snapshot
+#begin
+# prog = xine
+# button = Record
+# repeat = 2
+# config = Snapshot
+#end
+
+begin
+ prog = xine
+ button = KEY_FASTFORWARD
+ repeat = 2
+# delay = 1
+ config = SeekRelative+7
+end
+
+begin
+ prog = xine
+ button = KEY_REWIND
+ repeat = 2
+# delay = 1
+ config = SeekRelative-7
+end
+
+# set position to -60 seconds in current stream
+begin
+ prog = xine
+ button = KEY_PREVIOUS
+ repeat = 2
+ delay = 1
+ config = SeekRelative-60
+end
+
+# set position to +60 seconds in current stream
+begin
+ prog = xine
+ button = KEY_NEXT
+ repeat = 2
+ delay = 1
+ config = SeekRelative+60
+end
+#<><><><><><><><><><><><>Xine Control<><><><><><><><><>
+
+# quit the program
+begin
+ prog = xine
+ button = KEY_EXIT
+ config = Quit
+end
+
+#display stream information using OSD
+begin
+ prog = xine
+ button = KEY_INFO
+ config = OSDStreamInfos
+end
+
+# menu navigate up
+begin
+ prog = xine
+ button = KEY_UP
+ repeat = 2
+ delay = 2
+ config = EventUp
+end
+
+# menu navigate down
+begin
+ prog = xine
+ button = KEY_DOWN
+ repeat = 2
+ delay = 2
+ config = EventDown
+end
+
+# menu navigate left
+begin
+ prog = xine
+ button = KEY_LEFT
+ repeat = 2
+ delay = 2
+ config = EventLeft
+end
+
+# menu navigate right
+begin
+ prog = xine
+ button = KEY_RIGHT
+ repeat = 2
+ delay = 2
+ config = EventRight
+end
+
+# menu select
+begin
+ prog = xine
+ button = KEY_OK
+ config = EventSelect
+end
+
+# jump to Root Menu
+begin
+ prog = xine
+ button = KEY_MEDIA
+ config = Menu
+end
+
+#<><><><><><><><><><><><><><><><><><><> Xine Volume / Channel <><><><><><><><>
+
+# increment audio volume
+begin
+ prog = xine
+ button = KEY_VOLUMEUP
+ repeat = 1
+ config = Volume+
+end
+
+# decrement audio volume
+begin
+ prog = xine
+ button = KEY_VOLUMEDOWN
+ repeat = 1
+ config = Volume-
+end
+
+# audio muting toggle
+begin
+ prog = xine
+ button = KEY_MUTE
+ config = Mute
+end
+
+# increase brightness by 10
+begin
+ prog = xine
+ button = KEY_CHANNELUP
+ config = BrightnessControl+
+end
+
+# decrease brightness by 10
+begin
+ prog = xine
+ button = KEY_CHANNELDOWN
+ config = BrightnessControl-
+end
+
+#<><><><><><><><><><><><><><><><><> Xine Menu <><><><>
+
+# unused key
+#begin
+# prog = xine
+# button = RecordedTV
+# config = ????????
+#end
+
+# visibility toggle of stream info window
+begin
+ prog = xine
+ button = KEY_EPG
+ config = SetupShow
+end
+
+# unused key
+#begin
+# prog = xine
+# button = LiveTV
+# config = ????????
+#end
+
+# jump to Title Menu
+begin
+ prog = xine
+ button = KEY_DVD
+ config = RootMenu
+end
+
+#<><><><><><><><><><><><><><><><><> Xine Stream Position <><><><>
+
+# set position in current stream
+
+begin
+ prog = xine
+ button = KEY_0
+ config = SetPosition0%
+end
+
+begin
+ prog = xine
+ button = KEY_1
+ config = SetPosition10%
+end
+
+begin
+ prog = xine
+ button = KEY_2
+ config = SetPosition20%
+end
+
+begin
+ prog = xine
+ button = KEY_3
+ config = SetPosition30%
+end
+
+begin
+ prog = xine
+ button = KEY_4
+ config = SetPosition40%
+end
+
+begin
+ prog = xine
+ button = KEY_5
+ config = SetPosition50%
+end
+
+begin
+ prog = xine
+ button = KEY_6
+ config = SetPosition60%
+end
+
+begin
+ prog = xine
+ button = KEY_7
+ config = SetPosition70%
+end
+
+begin
+ prog = xine
+ button = KEY_8
+ config = SetPosition80%
+end
+
+begin
+ prog = xine
+ button = KEY_9
+ config = SetPosition90%
+end
+
+#<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+
+# decrement playback speed (slow motion slowdown)
+begin
+ prog = xine
+ button = KEY_BLUE
+ config = SpeedSlower
+end
+
+# increment playback speed (slow motion speedup)
+begin
+ prog = xine
+ button = KEY_NUMERIC_POUND
+ config = SpeedFaster
+end
+
+# reset playback speed
+begin
+ prog = xine
+ button = KEY_DELETE
+ config = SpeedReset
+end
+
+# unused key
+#begin
+# prog = xine
+# button = clear
+# config = ?????????
+#end
+
+# set position to -30 seconds in current stream config = SeekRelative-30
+# set position to +30 seconds in current stream config = SeekRelative+30
+# eject the current medium config = Eject
+# zoom in config = ZoomIn
+# zoom out config = ZoomOut
+# fullscreen toggle config = ToggleFullscreen
+
+##
+# End of xine .
+##
diff --git a/linhes/linhes-templates/templates/remotes/other/imon/preview.jpg b/linhes/linhes-templates/templates/remotes/other/imon/preview.jpg
new file mode 100644
index 0000000..0829118
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/imon/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/other/imon/remote.run b/linhes/linhes-templates/templates/remotes/other/imon/remote.run
new file mode 100644
index 0000000..9d0ab2e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/imon/remote.run
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+/usr/bin/ir-keytable -c -p lirc -w /etc/rc_keymaps/imon_pad
+/usr/sbin/lircd -r -n --driver devinput -d /dev/remotes/SoundGraph --output /var/run/lirc/lircd
diff --git a/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/lircd.snapstrm.conf b/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/lircd.snapstrm.conf
new file mode 100644
index 0000000..288bb51
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/lircd.snapstrm.conf
@@ -0,0 +1,127 @@
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.7.0(any) on Fri Mar 11 08:51:45 2005
+#
+# contributed by
+#
+# brand: Snapstream Firefly Remote
+# model no. of remote control:
+# devices being controlled by this remote:
+#
+
+begin remote
+
+name Snapstream_Firefly
+bits 40
+eps 30
+aeps 100
+
+one 0 0
+zero 0 0
+gap 219964
+toggle_bit 0
+
+
+begin codes
+MAXI 0x0000001481AC0000
+MAXI 0x00000014012C0000
+CLOSE 0x00000014D7020000
+CLOSE 0x0000001457820000
+1 0x00000014628D0000
+1 0x00000014E20D0000
+2 0x00000014E30E0000
+2 0x00000014638E0000
+3 0x00000014648F0000
+3 0x00000014E40F0000
+4 0x00000014E5100000
+4 0x0000001465900000
+5 0x0000001466910000
+5 0x00000014E6110000
+6 0x00000014E7120000
+6 0x0000001467920000
+7 0x0000001468930000
+7 0x00000014E8130000
+8 0x00000014E9140000
+8 0x0000001469940000
+9 0x000000146A950000
+9 0x00000014EA150000
+0 0x00000014EC170000
+0 0x000000146C970000
+BACK 0x000000146B960000
+BACK 0x00000014EB160000
+ENT 0x00000014ED180000
+ENT 0x000000146D980000
+VOL+ 0x000000145E890000
+VOL+ 0x00000014DE090000
+VOL- 0x000000145D880000
+VOL- 0x00000014DD080000
+MUTE 0x000000145F8A0000
+MUTE 0x00000014DF0A0000
+FIREFLY 0x0000001455800000
+FIREFLY 0x00000014D5000000
+CH+ 0x00000014608B0000
+CH+ 0x00000014E00B0000
+CH- 0x00000014618C0000
+CH- 0x00000014E10C0000
+INFO 0x0000001483AE0000
+INFO 0x00000014032E0000
+OPTION 0x0000001484AF0000
+OPTION 0x00000014042F0000
+UP 0x000000146F9A0000
+UP 0x00000014EF1A0000
+LEFT 0x00000014729D0000
+LEFT 0x00000014F21D0000
+DOWN 0x0000001477A20000
+DOWN 0x00000014F7220000
+RIGHT 0x00000014749F0000
+RIGHT 0x00000014F41F0000
+OK 0x00000014739E0000
+OK 0x00000014F31E0000
+MENU 0x00000014719C0000
+MENU 0x00000014F11C0000
+EXIT 0x0000001475A00000
+EXIT 0x00000014F5200000
+REC 0x00000014FC270000
+REC 0x000000147CA70000
+PLAY 0x00000014FA250000
+PLAY 0x000000147AA50000
+STOP 0x00000014FD280000
+STOP 0x000000147DA80000
+REW 0x00000014F9240000
+REW 0x0000001479A40000
+FWD 0x00000014FB260000
+FWD 0x000000147BA60000
+PREV 0x00000014002B0000
+PREV 0x0000001480AB0000
+PAUSE 0x00000014FE290000
+PAUSE 0x000000147EA90000
+NEXT 0x00000014FF2A0000
+NEXT 0x000000147FAA0000
+MUSIC 0x00000014DB060000
+MUSIC 0x000000145B860000
+PHOTOS 0x00000014DA050000
+PHOTOS 0x000000145A850000
+DVD 0x00000014D9040000
+DVD 0x0000001459840000
+TV 0x00000014D8030000
+TV 0x0000001458830000
+VIDEO 0x00000014DC070000
+VIDEO 0x000000145C870000
+HELP 0x00000014D6010000
+HELP 0x0000001456810000
+MOUSE 0x00000014022D0000
+MOUSE 0x0000001482AD0000
+A 0x00000014EE190000
+A 0x000000146E990000
+B 0x00000014F01B0000
+B 0x00000014709B0000
+C 0x00000014F6210000
+C 0x0000001476A10000
+D 0x00000014F8230000
+D 0x0000001478A30000
+
+end codes
+
+end remote \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/lircrc-snapstrm.txt b/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/lircrc-snapstrm.txt
new file mode 100644
index 0000000..e918011
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/lircrc-snapstrm.txt
@@ -0,0 +1,590 @@
+# ~/.mythtv/lircrc
+#
+# MythTV native LIRC config file for
+# the new grey Hauppauge remote
+#
+# Modified from Jarod Wilson's which came from Jeff Campbell's
+# By Brad Templeton
+
+
+# Here we have the jump point commands. They only work if you have
+# defined function keys for these jump points. For me the most
+# common command is the menu of recordings, so I put that on "videos"
+# even though that's counter-intuitive
+
+begin
+prog = mythtv
+button = TV
+repeat = 3
+config = F5
+end
+
+begin
+prog = mythtv
+button = Videos
+repeat = 3
+config = F2
+end
+
+# Not yet defined
+begin
+prog = mythtv
+button = Music
+repeat = 3
+config = Up
+end
+
+# Given another function for now, I don't use mythgallery
+begin
+prog = mythtv
+button = Pictures
+repeat = 3
+config = F
+end
+
+begin
+prog = mythtv
+button = Guide
+repeat = 3
+config = F3
+end
+
+# I stuck the "todo" list on here as Myth has no radio function
+begin
+prog = mythtv
+button = Radio
+repeat = 3
+config = F4
+end
+
+begin
+prog = mythtv
+button = UP
+repeat = 3
+config = Up
+end
+
+begin
+prog = mythtv
+button = DOWN
+repeat = 3
+config = Down
+end
+
+begin
+prog = mythtv
+button = LEFT
+repeat = 3
+config = Left
+end
+
+begin
+prog = mythtv
+button = RIGHT
+repeat = 3
+config = Right
+end
+
+# Channel Up
+begin
+prog = mythtv
+button = Channel-UP
+repeat = 3
+config = Up
+end
+
+# Channel Down
+begin
+prog = mythtv
+button = Channel-DOWN
+repeat = 3
+config = Down
+end
+
+# OK/Select
+begin
+prog = mythtv
+button = Ok
+config = Space
+end
+
+# Play
+begin
+prog = mythtv
+button = Play
+config = Return
+end
+
+# Stop
+begin
+prog = mythtv
+button = Stop
+config = I
+end
+
+# Escape/Exit/Back
+begin
+prog = mythtv
+button = BACK
+config = Esc
+end
+
+# Power Off/Exit
+begin
+prog = mythtv
+button = POWER
+config = Esc
+end
+
+
+# Pause
+begin
+prog = mythtv
+button = Pause
+repeat = 3
+config = P
+end
+
+# Mute
+begin
+prog = mythtv
+button = Mute
+repeat = 3
+config = |
+end
+
+# Fast forward (30 sec default)
+begin
+prog = mythtv
+button = Rewind
+repeat = 3
+config = PgUp
+end
+
+# Rewind (10 sec default)
+begin
+prog = mythtv
+button = Forward
+repeat = 3
+config = PgDown
+end
+
+# Skip forward (10 min default)
+begin
+prog = mythtv
+button = Next
+repeat = 3
+config = End
+end
+
+# Skip backward (10 min default)
+begin
+prog = mythtv
+button = Previous
+repeat = 3
+config = Home
+end
+
+# Record
+begin
+prog = mythtv
+button = Record
+repeat = 3
+config = R
+end
+
+# Delete
+begin
+prog = mythtv
+button = Red
+repeat = 3
+config = D
+end
+
+# Decrease play speed
+begin
+prog = mythtv
+button = Green
+repeat = 3
+config = J
+end
+
+# Display EPG while in live TV,
+# View selected show while in EPG
+begin
+prog = mythtv
+button = Menu
+repeat = 3
+config = M
+end
+
+# Scroll up
+begin
+prog = mythtv
+button = Volume-UP
+repeat = 3
+config = F11
+end
+
+# Scroll down
+begin
+prog = mythtv
+button = Volume-DOWN
+repeat = 3
+config = F10
+end
+
+# Bring up OSD info
+begin
+prog = mythtv
+button = Go
+repeat = 3
+config = I
+end
+
+# Change display aspect ratio
+begin
+prog = mythtv
+button = Prev-Channel
+repeat = 3
+config = W
+end
+
+# double speed watch
+begin
+prog = mythtv
+button = Yellow
+repeat = 3
+config = J
+end
+
+# change tuners
+#begin
+#prog = mythtv
+#button = hash
+#repeat = 3
+#config = Y
+#end
+
+# Bring up Time stretch
+begin
+prog = mythtv
+button = Blue
+repeat = 3
+config = Y
+end
+
+# Numbers 0-9
+
+begin
+prog = mythtv
+button = 0
+repeat = 3
+config = 0
+end
+
+begin
+prog = mythtv
+button = 1
+repeat = 3
+config = 1
+end
+
+begin
+prog = mythtv
+button = 2
+repeat = 3
+config = 2
+end
+
+begin
+prog = mythtv
+button = 3
+repeat = 3
+config = 3
+end
+
+begin
+prog = mythtv
+button = 4
+repeat = 3
+config = 4
+end
+
+begin
+prog = mythtv
+button = 5
+repeat = 3
+config = 5
+end
+
+begin
+prog = mythtv
+button = 6
+repeat = 3
+config = 6
+end
+
+begin
+prog = mythtv
+button = 7
+repeat = 3
+config = 7
+end
+
+begin
+prog = mythtv
+button = 8
+repeat = 3
+config = 8
+end
+
+begin
+prog = mythtv
+button = 9
+repeat = 3
+config = 9
+end
+
+
+### MPlayer lirc setup
+
+# Show OSD
+begin
+prog = mplayer
+button = MENU
+repeat = 3
+config = osd
+end
+
+# Pause playback
+begin
+prog = mplayer
+button = PAUSE
+repeat = 3
+config = pause
+end
+
+# Skip ahead a minute if playing
+# If paused, resume playing
+begin
+prog = mplayer
+button = PLAY
+repeat = 3
+config = seek +1
+end
+
+# Stop playback and exit
+begin
+prog = mplayer
+button = Back
+repeat = 3
+config = quit
+end
+
+# Mute
+begin
+prog = mplayer
+button = MUTE
+repeat = 3
+config = mute
+end
+
+# Seek back 10 seconds
+begin
+prog = mplayer
+button = LEFT
+repeat = 3
+config = seek -7
+end
+
+# Seek forward 30 seconds
+begin
+prog = mplayer
+button = RIGHT
+repeat = 3
+config = seek +30
+end
+
+# Quit
+begin
+prog = mplayer
+button = EXIT
+repeat = 3
+config = quit
+end
+
+# Seek forward 10 minutes
+begin
+prog = mplayer
+button = SKIP
+repeat = 3
+config = seek +600
+end
+
+# Seek backward 10 minutes
+begin
+prog = mplayer
+button = REPLAY
+repeat = 3
+config = seek -600
+end
+
+# Toggle full-screen
+begin
+prog = mplayer
+button = FULL
+repeat = 3
+config = vo_fullscreen
+end
+
+### Xine lirc setup
+
+begin
+prog = xine
+button = PLAY
+repeat = 3
+config = Play
+end
+
+begin
+prog = xine
+button = STOP
+repeat = 3
+config = Stop
+end
+
+begin
+prog = xine
+button = OFF
+repeat = 3
+config = Quit
+end
+
+begin
+prog = xine
+button = PAUSE
+repeat = 3
+config = Pause
+end
+
+begin
+prog = xine
+button = CH+
+repeat = 3
+config = EventUp
+end
+
+begin
+prog = xine
+button = CH-
+repeat = 3
+config = EventDown
+end
+
+begin
+prog = xine
+button = VOL-
+repeat = 3
+config = EventLeft
+end
+
+begin
+prog = xine
+button = VOL+
+repeat = 3
+config = EventRight
+end
+
+begin
+prog = xine
+button = OK
+repeat = 3
+config = EventSelect
+end
+
+begin
+prog = xine
+button = BACK
+repeat = 3
+config = Menu
+end
+
+begin
+prog = xine
+button = FFW
+repeat = 3
+#config = SpeedFaster
+config = SeekRelative+60
+end
+
+begin
+prog = xine
+button = REW
+repeat = 3
+#config = SpeedSlower
+config = SeekRelative-60
+end
+
+begin
+prog = xine
+button = FULL
+repeat = 3
+config = Volume+
+end
+
+begin
+prog = xine
+button = BLANK
+repeat = 3
+config = Volume-
+end
+
+begin
+prog = xine
+button = MUTE
+repeat = 3
+config = Mute
+end
+
+begin
+prog = xine
+button = MENU
+repeat = 3
+config = RootMenu
+end
+
+begin
+prog = xine
+button = SKIP
+repeat = 3
+config = EventNext
+end
+
+begin
+prog = xine
+button = REPLAY
+repeat = 3
+config = EventPrior
+end
+
+begin
+prog = xine
+button = GO
+repeat = 3
+config = OSDStreamInfos
+end
+
+begin
+prog = xine
+button = RED
+repeat = 3
+config = Quit
+end
+
+begin
+prog = xine
+button = RED
+repeat = 3
+config = Quit
+end \ No newline at end of file
diff --git a/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/preview.jpg b/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/preview.jpg
new file mode 100644
index 0000000..a1fbc6e
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/other/snapstream_firefly/preview.jpg
Binary files differ
diff --git a/linhes/linhes-templates/templates/remotes/receiver_usb.id b/linhes/linhes-templates/templates/remotes/receiver_usb.id
new file mode 100644
index 0000000..e03dec0
--- /dev/null
+++ b/linhes/linhes-templates/templates/remotes/receiver_usb.id
@@ -0,0 +1,40 @@
+0bc7:0005|snapstream_firefly| "X10 Wireless Technology, Inc."|ATI
+0bc7:0008|SnapStream_Firefly| "SnapStream Firefly"|ATI
+0bc7:0004|ATI_Remote_Wonder| " ATI Remote Wonder"|ATI
+0e9c:0000|streamzap|"Streamzap Remote"|favorites
+0fe9:9010|dvico| "DVICO Remote:"|favorites
+0fe9:db98|Dvico-Dual-Digital4-rev2| "Dvico Dual Digital4 rev2 0fe9/db98"|other
+6253:0100|Twinhan| "the VisionPlus is a Twinhan clone "|other
+1509:9242|mce| "FIC eHome Infrared Transceiver 1509/9242"|favorites
+1934:0602|mce| "Fintek eHome Infrared Transceiver 1934/0602"|favorites
+147a:e015|mce| "Formosa eHome Infrared Transceiver 147a/e015"|favorites
+147a:e016|mce| "Formosa eHome Infrared Transceiver 147a/e016"|favorites
+147a:e017|mce| "Formosa aim / Trust MCE Infrared Receiver147a/e017"|favorites
+147a:e018|mce| "Formosa Industrial Computing 147a/e018"|favorites
+147a:e03a|mce| "Formosa eHome Infrared Transceiver 147a/e03a"|favorites
+147a:e03c|mce| "Formosa eHome Infrared Transceiver 147a/e03c"|favorites
+147a:e042|mce| "Formosa eHome Infrared Transceiver 147a/e042"|favorites
+107b:3009|mce| "Gateway eHome Infrared Transceiver 107b/3009"|favorites
+195d:7002|mce| "Itron ione Libra Q-11 195d/7002"|favorites
+043e:9803|mce| "LG eHome Infrared Transceiver 043e/9803|favorites"
+045e:00a0|mce| "Microsoft MCE Infrared Transceiver 045e/00a0"|favorites
+03ee:2501|mce| "Mitsumi 03ee/2501"|favorites
+0471:060c|mce| "Philips Infrared Transciever - HP branded 0471/060C"|favorites
+0471:060d|mce| "Philips SRM5100 0471/060d"|favorites
+0471:0815|mce| "Philips eHome Infrared Transciever 0471/0815"|favorites
+2304:0225|mce| "Pinnacle Systems, Inc. 2304/0225"|favorites
+179d:0010|mce| "Ricavision internal Infrared Transceiver 179d/0010"|favorites
+1308:c001|mce| "Shuttle eHome Infrared Transceiver 1308/c001"|favorites
+051c:c001|mce| "Shuttle2 eHome Infrared Transceiver 051c/c001"|favorites
+0609:031d|mce| "SMK/Toshiba G83C0004D410 0609/031d"|favorites
+0609:0322|mce| "SMK eHome Infrared Transceiver (Sony VAIO)0609/0322"|favorites
+0609:0334|mce| "SKM bundled with Hauppauge PVR-150 0609/0334"|favorites
+1460:9150|mce| "Tatung eHome Infrared Transceiver 1460/9150"|favorites
+1784:0001|mce| "Topseed eHome Infrared Transceiver 1784/0001"|favorites
+1784:0006|mce| "Topseed HP eHome Infrared Transceiver 1784/0006"|favorites
+1784:0007|mce| "Topseed HP eHome Infrared Transceiver 1784/0007"|favorites
+1784:0008|mce| "Topseed eHome Infrared Transceiver 1784/0008"|favorites
+1784:000a|mce| "TopSeed eHome Infrared Transceiver 1784/000a"|favorites
+1784:0011|mce| "TopSeed eHome Infrared Transceiver 1784/0011"|favorites
+045e:006d|mce-old| "USB Microsoft IR Transceiver Driver 045e/006d"|favorites
+0019:00b4|Jetway| "Nuvoton w836x7hg Infrared Remote Transceiver"|other
diff --git a/linhes/linhes-templates/templates/smb.conf.template b/linhes/linhes-templates/templates/smb.conf.template
new file mode 100644
index 0000000..b134f7b
--- /dev/null
+++ b/linhes/linhes-templates/templates/smb.conf.template
@@ -0,0 +1,182 @@
+# This is the main Samba configuration file. You should read the
+# smb.conf(5) manual page in order to understand the options listed
+# here. Samba has a huge number of configurable options (perhaps too
+# many!) most of which are not shown in this example
+#
+# Any line which starts with a ; (semi-colon) or a # (hash)
+# is a comment and is ignored. In this example we will use a #
+# for commentry and a ; for parts of the config file that you
+# may wish to enable
+#
+# NOTE: Whenever you modify this file you should run the command "testparm"
+# to check that you have not made any basic syntactic errors.
+#
+#======================= Global Settings =====================================
+[global]
+
+ workgroup = home_lan
+
+ server string = LinHES
+
+ interfaces = 192.168.0.0/16
+ bind interfaces only = yes
+
+# This option is important for security. It allows you to restrict
+# connections to machines which are on your local network. The
+# following example restricts access to two C class networks and
+# the "loopback" interface. For more examples of the syntax see
+# the smb.conf man page
+; hosts allow = 192.168.1. 192.168.2. 127.
+
+# if you want to automatically load your printer list rather
+# than setting them up individually then you'll need this
+ printcap name = /dev/null
+ load printers = no
+
+# It should not be necessary to spell out the print system type unless
+# yours is non-standard. Currently supported print systems include:
+# bsd, sysv, plp, lprng, aix, hpux, qnx
+; printing = bsd
+
+# Uncomment this if you want a guest account, you must add this to /etc/passwd
+# otherwise the user "nobody" is used
+ guest account = mythtv
+
+# this tells Samba to use a separate log file for each machine
+# that connects
+; log file = /var/log/samba/%m.log
+ logging = syslog
+# Put a capping on the size of the log files (in Kb).
+ max log size = 50
+
+# Security mode. Most people will want user level security. See
+# security_level.txt for details.
+ security = user
+# Use password server option only with security = server
+; password server = <NT-Server-Name>
+
+# Password Level allows matching of _n_ characters of the password for
+# all combinations of upper and lower case.
+; username level = 8
+
+# You may wish to use password encryption. Please read
+# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
+# Do not enable this option unless you have read those documents
+; encrypt passwords = yes
+; smb passwd file = /etc/samba/smbpasswd
+
+# The following are needed to allow password changing from Windows to
+# update the Linux sytsem password also.
+# NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above.
+# NOTE2: You do NOT need these to allow workstations to change only
+# the encrypted SMB passwords. They allow the Unix password
+# to be kept in sync with the SMB password.
+; unix password sync = Yes
+; passwd program = /usr/bin/passwd %u
+; passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
+
+# Unix users can map to different SMB User names
+; username map = /etc/samba/smbusers
+
+# Using the following line enables you to customise your configuration
+# on a per machine basis. The %m gets replaced with the netbios name
+# of the machine that is connecting
+; include = /etc/samba/smb.conf.%m
+
+# Configure Samba to use multiple interfaces
+# If you have multiple network interfaces then you must list them
+# here. See the man page for details.
+; interfaces = 192.168.12.2/24 192.168.13.2/24
+
+# Configure remote browse list synchronisation here
+# request announcement to, or browse list sync from:
+# a specific host or from / to a whole subnet (see below)
+; remote browse sync = 192.168.3.25 192.168.5.255
+# Cause this host to announce itself to local subnets here
+; remote announce = 192.168.1.255 192.168.2.44
+
+# Browser Control Options:
+# set local master to no if you don't want Samba to become a master
+# browser on your network. Otherwise the normal election rules apply
+; local master = no
+
+# OS Level determines the precedence of this server in master browser
+# elections. The default value should be reasonable
+; os level = 33
+
+# Domain Master specifies Samba to be the Domain Master Browser. This
+# allows Samba to collate browse lists between subnets. Don't use this
+# if you already have a Windows NT domain controller doing this job
+; domain master = yes
+
+# Preferred Master causes Samba to force a local browser election on startup
+# and gives it a slightly higher chance of winning the election
+; preferred master = yes
+
+# Use only if you have an NT server on your network that has been
+# configured at install time to be a primary domain controller.
+; domain controller = <NT-Domain-Controller-SMBName>
+
+# Enable this if you want Samba to be a domain logon server for
+# Windows95 workstations.
+; domain logons = yes
+
+# if you enable domain logons then you may want a per-machine or
+# per user logon script
+# run a specific logon batch file per workstation (machine)
+; logon script = %m.bat
+# run a specific logon batch file per username
+; logon script = %U.bat
+
+# Where to store roving profiles (only for Win95 and WinNT)
+# %L substitutes for this servers netbios name, %U is username
+# You must uncomment the [Profiles] share below
+; logon path = \\%L\Profiles\%U
+
+# All NetBIOS names must be resolved to IP Addresses
+# 'Name Resolve Order' allows the named resolution mechanism to be specified
+# the default order is "host lmhosts wins bcast". "host" means use the unix
+# system gethostbyname() function call that will use either /etc/hosts OR
+# DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf
+# and the /etc/resolv.conf file. "host" therefore is system configuration
+# dependant. This parameter is most often of use to prevent DNS lookups
+# in order to resolve NetBIOS names to IP Addresses. Use with care!
+# The example below excludes use of name resolution for machines that are NOT
+# on the local network segment
+# - OR - are not deliberately to be known via lmhosts or via WINS.
+; name resolve order = wins lmhosts bcast
+
+# Windows Internet Name Serving Support Section:
+# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
+; wins support = yes
+
+# WINS Server - Tells the NMBD components of Samba to be a WINS Client
+# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
+; wins server = w.x.y.z
+
+# WINS Proxy - Tells Samba to answer name resolution queries on
+# behalf of a non WINS capable client, for this to work there must be
+# at least one WINS Server on the network. The default is NO.
+; wins proxy = yes
+
+# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
+# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
+# this has been changed in version 1.9.18 to no.
+ dns proxy = no
+
+# Case Preservation can be handy - system default is _no_
+# NOTE: These can be set on a per share basis
+; preserve case = no
+; short preserve case = no
+# Default case is normally upper case for all DOS files
+; default case = lower
+# Be very careful with case sensitivity - it can break things!
+; case sensitive = no
+
+ fruit:copyfile = yes
+ map to guest = bad user
+ unix extensions = no
+ wide links = yes
+
+#============================ Share Definitions ==============================
+
diff --git a/linhes/linhes-templates/templates/transmit/Time_Warner_SA3250/lircd.conf b/linhes/linhes-templates/templates/transmit/Time_Warner_SA3250/lircd.conf
new file mode 100644
index 0000000..51db997
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/Time_Warner_SA3250/lircd.conf
@@ -0,0 +1,413 @@
+#
+
+begin remote
+
+ name Time_Warner_SA3250
+ flags CONST_LENGTH|RAW_CODES
+ eps 30
+ aeps 100
+
+ ptrail 0
+ repeat 0 0
+ gap 100240
+ frequency 57600
+
+ begin raw_codes
+
+ name MUTE
+ 972 802 971 802 1887 778
+ 971 798 971 798 972 798
+ 971 798 972 798 971 1677
+ 972 802 1887 1656 992
+
+ name POWER
+ 3450 3229 894 2468 891 2468
+ 893 778 892 2468 891 2469
+ 917 2444 891 2468 892 2469
+ 891 779 892 778 918 752
+ 917 754 917 752 892 2471
+ 889 779 892 779 892 777
+ 892 779 892 777 868 2492
+ 892 2469 891 2470 890
+
+ name GUIDE
+ 3397 3285 890 2470 840 2519
+ 916 755 891 2470 839 2520
+ 891 780 891 2474 860 2495
+ 892 778 917 754 890 780
+ 891 781 864 804 917 2443
+ 865 805 891 779 866 2495
+ 864 805 892 779 891 2469
+ 865 2495 891 2469 866
+
+
+ name INFO
+ 3449 3231 918 2441 920 2440
+ 920 750 947 2414 920 2440
+ 920 750 894 777 919 750
+ 947 2413 921 750 919 750
+ 920 751 919 752 918 2441
+ 921 749 895 776 919 2441
+ 920 2440 920 2441 920 749
+ 921 2439 921 2440 921
+
+ name UP
+ 3396 3285 915 2444 919 2442
+ 918 752 916 2444 919 2441
+ 919 751 916 2445 919 751
+ 890 780 916 753 917 754
+ 942 729 889 780 916 2445
+ 919 751 915 756 914 2448
+ 916 752 916 2444 918 2442
+ 919 2441 918 2443 918
+
+ name DOWN
+ 3421 3261 890 2470 918 2442
+ 919 751 916 2446 917 2441
+ 919 2442 918 2442 918 752
+ 916 2444 919 751 890 780
+ 916 755 915 755 915 2445
+ 919 753 914 755 889 781
+ 889 781 916 2444 919 752
+ 889 2471 919 2441 918
+
+ name LEFT
+ 3427 3255 918 2441 924 2437
+ 920 750 918 2442 920 2441
+ 919 2440 921 2439 921 750
+ 919 751 944 726 919 752
+ 917 753 918 751 944 2417
+ 920 750 893 777 919 751
+ 919 752 918 2441 921 2440
+ 920 2440 920 2440 921
+
+ name RIGHT
+ 3424 3258 892 2466 921 2439
+ 896 774 920 2441 920 2440
+ 920 750 920 751 945 2414
+ 921 750 919 751 920 750
+ 919 752 919 751 919 2440
+ 921 750 918 752 918 2442
+ 920 2440 921 749 918 2443
+ 920 2440 920 2441 919
+
+ name SELECT
+ 3424 3257 944 2416 919 2442
+ 919 750 918 2442 920 2441
+ 919 751 943 727 918 2442
+ 920 2440 920 752 916 752
+ 969 702 917 753 892 2468
+ 919 751 892 778 918 2442
+ 924 2436 921 750 917 753
+ 918 2443 919 2441 919
+
+ name SETTINGS
+ 3402 3278 871 2491 921 2438
+ 921 749 922 2440 919 2441
+ 919 2440 921 749 921 750
+ 895 2465 920 2440 921 2440
+ 920 749 896 775 921 2439
+ 920 749 923 748 895 775
+ 922 2439 920 2440 920 749
+ 897 774 896 774 921
+
+ name EXIT
+ 3400 3279 896 2464 921 2439
+ 921 750 895 2465 921 2439
+ 921 749 898 772 896 2465
+ 920 2440 920 750 920 2441
+ 920 749 896 774 870 2491
+ 921 749 921 749 895 2465
+ 921 2440 920 749 922 748
+ 897 2464 920 750 896
+
+ name PGUP
+ 3425 3255 920 2440 920 2440
+ 921 749 895 2466 920 2440
+ 920 749 920 2441 896 2464
+ 921 749 919 2445 917 2440
+ 920 750 920 750 920 2441
+ 921 748 921 749 920 2440
+ 921 750 919 752 919 2440
+ 921 749 921 750 919
+
+ name PGDN
+ 3400 3281 921 2438 921 2441
+ 920 749 895 2465 896 2465
+ 920 2440 920 2440 920 2440
+ 921 749 896 2465 895 2465
+ 920 750 895 775 920 2440
+ 921 749 921 750 895 775
+ 896 774 896 774 921 2439
+ 921 749 921 751 894
+
+ name VOLUP
+ 995 778 1886 779 994 775
+ 995 777 993 774 996 774
+ 995 775 995 1654 1885 778
+ 995 775 995 774 995
+
+ name VOLDN
+ 996 778 971 802 1862 803
+ 970 799 996 774 995 774
+ 996 774 995 1654 1886 778
+ 996 773 971 1678 991
+
+ name CHUP
+ 3421 3259 916 2444 918 2443
+ 918 751 917 2444 919 2441
+ 919 2441 919 751 916 2444
+ 919 2441 919 2443 918 751
+ 941 729 916 755 917 2442
+ 919 752 916 754 891 778
+ 918 2444 918 751 916 754
+ 917 753 916 2445 919
+
+ name CHDN
+ 3421 3260 915 2445 918 2442
+ 919 751 891 2469 919 2441
+ 927 745 915 2444 919 2441
+ 919 2441 919 2442 918 752
+ 915 755 890 780 917 2443
+ 919 752 916 754 915 2445
+ 919 751 915 755 890 781
+ 914 756 916 2445 917
+
+ name A
+ 3425 3258 916 2442 920 2441
+ 919 751 918 2442 919 2441
+ 920 2440 920 2441 919 2441
+ 919 2441 920 750 917 2443
+ 920 751 917 752 919 2442
+ 920 750 918 753 917 753
+ 917 753 942 728 917 753
+ 918 2442 920 750 942
+
+ name B
+ 3398 3283 916 2443 892 2470
+ 892 778 892 2468 891 2475
+ 886 779 916 754 892 777
+ 892 778 919 2442 891 2468
+ 918 753 892 778 891 2469
+ 892 778 892 778 918 2443
+ 891 2469 892 2467 893 2469
+ 891 778 918 753 892
+
+ name C
+ 3396 3283 891 2469 892 2468
+ 892 778 917 2444 892 2468
+ 892 2469 891 778 892 779
+ 893 777 892 2468 892 2468
+ 918 752 893 777 892 2469
+ 892 778 892 778 867 802
+ 918 2444 917 2442 868 2492
+ 893 778 892 779 916
+
+ name 1
+ 3424 3257 890 2470 865 2495
+ 891 780 892 2468 865 2495
+ 892 777 891 780 892 779
+ 890 780 916 2444 865 805
+ 891 779 917 753 916 2445
+ 865 805 916 754 892 2469
+ 865 2494 916 2445 865 2495
+ 891 779 917 2443 866
+
+ name 2
+ 3422 3258 916 2444 865 2496
+ 889 782 915 2444 865 2495
+ 917 2444 839 830 891 780
+ 915 755 890 2470 864 806
+ 917 753 891 780 866 2495
+ 864 805 891 779 892 779
+ 865 2494 865 2496 891 2469
+ 865 805 891 2469 865
+
+ name 3
+ 3397 3284 916 2443 892 2468
+ 892 779 893 2467 892 2468
+ 917 753 892 2469 891 778
+ 893 778 891 2469 892 778
+ 918 753 890 779 893 2468
+ 891 779 893 778 891 2469
+ 892 777 893 2468 891 2468
+ 917 754 943 2417 892
+
+ name 4
+ 3421 3261 890 2470 839 2520
+ 917 753 891 2470 865 2495
+ 917 2443 865 2495 890 781
+ 891 778 891 2470 865 804
+ 895 776 892 779 891 2468
+ 866 805 917 753 943 727
+ 866 805 889 2471 865 2494
+ 892 780 916 2444 865
+
+ name 5
+ 3396 3282 920 2441 892 2467
+ 894 778 891 2468 892 2469
+ 891 780 866 802 893 2470
+ 890 779 918 2443 891 777
+ 892 779 918 752 892 2468
+ 892 779 918 752 918 2443
+ 891 2469 891 779 891 2469
+ 892 778 891 2468 893
+
+ name 6
+ 3396 3284 918 2442 866 2494
+ 892 778 917 2444 866 2494
+ 917 2444 865 804 893 2468
+ 890 780 916 2445 890 779
+ 892 779 891 778 918 2443
+ 891 778 892 779 892 779
+ 891 2468 892 778 919 2444
+ 889 778 893 2468 891
+
+ name 7
+ 3398 3282 893 2467 892 2468
+ 893 779 891 2469 891 2468
+ 919 752 892 2467 892 2469
+ 891 779 892 2468 892 777
+ 893 778 918 752 892 2468
+ 893 779 916 753 918 2442
+ 892 779 891 778 893 2468
+ 892 778 893 2467 892
+
+ name 8
+ 3448 3232 892 2468 866 2494
+ 892 779 892 2467 867 2494
+ 891 2469 866 2495 891 2469
+ 865 805 968 2394 864 804
+ 918 753 891 779 892 2468
+ 866 804 917 754 891 780
+ 916 752 917 754 892 2469
+ 865 804 893 2468 890
+
+ name 9
+ 3422 3258 891 2469 839 2521
+ 891 780 892 2468 824 2536
+ 916 754 916 755 891 779
+ 866 2494 839 2522 891 778
+ 892 778 890 781 915 2448
+ 837 831 891 779 890 2470
+ 837 2523 942 2418 838 832
+ 892 778 890 2471 839
+
+ name 0
+ 3398 3284 891 2469 890 2469
+ 893 779 891 2468 892 2468
+ 892 2468 892 778 892 779
+ 891 2469 892 2468 893 778
+ 892 777 893 777 893 2469
+ 891 778 892 779 868 802
+ 917 2443 892 2469 890 779
+ 891 779 892 2468 893
+
+ name LAST
+ 3422 3258 891 2471 916 2443
+ 891 780 891 2469 272 3088
+ 865 805 916 2445 308 3052
+ 890 2469 892 779 915 756
+ 889 781 889 780 890 2471
+ 890 779 889 781 891 2471
+ 272 1397 890 779 891 781
+ 890 2469 448 2912 917
+
+ name FAV
+ 3423 3257 918 2442 944 2417
+ 917 753 892 2469 890 2471
+ 324 3036 890 2469 379 289
+ 167 2525 891 2470 379 2981
+ 890 780 378 270 242 781
+ 866 806 889 2469 786 884
+ 891 779 891 779 892 779
+ 916 754 890 779 892 778
+ 891 2470 839
+
+ name REW
+ 3420 3258 916 2445 326 3033
+ 891 780 916 2443 891 2469
+ 916 2445 838 831 918 754
+ 890 2471 837 832 916 2444
+ 838 832 891 779 916 2445
+ 838 831 892 779 890 780
+ 892 2469 839 2520 891 780
+ 915 2444 836 836 890
+
+ name PLAY
+ 3448 3233 916 2444 891 2469
+ 917 753 892 2468 918 2443
+ 941 2420 891 2468 917 754
+ 915 755 914 2446 918 2443
+ 916 754 916 753 945 2416
+ 943 727 941 729 918 752
+ 917 753 919 2442 916 2444
+ 915 755 943 728 916
+
+ name FF
+ 3420 3259 917 2442 946 2415
+ 918 752 916 2445 918 2441
+ 943 728 917 753 942 728
+ 892 2470 864 806 889 2471
+ 865 805 918 752 916 2443
+ 944 726 892 779 891 2470
+ 891 2469 915 2445 917 753
+ 890 2471 222 1447 891
+
+ name PAUSE
+ 3421 3259 891 2470 787 2573
+ 890 780 916 2444 840 2520
+ 892 2468 864 806 917 2444
+ 839 831 890 780 891 779
+ 891 780 891 779 889 2471
+ 839 831 916 755 915 754
+ 892 2469 839 830 917 2444
+ 840 2521 891 2469 840
+
+ name STOP
+ 3398 3284 889 2471 325 3036
+ 891 779 890 2470 395 290
+ 140 2535 889 781 890 781
+ 889 2470 274 1397 891 2470
+ 272 3087 917 754 890 780
+ 889 2472 293 1377 890 779
+ 916 2444 448 2913 916 754
+ 866 2495 325 1344 891 779
+ 915
+
+ name REC
+ 3421 3258 917 2444 916 2444
+ 942 729 942 2420 889 2469
+ 992 2367 942 730 891 2468
+ 917 754 916 2443 892 2470
+ 892 777 916 754 892 2467
+ 943 730 916 754 891 779
+ 917 2442 917 754 943 2417
+ 918 753 915 754 892
+
+ name BYPASS
+ 3450 3231 891 2470 890 2470
+ 917 753 916 2447 913 2445
+ 273 3088 889 780 890 2470
+ 891 2469 916 755 890 780
+ 942 727 918 752 916 2444
+ 890 782 916 754 865 805
+ 891 2469 891 780 889 781
+ 891 2468 259 3102 866
+
+ name TV/VCR
+ 19945 3915 612 1873 560 1926
+ 560 1925 561 931 560 931
+ 587 905 559 931 563 931
+ 557 932 561 1925 585 908
+ 583 1901 559 931 586 905
+ 585 907 610 1875 561 1924
+ 561 1926 559 1926 535 1951
+ 559 1925 586 907 585 1899
+ 560 931 1048 7898 3707 3862
+ 587 1899 586 1899 586 1900
+ 559 932 586 908 323
+
+ end raw_codes
+
+ end remote
diff --git a/linhes/linhes-templates/templates/transmit/amino_STB/lircd.conf b/linhes/linhes-templates/templates/transmit/amino_STB/lircd.conf
new file mode 100644
index 0000000..904c927
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/amino_STB/lircd.conf
@@ -0,0 +1,162 @@
+# Please make this file available to others
+# by sending it to <lirc[at]bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.8.0(serial) on Mon Nov 20 19:45:54 2006
+#
+# brand:
+# Amino
+# devices being controlled by this remote:
+# Net110 (SureWest Broadband)
+#
+
+begin remote
+
+name amino_110
+flags RAW_CODES|CONST_LENGTH
+eps 30
+aeps 100
+
+ptrail 0
+repeat 0 0
+gap 99196
+
+begin raw_codes
+
+name ok
+2011 1476 877 243 274 250
+295 251 291 230 572 264
+304 498 569 514 312 252
+293 253 288 230 317 252
+293 253 288 233 314 252
+289 231 314 253 293 252
+554 518 564 259 311 253
+289 232 314 253 292 253
+289 253 293 493 569 519
+307 229 316
+
+name 1
+1979 1506 873 247 274 252
+289 252 293 253 550 258
+311 494 569 518 309 253
+288 253 320 248 299 243
+273 250 293 253 290 231
+316 250 295 250 292 250
+295 251 291 230 316 252
+551 519 567 257 312 251
+295 252 291 230 315 251
+295 251 290 492 311
+
+name 2
+1955 1533 848 254 288 232
+314 252 294 252 553 254
+311 495 568 520 305 232
+314 256 289 252 292 230
+315 251 291 230 315 231
+316 250 291 230 316 255
+291 250 291 230 315 253
+551 262 304 257 289 252
+291 230 316 250 292 229
+316 230 316 251 291 230
+315
+
+name 3
+1975 1509 848 252 289 235
+313 252 294 252 553 254
+312 494 568 519 305 232
+313 233 314 252 289 231
+314 253 291 230 315 230
+316 251 290 231 316 255
+291 250 291 230 572 519
+311 255 550 261 307 250
+291 230 316 496 307 253
+292 253 289 233 314
+
+name 4
+1957 1530 848 253 293 252
+289 230 315 253 551 261
+307 492 569 518 311 253
+289 232 313 253 288 233
+312 233 314 252 289 232
+313 257 289 253 288 232
+314 252 295 229 574 518
+568 262 305 232 313 232
+314 252 290 498 307 230
+316 250 553
+
+name 5
+1956 1531 848 230 316 252
+289 230 315 231 573 261
+307 497 566 520 307 253
+293 252 290 232 314 252
+289 232 314 232 313 253
+288 233 313 253 293 253
+288 232 314 252 552 260
+307 498 564 259 310 232
+313 233 314 493 311 250
+553 518 307
+
+name 6
+1975 1508 848 253 289 233
+313 252 293 253 551 257
+311 494 568 521 308 253
+288 233 313 253 288 233
+314 252 293 253 289 232
+314 252 293 253 289 232
+314 252 293 253 547 260
+311 253 289 233 313 253
+292 253 289 232 314 493
+312 250 554 258 307
+
+name 7
+1977 1504 849 232 313 253
+294 252 289 232 570 262
+307 497 569 518 307 252
+294 253 288 233 313 252
+293 253 289 233 313 253
+288 233 313 257 289 252
+289 233 572 519 309 253
+288 233 573 259 312 252
+289 232 313 495 569 518
+315 247 291
+
+name 8
+1952 1534 843 230 316 252
+294 252 291 231 571 262
+307 496 571 518 304 253
+293 254 289 231 314 253
+292 253 289 232 313 253
+291 230 316 230 314 253
+290 231 572 519 311 250
+553 261 305 253 294 252
+289 232 314 493 569 518
+569
+
+name 9
+1982 1504 848 253 288 233
+313 233 313 253 550 262
+307 493 570 519 304 232
+314 232 314 252 291 230
+314 252 293 254 290 231
+316 249 292 229 317 229
+316 251 552 519 564 523
+564 261 307 230 316 255
+291 491 570 261 307 496
+307
+
+name 0
+1980 1504 848 253 288 233
+313 258 288 253 552 260
+306 494 569 518 307 230
+316 230 316 250 291 230
+315 231 315 252 291 230
+316 255 291 250 291 230
+316 250 553 261 304 500
+307 252 550 262 304 232
+314 252 292 230 313 495
+311 253 288 230 316
+
+end raw_codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/transmit/coolsat_4000/lircd.conf b/linhes/linhes-templates/templates/transmit/coolsat_4000/lircd.conf
new file mode 100644
index 0000000..f4e6d47
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/coolsat_4000/lircd.conf
@@ -0,0 +1,51 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.0pre7(serial) on Fri Sep 23 00:57:56 2005
+#
+# contributed by Tim Sailer <tps|buoy.com>
+#
+# brand: Coolsat
+# model no. of remote control:
+# devices being controlled by this remote: Coolsat Pro 4000
+#
+
+begin remote
+
+ name Coolsat_Pro_4000
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9088 4370
+ one 656 1587
+ zero 656 463
+ ptrail 653
+ repeat 9083 2147
+ pre_data_bits 16
+ pre_data 0x807F
+ gap 108251
+ toggle_bit 0
+
+
+ begin codes
+ 1 0x000000000000807F
+ 2 0x00000000000040BF
+ 3 0x000000000000609F
+ 4 0x00000000000020DF
+ 5 0x000000000000A05F
+ 6 0x000000000000E01F
+ 7 0x00000000000010EF
+ 8 0x00000000000050AF
+ 9 0x000000000000D02F
+ 0 0x000000000000708F
+ O 0x00000000000048B7
+ P 0x00000000000000FF
+ end codes
+
+end remote
+
+# O is the OK button, P is the Pwr button
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/coolsat_5000/lircd.conf b/linhes/linhes-templates/templates/transmit/coolsat_5000/lircd.conf
new file mode 100644
index 0000000..d9ce7f6
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/coolsat_5000/lircd.conf
@@ -0,0 +1,60 @@
+begin remote
+
+ name Coolsat_Pro_5000
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9088 4370
+# these numbers were tweaked from the Coolsat 4000 remote, they
+# might still need more tweaking
+ one 500 1700
+ zero 500 600
+ ptrail 653
+ repeat 9083 2147
+ pre_data_bits 16
+ pre_data 0x807F
+ gap 108251
+ toggle_bit 0
+
+
+ begin codes
+ 1 0x000000000000807F
+ 2 0x00000000000040BF
+ 3 0x000000000000609F
+ 4 0x00000000000020DF
+ 5 0x000000000000A05F
+ 6 0x000000000000E01F
+ 7 0x00000000000010EF
+ 8 0x00000000000050AF
+ 9 0x000000000000D02F
+ 0 0x000000000000708F
+ OK 0x00000000000048B7
+ Up 0x000000000000A857
+ Down 0x0000000000006897
+ Power 0x00000000000000FF
+ Left 0x00000000000028D7
+ Right 0x000000000000E817
+ Mute 0x000000000000C03F
+ Red 0x000000000000E21D
+ Yellow 0x00000000000042BD
+ Green 0x000000000000827D
+ Blue 0x000000000000B847
+ Menu 0x00000000000008F7
+ Info 0x0000000000009867
+ Guide 0x00000000000018E7
+ Satellite 0x000000000000C837
+ TVRADIO 0x00000000000030CF
+ TVSAT 0x000000000000F00F
+ Pause 0x00000000000058A7
+ DoubleUP 0x0000000000007887
+ DoubleDown 0x000000000000B04F
+ Exit 0x0000000000008877
+
+ end codes
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/digitalstream_9900/lircd.conf b/linhes/linhes-templates/templates/transmit/digitalstream_9900/lircd.conf
new file mode 100644
index 0000000..13e66f6
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/digitalstream_9900/lircd.conf
@@ -0,0 +1,69 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.3pre1(default) on Wed May 7 20:27:44 2008
+#
+# contributed by Craig Betts
+#
+# brand: Digital Stream
+# model no. of remote control: Not Listed
+# devices being controlled by this remote: DTX9900
+#
+
+begin remote
+
+ name Digital_Stream_DTX9900
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9017 4456
+ one 573 1656
+ zero 573 535
+ ptrail 573
+ repeat 8970 2254
+ pre_data_bits 16
+ pre_data 0x482C
+ gap 108000
+ toggle_bit_mask 0x0
+
+ begin codes
+ Power 0x00FF
+ EPG 0x7887
+ FAV 0xF807
+ Up 0x40BF
+ Down 0xC03F
+ Left 0x20DF
+ Right 0xA05F
+ Ok 0x807F
+ Back 0xB847
+ Prev 0x04FB
+ Menu 0xD827
+ Info 0x14EB
+ Vol+ 0x609F
+ Vol- 0xE01F
+ Channel+ 0x10EF
+ Channel- 0x906F
+ Mute 0x44BB
+ Audio 0xC43B
+ Zoom 0x24DB
+ CC 0xA45B
+ 1 0x8877
+ 2 0x48B7
+ 3 0xC837
+ 4 0x28D7
+ 5 0xA857
+ 6 0x6897
+ 7 0xE817
+ 8 0x18E7
+ 9 0x9867
+ 0 0x08F7
+ Meter 0x34CB
+ - 0x58A7
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/dish301_311/lircd.conf b/linhes/linhes-templates/templates/transmit/dish301_311/lircd.conf
new file mode 100644
index 0000000..0ffc2fe
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/dish301_311/lircd.conf
@@ -0,0 +1,78 @@
+#
+# this config file was automatically generated
+# using WinLIRC 0.6.5 (LIRC 0.6.1pre3) on Tue Apr 04 06:16:24 2006
+#
+# contributed by
+#
+# brand: 301/501/3100/5100/58xx/59xx
+# model:
+# supported devices:
+#
+
+begin remote
+
+ name 301/501/3100/5100/58xx/59xx
+ bits 16
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ header 400 6100
+ one 400 1700
+ zero 400 2800
+ ptrail 400
+ gap 6200
+ min_repeat 4
+ toggle_bit 0
+
+ frequency 56000
+
+ begin codes
+ info 0x0000000000000000
+ power 0x0000000000000800
+ play 0x0000000000000C10
+ 1 0x0000000000001000
+ 2 0x0000000000001400
+ 3 0x0000000000001800
+ frwd 0x0000000000001C10
+ 4 0x0000000000002000
+ 5 0x0000000000002400
+ 6 0x0000000000002800
+ menu 0x0000000000002C00
+ 7 0x0000000000003000
+ 8 0x0000000000003400
+ 9 0x0000000000003800
+ ffwd 0x0000000000003C10
+ select 0x0000000000004000
+ 0 0x0000000000004400
+ cancel 0x0000000000004800
+ guide 0x0000000000005000
+ mute 0x0000000000005401
+ view 0x0000000000005800
+ tv_video 0x0000000000005C00
+ right 0x0000000000006000
+ vol+ 0x0000000000006401
+ up 0x0000000000006800
+ recall 0x0000000000006C00
+ left 0x0000000000007000
+ vol- 0x0000000000007401
+ down 0x0000000000007800
+ rec 0x0000000000007C00
+ pause 0x0000000000008000
+ stop 0x0000000000008400
+ sys_info 0x0000000000009000
+ */ptv_list 0x0000000000009400
+ #/search 0x0000000000009800
+ sat 0x000000000000A400
+ tv 0x000000000000A801
+ rew 0x000000000000C410
+ fwd 0x000000000000C810
+ skip_back 0x000000000000D810
+ skip_fwd 0x000000000000DC10
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/dish501_508/lircd.conf b/linhes/linhes-templates/templates/transmit/dish501_508/lircd.conf
new file mode 100644
index 0000000..0ffc2fe
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/dish501_508/lircd.conf
@@ -0,0 +1,78 @@
+#
+# this config file was automatically generated
+# using WinLIRC 0.6.5 (LIRC 0.6.1pre3) on Tue Apr 04 06:16:24 2006
+#
+# contributed by
+#
+# brand: 301/501/3100/5100/58xx/59xx
+# model:
+# supported devices:
+#
+
+begin remote
+
+ name 301/501/3100/5100/58xx/59xx
+ bits 16
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ header 400 6100
+ one 400 1700
+ zero 400 2800
+ ptrail 400
+ gap 6200
+ min_repeat 4
+ toggle_bit 0
+
+ frequency 56000
+
+ begin codes
+ info 0x0000000000000000
+ power 0x0000000000000800
+ play 0x0000000000000C10
+ 1 0x0000000000001000
+ 2 0x0000000000001400
+ 3 0x0000000000001800
+ frwd 0x0000000000001C10
+ 4 0x0000000000002000
+ 5 0x0000000000002400
+ 6 0x0000000000002800
+ menu 0x0000000000002C00
+ 7 0x0000000000003000
+ 8 0x0000000000003400
+ 9 0x0000000000003800
+ ffwd 0x0000000000003C10
+ select 0x0000000000004000
+ 0 0x0000000000004400
+ cancel 0x0000000000004800
+ guide 0x0000000000005000
+ mute 0x0000000000005401
+ view 0x0000000000005800
+ tv_video 0x0000000000005C00
+ right 0x0000000000006000
+ vol+ 0x0000000000006401
+ up 0x0000000000006800
+ recall 0x0000000000006C00
+ left 0x0000000000007000
+ vol- 0x0000000000007401
+ down 0x0000000000007800
+ rec 0x0000000000007C00
+ pause 0x0000000000008000
+ stop 0x0000000000008400
+ sys_info 0x0000000000009000
+ */ptv_list 0x0000000000009400
+ #/search 0x0000000000009800
+ sat 0x000000000000A400
+ tv 0x000000000000A801
+ rew 0x000000000000C410
+ fwd 0x000000000000C810
+ skip_back 0x000000000000D810
+ skip_fwd 0x000000000000DC10
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/dish_dvr625/lircd.conf b/linhes/linhes-templates/templates/transmit/dish_dvr625/lircd.conf
new file mode 100644
index 0000000..5c844a9
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/dish_dvr625/lircd.conf
@@ -0,0 +1,68 @@
+# contributed by Justin Stallard - darkfloyd7 at speakeasy dot net>
+#
+# brand: EchoStar Technologies Corporation
+# model: 132578
+# supported devices: DishDVR 625
+#
+
+begin remote
+ name Dish_625
+ bits 16
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 5
+ aeps 100
+ header 400 6000
+ one 400 1600
+ zero 400 2700
+ ptrail 400
+ gap 6000
+ min_repeat 2
+ toggle_bit 0
+ frequency 56800
+
+ begin codes
+ power 0x0000000000000940
+ menu 0x0000000000002D40
+ input 0x0000000000005D40
+ pageup 0x0000000000003D50
+ pagedown 0x0000000000001D50
+ up 0x0000000000006940
+ down 0x0000000000007940
+ left 0x0000000000007140
+ right 0x0000000000006140
+ select 0x0000000000004140
+ guide 0x0000000000005140
+ info 0x0000000000000140
+ cancel 0x0000000000004940
+ recall 0x0000000000006D40
+ livetv 0x0000000000005940
+ dvr 0x000000000000E550
+ play 0x0000000000000D50
+ stop 0x0000000000008540
+ pause 0x0000000000008140
+ record 0x0000000000007D40
+ back 0x000000000000C550
+ fwd 0x000000000000C950
+ skipback 0x000000000000D950
+ skipfwd 0x000000000000DD50
+ greenR 0x000000000000BD40
+ dish 0x000000000000D150
+ swap 0x000000000000F550
+ pip 0x000000000000E950
+ position 0x000000000000ED50
+ 1 0x0000000000001140
+ 2 0x0000000000001540
+ 3 0x0000000000001940
+ 4 0x0000000000002140
+ 5 0x0000000000002540
+ 6 0x0000000000002940
+ 7 0x0000000000003140
+ 8 0x0000000000003540
+ 9 0x0000000000003940
+ 0 0x0000000000004540
+ star 0x0000000000009540
+ hash 0x0000000000009940
+ end codes
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/dish_network/lircd.conf b/linhes/linhes-templates/templates/transmit/dish_network/lircd.conf
new file mode 100644
index 0000000..86aeae1
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/dish_network/lircd.conf
@@ -0,0 +1,1272 @@
+# This config file is based on the information posted by Endaf Jones at
+# http://www.gossamer-threads.com/lists/mythtv/users/196566#196566
+#
+# brand: JVC/RCA
+# model no. of remote control:
+# supported devices: Dish Network (Echostar)
+# - JVC 2700 receiver
+# - JVC 4700 receiver
+# - JVC 49xx receiver
+# - JVC 50xx receiver
+# - RCA 31x receiver
+# and several other Dish receivers using the
+# "blue button" remotes
+#
+# Unit code selection (1-16) is performed by specifying the appropriate
+# value for post_data
+# 1=0x000 2=0x200 3=0x100 4=0x300
+# 5=0x080 6=0x280 7=0x180 8=0x380
+# 9=0x040 10=0x240 11=0x140 12=0x340
+# 13=0x0C0 14=0x2C0 15=0x1C0 16=0x3C0
+#
+# Each has been implemented in this config file with the remote names "dish#"
+# where the hash/pound/number sign ("#") is a code number from 1 through 16.
+# There is also a remote called "dish" (without a number), for users with only
+# one receiver, that uses remote code 1 (DISH's default).
+#
+# The duty_cycle (the percentage of time during a pulse that infrared light is
+# being sent) is commented because some hardware transmitters don't support its
+# use.
+#
+# The discrete power functions (power_on and power_off) can be used to ensure
+# the power state of the receiver. However, they probably shouldn't be used in
+# a channel change script as the receiver will require a significant delay
+# after a power_on before it is capable of receiving/responding to additional
+# commands (such as channel numbers). Instead, assuming most of your recording
+# is during prime-time, you may want to set a cron job to run a "power_on"
+# command for each of your receivers about 5 or 10 minutes before primtetime.
+
+
+### Remote definition for remotes using remote code 1 (0x000)
+begin remote
+ name dish
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 1 (0x000)
+### (Duplicated to allow a "dish" and a "dish1" remote name)
+begin remote
+ name dish1
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 2 (0x200)
+begin remote
+ name dish2
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x200
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 3 (0x100)
+begin remote
+ name dish3
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x100
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 4 (0x300)
+begin remote
+ name dish4
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x300
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 5 (0x080)
+begin remote
+ name dish5
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x080
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 6 (0x280)
+begin remote
+ name dish6
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x280
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 7 (0x180)
+begin remote
+ name dish7
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x180
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 8 (0x380)
+begin remote
+ name dish8
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x380
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 9 (0x040)
+begin remote
+ name dish9
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x040
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 10 (0x240)
+begin remote
+ name dish10
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x240
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 11 (0x140)
+begin remote
+ name dish11
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x140
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 12 (0x340)
+begin remote
+ name dish12
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x340
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 13 (0x0C0)
+begin remote
+ name dish13
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x0C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 14 (0x2C0)
+begin remote
+ name dish14
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x2C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 15 (0x1C0)
+begin remote
+ name dish15
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x1C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 16 (0x3C0)
+begin remote
+ name dish16
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x3C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
diff --git a/linhes/linhes-templates/templates/transmit/echostar_2700/lircd.conf b/linhes/linhes-templates/templates/transmit/echostar_2700/lircd.conf
new file mode 100644
index 0000000..9ec567f
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/echostar_2700/lircd.conf
@@ -0,0 +1,1274 @@
+# This config file is based on the information posted by Endaf Jones at
+# http://www.gossamer-threads.com/lists/mythtv/users/196566#196566
+#
+# brand: JVC/RCA
+# model no. of remote control:
+# supported devices: Dish Network (Echostar)
+# - JVC 2700 receiver
+# - JVC 4700 receiver
+# - JVC 49xx receiver
+# - JVC 50xx receiver
+# - RCA 31x receiver
+# and several other Dish receivers using the
+# "blue button" remotes
+#
+# Unit code selection (1-16) is performed by specifying the appropriate
+# value for post_data
+# 1=0x000 2=0x200 3=0x100 4=0x300
+# 5=0x080 6=0x280 7=0x180 8=0x380
+# 9=0x040 10=0x240 11=0x140 12=0x340
+# 13=0x0C0 14=0x2C0 15=0x1C0 16=0x3C0
+#
+# Each has been implemented in this config file with the remote names "dish#"
+# where the hash/pound/number sign ("#") is a code number from 1 through 16.
+# There is also a remote called "dish" (without a number), for users with only
+# one receiver, that uses remote code 1 (DISH's default).
+#
+# The duty_cycle (the percentage of time during a pulse that infrared light is
+# being sent) is commented because some hardware transmitters don't support its
+# use.
+#
+# The discrete power functions (power_on and power_off) can be used to ensure
+# the power state of the receiver. However, they probably shouldn't be used in
+# a channel change script as the receiver will require a significant delay
+# after a power_on before it is capable of receiving/responding to additional
+# commands (such as channel numbers). Instead, assuming most of your recording
+# is during prime-time, you may want to set a cron job to run a "power_on"
+# command for each of your receivers about 5 or 10 minutes before primtetime.
+
+
+### Remote definition for remotes using remote code 1 (0x000)
+begin remote
+ name dish
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 1 (0x000)
+### (Duplicated to allow a "dish" and a "dish1" remote name)
+begin remote
+ name dish1
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 2 (0x200)
+begin remote
+ name dish2
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x200
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 3 (0x100)
+begin remote
+ name dish3
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x100
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 4 (0x300)
+begin remote
+ name dish4
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x300
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 5 (0x080)
+begin remote
+ name dish5
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x080
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 6 (0x280)
+begin remote
+ name dish6
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x280
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 7 (0x180)
+begin remote
+ name dish7
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x180
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 8 (0x380)
+begin remote
+ name dish8
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x380
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 9 (0x040)
+begin remote
+ name dish9
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x040
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 10 (0x240)
+begin remote
+ name dish10
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x240
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 11 (0x140)
+begin remote
+ name dish11
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x140
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 12 (0x340)
+begin remote
+ name dish12
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x340
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 13 (0x0C0)
+begin remote
+ name dish13
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x0C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 14 (0x2C0)
+begin remote
+ name dish14
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x2C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 15 (0x1C0)
+begin remote
+ name dish15
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x1C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 16 (0x3C0)
+begin remote
+ name dish16
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x3C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/echostar_4700/lircd.conf b/linhes/linhes-templates/templates/transmit/echostar_4700/lircd.conf
new file mode 100644
index 0000000..9ec567f
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/echostar_4700/lircd.conf
@@ -0,0 +1,1274 @@
+# This config file is based on the information posted by Endaf Jones at
+# http://www.gossamer-threads.com/lists/mythtv/users/196566#196566
+#
+# brand: JVC/RCA
+# model no. of remote control:
+# supported devices: Dish Network (Echostar)
+# - JVC 2700 receiver
+# - JVC 4700 receiver
+# - JVC 49xx receiver
+# - JVC 50xx receiver
+# - RCA 31x receiver
+# and several other Dish receivers using the
+# "blue button" remotes
+#
+# Unit code selection (1-16) is performed by specifying the appropriate
+# value for post_data
+# 1=0x000 2=0x200 3=0x100 4=0x300
+# 5=0x080 6=0x280 7=0x180 8=0x380
+# 9=0x040 10=0x240 11=0x140 12=0x340
+# 13=0x0C0 14=0x2C0 15=0x1C0 16=0x3C0
+#
+# Each has been implemented in this config file with the remote names "dish#"
+# where the hash/pound/number sign ("#") is a code number from 1 through 16.
+# There is also a remote called "dish" (without a number), for users with only
+# one receiver, that uses remote code 1 (DISH's default).
+#
+# The duty_cycle (the percentage of time during a pulse that infrared light is
+# being sent) is commented because some hardware transmitters don't support its
+# use.
+#
+# The discrete power functions (power_on and power_off) can be used to ensure
+# the power state of the receiver. However, they probably shouldn't be used in
+# a channel change script as the receiver will require a significant delay
+# after a power_on before it is capable of receiving/responding to additional
+# commands (such as channel numbers). Instead, assuming most of your recording
+# is during prime-time, you may want to set a cron job to run a "power_on"
+# command for each of your receivers about 5 or 10 minutes before primtetime.
+
+
+### Remote definition for remotes using remote code 1 (0x000)
+begin remote
+ name dish
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 1 (0x000)
+### (Duplicated to allow a "dish" and a "dish1" remote name)
+begin remote
+ name dish1
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 2 (0x200)
+begin remote
+ name dish2
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x200
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 3 (0x100)
+begin remote
+ name dish3
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x100
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 4 (0x300)
+begin remote
+ name dish4
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x300
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 5 (0x080)
+begin remote
+ name dish5
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x080
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 6 (0x280)
+begin remote
+ name dish6
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x280
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 7 (0x180)
+begin remote
+ name dish7
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x180
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 8 (0x380)
+begin remote
+ name dish8
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x380
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 9 (0x040)
+begin remote
+ name dish9
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x040
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 10 (0x240)
+begin remote
+ name dish10
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x240
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 11 (0x140)
+begin remote
+ name dish11
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x140
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 12 (0x340)
+begin remote
+ name dish12
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x340
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 13 (0x0C0)
+begin remote
+ name dish13
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x0C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 14 (0x2C0)
+begin remote
+ name dish14
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x2C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 15 (0x1C0)
+begin remote
+ name dish15
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x1C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 16 (0x3C0)
+begin remote
+ name dish16
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x3C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/echostar_4900/lircd.conf b/linhes/linhes-templates/templates/transmit/echostar_4900/lircd.conf
new file mode 100644
index 0000000..9ec567f
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/echostar_4900/lircd.conf
@@ -0,0 +1,1274 @@
+# This config file is based on the information posted by Endaf Jones at
+# http://www.gossamer-threads.com/lists/mythtv/users/196566#196566
+#
+# brand: JVC/RCA
+# model no. of remote control:
+# supported devices: Dish Network (Echostar)
+# - JVC 2700 receiver
+# - JVC 4700 receiver
+# - JVC 49xx receiver
+# - JVC 50xx receiver
+# - RCA 31x receiver
+# and several other Dish receivers using the
+# "blue button" remotes
+#
+# Unit code selection (1-16) is performed by specifying the appropriate
+# value for post_data
+# 1=0x000 2=0x200 3=0x100 4=0x300
+# 5=0x080 6=0x280 7=0x180 8=0x380
+# 9=0x040 10=0x240 11=0x140 12=0x340
+# 13=0x0C0 14=0x2C0 15=0x1C0 16=0x3C0
+#
+# Each has been implemented in this config file with the remote names "dish#"
+# where the hash/pound/number sign ("#") is a code number from 1 through 16.
+# There is also a remote called "dish" (without a number), for users with only
+# one receiver, that uses remote code 1 (DISH's default).
+#
+# The duty_cycle (the percentage of time during a pulse that infrared light is
+# being sent) is commented because some hardware transmitters don't support its
+# use.
+#
+# The discrete power functions (power_on and power_off) can be used to ensure
+# the power state of the receiver. However, they probably shouldn't be used in
+# a channel change script as the receiver will require a significant delay
+# after a power_on before it is capable of receiving/responding to additional
+# commands (such as channel numbers). Instead, assuming most of your recording
+# is during prime-time, you may want to set a cron job to run a "power_on"
+# command for each of your receivers about 5 or 10 minutes before primtetime.
+
+
+### Remote definition for remotes using remote code 1 (0x000)
+begin remote
+ name dish
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 1 (0x000)
+### (Duplicated to allow a "dish" and a "dish1" remote name)
+begin remote
+ name dish1
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 2 (0x200)
+begin remote
+ name dish2
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x200
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 3 (0x100)
+begin remote
+ name dish3
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x100
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 4 (0x300)
+begin remote
+ name dish4
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x300
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 5 (0x080)
+begin remote
+ name dish5
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x080
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 6 (0x280)
+begin remote
+ name dish6
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x280
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 7 (0x180)
+begin remote
+ name dish7
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x180
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 8 (0x380)
+begin remote
+ name dish8
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x380
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 9 (0x040)
+begin remote
+ name dish9
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x040
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 10 (0x240)
+begin remote
+ name dish10
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x240
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 11 (0x140)
+begin remote
+ name dish11
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x140
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 12 (0x340)
+begin remote
+ name dish12
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x340
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 13 (0x0C0)
+begin remote
+ name dish13
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x0C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 14 (0x2C0)
+begin remote
+ name dish14
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x2C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 15 (0x1C0)
+begin remote
+ name dish15
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x1C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 16 (0x3C0)
+begin remote
+ name dish16
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x3C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/echostar_5000/lircd.conf b/linhes/linhes-templates/templates/transmit/echostar_5000/lircd.conf
new file mode 100644
index 0000000..95cc2c2
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/echostar_5000/lircd.conf
@@ -0,0 +1,1274 @@
+# This config file is based on the information posted by Endaf Jones at
+# http://www.gossamer-threads.com/lists/mythtv/users/196566#196566
+#
+# brand: JVC/RCA
+# model no. of remote control:
+# supported devices: Dish Network (Echostar)
+# - JVC 2700 receiver
+# - JVC 4700 receiver
+# - JVC 49xx receiver
+# - JVC 50xx receiver
+# - RCA 31x receiver
+# and several other Dish receivers using the
+# "blue button" remotes
+#
+# Unit code selection (1-16) is performed by specifying the appropriate
+# value for post_data
+# 1=0x000 2=0x200 3=0x100 4=0x300
+# 5=0x080 6=0x280 7=0x180 8=0x380
+# 9=0x040 10=0x240 11=0x140 12=0x340
+# 13=0x0C0 14=0x2C0 15=0x1C0 16=0x3C0
+#
+# Each has been implemented in this config file with the remote called "dish#"
+# where the hash/pound/number sign ("#") is a code number from 1 through 16.
+# There is also a remote called "dish" (without a number), for users with only
+# one receiver, that uses remote code 1 (DISH's default).
+#
+# The duty_cycle (the percentage of time during a pulse that infrared light is
+# being sent) is commented because some hardware transmitters don't support its
+# use.
+#
+# The discrete power functions (power_on and power_off) can be used to ensure
+# the power state of the receiver. However, they probably shouldn't be used in
+# a channel change script as the receiver will require a significant delay
+# after a power_on before it is capable of receiving/responding to additional
+# commands (such as channel numbers). Instead, assuming most of your recording
+# is during prime-time, you may want to set a cron job to run a "power_on"
+# command for each of your receivers about 5 or 10 minutes before primtetime.
+
+
+### Remote definition for remotes using remote code 1 (0x000)
+begin remote
+ name dish
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 1 (0x000)
+### (Duplicated to allow a "dish" and a "dish1" remote name)
+begin remote
+ name dish1
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x000
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 2 (0x200)
+begin remote
+ name dish2
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x200
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 3 (0x100)
+begin remote
+ name dish3
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x100
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 4 (0x300)
+begin remote
+ name dish4
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x300
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 5 (0x080)
+begin remote
+ name dish5
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x080
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 6 (0x280)
+begin remote
+ name dish6
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x280
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 7 (0x180)
+begin remote
+ name dish7
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x180
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 8 (0x380)
+begin remote
+ name dish8
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x380
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 9 (0x040)
+begin remote
+ name dish9
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x040
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 10 (0x240)
+begin remote
+ name dish10
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x240
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 11 (0x140)
+begin remote
+ name dish11
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x140
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 12 (0x340)
+begin remote
+ name dish12
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x340
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 13 (0x0C0)
+begin remote
+ name dish13
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x0C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 14 (0x2C0)
+begin remote
+ name dish14
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x2C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 15 (0x1C0)
+begin remote
+ name dish15
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x1C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+### Remote definition for remotes using remote code 16 (0x3C0)
+begin remote
+ name dish16
+
+ flags SPACE_ENC|NO_HEAD_REP
+ eps 30
+ aeps 100
+
+ frequency 56000
+# duty_cycle 32
+
+ one 440 1645
+ zero 440 2780
+
+ header 525 6045
+ ptrail 450
+ gap 6115
+
+ min_repeat 6
+
+ bits 6
+ post_data_bits 10
+
+ post_data 0x3C0
+
+ begin codes
+ info 0
+ power_on 1
+ power 2
+ 1 4
+ 2 5
+ 3 6
+ 4 8
+ 5 9
+ 6 10
+ 7 12
+ 8 13
+ 9 14
+ 0 17
+ menu 11
+ select 16
+ cancel 18
+ guide 20
+ view 22
+ tv_vcr 23
+ right 24
+ up 26
+ recall 27
+ left 28
+ down 30
+ record 31
+ pause 32
+ stop 33
+ sys_info 36
+ asterisk 37
+ pound 38
+ power_off 39
+ sat 41
+ dish_home 52
+ sys_info2 54
+ dish_home2 56
+ dvr 57
+ skip_fwd 55
+ skip_back 54
+ fwd 50
+ play 3
+ back 49
+ dish 52
+ page_up 15
+ page_down 7
+ end codes
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/expressvu3100/lircd.conf b/linhes/linhes-templates/templates/transmit/expressvu3100/lircd.conf
new file mode 100644
index 0000000..0ffc2fe
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/expressvu3100/lircd.conf
@@ -0,0 +1,78 @@
+#
+# this config file was automatically generated
+# using WinLIRC 0.6.5 (LIRC 0.6.1pre3) on Tue Apr 04 06:16:24 2006
+#
+# contributed by
+#
+# brand: 301/501/3100/5100/58xx/59xx
+# model:
+# supported devices:
+#
+
+begin remote
+
+ name 301/501/3100/5100/58xx/59xx
+ bits 16
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ header 400 6100
+ one 400 1700
+ zero 400 2800
+ ptrail 400
+ gap 6200
+ min_repeat 4
+ toggle_bit 0
+
+ frequency 56000
+
+ begin codes
+ info 0x0000000000000000
+ power 0x0000000000000800
+ play 0x0000000000000C10
+ 1 0x0000000000001000
+ 2 0x0000000000001400
+ 3 0x0000000000001800
+ frwd 0x0000000000001C10
+ 4 0x0000000000002000
+ 5 0x0000000000002400
+ 6 0x0000000000002800
+ menu 0x0000000000002C00
+ 7 0x0000000000003000
+ 8 0x0000000000003400
+ 9 0x0000000000003800
+ ffwd 0x0000000000003C10
+ select 0x0000000000004000
+ 0 0x0000000000004400
+ cancel 0x0000000000004800
+ guide 0x0000000000005000
+ mute 0x0000000000005401
+ view 0x0000000000005800
+ tv_video 0x0000000000005C00
+ right 0x0000000000006000
+ vol+ 0x0000000000006401
+ up 0x0000000000006800
+ recall 0x0000000000006C00
+ left 0x0000000000007000
+ vol- 0x0000000000007401
+ down 0x0000000000007800
+ rec 0x0000000000007C00
+ pause 0x0000000000008000
+ stop 0x0000000000008400
+ sys_info 0x0000000000009000
+ */ptv_list 0x0000000000009400
+ #/search 0x0000000000009800
+ sat 0x000000000000A400
+ tv 0x000000000000A801
+ rew 0x000000000000C410
+ fwd 0x000000000000C810
+ skip_back 0x000000000000D810
+ skip_fwd 0x000000000000DC10
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/expressvu5xxx/lircd.conf b/linhes/linhes-templates/templates/transmit/expressvu5xxx/lircd.conf
new file mode 100644
index 0000000..0ffc2fe
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/expressvu5xxx/lircd.conf
@@ -0,0 +1,78 @@
+#
+# this config file was automatically generated
+# using WinLIRC 0.6.5 (LIRC 0.6.1pre3) on Tue Apr 04 06:16:24 2006
+#
+# contributed by
+#
+# brand: 301/501/3100/5100/58xx/59xx
+# model:
+# supported devices:
+#
+
+begin remote
+
+ name 301/501/3100/5100/58xx/59xx
+ bits 16
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ header 400 6100
+ one 400 1700
+ zero 400 2800
+ ptrail 400
+ gap 6200
+ min_repeat 4
+ toggle_bit 0
+
+ frequency 56000
+
+ begin codes
+ info 0x0000000000000000
+ power 0x0000000000000800
+ play 0x0000000000000C10
+ 1 0x0000000000001000
+ 2 0x0000000000001400
+ 3 0x0000000000001800
+ frwd 0x0000000000001C10
+ 4 0x0000000000002000
+ 5 0x0000000000002400
+ 6 0x0000000000002800
+ menu 0x0000000000002C00
+ 7 0x0000000000003000
+ 8 0x0000000000003400
+ 9 0x0000000000003800
+ ffwd 0x0000000000003C10
+ select 0x0000000000004000
+ 0 0x0000000000004400
+ cancel 0x0000000000004800
+ guide 0x0000000000005000
+ mute 0x0000000000005401
+ view 0x0000000000005800
+ tv_video 0x0000000000005C00
+ right 0x0000000000006000
+ vol+ 0x0000000000006401
+ up 0x0000000000006800
+ recall 0x0000000000006C00
+ left 0x0000000000007000
+ vol- 0x0000000000007401
+ down 0x0000000000007800
+ rec 0x0000000000007C00
+ pause 0x0000000000008000
+ stop 0x0000000000008400
+ sys_info 0x0000000000009000
+ */ptv_list 0x0000000000009400
+ #/search 0x0000000000009800
+ sat 0x000000000000A400
+ tv 0x000000000000A801
+ rew 0x000000000000C410
+ fwd 0x000000000000C810
+ skip_back 0x000000000000D810
+ skip_fwd 0x000000000000DC10
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/fortec_lifetime/lircd.conf b/linhes/linhes-templates/templates/transmit/fortec_lifetime/lircd.conf
new file mode 100644
index 0000000..5ac3471
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/fortec_lifetime/lircd.conf
@@ -0,0 +1,68 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.0(serial) on Thu Dec 16 02:28:28 2004
+#
+# contributed by Frank Banks
+#
+# brand: Fortec
+# model no. of remote control:
+# devices being controlled by this remote: Fortec Lifetime (Pre March) Sat Reciver
+#
+
+begin remote
+
+ name Fortec_Lifetime
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9103 4429
+ one 621 1634
+ zero 621 500
+ ptrail 617
+ repeat 9104 2183
+ pre_data_bits 16
+ pre_data 0x4FB
+ gap 108100
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ 1 0x00000000000000FF
+ 2 0x000000000000807F
+ 3 0x00000000000040BF
+ 4 0x000000000000C03F
+ 5 0x00000000000020DF
+ 6 0x000000000000A05F
+ 7 0x000000000000609F
+ 8 0x000000000000E01F
+ 9 0x00000000000010EF
+ 0 0x000000000000906F
+ Power 0x000000000000F00F
+ Mute 0x000000000000708F
+ Fav 0x000000000000B847
+ PageUP 0x0000000000006897
+ PageDOWN 0x00000000000058A7
+ Exit 0x0000000000008877
+ Last 0x00000000000048B7
+ Menu 0x000000000000C837
+ ChanUp 0x00000000000050AF
+ ChanDown 0x000000000000D02F
+ OK 0x0000000000009867
+ Sat 0x00000000000008F7
+ Info 0x00000000000028D7
+ TV/Radio 0x000000000000D827
+ Pause 0x000000000000A857
+ Audio 0x000000000000F807
+ Guide 0x000000000000E817
+ Signal 0x0000000000007887
+ F1 0x000000000000EA15
+ F2 0x0000000000001AE5
+ F3 0x0000000000009A65
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/general_550/lircd.conf b/linhes/linhes-templates/templates/transmit/general_550/lircd.conf
new file mode 100644
index 0000000..7a697b0
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/general_550/lircd.conf
@@ -0,0 +1,63 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.2-CVS(default) on Sat Apr 21 22:34:15 2007
+#
+# contributed by Oded S. Resnik
+#
+# brand: Jerrold Communications/General Instruments
+# model no. of remote control: MRC 550
+# devices being controlled by this remote:
+# Jerrold IMPULE analog cable TV top box
+
+begin remote
+
+ name Jerrold_MRC_500
+ bits 5
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ one 114 11635
+ zero 114 7788
+ ptrail 112
+ gap 23527
+ min_repeat 1
+ toggle_bit_mask 0x0
+
+ begin codes
+ 1 0x17
+ 2 0x16
+ 3 0x15
+ 4 0x1B
+ 5 0x1A
+ 6 0x19
+ 7 0x1F
+ 8 0x1E
+ 9 0x1D
+ 0 0x12
+ Select 0x03
+# ENTER
+ OK 0x01
+ A/B 0x18
+ Vol+ 0x0B
+ Ch+ 0x14
+ Ch- 0x10
+ Vol- 0x07
+# LC
+ Prev.Ch 0x0C
+ FC 0x11
+ Power 0x1C
+ Mute 0x09
+ PCPM 0x13
+ TCP 0x00
+ F 0x04
+ Learn 0x02
+ PRGM 0x06
+ Delete 0x05
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/hughes_hbh/lircd.conf b/linhes/linhes-templates/templates/transmit/hughes_hbh/lircd.conf
new file mode 100644
index 0000000..f76ec66
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/hughes_hbh/lircd.conf
@@ -0,0 +1,74 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.1-CVS(default) on Thu Oct 19 20:24:42 2006
+#
+# contributed by Ben Bronk <rukh13|hotmail.com>
+# based on HIRD-B2_GAEB0
+#
+# brand: Hughes
+# model no. of remote control: HRMC-8
+# devices being controlled by this remote:
+# DirecTV Hughes Directors Pack - GAEB0A
+#
+
+begin remote
+
+ name Hughes_HRMC-8
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9000 4500
+ one 560 1700
+ zero 560 560
+ ptrail 560
+ repeat 9000 2250
+ pre_data_bits 16
+ pre_data 0x30DF
+ gap 108000
+ toggle_bit 0
+
+ begin codes
+
+ last 0x0000000000006897
+ guide 0x00000000000048B7
+ up 0x0000000000009867
+ down 0x00000000000008F7
+ left 0x00000000000028D7
+ right 0x000000000000E817
+ select 0x00000000000018E7
+ favorite 0x0000000000008877
+ info 0x000000000000C837
+ clear 0x000000000000F00F
+ power 0x000000000000A857
+ menu 0x0EF1
+ interactive 0x06F9
+ turbo 0xFA05
+ prog 0x46B9
+ search 0x8679
+ audio 0x26D9
+ video 0xA659
+ input 0x807F
+ dash 0x6C93
+
+
+ 1 0x000000000000A05F
+ 2 0x000000000000609F
+ 3 0x000000000000E01F
+ 4 0x00000000000010EF
+ 5 0x000000000000906F
+ 6 0x00000000000050AF
+ 7 0x000000000000D02F
+ 8 0x00000000000030CF
+ 9 0x000000000000B04F
+ 0 0x00000000000020DF
+ ch- 0x000000000000C03F
+ ch+ 0x00000000000040BF
+
+ end codes
+
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/humax_5400/lircd.conf b/linhes/linhes-templates/templates/transmit/humax_5400/lircd.conf
new file mode 100644
index 0000000..ad91fdf
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/humax_5400/lircd.conf
@@ -0,0 +1,68 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.6(any) on Sun Nov 23 00:42:57 2003
+#
+# contributed by
+#
+# brand: Humax
+# model no. of remote control: ???
+# devices being controlled by this remote: Humax 5400IRCI
+#
+
+begin remote
+
+ name Humax-5400IRCI
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9116 4389
+ one 645 1611
+ zero 645 474
+ ptrail 642
+ repeat 9118 2146
+ pre_data_bits 16
+ pre_data 0x8
+ gap 108001
+ toggle_bit 0
+
+
+ begin codes
+ power 0x00000000000000FF
+ 1 0x000000000000C03F
+ 2 0x00000000000020DF
+ 3 0x000000000000A05F
+ 4 0x000000000000609F
+ 5 0x000000000000E01F
+ 6 0x00000000000010EF
+ 7 0x000000000000906F
+ 8 0x00000000000050AF
+ 9 0x000000000000D02F
+ 0 0x00000000000030CF
+ tvsat 0x00000000000040BF
+ tone 0x000000000000B04F
+ mute 0x00000000000018E7
+ red 0x00000000000038C7
+ green 0x000000000000B847
+ yellow 0x00000000000058A7
+ blue 0x0000000000007887
+ time 0x0000000000009867
+ exit 0x0000000000006897
+ menu 0x000000000000708F
+ up 0x0000000000008877
+ down 0x000000000000A857
+ left 0x00000000000048B7
+ right 0x00000000000028D7
+ ok 0x000000000000C837
+ vol+ 0x000000000000F807
+ vol- 0x00000000000002FD
+ p+ 0x00000000000008F7
+ p- 0x000000000000F00F
+ ? 0x000000000000E817
+ rcl 0x000000000000827D
+ epg 0x000000000000D827
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/transmit/illusion_m3/lircd.conf b/linhes/linhes-templates/templates/transmit/illusion_m3/lircd.conf
new file mode 100644
index 0000000..0133e5e
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/illusion_m3/lircd.conf
@@ -0,0 +1,72 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.2(default) on Sat Mar 22 19:16:33 2008
+#
+# contributed by Aleix Mercader
+#
+# brand: Illusion
+# model no. of remote control: -
+# devices being controlled by this remote: Illusion M3 digital satellite/terrestrial receiver
+#
+
+begin remote
+
+ name Illusion_M3
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 940 825
+ zero 940 825
+ plead 980
+ gap 113036
+ toggle_bit_mask 0x800
+
+ begin codes
+ power 0x158C
+ mute 0x15A6
+ a 0x1596
+ b 0x1597
+ c 0x1598
+ d 0x1599
+ game 0x159A
+ aux 0x15AA
+ info 0x159B
+ txt 0x15BC
+ tv/r 0x1594
+ menu 0x15A4
+ guide 0x1592
+ pause 0x15A9
+ red 0x15B7
+ green 0x15B6
+ yellow 0x15B2
+ blue 0x15B4
+ up 0x15A0
+ left 0x15B9
+ ok 0x15BB
+ right 0x15BA
+ down 0x15A1
+ esc 0x15A7
+ f_left 0x158F
+ f_right 0x15A3
+ tick/audio 0x1593
+ 1 0x1581
+ 2 0x1582
+ 3 0x1583
+ 4 0x1584
+ 5 0x1585
+ 6 0x1586
+ 7 0x1587
+ 8 0x1588
+ 9 0x1589
+ previous 0x158A
+ 0 0x1580
+ sleep 0x15B8
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dct2000/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dct2000/lircd.conf
new file mode 100644
index 0000000..635f8e6
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dct2000/lircd.conf
@@ -0,0 +1,75 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.6(serial) on Fri Mar 28 22:46:44 2003
+#
+# contributed by shane bradley
+#
+#
+#
+# brand: Motorola
+# model no. of remote control: DCT2000
+# devices being controlled by this remote:
+#
+
+begin remote
+ name DCT2000
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9036 4424
+ one 556 2185
+ zero 556 4424
+ ptrail 556
+ gap 100025
+ toggle_bit 0
+
+
+ begin codes
+ HELP 0x000000000000B3F2
+ POWER 0x000000000000AFF9
+ MUTE 0x0000000000000FF7
+ PAGE+ 0x000000000000A3F3
+ PAGE- 0x00000000000023FB
+ LOCK 0x00000000000097F6
+ EXIT 0x000000000000B7F4
+ AUP 0x000000000000D3F6
+ ADOWN 0x00000000000053FE
+ ALEFT 0x00000000000093F1
+ ARIGHT 0x00000000000013F9
+ OK 0x00000000000077F8
+ GUIDE 0x000000000000F3F4
+ MENU 0x00000000000067F9
+ VOL+ 0x0000000000004FF3
+ VOL- 0x0000000000008FFB
+ LAST 0x00000000000037FC
+ FAV 0x00000000000057FA
+ CH+ 0x0000000000002FF5
+ CH- 0x000000000000CFFD
+ A 0x00000000000017FE
+ B 0x0000000000001BF1
+ C 0x000000000000EBF9
+ 1 0x0000000000007FF0
+ 2 0x000000000000BFF8
+ 3 0x0000000000003FF4
+ 4 0x000000000000DFFC
+ 5 0x0000000000005FF2
+ 6 0x0000000000009FFA
+ 7 0x0000000000001FF6
+ 8 0x000000000000EFFE
+ 9 0x0000000000006FF1
+ 0 0x000000000000FFFF
+ BYPASS 0x000000000000D7F2
+ MUSIC 0x000000000000F7F0
+ STOP 0x00000000000063FD
+ PAUSE 0x00000000000007FF
+ PLAY 0x000000000000E3F5
+ REW 0x00000000000087F7
+ REC 0x00000000000073FC
+ FFWD 0x00000000000047FB
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dct22xx/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dct22xx/lircd.conf
new file mode 100644
index 0000000..8c56040
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dct22xx/lircd.conf
@@ -0,0 +1,103 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.1(default) on Mon Feb 12 21:46:09 2007
+#
+# contributed by mike mcchesney
+#
+# brand: Cox
+# model no. of remote control: URC#7810B00-MOT-60261
+# devices being controlled by this remote: Motorola DCT 2224
+#
+
+begin remote
+
+ name Motorola_DCT2224
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9033 4412
+ one 563 4420
+ zero 563 2180
+ ptrail 562
+ repeat 9031 2192
+ gap 99937
+ toggle_bit 0
+
+
+ begin codes
+ power 0x5006
+ rew 0x7808
+ play 0x1C0A
+ ffwd 0xB804
+ record 0x8C03
+ stop 0x9C02
+ pause 0xF800
+ page+ 0x5C0C
+ page- 0xDC04
+ info 0xCC05
+ back 0xB926
+ guide 0x0C0B
+ exit 0x480B
+ left 0x6C0E
+ right 0xEC06
+ up 0x2C09
+ down 0xAC01
+ select 0x8807
+ a 0xE801
+ b 0xE40E
+ c 0x1406
+ settings 0x4C0D
+ ppv 0x6809
+ menu 0x9806
+ last 0xC803
+ fav 0xA805
+ 1 0x800F
+ 2 0x4007
+ 3 0xC00B
+ 4 0x2003
+ 5 0xA00D
+ 6 0x6005
+ 7 0xE009
+ 8 0x1001
+ 9 0x900E
+ 0 0x0000
+ input 0x280D
+ enter 0x8807
+ ch+ 0xD00A
+ ch- 0x3002
+ end codes
+
+end remote
+
+begin remote
+
+ name Motorola_DCT2224-2
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9034 4412
+ one 603 1639
+ zero 603 513
+ ptrail 608
+ repeat 9030 2193
+ pre_data_bits 16
+ pre_data 0x2FD
+ gap 108104
+ toggle_bit 0
+
+
+ begin codes
+ vol+ 0x58A7
+ vol- 0x7887
+ mute 0x08F7
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dct2524/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dct2524/lircd.conf
new file mode 100644
index 0000000..31df8aa
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dct2524/lircd.conf
@@ -0,0 +1,83 @@
+#
+# this config file was originally generated
+# using lirc-0.6.6(serial) on Fri Mar 28 22:46:44 2003
+# modified by hand on Sunday Jul 17 00:12:00 2005
+#
+# contributed by rob scullion
+# based on the DCT2000 file contrib'd by shane bradley
+#
+# brand: Motorola
+# model no. of remote control: ? - Comcast badged
+# devices being controlled by this remote: DCT2524/1612
+#
+# Note: The "ON DEMAND" button on the Comcast
+# badged remote just sends a "1" followed by
+# an "ok/select" and is thus not included in
+# this config file.
+
+begin remote
+ name DCT2524
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9036 4424
+ one 556 2185
+ zero 556 4424
+ ptrail 556
+ gap 100025
+ toggle_bit 0
+
+
+ begin codes
+ power 0x000000000000AFF9
+ rew 0x00000000000087F7
+ play 0x00000000000027FD
+ ffwd 0x00000000000047FB
+ stop 0x000000000000C7F3
+ pause 0x00000000000007FF
+ rec 0x00000000000073FC
+ skipback 0x000000000000C3F7
+ mydvr 0x00000000000043FF
+ live 0x00000000000083F0
+ pageup 0x000000000000A3F3
+ pagedown 0x00000000000023FB
+ a_lock 0x00000000000097F6
+ b_day- 0x00000000000063FD
+ c_day+ 0x000000000000E3F5
+ up 0x000000000000D3F6
+ down 0x00000000000053FE
+ left 0x00000000000093F1
+ right 0x00000000000013F9
+ ok/select 0x00000000000077F8
+ guide 0x000000000000F3F4
+ info 0x00000000000033FA
+ menu 0x00000000000067F9
+ exit 0x000000000000B7F4
+ help 0x000000000000B3F2
+ last 0x00000000000037FC
+ vol+ 0x0000000000004FF3
+ vol- 0x0000000000008FFB
+ mute 0x0000000000000FF7
+ fav 0x00000000000057FA
+ ch+ 0x0000000000002FF5
+ ch- 0x000000000000CFFD
+ 1 0x0000000000007FF0
+ 2 0x000000000000BFF8
+ 3 0x0000000000003FF4
+ 4 0x000000000000DFFC
+ 5 0x0000000000005FF2
+ 6 0x0000000000009FFA
+ 7 0x0000000000001FF6
+ 8 0x000000000000EFFE
+ 9 0x0000000000006FF1
+ 0 0x000000000000FFFF
+ tv/vcr_input 0x000000000000D7F2
+ hdzoom_enter 0x000000000000FDFC
+ pnp-swap 0x0000000000003BF2
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dct6200/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dct6200/lircd.conf
new file mode 100644
index 0000000..5583a63
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dct6200/lircd.conf
@@ -0,0 +1,70 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.1(any) on Sat May 7 18:21:53 2005
+#
+# contributed by
+#
+# brand: Motorola
+# model no. of remote control:
+# devices being controlled by this remote: DCT6200
+#
+
+begin remote
+
+ name Motorola_DCT6200
+ bits 48
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ pre_data_bits 16
+ pre_data 0xFFFF
+ gap 209929
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ rew 0x8914DDDF5FFF
+ play 0x8914DD7F5FFF
+ ff 0x8914DDF75FFF
+ stop 0x8914DD5F5FFF
+ rec 0x145415EC0100
+ pgdn 0x145515FC0100
+ up 0x29147DF75FFF
+ down 0x29147DD75FFF
+ left 0x29147D575FFF
+ right 0x29147D775FFF
+ select 0x29147D7D5FFF
+ guide 0x29147D7F5FFF
+ menu 0xA914FDFF5FFF
+ info 0x105515F80100
+ exit 0x09145DDF5FFF
+ help 0x105415E80100
+ last 0x09145D5F5FFF
+ vup 0x238C7DDD5D55
+ vdn 0x23847DD55D55
+ chup 0x29147DD55FFF
+ chdn 0x29147D555FFF
+ mute 0x23AE7DFF5D55
+ fav 0x105555D80300
+ 1 0x8914DDFD5FFF
+ 2 0x8914DD7D5FFF
+ 3 0x8914DDDD5FFF
+ 4 0x8914DD5D5FFF
+ 5 0x8914DDF55FFF
+ 6 0x8914DD755FFF
+ 7 0x8914DDD55FFF
+ 8 0x8914DD555FFF
+ 9 0x09145DFF5FFF
+ input 0x29147D7F5FFF
+ 0 0x09145D7F5FFF
+ enter 0x09145D5F5FFF
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dct700/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dct700/lircd.conf
new file mode 100644
index 0000000..93a2183
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dct700/lircd.conf
@@ -0,0 +1,359 @@
+#########
+#
+# Modified DCT2000 entry for DCT700 (sends zeros)
+# For use with the USB MCE ir receiver
+#
+
+begin remote
+
+ name DCT700
+ flags RAW_CODES
+ eps 30
+ aeps 100
+
+ ptrail 520
+ repeat 0 0
+ gap 100000
+
+ begin raw_codes
+
+ name bypass
+ 9000 4400 550 2200 550 2150
+ 550 4450 550 2150 550 4450
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 4450 550 4400
+ 550 2200 550 4400 550
+
+ name power
+ 9050 4400 550 2200 550 4400
+ 550 2200 550 4400 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 4400
+ 550 4450 550 2150 550
+
+ name help
+ 9000 4400 600 2150 550 4450
+ 550 2150 550 2200 550 4400
+ 550 4450 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 4400 550 4450
+ 500 2200 550 4450 550
+
+ name day-
+ 9000 4400 550 4400 550 2200
+ 550 2200 550 4400 550 4400
+ 600 4400 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 500 2200
+ 550 4450 550 2150 550
+
+ name day+
+ 9000 4400 550 2200 550 2200
+ 550 2150 550 4450 550 4400
+ 550 4400 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 4450 550 2150
+ 550 4450 550 2200 500
+
+ name rec
+ 9050 4400 550 4400 550 2200
+ 550 2200 550 2150 550 4450
+ 550 4400 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 4450 550 4400 550
+
+ name stop
+ 9000 4400 550 4400 550 2200
+ 550 2200 550 4400 550 4400
+ 550 4450 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 4450 500 2200 550
+
+ name pause
+ 9000 4400 550 4400 550 4450
+ 550 4400 550 4450 550 4400
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550
+
+ name rew
+ 9000 4400 550 2200 550 4400
+ 550 4450 550 4400 550 4450
+ 550 2150 550 2200 550 2200
+ 500 2200 550 2200 550 2200
+ 500 2200 550 4450 550 2150
+ 550 2200 550 2200 500
+
+ name ffwd
+ 9050 4400 550 4400 550 2200
+ 550 4400 550 4450 550 4400
+ 550 2200 550 2150 600 2150
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 4450
+ 550 2200 500 2200 550
+
+ name play
+ 9050 4400 550 2150 550 2200
+ 550 2200 550 4400 550 4400
+ 550 4450 550 2200 550 2150
+ 550 2200 550 2200 500 2200
+ 550 2200 550 4400 550 2200
+ 550 4400 550 2200 550
+
+ name pageup
+ 9000 4400 550 2200 550 4400
+ 550 2200 550 4400 550 4450
+ 550 4400 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 4400 550 4450
+ 550 2150 550 2200 550
+
+ name pagedown
+ 9000 4400 550 4450 550 4400
+ 550 2200 550 4400 550 4450
+ 550 4400 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 4400
+ 550 2200 550 2150 550
+
+ name info
+ 9050 4400 550 4400 550 4400
+ 600 2150 550 2200 550 4400
+ 550 4450 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 4450
+ 550 2150 550 4450 550
+
+ name menu
+ 9050 4400 550 4400 550 2200
+ 550 2200 550 4400 550 4400
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 4400
+ 550 4400 550 2200 550
+
+ name guide
+ 9050 4400 550 2150 600 2150
+ 550 2200 550 2150 550 4450
+ 550 4400 550 2200 550 2150
+ 600 2150 550 2200 550 2200
+ 500 2200 550 4450 550 2150
+ 550 4450 550 4400 550
+
+ name lock
+ 9000 4400 600 2150 550 4400
+ 600 4400 550 2200 550 4400
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 4400 550 2200
+ 550 2150 550 4450 550
+
+ name exit
+ 9000 4400 550 2200 550 4400
+ 550 2200 550 2200 550 4400
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 4400 550 2200
+ 550 4400 550 4450 550
+
+ name up
+ 9000 4450 550 2150 550 2200
+ 550 4400 550 2200 550 4400
+ 550 4450 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 4400 550 2200
+ 550 2200 500 4450 550
+
+ name down
+ 9000 4400 600 4400 550 2200
+ 550 4400 550 2200 550 4400
+ 550 4400 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 4450 550
+
+ name left
+ 9000 4400 550 2200 550 4400
+ 550 4400 600 2150 550 4450
+ 550 4400 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 4400 550 4450
+ 550 4400 550 2200 550
+
+ name right
+ 9050 4400 550 4400 550 4450
+ 550 4400 550 2200 550 4400
+ 550 4400 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 4450
+ 500 4450 550 2200 550
+
+ name ok
+ 9050 4400 550 4400 550 2200
+ 550 2200 550 2150 550 4450
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 4400
+ 550 4450 550 4400 550
+
+ name ch+
+ 9000 4400 550 4400 550 4450
+ 550 2150 600 4400 550 2150
+ 600 2150 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 4450 500 2200
+ 550 4450 550 2150 550
+
+ name ch-
+ 9050 4400 550 2150 600 2150
+ 550 4450 550 4400 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 4400 550 2200 550
+
+ name last
+ 9000 4400 550 4450 550 4400
+ 550 2200 550 2150 550 4450
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 4400 550 4450 500
+
+ name fav
+ 9000 4400 550 4450 550 2150
+ 550 4450 550 2150 550 4450
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 4450
+ 500 2200 550 4450 500
+
+ name enter
+ 9000 4400 600 2150 550 2200
+ 550 2150 550 2200 550 4400
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 4450 500 4450
+ 550 4400 550 4450 550
+
+ name music
+ 9000 4400 550 2200 550 2200
+ 550 2150 550 2200 550 4400
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 4400 550 4450
+ 550 4400 550 4450 500
+
+ name p
+ 9000 4400 600 4400 550 4400
+ 550 4450 550 2150 550 4450
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 4450 550
+
+ name x1
+ 9050 4400 550 4400 550 4450
+ 550 4400 550 2200 550 2150
+ 550 4450 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 4400 550 4450
+ 500 4450 550 2200 550
+
+ name x2
+ 9050 4400 550 2150 550 2200
+ 550 2200 550 4400 550 2200
+ 550 4400 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 4400
+ 550 4450 550 2150 550
+
+ name 1
+ 9000 4400 550 4450 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 4400 550 4450
+ 550 4400 550 4450 550
+
+ name 2
+ 9000 4400 550 2200 550 4400
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 4450
+ 550 4400 550 4450 500
+
+ name 3
+ 9000 4400 550 4450 550 4400
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 4400 550 2200
+ 550 4400 550 4450 500
+
+ name 4
+ 9000 4400 550 2200 550 2150
+ 550 4450 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 4400 550 4450 550
+
+ name 5
+ 9000 4450 550 4400 550 2200
+ 550 4400 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 2200 550 2150
+ 550 2200 550 4400 550 4450
+ 550 2200 500 4450 550
+
+ name 6
+ 9000 4400 550 2200 550 4400
+ 550 4400 600 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 500 2200 550 2200
+ 550 2200 500 2200 550 4450
+ 550 2150 550 4450 550
+
+ name 7
+ 9000 4400 550 4400 600 4400
+ 550 4400 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 4450 550 2150
+ 550 2200 550 4400 550
+
+ name 8
+ 9000 4400 550 2200 550 2150
+ 550 2200 550 4400 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 2150 550 2200
+ 550 2200 550 4400 550
+
+ name 9
+ 9050 4400 550 4400 550 2200
+ 550 2150 600 4400 550 2150
+ 600 2150 550 2200 550 2200
+ 500 2200 550 2200 550 2200
+ 500 2200 550 4450 550 4400
+ 550 4400 550 2200 550
+
+ name 0
+ 9000 4400 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 2200
+ 550 2150 550 2200 550 42050
+ 9000 2250 500
+
+ end raw_codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dsr205/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dsr205/lircd.conf
new file mode 100644
index 0000000..f44b7da
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dsr205/lircd.conf
@@ -0,0 +1,239 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.0(serial) on Wed Apr 12 13:07:22 2006
+#
+# contributed by
+#
+# brand: Motorola
+# model no. of remote control: IRC451 (PN:515301-002) Modes 0000,0001,0002,0003
+# devices being controlled by this remote: Motorola (DSR205 & DSR315) StarChoice receiver
+#
+
+begin remote
+
+ name Motorola_dsr_series
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5082 1878
+ one 1102 2874
+ zero 1102 884
+ ptrail 1107
+ gap 99386
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ POWER 0x605
+ UP 0xC4F
+ DOWN 0x045
+ LEFT 0xB88
+ RIGHT 0x80C
+ ENTER 0x384
+ GOBACK 0x68F
+ EXIT 0xA0F
+ INFO 0xE4C
+ GUIDE 0x782
+ REWIND 0x944
+ PLAY 0x74D
+ FORWARD 0x148
+ RECORD 0x54E
+ PAUSE 0x34B
+ STOP 0xB47
+ CH_UP 0xD07
+ CH_DOWN 0x08A
+ LAST 0x187
+ INTERESTS 0x581
+ BROWSE 0x849
+ PPV 0xB02
+ FUTURE 0x443
+ OPTIONS 0x289
+ 1 0xF04
+ 2 0x886
+ 3 0x48C
+ 4 0xE83
+ 5 0x98B
+ 6 0xD8D
+ 7 0x50B
+ 8 0x901
+ 9 0x708
+ 0 0x246
+ HELP 0xF8E
+ end codes
+
+end remote
+
+begin remote
+
+ name Motorola_IRC451_0001
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5074 1909
+ one 1086 2902
+ zero 1086 906
+ ptrail 1090
+ gap 99708
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ POWER_1 0x62B
+ UP_1 0xC61
+ DOWN_1 0x06B
+ LEFT_1 0xBA6
+ RIGHT_1 0x822
+ ENTER_1 0x3AA
+ GOBACK_1 0x6A1
+ EXIT_1 0xA21
+ INFO_1 0xE62
+ GUIDE_1 0x7AC
+ REWIND_1 0x96A
+ PLAY_1 0x763
+ FORWARD_1 0x166
+ RECORD_1 0x560
+ PAUSE_1 0x365
+ STOP_1 0xB69
+ CH_UP_1 0xD29
+ CH_DOWN_1 0x0A4
+ LAST_1 0x1A9
+ INTERESTS_1 0x5AF
+ BROWSE_1 0x867
+ PPV_1 0xB2C
+ FUTURE_1 0x46D
+ OPTIONS_1 0x2A7
+ 1_1 0xF2A
+ 2_1 0x8A8
+ 3_1 0x4A2
+ 4_1 0xEAD
+ 5_1 0x9A5
+ 6_1 0xDA3
+ 7_1 0x525
+ 8_1 0x92F
+ 9_1 0x726
+ 0_1 0x268
+ HELP_1 0xFA0
+ end codes
+
+end remote
+
+begin remote
+
+ name Motorola_IRC451_0002
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5048 1936
+ one 1055 2934
+ zero 1055 941
+ ptrail 1054
+ gap 99772
+ toggle_bit 0
+
+
+ begin codes
+ POWER_2 0x612
+ UP_2 0xC58
+ DOWN_2 0x052
+ LEFT_2 0xB9F
+ RIGHT_2 0x81B
+ ENTER_2 0x393
+ GOBACK_2 0x698
+ EXIT_2 0xA18
+ INFO_2 0xE5B
+ GUIDE_2 0x795
+ REWIND_2 0x953
+ PLAY_2 0x75A
+ FORWARD_2 0x15F
+ RECORD_2 0x559
+ PAUSE_2 0x35C
+ STOP_2 0xB50
+ CH_UP_2 0xD10
+ CH_DOWN_2 0x09D
+ LAST_2 0x190
+ INTERESTS_2 0x596
+ BROWSE_2 0x85E
+ PPV_2 0xB15
+ FUTURE_2 0x454
+ OPTIONS_2 0x29E
+ 1_2 0xF13
+ 2_2 0x891
+ 3_2 0x49B
+ 3_2 0x49B
+ 4_2 0xE94
+ 5_2 0x99C
+ 6_2 0xD9A
+ 7_2 0x51C
+ 8_2 0x916
+ 9_2 0x71F
+ 0_2 0x251
+ HELP_2 0xF99
+ end codes
+
+end remote
+
+begin remote
+
+ name Motorola_IRC451_0003
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5052 1934
+ one 1047 2943
+ zero 1047 949
+ ptrail 1041
+ gap 99759
+ toggle_bit 0
+
+
+ begin codes
+ POWER_3 0x63C
+ UP_3 0xC76
+ DOWN_3 0x07C
+ LEFT_3 0xBB1
+ RIGHT_3 0x835
+ ENTER_3 0x3BD
+ GOBACK_3 0x6B6
+ EXIT_3 0xA36
+ INFO_3 0xE75
+ GUIDE_3 0x7BB
+ REWIND_3 0x97D
+ PLAY_3 0x774
+ FORWARD_3 0x171
+ RECORD_3 0x577
+ PAUSE_3 0x372
+ STOP_3 0xB7E
+ CH_UP_3 0xD3E
+ CH_DOWN_3 0x0B3
+ LAST_3 0x1BE
+ INTERESTS_3 0x5B8
+ BROWSE_3 0x870
+ PPV_3 0xB3B
+ FUTURE_3 0x47A
+ OPTIONS_3 0x2B0
+ 1_3 0xF3D
+ 2_3 0x8BF
+ 3_3 0x4B5
+ 4_3 0xEBA
+ 5_3 0x9B2
+ 6_3 0xDB4
+ 7_3 0x532
+ 8_3 0x938
+ 9_3 0x731
+ 0_3 0x27F
+ HELP_3 0xFB7
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dsr305/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dsr305/lircd.conf
new file mode 100644
index 0000000..d13f9fb
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dsr305/lircd.conf
@@ -0,0 +1,93 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.0pre5(any) on Wed Jul 28 01:58:55 2004
+#
+# contributed by S. Mark Dzialo
+#
+# brand: Motorola
+# model no. of remote control: IRC442 (PN: 487008-001)
+# devices being controlled by this remote: Motorola (DSR305SC) StarChoice receiver, IBM T40 (237372U) laptop
+#
+
+begin remote
+
+ name Motorola_dsr305
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 4954 1985
+ one 951 3044
+ zero 951 1035
+ ptrail 951
+ gap 99611
+ toggle_bit 0
+
+
+ begin codes
+ POWER 0x0000000000000605
+ SOURCE 0x0000000000000A4A
+ PPV 0x0000000000000B02
+ UP 0x0000000000000C4F
+ DOWN 0x0000000000000045
+ LEFT 0x0000000000000B88
+ RIGHT 0x000000000000080C
+ CENTER_ENTER 0x0000000000000384
+ GOBACK 0x000000000000068F
+ GUIDE 0x0000000000000782
+ INFO 0x0000000000000E4C
+ INTERESTS 0x0000000000000581
+ BROWSE 0x0000000000000849
+ EXIT 0x0000000000000A0F
+ OPTIONS 0x0000000000000289
+ FUTURE 0x0000000000000443
+ LAST_CH 0x0000000000000187
+ CH_UP 0x0000000000000D07
+ CH_DOWN 0x000000000000008A
+ 1 0x0000000000000F04
+ 2 0x0000000000000886
+ 3 0x000000000000048C
+ 4 0x0000000000000E83
+ 5 0x000000000000098B
+ 6 0x0000000000000D8D
+ 7 0x000000000000050B
+ 8 0x0000000000000901
+ 9 0x0000000000000708
+ 0 0x0000000000000246
+ HELP 0x0000000000000F8E
+ ENTER 0x0000000000000384
+ end codes
+
+end remote
+
+
+begin remote
+
+ name Motorola_IRC442-2
+ bits 11
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 2385 603
+ one 1178 603
+ zero 590 603
+ ptrail 590
+ gap 44826
+ toggle_bit 0
+
+
+ begin codes
+ VOL_UP 0x0000000000000248
+ VOL_DOWN 0x0000000000000648
+ MUTE 0x0000000000000148
+ REV 0x00000000000006CD
+ FWD 0x00000000000001CD
+ PLAY 0x00000000000002CD
+ STOP 0x00000000000000CD
+ PAUSE 0x00000000000004CD
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dsr315/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dsr315/lircd.conf
new file mode 100644
index 0000000..f44b7da
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dsr315/lircd.conf
@@ -0,0 +1,239 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.0(serial) on Wed Apr 12 13:07:22 2006
+#
+# contributed by
+#
+# brand: Motorola
+# model no. of remote control: IRC451 (PN:515301-002) Modes 0000,0001,0002,0003
+# devices being controlled by this remote: Motorola (DSR205 & DSR315) StarChoice receiver
+#
+
+begin remote
+
+ name Motorola_dsr_series
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5082 1878
+ one 1102 2874
+ zero 1102 884
+ ptrail 1107
+ gap 99386
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ POWER 0x605
+ UP 0xC4F
+ DOWN 0x045
+ LEFT 0xB88
+ RIGHT 0x80C
+ ENTER 0x384
+ GOBACK 0x68F
+ EXIT 0xA0F
+ INFO 0xE4C
+ GUIDE 0x782
+ REWIND 0x944
+ PLAY 0x74D
+ FORWARD 0x148
+ RECORD 0x54E
+ PAUSE 0x34B
+ STOP 0xB47
+ CH_UP 0xD07
+ CH_DOWN 0x08A
+ LAST 0x187
+ INTERESTS 0x581
+ BROWSE 0x849
+ PPV 0xB02
+ FUTURE 0x443
+ OPTIONS 0x289
+ 1 0xF04
+ 2 0x886
+ 3 0x48C
+ 4 0xE83
+ 5 0x98B
+ 6 0xD8D
+ 7 0x50B
+ 8 0x901
+ 9 0x708
+ 0 0x246
+ HELP 0xF8E
+ end codes
+
+end remote
+
+begin remote
+
+ name Motorola_IRC451_0001
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5074 1909
+ one 1086 2902
+ zero 1086 906
+ ptrail 1090
+ gap 99708
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ POWER_1 0x62B
+ UP_1 0xC61
+ DOWN_1 0x06B
+ LEFT_1 0xBA6
+ RIGHT_1 0x822
+ ENTER_1 0x3AA
+ GOBACK_1 0x6A1
+ EXIT_1 0xA21
+ INFO_1 0xE62
+ GUIDE_1 0x7AC
+ REWIND_1 0x96A
+ PLAY_1 0x763
+ FORWARD_1 0x166
+ RECORD_1 0x560
+ PAUSE_1 0x365
+ STOP_1 0xB69
+ CH_UP_1 0xD29
+ CH_DOWN_1 0x0A4
+ LAST_1 0x1A9
+ INTERESTS_1 0x5AF
+ BROWSE_1 0x867
+ PPV_1 0xB2C
+ FUTURE_1 0x46D
+ OPTIONS_1 0x2A7
+ 1_1 0xF2A
+ 2_1 0x8A8
+ 3_1 0x4A2
+ 4_1 0xEAD
+ 5_1 0x9A5
+ 6_1 0xDA3
+ 7_1 0x525
+ 8_1 0x92F
+ 9_1 0x726
+ 0_1 0x268
+ HELP_1 0xFA0
+ end codes
+
+end remote
+
+begin remote
+
+ name Motorola_IRC451_0002
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5048 1936
+ one 1055 2934
+ zero 1055 941
+ ptrail 1054
+ gap 99772
+ toggle_bit 0
+
+
+ begin codes
+ POWER_2 0x612
+ UP_2 0xC58
+ DOWN_2 0x052
+ LEFT_2 0xB9F
+ RIGHT_2 0x81B
+ ENTER_2 0x393
+ GOBACK_2 0x698
+ EXIT_2 0xA18
+ INFO_2 0xE5B
+ GUIDE_2 0x795
+ REWIND_2 0x953
+ PLAY_2 0x75A
+ FORWARD_2 0x15F
+ RECORD_2 0x559
+ PAUSE_2 0x35C
+ STOP_2 0xB50
+ CH_UP_2 0xD10
+ CH_DOWN_2 0x09D
+ LAST_2 0x190
+ INTERESTS_2 0x596
+ BROWSE_2 0x85E
+ PPV_2 0xB15
+ FUTURE_2 0x454
+ OPTIONS_2 0x29E
+ 1_2 0xF13
+ 2_2 0x891
+ 3_2 0x49B
+ 3_2 0x49B
+ 4_2 0xE94
+ 5_2 0x99C
+ 6_2 0xD9A
+ 7_2 0x51C
+ 8_2 0x916
+ 9_2 0x71F
+ 0_2 0x251
+ HELP_2 0xF99
+ end codes
+
+end remote
+
+begin remote
+
+ name Motorola_IRC451_0003
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5052 1934
+ one 1047 2943
+ zero 1047 949
+ ptrail 1041
+ gap 99759
+ toggle_bit 0
+
+
+ begin codes
+ POWER_3 0x63C
+ UP_3 0xC76
+ DOWN_3 0x07C
+ LEFT_3 0xBB1
+ RIGHT_3 0x835
+ ENTER_3 0x3BD
+ GOBACK_3 0x6B6
+ EXIT_3 0xA36
+ INFO_3 0xE75
+ GUIDE_3 0x7BB
+ REWIND_3 0x97D
+ PLAY_3 0x774
+ FORWARD_3 0x171
+ RECORD_3 0x577
+ PAUSE_3 0x372
+ STOP_3 0xB7E
+ CH_UP_3 0xD3E
+ CH_DOWN_3 0x0B3
+ LAST_3 0x1BE
+ INTERESTS_3 0x5B8
+ BROWSE_3 0x870
+ PPV_3 0xB3B
+ FUTURE_3 0x47A
+ OPTIONS_3 0x2B0
+ 1_3 0xF3D
+ 2_3 0x8BF
+ 3_3 0x4B5
+ 4_3 0xEBA
+ 5_3 0x9B2
+ 6_3 0xDB4
+ 7_3 0x532
+ 8_3 0x938
+ 9_3 0x731
+ 0_3 0x27F
+ HELP_3 0xFB7
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dsr922/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dsr922/lircd.conf
new file mode 100644
index 0000000..39d8ff1
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dsr922/lircd.conf
@@ -0,0 +1,66 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.0(usb-uirt2_raw) on Sat Feb 19 15:27:54 2005
+#
+# contributed by amcneil|cyberport.net
+#
+# brand: Motorola 4dtv IR/UHF remote
+# model no. of remote control: 920
+# devices being controlled by this remote: Motorola DSR-922 4DTV
+# satelite receiver
+# notes: black numberpad "enter" sends same code as round blue "enter"
+# and vol+/- mute are for programmable tv control
+# I haven't found an output to monitor to check if the 4dtv is on.
+# It sits in standby with video output on black
+#
+begin remote
+ name motorola_dsr922
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 5011 1953
+ one 1042 2936
+ zero 1042 948
+ ptrail 1043
+ gap 99500
+ toggle_bit 0
+ min_repeat 1
+
+ begin codes
+ 0 0x0000000000000246
+ 1 0x0000000000000F04
+ 2 0x0000000000000886
+ 3 0x000000000000048C
+ 4 0x0000000000000E83
+ 5 0x000000000000098B
+ 6 0x0000000000000D8D
+ 7 0x000000000000050B
+ 8 0x0000000000000901
+ 9 0x0000000000000708
+ Power 0x0000000000000605
+ Source 0x0000000000000A4A
+ Sat 0x0000000000000A85
+ Up 0x0000000000000C4F
+ Down 0x0000000000000045
+ Right 0x000000000000080C
+ Left 0x0000000000000B88
+ Enter 0x0000000000000384
+ GoBack 0x000000000000068F
+ Exit 0x0000000000000A0F
+ Guide 0x0000000000000782
+ Interests 0x0000000000000581
+ Options 0x0000000000000289
+ Info 0x0000000000000E4C
+ Browse 0x0000000000000849
+ Future 0x0000000000000443
+ Ch-UP 0x0000000000000D07
+ Ch-DOWN 0x000000000000008A
+ LastCh 0x0000000000000187
+ Help 0x0000000000000F8E
+ end codes
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_dth335/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_dth335/lircd.conf
new file mode 100644
index 0000000..5ba5a62
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_dth335/lircd.conf
@@ -0,0 +1,55 @@
+begin remote
+
+ name DTH335
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9157 4344
+ one 730 1525
+ zero 730 378
+ ptrail 711
+ repeat 9156 2105
+ pre_data_bits 16
+ pre_data 0x61F4
+ gap 107722
+ toggle_bit 0
+
+
+ begin codes
+ power 0x00000000000058A7
+ 1 0x00000000000040BF
+ 2 0x000000000000C837
+ 3 0x00000000000030CF
+ 4 0x0000000000006897
+ 5 0x00000000000028D7
+ 6 0x000000000000E817
+ 7 0x00000000000018E7
+ 8 0x000000000000B04F
+ 9 0x0000000000009867
+ 0 0x000000000000708F
+ mute 0x00000000000050AF
+ g 0x00000000000039C6
+ tv 0x00000000000041BE
+ mosaic 0x000000000000C936
+ left 0x00000000000011EE
+ up 0x000000000000D12E
+ right 0x000000000000B946
+ down 0x0000000000008976
+ select 0x00000000000008F7
+ plus 0x000000000000A857
+ question 0x000000000000F10E
+ recall 0x000000000000619E
+ volume_up 0x00000000000048B7
+ volume_down 0x000000000000D827
+ channel_up 0x000000000000E01F
+ channel_down 0x000000000000807F
+ red 0x000000000000F807
+ green 0x0000000000007887
+ yellow 0x00000000000020DF
+ blue 0x000000000000906F
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_qip7100/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_qip7100/lircd.conf
new file mode 100644
index 0000000..4bd3cd4
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_qip7100/lircd.conf
@@ -0,0 +1,81 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.3-CVS-pvr150-2(default) on Sun Nov 16 20:41:54 2008
+#
+# contributed by Michael Hanson
+#
+# brand: Verizon (?)
+# model no. of remote control: Verizon FiOS Universal
+# Inside battery compartment has the following
+# information:
+# RC1445302/00B
+# 3139 238 16051 REV 2
+# MADE IN CHINA
+# CP02 50829 G 009840
+# devices being controlled by this remote: Motorola QIP6200-2
+#
+
+begin remote
+
+ name Motorola_QIP6200-2
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9028 4450
+ one 555 4433
+ zero 555 2181
+ ptrail 556
+ gap 99876
+ toggle_bit_mask 0x0
+
+ begin codes
+ power 0x5006
+ menu 0x9806
+ guide 0x0C0B
+ info 0xCC05
+ up 0x2C09
+ down 0xAC01
+ left 0x6C0E
+ right 0xEC06
+ ok 0x8807
+ exit 0x480B
+ options 0x4205
+ widgets 0xC209
+ ondemand 0x580A
+ favorites 0xA805
+ last 0xC803
+ fiostv 0x7C0F
+ ch+ 0xD00A
+ ch- 0x3002
+ previous 0x3C08
+ dvr 0xBC00
+ next 0xFC07
+ rewind 0x7808
+ play-pause 0xF800
+ fastforward 0xB804
+ stop 0x380C
+ record 0x8C03
+ 1 0x800F
+ 2 0x4007
+ 3 0xC00B
+ 4 0x2003
+ 5 0xA00D
+ 6 0x6005
+ 7 0xE009
+ 8 0x1001
+ 9 0x900E
+ 0 0x0000
+ * 0x2201
+ # 0x0203
+ yellow 0xE801
+ blue 0xE40E
+ red 0x1406
+ green 0x940A
+ av 0x280D
+ pip 0x4403
+ pip-change 0xC40D
+ end codes
+
+end remote
diff --git a/linhes/linhes-templates/templates/transmit/motorola_rg2xxx/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_rg2xxx/lircd.conf
new file mode 100644
index 0000000..74ff1ea
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_rg2xxx/lircd.conf
@@ -0,0 +1,144 @@
+#
+# this config file was automatically generated
+# using WinLIRC 0.6.5 (LIRC 0.6.1pre3) on Mon May 09 10:49:02 2005
+#
+# contributed by toonces
+#
+# brand: MTS TV or Quest Choice TV
+# model: NextLevel or Motorolla RG2200
+# supported devices: RG2000 RG2200 RG2400
+#
+# Remote is SRC-200A (should work with other similar models)
+#
+# Programmed using factory defaults (will work without setting gateway id):
+# Infared, stream 1
+#
+
+begin remote
+
+ name motorola_rg_series
+ bits 8
+ flags SPACE_ENC
+ eps 25
+ aeps 100
+
+ header 5041 2901
+ one 1049 911
+ zero 1049 2901
+ ptrail 1049
+ post_data_bits 8
+ post_data 0xFF
+ gap 52610
+ toggle_bit 0
+
+
+ begin codes
+ select 0x00000000000000CD
+ 1 0x000000000000000D
+ 2 0x0000000000000075
+ 3 0x00000000000000B5
+ 4 0x0000000000000015
+ 5 0x0000000000000065
+ 6 0x0000000000000025
+ 7 0x00000000000000AD
+ 8 0x000000000000006D
+ 9 0x000000000000008D
+ 0 0x00000000000000D9
+ chan_up 0x000000000000002D
+ chan_down 0x00000000000000F5
+ b 0x00000000000000A9
+ exit 0x00000000000000A5
+ last_chan 0x00000000000000E5
+ call_id 0x00000000000000D5
+ end codes
+
+end remote
+
+#
+# Infared, stream 2
+#
+
+begin remote
+
+ name SRC-200A_2
+ bits 8
+ flags SPACE_ENC
+ eps 25
+ aeps 100
+
+ header 5030 2908
+ one 1039 919
+ zero 1039 2908
+ ptrail 1039
+ post_data_bits 8
+ post_data 0xFF
+ gap 48701
+ toggle_bit 0
+
+
+ begin codes
+ select 0x00000000000000CE
+ 1 0x000000000000000E
+ 2 0x0000000000000076
+ 3 0x00000000000000B6
+ 4 0x0000000000000016
+ 5 0x0000000000000066
+ 6 0x0000000000000026
+ 7 0x00000000000000AE
+ 8 0x000000000000006E
+ 9 0x000000000000008E
+ 0 0x00000000000000DA
+ chan_up 0x000000000000002E
+ chan_down 0x00000000000000F6
+ b 0x00000000000000AA
+ exit 0x00000000000000A6
+ last_chan 0x00000000000000E6
+ call_id 0x00000000000000D6
+ end codes
+
+end remote
+
+#
+# Infared, stream 3
+#
+
+begin remote
+
+ name SRC-200A_3
+ bits 8
+ flags SPACE_ENC
+ eps 25
+ aeps 100
+
+ header 5057 2889
+ one 1065 902
+ zero 1065 2889
+ ptrail 1065
+ post_data_bits 8
+ post_data 0xFF
+ gap 46655
+ toggle_bit 0
+
+
+ begin codes
+ select 0x00000000000000CC
+ 1 0x000000000000000C
+ 2 0x0000000000000074
+ 3 0x00000000000000B4
+ 4 0x0000000000000014
+ 5 0x0000000000000064
+ 6 0x0000000000000024
+ 7 0x00000000000000AC
+ 8 0x000000000000006C
+ 9 0x000000000000008C
+ 0 0x00000000000000D8
+ chan_up 0x000000000000002C
+ chan_down 0x00000000000000F4
+ b 0x00000000000000A8
+ exit 0x00000000000000A4
+ last_chan 0x00000000000000E4
+ call_id 0x00000000000000D4
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/transmit/motorola_vip12xx/lircd.conf b/linhes/linhes-templates/templates/transmit/motorola_vip12xx/lircd.conf
new file mode 100644
index 0000000..2b32c2b
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/motorola_vip12xx/lircd.conf
@@ -0,0 +1,73 @@
+begin remote
+
+ name vip1200
+ bits 32
+ flags RCMM|CONST_LENGTH
+ eps 18
+ aeps 100
+
+ header 417 278
+ three 167 778
+ two 167 611
+ one 167 444
+ zero 167 278
+ ptrail 167
+ gap 99817
+ toggle_bit_mask 0x8000
+
+ begin codes
+ ZERO 0x23402600
+ 0 0x23402600
+ ONE 0x2340A601
+ 1 0x2340A601
+ TWO 0x23402602
+ 2 0x23402602
+ THREE 0x2340A603
+ 3 0x2340A603
+ FOUR 0x23402604
+ 4 0x23402604
+ FIVE 0x2340A605
+ 5 0x2340A605
+ SIX 0x2340A606
+ 6 0x2340A606
+ SEVEN 0x2340A607
+ 7 0x2340A607
+ EIGHT 0x23402608
+ 8 0x23402608
+ NINE 0x2340A609
+ 9 0x2340A609
+ LAST 0x2340260A
+ POWER 0x2340A60C
+ INFO 0x2340260F
+ CHPG+ 0x2340A620
+ CHPG- 0x2340A621
+ FF 0x23402628
+ REW 0x2340A629
+ PLAY 0x2340262C
+ PAUSE 0x23402630
+ STOP 0x2340A631
+ RECORD 0x23402637
+ A 0x2340A638
+ B 0x2340A639
+ RECORDEDTV 0x23402644
+ FWD 0x2340A64C
+ REPLAY 0x2340264D
+ MENU 0x2340A654
+ EXIT 0x2340A655
+ UP 0x2340A658
+ DOWN 0x23402659
+ LEFT 0x2340A65A
+ RIGHT 0x2340A65B
+ OK 0x2340A65C
+ BACK 0x2340A683
+ C 0x2340A686
+ DELETE 0x2340A69E
+ TVVIDEO 0x234026A8
+ GUIDE 0x234026CC
+ ENTER 0x234026E1
+ VIDEOONDEMAND 0x2340A6F0
+ gointeractive 0x2340A6FD
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/transmit/nokia_8003/lircd.conf b/linhes/linhes-templates/templates/transmit/nokia_8003/lircd.conf
new file mode 100644
index 0000000..1bb9c55
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/nokia_8003/lircd.conf
@@ -0,0 +1,87 @@
+#
+# This config file was *not* automatically generated
+# using lirc-0.6.3 on Sat Jul 6 23:20:00 2001
+#
+# contributed by Jean-Claude Repetto
+#
+# brand : Nokia
+# model : SCN600
+# supported devices : 8003S (analogue & D2MAC satellite receiver)
+#
+
+begin remote
+
+ name Nokia_SCN600
+ bits 8
+ flags RC5|CONST_LENGTH
+ eps 15
+ aeps 200
+
+ header 792 2165
+ one 652 339
+ zero 652 339
+ pre_data_bits 1
+ pre_data 0x00
+ post_data_bits 8
+ post_data 0xCD
+ gap 128834
+ toggle_bit 0
+
+ begin codes
+ 1 0x0000000000007F
+ 2 0x000000000000BF
+ 3 0x0000000000003F
+ 4 0x000000000000DF
+ 5 0x0000000000005F
+ 6 0x0000000000009F
+ 7 0x0000000000001F
+ 8 0x000000000000EF
+ 9 0x0000000000006F
+ 0 0x000000000000FF
+ UP 0x0000000000008F
+ DOWN 0x0000000000000F
+ i 0x0000000000004B
+ MUTE 0x000000000000EB
+ RADIO 0x000000000000FB
+ LAST 0x000000000000AB
+ LEFT 0x0000000000000B
+ RIGHT 0x0000000000008B
+ TV/SAT 0x0000000000001B
+ OK 0x000000000000F3
+ MENU 0x00000000000023
+ REV 0x000000000000D3
+ SIZE 0x000000000000E3
+ STOP 0x00000000000053
+ TEXT 0x00000000000033
+ UPD 0x00000000000093
+ OFF 0x000000000000CF
+
+ end codes
+
+end remote
+
+begin remote
+ name SCN600pre
+ bits 8
+ flags RC5
+ eps 15
+ aeps 200
+
+ header 792 2165
+ one 652 339
+ zero 652 339
+ pre_data_bits 1
+ pre_data 0x00
+ post_data_bits 8
+ post_data 0x00
+ gap 128834
+ toggle_bit 0
+
+ begin codes
+ pre 0x00000000000080
+ end codes
+
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/nokia_9600/lircd.conf b/linhes/linhes-templates/templates/transmit/nokia_9600/lircd.conf
new file mode 100644
index 0000000..fbd0811
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/nokia_9600/lircd.conf
@@ -0,0 +1,90 @@
+#
+# This config file was *not* automatically generated
+# using lirc-0.6.3 on Sat Jul 6 23:25:00 2001
+#
+# contributed by Jean-Claude Repetto
+#
+# brand: Nokia
+# model: ???
+# supported devices: Media Master 96XX
+#
+
+begin remote
+
+ name Nokia_9600
+ bits 8
+ flags RC5|CONST_LENGTH
+ eps 15
+ aeps 200
+
+ header 767 2236
+ one 641 355
+ zero 641 355
+
+ pre_data_bits 1
+ pre_data 0x0
+ post_data_bits 8
+ post_data 0xC5
+ gap 99596
+ repeat_bit 0
+
+ begin codes
+ OFF 0x00000000000000CF
+ RADIO 0x00000000000000FB
+ TV 0x000000000000001B
+ 1 0x000000000000007F
+ 2 0x00000000000000BF
+ 3 0x000000000000003F
+ 4 0x00000000000000DF
+ 5 0x000000000000005F
+ 6 0x000000000000009F
+ 7 0x000000000000001F
+ 8 0x00000000000000EF
+ 9 0x000000000000006F
+ 0 0x00000000000000FF
+ GUIDE 0x0000000000000023
+ MENU 0x00000000000000B5
+ EXIT 0x0000000000000055
+ i 0x000000000000004B
+ OK 0x00000000000000F3
+ VOL+ 0x0000000000000097
+ VOL- 0x0000000000000017
+ MUTE 0x00000000000000EB
+ RIGHT 0x000000000000008B
+ UP 0x000000000000008F
+ DOWN 0x000000000000000F
+ NEXT 0x00000000000000D5
+ PREV 0x0000000000000035
+ LEFT 0x000000000000000B
+ TEXT 0x00000000000000BE
+ end codes
+
+end remote
+
+begin remote
+
+ name 9600pre
+ bits 8
+ flags RC5|CONST_LENGTH
+ eps 15
+ aeps 200
+
+ header 767 2236
+ one 641 355
+ zero 641 355
+ pre_data_bits 1
+ pre_data 0x0
+ post_data_bits 8
+ post_data 0
+ gap 99596
+ repeat_bit 0
+
+
+ begin codes
+ pre 0x0000000000000080
+ end codes
+
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/nokia_9780/lircd.conf b/linhes/linhes-templates/templates/transmit/nokia_9780/lircd.conf
new file mode 100644
index 0000000..8c3c1d3
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/nokia_9780/lircd.conf
@@ -0,0 +1,261 @@
+
+# this config file was automatically generated
+# using lirc-0.6.6(serial) on Tue Aug 19 19:59:57 2003,
+# with a minor tweak by Bud.
+#
+# contributed by Bud Millwood
+#
+# brand: Nokia
+# model no. of remote control: MM9780S (Media Master 9780S)
+# supported devices: satellite receiver
+#
+
+begin remote
+
+ name MM9780S
+ flags CONST_LENGTH|RAW_CODES
+ eps 20
+ aeps 100
+
+ ptrail 0
+ repeat 0 0
+ gap 98969
+
+ begin raw_codes
+
+ name PWR
+ 447 244 174 268 174 239
+ 228 738 174 598 200 234
+ 175 239 220 240 174 267
+ 174 259 175 266 174 765
+ 174 267 174
+
+ name EXIT
+ 450 269 174 239 203 266
+ 174 765 175 597 198 236
+ 174 267 173 232 227 242
+ 199 234 174 598 174 232
+ 228 747 173
+
+ name MUTE
+ 449 268 175 267 174 267
+ 174 765 175 597 175 259
+ 173 268 197 236 174 267
+ 199 234 175 266 174 765
+ 175 441 199
+
+ name ONE
+ 474 243 201 241 174 240
+ 200 766 176 596 174 259
+ 176 265 199 207 202 267
+ 175 231 201 267 175 258
+ 176 440 173
+
+ name TWO
+ 474 244 174 268 174 266
+ 174 765 175 597 175 259
+ 175 265 175 259 175 266
+ 174 231 211 258 174 260
+ 200 571 174
+
+ name THREE
+ 448 269 176 239 202 239
+ 201 765 175 597 198 235
+ 199 242 200 234 175 265
+ 174 232 202 240 200 260
+ 175 772 173
+
+ name FOUR
+ 449 269 175 266 176 265
+ 173 767 173 598 187 247
+ 200 241 200 233 201 240
+ 174 232 201 268 173 434
+ 174 267 174
+
+ name FIVE
+ 449 269 174 267 175 266
+ 174 766 174 598 174 259
+ 174 267 174 259 175 267
+ 199 234 175 239 199 435
+ 175 441 174
+
+ name SIX
+ 450 268 174 268 199 241
+ 173 767 173 598 174 260
+ 174 239 202 259 174 267
+ 198 235 175 266 174 434
+ 175 598 173
+
+ name SEVEN
+ 449 269 175 239 227 241
+ 199 741 175 597 174 259
+ 175 240 201 231 205 264
+ 174 259 199 242 174 434
+ 175 772 173
+
+ name EIGHT
+ 450 241 202 267 175 267
+ 173 766 173 599 200 206
+ 202 266 174 260 201 240
+ 173 232 202 240 226 565
+ 175 239 201
+
+ name NINE
+ 446 268 172 269 174 266
+ 176 765 199 574 188 218
+ 226 242 173 232 202 240
+ 224 235 175 268 172 592
+ 174 442 197
+
+ name ZERO
+ 446 243 175 239 228 241
+ 199 740 174 598 175 259
+ 174 267 198 234 174 267
+ 174 259 175 266 173 261
+ 174 267 199
+
+ name VOL-
+ 475 243 200 242 175 266
+ 174 765 176 597 173 260
+ 174 267 173 260 174 267
+ 199 207 202 441 202 231
+ 174 442 174
+
+ name VOL+
+ 448 270 201 241 175 266
+ 173 766 175 597 173 261
+ 190 254 171 259 200 241
+ 173 260 175 441 174 259
+ 175 266 199
+
+ name INFO
+ 449 242 174 267 174 267
+ 175 764 175 598 199 206
+ 202 267 199 234 175 266
+ 175 231 202 267 173 766
+ 174 774 173
+
+ name BACK
+ 442 269 174 268 175 266
+ 174 765 189 584 173 260
+ 201 240 173 232 202 267
+ 174 434 174 598 174 434
+ 175 772 200
+
+ name TEXT
+ 448 269 174 268 175 265
+ 175 765 173 599 196 210
+ 202 266 174 260 174 267
+ 173 434 176 441 174 590
+ 174 598 175
+
+ name MENU
+ 423 268 201 240 173 268
+ 173 767 175 598 173 260
+ 201 240 174 232 203 265
+ 174 434 175 441 174 232
+ 202 597 174
+
+ name GUIDE
+ 422 268 174 268 174 267
+ 174 765 174 598 174 259
+ 175 267 174 259 173 268
+ 173 434 175 441 175 433
+ 175 772 175
+
+ name PROG+
+ 420 270 174 268 174 266
+ 174 766 175 597 173 261
+ 174 239 202 259 174 267
+ 173 260 175 772 174 204
+ 229 598 174
+
+ name PROG-
+ 449 269 174 268 198 243
+ 173 766 174 598 174 259
+ 175 266 174 232 202 266
+ 174 232 202 773 174 434
+ 174 267 173
+
+ name PGUP
+ 448 269 175 267 175 266
+ 174 766 173 599 174 259
+ 201 240 199 235 174 267
+ 172 436 175 266 200 740
+ 200 415 174
+
+ name PGDN
+ 449 269 175 267 174 267
+ 173 766 174 599 173 260
+ 175 266 173 260 198 243
+ 173 435 174 267 174 765
+ 201 572 174
+
+ name UP
+ 449 269 175 267 200 241
+ 174 765 199 573 173 261
+ 173 268 173 260 174 267
+ 174 434 173 443 174 259
+ 174 267 174
+
+ name DN
+ 448 269 174 268 174 267
+ 200 739 174 598 174 259
+ 176 265 173 233 202 239
+ 201 435 174 442 174 231
+ 202 442 174
+
+ name LEFT
+ 450 269 174 267 175 266
+ 173 768 173 598 201 204
+ 228 214 201 259 175 266
+ 174 434 175 441 199 409
+ 175 441 174
+
+ name RIGHT
+ 421 269 174 267 175 266
+ 173 766 175 598 173 260
+ 200 241 173 260 201 240
+ 173 435 174 442 172 436
+ 174 598 198
+
+ name OK
+ 449 268 175 267 175 266
+ 199 740 175 598 174 259
+ 174 240 200 232 202 267
+ 174 434 175 598 174 259
+ 174 598 199
+
+ name RED
+ 474 217 202 266 175 267
+ 197 742 175 597 175 258
+ 175 267 199 206 202 267
+ 199 234 174 773 175 764
+ 200 241 201
+
+ name GREEN
+ 421 270 174 267 202 212
+ 225 741 186 587 198 235
+ 175 266 174 259 175 266
+ 175 231 202 773 174 765
+ 175 772 175
+
+ name BLUE
+ 448 270 174 268 180 261
+ 173 766 201 572 173 260
+ 175 266 174 232 201 240
+ 201 434 200 572 174 435
+ 174 266 175
+
+ name YELLOW
+ 455 263 201 213 202 240
+ 201 765 174 598 200 233
+ 175 266 174 232 202 267
+ 173 434 175 441 200 233
+ 200 747 200
+
+ end raw_codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/nokia_9802/lircd.conf b/linhes/linhes-templates/templates/transmit/nokia_9802/lircd.conf
new file mode 100644
index 0000000..819f912
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/nokia_9802/lircd.conf
@@ -0,0 +1,227 @@
+
+# contributed by Anders Bjork <anbj@home.se> SM2NON
+#
+# this config file was hand-hacked using oscilloscope
+# to compare the result with orginal remote.
+#
+#
+# brand: Nokia
+# model no. of remote control: MM9802S (Media Master 9802S)
+# supported devices: satelite receiver
+#
+
+begin remote
+
+ name Nokia_9802
+ flags CONST_LENGTH|RAW_CODES
+ eps 30
+ aeps 100
+
+ ptrail 0
+ repeat 0 0
+ gap 99755
+
+ begin raw_codes
+
+ name 0
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 230
+ 200 250 200
+
+ name 1
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 230
+ 200 450 200
+
+ name 2
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 230
+ 200 600 200
+
+ name 3
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 230
+ 200 750 200
+
+ name 4
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 450
+ 200 250 200
+
+ name 5
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 450
+ 200 450 200
+
+ name 6
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 450
+ 200 600 200
+
+ name 7
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 450
+ 200 750 200
+
+ name 8
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 600
+ 200 250 200
+
+ name 9
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 600
+ 200 450 200
+
+ name MUTE
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 750
+ 200 450 200
+
+ name INFO
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 750
+ 200 750 200
+
+ name POWER
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 250 180 750
+ 200 250 200
+
+ name VOL-
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 450 180 250
+ 200 450 200
+
+ name BACK
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 600 180 450
+ 200 750 200
+
+ name TEXT
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 450 180 600
+ 200 600 200
+
+ name MENU
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 450 180 250
+ 200 550 200
+
+ name GUIDE
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 450 180 450
+ 200 750 200
+
+ name P+
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 750 180 250
+ 200 600 200
+
+ name P-
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 750 180 450
+ 200 250 200
+
+ name FUP
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 250 180 750
+ 200 450 200
+
+ name FDOWN
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 250 180 750
+ 200 600 200
+
+ name UP
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 450 180 250
+ 200 250 200
+
+ name DOWN
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 450 180 250
+ 200 450 200
+
+ name LEFT
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 450 180 450
+ 200 450 200
+
+ name RIGHT
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 450 180 450
+ 200 600 200
+
+ name OK
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 450 180 600 180 250
+ 200 600 200
+
+ name VOL+
+ 350 300 200 250 200 250
+ 200 800 150 600 180 250
+ 180 250 180 250 180 250
+ 180 250 180 450 180 250
+ 200 250 200
+
+ end raw_codes
+
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/nokia_dbox2/lircd.conf b/linhes/linhes-templates/templates/transmit/nokia_dbox2/lircd.conf
new file mode 100644
index 0000000..9b45271
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/nokia_dbox2/lircd.conf
@@ -0,0 +1,59 @@
+#
+# this config file was derived from the DBOX config file
+#
+# brand: Nokia
+# model: ?
+# supported devices: D-Box2
+#
+
+begin remote
+
+ name D-BOX2
+ bits 8
+ flags SHIFT_ENC|CONST_LENGTH
+ eps 10
+ aeps 300
+
+ header 510 2520
+ one 450 550
+ zero 450 550
+ pre_data_bits 1
+ pre_data 0x0
+ post_data_bits 8
+ post_data 0xC5
+ gap 59500
+ repeat_bit 0
+
+ begin codes
+ power 0x00000000000000CF
+ home 0x00000000000000FB
+ d-box 0x000000000000001B
+ 1 0x000000000000007F
+ 2 0x00000000000000BF
+ 3 0x000000000000003F
+ 4 0x00000000000000DF
+ 5 0x000000000000005F
+ 6 0x000000000000009F
+ 7 0x000000000000001F
+ 8 0x00000000000000EF
+ 9 0x000000000000006F
+ 0 0x00000000000000FF
+ blue 0x0000000000000023
+ yellow 0x00000000000000B5
+ green 0x0000000000000055
+ red 0x000000000000004B
+ ok 0x00000000000000F3
+ vol_+ 0x0000000000000097
+ vol_- 0x0000000000000017
+ mute 0x00000000000000EB
+ right 0x000000000000008B
+ up 0x000000000000008F
+ down 0x000000000000000F
+ next 0x00000000000000D5
+ prev 0x0000000000000035
+ left 0x000000000000000B
+ help 0x00000000000000BE
+ end codes
+
+end remote
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_4001/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_4001/lircd.conf
new file mode 100644
index 0000000..49c098b
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_4001/lircd.conf
@@ -0,0 +1,70 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.3pre4(sir) on Wed Feb 14 04:40:48 2001
+#
+# contributed by John G Ineson
+#
+# brand: Pace
+# model: DI4001N
+# supported devices: DI4001N (NTL UK Digital Cable box)
+#
+
+begin remote
+
+ name DI4001N
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 887 898
+ zero 887 898
+ plead 875
+ gap 114458
+ toggle_bit 2
+
+
+ begin codes
+ 1 0x0000000000001281
+ 2 0x0000000000001282
+ 3 0x0000000000001283
+ 4 0x0000000000001284
+ 5 0x0000000000001285
+ 6 0x0000000000001286
+ 7 0x0000000000001287
+ 8 0x0000000000001288
+ 9 0x0000000000001289
+ 0 0x0000000000001280
+ Mute 0x0000000000000286
+ Help 0x000000000000128F
+ Red 0x00000000000002AB
+ Green 0x00000000000002AC
+ Yellow 0x00000000000002AD
+ Blue 0x00000000000002AE
+ Left 0x0000000000000295
+ Right 0x0000000000000296
+ Up 0x0000000000000290
+ Down 0x0000000000000291
+ Select 0x0000000000000297
+ Guide 0x000000000000028F
+ Menu 0x00000000000002AA
+ Back 0x00000000000012A8
+ Browse 0x00000000000012AF
+ Volume+ 0x0000000000001290
+ Volume- 0x0000000000001291
+ Channel- 0x00000000000012A1
+ Channel+ 0x00000000000012A0
+ Page_Up 0x000000000000128A
+ Page_Down 0x000000000000128B
+ Email 0x00000000000002B0
+ Internet 0x00000000000002AF
+ Audio 0x0000000000000292
+ On_Demand 0x00000000000002B1
+ TV 0x0000000000000293
+ Interactive 0x00000000000002A1
+ Standby 0x000000000000128C
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_420/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_420/lircd.conf
new file mode 100644
index 0000000..f016f59
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_420/lircd.conf
@@ -0,0 +1,207 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.4-CVS(serial) on Mon Jul 9 08:14:04 2001
+#
+# contributed by Steve Davies <steve@daviesfam.org>
+# modified by Steve Hill <steve@nexusuk.org> 2003/06/29
+# modified by Psyke 2006/09/17
+#
+# brand: Pace (Foxtel Digital)
+# model no. of remote control: URC 1633B00-00 3RC16C-1005
+# supported devices: Pace DC420NF/DC420N0 (aka Foxtel Digital Cable STB, Australia)
+#
+#
+
+begin remote
+
+ name Pace_420
+ flags CONST_LENGTH|RAW_CODES
+ eps 30
+ aeps 100
+ ptrail 0
+ repeat 0 0
+ gap 149692
+ frequency 36000
+ duty_cycle 50
+
+ begin raw_codes
+
+ name 0
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444
+
+ name 1
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 888
+
+ name 2
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 888 888
+ 444
+
+ name 3
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 888 444
+ 444
+
+ name 4
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 888 888 444 444
+ 444
+
+ name 5
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 888 888 888
+
+ name 6
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 888 444 444 888
+ 444
+
+ name 7
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 888 444 444 444
+ 444
+
+ name 8
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 888 888 444 444 444 444
+ 444
+
+ name 9
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 888 888 444 444 888
+
+ name red
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 444 444 888 888 444 444 888 888
+
+ name green
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 444 444 888 888 444 444 444 444 888 444
+
+ name yellow
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 444 444 888 888 444 444 444 444 444 444
+
+ name blue
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 444 444 444 444 888 444 444 444 444 444 444
+ 444
+
+ name setup
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 888 444 444 444 444 444 444 888 444 444
+ 444
+
+ name back
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 888 888 444 444 444 444 444 444 444 444 888 444 444
+
+ name help
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 888 888 444 444 444 444 444 444 444 444 444 444 888
+
+ name left
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 888 888 444 444 888 888 888 444
+
+ name down
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 888 888 444 444 888 444 444 888
+
+ name right
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 888 888 444 444 888 888 444 444
+
+ name up
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 888 888 444 444 888 444 444 444 444 444
+
+ name select
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 888 888 444 444 444 444 888 444 444 444
+
+ name ch-down
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 888 888 444 444 444 444 444 444 888
+
+ name ch-up
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 888 888 444 444 444 444 444 444 444 444
+ 444
+
+ name i
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 888 444 444 888 444 444 888 888 888 444 444
+
+ name power
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 888 444 444 888 444 444
+ 444
+
+ name av
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 888 888 444 444 444 444 444 444 888 888 444 444 444
+
+ name foxtel
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 888 888 444 444 444 444 444 444 444 444 444 444 444 444
+ 444
+
+ name tvguide
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 888 444 444 888 444 444 888 444 444 888 444 444 444
+
+ name boxoffice
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 444 444 444 444 444 444 444 444 888 888
+
+ name active
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 444 444 888 444 444 444 444 444 444 444 444 444 444 888
+ 444
+
+ name planner
+ 2664 888 444 444 444 444 444 888 444 888 888 444 444 444 444 444
+ 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444
+ 444 444 888 444 444 444 444 444 444 888 888 888 888
+
+ end raw_codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_dsr2000/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_dsr2000/lircd.conf
new file mode 100644
index 0000000..3bc7e55
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_dsr2000/lircd.conf
@@ -0,0 +1,71 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.0pre2 on Sat Feb 7 18:25:52 2004
+#
+# contributed by: Jon Waite <jon at jonwaite dot com>
+#
+# brand: Pace
+# model no. of remote control: RC-30
+# devices being controlled by this remote: Pace DSR620-GM Sky Digital
+# Decoder (New Zealand)
+#
+
+begin remote
+
+ name Pace_RC-30
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9020 4544
+ one 541 1696
+ zero 541 579
+ ptrail 506
+ repeat 9014 2311
+ pre_data_bits 16
+ pre_data 0x213C
+ gap 107807
+ toggle_bit 0
+
+
+ begin codes
+ red 0x0000000000007C83
+ green 0x000000000000B44B
+ yellow 0x000000000000BC43
+ blue 0x000000000000FC03
+ 1 0x0000000000000CF3
+ 2 0x000000000000946B
+ 3 0x0000000000009C63
+ 4 0x00000000000014EB
+ 5 0x00000000000004FB
+ 6 0x0000000000001CE3
+ 7 0x0000000000004CB3
+ 8 0x00000000000054AB
+ 9 0x00000000000044BB
+ 0 0x000000000000CC33
+ tv 0x0000000000008C73
+ reserved 0x000000000000F40B
+ volup 0x000000000000649B
+ voldown 0x000000000000E41B
+ mute 0x000000000000A45B
+ chanup 0x000000000000AC53
+ chandown 0x000000000000EC13
+ guide 0x000000000000748B
+ back 0x0000000000005CA3
+ interactive 0x0000000000006C93
+ up 0x000000000000D42B
+ down 0x00000000000024DB
+ left 0x0000000000002CD3
+ right 0x000000000000DC23
+ ok 0x000000000000C43B
+ plus 0x0000000000003CC3
+ question 0x00000000000034CB
+ power 0x000000000000847B
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_dsr600/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_dsr600/lircd.conf
new file mode 100644
index 0000000..3bc7e55
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_dsr600/lircd.conf
@@ -0,0 +1,71 @@
+#
+# this config file was automatically generated
+# using lirc-0.7.0pre2 on Sat Feb 7 18:25:52 2004
+#
+# contributed by: Jon Waite <jon at jonwaite dot com>
+#
+# brand: Pace
+# model no. of remote control: RC-30
+# devices being controlled by this remote: Pace DSR620-GM Sky Digital
+# Decoder (New Zealand)
+#
+
+begin remote
+
+ name Pace_RC-30
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9020 4544
+ one 541 1696
+ zero 541 579
+ ptrail 506
+ repeat 9014 2311
+ pre_data_bits 16
+ pre_data 0x213C
+ gap 107807
+ toggle_bit 0
+
+
+ begin codes
+ red 0x0000000000007C83
+ green 0x000000000000B44B
+ yellow 0x000000000000BC43
+ blue 0x000000000000FC03
+ 1 0x0000000000000CF3
+ 2 0x000000000000946B
+ 3 0x0000000000009C63
+ 4 0x00000000000014EB
+ 5 0x00000000000004FB
+ 6 0x0000000000001CE3
+ 7 0x0000000000004CB3
+ 8 0x00000000000054AB
+ 9 0x00000000000044BB
+ 0 0x000000000000CC33
+ tv 0x0000000000008C73
+ reserved 0x000000000000F40B
+ volup 0x000000000000649B
+ voldown 0x000000000000E41B
+ mute 0x000000000000A45B
+ chanup 0x000000000000AC53
+ chandown 0x000000000000EC13
+ guide 0x000000000000748B
+ back 0x0000000000005CA3
+ interactive 0x0000000000006C93
+ up 0x000000000000D42B
+ down 0x00000000000024DB
+ left 0x0000000000002CD3
+ right 0x000000000000DC23
+ ok 0x000000000000C43B
+ plus 0x0000000000003CC3
+ question 0x00000000000034CB
+ power 0x000000000000847B
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_mss200/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_mss200/lircd.conf
new file mode 100644
index 0000000..9b4580f
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_mss200/lircd.conf
@@ -0,0 +1,69 @@
+#
+# contributed by Armin
+#
+# brand: Pace
+# model no. of remote control: PRC100
+# supported devices: SAT-RECEIVER PACE MSS 200 Series
+#
+#
+# on/off Button and TV/SAT Button is missing!
+
+
+begin remote
+
+ name pace
+ bits 10
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 658 6930
+ zero 658 4402
+ ptrail 661
+ pre_data_bits 2
+ pre_data 0x0
+ gap 121416
+ toggle_bit 3
+
+
+ begin codes
+ 1 0x0000000000000301
+ 2 0x0000000000000102
+ 3 0x0000000000000303
+
+ 4 0x0000000000000104
+ 5 0x0000000000000305
+ 6 0x0000000000000106
+
+ 7 0x0000000000000307
+ 8 0x0000000000000108
+ 9 0x0000000000000309
+
+ 0 0x0000000000000100
+ RCL 0x000000000000031A
+ F 0x0000000000000119
+
+ Left 0x0000000000000116
+ Menu 0x0000000000000317
+ Right 0x0000000000000311
+
+ i 0x000000000000011F
+ FAV 0x000000000000010B
+ RADIO 0x000000000000030F
+
+ STORE 0x0000000000000113
+ NORM 0x0000000000000115
+ MUTE 0x000000000000011E
+
+ SHAPE 0x000000000000010E
+ LEVEL 0x0000000000000112
+ UP 0x0000000000000118
+
+ DOLBY 0x000000000000030C
+ EFFECT 0x000000000000030D
+ VOL- 0x000000000000011B
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_mss300/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_mss300/lircd.conf
new file mode 100644
index 0000000..c839e9c
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_mss300/lircd.conf
@@ -0,0 +1,68 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.5(serial) on Tue Feb 19 12:36:53 2002
+#
+# contributed by
+#
+# brand: PACE
+# model no. of remote control: RC-17 (
+# devices being controlled by this remote: SAT-Receiver MSS-30
+# (this IR-sender comes with many satellite-receivers so I expect it not
+# only to work with this specific pace receiver but also with various other.
+# you might want to give it a try..
+#
+# the codes mentioned here 'LEFT_OF_0' and 'RIGHT_OF_0' are called this way
+# because that's their position and I can't read the key-labels anymore.
+
+begin remote
+
+ name PACE_RC-17
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9261 4166
+ one 862 258
+ zero 862 1377
+ ptrail 862
+ pre_data_bits 16
+ pre_data 0xDEC3
+ gap 107399
+ toggle_bit 0
+
+
+ begin codes
+ POWER 0x000000000000DF20
+ TV_VCR 0x0000000000009F60
+ MUTE 0x000000000000D728
+ LT 0x0000000000006798
+ 1 0x000000000000BF40
+ 2 0x0000000000005FA0
+ 3 0x0000000000001FE0
+ 4 0x0000000000007F80
+ 5 0x000000000000FF00
+ 6 0x0000000000003FC0
+ 7 0x000000000000AF50
+ 8 0x0000000000006F90
+ 9 0x000000000000EF10
+ 0 0x0000000000008F70
+ RECALL 0x0000000000004FB0
+ FAV 0x000000000000F708
+ VOL_UP 0x000000000000E718
+ VOL_DOWN 0x000000000000C738
+ CHANNEL_UP 0x0000000000000FF0
+ CHANNEL_DOWN 0x000000000000B748
+ NORM 0x00000000000057A8
+ MENU 0x000000000000CF30
+ STORE 0x0000000000009768
+ INFO 0x0000000000002FD0
+ LEFT_OF_0 0x0000000000007788
+ RIGHT_OF_0 0x00000000000037C8
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_psr800/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_psr800/lircd.conf
new file mode 100644
index 0000000..ddf63f6
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_psr800/lircd.conf
@@ -0,0 +1,58 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.5(serial) on Sun Jun 9 16:01:36 2002
+#
+# contributed by
+#
+# brand: PACE-PSR800
+# model no. of remote control:
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name PACE-PSR800
+ bits 12
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 704 6914
+ zero 704 4386
+ ptrail 699
+ gap 122866
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ P-/-- 0x000000000000010A
+ standby 0x0000000000000310
+ 1 0x0000000000000301
+ 2 0x0000000000000302
+ 3 0x0000000000000103
+ 4 0x0000000000000304
+ 5 0x0000000000000105
+ 6 0x0000000000000306
+ 7 0x0000000000000107
+ 8 0x0000000000000308
+ 9 0x0000000000000109
+ aux/0 0x0000000000000100
+ recall 0x000000000000031A
+ F 0x0000000000000319
+ < 0x0000000000000316
+ menu 0x0000000000000317
+ > 0x0000000000000311
+ osd 0x000000000000011F
+ tv/sat 0x0000000000000114
+ radio 0x000000000000010F
+ store 0x0000000000000313
+ norm 0x0000000000000315
+ mute 0x000000000000031E
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_psr900/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_psr900/lircd.conf
new file mode 100644
index 0000000..8f5d785
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_psr900/lircd.conf
@@ -0,0 +1,61 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.1 on Wed May 24 23:34:03 2000
+#
+# contributed by BartOwl <bartowl@dione.ids.pl>
+#
+# brand: PACE (satellite receiver)
+# model: PSR 900
+# supported devices: Satellite receiver remote
+#
+
+# See the MSS300 config file for comments on the Pace protocol.
+
+begin remote
+
+ name pace900
+ bits 5
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 762 3077
+ one 666 6948
+ zero 666 4414
+ ptrail 673
+ pre_data_bits 6
+ pre_data 0x8
+ gap 122772
+ repeat_bit 2
+
+ begin codes
+ power 0x0000000000000010
+ 1-- 0x000000000000000A
+ 1 0x0000000000000001
+ 2 0x0000000000000002
+ 3 0x0000000000000003
+ 4 0x0000000000000004
+ 5 0x0000000000000005
+ 6 0x0000000000000006
+ 7 0x0000000000000007
+ 8 0x0000000000000008
+ 9 0x0000000000000009
+ 0 0x0000000000000000
+ recall 0x000000000000001A
+ F 0x0000000000000019
+ left 0x0000000000000016
+ menu 0x0000000000000017
+ right 0x0000000000000011
+ display 0x000000000000001F
+ tv/sat 0x0000000000000014
+ radio 0x000000000000000F
+ store 0x0000000000000013
+ norm 0x0000000000000015
+ mute 0x000000000000001E
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pace_xsat_cdtv410/lircd.conf b/linhes/linhes-templates/templates/transmit/pace_xsat_cdtv410/lircd.conf
new file mode 100644
index 0000000..eefaae4
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pace_xsat_cdtv410/lircd.conf
@@ -0,0 +1,70 @@
+#
+# contributed by magnus sandin <magnus|sandin.cx>
+#
+# brand: XSAT (PACE)
+# model: unknown
+# supported devices: CDTV-410
+#
+
+begin remote
+
+ name xsat
+ bits 8
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ header 8004 4044
+ one 532 1550
+ zero 550 500
+ ptrail 533
+ pre_data_bits 8
+ pre_data 0x44
+ pre 530 4035
+ gap 23000
+ repeat_bit 0
+
+ begin codes
+ MUTE 0x00000000000000D0
+ FREEZE 0x0000000000000088
+ FORMAT 0x0000000000000028
+ POWER 0x0000000000000000
+ 1 0x0000000000000080
+ 2 0x0000000000000040
+ 3 0x00000000000000C0
+ 4 0x0000000000000020
+ 5 0x00000000000000A0
+ 6 0x0000000000000060
+ 7 0x00000000000000E0
+ 8 0x0000000000000010
+ 9 0x0000000000000090
+ 0 0x0000000000000050
+ VOL_UP 0x0000000000000070
+ VOL_DOWN 0x00000000000000F0
+ SKIP_UP 0x00000000000000F9
+ SKIP_DOWN 0x00000000000000C8
+ AUX 0x0000000000000039
+ INPUT 0x00000000000000B9
+ AUDIO 0x0000000000000008
+ TV/RADIO 0x0000000000000098
+ INFO 0x0000000000000030
+ GUIDE 0x00000000000000A8
+ RED 0x0000000000000018
+ GREEN 0x00000000000000B0
+ YELLOW 0x0000000000000058
+ BLUE 0x00000000000000D8
+ UP 0x0000000000000038
+ DOWN 0x00000000000000B8
+ LEFT 0x0000000000000078
+ RIGHT 0x00000000000000F8
+ OK 0x000000000000001A
+ QUIT 0x0000000000000079
+ RETURN 0x0000000000000048
+ MENU 0x0000000000000068
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pansat_2700a/lircd.conf b/linhes/linhes-templates/templates/transmit/pansat_2700a/lircd.conf
new file mode 100644
index 0000000..d7d4cd5
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pansat_2700a/lircd.conf
@@ -0,0 +1,86 @@
+
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.8.1-CVS(default) on Sat Nov 4 14:30:45 2006
+#
+# contributed by: ML
+#
+# brand: Pansat
+# model no. of remote control:
+# devices being controlled by this remote: 2700a and possibly 3500
+#
+
+begin remote
+
+ name Pansat2700a
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 8893 4582
+ one 587 1658
+ zero 587 535
+ ptrail 587
+ repeat 8893 2311
+ pre_data_bits 16
+ pre_data 0x10EF
+ gap 107354
+ toggle_bit 0
+
+
+ begin codes
+ POWER 0x00FF
+ MUTE 0x20DF
+ 1 0x38C7
+ 2 0xB847
+ 3 0x7887
+ 4 0x02FD
+ 5 0x827D
+ 6 0x42BD
+ 7 0x22DD
+ 8 0xA25D
+ 9 0x629D
+ 0 0x18E7
+ PAUSE 0x3AC5
+ AUDIOQ 0x50AF
+ EPG 0x9867
+ LAST 0xE01F
+ FAV 0xBA45
+ SAT 0xD827
+ MENU 0xD02F
+ DOUBLEUP 0x609F
+ DOUBLEDOWN 0xE21D
+ EXIT 0xC03F
+ UP 0x48B7
+ LEFT 0x28D7
+ DOWN 0xC837
+ RIGHT 0x6897
+ OK 0xA857
+ HDD 0xA05F
+ INFO 0x58A7
+ REW 0x12ED
+ FFW 0x926D
+ PLAY 0x52AD
+ STOP 0xD22D
+ SEEKBACK 0x32CD
+ SEEKFWD 0xB24D
+ PAUSE 0x728D
+ REC 0xF20D
+ SKIPBACK 0xF807
+ SKIPFWD 0x906F
+ PIP 0x807F
+ LOOP 0xC23D
+ RED 0x30CF
+ GREEN 0xB04F
+ YELLOW 0x08F7
+ BLUE 0x8877
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pioneer_bdv300/lircd.conf b/linhes/linhes-templates/templates/transmit/pioneer_bdv300/lircd.conf
new file mode 100644
index 0000000..78ec355
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pioneer_bdv300/lircd.conf
@@ -0,0 +1,92 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.1-CVS(default) on Mon Oct 16 07:50:58 2006
+#
+# contributed by Frank Bennett
+#
+# brand: Pioneer
+# model no. of remote control: BR-V3
+# devices being controlled by this remote: BD-V300 CATV STB
+#
+#
+# This configuration file works only to send signals to the
+# STB using irsend. It will not work to interpret signals
+# sent by the remote.
+#
+# The BD-V300 remote sends some commands as two 32-bit elements.
+# Because the STB expects to see commands repeated once, this means
+# you need to send four codes (A, B, A, B) for these commands.
+# The remaining codes (those without a suffix) should be sent
+# twice to trigger action by the STB.
+#
+#
+# Here are a few examples using irsend:
+#
+# Change to terrestrial television mode:
+#
+# irsend -d /dev/lircd1 SEND_ONCE pioneer_br_v3 chijo-A chijo-B chijo-A chijo-B
+#
+# Change to cable television mode:
+#
+# irsend -d /dev/lircd1 SEND_ONCE pioneer_br_v3 catv-A catv-B catv-A catv-B
+#
+# Change to channel 231
+#
+# irsend -d /dev/lircd1 SEND_ONCE pioneer_br_v3 ch-A ch-B ch-A ch-B
+# sleep 1
+# irsend -d /dev/lircd1 SEND_ONCE pioneer_br_v3 2 2
+# sleep 1
+# irsend -d /dev/lircd1 SEND_ONCE pioneer_br_v3 3 3
+# sleep 1
+# irsend -d /dev/lircd1 SEND_ONCE pioneer_br_v3 1 1
+#
+
+begin remote
+
+ name Pioneer_BR_V3
+ bits 32
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 8509 4280
+ one 566 1560
+ zero 566 504
+ ptrail 566
+ gap 89937
+ min_repeat 0
+ toggle_bit 0
+
+
+ begin codes
+ dengen 0x35CA38C7
+ chijo-A 0x35CACC33
+ chijo-B 0xF50ADC23
+ bscs-A 0x35CACC33
+ bscs-B 0xF50ABC43
+ catv-A 0x35CACC33
+ catv-B 0xF50A7C83
+ ch-A 0x35CACC33
+ ch-B 0xF50A3CC3
+ 1 0x35CA807F
+ 2 0x35CA40BF
+ 3 0x35CAC03F
+ 4 0x35CA20DF
+ 5 0x35CAA05F
+ 6 0x35CA609F
+ 7 0x35CAE01F
+ 8 0x35CA10EF
+ 9 0x35CA906F
+ 10-0 0x35CA00FF
+ 11-A 0x35CACC33
+ 11-B 0xF50A9C63
+ 12-A 0x35CACC33
+ 12-B 0xF50A1CE3
+ onsei 0x35CA7887
+ jimaku-A 0x35CACC33
+ jimaku-B 0xF50A8C73
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/pvr150/lircd.conf b/linhes/linhes-templates/templates/transmit/pvr150/lircd.conf
new file mode 100644
index 0000000..1e7786b
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/pvr150/lircd.conf
@@ -0,0 +1,30947 @@
+#
+# this config file was automatically generated
+# using lirc-0.5.5pre8 on Sun Apr 18 11:43:45 1999
+#
+# contributed by Jens Leuschner <leuschner@gmx.net>
+#
+# brand: Hauppauge
+# model:
+# supported devices: WinTV primo; WinTV pci; WinTV radio
+#
+# This config file will work with both homebrew receivers and
+# original Hauppauge TV cards !!!
+#
+
+begin remote
+
+ name blaster
+ bits 32
+ flags RAW_CODES
+ eps 0
+ aeps 0
+ plead 0
+ gap 333333
+ repeat_bit 0
+ begin raw_codes
+ name 0_1_KEY_0
+ 65536
+ name 0_1_KEY_1
+ 65537
+ name 0_1_KEY_2
+ 65538
+ name 0_1_KEY_3
+ 65539
+ name 0_1_KEY_4
+ 65540
+ name 0_1_KEY_5
+ 65541
+ name 0_1_KEY_6
+ 65542
+ name 0_1_KEY_7
+ 65543
+ name 0_1_KEY_8
+ 65544
+ name 0_1_KEY_9
+ 65545
+ name 0_1_KEY_POWER
+ 65546
+ name 0_1_KEY_MUTE
+ 65553
+ name 0_1_KEY_VOL_DOWN
+ 65554
+ name 0_1_CH_PREVIOUS
+ 65555
+ name 0_1_KEY_VOL_UP
+ 65556
+ name 0_1_KEY_FTUNEPLUS
+ 65569
+ name 0_1_KEY_FTUNEMINUS
+ 65570
+ name 1_1_KEY_0
+ 2147549184
+ name 1_1_KEY_1
+ 2147549185
+ name 1_1_KEY_2
+ 2147549186
+ name 1_1_KEY_3
+ 2147549187
+ name 1_1_KEY_4
+ 2147549188
+ name 1_1_KEY_5
+ 2147549189
+ name 1_1_KEY_6
+ 2147549190
+ name 1_1_KEY_7
+ 2147549191
+ name 1_1_KEY_8
+ 2147549192
+ name 1_1_KEY_9
+ 2147549193
+ name 1_1_KEY_POWER
+ 2147549194
+ name 1_1_KEY_CH_UP
+ 2147549199
+ name 1_1_KEY_CH_DOWN
+ 2147549200
+ name 1_1_KEY_MUTE
+ 2147549201
+ name 1_1_KEY_VOL_DOWN
+ 2147549202
+ name 1_1_CH_PREVIOUS
+ 2147549203
+ name 1_1_KEY_VOL_UP
+ 2147549204
+ name 1_1_KEY_DISPLAY
+ 2147549205
+ name 1_1_KEY_MNSELECT
+ 2147549207
+ name 1_1_KEY_MENU
+ 2147549231
+ name 1_1_KEY_MUP
+ 2147549232
+ name 1_1_KEY_MDOWN
+ 2147549233
+ name 1_1_KEY_MLEFT
+ 2147549234
+ name 1_1_KEY_MRIGHT
+ 2147549235
+ name 1_1_KEY_Setup
+ 2147549249
+ name 1_1_KEY_DGuide
+ 2147549251
+ name 1_1_KEY_Language
+ 2147549254
+ name 1_1_KEY_TVDSS
+ 2147549258
+ name 1_1_KEY_VT
+ 2147549259
+ name 1_1_KEY_Esc
+ 2147549260
+ name 0_2_KEY_0
+ 131072
+ name 0_2_KEY_1
+ 131073
+ name 0_2_KEY_2
+ 131074
+ name 0_2_KEY_3
+ 131075
+ name 0_2_KEY_4
+ 131076
+ name 0_2_KEY_5
+ 131077
+ name 0_2_KEY_6
+ 131078
+ name 0_2_KEY_7
+ 131079
+ name 0_2_KEY_8
+ 131080
+ name 0_2_KEY_9
+ 131081
+ name 0_2_KEY_POWER
+ 131082
+ name 0_2_KEY_CH_UP
+ 131087
+ name 0_2_KEY_CH_DOWN
+ 131088
+ name 0_2_CH_PREVIOUS
+ 131091
+ name 0_2_KEY_FTUNEPLUS
+ 131105
+ name 0_2_KEY_FTUNEMINUS
+ 131106
+ name 0_2_KEY_Norm
+ 131133
+ name 1_2_KEY_0
+ 2147614720
+ name 1_2_KEY_1
+ 2147614721
+ name 1_2_KEY_2
+ 2147614722
+ name 1_2_KEY_3
+ 2147614723
+ name 1_2_KEY_4
+ 2147614724
+ name 1_2_KEY_5
+ 2147614725
+ name 1_2_KEY_6
+ 2147614726
+ name 1_2_KEY_7
+ 2147614727
+ name 1_2_KEY_8
+ 2147614728
+ name 1_2_KEY_9
+ 2147614729
+ name 1_2_KEY_POWER
+ 2147614730
+ name 1_2_KEY_CH_UP
+ 2147614735
+ name 1_2_KEY_CH_DOWN
+ 2147614736
+ name 1_2_KEY_MUTE
+ 2147614737
+ name 1_2_KEY_VOL_DOWN
+ 2147614738
+ name 1_2_KEY_VOL_UP
+ 2147614740
+ name 1_2_KEY_MNSELECT
+ 2147614743
+ name 1_2_KEY_MNRETRUN
+ 2147614752
+ name 1_2_KEY_BLUE
+ 2147614755
+ name 1_2_KEY_GREEN
+ 2147614756
+ name 1_2_KEY_RED
+ 2147614757
+ name 1_2_KEY_YELLOW
+ 2147614758
+ name 1_2_KEY_MENU
+ 2147614767
+ name 1_2_KEY_MUP
+ 2147614768
+ name 1_2_KEY_MDOWN
+ 2147614769
+ name 1_2_KEY_MLEFT
+ 2147614770
+ name 1_2_KEY_MRIGHT
+ 2147614771
+ name 1_2_KEY_FF
+ 2147614772
+ name 1_2_KEY_PLAY
+ 2147614773
+ name 1_2_KEY_REW
+ 2147614774
+ name 1_2_KEY_REC
+ 2147614775
+ name 1_2_KEY_PAUSE
+ 2147614776
+ name 1_2_KEY_STOP
+ 2147614777
+ name 1_2_KEY_VT
+ 2147614795
+ name 1_2_KEY_FullScreen
+ 2147614799
+ name 1_2_KEY_Replay
+ 2147614800
+ name 1_2_KEY_Skip
+ 2147614801
+ name 0_3_KEY_0
+ 196608
+ name 0_3_KEY_1
+ 196609
+ name 0_3_KEY_2
+ 196610
+ name 0_3_KEY_3
+ 196611
+ name 0_3_KEY_4
+ 196612
+ name 0_3_KEY_5
+ 196613
+ name 0_3_KEY_6
+ 196614
+ name 0_3_KEY_7
+ 196615
+ name 0_3_KEY_8
+ 196616
+ name 0_3_KEY_9
+ 196617
+ name 0_3_KEY_POWER
+ 196618
+ name 0_3_KEY_CH_UP
+ 196623
+ name 0_3_KEY_CH_DOWN
+ 196624
+ name 0_3_KEY_VOL_DOWN
+ 196626
+ name 0_3_KEY_VOL_UP
+ 196628
+ name 0_3_KEY_DISPLAY
+ 196629
+ name 0_3_KEY_FAVCH
+ 196636
+ name 0_3_KEY_FTUNEPLUS
+ 196641
+ name 0_3_KEY_FTUNEMINUS
+ 196642
+ name 1_3_KEY_0
+ 2147680256
+ name 1_3_KEY_1
+ 2147680257
+ name 1_3_KEY_2
+ 2147680258
+ name 1_3_KEY_3
+ 2147680259
+ name 1_3_KEY_4
+ 2147680260
+ name 1_3_KEY_5
+ 2147680261
+ name 1_3_KEY_6
+ 2147680262
+ name 1_3_KEY_7
+ 2147680263
+ name 1_3_KEY_8
+ 2147680264
+ name 1_3_KEY_9
+ 2147680265
+ name 1_3_KEY_CH_UP
+ 2147680271
+ name 1_3_KEY_CH_DOWN
+ 2147680272
+ name 1_3_KEY_MUTE
+ 2147680273
+ name 1_3_KEY_VOL_DOWN
+ 2147680274
+ name 1_3_KEY_VOL_UP
+ 2147680276
+ name 1_3_KEY_Radio
+ 2147680327
+ name 1_3_KEY_TV
+ 2147680328
+ name 1_3_KEY_FullScreen
+ 2147680335
+ name 1_3_KEY_Skip
+ 2147680337
+ name 1_3_KEY_Source
+ 2147680338
+ name 1_3_KEY_Reserved
+ 2147680339
+ name 0_4_KEY_0
+ 262144
+ name 0_4_KEY_1
+ 262145
+ name 0_4_KEY_2
+ 262146
+ name 0_4_KEY_3
+ 262147
+ name 0_4_KEY_4
+ 262148
+ name 0_4_KEY_5
+ 262149
+ name 0_4_KEY_6
+ 262150
+ name 0_4_KEY_7
+ 262151
+ name 0_4_KEY_8
+ 262152
+ name 0_4_KEY_9
+ 262153
+ name 0_4_KEY_POWER
+ 262154
+ name 0_4_KEY_MUTE
+ 262161
+ name 0_4_KEY_VOL_DOWN
+ 262162
+ name 0_4_KEY_VOL_UP
+ 262164
+ name 0_4_KEY_DISPLAY
+ 262165
+ name 0_4_KEY_FAVCH
+ 262172
+ name 0_4_KEY_AB
+ 262206
+ name 1_4_KEY_0
+ 2147745792
+ name 1_4_KEY_1
+ 2147745793
+ name 1_4_KEY_2
+ 2147745794
+ name 1_4_KEY_3
+ 2147745795
+ name 1_4_KEY_4
+ 2147745796
+ name 1_4_KEY_5
+ 2147745797
+ name 1_4_KEY_6
+ 2147745798
+ name 1_4_KEY_7
+ 2147745799
+ name 1_4_KEY_8
+ 2147745800
+ name 1_4_KEY_9
+ 2147745801
+ name 1_4_KEY_POWER
+ 2147745802
+ name 1_4_CH_PREVIOUS
+ 2147745811
+ name 1_4_KEY_DISPLAY
+ 2147745813
+ name 1_4_KEY_EXIT
+ 2147745816
+ name 1_4_KEY_INPUT
+ 2147745818
+ name 1_4_KEY_FAV
+ 2147745821
+ name 1_4_KEY_MNRETRUN
+ 2147745824
+ name 1_4_KEY_ENTER
+ 2147745835
+ name 1_4_KEY_MENU
+ 2147745839
+ name 1_4_KEY_MUP
+ 2147745840
+ name 1_4_KEY_MDOWN
+ 2147745841
+ name 1_4_KEY_MLEFT
+ 2147745842
+ name 1_4_KEY_MRIGHT
+ 2147745843
+ name 0_5_KEY_0
+ 327680
+ name 0_5_KEY_1
+ 327681
+ name 0_5_KEY_2
+ 327682
+ name 0_5_KEY_3
+ 327683
+ name 0_5_KEY_4
+ 327684
+ name 0_5_KEY_5
+ 327685
+ name 0_5_KEY_6
+ 327686
+ name 0_5_KEY_7
+ 327687
+ name 0_5_KEY_8
+ 327688
+ name 0_5_KEY_9
+ 327689
+ name 0_5_KEY_POWER
+ 327690
+ name 0_5_KEY_CH_UP
+ 327695
+ name 0_5_KEY_CH_DOWN
+ 327696
+ name 0_5_CH_PREVIOUS
+ 327699
+ name 0_5_KEY_FTUNEPLUS
+ 327713
+ name 0_5_KEY_FTUNEMINUS
+ 327714
+ name 1_5_KEY_0
+ 2147811328
+ name 1_5_KEY_1
+ 2147811329
+ name 1_5_KEY_2
+ 2147811330
+ name 1_5_KEY_3
+ 2147811331
+ name 1_5_KEY_4
+ 2147811332
+ name 1_5_KEY_5
+ 2147811333
+ name 1_5_KEY_6
+ 2147811334
+ name 1_5_KEY_7
+ 2147811335
+ name 1_5_KEY_8
+ 2147811336
+ name 1_5_KEY_9
+ 2147811337
+ name 1_5_KEY_POWER
+ 2147811338
+ name 1_5_TWO_DIGITS
+ 2147811341
+ name 1_5_KEY_CH_UP
+ 2147811343
+ name 1_5_KEY_CH_DOWN
+ 2147811344
+ name 1_5_CH_PREVIOUS
+ 2147811347
+ name 1_5_KEY_DISPLAY
+ 2147811349
+ name 1_5_KEY_EXIT
+ 2147811352
+ name 1_5_KEY_FAV
+ 2147811357
+ name 1_5_KEY_MENU
+ 2147811375
+ name 1_5_KEY_MUP
+ 2147811376
+ name 1_5_KEY_MDOWN
+ 2147811377
+ name 1_5_KEY_MLEFT
+ 2147811378
+ name 1_5_KEY_MRIGHT
+ 2147811379
+ name 1_5_KEY_DGuide
+ 2147811395
+ name 0_6_KEY_0
+ 393216
+ name 0_6_KEY_1
+ 393217
+ name 0_6_KEY_2
+ 393218
+ name 0_6_KEY_3
+ 393219
+ name 0_6_KEY_4
+ 393220
+ name 0_6_KEY_5
+ 393221
+ name 0_6_KEY_6
+ 393222
+ name 0_6_KEY_7
+ 393223
+ name 0_6_KEY_8
+ 393224
+ name 0_6_KEY_9
+ 393225
+ name 0_6_KEY_POWER
+ 393226
+ name 0_6_KEY_CH_UP
+ 393231
+ name 0_6_KEY_CH_DOWN
+ 393232
+ name 0_6_KEY_MUTE
+ 393233
+ name 0_6_KEY_VOL_DOWN
+ 393234
+ name 0_6_CH_PREVIOUS
+ 393235
+ name 0_6_KEY_VOL_UP
+ 393236
+ name 0_6_KEY_FTUNEPLUS
+ 393249
+ name 0_6_KEY_FTUNEMINUS
+ 393250
+ name 1_6_KEY_0
+ 2147876864
+ name 1_6_KEY_1
+ 2147876865
+ name 1_6_KEY_2
+ 2147876866
+ name 1_6_KEY_3
+ 2147876867
+ name 1_6_KEY_4
+ 2147876868
+ name 1_6_KEY_5
+ 2147876869
+ name 1_6_KEY_6
+ 2147876870
+ name 1_6_KEY_7
+ 2147876871
+ name 1_6_KEY_8
+ 2147876872
+ name 1_6_KEY_9
+ 2147876873
+ name 1_6_KEY_POWER
+ 2147876874
+ name 1_6_TWO_DIGITS
+ 2147876877
+ name 1_6_KEY_CH_UP
+ 2147876879
+ name 1_6_KEY_CH_DOWN
+ 2147876880
+ name 1_6_KEY_VOL_DOWN
+ 2147876882
+ name 1_6_CH_PREVIOUS
+ 2147876883
+ name 1_6_KEY_VOL_UP
+ 2147876884
+ name 1_6_KEY_DISPLAY
+ 2147876885
+ name 1_6_KEY_EXIT
+ 2147876888
+ name 1_6_KEY_AV
+ 2147876905
+ name 1_6_KEY_MENU
+ 2147876911
+ name 1_6_KEY_MUP
+ 2147876912
+ name 1_6_KEY_MDOWN
+ 2147876913
+ name 1_6_KEY_MLEFT
+ 2147876914
+ name 1_6_KEY_MRIGHT
+ 2147876915
+ name 0_7_KEY_0
+ 458752
+ name 0_7_KEY_1
+ 458753
+ name 0_7_KEY_2
+ 458754
+ name 0_7_KEY_3
+ 458755
+ name 0_7_KEY_4
+ 458756
+ name 0_7_KEY_5
+ 458757
+ name 0_7_KEY_6
+ 458758
+ name 0_7_KEY_7
+ 458759
+ name 0_7_KEY_8
+ 458760
+ name 0_7_KEY_9
+ 458761
+ name 0_7_KEY_POWER
+ 458762
+ name 0_7_KEY_CH_UP
+ 458767
+ name 0_7_KEY_CH_DOWN
+ 458768
+ name 0_7_KEY_MUTE
+ 458769
+ name 0_7_KEY_VOL_DOWN
+ 458770
+ name 0_7_KEY_VOL_UP
+ 458772
+ name 0_7_KEY_DISPLAY
+ 458773
+ name 1_7_KEY_0
+ 2147942400
+ name 1_7_KEY_1
+ 2147942401
+ name 1_7_KEY_2
+ 2147942402
+ name 1_7_KEY_3
+ 2147942403
+ name 1_7_KEY_4
+ 2147942404
+ name 1_7_KEY_5
+ 2147942405
+ name 1_7_KEY_6
+ 2147942406
+ name 1_7_KEY_7
+ 2147942407
+ name 1_7_KEY_8
+ 2147942408
+ name 1_7_KEY_9
+ 2147942409
+ name 1_7_KEY_POWER
+ 2147942410
+ name 1_7_KEY_CH_UP
+ 2147942415
+ name 1_7_KEY_CH_DOWN
+ 2147942416
+ name 1_7_CH_PREVIOUS
+ 2147942419
+ name 1_7_KEY_MNSELECT
+ 2147942423
+ name 1_7_KEY_EXIT
+ 2147942424
+ name 1_7_KEY_GUIDE
+ 2147942427
+ name 1_7_KEY_FAV
+ 2147942429
+ name 1_7_KEY_MENU
+ 2147942447
+ name 1_7_KEY_MUP
+ 2147942448
+ name 1_7_KEY_MDOWN
+ 2147942449
+ name 1_7_KEY_MLEFT
+ 2147942450
+ name 1_7_KEY_MRIGHT
+ 2147942451
+ name 0_8_KEY_0
+ 524288
+ name 0_8_KEY_1
+ 524289
+ name 0_8_KEY_2
+ 524290
+ name 0_8_KEY_3
+ 524291
+ name 0_8_KEY_4
+ 524292
+ name 0_8_KEY_5
+ 524293
+ name 0_8_KEY_6
+ 524294
+ name 0_8_KEY_7
+ 524295
+ name 0_8_KEY_8
+ 524296
+ name 0_8_KEY_9
+ 524297
+ name 0_8_KEY_POWER
+ 524298
+ name 0_8_KEY_CH_UP
+ 524303
+ name 0_8_KEY_CH_DOWN
+ 524304
+ name 0_8_KEY_DISPLAY
+ 524309
+ name 0_8_KEY_PMCLEAR
+ 524313
+ name 1_8_KEY_0
+ 2148007936
+ name 1_8_KEY_1
+ 2148007937
+ name 1_8_KEY_2
+ 2148007938
+ name 1_8_KEY_3
+ 2148007939
+ name 1_8_KEY_4
+ 2148007940
+ name 1_8_KEY_5
+ 2148007941
+ name 1_8_KEY_6
+ 2148007942
+ name 1_8_KEY_7
+ 2148007943
+ name 1_8_KEY_8
+ 2148007944
+ name 1_8_KEY_9
+ 2148007945
+ name 1_8_KEY_POWER
+ 2148007946
+ name 1_8_KEY_CH_UP
+ 2148007951
+ name 1_8_KEY_CH_DOWN
+ 2148007952
+ name 1_8_KEY_DISPLAY
+ 2148007957
+ name 1_8_KEY_GUIDE
+ 2148007963
+ name 1_8_KEY_ENTER
+ 2148007979
+ name 1_8_KEY_MENU
+ 2148007983
+ name 1_8_KEY_MUP
+ 2148007984
+ name 1_8_KEY_MDOWN
+ 2148007985
+ name 1_8_KEY_MLEFT
+ 2148007986
+ name 1_8_KEY_MRIGHT
+ 2148007987
+ name 1_8_KEY_FF
+ 2148007988
+ name 1_8_KEY_PLAY
+ 2148007989
+ name 1_8_KEY_REW
+ 2148007990
+ name 1_8_KEY_REC
+ 2148007991
+ name 1_8_KEY_PAUSE
+ 2148007992
+ name 0_9_KEY_0
+ 589824
+ name 0_9_KEY_1
+ 589825
+ name 0_9_KEY_2
+ 589826
+ name 0_9_KEY_3
+ 589827
+ name 0_9_KEY_4
+ 589828
+ name 0_9_KEY_5
+ 589829
+ name 0_9_KEY_6
+ 589830
+ name 0_9_KEY_7
+ 589831
+ name 0_9_KEY_8
+ 589832
+ name 0_9_KEY_9
+ 589833
+ name 0_9_KEY_POWER
+ 589834
+ name 0_9_KEY_CH_UP
+ 589839
+ name 0_9_KEY_CH_DOWN
+ 589840
+ name 0_9_KEY_MUTE
+ 589841
+ name 0_9_KEY_VOL_DOWN
+ 589842
+ name 0_9_KEY_VOL_UP
+ 589844
+ name 0_9_KEY_DISPLAY
+ 589845
+ name 0_9_KEY_FTUNEPLUS
+ 589857
+ name 0_9_KEY_FTUNEMINUS
+ 589858
+ name 0_9_KEY_ENTER
+ 589867
+ name 0_9_KEY_Norm
+ 589885
+ name 0_9_KEY_AB
+ 589886
+ name 1_9_KEY_0
+ 2148073472
+ name 1_9_KEY_1
+ 2148073473
+ name 1_9_KEY_2
+ 2148073474
+ name 1_9_KEY_3
+ 2148073475
+ name 1_9_KEY_4
+ 2148073476
+ name 1_9_KEY_5
+ 2148073477
+ name 1_9_KEY_6
+ 2148073478
+ name 1_9_KEY_7
+ 2148073479
+ name 1_9_KEY_8
+ 2148073480
+ name 1_9_KEY_9
+ 2148073481
+ name 1_9_KEY_POWER
+ 2148073482
+ name 1_9_KEY_CH_UP
+ 2148073487
+ name 1_9_KEY_CH_DOWN
+ 2148073488
+ name 1_9_CH_PREVIOUS
+ 2148073491
+ name 1_9_KEY_DISPLAY
+ 2148073493
+ name 1_9_KEY_EXIT
+ 2148073496
+ name 1_9_KEY_INPUT
+ 2148073498
+ name 1_9_KEY_GUIDE
+ 2148073499
+ name 1_9_KEY_MENU
+ 2148073519
+ name 1_9_KEY_MUP
+ 2148073520
+ name 1_9_KEY_MDOWN
+ 2148073521
+ name 1_9_KEY_MLEFT
+ 2148073522
+ name 1_9_KEY_MRIGHT
+ 2148073523
+ name 0_10_KEY_0
+ 655360
+ name 0_10_KEY_1
+ 655361
+ name 0_10_KEY_2
+ 655362
+ name 0_10_KEY_3
+ 655363
+ name 0_10_KEY_4
+ 655364
+ name 0_10_KEY_5
+ 655365
+ name 0_10_KEY_6
+ 655366
+ name 0_10_KEY_7
+ 655367
+ name 0_10_KEY_8
+ 655368
+ name 0_10_KEY_9
+ 655369
+ name 0_10_KEY_POWER
+ 655370
+ name 0_10_KEY_CH_UP
+ 655375
+ name 0_10_KEY_CH_DOWN
+ 655376
+ name 0_10_KEY_AB
+ 655422
+ name 1_10_KEY_0
+ 2148139008
+ name 1_10_KEY_1
+ 2148139009
+ name 1_10_KEY_2
+ 2148139010
+ name 1_10_KEY_3
+ 2148139011
+ name 1_10_KEY_4
+ 2148139012
+ name 1_10_KEY_5
+ 2148139013
+ name 1_10_KEY_6
+ 2148139014
+ name 1_10_KEY_7
+ 2148139015
+ name 1_10_KEY_8
+ 2148139016
+ name 1_10_KEY_9
+ 2148139017
+ name 1_10_KEY_POWER
+ 2148139018
+ name 1_10_TWO_DIGITS
+ 2148139021
+ name 1_10_KEY_CH_UP
+ 2148139023
+ name 1_10_KEY_CH_DOWN
+ 2148139024
+ name 1_10_KEY_MUTE
+ 2148139025
+ name 1_10_KEY_VOL_DOWN
+ 2148139026
+ name 1_10_CH_PREVIOUS
+ 2148139027
+ name 1_10_KEY_VOL_UP
+ 2148139028
+ name 1_10_KEY_DISPLAY
+ 2148139029
+ name 1_10_KEY_EXIT
+ 2148139032
+ name 1_10_KEY_ENTER
+ 2148139051
+ name 1_10_KEY_MENU
+ 2148139055
+ name 1_10_KEY_MUP
+ 2148139056
+ name 1_10_KEY_MDOWN
+ 2148139057
+ name 1_10_KEY_MLEFT
+ 2148139058
+ name 1_10_KEY_MRIGHT
+ 2148139059
+ name 0_11_KEY_0
+ 720896
+ name 0_11_KEY_1
+ 720897
+ name 0_11_KEY_2
+ 720898
+ name 0_11_KEY_3
+ 720899
+ name 0_11_KEY_4
+ 720900
+ name 0_11_KEY_5
+ 720901
+ name 0_11_KEY_6
+ 720902
+ name 0_11_KEY_7
+ 720903
+ name 0_11_KEY_8
+ 720904
+ name 0_11_KEY_9
+ 720905
+ name 0_11_KEY_POWER
+ 720906
+ name 0_11_KEY_CH_UP
+ 720911
+ name 0_11_KEY_CH_DOWN
+ 720912
+ name 0_11_KEY_FTUNEPLUS
+ 720929
+ name 0_11_KEY_FTUNEMINUS
+ 720930
+ name 1_11_KEY_0
+ 2148204544
+ name 1_11_KEY_1
+ 2148204545
+ name 1_11_KEY_2
+ 2148204546
+ name 1_11_KEY_3
+ 2148204547
+ name 1_11_KEY_4
+ 2148204548
+ name 1_11_KEY_5
+ 2148204549
+ name 1_11_KEY_6
+ 2148204550
+ name 1_11_KEY_7
+ 2148204551
+ name 1_11_KEY_8
+ 2148204552
+ name 1_11_KEY_9
+ 2148204553
+ name 1_11_KEY_POWER
+ 2148204554
+ name 1_11_TWO_DIGITS
+ 2148204557
+ name 1_11_KEY_CH_UP
+ 2148204559
+ name 1_11_KEY_CH_DOWN
+ 2148204560
+ name 1_11_CH_PREVIOUS
+ 2148204563
+ name 1_11_KEY_DISPLAY
+ 2148204565
+ name 1_11_KEY_EXIT
+ 2148204568
+ name 1_11_KEY_INPUT
+ 2148204570
+ name 1_11_KEY_GUIDE
+ 2148204571
+ name 1_11_KEY_FAV
+ 2148204573
+ name 1_11_KEY_MENU
+ 2148204591
+ name 1_11_KEY_MUP
+ 2148204592
+ name 1_11_KEY_MDOWN
+ 2148204593
+ name 1_11_KEY_MLEFT
+ 2148204594
+ name 1_11_KEY_MRIGHT
+ 2148204595
+ name 0_12_KEY_0
+ 786432
+ name 0_12_KEY_1
+ 786433
+ name 0_12_KEY_2
+ 786434
+ name 0_12_KEY_3
+ 786435
+ name 0_12_KEY_4
+ 786436
+ name 0_12_KEY_5
+ 786437
+ name 0_12_KEY_6
+ 786438
+ name 0_12_KEY_7
+ 786439
+ name 0_12_KEY_8
+ 786440
+ name 0_12_KEY_9
+ 786441
+ name 0_12_KEY_POWER
+ 786442
+ name 0_12_KEY_CH_UP
+ 786447
+ name 0_12_KEY_CH_DOWN
+ 786448
+ name 0_12_KEY_MUTE
+ 786449
+ name 0_12_KEY_VOL_DOWN
+ 786450
+ name 0_12_KEY_VOL_UP
+ 786452
+ name 1_12_KEY_0
+ 2148270080
+ name 1_12_KEY_1
+ 2148270081
+ name 1_12_KEY_2
+ 2148270082
+ name 1_12_KEY_3
+ 2148270083
+ name 1_12_KEY_4
+ 2148270084
+ name 1_12_KEY_5
+ 2148270085
+ name 1_12_KEY_6
+ 2148270086
+ name 1_12_KEY_7
+ 2148270087
+ name 1_12_KEY_8
+ 2148270088
+ name 1_12_KEY_9
+ 2148270089
+ name 1_12_KEY_POWER
+ 2148270090
+ name 1_12_TWO_DIGITS
+ 2148270093
+ name 1_12_KEY_CH_UP
+ 2148270095
+ name 1_12_KEY_CH_DOWN
+ 2148270096
+ name 1_12_CH_PREVIOUS
+ 2148270099
+ name 1_12_KEY_DISPLAY
+ 2148270101
+ name 1_12_KEY_EXIT
+ 2148270104
+ name 1_12_KEY_GUIDE
+ 2148270107
+ name 1_12_KEY_MENU
+ 2148270127
+ name 1_12_KEY_MUP
+ 2148270128
+ name 1_12_KEY_MDOWN
+ 2148270129
+ name 1_12_KEY_MLEFT
+ 2148270130
+ name 1_12_KEY_MRIGHT
+ 2148270131
+ name 0_13_KEY_0
+ 851968
+ name 0_13_KEY_1
+ 851969
+ name 0_13_KEY_2
+ 851970
+ name 0_13_KEY_3
+ 851971
+ name 0_13_KEY_4
+ 851972
+ name 0_13_KEY_5
+ 851973
+ name 0_13_KEY_6
+ 851974
+ name 0_13_KEY_7
+ 851975
+ name 0_13_KEY_8
+ 851976
+ name 0_13_KEY_9
+ 851977
+ name 0_13_KEY_POWER
+ 851978
+ name 0_13_KEY_CH_UP
+ 851983
+ name 0_13_KEY_CH_DOWN
+ 851984
+ name 0_13_KEY_MUTE
+ 851985
+ name 0_13_KEY_VOL_DOWN
+ 851986
+ name 0_13_KEY_VOL_UP
+ 851988
+ name 0_13_KEY_DISPLAY
+ 851989
+ name 0_13_KEY_Norm
+ 852029
+ name 1_13_KEY_0
+ 2148335616
+ name 1_13_KEY_1
+ 2148335617
+ name 1_13_KEY_2
+ 2148335618
+ name 1_13_KEY_3
+ 2148335619
+ name 1_13_KEY_4
+ 2148335620
+ name 1_13_KEY_5
+ 2148335621
+ name 1_13_KEY_6
+ 2148335622
+ name 1_13_KEY_7
+ 2148335623
+ name 1_13_KEY_8
+ 2148335624
+ name 1_13_KEY_9
+ 2148335625
+ name 1_13_KEY_POWER
+ 2148335626
+ name 1_13_KEY_CH_UP
+ 2148335631
+ name 1_13_KEY_CH_DOWN
+ 2148335632
+ name 1_13_CH_PREVIOUS
+ 2148335635
+ name 1_13_KEY_DISPLAY
+ 2148335637
+ name 1_13_KEY_MNSELECT
+ 2148335639
+ name 1_13_KEY_EXIT
+ 2148335640
+ name 1_13_KEY_GUIDE
+ 2148335643
+ name 1_13_KEY_MENU
+ 2148335663
+ name 1_13_KEY_MUP
+ 2148335664
+ name 1_13_KEY_MDOWN
+ 2148335665
+ name 1_13_KEY_MLEFT
+ 2148335666
+ name 1_13_KEY_MRIGHT
+ 2148335667
+ name 1_13_KEY_Help
+ 2148335680
+ name 0_14_KEY_0
+ 917504
+ name 0_14_KEY_1
+ 917505
+ name 0_14_KEY_2
+ 917506
+ name 0_14_KEY_3
+ 917507
+ name 0_14_KEY_4
+ 917508
+ name 0_14_KEY_5
+ 917509
+ name 0_14_KEY_6
+ 917510
+ name 0_14_KEY_7
+ 917511
+ name 0_14_KEY_8
+ 917512
+ name 0_14_KEY_9
+ 917513
+ name 0_14_KEY_POWER
+ 917514
+ name 0_14_KEY_CH_UP
+ 917519
+ name 0_14_KEY_CH_DOWN
+ 917520
+ name 0_14_KEY_MUTE
+ 917521
+ name 0_14_KEY_VOL_DOWN
+ 917522
+ name 0_14_CH_PREVIOUS
+ 917523
+ name 0_14_KEY_VOL_UP
+ 917524
+ name 0_14_KEY_DISPLAY
+ 917525
+ name 0_14_KEY_SELECT
+ 917534
+ name 1_14_KEY_0
+ 2148401152
+ name 1_14_KEY_1
+ 2148401153
+ name 1_14_KEY_2
+ 2148401154
+ name 1_14_KEY_3
+ 2148401155
+ name 1_14_KEY_4
+ 2148401156
+ name 1_14_KEY_5
+ 2148401157
+ name 1_14_KEY_6
+ 2148401158
+ name 1_14_KEY_7
+ 2148401159
+ name 1_14_KEY_8
+ 2148401160
+ name 1_14_KEY_9
+ 2148401161
+ name 1_14_KEY_POWER
+ 2148401162
+ name 1_14_KEY_CH_UP
+ 2148401167
+ name 1_14_KEY_CH_DOWN
+ 2148401168
+ name 1_14_CH_PREVIOUS
+ 2148401171
+ name 1_14_KEY_DISPLAY
+ 2148401173
+ name 1_14_KEY_EXIT
+ 2148401176
+ name 1_14_KEY_GUIDE
+ 2148401179
+ name 1_14_KEY_FAV
+ 2148401181
+ name 1_14_KEY_ENTER
+ 2148401195
+ name 1_14_KEY_MENU
+ 2148401199
+ name 1_14_KEY_MUP
+ 2148401200
+ name 1_14_KEY_MDOWN
+ 2148401201
+ name 1_14_KEY_MLEFT
+ 2148401202
+ name 1_14_KEY_MRIGHT
+ 2148401203
+ name 0_15_KEY_0
+ 983040
+ name 0_15_KEY_1
+ 983041
+ name 0_15_KEY_2
+ 983042
+ name 0_15_KEY_3
+ 983043
+ name 0_15_KEY_4
+ 983044
+ name 0_15_KEY_5
+ 983045
+ name 0_15_KEY_6
+ 983046
+ name 0_15_KEY_7
+ 983047
+ name 0_15_KEY_8
+ 983048
+ name 0_15_KEY_9
+ 983049
+ name 0_15_KEY_POWER
+ 983050
+ name 0_15_KEY_CH_UP
+ 983055
+ name 0_15_KEY_CH_DOWN
+ 983056
+ name 0_15_KEY_MUTE
+ 983057
+ name 0_15_KEY_VOL_DOWN
+ 983058
+ name 0_15_CH_PREVIOUS
+ 983059
+ name 0_15_KEY_VOL_UP
+ 983060
+ name 0_15_KEY_FTUNEPLUS
+ 983073
+ name 0_15_KEY_FTUNEMINUS
+ 983074
+ name 1_15_KEY_0
+ 2148466688
+ name 1_15_KEY_1
+ 2148466689
+ name 1_15_KEY_2
+ 2148466690
+ name 1_15_KEY_3
+ 2148466691
+ name 1_15_KEY_4
+ 2148466692
+ name 1_15_KEY_5
+ 2148466693
+ name 1_15_KEY_6
+ 2148466694
+ name 1_15_KEY_7
+ 2148466695
+ name 1_15_KEY_8
+ 2148466696
+ name 1_15_KEY_9
+ 2148466697
+ name 1_15_KEY_POWER
+ 2148466698
+ name 1_15_KEY_CH_UP
+ 2148466703
+ name 1_15_KEY_CH_DOWN
+ 2148466704
+ name 1_15_CH_PREVIOUS
+ 2148466707
+ name 1_15_KEY_DISPLAY
+ 2148466709
+ name 1_15_KEY_MNSELECT
+ 2148466711
+ name 1_15_KEY_EXIT
+ 2148466712
+ name 1_15_KEY_GUIDE
+ 2148466715
+ name 1_15_KEY_MENU
+ 2148466735
+ name 1_15_KEY_MUP
+ 2148466736
+ name 1_15_KEY_MDOWN
+ 2148466737
+ name 1_15_KEY_MLEFT
+ 2148466738
+ name 1_15_KEY_MRIGHT
+ 2148466739
+ name 0_16_KEY_0
+ 1048576
+ name 0_16_KEY_1
+ 1048577
+ name 0_16_KEY_2
+ 1048578
+ name 0_16_KEY_3
+ 1048579
+ name 0_16_KEY_4
+ 1048580
+ name 0_16_KEY_5
+ 1048581
+ name 0_16_KEY_6
+ 1048582
+ name 0_16_KEY_7
+ 1048583
+ name 0_16_KEY_8
+ 1048584
+ name 0_16_KEY_9
+ 1048585
+ name 0_16_KEY_POWER
+ 1048586
+ name 0_16_KEY_CH_UP
+ 1048591
+ name 0_16_KEY_CH_DOWN
+ 1048592
+ name 0_16_KEY_FTUNEPLUS
+ 1048609
+ name 0_16_KEY_FTUNEMINUS
+ 1048610
+ name 1_16_KEY_0
+ 2148532224
+ name 1_16_KEY_1
+ 2148532225
+ name 1_16_KEY_2
+ 2148532226
+ name 1_16_KEY_3
+ 2148532227
+ name 1_16_KEY_4
+ 2148532228
+ name 1_16_KEY_5
+ 2148532229
+ name 1_16_KEY_6
+ 2148532230
+ name 1_16_KEY_7
+ 2148532231
+ name 1_16_KEY_8
+ 2148532232
+ name 1_16_KEY_9
+ 2148532233
+ name 1_16_KEY_POWER
+ 2148532234
+ name 1_16_KEY_CH_UP
+ 2148532239
+ name 1_16_KEY_CH_DOWN
+ 2148532240
+ name 1_16_KEY_EXIT
+ 2148532248
+ name 1_16_KEY_GUIDE
+ 2148532251
+ name 1_16_KEY_MENU
+ 2148532271
+ name 1_16_KEY_MUP
+ 2148532272
+ name 1_16_KEY_MDOWN
+ 2148532273
+ name 1_16_KEY_MLEFT
+ 2148532274
+ name 1_16_KEY_MRIGHT
+ 2148532275
+ name 0_17_KEY_0
+ 1114112
+ name 0_17_KEY_1
+ 1114113
+ name 0_17_KEY_2
+ 1114114
+ name 0_17_KEY_3
+ 1114115
+ name 0_17_KEY_4
+ 1114116
+ name 0_17_KEY_5
+ 1114117
+ name 0_17_KEY_6
+ 1114118
+ name 0_17_KEY_7
+ 1114119
+ name 0_17_KEY_8
+ 1114120
+ name 0_17_KEY_9
+ 1114121
+ name 0_17_KEY_POWER
+ 1114122
+ name 0_17_KEY_CH_UP
+ 1114127
+ name 0_17_KEY_CH_DOWN
+ 1114128
+ name 1_17_KEY_0
+ 2148597760
+ name 1_17_KEY_1
+ 2148597761
+ name 1_17_KEY_2
+ 2148597762
+ name 1_17_KEY_3
+ 2148597763
+ name 1_17_KEY_4
+ 2148597764
+ name 1_17_KEY_5
+ 2148597765
+ name 1_17_KEY_6
+ 2148597766
+ name 1_17_KEY_7
+ 2148597767
+ name 1_17_KEY_8
+ 2148597768
+ name 1_17_KEY_9
+ 2148597769
+ name 1_17_KEY_POWER
+ 2148597770
+ name 1_17_KEY_CH_UP
+ 2148597775
+ name 1_17_KEY_CH_DOWN
+ 2148597776
+ name 1_17_KEY_MUTE
+ 2148597777
+ name 1_17_KEY_VOL_DOWN
+ 2148597778
+ name 1_17_CH_PREVIOUS
+ 2148597779
+ name 1_17_KEY_VOL_UP
+ 2148597780
+ name 1_17_KEY_DISPLAY
+ 2148597781
+ name 1_17_KEY_EXIT
+ 2148597784
+ name 1_17_KEY_GUIDE
+ 2148597787
+ name 1_17_KEY_FAV
+ 2148597789
+ name 1_17_KEY_MENU
+ 2148597807
+ name 1_17_KEY_MUP
+ 2148597808
+ name 1_17_KEY_MDOWN
+ 2148597809
+ name 1_17_KEY_MLEFT
+ 2148597810
+ name 1_17_KEY_MRIGHT
+ 2148597811
+ name 0_18_KEY_0
+ 1179648
+ name 0_18_KEY_1
+ 1179649
+ name 0_18_KEY_2
+ 1179650
+ name 0_18_KEY_3
+ 1179651
+ name 0_18_KEY_4
+ 1179652
+ name 0_18_KEY_5
+ 1179653
+ name 0_18_KEY_6
+ 1179654
+ name 0_18_KEY_7
+ 1179655
+ name 0_18_KEY_8
+ 1179656
+ name 0_18_KEY_9
+ 1179657
+ name 0_18_KEY_POWER
+ 1179658
+ name 0_18_KEY_CH_UP
+ 1179663
+ name 0_18_KEY_CH_DOWN
+ 1179664
+ name 0_18_CH_PREVIOUS
+ 1179667
+ name 0_18_KEY_AB
+ 1179710
+ name 1_18_KEY_0
+ 2148663296
+ name 1_18_KEY_1
+ 2148663297
+ name 1_18_KEY_2
+ 2148663298
+ name 1_18_KEY_3
+ 2148663299
+ name 1_18_KEY_4
+ 2148663300
+ name 1_18_KEY_5
+ 2148663301
+ name 1_18_KEY_6
+ 2148663302
+ name 1_18_KEY_7
+ 2148663303
+ name 1_18_KEY_8
+ 2148663304
+ name 1_18_KEY_9
+ 2148663305
+ name 1_18_KEY_POWER
+ 2148663306
+ name 1_18_KEY_CH_UP
+ 2148663311
+ name 1_18_KEY_CH_DOWN
+ 2148663312
+ name 1_18_CH_PREVIOUS
+ 2148663315
+ name 1_18_KEY_DISPLAY
+ 2148663317
+ name 1_18_KEY_EXIT
+ 2148663320
+ name 1_18_KEY_INPUT
+ 2148663322
+ name 1_18_KEY_GUIDE
+ 2148663323
+ name 1_18_KEY_FAV
+ 2148663325
+ name 1_18_KEY_MENU
+ 2148663343
+ name 1_18_KEY_MUP
+ 2148663344
+ name 1_18_KEY_MDOWN
+ 2148663345
+ name 1_18_KEY_MLEFT
+ 2148663346
+ name 1_18_KEY_MRIGHT
+ 2148663347
+ name 0_19_KEY_0
+ 1245184
+ name 0_19_KEY_1
+ 1245185
+ name 0_19_KEY_2
+ 1245186
+ name 0_19_KEY_3
+ 1245187
+ name 0_19_KEY_4
+ 1245188
+ name 0_19_KEY_5
+ 1245189
+ name 0_19_KEY_6
+ 1245190
+ name 0_19_KEY_7
+ 1245191
+ name 0_19_KEY_8
+ 1245192
+ name 0_19_KEY_9
+ 1245193
+ name 0_19_KEY_POWER
+ 1245194
+ name 0_19_KEY_CH_UP
+ 1245199
+ name 0_19_KEY_CH_DOWN
+ 1245200
+ name 0_19_KEY_DISPLAY
+ 1245205
+ name 0_19_KEY_ENTER
+ 1245227
+ name 0_19_KEY_Norm
+ 1245245
+ name 1_19_KEY_0
+ 2148728832
+ name 1_19_KEY_1
+ 2148728833
+ name 1_19_KEY_2
+ 2148728834
+ name 1_19_KEY_3
+ 2148728835
+ name 1_19_KEY_4
+ 2148728836
+ name 1_19_KEY_5
+ 2148728837
+ name 1_19_KEY_6
+ 2148728838
+ name 1_19_KEY_7
+ 2148728839
+ name 1_19_KEY_8
+ 2148728840
+ name 1_19_KEY_9
+ 2148728841
+ name 1_19_KEY_POWER
+ 2148728842
+ name 1_19_KEY_CH_UP
+ 2148728847
+ name 1_19_KEY_CH_DOWN
+ 2148728848
+ name 1_19_KEY_MUTE
+ 2148728849
+ name 1_19_KEY_VOL_DOWN
+ 2148728850
+ name 1_19_CH_PREVIOUS
+ 2148728851
+ name 1_19_KEY_VOL_UP
+ 2148728852
+ name 1_19_KEY_DISPLAY
+ 2148728853
+ name 1_19_KEY_EXIT
+ 2148728856
+ name 1_19_KEY_GUIDE
+ 2148728859
+ name 1_19_KEY_FAV
+ 2148728861
+ name 1_19_KEY_SAT
+ 2148728874
+ name 1_19_KEY_MENU
+ 2148728879
+ name 1_19_KEY_MUP
+ 2148728880
+ name 1_19_KEY_MDOWN
+ 2148728881
+ name 1_19_KEY_MLEFT
+ 2148728882
+ name 1_19_KEY_MRIGHT
+ 2148728883
+ name 0_20_KEY_0
+ 1310720
+ name 0_20_KEY_1
+ 1310721
+ name 0_20_KEY_2
+ 1310722
+ name 0_20_KEY_3
+ 1310723
+ name 0_20_KEY_4
+ 1310724
+ name 0_20_KEY_5
+ 1310725
+ name 0_20_KEY_6
+ 1310726
+ name 0_20_KEY_7
+ 1310727
+ name 0_20_KEY_8
+ 1310728
+ name 0_20_KEY_9
+ 1310729
+ name 0_20_KEY_POWER
+ 1310730
+ name 0_20_KEY_CH_UP
+ 1310735
+ name 0_20_KEY_CH_DOWN
+ 1310736
+ name 0_20_KEY_MUTE
+ 1310737
+ name 0_20_KEY_VOL_DOWN
+ 1310738
+ name 0_20_KEY_VOL_UP
+ 1310740
+ name 0_20_KEY_DISPLAY
+ 1310741
+ name 0_20_KEY_FAVCH
+ 1310748
+ name 0_20_KEY_FTUNEPLUS
+ 1310753
+ name 0_20_KEY_FTUNEMINUS
+ 1310754
+ name 1_20_KEY_0
+ 2148794368
+ name 1_20_KEY_1
+ 2148794369
+ name 1_20_KEY_2
+ 2148794370
+ name 1_20_KEY_3
+ 2148794371
+ name 1_20_KEY_4
+ 2148794372
+ name 1_20_KEY_5
+ 2148794373
+ name 1_20_KEY_6
+ 2148794374
+ name 1_20_KEY_7
+ 2148794375
+ name 1_20_KEY_8
+ 2148794376
+ name 1_20_KEY_9
+ 2148794377
+ name 1_20_KEY_POWER
+ 2148794378
+ name 1_20_KEY_CH_UP
+ 2148794383
+ name 1_20_KEY_CH_DOWN
+ 2148794384
+ name 1_20_KEY_MUTE
+ 2148794385
+ name 1_20_KEY_VOL_DOWN
+ 2148794386
+ name 1_20_CH_PREVIOUS
+ 2148794387
+ name 1_20_KEY_VOL_UP
+ 2148794388
+ name 1_20_KEY_DISPLAY
+ 2148794389
+ name 1_20_KEY_EXIT
+ 2148794392
+ name 1_20_KEY_INPUT
+ 2148794394
+ name 1_20_KEY_GUIDE
+ 2148794395
+ name 1_20_KEY_SELECT
+ 2148794398
+ name 1_20_KEY_AV
+ 2148794409
+ name 1_20_KEY_SAT
+ 2148794410
+ name 1_20_KEY_ENTER
+ 2148794411
+ name 1_20_KEY_MENU
+ 2148794415
+ name 1_20_KEY_MUP
+ 2148794416
+ name 1_20_KEY_MDOWN
+ 2148794417
+ name 1_20_KEY_MLEFT
+ 2148794418
+ name 1_20_KEY_MRIGHT
+ 2148794419
+ name 1_20_KEY_FF
+ 2148794420
+ name 1_20_KEY_PLAY
+ 2148794421
+ name 1_20_KEY_REW
+ 2148794422
+ name 1_20_KEY_REC
+ 2148794423
+ name 1_20_KEY_PAUSE
+ 2148794424
+ name 1_20_KEY_STOP
+ 2148794425
+ name 0_21_KEY_0
+ 1376256
+ name 0_21_KEY_1
+ 1376257
+ name 0_21_KEY_2
+ 1376258
+ name 0_21_KEY_3
+ 1376259
+ name 0_21_KEY_4
+ 1376260
+ name 0_21_KEY_5
+ 1376261
+ name 0_21_KEY_6
+ 1376262
+ name 0_21_KEY_7
+ 1376263
+ name 0_21_KEY_8
+ 1376264
+ name 0_21_KEY_9
+ 1376265
+ name 0_21_KEY_POWER
+ 1376266
+ name 0_21_KEY_CH_UP
+ 1376271
+ name 0_21_KEY_CH_DOWN
+ 1376272
+ name 0_21_KEY_MUTE
+ 1376273
+ name 0_21_KEY_VOL_DOWN
+ 1376274
+ name 0_21_CH_PREVIOUS
+ 1376275
+ name 0_21_KEY_VOL_UP
+ 1376276
+ name 0_21_KEY_DISPLAY
+ 1376277
+ name 0_21_KEY_FTUNEPLUS
+ 1376289
+ name 0_21_KEY_FTUNEMINUS
+ 1376290
+ name 1_21_KEY_0
+ 2148859904
+ name 1_21_KEY_1
+ 2148859905
+ name 1_21_KEY_2
+ 2148859906
+ name 1_21_KEY_3
+ 2148859907
+ name 1_21_KEY_4
+ 2148859908
+ name 1_21_KEY_5
+ 2148859909
+ name 1_21_KEY_6
+ 2148859910
+ name 1_21_KEY_7
+ 2148859911
+ name 1_21_KEY_8
+ 2148859912
+ name 1_21_KEY_9
+ 2148859913
+ name 1_21_KEY_POWER
+ 2148859914
+ name 1_21_KEY_CH_UP
+ 2148859919
+ name 1_21_KEY_CH_DOWN
+ 2148859920
+ name 1_21_KEY_MUTE
+ 2148859921
+ name 1_21_KEY_VOL_DOWN
+ 2148859922
+ name 1_21_CH_PREVIOUS
+ 2148859923
+ name 1_21_KEY_VOL_UP
+ 2148859924
+ name 1_21_KEY_DISPLAY
+ 2148859925
+ name 1_21_KEY_EXIT
+ 2148859928
+ name 1_21_KEY_INPUT
+ 2148859930
+ name 1_21_KEY_GUIDE
+ 2148859931
+ name 1_21_KEY_AV
+ 2148859945
+ name 1_21_KEY_SAT
+ 2148859946
+ name 1_21_KEY_ENTER
+ 2148859947
+ name 1_21_KEY_MENU
+ 2148859951
+ name 1_21_KEY_MUP
+ 2148859952
+ name 1_21_KEY_MDOWN
+ 2148859953
+ name 1_21_KEY_MLEFT
+ 2148859954
+ name 1_21_KEY_MRIGHT
+ 2148859955
+ name 1_21_KEY_FF
+ 2148859956
+ name 1_21_KEY_PLAY
+ 2148859957
+ name 1_21_KEY_REW
+ 2148859958
+ name 1_21_KEY_REC
+ 2148859959
+ name 1_21_KEY_PAUSE
+ 2148859960
+ name 1_21_KEY_STOP
+ 2148859961
+ name 0_22_KEY_0
+ 1441792
+ name 0_22_KEY_1
+ 1441793
+ name 0_22_KEY_2
+ 1441794
+ name 0_22_KEY_3
+ 1441795
+ name 0_22_KEY_4
+ 1441796
+ name 0_22_KEY_5
+ 1441797
+ name 0_22_KEY_6
+ 1441798
+ name 0_22_KEY_7
+ 1441799
+ name 0_22_KEY_8
+ 1441800
+ name 0_22_KEY_9
+ 1441801
+ name 0_22_KEY_POWER
+ 1441802
+ name 0_22_KEY_CH_UP
+ 1441807
+ name 0_22_KEY_CH_DOWN
+ 1441808
+ name 0_22_KEY_MUTE
+ 1441809
+ name 0_22_KEY_VOL_DOWN
+ 1441810
+ name 0_22_KEY_VOL_UP
+ 1441812
+ name 0_22_KEY_DISPLAY
+ 1441813
+ name 0_22_KEY_FAVCH
+ 1441820
+ name 0_22_KEY_FTUNEPLUS
+ 1441825
+ name 0_22_KEY_FTUNEMINUS
+ 1441826
+ name 1_22_KEY_0
+ 2148925440
+ name 1_22_KEY_1
+ 2148925441
+ name 1_22_KEY_2
+ 2148925442
+ name 1_22_KEY_3
+ 2148925443
+ name 1_22_KEY_4
+ 2148925444
+ name 1_22_KEY_5
+ 2148925445
+ name 1_22_KEY_6
+ 2148925446
+ name 1_22_KEY_7
+ 2148925447
+ name 1_22_KEY_8
+ 2148925448
+ name 1_22_KEY_9
+ 2148925449
+ name 1_22_KEY_POWER
+ 2148925450
+ name 1_22_KEY_CH_UP
+ 2148925455
+ name 1_22_KEY_CH_DOWN
+ 2148925456
+ name 1_22_KEY_MUTE
+ 2148925457
+ name 1_22_KEY_VOL_DOWN
+ 2148925458
+ name 1_22_CH_PREVIOUS
+ 2148925459
+ name 1_22_KEY_VOL_UP
+ 2148925460
+ name 1_22_KEY_DISPLAY
+ 2148925461
+ name 1_22_KEY_EXIT
+ 2148925464
+ name 1_22_KEY_INPUT
+ 2148925466
+ name 1_22_KEY_GUIDE
+ 2148925467
+ name 1_22_KEY_AV
+ 2148925481
+ name 1_22_KEY_SAT
+ 2148925482
+ name 1_22_KEY_ENTER
+ 2148925483
+ name 1_22_KEY_MENU
+ 2148925487
+ name 1_22_KEY_MUP
+ 2148925488
+ name 1_22_KEY_MDOWN
+ 2148925489
+ name 1_22_KEY_MLEFT
+ 2148925490
+ name 1_22_KEY_MRIGHT
+ 2148925491
+ name 1_22_KEY_FF
+ 2148925492
+ name 1_22_KEY_PLAY
+ 2148925493
+ name 1_22_KEY_REW
+ 2148925494
+ name 1_22_KEY_REC
+ 2148925495
+ name 1_22_KEY_PAUSE
+ 2148925496
+ name 1_22_KEY_STOP
+ 2148925497
+ name 0_23_KEY_0
+ 1507328
+ name 0_23_KEY_1
+ 1507329
+ name 0_23_KEY_2
+ 1507330
+ name 0_23_KEY_3
+ 1507331
+ name 0_23_KEY_4
+ 1507332
+ name 0_23_KEY_5
+ 1507333
+ name 0_23_KEY_6
+ 1507334
+ name 0_23_KEY_7
+ 1507335
+ name 0_23_KEY_8
+ 1507336
+ name 0_23_KEY_9
+ 1507337
+ name 0_23_KEY_POWER
+ 1507338
+ name 0_23_KEY_CH_UP
+ 1507343
+ name 0_23_KEY_CH_DOWN
+ 1507344
+ name 0_23_KEY_DISPLAY
+ 1507349
+ name 1_23_KEY_0
+ 2148990976
+ name 1_23_KEY_1
+ 2148990977
+ name 1_23_KEY_2
+ 2148990978
+ name 1_23_KEY_3
+ 2148990979
+ name 1_23_KEY_4
+ 2148990980
+ name 1_23_KEY_5
+ 2148990981
+ name 1_23_KEY_6
+ 2148990982
+ name 1_23_KEY_7
+ 2148990983
+ name 1_23_KEY_8
+ 2148990984
+ name 1_23_KEY_9
+ 2148990985
+ name 1_23_KEY_POWER
+ 2148990986
+ name 1_23_KEY_CH_UP
+ 2148990991
+ name 1_23_KEY_CH_DOWN
+ 2148990992
+ name 1_23_CH_PREVIOUS
+ 2148990995
+ name 1_23_KEY_DISPLAY
+ 2148990997
+ name 1_23_KEY_EXIT
+ 2148991000
+ name 1_23_KEY_INPUT
+ 2148991002
+ name 1_23_KEY_GUIDE
+ 2148991003
+ name 1_23_KEY_SELECT
+ 2148991006
+ name 1_23_KEY_AV
+ 2148991017
+ name 1_23_KEY_ENTER
+ 2148991019
+ name 1_23_KEY_MENU
+ 2148991023
+ name 1_23_KEY_MUP
+ 2148991024
+ name 1_23_KEY_MDOWN
+ 2148991025
+ name 1_23_KEY_MLEFT
+ 2148991026
+ name 1_23_KEY_MRIGHT
+ 2148991027
+ name 1_23_KEY_FF
+ 2148991028
+ name 1_23_KEY_PLAY
+ 2148991029
+ name 1_23_KEY_REW
+ 2148991030
+ name 1_23_KEY_REC
+ 2148991031
+ name 1_23_KEY_PAUSE
+ 2148991032
+ name 1_23_KEY_STOP
+ 2148991033
+ name 0_24_KEY_0
+ 1572864
+ name 0_24_KEY_1
+ 1572865
+ name 0_24_KEY_2
+ 1572866
+ name 0_24_KEY_3
+ 1572867
+ name 0_24_KEY_4
+ 1572868
+ name 0_24_KEY_5
+ 1572869
+ name 0_24_KEY_6
+ 1572870
+ name 0_24_KEY_7
+ 1572871
+ name 0_24_KEY_8
+ 1572872
+ name 0_24_KEY_9
+ 1572873
+ name 0_24_KEY_POWER
+ 1572874
+ name 0_24_KEY_CH_UP
+ 1572879
+ name 0_24_KEY_CH_DOWN
+ 1572880
+ name 0_24_KEY_DISPLAY
+ 1572885
+ name 0_24_KEY_PMCLEAR
+ 1572889
+ name 0_24_KEY_FTUNEPLUS
+ 1572897
+ name 0_24_KEY_FTUNEMINUS
+ 1572898
+ name 1_24_KEY_0
+ 2149056512
+ name 1_24_KEY_1
+ 2149056513
+ name 1_24_KEY_2
+ 2149056514
+ name 1_24_KEY_3
+ 2149056515
+ name 1_24_KEY_4
+ 2149056516
+ name 1_24_KEY_5
+ 2149056517
+ name 1_24_KEY_6
+ 2149056518
+ name 1_24_KEY_7
+ 2149056519
+ name 1_24_KEY_8
+ 2149056520
+ name 1_24_KEY_9
+ 2149056521
+ name 1_24_KEY_POWER
+ 2149056522
+ name 1_24_KEY_CH_UP
+ 2149056527
+ name 1_24_KEY_CH_DOWN
+ 2149056528
+ name 1_24_CH_PREVIOUS
+ 2149056531
+ name 1_24_KEY_DISPLAY
+ 2149056533
+ name 1_24_KEY_EXIT
+ 2149056536
+ name 1_24_KEY_INPUT
+ 2149056538
+ name 1_24_KEY_GUIDE
+ 2149056539
+ name 1_24_KEY_FAV
+ 2149056541
+ name 1_24_KEY_SELECT
+ 2149056542
+ name 1_24_KEY_AV
+ 2149056553
+ name 1_24_KEY_SAT
+ 2149056554
+ name 1_24_KEY_ENTER
+ 2149056555
+ name 1_24_KEY_MENU
+ 2149056559
+ name 1_24_KEY_MUP
+ 2149056560
+ name 1_24_KEY_MDOWN
+ 2149056561
+ name 1_24_KEY_MLEFT
+ 2149056562
+ name 1_24_KEY_MRIGHT
+ 2149056563
+ name 1_24_KEY_FF
+ 2149056564
+ name 1_24_KEY_PLAY
+ 2149056565
+ name 1_24_KEY_REW
+ 2149056566
+ name 1_24_KEY_REC
+ 2149056567
+ name 1_24_KEY_PAUSE
+ 2149056568
+ name 1_24_KEY_STOP
+ 2149056569
+ name 0_25_KEY_0
+ 1638400
+ name 0_25_KEY_1
+ 1638401
+ name 0_25_KEY_2
+ 1638402
+ name 0_25_KEY_3
+ 1638403
+ name 0_25_KEY_4
+ 1638404
+ name 0_25_KEY_5
+ 1638405
+ name 0_25_KEY_6
+ 1638406
+ name 0_25_KEY_7
+ 1638407
+ name 0_25_KEY_8
+ 1638408
+ name 0_25_KEY_9
+ 1638409
+ name 0_25_KEY_POWER
+ 1638410
+ name 0_25_KEY_CH_UP
+ 1638415
+ name 0_25_KEY_CH_DOWN
+ 1638416
+ name 0_25_KEY_VOL_DOWN
+ 1638418
+ name 0_25_CH_PREVIOUS
+ 1638419
+ name 0_25_KEY_VOL_UP
+ 1638420
+ name 0_25_KEY_FAVCH
+ 1638428
+ name 0_25_KEY_SELECT
+ 1638430
+ name 0_25_KEY_AB
+ 1638462
+ name 1_25_KEY_0
+ 2149122048
+ name 1_25_KEY_1
+ 2149122049
+ name 1_25_KEY_2
+ 2149122050
+ name 1_25_KEY_3
+ 2149122051
+ name 1_25_KEY_4
+ 2149122052
+ name 1_25_KEY_5
+ 2149122053
+ name 1_25_KEY_6
+ 2149122054
+ name 1_25_KEY_7
+ 2149122055
+ name 1_25_KEY_8
+ 2149122056
+ name 1_25_KEY_9
+ 2149122057
+ name 1_25_KEY_POWER
+ 2149122058
+ name 1_25_KEY_CH_UP
+ 2149122063
+ name 1_25_KEY_CH_DOWN
+ 2149122064
+ name 1_25_KEY_MUTE
+ 2149122065
+ name 1_25_KEY_VOL_DOWN
+ 2149122066
+ name 1_25_CH_PREVIOUS
+ 2149122067
+ name 1_25_KEY_VOL_UP
+ 2149122068
+ name 1_25_KEY_DISPLAY
+ 2149122069
+ name 1_25_KEY_EXIT
+ 2149122072
+ name 1_25_KEY_INPUT
+ 2149122074
+ name 1_25_KEY_GUIDE
+ 2149122075
+ name 1_25_KEY_SELECT
+ 2149122078
+ name 1_25_KEY_AV
+ 2149122089
+ name 1_25_KEY_SAT
+ 2149122090
+ name 1_25_KEY_ENTER
+ 2149122091
+ name 1_25_KEY_MENU
+ 2149122095
+ name 1_25_KEY_MUP
+ 2149122096
+ name 1_25_KEY_MDOWN
+ 2149122097
+ name 1_25_KEY_MLEFT
+ 2149122098
+ name 1_25_KEY_MRIGHT
+ 2149122099
+ name 1_25_KEY_FF
+ 2149122100
+ name 1_25_KEY_PLAY
+ 2149122101
+ name 1_25_KEY_REW
+ 2149122102
+ name 1_25_KEY_REC
+ 2149122103
+ name 1_25_KEY_PAUSE
+ 2149122104
+ name 1_25_KEY_STOP
+ 2149122105
+ name 1_25_KEY_Repeat
+ 2149122106
+ name 0_26_KEY_0
+ 1703936
+ name 0_26_KEY_1
+ 1703937
+ name 0_26_KEY_2
+ 1703938
+ name 0_26_KEY_3
+ 1703939
+ name 0_26_KEY_4
+ 1703940
+ name 0_26_KEY_5
+ 1703941
+ name 0_26_KEY_6
+ 1703942
+ name 0_26_KEY_7
+ 1703943
+ name 0_26_KEY_8
+ 1703944
+ name 0_26_KEY_9
+ 1703945
+ name 0_26_KEY_POWER
+ 1703946
+ name 0_26_KEY_CH_UP
+ 1703951
+ name 0_26_KEY_CH_DOWN
+ 1703952
+ name 0_26_KEY_VOL_DOWN
+ 1703954
+ name 0_26_CH_PREVIOUS
+ 1703955
+ name 0_26_KEY_VOL_UP
+ 1703956
+ name 0_26_KEY_DISPLAY
+ 1703957
+ name 0_26_KEY_ENTER
+ 1703979
+ name 1_26_KEY_0
+ 2149187584
+ name 1_26_KEY_1
+ 2149187585
+ name 1_26_KEY_2
+ 2149187586
+ name 1_26_KEY_3
+ 2149187587
+ name 1_26_KEY_4
+ 2149187588
+ name 1_26_KEY_5
+ 2149187589
+ name 1_26_KEY_6
+ 2149187590
+ name 1_26_KEY_7
+ 2149187591
+ name 1_26_KEY_8
+ 2149187592
+ name 1_26_KEY_9
+ 2149187593
+ name 1_26_KEY_POWER
+ 2149187594
+ name 1_26_KEY_CH_UP
+ 2149187599
+ name 1_26_KEY_CH_DOWN
+ 2149187600
+ name 1_26_KEY_MUTE
+ 2149187601
+ name 1_26_KEY_VOL_DOWN
+ 2149187602
+ name 1_26_CH_PREVIOUS
+ 2149187603
+ name 1_26_KEY_VOL_UP
+ 2149187604
+ name 1_26_KEY_DISPLAY
+ 2149187605
+ name 1_26_KEY_EXIT
+ 2149187608
+ name 1_26_KEY_INPUT
+ 2149187610
+ name 1_26_KEY_GUIDE
+ 2149187611
+ name 1_26_KEY_SELECT
+ 2149187614
+ name 1_26_KEY_AV
+ 2149187625
+ name 1_26_KEY_SAT
+ 2149187626
+ name 1_26_KEY_ENTER
+ 2149187627
+ name 1_26_KEY_MENU
+ 2149187631
+ name 1_26_KEY_MUP
+ 2149187632
+ name 1_26_KEY_MDOWN
+ 2149187633
+ name 1_26_KEY_MLEFT
+ 2149187634
+ name 1_26_KEY_MRIGHT
+ 2149187635
+ name 1_26_KEY_FF
+ 2149187636
+ name 1_26_KEY_PLAY
+ 2149187637
+ name 1_26_KEY_REW
+ 2149187638
+ name 1_26_KEY_REC
+ 2149187639
+ name 1_26_KEY_PAUSE
+ 2149187640
+ name 1_26_KEY_STOP
+ 2149187641
+ name 1_26_KEY_Repeat
+ 2149187642
+ name 0_27_KEY_0
+ 1769472
+ name 0_27_KEY_1
+ 1769473
+ name 0_27_KEY_2
+ 1769474
+ name 0_27_KEY_3
+ 1769475
+ name 0_27_KEY_4
+ 1769476
+ name 0_27_KEY_5
+ 1769477
+ name 0_27_KEY_6
+ 1769478
+ name 0_27_KEY_7
+ 1769479
+ name 0_27_KEY_8
+ 1769480
+ name 0_27_KEY_9
+ 1769481
+ name 0_27_KEY_POWER
+ 1769482
+ name 0_27_KEY_CH_UP
+ 1769487
+ name 0_27_KEY_CH_DOWN
+ 1769488
+ name 0_27_KEY_FAVCH
+ 1769500
+ name 0_27_KEY_FTUNEPLUS
+ 1769505
+ name 0_27_KEY_FTUNEMINUS
+ 1769506
+ name 0_27_KEY_Norm
+ 1769533
+ name 0_27_KEY_AB
+ 1769534
+ name 1_27_KEY_0
+ 2149253120
+ name 1_27_KEY_1
+ 2149253121
+ name 1_27_KEY_2
+ 2149253122
+ name 1_27_KEY_3
+ 2149253123
+ name 1_27_KEY_4
+ 2149253124
+ name 1_27_KEY_5
+ 2149253125
+ name 1_27_KEY_6
+ 2149253126
+ name 1_27_KEY_7
+ 2149253127
+ name 1_27_KEY_8
+ 2149253128
+ name 1_27_KEY_9
+ 2149253129
+ name 1_27_KEY_POWER
+ 2149253130
+ name 1_27_KEY_CH_UP
+ 2149253135
+ name 1_27_KEY_CH_DOWN
+ 2149253136
+ name 1_27_CH_PREVIOUS
+ 2149253139
+ name 1_27_KEY_GUIDE
+ 2149253147
+ name 1_27_KEY_AV
+ 2149253161
+ name 1_27_KEY_ENTER
+ 2149253163
+ name 0_28_KEY_0
+ 1835008
+ name 0_28_KEY_1
+ 1835009
+ name 0_28_KEY_2
+ 1835010
+ name 0_28_KEY_3
+ 1835011
+ name 0_28_KEY_4
+ 1835012
+ name 0_28_KEY_5
+ 1835013
+ name 0_28_KEY_6
+ 1835014
+ name 0_28_KEY_7
+ 1835015
+ name 0_28_KEY_8
+ 1835016
+ name 0_28_KEY_9
+ 1835017
+ name 0_28_KEY_POWER
+ 1835018
+ name 0_28_KEY_CH_UP
+ 1835023
+ name 0_28_KEY_CH_DOWN
+ 1835024
+ name 0_28_KEY_MUTE
+ 1835025
+ name 0_28_KEY_VOL_DOWN
+ 1835026
+ name 0_28_KEY_VOL_UP
+ 1835028
+ name 0_28_KEY_DISPLAY
+ 1835029
+ name 1_28_KEY_0
+ 2149318656
+ name 1_28_KEY_1
+ 2149318657
+ name 1_28_KEY_2
+ 2149318658
+ name 1_28_KEY_3
+ 2149318659
+ name 1_28_KEY_4
+ 2149318660
+ name 1_28_KEY_5
+ 2149318661
+ name 1_28_KEY_6
+ 2149318662
+ name 1_28_KEY_7
+ 2149318663
+ name 1_28_KEY_8
+ 2149318664
+ name 1_28_KEY_9
+ 2149318665
+ name 1_28_KEY_POWER
+ 2149318666
+ name 1_28_KEY_CH_UP
+ 2149318671
+ name 1_28_KEY_CH_DOWN
+ 2149318672
+ name 1_28_KEY_MUTE
+ 2149318673
+ name 1_28_KEY_VOL_DOWN
+ 2149318674
+ name 1_28_CH_PREVIOUS
+ 2149318675
+ name 1_28_KEY_VOL_UP
+ 2149318676
+ name 1_28_KEY_DISPLAY
+ 2149318677
+ name 1_28_KEY_EXIT
+ 2149318680
+ name 1_28_KEY_GUIDE
+ 2149318683
+ name 1_28_KEY_SELECT
+ 2149318686
+ name 1_28_KEY_AV
+ 2149318697
+ name 1_28_KEY_ENTER
+ 2149318699
+ name 1_28_KEY_MENU
+ 2149318703
+ name 1_28_KEY_MUP
+ 2149318704
+ name 1_28_KEY_MDOWN
+ 2149318705
+ name 1_28_KEY_MLEFT
+ 2149318706
+ name 1_28_KEY_MRIGHT
+ 2149318707
+ name 0_29_KEY_0
+ 1900544
+ name 0_29_KEY_1
+ 1900545
+ name 0_29_KEY_2
+ 1900546
+ name 0_29_KEY_3
+ 1900547
+ name 0_29_KEY_4
+ 1900548
+ name 0_29_KEY_5
+ 1900549
+ name 0_29_KEY_6
+ 1900550
+ name 0_29_KEY_7
+ 1900551
+ name 0_29_KEY_8
+ 1900552
+ name 0_29_KEY_9
+ 1900553
+ name 0_29_KEY_POWER
+ 1900554
+ name 0_29_KEY_CH_UP
+ 1900559
+ name 0_29_KEY_CH_DOWN
+ 1900560
+ name 0_29_KEY_MUTE
+ 1900561
+ name 0_29_KEY_VOL_DOWN
+ 1900562
+ name 0_29_CH_PREVIOUS
+ 1900563
+ name 0_29_KEY_VOL_UP
+ 1900564
+ name 0_29_KEY_DISPLAY
+ 1900565
+ name 0_29_KEY_FAVCH
+ 1900572
+ name 0_29_KEY_SELECT
+ 1900574
+ name 0_29_KEY_ENTER
+ 1900587
+ name 0_29_KEY_AB
+ 1900606
+ name 1_29_KEY_0
+ 2149384192
+ name 1_29_KEY_1
+ 2149384193
+ name 1_29_KEY_2
+ 2149384194
+ name 1_29_KEY_3
+ 2149384195
+ name 1_29_KEY_4
+ 2149384196
+ name 1_29_KEY_5
+ 2149384197
+ name 1_29_KEY_6
+ 2149384198
+ name 1_29_KEY_7
+ 2149384199
+ name 1_29_KEY_8
+ 2149384200
+ name 1_29_KEY_9
+ 2149384201
+ name 1_29_KEY_POWER
+ 2149384202
+ name 1_29_KEY_CH_UP
+ 2149384207
+ name 1_29_KEY_CH_DOWN
+ 2149384208
+ name 1_29_KEY_ENTER
+ 2149384235
+ name 0_30_KEY_0
+ 1966080
+ name 0_30_KEY_1
+ 1966081
+ name 0_30_KEY_2
+ 1966082
+ name 0_30_KEY_3
+ 1966083
+ name 0_30_KEY_4
+ 1966084
+ name 0_30_KEY_5
+ 1966085
+ name 0_30_KEY_6
+ 1966086
+ name 0_30_KEY_7
+ 1966087
+ name 0_30_KEY_8
+ 1966088
+ name 0_30_KEY_9
+ 1966089
+ name 0_30_KEY_POWER
+ 1966090
+ name 0_30_KEY_MUTE
+ 1966097
+ name 0_30_KEY_VOL_DOWN
+ 1966098
+ name 0_30_CH_PREVIOUS
+ 1966099
+ name 0_30_KEY_VOL_UP
+ 1966100
+ name 0_30_KEY_RETURN
+ 1966111
+ name 1_30_KEY_0
+ 2149449728
+ name 1_30_KEY_1
+ 2149449729
+ name 1_30_KEY_2
+ 2149449730
+ name 1_30_KEY_3
+ 2149449731
+ name 1_30_KEY_4
+ 2149449732
+ name 1_30_KEY_5
+ 2149449733
+ name 1_30_KEY_6
+ 2149449734
+ name 1_30_KEY_7
+ 2149449735
+ name 1_30_KEY_8
+ 2149449736
+ name 1_30_KEY_9
+ 2149449737
+ name 1_30_KEY_POWER
+ 2149449738
+ name 1_30_TWO_DIGITS
+ 2149449741
+ name 1_30_KEY_CH_UP
+ 2149449743
+ name 1_30_KEY_CH_DOWN
+ 2149449744
+ name 1_30_KEY_DISPLAY
+ 2149449749
+ name 1_30_KEY_EXIT
+ 2149449752
+ name 1_30_KEY_GUIDE
+ 2149449755
+ name 1_30_KEY_SELECT
+ 2149449758
+ name 1_30_KEY_MENU
+ 2149449775
+ name 1_30_KEY_MUP
+ 2149449776
+ name 1_30_KEY_MDOWN
+ 2149449777
+ name 1_30_KEY_MLEFT
+ 2149449778
+ name 1_30_KEY_MRIGHT
+ 2149449779
+ name 0_31_KEY_0
+ 2031616
+ name 0_31_KEY_1
+ 2031617
+ name 0_31_KEY_2
+ 2031618
+ name 0_31_KEY_3
+ 2031619
+ name 0_31_KEY_4
+ 2031620
+ name 0_31_KEY_5
+ 2031621
+ name 0_31_KEY_6
+ 2031622
+ name 0_31_KEY_7
+ 2031623
+ name 0_31_KEY_8
+ 2031624
+ name 0_31_KEY_9
+ 2031625
+ name 0_31_KEY_POWER
+ 2031626
+ name 0_31_KEY_CH_UP
+ 2031631
+ name 0_31_KEY_CH_DOWN
+ 2031632
+ name 0_31_CH_PREVIOUS
+ 2031635
+ name 0_31_KEY_DISPLAY
+ 2031637
+ name 1_31_KEY_0
+ 2149515264
+ name 1_31_KEY_1
+ 2149515265
+ name 1_31_KEY_2
+ 2149515266
+ name 1_31_KEY_3
+ 2149515267
+ name 1_31_KEY_4
+ 2149515268
+ name 1_31_KEY_5
+ 2149515269
+ name 1_31_KEY_6
+ 2149515270
+ name 1_31_KEY_7
+ 2149515271
+ name 1_31_KEY_8
+ 2149515272
+ name 1_31_KEY_9
+ 2149515273
+ name 1_31_KEY_POWER
+ 2149515274
+ name 1_31_TWO_DIGITS
+ 2149515277
+ name 1_31_KEY_CH_UP
+ 2149515279
+ name 1_31_KEY_CH_DOWN
+ 2149515280
+ name 1_31_KEY_DISPLAY
+ 2149515285
+ name 1_31_KEY_EXIT
+ 2149515288
+ name 1_31_KEY_GUIDE
+ 2149515291
+ name 1_31_KEY_SELECT
+ 2149515294
+ name 1_31_KEY_MENU
+ 2149515311
+ name 1_31_KEY_MUP
+ 2149515312
+ name 1_31_KEY_MDOWN
+ 2149515313
+ name 1_31_KEY_MLEFT
+ 2149515314
+ name 1_31_KEY_MRIGHT
+ 2149515315
+ name 0_32_KEY_0
+ 2097152
+ name 0_32_KEY_1
+ 2097153
+ name 0_32_KEY_2
+ 2097154
+ name 0_32_KEY_3
+ 2097155
+ name 0_32_KEY_4
+ 2097156
+ name 0_32_KEY_5
+ 2097157
+ name 0_32_KEY_6
+ 2097158
+ name 0_32_KEY_7
+ 2097159
+ name 0_32_KEY_8
+ 2097160
+ name 0_32_KEY_9
+ 2097161
+ name 0_32_KEY_POWER
+ 2097162
+ name 0_32_KEY_CH_UP
+ 2097167
+ name 0_32_KEY_CH_DOWN
+ 2097168
+ name 0_32_KEY_MUTE
+ 2097169
+ name 0_32_KEY_VOL_DOWN
+ 2097170
+ name 0_32_CH_PREVIOUS
+ 2097171
+ name 0_32_KEY_VOL_UP
+ 2097172
+ name 1_32_KEY_0
+ 2149580800
+ name 1_32_KEY_1
+ 2149580801
+ name 1_32_KEY_2
+ 2149580802
+ name 1_32_KEY_3
+ 2149580803
+ name 1_32_KEY_4
+ 2149580804
+ name 1_32_KEY_5
+ 2149580805
+ name 1_32_KEY_6
+ 2149580806
+ name 1_32_KEY_7
+ 2149580807
+ name 1_32_KEY_8
+ 2149580808
+ name 1_32_KEY_9
+ 2149580809
+ name 1_32_KEY_POWER
+ 2149580810
+ name 1_32_TWO_DIGITS
+ 2149580813
+ name 1_32_KEY_CH_UP
+ 2149580815
+ name 1_32_KEY_CH_DOWN
+ 2149580816
+ name 1_32_KEY_DISPLAY
+ 2149580821
+ name 1_32_KEY_EXIT
+ 2149580824
+ name 1_32_KEY_GUIDE
+ 2149580827
+ name 1_32_KEY_SELECT
+ 2149580830
+ name 1_32_KEY_MENU
+ 2149580847
+ name 1_32_KEY_MUP
+ 2149580848
+ name 1_32_KEY_MDOWN
+ 2149580849
+ name 1_32_KEY_MLEFT
+ 2149580850
+ name 1_32_KEY_MRIGHT
+ 2149580851
+ name 0_33_KEY_0
+ 2162688
+ name 0_33_KEY_1
+ 2162689
+ name 0_33_KEY_2
+ 2162690
+ name 0_33_KEY_3
+ 2162691
+ name 0_33_KEY_4
+ 2162692
+ name 0_33_KEY_5
+ 2162693
+ name 0_33_KEY_6
+ 2162694
+ name 0_33_KEY_7
+ 2162695
+ name 0_33_KEY_8
+ 2162696
+ name 0_33_KEY_9
+ 2162697
+ name 0_33_KEY_POWER
+ 2162698
+ name 0_33_KEY_CH_UP
+ 2162703
+ name 0_33_KEY_CH_DOWN
+ 2162704
+ name 0_33_KEY_MUTE
+ 2162705
+ name 0_33_KEY_VOL_DOWN
+ 2162706
+ name 0_33_CH_PREVIOUS
+ 2162707
+ name 0_33_KEY_VOL_UP
+ 2162708
+ name 0_33_KEY_DISPLAY
+ 2162709
+ name 0_33_KEY_INPUT
+ 2162714
+ name 0_33_KEY_FTUNEPLUS
+ 2162721
+ name 0_33_KEY_FTUNEMINUS
+ 2162722
+ name 0_33_KEY_AB
+ 2162750
+ name 1_33_KEY_0
+ 2149646336
+ name 1_33_KEY_1
+ 2149646337
+ name 1_33_KEY_2
+ 2149646338
+ name 1_33_KEY_3
+ 2149646339
+ name 1_33_KEY_4
+ 2149646340
+ name 1_33_KEY_5
+ 2149646341
+ name 1_33_KEY_6
+ 2149646342
+ name 1_33_KEY_7
+ 2149646343
+ name 1_33_KEY_8
+ 2149646344
+ name 1_33_KEY_9
+ 2149646345
+ name 1_33_KEY_POWER
+ 2149646346
+ name 1_33_TWO_DIGITS
+ 2149646349
+ name 1_33_KEY_CH_UP
+ 2149646351
+ name 1_33_KEY_CH_DOWN
+ 2149646352
+ name 1_33_KEY_DISPLAY
+ 2149646357
+ name 1_33_KEY_EXIT
+ 2149646360
+ name 1_33_KEY_GUIDE
+ 2149646363
+ name 1_33_KEY_SELECT
+ 2149646366
+ name 1_33_KEY_MENU
+ 2149646383
+ name 1_33_KEY_MUP
+ 2149646384
+ name 1_33_KEY_MDOWN
+ 2149646385
+ name 1_33_KEY_MLEFT
+ 2149646386
+ name 1_33_KEY_MRIGHT
+ 2149646387
+ name 0_34_KEY_0
+ 2228224
+ name 0_34_KEY_1
+ 2228225
+ name 0_34_KEY_2
+ 2228226
+ name 0_34_KEY_3
+ 2228227
+ name 0_34_KEY_4
+ 2228228
+ name 0_34_KEY_5
+ 2228229
+ name 0_34_KEY_6
+ 2228230
+ name 0_34_KEY_7
+ 2228231
+ name 0_34_KEY_8
+ 2228232
+ name 0_34_KEY_9
+ 2228233
+ name 0_34_KEY_POWER
+ 2228234
+ name 0_34_KEY_CH_UP
+ 2228239
+ name 0_34_KEY_CH_DOWN
+ 2228240
+ name 0_34_CH_PREVIOUS
+ 2228243
+ name 0_34_KEY_ENTER
+ 2228267
+ name 1_34_KEY_0
+ 2149711872
+ name 1_34_KEY_1
+ 2149711873
+ name 1_34_KEY_2
+ 2149711874
+ name 1_34_KEY_3
+ 2149711875
+ name 1_34_KEY_4
+ 2149711876
+ name 1_34_KEY_5
+ 2149711877
+ name 1_34_KEY_6
+ 2149711878
+ name 1_34_KEY_7
+ 2149711879
+ name 1_34_KEY_8
+ 2149711880
+ name 1_34_KEY_9
+ 2149711881
+ name 1_34_KEY_POWER
+ 2149711882
+ name 1_34_TWO_DIGITS
+ 2149711885
+ name 1_34_KEY_CH_UP
+ 2149711887
+ name 1_34_KEY_CH_DOWN
+ 2149711888
+ name 1_34_KEY_DISPLAY
+ 2149711893
+ name 1_34_KEY_EXIT
+ 2149711896
+ name 1_34_KEY_GUIDE
+ 2149711899
+ name 1_34_KEY_SELECT
+ 2149711902
+ name 1_34_KEY_MENU
+ 2149711919
+ name 1_34_KEY_MUP
+ 2149711920
+ name 1_34_KEY_MDOWN
+ 2149711921
+ name 1_34_KEY_MLEFT
+ 2149711922
+ name 1_34_KEY_MRIGHT
+ 2149711923
+ name 0_35_KEY_0
+ 2293760
+ name 0_35_KEY_1
+ 2293761
+ name 0_35_KEY_2
+ 2293762
+ name 0_35_KEY_3
+ 2293763
+ name 0_35_KEY_4
+ 2293764
+ name 0_35_KEY_5
+ 2293765
+ name 0_35_KEY_6
+ 2293766
+ name 0_35_KEY_7
+ 2293767
+ name 0_35_KEY_8
+ 2293768
+ name 0_35_KEY_9
+ 2293769
+ name 0_35_KEY_POWER
+ 2293770
+ name 0_35_KEY_CH_UP
+ 2293775
+ name 0_35_KEY_CH_DOWN
+ 2293776
+ name 0_35_CH_PREVIOUS
+ 2293779
+ name 0_35_KEY_ENTER
+ 2293803
+ name 1_35_KEY_0
+ 2149777408
+ name 1_35_KEY_1
+ 2149777409
+ name 1_35_KEY_2
+ 2149777410
+ name 1_35_KEY_3
+ 2149777411
+ name 1_35_KEY_4
+ 2149777412
+ name 1_35_KEY_5
+ 2149777413
+ name 1_35_KEY_6
+ 2149777414
+ name 1_35_KEY_7
+ 2149777415
+ name 1_35_KEY_8
+ 2149777416
+ name 1_35_KEY_9
+ 2149777417
+ name 1_35_KEY_POWER
+ 2149777418
+ name 1_35_TWO_DIGITS
+ 2149777421
+ name 1_35_KEY_CH_UP
+ 2149777423
+ name 1_35_KEY_CH_DOWN
+ 2149777424
+ name 1_35_KEY_DISPLAY
+ 2149777429
+ name 1_35_KEY_EXIT
+ 2149777432
+ name 1_35_KEY_GUIDE
+ 2149777435
+ name 1_35_KEY_SELECT
+ 2149777438
+ name 1_35_KEY_MENU
+ 2149777455
+ name 1_35_KEY_MUP
+ 2149777456
+ name 1_35_KEY_MDOWN
+ 2149777457
+ name 1_35_KEY_MLEFT
+ 2149777458
+ name 1_35_KEY_MRIGHT
+ 2149777459
+ name 0_36_KEY_0
+ 2359296
+ name 0_36_KEY_1
+ 2359297
+ name 0_36_KEY_2
+ 2359298
+ name 0_36_KEY_3
+ 2359299
+ name 0_36_KEY_4
+ 2359300
+ name 0_36_KEY_5
+ 2359301
+ name 0_36_KEY_6
+ 2359302
+ name 0_36_KEY_7
+ 2359303
+ name 0_36_KEY_8
+ 2359304
+ name 0_36_KEY_9
+ 2359305
+ name 0_36_KEY_POWER
+ 2359306
+ name 0_36_KEY_CH_UP
+ 2359311
+ name 0_36_KEY_CH_DOWN
+ 2359312
+ name 1_36_KEY_0
+ 2149842944
+ name 1_36_KEY_1
+ 2149842945
+ name 1_36_KEY_2
+ 2149842946
+ name 1_36_KEY_3
+ 2149842947
+ name 1_36_KEY_4
+ 2149842948
+ name 1_36_KEY_5
+ 2149842949
+ name 1_36_KEY_6
+ 2149842950
+ name 1_36_KEY_7
+ 2149842951
+ name 1_36_KEY_8
+ 2149842952
+ name 1_36_KEY_9
+ 2149842953
+ name 1_36_KEY_POWER
+ 2149842954
+ name 1_36_TWO_DIGITS
+ 2149842957
+ name 1_36_KEY_CH_UP
+ 2149842959
+ name 1_36_KEY_CH_DOWN
+ 2149842960
+ name 1_36_KEY_DISPLAY
+ 2149842965
+ name 1_36_KEY_EXIT
+ 2149842968
+ name 1_36_KEY_GUIDE
+ 2149842971
+ name 1_36_KEY_SELECT
+ 2149842974
+ name 1_36_KEY_MENU
+ 2149842991
+ name 1_36_KEY_MUP
+ 2149842992
+ name 1_36_KEY_MDOWN
+ 2149842993
+ name 1_36_KEY_MLEFT
+ 2149842994
+ name 1_36_KEY_MRIGHT
+ 2149842995
+ name 0_37_KEY_0
+ 2424832
+ name 0_37_KEY_1
+ 2424833
+ name 0_37_KEY_2
+ 2424834
+ name 0_37_KEY_3
+ 2424835
+ name 0_37_KEY_4
+ 2424836
+ name 0_37_KEY_5
+ 2424837
+ name 0_37_KEY_6
+ 2424838
+ name 0_37_KEY_7
+ 2424839
+ name 0_37_KEY_8
+ 2424840
+ name 0_37_KEY_9
+ 2424841
+ name 0_37_KEY_POWER
+ 2424842
+ name 0_37_KEY_CH_UP
+ 2424847
+ name 0_37_KEY_CH_DOWN
+ 2424848
+ name 1_37_KEY_0
+ 2149908480
+ name 1_37_KEY_1
+ 2149908481
+ name 1_37_KEY_2
+ 2149908482
+ name 1_37_KEY_3
+ 2149908483
+ name 1_37_KEY_4
+ 2149908484
+ name 1_37_KEY_5
+ 2149908485
+ name 1_37_KEY_6
+ 2149908486
+ name 1_37_KEY_7
+ 2149908487
+ name 1_37_KEY_8
+ 2149908488
+ name 1_37_KEY_9
+ 2149908489
+ name 1_37_KEY_POWER
+ 2149908490
+ name 1_37_TWO_DIGITS
+ 2149908493
+ name 1_37_KEY_CH_UP
+ 2149908495
+ name 1_37_KEY_CH_DOWN
+ 2149908496
+ name 1_37_KEY_DISPLAY
+ 2149908501
+ name 1_37_KEY_EXIT
+ 2149908504
+ name 1_37_KEY_GUIDE
+ 2149908507
+ name 1_37_KEY_SELECT
+ 2149908510
+ name 1_37_KEY_MENU
+ 2149908527
+ name 1_37_KEY_MUP
+ 2149908528
+ name 1_37_KEY_MDOWN
+ 2149908529
+ name 1_37_KEY_MLEFT
+ 2149908530
+ name 1_37_KEY_MRIGHT
+ 2149908531
+ name 0_38_KEY_0
+ 2490368
+ name 0_38_KEY_1
+ 2490369
+ name 0_38_KEY_2
+ 2490370
+ name 0_38_KEY_3
+ 2490371
+ name 0_38_KEY_4
+ 2490372
+ name 0_38_KEY_5
+ 2490373
+ name 0_38_KEY_6
+ 2490374
+ name 0_38_KEY_7
+ 2490375
+ name 0_38_KEY_8
+ 2490376
+ name 0_38_KEY_9
+ 2490377
+ name 0_38_KEY_POWER
+ 2490378
+ name 0_38_KEY_CH_UP
+ 2490383
+ name 0_38_KEY_CH_DOWN
+ 2490384
+ name 0_38_KEY_INPUT
+ 2490394
+ name 0_38_KEY_ENTER
+ 2490411
+ name 0_38_KEY_MENU
+ 2490415
+ name 0_38_KEY_MUP
+ 2490416
+ name 0_38_KEY_MDOWN
+ 2490417
+ name 0_38_KEY_MLEFT
+ 2490418
+ name 0_38_KEY_MRIGHT
+ 2490419
+ name 1_38_KEY_0
+ 2149974016
+ name 1_38_KEY_1
+ 2149974017
+ name 1_38_KEY_2
+ 2149974018
+ name 1_38_KEY_3
+ 2149974019
+ name 1_38_KEY_4
+ 2149974020
+ name 1_38_KEY_5
+ 2149974021
+ name 1_38_KEY_6
+ 2149974022
+ name 1_38_KEY_7
+ 2149974023
+ name 1_38_KEY_8
+ 2149974024
+ name 1_38_KEY_9
+ 2149974025
+ name 1_38_KEY_POWER
+ 2149974026
+ name 1_38_KEY_CH_UP
+ 2149974031
+ name 1_38_KEY_CH_DOWN
+ 2149974032
+ name 1_38_KEY_MUTE
+ 2149974033
+ name 1_38_KEY_VOL_DOWN
+ 2149974034
+ name 1_38_CH_PREVIOUS
+ 2149974035
+ name 1_38_KEY_VOL_UP
+ 2149974036
+ name 1_38_KEY_DISPLAY
+ 2149974037
+ name 1_38_KEY_EXIT
+ 2149974040
+ name 1_38_KEY_INPUT
+ 2149974042
+ name 1_38_KEY_GUIDE
+ 2149974043
+ name 1_38_KEY_SELECT
+ 2149974046
+ name 1_38_KEY_AV
+ 2149974057
+ name 1_38_KEY_SAT
+ 2149974058
+ name 1_38_KEY_ENTER
+ 2149974059
+ name 1_38_KEY_MENU
+ 2149974063
+ name 1_38_KEY_MUP
+ 2149974064
+ name 1_38_KEY_MDOWN
+ 2149974065
+ name 1_38_KEY_MLEFT
+ 2149974066
+ name 1_38_KEY_MRIGHT
+ 2149974067
+ name 1_38_KEY_FF
+ 2149974068
+ name 1_38_KEY_PLAY
+ 2149974069
+ name 1_38_KEY_REW
+ 2149974070
+ name 1_38_KEY_REC
+ 2149974071
+ name 1_38_KEY_PAUSE
+ 2149974072
+ name 1_38_KEY_STOP
+ 2149974073
+ name 0_39_KEY_0
+ 2555904
+ name 0_39_KEY_1
+ 2555905
+ name 0_39_KEY_2
+ 2555906
+ name 0_39_KEY_3
+ 2555907
+ name 0_39_KEY_4
+ 2555908
+ name 0_39_KEY_5
+ 2555909
+ name 0_39_KEY_6
+ 2555910
+ name 0_39_KEY_7
+ 2555911
+ name 0_39_KEY_8
+ 2555912
+ name 0_39_KEY_9
+ 2555913
+ name 0_39_KEY_POWER
+ 2555914
+ name 0_39_KEY_CH_UP
+ 2555919
+ name 0_39_KEY_CH_DOWN
+ 2555920
+ name 0_39_CH_PREVIOUS
+ 2555923
+ name 0_39_KEY_ENTER
+ 2555947
+ name 1_39_KEY_0
+ 2150039552
+ name 1_39_KEY_1
+ 2150039553
+ name 1_39_KEY_2
+ 2150039554
+ name 1_39_KEY_3
+ 2150039555
+ name 1_39_KEY_4
+ 2150039556
+ name 1_39_KEY_5
+ 2150039557
+ name 1_39_KEY_6
+ 2150039558
+ name 1_39_KEY_7
+ 2150039559
+ name 1_39_KEY_8
+ 2150039560
+ name 1_39_KEY_9
+ 2150039561
+ name 1_39_KEY_POWER
+ 2150039562
+ name 1_39_KEY_CH_UP
+ 2150039567
+ name 1_39_KEY_CH_DOWN
+ 2150039568
+ name 1_39_KEY_MUTE
+ 2150039569
+ name 1_39_KEY_VOL_DOWN
+ 2150039570
+ name 1_39_CH_PREVIOUS
+ 2150039571
+ name 1_39_KEY_VOL_UP
+ 2150039572
+ name 1_39_KEY_DISPLAY
+ 2150039573
+ name 1_39_KEY_EXIT
+ 2150039576
+ name 1_39_KEY_INPUT
+ 2150039578
+ name 1_39_KEY_GUIDE
+ 2150039579
+ name 1_39_KEY_SELECT
+ 2150039582
+ name 1_39_KEY_AV
+ 2150039593
+ name 1_39_KEY_SAT
+ 2150039594
+ name 1_39_KEY_ENTER
+ 2150039595
+ name 1_39_KEY_MENU
+ 2150039599
+ name 1_39_KEY_MUP
+ 2150039600
+ name 1_39_KEY_MDOWN
+ 2150039601
+ name 1_39_KEY_MLEFT
+ 2150039602
+ name 1_39_KEY_MRIGHT
+ 2150039603
+ name 1_39_KEY_FF
+ 2150039604
+ name 1_39_KEY_PLAY
+ 2150039605
+ name 1_39_KEY_REW
+ 2150039606
+ name 1_39_KEY_REC
+ 2150039607
+ name 1_39_KEY_PAUSE
+ 2150039608
+ name 1_39_KEY_STOP
+ 2150039609
+ name 0_40_KEY_0
+ 2621440
+ name 0_40_KEY_1
+ 2621441
+ name 0_40_KEY_2
+ 2621442
+ name 0_40_KEY_3
+ 2621443
+ name 0_40_KEY_4
+ 2621444
+ name 0_40_KEY_5
+ 2621445
+ name 0_40_KEY_6
+ 2621446
+ name 0_40_KEY_7
+ 2621447
+ name 0_40_KEY_8
+ 2621448
+ name 0_40_KEY_9
+ 2621449
+ name 0_40_KEY_POWER
+ 2621450
+ name 0_40_KEY_CH_UP
+ 2621455
+ name 0_40_KEY_CH_DOWN
+ 2621456
+ name 0_40_CH_PREVIOUS
+ 2621459
+ name 0_40_KEY_ENTER
+ 2621483
+ name 1_40_KEY_0
+ 2150105088
+ name 1_40_KEY_1
+ 2150105089
+ name 1_40_KEY_2
+ 2150105090
+ name 1_40_KEY_3
+ 2150105091
+ name 1_40_KEY_4
+ 2150105092
+ name 1_40_KEY_5
+ 2150105093
+ name 1_40_KEY_6
+ 2150105094
+ name 1_40_KEY_7
+ 2150105095
+ name 1_40_KEY_8
+ 2150105096
+ name 1_40_KEY_9
+ 2150105097
+ name 1_40_KEY_POWER
+ 2150105098
+ name 1_40_CH_PREVIOUS
+ 2150105107
+ name 1_40_KEY_EXIT
+ 2150105112
+ name 1_40_KEY_GUIDE
+ 2150105115
+ name 1_40_KEY_FAV
+ 2150105117
+ name 1_40_KEY_SELECT
+ 2150105118
+ name 1_40_KEY_MENU
+ 2150105135
+ name 1_40_KEY_MUP
+ 2150105136
+ name 1_40_KEY_MDOWN
+ 2150105137
+ name 1_40_KEY_MLEFT
+ 2150105138
+ name 1_40_KEY_MRIGHT
+ 2150105139
+ name 0_41_KEY_0
+ 2686976
+ name 0_41_KEY_1
+ 2686977
+ name 0_41_KEY_2
+ 2686978
+ name 0_41_KEY_3
+ 2686979
+ name 0_41_KEY_4
+ 2686980
+ name 0_41_KEY_5
+ 2686981
+ name 0_41_KEY_6
+ 2686982
+ name 0_41_KEY_7
+ 2686983
+ name 0_41_KEY_8
+ 2686984
+ name 0_41_KEY_9
+ 2686985
+ name 0_41_KEY_POWER
+ 2686986
+ name 0_41_KEY_CH_UP
+ 2686991
+ name 0_41_KEY_CH_DOWN
+ 2686992
+ name 0_41_CH_PREVIOUS
+ 2686995
+ name 0_41_KEY_ENTER
+ 2687019
+ name 1_41_KEY_0
+ 2150170624
+ name 1_41_KEY_1
+ 2150170625
+ name 1_41_KEY_2
+ 2150170626
+ name 1_41_KEY_3
+ 2150170627
+ name 1_41_KEY_4
+ 2150170628
+ name 1_41_KEY_5
+ 2150170629
+ name 1_41_KEY_6
+ 2150170630
+ name 1_41_KEY_7
+ 2150170631
+ name 1_41_KEY_8
+ 2150170632
+ name 1_41_KEY_9
+ 2150170633
+ name 1_41_KEY_POWER
+ 2150170634
+ name 1_41_KEY_CH_UP
+ 2150170639
+ name 1_41_KEY_CH_DOWN
+ 2150170640
+ name 1_41_KEY_MUTE
+ 2150170641
+ name 1_41_KEY_VOL_DOWN
+ 2150170642
+ name 1_41_CH_PREVIOUS
+ 2150170643
+ name 1_41_KEY_VOL_UP
+ 2150170644
+ name 1_41_KEY_GUIDE
+ 2150170651
+ name 1_41_KEY_FAV
+ 2150170653
+ name 1_41_KEY_SELECT
+ 2150170654
+ name 0_42_KEY_0
+ 2752512
+ name 0_42_KEY_1
+ 2752513
+ name 0_42_KEY_2
+ 2752514
+ name 0_42_KEY_3
+ 2752515
+ name 0_42_KEY_4
+ 2752516
+ name 0_42_KEY_5
+ 2752517
+ name 0_42_KEY_6
+ 2752518
+ name 0_42_KEY_7
+ 2752519
+ name 0_42_KEY_8
+ 2752520
+ name 0_42_KEY_9
+ 2752521
+ name 0_42_KEY_POWER
+ 2752522
+ name 0_42_KEY_CH_UP
+ 2752527
+ name 0_42_KEY_CH_DOWN
+ 2752528
+ name 0_42_CH_PREVIOUS
+ 2752531
+ name 0_42_KEY_ENTER
+ 2752555
+ name 1_42_KEY_0
+ 2150236160
+ name 1_42_KEY_1
+ 2150236161
+ name 1_42_KEY_2
+ 2150236162
+ name 1_42_KEY_3
+ 2150236163
+ name 1_42_KEY_4
+ 2150236164
+ name 1_42_KEY_5
+ 2150236165
+ name 1_42_KEY_6
+ 2150236166
+ name 1_42_KEY_7
+ 2150236167
+ name 1_42_KEY_8
+ 2150236168
+ name 1_42_KEY_9
+ 2150236169
+ name 1_42_KEY_POWER
+ 2150236170
+ name 1_42_CH_PREVIOUS
+ 2150236179
+ name 1_42_KEY_EXIT
+ 2150236184
+ name 1_42_KEY_GUIDE
+ 2150236187
+ name 1_42_KEY_FAV
+ 2150236189
+ name 1_42_KEY_SELECT
+ 2150236190
+ name 1_42_KEY_MENU
+ 2150236207
+ name 1_42_KEY_MUP
+ 2150236208
+ name 1_42_KEY_MDOWN
+ 2150236209
+ name 1_42_KEY_MLEFT
+ 2150236210
+ name 1_42_KEY_MRIGHT
+ 2150236211
+ name 0_43_KEY_0
+ 2818048
+ name 0_43_KEY_1
+ 2818049
+ name 0_43_KEY_2
+ 2818050
+ name 0_43_KEY_3
+ 2818051
+ name 0_43_KEY_4
+ 2818052
+ name 0_43_KEY_5
+ 2818053
+ name 0_43_KEY_6
+ 2818054
+ name 0_43_KEY_7
+ 2818055
+ name 0_43_KEY_8
+ 2818056
+ name 0_43_KEY_9
+ 2818057
+ name 0_43_KEY_POWER
+ 2818058
+ name 0_43_KEY_CH_UP
+ 2818063
+ name 0_43_KEY_CH_DOWN
+ 2818064
+ name 0_43_CH_PREVIOUS
+ 2818067
+ name 0_43_KEY_ENTER
+ 2818091
+ name 1_43_KEY_0
+ 2150301696
+ name 1_43_KEY_1
+ 2150301697
+ name 1_43_KEY_2
+ 2150301698
+ name 1_43_KEY_3
+ 2150301699
+ name 1_43_KEY_4
+ 2150301700
+ name 1_43_KEY_5
+ 2150301701
+ name 1_43_KEY_6
+ 2150301702
+ name 1_43_KEY_7
+ 2150301703
+ name 1_43_KEY_8
+ 2150301704
+ name 1_43_KEY_9
+ 2150301705
+ name 1_43_KEY_POWER
+ 2150301706
+ name 1_43_CH_PREVIOUS
+ 2150301715
+ name 1_43_KEY_EXIT
+ 2150301720
+ name 1_43_KEY_SELECT
+ 2150301726
+ name 1_43_KEY_MENU
+ 2150301743
+ name 1_43_KEY_MUP
+ 2150301744
+ name 1_43_KEY_MDOWN
+ 2150301745
+ name 1_43_KEY_MLEFT
+ 2150301746
+ name 1_43_KEY_MRIGHT
+ 2150301747
+ name 0_44_KEY_0
+ 2883584
+ name 0_44_KEY_1
+ 2883585
+ name 0_44_KEY_2
+ 2883586
+ name 0_44_KEY_3
+ 2883587
+ name 0_44_KEY_4
+ 2883588
+ name 0_44_KEY_5
+ 2883589
+ name 0_44_KEY_6
+ 2883590
+ name 0_44_KEY_7
+ 2883591
+ name 0_44_KEY_8
+ 2883592
+ name 0_44_KEY_9
+ 2883593
+ name 0_44_KEY_POWER
+ 2883594
+ name 0_44_KEY_CH_UP
+ 2883599
+ name 0_44_KEY_CH_DOWN
+ 2883600
+ name 0_44_CH_PREVIOUS
+ 2883603
+ name 0_44_KEY_ENTER
+ 2883627
+ name 1_44_KEY_0
+ 2150367232
+ name 1_44_KEY_1
+ 2150367233
+ name 1_44_KEY_2
+ 2150367234
+ name 1_44_KEY_3
+ 2150367235
+ name 1_44_KEY_4
+ 2150367236
+ name 1_44_KEY_5
+ 2150367237
+ name 1_44_KEY_6
+ 2150367238
+ name 1_44_KEY_7
+ 2150367239
+ name 1_44_KEY_8
+ 2150367240
+ name 1_44_KEY_9
+ 2150367241
+ name 1_44_KEY_POWER
+ 2150367242
+ name 1_44_KEY_CH_UP
+ 2150367247
+ name 1_44_KEY_CH_DOWN
+ 2150367248
+ name 1_44_KEY_MUTE
+ 2150367249
+ name 1_44_KEY_VOL_DOWN
+ 2150367250
+ name 1_44_CH_PREVIOUS
+ 2150367251
+ name 1_44_KEY_VOL_UP
+ 2150367252
+ name 1_44_KEY_GUIDE
+ 2150367259
+ name 1_44_KEY_FAV
+ 2150367261
+ name 1_44_KEY_ENTER
+ 2150367275
+ name 0_45_KEY_0
+ 2949120
+ name 0_45_KEY_1
+ 2949121
+ name 0_45_KEY_2
+ 2949122
+ name 0_45_KEY_3
+ 2949123
+ name 0_45_KEY_4
+ 2949124
+ name 0_45_KEY_5
+ 2949125
+ name 0_45_KEY_6
+ 2949126
+ name 0_45_KEY_7
+ 2949127
+ name 0_45_KEY_8
+ 2949128
+ name 0_45_KEY_9
+ 2949129
+ name 0_45_KEY_POWER
+ 2949130
+ name 0_45_KEY_CH_UP
+ 2949135
+ name 0_45_KEY_CH_DOWN
+ 2949136
+ name 0_45_KEY_ENTER
+ 2949163
+ name 1_45_KEY_0
+ 2150432768
+ name 1_45_KEY_1
+ 2150432769
+ name 1_45_KEY_2
+ 2150432770
+ name 1_45_KEY_3
+ 2150432771
+ name 1_45_KEY_4
+ 2150432772
+ name 1_45_KEY_5
+ 2150432773
+ name 1_45_KEY_6
+ 2150432774
+ name 1_45_KEY_7
+ 2150432775
+ name 1_45_KEY_8
+ 2150432776
+ name 1_45_KEY_9
+ 2150432777
+ name 1_45_KEY_POWER
+ 2150432778
+ name 1_45_KEY_CH_UP
+ 2150432783
+ name 1_45_KEY_CH_DOWN
+ 2150432784
+ name 1_45_CH_PREVIOUS
+ 2150432787
+ name 1_45_KEY_DISPLAY
+ 2150432789
+ name 1_45_KEY_EXIT
+ 2150432792
+ name 1_45_KEY_GUIDE
+ 2150432795
+ name 1_45_KEY_FAV
+ 2150432797
+ name 1_45_KEY_SELECT
+ 2150432798
+ name 1_45_KEY_ENTER
+ 2150432811
+ name 1_45_KEY_MENU
+ 2150432815
+ name 1_45_KEY_MUP
+ 2150432816
+ name 1_45_KEY_MDOWN
+ 2150432817
+ name 1_45_KEY_MLEFT
+ 2150432818
+ name 1_45_KEY_MRIGHT
+ 2150432819
+ name 0_46_KEY_0
+ 3014656
+ name 0_46_KEY_1
+ 3014657
+ name 0_46_KEY_2
+ 3014658
+ name 0_46_KEY_3
+ 3014659
+ name 0_46_KEY_4
+ 3014660
+ name 0_46_KEY_5
+ 3014661
+ name 0_46_KEY_6
+ 3014662
+ name 0_46_KEY_7
+ 3014663
+ name 0_46_KEY_8
+ 3014664
+ name 0_46_KEY_9
+ 3014665
+ name 0_46_KEY_POWER
+ 3014666
+ name 0_46_KEY_CH_UP
+ 3014671
+ name 0_46_KEY_CH_DOWN
+ 3014672
+ name 0_46_CH_PREVIOUS
+ 3014675
+ name 0_46_KEY_ENTER
+ 3014699
+ name 1_46_KEY_0
+ 2150498304
+ name 1_46_KEY_1
+ 2150498305
+ name 1_46_KEY_2
+ 2150498306
+ name 1_46_KEY_3
+ 2150498307
+ name 1_46_KEY_4
+ 2150498308
+ name 1_46_KEY_5
+ 2150498309
+ name 1_46_KEY_6
+ 2150498310
+ name 1_46_KEY_7
+ 2150498311
+ name 1_46_KEY_8
+ 2150498312
+ name 1_46_KEY_9
+ 2150498313
+ name 1_46_KEY_POWER
+ 2150498314
+ name 1_46_KEY_CH_UP
+ 2150498319
+ name 1_46_KEY_CH_DOWN
+ 2150498320
+ name 1_46_KEY_MUTE
+ 2150498321
+ name 1_46_KEY_VOL_DOWN
+ 2150498322
+ name 1_46_CH_PREVIOUS
+ 2150498323
+ name 1_46_KEY_VOL_UP
+ 2150498324
+ name 1_46_KEY_FAV
+ 2150498333
+ name 1_46_KEY_ENTER
+ 2150498347
+ name 0_47_KEY_0
+ 3080192
+ name 0_47_KEY_1
+ 3080193
+ name 0_47_KEY_2
+ 3080194
+ name 0_47_KEY_3
+ 3080195
+ name 0_47_KEY_4
+ 3080196
+ name 0_47_KEY_5
+ 3080197
+ name 0_47_KEY_6
+ 3080198
+ name 0_47_KEY_7
+ 3080199
+ name 0_47_KEY_8
+ 3080200
+ name 0_47_KEY_9
+ 3080201
+ name 0_47_KEY_POWER
+ 3080202
+ name 0_47_KEY_CH_UP
+ 3080207
+ name 0_47_KEY_CH_DOWN
+ 3080208
+ name 0_47_CH_PREVIOUS
+ 3080211
+ name 1_47_KEY_POWER
+ 2150563850
+ name 1_47_KEY_CH_UP
+ 2150563855
+ name 1_47_KEY_CH_DOWN
+ 2150563856
+ name 1_47_KEY_MUTE
+ 2150563857
+ name 1_47_KEY_VOL_DOWN
+ 2150563858
+ name 1_47_KEY_VOL_UP
+ 2150563860
+ name 1_47_KEY_SAT
+ 2150563882
+ name 1_47_KEY_ENTER
+ 2150563883
+ name 0_48_KEY_0
+ 3145728
+ name 0_48_KEY_1
+ 3145729
+ name 0_48_KEY_2
+ 3145730
+ name 0_48_KEY_3
+ 3145731
+ name 0_48_KEY_4
+ 3145732
+ name 0_48_KEY_5
+ 3145733
+ name 0_48_KEY_6
+ 3145734
+ name 0_48_KEY_7
+ 3145735
+ name 0_48_KEY_8
+ 3145736
+ name 0_48_KEY_9
+ 3145737
+ name 0_48_KEY_POWER
+ 3145738
+ name 0_48_KEY_CH_UP
+ 3145743
+ name 0_48_KEY_CH_DOWN
+ 3145744
+ name 0_48_CH_PREVIOUS
+ 3145747
+ name 0_48_KEY_ENTER
+ 3145771
+ name 1_48_KEY_0
+ 2150629376
+ name 1_48_KEY_1
+ 2150629377
+ name 1_48_KEY_2
+ 2150629378
+ name 1_48_KEY_3
+ 2150629379
+ name 1_48_KEY_4
+ 2150629380
+ name 1_48_KEY_5
+ 2150629381
+ name 1_48_KEY_6
+ 2150629382
+ name 1_48_KEY_7
+ 2150629383
+ name 1_48_KEY_8
+ 2150629384
+ name 1_48_KEY_9
+ 2150629385
+ name 1_48_KEY_POWER
+ 2150629386
+ name 1_48_KEY_CH_UP
+ 2150629391
+ name 1_48_KEY_CH_DOWN
+ 2150629392
+ name 1_48_KEY_MUTE
+ 2150629393
+ name 1_48_KEY_VOL_DOWN
+ 2150629394
+ name 1_48_KEY_VOL_UP
+ 2150629396
+ name 1_48_KEY_CKU
+ 2150629416
+ name 1_48_KEY_SAT
+ 2150629418
+ name 0_49_KEY_0
+ 3211264
+ name 0_49_KEY_1
+ 3211265
+ name 0_49_KEY_2
+ 3211266
+ name 0_49_KEY_3
+ 3211267
+ name 0_49_KEY_4
+ 3211268
+ name 0_49_KEY_5
+ 3211269
+ name 0_49_KEY_6
+ 3211270
+ name 0_49_KEY_7
+ 3211271
+ name 0_49_KEY_8
+ 3211272
+ name 0_49_KEY_9
+ 3211273
+ name 0_49_KEY_POWER
+ 3211274
+ name 0_49_KEY_CH_UP
+ 3211279
+ name 0_49_KEY_CH_DOWN
+ 3211280
+ name 0_49_CH_PREVIOUS
+ 3211283
+ name 0_49_KEY_ENTER
+ 3211307
+ name 1_49_KEY_0
+ 2150694912
+ name 1_49_KEY_1
+ 2150694913
+ name 1_49_KEY_2
+ 2150694914
+ name 1_49_KEY_3
+ 2150694915
+ name 1_49_KEY_4
+ 2150694916
+ name 1_49_KEY_5
+ 2150694917
+ name 1_49_KEY_6
+ 2150694918
+ name 1_49_KEY_7
+ 2150694919
+ name 1_49_KEY_8
+ 2150694920
+ name 1_49_KEY_9
+ 2150694921
+ name 1_49_KEY_POWER
+ 2150694922
+ name 1_49_KEY_CH_UP
+ 2150694927
+ name 1_49_KEY_CH_DOWN
+ 2150694928
+ name 1_49_KEY_MUTE
+ 2150694929
+ name 1_49_KEY_VOL_DOWN
+ 2150694930
+ name 1_49_KEY_VOL_UP
+ 2150694932
+ name 0_50_KEY_0
+ 3276800
+ name 0_50_KEY_1
+ 3276801
+ name 0_50_KEY_2
+ 3276802
+ name 0_50_KEY_3
+ 3276803
+ name 0_50_KEY_4
+ 3276804
+ name 0_50_KEY_5
+ 3276805
+ name 0_50_KEY_6
+ 3276806
+ name 0_50_KEY_7
+ 3276807
+ name 0_50_KEY_8
+ 3276808
+ name 0_50_KEY_9
+ 3276809
+ name 0_50_KEY_POWER
+ 3276810
+ name 0_50_KEY_CH_UP
+ 3276815
+ name 0_50_KEY_CH_DOWN
+ 3276816
+ name 0_50_KEY_ENTER
+ 3276843
+ name 1_50_KEY_0
+ 2150760448
+ name 1_50_KEY_1
+ 2150760449
+ name 1_50_KEY_2
+ 2150760450
+ name 1_50_KEY_3
+ 2150760451
+ name 1_50_KEY_4
+ 2150760452
+ name 1_50_KEY_5
+ 2150760453
+ name 1_50_KEY_6
+ 2150760454
+ name 1_50_KEY_7
+ 2150760455
+ name 1_50_KEY_8
+ 2150760456
+ name 1_50_KEY_9
+ 2150760457
+ name 1_50_KEY_POWER
+ 2150760458
+ name 1_50_KEY_CH_UP
+ 2150760463
+ name 1_50_KEY_CH_DOWN
+ 2150760464
+ name 1_50_CH_PREVIOUS
+ 2150760467
+ name 1_50_KEY_FAV
+ 2150760477
+ name 1_50_KEY_ENTER
+ 2150760491
+ name 0_51_KEY_0
+ 3342336
+ name 0_51_KEY_1
+ 3342337
+ name 0_51_KEY_2
+ 3342338
+ name 0_51_KEY_3
+ 3342339
+ name 0_51_KEY_4
+ 3342340
+ name 0_51_KEY_5
+ 3342341
+ name 0_51_KEY_6
+ 3342342
+ name 0_51_KEY_7
+ 3342343
+ name 0_51_KEY_8
+ 3342344
+ name 0_51_KEY_9
+ 3342345
+ name 0_51_KEY_POWER
+ 3342346
+ name 0_51_KEY_CH_UP
+ 3342351
+ name 0_51_KEY_CH_DOWN
+ 3342352
+ name 0_51_CH_PREVIOUS
+ 3342355
+ name 0_51_KEY_ENTER
+ 3342379
+ name 1_51_KEY_0
+ 2150825984
+ name 1_51_KEY_1
+ 2150825985
+ name 1_51_KEY_2
+ 2150825986
+ name 1_51_KEY_3
+ 2150825987
+ name 1_51_KEY_4
+ 2150825988
+ name 1_51_KEY_5
+ 2150825989
+ name 1_51_KEY_6
+ 2150825990
+ name 1_51_KEY_7
+ 2150825991
+ name 1_51_KEY_8
+ 2150825992
+ name 1_51_KEY_9
+ 2150825993
+ name 1_51_KEY_POWER
+ 2150825994
+ name 1_51_KEY_CH_UP
+ 2150825999
+ name 1_51_KEY_CH_DOWN
+ 2150826000
+ name 1_51_KEY_MUTE
+ 2150826001
+ name 1_51_KEY_VOL_DOWN
+ 2150826002
+ name 1_51_KEY_VOL_UP
+ 2150826004
+ name 1_51_KEY_EXIT
+ 2150826008
+ name 1_51_KEY_CKU
+ 2150826024
+ name 1_51_KEY_AV
+ 2150826025
+ name 1_51_KEY_SAT
+ 2150826026
+ name 1_51_KEY_ENTER
+ 2150826027
+ name 1_51_KEY_MENU
+ 2150826031
+ name 1_51_KEY_MUP
+ 2150826032
+ name 1_51_KEY_MDOWN
+ 2150826033
+ name 1_51_KEY_MLEFT
+ 2150826034
+ name 1_51_KEY_MRIGHT
+ 2150826035
+ name 1_51_KEY_Help
+ 2150826048
+ name 1_51_KEY_Setup
+ 2150826049
+ name 0_52_KEY_0
+ 3407872
+ name 0_52_KEY_1
+ 3407873
+ name 0_52_KEY_2
+ 3407874
+ name 0_52_KEY_3
+ 3407875
+ name 0_52_KEY_4
+ 3407876
+ name 0_52_KEY_5
+ 3407877
+ name 0_52_KEY_6
+ 3407878
+ name 0_52_KEY_7
+ 3407879
+ name 0_52_KEY_8
+ 3407880
+ name 0_52_KEY_9
+ 3407881
+ name 0_52_KEY_POWER
+ 3407882
+ name 0_52_KEY_CH_UP
+ 3407887
+ name 0_52_KEY_CH_DOWN
+ 3407888
+ name 0_52_CH_PREVIOUS
+ 3407891
+ name 0_52_KEY_ENTER
+ 3407915
+ name 1_52_KEY_0
+ 2150891520
+ name 1_52_KEY_1
+ 2150891521
+ name 1_52_KEY_2
+ 2150891522
+ name 1_52_KEY_3
+ 2150891523
+ name 1_52_KEY_4
+ 2150891524
+ name 1_52_KEY_5
+ 2150891525
+ name 1_52_KEY_6
+ 2150891526
+ name 1_52_KEY_7
+ 2150891527
+ name 1_52_KEY_8
+ 2150891528
+ name 1_52_KEY_9
+ 2150891529
+ name 1_52_KEY_POWER
+ 2150891530
+ name 1_52_KEY_CH_UP
+ 2150891535
+ name 1_52_KEY_CH_DOWN
+ 2150891536
+ name 1_52_KEY_MUTE
+ 2150891537
+ name 1_52_KEY_VOL_DOWN
+ 2150891538
+ name 1_52_CH_PREVIOUS
+ 2150891539
+ name 1_52_KEY_VOL_UP
+ 2150891540
+ name 1_52_KEY_EXIT
+ 2150891544
+ name 1_52_KEY_FAV
+ 2150891549
+ name 1_52_KEY_SAT
+ 2150891562
+ name 1_52_KEY_ENTER
+ 2150891563
+ name 1_52_KEY_MENU
+ 2150891567
+ name 1_52_KEY_MUP
+ 2150891568
+ name 1_52_KEY_MDOWN
+ 2150891569
+ name 1_52_KEY_MLEFT
+ 2150891570
+ name 1_52_KEY_MRIGHT
+ 2150891571
+ name 1_52_KEY_Help
+ 2150891584
+ name 1_52_KEY_Setup
+ 2150891585
+ name 0_53_KEY_0
+ 3473408
+ name 0_53_KEY_1
+ 3473409
+ name 0_53_KEY_2
+ 3473410
+ name 0_53_KEY_3
+ 3473411
+ name 0_53_KEY_4
+ 3473412
+ name 0_53_KEY_5
+ 3473413
+ name 0_53_KEY_6
+ 3473414
+ name 0_53_KEY_7
+ 3473415
+ name 0_53_KEY_8
+ 3473416
+ name 0_53_KEY_9
+ 3473417
+ name 0_53_KEY_POWER
+ 3473418
+ name 0_53_KEY_CH_UP
+ 3473423
+ name 0_53_KEY_CH_DOWN
+ 3473424
+ name 0_53_CH_PREVIOUS
+ 3473427
+ name 0_53_KEY_ENTER
+ 3473451
+ name 1_53_KEY_0
+ 2150957056
+ name 1_53_KEY_1
+ 2150957057
+ name 1_53_KEY_2
+ 2150957058
+ name 1_53_KEY_3
+ 2150957059
+ name 1_53_KEY_4
+ 2150957060
+ name 1_53_KEY_5
+ 2150957061
+ name 1_53_KEY_6
+ 2150957062
+ name 1_53_KEY_7
+ 2150957063
+ name 1_53_KEY_8
+ 2150957064
+ name 1_53_KEY_9
+ 2150957065
+ name 1_53_KEY_POWER
+ 2150957066
+ name 1_53_KEY_CH_UP
+ 2150957071
+ name 1_53_KEY_CH_DOWN
+ 2150957072
+ name 1_53_KEY_MUTE
+ 2150957073
+ name 1_53_KEY_VOL_DOWN
+ 2150957074
+ name 1_53_KEY_VOL_UP
+ 2150957076
+ name 1_53_KEY_EXIT
+ 2150957080
+ name 1_53_KEY_FAV
+ 2150957085
+ name 1_53_KEY_SAT
+ 2150957098
+ name 1_53_KEY_ENTER
+ 2150957099
+ name 1_53_KEY_MENU
+ 2150957103
+ name 1_53_KEY_MUP
+ 2150957104
+ name 1_53_KEY_MDOWN
+ 2150957105
+ name 1_53_KEY_MLEFT
+ 2150957106
+ name 1_53_KEY_MRIGHT
+ 2150957107
+ name 1_53_KEY_Help
+ 2150957120
+ name 1_53_KEY_Setup
+ 2150957121
+ name 0_54_KEY_0
+ 3538944
+ name 0_54_KEY_1
+ 3538945
+ name 0_54_KEY_2
+ 3538946
+ name 0_54_KEY_3
+ 3538947
+ name 0_54_KEY_4
+ 3538948
+ name 0_54_KEY_5
+ 3538949
+ name 0_54_KEY_6
+ 3538950
+ name 0_54_KEY_7
+ 3538951
+ name 0_54_KEY_8
+ 3538952
+ name 0_54_KEY_9
+ 3538953
+ name 0_54_KEY_POWER
+ 3538954
+ name 0_54_KEY_CH_UP
+ 3538959
+ name 0_54_KEY_CH_DOWN
+ 3538960
+ name 0_54_KEY_ENTER
+ 3538987
+ name 1_54_KEY_0
+ 2151022592
+ name 1_54_KEY_1
+ 2151022593
+ name 1_54_KEY_2
+ 2151022594
+ name 1_54_KEY_3
+ 2151022595
+ name 1_54_KEY_4
+ 2151022596
+ name 1_54_KEY_5
+ 2151022597
+ name 1_54_KEY_6
+ 2151022598
+ name 1_54_KEY_7
+ 2151022599
+ name 1_54_KEY_8
+ 2151022600
+ name 1_54_KEY_9
+ 2151022601
+ name 1_54_KEY_POWER
+ 2151022602
+ name 1_54_KEY_CH_UP
+ 2151022607
+ name 1_54_KEY_CH_DOWN
+ 2151022608
+ name 1_54_KEY_VOL_DOWN
+ 2151022610
+ name 1_54_KEY_VOL_UP
+ 2151022612
+ name 1_54_KEY_CKU
+ 2151022632
+ name 1_54_KEY_ENTER
+ 2151022635
+ name 0_55_KEY_0
+ 3604480
+ name 0_55_KEY_1
+ 3604481
+ name 0_55_KEY_2
+ 3604482
+ name 0_55_KEY_3
+ 3604483
+ name 0_55_KEY_4
+ 3604484
+ name 0_55_KEY_5
+ 3604485
+ name 0_55_KEY_6
+ 3604486
+ name 0_55_KEY_7
+ 3604487
+ name 0_55_KEY_8
+ 3604488
+ name 0_55_KEY_9
+ 3604489
+ name 0_55_KEY_POWER
+ 3604490
+ name 0_55_KEY_CH_UP
+ 3604495
+ name 0_55_KEY_CH_DOWN
+ 3604496
+ name 0_55_CH_PREVIOUS
+ 3604499
+ name 0_55_KEY_ENTER
+ 3604523
+ name 1_55_KEY_0
+ 2151088128
+ name 1_55_KEY_1
+ 2151088129
+ name 1_55_KEY_2
+ 2151088130
+ name 1_55_KEY_3
+ 2151088131
+ name 1_55_KEY_4
+ 2151088132
+ name 1_55_KEY_5
+ 2151088133
+ name 1_55_KEY_6
+ 2151088134
+ name 1_55_KEY_7
+ 2151088135
+ name 1_55_KEY_8
+ 2151088136
+ name 1_55_KEY_9
+ 2151088137
+ name 1_55_KEY_POWER
+ 2151088138
+ name 1_55_KEY_CH_UP
+ 2151088143
+ name 1_55_KEY_CH_DOWN
+ 2151088144
+ name 1_55_KEY_MUTE
+ 2151088145
+ name 1_55_KEY_VOL_DOWN
+ 2151088146
+ name 1_55_KEY_VOL_UP
+ 2151088148
+ name 1_55_KEY_DISPLAY
+ 2151088149
+ name 1_55_KEY_CKU
+ 2151088168
+ name 1_55_KEY_SAT
+ 2151088170
+ name 1_55_KEY_ENTER
+ 2151088171
+ name 0_56_KEY_0
+ 3670016
+ name 0_56_KEY_1
+ 3670017
+ name 0_56_KEY_2
+ 3670018
+ name 0_56_KEY_3
+ 3670019
+ name 0_56_KEY_4
+ 3670020
+ name 0_56_KEY_5
+ 3670021
+ name 0_56_KEY_6
+ 3670022
+ name 0_56_KEY_7
+ 3670023
+ name 0_56_KEY_8
+ 3670024
+ name 0_56_KEY_9
+ 3670025
+ name 0_56_KEY_POWER
+ 3670026
+ name 0_56_KEY_CH_UP
+ 3670031
+ name 0_56_KEY_CH_DOWN
+ 3670032
+ name 0_56_CH_PREVIOUS
+ 3670035
+ name 0_56_KEY_ENTER
+ 3670059
+ name 1_56_KEY_0
+ 2151153664
+ name 1_56_KEY_1
+ 2151153665
+ name 1_56_KEY_2
+ 2151153666
+ name 1_56_KEY_3
+ 2151153667
+ name 1_56_KEY_4
+ 2151153668
+ name 1_56_KEY_5
+ 2151153669
+ name 1_56_KEY_6
+ 2151153670
+ name 1_56_KEY_7
+ 2151153671
+ name 1_56_KEY_8
+ 2151153672
+ name 1_56_KEY_9
+ 2151153673
+ name 1_56_KEY_POWER
+ 2151153674
+ name 1_56_KEY_CH_UP
+ 2151153679
+ name 1_56_KEY_CH_DOWN
+ 2151153680
+ name 1_56_KEY_VOL_DOWN
+ 2151153682
+ name 1_56_KEY_VOL_UP
+ 2151153684
+ name 0_57_KEY_0
+ 3735552
+ name 0_57_KEY_1
+ 3735553
+ name 0_57_KEY_2
+ 3735554
+ name 0_57_KEY_3
+ 3735555
+ name 0_57_KEY_4
+ 3735556
+ name 0_57_KEY_5
+ 3735557
+ name 0_57_KEY_6
+ 3735558
+ name 0_57_KEY_7
+ 3735559
+ name 0_57_KEY_8
+ 3735560
+ name 0_57_KEY_9
+ 3735561
+ name 0_57_KEY_POWER
+ 3735562
+ name 0_57_KEY_CH_UP
+ 3735567
+ name 0_57_KEY_CH_DOWN
+ 3735568
+ name 0_57_CH_PREVIOUS
+ 3735571
+ name 0_57_KEY_ENTER
+ 3735595
+ name 1_57_KEY_0
+ 2151219200
+ name 1_57_KEY_1
+ 2151219201
+ name 1_57_KEY_2
+ 2151219202
+ name 1_57_KEY_3
+ 2151219203
+ name 1_57_KEY_4
+ 2151219204
+ name 1_57_KEY_5
+ 2151219205
+ name 1_57_KEY_6
+ 2151219206
+ name 1_57_KEY_7
+ 2151219207
+ name 1_57_KEY_8
+ 2151219208
+ name 1_57_KEY_9
+ 2151219209
+ name 1_57_KEY_POWER
+ 2151219210
+ name 1_57_KEY_CH_UP
+ 2151219215
+ name 1_57_KEY_CH_DOWN
+ 2151219216
+ name 1_57_KEY_VOL_DOWN
+ 2151219218
+ name 1_57_KEY_VOL_UP
+ 2151219220
+ name 1_57_KEY_DISPLAY
+ 2151219221
+ name 1_57_KEY_FAV
+ 2151219229
+ name 1_57_KEY_CKU
+ 2151219240
+ name 1_57_KEY_ENTER
+ 2151219243
+ name 0_58_KEY_0
+ 3801088
+ name 0_58_KEY_1
+ 3801089
+ name 0_58_KEY_2
+ 3801090
+ name 0_58_KEY_3
+ 3801091
+ name 0_58_KEY_4
+ 3801092
+ name 0_58_KEY_5
+ 3801093
+ name 0_58_KEY_6
+ 3801094
+ name 0_58_KEY_7
+ 3801095
+ name 0_58_KEY_8
+ 3801096
+ name 0_58_KEY_9
+ 3801097
+ name 0_58_KEY_POWER
+ 3801098
+ name 0_58_KEY_CH_UP
+ 3801103
+ name 0_58_KEY_CH_DOWN
+ 3801104
+ name 0_58_CH_PREVIOUS
+ 3801107
+ name 0_58_KEY_ENTER
+ 3801131
+ name 1_58_KEY_0
+ 2151284736
+ name 1_58_KEY_1
+ 2151284737
+ name 1_58_KEY_2
+ 2151284738
+ name 1_58_KEY_3
+ 2151284739
+ name 1_58_KEY_4
+ 2151284740
+ name 1_58_KEY_5
+ 2151284741
+ name 1_58_KEY_6
+ 2151284742
+ name 1_58_KEY_7
+ 2151284743
+ name 1_58_KEY_8
+ 2151284744
+ name 1_58_KEY_9
+ 2151284745
+ name 1_58_KEY_POWER
+ 2151284746
+ name 1_58_KEY_CH_UP
+ 2151284751
+ name 1_58_KEY_CH_DOWN
+ 2151284752
+ name 1_58_KEY_MUTE
+ 2151284753
+ name 1_58_KEY_VOL_DOWN
+ 2151284754
+ name 1_58_CH_PREVIOUS
+ 2151284755
+ name 1_58_KEY_VOL_UP
+ 2151284756
+ name 1_58_KEY_ENTER
+ 2151284779
+ name 1_58_KEY_MENU
+ 2151284783
+ name 1_58_KEY_MUP
+ 2151284784
+ name 1_58_KEY_MDOWN
+ 2151284785
+ name 1_58_KEY_MLEFT
+ 2151284786
+ name 1_58_KEY_MRIGHT
+ 2151284787
+ name 0_59_KEY_0
+ 3866624
+ name 0_59_KEY_1
+ 3866625
+ name 0_59_KEY_2
+ 3866626
+ name 0_59_KEY_3
+ 3866627
+ name 0_59_KEY_4
+ 3866628
+ name 0_59_KEY_5
+ 3866629
+ name 0_59_KEY_6
+ 3866630
+ name 0_59_KEY_7
+ 3866631
+ name 0_59_KEY_8
+ 3866632
+ name 0_59_KEY_9
+ 3866633
+ name 0_59_KEY_POWER
+ 3866634
+ name 0_59_KEY_CH_UP
+ 3866639
+ name 0_59_KEY_CH_DOWN
+ 3866640
+ name 0_59_CH_PREVIOUS
+ 3866643
+ name 0_59_KEY_ENTER
+ 3866667
+ name 1_59_KEY_0
+ 2151350272
+ name 1_59_KEY_1
+ 2151350273
+ name 1_59_KEY_2
+ 2151350274
+ name 1_59_KEY_3
+ 2151350275
+ name 1_59_KEY_4
+ 2151350276
+ name 1_59_KEY_5
+ 2151350277
+ name 1_59_KEY_6
+ 2151350278
+ name 1_59_KEY_7
+ 2151350279
+ name 1_59_KEY_8
+ 2151350280
+ name 1_59_KEY_9
+ 2151350281
+ name 1_59_KEY_POWER
+ 2151350282
+ name 1_59_KEY_CH_UP
+ 2151350287
+ name 1_59_KEY_CH_DOWN
+ 2151350288
+ name 1_59_KEY_VOL_DOWN
+ 2151350290
+ name 1_59_CH_PREVIOUS
+ 2151350291
+ name 1_59_KEY_VOL_UP
+ 2151350292
+ name 1_59_KEY_SELECT
+ 2151350302
+ name 1_59_KEY_ENTER
+ 2151350315
+ name 0_60_KEY_0
+ 3932160
+ name 0_60_KEY_1
+ 3932161
+ name 0_60_KEY_2
+ 3932162
+ name 0_60_KEY_3
+ 3932163
+ name 0_60_KEY_4
+ 3932164
+ name 0_60_KEY_5
+ 3932165
+ name 0_60_KEY_6
+ 3932166
+ name 0_60_KEY_7
+ 3932167
+ name 0_60_KEY_8
+ 3932168
+ name 0_60_KEY_9
+ 3932169
+ name 0_60_KEY_POWER
+ 3932170
+ name 0_60_KEY_CH_UP
+ 3932175
+ name 0_60_KEY_CH_DOWN
+ 3932176
+ name 1_60_KEY_0
+ 2151415808
+ name 1_60_KEY_1
+ 2151415809
+ name 1_60_KEY_2
+ 2151415810
+ name 1_60_KEY_3
+ 2151415811
+ name 1_60_KEY_4
+ 2151415812
+ name 1_60_KEY_5
+ 2151415813
+ name 1_60_KEY_6
+ 2151415814
+ name 1_60_KEY_7
+ 2151415815
+ name 1_60_KEY_8
+ 2151415816
+ name 1_60_KEY_9
+ 2151415817
+ name 1_60_KEY_POWER
+ 2151415818
+ name 1_60_KEY_CH_UP
+ 2151415823
+ name 1_60_KEY_CH_DOWN
+ 2151415824
+ name 1_60_KEY_MUTE
+ 2151415825
+ name 1_60_KEY_VOL_DOWN
+ 2151415826
+ name 1_60_KEY_VOL_UP
+ 2151415828
+ name 1_60_KEY_EXIT
+ 2151415832
+ name 1_60_KEY_CKU
+ 2151415848
+ name 1_60_KEY_ENTER
+ 2151415851
+ name 1_60_KEY_MENU
+ 2151415855
+ name 1_60_KEY_MUP
+ 2151415856
+ name 1_60_KEY_MDOWN
+ 2151415857
+ name 1_60_KEY_MLEFT
+ 2151415858
+ name 1_60_KEY_MRIGHT
+ 2151415859
+ name 1_60_KEY_Help
+ 2151415872
+ name 1_60_KEY_Setup
+ 2151415873
+ name 0_61_KEY_0
+ 3997696
+ name 0_61_KEY_1
+ 3997697
+ name 0_61_KEY_2
+ 3997698
+ name 0_61_KEY_3
+ 3997699
+ name 0_61_KEY_4
+ 3997700
+ name 0_61_KEY_5
+ 3997701
+ name 0_61_KEY_6
+ 3997702
+ name 0_61_KEY_7
+ 3997703
+ name 0_61_KEY_8
+ 3997704
+ name 0_61_KEY_9
+ 3997705
+ name 0_61_KEY_POWER
+ 3997706
+ name 0_61_KEY_CH_UP
+ 3997711
+ name 0_61_KEY_CH_DOWN
+ 3997712
+ name 0_61_CH_PREVIOUS
+ 3997715
+ name 0_61_KEY_ENTER
+ 3997739
+ name 1_61_KEY_0
+ 2151481344
+ name 1_61_KEY_1
+ 2151481345
+ name 1_61_KEY_2
+ 2151481346
+ name 1_61_KEY_3
+ 2151481347
+ name 1_61_KEY_4
+ 2151481348
+ name 1_61_KEY_5
+ 2151481349
+ name 1_61_KEY_6
+ 2151481350
+ name 1_61_KEY_7
+ 2151481351
+ name 1_61_KEY_8
+ 2151481352
+ name 1_61_KEY_9
+ 2151481353
+ name 1_61_KEY_POWER
+ 2151481354
+ name 1_61_KEY_CH_UP
+ 2151481359
+ name 1_61_KEY_CH_DOWN
+ 2151481360
+ name 1_61_KEY_MUTE
+ 2151481361
+ name 1_61_KEY_VOL_DOWN
+ 2151481362
+ name 1_61_KEY_VOL_UP
+ 2151481364
+ name 1_61_KEY_DISPLAY
+ 2151481365
+ name 1_61_KEY_FAV
+ 2151481373
+ name 1_61_KEY_CKU
+ 2151481384
+ name 1_61_KEY_ENTER
+ 2151481387
+ name 0_62_KEY_0
+ 4063232
+ name 0_62_KEY_1
+ 4063233
+ name 0_62_KEY_2
+ 4063234
+ name 0_62_KEY_3
+ 4063235
+ name 0_62_KEY_4
+ 4063236
+ name 0_62_KEY_5
+ 4063237
+ name 0_62_KEY_6
+ 4063238
+ name 0_62_KEY_7
+ 4063239
+ name 0_62_KEY_8
+ 4063240
+ name 0_62_KEY_9
+ 4063241
+ name 0_62_KEY_POWER
+ 4063242
+ name 0_62_KEY_CH_UP
+ 4063247
+ name 0_62_KEY_CH_DOWN
+ 4063248
+ name 0_62_CH_PREVIOUS
+ 4063251
+ name 0_62_KEY_ENTER
+ 4063275
+ name 1_62_KEY_0
+ 2151546880
+ name 1_62_KEY_1
+ 2151546881
+ name 1_62_KEY_2
+ 2151546882
+ name 1_62_KEY_3
+ 2151546883
+ name 1_62_KEY_4
+ 2151546884
+ name 1_62_KEY_5
+ 2151546885
+ name 1_62_KEY_6
+ 2151546886
+ name 1_62_KEY_7
+ 2151546887
+ name 1_62_KEY_8
+ 2151546888
+ name 1_62_KEY_9
+ 2151546889
+ name 1_62_KEY_POWER
+ 2151546890
+ name 1_62_KEY_MUTE
+ 2151546897
+ name 1_62_KEY_VOL_DOWN
+ 2151546898
+ name 1_62_KEY_VOL_UP
+ 2151546900
+ name 1_62_KEY_FAV
+ 2151546909
+ name 1_62_KEY_SELECT
+ 2151546910
+ name 1_62_KEY_SAT
+ 2151546922
+ name 0_63_KEY_0
+ 4128768
+ name 0_63_KEY_1
+ 4128769
+ name 0_63_KEY_2
+ 4128770
+ name 0_63_KEY_3
+ 4128771
+ name 0_63_KEY_4
+ 4128772
+ name 0_63_KEY_5
+ 4128773
+ name 0_63_KEY_6
+ 4128774
+ name 0_63_KEY_7
+ 4128775
+ name 0_63_KEY_8
+ 4128776
+ name 0_63_KEY_9
+ 4128777
+ name 0_63_KEY_POWER
+ 4128778
+ name 0_63_KEY_CH_UP
+ 4128783
+ name 0_63_KEY_CH_DOWN
+ 4128784
+ name 0_63_CH_PREVIOUS
+ 4128787
+ name 0_63_KEY_ENTER
+ 4128811
+ name 1_63_KEY_POWER
+ 2151612426
+ name 1_63_KEY_CH_UP
+ 2151612431
+ name 1_63_KEY_CH_DOWN
+ 2151612432
+ name 1_63_KEY_VOL_DOWN
+ 2151612434
+ name 1_63_CH_PREVIOUS
+ 2151612435
+ name 1_63_KEY_VOL_UP
+ 2151612436
+ name 0_64_KEY_0
+ 4194304
+ name 0_64_KEY_1
+ 4194305
+ name 0_64_KEY_2
+ 4194306
+ name 0_64_KEY_3
+ 4194307
+ name 0_64_KEY_4
+ 4194308
+ name 0_64_KEY_5
+ 4194309
+ name 0_64_KEY_6
+ 4194310
+ name 0_64_KEY_7
+ 4194311
+ name 0_64_KEY_8
+ 4194312
+ name 0_64_KEY_9
+ 4194313
+ name 0_64_KEY_POWER
+ 4194314
+ name 0_64_KEY_CH_UP
+ 4194319
+ name 0_64_KEY_CH_DOWN
+ 4194320
+ name 0_64_CH_PREVIOUS
+ 4194323
+ name 0_64_KEY_ENTER
+ 4194347
+ name 1_64_KEY_POWER
+ 2151677962
+ name 1_64_KEY_CH_UP
+ 2151677967
+ name 1_64_KEY_CH_DOWN
+ 2151677968
+ name 1_64_KEY_MUTE
+ 2151677969
+ name 1_64_KEY_VOL_DOWN
+ 2151677970
+ name 1_64_KEY_VOL_UP
+ 2151677972
+ name 1_64_KEY_ENTER
+ 2151677995
+ name 0_65_KEY_0
+ 4259840
+ name 0_65_KEY_1
+ 4259841
+ name 0_65_KEY_2
+ 4259842
+ name 0_65_KEY_3
+ 4259843
+ name 0_65_KEY_4
+ 4259844
+ name 0_65_KEY_5
+ 4259845
+ name 0_65_KEY_6
+ 4259846
+ name 0_65_KEY_7
+ 4259847
+ name 0_65_KEY_8
+ 4259848
+ name 0_65_KEY_9
+ 4259849
+ name 0_65_KEY_POWER
+ 4259850
+ name 0_65_KEY_CH_UP
+ 4259855
+ name 0_65_KEY_CH_DOWN
+ 4259856
+ name 0_65_CH_PREVIOUS
+ 4259859
+ name 0_65_KEY_ENTER
+ 4259883
+ name 1_65_KEY_0
+ 2151743488
+ name 1_65_KEY_1
+ 2151743489
+ name 1_65_KEY_2
+ 2151743490
+ name 1_65_KEY_3
+ 2151743491
+ name 1_65_KEY_4
+ 2151743492
+ name 1_65_KEY_5
+ 2151743493
+ name 1_65_KEY_6
+ 2151743494
+ name 1_65_KEY_7
+ 2151743495
+ name 1_65_KEY_8
+ 2151743496
+ name 1_65_KEY_9
+ 2151743497
+ name 1_65_KEY_POWER
+ 2151743498
+ name 1_65_KEY_CH_UP
+ 2151743503
+ name 1_65_KEY_CH_DOWN
+ 2151743504
+ name 1_65_KEY_MUTE
+ 2151743505
+ name 1_65_KEY_VOL_DOWN
+ 2151743506
+ name 1_65_KEY_VOL_UP
+ 2151743508
+ name 1_65_KEY_CKU
+ 2151743528
+ name 1_65_KEY_SAT
+ 2151743530
+ name 0_66_KEY_0
+ 4325376
+ name 0_66_KEY_1
+ 4325377
+ name 0_66_KEY_2
+ 4325378
+ name 0_66_KEY_3
+ 4325379
+ name 0_66_KEY_4
+ 4325380
+ name 0_66_KEY_5
+ 4325381
+ name 0_66_KEY_6
+ 4325382
+ name 0_66_KEY_7
+ 4325383
+ name 0_66_KEY_8
+ 4325384
+ name 0_66_KEY_9
+ 4325385
+ name 0_66_KEY_POWER
+ 4325386
+ name 0_66_KEY_CH_UP
+ 4325391
+ name 0_66_KEY_CH_DOWN
+ 4325392
+ name 0_66_KEY_ENTER
+ 4325419
+ name 1_66_KEY_0
+ 2151809024
+ name 1_66_KEY_1
+ 2151809025
+ name 1_66_KEY_2
+ 2151809026
+ name 1_66_KEY_3
+ 2151809027
+ name 1_66_KEY_4
+ 2151809028
+ name 1_66_KEY_5
+ 2151809029
+ name 1_66_KEY_6
+ 2151809030
+ name 1_66_KEY_7
+ 2151809031
+ name 1_66_KEY_8
+ 2151809032
+ name 1_66_KEY_9
+ 2151809033
+ name 1_66_KEY_POWER
+ 2151809034
+ name 1_66_KEY_CH_UP
+ 2151809039
+ name 1_66_KEY_CH_DOWN
+ 2151809040
+ name 1_66_KEY_MUTE
+ 2151809041
+ name 1_66_KEY_VOL_DOWN
+ 2151809042
+ name 1_66_KEY_VOL_UP
+ 2151809044
+ name 1_66_KEY_EXIT
+ 2151809048
+ name 1_66_KEY_FAV
+ 2151809053
+ name 1_66_KEY_C
+ 2151809063
+ name 1_66_KEY_SAT
+ 2151809066
+ name 1_66_KEY_ENTER
+ 2151809067
+ name 1_66_KEY_MENU
+ 2151809071
+ name 1_66_KEY_MUP
+ 2151809072
+ name 1_66_KEY_MDOWN
+ 2151809073
+ name 1_66_KEY_MLEFT
+ 2151809074
+ name 1_66_KEY_MRIGHT
+ 2151809075
+ name 1_66_KEY_Help
+ 2151809088
+ name 1_66_KEY_Setup
+ 2151809089
+ name 0_67_KEY_0
+ 4390912
+ name 0_67_KEY_1
+ 4390913
+ name 0_67_KEY_2
+ 4390914
+ name 0_67_KEY_3
+ 4390915
+ name 0_67_KEY_4
+ 4390916
+ name 0_67_KEY_5
+ 4390917
+ name 0_67_KEY_6
+ 4390918
+ name 0_67_KEY_7
+ 4390919
+ name 0_67_KEY_8
+ 4390920
+ name 0_67_KEY_9
+ 4390921
+ name 0_67_KEY_POWER
+ 4390922
+ name 0_67_KEY_CH_UP
+ 4390927
+ name 0_67_KEY_CH_DOWN
+ 4390928
+ name 0_67_CH_PREVIOUS
+ 4390931
+ name 0_67_KEY_ENTER
+ 4390955
+ name 1_67_KEY_0
+ 2151874560
+ name 1_67_KEY_1
+ 2151874561
+ name 1_67_KEY_2
+ 2151874562
+ name 1_67_KEY_3
+ 2151874563
+ name 1_67_KEY_4
+ 2151874564
+ name 1_67_KEY_5
+ 2151874565
+ name 1_67_KEY_6
+ 2151874566
+ name 1_67_KEY_7
+ 2151874567
+ name 1_67_KEY_8
+ 2151874568
+ name 1_67_KEY_9
+ 2151874569
+ name 1_67_KEY_POWER
+ 2151874570
+ name 1_67_KEY_CH_UP
+ 2151874575
+ name 1_67_KEY_CH_DOWN
+ 2151874576
+ name 1_67_CH_PREVIOUS
+ 2151874579
+ name 1_67_KEY_EXIT
+ 2151874584
+ name 1_67_KEY_GUIDE
+ 2151874587
+ name 1_67_KEY_FAV
+ 2151874589
+ name 1_67_KEY_SELECT
+ 2151874590
+ name 1_67_KEY_MENU
+ 2151874607
+ name 1_67_KEY_MUP
+ 2151874608
+ name 1_67_KEY_MDOWN
+ 2151874609
+ name 1_67_KEY_MLEFT
+ 2151874610
+ name 1_67_KEY_MRIGHT
+ 2151874611
+ name 0_68_KEY_0
+ 4456448
+ name 0_68_KEY_1
+ 4456449
+ name 0_68_KEY_2
+ 4456450
+ name 0_68_KEY_3
+ 4456451
+ name 0_68_KEY_4
+ 4456452
+ name 0_68_KEY_5
+ 4456453
+ name 0_68_KEY_6
+ 4456454
+ name 0_68_KEY_7
+ 4456455
+ name 0_68_KEY_8
+ 4456456
+ name 0_68_KEY_9
+ 4456457
+ name 0_68_KEY_POWER
+ 4456458
+ name 0_68_KEY_CH_UP
+ 4456463
+ name 0_68_KEY_CH_DOWN
+ 4456464
+ name 0_68_KEY_ENTER
+ 4456491
+ name 1_68_KEY_0
+ 2151940096
+ name 1_68_KEY_1
+ 2151940097
+ name 1_68_KEY_2
+ 2151940098
+ name 1_68_KEY_3
+ 2151940099
+ name 1_68_KEY_4
+ 2151940100
+ name 1_68_KEY_5
+ 2151940101
+ name 1_68_KEY_6
+ 2151940102
+ name 1_68_KEY_7
+ 2151940103
+ name 1_68_KEY_8
+ 2151940104
+ name 1_68_KEY_9
+ 2151940105
+ name 1_68_KEY_POWER
+ 2151940106
+ name 1_68_KEY_CH_UP
+ 2151940111
+ name 1_68_KEY_CH_DOWN
+ 2151940112
+ name 1_68_KEY_VOL_DOWN
+ 2151940114
+ name 1_68_KEY_VOL_UP
+ 2151940116
+ name 1_68_KEY_DISPLAY
+ 2151940117
+ name 1_68_KEY_FAV
+ 2151940125
+ name 1_68_KEY_CKU
+ 2151940136
+ name 1_68_KEY_ENTER
+ 2151940139
+ name 0_69_KEY_0
+ 4521984
+ name 0_69_KEY_1
+ 4521985
+ name 0_69_KEY_2
+ 4521986
+ name 0_69_KEY_3
+ 4521987
+ name 0_69_KEY_4
+ 4521988
+ name 0_69_KEY_5
+ 4521989
+ name 0_69_KEY_6
+ 4521990
+ name 0_69_KEY_7
+ 4521991
+ name 0_69_KEY_8
+ 4521992
+ name 0_69_KEY_9
+ 4521993
+ name 0_69_KEY_POWER
+ 4521994
+ name 0_69_KEY_CH_UP
+ 4521999
+ name 0_69_KEY_CH_DOWN
+ 4522000
+ name 0_69_CH_PREVIOUS
+ 4522003
+ name 0_69_KEY_ENTER
+ 4522027
+ name 1_69_KEY_0
+ 2152005632
+ name 1_69_KEY_1
+ 2152005633
+ name 1_69_KEY_2
+ 2152005634
+ name 1_69_KEY_3
+ 2152005635
+ name 1_69_KEY_4
+ 2152005636
+ name 1_69_KEY_5
+ 2152005637
+ name 1_69_KEY_6
+ 2152005638
+ name 1_69_KEY_7
+ 2152005639
+ name 1_69_KEY_8
+ 2152005640
+ name 1_69_KEY_9
+ 2152005641
+ name 1_69_KEY_POWER
+ 2152005642
+ name 1_69_KEY_CH_UP
+ 2152005647
+ name 1_69_KEY_CH_DOWN
+ 2152005648
+ name 1_69_KEY_MUTE
+ 2152005649
+ name 1_69_KEY_VOL_DOWN
+ 2152005650
+ name 1_69_KEY_VOL_UP
+ 2152005652
+ name 1_69_KEY_EXIT
+ 2152005656
+ name 1_69_KEY_FAV
+ 2152005661
+ name 1_69_KEY_C
+ 2152005671
+ name 1_69_KEY_ENTER
+ 2152005675
+ name 1_69_KEY_MUP
+ 2152005680
+ name 1_69_KEY_MDOWN
+ 2152005681
+ name 1_69_KEY_MLEFT
+ 2152005682
+ name 1_69_KEY_MRIGHT
+ 2152005683
+ name 1_69_KEY_Help
+ 2152005696
+ name 1_69_KEY_Setup
+ 2152005697
+ name 0_70_KEY_0
+ 4587520
+ name 0_70_KEY_1
+ 4587521
+ name 0_70_KEY_2
+ 4587522
+ name 0_70_KEY_3
+ 4587523
+ name 0_70_KEY_4
+ 4587524
+ name 0_70_KEY_5
+ 4587525
+ name 0_70_KEY_6
+ 4587526
+ name 0_70_KEY_7
+ 4587527
+ name 0_70_KEY_8
+ 4587528
+ name 0_70_KEY_9
+ 4587529
+ name 0_70_KEY_POWER
+ 4587530
+ name 0_70_KEY_CH_UP
+ 4587535
+ name 0_70_KEY_CH_DOWN
+ 4587536
+ name 0_70_KEY_ENTER
+ 4587563
+ name 1_70_KEY_0
+ 2152071168
+ name 1_70_KEY_1
+ 2152071169
+ name 1_70_KEY_2
+ 2152071170
+ name 1_70_KEY_3
+ 2152071171
+ name 1_70_KEY_4
+ 2152071172
+ name 1_70_KEY_5
+ 2152071173
+ name 1_70_KEY_6
+ 2152071174
+ name 1_70_KEY_7
+ 2152071175
+ name 1_70_KEY_8
+ 2152071176
+ name 1_70_KEY_9
+ 2152071177
+ name 1_70_KEY_POWER
+ 2152071178
+ name 1_70_KEY_CH_UP
+ 2152071183
+ name 1_70_KEY_CH_DOWN
+ 2152071184
+ name 1_70_KEY_VOL_DOWN
+ 2152071186
+ name 1_70_KEY_VOL_UP
+ 2152071188
+ name 1_70_KEY_DISPLAY
+ 2152071189
+ name 1_70_KEY_CKU
+ 2152071208
+ name 1_70_KEY_SAT
+ 2152071210
+ name 0_71_KEY_0
+ 4653056
+ name 0_71_KEY_1
+ 4653057
+ name 0_71_KEY_2
+ 4653058
+ name 0_71_KEY_3
+ 4653059
+ name 0_71_KEY_4
+ 4653060
+ name 0_71_KEY_5
+ 4653061
+ name 0_71_KEY_6
+ 4653062
+ name 0_71_KEY_7
+ 4653063
+ name 0_71_KEY_8
+ 4653064
+ name 0_71_KEY_9
+ 4653065
+ name 0_71_KEY_POWER
+ 4653066
+ name 0_71_KEY_CH_UP
+ 4653071
+ name 0_71_KEY_CH_DOWN
+ 4653072
+ name 0_71_KEY_MUTE
+ 4653073
+ name 0_71_KEY_VOL_DOWN
+ 4653074
+ name 0_71_KEY_VOL_UP
+ 4653076
+ name 1_71_KEY_0
+ 2152136704
+ name 1_71_KEY_1
+ 2152136705
+ name 1_71_KEY_2
+ 2152136706
+ name 1_71_KEY_3
+ 2152136707
+ name 1_71_KEY_4
+ 2152136708
+ name 1_71_KEY_5
+ 2152136709
+ name 1_71_KEY_6
+ 2152136710
+ name 1_71_KEY_7
+ 2152136711
+ name 1_71_KEY_8
+ 2152136712
+ name 1_71_KEY_9
+ 2152136713
+ name 1_71_KEY_POWER
+ 2152136714
+ name 1_71_KEY_MUTE
+ 2152136721
+ name 1_71_KEY_VOL_DOWN
+ 2152136722
+ name 1_71_KEY_VOL_UP
+ 2152136724
+ name 1_71_KEY_CKU
+ 2152136744
+ name 0_72_KEY_0
+ 4718592
+ name 0_72_KEY_1
+ 4718593
+ name 0_72_KEY_2
+ 4718594
+ name 0_72_KEY_3
+ 4718595
+ name 0_72_KEY_4
+ 4718596
+ name 0_72_KEY_5
+ 4718597
+ name 0_72_KEY_6
+ 4718598
+ name 0_72_KEY_7
+ 4718599
+ name 0_72_KEY_8
+ 4718600
+ name 0_72_KEY_9
+ 4718601
+ name 0_72_KEY_POWER
+ 4718602
+ name 0_72_KEY_CH_UP
+ 4718607
+ name 0_72_KEY_CH_DOWN
+ 4718608
+ name 0_72_KEY_MUTE
+ 4718609
+ name 0_72_KEY_VOL_DOWN
+ 4718610
+ name 0_72_CH_PREVIOUS
+ 4718611
+ name 0_72_KEY_VOL_UP
+ 4718612
+ name 0_72_KEY_DISPLAY
+ 4718613
+ name 0_72_KEY_EXIT
+ 4718616
+ name 0_72_KEY_INPUT
+ 4718618
+ name 0_72_KEY_GUIDE
+ 4718619
+ name 0_72_KEY_FAV
+ 4718621
+ name 0_72_KEY_ENTER
+ 4718635
+ name 0_72_KEY_MENU
+ 4718639
+ name 0_72_KEY_MUP
+ 4718640
+ name 0_72_KEY_MDOWN
+ 4718641
+ name 0_72_KEY_MLEFT
+ 4718642
+ name 0_72_KEY_MRIGHT
+ 4718643
+ name 0_72_KEY_FF
+ 4718644
+ name 0_72_KEY_PLAY
+ 4718645
+ name 0_72_KEY_REW
+ 4718646
+ name 0_72_KEY_REC
+ 4718647
+ name 0_72_KEY_PAUSE
+ 4718648
+ name 0_72_KEY_STOP
+ 4718649
+ name 1_72_KEY_0
+ 2152202240
+ name 1_72_KEY_1
+ 2152202241
+ name 1_72_KEY_2
+ 2152202242
+ name 1_72_KEY_3
+ 2152202243
+ name 1_72_KEY_4
+ 2152202244
+ name 1_72_KEY_5
+ 2152202245
+ name 1_72_KEY_6
+ 2152202246
+ name 1_72_KEY_7
+ 2152202247
+ name 1_72_KEY_8
+ 2152202248
+ name 1_72_KEY_9
+ 2152202249
+ name 1_72_KEY_POWER
+ 2152202250
+ name 1_72_KEY_CH_UP
+ 2152202255
+ name 1_72_KEY_CH_DOWN
+ 2152202256
+ name 1_72_KEY_MUTE
+ 2152202257
+ name 1_72_KEY_VOL_DOWN
+ 2152202258
+ name 1_72_KEY_VOL_UP
+ 2152202260
+ name 1_72_KEY_DISPLAY
+ 2152202261
+ name 1_72_KEY_FAV
+ 2152202269
+ name 1_72_KEY_CKU
+ 2152202280
+ name 1_72_KEY_ENTER
+ 2152202283
+ name 0_73_KEY_0
+ 4784128
+ name 0_73_KEY_1
+ 4784129
+ name 0_73_KEY_2
+ 4784130
+ name 0_73_KEY_3
+ 4784131
+ name 0_73_KEY_4
+ 4784132
+ name 0_73_KEY_5
+ 4784133
+ name 0_73_KEY_6
+ 4784134
+ name 0_73_KEY_7
+ 4784135
+ name 0_73_KEY_8
+ 4784136
+ name 0_73_KEY_9
+ 4784137
+ name 0_73_KEY_POWER
+ 4784138
+ name 0_73_KEY_CH_UP
+ 4784143
+ name 0_73_KEY_CH_DOWN
+ 4784144
+ name 0_73_KEY_MUTE
+ 4784145
+ name 0_73_KEY_VOL_DOWN
+ 4784146
+ name 0_73_KEY_VOL_UP
+ 4784148
+ name 0_73_KEY_DISPLAY
+ 4784149
+ name 0_73_KEY_MNSELECT
+ 4784151
+ name 0_73_KEY_GUIDE
+ 4784155
+ name 0_73_KEY_FAV
+ 4784157
+ name 0_73_KEY_ENTER
+ 4784171
+ name 0_73_KEY_MENU
+ 4784175
+ name 0_73_KEY_MUP
+ 4784176
+ name 0_73_KEY_MDOWN
+ 4784177
+ name 0_73_KEY_MLEFT
+ 4784178
+ name 0_73_KEY_MRIGHT
+ 4784179
+ name 1_73_KEY_0
+ 2152267776
+ name 1_73_KEY_1
+ 2152267777
+ name 1_73_KEY_2
+ 2152267778
+ name 1_73_KEY_3
+ 2152267779
+ name 1_73_KEY_4
+ 2152267780
+ name 1_73_KEY_5
+ 2152267781
+ name 1_73_KEY_6
+ 2152267782
+ name 1_73_KEY_7
+ 2152267783
+ name 1_73_KEY_8
+ 2152267784
+ name 1_73_KEY_9
+ 2152267785
+ name 1_73_KEY_POWER
+ 2152267786
+ name 1_73_KEY_CH_UP
+ 2152267791
+ name 1_73_KEY_CH_DOWN
+ 2152267792
+ name 1_73_KEY_FAV
+ 2152267805
+ name 0_74_KEY_0
+ 4849664
+ name 0_74_KEY_1
+ 4849665
+ name 0_74_KEY_2
+ 4849666
+ name 0_74_KEY_3
+ 4849667
+ name 0_74_KEY_4
+ 4849668
+ name 0_74_KEY_5
+ 4849669
+ name 0_74_KEY_6
+ 4849670
+ name 0_74_KEY_7
+ 4849671
+ name 0_74_KEY_8
+ 4849672
+ name 0_74_KEY_9
+ 4849673
+ name 0_74_KEY_POWER
+ 4849674
+ name 0_74_KEY_CH_UP
+ 4849679
+ name 0_74_KEY_CH_DOWN
+ 4849680
+ name 0_74_KEY_MUTE
+ 4849681
+ name 0_74_KEY_VOL_DOWN
+ 4849682
+ name 0_74_KEY_VOL_UP
+ 4849684
+ name 0_74_KEY_MENU
+ 4849711
+ name 0_74_KEY_MUP
+ 4849712
+ name 0_74_KEY_MDOWN
+ 4849713
+ name 0_74_KEY_MLEFT
+ 4849714
+ name 0_74_KEY_MRIGHT
+ 4849715
+ name 1_74_KEY_0
+ 2152333312
+ name 1_74_KEY_1
+ 2152333313
+ name 1_74_KEY_2
+ 2152333314
+ name 1_74_KEY_3
+ 2152333315
+ name 1_74_KEY_4
+ 2152333316
+ name 1_74_KEY_5
+ 2152333317
+ name 1_74_KEY_6
+ 2152333318
+ name 1_74_KEY_7
+ 2152333319
+ name 1_74_KEY_8
+ 2152333320
+ name 1_74_KEY_9
+ 2152333321
+ name 1_74_KEY_POWER
+ 2152333322
+ name 1_74_KEY_CH_UP
+ 2152333327
+ name 1_74_KEY_CH_DOWN
+ 2152333328
+ name 1_74_KEY_MUTE
+ 2152333329
+ name 1_74_KEY_VOL_DOWN
+ 2152333330
+ name 1_74_KEY_VOL_UP
+ 2152333332
+ name 1_74_KEY_FAV
+ 2152333341
+ name 1_74_KEY_SAT
+ 2152333354
+ name 1_74_KEY_ENTER
+ 2152333355
+ name 0_75_KEY_0
+ 4915200
+ name 0_75_KEY_1
+ 4915201
+ name 0_75_KEY_2
+ 4915202
+ name 0_75_KEY_3
+ 4915203
+ name 0_75_KEY_4
+ 4915204
+ name 0_75_KEY_5
+ 4915205
+ name 0_75_KEY_6
+ 4915206
+ name 0_75_KEY_7
+ 4915207
+ name 0_75_KEY_8
+ 4915208
+ name 0_75_KEY_9
+ 4915209
+ name 0_75_KEY_POWER
+ 4915210
+ name 0_75_KEY_CH_UP
+ 4915215
+ name 0_75_KEY_CH_DOWN
+ 4915216
+ name 0_75_KEY_MUTE
+ 4915217
+ name 0_75_KEY_VOL_DOWN
+ 4915218
+ name 0_75_KEY_VOL_UP
+ 4915220
+ name 0_75_KEY_MUP
+ 4915248
+ name 0_75_KEY_MDOWN
+ 4915249
+ name 0_75_KEY_MLEFT
+ 4915250
+ name 0_75_KEY_MRIGHT
+ 4915251
+ name 1_75_KEY_0
+ 2152398848
+ name 1_75_KEY_1
+ 2152398849
+ name 1_75_KEY_2
+ 2152398850
+ name 1_75_KEY_3
+ 2152398851
+ name 1_75_KEY_4
+ 2152398852
+ name 1_75_KEY_5
+ 2152398853
+ name 1_75_KEY_6
+ 2152398854
+ name 1_75_KEY_7
+ 2152398855
+ name 1_75_KEY_8
+ 2152398856
+ name 1_75_KEY_9
+ 2152398857
+ name 1_75_KEY_FAV
+ 2152398877
+ name 1_75_KEY_ENTER
+ 2152398891
+ name 0_76_KEY_0
+ 4980736
+ name 0_76_KEY_1
+ 4980737
+ name 0_76_KEY_2
+ 4980738
+ name 0_76_KEY_3
+ 4980739
+ name 0_76_KEY_4
+ 4980740
+ name 0_76_KEY_5
+ 4980741
+ name 0_76_KEY_6
+ 4980742
+ name 0_76_KEY_7
+ 4980743
+ name 0_76_KEY_8
+ 4980744
+ name 0_76_KEY_9
+ 4980745
+ name 0_76_KEY_POWER
+ 4980746
+ name 0_76_KEY_CH_UP
+ 4980751
+ name 0_76_KEY_CH_DOWN
+ 4980752
+ name 0_76_KEY_MUTE
+ 4980753
+ name 0_76_KEY_VOL_DOWN
+ 4980754
+ name 0_76_KEY_VOL_UP
+ 4980756
+ name 0_76_KEY_MENU
+ 4980783
+ name 0_76_KEY_MUP
+ 4980784
+ name 0_76_KEY_MDOWN
+ 4980785
+ name 0_76_KEY_MLEFT
+ 4980786
+ name 0_76_KEY_MRIGHT
+ 4980787
+ name 1_76_KEY_0
+ 2152464384
+ name 1_76_KEY_1
+ 2152464385
+ name 1_76_KEY_2
+ 2152464386
+ name 1_76_KEY_3
+ 2152464387
+ name 1_76_KEY_4
+ 2152464388
+ name 1_76_KEY_5
+ 2152464389
+ name 1_76_KEY_6
+ 2152464390
+ name 1_76_KEY_7
+ 2152464391
+ name 1_76_KEY_8
+ 2152464392
+ name 1_76_KEY_9
+ 2152464393
+ name 1_76_KEY_POWER
+ 2152464394
+ name 1_76_KEY_CH_UP
+ 2152464399
+ name 1_76_KEY_CH_DOWN
+ 2152464400
+ name 1_76_KEY_MUTE
+ 2152464401
+ name 1_76_KEY_VOL_DOWN
+ 2152464402
+ name 1_76_KEY_VOL_UP
+ 2152464404
+ name 1_76_KEY_DISPLAY
+ 2152464405
+ name 1_76_KEY_CKU
+ 2152464424
+ name 1_76_KEY_SAT
+ 2152464426
+ name 1_76_KEY_ENTER
+ 2152464427
+ name 0_77_KEY_0
+ 5046272
+ name 0_77_KEY_1
+ 5046273
+ name 0_77_KEY_2
+ 5046274
+ name 0_77_KEY_3
+ 5046275
+ name 0_77_KEY_4
+ 5046276
+ name 0_77_KEY_5
+ 5046277
+ name 0_77_KEY_6
+ 5046278
+ name 0_77_KEY_7
+ 5046279
+ name 0_77_KEY_8
+ 5046280
+ name 0_77_KEY_9
+ 5046281
+ name 0_77_KEY_POWER
+ 5046282
+ name 0_77_KEY_MUTE
+ 5046289
+ name 0_77_KEY_MNSELECT
+ 5046295
+ name 0_77_KEY_MENU
+ 5046319
+ name 0_77_KEY_MUP
+ 5046320
+ name 0_77_KEY_MDOWN
+ 5046321
+ name 0_77_KEY_MLEFT
+ 5046322
+ name 0_77_KEY_MRIGHT
+ 5046323
+ name 1_77_KEY_0
+ 2152529920
+ name 1_77_KEY_1
+ 2152529921
+ name 1_77_KEY_2
+ 2152529922
+ name 1_77_KEY_3
+ 2152529923
+ name 1_77_KEY_4
+ 2152529924
+ name 1_77_KEY_5
+ 2152529925
+ name 1_77_KEY_6
+ 2152529926
+ name 1_77_KEY_7
+ 2152529927
+ name 1_77_KEY_8
+ 2152529928
+ name 1_77_KEY_9
+ 2152529929
+ name 1_77_KEY_POWER
+ 2152529930
+ name 1_77_KEY_CH_UP
+ 2152529935
+ name 1_77_KEY_CH_DOWN
+ 2152529936
+ name 1_77_KEY_MUTE
+ 2152529937
+ name 1_77_KEY_VOL_DOWN
+ 2152529938
+ name 1_77_CH_PREVIOUS
+ 2152529939
+ name 1_77_KEY_VOL_UP
+ 2152529940
+ name 1_77_KEY_EXIT
+ 2152529944
+ name 1_77_KEY_FAV
+ 2152529949
+ name 1_77_KEY_SAT
+ 2152529962
+ name 1_77_KEY_ENTER
+ 2152529963
+ name 1_77_KEY_MENU
+ 2152529967
+ name 1_77_KEY_MUP
+ 2152529968
+ name 1_77_KEY_MDOWN
+ 2152529969
+ name 1_77_KEY_MLEFT
+ 2152529970
+ name 1_77_KEY_MRIGHT
+ 2152529971
+ name 1_77_KEY_Help
+ 2152529984
+ name 1_77_KEY_Setup
+ 2152529985
+ name 0_78_KEY_0
+ 5111808
+ name 0_78_KEY_1
+ 5111809
+ name 0_78_KEY_2
+ 5111810
+ name 0_78_KEY_3
+ 5111811
+ name 0_78_KEY_4
+ 5111812
+ name 0_78_KEY_5
+ 5111813
+ name 0_78_KEY_6
+ 5111814
+ name 0_78_KEY_7
+ 5111815
+ name 0_78_KEY_8
+ 5111816
+ name 0_78_KEY_9
+ 5111817
+ name 0_78_KEY_POWER
+ 5111818
+ name 0_78_KEY_CH_UP
+ 5111823
+ name 0_78_KEY_CH_DOWN
+ 5111824
+ name 0_78_KEY_MUTE
+ 5111825
+ name 0_78_KEY_VOL_DOWN
+ 5111826
+ name 0_78_KEY_VOL_UP
+ 5111828
+ name 0_78_KEY_MUP
+ 5111856
+ name 0_78_KEY_MDOWN
+ 5111857
+ name 0_78_KEY_MLEFT
+ 5111858
+ name 0_78_KEY_MRIGHT
+ 5111859
+ name 1_78_KEY_0
+ 2152595456
+ name 1_78_KEY_1
+ 2152595457
+ name 1_78_KEY_2
+ 2152595458
+ name 1_78_KEY_3
+ 2152595459
+ name 1_78_KEY_4
+ 2152595460
+ name 1_78_KEY_5
+ 2152595461
+ name 1_78_KEY_6
+ 2152595462
+ name 1_78_KEY_7
+ 2152595463
+ name 1_78_KEY_8
+ 2152595464
+ name 1_78_KEY_9
+ 2152595465
+ name 1_78_KEY_POWER
+ 2152595466
+ name 1_78_KEY_CH_UP
+ 2152595471
+ name 1_78_KEY_CH_DOWN
+ 2152595472
+ name 1_78_KEY_MUTE
+ 2152595473
+ name 1_78_KEY_VOL_DOWN
+ 2152595474
+ name 1_78_CH_PREVIOUS
+ 2152595475
+ name 1_78_KEY_VOL_UP
+ 2152595476
+ name 1_78_KEY_DISPLAY
+ 2152595477
+ name 1_78_KEY_FAV
+ 2152595485
+ name 1_78_KEY_ENTER
+ 2152595499
+ name 0_79_KEY_0
+ 5177344
+ name 0_79_KEY_1
+ 5177345
+ name 0_79_KEY_2
+ 5177346
+ name 0_79_KEY_3
+ 5177347
+ name 0_79_KEY_4
+ 5177348
+ name 0_79_KEY_5
+ 5177349
+ name 0_79_KEY_6
+ 5177350
+ name 0_79_KEY_7
+ 5177351
+ name 0_79_KEY_8
+ 5177352
+ name 0_79_KEY_9
+ 5177353
+ name 0_79_KEY_POWER
+ 5177354
+ name 0_79_KEY_CH_UP
+ 5177359
+ name 0_79_KEY_CH_DOWN
+ 5177360
+ name 0_79_KEY_MNSELECT
+ 5177367
+ name 0_79_KEY_MENU
+ 5177391
+ name 0_79_KEY_MUP
+ 5177392
+ name 0_79_KEY_MDOWN
+ 5177393
+ name 0_79_KEY_MLEFT
+ 5177394
+ name 0_79_KEY_MRIGHT
+ 5177395
+ name 1_79_KEY_0
+ 2152660992
+ name 1_79_KEY_1
+ 2152660993
+ name 1_79_KEY_2
+ 2152660994
+ name 1_79_KEY_3
+ 2152660995
+ name 1_79_KEY_4
+ 2152660996
+ name 1_79_KEY_5
+ 2152660997
+ name 1_79_KEY_6
+ 2152660998
+ name 1_79_KEY_7
+ 2152660999
+ name 1_79_KEY_8
+ 2152661000
+ name 1_79_KEY_9
+ 2152661001
+ name 1_79_KEY_POWER
+ 2152661002
+ name 1_79_KEY_CH_UP
+ 2152661007
+ name 1_79_KEY_CH_DOWN
+ 2152661008
+ name 1_79_KEY_MUTE
+ 2152661009
+ name 1_79_KEY_VOL_DOWN
+ 2152661010
+ name 1_79_KEY_VOL_UP
+ 2152661012
+ name 1_79_KEY_FAV
+ 2152661021
+ name 1_79_KEY_ENTER
+ 2152661035
+ name 0_80_KEY_0
+ 5242880
+ name 0_80_KEY_1
+ 5242881
+ name 0_80_KEY_2
+ 5242882
+ name 0_80_KEY_3
+ 5242883
+ name 0_80_KEY_4
+ 5242884
+ name 0_80_KEY_5
+ 5242885
+ name 0_80_KEY_6
+ 5242886
+ name 0_80_KEY_7
+ 5242887
+ name 0_80_KEY_8
+ 5242888
+ name 0_80_KEY_9
+ 5242889
+ name 0_80_KEY_POWER
+ 5242890
+ name 0_80_KEY_CH_UP
+ 5242895
+ name 0_80_KEY_CH_DOWN
+ 5242896
+ name 0_80_KEY_MUTE
+ 5242897
+ name 0_80_KEY_VOL_DOWN
+ 5242898
+ name 0_80_KEY_VOL_UP
+ 5242900
+ name 0_80_KEY_MNSELECT
+ 5242903
+ name 0_80_KEY_MENU
+ 5242927
+ name 0_80_KEY_MUP
+ 5242928
+ name 0_80_KEY_MDOWN
+ 5242929
+ name 0_80_KEY_MLEFT
+ 5242930
+ name 0_80_KEY_MRIGHT
+ 5242931
+ name 1_80_KEY_0
+ 2152726528
+ name 1_80_KEY_1
+ 2152726529
+ name 1_80_KEY_2
+ 2152726530
+ name 1_80_KEY_3
+ 2152726531
+ name 1_80_KEY_4
+ 2152726532
+ name 1_80_KEY_5
+ 2152726533
+ name 1_80_KEY_6
+ 2152726534
+ name 1_80_KEY_7
+ 2152726535
+ name 1_80_KEY_8
+ 2152726536
+ name 1_80_KEY_9
+ 2152726537
+ name 1_80_KEY_POWER
+ 2152726538
+ name 1_80_KEY_CH_UP
+ 2152726543
+ name 1_80_KEY_CH_DOWN
+ 2152726544
+ name 1_80_KEY_VOL_DOWN
+ 2152726546
+ name 1_80_KEY_VOL_UP
+ 2152726548
+ name 1_80_KEY_SELECT
+ 2152726558
+ name 0_81_KEY_0
+ 5308416
+ name 0_81_KEY_1
+ 5308417
+ name 0_81_KEY_2
+ 5308418
+ name 0_81_KEY_3
+ 5308419
+ name 0_81_KEY_4
+ 5308420
+ name 0_81_KEY_5
+ 5308421
+ name 0_81_KEY_6
+ 5308422
+ name 0_81_KEY_7
+ 5308423
+ name 0_81_KEY_8
+ 5308424
+ name 0_81_KEY_9
+ 5308425
+ name 0_81_KEY_POWER
+ 5308426
+ name 0_81_KEY_CH_UP
+ 5308431
+ name 0_81_KEY_CH_DOWN
+ 5308432
+ name 0_81_KEY_MENU
+ 5308463
+ name 0_81_KEY_MUP
+ 5308464
+ name 0_81_KEY_MDOWN
+ 5308465
+ name 0_81_KEY_MLEFT
+ 5308466
+ name 0_81_KEY_MRIGHT
+ 5308467
+ name 1_81_KEY_0
+ 2152792064
+ name 1_81_KEY_1
+ 2152792065
+ name 1_81_KEY_2
+ 2152792066
+ name 1_81_KEY_3
+ 2152792067
+ name 1_81_KEY_4
+ 2152792068
+ name 1_81_KEY_5
+ 2152792069
+ name 1_81_KEY_6
+ 2152792070
+ name 1_81_KEY_7
+ 2152792071
+ name 1_81_KEY_8
+ 2152792072
+ name 1_81_KEY_9
+ 2152792073
+ name 1_81_KEY_POWER
+ 2152792074
+ name 1_81_KEY_CH_UP
+ 2152792079
+ name 1_81_KEY_CH_DOWN
+ 2152792080
+ name 0_82_KEY_0
+ 5373952
+ name 0_82_KEY_1
+ 5373953
+ name 0_82_KEY_2
+ 5373954
+ name 0_82_KEY_3
+ 5373955
+ name 0_82_KEY_4
+ 5373956
+ name 0_82_KEY_5
+ 5373957
+ name 0_82_KEY_6
+ 5373958
+ name 0_82_KEY_7
+ 5373959
+ name 0_82_KEY_8
+ 5373960
+ name 0_82_KEY_9
+ 5373961
+ name 0_82_KEY_POWER
+ 5373962
+ name 0_82_KEY_CH_UP
+ 5373967
+ name 0_82_KEY_CH_DOWN
+ 5373968
+ name 0_82_KEY_MUTE
+ 5373969
+ name 0_82_KEY_VOL_DOWN
+ 5373970
+ name 0_82_KEY_VOL_UP
+ 5373972
+ name 0_82_KEY_MNSELECT
+ 5373975
+ name 0_82_KEY_ENTER
+ 5373995
+ name 0_82_KEY_MENU
+ 5373999
+ name 0_82_KEY_MUP
+ 5374000
+ name 0_82_KEY_MDOWN
+ 5374001
+ name 0_82_KEY_MLEFT
+ 5374002
+ name 0_82_KEY_MRIGHT
+ 5374003
+ name 1_82_KEY_0
+ 2152857600
+ name 1_82_KEY_1
+ 2152857601
+ name 1_82_KEY_2
+ 2152857602
+ name 1_82_KEY_3
+ 2152857603
+ name 1_82_KEY_4
+ 2152857604
+ name 1_82_KEY_5
+ 2152857605
+ name 1_82_KEY_6
+ 2152857606
+ name 1_82_KEY_7
+ 2152857607
+ name 1_82_KEY_8
+ 2152857608
+ name 1_82_KEY_9
+ 2152857609
+ name 1_82_KEY_POWER
+ 2152857610
+ name 1_82_KEY_CH_UP
+ 2152857615
+ name 1_82_KEY_CH_DOWN
+ 2152857616
+ name 1_82_CH_PREVIOUS
+ 2152857619
+ name 1_82_KEY_DISPLAY
+ 2152857621
+ name 1_82_KEY_EXIT
+ 2152857624
+ name 1_82_KEY_AV
+ 2152857641
+ name 1_82_KEY_ENTER
+ 2152857643
+ name 1_82_KEY_MENU
+ 2152857647
+ name 1_82_KEY_MUP
+ 2152857648
+ name 1_82_KEY_MDOWN
+ 2152857649
+ name 1_82_KEY_MLEFT
+ 2152857650
+ name 1_82_KEY_MRIGHT
+ 2152857651
+ name 0_83_KEY_0
+ 5439488
+ name 0_83_KEY_1
+ 5439489
+ name 0_83_KEY_2
+ 5439490
+ name 0_83_KEY_3
+ 5439491
+ name 0_83_KEY_4
+ 5439492
+ name 0_83_KEY_5
+ 5439493
+ name 0_83_KEY_6
+ 5439494
+ name 0_83_KEY_7
+ 5439495
+ name 0_83_KEY_8
+ 5439496
+ name 0_83_KEY_9
+ 5439497
+ name 0_83_KEY_POWER
+ 5439498
+ name 0_83_KEY_CH_UP
+ 5439503
+ name 0_83_KEY_CH_DOWN
+ 5439504
+ name 0_83_KEY_MENU
+ 5439535
+ name 0_83_KEY_MUP
+ 5439536
+ name 0_83_KEY_MDOWN
+ 5439537
+ name 0_83_KEY_MLEFT
+ 5439538
+ name 0_83_KEY_MRIGHT
+ 5439539
+ name 1_83_KEY_0
+ 2152923136
+ name 1_83_KEY_1
+ 2152923137
+ name 1_83_KEY_2
+ 2152923138
+ name 1_83_KEY_3
+ 2152923139
+ name 1_83_KEY_4
+ 2152923140
+ name 1_83_KEY_5
+ 2152923141
+ name 1_83_KEY_6
+ 2152923142
+ name 1_83_KEY_7
+ 2152923143
+ name 1_83_KEY_8
+ 2152923144
+ name 1_83_KEY_9
+ 2152923145
+ name 1_83_KEY_POWER
+ 2152923146
+ name 1_83_KEY_CH_UP
+ 2152923151
+ name 1_83_KEY_CH_DOWN
+ 2152923152
+ name 1_83_KEY_MUTE
+ 2152923153
+ name 1_83_KEY_VOL_DOWN
+ 2152923154
+ name 1_83_CH_PREVIOUS
+ 2152923155
+ name 1_83_KEY_VOL_UP
+ 2152923156
+ name 1_83_KEY_DISPLAY
+ 2152923157
+ name 1_83_KEY_EXIT
+ 2152923160
+ name 1_83_KEY_GUIDE
+ 2152923163
+ name 1_83_KEY_SELECT
+ 2152923166
+ name 1_83_KEY_AV
+ 2152923177
+ name 1_83_KEY_SAT
+ 2152923178
+ name 1_83_KEY_ENTER
+ 2152923179
+ name 1_83_KEY_MENU
+ 2152923183
+ name 1_83_KEY_MUP
+ 2152923184
+ name 1_83_KEY_MDOWN
+ 2152923185
+ name 1_83_KEY_MLEFT
+ 2152923186
+ name 1_83_KEY_MRIGHT
+ 2152923187
+ name 0_84_KEY_0
+ 5505024
+ name 0_84_KEY_1
+ 5505025
+ name 0_84_KEY_2
+ 5505026
+ name 0_84_KEY_3
+ 5505027
+ name 0_84_KEY_4
+ 5505028
+ name 0_84_KEY_5
+ 5505029
+ name 0_84_KEY_6
+ 5505030
+ name 0_84_KEY_7
+ 5505031
+ name 0_84_KEY_8
+ 5505032
+ name 0_84_KEY_9
+ 5505033
+ name 0_84_KEY_POWER
+ 5505034
+ name 0_84_KEY_CH_UP
+ 5505039
+ name 0_84_KEY_CH_DOWN
+ 5505040
+ name 0_84_KEY_MUTE
+ 5505041
+ name 0_84_KEY_VOL_DOWN
+ 5505042
+ name 0_84_KEY_VOL_UP
+ 5505044
+ name 0_84_KEY_MNSELECT
+ 5505047
+ name 0_84_KEY_MENU
+ 5505071
+ name 0_84_KEY_MUP
+ 5505072
+ name 0_84_KEY_MDOWN
+ 5505073
+ name 0_84_KEY_MLEFT
+ 5505074
+ name 0_84_KEY_MRIGHT
+ 5505075
+ name 1_84_KEY_0
+ 2152988672
+ name 1_84_KEY_1
+ 2152988673
+ name 1_84_KEY_2
+ 2152988674
+ name 1_84_KEY_3
+ 2152988675
+ name 1_84_KEY_4
+ 2152988676
+ name 1_84_KEY_5
+ 2152988677
+ name 1_84_KEY_6
+ 2152988678
+ name 1_84_KEY_7
+ 2152988679
+ name 1_84_KEY_8
+ 2152988680
+ name 1_84_KEY_9
+ 2152988681
+ name 1_84_KEY_POWER
+ 2152988682
+ name 1_84_KEY_CH_UP
+ 2152988687
+ name 1_84_KEY_CH_DOWN
+ 2152988688
+ name 1_84_CH_PREVIOUS
+ 2152988691
+ name 1_84_KEY_DISPLAY
+ 2152988693
+ name 1_84_KEY_EXIT
+ 2152988696
+ name 1_84_KEY_AV
+ 2152988713
+ name 1_84_KEY_ENTER
+ 2152988715
+ name 1_84_KEY_MENU
+ 2152988719
+ name 1_84_KEY_MUP
+ 2152988720
+ name 1_84_KEY_MDOWN
+ 2152988721
+ name 1_84_KEY_MLEFT
+ 2152988722
+ name 1_84_KEY_MRIGHT
+ 2152988723
+ name 0_85_KEY_0
+ 5570560
+ name 0_85_KEY_1
+ 5570561
+ name 0_85_KEY_2
+ 5570562
+ name 0_85_KEY_3
+ 5570563
+ name 0_85_KEY_4
+ 5570564
+ name 0_85_KEY_5
+ 5570565
+ name 0_85_KEY_6
+ 5570566
+ name 0_85_KEY_7
+ 5570567
+ name 0_85_KEY_8
+ 5570568
+ name 0_85_KEY_9
+ 5570569
+ name 0_85_KEY_POWER
+ 5570570
+ name 0_85_KEY_CH_UP
+ 5570575
+ name 0_85_KEY_CH_DOWN
+ 5570576
+ name 0_85_KEY_MUTE
+ 5570577
+ name 0_85_KEY_VOL_DOWN
+ 5570578
+ name 0_85_CH_PREVIOUS
+ 5570579
+ name 0_85_KEY_VOL_UP
+ 5570580
+ name 0_85_KEY_DISPLAY
+ 5570581
+ name 0_85_KEY_MNSELECT
+ 5570583
+ name 0_85_KEY_EXIT
+ 5570584
+ name 0_85_KEY_INPUT
+ 5570586
+ name 0_85_KEY_GUIDE
+ 5570587
+ name 0_85_KEY_FAV
+ 5570589
+ name 0_85_KEY_MENU
+ 5570607
+ name 0_85_KEY_MUP
+ 5570608
+ name 0_85_KEY_MDOWN
+ 5570609
+ name 0_85_KEY_MLEFT
+ 5570610
+ name 0_85_KEY_MRIGHT
+ 5570611
+ name 0_85_KEY_FF
+ 5570612
+ name 0_85_KEY_PLAY
+ 5570613
+ name 0_85_KEY_REW
+ 5570614
+ name 0_85_KEY_REC
+ 5570615
+ name 0_85_KEY_PAUSE
+ 5570616
+ name 0_85_KEY_STOP
+ 5570617
+ name 1_85_KEY_0
+ 2153054208
+ name 1_85_KEY_1
+ 2153054209
+ name 1_85_KEY_2
+ 2153054210
+ name 1_85_KEY_3
+ 2153054211
+ name 1_85_KEY_4
+ 2153054212
+ name 1_85_KEY_5
+ 2153054213
+ name 1_85_KEY_6
+ 2153054214
+ name 1_85_KEY_7
+ 2153054215
+ name 1_85_KEY_8
+ 2153054216
+ name 1_85_KEY_9
+ 2153054217
+ name 1_85_KEY_POWER
+ 2153054218
+ name 1_85_KEY_CH_UP
+ 2153054223
+ name 1_85_KEY_CH_DOWN
+ 2153054224
+ name 1_85_CH_PREVIOUS
+ 2153054227
+ name 1_85_KEY_DISPLAY
+ 2153054229
+ name 1_85_KEY_EXIT
+ 2153054232
+ name 1_85_KEY_SELECT
+ 2153054238
+ name 1_85_KEY_ENTER
+ 2153054251
+ name 1_85_KEY_MENU
+ 2153054255
+ name 1_85_KEY_MUP
+ 2153054256
+ name 1_85_KEY_MDOWN
+ 2153054257
+ name 1_85_KEY_MLEFT
+ 2153054258
+ name 1_85_KEY_MRIGHT
+ 2153054259
+ name 0_86_KEY_0
+ 5636096
+ name 0_86_KEY_1
+ 5636097
+ name 0_86_KEY_2
+ 5636098
+ name 0_86_KEY_3
+ 5636099
+ name 0_86_KEY_4
+ 5636100
+ name 0_86_KEY_5
+ 5636101
+ name 0_86_KEY_6
+ 5636102
+ name 0_86_KEY_7
+ 5636103
+ name 0_86_KEY_8
+ 5636104
+ name 0_86_KEY_9
+ 5636105
+ name 0_86_KEY_POWER
+ 5636106
+ name 0_86_KEY_CH_UP
+ 5636111
+ name 0_86_KEY_CH_DOWN
+ 5636112
+ name 0_86_KEY_MUTE
+ 5636113
+ name 0_86_KEY_VOL_DOWN
+ 5636114
+ name 0_86_CH_PREVIOUS
+ 5636115
+ name 0_86_KEY_VOL_UP
+ 5636116
+ name 0_86_KEY_DISPLAY
+ 5636117
+ name 0_86_KEY_MNSELECT
+ 5636119
+ name 0_86_KEY_EXIT
+ 5636120
+ name 0_86_KEY_INPUT
+ 5636122
+ name 0_86_KEY_GUIDE
+ 5636123
+ name 0_86_KEY_FAV
+ 5636125
+ name 0_86_KEY_ENTER
+ 5636139
+ name 0_86_KEY_MENU
+ 5636143
+ name 0_86_KEY_MUP
+ 5636144
+ name 0_86_KEY_MDOWN
+ 5636145
+ name 0_86_KEY_MLEFT
+ 5636146
+ name 0_86_KEY_MRIGHT
+ 5636147
+ name 0_86_KEY_FF
+ 5636148
+ name 0_86_KEY_PLAY
+ 5636149
+ name 0_86_KEY_REW
+ 5636150
+ name 0_86_KEY_REC
+ 5636151
+ name 0_86_KEY_PAUSE
+ 5636152
+ name 0_86_KEY_STOP
+ 5636153
+ name 1_86_KEY_0
+ 2153119744
+ name 1_86_KEY_1
+ 2153119745
+ name 1_86_KEY_2
+ 2153119746
+ name 1_86_KEY_3
+ 2153119747
+ name 1_86_KEY_4
+ 2153119748
+ name 1_86_KEY_5
+ 2153119749
+ name 1_86_KEY_6
+ 2153119750
+ name 1_86_KEY_7
+ 2153119751
+ name 1_86_KEY_8
+ 2153119752
+ name 1_86_KEY_9
+ 2153119753
+ name 1_86_KEY_POWER
+ 2153119754
+ name 1_86_KEY_CH_UP
+ 2153119759
+ name 1_86_KEY_CH_DOWN
+ 2153119760
+ name 1_86_CH_PREVIOUS
+ 2153119763
+ name 1_86_KEY_DISPLAY
+ 2153119765
+ name 1_86_KEY_EXIT
+ 2153119768
+ name 1_86_KEY_AV
+ 2153119785
+ name 1_86_KEY_ENTER
+ 2153119787
+ name 1_86_KEY_MENU
+ 2153119791
+ name 1_86_KEY_MUP
+ 2153119792
+ name 1_86_KEY_MDOWN
+ 2153119793
+ name 1_86_KEY_MLEFT
+ 2153119794
+ name 1_86_KEY_MRIGHT
+ 2153119795
+ name 0_87_KEY_0
+ 5701632
+ name 0_87_KEY_1
+ 5701633
+ name 0_87_KEY_2
+ 5701634
+ name 0_87_KEY_3
+ 5701635
+ name 0_87_KEY_4
+ 5701636
+ name 0_87_KEY_5
+ 5701637
+ name 0_87_KEY_6
+ 5701638
+ name 0_87_KEY_7
+ 5701639
+ name 0_87_KEY_8
+ 5701640
+ name 0_87_KEY_9
+ 5701641
+ name 0_87_KEY_POWER
+ 5701642
+ name 0_87_KEY_CH_UP
+ 5701647
+ name 0_87_KEY_CH_DOWN
+ 5701648
+ name 0_87_KEY_MUTE
+ 5701649
+ name 0_87_KEY_VOL_DOWN
+ 5701650
+ name 0_87_CH_PREVIOUS
+ 5701651
+ name 0_87_KEY_VOL_UP
+ 5701652
+ name 0_87_KEY_DISPLAY
+ 5701653
+ name 0_87_KEY_MNSELECT
+ 5701655
+ name 0_87_KEY_EXIT
+ 5701656
+ name 0_87_KEY_INPUT
+ 5701658
+ name 0_87_KEY_GUIDE
+ 5701659
+ name 0_87_KEY_FAV
+ 5701661
+ name 0_87_KEY_MENU
+ 5701679
+ name 0_87_KEY_MUP
+ 5701680
+ name 0_87_KEY_MDOWN
+ 5701681
+ name 0_87_KEY_MLEFT
+ 5701682
+ name 0_87_KEY_MRIGHT
+ 5701683
+ name 0_87_KEY_FF
+ 5701684
+ name 0_87_KEY_PLAY
+ 5701685
+ name 0_87_KEY_REW
+ 5701686
+ name 0_87_KEY_REC
+ 5701687
+ name 0_87_KEY_PAUSE
+ 5701688
+ name 0_87_KEY_STOP
+ 5701689
+ name 1_87_KEY_0
+ 2153185280
+ name 1_87_KEY_1
+ 2153185281
+ name 1_87_KEY_2
+ 2153185282
+ name 1_87_KEY_3
+ 2153185283
+ name 1_87_KEY_4
+ 2153185284
+ name 1_87_KEY_5
+ 2153185285
+ name 1_87_KEY_6
+ 2153185286
+ name 1_87_KEY_7
+ 2153185287
+ name 1_87_KEY_8
+ 2153185288
+ name 1_87_KEY_9
+ 2153185289
+ name 1_87_KEY_POWER
+ 2153185290
+ name 1_87_KEY_CH_UP
+ 2153185295
+ name 1_87_KEY_CH_DOWN
+ 2153185296
+ name 1_87_CH_PREVIOUS
+ 2153185299
+ name 1_87_KEY_DISPLAY
+ 2153185301
+ name 1_87_KEY_EXIT
+ 2153185304
+ name 1_87_KEY_AV
+ 2153185321
+ name 1_87_KEY_MENU
+ 2153185327
+ name 1_87_KEY_MUP
+ 2153185328
+ name 1_87_KEY_MDOWN
+ 2153185329
+ name 1_87_KEY_MLEFT
+ 2153185330
+ name 1_87_KEY_MRIGHT
+ 2153185331
+ name 0_88_KEY_0
+ 5767168
+ name 0_88_KEY_1
+ 5767169
+ name 0_88_KEY_2
+ 5767170
+ name 0_88_KEY_3
+ 5767171
+ name 0_88_KEY_4
+ 5767172
+ name 0_88_KEY_5
+ 5767173
+ name 0_88_KEY_6
+ 5767174
+ name 0_88_KEY_7
+ 5767175
+ name 0_88_KEY_8
+ 5767176
+ name 0_88_KEY_9
+ 5767177
+ name 0_88_KEY_POWER
+ 5767178
+ name 0_88_KEY_CH_UP
+ 5767183
+ name 0_88_KEY_CH_DOWN
+ 5767184
+ name 0_88_KEY_MUTE
+ 5767185
+ name 0_88_KEY_VOL_DOWN
+ 5767186
+ name 0_88_CH_PREVIOUS
+ 5767187
+ name 0_88_KEY_VOL_UP
+ 5767188
+ name 0_88_KEY_DISPLAY
+ 5767189
+ name 0_88_KEY_MNSELECT
+ 5767191
+ name 0_88_KEY_EXIT
+ 5767192
+ name 0_88_KEY_INPUT
+ 5767194
+ name 0_88_KEY_GUIDE
+ 5767195
+ name 0_88_KEY_FAV
+ 5767197
+ name 0_88_KEY_MENU
+ 5767215
+ name 0_88_KEY_MUP
+ 5767216
+ name 0_88_KEY_MDOWN
+ 5767217
+ name 0_88_KEY_MLEFT
+ 5767218
+ name 0_88_KEY_MRIGHT
+ 5767219
+ name 0_88_KEY_FF
+ 5767220
+ name 0_88_KEY_PLAY
+ 5767221
+ name 0_88_KEY_REW
+ 5767222
+ name 0_88_KEY_REC
+ 5767223
+ name 0_88_KEY_PAUSE
+ 5767224
+ name 0_88_KEY_STOP
+ 5767225
+ name 1_88_KEY_0
+ 2153250816
+ name 1_88_KEY_1
+ 2153250817
+ name 1_88_KEY_2
+ 2153250818
+ name 1_88_KEY_3
+ 2153250819
+ name 1_88_KEY_4
+ 2153250820
+ name 1_88_KEY_5
+ 2153250821
+ name 1_88_KEY_6
+ 2153250822
+ name 1_88_KEY_7
+ 2153250823
+ name 1_88_KEY_8
+ 2153250824
+ name 1_88_KEY_9
+ 2153250825
+ name 1_88_KEY_POWER
+ 2153250826
+ name 1_88_KEY_CH_UP
+ 2153250831
+ name 1_88_KEY_CH_DOWN
+ 2153250832
+ name 1_88_CH_PREVIOUS
+ 2153250835
+ name 1_88_KEY_EXIT
+ 2153250840
+ name 1_88_KEY_SELECT
+ 2153250846
+ name 1_88_KEY_AV
+ 2153250857
+ name 1_88_KEY_ENTER
+ 2153250859
+ name 1_88_KEY_MENU
+ 2153250863
+ name 1_88_KEY_MUP
+ 2153250864
+ name 1_88_KEY_MDOWN
+ 2153250865
+ name 1_88_KEY_MLEFT
+ 2153250866
+ name 1_88_KEY_MRIGHT
+ 2153250867
+ name 0_89_KEY_0
+ 5832704
+ name 0_89_KEY_1
+ 5832705
+ name 0_89_KEY_2
+ 5832706
+ name 0_89_KEY_3
+ 5832707
+ name 0_89_KEY_4
+ 5832708
+ name 0_89_KEY_5
+ 5832709
+ name 0_89_KEY_6
+ 5832710
+ name 0_89_KEY_7
+ 5832711
+ name 0_89_KEY_8
+ 5832712
+ name 0_89_KEY_9
+ 5832713
+ name 0_89_KEY_POWER
+ 5832714
+ name 0_89_KEY_CH_UP
+ 5832719
+ name 0_89_KEY_CH_DOWN
+ 5832720
+ name 0_89_KEY_MUTE
+ 5832721
+ name 0_89_KEY_VOL_DOWN
+ 5832722
+ name 0_89_CH_PREVIOUS
+ 5832723
+ name 0_89_KEY_VOL_UP
+ 5832724
+ name 0_89_KEY_DISPLAY
+ 5832725
+ name 0_89_KEY_MNSELECT
+ 5832727
+ name 0_89_KEY_EXIT
+ 5832728
+ name 0_89_KEY_INPUT
+ 5832730
+ name 0_89_KEY_GUIDE
+ 5832731
+ name 0_89_KEY_FAV
+ 5832733
+ name 0_89_KEY_MENU
+ 5832751
+ name 0_89_KEY_MUP
+ 5832752
+ name 0_89_KEY_MDOWN
+ 5832753
+ name 0_89_KEY_MLEFT
+ 5832754
+ name 0_89_KEY_MRIGHT
+ 5832755
+ name 1_89_KEY_POWER
+ 2153316362
+ name 1_89_KEY_CH_UP
+ 2153316367
+ name 1_89_KEY_CH_DOWN
+ 2153316368
+ name 1_89_KEY_DISPLAY
+ 2153316373
+ name 1_89_KEY_EXIT
+ 2153316376
+ name 1_89_KEY_GUIDE
+ 2153316379
+ name 1_89_KEY_SELECT
+ 2153316382
+ name 1_89_KEY_ENTER
+ 2153316395
+ name 1_89_KEY_MENU
+ 2153316399
+ name 1_89_KEY_MUP
+ 2153316400
+ name 1_89_KEY_MDOWN
+ 2153316401
+ name 1_89_KEY_MLEFT
+ 2153316402
+ name 1_89_KEY_MRIGHT
+ 2153316403
+ name 0_90_KEY_0
+ 5898240
+ name 0_90_KEY_1
+ 5898241
+ name 0_90_KEY_2
+ 5898242
+ name 0_90_KEY_3
+ 5898243
+ name 0_90_KEY_4
+ 5898244
+ name 0_90_KEY_5
+ 5898245
+ name 0_90_KEY_6
+ 5898246
+ name 0_90_KEY_7
+ 5898247
+ name 0_90_KEY_8
+ 5898248
+ name 0_90_KEY_9
+ 5898249
+ name 0_90_KEY_POWER
+ 5898250
+ name 0_90_KEY_CH_UP
+ 5898255
+ name 0_90_KEY_CH_DOWN
+ 5898256
+ name 0_90_KEY_MUTE
+ 5898257
+ name 0_90_KEY_VOL_DOWN
+ 5898258
+ name 0_90_CH_PREVIOUS
+ 5898259
+ name 0_90_KEY_VOL_UP
+ 5898260
+ name 0_90_KEY_DISPLAY
+ 5898261
+ name 0_90_KEY_MNSELECT
+ 5898263
+ name 0_90_KEY_EXIT
+ 5898264
+ name 0_90_KEY_INPUT
+ 5898266
+ name 0_90_KEY_GUIDE
+ 5898267
+ name 0_90_KEY_FAV
+ 5898269
+ name 0_90_KEY_MENU
+ 5898287
+ name 0_90_KEY_MUP
+ 5898288
+ name 0_90_KEY_MDOWN
+ 5898289
+ name 0_90_KEY_MLEFT
+ 5898290
+ name 0_90_KEY_MRIGHT
+ 5898291
+ name 0_90_KEY_FF
+ 5898292
+ name 0_90_KEY_PLAY
+ 5898293
+ name 0_90_KEY_REW
+ 5898294
+ name 0_90_KEY_REC
+ 5898295
+ name 0_90_KEY_PAUSE
+ 5898296
+ name 0_90_KEY_STOP
+ 5898297
+ name 1_90_KEY_0
+ 2153381888
+ name 1_90_KEY_1
+ 2153381889
+ name 1_90_KEY_2
+ 2153381890
+ name 1_90_KEY_3
+ 2153381891
+ name 1_90_KEY_4
+ 2153381892
+ name 1_90_KEY_5
+ 2153381893
+ name 1_90_KEY_6
+ 2153381894
+ name 1_90_KEY_7
+ 2153381895
+ name 1_90_KEY_8
+ 2153381896
+ name 1_90_KEY_9
+ 2153381897
+ name 1_90_KEY_POWER
+ 2153381898
+ name 1_90_KEY_CH_UP
+ 2153381903
+ name 1_90_KEY_CH_DOWN
+ 2153381904
+ name 1_90_CH_PREVIOUS
+ 2153381907
+ name 1_90_KEY_DISPLAY
+ 2153381909
+ name 1_90_KEY_AV
+ 2153381929
+ name 1_90_KEY_ENTER
+ 2153381931
+ name 1_90_KEY_MENU
+ 2153381935
+ name 1_90_KEY_MUP
+ 2153381936
+ name 1_90_KEY_MDOWN
+ 2153381937
+ name 1_90_KEY_MLEFT
+ 2153381938
+ name 1_90_KEY_MRIGHT
+ 2153381939
+ name 0_91_KEY_0
+ 5963776
+ name 0_91_KEY_1
+ 5963777
+ name 0_91_KEY_2
+ 5963778
+ name 0_91_KEY_3
+ 5963779
+ name 0_91_KEY_4
+ 5963780
+ name 0_91_KEY_5
+ 5963781
+ name 0_91_KEY_6
+ 5963782
+ name 0_91_KEY_7
+ 5963783
+ name 0_91_KEY_8
+ 5963784
+ name 0_91_KEY_9
+ 5963785
+ name 0_91_KEY_POWER
+ 5963786
+ name 0_91_KEY_CH_UP
+ 5963791
+ name 0_91_KEY_CH_DOWN
+ 5963792
+ name 0_91_KEY_MUTE
+ 5963793
+ name 0_91_KEY_VOL_DOWN
+ 5963794
+ name 0_91_CH_PREVIOUS
+ 5963795
+ name 0_91_KEY_VOL_UP
+ 5963796
+ name 0_91_KEY_DISPLAY
+ 5963797
+ name 0_91_KEY_MNSELECT
+ 5963799
+ name 0_91_KEY_EXIT
+ 5963800
+ name 0_91_KEY_INPUT
+ 5963802
+ name 0_91_KEY_GUIDE
+ 5963803
+ name 0_91_KEY_FAV
+ 5963805
+ name 0_91_KEY_MENU
+ 5963823
+ name 0_91_KEY_MUP
+ 5963824
+ name 0_91_KEY_MDOWN
+ 5963825
+ name 0_91_KEY_MLEFT
+ 5963826
+ name 0_91_KEY_MRIGHT
+ 5963827
+ name 0_91_KEY_FF
+ 5963828
+ name 0_91_KEY_PLAY
+ 5963829
+ name 0_91_KEY_REW
+ 5963830
+ name 0_91_KEY_REC
+ 5963831
+ name 0_91_KEY_PAUSE
+ 5963832
+ name 0_91_KEY_STOP
+ 5963833
+ name 1_91_KEY_0
+ 2153447424
+ name 1_91_KEY_1
+ 2153447425
+ name 1_91_KEY_2
+ 2153447426
+ name 1_91_KEY_3
+ 2153447427
+ name 1_91_KEY_4
+ 2153447428
+ name 1_91_KEY_5
+ 2153447429
+ name 1_91_KEY_6
+ 2153447430
+ name 1_91_KEY_7
+ 2153447431
+ name 1_91_KEY_8
+ 2153447432
+ name 1_91_KEY_9
+ 2153447433
+ name 1_91_KEY_POWER
+ 2153447434
+ name 1_91_KEY_CH_UP
+ 2153447439
+ name 1_91_KEY_CH_DOWN
+ 2153447440
+ name 1_91_CH_PREVIOUS
+ 2153447443
+ name 1_91_KEY_DISPLAY
+ 2153447445
+ name 1_91_KEY_EXIT
+ 2153447448
+ name 1_91_KEY_AV
+ 2153447465
+ name 1_91_KEY_ENTER
+ 2153447467
+ name 1_91_KEY_MENU
+ 2153447471
+ name 1_91_KEY_MUP
+ 2153447472
+ name 1_91_KEY_MDOWN
+ 2153447473
+ name 1_91_KEY_MLEFT
+ 2153447474
+ name 1_91_KEY_MRIGHT
+ 2153447475
+ name 0_92_KEY_0
+ 6029312
+ name 0_92_KEY_1
+ 6029313
+ name 0_92_KEY_2
+ 6029314
+ name 0_92_KEY_3
+ 6029315
+ name 0_92_KEY_4
+ 6029316
+ name 0_92_KEY_5
+ 6029317
+ name 0_92_KEY_6
+ 6029318
+ name 0_92_KEY_7
+ 6029319
+ name 0_92_KEY_8
+ 6029320
+ name 0_92_KEY_9
+ 6029321
+ name 0_92_KEY_POWER
+ 6029322
+ name 0_92_KEY_CH_UP
+ 6029327
+ name 0_92_KEY_CH_DOWN
+ 6029328
+ name 0_92_KEY_MUTE
+ 6029329
+ name 0_92_KEY_VOL_DOWN
+ 6029330
+ name 0_92_CH_PREVIOUS
+ 6029331
+ name 0_92_KEY_VOL_UP
+ 6029332
+ name 0_92_KEY_DISPLAY
+ 6029333
+ name 0_92_KEY_MNSELECT
+ 6029335
+ name 0_92_KEY_EXIT
+ 6029336
+ name 0_92_KEY_INPUT
+ 6029338
+ name 0_92_KEY_GUIDE
+ 6029339
+ name 0_92_KEY_FAV
+ 6029341
+ name 0_92_KEY_MENU
+ 6029359
+ name 0_92_KEY_MUP
+ 6029360
+ name 0_92_KEY_MDOWN
+ 6029361
+ name 0_92_KEY_MLEFT
+ 6029362
+ name 0_92_KEY_MRIGHT
+ 6029363
+ name 0_92_KEY_FF
+ 6029364
+ name 0_92_KEY_PLAY
+ 6029365
+ name 0_92_KEY_REW
+ 6029366
+ name 0_92_KEY_REC
+ 6029367
+ name 0_92_KEY_PAUSE
+ 6029368
+ name 0_92_KEY_STOP
+ 6029369
+ name 1_92_KEY_0
+ 2153512960
+ name 1_92_KEY_1
+ 2153512961
+ name 1_92_KEY_2
+ 2153512962
+ name 1_92_KEY_3
+ 2153512963
+ name 1_92_KEY_4
+ 2153512964
+ name 1_92_KEY_5
+ 2153512965
+ name 1_92_KEY_6
+ 2153512966
+ name 1_92_KEY_7
+ 2153512967
+ name 1_92_KEY_8
+ 2153512968
+ name 1_92_KEY_9
+ 2153512969
+ name 1_92_KEY_POWER
+ 2153512970
+ name 1_92_KEY_CH_UP
+ 2153512975
+ name 1_92_KEY_CH_DOWN
+ 2153512976
+ name 1_92_CH_PREVIOUS
+ 2153512979
+ name 1_92_KEY_DISPLAY
+ 2153512981
+ name 1_92_KEY_EXIT
+ 2153512984
+ name 1_92_KEY_INPUT
+ 2153512986
+ name 1_92_KEY_GUIDE
+ 2153512987
+ name 1_92_KEY_SELECT
+ 2153512990
+ name 1_92_KEY_AV
+ 2153513001
+ name 1_92_KEY_SAT
+ 2153513002
+ name 1_92_KEY_ENTER
+ 2153513003
+ name 1_92_KEY_MENU
+ 2153513007
+ name 1_92_KEY_MUP
+ 2153513008
+ name 1_92_KEY_MDOWN
+ 2153513009
+ name 1_92_KEY_MLEFT
+ 2153513010
+ name 1_92_KEY_MRIGHT
+ 2153513011
+ name 0_93_KEY_0
+ 6094848
+ name 0_93_KEY_1
+ 6094849
+ name 0_93_KEY_2
+ 6094850
+ name 0_93_KEY_3
+ 6094851
+ name 0_93_KEY_4
+ 6094852
+ name 0_93_KEY_5
+ 6094853
+ name 0_93_KEY_6
+ 6094854
+ name 0_93_KEY_7
+ 6094855
+ name 0_93_KEY_8
+ 6094856
+ name 0_93_KEY_9
+ 6094857
+ name 0_93_KEY_POWER
+ 6094858
+ name 0_93_KEY_CH_UP
+ 6094863
+ name 0_93_KEY_CH_DOWN
+ 6094864
+ name 0_93_KEY_MUTE
+ 6094865
+ name 0_93_KEY_VOL_DOWN
+ 6094866
+ name 0_93_CH_PREVIOUS
+ 6094867
+ name 0_93_KEY_VOL_UP
+ 6094868
+ name 0_93_KEY_DISPLAY
+ 6094869
+ name 0_93_KEY_MNSELECT
+ 6094871
+ name 0_93_KEY_EXIT
+ 6094872
+ name 0_93_KEY_INPUT
+ 6094874
+ name 0_93_KEY_GUIDE
+ 6094875
+ name 0_93_KEY_FAV
+ 6094877
+ name 0_93_KEY_MENU
+ 6094895
+ name 0_93_KEY_MUP
+ 6094896
+ name 0_93_KEY_MDOWN
+ 6094897
+ name 0_93_KEY_MLEFT
+ 6094898
+ name 0_93_KEY_MRIGHT
+ 6094899
+ name 0_93_KEY_FF
+ 6094900
+ name 0_93_KEY_PLAY
+ 6094901
+ name 0_93_KEY_REW
+ 6094902
+ name 0_93_KEY_REC
+ 6094903
+ name 0_93_KEY_PAUSE
+ 6094904
+ name 0_93_KEY_STOP
+ 6094905
+ name 1_93_KEY_0
+ 2153578496
+ name 1_93_KEY_1
+ 2153578497
+ name 1_93_KEY_2
+ 2153578498
+ name 1_93_KEY_3
+ 2153578499
+ name 1_93_KEY_4
+ 2153578500
+ name 1_93_KEY_5
+ 2153578501
+ name 1_93_KEY_6
+ 2153578502
+ name 1_93_KEY_7
+ 2153578503
+ name 1_93_KEY_8
+ 2153578504
+ name 1_93_KEY_9
+ 2153578505
+ name 1_93_KEY_POWER
+ 2153578506
+ name 1_93_KEY_CH_UP
+ 2153578511
+ name 1_93_KEY_CH_DOWN
+ 2153578512
+ name 1_93_CH_PREVIOUS
+ 2153578515
+ name 1_93_KEY_ENTER
+ 2153578539
+ name 0_94_KEY_0
+ 6160384
+ name 0_94_KEY_1
+ 6160385
+ name 0_94_KEY_2
+ 6160386
+ name 0_94_KEY_3
+ 6160387
+ name 0_94_KEY_4
+ 6160388
+ name 0_94_KEY_5
+ 6160389
+ name 0_94_KEY_6
+ 6160390
+ name 0_94_KEY_7
+ 6160391
+ name 0_94_KEY_8
+ 6160392
+ name 0_94_KEY_9
+ 6160393
+ name 0_94_KEY_POWER
+ 6160394
+ name 0_94_KEY_CH_UP
+ 6160399
+ name 0_94_KEY_CH_DOWN
+ 6160400
+ name 0_94_KEY_MUTE
+ 6160401
+ name 0_94_KEY_VOL_DOWN
+ 6160402
+ name 0_94_CH_PREVIOUS
+ 6160403
+ name 0_94_KEY_VOL_UP
+ 6160404
+ name 0_94_KEY_DISPLAY
+ 6160405
+ name 0_94_KEY_MNSELECT
+ 6160407
+ name 0_94_KEY_EXIT
+ 6160408
+ name 0_94_KEY_INPUT
+ 6160410
+ name 0_94_KEY_GUIDE
+ 6160411
+ name 0_94_KEY_FAV
+ 6160413
+ name 0_94_KEY_MENU
+ 6160431
+ name 0_94_KEY_MUP
+ 6160432
+ name 0_94_KEY_MDOWN
+ 6160433
+ name 0_94_KEY_MLEFT
+ 6160434
+ name 0_94_KEY_MRIGHT
+ 6160435
+ name 0_94_KEY_FF
+ 6160436
+ name 0_94_KEY_PLAY
+ 6160437
+ name 0_94_KEY_REW
+ 6160438
+ name 0_94_KEY_REC
+ 6160439
+ name 0_94_KEY_PAUSE
+ 6160440
+ name 0_94_KEY_STOP
+ 6160441
+ name 1_94_KEY_0
+ 2153644032
+ name 1_94_KEY_1
+ 2153644033
+ name 1_94_KEY_2
+ 2153644034
+ name 1_94_KEY_3
+ 2153644035
+ name 1_94_KEY_4
+ 2153644036
+ name 1_94_KEY_5
+ 2153644037
+ name 1_94_KEY_6
+ 2153644038
+ name 1_94_KEY_7
+ 2153644039
+ name 1_94_KEY_8
+ 2153644040
+ name 1_94_KEY_9
+ 2153644041
+ name 1_94_KEY_POWER
+ 2153644042
+ name 1_94_KEY_CH_UP
+ 2153644047
+ name 1_94_KEY_CH_DOWN
+ 2153644048
+ name 1_94_CH_PREVIOUS
+ 2153644051
+ name 1_94_KEY_ENTER
+ 2153644075
+ name 0_95_KEY_0
+ 6225920
+ name 0_95_KEY_1
+ 6225921
+ name 0_95_KEY_2
+ 6225922
+ name 0_95_KEY_3
+ 6225923
+ name 0_95_KEY_4
+ 6225924
+ name 0_95_KEY_5
+ 6225925
+ name 0_95_KEY_6
+ 6225926
+ name 0_95_KEY_7
+ 6225927
+ name 0_95_KEY_8
+ 6225928
+ name 0_95_KEY_9
+ 6225929
+ name 0_95_KEY_POWER
+ 6225930
+ name 0_95_KEY_CH_UP
+ 6225935
+ name 0_95_KEY_CH_DOWN
+ 6225936
+ name 0_95_KEY_MUTE
+ 6225937
+ name 0_95_KEY_VOL_DOWN
+ 6225938
+ name 0_95_CH_PREVIOUS
+ 6225939
+ name 0_95_KEY_VOL_UP
+ 6225940
+ name 0_95_KEY_DISPLAY
+ 6225941
+ name 0_95_KEY_MNSELECT
+ 6225943
+ name 0_95_KEY_EXIT
+ 6225944
+ name 0_95_KEY_INPUT
+ 6225946
+ name 0_95_KEY_GUIDE
+ 6225947
+ name 0_95_KEY_ENTER
+ 6225963
+ name 0_95_KEY_MENU
+ 6225967
+ name 0_95_KEY_MUP
+ 6225968
+ name 0_95_KEY_MDOWN
+ 6225969
+ name 0_95_KEY_MLEFT
+ 6225970
+ name 0_95_KEY_MRIGHT
+ 6225971
+ name 0_95_KEY_FF
+ 6225972
+ name 0_95_KEY_PLAY
+ 6225973
+ name 0_95_KEY_REW
+ 6225974
+ name 0_95_KEY_REC
+ 6225975
+ name 0_95_KEY_PAUSE
+ 6225976
+ name 0_95_KEY_STOP
+ 6225977
+ name 1_95_KEY_0
+ 2153709568
+ name 1_95_KEY_1
+ 2153709569
+ name 1_95_KEY_2
+ 2153709570
+ name 1_95_KEY_3
+ 2153709571
+ name 1_95_KEY_4
+ 2153709572
+ name 1_95_KEY_5
+ 2153709573
+ name 1_95_KEY_6
+ 2153709574
+ name 1_95_KEY_7
+ 2153709575
+ name 1_95_KEY_8
+ 2153709576
+ name 1_95_KEY_9
+ 2153709577
+ name 1_95_KEY_POWER
+ 2153709578
+ name 1_95_KEY_CH_UP
+ 2153709583
+ name 1_95_KEY_CH_DOWN
+ 2153709584
+ name 0_96_KEY_0
+ 6291456
+ name 0_96_KEY_1
+ 6291457
+ name 0_96_KEY_2
+ 6291458
+ name 0_96_KEY_3
+ 6291459
+ name 0_96_KEY_4
+ 6291460
+ name 0_96_KEY_5
+ 6291461
+ name 0_96_KEY_6
+ 6291462
+ name 0_96_KEY_7
+ 6291463
+ name 0_96_KEY_8
+ 6291464
+ name 0_96_KEY_9
+ 6291465
+ name 0_96_KEY_POWER
+ 6291466
+ name 0_96_KEY_CH_UP
+ 6291471
+ name 0_96_KEY_CH_DOWN
+ 6291472
+ name 0_96_KEY_MUTE
+ 6291473
+ name 0_96_KEY_VOL_DOWN
+ 6291474
+ name 0_96_CH_PREVIOUS
+ 6291475
+ name 0_96_KEY_VOL_UP
+ 6291476
+ name 0_96_KEY_DISPLAY
+ 6291477
+ name 0_96_KEY_MNSELECT
+ 6291479
+ name 0_96_KEY_INPUT
+ 6291482
+ name 0_96_KEY_GUIDE
+ 6291483
+ name 0_96_KEY_MENU
+ 6291503
+ name 0_96_KEY_MUP
+ 6291504
+ name 0_96_KEY_MDOWN
+ 6291505
+ name 0_96_KEY_MLEFT
+ 6291506
+ name 0_96_KEY_MRIGHT
+ 6291507
+ name 0_96_KEY_FF
+ 6291508
+ name 0_96_KEY_REW
+ 6291510
+ name 0_96_KEY_PAUSE
+ 6291512
+ name 1_96_KEY_0
+ 2153775104
+ name 1_96_KEY_1
+ 2153775105
+ name 1_96_KEY_2
+ 2153775106
+ name 1_96_KEY_3
+ 2153775107
+ name 1_96_KEY_4
+ 2153775108
+ name 1_96_KEY_5
+ 2153775109
+ name 1_96_KEY_6
+ 2153775110
+ name 1_96_KEY_7
+ 2153775111
+ name 1_96_KEY_8
+ 2153775112
+ name 1_96_KEY_9
+ 2153775113
+ name 1_96_KEY_POWER
+ 2153775114
+ name 1_96_KEY_CH_UP
+ 2153775119
+ name 1_96_KEY_CH_DOWN
+ 2153775120
+ name 0_97_KEY_0
+ 6356992
+ name 0_97_KEY_1
+ 6356993
+ name 0_97_KEY_2
+ 6356994
+ name 0_97_KEY_3
+ 6356995
+ name 0_97_KEY_4
+ 6356996
+ name 0_97_KEY_5
+ 6356997
+ name 0_97_KEY_6
+ 6356998
+ name 0_97_KEY_7
+ 6356999
+ name 0_97_KEY_8
+ 6357000
+ name 0_97_KEY_9
+ 6357001
+ name 0_97_KEY_POWER
+ 6357002
+ name 0_97_KEY_CH_UP
+ 6357007
+ name 0_97_KEY_CH_DOWN
+ 6357008
+ name 0_97_KEY_MUTE
+ 6357009
+ name 0_97_KEY_VOL_DOWN
+ 6357010
+ name 0_97_CH_PREVIOUS
+ 6357011
+ name 0_97_KEY_VOL_UP
+ 6357012
+ name 0_97_KEY_DISPLAY
+ 6357013
+ name 0_97_KEY_MNSELECT
+ 6357015
+ name 0_97_KEY_EXIT
+ 6357016
+ name 0_97_KEY_INPUT
+ 6357018
+ name 0_97_KEY_GUIDE
+ 6357019
+ name 0_97_KEY_ENTER
+ 6357035
+ name 0_97_KEY_MENU
+ 6357039
+ name 0_97_KEY_MUP
+ 6357040
+ name 0_97_KEY_MDOWN
+ 6357041
+ name 0_97_KEY_MLEFT
+ 6357042
+ name 0_97_KEY_MRIGHT
+ 6357043
+ name 0_97_KEY_FF
+ 6357044
+ name 0_97_KEY_PLAY
+ 6357045
+ name 0_97_KEY_REW
+ 6357046
+ name 0_97_KEY_REC
+ 6357047
+ name 0_97_KEY_PAUSE
+ 6357048
+ name 0_97_KEY_STOP
+ 6357049
+ name 1_97_KEY_0
+ 2153840640
+ name 1_97_KEY_1
+ 2153840641
+ name 1_97_KEY_2
+ 2153840642
+ name 1_97_KEY_3
+ 2153840643
+ name 1_97_KEY_4
+ 2153840644
+ name 1_97_KEY_5
+ 2153840645
+ name 1_97_KEY_6
+ 2153840646
+ name 1_97_KEY_7
+ 2153840647
+ name 1_97_KEY_8
+ 2153840648
+ name 1_97_KEY_9
+ 2153840649
+ name 1_97_KEY_POWER
+ 2153840650
+ name 1_97_KEY_CH_UP
+ 2153840655
+ name 1_97_KEY_CH_DOWN
+ 2153840656
+ name 1_97_CH_PREVIOUS
+ 2153840659
+ name 1_97_KEY_ENTER
+ 2153840683
+ name 0_98_KEY_0
+ 6422528
+ name 0_98_KEY_1
+ 6422529
+ name 0_98_KEY_2
+ 6422530
+ name 0_98_KEY_3
+ 6422531
+ name 0_98_KEY_4
+ 6422532
+ name 0_98_KEY_5
+ 6422533
+ name 0_98_KEY_6
+ 6422534
+ name 0_98_KEY_7
+ 6422535
+ name 0_98_KEY_8
+ 6422536
+ name 0_98_KEY_9
+ 6422537
+ name 0_98_KEY_POWER
+ 6422538
+ name 0_98_KEY_CH_UP
+ 6422543
+ name 0_98_KEY_CH_DOWN
+ 6422544
+ name 0_98_KEY_MUTE
+ 6422545
+ name 0_98_KEY_VOL_DOWN
+ 6422546
+ name 0_98_CH_PREVIOUS
+ 6422547
+ name 0_98_KEY_VOL_UP
+ 6422548
+ name 0_98_KEY_DISPLAY
+ 6422549
+ name 0_98_KEY_MNSELECT
+ 6422551
+ name 0_98_KEY_EXIT
+ 6422552
+ name 0_98_KEY_INPUT
+ 6422554
+ name 0_98_KEY_GUIDE
+ 6422555
+ name 0_98_KEY_MENU
+ 6422575
+ name 0_98_KEY_MUP
+ 6422576
+ name 0_98_KEY_MDOWN
+ 6422577
+ name 0_98_KEY_MLEFT
+ 6422578
+ name 0_98_KEY_MRIGHT
+ 6422579
+ name 0_98_KEY_FF
+ 6422580
+ name 0_98_KEY_PLAY
+ 6422581
+ name 0_98_KEY_REW
+ 6422582
+ name 0_98_KEY_REC
+ 6422583
+ name 0_98_KEY_PAUSE
+ 6422584
+ name 0_98_KEY_STOP
+ 6422585
+ name 1_98_KEY_0
+ 2153906176
+ name 1_98_KEY_1
+ 2153906177
+ name 1_98_KEY_2
+ 2153906178
+ name 1_98_KEY_3
+ 2153906179
+ name 1_98_KEY_4
+ 2153906180
+ name 1_98_KEY_5
+ 2153906181
+ name 1_98_KEY_6
+ 2153906182
+ name 1_98_KEY_7
+ 2153906183
+ name 1_98_KEY_8
+ 2153906184
+ name 1_98_KEY_9
+ 2153906185
+ name 1_98_KEY_POWER
+ 2153906186
+ name 1_98_KEY_CH_UP
+ 2153906191
+ name 1_98_KEY_CH_DOWN
+ 2153906192
+ name 0_99_KEY_0
+ 6488064
+ name 0_99_KEY_1
+ 6488065
+ name 0_99_KEY_2
+ 6488066
+ name 0_99_KEY_3
+ 6488067
+ name 0_99_KEY_4
+ 6488068
+ name 0_99_KEY_5
+ 6488069
+ name 0_99_KEY_6
+ 6488070
+ name 0_99_KEY_7
+ 6488071
+ name 0_99_KEY_8
+ 6488072
+ name 0_99_KEY_9
+ 6488073
+ name 0_99_KEY_POWER
+ 6488074
+ name 0_99_KEY_CH_UP
+ 6488079
+ name 0_99_KEY_CH_DOWN
+ 6488080
+ name 0_99_CH_PREVIOUS
+ 6488083
+ name 0_99_KEY_DISPLAY
+ 6488085
+ name 0_99_KEY_MNSELECT
+ 6488087
+ name 0_99_KEY_GUIDE
+ 6488091
+ name 0_99_KEY_FAV
+ 6488093
+ name 0_99_KEY_ENTER
+ 6488107
+ name 0_99_KEY_MUP
+ 6488112
+ name 0_99_KEY_MDOWN
+ 6488113
+ name 0_99_KEY_MLEFT
+ 6488114
+ name 0_99_KEY_MRIGHT
+ 6488115
+ name 0_99_KEY_FF
+ 6488116
+ name 0_99_KEY_PLAY
+ 6488117
+ name 0_99_KEY_REW
+ 6488118
+ name 0_99_KEY_REC
+ 6488119
+ name 0_99_KEY_PAUSE
+ 6488120
+ name 0_99_KEY_STOP
+ 6488121
+ name 1_99_KEY_0
+ 2153971712
+ name 1_99_KEY_1
+ 2153971713
+ name 1_99_KEY_2
+ 2153971714
+ name 1_99_KEY_3
+ 2153971715
+ name 1_99_KEY_4
+ 2153971716
+ name 1_99_KEY_5
+ 2153971717
+ name 1_99_KEY_6
+ 2153971718
+ name 1_99_KEY_7
+ 2153971719
+ name 1_99_KEY_8
+ 2153971720
+ name 1_99_KEY_9
+ 2153971721
+ name 1_99_KEY_POWER
+ 2153971722
+ name 1_99_KEY_CH_UP
+ 2153971727
+ name 1_99_KEY_CH_DOWN
+ 2153971728
+ name 0_100_KEY_0
+ 6553600
+ name 0_100_KEY_1
+ 6553601
+ name 0_100_KEY_2
+ 6553602
+ name 0_100_KEY_3
+ 6553603
+ name 0_100_KEY_4
+ 6553604
+ name 0_100_KEY_5
+ 6553605
+ name 0_100_KEY_6
+ 6553606
+ name 0_100_KEY_7
+ 6553607
+ name 0_100_KEY_8
+ 6553608
+ name 0_100_KEY_9
+ 6553609
+ name 0_100_KEY_POWER
+ 6553610
+ name 0_100_KEY_CH_UP
+ 6553615
+ name 0_100_KEY_CH_DOWN
+ 6553616
+ name 0_100_KEY_MUTE
+ 6553617
+ name 0_100_KEY_VOL_DOWN
+ 6553618
+ name 0_100_CH_PREVIOUS
+ 6553619
+ name 0_100_KEY_VOL_UP
+ 6553620
+ name 0_100_KEY_DISPLAY
+ 6553621
+ name 0_100_KEY_MNSELECT
+ 6553623
+ name 0_100_KEY_EXIT
+ 6553624
+ name 0_100_KEY_INPUT
+ 6553626
+ name 0_100_KEY_GUIDE
+ 6553627
+ name 0_100_KEY_ENTER
+ 6553643
+ name 0_100_KEY_MENU
+ 6553647
+ name 0_100_KEY_MUP
+ 6553648
+ name 0_100_KEY_MDOWN
+ 6553649
+ name 0_100_KEY_MLEFT
+ 6553650
+ name 0_100_KEY_MRIGHT
+ 6553651
+ name 0_100_KEY_FF
+ 6553652
+ name 0_100_KEY_PLAY
+ 6553653
+ name 0_100_KEY_REW
+ 6553654
+ name 0_100_KEY_REC
+ 6553655
+ name 0_100_KEY_PAUSE
+ 6553656
+ name 0_100_KEY_STOP
+ 6553657
+ name 1_100_KEY_0
+ 2154037248
+ name 1_100_KEY_1
+ 2154037249
+ name 1_100_KEY_2
+ 2154037250
+ name 1_100_KEY_3
+ 2154037251
+ name 1_100_KEY_4
+ 2154037252
+ name 1_100_KEY_5
+ 2154037253
+ name 1_100_KEY_6
+ 2154037254
+ name 1_100_KEY_7
+ 2154037255
+ name 1_100_KEY_8
+ 2154037256
+ name 1_100_KEY_9
+ 2154037257
+ name 1_100_KEY_POWER
+ 2154037258
+ name 1_100_KEY_CH_UP
+ 2154037263
+ name 1_100_KEY_CH_DOWN
+ 2154037264
+ name 1_100_CH_PREVIOUS
+ 2154037267
+ name 1_100_KEY_ENTER
+ 2154037291
+ name 0_101_KEY_0
+ 6619136
+ name 0_101_KEY_1
+ 6619137
+ name 0_101_KEY_2
+ 6619138
+ name 0_101_KEY_3
+ 6619139
+ name 0_101_KEY_4
+ 6619140
+ name 0_101_KEY_5
+ 6619141
+ name 0_101_KEY_6
+ 6619142
+ name 0_101_KEY_7
+ 6619143
+ name 0_101_KEY_8
+ 6619144
+ name 0_101_KEY_9
+ 6619145
+ name 0_101_KEY_POWER
+ 6619146
+ name 0_101_KEY_CH_UP
+ 6619151
+ name 0_101_KEY_CH_DOWN
+ 6619152
+ name 0_101_KEY_MUTE
+ 6619153
+ name 0_101_KEY_VOL_DOWN
+ 6619154
+ name 0_101_CH_PREVIOUS
+ 6619155
+ name 0_101_KEY_VOL_UP
+ 6619156
+ name 0_101_KEY_DISPLAY
+ 6619157
+ name 0_101_KEY_MNSELECT
+ 6619159
+ name 0_101_KEY_EXIT
+ 6619160
+ name 0_101_KEY_INPUT
+ 6619162
+ name 0_101_KEY_GUIDE
+ 6619163
+ name 0_101_KEY_MENU
+ 6619183
+ name 0_101_KEY_MUP
+ 6619184
+ name 0_101_KEY_MDOWN
+ 6619185
+ name 0_101_KEY_MLEFT
+ 6619186
+ name 0_101_KEY_MRIGHT
+ 6619187
+ name 0_101_KEY_FF
+ 6619188
+ name 0_101_KEY_PLAY
+ 6619189
+ name 0_101_KEY_REW
+ 6619190
+ name 0_101_KEY_REC
+ 6619191
+ name 0_101_KEY_PAUSE
+ 6619192
+ name 0_101_KEY_STOP
+ 6619193
+ name 1_101_KEY_0
+ 2154102784
+ name 1_101_KEY_1
+ 2154102785
+ name 1_101_KEY_2
+ 2154102786
+ name 1_101_KEY_3
+ 2154102787
+ name 1_101_KEY_4
+ 2154102788
+ name 1_101_KEY_5
+ 2154102789
+ name 1_101_KEY_6
+ 2154102790
+ name 1_101_KEY_7
+ 2154102791
+ name 1_101_KEY_8
+ 2154102792
+ name 1_101_KEY_9
+ 2154102793
+ name 1_101_KEY_POWER
+ 2154102794
+ name 1_101_KEY_CH_UP
+ 2154102799
+ name 1_101_KEY_CH_DOWN
+ 2154102800
+ name 1_101_KEY_ENTER
+ 2154102827
+ name 0_102_KEY_0
+ 6684672
+ name 0_102_KEY_1
+ 6684673
+ name 0_102_KEY_2
+ 6684674
+ name 0_102_KEY_3
+ 6684675
+ name 0_102_KEY_4
+ 6684676
+ name 0_102_KEY_5
+ 6684677
+ name 0_102_KEY_6
+ 6684678
+ name 0_102_KEY_7
+ 6684679
+ name 0_102_KEY_8
+ 6684680
+ name 0_102_KEY_9
+ 6684681
+ name 0_102_KEY_POWER
+ 6684682
+ name 0_102_KEY_CH_UP
+ 6684687
+ name 0_102_KEY_CH_DOWN
+ 6684688
+ name 0_102_KEY_MUTE
+ 6684689
+ name 0_102_KEY_VOL_DOWN
+ 6684690
+ name 0_102_CH_PREVIOUS
+ 6684691
+ name 0_102_KEY_VOL_UP
+ 6684692
+ name 0_102_KEY_DISPLAY
+ 6684693
+ name 0_102_KEY_MNSELECT
+ 6684695
+ name 0_102_KEY_INPUT
+ 6684698
+ name 0_102_KEY_GUIDE
+ 6684699
+ name 0_102_KEY_MENU
+ 6684719
+ name 1_102_KEY_0
+ 2154168320
+ name 1_102_KEY_1
+ 2154168321
+ name 1_102_KEY_2
+ 2154168322
+ name 1_102_KEY_3
+ 2154168323
+ name 1_102_KEY_4
+ 2154168324
+ name 1_102_KEY_5
+ 2154168325
+ name 1_102_KEY_6
+ 2154168326
+ name 1_102_KEY_7
+ 2154168327
+ name 1_102_KEY_8
+ 2154168328
+ name 1_102_KEY_9
+ 2154168329
+ name 1_102_KEY_POWER
+ 2154168330
+ name 1_102_KEY_CH_UP
+ 2154168335
+ name 1_102_KEY_CH_DOWN
+ 2154168336
+ name 1_102_CH_PREVIOUS
+ 2154168339
+ name 1_102_KEY_ENTER
+ 2154168363
+ name 0_103_KEY_0
+ 6750208
+ name 0_103_KEY_1
+ 6750209
+ name 0_103_KEY_2
+ 6750210
+ name 0_103_KEY_3
+ 6750211
+ name 0_103_KEY_4
+ 6750212
+ name 0_103_KEY_5
+ 6750213
+ name 0_103_KEY_6
+ 6750214
+ name 0_103_KEY_7
+ 6750215
+ name 0_103_KEY_8
+ 6750216
+ name 0_103_KEY_9
+ 6750217
+ name 0_103_KEY_POWER
+ 6750218
+ name 0_103_KEY_CH_UP
+ 6750223
+ name 0_103_KEY_CH_DOWN
+ 6750224
+ name 0_103_KEY_MUTE
+ 6750225
+ name 0_103_KEY_VOL_DOWN
+ 6750226
+ name 0_103_CH_PREVIOUS
+ 6750227
+ name 0_103_KEY_VOL_UP
+ 6750228
+ name 0_103_KEY_DISPLAY
+ 6750229
+ name 0_103_KEY_MNSELECT
+ 6750231
+ name 0_103_KEY_EXIT
+ 6750232
+ name 0_103_KEY_MENU
+ 6750255
+ name 1_103_KEY_0
+ 2154233856
+ name 1_103_KEY_1
+ 2154233857
+ name 1_103_KEY_2
+ 2154233858
+ name 1_103_KEY_3
+ 2154233859
+ name 1_103_KEY_4
+ 2154233860
+ name 1_103_KEY_5
+ 2154233861
+ name 1_103_KEY_6
+ 2154233862
+ name 1_103_KEY_7
+ 2154233863
+ name 1_103_KEY_8
+ 2154233864
+ name 1_103_KEY_9
+ 2154233865
+ name 1_103_KEY_POWER
+ 2154233866
+ name 1_103_KEY_CH_UP
+ 2154233871
+ name 1_103_KEY_CH_DOWN
+ 2154233872
+ name 1_103_CH_PREVIOUS
+ 2154233875
+ name 1_103_KEY_ENTER
+ 2154233899
+ name 0_104_KEY_0
+ 6815744
+ name 0_104_KEY_1
+ 6815745
+ name 0_104_KEY_2
+ 6815746
+ name 0_104_KEY_3
+ 6815747
+ name 0_104_KEY_4
+ 6815748
+ name 0_104_KEY_5
+ 6815749
+ name 0_104_KEY_6
+ 6815750
+ name 0_104_KEY_7
+ 6815751
+ name 0_104_KEY_8
+ 6815752
+ name 0_104_KEY_9
+ 6815753
+ name 0_104_KEY_POWER
+ 6815754
+ name 0_104_KEY_CH_UP
+ 6815759
+ name 0_104_KEY_CH_DOWN
+ 6815760
+ name 0_104_KEY_MUTE
+ 6815761
+ name 0_104_KEY_VOL_DOWN
+ 6815762
+ name 0_104_CH_PREVIOUS
+ 6815763
+ name 0_104_KEY_VOL_UP
+ 6815764
+ name 0_104_KEY_DISPLAY
+ 6815765
+ name 0_104_KEY_MNSELECT
+ 6815767
+ name 0_104_KEY_EXIT
+ 6815768
+ name 0_104_KEY_INPUT
+ 6815770
+ name 0_104_KEY_GUIDE
+ 6815771
+ name 0_104_KEY_ENTER
+ 6815787
+ name 0_104_KEY_MENU
+ 6815791
+ name 0_104_KEY_MUP
+ 6815792
+ name 0_104_KEY_MDOWN
+ 6815793
+ name 0_104_KEY_MLEFT
+ 6815794
+ name 0_104_KEY_MRIGHT
+ 6815795
+ name 1_104_KEY_0
+ 2154299392
+ name 1_104_KEY_1
+ 2154299393
+ name 1_104_KEY_2
+ 2154299394
+ name 1_104_KEY_3
+ 2154299395
+ name 1_104_KEY_4
+ 2154299396
+ name 1_104_KEY_5
+ 2154299397
+ name 1_104_KEY_6
+ 2154299398
+ name 1_104_KEY_7
+ 2154299399
+ name 1_104_KEY_8
+ 2154299400
+ name 1_104_KEY_9
+ 2154299401
+ name 1_104_KEY_POWER
+ 2154299402
+ name 1_104_KEY_CH_UP
+ 2154299407
+ name 1_104_KEY_CH_DOWN
+ 2154299408
+ name 1_104_CH_PREVIOUS
+ 2154299411
+ name 1_104_KEY_ENTER
+ 2154299435
+ name 0_105_KEY_0
+ 6881280
+ name 0_105_KEY_1
+ 6881281
+ name 0_105_KEY_2
+ 6881282
+ name 0_105_KEY_3
+ 6881283
+ name 0_105_KEY_4
+ 6881284
+ name 0_105_KEY_5
+ 6881285
+ name 0_105_KEY_6
+ 6881286
+ name 0_105_KEY_7
+ 6881287
+ name 0_105_KEY_8
+ 6881288
+ name 0_105_KEY_9
+ 6881289
+ name 0_105_KEY_POWER
+ 6881290
+ name 0_105_KEY_CH_UP
+ 6881295
+ name 0_105_KEY_CH_DOWN
+ 6881296
+ name 0_105_KEY_MUTE
+ 6881297
+ name 0_105_KEY_VOL_DOWN
+ 6881298
+ name 0_105_CH_PREVIOUS
+ 6881299
+ name 0_105_KEY_VOL_UP
+ 6881300
+ name 0_105_KEY_INPUT
+ 6881306
+ name 1_105_KEY_0
+ 2154364928
+ name 1_105_KEY_1
+ 2154364929
+ name 1_105_KEY_2
+ 2154364930
+ name 1_105_KEY_3
+ 2154364931
+ name 1_105_KEY_4
+ 2154364932
+ name 1_105_KEY_5
+ 2154364933
+ name 1_105_KEY_6
+ 2154364934
+ name 1_105_KEY_7
+ 2154364935
+ name 1_105_KEY_8
+ 2154364936
+ name 1_105_KEY_9
+ 2154364937
+ name 1_105_KEY_POWER
+ 2154364938
+ name 1_105_KEY_CH_UP
+ 2154364943
+ name 1_105_KEY_CH_DOWN
+ 2154364944
+ name 1_105_KEY_MUTE
+ 2154364945
+ name 1_105_KEY_VOL_DOWN
+ 2154364946
+ name 1_105_CH_PREVIOUS
+ 2154364947
+ name 1_105_KEY_VOL_UP
+ 2154364948
+ name 1_105_KEY_DISPLAY
+ 2154364949
+ name 1_105_KEY_EXIT
+ 2154364952
+ name 1_105_KEY_INPUT
+ 2154364954
+ name 1_105_KEY_GUIDE
+ 2154364955
+ name 1_105_KEY_SELECT
+ 2154364958
+ name 1_105_KEY_AV
+ 2154364969
+ name 1_105_KEY_SAT
+ 2154364970
+ name 1_105_KEY_ENTER
+ 2154364971
+ name 1_105_KEY_MENU
+ 2154364975
+ name 1_105_KEY_MUP
+ 2154364976
+ name 1_105_KEY_MDOWN
+ 2154364977
+ name 1_105_KEY_MLEFT
+ 2154364978
+ name 1_105_KEY_MRIGHT
+ 2154364979
+ name 1_105_KEY_FF
+ 2154364980
+ name 1_105_KEY_PLAY
+ 2154364981
+ name 1_105_KEY_REW
+ 2154364982
+ name 1_105_KEY_REC
+ 2154364983
+ name 1_105_KEY_PAUSE
+ 2154364984
+ name 1_105_KEY_STOP
+ 2154364985
+ name 0_106_KEY_0
+ 6946816
+ name 0_106_KEY_1
+ 6946817
+ name 0_106_KEY_2
+ 6946818
+ name 0_106_KEY_3
+ 6946819
+ name 0_106_KEY_4
+ 6946820
+ name 0_106_KEY_5
+ 6946821
+ name 0_106_KEY_6
+ 6946822
+ name 0_106_KEY_7
+ 6946823
+ name 0_106_KEY_8
+ 6946824
+ name 0_106_KEY_9
+ 6946825
+ name 0_106_KEY_POWER
+ 6946826
+ name 0_106_KEY_CH_UP
+ 6946831
+ name 0_106_KEY_CH_DOWN
+ 6946832
+ name 0_106_KEY_MUTE
+ 6946833
+ name 0_106_KEY_VOL_DOWN
+ 6946834
+ name 0_106_CH_PREVIOUS
+ 6946835
+ name 0_106_KEY_VOL_UP
+ 6946836
+ name 0_106_KEY_DISPLAY
+ 6946837
+ name 0_106_KEY_MNSELECT
+ 6946839
+ name 0_106_KEY_EXIT
+ 6946840
+ name 0_106_KEY_INPUT
+ 6946842
+ name 0_106_KEY_GUIDE
+ 6946843
+ name 0_106_KEY_ENTER
+ 6946859
+ name 0_106_KEY_MUP
+ 6946864
+ name 0_106_KEY_MDOWN
+ 6946865
+ name 0_106_KEY_MLEFT
+ 6946866
+ name 0_106_KEY_MRIGHT
+ 6946867
+ name 1_106_KEY_0
+ 2154430464
+ name 1_106_KEY_1
+ 2154430465
+ name 1_106_KEY_2
+ 2154430466
+ name 1_106_KEY_3
+ 2154430467
+ name 1_106_KEY_4
+ 2154430468
+ name 1_106_KEY_5
+ 2154430469
+ name 1_106_KEY_6
+ 2154430470
+ name 1_106_KEY_7
+ 2154430471
+ name 1_106_KEY_8
+ 2154430472
+ name 1_106_KEY_9
+ 2154430473
+ name 1_106_KEY_POWER
+ 2154430474
+ name 1_106_KEY_CH_UP
+ 2154430479
+ name 1_106_KEY_CH_DOWN
+ 2154430480
+ name 1_106_KEY_MUTE
+ 2154430481
+ name 1_106_KEY_VOL_DOWN
+ 2154430482
+ name 1_106_CH_PREVIOUS
+ 2154430483
+ name 1_106_KEY_VOL_UP
+ 2154430484
+ name 1_106_KEY_DISPLAY
+ 2154430485
+ name 1_106_KEY_EXIT
+ 2154430488
+ name 1_106_KEY_INPUT
+ 2154430490
+ name 1_106_KEY_GUIDE
+ 2154430491
+ name 1_106_KEY_SELECT
+ 2154430494
+ name 1_106_KEY_AV
+ 2154430505
+ name 1_106_KEY_SAT
+ 2154430506
+ name 1_106_KEY_ENTER
+ 2154430507
+ name 1_106_KEY_MENU
+ 2154430511
+ name 1_106_KEY_MUP
+ 2154430512
+ name 1_106_KEY_MDOWN
+ 2154430513
+ name 1_106_KEY_MLEFT
+ 2154430514
+ name 1_106_KEY_MRIGHT
+ 2154430515
+ name 1_106_KEY_FF
+ 2154430516
+ name 1_106_KEY_PLAY
+ 2154430517
+ name 1_106_KEY_REW
+ 2154430518
+ name 1_106_KEY_REC
+ 2154430519
+ name 1_106_KEY_PAUSE
+ 2154430520
+ name 1_106_KEY_STOP
+ 2154430521
+ name 0_107_KEY_0
+ 7012352
+ name 0_107_KEY_1
+ 7012353
+ name 0_107_KEY_2
+ 7012354
+ name 0_107_KEY_3
+ 7012355
+ name 0_107_KEY_4
+ 7012356
+ name 0_107_KEY_5
+ 7012357
+ name 0_107_KEY_6
+ 7012358
+ name 0_107_KEY_7
+ 7012359
+ name 0_107_KEY_8
+ 7012360
+ name 0_107_KEY_9
+ 7012361
+ name 0_107_KEY_POWER
+ 7012362
+ name 0_107_KEY_CH_UP
+ 7012367
+ name 0_107_KEY_CH_DOWN
+ 7012368
+ name 0_107_KEY_MUTE
+ 7012369
+ name 0_107_KEY_VOL_DOWN
+ 7012370
+ name 0_107_CH_PREVIOUS
+ 7012371
+ name 0_107_KEY_VOL_UP
+ 7012372
+ name 0_107_KEY_DISPLAY
+ 7012373
+ name 0_107_KEY_MNSELECT
+ 7012375
+ name 0_107_KEY_EXIT
+ 7012376
+ name 0_107_KEY_INPUT
+ 7012378
+ name 0_107_KEY_GUIDE
+ 7012379
+ name 0_107_KEY_ENTER
+ 7012395
+ name 0_107_KEY_MENU
+ 7012399
+ name 0_107_KEY_MUP
+ 7012400
+ name 0_107_KEY_MDOWN
+ 7012401
+ name 0_107_KEY_MLEFT
+ 7012402
+ name 0_107_KEY_MRIGHT
+ 7012403
+ name 0_107_KEY_FF
+ 7012404
+ name 0_107_KEY_REW
+ 7012406
+ name 0_107_KEY_REC
+ 7012407
+ name 0_107_KEY_PAUSE
+ 7012408
+ name 0_108_KEY_0
+ 7077888
+ name 0_108_KEY_1
+ 7077889
+ name 0_108_KEY_2
+ 7077890
+ name 0_108_KEY_3
+ 7077891
+ name 0_108_KEY_4
+ 7077892
+ name 0_108_KEY_5
+ 7077893
+ name 0_108_KEY_6
+ 7077894
+ name 0_108_KEY_7
+ 7077895
+ name 0_108_KEY_8
+ 7077896
+ name 0_108_KEY_9
+ 7077897
+ name 0_108_KEY_POWER
+ 7077898
+ name 0_108_KEY_CH_UP
+ 7077903
+ name 0_108_KEY_CH_DOWN
+ 7077904
+ name 0_108_KEY_MUTE
+ 7077905
+ name 0_108_KEY_VOL_DOWN
+ 7077906
+ name 0_108_CH_PREVIOUS
+ 7077907
+ name 0_108_KEY_VOL_UP
+ 7077908
+ name 0_108_KEY_FAVCH
+ 7077916
+ name 0_108_KEY_SELECT
+ 7077918
+ name 0_108_KEY_ENTER
+ 7077931
+ name 0_108_KEY_AB
+ 7077950
+ name 0_109_KEY_0
+ 7143424
+ name 0_109_KEY_1
+ 7143425
+ name 0_109_KEY_2
+ 7143426
+ name 0_109_KEY_3
+ 7143427
+ name 0_109_KEY_4
+ 7143428
+ name 0_109_KEY_5
+ 7143429
+ name 0_109_KEY_6
+ 7143430
+ name 0_109_KEY_7
+ 7143431
+ name 0_109_KEY_8
+ 7143432
+ name 0_109_KEY_9
+ 7143433
+ name 0_109_KEY_POWER
+ 7143434
+ name 0_109_KEY_CH_UP
+ 7143439
+ name 0_109_KEY_CH_DOWN
+ 7143440
+ name 0_109_KEY_MUTE
+ 7143441
+ name 0_109_KEY_VOL_DOWN
+ 7143442
+ name 0_109_CH_PREVIOUS
+ 7143443
+ name 0_109_KEY_VOL_UP
+ 7143444
+ name 0_109_KEY_DISPLAY
+ 7143445
+ name 0_109_KEY_MNSELECT
+ 7143447
+ name 0_109_KEY_EXIT
+ 7143448
+ name 0_109_KEY_GUIDE
+ 7143451
+ name 0_109_KEY_FAV
+ 7143453
+ name 0_109_KEY_MENU
+ 7143471
+ name 0_109_KEY_MUP
+ 7143472
+ name 0_109_KEY_MDOWN
+ 7143473
+ name 0_109_KEY_MLEFT
+ 7143474
+ name 0_109_KEY_MRIGHT
+ 7143475
+ name 1_109_KEY_0
+ 2154627072
+ name 1_109_KEY_1
+ 2154627073
+ name 1_109_KEY_2
+ 2154627074
+ name 1_109_KEY_3
+ 2154627075
+ name 1_109_KEY_4
+ 2154627076
+ name 1_109_KEY_5
+ 2154627077
+ name 1_109_KEY_6
+ 2154627078
+ name 1_109_KEY_7
+ 2154627079
+ name 1_109_KEY_8
+ 2154627080
+ name 1_109_KEY_9
+ 2154627081
+ name 1_109_KEY_POWER
+ 2154627082
+ name 1_109_KEY_CH_UP
+ 2154627087
+ name 1_109_KEY_CH_DOWN
+ 2154627088
+ name 1_109_KEY_EXIT
+ 2154627096
+ name 1_109_KEY_GUIDE
+ 2154627099
+ name 1_109_KEY_MENU
+ 2154627119
+ name 1_109_KEY_MUP
+ 2154627120
+ name 1_109_KEY_MDOWN
+ 2154627121
+ name 1_109_KEY_MLEFT
+ 2154627122
+ name 1_109_KEY_MRIGHT
+ 2154627123
+ name 0_110_KEY_0
+ 7208960
+ name 0_110_KEY_1
+ 7208961
+ name 0_110_KEY_2
+ 7208962
+ name 0_110_KEY_3
+ 7208963
+ name 0_110_KEY_4
+ 7208964
+ name 0_110_KEY_5
+ 7208965
+ name 0_110_KEY_6
+ 7208966
+ name 0_110_KEY_7
+ 7208967
+ name 0_110_KEY_8
+ 7208968
+ name 0_110_KEY_9
+ 7208969
+ name 0_110_KEY_POWER
+ 7208970
+ name 0_110_KEY_CH_UP
+ 7208975
+ name 0_110_KEY_CH_DOWN
+ 7208976
+ name 0_110_CH_PREVIOUS
+ 7208979
+ name 0_110_KEY_FAV
+ 7208989
+ name 0_110_KEY_MENU
+ 7209007
+ name 1_110_KEY_0
+ 2154692608
+ name 1_110_KEY_1
+ 2154692609
+ name 1_110_KEY_2
+ 2154692610
+ name 1_110_KEY_3
+ 2154692611
+ name 1_110_KEY_4
+ 2154692612
+ name 1_110_KEY_5
+ 2154692613
+ name 1_110_KEY_6
+ 2154692614
+ name 1_110_KEY_7
+ 2154692615
+ name 1_110_KEY_8
+ 2154692616
+ name 1_110_KEY_9
+ 2154692617
+ name 1_110_KEY_POWER
+ 2154692618
+ name 1_110_KEY_CH_UP
+ 2154692623
+ name 1_110_KEY_CH_DOWN
+ 2154692624
+ name 1_110_KEY_EXIT
+ 2154692632
+ name 1_110_KEY_INPUT
+ 2154692634
+ name 1_110_KEY_GUIDE
+ 2154692635
+ name 1_110_KEY_FAV
+ 2154692637
+ name 1_110_KEY_MENU
+ 2154692655
+ name 1_110_KEY_MUP
+ 2154692656
+ name 1_110_KEY_MDOWN
+ 2154692657
+ name 1_110_KEY_MLEFT
+ 2154692658
+ name 1_110_KEY_MRIGHT
+ 2154692659
+ name 0_111_KEY_0
+ 7274496
+ name 0_111_KEY_1
+ 7274497
+ name 0_111_KEY_2
+ 7274498
+ name 0_111_KEY_3
+ 7274499
+ name 0_111_KEY_4
+ 7274500
+ name 0_111_KEY_5
+ 7274501
+ name 0_111_KEY_6
+ 7274502
+ name 0_111_KEY_7
+ 7274503
+ name 0_111_KEY_8
+ 7274504
+ name 0_111_KEY_9
+ 7274505
+ name 0_111_KEY_POWER
+ 7274506
+ name 0_111_KEY_CH_UP
+ 7274511
+ name 0_111_KEY_CH_DOWN
+ 7274512
+ name 0_111_KEY_MUTE
+ 7274513
+ name 0_111_KEY_VOL_DOWN
+ 7274514
+ name 0_111_CH_PREVIOUS
+ 7274515
+ name 0_111_KEY_VOL_UP
+ 7274516
+ name 0_111_KEY_DISPLAY
+ 7274517
+ name 0_111_KEY_MNSELECT
+ 7274519
+ name 0_111_KEY_EXIT
+ 7274520
+ name 0_111_KEY_GUIDE
+ 7274523
+ name 0_111_KEY_ENTER
+ 7274539
+ name 0_111_KEY_MENU
+ 7274543
+ name 0_111_KEY_MUP
+ 7274544
+ name 0_111_KEY_MDOWN
+ 7274545
+ name 1_111_KEY_0
+ 2154758144
+ name 1_111_KEY_1
+ 2154758145
+ name 1_111_KEY_2
+ 2154758146
+ name 1_111_KEY_3
+ 2154758147
+ name 1_111_KEY_4
+ 2154758148
+ name 1_111_KEY_5
+ 2154758149
+ name 1_111_KEY_6
+ 2154758150
+ name 1_111_KEY_7
+ 2154758151
+ name 1_111_KEY_8
+ 2154758152
+ name 1_111_KEY_9
+ 2154758153
+ name 1_111_POWER_ON
+ 2154758155
+ name 1_111_KEY_CH_UP
+ 2154758159
+ name 1_111_KEY_CH_DOWN
+ 2154758160
+ name 1_111_KEY_EXIT
+ 2154758168
+ name 1_111_KEY_GUIDE
+ 2154758171
+ name 1_111_KEY_MUP
+ 2154758192
+ name 1_111_KEY_MDOWN
+ 2154758193
+ name 1_111_KEY_MLEFT
+ 2154758194
+ name 1_111_KEY_MRIGHT
+ 2154758195
+ name 0_112_KEY_0
+ 7340032
+ name 0_112_KEY_1
+ 7340033
+ name 0_112_KEY_2
+ 7340034
+ name 0_112_KEY_3
+ 7340035
+ name 0_112_KEY_4
+ 7340036
+ name 0_112_KEY_5
+ 7340037
+ name 0_112_KEY_6
+ 7340038
+ name 0_112_KEY_7
+ 7340039
+ name 0_112_KEY_8
+ 7340040
+ name 0_112_KEY_9
+ 7340041
+ name 0_112_KEY_POWER
+ 7340042
+ name 0_112_KEY_CH_UP
+ 7340047
+ name 0_112_KEY_CH_DOWN
+ 7340048
+ name 0_112_CH_PREVIOUS
+ 7340051
+ name 0_112_KEY_MUP
+ 7340080
+ name 0_112_KEY_MDOWN
+ 7340081
+ name 1_112_KEY_0
+ 2154823680
+ name 1_112_KEY_1
+ 2154823681
+ name 1_112_KEY_2
+ 2154823682
+ name 1_112_KEY_3
+ 2154823683
+ name 1_112_KEY_4
+ 2154823684
+ name 1_112_KEY_5
+ 2154823685
+ name 1_112_KEY_6
+ 2154823686
+ name 1_112_KEY_7
+ 2154823687
+ name 1_112_KEY_8
+ 2154823688
+ name 1_112_KEY_9
+ 2154823689
+ name 1_112_KEY_POWER
+ 2154823690
+ name 1_112_KEY_CH_UP
+ 2154823695
+ name 1_112_KEY_CH_DOWN
+ 2154823696
+ name 1_112_KEY_EXIT
+ 2154823704
+ name 1_112_KEY_INPUT
+ 2154823706
+ name 1_112_KEY_FAV
+ 2154823709
+ name 1_112_KEY_MNRETRUN
+ 2154823712
+ name 1_112_KEY_MENU
+ 2154823727
+ name 1_112_KEY_MUP
+ 2154823728
+ name 1_112_KEY_MDOWN
+ 2154823729
+ name 1_112_KEY_MLEFT
+ 2154823730
+ name 1_112_KEY_MRIGHT
+ 2154823731
+ name 0_113_KEY_0
+ 7405568
+ name 0_113_KEY_1
+ 7405569
+ name 0_113_KEY_2
+ 7405570
+ name 0_113_KEY_3
+ 7405571
+ name 0_113_KEY_4
+ 7405572
+ name 0_113_KEY_5
+ 7405573
+ name 0_113_KEY_6
+ 7405574
+ name 0_113_KEY_7
+ 7405575
+ name 0_113_KEY_8
+ 7405576
+ name 0_113_KEY_9
+ 7405577
+ name 0_113_KEY_POWER
+ 7405578
+ name 0_113_KEY_CH_UP
+ 7405583
+ name 0_113_KEY_CH_DOWN
+ 7405584
+ name 0_113_KEY_MUTE
+ 7405585
+ name 0_113_KEY_VOL_DOWN
+ 7405586
+ name 0_113_CH_PREVIOUS
+ 7405587
+ name 0_113_KEY_VOL_UP
+ 7405588
+ name 0_113_KEY_DISPLAY
+ 7405589
+ name 1_113_KEY_0
+ 2154889216
+ name 1_113_KEY_1
+ 2154889217
+ name 1_113_KEY_2
+ 2154889218
+ name 1_113_KEY_3
+ 2154889219
+ name 1_113_KEY_4
+ 2154889220
+ name 1_113_KEY_5
+ 2154889221
+ name 1_113_KEY_6
+ 2154889222
+ name 1_113_KEY_7
+ 2154889223
+ name 1_113_KEY_8
+ 2154889224
+ name 1_113_KEY_9
+ 2154889225
+ name 1_113_KEY_POWER
+ 2154889226
+ name 1_113_KEY_CH_UP
+ 2154889231
+ name 1_113_KEY_CH_DOWN
+ 2154889232
+ name 1_113_KEY_EXIT
+ 2154889240
+ name 1_113_KEY_INPUT
+ 2154889242
+ name 1_113_KEY_GUIDE
+ 2154889243
+ name 1_113_KEY_MNRETRUN
+ 2154889248
+ name 1_113_KEY_ENTER
+ 2154889259
+ name 1_113_KEY_MENU
+ 2154889263
+ name 1_113_KEY_MUP
+ 2154889264
+ name 1_113_KEY_MDOWN
+ 2154889265
+ name 1_113_KEY_MLEFT
+ 2154889266
+ name 1_113_KEY_MRIGHT
+ 2154889267
+ name 0_114_KEY_0
+ 7471104
+ name 0_114_KEY_1
+ 7471105
+ name 0_114_KEY_2
+ 7471106
+ name 0_114_KEY_3
+ 7471107
+ name 0_114_KEY_4
+ 7471108
+ name 0_114_KEY_5
+ 7471109
+ name 0_114_KEY_6
+ 7471110
+ name 0_114_KEY_7
+ 7471111
+ name 0_114_KEY_8
+ 7471112
+ name 0_114_KEY_9
+ 7471113
+ name 0_114_KEY_POWER
+ 7471114
+ name 0_114_KEY_CH_UP
+ 7471119
+ name 0_114_KEY_CH_DOWN
+ 7471120
+ name 0_114_KEY_MUTE
+ 7471121
+ name 0_114_KEY_VOL_DOWN
+ 7471122
+ name 0_114_CH_PREVIOUS
+ 7471123
+ name 0_114_KEY_VOL_UP
+ 7471124
+ name 1_114_KEY_0
+ 2154954752
+ name 1_114_KEY_1
+ 2154954753
+ name 1_114_KEY_2
+ 2154954754
+ name 1_114_KEY_3
+ 2154954755
+ name 1_114_KEY_4
+ 2154954756
+ name 1_114_KEY_5
+ 2154954757
+ name 1_114_KEY_6
+ 2154954758
+ name 1_114_KEY_7
+ 2154954759
+ name 1_114_KEY_8
+ 2154954760
+ name 1_114_KEY_9
+ 2154954761
+ name 1_114_KEY_POWER
+ 2154954762
+ name 1_114_KEY_CH_UP
+ 2154954767
+ name 1_114_KEY_CH_DOWN
+ 2154954768
+ name 1_114_KEY_EXIT
+ 2154954776
+ name 1_114_KEY_INPUT
+ 2154954778
+ name 1_114_KEY_GUIDE
+ 2154954779
+ name 1_114_KEY_MNRETRUN
+ 2154954784
+ name 1_114_KEY_ENTER
+ 2154954795
+ name 1_114_KEY_MUP
+ 2154954800
+ name 1_114_KEY_MDOWN
+ 2154954801
+ name 1_114_KEY_MLEFT
+ 2154954802
+ name 1_114_KEY_MRIGHT
+ 2154954803
+ name 0_115_KEY_0
+ 7536640
+ name 0_115_KEY_1
+ 7536641
+ name 0_115_KEY_2
+ 7536642
+ name 0_115_KEY_3
+ 7536643
+ name 0_115_KEY_4
+ 7536644
+ name 0_115_KEY_5
+ 7536645
+ name 0_115_KEY_6
+ 7536646
+ name 0_115_KEY_7
+ 7536647
+ name 0_115_KEY_8
+ 7536648
+ name 0_115_KEY_9
+ 7536649
+ name 0_115_KEY_POWER
+ 7536650
+ name 0_115_KEY_CH_UP
+ 7536655
+ name 0_115_KEY_CH_DOWN
+ 7536656
+ name 0_115_KEY_MUTE
+ 7536657
+ name 0_115_KEY_VOL_DOWN
+ 7536658
+ name 0_115_CH_PREVIOUS
+ 7536659
+ name 0_115_KEY_VOL_UP
+ 7536660
+ name 0_115_KEY_DISPLAY
+ 7536661
+ name 0_115_KEY_MNSELECT
+ 7536663
+ name 0_115_KEY_EXIT
+ 7536664
+ name 0_115_KEY_GUIDE
+ 7536667
+ name 0_115_KEY_MENU
+ 7536687
+ name 0_115_KEY_MUP
+ 7536688
+ name 0_115_KEY_MDOWN
+ 7536689
+ name 0_115_KEY_MLEFT
+ 7536690
+ name 0_115_KEY_MRIGHT
+ 7536691
+ name 1_115_KEY_0
+ 2155020288
+ name 1_115_KEY_1
+ 2155020289
+ name 1_115_KEY_2
+ 2155020290
+ name 1_115_KEY_3
+ 2155020291
+ name 1_115_KEY_4
+ 2155020292
+ name 1_115_KEY_5
+ 2155020293
+ name 1_115_KEY_6
+ 2155020294
+ name 1_115_KEY_7
+ 2155020295
+ name 1_115_KEY_8
+ 2155020296
+ name 1_115_KEY_9
+ 2155020297
+ name 1_115_KEY_POWER
+ 2155020298
+ name 1_115_KEY_CH_UP
+ 2155020303
+ name 1_115_KEY_CH_DOWN
+ 2155020304
+ name 1_115_KEY_EXIT
+ 2155020312
+ name 1_115_KEY_INPUT
+ 2155020314
+ name 1_115_KEY_GUIDE
+ 2155020315
+ name 1_115_KEY_MNRETRUN
+ 2155020320
+ name 1_115_KEY_ENTER
+ 2155020331
+ name 1_115_KEY_MUP
+ 2155020336
+ name 1_115_KEY_MDOWN
+ 2155020337
+ name 1_115_KEY_MLEFT
+ 2155020338
+ name 1_115_KEY_MRIGHT
+ 2155020339
+ name 0_116_KEY_0
+ 7602176
+ name 0_116_KEY_1
+ 7602177
+ name 0_116_KEY_2
+ 7602178
+ name 0_116_KEY_3
+ 7602179
+ name 0_116_KEY_4
+ 7602180
+ name 0_116_KEY_5
+ 7602181
+ name 0_116_KEY_6
+ 7602182
+ name 0_116_KEY_7
+ 7602183
+ name 0_116_KEY_8
+ 7602184
+ name 0_116_KEY_9
+ 7602185
+ name 0_116_KEY_POWER
+ 7602186
+ name 0_116_KEY_CH_UP
+ 7602191
+ name 0_116_KEY_CH_DOWN
+ 7602192
+ name 0_116_CH_PREVIOUS
+ 7602195
+ name 1_116_KEY_0
+ 2155085824
+ name 1_116_KEY_1
+ 2155085825
+ name 1_116_KEY_2
+ 2155085826
+ name 1_116_KEY_3
+ 2155085827
+ name 1_116_KEY_4
+ 2155085828
+ name 1_116_KEY_5
+ 2155085829
+ name 1_116_KEY_6
+ 2155085830
+ name 1_116_KEY_7
+ 2155085831
+ name 1_116_KEY_8
+ 2155085832
+ name 1_116_KEY_9
+ 2155085833
+ name 1_116_KEY_POWER
+ 2155085834
+ name 1_116_KEY_CH_UP
+ 2155085839
+ name 1_116_KEY_CH_DOWN
+ 2155085840
+ name 1_116_KEY_EXIT
+ 2155085848
+ name 1_116_KEY_INPUT
+ 2155085850
+ name 1_116_KEY_GUIDE
+ 2155085851
+ name 1_116_KEY_MNRETRUN
+ 2155085856
+ name 1_116_KEY_ENTER
+ 2155085867
+ name 1_116_KEY_MUP
+ 2155085872
+ name 1_116_KEY_MDOWN
+ 2155085873
+ name 1_116_KEY_MLEFT
+ 2155085874
+ name 1_116_KEY_MRIGHT
+ 2155085875
+ name 0_117_KEY_0
+ 7667712
+ name 0_117_KEY_1
+ 7667713
+ name 0_117_KEY_2
+ 7667714
+ name 0_117_KEY_3
+ 7667715
+ name 0_117_KEY_4
+ 7667716
+ name 0_117_KEY_5
+ 7667717
+ name 0_117_KEY_6
+ 7667718
+ name 0_117_KEY_7
+ 7667719
+ name 0_117_KEY_8
+ 7667720
+ name 0_117_KEY_9
+ 7667721
+ name 0_117_KEY_POWER
+ 7667722
+ name 0_117_KEY_CH_UP
+ 7667727
+ name 0_117_KEY_CH_DOWN
+ 7667728
+ name 0_117_KEY_MUTE
+ 7667729
+ name 0_117_KEY_VOL_DOWN
+ 7667730
+ name 0_117_CH_PREVIOUS
+ 7667731
+ name 0_117_KEY_VOL_UP
+ 7667732
+ name 0_117_KEY_DISPLAY
+ 7667733
+ name 0_117_KEY_MNSELECT
+ 7667735
+ name 0_117_KEY_EXIT
+ 7667736
+ name 0_117_KEY_GUIDE
+ 7667739
+ name 0_117_KEY_ENTER
+ 7667755
+ name 0_117_KEY_MENU
+ 7667759
+ name 0_117_KEY_MUP
+ 7667760
+ name 0_117_KEY_MDOWN
+ 7667761
+ name 0_117_KEY_MLEFT
+ 7667762
+ name 0_117_KEY_MRIGHT
+ 7667763
+ name 1_117_KEY_0
+ 2155151360
+ name 1_117_KEY_1
+ 2155151361
+ name 1_117_KEY_2
+ 2155151362
+ name 1_117_KEY_3
+ 2155151363
+ name 1_117_KEY_4
+ 2155151364
+ name 1_117_KEY_5
+ 2155151365
+ name 1_117_KEY_6
+ 2155151366
+ name 1_117_KEY_7
+ 2155151367
+ name 1_117_KEY_8
+ 2155151368
+ name 1_117_KEY_9
+ 2155151369
+ name 1_117_KEY_POWER
+ 2155151370
+ name 1_117_KEY_CH_UP
+ 2155151375
+ name 1_117_KEY_CH_DOWN
+ 2155151376
+ name 1_117_KEY_EXIT
+ 2155151384
+ name 1_117_KEY_INPUT
+ 2155151386
+ name 1_117_KEY_GUIDE
+ 2155151387
+ name 1_117_KEY_MNRETRUN
+ 2155151392
+ name 1_117_KEY_ENTER
+ 2155151403
+ name 1_117_KEY_MUP
+ 2155151408
+ name 1_117_KEY_MDOWN
+ 2155151409
+ name 1_117_KEY_MLEFT
+ 2155151410
+ name 1_117_KEY_MRIGHT
+ 2155151411
+ name 0_118_KEY_0
+ 7733248
+ name 0_118_KEY_1
+ 7733249
+ name 0_118_KEY_2
+ 7733250
+ name 0_118_KEY_3
+ 7733251
+ name 0_118_KEY_4
+ 7733252
+ name 0_118_KEY_5
+ 7733253
+ name 0_118_KEY_6
+ 7733254
+ name 0_118_KEY_7
+ 7733255
+ name 0_118_KEY_8
+ 7733256
+ name 0_118_KEY_9
+ 7733257
+ name 0_118_KEY_POWER
+ 7733258
+ name 0_118_KEY_CH_UP
+ 7733263
+ name 0_118_KEY_CH_DOWN
+ 7733264
+ name 0_118_KEY_MUTE
+ 7733265
+ name 0_118_KEY_VOL_DOWN
+ 7733266
+ name 0_118_KEY_VOL_UP
+ 7733268
+ name 0_118_KEY_DISPLAY
+ 7733269
+ name 1_118_KEY_0
+ 2155216896
+ name 1_118_KEY_1
+ 2155216897
+ name 1_118_KEY_2
+ 2155216898
+ name 1_118_KEY_3
+ 2155216899
+ name 1_118_KEY_4
+ 2155216900
+ name 1_118_KEY_5
+ 2155216901
+ name 1_118_KEY_6
+ 2155216902
+ name 1_118_KEY_7
+ 2155216903
+ name 1_118_KEY_8
+ 2155216904
+ name 1_118_KEY_9
+ 2155216905
+ name 1_118_KEY_POWER
+ 2155216906
+ name 1_118_KEY_CH_UP
+ 2155216911
+ name 1_118_KEY_CH_DOWN
+ 2155216912
+ name 1_118_KEY_EXIT
+ 2155216920
+ name 1_118_KEY_INPUT
+ 2155216922
+ name 1_118_KEY_GUIDE
+ 2155216923
+ name 1_118_KEY_MNRETRUN
+ 2155216928
+ name 1_118_KEY_ENTER
+ 2155216939
+ name 1_118_KEY_MUP
+ 2155216944
+ name 1_118_KEY_MDOWN
+ 2155216945
+ name 1_118_KEY_MLEFT
+ 2155216946
+ name 1_118_KEY_MRIGHT
+ 2155216947
+ name 0_119_KEY_0
+ 7798784
+ name 0_119_KEY_1
+ 7798785
+ name 0_119_KEY_2
+ 7798786
+ name 0_119_KEY_3
+ 7798787
+ name 0_119_KEY_4
+ 7798788
+ name 0_119_KEY_5
+ 7798789
+ name 0_119_KEY_6
+ 7798790
+ name 0_119_KEY_7
+ 7798791
+ name 0_119_KEY_8
+ 7798792
+ name 0_119_KEY_9
+ 7798793
+ name 0_119_KEY_POWER
+ 7798794
+ name 0_119_KEY_CH_UP
+ 7798799
+ name 0_119_KEY_CH_DOWN
+ 7798800
+ name 0_119_KEY_MUTE
+ 7798801
+ name 0_119_KEY_VOL_DOWN
+ 7798802
+ name 0_119_CH_PREVIOUS
+ 7798803
+ name 0_119_KEY_VOL_UP
+ 7798804
+ name 0_119_KEY_DISPLAY
+ 7798805
+ name 0_119_KEY_MNSELECT
+ 7798807
+ name 0_119_KEY_EXIT
+ 7798808
+ name 0_119_KEY_GUIDE
+ 7798811
+ name 0_119_KEY_MENU
+ 7798831
+ name 0_119_KEY_MUP
+ 7798832
+ name 0_119_KEY_MDOWN
+ 7798833
+ name 0_119_KEY_MLEFT
+ 7798834
+ name 0_119_KEY_MRIGHT
+ 7798835
+ name 1_119_KEY_0
+ 2155282432
+ name 1_119_KEY_1
+ 2155282433
+ name 1_119_KEY_2
+ 2155282434
+ name 1_119_KEY_3
+ 2155282435
+ name 1_119_KEY_4
+ 2155282436
+ name 1_119_KEY_5
+ 2155282437
+ name 1_119_KEY_6
+ 2155282438
+ name 1_119_KEY_7
+ 2155282439
+ name 1_119_KEY_8
+ 2155282440
+ name 1_119_KEY_9
+ 2155282441
+ name 1_119_KEY_POWER
+ 2155282442
+ name 1_119_KEY_CH_UP
+ 2155282447
+ name 1_119_KEY_CH_DOWN
+ 2155282448
+ name 1_119_KEY_EXIT
+ 2155282456
+ name 1_119_KEY_INPUT
+ 2155282458
+ name 1_119_KEY_GUIDE
+ 2155282459
+ name 1_119_KEY_MNRETRUN
+ 2155282464
+ name 1_119_KEY_ENTER
+ 2155282475
+ name 1_119_KEY_MUP
+ 2155282480
+ name 1_119_KEY_MDOWN
+ 2155282481
+ name 1_119_KEY_MLEFT
+ 2155282482
+ name 1_119_KEY_MRIGHT
+ 2155282483
+ name 0_120_KEY_0
+ 7864320
+ name 0_120_KEY_1
+ 7864321
+ name 0_120_KEY_2
+ 7864322
+ name 0_120_KEY_3
+ 7864323
+ name 0_120_KEY_4
+ 7864324
+ name 0_120_KEY_5
+ 7864325
+ name 0_120_KEY_6
+ 7864326
+ name 0_120_KEY_7
+ 7864327
+ name 0_120_KEY_8
+ 7864328
+ name 0_120_KEY_9
+ 7864329
+ name 0_120_KEY_POWER
+ 7864330
+ name 0_120_KEY_CH_UP
+ 7864335
+ name 0_120_KEY_CH_DOWN
+ 7864336
+ name 0_120_KEY_MUTE
+ 7864337
+ name 0_120_KEY_VOL_DOWN
+ 7864338
+ name 0_120_CH_PREVIOUS
+ 7864339
+ name 0_120_KEY_VOL_UP
+ 7864340
+ name 0_120_KEY_DISPLAY
+ 7864341
+ name 0_120_KEY_MNSELECT
+ 7864343
+ name 0_120_KEY_EXIT
+ 7864344
+ name 0_120_KEY_GUIDE
+ 7864347
+ name 0_120_KEY_MENU
+ 7864367
+ name 0_120_KEY_MUP
+ 7864368
+ name 0_120_KEY_MDOWN
+ 7864369
+ name 0_120_KEY_MLEFT
+ 7864370
+ name 0_120_KEY_MRIGHT
+ 7864371
+ name 1_120_KEY_0
+ 2155347968
+ name 1_120_KEY_1
+ 2155347969
+ name 1_120_KEY_2
+ 2155347970
+ name 1_120_KEY_3
+ 2155347971
+ name 1_120_KEY_4
+ 2155347972
+ name 1_120_KEY_5
+ 2155347973
+ name 1_120_KEY_6
+ 2155347974
+ name 1_120_KEY_7
+ 2155347975
+ name 1_120_KEY_8
+ 2155347976
+ name 1_120_KEY_9
+ 2155347977
+ name 1_120_KEY_POWER
+ 2155347978
+ name 1_120_KEY_CH_UP
+ 2155347983
+ name 1_120_KEY_CH_DOWN
+ 2155347984
+ name 1_120_KEY_EXIT
+ 2155347992
+ name 1_120_KEY_INPUT
+ 2155347994
+ name 1_120_KEY_GUIDE
+ 2155347995
+ name 1_120_KEY_MNRETRUN
+ 2155348000
+ name 1_120_KEY_ENTER
+ 2155348011
+ name 1_120_KEY_MUP
+ 2155348016
+ name 1_120_KEY_MDOWN
+ 2155348017
+ name 1_120_KEY_MLEFT
+ 2155348018
+ name 1_120_KEY_MRIGHT
+ 2155348019
+ name 0_121_KEY_0
+ 7929856
+ name 0_121_KEY_1
+ 7929857
+ name 0_121_KEY_2
+ 7929858
+ name 0_121_KEY_3
+ 7929859
+ name 0_121_KEY_4
+ 7929860
+ name 0_121_KEY_5
+ 7929861
+ name 0_121_KEY_6
+ 7929862
+ name 0_121_KEY_7
+ 7929863
+ name 0_121_KEY_8
+ 7929864
+ name 0_121_KEY_9
+ 7929865
+ name 0_121_KEY_POWER
+ 7929866
+ name 0_121_KEY_CH_UP
+ 7929871
+ name 0_121_KEY_CH_DOWN
+ 7929872
+ name 0_121_KEY_MUTE
+ 7929873
+ name 0_121_KEY_VOL_DOWN
+ 7929874
+ name 0_121_CH_PREVIOUS
+ 7929875
+ name 0_121_KEY_VOL_UP
+ 7929876
+ name 0_121_KEY_MENU
+ 7929903
+ name 1_121_KEY_0
+ 2155413504
+ name 1_121_KEY_1
+ 2155413505
+ name 1_121_KEY_2
+ 2155413506
+ name 1_121_KEY_3
+ 2155413507
+ name 1_121_KEY_4
+ 2155413508
+ name 1_121_KEY_5
+ 2155413509
+ name 1_121_KEY_6
+ 2155413510
+ name 1_121_KEY_7
+ 2155413511
+ name 1_121_KEY_8
+ 2155413512
+ name 1_121_KEY_9
+ 2155413513
+ name 1_121_KEY_POWER
+ 2155413514
+ name 1_121_KEY_CH_UP
+ 2155413519
+ name 1_121_KEY_CH_DOWN
+ 2155413520
+ name 1_121_KEY_EXIT
+ 2155413528
+ name 1_121_KEY_INPUT
+ 2155413530
+ name 1_121_KEY_GUIDE
+ 2155413531
+ name 1_121_KEY_MNRETRUN
+ 2155413536
+ name 1_121_KEY_ENTER
+ 2155413547
+ name 1_121_KEY_MUP
+ 2155413552
+ name 1_121_KEY_MDOWN
+ 2155413553
+ name 1_121_KEY_MLEFT
+ 2155413554
+ name 1_121_KEY_MRIGHT
+ 2155413555
+ name 0_122_KEY_0
+ 7995392
+ name 0_122_KEY_1
+ 7995393
+ name 0_122_KEY_2
+ 7995394
+ name 0_122_KEY_3
+ 7995395
+ name 0_122_KEY_4
+ 7995396
+ name 0_122_KEY_5
+ 7995397
+ name 0_122_KEY_6
+ 7995398
+ name 0_122_KEY_7
+ 7995399
+ name 0_122_KEY_8
+ 7995400
+ name 0_122_KEY_9
+ 7995401
+ name 0_122_KEY_POWER
+ 7995402
+ name 0_122_KEY_CH_UP
+ 7995407
+ name 0_122_KEY_CH_DOWN
+ 7995408
+ name 0_122_KEY_MUTE
+ 7995409
+ name 0_122_KEY_VOL_DOWN
+ 7995410
+ name 0_122_CH_PREVIOUS
+ 7995411
+ name 0_122_KEY_VOL_UP
+ 7995412
+ name 0_122_KEY_DISPLAY
+ 7995413
+ name 0_122_KEY_MNSELECT
+ 7995415
+ name 0_122_KEY_EXIT
+ 7995416
+ name 0_122_KEY_GUIDE
+ 7995419
+ name 0_122_KEY_ENTER
+ 7995435
+ name 0_122_KEY_MENU
+ 7995439
+ name 0_122_KEY_MUP
+ 7995440
+ name 0_122_KEY_MDOWN
+ 7995441
+ name 0_122_KEY_MLEFT
+ 7995442
+ name 0_122_KEY_MRIGHT
+ 7995443
+ name 1_122_KEY_0
+ 2155479040
+ name 1_122_KEY_1
+ 2155479041
+ name 1_122_KEY_2
+ 2155479042
+ name 1_122_KEY_3
+ 2155479043
+ name 1_122_KEY_4
+ 2155479044
+ name 1_122_KEY_5
+ 2155479045
+ name 1_122_KEY_6
+ 2155479046
+ name 1_122_KEY_7
+ 2155479047
+ name 1_122_KEY_8
+ 2155479048
+ name 1_122_KEY_9
+ 2155479049
+ name 1_122_KEY_POWER
+ 2155479050
+ name 1_122_KEY_CH_UP
+ 2155479055
+ name 1_122_KEY_CH_DOWN
+ 2155479056
+ name 1_122_KEY_EXIT
+ 2155479064
+ name 1_122_KEY_INPUT
+ 2155479066
+ name 1_122_KEY_GUIDE
+ 2155479067
+ name 1_122_KEY_MNRETRUN
+ 2155479072
+ name 1_122_KEY_ENTER
+ 2155479083
+ name 1_122_KEY_MUP
+ 2155479088
+ name 1_122_KEY_MDOWN
+ 2155479089
+ name 1_122_KEY_MLEFT
+ 2155479090
+ name 1_122_KEY_MRIGHT
+ 2155479091
+ name 0_123_KEY_0
+ 8060928
+ name 0_123_KEY_1
+ 8060929
+ name 0_123_KEY_2
+ 8060930
+ name 0_123_KEY_3
+ 8060931
+ name 0_123_KEY_4
+ 8060932
+ name 0_123_KEY_5
+ 8060933
+ name 0_123_KEY_6
+ 8060934
+ name 0_123_KEY_7
+ 8060935
+ name 0_123_KEY_8
+ 8060936
+ name 0_123_KEY_9
+ 8060937
+ name 0_123_KEY_POWER
+ 8060938
+ name 0_123_KEY_CH_UP
+ 8060943
+ name 0_123_KEY_CH_DOWN
+ 8060944
+ name 0_123_KEY_MUTE
+ 8060945
+ name 0_123_KEY_VOL_DOWN
+ 8060946
+ name 0_123_CH_PREVIOUS
+ 8060947
+ name 0_123_KEY_VOL_UP
+ 8060948
+ name 0_123_KEY_DISPLAY
+ 8060949
+ name 0_123_KEY_MNSELECT
+ 8060951
+ name 0_123_KEY_GUIDE
+ 8060955
+ name 0_123_KEY_MENU
+ 8060975
+ name 0_123_KEY_MUP
+ 8060976
+ name 0_123_KEY_MDOWN
+ 8060977
+ name 0_123_KEY_MLEFT
+ 8060978
+ name 0_123_KEY_MRIGHT
+ 8060979
+ name 0_123_KEY_FF
+ 8060980
+ name 0_123_KEY_REW
+ 8060982
+ name 0_123_KEY_PAUSE
+ 8060984
+ name 1_123_KEY_0
+ 2155544576
+ name 1_123_KEY_1
+ 2155544577
+ name 1_123_KEY_2
+ 2155544578
+ name 1_123_KEY_3
+ 2155544579
+ name 1_123_KEY_4
+ 2155544580
+ name 1_123_KEY_5
+ 2155544581
+ name 1_123_KEY_6
+ 2155544582
+ name 1_123_KEY_7
+ 2155544583
+ name 1_123_KEY_8
+ 2155544584
+ name 1_123_KEY_9
+ 2155544585
+ name 1_123_KEY_POWER
+ 2155544586
+ name 1_123_KEY_CH_UP
+ 2155544591
+ name 1_123_KEY_CH_DOWN
+ 2155544592
+ name 1_123_KEY_EXIT
+ 2155544600
+ name 1_123_KEY_INPUT
+ 2155544602
+ name 1_123_KEY_GUIDE
+ 2155544603
+ name 1_123_KEY_MNRETRUN
+ 2155544608
+ name 1_123_KEY_ENTER
+ 2155544619
+ name 1_123_KEY_MUP
+ 2155544624
+ name 1_123_KEY_MDOWN
+ 2155544625
+ name 1_123_KEY_MLEFT
+ 2155544626
+ name 1_123_KEY_MRIGHT
+ 2155544627
+ name 0_124_KEY_0
+ 8126464
+ name 0_124_KEY_1
+ 8126465
+ name 0_124_KEY_2
+ 8126466
+ name 0_124_KEY_3
+ 8126467
+ name 0_124_KEY_4
+ 8126468
+ name 0_124_KEY_5
+ 8126469
+ name 0_124_KEY_6
+ 8126470
+ name 0_124_KEY_7
+ 8126471
+ name 0_124_KEY_8
+ 8126472
+ name 0_124_KEY_9
+ 8126473
+ name 0_124_KEY_POWER
+ 8126474
+ name 0_124_KEY_CH_UP
+ 8126479
+ name 0_124_KEY_CH_DOWN
+ 8126480
+ name 0_124_KEY_MUTE
+ 8126481
+ name 0_124_KEY_VOL_DOWN
+ 8126482
+ name 0_124_CH_PREVIOUS
+ 8126483
+ name 0_124_KEY_VOL_UP
+ 8126484
+ name 0_124_KEY_DISPLAY
+ 8126485
+ name 0_124_KEY_EXIT
+ 8126488
+ name 0_124_KEY_GUIDE
+ 8126491
+ name 0_124_KEY_ENTER
+ 8126507
+ name 0_124_KEY_MENU
+ 8126511
+ name 0_124_KEY_MUP
+ 8126512
+ name 0_124_KEY_MDOWN
+ 8126513
+ name 0_124_KEY_MLEFT
+ 8126514
+ name 0_124_KEY_MRIGHT
+ 8126515
+ name 1_124_KEY_0
+ 2155610112
+ name 1_124_KEY_1
+ 2155610113
+ name 1_124_KEY_2
+ 2155610114
+ name 1_124_KEY_3
+ 2155610115
+ name 1_124_KEY_4
+ 2155610116
+ name 1_124_KEY_5
+ 2155610117
+ name 1_124_KEY_6
+ 2155610118
+ name 1_124_KEY_7
+ 2155610119
+ name 1_124_KEY_8
+ 2155610120
+ name 1_124_KEY_9
+ 2155610121
+ name 1_124_KEY_POWER
+ 2155610122
+ name 1_124_KEY_CH_UP
+ 2155610127
+ name 1_124_KEY_CH_DOWN
+ 2155610128
+ name 1_124_KEY_EXIT
+ 2155610136
+ name 1_124_KEY_INPUT
+ 2155610138
+ name 1_124_KEY_GUIDE
+ 2155610139
+ name 1_124_KEY_MNRETRUN
+ 2155610144
+ name 1_124_KEY_ENTER
+ 2155610155
+ name 1_124_KEY_MUP
+ 2155610160
+ name 1_124_KEY_MDOWN
+ 2155610161
+ name 1_124_KEY_MLEFT
+ 2155610162
+ name 1_124_KEY_MRIGHT
+ 2155610163
+ name 0_125_KEY_0
+ 8192000
+ name 0_125_KEY_1
+ 8192001
+ name 0_125_KEY_2
+ 8192002
+ name 0_125_KEY_3
+ 8192003
+ name 0_125_KEY_4
+ 8192004
+ name 0_125_KEY_5
+ 8192005
+ name 0_125_KEY_6
+ 8192006
+ name 0_125_KEY_7
+ 8192007
+ name 0_125_KEY_8
+ 8192008
+ name 0_125_KEY_9
+ 8192009
+ name 0_125_KEY_POWER
+ 8192010
+ name 0_125_KEY_CH_UP
+ 8192015
+ name 0_125_KEY_CH_DOWN
+ 8192016
+ name 0_125_KEY_MUTE
+ 8192017
+ name 0_125_KEY_VOL_DOWN
+ 8192018
+ name 0_125_CH_PREVIOUS
+ 8192019
+ name 0_125_KEY_VOL_UP
+ 8192020
+ name 0_125_KEY_DISPLAY
+ 8192021
+ name 0_125_KEY_MNSELECT
+ 8192023
+ name 0_125_KEY_EXIT
+ 8192024
+ name 0_125_KEY_GUIDE
+ 8192027
+ name 0_125_KEY_ENTER
+ 8192043
+ name 0_125_KEY_MENU
+ 8192047
+ name 0_125_KEY_MUP
+ 8192048
+ name 0_125_KEY_MDOWN
+ 8192049
+ name 0_125_KEY_MLEFT
+ 8192050
+ name 0_125_KEY_MRIGHT
+ 8192051
+ name 0_125_KEY_FF
+ 8192052
+ name 0_125_KEY_PLAY
+ 8192053
+ name 0_125_KEY_REW
+ 8192054
+ name 0_125_KEY_PAUSE
+ 8192056
+ name 0_125_KEY_STOP
+ 8192057
+ name 1_125_KEY_0
+ 2155675648
+ name 1_125_KEY_1
+ 2155675649
+ name 1_125_KEY_2
+ 2155675650
+ name 1_125_KEY_3
+ 2155675651
+ name 1_125_KEY_4
+ 2155675652
+ name 1_125_KEY_5
+ 2155675653
+ name 1_125_KEY_6
+ 2155675654
+ name 1_125_KEY_7
+ 2155675655
+ name 1_125_KEY_8
+ 2155675656
+ name 1_125_KEY_9
+ 2155675657
+ name 1_125_KEY_POWER
+ 2155675658
+ name 1_125_KEY_CH_UP
+ 2155675663
+ name 1_125_KEY_CH_DOWN
+ 2155675664
+ name 1_125_CH_PREVIOUS
+ 2155675667
+ name 1_125_KEY_DISPLAY
+ 2155675669
+ name 1_125_KEY_EXIT
+ 2155675672
+ name 1_125_KEY_GUIDE
+ 2155675675
+ name 1_125_KEY_MNRETRUN
+ 2155675680
+ name 1_125_KEY_ENTER
+ 2155675691
+ name 1_125_KEY_MENU
+ 2155675695
+ name 1_125_KEY_MUP
+ 2155675696
+ name 1_125_KEY_MDOWN
+ 2155675697
+ name 1_125_KEY_MLEFT
+ 2155675698
+ name 1_125_KEY_MRIGHT
+ 2155675699
+ name 0_126_KEY_0
+ 8257536
+ name 0_126_KEY_1
+ 8257537
+ name 0_126_KEY_2
+ 8257538
+ name 0_126_KEY_3
+ 8257539
+ name 0_126_KEY_4
+ 8257540
+ name 0_126_KEY_5
+ 8257541
+ name 0_126_KEY_6
+ 8257542
+ name 0_126_KEY_7
+ 8257543
+ name 0_126_KEY_8
+ 8257544
+ name 0_126_KEY_9
+ 8257545
+ name 0_126_KEY_POWER
+ 8257546
+ name 0_126_KEY_CH_UP
+ 8257551
+ name 0_126_KEY_CH_DOWN
+ 8257552
+ name 0_126_KEY_MUTE
+ 8257553
+ name 0_126_KEY_VOL_DOWN
+ 8257554
+ name 0_126_CH_PREVIOUS
+ 8257555
+ name 0_126_KEY_VOL_UP
+ 8257556
+ name 0_126_KEY_DISPLAY
+ 8257557
+ name 0_126_KEY_MNSELECT
+ 8257559
+ name 0_126_KEY_EXIT
+ 8257560
+ name 0_126_KEY_GUIDE
+ 8257563
+ name 0_126_KEY_MENU
+ 8257583
+ name 0_126_KEY_MUP
+ 8257584
+ name 0_126_KEY_MDOWN
+ 8257585
+ name 0_126_KEY_MLEFT
+ 8257586
+ name 0_126_KEY_MRIGHT
+ 8257587
+ name 0_126_KEY_FF
+ 8257588
+ name 0_126_KEY_PLAY
+ 8257589
+ name 0_126_KEY_REW
+ 8257590
+ name 0_126_KEY_PAUSE
+ 8257592
+ name 0_126_KEY_STOP
+ 8257593
+ name 1_126_KEY_0
+ 2155741184
+ name 1_126_KEY_1
+ 2155741185
+ name 1_126_KEY_2
+ 2155741186
+ name 1_126_KEY_3
+ 2155741187
+ name 1_126_KEY_4
+ 2155741188
+ name 1_126_KEY_5
+ 2155741189
+ name 1_126_KEY_6
+ 2155741190
+ name 1_126_KEY_7
+ 2155741191
+ name 1_126_KEY_8
+ 2155741192
+ name 1_126_KEY_9
+ 2155741193
+ name 1_126_KEY_POWER
+ 2155741194
+ name 1_126_KEY_CH_UP
+ 2155741199
+ name 1_126_KEY_CH_DOWN
+ 2155741200
+ name 1_126_CH_PREVIOUS
+ 2155741203
+ name 1_126_KEY_DISPLAY
+ 2155741205
+ name 1_126_KEY_EXIT
+ 2155741208
+ name 1_126_KEY_INPUT
+ 2155741210
+ name 1_126_KEY_GUIDE
+ 2155741211
+ name 1_126_KEY_ENTER
+ 2155741227
+ name 1_126_KEY_MENU
+ 2155741231
+ name 1_126_KEY_MUP
+ 2155741232
+ name 1_126_KEY_MDOWN
+ 2155741233
+ name 1_126_KEY_MLEFT
+ 2155741234
+ name 1_126_KEY_MRIGHT
+ 2155741235
+ name 0_127_KEY_0
+ 8323072
+ name 0_127_KEY_1
+ 8323073
+ name 0_127_KEY_2
+ 8323074
+ name 0_127_KEY_3
+ 8323075
+ name 0_127_KEY_4
+ 8323076
+ name 0_127_KEY_5
+ 8323077
+ name 0_127_KEY_6
+ 8323078
+ name 0_127_KEY_7
+ 8323079
+ name 0_127_KEY_8
+ 8323080
+ name 0_127_KEY_9
+ 8323081
+ name 0_127_KEY_POWER
+ 8323082
+ name 0_127_KEY_CH_UP
+ 8323087
+ name 0_127_KEY_CH_DOWN
+ 8323088
+ name 0_127_KEY_MUTE
+ 8323089
+ name 0_127_KEY_VOL_DOWN
+ 8323090
+ name 0_127_CH_PREVIOUS
+ 8323091
+ name 0_127_KEY_VOL_UP
+ 8323092
+ name 0_127_KEY_DISPLAY
+ 8323093
+ name 0_127_KEY_MNSELECT
+ 8323095
+ name 0_127_KEY_EXIT
+ 8323096
+ name 0_127_KEY_GUIDE
+ 8323099
+ name 0_127_KEY_MENU
+ 8323119
+ name 0_127_KEY_MUP
+ 8323120
+ name 0_127_KEY_MDOWN
+ 8323121
+ name 0_127_KEY_MLEFT
+ 8323122
+ name 0_127_KEY_MRIGHT
+ 8323123
+ name 1_127_KEY_0
+ 2155806720
+ name 1_127_KEY_1
+ 2155806721
+ name 1_127_KEY_2
+ 2155806722
+ name 1_127_KEY_3
+ 2155806723
+ name 1_127_KEY_4
+ 2155806724
+ name 1_127_KEY_5
+ 2155806725
+ name 1_127_KEY_6
+ 2155806726
+ name 1_127_KEY_7
+ 2155806727
+ name 1_127_KEY_8
+ 2155806728
+ name 1_127_KEY_9
+ 2155806729
+ name 1_127_KEY_POWER
+ 2155806730
+ name 1_127_KEY_CH_UP
+ 2155806735
+ name 1_127_KEY_CH_DOWN
+ 2155806736
+ name 1_127_CH_PREVIOUS
+ 2155806739
+ name 1_127_KEY_DISPLAY
+ 2155806741
+ name 1_127_KEY_EXIT
+ 2155806744
+ name 1_127_KEY_GUIDE
+ 2155806747
+ name 1_127_KEY_ENTER
+ 2155806763
+ name 1_127_KEY_MENU
+ 2155806767
+ name 1_127_KEY_MUP
+ 2155806768
+ name 1_127_KEY_MDOWN
+ 2155806769
+ name 1_127_KEY_MLEFT
+ 2155806770
+ name 1_127_KEY_MRIGHT
+ 2155806771
+ name 0_128_KEY_0
+ 8388608
+ name 0_128_KEY_1
+ 8388609
+ name 0_128_KEY_2
+ 8388610
+ name 0_128_KEY_3
+ 8388611
+ name 0_128_KEY_4
+ 8388612
+ name 0_128_KEY_5
+ 8388613
+ name 0_128_KEY_6
+ 8388614
+ name 0_128_KEY_7
+ 8388615
+ name 0_128_KEY_8
+ 8388616
+ name 0_128_KEY_9
+ 8388617
+ name 0_128_KEY_POWER
+ 8388618
+ name 0_128_KEY_CH_UP
+ 8388623
+ name 0_128_KEY_CH_DOWN
+ 8388624
+ name 0_128_KEY_MUTE
+ 8388625
+ name 0_128_KEY_VOL_DOWN
+ 8388626
+ name 0_128_CH_PREVIOUS
+ 8388627
+ name 0_128_KEY_VOL_UP
+ 8388628
+ name 0_128_KEY_DISPLAY
+ 8388629
+ name 0_128_KEY_MNSELECT
+ 8388631
+ name 0_128_KEY_EXIT
+ 8388632
+ name 0_128_KEY_GUIDE
+ 8388635
+ name 0_128_KEY_ENTER
+ 8388651
+ name 0_128_KEY_MENU
+ 8388655
+ name 0_128_KEY_MUP
+ 8388656
+ name 0_128_KEY_MDOWN
+ 8388657
+ name 0_128_KEY_MLEFT
+ 8388658
+ name 0_128_KEY_MRIGHT
+ 8388659
+ name 1_128_KEY_0
+ 2155872256
+ name 1_128_KEY_1
+ 2155872257
+ name 1_128_KEY_2
+ 2155872258
+ name 1_128_KEY_3
+ 2155872259
+ name 1_128_KEY_4
+ 2155872260
+ name 1_128_KEY_5
+ 2155872261
+ name 1_128_KEY_6
+ 2155872262
+ name 1_128_KEY_7
+ 2155872263
+ name 1_128_KEY_8
+ 2155872264
+ name 1_128_KEY_9
+ 2155872265
+ name 1_128_KEY_POWER
+ 2155872266
+ name 1_128_KEY_CH_UP
+ 2155872271
+ name 1_128_KEY_CH_DOWN
+ 2155872272
+ name 1_128_CH_PREVIOUS
+ 2155872275
+ name 1_128_KEY_DISPLAY
+ 2155872277
+ name 1_128_KEY_EXIT
+ 2155872280
+ name 1_128_KEY_GUIDE
+ 2155872283
+ name 1_128_KEY_ENTER
+ 2155872299
+ name 1_128_KEY_MENU
+ 2155872303
+ name 1_128_KEY_MUP
+ 2155872304
+ name 1_128_KEY_MDOWN
+ 2155872305
+ name 1_128_KEY_MLEFT
+ 2155872306
+ name 1_128_KEY_MRIGHT
+ 2155872307
+ name 0_129_KEY_0
+ 8454144
+ name 0_129_KEY_1
+ 8454145
+ name 0_129_KEY_2
+ 8454146
+ name 0_129_KEY_3
+ 8454147
+ name 0_129_KEY_4
+ 8454148
+ name 0_129_KEY_5
+ 8454149
+ name 0_129_KEY_6
+ 8454150
+ name 0_129_KEY_7
+ 8454151
+ name 0_129_KEY_8
+ 8454152
+ name 0_129_KEY_9
+ 8454153
+ name 0_129_KEY_POWER
+ 8454154
+ name 0_129_KEY_CH_UP
+ 8454159
+ name 0_129_KEY_CH_DOWN
+ 8454160
+ name 0_129_KEY_MUTE
+ 8454161
+ name 0_129_KEY_VOL_DOWN
+ 8454162
+ name 0_129_CH_PREVIOUS
+ 8454163
+ name 0_129_KEY_VOL_UP
+ 8454164
+ name 0_129_KEY_DISPLAY
+ 8454165
+ name 0_129_KEY_MNSELECT
+ 8454167
+ name 0_129_KEY_EXIT
+ 8454168
+ name 0_129_KEY_GUIDE
+ 8454171
+ name 0_129_KEY_ENTER
+ 8454187
+ name 0_129_KEY_MENU
+ 8454191
+ name 0_129_KEY_MUP
+ 8454192
+ name 0_129_KEY_MDOWN
+ 8454193
+ name 0_129_KEY_MLEFT
+ 8454194
+ name 0_129_KEY_MRIGHT
+ 8454195
+ name 0_129_KEY_FF
+ 8454196
+ name 0_129_KEY_PLAY
+ 8454197
+ name 0_129_KEY_REW
+ 8454198
+ name 0_129_KEY_PAUSE
+ 8454200
+ name 0_129_KEY_STOP
+ 8454201
+ name 1_129_KEY_0
+ 2155937792
+ name 1_129_KEY_1
+ 2155937793
+ name 1_129_KEY_2
+ 2155937794
+ name 1_129_KEY_3
+ 2155937795
+ name 1_129_KEY_4
+ 2155937796
+ name 1_129_KEY_5
+ 2155937797
+ name 1_129_KEY_6
+ 2155937798
+ name 1_129_KEY_7
+ 2155937799
+ name 1_129_KEY_8
+ 2155937800
+ name 1_129_KEY_9
+ 2155937801
+ name 1_129_KEY_POWER
+ 2155937802
+ name 1_129_KEY_CH_UP
+ 2155937807
+ name 1_129_KEY_CH_DOWN
+ 2155937808
+ name 1_129_CH_PREVIOUS
+ 2155937811
+ name 1_129_KEY_DISPLAY
+ 2155937813
+ name 1_129_KEY_EXIT
+ 2155937816
+ name 1_129_KEY_GUIDE
+ 2155937819
+ name 1_129_KEY_SAT
+ 2155937834
+ name 1_129_KEY_MENU
+ 2155937839
+ name 1_129_KEY_MUP
+ 2155937840
+ name 1_129_KEY_MDOWN
+ 2155937841
+ name 1_129_KEY_MLEFT
+ 2155937842
+ name 1_129_KEY_MRIGHT
+ 2155937843
+ name 1_129_KEY_FF
+ 2155937844
+ name 1_129_KEY_PLAY
+ 2155937845
+ name 1_129_KEY_REW
+ 2155937846
+ name 1_129_KEY_REC
+ 2155937847
+ name 1_129_KEY_PAUSE
+ 2155937848
+ name 1_129_KEY_STOP
+ 2155937849
+ name 0_130_KEY_0
+ 8519680
+ name 0_130_KEY_1
+ 8519681
+ name 0_130_KEY_2
+ 8519682
+ name 0_130_KEY_3
+ 8519683
+ name 0_130_KEY_4
+ 8519684
+ name 0_130_KEY_5
+ 8519685
+ name 0_130_KEY_6
+ 8519686
+ name 0_130_KEY_7
+ 8519687
+ name 0_130_KEY_8
+ 8519688
+ name 0_130_KEY_9
+ 8519689
+ name 0_130_KEY_POWER
+ 8519690
+ name 0_130_KEY_CH_UP
+ 8519695
+ name 0_130_KEY_CH_DOWN
+ 8519696
+ name 0_130_KEY_MUTE
+ 8519697
+ name 0_130_KEY_VOL_DOWN
+ 8519698
+ name 0_130_CH_PREVIOUS
+ 8519699
+ name 0_130_KEY_VOL_UP
+ 8519700
+ name 0_130_KEY_DISPLAY
+ 8519701
+ name 0_130_KEY_MNSELECT
+ 8519703
+ name 0_130_KEY_EXIT
+ 8519704
+ name 0_130_KEY_GUIDE
+ 8519707
+ name 0_130_KEY_ENTER
+ 8519723
+ name 0_130_KEY_MENU
+ 8519727
+ name 0_130_KEY_MUP
+ 8519728
+ name 0_130_KEY_MDOWN
+ 8519729
+ name 0_130_KEY_MLEFT
+ 8519730
+ name 0_130_KEY_MRIGHT
+ 8519731
+ name 0_130_KEY_FF
+ 8519732
+ name 0_130_KEY_PLAY
+ 8519733
+ name 0_130_KEY_REW
+ 8519734
+ name 0_130_KEY_REC
+ 8519735
+ name 0_130_KEY_PAUSE
+ 8519736
+ name 0_130_KEY_STOP
+ 8519737
+ name 1_130_KEY_0
+ 2156003328
+ name 1_130_KEY_1
+ 2156003329
+ name 1_130_KEY_2
+ 2156003330
+ name 1_130_KEY_3
+ 2156003331
+ name 1_130_KEY_4
+ 2156003332
+ name 1_130_KEY_5
+ 2156003333
+ name 1_130_KEY_6
+ 2156003334
+ name 1_130_KEY_7
+ 2156003335
+ name 1_130_KEY_8
+ 2156003336
+ name 1_130_KEY_9
+ 2156003337
+ name 1_130_KEY_POWER
+ 2156003338
+ name 1_130_KEY_CH_UP
+ 2156003343
+ name 1_130_KEY_CH_DOWN
+ 2156003344
+ name 1_130_CH_PREVIOUS
+ 2156003347
+ name 1_130_KEY_DISPLAY
+ 2156003349
+ name 1_130_KEY_EXIT
+ 2156003352
+ name 1_130_KEY_GUIDE
+ 2156003355
+ name 1_130_KEY_SAT
+ 2156003370
+ name 1_130_KEY_MENU
+ 2156003375
+ name 1_130_KEY_MUP
+ 2156003376
+ name 1_130_KEY_MDOWN
+ 2156003377
+ name 1_130_KEY_MLEFT
+ 2156003378
+ name 1_130_KEY_MRIGHT
+ 2156003379
+ name 1_130_KEY_FF
+ 2156003380
+ name 1_130_KEY_PLAY
+ 2156003381
+ name 1_130_KEY_REW
+ 2156003382
+ name 1_130_KEY_REC
+ 2156003383
+ name 1_130_KEY_PAUSE
+ 2156003384
+ name 1_130_KEY_STOP
+ 2156003385
+ name 1_131_KEY_0
+ 2156068864
+ name 1_131_KEY_1
+ 2156068865
+ name 1_131_KEY_2
+ 2156068866
+ name 1_131_KEY_3
+ 2156068867
+ name 1_131_KEY_4
+ 2156068868
+ name 1_131_KEY_5
+ 2156068869
+ name 1_131_KEY_6
+ 2156068870
+ name 1_131_KEY_7
+ 2156068871
+ name 1_131_KEY_8
+ 2156068872
+ name 1_131_KEY_9
+ 2156068873
+ name 1_131_KEY_POWER
+ 2156068874
+ name 1_131_KEY_CH_UP
+ 2156068879
+ name 1_131_KEY_CH_DOWN
+ 2156068880
+ name 1_131_CH_PREVIOUS
+ 2156068883
+ name 1_131_KEY_DISPLAY
+ 2156068885
+ name 1_131_KEY_EXIT
+ 2156068888
+ name 1_131_KEY_GUIDE
+ 2156068891
+ name 1_131_KEY_SAT
+ 2156068906
+ name 1_131_KEY_MENU
+ 2156068911
+ name 1_131_KEY_MUP
+ 2156068912
+ name 1_131_KEY_MDOWN
+ 2156068913
+ name 1_131_KEY_MLEFT
+ 2156068914
+ name 1_131_KEY_MRIGHT
+ 2156068915
+ name 1_131_KEY_FF
+ 2156068916
+ name 1_131_KEY_PLAY
+ 2156068917
+ name 1_131_KEY_REW
+ 2156068918
+ name 1_131_KEY_REC
+ 2156068919
+ name 1_131_KEY_PAUSE
+ 2156068920
+ name 1_131_KEY_STOP
+ 2156068921
+ name 1_132_KEY_0
+ 2156134400
+ name 1_132_KEY_1
+ 2156134401
+ name 1_132_KEY_2
+ 2156134402
+ name 1_132_KEY_3
+ 2156134403
+ name 1_132_KEY_4
+ 2156134404
+ name 1_132_KEY_5
+ 2156134405
+ name 1_132_KEY_6
+ 2156134406
+ name 1_132_KEY_7
+ 2156134407
+ name 1_132_KEY_8
+ 2156134408
+ name 1_132_KEY_9
+ 2156134409
+ name 1_132_KEY_POWER
+ 2156134410
+ name 1_132_KEY_CH_UP
+ 2156134415
+ name 1_132_KEY_CH_DOWN
+ 2156134416
+ name 1_132_CH_PREVIOUS
+ 2156134419
+ name 1_132_KEY_DISPLAY
+ 2156134421
+ name 1_132_KEY_EXIT
+ 2156134424
+ name 1_132_KEY_GUIDE
+ 2156134427
+ name 1_132_KEY_SAT
+ 2156134442
+ name 1_132_KEY_MENU
+ 2156134447
+ name 1_132_KEY_MUP
+ 2156134448
+ name 1_132_KEY_MDOWN
+ 2156134449
+ name 1_132_KEY_MLEFT
+ 2156134450
+ name 1_132_KEY_MRIGHT
+ 2156134451
+ name 1_132_KEY_FF
+ 2156134452
+ name 1_132_KEY_PLAY
+ 2156134453
+ name 1_132_KEY_REW
+ 2156134454
+ name 1_132_KEY_REC
+ 2156134455
+ name 1_132_KEY_PAUSE
+ 2156134456
+ name 1_132_KEY_STOP
+ 2156134457
+ name 1_133_KEY_0
+ 2156199936
+ name 1_133_KEY_1
+ 2156199937
+ name 1_133_KEY_2
+ 2156199938
+ name 1_133_KEY_3
+ 2156199939
+ name 1_133_KEY_4
+ 2156199940
+ name 1_133_KEY_5
+ 2156199941
+ name 1_133_KEY_6
+ 2156199942
+ name 1_133_KEY_7
+ 2156199943
+ name 1_133_KEY_8
+ 2156199944
+ name 1_133_KEY_9
+ 2156199945
+ name 1_133_KEY_POWER
+ 2156199946
+ name 1_133_KEY_CH_UP
+ 2156199951
+ name 1_133_KEY_CH_DOWN
+ 2156199952
+ name 1_133_CH_PREVIOUS
+ 2156199955
+ name 1_133_KEY_DISPLAY
+ 2156199957
+ name 1_133_KEY_EXIT
+ 2156199960
+ name 1_133_KEY_GUIDE
+ 2156199963
+ name 1_133_KEY_SAT
+ 2156199978
+ name 1_133_KEY_MENU
+ 2156199983
+ name 1_133_KEY_MUP
+ 2156199984
+ name 1_133_KEY_MDOWN
+ 2156199985
+ name 1_133_KEY_MLEFT
+ 2156199986
+ name 1_133_KEY_MRIGHT
+ 2156199987
+ name 1_133_KEY_FF
+ 2156199988
+ name 1_133_KEY_PLAY
+ 2156199989
+ name 1_133_KEY_REW
+ 2156199990
+ name 1_133_KEY_REC
+ 2156199991
+ name 1_133_KEY_PAUSE
+ 2156199992
+ name 1_133_KEY_STOP
+ 2156199993
+ name 1_134_KEY_0
+ 2156265472
+ name 1_134_KEY_1
+ 2156265473
+ name 1_134_KEY_2
+ 2156265474
+ name 1_134_KEY_3
+ 2156265475
+ name 1_134_KEY_4
+ 2156265476
+ name 1_134_KEY_5
+ 2156265477
+ name 1_134_KEY_6
+ 2156265478
+ name 1_134_KEY_7
+ 2156265479
+ name 1_134_KEY_8
+ 2156265480
+ name 1_134_KEY_9
+ 2156265481
+ name 1_134_KEY_POWER
+ 2156265482
+ name 1_134_KEY_CH_UP
+ 2156265487
+ name 1_134_KEY_CH_DOWN
+ 2156265488
+ name 1_134_KEY_MUTE
+ 2156265489
+ name 1_134_KEY_VOL_DOWN
+ 2156265490
+ name 1_134_CH_PREVIOUS
+ 2156265491
+ name 1_134_KEY_VOL_UP
+ 2156265492
+ name 1_134_KEY_DISPLAY
+ 2156265493
+ name 1_134_KEY_EXIT
+ 2156265496
+ name 1_134_KEY_GUIDE
+ 2156265499
+ name 1_134_KEY_ENTER
+ 2156265515
+ name 1_134_KEY_MENU
+ 2156265519
+ name 1_134_KEY_MUP
+ 2156265520
+ name 1_134_KEY_MDOWN
+ 2156265521
+ name 1_134_KEY_MLEFT
+ 2156265522
+ name 1_134_KEY_MRIGHT
+ 2156265523
+ name 1_135_KEY_0
+ 2156331008
+ name 1_135_KEY_1
+ 2156331009
+ name 1_135_KEY_2
+ 2156331010
+ name 1_135_KEY_3
+ 2156331011
+ name 1_135_KEY_4
+ 2156331012
+ name 1_135_KEY_5
+ 2156331013
+ name 1_135_KEY_6
+ 2156331014
+ name 1_135_KEY_7
+ 2156331015
+ name 1_135_KEY_8
+ 2156331016
+ name 1_135_KEY_9
+ 2156331017
+ name 1_135_KEY_POWER
+ 2156331018
+ name 1_135_KEY_CH_UP
+ 2156331023
+ name 1_135_KEY_CH_DOWN
+ 2156331024
+ name 1_135_KEY_MUTE
+ 2156331025
+ name 1_135_KEY_VOL_DOWN
+ 2156331026
+ name 1_135_CH_PREVIOUS
+ 2156331027
+ name 1_135_KEY_VOL_UP
+ 2156331028
+ name 1_135_KEY_DISPLAY
+ 2156331029
+ name 1_135_KEY_MNSELECT
+ 2156331031
+ name 1_135_KEY_GUIDE
+ 2156331035
+ name 1_135_KEY_MNRETRUN
+ 2156331040
+ name 1_135_KEY_SAT
+ 2156331050
+ name 1_135_KEY_MUP
+ 2156331056
+ name 1_135_KEY_MDOWN
+ 2156331057
+ name 1_135_KEY_MLEFT
+ 2156331058
+ name 1_135_KEY_MRIGHT
+ 2156331059
+ name 1_136_KEY_0
+ 2156396544
+ name 1_136_KEY_1
+ 2156396545
+ name 1_136_KEY_2
+ 2156396546
+ name 1_136_KEY_3
+ 2156396547
+ name 1_136_KEY_4
+ 2156396548
+ name 1_136_KEY_5
+ 2156396549
+ name 1_136_KEY_6
+ 2156396550
+ name 1_136_KEY_7
+ 2156396551
+ name 1_136_KEY_8
+ 2156396552
+ name 1_136_KEY_9
+ 2156396553
+ name 1_136_KEY_POWER
+ 2156396554
+ name 1_136_KEY_CH_UP
+ 2156396559
+ name 1_136_KEY_CH_DOWN
+ 2156396560
+ name 1_136_KEY_MUTE
+ 2156396561
+ name 1_136_KEY_VOL_DOWN
+ 2156396562
+ name 1_136_CH_PREVIOUS
+ 2156396563
+ name 1_136_KEY_VOL_UP
+ 2156396564
+ name 1_136_KEY_DISPLAY
+ 2156396565
+ name 1_136_KEY_EXIT
+ 2156396568
+ name 1_136_KEY_GUIDE
+ 2156396571
+ name 1_136_KEY_SAT
+ 2156396586
+ name 1_136_KEY_MENU
+ 2156396591
+ name 1_136_KEY_MUP
+ 2156396592
+ name 1_136_KEY_MDOWN
+ 2156396593
+ name 1_136_KEY_MLEFT
+ 2156396594
+ name 1_136_KEY_MRIGHT
+ 2156396595
+ name 1_137_KEY_0
+ 2156462080
+ name 1_137_KEY_1
+ 2156462081
+ name 1_137_KEY_2
+ 2156462082
+ name 1_137_KEY_3
+ 2156462083
+ name 1_137_KEY_4
+ 2156462084
+ name 1_137_KEY_5
+ 2156462085
+ name 1_137_KEY_6
+ 2156462086
+ name 1_137_KEY_7
+ 2156462087
+ name 1_137_KEY_8
+ 2156462088
+ name 1_137_KEY_9
+ 2156462089
+ name 1_137_KEY_POWER
+ 2156462090
+ name 1_137_KEY_CH_UP
+ 2156462095
+ name 1_137_KEY_CH_DOWN
+ 2156462096
+ name 1_137_KEY_MUTE
+ 2156462097
+ name 1_137_KEY_VOL_DOWN
+ 2156462098
+ name 1_137_CH_PREVIOUS
+ 2156462099
+ name 1_137_KEY_VOL_UP
+ 2156462100
+ name 1_137_KEY_DISPLAY
+ 2156462101
+ name 1_137_KEY_MNSELECT
+ 2156462103
+ name 1_137_KEY_GUIDE
+ 2156462107
+ name 1_137_KEY_MNRETRUN
+ 2156462112
+ name 1_137_KEY_SAT
+ 2156462122
+ name 1_137_KEY_MUP
+ 2156462128
+ name 1_137_KEY_MDOWN
+ 2156462129
+ name 1_137_KEY_MLEFT
+ 2156462130
+ name 1_137_KEY_MRIGHT
+ 2156462131
+ name 1_138_KEY_0
+ 2156527616
+ name 1_138_KEY_1
+ 2156527617
+ name 1_138_KEY_2
+ 2156527618
+ name 1_138_KEY_3
+ 2156527619
+ name 1_138_KEY_4
+ 2156527620
+ name 1_138_KEY_5
+ 2156527621
+ name 1_138_KEY_6
+ 2156527622
+ name 1_138_KEY_7
+ 2156527623
+ name 1_138_KEY_8
+ 2156527624
+ name 1_138_KEY_9
+ 2156527625
+ name 1_138_KEY_POWER
+ 2156527626
+ name 1_138_KEY_CH_UP
+ 2156527631
+ name 1_138_KEY_CH_DOWN
+ 2156527632
+ name 1_138_KEY_MUTE
+ 2156527633
+ name 1_138_KEY_VOL_DOWN
+ 2156527634
+ name 1_138_CH_PREVIOUS
+ 2156527635
+ name 1_138_KEY_VOL_UP
+ 2156527636
+ name 1_138_KEY_DISPLAY
+ 2156527637
+ name 1_138_KEY_MNSELECT
+ 2156527639
+ name 1_138_KEY_EXIT
+ 2156527640
+ name 1_138_KEY_INPUT
+ 2156527642
+ name 1_138_KEY_GUIDE
+ 2156527643
+ name 1_138_KEY_MNRETRUN
+ 2156527648
+ name 1_138_KEY_MENU
+ 2156527663
+ name 1_138_KEY_MUP
+ 2156527664
+ name 1_138_KEY_MDOWN
+ 2156527665
+ name 1_138_KEY_MLEFT
+ 2156527666
+ name 1_138_KEY_MRIGHT
+ 2156527667
+ name 1_138_KEY_FF
+ 2156527668
+ name 1_138_KEY_PLAY
+ 2156527669
+ name 1_138_KEY_REW
+ 2156527670
+ name 1_138_KEY_REC
+ 2156527671
+ name 1_138_KEY_PAUSE
+ 2156527672
+ name 1_138_KEY_STOP
+ 2156527673
+ name 1_139_KEY_0
+ 2156593152
+ name 1_139_KEY_1
+ 2156593153
+ name 1_139_KEY_2
+ 2156593154
+ name 1_139_KEY_3
+ 2156593155
+ name 1_139_KEY_4
+ 2156593156
+ name 1_139_KEY_5
+ 2156593157
+ name 1_139_KEY_6
+ 2156593158
+ name 1_139_KEY_7
+ 2156593159
+ name 1_139_KEY_8
+ 2156593160
+ name 1_139_KEY_9
+ 2156593161
+ name 1_139_KEY_POWER
+ 2156593162
+ name 1_139_KEY_CH_UP
+ 2156593167
+ name 1_139_KEY_CH_DOWN
+ 2156593168
+ name 1_139_CH_PREVIOUS
+ 2156593171
+ name 1_139_KEY_DISPLAY
+ 2156593173
+ name 1_139_KEY_MNSELECT
+ 2156593175
+ name 1_139_KEY_EXIT
+ 2156593176
+ name 1_139_KEY_INPUT
+ 2156593178
+ name 1_139_KEY_GUIDE
+ 2156593179
+ name 1_139_KEY_MNRETRUN
+ 2156593184
+ name 1_139_KEY_MENU
+ 2156593199
+ name 1_139_KEY_MUP
+ 2156593200
+ name 1_139_KEY_MDOWN
+ 2156593201
+ name 1_139_KEY_MLEFT
+ 2156593202
+ name 1_139_KEY_MRIGHT
+ 2156593203
+ name 1_139_KEY_FF
+ 2156593204
+ name 1_139_KEY_PLAY
+ 2156593205
+ name 1_139_KEY_REW
+ 2156593206
+ name 1_139_KEY_REC
+ 2156593207
+ name 1_139_KEY_PAUSE
+ 2156593208
+ name 1_139_KEY_STOP
+ 2156593209
+ name 1_140_KEY_0
+ 2156658688
+ name 1_140_KEY_1
+ 2156658689
+ name 1_140_KEY_2
+ 2156658690
+ name 1_140_KEY_3
+ 2156658691
+ name 1_140_KEY_4
+ 2156658692
+ name 1_140_KEY_5
+ 2156658693
+ name 1_140_KEY_6
+ 2156658694
+ name 1_140_KEY_7
+ 2156658695
+ name 1_140_KEY_8
+ 2156658696
+ name 1_140_KEY_9
+ 2156658697
+ name 1_140_KEY_POWER
+ 2156658698
+ name 1_140_KEY_CH_UP
+ 2156658703
+ name 1_140_KEY_CH_DOWN
+ 2156658704
+ name 1_140_CH_PREVIOUS
+ 2156658707
+ name 1_140_KEY_DISPLAY
+ 2156658709
+ name 1_140_KEY_MNSELECT
+ 2156658711
+ name 1_140_KEY_EXIT
+ 2156658712
+ name 1_140_KEY_INPUT
+ 2156658714
+ name 1_140_KEY_GUIDE
+ 2156658715
+ name 1_140_KEY_MNRETRUN
+ 2156658720
+ name 1_140_KEY_ENTER
+ 2156658731
+ name 1_140_KEY_MENU
+ 2156658735
+ name 1_140_KEY_MUP
+ 2156658736
+ name 1_140_KEY_MDOWN
+ 2156658737
+ name 1_140_KEY_MLEFT
+ 2156658738
+ name 1_140_KEY_MRIGHT
+ 2156658739
+ name 1_140_KEY_FF
+ 2156658740
+ name 1_140_KEY_PLAY
+ 2156658741
+ name 1_140_KEY_REW
+ 2156658742
+ name 1_140_KEY_REC
+ 2156658743
+ name 1_140_KEY_PAUSE
+ 2156658744
+ name 1_140_KEY_STOP
+ 2156658745
+ name 1_141_KEY_0
+ 2156724224
+ name 1_141_KEY_1
+ 2156724225
+ name 1_141_KEY_2
+ 2156724226
+ name 1_141_KEY_3
+ 2156724227
+ name 1_141_KEY_4
+ 2156724228
+ name 1_141_KEY_5
+ 2156724229
+ name 1_141_KEY_6
+ 2156724230
+ name 1_141_KEY_7
+ 2156724231
+ name 1_141_KEY_8
+ 2156724232
+ name 1_141_KEY_9
+ 2156724233
+ name 1_141_KEY_POWER
+ 2156724234
+ name 1_141_KEY_CH_UP
+ 2156724239
+ name 1_141_KEY_CH_DOWN
+ 2156724240
+ name 1_141_CH_PREVIOUS
+ 2156724243
+ name 1_141_KEY_DISPLAY
+ 2156724245
+ name 1_141_KEY_MNSELECT
+ 2156724247
+ name 1_141_KEY_EXIT
+ 2156724248
+ name 1_141_KEY_INPUT
+ 2156724250
+ name 1_141_KEY_GUIDE
+ 2156724251
+ name 1_141_KEY_MNRETRUN
+ 2156724256
+ name 1_141_KEY_ENTER
+ 2156724267
+ name 1_141_KEY_MUP
+ 2156724272
+ name 1_141_KEY_MDOWN
+ 2156724273
+ name 1_141_KEY_MLEFT
+ 2156724274
+ name 1_141_KEY_MRIGHT
+ 2156724275
+ name 1_142_KEY_0
+ 2156789760
+ name 1_142_KEY_1
+ 2156789761
+ name 1_142_KEY_2
+ 2156789762
+ name 1_142_KEY_3
+ 2156789763
+ name 1_142_KEY_4
+ 2156789764
+ name 1_142_KEY_5
+ 2156789765
+ name 1_142_KEY_6
+ 2156789766
+ name 1_142_KEY_7
+ 2156789767
+ name 1_142_KEY_8
+ 2156789768
+ name 1_142_KEY_9
+ 2156789769
+ name 1_142_KEY_POWER
+ 2156789770
+ name 1_142_KEY_CH_UP
+ 2156789775
+ name 1_142_KEY_CH_DOWN
+ 2156789776
+ name 1_142_KEY_MUTE
+ 2156789777
+ name 1_142_KEY_VOL_DOWN
+ 2156789778
+ name 1_142_CH_PREVIOUS
+ 2156789779
+ name 1_142_KEY_VOL_UP
+ 2156789780
+ name 1_142_KEY_DISPLAY
+ 2156789781
+ name 1_142_KEY_MNSELECT
+ 2156789783
+ name 1_142_KEY_EXIT
+ 2156789784
+ name 1_142_KEY_INPUT
+ 2156789786
+ name 1_142_KEY_GUIDE
+ 2156789787
+ name 1_142_KEY_MNRETRUN
+ 2156789792
+ name 1_142_KEY_MENU
+ 2156789807
+ name 1_142_KEY_MUP
+ 2156789808
+ name 1_142_KEY_MDOWN
+ 2156789809
+ name 1_142_KEY_MLEFT
+ 2156789810
+ name 1_142_KEY_MRIGHT
+ 2156789811
+ name 1_143_KEY_0
+ 2156855296
+ name 1_143_KEY_1
+ 2156855297
+ name 1_143_KEY_2
+ 2156855298
+ name 1_143_KEY_3
+ 2156855299
+ name 1_143_KEY_4
+ 2156855300
+ name 1_143_KEY_5
+ 2156855301
+ name 1_143_KEY_6
+ 2156855302
+ name 1_143_KEY_7
+ 2156855303
+ name 1_143_KEY_8
+ 2156855304
+ name 1_143_KEY_9
+ 2156855305
+ name 1_143_KEY_POWER
+ 2156855306
+ name 1_143_KEY_CH_UP
+ 2156855311
+ name 1_143_KEY_CH_DOWN
+ 2156855312
+ name 1_143_CH_PREVIOUS
+ 2156855315
+ name 1_143_KEY_DISPLAY
+ 2156855317
+ name 1_143_KEY_MNSELECT
+ 2156855319
+ name 1_143_KEY_EXIT
+ 2156855320
+ name 1_143_KEY_INPUT
+ 2156855322
+ name 1_143_KEY_GUIDE
+ 2156855323
+ name 1_143_KEY_MNRETRUN
+ 2156855328
+ name 1_143_KEY_MENU
+ 2156855343
+ name 1_143_KEY_MUP
+ 2156855344
+ name 1_143_KEY_MDOWN
+ 2156855345
+ name 1_143_KEY_MLEFT
+ 2156855346
+ name 1_143_KEY_MRIGHT
+ 2156855347
+ name 1_144_KEY_0
+ 2156920832
+ name 1_144_KEY_1
+ 2156920833
+ name 1_144_KEY_2
+ 2156920834
+ name 1_144_KEY_3
+ 2156920835
+ name 1_144_KEY_4
+ 2156920836
+ name 1_144_KEY_5
+ 2156920837
+ name 1_144_KEY_6
+ 2156920838
+ name 1_144_KEY_7
+ 2156920839
+ name 1_144_KEY_8
+ 2156920840
+ name 1_144_KEY_9
+ 2156920841
+ name 1_144_KEY_POWER
+ 2156920842
+ name 1_144_KEY_CH_UP
+ 2156920847
+ name 1_144_KEY_CH_DOWN
+ 2156920848
+ name 1_144_CH_PREVIOUS
+ 2156920851
+ name 1_144_KEY_DISPLAY
+ 2156920853
+ name 1_144_KEY_EXIT
+ 2156920856
+ name 1_144_KEY_INPUT
+ 2156920858
+ name 1_144_KEY_GUIDE
+ 2156920859
+ name 1_144_KEY_MNRETRUN
+ 2156920864
+ name 1_144_KEY_SAT
+ 2156920874
+ name 1_144_KEY_MENU
+ 2156920879
+ name 1_144_KEY_MUP
+ 2156920880
+ name 1_144_KEY_MDOWN
+ 2156920881
+ name 1_144_KEY_MLEFT
+ 2156920882
+ name 1_144_KEY_MRIGHT
+ 2156920883
+ name 1_145_KEY_0
+ 2156986368
+ name 1_145_KEY_1
+ 2156986369
+ name 1_145_KEY_2
+ 2156986370
+ name 1_145_KEY_3
+ 2156986371
+ name 1_145_KEY_4
+ 2156986372
+ name 1_145_KEY_5
+ 2156986373
+ name 1_145_KEY_6
+ 2156986374
+ name 1_145_KEY_7
+ 2156986375
+ name 1_145_KEY_8
+ 2156986376
+ name 1_145_KEY_9
+ 2156986377
+ name 1_145_KEY_POWER
+ 2156986378
+ name 1_145_KEY_CH_UP
+ 2156986383
+ name 1_145_KEY_CH_DOWN
+ 2156986384
+ name 1_145_CH_PREVIOUS
+ 2156986387
+ name 1_145_KEY_DISPLAY
+ 2156986389
+ name 1_145_KEY_EXIT
+ 2156986392
+ name 1_145_KEY_INPUT
+ 2156986394
+ name 1_145_KEY_GUIDE
+ 2156986395
+ name 1_145_KEY_MNRETRUN
+ 2156986400
+ name 1_145_KEY_SAT
+ 2156986410
+ name 1_145_KEY_MENU
+ 2156986415
+ name 1_145_KEY_MUP
+ 2156986416
+ name 1_145_KEY_MDOWN
+ 2156986417
+ name 1_145_KEY_MLEFT
+ 2156986418
+ name 1_145_KEY_MRIGHT
+ 2156986419
+ name 1_146_KEY_0
+ 2157051904
+ name 1_146_KEY_1
+ 2157051905
+ name 1_146_KEY_2
+ 2157051906
+ name 1_146_KEY_3
+ 2157051907
+ name 1_146_KEY_4
+ 2157051908
+ name 1_146_KEY_5
+ 2157051909
+ name 1_146_KEY_6
+ 2157051910
+ name 1_146_KEY_7
+ 2157051911
+ name 1_146_KEY_8
+ 2157051912
+ name 1_146_KEY_9
+ 2157051913
+ name 1_146_KEY_POWER
+ 2157051914
+ name 1_146_KEY_CH_UP
+ 2157051919
+ name 1_146_KEY_CH_DOWN
+ 2157051920
+ name 1_146_KEY_MUTE
+ 2157051921
+ name 1_146_KEY_VOL_DOWN
+ 2157051922
+ name 1_146_CH_PREVIOUS
+ 2157051923
+ name 1_146_KEY_VOL_UP
+ 2157051924
+ name 1_146_KEY_MNSELECT
+ 2157051927
+ name 1_146_KEY_EXIT
+ 2157051928
+ name 1_146_KEY_INPUT
+ 2157051930
+ name 1_146_KEY_GUIDE
+ 2157051931
+ name 1_146_KEY_SAT
+ 2157051946
+ name 1_146_KEY_MENU
+ 2157051951
+ name 1_146_KEY_MUP
+ 2157051952
+ name 1_146_KEY_MDOWN
+ 2157051953
+ name 1_146_KEY_MLEFT
+ 2157051954
+ name 1_146_KEY_MRIGHT
+ 2157051955
+ name 1_147_KEY_0
+ 2157117440
+ name 1_147_KEY_1
+ 2157117441
+ name 1_147_KEY_2
+ 2157117442
+ name 1_147_KEY_3
+ 2157117443
+ name 1_147_KEY_4
+ 2157117444
+ name 1_147_KEY_5
+ 2157117445
+ name 1_147_KEY_6
+ 2157117446
+ name 1_147_KEY_7
+ 2157117447
+ name 1_147_KEY_8
+ 2157117448
+ name 1_147_KEY_9
+ 2157117449
+ name 1_147_KEY_POWER
+ 2157117450
+ name 1_147_KEY_CH_UP
+ 2157117455
+ name 1_147_KEY_CH_DOWN
+ 2157117456
+ name 1_147_CH_PREVIOUS
+ 2157117459
+ name 1_147_KEY_DISPLAY
+ 2157117461
+ name 1_147_KEY_EXIT
+ 2157117464
+ name 1_147_KEY_GUIDE
+ 2157117467
+ name 1_147_KEY_MENU
+ 2157117487
+ name 1_147_KEY_MUP
+ 2157117488
+ name 1_147_KEY_MDOWN
+ 2157117489
+ name 1_147_KEY_MLEFT
+ 2157117490
+ name 1_147_KEY_MRIGHT
+ 2157117491
+ name 1_148_KEY_0
+ 2157182976
+ name 1_148_KEY_1
+ 2157182977
+ name 1_148_KEY_2
+ 2157182978
+ name 1_148_KEY_3
+ 2157182979
+ name 1_148_KEY_4
+ 2157182980
+ name 1_148_KEY_5
+ 2157182981
+ name 1_148_KEY_6
+ 2157182982
+ name 1_148_KEY_7
+ 2157182983
+ name 1_148_KEY_8
+ 2157182984
+ name 1_148_KEY_9
+ 2157182985
+ name 1_148_KEY_POWER
+ 2157182986
+ name 1_148_KEY_CH_UP
+ 2157182991
+ name 1_148_KEY_CH_DOWN
+ 2157182992
+ name 1_148_KEY_MUTE
+ 2157182993
+ name 1_148_KEY_VOL_DOWN
+ 2157182994
+ name 1_148_CH_PREVIOUS
+ 2157182995
+ name 1_148_KEY_VOL_UP
+ 2157182996
+ name 1_148_KEY_DISPLAY
+ 2157182997
+ name 1_148_KEY_MNSELECT
+ 2157182999
+ name 1_148_KEY_EXIT
+ 2157183000
+ name 1_148_KEY_GUIDE
+ 2157183003
+ name 1_148_KEY_MNRETRUN
+ 2157183008
+ name 1_148_KEY_MENU
+ 2157183023
+ name 1_148_KEY_MUP
+ 2157183024
+ name 1_148_KEY_MDOWN
+ 2157183025
+ name 1_148_KEY_MLEFT
+ 2157183026
+ name 1_148_KEY_MRIGHT
+ 2157183027
+ name 1_149_KEY_0
+ 2157248512
+ name 1_149_KEY_1
+ 2157248513
+ name 1_149_KEY_2
+ 2157248514
+ name 1_149_KEY_3
+ 2157248515
+ name 1_149_KEY_4
+ 2157248516
+ name 1_149_KEY_5
+ 2157248517
+ name 1_149_KEY_6
+ 2157248518
+ name 1_149_KEY_7
+ 2157248519
+ name 1_149_KEY_8
+ 2157248520
+ name 1_149_KEY_9
+ 2157248521
+ name 1_149_KEY_POWER
+ 2157248522
+ name 1_149_KEY_CH_UP
+ 2157248527
+ name 1_149_KEY_CH_DOWN
+ 2157248528
+ name 1_149_KEY_MUTE
+ 2157248529
+ name 1_149_KEY_VOL_DOWN
+ 2157248530
+ name 1_149_CH_PREVIOUS
+ 2157248531
+ name 1_149_KEY_VOL_UP
+ 2157248532
+ name 1_149_KEY_DISPLAY
+ 2157248533
+ name 1_149_KEY_MNSELECT
+ 2157248535
+ name 1_149_KEY_EXIT
+ 2157248536
+ name 1_149_KEY_GUIDE
+ 2157248539
+ name 1_149_KEY_MNRETRUN
+ 2157248544
+ name 1_149_KEY_ENTER
+ 2157248555
+ name 1_149_KEY_MENU
+ 2157248559
+ name 1_149_KEY_MUP
+ 2157248560
+ name 1_149_KEY_MDOWN
+ 2157248561
+ name 1_149_KEY_MLEFT
+ 2157248562
+ name 1_149_KEY_MRIGHT
+ 2157248563
+ name 1_149_KEY_FF
+ 2157248564
+ name 1_149_KEY_PLAY
+ 2157248565
+ name 1_149_KEY_REW
+ 2157248566
+ name 1_149_KEY_REC
+ 2157248567
+ name 1_149_KEY_PAUSE
+ 2157248568
+ name 1_149_KEY_STOP
+ 2157248569
+ name 1_150_KEY_0
+ 2157314048
+ name 1_150_KEY_1
+ 2157314049
+ name 1_150_KEY_2
+ 2157314050
+ name 1_150_KEY_3
+ 2157314051
+ name 1_150_KEY_4
+ 2157314052
+ name 1_150_KEY_5
+ 2157314053
+ name 1_150_KEY_6
+ 2157314054
+ name 1_150_KEY_7
+ 2157314055
+ name 1_150_KEY_8
+ 2157314056
+ name 1_150_KEY_9
+ 2157314057
+ name 1_150_KEY_POWER
+ 2157314058
+ name 1_150_KEY_CH_UP
+ 2157314063
+ name 1_150_KEY_CH_DOWN
+ 2157314064
+ name 1_150_KEY_MUTE
+ 2157314065
+ name 1_150_KEY_VOL_DOWN
+ 2157314066
+ name 1_150_CH_PREVIOUS
+ 2157314067
+ name 1_150_KEY_VOL_UP
+ 2157314068
+ name 1_150_KEY_DISPLAY
+ 2157314069
+ name 1_150_KEY_MNSELECT
+ 2157314071
+ name 1_150_KEY_EXIT
+ 2157314072
+ name 1_150_KEY_GUIDE
+ 2157314075
+ name 1_150_KEY_MNRETRUN
+ 2157314080
+ name 1_150_KEY_MENU
+ 2157314095
+ name 1_150_KEY_MUP
+ 2157314096
+ name 1_150_KEY_MDOWN
+ 2157314097
+ name 1_150_KEY_MLEFT
+ 2157314098
+ name 1_150_KEY_MRIGHT
+ 2157314099
+ name 1_150_KEY_FF
+ 2157314100
+ name 1_150_KEY_PLAY
+ 2157314101
+ name 1_150_KEY_REW
+ 2157314102
+ name 1_150_KEY_REC
+ 2157314103
+ name 1_150_KEY_PAUSE
+ 2157314104
+ name 1_150_KEY_STOP
+ 2157314105
+ name 1_151_KEY_0
+ 2157379584
+ name 1_151_KEY_1
+ 2157379585
+ name 1_151_KEY_2
+ 2157379586
+ name 1_151_KEY_3
+ 2157379587
+ name 1_151_KEY_4
+ 2157379588
+ name 1_151_KEY_5
+ 2157379589
+ name 1_151_KEY_6
+ 2157379590
+ name 1_151_KEY_7
+ 2157379591
+ name 1_151_KEY_8
+ 2157379592
+ name 1_151_KEY_9
+ 2157379593
+ name 1_151_KEY_CH_UP
+ 2157379599
+ name 1_151_KEY_CH_DOWN
+ 2157379600
+ name 1_151_CH_PREVIOUS
+ 2157379603
+ name 1_151_KEY_DISPLAY
+ 2157379605
+ name 1_151_KEY_MNSELECT
+ 2157379607
+ name 1_151_KEY_EXIT
+ 2157379608
+ name 1_151_KEY_GUIDE
+ 2157379611
+ name 1_151_KEY_MNRETRUN
+ 2157379616
+ name 1_151_KEY_ENTER
+ 2157379627
+ name 1_151_KEY_MENU
+ 2157379631
+ name 1_151_KEY_MUP
+ 2157379632
+ name 1_151_KEY_MDOWN
+ 2157379633
+ name 1_151_KEY_MLEFT
+ 2157379634
+ name 1_151_KEY_MRIGHT
+ 2157379635
+ name 1_151_KEY_FF
+ 2157379636
+ name 1_151_KEY_PLAY
+ 2157379637
+ name 1_151_KEY_REW
+ 2157379638
+ name 1_151_KEY_REC
+ 2157379639
+ name 1_151_KEY_PAUSE
+ 2157379640
+ name 1_152_KEY_0
+ 2157445120
+ name 1_152_KEY_1
+ 2157445121
+ name 1_152_KEY_2
+ 2157445122
+ name 1_152_KEY_3
+ 2157445123
+ name 1_152_KEY_4
+ 2157445124
+ name 1_152_KEY_5
+ 2157445125
+ name 1_152_KEY_6
+ 2157445126
+ name 1_152_KEY_7
+ 2157445127
+ name 1_152_KEY_8
+ 2157445128
+ name 1_152_KEY_9
+ 2157445129
+ name 1_152_KEY_POWER
+ 2157445130
+ name 1_152_KEY_CH_UP
+ 2157445135
+ name 1_152_KEY_CH_DOWN
+ 2157445136
+ name 1_152_CH_PREVIOUS
+ 2157445139
+ name 1_152_KEY_DISPLAY
+ 2157445141
+ name 1_152_KEY_MNSELECT
+ 2157445143
+ name 1_152_KEY_EXIT
+ 2157445144
+ name 1_152_KEY_GUIDE
+ 2157445147
+ name 1_152_KEY_MNRETRUN
+ 2157445152
+ name 1_152_KEY_MENU
+ 2157445167
+ name 1_152_KEY_MUP
+ 2157445168
+ name 1_152_KEY_MDOWN
+ 2157445169
+ name 1_152_KEY_MLEFT
+ 2157445170
+ name 1_152_KEY_MRIGHT
+ 2157445171
+ name 1_152_KEY_FF
+ 2157445172
+ name 1_152_KEY_PLAY
+ 2157445173
+ name 1_152_KEY_REW
+ 2157445174
+ name 1_152_KEY_REC
+ 2157445175
+ name 1_152_KEY_PAUSE
+ 2157445176
+ name 1_152_KEY_STOP
+ 2157445177
+ name 1_153_KEY_0
+ 2157510656
+ name 1_153_KEY_1
+ 2157510657
+ name 1_153_KEY_2
+ 2157510658
+ name 1_153_KEY_3
+ 2157510659
+ name 1_153_KEY_4
+ 2157510660
+ name 1_153_KEY_5
+ 2157510661
+ name 1_153_KEY_6
+ 2157510662
+ name 1_153_KEY_7
+ 2157510663
+ name 1_153_KEY_8
+ 2157510664
+ name 1_153_KEY_9
+ 2157510665
+ name 1_153_KEY_POWER
+ 2157510666
+ name 1_153_KEY_CH_UP
+ 2157510671
+ name 1_153_KEY_CH_DOWN
+ 2157510672
+ name 1_153_CH_PREVIOUS
+ 2157510675
+ name 1_153_KEY_DISPLAY
+ 2157510677
+ name 1_153_KEY_MNSELECT
+ 2157510679
+ name 1_153_KEY_EXIT
+ 2157510680
+ name 1_153_KEY_GUIDE
+ 2157510683
+ name 1_153_KEY_MNRETRUN
+ 2157510688
+ name 1_153_KEY_MENU
+ 2157510703
+ name 1_153_KEY_MUP
+ 2157510704
+ name 1_153_KEY_MDOWN
+ 2157510705
+ name 1_153_KEY_MLEFT
+ 2157510706
+ name 1_153_KEY_MRIGHT
+ 2157510707
+ name 1_153_KEY_FF
+ 2157510708
+ name 1_153_KEY_PLAY
+ 2157510709
+ name 1_153_KEY_REW
+ 2157510710
+ name 1_153_KEY_REC
+ 2157510711
+ name 1_153_KEY_PAUSE
+ 2157510712
+ name 1_153_KEY_STOP
+ 2157510713
+ name 1_154_KEY_0
+ 2157576192
+ name 1_154_KEY_1
+ 2157576193
+ name 1_154_KEY_2
+ 2157576194
+ name 1_154_KEY_3
+ 2157576195
+ name 1_154_KEY_4
+ 2157576196
+ name 1_154_KEY_5
+ 2157576197
+ name 1_154_KEY_6
+ 2157576198
+ name 1_154_KEY_7
+ 2157576199
+ name 1_154_KEY_8
+ 2157576200
+ name 1_154_KEY_9
+ 2157576201
+ name 1_154_KEY_POWER
+ 2157576202
+ name 1_154_KEY_CH_UP
+ 2157576207
+ name 1_154_KEY_CH_DOWN
+ 2157576208
+ name 1_154_CH_PREVIOUS
+ 2157576211
+ name 1_154_KEY_DISPLAY
+ 2157576213
+ name 1_154_KEY_MNSELECT
+ 2157576215
+ name 1_154_KEY_EXIT
+ 2157576216
+ name 1_154_KEY_GUIDE
+ 2157576219
+ name 1_154_KEY_MNRETRUN
+ 2157576224
+ name 1_154_KEY_ENTER
+ 2157576235
+ name 1_154_KEY_MENU
+ 2157576239
+ name 1_154_KEY_MUP
+ 2157576240
+ name 1_154_KEY_MDOWN
+ 2157576241
+ name 1_154_KEY_MLEFT
+ 2157576242
+ name 1_154_KEY_MRIGHT
+ 2157576243
+ name 1_154_KEY_FF
+ 2157576244
+ name 1_154_KEY_PLAY
+ 2157576245
+ name 1_154_KEY_REW
+ 2157576246
+ name 1_154_KEY_REC
+ 2157576247
+ name 1_154_KEY_PAUSE
+ 2157576248
+ name 1_154_KEY_STOP
+ 2157576249
+ name 1_155_KEY_0
+ 2157641728
+ name 1_155_KEY_1
+ 2157641729
+ name 1_155_KEY_2
+ 2157641730
+ name 1_155_KEY_3
+ 2157641731
+ name 1_155_KEY_4
+ 2157641732
+ name 1_155_KEY_5
+ 2157641733
+ name 1_155_KEY_6
+ 2157641734
+ name 1_155_KEY_7
+ 2157641735
+ name 1_155_KEY_8
+ 2157641736
+ name 1_155_KEY_9
+ 2157641737
+ name 1_155_KEY_POWER
+ 2157641738
+ name 1_155_KEY_CH_UP
+ 2157641743
+ name 1_155_KEY_CH_DOWN
+ 2157641744
+ name 1_155_CH_PREVIOUS
+ 2157641747
+ name 1_155_KEY_DISPLAY
+ 2157641749
+ name 1_155_KEY_MNSELECT
+ 2157641751
+ name 1_155_KEY_EXIT
+ 2157641752
+ name 1_155_KEY_GUIDE
+ 2157641755
+ name 1_155_KEY_MNRETRUN
+ 2157641760
+ name 1_155_KEY_ENTER
+ 2157641771
+ name 1_155_KEY_MENU
+ 2157641775
+ name 1_155_KEY_MUP
+ 2157641776
+ name 1_155_KEY_MDOWN
+ 2157641777
+ name 1_155_KEY_MLEFT
+ 2157641778
+ name 1_155_KEY_MRIGHT
+ 2157641779
+ name 1_155_KEY_FF
+ 2157641780
+ name 1_155_KEY_PLAY
+ 2157641781
+ name 1_155_KEY_REW
+ 2157641782
+ name 1_155_KEY_REC
+ 2157641783
+ name 1_155_KEY_PAUSE
+ 2157641784
+ name 1_156_KEY_0
+ 2157707264
+ name 1_156_KEY_1
+ 2157707265
+ name 1_156_KEY_2
+ 2157707266
+ name 1_156_KEY_3
+ 2157707267
+ name 1_156_KEY_4
+ 2157707268
+ name 1_156_KEY_5
+ 2157707269
+ name 1_156_KEY_6
+ 2157707270
+ name 1_156_KEY_7
+ 2157707271
+ name 1_156_KEY_8
+ 2157707272
+ name 1_156_KEY_9
+ 2157707273
+ name 1_156_KEY_CH_UP
+ 2157707279
+ name 1_156_KEY_CH_DOWN
+ 2157707280
+ name 1_156_CH_PREVIOUS
+ 2157707283
+ name 1_156_KEY_DISPLAY
+ 2157707285
+ name 1_156_KEY_MNSELECT
+ 2157707287
+ name 1_156_KEY_EXIT
+ 2157707288
+ name 1_156_KEY_GUIDE
+ 2157707291
+ name 1_156_KEY_MNRETRUN
+ 2157707296
+ name 1_156_KEY_ENTER
+ 2157707307
+ name 1_156_KEY_MENU
+ 2157707311
+ name 1_156_KEY_MUP
+ 2157707312
+ name 1_156_KEY_MDOWN
+ 2157707313
+ name 1_156_KEY_MLEFT
+ 2157707314
+ name 1_156_KEY_MRIGHT
+ 2157707315
+ name 1_156_KEY_FF
+ 2157707316
+ name 1_156_KEY_PLAY
+ 2157707317
+ name 1_156_KEY_REW
+ 2157707318
+ name 1_156_KEY_REC
+ 2157707319
+ name 1_156_KEY_PAUSE
+ 2157707320
+ name 1_157_KEY_0
+ 2157772800
+ name 1_157_KEY_1
+ 2157772801
+ name 1_157_KEY_2
+ 2157772802
+ name 1_157_KEY_3
+ 2157772803
+ name 1_157_KEY_4
+ 2157772804
+ name 1_157_KEY_5
+ 2157772805
+ name 1_157_KEY_6
+ 2157772806
+ name 1_157_KEY_7
+ 2157772807
+ name 1_157_KEY_8
+ 2157772808
+ name 1_157_KEY_9
+ 2157772809
+ name 1_157_KEY_POWER
+ 2157772810
+ name 1_157_KEY_CH_UP
+ 2157772815
+ name 1_157_KEY_CH_DOWN
+ 2157772816
+ name 1_157_KEY_DISPLAY
+ 2157772821
+ name 1_157_KEY_MNSELECT
+ 2157772823
+ name 1_157_KEY_EXIT
+ 2157772824
+ name 1_157_KEY_GUIDE
+ 2157772827
+ name 1_157_KEY_ENTER
+ 2157772843
+ name 1_157_KEY_MENU
+ 2157772847
+ name 1_157_KEY_MUP
+ 2157772848
+ name 1_157_KEY_MDOWN
+ 2157772849
+ name 1_157_KEY_MLEFT
+ 2157772850
+ name 1_157_KEY_MRIGHT
+ 2157772851
+ name 1_157_KEY_FF
+ 2157772852
+ name 1_157_KEY_PLAY
+ 2157772853
+ name 1_157_KEY_REW
+ 2157772854
+ name 1_157_KEY_REC
+ 2157772855
+ name 1_157_KEY_PAUSE
+ 2157772856
+ name 1_158_KEY_0
+ 2157838336
+ name 1_158_KEY_1
+ 2157838337
+ name 1_158_KEY_2
+ 2157838338
+ name 1_158_KEY_3
+ 2157838339
+ name 1_158_KEY_4
+ 2157838340
+ name 1_158_KEY_5
+ 2157838341
+ name 1_158_KEY_6
+ 2157838342
+ name 1_158_KEY_7
+ 2157838343
+ name 1_158_KEY_8
+ 2157838344
+ name 1_158_KEY_9
+ 2157838345
+ name 1_158_KEY_POWER
+ 2157838346
+ name 1_158_KEY_CH_UP
+ 2157838351
+ name 1_158_KEY_CH_DOWN
+ 2157838352
+ name 1_158_KEY_DISPLAY
+ 2157838357
+ name 1_158_KEY_MNSELECT
+ 2157838359
+ name 1_158_KEY_EXIT
+ 2157838360
+ name 1_158_KEY_GUIDE
+ 2157838363
+ name 1_158_KEY_ENTER
+ 2157838379
+ name 1_158_KEY_MENU
+ 2157838383
+ name 1_158_KEY_MUP
+ 2157838384
+ name 1_158_KEY_MDOWN
+ 2157838385
+ name 1_158_KEY_MLEFT
+ 2157838386
+ name 1_158_KEY_MRIGHT
+ 2157838387
+ name 1_158_KEY_FF
+ 2157838388
+ name 1_158_KEY_PLAY
+ 2157838389
+ name 1_158_KEY_REW
+ 2157838390
+ name 1_158_KEY_REC
+ 2157838391
+ name 1_158_KEY_PAUSE
+ 2157838392
+ name 1_159_KEY_0
+ 2157903872
+ name 1_159_KEY_1
+ 2157903873
+ name 1_159_KEY_2
+ 2157903874
+ name 1_159_KEY_3
+ 2157903875
+ name 1_159_KEY_4
+ 2157903876
+ name 1_159_KEY_5
+ 2157903877
+ name 1_159_KEY_6
+ 2157903878
+ name 1_159_KEY_7
+ 2157903879
+ name 1_159_KEY_8
+ 2157903880
+ name 1_159_KEY_9
+ 2157903881
+ name 1_159_KEY_POWER
+ 2157903882
+ name 1_159_KEY_CH_UP
+ 2157903887
+ name 1_159_KEY_CH_DOWN
+ 2157903888
+ name 1_159_KEY_MUTE
+ 2157903889
+ name 1_159_KEY_VOL_DOWN
+ 2157903890
+ name 1_159_CH_PREVIOUS
+ 2157903891
+ name 1_159_KEY_VOL_UP
+ 2157903892
+ name 1_159_KEY_DISPLAY
+ 2157903893
+ name 1_159_KEY_MNSELECT
+ 2157903895
+ name 1_159_KEY_EXIT
+ 2157903896
+ name 1_159_KEY_GUIDE
+ 2157903899
+ name 1_159_KEY_MNRETRUN
+ 2157903904
+ name 1_159_KEY_ENTER
+ 2157903915
+ name 1_159_KEY_MENU
+ 2157903919
+ name 1_159_KEY_MUP
+ 2157903920
+ name 1_159_KEY_MDOWN
+ 2157903921
+ name 1_159_KEY_MLEFT
+ 2157903922
+ name 1_159_KEY_MRIGHT
+ 2157903923
+ name 1_160_KEY_0
+ 2157969408
+ name 1_160_KEY_1
+ 2157969409
+ name 1_160_KEY_2
+ 2157969410
+ name 1_160_KEY_3
+ 2157969411
+ name 1_160_KEY_4
+ 2157969412
+ name 1_160_KEY_5
+ 2157969413
+ name 1_160_KEY_6
+ 2157969414
+ name 1_160_KEY_7
+ 2157969415
+ name 1_160_KEY_8
+ 2157969416
+ name 1_160_KEY_9
+ 2157969417
+ name 1_160_KEY_CH_UP
+ 2157969423
+ name 1_160_KEY_CH_DOWN
+ 2157969424
+ name 1_160_CH_PREVIOUS
+ 2157969427
+ name 1_160_KEY_DISPLAY
+ 2157969429
+ name 1_160_KEY_MNSELECT
+ 2157969431
+ name 1_160_KEY_EXIT
+ 2157969432
+ name 1_160_KEY_GUIDE
+ 2157969435
+ name 1_160_KEY_MNRETRUN
+ 2157969440
+ name 1_160_KEY_ENTER
+ 2157969451
+ name 1_160_KEY_MENU
+ 2157969455
+ name 1_160_KEY_MUP
+ 2157969456
+ name 1_160_KEY_MDOWN
+ 2157969457
+ name 1_160_KEY_MLEFT
+ 2157969458
+ name 1_160_KEY_MRIGHT
+ 2157969459
+ name 1_161_KEY_0
+ 2158034944
+ name 1_161_KEY_1
+ 2158034945
+ name 1_161_KEY_2
+ 2158034946
+ name 1_161_KEY_3
+ 2158034947
+ name 1_161_KEY_4
+ 2158034948
+ name 1_161_KEY_5
+ 2158034949
+ name 1_161_KEY_6
+ 2158034950
+ name 1_161_KEY_7
+ 2158034951
+ name 1_161_KEY_8
+ 2158034952
+ name 1_161_KEY_9
+ 2158034953
+ name 1_161_KEY_POWER
+ 2158034954
+ name 1_161_KEY_CH_UP
+ 2158034959
+ name 1_161_KEY_CH_DOWN
+ 2158034960
+ name 1_161_CH_PREVIOUS
+ 2158034963
+ name 1_161_KEY_DISPLAY
+ 2158034965
+ name 1_161_KEY_MNSELECT
+ 2158034967
+ name 1_161_KEY_EXIT
+ 2158034968
+ name 1_161_KEY_GUIDE
+ 2158034971
+ name 1_161_KEY_MNRETRUN
+ 2158034976
+ name 1_161_KEY_MENU
+ 2158034991
+ name 1_161_KEY_MUP
+ 2158034992
+ name 1_161_KEY_MDOWN
+ 2158034993
+ name 1_161_KEY_MLEFT
+ 2158034994
+ name 1_161_KEY_MRIGHT
+ 2158034995
+ name 1_162_KEY_0
+ 2158100480
+ name 1_162_KEY_1
+ 2158100481
+ name 1_162_KEY_2
+ 2158100482
+ name 1_162_KEY_3
+ 2158100483
+ name 1_162_KEY_4
+ 2158100484
+ name 1_162_KEY_5
+ 2158100485
+ name 1_162_KEY_6
+ 2158100486
+ name 1_162_KEY_7
+ 2158100487
+ name 1_162_KEY_8
+ 2158100488
+ name 1_162_KEY_9
+ 2158100489
+ name 1_162_KEY_POWER
+ 2158100490
+ name 1_162_KEY_CH_UP
+ 2158100495
+ name 1_162_KEY_CH_DOWN
+ 2158100496
+ name 1_162_KEY_MUTE
+ 2158100497
+ name 1_162_KEY_VOL_DOWN
+ 2158100498
+ name 1_162_CH_PREVIOUS
+ 2158100499
+ name 1_162_KEY_VOL_UP
+ 2158100500
+ name 1_162_KEY_DISPLAY
+ 2158100501
+ name 1_162_KEY_MNSELECT
+ 2158100503
+ name 1_162_KEY_EXIT
+ 2158100504
+ name 1_162_KEY_GUIDE
+ 2158100507
+ name 1_162_KEY_MNRETRUN
+ 2158100512
+ name 1_162_KEY_ENTER
+ 2158100523
+ name 1_162_KEY_MENU
+ 2158100527
+ name 1_162_KEY_MUP
+ 2158100528
+ name 1_162_KEY_MDOWN
+ 2158100529
+ name 1_162_KEY_MLEFT
+ 2158100530
+ name 1_162_KEY_MRIGHT
+ 2158100531
+ name 1_163_KEY_0
+ 2158166016
+ name 1_163_KEY_1
+ 2158166017
+ name 1_163_KEY_2
+ 2158166018
+ name 1_163_KEY_3
+ 2158166019
+ name 1_163_KEY_4
+ 2158166020
+ name 1_163_KEY_5
+ 2158166021
+ name 1_163_KEY_6
+ 2158166022
+ name 1_163_KEY_7
+ 2158166023
+ name 1_163_KEY_8
+ 2158166024
+ name 1_163_KEY_9
+ 2158166025
+ name 1_163_KEY_POWER
+ 2158166026
+ name 1_163_KEY_CH_UP
+ 2158166031
+ name 1_163_KEY_CH_DOWN
+ 2158166032
+ name 1_163_KEY_MUTE
+ 2158166033
+ name 1_163_KEY_VOL_DOWN
+ 2158166034
+ name 1_163_CH_PREVIOUS
+ 2158166035
+ name 1_163_KEY_VOL_UP
+ 2158166036
+ name 1_163_KEY_DISPLAY
+ 2158166037
+ name 1_163_KEY_MNSELECT
+ 2158166039
+ name 1_163_KEY_EXIT
+ 2158166040
+ name 1_163_KEY_GUIDE
+ 2158166043
+ name 1_163_KEY_MNRETRUN
+ 2158166048
+ name 1_163_KEY_MENU
+ 2158166063
+ name 1_163_KEY_MUP
+ 2158166064
+ name 1_163_KEY_MDOWN
+ 2158166065
+ name 1_163_KEY_MLEFT
+ 2158166066
+ name 1_163_KEY_MRIGHT
+ 2158166067
+ name 1_164_KEY_0
+ 2158231552
+ name 1_164_KEY_1
+ 2158231553
+ name 1_164_KEY_2
+ 2158231554
+ name 1_164_KEY_3
+ 2158231555
+ name 1_164_KEY_4
+ 2158231556
+ name 1_164_KEY_5
+ 2158231557
+ name 1_164_KEY_6
+ 2158231558
+ name 1_164_KEY_7
+ 2158231559
+ name 1_164_KEY_8
+ 2158231560
+ name 1_164_KEY_9
+ 2158231561
+ name 1_164_KEY_POWER
+ 2158231562
+ name 1_164_KEY_CH_UP
+ 2158231567
+ name 1_164_KEY_CH_DOWN
+ 2158231568
+ name 1_164_CH_PREVIOUS
+ 2158231571
+ name 1_164_KEY_DISPLAY
+ 2158231573
+ name 1_164_KEY_MNSELECT
+ 2158231575
+ name 1_164_KEY_EXIT
+ 2158231576
+ name 1_164_KEY_GUIDE
+ 2158231579
+ name 1_164_KEY_ENTER
+ 2158231595
+ name 1_164_KEY_MENU
+ 2158231599
+ name 1_164_KEY_MUP
+ 2158231600
+ name 1_164_KEY_MDOWN
+ 2158231601
+ name 1_164_KEY_MLEFT
+ 2158231602
+ name 1_164_KEY_MRIGHT
+ 2158231603
+ name 1_165_KEY_0
+ 2158297088
+ name 1_165_KEY_1
+ 2158297089
+ name 1_165_KEY_2
+ 2158297090
+ name 1_165_KEY_3
+ 2158297091
+ name 1_165_KEY_4
+ 2158297092
+ name 1_165_KEY_5
+ 2158297093
+ name 1_165_KEY_6
+ 2158297094
+ name 1_165_KEY_7
+ 2158297095
+ name 1_165_KEY_8
+ 2158297096
+ name 1_165_KEY_9
+ 2158297097
+ name 1_165_KEY_POWER
+ 2158297098
+ name 1_165_KEY_CH_UP
+ 2158297103
+ name 1_165_KEY_CH_DOWN
+ 2158297104
+ name 1_165_CH_PREVIOUS
+ 2158297107
+ name 1_165_KEY_DISPLAY
+ 2158297109
+ name 1_165_KEY_MNSELECT
+ 2158297111
+ name 1_165_KEY_EXIT
+ 2158297112
+ name 1_165_KEY_GUIDE
+ 2158297115
+ name 1_165_KEY_MNRETRUN
+ 2158297120
+ name 1_165_KEY_ENTER
+ 2158297131
+ name 1_165_KEY_MENU
+ 2158297135
+ name 1_165_KEY_MUP
+ 2158297136
+ name 1_165_KEY_MDOWN
+ 2158297137
+ name 1_165_KEY_MLEFT
+ 2158297138
+ name 1_165_KEY_MRIGHT
+ 2158297139
+ name 1_165_KEY_FF
+ 2158297140
+ name 1_165_KEY_PLAY
+ 2158297141
+ name 1_165_KEY_REW
+ 2158297142
+ name 1_165_KEY_REC
+ 2158297143
+ name 1_165_KEY_PAUSE
+ 2158297144
+ name 1_165_KEY_STOP
+ 2158297145
+ name 1_166_KEY_0
+ 2158362624
+ name 1_166_KEY_1
+ 2158362625
+ name 1_166_KEY_2
+ 2158362626
+ name 1_166_KEY_3
+ 2158362627
+ name 1_166_KEY_4
+ 2158362628
+ name 1_166_KEY_5
+ 2158362629
+ name 1_166_KEY_6
+ 2158362630
+ name 1_166_KEY_7
+ 2158362631
+ name 1_166_KEY_8
+ 2158362632
+ name 1_166_KEY_9
+ 2158362633
+ name 1_166_KEY_CH_UP
+ 2158362639
+ name 1_166_KEY_CH_DOWN
+ 2158362640
+ name 1_166_CH_PREVIOUS
+ 2158362643
+ name 1_166_KEY_DISPLAY
+ 2158362645
+ name 1_166_KEY_MNSELECT
+ 2158362647
+ name 1_166_KEY_EXIT
+ 2158362648
+ name 1_166_KEY_GUIDE
+ 2158362651
+ name 1_166_KEY_MNRETRUN
+ 2158362656
+ name 1_166_KEY_ENTER
+ 2158362667
+ name 1_166_KEY_MENU
+ 2158362671
+ name 1_166_KEY_MUP
+ 2158362672
+ name 1_166_KEY_MDOWN
+ 2158362673
+ name 1_166_KEY_MLEFT
+ 2158362674
+ name 1_166_KEY_MRIGHT
+ 2158362675
+ name 1_166_KEY_FF
+ 2158362676
+ name 1_166_KEY_PLAY
+ 2158362677
+ name 1_166_KEY_REW
+ 2158362678
+ name 1_166_KEY_REC
+ 2158362679
+ name 1_166_KEY_PAUSE
+ 2158362680
+ name 1_167_KEY_0
+ 2158428160
+ name 1_167_KEY_1
+ 2158428161
+ name 1_167_KEY_2
+ 2158428162
+ name 1_167_KEY_3
+ 2158428163
+ name 1_167_KEY_4
+ 2158428164
+ name 1_167_KEY_5
+ 2158428165
+ name 1_167_KEY_6
+ 2158428166
+ name 1_167_KEY_7
+ 2158428167
+ name 1_167_KEY_8
+ 2158428168
+ name 1_167_KEY_9
+ 2158428169
+ name 1_167_KEY_POWER
+ 2158428170
+ name 1_167_KEY_CH_UP
+ 2158428175
+ name 1_167_KEY_CH_DOWN
+ 2158428176
+ name 1_167_KEY_MUTE
+ 2158428177
+ name 1_167_KEY_VOL_DOWN
+ 2158428178
+ name 1_167_CH_PREVIOUS
+ 2158428179
+ name 1_167_KEY_VOL_UP
+ 2158428180
+ name 1_167_KEY_DISPLAY
+ 2158428181
+ name 1_167_KEY_MNSELECT
+ 2158428183
+ name 1_167_KEY_EXIT
+ 2158428184
+ name 1_167_KEY_GUIDE
+ 2158428187
+ name 1_167_KEY_SAT
+ 2158428202
+ name 1_167_KEY_MENU
+ 2158428207
+ name 1_167_KEY_MUP
+ 2158428208
+ name 1_167_KEY_MDOWN
+ 2158428209
+ name 1_167_KEY_MLEFT
+ 2158428210
+ name 1_167_KEY_MRIGHT
+ 2158428211
+ name 1_168_KEY_0
+ 2158493696
+ name 1_168_KEY_1
+ 2158493697
+ name 1_168_KEY_2
+ 2158493698
+ name 1_168_KEY_3
+ 2158493699
+ name 1_168_KEY_4
+ 2158493700
+ name 1_168_KEY_5
+ 2158493701
+ name 1_168_KEY_6
+ 2158493702
+ name 1_168_KEY_7
+ 2158493703
+ name 1_168_KEY_8
+ 2158493704
+ name 1_168_KEY_9
+ 2158493705
+ name 1_168_KEY_POWER
+ 2158493706
+ name 1_168_KEY_CH_UP
+ 2158493711
+ name 1_168_KEY_CH_DOWN
+ 2158493712
+ name 1_168_CH_PREVIOUS
+ 2158493715
+ name 1_168_KEY_DISPLAY
+ 2158493717
+ name 1_168_KEY_EXIT
+ 2158493720
+ name 1_168_KEY_INPUT
+ 2158493722
+ name 1_168_KEY_GUIDE
+ 2158493723
+ name 1_168_KEY_SELECT
+ 2158493726
+ name 1_168_KEY_MENU
+ 2158493743
+ name 1_168_KEY_MUP
+ 2158493744
+ name 1_168_KEY_MDOWN
+ 2158493745
+ name 1_168_KEY_MLEFT
+ 2158493746
+ name 1_168_KEY_MRIGHT
+ 2158493747
+ name 1_169_KEY_0
+ 2158559232
+ name 1_169_KEY_1
+ 2158559233
+ name 1_169_KEY_2
+ 2158559234
+ name 1_169_KEY_3
+ 2158559235
+ name 1_169_KEY_4
+ 2158559236
+ name 1_169_KEY_5
+ 2158559237
+ name 1_169_KEY_6
+ 2158559238
+ name 1_169_KEY_7
+ 2158559239
+ name 1_169_KEY_8
+ 2158559240
+ name 1_169_KEY_9
+ 2158559241
+ name 1_169_KEY_POWER
+ 2158559242
+ name 1_169_KEY_CH_UP
+ 2158559247
+ name 1_169_KEY_CH_DOWN
+ 2158559248
+ name 1_169_CH_PREVIOUS
+ 2158559251
+ name 1_169_KEY_DISPLAY
+ 2158559253
+ name 1_169_KEY_EXIT
+ 2158559256
+ name 1_169_KEY_INPUT
+ 2158559258
+ name 1_169_KEY_GUIDE
+ 2158559259
+ name 1_169_KEY_MNRETRUN
+ 2158559264
+ name 1_169_KEY_SAT
+ 2158559274
+ name 1_169_KEY_MUP
+ 2158559280
+ name 1_169_KEY_MDOWN
+ 2158559281
+ name 1_169_KEY_MLEFT
+ 2158559282
+ name 1_169_KEY_MRIGHT
+ 2158559283
+ name 1_170_KEY_0
+ 2158624768
+ name 1_170_KEY_1
+ 2158624769
+ name 1_170_KEY_2
+ 2158624770
+ name 1_170_KEY_3
+ 2158624771
+ name 1_170_KEY_4
+ 2158624772
+ name 1_170_KEY_5
+ 2158624773
+ name 1_170_KEY_6
+ 2158624774
+ name 1_170_KEY_7
+ 2158624775
+ name 1_170_KEY_8
+ 2158624776
+ name 1_170_KEY_9
+ 2158624777
+ name 1_170_KEY_POWER
+ 2158624778
+ name 1_170_KEY_CH_UP
+ 2158624783
+ name 1_170_KEY_CH_DOWN
+ 2158624784
+ name 1_170_KEY_MUTE
+ 2158624785
+ name 1_170_KEY_VOL_DOWN
+ 2158624786
+ name 1_170_CH_PREVIOUS
+ 2158624787
+ name 1_170_KEY_VOL_UP
+ 2158624788
+ name 1_170_KEY_DISPLAY
+ 2158624789
+ name 1_170_KEY_EXIT
+ 2158624792
+ name 1_170_KEY_GUIDE
+ 2158624795
+ name 1_170_KEY_MNRETRUN
+ 2158624800
+ name 1_170_KEY_SAT
+ 2158624810
+ name 1_170_KEY_MENU
+ 2158624815
+ name 1_170_KEY_MUP
+ 2158624816
+ name 1_170_KEY_MDOWN
+ 2158624817
+ name 1_170_KEY_MLEFT
+ 2158624818
+ name 1_170_KEY_MRIGHT
+ 2158624819
+ name 1_171_KEY_0
+ 2158690304
+ name 1_171_KEY_1
+ 2158690305
+ name 1_171_KEY_2
+ 2158690306
+ name 1_171_KEY_3
+ 2158690307
+ name 1_171_KEY_4
+ 2158690308
+ name 1_171_KEY_5
+ 2158690309
+ name 1_171_KEY_6
+ 2158690310
+ name 1_171_KEY_7
+ 2158690311
+ name 1_171_KEY_8
+ 2158690312
+ name 1_171_KEY_9
+ 2158690313
+ name 1_171_KEY_POWER
+ 2158690314
+ name 1_171_KEY_CH_UP
+ 2158690319
+ name 1_171_KEY_CH_DOWN
+ 2158690320
+ name 1_171_KEY_MUTE
+ 2158690321
+ name 1_171_KEY_VOL_DOWN
+ 2158690322
+ name 1_171_CH_PREVIOUS
+ 2158690323
+ name 1_171_KEY_VOL_UP
+ 2158690324
+ name 1_171_KEY_DISPLAY
+ 2158690325
+ name 1_171_KEY_EXIT
+ 2158690328
+ name 1_171_KEY_INPUT
+ 2158690330
+ name 1_171_KEY_GUIDE
+ 2158690331
+ name 1_171_KEY_MNRETRUN
+ 2158690336
+ name 1_171_KEY_SAT
+ 2158690346
+ name 1_171_KEY_MUP
+ 2158690352
+ name 1_171_KEY_MDOWN
+ 2158690353
+ name 1_171_KEY_MLEFT
+ 2158690354
+ name 1_171_KEY_MRIGHT
+ 2158690355
+ name 1_172_KEY_0
+ 2158755840
+ name 1_172_KEY_1
+ 2158755841
+ name 1_172_KEY_2
+ 2158755842
+ name 1_172_KEY_3
+ 2158755843
+ name 1_172_KEY_4
+ 2158755844
+ name 1_172_KEY_5
+ 2158755845
+ name 1_172_KEY_6
+ 2158755846
+ name 1_172_KEY_7
+ 2158755847
+ name 1_172_KEY_8
+ 2158755848
+ name 1_172_KEY_9
+ 2158755849
+ name 1_172_KEY_POWER
+ 2158755850
+ name 1_172_KEY_CH_UP
+ 2158755855
+ name 1_172_KEY_CH_DOWN
+ 2158755856
+ name 1_172_KEY_MUTE
+ 2158755857
+ name 1_172_KEY_VOL_DOWN
+ 2158755858
+ name 1_172_CH_PREVIOUS
+ 2158755859
+ name 1_172_KEY_VOL_UP
+ 2158755860
+ name 1_172_KEY_DISPLAY
+ 2158755861
+ name 1_172_KEY_EXIT
+ 2158755864
+ name 1_172_KEY_INPUT
+ 2158755866
+ name 1_172_KEY_GUIDE
+ 2158755867
+ name 1_172_KEY_MNRETRUN
+ 2158755872
+ name 1_172_KEY_SAT
+ 2158755882
+ name 1_172_KEY_MUP
+ 2158755888
+ name 1_172_KEY_MDOWN
+ 2158755889
+ name 1_172_KEY_MLEFT
+ 2158755890
+ name 1_172_KEY_MRIGHT
+ 2158755891
+ name 1_173_KEY_0
+ 2158821376
+ name 1_173_KEY_1
+ 2158821377
+ name 1_173_KEY_2
+ 2158821378
+ name 1_173_KEY_3
+ 2158821379
+ name 1_173_KEY_4
+ 2158821380
+ name 1_173_KEY_5
+ 2158821381
+ name 1_173_KEY_6
+ 2158821382
+ name 1_173_KEY_7
+ 2158821383
+ name 1_173_KEY_8
+ 2158821384
+ name 1_173_KEY_9
+ 2158821385
+ name 1_173_KEY_POWER
+ 2158821386
+ name 1_173_KEY_CH_UP
+ 2158821391
+ name 1_173_KEY_CH_DOWN
+ 2158821392
+ name 1_173_CH_PREVIOUS
+ 2158821395
+ name 1_173_KEY_DISPLAY
+ 2158821397
+ name 1_173_KEY_EXIT
+ 2158821400
+ name 1_173_KEY_GUIDE
+ 2158821403
+ name 1_173_KEY_MNRETRUN
+ 2158821408
+ name 1_173_KEY_SAT
+ 2158821418
+ name 1_173_KEY_MENU
+ 2158821423
+ name 1_173_KEY_MUP
+ 2158821424
+ name 1_173_KEY_MDOWN
+ 2158821425
+ name 1_173_KEY_MLEFT
+ 2158821426
+ name 1_173_KEY_MRIGHT
+ 2158821427
+ name 1_173_KEY_Help
+ 2158821440
+ name 0_300_KEY_0
+ 19660800
+ name 0_300_KEY_1
+ 19660801
+ name 0_300_KEY_2
+ 19660802
+ name 0_300_KEY_3
+ 19660803
+ name 0_300_KEY_4
+ 19660804
+ name 0_300_KEY_5
+ 19660805
+ name 0_300_KEY_6
+ 19660806
+ name 0_300_KEY_7
+ 19660807
+ name 0_300_KEY_8
+ 19660808
+ name 0_300_KEY_9
+ 19660809
+ name 0_300_KEY_POWER
+ 19660810
+ name 0_300_KEY_CH_UP
+ 19660815
+ name 0_300_KEY_CH_DOWN
+ 19660816
+ name 0_300_KEY_MUTE
+ 19660817
+ name 0_300_KEY_VOL_DOWN
+ 19660818
+ name 0_300_KEY_VOL_UP
+ 19660820
+ name 0_300_KEY_MENU
+ 19660847
+ name 0_300_KEY_MUP
+ 19660848
+ name 0_300_KEY_MDOWN
+ 19660849
+ name 0_300_KEY_MLEFT
+ 19660850
+ name 0_300_KEY_MRIGHT
+ 19660851
+ name 1_300_KEY_0
+ 2167144448
+ name 1_300_KEY_1
+ 2167144449
+ name 1_300_KEY_2
+ 2167144450
+ name 1_300_KEY_3
+ 2167144451
+ name 1_300_KEY_4
+ 2167144452
+ name 1_300_KEY_5
+ 2167144453
+ name 1_300_KEY_6
+ 2167144454
+ name 1_300_KEY_7
+ 2167144455
+ name 1_300_KEY_8
+ 2167144456
+ name 1_300_KEY_9
+ 2167144457
+ name 1_300_KEY_POWER
+ 2167144458
+ name 1_300_KEY_CH_UP
+ 2167144463
+ name 1_300_KEY_CH_DOWN
+ 2167144464
+ name 1_300_KEY_MNSELECT
+ 2167144471
+ name 1_300_KEY_MENU
+ 2167144495
+ name 1_300_KEY_MUP
+ 2167144496
+ name 1_300_KEY_MDOWN
+ 2167144497
+ name 1_300_KEY_MLEFT
+ 2167144498
+ name 1_300_KEY_MRIGHT
+ 2167144499
+ name 0_301_KEY_0
+ 19726336
+ name 0_301_KEY_1
+ 19726337
+ name 0_301_KEY_2
+ 19726338
+ name 0_301_KEY_3
+ 19726339
+ name 0_301_KEY_4
+ 19726340
+ name 0_301_KEY_5
+ 19726341
+ name 0_301_KEY_6
+ 19726342
+ name 0_301_KEY_7
+ 19726343
+ name 0_301_KEY_8
+ 19726344
+ name 0_301_KEY_9
+ 19726345
+ name 0_301_KEY_POWER
+ 19726346
+ name 0_301_KEY_CH_UP
+ 19726351
+ name 0_301_KEY_CH_DOWN
+ 19726352
+ name 0_301_KEY_MUTE
+ 19726353
+ name 0_301_KEY_VOL_DOWN
+ 19726354
+ name 0_301_KEY_VOL_UP
+ 19726356
+ name 0_301_KEY_MENU
+ 19726383
+ name 0_301_KEY_MUP
+ 19726384
+ name 0_301_KEY_MDOWN
+ 19726385
+ name 0_301_KEY_MLEFT
+ 19726386
+ name 0_301_KEY_MRIGHT
+ 19726387
+ name 1_301_KEY_0
+ 2167209984
+ name 1_301_KEY_1
+ 2167209985
+ name 1_301_KEY_2
+ 2167209986
+ name 1_301_KEY_3
+ 2167209987
+ name 1_301_KEY_4
+ 2167209988
+ name 1_301_KEY_5
+ 2167209989
+ name 1_301_KEY_6
+ 2167209990
+ name 1_301_KEY_7
+ 2167209991
+ name 1_301_KEY_8
+ 2167209992
+ name 1_301_KEY_9
+ 2167209993
+ name 1_301_KEY_POWER
+ 2167209994
+ name 1_301_KEY_CH_UP
+ 2167209999
+ name 1_301_KEY_CH_DOWN
+ 2167210000
+ name 1_301_CH_PREVIOUS
+ 2167210003
+ name 1_301_KEY_MENU
+ 2167210031
+ name 1_301_KEY_MUP
+ 2167210032
+ name 1_301_KEY_MDOWN
+ 2167210033
+ name 1_301_KEY_MLEFT
+ 2167210034
+ name 1_301_KEY_MRIGHT
+ 2167210035
+ name 0_302_KEY_0
+ 19791872
+ name 0_302_KEY_1
+ 19791873
+ name 0_302_KEY_2
+ 19791874
+ name 0_302_KEY_3
+ 19791875
+ name 0_302_KEY_4
+ 19791876
+ name 0_302_KEY_5
+ 19791877
+ name 0_302_KEY_6
+ 19791878
+ name 0_302_KEY_7
+ 19791879
+ name 0_302_KEY_8
+ 19791880
+ name 0_302_KEY_9
+ 19791881
+ name 0_302_KEY_POWER
+ 19791882
+ name 0_302_KEY_CH_UP
+ 19791887
+ name 0_302_KEY_CH_DOWN
+ 19791888
+ name 0_302_KEY_MUTE
+ 19791889
+ name 0_302_KEY_VOL_DOWN
+ 19791890
+ name 0_302_KEY_VOL_UP
+ 19791892
+ name 0_302_KEY_AV
+ 19791913
+ name 0_302_KEY_MENU
+ 19791919
+ name 0_302_KEY_MUP
+ 19791920
+ name 0_302_KEY_MDOWN
+ 19791921
+ name 0_302_KEY_MLEFT
+ 19791922
+ name 0_302_KEY_MRIGHT
+ 19791923
+ name 1_302_KEY_0
+ 2167275520
+ name 1_302_KEY_1
+ 2167275521
+ name 1_302_KEY_2
+ 2167275522
+ name 1_302_KEY_3
+ 2167275523
+ name 1_302_KEY_4
+ 2167275524
+ name 1_302_KEY_5
+ 2167275525
+ name 1_302_KEY_6
+ 2167275526
+ name 1_302_KEY_7
+ 2167275527
+ name 1_302_KEY_8
+ 2167275528
+ name 1_302_KEY_9
+ 2167275529
+ name 1_302_KEY_POWER
+ 2167275530
+ name 1_302_KEY_CH_UP
+ 2167275535
+ name 1_302_KEY_CH_DOWN
+ 2167275536
+ name 1_302_CH_PREVIOUS
+ 2167275539
+ name 1_302_KEY_MNSELECT
+ 2167275543
+ name 1_302_KEY_MENU
+ 2167275567
+ name 1_302_KEY_MUP
+ 2167275568
+ name 1_302_KEY_MDOWN
+ 2167275569
+ name 1_302_KEY_MLEFT
+ 2167275570
+ name 1_302_KEY_MRIGHT
+ 2167275571
+ name 0_303_KEY_0
+ 19857408
+ name 0_303_KEY_1
+ 19857409
+ name 0_303_KEY_2
+ 19857410
+ name 0_303_KEY_3
+ 19857411
+ name 0_303_KEY_4
+ 19857412
+ name 0_303_KEY_5
+ 19857413
+ name 0_303_KEY_6
+ 19857414
+ name 0_303_KEY_7
+ 19857415
+ name 0_303_KEY_8
+ 19857416
+ name 0_303_KEY_9
+ 19857417
+ name 0_303_KEY_POWER
+ 19857418
+ name 0_303_TWO_DIGITS
+ 19857421
+ name 0_303_KEY_CH_UP
+ 19857423
+ name 0_303_KEY_CH_DOWN
+ 19857424
+ name 1_303_KEY_0
+ 2167341056
+ name 1_303_KEY_1
+ 2167341057
+ name 1_303_KEY_2
+ 2167341058
+ name 1_303_KEY_3
+ 2167341059
+ name 1_303_KEY_4
+ 2167341060
+ name 1_303_KEY_5
+ 2167341061
+ name 1_303_KEY_6
+ 2167341062
+ name 1_303_KEY_7
+ 2167341063
+ name 1_303_KEY_8
+ 2167341064
+ name 1_303_KEY_9
+ 2167341065
+ name 1_303_KEY_POWER
+ 2167341066
+ name 1_303_TWO_DIGITS
+ 2167341069
+ name 1_303_KEY_CH_UP
+ 2167341071
+ name 1_303_KEY_CH_DOWN
+ 2167341072
+ name 1_303_CH_PREVIOUS
+ 2167341075
+ name 1_303_KEY_MNSELECT
+ 2167341079
+ name 1_303_KEY_FAV
+ 2167341085
+ name 1_303_KEY_MENU
+ 2167341103
+ name 1_303_KEY_MUP
+ 2167341104
+ name 1_303_KEY_MDOWN
+ 2167341105
+ name 1_303_KEY_MLEFT
+ 2167341106
+ name 1_303_KEY_MRIGHT
+ 2167341107
+ name 0_304_KEY_0
+ 19922944
+ name 0_304_KEY_1
+ 19922945
+ name 0_304_KEY_2
+ 19922946
+ name 0_304_KEY_3
+ 19922947
+ name 0_304_KEY_4
+ 19922948
+ name 0_304_KEY_5
+ 19922949
+ name 0_304_KEY_6
+ 19922950
+ name 0_304_KEY_7
+ 19922951
+ name 0_304_KEY_8
+ 19922952
+ name 0_304_KEY_9
+ 19922953
+ name 0_304_KEY_POWER
+ 19922954
+ name 0_304_KEY_CH_UP
+ 19922959
+ name 0_304_KEY_CH_DOWN
+ 19922960
+ name 0_304_CH_PREVIOUS
+ 19922963
+ name 1_304_KEY_0
+ 2167406592
+ name 1_304_KEY_1
+ 2167406593
+ name 1_304_KEY_2
+ 2167406594
+ name 1_304_KEY_3
+ 2167406595
+ name 1_304_KEY_4
+ 2167406596
+ name 1_304_KEY_5
+ 2167406597
+ name 1_304_KEY_6
+ 2167406598
+ name 1_304_KEY_7
+ 2167406599
+ name 1_304_KEY_8
+ 2167406600
+ name 1_304_KEY_9
+ 2167406601
+ name 1_304_KEY_POWER
+ 2167406602
+ name 1_304_KEY_CH_UP
+ 2167406607
+ name 1_304_KEY_CH_DOWN
+ 2167406608
+ name 1_304_KEY_MNSELECT
+ 2167406615
+ name 1_304_KEY_MENU
+ 2167406639
+ name 1_304_KEY_MUP
+ 2167406640
+ name 1_304_KEY_MDOWN
+ 2167406641
+ name 1_304_KEY_MLEFT
+ 2167406642
+ name 1_304_KEY_MRIGHT
+ 2167406643
+ name 0_305_KEY_0
+ 19988480
+ name 0_305_KEY_1
+ 19988481
+ name 0_305_KEY_2
+ 19988482
+ name 0_305_KEY_3
+ 19988483
+ name 0_305_KEY_4
+ 19988484
+ name 0_305_KEY_5
+ 19988485
+ name 0_305_KEY_6
+ 19988486
+ name 0_305_KEY_7
+ 19988487
+ name 0_305_KEY_8
+ 19988488
+ name 0_305_KEY_9
+ 19988489
+ name 0_305_KEY_POWER
+ 19988490
+ name 0_305_TWO_DIGITS
+ 19988493
+ name 0_305_KEY_CH_UP
+ 19988495
+ name 0_305_KEY_CH_DOWN
+ 19988496
+ name 0_305_CH_PREVIOUS
+ 19988499
+ name 1_305_KEY_0
+ 2167472128
+ name 1_305_KEY_1
+ 2167472129
+ name 1_305_KEY_2
+ 2167472130
+ name 1_305_KEY_3
+ 2167472131
+ name 1_305_KEY_4
+ 2167472132
+ name 1_305_KEY_5
+ 2167472133
+ name 1_305_KEY_6
+ 2167472134
+ name 1_305_KEY_7
+ 2167472135
+ name 1_305_KEY_8
+ 2167472136
+ name 1_305_KEY_9
+ 2167472137
+ name 1_305_KEY_POWER
+ 2167472138
+ name 1_305_TWO_DIGITS
+ 2167472141
+ name 1_305_KEY_CH_UP
+ 2167472143
+ name 1_305_KEY_CH_DOWN
+ 2167472144
+ name 1_305_KEY_FAV
+ 2167472157
+ name 0_306_KEY_0
+ 20054016
+ name 0_306_KEY_1
+ 20054017
+ name 0_306_KEY_2
+ 20054018
+ name 0_306_KEY_3
+ 20054019
+ name 0_306_KEY_4
+ 20054020
+ name 0_306_KEY_5
+ 20054021
+ name 0_306_KEY_6
+ 20054022
+ name 0_306_KEY_7
+ 20054023
+ name 0_306_KEY_8
+ 20054024
+ name 0_306_KEY_9
+ 20054025
+ name 0_306_KEY_POWER
+ 20054026
+ name 0_306_KEY_CH_UP
+ 20054031
+ name 0_306_KEY_CH_DOWN
+ 20054032
+ name 0_306_KEY_AV
+ 20054057
+ name 1_306_KEY_0
+ 2167537664
+ name 1_306_KEY_1
+ 2167537665
+ name 1_306_KEY_2
+ 2167537666
+ name 1_306_KEY_3
+ 2167537667
+ name 1_306_KEY_4
+ 2167537668
+ name 1_306_KEY_5
+ 2167537669
+ name 1_306_KEY_6
+ 2167537670
+ name 1_306_KEY_7
+ 2167537671
+ name 1_306_KEY_8
+ 2167537672
+ name 1_306_KEY_9
+ 2167537673
+ name 1_306_KEY_POWER
+ 2167537674
+ name 1_306_KEY_CH_UP
+ 2167537679
+ name 1_306_KEY_CH_DOWN
+ 2167537680
+ name 1_306_CH_PREVIOUS
+ 2167537683
+ name 1_306_KEY_MNSELECT
+ 2167537687
+ name 1_306_KEY_MENU
+ 2167537711
+ name 1_306_KEY_MUP
+ 2167537712
+ name 1_306_KEY_MDOWN
+ 2167537713
+ name 1_306_KEY_MLEFT
+ 2167537714
+ name 1_306_KEY_MRIGHT
+ 2167537715
+ name 0_307_KEY_0
+ 20119552
+ name 0_307_KEY_1
+ 20119553
+ name 0_307_KEY_2
+ 20119554
+ name 0_307_KEY_3
+ 20119555
+ name 0_307_KEY_4
+ 20119556
+ name 0_307_KEY_5
+ 20119557
+ name 0_307_KEY_6
+ 20119558
+ name 0_307_KEY_7
+ 20119559
+ name 0_307_KEY_8
+ 20119560
+ name 0_307_KEY_9
+ 20119561
+ name 0_307_KEY_POWER
+ 20119562
+ name 0_307_KEY_CH_UP
+ 20119567
+ name 0_307_KEY_CH_DOWN
+ 20119568
+ name 0_307_CH_PREVIOUS
+ 20119571
+ name 1_307_KEY_0
+ 2167603200
+ name 1_307_KEY_1
+ 2167603201
+ name 1_307_KEY_2
+ 2167603202
+ name 1_307_KEY_3
+ 2167603203
+ name 1_307_KEY_4
+ 2167603204
+ name 1_307_KEY_5
+ 2167603205
+ name 1_307_KEY_6
+ 2167603206
+ name 1_307_KEY_7
+ 2167603207
+ name 1_307_KEY_8
+ 2167603208
+ name 1_307_KEY_9
+ 2167603209
+ name 1_307_KEY_POWER
+ 2167603210
+ name 1_307_KEY_CH_UP
+ 2167603215
+ name 1_307_KEY_CH_DOWN
+ 2167603216
+ name 1_307_CH_PREVIOUS
+ 2167603219
+ name 1_307_KEY_MNSELECT
+ 2167603223
+ name 1_307_KEY_MENU
+ 2167603247
+ name 1_307_KEY_MUP
+ 2167603248
+ name 1_307_KEY_MDOWN
+ 2167603249
+ name 1_307_KEY_MLEFT
+ 2167603250
+ name 1_307_KEY_MRIGHT
+ 2167603251
+ name 0_308_KEY_0
+ 20185088
+ name 0_308_KEY_1
+ 20185089
+ name 0_308_KEY_2
+ 20185090
+ name 0_308_KEY_3
+ 20185091
+ name 0_308_KEY_4
+ 20185092
+ name 0_308_KEY_5
+ 20185093
+ name 0_308_KEY_6
+ 20185094
+ name 0_308_KEY_7
+ 20185095
+ name 0_308_KEY_8
+ 20185096
+ name 0_308_KEY_9
+ 20185097
+ name 0_308_KEY_POWER
+ 20185098
+ name 0_308_TWO_DIGITS
+ 20185101
+ name 0_308_KEY_CH_UP
+ 20185103
+ name 0_308_KEY_CH_DOWN
+ 20185104
+ name 0_308_CH_PREVIOUS
+ 20185107
+ name 1_308_KEY_0
+ 2167668736
+ name 1_308_KEY_1
+ 2167668737
+ name 1_308_KEY_2
+ 2167668738
+ name 1_308_KEY_3
+ 2167668739
+ name 1_308_KEY_4
+ 2167668740
+ name 1_308_KEY_5
+ 2167668741
+ name 1_308_KEY_6
+ 2167668742
+ name 1_308_KEY_7
+ 2167668743
+ name 1_308_KEY_8
+ 2167668744
+ name 1_308_KEY_9
+ 2167668745
+ name 1_308_KEY_POWER
+ 2167668746
+ name 1_308_KEY_CH_UP
+ 2167668751
+ name 1_308_KEY_CH_DOWN
+ 2167668752
+ name 1_308_KEY_MNSELECT
+ 2167668759
+ name 1_308_KEY_MENU
+ 2167668783
+ name 1_308_KEY_MUP
+ 2167668784
+ name 1_308_KEY_MDOWN
+ 2167668785
+ name 1_308_KEY_MLEFT
+ 2167668786
+ name 1_308_KEY_MRIGHT
+ 2167668787
+ name 1_308_KEY_On
+ 2167668813
+ name 0_309_KEY_0
+ 20250624
+ name 0_309_KEY_1
+ 20250625
+ name 0_309_KEY_2
+ 20250626
+ name 0_309_KEY_3
+ 20250627
+ name 0_309_KEY_4
+ 20250628
+ name 0_309_KEY_5
+ 20250629
+ name 0_309_KEY_6
+ 20250630
+ name 0_309_KEY_7
+ 20250631
+ name 0_309_KEY_8
+ 20250632
+ name 0_309_KEY_9
+ 20250633
+ name 0_309_KEY_POWER
+ 20250634
+ name 0_309_KEY_CH_UP
+ 20250639
+ name 0_309_KEY_CH_DOWN
+ 20250640
+ name 1_309_KEY_0
+ 2167734272
+ name 1_309_KEY_1
+ 2167734273
+ name 1_309_KEY_2
+ 2167734274
+ name 1_309_KEY_3
+ 2167734275
+ name 1_309_KEY_4
+ 2167734276
+ name 1_309_KEY_5
+ 2167734277
+ name 1_309_KEY_6
+ 2167734278
+ name 1_309_KEY_7
+ 2167734279
+ name 1_309_KEY_8
+ 2167734280
+ name 1_309_KEY_9
+ 2167734281
+ name 1_309_KEY_POWER
+ 2167734282
+ name 1_309_KEY_CH_UP
+ 2167734287
+ name 1_309_KEY_CH_DOWN
+ 2167734288
+ name 1_309_KEY_MNSELECT
+ 2167734295
+ name 1_309_KEY_MENU
+ 2167734319
+ name 1_309_KEY_MUP
+ 2167734320
+ name 1_309_KEY_MDOWN
+ 2167734321
+ name 1_309_KEY_MLEFT
+ 2167734322
+ name 1_309_KEY_MRIGHT
+ 2167734323
+ name 1_309_KEY_On
+ 2167734349
+ name 0_310_KEY_0
+ 20316160
+ name 0_310_KEY_1
+ 20316161
+ name 0_310_KEY_2
+ 20316162
+ name 0_310_KEY_3
+ 20316163
+ name 0_310_KEY_4
+ 20316164
+ name 0_310_KEY_5
+ 20316165
+ name 0_310_KEY_6
+ 20316166
+ name 0_310_KEY_7
+ 20316167
+ name 0_310_KEY_8
+ 20316168
+ name 0_310_KEY_9
+ 20316169
+ name 0_310_KEY_POWER
+ 20316170
+ name 0_310_TWO_DIGITS
+ 20316173
+ name 0_310_KEY_CH_UP
+ 20316175
+ name 0_310_KEY_CH_DOWN
+ 20316176
+ name 1_310_KEY_0
+ 2167799808
+ name 1_310_KEY_1
+ 2167799809
+ name 1_310_KEY_2
+ 2167799810
+ name 1_310_KEY_3
+ 2167799811
+ name 1_310_KEY_4
+ 2167799812
+ name 1_310_KEY_5
+ 2167799813
+ name 1_310_KEY_6
+ 2167799814
+ name 1_310_KEY_7
+ 2167799815
+ name 1_310_KEY_8
+ 2167799816
+ name 1_310_KEY_9
+ 2167799817
+ name 1_310_KEY_POWER
+ 2167799818
+ name 1_310_KEY_CH_UP
+ 2167799823
+ name 1_310_KEY_CH_DOWN
+ 2167799824
+ name 1_310_KEY_MNSELECT
+ 2167799831
+ name 1_310_KEY_MENU
+ 2167799855
+ name 1_310_KEY_MUP
+ 2167799856
+ name 1_310_KEY_MDOWN
+ 2167799857
+ name 1_310_KEY_MLEFT
+ 2167799858
+ name 1_310_KEY_MRIGHT
+ 2167799859
+ name 1_310_KEY_On
+ 2167799885
+ name 0_311_KEY_0
+ 20381696
+ name 0_311_KEY_1
+ 20381697
+ name 0_311_KEY_2
+ 20381698
+ name 0_311_KEY_3
+ 20381699
+ name 0_311_KEY_4
+ 20381700
+ name 0_311_KEY_5
+ 20381701
+ name 0_311_KEY_6
+ 20381702
+ name 0_311_KEY_7
+ 20381703
+ name 0_311_KEY_8
+ 20381704
+ name 0_311_KEY_9
+ 20381705
+ name 0_311_KEY_POWER
+ 20381706
+ name 0_311_KEY_CH_UP
+ 20381711
+ name 0_311_KEY_CH_DOWN
+ 20381712
+ name 1_311_KEY_0
+ 2167865344
+ name 1_311_KEY_1
+ 2167865345
+ name 1_311_KEY_2
+ 2167865346
+ name 1_311_KEY_3
+ 2167865347
+ name 1_311_KEY_4
+ 2167865348
+ name 1_311_KEY_5
+ 2167865349
+ name 1_311_KEY_6
+ 2167865350
+ name 1_311_KEY_7
+ 2167865351
+ name 1_311_KEY_8
+ 2167865352
+ name 1_311_KEY_9
+ 2167865353
+ name 1_311_KEY_POWER
+ 2167865354
+ name 1_311_KEY_CH_UP
+ 2167865359
+ name 1_311_KEY_CH_DOWN
+ 2167865360
+ name 1_311_CH_PREVIOUS
+ 2167865363
+ name 1_311_KEY_MENU
+ 2167865391
+ name 1_311_KEY_MUP
+ 2167865392
+ name 1_311_KEY_MDOWN
+ 2167865393
+ name 1_311_KEY_MLEFT
+ 2167865394
+ name 1_311_KEY_MRIGHT
+ 2167865395
+ name 0_312_KEY_0
+ 20447232
+ name 0_312_KEY_1
+ 20447233
+ name 0_312_KEY_2
+ 20447234
+ name 0_312_KEY_3
+ 20447235
+ name 0_312_KEY_4
+ 20447236
+ name 0_312_KEY_5
+ 20447237
+ name 0_312_KEY_6
+ 20447238
+ name 0_312_KEY_7
+ 20447239
+ name 0_312_KEY_8
+ 20447240
+ name 0_312_KEY_9
+ 20447241
+ name 0_312_KEY_POWER
+ 20447242
+ name 0_312_TWO_DIGITS
+ 20447245
+ name 0_312_KEY_CH_UP
+ 20447247
+ name 0_312_KEY_CH_DOWN
+ 20447248
+ name 1_312_KEY_0
+ 2167930880
+ name 1_312_KEY_1
+ 2167930881
+ name 1_312_KEY_2
+ 2167930882
+ name 1_312_KEY_3
+ 2167930883
+ name 1_312_KEY_4
+ 2167930884
+ name 1_312_KEY_5
+ 2167930885
+ name 1_312_KEY_6
+ 2167930886
+ name 1_312_KEY_7
+ 2167930887
+ name 1_312_KEY_8
+ 2167930888
+ name 1_312_KEY_9
+ 2167930889
+ name 1_312_KEY_POWER
+ 2167930890
+ name 1_312_KEY_CH_UP
+ 2167930895
+ name 1_312_KEY_CH_DOWN
+ 2167930896
+ name 1_312_KEY_MNSELECT
+ 2167930903
+ name 1_312_KEY_MENU
+ 2167930927
+ name 1_312_KEY_MUP
+ 2167930928
+ name 1_312_KEY_MDOWN
+ 2167930929
+ name 1_312_KEY_MLEFT
+ 2167930930
+ name 1_312_KEY_MRIGHT
+ 2167930931
+ name 0_313_KEY_0
+ 20512768
+ name 0_313_KEY_1
+ 20512769
+ name 0_313_KEY_2
+ 20512770
+ name 0_313_KEY_3
+ 20512771
+ name 0_313_KEY_4
+ 20512772
+ name 0_313_KEY_5
+ 20512773
+ name 0_313_KEY_6
+ 20512774
+ name 0_313_KEY_7
+ 20512775
+ name 0_313_KEY_8
+ 20512776
+ name 0_313_KEY_9
+ 20512777
+ name 0_313_KEY_POWER
+ 20512778
+ name 0_313_KEY_CH_UP
+ 20512783
+ name 0_313_KEY_CH_DOWN
+ 20512784
+ name 0_313_KEY_MUTE
+ 20512785
+ name 0_313_KEY_VOL_DOWN
+ 20512786
+ name 0_313_CH_PREVIOUS
+ 20512787
+ name 0_313_KEY_VOL_UP
+ 20512788
+ name 0_313_KEY_Sleep
+ 20512831
+ name 1_313_KEY_0
+ 2167996416
+ name 1_313_KEY_1
+ 2167996417
+ name 1_313_KEY_2
+ 2167996418
+ name 1_313_KEY_3
+ 2167996419
+ name 1_313_KEY_4
+ 2167996420
+ name 1_313_KEY_5
+ 2167996421
+ name 1_313_KEY_6
+ 2167996422
+ name 1_313_KEY_7
+ 2167996423
+ name 1_313_KEY_8
+ 2167996424
+ name 1_313_KEY_9
+ 2167996425
+ name 1_313_KEY_POWER
+ 2167996426
+ name 1_313_KEY_CH_UP
+ 2167996431
+ name 1_313_KEY_CH_DOWN
+ 2167996432
+ name 1_313_CH_PREVIOUS
+ 2167996435
+ name 1_313_KEY_MNSELECT
+ 2167996439
+ name 1_313_KEY_EXIT
+ 2167996440
+ name 1_313_KEY_GUIDE
+ 2167996443
+ name 1_313_KEY_AV
+ 2167996457
+ name 1_313_KEY_MENU
+ 2167996463
+ name 1_313_KEY_MUP
+ 2167996464
+ name 1_313_KEY_MDOWN
+ 2167996465
+ name 1_313_KEY_MLEFT
+ 2167996466
+ name 1_313_KEY_MRIGHT
+ 2167996467
+ name 0_314_KEY_0
+ 20578304
+ name 0_314_KEY_1
+ 20578305
+ name 0_314_KEY_2
+ 20578306
+ name 0_314_KEY_3
+ 20578307
+ name 0_314_KEY_4
+ 20578308
+ name 0_314_KEY_5
+ 20578309
+ name 0_314_KEY_6
+ 20578310
+ name 0_314_KEY_7
+ 20578311
+ name 0_314_KEY_8
+ 20578312
+ name 0_314_KEY_9
+ 20578313
+ name 0_314_KEY_POWER
+ 20578314
+ name 0_314_KEY_CH_UP
+ 20578319
+ name 0_314_KEY_CH_DOWN
+ 20578320
+ name 0_314_CH_PREVIOUS
+ 20578323
+ name 1_314_KEY_0
+ 2168061952
+ name 1_314_KEY_1
+ 2168061953
+ name 1_314_KEY_2
+ 2168061954
+ name 1_314_KEY_3
+ 2168061955
+ name 1_314_KEY_4
+ 2168061956
+ name 1_314_KEY_5
+ 2168061957
+ name 1_314_KEY_6
+ 2168061958
+ name 1_314_KEY_7
+ 2168061959
+ name 1_314_KEY_8
+ 2168061960
+ name 1_314_KEY_9
+ 2168061961
+ name 1_314_KEY_POWER
+ 2168061962
+ name 1_314_KEY_CH_UP
+ 2168061967
+ name 1_314_KEY_CH_DOWN
+ 2168061968
+ name 1_314_CH_PREVIOUS
+ 2168061971
+ name 1_314_KEY_MNSELECT
+ 2168061975
+ name 1_314_KEY_EXIT
+ 2168061976
+ name 1_314_KEY_GUIDE
+ 2168061979
+ name 1_314_KEY_AV
+ 2168061993
+ name 1_314_KEY_MENU
+ 2168061999
+ name 1_314_KEY_MUP
+ 2168062000
+ name 1_314_KEY_MDOWN
+ 2168062001
+ name 1_314_KEY_MLEFT
+ 2168062002
+ name 1_314_KEY_MRIGHT
+ 2168062003
+ name 0_315_KEY_0
+ 20643840
+ name 0_315_KEY_1
+ 20643841
+ name 0_315_KEY_2
+ 20643842
+ name 0_315_KEY_3
+ 20643843
+ name 0_315_KEY_4
+ 20643844
+ name 0_315_KEY_5
+ 20643845
+ name 0_315_KEY_6
+ 20643846
+ name 0_315_KEY_7
+ 20643847
+ name 0_315_KEY_8
+ 20643848
+ name 0_315_KEY_9
+ 20643849
+ name 0_315_KEY_POWER
+ 20643850
+ name 0_315_KEY_CH_UP
+ 20643855
+ name 0_315_KEY_CH_DOWN
+ 20643856
+ name 1_315_KEY_0
+ 2168127488
+ name 1_315_KEY_1
+ 2168127489
+ name 1_315_KEY_2
+ 2168127490
+ name 1_315_KEY_3
+ 2168127491
+ name 1_315_KEY_4
+ 2168127492
+ name 1_315_KEY_5
+ 2168127493
+ name 1_315_KEY_6
+ 2168127494
+ name 1_315_KEY_7
+ 2168127495
+ name 1_315_KEY_8
+ 2168127496
+ name 1_315_KEY_9
+ 2168127497
+ name 1_315_KEY_POWER
+ 2168127498
+ name 1_315_KEY_CH_UP
+ 2168127503
+ name 1_315_KEY_CH_DOWN
+ 2168127504
+ name 1_315_CH_PREVIOUS
+ 2168127507
+ name 1_315_KEY_MNSELECT
+ 2168127511
+ name 1_315_KEY_EXIT
+ 2168127512
+ name 1_315_KEY_GUIDE
+ 2168127515
+ name 1_315_KEY_AV
+ 2168127529
+ name 1_315_KEY_MENU
+ 2168127535
+ name 1_315_KEY_MUP
+ 2168127536
+ name 1_315_KEY_MDOWN
+ 2168127537
+ name 1_315_KEY_MLEFT
+ 2168127538
+ name 1_315_KEY_MRIGHT
+ 2168127539
+ name 0_316_KEY_0
+ 20709376
+ name 0_316_KEY_1
+ 20709377
+ name 0_316_KEY_2
+ 20709378
+ name 0_316_KEY_3
+ 20709379
+ name 0_316_KEY_4
+ 20709380
+ name 0_316_KEY_5
+ 20709381
+ name 0_316_KEY_6
+ 20709382
+ name 0_316_KEY_7
+ 20709383
+ name 0_316_KEY_8
+ 20709384
+ name 0_316_KEY_9
+ 20709385
+ name 0_316_KEY_POWER
+ 20709386
+ name 0_316_KEY_CH_UP
+ 20709391
+ name 0_316_KEY_CH_DOWN
+ 20709392
+ name 1_316_KEY_0
+ 2168193024
+ name 1_316_KEY_1
+ 2168193025
+ name 1_316_KEY_2
+ 2168193026
+ name 1_316_KEY_3
+ 2168193027
+ name 1_316_KEY_4
+ 2168193028
+ name 1_316_KEY_5
+ 2168193029
+ name 1_316_KEY_6
+ 2168193030
+ name 1_316_KEY_7
+ 2168193031
+ name 1_316_KEY_8
+ 2168193032
+ name 1_316_KEY_9
+ 2168193033
+ name 1_316_KEY_POWER
+ 2168193034
+ name 1_316_KEY_CH_UP
+ 2168193039
+ name 1_316_KEY_CH_DOWN
+ 2168193040
+ name 1_316_CH_PREVIOUS
+ 2168193043
+ name 1_316_KEY_MNSELECT
+ 2168193047
+ name 1_316_KEY_EXIT
+ 2168193048
+ name 1_316_KEY_GUIDE
+ 2168193051
+ name 1_316_KEY_AV
+ 2168193065
+ name 1_316_KEY_MENU
+ 2168193071
+ name 1_316_KEY_MUP
+ 2168193072
+ name 1_316_KEY_MDOWN
+ 2168193073
+ name 1_316_KEY_MLEFT
+ 2168193074
+ name 1_316_KEY_MRIGHT
+ 2168193075
+ name 0_317_KEY_0
+ 20774912
+ name 0_317_KEY_1
+ 20774913
+ name 0_317_KEY_2
+ 20774914
+ name 0_317_KEY_3
+ 20774915
+ name 0_317_KEY_4
+ 20774916
+ name 0_317_KEY_5
+ 20774917
+ name 0_317_KEY_6
+ 20774918
+ name 0_317_KEY_7
+ 20774919
+ name 0_317_KEY_8
+ 20774920
+ name 0_317_KEY_9
+ 20774921
+ name 0_317_KEY_POWER
+ 20774922
+ name 0_317_KEY_CH_UP
+ 20774927
+ name 0_317_KEY_CH_DOWN
+ 20774928
+ name 0_317_CH_PREVIOUS
+ 20774931
+ name 1_317_KEY_0
+ 2168258560
+ name 1_317_KEY_1
+ 2168258561
+ name 1_317_KEY_2
+ 2168258562
+ name 1_317_KEY_3
+ 2168258563
+ name 1_317_KEY_4
+ 2168258564
+ name 1_317_KEY_5
+ 2168258565
+ name 1_317_KEY_6
+ 2168258566
+ name 1_317_KEY_7
+ 2168258567
+ name 1_317_KEY_8
+ 2168258568
+ name 1_317_KEY_9
+ 2168258569
+ name 1_317_KEY_POWER
+ 2168258570
+ name 1_317_TWO_DIGITS
+ 2168258573
+ name 1_317_KEY_CH_UP
+ 2168258575
+ name 1_317_KEY_CH_DOWN
+ 2168258576
+ name 1_317_KEY_MUTE
+ 2168258577
+ name 1_317_KEY_VOL_DOWN
+ 2168258578
+ name 1_317_KEY_VOL_UP
+ 2168258580
+ name 1_317_KEY_DISPLAY
+ 2168258581
+ name 1_317_KEY_MNSELECT
+ 2168258583
+ name 1_317_KEY_EXIT
+ 2168258584
+ name 1_317_KEY_MENU
+ 2168258607
+ name 1_317_KEY_MUP
+ 2168258608
+ name 1_317_KEY_MDOWN
+ 2168258609
+ name 1_317_KEY_MLEFT
+ 2168258610
+ name 1_317_KEY_MRIGHT
+ 2168258611
+ name 0_318_KEY_0
+ 20840448
+ name 0_318_KEY_1
+ 20840449
+ name 0_318_KEY_2
+ 20840450
+ name 0_318_KEY_3
+ 20840451
+ name 0_318_KEY_4
+ 20840452
+ name 0_318_KEY_5
+ 20840453
+ name 0_318_KEY_6
+ 20840454
+ name 0_318_KEY_7
+ 20840455
+ name 0_318_KEY_8
+ 20840456
+ name 0_318_KEY_9
+ 20840457
+ name 0_318_KEY_POWER
+ 20840458
+ name 0_318_KEY_CH_UP
+ 20840463
+ name 0_318_KEY_CH_DOWN
+ 20840464
+ name 0_318_KEY_MUTE
+ 20840465
+ name 0_318_KEY_VOL_DOWN
+ 20840466
+ name 0_318_CH_PREVIOUS
+ 20840467
+ name 0_318_KEY_VOL_UP
+ 20840468
+ name 0_318_KEY_AV
+ 20840489
+ name 1_318_KEY_0
+ 2168324096
+ name 1_318_KEY_1
+ 2168324097
+ name 1_318_KEY_2
+ 2168324098
+ name 1_318_KEY_3
+ 2168324099
+ name 1_318_KEY_4
+ 2168324100
+ name 1_318_KEY_5
+ 2168324101
+ name 1_318_KEY_6
+ 2168324102
+ name 1_318_KEY_7
+ 2168324103
+ name 1_318_KEY_8
+ 2168324104
+ name 1_318_KEY_9
+ 2168324105
+ name 1_318_KEY_POWER
+ 2168324106
+ name 1_318_POWER_OFF
+ 2168324108
+ name 1_318_TWO_DIGITS
+ 2168324109
+ name 1_318_KEY_CH_UP
+ 2168324111
+ name 1_318_KEY_CH_DOWN
+ 2168324112
+ name 1_318_KEY_DISPLAY
+ 2168324117
+ name 1_318_KEY_TIMER
+ 2168324140
+ name 0_319_KEY_0
+ 20905984
+ name 0_319_KEY_1
+ 20905985
+ name 0_319_KEY_2
+ 20905986
+ name 0_319_KEY_3
+ 20905987
+ name 0_319_KEY_4
+ 20905988
+ name 0_319_KEY_5
+ 20905989
+ name 0_319_KEY_6
+ 20905990
+ name 0_319_KEY_7
+ 20905991
+ name 0_319_KEY_8
+ 20905992
+ name 0_319_KEY_9
+ 20905993
+ name 0_319_KEY_POWER
+ 20905994
+ name 0_319_KEY_CH_UP
+ 20905999
+ name 0_319_KEY_CH_DOWN
+ 20906000
+ name 0_319_CH_PREVIOUS
+ 20906003
+ name 1_319_KEY_0
+ 2168389632
+ name 1_319_KEY_1
+ 2168389633
+ name 1_319_KEY_2
+ 2168389634
+ name 1_319_KEY_3
+ 2168389635
+ name 1_319_KEY_4
+ 2168389636
+ name 1_319_KEY_5
+ 2168389637
+ name 1_319_KEY_6
+ 2168389638
+ name 1_319_KEY_7
+ 2168389639
+ name 1_319_KEY_8
+ 2168389640
+ name 1_319_KEY_9
+ 2168389641
+ name 1_319_KEY_POWER
+ 2168389642
+ name 1_319_TWO_DIGITS
+ 2168389645
+ name 1_319_KEY_CH_UP
+ 2168389647
+ name 1_319_KEY_CH_DOWN
+ 2168389648
+ name 1_319_KEY_MUTE
+ 2168389649
+ name 1_319_KEY_VOL_DOWN
+ 2168389650
+ name 1_319_CH_PREVIOUS
+ 2168389651
+ name 1_319_KEY_VOL_UP
+ 2168389652
+ name 1_319_KEY_FAV
+ 2168389661
+ name 1_319_KEY_FTUNEPLUS
+ 2168389665
+ name 1_319_KEY_FTUNEMINUS
+ 2168389666
+ name 0_320_KEY_0
+ 20971520
+ name 0_320_KEY_1
+ 20971521
+ name 0_320_KEY_2
+ 20971522
+ name 0_320_KEY_3
+ 20971523
+ name 0_320_KEY_4
+ 20971524
+ name 0_320_KEY_5
+ 20971525
+ name 0_320_KEY_6
+ 20971526
+ name 0_320_KEY_7
+ 20971527
+ name 0_320_KEY_8
+ 20971528
+ name 0_320_KEY_9
+ 20971529
+ name 0_320_KEY_POWER
+ 20971530
+ name 0_320_TWO_DIGITS
+ 20971533
+ name 0_320_KEY_CH_UP
+ 20971535
+ name 0_320_KEY_CH_DOWN
+ 20971536
+ name 0_320_KEY_MNSELECT
+ 20971543
+ name 0_320_KEY_MENU
+ 20971567
+ name 0_320_KEY_MUP
+ 20971568
+ name 0_320_KEY_MDOWN
+ 20971569
+ name 0_320_KEY_MLEFT
+ 20971570
+ name 0_320_KEY_MRIGHT
+ 20971571
+ name 1_320_KEY_0
+ 2168455168
+ name 1_320_KEY_1
+ 2168455169
+ name 1_320_KEY_2
+ 2168455170
+ name 1_320_KEY_3
+ 2168455171
+ name 1_320_KEY_4
+ 2168455172
+ name 1_320_KEY_5
+ 2168455173
+ name 1_320_KEY_6
+ 2168455174
+ name 1_320_KEY_7
+ 2168455175
+ name 1_320_KEY_8
+ 2168455176
+ name 1_320_KEY_9
+ 2168455177
+ name 1_320_KEY_POWER
+ 2168455178
+ name 1_320_TWO_DIGITS
+ 2168455181
+ name 1_320_KEY_CH_UP
+ 2168455183
+ name 1_320_KEY_CH_DOWN
+ 2168455184
+ name 1_320_KEY_MUTE
+ 2168455185
+ name 1_320_KEY_VOL_DOWN
+ 2168455186
+ name 1_320_CH_PREVIOUS
+ 2168455187
+ name 1_320_KEY_VOL_UP
+ 2168455188
+ name 1_320_KEY_FAV
+ 2168455197
+ name 1_320_KEY_FTUNEPLUS
+ 2168455201
+ name 1_320_KEY_FTUNEMINUS
+ 2168455202
+ name 0_321_KEY_0
+ 21037056
+ name 0_321_KEY_1
+ 21037057
+ name 0_321_KEY_2
+ 21037058
+ name 0_321_KEY_3
+ 21037059
+ name 0_321_KEY_4
+ 21037060
+ name 0_321_KEY_5
+ 21037061
+ name 0_321_KEY_6
+ 21037062
+ name 0_321_KEY_7
+ 21037063
+ name 0_321_KEY_8
+ 21037064
+ name 0_321_KEY_9
+ 21037065
+ name 0_321_KEY_POWER
+ 21037066
+ name 0_321_KEY_CH_UP
+ 21037071
+ name 0_321_KEY_CH_DOWN
+ 21037072
+ name 0_321_KEY_MUTE
+ 21037073
+ name 0_321_KEY_VOL_DOWN
+ 21037074
+ name 0_321_KEY_VOL_UP
+ 21037076
+ name 0_321_KEY_AV
+ 21037097
+ name 0_321_KEY_MENU
+ 21037103
+ name 0_321_KEY_MUP
+ 21037104
+ name 0_321_KEY_MDOWN
+ 21037105
+ name 0_321_KEY_MLEFT
+ 21037106
+ name 0_321_KEY_MRIGHT
+ 21037107
+ name 1_321_KEY_0
+ 2168520704
+ name 1_321_KEY_1
+ 2168520705
+ name 1_321_KEY_2
+ 2168520706
+ name 1_321_KEY_3
+ 2168520707
+ name 1_321_KEY_4
+ 2168520708
+ name 1_321_KEY_5
+ 2168520709
+ name 1_321_KEY_6
+ 2168520710
+ name 1_321_KEY_7
+ 2168520711
+ name 1_321_KEY_8
+ 2168520712
+ name 1_321_KEY_9
+ 2168520713
+ name 1_321_KEY_POWER
+ 2168520714
+ name 1_321_TWO_DIGITS
+ 2168520717
+ name 1_321_KEY_CH_UP
+ 2168520719
+ name 1_321_KEY_CH_DOWN
+ 2168520720
+ name 1_321_CH_PREVIOUS
+ 2168520723
+ name 0_322_KEY_0
+ 21102592
+ name 0_322_KEY_1
+ 21102593
+ name 0_322_KEY_2
+ 21102594
+ name 0_322_KEY_3
+ 21102595
+ name 0_322_KEY_4
+ 21102596
+ name 0_322_KEY_5
+ 21102597
+ name 0_322_KEY_6
+ 21102598
+ name 0_322_KEY_7
+ 21102599
+ name 0_322_KEY_8
+ 21102600
+ name 0_322_KEY_9
+ 21102601
+ name 0_322_KEY_POWER
+ 21102602
+ name 0_322_KEY_CH_UP
+ 21102607
+ name 0_322_KEY_CH_DOWN
+ 21102608
+ name 0_322_KEY_MUTE
+ 21102609
+ name 0_322_KEY_VOL_DOWN
+ 21102610
+ name 0_322_CH_PREVIOUS
+ 21102611
+ name 0_322_KEY_VOL_UP
+ 21102612
+ name 0_322_KEY_MNSELECT
+ 21102615
+ name 0_322_KEY_MUP
+ 21102640
+ name 0_322_KEY_MDOWN
+ 21102641
+ name 1_322_KEY_0
+ 2168586240
+ name 1_322_KEY_1
+ 2168586241
+ name 1_322_KEY_2
+ 2168586242
+ name 1_322_KEY_3
+ 2168586243
+ name 1_322_KEY_4
+ 2168586244
+ name 1_322_KEY_5
+ 2168586245
+ name 1_322_KEY_6
+ 2168586246
+ name 1_322_KEY_7
+ 2168586247
+ name 1_322_KEY_8
+ 2168586248
+ name 1_322_KEY_9
+ 2168586249
+ name 1_322_KEY_POWER
+ 2168586250
+ name 1_322_TWO_DIGITS
+ 2168586253
+ name 1_322_KEY_CH_UP
+ 2168586255
+ name 1_322_KEY_CH_DOWN
+ 2168586256
+ name 1_322_KEY_MUTE
+ 2168586257
+ name 1_322_KEY_VOL_DOWN
+ 2168586258
+ name 1_322_KEY_VOL_UP
+ 2168586260
+ name 1_322_KEY_FTUNEPLUS
+ 2168586273
+ name 1_322_KEY_FTUNEMINUS
+ 2168586274
+ name 0_323_KEY_0
+ 21168128
+ name 0_323_KEY_1
+ 21168129
+ name 0_323_KEY_2
+ 21168130
+ name 0_323_KEY_3
+ 21168131
+ name 0_323_KEY_4
+ 21168132
+ name 0_323_KEY_5
+ 21168133
+ name 0_323_KEY_6
+ 21168134
+ name 0_323_KEY_7
+ 21168135
+ name 0_323_KEY_8
+ 21168136
+ name 0_323_KEY_9
+ 21168137
+ name 0_323_KEY_POWER
+ 21168138
+ name 0_323_KEY_CH_UP
+ 21168143
+ name 0_323_KEY_CH_DOWN
+ 21168144
+ name 0_323_KEY_MUTE
+ 21168145
+ name 0_323_KEY_VOL_DOWN
+ 21168146
+ name 0_323_KEY_VOL_UP
+ 21168148
+ name 0_323_KEY_AV
+ 21168169
+ name 0_323_KEY_MUP
+ 21168176
+ name 0_323_KEY_MDOWN
+ 21168177
+ name 1_323_KEY_0
+ 2168651776
+ name 1_323_KEY_1
+ 2168651777
+ name 1_323_KEY_2
+ 2168651778
+ name 1_323_KEY_3
+ 2168651779
+ name 1_323_KEY_4
+ 2168651780
+ name 1_323_KEY_5
+ 2168651781
+ name 1_323_KEY_6
+ 2168651782
+ name 1_323_KEY_7
+ 2168651783
+ name 1_323_KEY_8
+ 2168651784
+ name 1_323_KEY_9
+ 2168651785
+ name 1_323_KEY_POWER
+ 2168651786
+ name 1_323_TWO_DIGITS
+ 2168651789
+ name 1_323_KEY_CH_UP
+ 2168651791
+ name 1_323_KEY_CH_DOWN
+ 2168651792
+ name 1_323_KEY_MUTE
+ 2168651793
+ name 1_323_KEY_VOL_DOWN
+ 2168651794
+ name 1_323_KEY_VOL_UP
+ 2168651796
+ name 1_323_KEY_DISPLAY
+ 2168651797
+ name 1_323_KEY_FTUNEPLUS
+ 2168651809
+ name 1_323_KEY_FTUNEMINUS
+ 2168651810
+ name 0_324_KEY_0
+ 21233664
+ name 0_324_KEY_1
+ 21233665
+ name 0_324_KEY_2
+ 21233666
+ name 0_324_KEY_3
+ 21233667
+ name 0_324_KEY_4
+ 21233668
+ name 0_324_KEY_5
+ 21233669
+ name 0_324_KEY_6
+ 21233670
+ name 0_324_KEY_7
+ 21233671
+ name 0_324_KEY_8
+ 21233672
+ name 0_324_KEY_9
+ 21233673
+ name 0_324_KEY_POWER
+ 21233674
+ name 0_324_KEY_CH_UP
+ 21233679
+ name 0_324_KEY_CH_DOWN
+ 21233680
+ name 0_324_KEY_MUTE
+ 21233681
+ name 0_324_KEY_VOL_DOWN
+ 21233682
+ name 0_324_CH_PREVIOUS
+ 21233683
+ name 0_324_KEY_VOL_UP
+ 21233684
+ name 0_324_KEY_MNSELECT
+ 21233687
+ name 0_324_KEY_MENU
+ 21233711
+ name 0_324_KEY_MUP
+ 21233712
+ name 0_324_KEY_MDOWN
+ 21233713
+ name 0_324_KEY_MLEFT
+ 21233714
+ name 0_324_KEY_MRIGHT
+ 21233715
+ name 1_324_KEY_0
+ 2168717312
+ name 1_324_KEY_1
+ 2168717313
+ name 1_324_KEY_2
+ 2168717314
+ name 1_324_KEY_3
+ 2168717315
+ name 1_324_KEY_4
+ 2168717316
+ name 1_324_KEY_5
+ 2168717317
+ name 1_324_KEY_6
+ 2168717318
+ name 1_324_KEY_7
+ 2168717319
+ name 1_324_KEY_8
+ 2168717320
+ name 1_324_KEY_9
+ 2168717321
+ name 1_324_KEY_POWER
+ 2168717322
+ name 1_324_TWO_DIGITS
+ 2168717325
+ name 1_324_KEY_CH_UP
+ 2168717327
+ name 1_324_KEY_CH_DOWN
+ 2168717328
+ name 1_324_KEY_VOL_DOWN
+ 2168717330
+ name 1_324_KEY_VOL_UP
+ 2168717332
+ name 1_324_KEY_BLUE
+ 2168717347
+ name 1_324_KEY_GREEN
+ 2168717348
+ name 1_324_KEY_RED
+ 2168717349
+ name 1_324_KEY_YELLOW
+ 2168717350
+ name 1_324_KEY_TTOnOff
+ 2168717385
+ name 0_325_KEY_0
+ 21299200
+ name 0_325_KEY_1
+ 21299201
+ name 0_325_KEY_2
+ 21299202
+ name 0_325_KEY_3
+ 21299203
+ name 0_325_KEY_4
+ 21299204
+ name 0_325_KEY_5
+ 21299205
+ name 0_325_KEY_6
+ 21299206
+ name 0_325_KEY_7
+ 21299207
+ name 0_325_KEY_8
+ 21299208
+ name 0_325_KEY_9
+ 21299209
+ name 0_325_KEY_POWER
+ 21299210
+ name 0_325_KEY_CH_UP
+ 21299215
+ name 0_325_KEY_CH_DOWN
+ 21299216
+ name 0_325_KEY_MUTE
+ 21299217
+ name 0_325_KEY_VOL_DOWN
+ 21299218
+ name 0_325_KEY_VOL_UP
+ 21299220
+ name 0_325_KEY_MNSELECT
+ 21299223
+ name 0_325_KEY_AV
+ 21299241
+ name 0_325_KEY_MUP
+ 21299248
+ name 0_325_KEY_MDOWN
+ 21299249
+ name 0_325_KEY_MLEFT
+ 21299250
+ name 0_325_KEY_MRIGHT
+ 21299251
+ name 1_325_KEY_0
+ 2168782848
+ name 1_325_KEY_1
+ 2168782849
+ name 1_325_KEY_2
+ 2168782850
+ name 1_325_KEY_3
+ 2168782851
+ name 1_325_KEY_4
+ 2168782852
+ name 1_325_KEY_5
+ 2168782853
+ name 1_325_KEY_6
+ 2168782854
+ name 1_325_KEY_7
+ 2168782855
+ name 1_325_KEY_8
+ 2168782856
+ name 1_325_KEY_9
+ 2168782857
+ name 1_325_KEY_POWER
+ 2168782858
+ name 1_325_TWO_DIGITS
+ 2168782861
+ name 1_325_KEY_CH_UP
+ 2168782863
+ name 1_325_KEY_CH_DOWN
+ 2168782864
+ name 1_325_KEY_MUTE
+ 2168782865
+ name 1_325_KEY_FTUNEPLUS
+ 2168782881
+ name 1_325_KEY_FTUNEMINUS
+ 2168782882
+ name 1_326_KEY_0
+ 2168848384
+ name 1_326_KEY_1
+ 2168848385
+ name 1_326_KEY_2
+ 2168848386
+ name 1_326_KEY_3
+ 2168848387
+ name 1_326_KEY_4
+ 2168848388
+ name 1_326_KEY_5
+ 2168848389
+ name 1_326_KEY_6
+ 2168848390
+ name 1_326_KEY_7
+ 2168848391
+ name 1_326_KEY_8
+ 2168848392
+ name 1_326_KEY_9
+ 2168848393
+ name 1_326_KEY_POWER
+ 2168848394
+ name 1_326_KEY_MUTE
+ 2168848401
+ name 1_326_KEY_VOL_DOWN
+ 2168848402
+ name 1_326_CH_PREVIOUS
+ 2168848403
+ name 1_326_KEY_VOL_UP
+ 2168848404
+ name 1_328_KEY_0
+ 2168979456
+ name 1_328_KEY_1
+ 2168979457
+ name 1_328_KEY_2
+ 2168979458
+ name 1_328_KEY_3
+ 2168979459
+ name 1_328_KEY_4
+ 2168979460
+ name 1_328_KEY_5
+ 2168979461
+ name 1_328_KEY_6
+ 2168979462
+ name 1_328_KEY_7
+ 2168979463
+ name 1_328_KEY_8
+ 2168979464
+ name 1_328_KEY_9
+ 2168979465
+ name 1_328_KEY_POWER
+ 2168979466
+ name 1_328_TWO_DIGITS
+ 2168979469
+ name 1_328_KEY_CH_UP
+ 2168979471
+ name 1_328_KEY_CH_DOWN
+ 2168979472
+ name 1_329_KEY_0
+ 2169044992
+ name 1_329_KEY_1
+ 2169044993
+ name 1_329_KEY_2
+ 2169044994
+ name 1_329_KEY_3
+ 2169044995
+ name 1_329_KEY_4
+ 2169044996
+ name 1_329_KEY_5
+ 2169044997
+ name 1_329_KEY_6
+ 2169044998
+ name 1_329_KEY_7
+ 2169044999
+ name 1_329_KEY_8
+ 2169045000
+ name 1_329_KEY_9
+ 2169045001
+ name 1_329_KEY_POWER
+ 2169045002
+ name 1_329_TWO_DIGITS
+ 2169045005
+ name 1_329_KEY_CH_UP
+ 2169045007
+ name 1_329_KEY_CH_DOWN
+ 2169045008
+ name 1_329_KEY_FAV
+ 2169045021
+ name 1_329_KEY_FTUNEPLUS
+ 2169045025
+ name 1_329_KEY_FTUNEMINUS
+ 2169045026
+ name 1_330_KEY_0
+ 2169110528
+ name 1_330_KEY_1
+ 2169110529
+ name 1_330_KEY_2
+ 2169110530
+ name 1_330_KEY_3
+ 2169110531
+ name 1_330_KEY_4
+ 2169110532
+ name 1_330_KEY_5
+ 2169110533
+ name 1_330_KEY_6
+ 2169110534
+ name 1_330_KEY_7
+ 2169110535
+ name 1_330_KEY_8
+ 2169110536
+ name 1_330_KEY_9
+ 2169110537
+ name 1_330_KEY_POWER
+ 2169110538
+ name 1_330_TWO_DIGITS
+ 2169110541
+ name 1_330_KEY_CH_UP
+ 2169110543
+ name 1_330_KEY_CH_DOWN
+ 2169110544
+ name 1_330_KEY_MUTE
+ 2169110545
+ name 1_330_KEY_VOL_DOWN
+ 2169110546
+ name 1_330_KEY_VOL_UP
+ 2169110548
+ name 1_330_KEY_DISPLAY
+ 2169110549
+ name 1_330_KEY_FAV
+ 2169110557
+ name 1_330_KEY_TIMER
+ 2169110572
+ name 1_331_KEY_0
+ 2169176064
+ name 1_331_KEY_1
+ 2169176065
+ name 1_331_KEY_2
+ 2169176066
+ name 1_331_KEY_3
+ 2169176067
+ name 1_331_KEY_4
+ 2169176068
+ name 1_331_KEY_5
+ 2169176069
+ name 1_331_KEY_6
+ 2169176070
+ name 1_331_KEY_7
+ 2169176071
+ name 1_331_KEY_8
+ 2169176072
+ name 1_331_KEY_9
+ 2169176073
+ name 1_331_KEY_POWER
+ 2169176074
+ name 1_331_TWO_DIGITS
+ 2169176077
+ name 1_331_KEY_CH_UP
+ 2169176079
+ name 1_331_KEY_CH_DOWN
+ 2169176080
+ name 1_331_CH_PREVIOUS
+ 2169176083
+ name 1_331_KEY_DISPLAY
+ 2169176085
+ name 1_332_KEY_0
+ 2169241600
+ name 1_332_KEY_1
+ 2169241601
+ name 1_332_KEY_2
+ 2169241602
+ name 1_332_KEY_3
+ 2169241603
+ name 1_332_KEY_4
+ 2169241604
+ name 1_332_KEY_5
+ 2169241605
+ name 1_332_KEY_6
+ 2169241606
+ name 1_332_KEY_7
+ 2169241607
+ name 1_332_KEY_8
+ 2169241608
+ name 1_332_KEY_9
+ 2169241609
+ name 1_332_KEY_POWER
+ 2169241610
+ name 1_332_TWO_DIGITS
+ 2169241613
+ name 1_332_KEY_CH_UP
+ 2169241615
+ name 1_332_KEY_CH_DOWN
+ 2169241616
+ name 1_333_KEY_0
+ 2169307136
+ name 1_333_KEY_1
+ 2169307137
+ name 1_333_KEY_2
+ 2169307138
+ name 1_333_KEY_3
+ 2169307139
+ name 1_333_KEY_4
+ 2169307140
+ name 1_333_KEY_5
+ 2169307141
+ name 1_333_KEY_6
+ 2169307142
+ name 1_333_KEY_7
+ 2169307143
+ name 1_333_KEY_8
+ 2169307144
+ name 1_333_KEY_9
+ 2169307145
+ name 1_333_KEY_POWER
+ 2169307146
+ name 1_333_TWO_DIGITS
+ 2169307149
+ name 1_333_KEY_CH_UP
+ 2169307151
+ name 1_333_KEY_CH_DOWN
+ 2169307152
+ name 1_333_KEY_MUTE
+ 2169307153
+ name 1_334_KEY_0
+ 2169372672
+ name 1_334_KEY_1
+ 2169372673
+ name 1_334_KEY_2
+ 2169372674
+ name 1_334_KEY_3
+ 2169372675
+ name 1_334_KEY_4
+ 2169372676
+ name 1_334_KEY_5
+ 2169372677
+ name 1_334_KEY_6
+ 2169372678
+ name 1_334_KEY_7
+ 2169372679
+ name 1_334_KEY_8
+ 2169372680
+ name 1_334_KEY_9
+ 2169372681
+ name 1_334_KEY_POWER
+ 2169372682
+ name 1_334_TWO_DIGITS
+ 2169372685
+ name 1_334_KEY_CH_UP
+ 2169372687
+ name 1_334_KEY_CH_DOWN
+ 2169372688
+ name 1_334_KEY_FAV
+ 2169372701
+ name 1_335_KEY_0
+ 2169438208
+ name 1_335_KEY_1
+ 2169438209
+ name 1_335_KEY_2
+ 2169438210
+ name 1_335_KEY_3
+ 2169438211
+ name 1_335_KEY_4
+ 2169438212
+ name 1_335_KEY_5
+ 2169438213
+ name 1_335_KEY_6
+ 2169438214
+ name 1_335_KEY_7
+ 2169438215
+ name 1_335_KEY_8
+ 2169438216
+ name 1_335_KEY_9
+ 2169438217
+ name 1_335_KEY_POWER
+ 2169438218
+ name 1_335_TWO_DIGITS
+ 2169438221
+ name 1_335_KEY_CH_UP
+ 2169438223
+ name 1_335_KEY_CH_DOWN
+ 2169438224
+ name 1_335_KEY_FAV
+ 2169438237
+ name 1_336_KEY_0
+ 2169503744
+ name 1_336_KEY_1
+ 2169503745
+ name 1_336_KEY_2
+ 2169503746
+ name 1_336_KEY_3
+ 2169503747
+ name 1_336_KEY_4
+ 2169503748
+ name 1_336_KEY_5
+ 2169503749
+ name 1_336_KEY_6
+ 2169503750
+ name 1_336_KEY_7
+ 2169503751
+ name 1_336_KEY_8
+ 2169503752
+ name 1_336_KEY_9
+ 2169503753
+ name 1_336_KEY_POWER
+ 2169503754
+ name 1_336_TWO_DIGITS
+ 2169503757
+ name 1_336_KEY_CH_UP
+ 2169503759
+ name 1_336_KEY_CH_DOWN
+ 2169503760
+ name 1_336_KEY_FTUNEPLUS
+ 2169503777
+ name 1_336_KEY_FTUNEMINUS
+ 2169503778
+ name 1_336_KEY_AV
+ 2169503785
+ name 1_337_KEY_0
+ 2169569280
+ name 1_337_KEY_1
+ 2169569281
+ name 1_337_KEY_2
+ 2169569282
+ name 1_337_KEY_3
+ 2169569283
+ name 1_337_KEY_4
+ 2169569284
+ name 1_337_KEY_5
+ 2169569285
+ name 1_337_KEY_6
+ 2169569286
+ name 1_337_KEY_7
+ 2169569287
+ name 1_337_KEY_8
+ 2169569288
+ name 1_337_KEY_9
+ 2169569289
+ name 1_337_KEY_POWER
+ 2169569290
+ name 1_337_TWO_DIGITS
+ 2169569293
+ name 1_337_KEY_CH_UP
+ 2169569295
+ name 1_337_KEY_CH_DOWN
+ 2169569296
+ name 1_337_KEY_MUTE
+ 2169569297
+ name 1_337_KEY_VOL_DOWN
+ 2169569298
+ name 1_337_CH_PREVIOUS
+ 2169569299
+ name 1_337_KEY_VOL_UP
+ 2169569300
+ name 1_337_KEY_TIMER
+ 2169569324
+ name 1_338_KEY_0
+ 2169634816
+ name 1_338_KEY_1
+ 2169634817
+ name 1_338_KEY_2
+ 2169634818
+ name 1_338_KEY_3
+ 2169634819
+ name 1_338_KEY_4
+ 2169634820
+ name 1_338_KEY_5
+ 2169634821
+ name 1_338_KEY_6
+ 2169634822
+ name 1_338_KEY_7
+ 2169634823
+ name 1_338_KEY_8
+ 2169634824
+ name 1_338_KEY_9
+ 2169634825
+ name 1_338_KEY_POWER
+ 2169634826
+ name 1_338_TWO_DIGITS
+ 2169634829
+ name 1_338_KEY_CH_UP
+ 2169634831
+ name 1_338_KEY_CH_DOWN
+ 2169634832
+ name 1_338_KEY_MUTE
+ 2169634833
+ name 1_338_KEY_SELECT
+ 2169634846
+ name 1_338_KEY_FTUNEPLUS
+ 2169634849
+ name 1_338_KEY_FTUNEMINUS
+ 2169634850
+ name 1_339_KEY_0
+ 2169700352
+ name 1_339_KEY_1
+ 2169700353
+ name 1_339_KEY_2
+ 2169700354
+ name 1_339_KEY_3
+ 2169700355
+ name 1_339_KEY_4
+ 2169700356
+ name 1_339_KEY_5
+ 2169700357
+ name 1_339_KEY_6
+ 2169700358
+ name 1_339_KEY_7
+ 2169700359
+ name 1_339_KEY_8
+ 2169700360
+ name 1_339_KEY_9
+ 2169700361
+ name 1_339_KEY_POWER
+ 2169700362
+ name 1_339_TWO_DIGITS
+ 2169700365
+ name 1_339_KEY_CH_UP
+ 2169700367
+ name 1_339_KEY_CH_DOWN
+ 2169700368
+ name 1_339_KEY_MUTE
+ 2169700369
+ name 1_339_KEY_VOL_DOWN
+ 2169700370
+ name 1_339_CH_PREVIOUS
+ 2169700371
+ name 1_339_KEY_VOL_UP
+ 2169700372
+ name 1_339_KEY_FAV
+ 2169700381
+ name 1_339_KEY_TIMER
+ 2169700396
+ name 1_342_KEY_0
+ 2169896960
+ name 1_342_KEY_1
+ 2169896961
+ name 1_342_KEY_2
+ 2169896962
+ name 1_342_KEY_3
+ 2169896963
+ name 1_342_KEY_4
+ 2169896964
+ name 1_342_KEY_5
+ 2169896965
+ name 1_342_KEY_6
+ 2169896966
+ name 1_342_KEY_7
+ 2169896967
+ name 1_342_KEY_8
+ 2169896968
+ name 1_342_KEY_9
+ 2169896969
+ name 1_342_KEY_POWER
+ 2169896970
+ name 1_342_TWO_DIGITS
+ 2169896973
+ name 1_342_KEY_CH_UP
+ 2169896975
+ name 1_342_KEY_CH_DOWN
+ 2169896976
+ name 1_342_KEY_MUTE
+ 2169896977
+ name 1_342_KEY_VOL_DOWN
+ 2169896978
+ name 1_342_KEY_VOL_UP
+ 2169896980
+ name 1_343_KEY_0
+ 2169962496
+ name 1_343_KEY_1
+ 2169962497
+ name 1_343_KEY_2
+ 2169962498
+ name 1_343_KEY_3
+ 2169962499
+ name 1_343_KEY_4
+ 2169962500
+ name 1_343_KEY_5
+ 2169962501
+ name 1_343_KEY_6
+ 2169962502
+ name 1_343_KEY_7
+ 2169962503
+ name 1_343_KEY_8
+ 2169962504
+ name 1_343_KEY_9
+ 2169962505
+ name 1_343_KEY_POWER
+ 2169962506
+ name 1_343_TWO_DIGITS
+ 2169962509
+ name 1_343_KEY_CH_UP
+ 2169962511
+ name 1_343_KEY_CH_DOWN
+ 2169962512
+ name 1_344_KEY_0
+ 2170028032
+ name 1_344_KEY_1
+ 2170028033
+ name 1_344_KEY_2
+ 2170028034
+ name 1_344_KEY_3
+ 2170028035
+ name 1_344_KEY_4
+ 2170028036
+ name 1_344_KEY_5
+ 2170028037
+ name 1_344_KEY_6
+ 2170028038
+ name 1_344_KEY_7
+ 2170028039
+ name 1_344_KEY_8
+ 2170028040
+ name 1_344_KEY_9
+ 2170028041
+ name 1_344_KEY_POWER
+ 2170028042
+ name 1_344_TWO_DIGITS
+ 2170028045
+ name 1_344_KEY_CH_UP
+ 2170028047
+ name 1_344_KEY_CH_DOWN
+ 2170028048
+ name 1_344_KEY_MUTE
+ 2170028049
+ name 1_344_KEY_VOL_DOWN
+ 2170028050
+ name 1_344_KEY_VOL_UP
+ 2170028052
+ name 1_344_KEY_SELECT
+ 2170028062
+ name 1_344_KEY_FTUNEPLUS
+ 2170028065
+ name 1_344_KEY_FTUNEMINUS
+ 2170028066
+ name 1_345_KEY_0
+ 2170093568
+ name 1_345_KEY_1
+ 2170093569
+ name 1_345_KEY_2
+ 2170093570
+ name 1_345_KEY_3
+ 2170093571
+ name 1_345_KEY_4
+ 2170093572
+ name 1_345_KEY_5
+ 2170093573
+ name 1_345_KEY_6
+ 2170093574
+ name 1_345_KEY_7
+ 2170093575
+ name 1_345_KEY_8
+ 2170093576
+ name 1_345_KEY_9
+ 2170093577
+ name 1_345_KEY_POWER
+ 2170093578
+ name 1_345_TWO_DIGITS
+ 2170093581
+ name 1_345_KEY_CH_UP
+ 2170093583
+ name 1_345_KEY_CH_DOWN
+ 2170093584
+ name 1_346_KEY_0
+ 2170159104
+ name 1_346_KEY_1
+ 2170159105
+ name 1_346_KEY_2
+ 2170159106
+ name 1_346_KEY_3
+ 2170159107
+ name 1_346_KEY_4
+ 2170159108
+ name 1_346_KEY_5
+ 2170159109
+ name 1_346_KEY_6
+ 2170159110
+ name 1_346_KEY_7
+ 2170159111
+ name 1_346_KEY_8
+ 2170159112
+ name 1_346_KEY_9
+ 2170159113
+ name 1_346_KEY_POWER
+ 2170159114
+ name 1_346_TWO_DIGITS
+ 2170159117
+ name 1_346_KEY_CH_UP
+ 2170159119
+ name 1_346_KEY_CH_DOWN
+ 2170159120
+ name 1_346_KEY_FTUNEPLUS
+ 2170159137
+ name 1_346_KEY_FTUNEMINUS
+ 2170159138
+ name 1_348_KEY_0
+ 2170290176
+ name 1_348_KEY_1
+ 2170290177
+ name 1_348_KEY_2
+ 2170290178
+ name 1_348_KEY_3
+ 2170290179
+ name 1_348_KEY_4
+ 2170290180
+ name 1_348_KEY_5
+ 2170290181
+ name 1_348_KEY_6
+ 2170290182
+ name 1_348_KEY_7
+ 2170290183
+ name 1_348_KEY_8
+ 2170290184
+ name 1_348_KEY_9
+ 2170290185
+ name 1_348_KEY_POWER
+ 2170290186
+ name 1_348_TWO_DIGITS
+ 2170290189
+ name 1_348_KEY_CH_UP
+ 2170290191
+ name 1_348_KEY_CH_DOWN
+ 2170290192
+ name 1_348_CH_PREVIOUS
+ 2170290195
+ name 1_348_KEY_TIMER
+ 2170290220
+ name 1_349_KEY_0
+ 2170355712
+ name 1_349_KEY_1
+ 2170355713
+ name 1_349_KEY_2
+ 2170355714
+ name 1_349_KEY_3
+ 2170355715
+ name 1_349_KEY_4
+ 2170355716
+ name 1_349_KEY_5
+ 2170355717
+ name 1_349_KEY_6
+ 2170355718
+ name 1_349_KEY_7
+ 2170355719
+ name 1_349_KEY_8
+ 2170355720
+ name 1_349_KEY_9
+ 2170355721
+ name 1_349_KEY_POWER
+ 2170355722
+ name 1_349_TWO_DIGITS
+ 2170355725
+ name 1_349_KEY_CH_UP
+ 2170355727
+ name 1_349_KEY_CH_DOWN
+ 2170355728
+ name 1_350_KEY_0
+ 2170421248
+ name 1_350_KEY_1
+ 2170421249
+ name 1_350_KEY_2
+ 2170421250
+ name 1_350_KEY_3
+ 2170421251
+ name 1_350_KEY_4
+ 2170421252
+ name 1_350_KEY_5
+ 2170421253
+ name 1_350_KEY_6
+ 2170421254
+ name 1_350_KEY_7
+ 2170421255
+ name 1_350_KEY_8
+ 2170421256
+ name 1_350_KEY_9
+ 2170421257
+ name 1_350_KEY_POWER
+ 2170421258
+ name 1_350_TWO_DIGITS
+ 2170421261
+ name 1_350_KEY_CH_UP
+ 2170421263
+ name 1_350_KEY_CH_DOWN
+ 2170421264
+ name 1_350_KEY_VOL_DOWN
+ 2170421266
+ name 1_350_KEY_VOL_UP
+ 2170421268
+ name 1_350_KEY_FTUNEPLUS
+ 2170421281
+ name 1_350_KEY_FTUNEMINUS
+ 2170421282
+ name 1_351_KEY_0
+ 2170486784
+ name 1_351_KEY_1
+ 2170486785
+ name 1_351_KEY_2
+ 2170486786
+ name 1_351_KEY_3
+ 2170486787
+ name 1_351_KEY_4
+ 2170486788
+ name 1_351_KEY_5
+ 2170486789
+ name 1_351_KEY_6
+ 2170486790
+ name 1_351_KEY_7
+ 2170486791
+ name 1_351_KEY_8
+ 2170486792
+ name 1_351_KEY_9
+ 2170486793
+ name 1_351_KEY_POWER
+ 2170486794
+ name 1_351_TWO_DIGITS
+ 2170486797
+ name 1_351_KEY_CH_UP
+ 2170486799
+ name 1_351_KEY_CH_DOWN
+ 2170486800
+ name 1_351_KEY_MUTE
+ 2170486801
+ name 1_351_KEY_VOL_DOWN
+ 2170486802
+ name 1_351_KEY_VOL_UP
+ 2170486804
+ name 1_352_KEY_0
+ 2170552320
+ name 1_352_KEY_1
+ 2170552321
+ name 1_352_KEY_2
+ 2170552322
+ name 1_352_KEY_3
+ 2170552323
+ name 1_352_KEY_4
+ 2170552324
+ name 1_352_KEY_5
+ 2170552325
+ name 1_352_KEY_6
+ 2170552326
+ name 1_352_KEY_7
+ 2170552327
+ name 1_352_KEY_8
+ 2170552328
+ name 1_352_KEY_9
+ 2170552329
+ name 1_352_KEY_POWER
+ 2170552330
+ name 1_352_TWO_DIGITS
+ 2170552333
+ name 1_352_KEY_CH_UP
+ 2170552335
+ name 1_352_KEY_CH_DOWN
+ 2170552336
+ name 1_352_CH_PREVIOUS
+ 2170552339
+ name 1_352_KEY_FTUNEPLUS
+ 2170552353
+ name 1_352_KEY_FTUNEMINUS
+ 2170552354
+ name 1_353_KEY_0
+ 2170617856
+ name 1_353_KEY_1
+ 2170617857
+ name 1_353_KEY_2
+ 2170617858
+ name 1_353_KEY_3
+ 2170617859
+ name 1_353_KEY_4
+ 2170617860
+ name 1_353_KEY_5
+ 2170617861
+ name 1_353_KEY_6
+ 2170617862
+ name 1_353_KEY_7
+ 2170617863
+ name 1_353_KEY_8
+ 2170617864
+ name 1_353_KEY_9
+ 2170617865
+ name 1_353_KEY_POWER
+ 2170617866
+ name 1_353_TWO_DIGITS
+ 2170617869
+ name 1_353_KEY_CH_UP
+ 2170617871
+ name 1_353_KEY_CH_DOWN
+ 2170617872
+ name 1_353_CH_PREVIOUS
+ 2170617875
+ name 1_354_KEY_0
+ 2170683392
+ name 1_354_KEY_1
+ 2170683393
+ name 1_354_KEY_2
+ 2170683394
+ name 1_354_KEY_3
+ 2170683395
+ name 1_354_KEY_4
+ 2170683396
+ name 1_354_KEY_5
+ 2170683397
+ name 1_354_KEY_6
+ 2170683398
+ name 1_354_KEY_7
+ 2170683399
+ name 1_354_KEY_8
+ 2170683400
+ name 1_354_KEY_9
+ 2170683401
+ name 1_354_KEY_POWER
+ 2170683402
+ name 1_354_TWO_DIGITS
+ 2170683405
+ name 1_354_KEY_CH_UP
+ 2170683407
+ name 1_354_KEY_CH_DOWN
+ 2170683408
+ name 1_354_KEY_AV
+ 2170683433
+ name 1_355_KEY_0
+ 2170748928
+ name 1_355_KEY_1
+ 2170748929
+ name 1_355_KEY_2
+ 2170748930
+ name 1_355_KEY_3
+ 2170748931
+ name 1_355_KEY_4
+ 2170748932
+ name 1_355_KEY_5
+ 2170748933
+ name 1_355_KEY_6
+ 2170748934
+ name 1_355_KEY_7
+ 2170748935
+ name 1_355_KEY_8
+ 2170748936
+ name 1_355_KEY_9
+ 2170748937
+ name 1_355_KEY_POWER
+ 2170748938
+ name 1_355_TWO_DIGITS
+ 2170748941
+ name 1_355_KEY_CH_UP
+ 2170748943
+ name 1_355_KEY_CH_DOWN
+ 2170748944
+ name 1_357_KEY_0
+ 2170880000
+ name 1_357_KEY_1
+ 2170880001
+ name 1_357_KEY_2
+ 2170880002
+ name 1_357_KEY_3
+ 2170880003
+ name 1_357_KEY_4
+ 2170880004
+ name 1_357_KEY_5
+ 2170880005
+ name 1_357_KEY_6
+ 2170880006
+ name 1_357_KEY_7
+ 2170880007
+ name 1_357_KEY_8
+ 2170880008
+ name 1_357_KEY_9
+ 2170880009
+ name 1_357_KEY_POWER
+ 2170880010
+ name 1_357_TWO_DIGITS
+ 2170880013
+ name 1_357_KEY_CH_UP
+ 2170880015
+ name 1_357_KEY_CH_DOWN
+ 2170880016
+ name 1_357_KEY_SELECT
+ 2170880030
+ name 1_358_KEY_0
+ 2170945536
+ name 1_358_KEY_1
+ 2170945537
+ name 1_358_KEY_2
+ 2170945538
+ name 1_358_KEY_3
+ 2170945539
+ name 1_358_KEY_4
+ 2170945540
+ name 1_358_KEY_5
+ 2170945541
+ name 1_358_KEY_6
+ 2170945542
+ name 1_358_KEY_7
+ 2170945543
+ name 1_358_KEY_8
+ 2170945544
+ name 1_358_KEY_9
+ 2170945545
+ name 1_358_KEY_POWER
+ 2170945546
+ name 1_358_TWO_DIGITS
+ 2170945549
+ name 1_358_KEY_CH_UP
+ 2170945551
+ name 1_358_KEY_CH_DOWN
+ 2170945552
+ name 1_358_KEY_MUTE
+ 2170945553
+ name 1_358_KEY_VOL_DOWN
+ 2170945554
+ name 1_358_KEY_VOL_UP
+ 2170945556
+ name 1_358_KEY_FAV
+ 2170945565
+ name 1_358_KEY_TIMER
+ 2170945580
+ name 1_359_KEY_0
+ 2171011072
+ name 1_359_KEY_1
+ 2171011073
+ name 1_359_KEY_2
+ 2171011074
+ name 1_359_KEY_3
+ 2171011075
+ name 1_359_KEY_4
+ 2171011076
+ name 1_359_KEY_5
+ 2171011077
+ name 1_359_KEY_6
+ 2171011078
+ name 1_359_KEY_7
+ 2171011079
+ name 1_359_KEY_8
+ 2171011080
+ name 1_359_KEY_9
+ 2171011081
+ name 1_359_KEY_POWER
+ 2171011082
+ name 1_359_POWER_ON
+ 2171011083
+ name 1_359_TWO_DIGITS
+ 2171011085
+ name 1_359_KEY_CH_UP
+ 2171011087
+ name 1_359_KEY_CH_DOWN
+ 2171011088
+ name 1_359_KEY_MUTE
+ 2171011089
+ name 1_359_KEY_VOL_DOWN
+ 2171011090
+ name 1_359_KEY_VOL_UP
+ 2171011092
+ name 1_360_KEY_0
+ 2171076608
+ name 1_360_KEY_1
+ 2171076609
+ name 1_360_KEY_2
+ 2171076610
+ name 1_360_KEY_3
+ 2171076611
+ name 1_360_KEY_4
+ 2171076612
+ name 1_360_KEY_5
+ 2171076613
+ name 1_360_KEY_6
+ 2171076614
+ name 1_360_KEY_7
+ 2171076615
+ name 1_360_KEY_8
+ 2171076616
+ name 1_360_KEY_9
+ 2171076617
+ name 1_360_KEY_POWER
+ 2171076618
+ name 1_360_TWO_DIGITS
+ 2171076621
+ name 1_360_KEY_CH_UP
+ 2171076623
+ name 1_360_KEY_CH_DOWN
+ 2171076624
+ name 1_360_KEY_MUTE
+ 2171076625
+ name 1_360_KEY_VOL_DOWN
+ 2171076626
+ name 1_360_CH_PREVIOUS
+ 2171076627
+ name 1_360_KEY_VOL_UP
+ 2171076628
+ name 1_360_KEY_DISPLAY
+ 2171076629
+ name 1_361_KEY_0
+ 2171142144
+ name 1_361_KEY_1
+ 2171142145
+ name 1_361_KEY_2
+ 2171142146
+ name 1_361_KEY_3
+ 2171142147
+ name 1_361_KEY_4
+ 2171142148
+ name 1_361_KEY_5
+ 2171142149
+ name 1_361_KEY_6
+ 2171142150
+ name 1_361_KEY_7
+ 2171142151
+ name 1_361_KEY_8
+ 2171142152
+ name 1_361_KEY_9
+ 2171142153
+ name 1_361_KEY_POWER
+ 2171142154
+ name 1_361_TWO_DIGITS
+ 2171142157
+ name 1_361_KEY_CH_UP
+ 2171142159
+ name 1_361_KEY_CH_DOWN
+ 2171142160
+ name 1_361_KEY_MUTE
+ 2171142161
+ name 1_361_KEY_VOL_DOWN
+ 2171142162
+ name 1_361_KEY_VOL_UP
+ 2171142164
+ name 1_363_KEY_0
+ 2171273216
+ name 1_363_KEY_1
+ 2171273217
+ name 1_363_KEY_2
+ 2171273218
+ name 1_363_KEY_3
+ 2171273219
+ name 1_363_KEY_4
+ 2171273220
+ name 1_363_KEY_5
+ 2171273221
+ name 1_363_KEY_6
+ 2171273222
+ name 1_363_KEY_7
+ 2171273223
+ name 1_363_KEY_8
+ 2171273224
+ name 1_363_KEY_9
+ 2171273225
+ name 1_363_KEY_POWER
+ 2171273226
+ name 1_363_TWO_DIGITS
+ 2171273229
+ name 1_363_KEY_CH_UP
+ 2171273231
+ name 1_363_KEY_CH_DOWN
+ 2171273232
+ name 1_363_KEY_MUTE
+ 2171273233
+ name 1_363_KEY_VOL_DOWN
+ 2171273234
+ name 1_363_KEY_VOL_UP
+ 2171273236
+ name 1_363_KEY_FTUNEPLUS
+ 2171273249
+ name 1_363_KEY_FTUNEMINUS
+ 2171273250
+ name 1_364_KEY_0
+ 2171338752
+ name 1_364_KEY_1
+ 2171338753
+ name 1_364_KEY_2
+ 2171338754
+ name 1_364_KEY_3
+ 2171338755
+ name 1_364_KEY_4
+ 2171338756
+ name 1_364_KEY_5
+ 2171338757
+ name 1_364_KEY_6
+ 2171338758
+ name 1_364_KEY_7
+ 2171338759
+ name 1_364_KEY_8
+ 2171338760
+ name 1_364_KEY_9
+ 2171338761
+ name 1_364_KEY_POWER
+ 2171338762
+ name 1_364_TWO_DIGITS
+ 2171338765
+ name 1_364_KEY_CH_UP
+ 2171338767
+ name 1_364_KEY_CH_DOWN
+ 2171338768
+ name 1_364_KEY_MUTE
+ 2171338769
+ name 1_364_KEY_VOL_DOWN
+ 2171338770
+ name 1_364_KEY_VOL_UP
+ 2171338772
+ name 1_364_KEY_BLUE
+ 2171338787
+ name 1_364_KEY_GREEN
+ 2171338788
+ name 1_364_KEY_RED
+ 2171338789
+ name 1_364_KEY_YELLOW
+ 2171338790
+ name 1_364_KEY_On
+ 2171338829
+ name 1_364_KEY_Off
+ 2171338830
+ name 1_365_KEY_0
+ 2171404288
+ name 1_365_KEY_1
+ 2171404289
+ name 1_365_KEY_2
+ 2171404290
+ name 1_365_KEY_3
+ 2171404291
+ name 1_365_KEY_4
+ 2171404292
+ name 1_365_KEY_5
+ 2171404293
+ name 1_365_KEY_6
+ 2171404294
+ name 1_365_KEY_7
+ 2171404295
+ name 1_365_KEY_8
+ 2171404296
+ name 1_365_KEY_9
+ 2171404297
+ name 1_365_KEY_POWER
+ 2171404298
+ name 1_365_TWO_DIGITS
+ 2171404301
+ name 1_365_KEY_CH_UP
+ 2171404303
+ name 1_365_KEY_CH_DOWN
+ 2171404304
+ name 1_365_CH_PREVIOUS
+ 2171404307
+ name 1_366_KEY_0
+ 2171469824
+ name 1_366_KEY_1
+ 2171469825
+ name 1_366_KEY_2
+ 2171469826
+ name 1_366_KEY_3
+ 2171469827
+ name 1_366_KEY_4
+ 2171469828
+ name 1_366_KEY_5
+ 2171469829
+ name 1_366_KEY_6
+ 2171469830
+ name 1_366_KEY_7
+ 2171469831
+ name 1_366_KEY_8
+ 2171469832
+ name 1_366_KEY_9
+ 2171469833
+ name 1_366_KEY_POWER
+ 2171469834
+ name 1_366_TWO_DIGITS
+ 2171469837
+ name 1_366_KEY_CH_UP
+ 2171469839
+ name 1_366_KEY_CH_DOWN
+ 2171469840
+ name 1_366_CH_PREVIOUS
+ 2171469843
+ name 1_368_KEY_0
+ 2171600896
+ name 1_368_KEY_1
+ 2171600897
+ name 1_368_KEY_2
+ 2171600898
+ name 1_368_KEY_3
+ 2171600899
+ name 1_368_KEY_4
+ 2171600900
+ name 1_368_KEY_5
+ 2171600901
+ name 1_368_KEY_6
+ 2171600902
+ name 1_368_KEY_7
+ 2171600903
+ name 1_368_KEY_8
+ 2171600904
+ name 1_368_KEY_9
+ 2171600905
+ name 1_368_KEY_POWER
+ 2171600906
+ name 1_368_TWO_DIGITS
+ 2171600909
+ name 1_368_KEY_CH_UP
+ 2171600911
+ name 1_368_KEY_CH_DOWN
+ 2171600912
+ name 1_369_KEY_0
+ 2171666432
+ name 1_369_KEY_1
+ 2171666433
+ name 1_369_KEY_2
+ 2171666434
+ name 1_369_KEY_3
+ 2171666435
+ name 1_369_KEY_4
+ 2171666436
+ name 1_369_KEY_5
+ 2171666437
+ name 1_369_KEY_6
+ 2171666438
+ name 1_369_KEY_7
+ 2171666439
+ name 1_369_KEY_8
+ 2171666440
+ name 1_369_KEY_9
+ 2171666441
+ name 1_369_KEY_POWER
+ 2171666442
+ name 1_369_TWO_DIGITS
+ 2171666445
+ name 1_369_KEY_CH_UP
+ 2171666447
+ name 1_369_KEY_CH_DOWN
+ 2171666448
+ name 1_369_KEY_MUTE
+ 2171666449
+ name 1_369_KEY_VOL_DOWN
+ 2171666450
+ name 1_369_KEY_VOL_UP
+ 2171666452
+ name 1_369_KEY_MNSELECT
+ 2171666455
+ name 1_369_KEY_AV
+ 2171666473
+ name 1_369_KEY_AUTOTRACK
+ 2171666478
+ name 1_369_KEY_MENU
+ 2171666479
+ name 1_369_KEY_MUP
+ 2171666480
+ name 1_369_KEY_MDOWN
+ 2171666481
+ name 1_369_KEY_MLEFT
+ 2171666482
+ name 1_369_KEY_MRIGHT
+ 2171666483
+ name 1_370_KEY_0
+ 2171731968
+ name 1_370_KEY_1
+ 2171731969
+ name 1_370_KEY_2
+ 2171731970
+ name 1_370_KEY_3
+ 2171731971
+ name 1_370_KEY_4
+ 2171731972
+ name 1_370_KEY_5
+ 2171731973
+ name 1_370_KEY_6
+ 2171731974
+ name 1_370_KEY_7
+ 2171731975
+ name 1_370_KEY_8
+ 2171731976
+ name 1_370_KEY_9
+ 2171731977
+ name 1_370_KEY_POWER
+ 2171731978
+ name 1_370_TWO_DIGITS
+ 2171731981
+ name 1_370_KEY_CH_UP
+ 2171731983
+ name 1_370_KEY_CH_DOWN
+ 2171731984
+ name 1_370_KEY_MUTE
+ 2171731985
+ name 1_370_KEY_VOL_DOWN
+ 2171731986
+ name 1_370_KEY_VOL_UP
+ 2171731988
+ name 1_370_KEY_MNSELECT
+ 2171731991
+ name 1_370_KEY_AV
+ 2171732009
+ name 1_370_KEY_AUTOTRACK
+ 2171732014
+ name 1_370_KEY_MENU
+ 2171732015
+ name 1_370_KEY_MUP
+ 2171732016
+ name 1_370_KEY_MDOWN
+ 2171732017
+ name 1_370_KEY_MLEFT
+ 2171732018
+ name 1_370_KEY_MRIGHT
+ 2171732019
+ name 1_371_KEY_0
+ 2171797504
+ name 1_371_KEY_1
+ 2171797505
+ name 1_371_KEY_2
+ 2171797506
+ name 1_371_KEY_3
+ 2171797507
+ name 1_371_KEY_4
+ 2171797508
+ name 1_371_KEY_5
+ 2171797509
+ name 1_371_KEY_6
+ 2171797510
+ name 1_371_KEY_7
+ 2171797511
+ name 1_371_KEY_8
+ 2171797512
+ name 1_371_KEY_9
+ 2171797513
+ name 1_371_KEY_POWER
+ 2171797514
+ name 1_371_KEY_CH_UP
+ 2171797519
+ name 1_371_KEY_CH_DOWN
+ 2171797520
+ name 1_371_KEY_MUTE
+ 2171797521
+ name 1_371_KEY_VOL_DOWN
+ 2171797522
+ name 1_371_KEY_VOL_UP
+ 2171797524
+ name 1_371_KEY_MNSELECT
+ 2171797527
+ name 1_371_KEY_AV
+ 2171797545
+ name 1_371_KEY_MENU
+ 2171797551
+ name 1_371_KEY_MUP
+ 2171797552
+ name 1_371_KEY_MDOWN
+ 2171797553
+ name 1_371_KEY_MLEFT
+ 2171797554
+ name 1_371_KEY_MRIGHT
+ 2171797555
+ name 1_372_KEY_0
+ 2171863040
+ name 1_372_KEY_1
+ 2171863041
+ name 1_372_KEY_2
+ 2171863042
+ name 1_372_KEY_3
+ 2171863043
+ name 1_372_KEY_4
+ 2171863044
+ name 1_372_KEY_5
+ 2171863045
+ name 1_372_KEY_6
+ 2171863046
+ name 1_372_KEY_7
+ 2171863047
+ name 1_372_KEY_8
+ 2171863048
+ name 1_372_KEY_9
+ 2171863049
+ name 1_372_KEY_POWER
+ 2171863050
+ name 1_372_KEY_CH_UP
+ 2171863055
+ name 1_372_KEY_CH_DOWN
+ 2171863056
+ name 1_372_KEY_MUTE
+ 2171863057
+ name 1_372_KEY_VOL_DOWN
+ 2171863058
+ name 1_372_KEY_VOL_UP
+ 2171863060
+ name 1_372_KEY_MNSELECT
+ 2171863063
+ name 1_372_KEY_AV
+ 2171863081
+ name 1_372_KEY_MENU
+ 2171863087
+ name 1_372_KEY_MUP
+ 2171863088
+ name 1_372_KEY_MDOWN
+ 2171863089
+ name 1_372_KEY_MLEFT
+ 2171863090
+ name 1_372_KEY_MRIGHT
+ 2171863091
+ name 1_373_KEY_0
+ 2171928576
+ name 1_373_KEY_1
+ 2171928577
+ name 1_373_KEY_2
+ 2171928578
+ name 1_373_KEY_3
+ 2171928579
+ name 1_373_KEY_4
+ 2171928580
+ name 1_373_KEY_5
+ 2171928581
+ name 1_373_KEY_6
+ 2171928582
+ name 1_373_KEY_7
+ 2171928583
+ name 1_373_KEY_8
+ 2171928584
+ name 1_373_KEY_9
+ 2171928585
+ name 1_373_KEY_POWER
+ 2171928586
+ name 1_373_KEY_CH_UP
+ 2171928591
+ name 1_373_KEY_CH_DOWN
+ 2171928592
+ name 1_373_KEY_MUTE
+ 2171928593
+ name 1_373_KEY_VOL_DOWN
+ 2171928594
+ name 1_373_KEY_VOL_UP
+ 2171928596
+ name 1_373_KEY_MNSELECT
+ 2171928599
+ name 1_373_KEY_AV
+ 2171928617
+ name 1_373_KEY_MENU
+ 2171928623
+ name 1_373_KEY_MUP
+ 2171928624
+ name 1_373_KEY_MDOWN
+ 2171928625
+ name 1_373_KEY_MLEFT
+ 2171928626
+ name 1_373_KEY_MRIGHT
+ 2171928627
+ name 1_374_KEY_0
+ 2171994112
+ name 1_374_KEY_1
+ 2171994113
+ name 1_374_KEY_2
+ 2171994114
+ name 1_374_KEY_3
+ 2171994115
+ name 1_374_KEY_4
+ 2171994116
+ name 1_374_KEY_5
+ 2171994117
+ name 1_374_KEY_6
+ 2171994118
+ name 1_374_KEY_7
+ 2171994119
+ name 1_374_KEY_8
+ 2171994120
+ name 1_374_KEY_9
+ 2171994121
+ name 1_374_KEY_POWER
+ 2171994122
+ name 1_374_TWO_DIGITS
+ 2171994125
+ name 1_374_KEY_CH_UP
+ 2171994127
+ name 1_374_KEY_CH_DOWN
+ 2171994128
+ name 1_374_KEY_MUTE
+ 2171994129
+ name 1_374_KEY_VOL_DOWN
+ 2171994130
+ name 1_374_KEY_VOL_UP
+ 2171994132
+ name 1_374_KEY_AV
+ 2171994153
+ name 1_374_KEY_MENU
+ 2171994159
+ name 1_374_KEY_MUP
+ 2171994160
+ name 1_374_KEY_MDOWN
+ 2171994161
+ name 1_374_KEY_MLEFT
+ 2171994162
+ name 1_374_KEY_MRIGHT
+ 2171994163
+ name 1_375_KEY_0
+ 2172059648
+ name 1_375_KEY_1
+ 2172059649
+ name 1_375_KEY_2
+ 2172059650
+ name 1_375_KEY_3
+ 2172059651
+ name 1_375_KEY_4
+ 2172059652
+ name 1_375_KEY_5
+ 2172059653
+ name 1_375_KEY_6
+ 2172059654
+ name 1_375_KEY_7
+ 2172059655
+ name 1_375_KEY_8
+ 2172059656
+ name 1_375_KEY_9
+ 2172059657
+ name 1_375_KEY_POWER
+ 2172059658
+ name 1_375_TWO_DIGITS
+ 2172059661
+ name 1_375_KEY_CH_UP
+ 2172059663
+ name 1_375_KEY_CH_DOWN
+ 2172059664
+ name 1_375_KEY_MUTE
+ 2172059665
+ name 1_375_KEY_VOL_DOWN
+ 2172059666
+ name 1_375_KEY_VOL_UP
+ 2172059668
+ name 1_375_KEY_MNSELECT
+ 2172059671
+ name 1_375_KEY_AV
+ 2172059689
+ name 1_375_KEY_AUTOTRACK
+ 2172059694
+ name 1_375_KEY_MENU
+ 2172059695
+ name 1_375_KEY_MUP
+ 2172059696
+ name 1_375_KEY_MDOWN
+ 2172059697
+ name 1_375_KEY_MLEFT
+ 2172059698
+ name 1_375_KEY_MRIGHT
+ 2172059699
+ name 1_376_KEY_0
+ 2172125184
+ name 1_376_KEY_1
+ 2172125185
+ name 1_376_KEY_2
+ 2172125186
+ name 1_376_KEY_3
+ 2172125187
+ name 1_376_KEY_4
+ 2172125188
+ name 1_376_KEY_5
+ 2172125189
+ name 1_376_KEY_6
+ 2172125190
+ name 1_376_KEY_7
+ 2172125191
+ name 1_376_KEY_8
+ 2172125192
+ name 1_376_KEY_9
+ 2172125193
+ name 1_376_KEY_POWER
+ 2172125194
+ name 1_376_TWO_DIGITS
+ 2172125197
+ name 1_376_KEY_CH_UP
+ 2172125199
+ name 1_376_KEY_CH_DOWN
+ 2172125200
+ name 1_376_KEY_MUTE
+ 2172125201
+ name 1_376_KEY_VOL_DOWN
+ 2172125202
+ name 1_376_KEY_VOL_UP
+ 2172125204
+ name 1_376_KEY_MNSELECT
+ 2172125207
+ name 1_376_KEY_MENU
+ 2172125231
+ name 1_376_KEY_MUP
+ 2172125232
+ name 1_376_KEY_MDOWN
+ 2172125233
+ name 1_376_KEY_MLEFT
+ 2172125234
+ name 1_376_KEY_MRIGHT
+ 2172125235
+ name 1_377_KEY_0
+ 2172190720
+ name 1_377_KEY_1
+ 2172190721
+ name 1_377_KEY_2
+ 2172190722
+ name 1_377_KEY_3
+ 2172190723
+ name 1_377_KEY_4
+ 2172190724
+ name 1_377_KEY_5
+ 2172190725
+ name 1_377_KEY_6
+ 2172190726
+ name 1_377_KEY_7
+ 2172190727
+ name 1_377_KEY_8
+ 2172190728
+ name 1_377_KEY_9
+ 2172190729
+ name 1_377_KEY_POWER
+ 2172190730
+ name 1_377_KEY_CH_UP
+ 2172190735
+ name 1_377_KEY_CH_DOWN
+ 2172190736
+ name 1_377_KEY_AV
+ 2172190761
+ name 1_378_KEY_0
+ 2172256256
+ name 1_378_KEY_1
+ 2172256257
+ name 1_378_KEY_2
+ 2172256258
+ name 1_378_KEY_3
+ 2172256259
+ name 1_378_KEY_4
+ 2172256260
+ name 1_378_KEY_5
+ 2172256261
+ name 1_378_KEY_6
+ 2172256262
+ name 1_378_KEY_7
+ 2172256263
+ name 1_378_KEY_8
+ 2172256264
+ name 1_378_KEY_9
+ 2172256265
+ name 1_378_KEY_POWER
+ 2172256266
+ name 1_378_KEY_CH_UP
+ 2172256271
+ name 1_378_KEY_CH_DOWN
+ 2172256272
+ name 1_378_KEY_MUTE
+ 2172256273
+ name 1_378_KEY_VOL_DOWN
+ 2172256274
+ name 1_378_KEY_VOL_UP
+ 2172256276
+ name 1_378_KEY_AV
+ 2172256297
+ name 1_379_KEY_0
+ 2172321792
+ name 1_379_KEY_1
+ 2172321793
+ name 1_379_KEY_2
+ 2172321794
+ name 1_379_KEY_3
+ 2172321795
+ name 1_379_KEY_4
+ 2172321796
+ name 1_379_KEY_5
+ 2172321797
+ name 1_379_KEY_6
+ 2172321798
+ name 1_379_KEY_7
+ 2172321799
+ name 1_379_KEY_8
+ 2172321800
+ name 1_379_KEY_9
+ 2172321801
+ name 1_379_KEY_POWER
+ 2172321802
+ name 1_379_KEY_CH_UP
+ 2172321807
+ name 1_379_KEY_CH_DOWN
+ 2172321808
+ name 1_379_KEY_AV
+ 2172321833
+ name 1_380_KEY_0
+ 2172387328
+ name 1_380_KEY_1
+ 2172387329
+ name 1_380_KEY_2
+ 2172387330
+ name 1_380_KEY_3
+ 2172387331
+ name 1_380_KEY_4
+ 2172387332
+ name 1_380_KEY_5
+ 2172387333
+ name 1_380_KEY_6
+ 2172387334
+ name 1_380_KEY_7
+ 2172387335
+ name 1_380_KEY_8
+ 2172387336
+ name 1_380_KEY_9
+ 2172387337
+ name 1_380_KEY_POWER
+ 2172387338
+ name 1_380_KEY_CH_UP
+ 2172387343
+ name 1_380_KEY_CH_DOWN
+ 2172387344
+ name 1_380_KEY_AV
+ 2172387369
+ name 1_381_KEY_0
+ 2172452864
+ name 1_381_KEY_1
+ 2172452865
+ name 1_381_KEY_2
+ 2172452866
+ name 1_381_KEY_3
+ 2172452867
+ name 1_381_KEY_4
+ 2172452868
+ name 1_381_KEY_5
+ 2172452869
+ name 1_381_KEY_6
+ 2172452870
+ name 1_381_KEY_7
+ 2172452871
+ name 1_381_KEY_8
+ 2172452872
+ name 1_381_KEY_9
+ 2172452873
+ name 1_381_KEY_POWER
+ 2172452874
+ name 1_381_KEY_CH_UP
+ 2172452879
+ name 1_381_KEY_CH_DOWN
+ 2172452880
+ name 1_381_KEY_AV
+ 2172452905
+ name 1_382_KEY_0
+ 2172518400
+ name 1_382_KEY_1
+ 2172518401
+ name 1_382_KEY_2
+ 2172518402
+ name 1_382_KEY_3
+ 2172518403
+ name 1_382_KEY_4
+ 2172518404
+ name 1_382_KEY_5
+ 2172518405
+ name 1_382_KEY_6
+ 2172518406
+ name 1_382_KEY_7
+ 2172518407
+ name 1_382_KEY_8
+ 2172518408
+ name 1_382_KEY_9
+ 2172518409
+ name 1_382_KEY_POWER
+ 2172518410
+ name 1_382_KEY_CH_UP
+ 2172518415
+ name 1_382_KEY_CH_DOWN
+ 2172518416
+ name 1_382_KEY_MUTE
+ 2172518417
+ name 1_382_KEY_VOL_DOWN
+ 2172518418
+ name 1_382_KEY_VOL_UP
+ 2172518420
+ name 1_382_KEY_AV
+ 2172518441
+ name 1_383_KEY_0
+ 2172583936
+ name 1_383_KEY_1
+ 2172583937
+ name 1_383_KEY_2
+ 2172583938
+ name 1_383_KEY_3
+ 2172583939
+ name 1_383_KEY_4
+ 2172583940
+ name 1_383_KEY_5
+ 2172583941
+ name 1_383_KEY_6
+ 2172583942
+ name 1_383_KEY_7
+ 2172583943
+ name 1_383_KEY_8
+ 2172583944
+ name 1_383_KEY_9
+ 2172583945
+ name 1_383_KEY_POWER
+ 2172583946
+ name 1_383_TWO_DIGITS
+ 2172583949
+ name 1_383_KEY_CH_UP
+ 2172583951
+ name 1_383_KEY_CH_DOWN
+ 2172583952
+ name 1_383_KEY_MUTE
+ 2172583953
+ name 1_383_KEY_VOL_DOWN
+ 2172583954
+ name 1_383_KEY_VOL_UP
+ 2172583956
+ name 1_384_KEY_0
+ 2172649472
+ name 1_384_KEY_1
+ 2172649473
+ name 1_384_KEY_2
+ 2172649474
+ name 1_384_KEY_3
+ 2172649475
+ name 1_384_KEY_4
+ 2172649476
+ name 1_384_KEY_5
+ 2172649477
+ name 1_384_KEY_6
+ 2172649478
+ name 1_384_KEY_7
+ 2172649479
+ name 1_384_KEY_8
+ 2172649480
+ name 1_384_KEY_9
+ 2172649481
+ name 1_384_KEY_POWER
+ 2172649482
+ name 1_384_TWO_DIGITS
+ 2172649485
+ name 1_384_KEY_CH_UP
+ 2172649487
+ name 1_384_KEY_CH_DOWN
+ 2172649488
+ name 1_384_KEY_MUTE
+ 2172649489
+ name 1_384_KEY_VOL_DOWN
+ 2172649490
+ name 1_384_KEY_VOL_UP
+ 2172649492
+ name 1_384_KEY_AV
+ 2172649513
+ name 1_384_KEY_AUTOTRACK
+ 2172649518
+ name 1_384_KEY_MENU
+ 2172649519
+ name 1_384_KEY_MUP
+ 2172649520
+ name 1_384_KEY_MDOWN
+ 2172649521
+ name 1_384_KEY_MLEFT
+ 2172649522
+ name 1_384_KEY_MRIGHT
+ 2172649523
+ name 1_385_KEY_0
+ 2172715008
+ name 1_385_KEY_1
+ 2172715009
+ name 1_385_KEY_2
+ 2172715010
+ name 1_385_KEY_3
+ 2172715011
+ name 1_385_KEY_4
+ 2172715012
+ name 1_385_KEY_5
+ 2172715013
+ name 1_385_KEY_6
+ 2172715014
+ name 1_385_KEY_7
+ 2172715015
+ name 1_385_KEY_8
+ 2172715016
+ name 1_385_KEY_9
+ 2172715017
+ name 1_385_KEY_POWER
+ 2172715018
+ name 1_385_TWO_DIGITS
+ 2172715021
+ name 1_385_KEY_CH_UP
+ 2172715023
+ name 1_385_KEY_CH_DOWN
+ 2172715024
+ name 1_385_KEY_MUTE
+ 2172715025
+ name 1_385_KEY_VOL_DOWN
+ 2172715026
+ name 1_385_KEY_VOL_UP
+ 2172715028
+ name 1_385_KEY_MNSELECT
+ 2172715031
+ name 1_385_KEY_AV
+ 2172715049
+ name 1_385_KEY_AUTOTRACK
+ 2172715054
+ name 1_385_KEY_MENU
+ 2172715055
+ name 1_385_KEY_MUP
+ 2172715056
+ name 1_385_KEY_MDOWN
+ 2172715057
+ name 1_385_KEY_MLEFT
+ 2172715058
+ name 1_385_KEY_MRIGHT
+ 2172715059
+ name 1_386_KEY_0
+ 2172780544
+ name 1_386_KEY_1
+ 2172780545
+ name 1_386_KEY_2
+ 2172780546
+ name 1_386_KEY_3
+ 2172780547
+ name 1_386_KEY_4
+ 2172780548
+ name 1_386_KEY_5
+ 2172780549
+ name 1_386_KEY_6
+ 2172780550
+ name 1_386_KEY_7
+ 2172780551
+ name 1_386_KEY_8
+ 2172780552
+ name 1_386_KEY_9
+ 2172780553
+ name 1_386_KEY_POWER
+ 2172780554
+ name 1_386_KEY_CH_UP
+ 2172780559
+ name 1_386_KEY_CH_DOWN
+ 2172780560
+ name 1_386_KEY_MUTE
+ 2172780561
+ name 1_386_KEY_VOL_DOWN
+ 2172780562
+ name 1_386_KEY_VOL_UP
+ 2172780564
+ name 1_387_KEY_0
+ 2172846080
+ name 1_387_KEY_1
+ 2172846081
+ name 1_387_KEY_2
+ 2172846082
+ name 1_387_KEY_3
+ 2172846083
+ name 1_387_KEY_4
+ 2172846084
+ name 1_387_KEY_5
+ 2172846085
+ name 1_387_KEY_6
+ 2172846086
+ name 1_387_KEY_7
+ 2172846087
+ name 1_387_KEY_8
+ 2172846088
+ name 1_387_KEY_9
+ 2172846089
+ name 1_387_KEY_POWER
+ 2172846090
+ name 1_387_KEY_CH_UP
+ 2172846095
+ name 1_387_KEY_CH_DOWN
+ 2172846096
+ name 1_387_KEY_AV
+ 2172846121
+ name 1_389_KEY_0
+ 2172977152
+ name 1_389_KEY_1
+ 2172977153
+ name 1_389_KEY_2
+ 2172977154
+ name 1_389_KEY_3
+ 2172977155
+ name 1_389_KEY_4
+ 2172977156
+ name 1_389_KEY_5
+ 2172977157
+ name 1_389_KEY_6
+ 2172977158
+ name 1_389_KEY_7
+ 2172977159
+ name 1_389_KEY_8
+ 2172977160
+ name 1_389_KEY_9
+ 2172977161
+ name 1_389_KEY_POWER
+ 2172977162
+ name 1_389_KEY_CH_UP
+ 2172977167
+ name 1_389_KEY_CH_DOWN
+ 2172977168
+ name 1_389_CH_PREVIOUS
+ 2172977171
+ name 1_390_KEY_0
+ 2173042688
+ name 1_390_KEY_1
+ 2173042689
+ name 1_390_KEY_2
+ 2173042690
+ name 1_390_KEY_3
+ 2173042691
+ name 1_390_KEY_4
+ 2173042692
+ name 1_390_KEY_5
+ 2173042693
+ name 1_390_KEY_6
+ 2173042694
+ name 1_390_KEY_7
+ 2173042695
+ name 1_390_KEY_8
+ 2173042696
+ name 1_390_KEY_9
+ 2173042697
+ name 1_390_KEY_POWER
+ 2173042698
+ name 1_390_TWO_DIGITS
+ 2173042701
+ name 1_390_KEY_CH_UP
+ 2173042703
+ name 1_390_KEY_CH_DOWN
+ 2173042704
+ name 1_391_KEY_0
+ 2173108224
+ name 1_391_KEY_1
+ 2173108225
+ name 1_391_KEY_2
+ 2173108226
+ name 1_391_KEY_3
+ 2173108227
+ name 1_391_KEY_4
+ 2173108228
+ name 1_391_KEY_5
+ 2173108229
+ name 1_391_KEY_6
+ 2173108230
+ name 1_391_KEY_7
+ 2173108231
+ name 1_391_KEY_8
+ 2173108232
+ name 1_391_KEY_9
+ 2173108233
+ name 1_391_KEY_POWER
+ 2173108234
+ name 1_391_TWO_DIGITS
+ 2173108237
+ name 1_391_KEY_CH_UP
+ 2173108239
+ name 1_391_KEY_CH_DOWN
+ 2173108240
+ name 1_391_KEY_AV
+ 2173108265
+ name 1_392_KEY_0
+ 2173173760
+ name 1_392_KEY_1
+ 2173173761
+ name 1_392_KEY_2
+ 2173173762
+ name 1_392_KEY_3
+ 2173173763
+ name 1_392_KEY_4
+ 2173173764
+ name 1_392_KEY_5
+ 2173173765
+ name 1_392_KEY_6
+ 2173173766
+ name 1_392_KEY_7
+ 2173173767
+ name 1_392_KEY_8
+ 2173173768
+ name 1_392_KEY_9
+ 2173173769
+ name 1_392_KEY_POWER
+ 2173173770
+ name 1_392_KEY_CH_UP
+ 2173173775
+ name 1_392_KEY_CH_DOWN
+ 2173173776
+ name 1_392_CH_PREVIOUS
+ 2173173779
+ name 1_393_KEY_0
+ 2173239296
+ name 1_393_KEY_1
+ 2173239297
+ name 1_393_KEY_2
+ 2173239298
+ name 1_393_KEY_3
+ 2173239299
+ name 1_393_KEY_4
+ 2173239300
+ name 1_393_KEY_5
+ 2173239301
+ name 1_393_KEY_6
+ 2173239302
+ name 1_393_KEY_7
+ 2173239303
+ name 1_393_KEY_8
+ 2173239304
+ name 1_393_KEY_9
+ 2173239305
+ name 1_393_KEY_POWER
+ 2173239306
+ name 1_393_KEY_CH_UP
+ 2173239311
+ name 1_393_KEY_CH_DOWN
+ 2173239312
+ name 1_394_KEY_0
+ 2173304832
+ name 1_394_KEY_1
+ 2173304833
+ name 1_394_KEY_2
+ 2173304834
+ name 1_394_KEY_3
+ 2173304835
+ name 1_394_KEY_4
+ 2173304836
+ name 1_394_KEY_5
+ 2173304837
+ name 1_394_KEY_6
+ 2173304838
+ name 1_394_KEY_7
+ 2173304839
+ name 1_394_KEY_8
+ 2173304840
+ name 1_394_KEY_9
+ 2173304841
+ name 1_394_KEY_POWER
+ 2173304842
+ name 1_394_KEY_CH_UP
+ 2173304847
+ name 1_394_KEY_CH_DOWN
+ 2173304848
+ name 1_394_CH_PREVIOUS
+ 2173304851
+ name 1_395_KEY_0
+ 2173370368
+ name 1_395_KEY_1
+ 2173370369
+ name 1_395_KEY_2
+ 2173370370
+ name 1_395_KEY_3
+ 2173370371
+ name 1_395_KEY_4
+ 2173370372
+ name 1_395_KEY_5
+ 2173370373
+ name 1_395_KEY_6
+ 2173370374
+ name 1_395_KEY_7
+ 2173370375
+ name 1_395_KEY_8
+ 2173370376
+ name 1_395_KEY_9
+ 2173370377
+ name 1_395_KEY_POWER
+ 2173370378
+ name 1_395_KEY_CH_UP
+ 2173370383
+ name 1_395_KEY_CH_DOWN
+ 2173370384
+ name 1_396_KEY_0
+ 2173435904
+ name 1_396_KEY_1
+ 2173435905
+ name 1_396_KEY_2
+ 2173435906
+ name 1_396_KEY_3
+ 2173435907
+ name 1_396_KEY_4
+ 2173435908
+ name 1_396_KEY_5
+ 2173435909
+ name 1_396_KEY_6
+ 2173435910
+ name 1_396_KEY_7
+ 2173435911
+ name 1_396_KEY_8
+ 2173435912
+ name 1_396_KEY_9
+ 2173435913
+ name 1_396_KEY_POWER
+ 2173435914
+ name 1_396_TWO_DIGITS
+ 2173435917
+ name 1_396_KEY_CH_UP
+ 2173435919
+ name 1_396_KEY_CH_DOWN
+ 2173435920
+ name 1_396_KEY_AV
+ 2173435945
+ name 1_397_KEY_0
+ 2173501440
+ name 1_397_KEY_1
+ 2173501441
+ name 1_397_KEY_2
+ 2173501442
+ name 1_397_KEY_3
+ 2173501443
+ name 1_397_KEY_4
+ 2173501444
+ name 1_397_KEY_5
+ 2173501445
+ name 1_397_KEY_6
+ 2173501446
+ name 1_397_KEY_7
+ 2173501447
+ name 1_397_KEY_8
+ 2173501448
+ name 1_397_KEY_9
+ 2173501449
+ name 1_397_KEY_POWER
+ 2173501450
+ name 1_397_KEY_CH_UP
+ 2173501455
+ name 1_397_KEY_CH_DOWN
+ 2173501456
+ name 1_398_KEY_0
+ 2173566976
+ name 1_398_KEY_1
+ 2173566977
+ name 1_398_KEY_2
+ 2173566978
+ name 1_398_KEY_3
+ 2173566979
+ name 1_398_KEY_4
+ 2173566980
+ name 1_398_KEY_5
+ 2173566981
+ name 1_398_KEY_6
+ 2173566982
+ name 1_398_KEY_7
+ 2173566983
+ name 1_398_KEY_8
+ 2173566984
+ name 1_398_KEY_9
+ 2173566985
+ name 1_398_KEY_POWER
+ 2173566986
+ name 1_398_KEY_CH_UP
+ 2173566991
+ name 1_398_KEY_CH_DOWN
+ 2173566992
+ name 1_399_KEY_0
+ 2173632512
+ name 1_399_KEY_1
+ 2173632513
+ name 1_399_KEY_2
+ 2173632514
+ name 1_399_KEY_3
+ 2173632515
+ name 1_399_KEY_4
+ 2173632516
+ name 1_399_KEY_5
+ 2173632517
+ name 1_399_KEY_6
+ 2173632518
+ name 1_399_KEY_7
+ 2173632519
+ name 1_399_KEY_8
+ 2173632520
+ name 1_399_KEY_9
+ 2173632521
+ name 1_399_KEY_POWER
+ 2173632522
+ name 1_399_KEY_CH_UP
+ 2173632527
+ name 1_399_KEY_CH_DOWN
+ 2173632528
+ name 1_400_KEY_0
+ 2173698048
+ name 1_400_KEY_1
+ 2173698049
+ name 1_400_KEY_2
+ 2173698050
+ name 1_400_KEY_3
+ 2173698051
+ name 1_400_KEY_4
+ 2173698052
+ name 1_400_KEY_5
+ 2173698053
+ name 1_400_KEY_6
+ 2173698054
+ name 1_400_KEY_7
+ 2173698055
+ name 1_400_KEY_8
+ 2173698056
+ name 1_400_KEY_9
+ 2173698057
+ name 1_400_KEY_POWER
+ 2173698058
+ name 1_400_KEY_CH_UP
+ 2173698063
+ name 1_400_KEY_CH_DOWN
+ 2173698064
+ name 1_401_KEY_0
+ 2173763584
+ name 1_401_KEY_1
+ 2173763585
+ name 1_401_KEY_2
+ 2173763586
+ name 1_401_KEY_3
+ 2173763587
+ name 1_401_KEY_4
+ 2173763588
+ name 1_401_KEY_5
+ 2173763589
+ name 1_401_KEY_6
+ 2173763590
+ name 1_401_KEY_7
+ 2173763591
+ name 1_401_KEY_8
+ 2173763592
+ name 1_401_KEY_9
+ 2173763593
+ name 1_401_KEY_POWER
+ 2173763594
+ name 1_401_KEY_CH_UP
+ 2173763599
+ name 1_401_KEY_CH_DOWN
+ 2173763600
+ name 1_401_CH_PREVIOUS
+ 2173763603
+ name 1_402_KEY_0
+ 2173829120
+ name 1_402_KEY_1
+ 2173829121
+ name 1_402_KEY_2
+ 2173829122
+ name 1_402_KEY_3
+ 2173829123
+ name 1_402_KEY_4
+ 2173829124
+ name 1_402_KEY_5
+ 2173829125
+ name 1_402_KEY_6
+ 2173829126
+ name 1_402_KEY_7
+ 2173829127
+ name 1_402_KEY_8
+ 2173829128
+ name 1_402_KEY_9
+ 2173829129
+ name 1_402_KEY_POWER
+ 2173829130
+ name 1_402_KEY_CH_UP
+ 2173829135
+ name 1_402_KEY_CH_DOWN
+ 2173829136
+ name 1_402_KEY_AV
+ 2173829161
+ name 1_403_KEY_0
+ 2173894656
+ name 1_403_KEY_1
+ 2173894657
+ name 1_403_KEY_2
+ 2173894658
+ name 1_403_KEY_3
+ 2173894659
+ name 1_403_KEY_4
+ 2173894660
+ name 1_403_KEY_5
+ 2173894661
+ name 1_403_KEY_6
+ 2173894662
+ name 1_403_KEY_7
+ 2173894663
+ name 1_403_KEY_8
+ 2173894664
+ name 1_403_KEY_9
+ 2173894665
+ name 1_403_KEY_POWER
+ 2173894666
+ name 1_403_KEY_CH_UP
+ 2173894671
+ name 1_403_KEY_CH_DOWN
+ 2173894672
+ name 1_404_KEY_0
+ 2173960192
+ name 1_404_KEY_1
+ 2173960193
+ name 1_404_KEY_2
+ 2173960194
+ name 1_404_KEY_3
+ 2173960195
+ name 1_404_KEY_4
+ 2173960196
+ name 1_404_KEY_5
+ 2173960197
+ name 1_404_KEY_6
+ 2173960198
+ name 1_404_KEY_7
+ 2173960199
+ name 1_404_KEY_8
+ 2173960200
+ name 1_404_KEY_9
+ 2173960201
+ name 1_404_KEY_POWER
+ 2173960202
+ name 1_404_KEY_CH_UP
+ 2173960207
+ name 1_404_KEY_CH_DOWN
+ 2173960208
+ name 1_404_CH_PREVIOUS
+ 2173960211
+ name 1_405_KEY_0
+ 2174025728
+ name 1_405_KEY_1
+ 2174025729
+ name 1_405_KEY_2
+ 2174025730
+ name 1_405_KEY_3
+ 2174025731
+ name 1_405_KEY_4
+ 2174025732
+ name 1_405_KEY_5
+ 2174025733
+ name 1_405_KEY_6
+ 2174025734
+ name 1_405_KEY_7
+ 2174025735
+ name 1_405_KEY_8
+ 2174025736
+ name 1_405_KEY_9
+ 2174025737
+ name 1_405_KEY_POWER
+ 2174025738
+ name 1_405_KEY_CH_UP
+ 2174025743
+ name 1_405_KEY_CH_DOWN
+ 2174025744
+ name 1_405_CH_PREVIOUS
+ 2174025747
+ name 1_405_KEY_AV
+ 2174025769
+ name 1_406_KEY_0
+ 2174091264
+ name 1_406_KEY_1
+ 2174091265
+ name 1_406_KEY_2
+ 2174091266
+ name 1_406_KEY_3
+ 2174091267
+ name 1_406_KEY_4
+ 2174091268
+ name 1_406_KEY_5
+ 2174091269
+ name 1_406_KEY_6
+ 2174091270
+ name 1_406_KEY_7
+ 2174091271
+ name 1_406_KEY_8
+ 2174091272
+ name 1_406_KEY_9
+ 2174091273
+ name 1_406_KEY_POWER
+ 2174091274
+ name 1_406_KEY_CH_UP
+ 2174091279
+ name 1_406_KEY_CH_DOWN
+ 2174091280
+ name 1_406_CH_PREVIOUS
+ 2174091283
+ name 1_406_KEY_AV
+ 2174091305
+ name 1_407_KEY_0
+ 2174156800
+ name 1_407_KEY_1
+ 2174156801
+ name 1_407_KEY_2
+ 2174156802
+ name 1_407_KEY_3
+ 2174156803
+ name 1_407_KEY_4
+ 2174156804
+ name 1_407_KEY_5
+ 2174156805
+ name 1_407_KEY_6
+ 2174156806
+ name 1_407_KEY_7
+ 2174156807
+ name 1_407_KEY_8
+ 2174156808
+ name 1_407_KEY_9
+ 2174156809
+ name 1_407_KEY_POWER
+ 2174156810
+ name 1_407_KEY_CH_UP
+ 2174156815
+ name 1_407_KEY_CH_DOWN
+ 2174156816
+ name 1_407_KEY_Sleep
+ 2174156863
+ name 1_408_KEY_0
+ 2174222336
+ name 1_408_KEY_1
+ 2174222337
+ name 1_408_KEY_2
+ 2174222338
+ name 1_408_KEY_3
+ 2174222339
+ name 1_408_KEY_4
+ 2174222340
+ name 1_408_KEY_5
+ 2174222341
+ name 1_408_KEY_6
+ 2174222342
+ name 1_408_KEY_7
+ 2174222343
+ name 1_408_KEY_8
+ 2174222344
+ name 1_408_KEY_9
+ 2174222345
+ name 1_408_KEY_POWER
+ 2174222346
+ name 1_408_KEY_CH_UP
+ 2174222351
+ name 1_408_KEY_CH_DOWN
+ 2174222352
+ name 1_408_KEY_AV
+ 2174222377
+ name 1_409_KEY_0
+ 2174287872
+ name 1_409_KEY_1
+ 2174287873
+ name 1_409_KEY_2
+ 2174287874
+ name 1_409_KEY_3
+ 2174287875
+ name 1_409_KEY_4
+ 2174287876
+ name 1_409_KEY_5
+ 2174287877
+ name 1_409_KEY_6
+ 2174287878
+ name 1_409_KEY_7
+ 2174287879
+ name 1_409_KEY_8
+ 2174287880
+ name 1_409_KEY_9
+ 2174287881
+ name 1_409_KEY_POWER
+ 2174287882
+ name 1_409_KEY_CH_UP
+ 2174287887
+ name 1_409_KEY_CH_DOWN
+ 2174287888
+ name 1_409_KEY_MUTE
+ 2174287889
+ name 1_409_KEY_VOL_DOWN
+ 2174287890
+ name 1_409_KEY_VOL_UP
+ 2174287892
+ name 1_410_KEY_0
+ 2174353408
+ name 1_410_KEY_1
+ 2174353409
+ name 1_410_KEY_2
+ 2174353410
+ name 1_410_KEY_3
+ 2174353411
+ name 1_410_KEY_4
+ 2174353412
+ name 1_410_KEY_5
+ 2174353413
+ name 1_410_KEY_6
+ 2174353414
+ name 1_410_KEY_7
+ 2174353415
+ name 1_410_KEY_8
+ 2174353416
+ name 1_410_KEY_9
+ 2174353417
+ name 1_410_KEY_POWER
+ 2174353418
+ name 1_410_KEY_CH_UP
+ 2174353423
+ name 1_410_KEY_CH_DOWN
+ 2174353424
+ name 1_411_KEY_0
+ 2174418944
+ name 1_411_KEY_1
+ 2174418945
+ name 1_411_KEY_2
+ 2174418946
+ name 1_411_KEY_3
+ 2174418947
+ name 1_411_KEY_4
+ 2174418948
+ name 1_411_KEY_5
+ 2174418949
+ name 1_411_KEY_6
+ 2174418950
+ name 1_411_KEY_7
+ 2174418951
+ name 1_411_KEY_8
+ 2174418952
+ name 1_411_KEY_9
+ 2174418953
+ name 1_411_KEY_POWER
+ 2174418954
+ name 1_411_TWO_DIGITS
+ 2174418957
+ name 1_411_KEY_CH_UP
+ 2174418959
+ name 1_411_KEY_CH_DOWN
+ 2174418960
+ name 1_412_KEY_0
+ 2174484480
+ name 1_412_KEY_1
+ 2174484481
+ name 1_412_KEY_2
+ 2174484482
+ name 1_412_KEY_3
+ 2174484483
+ name 1_412_KEY_4
+ 2174484484
+ name 1_412_KEY_5
+ 2174484485
+ name 1_412_KEY_6
+ 2174484486
+ name 1_412_KEY_7
+ 2174484487
+ name 1_412_KEY_8
+ 2174484488
+ name 1_412_KEY_9
+ 2174484489
+ name 1_412_KEY_POWER
+ 2174484490
+ name 1_412_TWO_DIGITS
+ 2174484493
+ name 1_412_KEY_CH_UP
+ 2174484495
+ name 1_412_KEY_CH_DOWN
+ 2174484496
+ name 1_412_KEY_AV
+ 2174484521
+ name 1_413_KEY_0
+ 2174550016
+ name 1_413_KEY_1
+ 2174550017
+ name 1_413_KEY_2
+ 2174550018
+ name 1_413_KEY_3
+ 2174550019
+ name 1_413_KEY_4
+ 2174550020
+ name 1_413_KEY_5
+ 2174550021
+ name 1_413_KEY_6
+ 2174550022
+ name 1_413_KEY_7
+ 2174550023
+ name 1_413_KEY_8
+ 2174550024
+ name 1_413_KEY_9
+ 2174550025
+ name 1_413_KEY_POWER
+ 2174550026
+ name 1_413_KEY_CH_UP
+ 2174550031
+ name 1_413_KEY_CH_DOWN
+ 2174550032
+ name 1_413_CH_PREVIOUS
+ 2174550035
+ name 1_413_KEY_AV
+ 2174550057
+ name 1_413_KEY_Sleep
+ 2174550079
+ name 1_414_KEY_0
+ 2174615552
+ name 1_414_KEY_1
+ 2174615553
+ name 1_414_KEY_2
+ 2174615554
+ name 1_414_KEY_3
+ 2174615555
+ name 1_414_KEY_4
+ 2174615556
+ name 1_414_KEY_5
+ 2174615557
+ name 1_414_KEY_6
+ 2174615558
+ name 1_414_KEY_7
+ 2174615559
+ name 1_414_KEY_8
+ 2174615560
+ name 1_414_KEY_9
+ 2174615561
+ name 1_414_KEY_POWER
+ 2174615562
+ name 1_414_KEY_CH_UP
+ 2174615567
+ name 1_414_KEY_CH_DOWN
+ 2174615568
+ name 1_415_KEY_0
+ 2174681088
+ name 1_415_KEY_1
+ 2174681089
+ name 1_415_KEY_2
+ 2174681090
+ name 1_415_KEY_3
+ 2174681091
+ name 1_415_KEY_4
+ 2174681092
+ name 1_415_KEY_5
+ 2174681093
+ name 1_415_KEY_6
+ 2174681094
+ name 1_415_KEY_7
+ 2174681095
+ name 1_415_KEY_8
+ 2174681096
+ name 1_415_KEY_9
+ 2174681097
+ name 1_415_KEY_POWER
+ 2174681098
+ name 1_415_TWO_DIGITS
+ 2174681101
+ name 1_415_KEY_CH_UP
+ 2174681103
+ name 1_415_KEY_CH_DOWN
+ 2174681104
+ name 1_416_KEY_0
+ 2174746624
+ name 1_416_KEY_1
+ 2174746625
+ name 1_416_KEY_2
+ 2174746626
+ name 1_416_KEY_3
+ 2174746627
+ name 1_416_KEY_4
+ 2174746628
+ name 1_416_KEY_5
+ 2174746629
+ name 1_416_KEY_6
+ 2174746630
+ name 1_416_KEY_7
+ 2174746631
+ name 1_416_KEY_8
+ 2174746632
+ name 1_416_KEY_9
+ 2174746633
+ name 1_416_KEY_POWER
+ 2174746634
+ name 1_416_KEY_CH_UP
+ 2174746639
+ name 1_416_KEY_CH_DOWN
+ 2174746640
+ name 1_417_KEY_0
+ 2174812160
+ name 1_417_KEY_1
+ 2174812161
+ name 1_417_KEY_2
+ 2174812162
+ name 1_417_KEY_3
+ 2174812163
+ name 1_417_KEY_4
+ 2174812164
+ name 1_417_KEY_5
+ 2174812165
+ name 1_417_KEY_6
+ 2174812166
+ name 1_417_KEY_7
+ 2174812167
+ name 1_417_KEY_8
+ 2174812168
+ name 1_417_KEY_9
+ 2174812169
+ name 1_417_KEY_POWER
+ 2174812170
+ name 1_417_TWO_DIGITS
+ 2174812173
+ name 1_417_KEY_CH_UP
+ 2174812175
+ name 1_417_KEY_CH_DOWN
+ 2174812176
+ name 1_417_KEY_AV
+ 2174812201
+ name 1_418_KEY_0
+ 2174877696
+ name 1_418_KEY_1
+ 2174877697
+ name 1_418_KEY_2
+ 2174877698
+ name 1_418_KEY_3
+ 2174877699
+ name 1_418_KEY_4
+ 2174877700
+ name 1_418_KEY_5
+ 2174877701
+ name 1_418_KEY_6
+ 2174877702
+ name 1_418_KEY_7
+ 2174877703
+ name 1_418_KEY_8
+ 2174877704
+ name 1_418_KEY_9
+ 2174877705
+ name 1_418_KEY_POWER
+ 2174877706
+ name 1_418_KEY_CH_UP
+ 2174877711
+ name 1_418_KEY_CH_DOWN
+ 2174877712
+ name 1_419_KEY_0
+ 2174943232
+ name 1_419_KEY_1
+ 2174943233
+ name 1_419_KEY_2
+ 2174943234
+ name 1_419_KEY_3
+ 2174943235
+ name 1_419_KEY_4
+ 2174943236
+ name 1_419_KEY_5
+ 2174943237
+ name 1_419_KEY_6
+ 2174943238
+ name 1_419_KEY_7
+ 2174943239
+ name 1_419_KEY_8
+ 2174943240
+ name 1_419_KEY_9
+ 2174943241
+ name 1_419_KEY_POWER
+ 2174943242
+ name 1_419_TWO_DIGITS
+ 2174943245
+ name 1_419_KEY_CH_UP
+ 2174943247
+ name 1_419_KEY_CH_DOWN
+ 2174943248
+ name 1_420_KEY_0
+ 2175008768
+ name 1_420_KEY_1
+ 2175008769
+ name 1_420_KEY_2
+ 2175008770
+ name 1_420_KEY_3
+ 2175008771
+ name 1_420_KEY_4
+ 2175008772
+ name 1_420_KEY_5
+ 2175008773
+ name 1_420_KEY_6
+ 2175008774
+ name 1_420_KEY_7
+ 2175008775
+ name 1_420_KEY_8
+ 2175008776
+ name 1_420_KEY_9
+ 2175008777
+ name 1_420_KEY_POWER
+ 2175008778
+ name 1_420_TWO_DIGITS
+ 2175008781
+ name 1_420_KEY_CH_UP
+ 2175008783
+ name 1_420_KEY_CH_DOWN
+ 2175008784
+ name 1_420_KEY_Sleep
+ 2175008831
+ name 1_421_KEY_0
+ 2175074304
+ name 1_421_KEY_1
+ 2175074305
+ name 1_421_KEY_2
+ 2175074306
+ name 1_421_KEY_3
+ 2175074307
+ name 1_421_KEY_4
+ 2175074308
+ name 1_421_KEY_5
+ 2175074309
+ name 1_421_KEY_6
+ 2175074310
+ name 1_421_KEY_7
+ 2175074311
+ name 1_421_KEY_8
+ 2175074312
+ name 1_421_KEY_9
+ 2175074313
+ name 1_421_KEY_POWER
+ 2175074314
+ name 1_421_KEY_CH_UP
+ 2175074319
+ name 1_421_KEY_CH_DOWN
+ 2175074320
+ name 1_421_CH_PREVIOUS
+ 2175074323
+ name 1_422_KEY_0
+ 2175139840
+ name 1_422_KEY_1
+ 2175139841
+ name 1_422_KEY_2
+ 2175139842
+ name 1_422_KEY_3
+ 2175139843
+ name 1_422_KEY_4
+ 2175139844
+ name 1_422_KEY_5
+ 2175139845
+ name 1_422_KEY_6
+ 2175139846
+ name 1_422_KEY_7
+ 2175139847
+ name 1_422_KEY_8
+ 2175139848
+ name 1_422_KEY_9
+ 2175139849
+ name 1_422_KEY_POWER
+ 2175139850
+ name 1_422_KEY_CH_UP
+ 2175139855
+ name 1_422_KEY_CH_DOWN
+ 2175139856
+ name 1_422_CH_PREVIOUS
+ 2175139859
+ name 1_423_KEY_0
+ 2175205376
+ name 1_423_KEY_1
+ 2175205377
+ name 1_423_KEY_2
+ 2175205378
+ name 1_423_KEY_3
+ 2175205379
+ name 1_423_KEY_4
+ 2175205380
+ name 1_423_KEY_5
+ 2175205381
+ name 1_423_KEY_6
+ 2175205382
+ name 1_423_KEY_7
+ 2175205383
+ name 1_423_KEY_8
+ 2175205384
+ name 1_423_KEY_9
+ 2175205385
+ name 1_423_KEY_POWER
+ 2175205386
+ name 1_423_KEY_CH_UP
+ 2175205391
+ name 1_423_KEY_CH_DOWN
+ 2175205392
+ name 1_423_KEY_AV
+ 2175205417
+ name 1_424_KEY_0
+ 2175270912
+ name 1_424_KEY_1
+ 2175270913
+ name 1_424_KEY_2
+ 2175270914
+ name 1_424_KEY_3
+ 2175270915
+ name 1_424_KEY_4
+ 2175270916
+ name 1_424_KEY_5
+ 2175270917
+ name 1_424_KEY_6
+ 2175270918
+ name 1_424_KEY_7
+ 2175270919
+ name 1_424_KEY_8
+ 2175270920
+ name 1_424_KEY_9
+ 2175270921
+ name 1_424_KEY_POWER
+ 2175270922
+ name 1_424_KEY_CH_UP
+ 2175270927
+ name 1_424_KEY_CH_DOWN
+ 2175270928
+ name 1_424_KEY_MUTE
+ 2175270929
+ name 1_424_KEY_VOL_DOWN
+ 2175270930
+ name 1_424_KEY_VOL_UP
+ 2175270932
+ name 1_425_KEY_0
+ 2175336448
+ name 1_425_KEY_1
+ 2175336449
+ name 1_425_KEY_2
+ 2175336450
+ name 1_425_KEY_3
+ 2175336451
+ name 1_425_KEY_4
+ 2175336452
+ name 1_425_KEY_5
+ 2175336453
+ name 1_425_KEY_6
+ 2175336454
+ name 1_425_KEY_7
+ 2175336455
+ name 1_425_KEY_8
+ 2175336456
+ name 1_425_KEY_9
+ 2175336457
+ name 1_425_KEY_POWER
+ 2175336458
+ name 1_425_KEY_CH_UP
+ 2175336463
+ name 1_425_KEY_CH_DOWN
+ 2175336464
+ name 1_425_KEY_AV
+ 2175336489
+ name 1_426_KEY_0
+ 2175401984
+ name 1_426_KEY_1
+ 2175401985
+ name 1_426_KEY_2
+ 2175401986
+ name 1_426_KEY_3
+ 2175401987
+ name 1_426_KEY_4
+ 2175401988
+ name 1_426_KEY_5
+ 2175401989
+ name 1_426_KEY_6
+ 2175401990
+ name 1_426_KEY_7
+ 2175401991
+ name 1_426_KEY_8
+ 2175401992
+ name 1_426_KEY_9
+ 2175401993
+ name 1_426_KEY_POWER
+ 2175401994
+ name 1_426_KEY_CH_UP
+ 2175401999
+ name 1_426_KEY_CH_DOWN
+ 2175402000
+ name 1_427_KEY_0
+ 2175467520
+ name 1_427_KEY_1
+ 2175467521
+ name 1_427_KEY_2
+ 2175467522
+ name 1_427_KEY_3
+ 2175467523
+ name 1_427_KEY_4
+ 2175467524
+ name 1_427_KEY_5
+ 2175467525
+ name 1_427_KEY_6
+ 2175467526
+ name 1_427_KEY_7
+ 2175467527
+ name 1_427_KEY_8
+ 2175467528
+ name 1_427_KEY_9
+ 2175467529
+ name 1_427_KEY_POWER
+ 2175467530
+ name 1_427_KEY_CH_UP
+ 2175467535
+ name 1_427_KEY_CH_DOWN
+ 2175467536
+ name 1_427_KEY_AV
+ 2175467561
+ name 1_428_KEY_0
+ 2175533056
+ name 1_428_KEY_1
+ 2175533057
+ name 1_428_KEY_2
+ 2175533058
+ name 1_428_KEY_3
+ 2175533059
+ name 1_428_KEY_4
+ 2175533060
+ name 1_428_KEY_5
+ 2175533061
+ name 1_428_KEY_6
+ 2175533062
+ name 1_428_KEY_7
+ 2175533063
+ name 1_428_KEY_8
+ 2175533064
+ name 1_428_KEY_9
+ 2175533065
+ name 1_428_KEY_POWER
+ 2175533066
+ name 1_428_TWO_DIGITS
+ 2175533069
+ name 1_428_KEY_CH_UP
+ 2175533071
+ name 1_428_KEY_CH_DOWN
+ 2175533072
+ name 1_429_KEY_0
+ 2175598592
+ name 1_429_KEY_1
+ 2175598593
+ name 1_429_KEY_2
+ 2175598594
+ name 1_429_KEY_3
+ 2175598595
+ name 1_429_KEY_4
+ 2175598596
+ name 1_429_KEY_5
+ 2175598597
+ name 1_429_KEY_6
+ 2175598598
+ name 1_429_KEY_7
+ 2175598599
+ name 1_429_KEY_8
+ 2175598600
+ name 1_429_KEY_9
+ 2175598601
+ name 1_429_KEY_POWER
+ 2175598602
+ name 1_429_TWO_DIGITS
+ 2175598605
+ name 1_429_KEY_CH_UP
+ 2175598607
+ name 1_429_KEY_CH_DOWN
+ 2175598608
+ name 1_429_KEY_AV
+ 2175598633
+ name 1_430_KEY_0
+ 2175664128
+ name 1_430_KEY_1
+ 2175664129
+ name 1_430_KEY_2
+ 2175664130
+ name 1_430_KEY_3
+ 2175664131
+ name 1_430_KEY_4
+ 2175664132
+ name 1_430_KEY_5
+ 2175664133
+ name 1_430_KEY_6
+ 2175664134
+ name 1_430_KEY_7
+ 2175664135
+ name 1_430_KEY_8
+ 2175664136
+ name 1_430_KEY_9
+ 2175664137
+ name 1_430_KEY_POWER
+ 2175664138
+ name 1_430_KEY_CH_UP
+ 2175664143
+ name 1_430_KEY_CH_DOWN
+ 2175664144
+ name 1_431_KEY_0
+ 2175729664
+ name 1_431_KEY_1
+ 2175729665
+ name 1_431_KEY_2
+ 2175729666
+ name 1_431_KEY_3
+ 2175729667
+ name 1_431_KEY_4
+ 2175729668
+ name 1_431_KEY_5
+ 2175729669
+ name 1_431_KEY_6
+ 2175729670
+ name 1_431_KEY_7
+ 2175729671
+ name 1_431_KEY_8
+ 2175729672
+ name 1_431_KEY_9
+ 2175729673
+ name 1_431_KEY_POWER
+ 2175729674
+ name 1_431_KEY_CH_UP
+ 2175729679
+ name 1_431_KEY_CH_DOWN
+ 2175729680
+ name 1_431_CH_PREVIOUS
+ 2175729683
+ name 1_432_KEY_0
+ 2175795200
+ name 1_432_KEY_1
+ 2175795201
+ name 1_432_KEY_2
+ 2175795202
+ name 1_432_KEY_3
+ 2175795203
+ name 1_432_KEY_4
+ 2175795204
+ name 1_432_KEY_5
+ 2175795205
+ name 1_432_KEY_6
+ 2175795206
+ name 1_432_KEY_7
+ 2175795207
+ name 1_432_KEY_8
+ 2175795208
+ name 1_432_KEY_9
+ 2175795209
+ name 1_432_KEY_POWER
+ 2175795210
+ name 1_432_KEY_CH_UP
+ 2175795215
+ name 1_432_KEY_CH_DOWN
+ 2175795216
+ name 1_433_KEY_0
+ 2175860736
+ name 1_433_KEY_1
+ 2175860737
+ name 1_433_KEY_2
+ 2175860738
+ name 1_433_KEY_3
+ 2175860739
+ name 1_433_KEY_4
+ 2175860740
+ name 1_433_KEY_5
+ 2175860741
+ name 1_433_KEY_6
+ 2175860742
+ name 1_433_KEY_7
+ 2175860743
+ name 1_433_KEY_8
+ 2175860744
+ name 1_433_KEY_9
+ 2175860745
+ name 1_433_KEY_POWER
+ 2175860746
+ name 1_433_KEY_CH_UP
+ 2175860751
+ name 1_433_KEY_CH_DOWN
+ 2175860752
+ name 1_434_KEY_0
+ 2175926272
+ name 1_434_KEY_1
+ 2175926273
+ name 1_434_KEY_2
+ 2175926274
+ name 1_434_KEY_3
+ 2175926275
+ name 1_434_KEY_4
+ 2175926276
+ name 1_434_KEY_5
+ 2175926277
+ name 1_434_KEY_6
+ 2175926278
+ name 1_434_KEY_7
+ 2175926279
+ name 1_434_KEY_8
+ 2175926280
+ name 1_434_KEY_9
+ 2175926281
+ name 1_434_KEY_POWER
+ 2175926282
+ name 1_434_TWO_DIGITS
+ 2175926285
+ name 1_434_KEY_CH_UP
+ 2175926287
+ name 1_434_KEY_CH_DOWN
+ 2175926288
+ name 1_435_KEY_0
+ 2175991808
+ name 1_435_KEY_1
+ 2175991809
+ name 1_435_KEY_2
+ 2175991810
+ name 1_435_KEY_3
+ 2175991811
+ name 1_435_KEY_4
+ 2175991812
+ name 1_435_KEY_5
+ 2175991813
+ name 1_435_KEY_6
+ 2175991814
+ name 1_435_KEY_7
+ 2175991815
+ name 1_435_KEY_8
+ 2175991816
+ name 1_435_KEY_9
+ 2175991817
+ name 1_435_KEY_POWER
+ 2175991818
+ name 1_435_KEY_CH_UP
+ 2175991823
+ name 1_435_KEY_CH_DOWN
+ 2175991824
+ name 1_435_KEY_AV
+ 2175991849
+ name 1_436_KEY_0
+ 2176057344
+ name 1_436_KEY_1
+ 2176057345
+ name 1_436_KEY_2
+ 2176057346
+ name 1_436_KEY_3
+ 2176057347
+ name 1_436_KEY_4
+ 2176057348
+ name 1_436_KEY_5
+ 2176057349
+ name 1_436_KEY_6
+ 2176057350
+ name 1_436_KEY_7
+ 2176057351
+ name 1_436_KEY_8
+ 2176057352
+ name 1_436_KEY_9
+ 2176057353
+ name 1_436_KEY_POWER
+ 2176057354
+ name 1_436_TWO_DIGITS
+ 2176057357
+ name 1_436_KEY_CH_UP
+ 2176057359
+ name 1_436_KEY_CH_DOWN
+ 2176057360
+ name 1_436_KEY_AV
+ 2176057385
+ name 1_437_KEY_0
+ 2176122880
+ name 1_437_KEY_1
+ 2176122881
+ name 1_437_KEY_2
+ 2176122882
+ name 1_437_KEY_3
+ 2176122883
+ name 1_437_KEY_4
+ 2176122884
+ name 1_437_KEY_5
+ 2176122885
+ name 1_437_KEY_6
+ 2176122886
+ name 1_437_KEY_7
+ 2176122887
+ name 1_437_KEY_8
+ 2176122888
+ name 1_437_KEY_9
+ 2176122889
+ name 1_437_KEY_POWER
+ 2176122890
+ name 1_437_KEY_CH_UP
+ 2176122895
+ name 1_437_KEY_CH_DOWN
+ 2176122896
+ name 1_437_KEY_AV
+ 2176122921
+ name 1_438_KEY_0
+ 2176188416
+ name 1_438_KEY_1
+ 2176188417
+ name 1_438_KEY_2
+ 2176188418
+ name 1_438_KEY_3
+ 2176188419
+ name 1_438_KEY_4
+ 2176188420
+ name 1_438_KEY_5
+ 2176188421
+ name 1_438_KEY_6
+ 2176188422
+ name 1_438_KEY_7
+ 2176188423
+ name 1_438_KEY_8
+ 2176188424
+ name 1_438_KEY_9
+ 2176188425
+ name 1_438_KEY_POWER
+ 2176188426
+ name 1_438_KEY_CH_UP
+ 2176188431
+ name 1_438_KEY_CH_DOWN
+ 2176188432
+ name 1_438_KEY_AV
+ 2176188457
+ name 1_439_KEY_0
+ 2176253952
+ name 1_439_KEY_1
+ 2176253953
+ name 1_439_KEY_2
+ 2176253954
+ name 1_439_KEY_3
+ 2176253955
+ name 1_439_KEY_4
+ 2176253956
+ name 1_439_KEY_5
+ 2176253957
+ name 1_439_KEY_6
+ 2176253958
+ name 1_439_KEY_7
+ 2176253959
+ name 1_439_KEY_8
+ 2176253960
+ name 1_439_KEY_9
+ 2176253961
+ name 1_439_KEY_POWER
+ 2176253962
+ name 1_439_KEY_CH_UP
+ 2176253967
+ name 1_439_KEY_CH_DOWN
+ 2176253968
+ name 1_440_KEY_0
+ 2176319488
+ name 1_440_KEY_1
+ 2176319489
+ name 1_440_KEY_2
+ 2176319490
+ name 1_440_KEY_3
+ 2176319491
+ name 1_440_KEY_4
+ 2176319492
+ name 1_440_KEY_5
+ 2176319493
+ name 1_440_KEY_6
+ 2176319494
+ name 1_440_KEY_7
+ 2176319495
+ name 1_440_KEY_8
+ 2176319496
+ name 1_440_KEY_9
+ 2176319497
+ name 1_440_KEY_POWER
+ 2176319498
+ name 1_440_TWO_DIGITS
+ 2176319501
+ name 1_440_KEY_CH_UP
+ 2176319503
+ name 1_440_KEY_CH_DOWN
+ 2176319504
+ name 1_440_KEY_AV
+ 2176319529
+ name 1_441_KEY_0
+ 2176385024
+ name 1_441_KEY_1
+ 2176385025
+ name 1_441_KEY_2
+ 2176385026
+ name 1_441_KEY_3
+ 2176385027
+ name 1_441_KEY_4
+ 2176385028
+ name 1_441_KEY_5
+ 2176385029
+ name 1_441_KEY_6
+ 2176385030
+ name 1_441_KEY_7
+ 2176385031
+ name 1_441_KEY_8
+ 2176385032
+ name 1_441_KEY_9
+ 2176385033
+ name 1_441_KEY_POWER
+ 2176385034
+ name 1_441_KEY_CH_UP
+ 2176385039
+ name 1_441_KEY_CH_DOWN
+ 2176385040
+ name 1_442_KEY_0
+ 2176450560
+ name 1_442_KEY_1
+ 2176450561
+ name 1_442_KEY_2
+ 2176450562
+ name 1_442_KEY_3
+ 2176450563
+ name 1_442_KEY_4
+ 2176450564
+ name 1_442_KEY_5
+ 2176450565
+ name 1_442_KEY_6
+ 2176450566
+ name 1_442_KEY_7
+ 2176450567
+ name 1_442_KEY_8
+ 2176450568
+ name 1_442_KEY_9
+ 2176450569
+ name 1_442_KEY_POWER
+ 2176450570
+ name 1_442_KEY_CH_UP
+ 2176450575
+ name 1_442_KEY_CH_DOWN
+ 2176450576
+ name 1_443_KEY_0
+ 2176516096
+ name 1_443_KEY_1
+ 2176516097
+ name 1_443_KEY_2
+ 2176516098
+ name 1_443_KEY_3
+ 2176516099
+ name 1_443_KEY_4
+ 2176516100
+ name 1_443_KEY_5
+ 2176516101
+ name 1_443_KEY_6
+ 2176516102
+ name 1_443_KEY_7
+ 2176516103
+ name 1_443_KEY_8
+ 2176516104
+ name 1_443_KEY_9
+ 2176516105
+ name 1_443_KEY_POWER
+ 2176516106
+ name 1_443_KEY_CH_UP
+ 2176516111
+ name 1_443_KEY_CH_DOWN
+ 2176516112
+ name 1_444_KEY_0
+ 2176581632
+ name 1_444_KEY_1
+ 2176581633
+ name 1_444_KEY_2
+ 2176581634
+ name 1_444_KEY_3
+ 2176581635
+ name 1_444_KEY_4
+ 2176581636
+ name 1_444_KEY_5
+ 2176581637
+ name 1_444_KEY_6
+ 2176581638
+ name 1_444_KEY_7
+ 2176581639
+ name 1_444_KEY_8
+ 2176581640
+ name 1_444_KEY_9
+ 2176581641
+ name 1_444_KEY_POWER
+ 2176581642
+ name 1_444_KEY_CH_UP
+ 2176581647
+ name 1_444_KEY_CH_DOWN
+ 2176581648
+ name 1_444_CH_PREVIOUS
+ 2176581651
+ name 1_444_KEY_AV
+ 2176581673
+ name 1_444_KEY_Sleep
+ 2176581695
+ name 1_445_KEY_0
+ 2176647168
+ name 1_445_KEY_1
+ 2176647169
+ name 1_445_KEY_2
+ 2176647170
+ name 1_445_KEY_3
+ 2176647171
+ name 1_445_KEY_4
+ 2176647172
+ name 1_445_KEY_5
+ 2176647173
+ name 1_445_KEY_6
+ 2176647174
+ name 1_445_KEY_7
+ 2176647175
+ name 1_445_KEY_8
+ 2176647176
+ name 1_445_KEY_9
+ 2176647177
+ name 1_445_KEY_POWER
+ 2176647178
+ name 1_445_TWO_DIGITS
+ 2176647181
+ name 1_445_KEY_CH_UP
+ 2176647183
+ name 1_445_KEY_CH_DOWN
+ 2176647184
+ name 1_446_KEY_0
+ 2176712704
+ name 1_446_KEY_1
+ 2176712705
+ name 1_446_KEY_2
+ 2176712706
+ name 1_446_KEY_3
+ 2176712707
+ name 1_446_KEY_4
+ 2176712708
+ name 1_446_KEY_5
+ 2176712709
+ name 1_446_KEY_6
+ 2176712710
+ name 1_446_KEY_7
+ 2176712711
+ name 1_446_KEY_8
+ 2176712712
+ name 1_446_KEY_9
+ 2176712713
+ name 1_446_KEY_POWER
+ 2176712714
+ name 1_446_TWO_DIGITS
+ 2176712717
+ name 1_446_KEY_CH_UP
+ 2176712719
+ name 1_446_KEY_CH_DOWN
+ 2176712720
+ name 1_446_KEY_Sleep
+ 2176712767
+ name 1_447_KEY_0
+ 2176778240
+ name 1_447_KEY_1
+ 2176778241
+ name 1_447_KEY_2
+ 2176778242
+ name 1_447_KEY_3
+ 2176778243
+ name 1_447_KEY_4
+ 2176778244
+ name 1_447_KEY_5
+ 2176778245
+ name 1_447_KEY_6
+ 2176778246
+ name 1_447_KEY_7
+ 2176778247
+ name 1_447_KEY_8
+ 2176778248
+ name 1_447_KEY_9
+ 2176778249
+ name 1_447_KEY_POWER
+ 2176778250
+ name 1_447_TWO_DIGITS
+ 2176778253
+ name 1_447_KEY_CH_UP
+ 2176778255
+ name 1_447_KEY_CH_DOWN
+ 2176778256
+ name 1_448_KEY_0
+ 2176843776
+ name 1_448_KEY_1
+ 2176843777
+ name 1_448_KEY_2
+ 2176843778
+ name 1_448_KEY_3
+ 2176843779
+ name 1_448_KEY_4
+ 2176843780
+ name 1_448_KEY_5
+ 2176843781
+ name 1_448_KEY_6
+ 2176843782
+ name 1_448_KEY_7
+ 2176843783
+ name 1_448_KEY_8
+ 2176843784
+ name 1_448_KEY_9
+ 2176843785
+ name 1_448_KEY_POWER
+ 2176843786
+ name 1_448_KEY_CH_UP
+ 2176843791
+ name 1_448_KEY_CH_DOWN
+ 2176843792
+ name 1_448_KEY_Sleep
+ 2176843839
+ name 1_449_KEY_0
+ 2176909312
+ name 1_449_KEY_1
+ 2176909313
+ name 1_449_KEY_2
+ 2176909314
+ name 1_449_KEY_3
+ 2176909315
+ name 1_449_KEY_4
+ 2176909316
+ name 1_449_KEY_5
+ 2176909317
+ name 1_449_KEY_6
+ 2176909318
+ name 1_449_KEY_7
+ 2176909319
+ name 1_449_KEY_8
+ 2176909320
+ name 1_449_KEY_9
+ 2176909321
+ name 1_449_KEY_POWER
+ 2176909322
+ name 1_449_TWO_DIGITS
+ 2176909325
+ name 1_449_KEY_CH_UP
+ 2176909327
+ name 1_449_KEY_CH_DOWN
+ 2176909328
+ name 1_449_CH_PREVIOUS
+ 2176909331
+ name 1_449_KEY_AV
+ 2176909353
+ name 1_450_KEY_0
+ 2176974848
+ name 1_450_KEY_1
+ 2176974849
+ name 1_450_KEY_2
+ 2176974850
+ name 1_450_KEY_3
+ 2176974851
+ name 1_450_KEY_4
+ 2176974852
+ name 1_450_KEY_5
+ 2176974853
+ name 1_450_KEY_6
+ 2176974854
+ name 1_450_KEY_7
+ 2176974855
+ name 1_450_KEY_8
+ 2176974856
+ name 1_450_KEY_9
+ 2176974857
+ name 1_450_KEY_POWER
+ 2176974858
+ name 1_450_KEY_CH_UP
+ 2176974863
+ name 1_450_KEY_CH_DOWN
+ 2176974864
+ name 1_451_KEY_0
+ 2177040384
+ name 1_451_KEY_1
+ 2177040385
+ name 1_451_KEY_2
+ 2177040386
+ name 1_451_KEY_3
+ 2177040387
+ name 1_451_KEY_4
+ 2177040388
+ name 1_451_KEY_5
+ 2177040389
+ name 1_451_KEY_6
+ 2177040390
+ name 1_451_KEY_7
+ 2177040391
+ name 1_451_KEY_8
+ 2177040392
+ name 1_451_KEY_9
+ 2177040393
+ name 1_451_KEY_POWER
+ 2177040394
+ name 1_451_KEY_CH_UP
+ 2177040399
+ name 1_451_KEY_CH_DOWN
+ 2177040400
+ name 1_452_KEY_0
+ 2177105920
+ name 1_452_KEY_1
+ 2177105921
+ name 1_452_KEY_2
+ 2177105922
+ name 1_452_KEY_3
+ 2177105923
+ name 1_452_KEY_4
+ 2177105924
+ name 1_452_KEY_5
+ 2177105925
+ name 1_452_KEY_6
+ 2177105926
+ name 1_452_KEY_7
+ 2177105927
+ name 1_452_KEY_8
+ 2177105928
+ name 1_452_KEY_9
+ 2177105929
+ name 1_452_KEY_POWER
+ 2177105930
+ name 1_452_KEY_CH_UP
+ 2177105935
+ name 1_452_KEY_CH_DOWN
+ 2177105936
+ name 1_452_KEY_AV
+ 2177105961
+ name 1_453_KEY_0
+ 2177171456
+ name 1_453_KEY_1
+ 2177171457
+ name 1_453_KEY_2
+ 2177171458
+ name 1_453_KEY_3
+ 2177171459
+ name 1_453_KEY_4
+ 2177171460
+ name 1_453_KEY_5
+ 2177171461
+ name 1_453_KEY_6
+ 2177171462
+ name 1_453_KEY_7
+ 2177171463
+ name 1_453_KEY_8
+ 2177171464
+ name 1_453_KEY_9
+ 2177171465
+ name 1_453_KEY_POWER
+ 2177171466
+ name 1_453_KEY_CH_UP
+ 2177171471
+ name 1_453_KEY_CH_DOWN
+ 2177171472
+ name 1_453_KEY_Sleep
+ 2177171519
+ name 1_454_KEY_0
+ 2177236992
+ name 1_454_KEY_1
+ 2177236993
+ name 1_454_KEY_2
+ 2177236994
+ name 1_454_KEY_3
+ 2177236995
+ name 1_454_KEY_4
+ 2177236996
+ name 1_454_KEY_5
+ 2177236997
+ name 1_454_KEY_6
+ 2177236998
+ name 1_454_KEY_7
+ 2177236999
+ name 1_454_KEY_8
+ 2177237000
+ name 1_454_KEY_9
+ 2177237001
+ name 1_454_KEY_POWER
+ 2177237002
+ name 1_454_KEY_CH_UP
+ 2177237007
+ name 1_454_KEY_CH_DOWN
+ 2177237008
+ name 1_455_KEY_0
+ 2177302528
+ name 1_455_KEY_1
+ 2177302529
+ name 1_455_KEY_2
+ 2177302530
+ name 1_455_KEY_3
+ 2177302531
+ name 1_455_KEY_4
+ 2177302532
+ name 1_455_KEY_5
+ 2177302533
+ name 1_455_KEY_6
+ 2177302534
+ name 1_455_KEY_7
+ 2177302535
+ name 1_455_KEY_8
+ 2177302536
+ name 1_455_KEY_9
+ 2177302537
+ name 1_455_KEY_POWER
+ 2177302538
+ name 1_455_KEY_CH_UP
+ 2177302543
+ name 1_455_KEY_CH_DOWN
+ 2177302544
+ name 1_455_KEY_MUTE
+ 2177302545
+ name 1_455_KEY_VOL_DOWN
+ 2177302546
+ name 1_455_KEY_VOL_UP
+ 2177302548
+ name 1_456_KEY_0
+ 2177368064
+ name 1_456_KEY_1
+ 2177368065
+ name 1_456_KEY_2
+ 2177368066
+ name 1_456_KEY_3
+ 2177368067
+ name 1_456_KEY_4
+ 2177368068
+ name 1_456_KEY_5
+ 2177368069
+ name 1_456_KEY_6
+ 2177368070
+ name 1_456_KEY_7
+ 2177368071
+ name 1_456_KEY_8
+ 2177368072
+ name 1_456_KEY_9
+ 2177368073
+ name 1_456_KEY_POWER
+ 2177368074
+ name 1_456_KEY_CH_UP
+ 2177368079
+ name 1_456_KEY_CH_DOWN
+ 2177368080
+ name 1_456_CH_PREVIOUS
+ 2177368083
+ name 1_457_KEY_0
+ 2177433600
+ name 1_457_KEY_1
+ 2177433601
+ name 1_457_KEY_2
+ 2177433602
+ name 1_457_KEY_3
+ 2177433603
+ name 1_457_KEY_4
+ 2177433604
+ name 1_457_KEY_5
+ 2177433605
+ name 1_457_KEY_6
+ 2177433606
+ name 1_457_KEY_7
+ 2177433607
+ name 1_457_KEY_8
+ 2177433608
+ name 1_457_KEY_9
+ 2177433609
+ name 1_457_KEY_POWER
+ 2177433610
+ name 1_457_TWO_DIGITS
+ 2177433613
+ name 1_457_KEY_CH_UP
+ 2177433615
+ name 1_457_KEY_CH_DOWN
+ 2177433616
+ name 1_457_CH_PREVIOUS
+ 2177433619
+ name 1_457_KEY_AV
+ 2177433641
+ name 1_458_KEY_0
+ 2177499136
+ name 1_458_KEY_1
+ 2177499137
+ name 1_458_KEY_2
+ 2177499138
+ name 1_458_KEY_3
+ 2177499139
+ name 1_458_KEY_4
+ 2177499140
+ name 1_458_KEY_5
+ 2177499141
+ name 1_458_KEY_6
+ 2177499142
+ name 1_458_KEY_7
+ 2177499143
+ name 1_458_KEY_8
+ 2177499144
+ name 1_458_KEY_9
+ 2177499145
+ name 1_458_KEY_POWER
+ 2177499146
+ name 1_458_KEY_CH_UP
+ 2177499151
+ name 1_458_KEY_CH_DOWN
+ 2177499152
+ name 1_459_KEY_0
+ 2177564672
+ name 1_459_KEY_1
+ 2177564673
+ name 1_459_KEY_2
+ 2177564674
+ name 1_459_KEY_3
+ 2177564675
+ name 1_459_KEY_4
+ 2177564676
+ name 1_459_KEY_5
+ 2177564677
+ name 1_459_KEY_6
+ 2177564678
+ name 1_459_KEY_7
+ 2177564679
+ name 1_459_KEY_8
+ 2177564680
+ name 1_459_KEY_9
+ 2177564681
+ name 1_459_KEY_POWER
+ 2177564682
+ name 1_459_KEY_CH_UP
+ 2177564687
+ name 1_459_KEY_CH_DOWN
+ 2177564688
+ name 1_459_CH_PREVIOUS
+ 2177564691
+ name 1_459_KEY_Sleep
+ 2177564735
+ name 1_460_KEY_0
+ 2177630208
+ name 1_460_KEY_1
+ 2177630209
+ name 1_460_KEY_2
+ 2177630210
+ name 1_460_KEY_3
+ 2177630211
+ name 1_460_KEY_4
+ 2177630212
+ name 1_460_KEY_5
+ 2177630213
+ name 1_460_KEY_6
+ 2177630214
+ name 1_460_KEY_7
+ 2177630215
+ name 1_460_KEY_8
+ 2177630216
+ name 1_460_KEY_9
+ 2177630217
+ name 1_460_KEY_POWER
+ 2177630218
+ name 1_460_KEY_CH_UP
+ 2177630223
+ name 1_460_KEY_CH_DOWN
+ 2177630224
+ name 1_460_KEY_AV
+ 2177630249
+ name 1_461_KEY_0
+ 2177695744
+ name 1_461_KEY_1
+ 2177695745
+ name 1_461_KEY_2
+ 2177695746
+ name 1_461_KEY_3
+ 2177695747
+ name 1_461_KEY_4
+ 2177695748
+ name 1_461_KEY_5
+ 2177695749
+ name 1_461_KEY_6
+ 2177695750
+ name 1_461_KEY_7
+ 2177695751
+ name 1_461_KEY_8
+ 2177695752
+ name 1_461_KEY_9
+ 2177695753
+ name 1_461_KEY_POWER
+ 2177695754
+ name 1_461_KEY_CH_UP
+ 2177695759
+ name 1_461_KEY_CH_DOWN
+ 2177695760
+ name 1_461_KEY_AV
+ 2177695785
+ name 1_461_KEY_Sleep
+ 2177695807
+ name 1_462_KEY_0
+ 2177761280
+ name 1_462_KEY_1
+ 2177761281
+ name 1_462_KEY_2
+ 2177761282
+ name 1_462_KEY_3
+ 2177761283
+ name 1_462_KEY_4
+ 2177761284
+ name 1_462_KEY_5
+ 2177761285
+ name 1_462_KEY_6
+ 2177761286
+ name 1_462_KEY_7
+ 2177761287
+ name 1_462_KEY_8
+ 2177761288
+ name 1_462_KEY_9
+ 2177761289
+ name 1_462_KEY_POWER
+ 2177761290
+ name 1_462_KEY_CH_UP
+ 2177761295
+ name 1_462_KEY_CH_DOWN
+ 2177761296
+ name 1_462_CH_PREVIOUS
+ 2177761299
+ name 1_462_KEY_AV
+ 2177761321
+ name 1_463_KEY_0
+ 2177826816
+ name 1_463_KEY_1
+ 2177826817
+ name 1_463_KEY_2
+ 2177826818
+ name 1_463_KEY_3
+ 2177826819
+ name 1_463_KEY_4
+ 2177826820
+ name 1_463_KEY_5
+ 2177826821
+ name 1_463_KEY_6
+ 2177826822
+ name 1_463_KEY_7
+ 2177826823
+ name 1_463_KEY_8
+ 2177826824
+ name 1_463_KEY_9
+ 2177826825
+ name 1_463_KEY_POWER
+ 2177826826
+ name 1_463_KEY_CH_UP
+ 2177826831
+ name 1_463_KEY_CH_DOWN
+ 2177826832
+ name 1_463_KEY_AV
+ 2177826857
+ name 1_464_KEY_0
+ 2177892352
+ name 1_464_KEY_1
+ 2177892353
+ name 1_464_KEY_2
+ 2177892354
+ name 1_464_KEY_3
+ 2177892355
+ name 1_464_KEY_4
+ 2177892356
+ name 1_464_KEY_5
+ 2177892357
+ name 1_464_KEY_6
+ 2177892358
+ name 1_464_KEY_7
+ 2177892359
+ name 1_464_KEY_8
+ 2177892360
+ name 1_464_KEY_9
+ 2177892361
+ name 1_464_KEY_POWER
+ 2177892362
+ name 1_464_KEY_CH_UP
+ 2177892367
+ name 1_464_KEY_CH_DOWN
+ 2177892368
+ name 1_465_KEY_0
+ 2177957888
+ name 1_465_KEY_1
+ 2177957889
+ name 1_465_KEY_2
+ 2177957890
+ name 1_465_KEY_3
+ 2177957891
+ name 1_465_KEY_4
+ 2177957892
+ name 1_465_KEY_5
+ 2177957893
+ name 1_465_KEY_6
+ 2177957894
+ name 1_465_KEY_7
+ 2177957895
+ name 1_465_KEY_8
+ 2177957896
+ name 1_465_KEY_9
+ 2177957897
+ name 1_465_KEY_POWER
+ 2177957898
+ name 1_465_KEY_CH_UP
+ 2177957903
+ name 1_465_KEY_CH_DOWN
+ 2177957904
+ name 1_466_KEY_0
+ 2178023424
+ name 1_466_KEY_1
+ 2178023425
+ name 1_466_KEY_2
+ 2178023426
+ name 1_466_KEY_3
+ 2178023427
+ name 1_466_KEY_4
+ 2178023428
+ name 1_466_KEY_5
+ 2178023429
+ name 1_466_KEY_6
+ 2178023430
+ name 1_466_KEY_7
+ 2178023431
+ name 1_466_KEY_8
+ 2178023432
+ name 1_466_KEY_9
+ 2178023433
+ name 1_466_KEY_POWER
+ 2178023434
+ name 1_466_KEY_CH_UP
+ 2178023439
+ name 1_466_KEY_CH_DOWN
+ 2178023440
+ name 1_466_KEY_AV
+ 2178023465
+ name 1_466_KEY_Sleep
+ 2178023487
+ name 1_467_KEY_0
+ 2178088960
+ name 1_467_KEY_1
+ 2178088961
+ name 1_467_KEY_2
+ 2178088962
+ name 1_467_KEY_3
+ 2178088963
+ name 1_467_KEY_4
+ 2178088964
+ name 1_467_KEY_5
+ 2178088965
+ name 1_467_KEY_6
+ 2178088966
+ name 1_467_KEY_7
+ 2178088967
+ name 1_467_KEY_8
+ 2178088968
+ name 1_467_KEY_9
+ 2178088969
+ name 1_467_KEY_POWER
+ 2178088970
+ name 1_467_KEY_CH_UP
+ 2178088975
+ name 1_467_KEY_CH_DOWN
+ 2178088976
+ name 1_468_KEY_0
+ 2178154496
+ name 1_468_KEY_1
+ 2178154497
+ name 1_468_KEY_2
+ 2178154498
+ name 1_468_KEY_3
+ 2178154499
+ name 1_468_KEY_4
+ 2178154500
+ name 1_468_KEY_5
+ 2178154501
+ name 1_468_KEY_6
+ 2178154502
+ name 1_468_KEY_7
+ 2178154503
+ name 1_468_KEY_8
+ 2178154504
+ name 1_468_KEY_9
+ 2178154505
+ name 1_468_KEY_POWER
+ 2178154506
+ name 1_468_KEY_CH_UP
+ 2178154511
+ name 1_468_KEY_CH_DOWN
+ 2178154512
+ name 1_469_KEY_0
+ 2178220032
+ name 1_469_KEY_1
+ 2178220033
+ name 1_469_KEY_2
+ 2178220034
+ name 1_469_KEY_3
+ 2178220035
+ name 1_469_KEY_4
+ 2178220036
+ name 1_469_KEY_5
+ 2178220037
+ name 1_469_KEY_6
+ 2178220038
+ name 1_469_KEY_7
+ 2178220039
+ name 1_469_KEY_8
+ 2178220040
+ name 1_469_KEY_9
+ 2178220041
+ name 1_469_KEY_POWER
+ 2178220042
+ name 1_469_TWO_DIGITS
+ 2178220045
+ name 1_469_KEY_CH_UP
+ 2178220047
+ name 1_469_KEY_CH_DOWN
+ 2178220048
+ name 1_470_KEY_0
+ 2178285568
+ name 1_470_KEY_1
+ 2178285569
+ name 1_470_KEY_2
+ 2178285570
+ name 1_470_KEY_3
+ 2178285571
+ name 1_470_KEY_4
+ 2178285572
+ name 1_470_KEY_5
+ 2178285573
+ name 1_470_KEY_6
+ 2178285574
+ name 1_470_KEY_7
+ 2178285575
+ name 1_470_KEY_8
+ 2178285576
+ name 1_470_KEY_9
+ 2178285577
+ name 1_470_KEY_POWER
+ 2178285578
+ name 1_470_KEY_CH_UP
+ 2178285583
+ name 1_470_KEY_CH_DOWN
+ 2178285584
+ name 1_471_KEY_0
+ 2178351104
+ name 1_471_KEY_1
+ 2178351105
+ name 1_471_KEY_2
+ 2178351106
+ name 1_471_KEY_3
+ 2178351107
+ name 1_471_KEY_4
+ 2178351108
+ name 1_471_KEY_5
+ 2178351109
+ name 1_471_KEY_6
+ 2178351110
+ name 1_471_KEY_7
+ 2178351111
+ name 1_471_KEY_8
+ 2178351112
+ name 1_471_KEY_9
+ 2178351113
+ name 1_471_KEY_POWER
+ 2178351114
+ name 1_471_KEY_CH_UP
+ 2178351119
+ name 1_471_KEY_CH_DOWN
+ 2178351120
+ name 1_471_CH_PREVIOUS
+ 2178351123
+ name 1_471_KEY_AV
+ 2178351145
+ name 1_472_KEY_0
+ 2178416640
+ name 1_472_KEY_1
+ 2178416641
+ name 1_472_KEY_2
+ 2178416642
+ name 1_472_KEY_3
+ 2178416643
+ name 1_472_KEY_4
+ 2178416644
+ name 1_472_KEY_5
+ 2178416645
+ name 1_472_KEY_6
+ 2178416646
+ name 1_472_KEY_7
+ 2178416647
+ name 1_472_KEY_8
+ 2178416648
+ name 1_472_KEY_9
+ 2178416649
+ name 1_472_KEY_POWER
+ 2178416650
+ name 1_472_KEY_CH_UP
+ 2178416655
+ name 1_472_KEY_CH_DOWN
+ 2178416656
+ name 1_472_KEY_AV
+ 2178416681
+ name 1_473_KEY_0
+ 2178482176
+ name 1_473_KEY_1
+ 2178482177
+ name 1_473_KEY_2
+ 2178482178
+ name 1_473_KEY_3
+ 2178482179
+ name 1_473_KEY_4
+ 2178482180
+ name 1_473_KEY_5
+ 2178482181
+ name 1_473_KEY_6
+ 2178482182
+ name 1_473_KEY_7
+ 2178482183
+ name 1_473_KEY_8
+ 2178482184
+ name 1_473_KEY_9
+ 2178482185
+ name 1_473_KEY_POWER
+ 2178482186
+ name 1_473_KEY_CH_UP
+ 2178482191
+ name 1_473_KEY_CH_DOWN
+ 2178482192
+ name 1_473_KEY_AV
+ 2178482217
+ name 1_474_KEY_0
+ 2178547712
+ name 1_474_KEY_1
+ 2178547713
+ name 1_474_KEY_2
+ 2178547714
+ name 1_474_KEY_3
+ 2178547715
+ name 1_474_KEY_4
+ 2178547716
+ name 1_474_KEY_5
+ 2178547717
+ name 1_474_KEY_6
+ 2178547718
+ name 1_474_KEY_7
+ 2178547719
+ name 1_474_KEY_8
+ 2178547720
+ name 1_474_KEY_9
+ 2178547721
+ name 1_474_KEY_POWER
+ 2178547722
+ name 1_474_KEY_CH_UP
+ 2178547727
+ name 1_474_KEY_CH_DOWN
+ 2178547728
+ name 1_474_CH_PREVIOUS
+ 2178547731
+ name 1_474_KEY_AV
+ 2178547753
+ name 1_475_KEY_0
+ 2178613248
+ name 1_475_KEY_1
+ 2178613249
+ name 1_475_KEY_2
+ 2178613250
+ name 1_475_KEY_3
+ 2178613251
+ name 1_475_KEY_4
+ 2178613252
+ name 1_475_KEY_5
+ 2178613253
+ name 1_475_KEY_6
+ 2178613254
+ name 1_475_KEY_7
+ 2178613255
+ name 1_475_KEY_8
+ 2178613256
+ name 1_475_KEY_9
+ 2178613257
+ name 1_475_KEY_POWER
+ 2178613258
+ name 1_475_KEY_CH_UP
+ 2178613263
+ name 1_475_KEY_CH_DOWN
+ 2178613264
+ name 1_475_KEY_AV
+ 2178613289
+ name 1_476_KEY_0
+ 2178678784
+ name 1_476_KEY_1
+ 2178678785
+ name 1_476_KEY_2
+ 2178678786
+ name 1_476_KEY_3
+ 2178678787
+ name 1_476_KEY_4
+ 2178678788
+ name 1_476_KEY_5
+ 2178678789
+ name 1_476_KEY_6
+ 2178678790
+ name 1_476_KEY_7
+ 2178678791
+ name 1_476_KEY_8
+ 2178678792
+ name 1_476_KEY_9
+ 2178678793
+ name 1_476_KEY_POWER
+ 2178678794
+ name 1_476_TWO_DIGITS
+ 2178678797
+ name 1_476_KEY_CH_UP
+ 2178678799
+ name 1_476_KEY_CH_DOWN
+ 2178678800
+ name 1_476_KEY_AV
+ 2178678825
+ name 1_478_KEY_0
+ 2178809856
+ name 1_478_KEY_1
+ 2178809857
+ name 1_478_KEY_2
+ 2178809858
+ name 1_478_KEY_3
+ 2178809859
+ name 1_478_KEY_4
+ 2178809860
+ name 1_478_KEY_5
+ 2178809861
+ name 1_478_KEY_6
+ 2178809862
+ name 1_478_KEY_7
+ 2178809863
+ name 1_478_KEY_8
+ 2178809864
+ name 1_478_KEY_9
+ 2178809865
+ name 1_478_KEY_POWER
+ 2178809866
+ name 1_478_KEY_CH_UP
+ 2178809871
+ name 1_478_KEY_CH_DOWN
+ 2178809872
+ name 1_478_KEY_MUTE
+ 2178809873
+ name 1_478_KEY_VOL_DOWN
+ 2178809874
+ name 1_478_CH_PREVIOUS
+ 2178809875
+ name 1_478_KEY_VOL_UP
+ 2178809876
+ name 1_478_KEY_AV
+ 2178809897
+ name 1_478_KEY_MENU
+ 2178809903
+ name 1_478_KEY_MUP
+ 2178809904
+ name 1_478_KEY_MDOWN
+ 2178809905
+ name 1_478_KEY_MLEFT
+ 2178809906
+ name 1_478_KEY_MRIGHT
+ 2178809907
+ name 1_478_KEY_Sleep
+ 2178809919
+ name 1_479_KEY_0
+ 2178875392
+ name 1_479_KEY_1
+ 2178875393
+ name 1_479_KEY_2
+ 2178875394
+ name 1_479_KEY_3
+ 2178875395
+ name 1_479_KEY_4
+ 2178875396
+ name 1_479_KEY_5
+ 2178875397
+ name 1_479_KEY_6
+ 2178875398
+ name 1_479_KEY_7
+ 2178875399
+ name 1_479_KEY_8
+ 2178875400
+ name 1_479_KEY_9
+ 2178875401
+ name 1_479_KEY_POWER
+ 2178875402
+ name 1_479_KEY_CH_UP
+ 2178875407
+ name 1_479_KEY_CH_DOWN
+ 2178875408
+ name 1_479_KEY_MUTE
+ 2178875409
+ name 1_479_KEY_VOL_DOWN
+ 2178875410
+ name 1_479_KEY_VOL_UP
+ 2178875412
+ name 1_480_KEY_0
+ 2178940928
+ name 1_480_KEY_1
+ 2178940929
+ name 1_480_KEY_2
+ 2178940930
+ name 1_480_KEY_3
+ 2178940931
+ name 1_480_KEY_4
+ 2178940932
+ name 1_480_KEY_5
+ 2178940933
+ name 1_480_KEY_6
+ 2178940934
+ name 1_480_KEY_7
+ 2178940935
+ name 1_480_KEY_8
+ 2178940936
+ name 1_480_KEY_9
+ 2178940937
+ name 1_480_KEY_POWER
+ 2178940938
+ name 1_480_KEY_CH_UP
+ 2178940943
+ name 1_480_KEY_CH_DOWN
+ 2178940944
+ name 1_481_KEY_0
+ 2179006464
+ name 1_481_KEY_1
+ 2179006465
+ name 1_481_KEY_2
+ 2179006466
+ name 1_481_KEY_3
+ 2179006467
+ name 1_481_KEY_4
+ 2179006468
+ name 1_481_KEY_5
+ 2179006469
+ name 1_481_KEY_6
+ 2179006470
+ name 1_481_KEY_7
+ 2179006471
+ name 1_481_KEY_8
+ 2179006472
+ name 1_481_KEY_9
+ 2179006473
+ name 1_481_KEY_POWER
+ 2179006474
+ name 1_481_TWO_DIGITS
+ 2179006477
+ name 1_481_KEY_CH_UP
+ 2179006479
+ name 1_481_KEY_CH_DOWN
+ 2179006480
+ name 1_481_KEY_AV
+ 2179006505
+ name 1_482_KEY_0
+ 2179072000
+ name 1_482_KEY_1
+ 2179072001
+ name 1_482_KEY_2
+ 2179072002
+ name 1_482_KEY_3
+ 2179072003
+ name 1_482_KEY_4
+ 2179072004
+ name 1_482_KEY_5
+ 2179072005
+ name 1_482_KEY_6
+ 2179072006
+ name 1_482_KEY_7
+ 2179072007
+ name 1_482_KEY_8
+ 2179072008
+ name 1_482_KEY_9
+ 2179072009
+ name 1_482_KEY_POWER
+ 2179072010
+ name 1_482_KEY_CH_UP
+ 2179072015
+ name 1_482_KEY_CH_DOWN
+ 2179072016
+ name 1_482_CH_PREVIOUS
+ 2179072019
+ name 1_483_KEY_0
+ 2179137536
+ name 1_483_KEY_1
+ 2179137537
+ name 1_483_KEY_2
+ 2179137538
+ name 1_483_KEY_3
+ 2179137539
+ name 1_483_KEY_4
+ 2179137540
+ name 1_483_KEY_5
+ 2179137541
+ name 1_483_KEY_6
+ 2179137542
+ name 1_483_KEY_7
+ 2179137543
+ name 1_483_KEY_8
+ 2179137544
+ name 1_483_KEY_9
+ 2179137545
+ name 1_483_KEY_POWER
+ 2179137546
+ name 1_483_KEY_CH_UP
+ 2179137551
+ name 1_483_KEY_CH_DOWN
+ 2179137552
+ name 1_483_CH_PREVIOUS
+ 2179137555
+ name 1_484_KEY_0
+ 2179203072
+ name 1_484_KEY_1
+ 2179203073
+ name 1_484_KEY_2
+ 2179203074
+ name 1_484_KEY_3
+ 2179203075
+ name 1_484_KEY_4
+ 2179203076
+ name 1_484_KEY_5
+ 2179203077
+ name 1_484_KEY_6
+ 2179203078
+ name 1_484_KEY_7
+ 2179203079
+ name 1_484_KEY_8
+ 2179203080
+ name 1_484_KEY_9
+ 2179203081
+ name 1_484_KEY_POWER
+ 2179203082
+ name 1_484_KEY_CH_UP
+ 2179203087
+ name 1_484_KEY_CH_DOWN
+ 2179203088
+ name 1_485_KEY_0
+ 2179268608
+ name 1_485_KEY_1
+ 2179268609
+ name 1_485_KEY_2
+ 2179268610
+ name 1_485_KEY_3
+ 2179268611
+ name 1_485_KEY_4
+ 2179268612
+ name 1_485_KEY_5
+ 2179268613
+ name 1_485_KEY_6
+ 2179268614
+ name 1_485_KEY_7
+ 2179268615
+ name 1_485_KEY_8
+ 2179268616
+ name 1_485_KEY_9
+ 2179268617
+ name 1_485_KEY_POWER
+ 2179268618
+ name 1_485_KEY_CH_UP
+ 2179268623
+ name 1_485_KEY_CH_DOWN
+ 2179268624
+ name 1_485_CH_PREVIOUS
+ 2179268627
+ name 1_485_KEY_AV
+ 2179268649
+ name 1_486_KEY_0
+ 2179334144
+ name 1_486_KEY_1
+ 2179334145
+ name 1_486_KEY_2
+ 2179334146
+ name 1_486_KEY_3
+ 2179334147
+ name 1_486_KEY_4
+ 2179334148
+ name 1_486_KEY_5
+ 2179334149
+ name 1_486_KEY_6
+ 2179334150
+ name 1_486_KEY_7
+ 2179334151
+ name 1_486_KEY_8
+ 2179334152
+ name 1_486_KEY_9
+ 2179334153
+ name 1_486_KEY_POWER
+ 2179334154
+ name 1_486_KEY_CH_UP
+ 2179334159
+ name 1_486_KEY_CH_DOWN
+ 2179334160
+ name 1_487_KEY_0
+ 2179399680
+ name 1_487_KEY_1
+ 2179399681
+ name 1_487_KEY_2
+ 2179399682
+ name 1_487_KEY_3
+ 2179399683
+ name 1_487_KEY_4
+ 2179399684
+ name 1_487_KEY_5
+ 2179399685
+ name 1_487_KEY_6
+ 2179399686
+ name 1_487_KEY_7
+ 2179399687
+ name 1_487_KEY_8
+ 2179399688
+ name 1_487_KEY_9
+ 2179399689
+ name 1_487_KEY_POWER
+ 2179399690
+ name 1_487_KEY_CH_UP
+ 2179399695
+ name 1_487_KEY_CH_DOWN
+ 2179399696
+ name 1_487_CH_PREVIOUS
+ 2179399699
+ name 1_488_KEY_0
+ 2179465216
+ name 1_488_KEY_1
+ 2179465217
+ name 1_488_KEY_2
+ 2179465218
+ name 1_488_KEY_3
+ 2179465219
+ name 1_488_KEY_4
+ 2179465220
+ name 1_488_KEY_5
+ 2179465221
+ name 1_488_KEY_6
+ 2179465222
+ name 1_488_KEY_7
+ 2179465223
+ name 1_488_KEY_8
+ 2179465224
+ name 1_488_KEY_9
+ 2179465225
+ name 1_488_KEY_POWER
+ 2179465226
+ name 1_488_TWO_DIGITS
+ 2179465229
+ name 1_488_KEY_CH_UP
+ 2179465231
+ name 1_488_KEY_CH_DOWN
+ 2179465232
+ name 1_489_KEY_0
+ 2179530752
+ name 1_489_KEY_1
+ 2179530753
+ name 1_489_KEY_2
+ 2179530754
+ name 1_489_KEY_3
+ 2179530755
+ name 1_489_KEY_4
+ 2179530756
+ name 1_489_KEY_5
+ 2179530757
+ name 1_489_KEY_6
+ 2179530758
+ name 1_489_KEY_7
+ 2179530759
+ name 1_489_KEY_8
+ 2179530760
+ name 1_489_KEY_9
+ 2179530761
+ name 1_489_KEY_POWER
+ 2179530762
+ name 1_489_KEY_CH_UP
+ 2179530767
+ name 1_489_KEY_CH_DOWN
+ 2179530768
+ name 1_489_CH_PREVIOUS
+ 2179530771
+ name 1_490_KEY_0
+ 2179596288
+ name 1_490_KEY_1
+ 2179596289
+ name 1_490_KEY_2
+ 2179596290
+ name 1_490_KEY_3
+ 2179596291
+ name 1_490_KEY_4
+ 2179596292
+ name 1_490_KEY_5
+ 2179596293
+ name 1_490_KEY_6
+ 2179596294
+ name 1_490_KEY_7
+ 2179596295
+ name 1_490_KEY_8
+ 2179596296
+ name 1_490_KEY_9
+ 2179596297
+ name 1_490_KEY_POWER
+ 2179596298
+ name 1_490_KEY_CH_UP
+ 2179596303
+ name 1_490_KEY_CH_DOWN
+ 2179596304
+ name 1_490_KEY_MUTE
+ 2179596305
+ name 1_490_KEY_VOL_DOWN
+ 2179596306
+ name 1_490_CH_PREVIOUS
+ 2179596307
+ name 1_490_KEY_VOL_UP
+ 2179596308
+ name 1_490_KEY_AV
+ 2179596329
+ name 1_498_KEY_0
+ 2180120576
+ name 1_498_KEY_1
+ 2180120577
+ name 1_498_KEY_2
+ 2180120578
+ name 1_498_KEY_3
+ 2180120579
+ name 1_498_KEY_4
+ 2180120580
+ name 1_498_KEY_5
+ 2180120581
+ name 1_498_KEY_6
+ 2180120582
+ name 1_498_KEY_7
+ 2180120583
+ name 1_498_KEY_8
+ 2180120584
+ name 1_498_KEY_9
+ 2180120585
+ name 1_498_KEY_POWER
+ 2180120586
+ name 1_498_KEY_CH_UP
+ 2180120591
+ name 1_498_KEY_CH_DOWN
+ 2180120592
+ name 1_498_KEY_MUTE
+ 2180120593
+ name 1_498_KEY_VOL_DOWN
+ 2180120594
+ name 1_498_CH_PREVIOUS
+ 2180120595
+ name 1_498_KEY_VOL_UP
+ 2180120596
+ name 1_498_KEY_MNSELECT
+ 2180120599
+ name 1_498_KEY_EXIT
+ 2180120600
+ name 1_498_KEY_FAV
+ 2180120605
+ name 1_498_KEY_MUP
+ 2180120624
+ name 1_498_KEY_MDOWN
+ 2180120625
+ name 1_498_KEY_MLEFT
+ 2180120626
+ name 1_498_KEY_MRIGHT
+ 2180120627
+ name 1_499_KEY_0
+ 2180186112
+ name 1_499_KEY_1
+ 2180186113
+ name 1_499_KEY_2
+ 2180186114
+ name 1_499_KEY_3
+ 2180186115
+ name 1_499_KEY_4
+ 2180186116
+ name 1_499_KEY_5
+ 2180186117
+ name 1_499_KEY_6
+ 2180186118
+ name 1_499_KEY_7
+ 2180186119
+ name 1_499_KEY_8
+ 2180186120
+ name 1_499_KEY_9
+ 2180186121
+ name 1_499_KEY_POWER
+ 2180186122
+ name 1_499_KEY_CH_UP
+ 2180186127
+ name 1_499_KEY_CH_DOWN
+ 2180186128
+ name 1_499_KEY_MUTE
+ 2180186129
+ name 1_499_KEY_VOL_DOWN
+ 2180186130
+ name 1_499_CH_PREVIOUS
+ 2180186131
+ name 1_499_KEY_VOL_UP
+ 2180186132
+ name 1_499_KEY_MNSELECT
+ 2180186135
+ name 1_499_KEY_EXIT
+ 2180186136
+ name 1_499_KEY_GUIDE
+ 2180186139
+ name 1_499_KEY_MENU
+ 2180186159
+ name 1_499_KEY_MUP
+ 2180186160
+ name 1_499_KEY_MDOWN
+ 2180186161
+ name 1_499_KEY_MLEFT
+ 2180186162
+ name 1_499_KEY_MRIGHT
+ 2180186163
+ name 1_499_KEY_DSubtitle
+ 2180186180
+ name 1_500_KEY_0
+ 2180251648
+ name 1_500_KEY_1
+ 2180251649
+ name 1_500_KEY_2
+ 2180251650
+ name 1_500_KEY_3
+ 2180251651
+ name 1_500_KEY_4
+ 2180251652
+ name 1_500_KEY_5
+ 2180251653
+ name 1_500_KEY_6
+ 2180251654
+ name 1_500_KEY_7
+ 2180251655
+ name 1_500_KEY_8
+ 2180251656
+ name 1_500_KEY_9
+ 2180251657
+ name 1_500_KEY_POWER
+ 2180251658
+ name 1_500_KEY_CH_UP
+ 2180251663
+ name 1_500_KEY_CH_DOWN
+ 2180251664
+ name 1_500_KEY_MUTE
+ 2180251665
+ name 1_500_KEY_VOL_DOWN
+ 2180251666
+ name 1_500_KEY_VOL_UP
+ 2180251668
+ name 1_500_KEY_MNSELECT
+ 2180251671
+ name 1_500_KEY_EXIT
+ 2180251672
+ name 1_500_KEY_MENU
+ 2180251695
+ name 1_500_KEY_MUP
+ 2180251696
+ name 1_500_KEY_MDOWN
+ 2180251697
+ name 1_500_KEY_MLEFT
+ 2180251698
+ name 1_500_KEY_MRIGHT
+ 2180251699
+ name 1_500_KEY_Sleep
+ 2180251711
+ name 1_501_KEY_0
+ 2180317184
+ name 1_501_KEY_1
+ 2180317185
+ name 1_501_KEY_2
+ 2180317186
+ name 1_501_KEY_3
+ 2180317187
+ name 1_501_KEY_4
+ 2180317188
+ name 1_501_KEY_5
+ 2180317189
+ name 1_501_KEY_6
+ 2180317190
+ name 1_501_KEY_7
+ 2180317191
+ name 1_501_KEY_8
+ 2180317192
+ name 1_501_KEY_9
+ 2180317193
+ name 1_501_KEY_POWER
+ 2180317194
+ name 1_501_KEY_CH_UP
+ 2180317199
+ name 1_501_KEY_CH_DOWN
+ 2180317200
+ name 1_501_KEY_MUTE
+ 2180317201
+ name 1_501_KEY_VOL_DOWN
+ 2180317202
+ name 1_501_CH_PREVIOUS
+ 2180317203
+ name 1_501_KEY_VOL_UP
+ 2180317204
+ name 1_501_KEY_MNSELECT
+ 2180317207
+ name 1_501_KEY_EXIT
+ 2180317208
+ name 1_501_KEY_GUIDE
+ 2180317211
+ name 1_501_KEY_AV
+ 2180317225
+ name 1_501_KEY_MENU
+ 2180317231
+ name 1_501_KEY_MUP
+ 2180317232
+ name 1_501_KEY_MDOWN
+ 2180317233
+ name 1_501_KEY_MLEFT
+ 2180317234
+ name 1_501_KEY_MRIGHT
+ 2180317235
+ name 1_502_KEY_0
+ 2180382720
+ name 1_502_KEY_1
+ 2180382721
+ name 1_502_KEY_2
+ 2180382722
+ name 1_502_KEY_3
+ 2180382723
+ name 1_502_KEY_4
+ 2180382724
+ name 1_502_KEY_5
+ 2180382725
+ name 1_502_KEY_6
+ 2180382726
+ name 1_502_KEY_7
+ 2180382727
+ name 1_502_KEY_8
+ 2180382728
+ name 1_502_KEY_9
+ 2180382729
+ name 1_502_KEY_POWER
+ 2180382730
+ name 1_502_KEY_MUTE
+ 2180382737
+ name 1_502_CH_PREVIOUS
+ 2180382739
+ name 1_502_KEY_MNSELECT
+ 2180382743
+ name 1_502_KEY_EXIT
+ 2180382744
+ name 1_502_KEY_MENU
+ 2180382767
+ name 1_503_KEY_0
+ 2180448256
+ name 1_503_KEY_1
+ 2180448257
+ name 1_503_KEY_2
+ 2180448258
+ name 1_503_KEY_3
+ 2180448259
+ name 1_503_KEY_4
+ 2180448260
+ name 1_503_KEY_5
+ 2180448261
+ name 1_503_KEY_6
+ 2180448262
+ name 1_503_KEY_7
+ 2180448263
+ name 1_503_KEY_8
+ 2180448264
+ name 1_503_KEY_9
+ 2180448265
+ name 1_503_KEY_POWER
+ 2180448266
+ name 1_503_KEY_MUTE
+ 2180448273
+ name 1_503_CH_PREVIOUS
+ 2180448275
+ name 1_503_KEY_MNSELECT
+ 2180448279
+ name 1_503_KEY_GUIDE
+ 2180448283
+ name 1_503_KEY_MENU
+ 2180448303
+ name 1_504_KEY_0
+ 2180513792
+ name 1_504_KEY_1
+ 2180513793
+ name 1_504_KEY_2
+ 2180513794
+ name 1_504_KEY_3
+ 2180513795
+ name 1_504_KEY_4
+ 2180513796
+ name 1_504_KEY_5
+ 2180513797
+ name 1_504_KEY_6
+ 2180513798
+ name 1_504_KEY_7
+ 2180513799
+ name 1_504_KEY_8
+ 2180513800
+ name 1_504_KEY_9
+ 2180513801
+ name 1_504_KEY_POWER
+ 2180513802
+ name 1_504_KEY_MUTE
+ 2180513809
+ name 1_504_CH_PREVIOUS
+ 2180513811
+ name 1_504_KEY_MNSELECT
+ 2180513815
+ name 1_504_KEY_MENU
+ 2180513839
+ name 1_505_KEY_0
+ 2180579328
+ name 1_505_KEY_1
+ 2180579329
+ name 1_505_KEY_2
+ 2180579330
+ name 1_505_KEY_3
+ 2180579331
+ name 1_505_KEY_4
+ 2180579332
+ name 1_505_KEY_5
+ 2180579333
+ name 1_505_KEY_6
+ 2180579334
+ name 1_505_KEY_7
+ 2180579335
+ name 1_505_KEY_8
+ 2180579336
+ name 1_505_KEY_9
+ 2180579337
+ name 1_505_KEY_POWER
+ 2180579338
+ name 1_505_KEY_CH_UP
+ 2180579343
+ name 1_505_KEY_CH_DOWN
+ 2180579344
+ name 1_505_KEY_MUTE
+ 2180579345
+ name 1_505_KEY_VOL_DOWN
+ 2180579346
+ name 1_505_KEY_VOL_UP
+ 2180579348
+ name 1_505_KEY_MNSELECT
+ 2180579351
+ name 1_505_KEY_EXIT
+ 2180579352
+ name 1_505_KEY_GUIDE
+ 2180579355
+ name 1_505_KEY_AV
+ 2180579369
+ name 1_505_KEY_MENU
+ 2180579375
+ name 1_505_KEY_MUP
+ 2180579376
+ name 1_505_KEY_MDOWN
+ 2180579377
+ name 1_505_KEY_MLEFT
+ 2180579378
+ name 1_505_KEY_MRIGHT
+ 2180579379
+ name 1_505_KEY_TTOnOff
+ 2180579401
+ name 1_506_KEY_0
+ 2180644864
+ name 1_506_KEY_1
+ 2180644865
+ name 1_506_KEY_2
+ 2180644866
+ name 1_506_KEY_3
+ 2180644867
+ name 1_506_KEY_4
+ 2180644868
+ name 1_506_KEY_5
+ 2180644869
+ name 1_506_KEY_6
+ 2180644870
+ name 1_506_KEY_7
+ 2180644871
+ name 1_506_KEY_8
+ 2180644872
+ name 1_506_KEY_9
+ 2180644873
+ name 1_506_KEY_POWER
+ 2180644874
+ name 1_506_TWO_DIGITS
+ 2180644877
+ name 1_506_KEY_CH_UP
+ 2180644879
+ name 1_506_KEY_CH_DOWN
+ 2180644880
+ name 1_507_KEY_0
+ 2180710400
+ name 1_507_KEY_1
+ 2180710401
+ name 1_507_KEY_2
+ 2180710402
+ name 1_507_KEY_3
+ 2180710403
+ name 1_507_KEY_4
+ 2180710404
+ name 1_507_KEY_5
+ 2180710405
+ name 1_507_KEY_6
+ 2180710406
+ name 1_507_KEY_7
+ 2180710407
+ name 1_507_KEY_8
+ 2180710408
+ name 1_507_KEY_9
+ 2180710409
+ name 1_507_KEY_POWER
+ 2180710410
+ name 1_507_TWO_DIGITS
+ 2180710413
+ name 1_507_KEY_CH_UP
+ 2180710415
+ name 1_507_KEY_CH_DOWN
+ 2180710416
+ name 1_507_KEY_MUP
+ 2180710448
+ name 1_507_KEY_MDOWN
+ 2180710449
+ name 1_508_KEY_0
+ 2180775936
+ name 1_508_KEY_1
+ 2180775937
+ name 1_508_KEY_2
+ 2180775938
+ name 1_508_KEY_3
+ 2180775939
+ name 1_508_KEY_4
+ 2180775940
+ name 1_508_KEY_5
+ 2180775941
+ name 1_508_KEY_6
+ 2180775942
+ name 1_508_KEY_7
+ 2180775943
+ name 1_508_KEY_8
+ 2180775944
+ name 1_508_KEY_9
+ 2180775945
+ name 1_508_KEY_POWER
+ 2180775946
+ name 1_508_KEY_CH_UP
+ 2180775951
+ name 1_508_KEY_CH_DOWN
+ 2180775952
+ name 1_508_CH_PREVIOUS
+ 2180775955
+ name 1_509_KEY_0
+ 2180841472
+ name 1_509_KEY_1
+ 2180841473
+ name 1_509_KEY_2
+ 2180841474
+ name 1_509_KEY_3
+ 2180841475
+ name 1_509_KEY_4
+ 2180841476
+ name 1_509_KEY_5
+ 2180841477
+ name 1_509_KEY_6
+ 2180841478
+ name 1_509_KEY_7
+ 2180841479
+ name 1_509_KEY_8
+ 2180841480
+ name 1_509_KEY_9
+ 2180841481
+ name 1_509_KEY_POWER
+ 2180841482
+ name 1_509_KEY_CH_UP
+ 2180841487
+ name 1_509_KEY_CH_DOWN
+ 2180841488
+ name 1_509_KEY_MUP
+ 2180841520
+ name 1_509_KEY_MDOWN
+ 2180841521
+ name 1_510_KEY_0
+ 2180907008
+ name 1_510_KEY_1
+ 2180907009
+ name 1_510_KEY_2
+ 2180907010
+ name 1_510_KEY_3
+ 2180907011
+ name 1_510_KEY_4
+ 2180907012
+ name 1_510_KEY_5
+ 2180907013
+ name 1_510_KEY_6
+ 2180907014
+ name 1_510_KEY_7
+ 2180907015
+ name 1_510_KEY_8
+ 2180907016
+ name 1_510_KEY_9
+ 2180907017
+ name 1_510_KEY_POWER
+ 2180907018
+ name 1_510_KEY_CH_UP
+ 2180907023
+ name 1_510_KEY_CH_DOWN
+ 2180907024
+ name 1_510_KEY_MNSELECT
+ 2180907031
+ name 1_510_KEY_MENU
+ 2180907055
+ name 1_510_KEY_MUP
+ 2180907056
+ name 1_510_KEY_MDOWN
+ 2180907057
+ name 1_510_KEY_MLEFT
+ 2180907058
+ name 1_510_KEY_MRIGHT
+ 2180907059
+ name 1_511_KEY_0
+ 2180972544
+ name 1_511_KEY_1
+ 2180972545
+ name 1_511_KEY_2
+ 2180972546
+ name 1_511_KEY_3
+ 2180972547
+ name 1_511_KEY_4
+ 2180972548
+ name 1_511_KEY_5
+ 2180972549
+ name 1_511_KEY_6
+ 2180972550
+ name 1_511_KEY_7
+ 2180972551
+ name 1_511_KEY_8
+ 2180972552
+ name 1_511_KEY_9
+ 2180972553
+ name 1_511_KEY_POWER
+ 2180972554
+ name 1_511_KEY_CH_UP
+ 2180972559
+ name 1_511_KEY_CH_DOWN
+ 2180972560
+ name 1_511_KEY_MNSELECT
+ 2180972567
+ name 1_511_KEY_MENU
+ 2180972591
+ name 1_511_KEY_MUP
+ 2180972592
+ name 1_511_KEY_MDOWN
+ 2180972593
+ name 1_511_KEY_MLEFT
+ 2180972594
+ name 1_511_KEY_MRIGHT
+ 2180972595
+ name 1_512_KEY_0
+ 2181038080
+ name 1_512_KEY_1
+ 2181038081
+ name 1_512_KEY_2
+ 2181038082
+ name 1_512_KEY_3
+ 2181038083
+ name 1_512_KEY_4
+ 2181038084
+ name 1_512_KEY_5
+ 2181038085
+ name 1_512_KEY_6
+ 2181038086
+ name 1_512_KEY_7
+ 2181038087
+ name 1_512_KEY_8
+ 2181038088
+ name 1_512_KEY_9
+ 2181038089
+ name 1_512_KEY_POWER
+ 2181038090
+ name 1_512_TWO_DIGITS
+ 2181038093
+ name 1_512_KEY_CH_UP
+ 2181038095
+ name 1_512_KEY_CH_DOWN
+ 2181038096
+ name 1_512_KEY_MNSELECT
+ 2181038103
+ name 1_512_KEY_BLUE
+ 2181038115
+ name 1_512_KEY_GREEN
+ 2181038116
+ name 1_512_KEY_RED
+ 2181038117
+ name 1_512_KEY_YELLOW
+ 2181038118
+ name 1_512_KEY_MENU
+ 2181038127
+ name 1_512_KEY_MUP
+ 2181038128
+ name 1_512_KEY_MDOWN
+ 2181038129
+ name 1_512_KEY_MLEFT
+ 2181038130
+ name 1_512_KEY_MRIGHT
+ 2181038131
+ name 1_512_KEY_On
+ 2181038157
+ name 1_513_KEY_0
+ 2181103616
+ name 1_513_KEY_1
+ 2181103617
+ name 1_513_KEY_2
+ 2181103618
+ name 1_513_KEY_3
+ 2181103619
+ name 1_513_KEY_4
+ 2181103620
+ name 1_513_KEY_5
+ 2181103621
+ name 1_513_KEY_6
+ 2181103622
+ name 1_513_KEY_7
+ 2181103623
+ name 1_513_KEY_8
+ 2181103624
+ name 1_513_KEY_9
+ 2181103625
+ name 1_513_KEY_POWER
+ 2181103626
+ name 1_513_KEY_CH_UP
+ 2181103631
+ name 1_513_KEY_CH_DOWN
+ 2181103632
+ name 1_513_KEY_MNSELECT
+ 2181103639
+ name 1_513_KEY_MENU
+ 2181103663
+ name 1_514_KEY_0
+ 2181169152
+ name 1_514_KEY_1
+ 2181169153
+ name 1_514_KEY_2
+ 2181169154
+ name 1_514_KEY_3
+ 2181169155
+ name 1_514_KEY_4
+ 2181169156
+ name 1_514_KEY_5
+ 2181169157
+ name 1_514_KEY_6
+ 2181169158
+ name 1_514_KEY_7
+ 2181169159
+ name 1_514_KEY_8
+ 2181169160
+ name 1_514_KEY_9
+ 2181169161
+ name 1_514_KEY_POWER
+ 2181169162
+ name 1_514_TWO_DIGITS
+ 2181169165
+ name 1_514_KEY_CH_UP
+ 2181169167
+ name 1_514_KEY_CH_DOWN
+ 2181169168
+ name 1_514_CH_PREVIOUS
+ 2181169171
+ name 1_514_KEY_MNSELECT
+ 2181169175
+ name 1_514_KEY_MENU
+ 2181169199
+ name 1_514_KEY_MUP
+ 2181169200
+ name 1_514_KEY_MDOWN
+ 2181169201
+ name 1_514_KEY_MLEFT
+ 2181169202
+ name 1_514_KEY_MRIGHT
+ 2181169203
+ name 1_515_KEY_0
+ 2181234688
+ name 1_515_KEY_1
+ 2181234689
+ name 1_515_KEY_2
+ 2181234690
+ name 1_515_KEY_3
+ 2181234691
+ name 1_515_KEY_4
+ 2181234692
+ name 1_515_KEY_5
+ 2181234693
+ name 1_515_KEY_6
+ 2181234694
+ name 1_515_KEY_7
+ 2181234695
+ name 1_515_KEY_8
+ 2181234696
+ name 1_515_KEY_9
+ 2181234697
+ name 1_515_KEY_POWER
+ 2181234698
+ name 1_515_TWO_DIGITS
+ 2181234701
+ name 1_515_KEY_CH_UP
+ 2181234703
+ name 1_515_KEY_CH_DOWN
+ 2181234704
+ name 1_515_CH_PREVIOUS
+ 2181234707
+ name 1_515_KEY_MNSELECT
+ 2181234711
+ name 1_515_KEY_MENU
+ 2181234735
+ name 1_515_KEY_MUP
+ 2181234736
+ name 1_515_KEY_MDOWN
+ 2181234737
+ name 1_515_KEY_MLEFT
+ 2181234738
+ name 1_515_KEY_MRIGHT
+ 2181234739
+ name 1_516_KEY_0
+ 2181300224
+ name 1_516_KEY_1
+ 2181300225
+ name 1_516_KEY_2
+ 2181300226
+ name 1_516_KEY_3
+ 2181300227
+ name 1_516_KEY_4
+ 2181300228
+ name 1_516_KEY_5
+ 2181300229
+ name 1_516_KEY_6
+ 2181300230
+ name 1_516_KEY_7
+ 2181300231
+ name 1_516_KEY_8
+ 2181300232
+ name 1_516_KEY_9
+ 2181300233
+ name 1_516_KEY_POWER
+ 2181300234
+ name 1_516_KEY_CH_UP
+ 2181300239
+ name 1_516_KEY_CH_DOWN
+ 2181300240
+ name 1_516_KEY_MNSELECT
+ 2181300247
+ name 1_516_KEY_GUIDE
+ 2181300251
+ name 1_516_KEY_BLUE
+ 2181300259
+ name 1_516_KEY_GREEN
+ 2181300260
+ name 1_516_KEY_RED
+ 2181300261
+ name 1_516_KEY_YELLOW
+ 2181300262
+ name 1_516_KEY_MENU
+ 2181300271
+ name 1_516_KEY_MUP
+ 2181300272
+ name 1_516_KEY_MDOWN
+ 2181300273
+ name 1_516_KEY_MLEFT
+ 2181300274
+ name 1_516_KEY_MRIGHT
+ 2181300275
+ name 1_517_KEY_0
+ 2181365760
+ name 1_517_KEY_1
+ 2181365761
+ name 1_517_KEY_2
+ 2181365762
+ name 1_517_KEY_3
+ 2181365763
+ name 1_517_KEY_4
+ 2181365764
+ name 1_517_KEY_5
+ 2181365765
+ name 1_517_KEY_6
+ 2181365766
+ name 1_517_KEY_7
+ 2181365767
+ name 1_517_KEY_8
+ 2181365768
+ name 1_517_KEY_9
+ 2181365769
+ name 1_517_KEY_POWER
+ 2181365770
+ name 1_517_KEY_CH_UP
+ 2181365775
+ name 1_517_KEY_CH_DOWN
+ 2181365776
+ name 1_517_KEY_MNSELECT
+ 2181365783
+ name 1_517_KEY_GUIDE
+ 2181365787
+ name 1_517_KEY_BLUE
+ 2181365795
+ name 1_517_KEY_GREEN
+ 2181365796
+ name 1_517_KEY_RED
+ 2181365797
+ name 1_517_KEY_YELLOW
+ 2181365798
+ name 1_517_KEY_MENU
+ 2181365807
+ name 1_517_KEY_MUP
+ 2181365808
+ name 1_517_KEY_MDOWN
+ 2181365809
+ name 1_517_KEY_MLEFT
+ 2181365810
+ name 1_517_KEY_MRIGHT
+ 2181365811
+ name 1_518_KEY_0
+ 2181431296
+ name 1_518_KEY_1
+ 2181431297
+ name 1_518_KEY_2
+ 2181431298
+ name 1_518_KEY_3
+ 2181431299
+ name 1_518_KEY_4
+ 2181431300
+ name 1_518_KEY_5
+ 2181431301
+ name 1_518_KEY_6
+ 2181431302
+ name 1_518_KEY_7
+ 2181431303
+ name 1_518_KEY_8
+ 2181431304
+ name 1_518_KEY_9
+ 2181431305
+ name 1_518_KEY_POWER
+ 2181431306
+ name 1_518_KEY_CH_UP
+ 2181431311
+ name 1_518_KEY_CH_DOWN
+ 2181431312
+ name 1_518_CH_PREVIOUS
+ 2181431315
+ name 1_519_KEY_0
+ 2181496832
+ name 1_519_KEY_1
+ 2181496833
+ name 1_519_KEY_2
+ 2181496834
+ name 1_519_KEY_3
+ 2181496835
+ name 1_519_KEY_4
+ 2181496836
+ name 1_519_KEY_5
+ 2181496837
+ name 1_519_KEY_6
+ 2181496838
+ name 1_519_KEY_7
+ 2181496839
+ name 1_519_KEY_8
+ 2181496840
+ name 1_519_KEY_9
+ 2181496841
+ name 1_519_KEY_POWER
+ 2181496842
+ name 1_519_KEY_CH_UP
+ 2181496847
+ name 1_519_KEY_CH_DOWN
+ 2181496848
+ name 1_519_CH_PREVIOUS
+ 2181496851
+ name 1_519_KEY_MNSELECT
+ 2181496855
+ name 1_519_KEY_GUIDE
+ 2181496859
+ name 1_519_KEY_MENU
+ 2181496879
+ name 1_519_KEY_MUP
+ 2181496880
+ name 1_519_KEY_MDOWN
+ 2181496881
+ name 1_519_KEY_MLEFT
+ 2181496882
+ name 1_519_KEY_MRIGHT
+ 2181496883
+ name 1_520_KEY_0
+ 2181562368
+ name 1_520_KEY_1
+ 2181562369
+ name 1_520_KEY_2
+ 2181562370
+ name 1_520_KEY_3
+ 2181562371
+ name 1_520_KEY_4
+ 2181562372
+ name 1_520_KEY_5
+ 2181562373
+ name 1_520_KEY_6
+ 2181562374
+ name 1_520_KEY_7
+ 2181562375
+ name 1_520_KEY_8
+ 2181562376
+ name 1_520_KEY_9
+ 2181562377
+ name 1_520_KEY_POWER
+ 2181562378
+ name 1_520_KEY_CH_UP
+ 2181562383
+ name 1_520_KEY_CH_DOWN
+ 2181562384
+ name 1_520_CH_PREVIOUS
+ 2181562387
+ name 1_520_KEY_MNSELECT
+ 2181562391
+ name 1_520_KEY_GUIDE
+ 2181562395
+ name 1_520_KEY_BLUE
+ 2181562403
+ name 1_520_KEY_GREEN
+ 2181562404
+ name 1_520_KEY_RED
+ 2181562405
+ name 1_520_KEY_YELLOW
+ 2181562406
+ name 1_520_KEY_MENU
+ 2181562415
+ name 1_520_KEY_MUP
+ 2181562416
+ name 1_520_KEY_MDOWN
+ 2181562417
+ name 1_520_KEY_MLEFT
+ 2181562418
+ name 1_520_KEY_MRIGHT
+ 2181562419
+ name 1_520_KEY_On
+ 2181562445
+ name 1_521_KEY_0
+ 2181627904
+ name 1_521_KEY_1
+ 2181627905
+ name 1_521_KEY_2
+ 2181627906
+ name 1_521_KEY_3
+ 2181627907
+ name 1_521_KEY_4
+ 2181627908
+ name 1_521_KEY_5
+ 2181627909
+ name 1_521_KEY_6
+ 2181627910
+ name 1_521_KEY_7
+ 2181627911
+ name 1_521_KEY_8
+ 2181627912
+ name 1_521_KEY_9
+ 2181627913
+ name 1_521_KEY_POWER
+ 2181627914
+ name 1_521_KEY_CH_UP
+ 2181627919
+ name 1_521_KEY_CH_DOWN
+ 2181627920
+ name 1_521_CH_PREVIOUS
+ 2181627923
+ name 1_521_KEY_MNSELECT
+ 2181627927
+ name 1_521_KEY_GUIDE
+ 2181627931
+ name 1_521_KEY_MENU
+ 2181627951
+ name 1_521_KEY_MUP
+ 2181627952
+ name 1_521_KEY_MDOWN
+ 2181627953
+ name 1_521_KEY_MLEFT
+ 2181627954
+ name 1_521_KEY_MRIGHT
+ 2181627955
+ name 1_522_KEY_0
+ 2181693440
+ name 1_522_KEY_1
+ 2181693441
+ name 1_522_KEY_2
+ 2181693442
+ name 1_522_KEY_3
+ 2181693443
+ name 1_522_KEY_4
+ 2181693444
+ name 1_522_KEY_5
+ 2181693445
+ name 1_522_KEY_6
+ 2181693446
+ name 1_522_KEY_7
+ 2181693447
+ name 1_522_KEY_8
+ 2181693448
+ name 1_522_KEY_9
+ 2181693449
+ name 1_522_KEY_POWER
+ 2181693450
+ name 1_522_KEY_CH_UP
+ 2181693455
+ name 1_522_KEY_CH_DOWN
+ 2181693456
+ name 1_522_CH_PREVIOUS
+ 2181693459
+ name 1_522_KEY_MNSELECT
+ 2181693463
+ name 1_522_KEY_GUIDE
+ 2181693467
+ name 1_522_KEY_BLUE
+ 2181693475
+ name 1_522_KEY_GREEN
+ 2181693476
+ name 1_522_KEY_RED
+ 2181693477
+ name 1_522_KEY_YELLOW
+ 2181693478
+ name 1_522_KEY_MENU
+ 2181693487
+ name 1_522_KEY_MUP
+ 2181693488
+ name 1_522_KEY_MDOWN
+ 2181693489
+ name 1_522_KEY_MLEFT
+ 2181693490
+ name 1_522_KEY_MRIGHT
+ 2181693491
+ name 1_523_KEY_0
+ 2181758976
+ name 1_523_KEY_1
+ 2181758977
+ name 1_523_KEY_2
+ 2181758978
+ name 1_523_KEY_3
+ 2181758979
+ name 1_523_KEY_4
+ 2181758980
+ name 1_523_KEY_5
+ 2181758981
+ name 1_523_KEY_6
+ 2181758982
+ name 1_523_KEY_7
+ 2181758983
+ name 1_523_KEY_8
+ 2181758984
+ name 1_523_KEY_9
+ 2181758985
+ name 1_523_KEY_POWER
+ 2181758986
+ name 1_523_KEY_CH_UP
+ 2181758991
+ name 1_523_KEY_CH_DOWN
+ 2181758992
+ name 1_523_KEY_MUTE
+ 2181758993
+ name 1_523_KEY_VOL_DOWN
+ 2181758994
+ name 1_523_KEY_VOL_UP
+ 2181758996
+ name 1_523_KEY_MNSELECT
+ 2181758999
+ name 1_523_KEY_EXIT
+ 2181759000
+ name 1_523_KEY_AV
+ 2181759017
+ name 1_523_KEY_MENU
+ 2181759023
+ name 1_523_KEY_MUP
+ 2181759024
+ name 1_523_KEY_MDOWN
+ 2181759025
+ name 1_523_KEY_MLEFT
+ 2181759026
+ name 1_523_KEY_MRIGHT
+ 2181759027
+ name 1_524_KEY_0
+ 2181824512
+ name 1_524_KEY_1
+ 2181824513
+ name 1_524_KEY_2
+ 2181824514
+ name 1_524_KEY_3
+ 2181824515
+ name 1_524_KEY_4
+ 2181824516
+ name 1_524_KEY_5
+ 2181824517
+ name 1_524_KEY_6
+ 2181824518
+ name 1_524_KEY_7
+ 2181824519
+ name 1_524_KEY_8
+ 2181824520
+ name 1_524_KEY_9
+ 2181824521
+ name 1_524_KEY_POWER
+ 2181824522
+ name 1_524_KEY_CH_UP
+ 2181824527
+ name 1_524_KEY_CH_DOWN
+ 2181824528
+ name 1_524_KEY_MUTE
+ 2181824529
+ name 1_524_KEY_VOL_DOWN
+ 2181824530
+ name 1_524_KEY_VOL_UP
+ 2181824532
+ name 1_524_KEY_MNSELECT
+ 2181824535
+ name 1_524_KEY_EXIT
+ 2181824536
+ name 1_524_KEY_AV
+ 2181824553
+ name 1_524_KEY_MENU
+ 2181824559
+ name 1_524_KEY_MUP
+ 2181824560
+ name 1_524_KEY_MDOWN
+ 2181824561
+ name 1_524_KEY_MLEFT
+ 2181824562
+ name 1_524_KEY_MRIGHT
+ 2181824563
+ name 1_525_KEY_0
+ 2181890048
+ name 1_525_KEY_1
+ 2181890049
+ name 1_525_KEY_2
+ 2181890050
+ name 1_525_KEY_3
+ 2181890051
+ name 1_525_KEY_4
+ 2181890052
+ name 1_525_KEY_5
+ 2181890053
+ name 1_525_KEY_6
+ 2181890054
+ name 1_525_KEY_7
+ 2181890055
+ name 1_525_KEY_8
+ 2181890056
+ name 1_525_KEY_9
+ 2181890057
+ name 1_525_KEY_POWER
+ 2181890058
+ name 1_525_KEY_CH_UP
+ 2181890063
+ name 1_525_KEY_CH_DOWN
+ 2181890064
+ name 1_525_KEY_MUTE
+ 2181890065
+ name 1_525_KEY_MNSELECT
+ 2181890071
+ name 1_525_KEY_EXIT
+ 2181890072
+ name 1_525_KEY_MENU
+ 2181890095
+ name 1_525_KEY_MUP
+ 2181890096
+ name 1_525_KEY_MDOWN
+ 2181890097
+ name 1_526_KEY_0
+ 2181955584
+ name 1_526_KEY_1
+ 2181955585
+ name 1_526_KEY_2
+ 2181955586
+ name 1_526_KEY_3
+ 2181955587
+ name 1_526_KEY_4
+ 2181955588
+ name 1_526_KEY_5
+ 2181955589
+ name 1_526_KEY_6
+ 2181955590
+ name 1_526_KEY_7
+ 2181955591
+ name 1_526_KEY_8
+ 2181955592
+ name 1_526_KEY_9
+ 2181955593
+ name 1_526_KEY_POWER
+ 2181955594
+ name 1_526_KEY_CH_UP
+ 2181955599
+ name 1_526_KEY_CH_DOWN
+ 2181955600
+ name 1_526_KEY_MUTE
+ 2181955601
+ name 1_526_KEY_VOL_DOWN
+ 2181955602
+ name 1_526_KEY_VOL_UP
+ 2181955604
+ name 1_526_KEY_MNSELECT
+ 2181955607
+ name 1_526_KEY_EXIT
+ 2181955608
+ name 1_526_KEY_AV
+ 2181955625
+ name 1_526_KEY_MENU
+ 2181955631
+ name 1_526_KEY_MUP
+ 2181955632
+ name 1_526_KEY_MDOWN
+ 2181955633
+ name 1_526_KEY_MLEFT
+ 2181955634
+ name 1_526_KEY_MRIGHT
+ 2181955635
+ name 1_527_KEY_0
+ 2182021120
+ name 1_527_KEY_1
+ 2182021121
+ name 1_527_KEY_2
+ 2182021122
+ name 1_527_KEY_3
+ 2182021123
+ name 1_527_KEY_4
+ 2182021124
+ name 1_527_KEY_5
+ 2182021125
+ name 1_527_KEY_6
+ 2182021126
+ name 1_527_KEY_7
+ 2182021127
+ name 1_527_KEY_8
+ 2182021128
+ name 1_527_KEY_9
+ 2182021129
+ name 1_527_KEY_POWER
+ 2182021130
+ name 1_527_KEY_CH_UP
+ 2182021135
+ name 1_527_KEY_CH_DOWN
+ 2182021136
+ name 1_527_KEY_MUTE
+ 2182021137
+ name 1_527_KEY_VOL_DOWN
+ 2182021138
+ name 1_527_KEY_VOL_UP
+ 2182021140
+ name 1_527_KEY_MNSELECT
+ 2182021143
+ name 1_527_KEY_EXIT
+ 2182021144
+ name 1_527_KEY_AV
+ 2182021161
+ name 1_527_KEY_MENU
+ 2182021167
+ name 1_527_KEY_MUP
+ 2182021168
+ name 1_527_KEY_MDOWN
+ 2182021169
+ name 1_527_KEY_MLEFT
+ 2182021170
+ name 1_527_KEY_MRIGHT
+ 2182021171
+ name 1_528_KEY_0
+ 2182086656
+ name 1_528_KEY_1
+ 2182086657
+ name 1_528_KEY_2
+ 2182086658
+ name 1_528_KEY_3
+ 2182086659
+ name 1_528_KEY_4
+ 2182086660
+ name 1_528_KEY_5
+ 2182086661
+ name 1_528_KEY_6
+ 2182086662
+ name 1_528_KEY_7
+ 2182086663
+ name 1_528_KEY_8
+ 2182086664
+ name 1_528_KEY_9
+ 2182086665
+ name 1_528_KEY_POWER
+ 2182086666
+ name 1_528_KEY_CH_UP
+ 2182086671
+ name 1_528_KEY_CH_DOWN
+ 2182086672
+ name 1_528_KEY_MUTE
+ 2182086673
+ name 1_528_KEY_MNSELECT
+ 2182086679
+ name 1_528_KEY_EXIT
+ 2182086680
+ name 1_528_KEY_AV
+ 2182086697
+ name 1_528_KEY_MENU
+ 2182086703
+ name 1_528_KEY_MUP
+ 2182086704
+ name 1_528_KEY_MDOWN
+ 2182086705
+ name 1_528_KEY_MLEFT
+ 2182086706
+ name 1_528_KEY_MRIGHT
+ 2182086707
+ name 1_529_KEY_0
+ 2182152192
+ name 1_529_KEY_1
+ 2182152193
+ name 1_529_KEY_2
+ 2182152194
+ name 1_529_KEY_3
+ 2182152195
+ name 1_529_KEY_4
+ 2182152196
+ name 1_529_KEY_5
+ 2182152197
+ name 1_529_KEY_6
+ 2182152198
+ name 1_529_KEY_7
+ 2182152199
+ name 1_529_KEY_8
+ 2182152200
+ name 1_529_KEY_9
+ 2182152201
+ name 1_529_KEY_POWER
+ 2182152202
+ name 1_529_KEY_CH_UP
+ 2182152207
+ name 1_529_KEY_CH_DOWN
+ 2182152208
+ name 1_529_KEY_MUTE
+ 2182152209
+ name 1_529_KEY_VOL_DOWN
+ 2182152210
+ name 1_529_KEY_VOL_UP
+ 2182152212
+ name 1_529_KEY_MNSELECT
+ 2182152215
+ name 1_529_KEY_EXIT
+ 2182152216
+ name 1_529_KEY_AV
+ 2182152233
+ name 1_529_KEY_MENU
+ 2182152239
+ name 1_529_KEY_MUP
+ 2182152240
+ name 1_529_KEY_MDOWN
+ 2182152241
+ name 1_529_KEY_MLEFT
+ 2182152242
+ name 1_529_KEY_MRIGHT
+ 2182152243
+ name 1_530_KEY_0
+ 2182217728
+ name 1_530_KEY_1
+ 2182217729
+ name 1_530_KEY_2
+ 2182217730
+ name 1_530_KEY_3
+ 2182217731
+ name 1_530_KEY_4
+ 2182217732
+ name 1_530_KEY_5
+ 2182217733
+ name 1_530_KEY_6
+ 2182217734
+ name 1_530_KEY_7
+ 2182217735
+ name 1_530_KEY_8
+ 2182217736
+ name 1_530_KEY_9
+ 2182217737
+ name 1_530_KEY_POWER
+ 2182217738
+ name 1_530_KEY_CH_UP
+ 2182217743
+ name 1_530_KEY_CH_DOWN
+ 2182217744
+ name 1_530_KEY_MUTE
+ 2182217745
+ name 1_530_KEY_MNSELECT
+ 2182217751
+ name 1_530_KEY_AV
+ 2182217769
+ name 1_530_KEY_MUP
+ 2182217776
+ name 1_530_KEY_MDOWN
+ 2182217777
+ name 1_530_KEY_MLEFT
+ 2182217778
+ name 1_530_KEY_MRIGHT
+ 2182217779
+ name 1_531_KEY_0
+ 2182283264
+ name 1_531_KEY_1
+ 2182283265
+ name 1_531_KEY_2
+ 2182283266
+ name 1_531_KEY_3
+ 2182283267
+ name 1_531_KEY_4
+ 2182283268
+ name 1_531_KEY_5
+ 2182283269
+ name 1_531_KEY_6
+ 2182283270
+ name 1_531_KEY_7
+ 2182283271
+ name 1_531_KEY_8
+ 2182283272
+ name 1_531_KEY_9
+ 2182283273
+ name 1_531_KEY_POWER
+ 2182283274
+ name 1_531_KEY_CH_UP
+ 2182283279
+ name 1_531_KEY_CH_DOWN
+ 2182283280
+ name 1_531_KEY_MUTE
+ 2182283281
+ name 1_531_KEY_VOL_DOWN
+ 2182283282
+ name 1_531_KEY_VOL_UP
+ 2182283284
+ name 1_531_KEY_MNSELECT
+ 2182283287
+ name 1_531_KEY_EXIT
+ 2182283288
+ name 1_531_KEY_AV
+ 2182283305
+ name 1_531_KEY_MENU
+ 2182283311
+ name 1_531_KEY_MUP
+ 2182283312
+ name 1_531_KEY_MDOWN
+ 2182283313
+ name 1_531_KEY_MLEFT
+ 2182283314
+ name 1_531_KEY_MRIGHT
+ 2182283315
+ name 1_532_KEY_0
+ 2182348800
+ name 1_532_KEY_1
+ 2182348801
+ name 1_532_KEY_2
+ 2182348802
+ name 1_532_KEY_3
+ 2182348803
+ name 1_532_KEY_4
+ 2182348804
+ name 1_532_KEY_5
+ 2182348805
+ name 1_532_KEY_6
+ 2182348806
+ name 1_532_KEY_7
+ 2182348807
+ name 1_532_KEY_8
+ 2182348808
+ name 1_532_KEY_9
+ 2182348809
+ name 1_532_KEY_POWER
+ 2182348810
+ name 1_532_KEY_CH_UP
+ 2182348815
+ name 1_532_KEY_CH_DOWN
+ 2182348816
+ name 1_532_KEY_MUTE
+ 2182348817
+ name 1_532_KEY_MNSELECT
+ 2182348823
+ name 1_532_KEY_EXIT
+ 2182348824
+ name 1_532_KEY_AV
+ 2182348841
+ name 1_532_KEY_MENU
+ 2182348847
+ name 1_532_KEY_MUP
+ 2182348848
+ name 1_532_KEY_MDOWN
+ 2182348849
+ name 1_533_KEY_0
+ 2182414336
+ name 1_533_KEY_1
+ 2182414337
+ name 1_533_KEY_2
+ 2182414338
+ name 1_533_KEY_3
+ 2182414339
+ name 1_533_KEY_4
+ 2182414340
+ name 1_533_KEY_5
+ 2182414341
+ name 1_533_KEY_6
+ 2182414342
+ name 1_533_KEY_7
+ 2182414343
+ name 1_533_KEY_8
+ 2182414344
+ name 1_533_KEY_9
+ 2182414345
+ name 1_533_KEY_POWER
+ 2182414346
+ name 1_533_KEY_CH_UP
+ 2182414351
+ name 1_533_KEY_CH_DOWN
+ 2182414352
+ name 1_533_KEY_EXIT
+ 2182414360
+ name 1_533_KEY_AV
+ 2182414377
+ name 1_533_KEY_MENU
+ 2182414383
+ name 1_533_KEY_MUP
+ 2182414384
+ name 1_533_KEY_MDOWN
+ 2182414385
+ name 1_533_KEY_MLEFT
+ 2182414386
+ name 1_533_KEY_MRIGHT
+ 2182414387
+ name 1_534_KEY_0
+ 2182479872
+ name 1_534_KEY_1
+ 2182479873
+ name 1_534_KEY_2
+ 2182479874
+ name 1_534_KEY_3
+ 2182479875
+ name 1_534_KEY_4
+ 2182479876
+ name 1_534_KEY_5
+ 2182479877
+ name 1_534_KEY_6
+ 2182479878
+ name 1_534_KEY_7
+ 2182479879
+ name 1_534_KEY_8
+ 2182479880
+ name 1_534_KEY_9
+ 2182479881
+ name 1_534_KEY_POWER
+ 2182479882
+ name 1_534_KEY_CH_UP
+ 2182479887
+ name 1_534_KEY_CH_DOWN
+ 2182479888
+ name 1_534_KEY_EXIT
+ 2182479896
+ name 1_534_KEY_AV
+ 2182479913
+ name 1_534_KEY_MENU
+ 2182479919
+ name 1_535_KEY_0
+ 2182545408
+ name 1_535_KEY_1
+ 2182545409
+ name 1_535_KEY_2
+ 2182545410
+ name 1_535_KEY_3
+ 2182545411
+ name 1_535_KEY_4
+ 2182545412
+ name 1_535_KEY_5
+ 2182545413
+ name 1_535_KEY_6
+ 2182545414
+ name 1_535_KEY_7
+ 2182545415
+ name 1_535_KEY_8
+ 2182545416
+ name 1_535_KEY_9
+ 2182545417
+ name 1_535_KEY_POWER
+ 2182545418
+ name 1_535_KEY_CH_UP
+ 2182545423
+ name 1_535_KEY_CH_DOWN
+ 2182545424
+ name 1_535_KEY_MUTE
+ 2182545425
+ name 1_535_KEY_MNSELECT
+ 2182545431
+ name 1_535_KEY_AV
+ 2182545449
+ name 1_535_KEY_MUP
+ 2182545456
+ name 1_535_KEY_MDOWN
+ 2182545457
+ name 1_536_KEY_0
+ 2182610944
+ name 1_536_KEY_1
+ 2182610945
+ name 1_536_KEY_2
+ 2182610946
+ name 1_536_KEY_3
+ 2182610947
+ name 1_536_KEY_4
+ 2182610948
+ name 1_536_KEY_5
+ 2182610949
+ name 1_536_KEY_6
+ 2182610950
+ name 1_536_KEY_7
+ 2182610951
+ name 1_536_KEY_8
+ 2182610952
+ name 1_536_KEY_9
+ 2182610953
+ name 1_536_KEY_POWER
+ 2182610954
+ name 1_536_KEY_CH_UP
+ 2182610959
+ name 1_536_KEY_CH_DOWN
+ 2182610960
+ name 1_536_KEY_MUTE
+ 2182610961
+ name 1_536_KEY_MNSELECT
+ 2182610967
+ name 1_536_KEY_AV
+ 2182610985
+ name 1_536_KEY_MUP
+ 2182610992
+ name 1_536_KEY_MDOWN
+ 2182610993
+ name 1_537_KEY_0
+ 2182676480
+ name 1_537_KEY_1
+ 2182676481
+ name 1_537_KEY_2
+ 2182676482
+ name 1_537_KEY_3
+ 2182676483
+ name 1_537_KEY_4
+ 2182676484
+ name 1_537_KEY_5
+ 2182676485
+ name 1_537_KEY_6
+ 2182676486
+ name 1_537_KEY_7
+ 2182676487
+ name 1_537_KEY_8
+ 2182676488
+ name 1_537_KEY_9
+ 2182676489
+ name 1_537_KEY_POWER
+ 2182676490
+ name 1_537_KEY_CH_UP
+ 2182676495
+ name 1_537_KEY_CH_DOWN
+ 2182676496
+ name 1_537_KEY_MNSELECT
+ 2182676503
+ name 1_537_KEY_MENU
+ 2182676527
+ name 1_537_KEY_MLEFT
+ 2182676530
+ name 1_537_KEY_MRIGHT
+ 2182676531
+ name 1_538_KEY_0
+ 2182742016
+ name 1_538_KEY_1
+ 2182742017
+ name 1_538_KEY_2
+ 2182742018
+ name 1_538_KEY_3
+ 2182742019
+ name 1_538_KEY_4
+ 2182742020
+ name 1_538_KEY_5
+ 2182742021
+ name 1_538_KEY_6
+ 2182742022
+ name 1_538_KEY_7
+ 2182742023
+ name 1_538_KEY_8
+ 2182742024
+ name 1_538_KEY_9
+ 2182742025
+ name 1_538_KEY_POWER
+ 2182742026
+ name 1_538_KEY_CH_UP
+ 2182742031
+ name 1_538_KEY_CH_DOWN
+ 2182742032
+ name 1_538_KEY_MUTE
+ 2182742033
+ name 1_538_KEY_MNSELECT
+ 2182742039
+ name 1_538_KEY_AV
+ 2182742057
+ name 1_538_KEY_MLEFT
+ 2182742066
+ name 1_538_KEY_MRIGHT
+ 2182742067
+ name 1_539_KEY_0
+ 2182807552
+ name 1_539_KEY_1
+ 2182807553
+ name 1_539_KEY_2
+ 2182807554
+ name 1_539_KEY_3
+ 2182807555
+ name 1_539_KEY_4
+ 2182807556
+ name 1_539_KEY_5
+ 2182807557
+ name 1_539_KEY_6
+ 2182807558
+ name 1_539_KEY_7
+ 2182807559
+ name 1_539_KEY_8
+ 2182807560
+ name 1_539_KEY_9
+ 2182807561
+ name 1_539_KEY_POWER
+ 2182807562
+ name 1_539_KEY_CH_UP
+ 2182807567
+ name 1_539_KEY_CH_DOWN
+ 2182807568
+ name 1_539_KEY_MNSELECT
+ 2182807575
+ name 1_539_KEY_MENU
+ 2182807599
+ name 1_539_KEY_MUP
+ 2182807600
+ name 1_539_KEY_MDOWN
+ 2182807601
+ name 1_539_KEY_MLEFT
+ 2182807602
+ name 1_539_KEY_MRIGHT
+ 2182807603
+ name 1_539_KEY_On
+ 2182807629
+ name 1_540_KEY_0
+ 2182873088
+ name 1_540_KEY_1
+ 2182873089
+ name 1_540_KEY_2
+ 2182873090
+ name 1_540_KEY_3
+ 2182873091
+ name 1_540_KEY_4
+ 2182873092
+ name 1_540_KEY_5
+ 2182873093
+ name 1_540_KEY_6
+ 2182873094
+ name 1_540_KEY_7
+ 2182873095
+ name 1_540_KEY_8
+ 2182873096
+ name 1_540_KEY_9
+ 2182873097
+ name 1_540_KEY_POWER
+ 2182873098
+ name 1_540_KEY_CH_UP
+ 2182873103
+ name 1_540_KEY_CH_DOWN
+ 2182873104
+ name 1_540_KEY_MNSELECT
+ 2182873111
+ name 1_541_KEY_0
+ 2182938624
+ name 1_541_KEY_1
+ 2182938625
+ name 1_541_KEY_2
+ 2182938626
+ name 1_541_KEY_3
+ 2182938627
+ name 1_541_KEY_4
+ 2182938628
+ name 1_541_KEY_5
+ 2182938629
+ name 1_541_KEY_6
+ 2182938630
+ name 1_541_KEY_7
+ 2182938631
+ name 1_541_KEY_8
+ 2182938632
+ name 1_541_KEY_9
+ 2182938633
+ name 1_541_KEY_POWER
+ 2182938634
+ name 1_541_KEY_CH_UP
+ 2182938639
+ name 1_541_KEY_CH_DOWN
+ 2182938640
+ name 1_542_KEY_0
+ 2183004160
+ name 1_542_KEY_1
+ 2183004161
+ name 1_542_KEY_2
+ 2183004162
+ name 1_542_KEY_3
+ 2183004163
+ name 1_542_KEY_4
+ 2183004164
+ name 1_542_KEY_5
+ 2183004165
+ name 1_542_KEY_6
+ 2183004166
+ name 1_542_KEY_7
+ 2183004167
+ name 1_542_KEY_8
+ 2183004168
+ name 1_542_KEY_9
+ 2183004169
+ name 1_542_KEY_POWER
+ 2183004170
+ name 1_542_KEY_CH_UP
+ 2183004175
+ name 1_542_KEY_CH_DOWN
+ 2183004176
+ name 1_542_KEY_MNSELECT
+ 2183004183
+ name 1_542_KEY_MLEFT
+ 2183004210
+ name 1_542_KEY_MRIGHT
+ 2183004211
+ name 1_543_KEY_0
+ 2183069696
+ name 1_543_KEY_1
+ 2183069697
+ name 1_543_KEY_2
+ 2183069698
+ name 1_543_KEY_3
+ 2183069699
+ name 1_543_KEY_4
+ 2183069700
+ name 1_543_KEY_5
+ 2183069701
+ name 1_543_KEY_6
+ 2183069702
+ name 1_543_KEY_7
+ 2183069703
+ name 1_543_KEY_8
+ 2183069704
+ name 1_543_KEY_9
+ 2183069705
+ name 1_543_KEY_POWER
+ 2183069706
+ name 1_543_KEY_CH_UP
+ 2183069711
+ name 1_543_KEY_CH_DOWN
+ 2183069712
+ name 1_543_KEY_MUTE
+ 2183069713
+ name 1_543_KEY_VOL_DOWN
+ 2183069714
+ name 1_543_KEY_VOL_UP
+ 2183069716
+ name 1_543_KEY_MNSELECT
+ 2183069719
+ name 1_543_KEY_EXIT
+ 2183069720
+ name 1_543_KEY_AV
+ 2183069737
+ name 1_543_KEY_MENU
+ 2183069743
+ name 1_543_KEY_MUP
+ 2183069744
+ name 1_543_KEY_MDOWN
+ 2183069745
+ name 1_543_KEY_MLEFT
+ 2183069746
+ name 1_543_KEY_MRIGHT
+ 2183069747
+ name 1_544_KEY_0
+ 2183135232
+ name 1_544_KEY_1
+ 2183135233
+ name 1_544_KEY_2
+ 2183135234
+ name 1_544_KEY_3
+ 2183135235
+ name 1_544_KEY_4
+ 2183135236
+ name 1_544_KEY_5
+ 2183135237
+ name 1_544_KEY_6
+ 2183135238
+ name 1_544_KEY_7
+ 2183135239
+ name 1_544_KEY_8
+ 2183135240
+ name 1_544_KEY_9
+ 2183135241
+ name 1_544_KEY_POWER
+ 2183135242
+ name 1_544_KEY_CH_UP
+ 2183135247
+ name 1_544_KEY_CH_DOWN
+ 2183135248
+ name 1_544_KEY_MUTE
+ 2183135249
+ name 1_544_KEY_VOL_DOWN
+ 2183135250
+ name 1_544_KEY_VOL_UP
+ 2183135252
+ name 1_544_KEY_MNSELECT
+ 2183135255
+ name 1_544_KEY_EXIT
+ 2183135256
+ name 1_544_KEY_AV
+ 2183135273
+ name 1_544_KEY_MENU
+ 2183135279
+ name 1_544_KEY_MUP
+ 2183135280
+ name 1_544_KEY_MDOWN
+ 2183135281
+ name 1_544_KEY_MLEFT
+ 2183135282
+ name 1_544_KEY_MRIGHT
+ 2183135283
+ name 1_545_KEY_0
+ 2183200768
+ name 1_545_KEY_1
+ 2183200769
+ name 1_545_KEY_2
+ 2183200770
+ name 1_545_KEY_3
+ 2183200771
+ name 1_545_KEY_4
+ 2183200772
+ name 1_545_KEY_5
+ 2183200773
+ name 1_545_KEY_6
+ 2183200774
+ name 1_545_KEY_7
+ 2183200775
+ name 1_545_KEY_8
+ 2183200776
+ name 1_545_KEY_9
+ 2183200777
+ name 1_545_KEY_POWER
+ 2183200778
+ name 1_545_TWO_DIGITS
+ 2183200781
+ name 1_545_KEY_CH_UP
+ 2183200783
+ name 1_545_KEY_CH_DOWN
+ 2183200784
+ name 1_546_KEY_0
+ 2183266304
+ name 1_546_KEY_1
+ 2183266305
+ name 1_546_KEY_2
+ 2183266306
+ name 1_546_KEY_3
+ 2183266307
+ name 1_546_KEY_4
+ 2183266308
+ name 1_546_KEY_5
+ 2183266309
+ name 1_546_KEY_6
+ 2183266310
+ name 1_546_KEY_7
+ 2183266311
+ name 1_546_KEY_8
+ 2183266312
+ name 1_546_KEY_9
+ 2183266313
+ name 1_546_KEY_POWER
+ 2183266314
+ name 1_546_KEY_CH_UP
+ 2183266319
+ name 1_546_KEY_CH_DOWN
+ 2183266320
+ name 1_547_KEY_0
+ 2183331840
+ name 1_547_KEY_1
+ 2183331841
+ name 1_547_KEY_2
+ 2183331842
+ name 1_547_KEY_3
+ 2183331843
+ name 1_547_KEY_4
+ 2183331844
+ name 1_547_KEY_5
+ 2183331845
+ name 1_547_KEY_6
+ 2183331846
+ name 1_547_KEY_7
+ 2183331847
+ name 1_547_KEY_8
+ 2183331848
+ name 1_547_KEY_9
+ 2183331849
+ name 1_547_KEY_POWER
+ 2183331850
+ name 1_547_KEY_CH_UP
+ 2183331855
+ name 1_547_KEY_CH_DOWN
+ 2183331856
+ name 1_547_KEY_MUTE
+ 2183331857
+ name 1_547_KEY_MNSELECT
+ 2183331863
+ name 1_547_KEY_EXIT
+ 2183331864
+ name 1_547_KEY_AV
+ 2183331881
+ name 1_547_KEY_MENU
+ 2183331887
+ name 1_547_KEY_MUP
+ 2183331888
+ name 1_547_KEY_MDOWN
+ 2183331889
+ name 1_547_KEY_MLEFT
+ 2183331890
+ name 1_547_KEY_MRIGHT
+ 2183331891
+ name 1_548_KEY_0
+ 2183397376
+ name 1_548_KEY_1
+ 2183397377
+ name 1_548_KEY_2
+ 2183397378
+ name 1_548_KEY_3
+ 2183397379
+ name 1_548_KEY_4
+ 2183397380
+ name 1_548_KEY_5
+ 2183397381
+ name 1_548_KEY_6
+ 2183397382
+ name 1_548_KEY_7
+ 2183397383
+ name 1_548_KEY_8
+ 2183397384
+ name 1_548_KEY_9
+ 2183397385
+ name 1_548_KEY_POWER
+ 2183397386
+ name 1_548_TWO_DIGITS
+ 2183397389
+ name 1_548_KEY_CH_UP
+ 2183397391
+ name 1_548_KEY_CH_DOWN
+ 2183397392
+ name 1_548_CH_PREVIOUS
+ 2183397395
+ name 1_548_KEY_MNSELECT
+ 2183397399
+ name 1_548_KEY_MENU
+ 2183397423
+ name 1_548_KEY_MUP
+ 2183397424
+ name 1_548_KEY_MDOWN
+ 2183397425
+ name 1_548_KEY_MLEFT
+ 2183397426
+ name 1_548_KEY_MRIGHT
+ 2183397427
+ name 1_548_KEY_On
+ 2183397453
+ name 1_549_KEY_0
+ 2183462912
+ name 1_549_KEY_1
+ 2183462913
+ name 1_549_KEY_2
+ 2183462914
+ name 1_549_KEY_3
+ 2183462915
+ name 1_549_KEY_4
+ 2183462916
+ name 1_549_KEY_5
+ 2183462917
+ name 1_549_KEY_6
+ 2183462918
+ name 1_549_KEY_7
+ 2183462919
+ name 1_549_KEY_8
+ 2183462920
+ name 1_549_KEY_9
+ 2183462921
+ name 1_549_KEY_POWER
+ 2183462922
+ name 1_549_KEY_CH_UP
+ 2183462927
+ name 1_549_KEY_CH_DOWN
+ 2183462928
+ name 1_549_KEY_MUTE
+ 2183462929
+ name 1_549_KEY_MNSELECT
+ 2183462935
+ name 1_549_KEY_EXIT
+ 2183462936
+ name 1_549_KEY_AV
+ 2183462953
+ name 1_549_KEY_MENU
+ 2183462959
+ name 1_549_KEY_MLEFT
+ 2183462962
+ name 1_549_KEY_MRIGHT
+ 2183462963
+ name 1_550_KEY_0
+ 2183528448
+ name 1_550_KEY_1
+ 2183528449
+ name 1_550_KEY_2
+ 2183528450
+ name 1_550_KEY_3
+ 2183528451
+ name 1_550_KEY_4
+ 2183528452
+ name 1_550_KEY_5
+ 2183528453
+ name 1_550_KEY_6
+ 2183528454
+ name 1_550_KEY_7
+ 2183528455
+ name 1_550_KEY_8
+ 2183528456
+ name 1_550_KEY_9
+ 2183528457
+ name 1_550_KEY_POWER
+ 2183528458
+ name 1_550_KEY_CH_UP
+ 2183528463
+ name 1_550_KEY_CH_DOWN
+ 2183528464
+ name 1_550_KEY_MNSELECT
+ 2183528471
+ name 1_551_KEY_0
+ 2183593984
+ name 1_551_KEY_1
+ 2183593985
+ name 1_551_KEY_2
+ 2183593986
+ name 1_551_KEY_3
+ 2183593987
+ name 1_551_KEY_4
+ 2183593988
+ name 1_551_KEY_5
+ 2183593989
+ name 1_551_KEY_6
+ 2183593990
+ name 1_551_KEY_7
+ 2183593991
+ name 1_551_KEY_8
+ 2183593992
+ name 1_551_KEY_9
+ 2183593993
+ name 1_551_KEY_POWER
+ 2183593994
+ name 1_551_KEY_CH_UP
+ 2183593999
+ name 1_551_KEY_CH_DOWN
+ 2183594000
+ name 1_551_KEY_MUTE
+ 2183594001
+ name 1_551_KEY_VOL_DOWN
+ 2183594002
+ name 1_551_KEY_VOL_UP
+ 2183594004
+ name 1_551_KEY_MNSELECT
+ 2183594007
+ name 1_551_KEY_EXIT
+ 2183594008
+ name 1_551_KEY_AV
+ 2183594025
+ name 1_551_KEY_MENU
+ 2183594031
+ name 1_551_KEY_MLEFT
+ 2183594034
+ name 1_551_KEY_MRIGHT
+ 2183594035
+ name 1_552_KEY_0
+ 2183659520
+ name 1_552_KEY_1
+ 2183659521
+ name 1_552_KEY_2
+ 2183659522
+ name 1_552_KEY_3
+ 2183659523
+ name 1_552_KEY_4
+ 2183659524
+ name 1_552_KEY_5
+ 2183659525
+ name 1_552_KEY_6
+ 2183659526
+ name 1_552_KEY_7
+ 2183659527
+ name 1_552_KEY_8
+ 2183659528
+ name 1_552_KEY_9
+ 2183659529
+ name 1_552_KEY_POWER
+ 2183659530
+ name 1_552_KEY_CH_UP
+ 2183659535
+ name 1_552_KEY_CH_DOWN
+ 2183659536
+ name 1_552_CH_PREVIOUS
+ 2183659539
+ name 1_553_KEY_0
+ 2183725056
+ name 1_553_KEY_1
+ 2183725057
+ name 1_553_KEY_2
+ 2183725058
+ name 1_553_KEY_3
+ 2183725059
+ name 1_553_KEY_4
+ 2183725060
+ name 1_553_KEY_5
+ 2183725061
+ name 1_553_KEY_6
+ 2183725062
+ name 1_553_KEY_7
+ 2183725063
+ name 1_553_KEY_8
+ 2183725064
+ name 1_553_KEY_9
+ 2183725065
+ name 1_553_KEY_POWER
+ 2183725066
+ name 1_553_KEY_CH_UP
+ 2183725071
+ name 1_553_KEY_CH_DOWN
+ 2183725072
+ name 1_553_KEY_MUTE
+ 2183725073
+ name 1_553_KEY_VOL_DOWN
+ 2183725074
+ name 1_553_KEY_VOL_UP
+ 2183725076
+ name 1_553_KEY_MNSELECT
+ 2183725079
+ name 1_553_KEY_EXIT
+ 2183725080
+ name 1_553_KEY_AV
+ 2183725097
+ name 1_553_KEY_MENU
+ 2183725103
+ name 1_553_KEY_MUP
+ 2183725104
+ name 1_553_KEY_MDOWN
+ 2183725105
+ name 1_553_KEY_MLEFT
+ 2183725106
+ name 1_553_KEY_MRIGHT
+ 2183725107
+ name 1_554_KEY_0
+ 2183790592
+ name 1_554_KEY_1
+ 2183790593
+ name 1_554_KEY_2
+ 2183790594
+ name 1_554_KEY_3
+ 2183790595
+ name 1_554_KEY_4
+ 2183790596
+ name 1_554_KEY_5
+ 2183790597
+ name 1_554_KEY_6
+ 2183790598
+ name 1_554_KEY_7
+ 2183790599
+ name 1_554_KEY_8
+ 2183790600
+ name 1_554_KEY_9
+ 2183790601
+ name 1_554_KEY_POWER
+ 2183790602
+ name 1_554_KEY_CH_UP
+ 2183790607
+ name 1_554_KEY_CH_DOWN
+ 2183790608
+ name 1_555_KEY_0
+ 2183856128
+ name 1_555_KEY_1
+ 2183856129
+ name 1_555_KEY_2
+ 2183856130
+ name 1_555_KEY_3
+ 2183856131
+ name 1_555_KEY_4
+ 2183856132
+ name 1_555_KEY_5
+ 2183856133
+ name 1_555_KEY_6
+ 2183856134
+ name 1_555_KEY_7
+ 2183856135
+ name 1_555_KEY_8
+ 2183856136
+ name 1_555_KEY_9
+ 2183856137
+ name 1_555_KEY_POWER
+ 2183856138
+ name 1_555_KEY_CH_UP
+ 2183856143
+ name 1_555_KEY_CH_DOWN
+ 2183856144
+ name 1_555_KEY_MUTE
+ 2183856145
+ name 1_555_KEY_VOL_DOWN
+ 2183856146
+ name 1_555_KEY_VOL_UP
+ 2183856148
+ name 1_555_KEY_MNSELECT
+ 2183856151
+ name 1_555_KEY_EXIT
+ 2183856152
+ name 1_555_KEY_AV
+ 2183856169
+ name 1_555_KEY_MENU
+ 2183856175
+ name 1_555_KEY_MUP
+ 2183856176
+ name 1_555_KEY_MDOWN
+ 2183856177
+ name 1_555_KEY_MLEFT
+ 2183856178
+ name 1_555_KEY_MRIGHT
+ 2183856179
+ name 1_556_KEY_0
+ 2183921664
+ name 1_556_KEY_1
+ 2183921665
+ name 1_556_KEY_2
+ 2183921666
+ name 1_556_KEY_3
+ 2183921667
+ name 1_556_KEY_4
+ 2183921668
+ name 1_556_KEY_5
+ 2183921669
+ name 1_556_KEY_6
+ 2183921670
+ name 1_556_KEY_7
+ 2183921671
+ name 1_556_KEY_8
+ 2183921672
+ name 1_556_KEY_9
+ 2183921673
+ name 1_556_KEY_POWER
+ 2183921674
+ name 1_556_KEY_CH_UP
+ 2183921679
+ name 1_556_KEY_CH_DOWN
+ 2183921680
+ name 1_557_KEY_0
+ 2183987200
+ name 1_557_KEY_1
+ 2183987201
+ name 1_557_KEY_2
+ 2183987202
+ name 1_557_KEY_3
+ 2183987203
+ name 1_557_KEY_4
+ 2183987204
+ name 1_557_KEY_5
+ 2183987205
+ name 1_557_KEY_6
+ 2183987206
+ name 1_557_KEY_7
+ 2183987207
+ name 1_557_KEY_8
+ 2183987208
+ name 1_557_KEY_9
+ 2183987209
+ name 1_557_KEY_POWER
+ 2183987210
+ name 1_557_KEY_CH_UP
+ 2183987215
+ name 1_557_KEY_CH_DOWN
+ 2183987216
+ name 1_557_KEY_MENU
+ 2183987247
+ name 1_557_KEY_MUP
+ 2183987248
+ name 1_557_KEY_MDOWN
+ 2183987249
+ name 1_557_KEY_MLEFT
+ 2183987250
+ name 1_557_KEY_MRIGHT
+ 2183987251
+ name 1_558_KEY_0
+ 2184052736
+ name 1_558_KEY_1
+ 2184052737
+ name 1_558_KEY_2
+ 2184052738
+ name 1_558_KEY_3
+ 2184052739
+ name 1_558_KEY_4
+ 2184052740
+ name 1_558_KEY_5
+ 2184052741
+ name 1_558_KEY_6
+ 2184052742
+ name 1_558_KEY_7
+ 2184052743
+ name 1_558_KEY_8
+ 2184052744
+ name 1_558_KEY_9
+ 2184052745
+ name 1_558_KEY_POWER
+ 2184052746
+ name 1_558_KEY_CH_UP
+ 2184052751
+ name 1_558_KEY_CH_DOWN
+ 2184052752
+ name 1_558_KEY_MUTE
+ 2184052753
+ name 1_558_KEY_VOL_DOWN
+ 2184052754
+ name 1_558_KEY_VOL_UP
+ 2184052756
+ name 1_558_KEY_MNSELECT
+ 2184052759
+ name 1_558_KEY_EXIT
+ 2184052760
+ name 1_558_KEY_AV
+ 2184052777
+ name 1_558_KEY_MENU
+ 2184052783
+ name 1_558_KEY_MUP
+ 2184052784
+ name 1_558_KEY_MDOWN
+ 2184052785
+ name 1_558_KEY_MLEFT
+ 2184052786
+ name 1_558_KEY_MRIGHT
+ 2184052787
+ name 1_559_KEY_0
+ 2184118272
+ name 1_559_KEY_1
+ 2184118273
+ name 1_559_KEY_2
+ 2184118274
+ name 1_559_KEY_3
+ 2184118275
+ name 1_559_KEY_4
+ 2184118276
+ name 1_559_KEY_5
+ 2184118277
+ name 1_559_KEY_6
+ 2184118278
+ name 1_559_KEY_7
+ 2184118279
+ name 1_559_KEY_8
+ 2184118280
+ name 1_559_KEY_9
+ 2184118281
+ name 1_559_KEY_POWER
+ 2184118282
+ name 1_559_TWO_DIGITS
+ 2184118285
+ name 1_559_KEY_CH_UP
+ 2184118287
+ name 1_559_KEY_CH_DOWN
+ 2184118288
+ name 1_559_KEY_MNSELECT
+ 2184118295
+ name 1_559_KEY_MENU
+ 2184118319
+ name 1_559_KEY_MUP
+ 2184118320
+ name 1_559_KEY_MDOWN
+ 2184118321
+ name 1_559_KEY_MLEFT
+ 2184118322
+ name 1_559_KEY_MRIGHT
+ 2184118323
+ name 1_560_KEY_0
+ 2184183808
+ name 1_560_KEY_1
+ 2184183809
+ name 1_560_KEY_2
+ 2184183810
+ name 1_560_KEY_3
+ 2184183811
+ name 1_560_KEY_4
+ 2184183812
+ name 1_560_KEY_5
+ 2184183813
+ name 1_560_KEY_6
+ 2184183814
+ name 1_560_KEY_7
+ 2184183815
+ name 1_560_KEY_8
+ 2184183816
+ name 1_560_KEY_9
+ 2184183817
+ name 1_560_KEY_POWER
+ 2184183818
+ name 1_560_KEY_CH_UP
+ 2184183823
+ name 1_560_KEY_CH_DOWN
+ 2184183824
+ name 1_560_KEY_MNSELECT
+ 2184183831
+ name 1_560_KEY_GUIDE
+ 2184183835
+ name 1_560_KEY_BLUE
+ 2184183843
+ name 1_560_KEY_GREEN
+ 2184183844
+ name 1_560_KEY_RED
+ 2184183845
+ name 1_560_KEY_YELLOW
+ 2184183846
+ name 1_560_KEY_MENU
+ 2184183855
+ name 1_560_KEY_MUP
+ 2184183856
+ name 1_560_KEY_MDOWN
+ 2184183857
+ name 1_560_KEY_MLEFT
+ 2184183858
+ name 1_560_KEY_MRIGHT
+ 2184183859
+ name 1_560_KEY_On
+ 2184183885
+ name 1_561_KEY_0
+ 2184249344
+ name 1_561_KEY_1
+ 2184249345
+ name 1_561_KEY_2
+ 2184249346
+ name 1_561_KEY_3
+ 2184249347
+ name 1_561_KEY_4
+ 2184249348
+ name 1_561_KEY_5
+ 2184249349
+ name 1_561_KEY_6
+ 2184249350
+ name 1_561_KEY_7
+ 2184249351
+ name 1_561_KEY_8
+ 2184249352
+ name 1_561_KEY_9
+ 2184249353
+ name 1_561_KEY_POWER
+ 2184249354
+ name 1_561_KEY_CH_UP
+ 2184249359
+ name 1_561_KEY_CH_DOWN
+ 2184249360
+ name 1_561_CH_PREVIOUS
+ 2184249363
+ name 1_561_KEY_MNSELECT
+ 2184249367
+ name 1_561_KEY_BLUE
+ 2184249379
+ name 1_561_KEY_GREEN
+ 2184249380
+ name 1_561_KEY_RED
+ 2184249381
+ name 1_561_KEY_YELLOW
+ 2184249382
+ name 1_561_KEY_MENU
+ 2184249391
+ name 1_561_KEY_MUP
+ 2184249392
+ name 1_561_KEY_MDOWN
+ 2184249393
+ name 1_561_KEY_MLEFT
+ 2184249394
+ name 1_561_KEY_MRIGHT
+ 2184249395
+ name 1_561_KEY_On
+ 2184249421
+ name 1_562_KEY_0
+ 2184314880
+ name 1_562_KEY_1
+ 2184314881
+ name 1_562_KEY_2
+ 2184314882
+ name 1_562_KEY_3
+ 2184314883
+ name 1_562_KEY_4
+ 2184314884
+ name 1_562_KEY_5
+ 2184314885
+ name 1_562_KEY_6
+ 2184314886
+ name 1_562_KEY_7
+ 2184314887
+ name 1_562_KEY_8
+ 2184314888
+ name 1_562_KEY_9
+ 2184314889
+ name 1_562_KEY_POWER
+ 2184314890
+ name 1_562_KEY_CH_UP
+ 2184314895
+ name 1_562_KEY_CH_DOWN
+ 2184314896
+ name 1_562_KEY_MUP
+ 2184314928
+ name 1_562_KEY_MDOWN
+ 2184314929
+ name 1_563_KEY_0
+ 2184380416
+ name 1_563_KEY_1
+ 2184380417
+ name 1_563_KEY_2
+ 2184380418
+ name 1_563_KEY_3
+ 2184380419
+ name 1_563_KEY_4
+ 2184380420
+ name 1_563_KEY_5
+ 2184380421
+ name 1_563_KEY_6
+ 2184380422
+ name 1_563_KEY_7
+ 2184380423
+ name 1_563_KEY_8
+ 2184380424
+ name 1_563_KEY_9
+ 2184380425
+ name 1_563_KEY_POWER
+ 2184380426
+ name 1_563_KEY_CH_UP
+ 2184380431
+ name 1_563_KEY_CH_DOWN
+ 2184380432
+ name 1_563_CH_PREVIOUS
+ 2184380435
+ name 1_563_KEY_MNSELECT
+ 2184380439
+ name 1_563_KEY_GUIDE
+ 2184380443
+ name 1_563_KEY_MENU
+ 2184380463
+ name 1_563_KEY_MUP
+ 2184380464
+ name 1_563_KEY_MDOWN
+ 2184380465
+ name 1_563_KEY_MLEFT
+ 2184380466
+ name 1_563_KEY_MRIGHT
+ 2184380467
+ name 1_563_KEY_On
+ 2184380493
+ name 1_564_KEY_0
+ 2184445952
+ name 1_564_KEY_1
+ 2184445953
+ name 1_564_KEY_2
+ 2184445954
+ name 1_564_KEY_3
+ 2184445955
+ name 1_564_KEY_4
+ 2184445956
+ name 1_564_KEY_5
+ 2184445957
+ name 1_564_KEY_6
+ 2184445958
+ name 1_564_KEY_7
+ 2184445959
+ name 1_564_KEY_8
+ 2184445960
+ name 1_564_KEY_9
+ 2184445961
+ name 1_564_KEY_POWER
+ 2184445962
+ name 1_564_KEY_CH_UP
+ 2184445967
+ name 1_564_KEY_CH_DOWN
+ 2184445968
+ name 1_564_CH_PREVIOUS
+ 2184445971
+ name 1_564_KEY_MNSELECT
+ 2184445975
+ name 1_564_KEY_GUIDE
+ 2184445979
+ name 1_564_KEY_MENU
+ 2184445999
+ name 1_564_KEY_MUP
+ 2184446000
+ name 1_564_KEY_MDOWN
+ 2184446001
+ name 1_564_KEY_MLEFT
+ 2184446002
+ name 1_564_KEY_MRIGHT
+ 2184446003
+ name 1_565_KEY_0
+ 2184511488
+ name 1_565_KEY_1
+ 2184511489
+ name 1_565_KEY_2
+ 2184511490
+ name 1_565_KEY_3
+ 2184511491
+ name 1_565_KEY_4
+ 2184511492
+ name 1_565_KEY_5
+ 2184511493
+ name 1_565_KEY_6
+ 2184511494
+ name 1_565_KEY_7
+ 2184511495
+ name 1_565_KEY_8
+ 2184511496
+ name 1_565_KEY_9
+ 2184511497
+ name 1_565_KEY_POWER
+ 2184511498
+ name 1_565_KEY_CH_UP
+ 2184511503
+ name 1_565_KEY_CH_DOWN
+ 2184511504
+ name 1_565_KEY_MNSELECT
+ 2184511511
+ name 1_565_KEY_GUIDE
+ 2184511515
+ name 1_565_KEY_BLUE
+ 2184511523
+ name 1_565_KEY_GREEN
+ 2184511524
+ name 1_565_KEY_RED
+ 2184511525
+ name 1_565_KEY_YELLOW
+ 2184511526
+ name 1_565_KEY_MENU
+ 2184511535
+ name 1_565_KEY_MUP
+ 2184511536
+ name 1_565_KEY_MDOWN
+ 2184511537
+ name 1_565_KEY_MLEFT
+ 2184511538
+ name 1_565_KEY_MRIGHT
+ 2184511539
+ name 1_566_KEY_0
+ 2184577024
+ name 1_566_KEY_1
+ 2184577025
+ name 1_566_KEY_2
+ 2184577026
+ name 1_566_KEY_3
+ 2184577027
+ name 1_566_KEY_4
+ 2184577028
+ name 1_566_KEY_5
+ 2184577029
+ name 1_566_KEY_6
+ 2184577030
+ name 1_566_KEY_7
+ 2184577031
+ name 1_566_KEY_8
+ 2184577032
+ name 1_566_KEY_9
+ 2184577033
+ name 1_566_KEY_POWER
+ 2184577034
+ name 1_566_KEY_CH_UP
+ 2184577039
+ name 1_566_KEY_CH_DOWN
+ 2184577040
+ name 1_566_KEY_MUTE
+ 2184577041
+ name 1_566_KEY_VOL_DOWN
+ 2184577042
+ name 1_566_KEY_VOL_UP
+ 2184577044
+ name 1_566_KEY_MNSELECT
+ 2184577047
+ name 1_566_KEY_EXIT
+ 2184577048
+ name 1_566_KEY_AV
+ 2184577065
+ name 1_566_KEY_MENU
+ 2184577071
+ name 1_566_KEY_MUP
+ 2184577072
+ name 1_566_KEY_MDOWN
+ 2184577073
+ name 1_566_KEY_MLEFT
+ 2184577074
+ name 1_566_KEY_MRIGHT
+ 2184577075
+ name 1_567_KEY_0
+ 2184642560
+ name 1_567_KEY_1
+ 2184642561
+ name 1_567_KEY_2
+ 2184642562
+ name 1_567_KEY_3
+ 2184642563
+ name 1_567_KEY_4
+ 2184642564
+ name 1_567_KEY_5
+ 2184642565
+ name 1_567_KEY_6
+ 2184642566
+ name 1_567_KEY_7
+ 2184642567
+ name 1_567_KEY_8
+ 2184642568
+ name 1_567_KEY_9
+ 2184642569
+ name 1_567_KEY_POWER
+ 2184642570
+ name 1_567_KEY_CH_UP
+ 2184642575
+ name 1_567_KEY_CH_DOWN
+ 2184642576
+ name 1_567_KEY_MUTE
+ 2184642577
+ name 1_567_KEY_MNSELECT
+ 2184642583
+ name 1_567_KEY_EXIT
+ 2184642584
+ name 1_567_KEY_MENU
+ 2184642607
+ name 1_567_KEY_MLEFT
+ 2184642610
+ name 1_567_KEY_MRIGHT
+ 2184642611
+ name 1_568_KEY_0
+ 2184708096
+ name 1_568_KEY_1
+ 2184708097
+ name 1_568_KEY_2
+ 2184708098
+ name 1_568_KEY_3
+ 2184708099
+ name 1_568_KEY_4
+ 2184708100
+ name 1_568_KEY_5
+ 2184708101
+ name 1_568_KEY_6
+ 2184708102
+ name 1_568_KEY_7
+ 2184708103
+ name 1_568_KEY_8
+ 2184708104
+ name 1_568_KEY_9
+ 2184708105
+ name 1_568_KEY_POWER
+ 2184708106
+ name 1_568_KEY_CH_UP
+ 2184708111
+ name 1_568_KEY_CH_DOWN
+ 2184708112
+ name 1_568_KEY_MUTE
+ 2184708113
+ name 1_568_KEY_MNSELECT
+ 2184708119
+ name 1_568_KEY_EXIT
+ 2184708120
+ name 1_568_KEY_MENU
+ 2184708143
+ name 1_568_KEY_MUP
+ 2184708144
+ name 1_568_KEY_MDOWN
+ 2184708145
+ name 1_568_KEY_MLEFT
+ 2184708146
+ name 1_568_KEY_MRIGHT
+ 2184708147
+ name 1_569_KEY_0
+ 2184773632
+ name 1_569_KEY_1
+ 2184773633
+ name 1_569_KEY_2
+ 2184773634
+ name 1_569_KEY_3
+ 2184773635
+ name 1_569_KEY_4
+ 2184773636
+ name 1_569_KEY_5
+ 2184773637
+ name 1_569_KEY_6
+ 2184773638
+ name 1_569_KEY_7
+ 2184773639
+ name 1_569_KEY_8
+ 2184773640
+ name 1_569_KEY_9
+ 2184773641
+ name 1_569_KEY_POWER
+ 2184773642
+ name 1_569_KEY_CH_UP
+ 2184773647
+ name 1_569_KEY_CH_DOWN
+ 2184773648
+ name 1_569_KEY_MUTE
+ 2184773649
+ name 1_569_KEY_MNSELECT
+ 2184773655
+ name 1_569_KEY_AV
+ 2184773673
+ name 1_570_KEY_0
+ 2184839168
+ name 1_570_KEY_1
+ 2184839169
+ name 1_570_KEY_2
+ 2184839170
+ name 1_570_KEY_3
+ 2184839171
+ name 1_570_KEY_4
+ 2184839172
+ name 1_570_KEY_5
+ 2184839173
+ name 1_570_KEY_6
+ 2184839174
+ name 1_570_KEY_7
+ 2184839175
+ name 1_570_KEY_8
+ 2184839176
+ name 1_570_KEY_9
+ 2184839177
+ name 1_570_KEY_POWER
+ 2184839178
+ name 1_570_KEY_CH_UP
+ 2184839183
+ name 1_570_KEY_CH_DOWN
+ 2184839184
+ name 1_570_KEY_MUTE
+ 2184839185
+ name 1_570_KEY_VOL_DOWN
+ 2184839186
+ name 1_570_KEY_VOL_UP
+ 2184839188
+ name 1_570_KEY_MNSELECT
+ 2184839191
+ name 1_570_KEY_AV
+ 2184839209
+ name 1_571_KEY_0
+ 2184904704
+ name 1_571_KEY_1
+ 2184904705
+ name 1_571_KEY_2
+ 2184904706
+ name 1_571_KEY_3
+ 2184904707
+ name 1_571_KEY_4
+ 2184904708
+ name 1_571_KEY_5
+ 2184904709
+ name 1_571_KEY_6
+ 2184904710
+ name 1_571_KEY_7
+ 2184904711
+ name 1_571_KEY_8
+ 2184904712
+ name 1_571_KEY_9
+ 2184904713
+ name 1_571_KEY_POWER
+ 2184904714
+ name 1_571_KEY_CH_UP
+ 2184904719
+ name 1_571_KEY_CH_DOWN
+ 2184904720
+ name 1_571_KEY_MUTE
+ 2184904721
+ name 1_571_KEY_MNSELECT
+ 2184904727
+ name 1_571_KEY_EXIT
+ 2184904728
+ name 1_571_KEY_AV
+ 2184904745
+ name 1_571_KEY_MENU
+ 2184904751
+ name 1_571_KEY_MUP
+ 2184904752
+ name 1_571_KEY_MDOWN
+ 2184904753
+ name 1_571_KEY_MLEFT
+ 2184904754
+ name 1_571_KEY_MRIGHT
+ 2184904755
+ name 1_572_KEY_0
+ 2184970240
+ name 1_572_KEY_1
+ 2184970241
+ name 1_572_KEY_2
+ 2184970242
+ name 1_572_KEY_3
+ 2184970243
+ name 1_572_KEY_4
+ 2184970244
+ name 1_572_KEY_5
+ 2184970245
+ name 1_572_KEY_6
+ 2184970246
+ name 1_572_KEY_7
+ 2184970247
+ name 1_572_KEY_8
+ 2184970248
+ name 1_572_KEY_9
+ 2184970249
+ name 1_572_KEY_POWER
+ 2184970250
+ name 1_572_KEY_CH_UP
+ 2184970255
+ name 1_572_KEY_CH_DOWN
+ 2184970256
+ name 1_572_KEY_MUTE
+ 2184970257
+ name 1_572_KEY_MNSELECT
+ 2184970263
+ name 1_572_KEY_EXIT
+ 2184970264
+ name 1_572_KEY_AV
+ 2184970281
+ name 1_572_KEY_MENU
+ 2184970287
+ name 1_572_KEY_MUP
+ 2184970288
+ name 1_572_KEY_MDOWN
+ 2184970289
+ name 1_572_KEY_MLEFT
+ 2184970290
+ name 1_572_KEY_MRIGHT
+ 2184970291
+ name 1_573_KEY_0
+ 2185035776
+ name 1_573_KEY_1
+ 2185035777
+ name 1_573_KEY_2
+ 2185035778
+ name 1_573_KEY_3
+ 2185035779
+ name 1_573_KEY_4
+ 2185035780
+ name 1_573_KEY_5
+ 2185035781
+ name 1_573_KEY_6
+ 2185035782
+ name 1_573_KEY_7
+ 2185035783
+ name 1_573_KEY_8
+ 2185035784
+ name 1_573_KEY_9
+ 2185035785
+ name 1_573_KEY_POWER
+ 2185035786
+ name 1_573_KEY_CH_UP
+ 2185035791
+ name 1_573_KEY_CH_DOWN
+ 2185035792
+ name 1_573_KEY_MUTE
+ 2185035793
+ name 1_573_KEY_MNSELECT
+ 2185035799
+ name 1_573_KEY_EXIT
+ 2185035800
+ name 1_573_KEY_AV
+ 2185035817
+ name 1_573_KEY_MENU
+ 2185035823
+ name 1_573_KEY_MUP
+ 2185035824
+ name 1_573_KEY_MDOWN
+ 2185035825
+ name 1_573_KEY_MLEFT
+ 2185035826
+ name 1_573_KEY_MRIGHT
+ 2185035827
+ name 1_574_KEY_0
+ 2185101312
+ name 1_574_KEY_1
+ 2185101313
+ name 1_574_KEY_2
+ 2185101314
+ name 1_574_KEY_3
+ 2185101315
+ name 1_574_KEY_4
+ 2185101316
+ name 1_574_KEY_5
+ 2185101317
+ name 1_574_KEY_6
+ 2185101318
+ name 1_574_KEY_7
+ 2185101319
+ name 1_574_KEY_8
+ 2185101320
+ name 1_574_KEY_9
+ 2185101321
+ name 1_574_KEY_POWER
+ 2185101322
+ name 1_574_KEY_CH_UP
+ 2185101327
+ name 1_574_KEY_CH_DOWN
+ 2185101328
+ name 1_574_KEY_MUTE
+ 2185101329
+ name 1_574_KEY_VOL_DOWN
+ 2185101330
+ name 1_574_KEY_VOL_UP
+ 2185101332
+ name 1_574_KEY_MNSELECT
+ 2185101335
+ name 1_574_KEY_EXIT
+ 2185101336
+ name 1_574_KEY_AV
+ 2185101353
+ name 1_574_KEY_MENU
+ 2185101359
+ name 1_574_KEY_MUP
+ 2185101360
+ name 1_574_KEY_MDOWN
+ 2185101361
+ name 1_574_KEY_MLEFT
+ 2185101362
+ name 1_574_KEY_MRIGHT
+ 2185101363
+ name 1_575_KEY_0
+ 2185166848
+ name 1_575_KEY_1
+ 2185166849
+ name 1_575_KEY_2
+ 2185166850
+ name 1_575_KEY_3
+ 2185166851
+ name 1_575_KEY_4
+ 2185166852
+ name 1_575_KEY_5
+ 2185166853
+ name 1_575_KEY_6
+ 2185166854
+ name 1_575_KEY_7
+ 2185166855
+ name 1_575_KEY_8
+ 2185166856
+ name 1_575_KEY_9
+ 2185166857
+ name 1_575_KEY_POWER
+ 2185166858
+ name 1_575_KEY_CH_UP
+ 2185166863
+ name 1_575_KEY_CH_DOWN
+ 2185166864
+ name 1_575_KEY_AV
+ 2185166889
+ name 1_576_KEY_0
+ 2185232384
+ name 1_576_KEY_1
+ 2185232385
+ name 1_576_KEY_2
+ 2185232386
+ name 1_576_KEY_3
+ 2185232387
+ name 1_576_KEY_4
+ 2185232388
+ name 1_576_KEY_5
+ 2185232389
+ name 1_576_KEY_6
+ 2185232390
+ name 1_576_KEY_7
+ 2185232391
+ name 1_576_KEY_8
+ 2185232392
+ name 1_576_KEY_9
+ 2185232393
+ name 1_576_KEY_POWER
+ 2185232394
+ name 1_576_KEY_CH_UP
+ 2185232399
+ name 1_576_KEY_CH_DOWN
+ 2185232400
+ name 1_576_KEY_AV
+ 2185232425
+ name 1_577_KEY_0
+ 2185297920
+ name 1_577_KEY_1
+ 2185297921
+ name 1_577_KEY_2
+ 2185297922
+ name 1_577_KEY_3
+ 2185297923
+ name 1_577_KEY_4
+ 2185297924
+ name 1_577_KEY_5
+ 2185297925
+ name 1_577_KEY_6
+ 2185297926
+ name 1_577_KEY_7
+ 2185297927
+ name 1_577_KEY_8
+ 2185297928
+ name 1_577_KEY_9
+ 2185297929
+ name 1_577_KEY_POWER
+ 2185297930
+ name 1_577_KEY_CH_UP
+ 2185297935
+ name 1_577_KEY_CH_DOWN
+ 2185297936
+ name 1_577_KEY_MUTE
+ 2185297937
+ name 1_577_KEY_VOL_DOWN
+ 2185297938
+ name 1_577_KEY_VOL_UP
+ 2185297940
+ name 1_577_KEY_MNSELECT
+ 2185297943
+ name 1_577_KEY_EXIT
+ 2185297944
+ name 1_577_KEY_MLEFT
+ 2185297970
+ name 1_577_KEY_MRIGHT
+ 2185297971
+ name 1_578_KEY_0
+ 2185363456
+ name 1_578_KEY_1
+ 2185363457
+ name 1_578_KEY_2
+ 2185363458
+ name 1_578_KEY_3
+ 2185363459
+ name 1_578_KEY_4
+ 2185363460
+ name 1_578_KEY_5
+ 2185363461
+ name 1_578_KEY_6
+ 2185363462
+ name 1_578_KEY_7
+ 2185363463
+ name 1_578_KEY_8
+ 2185363464
+ name 1_578_KEY_9
+ 2185363465
+ name 1_578_KEY_POWER
+ 2185363466
+ name 1_578_KEY_CH_UP
+ 2185363471
+ name 1_578_KEY_CH_DOWN
+ 2185363472
+ name 1_578_KEY_MUTE
+ 2185363473
+ name 1_578_KEY_MNSELECT
+ 2185363479
+ name 1_578_KEY_MLEFT
+ 2185363506
+ name 1_578_KEY_MRIGHT
+ 2185363507
+ name 1_579_KEY_0
+ 2185428992
+ name 1_579_KEY_1
+ 2185428993
+ name 1_579_KEY_2
+ 2185428994
+ name 1_579_KEY_3
+ 2185428995
+ name 1_579_KEY_4
+ 2185428996
+ name 1_579_KEY_5
+ 2185428997
+ name 1_579_KEY_6
+ 2185428998
+ name 1_579_KEY_7
+ 2185428999
+ name 1_579_KEY_8
+ 2185429000
+ name 1_579_KEY_9
+ 2185429001
+ name 1_579_KEY_POWER
+ 2185429002
+ name 1_579_KEY_CH_UP
+ 2185429007
+ name 1_579_KEY_CH_DOWN
+ 2185429008
+ name 1_579_KEY_MUTE
+ 2185429009
+ name 1_579_KEY_MNSELECT
+ 2185429015
+ name 1_579_KEY_AV
+ 2185429033
+ name 1_579_KEY_MLEFT
+ 2185429042
+ name 1_579_KEY_MRIGHT
+ 2185429043
+ name 1_580_KEY_0
+ 2185494528
+ name 1_580_KEY_1
+ 2185494529
+ name 1_580_KEY_2
+ 2185494530
+ name 1_580_KEY_3
+ 2185494531
+ name 1_580_KEY_4
+ 2185494532
+ name 1_580_KEY_5
+ 2185494533
+ name 1_580_KEY_6
+ 2185494534
+ name 1_580_KEY_7
+ 2185494535
+ name 1_580_KEY_8
+ 2185494536
+ name 1_580_KEY_9
+ 2185494537
+ name 1_580_KEY_POWER
+ 2185494538
+ name 1_580_KEY_CH_UP
+ 2185494543
+ name 1_580_KEY_CH_DOWN
+ 2185494544
+ name 1_580_KEY_MUTE
+ 2185494545
+ name 1_580_KEY_MNSELECT
+ 2185494551
+ name 1_580_KEY_MLEFT
+ 2185494578
+ name 1_580_KEY_MRIGHT
+ 2185494579
+ name 1_581_KEY_0
+ 2185560064
+ name 1_581_KEY_1
+ 2185560065
+ name 1_581_KEY_2
+ 2185560066
+ name 1_581_KEY_3
+ 2185560067
+ name 1_581_KEY_4
+ 2185560068
+ name 1_581_KEY_5
+ 2185560069
+ name 1_581_KEY_6
+ 2185560070
+ name 1_581_KEY_7
+ 2185560071
+ name 1_581_KEY_8
+ 2185560072
+ name 1_581_KEY_9
+ 2185560073
+ name 1_581_KEY_POWER
+ 2185560074
+ name 1_581_KEY_CH_UP
+ 2185560079
+ name 1_581_KEY_CH_DOWN
+ 2185560080
+ name 1_581_KEY_AV
+ 2185560105
+ name 1_581_KEY_MLEFT
+ 2185560114
+ name 1_581_KEY_MRIGHT
+ 2185560115
+ name 1_582_KEY_0
+ 2185625600
+ name 1_582_KEY_1
+ 2185625601
+ name 1_582_KEY_2
+ 2185625602
+ name 1_582_KEY_3
+ 2185625603
+ name 1_582_KEY_4
+ 2185625604
+ name 1_582_KEY_5
+ 2185625605
+ name 1_582_KEY_6
+ 2185625606
+ name 1_582_KEY_7
+ 2185625607
+ name 1_582_KEY_8
+ 2185625608
+ name 1_582_KEY_9
+ 2185625609
+ name 1_582_KEY_POWER
+ 2185625610
+ name 1_582_KEY_CH_UP
+ 2185625615
+ name 1_582_KEY_CH_DOWN
+ 2185625616
+ name 1_582_KEY_AV
+ 2185625641
+ name 1_583_KEY_0
+ 2185691136
+ name 1_583_KEY_1
+ 2185691137
+ name 1_583_KEY_2
+ 2185691138
+ name 1_583_KEY_3
+ 2185691139
+ name 1_583_KEY_4
+ 2185691140
+ name 1_583_KEY_5
+ 2185691141
+ name 1_583_KEY_6
+ 2185691142
+ name 1_583_KEY_7
+ 2185691143
+ name 1_583_KEY_8
+ 2185691144
+ name 1_583_KEY_9
+ 2185691145
+ name 1_583_KEY_POWER
+ 2185691146
+ name 1_583_KEY_CH_UP
+ 2185691151
+ name 1_583_KEY_CH_DOWN
+ 2185691152
+ name 1_583_KEY_MUTE
+ 2185691153
+ name 1_583_KEY_VOL_DOWN
+ 2185691154
+ name 1_583_KEY_VOL_UP
+ 2185691156
+ name 1_583_KEY_MNSELECT
+ 2185691159
+ name 1_583_KEY_AV
+ 2185691177
+ name 1_583_KEY_MUP
+ 2185691184
+ name 1_583_KEY_MDOWN
+ 2185691185
+ name 1_583_KEY_MLEFT
+ 2185691186
+ name 1_583_KEY_MRIGHT
+ 2185691187
+ name 1_584_KEY_0
+ 2185756672
+ name 1_584_KEY_1
+ 2185756673
+ name 1_584_KEY_2
+ 2185756674
+ name 1_584_KEY_3
+ 2185756675
+ name 1_584_KEY_4
+ 2185756676
+ name 1_584_KEY_5
+ 2185756677
+ name 1_584_KEY_6
+ 2185756678
+ name 1_584_KEY_7
+ 2185756679
+ name 1_584_KEY_8
+ 2185756680
+ name 1_584_KEY_9
+ 2185756681
+ name 1_584_KEY_POWER
+ 2185756682
+ name 1_584_KEY_CH_UP
+ 2185756687
+ name 1_584_KEY_CH_DOWN
+ 2185756688
+ name 1_584_KEY_MUTE
+ 2185756689
+ name 1_584_KEY_VOL_DOWN
+ 2185756690
+ name 1_584_KEY_VOL_UP
+ 2185756692
+ name 1_584_KEY_MNSELECT
+ 2185756695
+ name 1_584_KEY_MENU
+ 2185756719
+ name 1_584_KEY_MUP
+ 2185756720
+ name 1_584_KEY_MDOWN
+ 2185756721
+ name 1_584_KEY_MLEFT
+ 2185756722
+ name 1_584_KEY_MRIGHT
+ 2185756723
+ name 1_585_KEY_0
+ 2185822208
+ name 1_585_KEY_1
+ 2185822209
+ name 1_585_KEY_2
+ 2185822210
+ name 1_585_KEY_3
+ 2185822211
+ name 1_585_KEY_4
+ 2185822212
+ name 1_585_KEY_5
+ 2185822213
+ name 1_585_KEY_6
+ 2185822214
+ name 1_585_KEY_7
+ 2185822215
+ name 1_585_KEY_8
+ 2185822216
+ name 1_585_KEY_9
+ 2185822217
+ name 1_585_KEY_POWER
+ 2185822218
+ name 1_585_KEY_CH_UP
+ 2185822223
+ name 1_585_KEY_CH_DOWN
+ 2185822224
+ name 1_585_KEY_MUTE
+ 2185822225
+ name 1_585_KEY_AV
+ 2185822249
+ name 1_586_KEY_0
+ 2185887744
+ name 1_586_KEY_1
+ 2185887745
+ name 1_586_KEY_2
+ 2185887746
+ name 1_586_KEY_3
+ 2185887747
+ name 1_586_KEY_4
+ 2185887748
+ name 1_586_KEY_5
+ 2185887749
+ name 1_586_KEY_6
+ 2185887750
+ name 1_586_KEY_7
+ 2185887751
+ name 1_586_KEY_8
+ 2185887752
+ name 1_586_KEY_9
+ 2185887753
+ name 1_586_KEY_POWER
+ 2185887754
+ name 1_586_KEY_CH_UP
+ 2185887759
+ name 1_586_KEY_CH_DOWN
+ 2185887760
+ name 1_586_KEY_MUTE
+ 2185887761
+ name 1_586_KEY_MNSELECT
+ 2185887767
+ name 1_586_KEY_MUP
+ 2185887792
+ name 1_586_KEY_MDOWN
+ 2185887793
+ name 1_587_KEY_0
+ 2185953280
+ name 1_587_KEY_1
+ 2185953281
+ name 1_587_KEY_2
+ 2185953282
+ name 1_587_KEY_3
+ 2185953283
+ name 1_587_KEY_4
+ 2185953284
+ name 1_587_KEY_5
+ 2185953285
+ name 1_587_KEY_6
+ 2185953286
+ name 1_587_KEY_7
+ 2185953287
+ name 1_587_KEY_8
+ 2185953288
+ name 1_587_KEY_9
+ 2185953289
+ name 1_587_KEY_POWER
+ 2185953290
+ name 1_587_KEY_CH_UP
+ 2185953295
+ name 1_587_KEY_CH_DOWN
+ 2185953296
+ name 1_587_KEY_MUTE
+ 2185953297
+ name 1_587_KEY_VOL_DOWN
+ 2185953298
+ name 1_587_KEY_VOL_UP
+ 2185953300
+ name 1_587_KEY_MNSELECT
+ 2185953303
+ name 1_587_KEY_EXIT
+ 2185953304
+ name 1_587_KEY_MENU
+ 2185953327
+ name 1_587_KEY_MUP
+ 2185953328
+ name 1_587_KEY_MDOWN
+ 2185953329
+ name 1_587_KEY_MLEFT
+ 2185953330
+ name 1_587_KEY_MRIGHT
+ 2185953331
+ name 1_588_KEY_0
+ 2186018816
+ name 1_588_KEY_1
+ 2186018817
+ name 1_588_KEY_2
+ 2186018818
+ name 1_588_KEY_3
+ 2186018819
+ name 1_588_KEY_4
+ 2186018820
+ name 1_588_KEY_5
+ 2186018821
+ name 1_588_KEY_6
+ 2186018822
+ name 1_588_KEY_7
+ 2186018823
+ name 1_588_KEY_8
+ 2186018824
+ name 1_588_KEY_9
+ 2186018825
+ name 1_588_KEY_POWER
+ 2186018826
+ name 1_588_KEY_CH_UP
+ 2186018831
+ name 1_588_KEY_CH_DOWN
+ 2186018832
+ name 1_588_KEY_MUTE
+ 2186018833
+ name 1_588_KEY_VOL_DOWN
+ 2186018834
+ name 1_588_KEY_VOL_UP
+ 2186018836
+ name 1_588_KEY_MNSELECT
+ 2186018839
+ name 1_588_KEY_EXIT
+ 2186018840
+ name 1_588_KEY_AV
+ 2186018857
+ name 1_588_KEY_MENU
+ 2186018863
+ name 1_588_KEY_MUP
+ 2186018864
+ name 1_588_KEY_MDOWN
+ 2186018865
+ name 1_588_KEY_MLEFT
+ 2186018866
+ name 1_588_KEY_MRIGHT
+ 2186018867
+ name 1_589_KEY_0
+ 2186084352
+ name 1_589_KEY_1
+ 2186084353
+ name 1_589_KEY_2
+ 2186084354
+ name 1_589_KEY_3
+ 2186084355
+ name 1_589_KEY_4
+ 2186084356
+ name 1_589_KEY_5
+ 2186084357
+ name 1_589_KEY_6
+ 2186084358
+ name 1_589_KEY_7
+ 2186084359
+ name 1_589_KEY_8
+ 2186084360
+ name 1_589_KEY_9
+ 2186084361
+ name 1_589_KEY_POWER
+ 2186084362
+ name 1_589_KEY_CH_UP
+ 2186084367
+ name 1_589_KEY_CH_DOWN
+ 2186084368
+ name 1_589_KEY_MUTE
+ 2186084369
+ name 1_589_KEY_VOL_DOWN
+ 2186084370
+ name 1_589_KEY_VOL_UP
+ 2186084372
+ name 1_589_KEY_MNSELECT
+ 2186084375
+ name 1_589_KEY_EXIT
+ 2186084376
+ name 1_589_KEY_AV
+ 2186084393
+ name 1_589_KEY_MENU
+ 2186084399
+ name 1_589_KEY_MUP
+ 2186084400
+ name 1_589_KEY_MDOWN
+ 2186084401
+ name 1_589_KEY_MLEFT
+ 2186084402
+ name 1_589_KEY_MRIGHT
+ 2186084403
+ name 1_590_KEY_0
+ 2186149888
+ name 1_590_KEY_1
+ 2186149889
+ name 1_590_KEY_2
+ 2186149890
+ name 1_590_KEY_3
+ 2186149891
+ name 1_590_KEY_4
+ 2186149892
+ name 1_590_KEY_5
+ 2186149893
+ name 1_590_KEY_6
+ 2186149894
+ name 1_590_KEY_7
+ 2186149895
+ name 1_590_KEY_8
+ 2186149896
+ name 1_590_KEY_9
+ 2186149897
+ name 1_590_KEY_POWER
+ 2186149898
+ name 1_590_KEY_CH_UP
+ 2186149903
+ name 1_590_KEY_CH_DOWN
+ 2186149904
+ name 1_590_KEY_MUTE
+ 2186149905
+ name 1_590_KEY_VOL_DOWN
+ 2186149906
+ name 1_590_KEY_VOL_UP
+ 2186149908
+ name 1_590_KEY_MNSELECT
+ 2186149911
+ name 1_590_KEY_EXIT
+ 2186149912
+ name 1_590_KEY_AV
+ 2186149929
+ name 1_590_KEY_MENU
+ 2186149935
+ name 1_590_KEY_MUP
+ 2186149936
+ name 1_590_KEY_MDOWN
+ 2186149937
+ name 1_590_KEY_MLEFT
+ 2186149938
+ name 1_590_KEY_MRIGHT
+ 2186149939
+ name 1_591_KEY_0
+ 2186215424
+ name 1_591_KEY_1
+ 2186215425
+ name 1_591_KEY_2
+ 2186215426
+ name 1_591_KEY_3
+ 2186215427
+ name 1_591_KEY_4
+ 2186215428
+ name 1_591_KEY_5
+ 2186215429
+ name 1_591_KEY_6
+ 2186215430
+ name 1_591_KEY_7
+ 2186215431
+ name 1_591_KEY_8
+ 2186215432
+ name 1_591_KEY_9
+ 2186215433
+ name 1_591_KEY_POWER
+ 2186215434
+ name 1_591_KEY_CH_UP
+ 2186215439
+ name 1_591_KEY_CH_DOWN
+ 2186215440
+ name 1_591_KEY_MUTE
+ 2186215441
+ name 1_591_KEY_VOL_DOWN
+ 2186215442
+ name 1_591_KEY_VOL_UP
+ 2186215444
+ name 1_591_KEY_MNSELECT
+ 2186215447
+ name 1_591_KEY_EXIT
+ 2186215448
+ name 1_591_KEY_AV
+ 2186215465
+ name 1_591_KEY_MENU
+ 2186215471
+ name 1_591_KEY_MUP
+ 2186215472
+ name 1_591_KEY_MDOWN
+ 2186215473
+ name 1_591_KEY_MLEFT
+ 2186215474
+ name 1_591_KEY_MRIGHT
+ 2186215475
+ name 1_592_KEY_0
+ 2186280960
+ name 1_592_KEY_1
+ 2186280961
+ name 1_592_KEY_2
+ 2186280962
+ name 1_592_KEY_3
+ 2186280963
+ name 1_592_KEY_4
+ 2186280964
+ name 1_592_KEY_5
+ 2186280965
+ name 1_592_KEY_6
+ 2186280966
+ name 1_592_KEY_7
+ 2186280967
+ name 1_592_KEY_8
+ 2186280968
+ name 1_592_KEY_9
+ 2186280969
+ name 1_592_KEY_POWER
+ 2186280970
+ name 1_592_KEY_CH_UP
+ 2186280975
+ name 1_592_KEY_CH_DOWN
+ 2186280976
+ name 1_592_KEY_MUTE
+ 2186280977
+ name 1_592_KEY_VOL_DOWN
+ 2186280978
+ name 1_592_KEY_VOL_UP
+ 2186280980
+ name 1_592_KEY_MNSELECT
+ 2186280983
+ name 1_592_KEY_EXIT
+ 2186280984
+ name 1_592_KEY_AV
+ 2186281001
+ name 1_592_KEY_MENU
+ 2186281007
+ name 1_592_KEY_MUP
+ 2186281008
+ name 1_592_KEY_MDOWN
+ 2186281009
+ name 1_592_KEY_MLEFT
+ 2186281010
+ name 1_592_KEY_MRIGHT
+ 2186281011
+ name 1_593_KEY_0
+ 2186346496
+ name 1_593_KEY_1
+ 2186346497
+ name 1_593_KEY_2
+ 2186346498
+ name 1_593_KEY_3
+ 2186346499
+ name 1_593_KEY_4
+ 2186346500
+ name 1_593_KEY_5
+ 2186346501
+ name 1_593_KEY_6
+ 2186346502
+ name 1_593_KEY_7
+ 2186346503
+ name 1_593_KEY_8
+ 2186346504
+ name 1_593_KEY_9
+ 2186346505
+ name 1_593_KEY_POWER
+ 2186346506
+ name 1_593_KEY_CH_UP
+ 2186346511
+ name 1_593_KEY_CH_DOWN
+ 2186346512
+ name 1_593_KEY_MUTE
+ 2186346513
+ name 1_593_KEY_VOL_DOWN
+ 2186346514
+ name 1_593_KEY_VOL_UP
+ 2186346516
+ name 1_593_KEY_MNSELECT
+ 2186346519
+ name 1_593_KEY_EXIT
+ 2186346520
+ name 1_593_KEY_AV
+ 2186346537
+ name 1_593_KEY_MENU
+ 2186346543
+ name 1_593_KEY_MUP
+ 2186346544
+ name 1_593_KEY_MDOWN
+ 2186346545
+ name 1_593_KEY_MLEFT
+ 2186346546
+ name 1_593_KEY_MRIGHT
+ 2186346547
+ name 1_594_KEY_0
+ 2186412032
+ name 1_594_KEY_1
+ 2186412033
+ name 1_594_KEY_2
+ 2186412034
+ name 1_594_KEY_3
+ 2186412035
+ name 1_594_KEY_4
+ 2186412036
+ name 1_594_KEY_5
+ 2186412037
+ name 1_594_KEY_6
+ 2186412038
+ name 1_594_KEY_7
+ 2186412039
+ name 1_594_KEY_8
+ 2186412040
+ name 1_594_KEY_9
+ 2186412041
+ name 1_594_KEY_POWER
+ 2186412042
+ name 1_594_KEY_CH_UP
+ 2186412047
+ name 1_594_KEY_CH_DOWN
+ 2186412048
+ name 1_594_KEY_MUTE
+ 2186412049
+ name 1_594_KEY_MNSELECT
+ 2186412055
+ name 1_594_KEY_AV
+ 2186412073
+ name 1_595_KEY_0
+ 2186477568
+ name 1_595_KEY_1
+ 2186477569
+ name 1_595_KEY_2
+ 2186477570
+ name 1_595_KEY_3
+ 2186477571
+ name 1_595_KEY_4
+ 2186477572
+ name 1_595_KEY_5
+ 2186477573
+ name 1_595_KEY_6
+ 2186477574
+ name 1_595_KEY_7
+ 2186477575
+ name 1_595_KEY_8
+ 2186477576
+ name 1_595_KEY_9
+ 2186477577
+ name 1_595_KEY_POWER
+ 2186477578
+ name 1_595_KEY_CH_UP
+ 2186477583
+ name 1_595_KEY_CH_DOWN
+ 2186477584
+ name 1_595_KEY_MUTE
+ 2186477585
+ name 1_595_KEY_VOL_DOWN
+ 2186477586
+ name 1_595_KEY_VOL_UP
+ 2186477588
+ name 1_595_KEY_MNSELECT
+ 2186477591
+ name 1_595_KEY_EXIT
+ 2186477592
+ name 1_595_KEY_AV
+ 2186477609
+ name 1_595_KEY_MENU
+ 2186477615
+ name 1_595_KEY_MUP
+ 2186477616
+ name 1_595_KEY_MDOWN
+ 2186477617
+ name 1_595_KEY_MLEFT
+ 2186477618
+ name 1_595_KEY_MRIGHT
+ 2186477619
+ name 1_596_KEY_0
+ 2186543104
+ name 1_596_KEY_1
+ 2186543105
+ name 1_596_KEY_2
+ 2186543106
+ name 1_596_KEY_3
+ 2186543107
+ name 1_596_KEY_4
+ 2186543108
+ name 1_596_KEY_5
+ 2186543109
+ name 1_596_KEY_6
+ 2186543110
+ name 1_596_KEY_7
+ 2186543111
+ name 1_596_KEY_8
+ 2186543112
+ name 1_596_KEY_9
+ 2186543113
+ name 1_596_KEY_POWER
+ 2186543114
+ name 1_596_TWO_DIGITS
+ 2186543117
+ name 1_596_KEY_CH_UP
+ 2186543119
+ name 1_596_KEY_CH_DOWN
+ 2186543120
+ name 1_596_KEY_MUTE
+ 2186543121
+ name 1_596_KEY_VOL_DOWN
+ 2186543122
+ name 1_596_KEY_VOL_UP
+ 2186543124
+ name 1_596_KEY_BLUE
+ 2186543139
+ name 1_596_KEY_GREEN
+ 2186543140
+ name 1_596_KEY_RED
+ 2186543141
+ name 1_596_KEY_YELLOW
+ 2186543142
+ name 1_596_KEY_MENU
+ 2186543151
+ name 1_596_KEY_On
+ 2186543181
+ name 1_597_KEY_0
+ 2186608640
+ name 1_597_KEY_1
+ 2186608641
+ name 1_597_KEY_2
+ 2186608642
+ name 1_597_KEY_3
+ 2186608643
+ name 1_597_KEY_4
+ 2186608644
+ name 1_597_KEY_5
+ 2186608645
+ name 1_597_KEY_6
+ 2186608646
+ name 1_597_KEY_7
+ 2186608647
+ name 1_597_KEY_8
+ 2186608648
+ name 1_597_KEY_9
+ 2186608649
+ name 1_597_KEY_POWER
+ 2186608650
+ name 1_597_KEY_CH_UP
+ 2186608655
+ name 1_597_KEY_CH_DOWN
+ 2186608656
+ name 1_597_KEY_MUTE
+ 2186608657
+ name 1_597_KEY_VOL_DOWN
+ 2186608658
+ name 1_597_KEY_VOL_UP
+ 2186608660
+ name 1_597_KEY_MNSELECT
+ 2186608663
+ name 1_597_KEY_MENU
+ 2186608687
+ name 1_597_KEY_MUP
+ 2186608688
+ name 1_597_KEY_MDOWN
+ 2186608689
+ name 1_597_KEY_MLEFT
+ 2186608690
+ name 1_597_KEY_MRIGHT
+ 2186608691
+ name 1_597_KEY_Sleep
+ 2186608703
+ name 1_597_KEY_Off
+ 2186608718
+ name 1_598_KEY_0
+ 2186674176
+ name 1_598_KEY_1
+ 2186674177
+ name 1_598_KEY_2
+ 2186674178
+ name 1_598_KEY_3
+ 2186674179
+ name 1_598_KEY_4
+ 2186674180
+ name 1_598_KEY_5
+ 2186674181
+ name 1_598_KEY_6
+ 2186674182
+ name 1_598_KEY_7
+ 2186674183
+ name 1_598_KEY_8
+ 2186674184
+ name 1_598_KEY_9
+ 2186674185
+ name 1_598_KEY_POWER
+ 2186674186
+ name 1_598_KEY_CH_UP
+ 2186674191
+ name 1_598_KEY_CH_DOWN
+ 2186674192
+ name 1_598_KEY_MUTE
+ 2186674193
+ name 1_598_KEY_MENU
+ 2186674223
+ name 1_598_KEY_MUP
+ 2186674224
+ name 1_598_KEY_MDOWN
+ 2186674225
+ name 1_599_KEY_0
+ 2186739712
+ name 1_599_KEY_1
+ 2186739713
+ name 1_599_KEY_2
+ 2186739714
+ name 1_599_KEY_3
+ 2186739715
+ name 1_599_KEY_4
+ 2186739716
+ name 1_599_KEY_5
+ 2186739717
+ name 1_599_KEY_6
+ 2186739718
+ name 1_599_KEY_7
+ 2186739719
+ name 1_599_KEY_8
+ 2186739720
+ name 1_599_KEY_9
+ 2186739721
+ name 1_599_KEY_POWER
+ 2186739722
+ name 1_599_TWO_DIGITS
+ 2186739725
+ name 1_599_KEY_CH_UP
+ 2186739727
+ name 1_599_KEY_CH_DOWN
+ 2186739728
+ name 1_599_KEY_MUTE
+ 2186739729
+ name 1_599_KEY_VOL_DOWN
+ 2186739730
+ name 1_599_KEY_VOL_UP
+ 2186739732
+ name 1_599_KEY_MNSELECT
+ 2186739735
+ name 1_599_KEY_EXIT
+ 2186739736
+ name 1_599_KEY_BLUE
+ 2186739747
+ name 1_599_KEY_GREEN
+ 2186739748
+ name 1_599_KEY_RED
+ 2186739749
+ name 1_599_KEY_YELLOW
+ 2186739750
+ name 1_599_KEY_MENU
+ 2186739759
+ name 1_599_KEY_MUP
+ 2186739760
+ name 1_599_KEY_MDOWN
+ 2186739761
+ name 1_599_KEY_On
+ 2186739789
+ name 1_599_KEY_Off
+ 2186739790
+ name 1_600_KEY_0
+ 2186805248
+ name 1_600_KEY_1
+ 2186805249
+ name 1_600_KEY_2
+ 2186805250
+ name 1_600_KEY_3
+ 2186805251
+ name 1_600_KEY_4
+ 2186805252
+ name 1_600_KEY_5
+ 2186805253
+ name 1_600_KEY_6
+ 2186805254
+ name 1_600_KEY_7
+ 2186805255
+ name 1_600_KEY_8
+ 2186805256
+ name 1_600_KEY_9
+ 2186805257
+ name 1_600_KEY_POWER
+ 2186805258
+ name 1_600_TWO_DIGITS
+ 2186805261
+ name 1_600_KEY_CH_UP
+ 2186805263
+ name 1_600_KEY_CH_DOWN
+ 2186805264
+ name 1_600_KEY_MUTE
+ 2186805265
+ name 1_600_KEY_VOL_DOWN
+ 2186805266
+ name 1_600_CH_PREVIOUS
+ 2186805267
+ name 1_600_KEY_VOL_UP
+ 2186805268
+ name 1_600_KEY_MNSELECT
+ 2186805271
+ name 1_600_KEY_EXIT
+ 2186805272
+ name 1_600_KEY_MNRETRUN
+ 2186805280
+ name 1_600_KEY_BLUE
+ 2186805283
+ name 1_600_KEY_GREEN
+ 2186805284
+ name 1_600_KEY_RED
+ 2186805285
+ name 1_600_KEY_YELLOW
+ 2186805286
+ name 1_600_KEY_MENU
+ 2186805295
+ name 1_600_KEY_MUP
+ 2186805296
+ name 1_600_KEY_MDOWN
+ 2186805297
+ name 1_600_KEY_MLEFT
+ 2186805298
+ name 1_600_KEY_MRIGHT
+ 2186805299
+ name 1_600_KEY_Sleep
+ 2186805311
+ name 1_600_KEY_DSubtitle
+ 2186805316
+ name 1_600_KEY_On
+ 2186805325
+ name 1_600_KEY_Off
+ 2186805326
+ name 1_601_KEY_0
+ 2186870784
+ name 1_601_KEY_1
+ 2186870785
+ name 1_601_KEY_2
+ 2186870786
+ name 1_601_KEY_3
+ 2186870787
+ name 1_601_KEY_4
+ 2186870788
+ name 1_601_KEY_5
+ 2186870789
+ name 1_601_KEY_6
+ 2186870790
+ name 1_601_KEY_7
+ 2186870791
+ name 1_601_KEY_8
+ 2186870792
+ name 1_601_KEY_9
+ 2186870793
+ name 1_601_KEY_POWER
+ 2186870794
+ name 1_601_TWO_DIGITS
+ 2186870797
+ name 1_601_KEY_CH_UP
+ 2186870799
+ name 1_601_KEY_CH_DOWN
+ 2186870800
+ name 1_601_KEY_MUTE
+ 2186870801
+ name 1_601_KEY_VOL_DOWN
+ 2186870802
+ name 1_601_KEY_VOL_UP
+ 2186870804
+ name 1_601_KEY_EXIT
+ 2186870808
+ name 1_601_KEY_GUIDE
+ 2186870811
+ name 1_601_KEY_BLUE
+ 2186870819
+ name 1_601_KEY_GREEN
+ 2186870820
+ name 1_601_KEY_RED
+ 2186870821
+ name 1_601_KEY_YELLOW
+ 2186870822
+ name 1_601_KEY_MENU
+ 2186870831
+ name 1_601_KEY_MUP
+ 2186870832
+ name 1_601_KEY_MDOWN
+ 2186870833
+ name 1_601_KEY_Sleep
+ 2186870847
+ name 1_601_KEY_DSubtitle
+ 2186870852
+ name 1_601_KEY_On
+ 2186870861
+ name 1_602_KEY_0
+ 2186936320
+ name 1_602_KEY_1
+ 2186936321
+ name 1_602_KEY_2
+ 2186936322
+ name 1_602_KEY_3
+ 2186936323
+ name 1_602_KEY_4
+ 2186936324
+ name 1_602_KEY_5
+ 2186936325
+ name 1_602_KEY_6
+ 2186936326
+ name 1_602_KEY_7
+ 2186936327
+ name 1_602_KEY_8
+ 2186936328
+ name 1_602_KEY_9
+ 2186936329
+ name 1_602_KEY_POWER
+ 2186936330
+ name 1_602_KEY_CH_UP
+ 2186936335
+ name 1_602_KEY_CH_DOWN
+ 2186936336
+ name 1_602_KEY_MUTE
+ 2186936337
+ name 1_602_KEY_VOL_DOWN
+ 2186936338
+ name 1_602_CH_PREVIOUS
+ 2186936339
+ name 1_602_KEY_VOL_UP
+ 2186936340
+ name 1_602_KEY_MNSELECT
+ 2186936343
+ name 1_602_KEY_EXIT
+ 2186936344
+ name 1_602_KEY_GUIDE
+ 2186936347
+ name 1_602_KEY_MENU
+ 2186936367
+ name 1_602_KEY_MUP
+ 2186936368
+ name 1_602_KEY_MDOWN
+ 2186936369
+ name 1_602_KEY_MLEFT
+ 2186936370
+ name 1_602_KEY_MRIGHT
+ 2186936371
+ name 1_602_KEY_On
+ 2186936397
+ name 1_602_KEY_Off
+ 2186936398
+ name 1_603_KEY_0
+ 2187001856
+ name 1_603_KEY_1
+ 2187001857
+ name 1_603_KEY_2
+ 2187001858
+ name 1_603_KEY_3
+ 2187001859
+ name 1_603_KEY_4
+ 2187001860
+ name 1_603_KEY_5
+ 2187001861
+ name 1_603_KEY_6
+ 2187001862
+ name 1_603_KEY_7
+ 2187001863
+ name 1_603_KEY_8
+ 2187001864
+ name 1_603_KEY_9
+ 2187001865
+ name 1_603_KEY_POWER
+ 2187001866
+ name 1_603_KEY_CH_UP
+ 2187001871
+ name 1_603_KEY_CH_DOWN
+ 2187001872
+ name 1_603_KEY_MUTE
+ 2187001873
+ name 1_603_CH_PREVIOUS
+ 2187001875
+ name 1_604_KEY_0
+ 2187067392
+ name 1_604_KEY_1
+ 2187067393
+ name 1_604_KEY_2
+ 2187067394
+ name 1_604_KEY_3
+ 2187067395
+ name 1_604_KEY_4
+ 2187067396
+ name 1_604_KEY_5
+ 2187067397
+ name 1_604_KEY_6
+ 2187067398
+ name 1_604_KEY_7
+ 2187067399
+ name 1_604_KEY_8
+ 2187067400
+ name 1_604_KEY_9
+ 2187067401
+ name 1_604_KEY_POWER
+ 2187067402
+ name 1_604_KEY_CH_UP
+ 2187067407
+ name 1_604_KEY_CH_DOWN
+ 2187067408
+ name 1_604_KEY_MUTE
+ 2187067409
+ name 1_604_CH_PREVIOUS
+ 2187067411
+ name 1_605_KEY_0
+ 2187132928
+ name 1_605_KEY_1
+ 2187132929
+ name 1_605_KEY_2
+ 2187132930
+ name 1_605_KEY_3
+ 2187132931
+ name 1_605_KEY_4
+ 2187132932
+ name 1_605_KEY_5
+ 2187132933
+ name 1_605_KEY_6
+ 2187132934
+ name 1_605_KEY_7
+ 2187132935
+ name 1_605_KEY_8
+ 2187132936
+ name 1_605_KEY_9
+ 2187132937
+ name 1_605_KEY_POWER
+ 2187132938
+ name 1_605_KEY_CH_UP
+ 2187132943
+ name 1_605_KEY_CH_DOWN
+ 2187132944
+ name 1_605_KEY_MUTE
+ 2187132945
+ name 1_605_KEY_VOL_DOWN
+ 2187132946
+ name 1_605_KEY_VOL_UP
+ 2187132948
+ name 1_605_KEY_MNSELECT
+ 2187132951
+ name 1_605_KEY_EXIT
+ 2187132952
+ name 1_605_KEY_MENU
+ 2187132975
+ name 1_605_KEY_MUP
+ 2187132976
+ name 1_605_KEY_MDOWN
+ 2187132977
+ name 1_605_KEY_MLEFT
+ 2187132978
+ name 1_605_KEY_MRIGHT
+ 2187132979
+ name 1_606_KEY_0
+ 2187198464
+ name 1_606_KEY_1
+ 2187198465
+ name 1_606_KEY_2
+ 2187198466
+ name 1_606_KEY_3
+ 2187198467
+ name 1_606_KEY_4
+ 2187198468
+ name 1_606_KEY_5
+ 2187198469
+ name 1_606_KEY_6
+ 2187198470
+ name 1_606_KEY_7
+ 2187198471
+ name 1_606_KEY_8
+ 2187198472
+ name 1_606_KEY_9
+ 2187198473
+ name 1_606_KEY_POWER
+ 2187198474
+ name 1_606_KEY_CH_UP
+ 2187198479
+ name 1_606_KEY_CH_DOWN
+ 2187198480
+ name 1_606_KEY_MUTE
+ 2187198481
+ name 1_606_KEY_VOL_DOWN
+ 2187198482
+ name 1_606_KEY_VOL_UP
+ 2187198484
+ name 1_606_KEY_MNSELECT
+ 2187198487
+ name 1_606_KEY_EXIT
+ 2187198488
+ name 1_606_KEY_MENU
+ 2187198511
+ name 1_606_KEY_MUP
+ 2187198512
+ name 1_606_KEY_MDOWN
+ 2187198513
+ name 1_606_KEY_MLEFT
+ 2187198514
+ name 1_606_KEY_MRIGHT
+ 2187198515
+ name 1_607_KEY_0
+ 2187264000
+ name 1_607_KEY_1
+ 2187264001
+ name 1_607_KEY_2
+ 2187264002
+ name 1_607_KEY_3
+ 2187264003
+ name 1_607_KEY_4
+ 2187264004
+ name 1_607_KEY_5
+ 2187264005
+ name 1_607_KEY_6
+ 2187264006
+ name 1_607_KEY_7
+ 2187264007
+ name 1_607_KEY_8
+ 2187264008
+ name 1_607_KEY_9
+ 2187264009
+ name 1_607_KEY_POWER
+ 2187264010
+ name 1_607_TWO_DIGITS
+ 2187264013
+ name 1_607_KEY_CH_UP
+ 2187264015
+ name 1_607_KEY_CH_DOWN
+ 2187264016
+ name 1_607_KEY_MUTE
+ 2187264017
+ name 1_607_KEY_VOL_DOWN
+ 2187264018
+ name 1_607_CH_PREVIOUS
+ 2187264019
+ name 1_607_KEY_VOL_UP
+ 2187264020
+ name 1_607_KEY_MNSELECT
+ 2187264023
+ name 1_607_KEY_MENU
+ 2187264047
+ name 1_607_KEY_MUP
+ 2187264048
+ name 1_607_KEY_MDOWN
+ 2187264049
+ name 1_607_KEY_MLEFT
+ 2187264050
+ name 1_607_KEY_MRIGHT
+ 2187264051
+ name 1_607_KEY_Sleep
+ 2187264063
+ name 1_608_KEY_0
+ 2187329536
+ name 1_608_KEY_1
+ 2187329537
+ name 1_608_KEY_2
+ 2187329538
+ name 1_608_KEY_3
+ 2187329539
+ name 1_608_KEY_4
+ 2187329540
+ name 1_608_KEY_5
+ 2187329541
+ name 1_608_KEY_6
+ 2187329542
+ name 1_608_KEY_7
+ 2187329543
+ name 1_608_KEY_8
+ 2187329544
+ name 1_608_KEY_9
+ 2187329545
+ name 1_608_KEY_POWER
+ 2187329546
+ name 1_608_TWO_DIGITS
+ 2187329549
+ name 1_608_KEY_CH_UP
+ 2187329551
+ name 1_608_KEY_CH_DOWN
+ 2187329552
+ name 1_608_KEY_MUTE
+ 2187329553
+ name 1_608_KEY_VOL_DOWN
+ 2187329554
+ name 1_608_CH_PREVIOUS
+ 2187329555
+ name 1_608_KEY_VOL_UP
+ 2187329556
+ name 1_608_KEY_MNSELECT
+ 2187329559
+ name 1_608_KEY_MENU
+ 2187329583
+ name 1_608_KEY_MUP
+ 2187329584
+ name 1_608_KEY_MDOWN
+ 2187329585
+ name 1_608_KEY_MLEFT
+ 2187329586
+ name 1_608_KEY_MRIGHT
+ 2187329587
+ name 1_608_KEY_Sleep
+ 2187329599
+ name 1_609_KEY_0
+ 2187395072
+ name 1_609_KEY_1
+ 2187395073
+ name 1_609_KEY_2
+ 2187395074
+ name 1_609_KEY_3
+ 2187395075
+ name 1_609_KEY_4
+ 2187395076
+ name 1_609_KEY_5
+ 2187395077
+ name 1_609_KEY_6
+ 2187395078
+ name 1_609_KEY_7
+ 2187395079
+ name 1_609_KEY_8
+ 2187395080
+ name 1_609_KEY_9
+ 2187395081
+ name 1_609_KEY_POWER
+ 2187395082
+ name 1_609_KEY_CH_UP
+ 2187395087
+ name 1_609_KEY_CH_DOWN
+ 2187395088
+ name 1_609_KEY_MUTE
+ 2187395089
+ name 1_609_KEY_VOL_DOWN
+ 2187395090
+ name 1_609_KEY_VOL_UP
+ 2187395092
+ name 1_609_KEY_MNSELECT
+ 2187395095
+ name 1_609_KEY_MENU
+ 2187395119
+ name 1_609_KEY_MUP
+ 2187395120
+ name 1_609_KEY_MDOWN
+ 2187395121
+ name 1_609_KEY_MLEFT
+ 2187395122
+ name 1_609_KEY_MRIGHT
+ 2187395123
+ name 1_609_KEY_On
+ 2187395149
+ name 1_609_KEY_Off
+ 2187395150
+ name 1_610_KEY_0
+ 2187460608
+ name 1_610_KEY_1
+ 2187460609
+ name 1_610_KEY_2
+ 2187460610
+ name 1_610_KEY_3
+ 2187460611
+ name 1_610_KEY_4
+ 2187460612
+ name 1_610_KEY_5
+ 2187460613
+ name 1_610_KEY_6
+ 2187460614
+ name 1_610_KEY_7
+ 2187460615
+ name 1_610_KEY_8
+ 2187460616
+ name 1_610_KEY_9
+ 2187460617
+ name 1_610_KEY_POWER
+ 2187460618
+ name 1_610_KEY_CH_UP
+ 2187460623
+ name 1_610_KEY_CH_DOWN
+ 2187460624
+ name 1_610_KEY_MUTE
+ 2187460625
+ name 1_610_KEY_VOL_DOWN
+ 2187460626
+ name 1_610_KEY_VOL_UP
+ 2187460628
+ name 1_610_KEY_MNSELECT
+ 2187460631
+ name 1_610_KEY_MENU
+ 2187460655
+ name 1_610_KEY_MUP
+ 2187460656
+ name 1_610_KEY_MDOWN
+ 2187460657
+ name 1_610_KEY_MLEFT
+ 2187460658
+ name 1_610_KEY_MRIGHT
+ 2187460659
+ name 1_610_KEY_On
+ 2187460685
+ name 1_610_KEY_Off
+ 2187460686
+ name 1_611_KEY_0
+ 2187526144
+ name 1_611_KEY_1
+ 2187526145
+ name 1_611_KEY_2
+ 2187526146
+ name 1_611_KEY_3
+ 2187526147
+ name 1_611_KEY_4
+ 2187526148
+ name 1_611_KEY_5
+ 2187526149
+ name 1_611_KEY_6
+ 2187526150
+ name 1_611_KEY_7
+ 2187526151
+ name 1_611_KEY_8
+ 2187526152
+ name 1_611_KEY_9
+ 2187526153
+ name 1_611_KEY_POWER
+ 2187526154
+ name 1_611_TWO_DIGITS
+ 2187526157
+ name 1_611_KEY_CH_UP
+ 2187526159
+ name 1_611_KEY_CH_DOWN
+ 2187526160
+ name 1_611_KEY_MUTE
+ 2187526161
+ name 1_611_CH_PREVIOUS
+ 2187526163
+ name 1_611_KEY_MNSELECT
+ 2187526167
+ name 1_611_KEY_MENU
+ 2187526191
+ name 1_611_KEY_MUP
+ 2187526192
+ name 1_611_KEY_MDOWN
+ 2187526193
+ name 1_611_KEY_MLEFT
+ 2187526194
+ name 1_611_KEY_MRIGHT
+ 2187526195
+ name 1_611_KEY_On
+ 2187526221
+ name 1_612_KEY_0
+ 2187591680
+ name 1_612_KEY_1
+ 2187591681
+ name 1_612_KEY_2
+ 2187591682
+ name 1_612_KEY_3
+ 2187591683
+ name 1_612_KEY_4
+ 2187591684
+ name 1_612_KEY_5
+ 2187591685
+ name 1_612_KEY_6
+ 2187591686
+ name 1_612_KEY_7
+ 2187591687
+ name 1_612_KEY_8
+ 2187591688
+ name 1_612_KEY_9
+ 2187591689
+ name 1_612_KEY_POWER
+ 2187591690
+ name 1_612_KEY_CH_UP
+ 2187591695
+ name 1_612_KEY_CH_DOWN
+ 2187591696
+ name 1_612_KEY_MNSELECT
+ 2187591703
+ name 1_613_KEY_0
+ 2187657216
+ name 1_613_KEY_1
+ 2187657217
+ name 1_613_KEY_2
+ 2187657218
+ name 1_613_KEY_3
+ 2187657219
+ name 1_613_KEY_4
+ 2187657220
+ name 1_613_KEY_5
+ 2187657221
+ name 1_613_KEY_6
+ 2187657222
+ name 1_613_KEY_7
+ 2187657223
+ name 1_613_KEY_8
+ 2187657224
+ name 1_613_KEY_9
+ 2187657225
+ name 1_613_KEY_POWER
+ 2187657226
+ name 1_613_KEY_CH_UP
+ 2187657231
+ name 1_613_KEY_CH_DOWN
+ 2187657232
+ name 1_613_KEY_MNSELECT
+ 2187657239
+ name 1_614_KEY_0
+ 2187722752
+ name 1_614_KEY_1
+ 2187722753
+ name 1_614_KEY_2
+ 2187722754
+ name 1_614_KEY_3
+ 2187722755
+ name 1_614_KEY_4
+ 2187722756
+ name 1_614_KEY_5
+ 2187722757
+ name 1_614_KEY_6
+ 2187722758
+ name 1_614_KEY_7
+ 2187722759
+ name 1_614_KEY_8
+ 2187722760
+ name 1_614_KEY_9
+ 2187722761
+ name 1_614_KEY_POWER
+ 2187722762
+ name 1_614_KEY_CH_UP
+ 2187722767
+ name 1_614_KEY_CH_DOWN
+ 2187722768
+ name 1_614_KEY_MUTE
+ 2187722769
+ name 1_614_KEY_VOL_DOWN
+ 2187722770
+ name 1_614_KEY_VOL_UP
+ 2187722772
+ name 1_614_KEY_EXIT
+ 2187722776
+ name 1_615_KEY_0
+ 2187788288
+ name 1_615_KEY_1
+ 2187788289
+ name 1_615_KEY_2
+ 2187788290
+ name 1_615_KEY_3
+ 2187788291
+ name 1_615_KEY_4
+ 2187788292
+ name 1_615_KEY_5
+ 2187788293
+ name 1_615_KEY_6
+ 2187788294
+ name 1_615_KEY_7
+ 2187788295
+ name 1_615_KEY_8
+ 2187788296
+ name 1_615_KEY_9
+ 2187788297
+ name 1_615_KEY_POWER
+ 2187788298
+ name 1_615_KEY_CH_UP
+ 2187788303
+ name 1_615_KEY_CH_DOWN
+ 2187788304
+ name 1_615_KEY_MUTE
+ 2187788305
+ name 1_615_KEY_VOL_DOWN
+ 2187788306
+ name 1_615_KEY_VOL_UP
+ 2187788308
+ name 1_615_KEY_MENU
+ 2187788335
+ name 1_615_KEY_MUP
+ 2187788336
+ name 1_615_KEY_MDOWN
+ 2187788337
+ name 1_615_KEY_MLEFT
+ 2187788338
+ name 1_615_KEY_MRIGHT
+ 2187788339
+ name 1_615_KEY_Sleep
+ 2187788351
+ name 1_615_KEY_Off
+ 2187788366
+ name 1_616_KEY_0
+ 2187853824
+ name 1_616_KEY_1
+ 2187853825
+ name 1_616_KEY_2
+ 2187853826
+ name 1_616_KEY_3
+ 2187853827
+ name 1_616_KEY_4
+ 2187853828
+ name 1_616_KEY_5
+ 2187853829
+ name 1_616_KEY_6
+ 2187853830
+ name 1_616_KEY_7
+ 2187853831
+ name 1_616_KEY_8
+ 2187853832
+ name 1_616_KEY_9
+ 2187853833
+ name 1_616_KEY_POWER
+ 2187853834
+ name 1_616_KEY_CH_UP
+ 2187853839
+ name 1_616_KEY_CH_DOWN
+ 2187853840
+ name 1_616_KEY_MUTE
+ 2187853841
+ name 1_616_KEY_VOL_DOWN
+ 2187853842
+ name 1_616_KEY_VOL_UP
+ 2187853844
+ name 1_616_KEY_MENU
+ 2187853871
+ name 1_616_KEY_MUP
+ 2187853872
+ name 1_616_KEY_MDOWN
+ 2187853873
+ name 1_616_KEY_MLEFT
+ 2187853874
+ name 1_616_KEY_MRIGHT
+ 2187853875
+ name 1_616_KEY_Sleep
+ 2187853887
+ name 1_616_KEY_Off
+ 2187853902
+ name 1_617_KEY_0
+ 2187919360
+ name 1_617_KEY_1
+ 2187919361
+ name 1_617_KEY_2
+ 2187919362
+ name 1_617_KEY_3
+ 2187919363
+ name 1_617_KEY_4
+ 2187919364
+ name 1_617_KEY_5
+ 2187919365
+ name 1_617_KEY_6
+ 2187919366
+ name 1_617_KEY_7
+ 2187919367
+ name 1_617_KEY_8
+ 2187919368
+ name 1_617_KEY_9
+ 2187919369
+ name 1_617_KEY_POWER
+ 2187919370
+ name 1_617_KEY_CH_UP
+ 2187919375
+ name 1_617_KEY_CH_DOWN
+ 2187919376
+ name 1_617_KEY_MUTE
+ 2187919377
+ name 1_617_KEY_VOL_DOWN
+ 2187919378
+ name 1_617_KEY_VOL_UP
+ 2187919380
+ name 1_617_KEY_MNSELECT
+ 2187919383
+ name 1_617_KEY_MENU
+ 2187919407
+ name 1_617_KEY_MUP
+ 2187919408
+ name 1_617_KEY_MDOWN
+ 2187919409
+ name 1_617_KEY_MLEFT
+ 2187919410
+ name 1_617_KEY_MRIGHT
+ 2187919411
+ name 1_617_KEY_Off
+ 2187919438
+ name 1_618_KEY_0
+ 2187984896
+ name 1_618_KEY_1
+ 2187984897
+ name 1_618_KEY_2
+ 2187984898
+ name 1_618_KEY_3
+ 2187984899
+ name 1_618_KEY_4
+ 2187984900
+ name 1_618_KEY_5
+ 2187984901
+ name 1_618_KEY_6
+ 2187984902
+ name 1_618_KEY_7
+ 2187984903
+ name 1_618_KEY_8
+ 2187984904
+ name 1_618_KEY_9
+ 2187984905
+ name 1_618_KEY_POWER
+ 2187984906
+ name 1_618_TWO_DIGITS
+ 2187984909
+ name 1_618_KEY_CH_UP
+ 2187984911
+ name 1_618_KEY_CH_DOWN
+ 2187984912
+ name 1_618_KEY_MUTE
+ 2187984913
+ name 1_618_KEY_VOL_DOWN
+ 2187984914
+ name 1_618_KEY_VOL_UP
+ 2187984916
+ name 1_618_KEY_MNSELECT
+ 2187984919
+ name 1_618_KEY_MENU
+ 2187984943
+ name 1_618_KEY_MUP
+ 2187984944
+ name 1_618_KEY_MDOWN
+ 2187984945
+ name 1_618_KEY_MLEFT
+ 2187984946
+ name 1_618_KEY_MRIGHT
+ 2187984947
+ name 1_619_KEY_0
+ 2188050432
+ name 1_619_KEY_1
+ 2188050433
+ name 1_619_KEY_2
+ 2188050434
+ name 1_619_KEY_3
+ 2188050435
+ name 1_619_KEY_4
+ 2188050436
+ name 1_619_KEY_5
+ 2188050437
+ name 1_619_KEY_6
+ 2188050438
+ name 1_619_KEY_7
+ 2188050439
+ name 1_619_KEY_8
+ 2188050440
+ name 1_619_KEY_9
+ 2188050441
+ name 1_619_KEY_POWER
+ 2188050442
+ name 1_619_KEY_CH_UP
+ 2188050447
+ name 1_619_KEY_CH_DOWN
+ 2188050448
+ name 1_619_KEY_MUTE
+ 2188050449
+ name 1_619_KEY_VOL_DOWN
+ 2188050450
+ name 1_619_KEY_VOL_UP
+ 2188050452
+ name 1_619_KEY_MNSELECT
+ 2188050455
+ name 1_619_KEY_EXIT
+ 2188050456
+ name 1_619_KEY_BLUE
+ 2188050467
+ name 1_619_KEY_GREEN
+ 2188050468
+ name 1_619_KEY_RED
+ 2188050469
+ name 1_619_KEY_YELLOW
+ 2188050470
+ name 1_619_KEY_MENU
+ 2188050479
+ name 1_619_KEY_MUP
+ 2188050480
+ name 1_619_KEY_MDOWN
+ 2188050481
+ name 1_619_KEY_MLEFT
+ 2188050482
+ name 1_619_KEY_MRIGHT
+ 2188050483
+ name 1_619_KEY_On
+ 2188050509
+ name 1_619_KEY_Off
+ 2188050510
+ name 1_620_KEY_0
+ 2188115968
+ name 1_620_KEY_1
+ 2188115969
+ name 1_620_KEY_2
+ 2188115970
+ name 1_620_KEY_3
+ 2188115971
+ name 1_620_KEY_4
+ 2188115972
+ name 1_620_KEY_5
+ 2188115973
+ name 1_620_KEY_6
+ 2188115974
+ name 1_620_KEY_7
+ 2188115975
+ name 1_620_KEY_8
+ 2188115976
+ name 1_620_KEY_9
+ 2188115977
+ name 1_620_KEY_POWER
+ 2188115978
+ name 1_620_KEY_CH_UP
+ 2188115983
+ name 1_620_KEY_CH_DOWN
+ 2188115984
+ name 1_620_KEY_MUTE
+ 2188115985
+ name 1_621_KEY_0
+ 2188181504
+ name 1_621_KEY_1
+ 2188181505
+ name 1_621_KEY_2
+ 2188181506
+ name 1_621_KEY_3
+ 2188181507
+ name 1_621_KEY_4
+ 2188181508
+ name 1_621_KEY_5
+ 2188181509
+ name 1_621_KEY_6
+ 2188181510
+ name 1_621_KEY_7
+ 2188181511
+ name 1_621_KEY_8
+ 2188181512
+ name 1_621_KEY_9
+ 2188181513
+ name 1_621_KEY_POWER
+ 2188181514
+ name 1_621_KEY_CH_UP
+ 2188181519
+ name 1_621_KEY_CH_DOWN
+ 2188181520
+ name 1_621_KEY_MUTE
+ 2188181521
+ name 1_621_KEY_VOL_DOWN
+ 2188181522
+ name 1_621_KEY_VOL_UP
+ 2188181524
+ name 1_621_KEY_EXIT
+ 2188181528
+ name 1_621_KEY_MENU
+ 2188181551
+ name 1_621_KEY_MUP
+ 2188181552
+ name 1_621_KEY_MDOWN
+ 2188181553
+ name 1_621_KEY_MLEFT
+ 2188181554
+ name 1_621_KEY_MRIGHT
+ 2188181555
+ name 1_621_KEY_Sleep
+ 2188181567
+ name 1_622_KEY_0
+ 2188247040
+ name 1_622_KEY_1
+ 2188247041
+ name 1_622_KEY_2
+ 2188247042
+ name 1_622_KEY_3
+ 2188247043
+ name 1_622_KEY_4
+ 2188247044
+ name 1_622_KEY_5
+ 2188247045
+ name 1_622_KEY_6
+ 2188247046
+ name 1_622_KEY_7
+ 2188247047
+ name 1_622_KEY_8
+ 2188247048
+ name 1_622_KEY_9
+ 2188247049
+ name 1_622_KEY_POWER
+ 2188247050
+ name 1_622_TWO_DIGITS
+ 2188247053
+ name 1_622_KEY_CH_UP
+ 2188247055
+ name 1_622_KEY_CH_DOWN
+ 2188247056
+ name 1_622_KEY_MUTE
+ 2188247057
+ name 1_622_KEY_VOL_DOWN
+ 2188247058
+ name 1_622_KEY_VOL_UP
+ 2188247060
+ name 1_622_KEY_MNSELECT
+ 2188247063
+ name 1_622_KEY_EXIT
+ 2188247064
+ name 1_622_KEY_GUIDE
+ 2188247067
+ name 1_622_KEY_BLUE
+ 2188247075
+ name 1_622_KEY_GREEN
+ 2188247076
+ name 1_622_KEY_RED
+ 2188247077
+ name 1_622_KEY_YELLOW
+ 2188247078
+ name 1_622_KEY_MENU
+ 2188247087
+ name 1_622_KEY_MUP
+ 2188247088
+ name 1_622_KEY_MDOWN
+ 2188247089
+ name 1_622_KEY_MLEFT
+ 2188247090
+ name 1_622_KEY_MRIGHT
+ 2188247091
+ name 1_622_KEY_DSubtitle
+ 2188247108
+ name 1_622_KEY_On
+ 2188247117
+ name 1_622_KEY_Off
+ 2188247118
+ name 1_623_KEY_0
+ 2188312576
+ name 1_623_KEY_1
+ 2188312577
+ name 1_623_KEY_2
+ 2188312578
+ name 1_623_KEY_3
+ 2188312579
+ name 1_623_KEY_4
+ 2188312580
+ name 1_623_KEY_5
+ 2188312581
+ name 1_623_KEY_6
+ 2188312582
+ name 1_623_KEY_7
+ 2188312583
+ name 1_623_KEY_8
+ 2188312584
+ name 1_623_KEY_9
+ 2188312585
+ name 1_623_KEY_POWER
+ 2188312586
+ name 1_623_TWO_DIGITS
+ 2188312589
+ name 1_623_KEY_CH_UP
+ 2188312591
+ name 1_623_KEY_CH_DOWN
+ 2188312592
+ name 1_623_KEY_MUTE
+ 2188312593
+ name 1_623_KEY_VOL_DOWN
+ 2188312594
+ name 1_623_KEY_VOL_UP
+ 2188312596
+ name 1_623_KEY_MNSELECT
+ 2188312599
+ name 1_623_KEY_EXIT
+ 2188312600
+ name 1_623_KEY_GUIDE
+ 2188312603
+ name 1_623_KEY_BLUE
+ 2188312611
+ name 1_623_KEY_GREEN
+ 2188312612
+ name 1_623_KEY_RED
+ 2188312613
+ name 1_623_KEY_YELLOW
+ 2188312614
+ name 1_623_KEY_MENU
+ 2188312623
+ name 1_623_KEY_MUP
+ 2188312624
+ name 1_623_KEY_MDOWN
+ 2188312625
+ name 1_623_KEY_MLEFT
+ 2188312626
+ name 1_623_KEY_MRIGHT
+ 2188312627
+ name 1_623_KEY_DSubtitle
+ 2188312644
+ name 1_623_KEY_On
+ 2188312653
+ name 1_623_KEY_Off
+ 2188312654
+ name 1_624_KEY_0
+ 2188378112
+ name 1_624_KEY_1
+ 2188378113
+ name 1_624_KEY_2
+ 2188378114
+ name 1_624_KEY_3
+ 2188378115
+ name 1_624_KEY_4
+ 2188378116
+ name 1_624_KEY_5
+ 2188378117
+ name 1_624_KEY_6
+ 2188378118
+ name 1_624_KEY_7
+ 2188378119
+ name 1_624_KEY_8
+ 2188378120
+ name 1_624_KEY_9
+ 2188378121
+ name 1_624_KEY_POWER
+ 2188378122
+ name 1_624_TWO_DIGITS
+ 2188378125
+ name 1_624_KEY_CH_UP
+ 2188378127
+ name 1_624_KEY_CH_DOWN
+ 2188378128
+ name 1_624_KEY_MUTE
+ 2188378129
+ name 1_624_KEY_VOL_DOWN
+ 2188378130
+ name 1_624_KEY_VOL_UP
+ 2188378132
+ name 1_624_KEY_MNSELECT
+ 2188378135
+ name 1_624_KEY_EXIT
+ 2188378136
+ name 1_624_KEY_GUIDE
+ 2188378139
+ name 1_624_KEY_BLUE
+ 2188378147
+ name 1_624_KEY_GREEN
+ 2188378148
+ name 1_624_KEY_RED
+ 2188378149
+ name 1_624_KEY_YELLOW
+ 2188378150
+ name 1_624_KEY_MENU
+ 2188378159
+ name 1_624_KEY_MUP
+ 2188378160
+ name 1_624_KEY_MDOWN
+ 2188378161
+ name 1_624_KEY_MLEFT
+ 2188378162
+ name 1_624_KEY_MRIGHT
+ 2188378163
+ name 1_624_KEY_DSubtitle
+ 2188378180
+ name 1_624_KEY_On
+ 2188378189
+ name 1_624_KEY_Off
+ 2188378190
+ name 1_625_KEY_0
+ 2188443648
+ name 1_625_KEY_1
+ 2188443649
+ name 1_625_KEY_2
+ 2188443650
+ name 1_625_KEY_3
+ 2188443651
+ name 1_625_KEY_4
+ 2188443652
+ name 1_625_KEY_5
+ 2188443653
+ name 1_625_KEY_6
+ 2188443654
+ name 1_625_KEY_7
+ 2188443655
+ name 1_625_KEY_8
+ 2188443656
+ name 1_625_KEY_9
+ 2188443657
+ name 1_625_KEY_POWER
+ 2188443658
+ name 1_625_KEY_CH_UP
+ 2188443663
+ name 1_625_KEY_CH_DOWN
+ 2188443664
+ name 1_625_KEY_MUTE
+ 2188443665
+ name 1_625_KEY_VOL_DOWN
+ 2188443666
+ name 1_625_CH_PREVIOUS
+ 2188443667
+ name 1_625_KEY_VOL_UP
+ 2188443668
+ name 1_625_KEY_MNSELECT
+ 2188443671
+ name 1_625_KEY_EXIT
+ 2188443672
+ name 1_625_KEY_GUIDE
+ 2188443675
+ name 1_625_KEY_MENU
+ 2188443695
+ name 1_625_KEY_MUP
+ 2188443696
+ name 1_625_KEY_MDOWN
+ 2188443697
+ name 1_625_KEY_MLEFT
+ 2188443698
+ name 1_625_KEY_MRIGHT
+ 2188443699
+ name 1_625_KEY_On
+ 2188443725
+ name 1_625_KEY_Off
+ 2188443726
+ name 1_626_KEY_0
+ 2188509184
+ name 1_626_KEY_1
+ 2188509185
+ name 1_626_KEY_2
+ 2188509186
+ name 1_626_KEY_3
+ 2188509187
+ name 1_626_KEY_4
+ 2188509188
+ name 1_626_KEY_5
+ 2188509189
+ name 1_626_KEY_6
+ 2188509190
+ name 1_626_KEY_7
+ 2188509191
+ name 1_626_KEY_8
+ 2188509192
+ name 1_626_KEY_9
+ 2188509193
+ name 1_626_KEY_POWER
+ 2188509194
+ name 1_626_KEY_CH_UP
+ 2188509199
+ name 1_626_KEY_CH_DOWN
+ 2188509200
+ name 1_626_KEY_MUTE
+ 2188509201
+ name 1_626_KEY_VOL_DOWN
+ 2188509202
+ name 1_626_KEY_VOL_UP
+ 2188509204
+ name 1_626_KEY_MNSELECT
+ 2188509207
+ name 1_626_KEY_EXIT
+ 2188509208
+ name 1_626_KEY_GUIDE
+ 2188509211
+ name 1_626_KEY_BLUE
+ 2188509219
+ name 1_626_KEY_GREEN
+ 2188509220
+ name 1_626_KEY_RED
+ 2188509221
+ name 1_626_KEY_YELLOW
+ 2188509222
+ name 1_626_KEY_MENU
+ 2188509231
+ name 1_626_KEY_MUP
+ 2188509232
+ name 1_626_KEY_MDOWN
+ 2188509233
+ name 1_626_KEY_MLEFT
+ 2188509234
+ name 1_626_KEY_MRIGHT
+ 2188509235
+ name 1_626_KEY_DSubtitle
+ 2188509252
+ name 1_626_KEY_Off
+ 2188509262
+ name 1_627_KEY_0
+ 2188574720
+ name 1_627_KEY_1
+ 2188574721
+ name 1_627_KEY_2
+ 2188574722
+ name 1_627_KEY_3
+ 2188574723
+ name 1_627_KEY_4
+ 2188574724
+ name 1_627_KEY_5
+ 2188574725
+ name 1_627_KEY_6
+ 2188574726
+ name 1_627_KEY_7
+ 2188574727
+ name 1_627_KEY_8
+ 2188574728
+ name 1_627_KEY_9
+ 2188574729
+ name 1_627_KEY_POWER
+ 2188574730
+ name 1_627_KEY_CH_UP
+ 2188574735
+ name 1_627_KEY_CH_DOWN
+ 2188574736
+ name 1_627_KEY_MUTE
+ 2188574737
+ name 1_627_KEY_VOL_DOWN
+ 2188574738
+ name 1_627_CH_PREVIOUS
+ 2188574739
+ name 1_627_KEY_VOL_UP
+ 2188574740
+ name 1_627_KEY_MNSELECT
+ 2188574743
+ name 1_627_KEY_EXIT
+ 2188574744
+ name 1_627_KEY_GUIDE
+ 2188574747
+ name 1_627_KEY_MENU
+ 2188574767
+ name 1_627_KEY_MUP
+ 2188574768
+ name 1_627_KEY_MDOWN
+ 2188574769
+ name 1_627_KEY_MLEFT
+ 2188574770
+ name 1_627_KEY_MRIGHT
+ 2188574771
+ name 1_627_KEY_DSubtitle
+ 2188574788
+ name 1_627_KEY_On
+ 2188574797
+ name 1_628_KEY_0
+ 2188640256
+ name 1_628_KEY_1
+ 2188640257
+ name 1_628_KEY_2
+ 2188640258
+ name 1_628_KEY_3
+ 2188640259
+ name 1_628_KEY_4
+ 2188640260
+ name 1_628_KEY_5
+ 2188640261
+ name 1_628_KEY_6
+ 2188640262
+ name 1_628_KEY_7
+ 2188640263
+ name 1_628_KEY_8
+ 2188640264
+ name 1_628_KEY_9
+ 2188640265
+ name 1_628_KEY_POWER
+ 2188640266
+ name 1_628_TWO_DIGITS
+ 2188640269
+ name 1_628_KEY_CH_UP
+ 2188640271
+ name 1_628_KEY_CH_DOWN
+ 2188640272
+ name 1_628_KEY_MUTE
+ 2188640273
+ name 1_628_KEY_VOL_DOWN
+ 2188640274
+ name 1_628_CH_PREVIOUS
+ 2188640275
+ name 1_628_KEY_VOL_UP
+ 2188640276
+ name 1_628_KEY_MNSELECT
+ 2188640279
+ name 1_628_KEY_GUIDE
+ 2188640283
+ name 1_628_KEY_BLUE
+ 2188640291
+ name 1_628_KEY_GREEN
+ 2188640292
+ name 1_628_KEY_RED
+ 2188640293
+ name 1_628_KEY_YELLOW
+ 2188640294
+ name 1_628_KEY_MENU
+ 2188640303
+ name 1_628_KEY_MUP
+ 2188640304
+ name 1_628_KEY_MDOWN
+ 2188640305
+ name 1_628_KEY_MLEFT
+ 2188640306
+ name 1_628_KEY_MRIGHT
+ 2188640307
+ name 1_628_KEY_On
+ 2188640333
+ name 1_629_KEY_0
+ 2188705792
+ name 1_629_KEY_1
+ 2188705793
+ name 1_629_KEY_2
+ 2188705794
+ name 1_629_KEY_3
+ 2188705795
+ name 1_629_KEY_4
+ 2188705796
+ name 1_629_KEY_5
+ 2188705797
+ name 1_629_KEY_6
+ 2188705798
+ name 1_629_KEY_7
+ 2188705799
+ name 1_629_KEY_8
+ 2188705800
+ name 1_629_KEY_9
+ 2188705801
+ name 1_629_KEY_POWER
+ 2188705802
+ name 1_629_KEY_CH_UP
+ 2188705807
+ name 1_629_KEY_CH_DOWN
+ 2188705808
+ name 1_629_KEY_MUTE
+ 2188705809
+ name 1_629_KEY_VOL_DOWN
+ 2188705810
+ name 1_629_CH_PREVIOUS
+ 2188705811
+ name 1_629_KEY_VOL_UP
+ 2188705812
+ name 1_629_KEY_MNSELECT
+ 2188705815
+ name 1_629_KEY_EXIT
+ 2188705816
+ name 1_629_KEY_GUIDE
+ 2188705819
+ name 1_629_KEY_BLUE
+ 2188705827
+ name 1_629_KEY_GREEN
+ 2188705828
+ name 1_629_KEY_RED
+ 2188705829
+ name 1_629_KEY_YELLOW
+ 2188705830
+ name 1_629_KEY_MENU
+ 2188705839
+ name 1_629_KEY_MUP
+ 2188705840
+ name 1_629_KEY_MDOWN
+ 2188705841
+ name 1_629_KEY_MLEFT
+ 2188705842
+ name 1_629_KEY_MRIGHT
+ 2188705843
+ name 1_630_KEY_0
+ 2188771328
+ name 1_630_KEY_1
+ 2188771329
+ name 1_630_KEY_2
+ 2188771330
+ name 1_630_KEY_3
+ 2188771331
+ name 1_630_KEY_4
+ 2188771332
+ name 1_630_KEY_5
+ 2188771333
+ name 1_630_KEY_6
+ 2188771334
+ name 1_630_KEY_7
+ 2188771335
+ name 1_630_KEY_8
+ 2188771336
+ name 1_630_KEY_9
+ 2188771337
+ name 1_630_KEY_POWER
+ 2188771338
+ name 1_630_KEY_CH_UP
+ 2188771343
+ name 1_630_KEY_CH_DOWN
+ 2188771344
+ name 1_630_KEY_MUTE
+ 2188771345
+ name 1_630_KEY_VOL_DOWN
+ 2188771346
+ name 1_630_CH_PREVIOUS
+ 2188771347
+ name 1_630_KEY_VOL_UP
+ 2188771348
+ name 1_630_KEY_MNSELECT
+ 2188771351
+ name 1_630_KEY_EXIT
+ 2188771352
+ name 1_630_KEY_GUIDE
+ 2188771355
+ name 1_630_KEY_MNRETRUN
+ 2188771360
+ name 1_630_KEY_BLUE
+ 2188771363
+ name 1_630_KEY_GREEN
+ 2188771364
+ name 1_630_KEY_RED
+ 2188771365
+ name 1_630_KEY_YELLOW
+ 2188771366
+ name 1_630_KEY_MENU
+ 2188771375
+ name 1_630_KEY_MUP
+ 2188771376
+ name 1_630_KEY_MDOWN
+ 2188771377
+ name 1_630_KEY_MLEFT
+ 2188771378
+ name 1_630_KEY_MRIGHT
+ 2188771379
+ name 1_630_KEY_DSubtitle
+ 2188771396
+ name 1_631_KEY_0
+ 2188836864
+ name 1_631_KEY_1
+ 2188836865
+ name 1_631_KEY_2
+ 2188836866
+ name 1_631_KEY_3
+ 2188836867
+ name 1_631_KEY_4
+ 2188836868
+ name 1_631_KEY_5
+ 2188836869
+ name 1_631_KEY_6
+ 2188836870
+ name 1_631_KEY_7
+ 2188836871
+ name 1_631_KEY_8
+ 2188836872
+ name 1_631_KEY_9
+ 2188836873
+ name 1_631_KEY_POWER
+ 2188836874
+ name 1_631_KEY_CH_UP
+ 2188836879
+ name 1_631_KEY_CH_DOWN
+ 2188836880
+ name 1_631_KEY_MUTE
+ 2188836881
+ name 1_631_KEY_VOL_DOWN
+ 2188836882
+ name 1_631_CH_PREVIOUS
+ 2188836883
+ name 1_631_KEY_VOL_UP
+ 2188836884
+ name 1_631_KEY_MNSELECT
+ 2188836887
+ name 1_631_KEY_EXIT
+ 2188836888
+ name 1_631_KEY_GUIDE
+ 2188836891
+ name 1_631_KEY_BLUE
+ 2188836899
+ name 1_631_KEY_GREEN
+ 2188836900
+ name 1_631_KEY_RED
+ 2188836901
+ name 1_631_KEY_YELLOW
+ 2188836902
+ name 1_631_KEY_MENU
+ 2188836911
+ name 1_631_KEY_MUP
+ 2188836912
+ name 1_631_KEY_MDOWN
+ 2188836913
+ name 1_631_KEY_MLEFT
+ 2188836914
+ name 1_631_KEY_MRIGHT
+ 2188836915
+ name 1_631_KEY_DSubtitle
+ 2188836932
+ name 1_632_KEY_0
+ 2188902400
+ name 1_632_KEY_1
+ 2188902401
+ name 1_632_KEY_2
+ 2188902402
+ name 1_632_KEY_3
+ 2188902403
+ name 1_632_KEY_4
+ 2188902404
+ name 1_632_KEY_5
+ 2188902405
+ name 1_632_KEY_6
+ 2188902406
+ name 1_632_KEY_7
+ 2188902407
+ name 1_632_KEY_8
+ 2188902408
+ name 1_632_KEY_9
+ 2188902409
+ name 1_632_KEY_POWER
+ 2188902410
+ name 1_632_KEY_CH_UP
+ 2188902415
+ name 1_632_KEY_CH_DOWN
+ 2188902416
+ name 1_632_KEY_MUTE
+ 2188902417
+ name 1_632_KEY_VOL_DOWN
+ 2188902418
+ name 1_632_CH_PREVIOUS
+ 2188902419
+ name 1_632_KEY_VOL_UP
+ 2188902420
+ name 1_632_KEY_MNSELECT
+ 2188902423
+ name 1_632_KEY_EXIT
+ 2188902424
+ name 1_632_KEY_GUIDE
+ 2188902427
+ name 1_632_KEY_BLUE
+ 2188902435
+ name 1_632_KEY_GREEN
+ 2188902436
+ name 1_632_KEY_RED
+ 2188902437
+ name 1_632_KEY_YELLOW
+ 2188902438
+ name 1_632_KEY_MENU
+ 2188902447
+ name 1_632_KEY_MUP
+ 2188902448
+ name 1_632_KEY_MDOWN
+ 2188902449
+ name 1_632_KEY_MLEFT
+ 2188902450
+ name 1_632_KEY_MRIGHT
+ 2188902451
+ name 1_632_KEY_DSubtitle
+ 2188902468
+ name 1_633_KEY_0
+ 2188967936
+ name 1_633_KEY_1
+ 2188967937
+ name 1_633_KEY_2
+ 2188967938
+ name 1_633_KEY_3
+ 2188967939
+ name 1_633_KEY_4
+ 2188967940
+ name 1_633_KEY_5
+ 2188967941
+ name 1_633_KEY_6
+ 2188967942
+ name 1_633_KEY_7
+ 2188967943
+ name 1_633_KEY_8
+ 2188967944
+ name 1_633_KEY_9
+ 2188967945
+ name 1_633_KEY_POWER
+ 2188967946
+ name 1_633_KEY_CH_UP
+ 2188967951
+ name 1_633_KEY_CH_DOWN
+ 2188967952
+ name 1_633_KEY_MUTE
+ 2188967953
+ name 1_633_KEY_VOL_DOWN
+ 2188967954
+ name 1_633_CH_PREVIOUS
+ 2188967955
+ name 1_633_KEY_VOL_UP
+ 2188967956
+ name 1_633_KEY_MNSELECT
+ 2188967959
+ name 1_633_KEY_EXIT
+ 2188967960
+ name 1_633_KEY_GUIDE
+ 2188967963
+ name 1_633_KEY_MENU
+ 2188967983
+ name 1_633_KEY_MUP
+ 2188967984
+ name 1_633_KEY_MDOWN
+ 2188967985
+ name 1_633_KEY_MLEFT
+ 2188967986
+ name 1_633_KEY_MRIGHT
+ 2188967987
+ name 1_634_KEY_0
+ 2189033472
+ name 1_634_KEY_1
+ 2189033473
+ name 1_634_KEY_2
+ 2189033474
+ name 1_634_KEY_3
+ 2189033475
+ name 1_634_KEY_4
+ 2189033476
+ name 1_634_KEY_5
+ 2189033477
+ name 1_634_KEY_6
+ 2189033478
+ name 1_634_KEY_7
+ 2189033479
+ name 1_634_KEY_8
+ 2189033480
+ name 1_634_KEY_9
+ 2189033481
+ name 1_634_KEY_POWER
+ 2189033482
+ name 1_634_KEY_CH_UP
+ 2189033487
+ name 1_634_KEY_CH_DOWN
+ 2189033488
+ name 1_634_KEY_MUTE
+ 2189033489
+ name 1_634_KEY_VOL_DOWN
+ 2189033490
+ name 1_634_KEY_VOL_UP
+ 2189033492
+ name 1_634_KEY_MNSELECT
+ 2189033495
+ name 1_634_KEY_EXIT
+ 2189033496
+ name 1_634_KEY_GUIDE
+ 2189033499
+ name 1_634_KEY_MENU
+ 2189033519
+ name 1_634_KEY_MUP
+ 2189033520
+ name 1_634_KEY_MDOWN
+ 2189033521
+ name 1_634_KEY_MLEFT
+ 2189033522
+ name 1_634_KEY_MRIGHT
+ 2189033523
+ name 1_634_KEY_DSubtitle
+ 2189033540
+ name 1_635_KEY_0
+ 2189099008
+ name 1_635_KEY_1
+ 2189099009
+ name 1_635_KEY_2
+ 2189099010
+ name 1_635_KEY_3
+ 2189099011
+ name 1_635_KEY_4
+ 2189099012
+ name 1_635_KEY_5
+ 2189099013
+ name 1_635_KEY_6
+ 2189099014
+ name 1_635_KEY_7
+ 2189099015
+ name 1_635_KEY_8
+ 2189099016
+ name 1_635_KEY_9
+ 2189099017
+ name 1_635_KEY_POWER
+ 2189099018
+ name 1_635_KEY_CH_UP
+ 2189099023
+ name 1_635_KEY_CH_DOWN
+ 2189099024
+ name 1_635_KEY_MUTE
+ 2189099025
+ name 1_635_KEY_VOL_DOWN
+ 2189099026
+ name 1_635_CH_PREVIOUS
+ 2189099027
+ name 1_635_KEY_VOL_UP
+ 2189099028
+ name 1_635_KEY_MNSELECT
+ 2189099031
+ name 1_635_KEY_EXIT
+ 2189099032
+ name 1_635_KEY_GUIDE
+ 2189099035
+ name 1_635_KEY_MENU
+ 2189099055
+ name 1_635_KEY_MUP
+ 2189099056
+ name 1_635_KEY_MDOWN
+ 2189099057
+ name 1_635_KEY_MLEFT
+ 2189099058
+ name 1_635_KEY_MRIGHT
+ 2189099059
+ name 1_635_KEY_DSubtitle
+ 2189099076
+ name 1_636_KEY_0
+ 2189164544
+ name 1_636_KEY_1
+ 2189164545
+ name 1_636_KEY_2
+ 2189164546
+ name 1_636_KEY_3
+ 2189164547
+ name 1_636_KEY_4
+ 2189164548
+ name 1_636_KEY_5
+ 2189164549
+ name 1_636_KEY_6
+ 2189164550
+ name 1_636_KEY_7
+ 2189164551
+ name 1_636_KEY_8
+ 2189164552
+ name 1_636_KEY_9
+ 2189164553
+ name 1_636_KEY_POWER
+ 2189164554
+ name 1_636_KEY_CH_UP
+ 2189164559
+ name 1_636_KEY_CH_DOWN
+ 2189164560
+ name 1_636_KEY_MUTE
+ 2189164561
+ name 1_636_KEY_VOL_DOWN
+ 2189164562
+ name 1_636_KEY_VOL_UP
+ 2189164564
+ name 1_636_KEY_MNSELECT
+ 2189164567
+ name 1_636_KEY_MENU
+ 2189164591
+ name 1_636_KEY_MUP
+ 2189164592
+ name 1_636_KEY_MDOWN
+ 2189164593
+ name 1_636_KEY_MLEFT
+ 2189164594
+ name 1_636_KEY_MRIGHT
+ 2189164595
+ name 1_637_KEY_0
+ 2189230080
+ name 1_637_KEY_1
+ 2189230081
+ name 1_637_KEY_2
+ 2189230082
+ name 1_637_KEY_3
+ 2189230083
+ name 1_637_KEY_4
+ 2189230084
+ name 1_637_KEY_5
+ 2189230085
+ name 1_637_KEY_6
+ 2189230086
+ name 1_637_KEY_7
+ 2189230087
+ name 1_637_KEY_8
+ 2189230088
+ name 1_637_KEY_9
+ 2189230089
+ name 1_637_KEY_POWER
+ 2189230090
+ name 1_637_TWO_DIGITS
+ 2189230093
+ name 1_637_KEY_CH_UP
+ 2189230095
+ name 1_637_KEY_CH_DOWN
+ 2189230096
+ name 1_637_KEY_MUTE
+ 2189230097
+ name 1_637_KEY_VOL_DOWN
+ 2189230098
+ name 1_637_CH_PREVIOUS
+ 2189230099
+ name 1_637_KEY_VOL_UP
+ 2189230100
+ name 1_637_KEY_MNSELECT
+ 2189230103
+ name 1_637_KEY_EXIT
+ 2189230104
+ name 1_637_KEY_GUIDE
+ 2189230107
+ name 1_637_KEY_AV
+ 2189230121
+ name 1_637_KEY_MENU
+ 2189230127
+ name 1_637_KEY_MUP
+ 2189230128
+ name 1_637_KEY_MDOWN
+ 2189230129
+ name 1_637_KEY_MLEFT
+ 2189230130
+ name 1_637_KEY_MRIGHT
+ 2189230131
+ name 1_637_KEY_TTOnOff
+ 2189230153
+ name 1_638_KEY_0
+ 2189295616
+ name 1_638_KEY_1
+ 2189295617
+ name 1_638_KEY_2
+ 2189295618
+ name 1_638_KEY_3
+ 2189295619
+ name 1_638_KEY_4
+ 2189295620
+ name 1_638_KEY_5
+ 2189295621
+ name 1_638_KEY_6
+ 2189295622
+ name 1_638_KEY_7
+ 2189295623
+ name 1_638_KEY_8
+ 2189295624
+ name 1_638_KEY_9
+ 2189295625
+ name 1_638_KEY_POWER
+ 2189295626
+ name 1_638_KEY_CH_UP
+ 2189295631
+ name 1_638_KEY_CH_DOWN
+ 2189295632
+ name 1_638_KEY_MUTE
+ 2189295633
+ name 1_638_KEY_VOL_DOWN
+ 2189295634
+ name 1_638_KEY_VOL_UP
+ 2189295636
+ name 1_638_KEY_MNSELECT
+ 2189295639
+ name 1_638_KEY_EXIT
+ 2189295640
+ name 1_638_KEY_GUIDE
+ 2189295643
+ name 1_638_KEY_MNRETRUN
+ 2189295648
+ name 1_638_KEY_MENU
+ 2189295663
+ name 1_638_KEY_MUP
+ 2189295664
+ name 1_638_KEY_MDOWN
+ 2189295665
+ name 1_638_KEY_MLEFT
+ 2189295666
+ name 1_638_KEY_MRIGHT
+ 2189295667
+ name 1_638_KEY_DSubtitle
+ 2189295684
+ name 1_639_KEY_0
+ 2189361152
+ name 1_639_KEY_1
+ 2189361153
+ name 1_639_KEY_2
+ 2189361154
+ name 1_639_KEY_3
+ 2189361155
+ name 1_639_KEY_4
+ 2189361156
+ name 1_639_KEY_5
+ 2189361157
+ name 1_639_KEY_6
+ 2189361158
+ name 1_639_KEY_7
+ 2189361159
+ name 1_639_KEY_8
+ 2189361160
+ name 1_639_KEY_9
+ 2189361161
+ name 1_639_KEY_POWER
+ 2189361162
+ name 1_639_KEY_CH_UP
+ 2189361167
+ name 1_639_KEY_CH_DOWN
+ 2189361168
+ name 1_639_KEY_MNSELECT
+ 2189361175
+ name 1_639_KEY_MENU
+ 2189361199
+ name 1_639_KEY_MUP
+ 2189361200
+ name 1_639_KEY_MDOWN
+ 2189361201
+ name 1_639_KEY_MLEFT
+ 2189361202
+ name 1_639_KEY_MRIGHT
+ 2189361203
+ name 1_640_KEY_0
+ 2189426688
+ name 1_640_KEY_1
+ 2189426689
+ name 1_640_KEY_2
+ 2189426690
+ name 1_640_KEY_3
+ 2189426691
+ name 1_640_KEY_4
+ 2189426692
+ name 1_640_KEY_5
+ 2189426693
+ name 1_640_KEY_6
+ 2189426694
+ name 1_640_KEY_7
+ 2189426695
+ name 1_640_KEY_8
+ 2189426696
+ name 1_640_KEY_9
+ 2189426697
+ name 1_640_KEY_POWER
+ 2189426698
+ name 1_640_KEY_CH_UP
+ 2189426703
+ name 1_640_KEY_CH_DOWN
+ 2189426704
+ name 1_640_CH_PREVIOUS
+ 2189426707
+ name 1_640_KEY_MNSELECT
+ 2189426711
+ name 1_640_KEY_AV
+ 2189426729
+ name 1_640_KEY_MENU
+ 2189426735
+ name 1_640_KEY_MUP
+ 2189426736
+ name 1_640_KEY_MDOWN
+ 2189426737
+ name 1_640_KEY_MLEFT
+ 2189426738
+ name 1_640_KEY_MRIGHT
+ 2189426739
+ name 1_641_KEY_0
+ 2189492224
+ name 1_641_KEY_1
+ 2189492225
+ name 1_641_KEY_2
+ 2189492226
+ name 1_641_KEY_3
+ 2189492227
+ name 1_641_KEY_4
+ 2189492228
+ name 1_641_KEY_5
+ 2189492229
+ name 1_641_KEY_6
+ 2189492230
+ name 1_641_KEY_7
+ 2189492231
+ name 1_641_KEY_8
+ 2189492232
+ name 1_641_KEY_9
+ 2189492233
+ name 1_641_KEY_POWER
+ 2189492234
+ name 1_641_TWO_DIGITS
+ 2189492237
+ name 1_641_KEY_CH_UP
+ 2189492239
+ name 1_641_KEY_CH_DOWN
+ 2189492240
+ name 1_641_CH_PREVIOUS
+ 2189492243
+ name 1_641_KEY_MNSELECT
+ 2189492247
+ name 1_641_KEY_EXIT
+ 2189492248
+ name 1_641_KEY_GUIDE
+ 2189492251
+ name 1_641_KEY_BLUE
+ 2189492259
+ name 1_641_KEY_GREEN
+ 2189492260
+ name 1_641_KEY_RED
+ 2189492261
+ name 1_641_KEY_YELLOW
+ 2189492262
+ name 1_641_KEY_MENU
+ 2189492271
+ name 1_641_KEY_MUP
+ 2189492272
+ name 1_641_KEY_MDOWN
+ 2189492273
+ name 1_641_KEY_MLEFT
+ 2189492274
+ name 1_641_KEY_MRIGHT
+ 2189492275
+ name 1_641_KEY_DGuide
+ 2189492291
+ name 1_642_KEY_0
+ 2189557760
+ name 1_642_KEY_1
+ 2189557761
+ name 1_642_KEY_2
+ 2189557762
+ name 1_642_KEY_3
+ 2189557763
+ name 1_642_KEY_4
+ 2189557764
+ name 1_642_KEY_5
+ 2189557765
+ name 1_642_KEY_6
+ 2189557766
+ name 1_642_KEY_7
+ 2189557767
+ name 1_642_KEY_8
+ 2189557768
+ name 1_642_KEY_9
+ 2189557769
+ name 1_642_KEY_POWER
+ 2189557770
+ name 1_642_KEY_CH_UP
+ 2189557775
+ name 1_642_KEY_CH_DOWN
+ 2189557776
+ name 1_642_KEY_MNSELECT
+ 2189557783
+ name 1_642_KEY_EXIT
+ 2189557784
+ name 1_642_KEY_GUIDE
+ 2189557787
+ name 1_642_KEY_BLUE
+ 2189557795
+ name 1_642_KEY_GREEN
+ 2189557796
+ name 1_642_KEY_RED
+ 2189557797
+ name 1_642_KEY_YELLOW
+ 2189557798
+ name 1_642_KEY_AV
+ 2189557801
+ name 1_642_KEY_MENU
+ 2189557807
+ name 1_642_KEY_MUP
+ 2189557808
+ name 1_642_KEY_MDOWN
+ 2189557809
+ name 1_642_KEY_MLEFT
+ 2189557810
+ name 1_642_KEY_MRIGHT
+ 2189557811
+ name 1_642_KEY_DGuide
+ 2189557827
+ name 1_643_KEY_0
+ 2189623296
+ name 1_643_KEY_1
+ 2189623297
+ name 1_643_KEY_2
+ 2189623298
+ name 1_643_KEY_3
+ 2189623299
+ name 1_643_KEY_4
+ 2189623300
+ name 1_643_KEY_5
+ 2189623301
+ name 1_643_KEY_6
+ 2189623302
+ name 1_643_KEY_7
+ 2189623303
+ name 1_643_KEY_8
+ 2189623304
+ name 1_643_KEY_9
+ 2189623305
+ name 1_643_KEY_POWER
+ 2189623306
+ name 1_643_KEY_CH_UP
+ 2189623311
+ name 1_643_KEY_CH_DOWN
+ 2189623312
+ name 1_643_CH_PREVIOUS
+ 2189623315
+ name 1_643_KEY_MENU
+ 2189623343
+ name 1_643_KEY_MUP
+ 2189623344
+ name 1_643_KEY_MDOWN
+ 2189623345
+ name 1_643_KEY_MLEFT
+ 2189623346
+ name 1_643_KEY_MRIGHT
+ 2189623347
+ name 1_644_KEY_0
+ 2189688832
+ name 1_644_KEY_1
+ 2189688833
+ name 1_644_KEY_2
+ 2189688834
+ name 1_644_KEY_3
+ 2189688835
+ name 1_644_KEY_4
+ 2189688836
+ name 1_644_KEY_5
+ 2189688837
+ name 1_644_KEY_6
+ 2189688838
+ name 1_644_KEY_7
+ 2189688839
+ name 1_644_KEY_8
+ 2189688840
+ name 1_644_KEY_9
+ 2189688841
+ name 1_644_KEY_POWER
+ 2189688842
+ name 1_644_KEY_CH_UP
+ 2189688847
+ name 1_644_KEY_CH_DOWN
+ 2189688848
+ name 1_644_KEY_EXIT
+ 2189688856
+ name 1_644_KEY_GUIDE
+ 2189688859
+ name 1_644_KEY_MENU
+ 2189688879
+ name 1_644_KEY_MUP
+ 2189688880
+ name 1_644_KEY_MDOWN
+ 2189688881
+ name 1_644_KEY_MLEFT
+ 2189688882
+ name 1_644_KEY_MRIGHT
+ 2189688883
+ name 1_644_KEY_DGuide
+ 2189688899
+ name 1_645_KEY_0
+ 2189754368
+ name 1_645_KEY_1
+ 2189754369
+ name 1_645_KEY_2
+ 2189754370
+ name 1_645_KEY_3
+ 2189754371
+ name 1_645_KEY_4
+ 2189754372
+ name 1_645_KEY_5
+ 2189754373
+ name 1_645_KEY_6
+ 2189754374
+ name 1_645_KEY_7
+ 2189754375
+ name 1_645_KEY_8
+ 2189754376
+ name 1_645_KEY_9
+ 2189754377
+ name 1_645_KEY_POWER
+ 2189754378
+ name 1_645_KEY_CH_UP
+ 2189754383
+ name 1_645_KEY_CH_DOWN
+ 2189754384
+ name 1_645_CH_PREVIOUS
+ 2189754387
+ name 1_645_KEY_MNSELECT
+ 2189754391
+ name 1_645_KEY_GUIDE
+ 2189754395
+ name 1_645_KEY_BLUE
+ 2189754403
+ name 1_645_KEY_GREEN
+ 2189754404
+ name 1_645_KEY_RED
+ 2189754405
+ name 1_645_KEY_YELLOW
+ 2189754406
+ name 1_645_KEY_MENU
+ 2189754415
+ name 1_645_KEY_MUP
+ 2189754416
+ name 1_645_KEY_MDOWN
+ 2189754417
+ name 1_645_KEY_MLEFT
+ 2189754418
+ name 1_645_KEY_MRIGHT
+ 2189754419
+ name 1_645_KEY_On
+ 2189754445
+ name 1_646_KEY_0
+ 2189819904
+ name 1_646_KEY_1
+ 2189819905
+ name 1_646_KEY_2
+ 2189819906
+ name 1_646_KEY_3
+ 2189819907
+ name 1_646_KEY_4
+ 2189819908
+ name 1_646_KEY_5
+ 2189819909
+ name 1_646_KEY_6
+ 2189819910
+ name 1_646_KEY_7
+ 2189819911
+ name 1_646_KEY_8
+ 2189819912
+ name 1_646_KEY_9
+ 2189819913
+ name 1_646_KEY_POWER
+ 2189819914
+ name 1_646_TWO_DIGITS
+ 2189819917
+ name 1_646_KEY_CH_UP
+ 2189819919
+ name 1_646_KEY_CH_DOWN
+ 2189819920
+ name 1_646_KEY_BLUE
+ 2189819939
+ name 1_646_KEY_GREEN
+ 2189819940
+ name 1_646_KEY_RED
+ 2189819941
+ name 1_646_KEY_YELLOW
+ 2189819942
+ name 1_646_KEY_MENU
+ 2189819951
+ name 1_646_KEY_On
+ 2189819981
+ name 1_647_KEY_0
+ 2189885440
+ name 1_647_KEY_1
+ 2189885441
+ name 1_647_KEY_2
+ 2189885442
+ name 1_647_KEY_3
+ 2189885443
+ name 1_647_KEY_4
+ 2189885444
+ name 1_647_KEY_5
+ 2189885445
+ name 1_647_KEY_6
+ 2189885446
+ name 1_647_KEY_7
+ 2189885447
+ name 1_647_KEY_8
+ 2189885448
+ name 1_647_KEY_9
+ 2189885449
+ name 1_647_KEY_POWER
+ 2189885450
+ name 1_647_KEY_CH_UP
+ 2189885455
+ name 1_647_KEY_CH_DOWN
+ 2189885456
+ name 1_648_KEY_0
+ 2189950976
+ name 1_648_KEY_1
+ 2189950977
+ name 1_648_KEY_2
+ 2189950978
+ name 1_648_KEY_3
+ 2189950979
+ name 1_648_KEY_4
+ 2189950980
+ name 1_648_KEY_5
+ 2189950981
+ name 1_648_KEY_6
+ 2189950982
+ name 1_648_KEY_7
+ 2189950983
+ name 1_648_KEY_8
+ 2189950984
+ name 1_648_KEY_9
+ 2189950985
+ name 1_648_KEY_POWER
+ 2189950986
+ name 1_648_KEY_CH_UP
+ 2189950991
+ name 1_648_KEY_CH_DOWN
+ 2189950992
+ name 1_648_KEY_MENU
+ 2189951023
+ name 1_648_KEY_MUP
+ 2189951024
+ name 1_648_KEY_MDOWN
+ 2189951025
+ name 1_649_KEY_0
+ 2190016512
+ name 1_649_KEY_1
+ 2190016513
+ name 1_649_KEY_2
+ 2190016514
+ name 1_649_KEY_3
+ 2190016515
+ name 1_649_KEY_4
+ 2190016516
+ name 1_649_KEY_5
+ 2190016517
+ name 1_649_KEY_6
+ 2190016518
+ name 1_649_KEY_7
+ 2190016519
+ name 1_649_KEY_8
+ 2190016520
+ name 1_649_KEY_9
+ 2190016521
+ name 1_649_KEY_POWER
+ 2190016522
+ name 1_649_TWO_DIGITS
+ 2190016525
+ name 1_649_KEY_CH_UP
+ 2190016527
+ name 1_649_KEY_CH_DOWN
+ 2190016528
+ name 1_650_KEY_0
+ 2190082048
+ name 1_650_KEY_1
+ 2190082049
+ name 1_650_KEY_2
+ 2190082050
+ name 1_650_KEY_3
+ 2190082051
+ name 1_650_KEY_4
+ 2190082052
+ name 1_650_KEY_5
+ 2190082053
+ name 1_650_KEY_6
+ 2190082054
+ name 1_650_KEY_7
+ 2190082055
+ name 1_650_KEY_8
+ 2190082056
+ name 1_650_KEY_9
+ 2190082057
+ name 1_650_KEY_POWER
+ 2190082058
+ name 1_650_TWO_DIGITS
+ 2190082061
+ name 1_650_KEY_CH_UP
+ 2190082063
+ name 1_650_KEY_CH_DOWN
+ 2190082064
+ name 1_650_KEY_MNSELECT
+ 2190082071
+ name 1_650_KEY_BLUE
+ 2190082083
+ name 1_650_KEY_GREEN
+ 2190082084
+ name 1_650_KEY_RED
+ 2190082085
+ name 1_650_KEY_YELLOW
+ 2190082086
+ name 1_650_KEY_MENU
+ 2190082095
+ name 1_650_KEY_MUP
+ 2190082096
+ name 1_650_KEY_MDOWN
+ 2190082097
+ name 1_650_KEY_On
+ 2190082125
+ name 1_651_KEY_0
+ 2190147584
+ name 1_651_KEY_1
+ 2190147585
+ name 1_651_KEY_2
+ 2190147586
+ name 1_651_KEY_3
+ 2190147587
+ name 1_651_KEY_4
+ 2190147588
+ name 1_651_KEY_5
+ 2190147589
+ name 1_651_KEY_6
+ 2190147590
+ name 1_651_KEY_7
+ 2190147591
+ name 1_651_KEY_8
+ 2190147592
+ name 1_651_KEY_9
+ 2190147593
+ name 1_651_KEY_POWER
+ 2190147594
+ name 1_651_KEY_CH_UP
+ 2190147599
+ name 1_651_KEY_CH_DOWN
+ 2190147600
+ name 1_652_KEY_0
+ 2190213120
+ name 1_652_KEY_1
+ 2190213121
+ name 1_652_KEY_2
+ 2190213122
+ name 1_652_KEY_3
+ 2190213123
+ name 1_652_KEY_4
+ 2190213124
+ name 1_652_KEY_5
+ 2190213125
+ name 1_652_KEY_6
+ 2190213126
+ name 1_652_KEY_7
+ 2190213127
+ name 1_652_KEY_8
+ 2190213128
+ name 1_652_KEY_9
+ 2190213129
+ name 1_652_KEY_POWER
+ 2190213130
+ name 1_652_KEY_CH_UP
+ 2190213135
+ name 1_652_KEY_CH_DOWN
+ 2190213136
+ name 1_653_KEY_0
+ 2190278656
+ name 1_653_KEY_1
+ 2190278657
+ name 1_653_KEY_2
+ 2190278658
+ name 1_653_KEY_3
+ 2190278659
+ name 1_653_KEY_4
+ 2190278660
+ name 1_653_KEY_5
+ 2190278661
+ name 1_653_KEY_6
+ 2190278662
+ name 1_653_KEY_7
+ 2190278663
+ name 1_653_KEY_8
+ 2190278664
+ name 1_653_KEY_9
+ 2190278665
+ name 1_653_KEY_POWER
+ 2190278666
+ name 1_653_KEY_CH_UP
+ 2190278671
+ name 1_653_KEY_CH_DOWN
+ 2190278672
+ name 1_654_KEY_0
+ 2190344192
+ name 1_654_KEY_1
+ 2190344193
+ name 1_654_KEY_2
+ 2190344194
+ name 1_654_KEY_3
+ 2190344195
+ name 1_654_KEY_4
+ 2190344196
+ name 1_654_KEY_5
+ 2190344197
+ name 1_654_KEY_6
+ 2190344198
+ name 1_654_KEY_7
+ 2190344199
+ name 1_654_KEY_8
+ 2190344200
+ name 1_654_KEY_9
+ 2190344201
+ name 1_654_KEY_POWER
+ 2190344202
+ name 1_654_TWO_DIGITS
+ 2190344205
+ name 1_654_KEY_CH_UP
+ 2190344207
+ name 1_654_KEY_CH_DOWN
+ 2190344208
+ name 1_654_CH_PREVIOUS
+ 2190344211
+ name 1_654_KEY_MNSELECT
+ 2190344215
+ name 1_654_KEY_MUP
+ 2190344240
+ name 1_654_KEY_MDOWN
+ 2190344241
+ name 1_655_KEY_0
+ 2190409728
+ name 1_655_KEY_1
+ 2190409729
+ name 1_655_KEY_2
+ 2190409730
+ name 1_655_KEY_3
+ 2190409731
+ name 1_655_KEY_4
+ 2190409732
+ name 1_655_KEY_5
+ 2190409733
+ name 1_655_KEY_6
+ 2190409734
+ name 1_655_KEY_7
+ 2190409735
+ name 1_655_KEY_8
+ 2190409736
+ name 1_655_KEY_9
+ 2190409737
+ name 1_655_KEY_POWER
+ 2190409738
+ name 1_655_KEY_CH_UP
+ 2190409743
+ name 1_655_KEY_CH_DOWN
+ 2190409744
+ name 1_655_KEY_MNSELECT
+ 2190409751
+ name 1_655_KEY_EXIT
+ 2190409752
+ name 1_655_KEY_GUIDE
+ 2190409755
+ name 1_655_KEY_MNRETRUN
+ 2190409760
+ name 1_655_KEY_BLUE
+ 2190409763
+ name 1_655_KEY_GREEN
+ 2190409764
+ name 1_655_KEY_RED
+ 2190409765
+ name 1_655_KEY_YELLOW
+ 2190409766
+ name 1_655_KEY_MENU
+ 2190409775
+ name 1_655_KEY_MUP
+ 2190409776
+ name 1_655_KEY_MDOWN
+ 2190409777
+ name 1_655_KEY_MLEFT
+ 2190409778
+ name 1_655_KEY_MRIGHT
+ 2190409779
+ name 1_655_KEY_DSubtitle
+ 2190409796
+ name 1_655_KEY_TTOnOff
+ 2190409801
+ name 1_656_KEY_0
+ 2190475264
+ name 1_656_KEY_1
+ 2190475265
+ name 1_656_KEY_2
+ 2190475266
+ name 1_656_KEY_3
+ 2190475267
+ name 1_656_KEY_4
+ 2190475268
+ name 1_656_KEY_5
+ 2190475269
+ name 1_656_KEY_6
+ 2190475270
+ name 1_656_KEY_7
+ 2190475271
+ name 1_656_KEY_8
+ 2190475272
+ name 1_656_KEY_9
+ 2190475273
+ name 1_656_KEY_POWER
+ 2190475274
+ name 1_656_KEY_CH_UP
+ 2190475279
+ name 1_656_KEY_CH_DOWN
+ 2190475280
+ name 1_656_KEY_MUTE
+ 2190475281
+ name 1_656_KEY_VOL_DOWN
+ 2190475282
+ name 1_656_KEY_VOL_UP
+ 2190475284
+ name 1_656_KEY_MNSELECT
+ 2190475287
+ name 1_656_KEY_EXIT
+ 2190475288
+ name 1_656_KEY_GUIDE
+ 2190475291
+ name 1_656_KEY_MNRETRUN
+ 2190475296
+ name 1_656_KEY_MENU
+ 2190475311
+ name 1_656_KEY_MUP
+ 2190475312
+ name 1_656_KEY_MDOWN
+ 2190475313
+ name 1_656_KEY_MLEFT
+ 2190475314
+ name 1_656_KEY_MRIGHT
+ 2190475315
+ name 1_656_KEY_DSubtitle
+ 2190475332
+ name 1_657_KEY_0
+ 2190540800
+ name 1_657_KEY_1
+ 2190540801
+ name 1_657_KEY_2
+ 2190540802
+ name 1_657_KEY_3
+ 2190540803
+ name 1_657_KEY_4
+ 2190540804
+ name 1_657_KEY_5
+ 2190540805
+ name 1_657_KEY_6
+ 2190540806
+ name 1_657_KEY_7
+ 2190540807
+ name 1_657_KEY_8
+ 2190540808
+ name 1_657_KEY_9
+ 2190540809
+ name 1_657_KEY_POWER
+ 2190540810
+ name 1_657_KEY_CH_UP
+ 2190540815
+ name 1_657_KEY_CH_DOWN
+ 2190540816
+ name 1_657_KEY_MNSELECT
+ 2190540823
+ name 1_657_KEY_EXIT
+ 2190540824
+ name 1_657_KEY_GUIDE
+ 2190540827
+ name 1_657_KEY_MNRETRUN
+ 2190540832
+ name 1_657_KEY_BLUE
+ 2190540835
+ name 1_657_KEY_GREEN
+ 2190540836
+ name 1_657_KEY_RED
+ 2190540837
+ name 1_657_KEY_YELLOW
+ 2190540838
+ name 1_657_KEY_MENU
+ 2190540847
+ name 1_657_KEY_MUP
+ 2190540848
+ name 1_657_KEY_MDOWN
+ 2190540849
+ name 1_657_KEY_MLEFT
+ 2190540850
+ name 1_657_KEY_MRIGHT
+ 2190540851
+ name 1_657_KEY_DSubtitle
+ 2190540868
+ name 1_657_KEY_TTOnOff
+ 2190540873
+ name 1_658_KEY_0
+ 2190606336
+ name 1_658_KEY_1
+ 2190606337
+ name 1_658_KEY_2
+ 2190606338
+ name 1_658_KEY_3
+ 2190606339
+ name 1_658_KEY_4
+ 2190606340
+ name 1_658_KEY_5
+ 2190606341
+ name 1_658_KEY_6
+ 2190606342
+ name 1_658_KEY_7
+ 2190606343
+ name 1_658_KEY_8
+ 2190606344
+ name 1_658_KEY_9
+ 2190606345
+ name 1_658_KEY_POWER
+ 2190606346
+ name 1_658_KEY_CH_UP
+ 2190606351
+ name 1_658_KEY_CH_DOWN
+ 2190606352
+ name 1_658_KEY_MUTE
+ 2190606353
+ name 1_658_KEY_VOL_DOWN
+ 2190606354
+ name 1_658_KEY_VOL_UP
+ 2190606356
+ name 1_658_KEY_EXIT
+ 2190606360
+ name 1_658_KEY_GUIDE
+ 2190606363
+ name 1_658_KEY_BLUE
+ 2190606371
+ name 1_658_KEY_GREEN
+ 2190606372
+ name 1_658_KEY_RED
+ 2190606373
+ name 1_658_KEY_YELLOW
+ 2190606374
+ name 1_658_KEY_MENU
+ 2190606383
+ name 1_658_KEY_MUP
+ 2190606384
+ name 1_658_KEY_MDOWN
+ 2190606385
+ name 1_658_KEY_MLEFT
+ 2190606386
+ name 1_658_KEY_MRIGHT
+ 2190606387
+ name 1_658_KEY_DSubtitle
+ 2190606404
+ name 1_658_KEY_TTOnOff
+ 2190606409
+ name 1_659_KEY_0
+ 2190671872
+ name 1_659_KEY_1
+ 2190671873
+ name 1_659_KEY_2
+ 2190671874
+ name 1_659_KEY_3
+ 2190671875
+ name 1_659_KEY_4
+ 2190671876
+ name 1_659_KEY_5
+ 2190671877
+ name 1_659_KEY_6
+ 2190671878
+ name 1_659_KEY_7
+ 2190671879
+ name 1_659_KEY_8
+ 2190671880
+ name 1_659_KEY_9
+ 2190671881
+ name 1_659_KEY_POWER
+ 2190671882
+ name 1_659_KEY_CH_UP
+ 2190671887
+ name 1_659_KEY_CH_DOWN
+ 2190671888
+ name 1_659_KEY_MUTE
+ 2190671889
+ name 1_659_KEY_VOL_DOWN
+ 2190671890
+ name 1_659_KEY_VOL_UP
+ 2190671892
+ name 1_659_KEY_MNSELECT
+ 2190671895
+ name 1_659_KEY_EXIT
+ 2190671896
+ name 1_659_KEY_GUIDE
+ 2190671899
+ name 1_659_KEY_MNRETRUN
+ 2190671904
+ name 1_659_KEY_MENU
+ 2190671919
+ name 1_659_KEY_MUP
+ 2190671920
+ name 1_659_KEY_MDOWN
+ 2190671921
+ name 1_659_KEY_MLEFT
+ 2190671922
+ name 1_659_KEY_MRIGHT
+ 2190671923
+ name 1_659_KEY_DSubtitle
+ 2190671940
+ name 1_660_KEY_0
+ 2190737408
+ name 1_660_KEY_1
+ 2190737409
+ name 1_660_KEY_2
+ 2190737410
+ name 1_660_KEY_3
+ 2190737411
+ name 1_660_KEY_4
+ 2190737412
+ name 1_660_KEY_5
+ 2190737413
+ name 1_660_KEY_6
+ 2190737414
+ name 1_660_KEY_7
+ 2190737415
+ name 1_660_KEY_8
+ 2190737416
+ name 1_660_KEY_9
+ 2190737417
+ name 1_660_KEY_POWER
+ 2190737418
+ name 1_660_KEY_CH_UP
+ 2190737423
+ name 1_660_KEY_CH_DOWN
+ 2190737424
+ name 1_660_KEY_MUTE
+ 2190737425
+ name 1_660_KEY_VOL_DOWN
+ 2190737426
+ name 1_660_KEY_VOL_UP
+ 2190737428
+ name 1_660_KEY_EXIT
+ 2190737432
+ name 1_660_KEY_GUIDE
+ 2190737435
+ name 1_660_KEY_BLUE
+ 2190737443
+ name 1_660_KEY_GREEN
+ 2190737444
+ name 1_660_KEY_RED
+ 2190737445
+ name 1_660_KEY_YELLOW
+ 2190737446
+ name 1_660_KEY_MENU
+ 2190737455
+ name 1_660_KEY_MUP
+ 2190737456
+ name 1_660_KEY_MDOWN
+ 2190737457
+ name 1_660_KEY_MLEFT
+ 2190737458
+ name 1_660_KEY_MRIGHT
+ 2190737459
+ name 1_660_KEY_TTOnOff
+ 2190737481
+ name 1_661_KEY_0
+ 2190802944
+ name 1_661_KEY_1
+ 2190802945
+ name 1_661_KEY_2
+ 2190802946
+ name 1_661_KEY_3
+ 2190802947
+ name 1_661_KEY_4
+ 2190802948
+ name 1_661_KEY_5
+ 2190802949
+ name 1_661_KEY_6
+ 2190802950
+ name 1_661_KEY_7
+ 2190802951
+ name 1_661_KEY_8
+ 2190802952
+ name 1_661_KEY_9
+ 2190802953
+ name 1_661_KEY_POWER
+ 2190802954
+ name 1_661_TWO_DIGITS
+ 2190802957
+ name 1_661_KEY_CH_UP
+ 2190802959
+ name 1_661_KEY_CH_DOWN
+ 2190802960
+ name 1_661_KEY_DISPLAY
+ 2190802965
+ name 1_661_KEY_MNSELECT
+ 2190802967
+ name 1_661_KEY_EXIT
+ 2190802968
+ name 1_661_KEY_BLUE
+ 2190802979
+ name 1_661_KEY_GREEN
+ 2190802980
+ name 1_661_KEY_RED
+ 2190802981
+ name 1_661_KEY_YELLOW
+ 2190802982
+ name 1_661_KEY_MENU
+ 2190802991
+ name 1_661_KEY_MUP
+ 2190802992
+ name 1_661_KEY_MDOWN
+ 2190802993
+ name 1_661_KEY_MLEFT
+ 2190802994
+ name 1_661_KEY_MRIGHT
+ 2190802995
+ name 1_661_KEY_On
+ 2190803021
+ name 1_662_KEY_0
+ 2190868480
+ name 1_662_KEY_1
+ 2190868481
+ name 1_662_KEY_2
+ 2190868482
+ name 1_662_KEY_3
+ 2190868483
+ name 1_662_KEY_4
+ 2190868484
+ name 1_662_KEY_5
+ 2190868485
+ name 1_662_KEY_6
+ 2190868486
+ name 1_662_KEY_7
+ 2190868487
+ name 1_662_KEY_8
+ 2190868488
+ name 1_662_KEY_9
+ 2190868489
+ name 1_662_KEY_POWER
+ 2190868490
+ name 1_662_KEY_CH_UP
+ 2190868495
+ name 1_662_KEY_CH_DOWN
+ 2190868496
+ name 1_662_KEY_MUTE
+ 2190868497
+ name 1_662_KEY_VOL_DOWN
+ 2190868498
+ name 1_662_KEY_VOL_UP
+ 2190868500
+ name 1_662_KEY_MENU
+ 2190868527
+ name 1_662_KEY_MUP
+ 2190868528
+ name 1_662_KEY_MDOWN
+ 2190868529
+ name 1_662_KEY_MLEFT
+ 2190868530
+ name 1_662_KEY_MRIGHT
+ 2190868531
+ name 1_662_KEY_Sleep
+ 2190868543
+ name 1_663_KEY_0
+ 2190934016
+ name 1_663_KEY_1
+ 2190934017
+ name 1_663_KEY_2
+ 2190934018
+ name 1_663_KEY_3
+ 2190934019
+ name 1_663_KEY_4
+ 2190934020
+ name 1_663_KEY_5
+ 2190934021
+ name 1_663_KEY_6
+ 2190934022
+ name 1_663_KEY_7
+ 2190934023
+ name 1_663_KEY_8
+ 2190934024
+ name 1_663_KEY_9
+ 2190934025
+ name 1_663_KEY_POWER
+ 2190934026
+ name 1_663_KEY_CH_UP
+ 2190934031
+ name 1_663_KEY_CH_DOWN
+ 2190934032
+ name 1_663_KEY_GUIDE
+ 2190934043
+ name 1_663_KEY_MNRETRUN
+ 2190934048
+ name 1_663_KEY_BLUE
+ 2190934051
+ name 1_663_KEY_GREEN
+ 2190934052
+ name 1_663_KEY_RED
+ 2190934053
+ name 1_663_KEY_YELLOW
+ 2190934054
+ name 1_663_KEY_MENU
+ 2190934063
+ name 1_663_KEY_MUP
+ 2190934064
+ name 1_663_KEY_MDOWN
+ 2190934065
+ name 1_663_KEY_MLEFT
+ 2190934066
+ name 1_663_KEY_MRIGHT
+ 2190934067
+ name 1_663_KEY_On
+ 2190934093
+ name 1_663_KEY_Off
+ 2190934094
+ name 1_664_KEY_0
+ 2190999552
+ name 1_664_KEY_1
+ 2190999553
+ name 1_664_KEY_2
+ 2190999554
+ name 1_664_KEY_3
+ 2190999555
+ name 1_664_KEY_4
+ 2190999556
+ name 1_664_KEY_5
+ 2190999557
+ name 1_664_KEY_6
+ 2190999558
+ name 1_664_KEY_7
+ 2190999559
+ name 1_664_KEY_8
+ 2190999560
+ name 1_664_KEY_9
+ 2190999561
+ name 1_664_KEY_POWER
+ 2190999562
+ name 1_664_KEY_CH_UP
+ 2190999567
+ name 1_664_KEY_CH_DOWN
+ 2190999568
+ name 1_664_KEY_MUTE
+ 2190999569
+ name 1_664_KEY_VOL_DOWN
+ 2190999570
+ name 1_664_CH_PREVIOUS
+ 2190999571
+ name 1_664_KEY_VOL_UP
+ 2190999572
+ name 1_664_KEY_MNSELECT
+ 2190999575
+ name 1_664_KEY_EXIT
+ 2190999576
+ name 1_664_KEY_GUIDE
+ 2190999579
+ name 1_664_KEY_MENU
+ 2190999599
+ name 1_664_KEY_MUP
+ 2190999600
+ name 1_664_KEY_MDOWN
+ 2190999601
+ name 1_664_KEY_MLEFT
+ 2190999602
+ name 1_664_KEY_MRIGHT
+ 2190999603
+ name 1_665_KEY_0
+ 2191065088
+ name 1_665_KEY_1
+ 2191065089
+ name 1_665_KEY_2
+ 2191065090
+ name 1_665_KEY_3
+ 2191065091
+ name 1_665_KEY_4
+ 2191065092
+ name 1_665_KEY_5
+ 2191065093
+ name 1_665_KEY_6
+ 2191065094
+ name 1_665_KEY_7
+ 2191065095
+ name 1_665_KEY_8
+ 2191065096
+ name 1_665_KEY_9
+ 2191065097
+ name 1_665_KEY_POWER
+ 2191065098
+ name 1_665_KEY_CH_UP
+ 2191065103
+ name 1_665_KEY_CH_DOWN
+ 2191065104
+ name 1_665_KEY_MUTE
+ 2191065105
+ name 1_665_KEY_VOL_DOWN
+ 2191065106
+ name 1_665_CH_PREVIOUS
+ 2191065107
+ name 1_665_KEY_VOL_UP
+ 2191065108
+ name 1_665_KEY_MNSELECT
+ 2191065111
+ name 1_665_KEY_EXIT
+ 2191065112
+ name 1_665_KEY_GUIDE
+ 2191065115
+ name 1_665_KEY_MENU
+ 2191065135
+ name 1_665_KEY_MUP
+ 2191065136
+ name 1_665_KEY_MDOWN
+ 2191065137
+ name 1_665_KEY_MLEFT
+ 2191065138
+ name 1_665_KEY_MRIGHT
+ 2191065139
+ name 1_665_KEY_DSubtitle
+ 2191065156
+ name 1_665_KEY_On
+ 2191065165
+ name 1_665_KEY_Off
+ 2191065166
+ name 1_666_KEY_0
+ 2191130624
+ name 1_666_KEY_1
+ 2191130625
+ name 1_666_KEY_2
+ 2191130626
+ name 1_666_KEY_3
+ 2191130627
+ name 1_666_KEY_4
+ 2191130628
+ name 1_666_KEY_5
+ 2191130629
+ name 1_666_KEY_6
+ 2191130630
+ name 1_666_KEY_7
+ 2191130631
+ name 1_666_KEY_8
+ 2191130632
+ name 1_666_KEY_9
+ 2191130633
+ name 1_666_KEY_POWER
+ 2191130634
+ name 1_666_KEY_CH_UP
+ 2191130639
+ name 1_666_KEY_CH_DOWN
+ 2191130640
+ name 1_666_KEY_MUTE
+ 2191130641
+ name 1_666_KEY_VOL_DOWN
+ 2191130642
+ name 1_666_CH_PREVIOUS
+ 2191130643
+ name 1_666_KEY_VOL_UP
+ 2191130644
+ name 1_666_KEY_MNSELECT
+ 2191130647
+ name 1_666_KEY_GUIDE
+ 2191130651
+ name 1_666_KEY_MNRETRUN
+ 2191130656
+ name 1_666_KEY_BLUE
+ 2191130659
+ name 1_666_KEY_GREEN
+ 2191130660
+ name 1_666_KEY_RED
+ 2191130661
+ name 1_666_KEY_YELLOW
+ 2191130662
+ name 1_666_KEY_MUP
+ 2191130672
+ name 1_666_KEY_MDOWN
+ 2191130673
+ name 1_666_KEY_MLEFT
+ 2191130674
+ name 1_666_KEY_MRIGHT
+ 2191130675
+ name 1_666_KEY_Sleep
+ 2191130687
+ name 1_666_KEY_Off
+ 2191130702
+ name 1_667_KEY_0
+ 2191196160
+ name 1_667_KEY_1
+ 2191196161
+ name 1_667_KEY_2
+ 2191196162
+ name 1_667_KEY_3
+ 2191196163
+ name 1_667_KEY_4
+ 2191196164
+ name 1_667_KEY_5
+ 2191196165
+ name 1_667_KEY_6
+ 2191196166
+ name 1_667_KEY_7
+ 2191196167
+ name 1_667_KEY_8
+ 2191196168
+ name 1_667_KEY_9
+ 2191196169
+ name 1_667_KEY_POWER
+ 2191196170
+ name 1_667_KEY_CH_UP
+ 2191196175
+ name 1_667_KEY_CH_DOWN
+ 2191196176
+ name 1_667_KEY_MUTE
+ 2191196177
+ name 1_667_KEY_VOL_DOWN
+ 2191196178
+ name 1_667_CH_PREVIOUS
+ 2191196179
+ name 1_667_KEY_VOL_UP
+ 2191196180
+ name 1_667_KEY_MNSELECT
+ 2191196183
+ name 1_667_KEY_GUIDE
+ 2191196187
+ name 1_667_KEY_MNRETRUN
+ 2191196192
+ name 1_667_KEY_BLUE
+ 2191196195
+ name 1_667_KEY_GREEN
+ 2191196196
+ name 1_667_KEY_RED
+ 2191196197
+ name 1_667_KEY_YELLOW
+ 2191196198
+ name 1_667_KEY_MUP
+ 2191196208
+ name 1_667_KEY_MDOWN
+ 2191196209
+ name 1_667_KEY_MLEFT
+ 2191196210
+ name 1_667_KEY_MRIGHT
+ 2191196211
+ name 1_667_KEY_On
+ 2191196237
+ name 1_667_KEY_Off
+ 2191196238
+ name 1_668_KEY_0
+ 2191261696
+ name 1_668_KEY_1
+ 2191261697
+ name 1_668_KEY_2
+ 2191261698
+ name 1_668_KEY_3
+ 2191261699
+ name 1_668_KEY_4
+ 2191261700
+ name 1_668_KEY_5
+ 2191261701
+ name 1_668_KEY_6
+ 2191261702
+ name 1_668_KEY_7
+ 2191261703
+ name 1_668_KEY_8
+ 2191261704
+ name 1_668_KEY_9
+ 2191261705
+ name 1_668_KEY_POWER
+ 2191261706
+ name 1_668_KEY_CH_UP
+ 2191261711
+ name 1_668_KEY_CH_DOWN
+ 2191261712
+ name 1_668_KEY_MUTE
+ 2191261713
+ name 1_668_KEY_VOL_DOWN
+ 2191261714
+ name 1_668_CH_PREVIOUS
+ 2191261715
+ name 1_668_KEY_VOL_UP
+ 2191261716
+ name 1_668_KEY_MNSELECT
+ 2191261719
+ name 1_668_KEY_GUIDE
+ 2191261723
+ name 1_668_KEY_MNRETRUN
+ 2191261728
+ name 1_668_KEY_BLUE
+ 2191261731
+ name 1_668_KEY_GREEN
+ 2191261732
+ name 1_668_KEY_RED
+ 2191261733
+ name 1_668_KEY_YELLOW
+ 2191261734
+ name 1_668_KEY_AV
+ 2191261737
+ name 1_668_KEY_MUP
+ 2191261744
+ name 1_668_KEY_MDOWN
+ 2191261745
+ name 1_668_KEY_MLEFT
+ 2191261746
+ name 1_668_KEY_MRIGHT
+ 2191261747
+ name 1_668_KEY_Sleep
+ 2191261759
+ name 1_668_KEY_Off
+ 2191261774
+ name 1_669_KEY_0
+ 2191327232
+ name 1_669_KEY_1
+ 2191327233
+ name 1_669_KEY_2
+ 2191327234
+ name 1_669_KEY_3
+ 2191327235
+ name 1_669_KEY_4
+ 2191327236
+ name 1_669_KEY_5
+ 2191327237
+ name 1_669_KEY_6
+ 2191327238
+ name 1_669_KEY_7
+ 2191327239
+ name 1_669_KEY_8
+ 2191327240
+ name 1_669_KEY_9
+ 2191327241
+ name 1_669_KEY_POWER
+ 2191327242
+ name 1_669_KEY_CH_UP
+ 2191327247
+ name 1_669_KEY_CH_DOWN
+ 2191327248
+ name 1_669_KEY_MUTE
+ 2191327249
+ name 1_669_KEY_VOL_DOWN
+ 2191327250
+ name 1_669_CH_PREVIOUS
+ 2191327251
+ name 1_669_KEY_VOL_UP
+ 2191327252
+ name 1_669_KEY_MNSELECT
+ 2191327255
+ name 1_669_KEY_GUIDE
+ 2191327259
+ name 1_669_KEY_MNRETRUN
+ 2191327264
+ name 1_669_KEY_BLUE
+ 2191327267
+ name 1_669_KEY_GREEN
+ 2191327268
+ name 1_669_KEY_RED
+ 2191327269
+ name 1_669_KEY_YELLOW
+ 2191327270
+ name 1_669_KEY_AV
+ 2191327273
+ name 1_669_KEY_MUP
+ 2191327280
+ name 1_669_KEY_MDOWN
+ 2191327281
+ name 1_669_KEY_MLEFT
+ 2191327282
+ name 1_669_KEY_MRIGHT
+ 2191327283
+ name 1_669_KEY_Sleep
+ 2191327295
+ name 1_669_KEY_Off
+ 2191327310
+ name 1_670_KEY_0
+ 2191392768
+ name 1_670_KEY_1
+ 2191392769
+ name 1_670_KEY_2
+ 2191392770
+ name 1_670_KEY_3
+ 2191392771
+ name 1_670_KEY_4
+ 2191392772
+ name 1_670_KEY_5
+ 2191392773
+ name 1_670_KEY_6
+ 2191392774
+ name 1_670_KEY_7
+ 2191392775
+ name 1_670_KEY_8
+ 2191392776
+ name 1_670_KEY_9
+ 2191392777
+ name 1_670_KEY_POWER
+ 2191392778
+ name 1_670_KEY_CH_UP
+ 2191392783
+ name 1_670_KEY_CH_DOWN
+ 2191392784
+ name 1_670_KEY_MUTE
+ 2191392785
+ name 1_670_KEY_VOL_DOWN
+ 2191392786
+ name 1_670_CH_PREVIOUS
+ 2191392787
+ name 1_670_KEY_VOL_UP
+ 2191392788
+ name 1_670_KEY_INPUT
+ 2191392794
+ name 1_670_KEY_MUP
+ 2191392816
+ name 1_670_KEY_MDOWN
+ 2191392817
+ name 1_670_KEY_MLEFT
+ 2191392818
+ name 1_670_KEY_MRIGHT
+ 2191392819
+ name 1_670_KEY_On
+ 2191392845
+ name 1_670_KEY_Off
+ 2191392846
+ name 1_671_KEY_0
+ 2191458304
+ name 1_671_KEY_1
+ 2191458305
+ name 1_671_KEY_2
+ 2191458306
+ name 1_671_KEY_3
+ 2191458307
+ name 1_671_KEY_4
+ 2191458308
+ name 1_671_KEY_5
+ 2191458309
+ name 1_671_KEY_6
+ 2191458310
+ name 1_671_KEY_7
+ 2191458311
+ name 1_671_KEY_8
+ 2191458312
+ name 1_671_KEY_9
+ 2191458313
+ name 1_671_KEY_POWER
+ 2191458314
+ name 1_671_KEY_CH_UP
+ 2191458319
+ name 1_671_KEY_CH_DOWN
+ 2191458320
+ name 1_671_KEY_MUTE
+ 2191458321
+ name 1_671_KEY_VOL_DOWN
+ 2191458322
+ name 1_671_CH_PREVIOUS
+ 2191458323
+ name 1_671_KEY_VOL_UP
+ 2191458324
+ name 1_671_KEY_MNSELECT
+ 2191458327
+ name 1_671_KEY_EXIT
+ 2191458328
+ name 1_671_KEY_INPUT
+ 2191458330
+ name 1_671_KEY_GUIDE
+ 2191458331
+ name 1_671_KEY_MNRETRUN
+ 2191458336
+ name 1_671_KEY_MENU
+ 2191458351
+ name 1_671_KEY_MUP
+ 2191458352
+ name 1_671_KEY_MDOWN
+ 2191458353
+ name 1_671_KEY_MLEFT
+ 2191458354
+ name 1_671_KEY_MRIGHT
+ 2191458355
+ name 1_671_KEY_TTOnOff
+ 2191458377
+ name 1_672_KEY_0
+ 2191523840
+ name 1_672_KEY_1
+ 2191523841
+ name 1_672_KEY_2
+ 2191523842
+ name 1_672_KEY_3
+ 2191523843
+ name 1_672_KEY_4
+ 2191523844
+ name 1_672_KEY_5
+ 2191523845
+ name 1_672_KEY_6
+ 2191523846
+ name 1_672_KEY_7
+ 2191523847
+ name 1_672_KEY_8
+ 2191523848
+ name 1_672_KEY_9
+ 2191523849
+ name 1_672_KEY_POWER
+ 2191523850
+ name 1_672_KEY_CH_UP
+ 2191523855
+ name 1_672_KEY_CH_DOWN
+ 2191523856
+ name 1_672_KEY_MUTE
+ 2191523857
+ name 1_672_KEY_VOL_DOWN
+ 2191523858
+ name 1_672_CH_PREVIOUS
+ 2191523859
+ name 1_672_KEY_VOL_UP
+ 2191523860
+ name 1_672_KEY_MNSELECT
+ 2191523863
+ name 1_672_KEY_GUIDE
+ 2191523867
+ name 1_672_KEY_MNRETRUN
+ 2191523872
+ name 1_672_KEY_BLUE
+ 2191523875
+ name 1_672_KEY_GREEN
+ 2191523876
+ name 1_672_KEY_RED
+ 2191523877
+ name 1_672_KEY_YELLOW
+ 2191523878
+ name 1_672_KEY_MUP
+ 2191523888
+ name 1_672_KEY_MDOWN
+ 2191523889
+ name 1_672_KEY_MLEFT
+ 2191523890
+ name 1_672_KEY_MRIGHT
+ 2191523891
+ name 1_672_KEY_Sleep
+ 2191523903
+ name 1_672_KEY_Off
+ 2191523918
+ name 1_673_KEY_0
+ 2191589376
+ name 1_673_KEY_1
+ 2191589377
+ name 1_673_KEY_2
+ 2191589378
+ name 1_673_KEY_3
+ 2191589379
+ name 1_673_KEY_4
+ 2191589380
+ name 1_673_KEY_5
+ 2191589381
+ name 1_673_KEY_6
+ 2191589382
+ name 1_673_KEY_7
+ 2191589383
+ name 1_673_KEY_8
+ 2191589384
+ name 1_673_KEY_9
+ 2191589385
+ name 1_673_KEY_POWER
+ 2191589386
+ name 1_673_KEY_CH_UP
+ 2191589391
+ name 1_673_KEY_CH_DOWN
+ 2191589392
+ name 1_673_KEY_MUTE
+ 2191589393
+ name 1_673_KEY_VOL_DOWN
+ 2191589394
+ name 1_673_CH_PREVIOUS
+ 2191589395
+ name 1_673_KEY_VOL_UP
+ 2191589396
+ name 1_673_KEY_MNSELECT
+ 2191589399
+ name 1_673_KEY_GUIDE
+ 2191589403
+ name 1_673_KEY_MNRETRUN
+ 2191589408
+ name 1_673_KEY_BLUE
+ 2191589411
+ name 1_673_KEY_GREEN
+ 2191589412
+ name 1_673_KEY_RED
+ 2191589413
+ name 1_673_KEY_YELLOW
+ 2191589414
+ name 1_673_KEY_MUP
+ 2191589424
+ name 1_673_KEY_MDOWN
+ 2191589425
+ name 1_673_KEY_MLEFT
+ 2191589426
+ name 1_673_KEY_MRIGHT
+ 2191589427
+ name 1_673_KEY_Sleep
+ 2191589439
+ name 1_673_KEY_Off
+ 2191589454
+ name 1_674_KEY_0
+ 2191654912
+ name 1_674_KEY_1
+ 2191654913
+ name 1_674_KEY_2
+ 2191654914
+ name 1_674_KEY_3
+ 2191654915
+ name 1_674_KEY_4
+ 2191654916
+ name 1_674_KEY_5
+ 2191654917
+ name 1_674_KEY_6
+ 2191654918
+ name 1_674_KEY_7
+ 2191654919
+ name 1_674_KEY_8
+ 2191654920
+ name 1_674_KEY_9
+ 2191654921
+ name 1_674_KEY_POWER
+ 2191654922
+ name 1_674_KEY_CH_UP
+ 2191654927
+ name 1_674_KEY_CH_DOWN
+ 2191654928
+ name 1_674_KEY_VOL_DOWN
+ 2191654930
+ name 1_674_KEY_VOL_UP
+ 2191654932
+ name 1_674_KEY_MNSELECT
+ 2191654935
+ name 1_674_KEY_EXIT
+ 2191654936
+ name 1_674_KEY_GUIDE
+ 2191654939
+ name 1_674_KEY_TIMER
+ 2191654956
+ name 1_674_KEY_MENU
+ 2191654959
+ name 1_674_KEY_MUP
+ 2191654960
+ name 1_674_KEY_MDOWN
+ 2191654961
+ name 1_674_KEY_MLEFT
+ 2191654962
+ name 1_674_KEY_MRIGHT
+ 2191654963
+ name 1_674_KEY_Sleep
+ 2191654975
+ name 1_674_KEY_On
+ 2191654989
+ name 1_674_KEY_Off
+ 2191654990
+ name 1_675_KEY_0
+ 2191720448
+ name 1_675_KEY_1
+ 2191720449
+ name 1_675_KEY_2
+ 2191720450
+ name 1_675_KEY_3
+ 2191720451
+ name 1_675_KEY_4
+ 2191720452
+ name 1_675_KEY_5
+ 2191720453
+ name 1_675_KEY_6
+ 2191720454
+ name 1_675_KEY_7
+ 2191720455
+ name 1_675_KEY_8
+ 2191720456
+ name 1_675_KEY_9
+ 2191720457
+ name 1_675_KEY_POWER
+ 2191720458
+ name 1_675_KEY_CH_UP
+ 2191720463
+ name 1_675_KEY_CH_DOWN
+ 2191720464
+ name 1_675_KEY_VOL_DOWN
+ 2191720466
+ name 1_675_KEY_VOL_UP
+ 2191720468
+ name 1_675_KEY_MNSELECT
+ 2191720471
+ name 1_675_KEY_GUIDE
+ 2191720475
+ name 1_675_KEY_MNRETRUN
+ 2191720480
+ name 1_675_KEY_TIMER
+ 2191720492
+ name 1_675_KEY_MUP
+ 2191720496
+ name 1_675_KEY_MDOWN
+ 2191720497
+ name 1_675_KEY_MLEFT
+ 2191720498
+ name 1_675_KEY_MRIGHT
+ 2191720499
+ name 1_676_KEY_0
+ 2191785984
+ name 1_676_KEY_1
+ 2191785985
+ name 1_676_KEY_2
+ 2191785986
+ name 1_676_KEY_3
+ 2191785987
+ name 1_676_KEY_4
+ 2191785988
+ name 1_676_KEY_5
+ 2191785989
+ name 1_676_KEY_6
+ 2191785990
+ name 1_676_KEY_7
+ 2191785991
+ name 1_676_KEY_8
+ 2191785992
+ name 1_676_KEY_9
+ 2191785993
+ name 1_676_KEY_POWER
+ 2191785994
+ name 1_676_KEY_CH_UP
+ 2191785999
+ name 1_676_KEY_CH_DOWN
+ 2191786000
+ name 1_676_KEY_MUTE
+ 2191786001
+ name 1_676_KEY_VOL_DOWN
+ 2191786002
+ name 1_676_CH_PREVIOUS
+ 2191786003
+ name 1_676_KEY_VOL_UP
+ 2191786004
+ name 1_676_KEY_MNSELECT
+ 2191786007
+ name 1_676_KEY_EXIT
+ 2191786008
+ name 1_676_KEY_GUIDE
+ 2191786011
+ name 1_676_KEY_BLUE
+ 2191786019
+ name 1_676_KEY_GREEN
+ 2191786020
+ name 1_676_KEY_RED
+ 2191786021
+ name 1_676_KEY_YELLOW
+ 2191786022
+ name 1_676_KEY_MENU
+ 2191786031
+ name 1_676_KEY_MUP
+ 2191786032
+ name 1_676_KEY_MDOWN
+ 2191786033
+ name 1_676_KEY_MLEFT
+ 2191786034
+ name 1_676_KEY_MRIGHT
+ 2191786035
+ name 1_676_KEY_DSubtitle
+ 2191786052
+ name 1_677_KEY_0
+ 2191851520
+ name 1_677_KEY_1
+ 2191851521
+ name 1_677_KEY_2
+ 2191851522
+ name 1_677_KEY_3
+ 2191851523
+ name 1_677_KEY_4
+ 2191851524
+ name 1_677_KEY_5
+ 2191851525
+ name 1_677_KEY_6
+ 2191851526
+ name 1_677_KEY_7
+ 2191851527
+ name 1_677_KEY_8
+ 2191851528
+ name 1_677_KEY_9
+ 2191851529
+ name 1_677_KEY_POWER
+ 2191851530
+ name 1_677_KEY_CH_UP
+ 2191851535
+ name 1_677_KEY_CH_DOWN
+ 2191851536
+ name 1_677_KEY_MUTE
+ 2191851537
+ name 1_677_KEY_VOL_DOWN
+ 2191851538
+ name 1_677_CH_PREVIOUS
+ 2191851539
+ name 1_677_KEY_VOL_UP
+ 2191851540
+ name 1_677_KEY_MNSELECT
+ 2191851543
+ name 1_677_KEY_EXIT
+ 2191851544
+ name 1_677_KEY_GUIDE
+ 2191851547
+ name 1_677_KEY_BLUE
+ 2191851555
+ name 1_677_KEY_GREEN
+ 2191851556
+ name 1_677_KEY_RED
+ 2191851557
+ name 1_677_KEY_YELLOW
+ 2191851558
+ name 1_677_KEY_MENU
+ 2191851567
+ name 1_677_KEY_MUP
+ 2191851568
+ name 1_677_KEY_MDOWN
+ 2191851569
+ name 1_677_KEY_MLEFT
+ 2191851570
+ name 1_677_KEY_MRIGHT
+ 2191851571
+ name 1_677_KEY_Sleep
+ 2191851583
+ name 1_677_KEY_DSubtitle
+ 2191851588
+ name 1_677_KEY_TTOnOff
+ 2191851593
+ name 1_678_KEY_0
+ 2191917056
+ name 1_678_KEY_1
+ 2191917057
+ name 1_678_KEY_2
+ 2191917058
+ name 1_678_KEY_3
+ 2191917059
+ name 1_678_KEY_4
+ 2191917060
+ name 1_678_KEY_5
+ 2191917061
+ name 1_678_KEY_6
+ 2191917062
+ name 1_678_KEY_7
+ 2191917063
+ name 1_678_KEY_8
+ 2191917064
+ name 1_678_KEY_9
+ 2191917065
+ name 1_678_KEY_POWER
+ 2191917066
+ name 1_678_KEY_CH_UP
+ 2191917071
+ name 1_678_KEY_CH_DOWN
+ 2191917072
+ name 1_678_KEY_MUTE
+ 2191917073
+ name 1_678_KEY_VOL_DOWN
+ 2191917074
+ name 1_678_CH_PREVIOUS
+ 2191917075
+ name 1_678_KEY_VOL_UP
+ 2191917076
+ name 1_678_KEY_MNSELECT
+ 2191917079
+ name 1_678_KEY_EXIT
+ 2191917080
+ name 1_678_KEY_GUIDE
+ 2191917083
+ name 1_678_KEY_BLUE
+ 2191917091
+ name 1_678_KEY_GREEN
+ 2191917092
+ name 1_678_KEY_RED
+ 2191917093
+ name 1_678_KEY_YELLOW
+ 2191917094
+ name 1_678_KEY_MENU
+ 2191917103
+ name 1_678_KEY_MUP
+ 2191917104
+ name 1_678_KEY_MDOWN
+ 2191917105
+ name 1_678_KEY_MLEFT
+ 2191917106
+ name 1_678_KEY_MRIGHT
+ 2191917107
+ name 1_678_KEY_DSubtitle
+ 2191917124
+ name 1_678_KEY_TTOnOff
+ 2191917129
+ name 1_679_KEY_0
+ 2191982592
+ name 1_679_KEY_1
+ 2191982593
+ name 1_679_KEY_2
+ 2191982594
+ name 1_679_KEY_3
+ 2191982595
+ name 1_679_KEY_4
+ 2191982596
+ name 1_679_KEY_5
+ 2191982597
+ name 1_679_KEY_6
+ 2191982598
+ name 1_679_KEY_7
+ 2191982599
+ name 1_679_KEY_8
+ 2191982600
+ name 1_679_KEY_9
+ 2191982601
+ name 1_679_KEY_POWER
+ 2191982602
+ name 1_679_KEY_CH_UP
+ 2191982607
+ name 1_679_KEY_CH_DOWN
+ 2191982608
+ name 1_679_KEY_MUTE
+ 2191982609
+ name 1_679_KEY_VOL_DOWN
+ 2191982610
+ name 1_679_KEY_VOL_UP
+ 2191982612
+ name 1_679_KEY_MENU
+ 2191982639
+ name 1_679_KEY_MUP
+ 2191982640
+ name 1_679_KEY_MDOWN
+ 2191982641
+ name 1_680_KEY_0
+ 2192048128
+ name 1_680_KEY_1
+ 2192048129
+ name 1_680_KEY_2
+ 2192048130
+ name 1_680_KEY_3
+ 2192048131
+ name 1_680_KEY_4
+ 2192048132
+ name 1_680_KEY_5
+ 2192048133
+ name 1_680_KEY_6
+ 2192048134
+ name 1_680_KEY_7
+ 2192048135
+ name 1_680_KEY_8
+ 2192048136
+ name 1_680_KEY_9
+ 2192048137
+ name 1_680_KEY_POWER
+ 2192048138
+ name 1_680_KEY_CH_UP
+ 2192048143
+ name 1_680_KEY_CH_DOWN
+ 2192048144
+ name 1_681_KEY_0
+ 2192113664
+ name 1_681_KEY_1
+ 2192113665
+ name 1_681_KEY_2
+ 2192113666
+ name 1_681_KEY_3
+ 2192113667
+ name 1_681_KEY_4
+ 2192113668
+ name 1_681_KEY_5
+ 2192113669
+ name 1_681_KEY_6
+ 2192113670
+ name 1_681_KEY_7
+ 2192113671
+ name 1_681_KEY_8
+ 2192113672
+ name 1_681_KEY_9
+ 2192113673
+ name 1_681_KEY_POWER
+ 2192113674
+ name 1_681_KEY_CH_UP
+ 2192113679
+ name 1_681_KEY_CH_DOWN
+ 2192113680
+ name 1_681_KEY_MUTE
+ 2192113681
+ name 1_681_KEY_VOL_DOWN
+ 2192113682
+ name 1_681_CH_PREVIOUS
+ 2192113683
+ name 1_681_KEY_VOL_UP
+ 2192113684
+ name 1_681_KEY_MNSELECT
+ 2192113687
+ name 1_681_KEY_GUIDE
+ 2192113691
+ name 1_681_KEY_BLUE
+ 2192113699
+ name 1_681_KEY_GREEN
+ 2192113700
+ name 1_681_KEY_RED
+ 2192113701
+ name 1_681_KEY_YELLOW
+ 2192113702
+ name 1_681_KEY_MENU
+ 2192113711
+ name 1_681_KEY_MUP
+ 2192113712
+ name 1_681_KEY_MDOWN
+ 2192113713
+ name 1_681_KEY_MLEFT
+ 2192113714
+ name 1_681_KEY_MRIGHT
+ 2192113715
+ name 1_681_KEY_Sleep
+ 2192113727
+ name 1_681_KEY_DSubtitle
+ 2192113732
+ name 1_681_KEY_TTOnOff
+ 2192113737
+ name 1_682_KEY_0
+ 2192179200
+ name 1_682_KEY_1
+ 2192179201
+ name 1_682_KEY_2
+ 2192179202
+ name 1_682_KEY_3
+ 2192179203
+ name 1_682_KEY_4
+ 2192179204
+ name 1_682_KEY_5
+ 2192179205
+ name 1_682_KEY_6
+ 2192179206
+ name 1_682_KEY_7
+ 2192179207
+ name 1_682_KEY_8
+ 2192179208
+ name 1_682_KEY_9
+ 2192179209
+ name 1_682_KEY_POWER
+ 2192179210
+ name 1_682_KEY_CH_UP
+ 2192179215
+ name 1_682_KEY_CH_DOWN
+ 2192179216
+ name 1_682_KEY_MUTE
+ 2192179217
+ name 1_682_KEY_VOL_DOWN
+ 2192179218
+ name 1_682_KEY_VOL_UP
+ 2192179220
+ name 1_682_KEY_MNSELECT
+ 2192179223
+ name 1_682_KEY_EXIT
+ 2192179224
+ name 1_682_KEY_GUIDE
+ 2192179227
+ name 1_682_KEY_BLUE
+ 2192179235
+ name 1_682_KEY_GREEN
+ 2192179236
+ name 1_682_KEY_RED
+ 2192179237
+ name 1_682_KEY_YELLOW
+ 2192179238
+ name 1_682_KEY_MENU
+ 2192179247
+ name 1_682_KEY_MUP
+ 2192179248
+ name 1_682_KEY_MDOWN
+ 2192179249
+ name 1_682_KEY_MLEFT
+ 2192179250
+ name 1_682_KEY_MRIGHT
+ 2192179251
+ name 1_682_KEY_DSubtitle
+ 2192179268
+ name 1_682_KEY_Off
+ 2192179278
+ name 1_683_KEY_0
+ 2192244736
+ name 1_683_KEY_1
+ 2192244737
+ name 1_683_KEY_2
+ 2192244738
+ name 1_683_KEY_3
+ 2192244739
+ name 1_683_KEY_4
+ 2192244740
+ name 1_683_KEY_5
+ 2192244741
+ name 1_683_KEY_6
+ 2192244742
+ name 1_683_KEY_7
+ 2192244743
+ name 1_683_KEY_8
+ 2192244744
+ name 1_683_KEY_9
+ 2192244745
+ name 1_683_KEY_POWER
+ 2192244746
+ name 1_683_KEY_CH_UP
+ 2192244751
+ name 1_683_KEY_CH_DOWN
+ 2192244752
+ name 1_683_KEY_MUTE
+ 2192244753
+ name 1_683_KEY_VOL_DOWN
+ 2192244754
+ name 1_683_CH_PREVIOUS
+ 2192244755
+ name 1_683_KEY_VOL_UP
+ 2192244756
+ name 1_683_KEY_MNSELECT
+ 2192244759
+ name 1_683_KEY_EXIT
+ 2192244760
+ name 1_683_KEY_GUIDE
+ 2192244763
+ name 1_683_KEY_BLUE
+ 2192244771
+ name 1_683_KEY_GREEN
+ 2192244772
+ name 1_683_KEY_RED
+ 2192244773
+ name 1_683_KEY_YELLOW
+ 2192244774
+ name 1_683_KEY_AV
+ 2192244777
+ name 1_683_KEY_MENU
+ 2192244783
+ name 1_683_KEY_MUP
+ 2192244784
+ name 1_683_KEY_MDOWN
+ 2192244785
+ name 1_683_KEY_MLEFT
+ 2192244786
+ name 1_683_KEY_MRIGHT
+ 2192244787
+ name 1_683_KEY_DSubtitle
+ 2192244804
+ name 1_683_KEY_On
+ 2192244813
+ name 1_683_KEY_Off
+ 2192244814
+ name 1_684_KEY_0
+ 2192310272
+ name 1_684_KEY_1
+ 2192310273
+ name 1_684_KEY_2
+ 2192310274
+ name 1_684_KEY_3
+ 2192310275
+ name 1_684_KEY_4
+ 2192310276
+ name 1_684_KEY_5
+ 2192310277
+ name 1_684_KEY_6
+ 2192310278
+ name 1_684_KEY_7
+ 2192310279
+ name 1_684_KEY_8
+ 2192310280
+ name 1_684_KEY_9
+ 2192310281
+ name 1_684_KEY_POWER
+ 2192310282
+ name 1_684_KEY_CH_UP
+ 2192310287
+ name 1_684_KEY_CH_DOWN
+ 2192310288
+ name 1_684_KEY_MUTE
+ 2192310289
+ name 1_684_KEY_VOL_DOWN
+ 2192310290
+ name 1_684_CH_PREVIOUS
+ 2192310291
+ name 1_684_KEY_VOL_UP
+ 2192310292
+ name 1_684_KEY_MNSELECT
+ 2192310295
+ name 1_684_KEY_AV
+ 2192310313
+ name 1_684_KEY_MENU
+ 2192310319
+ name 1_684_KEY_MUP
+ 2192310320
+ name 1_684_KEY_MDOWN
+ 2192310321
+ name 1_684_KEY_MLEFT
+ 2192310322
+ name 1_684_KEY_MRIGHT
+ 2192310323
+ name 1_684_KEY_Off
+ 2192310350
+ name 1_685_KEY_0
+ 2192375808
+ name 1_685_KEY_1
+ 2192375809
+ name 1_685_KEY_2
+ 2192375810
+ name 1_685_KEY_3
+ 2192375811
+ name 1_685_KEY_4
+ 2192375812
+ name 1_685_KEY_5
+ 2192375813
+ name 1_685_KEY_6
+ 2192375814
+ name 1_685_KEY_7
+ 2192375815
+ name 1_685_KEY_8
+ 2192375816
+ name 1_685_KEY_9
+ 2192375817
+ name 1_685_KEY_POWER
+ 2192375818
+ name 1_685_KEY_CH_UP
+ 2192375823
+ name 1_685_KEY_CH_DOWN
+ 2192375824
+ name 1_685_KEY_MUTE
+ 2192375825
+ name 1_685_KEY_VOL_DOWN
+ 2192375826
+ name 1_685_KEY_VOL_UP
+ 2192375828
+ name 1_685_KEY_MNSELECT
+ 2192375831
+ name 1_685_KEY_MENU
+ 2192375855
+ name 1_685_KEY_MUP
+ 2192375856
+ name 1_685_KEY_MDOWN
+ 2192375857
+ name 1_685_KEY_MLEFT
+ 2192375858
+ name 1_685_KEY_MRIGHT
+ 2192375859
+ name 1_686_KEY_0
+ 2192441344
+ name 1_686_KEY_1
+ 2192441345
+ name 1_686_KEY_2
+ 2192441346
+ name 1_686_KEY_3
+ 2192441347
+ name 1_686_KEY_4
+ 2192441348
+ name 1_686_KEY_5
+ 2192441349
+ name 1_686_KEY_6
+ 2192441350
+ name 1_686_KEY_7
+ 2192441351
+ name 1_686_KEY_8
+ 2192441352
+ name 1_686_KEY_9
+ 2192441353
+ name 1_686_KEY_POWER
+ 2192441354
+ name 1_686_KEY_CH_UP
+ 2192441359
+ name 1_686_KEY_CH_DOWN
+ 2192441360
+ name 1_686_KEY_MUTE
+ 2192441361
+ name 1_686_KEY_VOL_DOWN
+ 2192441362
+ name 1_686_KEY_VOL_UP
+ 2192441364
+ name 1_686_KEY_MNSELECT
+ 2192441367
+ name 1_686_KEY_MUP
+ 2192441392
+ name 1_686_KEY_MDOWN
+ 2192441393
+ name 1_686_KEY_MLEFT
+ 2192441394
+ name 1_686_KEY_MRIGHT
+ 2192441395
+ name 1_686_KEY_Sleep
+ 2192441407
+ name 1_687_KEY_0
+ 2192506880
+ name 1_687_KEY_1
+ 2192506881
+ name 1_687_KEY_2
+ 2192506882
+ name 1_687_KEY_3
+ 2192506883
+ name 1_687_KEY_4
+ 2192506884
+ name 1_687_KEY_5
+ 2192506885
+ name 1_687_KEY_6
+ 2192506886
+ name 1_687_KEY_7
+ 2192506887
+ name 1_687_KEY_8
+ 2192506888
+ name 1_687_KEY_9
+ 2192506889
+ name 1_687_KEY_POWER
+ 2192506890
+ name 1_687_TWO_DIGITS
+ 2192506893
+ name 1_687_KEY_CH_UP
+ 2192506895
+ name 1_687_KEY_CH_DOWN
+ 2192506896
+ name 1_687_KEY_MUTE
+ 2192506897
+ name 1_687_KEY_VOL_DOWN
+ 2192506898
+ name 1_687_KEY_VOL_UP
+ 2192506900
+ name 1_687_KEY_MNSELECT
+ 2192506903
+ name 1_687_KEY_EXIT
+ 2192506904
+ name 1_687_KEY_BLUE
+ 2192506915
+ name 1_687_KEY_GREEN
+ 2192506916
+ name 1_687_KEY_RED
+ 2192506917
+ name 1_687_KEY_YELLOW
+ 2192506918
+ name 1_687_KEY_AV
+ 2192506921
+ name 1_687_KEY_MENU
+ 2192506927
+ name 1_687_KEY_MUP
+ 2192506928
+ name 1_687_KEY_MDOWN
+ 2192506929
+ name 1_687_KEY_On
+ 2192506957
+ name 1_687_KEY_Off
+ 2192506958
+ name 1_688_KEY_0
+ 2192572416
+ name 1_688_KEY_1
+ 2192572417
+ name 1_688_KEY_2
+ 2192572418
+ name 1_688_KEY_3
+ 2192572419
+ name 1_688_KEY_4
+ 2192572420
+ name 1_688_KEY_5
+ 2192572421
+ name 1_688_KEY_6
+ 2192572422
+ name 1_688_KEY_7
+ 2192572423
+ name 1_688_KEY_8
+ 2192572424
+ name 1_688_KEY_9
+ 2192572425
+ name 1_688_KEY_POWER
+ 2192572426
+ name 1_688_TWO_DIGITS
+ 2192572429
+ name 1_688_KEY_CH_UP
+ 2192572431
+ name 1_688_KEY_CH_DOWN
+ 2192572432
+ name 1_688_KEY_MUTE
+ 2192572433
+ name 1_688_KEY_VOL_DOWN
+ 2192572434
+ name 1_688_KEY_VOL_UP
+ 2192572436
+ name 1_688_KEY_EXIT
+ 2192572440
+ name 1_688_KEY_GUIDE
+ 2192572443
+ name 1_688_KEY_BLUE
+ 2192572451
+ name 1_688_KEY_GREEN
+ 2192572452
+ name 1_688_KEY_RED
+ 2192572453
+ name 1_688_KEY_YELLOW
+ 2192572454
+ name 1_688_KEY_MENU
+ 2192572463
+ name 1_688_KEY_MUP
+ 2192572464
+ name 1_688_KEY_MDOWN
+ 2192572465
+ name 1_688_KEY_Sleep
+ 2192572479
+ name 1_688_KEY_DSubtitle
+ 2192572484
+ name 1_688_KEY_On
+ 2192572493
+ name 1_689_KEY_0
+ 2192637952
+ name 1_689_KEY_1
+ 2192637953
+ name 1_689_KEY_2
+ 2192637954
+ name 1_689_KEY_3
+ 2192637955
+ name 1_689_KEY_4
+ 2192637956
+ name 1_689_KEY_5
+ 2192637957
+ name 1_689_KEY_6
+ 2192637958
+ name 1_689_KEY_7
+ 2192637959
+ name 1_689_KEY_8
+ 2192637960
+ name 1_689_KEY_9
+ 2192637961
+ name 1_689_KEY_POWER
+ 2192637962
+ name 1_689_KEY_CH_UP
+ 2192637967
+ name 1_689_KEY_CH_DOWN
+ 2192637968
+ name 1_689_KEY_MUTE
+ 2192637969
+ name 1_689_KEY_VOL_DOWN
+ 2192637970
+ name 1_689_CH_PREVIOUS
+ 2192637971
+ name 1_689_KEY_VOL_UP
+ 2192637972
+ name 1_689_KEY_AV
+ 2192637993
+ name 1_690_KEY_0
+ 2192703488
+ name 1_690_KEY_1
+ 2192703489
+ name 1_690_KEY_2
+ 2192703490
+ name 1_690_KEY_3
+ 2192703491
+ name 1_690_KEY_4
+ 2192703492
+ name 1_690_KEY_5
+ 2192703493
+ name 1_690_KEY_6
+ 2192703494
+ name 1_690_KEY_7
+ 2192703495
+ name 1_690_KEY_8
+ 2192703496
+ name 1_690_KEY_9
+ 2192703497
+ name 1_690_KEY_POWER
+ 2192703498
+ name 1_690_KEY_CH_UP
+ 2192703503
+ name 1_690_KEY_CH_DOWN
+ 2192703504
+ name 1_690_KEY_MUTE
+ 2192703505
+ name 1_690_KEY_VOL_DOWN
+ 2192703506
+ name 1_690_KEY_VOL_UP
+ 2192703508
+ name 1_690_KEY_MNSELECT
+ 2192703511
+ name 1_690_KEY_MNRETRUN
+ 2192703520
+ name 1_690_KEY_AV
+ 2192703529
+ name 1_690_KEY_MENU
+ 2192703535
+ name 1_690_KEY_MUP
+ 2192703536
+ name 1_690_KEY_MDOWN
+ 2192703537
+ name 1_690_KEY_MLEFT
+ 2192703538
+ name 1_690_KEY_MRIGHT
+ 2192703539
+ name 1_690_KEY_On
+ 2192703565
+ name 1_690_KEY_Off
+ 2192703566
+ name 1_691_KEY_0
+ 2192769024
+ name 1_691_KEY_1
+ 2192769025
+ name 1_691_KEY_2
+ 2192769026
+ name 1_691_KEY_3
+ 2192769027
+ name 1_691_KEY_4
+ 2192769028
+ name 1_691_KEY_5
+ 2192769029
+ name 1_691_KEY_6
+ 2192769030
+ name 1_691_KEY_7
+ 2192769031
+ name 1_691_KEY_8
+ 2192769032
+ name 1_691_KEY_9
+ 2192769033
+ name 1_691_KEY_POWER
+ 2192769034
+ name 1_691_KEY_CH_UP
+ 2192769039
+ name 1_691_KEY_CH_DOWN
+ 2192769040
+ name 1_691_KEY_MUTE
+ 2192769041
+ name 1_691_KEY_VOL_DOWN
+ 2192769042
+ name 1_691_KEY_VOL_UP
+ 2192769044
+ name 1_691_KEY_MNSELECT
+ 2192769047
+ name 1_691_KEY_AV
+ 2192769065
+ name 1_691_KEY_MENU
+ 2192769071
+ name 1_691_KEY_MUP
+ 2192769072
+ name 1_691_KEY_MDOWN
+ 2192769073
+ name 1_691_KEY_MLEFT
+ 2192769074
+ name 1_691_KEY_MRIGHT
+ 2192769075
+ name 1_692_KEY_0
+ 2192834560
+ name 1_692_KEY_1
+ 2192834561
+ name 1_692_KEY_2
+ 2192834562
+ name 1_692_KEY_3
+ 2192834563
+ name 1_692_KEY_4
+ 2192834564
+ name 1_692_KEY_5
+ 2192834565
+ name 1_692_KEY_6
+ 2192834566
+ name 1_692_KEY_7
+ 2192834567
+ name 1_692_KEY_8
+ 2192834568
+ name 1_692_KEY_9
+ 2192834569
+ name 1_692_KEY_POWER
+ 2192834570
+ name 1_692_KEY_CH_UP
+ 2192834575
+ name 1_692_KEY_CH_DOWN
+ 2192834576
+ name 1_692_CH_PREVIOUS
+ 2192834579
+ name 1_692_KEY_MNSELECT
+ 2192834583
+ name 1_692_KEY_MUP
+ 2192834608
+ name 1_692_KEY_MDOWN
+ 2192834609
+ name 1_692_KEY_MLEFT
+ 2192834610
+ name 1_692_KEY_MRIGHT
+ 2192834611
+ name 1_693_KEY_0
+ 2192900096
+ name 1_693_KEY_1
+ 2192900097
+ name 1_693_KEY_2
+ 2192900098
+ name 1_693_KEY_3
+ 2192900099
+ name 1_693_KEY_4
+ 2192900100
+ name 1_693_KEY_5
+ 2192900101
+ name 1_693_KEY_6
+ 2192900102
+ name 1_693_KEY_7
+ 2192900103
+ name 1_693_KEY_8
+ 2192900104
+ name 1_693_KEY_9
+ 2192900105
+ name 1_693_KEY_POWER
+ 2192900106
+ name 1_693_KEY_CH_UP
+ 2192900111
+ name 1_693_KEY_CH_DOWN
+ 2192900112
+ name 1_693_KEY_MUTE
+ 2192900113
+ name 1_693_KEY_VOL_DOWN
+ 2192900114
+ name 1_693_KEY_VOL_UP
+ 2192900116
+ name 1_693_KEY_EXIT
+ 2192900120
+ name 1_693_KEY_MENU
+ 2192900143
+ name 1_694_KEY_0
+ 2192965632
+ name 1_694_KEY_1
+ 2192965633
+ name 1_694_KEY_2
+ 2192965634
+ name 1_694_KEY_3
+ 2192965635
+ name 1_694_KEY_4
+ 2192965636
+ name 1_694_KEY_5
+ 2192965637
+ name 1_694_KEY_6
+ 2192965638
+ name 1_694_KEY_7
+ 2192965639
+ name 1_694_KEY_8
+ 2192965640
+ name 1_694_KEY_9
+ 2192965641
+ name 1_694_KEY_POWER
+ 2192965642
+ name 1_694_KEY_CH_UP
+ 2192965647
+ name 1_694_KEY_CH_DOWN
+ 2192965648
+ name 1_694_KEY_MUTE
+ 2192965649
+ name 1_694_KEY_VOL_DOWN
+ 2192965650
+ name 1_694_KEY_VOL_UP
+ 2192965652
+ name 1_695_KEY_0
+ 2193031168
+ name 1_695_KEY_1
+ 2193031169
+ name 1_695_KEY_2
+ 2193031170
+ name 1_695_KEY_3
+ 2193031171
+ name 1_695_KEY_4
+ 2193031172
+ name 1_695_KEY_5
+ 2193031173
+ name 1_695_KEY_6
+ 2193031174
+ name 1_695_KEY_7
+ 2193031175
+ name 1_695_KEY_8
+ 2193031176
+ name 1_695_KEY_9
+ 2193031177
+ name 1_695_KEY_POWER
+ 2193031178
+ name 1_695_KEY_CH_UP
+ 2193031183
+ name 1_695_KEY_CH_DOWN
+ 2193031184
+ name 1_695_KEY_MUTE
+ 2193031185
+ name 1_695_KEY_VOL_DOWN
+ 2193031186
+ name 1_695_CH_PREVIOUS
+ 2193031187
+ name 1_695_KEY_VOL_UP
+ 2193031188
+ name 1_695_KEY_MNSELECT
+ 2193031191
+ name 1_695_KEY_EXIT
+ 2193031192
+ name 1_695_KEY_GUIDE
+ 2193031195
+ name 1_695_KEY_MUP
+ 2193031216
+ name 1_695_KEY_MDOWN
+ 2193031217
+ name 1_695_KEY_MLEFT
+ 2193031218
+ name 1_695_KEY_MRIGHT
+ 2193031219
+ name 1_696_KEY_0
+ 2193096704
+ name 1_696_KEY_1
+ 2193096705
+ name 1_696_KEY_2
+ 2193096706
+ name 1_696_KEY_3
+ 2193096707
+ name 1_696_KEY_4
+ 2193096708
+ name 1_696_KEY_5
+ 2193096709
+ name 1_696_KEY_6
+ 2193096710
+ name 1_696_KEY_7
+ 2193096711
+ name 1_696_KEY_8
+ 2193096712
+ name 1_696_KEY_9
+ 2193096713
+ name 1_696_KEY_POWER
+ 2193096714
+ name 1_696_KEY_CH_UP
+ 2193096719
+ name 1_696_KEY_CH_DOWN
+ 2193096720
+ name 1_696_KEY_MUTE
+ 2193096721
+ name 1_696_KEY_VOL_DOWN
+ 2193096722
+ name 1_696_KEY_VOL_UP
+ 2193096724
+ name 1_696_KEY_MNSELECT
+ 2193096727
+ name 1_696_KEY_AV
+ 2193096745
+ name 1_696_KEY_MENU
+ 2193096751
+ name 1_696_KEY_MUP
+ 2193096752
+ name 1_696_KEY_MDOWN
+ 2193096753
+ name 1_696_KEY_MLEFT
+ 2193096754
+ name 1_696_KEY_MRIGHT
+ 2193096755
+ name 1_696_KEY_Sleep
+ 2193096767
+ name 1_697_KEY_0
+ 2193162240
+ name 1_697_KEY_1
+ 2193162241
+ name 1_697_KEY_2
+ 2193162242
+ name 1_697_KEY_3
+ 2193162243
+ name 1_697_KEY_4
+ 2193162244
+ name 1_697_KEY_5
+ 2193162245
+ name 1_697_KEY_6
+ 2193162246
+ name 1_697_KEY_7
+ 2193162247
+ name 1_697_KEY_8
+ 2193162248
+ name 1_697_KEY_9
+ 2193162249
+ name 1_697_KEY_POWER
+ 2193162250
+ name 1_697_KEY_CH_UP
+ 2193162255
+ name 1_697_KEY_CH_DOWN
+ 2193162256
+ name 1_697_KEY_MUTE
+ 2193162257
+ name 1_697_KEY_VOL_DOWN
+ 2193162258
+ name 1_697_KEY_VOL_UP
+ 2193162260
+ name 1_697_KEY_AV
+ 2193162281
+ name 1_697_KEY_MENU
+ 2193162287
+ name 1_697_KEY_MUP
+ 2193162288
+ name 1_697_KEY_MDOWN
+ 2193162289
+ name 1_697_KEY_MLEFT
+ 2193162290
+ name 1_697_KEY_MRIGHT
+ 2193162291
+ name 1_697_KEY_Sleep
+ 2193162303
+ name 1_697_KEY_Off
+ 2193162318
+ name 1_698_KEY_0
+ 2193227776
+ name 1_698_KEY_1
+ 2193227777
+ name 1_698_KEY_2
+ 2193227778
+ name 1_698_KEY_3
+ 2193227779
+ name 1_698_KEY_4
+ 2193227780
+ name 1_698_KEY_5
+ 2193227781
+ name 1_698_KEY_6
+ 2193227782
+ name 1_698_KEY_7
+ 2193227783
+ name 1_698_KEY_8
+ 2193227784
+ name 1_698_KEY_9
+ 2193227785
+ name 1_698_KEY_POWER
+ 2193227786
+ name 1_698_KEY_CH_UP
+ 2193227791
+ name 1_698_KEY_CH_DOWN
+ 2193227792
+ name 1_698_KEY_MUTE
+ 2193227793
+ name 1_698_KEY_VOL_DOWN
+ 2193227794
+ name 1_698_KEY_VOL_UP
+ 2193227796
+ name 1_698_KEY_MNSELECT
+ 2193227799
+ name 1_698_KEY_MENU
+ 2193227823
+ name 1_698_KEY_MUP
+ 2193227824
+ name 1_698_KEY_MDOWN
+ 2193227825
+ name 1_698_KEY_MLEFT
+ 2193227826
+ name 1_698_KEY_MRIGHT
+ 2193227827
+ name 1_698_KEY_Off
+ 2193227854
+ name 1_699_KEY_0
+ 2193293312
+ name 1_699_KEY_1
+ 2193293313
+ name 1_699_KEY_2
+ 2193293314
+ name 1_699_KEY_3
+ 2193293315
+ name 1_699_KEY_4
+ 2193293316
+ name 1_699_KEY_5
+ 2193293317
+ name 1_699_KEY_6
+ 2193293318
+ name 1_699_KEY_7
+ 2193293319
+ name 1_699_KEY_8
+ 2193293320
+ name 1_699_KEY_9
+ 2193293321
+ name 1_699_KEY_POWER
+ 2193293322
+ name 1_699_KEY_CH_UP
+ 2193293327
+ name 1_699_KEY_CH_DOWN
+ 2193293328
+ name 1_699_KEY_MUTE
+ 2193293329
+ name 1_699_KEY_VOL_DOWN
+ 2193293330
+ name 1_699_KEY_VOL_UP
+ 2193293332
+ name 1_699_KEY_GUIDE
+ 2193293339
+ name 1_699_KEY_AV
+ 2193293353
+ name 1_699_KEY_MUP
+ 2193293360
+ name 1_699_KEY_MDOWN
+ 2193293361
+ name 1_699_KEY_MLEFT
+ 2193293362
+ name 1_699_KEY_MRIGHT
+ 2193293363
+ name 1_700_KEY_0
+ 2193358848
+ name 1_700_KEY_1
+ 2193358849
+ name 1_700_KEY_2
+ 2193358850
+ name 1_700_KEY_3
+ 2193358851
+ name 1_700_KEY_4
+ 2193358852
+ name 1_700_KEY_5
+ 2193358853
+ name 1_700_KEY_6
+ 2193358854
+ name 1_700_KEY_7
+ 2193358855
+ name 1_700_KEY_8
+ 2193358856
+ name 1_700_KEY_9
+ 2193358857
+ name 1_700_KEY_POWER
+ 2193358858
+ name 1_700_KEY_CH_UP
+ 2193358863
+ name 1_700_KEY_CH_DOWN
+ 2193358864
+ name 1_700_KEY_MUTE
+ 2193358865
+ name 1_700_KEY_VOL_DOWN
+ 2193358866
+ name 1_700_CH_PREVIOUS
+ 2193358867
+ name 1_700_KEY_VOL_UP
+ 2193358868
+ name 1_700_KEY_MNSELECT
+ 2193358871
+ name 1_700_KEY_EXIT
+ 2193358872
+ name 1_700_KEY_GUIDE
+ 2193358875
+ name 1_700_KEY_BLUE
+ 2193358883
+ name 1_700_KEY_GREEN
+ 2193358884
+ name 1_700_KEY_RED
+ 2193358885
+ name 1_700_KEY_YELLOW
+ 2193358886
+ name 1_700_KEY_MENU
+ 2193358895
+ name 1_700_KEY_MUP
+ 2193358896
+ name 1_700_KEY_MDOWN
+ 2193358897
+ name 1_700_KEY_MLEFT
+ 2193358898
+ name 1_700_KEY_MRIGHT
+ 2193358899
+ name 1_700_KEY_DSubtitle
+ 2193358916
+ name 1_700_KEY_Off
+ 2193358926
+ name 1_701_KEY_0
+ 2193424384
+ name 1_701_KEY_1
+ 2193424385
+ name 1_701_KEY_2
+ 2193424386
+ name 1_701_KEY_3
+ 2193424387
+ name 1_701_KEY_4
+ 2193424388
+ name 1_701_KEY_5
+ 2193424389
+ name 1_701_KEY_6
+ 2193424390
+ name 1_701_KEY_7
+ 2193424391
+ name 1_701_KEY_8
+ 2193424392
+ name 1_701_KEY_9
+ 2193424393
+ name 1_701_KEY_POWER
+ 2193424394
+ name 1_701_KEY_CH_UP
+ 2193424399
+ name 1_701_KEY_CH_DOWN
+ 2193424400
+ name 1_701_KEY_MUTE
+ 2193424401
+ name 1_701_KEY_VOL_DOWN
+ 2193424402
+ name 1_701_CH_PREVIOUS
+ 2193424403
+ name 1_701_KEY_VOL_UP
+ 2193424404
+ name 1_701_KEY_MNSELECT
+ 2193424407
+ name 1_701_KEY_EXIT
+ 2193424408
+ name 1_701_KEY_GUIDE
+ 2193424411
+ name 1_701_KEY_MENU
+ 2193424431
+ name 1_701_KEY_MUP
+ 2193424432
+ name 1_701_KEY_MDOWN
+ 2193424433
+ name 1_701_KEY_MLEFT
+ 2193424434
+ name 1_701_KEY_MRIGHT
+ 2193424435
+ name 1_702_KEY_0
+ 2193489920
+ name 1_702_KEY_1
+ 2193489921
+ name 1_702_KEY_2
+ 2193489922
+ name 1_702_KEY_3
+ 2193489923
+ name 1_702_KEY_4
+ 2193489924
+ name 1_702_KEY_5
+ 2193489925
+ name 1_702_KEY_6
+ 2193489926
+ name 1_702_KEY_7
+ 2193489927
+ name 1_702_KEY_8
+ 2193489928
+ name 1_702_KEY_9
+ 2193489929
+ name 1_702_KEY_POWER
+ 2193489930
+ name 1_702_KEY_CH_UP
+ 2193489935
+ name 1_702_KEY_CH_DOWN
+ 2193489936
+ name 1_702_KEY_MUTE
+ 2193489937
+ name 1_702_KEY_VOL_DOWN
+ 2193489938
+ name 1_702_CH_PREVIOUS
+ 2193489939
+ name 1_702_KEY_VOL_UP
+ 2193489940
+ name 1_702_KEY_AV
+ 2193489961
+ name 1_703_KEY_0
+ 2193555456
+ name 1_703_KEY_1
+ 2193555457
+ name 1_703_KEY_2
+ 2193555458
+ name 1_703_KEY_3
+ 2193555459
+ name 1_703_KEY_4
+ 2193555460
+ name 1_703_KEY_5
+ 2193555461
+ name 1_703_KEY_6
+ 2193555462
+ name 1_703_KEY_7
+ 2193555463
+ name 1_703_KEY_8
+ 2193555464
+ name 1_703_KEY_9
+ 2193555465
+ name 1_703_KEY_POWER
+ 2193555466
+ name 1_703_KEY_CH_UP
+ 2193555471
+ name 1_703_KEY_CH_DOWN
+ 2193555472
+ name 1_703_KEY_MUTE
+ 2193555473
+ name 1_703_KEY_VOL_DOWN
+ 2193555474
+ name 1_703_CH_PREVIOUS
+ 2193555475
+ name 1_703_KEY_VOL_UP
+ 2193555476
+ name 1_703_KEY_MNSELECT
+ 2193555479
+ name 1_703_KEY_EXIT
+ 2193555480
+ name 1_703_KEY_GUIDE
+ 2193555483
+ name 1_703_KEY_BLUE
+ 2193555491
+ name 1_703_KEY_GREEN
+ 2193555492
+ name 1_703_KEY_RED
+ 2193555493
+ name 1_703_KEY_YELLOW
+ 2193555494
+ name 1_703_KEY_AV
+ 2193555497
+ name 1_703_KEY_MENU
+ 2193555503
+ name 1_703_KEY_MUP
+ 2193555504
+ name 1_703_KEY_MDOWN
+ 2193555505
+ name 1_703_KEY_MLEFT
+ 2193555506
+ name 1_703_KEY_MRIGHT
+ 2193555507
+ name 1_704_KEY_0
+ 2193620992
+ name 1_704_KEY_1
+ 2193620993
+ name 1_704_KEY_2
+ 2193620994
+ name 1_704_KEY_3
+ 2193620995
+ name 1_704_KEY_4
+ 2193620996
+ name 1_704_KEY_5
+ 2193620997
+ name 1_704_KEY_6
+ 2193620998
+ name 1_704_KEY_7
+ 2193620999
+ name 1_704_KEY_8
+ 2193621000
+ name 1_704_KEY_9
+ 2193621001
+ name 1_704_KEY_POWER
+ 2193621002
+ name 1_704_KEY_CH_UP
+ 2193621007
+ name 1_704_KEY_CH_DOWN
+ 2193621008
+ name 1_704_KEY_MUTE
+ 2193621009
+ name 1_704_KEY_VOL_DOWN
+ 2193621010
+ name 1_704_CH_PREVIOUS
+ 2193621011
+ name 1_704_KEY_VOL_UP
+ 2193621012
+ name 1_704_KEY_MNSELECT
+ 2193621015
+ name 1_704_KEY_EXIT
+ 2193621016
+ name 1_704_KEY_GUIDE
+ 2193621019
+ name 1_704_KEY_AV
+ 2193621033
+ name 1_704_KEY_MENU
+ 2193621039
+ name 1_704_KEY_MUP
+ 2193621040
+ name 1_704_KEY_MDOWN
+ 2193621041
+ name 1_704_KEY_MLEFT
+ 2193621042
+ name 1_704_KEY_MRIGHT
+ 2193621043
+ name 1_704_KEY_On
+ 2193621069
+ name 1_704_KEY_Off
+ 2193621070
+ name 1_705_KEY_0
+ 2193686528
+ name 1_705_KEY_1
+ 2193686529
+ name 1_705_KEY_2
+ 2193686530
+ name 1_705_KEY_3
+ 2193686531
+ name 1_705_KEY_4
+ 2193686532
+ name 1_705_KEY_5
+ 2193686533
+ name 1_705_KEY_6
+ 2193686534
+ name 1_705_KEY_7
+ 2193686535
+ name 1_705_KEY_8
+ 2193686536
+ name 1_705_KEY_9
+ 2193686537
+ name 1_705_KEY_POWER
+ 2193686538
+ name 1_705_KEY_CH_UP
+ 2193686543
+ name 1_705_KEY_CH_DOWN
+ 2193686544
+ name 1_705_KEY_MUTE
+ 2193686545
+ name 1_705_KEY_VOL_DOWN
+ 2193686546
+ name 1_705_CH_PREVIOUS
+ 2193686547
+ name 1_705_KEY_VOL_UP
+ 2193686548
+ name 1_705_KEY_MNSELECT
+ 2193686551
+ name 1_705_KEY_EXIT
+ 2193686552
+ name 1_705_KEY_GUIDE
+ 2193686555
+ name 1_705_KEY_MNRETRUN
+ 2193686560
+ name 1_705_KEY_BLUE
+ 2193686563
+ name 1_705_KEY_GREEN
+ 2193686564
+ name 1_705_KEY_RED
+ 2193686565
+ name 1_705_KEY_YELLOW
+ 2193686566
+ name 1_705_KEY_AV
+ 2193686569
+ name 1_705_KEY_MENU
+ 2193686575
+ name 1_705_KEY_MUP
+ 2193686576
+ name 1_705_KEY_MDOWN
+ 2193686577
+ name 1_705_KEY_MLEFT
+ 2193686578
+ name 1_705_KEY_MRIGHT
+ 2193686579
+ name 1_705_KEY_DSubtitle
+ 2193686596
+ name 1_706_KEY_0
+ 2193752064
+ name 1_706_KEY_1
+ 2193752065
+ name 1_706_KEY_2
+ 2193752066
+ name 1_706_KEY_3
+ 2193752067
+ name 1_706_KEY_4
+ 2193752068
+ name 1_706_KEY_5
+ 2193752069
+ name 1_706_KEY_6
+ 2193752070
+ name 1_706_KEY_7
+ 2193752071
+ name 1_706_KEY_8
+ 2193752072
+ name 1_706_KEY_9
+ 2193752073
+ name 1_706_KEY_POWER
+ 2193752074
+ name 1_706_KEY_CH_UP
+ 2193752079
+ name 1_706_KEY_CH_DOWN
+ 2193752080
+ name 1_706_KEY_MUTE
+ 2193752081
+ name 1_706_KEY_VOL_DOWN
+ 2193752082
+ name 1_706_CH_PREVIOUS
+ 2193752083
+ name 1_706_KEY_VOL_UP
+ 2193752084
+ name 1_706_KEY_MNSELECT
+ 2193752087
+ name 1_706_KEY_EXIT
+ 2193752088
+ name 1_706_KEY_GUIDE
+ 2193752091
+ name 1_706_KEY_MNRETRUN
+ 2193752096
+ name 1_706_KEY_BLUE
+ 2193752099
+ name 1_706_KEY_GREEN
+ 2193752100
+ name 1_706_KEY_RED
+ 2193752101
+ name 1_706_KEY_YELLOW
+ 2193752102
+ name 1_706_KEY_MENU
+ 2193752111
+ name 1_706_KEY_MUP
+ 2193752112
+ name 1_706_KEY_MDOWN
+ 2193752113
+ name 1_706_KEY_MLEFT
+ 2193752114
+ name 1_706_KEY_MRIGHT
+ 2193752115
+ name 1_706_KEY_DSubtitle
+ 2193752132
+ name 1_706_KEY_On
+ 2193752141
+ name 1_707_KEY_0
+ 2193817600
+ name 1_707_KEY_1
+ 2193817601
+ name 1_707_KEY_2
+ 2193817602
+ name 1_707_KEY_3
+ 2193817603
+ name 1_707_KEY_4
+ 2193817604
+ name 1_707_KEY_5
+ 2193817605
+ name 1_707_KEY_6
+ 2193817606
+ name 1_707_KEY_7
+ 2193817607
+ name 1_707_KEY_8
+ 2193817608
+ name 1_707_KEY_9
+ 2193817609
+ name 1_707_KEY_POWER
+ 2193817610
+ name 1_707_TWO_DIGITS
+ 2193817613
+ name 1_707_KEY_CH_UP
+ 2193817615
+ name 1_707_KEY_CH_DOWN
+ 2193817616
+ name 1_707_KEY_MUTE
+ 2193817617
+ name 1_707_KEY_VOL_DOWN
+ 2193817618
+ name 1_707_KEY_VOL_UP
+ 2193817620
+ name 1_707_KEY_EXIT
+ 2193817624
+ name 1_707_KEY_BLUE
+ 2193817635
+ name 1_707_KEY_GREEN
+ 2193817636
+ name 1_707_KEY_RED
+ 2193817637
+ name 1_707_KEY_YELLOW
+ 2193817638
+ name 1_707_KEY_AV
+ 2193817641
+ name 1_707_KEY_MENU
+ 2193817647
+ name 1_707_KEY_MUP
+ 2193817648
+ name 1_707_KEY_MDOWN
+ 2193817649
+ name 1_707_KEY_MLEFT
+ 2193817650
+ name 1_707_KEY_MRIGHT
+ 2193817651
+ name 1_707_KEY_On
+ 2193817677
+ name 1_707_KEY_Off
+ 2193817678
+ name 1_708_KEY_0
+ 2193883136
+ name 1_708_KEY_1
+ 2193883137
+ name 1_708_KEY_2
+ 2193883138
+ name 1_708_KEY_3
+ 2193883139
+ name 1_708_KEY_4
+ 2193883140
+ name 1_708_KEY_5
+ 2193883141
+ name 1_708_KEY_6
+ 2193883142
+ name 1_708_KEY_7
+ 2193883143
+ name 1_708_KEY_8
+ 2193883144
+ name 1_708_KEY_9
+ 2193883145
+ name 1_708_KEY_POWER
+ 2193883146
+ name 1_708_KEY_CH_UP
+ 2193883151
+ name 1_708_KEY_CH_DOWN
+ 2193883152
+ name 1_708_KEY_MUTE
+ 2193883153
+ name 1_708_KEY_VOL_DOWN
+ 2193883154
+ name 1_708_KEY_VOL_UP
+ 2193883156
+ name 1_708_KEY_EXIT
+ 2193883160
+ name 1_708_KEY_GUIDE
+ 2193883163
+ name 1_708_KEY_BLUE
+ 2193883171
+ name 1_708_KEY_GREEN
+ 2193883172
+ name 1_708_KEY_RED
+ 2193883173
+ name 1_708_KEY_YELLOW
+ 2193883174
+ name 1_708_KEY_MENU
+ 2193883183
+ name 1_708_KEY_MUP
+ 2193883184
+ name 1_708_KEY_MDOWN
+ 2193883185
+ name 1_708_KEY_MLEFT
+ 2193883186
+ name 1_708_KEY_MRIGHT
+ 2193883187
+ name 1_708_KEY_DSubtitle
+ 2193883204
+ name 1_708_KEY_TTOnOff
+ 2193883209
+ name 1_709_KEY_0
+ 2193948672
+ name 1_709_KEY_1
+ 2193948673
+ name 1_709_KEY_2
+ 2193948674
+ name 1_709_KEY_3
+ 2193948675
+ name 1_709_KEY_4
+ 2193948676
+ name 1_709_KEY_5
+ 2193948677
+ name 1_709_KEY_6
+ 2193948678
+ name 1_709_KEY_7
+ 2193948679
+ name 1_709_KEY_8
+ 2193948680
+ name 1_709_KEY_9
+ 2193948681
+ name 1_709_KEY_CH_UP
+ 2193948687
+ name 1_709_KEY_CH_DOWN
+ 2193948688
+ name 1_709_KEY_MNSELECT
+ 2193948695
+ name 1_709_KEY_MNRETRUN
+ 2193948704
+ name 1_709_KEY_MENU
+ 2193948719
+ name 1_710_KEY_0
+ 2194014208
+ name 1_710_KEY_1
+ 2194014209
+ name 1_710_KEY_2
+ 2194014210
+ name 1_710_KEY_3
+ 2194014211
+ name 1_710_KEY_4
+ 2194014212
+ name 1_710_KEY_5
+ 2194014213
+ name 1_710_KEY_6
+ 2194014214
+ name 1_710_KEY_7
+ 2194014215
+ name 1_710_KEY_8
+ 2194014216
+ name 1_710_KEY_9
+ 2194014217
+ name 1_710_KEY_POWER
+ 2194014218
+ name 1_710_KEY_CH_UP
+ 2194014223
+ name 1_710_KEY_CH_DOWN
+ 2194014224
+ name 1_710_KEY_MUTE
+ 2194014225
+ name 1_710_KEY_MNSELECT
+ 2194014231
+ name 1_710_KEY_EXIT
+ 2194014232
+ name 1_710_KEY_GUIDE
+ 2194014235
+ name 1_710_KEY_MNRETRUN
+ 2194014240
+ name 1_710_KEY_MENU
+ 2194014255
+ name 1_710_KEY_MUP
+ 2194014256
+ name 1_710_KEY_MDOWN
+ 2194014257
+ name 1_710_KEY_MLEFT
+ 2194014258
+ name 1_710_KEY_MRIGHT
+ 2194014259
+ name 1_710_KEY_DSubtitle
+ 2194014276
+ name 1_711_KEY_0
+ 2194079744
+ name 1_711_KEY_1
+ 2194079745
+ name 1_711_KEY_2
+ 2194079746
+ name 1_711_KEY_3
+ 2194079747
+ name 1_711_KEY_4
+ 2194079748
+ name 1_711_KEY_5
+ 2194079749
+ name 1_711_KEY_6
+ 2194079750
+ name 1_711_KEY_7
+ 2194079751
+ name 1_711_KEY_8
+ 2194079752
+ name 1_711_KEY_9
+ 2194079753
+ name 1_711_KEY_POWER
+ 2194079754
+ name 1_711_KEY_CH_UP
+ 2194079759
+ name 1_711_KEY_CH_DOWN
+ 2194079760
+ name 1_711_KEY_MUTE
+ 2194079761
+ name 1_711_KEY_VOL_DOWN
+ 2194079762
+ name 1_711_KEY_VOL_UP
+ 2194079764
+ name 1_711_KEY_MNSELECT
+ 2194079767
+ name 1_711_KEY_EXIT
+ 2194079768
+ name 1_711_KEY_GUIDE
+ 2194079771
+ name 1_711_KEY_MNRETRUN
+ 2194079776
+ name 1_711_KEY_MENU
+ 2194079791
+ name 1_711_KEY_MUP
+ 2194079792
+ name 1_711_KEY_MDOWN
+ 2194079793
+ name 1_711_KEY_MLEFT
+ 2194079794
+ name 1_711_KEY_MRIGHT
+ 2194079795
+ name 1_711_KEY_DSubtitle
+ 2194079812
+ name 1_712_KEY_0
+ 2194145280
+ name 1_712_KEY_1
+ 2194145281
+ name 1_712_KEY_2
+ 2194145282
+ name 1_712_KEY_3
+ 2194145283
+ name 1_712_KEY_4
+ 2194145284
+ name 1_712_KEY_5
+ 2194145285
+ name 1_712_KEY_6
+ 2194145286
+ name 1_712_KEY_7
+ 2194145287
+ name 1_712_KEY_8
+ 2194145288
+ name 1_712_KEY_9
+ 2194145289
+ name 1_712_KEY_POWER
+ 2194145290
+ name 1_712_KEY_CH_UP
+ 2194145295
+ name 1_712_KEY_CH_DOWN
+ 2194145296
+ name 1_712_KEY_MUTE
+ 2194145297
+ name 1_712_KEY_VOL_DOWN
+ 2194145298
+ name 1_712_CH_PREVIOUS
+ 2194145299
+ name 1_712_KEY_VOL_UP
+ 2194145300
+ name 1_712_KEY_MNSELECT
+ 2194145303
+ name 1_712_KEY_GUIDE
+ 2194145307
+ name 1_712_KEY_MNRETRUN
+ 2194145312
+ name 1_712_KEY_BLUE
+ 2194145315
+ name 1_712_KEY_GREEN
+ 2194145316
+ name 1_712_KEY_RED
+ 2194145317
+ name 1_712_KEY_YELLOW
+ 2194145318
+ name 1_712_KEY_TIMER
+ 2194145324
+ name 1_712_KEY_MUP
+ 2194145328
+ name 1_712_KEY_MDOWN
+ 2194145329
+ name 1_712_KEY_MLEFT
+ 2194145330
+ name 1_712_KEY_MRIGHT
+ 2194145331
+ name 1_712_KEY_DSubtitle
+ 2194145348
+ name 1_712_KEY_On
+ 2194145357
+ name 1_713_KEY_0
+ 2194210816
+ name 1_713_KEY_1
+ 2194210817
+ name 1_713_KEY_2
+ 2194210818
+ name 1_713_KEY_3
+ 2194210819
+ name 1_713_KEY_4
+ 2194210820
+ name 1_713_KEY_5
+ 2194210821
+ name 1_713_KEY_6
+ 2194210822
+ name 1_713_KEY_7
+ 2194210823
+ name 1_713_KEY_8
+ 2194210824
+ name 1_713_KEY_9
+ 2194210825
+ name 1_713_KEY_POWER
+ 2194210826
+ name 1_713_KEY_CH_UP
+ 2194210831
+ name 1_713_KEY_CH_DOWN
+ 2194210832
+ name 1_713_KEY_MUTE
+ 2194210833
+ name 1_713_KEY_VOL_DOWN
+ 2194210834
+ name 1_713_CH_PREVIOUS
+ 2194210835
+ name 1_713_KEY_VOL_UP
+ 2194210836
+ name 1_713_KEY_MNSELECT
+ 2194210839
+ name 1_713_KEY_EXIT
+ 2194210840
+ name 1_713_KEY_GUIDE
+ 2194210843
+ name 1_713_KEY_MNRETRUN
+ 2194210848
+ name 1_713_KEY_MENU
+ 2194210863
+ name 1_713_KEY_MUP
+ 2194210864
+ name 1_713_KEY_MDOWN
+ 2194210865
+ name 1_713_KEY_MLEFT
+ 2194210866
+ name 1_713_KEY_MRIGHT
+ 2194210867
+ name 1_713_KEY_DSubtitle
+ 2194210884
+ name 1_714_KEY_0
+ 2194276352
+ name 1_714_KEY_1
+ 2194276353
+ name 1_714_KEY_2
+ 2194276354
+ name 1_714_KEY_3
+ 2194276355
+ name 1_714_KEY_4
+ 2194276356
+ name 1_714_KEY_5
+ 2194276357
+ name 1_714_KEY_6
+ 2194276358
+ name 1_714_KEY_7
+ 2194276359
+ name 1_714_KEY_8
+ 2194276360
+ name 1_714_KEY_9
+ 2194276361
+ name 1_714_KEY_POWER
+ 2194276362
+ name 1_714_KEY_CH_UP
+ 2194276367
+ name 1_714_KEY_CH_DOWN
+ 2194276368
+ name 1_714_KEY_MUTE
+ 2194276369
+ name 1_714_KEY_VOL_DOWN
+ 2194276370
+ name 1_714_CH_PREVIOUS
+ 2194276371
+ name 1_714_KEY_VOL_UP
+ 2194276372
+ name 1_714_KEY_MNSELECT
+ 2194276375
+ name 1_714_KEY_EXIT
+ 2194276376
+ name 1_714_KEY_GUIDE
+ 2194276379
+ name 1_714_KEY_TIMER
+ 2194276396
+ name 1_714_KEY_MUP
+ 2194276400
+ name 1_714_KEY_MDOWN
+ 2194276401
+ name 1_714_KEY_MLEFT
+ 2194276402
+ name 1_714_KEY_MRIGHT
+ 2194276403
+ name 1_714_KEY_DSubtitle
+ 2194276420
+ name 1_715_KEY_0
+ 2194341888
+ name 1_715_KEY_1
+ 2194341889
+ name 1_715_KEY_2
+ 2194341890
+ name 1_715_KEY_3
+ 2194341891
+ name 1_715_KEY_4
+ 2194341892
+ name 1_715_KEY_5
+ 2194341893
+ name 1_715_KEY_6
+ 2194341894
+ name 1_715_KEY_7
+ 2194341895
+ name 1_715_KEY_8
+ 2194341896
+ name 1_715_KEY_9
+ 2194341897
+ name 1_715_KEY_POWER
+ 2194341898
+ name 1_715_KEY_CH_UP
+ 2194341903
+ name 1_715_KEY_CH_DOWN
+ 2194341904
+ name 1_715_KEY_MUTE
+ 2194341905
+ name 1_715_KEY_VOL_DOWN
+ 2194341906
+ name 1_715_CH_PREVIOUS
+ 2194341907
+ name 1_715_KEY_VOL_UP
+ 2194341908
+ name 1_715_KEY_MNSELECT
+ 2194341911
+ name 1_715_KEY_EXIT
+ 2194341912
+ name 1_715_KEY_GUIDE
+ 2194341915
+ name 1_715_KEY_BLUE
+ 2194341923
+ name 1_715_KEY_GREEN
+ 2194341924
+ name 1_715_KEY_RED
+ 2194341925
+ name 1_715_KEY_YELLOW
+ 2194341926
+ name 1_715_KEY_TIMER
+ 2194341932
+ name 1_715_KEY_MENU
+ 2194341935
+ name 1_715_KEY_MUP
+ 2194341936
+ name 1_715_KEY_MDOWN
+ 2194341937
+ name 1_715_KEY_MLEFT
+ 2194341938
+ name 1_715_KEY_MRIGHT
+ 2194341939
+ name 1_715_KEY_DSubtitle
+ 2194341956
+ name 1_715_KEY_On
+ 2194341965
+ name 1_716_KEY_0
+ 2194407424
+ name 1_716_KEY_1
+ 2194407425
+ name 1_716_KEY_2
+ 2194407426
+ name 1_716_KEY_3
+ 2194407427
+ name 1_716_KEY_4
+ 2194407428
+ name 1_716_KEY_5
+ 2194407429
+ name 1_716_KEY_6
+ 2194407430
+ name 1_716_KEY_7
+ 2194407431
+ name 1_716_KEY_8
+ 2194407432
+ name 1_716_KEY_9
+ 2194407433
+ name 1_716_KEY_POWER
+ 2194407434
+ name 1_716_KEY_CH_UP
+ 2194407439
+ name 1_716_KEY_CH_DOWN
+ 2194407440
+ name 1_716_KEY_MUTE
+ 2194407441
+ name 1_716_KEY_VOL_DOWN
+ 2194407442
+ name 1_716_KEY_VOL_UP
+ 2194407444
+ name 1_716_KEY_MNSELECT
+ 2194407447
+ name 1_716_KEY_EXIT
+ 2194407448
+ name 1_716_KEY_GUIDE
+ 2194407451
+ name 1_716_KEY_FAV
+ 2194407453
+ name 1_716_KEY_MENU
+ 2194407471
+ name 1_716_KEY_MUP
+ 2194407472
+ name 1_716_KEY_MDOWN
+ 2194407473
+ name 1_716_KEY_MLEFT
+ 2194407474
+ name 1_716_KEY_MRIGHT
+ 2194407475
+ name 1_716_KEY_DSubtitle
+ 2194407492
+ name 1_717_KEY_0
+ 2194472960
+ name 1_717_KEY_1
+ 2194472961
+ name 1_717_KEY_2
+ 2194472962
+ name 1_717_KEY_3
+ 2194472963
+ name 1_717_KEY_4
+ 2194472964
+ name 1_717_KEY_5
+ 2194472965
+ name 1_717_KEY_6
+ 2194472966
+ name 1_717_KEY_7
+ 2194472967
+ name 1_717_KEY_8
+ 2194472968
+ name 1_717_KEY_9
+ 2194472969
+ name 1_717_KEY_POWER
+ 2194472970
+ name 1_717_TWO_DIGITS
+ 2194472973
+ name 1_717_KEY_CH_UP
+ 2194472975
+ name 1_717_KEY_CH_DOWN
+ 2194472976
+ name 1_717_KEY_MUTE
+ 2194472977
+ name 1_717_KEY_VOL_DOWN
+ 2194472978
+ name 1_717_KEY_VOL_UP
+ 2194472980
+ name 1_717_KEY_EXIT
+ 2194472984
+ name 1_717_KEY_BLUE
+ 2194472995
+ name 1_717_KEY_GREEN
+ 2194472996
+ name 1_717_KEY_RED
+ 2194472997
+ name 1_717_KEY_YELLOW
+ 2194472998
+ name 1_717_KEY_AV
+ 2194473001
+ name 1_717_KEY_MENU
+ 2194473007
+ name 1_717_KEY_MUP
+ 2194473008
+ name 1_717_KEY_MDOWN
+ 2194473009
+ name 1_717_KEY_MLEFT
+ 2194473010
+ name 1_717_KEY_MRIGHT
+ 2194473011
+ name 1_717_KEY_On
+ 2194473037
+ name 1_718_KEY_0
+ 2194538496
+ name 1_718_KEY_1
+ 2194538497
+ name 1_718_KEY_2
+ 2194538498
+ name 1_718_KEY_3
+ 2194538499
+ name 1_718_KEY_4
+ 2194538500
+ name 1_718_KEY_5
+ 2194538501
+ name 1_718_KEY_6
+ 2194538502
+ name 1_718_KEY_7
+ 2194538503
+ name 1_718_KEY_8
+ 2194538504
+ name 1_718_KEY_9
+ 2194538505
+ name 1_718_KEY_POWER
+ 2194538506
+ name 1_718_TWO_DIGITS
+ 2194538509
+ name 1_718_KEY_CH_UP
+ 2194538511
+ name 1_718_KEY_CH_DOWN
+ 2194538512
+ name 1_718_KEY_MUTE
+ 2194538513
+ name 1_718_KEY_VOL_DOWN
+ 2194538514
+ name 1_718_KEY_VOL_UP
+ 2194538516
+ name 1_718_KEY_EXIT
+ 2194538520
+ name 1_718_KEY_BLUE
+ 2194538531
+ name 1_718_KEY_GREEN
+ 2194538532
+ name 1_718_KEY_RED
+ 2194538533
+ name 1_718_KEY_YELLOW
+ 2194538534
+ name 1_718_KEY_AV
+ 2194538537
+ name 1_718_KEY_MENU
+ 2194538543
+ name 1_718_KEY_MUP
+ 2194538544
+ name 1_718_KEY_MDOWN
+ 2194538545
+ name 1_718_KEY_MLEFT
+ 2194538546
+ name 1_718_KEY_MRIGHT
+ 2194538547
+ name 1_718_KEY_On
+ 2194538573
+ name 1_718_KEY_Off
+ 2194538574
+ name 1_719_KEY_0
+ 2194604032
+ name 1_719_KEY_1
+ 2194604033
+ name 1_719_KEY_2
+ 2194604034
+ name 1_719_KEY_3
+ 2194604035
+ name 1_719_KEY_4
+ 2194604036
+ name 1_719_KEY_5
+ 2194604037
+ name 1_719_KEY_6
+ 2194604038
+ name 1_719_KEY_7
+ 2194604039
+ name 1_719_KEY_8
+ 2194604040
+ name 1_719_KEY_9
+ 2194604041
+ name 1_719_KEY_POWER
+ 2194604042
+ name 1_719_TWO_DIGITS
+ 2194604045
+ name 1_719_KEY_CH_UP
+ 2194604047
+ name 1_719_KEY_CH_DOWN
+ 2194604048
+ name 1_719_KEY_MUTE
+ 2194604049
+ name 1_719_KEY_VOL_DOWN
+ 2194604050
+ name 1_719_KEY_VOL_UP
+ 2194604052
+ name 1_719_KEY_EXIT
+ 2194604056
+ name 1_719_KEY_BLUE
+ 2194604067
+ name 1_719_KEY_GREEN
+ 2194604068
+ name 1_719_KEY_RED
+ 2194604069
+ name 1_719_KEY_YELLOW
+ 2194604070
+ name 1_719_KEY_AV
+ 2194604073
+ name 1_719_KEY_MENU
+ 2194604079
+ name 1_719_KEY_MUP
+ 2194604080
+ name 1_719_KEY_MDOWN
+ 2194604081
+ name 1_719_KEY_MLEFT
+ 2194604082
+ name 1_719_KEY_MRIGHT
+ 2194604083
+ name 1_719_KEY_On
+ 2194604109
+ name 1_719_KEY_Off
+ 2194604110
+ name 1_720_KEY_0
+ 2194669568
+ name 1_720_KEY_1
+ 2194669569
+ name 1_720_KEY_2
+ 2194669570
+ name 1_720_KEY_3
+ 2194669571
+ name 1_720_KEY_4
+ 2194669572
+ name 1_720_KEY_5
+ 2194669573
+ name 1_720_KEY_6
+ 2194669574
+ name 1_720_KEY_7
+ 2194669575
+ name 1_720_KEY_8
+ 2194669576
+ name 1_720_KEY_9
+ 2194669577
+ name 1_720_KEY_POWER
+ 2194669578
+ name 1_720_TWO_DIGITS
+ 2194669581
+ name 1_720_KEY_CH_UP
+ 2194669583
+ name 1_720_KEY_CH_DOWN
+ 2194669584
+ name 1_720_KEY_MUTE
+ 2194669585
+ name 1_720_KEY_VOL_DOWN
+ 2194669586
+ name 1_720_KEY_VOL_UP
+ 2194669588
+ name 1_720_KEY_EXIT
+ 2194669592
+ name 1_720_KEY_BLUE
+ 2194669603
+ name 1_720_KEY_GREEN
+ 2194669604
+ name 1_720_KEY_RED
+ 2194669605
+ name 1_720_KEY_YELLOW
+ 2194669606
+ name 1_720_KEY_AV
+ 2194669609
+ name 1_720_KEY_MENU
+ 2194669615
+ name 1_720_KEY_MUP
+ 2194669616
+ name 1_720_KEY_MDOWN
+ 2194669617
+ name 1_720_KEY_MLEFT
+ 2194669618
+ name 1_720_KEY_MRIGHT
+ 2194669619
+ name 1_720_KEY_On
+ 2194669645
+ name 1_720_KEY_Off
+ 2194669646
+ name 1_721_KEY_0
+ 2194735104
+ name 1_721_KEY_1
+ 2194735105
+ name 1_721_KEY_2
+ 2194735106
+ name 1_721_KEY_3
+ 2194735107
+ name 1_721_KEY_4
+ 2194735108
+ name 1_721_KEY_5
+ 2194735109
+ name 1_721_KEY_6
+ 2194735110
+ name 1_721_KEY_7
+ 2194735111
+ name 1_721_KEY_8
+ 2194735112
+ name 1_721_KEY_9
+ 2194735113
+ name 1_721_KEY_POWER
+ 2194735114
+ name 1_721_TWO_DIGITS
+ 2194735117
+ name 1_721_KEY_CH_UP
+ 2194735119
+ name 1_721_KEY_CH_DOWN
+ 2194735120
+ name 1_721_KEY_MUTE
+ 2194735121
+ name 1_721_KEY_VOL_DOWN
+ 2194735122
+ name 1_721_KEY_VOL_UP
+ 2194735124
+ name 1_721_KEY_EXIT
+ 2194735128
+ name 1_721_KEY_BLUE
+ 2194735139
+ name 1_721_KEY_GREEN
+ 2194735140
+ name 1_721_KEY_RED
+ 2194735141
+ name 1_721_KEY_YELLOW
+ 2194735142
+ name 1_721_KEY_AV
+ 2194735145
+ name 1_721_KEY_MENU
+ 2194735151
+ name 1_721_KEY_MUP
+ 2194735152
+ name 1_721_KEY_MDOWN
+ 2194735153
+ name 1_721_KEY_MLEFT
+ 2194735154
+ name 1_721_KEY_MRIGHT
+ 2194735155
+ name 1_721_KEY_On
+ 2194735181
+ name 1_721_KEY_Off
+ 2194735182
+ name 1_722_KEY_0
+ 2194800640
+ name 1_722_KEY_1
+ 2194800641
+ name 1_722_KEY_2
+ 2194800642
+ name 1_722_KEY_3
+ 2194800643
+ name 1_722_KEY_4
+ 2194800644
+ name 1_722_KEY_5
+ 2194800645
+ name 1_722_KEY_6
+ 2194800646
+ name 1_722_KEY_7
+ 2194800647
+ name 1_722_KEY_8
+ 2194800648
+ name 1_722_KEY_9
+ 2194800649
+ name 1_722_KEY_POWER
+ 2194800650
+ name 1_722_TWO_DIGITS
+ 2194800653
+ name 1_722_KEY_CH_UP
+ 2194800655
+ name 1_722_KEY_CH_DOWN
+ 2194800656
+ name 1_722_KEY_MUTE
+ 2194800657
+ name 1_722_KEY_VOL_DOWN
+ 2194800658
+ name 1_722_KEY_VOL_UP
+ 2194800660
+ name 1_722_KEY_EXIT
+ 2194800664
+ name 1_722_KEY_BLUE
+ 2194800675
+ name 1_722_KEY_GREEN
+ 2194800676
+ name 1_722_KEY_RED
+ 2194800677
+ name 1_722_KEY_YELLOW
+ 2194800678
+ name 1_722_KEY_AV
+ 2194800681
+ name 1_722_KEY_MENU
+ 2194800687
+ name 1_722_KEY_MUP
+ 2194800688
+ name 1_722_KEY_MDOWN
+ 2194800689
+ name 1_722_KEY_MLEFT
+ 2194800690
+ name 1_722_KEY_MRIGHT
+ 2194800691
+ name 1_722_KEY_On
+ 2194800717
+ name 1_722_KEY_Off
+ 2194800718
+ name 1_723_KEY_0
+ 2194866176
+ name 1_723_KEY_1
+ 2194866177
+ name 1_723_KEY_2
+ 2194866178
+ name 1_723_KEY_3
+ 2194866179
+ name 1_723_KEY_4
+ 2194866180
+ name 1_723_KEY_5
+ 2194866181
+ name 1_723_KEY_6
+ 2194866182
+ name 1_723_KEY_7
+ 2194866183
+ name 1_723_KEY_8
+ 2194866184
+ name 1_723_KEY_9
+ 2194866185
+ name 1_723_KEY_POWER
+ 2194866186
+ name 1_723_TWO_DIGITS
+ 2194866189
+ name 1_723_KEY_CH_UP
+ 2194866191
+ name 1_723_KEY_CH_DOWN
+ 2194866192
+ name 1_723_KEY_EXIT
+ 2194866200
+ name 1_723_KEY_BLUE
+ 2194866211
+ name 1_723_KEY_GREEN
+ 2194866212
+ name 1_723_KEY_RED
+ 2194866213
+ name 1_723_KEY_YELLOW
+ 2194866214
+ name 1_723_KEY_AV
+ 2194866217
+ name 1_723_KEY_MENU
+ 2194866223
+ name 1_723_KEY_MUP
+ 2194866224
+ name 1_723_KEY_MDOWN
+ 2194866225
+ name 1_723_KEY_MLEFT
+ 2194866226
+ name 1_723_KEY_MRIGHT
+ 2194866227
+ name 1_723_KEY_On
+ 2194866253
+ name 1_723_KEY_Off
+ 2194866254
+ name 1_724_KEY_0
+ 2194931712
+ name 1_724_KEY_1
+ 2194931713
+ name 1_724_KEY_2
+ 2194931714
+ name 1_724_KEY_3
+ 2194931715
+ name 1_724_KEY_4
+ 2194931716
+ name 1_724_KEY_5
+ 2194931717
+ name 1_724_KEY_6
+ 2194931718
+ name 1_724_KEY_7
+ 2194931719
+ name 1_724_KEY_8
+ 2194931720
+ name 1_724_KEY_9
+ 2194931721
+ name 1_724_KEY_POWER
+ 2194931722
+ name 1_724_TWO_DIGITS
+ 2194931725
+ name 1_724_KEY_CH_UP
+ 2194931727
+ name 1_724_KEY_CH_DOWN
+ 2194931728
+ name 1_724_KEY_MUTE
+ 2194931729
+ name 1_724_KEY_VOL_DOWN
+ 2194931730
+ name 1_724_KEY_VOL_UP
+ 2194931732
+ name 1_724_KEY_EXIT
+ 2194931736
+ name 1_724_KEY_BLUE
+ 2194931747
+ name 1_724_KEY_GREEN
+ 2194931748
+ name 1_724_KEY_RED
+ 2194931749
+ name 1_724_KEY_YELLOW
+ 2194931750
+ name 1_724_KEY_AV
+ 2194931753
+ name 1_724_KEY_MENU
+ 2194931759
+ name 1_724_KEY_MUP
+ 2194931760
+ name 1_724_KEY_MDOWN
+ 2194931761
+ name 1_724_KEY_MLEFT
+ 2194931762
+ name 1_724_KEY_MRIGHT
+ 2194931763
+ name 1_724_KEY_On
+ 2194931789
+ name 1_724_KEY_Off
+ 2194931790
+ name 1_725_KEY_0
+ 2194997248
+ name 1_725_KEY_1
+ 2194997249
+ name 1_725_KEY_2
+ 2194997250
+ name 1_725_KEY_3
+ 2194997251
+ name 1_725_KEY_4
+ 2194997252
+ name 1_725_KEY_5
+ 2194997253
+ name 1_725_KEY_6
+ 2194997254
+ name 1_725_KEY_7
+ 2194997255
+ name 1_725_KEY_8
+ 2194997256
+ name 1_725_KEY_9
+ 2194997257
+ name 1_725_KEY_POWER
+ 2194997258
+ name 1_725_TWO_DIGITS
+ 2194997261
+ name 1_725_KEY_CH_UP
+ 2194997263
+ name 1_725_KEY_CH_DOWN
+ 2194997264
+ name 1_725_KEY_MUTE
+ 2194997265
+ name 1_725_KEY_VOL_DOWN
+ 2194997266
+ name 1_725_KEY_VOL_UP
+ 2194997268
+ name 1_725_KEY_EXIT
+ 2194997272
+ name 1_725_KEY_BLUE
+ 2194997283
+ name 1_725_KEY_GREEN
+ 2194997284
+ name 1_725_KEY_RED
+ 2194997285
+ name 1_725_KEY_YELLOW
+ 2194997286
+ name 1_725_KEY_AV
+ 2194997289
+ name 1_725_KEY_MENU
+ 2194997295
+ name 1_725_KEY_MUP
+ 2194997296
+ name 1_725_KEY_MDOWN
+ 2194997297
+ name 1_725_KEY_MLEFT
+ 2194997298
+ name 1_725_KEY_MRIGHT
+ 2194997299
+ name 1_725_KEY_On
+ 2194997325
+ name 1_725_KEY_Off
+ 2194997326
+ name 1_726_KEY_0
+ 2195062784
+ name 1_726_KEY_1
+ 2195062785
+ name 1_726_KEY_2
+ 2195062786
+ name 1_726_KEY_3
+ 2195062787
+ name 1_726_KEY_4
+ 2195062788
+ name 1_726_KEY_5
+ 2195062789
+ name 1_726_KEY_6
+ 2195062790
+ name 1_726_KEY_7
+ 2195062791
+ name 1_726_KEY_8
+ 2195062792
+ name 1_726_KEY_9
+ 2195062793
+ name 1_726_KEY_POWER
+ 2195062794
+ name 1_726_TWO_DIGITS
+ 2195062797
+ name 1_726_KEY_CH_UP
+ 2195062799
+ name 1_726_KEY_CH_DOWN
+ 2195062800
+ name 1_726_KEY_MUTE
+ 2195062801
+ name 1_726_KEY_VOL_DOWN
+ 2195062802
+ name 1_726_KEY_VOL_UP
+ 2195062804
+ name 1_726_KEY_EXIT
+ 2195062808
+ name 1_726_KEY_BLUE
+ 2195062819
+ name 1_726_KEY_GREEN
+ 2195062820
+ name 1_726_KEY_RED
+ 2195062821
+ name 1_726_KEY_YELLOW
+ 2195062822
+ name 1_726_KEY_AV
+ 2195062825
+ name 1_726_KEY_MENU
+ 2195062831
+ name 1_726_KEY_MUP
+ 2195062832
+ name 1_726_KEY_MDOWN
+ 2195062833
+ name 1_726_KEY_MLEFT
+ 2195062834
+ name 1_726_KEY_MRIGHT
+ 2195062835
+ name 1_726_KEY_On
+ 2195062861
+ name 1_726_KEY_Off
+ 2195062862
+ name 1_727_KEY_0
+ 2195128320
+ name 1_727_KEY_1
+ 2195128321
+ name 1_727_KEY_2
+ 2195128322
+ name 1_727_KEY_3
+ 2195128323
+ name 1_727_KEY_4
+ 2195128324
+ name 1_727_KEY_5
+ 2195128325
+ name 1_727_KEY_6
+ 2195128326
+ name 1_727_KEY_7
+ 2195128327
+ name 1_727_KEY_8
+ 2195128328
+ name 1_727_KEY_9
+ 2195128329
+ name 1_727_KEY_POWER
+ 2195128330
+ name 1_727_TWO_DIGITS
+ 2195128333
+ name 1_727_KEY_CH_UP
+ 2195128335
+ name 1_727_KEY_CH_DOWN
+ 2195128336
+ name 1_727_KEY_MUTE
+ 2195128337
+ name 1_727_KEY_VOL_DOWN
+ 2195128338
+ name 1_727_KEY_VOL_UP
+ 2195128340
+ name 1_727_KEY_EXIT
+ 2195128344
+ name 1_727_KEY_BLUE
+ 2195128355
+ name 1_727_KEY_GREEN
+ 2195128356
+ name 1_727_KEY_RED
+ 2195128357
+ name 1_727_KEY_YELLOW
+ 2195128358
+ name 1_727_KEY_AV
+ 2195128361
+ name 1_727_KEY_MENU
+ 2195128367
+ name 1_727_KEY_MUP
+ 2195128368
+ name 1_727_KEY_MDOWN
+ 2195128369
+ name 1_727_KEY_MLEFT
+ 2195128370
+ name 1_727_KEY_MRIGHT
+ 2195128371
+ name 1_727_KEY_On
+ 2195128397
+ name 1_727_KEY_Off
+ 2195128398
+ name 1_728_KEY_0
+ 2195193856
+ name 1_728_KEY_1
+ 2195193857
+ name 1_728_KEY_2
+ 2195193858
+ name 1_728_KEY_3
+ 2195193859
+ name 1_728_KEY_4
+ 2195193860
+ name 1_728_KEY_5
+ 2195193861
+ name 1_728_KEY_6
+ 2195193862
+ name 1_728_KEY_7
+ 2195193863
+ name 1_728_KEY_8
+ 2195193864
+ name 1_728_KEY_9
+ 2195193865
+ name 1_728_KEY_POWER
+ 2195193866
+ name 1_728_TWO_DIGITS
+ 2195193869
+ name 1_728_KEY_CH_UP
+ 2195193871
+ name 1_728_KEY_CH_DOWN
+ 2195193872
+ name 1_728_KEY_MUTE
+ 2195193873
+ name 1_728_KEY_VOL_DOWN
+ 2195193874
+ name 1_728_KEY_VOL_UP
+ 2195193876
+ name 1_728_KEY_EXIT
+ 2195193880
+ name 1_728_KEY_BLUE
+ 2195193891
+ name 1_728_KEY_GREEN
+ 2195193892
+ name 1_728_KEY_RED
+ 2195193893
+ name 1_728_KEY_YELLOW
+ 2195193894
+ name 1_728_KEY_AV
+ 2195193897
+ name 1_728_KEY_MENU
+ 2195193903
+ name 1_728_KEY_MUP
+ 2195193904
+ name 1_728_KEY_MDOWN
+ 2195193905
+ name 1_728_KEY_MLEFT
+ 2195193906
+ name 1_728_KEY_MRIGHT
+ 2195193907
+ name 1_728_KEY_On
+ 2195193933
+ name 1_728_KEY_Off
+ 2195193934
+ name 1_729_KEY_0
+ 2195259392
+ name 1_729_KEY_1
+ 2195259393
+ name 1_729_KEY_2
+ 2195259394
+ name 1_729_KEY_3
+ 2195259395
+ name 1_729_KEY_4
+ 2195259396
+ name 1_729_KEY_5
+ 2195259397
+ name 1_729_KEY_6
+ 2195259398
+ name 1_729_KEY_7
+ 2195259399
+ name 1_729_KEY_8
+ 2195259400
+ name 1_729_KEY_9
+ 2195259401
+ name 1_729_KEY_POWER
+ 2195259402
+ name 1_729_TWO_DIGITS
+ 2195259405
+ name 1_729_KEY_CH_UP
+ 2195259407
+ name 1_729_KEY_CH_DOWN
+ 2195259408
+ name 1_729_KEY_MUTE
+ 2195259409
+ name 1_729_KEY_VOL_DOWN
+ 2195259410
+ name 1_729_KEY_VOL_UP
+ 2195259412
+ name 1_729_KEY_EXIT
+ 2195259416
+ name 1_729_KEY_BLUE
+ 2195259427
+ name 1_729_KEY_GREEN
+ 2195259428
+ name 1_729_KEY_RED
+ 2195259429
+ name 1_729_KEY_YELLOW
+ 2195259430
+ name 1_729_KEY_AV
+ 2195259433
+ name 1_729_KEY_MENU
+ 2195259439
+ name 1_729_KEY_MUP
+ 2195259440
+ name 1_729_KEY_MDOWN
+ 2195259441
+ name 1_729_KEY_MLEFT
+ 2195259442
+ name 1_729_KEY_MRIGHT
+ 2195259443
+ name 1_729_KEY_On
+ 2195259469
+ name 1_729_KEY_Off
+ 2195259470
+ name 1_730_KEY_0
+ 2195324928
+ name 1_730_KEY_1
+ 2195324929
+ name 1_730_KEY_2
+ 2195324930
+ name 1_730_KEY_3
+ 2195324931
+ name 1_730_KEY_4
+ 2195324932
+ name 1_730_KEY_5
+ 2195324933
+ name 1_730_KEY_6
+ 2195324934
+ name 1_730_KEY_7
+ 2195324935
+ name 1_730_KEY_8
+ 2195324936
+ name 1_730_KEY_9
+ 2195324937
+ name 1_730_KEY_POWER
+ 2195324938
+ name 1_730_TWO_DIGITS
+ 2195324941
+ name 1_730_KEY_CH_UP
+ 2195324943
+ name 1_730_KEY_CH_DOWN
+ 2195324944
+ name 1_730_KEY_MUTE
+ 2195324945
+ name 1_730_KEY_VOL_DOWN
+ 2195324946
+ name 1_730_KEY_VOL_UP
+ 2195324948
+ name 1_730_KEY_EXIT
+ 2195324952
+ name 1_730_KEY_BLUE
+ 2195324963
+ name 1_730_KEY_GREEN
+ 2195324964
+ name 1_730_KEY_RED
+ 2195324965
+ name 1_730_KEY_YELLOW
+ 2195324966
+ name 1_730_KEY_AV
+ 2195324969
+ name 1_730_KEY_MENU
+ 2195324975
+ name 1_730_KEY_MUP
+ 2195324976
+ name 1_730_KEY_MDOWN
+ 2195324977
+ name 1_730_KEY_MLEFT
+ 2195324978
+ name 1_730_KEY_MRIGHT
+ 2195324979
+ name 1_730_KEY_On
+ 2195325005
+ name 1_730_KEY_Off
+ 2195325006
+ name 1_731_KEY_0
+ 2195390464
+ name 1_731_KEY_1
+ 2195390465
+ name 1_731_KEY_2
+ 2195390466
+ name 1_731_KEY_3
+ 2195390467
+ name 1_731_KEY_4
+ 2195390468
+ name 1_731_KEY_5
+ 2195390469
+ name 1_731_KEY_6
+ 2195390470
+ name 1_731_KEY_7
+ 2195390471
+ name 1_731_KEY_8
+ 2195390472
+ name 1_731_KEY_9
+ 2195390473
+ name 1_731_KEY_POWER
+ 2195390474
+ name 1_731_TWO_DIGITS
+ 2195390477
+ name 1_731_KEY_CH_UP
+ 2195390479
+ name 1_731_KEY_CH_DOWN
+ 2195390480
+ name 1_731_KEY_MUTE
+ 2195390481
+ name 1_731_KEY_VOL_DOWN
+ 2195390482
+ name 1_731_KEY_VOL_UP
+ 2195390484
+ name 1_731_KEY_EXIT
+ 2195390488
+ name 1_731_KEY_BLUE
+ 2195390499
+ name 1_731_KEY_GREEN
+ 2195390500
+ name 1_731_KEY_RED
+ 2195390501
+ name 1_731_KEY_YELLOW
+ 2195390502
+ name 1_731_KEY_AV
+ 2195390505
+ name 1_731_KEY_MENU
+ 2195390511
+ name 1_731_KEY_MUP
+ 2195390512
+ name 1_731_KEY_MDOWN
+ 2195390513
+ name 1_731_KEY_MLEFT
+ 2195390514
+ name 1_731_KEY_MRIGHT
+ 2195390515
+ name 1_731_KEY_On
+ 2195390541
+ name 1_731_KEY_Off
+ 2195390542
+ end raw_codes
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/rca_drd4xxrg_series/lircd.conf b/linhes/linhes-templates/templates/transmit/rca_drd4xxrg_series/lircd.conf
new file mode 100644
index 0000000..58940ad
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/rca_drd4xxrg_series/lircd.conf
@@ -0,0 +1,71 @@
+#
+# This is the configuration file for the RCA DirecTV
+# Universal remote for 6th (DRD4##RG) and 7th (DRD4##RH)
+# generation DirecTV cable boxes. This includes systems
+# marked as "RF" which also have an IR receiver.
+#
+# This file was created with irrecord (0.6.6) and by hand
+# on April 24, 2003 by Bryan Jacobs <bryan_jj@hotmail.com>.
+# It has since been tested with 7th genration boxes. Please
+# contact me if this file does not work as specified for
+# for your specific box.
+#
+# This only contains code for "SAT/DIRECTTV" mode.
+# On some remotes the "OK" button is labeled "SELECT"
+#
+
+
+begin remote
+
+ name RCA_DSS_RG_RH
+ bits 24
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 4000 4000
+ one 500 2000
+ zero 500 1000
+ ptrail 500
+ gap 64000
+ toggle_bit 0
+
+ begin codes
+
+ ANTENNA 0x00000000007058FA
+ CLEAR 0x00000000007068F9
+ MENU 0x00000000007088F7
+ GUIDE 0x000000000071A8E5
+ GO_BACK 0x00000000007278D8
+ ON/OFF 0x000000000072A8D5
+ CH- 0x000000000072C8D3
+ CH+ 0x000000000072D8D2
+ 0 0x00000000007308CF
+ 1 0x00000000007318CE
+ 2 0x00000000007328CD
+ 3 0x00000000007338CC
+ 4 0x00000000007348CB
+ 5 0x00000000007358CA
+ 6 0x00000000007368C9
+ 7 0x00000000007378C8
+ 8 0x00000000007388C7
+ 9 0x00000000007398C6
+ SAT 0x000000000073A8C5
+ INFO 0x000000000073C8C3
+ SKIP 0x00000000007538AC
+ LEFT_ARROW 0x00000000007568A9
+ RIGHT_ARROW 0x00000000007578A8
+ DOWN_ARROW 0x00000000007588A7
+ UP_ARROW 0x00000000007598A6
+ WHO 0x000000000076189E
+ FETCH 0x000000000079386C
+ OK 0x00000000007F480B
+ VOL- 0x0000000000F2E0D1
+ VOL+ 0x0000000000F2F0D0
+ MUTE 0x0000000000F3F0C0
+
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/rca_drd4xxrh_series/lircd.conf b/linhes/linhes-templates/templates/transmit/rca_drd4xxrh_series/lircd.conf
new file mode 100644
index 0000000..58940ad
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/rca_drd4xxrh_series/lircd.conf
@@ -0,0 +1,71 @@
+#
+# This is the configuration file for the RCA DirecTV
+# Universal remote for 6th (DRD4##RG) and 7th (DRD4##RH)
+# generation DirecTV cable boxes. This includes systems
+# marked as "RF" which also have an IR receiver.
+#
+# This file was created with irrecord (0.6.6) and by hand
+# on April 24, 2003 by Bryan Jacobs <bryan_jj@hotmail.com>.
+# It has since been tested with 7th genration boxes. Please
+# contact me if this file does not work as specified for
+# for your specific box.
+#
+# This only contains code for "SAT/DIRECTTV" mode.
+# On some remotes the "OK" button is labeled "SELECT"
+#
+
+
+begin remote
+
+ name RCA_DSS_RG_RH
+ bits 24
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 4000 4000
+ one 500 2000
+ zero 500 1000
+ ptrail 500
+ gap 64000
+ toggle_bit 0
+
+ begin codes
+
+ ANTENNA 0x00000000007058FA
+ CLEAR 0x00000000007068F9
+ MENU 0x00000000007088F7
+ GUIDE 0x000000000071A8E5
+ GO_BACK 0x00000000007278D8
+ ON/OFF 0x000000000072A8D5
+ CH- 0x000000000072C8D3
+ CH+ 0x000000000072D8D2
+ 0 0x00000000007308CF
+ 1 0x00000000007318CE
+ 2 0x00000000007328CD
+ 3 0x00000000007338CC
+ 4 0x00000000007348CB
+ 5 0x00000000007358CA
+ 6 0x00000000007368C9
+ 7 0x00000000007378C8
+ 8 0x00000000007388C7
+ 9 0x00000000007398C6
+ SAT 0x000000000073A8C5
+ INFO 0x000000000073C8C3
+ SKIP 0x00000000007538AC
+ LEFT_ARROW 0x00000000007568A9
+ RIGHT_ARROW 0x00000000007578A8
+ DOWN_ARROW 0x00000000007588A7
+ UP_ARROW 0x00000000007598A6
+ WHO 0x000000000076189E
+ FETCH 0x000000000079386C
+ OK 0x00000000007F480B
+ VOL- 0x0000000000F2E0D1
+ VOL+ 0x0000000000F2F0D0
+ MUTE 0x0000000000F3F0C0
+
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/samsung_1000/lircd.conf b/linhes/linhes-templates/templates/transmit/samsung_1000/lircd.conf
new file mode 100644
index 0000000..de5a956
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/samsung_1000/lircd.conf
@@ -0,0 +1,71 @@
+# this config file was semi-automatically generated
+# using lirc-0.7.1(mceusb) and some common sense on 10-8-2005 19:19:20
+#
+# contributed by Marco Saarloos <saarloos|dds.nl>
+#
+# brand: Samsung
+# model no. of remote control: unknown
+# devices being controlled by this remote: SMT-1000T
+# (Samsung's OEM boxes for KPN Digital TV) SMT-1100T
+#
+
+begin remote
+
+ name Samsung_SMT-1000T
+ bits 32
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9013 4448
+ one 594 1654
+ zero 594 525
+ ptrail 584
+ repeat 9000 2217
+ gap 107700
+ toggle_bit 0
+
+ begin codes
+
+ power 0x020250AF
+ mute 0x020230CF
+ tv/stb 0x0202F00F
+ 0 0x020200FF
+ 1 0x0202807F
+ 2 0x020240BF
+ 3 0x0202C03F
+ 4 0x020220DF
+ 5 0x0202A05F
+ 6 0x0202609F
+ 7 0x0202E01F
+ 8 0x020210EF
+ 9 0x0202906F
+ txt 0x0202A25D
+ radio 0x0202B847
+ menu 0x020202FD
+ epg 0x020258A7
+ i 0x020242BD
+ exit 0x0202827D
+ left 0x020208F7
+ up 0x0202D02F
+ right 0x02028877
+ down 0x0202708F
+ ok 0x0202B04F
+ vol+ 0x0202A857
+ vol- 0x020238C7
+ chan+ 0x0202F807
+ chan- 0x02027887
+ red 0x02026897
+ green 0x0202E817
+ yellow 0x020218E7
+ blue 0x02029867
+ fav 0x0202E21D
+ rcl 0x0202C23D
+ a-z 0x0202629D
+ clock 0x020248B7
+
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/samsung_300/lircd.conf b/linhes/linhes-templates/templates/transmit/samsung_300/lircd.conf
new file mode 100644
index 0000000..49eef13
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/samsung_300/lircd.conf
@@ -0,0 +1,50 @@
+# Samsung SIR-S300W DirectTV receiver
+
+begin remote
+
+ name Samsung-SIRS300W-DTV
+ bits 32
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9182 4216
+ one 762 1485
+ zero 762 336
+ ptrail 793
+ repeat 9184 1923
+ gap 107395
+ toggle_bit 0
+
+
+ begin codes
+ 1 0x000000000008C03F
+ 2 0x00000000000820DF
+ 3 0x000000000008A05F
+ 4 0x000000000008609F
+ 5 0x000000000008E01F
+ 6 0x00000000000810EF
+ 7 0x000000000008906F
+ 8 0x00000000000850AF
+ 9 0x000000000008D02F
+ 0 0x00000000000830CF
+ ok 0x000000000008C837
+ minus 0x000000000008B04F
+ game 0x000000000008F00F
+ red 0x000000000000807F
+ green 0x0000000000007887
+ yellow 0x000000000000B847
+ blue 0x00000000000040BF
+ back 0x00000000000058A7
+ exit 0x0000000000006897
+ channul_up 0x000000000000F807
+ channel_dn 0x00000000000002FD
+ power 0x00000000000000FF
+
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/samsung_702/lircd.conf b/linhes/linhes-templates/templates/transmit/samsung_702/lircd.conf
new file mode 100644
index 0000000..8a3f5b7
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/samsung_702/lircd.conf
@@ -0,0 +1,75 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.6(serial) on Thu Jun 10 17:22:40 2004
+#
+# contributed by Manfred Heinrichs
+#
+# brand: SAMSUNG
+# model no. of remote control: (delivered with Digital SAT receiver SFT-702 E
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name Samsung_SFT-702E
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9039 4416
+ one 615 1631
+ zero 615 500
+ ptrail 624
+ repeat 9046 2176
+ pre_data_bits 16
+ pre_data 0x2FD
+ gap 107606
+ min_repeat 1
+ toggle_bit 0
+
+
+ begin codes
+ Mute 0x00000000000020DF
+ Power 0x00000000000000FF
+ TV/Radio 0x000000000000A05F
+ NTSC/PAL 0x00000000000010EF
+ FAV 0x000000000000906F
+ TV/SAT 0x000000000000807F
+ Volume+ 0x000000000000609F
+ Volume- 0x000000000000E01F
+ EPG 0x00000000000050AF
+ Channel+ 0x00000000000040BF
+ Channel- 0x000000000000C03F
+ i 0x000000000000D02F
+ Exit 0x00000000000030CF
+ Rescan 0x000000000000B04F
+ Prev 0x00000000000008F7
+ Menu 0x0000000000008877
+ Up 0x00000000000048B7
+ Down 0x000000000000C837
+ Right 0x00000000000028D7
+ Left 0x0000000000006897
+ OK 0x000000000000A857
+ Red 0x00000000000018E7
+ Green 0x0000000000009867
+ Yellow 0x00000000000058A7
+ Blue 0x000000000000D827
+ 1 0x00000000000038C7
+ 2 0x000000000000B847
+ 3 0x0000000000007887
+ 4 0x00000000000002FD
+ 5 0x000000000000827D
+ 6 0x00000000000042BD
+ 7 0x00000000000022DD
+ 8 0x000000000000A25D
+ 9 0x000000000000629D
+ 0 0x000000000000E21D
+ User1 0x000000000000F807
+ User2 0x000000000000C23D
+ end codes
+
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/sciatl_4200/lircd.conf b/linhes/linhes-templates/templates/transmit/sciatl_4200/lircd.conf
new file mode 100644
index 0000000..894df55
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/sciatl_4200/lircd.conf
@@ -0,0 +1,87 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.6(sir) on Wed Mar 24 22:28:59 2004
+#
+# Modified by Stephane Lavergne <stephane|iMars.com>:
+# Base frequency is 56kHz, irrecord was otherwise right on.
+#
+# contributed by
+#
+# brand: Scientific Atlanta
+# model no. of remote control: AT8400
+# devices being controlled by this remote: Explorer 8000
+#
+
+begin remote
+
+ name SAE8000
+ bits 22
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 3397 3372
+ one 827 2557
+ zero 827 855
+ ptrail 827
+ gap 101386
+ toggle_bit 0
+
+ frequency 56000
+
+ begin codes
+ power 0x000000000037C107
+ guide 0x000000000036C127
+ menu 0x000000000036F920
+ info 0x000000000036213B
+ select_up 0x000000000036812F
+ select_down 0x000000000037A10B
+ select 0x0000000000366133
+ select_left 0x000000000037810F
+ select_right 0x0000000000364137
+ select_page+ 0x000000000036D924
+ select_page- 0x000000000037D904
+ exit 0x0000000000366932
+ settings 0x0000000000373918
+ A 0x000000000037E902
+ B 0x000000000036193C
+ C 0x000000000037191C
+ vol+ 0x000000000036093E
+ vol- 0x000000000037091E
+ ch+ 0x0000000000377111
+ ch- 0x000000000036F121
+ mute 0x000000000036892E
+ fav 0x000000000037F101
+ last 0x000000000036E123
+ rew8secs 0x000000000037C906
+ list 0x000000000036C926
+ live 0x000000000036B129
+ rew 0x000000000037291A
+ ff 0x000000000036293A
+ play 0x000000000037990C
+ stop 0x0000000000365934
+ pause 0x0000000000374117
+ rec 0x0000000000375914
+ 1 0x000000000036113D
+ 2 0x000000000037111D
+ 3 0x000000000036912D
+ 4 0x000000000037910D
+ 5 0x0000000000365135
+ 6 0x0000000000375115
+ 7 0x000000000036D125
+ 8 0x000000000037D105
+ 9 0x0000000000363139
+ asterisk 0x000000000037E103
+ 0 0x0000000000373119
+ pound 0x000000000036B928
+ pip_power 0x000000000037B908
+ pip_swap 0x0000000000367930
+ pip_move 0x0000000000377910
+ pip_ch+ 0x000000000036E922
+ pip_ch- 0x000000000037F900
+ video_source 0x0000000000376113
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/sciatl_exp1840/lircd.conf b/linhes/linhes-templates/templates/transmit/sciatl_exp1840/lircd.conf
new file mode 100644
index 0000000..f937cd9
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/sciatl_exp1840/lircd.conf
@@ -0,0 +1,77 @@
+# this config file was automatically generated
+# using lirc-0.8.1(default) on Sun Apr 15 01:59:37 2007
+#
+# contributed by Calvin Walton
+#
+# brand: Rogers
+# model no. of remote control: Unknown
+# devices being controlled by this remote: Scientific Atlanta 1840, possibly
+# other (all?) Rogers set-top boxes.
+#
+
+begin remote
+
+ name Scientific_Atlanta-1840
+ bits 22
+ flags SPACE_ENC
+ eps 30
+ aeps 100
+
+ header 3385 3277
+ one 871 2479
+ zero 871 793
+ ptrail 865
+ gap 37261
+ toggle_bit 0
+
+
+ begin codes
+ NUM_1 0x36113D
+ NUM_2 0x37111D
+ NUM_3 0x36912D
+ NUM_4 0x37910D
+ NUM_5 0x365135
+ NUM_6 0x375115
+ NUM_7 0x36D125
+ NUM_8 0x37D105
+ NUM_9 0x363139
+ NUM_0 0x373119
+ SELECT 0x366133
+ ARROW_UP 0x36812F
+ ARROW_DOWN 0x37A10B
+ ARROW_LEFT 0x37810F
+ ARROW_RIGHT 0x364137
+ CH_UP 0x377111
+ CH_DOWN 0x36F121
+ VOL_UP 0x36093E
+ VOL_DOWN 0x37091E
+ STAR 0x37E103
+ HASH 0x36B928
+ MUTE 0x36892E
+ NEXT 0x36D924
+ PREV 0x37D904
+ EXIT 0x366932
+ FAV 0x37F101
+ LAST 0x36E123
+ INFO 0x36213B
+ GUIDE 0x36C127
+ MENU 0x373918
+ POWER 0x37C107
+ LAST 0x36E123
+ A 0x37E902
+ B 0x36193C
+ C 0x37191C
+ REWIND 0x37291A
+ PLAY 0x37990C
+ FASTFORWARD 0x36293A
+ PAUSE 0x374117
+ STOP 0x365934
+ RECORD 0x375914
+ BYPASS 0x376113
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/sciatl_exp2000/lircd.conf b/linhes/linhes-templates/templates/transmit/sciatl_exp2000/lircd.conf
new file mode 100644
index 0000000..8c8475b
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/sciatl_exp2000/lircd.conf
@@ -0,0 +1,423 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.5(serial) on Mon Jun 3 17:36:12 2002
+#
+# contributed by
+#
+# brand: Scientific Atlanta
+# model no. of remote control:
+# devices being controlled by this remote: Explorer 2000 settop box
+#
+
+begin remote
+
+ name SA2000
+ flags CONST_LENGTH|RAW_CODES
+ eps 30
+ aeps 100
+
+ ptrail 0
+ repeat 0 0
+ gap 100240
+
+ begin raw_codes
+
+ name MUTE
+ 972 802 971 802 1887 778
+ 971 798 971 798 972 798
+ 971 798 972 798 971 1677
+ 972 802 1887 1656 992
+
+ name POWER
+ 3450 3229 894 2468 891 2468
+ 893 778 892 2468 891 2469
+ 917 2444 891 2468 892 2469
+ 891 779 892 778 918 752
+ 917 754 917 752 892 2471
+ 889 779 892 779 892 777
+ 892 779 892 777 868 2492
+ 892 2469 891 2470 890
+
+ name GUIDE
+ 3397 3285 890 2470 840 2519
+ 916 755 891 2470 839 2520
+ 891 780 891 2474 860 2495
+ 892 778 917 754 890 780
+ 891 781 864 804 917 2443
+ 865 805 891 779 866 2495
+ 864 805 892 779 891 2469
+ 865 2495 891 2469 866
+
+ name INFO
+ 3449 3231 918 2441 920 2440
+ 920 750 947 2414 920 2440
+ 920 750 894 777 919 750
+ 947 2413 921 750 919 750
+ 920 751 919 752 918 2441
+ 921 749 895 776 919 2441
+ 920 2440 920 2441 920 749
+ 921 2439 921 2440 921
+
+ name UP
+ 3396 3285 915 2444 919 2442
+ 918 752 916 2444 919 2441
+ 919 751 916 2445 919 751
+ 890 780 916 753 917 754
+ 942 729 889 780 916 2445
+ 919 751 915 756 914 2448
+ 916 752 916 2444 918 2442
+ 919 2441 918 2443 918
+
+ name DOWN
+ 3421 3261 890 2470 918 2442
+ 919 751 916 2446 917 2441
+ 919 2442 918 2442 918 752
+ 916 2444 919 751 890 780
+ 916 755 915 755 915 2445
+ 919 753 914 755 889 781
+ 889 781 916 2444 919 752
+ 889 2471 919 2441 918
+
+ name LEFT
+ 3427 3255 918 2441 924 2437
+ 920 750 918 2442 920 2441
+ 919 2440 921 2439 921 750
+ 919 751 944 726 919 752
+ 917 753 918 751 944 2417
+ 920 750 893 777 919 751
+ 919 752 918 2441 921 2440
+ 920 2440 920 2440 921
+
+ name RIGHT
+ 3424 3258 892 2466 921 2439
+ 896 774 920 2441 920 2440
+ 920 750 920 751 945 2414
+ 921 750 919 751 920 750
+ 919 752 919 751 919 2440
+ 921 750 918 752 918 2442
+ 920 2440 921 749 918 2443
+ 920 2440 920 2441 919
+
+ name SELECT
+ 3424 3257 944 2416 919 2442
+ 919 750 918 2442 920 2441
+ 919 751 943 727 918 2442
+ 920 2440 920 752 916 752
+ 969 702 917 753 892 2468
+ 919 751 892 778 918 2442
+ 924 2436 921 750 917 753
+ 918 2443 919 2441 919
+
+ name SETTINGS
+ 3402 3278 871 2491 921 2438
+ 921 749 922 2440 919 2441
+ 919 2440 921 749 921 750
+ 895 2465 920 2440 921 2440
+ 920 749 896 775 921 2439
+ 920 749 923 748 895 775
+ 922 2439 920 2440 920 749
+ 897 774 896 774 921
+
+ name EXIT
+ 3400 3279 896 2464 921 2439
+ 921 750 895 2465 921 2439
+ 921 749 898 772 896 2465
+ 920 2440 920 750 920 2441
+ 920 749 896 774 870 2491
+ 921 749 921 749 895 2465
+ 921 2440 920 749 922 748
+ 897 2464 920 750 896
+
+ name PGUP
+ 3425 3255 920 2440 920 2440
+ 921 749 895 2466 920 2440
+ 920 749 920 2441 896 2464
+ 921 749 919 2445 917 2440
+ 920 750 920 750 920 2441
+ 921 748 921 749 920 2440
+ 921 750 919 752 919 2440
+ 921 749 921 750 919
+
+ name PGDN
+ 3400 3281 921 2438 921 2441
+ 920 749 895 2465 896 2465
+ 920 2440 920 2440 920 2440
+ 921 749 896 2465 895 2465
+ 920 750 895 775 920 2440
+ 921 749 921 750 895 775
+ 896 774 896 774 921 2439
+ 921 749 921 751 894
+
+ name VOLUP
+ 995 778 1886 779 994 775
+ 995 777 993 774 996 774
+ 995 775 995 1654 1885 778
+ 995 775 995 774 995
+
+ name VOLDN
+ 996 778 971 802 1862 803
+ 970 799 996 774 995 774
+ 996 774 995 1654 1886 778
+ 996 773 971 1678 991
+
+ name CHUP
+ 3421 3259 916 2444 918 2443
+ 918 751 917 2444 919 2441
+ 919 2441 919 751 916 2444
+ 919 2441 919 2443 918 751
+ 941 729 916 755 917 2442
+ 919 752 916 754 891 778
+ 918 2444 918 751 916 754
+ 917 753 916 2445 919
+
+ name CHDN
+ 3421 3260 915 2445 918 2442
+ 919 751 891 2469 919 2441
+ 927 745 915 2444 919 2441
+ 919 2441 919 2442 918 752
+ 915 755 890 780 917 2443
+ 919 752 916 754 915 2445
+ 919 751 915 755 890 781
+ 914 756 916 2445 917
+
+ name A
+ 3425 3258 916 2442 920 2441
+ 919 751 918 2442 919 2441
+ 920 2440 920 2441 919 2441
+ 919 2441 920 750 917 2443
+ 920 751 917 752 919 2442
+ 920 750 918 753 917 753
+ 917 753 942 728 917 753
+ 918 2442 920 750 942
+
+ name B
+ 3398 3283 916 2443 892 2470
+ 892 778 892 2468 891 2475
+ 886 779 916 754 892 777
+ 892 778 919 2442 891 2468
+ 918 753 892 778 891 2469
+ 892 778 892 778 918 2443
+ 891 2469 892 2467 893 2469
+ 891 778 918 753 892
+
+ name C
+ 3396 3283 891 2469 892 2468
+ 892 778 917 2444 892 2468
+ 892 2469 891 778 892 779
+ 893 777 892 2468 892 2468
+ 918 752 893 777 892 2469
+ 892 778 892 778 867 802
+ 918 2444 917 2442 868 2492
+ 893 778 892 779 916
+
+ name 1
+ 3424 3257 890 2470 865 2495
+ 891 780 892 2468 865 2495
+ 892 777 891 780 892 779
+ 890 780 916 2444 865 805
+ 891 779 917 753 916 2445
+ 865 805 916 754 892 2469
+ 865 2494 916 2445 865 2495
+ 891 779 917 2443 866
+
+ name 2
+ 3422 3258 916 2444 865 2496
+ 889 782 915 2444 865 2495
+ 917 2444 839 830 891 780
+ 915 755 890 2470 864 806
+ 917 753 891 780 866 2495
+ 864 805 891 779 892 779
+ 865 2494 865 2496 891 2469
+ 865 805 891 2469 865
+
+ name 3
+ 3397 3284 916 2443 892 2468
+ 892 779 893 2467 892 2468
+ 917 753 892 2469 891 778
+ 893 778 891 2469 892 778
+ 918 753 890 779 893 2468
+ 891 779 893 778 891 2469
+ 892 777 893 2468 891 2468
+ 917 754 943 2417 892
+
+ name 4
+ 3421 3261 890 2470 839 2520
+ 917 753 891 2470 865 2495
+ 917 2443 865 2495 890 781
+ 891 778 891 2470 865 804
+ 895 776 892 779 891 2468
+ 866 805 917 753 943 727
+ 866 805 889 2471 865 2494
+ 892 780 916 2444 865
+
+ name 5
+ 3396 3282 920 2441 892 2467
+ 894 778 891 2468 892 2469
+ 891 780 866 802 893 2470
+ 890 779 918 2443 891 777
+ 892 779 918 752 892 2468
+ 892 779 918 752 918 2443
+ 891 2469 891 779 891 2469
+ 892 778 891 2468 893
+
+ name 6
+ 3396 3284 918 2442 866 2494
+ 892 778 917 2444 866 2494
+ 917 2444 865 804 893 2468
+ 890 780 916 2445 890 779
+ 892 779 891 778 918 2443
+ 891 778 892 779 892 779
+ 891 2468 892 778 919 2444
+ 889 778 893 2468 891
+
+ name 7
+ 3398 3282 893 2467 892 2468
+ 893 779 891 2469 891 2468
+ 919 752 892 2467 892 2469
+ 891 779 892 2468 892 777
+ 893 778 918 752 892 2468
+ 893 779 916 753 918 2442
+ 892 779 891 778 893 2468
+ 892 778 893 2467 892
+
+ name 8
+ 3448 3232 892 2468 866 2494
+ 892 779 892 2467 867 2494
+ 891 2469 866 2495 891 2469
+ 865 805 968 2394 864 804
+ 918 753 891 779 892 2468
+ 866 804 917 754 891 780
+ 916 752 917 754 892 2469
+ 865 804 893 2468 890
+
+ name 9
+ 3422 3258 891 2469 839 2521
+ 891 780 892 2468 824 2536
+ 916 754 916 755 891 779
+ 866 2494 839 2522 891 778
+ 892 778 890 781 915 2448
+ 837 831 891 779 890 2470
+ 837 2523 942 2418 838 832
+ 892 778 890 2471 839
+
+ name 0
+ 3398 3284 891 2469 890 2469
+ 893 779 891 2468 892 2468
+ 892 2468 892 778 892 779
+ 891 2469 892 2468 893 778
+ 892 777 893 777 893 2469
+ 891 778 892 779 868 802
+ 917 2443 892 2469 890 779
+ 891 779 892 2468 893
+
+ name LAST
+ 3422 3258 891 2471 916 2443
+ 891 780 891 2469 272 3088
+ 865 805 916 2445 308 3052
+ 890 2469 892 779 915 756
+ 889 781 889 780 890 2471
+ 890 779 889 781 891 2471
+ 272 1397 890 779 891 781
+ 890 2469 448 2912 917
+
+ name FAV
+ 3423 3257 918 2442 944 2417
+ 917 753 892 2469 890 2471
+ 324 3036 890 2469 379 289
+ 167 2525 891 2470 379 2981
+ 890 780 378 270 242 781
+ 866 806 889 2469 786 884
+ 891 779 891 779 892 779
+ 916 754 890 779 892 778
+ 891 2470 839
+
+ name REW
+ 3420 3258 916 2445 326 3033
+ 891 780 916 2443 891 2469
+ 916 2445 838 831 918 754
+ 890 2471 837 832 916 2444
+ 838 832 891 779 916 2445
+ 838 831 892 779 890 780
+ 892 2469 839 2520 891 780
+ 915 2444 836 836 890
+
+ name PLAY
+ 3448 3233 916 2444 891 2469
+ 917 753 892 2468 918 2443
+ 941 2420 891 2468 917 754
+ 915 755 914 2446 918 2443
+ 916 754 916 753 945 2416
+ 943 727 941 729 918 752
+ 917 753 919 2442 916 2444
+ 915 755 943 728 916
+
+ name FF
+ 3420 3259 917 2442 946 2415
+ 918 752 916 2445 918 2441
+ 943 728 917 753 942 728
+ 892 2470 864 806 889 2471
+ 865 805 918 752 916 2443
+ 944 726 892 779 891 2470
+ 891 2469 915 2445 917 753
+ 890 2471 222 1447 891
+
+ name PAUSE
+ 3421 3259 891 2470 787 2573
+ 890 780 916 2444 840 2520
+ 892 2468 864 806 917 2444
+ 839 831 890 780 891 779
+ 891 780 891 779 889 2471
+ 839 831 916 755 915 754
+ 892 2469 839 830 917 2444
+ 840 2521 891 2469 840
+
+ name STOP
+ 3398 3284 889 2471 325 3036
+ 891 779 890 2470 395 290
+ 140 2535 889 781 890 781
+ 889 2470 274 1397 891 2470
+ 272 3087 917 754 890 780
+ 889 2472 293 1377 890 779
+ 916 2444 448 2913 916 754
+ 866 2495 325 1344 891 779
+ 915
+
+ name REC
+ 3421 3258 917 2444 916 2444
+ 942 729 942 2420 889 2469
+ 992 2367 942 730 891 2468
+ 917 754 916 2443 892 2470
+ 892 777 916 754 892 2467
+ 943 730 916 754 891 779
+ 917 2442 917 754 943 2417
+ 918 753 915 754 892
+
+ name BYPASS
+ 3450 3231 891 2470 890 2470
+ 917 753 916 2447 913 2445
+ 273 3088 889 780 890 2470
+ 891 2469 916 755 890 780
+ 942 727 918 752 916 2444
+ 890 782 916 754 865 805
+ 891 2469 891 780 889 781
+ 891 2468 259 3102 866
+
+ name TV/VCR
+ 19945 3915 612 1873 560 1926
+ 560 1925 561 931 560 931
+ 587 905 559 931 563 931
+ 557 932 561 1925 585 908
+ 583 1901 559 931 586 905
+ 585 907 610 1875 561 1924
+ 561 1926 559 1926 535 1951
+ 559 1925 586 907 585 1899
+ 560 931 1048 7898 3707 3862
+ 587 1899 586 1899 586 1900
+ 559 932 586 908 323
+
+ end raw_codes
+
+end remote
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/sciatl_exp2xxx_3xxx_4xxx/lircd.conf b/linhes/linhes-templates/templates/transmit/sciatl_exp2xxx_3xxx_4xxx/lircd.conf
new file mode 100644
index 0000000..894df55
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/sciatl_exp2xxx_3xxx_4xxx/lircd.conf
@@ -0,0 +1,87 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.6(sir) on Wed Mar 24 22:28:59 2004
+#
+# Modified by Stephane Lavergne <stephane|iMars.com>:
+# Base frequency is 56kHz, irrecord was otherwise right on.
+#
+# contributed by
+#
+# brand: Scientific Atlanta
+# model no. of remote control: AT8400
+# devices being controlled by this remote: Explorer 8000
+#
+
+begin remote
+
+ name SAE8000
+ bits 22
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 3397 3372
+ one 827 2557
+ zero 827 855
+ ptrail 827
+ gap 101386
+ toggle_bit 0
+
+ frequency 56000
+
+ begin codes
+ power 0x000000000037C107
+ guide 0x000000000036C127
+ menu 0x000000000036F920
+ info 0x000000000036213B
+ select_up 0x000000000036812F
+ select_down 0x000000000037A10B
+ select 0x0000000000366133
+ select_left 0x000000000037810F
+ select_right 0x0000000000364137
+ select_page+ 0x000000000036D924
+ select_page- 0x000000000037D904
+ exit 0x0000000000366932
+ settings 0x0000000000373918
+ A 0x000000000037E902
+ B 0x000000000036193C
+ C 0x000000000037191C
+ vol+ 0x000000000036093E
+ vol- 0x000000000037091E
+ ch+ 0x0000000000377111
+ ch- 0x000000000036F121
+ mute 0x000000000036892E
+ fav 0x000000000037F101
+ last 0x000000000036E123
+ rew8secs 0x000000000037C906
+ list 0x000000000036C926
+ live 0x000000000036B129
+ rew 0x000000000037291A
+ ff 0x000000000036293A
+ play 0x000000000037990C
+ stop 0x0000000000365934
+ pause 0x0000000000374117
+ rec 0x0000000000375914
+ 1 0x000000000036113D
+ 2 0x000000000037111D
+ 3 0x000000000036912D
+ 4 0x000000000037910D
+ 5 0x0000000000365135
+ 6 0x0000000000375115
+ 7 0x000000000036D125
+ 8 0x000000000037D105
+ 9 0x0000000000363139
+ asterisk 0x000000000037E103
+ 0 0x0000000000373119
+ pound 0x000000000036B928
+ pip_power 0x000000000037B908
+ pip_swap 0x0000000000367930
+ pip_move 0x0000000000377910
+ pip_ch+ 0x000000000036E922
+ pip_ch- 0x000000000037F900
+ video_source 0x0000000000376113
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/sciatl_exp8000/lircd.conf b/linhes/linhes-templates/templates/transmit/sciatl_exp8000/lircd.conf
new file mode 100644
index 0000000..894df55
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/sciatl_exp8000/lircd.conf
@@ -0,0 +1,87 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.6(sir) on Wed Mar 24 22:28:59 2004
+#
+# Modified by Stephane Lavergne <stephane|iMars.com>:
+# Base frequency is 56kHz, irrecord was otherwise right on.
+#
+# contributed by
+#
+# brand: Scientific Atlanta
+# model no. of remote control: AT8400
+# devices being controlled by this remote: Explorer 8000
+#
+
+begin remote
+
+ name SAE8000
+ bits 22
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 3397 3372
+ one 827 2557
+ zero 827 855
+ ptrail 827
+ gap 101386
+ toggle_bit 0
+
+ frequency 56000
+
+ begin codes
+ power 0x000000000037C107
+ guide 0x000000000036C127
+ menu 0x000000000036F920
+ info 0x000000000036213B
+ select_up 0x000000000036812F
+ select_down 0x000000000037A10B
+ select 0x0000000000366133
+ select_left 0x000000000037810F
+ select_right 0x0000000000364137
+ select_page+ 0x000000000036D924
+ select_page- 0x000000000037D904
+ exit 0x0000000000366932
+ settings 0x0000000000373918
+ A 0x000000000037E902
+ B 0x000000000036193C
+ C 0x000000000037191C
+ vol+ 0x000000000036093E
+ vol- 0x000000000037091E
+ ch+ 0x0000000000377111
+ ch- 0x000000000036F121
+ mute 0x000000000036892E
+ fav 0x000000000037F101
+ last 0x000000000036E123
+ rew8secs 0x000000000037C906
+ list 0x000000000036C926
+ live 0x000000000036B129
+ rew 0x000000000037291A
+ ff 0x000000000036293A
+ play 0x000000000037990C
+ stop 0x0000000000365934
+ pause 0x0000000000374117
+ rec 0x0000000000375914
+ 1 0x000000000036113D
+ 2 0x000000000037111D
+ 3 0x000000000036912D
+ 4 0x000000000037910D
+ 5 0x0000000000365135
+ 6 0x0000000000375115
+ 7 0x000000000036D125
+ 8 0x000000000037D105
+ 9 0x0000000000363139
+ asterisk 0x000000000037E103
+ 0 0x0000000000373119
+ pound 0x000000000036B928
+ pip_power 0x000000000037B908
+ pip_swap 0x0000000000367930
+ pip_move 0x0000000000377910
+ pip_ch+ 0x000000000036E922
+ pip_ch- 0x000000000037F900
+ video_source 0x0000000000376113
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/skymaster_9410/lircd.conf b/linhes/linhes-templates/templates/transmit/skymaster_9410/lircd.conf
new file mode 100644
index 0000000..2b7df7b
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/skymaster_9410/lircd.conf
@@ -0,0 +1,69 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.1-CVS(default) on Thu Mar 23 23:29:30 2006
+#
+# contributed by Christoph Bartelmus
+#
+# brand: Skymaster
+# model no. of remote control:
+# devices being controlled by this remote: Digital Satellite Receiver DCI 9410
+#
+
+begin remote
+
+ name Skymaster_DCI_9410
+ bits 11
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 229 7374
+ zero 229 4849
+ ptrail 229
+ gap 121676
+ toggle_bit 2
+
+
+ begin codes
+ MUTE 0x558
+ POWER 0x55E
+ TV 0x566
+ TV/RAD 0x56E
+ AUDIO 0x576
+ 1 0x575
+ 2 0x56D
+ 3 0x565
+ 4 0x55D
+ 5 0x574
+ 6 0x56C
+ 7 0x564
+ 8 0x55C
+ 9 0x573
+ TEXT 0x563
+ 0 0x56B
+ SUB 0x556
+ EPG 0x56F
+ MENU 0x567
+ EXT 0x570
+ ALT 0x555
+ CHANNEL+ 0x568
+ OK 0x569
+ CHANNEL- 0x56A
+ VOL- 0x571
+ VOL+ 0x561
+ FREEZE 0x560
+ PAGE- 0x55F
+ PAGE+ 0x55A
+ BROWSE 0x55B
+ RED 0x559
+ GREEN 0x572
+ YELLOW 0x562
+ BLUE 0x577
+ i 0x554
+ end codes
+
+end remote
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/skyplus/lircd.conf b/linhes/linhes-templates/templates/transmit/skyplus/lircd.conf
new file mode 100644
index 0000000..c8c6876
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/skyplus/lircd.conf
@@ -0,0 +1,74 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.0(userspace) on Fri Jul 28 02:45:39 2006
+#
+# contributed by Lloyd Williams <binary_frog|chatcircuit.com>
+#
+# brand: SKY
+# model no. of remote control: URC 1650-00 B00 - 9RC16P-1014 Sky+ Rev 6
+# devices being controlled by this remote: SKY+ DVB-S receiver & PVR
+#
+
+begin remote
+
+ name SKY+_DVB-S
+ bits 8
+ flags RC6|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 2691 890
+ one 427 460
+ zero 427 460
+ pre_data_bits 17
+ pre_data 0x3FF3
+ gap 149845
+ min_repeat 2
+ toggle_bit 0
+
+ rc6_mask 0x100000
+
+ begin codes
+ POWER 0xF3
+ TV_GUIDE 0x33
+ BOX_OFFICE 0x82
+ SERVICES 0x81
+ INTERACTIVE 0x0A
+ INFO 0x34
+ UP 0xA7
+ LEFT 0xA5
+ RIGHT 0xA4
+ DOWN 0xA6
+ SELECT 0xA3
+ CH+ 0xDF
+ CH- 0xDE
+ TEXT 0xC3
+ BACK_UP 0x7C
+ HELP 0x7E
+ FREV 0xC2
+ FFWD 0xD7
+ PLAY 0xC1
+ PAUSE 0xDB
+ RECORD 0xBF
+ STOP 0xC0
+ RED 0x92
+ GREEN 0x91
+ YELLOW 0x90
+ BLUE 0x8F
+ 1 0xFE
+ 2 0xFD
+ 3 0xFC
+ 4 0xFB
+ 5 0xFA
+ 6 0xF9
+ 7 0xF8
+ 8 0xF7
+ 9 0xF6
+ 0 0xFF
+ SKY 0x7F
+ TV 0x7B
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/technisat_st3002s/lircd.conf b/linhes/linhes-templates/templates/transmit/technisat_st3002s/lircd.conf
new file mode 100644
index 0000000..1589d24
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/technisat_st3002s/lircd.conf
@@ -0,0 +1,64 @@
+#
+# this config file was automatically generated
+# using lirc-0.6.5(irdeo) on Tue Jun 18 19:54:36 2002
+#
+# contributed by
+#
+# brand: TechniSat
+# model no. of remote control: ST3002S
+# devices being controlled by this remote: Sattelite Receiver
+#
+
+begin remote
+
+ name ST3002S
+ bits 11
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 201 7390
+ zero 201 4859
+ ptrail 210
+ gap 121450
+ toggle_bit 2
+
+
+ begin codes
+ power 0x0000000000000441
+ mute 0x0000000000000446
+ 1 0x0000000000000450
+ 2 0x0000000000000451
+ 3 0x0000000000000452
+ 4 0x0000000000000453
+ 5 0x0000000000000454
+ 6 0x0000000000000455
+ 7 0x0000000000000456
+ 8 0x0000000000000457
+ 9 0x0000000000000458
+ 0 0x000000000000044F
+ volume_plus 0x000000000000046E
+ volume_minus 0x000000000000046F
+ program_plus 0x0000000000000447
+ program_minus 0x0000000000000448
+ radio 0x0000000000000442
+ audio_plus 0x0000000000000468
+ audio_minus 0x0000000000000469
+ deem 0x000000000000045E
+ dek 0x0000000000000444
+ a-b 0x0000000000000464
+ lnb 0x000000000000044E
+ video_plus 0x000000000000046C
+ video_minus 0x000000000000046D
+ sat 0x0000000000000449
+ tab 0x0000000000000445
+ save 0x0000000000000466
+ delete 0x0000000000000461
+ end codes
+
+end remote
+
+
+
+
+
diff --git a/linhes/linhes-templates/templates/transmit/technisat_st3004s/lircd.conf b/linhes/linhes-templates/templates/transmit/technisat_st3004s/lircd.conf
new file mode 100644
index 0000000..cb03e63
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/technisat_st3004s/lircd.conf
@@ -0,0 +1,67 @@
+#
+# this is a space encoded remote control from Technisat
+#
+# contributed by Christoph Bartelmus (columbus@hit.handshake.de)
+#
+# brand: Technisat
+# model: 100 TS 008
+# supported devices: satellite receiver ST 3004 S
+#
+
+begin remote
+
+ name TECHNISAT_ST3004S
+ bits 6
+ flags SPACE_ENC|CONST_LENGTH
+ eps 20
+ aeps 120
+
+ header 0 0
+ one 170 7440
+ zero 170 4920
+ plead 0
+ ptrail 170
+ plead 0
+ foot 0 0
+ repeat 0 0
+ pre_data_bits 5
+ pre_data 0x11
+ post_data_bits 0
+ post_data 0x0
+ pre 0 0
+ post 0 0
+ gap 121400
+ repeat_bit 2
+
+ begin codes
+ POWER 0x0000000000000001
+ MUTE 0x0000000000000006
+ 0 0x000000000000000F
+ 1 0x0000000000000010
+ 2 0x0000000000000011
+ 3 0x0000000000000012
+ 4 0x0000000000000013
+ 5 0x0000000000000014
+ 6 0x0000000000000015
+ 7 0x0000000000000016
+ 8 0x0000000000000017
+ 9 0x0000000000000018
+ VOL_UP 0x000000000000002E
+ VOL_DOWN 0x000000000000002F
+ CH_UP 0x0000000000000007
+ CH_DOWN 0x0000000000000008
+ LIST 0x0000000000000037
+ A/B 0x0000000000000024
+ TV/R 0x0000000000000002
+ BACK 0x0000000000000027
+ MENU 0x000000000000002B
+ OK 0x0000000000000036
+ ARROW_UP 0x0000000000000032
+ ARROW_DOWN 0x0000000000000033
+ ARROW_RIGHT 0x0000000000000035
+ ARROW_LEFT 0x0000000000000034
+ end codes
+
+end remote
+
+
diff --git a/linhes/linhes-templates/templates/transmit/zenith_dtt900/lircd.conf b/linhes/linhes-templates/templates/transmit/zenith_dtt900/lircd.conf
new file mode 100644
index 0000000..e436562
--- /dev/null
+++ b/linhes/linhes-templates/templates/transmit/zenith_dtt900/lircd.conf
@@ -0,0 +1,67 @@
+#
+# this config file was automatically generated
+# using lirc-0.8.2-CVS(default) on Wed Apr 23 21:55:59 2008
+#
+# contributed by http://www.mythpvr.com
+#
+# brand: Zenith
+# model no. of remote control: AKB36157102
+# devices being controlled by this remote: DTT900
+#
+
+begin remote
+
+ name Zenith_DTT900
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 9088 4480
+ one 640 1664
+ zero 640 640
+ ptrail 640
+ pre_data_bits 16
+ pre_data 0xEF10
+ gap 103958
+ toggle_bit_mask 0x0
+
+ begin codes
+ 0 0x08F7
+ RECALL 0x58A7
+ - 0x32CD
+ 9 0x9867
+ 8 0x18E7
+ 7 0xE817
+ 6 0x6897
+ 5 0xA857
+ 4 0x28D7
+ 3 0xC837
+ 2 0x48B7
+ 1 0x8877
+ CHDOWN 0x807F
+ CHUP 0x00FF
+ MUTE 0x906F
+ FAV 0x7887
+ VOLDOWN 0xC03F
+ VOLUP 0x40BF
+ EXIT 0xDA25
+ DOWN 0xA05F
+ UP 0x20DF
+ RIGHT 0x609F
+ LEFT 0xE01F
+ OK 0x22DD
+ GUIDE 0x956A
+ MENU 0xC23D
+ DISPLAY 0x55AA
+ ZOOM 0x9E61
+ SAP 0x50AF
+ SIGNAL 0x6996
+ SLEEP 0x708F
+ POWER 0x10EF
+ end codes
+
+end remote
+
+
+
diff --git a/linhes/linhes-theme/LHLogo.png b/linhes/linhes-theme/LHLogo.png
new file mode 100644
index 0000000..9ff4fd2
--- /dev/null
+++ b/linhes/linhes-theme/LHLogo.png
Binary files differ
diff --git a/linhes/linhes-theme/LHLogoAndText.png b/linhes/linhes-theme/LHLogoAndText.png
new file mode 100644
index 0000000..39504e7
--- /dev/null
+++ b/linhes/linhes-theme/LHLogoAndText.png
Binary files differ
diff --git a/linhes/linhes-theme/PKGBUILD b/linhes/linhes-theme/PKGBUILD
new file mode 100755
index 0000000..9b3d392
--- /dev/null
+++ b/linhes/linhes-theme/PKGBUILD
@@ -0,0 +1,141 @@
+pkgname=linhes-theme
+pkgver=9.0.0
+pkgrel=6
+pkgdesc="Default LinHES MythTV theme"
+arch=('x86_64')
+license=('GPL2')
+url="http://linhes.org/"
+makedepends=('git' 'rsync')
+patches=('readme.txt.patch' 'osd.xml.patch' 'base.xml.patch' 'browser-ui.xml.patch'
+ 'config-ui.xml.patch' 'controls-ui.xml.patch' 'menu-ui-vert.xml.patch'
+ 'music-base.xml.patch' 'music-ui.xml.patch' 'musicsettings-ui.xml.patch'
+ 'mytharchive-ui.xml.patch' 'mythburn-ui.xml.patch'
+ 'mythnative-ui.xml.patch'
+ 'notification-ui.xml.patch' 'qtlook.txt.patch'
+ 'recordings-ui.xml.patch' 'schedule-ui.xml.patch' 'settings-ui.xml.patch'
+ 'status-ui.xml.patch' 'stream-ui.xml.patch' 'video-ui.xml.patch'
+ 'weather-ui.xml.patch')
+
+#The LinHES theme is based on TintedGlass 4.56 by Harley Peters
+source=(`echo ${patches[@]:0}` 'themeinfo.xml' 'install-ui.xml' 'osd_subtitle.xml'
+ 'lights_bud_background.png' 'preview.png' 'blank_coverart.png'
+ 'gg-left-arrow-large.png' 'gg-right-arrow-large.png'
+ 'checkmark.png' 'error.png' 'gears.png' 'question.png' 'warning.png'
+ 'image-ui.xml' 'standardsetting-ui.xml'
+ 'LHLogo.png' 'LHLogoAndText.png')
+install=$pkgname.install
+sha256sums=('30aa74482dfa47bb394e7926f36271ed14b43872c582b283c63fb10c399309ee'
+ '1eb1446ac18a72bb7d641a7565a52bc7d9f26f534e153e2d065264067088b792'
+ '603ea611c81a61114999616e3b16877d17fde882fbaf992556ac376f68b09990'
+ '1cb0b64ea18c1e54e3cd8c56e9460f73eb8b26dfefc27c7e0bba642b1fed11cd'
+ 'd799134e6c06ed6039bbae71d50edb83e7fbc4a420700a2028ec90562333d812'
+ 'acb2d10e897c5e05ed0069e737a272632ca7370f958968556d8d1108c8c17239'
+ '431a9da8a810b38d2c623d0d01247c360840ab55b8b0c8ab87a4c033c322cb06'
+ '28bc7e8c94454e86d3dcc9cb1e1e3712940de0a92183b8d3929b2895d6c35ff8'
+ 'b5a5653f60cff0368d1ebc5571128baa005f649a682fb40ff72669ad692e49c0'
+ 'a363df51ae3b60d2cd4f8571d1cadcb4d4c9839dde4f869f224152a152afde12'
+ '38601942d189519bbe9c9354a00d7f94bd1477c8e7aff6540dbbf376a20d845e'
+ 'fbed102b47c6255be5f90adab55a087daa8d014dca09eda1eacc401eab21cdb1'
+ 'd3f1135a069029419b14e5fdcf6e6732136bdb4779f4e5bac1f2343aa1a5d8d5'
+ 'a2e3bb5e3114299f4f539e62593d1d1c455ceae1d779a65f33569952ad28db3f'
+ 'e99f9c643b787b7d0f5d95ec48b9c2fe8ba746a68f557583af31bdafcd9b7577'
+ 'f2f92ad1eb74a18a85c5d37a6b3f4c13865a03d2ceb633b367f33b56c9018832'
+ '6dac358eeaa1448b40ae7807aa3cbebb81bf2b13f3a9e848b0f2a9000ba69937'
+ 'e6c6a115c6d45290aa9cfea1a09ba4abd3d15483412150746997cb786dd96ce1'
+ 'de53064496b5e1bd7b9b0a0a5b346c0e0263efbfb21f768d6f1ec736a6b45f41'
+ 'bc9a197b2144e88dc2a6477ac28a11da39c7cc6df987b318e39247ffa9456fb8'
+ '499e8bc9cc1ca2ce2013117637c0b15ec722ebb3430220378182a59b728ea4f1'
+ '65a28a164a3c86a88cc17e1960051722b96ae5631286afd02031ee850ae3e108'
+ '2f969fb3066e9bd4ef1c6b78a690badfeea8b44132470e90d44d0465dee2c275'
+ 'f9e621c2b66749818c41248529dd05361b0b1917039c6b4c55da710e85cc727d'
+ 'a4ce13418478d06eabf1def8971c91bdae0441c42a26a8d9ff5a6dbae4bf1976'
+ '70c3e66b8ef5b3f7b51f459c8411cdb2a4f74e911cdc06f3ec78d9953e9f86d1'
+ 'b81b03f6cbe4f842f8b5113d248c83851653e79b669f2702db557d00ab8334fc'
+ 'c33c83a8ea4d1f7354f7a135bfb0742fd0e0367f32e63c7ca7abb2ec03a43b06'
+ '9464d2a169ebf71ca658e35675833ab23ca573a22596b6a633bf08134c9b2c06'
+ '6c7bb8e08d23c3c386e2a3905133cb258a746aa7dad147c8494676b17a70c4df'
+ 'a5153a8248c89e072fd2fd1862b52de6e2eda171aae0ba6872fc56ee2c12f954'
+ 'a895cf07af9662875926a574863ce12a47d34dbf87c178819b1b08cd90093abd'
+ '6f5644916140cc5d74816b09a9eec78717c1479cb5255762c6af74ad54828a88'
+ '400cca5039c70ad98d87cb96f6e154b5faf3c1ce7510960e7bd38a2ac81ea039'
+ '0a2bb7bb3dd513c97a3760e1be80b23890689551b142fbaa7ff5d9e04f1784d5'
+ '7661214d94b52f90e6b536d3144f2b6287a05b30d17ca3c9414b0dcebaaf9bae'
+ '71dce90b226e7c5103babab959e1f81f8622acb37231a610f38848082321965d'
+ '366782cb94bb8dafc8f7d65cc6b50739b98b16a2bfd9b8928d7f51c86cc23478'
+ 'a74cee81862f10ee30077858fd3888a6327fdbc939cadadfe57faa5a12d10dbb')
+
+prepare() {
+ _gitroot="https://github.com/MythTV-Themes/TintedGlass.git"
+ _gitname="TintedGlass"
+ _gitbranch="fixes/32"
+
+ cd $srcdir
+ if [ -d $_gitname ]
+ then
+ cd $_gitname
+ git checkout $_gitbranch
+ git pull
+ msg "TintedGlass local files updated."
+ else
+ git clone -b $_gitbranch $_gitroot
+ msg "TintedGlass git checkout done."
+ fi
+}
+
+package() {
+ THEMEROOT=usr/share/mythtv/themes
+
+ msg "Copying theme to package"
+ mkdir -p $pkgdir/$THEMEROOT/LinHES/
+ rsync -arp --exclude .git* --delete-excluded $srcdir/TintedGlass/* $pkgdir/$THEMEROOT/LinHES/
+
+ msg "--------------------------applying patches------------------------------"
+ cd $pkgdir/$THEMEROOT/LinHES/
+ for i in `echo ${patches[@]:0}`
+ do
+ echo applying $i
+ patch -N -i ${srcdir}/$i || return 1
+ echo "-----------------------------"
+ done
+ cd $startdir
+ msg "--------------------------done applying patches-------------------------"
+
+ msg "Copy *.xml and adding backgrounds and images for LinHES"
+ rsync -pL $srcdir/*.xml $pkgdir/$THEMEROOT/LinHES/
+ rm -r $pkgdir/$THEMEROOT/LinHES/images/backgrounds/*
+ rm -r $pkgdir/$THEMEROOT/LinHES/osd.xml.alt
+ rsync -pL $srcdir/lights_bud_background.png $pkgdir/$THEMEROOT/LinHES/images/backgrounds/background.png
+ rsync -pL $srcdir/blank_coverart.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/gg-left-arrow-large.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/gg-right-arrow-large.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/checkmark.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/error.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/gears.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/question.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/warning.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/preview.png $pkgdir/$THEMEROOT/LinHES/
+
+ rsync -pL $srcdir/LHLogo.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/LHLogoAndText.png $pkgdir/$THEMEROOT/LinHES/images/
+
+ #remove old htmls directory
+ rm -r $pkgdir/$THEMEROOT/LinHES/htmls
+
+ #vertical menu
+ mv $pkgdir/$THEMEROOT/LinHES/menu-ui-vert.xml $pkgdir/$THEMEROOT/LinHES/menu-ui.xml
+
+ msg "Modifying yellows and blue to LinHES yellow and blue"
+ #yellow
+ grep -lr '#d9d900' $pkgdir/$THEMEROOT/LinHES/ | xargs -r sed -i "s/\#d9d900/\#ebb81c/g"
+ #darkyellow
+ grep -lr '#CCCC29' $pkgdir/$THEMEROOT/LinHES/ | xargs -r sed -i "s/\#CCCC29/\#ebb81c/g"
+ #blue
+ grep -lr '#3a9ade' $pkgdir/$THEMEROOT/LinHES/ | xargs -r sed -i "s/\#3a9ade/\#0072bc/g"
+
+ msg "Modifying fonts to Overlock"
+ grep -lr 'DejaVu Sans' $pkgdir/$THEMEROOT/LinHES/ | xargs -r sed -i "s/\DejaVu Sans/\Overlock/g"
+
+ msg "Updating themeinfo.xml version number"
+ sed -i "s/MAJ_VER/${pkgver//.}/" $pkgdir/$THEMEROOT/LinHES/themeinfo.xml
+ sed -i "s/MIN_VER/${pkgrel}/" $pkgdir/$THEMEROOT/LinHES/themeinfo.xml
+}
diff --git a/linhes/linhes-theme/background-with-logo.png b/linhes/linhes-theme/background-with-logo.png
new file mode 100644
index 0000000..ffdf9ef
--- /dev/null
+++ b/linhes/linhes-theme/background-with-logo.png
Binary files differ
diff --git a/linhes/linhes-theme/background.png b/linhes/linhes-theme/background.png
new file mode 100644
index 0000000..12544b2
--- /dev/null
+++ b/linhes/linhes-theme/background.png
Binary files differ
diff --git a/linhes/linhes-theme/base.xml.patch b/linhes/linhes-theme/base.xml.patch
new file mode 100644
index 0000000..a974519
--- /dev/null
+++ b/linhes/linhes-theme/base.xml.patch
@@ -0,0 +1,987 @@
+--- base.xml.orig 2023-03-26 17:37:38.480671264 -0400
++++ base.xml 2023-03-26 17:34:08.591834788 -0400
+@@ -3,55 +3,55 @@
+ <mythuitheme>
+
+ <!-- Base Font Definitions -->
+- <fontdef name="basefont" face="DejaVu Sans">
++ <fontdef name="basefont" face="Overlock">
+ <color>#e6e6e6</color>
+- <pixelsize>21</pixelsize>
++ <pixelsize>23</pixelsize>
+ </fontdef>
+
+ <fontdef name="basesupersmall" from="basefont">
+- <pixelsize>11</pixelsize>
++ <pixelsize>13</pixelsize>
+ <weight>bold</weight>
+ </fontdef>
+
+ <fontdef name="baseextrasmall" from="basefont">
+ <weight>bold</weight>
+- <pixelsize>13</pixelsize>
++ <pixelsize>15</pixelsize>
+ </fontdef>
+
+ <fontdef name="baseevensmaller" from="basefont">
+ <weight>bold</weight>
+- <pixelsize>16</pixelsize>
++ <pixelsize>18</pixelsize>
+ </fontdef>
+
+ <fontdef name="basesmaller" from="basefont">
+- <pixelsize>18</pixelsize>
++ <pixelsize>20</pixelsize>
+ </fontdef>
+
+ <fontdef name="basesomewhatsmaller" from="basefont">
+- <pixelsize>19</pixelsize>
++ <pixelsize>21</pixelsize>
+ </fontdef>
+
+ <fontdef name="basesmall" from="basefont">
+- <pixelsize>20</pixelsize>
++ <pixelsize>22</pixelsize>
+ </fontdef>
+
+ <fontdef name="basemedium" from="basefont">
+- <pixelsize>22</pixelsize>
++ <pixelsize>24</pixelsize>
+ </fontdef>
+
+ <fontdef name="basemediumshadow" from="basefont">
+- <pixelsize>22</pixelsize>
++ <pixelsize>24</pixelsize>
+ <shadowcolor>#000000</shadowcolor>
+ <shadowoffset>2,2</shadowoffset>
+ <shadowalpha>100</shadowalpha>
+ </fontdef>
+
+ <fontdef name="basemediumlarger" from="basefont">
+- <pixelsize>25</pixelsize>
++ <pixelsize>27</pixelsize>
+ </fontdef>
+
+ <fontdef name="basemediumlargerbold" from="basefont">
+- <pixelsize>25</pixelsize>
++ <pixelsize>27</pixelsize>
+ <shadowcolor>#000000</shadowcolor>
+ <shadowoffset>3,3</shadowoffset>
+ <shadowalpha>100</shadowalpha>
+@@ -59,15 +59,15 @@
+ </fontdef>
+
+ <fontdef name="baselarge" from="basefont">
+- <pixelsize>28</pixelsize>
++ <pixelsize>30</pixelsize>
+ </fontdef>
+
+ <fontdef name="baseextralarge" from="basefont">
+- <pixelsize>32</pixelsize>
++ <pixelsize>34</pixelsize>
+ </fontdef>
+
+ <fontdef name="baseextralargebold" from="basefont">
+- <pixelsize>32</pixelsize>
++ <pixelsize>34</pixelsize>
+ <shadowcolor>#000000</shadowcolor>
+ <shadowoffset>3,3</shadowoffset>
+ <shadowalpha>100</shadowalpha>
+@@ -85,31 +85,31 @@
+ </fontdef>
+
+ <fontdef name="basesupersmallblue" from="basesupersmall">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <fontdef name="baseextrasmallblue" from="baseextrasmall">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <fontdef name="baseevensmallerblue" from="baseevensmaller">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <fontdef name="basesomewhatsmallerblue" from="basesomewhatsmaller">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <fontdef name="basesmallerblue" from="basesmaller">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <fontdef name="basesmallblue" from="basesmall">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <fontdef name="basemediumblue" from="basemedium">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <fontdef name="basesupersmallgreen" from="basesupersmall">
+@@ -200,6 +200,10 @@
+ <color>#d97616</color>
+ </fontdef>
+
++ <fontdef name="basemediumorange" from="basemedium">
++ <color>#d97616</color>
++ </fontdef>
++
+ <fontdef name="baseextrasmallpurple" from="baseextrasmall">
+ <color>#9898d9</color>
+ </fontdef>
+@@ -241,55 +245,55 @@
+ </fontdef>
+
+ <fontdef name="basesupersmallyellow" from="basesupersmall">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="baseextrasmallyellow" from="baseextrasmall">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="baseevensmalleryellow" from="basesmaller">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="basesmalleryellow" from="basesmaller">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="basesmallyellow" from="basesmall">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="basemediumyellow" from="basemedium">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="basemediumlargeryellow" from="basemediumlarger">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="baselargeyellow" from="baselarge">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="baseextralargeyellow" from="baseextralarge">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="basesmalldarkyellow" from="basesmall">
+- <color>#CCCC29</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="basemediumdarkyellow" from="basemedium">
+- <color>#CCCC29</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="basemediumlargerdarkyellow" from="basemediumlarger">
+- <color>#CCCC29</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <fontdef name="baselargedarkyellow" from="baselarge">
+- <color>#CCCC29</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <!-- Base definition of a textarea -->
+@@ -305,7 +309,7 @@
+ <font>baseextrasmallverylightgrey</font>
+ <font state="disabled">baseextrasmalllightgrey</font>
+ <font state="error">baseextrasmallred</font>
+- <font state="warning">baseextrasmallyellow</font>
++ <font state="warning">baseextrasmallorange</font>
+ <font state="normal">baseextrasmallverylightgrey</font>
+ <font state="running">baseextrasmallgreen</font>
+ <cutdown>yes</cutdown>
+@@ -317,7 +321,7 @@
+ <font>basesmallerverylightgrey</font>
+ <font state="disabled">basesmallerlightgrey</font>
+ <font state="error">basesmallerred</font>
+- <font state="warning">basesmalleryellow</font>
++ <font state="warning">basesmallerorange</font>
+ <font state="normal">basesmallerverylightgrey</font>
+ <font state="running">basesmallergreen</font>
+ <cutdown>yes</cutdown>
+@@ -329,7 +333,7 @@
+ <font>basesmallverylightgrey</font>
+ <font state="disabled">basesmalllightgrey</font>
+ <font state="error">basesmallred</font>
+- <font state="warning">basesmallyellow</font>
++ <font state="warning">basesmallorange</font>
+ <font state="normal">basesmallverylightgrey</font>
+ <font state="running">basesmallgreen</font>
+ <cutdown>yes</cutdown>
+@@ -392,9 +396,10 @@
+
+ <!-- Base heading definition. -->
+ <textarea name="base_heading">
+- <area>0,0,1280,22</area>
++ <area>486,0,308,22</area>
+ <font>baseextrasmall</font>
+ <align>allcenter</align>
++ <scroll direction="horizontal" />
+ <value>Heading</value>
+ </textarea>
+
+@@ -411,7 +416,7 @@
+ <area>283,436,50,11</area>
+ <type>roundbox</type>
+ <fill color="#000000" alpha="200" />
+- <cornerradius>90</cornerradius>
++ <cornerradius>5</cornerradius>
+ </shape>
+
+ <shape name="base_backdrop_line">
+@@ -424,7 +429,7 @@
+
+ <!-- Base definition of a base popup backdrop -->
+ <shape name="base_popup_backdrop" from="base_backdrop">
+- <fill color="#000000" alpha="255" />
++ <fill color="#000000" alpha="235" />
+ </shape>
+
+ <!-- Base definition of a heading group -->
+@@ -481,7 +486,7 @@
+
+ <!-- Base denfinition of a clock -->
+ <clock name="base_clock">
+- <area>494,698,292,22</area>
++ <area>486,698,308,22</area>
+ <font>baseextrasmall</font>
+ <template>%DATE%, %TIME%</template>
+ <align>allcenter</align>
+@@ -535,10 +540,10 @@
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="50">
+- <stop position="0" color="#d6d6d6" />
+- <stop position="25" color="#d6d6d6" alpha="255" />
+- <stop position="50" color="#d6d6d6" />
+- <stop position="100" color="#d6d6d6" />
++ <stop position="0" color="#0072bc" />
++ <stop position="25" color="#0072bc" alpha="255" />
++ <stop position="50" color="#0072bc" />
++ <stop position="100" color="#0072bc" />
+ </gradient>
+ </fill>
+ </shape>
+@@ -547,10 +552,10 @@
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="50">
+- <stop position="0" color="#d6d6d6" />
+- <stop position="50" color="#d6d6d6" />
+- <stop position="75" color="#d6d6d6" alpha="255"/>
+- <stop position="100" color="#d6d6d6" />
++ <stop position="0" color="#0072bc" />
++ <stop position="50" color="#0072bc" />
++ <stop position="75" color="#0072bc" alpha="255"/>
++ <stop position="100" color="#0072bc" />
+ </gradient>
+ </fill>
+ </shape>
+@@ -667,10 +672,10 @@
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="50">
+- <stop position="0" color="#d9d900" />
+- <stop position="25" color="#d9d900" alpha="255" />
+- <stop position="50" color="#d9d900" />
+- <stop position="100" color="#d9d900" />
++ <stop position="0" color="#d97616" />
++ <stop position="25" color="#d97616" alpha="255" />
++ <stop position="50" color="#d97616" />
++ <stop position="100" color="#d97616" />
+ </gradient>
+ </fill>
+ </shape>
+@@ -679,10 +684,10 @@
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="50">
+- <stop position="0" color="#d9d900" />
+- <stop position="50" color="#d9d900" />
+- <stop position="75" color="#d9d900" alpha="255"/>
+- <stop position="100" color="#d9d900" />
++ <stop position="0" color="#d97616" />
++ <stop position="50" color="#d97616" />
++ <stop position="75" color="#d97616" alpha="255"/>
++ <stop position="100" color="#d97616" />
+ </gradient>
+ </fill>
+ </shape>
+@@ -700,10 +705,10 @@
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="50">
+- <stop position="0" color="#d6d6d6" />
+- <stop position="25" color="#d6d6d6" alpha="255" />
+- <stop position="50" color="#d6d6d6" />
+- <stop position="100" color="#d6d6d6" />
++ <stop position="0" color="#0072bc" />
++ <stop position="25" color="#0072bc" alpha="255" />
++ <stop position="50" color="#0072bc" />
++ <stop position="100" color="#0072bc" />
+ </gradient>
+ </fill>
+ </shape>
+@@ -712,10 +717,10 @@
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="50">
+- <stop position="0" color="#d6d6d6" />
+- <stop position="50" color="#d6d6d6" />
+- <stop position="75" color="#d6d6d6" alpha="255"/>
+- <stop position="100" color="#d6d6d6" />
++ <stop position="0" color="#0072bc" />
++ <stop position="50" color="#0072bc" />
++ <stop position="75" color="#0072bc" alpha="255"/>
++ <stop position="100" color="#0072bc" />
+ </gradient>
+ </fill>
+ </shape>
+@@ -863,7 +868,7 @@
+ <type>roundbox</type>
+ <fill color="#1a1a1a" alpha="175" />
+ <line color="#454545" alpha="180" width="2" />
+- <cornerradius>90</cornerradius>
++ <cornerradius>5</cornerradius>
+ </shape>
+ <shape name="select_bar_top_highlight">
+ <area>0,0,100%,2</area>
+@@ -956,7 +961,7 @@
+ <type>roundbox</type>
+ <fill color="#333333" alpha="175" />
+ <line color="#454545" alpha="180" width="2" />
+- <cornerradius>90</cornerradius>
++ <cornerradius>5</cornerradius>
+ </shape>
+ </group>
+
+@@ -967,7 +972,7 @@
+ <type>roundbox</type>
+ <fill color="#1a1a1a" alpha="175" />
+ <line color="#454545" alpha="180" width="2" />
+- <cornerradius>90</cornerradius>
++ <cornerradius>5</cornerradius>
+ </shape>
+ <shape name="select_bar_top_highlight">
+ <area>0,0,100%,2</area>
+@@ -1060,7 +1065,7 @@
+ <type>roundbox</type>
+ <fill color="#333333" alpha="175" />
+ <line color="#454545" alpha="180" width="2" />
+- <cornerradius>90</cornerradius>
++ <cornerradius>5</cornerradius>
+ </shape>
+ </group>
+
+@@ -1071,7 +1076,7 @@
+ <type>roundbox</type>
+ <fill color="#1a1a1a" alpha="175" />
+ <line color="#454545" alpha="180" width="2" />
+- <cornerradius>90</cornerradius>
++ <cornerradius>5</cornerradius>
+ </shape>
+ <shape name="select_bar_top_highlight">
+ <area>0,0,100%,2</area>
+@@ -1164,7 +1169,7 @@
+ <type>roundbox</type>
+ <fill color="#1a1a1a" alpha="175" />
+ <line color="#454545" alpha="180" width="2" />
+- <cornerradius>90</cornerradius>
++ <cornerradius>5</cornerradius>
+ </shape>
+ </group>
+
+@@ -1233,7 +1238,7 @@
+ <type>roundbox</type>
+ <fill color="#333333" alpha="175" />
+ <line color="#454545" alpha="180" width="2" />
+- <cornerradius>90</cornerradius>
++ <cornerradius>5</cornerradius>
+ </shape>
+ </group>
+
+@@ -1455,7 +1460,7 @@
+ <area>0,0,100%,100%</area>
+ </group>
+ <textarea name="buttontext">
+- <font>basesmall</font>
++ <font>basesmallyellow</font>
+ </textarea>
+ </state>
+ <state name="selectedinactive" from="active">
+@@ -1564,6 +1569,9 @@
+ <group name="select_bar" from="base_select_bar_selectedinactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmall</font>
++ </textarea>
+ <imagetype name="buttonarrow">
+ <filename>images/lists_right_arrow.png</filename>
+ <alpha>0</alpha>
+@@ -1664,6 +1672,7 @@
+ </state>
+ </statetype>
+ <textarea name="buttontext" from="base_text_font_state_small">
++ <font state="normal">basesmallyellow</font>
+ </textarea>
+ <statetype name="buttoncheck">
+ <state type="off">
+@@ -1732,7 +1741,7 @@
+ <area>15,1,100%-15,100%</area>
+ <align>allcenter</align>
+ <font>basemedium</font>
+- <font state="selected">basemedium</font>
++ <font state="selected">basemediumyellow</font>
+ <font state="disabled">basemediumdarkgrey</font>
+ </textarea>
+ </state>
+@@ -1831,16 +1840,20 @@
+ <area>0,0,30,30</area>
+ <statetype name="checkstate">
+ <state type="off">
+- <imagetype name="background">
++ <imagetype name="mark">
+ <filename>images/unchecked.png</filename>
+ </imagetype>
+ </state>
+- <state type="half" />
+- <state type="full">
++ <state type="half">
+ <imagetype name="mark">
+ <filename>images/checked.png</filename>
+ </imagetype>
+ </state>
++ <state type="full">
++ <imagetype name="mark">
++ <filename>images/checked_selected.png</filename>
++ </imagetype>
++ </state>
+ </statetype>
+ <statetype name="background">
+ <state name="active" />
+@@ -1897,7 +1910,7 @@
+
+ <!-- Base definition of a spinbox -->
+ <spinbox name="base_spinbox">
+- <area>0,0,80,40</area>
++ <area>0,0,160,40</area>
+ <layout>horizontal</layout>
+ <statetype name="buttonitem">
+ <state name="active">
+@@ -1916,6 +1929,9 @@
+ <group name="select_bar" from="base_spinbox_select_bar_selectedactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
+ </state>
+ <state name="selectedinactive" from="active" />
+ <state name="disabled" from="active">
+@@ -1992,6 +2008,9 @@
+ <group name="select_bar" from="base_selector_select_bar_selectedactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
+ </state>
+ <state name="selectedinactive" from="active" />
+ <state name="disabled">
+@@ -2186,7 +2205,7 @@
+ </shape>
+
+ <shape name="popup-seperator-line" from="base_line">
+- <area>23,212,556,2</area>
++ <area>23,174,556,2</area>
+ </shape>
+
+ <shape name="popup-third-line" from="base_highlight_line">
+@@ -2202,23 +2221,23 @@
+ </shape>
+
+ <shape name="popup-arrows-backdrop" from="base_arrows_backdrop">
+- <area>3,488,50,13</area>
++ <area>549,488,50,13</area>
+ </shape>
+
+ <textarea name="messagearea" from="basetextarea">
+- <area>16,10,570,196</area>
+- <font>basesmalldarkyellow</font>
++ <area>16,10,570,158</area>
++ <font>basesmall</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
+
+ <buttonlist name="list" from="base_button_list">
+- <area>8,216,586,264</area>
++ <area>8,178,586,302</area>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,100%,34</area>
+ <textarea name="buttontext">
+- <area>8,0,586,34</area>
++ <area>8,0,570,34</area>
+ </textarea>
+ <imagetype name="buttonarrow">
+ <position>560,8</position>
+@@ -2227,7 +2246,8 @@
+ <state name="selectedactive">
+ <area>0,0,100%,34</area>
+ <textarea name="buttontext">
+- <area>8,0,586,34</area>
++ <area>8,0,570,34</area>
++ <scroll direction="horizontal" />
+ </textarea>
+ <imagetype name="buttonarrow">
+ <position>560,8</position>
+@@ -2236,7 +2256,7 @@
+ <state name="selectedinactive">
+ <area>0,0,100%,34</area>
+ <textarea name="buttontext">
+- <area>8,0,586,34</area>
++ <area>8,0,570,34</area>
+ </textarea>
+ <imagetype name="buttonarrow">
+ <position>560,8</position>
+@@ -2244,10 +2264,10 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>2,274</position>
++ <position>548,312</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>22,274</position>
++ <position>568,312</position>
+ </statetype>
+ </buttonlist>
+ </window>
+@@ -2299,7 +2319,7 @@
+ </shape>
+
+ <shape name="large-dialogbox-arrows-backdrop" from="base_arrows_backdrop">
+- <area>3,488,50,13</area>
++ <area>761,488,50,13</area>
+ </shape>
+
+ <textarea name="messagearea" from="basetextarea">
+@@ -2332,10 +2352,10 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>2,198</position>
++ <position>762,198</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>22,198</position>
++ <position>782,198</position>
+ </statetype>
+ </buttonlist>
+ </window>
+@@ -2486,7 +2506,7 @@
+
+ <textarea name="message" from="basetextarea">
+ <area>8,8,571,127</area>
+- <font>basesmalldarkyellow</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ <cutdown>no</cutdown>
+@@ -2501,6 +2521,7 @@
+ <area>338,151,150,35</area>
+ <value>OK</value>
+ </button>
++
+ </window>
+
+ <!-- Popup search dialog used to search button lists -->
+@@ -2630,12 +2651,12 @@
+
+ <textarea name="message" from="basetextarea">
+ <area>10,14,567,36</area>
+- <font>basesmalldarkyellow</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textedit name="input" from="base_textedit">
+- <area>150,62,287,40</area>
++ <area>50,62,487,40</area>
+ </textedit>
+
+ <button name="ok" from="base_button">
+@@ -2708,6 +2729,63 @@
+
+ </window>
+
++ <window name="MythSpinBoxDialog">
++ <area>-1,-1,587,178</area>
++
++ <animation trigger="AboutToShow">
++ <section>
++ <alpha start="0" end="255" easingcurve="OutQuart"/>
++ <zoom start="0" end="100" easingcurve="OutQuart"/>
++ </section>
++ </animation>
++
++ <animation trigger="AboutToHide">
++ <section>
++ <alpha start="255" end="0" easingcurve="InQuart"/>
++ <zoom start="100" end="0" easingcurve="InQuart"/>
++ </section>
++ </animation>
++
++ <shape name="Myth-spinbox-backdrop" from="base_popup_backdrop">
++ <area>0,0,587,178</area>
++ </shape>
++
++ <shape name="Myth-spinbox-backdrop-line" from="base_backdrop_line">
++ <area>1,1,585,176</area>
++ </shape>
++
++ <shape name="Myth-spinbox-dialog-top-line" from="base_highlight_line">
++ <area>2,2,583,2</area>
++ </shape>
++
++ <shape name="Myth-spinbox-dialog-bottom-line" from="base_highlight_line">
++ <area>2,174,583,2</area>
++ </shape>
++
++ <shape name="Myth-spinbox-dialog-left-line" from="base_highlight_vertical_line">
++ <area>2,4,2,170</area>
++ </shape>
++
++ <shape name="Myth-spinbox-dialog-right-line" from="base_highlight_vertical_line">
++ <area>583,4,2,170</area>
++ </shape>
++
++ <textarea name="message" from="basetextarea">
++ <area>10,14,567,36</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <spinbox name="input" from="base_spinbox">
++ <position>213,62</position>
++ </spinbox>
++
++ <button name="ok" from="base_button">
++ <area>218,124,150,35</area>
++ <value>OK</value>
++ </button>
++ </window>
++
+ <window name="MythSearchDialog">
+ <area>-1,-1,602,488</area>
+
+@@ -2795,10 +2873,10 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>0,272</position>
++ <position>550,272</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>20,272</position>
++ <position>570,272</position>
+ </statetype>
+ </buttonlist>
+
+@@ -2813,13 +2891,84 @@
+ </button>
+ </window>
+
++ <!-- Popup dialog to enter into a spin box -->
++ <window name="SpinBoxEntryDialog">
++ <area>-1,-1,587,178</area>
++
++ <animation trigger="AboutToShow">
++ <section>
++ <alpha start="0" end="255" easingcurve="OutQuart"/>
++ <zoom start="0" end="100" easingcurve="OutQuart"/>
++ </section>
++ </animation>
++
++ <animation trigger="AboutToHide">
++ <section>
++ <alpha start="255" end="0" easingcurve="InQuart"/>
++ <zoom start="100" end="0" easingcurve="InQuart"/>
++ </section>
++ </animation>
++
++ <shape name="spinbox-entry-backdrop" from="base_popup_backdrop">
++ <area>0,0,587,178</area>
++ </shape>
++
++ <shape name="spinbox-entry-backdrop-line" from="base_backdrop_line">
++ <area>1,1,585,176</area>
++ </shape>
++
++ <shape name="spinbox-entry-dialog-top-line" from="base_highlight_line">
++ <area>2,2,583,2</area>
++ </shape>
++
++ <shape name="spinbox-entry-dialog-bottom-line" from="base_highlight_line">
++ <area>2,174,583,2</area>
++ </shape>
++
++ <shape name="spinbox-entry-dialog-left-line" from="base_highlight_vertical_line">
++ <area>2,4,2,170</area>
++ </shape>
++
++ <shape name="spinbox-entry-dialog-right-line" from="base_highlight_vertical_line">
++ <area>583,4,2,170</area>
++ </shape>
++<!--
++ <textarea name="title" from="basetextarea">
++ <area>10,14,567,36</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ <value>Enter a value:</value>
++ </textarea>
++-->
++ <textarea name="rules" from="basetextarea">
++ <area>10,14,567,36</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ <template>Enter %LOW% to %HIGH% in increments of %STEP%:</template>
++ </textarea>
++
++ <textedit name="entry" from="base_textedit">
++ <area>50,62,487,40</area>
++ </textedit>
++<!--
++ <button name="cancel" from="base_button">
++ <area>50,124,150,35</area>
++ <value>Cancel</value>
++ </button>
++-->
++ <button name="ok" from="base_button">
++ <area>218,124,150,35</area>
++ <value>OK</value>
++ </button>
++ </window>
++
+ <window name="MythFileBrowser">
+ <area>0,0,1280,720</area>
+
+ <group name="fanart-group" from="base_fanart_group" />
+
+ <textarea name="heading" from="base_heading">
+- <value>FileBrowser</value>
++ <value>File Browser</value>
+ </textarea>
+
+ <shape name="fullpath-backdrop" from="base_backdrop">
+@@ -2836,87 +2985,85 @@
+ </shape>
+
+ <shape name="file-browser-preview-backdrop" from="base_backdrop">
+- <area>20,92,615,592</area>
++ <area>645,92,615,592</area>
+ </shape>
+
+ <shape name="file-browser-preview-backdrop-line" from="base_backdrop_line">
+- <area>21,93,613,590</area>
++ <area>646,93,613,590</area>
+ </shape>
+
+ <shape name="file-browser-preview-top-line" from="base_highlight_line">
+- <area>22,94,611,2</area>
++ <area>647,94,611,2</area>
+ </shape>
+
+ <shape name="file-browser-preview-bottom-line" from="base_highlight_line">
+- <area>22,680,611,2</area>
++ <area>647,680,611,2</area>
+ </shape>
+
+ <shape name="file-browser-preview-left-line" from="base_highlight_vertical_line">
+- <area>22,96,2,584</area>
++ <area>647,96,2,584</area>
+ </shape>
+
+ <shape name="file-browser-preview-right-line" from="base_highlight_vertical_line">
+- <area>631,96,2,584</area>
++ <area>1256,96,2,584</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-line" from="base_backdrop_line">
+- <area>42,158,571,324</area>
++ <area>667,107,571,324</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-top-line" from="base_highlight_line">
+- <area>43,159,569,2</area>
++ <area>668,108,569,2</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-bottom-line" from="base_highlight_line">
+- <area>43,479,569,2</area>
++ <area>668,428,569,2</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-left-line" from="base_highlight_vertical_line">
+- <area>43,161,2,318</area>
++ <area>668,110,2,318</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-right-line" from="base_highlight_vertical_line">
+- <area>610,161,2,318</area>
++ <area>1235,110,2,318</area>
+ </shape>
+
+ <shape name="file-browser-backdrop" from="base_backdrop">
+- <area>645,92,615,592</area>
++ <area>20,92,615,592</area>
+ </shape>
+
+ <shape name="file-browser-backdrop-line" from="base_backdrop_line">
+- <area>646,93,613,590</area>
++ <area>21,93,613,590</area>
+ </shape>
+
+ <shape name="file-browser-top-line" from="base_highlight_line">
+- <area>647,94,611,2</area>
++ <area>22,94,611,2</area>
+ </shape>
+
+ <shape name="file-browser-bottom-line" from="base_highlight_line">
+- <area>647,680,611,2</area>
++ <area>22,680,611,2</area>
+ </shape>
+
+ <shape name="file-browser-left-line" from="base_highlight_vertical_line">
+- <area>647,96,2,584</area>
++ <area>22,96,2,584</area>
+ </shape>
+
+ <shape name="file-browser-right-line" from="base_highlight_vertical_line">
+- <area>1256,96,2,584</area>
++ <area>631,96,2,584</area>
+ </shape>
+
+ <shape name="file-browser-arrows-backdrop" from="base_arrows_backdrop">
+- <area>1207,684,50,10</area>
++ <area>582,684,50,10</area>
+ </shape>
+
+ <textarea name="fullpath" from="basetextarea">
+- <area>24,39,1224,37</area>
+ <cutdown>yes</cutdown>
+- <font>basesmallblue</font>
+- <align>allcenter</align>
+- <value>Filename</value>
++ <font>basesmall</font>
++ <align>allcenter</align>
+ </textarea>
+
+ <buttonlist name="filelist" from="base_list">
+- <area>653,100,599,578</area>
++ <area>28,100,599,578</area>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,599,54</area>
+@@ -3029,52 +3176,53 @@
+ </buttonlist>
+
+ <textedit name="location" from="base_textedit">
+- <area>40,107,575,40</area>
++ <area>665,446,575,40</area>
+ </textedit>
+
+ <imagetype name="no_preview">
+- <area>46,161,563,318</area>
++ <area>671,110,563,318</area>
+ <filename>images/file_browser_no_preview.png</filename>
+ <mask>images/masks/file_browser_preview_mask.png</mask>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+
+ <imagetype name="preview">
+- <area>46,161,563,318</area>
++ <area>671,110,563,318</area>
+ <mask>images/masks/file_browser_preview_mask.png</mask>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+
+ <button name="back" from="base_button">
+- <area>252,493,150,35</area>
++ <area>750,560,150,35</area>
+ <value>Up Level</value>
+ </button>
+
+ <button name="home" from="base_button">
+- <area>252,540,150,35</area>
++ <area>1005,560,150,35</area>
+ <value>Home</value>
+ </button>
+
+ <button name="cancel" from="base_button">
+- <area>252,587,150,35</area>
++ <area>750,630,150,35</area>
+ <value>Cancel</value>
+ </button>
+
+ <button name="ok" from="base_button">
+- <area>252,634,150,35</area>
++ <area>1005,630,150,35</area>
+ <value>OK</value>
+ </button>
+
+ <textarea name="info_label" from="basetextarea">
+- <area>408,554,221,24</area>
+- <align>allcenter</align>
++ <area>865,501,80,24</area>
++ <font>basesmaller</font>
++ <align>right</align>
+ <value>File Size:</value>
+ </textarea>
+
+ <textarea name="info" from="basetextarea">
+- <area>408,584,221,24</area>
+- <font>baseevensmallerblue</font>
+- <align>allcenter</align>
++ <area>955,501,100,24</area>
++ <font>basesmaller</font>
++ <align>left</align>
+ </textarea>
+
+ <group name="clock-backdrop-group" from="base_clock_backdrop_group" />
+@@ -3114,7 +3262,7 @@
+ <area>14,4,552,92</area>
+ <font>basesmalldarkyellow</font>
+ <align>hcenter,bottom</align>
+- <value>Please Wait...</value>
++ <value>Starting Playback...</value>
+ </textarea>
+
+ <progressbar name="progress" from="baseprogressbar">
diff --git a/linhes/linhes-theme/blank_coverart.png b/linhes/linhes-theme/blank_coverart.png
new file mode 100644
index 0000000..c44148e
--- /dev/null
+++ b/linhes/linhes-theme/blank_coverart.png
Binary files differ
diff --git a/linhes/linhes-theme/browser-ui.xml.patch b/linhes/linhes-theme/browser-ui.xml.patch
new file mode 100644
index 0000000..4fc4d0e
--- /dev/null
+++ b/linhes/linhes-theme/browser-ui.xml.patch
@@ -0,0 +1,69 @@
+--- browser-ui.xml.orig 2017-10-26 18:22:20.964735039 +0000
++++ browser-ui.xml 2017-10-26 18:22:03.746982358 +0000
+@@ -322,7 +322,7 @@
+
+ <textarea name="description" from="basetextarea">
+ <area>239,468,802,145</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
+@@ -411,40 +411,50 @@
+ </textarea>
+
+ <textarea name="categorylabel" from="basetextarea">
+- <area>78,101,104,40</area>
++ <area>30,101,120,40</area>
+ <align>right,vcenter</align>
+ <value>Category:</value>
+ </textarea>
+
+ <textedit name="category" from="base_textedit">
+- <area>192,101,287,40</area>
++ <area>160,101,406,40</area>
+ </textedit>
+
+ <button name="findcategory" from="base_button">
+ <area>586,101,150,40</area>
+- <value>Find</value>
++ <value>Find...</value>
+ </button>
+
+ <textarea name="namelabel" from="basetextarea">
+- <area>50,203,100,40</area>
++ <area>50,169,100,40</area>
+ <align>right,vcenter</align>
+ <value>Name:</value>
+ </textarea>
+
+ <textedit name="name" from="base_textedit">
+- <area>160,203,580,40</area>
++ <area>160,169,580,40</area>
+ </textedit>
+
+ <textarea name="urllabel" from="basetextarea">
+- <area>50,305,100,40</area>
++ <area>50,237,100,40</area>
+ <align>right,vcenter</align>
+ <value>URL:</value>
+ </textarea>
+
+ <textedit name="url" from="base_textedit">
+- <area>160,305,580,40</area>
++ <area>160,237,580,40</area>
+ </textedit>
+
++ <textarea name="homepagelabel" from="basetextarea">
++ <area>30,305,120,40</area>
++ <align>right,vcenter</align>
++ <value>Homepage:</value>
++ </textarea>
++
++ <checkbox name="homepage" from="base_checkbox">
++ <position>160,310</position>
++ </checkbox>
++
+ <button name="cancel" from="base_button">
+ <area>38,443,350,40</area>
+ <value>Cancel</value>
diff --git a/linhes/linhes-theme/bubble_background.png b/linhes/linhes-theme/bubble_background.png
new file mode 100644
index 0000000..28d83f1
--- /dev/null
+++ b/linhes/linhes-theme/bubble_background.png
Binary files differ
diff --git a/linhes/linhes-theme/checkmark.png b/linhes/linhes-theme/checkmark.png
new file mode 100644
index 0000000..0c8ba2d
--- /dev/null
+++ b/linhes/linhes-theme/checkmark.png
Binary files differ
diff --git a/linhes/linhes-theme/config-ui.xml.patch b/linhes/linhes-theme/config-ui.xml.patch
new file mode 100644
index 0000000..6203f79
--- /dev/null
+++ b/linhes/linhes-theme/config-ui.xml.patch
@@ -0,0 +1,673 @@
+--- config-ui.xml.orig 2018-04-17 14:44:54.355990144 +0000
++++ config-ui.xml 2018-04-17 21:15:29.208674746 +0000
+@@ -151,7 +151,7 @@
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+- <value>Edit Channels</value>
++ <value>Channel Editor</value>
+ </textarea>
+
+ <shape name="edit-channels-top-backdrop" from="base_backdrop">
+@@ -261,13 +261,7 @@
+ <align>right,vcenter</align>
+ </textarea>
+ </state>
+- <state name="selectedinactive" from="selectedactive">
+- <group name="select_bar" from="base_select_bar_selectedinactive_group">
+- <area>0,0,100%,100%</area>
+- <shape name="select_bar_bottom_highlight">
+- <area>0,70,100%,2</area>
+- </shape>
+- </group>
++ <state name="selectedinactive" from="active">
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+@@ -301,7 +295,7 @@
+ </textarea>
+
+ <buttonlist name="sorting" from="base_selector">
+- <area>415,460,580,40</area>
++ <area>415,460,560,40</area>
+ </buttonlist>
+
+ <textarea name="sourcelabel" from="sortlabel">
+@@ -310,21 +304,21 @@
+ </textarea>
+
+ <buttonlist name="source" from="sorting">
+- <area>415,515,580,40</area>
++ <area>415,515,560,40</area>
+ </buttonlist>
+
+ <button name="delete" from="base_button">
+- <area>1030,517,150,35</area>
+- <value>Delete</value>
++ <area>1010,517,200,35</area>
++ <value>Delete Source</value>
+ </button>
+
+- <textarea name="nochannumlabel" from="basetextarea">
+- <area>450,575,500,60</area>
+- <value>Hide Channels without channel number.</value>
++ <textarea name="nochannumlabel" from="sortlabel">
++ <area>245,575,425,30</area>
++ <value>Hide Channels Without Channel Number:</value>
+ </textarea>
+
+ <checkbox name="nochannum" from="base_checkbox">
+- <position>410,572</position>
++ <position>685,575</position>
+ </checkbox>
+
+ <button name="scan" from="base_button">
+@@ -645,7 +639,7 @@
+ <textarea name="helptext" from="basetextarea">
+ <area>231,372,818,227</area>
+ <multiline>yes</multiline>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -734,7 +728,7 @@
+ <textarea name="helptext" from="basetextarea">
+ <area>231,372,818,227</area>
+ <multiline>yes</multiline>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -901,7 +895,7 @@
+ <textarea name="helptext" from="basetextarea">
+ <area>233,488,814,111</area>
+ <multiline>yes</multiline>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -1000,7 +994,7 @@
+ <textarea name="helptext" from="basetextarea">
+ <area>231,372,818,227</area>
+ <multiline>yes</multiline>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -1016,4 +1010,572 @@
+
+ </window>
+
++ <window name="backendselection">
++
++ <textarea name="heading" from="base_heading">
++ <value>MythTV Servers</value>
++ </textarea>
++
++ <shape name="beconnect-backdrop" from="base_backdrop">
++ <area>115,36,1050,649</area>
++ </shape>
++
++ <shape name="beconnect-backdrop-line" from="base_backdrop_line">
++ <area>116,37,1048,500</area>
++ </shape>
++
++ <shape name="beconnect-top-line" from="base_highlight_line">
++ <area>117,38,1046,2</area>
++ </shape>
++
++ <shape name="beconnect-bottom-line" from="base_highlight_line">
++ <area>117,534,1046,2</area>
++ </shape>
++
++ <shape name="beconnect-left-line" from="base_highlight_vertical_line">
++ <area>117,40,2,494</area>
++ </shape>
++
++ <shape name="beconnect-right-line" from="base_highlight_vertical_line">
++ <area>1161,40,2,494</area>
++ </shape>
++
++ <shape name="beconnect-bottom-backdrop-line" from="base_backdrop_line">
++ <area>116,547,1048,137</area>
++ </shape>
++
++ <shape name="beconnect-bottom-top-line" from="base_highlight_line">
++ <area>117,548,1046,2</area>
++ </shape>
++
++ <shape name="beconnect-bottom-bottom-line" from="base_highlight_line">
++ <area>117,681,1046,2</area>
++ </shape>
++
++ <shape name="beconnect-bottom-left-line" from="base_highlight_vertical_line">
++ <area>117,550,2,131</area>
++ </shape>
++
++ <shape name="beconnect-bottom-right-line" from="base_highlight_vertical_line">
++ <area>1161,550,2,131</area>
++ </shape>
++
++ <shape name="beconnect-bottom-seperator-first-line" from="base_line">
++ <area>138,620,1004,2</area>
++ </shape>
++
++ <buttonlist name="backends" from="base_list_state">
++ <area>123,44,1034,494</area>
++ <statetype name="buttonitem">
++ <state name="active">
++ <area>0,0,1034,30</area>
++ <group name="select_bar" from="base_select_bar_active_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ <textarea name="buttontext" from="basetextarea">
++ <area>8,0,420,100%</area>
++ <align>left,vcenter</align>
++ </textarea>
++ <textarea name="modelname" from="buttontext" /> <!-- Workaround for vanishing buttontext bug -->
++ <textarea name="protocollabel" from="buttontext" depends="protocolversion">
++ <area>432,0,100,100%</area>
++ <cutdown>yes</cutdown>
++ <align>right,vcenter</align>
++ <value>Protocol:</value>
++ <font>basesmallerblue</font>
++ </textarea>
++ <textarea name="protocolversion" from="buttontext">
++ <area>538,0,50,100%</area>
++ <cutdown>yes</cutdown>
++ <align>left,vcenter</align>
++ <font>basesmaller</font>
++ </textarea>
++ <textarea name="versionlabel" from="protocollabel" depends="version">
++ <area>596,0,100,100%</area>
++ <value>Version:</value>
++ </textarea>
++ <textarea name="version" from="protocolversion">
++ <area>704,0,242,100%</area>
++ </textarea>
++ <statetype name="connection">
++ <area>8,0,100%-8,100%</area>
++ <state name="good">
++ <area>0,0,100%,100%</area>
++ </state>
++ <state name="protocolmismatch">
++ <area>0,0,100%,100%</area>
++ <textarea name="description">
++ <area>0,0,100%,100%</area>
++ <align>allcenter</align>
++ <value>Version Mismatch Between Client and Server</value>
++ <font>basesmallred</font>
++ </textarea>
++ </state>
++ <state name="blocked" from="protocolmismatch">
++ <textarea name="description">
++ <area>0,0,100%,100%</area>
++ <align>allcenter</align>
++ <value>Firewall is Blocking the Server</value>
++ <font>basesmallred</font>
++ </textarea>
++ </state>
++ </statetype>
++ <statetype name="securitypin">
++ <area>946,0,80,100%</area>
++ <state name="yes">
++ <area>0,0,80,100%</area>
++ <textarea name="description">
++ <area>0,0,80,100%</area>
++ <align>allcenter</align>
++ <value>LOCKED</value>
++ <font>basesupersmallred</font>
++ </textarea>
++ </state>
++ <state name="no" from="yes">
++ <textarea name="description">
++ <value>UNLOCKED</value>
++ <font>basesupersmallgreen</font>
++ </textarea>
++ </state>
++ </statetype>
++ </state>
++ <state name="inactive" from="active" />
++ <state name="selectedactive" from="active">
++ <area>0,0,1034,64</area>
++ <group name="select_bar" from="base_select_bar_selectedactive_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ <textarea name="buttontext" from="basetextarea">
++ <area>8,0,420,100%</area>
++ <align>left,vcenter</align>
++ <font>basesmallyellow</font>
++ </textarea>
++ <textarea name="modelname" from="buttontext" /> <!-- Workaround for vanishing buttontext bug -->
++ <textarea name="protocolversion" from="buttontext">
++ <area>538,0,50,100%</area>
++ <cutdown>yes</cutdown>
++ <align>left,vcenter</align>
++ <font>basesmalleryellow</font>
++ </textarea>
++ <textarea name="version" from="protocolversion">
++ <area>704,0,242,100%</area>
++ </textarea>
++ </state>
++ <state name="selectedinactive" from="selectedactive">
++ <group name="select_bar" from="base_select_bar_selectedinactive_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ </state>
++ </statetype>
++ <statetype name="upscrollarrow">
++ <position>998,494</position>
++ </statetype>
++ <statetype name="downscrollarrow">
++ <position>1018,494</position>
++ </statetype>
++ <helptext>Select a server.</helptext>
++ </buttonlist>
++
++ <textarea name="helptext" from="basetextarea">
++ <area>139,552,1003,66</area>
++ <font>basesmaller</font>
++ <cutdown>yes</cutdown>
++ <align>allcenter</align>
++ <multiline>yes</multiline>
++ </textarea>
++ <button name="cancel" from="base_button">
++ <area>265,632,150,40</area>
++ <value>Cancel</value>
++ <helptext>Close without saving the selected server.</helptext>
++ </button>
++ <button name="manual" from="base_button">
++ <area>565,632,150,40</area>
++ <value>Manual</value>
++ <helptext>Manually select a server.</helptext>
++ </button>
++ <button name="save" from="base_button">
++ <area>865,632,150,40</area>
++ <value>Save</value>
++ <helptext>Save the selected server.</helptext>
++ </button>
++ </window>
++
++ <window name="guistartup">
++
++ <textarea name="heading" from="base_heading">
++ <value>MythTV Startup Status</value>
++ </textarea>
++
++ <shape name="startup-backdrop" from="base_backdrop">
++ <area>115,36,1050,649</area>
++ </shape>
++
++ <shape name="startup-backdrop-line" from="base_backdrop_line">
++ <area>116,37,1048,506</area>
++ </shape>
++
++ <shape name="startup-top-line" from="base_highlight_line">
++ <area>117,38,1046,2</area>
++ </shape>
++
++ <shape name="startup-bottom-line" from="base_highlight_line">
++ <area>117,540,1046,2</area>
++ </shape>
++
++ <shape name="startup-left-line" from="base_highlight_vertical_line">
++ <area>117,40,2,500</area>
++ </shape>
++
++ <shape name="startup-right-line" from="base_highlight_vertical_line">
++ <area>1161,40,2,500</area>
++ </shape>
++
++ <shape name="startup-bottom-backdrop-line" from="base_backdrop_line">
++ <area>116,547,1048,137</area>
++ </shape>
++
++ <shape name="startup-bottom-top-line" from="base_highlight_line">
++ <area>117,548,1046,2</area>
++ </shape>
++
++ <shape name="startup-bottom-bottom-line" from="base_highlight_line">
++ <area>117,681,1046,2</area>
++ </shape>
++
++ <shape name="startup-bottom-left-line" from="base_highlight_vertical_line">
++ <area>117,550,2,131</area>
++ </shape>
++
++ <shape name="startup-bottom-right-line" from="base_highlight_vertical_line">
++ <area>1161,550,2,131</area>
++ </shape>
++
++ <shape name="startup-bottom-seperator-first-line" from="base_line">
++ <area>138,620,1004,2</area>
++ </shape>
++
++ <progressbar name="progress" from="baseprogressbar">
++ <position>372,214</position>
++ </progressbar>
++
++ <statetype name="statusstate">
++ <area>129,255,1022,40</area>
++ <state name="start">
++ <area>0,0,1022,40</area>
++ <textarea name="status" from="basetextarea">
++ <area>0,0,1022,40</area>
++ <font>basemedium</font>
++ <align>allcenter</align>
++ <value>Waking up Database Machine</value>
++ <multiline>true</multiline>
++ </textarea>
++ </state>
++ <state name="startFail" from="start">
++ <textarea name="status">
++ <value>Database Machine Failed to Wake Up</value>
++ </textarea>
++ </state>
++ <state name="dbAwake" from="start">
++ <textarea name="status">
++ <value>Waiting for Database to Start</value>
++ </textarea>
++ </state>
++ <state name="dbAwakeFail" from="start">
++ <textarea name="status">
++ <value>Database Failed to Start</value>
++ </textarea>
++ </state>
++ <state name="dbStarted" from="start">
++ <textarea name="status">
++ <value>Attempting to Connect to Database</value>
++ </textarea>
++ </state>
++ <state name="dbStartedFail" from="start">
++ <textarea name="status">
++ <value>Unable to Connect to Database</value>
++ </textarea>
++ </state>
++ <state name="beWOL" from="start">
++ <textarea name="status">
++ <value>Attempting to Wake Master Backend</value>
++ </textarea>
++ </state>
++ <state name="beWOLFail" from="start">
++ <textarea name="status">
++ <value>Master Backend Failed to Wake</value>
++ </textarea>
++ </state>
++ <state name="beAwake" from="start">
++ <textarea name="status">
++ <value>Attempting to Connect to Master Backend</value>
++ </textarea>
++ </state>
++ <state name="beAwakeFail" from="start">
++ <textarea name="status">
++ <value>Unable to Connect to Master Backend</value>
++ </textarea>
++ </state>
++ </statetype>
++
++ <statetype name="messagestate">
++ <area>129,316,1022,40</area>
++ <state name="makeselection">
++ <area>0,0,100%,100%</area>
++ <textarea name="message" from="basetextarea">
++ <area>0,0,100%,100%</area>
++ <font>basemedium</font>
++ <align>allcenter</align>
++ <value></value>
++ <multiline>true</multiline>
++ </textarea>
++ </state>
++ <state name="empty" from="makeselection">
++ <textarea name="message">
++ <value></value>
++ </textarea>
++ </state>
++ </statetype>
++
++ <textarea name="helptext" from="basetextarea">
++ <area>139,552,1003,66</area>
++ <font>basesmaller</font>
++ <cutdown>yes</cutdown>
++ <align>allcenter</align>
++ <multiline>yes</multiline>
++ </textarea>
++
++ <button name="dummy" from="base_button">
++ <area>0%,80%,0,0</area>
++ <value></value>
++ <helptext></helptext>
++ </button>
++
++ <button name="retry" from="base_button">
++ <area>205,632,150,40</area>
++ <value>Retry</value>
++ <helptext>Try again to establish connections.</helptext>
++ </button>
++
++ <button name="search" from="base_button">
++ <area>445,632,150,40</area>
++ <value>Search</value>
++ <helptext>Search the local network for the MythTV Backend.</helptext>
++ </button>
++
++ <button name="setup" from="base_button">
++ <area>685,632,150,40</area>
++ <value>Setup</value>
++ <helptext>Use Database setup to enter database parameters.</helptext>
++ </button>
++
++ <button name="exit" from="base_button">
++ <area>925,632,150,40</area>
++ <value>Exit</value>
++ <helptext>Exit from MythTV.</helptext>
++ </button>
++ </window>
++
++ <window name="channelscanner">
++ <area>0,0,1280,720</area>
++
++ <textarea name="heading" from="base_heading">
++ <value>Channel Scanner</value>
++ </textarea>
++
++ <shape name="status-backdrop" from="base_backdrop">
++ <area>0,37,1280,44</area>
++ <type>box</type>
++ </shape>
++
++ <shape name="status-top-line" from="base_line">
++ <area>0,38,1280,2</area>
++ </shape>
++
++ <shape name="status-bottom-line" from="base_line">
++ <area>0,77,1280,2</area>
++ </shape>
++
++ <shape name="scanner-progress-backdrop" from="base_backdrop">
++ <area>645,92,615,592</area>
++ </shape>
++
++ <shape name="scanner-progress-backdrop-line" from="base_backdrop_line">
++ <area>646,93,613,590</area>
++ </shape>
++
++ <shape name="scanner-progress-top-line" from="base_highlight_line">
++ <area>647,94,611,2</area>
++ </shape>
++
++ <shape name="scanner-progress-bottom-line" from="base_highlight_line">
++ <area>647,680,611,2</area>
++ </shape>
++
++ <shape name="scanner-progress-left-line" from="base_highlight_vertical_line">
++ <area>647,96,2,584</area>
++ </shape>
++
++ <shape name="scanner-progress-right-line" from="base_highlight_vertical_line">
++ <area>1256,96,2,584</area>
++ </shape>
++
++ <shape name="scanner-channels-backdrop" from="base_backdrop">
++ <area>20,92,615,592</area>
++ </shape>
++
++ <shape name="scanner-channels-backdrop-line" from="base_backdrop_line">
++ <area>21,93,613,590</area>
++ </shape>
++
++ <shape name="scanner-channels-top-line" from="base_highlight_line">
++ <area>22,94,611,2</area>
++ </shape>
++
++ <shape name="scanner-channels-bottom-line" from="base_highlight_line">
++ <area>22,680,611,2</area>
++ </shape>
++
++ <shape name="scanner-channels-left-line" from="base_highlight_vertical_line">
++ <area>22,96,2,584</area>
++ </shape>
++
++ <shape name="scanner-channels-right-line" from="base_highlight_vertical_line">
++ <area>631,96,2,584</area>
++ </shape>
++
++ <shape name="scanner-channels-arrows-backdrop" from="base_arrows_backdrop">
++ <area>1207,684,50,10</area>
++ </shape>
++
++ <textarea name="status">
++ <area>265,39,460,40</area>
++ <font>basesmall</font>
++ <align>right,vcenter</align>
++ <template>%1</template>
++ </textarea>
++
++ <textarea name="signallock" from="status">
++ <area>735,39,300,40</area>
++ <align>left,vcenter</align>
++ <template>[%1]</template>
++ </textarea>
++
++ <textarea name="scanprogresstext" from="status">
++ <area>945,39,300,40</area>
++ <template>Channels%1</template>
++ </textarea>
++
++ <textarea name="progress_label">
++ <area>60,190,535,30</area>
++ <font>basesmall</font>
++ <align>left,vcenter</align>
++ <value>Scan Progress</value>
++ </textarea>
++
++ <textarea name="progresstext" from="progress_label">
++ <area>60,240,535,30</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <progressbar name="scanprogress" from="baseprogressbar">
++ <position>60,225</position>
++ </progressbar>
++
++ <group name="noisegroup" depends="signalnoise">
++ <area>60,300,535,200</area>
++ <textarea name="signalnoise_label">
++ <area>0,0,100%,30</area>
++ <align>left,vcenter</align>
++ <font>basesmall</font>
++ <value>Signal/Noise</value>
++ </textarea>
++ <textarea name="signalnoisetext">
++ <area>0,50,100%,30</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++ <progressbar name="signalnoise" from="smallprogressbar">
++ <position>0,35</position>
++ </progressbar>
++ </group>
++
++ <group name="strengthgroup" depends="signalstrength">
++ <area>60,400,535,200</area>
++ <textarea name="signalstrength_label">
++ <area>0,0,100%,30</area>
++ <align>left,vcenter</align>
++ <font>basesmall</font>
++ <value>Signal Strength</value>
++ </textarea>
++ <textarea name="signalstrengthtext">
++ <area>0,50,100%,30</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++ <progressbar name="signalstrength" from="smallprogressbar">
++ <position>0,35</position>
++ </progressbar>
++ </group>
++
++ <group name="rotatorgroup" depends="rotorprogress">
++ <area>60,500,535,200</area>
++ <textarea name="rotorprogress_label">
++ <area>0,0,100%,30</area>
++ <align>left,vcenter</align>
++ <font>basesmall</font>
++ <value>Rotor Movement</value>
++ </textarea>
++ <textarea name="rotatorprogresstext">
++ <area>0,50,100%,30</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++ <progressbar name="rotorprogress" from="smallprogressbar">
++ <position>0,35</position>
++ </progressbar>
++ </group>
++
++ <buttonlist name="log" from="base_list">
++ <area>653,100,599,578</area>
++ <statetype name="buttonitem">
++ <state name="active">
++ <area>0,0,599,54</area>
++ <textarea name="buttontext">
++ <area>0,0,100%,100%</area>
++ <font>basesmaller</font>
++ <multiline>yes</multiline>
++ <align>allcenter</align>
++ </textarea>
++ </state>
++ <state name="selectedactive" from="active">
++ <area>0,0,599,112</area>
++ <group name="select_bar" from="base_select_bar_selectedactive_group">
++ <area>0,0,100%,100%</area>
++ <shape name="select_bar_bottom_highlight">
++ <area>0,110,100%,2</area>
++ </shape>
++ </group>
++ <textarea name="buttontext">
++ <font>basesmalleryellow</font>
++ </textarea>
++ </state>
++ <state name="selectedinactive" from="selectedactive">
++ <group name="select_bar" from="base_select_bar_selectedinactive_group">
++ <area>0,0,100%,100%</area>
++ <shape name="select_bar_bottom_highlight">
++ <area>0,110,100%,2</area>
++ </shape>
++ </group>
++ </state>
++ </statetype>
++ <statetype name="upscrollarrow">
++ <position>561,585</position>
++ </statetype>
++ <statetype name="downscrollarrow">
++ <position>581,585</position>
++ </statetype>
++ </buttonlist>
++ </window>
++
+ </mythuitheme>
diff --git a/linhes/linhes-theme/controls-ui.xml.patch b/linhes/linhes-theme/controls-ui.xml.patch
new file mode 100644
index 0000000..2e20aa5
--- /dev/null
+++ b/linhes/linhes-theme/controls-ui.xml.patch
@@ -0,0 +1,20 @@
+--- controls-ui.xml.orig 2016-12-13 20:38:02.325765836 +0000
++++ controls-ui.xml 2017-10-26 17:04:02.966374691 +0000
+@@ -73,7 +73,7 @@
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+- <value>Edit keys</value>
++ <value>Edit Keys</value>
+ </textarea>
+
+ <shape name="edit-keys-backdrop" from="base_backdrop">
+@@ -225,7 +225,7 @@
+
+ <textarea name="description" from="basetextarea">
+ <area>229,510,822,84</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
diff --git a/linhes/linhes-theme/error.png b/linhes/linhes-theme/error.png
new file mode 100644
index 0000000..d5ccc2d
--- /dev/null
+++ b/linhes/linhes-theme/error.png
Binary files differ
diff --git a/linhes/linhes-theme/gears.png b/linhes/linhes-theme/gears.png
new file mode 100644
index 0000000..b2f78d6
--- /dev/null
+++ b/linhes/linhes-theme/gears.png
Binary files differ
diff --git a/linhes/linhes-theme/gg-left-arrow-large.png b/linhes/linhes-theme/gg-left-arrow-large.png
new file mode 100644
index 0000000..7d44070
--- /dev/null
+++ b/linhes/linhes-theme/gg-left-arrow-large.png
Binary files differ
diff --git a/linhes/linhes-theme/gg-right-arrow-large.png b/linhes/linhes-theme/gg-right-arrow-large.png
new file mode 100644
index 0000000..8ff318a
--- /dev/null
+++ b/linhes/linhes-theme/gg-right-arrow-large.png
Binary files differ
diff --git a/linhes/linhes-theme/image-ui.xml b/linhes/linhes-theme/image-ui.xml
new file mode 100644
index 0000000..2e4f996
--- /dev/null
+++ b/linhes/linhes-theme/image-ui.xml
@@ -0,0 +1,632 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE mythuitheme SYSTEM "http://www.mythtv.org/schema/mythuitheme.dtd">
+<mythuitheme>
+ <!-- A gallery button showing a picture, video or folder -->
+ <window name="gallery">
+
+ <textarea name="heading" from="base_heading">
+ <value>Image Gallery</value>
+ </textarea>
+
+ <shape name="help-instr-backdrop" from="base_backdrop">
+ <area>0,36,1280,40</area>
+ <type>box</type>
+ </shape>
+
+ <shape name="help-instr-top-line" from="base_line">
+ <area>0,37,1280,2</area>
+ </shape>
+
+ <shape name="help-instr-bottom-line" from="base_line">
+ <area>0,73,1280,2</area>
+ </shape>
+
+ <shape name="arrows-backdrop" from="base_backdrop">
+ <area>1215,697,50,20</area>
+ </shape>
+
+ <!--shows path to current image -->
+ <textarea name="breadcrumbs">
+ <area>110,39,900,34</area>
+ <font>basesmallyellow</font>
+ <cutdown>no</cutdown>
+ <scroll direction="horizontal" startdelay="0" returndelay="0"/>
+ <align>left,vcenter</align>
+ </textarea>
+
+ <!-- shows current position in grid eg '1/123' -->
+ <textarea name="position" from="basetextarea">
+ <area>15,39,100,34</area>
+ <font>basesmall</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+ <!-- Mandatory: the image list 10 columns x 6 rows -->
+ <buttonlist name="images0">
+ <area>15,80,100%-10,100%-30</area>
+ <buttonarea>0,15,100%,100%-10</buttonarea>
+ <wrapstyle>flowing</wrapstyle>
+ <layout>grid</layout>
+ <arrange>fixed</arrange>
+ <align>allcenter</align>
+ <spacing>0</spacing> <!-- (100% - 10*10%) / (10-1) or 0% -->
+ <statetype name="buttonitem">
+ <area>0,0,100%,100%</area>
+ <state name="active">
+ <area>0,0,10%,16%</area>
+ <shape name="buttonbackground" from="base_backdrop">
+ <area>0,0,100%,100%</area>
+ </shape>
+ <shape name="buttonbackground-line" from="base_backdrop_line">
+ <area>1%,1%,99%,99%</area>
+ </shape>
+ <!-- Shows a picture image -->
+ <imagetype name="buttonimage">
+ <area>4%,4%,96%,96%</area>
+ <preserveaspect>yes</preserveaspect>
+ </imagetype>
+ <!-- Shows a single folder image -->
+ <imagetype name="folderimage" from="buttonimage">
+ </imagetype>
+ <!-- Shows image for default folder -->
+ <imagetype name="thumbimage0" from="buttonimage">
+ </imagetype>
+ <!-- Shows a video image -->
+ <imagetype name="videoimage" from="buttonimage">
+ </imagetype>
+ <!-- Show a background image depending on node type -->
+ <statetype name="buttontype">
+ <area>0,0,100%,100%</area>
+ <state name="subfolder">
+ <area>0,0,100%,100%</area>
+ <imagetype name="background">
+ <area>30%,30%,55%,55%</area>
+ <filename>images/folderclosed.png</filename>
+ <preserveaspect>yes</preserveaspect>
+ </imagetype>
+ </state>
+ <state name="device" from="subfolder"/>
+ <state name="image">
+ <area>0,0,100%,100%</area>
+ <imagetype name="background">
+ <area>0,0,100%,100%</area>
+ <filename>images/image_gallery_no_image</filename>
+ <alpha>64</alpha>
+ </imagetype>
+ </state>
+ <state name="video">
+ <area>0,0,50%,50%</area>
+ <imagetype name="background">
+ <area>0,0,100%,100%</area>
+ <filename>images/no_preview_with_fanart.png</filename>
+ <preserveaspect>yes</preserveaspect>
+ </imagetype>
+ </state>
+ </statetype>
+ <!-- Show how many images / directories are in this directory -->
+ <textarea name="childcount">
+ <area>0,0,100%,100%</area>
+ <font>baseextrasmall</font>
+ <align>allcenter</align>
+ </textarea>
+ <!-- Show up arrow on parent dir with ancestors -->
+ <statetype name="parenttype">
+ <area>0,0,100%,100%</area>
+ <state name="upfolder">
+ <area>0,0,100%,100%</area>
+ <imagetype name="icon">
+ <area>30%,30%,55%,55%</area>
+ <filename>images/mv_gallery_dir_up.png</filename>
+ <preserveaspect>yes</preserveaspect>
+ </imagetype>
+ </state>
+ </statetype>
+ <!-- Darken hidden files/ folders -->
+ <statetype name="buttonstate">
+ <area>0,0,100%,100%</area>
+ <state name="visible"/>
+ <state name="hidden">
+ <area>0,0,100%,100%</area>
+ <shape name="hidden_background_shape">
+ <area>0,0,100%,100%</area>
+ <type>box</type>
+ <fill color="#000000" alpha="128"/>
+ </shape>
+ </state>
+ </statetype>
+ <!-- Shows that the image was marked/selected and
+ might be manipulated with other images -->
+ <statetype name="buttoncheck">
+ <area>0,0,100%,100%</area>
+ <state type="full">
+ <area>70%,5%,76%,26%</area>
+ <shape name="marked_background">
+ <area>0,0,100%,100%</area>
+ <type>ellipse</type>
+ <fill color="#000000"/>
+ </shape>
+ <imagetype name="marked">
+ <area>4%,4%,96%,96%</area>
+ <filename>images/checkmark.png</filename>
+ <preserveaspect>no</preserveaspect>
+ </imagetype>
+ </state>
+ </statetype>
+ <shape name="buttontext-backdrop" from="base_backdrop" depends="buttontext">
+ <area>3%,97%-22,97%,22</area>
+ <type>roundbox</type>
+ <cornerradius>4</cornerradius>
+ </shape>
+ <textarea name="buttontext">
+ <area>2%,97%-22,97%,22</area>
+ <font>baseextrasmall</font>
+ <align>allcenter</align>
+ </textarea>
+ </state>
+
+ <state name="selectedactive" from="active">
+ <area>-8,-8,10%+16,16%+16</area>
+ <shape name="buttonbackground">
+ <area>0,0,100%,100%</area>
+ <type>roundbox</type>
+ <fill color="#101017" alpha="255" />
+ <cornerradius>8</cornerradius>
+ </shape>
+ <shape name="buttonbackground-line">
+ <area>0,0,100%,100%</area>
+ <type>roundbox</type>
+ <fill color="#000000" alpha="0" />
+ <line color="#0072bc" alpha="45" width="4" />
+ <cornerradius>8</cornerradius>
+ </shape>
+ <shape name="buttonbackground-top-highlight-line">
+ <area>8%,0,92%,4</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="0">
+ <stop position="0" color="#0072bc" />
+ <stop position="50" color="#0072bc" alpha="180" />
+ <stop position="100" color="#0072bc" />
+ </gradient>
+ </fill>
+ </shape>
+ <shape name="buttonbackground-bottom-highlight-line" from="buttonbackground-top-highlight-line">
+ <area>8%,100%-4,92%,4</area>
+ </shape>
+ <shape name="buttonbackground-left-highlight-line">
+ <area>0,8%,4,92%</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient alpha="0" direction="vertical">
+ <stop position="0" color="#0072bc" />
+ <stop position="50" color="#0072bc" alpha="220" />
+ <stop position="100" color="#0072bc" />
+ </gradient>
+ </fill>
+ </shape>
+ <shape name="buttonbackground-right-highlight-line" from="buttonbackground-left-highlight-line">
+ <area>100%-4,8%,4,92%</area>
+ </shape>
+
+ <statetype name="buttontype" depends="!parenttype">
+ <area>0,0,100%,100%</area>
+ <state name="subfolder">
+ <area>0,0,100%,100%</area>
+ <imagetype name="background">
+ <area>30%,30%,55%,55%</area>
+ <filename>images/folderopen.png</filename>
+ <preserveaspect>yes</preserveaspect>
+ </imagetype>
+ </state>
+ </statetype>
+
+ <!-- Show up arrow on parent dir with ancestors -->
+ <statetype name="parenttype">
+ <state name="upfolder">
+ <imagetype name="icon">
+ <filename>images/mv_gallery_dir_up_open.png</filename>
+ </imagetype>
+ </state>
+ </statetype>
+ <!-- Show how many images / directories are in this directory -->
+ <textarea name="childcount">
+ <font>baseextrasmallyellow</font>
+ </textarea>
+ <textarea name="buttontext">
+ <area>2%,97%-22,97%,22</area>
+ <font>baseextrasmallyellow</font>
+ <align>allcenter</align>
+ </textarea>
+ </state>
+
+ <state name="inactive" from="active"/>
+
+ <state name="selectedinactive" from="active"/>
+ </statetype>
+
+ <statetype name="upscrollarrow">
+ <position>1207,623</position>
+ <state type="off">
+ <imagetype name="upoff">
+ <filename>images/lists_up_arrow.png</filename>
+ <alpha>80</alpha>
+ </imagetype>
+ </state>
+ <state type="full">
+ <imagetype name="upon">
+ <filename>images/lists_up_arrow.png</filename>
+ <alpha>200</alpha>
+ </imagetype>
+ </state>
+ </statetype>
+ <statetype name="downscrollarrow">
+ <position>1227,623</position>
+ <state type="off">
+ <imagetype name="dnoff">
+ <filename>images/lists_down_arrow.png</filename>
+ <alpha>80</alpha>
+ </imagetype>
+ </state>
+ <state type="full">
+ <imagetype name="dnon">
+ <filename>images/lists_down_arrow.png</filename>
+ <alpha>200</alpha>
+ </imagetype>
+ </state>
+ </statetype>
+
+ </buttonlist>
+
+ <!-- the image list 8 columns x 4 rows -->
+ <buttonlist name="images1" from="images0">
+ <spacing>7</spacing> <!-- (100% - 8*12%) / (8-1) or 0.57% -->
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,12%,24%</area>
+ </state>
+ <state name="selectedactive">
+ <area>-8,-8,12%+16,24%+16</area>
+ </state>
+ </statetype>
+ </buttonlist>
+
+ <!-- the image list 6 columns x 3 rows -->
+ <buttonlist name="images2" from="images0">
+ <spacing>10</spacing> <!-- (100% - 6*16%) / (6-1) or 0.8% -->
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,16%,32%</area>
+ </state>
+ <state name="selectedactive">
+ <area>-10,-12,16%+20,32%+20</area>
+ </state>
+ </statetype>
+ </buttonlist>
+
+ <!-- the image list 4 columns x 2 rows -->
+ <buttonlist name="images3" from="images0">
+ <spacing>0</spacing> <!-- (100% - 4*25%) / (4-1) or 0% -->
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,25%,50%</area>
+ </state>
+ <state name="selectedactive">
+ <area>-9,-9,25%+16,50%+10</area>
+ </state>
+ </statetype>
+ </buttonlist>
+
+ <!-- shows a message when no images are available
+ in the current directory -->
+ <textarea name="noimages" from="basetextarea">
+ <area>20,76,1240,589</area>
+ <font>basemedium</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <!-- Mandatory: Shows file info overlay -->
+ <buttonlist name="infolist" from="base_list">
+ <area>10,80,510,100%-30</area>
+ <layout>vertical</layout>
+ <spacing>0</spacing>
+ <scrollstyle>free</scrollstyle>
+ <arrange>stack</arrange>
+ <wrapstyle>items</wrapstyle>
+ <align>center</align>
+ <buttonarea>0,0,100%,100%</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,100%,30</area>
+ <group name="select_bar" from="base_select_bar_active_group">
+ <area>0,0,100%,100%</area>
+ <shape name="select_bar">
+ <fill color="#000000" alpha="210" />
+ <type>box</type>
+ </shape>
+ </group>
+ <textarea name="name" from="basetextarea">
+ <area>10,0,100%-10,30</area>
+ <scroll direction="left" />
+ <cutdown>yes</cutdown>
+ <template>%NAME%: %VALUE%</template>
+ </textarea>
+ </state>
+ <state name="selectedactive" from="active" />
+ <state name="selectedinactive" from="active" />
+ </statetype>
+ <statetype name="upscrollarrow">
+ <position>20,-15</position>
+ <state type="off">
+ <imagetype name="upoff">
+ <alpha>0</alpha>
+ </imagetype>
+ </state>
+ <state type="full">
+ <imagetype name="upon">
+ <filename>images/lists_up_arrow.png</filename>
+ <alpha>200</alpha>
+ </imagetype>
+ </state>
+ </statetype>
+ <statetype name="downscrollarrow">
+ <position>20,100%+10</position>
+ <state type="off">
+ <imagetype name="dnoff">
+ <alpha>0</alpha>
+ </imagetype>
+ </state>
+ <state type="full">
+ <imagetype name="dnon">
+ <filename>images/lists_down_arrow.png</filename>
+ <alpha>200</alpha>
+ </imagetype>
+ </state>
+ </statetype>
+ </buttonlist>
+
+ <!--Shows scan progress-->
+ <group name="progress">
+ <area>0,0,100%,100%</area>
+
+ <animation trigger="AboutToShow">
+ <section>
+ <alpha start="0" end="255" easingcurve="OutQuart"/>
+ <zoom start="0" end="100" easingcurve="OutQuart"/>
+ </section>
+ </animation>
+
+ <animation trigger="AboutToHide">
+ <section>
+ <alpha start="255" end="0" easingcurve="InQuart"/>
+ <zoom start="100" end="0" easingcurve="InQuart"/>
+ </section>
+ </animation>
+
+ <shape name="osd-status-backdrop" depends="scanprogresstext">
+ <area>64,624,1152,60</area>
+ <type>roundbox</type>
+ <fill color="#000000" alpha="140" />
+ <cornerradius>8</cornerradius>
+ </shape>
+
+ <shape name="osd-status-backdrop-line" depends="scanprogresstext">
+ <area>65,625,1150,58</area>
+ <type>roundbox</type>
+ <fill color="#000000" alpha="0" />
+ <line color="#ffffff" alpha="45" width="2" />
+ <cornerradius>6</cornerradius>
+ </shape>
+
+ <shape name="top-line" depends="scanprogresstext">
+ <area>66,626,1148,2</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="0">
+ <stop position="0" color="#ffffff" />
+ <stop position="50" color="#ffffff" alpha="120" />
+ <stop position="100" color="#ffffff" />
+ </gradient>
+ </fill>
+ </shape>
+
+ <shape name="bottom-line" from="top-line" depends="scanprogresstext">
+ <area>66,680,1148,2</area>
+ </shape>
+
+ <shape name="left-line" depends="scanprogresstext">
+ <area>66,628,2,52</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="vertical" alpha="0">
+ <stop position="0" color="#ffffff" />
+ <stop position="50" color="#ffffff" alpha="180" />
+ <stop position="100" color="#ffffff" />
+ </gradient>
+ </fill>
+ </shape>
+
+ <shape name="right-line" from="left-line" depends="scanprogresstext">
+ <area>1212,628,2,52</area>
+ </shape>
+
+ <!-- Progress bar-->
+ <progressbar name="scanprogressbar">
+ <area>90,650,1100,8</area>
+ <layout>horizontal</layout>
+ <style>reveal</style>
+ <imagetype name="background">
+ <area>0,0,100%,100%</area>
+ <filename>images/osd/progressbar_background.png</filename>
+ </imagetype>
+ <imagetype name="progressimage">
+ <area>0,0,100%,100%</area>
+ <filename>images/osd/progressbar_fill.png</filename>
+ </imagetype>
+ </progressbar>
+
+ <!--Shows numerical scan progress-->
+ <textarea name="scanprogresstext" from="basetextarea">
+ <area>90,657,1100,24</area>
+ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+ </group>
+
+ <!-- shows state of type filter -->
+ <textarea name="typefilter" from="basetextarea">
+ <area>1100,39,100,34</area>
+ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+ </textarea>
+ <textarea name="typefilterAll" from="basetextarea" depends="!typefilter">
+ <value>All</value>
+ <area>1100,39,100,34</area>
+ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+ </textarea>
+ <textarea name="typefilterlabel" from="basetextarea">
+ <value>Show:</value>
+ <area>1035,39,60,34</area>
+ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <!-- shows state of hidden filter -->
+ <textarea name="hidefilter" from="basetextarea">
+ <area>1185,39,80,34</area>
+ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ </textarea>
+ </window>
+
+ <!-- Gallery Slideshow window which shows the a single image only or a slideshow. -->
+ <window name="slideshow">
+
+ <!-- Extra small text for Gallery images -->
+ <fontdef name="gallerytext" from="basesmall">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ </fontdef>
+
+ <!-- the background behind the images -->
+ <shape name="background_shape">
+ <area>0,0,100%,100%</area>
+ <fill color="#000000" alpha="255"/>
+ </shape>
+
+ <!-- an image -->
+ <imagetype name="image">
+ <area>0,0,100%,100%</area>
+ <preserveaspect>yes</preserveaspect>
+ </imagetype>
+
+ <!-- Represents "Show Captions" state for use as a dependancy by other widgets
+ Set = Hide; empty = Show -->
+ <textarea name="hidecaptions" from="basetextarea">
+ <area>0,0,0,0</area>
+ </textarea>
+
+ <!-- End/Loading/Failed to load status -->
+ <textarea name="status" from="basetextarea" depends="!hidecaptions">
+ <area>200,0,100%-200,30</area>
+ <font>basesmall</font>
+ <align>hcenter,top</align>
+ </textarea>
+
+ <!-- Slide count -->
+ <textarea name="slidecount" from="basetextarea" depends="!hidecaptions">
+ <area>100%-200,0,190,30</area>
+ <font>gallerytext</font>
+ <align>right, vcentre</align>
+ </textarea>
+
+ <!-- Date/Comment -->
+ <textarea name="caption" from="basetextarea" depends="!hidecaptions">
+ <area>10,100%-28,100%-10,30</area>
+ <font>gallerytext</font>
+ <align>right, vcenter</align>
+ <cutdown>no</cutdown>
+ <scroll direction="horizontal"/>
+ </textarea>
+
+ <!-- Shows file info overlay -->
+ <buttonlist name="infolist" from="base_list">
+ <area>10,30,510,100%-30</area>
+ <layout>vertical</layout>
+ <spacing>1</spacing>
+ <scrollstyle>free</scrollstyle>
+ <arrange>stack</arrange>
+ <wrapstyle>items</wrapstyle>
+ <align>center</align>
+ <buttonarea>0,0,100%,100%</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,100%,30</area>
+ <group name="select_bar" from="base_select_bar_active_group">
+ <area>0,0,100%,100%</area>
+ </group>
+ <textarea name="name" from="basetextarea">
+ <area>15,0,100%,30</area>
+ <cutdown>yes</cutdown>
+ <template>%NAME%: %VALUE%</template>
+ </textarea>
+ </state>
+ <state name="selectedactive">
+ <area>0,0,100%,64</area>
+ <shape name="select_bar_backdrop_line" from="base_backdrop_line">
+ <area>0,0,100%,100%-2</area>
+ <type>box</type>
+ </shape>
+ <group name="select_bar" from="base_select_bar_selectedactive_group">
+ <area>1,1,100%-2,100%-2</area>
+ </group>
+
+ <shape name="select_bar_left_line" from="base_highlight_vertical_line">
+ <area>0,0,2,100%</area>
+ </shape>
+ <shape name="select_bar_right_line" from="base_highlight_vertical_line">
+ <area>100%-4,0,2,100%</area>
+ </shape>
+ <textarea name="name" from="basetextarea">
+ <area>15,5,100%,50</area>
+ <multiline>yes</multiline>
+ <scroll direction="up" rate="20"/>
+ <template>%NAME%: %VALUE%</template>
+ <font>basesmallyellow</font>
+ </textarea>
+ </state>
+ <state name="selectedinactive" from="active" />
+ </statetype>
+ <statetype name="upscrollarrow">
+ <position>20,-15</position>
+ <state type="off">
+ <imagetype name="upoff">
+ <alpha>0</alpha>
+ </imagetype>
+ </state>
+ <state type="full">
+ <imagetype name="upon">
+ <filename>images/lists_up_arrow.png</filename>
+ <alpha>200</alpha>
+ </imagetype>
+ </state>
+ </statetype>
+ <statetype name="downscrollarrow">
+ <position>20,100%+10</position>
+ <state type="off">
+ <imagetype name="dnoff">
+ <alpha>0</alpha>
+ </imagetype>
+ </state>
+ <state type="full">
+ <imagetype name="dnon">
+ <filename>images/lists_down_arrow.png</filename>
+ <alpha>200</alpha>
+ </imagetype>
+ </state>
+ </statetype>
+ </buttonlist>
+
+ </window>
+
+</mythuitheme>
diff --git a/linhes/linhes-theme/install-ui.xml b/linhes/linhes-theme/install-ui.xml
new file mode 100644
index 0000000..823b0dc
--- /dev/null
+++ b/linhes/linhes-theme/install-ui.xml
@@ -0,0 +1,188 @@
+<mythuitheme>
+
+ <window name="welcome_screen">
+ <textarea name="title" from="base_heading">
+ <value>Welcome to LinHES!</value>
+ </textarea>
+
+ <!--not used by mythinstall-->
+ <textarea name="time_text" from="basetextarea"/>
+
+ <!--version info-->
+ <shape name="version_box" from="base_backdrop">
+ <area>200,30,880,80</area>
+ </shape>
+ <shape name="version_box_backdrop_line" from="base_backdrop_line">
+ <area>200,30,880,80</area>
+ </shape>
+ <shape name="version_box_backdrop_top_line" from="base_highlight_line">
+ <area>202,31,878,2</area>
+ </shape>
+ <shape name="version_box_backdrop_bottom_line" from="base_highlight_line">
+ <area>202,107,878,2</area>
+ </shape>
+ <shape name="version_box_backdrop_left_line" from="base_highlight_vertical_line">
+ <area>202,33,2,80</area>
+ </shape>
+ <shape name="version_box_backdrop_right_line" from="base_highlight_vertical_line">
+ <area>1077,33,2,80</area>
+ </shape>
+ <textarea name="date_text" from="basetextarea">
+ <multiline>yes</multiline>
+ <font>baselarge</font>
+ <area>210,30,860,80</area>
+ <value></value>
+ <align>allcenter</align>
+ </textarea>
+
+ <!--not used by mythinstall-->
+ <textarea name="status_text" from="basetextarea">
+ <multiline>yes</multiline>
+ <font>basemedium</font>
+ <area>20,140,1240,60</area>
+ <value></value>
+ </textarea>
+
+ <!--not used by mythinstall-->
+ <textarea name="recording_label" from="basetextarea">
+ <font>baselarge</font>
+ <area>20,140,1240,30</area>
+ <value></value>
+ </textarea>
+
+ <shape name="recording_text_box" from="base_backdrop">
+ <area>200,120,880,160</area>
+ </shape>
+ <shape name="recording_text_box_backdrop_line" from="base_backdrop_line">
+ <area>200,120,880,160</area>
+ </shape>
+ <shape name="recording_text_box_backdrop_top_line" from="base_highlight_line">
+ <area>202,121,878,2</area>
+ </shape>
+ <shape name="recording_text_box_backdrop_bottom_line" from="base_highlight_line">
+ <area>202,277,878,2</area>
+ </shape>
+ <shape name="recording_text_box_backdrop_left_line" from="base_highlight_vertical_line">
+ <area>202,123,2,160</area>
+ </shape>
+ <shape name="recording_text_box_backdrop_right_line" from="base_highlight_vertical_line">
+ <area>1077,123,2,160</area>
+ </shape>
+
+ <!--mythinstall uses recording_text for percentage done-->
+ <textarea name="recording_text" from="basetextarea">
+ <multiline>yes</multiline>
+ <font>basemedium</font>
+ <area>210,130,860,30</area>
+ <value>Press MENU for Options</value>
+ <align>center</align>
+ </textarea>
+
+ <!--not used by mythinstall-->
+ <textarea name="scheduled_label" from="basetextarea">
+ <font>baselarge</font>
+ <area>20,320,1240,30</area>
+ <value></value>
+ </textarea>
+
+ <!--mythinstall uses scheduled_text for status-->
+ <textarea name="scheduled_text">
+ <font>basemedium</font>
+ <area>210,185,860,30</area>
+ <value></value>
+ <align>center</align>
+ </textarea>
+
+ <!--mythinstall uses mythvantage_text for logs-->
+ <textarea name="mythvantage_text" from="basetextarea">
+ <multiline>yes</multiline>
+ <font>basesmall</font>
+ <area>210,220,860,60</area>
+ <align>center</align>
+ <cutdown>yes</cutdown>
+ <value></value>
+ </textarea>
+
+ <imagetype name="LHLogo">
+ <area>365,480,550,179</area>
+ <preserveaspect>true</preserveaspect>
+ <filename>images/LHLogoAndText.png</filename>
+ </imagetype>
+
+ <imagetype name="logo">
+ <area>107,495,150,150</area>
+ <preserveaspect>true</preserveaspect>
+ <filepattern low="1" high="6">/usr/MythVantage/logos/logo-%1.png</filepattern>
+ <delay>5000</delay>
+ </imagetype>
+
+ <imagetype name="logo2" from="logo">
+ <area>1022,495,150,150</area>
+ </imagetype>
+
+ </window>
+
+ <window name="questionnotice_screen">
+
+ <textarea name="title" from="base_heading">
+ <value></value>
+ </textarea>
+
+ <shape name="questionnotice-backdrop" from="base_backdrop">
+ <area>115,36,1050,649</area>
+ </shape>
+
+ <shape name="questionnotice-backdrop-line" from="base_backdrop_line">
+ <area>116,37,1048,647</area>
+ </shape>
+
+ <shape name="questionnotice-top-line" from="base_highlight_line">
+ <area>117,38,1046,2</area>
+ </shape>
+
+ <shape name="questionnotice-bottom-line" from="base_highlight_line">
+ <area>117,681,1046,2</area>
+ </shape>
+
+ <shape name="questionnotice-left-line" from="base_highlight_vertical_line">
+ <area>117,40,2,641</area>
+ </shape>
+
+ <shape name="questionnotice-right-line" from="base_highlight_vertical_line">
+ <area>1161,40,2,641</area>
+ </shape>
+
+ <shape name="questionnotice-bottom-seperator-line" from="base_line">
+ <area>138,620,1004,2</area>
+ </shape>
+
+ <textarea name="notice_text" from="basetextarea">
+ <multiline>yes</multiline>
+ <area>138,58,1004,562</area>
+ <font>baselarge</font>
+ <value></value>
+ <align>top,hcenter</align>
+ </textarea>
+
+ <textarea name="question_text" from="notice_text">
+ <align>allcenter</align>
+ </textarea>
+
+ <button name="yes_button" from="base_button">
+ <area>233,632,350,40</area>
+ <value></value>
+ </button>
+
+ <button name="no_button" from="base_button">
+ <area>697,632,350,40</area>
+ <value></value>
+ </button>
+
+ <button name="ok_button" from="base_button">
+ <area>465,632,350,40</area>
+ <value>OK</value>
+ </button>
+
+ </window>
+
+</mythuitheme>
diff --git a/linhes/linhes-theme/lights_bud_background.png b/linhes/linhes-theme/lights_bud_background.png
new file mode 100644
index 0000000..a345970
--- /dev/null
+++ b/linhes/linhes-theme/lights_bud_background.png
Binary files differ
diff --git a/linhes/linhes-theme/linhes-theme.install b/linhes/linhes-theme/linhes-theme.install
new file mode 100644
index 0000000..4d84407
--- /dev/null
+++ b/linhes/linhes-theme/linhes-theme.install
@@ -0,0 +1,19 @@
+post_install() {
+ MYTHHOME=`lh_home_check.sh`
+ if ls $MYTHHOME/.mythtv/themecache/LinHES* 1> /dev/null 2>&1
+ then
+ echo "Clearing themecache and quitting mythfrontend."
+ /rm -rf $MYTHHOME/.mythtv/themecache/LinHES*
+ killall mythfrontend
+ fi
+ if ls $MYTHHOME/.mythtv/cache/themecache/LinHES* 1> /dev/null 2>&1
+ then
+ echo "Clearing themecache and quitting mythfrontend."
+ rm -rf $MYTHHOME/.mythtv/cache/themecache/LinHES*
+ killall mythfrontend
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/linhes/linhes-theme/menu-ui-vert.xml.patch b/linhes/linhes-theme/menu-ui-vert.xml.patch
new file mode 100644
index 0000000..3a0c3d9
--- /dev/null
+++ b/linhes/linhes-theme/menu-ui-vert.xml.patch
@@ -0,0 +1,211 @@
+--- menu-ui-vert.xml.orig 2017-01-12 02:27:03.269571903 +0000
++++ menu-ui-vert.xml 2017-01-12 02:19:35.517176026 +0000
+@@ -6,18 +6,53 @@
+ <area>0,0,1280,720</area>
+
+ <shape name="menuscroll-background" from="base_backdrop">
+- <area>87,0,310,720</area>
++ <area>77,0,330,720</area>
+ <type>box</type>
+ </shape>
+
+ <shape name="menuscroll-left-line" from="base_vertical_line">
+- <area>88,0,2,720</area>
++ <area>78,0,2,720</area>
+ </shape>
+
+ <shape name="menuscroll-right-line" from="base_vertical_line">
+- <area>394,0,2,720</area>
++ <area>404,0,2,720</area>
+ </shape>
+
++ <!--LinHES UPDATE MESSAGE
++ <shape name="update_box" from="base_backdrop">
++ <area>485,639,718,53</area>
++ </shape>
++ <shape name="update_box_backdrop_line" from="base_backdrop_line">
++ <area>486,640,716,51</area>
++ </shape>
++ <shape name="update_box_backdrop_top_line" from="base_highlight_line">
++ <area>487,641,714,2</area>
++ </shape>
++ <shape name="update_box_backdrop_bottom_line" from="base_highlight_line">
++ <area>487,688,714,2</area>
++ </shape>
++ <shape name="update_box_backdrop_left_line" from="base_highlight_vertical_line">
++ <area>487,643,2,47</area>
++ </shape>
++ <shape name="update_box_backdrop_right_line" from="base_highlight_vertical_line">
++ <area>1199,645,2,47</area>
++ </shape>
++ <textarea name="update_text">
++ <area>756,641,437,50</area>
++ <font>basesmallyellow</font>
++ <value>updates available in the Service Menu</value>
++ <multiline>no</multiline>
++ <align>left,vcenter</align>
++ </textarea>
++ -->
++
++ <imagetype name="LHlogo">
++ <area>554,645,172,43</area>
++ <filename>images/LHLogo.png</filename>
++ <!--LHLogoAndText 851x277 3.072-->
++ <!--LHLogo 851x219 3.886-->
++ </imagetype>
++
+ <statetype name="titles">
+ <state name="MAIN">
+ <textarea name="heading">
+@@ -123,10 +158,55 @@
+ <value>Archive Utilities</value>
+ </textarea>
+ </state>
++ <state name="LH_SERVICE_MENU" from="MAIN">
++ <textarea name="heading">
++ <value>Service Menu</value>
++ </textarea>
++ </state>
++ <state name="LH_UPDATE" from="MAIN">
++ <textarea name="heading">
++ <value>Update LinHES</value>
++ </textarea>
++ </state>
++ <state name="LH_BACKUP" from="MAIN">
++ <textarea name="heading">
++ <value>Backup LinHES</value>
++ </textarea>
++ </state>
++ <state name="LH_RESTORE" from="MAIN">
++ <textarea name="heading">
++ <value>Restore LinHES</value>
++ </textarea>
++ </state>
++ <state name="LH_TOOLS" from="MAIN">
++ <textarea name="heading">
++ <value>LinHES Tools</value>
++ </textarea>
++ </state>
++ <state name="LH_BACKEND" from="MAIN">
++ <textarea name="heading">
++ <value>MythBackend Control</value>
++ </textarea>
++ </state>
++ <state name="HOST_SETTINGS" from="MAIN">
++ <textarea name="heading">
++ <value>LinHES Settings</value>
++ </textarea>
++ </state>
++ <state name="TRAILERS" from="MAIN">
++ <textarea name="heading">
++ <value>Apple Trailers</value>
++ </textarea>
++ </state>
++ <state name="INTERNET_STREAMS" from="MAIN">
++ <textarea name="heading">
++ <value>Online Content</value>
++ </textarea>
++ </state>
+ </statetype>
+
+ <buttonlist name="menu">
+- <area>87,62,310,596</area>
++ <area>77,62,330,586</area>
+ <layout>vertical</layout>
+ <spacing>4</spacing>
+ <scrollstyle>free</scrollstyle>
+@@ -136,9 +216,9 @@
+ <buttonarea>0,0,100%,100%</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+- <area>0,0,310,64</area>
++ <area>0,0,330,60</area>
+ <textarea name="buttontext">
+- <area>12,0,286,64</area>
++ <area>15,0,300,100%</area>
+ <font>basemediumlightgrey</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+@@ -147,40 +227,48 @@
+ </textarea>
+ </state>
+ <state name="selectedactive">
+- <area>-10,0,330,64</area>
++ <area>-20,0,370,80</area>
++ <shape name="select_bar_backdrop_line" from="base_backdrop_line">
++ <area>0,0,100%,100%-2</area>
++ <line color="#0072bc" alpha="45" width="2" />
++ <type>box</type>
++ </shape>
+ <group name="select_bar" from="base_select_bar_selectedactive_group">
+- <area>0,0,330,100%</area>
++ <area>1,1,100%-2,100%-2</area>
+ </group>
++ <shape name="select_bar_left_line" from="base_highlight_vertical_line">
++ <area>0,0,2,100%</area>
++ <fill style="gradient">
++ <gradient alpha="0" direction="vertical">
++ <stop position="0" color="#0072bc" />
++ <stop position="50" color="#0072bc" alpha="180" />
++ <stop position="100" color="#0072bc" />
++ </gradient>
++ </fill>
++ </shape>
++ <shape name="select_bar_right_line" from="select_bar_left_line">
++ <area>100%-2,0,2,100%</area>
++ </shape>
+ <textarea name="buttontext">
+- <area>5,0,320,64</area>
++ <area>30,0,100%-30,57%</area>
+ <font>basemediumlargerdarkyellow</font>
+- <multiline>yes</multiline>
+- <!-- cpu usage is very high
+- <alphapulse min="100" max="255" change="2"/>
+- -->
+- <align>allcenter</align>
+- <cutdown>yes</cutdown>
++ <align>bottom, hcenter</align>
++ <multiline>no</multiline>
+ <case>upper</case>
++ <scroll direction="left" rate="90" startdelay="1" />
+ </textarea>
+- <group name="variable-size-text-backdrop-group">
+- <area>330,12,843,40</area>
+- <minsize vanish="true">252,40</minsize>
+- <shape name="text-backdrop" from="base_backdrop">
+- <area>0,0,-1,-1</area>
+- <minsize vanish="true">252,40</minsize>
+- </shape>
+- <textarea name="description" from="basetextarea">
+- <area>20,1,-20,-1</area>
+- <minsize shrink="short" vanish="true">5,5</minsize>
+- <font>basesmalldarkyellow</font>
+- <align>left,vcenter</align>
+- <multiline>no</multiline>
+- </textarea>
+- </group>
++ <textarea name="description">
++ <area>30,57%,100%-30,100%</area>
++ <align>top, hcenter</align>
++ <font>baseextrasmallyellow</font>
++ <multiline>no</multiline>
++ <scroll direction="left" rate="90" startdelay="1" />
++ </textarea>
++
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>147,0</position>
++ <position>161,0</position>
+ <showempty>yes</showempty>
+ <state type="full">
+ <imagetype name="upon">
+@@ -190,7 +278,7 @@
+ </state>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>147,588</position>
++ <position>161,578</position>
+ <showempty>yes</showempty>
+ <state type="full">
+ <imagetype name="dnon">
diff --git a/linhes/linhes-theme/music-base.xml.patch b/linhes/linhes-theme/music-base.xml.patch
new file mode 100644
index 0000000..7c8e3bf
--- /dev/null
+++ b/linhes/linhes-theme/music-base.xml.patch
@@ -0,0 +1,121 @@
+--- music-base.xml.orig 2016-12-13 20:45:06.068067497 +0000
++++ music-base.xml 2016-12-18 00:17:16.171607805 +0000
+@@ -360,7 +360,6 @@
+ <textarea name="title" from="buttontext">
+ <area>143,0,1066,30</area>
+ <align>left,vcenter</align>
+- <font>basesmall</font>
+ <template>%TITLE% by %ARTIST% on %ALBUM%</template>
+ </textarea>
+ </state>
+@@ -412,9 +411,12 @@
+ </textarea>
+ </state>
+ <state name="selectedinactive" from="selectedactive">
+- <group name="select_bar" from="base_select_bar_selectedinactive_group">
+- <area>0,0,100%,100%</area>
+- </group>
++ <group name="select_bar" from="base_select_bar_selectedinactive_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ <textarea name="title">
++ <font>basesmall</font>
++ </textarea>
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+@@ -450,7 +452,7 @@
+ <textarea name="shuffletext" from="basetextarea">
+ <area>0,0,300,22</area>
+ <font>basesmaller</font>
+- <value>Shuffle Mode: Intelligent</value>
++ <value>Shuffle Mode: Smart</value>
+ <align>left,vcenter</align>
+ </textarea>
+ </state>
+@@ -504,7 +506,7 @@
+ </statetype>
+
+ <textarea name="playlistposition" from="basetextarea">
+- <area>192,9,170,14</area>
++ <area>192,8,170,14</area>
+ <font>basesupersmallyellow</font>
+ <align>right,vcenter</align>
+ </textarea>
+@@ -514,7 +516,7 @@
+ </progressbar>
+
+ <textarea name="playlisttime" from="basetextarea">
+- <area>918,9,230,14</area>
++ <area>918,8,230,14</area>
+ <font>basesupersmallyellow</font>
+ <align>left,vcenter</align>
+ </textarea>
+@@ -574,7 +576,7 @@
+ </imagetype>
+
+ <textarea name="title" from="basetextarea">
+- <area>171,18,938,24</area>
++ <area>171,14,938,24</area>
+ <font>basesmallyellow</font>
+ </textarea>
+
+@@ -615,11 +617,11 @@
+ <font>baseevensmaller</font>
+ <align>allcenter</align>
+ </textarea>
+-
++<!--
+ <group name="musiccontrols" from="base_music_controls">
+ <position>535,140</position>
+ </group>
+-
++-->
+ <statetype name="mutestate" from="base_mute_state">
+ <position>44,146</position>
+ </statetype>
+@@ -629,11 +631,11 @@
+ </textarea>
+
+ <progressbar name="progress" from="baseprogressbar">
+- <position>372,162</position>
++ <position>372,152</position>
+ </progressbar>
+
+ <textarea name="time" from="basetextarea">
+- <area>918,161,185,14</area>
++ <area>918,149,185,14</area>
+ <font>basesupersmallyellow</font>
+ </textarea>
+
+@@ -718,7 +720,7 @@
+
+ <textarea name="title" from="basetextarea">
+ <area>146,7,987,28</area>
+- <font>basesmaller</font>
++ <font>basesmalleryellow</font>
+ <template>%TITLE% - %ARTIST% - %ALBUM%</template>
+ </textarea>
+
+@@ -739,17 +741,17 @@
+ <textarea name="volume" from="base_volume">
+ <position>190,57</position>
+ </textarea>
+-
++<!--
+ <group name="musiccontrols" from="base_music_controls">
+ <position>535,68</position>
+ </group>
+-
++-->
+ <progressbar name="progress" from="baseprogressbar">
+- <position>372,90</position>
++ <position>372,79</position>
+ </progressbar>
+
+ <textarea name="time" from="basetextarea">
+- <area>918,89,185,14</area>
++ <area>918,77,185,14</area>
+ <font>basesupersmallyellow</font>
+ </textarea>
+
diff --git a/linhes/linhes-theme/music-ui.xml.patch b/linhes/linhes-theme/music-ui.xml.patch
new file mode 100644
index 0000000..6d01256
--- /dev/null
+++ b/linhes/linhes-theme/music-ui.xml.patch
@@ -0,0 +1,704 @@
+--- music-ui.xml.orig 2016-12-13 20:47:17.067929339 +0000
++++ music-ui.xml 2017-01-12 02:19:35.520508931 +0000
+@@ -6,7 +6,7 @@
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+- <value>Current Play List View</value>
++ <value>Current Playlist View</value>
+ </textarea>
+
+ <shape name="play-list-backdrop" from="base_backdrop">
+@@ -41,7 +41,7 @@
+ <area>28,44,1224,406</area>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+- <value>You haven't selected any tracks to play</value>
++ <value>Press MENU to add tracks to Current Playlist</value>
+ </textarea>
+
+ <!-- current playlist button list -->
+@@ -92,7 +92,7 @@
+ </state>
+ </statetype>
+ <textarea name="tracknum">
+- <area>133,0,52,30</area>
++ <area>118,0,70,30</area>
+ <font>basesmall</font>
+ <align>right,vcenter</align>
+ <template>%1 -</template>
+@@ -107,7 +107,7 @@
+ <align>left,vcenter</align>
+ </textarea>
+ <textarea name="length" from="title">
+- <area>1139,0,70,30</area>
++ <area>1129,0,80,30</area>
+ <align>right,vcenter</align>
+ </textarea>
+ </state>
+@@ -121,7 +121,7 @@
+ <state name="playing">
+ <area>0,0,100%,100%</area>
+ <textarea name="playing" from="basetextarea">
+- <area>84,0,70,64</area>
++ <area>74,0,70,64</area>
+ <font>basesupersmallgreen</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -132,7 +132,7 @@
+ <state name="paused">
+ <area>0,0,100%,100%</area>
+ <textarea name="paused" from="basetextarea">
+- <area>84,0,70,64</area>
++ <area>74,0,70,64</area>
+ <font>basesupersmallyellow</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -143,7 +143,7 @@
+ <state name="stopped">
+ <area>0,0,100%,100%</area>
+ <textarea name="stopped" from="basetextarea">
+- <area>84,0,70,64</area>
++ <area>74,0,70,64</area>
+ <font>basesupersmallred</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -153,40 +153,45 @@
+ </state>
+ </statetype>
+ <textarea name="tracknum">
+- <area>159,2,52,24</area>
++ <area>118,1,70,24</area>
+ <font>basesmallyellow</font>
+- <align>right,vcenter</align>
++ <align>right,top</align>
+ <template>%1 -</template>
+ </textarea>
+ <textarea name="title">
+- <area>219,2,540,24</area>
++ <area>193,1,566,24</area>
++ <align>left,top</align>
+ <font>basesmallyellow</font>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+ <textarea name="artist" from="title">
+- <area>774,2,350,24</area>
++ <area>774,1,350,24</area>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+- <textarea name="length" from="title">
+- <area>1139,2,70,24</area>
++ <textarea name="length">
++ <area>1129,1,80,24</area>
+ <align>right,vcenter</align>
++ <font>basesmallyellow</font>
+ </textarea>
+ <textarea name="album">
+- <area>229,0,540,64</area>
+- <font>baseextrasmallyellow</font>
++ <area>193,24,566,20</area>
++ <font>baseextrasmallblue</font>
+ <align>left,vcenter</align>
+ </textarea>
+ <textarea name="genre" from="album">
+- <area>784,0,340,64</area>
++ <area>774,24,350,20</area>
+ </textarea>
+ <statetype name="ratingstate" from="base_rating_state">
+- <position>219,40</position>
++ <position>193,40</position>
+ </statetype>
+ <textarea name="lastplayed" from="album">
+- <area>774,43,250,20</area>
++ <area>774,43,260,20</area>
++ <font>baseextrasmall</font>
+ </textarea>
+- <textarea name="playcount" from="album">
++ <textarea name="playcount" from="lastplayed">
+ <area>1039,43,170,20</area>
+ <align>right,vcenter</align>
+- <template>Played %1 times</template>
++ <template>Played: %1</template>
+ </textarea>
+ </state>
+ <state name="selectedinactive" from="selectedactive">
+@@ -217,7 +222,7 @@
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+- <value>Play List Editor Tree View</value>
++ <value>Playlist Editor Tree View</value>
+ </textarea>
+
+ <shape name="breadcrumbs-backdrop" from="base_backdrop">
+@@ -274,6 +279,7 @@
+ <area>36,39,993,30</area>
+ <font>basesmallyellow</font>
+ <align>left,vcenter</align>
++ <scroll direction="horizontal" startdelay="1" rate="80"/>
+ </textarea>
+
+ <!-- optional - shows current position in grid eg '1 of 123' -->
+@@ -355,7 +361,7 @@
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+- <value>Play List Editor Gallery View</value>
++ <value>Playlist Editor Gallery View</value>
+ </textarea>
+
+ <shape name="breadcrumbs-backdrop" from="base_backdrop">
+@@ -404,6 +410,7 @@
+ <area>36,39,993,30</area>
+ <font>basesmallyellow</font>
+ <align>left,vcenter</align>
++ <scroll direction="horizontal" startdelay="1" rate="80"/>
+ </textarea>
+
+ <!-- optional - shows current position in grid eg '1 of 123' -->
+@@ -435,7 +442,8 @@
+ </group>
+ <imagetype name="buttonimage">
+ <area>8,8,120,120</area>
+- <filename>mythmusic/mm_nothumb.png</filename>
++ <filename>mythmusic/mm_category.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ <statetype name="nodetype">
+ <position>8,8</position>
+@@ -443,73 +451,85 @@
+ <state name="alltracks">
+ <imagetype name="alltracks">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="genres">
+ <imagetype name="genres">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="albums">
+ <imagetype name="albums">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="artists">
+ <imagetype name="artists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="compartists">
+ <imagetype name="compartists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="ratings">
+ <imagetype name="ratings">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="years">
+ <imagetype name="years">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="compilations">
+ <imagetype name="compilations">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="cd">
+ <imagetype name="cd">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="directory">
+ <imagetype name="directory">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="playlists">
+ <imagetype name="playlists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="smartplaylists">
+ <imagetype name="smartplaylists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
++ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ </statetype>
+@@ -547,7 +567,7 @@
+ <area>0,0,100%,100%</area>
+ <type>roundbox</type>
+ <fill color="#101017" alpha="255" />
+- <line color="#ffffff" alpha="45" width="4" />
++ <line color="#0072bc" alpha="45" width="4" />
+ <cornerradius>8</cornerradius>
+ </shape>
+ <shape name="select_bar_top_highlight_line">
+@@ -555,9 +575,9 @@
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="0">
+- <stop position="0" color="#ffffff" />
+- <stop position="50" color="#ffffff" alpha="180" />
+- <stop position="100" color="#ffffff" />
++ <stop position="0" color="#0072bc" />
++ <stop position="50" color="#0072bc" alpha="180" />
++ <stop position="100" color="#0072bc" />
+ </gradient>
+ </fill>
+ </shape>
+@@ -569,9 +589,9 @@
+ <type>box</type>
+ <fill style="gradient">
+ <gradient alpha="0" direction="vertical">
+- <stop position="0" color="#ffffff" />
+- <stop position="50" color="#ffffff" alpha="220" />
+- <stop position="100" color="#ffffff" />
++ <stop position="0" color="#0072bc" />
++ <stop position="50" color="#0072bc" alpha="220" />
++ <stop position="100" color="#0072bc" />
+ </gradient>
+ </fill>
+ </shape>
+@@ -580,7 +600,7 @@
+ </shape>
+ <imagetype name="buttonimage">
+ <area>8,8,120,120</area>
+- <filename>mythmusic/mm_nothumb.png</filename>
++ <filename>mythmusic/mm_category.png</filename>
+ </imagetype>
+ <statetype name="nodetype">
+ <position>8,8</position>
+@@ -588,73 +608,73 @@
+ <state name="alltracks">
+ <imagetype name="alltracks">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="genres">
+ <imagetype name="genres">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="albums">
+ <imagetype name="albums">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="artists">
+ <imagetype name="artists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="compartists">
+ <imagetype name="compartists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="ratings">
+ <imagetype name="ratings">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="years">
+ <imagetype name="years">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="compilations">
+ <imagetype name="compilations">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="cd">
+ <imagetype name="cd">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="directory">
+ <imagetype name="directory">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="playlists">
+ <imagetype name="playlists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ <state name="smartplaylists">
+ <imagetype name="smartplaylists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ </imagetype>
+ </state>
+ </statetype>
+@@ -681,22 +701,50 @@
+ <area>5,1,-5,-3</area>
+ <align>bottom,hcenter</align>
+ <minsize shrink="short" vanish="true">5,5</minsize>
+- <font>baseextrasmall</font>
++ <font>baseextrasmallyellow</font>
+ <multiline>yes</multiline>
+ </textarea>
+ </group>
+ </state>
+- <state name="selectedinactive">
+- <group name="select_bar" from="base_button_select_bar_disabled_group">
+- <area>0,0,136,136</area>
+- <shape name="select_bar">
+- <fill color="#333333" alpha="255" />
+- <cornerradius>8</cornerradius>
+- </shape>
+- </group>
++ <state name="selectedinactive" from="selectedactive">
++ <shape name="select_bar">
++ <area>0,0,100%,100%</area>
++ <type>roundbox</type>
++ <fill color="#101017" alpha="255" />
++ <line color="#ffffff" alpha="45" width="4" />
++ <cornerradius>8</cornerradius>
++ </shape>
++ <shape name="select_bar_top_highlight_line">
++ <area>8,2,120,4</area>
++ <type>box</type>
++ <fill style="gradient">
++ <gradient direction="horizontal" alpha="0">
++ <stop position="0" color="#ffffff" />
++ <stop position="50" color="#ffffff" alpha="180" />
++ <stop position="100" color="#ffffff" />
++ </gradient>
++ </fill>
++ </shape>
++ <shape name="select_bar_bottom_highlight_line" from="select_bar_top_highlight_line">
++ <area>8,130,120,4</area>
++ </shape>
++ <shape name="select_bar_left_highlight_line">
++ <area>2,8,4,120</area>
++ <type>box</type>
++ <fill style="gradient">
++ <gradient alpha="0" direction="vertical">
++ <stop position="0" color="#ffffff" />
++ <stop position="50" color="#ffffff" alpha="220" />
++ <stop position="100" color="#ffffff" />
++ </gradient>
++ </fill>
++ </shape>
++ <shape name="select_bar_right_highlight_line" from="select_bar_left_highlight_line">
++ <area>130,8,4,120</area>
++ </shape>
+ <imagetype name="buttonimage">
+ <area>8,8,120,120</area>
+- <filename>mythmusic/mm_nothumb.png</filename>
++ <filename>mythmusic/mm_category.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ <statetype name="nodetype">
+@@ -705,94 +753,84 @@
+ <state name="alltracks">
+ <imagetype name="alltracks">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="genres">
+ <imagetype name="genres">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="albums">
+ <imagetype name="albums">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="artists">
+ <imagetype name="artists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="compartists">
+ <imagetype name="compartists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="ratings">
+ <imagetype name="ratings">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="years">
+ <imagetype name="years">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="compilations">
+ <imagetype name="compilations">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="cd">
+ <imagetype name="cd">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="directory">
+ <imagetype name="directory">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="playlists">
+ <imagetype name="playlists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+ <state name="smartplaylists">
+ <imagetype name="smartplaylists">
+ <area>0,0,120,120</area>
+- <filename>mythmusic/mm_category.png</filename>
+- <alpha>100</alpha>
+- </imagetype>
+- </state>
+- </statetype>
+- <statetype name="buttoncheck">
+- <position>8,8</position>
+- <showempty>yes</showempty>
+- <state type="full">
+- <imagetype name="marked">
+- <filename>mythmusic/playlist_yes.png</filename>
++ <filename>mythmusic/mm_nothumb.png</filename>
+ <alpha>100</alpha>
+ </imagetype>
+ </state>
+@@ -813,7 +851,6 @@
+ <minsize shrink="short" vanish="true">5,5</minsize>
+ <font>baseextrasmall</font>
+ <multiline>yes</multiline>
+- <alpha>100</alpha>
+ </textarea>
+ </group>
+ </state>
+@@ -1909,6 +1946,122 @@
+
+ </window>
+
++ <window name="trackslyricsview">
++ <area>0,0,1280,720</area>
++
++ <group name="heading-backdrop" from="base_heading_group" />
++
++ <textarea name="heading" from="base_heading">
++ <value>Track Lyrics View</value>
++ </textarea>
++
++ <shape name="lyrics-backdrop" from="base_backdrop">
++ <area>20,36,1240,453</area>
++ </shape>
++
++ <shape name="lyrics-backdrop-line" from="base_backdrop_line">
++ <area>21,37,1238,451</area>
++ </shape>
++
++ <shape name="lyrics-top-line" from="base_highlight_line">
++ <area>21,38,1238,2</area>
++ </shape>
++
++ <shape name="lyrics-bottom-line" from="base_highlight_line">
++ <area>21,486,1238,2</area>
++ </shape>
++
++ <shape name="lyrics-list-left-line" from="base_highlight_vertical_line">
++ <area>22,40,2,446</area>
++ </shape>
++
++ <shape name="lyrics-list-right-line" from="base_highlight_vertical_line">
++ <area>1256,40,2,446</area>
++ </shape>
++
++ <shape name="lyrics-list-arrows-backdrop" from="base_arrows_backdrop">
++ <area>1207,490,50,11</area>
++ </shape>
++
++ <buttonlist name="lyrics_list" from="base_list">
++ <area>28,44,1224,440</area>
++ <searchposition>-1,466</searchposition>
++ <buttonarea>0,0,1224,440</buttonarea>
++ <statetype name="buttonitem">
++ <state name="active">
++ <area>0,0,100%,30</area>
++ <textarea name="buttontext">
++ <area>0,0,100%,100%</area>
++ <align>top,hcenter</align>
++ <font>basesmall</font>
++ </textarea>
++ </state>
++ <state name="selectedactive" from="active">
++ <group name="select_bar" from="base_select_bar_selectedactive_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
++ </state>
++ <state name="selectedinactive" from="selectedactive">
++ <group name="select_bar" from="base_select_bar_selectedinactive_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ </state>
++ </statetype>
++
++ <statetype name="upscrollarrow">
++ <position>1186,448</position>
++ </statetype>
++
++ <statetype name="downscrollarrow">
++ <position>1206,448</position>
++ </statetype>
++ </buttonlist>
++
++ <statetype name="loading_state">
++ <position>339,153</position>
++ <state name="off"></state>
++ <state name="on">
++ <shape name="boxshape" from="base_popup_backdrop">
++ <area>0,0,602,144</area>
++ </shape>
++ <shape name="boxshape-line" from="base_backdrop_line">
++ <area>1,1,600,142</area>
++ </shape>
++ <shape name="busy-dialog-top-line" from="base_highlight_line">
++ <area>2,2,598,2</area>
++ </shape>
++ <shape name="busy-dialog-bottom-line" from="base_highlight_line">
++ <area>2,140,598,2</area>
++ </shape>
++ <shape name="busy-dialog-left-line" from="base_highlight_vertical_line">
++ <area>2,4,2,138</area>
++ </shape>
++ <shape name="busy-dialog-right-line" from="base_highlight_vertical_line">
++ <area>598,4,2,138</area>
++ </shape>
++ <imagetype name="loadinganimation">
++ <position>33,65</position>
++ <filepattern low="1" high="60" cycle="reverse">images/busy/busy%1.png</filepattern>
++ <delay>12</delay>
++ </imagetype>
++ </state>
++ </statetype>
++
++ <textarea name="status_text" from="basetextarea">
++ <area>20,36,1240,453</area>
++ <font>basemediumyellow</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <group name="trackinfopanel" from="base_info_panel">
++ <area>0,506,1280,240</area>
++ </group>
++
++ </window>
++
+ <window name="editmetadata">
+ <area>0,0,1280,720</area>
+
+@@ -3492,7 +3645,7 @@
+ </section>
+ </animation>
+
+- <shape name="cd-rip-backdrop" from="base_popup_backdrop">
++ <shape name="cd-rip-backdrop" from="base_popup_backdrop">
+ <area>0,0,800,360</area>
+ </shape>
+
diff --git a/linhes/linhes-theme/musicsettings-ui.xml.patch b/linhes/linhes-theme/musicsettings-ui.xml.patch
new file mode 100644
index 0000000..a667eab
--- /dev/null
+++ b/linhes/linhes-theme/musicsettings-ui.xml.patch
@@ -0,0 +1,366 @@
+--- musicsettings-ui.xml.orig 2017-10-26 18:28:30.226541178 +0000
++++ musicsettings-ui.xml 2017-10-26 19:57:07.944986189 +0000
+@@ -60,7 +60,7 @@
+ <textarea name="musiclocation_label" from="basetextarea">
+ <area>129,72,428,40</area>
+ <align>right,vcenter</align>
+- <value>Directory to hold music:</value>
++ <value>Directory to Hold Music:</value>
+ </textarea>
+
+ <textedit name="musiclocation" from="base_textedit">
+@@ -70,7 +70,7 @@
+ <textarea name="musiccddevice_label" from="basetextarea">
+ <area>129,143,428,40</area>
+ <align>right,vcenter</align>
+- <value>CD device:</value>
++ <value>CD Device:</value>
+ </textarea>
+
+ <textedit name="musiccddevice" from="base_textedit">
+@@ -80,7 +80,7 @@
+ <textarea name="musicaudiodevice_label" from="basetextarea">
+ <area>129,214,428,40</area>
+ <align>right,vcenter</align>
+- <value>Audio device:</value>
++ <value>Audio Device:</value>
+ </textarea>
+
+ <textedit name="musicaudiodevice" from="base_textedit">
+@@ -90,7 +90,7 @@
+ <textarea name="musicdefaultupmix_label" from="basetextarea">
+ <area>129,285,429,30</area>
+ <align>right,vcenter</align>
+- <value>Convert stereo to 5.1 sound:</value>
++ <value>Convert Stereo to 5.1 Surround:</value>
+ </textarea>
+
+ <checkbox name="musicdefaultupmix" from="base_checkbox">
+@@ -120,7 +120,7 @@
+ <textarea name="allowtagwriting_label" from="basetextarea">
+ <area>129,478,428,30</area>
+ <align>right,vcenter</align>
+- <value>Allow metadata to be written to tags:</value>
++ <value>Allow Metadata to be Written to Tags:</value>
+ </textarea>
+
+ <checkbox name="allowtagwriting" from="base_checkbox">
+@@ -129,19 +129,20 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
++ <button name="cancel" from="base_button">
+ <area>233,632,350,40</area>
+- <value>Save</value>
++ <value>Cancel</value>
+ </button>
+- <button name="cancel" from="base_button">
++
++ <button name="save" from="base_button">
+ <area>697,632,350,40</area>
+- <value>Cancel</value>
++ <value>Save</value>
+ </button>
+ </window>
+
+@@ -213,7 +214,7 @@
+ <textarea name="filenametemplate_label" from="basetextarea">
+ <area>128,127,430,40</area>
+ <align>right,vcenter</align>
+- <value>File storage location:</value>
++ <value>File Storage Location:</value>
+ </textarea>
+
+ <textedit name="filenametemplate" from="base_textedit">
+@@ -223,7 +224,7 @@
+ <textarea name="nowhitespace_label" from="basetextarea">
+ <area>128,190,430,30</area>
+ <align>right,vcenter</align>
+- <value>Replace space with underscore:</value>
++ <value>Replace Space with Underscore:</value>
+ </textarea>
+
+ <checkbox name="nowhitespace" from="base_checkbox">
+@@ -253,7 +254,7 @@
+ <textarea name="mp3usevbr_label" from="basetextarea">
+ <area>128,369,430,30</area>
+ <align>right,vcenter</align>
+- <value>Use variable bitrates:</value>
++ <value>Use Variable Bitrates:</value>
+ </textarea>
+
+ <checkbox name="mp3usevbr" from="base_checkbox">
+@@ -263,7 +264,7 @@
+ <textarea name="ejectcd_label" from="basetextarea">
+ <area>128,422,430,30</area>
+ <align>right,vcenter</align>
+- <value>Automatically eject CDs after ripping:</value>
++ <value>Automatically Eject CDs After Ripping:</value>
+ </textarea>
+
+ <checkbox name="ejectcd" from="base_checkbox">
+@@ -282,20 +283,20 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
++ <button name="cancel" from="base_button">
+ <area>233,632,350,40</area>
+- <value>Save</value>
++ <value>Cancel</value>
+ </button>
+
+- <button name="cancel" from="base_button">
++ <button name="save" from="base_button">
+ <area>697,632,350,40</area>
+- <value>Cancel</value>
++ <value>Save</value>
+ </button>
+ </window>
+
+@@ -307,109 +308,140 @@
+ </textarea>
+
+ <shape name="player-settings-backdrop" from="base_backdrop">
+- <area>215,36,850,649</area>
++ <area>115,36,1050,649</area>
+ </shape>
+
+ <shape name="player-settings-backdrop-line" from="base_backdrop_line">
+- <area>216,37,848,506</area>
++ <area>116,37,1048,506</area>
+ </shape>
+
+ <shape name="player-settings-top-line" from="base_highlight_line">
+- <area>217,38,846,2</area>
++ <area>117,38,1046,2</area>
+ </shape>
+
+ <shape name="player-settings-bottom-line" from="base_highlight_line">
+- <area>217,540,846,2</area>
++ <area>117,540,1046,2</area>
+ </shape>
+
+ <shape name="player-settings-left-line" from="base_highlight_vertical_line">
+- <area>217,40,2,500</area>
++ <area>117,40,2,500</area>
+ </shape>
+
+ <shape name="player-settings-right-line" from="base_highlight_vertical_line">
+- <area>1061,40,2,500</area>
++ <area>1161,40,2,500</area>
+ </shape>
+
+ <shape name="player-settings-bottom-backdrop-line" from="base_backdrop_line">
+- <area>216,547,848,137</area>
++ <area>116,547,1048,137</area>
+ </shape>
+
+ <shape name="player-settings-bottom-top-line" from="base_highlight_line">
+- <area>217,548,846,2</area>
++ <area>117,548,1046,2</area>
+ </shape>
+
+ <shape name="player-settings-bottom-bottom-line" from="base_highlight_line">
+- <area>217,681,846,2</area>
++ <area>117,681,1046,2</area>
+ </shape>
+
+ <shape name="player-settings-bottom-left-line" from="base_highlight_vertical_line">
+- <area>217,550,2,131</area>
++ <area>117,550,2,131</area>
+ </shape>
+
+ <shape name="player-settings-bottom-right-line" from="base_highlight_vertical_line">
+- <area>1061,550,2,131</area>
++ <area>1161,550,2,131</area>
+ </shape>
+
+ <shape name="player-settings-bottom-seperator-first-line" from="base_line">
+- <area>238,613,804,2</area>
++ <area>138,620,1004,2</area>
+ </shape>
+
+ <textarea name="resumemode_label" from="basetextarea">
+- <area>315,112,300,40</area>
++ <area>129,72,428,40</area>
+ <align>right,vcenter</align>
+- <value>Resume mode:</value>
++ <value>Playlist Resume Mode:</value>
+ </textarea>
+
+ <buttonlist name="resumemode" from="base_selector">
+- <area>625,112,300,40</area>
++ <area>567,72,550,40</area>
++ </buttonlist>
++
++ <textarea name="resumemodeeditor_label" from="basetextarea">
++ <area>129,143,428,40</area>
++ <align>right,vcenter</align>
++ <value>Editor Resume Mode:</value>
++ </textarea>
++
++ <buttonlist name="resumemodeeditor" from="base_selector">
++ <area>567,143,550,40</area>
++ </buttonlist>
++
++ <textarea name="resumemoderadio_label" from="basetextarea">
++ <area>129,214,428,40</area>
++ <align>right,vcenter</align>
++ <value>Radio Resume Mode:</value>
++ </textarea>
++
++ <buttonlist name="resumemoderadio" from="base_selector">
++ <area>567,214,550,40</area>
++ </buttonlist>
++
++ <textarea name="jumpaction_label" from="basetextarea">
++ <area>129,285,429,30</area>
++ <align>right,vcenter</align>
++ <value>Action on Jump Point:</value>
++ </textarea>
++
++ <buttonlist name="jumpaction" from="resumemode">
++ <position>567,285</position>
+ </buttonlist>
+
+ <textarea name="exitaction_label" from="basetextarea">
+- <area>315,224,300,40</area>
++ <area>129,346,428,40</area>
+ <align>right,vcenter</align>
+- <value>Action on exit:</value>
++ <value>Action on Exit:</value>
+ </textarea>
+
+ <buttonlist name="exitaction" from="resumemode">
+- <area>625,224,300,40</area>
++ <area>567,346,550,40</area>
+ </buttonlist>
+
+ <textarea name="autolookupcd_label" from="basetextarea">
+- <area>315,336,300,30</area>
++ <area>129,417,428,30</area>
+ <align>right,vcenter</align>
+- <value>Automatically lookup CDs:</value>
++ <value>Automatically Lookup CDs:</value>
+ </textarea>
+
+ <checkbox name="autolookupcd" from="base_checkbox">
+- <position>625,336</position>
++ <position>567,417</position>
+ </checkbox>
+
+ <textarea name="autoplaycd_label" from="basetextarea">
+- <area>315,438,300,30</area>
++ <area>129,478,428,30</area>
+ <align>right,vcenter</align>
+ <value>Automatically Play CDs:</value>
+ </textarea>
+
+ <checkbox name="autoplaycd" from="base_checkbox">
+- <position>625,438</position>
++ <position>567,478</position>
+ </checkbox>
+
+ <textarea name="helptext" from="basetextarea">
+- <area>239,559,802,44</area>
+- <font>basesmallerblue</font>
++ <area>139,552,1003,66</area>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
+- <area>273,628,350,40</area>
+- <value>Save</value>
+- </button>
+ <button name="cancel" from="base_button">
+- <area>657,628,350,40</area>
++ <area>233,632,350,40</area>
+ <value>Cancel</value>
+ </button>
++
++ <button name="save" from="base_button">
++ <area>697,632,350,40</area>
++ <value>Save</value>
++ </button>
+ </window>
+
+ <window name="ratingsettings">
+@@ -508,23 +540,22 @@
+ </spinbox>
+
+ <textarea name="helptext" from="basetextarea">
+- <area>239,559,802,44</area>
+- <font>basesmallerblue</font>
++ <area>239,553,802,50</area>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
+- <area>273,628,350,40</area>
+- <value>Save</value>
+- </button>
+-
+ <button name="cancel" from="base_button">
+- <area>657,628,350,40</area>
++ <area>233,632,350,40</area>
+ <value>Cancel</value>
+ </button>
+
++ <button name="save" from="base_button">
++ <area>697,632,350,40</area>
++ <value>Save</value>
++ </button>
+ </window>
+
+ <window name="visualizationsettings">
+@@ -624,21 +655,21 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>239,559,802,44</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
+- <area>273,628,350,40</area>
+- <value>Save</value>
+- </button>
+-
+ <button name="cancel" from="base_button">
+- <area>657,628,350,40</area>
++ <area>233,632,350,40</area>
+ <value>Cancel</value>
+ </button>
++
++ <button name="save" from="base_button">
++ <area>697,632,350,40</area>
++ <value>Save</value>
++ </button>
+ </window>
+
+ </mythuitheme>
diff --git a/linhes/linhes-theme/mytharchive-ui.xml.patch b/linhes/linhes-theme/mytharchive-ui.xml.patch
new file mode 100644
index 0000000..78271f9
--- /dev/null
+++ b/linhes/linhes-theme/mytharchive-ui.xml.patch
@@ -0,0 +1,38 @@
+--- mytharchive-ui.xml.orig 2017-12-01 19:19:38.943858051 +0000
++++ mytharchive-ui.xml 2017-12-01 19:13:29.711674546 +0000
+@@ -70,7 +70,7 @@
+
+ <textarea name="destination_text" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+@@ -549,7 +549,7 @@
+ </statetype>
+ <imagetype name="buttonimage">
+ <area>28,2,77,50</area>
+- <filename>images/file_browser_no_preview.png</filename>
++ <filename>images/file_browser_folder.png</filename>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ <textarea name="buttontext">
+@@ -576,7 +576,7 @@
+ </statetype>
+ <imagetype name="buttonimage">
+ <area>38,4,138,104</area>
+- <filename>images/file_browser_no_preview.png</filename>
++ <filename>images/file_browser_folder.png</filename>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ <textarea name="buttontext">
+@@ -1046,7 +1046,7 @@
+
+ <textarea name="logitem_text" from="basetextarea">
+ <area>139,538,1003,82</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
diff --git a/linhes/linhes-theme/mythburn-ui.xml.patch b/linhes/linhes-theme/mythburn-ui.xml.patch
new file mode 100644
index 0000000..52737e7
--- /dev/null
+++ b/linhes/linhes-theme/mythburn-ui.xml.patch
@@ -0,0 +1,20 @@
+--- mythburn-ui.xml.orig 2017-10-26 17:12:51.497611372 +0000
++++ mythburn-ui.xml 2017-10-26 17:04:02.976373390 +0000
+@@ -264,7 +264,7 @@
+
+ <textarea name="themedescription" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+@@ -922,7 +922,7 @@
+
+ <textarea name="help_text" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
diff --git a/linhes/linhes-theme/mythnative-ui.xml.patch b/linhes/linhes-theme/mythnative-ui.xml.patch
new file mode 100644
index 0000000..18c1750
--- /dev/null
+++ b/linhes/linhes-theme/mythnative-ui.xml.patch
@@ -0,0 +1,20 @@
+--- mythnative-ui.xml.orig 2017-10-26 17:13:24.073372813 +0000
++++ mythnative-ui.xml 2017-10-26 17:04:02.976373390 +0000
+@@ -304,7 +304,7 @@
+ </statetype>
+ <imagetype name="buttonimage">
+ <area>28,2,77,50</area>
+- <filename>images/file_browser_no_preview.png</filename>
++ <filename>images/file_browser_folder.png</filename>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ <textarea name="buttontext">
+@@ -331,7 +331,7 @@
+ </statetype>
+ <imagetype name="buttonimage">
+ <area>38,4,138,104</area>
+- <filename>images/file_browser_no_preview.png</filename>
++ <filename>images/file_browser_folder.png</filename>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ <textarea name="buttontext">
diff --git a/linhes/linhes-theme/notification-ui.xml.patch b/linhes/linhes-theme/notification-ui.xml.patch
new file mode 100644
index 0000000..923f712
--- /dev/null
+++ b/linhes/linhes-theme/notification-ui.xml.patch
@@ -0,0 +1,385 @@
+--- notification-ui.xml.orig 2017-12-05 21:58:48.987074621 +0000
++++ notification-ui.xml 2017-12-05 22:00:42.962305760 +0000
+@@ -3,11 +3,9 @@
+
+ <mythuitheme>
+
+- <baseres>1280x720</baseres>
+-
+ <window name="notification">
+
+- <area>-1,36,780,180</area>
++ <area>800,24,470,136</area>
+
+ <animation trigger="AboutToShow">
+ <section>
+@@ -24,83 +22,79 @@
+ </animation>
+
+ <shape name="notification-backdrop" from="base_popup_backdrop">
+- <area>0,0,780,180</area>
++ <area>0,0,470,122</area>
+ </shape>
+
+ <shape name="notification-backdrop-line" from="base_backdrop_line">
+- <area>1,1,778,178</area>
++ <area>1,1,468,120</area>
+ </shape>
+
+ <shape name="notification-top-line" from="base_highlight_line">
+- <area>2,2,776,2</area>
++ <area>2,2,466,2</area>
+ </shape>
+
+ <shape name="notification-bottom-line" from="base_highlight_line">
+- <area>1,176,776,2</area>
++ <area>1,118,466,2</area>
+ </shape>
+
+ <shape name="notification-left-line" from="base_highlight_vertical_line">
+- <area>2,4,2,170</area>
++ <area>2,4,2,112</area>
+ </shape>
+
+ <shape name="notification-right-line" from="base_highlight_vertical_line">
+- <area>776,4,2,170</area>
++ <area>466,4,2,112</area>
+ </shape>
+
+ <textarea name="title" from="basetextarea" depends="progress">
+- <area>14,18,752,35</area>
+- <font>basemediumlargerbold</font>
++ <area>14,11,438,35</area>
++ <font>basemediumlargeryellow</font>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+
+ <textarea name="title_noprogress" from="basetextarea" depends="!progress">
+- <area>14,11,752,35</area>
+- <font>basemediumlargerbold</font>
++ <area>14,11,438,35</area>
++ <font>basemediumlargeryellow</font>
+ <template>%TITLE%</template>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+
+ <textarea name="origin" from="basetextarea" depends="progress">
+- <area>14,53,752,30</area>
++ <area>14,46,438,30</area>
+ <font>basesomewhatsmaller</font>
++ <scroll direction="left" startdelay="1"/>
++ <template>[%ORIGIN%] %DESCRIPTION%</template>
+ </textarea>
+
+ <textarea name="origin_noprogress" from="basetextarea" depends="!progress">
+- <area>14,46,752,30</area>
+- <font>basesomewhatsmaller</font>
+- <template>%ORIGIN%</template>
+- </textarea>
+-
+- <textarea name="description" from="basetextarea" depends="progress">
+- <area>14,83,752,30</area>
++ <area>14,46,438,30</area>
+ <font>basesomewhatsmaller</font>
++ <scroll direction="left" startdelay="1"/>
++ <template>[%ORIGIN%]</template>
+ </textarea>
+
+ <textarea name="description_noprogress" from="basetextarea" depends="!progress">
+- <area>14,76,752,90</area>
++ <area>14,76,438,30</area>
+ <font>basesomewhatsmaller</font>
+- <multiline>yes</multiline>
+ <align>left,top</align>
++ <scroll direction="left" startdelay="1"/>
+ <template>%DESCRIPTION%</template>
+ </textarea>
+
+- <textarea name="extra" from="basetextarea" depends="progress">
+- <area>14,113,300,30</area>
+- <font>basesomewhatsmaller</font>
+- </textarea>
+-
+ <textarea name="progress_text" from="basetextarea" depends="progress">
+- <area>370,113,396,30</area>
+- <font>basesomewhatsmaller</font>
++ <area>14,72,438,30</area>
++ <font>baseevensmaller</font>
+ <align>right</align>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+
+ <progressbar name="progress" from="baseprogressbar">
+- <position>14,148</position>
++ <position>14,96</position>
+ <imagetype name="background">
+- <area>0,0,752,10</area>
++ <area>0,0,438,10</area>
+ <filename>images/progressbar/progressbar_background.png</filename>
+ </imagetype>
+ <imagetype name="progressimage">
+- <area>0,0,752,10</area>
++ <area>0,0,438,10</area>
+ <filename>images/progressbar/progressbar_fill.png</filename>
+ </imagetype>
+ </progressbar>
+@@ -109,7 +103,7 @@
+
+ <window name="notification-image">
+
+- <area>-1,36,780,180</area>
++ <area>800,24,470,136</area>
+
+ <animation trigger="AboutToShow">
+ <section>
+@@ -126,31 +120,31 @@
+ </animation>
+
+ <shape name="notification-image-backdrop" from="base_popup_backdrop">
+- <area>0,0,780,180</area>
++ <area>0,0,470,122</area>
+ </shape>
+
+ <shape name="notification-image-backdrop-line" from="base_backdrop_line">
+- <area>1,1,778,178</area>
++ <area>1,1,468,120</area>
+ </shape>
+
+ <shape name="notification-image-top-line" from="base_highlight_line">
+- <area>2,2,776,2</area>
++ <area>2,2,466,2</area>
+ </shape>
+
+ <shape name="notification-image-bottom-line" from="base_highlight_line">
+- <area>1,176,776,2</area>
++ <area>1,118,466,2</area>
+ </shape>
+
+ <shape name="notification-image-left-line" from="base_highlight_vertical_line">
+- <area>2,4,2,170</area>
++ <area>2,4,2,112</area>
+ </shape>
+
+ <shape name="notification-image-right-line" from="base_highlight_vertical_line">
+- <area>776,4,2,170</area>
++ <area>466,4,2,112</area>
+ </shape>
+
+ <shape name="image-border">
+- <area>14,14,152,152</area>
++ <area>352,4,114,114</area>
+ <type>roundbox</type>
+ <fill color="#000000" alpha="0" />
+ <line color="#AAAAAA" alpha="100" width="2" />
+@@ -163,9 +157,9 @@
+ <state name="noartwork">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageartwork">
+- <filename>images/no_artwork.png</filename>
++ <filename>images/question.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ </statetype>
+@@ -178,15 +172,15 @@
+ <imagetype name="imageerror">
+ <filename>images/error.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ <state name="check">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageerror">
+- <filename>images/check.png</filename>
++ <filename>images/checkmark.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ <state name="warning">
+@@ -194,79 +188,74 @@
+ <imagetype name="imageerror">
+ <filename>images/warning.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ <state name="busy">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imagebusy">
+- <filename>images/busy.png</filename>
++ <filename>images/gears.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ </statetype>
+
+ <imagetype name="image" depends="!mediastate&amp;!errorstate">
+- <filename>images/damaged.png</filename>
++ <filename>images/error.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+
+ <textarea name="title" from="basetextarea" depends="progress">
+- <area>170,18,598,35</area>
+- <font>basemediumlargerbold</font>
++ <area>14,11,324,35</area>
++ <font>basemediumlargeryellow</font>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+
+ <textarea name="title_noprogress" from="basetextarea" depends="!progress">
+- <area>170,11,598,35</area>
+- <font>basemediumlargerbold</font>
++ <area>14,11,324,35</area>
++ <font>basemediumlargeryellow</font>
++ <scroll direction="left" startdelay="1"/>
+ <template>%TITLE%</template>
+ </textarea>
+
+ <textarea name="origin" from="basetextarea" depends="progress">
+- <area>170,53,598,30</area>
++ <area>14,46,324,30</area>
+ <font>basesomewhatsmaller</font>
++ <scroll direction="left" startdelay="1"/>
++ <template>[%ORIGIN%] %DESCRIPTION%</template>
+ </textarea>
+
+ <textarea name="origin_noprogress" from="basetextarea" depends="!progress">
+- <area>170,46,598,30</area>
++ <area>14,46,324,30</area>
+ <font>basesomewhatsmaller</font>
+- <template>%ORIGIN%</template>
++ <scroll direction="left" startdelay="1"/>
++ <template>[%ORIGIN%]</template>
+ </textarea>
+
+- <textarea name="description" from="basetextarea" depends="progress">
+- <area>170,83,598,30</area>
+- <font>basesomewhatsmaller</font>
+- </textarea>
+-
+ <textarea name="description_noprogress" from="basetextarea" depends="!progress">
+- <area>170,76,598,90</area>
++ <area>14,76,324,30</area>
+ <font>basesomewhatsmaller</font>
+- <multiline>yes</multiline>
+ <align>left,top</align>
++ <scroll direction="left" startdelay="1"/>
+ <template>%DESCRIPTION%</template>
+ </textarea>
+
+- <textarea name="extra" from="basetextarea" depends="progress">
+- <area>170,113,300,30</area>
+- <font>basesomewhatsmaller</font>
+- </textarea>
+-
+ <textarea name="progress_text" from="basetextarea" depends="progress">
+- <area>370,113,398,30</area>
+- <font>basesomewhatsmaller</font>
++ <area>14,72,324,30</area>
++ <font>baseevensmaller</font>
+ <align>right</align>
+ </textarea>
+-
++
+ <progressbar name="progress" from="baseprogressbar">
+- <position>170,148</position>
++ <position>14,96</position>
+ <imagetype name="background">
+- <area>0,0,598,10</area>
++ <area>0,0,324,10</area>
+ <filename>images/progressbar/progressbar_background.png</filename>
+ </imagetype>
+ <imagetype name="progressimage">
+- <area>0,0,598,10</area>
++ <area>0,0,324,10</area>
+ <filename>images/progressbar/progressbar_fill.png</filename>
+ </imagetype>
+ </progressbar>
+@@ -283,12 +272,12 @@
+ </shape>
+
+ <statetype name="mediastate">
+- <area>0,0,100%,100%</area>
++ <area>0,0,100%,65%</area>
+ <state name="ok"/>
+ <state name="noartwork">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageartwork">
+- <filename>images/no_artwork_fullscreen.png</filename>
++ <filename>images/question.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -296,12 +285,12 @@
+ </statetype>
+
+ <statetype name="errorstate">
+- <area>0,0,100%,100%</area>
++ <area>0,0,100%,65%</area>
+ <state name="ok"/>
+ <state name="error">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageerror">
+- <filename>images/error_fullscreen.png</filename>
++ <filename>images/error.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -309,7 +298,7 @@
+ <state name="check">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageerror">
+- <filename>images/check_fullscreen.png</filename>
++ <filename>images/checkmark.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -317,7 +306,7 @@
+ <state name="warning">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageerror">
+- <filename>images/warning_fullscreen.png</filename>
++ <filename>images/warning.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -325,7 +314,7 @@
+ <state name="busy">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imagebusy">
+- <filename>images/busy_fullscreen.png</filename>
++ <filename>images/gears.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -333,14 +322,14 @@
+ </statetype>
+
+ <imagetype name="image" depends="!mediastate&amp;!errorstate">
+- <filename>images/damaged_fullscreen.png</filename>
+- <area>0,0,100%,100%</area>
+- <preserveaspect>true</preserveaspect>
++ <filename>images/error.png</filename>
++ <mask>images/masks/notification_image_mask.png</mask>
++ <area>423,20,435,435</area>
+ </imagetype>
+
+ <textarea name="title" from="basetextarea">
+ <area>170,475,940,45</area>
+- <font>baseextralargebold</font>
++ <font>baseextralargeyellow</font>
+ </textarea>
+
+ <textarea name="origin" from="basetextarea">
diff --git a/linhes/linhes-theme/osd.xml.patch b/linhes/linhes-theme/osd.xml.patch
new file mode 100644
index 0000000..720814f
--- /dev/null
+++ b/linhes/linhes-theme/osd.xml.patch
@@ -0,0 +1,1249 @@
+--- osd.xml.orig 2023-02-28 10:13:02.297842607 -0500
++++ osd.xml 2024-01-21 20:36:08.316129544 -0500
+@@ -7,13 +7,13 @@
+ <window name="osd_debug">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="medium" face="DejaVu Sans">
+- <pixelsize>16</pixelsize>
++ <fontdef name="medium" face="Overlock">
++ <pixelsize>18</pixelsize>
+ <color>#e6e6e6</color>
+ </fontdef>
+
+ <fontdef name="mediumblue" from="medium">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <shape name="osd-debug-backdrop">
+@@ -63,160 +63,148 @@
+ <area>1212,40,2,120</area>
+ </shape>
+
+- <textarea name="cpuload">
+- <font>medium</font>
+- <area>74,51,162,25</area>
+- <align>right,vcenter</align>
+- <value>CPUs :</value>
+- </textarea>
+-
+- <textarea name="load">
+- <font>mediumblue</font>
+- <area>241,51,216,25</area>
+- <align>left,vcenter</align>
+- </textarea>
+-
+ <textarea name="file">
+ <font>medium</font>
+- <area>450,51,60,25</area>
++ <area>74,51,132,25</area>
+ <align>right,vcenter</align>
+ <value>File :</value>
+ </textarea>
+
+ <textarea name="filename">
+- <font>mediumblue</font>
+- <area>515,51,685,25</area>
++ <font>medium</font>
++ <area>211,51,995,25</area>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="storage">
++ <textarea name="cpuload">
+ <font>medium</font>
+- <area>74,76,162,25</area>
++ <area>74,76,132,25</area>
+ <align>right,vcenter</align>
+- <value>Storage to Buffer :</value>
++ <value>CPUs :</value>
+ </textarea>
+
+- <textarea name="storagerate">
+- <font>mediumblue</font>
+- <area>247,76,123,25</area>
++ <textarea name="load">
++ <font>medium</font>
++ <area>211,76,169,25</area>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="decoder">
++ <textarea name="video">
+ <font>medium</font>
+- <area>74,101,162,25</area>
++ <area>74,101,132,25</area>
+ <align>right,vcenter</align>
+- <value>Buffer to Decoder :</value>
++ <value>Video :</value>
+ </textarea>
+
+- <textarea name="decoderrate">
+- <font>mediumblue</font>
+- <area>247,101,123,25</area>
++ <textarea name="videowidth">
++ <font>medium</font>
++ <area>211,101,189,25</area>
+ <align>left,vcenter</align>
++ <template>%VIDEOWIDTH%x%VIDEOHEIGHT%@%VIDEOFRAMERATE%fps</template>
+ </textarea>
+
+- <textarea name="buffer">
++ <textarea name="vidcodec">
+ <font>medium</font>
+- <area>74,126,162,25</area>
++ <area>74,126,132,25</area>
+ <align>right,vcenter</align>
+- <value>Available Buffer :</value>
++ <value>Codec/Decoder :</value>
+ </textarea>
+
+- <textarea name="bufferavail">
+- <font>mediumblue</font>
+- <area>247,126,123,25</area>
++ <textarea name="videocodec">
++ <font>medium</font>
++ <area>211,126,169,25</area>
+ <align>left,vcenter</align>
+- <template>%BUFFERAVAIL% of %BUFFERSIZE%Mb</template>
++ <template>%VIDEOCODEC%/%VIDEODECODER%</template>
+ </textarea>
+
+- <textarea name="video">
++ <textarea name="frames">
+ <font>medium</font>
+- <area>410,76,100,25</area>
++ <area>395,76,170,25</area>
+ <align>right,vcenter</align>
+- <value>Video :</value>
++ <value>Frames Decoded/Free :</value>
+ </textarea>
+
+- <textarea name="videowidth">
+- <font>mediumblue</font>
+- <area>515,76,250,25</area>
++ <textarea name="videoframes">
++ <font>medium</font>
++ <area>570,76,123,25</area>
+ <align>left,vcenter</align>
+- <template>%VIDEOWIDTH%x%VIDEOHEIGHT%@%VIDEOFRAMERATE%fps</template>
+ </textarea>
+
+- <textarea name="vidcodec">
++ <textarea name="fps">
+ <font>medium</font>
+- <area>410,101,100,25</area>
++ <area>405,101,160,25</area>
+ <align>right,vcenter</align>
+- <value>Codec :</value>
++ <value>FPS :</value>
+ </textarea>
+
+- <textarea name="videocodec">
+- <font>mediumblue</font>
+- <area>515,101,150,25</area>
++ <textarea name="framerate">
++ <font>medium</font>
++ <area>570,101,123,25</area>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="viddec">
++ <textarea name="deint">
+ <font>medium</font>
+- <area>410,126,100,25</area>
++ <area>395,126,170,25</area>
+ <align>right,vcenter</align>
+- <value>Decoder :</value>
++ <value>Deinterlacer :</value>
+ </textarea>
+
+- <textarea name="videodecoder">
+- <font>mediumblue</font>
+- <area>515,126,150,25</area>
++ <textarea name="deinterlacer">
++ <font>medium</font>
++ <area>570,126,163,25</area>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="sync">
++ <textarea name="buffer">
+ <font>medium</font>
+- <area>720,76,150,25</area>
++ <area>670,76,200,25</area>
+ <align>right,vcenter</align>
+- <value>A/V Sync :</value>
++ <value>Available Buffer :</value>
+ </textarea>
+
+- <textarea name="avsync">
+- <font>mediumblue</font>
+- <area>875,76,100,25</area>
++ <textarea name="bufferavail">
++ <font>medium</font>
++ <area>875,76,123,25</area>
+ <align>left,vcenter</align>
++ <template>%BUFFERAVAIL% of %BUFFERSIZE%Mb</template>
+ </textarea>
+
+- <textarea name="fps">
++ <textarea name="storage">
+ <font>medium</font>
+ <area>670,101,200,25</area>
+ <align>right,vcenter</align>
+- <value>FPS :</value>
++ <value>Storage to Buffer :</value>
+ </textarea>
+
+- <textarea name="framerate">
+- <font>mediumblue</font>
+- <area>875,101,100,25</area>
++ <textarea name="storagerate">
++ <font>medium</font>
++ <area>875,101,123,25</area>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="frames">
++ <textarea name="decoder">
+ <font>medium</font>
+ <area>670,126,200,25</area>
+ <align>right,vcenter</align>
+- <value>Frames decoded/free :</value>
++ <value>Buffer to Decoder :</value>
+ </textarea>
+
+- <textarea name="videoframes">
+- <font>mediumblue</font>
+- <area>875,126,100,25</area>
++ <textarea name="decoderrate">
++ <font>medium</font>
++ <area>875,126,123,25</area>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="audio">
++ <textarea name="sync">
+ <font>medium</font>
+ <area>994,76,130,25</area>
+ <align>right,vcenter</align>
+- <value>Audio :</value>
++ <value>A/V Sync :</value>
+ </textarea>
+
+- <textarea name="audiocodec">
+- <font>mediumblue</font>
++ <textarea name="avsync">
++ <font>medium</font>
+ <area>1129,76,77,25</area>
+ <align>left,vcenter</align>
+ </textarea>
+@@ -225,24 +213,25 @@
+ <font>medium</font>
+ <area>994,101,130,25</area>
+ <align>right,vcenter</align>
+- <value>Channels :</value>
++ <value>Audio/Channels :</value>
+ </textarea>
+
+ <textarea name="audiochannels">
+- <font>mediumblue</font>
++ <font>medium</font>
+ <area>1129,101,77,25</area>
+ <align>left,vcenter</align>
++ <template>%AUDIOCODEC%/%AUDIOCHANNELS%</template>
+ </textarea>
+
+ <textarea name="audiorate">
+ <font>medium</font>
+ <area>994,126,130,25</area>
+ <align>right,vcenter</align>
+- <value>Sample rate :</value>
++ <value>Sample Rate :</value>
+ </textarea>
+
+ <textarea name="samplerate">
+- <font>mediumblue</font>
++ <font>medium</font>
+ <area>1129,126,77,25</area>
+ <align>left,vcenter</align>
+ </textarea>
+@@ -252,8 +241,8 @@
+ <window name="osd_message">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="medium" face="DejaVu Sans">
+- <pixelsize>24</pixelsize>
++ <fontdef name="medium" face="Overlock">
++ <pixelsize>28</pixelsize>
+ <color>#e6e6e6</color>
+ </fontdef>
+
+@@ -315,9 +304,9 @@
+ <window name="osd_input">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="large" face="DejaVu Sans">
++ <fontdef name="large" face="Overlock">
+ <color>#e6e6e6</color>
+- <pixelsize>32</pixelsize>
++ <pixelsize>34</pixelsize>
+ </fontdef>
+
+ <shape name="osd-input-backdrop">
+@@ -375,12 +364,359 @@
+
+ </window>
+
++ <window name="osd_navigation">
++ <fontdef name="small" face="Overlock">
++ <color>#e6e6e6</color>
++ <pixelsize>20</pixelsize>
++ </fontdef>
++
++ <fontdef name="smallgrey" from="small">
++ <color>#999999</color>
++ </fontdef>
++
++ <fontdef name="smallyellow" from="small">
++ <color>#ebb81c</color>
++ </fontdef>
++
++ <fontdef name="mediumgrey" from="smallgrey">
++ <pixelsize>28</pixelsize>
++ </fontdef>
++
++ <fontdef name="mediumyellow" from="smallyellow">
++ <pixelsize>28</pixelsize>
++ </fontdef>
++
++ <button name="more">
++ <focusorder>2</focusorder>
++ <area>1020,626,50,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,50,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>MORE</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <group name="grp0">
++ <area>260,626,760,24</area>
++
++ <button name="MENU">
++ <focusorder>2</focusorder>
++ <area>72,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,64,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>MENU</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="INFO">
++ <focusorder>2</focusorder>
++ <area>141,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,64,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>INFO</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="JUMPRWND">
++ <focusorder>2</focusorder>
++ <area>210,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,-3,64,24</area>
++ <align>allcenter</align>
++ <font>mediumgrey</font>
++ <cutdown>none</cutdown>
++ <value>&lt;&lt;</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>mediumyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="SEEKRWND">
++ <focusorder>2</focusorder>
++ <area>279,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,-3,64,24</area>
++ <align>allcenter</align>
++ <font>mediumgrey</font>
++ <cutdown>none</cutdown>
++ <value>&lt;</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>mediumyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="PLAY">
++ <area>348,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,64,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>PLAY</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="PAUSE">
++ <area>348,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,64,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>PAUSE</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="SEEKFFWD">
++ <area>417,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,-3,64,24</area>
++ <align>allcenter</align>
++ <font>mediumgrey</font>
++ <cutdown>none</cutdown>
++ <value>&gt;</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>mediumyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="JUMPFFWD">
++ <area>486,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,-3,64,24</area>
++ <align>allcenter</align>
++ <font>mediumgrey</font>
++ <cutdown>none</cutdown>
++ <value>&gt;&gt;</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>mediumyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="NEXTCC">
++ <area>555,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,64,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>CC</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="TOGGLEFILL">
++ <area>624,0,64,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,64,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>FILL</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ </group>
++
++ <group name="grp1">
++ <area>260,626,760,24</area>
++
++ <button name="JUMPSTART">
++ <area>75,0,128,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,200,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>JUMP TO BEGINNING</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="SETBOOKMARK">
++ <area>280,0,200,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,200,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>BOOKMARK</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ <button name="JUMPBKMRK">
++ <area>485,0,200,24</area>
++ <statetype name="buttonstate">
++ <state name="active">
++ <textarea name="text">
++ <area>0,0,200,24</area>
++ <align>allcenter</align>
++ <font>smallgrey</font>
++ <cutdown>none</cutdown>
++ <value>JUMP TO BOOKMARK</value>
++ </textarea>
++ </state>
++ <state name="selected" from="active">
++ <textarea name="text">
++ <font>smallyellow</font>
++ </textarea>
++ </state>
++ <state name="disabled" from="active" />
++ <state name="pushed" from="selected" />
++ </statetype>
++ </button>
++
++ </group>
++
++ </window>
++
+ <window name="osd_status">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="small" face="DejaVu Sans">
++ <fontdef name="small" face="Overlock">
+ <color>#e6e6e6</color>
+- <pixelsize>18</pixelsize>
++ <pixelsize>20</pixelsize>
+ </fontdef>
+
+ <shape name="osd-status-backdrop">
+@@ -436,12 +772,19 @@
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="description">
+- <area>90,658,1100,24</area>
++ <textarea name="value">
++ <area>90,657,1100,24</area>
+ <font>small</font>
+ <align>allcenter</align>
+- <template>%DESCRIPTION%
+- %(|REMAININGTIME|)%%(|BEHINDTIME|)%%VALUE%%UNITS%</template>
++ <template>%VALUE%%UNITS%</template>
++ </textarea>
++
++ <textarea name="playedtime" depends="!value">
++ <area>90,657,1100,24</area>
++ <font>small</font>
++ <align>allcenter</align>
++ <template>%PLAYEDTIME% of %TOTALTIME%
++ %(|REMAININGTIME| remains)%%(|BEHINDTIME| behind)%</template>
+ </textarea>
+
+ <clock name="clock">
+@@ -470,39 +813,39 @@
+ <window name="program_info">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="small" face="DejaVu Sans">
++ <fontdef name="small" face="Overlock">
+ <color>#e6e6e6</color>
+- <pixelsize>21</pixelsize>
++ <pixelsize>23</pixelsize>
+ </fontdef>
+
+- <fontdef name="supersmall" from="small">
++ <fontdef name="supersmall" from="small">
+ <weight>bold</weight>
+- <pixelsize>12</pixelsize>
++ <pixelsize>14</pixelsize>
+ </fontdef>
+
+ <fontdef name="smaller" from="small">
+- <pixelsize>16</pixelsize>
++ <pixelsize>18</pixelsize>
+ </fontdef>
+
+ <fontdef name="mediumsmall" from="small">
+- <pixelsize>18</pixelsize>
++ <pixelsize>20</pixelsize>
+ </fontdef>
+
+ <fontdef name="medium" from="small">
+- <pixelsize>22</pixelsize>
++ <pixelsize>24</pixelsize>
+ </fontdef>
+
+ <fontdef name="title" from="small">
+- <color>#d9d900</color>
+- <pixelsize>26</pixelsize>
++ <color>#ebb81c</color>
++ <pixelsize>28</pixelsize>
+ </fontdef>
+
+ <fontdef name="large" from="small">
+- <pixelsize>28</pixelsize>
++ <pixelsize>30</pixelsize>
+ </fontdef>
+
+ <fontdef name="supersmallblue" from="supersmall">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <shape name="program-info-backdrop">
+@@ -628,7 +971,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>WatchingLiveTM</value>
++ <value>WatchingLiveTV</value>
+ </textarea>
+ </state>
+ <state name="WatchingPreRecorded">
+@@ -685,7 +1028,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>AudioCodec: PCM_DVD</value>
++ <value>AudioCodec: PCM DVD</value>
+ </textarea>
+ </state>
+ <state name="PCM_BLURAY">
+@@ -787,7 +1130,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>Audio: Mono</value>
++ <value>AudioChannels: Mono</value>
+ </textarea>
+ </state>
+ <state name="2">
+@@ -805,7 +1148,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>Audio: 5 CH.</value>
++ <value>AudioChannels: 5.0</value>
+ </textarea>
+ </state>
+ <state name="6">
+@@ -823,7 +1166,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>Audio: 7 CH.</value>
++ <value>AudioChannels: 7.0</value>
+ </textarea>
+ </state>
+ <state name="8">
+@@ -832,7 +1175,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>Audio: 7.1 CH.</value>
++ <value>AudioChannels: 7.1</value>
+ </textarea>
+ </state>
+ </statetype>
+@@ -844,7 +1187,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>VideoCodec: MPEG-2</value>
++ <value>VideoCodec: MPEG2</value>
+ </textarea>
+ </state>
+ <state name="VC-1">
+@@ -853,7 +1196,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>VideoCodec: VC-1</value>
++ <value>VideoCodec: VC1</value>
+ </textarea>
+ </state>
+ <state name="H.264">
+@@ -865,13 +1208,22 @@
+ <value>VideoCodec: H.264</value>
+ </textarea>
+ </state>
++ <state name="HEVC">
++ <textarea name="HEVC">
++ <area>830,432,180,16</area>
++ <font>supersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>VideoCodec: HEVC</value>
++ </textarea>
++ </state>
+ <state name="MPEG-4">
+ <textarea name="MPEG-4">
+ <area>830,432,180,16</area>
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>VideoCodec: MPEG-4</value>
++ <value>VideoCodec: MPEG4</value>
+ </textarea>
+ </state>
+ <state name="RTjpeg">
+@@ -910,7 +1262,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>VideoDesc: SD</value>
++ <value>VideoRes: SD</value>
+ </textarea>
+ </state>
+ <state name="HD_720_P">
+@@ -919,7 +1271,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>VideoDesc: HD_720_P</value>
++ <value>VideoRes: HD720p</value>
+ </textarea>
+ </state>
+ <state name="HD_1080_I">
+@@ -928,7 +1280,7 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>VideoDesc: HD_1080_I</value>
++ <value>VideoRes: HD1080i</value>
+ </textarea>
+ </state>
+ <state name="HD_1080_P">
+@@ -937,23 +1289,50 @@
+ <font>supersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>VideoDesc: HD_1080_P</value>
++ <value>VideoRes: HD1080p</value>
++ </textarea>
++ </state>
++ <state name="UHD_4K_I">
++ <textarea name="UHD_4K_I">
++ <area>1010,432,180,16</area>
++ <font>supersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>VideoRes: UHD4Ki</value>
++ </textarea>
++ </state>
++ <state name="UHD_4K_P">
++ <textarea name="UHD_4K_P">
++ <area>1010,432,180,16</area>
++ <font>supersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>VideoRes: UHD4Kp</value>
+ </textarea>
+ </state>
+ </statetype>
+
+- <textarea name="timedate">
++ <!--use channum to detect if in videos-->
++ <textarea name="timedate" depends="channum">
+ <font>mediumsmall</font>
+- <area>274,453,481,24</area>
++ <area>274,453,581,24</area>
+ <align>vcenter</align>
+- <template>%TIMEDATE% : %LENMINS%</template>
++ <template>%TIMEDATE% %LONGREPEAT%</template>
+ </textarea>
+
+- <textarea name="longrepeat">
++ <!--use channum to detect if in videos-->
++ <textarea name="lenminsFilesize" depends="channum">
+ <font>mediumsmall</font>
+- <area>771,453,435,22</area>
++ <area>871,453,335,22</area>
++ <align>right,vcenter</align>
++ <template>%LENMINS% (%FILESIZE_STR%)</template>
++ </textarea>
++
++ <!--use channum to detect if in videos-->
++ <textarea name="lenmins" depends="!channum">
++ <font>mediumsmall</font>
++ <area>871,453,335,22</area>
+ <align>right,vcenter</align>
+- <template>%LONGREPEAT% Size: %FILESIZE_STR%</template>
+ </textarea>
+
+ <imagetype name="coverart">
+@@ -988,13 +1367,22 @@
+ <alpha>255</alpha>
+ </imagetype>
+
+- <textarea name="category">
++ <!--use channum to detect if in videos-->
++ <textarea name="category" depends="channum">
+ <font>supersmallblue</font>
+ <area>284,490,912,28</area>
+ <align>allcenter</align>
+ <template>Category: %CATEGORY% PlayBackGroup: %PLAYGROUP% RecGroup: %RECORDINGGROUP% StorageGroup: %STORAGEGROUP%</template>
+ </textarea>
+
++ <!--use channum to detect if in videos-->
++ <textarea name="playback" depends="!channum">
++ <font>supersmallblue</font>
++ <area>284,490,912,28</area>
++ <align>allcenter</align>
++ <template>PlayBackGroup: %PLAYGROUP% RecGroup: %RECORDINGGROUP% StorageGroup: %STORAGEGROUP%</template>
++ </textarea>
++
+ <textarea name="description">
+ <font>small</font>
+ <area>284,523,912,126</area>
+@@ -1003,37 +1391,62 @@
+ <template>%"|SUBTITLE|" %%YEARSTARS| %%DESCRIPTION%</template>
+ </textarea>
+
+- <textarea name="programid">
++ <textarea name="programid" depends="channum&amp;!coverart">
+ <font>supersmallblue</font>
+ <area>284,653,912,27</area>
+ <align>allcenter</align>
+ <template>Season/Episode: %s00e00% ProgramID: %PROGRAMID% SeriesID: %SERIESID%</template>
+ </textarea>
+
++ <textarea name="channame" depends="channum&amp;coverart">
++ <font>supersmallblue</font>
++ <area>284,653,912,27</area>
++ <align>allcenter</align>
++ <template>Channel: %channum% - %channame% - %callsign% Season/Episode: %s00e00% ProgramID: %PROGRAMID% SeriesID: %SERIESID%</template>
++ </textarea>
++
++ <!--use channum to detect if in videos-->
++ <textarea name="s00e00" depends="!channum">
++ <font>supersmallblue</font>
++ <area>2284,653,912,27</area>
++ <align>allcenter</align>
++ </textarea>
++ <textarea name="seasoneps" depends="!channum&amp;s00e00">
++ <font>supersmallblue</font>
++ <area>284,653,912,27</area>
++ <align>allcenter</align>
++ <template>Season/Episode: %s00e00%</template>
++ </textarea>
++
+ </window>
+
+ <window name="browse_info">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="small" face="DejaVu Sans">
++ <fontdef name="small" face="Overlock">
+ <color>#e6e6e6</color>
+- <pixelsize>21</pixelsize>
++ <pixelsize>23</pixelsize>
+ </fontdef>
+
+ <fontdef name="smaller" from="small">
+- <pixelsize>18</pixelsize>
++ <pixelsize>20</pixelsize>
+ </fontdef>
+
+ <fontdef name="medium" from="small">
+- <pixelsize>24</pixelsize>
++ <pixelsize>26</pixelsize>
++ </fontdef>
++
++ <fontdef name="title" from="small">
++ <color>#ebb81c</color>
++ <pixelsize>28</pixelsize>
+ </fontdef>
+
+ <fontdef name="large" from="small">
+- <pixelsize>26</pixelsize>
++ <pixelsize>28</pixelsize>
+ </fontdef>
+
+ <fontdef name="smallerblue" from="smaller">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <shape name="browse-info-backdrop">
+@@ -1084,7 +1497,7 @@
+ </shape>
+
+ <shape name="title-backdrop-line">
+- <area>219,489,834,68</area>
++ <area>219,489,996,68</area>
+ <type>roundbox</type>
+ <fill color="#000000" alpha="0" />
+ <line color="#ffffff" alpha="45" width="2" />
+@@ -1092,11 +1505,11 @@
+ </shape>
+
+ <shape name="title-top-line" from="channel-top-line">
+- <area>220,490,832,2</area>
++ <area>220,490,994,2</area>
+ </shape>
+
+ <shape name="title-bottom-line" from="channel-top-line">
+- <area>220,554,832,2</area>
++ <area>220,554,994,2</area>
+ </shape>
+
+ <shape name="title-left-line" from="channel-left-line">
+@@ -1104,30 +1517,6 @@
+ </shape>
+
+ <shape name="title-right-line" from="channel-left-line">
+- <area>1050,492,2,62</area>
+- </shape>
+-
+- <shape name="clock-backdrop-line">
+- <area>1057,489,158,68</area>
+- <type>roundbox</type>
+- <fill color="#000000" alpha="0" />
+- <line color="#ffffff" alpha="45" width="2" />
+- <cornerradius>6</cornerradius>
+- </shape>
+-
+- <shape name="clock-top-line" from="channel-top-line">
+- <area>1058,490,156,2</area>
+- </shape>
+-
+- <shape name="clock-bottom-line" from="channel-top-line">
+- <area>1058,554,156,2</area>
+- </shape>
+-
+- <shape name="clock-left-line" from="channel-left-line">
+- <area>1058,492,2,62</area>
+- </shape>
+-
+- <shape name="clock-right-line" from="channel-left-line">
+ <area>1212,492,2,62</area>
+ </shape>
+
+@@ -1175,30 +1564,29 @@
+ </textarea>
+
+ <textarea name="title">
+- <font>medium</font>
++ <font>title</font>
+ <area>228,494,816,30</area>
+ <align>left,vcenter</align>
+ </textarea>
+
+ <textarea name="timedate">
+- <font>smallerblue</font>
+- <area>228,529,497,22</area>
++ <font>smaller</font>
++ <area>228,529,843,22</area>
+ <align>vcenter</align>
+- <template>%TIMEDATE% : %LENMINS%</template>
++ <template>%TIMEDATE% %LONGREPEAT%</template>
+ </textarea>
+
+- <textarea name="longrepeat">
+- <font>smallerblue</font>
+- <area>740,530,304,20</area>
++ <textarea name="lenmins">
++ <font>smaller</font>
++ <area>1086,530,120,22</area>
+ <align>right,vcenter</align>
+- <template>%LONGREPEAT%</template>
+ </textarea>
+
+ <clock name="clock">
+- <area>1060,492,152,62</area>
+- <font>large</font>
++ <area>1086,494,120,30</area>
++ <font>medium</font>
+ <template>%TIME%</template>
+- <align>allcenter</align>
++ <align>right,vcenter</align>
+ </clock>
+
+ <textarea name="description">
+@@ -1214,9 +1602,9 @@
+ <window name="ChannelEditor">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="small" face="DejaVu Sans">
++ <fontdef name="small" face="Overlock">
+ <color>#e6e6e6</color>
+- <pixelsize>20</pixelsize>
++ <pixelsize>22</pixelsize>
+ </fontdef>
+
+ <fontdef name="smallblack" from="small">
+@@ -1224,7 +1612,7 @@
+ </fontdef>
+
+ <fontdef name="smallblue" from="small">
+- <color>#3a9ade</color>
++ <color>#0072bc</color>
+ </fontdef>
+
+ <fontdef name="smallgrey" from="small">
+@@ -1232,7 +1620,7 @@
+ </fontdef>
+
+ <fontdef name="medium" from="small">
+- <pixelsize>24</pixelsize>
++ <pixelsize>26</pixelsize>
+ </fontdef>
+
+ <shape name="channel-editor-backdrop">
+@@ -1610,9 +1998,9 @@
+ <window name="osd_program_editor">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="small" face="DejaVu Sans">
++ <fontdef name="small" face="Overlock">
+ <color>#e6e6e6</color>
+- <pixelsize>18</pixelsize>
++ <pixelsize>20</pixelsize>
+ </fontdef>
+
+ <shape name="osd-program-editor-backdrop">
+@@ -1663,13 +2051,17 @@
+ </shape>
+
+ <textarea name="title">
+- <area>104,626,600,24</area>
++ <area>104,626,250,24</area>
+ <font>small</font>
+ <align>left,vcenter</align>
+ </textarea>
+-
++<!--
++ <imagetype name="audiograph">
++ <area>364,628,552,20</area>
++ </imagetype>
++-->
+ <textarea name="seekamount" from="title">
+- <area>876,626,300,24</area>
++ <area>926,626,250,24</area>
+ <align>right,vcenter</align>
+ </textarea>
+
+@@ -1749,9 +2141,9 @@
+ <window name="MythPopupBox">
+ <area>0,0,1280,720</area>
+
+- <fontdef name="small" face="DejaVu Sans">
++ <fontdef name="small" face="Overlock">
+ <color>#ffffff</color>
+- <pixelsize>21</pixelsize>
++ <pixelsize>23</pixelsize>
+ </fontdef>
+
+ <fontdef name="smallgrey" from="small">
+@@ -1759,7 +2151,7 @@
+ </fontdef>
+
+ <fontdef name="smallyellow" from="small">
+- <color>#d9d900</color>
++ <color>#ebb81c</color>
+ </fontdef>
+
+ <shape name="mythpopupbox-backdrop">
+@@ -1810,7 +2202,7 @@
+ </shape>
+
+ <shape name="message-area-seperator-line">
+- <area>362,328,556,2</area>
++ <area>362,290,556,2</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="45">
+@@ -1822,21 +2214,21 @@
+ </shape>
+
+ <shape name="mythpopup-box-arrows-backdrop">
+- <area>342,603,50,14</area>
++ <area>888,603,50,14</area>
+ <type>roundbox</type>
+- <fill color="#000000" alpha="200" />
++ <fill color="#000000" alpha="140" />
+ <cornerradius>90</cornerradius>
+ </shape>
+
+ <textarea name="messagearea">
+- <area>355,126,570,196</area>
+- <font>smallyellow</font>
++ <area>355,126,570,158</area>
++ <font>small</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
+
+ <buttonlist name="list">
+- <area>347,332,586,264</area>
++ <area>347,294,586,302</area>
+ <layout>vertical</layout>
+ <spacing>4</spacing>
+ <showarrow>yes</showarrow>
+@@ -1922,7 +2314,7 @@
+ </fill>
+ </shape>
+ <textarea name="buttontext">
+- <font>small</font>
++ <font>smallyellow</font>
+ </textarea>
+ <imagetype name="buttonarrow">
+ <alpha>255</alpha>
+@@ -1964,7 +2356,7 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>2,274</position>
++ <position>548,312</position>
+ <state type="off">
+ <imagetype name="upon">
+ <filename>images/osd/lists_up_arrow.png</filename>
+@@ -1978,7 +2370,7 @@
+ </state>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>22,274</position>
++ <position>568,312</position>
+ <state type="off">
+ <imagetype name="dnon">
+ <filename>images/osd/lists_down_arrow.png</filename>
diff --git a/linhes/linhes-theme/osd_subtitle.xml b/linhes/linhes-theme/osd_subtitle.xml
new file mode 100644
index 0000000..7640654
--- /dev/null
+++ b/linhes/linhes-theme/osd_subtitle.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE mythuitheme SYSTEM "http://www.mythtv.org/schema/mythuitheme.dtd">
+<mythuitheme>
+ <window name="osd_subtitle">
+ <!--
+ This is a reference implementation of the system/provider
+ defaults specified in
+ SubtitleFormat:CreateProviderDefault().
+
+ Note that if all attributes/elements are simply inherited
+ from provider, then the specification is optional. E.g.,
+ the following could be omitted:
+
+ <fontdef name="sample" from="provider"></fontdef>
+ <shape name="sample" from="provider"></shape>
+
+ Also note that these specific definitions are unnecessary
+ since they are the same as the defaults in the code. A
+ theme only needs to include the definitions that it wants
+ to change/override.
+ -->
+
+ <!--
+ Define a black background which is used below for 608 and
+ text subtitles. If a background is not used, it is
+ recommended to use a 2-pixel outline or shadow in the
+ fontdef, in order to provide sufficient contrast. Note
+ that 708 captions providers almost always specify an
+ explicit black background.
+ -->
+ <shape name="black_background" from="provider">
+ <type>roundbox</type>
+ <cornerradius>8</cornerradius>
+ <fill color="#000000" alpha="140" />
+ </shape>
+
+
+ <!--
+ Subtitle type "text" generally comes from external text
+ files like .srt or .txt files.
+ -->
+ <fontdef name="text" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <shape name="text" from="black_background">
+ </shape>
+
+
+ <!--
+ Digital teletext text-based subtitles. Not to be confused
+ with bitmap teletext subtitles, or CEA-608 teletext
+ captions. A monospaced font should be used.
+ -->
+ <fontdef name="teletext" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+
+ <!--
+ CEA-608 closed captions. These also apply to CEA-608 VBI
+ teletext captions. A monospaced font should be used.
+ -->
+ <fontdef name="608" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <shape name="608" from="black_background">
+ </shape>
+
+
+ <!--
+ CEA-708 closed captions. The spec defines 8 different
+ font tags, but in practice (at least in the U.S.), only
+ tags 0 and 3 are used by broadcasters.
+ -->
+ <!-- Font tag 0: "Default" -->
+ <fontdef name="708_0" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <!-- Font tag 1: "Monospaced Serif" -->
+ <fontdef name="708_1" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <!-- Font tag 2: "Proportional Serif" -->
+ <fontdef name="708_2" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <!-- Font tag 3: "Monospaced Sans Serif" -->
+ <fontdef name="708_3" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <!-- Font tag 4: "Proportional Sans Serif" -->
+ <fontdef name="708_4" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <!-- Font tag 5: "Casual" -->
+ <fontdef name="708_5" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <!-- Font tag 6: "Cursive" -->
+ <fontdef name="708_6" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ <!-- Font tag 7: "Small Capitals" -->
+ <!-- Note: The Qt property QFont::SmallCaps is automatically
+ applied to this font. -->
+ <fontdef name="708_7" face="Overlock" from="provider">
+ <outlinecolor>#000000</outlinecolor>
+ <outlinesize>2</outlinesize>
+ <outlinealpha>255</outlinealpha>
+ </fontdef>
+
+ </window>
+</mythuitheme>
diff --git a/linhes/linhes-theme/preview.png b/linhes/linhes-theme/preview.png
new file mode 100644
index 0000000..7c1efdb
--- /dev/null
+++ b/linhes/linhes-theme/preview.png
Binary files differ
diff --git a/linhes/linhes-theme/progdetails_page1.html b/linhes/linhes-theme/progdetails_page1.html
new file mode 100644
index 0000000..76ce9d0
--- /dev/null
+++ b/linhes/linhes-theme/progdetails_page1.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <style type="text/css">
+ body {background-color:#0a0a0e;}
+ h1 {font-family:Overlock;font-size:1.6em;font-style: normal;color:#ebb81c;margin-top: -5pt;text-align: center;}
+ h2 {font-family:Overlock;font-size:1.5em;font-style: normal;color:#ebb81c;margin-top: -5pt;text-align: center;}
+ p {font-family:Overlock;font-size:1.4em;font-style: normal;color:#e6e6e6;margin-top: -10pt;text-align: center;}
+ hr {border:1px solid #0a0a0e;background-color:#7e8082;height:3px;margin-top: -10pt;margin-bottom: 13pt}
+ #wrap {width:100%;margin:0px auto;}
+ .col {float:left;width:33%;}
+ </style>
+</head>
+
+<body>
+ <h1>%TITLE%</h1><p>%DESCRIPTION%</p>
+ <h1>%TITLE_PRONOUNCE_LABEL%</h1> <p>%TITLE_PRONOUNCE%</p>
+ <hr />
+ <div id="wrap">
+ <div class="col">
+ <h2>%ORIGINAL_AIRDATE_LABEL%</h2> <p>%ORIGINAL_AIRDATE%</p>
+ <h2>%SEASON_LABEL%/%EPISODE_LABEL%</h2> <p>S%SEASON%/E%EPISODE%</p>
+ <h2>%CATEGORY_LABEL%</h2> <p>%CATEGORY%</p>
+ <h2>%CATEGORY_TYPE_LABEL%</h2> <p>%CATEGORY_TYPE%</p>
+ <h2>%PROGRAMID_LABEL%</h2> <p>%PROGRAMID%</p>
+ <h2>%MYTHTV_STATUS_LABEL%</h2> <p>%MYTHTV_STATUS%</p>
+ <h2>%RECORDING_RULE_LABEL%</h2> <p>%RECORDING_RULE%</p>
+ <h2>%SEARCH_PHRASE_LABEL%</h2> <p>%SEARCH_PHRASE%</p>
+ <h2>%RECORDED_FILE_NAME_LABEL%</h2> <p>%RECORDED_FILE_NAME%</p>
+ <h2>%RECORDED_FILE_SIZE_LABEL%</h2> <p>%RECORDED_FILE_SIZE%</p>
+ </div>
+ <div class="col">
+ <h2>%RECORDING_PROFILE_LABEL%</h2> <p>%RECORDING_PROFILE%</p>
+ <h2>%RECORDING_GROUP_LABEL%</h2> <p>%RECORDING_GROUP%</p>
+ <h2>%STORAGE_GROUP_LABEL%</h2> <p>%STORAGE_GROUP%</p>
+ <h2>%PLAYBACK_GROUP_LABEL%</h2> <p>%PLAYBACK_GROUP%</p>
+ <h2>%LAST_RECORDED_LABEL%</h2> <p>%LAST_RECORDED%</p>
+ <h2>%NEXT_RECORDING_LABEL%</h2> <p>%NEXT_RECORDING%</p>
+ <h2>%AVERAGE_TIME_SHIFT_LABEL%</h2> <p>%AVERAGE_TIME_SHIFT%</p>
+ <h2>%WATCH_LIST_SCORE_LABEL%</h2> <p>%WATCH_LIST_SCORE%</p>
+ <h2>%WATCH_LIST_STATUS_LABEL%</h2> <p>%WATCH_LIST_STATUS%</p>
+ <h2>%FINDID_LABEL%</h2> <p>%FINDID%</p>
+ <h2>%RECORDING_HOST_LABEL%</h2> <p>%RECORDING_HOST%</p>
+ <h2>%RECORDING_INPUT_LABEL%</h2> <p>%RECORDING_INPUT%</p>
+ </div>
+ <div class="col">
+ <h2>%ACTORS_LABEL%</h2> <p>%ACTORS%</p>
+ <h2>%GUEST_STAR_LABEL%</h2> <p>%GUEST_STAR%</p>
+ <h2>%GUEST_LABEL%</h2> <p>%GUEST%</p>
+ <h2>%DIRECTOR_LABEL%</h2> <p>%DIRECTOR%</p>
+ <h2>%PRODUCER_LABEL%</h2> <p>%PRODUCER%</p>
+ <h2>%EXECUTIVE_PRODUCER_LABEL%</h2> <p>%EXECUTIVE_PRODUCER%</p>
+ <h2>%WRITER_LABEL%</h2> <p>%WRITER%</p>
+ <h2>%HOST_LABEL%</h2> <p>%HOST%</p>
+ <h2>%ADAPTER_LABEL%</h2> <p>%ADAPTER%</p>
+ <h2>%PRESENTER_LABEL%</h2> <p>%PRESENTER%</p>
+ <h2>%COMMENTATOR_LABEL%</h2> <p>%COMMENTATOR%</p>
+ </div>
+ </div>
+</body>
+
+</html>
diff --git a/linhes/linhes-theme/qtlook.txt.patch b/linhes/linhes-theme/qtlook.txt.patch
new file mode 100644
index 0000000..7435db4
--- /dev/null
+++ b/linhes/linhes-theme/qtlook.txt.patch
@@ -0,0 +1,11 @@
+--- qtlook.txt.orig 2014-01-02 21:32:43.941375600 +0000
++++ qtlook.txt 2014-01-02 21:32:57.946243387 +0000
+@@ -3,7 +3,7 @@
+ # Color of lines, text, etc
+ str ForegroundColor=1a1a1a
+ # Pixmap to use for the background
+-str BackgroundPixmap=images/backgrounds/qt-background.png
++str BackgroundPixmap=images/backgrounds/background.png
+ str Font=DejaVu Sans
+
+ # Forground for dialogs
diff --git a/linhes/linhes-theme/question.png b/linhes/linhes-theme/question.png
new file mode 100644
index 0000000..1eda678
--- /dev/null
+++ b/linhes/linhes-theme/question.png
Binary files differ
diff --git a/linhes/linhes-theme/readme.txt.patch b/linhes/linhes-theme/readme.txt.patch
new file mode 100644
index 0000000..f82817d
--- /dev/null
+++ b/linhes/linhes-theme/readme.txt.patch
@@ -0,0 +1,29 @@
+--- readme.txt.orig 2014-05-27 19:56:48.714421419 +0000
++++ readme.txt 2014-05-27 19:58:12.880315485 +0000
+@@ -1,26 +1,9 @@
+-Backgrounds.
+-
+-If the default background is too light for you there is a darker version located
+-in images/backgrounds/dark/.
+-
+-If the default background is too dark for you there is a lighter version located
+-in images/backgrounds/light/.
+-
+-You can just copy them over to the images/backgrounds/ directory.
+-I actually use the darker version myself as my tv is set pretty bright but it is too dark
+-for computer monitors.
+-
+ Alternate osd.
+ There is an alternate osd available for anybody that doesn't like the default. ( osd.xml.alt )
+ I use the alternate osd myself.
+ To use just move the default osd to osd.xml.orig and copy the osd.xml.alt to osd.xml.
+ Example mv osd.xml osd.xml.orig and cp osd.xml.alt osd.xml.
+
+-Alternate vertical main menu.
+-There is an alternate main menu using a vertical layout rather than the default horizontal layout.
+-To use just backup main-ui.xml. Example cp menu-ui.xml menu-ui.xml.bak.
+-Then cp menu-ui-vert.xml to menu-ui.xml.
+-
+ Color text in lists.
+
+ There are two types of lists in the theme.
diff --git a/linhes/linhes-theme/recordings-ui.xml.patch b/linhes/linhes-theme/recordings-ui.xml.patch
new file mode 100644
index 0000000..f2650c3
--- /dev/null
+++ b/linhes/linhes-theme/recordings-ui.xml.patch
@@ -0,0 +1,995 @@
+--- recordings-ui.xml.orig 2023-02-28 10:30:24.782781888 -0500
++++ recordings-ui.xml 2023-03-26 17:34:08.638504647 -0400
+@@ -105,19 +105,11 @@
+ </shape>
+
+ <shape name="description-seperator-top-line" from="base_line">
+- <area>188,487,684,2</area>
++ <area>37,487,835,2</area>
+ </shape>
+
+ <shape name="description-seperator-bottom-line" from="base_line">
+- <area>188,643,684,2</area>
+- </shape>
+-
+- <shape name="coverart-border">
+- <area>37,464,136,204</area>
+- <type>roundbox</type>
+- <fill color="#000000" alpha="0" />
+- <line color="#AAAAAA" alpha="100" width="2" />
+- <cornerradius>6</cornerradius>
++ <area>37,643,835,2</area>
+ </shape>
+
+ <shape name="preview-border">
+@@ -194,6 +186,7 @@
+ <textarea name="buttontext">
+ <area>8,0,284,64</area>
+ <align>allcenter</align>
++ <font>basesmaller</font>
+ <multiline>yes</multiline>
+ </textarea>
+ </state>
+@@ -218,6 +211,7 @@
+ </textarea>
+ <textarea name="shortstartdate" from="titlesubtitle">
+ <area>720,0,80,30</area>
++ <cutdown>no</cutdown>
+ <align>right,vcenter</align>
+ </textarea>
+ <textarea name="filesize_str" from="base_text_font_state_extrasmall">
+@@ -232,23 +226,24 @@
+ <area>0,0,898,64</area>
+ <textarea name="titlesubtitle" from="base_text_font_state_small">
+ <area>8,2,694,24</area>
+- <font state="normal">basesmall</font>
++ <font state="normal">basesmallyellow</font>
+ <align>vcenter</align>
+ </textarea>
+ <textarea name="shortstartdate" from="titlesubtitle">
+- <area>720,3,80,24</area>
++ <area>720,2,80,24</area>
++ <cutdown>no</cutdown>
+ <align>right,vcenter</align>
+ </textarea>
+ <textarea name="filesize_str" from="base_text_font_state_extrasmall">
+- <area>818,7,72,18</area>
+- <font state="normal">baseextrasmall</font>
++ <area>818,2,72,24</area>
++ <font state="normal">baseextrasmallyellow</font>
+ <cutdown>no</cutdown>
+ <align>right,vcenter</align>
+ </textarea>
+ <statetype name="playlist">
+ <state name="no">
+ <textarea name="play-list" from="basetextarea">
+- <area>24,24,80,20</area>
++ <area>8,24,80,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>left,vcenter</align>
+@@ -258,7 +253,7 @@
+ </state>
+ <state name="yes">
+ <textarea name="play-list" from="basetextarea">
+- <area>24,24,80,20</area>
++ <area>8,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>left,vcenter</align>
+@@ -270,7 +265,7 @@
+ <showempty>yes</showempty>
+ <state name="mono">
+ <textarea name="mono" from="basetextarea">
+- <area>78,24,80,20</area>
++ <area>62,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -279,7 +274,7 @@
+ </state>
+ <state name="stereo">
+ <textarea name="stereo" from="basetextarea">
+- <area>78,24,80,20</area>
++ <area>62,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -288,7 +283,7 @@
+ </state>
+ <state name="surround">
+ <textarea name="surround" from="basetextarea">
+- <area>78,24,80,20</area>
++ <area>62,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -297,7 +292,7 @@
+ </state>
+ <state name="dolby">
+ <textarea name="dolby" from="basetextarea">
+- <area>78,24,80,20</area>
++ <area>62,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -307,56 +302,131 @@
+ </statetype>
+ <statetype name="videoprops">
+ <showempty>yes</showempty>
++ <state name="sd">
++ <textarea name="sd" from="basetextarea">
++ <area>126,24,80,20</area>
++ <font>basesupersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>SD</value>
++ </textarea>
++ </state>
+ <state name="hdtv">
+ <textarea name="hdtv" from="basetextarea">
+- <area>142,24,80,20</area>
++ <area>126,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>HDTV</value>
++ <value>HD</value>
+ </textarea>
+ </state>
+ <state name="widescreen">
+ <textarea name="widescreen" from="basetextarea">
+- <area>142,24,80,20</area>
++ <area>126,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>16x9</value>
++ <value>WIDE</value>
+ </textarea>
+ </state>
+ <state name="avchd">
+ <textarea name="avchd" from="basetextarea">
+- <area>142,24,80,20</area>
++ <area>126,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>AVCHD</value>
++ <value>AVC</value>
+ </textarea>
+ </state>
+ <state name="hd720">
+ <textarea name="hd720" from="basetextarea">
+- <area>142,24,80,20</area>
++ <area>126,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+- <value>HD720P</value>
++ <value>HD720p</value>
+ </textarea>
+ </state>
+ <state name="hd1080">
+ <textarea name="hd1080" from="basetextarea">
+- <area>142,24,80,20</area>
++ <area>126,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ <value>HD1080</value>
+- </textarea>
++ </textarea>
++ </state>
++ <state name="hd1080i">
++ <textarea name="hd1080i" from="basetextarea">
++ <area>126,24,80,20</area>
++ <font>basesupersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>HD1080i</value>
++ </textarea>
++ </state>
++ <state name="hd1080p">
++ <textarea name="hd1080p" from="basetextarea">
++ <area>126,24,80,20</area>
++ <font>basesupersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>HD1080p</value>
++ </textarea>
++ </state>
++ <state name="uhd4ki">
++ <textarea name="uhd4ki" from="basetextarea">
++ <area>126,24,80,20</area>
++ <font>basesupersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>UHD4Ki</value>
++ </textarea>
++ </state>
++ <state name="uhd4kp">
++ <textarea name="uhd4kp" from="basetextarea">
++ <area>126,24,80,20</area>
++ <font>basesupersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>UHD4Kp</value>
++ </textarea>
++ </state>
++ </statetype>
++ <statetype name="codecprops">
++ <showempty>yes</showempty>
++ <state name="mpeg2">
++ <textarea name="mpeg2" from="basetextarea">
++ <area>192,24,80,20</area>
++ <font>basesupersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>MPEG2</value>
++ </textarea>
++ </state>
++ <state name="avc">
++ <textarea name="avc" from="basetextarea">
++ <area>192,24,80,20</area>
++ <font>basesupersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>AVC</value>
++ </textarea>
++ </state>
++ <state name="hevc">
++ <textarea name="hevc" from="basetextarea">
++ <area>192,24,80,20</area>
++ <font>basesupersmallblue</font>
++ <cutdown>no</cutdown>
++ <align>allcenter</align>
++ <value>HEVC</value>
++ </textarea>
+ </state>
+ </statetype>
+ <statetype name="watched">
+ <state name="no">
+ <textarea name="watchedoff" from="basetextarea">
+- <area>215,24,80,20</area>
++ <area>263,24,80,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -366,7 +436,7 @@
+ </state>
+ <state name="yes">
+ <textarea name="watchedoff" from="basetextarea">
+- <area>215,24,80,20</area>
++ <area>263,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -377,7 +447,7 @@
+ <statetype name="autoexpire">
+ <state name="no">
+ <textarea name="autoexpireoff" from="basetextarea">
+- <area>305,24,80,20</area>
++ <area>346,24,80,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -387,7 +457,7 @@
+ </state>
+ <state name="yes">
+ <textarea name="autoexpire" from="basetextarea">
+- <area>305,24,80,20</area>
++ <area>346,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -398,7 +468,7 @@
+ <statetype name="commflagged">
+ <state name="no">
+ <textarea name="commflaggedoff" from="basetextarea">
+- <area>400,24,90,20</area>
++ <area>438,24,92,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -408,7 +478,7 @@
+ </state>
+ <state name="yes">
+ <textarea name="commflagged" from="basetextarea">
+- <area>400,24,90,20</area>
++ <area>438,24,92,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -418,10 +488,10 @@
+ <state name="running">
+ <area>0,0,100%,100%</area>
+ <textarea name="commflagging" from="basetextarea">
+- <area>399,24,92,20</area>
++ <area>438,24,92,20</area>
+ <font>basesupersmallred</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>COMFLAGGING</value>
+ <alphapulse min="130" max="255" change="2"/>
+ </textarea>
+@@ -429,10 +499,10 @@
+ <state name="queued">
+ <area>0,0,100%,100%</area>
+ <textarea name="commflagging" from="basetextarea">
+- <area>399,24,92,20</area>
++ <area>438,24,92,20</area>
+ <font>basesupersmallyellow</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>CFLAGQUEUED</value>
+ <alphapulse min="130" max="255" change="2"/>
+ </textarea>
+@@ -441,7 +511,7 @@
+ <statetype name="bookmark">
+ <state name="no">
+ <textarea name="bookmarkoff" from="basetextarea">
+- <area>508,24,90,20</area>
++ <area>541,24,90,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -451,7 +521,7 @@
+ </state>
+ <state name="yes">
+ <textarea name="bookmark" from="basetextarea">
+- <area>508,24,90,20</area>
++ <area>541,24,90,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -462,7 +532,7 @@
+ <statetype name="cutlist">
+ <state name="no">
+ <textarea name="cutlistoff" from="basetextarea">
+- <area>600,24,80,20</area>
++ <area>632,24,80,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -472,7 +542,7 @@
+ </state>
+ <state name="yes">
+ <textarea name="cutlist" from="basetextarea">
+- <area>600,24,80,20</area>
++ <area>632,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -481,7 +551,7 @@
+ </state>
+ </statetype>
+ <textarea name="onscreensuboff" from="basetextarea">
+- <area>676,24,80,20</area>
++ <area>707,24,80,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -489,7 +559,7 @@
+ <value>SUBTITLES</value>
+ </textarea>
+ <textarea name="subtitleoff" from="basetextarea">
+- <area>676,24,80,20</area>
++ <area>707,24,80,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -497,7 +567,7 @@
+ <value>SUBTITLES</value>
+ </textarea>
+ <textarea name="ccoff" from="basetextarea">
+- <area>734,24,80,20</area>
++ <area>761,24,80,20</area>
+ <font>basesupersmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -508,7 +578,7 @@
+ <showempty>yes</showempty>
+ <state name="onscreensub">
+ <textarea name="onscreensub" from="basetextarea">
+- <area>676,24,80,20</area>
++ <area>707,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -517,7 +587,7 @@
+ </state>
+ <state name="subtitles">
+ <textarea name="subtitles" from="basetextarea">
+- <area>676,24,80,20</area>
++ <area>707,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -526,7 +596,7 @@
+ </state>
+ <state name="cc">
+ <textarea name="ccoff" from="basetextarea">
+- <area>734,24,80,20</area>
++ <area>761,24,80,20</area>
+ <font>basesupersmallblue</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+@@ -541,7 +611,7 @@
+ <area>796,24,92,20</area>
+ <font>basesupersmallred</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>right,vcenter</align>
+ <value>RECORDING</value>
+ <alphapulse min="130" max="255" change="2"/>
+ </textarea>
+@@ -552,7 +622,7 @@
+ <area>796,24,92,20</area>
+ <font>basesupersmallred</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>right,vcenter</align>
+ <alphapulse min="130" max="255" change="2"/>
+ <value>TRANSCODING</value>
+ </textarea>
+@@ -579,20 +649,20 @@
+ <align>allcenter</align>
+ </textarea>
+ <textarea name="s00e00" from="base_text_font_state_extrasmall">
+- <area>500,42,70,20</area>
++ <area>500,42,80,20</area>
+ <font state="normal">baseextrasmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ </textarea>
+ <textarea name="syndicatedepisode" from="base_text_font_state_extrasmall" depends="!s00e00">
+- <area>500,42,70,20</area>
++ <area>500,42,80,20</area>
+ <font state="normal">baseextrasmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ <template>%|[SYNDICATEDEPISODE|]%</template>
+ </textarea>
+ <textarea name="timedate" from="base_text_font_state_extrasmall">
+- <area>575,42,315,20</area>
++ <area>585,42,305,20</area>
+ <font state="normal">baseextrasmall</font>
+ <align>right,vcenter</align>
+ </textarea>
+@@ -606,60 +676,51 @@
+ </statetype>
+ </buttonlist>
+
+- <imagetype name="no_coverart_without_fanart" depends="!fanart">
+- <area>41,468,128,196</area>
+- <filename>images/no_coverart.png</filename>
+- <mask>images/masks/watchrecordings_coverart_mask.png</mask>
+- <preserveaspect>false</preserveaspect>
+- <alpha>255</alpha>
+- </imagetype>
+-
+- <imagetype name="no_coverart_with_fanart" depends="fanart">
+- <area>41,468,128,196</area>
+- <filename>images/no_coverart_with_fanart.png</filename>
+- <mask>images/masks/watchrecordings_coverart_mask.png</mask>
++ <imagetype name="coverart_mask" depends="coverart">
++ <area>28,93,300,338</area>
++ <filename>images/blank_coverart.png</filename>
+ <preserveaspect>false</preserveaspect>
+ <alpha>255</alpha>
+ </imagetype>
+
+ <imagetype name="coverart">
+- <area>41,468,128,196</area>
+- <mask>images/masks/watchrecordings_coverart_mask.png</mask>
+- <preserveaspect>false</preserveaspect>
++ <area>28,93,300,338</area>
++ <preserveaspect>true</preserveaspect>
+ <alpha>255</alpha>
+ </imagetype>
+
++
+ <textarea name="title" from="basetextarea">
+- <area>189,451,682,36</area>
++ <area>38,451,833,36</area>
+ <font>basemediumyellow</font>
+ <align>left,vcenter</align>
+ <template>%TITLE% %|(CATEGORY|)%</template>
+ </textarea>
+
+ <textarea name="description2" from="basetextarea">
+- <area>189,498,682,140</area>
++ <area>38,498,833,140</area>
+ <multiline>yes</multiline>
+ <cutdown>yes</cutdown>
+ <template>%"|SUBTITLE|" %%YEARSTARS| %%DESCRIPTION%</template>
+ </textarea>
+
+ <progressbar name="usedbar" from="baseprogressbar">
+- <position>189,659</position>
++ <position>38,659</position>
+ <imagetype name="background">
+- <area>0,0,682,8</area>
++ <area>0,0,833,8</area>
+ <filename>images/progressbar/progressbar_background.png</filename>
+ </imagetype>
+ <imagetype name="progressimage">
+- <area>0,0,682,8</area>
++ <area>0,0,833,8</area>
+ <filename>images/progressbar/progressbar_fill.png</filename>
+ </imagetype>
+ </progressbar>
+
+ <textarea name="freereport" from="basetextarea">
+- <area>189,665,682,20</area>
++ <area>38,665,833,20</area>
+ <font>basesupersmallyellow</font>
+ <align>allcenter</align>
+- <template>Disk space: %1</template>
++ <template>Disk Space: %1</template>
+ </textarea>
+
+ <imagetype name="no_preview_image_without_fanart" depends="!fanart">
+@@ -685,12 +746,10 @@
+ <alpha>255</alpha>
+ </imagetype>
+
+- <textarea name="norecordings">
+- <area>350,87,906,351</area>
+- <font>basemedium</font>
+- <value>No Recordings available, or screen loading...</value>
++ <textarea name="norecordings" from="basetextarea">
++ <area>38,498,833,140</area>
+ <multiline>yes</multiline>
+- <align>allcenter</align>
++ <value>No recordings are available.</value>
+ </textarea>
+
+ <group name="clock-backdrop-group" from="base_clock_backdrop_group" />
+@@ -1042,7 +1101,7 @@
+ <state name="commflagged">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>COMFLAGGED</value>
+ </textarea>
+@@ -1050,7 +1109,7 @@
+ <state name="cutlist">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>CUTLIST</value>
+ </textarea>
+@@ -1058,7 +1117,7 @@
+ <state name="autoexpire">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>AUTOEXPIRE</value>
+ </textarea>
+@@ -1066,7 +1125,7 @@
+ <state name="processing">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>COMFLAGGING</value>
+ </textarea>
+@@ -1074,7 +1133,7 @@
+ <state name="bookmark">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>BOOKMARKED</value>
+ </textarea>
+@@ -1082,7 +1141,7 @@
+ <state name="mono">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>MONO</value>
+ </textarea>
+@@ -1090,7 +1149,7 @@
+ <state name="stereo">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>STEREO</value>
+ </textarea>
+@@ -1098,7 +1157,7 @@
+ <state name="surround">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>SURROUND</value>
+ </textarea>
+@@ -1106,7 +1165,7 @@
+ <state name="dolby">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>DOLBY</value>
+ </textarea>
+@@ -1114,7 +1173,7 @@
+ <state name="cc">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>CC</value>
+ </textarea>
+@@ -1122,7 +1181,7 @@
+ <state name="subtitles">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>SUBTITLES</value>
+ </textarea>
+@@ -1130,55 +1189,111 @@
+ <state name="onscreensub">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>SUBTITLES</value>
+ </textarea>
+ </state>
++ <state name="sd">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,30</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>SD</value>
++ </textarea>
++ </state>
+ <state name="hdtv">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>HDTV</value>
++ <value>HD</value>
+ </textarea>
+ </state>
+ <state name="widescreen">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>16x9</value>
++ <value>WIDE</value>
+ </textarea>
+ </state>
+ <state name="avchd">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>AVC</value>
++ </textarea>
++ </state>
++ <state name="mpeg2">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,30</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>MPEG2</value>
++ </textarea>
++ </state>
++ <state name="hevc">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,30</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>HEVC</value>
++ </textarea>
++ </state>
++ <state name="uhd4ki">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,30</area>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>AVCHD</value>
++ <value>UHD4Ki</value>
++ </textarea>
++ </state>
++ <state name="uhd4kp">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,30</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>UHD4Kp</value>
+ </textarea>
+ </state>
+ <state name="hd1080">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>HD1080</value>
+ </textarea>
+ </state>
++ <state name="hd1080i">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,30</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>HD1080i</value>
++ </textarea>
++ </state>
++ <state name="hd1080p">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,30</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>HD1080p</value>
++ </textarea>
++ </state>
+ <state name="hd720">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>HD720P</value>
++ <value>HD720p</value>
+ </textarea>
+ </state>
+ <state name="watched">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,30</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>WATCHED</value>
+ </textarea>
+@@ -1203,7 +1318,7 @@
+ <state name="commflagged">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>COMFLAGGED</value>
+ </textarea>
+@@ -1211,7 +1326,7 @@
+ <state name="cutlist">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>CUTLIST</value>
+ </textarea>
+@@ -1219,7 +1334,7 @@
+ <state name="autoexpire">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>AUTOEXPIRE</value>
+ </textarea>
+@@ -1227,7 +1342,7 @@
+ <state name="processing">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>COMFLAGGING</value>
+ </textarea>
+@@ -1235,7 +1350,7 @@
+ <state name="bookmark">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>BOOKMARKED</value>
+ </textarea>
+@@ -1243,7 +1358,7 @@
+ <state name="mono">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>MONO</value>
+ </textarea>
+@@ -1251,7 +1366,7 @@
+ <state name="stereo">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>STEREO</value>
+ </textarea>
+@@ -1259,7 +1374,7 @@
+ <state name="surround">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>SURROUND</value>
+ </textarea>
+@@ -1267,7 +1382,7 @@
+ <state name="dolby">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>DOLBY</value>
+ </textarea>
+@@ -1275,7 +1390,7 @@
+ <state name="cc">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>CC</value>
+ </textarea>
+@@ -1283,7 +1398,7 @@
+ <state name="subtitles">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>SUBTITLES</value>
+ </textarea>
+@@ -1291,39 +1406,95 @@
+ <state name="onscreensub">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>SUBTITLES</value>
+ </textarea>
+ </state>
++ <state name="sd">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,64</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>SD</value>
++ </textarea>
++ </state>
+ <state name="hdtv">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>HDTV</value>
++ <value>HD</value>
+ </textarea>
+ </state>
+ <state name="widescreen">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>16x9</value>
++ <value>WIDE</value>
+ </textarea>
+ </state>
+ <state name="avchd">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>AVC</value>
++ </textarea>
++ </state>
++ <state name="mpeg2">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,64</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>MPEG2</value>
++ </textarea>
++ </state>
++ <state name="hevc">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,64</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>HEVC</value>
++ </textarea>
++ </state>
++ <state name="uhd4ki">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,64</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>UHD4Ki</value>
++ </textarea>
++ </state>
++ <state name="uhd4kp">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,64</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>UHD4Kp</value>
++ </textarea>
++ </state>
++ <state name="hd1080i">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,64</area>
++ <font>baseextrasmallblue</font>
++ <align>right,vcenter</align>
++ <value>HD1080i</value>
++ </textarea>
++ </state>
++ <state name="hd1080p">
++ <textarea name="status" from="basetextarea">
++ <area>0,0,140,64</area>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>AVCHD</value>
++ <value>HD1080p</value>
+ </textarea>
+ </state>
+ <state name="hd1080">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>HD1080</value>
+ </textarea>
+@@ -1331,15 +1502,15 @@
+ <state name="hd720">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>HD720P</value>
++ <value>HD720p</value>
+ </textarea>
+ </state>
+ <state name="watched">
+ <textarea name="status" from="basetextarea">
+ <area>0,0,140,64</area>
+- <font>baseextrasmallyellow</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>WATCHED</value>
+ </textarea>
diff --git a/linhes/linhes-theme/schedule-ui.xml.patch b/linhes/linhes-theme/schedule-ui.xml.patch
new file mode 100644
index 0000000..33d6119
--- /dev/null
+++ b/linhes/linhes-theme/schedule-ui.xml.patch
@@ -0,0 +1,262 @@
+--- schedule-ui.xml.orig 2018-06-06 17:48:28.091163462 +0000
++++ schedule-ui.xml 2019-03-11 20:58:29.671094834 +0000
+@@ -119,14 +119,14 @@
+ <channels>6</channels>
+ <timeslots>5</timeslots>
+ <solidcolor>#003256</solidcolor>
+- <selector type="roundbox" linecolor="#d6d6d6" />
++ <selector type="highlight" linecolor="#e6e6e6" fillcolor="#000000"/>
+ <showcategories>yes</showcategories>
+ <categoryalpha>130</categoryalpha>
+- <recordingcolor>#00aa00</recordingcolor>
+- <conflictingcolor>#ff6600</conflictingcolor>
++ <recordingcolor>#80d400</recordingcolor>
++ <conflictingcolor>#d97616</conflictingcolor>
+ <cutdown>no</cutdown>
+ <multiline>yes</multiline>
+- <textoffset>6,7</textoffset>
++ <textoffset>6,2</textoffset>
+ <recordstatus type="SingleRecord" image="images/gg-rs-single.png"></recordstatus>
+ <recordstatus type="TimeslotRecord" image="images/gg-rs-timeslot.png"></recordstatus>
+ <recordstatus type="ChannelRecord" image="images/gg-rs-channel.png"></recordstatus>
+@@ -134,8 +134,8 @@
+ <recordstatus type="WeekslotRecord" image="images/gg-rs-weekslot.png"></recordstatus>
+ <recordstatus type="FindOneRecord" image="images/gg-rs-findone.png"></recordstatus>
+ <recordstatus type="OverrideRecord" image="images/gg-rs-override.png"></recordstatus>
+- <arrow direction="left" image="images/gg-arrow-left.png"></arrow>
+- <arrow direction="right" image="imaages/gg-arrow-right.png"></arrow>
++ <arrow direction="left" image="images/gg-left-arrow-large.png"></arrow>
++ <arrow direction="right" image="images/gg-right-arrow-large.png"></arrow>
+ <font>basesmall</font>
+ </guidegrid>
+
+@@ -146,7 +146,7 @@
+ <buttonarea>0,0,1019,41</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+- <area>-1,0,203,41</area>
++ <area>0,0,203,41</area>
+ <shape name="separator" from="base_vertical_line">
+ <area>0,5,2,31</area>
+ </shape>
+@@ -301,7 +301,7 @@
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+- <value>Program Guide Video</value>
++ <value>Program Guide</value>
+ </textarea>
+
+ <shape name="guide-top-backdrop" from="base_backdrop">
+@@ -434,14 +434,14 @@
+ <channels>5</channels>
+ <timeslots>5</timeslots>
+ <solidcolor>#003256</solidcolor>
+- <selector type="roundbox" linecolor="#d6d6d6" />
++ <selector type="highlight" linecolor="#e6e6e6" fillcolor="#000000"/>
+ <showcategories>yes</showcategories>
+ <categoryalpha>130</categoryalpha>
+- <recordingcolor>#00aa00</recordingcolor>
+- <conflictingcolor>#ff6600</conflictingcolor>
++ <recordingcolor>#80d400</recordingcolor>
++ <conflictingcolor>#d97616</conflictingcolor>
+ <cutdown>no</cutdown>
+ <multiline>yes</multiline>
+- <textoffset>6,7</textoffset>
++ <textoffset>6,2</textoffset>
+ <recordstatus type="SingleRecord" image="images/gg-rs-single.png"></recordstatus>
+ <recordstatus type="TimeslotRecord" image="images/gg-rs-timeslot.png"></recordstatus>
+ <recordstatus type="ChannelRecord" image="images/gg-rs-channel.png"></recordstatus>
+@@ -449,24 +449,24 @@
+ <recordstatus type="WeekslotRecord" image="images/gg-rs-weekslot.png"></recordstatus>
+ <recordstatus type="FindOneRecord" image="images/gg-rs-findone.png"></recordstatus>
+ <recordstatus type="OverrideRecord" image="images/gg-rs-override.png"></recordstatus>
+- <arrow direction="left" image="images/gg-arrow-left.png"></arrow>
+- <arrow direction="right" image="imaages/gg-arrow-right.png"></arrow>
++ <arrow direction="left" image="images/gg-left-arrow-large.png"></arrow>
++ <arrow direction="right" image="images/gg-right-arrow-large.png"></arrow>
+ <font>basesmall</font>
+ </guidegrid>
+
+ <buttonlist name="timelist">
+- <area>238,40,1019,42</area>
++ <area>238,40,1019,41</area>
+ <layout>horizontal</layout>
+ <spacing>0</spacing>
+- <buttonarea>0,0,1019,42</buttonarea>
++ <buttonarea>0,0,1019,41</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+- <area>-1,0,203,42</area>
++ <area>0,0,203,41</area>
+ <shape name="separator" from="base_vertical_line">
+- <area>0,5,2,30</area>
++ <area>0,5,2,31</area>
+ </shape>
+ <textarea name="buttontext" from="basetextarea">
+- <area>0,0,203,42</area>
++ <area>0,1,203,41</area>
+ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+@@ -1084,7 +1084,7 @@
+
+ <textarea name="helptext">
+ <area>0,39,1280,34</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ <value>(1) Channel (2) Priority</value>
+ </textarea>
+@@ -1437,10 +1437,10 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>0,350</position>
++ <position>550,350</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>20,350</position>
++ <position>570,350</position>
+ </statetype>
+ </buttonlist>
+
+@@ -1544,10 +1544,10 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>0,350</position>
++ <position>550,350</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>20,350</position>
++ <position>570,350</position>
+ </statetype>
+ </buttonlist>
+
+@@ -1854,7 +1854,7 @@
+
+ </window>
+
+- <window name="progdetails">
++ <window name="programdetails">
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+@@ -1885,12 +1885,90 @@
+ <area>1256,40,2,641</area>
+ </shape>
+
+- <webbrowser name="browser">
++ <shape name="arrows-backdrop" from="base_arrows_backdrop">
++ <area>1210,685,50,13</area>
++ </shape>
++
++ <buttonlist name="infolist">
++ <layout>vertical</layout>
++ <spacing>4</spacing>
++ <arrange>stack</arrange>
++ <wrapstyle>items</wrapstyle>
++ <align>top</align>
+ <area>26,42,1228,637</area>
+- <zoom>1.0</zoom>
+- <background color="#000000" alpha="1"/>
+- </webbrowser>
++ <buttonarea>0,0,100%,100%</buttonarea>
++
++ <statetype name="buttonitem">
++ <area>0,0,100%,124</area>
++ <minsize shrink="short">100%,5</minsize>
++ <state name="active">
++ <area>0,0,100%,100%</area>
++ <minsize shrink="short">100%,6</minsize>
++ <shape name="background">
++ <!-- work around a stack / minsize display bug by using
++ empty image to help spacing -->
++ <area>0,0,100%,100%</area>
++ <minsize shrink="short">100%,5</minsize>
++ </shape>
++ <textarea name="name" from="basetextarea">
++ <area>5,3,24%,-3</area>
++ <minsize shrink="short">100%,5</minsize>
++ <multiline>yes</multiline>
++ <cutdown>no</cutdown>
++ <align>top,right</align>
++ <font>basesmallblue</font>
++ </textarea>
++ <textarea name="sep">
++ <area>25%,3,10,-3</area>
++ <minsize shrink="short">100%,5</minsize>
++ <align>top,left</align>
++ <value>:</value>
++ <font>basesmallblue</font>
++ </textarea>
++ <textarea name="value">
++ <area>25%+15,3,-10,-3</area>
++ <minsize shrink="short">100%,5</minsize>
++ <multiline>yes</multiline>
++ <cutdown>no</cutdown>
++ <align>top,left</align>
++ <font>basesmall</font>
++ </textarea>
++ </state>
++ <state name="selectedactive" from="active" />
++ <state name="selectedinactive" from="active" />
++ </statetype>
+
++ <statetype name="upscrollarrow">
++ <position>1192,645</position>
++ <state type="off">
++ <imagetype name="upoff">
++ <filename>images/lists_up_arrow.png</filename>
++ <alpha>80</alpha>
++ </imagetype>
++ </state>
++ <state type="full">
++ <imagetype name="upon">
++ <filename>images/lists_up_arrow.png</filename>
++ <alpha>200</alpha>
++ </imagetype>
++ </state>
++ </statetype>
++ <statetype name="downscrollarrow">
++ <position>1212,645</position>
++ <state type="off">
++ <imagetype name="dnoff">
++ <filename>images/lists_down_arrow.png</filename>
++ <alpha>80</alpha>
++ </imagetype>
++ </state>
++ <state type="full">
++ <imagetype name="dnon">
++ <filename>images/lists_down_arrow.png</filename>
++ <alpha>200</alpha>
++ </imagetype>
++ </state>
++ </statetype>
++ </buttonlist>
+ </window>
+
+ <window name="searchpopup">
+@@ -3098,10 +3176,10 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>0,350</position>
++ <position>550,350</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>20,350</position>
++ <position>570,350</position>
+ </statetype>
+ </buttonlist>
+
+@@ -3583,7 +3661,7 @@
+ <area>112,65,180,40</area>
+ <font>basesmall</font>
+ <align>right,vcenter</align>
+- <value>TMDB/TVDB #:</value>
++ <value>Video #:</value>
+ </textarea>
+
+ <textedit name="inetref_edit" from="base_textedit">
diff --git a/linhes/linhes-theme/settings-ui.xml.patch b/linhes/linhes-theme/settings-ui.xml.patch
new file mode 100644
index 0000000..d7b082a
--- /dev/null
+++ b/linhes/linhes-theme/settings-ui.xml.patch
@@ -0,0 +1,11 @@
+--- settings-ui.xml.orig 2017-10-26 17:20:33.167538071 +0000
++++ settings-ui.xml 2017-10-26 17:04:02.976373390 +0000
+@@ -103,7 +103,7 @@
+
+ <textarea name="label-text" from="basetextarea">
+ <area>244,470,792,69</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
diff --git a/linhes/linhes-theme/standardsetting-ui.xml b/linhes/linhes-theme/standardsetting-ui.xml
new file mode 100644
index 0000000..75ff02f
--- /dev/null
+++ b/linhes/linhes-theme/standardsetting-ui.xml
@@ -0,0 +1,403 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE mythuitheme SYSTEM "http://www.mythtv.org/schema/mythuitheme.dtd">
+
+<mythuitheme>
+ <window name="settingssetup">
+ <textarea name="title" from="base_heading">
+ <value>Settings</value>
+ </textarea>
+
+ <shape name="settings-list-backdrop" from="base_backdrop">
+ <area>20,36,1240,488</area>
+ </shape>
+
+ <shape name="settings-list-backdrop-line" from="base_backdrop_line">
+ <area>21,37,1238,484</area>
+ </shape>
+
+ <shape name="settings-list-top-line" from="base_highlight_line">
+ <area>22,38,1236,2</area>
+ </shape>
+
+ <shape name="settings-list-bottom-line" from="base_highlight_line">
+ <area>22,518,1236,2</area>
+ </shape>
+
+ <shape name="settings-list-left-line" from="base_highlight_vertical_line">
+ <area>22,40,2,476</area>
+ </shape>
+
+ <shape name="settings-list-right-line" from="base_highlight_vertical_line">
+ <area>1256,40,2,476</area>
+ </shape>
+
+ <shape name="settings-list-arrows-backdrop" from="base_arrows_backdrop">
+ <area>1207,522,50,11</area>
+ </shape>
+
+ <shape name="settings-bottom-backdrop" from="base_backdrop">
+ <area>20,532,1240,154</area>
+ </shape>
+
+ <shape name="settings-bottom-backdrop-line" from="base_backdrop_line">
+ <area>21,533,1238,150</area>
+ </shape>
+
+ <shape name="settings-bottom-top-line" from="base_highlight_line">
+ <area>22,534,1236,2</area>
+ </shape>
+
+ <shape name="settings-bottom-bottom-line" from="base_highlight_line">
+ <area>22,680,1236,2</area>
+ </shape>
+
+ <shape name="settings-bottom-left-line" from="base_highlight_vertical_line">
+ <area>22,536,2,146</area>
+ </shape>
+
+ <shape name="settings-bottom-right-line" from="base_highlight_vertical_line">
+ <area>1256,536,2,146</area>
+ </shape>
+
+ <shape name="settings-bottom-seperator-first-line" from="base_line">
+ <area>43,609,1194,2</area>
+ </shape>
+
+ <buttonlist name="settingslist" from="base_list">
+ <area>28,43,1224,472</area>
+ <layout>vertical</layout>
+ <spacing>4</spacing>
+ <scrollstyle>free</scrollstyle>
+ <arrange>stack</arrange>
+ <wrapstyle>items</wrapstyle>
+ <buttonarea>0,0,100%,100%</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,1224,30</area>
+ <group name="select_bar" from="base_select_bar_active_group">
+ <area>0,0,100%,100%</area>
+ </group>
+
+ <textarea name="buttontext">
+ <area>25,0,50%-5,30</area>
+ </textarea>
+
+ <group name="widgets">
+ <area>50%+5,0,100%,100%</area>
+ <statetype name="widgettype">
+ <area>0,0,100%-24,100%</area>
+ <state name="standard">
+ <area>0,0,100%,100%</area>
+ </state>
+ <state name="group">
+ <area>0,0,100%,100%</area>
+ </state>
+ <state name="checkbox">
+ <area>0,0,100%,100%</area>
+ </state>
+ <state name="textedit">
+ <area>0,0,100%,100%</area>
+ <group name="texteditgroup">
+ <area>0,0,100%,100%</area>
+ </group>
+ </state>
+ <state name="filebrowser">
+ <area>0,0,100%,100%</area>
+ </state>
+ <state name="spinbox" from="textedit" />
+ <state name="combobox" from="textedit" />
+ <state name="button">
+ <area>0,0,100%,100%</area>
+ </state>
+ </statetype>
+ <!-- we can not put more than one textarea with the same name
+ The textarea can no be in a custom state
+ We can not put the textarea in a state from statetype neither
+ Which mean we can not theme them differently according to the statetype
+ -->
+ <textarea name="value">
+ <area>5,0,100%-35,100%</area>
+ <font>basesmall</font>
+ <cutdown>yes</cutdown>
+ <align>right,vcenter</align>
+ </textarea>
+ </group>
+
+ <statetype name="buttoncheck">
+ <position>100%-56,50%-15</position>
+ <state type="off">
+ <imagetype name="checkoff">
+ <filename>images/unchecked.png</filename>
+ </imagetype>
+ </state>
+ <state type="half">
+ <imagetype name="checkhalf">
+ <filename>images/checked.png</filename>
+ </imagetype>
+ </state>
+ <state type="full">
+ <imagetype name="checkfull">
+ <filename>images/checked_selected.png</filename>
+ </imagetype>
+ </state>
+ </statetype>
+
+ <imagetype name="buttonarrow">
+ <position>100%-20,50%-8</position>
+ <filename>images/lists_right_arrow.png</filename>
+ </imagetype>
+ </state>
+
+ <state name="selectedactive" from="active">
+ <area>0,0,1224,64</area>
+ <group name="select_bar" from="base_select_bar_selectedactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
+
+ <imagetype name="parentarrow">
+ <position>5,50%-15</position>
+ <filename>images/lists_left_arrow_large.png</filename>
+ </imagetype>
+
+ <textarea name="buttontext">
+ <area>25,0,1194,64</area>
+ <font>basesmallyellow</font>
+ <align>left,vcenter</align>
+ <scroll direction="horizontal" />
+ </textarea>
+
+ <group name="widgets">
+ <statetype name="widgettype">
+ <state name="textedit">
+ <area>0,0,100%,100%</area>
+ <group name="texteditgroup" from="base_textedit_select_bar_selectedactive_group">
+ <area>0,5%,100%,95%</area>
+ </group>
+ </state>
+ <state name="filebrowser">
+ <area>0,0,100%,100%</area>
+ <group name="filebrowsergroup" from="base_textedit_select_bar_selectedactive_group">
+ <area>0,5%,100%,95%</area>
+ </group>
+ </state>
+ <state name="spinbox" from="textedit" />
+ <state name="combobox" from="textedit" />
+ <state name="standard">
+ <area>0,0,100%,100%</area>
+ <group name="buttongroup" from="base_textedit_select_bar_selectedactive_group">
+ <area>100%-150,5%,100%,95%</area>
+ </group>
+ <textarea name="buttonpress">
+ <area>100%-150,0,100%,100%</area>
+ <font>basesmallyellow</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <value>OK</value>
+ </textarea>
+ </state>
+ </statetype>
+ <textarea name="value">
+ <font>basesmallyellow</font>
+ <scroll direction="horizontal" />
+ </textarea>
+ </group>
+
+ <statetype name="buttoncheck">
+ <shape name="select_bar_top_highlight">
+ <area>0,-1,100%,2</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="255">
+ <stop position="0" color="#000000"/>
+ <stop position="50" color="#d6d6d6"/>
+ <stop position="100" color="#000000"/>
+ </gradient>
+ </fill>
+ </shape>
+ <shape name="select_bar_bottom_highlight">
+ <area>0,100%-1,100%,2</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="255">
+ <stop position="0" color="#000000"/>
+ <stop position="50" color="#d6d6d6"/>
+ <stop position="100" color="#000000"/>
+ </gradient>
+ </fill>
+ </shape>
+ <shape name="select_bar_left_highlight">
+ <area>-1,0,2,100%</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="vertical" alpha="255">
+ <stop position="0" color="#000000"/>
+ <stop position="50" color="#3a9aff"/>
+ <stop position="100" color="#000000"/>
+ </gradient>
+ </fill>
+ </shape>
+ <shape name="select_bar_right_highlight">
+ <area>100%-1,0,2,100%</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="vertical" alpha="255">
+ <stop position="0" color="#000000"/>
+ <stop position="50" color="#3a9aff"/>
+ <stop position="100" color="#000000"/>
+ </gradient>
+ </fill>
+ </shape>
+ </statetype>
+
+ <imagetype name="buttonarrow">
+ <position>100%-23,50%-15</position>
+ <filename>images/lists_right_arrow_large.png</filename>
+ </imagetype>
+ </state>
+ <state name="disabledactive" from="active">
+ <textarea name="buttontext">
+ <font>basesmalllightgrey</font>
+ </textarea>
+ <group name="widgets">
+ <textarea name="value">
+ <font>basesmalllightgrey</font>
+ </textarea>
+ </group>
+ </state>
+ <state name="disabledinactive" from="disabledactive">
+ </state>
+ <state name="selectedinactive" from="active">
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+ <position>1186,479</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+ <position>1206,479</position>
+ </statetype>
+ </buttonlist>
+
+ <!-- optional, display the help for the currently selected setting -->
+ <textarea name="selectedsettinghelp" from="basetextarea">
+ <area>44,545,1192,55</area>
+ <font>basesmallyellow</font>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ <scroll direction="up" rate="20" startdelay="5"/>
+ </textarea>
+
+ <!-- optional, display the help for the current group of settings -->
+ <textarea name="grouphelp" from="basetextarea">
+ <area>44,618,1192,55</area>
+ <font>basesmall</font>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ <scroll direction="up" rate="20" startdelay="5"/>
+ </textarea>
+
+ </window>
+
+ <window name="terminal">
+ <textarea name="heading" from="base_heading">
+ <value>Terminal</value>
+ </textarea>
+
+ <shape name="terminal-backdrop" from="base_backdrop">
+ <area>115,36,1050,488</area>
+ </shape>
+
+ <shape name="terminal-backdrop-line" from="base_backdrop_line">
+ <area>116,37,1048,486</area>
+ </shape>
+
+ <shape name="terminal-top-line" from="base_highlight_line">
+ <area>117,38,1046,2</area>
+ </shape>
+
+ <shape name="terminal-bottom-line" from="base_highlight_line">
+ <area>117,520,1046,2</area>
+ </shape>
+
+ <shape name="terminal-left-line" from="base_highlight_vertical_line">
+ <area>117,40,2,500</area>
+ </shape>
+
+ <shape name="terminal-right-line" from="base_highlight_vertical_line">
+ <area>1161,40,2,500</area>
+ </shape>
+
+ <shape name="terminal-arrows-backdrop" from="base_arrows_backdrop">
+ <area>1112,523,50,12</area>
+ </shape>
+
+ <shape name="terminal-bottom-backdrop" from="base_backdrop">
+ <area>115,534,1050,151</area>
+ </shape>
+
+ <shape name="terminal-bottom-backdrop-line" from="base_backdrop_line">
+ <area>116,535,1048,149</area>
+ </shape>
+
+ <shape name="terminal-bottom-top-line" from="base_highlight_line">
+ <area>117,536,1046,2</area>
+ </shape>
+
+ <shape name="terminal-bottom-bottom-line" from="base_highlight_line">
+ <area>117,681,1046,2</area>
+ </shape>
+
+ <shape name="terminal-bottom-left-line" from="base_highlight_vertical_line">
+ <area>117,538,2,143</area>
+ </shape>
+
+ <shape name="terminal-bottom-right-line" from="base_highlight_vertical_line">
+ <area>1161,538,2,143</area>
+ </shape>
+
+ <shape name="terminal-bottom-seperator-first-line" from="base_line">
+ <area>138,620,1004,2</area>
+ </shape>
+
+ <buttonlist name="output" from="base_list">
+ <area>123,44,1034,488</area>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,1034,30</area>
+ <textarea name="buttontext">
+ <area>8,0,1018,30</area>
+ <font>basesmaller</font>
+ </textarea>
+ </state>
+ <state name="selectedactive">
+ <area>0,0,1034,64</area>
+ <textarea name="buttontext">
+ <area>8,0,1018,64</area>
+ <align>vcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+ </state>
+ <state name="selectedinactive">
+ <area>0,0,1034,64</area>
+ <textarea name="buttontext">
+ <area>8,0,1018,64</area>
+ <align>vcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+ <position>997,481</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+ <position>1017,481</position>
+ </statetype>
+ </buttonlist>
+ <textedit name="textedit" from="base_textedit">
+ <area>139,558,1003,42</area>
+ </textedit>
+ <button name="enter" from="base_button">
+ <area>540,631,200,40</area>
+ <value>Enter</value>
+ </button>
+ </window>
+</mythuitheme>
diff --git a/linhes/linhes-theme/status-ui.xml.patch b/linhes/linhes-theme/status-ui.xml.patch
new file mode 100644
index 0000000..f50061e
--- /dev/null
+++ b/linhes/linhes-theme/status-ui.xml.patch
@@ -0,0 +1,201 @@
+--- status-ui.xml.orig 2018-06-01 18:03:53.259163788 +0000
++++ status-ui.xml 2018-06-01 18:02:26.000483611 +0000
+@@ -170,100 +170,152 @@
+ </window>
+
+ <window name="standbymode">
+- <area>-1,-1,568,320</area>
++ <area>0,0,1280,720</area>
+
+ <animation trigger="AboutToShow">
+- <section>
+- <alpha start="0" end="255" easingcurve="OutQuart"/>
+- <zoom start="0" end="100" easingcurve="OutQuart"/>
++ <section duration="400">
++ <alpha start="0" end="255" easingcurve="InQuart"/>
+ </section>
+ </animation>
+
+ <animation trigger="AboutToHide">
+ <section>
+- <alpha start="255" end="0" easingcurve="InQuart"/>
+- <zoom start="100" end="0" easingcurve="InQuart"/>
++ <alpha start="255" end="0" easingcurve="OutQuart"/>
+ </section>
+ </animation>
+
++ <textarea name="heading" from="base_heading">
++ <value>Standby</value>
++ </textarea>
++
+ <shape name="standbymode-backdrop" from="base_backdrop">
+- <area>0,0,568,320</area>
++ <area>20,36,1240,649</area>
+ </shape>
+
+ <shape name="standbymode-backdrop-line" from="base_backdrop_line">
+- <area>1,1,566,318</area>
++ <area>21,37,1238,647</area>
+ </shape>
+
+ <shape name="standbymode-top-line" from="base_highlight_line">
+- <area>2,2,564,2</area>
++ <area>22,38,1236,2</area>
+ </shape>
+
+ <shape name="standbymode-bottom-line" from="base_highlight_line">
+- <area>2,316,564,2</area>
++ <area>22,681,1236,2</area>
+ </shape>
+
+ <shape name="standbymode-left-line" from="base_highlight_vertical_line">
+- <area>2,4,2,312</area>
++ <area>22,40,2,641</area>
+ </shape>
+
+ <shape name="standbymode-right-line" from="base_highlight_vertical_line">
+- <area>564,4,2,312</area>
++ <area>1256,40,2,641</area>
+ </shape>
+
+- <textarea name="title">
+- <area>4,4,552,64</area>
+- <font>basemedium</font>
+- <align>allcenter</align>
+- <value>MythTV is in standby mode!</value>
+- </textarea>
++ <shape name="standbymode-status-seperator-line" from="base_line">
++ <area>43,100,1194,2</area>
++ </shape>
++
++ <shape name="standbymode-recording-status-seperator-line" from="base_line">
++ <area>43,318,1194,2</area>
++ </shape>
++
++ <shape name="standbymode-scheduled-recording-status-seperator-line" from="base_line">
++ <area>43,536,1194,2</area>
++ </shape>
+
+ <statetype name="backendstatus">
+- <area>4,4,560,312</area>
++ <area>40,40,1200,60</area>
+ <state name="idle">
+- <area>0,0,560,312</area>
+- <shape name="icon">
+- <area>74,64,412,184</area>
+- <type>roundbox</type>
+- <fill color="#80d400" />
+- <cornerradius>5</cornerradius>
+- </shape>
+- <textarea name="status">
+- <area>4,248,552,64</area>
+- <font>basemediumgreen</font>
+- <value>Backend is idle!</value>
++ <area>0,0,1200,60</area>
++ <textarea name="status" from="basetextarea">
++ <area>0,0,1200,60</area>
++ <font>baseextralarge</font>
++ <value>Backend is Idle</value>
+ <align>allcenter</align>
+- <multiline>true</multiline>
+ </textarea>
+ </state>
+ <state name="recording" from="idle">
+- <shape name="icon">
+- <fill color="#d93636" />
+- </shape>
+ <textarea name="status">
+- <font>basemediumred</font>
+- <value>Backend is recording!</value>
++ <value>Backend is Recording</value>
+ </textarea>
+ </state>
+ <state name="shuttingdown" from="idle">
+- <shape name="icon">
+- <fill color="#d9d900" />
+- </shape>
+ <textarea name="status">
+- <font>basemediumyellow</font>
+- <value>Shutting Down!</value>
++ <value>MythTV is Shutting Down</value>
+ </textarea>
+ </state>
+ <state name="offline" from="idle">
+- <shape name="icon">
+- <fill color="#d93636" />
+- </shape>
+ <textarea name="status">
+- <font>basemediumred</font>
+- <value>Backend is offline!</value>
++ <value>Backend is Offline</value>
+ </textarea>
+ </state>
+ </statetype>
+
++ <textarea name="currentrecordingheading" from="basetextarea">
++ <area>40,110,1200,30</area>
++ <font>basemediumlargerdarkyellow</font>
++ <align>allcenter</align>
++ <value>Currently Recording</value>
++ </textarea>
++ <textarea name="nothingrecording" depends="!currentrecording">
++ <area>40,144,1200,170</area>
++ <font>basesmall</font>
++ <align>hcenter,top</align>
++ <value>Nothing is Recording</value>
++ </textarea>
++ <buttonlist name="currentrecording">
++ <area>40,144,1200,170</area>
++ <layout>vertical</layout>
++ <spacing>4</spacing>
++ <scrollstyle>free</scrollstyle>
++ <arrange>stack</arrange>
++ <wrapstyle>items</wrapstyle>
++ <buttonarea>0,0,100%,100%</buttonarea>
++ <statetype name="buttonitem">
++ <state name="active">
++ <textarea name="shorttimedate" from="basetextarea">
++ <area>0,1,400,24</area>
++ <align>right,vcenter</align>
++ </textarea>
++ <textarea name="channame" from="shorttimedate">
++ <area>405,1,180,24</area>
++ <align>allcenter</align>
++ </textarea>
++ <textarea name="titlesubtitle" from="shorttimedate">
++ <area>590,1,610,24</area>
++ <align>left,vcenter</align>
++ </textarea>
++ </state>
++ <state name="selectedactive" from="active"/>
++ <state name="selectedinactive" from="selectedactive" />
++ </statetype>
++ </buttonlist>
++
++ <textarea name="nextrecordingheading" from="currentrecordingheading">
++ <area>40,328,1200,30</area>
++ <value>Upcoming Recordings</value>
++ </textarea>
++ <textarea name="nothingscheduled" depends="!nextrecording" from="nothingrecording">
++ <area>40,362,1200,170</area>
++ <value>No Recordings Are Scheduled</value>
++ </textarea>
++ <buttonlist name="nextrecording" from="currentrecording">
++ <area>40,362,1200,170</area>
++ </buttonlist>
++
++ <textarea name="conflictsheading" from="nextrecordingheading">
++ <area>40,546,1200,30</area>
++ <value>Recording Conflicts</value>
++ </textarea>
++ <textarea name="nothingconflicted" depends="!conflicts" from="nothingrecording">
++ <area>40,580,1200,91</area>
++ <value>No Conflicts</value>
++ </textarea>
++ <buttonlist name="conflicts" from="currentrecording">
++ <area>40,580,1200,91</area>
++ </buttonlist>
++
+ </window>
+
+ </mythuitheme>
diff --git a/linhes/linhes-theme/stream-ui.xml.patch b/linhes/linhes-theme/stream-ui.xml.patch
new file mode 100644
index 0000000..e555b2b
--- /dev/null
+++ b/linhes/linhes-theme/stream-ui.xml.patch
@@ -0,0 +1,568 @@
+--- stream-ui.xml.orig 2016-12-13 20:49:12.313146317 +0000
++++ stream-ui.xml 2016-12-13 20:34:54.363217804 +0000
+@@ -41,7 +41,7 @@
+ <area>28,40,1224,276</area>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+- <value>Press MENU to add some radio streams to play.</value>
++ <value>Press MENU to add radio streams to play</value>
+ </textarea>
+
+ <buttonlist name="streamlist" from="base_list">
+@@ -90,21 +90,24 @@
+ </textarea>
+ </state>
+ </statetype>
+- <textarea name="station" from="buttontext">
++ <textarea name="broadcaster" from="buttontext">
+ <area>153,0,200,30</area>
+ <align>left,vcenter</align>
++ <font>basesmall</font>
+ </textarea>
+- <textarea name="channel" from="buttontext">
+- <area>363,0,370,30</area>
+- <align>left,vcenter</align>
++ <textarea name="channel" from="broadcaster">
++ <area>363,0,470,30</area>
+ </textarea>
+- <textarea name="genre" from="buttontext">
+- <area>743,0,462,30</area>
++ <textarea name="genre" from="broadcaster">
++ <area>843,0,362,30</area>
+ <align>right,vcenter</align>
+ </textarea>
+ </state>
+ <state name="selectedactive">
+ <area>0,0,100%,64</area>
++ <group name="select_bar" from="base_select_bar_selectedactive_group">
++ <area>0,0,100%,100%</area>
++ </group>
+ <imagetype name="buttonimage">
+ <area>15,3,58,58</area>
+ <filename>mm_icecast.png</filename>
+@@ -144,23 +147,43 @@
+ </textarea>
+ </state>
+ </statetype>
+- <textarea name="station" from="buttontext">
+- <area>183,0,200,64</area>
++ <textarea name="broadcaster" from="buttontext">
++ <area>183,1,200,30</area>
+ <align>left,vcenter</align>
+ </textarea>
+- <textarea name="channel" from="buttontext">
+- <area>393,0,356,64</area>
+- <align>left,vcenter</align>
++ <textarea name="channel" from="broadcaster">
++ <area>393,1,456,30</area>
+ </textarea>
+- <textarea name="genre" from="buttontext">
+- <area>759,0,450,64</area>
++ <textarea name="genre" from="broadcaster">
++ <area>859,1,350,30</area>
+ <align>right,vcenter</align>
+ </textarea>
++ <textarea name="description" from="broadcaster">
++ <area>203,32,1006,30</area>
++ <font>basesmallerblue</font>
++ <multiline>no</multiline>
++ <scroll direction="left" startdelay="1"/>
++ </textarea>
+ </state>
+ <state name="selectedinactive" from="selectedactive">
+ <group name="select_bar" from="base_select_bar_selectedinactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="broadcaster">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="channel">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="genre">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="description" from="broadcaster">
++ <area>203,32,1006,30</area>
++ <font>basesmallerblue</font>
++ <multiline>no</multiline>
++ <cutdown>yes</cutdown>
++ </textarea>
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+@@ -263,6 +286,18 @@
+ <group name="select_bar" from="base_select_bar_selectedinactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="tracknum">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="title">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="artist">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="length">
++ <font>basesmall</font>
++ </textarea>
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+@@ -332,12 +367,12 @@
+
+ <textarea name="channel" from="basetextarea">
+ <area>187,86,906,33</area>
+- <font>basesmallblue</font>
+- <template>%STATION% - %CHANNEL%</template>
++ <font>basesmall</font>
++ <template>%BROADCASTER% - %CHANNEL%</template>
+ </textarea>
+
+ <textarea name="filename" from="basetextarea">
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <area>187,119,906,33</area>
+ </textarea>
+
+@@ -359,22 +394,6 @@
+ <align>allcenter</align>
+ </textarea>
+
+- <button name="prev" from="base_prev_button">
+- <position>584,158</position>
+- </button>
+-
+- <button name="play" from="base_play_button">
+- <position>618,158</position>
+- </button>
+-
+- <button name="stop" from="base_stop_button">
+- <position>646,158</position>
+- </button>
+-
+- <button name="next" from="base_next_button">
+- <position>676,158</position>
+- </button>
+-
+ <statetype name="mutestate" from="base_mute_state">
+ <position>57,163</position>
+ </statetype>
+@@ -384,11 +403,11 @@
+ </textarea>
+
+ <progressbar name="bufferprogress" from="baseprogressbar">
+- <position>372,180</position>
++ <position>372,170</position>
+ </progressbar>
+
+ <textarea name="bufferstatus" from="basetextarea">
+- <area>918,179,175,14</area>
++ <area>918,167,175,14</area>
+ <font>basesupersmallyellow</font>
+ </textarea>
+
+@@ -408,6 +427,7 @@
+
+ <shape name="edit-stream-metadata-backdrop-line" from="base_backdrop_line">
+ <area>116,37,1048,506</area>
++ <area>116,37,1048,566</area>
+ </shape>
+
+ <shape name="edit-stream-metadata-top-line" from="base_highlight_line">
+@@ -415,23 +435,25 @@
+ </shape>
+
+ <shape name="edit-stream-metadata-bottom-line" from="base_highlight_line">
+- <area>117,540,1046,2</area>
++ <area>117,600,1046,2</area>
+ </shape>
+
+ <shape name="edit-stream-metadata-left-line" from="base_highlight_vertical_line">
+- <area>117,40,2,500</area>
++ <area>117,40,2,560</area>
+ </shape>
+
+ <shape name="edit-stream-metadata-right-line" from="base_highlight_vertical_line">
+- <area>1161,40,2,500</area>
++ <area>1161,40,2,560</area>
+ </shape>
+
+ <shape name="edit-stream-metadata-bottom-backdrop-line" from="base_backdrop_line">
+ <area>116,547,1048,137</area>
++ <area>116,619,1048,65</area>
+ </shape>
+
+ <shape name="edit-stream-metadata-bottom-top-line" from="base_highlight_line">
+ <area>117,548,1046,2</area>
++ <area>117,620,1046,2</area>
+ </shape>
+
+ <shape name="edit-stream-metadata-bottom-bottom-line" from="base_highlight_line">
+@@ -439,85 +461,137 @@
+ </shape>
+
+ <shape name="edit-stream-metadata-bottom-left-line" from="base_highlight_vertical_line">
+- <area>117,550,2,131</area>
++ <area>117,622,2,59</area>
+ </shape>
+
+ <shape name="edit-stream-metadata-bottom-right-line" from="base_highlight_vertical_line">
+- <area>1161,550,2,131</area>
+- </shape>
+-
+- <shape name="edit-stream-metadata-bottom-seperator-first-line" from="base_line">
+- <area>138,620,1004,2</area>
++ <area>1161,622,2,59</area>
+ </shape>
+
+- <textarea name="stationlabel" >
+- <area>119,68,214,40</area>
++ <textarea name="broadcasterlabel" >
++ <area>119,54,140,40</area>
+ <font>basemedium</font>
+ <align>right,vcenter</align>
+- <value>Station:</value>
++ <value>Broadcaster:</value>
+ </textarea>
+
+- <textedit name="stationedit" from="base_textedit">
+- <area>343,68,800,40</area>
++ <textedit name="broadcasteredit" from="base_textedit">
++ <area>269,54,370,40</area>
+ </textedit>
+
+- <button name="searchbutton" from="base_button">
+- <area>465,136,350,40</area>
+- <value>Search for Stream</value>
+- </button>
+-
+- <textarea name="channellabel" from="stationlabel">
+- <position>119,204</position>
++ <textarea name="channellabel" from="broadcasterlabel">
++ <area>649,54,120,40</area>
+ <value>Channel:</value>
+ </textarea>
+
+- <textedit name="channeledit" from="stationedit">
+- <position>343,204</position>
++ <textedit name="channeledit" from="broadcasteredit">
++ <position>779,54</position>
++ </textedit>
++
++ <textarea name="descriptionlabel" from="broadcasterlabel">
++ <area>119,109,140,40</area>
++ <value>Description:</value>
++ </textarea>
++
++ <textedit name="descriptionedit" from="broadcasteredit">
++ <area>269,109,880,40</area>
+ </textedit>
+
+- <textarea name="urllabel" from="stationlabel">
+- <position>119,271</position>
+- <value>URL:</value>
++ <textarea name="url1label" from="descriptionlabel">
++ <position>119,164</position>
++ <value>URL1:</value>
+ </textarea>
++ <textedit name="url1edit" from="descriptionedit">
++ <position>269,164</position>
++ </textedit>
++
++ <textarea name="url2label" from="descriptionlabel">
++ <position>119,219</position>
++ <value>URL2:</value>
++ </textarea>
++ <textedit name="url2edit" from="descriptionedit">
++ <position>269,219</position>
++ </textedit>
++
++ <textarea name="url3label" from="descriptionlabel">
++ <position>119,274</position>
++ <value>URL3:</value>
++ </textarea>
++ <textedit name="url3edit" from="descriptionedit">
++ <position>269,274</position>
++ </textedit>
++
++ <textarea name="url4label" from="descriptionlabel">
++ <position>119,329</position>
++ <value>URL4:</value>
++ </textarea>
++ <textedit name="url4edit" from="descriptionedit">
++ <position>269,329</position>
++ </textedit>
+
+- <textedit name="urledit" from="stationedit">
+- <position>343,271</position>
++ <textarea name="url5label" from="descriptionlabel">
++ <position>119,384</position>
++ <value>URL5:</value>
++ </textarea>
++ <textedit name="url5edit" from="descriptionedit">
++ <position>269,384</position>
+ </textedit>
+
+- <textarea name="logourllabel" from="stationlabel">
+- <position>119,338</position>
++ <textarea name="logourllabel" from="descriptionlabel">
++ <position>119,439</position>
+ <value>Logo URL:</value>
+ </textarea>
+
+- <textedit name="logourledit" from="urledit">
+- <position>343,338</position>
++ <textedit name="logourledit" from="descriptionedit">
++ <position>269,439</position>
+ </textedit>
+
+- <textarea name="genrelabel" from="stationlabel">
+- <position>119,405</position>
++ <textarea name="genrelabel" from="broadcasterlabel">
++ <position>119,494</position>
+ <value>Genres:</value>
+ </textarea>
+
+- <textedit name="genreedit" from="urledit">
+- <position>343,405</position>
++ <textedit name="genreedit" from="broadcasteredit">
++ <position>269,494</position>
+ </textedit>
+
+- <textarea name="formatlabel" from="stationlabel">
+- <position>119,472</position>
+- <value>Metadata Format:</value>
++ <textarea name="formatlabel" from="channellabel">
++ <position>649,494</position>
++ <value>Format:</value>
+ </textarea>
+
+- <textedit name="formatedit" from="stationedit">
+- <position>343,472</position>
++ <textedit name="formatedit" from="channeledit">
++ <position>779,494</position>
++ </textedit>
++
++ <textarea name="countrylabel" from="broadcasterlabel">
++ <position>119,549</position>
++ <value>Country:</value>
++ </textarea>
++ <textedit name="countryedit" from="broadcasteredit">
++ <position>269,549</position>
++ </textedit>
++
++ <textarea name="languagelabel" from="channellabel">
++ <position>649,549</position>
++ <value>Language:</value>
++ </textarea>
++ <textedit name="languageedit" from="channeledit">
++ <position>779,549</position>
+ </textedit>
+
+ <button name="cancelbutton" from="base_button">
+- <area>233,632,350,40</area>
++ <area>138,632,320,40</area>
+ <value>Cancel</value>
+ </button>
+
++ <button name="searchbutton" from="base_button">
++ <area>480,632,320,40</area>
++ <value>Search for Stream...</value>
++ </button>
++
+ <button name="savebutton" from="base_button">
+- <area>697,632,350,40</area>
++ <area>822,632,320,40</area>
+ <value>Save</value>
+ </button>
+
+@@ -553,14 +627,6 @@
+ <area>1256,40,2,211</area>
+ </shape>
+
+- <shape name="stream-search-image-border">
+- <area>37,53,247,185</area>
+- <type>roundbox</type>
+- <fill color="#000000" alpha="0" />
+- <line color="#AAAAAA" alpha="100" width="2" />
+- <cornerradius>6</cornerradius>
+- </shape>
+-
+ <shape name="stream-list-backdrop" from="base_backdrop">
+ <area>20,265,1240,420</area>
+ </shape>
+@@ -589,50 +655,65 @@
+ <area>1207,685,50,10</area>
+ </shape>
+
+- <imagetype name="stream-search-image">
+- <area>41,57,239,177</area>
+- <filename>images/stream_search_image.png</filename>
+- <mask>images/masks/stream_search_image_mask.png</mask>
+- <preserveaspect>no</preserveaspect>
+- </imagetype>
+-
+- <textarea name="stationlabel" >
+- <area>214,64,250,40</area>
++ <textarea name="broadcasterlabel" >
++ <area>71,64,150,40</area>
+ <font>basemedium</font>
+ <align>right,vcenter</align>
+- <value>Station:</value>
++ <value>Broadcaster:</value>
+ </textarea>
+
+- <buttonlist name="stationlist" from="base_selector">
+- <area>470,64,376,40</area>
++ <buttonlist name="broadcasterlist" from="base_selector">
++ <area>231,64,370,40</area>
+ </buttonlist>
+
+- <textarea name="genrelabel" from="stationlabel">
+- <position>214,125</position>
++ <textarea name="genrelabel" from="broadcasterlabel">
++ <area>611,64,150,40</area>
+ <value>Genre:</value>
+ </textarea>
+
+- <buttonlist name="genrelist" from="stationlist">
+- <position>470,125</position>
++ <buttonlist name="genrelist" from="broadcasterlist">
++ <position>771,64</position>
++ </buttonlist>
++
++ <textarea name="countrylabel" from="broadcasterlabel">
++ <position>71,125</position>
++ <value>Country:</value>
++ </textarea>
++
++ <buttonlist name="countrylist" from="broadcasterlist">
++ <position>231,125</position>
++ </buttonlist>
++
++ <textarea name="languagelabel" from="genrelabel">
++ <position>611,125</position>
++ <value>Language:</value>
++ </textarea>
++
++ <buttonlist name="languagelist" from="genrelist">
++ <position>771,125</position>
+ </buttonlist>
+
+- <textarea name="channellabel" from="stationlabel">
+- <position>214,186</position>
++ <textarea name="channellabel" from="broadcasterlabel">
++ <position>71,186</position>
+ <value>Channel:</value>
+ </textarea>
+
+ <textedit name="channeledit" from="base_textedit">
+- <area>470,186,376,40</area>
++ <area>231,186,370,40</area>
+ <textarea name="text">
+ <area>18,0,95%,100%</area>
+ </textarea>
+ </textedit>
+
++ <textarea name="matcheslabel" from="genrelabel" depends="matchestext">
++ <position>611,186</position>
++ <value>Matches:</value>
++ </textarea>
++
+ <textarea name="matchestext">
+- <area>871,40,375,211</area>
+- <font>basemediumblue</font>
+- <align>allcenter</align>
+- <template>Matches: %1</template>
++ <area>771,186,370,40</area>
++ <font>basemedium</font>
++ <align>left,vcenter</align>
+ </textarea>
+
+ <buttonlist name="streamlist" from="base_list">
+@@ -650,16 +731,16 @@
+ <area>15,1,28,28</area>
+ <filename>mythmusic/mm_icecast.png</filename>
+ </imagetype>
+- <textarea name="station" from="buttontext">
++ <textarea name="broadcasterchannel" from="buttontext">
+ <area>58,0,548,30</area>
+ <font>basesmall</font>
+ <align>left,vcenter</align>
+- <template>%STATION% - %Channel%</template>
+ </textarea>
+- <textarea name="genre" from="buttontext">
+- <area>621,0,548,30</area>
+- <font>basesmall</font>
+- <align>left,vcenter</align>
++ <textarea name="genre" from="broadcasterchannel">
++ <area>621,0,355,30</area>
++ </textarea>
++ <textarea name="language" from="broadcasterchannel">
++ <area>990,0,177,30</area>
+ </textarea>
+ <statetype name="selectedstate">
+ <position>1184,2</position>
+@@ -681,18 +762,21 @@
+ <area>15,4,56,56</area>
+ <filename>mythmusic/mm_icecast.png</filename>
+ </imagetype>
+- <textarea name="station" from="buttontext">
+- <area>86,0,534,64</area>
+- <font>basesmall</font>
+- <multiline>yes</multiline>
++ <textarea name="broadcasterchannel" from="buttontext">
++ <area>86,0,534,30</area>
++ <font>basesmallyellow</font>
++ <multiline>no</multiline>
+ <align>left,vcenter</align>
+- <template>%STATION% - %Channel%</template>
+ </textarea>
+- <textarea name="genre" from="buttontext">
+- <area>635,0,534,64</area>
+- <font>basesmall</font>
+- <multiline>yes</multiline>
+- <align>left,vcenter</align>
++ <textarea name="genre" from="broadcasterchannel">
++ <area>635,0,534,30</area>
++ </textarea>
++ <textarea name="language" from="broadcasterchannel">
++ <area>1004,0,177,30</area>
++ </textarea>
++ <textarea name="description" from="broadcasterchannel">
++ <area>86,30,100%,30</area>
++ <scroll direction="left" startdelay="2"/>
+ </textarea>
+ <statetype name="selectedstate">
+ <position>1184,19</position>
+@@ -708,6 +792,20 @@
+ <group name="select_bar" from="base_select_bar_selectedinactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="broadcasterchannel">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="genre">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="language">
++ <font>basesmall</font>
++ </textarea>
++ <textarea name="description" from="broadcasterchannel">
++ <area>86,30,100%,30</area>
++ <font>basesmall</font>
++ <cutdown>yes</cutdown>
++ </textarea>
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+@@ -718,7 +816,6 @@
+ </statetype>
+ </buttonlist>
+
+-
+ </window>
+
+ </mythuitheme>
diff --git a/linhes/linhes-theme/themeinfo.xml b/linhes/linhes-theme/themeinfo.xml
new file mode 100644
index 0000000..dbd0e16
--- /dev/null
+++ b/linhes/linhes-theme/themeinfo.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mythuitheme SYSTEM "http://www.mythtv.org/schema/mythuitheme.xsd">
+<themeinfo>
+ <!-- The Theme Name (Required) -->
+ <name>LinHES</name>
+
+ <!-- The Theme Types (Required) -->
+ <types>
+ <!-- Type. Legal Values are one or more of: UI, OSD and Menu -->
+ <type>UI</type>
+ <type>OSD</type>
+ </types>
+
+ <!-- Aspect ratio of the theme. (Required)
+ Maybe be: 4:3, 5:4, 16:9 or 16:10 -->
+ <aspect>16:9</aspect>
+
+ <!-- The base resolution of the theme before being scaled to the users
+ resolution (Required)
+ Usually 800x600 (4:3) or 1280x720 (16:9) -->
+ <baseres>1280x720</baseres>
+
+ <!-- Theme Author Details (Optional)-->
+ <author>
+ <!-- Your name -->
+ <name>LinHES Dev</name>
+
+ <!-- Your Email Address -->
+ <email>http://linhes.org</email>
+ </author>
+
+ <!-- The Versioning Info (Required) -->
+ <version>
+ <!-- Major version changes mean the theme is no longer
+ compatible with earlier versions of mythtv -->
+ <major>MAJ_VER</major>
+
+ <!-- Minor version changes are backwards compatible -->
+ <minor>MIN_VER</minor>
+ </version>
+
+ <!-- Theme Details (Required) -->
+ <detail>
+ <!-- At least one thumbnail image named "preview" must be included
+ with the theme.
+ There is no limit to the number of thumbnails.
+ Each thumbnail must be given a different name -->
+ <thumbnail name="preview">preview.png</thumbnail>
+
+ <!-- A description of the theme, including general colours and
+ style. The description should include any details that
+ may help to locate your theme in a search. -->
+ <description>LinHES is a transparent theme based on TintedGlass.</description>
+
+ <!-- Errata. A list of known faults, missing elements or unfinished
+ areas. e.g. "mythgallery not themed" -->
+ <errata>LinHES is based on TintedGlass. This version of TintedGlass is released under the GPLv2.</errata>
+ </detail>
+</themeinfo>
diff --git a/linhes/linhes-theme/tux_thoughts.png b/linhes/linhes-theme/tux_thoughts.png
new file mode 100644
index 0000000..c36c7a6
--- /dev/null
+++ b/linhes/linhes-theme/tux_thoughts.png
Binary files differ
diff --git a/linhes/linhes-theme/video-ui.xml.patch b/linhes/linhes-theme/video-ui.xml.patch
new file mode 100644
index 0000000..ef00618
--- /dev/null
+++ b/linhes/linhes-theme/video-ui.xml.patch
@@ -0,0 +1,1654 @@
+--- video-ui.xml.orig 2018-04-17 14:44:43.827360598 +0000
++++ video-ui.xml 2019-04-21 23:09:21.959330647 +0000
+@@ -58,8 +58,8 @@
+ <textarea name="label" from="basetextarea">
+ <area>10,4,543,70</area>
+ <align>allcenter</align>
+- <font>baselargedarkyellow</font>
+- <value>Cast Members</value>
++ <font>baselarge</font>
++ <value>Cast</value>
+ </textarea>
+
+ <buttonlist name="cast" from="base_button_list">
+@@ -98,10 +98,10 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>0,368</position>
++ <position>507,368</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>20,368</position>
++ <position>527,368</position>
+ </statetype>
+ </buttonlist>
+
+@@ -154,7 +154,7 @@
+ </shape>
+
+ <shape name="full-plot-seperator-first-line" from="base_line">
+- <area>23,45,517,2</area>
++ <area>23,74,517,2</area>
+ </shape>
+
+ <shape name="full-plot-seperator-second-line" from="base_line">
+@@ -162,15 +162,16 @@
+ </shape>
+
+ <textarea name="label" from="basetextarea">
+- <area>24,4,515,41</area>
++ <area>10,4,543,70</area>
+ <align>allcenter</align>
+- <font>basesmalldarkyellow</font>
+- <value>Full Plot</value>
++ <font>baselarge</font>
++ <value>Plot</value>
+ </textarea>
+
+ <textarea name="description" from="basetextarea">
+- <area>24,51,515,393</area>
++ <area>24,78,515,358</area>
+ <multiline>yes</multiline>
++ <scroll direction="up" rate="20" startdelay="5"/>
+ <font>basesmall</font>
+ </textarea>
+
+@@ -358,38 +359,38 @@
+ </imagetype>
+ <textarea name="title" from="basetextarea">
+ <area>88,1,498,24</area>
+- <font>basesmall</font>
++ <font>basesmallyellow</font>
+ </textarea>
+ <textarea name="director" from="title">
+ <area>606,1,536,24</area>
+ <cutdown>no</cutdown>
+ </textarea>
+ <textarea name="year" from="title">
+- <area>1162,2,54,24</area>
++ <area>1162,1,54,24</area>
+ <cutdown>no</cutdown>
+ <align>right,vcenter</align>
+ </textarea>
+ <textarea name="rating" from="basetextarea">
+- <area>88,23,196,20</area>
++ <area>88,26,196,20</area>
+ <font>baseextrasmallblue</font>
+ <cutdown>no</cutdown>
+ <align>vcenter</align>
+ <template>Rated: %1</template>
+ </textarea>
+ <textarea name="length" from="rating">
+- <area>305,23,280,20</area>
++ <area>305,26,280,20</area>
+ <template>Runtime: %1</template>
+ </textarea>
+ <textarea name="season" from="rating">
+- <area>606,23,216,20</area>
++ <area>606,26,216,20</area>
+ <template>Season: %1</template>
+ </textarea>
+ <textarea name="episode" from="rating">
+- <area>843,23,228,20</area>
++ <area>843,26,228,20</area>
+ <template>Episode: %1</template>
+ </textarea>
+ <textarea name="browseable" from="rating">
+- <area>1082,23,134,20</area>
++ <area>1082,26,134,20</area>
+ <align>right,vcenter</align>
+ <template>Browseable: %1</template>
+ </textarea>
+@@ -641,7 +642,7 @@
+ <multiline>yes</multiline>
+ <font>basesmall</font>
+ <align>allcenter</align>
+- <value>No videos in library, or no files found. If you have configured a video directory, press "M" (or the MENU key) and select "Scan for Change."</value>
++ <value>No videos available. If you have configured a video storage group or directory, press "M" (or the MENU key) and select "Scan for Changes."</value>
+ </textarea>
+
+ <group name="clock-backdrop-group" from="base_clock_backdrop_group" />
+@@ -876,13 +877,6 @@
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="lvllbl" from="basetextarea">
+- <area>1038,411,158,40</area>
+- <font>basesmall</font>
+- <value>Parental Level:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+ <statetype name="videolevel">
+ <area>1206,416,30,30</area>
+ <state name="None">
+@@ -890,238 +884,273 @@
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_none.png</filename>
+ </imagetype>
++ <textarea name="none">
++ <area>-165,3,158,24</area>
++ <font>basesmall</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Lowest">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_lowest.png</filename>
+ </imagetype>
++ <textarea name="lowest">
++ <area>-165,3,158,24</area>
++ <font>basesmallgreen</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Low">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_low.png</filename>
+ </imagetype>
++ <textarea name="low">
++ <area>-165,3,158,24</area>
++ <font>basesmallyellow</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Medium">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_medium.png</filename>
+ </imagetype>
++ <textarea name="medium">
++ <area>-165,3,158,24</area>
++ <font>basesmallorange</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="High">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_high.png</filename>
+ </imagetype>
++ <textarea name="high">
++ <area>-165,3,158,24</area>
++ <font>basesmallred</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ </statetype>
+
+ <textarea name="dirlbl" from="basetextarea">
+- <area>44,453,132,40</area>
+- <font>basesmall</font>
++ <area>44,453,122,40</area>
++ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+- <value>Directed By:</value>
++ <value>Director:</value>
+ </textarea>
+
+ <textarea name="director" from="basetextarea">
+- <area>186,453,611,40</area>
+- <font>basesmallblue</font>
++ <area>176,453,621,40</area>
++ <font>basesmall</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="userratinglabel" from="basetextarea">
++ <textarea name="lenlbl" from="basetextarea">
+ <area>817,453,126,40</area>
++ <font>basesmallblue</font>
++ <value>Runtime:</value>
++ <align>right,vcenter</align>
++ </textarea>
++
++ <textarea name="length" from="basetextarea">
++ <area>953,453,118,40</area>
+ <font>basesmall</font>
++ <align>left,vcenter</align>
++ </textarea>
++
++ <textarea name="yrlbl" from="basetextarea">
++ <area>1081,453,60,40</area>
++ <font>basesmallblue</font>
++ <value>Year:</value>
+ <align>right,vcenter</align>
+- <value>UserRating:</value>
++ </textarea>
++
++ <textarea name="year" from="basetextarea">
++ <area>1156,453,80,40</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <textarea name="description" from="basetextarea">
++ <area>44,501,1192,130</area>
++ <multiline>yes</multiline>
++ <font>basesmall</font>
++ <align>left,top</align>
++ <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
++ </textarea>
++
++ <textarea name="userratinglabel" from="basetextarea">
++ <area>44,633,108,40</area>
++ <font>basesmallblue</font>
++ <align>left,vcenter</align>
++ <value>User Rating:</value>
+ </textarea>
+
+ <statetype name="userratingstate">
+ <state name="0">
+ <textarea name="0">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>0 Stars</value>
+ </textarea>
+ </state>
+ <state name="1">
+ <textarea name="1">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>1 Star</value>
+ </textarea>
+ </state>
+ <state name="2">
+ <textarea name="2">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>2 Stars</value>
+ </textarea>
+ </state>
+ <state name="3">
+ <textarea name="3">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>3 Stars</value>
+ </textarea>
+ </state>
+ <state name="4">
+ <textarea name="4">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>4 Stars</value>
+ </textarea>
+ </state>
+ <state name="5">
+ <textarea name="5">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>5 Stars</value>
+ </textarea>
+ </state>
+ <state name="6">
+ <textarea name="6">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>6 Stars</value>
+ </textarea>
+ </state>
+ <state name="7">
+ <textarea name="7">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>7 Stars</value>
+ </textarea>
+ </state>
+ <state name="8">
+ <textarea name="8">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>8 Stars</value>
+ </textarea>
+ </state>
+ <state name="9">
+ <textarea name="9">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>9 Stars</value>
+ </textarea>
+ </state>
+ <state name="10">
+ <textarea name="10">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>10 Stars</value>
+ </textarea>
+ </state>
+ </statetype>
+
+- <textarea name="yrlbl" from="basetextarea">
+- <area>1081,453,60,40</area>
+- <font>basesmall</font>
+- <value>Year:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+- <textarea name="year" from="basetextarea">
+- <area>1156,453,80,40</area>
+- <font>basesmallblue</font>
+- <align>allcenter</align>
+- </textarea>
+-
+- <textarea name="description" from="basetextarea">
+- <area>44,501,1192,130</area>
+- <multiline>yes</multiline>
+- <font>basesmall</font>
+- <align>left,top</align>
+- <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
+- </textarea>
+-
+- <textarea name="lenlbl" from="basetextarea">
+- <area>44,633,98,40</area>
+- <font>basesmall</font>
+- <value>Runtime:</value>
+- <align>left,vcenter</align>
+- </textarea>
+-
+- <textarea name="length" from="basetextarea">
+- <area>152,633,154,40</area>
+- <font>basesmallblue</font>
+- <align>left,vcenter</align>
+- </textarea>
+-
+ <textarea name="ratlbl" from="basetextarea">
+ <area>320,633,70,40</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <value>Rated:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="rating" from="basetextarea">
+ <area>400,633,92,40</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="seasonlbl" from="basetextarea">
+ <area>506,633,92,40</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <value>Season:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="season" from="basetextarea">
+- <area>608,633,132,40</area>
+- <font>basesmallblue</font>
++ <area>608,633,92,40</area>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="episodelbl" from="basetextarea">
+- <area>754,633,92,40</area>
+- <font>basesmall</font>
++ <area>714,633,92,40</area>
++ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ <value>Episode:</value>
+ </textarea>
+
+ <textarea name="episode" from="basetextarea">
+- <area>856,633,132,40</area>
+- <font>basesmallblue</font>
++ <area>816,633,92,40</area>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="inetlbl" from="basetextarea">
+- <area>1002,633,92,40</area>
+- <font>basesmall</font>
++ <area>922,633,92,40</area>
++ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ <value>Video #:</value>
+ </textarea>
+
+ <textarea name="inetref" from="basetextarea">
+- <area>1104,633,132,40</area>
+- <font>basesmallblue</font>
++ <area>1024,633,212,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ </textarea>
+@@ -1131,7 +1160,7 @@
+ <multiline>yes</multiline>
+ <font>basesmall</font>
+ <align>allcenter</align>
+- <value>No videos in library, or no files found. If you have configured a video directory, press "M" (or the MENU key) and select "Scan for Changes."</value>
++ <value>No videos available. If you have configured a video storage group or directory, press "M" (or the MENU key) and select "Scan for Changes."</value>
+ </textarea>
+
+ <group name="clock-backdrop-group" from="base_clock_backdrop_group" />
+@@ -1369,14 +1398,14 @@
+ <font>basemediumlargeryellow</font>
+ <align>left,vcenter</align>
+ </textarea>
+-
++<!--
+ <textarea name="lvllbl" from="basetextarea">
+ <area>1038,412,158,34</area>
+ <font>basesmall</font>
+ <value>Parental Level:</value>
+ <align>right,vcenter</align>
+ </textarea>
+-
++-->
+ <statetype name="videolevel">
+ <area>1206,414,30,30</area>
+ <state name="None">
+@@ -1384,238 +1413,273 @@
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_none.png</filename>
+ </imagetype>
++ <textarea name="none">
++ <area>-165,3,158,24</area>
++ <font>basesmall</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Lowest">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_lowest.png</filename>
+ </imagetype>
++ <textarea name="lowest">
++ <area>-165,3,158,24</area>
++ <font>basesmallgreen</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Low">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_low.png</filename>
+ </imagetype>
++ <textarea name="low">
++ <area>-165,3,158,24</area>
++ <font>basesmallyellow</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Medium">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_medium.png</filename>
+ </imagetype>
++ <textarea name="medium">
++ <area>-165,3,158,24</area>
++ <font>basesmallorange</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="High">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_high.png</filename>
+ </imagetype>
++ <textarea name="high">
++ <area>-165,3,158,24</area>
++ <font>basesmallred</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ </statetype>
+
+ <textarea name="dirlbl" from="basetextarea">
+- <area>44,448,132,34</area>
+- <font>basesmall</font>
++ <area>44,448,122,34</area>
++ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+- <value>Directed By:</value>
++ <value>Director:</value>
+ </textarea>
+
+ <textarea name="director" from="basetextarea">
+- <area>186,448,621,34</area>
+- <font>basesmallblue</font>
++ <area>176,448,631,34</area>
++ <font>basesmall</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="userratinglabel" from="basetextarea">
++ <textarea name="lenlbl" from="basetextarea">
+ <area>817,448,126,34</area>
++ <font>basesmallblue</font>
++ <value>Runtime:</value>
++ <align>right,vcenter</align>
++ </textarea>
++
++ <textarea name="length" from="basetextarea">
++ <area>953,448,118,34</area>
+ <font>basesmall</font>
++ <align>left,vcenter</align>
++ </textarea>
++
++ <textarea name="yrlbl" from="basetextarea">
++ <area>1081,448,60,34</area>
++ <font>basesmallblue</font>
++ <value>Year:</value>
+ <align>right,vcenter</align>
+- <value>UserRating:</value>
++ </textarea>
++
++ <textarea name="year" from="basetextarea">
++ <area>1156,448,80,34</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <textarea name="description" from="basetextarea">
++ <area>44,488,1192,148</area>
++ <multiline>yes</multiline>
++ <font>basesmall</font>
++ <align>left</align>
++ <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
++ </textarea>
++
++ <textarea name="userratinglabel" from="basetextarea">
++ <area>44,641,108,34</area>
++ <font>basesmallblue</font>
++ <align>left,vcenter</align>
++ <value>User Rating:</value>
+ </textarea>
+
+ <statetype name="userratingstate">
+ <state name="0">
+ <textarea name="0">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>0 Stars</value>
+ </textarea>
+ </state>
+ <state name="1">
+ <textarea name="1">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>1 Star</value>
+ </textarea>
+ </state>
+ <state name="2">
+ <textarea name="2">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>2 Stars</value>
+ </textarea>
+ </state>
+ <state name="3">
+ <textarea name="3">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>3 Stars</value>
+ </textarea>
+ </state>
+ <state name="4">
+ <textarea name="4">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>4 Stars</value>
+ </textarea>
+ </state>
+ <state name="5">
+ <textarea name="5">
+- <area>953,448,108,44</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>5 Stars</value>
+ </textarea>
+ </state>
+ <state name="6">
+ <textarea name="6">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>6 Stars</value>
+ </textarea>
+ </state>
+ <state name="7">
+ <textarea name="7">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>7 Stars</value>
+ </textarea>
+ </state>
+ <state name="8">
+ <textarea name="8">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>8 Stars</value>
+ </textarea>
+ </state>
+ <state name="9">
+ <textarea name="9">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>9 Stars</value>
+ </textarea>
+ </state>
+ <state name="10">
+ <textarea name="10">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>10 Stars</value>
+ </textarea>
+ </state>
+ </statetype>
+
+- <textarea name="yrlbl" from="basetextarea">
+- <area>1081,448,60,34</area>
+- <font>basesmall</font>
+- <value>Year:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+- <textarea name="year" from="basetextarea">
+- <area>1156,448,80,34</area>
+- <font>basesmallblue</font>
+- <align>allcenter</align>
+- </textarea>
+-
+- <textarea name="description" from="basetextarea">
+- <area>44,488,1192,148</area>
+- <multiline>yes</multiline>
+- <font>basesmall</font>
+- <align>left</align>
+- <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
+- </textarea>
+-
+- <textarea name="lenlbl" from="basetextarea">
+- <area>44,641,98,34</area>
+- <font>basesmall</font>
+- <value>Runtime:</value>
+- <align>left,vcenter</align>
+- </textarea>
+-
+- <textarea name="length" from="basetextarea">
+- <area>155,641,155,34</area>
+- <font>basesmallblue</font>
+- <align>left,vcenter</align>
+- </textarea>
+-
+ <textarea name="ratlbl" from="basetextarea">
+ <area>320,641,70,34</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <value>Rated:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="rating" from="basetextarea">
+ <area>403,641,92,34</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="seasonlbl" from="basetextarea">
+ <area>505,641,92,34</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <value>Season:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="season" from="basetextarea">
+- <area>610,641,132,34</area>
+- <font>basesmallblue</font>
++ <area>610,641,92,34</area>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="episodelbl" from="basetextarea">
+- <area>752,641,92,34</area>
+- <font>basesmall</font>
++ <area>712,641,92,34</area>
++ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ <value>Episode:</value>
+ </textarea>
+
+ <textarea name="episode" from="basetextarea">
+- <area>857,641,132,34</area>
+- <font>basesmallblue</font>
++ <area>817,641,92,34</area>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="inetlbl" from="basetextarea">
+- <area>999,641,92,34</area>
+- <font>basesmall</font>
++ <area>919,641,92,34</area>
++ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ <value>Video #:</value>
+ </textarea>
+
+ <textarea name="inetref" from="basetextarea">
+- <area>1104,641,132,34</area>
+- <font>basesmallblue</font>
++ <area>1024,641,212,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ </textarea>
+@@ -1625,7 +1689,7 @@
+ <multiline>yes</multiline>
+ <font>basesmall</font>
+ <align>allcenter</align>
+- <value>No videos in library, or no files found. If you have configured a video directory, press "M" (or the MENU key) and select "Scan for Changes."</value>
++ <value>No videos available. If you have configured a video storage group or directory, press "M" (or the MENU key) and select "Scan for Changes."</value>
+ </textarea>
+
+ <group name="clock-backdrop-group" from="base_clock_backdrop_group" />
+@@ -1798,21 +1862,21 @@
+
+ <textarea name="title" from="basetextarea">
+ <area>40,402,553,42</area>
+- <cutdown>yes</cutdown>
++ <scroll direction="left" rate="80" startdelay="2"/>
+ <font>basemediumyellow</font>
+ <align>vcenter</align>
+ </textarea>
+
+ <textarea name="positionlabel" from="basetextarea">
+ <area>603,402,95,42</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+ <value>Position:</value>
+ </textarea>
+
+ <textarea name="position" from="basetextarea">
+ <area>707,404,130,40</area>
+- <font>basesmallerblue</font>
++ <font>basesmall</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+@@ -1875,7 +1939,7 @@
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_high.png</filename>
+ </imagetype>
+- <textarea name="lowest">
++ <textarea name="high">
+ <area>-165,3,158,24</area>
+ <font>basesmallred</font>
+ <cutdown>no</cutdown>
+@@ -1886,211 +1950,211 @@
+ </statetype>
+
+ <textarea name="dirlbl" from="basetextarea">
+- <area>40,444,132,42</area>
+- <font>basesmall</font>
++ <area>40,444,102,42</area>
++ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+- <value>Directed By:</value>
++ <value>Director:</value>
+ </textarea>
+
+ <textarea name="director" from="basetextarea">
+- <area>187,444,407,42</area>
++ <area>152,444,441,42</area>
++ <font>basesmall</font>
++ <align>left,vcenter</align>
++ </textarea>
++
++ <textarea name="lenlbl" from="basetextarea">
++ <area>603,444,95,42</area>
+ <font>basesmallblue</font>
++ <value>Runtime:</value>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="userratinglabel" from="basetextarea">
+- <area>604,444,124,42</area>
++ <textarea name="length" from="basetextarea">
++ <area>707,444,139,42</area>
+ <font>basesmall</font>
+ <align>left,vcenter</align>
+- <value>UserRating:</value>
++ </textarea>
++
++ <textarea name="yrlbl" from="basetextarea">
++ <area>893,444,60,42</area>
++ <font>basesmallblue</font>
++ <value>Year:</value>
++ <align>right,vcenter</align>
++ </textarea>
++
++ <textarea name="year" from="basetextarea">
++ <area>963,444,78,42</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <textarea name="description" from="basetextarea">
++ <area>40,495,1001,136</area>
++ <font>basesmall</font>
++ <align>justify</align>
++ <multiline>yes</multiline>
++ <scroll direction="up" rate="20" startdelay="5"/>
++ <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
++ </textarea>
++
++ <textarea name="userratinglabel" from="basetextarea">
++ <area>40,641,80,42</area>
++ <font>baseextrasmallblue</font>
++ <align>left,vcenter</align>
++ <value>User Rating:</value>
+ </textarea>
+
+ <statetype name="userratingstate">
+ <state name="0">
+ <textarea name="0">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>0 Stars</value>
+ </textarea>
+ </state>
+ <state name="1">
+ <textarea name="1">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>1 Star</value>
+ </textarea>
+ </state>
+ <state name="2">
+ <textarea name="2">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>2 Stars</value>
+ </textarea>
+ </state>
+ <state name="3">
+ <textarea name="3">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>3 Stars</value>
+ </textarea>
+ </state>
+ <state name="4">
+ <textarea name="4">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>4 Stars</value>
+ </textarea>
+ </state>
+ <state name="5">
+ <textarea name="5">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>5 Stars</value>
+ </textarea>
+ </state>
+ <state name="6">
+ <textarea name="6">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>6 Stars</value>
+ </textarea>
+ </state>
+ <state name="7">
+ <textarea name="7">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>7 Stars</value>
+ </textarea>
+ </state>
+ <state name="8">
+ <textarea name="8">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>8 Stars</value>
+ </textarea>
+ </state>
+ <state name="9">
+ <textarea name="9">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>9 Stars</value>
+ </textarea>
+ </state>
+ <state name="10">
+ <textarea name="10">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>10 Stars</value>
+ </textarea>
+ </state>
+ </statetype>
+-
+- <textarea name="yrlbl" from="basetextarea">
+- <area>893,444,60,42</area>
+- <font>basesmall</font>
+- <value>Year:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+- <textarea name="year" from="basetextarea">
+- <area>963,444,78,42</area>
+- <font>basesmallblue</font>
+- <align>allcenter</align>
+- </textarea>
+-
+- <textarea name="description" from="basetextarea">
+- <area>40,493,1001,140</area>
+- <font>basesmall</font>
+- <align>justify</align>
+- <multiline>yes</multiline>
+- <cutdown>yes</cutdown>
+- <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
+- </textarea>
+-
+- <textarea name="lenlbl" from="basetextarea">
+- <area>40,641,68,42</area>
+- <font>baseextrasmall</font>
+- <value>Runtime:</value>
+- <align>left,vcenter</align>
+- </textarea>
+-
+- <textarea name="length" from="basetextarea">
+- <area>118,641,104,42</area>
+- <font>baseextrasmallblue</font>
+- <align>left,vcenter</align>
+- </textarea>
+
+ <textarea name="ratlbl" from="basetextarea">
+- <area>276,641,50,42</area>
+- <font>baseextrasmall</font>
++ <area>278,641,80,42</area>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>Rated:</value>
+ </textarea>
+
+ <textarea name="rating" from="basetextarea">
+- <area>336,641,70,42</area>
+- <font>baseextrasmallblue</font>
++ <area>366,641,80,42</area>
++ <font>baseextrasmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="seasonlbl" from="basetextarea">
+- <area>465,641,60,42</area>
+- <font>baseextrasmall</font>
++ <area>456,641,80,42</area>
++ <font>baseextrasmallblue</font>
+ <value>Season:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="season" from="basetextarea">
+- <area>535,641,92,42</area>
+- <font>baseextrasmallblue</font>
++ <area>544,641,80,42</area>
++ <font>baseextrasmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="episodelbl" from="basetextarea">
+- <area>673,641,64,42</area>
+- <font>baseextrasmall</font>
++ <area>634,641,80,42</area>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>Episode:</value>
+ </textarea>
+
+ <textarea name="episode" from="basetextarea">
+- <area>747,641,92,42</area>
+- <font>baseextrasmallblue</font>
++ <area>722,641,80,42</area>
++ <font>baseextrasmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="inetlbl" from="basetextarea">
+- <area>879,641,60,42</area>
+- <font>baseextrasmall</font>
++ <area>812,641,80,42</area>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>Video#:</value>
++ <value>Video #:</value>
+ </textarea>
+
+ <textarea name="inetref" from="basetextarea">
+- <area>949,641,92,42</area>
+- <font>baseextrasmallblue</font>
++ <area>900,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ </textarea>
+@@ -2120,7 +2184,7 @@
+ <multiline>yes</multiline>
+ <font>basesmall</font>
+ <align>allcenter</align>
+- <value>No videos in library, or no files found. If you have configured a video directory, press "M" (or the MENU key) and select "Scan for Change."</value>
++ <value>No videos available. If you have configured a video storage group or directory, press "M" (or the MENU key) and select "Scan for Changes."</value>
+ </textarea>
+
+ <group name="clock-backdrop-group" from="base_clock_backdrop_group" />
+@@ -2205,40 +2269,40 @@
+ </textedit>
+
+ <textarea name="default_text" from="basetextarea">
+- <area>560,320,280,30</area>
+- <value>Use default player</value>
+- <align>vcenter</align>
++ <area>238,320,192,30</area>
++ <value>Use Default Player:</value>
++ <align>right,vcenter</align>
+ </textarea>
+
+ <checkbox name="default_check" from="base_checkbox">
+- <position>520,320</position>
++ <position>435,320</position>
+ </checkbox>
+
+ <textarea name="ignore_text" from="basetextarea">
+- <area>560,417,100,30</area>
++ <area>238,417,192,30</area>
+ <value>Ignore:</value>
+- <align>vcenter</align>
++ <align>right,vcenter</align>
+ </textarea>
+
+ <checkbox name="ignore_check" from="base_checkbox">
+- <position>520,417</position>
++ <position>435,417</position>
+ </checkbox>
+
+- <button name="done_button" from="base_button">
++ <button name="delete_button" from="base_button">
+ <area>320,624,150,35</area>
+- <value>Done</value>
++ <value>Delete</value>
+ </button>
+-
++
+ <button name="new_button" from="base_button">
+ <area>565,624,150,35</area>
+ <value>New</value>
+ </button>
+
+- <button name="delete_button" from="base_button">
++ <button name="done_button" from="base_button">
+ <area>810,624,150,35</area>
+- <value>Delete</value>
++ <value>Done</value>
+ </button>
+-
++
+ </window>
+
+ <window name="edit_metadata">
+@@ -2247,7 +2311,7 @@
+ <group name="fanart-group" from="base_fanart_group" />
+
+ <textarea name="heading" from="base_heading">
+- <value>Metadata Editor</value>
++ <value>Edit Details</value>
+ </textarea>
+
+ <shape name="video-metadata-top-backdrop" from="base_backdrop">
+@@ -2345,15 +2409,15 @@
+ <mask>images/masks/edit_metadata_coverart_mask.png</mask>
+ <preserveaspect>false</preserveaspect>
+ </imagetype>
+-
++
+ <textarea name="title_text" from="basetextarea">
+ <area>40,46,124,36</area>
+ <value>Title:</value>
+ <align>right,vcenter</align>
+ </textarea>
+-
++
+ <textedit name="title_edit" from="base_textedit">
+- <area>177,46,366,36</area>
++ <area>177,46,885,36</area>
+ </textedit>
+
+ <textarea name="subtitle_text" from="basetextarea">
+@@ -2376,6 +2440,26 @@
+ <area>177,126,366,36</area>
+ </textedit>
+
++ <textarea name="rating_text" from="basetextarea">
++ <area>556,86,124,36</area>
++ <value>Rating:</value>
++ <align>right,vcenter</align>
++ </textarea>
++
++ <textedit name="rating_edit" from="base_textedit">
++ <area>696,86,366,36</area>
++ </textedit>
++
++ <textarea name="inetref_text" from="basetextarea">
++ <area>556,126,124,36</area>
++ <value>Video #:</value>
++ <align>right,vcenter</align>
++ </textarea>
++
++ <textedit name="inetref_edit" from="base_textedit">
++ <area>696,126,366,36</area>
++ </textedit>
++
+ <textarea name="tagline_text" from="basetextarea">
+ <area>40,166,124,36</area>
+ <value>Tagline:</value>
+@@ -2406,26 +2490,6 @@
+ <area>177,246,885,36</area>
+ </textedit>
+
+- <textarea name="rating_text" from="basetextarea">
+- <area>556,46,124,36</area>
+- <value>Rating:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+- <textedit name="rating_edit" from="base_textedit">
+- <area>696,46,366,36</area>
+- </textedit>
+-
+- <textarea name="inetref_text" from="basetextarea">
+- <area>556,86,124,36</area>
+- <value>TMDB:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+- <textedit name="inetref_edit" from="base_textedit">
+- <area>696,86,366,36</area>
+- </textedit>
+-
+ <textarea name="season_text" from="basetextarea">
+ <area>48,327,132,40</area>
+ <value>Season:</value>
+@@ -2519,13 +2583,13 @@
+ <textarea name="coverart_text" from="basetextarea">
+ <area>636,325,416,40</area>
+ <font>basesmaller</font>
+- <value>/path/to/the/thing.jpg</value>
++ <value>No Image</value>
+ <align>vcenter</align>
+ </textarea>
+
+ <button name="net_coverart_button" from="base_button">
+ <area>1084,327,150,36</area>
+- <value>Find OnNet</value>
++ <value>Find Online</value>
+ </button>
+
+ <textarea name="banner_text_label" from="basetextarea">
+@@ -2541,15 +2605,15 @@
+ <textarea name="banner_text" from="basetextarea">
+ <area>636,375,416,40</area>
+ <font>basesmaller</font>
+- <value>/path/to/the/thing.jpg</value>
++ <value>No Image</value>
+ <align>vcenter</align>
+ </textarea>
+
+ <button name="net_banner_button" from="base_button">
+ <area>1084,377,150,36</area>
+- <value>Find OnNet</value>
++ <value>Find Online</value>
+ </button>
+-
++
+ <textarea name="browse_text" from="basetextarea">
+ <area>452,425,130,40</area>
+ <value>Browseable:</value>
+@@ -2573,13 +2637,13 @@
+ <textarea name="fanart_text" from="basetextarea">
+ <area>636,475,416,40</area>
+ <font>basesmaller</font>
+- <value>/path/to/the/thing.jpg</value>
++ <value>No Image</value>
+ <align>vcenter</align>
+ </textarea>
+
+ <button name="net_fanart_button" from="base_button">
+ <area>1084,477,150,36</area>
+- <value>Find OnNet</value>
++ <value>Find Online</value>
+ </button>
+
+ <textarea name="screenshot_text_label" from="basetextarea">
+@@ -2595,13 +2659,13 @@
+ <textarea name="screenshot_text" from="basetextarea">
+ <area>636,525,416,40</area>
+ <font>basesmaller</font>
+- <value>/path/to/the/thing.jpg</value>
++ <value>No Image</value>
+ <align>vcenter</align>
+ </textarea>
+
+ <button name="net_screenshot_button" from="base_button">
+ <area>1084,527,150,36</area>
+- <value>Find OnNet</value>
++ <value>Find Online</value>
+ </button>
+
+ <textarea name="trailer_text_label" from="basetextarea">
+@@ -2617,7 +2681,7 @@
+ <textarea name="trailer_text" from="basetextarea">
+ <area>636,575,416,40</area>
+ <font>basesmaller</font>
+- <value>/path/to/the/thing.jpg</value>
++ <value>No Image</value>
+ <align>vcenter</align>
+ </textarea>
+
+@@ -2947,83 +3011,85 @@
+ <multiline>no</multiline>
+ <font>basesmalldarkyellow</font>
+ <align>allcenter</align>
+- <cutdown>yes</cutdown>
++ <scroll direction="left" rate="80" startdelay="2"/>
+ </textarea>
+
+ <textarea name="description" from="basetextarea">
+- <area>23,54,527,214</area>
++ <area>23,60,527,202</area>
+ <multiline>yes</multiline>
+ <font>basesmaller</font>
++ <scroll direction="up" rate="20" startdelay="5"/>
+ </textarea>
+
+ <textarea name="cast" from="basetextarea">
+- <area>23,275,527,48</area>
++ <area>25,279,527,38</area>
+ <multiline>yes</multiline>
+- <font>basesmaller</font>
++ <font>baseextrasmall</font>
++ <scroll direction="up" rate="20" startdelay="5"/>
+ </textarea>
+
+ <textarea name="dirlbl" from="basetextarea">
+- <area>23,325,112,24</area>
+- <font>basesmaller</font>
+- <value>Directed by:</value>
+- <align>left,vcenter</align>
++ <area>23,325,82,24</area>
++ <font>basesmallerblue</font>
++ <value>Director:</value>
++ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="director" from="basetextarea">
+- <area>145,326,405,24</area>
+- <font>basesmallerblue</font>
++ <area>115,325,435,24</area>
++ <font>basesmaller</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+ <textarea name="yearlbl" from="basetextarea">
+- <area>23,354,46,24</area>
+- <font>basesmaller</font>
+- <align>left,vcenter</align>
++ <area>23,354,82,24</area>
++ <font>basesmallerblue</font>
++ <align>right,vcenter</align>
+ <value>Year:</value>
+ </textarea>
+
+ <textarea name="year" from="basetextarea">
+- <area>79,356,80,24</area>
+- <font>basesmallerblue</font>
++ <area>115,354,150,24</area>
++ <font>basesmaller</font>
+ </textarea>
+
+ <textarea name="lengthlbl" from="basetextarea">
+ <area>342,354,84,24</area>
+- <font>basesmaller</font>
++ <font>basesmallerblue</font>
+ <align>right,vcenter</align>
+ <value>Runtime:</value>
+ </textarea>
+
+ <textarea name="length" from="basetextarea">
+- <area>436,355,114,24</area>
+- <font>basesmallerblue</font>
++ <area>436,354,114,24</area>
++ <font>basesmaller</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+ <textarea name="seasonlbl" from="basetextarea">
+- <area>88,382,90,20</area>
+- <font>baseextrasmall</font>
++ <area>23,380,82,24</area>
++ <font>basesmallerblue</font>
+ <value>Season:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="season" from="basetextarea">
+- <area>188,382,110,20</area>
+- <font>baseextrasmallblue</font>
+- <align>vcenter</align>
++ <area>115,380,150,24</area>
++ <font>basesmaller</font>
++ <align>left,vcenter</align>
+ </textarea>
+
+ <textarea name="episodelbl" from="basetextarea">
+- <area>331,382,94,20</area>
+- <font>baseextrasmall</font>
++ <area>331,380,94,24</area>
++ <font>basesmallerblue</font>
+ <align>right,vcenter</align>
+ <value>Episode:</value>
+ </textarea>
+
+ <textarea name="episode" from="basetextarea">
+- <area>435,382,110,20</area>
+- <font>baseextrasmallblue</font>
+- <align>vcenter</align>
++ <area>435,380,110,24</area>
++ <font>basesmaller</font>
++ <align>left,vcenter</align>
+ </textarea>
+
+ <imagetype name="coverart">
+@@ -3050,6 +3116,9 @@
+ <group name="select_bar" from="base_button_select_bar_selected_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
+ </state>
+ <state name="pushed" from="active">
+ <group name="select_bar" from="base_button_select_bar_pushed_group">
+@@ -3080,6 +3149,9 @@
+ <group name="select_bar" from="base_button_select_bar_selected_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
+ </state>
+ <state name="pushed" from="active">
+ <group name="select_bar" from="base_button_select_bar_pushed_group">
+@@ -3200,12 +3272,13 @@
+ </buttonlist>
+
+ <checkbox name="altcheck" from="base_checkbox">
+- <position>750,413</position>
++ <position>442,413</position>
+ </checkbox>
+
+ <textarea name="altcheck_text" from="basetextarea">
+- <area>475,413,265,30</area>
++ <area>242,397,190,60</area>
+ <align>right,vcenter</align>
++ <multiline>yes</multiline>
+ <value>Enable Alternate Player:</value>
+ </textarea>
+
+@@ -3221,19 +3294,19 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>239,551,802,61</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <multiline>true</multiline>
+ <align>allcenter</align>
+ </textarea>
+
+- <button name="ok" from="base_button">
++ <button name="cancel" from="base_button">
+ <area>273,628,350,40</area>
+- <value>OK</value>
++ <value>Cancel</value>
+ </button>
+
+- <button name="cancel" from="base_button">
++ <button name="ok" from="base_button">
+ <area>657,628,350,40</area>
+- <value>Cancel</value>
++ <value>Save</value>
+ </button>
+
+ </window>
+@@ -3313,7 +3386,7 @@
+ <position>390,175</position>
+ </checkbox>
+
+- <textarea name="trailerplay_text" from="basetextarea">
++ <textarea name="trailerplay_text" from="basetextarea" depends="randomtrailercheck">
+ <area>245,259,175,40</area>
+ <value>Trailers to Play:</value>
+ <align>right,vcenter</align>
+@@ -3345,21 +3418,21 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>239,523,802,76</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <multiline>true</multiline>
+ <align>allcenter</align>
+ </textarea>
+
+- <button name="ok" from="base_button">
+- <area>273,622,350,40</area>
+- <value>OK</value>
+- </button>
+-
+ <button name="cancel" from="base_button">
+- <area>657,622,350,40</area>
++ <area>273,628,350,40</area>
+ <value>Cancel</value>
+ </button>
+
++ <button name="ok" from="base_button">
++ <area>657,628,350,40</area>
++ <value>Save</value>
++ </button>
++
+ </window>
+
+ </mythuitheme>
diff --git a/linhes/linhes-theme/warning.png b/linhes/linhes-theme/warning.png
new file mode 100644
index 0000000..047cac5
--- /dev/null
+++ b/linhes/linhes-theme/warning.png
Binary files differ
diff --git a/linhes/linhes-theme/weather-ui.xml.patch b/linhes/linhes-theme/weather-ui.xml.patch
new file mode 100644
index 0000000..01c058a
--- /dev/null
+++ b/linhes/linhes-theme/weather-ui.xml.patch
@@ -0,0 +1,126 @@
+--- weather-ui.xml.orig 2017-10-26 17:16:29.549239075 +0000
++++ weather-ui.xml 2017-10-26 17:04:02.976373390 +0000
+@@ -111,7 +111,7 @@
+
+ <textarea name="cclocation" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -217,7 +217,7 @@
+
+ <textarea name="3dlocation" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -385,7 +385,7 @@
+
+ <textarea name="6dlocation" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -662,7 +662,7 @@
+
+ <textarea name="smdesc" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -698,7 +698,7 @@
+
+ <textarea name="amdesc" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -746,7 +746,7 @@
+
+ <textarea name="swlocation" from="basetextarea">
+ <area>233,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -775,7 +775,7 @@
+
+ <textarea name="18hrlocation" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -1205,7 +1205,7 @@
+
+ <textarea name="inactivehdr" from="basetextarea">
+ <area>215,40,415,38</area>
+- <font>basesmallyellow</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -1263,7 +1263,7 @@
+ <area>8,0,383,64</area>
+ <multiline>yes</multiline>
+ </textarea>
+- <imagetype name="rightarrow" from="buttonarrow">
++ <imagetype name="rightarrow" from="buttonarrow">
+ <position>399,22</position>
+ </imagetype>
+ </state>
+@@ -1285,7 +1285,7 @@
+
+ <textarea name="helptxt" from="basetextarea">
+ <area>223,446,847,158</area>
+- <font>basesomewhatsmallerblue</font>
++ <font>basesomewhatsmaller</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
+@@ -1438,7 +1438,7 @@
+
+ <textarea name="srcinfo" from="basetextarea">
+ <area>164,470,952,130</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
+@@ -1542,7 +1542,7 @@
+
+ <textarea name="helptxt" from="basetextarea">
+ <area>330,40,620,90</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <value>Enter your current location, nearest large town or city. In some countries postal codes are also supported. Hit the right or down arrow to continue. </value>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+@@ -1594,13 +1594,13 @@
+
+ <textarea name="numresults" from="basetextarea">
+ <area>330,517,620,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="source" from="basetextarea">
+ <area>330,559,620,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
diff --git a/linhes/linhes-web/.gitignore b/linhes/linhes-web/.gitignore
new file mode 100644
index 0000000..073b364
--- /dev/null
+++ b/linhes/linhes-web/.gitignore
@@ -0,0 +1 @@
+website.tar.gz
diff --git a/linhes/linhes-web/PKGBUILD b/linhes/linhes-web/PKGBUILD
new file mode 100644
index 0000000..4fe3c49
--- /dev/null
+++ b/linhes/linhes-web/PKGBUILD
@@ -0,0 +1,21 @@
+pkgname=linhes-web
+pkgver=9.0.0
+pkgrel=13
+conflicts=()
+pkgdesc="LinHES local website"
+depends=('lighttpd' 'php-cgi')
+makedepends=()
+arch=('x86_64')
+license=('GPL')
+source=('linhes-web.conf' 'website.tar.gz')
+sha256sums=('e39ce02bde5eb3d359f1286b41751aa715961cf2b2d9a1243c7f01d20ed9c993'
+ '128b325b92818681151e8a1727e091b72dc3c14904976db11a5015c67f237e5d')
+
+package() {
+ mkdir -p $pkgdir/data/srv/httpd/htdocs/
+ cp -rp $srcdir/website/contents/* $pkgdir/data/srv/httpd/htdocs
+ chmod -R 755 $pkgdir/data/srv/httpd/htdocs
+
+ #lighttpd files
+ install -Dm644 $srcdir/linhes-web.conf $pkgdir/etc/lighttpd/conf.d/linhes-web.conf
+}
diff --git a/linhes/linhes-web/linhes-web.conf b/linhes/linhes-web/linhes-web.conf
new file mode 100644
index 0000000..aeac16b
--- /dev/null
+++ b/linhes/linhes-web/linhes-web.conf
@@ -0,0 +1,68 @@
+#server.errorlog-use-syslog = "enable"
+#$HTTP["url"] !~ "\.(jpe?g|png|gif|css)" { accesslog.use-syslog = "enable" }
+
+$HTTP["url"] =~ "(mythweb)" {
+server.error-handler-404 = "/error/mythweb.html"
+}
+
+$HTTP["url"] =~ "(phpMyAdmin)" {
+server.error-handler-404 = "/error/phpadmin.html"
+}
+
+$HTTP["url"] =~ "(xymon)" {
+server.error-handler-404 = "/error/hobbit.html"
+}
+
+$HTTP["url"] =~ "(mythexport)" {
+server.error-handler-404 = "/error/mythexport.html"
+}
+
+$HTTP["url"] =~ "(call_log)" {
+server.error-handler-404 = "/error/call_log.html"
+}
+
+$HTTP["url"] =~ "(mythexpress)" {
+ server.error-handler-404 = "/error/mythexpress.html"
+}
+
+$HTTP["url"] =~ "(remyth)" {
+ server.error-handler-404 = "/error/remyth.html"
+}
+
+
+$HTTP["url"] =~ "(zm)" {
+ server.error-handler-404 = "/error/zoneminder.html"
+ }
+
+## error-handler for status 404
+#server.error-handler-404 = "/error-handler.html"
+server.errorfile-prefix = "/data/srv/httpd/htdocs/error/status-"
+
+
+alias.url += ( "/logs/" => "/var/log/" )
+$HTTP["url"] =~ "^/logs($|/)" {
+ dir-listing.activate= "enable"
+ dir-listing.hide-dotfiles = "enable"
+ dir-listing.external-css = "/frame.css"
+}
+
+
+
+#cgi.assign = ( ".pl" => "/usr/bin/perl",
+# ".sh" => "/bin/bash" ,
+# ".py" => "/usr/bin/python" ,
+# ".cgi" => "/bin/bash" )
+
+
+$SERVER["socket"] == ":1337" {
+ server.document-root = "/data/srv/httpd/cgi/"
+ alias.url = ( "/templates/" => "/home/mythtv/templates/" )
+
+}
+
+
+#### status module
+status.status-url = "/server-status"
+status.config-url = "/server-config"
+
+#ssi.extension = ( ".shtml" )
diff --git a/linhes/linhes-web/mp_preflight b/linhes/linhes-web/mp_preflight
new file mode 100755
index 0000000..037054f
--- /dev/null
+++ b/linhes/linhes-web/mp_preflight
@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+echo " Starting mp_preflight"
+tar -czvf website.tar.gz ./website
diff --git a/linhes/linhes-web/website/contents/ajaxloader.min.js b/linhes/linhes-web/website/contents/ajaxloader.min.js
new file mode 100755
index 0000000..11c14ba
--- /dev/null
+++ b/linhes/linhes-web/website/contents/ajaxloader.min.js
@@ -0,0 +1 @@
+function AjaxLoader(e,t){function n(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(e,t,n,r){return t+t+n+n+r+r});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:null}function r(e,t,n){return"#"+((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)}function b(){p=s>=32?s>=128?72:36:18,d=.5*s*o,v=2*Math.PI/p;h=a/m;if(f){h=-h}g.width=s;g.height=s}function w(e){var t=2*Math.PI*e;var n=Math.cos(t),r=Math.sin(t),i=.5*s*(1+n),o=.5*s*(1-r),a=i-d*n,l=o+d*r;y.clearRect(0,0,s,s);for(var c=0;c<p;c++){y.beginPath();if(f){y.fillStyle="rgba("+u.r+","+u.g+","+u.b+","+(p-1-c)/(p-1)+")"}else{y.fillStyle="rgba("+u.r+","+u.g+","+u.b+","+c/(p-1)+")"}y.moveTo(i,o);y.lineTo(a,l);t+=v,n=Math.cos(t);r=Math.sin(t);i=.5*s*(1+n);o=.5*s*(1-r);a=i-d*n;l=o+d*r;y.lineTo(a,l);y.lineTo(i,o);y.closePath();y.fill()}}var i={size:32,factor:.25,speed:1,color:"#000",clockwise:true};var s,o,u,a,f,l,c=0,h,p,d,v,m=30;if(t!=null){s="size"in t?t.size:i.size;o="factor"in t?t.factor:i.factor;u=n("color"in t?t.color:i.color);a="speed"in t?t.speed:i.speed;f="clockwise"in t?t.clockwise:i.clockwise}else{s=i.size;o=i.factor;u=n(i.color);a=i.speed;f=i.clockwise}var g=document.getElementById(e);if(g==null){console.log("AjaxLoader Error! Cannot find canvas element by id '"+e+"'");return null}var y=g.getContext("2d");b();this.show=function(){g.removeAttribute("style");clearInterval(l);l=setInterval(function(){w(c);c+=h;c=c-Math.floor(c)},1e3/m)};this.hide=function(){clearInterval(l);g.style.display="none"};this.getSize=function(){return s};this.setSize=function(e){s=e;b()};this.getFactor=function(){return o};this.setFactor=function(e){o=e;b()};this.getSpeed=function(){return a};this.setSpeed=function(e){a=e;b()};this.getColor=function(){return r(u.r,u.g,u.b)};this.setColor=function(e){u=n(e)};this.getClockwise=function(){return f};this.setClockwise=function(e){f=e;b()}} \ No newline at end of file
diff --git a/linhes/linhes-web/website/contents/back.png b/linhes/linhes-web/website/contents/back.png
new file mode 100644
index 0000000..6b5da48
--- /dev/null
+++ b/linhes/linhes-web/website/contents/back.png
Binary files differ
diff --git a/linhes/linhes-web/website/contents/cardmap.shtml b/linhes/linhes-web/website/contents/cardmap.shtml
new file mode 100755
index 0000000..d98a4e9
--- /dev/null
+++ b/linhes/linhes-web/website/contents/cardmap.shtml
@@ -0,0 +1,13 @@
+<html>
+ <head>
+ <style type="text/css">@import "/frame.css";</style>
+ </head>
+ <body>
+ <div id="header">
+ <h1>Tuners</h1>
+ <h2>Detected Cards and Static Device Paths</h2>
+ </div>
+ <!--#exec cmd=" MYTHCONFDIR=/usr/share/mythtv /data/srv/httpd/htdocs/list_cardmap.py" -->
+ </body>
+</html>
+
diff --git a/linhes/linhes-web/website/contents/count.py b/linhes/linhes-web/website/contents/count.py
new file mode 100755
index 0000000..ef2a0b1
--- /dev/null
+++ b/linhes/linhes-web/website/contents/count.py
@@ -0,0 +1,118 @@
+#!/usr/bin/python
+# import MySQL module
+
+import MySQLdb
+import sys
+import getopt
+import socket
+
+
+def main(argv):
+ #get LinHES version
+ verfile = open('/etc/LinHES-release', 'r')
+ verLH = verfile.read()
+ verfile.close()
+
+ grandtotal=0
+ grandtotal_current=0
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+ # create a cursor
+ cursor = db.cursor()
+ # execute SQL statement
+ cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM oldrecorded where oldrecorded.recstatus = -3 ORDER by starttime;")
+ result = cursor.fetchall()
+
+ for row in result:
+ # print row[0], row[1] ,row [2]
+ start=row[0]
+ end=row[1]
+ if ( end > start ):
+ total = (end - start) /60
+ grandtotal+=total
+ hours = grandtotal / 60.0
+ days = hours / 24.0
+ try:
+ cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM recorded where not (recgroup=('LiveTV')) ORDER by starttime;")
+ except:
+ pass
+ result_current = cursor.fetchall()
+ for row in result_current:
+ start=row[0]
+ end=row[1]
+ if ( end > start ):
+ total = (end - start) /60
+ grandtotal_current+=total
+ hours_current = grandtotal_current / 60.0
+ days_current = hours_current / 24.0
+
+ print('<!DOCTYPE html>')
+ print("<html>")
+ print(" <head>")
+ print(' <meta charset="UTF-8" />')
+ print(' <style type="text/css">@import "frame.css";</style>')
+ print(" </head>")
+ print("<body>")
+ print(' <div id="mainContainer">')
+ print('<div id="header">')
+ print("<h3>Welcome to</h3>")
+ print("<h1>" , verLH , "</h1>")
+ print("<h3>on " , socket.gethostname() , "</h3>")
+ print("</br>")
+ print("<table>")
+ print(" <tr>")
+ print(" <td>Currently there are " , len(result_current) , " recorded programs, with a viewing time of %.2f days or %.2f hours.</td>" %(days_current,hours_current))
+ print(" </tr>")
+ print("</table>")
+ print("</br> ")
+
+ print("<table>")
+ print(" <tr>")
+ print(" <td>Overall there have been " , len(result) , "shows recorded, with a viewing time of %.2f days or %.2f hours.</td>"%(days,hours))
+ print(" </tr>")
+ print("</table>")
+ print('</div>')
+ print("</br> </br> ")
+#Top shows
+ print('<div id="content"> <p></p>')
+ print('<table class="sample">')
+ print("Top 20 Shows")
+ cursor.execute("select title,count(title),category as numtitle from oldrecorded where oldrecorded.recstatus = -3 group by title having (COUNT(title) > 0 ) order by (COUNT(title)) DESC limit 20;" )
+ result = cursor.fetchall()
+ for row in result:
+ print(" <tr>")
+ print(" <td>",row[0],"</td>")
+ print(" <td>",row[2],"</td>")
+ print(" <td>",row[1],"</td>")
+ print(" </tr>")
+ # print "%40s %26s %10s" %(row[0],row[2],row[1])
+ print("</table>")
+ print("</div>")
+#Top categories
+
+ print('<div id="column">')
+ print('<table class="sample">')
+ print("Top 20 Categories")
+ cursor.execute("select category,count(category) as numtitle from oldrecorded where oldrecorded.recstatus = -3 group by category having (COUNT(category) > 0 ) order by (COUNT(category)) DESC limit 20; " )
+ result = cursor.fetchall()
+ for row in result:
+ category = row[0]
+ if category == "":
+ category = "Unknown"
+ print(" <tr>")
+ print(" <td>",category,"</td>")
+ print(" <td>",row[1],"</td>")
+ print(" </tr>")
+ #print "%16s %16s" %(row[0],row[1])
+ print("</table>")
+ print("</div>")
+ print("</div>")
+ print(' <div id="footer">')
+ print(" <p>Thank you for choosing LinHES!</p>")
+ print(" </div>")
+ print(" </body>")
+ print("</html>")
+
+
+
+if __name__ == "__main__":
+ main(sys.argv[1:])
diff --git a/linhes/linhes-web/website/contents/docs.html b/linhes/linhes-web/website/contents/docs.html
new file mode 100644
index 0000000..d08c32e
--- /dev/null
+++ b/linhes/linhes-web/website/contents/docs.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<style type="text/css">@import "frame.css";</style>
+</head>
+
+<body>
+<div id="header">
+<h1>Documentation</h1>
+<br>
+</div>
+
+<h3>Package Management</h3>
+<div id="navcontainer">
+<ul id="navlist">
+ <li>pacman -Sy = to refresh pkg database</li>
+ <li>pacman -Ss $keyword = to search pkg database</li>
+ <li>pacman -Su = to update all install packages</li>
+ <li>pacman -S $pkg = to update one pkg</li>
+ <li>pacman -h = for a list of pacman operations</li>
+ <li>pacman -S --help = for a full list of options associated with the -S command</li>
+</ul>
+</div>
+<br>
+
+<h3>Starting and Stopping Services</h3>
+<div id="navcontainer">
+<ul id="navlist">
+<!--
+ <li>sv {stop,start,restart} frontend = This will start/stop the entire X proccess that runs mythfrontend</li>
+-->
+ <li>systemctl {stop,start,restart} mariadb.service</li>
+ <li>systemctl {stop,start,restart} mythbackend.service</li>
+</ul>
+<br>
+</div>
+<!--
+<h3>Other Notes</h3>
+<div id="navcontainer">
+<ul id="navlist">
+ <li>To keep a host from showing up in the network map, add it to:
+ /home/xymon/server/ext/ignoreclient.py
+ </li>
+ <li>To stop xymon from running a check on a function remove "func" from bb-hosts</li>
+ <li>remove "func" from bb-hosts to stop hobbit from running a func check on it </li>
+ <li>If /tmp/nomfe is present then mythfrontend will not restart</li>
+ <li>Adding pkg names to /etc/pkgname.blacklist will stop MythVantage from auto installing a package</li>
+</div>
+<br>
+-->
+<h3>MythFrontend Menu Navigation</h3>
+<div id="navcontainer">
+<ul id="navlist">
+ <li> <A HREF="images/classic-menugraph.png">Classic Menu</A> </li>
+ <li> <A HREF="images/menu_diagram_color.png">Standard Menu</A> </li>
+ <li> <A HREF="images/dvr_menugraph.png">DVR Menu</A> </li>
+
+</body>
+</html>
+
diff --git a/linhes/linhes-web/website/contents/error-handler.html b/linhes/linhes-web/website/contents/error-handler.html
new file mode 100644
index 0000000..49e406f
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error-handler.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+Module or page not found
+</body>
+</html> \ No newline at end of file
diff --git a/linhes/linhes-web/website/contents/error/call_log.html b/linhes/linhes-web/website/contents/error/call_log.html
new file mode 100644
index 0000000..d4d6333
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/call_log.html
@@ -0,0 +1,11 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+Call logging is not enabled, or no calls logs
+</br>
+To enable logging of incoming phone calls please visit the advanced section of the service menu
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/error/hobbit.html b/linhes/linhes-web/website/contents/error/hobbit.html
new file mode 100644
index 0000000..4c65716
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/hobbit.html
@@ -0,0 +1,11 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+Xymon does not appear to be installed.
+</br>
+If Xymon was just installed/started it will take a few minutes before this page populates.
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/error/mythbackend.html b/linhes/linhes-web/website/contents/error/mythbackend.html
new file mode 100644
index 0000000..9c3a362
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/mythbackend.html
@@ -0,0 +1,11 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+MythBackend status is currently unavailable.
+</br>
+
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/error/mythexport.html b/linhes/linhes-web/website/contents/error/mythexport.html
new file mode 100644
index 0000000..f0d6b9d
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/mythexport.html
@@ -0,0 +1,22 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+<h2>MythExport does not appear to be installed</h2>
+</br>
+</br>
+<h4>Export MythTV recordings to portable media players.</h4>
+</br>
+<div id="navcontainer">
+ <ul id="navlist">
+To enable MythExport run these commands in a terminal:
+ </br>
+ <li> pacman -Syyu mythexport </li>
+ <li> add_service.sh mythexport </li>
+</ul>
+
+</body>
+</html>
+
diff --git a/linhes/linhes-web/website/contents/error/mythexpress.html b/linhes/linhes-web/website/contents/error/mythexpress.html
new file mode 100644
index 0000000..0525dfc
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/mythexpress.html
@@ -0,0 +1,20 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+<h2>MythExpress is not enabled or installed</h2>
+</br>
+</br>
+<h4>MythExpress is a browser-based interface to MythTV's HTTP streaming capability.</h4>
+</br>
+<div id="navcontainer">
+ <ul id="navlist">
+To enable MythExpress run these commands in a terminal:
+ </br>
+ <li> pacman -Syyu mythexpress </li>
+ <li> add_service.sh mythexpress </li>
+</ul>
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/error/mythweb.html b/linhes/linhes-web/website/contents/error/mythweb.html
new file mode 100644
index 0000000..fe76a9a
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/mythweb.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+MythWeb does not appear to be installed.
+</br>
+To install MythWeb either
+</br>
+1) Visit the MythVantage advanced screen to enable mythweb. </br>
+2) type "pacman -S mythweb-release-fixes" at the console.
+
+
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/error/phpadmin.html b/linhes/linhes-web/website/contents/error/phpadmin.html
new file mode 100644
index 0000000..39b2f48
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/phpadmin.html
@@ -0,0 +1,26 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL over the Web.
+</br>
+Currently it's not installed,but if you wish to install phpmyadmin, type the following at a command prompt
+</br>
+</br>
+
+pacman -S phpmyadmin
+
+</br>
+</br>
+PHP must be enabled for phpMyAdmin.
+</br>
+</br>
+</br>
+
+Please be carefull, phpMyAdmin is a powerful tool and can easily mess with your settings.
+
+
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/error/remyth.html b/linhes/linhes-web/website/contents/error/remyth.html
new file mode 100644
index 0000000..36661d2
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/remyth.html
@@ -0,0 +1,22 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+<h2>ReMyth is not enabled or installed</h2>
+</br>
+</br>
+<h4>ReMyth provides a nice remote for your MythTV Frontends.</h4>
+<h4>You will be able to view your recordings, as well as send actions to a frontend of your choosing.</h4>
+</br>
+
+<div id="navcontainer">
+ <ul id="navlist">
+To enable ReMyth run these commands in a terminal:
+ </br>
+ <li> pacman -Syyu remyth </li>
+ <li> add_service.sh remyth </li>
+</ul>
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/error/status-404.html b/linhes/linhes-web/website/contents/error/status-404.html
new file mode 100644
index 0000000..49e406f
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/status-404.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+Module or page not found
+</body>
+</html> \ No newline at end of file
diff --git a/linhes/linhes-web/website/contents/error/zoneminder.html b/linhes/linhes-web/website/contents/error/zoneminder.html
new file mode 100644
index 0000000..25ecc9b
--- /dev/null
+++ b/linhes/linhes-web/website/contents/error/zoneminder.html
@@ -0,0 +1,20 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+Zoneminder is not enabled or installed.
+</br>
+</br>
+</br>
+<div id="navcontainer">
+ <ul id="navlist">
+
+To enable zoneminder run these commands in a terminal:
+ </br>
+ <li> pacman -Syyu zoneminder </li>
+ <li> add_service.sh zoneminder </li>
+</ul>
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/exports.shtml b/linhes/linhes-web/website/contents/exports.shtml
new file mode 100755
index 0000000..12e079c
--- /dev/null
+++ b/linhes/linhes-web/website/contents/exports.shtml
@@ -0,0 +1,14 @@
+<html>
+ <head>
+ <style type="text/css">@import "/frame.css";</style>
+ </head>
+ <body>
+ <div id="header">
+ <h1>File Shares</h1>
+ </div>
+ <div id="navcontainer">
+ <!--#exec cmd="/data/srv/httpd/htdocs/list_exports.py" -->
+ </div>
+ </body>
+</html>
+
diff --git a/linhes/linhes-web/website/contents/favicon.ico b/linhes/linhes-web/website/contents/favicon.ico
new file mode 100644
index 0000000..6a99443
--- /dev/null
+++ b/linhes/linhes-web/website/contents/favicon.ico
Binary files differ
diff --git a/linhes/linhes-web/website/contents/fe_status.py b/linhes/linhes-web/website/contents/fe_status.py
new file mode 100644
index 0000000..0b400e0
--- /dev/null
+++ b/linhes/linhes-web/website/contents/fe_status.py
@@ -0,0 +1,144 @@
+#!/usr/bin/python
+
+import urllib2
+import xml.etree.ElementTree as ET
+import socket
+from MythTV import Frontend
+import sys
+#socket.setdefaulttimeout(1)
+#socket.setdefaulttimeout(.00001)
+
+def msg(msg):
+ #if cmdargs.silent is False:
+ print "%s" %msg
+
+
+def parse_xml(frontend):
+ temp_dict = {'state':" --- ",
+ 'title':" --- ",
+ 'subtitle':" --- ",
+ 'location':" --- "}
+ url = "http://%s:6547/Frontend/GetStatus" %frontend
+ try:
+ request = urllib2.Request(url)
+ xml = urllib2.urlopen(request,timeout=1)
+ tree = ET.parse(xml)
+ root = tree.getroot()
+ except:
+ #msg(" Couldn't connect to %s" %frontend)
+ temp_dict['state'] = "offline"
+ return temp_dict
+
+ lst = root.find("State")
+ for item in lst:
+ try:
+ keyitem = (item.find('Key').text).strip()
+ valueitem = (item.find('Value').text).strip()
+ except:
+ continue
+ if keyitem == "state":
+ temp_dict['state'] = valueitem
+
+ elif keyitem == "title":
+ temp_dict['title'] = valueitem
+
+ elif keyitem == "subtitle":
+ temp_dict['subtitle'] = valueitem
+
+ elif keyitem == "currentlocation":
+ temp_dict['location'] = valueitem
+
+ return temp_dict
+
+
+def mythfe_status(cursor,mythDB):
+ status_dict={}
+ try:
+ #frontends = mythDB.getFrontends() #use cursor instead so it doesn't test connection
+ cursor.execute("select distinct hostname from settings where hostname is not null;")
+ frontends=cursor.fetchall()
+ except:
+ #msg("Exceptions")
+ return
+
+ for i in frontends:
+ i=''.join(i)
+ try:
+ fe_hostname = socket.gethostbyaddr(i)[0]
+ except:
+ #print "DNS lookup failed for %s" %i
+ fe_hostname = i
+ try:
+ ip_addr = socket.gethostbyname(i)
+ fe_hostname = "%s (%s)" %(fe_hostname,ip_addr)
+ status_dict[fe_hostname] = parse_xml(ip_addr)
+ except:
+ fe_hostname = "%s" %fe_hostname
+ status_dict[fe_hostname] = parse_xml(fe_hostname)
+ return status_dict
+
+
+def print_html(status_dict):
+ print '<div> <p></p>'
+ print '</br> </br> '
+ print '<table class="calllog">'
+
+ #print "Current state of all online frontends"
+ #print '</br> </br> '
+
+ #print status_dict
+ row = '''
+<tr>
+ <td> %s </td>
+ <td> %s </td>
+ <td> %s </td>
+ <td> %s </td>
+ <td> %s </td>
+</tr>
+'''
+ print row %(" MythFrontend Host "," State "," Title "," Subtitle "," MythFrontend Location ")
+ for fe in status_dict.keys():
+ temp_dict = status_dict[fe]
+ print row %(fe,
+ temp_dict['state'],
+ temp_dict['title'],
+ temp_dict['subtitle'],
+ temp_dict['location'])
+
+ print "</table>"
+ print '</div>'
+
+# print '''
+# <div id="footer">
+# </br>
+# <p>Offline systems are not listed</p>
+# </div>
+#'''
+
+
+def main():
+ try:
+ from MythTV import MythDB
+ mythDB = MythDB()
+ cursor = mythDB.cursor()
+ db_conn=True
+ except:
+ msg("Couldn't connect to MythTV database.")
+ db_conn=False
+
+ try:
+ from MythTV import MythBE
+ mythBE = MythBE()
+ be_conn=True
+ except:
+ msg("Couldn't connect to MythTV backend.")
+ be_conn=False
+
+ if (db_conn):
+ status_dict = mythfe_status(cursor,mythDB)
+ print_html(status_dict)
+
+
+
+if __name__ == "__main__":
+ main()
diff --git a/linhes/linhes-web/website/contents/fe_status.shtml b/linhes/linhes-web/website/contents/fe_status.shtml
new file mode 100644
index 0000000..8fda3df
--- /dev/null
+++ b/linhes/linhes-web/website/contents/fe_status.shtml
@@ -0,0 +1,18 @@
+<html>
+ <head>
+ <style type="text/css">@import "/frame.css";</style>
+ <meta http-equiv="cache-control" content="max-age=0" />
+ <meta http-equiv="cache-control" content="no-cache" />
+ <meta http-equiv="expires" content="0" />
+ <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
+ <meta http-equiv="pragma" content="no-cache" />
+ <meta http-equiv="refresh" content="30">
+ </head>
+
+ <body>
+ <div id="header">
+ <h1>MythFrontend Status</h1>
+ </div>
+ <!--#exec cmd="MYTHCONFDIR=/usr/share/mythtv /data/srv/httpd/htdocs/fe_status.py" -->
+ </body>
+</html>
diff --git a/linhes/linhes-web/website/contents/fe_status_load.shtml b/linhes/linhes-web/website/contents/fe_status_load.shtml
new file mode 100755
index 0000000..b83c13f
--- /dev/null
+++ b/linhes/linhes-web/website/contents/fe_status_load.shtml
@@ -0,0 +1,41 @@
+<html>
+ <head>
+ <style type="text/css">@import "/frame.css";</style>
+ <script src="/ajaxloader.min.js"></script>
+ <meta http-equiv="cache-control" content="max-age=0">
+ <meta http-equiv="cache-control" content="no-cache">
+ <meta http-equiv="expires" content="0">
+ <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
+ <meta http-equiv="pragma" content="no-cache">
+ <meta http-equiv="refresh" content="0; url=/fe_status.shtml">
+ <script language="javascript">
+ function redirect() {
+ window.location.replace("/fe_status.shtml");}
+ </script>
+ </head>
+
+ <body onload="redirect()">
+ <div id="header">
+ <h1>MythFrontend Status</h1>
+ </div>
+ <br> <br>
+ <h3>Querying MythFrontends...</h3>
+ <br>
+ <div id="container">
+ <div>
+ <canvas id="spinner"></canvas>
+ </div>
+ </div>
+ <script type="text/javascript">
+ var opts = {
+ size: 72, // Width and height of the spinner
+ factor: 0.25, // Factor of thickness, density, etc.
+ color: "#ebb81c", // Color #rgb or #rrggbb
+ speed: 1.0, // Number of turns per second
+ clockwise: true // Direction of rotation
+ };
+ var ajaxLoader = new AjaxLoader("spinner", opts);
+ ajaxLoader.show();
+ </script>
+ </body>
+</html>
diff --git a/linhes/linhes-web/website/contents/frame.css b/linhes/linhes-web/website/contents/frame.css
new file mode 100644
index 0000000..b367dcd
--- /dev/null
+++ b/linhes/linhes-web/website/contents/frame.css
@@ -0,0 +1,229 @@
+* /* Our "universal rule" */
+{
+ padding: 0px;
+ margin: 0px;
+ border: 0px;
+}
+body {
+/* background: url("page_background.jpg") repeat-y #9FA9B3; */
+ background-color: #191c26;
+
+//background-color: #ebb81c;
+//background-image: -webkit-gradient(linear, left top, left bottom, from(#ebb81c), to(#0072bc)); /* Saf4+, Chrome */
+//background-image: -webkit-linear-gradient(top, #ebb81c, #0072bc); /* Chrome 10+, Saf5.1+, iOS 5+ */
+//background-image: -moz-linear-gradient(top, #ebb81c, #0072bc) ; /* FF3.6 */
+//background-image: -moz-linear-gradient(top, #0072bc,#ebb81c) ; /* FF3.6 */
+//background-image: -ms-linear-gradient(top, #ebb81c, #0072bc); /* IE10 */
+//background-image: -o-linear-gradient(top, #ebb81c, #0072bc); /* Opera 11.10+ */
+//background-image: linear-gradient(top, #ebb81c, #0072bc);
+/filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ebb81c', EndColorStr='#0072bc'); /* IE6-IE9 */
+
+
+//background-size: 1000px 1000px, 500px 500px;
+//-o-background-size: 1000px 10000px;
+//-moz-background-size: 1000px 10000px, 500px, 500px;
+//-webkit-background-size: 1000px 10000px, 500px 500px;
+
+ margin: 10px;
+ padding: 10px;
+ border: 10px;
+ min-width: 870px;
+ font-family: Arial, Tahoma, Helvetica, sans-serif;
+ font-size: 11px;
+ color: #FFFFFF;
+ text-align: center;
+ font-size: 18px;
+ font-family: tahoma, verdana, geneva, arial, helvetica, sans-serif;
+}
+
+#mainContainer {
+ clear: both;
+ width: 870px;
+ margin: 10px auto;
+ text-align: left; /* Since we used text-align: center in the body to be sure some older IE versions are going to center our design, we now align the text left */
+ display: block;
+}
+#header {
+ color: #fff;
+ text-align: center;
+}
+#content {
+ float: left; /* Our content is going to be left aligned */
+ width: 420px; /* And it's going to have a 320px width */
+ /*background: #D9D9D9;*/
+ margin-left:10px;
+}
+
+#column {
+ float: right; /* Our column is going to be right aligned */
+ width: 420px; /* And it's going to have a 320px width */
+ /*background: #8A8AE6;*/
+ margin-right:10px;
+}
+
+#resultbox {
+ width: 700px ;
+ margin-left: auto ;
+ margin-right: auto ;
+ border-width: .2em;
+ border-style: dotted;
+ border-color: #900;
+ text-align: left;
+ padding-left: 30;
+ padding-right: 30;
+ padding-top: 10;
+ padding-bottom: 10;
+
+}
+
+#netContainer {
+ clear: both;
+ width: 870px;
+ margin: 10px auto;
+ display: block;
+}
+
+img.center {
+ display: block;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ margin-left: auto;
+ margin-right: auto;
+ max-width: 100%;
+}
+
+#footer {
+ clear: both; /* We have to clear our floats */
+ width: 870px; /* We need to set the width on the footer since it's outside the mainContainer, and therefor isn't controlled by it */
+ margin: 0px auto; /* We need to center the footer also */
+ color: gold;
+ text-align: center;
+ font-size: 10px;
+}
+
+#navlist {
+ clear: both;
+ width: 870px;
+ margin: 10px auto;
+ display: block;
+ text-align: left;
+ list-style-type: square;
+}
+
+#navlist li {
+
+}
+#navlist a:link
+{
+ color: #fff;
+# background-color: #FDB14F;
+ text-decoration: underline;
+
+
+}
+
+#navlist a:visited
+{
+# color: #FDB14F;
+ color: gold;
+ text-decoration: underline;
+}
+
+table.sample {
+ border-width: 4px;
+ border-spacing: 2px;
+ border-style: outset;
+ border-color: #808080;
+ border-collapse: separate;
+ width:400px;
+}
+
+table.sample td {
+ border-width: 1px;
+ padding: 1px;
+ border-style: inset;
+ border-color: #808080;
+ /*width:300px;*/
+ -moz-border-radius: ;
+}
+
+
+table.calllog {
+ border-width: 4px;
+ border-spacing: 2px;
+ border-style: outset;
+ border-color: #808080;
+ border-collapse: separate;
+ width:85%;
+ margin-left:auto;
+ margin-right:auto;
+ body {text-align:center;}
+}
+
+table.calllog td {
+ border-width: 1px;
+ padding: 1px;
+ border-style: inset;
+ border-color: #808080;
+ /*width:300px;*/
+ -moz-border-radius: ;
+}
+
+
+.n {
+ font-weight: normal;
+ text-align: left;
+ width: 250px;
+ color: white;
+}
+
+.s {
+ font-weight: normal;
+ text-align: left;
+ width: 150px;
+ color: white;
+ text-decoration: none;
+}
+
+.m {
+ font-weight: normal;
+ text-align: left;
+ width: 350px;
+ color: white;
+ text-decoration: none;
+}
+
+.t {
+ font-weight: normal;
+ text-align: left;
+ width: 350px;
+ color: white;
+ text-decoration: none;
+ visibility:hidden
+}
+
+
+a:link
+{
+ color: #fff;
+# background-color: #FDB14F;
+ text-decoration: underline;
+
+# margin-left:10px;
+
+}
+
+a:visited
+{
+# color: #FDB14F;
+ color: gold;
+ text-decoration: underline;
+ margin-left:10px;
+}
+
+#submitbutton {
+ background-color: #010101;
+ font-size: 100%;
+ color: gold;
+ text-decoration: underline;margin-left:150px;
+ padding: 10px; font-weight: bold; }
diff --git a/linhes/linhes-web/website/contents/go.png b/linhes/linhes-web/website/contents/go.png
new file mode 100644
index 0000000..c70bf2a
--- /dev/null
+++ b/linhes/linhes-web/website/contents/go.png
Binary files differ
diff --git a/linhes/linhes-web/website/contents/header.html b/linhes/linhes-web/website/contents/header.html
new file mode 100755
index 0000000..1192f63
--- /dev/null
+++ b/linhes/linhes-web/website/contents/header.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html>
+ <!--<style type="text/css">@import "mv.css";</style>-->
+ <link rel="stylesheet" type="text/css" href="skeleton.css" />
+<head>
+<meta charset="UTF-8" />
+<script type="text/javascript">
+
+function beStatus()
+{
+ document.getElementById('mwamodify-me').href = "http://" + window.location.hostname + ":6544";
+ document.getElementById('plexmodify-me').href = "http://" + window.location.hostname + ":32400/web/";
+ document.getElementById('fgmodify-me').href = "http://" + window.location.hostname + ":3539/flexget/";
+ document.getElementById('btmodify-me').href = "http://" + window.location.hostname + ":8080";
+}
+</script>
+</head>
+
+<BODY BGCOLOR=#ebb81c onload="beStatus()">
+
+<div id='header'></div>
+<img id='header_img' src="linhes_header.png" alt="LinHES" title="LinHES"/>
+
+<base target="content" />
+<ul id="nav">
+<li><a href="home.shtml" TARGET="content" id="current">Home</a></li>
+
+<li><a href="mythweb/">MythWeb &#187;</a>
+ <ul>
+ <li><a href="mythweb/tv/list" >Listings</a></li>
+ <li><a href="mythweb/tv/recorded" >Recorded</a></li>
+ <li><a href="mythweb/tv/schedules" >Schedules</a></li>
+ <li><a href="mythweb/tv/searches" >Searches</a></li>
+ <li><a href="mythweb/status" >Status</a></li>
+ <li><a href="mythweb/tv/upcoming" >Upcoming</a></li>
+ <li><a href="mythweb/music" >Music</a></li>
+ <li><a href="mythweb/video" >Video</a></li>
+ </ul>
+</li>
+
+<!--<li><a href="fe_status_load.shtml">MythFrontend Status</a></li>-->
+
+<li><a href="" id="mwamodify-me" target="_blank">MythTV Web App</a></li>
+<li><a href="" id="plexmodify-me" target="_blank">Plex</a></li>
+
+<li><a href="/logs/" >System &#187;</a>
+ <ul>
+ <li><a href="/logs/" >Logs</a></li>
+ <!-- <li><a href="/exports.shtml" >File Shares</a></li> -->
+ <li><a href="" id="fgmodify-me" target="_blank">FlexGet</a></li>
+ <li><a href="" id="btmodify-me" target="_blank">qBittorrent</a></li>
+ <li><a href="/zabbix/" >Zabbix</a></li>
+ <!-- <li><a href="/cardmap.shtml" >Tuners</a></li>-->
+ <!-- <li><a href="/shell/" >Terminal</a></li>-->
+ </ul>
+</li>
+<!--
+<li><a href="calllog.shtml">Utilities &#187;</a>
+ <ul>
+ <li><a href="mythexport/setup.cgi">MythExport</a></li>
+ <li><a href="mythexpress.html" target="_blank">MythExpress</a></li>
+ <li><a href="zm">ZoneMinder</a></li>
+ </ul>
+</li>
+-->
+<li><a href="docs.html" >Documentation</a></li>
+
+<li><a href="links.html" >Links &#187;</a>
+ <ul>
+ <li><a href="http://linhes.org/wiki" >LinHES Wiki</a></li>
+ <li><a href="http://forums.linhes.org" >LinHES Forums</a></li>
+ <li><a href="http://linhes.org/projects/linhes/issues" >LinHES Bug Tracker</a></li>
+ <li><a href="http://linhes.org/projects/linhes/wiki/Official_and_3rd_party_add-ons" >LinHES Add-Ons</a></li>
+ <li><a href="http://www.mythtv.org" >MythTV</a></li>
+ <li><a href="http://smolt.mythtv.org" >MythTV Smolt Server</a></li>
+ <li><a href="http://www.schedulesdirect.org" >Schedules Direct</a></li>
+ </ul>
+</li>
+
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/home.shtml b/linhes/linhes-web/website/contents/home.shtml
new file mode 100755
index 0000000..9494139
--- /dev/null
+++ b/linhes/linhes-web/website/contents/home.shtml
@@ -0,0 +1 @@
+<!--#exec cmd="/data/srv/httpd/htdocs/count.py" -->
diff --git a/linhes/linhes-web/website/contents/images/classic-menugraph.png b/linhes/linhes-web/website/contents/images/classic-menugraph.png
new file mode 100644
index 0000000..bedbd93
--- /dev/null
+++ b/linhes/linhes-web/website/contents/images/classic-menugraph.png
Binary files differ
diff --git a/linhes/linhes-web/website/contents/images/dvr_menugraph.png b/linhes/linhes-web/website/contents/images/dvr_menugraph.png
new file mode 100644
index 0000000..712ab36
--- /dev/null
+++ b/linhes/linhes-web/website/contents/images/dvr_menugraph.png
Binary files differ
diff --git a/linhes/linhes-web/website/contents/images/menu_diagram_color.png b/linhes/linhes-web/website/contents/images/menu_diagram_color.png
new file mode 100644
index 0000000..d364d94
--- /dev/null
+++ b/linhes/linhes-web/website/contents/images/menu_diagram_color.png
Binary files differ
diff --git a/linhes/linhes-web/website/contents/index.html b/linhes/linhes-web/website/contents/index.html
new file mode 100755
index 0000000..99f6b37
--- /dev/null
+++ b/linhes/linhes-web/website/contents/index.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="UTF-8" />
+ <link rel="shortcut icon" href="/favicon.ico">
+ <title>LinHES: The Linux Home Entertainment System</title>
+ </head>
+ <frameset cols="205, 100%" frameborder="no" border="0" bordercolor="#000000">
+ <frame src="header.html" scrolling=no name="menuframe" />
+ <frame src="home.shtml" name="content" />
+ <noframes>
+ <body>
+ There is no frame support on your browser.
+ </body>
+ </noframes>
+ </frameset>
+</html>
diff --git a/linhes/linhes-web/website/contents/linhes_header.png b/linhes/linhes-web/website/contents/linhes_header.png
new file mode 100644
index 0000000..fd50187
--- /dev/null
+++ b/linhes/linhes-web/website/contents/linhes_header.png
Binary files differ
diff --git a/linhes/linhes-web/website/contents/links.html b/linhes/linhes-web/website/contents/links.html
new file mode 100644
index 0000000..65b5231
--- /dev/null
+++ b/linhes/linhes-web/website/contents/links.html
@@ -0,0 +1,27 @@
+<html>
+<head>
+<style type="text/css">@import "frame.css";</style>
+</head>
+
+<body>
+<h1>Links</h1>
+</br>
+
+<div id="navcontainer">
+<ul id="navlist">
+ <!-- <li><a href="/mvpmc.shtml" >Media MVP setup</a> (dhcp server must be enabled) </li> -->
+ <li><a href="http://linhes.org/wiki" >LinHES Wiki</a></li>
+ <li><a href="http://forums.linhes.org" >LinHES Forums</a></li>
+ <li><a href="http://linhes.org/projects/linhes/issues" >LinHES Bug Tracker </a></li>
+ <li><a href="http://linhes.org/projects/linhes/wiki/Official_and_3rd_party_add-ons" >LinHES Add-Ons</a></li>
+ <li><a href="http://www.mythtv.org" >MythTV</a></li>
+ <li><a href="http://smolt.mythtv.org" >MythTV Smolt Server</a></li>
+ <li><a href="http://www.schedulesdirect.org" >Schedules Direct</a></li>
+
+
+
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/list_cardmap.py b/linhes/linhes-web/website/contents/list_cardmap.py
new file mode 100755
index 0000000..c77ed83
--- /dev/null
+++ b/linhes/linhes-web/website/contents/list_cardmap.py
@@ -0,0 +1,156 @@
+#!/usr/bin/python2
+import subprocess
+import socket,sys
+import urllib2
+from MythTV import MythBE,MythDB,MythLog
+
+def find_slave_hosts():
+ slave_hosts=[]
+ try:
+ be=MythBE()
+ db = MythDB()
+ cursor = db.cursor()
+ except:
+ return slave_hosts
+
+ try:
+ cmd="select hostname from settings where data='Slave_backend';"
+ cursor.execute(cmd)
+ results=cursor.fetchall()
+ for i in results:
+ slave_hosts.append(i[0])
+ except:
+ return slave_hosts
+ return slave_hosts
+
+def read_local_tuner():
+ tuner_list = []
+ exportfile = '/etc/udev/mv-persistent-video.description'
+ try:
+ f = open(exportfile,"r")
+ for line in f.readlines():
+ if line.startswith("#"):
+ continue
+ item = line.split(":")
+ if len(item) <= 1 :
+ continue
+ tuner_list.append(item)
+ except :
+ tuner_list.append(["notfound","notfound","notfound"])
+ return tuner_list
+
+def parse_remote_tuners(the_page):
+ tuner_list=[]
+ the_page = the_page.split("\n")
+ try:
+ for line in the_page:
+ if line.startswith("#"):
+ continue
+ item = line.split(":")
+ if len(item) <= 1 :
+ continue
+ tuner_list.append(item)
+ except :
+ tuner_list.append(["notfound","notfound","notfound"])
+ return tuner_list
+
+
+def remote_tuners(slave_host):
+ default_timeout = 3
+ socket.setdefaulttimeout(default_timeout)
+ slaveurl="http://%s:1337/cardlist.cgi" %slave_host
+ req = urllib2.Request(slaveurl)
+ response = urllib2.urlopen(req)
+ the_page = response.read()
+ #the_page="abc\nadef\na"
+ if the_page :
+ tuner_list = parse_remote_tuners(the_page)
+ print "</br>"
+ for statictuner in tuner_list:
+ if statictuner[1].find("notfound") > -1 :
+ print "Couldn't open tuner map"
+ print "</br>"
+ else:
+ print "<li> %s&nbsp;&nbsp;&nbsp%s" %(statictuner[1] ,statictuner[0])
+ print "</br>"
+ print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static device node: %s" %statictuner[2]
+ print "</br>"
+ print "</br>"
+ else:
+ print "<li> no tuners found &nbsp;&nbsp;&nbsp"
+
+ return
+
+
+
+mbelist = read_local_tuner()
+slave_hosts = find_slave_hosts()
+
+#--------------MBE-------------
+hostname = socket.gethostname()
+print "</br>"
+print "<h2>"
+print "__________ %s __________" %(hostname)
+print "</h2>"
+print "</br>"
+print '''
+<div id="navcontainer">
+<ul id="navlist">
+'''
+
+for statictuner in mbelist:
+ hdhr_url = None
+ if statictuner[1].find("notfound") > -1 :
+ print "Couldn't open tuner map"
+ print "</br>"
+ else:
+ ceton_url = None
+ hdhr_url = None
+ if statictuner[0] == "hdhr":
+ hdhr_url = statictuner[1].split("-")[-1]
+ elif statictuner[0] == "infinitv":
+ ceton_port = statictuner[3].strip()
+ #Services/1/Status.html
+ #print statictuner
+ ceton_tuner=statictuner[2].strip()[-1]
+ ceton_tuner = int(ceton_tuner) + 1
+ ceton_url = "http://%s:%s/Services/%s/Status.html" %(hostname,
+ ceton_port,
+ ceton_tuner)
+
+ #print "<li> %s&nbsp;&nbsp;&nbsp%s" %(statictuner[1] ,statictuner[0])
+ print "<li> %s&nbsp;&nbsp;&nbsp" %(statictuner[1])
+ print "</br>"
+ print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static device node: %s" %statictuner[2]
+
+ if hdhr_url:
+ print "</br>"
+ print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;device webpage: <a href="http://%s">http://%s</a> ' %(hdhr_url.strip(),hdhr_url.strip())
+ if ceton_url:
+ print "</br>"
+ print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;device webpage: <a href="%s">%s</a> ' %(ceton_url.strip(),ceton_url.strip())
+ print "</br>"
+ print "</br>"
+
+print '''</ul> </div>'''
+
+#---------Slave tuners
+for i in slave_hosts:
+ print "<h2>"
+ print "__________ %s __________" %(i)
+ print "</h2>"
+ print "</br>"
+ print '''
+ <div id="navcontainer">
+ <ul id="navlist" '''
+ #remote_tuners(i)
+ try:
+ remote_tuners(i)
+ pass
+ except:
+ print "</br>"
+ print "<li> Problem reading list from %s" %i
+ pass
+ print ''' </ul> </div>'''
+
+
diff --git a/linhes/linhes-web/website/contents/list_exports.py b/linhes/linhes-web/website/contents/list_exports.py
new file mode 100755
index 0000000..79c2c38
--- /dev/null
+++ b/linhes/linhes-web/website/contents/list_exports.py
@@ -0,0 +1,85 @@
+#!/usr/bin/python2
+import subprocess
+
+def nfs_export_list():
+ nfslist = []
+ exportfile = "/etc/exports"
+ proc = subprocess.Popen(["showmount", "-a"] , stdout=subprocess.PIPE,stderr=subprocess.PIPE)
+ stdout,stderr = proc.communicate()
+ rc = proc.returncode
+ if rc == 0:
+ try:
+ f = open(exportfile,"r")
+ for line in f.readlines():
+ if line.startswith("#"):
+ continue
+ item = line.split()
+ if len(item) <= 1 :
+ continue
+ nfslist.append(item)
+ except :
+ pass
+ else:
+ nfslist.append(["NFS server is not running",'NFS server is not running'])
+ return nfslist
+
+
+def smb_share_list():
+ smblist=[]
+
+ proc = subprocess.Popen(["smbclient", "-L", "\\localhost" , "-N"], stdout=subprocess.PIPE,stderr=subprocess.PIPE)
+ stdout,stderr = proc.communicate()
+ outstuff = stderr.split("\n")
+ for line in outstuff:
+ try:
+ heading1 = line.split()[0]
+ except:
+ continue
+ #print heading1
+ #print heading1.find("Domain")
+ if heading1.find("Domain") > -1 :
+ #smblist.append('')
+ smblist.append(heading1)
+ break
+
+ outstuff = stdout.split("\n")
+ for line in outstuff:
+ try:
+ heading1,heading2 = line.split()
+ except:
+ continue
+ if heading1 == "Server" and heading2 == "Comment":
+ break
+ smblist.append(line)
+
+ return smblist
+
+
+nfslist = nfs_export_list()
+smblist = smb_share_list()
+
+
+print "</br>"
+print "<h2>__________ NFS Shares __________</h2>"
+print "</br>"
+print '<ul id="navlist">'
+for sharename in nfslist:
+ if sharename[1].find("noaccess") > -1 :
+ print "<h3>%s \t no access</h3>" %sharename[0]
+ else:
+ print "<li>%s</li>" %sharename[0]
+
+print '</ul>'
+
+print "</br>"
+print "<h2>__________ SMB Shares __________</h2>"
+print "</br>"
+print '<ul id="navlist">'
+if len(smblist) == 0:
+ print "<h3>Samba is not running or no shares are listed</h3>"
+ print "</br>"
+else:
+ for sharename in smblist:
+ print "<li>%s</li>" %(sharename.split()[0])
+
+print '</ul>'
diff --git a/linhes/linhes-web/website/contents/mv.css b/linhes/linhes-web/website/contents/mv.css
new file mode 100644
index 0000000..54e70b0
--- /dev/null
+++ b/linhes/linhes-web/website/contents/mv.css
@@ -0,0 +1,100 @@
+#header {
+ // width: 820px;
+ position: relative;
+ height: 182px;
+ #background: #000011 url(linhes_header.png) no-repeat center top;
+ background: #ebb81c url(linhes_header.png) no-repeat center bottom ;
+ padding: 0;
+ padding-top: 1px;
+ font-size: 14px;
+ color: #FFF;
+}
+
+#header h1#logo-text {
+ // position: absolute;
+ margin: 0; padding: 0;
+ font: bolder 3.3em 'Trebuchet MS', Arial, Sans-serif;
+ letter-spacing: -2px;
+ color: #FFFFFF;
+ text-transform: none;
+ text-align: center;
+ /* change the values of top and left to adjust the position of the logo*/
+ top: 0px; left: 150px;
+}
+
+#content
+{
+ color: #FFFFFF;
+ text-transform: none;
+ text-align: center;
+}
+
+#navcontainer
+{
+ width: 100%;
+ float: left;
+ background-color:#0072bc;
+}
+
+#navcontainer ul { padding: 0; }
+#navcontainer ul li { display: inline; }
+
+#navcontainer ul
+{
+ margin: 0;
+ padding: 0 0 0 7%;
+ color: #FFFFFF;
+ font-family: tahoma, verdana, geneva, arial, helvetica, sans-serif;
+ //font-size: .65em;
+ letter-spacing: 2px;
+ font-weight: bold;
+ float: right;
+ //background:#ebb81c;
+ background-color: #0072bc;
+
+}
+
+
+#navcontainer ul li a
+{
+ padding: 0.2em 12px;// background-color: #ebb81c;
+ background-color: #0072bc;
+ color: #FFFFFF;
+ text-decoration: none;
+ float: left;
+ //border-right: 1px solid #94B473;
+
+ border-top-right-radius: 15px;
+ -moz-border-top-right-radius: 15px;
+
+ border-top-left-radius: 15px;
+ -moz-border-top-left-radius: 15px;
+}
+
+
+#navcontainer a:active
+{
+ background-color: #ECECEC;
+ color: #333;
+ border-top-right-radius: 25px;
+ -moz-border-top-right-radius: 25px;
+ border-top-left-radius: 25px;
+ -moz-border-top-left-radius: 22px;
+}
+
+#navcontainer ul li a:hover
+{
+ background-color: #ECECEC;
+ color: #333;
+}
+
+#navlist li a:hover, #navlist li a:active li:active
+{
+ color: #FFFFFF;
+ text-decoration: none;
+ background:black;
+ text-align: right;
+ font-family: tahoma, verdana, geneva, arial, helvetica, sans-serif;
+}
+
+
diff --git a/linhes/linhes-web/website/contents/mvp_process.py b/linhes/linhes-web/website/contents/mvp_process.py
new file mode 100644
index 0000000..b01ed8b
--- /dev/null
+++ b/linhes/linhes-web/website/contents/mvp_process.py
@@ -0,0 +1,195 @@
+#!/usr/bin/python
+import sys
+import cgi
+import os
+import socket
+import time
+import shutil
+try:
+ import cgitb
+ cgitb.enable()
+except ImportError:
+ sys.stderr = sys.stdout
+def cgiprint(inline=''):
+ sys.stdout.write(inline)
+ sys.stdout.write('\r\n')
+ sys.stdout.flush()
+contentheader = 'Content-Type: text/html'
+
+thepage = '''<html><head>
+<title>%s</title>
+</head><body>
+%s
+</body></html>
+'''
+h1 = '<h1>%s</h1>'
+
+def getform(theform, valuelist, notpresent='', nolist=False):
+ """
+ This function, given a CGI form as a
+ FieldStorage instance, extracts the
+ data from it, based on valuelist
+ passed in. Any non-present values are
+ set to '' - although this can be
+ changed. (e.g. to return None so you
+ can test for missing keywords - where
+ '' is a valid answer but to have the
+ field missing isn't.) It also takes a
+ keyword argument 'nolist'. If this is
+ True list values only return their
+ first value.
+ """
+ data = {}
+ for field in valuelist:
+
+
+ if not theform.has_key(field):
+ # if the field is not present (or was empty)
+ data[field] = notpresent
+ else:
+ # the field is present
+ data[field] = theform.getlist(field)
+
+# print type(theform[field])
+ return data
+
+def getall(theform, nolist=False):
+ """
+ Passed a form (cgi.FieldStorage
+ instance) return *all* the values.
+ This doesn't take into account
+ multipart form data (file uploads).
+ It also takes a keyword argument
+ 'nolist'. If this is True list values
+ only return their first value.
+ """
+ data = {}
+ for field in theform.keys():
+ # we can't just iterate over it, but must use the keys() method
+ if type(theform[field]) == type([]):
+ if not nolist:
+ data[field] = theform.getlist(field)
+
+ else:
+ data[field] = theform.getfirst(field)
+ else:
+ data[field] = theform[field].value
+
+
+ return data
+
+def isblank(indict):
+ """
+ Passed an indict of values it checks
+ if any of the values are set. Returns
+ True if the indict is empty, else
+ returns False. I use it on the a form
+ processed with getform to tell if my
+ CGI has been activated without any
+ form values.
+ """
+ for key in indict.keys():
+ if indict[key]:
+ return False
+ return True
+
+
+def update_mvp_list(maclist):
+ outfile = open("/etc/dnsmasq.mvpmc.conf","w")
+ mvpline="dhcp-boot=net:mvp,dongle.bin"
+ mvpmacline='dhcp-host=net:mvp,%s'
+ results="The following media mvp devices have been added:"
+ results+='</br>'
+ havemvp = "false"
+ #print maclist
+ for i in range(len(maclist)):
+ if maclist[i] != '':
+# print mvpmacline % maclist[i]
+ outfile.write(mvpmacline % maclist[i] + '\n' )
+ havemvp="true"
+ results+=maclist[i]
+ results+='</br>'
+ if havemvp == "true":
+# print mvpline
+ outfile.write(mvpline + '\n' )
+ outfile.flush
+ outfile.close
+ #time.sleep(5)
+
+ else:
+ outfile.close
+ return results
+
+
+mainpage = '''
+ <html><head>
+ <style type="text/css">@import "/frame.css";</style>
+ <!--<meta http-equiv="refresh" content="6">-->
+ <title>Receiving a Form</title>
+ </head><body>%s</body></html>'''
+
+error = '''
+
+ <h2>Removed all media mvp devices</h2>'''
+
+result = '''
+ <h1>%s</h1>
+'''
+possible_parameters = ['activemvp', 'othermac','hiddenparam']
+
+if __name__ == '__main__':
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+
+ theform = cgi.FieldStorage()
+ #print theform
+ formdict = getform(theform, possible_parameters)
+ #print possible_parameters
+ #print formdict
+ oldurl = '/mvpmc.shtml'
+ if isblank(formdict):
+ body = error
+ all_active=[]
+ else:
+ all_active=[]
+ activemac_checkbox = formdict['activemvp']
+ for i in range(len(activemac_checkbox)):
+ active_string=activemac_checkbox[i]
+ active_string=active_string.strip()
+ all_active.append(active_string)
+ body = result % ("MVP mac address")
+
+
+
+ print mainpage % body
+ # mylogfile=update_mvp_list(all_active)
+
+
+ box='''
+ <div style="border: 1px solid #aaa; width:600px; height:500px; overflow:auto; color:#FFF;text-align:left;">
+ <code id="box" style="display: block; height: 500px; width: 600px; overflow: auto;">
+ '''
+
+ endbox='''
+ </code>
+ </div>
+ '''
+ javascript='''
+ <script type="text/javascript">
+ var objDiv = document.getElementById("box");
+ objDiv.scrollTop = objDiv.scrollHeight;
+ </script>
+ '''
+ if all_active != []:
+ mylogfile=update_mvp_list(all_active)
+ command="sudo /sbin/sv stop dnsmasq"
+ os.system(command)
+ command="sudo /sbin/sv start dnsmasq"
+ os.system(command)
+ print box
+ print mylogfile
+ print endbox
+ print '<a href=', oldurl, ' > Back </a> '
+ #print oldurl
+ print javascript
+
diff --git a/linhes/linhes-web/website/contents/mvp_select.py b/linhes/linhes-web/website/contents/mvp_select.py
new file mode 100644
index 0000000..8283d68
--- /dev/null
+++ b/linhes/linhes-web/website/contents/mvp_select.py
@@ -0,0 +1,146 @@
+#!/usr/bin/python
+#
+
+import urllib2
+import string
+import sys
+import time
+import datetime
+import socket
+
+def read_accepted():
+
+ global dhcp_accepted
+ dhcp_accepted = []
+ try:
+ infile = open('/tmp/dhcp.leases', 'r')
+ except(IOError), e:
+ print "couldn't open accepted"
+ else:
+ filelist = infile.readlines()
+ infile.close()
+ for item in filelist:
+ item=item.strip()
+ macaddress=item.split(" ")[1]
+ if macaddress not in dhcp_accepted:
+ dhcp_accepted.append(macaddress)
+ #print macaddress
+
+def read_offered():
+ global dhcp_offered
+ dhcp_offered = []
+ try:
+ today = datetime.date.today()
+
+ host = socket.gethostname()
+ filename='/var/log/'
+ filename+=str(today)
+ filename+='/'
+ filename+=host
+ filename+='/dnsmasq'
+ infile = open(filename, 'r')
+ except(IOError), e:
+ print "couldn't open offered"
+ else:
+ filelist = infile.readlines()
+ infile.close()
+ for item in filelist:
+ item=item.strip()
+ if item.find("DHCPOFFER") != -1 :
+ macaddress=item.rpartition(" ")[2]
+ if macaddress not in dhcp_offered:
+ dhcp_offered.append(macaddress)
+ #print macaddress
+
+
+
+def read_current():
+ global dhcp_current
+ dhcp_current = []
+ try:
+ infile = open('/etc/dnsmasq.mvpmc.conf', 'r')
+ except(IOError), e:
+ print "couldn't open current"
+ else:
+ filelist = infile.readlines()
+ infile.close()
+ for item in filelist:
+ item=item.strip()
+ if item.find("dhcp-host") != -1 :
+ macaddress=item.partition(",")[2]
+
+ if macaddress not in dhcp_current :
+ dhcp_current.append(macaddress)
+ # print macaddress
+
+
+
+
+
+
+
+def make_html():
+ global dhcp_accepted
+ global dhcp_offered
+ buttonform_top='''
+ <div class="content" style="solid #aaa; width:500px; height:300px; overflow:auto; color:#FFF;text-align:left;">
+ <form action="/mvp_process.py" method="get">
+ '''
+
+
+ buttonform_bottom='''
+ Mac Address:
+ <input type="text" name="activemvp">
+
+ </br>
+ <input id="submitbutton" type="submit" />
+ </form>
+ </div>
+ '''
+ checkboxline = '''
+ <input type="checkbox" name="activemvp" value="%s" %s /> %s <br />
+ '''
+ print '<br />'
+ da = set(dhcp_accepted)
+ dof = set(dhcp_offered)
+ dc = set(dhcp_current)
+ possible_mac= dof -dc
+ #possible_mac= dof -da - dc
+
+ print buttonform_top
+ for mac in dhcp_current:
+ print checkboxline % (mac ,' checked="yes"' , mac)
+ for mac in possible_mac:
+ print checkboxline % (mac , " " ,mac)
+ print buttonform_bottom
+
+
+#-------------------
+global dhcp_accepted
+global dhcp_offered
+global dhcp_current
+
+
+
+
+read_offered()
+#print "--"
+#print '</br>'
+read_accepted()
+#print "--"
+#print '</br>'
+read_current()
+#print "--"
+#print '</br>'
+
+
+
+#possible_mac= (dof - da)
+#possible_mac = dof
+#print "should be unchecked:"
+#print possible_mac
+
+
+make_html()
+
+
diff --git a/linhes/linhes-web/website/contents/mvpmc.shtml b/linhes/linhes-web/website/contents/mvpmc.shtml
new file mode 100644
index 0000000..edc27d4
--- /dev/null
+++ b/linhes/linhes-web/website/contents/mvpmc.shtml
@@ -0,0 +1,21 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+<h1>Media MVP page</h1>
+<body>
+<div id="mainContainer">
+<!-- <div id="header"><p></p></div>
+ <div id="content">
+ <p></p>-->
+
+ <!--#exec cmd="/data/srv/httpd/htdocs/mvp_select.py" -->
+
+
+</br>
+</br>
+<div id="footer"><p>Thank you for choosing MythVantage</p></div>
+
+</body>
+</html>
+
diff --git a/linhes/linhes-web/website/contents/mythweb.html b/linhes/linhes-web/website/contents/mythweb.html
new file mode 100644
index 0000000..fe76a9a
--- /dev/null
+++ b/linhes/linhes-web/website/contents/mythweb.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+MythWeb does not appear to be installed.
+</br>
+To install MythWeb either
+</br>
+1) Visit the MythVantage advanced screen to enable mythweb. </br>
+2) type "pacman -S mythweb-release-fixes" at the console.
+
+
+</body>
+</html>
diff --git a/linhes/linhes-web/website/contents/page_background.jpg b/linhes/linhes-web/website/contents/page_background.jpg
new file mode 100644
index 0000000..4819c9a
--- /dev/null
+++ b/linhes/linhes-web/website/contents/page_background.jpg
Binary files differ
diff --git a/linhes/linhes-web/website/contents/process.py b/linhes/linhes-web/website/contents/process.py
new file mode 100755
index 0000000..60714ee
--- /dev/null
+++ b/linhes/linhes-web/website/contents/process.py
@@ -0,0 +1,447 @@
+#!/usr/bin/python2
+import sys
+import cgi
+import os
+import socket
+import time
+import StringIO
+
+try:
+ import cgitb
+ cgitb.enable()
+except ImportError:
+ sys.stderr = sys.stdout
+def cgiprint(inline=''):
+ sys.stdout.write(inline)
+ sys.stdout.write('\r\n')
+ sys.stdout.flush()
+contentheader = 'Content-Type: text/html'
+
+def getform(theform, valuelist, notpresent='', nolist=False):
+ """
+ This function, given a CGI form as a
+ FieldStorage instance, extracts the
+ data from it, based on valuelist
+ passed in. Any non-present values are
+ set to '' - although this can be
+ changed. (e.g. to return None so you
+ can test for missing keywords - where
+ '' is a valid answer but to have the
+ field missing isn't.) It also takes a
+ keyword argument 'nolist'. If this is
+ True list values only return their
+ first value.
+ """
+ data = {}
+ for field in valuelist:
+ if not theform.has_key(field):
+ # if the field is not present (or was empty)
+ data[field] = notpresent
+ else:
+ # the field is present
+ #print type(theform[field])
+ if type(theform[field]) != type([]):
+ # is it a list or a single item
+ #print type(theform[field])
+ data[field] = theform[field].value
+ else:
+ if not nolist:
+ # do we want a list ?
+ data[field] = theform.getlist(field)
+ else:
+ data[field] = theform.getfirst(field)
+ # just fetch the first item
+ return data
+
+def getall(theform, nolist=False):
+ """
+ Passed a form (cgi.FieldStorage
+ instance) return *all* the values.
+ This doesn't take into account
+ multipart form data (file uploads).
+ It also takes a keyword argument
+ 'nolist'. If this is True list values
+ only return their first value.
+ """
+ data = {}
+ for field in theform.keys():
+ # we can't just iterate over it, but must use the keys() method
+ if type(theform[field]) == type([]):
+ if not nolist:
+ data[field] = theform.getlist(field)
+ else:
+ data[field] = theform.getfirst(field)
+ else:
+ data[field] = theform[field].value
+ return data
+
+def isblank(indict):
+ """
+ Passed an indict of values it checks
+ if any of the values are set. Returns
+ True if the indict is empty, else
+ returns False. I use it on the a form
+ processed with getform to tell if my
+ CGI has been activated without any
+ form values.
+ """
+ for key in indict.keys():
+ if indict[key]:
+ return False
+ return True
+
+def go_backup(myhost):
+ myhostname = socket.gethostname()
+ results="Nothing happened"
+ command= "sudo /usr/LH/bin/lh_system_backup_job"
+ #print command
+
+ command2="sleep 1; sudo -u nobody /home/xymon/server/ext/hbnotes.py"
+ results=os.popen(command,'r')
+ os.popen(command2,'r')
+
+ return results
+
+def go_download_backup(dl_file):
+ # Actual File Content will go hear.
+ dlf = "/data/storage/disk0/backup/system_backups/%s" %dl_file
+ fo = open(dlf, "rb")
+
+ str = fo.read()
+ fo.close()
+
+ # HTTP Header
+ print "Content-Type:application/octet-stream; name=\"%s\"\r\n;" %(dl_file)
+ print "Content-Disposition: attachment; filename=\"%s\"\r\n;" %(dl_file)
+ print "Content-Length: %d" % len(str)
+ print ""
+
+ print str
+ return results
+
+def go_restore(restorefile,myhost,prestore):
+ myhostname = socket.gethostname()
+ psc = ''
+ if prestore == "on":
+ psc = "partial"
+
+ if myhostname.strip() == myhost.strip():
+ command="sudo /usr/LH/bin/lh_system_restore_job %s %s" %(restorefile , psc)
+ else:
+ #this should never execute
+ sshcmd="ssh -o StrictHostKeyChecking=no -o ConnectTimeout=1 -i /data/srv/.nobody_ssh/id_dsa mythtv@"
+ sshcmd+=myhost.strip()
+ cmd=' "sudo /usr/bin/restore_job.sh " '
+ command=sshcmd + cmd + restorefile + " 2>&1 "
+ #print command
+ results=os.popen(command,'r')
+ return results
+
+def go_upload(up_file):
+ saveDir = "/data/storage/disk0/backup/system_backups/"
+ fPath = "%s/%s" % (saveDir, up_file.filename)
+ buf = up_file.file.read()
+ bytes = len(buf)
+ sFile = open(fPath, 'wb')
+ sFile.write(buf)
+ sFile.close()
+ results=["<b>%s</b> uploaded (%d bytes)." %(up_file.filename, bytes)]
+ line = '''The backup has been uploaded and is now available for restore.
+ To restore from the file, check "Restore database" then select the file from the drop down menu'''
+
+ results.append(line)
+
+ command2="sleep 1; sudo -u nobody /home/xymon/server/ext/hbnotes.py"
+ os.popen(command2,'r')
+
+ return results
+
+def go_optimize(myhost):
+ #myhostname = socket.gethostname()
+ #if myhostname.strip() == myhost.strip():
+ command="/usr/LH/bin/optimize_mythdb.py"
+ #print command
+ results=os.popen(command,'r')
+ #else:
+ #results='This host does not run a database'
+ return results
+
+def go_update(myhost,update_type):
+ cmd=" call pacman update_system "
+ cmd+=update_type
+ command="/usr/bin/func \"" + myhost.strip() + "*\" " + cmd
+ #print command
+ results=os.popen(command,'r')
+ return results
+
+def go_updateall(allupdate_type):
+ cmd=" sudo /usr/bin/update_system_all "
+ cmd+=allupdate_type
+ command= cmd + " 2>&1 "
+ results=os.popen(command,'r')
+ return results
+
+def go_shutdown(myhost):
+ myhostname = socket.gethostname()
+ message="Shutdown from MBE"
+ command="/usr/bin/func \"" + myhost.strip() + "*\" call msg display \"%s\" " %message
+ results=os.popen(command,'r')
+ time.sleep(3)
+ command="/usr/bin/func \"" + myhost.strip() + "*\" call power poweroff "
+ results=os.popen(command,'r')
+ return results
+
+def go_shutdownall():
+ import MySQLdb
+ #import mysql
+ #find all hosts(minus myself)
+ #loop through results shutdown as we go.
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+ # create a cursor
+ cursor = db.cursor()
+ # execute SQL statement
+ myhostname = socket.gethostname()
+ results=["Sent shutdown command to: \n "]
+ cursor.execute("SELECT distinct(hostname) from settings where not hostname = %s ; ",(myhostname))
+ result = cursor.fetchall()
+
+ for row in result:
+ go_shutdown(row[0])
+ results.append(row[0])
+
+ #shutdown myself.
+ #go_shutdown(myhostname)
+ #results.append(myhostname)
+ return results
+
+def go_reboot(myhost):
+ myhostname = socket.gethostname()
+ message="Reboot from MBE"
+ command="/usr/bin/func \"" + myhost.strip() + "*\" call msg display \"%s\" " %message
+ results=os.popen(command,'r')
+ time.sleep(3)
+
+ command="/usr/bin/func \"" + myhost.strip() + "*\" call power reboot "
+ results=os.popen(command,'r')
+ return results
+
+def go_wake(myhost):
+ command="/usr/MythVantage/bin/wakeonlan.sh " + myhost.strip()
+ results=os.popen(command,'r')
+ return results
+
+def go_kill(myhost,kill_type):
+ myhostname = socket.gethostname()
+ cmd=" call fe_restart "
+ cmd+=kill_type
+ command="/usr/bin/func \"" + myhost.strip() + "*\" " + cmd
+
+ results=os.popen(command,'r')
+ return results
+
+def go_restart_mbe_local():
+ cmd = "/usr/LH/bin/lh_backend_control.sh restart &"
+ #results=os.popen(cmd,'r')
+ os.popen(cmd,'r')
+ results = ["Attempting restart of backend service"]
+ return results
+
+
+mainpage = '''
+<html>
+ <head>
+ <style type="text/css">@import "/frame.css";</style>
+ <meta http-equiv="cache-control" content="max-age=0">
+ <meta http-equiv="cache-control" content="no-cache">
+ <meta http-equiv="expires" content="0">
+ <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
+ <meta http-equiv="pragma" content="no-cache">
+ <title>LinHES</title>
+ </head>
+ <body>
+ %s
+ </body>
+</html>
+'''
+
+
+loadingpage = '''
+<html>
+ <head>
+ <style type="text/css">@import "/frame.css";</style>
+ <script src="/ajaxloader.min.js"></script>
+ <meta http-equiv="cache-control" content="max-age=0">
+ <meta http-equiv="cache-control" content="no-cache">
+ <meta http-equiv="expires" content="0">
+ <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
+ <meta http-equiv="pragma" content="no-cache">
+ <title>LinHES</title>
+ </head>
+ <body>
+ <div id="header">
+ %s
+ </div>
+ <div id="container">
+ <br><br>
+ <h3>Working. Please Wait...</h3>
+ <br><br>
+ <div>
+ <canvas id="spinner"></canvas>
+ </div>
+ </div>
+ <script type="text/javascript">
+ var opts = {
+ size: 72, // Width and height of the spinner
+ factor: 0.25, // Factor of thickness, density, etc.
+ color: "#ebb81c", // Color #rgb or #rrggbb
+ speed: 1.0, // Number of turns per second
+ clockwise: true // Direction of rotation
+ };
+ var ajaxLoader = new AjaxLoader("spinner", opts);
+ ajaxLoader.show();
+ </script>
+'''
+
+
+error = '''
+ <h1>Error</h1>
+ <h2>No Form Submission Was Received</h2>'''
+
+
+result = '''
+ <h1>%s of %s</h1>
+'''
+
+possible_parameters = ['param1', 'param2', 'param3', 'param4','hiddenparam','param5','param6','param7','uFile','param8']
+
+if __name__ == '__main__':
+
+ theform = cgi.FieldStorage()
+ #print theform
+ formdict = getform(theform, possible_parameters)
+ #print possible_parameters
+
+ if isblank(formdict):
+ body = error
+ else:
+ name = formdict['param1']
+ radio = formdict['param2'] # should be 'this' or 'that'
+ if radio != 'Restore' :
+ name = ""
+ update_type = formdict['param3']
+ oldurl = formdict['param4']
+ hidden = formdict['hiddenparam']
+ all_update_type=formdict['param5']
+ kill_type = formdict['param6']
+ dl_file = formdict['param7']
+ try:
+ up_file = theform['uFile']
+ except:
+ pass
+ try:
+ prestore = theform['param8'].value
+ except:
+ prestore = "off"
+ body = result % (radio, hidden)
+
+ selection=radio
+ myhost=hidden.lower()
+
+ if selection == "Restore":
+ mylogfile=go_restore(name,myhost,prestore)
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+ elif selection == "Backup":
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print loadingpage % body
+ mylogfile=go_backup(myhost)
+ elif selection == "Dbackup":
+ mylogfile=go_download_backup(dl_file)
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+ elif selection == "Update":
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print loadingpage % body
+ mylogfile=go_update(myhost,update_type)
+ elif selection == "Shutdown":
+ mylogfile=go_shutdown(myhost)
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+ elif selection == "Reboot":
+ mylogfile=go_reboot(myhost)
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+ elif selection == "Optimize":
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print loadingpage % body
+ mylogfile=go_optimize(myhost)
+ elif selection == "WOL":
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print loadingpage % body
+ mylogfile=go_wake(myhost)
+ elif selection == "UpdateAll":
+ mylogfile=go_updateall(all_update_type)
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+ elif selection == "ShutdownAll":
+ mylogfile=go_shutdownall()
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+ elif selection == "Kill":
+ mylogfile=go_kill(myhost,kill_type)
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+ elif selection == "Upload":
+ mylogfile = go_upload(up_file)
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+ elif selection == "RestartMBE":
+ mylogfile = go_restart_mbe_local()
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+ print mainpage % body
+
+ cgiprint() # finish headers with blank line
+
+ box='''<br><br>
+ <div id="resultbox" >
+
+ '''
+
+ endbox='''
+
+ </div>
+ '''
+ javascript='''
+ <script type="text/javascript">
+ document.getElementById("container").style.display = 'none';
+ ajaxLoader.hide();
+ var objDiv = document.getElementById("resultbox");
+ objDiv.scrollTop = objDiv.scrollHeight;
+ </script>
+ '''
+
+ print box
+ for line in mylogfile:
+ print line + '<br> \r\n'
+
+ print endbox
+ print "<br><br>"
+ #print '<a href=', oldurl, ' > Back </a> '
+ s='<a href="%s"><img src="back.png"></a>' %oldurl
+ print s
+ #<a href="myfile.htm"><img src="rainbow.gif"></a>
+ #print oldurl
+ print javascript
diff --git a/linhes/linhes-web/website/contents/skeleton.css b/linhes/linhes-web/website/contents/skeleton.css
new file mode 100644
index 0000000..1a1a826
--- /dev/null
+++ b/linhes/linhes-web/website/contents/skeleton.css
@@ -0,0 +1,105 @@
+/* ================================================================
+This copyright notice must be untouched at all times.
+
+The original version of this stylesheet and the associated (x)html
+is available at http://www.stunicholls.com/menu/skeleton_up.html
+Copyright (c) 2005-2007 Stu Nicholls. All rights reserved.
+This stylesheet and the associated (x)html may be modified in any
+way to fit your requirements.
+=================================================================== */
+#header_img {margin:5px auto;display:block;width:100%}
+
+#nav,
+#nav ul {padding:0 0 5px 0; margin:0; list-style:none;
+ font: 14px helvetica, sans-serif;
+ /*font: 14px verdana, sans-serif;*/
+ border:1px solid #000;
+ border-color:#ace #79b #68a #bde;
+ border-width:1px 2px 2px 1px; background:#fff;
+ position:relative; z-index:200;}
+
+#nav {height:auto; width:calc(100% - 2px);
+ padding:0; background-color:#0072bc;
+ display: inline-block;}
+
+#nav li {float:left; width:100%;}
+#nav li li {float:none; background:#fff;}
+/* a hack for IE5.x and IE6 */
+* html #nav li li {float:left;}
+
+
+
+
+#nav li a {display:block; float:left;
+ color:#FFFFFF; margin:0 25px 0 10px;
+ height:auto; line-height:25px;
+ text-decoration:none; white-space:normal;
+}
+
+/*item in white box*/
+#nav li li a {height:auto; line-height:20px; float:none;
+ background-color:#0072bc;
+ margin:0 0 0 0;
+ border:1px solid #000;
+ /*border-color:#ace #79b #68a #bde;*/
+ border-color:#0072bc;
+ border-width:3px 3px 3px 3px; background:#0072bc;
+ }
+
+#nav li:hover {position:relative; z-index:300; }
+
+/*white box*/
+#nav li:hover ul {left:4em; top:0px; right:-10px; background-color:#0072bc;}
+
+/* another hack for IE5.5 and IE6 */
+* html #nav li:hover ul {left:10px;}
+
+
+#nav ul {position:absolute;
+ left:-9999px;
+ top:-9999px;
+}
+/* yet another hack for IE5.x and IE6 */
+* html #nav ul {width:1px;}
+
+/* it could have been this simple if all browsers understood */
+/* show next level */
+#nav li:hover li:hover > ul {left:-15px; margin-left:100%; bottom:-7px; top:auto;}
+/* keep further levels hidden */
+#nav li:hover > ul ul {position:absolute; left:-9999px; top:-9999px; width:auto;}
+/* show path followed */
+
+#nav li:hover > a {text-decoration:underline; }
+
+
+/* but IE5.x and IE6 need this lot to style the flyouts and path followed */
+/* show next level */
+#nav li:hover li:hover ul,
+#nav li:hover li:hover li:hover ul,
+#nav li:hover li:hover li:hover li:hover ul,
+#nav li:hover li:hover li:hover li:hover li:hover ul
+{left:-15px; margin-left:100%; bottom:-7px; top:auto;}
+
+/* keep further levels hidden */
+#nav li:hover ul ul,
+#nav li:hover li:hover ul ul,
+#nav li:hover li:hover li:hover ul ul,
+#nav li:hover li:hover li:hover li:hover ul ul
+{position:absolute; left:-9999px; top:-9999px;}
+
+/* show path followed */
+#nav li:hover a,
+#nav li:hover li:hover a,
+#nav li:hover li:hover li:hover a,
+#nav li:hover li:hover li:hover li:hover a,
+#nav li:hover li:hover li:hover li:hover li:hover a,
+#nav li:hover li:hover li:hover li:hover li:hover li:hover a
+{text-decoration:underline; color:#ebb81c;}
+
+/* hide futher possible paths */
+#nav li:hover li a,
+#nav li:hover li:hover li a,
+#nav li:hover li:hover li:hover li a,
+#nav li:hover li:hover li:hover li:hover li a,
+#nav li:hover li:hover li:hover li:hover li:hover li a
+{text-decoration:none; color:#FFFFFF;}
diff --git a/abs/core/python_modules/python-html5lib/LICENSE b/linhes/mkinitcpio-openswap/LICENSE
index 89de354..870dd64 100644
--- a/abs/core/python_modules/python-html5lib/LICENSE
+++ b/linhes/mkinitcpio-openswap/LICENSE
@@ -1,3 +1,7 @@
+MIT License
+
+Copyright (c) 2016 Fabio Tea
+
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
@@ -5,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/linhes/mkinitcpio-openswap/PKGBUILD b/linhes/mkinitcpio-openswap/PKGBUILD
new file mode 100644
index 0000000..a6bad29
--- /dev/null
+++ b/linhes/mkinitcpio-openswap/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Jenya Sovetkin <e.sovetkin@gmail.com>
+# Contributors: https://aur.archlinux.org/account/f4bio
+pkgname=mkinitcpio-openswap
+pkgver=0.1.0
+pkgrel=3
+pkgdesc="mkinitcpio hook to open swap at boot time"
+arch=(any)
+license=('unknown')
+url="https://aur.archlinux.org/packages/mkinitcpio-openswap/"
+depends=(mkinitcpio)
+backup=('etc/openswap.conf')
+install="usage.install"
+source=('openswap.hook'
+ 'openswap.install'
+ 'openswap.conf')
+sha256sums=('84ef428386b7f4353af036ccfbd4c60901a76e2d0c7a38dd3be2000219ea9d23'
+ '94dd98a953bab2244215a2b20767cdc9500fc438bed9ec27cae72a73766c6b86'
+ '3308f2679bb7c962d98adf2684d25390025d025e3d30bc1e773e3522311ad325')
+
+
+package() {
+ install -Dm 644 openswap.hook \
+ "${pkgdir}/usr/lib/initcpio/hooks/openswap"
+ install -Dm 644 openswap.install \
+ "${pkgdir}/usr/lib/initcpio/install/openswap"
+ install -Dm 644 openswap.conf \
+ "${pkgdir}/etc/openswap.conf"
+}
diff --git a/linhes/mkinitcpio-openswap/openswap.conf b/linhes/mkinitcpio-openswap/openswap.conf
new file mode 100644
index 0000000..b7e92e0
--- /dev/null
+++ b/linhes/mkinitcpio-openswap/openswap.conf
@@ -0,0 +1,17 @@
+## cryptsetup open $swap_device $crypt_swap_name
+## get uuid using e.g. lsblk -f
+swap_device=/dev/disk/by-uuid/2788eb78-074d-4424-9f1d-ebffc9c37262
+crypt_swap_name=cryptswap
+
+## one can optionally provide a keyfile device and path on this device
+## to the keyfile
+keyfile_device=/dev/mapper/cryptroot
+keyfile_filename=etc/keyfile-cryptswap
+
+## additional arguments are given to mount for keyfile_device
+## has to start with --options (if so desired)
+#keyfile_device_mount_options="--options=subvol=__active/__"
+
+## additional arguments are given to cryptsetup
+## --allow-discards options is desired in case swap is on SSD partition
+cryptsetup_options="--type luks"
diff --git a/linhes/mkinitcpio-openswap/openswap.hook b/linhes/mkinitcpio-openswap/openswap.hook
new file mode 100644
index 0000000..9a96ad4
--- /dev/null
+++ b/linhes/mkinitcpio-openswap/openswap.hook
@@ -0,0 +1,25 @@
+run_hook ()
+{
+ ## read openswap configurations
+ source /openswap.conf
+
+ ## Optional: To avoid race conditions
+ x=0;
+ while [ ! -b "$keyfile_device" ] && [ $x -le 10 ]; do
+ x=$((x+1))
+ sleep .2
+ done
+ ## End of optional
+
+ if [ -z "$keyfile_device" ] || [ -z "$keyfile_filename" ]
+ then
+ ## case when no keyfile provided in configurations
+ cryptsetup open $cryptsetup_options "$swap_device" "$crypt_swap_name"
+ else
+ ## case when keyfile is provided in configurations
+ mkdir openswap_keymount
+ mount $keyfile_device_mount_options "$keyfile_device" openswap_keymount
+ cryptsetup open $cryptsetup_options --key-file "openswap_keymount/$keyfile_filename" "$swap_device" "$crypt_swap_name"
+ umount openswap_keymount
+ fi
+}
diff --git a/linhes/mkinitcpio-openswap/openswap.install b/linhes/mkinitcpio-openswap/openswap.install
new file mode 100644
index 0000000..95d59a3
--- /dev/null
+++ b/linhes/mkinitcpio-openswap/openswap.install
@@ -0,0 +1,27 @@
+build ()
+{
+ grep "swap_device=" /etc/openswap.conf > "$BUILDROOT/openswap.conf"
+ grep "crypt_swap_name=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
+ grep "keyfile_device=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
+ grep "keyfile_filename=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
+ grep "keyfile_device_mount_options=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
+ grep "cryptsetup_options=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
+
+ source "$BUILDROOT/openswap.conf"
+
+ if [ -z "$swap_device" ]; then
+ warning "swap_device variable is not set"
+ fi
+
+ if [ -z "$crypt_swap_name" ]; then
+ warning "crypt_swap_name variable is not set"
+ fi
+
+ add_runscript
+}
+help ()
+{
+cat<<HELPEOF
+ This hook opens a swap at boot time
+HELPEOF
+}
diff --git a/linhes/mkinitcpio-openswap/usage.install b/linhes/mkinitcpio-openswap/usage.install
new file mode 100644
index 0000000..3610e9d
--- /dev/null
+++ b/linhes/mkinitcpio-openswap/usage.install
@@ -0,0 +1,9 @@
+post_install() {
+ echo ""
+ echo "Alter /etc/openswap.conf file for your swap device name, keyfiles, etc..."
+ echo ""
+ echo "For more information see: https://wiki.archlinux.org/index.php/Dm-crypt/Swap_encryption#mkinitcpio_hook"
+ echo ""
+ echo "Don't forget to add the openswap hook after encrypt and before resume in your /etc/mkinitcpio.conf and run mkinitcpio -p linux..."
+ echo ""
+}
diff --git a/linhes/mythplugins/PKGBUILD b/linhes/mythplugins/PKGBUILD
new file mode 100644
index 0000000..e0142a8
--- /dev/null
+++ b/linhes/mythplugins/PKGBUILD
@@ -0,0 +1,125 @@
+# Maintainer: pvdp <pvdp@email.com>
+# Contributor: Taijian <taijian@posteo.de>
+# Contributor: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgbase=mythplugins
+pkgname=('mythplugins-mytharchive'
+ 'mythplugins-mythgame'
+ 'mythplugins-mythmusic'
+ 'mythplugins-mythnetvision'
+ 'mythplugins-mythnews'
+ 'mythplugins-mythweather'
+ 'mythplugins-mythweb'
+ 'mythplugins-mythzoneminder')
+br=fixes/34
+t="${br#*/}+${br%/[0-9][0-9]}"
+pkgver=34+fixes.20240311.5590d0d5
+pkgrel=1
+epoch=0
+arch=('any')
+url="http://www.mythtv.org"
+license=('GPL')
+makedepends=('dvdauthor' 'dvd+rw-tools' 'mesa-libgl' "mythtv>=$pkgver" 'git'
+ 'perl-datetime-format-iso8601' 'perl-date-manip' 'perl-image-size' 'perl-cgi'
+ 'perl-json' 'perl-libwww' 'perl-soap-lite' 'perl-xml-simple' 'perl-xml-xpath' 'libhdhomerun'
+ 'python-pillow' 'python-pycurl' 'python-oauthlib' 'gdb' 'mariadb-libs' 'minizip'
+ 'python-lxml' 'perl-xml-xpath' 'python-urllib3' 'libcdio-paranoia' 'libdiscid' 'libmusicbrainz5'
+ 'libcoverart')
+source=("git+https://github.com/MythTV/mythweb#branch=$br"
+ "git+https://github.com/MythTV/mythtv#branch=$br"
+)
+sha256sums=('SKIP'
+ 'SKIP')
+
+pkgver() {
+ cd "${srcdir}/mythtv/$pkgbase"
+ echo -n "$t.$(git show -s --format=%cd --date=short | tr -d -).$(git rev-parse --short=8 HEAD)"
+}
+
+prepare() {
+ cd "$srcdir/mythtv/$pkgbase"
+
+ cd "$srcdir/mythweb"
+
+ sed -re 's@/usr/local.*/usr/share@/usr/share@' -i 'mythweb.php'
+}
+
+build() {
+ cd "$srcdir/mythtv/$pkgbase"
+
+ ./configure --prefix=/usr \
+ --enable-all
+ qmake-qt5 mythplugins.pro
+ make -s
+}
+
+package_mythplugins-mytharchive() {
+ pkgdesc="Create DVDs or archive recorded shows in MythTV"
+ depends=('dvdauthor' 'dvd+rw-tools' 'mythtv' 'python-pillow')
+
+ cd "$srcdir/mythtv/$pkgbase/mytharchive"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythgame() {
+ pkgdesc="Game emulator plugin for MythTV"
+ depends=('mythtv' 'minizip')
+
+ cd "$srcdir/mythtv/$pkgbase/mythgame"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythmusic() {
+ pkgdesc="Music playing plugin for MythTV"
+ depends=('mythtv' 'libcdio-paranoia' 'libdiscid' 'libmusicbrainz5' 'libcoverart')
+
+ cd "$srcdir/mythtv/$pkgbase/mythmusic"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythnetvision() {
+ pkgdesc="MythNetvision plugin for MythTV"
+ depends=('mythtv' 'python-oauthlib' 'python-urllib3')
+
+ cd "$srcdir/mythtv/$pkgbase/mythnetvision"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythnews() {
+ pkgdesc="News checking plugin for MythTV"
+ depends=('mythtv')
+
+ cd "$srcdir/mythtv/$pkgbase/mythnews"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythweather() {
+ pkgdesc="Weather checking plugin for MythTV"
+ depends=('mythtv' 'perl-date-manip' 'perl-json' 'perl-soap-lite'
+ 'perl-xml-simple' 'perl-xml-xpath' 'perl-image-size'
+ 'perl-datetime-format-iso8601')
+
+ cd "$srcdir/mythtv/$pkgbase/mythweather"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythweb() {
+ pkgdesc="Web interface for the MythTV scheduler"
+ depends=('mythtv' 'perl-cgi' 'lighttpd')
+
+ sed -i 's/unix.*-fpm\.sock;/unix:\/var\/run\/php-fpm7\/php-fpm\.sock;/' "$srcdir/mythweb/mythweb.conf.nginx"
+
+ mkdir -p "$pkgdir/data/srv/httpd/mythweb"/{image_cache,php_sessions}
+ cp -R "$srcdir/mythweb"/* "$pkgdir/data/srv/httpd/mythweb"
+ chown -R http:http "$pkgdir/data/srv/httpd/mythweb"
+ chmod g+rw "$pkgdir/data/srv/httpd/mythweb"/{image_cache,php_sessions}
+}
+
+package_mythplugins-mythzoneminder() {
+ pkgdesc="View CCTV footage from zoneminder in MythTV"
+ depends=('mythtv' 'mariadb-libs' 'zoneminder')
+
+ cd "$srcdir/mythtv/$pkgbase/mythzoneminder"
+ make INSTALL_ROOT="$pkgdir" install
+}
diff --git a/linhes/mythplugins/__changelog b/linhes/mythplugins/__changelog
new file mode 100644
index 0000000..18996b5
--- /dev/null
+++ b/linhes/mythplugins/__changelog
@@ -0,0 +1 @@
+PKGBUILD: change mythweb install path to /data/srv/httpd
diff --git a/linhes/mythtv/0031-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch b/linhes/mythtv/0031-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch
new file mode 100644
index 0000000..288a243
--- /dev/null
+++ b/linhes/mythtv/0031-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch
@@ -0,0 +1,71 @@
+diff -Naur mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythupnp/ssdp.cpp mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythupnp/ssdp.cpp
+--- mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythupnp/ssdp.cpp 2021-05-18 16:11:31.379999938 +0200
++++ mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythupnp/ssdp.cpp 2021-05-18 16:11:34.569999938 +0200
+@@ -155,21 +155,21 @@
+ // ------------------------------------------------------------------
+
+ LOG(VB_UPNP, LOG_INFO,
+- "SSDP::EnableNotifications() - sending NTS_byebye");
+- m_pNotifyTask->SetNTS( NTS_byebye );
+- m_pNotifyTask->Execute( nullptr );
+-
+- m_bAnnouncementsEnabled = true;
++ "SSDP::EnableNotifications() - sending NTS_byebye2");
++ m_pNotifyTask->SetNTS( NTS_byebye2 );
++ }
++ else
++ {
++ LOG(VB_UPNP, LOG_INFO,
++ "SSDP::EnableNotifications() - sending NTS_alive");
++ m_pNotifyTask->SetNTS( NTS_alive );
+ }
+
++ m_bAnnouncementsEnabled = true;
++
+ // ------------------------------------------------------------------
+ // Add Announcement Task to the Queue
+ // ------------------------------------------------------------------
+-
+- LOG(VB_UPNP, LOG_INFO, "SSDP::EnableNotifications() - sending NTS_alive");
+-
+- m_pNotifyTask->SetNTS( NTS_alive );
+-
+ TaskQueue::Instance()->AddTask(m_pNotifyTask);
+
+ LOG(VB_UPNP, LOG_INFO,
+diff -Naur mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythupnp/upnptasknotify.cpp mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythupnp/upnptasknotify.cpp
+--- mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythupnp/upnptasknotify.cpp 2021-05-18 16:11:31.379999938 +0200
++++ mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythupnp/upnptasknotify.cpp 2021-05-18 16:11:34.586666605 +0200
+@@ -165,6 +167,11 @@
+
+ if (m_eNTS == NTS_alive)
+ pQueue->AddTask( (m_nMaxAge / 2), (Task *)this );
++ else if (m_eNTS == NTS_byebye2)
++ {
++ m_eNTS = NTS_alive;
++ pQueue->AddTask( this );
++ }
+
+ m_mutex.unlock();
+
+diff -Naur mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythupnp/upnptasknotify.h mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythupnp/upnptasknotify.h
+--- mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythupnp/upnptasknotify.h 2021-05-18 16:11:31.379999938 +0200
++++ mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythupnp/upnptasknotify.h 2021-05-18 16:11:34.586666605 +0200
+@@ -38,7 +38,8 @@
+ enum UPnpNotifyNTS
+ {
+ NTS_alive = 0,
+- NTS_byebye = 1
++ NTS_byebye = 1,
++ NTS_byebye2
+ };
+
+ /////////////////////////////////////////////////////////////////////////////
+@@ -89,6 +90,7 @@
+ {
+ case NTS_alive : return( "ssdp:alive" );
+ case NTS_byebye: return( "ssdp:byebye" );
++ case NTS_byebye2: return( "ssdp:byebye" );
+ }
+ return( "unknown" );
+ }
diff --git a/linhes/mythtv/0059-portchecker-speedup.patch b/linhes/mythtv/0059-portchecker-speedup.patch
new file mode 100644
index 0000000..fba1abc
--- /dev/null
+++ b/linhes/mythtv/0059-portchecker-speedup.patch
@@ -0,0 +1,27 @@
+diff -Naur mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythbase/portchecker.cpp mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythbase/portchecker.cpp
+--- mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythbase/portchecker.cpp 2021-05-18 16:11:42.736666605 +0200
++++ mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythbase/portchecker.cpp 2021-05-18 16:11:45.799999938 +0200
+@@ -180,18 +180,18 @@
+ }
+ else
+ retryCount++;
+- // This retry count of 6 means 3 seconds of waiting for
++ // This retry count of 30 means 3 seconds of waiting for
+ // connection before aborting and starting a new connection attempt.
+- if (retryCount > 6)
++ if (retryCount > 30)
+ socket.abort();
+ processEvents();
+ // Check if user got impatient and canceled
+ if (m_cancelCheck)
+ break;
+- std::this_thread::sleep_for(500ms);
++ std::this_thread::sleep_for(100ms);
+ state = socket.state();
+- LOG(VB_GENERAL, LOG_DEBUG, LOC + QString("socket state %1")
+- .arg(state));
++ LOG(VB_GENERAL, LOG_DEBUG, LOC + QString("host %1 port %2 socket state %3")
++ .arg(host).arg(port).arg(state));
+ if (linkLocalOnly
+ && state == QAbstractSocket::UnconnectedState
+ && testedAll)
diff --git a/linhes/mythtv/0227-OSD-Add-interlaced-status-to-OSD-debug-screen.patch b/linhes/mythtv/0227-OSD-Add-interlaced-status-to-OSD-debug-screen.patch
new file mode 100644
index 0000000..4705b71
--- /dev/null
+++ b/linhes/mythtv/0227-OSD-Add-interlaced-status-to-OSD-debug-screen.patch
@@ -0,0 +1,20 @@
+diff -Naur mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythtv/mythplayerui.cpp mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythtv/mythplayerui.cpp
+--- mythtv-master-20210518-gc8c226c9b4-old/mythtv/libs/libmythtv/mythplayerui.cpp 2021-05-18 16:13:11.066666603 +0200
++++ mythtv-master-20210518-gc8c226c9b4-new/mythtv/libs/libmythtv/mythplayerui.cpp 2021-05-18 16:13:14.299999937 +0200
+@@ -821,14 +821,14 @@
+ if (m_decoder)
+ Map["videocodecdesc"] = m_decoder->GetRawEncodingType();
+ Map["videowidth"] = QString::number(width);
+- Map["videoheight"] = QString::number(height);
++ bool interlaced = is_interlaced(GetScanType());
++ Map["videoheight"] = QString::number(height) + (interlaced ? "i" : "p");
+ Map["videoframerate"] = QString::number(m_videoFrameRate, 'f', 2);
+ Map["deinterlacer"] = GetDeinterlacerName();
+
+ if (width < 640)
+ return;
+
+- bool interlaced = is_interlaced(GetScanType());
+ if (height > 2100)
+ Map["videodescrip"] = interlaced ? "UHD_4K_I" : "UHD_4K_P";
+ else if (width == 1920 || height == 1080 || height == 1088)
diff --git a/linhes/mythtv/99-mythbackend.rules b/linhes/mythtv/99-mythbackend.rules
new file mode 100644
index 0000000..0c7cb1b
--- /dev/null
+++ b/linhes/mythtv/99-mythbackend.rules
@@ -0,0 +1,6 @@
+#
+# Create systemd device units for capture devices
+#
+SUBSYSTEM=="video4linux", TAG+="systemd"
+SUBSYSTEM=="dvb", TAG+="systemd"
+SUBSYSTEM=="firewire", TAG+="systemd"
diff --git a/linhes/mythtv/PKGBUILD b/linhes/mythtv/PKGBUILD
new file mode 100644
index 0000000..2f9733f
--- /dev/null
+++ b/linhes/mythtv/PKGBUILD
@@ -0,0 +1,193 @@
+# Maintainer: James Bunton <jamesbunton@delx.net.au>
+# Contributor: Taijian <taijian@posteo.de>
+# Contributor: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: <kleptophobiac@gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=mythtv
+pkgver=34+fixes.20240311.5590d0d5
+pkgrel=1
+pkgdesc="A Homebrew PVR project"
+arch=('x86_64')
+url="https://www.mythtv.org/"
+license=('GPL')
+depends=(
+ 'exiv2'
+ 'fftw'
+ 'lame'
+ 'libass'
+ 'libavc1394'
+ 'libbluray'
+ 'libhdhomerun'
+ 'libiec61883'
+ 'libpulse'
+ 'libsamplerate'
+ 'libva'
+ 'libvdpau'
+ 'libvpx'
+ 'libxinerama'
+ 'libxml2'
+ 'libxrandr'
+ 'libzip'
+ 'lzo'
+ 'qt5-script'
+ 'soundtouch'
+ 'taglib'
+ 'x264'
+ 'x265'
+ 'glew'
+ 'libcec'
+ 'mariadb'
+ 'mariadb-clients'
+ 'perl-dbd-mysql'
+ 'perl-io-socket-inet6'
+ 'perl-json-xs'
+ 'perl-libwww'
+ 'perl-net-upnp'
+ 'perl-xml-simple'
+ 'perl-xml-xpath'
+ 'python-future'
+ 'python-lxml'
+ 'python-mysqlclient'
+ 'python-pyqt5-webengine'
+ 'python-requests'
+ 'python-requests-cache'
+ 'python-simplejson'
+ 'xmltv'
+)
+makedepends=(
+ 'git'
+ 'help2man'
+ 'libcdio'
+ 'libcec'
+ 'libmariadbclient'
+ 'libxml2'
+ 'lirc'
+ 'perl-dbd-mysql'
+ 'perl-io-socket-inet6'
+ 'perl-libwww'
+ 'perl-net-upnp'
+ 'perl-xml-simple'
+ 'perl-xml-xpath'
+ 'python-future'
+ 'python-lxml'
+ 'python-mysqlclient'
+ 'python-requests'
+ 'python-setuptools'
+ 'python-simplejson'
+ 'qt5-tools'
+ 'yasm'
+)
+
+options=(!lto)
+conflicts=('myththemes' 'mythplugins-mythvideo' 'mythtv-git')
+replaces=('myththemes' 'mythplugins-mythvideo' 'mythtv-git')
+
+patches="0031-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch
+ 0059-portchecker-speedup.patch
+ 0227-OSD-Add-interlaced-status-to-OSD-debug-screen.patch
+ autoskip_reduce_commskip_jumpback.patch
+ defaultThemeLinHES.patch"
+
+source=(
+ "git+https://github.com/MythTV/mythtv#branch=fixes/34"
+ 'mythbackend.service'
+ 'mythfrontend.desktop'
+ 'mythtv-setup.desktop'
+ 'mythtv.png'
+ '99-mythbackend.rules'
+ 'sysusers.d'
+ $patches
+)
+
+sha256sums=('SKIP'
+ '6adb9d3370111c7d0000b215ae2d83a07a19c1bef5c22657f8caa9593c8efda5'
+ 'ec4f2330f77f0ac92acf228a4afa3b480cdd2de913cdabedfd43d40b03507557'
+ 'e7965a0d232aefcf8e5e89a96f46b7582a9590d2ae9b4f5b8ee9ab2baa913527'
+ '12cb52bf9b084a4f16419c9370fef0450ce6a11308b0c3f7240f4f83df7e2ab6'
+ 'ecfd02bbbef5de9773f4de2c52e9b2b382ce8137735f249d7900270d304fd333'
+ '470de0a4050c16c7af11a0e5cfe2810b7daae42df4acf5456c7eae274dc7c5ae'
+ '276f87058edc6197ab3a53faf6b4c485ef0d2b8447b9caa02ca7234f09ab473f'
+ '1ed4be912cd1ebd73553306958b7a2bc98e466b947dfb5d90ad7c0590a5a3747'
+ '630c80c588a9b278c4421d356c5cbaa0debf149524bc896656b580b89d8fae88'
+ '8a81e724d902976056dc824e7304df343c230ce67ec6ce1d18e110c5ef818ef6'
+ '3ff9f48ead83a8dd7a87cc08df066c00813b48b9171cc7bf74ba0e3cb2570d00')
+
+prepare() {
+ msg2 "PKGBUILD pkgver: $pkgver"
+ cd "${srcdir}/mythtv/mythtv"
+ gitsrcver=`echo "34+fixes.$(git show -s --format=%cd --date=short | tr -d -).$(git rev-parse --short=8 HEAD)"`
+ msg2 "GIT SOURCE pkgver: $gitsrcver"
+ if [ $pkgver = $gitsrcver ]; then
+ warning "pkgver did NOT change. Consider increasing pkgrel ($pkgrel)."
+ fi
+ echo $srcdir
+ msg "--------------------------applying patches------------------------------"
+ for i in `echo ${patches[@]:0}`
+ do
+ echo applying $i
+ patch -Np2 -i ${srcdir}/$i || return 1
+ echo "-----------------------------"
+ done
+ msg "--------------------------done applying patches-------------------------"
+
+# msg "Updating en_us Translation"
+# lrelease -removeidentical i18n/mythfrontend_en_us.ts
+}
+
+pkgver() {
+ cd "${srcdir}/mythtv/mythtv"
+ echo -n "34+fixes.$(git show -s --format=%cd --date=short | tr -d -).$(git rev-parse --short=8 HEAD)"
+}
+
+build() {
+ cd "${srcdir}/mythtv/mythtv"
+
+#CFLAGS="-march=x86-64 -mtune=amdfam10 -O2 -pipe -fno-plt -fexceptions \
+# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
+# -fstack-clash-protection -fcf-protection"
+# CFLAGS="${CFLAGS/flto=auto/fPIC}"
+# CXXFLAGS="${CXXFLAGS/flto=auto/fPIC}"
+# LDFLAGS="${LDFLAGS/flto=auto/fPIC}"
+
+ ARCH="${CARCH/_/-}"
+ ./configure --prefix=/usr \
+ --cpu="$ARCH" \
+ --disable-altivec \
+ --disable-audio-jack \
+ --disable-distcc \
+ --enable-libdav1d \
+ --enable-libmp3lame \
+ --enable-libvpx \
+ --enable-libx264 \
+ --enable-libx265 \
+ --enable-vaapi \
+ --with-bindings=python \
+ --with-bindings=perl \
+ --perl-config-opts=INSTALLDIRS=vendor
+ echo "###### STARTING MAKE ####"
+ make
+}
+
+package() {
+ cd "${srcdir}/mythtv/mythtv"
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -D -m644 "$srcdir/mythbackend.service" "$pkgdir/usr/lib/systemd/system/mythbackend.service"
+ install -D -m644 'database/mc.sql' "$pkgdir/usr/share/mythtv/mc.sql"
+ install -D -m644 "$srcdir/sysusers.d" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+
+ mkdir -p "$pkgdir/usr/share/mythtv"
+ cp -R 'contrib' "$pkgdir/usr/share/mythtv"
+ mkdir -p "$pkgdir/var/log/mythtv"
+
+ # Install udev rules https://www.mythtv.org/wiki/Systemd_mythbackend_Configuration#Delay_starting_the_backend_until_tuners_have_initialized
+ install -Dm644 "$srcdir/99-mythbackend.rules" "$pkgdir/usr/lib/udev/rules.d/99-mythbackend.rules"
+
+ # Install desktop file
+ install -Dm644 "$srcdir/mythtv.png" "$pkgdir/usr/share/pixmaps/mythtv.png"
+ install -Dm644 "$srcdir/mythfrontend.desktop" "$pkgdir/usr/share/applications/mythfrontend.desktop"
+ install -Dm644 "$srcdir/mythtv-setup.desktop" "$pkgdir/usr/share/applications/mythtv-setup.desktop"
+}
diff --git a/linhes/mythtv/__changelog b/linhes/mythtv/__changelog
new file mode 100644
index 0000000..60743ab
--- /dev/null
+++ b/linhes/mythtv/__changelog
@@ -0,0 +1,5 @@
+PKGBUILD: disable jack and remove dep
+PKGBUILD: move all opt deps to deps
+mythbackend.service: add --syslog local6 to exec
+mythbackend.service: add Environment
+PKGBUILD: add patches
diff --git a/linhes/mythtv/autoskip_reduce_commskip_jumpback.patch b/linhes/mythtv/autoskip_reduce_commskip_jumpback.patch
new file mode 100644
index 0000000..2c05a87
--- /dev/null
+++ b/linhes/mythtv/autoskip_reduce_commskip_jumpback.patch
@@ -0,0 +1,15 @@
+diff --git a/mythtv/libs/libmythtv/commbreakmap.cpp b/mythtv/libs/libmythtv/commbreakmap.cpp
+index 66cacb1eb0..3afcea169c 100644
+--- a/mythtv/libs/libmythtv/commbreakmap.cpp
++++ b/mythtv/libs/libmythtv/commbreakmap.cpp
+@@ -257,8 +257,8 @@ bool CommBreakMap::DoSkipCommercials(uint64_t &jumpToFrame,
+ {
+ comm_msg = tr("Skipping Back.");
+
+- if (m_lastCommSkipStart > (2.0 * video_frame_rate))
+- m_lastCommSkipStart -= (long long) (2.0 * video_frame_rate);
++ if (m_lastCommSkipStart > (1.25 * video_frame_rate))
++ m_lastCommSkipStart -= (long long) (1.25 * video_frame_rate);
+ m_lastCommSkipDirection = 0;
+ m_lastCommSkipTime = time(nullptr);
+ jumpToFrame = m_lastCommSkipStart;
diff --git a/linhes/mythtv/defaultThemeLinHES.patch b/linhes/mythtv/defaultThemeLinHES.patch
new file mode 100644
index 0000000..8ce3016
--- /dev/null
+++ b/linhes/mythtv/defaultThemeLinHES.patch
@@ -0,0 +1,13 @@
+--- ./mythtv/libs/libmythui/mythuithemehelper.h.orig 2024-02-24 15:52:57.889044873 -0500
++++ ./mythtv/libs/libmythui/mythuithemehelper.h 2024-02-24 15:55:01.849374522 -0500
+@@ -4,8 +4,8 @@
+ // MythTV
+ #include "themeinfo.h"
+
+-static constexpr const char* DEFAULT_UI_THEME { "MythCenter-wide" };
+-static constexpr const char* FALLBACK_UI_THEME { "Terra" };
++static constexpr const char* DEFAULT_UI_THEME { "LinHES" };
++static constexpr const char* FALLBACK_UI_THEME { "MythCenter-wide" };
+
+ class MUI_PUBLIC MythUIThemeHelper
+ {
diff --git a/linhes/mythtv/mythbackend.service b/linhes/mythtv/mythbackend.service
new file mode 100644
index 0000000..fb9f8b7
--- /dev/null
+++ b/linhes/mythtv/mythbackend.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=MythTV Backend
+Wants=network-online.target mysqld.service systemd-udev-settle.service
+After=network.target mysqld.service systemd-udev-settle.service
+
+[Service]
+Type=simple
+User=mythtv
+Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"
+ExecStart=/usr/bin/mythbackend --syslog local6
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/linhes/mythtv/mythfrontend.desktop b/linhes/mythtv/mythfrontend.desktop
new file mode 100644
index 0000000..89f8b13
--- /dev/null
+++ b/linhes/mythtv/mythfrontend.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=MythFrontend
+Comment=MythFrontend is the primary playback application for MythTV
+Exec=mythfrontend --syslog local6 --noupnp --quiet
+Type=Application
+Icon=mythtv
diff --git a/linhes/mythtv/mythfrontend_en_us.ts_Title_Case.patch b/linhes/mythtv/mythfrontend_en_us.ts_Title_Case.patch
new file mode 100644
index 0000000..30b3e48
--- /dev/null
+++ b/linhes/mythtv/mythfrontend_en_us.ts_Title_Case.patch
@@ -0,0 +1,13175 @@
+diff --git a/mythtv/i18n/mythfrontend_en_us.ts b/mythtv/i18n/mythfrontend_en_us.ts
+index e4d869578b..bd5db011ef 100644
+--- a/mythtv/i18n/mythfrontend_en_us.ts
++++ b/mythtv/i18n/mythfrontend_en_us.ts
+@@ -46,19 +46,11 @@
+ <source>Sports</source>
+ <translation>Sports</translation>
+ </message>
+- <message>
+- <source>Other</source>
+- <translation type="vanished">Other</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="398"/>
+ <source>Action</source>
+ <translation>Action</translation>
+ </message>
+- <message>
+- <source>Advertisement</source>
+- <translation type="vanished">Advertisement</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="406"/>
+ <source>Animated</source>
+@@ -69,10 +61,6 @@
+ <source>Anthology</source>
+ <translation>Anthology</translation>
+ </message>
+- <message>
+- <source>Automobile</source>
+- <translation type="vanished">Automobile</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="414"/>
+ <source>Awards</source>
+@@ -88,49 +76,17 @@
+ <source>Basketball</source>
+ <translation>Basketball</translation>
+ </message>
+- <message>
+- <source>Bulletin</source>
+- <translation type="vanished">Bulletin</translation>
+- </message>
+- <message>
+- <source>Business</source>
+- <translation type="vanished">Business</translation>
+- </message>
+- <message>
+- <source>Classical</source>
+- <translation type="vanished">Classical</translation>
+- </message>
+- <message>
+- <source>College</source>
+- <translation type="vanished">College</translation>
+- </message>
+- <message>
+- <source>Combat</source>
+- <translation type="vanished">Combat</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="442"/>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="376"/>
+ <source>Comedy</source>
+ <translation>Comedy</translation>
+ </message>
+- <message>
+- <source>Commentary</source>
+- <translation type="vanished">Commentary</translation>
+- </message>
+- <message>
+- <source>Concert</source>
+- <translation type="vanished">Concert</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="632"/>
+ <source>Consumer</source>
+ <translation>Consumer</translation>
+ </message>
+- <message>
+- <source>Contemporary</source>
+- <translation type="vanished">Contemporary</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="450"/>
+ <source>Crime</source>
+@@ -153,14 +109,6 @@
+ <source>Drama</source>
+ <translation>Drama</translation>
+ </message>
+- <message>
+- <source>Elementary</source>
+- <translation type="vanished">Elementary</translation>
+- </message>
+- <message>
+- <source>Erotica</source>
+- <translation type="vanished">Erotica</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="464"/>
+ <source>Exercise</source>
+@@ -171,134 +119,58 @@
+ <source>Fantasy</source>
+ <translation>Fantasy</translation>
+ </message>
+- <message>
+- <source>Farm</source>
+- <translation type="vanished">Farm</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="468"/>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="487"/>
+ <source>Fashion</source>
+ <translation>Fashion</translation>
+ </message>
+- <message>
+- <source>Fiction</source>
+- <translation type="vanished">Fiction</translation>
+- </message>
+- <message>
+- <source>Food</source>
+- <translation type="vanished">Food</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="472"/>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="648"/>
+ <source>Football</source>
+ <translation>Football</translation>
+ </message>
+- <message>
+- <source>Foreign</source>
+- <translation type="vanished">Foreign</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="476"/>
+ <source>Fundraiser</source>
+ <translation>Fundraiser</translation>
+ </message>
+- <message>
+- <source>Game/Quiz</source>
+- <translation type="vanished">Game/Quiz</translation>
+- </message>
+- <message>
+- <source>Garden</source>
+- <translation type="vanished">Garden</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="480"/>
+ <source>Golf</source>
+ <translation>Golf</translation>
+ </message>
+- <message>
+- <source>Government</source>
+- <translation type="vanished">Government</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="484"/>
+ <source>Health</source>
+ <translation>Health</translation>
+ </message>
+- <message>
+- <source>High School</source>
+- <translation type="vanished">High School</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="486"/>
+ <source>History</source>
+ <translation>History</translation>
+ </message>
+- <message>
+- <source>Hobby</source>
+- <translation type="vanished">Hobby</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="490"/>
+ <source>Hockey</source>
+ <translation>Hockey</translation>
+ </message>
+- <message>
+- <source>Home</source>
+- <translation type="vanished">Home</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="500"/>
+ <source>Horror</source>
+ <translation>Horror</translation>
+ </message>
+- <message>
+- <source>Information</source>
+- <translation type="vanished">Information</translation>
+- </message>
+- <message>
+- <source>Instruction</source>
+- <translation type="vanished">Instruction</translation>
+- </message>
+- <message>
+- <source>International</source>
+- <translation type="vanished">International</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="508"/>
+ <source>Interview</source>
+ <translation>Interview</translation>
+ </message>
+- <message>
+- <source>Language</source>
+- <translation type="vanished">Language</translation>
+- </message>
+- <message>
+- <source>Legal</source>
+- <translation type="vanished">Legal</translation>
+- </message>
+- <message>
+- <source>Live</source>
+- <translation type="vanished">Live</translation>
+- </message>
+- <message>
+- <source>Local</source>
+- <translation type="vanished">Local</translation>
+- </message>
+- <message>
+- <source>Math</source>
+- <translation type="vanished">Math</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="514"/>
+ <source>Medical</source>
+ <translation>Medical</translation>
+ </message>
+- <message>
+- <source>Meeting</source>
+- <translation type="vanished">Meeting</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="698"/>
+ <source>Military</source>
+@@ -319,64 +191,16 @@
+ <source>Mystery</source>
+ <translation>Mystery</translation>
+ </message>
+- <message>
+- <source>National</source>
+- <translation type="vanished">National</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="534"/>
+ <source>Nature</source>
+ <translation>Nature</translation>
+ </message>
+- <message>
+- <source>Police</source>
+- <translation type="vanished">Police</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="672"/>
+ <source>Politics</source>
+ <translation>Politics</translation>
+ </message>
+- <message>
+- <source>Premiere</source>
+- <translation type="vanished">Premiere</translation>
+- </message>
+- <message>
+- <source>Prerecorded</source>
+- <translation type="vanished">Prerecorded</translation>
+- </message>
+- <message>
+- <source>Product</source>
+- <translation type="vanished">Product</translation>
+- </message>
+- <message>
+- <source>Professional</source>
+- <translation type="vanished">Professional</translation>
+- </message>
+- <message>
+- <source>Public</source>
+- <translation type="vanished">Public</translation>
+- </message>
+- <message>
+- <source>Racing</source>
+- <translation type="vanished">Racing</translation>
+- </message>
+- <message>
+- <source>Reading</source>
+- <translation type="vanished">Reading</translation>
+- </message>
+- <message>
+- <source>Repair</source>
+- <translation type="vanished">Repair</translation>
+- </message>
+- <message>
+- <source>Repeat</source>
+- <translation type="vanished">Repeat</translation>
+- </message>
+- <message>
+- <source>Review</source>
+- <translation type="vanished">Review</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="550"/>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="383"/>
+@@ -388,23 +212,11 @@
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+- <message>
+- <source>Series</source>
+- <translation type="vanished">Series</translation>
+- </message>
+- <message>
+- <source>Service</source>
+- <translation type="vanished">Service</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="564"/>
+ <source>Shopping</source>
+ <translation>Shopping</translation>
+ </message>
+- <message>
+- <source>Soap Opera</source>
+- <translation type="vanished">Soap Opera</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="576"/>
+ <source>Special</source>
+@@ -420,10 +232,6 @@
+ <source>Talk</source>
+ <translation>Talk</translation>
+ </message>
+- <message>
+- <source>Technical</source>
+- <translation type="vanished">Technical</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="588"/>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="690"/>
+@@ -440,10 +248,6 @@
+ <source>Variety</source>
+ <translation>Variety</translation>
+ </message>
+- <message>
+- <source>Video</source>
+- <translation type="vanished">Video</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="602"/>
+ <source>Weather</source>
+@@ -1045,10 +849,6 @@
+ <source>Science Fiction/Fantasy/Horror</source>
+ <translation>Science Fiction/Fantasy/Horror</translation>
+ </message>
+- <message>
+- <source>Soap/melodrama/folkloric</source>
+- <translation type="vanished">Soap/Melodrama/Folkloric</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="386"/>
+ <source>Serious/Classical/Religious/Historical Movie/Drama</source>
+@@ -1060,28 +860,20 @@
+ <comment>Adult Movie</comment>
+ <translation>Adult</translation>
+ </message>
+- <message>
+- <source>News/weather report</source>
+- <translation type="vanished">News/Weather Report</translation>
+- </message>
+- <message>
+- <source>News magazine</source>
+- <translation type="vanished">News Magazine</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="379"/>
+ <source>Soap/Melodrama/Folkloric</source>
+- <translation type="unfinished"></translation>
++ <translation>Soap/Melodrama/Folkloric</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="394"/>
+ <source>News/Weather Report</source>
+- <translation type="unfinished"></translation>
++ <translation>News/Weather Report</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="396"/>
+ <source>News Magazine</source>
+- <translation type="unfinished"></translation>
++ <translation>News Magazine</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="400"/>
+@@ -1271,16 +1063,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="489"/>
+ <source>Social/Political/Economics</source>
+- <translation type="unfinished"></translation>
++ <translation>Social/Policical/Economics</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="500"/>
+ <source>Nature/Animals/Environment</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Social/Policical/Economics</source>
+- <translation type="vanished">Social/Policical/Economics</translation>
++ <translation>Nature/Animals/Environment</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="491"/>
+@@ -1302,10 +1090,6 @@
+ <source>Education/Science/Factual</source>
+ <translation>Education/Science/Factual</translation>
+ </message>
+- <message>
+- <source>Nature/animals/Environment</source>
+- <translation type="vanished">Nature/Animals/Environment</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="502"/>
+ <source>Technology/Natural Sciences</source>
+@@ -1414,14 +1198,10 @@
+ <source>DataDirect Time Offset</source>
+ <translation>DataDirect Time Offset</translation>
+ </message>
+- <message>
+- <source>Offset (in minutes) to apply to the program guide data during import. This can be used when the listings for a particular channel are in a different time zone. (Works for DataDirect listings only.)</source>
+- <translation type="vanished">Offset (in minutes) to apply to the program guide data during import. This can be used when the listings for a particular channel are in a different time zone. (Works for DataDirect listings only.)</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="185"/>
+ <source>Offset (in minutes) to apply to the program guide data during import. This can be used when the listings for a particular channel are in a different time zone.</source>
+- <translation type="unfinished"></translation>
++ <translation>Offset (in minutes) to apply to the program guide data during import. This can be used when the listings for a particular channel are in a different time zone.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="199"/>
+@@ -1471,21 +1251,17 @@
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="320"/>
+ <source>Service ID</source>
+- <translation type="unfinished"></translation>
++ <translation>Service ID</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="402"/>
+ <source>If set to Always Visible or Visible, the channel will be visible in the EPG. Set to Always Visible or Never Visible to prevent MythTV and other utilities from automatically managing the value for this channel.</source>
+- <translation type="unfinished"></translation>
++ <translation>If set to Always Visible or Visible, the channel will be visible in the EPG. Set to Always Visible or Never Visible to prevent MythTV and other utilities from automatically managing the value for this channel.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="446"/>
+ <source>N.B. This setting is only used for analog channels. Depending on the tuner type, specify either the exact frequency (in kHz) or a valid channel number that will be understood by your tuners.</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>ServiceID</source>
+- <translation type="vanished">Service ID</translation>
++ <translation>N.B. This setting is only used for analog channels. Depending on the tuner type, specify either the exact frequency (in kHz) or a valid channel number that will be understood by your tuners.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="322"/>
+@@ -1507,10 +1283,6 @@
+ <source>Visible</source>
+ <translation>Visible</translation>
+ </message>
+- <message>
+- <source>If enabled, the channel will be visible in the EPG.</source>
+- <translation type="vanished">If enabled, the channel will be visible in the EPG.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="425"/>
+ <source>Use on air guide</source>
+@@ -1526,10 +1298,6 @@
+ <source>Freq/Channel</source>
+ <translation>Frequency/Channel</translation>
+ </message>
+- <message>
+- <source>Depending on the tuner type, specify either the exact frequency (in kHz) or a valid channel number that will be understood by your tuners.</source>
+- <translation type="vanished">Depending on the tuner type, specify either the exact frequency (in kHz) or a valid channel number that will be understood by your tuners.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="461"/>
+ <source>Finetune (kHz)</source>
+@@ -1590,7 +1358,7 @@
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="2033"/>
+ <source>OK All</source>
+- <translation type="unfinished"></translation>
++ <translation>OK All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/mythdate.cpp" line="168"/>
+@@ -1693,7 +1461,7 @@
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="77"/>
+ <source>It is NOT a good idea to change this value as it only changes the sourceid in table channel but not in dtv_multiplex. The sourceid in dtv_multiplex cannot and should not be changed.</source>
+- <translation type="unfinished"></translation>
++ <translation>It is NOT a good idea to change this value as it only changes the sourceid in table channel but not in dtv_multiplex. The sourceid in dtv_multiplex cannot and should not be changed.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="134"/>
+@@ -1715,22 +1483,22 @@
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="408"/>
+ <source>Always Visible</source>
+- <translation type="unfinished"></translation>
++ <translation>Always Visible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="410"/>
+ <source>Visible</source>
+- <translation type="unfinished">Visible</translation>
++ <translation>Visible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="412"/>
+ <source>Not Visible</source>
+- <translation type="unfinished"></translation>
++ <translation>Not Visible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="414"/>
+ <source>Never Visible</source>
+- <translation type="unfinished"></translation>
++ <translation>Never Visible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="479"/>
+@@ -1820,22 +1588,6 @@
+ <source>Off</source>
+ <translation>Off</translation>
+ </message>
+- <message>
+- <source>Qt</source>
+- <translation type="vanished">Qt</translation>
+- </message>
+- <message>
+- <source>OpenGL 2</source>
+- <translation type="vanished">OpenGL 2</translation>
+- </message>
+- <message>
+- <source>OpenGL 1</source>
+- <translation type="vanished">OpenGL 1</translation>
+- </message>
+- <message>
+- <source>Direct3D</source>
+- <translation type="vanished">Direct3D</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="147"/>
+ <source>MythFrontend</source>
+@@ -2039,8 +1791,8 @@
+ <source>Failed to open
+ &apos;%1&apos; in %2
+ Check if the video exists</source>
+- <translation>Failed to open
+- &apos;%1&apos; in %2
++ <translation>Failed to open
++&apos;%1&apos; in %2
+ Check if the video exists.</translation>
+ </message>
+ <message>
+@@ -2051,10 +1803,10 @@ Check if the video exists.</translation>
+ <message>
+ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="1360"/>
+ <source>BD Failure</source>
+- <translation type="unfinished"></translation>
++ <translation>BD Failure</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/mythfrontend.cpp" line="2037"/>
++ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="2043"/>
+ <source>MythTV Frontend</source>
+ <comment>Main window title</comment>
+ <translation>MythTV Frontend</translation>
+@@ -2334,51 +2086,27 @@ Check if the video exists.</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2137"/>
+ <source>Screen aspect ratio</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Auto</source>
+- <translation type="obsolete">Auto</translation>
+- </message>
+- <message>
+- <source>21:9</source>
+- <translation type="obsolete">0% {21:9?}</translation>
+- </message>
+- <message>
+- <source>32:9</source>
+- <translation type="obsolete">0% {32:9?}</translation>
+- </message>
+- <message>
+- <source>256:135</source>
+- <translation type="obsolete">0% {256:135?}</translation>
+- </message>
+- <message>
+- <source>3:2</source>
+- <translation type="obsolete">0% {3:2?}</translation>
+- </message>
+- <message>
+- <source>5:4</source>
+- <translation type="obsolete">0% {5:4?}</translation>
++ <translation>Screen Aspect Ratio</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2148"/>
+ <source>16:18 (16:9 Above and below)</source>
+- <translation type="unfinished"></translation>
++ <translation>16:18 (16:9 Above and Below)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2149"/>
+ <source>32:10 (16:10 Side by side)</source>
+- <translation type="unfinished"></translation>
++ <translation>32:10 (16:10 Side by Side)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2150"/>
+ <source>16:20 (16:10 Above and below)</source>
+- <translation type="unfinished"></translation>
++ <translation>16:20 (16:10 Above and Below)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2792"/>
+ <source>Use full range RGB output</source>
+- <translation type="unfinished"></translation>
++ <translation>Use Full Range RGB Output</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4657"/>
+@@ -2388,38 +2116,18 @@ Check if the video exists.</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2125"/>
+ <source>Display on screen</source>
+- <translation>Display On Screen</translation>
++ <translation>Display on Screen</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1523"/>
+ <source>This selects what MythTV uses to draw. </source>
+- <translation type="unfinished"></translation>
++ <translation>This selects what MythTV uses to draw. </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2127"/>
+ <source>Run on the specified screen or spanning all screens.</source>
+ <translation>Run on the specified screen or spanning all screens.</translation>
+ </message>
+- <message>
+- <source>Monitor aspect ratio</source>
+- <translation type="vanished">Monitor Aspect Ratio</translation>
+- </message>
+- <message>
+- <source>16:9</source>
+- <translation type="vanished">16:9</translation>
+- </message>
+- <message>
+- <source>16:10</source>
+- <translation type="vanished">16:10</translation>
+- </message>
+- <message>
+- <source>4:3</source>
+- <translation type="vanished">4:3</translation>
+- </message>
+- <message>
+- <source>The aspect ratio of a Xinerama display cannot be queried from the display, so it must be specified.</source>
+- <translation type="vanished">The aspect ratio of a Xinerama display cannot be queried from the display, so it must be specified.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2229"/>
+ <source>GUI width (pixels)</source>
+@@ -2460,22 +2168,6 @@ Check if the video exists.</translation>
+ <source>The vertical offset where the GUI will be displayed.</source>
+ <translation>The vertical offset where the GUI will be displayed.</translation>
+ </message>
+- <message>
+- <source>Display size - width</source>
+- <translation type="vanished">Display Size - Width</translation>
+- </message>
+- <message>
+- <source>Horizontal size of the monitor or TV. Used to calculate the actual aspect ratio of the display. This will override the DisplaySize from the system.</source>
+- <translation type="vanished">Horizontal size of the monitor or TV. Used to calculate the actual aspect ratio of the display. This will override the DisplaySize from the system.</translation>
+- </message>
+- <message>
+- <source>Display size - height</source>
+- <translation type="vanished">Display Size - Height</translation>
+- </message>
+- <message>
+- <source>Vertical size of the monitor or TV. Used to calculate the actual aspect ratio of the display. This will override the DisplaySize from the system.</source>
+- <translation type="vanished">Vertical size of the monitor or TV. Used to calculate the actual aspect ratio of the display. This will override the DisplaySize from the system.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2288"/>
+ <source>Use GUI size for TV playback</source>
+@@ -2506,38 +2198,30 @@ Check if the video exists.</translation>
+ <source>Toggles between windowed and borderless operation.</source>
+ <translation>Toggles between windowed and borderless operation.</translation>
+ </message>
+- <message>
+- <source>Use fixed window size</source>
+- <translation type="vanished">Use Fixed Window Size</translation>
+- </message>
+- <message>
+- <source>If disabled, the video playback window can be resized</source>
+- <translation type="vanished">If disabled, the video playback window can be resized.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2138"/>
+ <source>Auto (Assume square pixels)</source>
+- <translation type="unfinished"></translation>
++ <translation>Auto (Assume Square Pixels)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2139"/>
+ <source>Auto (Detect from display)</source>
+- <translation type="unfinished"></translation>
++ <translation>Auto (Detect From Display)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2151"/>
+ <source>Most modern displays have square pixels and the aspect ratio of the screen can be computed from the resolution (default). The aspect ratio can also be automatically detected from the connected display - though this may be slightly less accurate. If automatic detection fails, the correct aspect ratio can be specified here. Note: Some values (e.g 32:10) are primarily intended for multiscreen setups.</source>
+- <translation type="unfinished"></translation>
++ <translation>Most modern displays have square pixels and the aspect ratio of the screen can be computed from the resolution (default). The aspect ratio can also be automatically detected from the connected display - though this may be slightly less accurate. If automatic detection fails, the correct aspect ratio can be specified here. Note: Some values (e.g 32:10) are primarily intended for multiscreen setups.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2615"/>
+ <source>Always On Top</source>
+- <translation>Always On Top</translation>
++ <translation>Always on Top</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2619"/>
+ <source>If enabled, MythTV will always be on top</source>
+- <translation>If enabled, MythTV will always be on top</translation>
++ <translation>If enabled, MythTV will always be on top.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2629"/>
+@@ -2606,22 +2290,18 @@ Check if the video exists.</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4724"/>
+ <source>Select from Channel Group</source>
+- <translation type="unfinished"></translation>
++ <translation>Select From Channel Group</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4733"/>
+ <source>Select the channel group to select channels from. &quot;All Channels&quot; lets you choose from all channels of all video sources. &quot;Priority&quot; lets you choose from all channels that have recording priority. The other values let you select a video source to choose channels from.</source>
+- <translation type="unfinished"></translation>
++ <translation>Select the channel group to choose channels. &quot;All Channels&quot; lets you choose from all channels of all video sources. &quot;Priority&quot; lets you choose from all channels that have recording priority. The other values let you select a video source to choose channels.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1519"/>
+ <source>Paint engine</source>
+ <translation>Paint Engine</translation>
+ </message>
+- <message>
+- <source>This selects what MythTV uses to draw. Choosing &apos;%1&apos; is recommended, unless running on systems with broken OpenGL implementations (broken hardware or drivers or windowing systems) where only Qt works.</source>
+- <translation type="vanished">This selects what MythTV uses to draw. Choosing &apos;%1&apos; is recommended, unless running on systems with broken OpenGL implementations (broken hardware or drivers or windowing systems) where only Qt works.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3140"/>
+ <source>Language</source>
+@@ -2766,7 +2446,7 @@ Check if the video exists.</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="479"/>
+ <source>Set the audio surround-upconversion quality.</source>
+- <translation>Set the audio surround-upconversion quality.</translation>
++ <translation>Set the audio surround upconversion quality.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="488"/>
+@@ -3046,24 +2726,12 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="555"/>
+ <source>OpenSLES default output. Stereo support only.</source>
+- <translation type="unfinished"></translation>
++ <translation>OpenSLES default output. Stereo support only.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="565"/>
+ <source>Android AudioTrack output. Supports surround sound.</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>OpenSLES default output.</source>
+- <translation type="vanished">OpenSLES default output.</translation>
+- </message>
+- <message>
+- <source>OpenMAX analog output.</source>
+- <translation type="vanished">OpenMAX analog output.</translation>
+- </message>
+- <message>
+- <source>OpenMAX HDMI output.</source>
+- <translation type="vanished">OpenMAX HDMI output.</translation>
++ <translation>Android AudioTrack output. Supports surround sound.</translation>
+ </message>
+ </context>
+ <context>
+@@ -3254,7 +2922,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="787"/>
+ <source>Start front left channel test</source>
+- <translation>Start Front Left Channel Test</translation>
++ <translation>Start front left channel test.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="793"/>
+@@ -3264,7 +2932,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="794"/>
+ <source>Start front right channel test</source>
+- <translation>Start Front Right Channel Test</translation>
++ <translation>Start front right channel test.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="800"/>
+@@ -3274,7 +2942,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="801"/>
+ <source>Start rear left channel test</source>
+- <translation>Start Rear Left Channel Test</translation>
++ <translation>Start rear left channel test.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="807"/>
+@@ -3284,7 +2952,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="808"/>
+ <source>Start rear right channel test</source>
+- <translation>Start Rear Right Channel Test</translation>
++ <translation>Start rear right channel test.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="815"/>
+@@ -3294,7 +2962,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="816"/>
+ <source>Start LFE channel test</source>
+- <translation>Start LFE Channel Test</translation>
++ <translation>Start LFE channel test.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="823"/>
+@@ -3304,7 +2972,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="824"/>
+ <source>Start surround left channel test</source>
+- <translation>Start Surround Left Channel Test</translation>
++ <translation>Start surround left channel test.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="830"/>
+@@ -3314,7 +2982,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="831"/>
+ <source>Start surround right channel test</source>
+- <translation>Start Surround Right Channel Test</translation>
++ <translation>Start surround right channel test.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="837"/>
+@@ -3324,7 +2992,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="838"/>
+ <source>Start center channel test</source>
+- <translation>Start Center Channel Test</translation>
++ <translation>Start center channel test.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="850"/>
+@@ -3350,36 +3018,6 @@ Device Supports Up to %1</translation>
+ <translation>Unable to create AudioOutput.</translation>
+ </message>
+ </context>
+-<context>
+- <name>BDInfo</name>
+- <message>
+- <source>Could not open Blu-ray device: %1</source>
+- <translation type="vanished">Could not open Blu-ray device: %1</translation>
+- </message>
+-</context>
+-<context>
+- <name>BDRingBuffer</name>
+- <message>
+- <source>Title %1 chapter %2</source>
+- <translation type="vanished">Title %1 Chapter %2</translation>
+- </message>
+- <message>
+- <source>Could not open Blu-ray device: %1</source>
+- <translation type="vanished">Could not open Blu-ray device: %1</translation>
+- </message>
+- <message>
+- <source>Could not open Blu-ray device %1, failed to decrypt</source>
+- <translation type="vanished">Failed to decrypt, could not open Blu-ray device: %1</translation>
+- </message>
+- <message>
+- <source>Unable to find any Blu-ray compatible titles</source>
+- <translation type="vanished">Unable to find any Blu-ray compatible titles.</translation>
+- </message>
+- <message>
+- <source>Unable to find any usable Blu-ray titles</source>
+- <translation type="vanished">Unable to find any usable Blu-ray titles.</translation>
+- </message>
+-</context>
+ <context>
+ <name>BackendSelection</name>
+ <message>
+@@ -3416,32 +3054,32 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="237"/>
+ <source>DVD/Video contains a bookmark</source>
+- <translation>DVD/Video Contains a Bookmark</translation>
++ <translation>This Video Contains a Bookmark</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="228"/>
+ <source>Play from bookmark</source>
+- <translation>Play from Bookmark</translation>
++ <translation>Play From Bookmark</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="229"/>
+ <source>Clear bookmark</source>
+- <translation type="unfinished">Clear Bookmark</translation>
++ <translation>Clear Bookmark</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="230"/>
+ <source>Play from beginning</source>
+- <translation>Play from Beginning</translation>
++ <translation>Play From Beginning</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="231"/>
+ <source>Play from last played position</source>
+- <translation type="unfinished">Play from Last Played Position</translation>
++ <translation>Play From Last Played Position</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/mythfrontend.cpp" line="232"/>
+ <source>Clear last played position</source>
+- <translation type="unfinished"></translation>
++ <translation>Clear Last Played Position</translation>
+ </message>
+ </context>
+ <context>
+@@ -3502,7 +3140,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="3312"/>
+ <source>Enter new group name</source>
+- <translation>Enter group name:</translation>
++ <translation>Enter Group Name:</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="3328"/>
+@@ -3523,13 +3161,6 @@ Device Supports Up to %1</translation>
+ <translation>Input Connections</translation>
+ </message>
+ </context>
+-<context>
+- <name>CetonConfigurationGroup</name>
+- <message>
+- <source>Description</source>
+- <translation type="vanished">Description</translation>
+- </message>
+-</context>
+ <context>
+ <name>CetonDeviceID</name>
+ <message>
+@@ -3549,27 +3180,27 @@ Device Supports Up to %1</translation>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2151"/>
+ <source>CetonConfigurationGroup</source>
+ <comment>Description</comment>
+- <translation type="unfinished"></translation>
++ <translation>Ceton Configuration Group</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2152"/>
+ <source>IP Address</source>
+- <translation type="unfinished">IP Address</translation>
++ <translation>IP Address</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2153"/>
+ <source>IP Address of the Ceton device (192.168.200.1 by default)</source>
+- <translation type="unfinished"></translation>
++ <translation>IP address of the Ceton device (192.168.200.1 by default).</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2154"/>
+ <source>Tuner</source>
+- <translation type="unfinished">Tuner</translation>
++ <translation>Tuner</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2155"/>
+ <source>Number of the tuner on the Ceton device (first tuner is number 0)</source>
+- <translation type="unfinished"></translation>
++ <translation>Number of the tuner on the Ceton device (first tuner is number 0).</translation>
+ </message>
+ </context>
+ <context>
+@@ -3581,10 +3212,6 @@ Device Supports Up to %1</translation>
+ <source>Channel Name</source>
+ <translation>Channel Name</translation>
+ </message>
+- <message>
+- <source>Delete all channels on currently selected source(s).</source>
+- <translation type="vanished">Delete All Channels on Currently Selected Source(s).</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="113"/>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="319"/>
+@@ -3595,31 +3222,31 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="110"/>
+ <source>Delete all channels on currently selected video source.</source>
+- <translation type="unfinished"></translation>
++ <translation>Delete all channels on currently selected video source.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="115"/>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="323"/>
+ <source>Service ID</source>
+- <translation type="unfinished"></translation>
++ <translation>Service ID</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="116"/>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="327"/>
+ <source>Frequency</source>
+- <translation type="unfinished">Frequency</translation>
++ <translation>Frequency</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="117"/>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="331"/>
+ <source>Transport ID</source>
+- <translation type="unfinished"></translation>
++ <translation>Transport ID</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="118"/>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="335"/>
+ <source>Video Source</source>
+- <translation type="unfinished">Video Source</translation>
++ <translation>Video Source</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="124"/>
+@@ -3639,7 +3266,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="153"/>
+ <source>Restore Data from deleted channels.</source>
+- <translation type="unfinished"></translation>
++ <translation>Restore data from deleted channels.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="163"/>
+@@ -3730,7 +3357,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4764"/>
+ <source>Favorites</source>
+- <translation type="unfinished">Favorites</translation>
++ <translation>Favorites</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4944"/>
+@@ -3791,7 +3418,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="5014"/>
+ <source>Enter the name of the new channel group</source>
+- <translation>Enter group name:</translation>
++ <translation>Enter Channel Group Name:</translation>
+ </message>
+ </context>
+ <context>
+@@ -3846,14 +3473,6 @@ Device Supports Up to %1</translation>
+ <numerusform>Found %n old %1 channels.</numerusform>
+ </translation>
+ </message>
+- <message numerus="yes">
+- <source>Found %n new non-conflicting %1 channel(s).</source>
+- <extracomment>%n is the number of channels, %1 is the type of channel</extracomment>
+- <translation type="vanished">
+- <numerusform>Found %n new non-conflicting %1 channel.</numerusform>
+- <numerusform>Found %n new non-conflicting %1 channels.</numerusform>
+- </translation>
+- </message>
+ <message numerus="yes">
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="461"/>
+ <source>Found %n new conflicting %1 channel(s).</source>
+@@ -3876,22 +3495,11 @@ Device Supports Up to %1</translation>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="424"/>
+ <source>Found %n new %1 channel(s).</source>
+ <extracomment>%n is the number of channels, %1 is the type of channel</extracomment>
+- <translation type="unfinished">
+- <numerusform></numerusform>
++ <translation>
++ <numerusform>Found %n new %1 channel(s).</numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+- <message numerus="yes">
+- <source>Found %n transport(s):
+-</source>
+- <extracomment>%n is the number of transports</extracomment>
+- <translation type="vanished">
+- <numerusform>Found %n transport:
+-</numerusform>
+- <numerusform>Found %n transports:
+-</numerusform>
+- </translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1570"/>
+ <source>Channels: FTA Enc Dec
+@@ -3911,19 +3519,11 @@ Device Supports Up to %1</translation>
+ <source>Max atsc major count: %1</source>
+ <translation>Max atsc major count: %1</translation>
+ </message>
+- <message>
+- <source>Delete all</source>
+- <translation type="vanished">Delete All</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1747"/>
+ <source>Set all invisible</source>
+ <translation>Set All Invisible</translation>
+ </message>
+- <message>
+- <source>Ignore all</source>
+- <translation type="vanished">Ignore All</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1773"/>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1848"/>
+@@ -3931,70 +3531,22 @@ Device Supports Up to %1</translation>
+ <source>Do you want to:</source>
+ <translation>Do you want to:</translation>
+ </message>
+- <message>
+- <source>1. Delete all</source>
+- <translation type="vanished">1. Delete All</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1777"/>
+ <source>2. Set all invisible</source>
+ <translation>2. Set All Invisible</translation>
+ </message>
+- <message>
+- <source>4. Ignore all</source>
+- <translation type="vanished">4. Ignore All</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1798"/>
+ <source>Please enter either 1, 2 or 4:</source>
+ <translation>Please enter 1, 2 or 4:</translation>
+ </message>
+- <message>
+- <source>Insert all</source>
+- <translation type="vanished">Insert All</translation>
+- </message>
+- <message>
+- <source>Insert manually</source>
+- <translation type="vanished">Insert Manually</translation>
+- </message>
+- <message>
+- <source>1. Insert all</source>
+- <translation type="vanished">1. Insert All</translation>
+- </message>
+- <message>
+- <source>2. Insert manually</source>
+- <translation type="vanished">2. Insert Manually</translation>
+- </message>
+- <message>
+- <source>3. Ignore all</source>
+- <translation type="vanished">3. Ignore All</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1870"/>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1942"/>
+ <source>Please enter either 1, 2, or 3:</source>
+ <translation>Please enter 1, 2, or 3:</translation>
+ </message>
+- <message>
+- <source>Update all</source>
+- <translation type="vanished">Update All</translation>
+- </message>
+- <message>
+- <source>Update manually</source>
+- <translation type="vanished">Update Manually</translation>
+- </message>
+- <message>
+- <source>1. Update all</source>
+- <translation type="vanished">1. Update All</translation>
+- </message>
+- <message>
+- <source>2. Update manually</source>
+- <translation type="vanished">2. Update Manually</translation>
+- </message>
+- <message>
+- <source>Channel %1 was found to be in conflict with other channels.</source>
+- <translation type="vanished">Channel %1 was found to be in conflict with other channels.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1986"/>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="2057"/>
+@@ -4022,75 +3574,75 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1746"/>
+ <source>Delete All</source>
+- <translation type="unfinished">Delete All</translation>
++ <translation>Delete All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1749"/>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1824"/>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1897"/>
+ <source>Ignore All</source>
+- <translation type="unfinished"></translation>
++ <translation>Ignore All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1775"/>
+ <source>1. Delete All</source>
+- <translation type="unfinished"></translation>
++ <translation>1. Delete All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1780"/>
+ <source>4. Ignore All</source>
+- <translation type="unfinished"></translation>
++ <translation>4. Ignore All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1822"/>
+ <source>Insert All</source>
+- <translation type="unfinished"></translation>
++ <translation>Insert All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1823"/>
+ <source>Insert Manually</source>
+- <translation type="unfinished"></translation>
++ <translation>Insert Manually</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1850"/>
+ <source>1. Insert All</source>
+- <translation type="unfinished"></translation>
++ <translation>1. Insert All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1852"/>
+ <source>2. Insert Manually</source>
+- <translation type="unfinished"></translation>
++ <translation>2. Insert Manually</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1854"/>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1926"/>
+ <source>3. Ignore All</source>
+- <translation type="unfinished"></translation>
++ <translation>3. Ignore All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1896"/>
+ <source>Update All</source>
+- <translation type="unfinished"></translation>
++ <translation>Update All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1922"/>
+ <source>1. Update All</source>
+- <translation type="unfinished"></translation>
++ <translation>1. Update All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1924"/>
+ <source>2. Update Manually</source>
+- <translation type="unfinished"></translation>
++ <translation>2. Update Manually</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="2096"/>
+ <source>Channel %1 has channel number %2 but that is already in use.</source>
+- <translation type="unfinished"></translation>
++ <translation>Channel %1 has channel number %2 but that is already in use.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="2112"/>
+ <source>Default value is %1.</source>
+- <translation type="unfinished">Default value is %1.</translation>
++ <translation>Default value is %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="2174"/>
+@@ -4181,10 +3733,6 @@ Device Supports Up to %1</translation>
+ <source>Tuning</source>
+ <translation>Tuning</translation>
+ </message>
+- <message>
+- <source>%1%</source>
+- <translation type="vanished">%1: {1%?}</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="140"/>
+ <source>Locked</source>
+@@ -4368,12 +3916,12 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="432"/>
+ <source>All matches for a genre (Schedules Direct)</source>
+- <translation type="unfinished"></translation>
++ <translation>All Matches for a Genre (Schedules Direct)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="443"/>
+ <source>Limit by MPAA or VCHIP rating (Schedules Direct)</source>
+- <translation type="unfinished"></translation>
++ <translation>Limit by MPAA or VCHIP Rating (Schedules Direct)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="452"/>
+@@ -4384,12 +3932,12 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="472"/>
+ <source>Person named in the credits (Schedules Direct)</source>
+- <translation type="unfinished"></translation>
++ <translation>Person Named in the Credits (Schedules Direct)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="539"/>
+ <source>First Episodes (complete example for Schedules Direct)</source>
+- <translation type="unfinished"></translation>
++ <translation>First Episodes (Complete Example for Schedules Direct)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="745"/>
+@@ -4471,14 +4019,6 @@ Device Supports Up to %1</translation>
+ <source>Limit by category</source>
+ <translation>Limit by Category</translation>
+ </message>
+- <message>
+- <source>All matches for a genre (Data Direct)</source>
+- <translation type="vanished">All Matches for a Genre (Data Direct)</translation>
+- </message>
+- <message>
+- <source>Limit by MPAA or VCHIP rating (Data Direct)</source>
+- <translation type="vanished">Limit by MPAA or VCHIP Rating (Data Direct)</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="459"/>
+ <source>Limit movies by the year of release</source>
+@@ -4489,10 +4029,6 @@ Device Supports Up to %1</translation>
+ <source>Minimum star rating (0.0 to 1.0 for movies only)</source>
+ <translation>Minimum Star Rating (0.0 to 1.0 for Movies Only)</translation>
+ </message>
+- <message>
+- <source>Person named in the credits (Data Direct)</source>
+- <translation type="vanished">Person Named in the Credits (Data Direct)</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="493"/>
+ <source>Re-record SDTV in HDTV (disable duplicate matching)</source>
+@@ -4518,10 +4054,6 @@ Device Supports Up to %1</translation>
+ <source>Movie of the Week (complete example - use FindWeekly)</source>
+ <translation>Movie of the Week (complete example - use FindWeekly)</translation>
+ </message>
+- <message>
+- <source>First Episodes (complete example for Data Direct)</source>
+- <translation type="vanished">First Episodes (complete example for Data Direct)</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="726"/>
+ <source>Current Example</source>
+@@ -4727,11 +4259,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4006"/>
+ <source>DiSEqC (Switch, LNB and Rotor Configuration)</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>DiSEqC (Switch, LNB, and Rotor Configuration)</source>
+- <translation type="vanished">DiSEqC (Switch, LNB, and Rotor Configuration)</translation>
++ <translation>DiSEqC (Switch, LNB and Rotor Configuration)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4007"/>
+@@ -4770,36 +4298,6 @@ Device Supports Up to %1</translation>
+ <translation>Failed to Open Device %1</translation>
+ </message>
+ </context>
+-<context>
+- <name>DVDRingBuffer</name>
+- <message>
+- <source>Title %1 chapter %2</source>
+- <translation type="vanished">Title %1 Chapter %2</translation>
+- </message>
+- <message>
+- <source>Failed to open DVD device at %1</source>
+- <translation type="vanished">Failed to Open DVD Device at %1</translation>
+- </message>
+-</context>
+-<context>
+- <name>DataDirectLineupSelector</name>
+- <message>
+- <source>Fetching lineups from %1...</source>
+- <translation type="vanished">Fetching Lineups from %1...</translation>
+- </message>
+- <message>
+- <source>DataDirect</source>
+- <translation type="vanished">DataDirect</translation>
+- </message>
+- <message>
+- <source>Fetching of lineups failed</source>
+- <translation type="vanished">Fetching Lineups Failed</translation>
+- </message>
+- <message>
+- <source>Fetching of lineups complete</source>
+- <translation type="vanished">Fetching Lineups Complete</translation>
+- </message>
+-</context>
+ <context>
+ <name>DatabaseSettings</name>
+ <message>
+@@ -5064,7 +4562,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="446"/>
+ <source>If enabled, move deleted recordings to the &apos;Deleted&apos; recgroup and turn on autoexpire instead of deleting immediately.</source>
+- <translation>If enabled, move deleted recordings to the &apos;Deleted&apos; recgroup and turn on autoexpire instead of deleting immediately.</translation>
++ <translation>If enabled, move deleted recordings to the &apos;Deleted&apos; recgroup and turn on auto-expire instead of deleting immediately.</translation>
+ </message>
+ </context>
+ <context>
+@@ -5298,7 +4796,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="590"/>
+ <source>Unicable userband ID (0-7). The Unicable userband channels are often numbered starting at 1 but MythTV starts at 0.</source>
+- <translation type="unfinished"></translation>
++ <translation>Unicable userband ID (0-7). The Unicable userband channels are often numbered starting at 1 but MythTV starts at 0.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="703"/>
+@@ -5335,10 +4833,6 @@ Device Supports Up to %1</translation>
+ <source>Userband</source>
+ <translation>Userband</translation>
+ </message>
+- <message>
+- <source>Unicable userband ID (0-7) or sometimes (1-8)</source>
+- <translation type="vanished">Unicable userband ID (0-7) or sometimes (1-8)</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="617"/>
+ <source>Frequency (MHz)</source>
+@@ -5670,27 +5164,27 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/exitprompt.cpp" line="275"/>
+ <source>Yes, Suspend</source>
+- <translation type="unfinished"></translation>
++ <translation>Yes, Suspend</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/exitprompt.cpp" line="293"/>
+ <source>Are you sure you want to shutdown?</source>
+- <translation type="unfinished"></translation>
++ <translation>Are you sure you want to shutdown?</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/exitprompt.cpp" line="294"/>
+ <source>Are you sure you want to reboot?</source>
+- <translation type="unfinished"></translation>
++ <translation>Are you sure you want to reboot?</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/exitprompt.cpp" line="295"/>
+ <source>Are you sure you want to suspend?</source>
+- <translation type="unfinished"></translation>
++ <translation>Are you sure you want to suspend?</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/exitprompt.cpp" line="301"/>
+ <source>Mythbackend is running on this system. </source>
+- <translation type="unfinished"></translation>
++ <translation>Mythbackend is running on this system. </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/exitprompt.cpp" line="41"/>
+@@ -5700,7 +5194,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythtv-setup/exitprompt.cpp" line="79"/>
+ <source>...and more...</source>
+- <translation type="unfinished"></translation>
++ <translation>...and more...</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../programs/mythtv-setup/exitprompt.cpp" line="86"/>
+@@ -5713,7 +5207,7 @@ Device Supports Up to %1</translation>
+ <message>
+ <location filename="../programs/mythtv-setup/exitprompt.cpp" line="89"/>
+ <source>Configuration Problems</source>
+- <translation type="unfinished"></translation>
++ <translation>Configuration Problems</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/exitprompt.cpp" line="101"/>
+@@ -5798,53 +5292,34 @@ Device Supports Up to %1</translation>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2349"/>
+ <source>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout.
+ Use absolute path or path relative to the current directory.</source>
+- <translation type="unfinished"></translation>
++ <translation>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout.
++Use absolute path or path relative to the current directory.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2376"/>
+ <source>File &apos;%1&apos; is valid.</source>
+- <translation type="unfinished"></translation>
++ <translation>File &apos;%1&apos; is valid.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2378"/>
+ <source>WARNING: File &apos;%1&apos; is not readable.</source>
+- <translation type="unfinished"></translation>
++ <translation>Warning: File &apos;%1&apos; is not readable.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2381"/>
+ <source>WARNING: File &apos;%1&apos; is not executable.</source>
+- <translation type="unfinished"></translation>
++ <translation>Warning: File &apos;%1&apos; is not executable.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2386"/>
+ <source>WARNING: File &apos;%1&apos; does not exist.</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout</source>
+- <translation type="vanished">A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout.</translation>
++ <translation>Warning: File &apos;%1&apos; does not exist.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2354"/>
+ <source>File info</source>
+ <translation>File Info</translation>
+ </message>
+- <message>
+- <source>&apos;%1&apos; is valid.</source>
+- <translation type="vanished">&apos;%1&apos; is valid.</translation>
+- </message>
+- <message>
+- <source>WARNING: &apos;%1&apos; is not readable.</source>
+- <translation type="vanished">WARNING: &apos;%1&apos; is not readable.</translation>
+- </message>
+- <message>
+- <source>WARNING: &apos;%1&apos; is not executable.</source>
+- <translation type="vanished">WARNING: &apos;%1&apos; is not executable.</translation>
+- </message>
+- <message>
+- <source>WARNING: &apos;%1&apos; does not exist.</source>
+- <translation type="vanished">WARNING: &apos;%1&apos; does not exist.</translation>
+- </message>
+ </context>
+ <context>
+ <name>FileAssocDialog</name>
+@@ -5871,7 +5346,8 @@ Use absolute path or path relative to the current directory.</source>
+ <message>
+ <location filename="../programs/mythfrontend/videofileassoc.cpp" line="372"/>
+ <source>Save and exit this screen.</source>
+- <translation>Save and Exit</translation>
++ <translation>
++Save and Exit</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videofileassoc.cpp" line="373"/>
+@@ -5889,32 +5365,6 @@ Use absolute path or path relative to the current directory.</source>
+ <translation>Enter new extension:</translation>
+ </message>
+ </context>
+-<context>
+- <name>FileRingBuffer</name>
+- <message>
+- <source>Could not open %1</source>
+- <extracomment>%1 is the filename</extracomment>
+- <translation type="vanished">Could Not Open %1</translation>
+- </message>
+- <message>
+- <source>File too small (%1B)</source>
+- <extracomment>%1 is the file size</extracomment>
+- <translation type="vanished">File Too Small (%1B)</translation>
+- </message>
+- <message>
+- <source>Improper permissions</source>
+- <translation type="vanished">Improper Permissions</translation>
+- </message>
+- <message>
+- <source>Cannot seek in file</source>
+- <translation type="vanished">Cannot Seek in File</translation>
+- </message>
+- <message>
+- <source>Failed to open remote file %1</source>
+- <extracomment>%1 is the filename</extracomment>
+- <translation type="vanished">Failed to Open Remote File %1</translation>
+- </message>
+-</context>
+ <context>
+ <name>FileTransferWorker</name>
+ <message>
+@@ -6819,7 +6269,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="540"/>
+ <source>The number of days bonus a program gets for each priority point. This is only used when the Weighted time/priority Auto-Expire method is selected.</source>
+- <translation>The number of days bonus a program gets for each priority point. This is only used when the Weighted time/priority Auto-expire method is selected.</translation>
++ <translation>The number of days bonus a program gets for each priority point. This is only used when the weighted time/priority auto-expire method is selected.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="554"/>
+@@ -6829,7 +6279,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="556"/>
+ <source>Auto-Expire will force expiration of Live TV recordings when they are this many days old. Live TV recordings may also be expired early if necessary to free up disk space.</source>
+- <translation>Auto-Expire will force expiration of Live TV recordings when they are this many days old. Live TV recordings may also be expired early if necessary to free up disk space.</translation>
++ <translation>Auto-expire will force expiration of Live TV recordings when they are this many days old. Live TV recordings may also be expired early if necessary to free up disk space.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="586"/>
+@@ -6839,7 +6289,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="590"/>
+ <source>If enabled, programs that have been marked as watched and are Auto-Expired will be re-recorded if they are shown again.</source>
+- <translation>If enabled, programs that have been marked as watched and are Auto-Expired will be re-recorded if they are shown again.</translation>
++ <translation>If enabled, programs that have been marked as watched and are auto-expired will be re-recorded if they are shown again.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="601"/>
+@@ -6866,32 +6316,32 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="636"/>
+ <source>Maximum Start Gap (secs)</source>
+- <translation type="unfinished"></translation>
++ <translation>Maximum Start Gap (secs)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="640"/>
+ <source>If more than this number of seconds is missing at the start of a recording that will be regarded as a gap for assessing recording quality. The recording may be marked as damaged.</source>
+- <translation type="unfinished"></translation>
++ <translation>If more than this number of seconds is missing at the start of a recording that will be regarded as a gap for assessing recording quality. The recording may be marked as damaged.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="652"/>
+ <source>Maximum End Gap (secs)</source>
+- <translation type="unfinished"></translation>
++ <translation>Maximum End Gap (secs)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="656"/>
+ <source>If more than this number of seconds is missing at the end of a recording that will be regarded as a gap for assessing recording quality. The recording may be marked as damaged.</source>
+- <translation type="unfinished"></translation>
++ <translation>If more than this number of seconds is missing at the end of a recording that will be regarded as a gap for assessing recording quality. The recording may be marked as damaged.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="668"/>
+ <source>Minimum Recording Quality (percent)</source>
+- <translation type="unfinished"></translation>
++ <translation>Minimum Recording Quality (percent)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="672"/>
+ <source>If recording quality is below this value the recording is marked as damaged.</source>
+- <translation type="unfinished"></translation>
++ <translation>If recording quality is below this value the recording is marked as damaged.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="681"/>
+@@ -7352,7 +6802,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5409"/>
+ <source>The program is able to auto-expire</source>
+- <translation>Program is Set to Auto-expire</translation>
++ <translation>Program is Set to Auto-Expire</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5410"/>
+@@ -7367,7 +6817,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5413"/>
+ <source>Recording is in use</source>
+- <translation>Recording is In Use</translation>
++ <translation>Recording is in Use</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5414"/>
+@@ -7412,46 +6862,42 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5430"/>
+ <source>Recording is in 1080i High Definition</source>
+- <translation type="unfinished">Recording is in 720p High Definition {1080i?}</translation>
++ <translation>Recording is in 1080i HD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5431"/>
+ <source>Recording is in 1080p High Definition</source>
+- <translation type="unfinished">Recording is in 720p High Definition {1080p?}</translation>
++ <translation>Recording is in 1080p HD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5432"/>
+ <source>Recording is in 4k(interlaced) UHD resolution</source>
+- <translation type="unfinished"></translation>
++ <translation>Recording is in 4Ki UHD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5433"/>
+ <source>Recording is in 4k UHD resolution</source>
+- <translation type="unfinished"></translation>
++ <translation>Recording is in 4Kp UHD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5434"/>
+ <source>Recording is using MPEG-2 codec</source>
+- <translation type="unfinished"></translation>
++ <translation>Recording is Using MPEG-2 Codec</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5435"/>
+ <source>Recording is using AVC/H.264 codec</source>
+- <translation type="unfinished"></translation>
++ <translation>Recording is Using AVC/H.264 Codec</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5436"/>
+ <source>Recording is using HEVC/H.265 codec</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Recording is in 1080i/p High Definition</source>
+- <translation type="vanished">Recording is in 1080i/p High Definition</translation>
++ <translation>Recording is Using HEVC/H.265 Codec</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5429"/>
+ <source>Recording is in 720p High Definition</source>
+- <translation>Recording is in 720p High Definition</translation>
++ <translation>Recording is in 720p HD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5428"/>
+@@ -7461,17 +6907,13 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5426"/>
+ <source>Recording is in Standard Definition</source>
+- <translation type="unfinished"></translation>
++ <translation>Recording is in Standard Definition</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5427"/>
+ <source>Recording is Widescreen</source>
+ <translation>Recording is Widescreen</translation>
+ </message>
+- <message>
+- <source>Recording is in HD using H.264 codec</source>
+- <translation type="vanished">Recording is in HD Using H.264 Codec</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5406"/>
+ <source>Recording has been watched</source>
+@@ -8265,7 +7707,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../html/htmlstrings.h" line="240"/>
+ <source>Auto-Expire</source>
+- <translation>Auto-expire</translation>
++ <translation>Auto-Expire</translation>
+ </message>
+ <message>
+ <location filename="../html/htmlstrings.h" line="241"/>
+@@ -8370,7 +7812,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../html/htmlstrings.h" line="272"/>
+ <source>Allow Auto-Expire</source>
+- <translation>Allow Auto-expire</translation>
++ <translation>Allow Auto-Expire</translation>
+ </message>
+ <message>
+ <location filename="../html/htmlstrings.h" line="275"/>
+@@ -9121,7 +8563,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2858"/>
+ <source>Input %1</source>
+- <translation type="unfinished">Input %1</translation>
++ <translation>Input %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -9205,10 +8647,6 @@ Error: %1</translation>
+ <source>Could not open new database connection for metadata lookup.</source>
+ <translation>Could Not Open New Database Connection for Metadata Lookup</translation>
+ </message>
+- <message>
+- <source>Metadata Lookup Starting</source>
+- <translation type="vanished">Metadata Lookup Starting</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2208"/>
+ <source>Unable to find mythmetadatalookup</source>
+@@ -9230,10 +8668,6 @@ Error: %1</translation>
+ <source>Could not open new database connection for commercial detector.</source>
+ <translation>Could Not Open New Database Connection for Commercial Detector</translation>
+ </message>
+- <message>
+- <source>Commercial Detection Starting</source>
+- <translation type="vanished">Commercial Detection Starting</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2344"/>
+ <source>Unable to find mythcommflag</source>
+@@ -9739,7 +9173,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1933"/>
+ <source>Idle time before entering standby mode (minutes)</source>
+- <translation>Idle Time Before Entering Standby Mode (minutes)</translation>
++ <translation>Idle Time Before Entering Standby Mode (Minutes)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1938"/>
+@@ -9791,54 +9225,50 @@ Error: %1</translation>
+ <source>Show standby</source>
+ <translation>Show Standby</translation>
+ </message>
+- <message>
+- <source>By default, only remote frontends are shown the shutdown option on the exit menu. Here you can force specific shutdown and reboot options to be displayed.</source>
+- <translation type="vanished">By default, only remote frontends are shown the shutdown option on the exit menu. Here you can force specific shutdown and reboot options to be displayed.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="111"/>
+ <source>Decoder Device for VAAPI hardware decoding</source>
+- <translation type="unfinished"></translation>
++ <translation>Decoder Device for VAAPI Hardware Decoding</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1957"/>
+ <source>Confirm before suspending/shutting down</source>
+- <translation type="unfinished"></translation>
++ <translation>Confirm Before Suspending or Shutting Down</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1958"/>
+ <source>If enabled (the default) then the user will always be asked to confirm before the system is shutdown, suspended or rebooted.</source>
+- <translation type="unfinished"></translation>
++ <translation>If enabled (the default) then the user will always be asked to confirm before the system is shutdown, suspended or rebooted.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1972"/>
+ <source>Show quit and suspend</source>
+- <translation type="unfinished"></translation>
++ <translation>Show Quit and Suspend</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1975"/>
+ <source>Show quit, reboot, shutdown and suspend</source>
+- <translation type="unfinished"></translation>
++ <translation>Show Quit, Reboot, Shutdown and Suspend</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1980"/>
+ <source>Show suspend</source>
+- <translation type="unfinished"></translation>
++ <translation>Show Suspend</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1982"/>
+ <source>By default, only remote frontends are shown the shutdown option on the exit menu. Here you can force specific shutdown, reboot and suspend options to be displayed.</source>
+- <translation type="unfinished"></translation>
++ <translation>By default, only remote frontends are shown the shutdown option on the exit menu. Here you can force specific shutdown, reboot and suspend options to be displayed.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1991"/>
+ <source>This system supports &apos;%1&apos; without additional setup. </source>
+- <translation type="unfinished"></translation>
++ <translation>This system supports &apos;%1&apos; without additional setup. </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1997"/>
+ <source> This system appears to have no power options available. Try setting the Halt/Reboot/Suspend commands below.</source>
+- <translation type="unfinished"></translation>
++ <translation> This system appears to have no power options available. Try setting the Halt/Reboot/Suspend commands below.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2011"/>
+@@ -9853,22 +9283,22 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2019"/>
+ <source> Note: This system appears to support reboot without using this setting.</source>
+- <translation type="unfinished"></translation>
++ <translation> Note: This system appears to support reboot without using this setting.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2029"/>
+ <source>Suspend command</source>
+- <translation type="unfinished"></translation>
++ <translation>Suspend Command</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2031"/>
+ <source>Optional: Script to run if you select the suspend option from the exit menu, if the option is displayed.</source>
+- <translation type="unfinished"></translation>
++ <translation>Optional: Script to run if you select the suspend option from the exit menu, if the option is displayed.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2037"/>
+ <source> Note: This system appears to support suspend without using this setting.</source>
+- <translation type="unfinished"></translation>
++ <translation> Note: This system appears to support suspend without using this setting.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2047"/>
+@@ -9883,7 +9313,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2057"/>
+ <source> Note: This system appears to support shutdown without using this setting.</source>
+- <translation type="unfinished"></translation>
++ <translation> Note: This system appears to support shutdown without using this setting.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2070"/>
+@@ -10018,7 +9448,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3335"/>
+ <source>Only support AirTunes (no video)</source>
+- <translation>Only Support AirTunes (no video)</translation>
++ <translation>Only Support AirTunes (No Video)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3337"/>
+@@ -10058,7 +9488,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3395"/>
+ <source>During music playback, displays album cover and various media information in full screen mode</source>
+- <translation>During music playback, displays album cover and various media information in full screen mode</translation>
++ <translation>During music playback, displays album cover and various media information in full screen mode.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3451"/>
+@@ -10095,10 +9525,6 @@ Error: %1</translation>
+ <source>Media Monitor</source>
+ <translation>Media Monitor</translation>
+ </message>
+- <message>
+- <source>Decoder Device for VAAPI2 hardware decoding</source>
+- <translation type="vanished">Decoder Device for VAAPI2 Hardware Decoding</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="115"/>
+ <source>Use this if your system does not detect the VAAPI device. Example: &apos;/dev/dri/renderD128&apos;.</source>
+@@ -10353,28 +9779,28 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/Bluray/mythbdbuffer.cpp" line="186"/>
+ <source>Title %1 chapter %2</source>
+- <translation type="unfinished">Title %1 Chapter %2</translation>
++ <translation>Title %1 Chapter %2</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/Bluray/mythbdbuffer.cpp" line="333"/>
+ <location filename="../libs/libmythtv/Bluray/mythbdbuffer.cpp" line="362"/>
+ <source>Could not open Blu-ray device: %1</source>
+- <translation type="unfinished">Could not open Blu-ray device: %1</translation>
++ <translation>Could Not Open Blu-ray Device: %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/Bluray/mythbdbuffer.cpp" line="374"/>
+ <source>Could not open Blu-ray device %1, failed to decrypt</source>
+- <translation type="unfinished">Failed to decrypt, could not open Blu-ray device: %1</translation>
++ <translation>Failed to Decrypt, Could Not Open Blu-ray Device: %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/Bluray/mythbdbuffer.cpp" line="414"/>
+ <source>Unable to find any Blu-ray compatible titles</source>
+- <translation type="unfinished">Unable to find any Blu-ray compatible titles.</translation>
++ <translation>Unable to find any Blu-ray compatible titles.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/Bluray/mythbdbuffer.cpp" line="520"/>
+ <source>Unable to find any usable Blu-ray titles</source>
+- <translation type="unfinished">Unable to find any usable Blu-ray titles.</translation>
++ <translation>Unable to find any usable Blu-ray titles.</translation>
+ </message>
+ </context>
+ <context>
+@@ -10382,7 +9808,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/Bluray/mythbdinfo.cpp" line="93"/>
+ <source>Could not open Blu-ray device: %1</source>
+- <translation type="unfinished">Could not open Blu-ray device: %1</translation>
++ <translation>Could not open Blu-ray device: %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -10701,40 +10127,12 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="890"/>
+ <source>Auto 3D</source>
+- <translation type="unfinished"></translation>
++ <translation>Auto 3D</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="892"/>
+ <source>Ignore 3D</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Toggle Picture-in-Picture view</source>
+- <translation type="vanished">Toggle Picture-in-Picture View</translation>
+- </message>
+- <message>
+- <source>Toggle Picture-by-Picture view</source>
+- <translation type="vanished">Toggle Picture-by-Picture View</translation>
+- </message>
+- <message>
+- <source>Create Picture-in-Picture view</source>
+- <translation type="vanished">Create Picture-in-Picture View</translation>
+- </message>
+- <message>
+- <source>Create Picture-by-Picture view</source>
+- <translation type="vanished">Create Picture-by-Picture View</translation>
+- </message>
+- <message>
+- <source>Toggle active PIP/PBP window</source>
+- <translation type="vanished">Toggle Active PIP/PBP Window</translation>
+- </message>
+- <message>
+- <source>Swap PBP/PIP Windows</source>
+- <translation type="vanished">Swap PBP/PIP Windows</translation>
+- </message>
+- <message>
+- <source>Change PxP view</source>
+- <translation type="vanished">Change PxP View</translation>
++ <translation>Ignore 3D</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="618"/>
+@@ -11001,10 +10399,6 @@ Error: %1</translation>
+ <source>Playback picture adjustments</source>
+ <translation>Playback Picture Adjustments</translation>
+ </message>
+- <message>
+- <source>Toggle night mode</source>
+- <translation type="vanished">Toggle Night Mode</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="730"/>
+ <source>Set the picture brightness</source>
+@@ -11215,23 +10609,11 @@ Error: %1</translation>
+ <source>Toggle OSD playback information</source>
+ <translation>Toggle OSD Playback Information</translation>
+ </message>
+- <message>
+- <source>No 3D</source>
+- <translation type="vanished">No 3D</translation>
+- </message>
+- <message>
+- <source>3D Side by Side</source>
+- <translation type="vanished">3D Side by Side</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="894"/>
+ <source>Discard 3D Side by Side</source>
+ <translation>Discard 3D Side by Side</translation>
+ </message>
+- <message>
+- <source>3D Top and Bottom</source>
+- <translation type="vanished">3D Top and Bottom</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="896"/>
+ <source>Discard 3D Top and Bottom</source>
+@@ -12092,12 +11474,12 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/DVD/mythdvdbuffer.cpp" line="250"/>
+ <source>Title %1 chapter %2</source>
+- <translation type="unfinished">Title %1 Chapter %2</translation>
++ <translation>Title %1 Chapter %2</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/DVD/mythdvdbuffer.cpp" line="277"/>
+ <source>Failed to open DVD device at %1</source>
+- <translation type="unfinished">Failed to Open DVD Device at %1</translation>
++ <translation>Failed to Open DVD Device at %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -12118,102 +11500,102 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="146"/>
+ <source>Spanning %1 screens</source>
+- <translation type="unfinished"></translation>
++ <translation>Spanning %1 Screens</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="147"/>
+ <source>Total bounds</source>
+- <translation type="unfinished"></translation>
++ <translation>Total Bounds</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="156"/>
+ <source>Supported HDR formats : %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Supported HDR Formats: %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="158"/>
+ <source>HDR mode switching is not available</source>
+- <translation type="unfinished"></translation>
++ <translation>HDR Mode Switching is Not Available</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="160"/>
+ <source>Max display brightness : %1 nits</source>
+- <translation type="unfinished"></translation>
++ <translation>Max Display Brightness : %1 nits</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="165"/>
+ <source>Variable refresh rate &apos;%1&apos;: %2 %3</source>
+- <translation type="unfinished"></translation>
++ <translation>Variable Refresh Rate &apos;%1&apos;: %2 %3</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="167"/>
+ <source>Enabled</source>
+- <translation type="unfinished"></translation>
++ <translation>Enabled</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="167"/>
+ <source>Disabled</source>
+- <translation type="unfinished">Disabled</translation>
++ <translation>Disabled</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="181"/>
+ <source>Current screen %1 %2:</source>
+- <translation type="unfinished"></translation>
++ <translation>Current Screen : %1 %2</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="183"/>
+ <source>Screen %1 %2:</source>
+- <translation type="unfinished"></translation>
++ <translation>Screen: %1 %2</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="184"/>
+ <source>Size</source>
+- <translation type="unfinished">Size</translation>
++ <translation>Size </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="190"/>
+ <source>Aspect ratio</source>
+- <translation type="unfinished"></translation>
++ <translation>Aspect Ratio</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="194"/>
+ <source>Current mode</source>
+- <translation type="unfinished"></translation>
++ <translation>Current Mode</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="200"/>
+ <source>Available modes:</source>
+- <translation type="unfinished"></translation>
++ <translation>Available Modes:</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="876"/>
+ <source>Video mode override</source>
+- <translation type="unfinished"></translation>
++ <translation>Video Mode Override</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="889"/>
+ <source>Override</source>
+- <translation type="unfinished"></translation>
++ <translation>Override</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="899"/>
+ <source>Multiscreen estimate</source>
+- <translation type="unfinished"></translation>
++ <translation>Multiscreen Estimate</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="914"/>
+ <source>Square pixels</source>
+- <translation type="unfinished"></translation>
++ <translation>Square Pixels</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="922"/>
+ <source>Detected</source>
+- <translation type="unfinished"></translation>
++ <translation>Detected</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplay.cpp" line="927"/>
+ <source>Guessed</source>
+- <translation type="unfinished"></translation>
++ <translation>Guessed</translation>
+ </message>
+ </context>
+ <context>
+@@ -12221,7 +11603,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythui/mythpainterwindow.cpp" line="129"/>
+ <source>Warning: No GPU acceleration</source>
+- <translation type="unfinished"></translation>
++ <translation>Warning: No GPU Acceleration</translation>
+ </message>
+ </context>
+ <context>
+@@ -12256,214 +11638,63 @@ Error: %1</translation>
+ <source>Could not open decoder</source>
+ <translation>Could Not Open Decoder</translation>
+ </message>
+- <message>
+- <source>TXT CAP</source>
+- <translation type="vanished">TXT CAP</translation>
+- </message>
+- <message>
+- <source>Text subtitles</source>
+- <translation type="vanished">Text Subtitles</translation>
+- </message>
+- <message>
+- <source>Off</source>
+- <translation type="vanished">Off</translation>
+- </message>
+- <message>
+- <source>TXT %1</source>
+- <translation type="vanished">TXT %1</translation>
+- </message>
+- <message>
+- <source>On</source>
+- <translation type="vanished">On</translation>
+- </message>
+- <message>
+- <source>No captions</source>
+- <comment>CC/Teletext/Subtitle text not available</comment>
+- <translation type="vanished">No Captions</translation>
+- </message>
+- <message>
+- <source>Forced Subtitles On</source>
+- <translation type="vanished">Forced Subtitles On</translation>
+- </message>
+- <message>
+- <source>Forced Subtitles Off</source>
+- <translation type="vanished">Forced Subtitles Off</translation>
+- </message>
+- <message>
+- <source>Failed to initialize A/V Sync</source>
+- <translation type="vanished">Failed to Initialize A/V Sync</translation>
+- </message>
+- <message>
+- <source>Serious error detected in Video Output</source>
+- <translation type="vanished">Serious Error Detected in Video Output</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayer.cpp" line="826"/>
+ <source>Video frame buffering failed too many times.</source>
+ <translation>Video Frame Buffering Failed Too Many Times</translation>
+ </message>
+- <message>
+- <source>Error opening switch program buffer</source>
+- <translation type="vanished">Error Opening Switch Program Buffer</translation>
+- </message>
+- <message>
+- <source>Error opening switch program file</source>
+- <translation type="vanished">Error Opening Switch Program File</translation>
+- </message>
+- <message>
+- <source>Error opening jump program file buffer</source>
+- <translation type="vanished">Error Opening Jump Program File Buffer</translation>
+- </message>
+- <message>
+- <source>Error opening jump program file</source>
+- <translation type="vanished">Error Opening Jump Program File</translation>
+- </message>
+- <message>
+- <source>Error reopening video decoder</source>
+- <translation type="vanished">Error Reopening Video Decoder</translation>
+- </message>
+- <message>
+- <source>Irrecoverable recorder error</source>
+- <translation type="vanished">Irrecoverable Recorder Error</translation>
+- </message>
+- <message>
+- <source>Not Flagged</source>
+- <extracomment>The commercials/adverts have not been flagged</extracomment>
+- <translation type="vanished">Not Flagged</translation>
+- </message>
+- <message>
+- <source>Searching</source>
+- <translation type="vanished">Searching...</translation>
+- </message>
+- <message>
+- <source>No Seektable</source>
+- <translation type="vanished">No Seektable</translation>
+- </message>
+- <message>
+- <source>Using previously auto-saved cuts</source>
+- <translation type="vanished">Using Previously Auto-saved Cuts</translation>
+- </message>
+- <message>
+- <source>Paused</source>
+- <translation type="vanished">Paused</translation>
+- </message>
+- <message>
+- <source>New cut added.</source>
+- <translation type="vanished">New Cut Added</translation>
+- </message>
+- <message>
+- <source>Delete</source>
+- <translation type="vanished">Delete</translation>
+- </message>
+- <message>
+- <source>Undo Changes</source>
+- <translation type="vanished">Undo Changes</translation>
+- </message>
+- <message>
+- <source>Undo - %1</source>
+- <extracomment>%1 is the undo message</extracomment>
+- <translation type="vanished">Undo - %1</translation>
+- </message>
+- <message>
+- <source>Redo - %1</source>
+- <extracomment>%1 is the redo message</extracomment>
+- <translation type="vanished">Redo - %1</translation>
+- </message>
+- <message>
+- <source>%1 ms</source>
+- <translation type="vanished">%1 ms</translation>
+- </message>
+- <message numerus="yes">
+- <source>%n second(s)</source>
+- <translation type="vanished">
+- <numerusform>%n second</numerusform>
+- <numerusform>%n seconds</numerusform>
+- </translation>
+- </message>
+- <message>
+- <source>Still Frame</source>
+- <translation type="vanished">Still Frame</translation>
+- </message>
+- <message>
+- <source>%1 of %2</source>
+- <translation type="vanished">%1 of %2</translation>
+- </message>
+- <message>
+- <source>Error opening remote stream buffer</source>
+- <translation type="vanished">Error Opening Remote Stream Buffer</translation>
+- </message>
+- <message>
+- <source>Error opening remote stream</source>
+- <translation type="vanished">Error Opening Remote Stream</translation>
+- </message>
+- <message>
+- <source>Enabled Studio Levels</source>
+- <translation type="vanished">Enabled Studio Levels</translation>
+- </message>
+- <message>
+- <source>Disabled Studio Levels</source>
+- <translation type="vanished">Disabled Studio Levels</translation>
+- </message>
+- <message>
+- <source>Enabled Night Mode</source>
+- <translation type="vanished">Enabled Night Mode</translation>
+- </message>
+- <message>
+- <source>Disabled Night Mode</source>
+- <translation type="vanished">Disabled Night Mode</translation>
+- </message>
+ </context>
+ <context>
+ <name>MythPlayerAudioUI</name>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="117"/>
+ <source>Adjust Volume</source>
+- <translation type="unfinished">Adjust Volume</translation>
++ <translation>Adjust Volume</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="117"/>
+ <source>Volume</source>
+- <translation type="unfinished">Volume</translation>
++ <translation>Volume</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="143"/>
+ <source>Mute Off</source>
+- <translation type="unfinished">Mute Off</translation>
++ <translation>Mute Off</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="144"/>
+ <source>Mute On</source>
+- <translation type="unfinished">Mute On</translation>
++ <translation>Mute On</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="145"/>
+ <source>Left Channel Muted</source>
+- <translation type="unfinished">Left Channel Muted</translation>
++ <translation>Left Channel Muted</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="146"/>
+ <source>Right Channel Muted</source>
+- <translation type="unfinished">Right Channel Muted</translation>
++ <translation>Right Channel Muted</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="165"/>
+ <source>Upmixer On</source>
+- <translation type="unfinished">Upmixer On</translation>
++ <translation>Upmixer On</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="165"/>
+ <source>Upmixer Off</source>
+- <translation type="unfinished">Upmixer Off</translation>
++ <translation>Upmixer Off</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="197"/>
+ <source>Adjust Audio Sync</source>
+- <translation type="unfinished">Adjust Audio Sync</translation>
++ <translation>Adjust Audio Sync</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeraudioui.cpp" line="197"/>
+ <source>Audio Sync</source>
+- <translation type="unfinished">Audio Sync</translation>
++ <translation>Audio Sync</translation>
+ </message>
+ </context>
+ <context>
+@@ -12471,64 +11702,64 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="92"/>
+ <source>Adjust Subtitle Zoom</source>
+- <translation type="unfinished">Adjust Subtitle Zoom</translation>
++ <translation>Adjust Subtitle Zoom</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="92"/>
+ <source>Subtitle Zoom</source>
+- <translation type="unfinished">Subtitle Zoom</translation>
++ <translation>Subtitle Zoom</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="111"/>
+ <source>Adjust Subtitle Delay</source>
+- <translation type="unfinished">Adjust Subtitle Delay</translation>
++ <translation>Adjust Subtitle Delay</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="111"/>
+ <source>Subtitle Delay</source>
+- <translation type="unfinished">Subtitle Delay</translation>
++ <translation>Subtitle Delay</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="165"/>
+ <source>TXT CAP</source>
+- <translation type="unfinished">TXT CAP</translation>
++ <translation>TXT CAP</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="187"/>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="219"/>
+ <source>Text subtitles</source>
+- <translation type="unfinished">Text Subtitles</translation>
++ <translation>Text Subtitles</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="193"/>
+ <source>Off</source>
+- <translation type="unfinished">Off</translation>
++ <translation>Off</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="223"/>
+ <source>TXT %1</source>
+- <translation type="unfinished">TXT %1</translation>
++ <translation>TXT %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="236"/>
+ <source>On</source>
+- <translation type="unfinished">On</translation>
++ <translation>On</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="261"/>
+ <source>Forced Subtitles On</source>
+- <translation type="unfinished">Forced Subtitles On</translation>
++ <translation>Forced Subtitles On</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="261"/>
+ <source>Forced Subtitles Off</source>
+- <translation type="unfinished">Forced Subtitles Off</translation>
++ <translation>Forced Subtitles Off</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayercaptionsui.cpp" line="304"/>
+ <source>No captions</source>
+ <comment>CC/Teletext/Subtitle text not available</comment>
+- <translation type="unfinished">No Captions</translation>
++ <translation>No Captions</translation>
+ </message>
+ </context>
+ <context>
+@@ -12536,43 +11767,43 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="57"/>
+ <source>No Seektable</source>
+- <translation type="unfinished">No Seektable</translation>
++ <translation>No Seektable</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="79"/>
+ <source>Using previously auto-saved cuts</source>
+- <translation type="unfinished">Using Previously Auto-saved Cuts</translation>
++ <translation>Using Previously Auto-saved Cuts</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="119"/>
+ <source>Paused</source>
+- <translation type="unfinished">Paused</translation>
++ <translation>Paused</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="232"/>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="266"/>
+ <source>New cut added.</source>
+- <translation type="unfinished">New Cut Added</translation>
++ <translation>New Cut Added</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="237"/>
+ <source>Delete</source>
+- <translation type="unfinished">Delete</translation>
++ <translation>Delete</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="242"/>
+ <source>Undo Changes</source>
+- <translation type="unfinished">Undo Changes</translation>
++ <translation>Undo Changes</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="268"/>
+ <source>Undo - %1</source>
+- <translation type="unfinished">Undo - %1</translation>
++ <translation>Undo - %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayereditorui.cpp" line="270"/>
+ <source>Redo - %1</source>
+- <translation type="unfinished">Redo - %1</translation>
++ <translation>Redo - %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -12580,7 +11811,7 @@ Error: %1</translation>
+ <message numerus="yes">
+ <location filename="../libs/libmythtv/mythplayeroverlayui.cpp" line="228"/>
+ <source>%n second(s)</source>
+- <translation type="unfinished">
++ <translation>
+ <numerusform>%n second</numerusform>
+ <numerusform>%n seconds</numerusform>
+ </translation>
+@@ -12588,12 +11819,12 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeroverlayui.cpp" line="231"/>
+ <source>Still Frame</source>
+- <translation type="unfinished">Still Frame</translation>
++ <translation>Still Frame</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeroverlayui.cpp" line="231"/>
+ <source>%1 of %2</source>
+- <translation type="unfinished">%1 of %2</translation>
++ <translation>%1 of %2</translation>
+ </message>
+ </context>
+ <context>
+@@ -12601,58 +11832,58 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="31"/>
+ <source>Searching</source>
+- <translation type="unfinished">Searching...</translation>
++ <translation>Searching...</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="209"/>
+ <source>Irrecoverable recorder error</source>
+- <translation type="unfinished">Irrecoverable Recorder Error</translation>
++ <translation>Irrecoverable Recorder Error</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="310"/>
+ <source>Not Flagged</source>
+ <extracomment>The commercials/adverts have not been flagged</extracomment>
+- <translation type="unfinished">Not Flagged</translation>
++ <translation>Not Flagged</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="646"/>
+ <source>Serious error detected in Video Output</source>
+- <translation type="unfinished">Serious Error Detected in Video Output</translation>
++ <translation>Serious Error Detected in Video Output</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="952"/>
+ <source>Error opening remote stream buffer</source>
+- <translation type="unfinished">Error Opening Remote Stream Buffer</translation>
++ <translation>Error Opening Remote Stream Buffer</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="966"/>
+ <source>Error opening remote stream</source>
+- <translation type="unfinished">Error Opening Remote Stream</translation>
++ <translation>Error Opening Remote Stream</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="1046"/>
+ <source>Error opening switch program buffer</source>
+- <translation type="unfinished">Error Opening Switch Program Buffer</translation>
++ <translation>Error Opening Switch Program Buffer</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="1071"/>
+ <source>Error opening switch program file</source>
+- <translation type="unfinished">Error Opening Switch Program File</translation>
++ <translation>Error Opening Switch Program File</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="1165"/>
+ <source>Error opening jump program file buffer</source>
+- <translation type="unfinished">Error Opening Jump Program File Buffer</translation>
++ <translation>Error Opening Jump Program File Buffer</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="1177"/>
+ <source>Error opening jump program file</source>
+- <translation type="unfinished">Error Opening Jump Program File</translation>
++ <translation>Error Opening Jump Program File</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayerui.cpp" line="1186"/>
+ <source>Error reopening video decoder</source>
+- <translation type="unfinished">Error Reopening Video Decoder</translation>
++ <translation>Error Reopening Video Decoder</translation>
+ </message>
+ </context>
+ <context>
+@@ -12660,7 +11891,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/mythplayervideoui.cpp" line="48"/>
+ <source>Failed to initialize video output</source>
+- <translation type="unfinished">Failed to Initialize Video Output</translation>
++ <translation>Failed to Initialize Video Output</translation>
+ </message>
+ </context>
+ <context>
+@@ -12668,18 +11899,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/mythplayervisualiserui.cpp" line="106"/>
+ <source>Visualisation Off</source>
+- <translation type="unfinished">Visualization Off</translation>
+- </message>
+-</context>
+-<context>
+- <name>MythPopupBox</name>
+- <message>
+- <source>OK</source>
+- <translation type="vanished">OK</translation>
+- </message>
+- <message>
+- <source>Cancel</source>
+- <translation type="vanished">Cancel</translation>
++ <translation>Visualization Off</translation>
+ </message>
+ </context>
+ <context>
+@@ -12687,27 +11907,27 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythbase/mythpower.cpp" line="248"/>
+ <source>Restart</source>
+- <translation type="unfinished"></translation>
++ <translation>Restart</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/mythpower.cpp" line="249"/>
+ <source>Suspend</source>
+- <translation type="unfinished"></translation>
++ <translation>Suspend</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/mythpower.cpp" line="250"/>
+ <source>Shutdown</source>
+- <translation type="unfinished">Shutdown</translation>
++ <translation>Shutdown</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/mythpower.cpp" line="251"/>
+ <source>Hibernate</source>
+- <translation type="unfinished"></translation>
++ <translation>Hibernate</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/mythpower.cpp" line="252"/>
+ <source>HybridSleep</source>
+- <translation type="unfinished"></translation>
++ <translation>Hybrid Sleep</translation>
+ </message>
+ </context>
+ <context>
+@@ -13122,287 +12342,287 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="724"/>
+ <source>Default (Bilinear)</source>
+- <translation type="unfinished"></translation>
++ <translation>Default (Bilinear)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="725"/>
+ <source>Bicubic</source>
+- <translation type="unfinished"></translation>
++ <translation>Bicubic</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="738"/>
+ <source>Standard</source>
+- <translation type="unfinished">Standard</translation>
++ <translation>Standard</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="739"/>
+ <source>VDPAU acceleration</source>
+- <translation type="unfinished"></translation>
++ <translation>VDPAU Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="740"/>
+ <source>VDPAU acceleration (decode only)</source>
+- <translation type="unfinished"></translation>
++ <translation>VDPAU Acceleration (Decode Only)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="741"/>
+ <source>VAAPI acceleration</source>
+- <translation type="unfinished">VAAPI Acceleration</translation>
++ <translation>VAAPI Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="742"/>
+ <source>VAAPI acceleration (decode only)</source>
+- <translation type="unfinished"></translation>
++ <translation>VAAPI Acceleration (Decode Only)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="743"/>
+ <source>Windows hardware acceleration</source>
+- <translation type="unfinished">Windows Hardware Acceleration</translation>
++ <translation>Windows Hardware Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="744"/>
+ <source>Android MediaCodec acceleration</source>
+- <translation type="unfinished"></translation>
++ <translation>Android MediaCodec Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="745"/>
+ <source>Android MediaCodec acceleration (decode only)</source>
+- <translation type="unfinished"></translation>
++ <translation>Android MediaCodec Acceleration (Decode Only)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="746"/>
+ <source>NVIDIA NVDEC acceleration</source>
+- <translation type="unfinished"></translation>
++ <translation>NVIDIA NVDEC Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="747"/>
+ <source>NVIDIA NVDEC acceleration (decode only)</source>
+- <translation type="unfinished"></translation>
++ <translation>NVIDIA NVDEC Acceleration (Decode Only)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="748"/>
+ <source>VideoToolbox acceleration</source>
+- <translation type="unfinished"></translation>
++ <translation>VideoToolbox Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="749"/>
+ <source>VideoToolbox acceleration (decode only)</source>
+- <translation type="unfinished"></translation>
++ <translation>VideoToolbox Acceleration (Decode Only)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="750"/>
+ <source>V4L2 acceleration</source>
+- <translation type="unfinished"></translation>
++ <translation>V4L2 Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="751"/>
+ <source>V4L2 acceleration (decode only)</source>
+- <translation type="unfinished"></translation>
++ <translation>V4L2 Acceleration (Decode Only)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="752"/>
+ <source>MMAL acceleration</source>
+- <translation type="unfinished"></translation>
++ <translation>MMAL Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="753"/>
+ <source>MMAL acceleration (decode only)</source>
+- <translation type="unfinished"></translation>
++ <translation>MMAL Acceleration (Decode Only)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="754"/>
+ <source>DRM PRIME acceleration</source>
+- <translation type="unfinished"></translation>
++ <translation>DRM PRIME Acceleration</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="767"/>
+ <source>Processing method used to decode video.</source>
+- <translation type="unfinished">Processing method used to decode video.</translation>
++ <translation>Processing method used to decode video.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="775"/>
+ <source>Standard will use the FFmpeg library for software decoding.</source>
+- <translation type="unfinished"></translation>
++ <translation>Standard will use the FFmpeg library for software decoding.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="779"/>
+ <source>VDPAU will attempt to use the graphics hardware to accelerate video decoding.</source>
+- <translation type="unfinished"></translation>
++ <translation>VDPAU will attempt to use the graphics hardware to accelerate video decoding.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="786"/>
+ <source>VAAPI will attempt to use the graphics hardware to accelerate video decoding and playback.</source>
+- <translation type="unfinished"></translation>
++ <translation>VAAPI will attempt to use the graphics hardware to accelerate video decoding and playback.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="793"/>
+ <source>DXVA2 will use the graphics hardware to accelerate video decoding and playback. </source>
+- <translation type="unfinished"></translation>
++ <translation>DXVA2 will use the graphics hardware to accelerate video decoding and playback. </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="800"/>
+ <source>Mediacodec will use Android graphics hardware to accelerate video decoding and playback. </source>
+- <translation type="unfinished"></translation>
++ <translation>Mediacodec will use Android graphics hardware to accelerate video decoding and playback. </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="807"/>
+ <source>Nvdec uses the NVDEC API to accelerate video decoding and playback with NVIDIA Graphics Adapters. </source>
+- <translation type="unfinished"></translation>
++ <translation>NVDEC uses the NVDEC API to accelerate video decoding and playback with NVIDIA Graphics Adapters. </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="813"/>
+ <source>The VideoToolbox library is used to accelerate video decoding. </source>
+- <translation type="unfinished"></translation>
++ <translation>The VideoToolbox library is used to accelerate video decoding. </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="817"/>
+ <source>MMAL is used to accelerated video decoding (Raspberry Pi only). </source>
+- <translation type="unfinished"></translation>
++ <translation>MMAL is used to accelerated video decoding (Raspberry Pi only). </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="825"/>
+ <source>Video4Linux codecs are used to accelerate video decoding on supported platforms. </source>
+- <translation type="unfinished"></translation>
++ <translation>Video4Linux codecs are used to accelerate video decoding on supported platforms. </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="832"/>
+ <source>DRM-PRIME decoders are used to accelerate video decoding on supported platforms. </source>
+- <translation type="unfinished"></translation>
++ <translation>DRM-PRIME decoders are used to accelerate video decoding on supported platforms. </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="839"/>
+ <source>The decoder will transfer frames back to system memory which will significantly reduce performance but may allow other functionality to be used (such as automatic letterbox detection). </source>
+- <translation type="unfinished"></translation>
++ <translation>The decoder will transfer frames back to system memory which will significantly reduce performance but may allow other functionality to be used (such as automatic letterbox detection). </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="852"/>
+ <source>OpenGL</source>
+- <translation type="unfinished"></translation>
++ <translation>OpenGL</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="853"/>
+ <source>OpenGL YV12</source>
+- <translation type="unfinished"></translation>
++ <translation>OpenGL YV12</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="854"/>
+ <source>OpenGL Hardware</source>
+- <translation type="unfinished"></translation>
++ <translation>OpenGL Hardware</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="855"/>
+ <source>Vulkan</source>
+- <translation type="unfinished"></translation>
++ <translation>Vulkan</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1080"/>
+ <source>OpenGL High Quality</source>
+ <comment>Sample: OpenGL high quality</comment>
+- <translation type="unfinished">OpenGL High Quality</translation>
++ <translation>OpenGL High Quality</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1090"/>
+ <source>OpenGL Normal</source>
+ <comment>Sample: OpenGL medium quality</comment>
+- <translation type="unfinished">OpenGL Normal</translation>
++ <translation>OpenGL Normal</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1099"/>
+ <source>OpenGL Slim</source>
+ <comment>Sample: OpenGL low power GPU</comment>
+- <translation type="unfinished">OpenGL Slim</translation>
++ <translation>OpenGL Slim</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1110"/>
+ <source>VAAPI Normal</source>
+ <comment>Sample: VAAPI average quality</comment>
+- <translation type="unfinished">VAAPI Normal</translation>
++ <translation>VAAPI Normal</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1124"/>
+ <source>VDPAU Normal</source>
+ <comment>Sample: VDPAU medium quality</comment>
+- <translation type="unfinished">VDPAU Normal</translation>
++ <translation>VDPAU Normal</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1138"/>
+ <source>MediaCodec Normal</source>
+ <comment>Sample: MediaCodec Normal</comment>
+- <translation type="unfinished">MediaCodec Normal</translation>
++ <translation>MediaCodec Normal</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1154"/>
+ <source>NVDEC Normal</source>
+ <comment>Sample: NVDEC Normal</comment>
+- <translation type="unfinished"></translation>
++ <translation>NVDEC Normal</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1167"/>
+ <source>VideoToolBox Normal</source>
+ <comment>Sample: VideoToolBox Normal</comment>
+- <translation type="unfinished"></translation>
++ <translation>VideoToolBox Normal</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1181"/>
+ <source>MMAL</source>
+ <comment>Sample: MMAL</comment>
+- <translation type="unfinished"></translation>
++ <translation>MMAL</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1195"/>
+ <source>V4L2 Codecs</source>
+ <comment>Sample: V4L2</comment>
+- <translation type="unfinished"></translation>
++ <translation>V4L2 Codecs</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1221"/>
+ <source>Render video offscreen. Used internally.</source>
+- <translation type="unfinished">Render video offscreen. Used internally.</translation>
++ <translation>Render video offscreen. Used internally.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1225"/>
+ <source>Windows video renderer based on Direct3D. Requires video card compatible with Direct3D 9. This is the preferred renderer for current Windows systems.</source>
+- <translation type="unfinished">Windows video renderer based on Direct3D. Requires video card compatible with Direct3D 9. This is the preferred renderer for current Windows systems.</translation>
++ <translation>Windows video renderer based on Direct3D. Requires video card compatible with Direct3D 9. This is the preferred renderer for current Windows systems.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1232"/>
+ <source>Video is converted to an intermediate format by the CPU (YUV2) before OpenGL is used for color conversion, scaling, picture controls and optionally deinterlacing. Processing is balanced between the CPU and GPU.</source>
+- <translation type="unfinished"></translation>
++ <translation>Video is converted to an intermediate format by the CPU (YUV2) before OpenGL is used for color conversion, scaling, picture controls and optionally deinterlacing. Processing is balanced between the CPU and GPU.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1240"/>
+ <source>OpenGL is used for all color conversion, scaling, picture controls and optionally deinterlacing. CPU load is low but a slightly more powerful GPU is needed for deinterlacing.</source>
+- <translation type="unfinished"></translation>
++ <translation>OpenGL is used for all color conversion, scaling, picture controls and optionally deinterlacing. CPU load is low but a slightly more powerful GPU is needed for deinterlacing.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1246"/>
+ <source>This video renderer is used by hardware decoders to display frames using OpenGL.</source>
+- <translation type="unfinished"></translation>
++ <translation>This video renderer is used by hardware decoders to display frames using OpenGL.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1248"/>
+ <source>Video rendering method</source>
+- <translation type="unfinished">Video Rendering Method</translation>
++ <translation>Video Rendering Method</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1303"/>
+ <source>None</source>
+- <translation type="unfinished">None</translation>
++ <translation>None</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1304"/>
+ <source>Low quality</source>
+- <translation type="unfinished"></translation>
++ <translation>Low Quality</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1305"/>
+ <source>Medium quality</source>
+- <translation type="unfinished"></translation>
++ <translation>Medium Quality</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythvideoprofile.cpp" line="1306"/>
+ <source>High quality</source>
+- <translation type="unfinished"></translation>
++ <translation>High Quality</translation>
+ </message>
+ </context>
+ <context>
+@@ -13472,25 +12692,6 @@ Error: %1</translation>
+ <translation>MythWelcome Settings</translation>
+ </message>
+ </context>
+-<context>
+- <name>MythWizard</name>
+- <message>
+- <source>&amp;Cancel</source>
+- <translation type="vanished">&amp;Cancel</translation>
+- </message>
+- <message>
+- <source>&lt; &amp;Back</source>
+- <translation type="vanished">&lt; &amp;Back</translation>
+- </message>
+- <message>
+- <source>&amp;Next &gt;</source>
+- <translation type="vanished">&amp;Next &gt;</translation>
+- </message>
+- <message>
+- <source>&amp;Finish</source>
+- <translation type="vanished">&amp;Finish</translation>
+- </message>
+-</context>
+ <context>
+ <name>NetworkControl</name>
+ <message>
+@@ -13539,7 +12740,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1665"/>
+ <source>If enabled, captions will be displayed when playing back recordings or watching Live TV. Closed Captioning can be turned on or off by pressing &quot;T&quot; duringplayback.</source>
+- <translation>If enabled, captions will be displayed when playing back recordings or watching Live TV. Closed Captioning can be turned on or off by pressing &quot;T&quot; duringplayback.</translation>
++ <translation>If enabled, captions will be displayed when playing back recordings or watching Live TV. Closed Captioning can be turned on or off by pressing &quot;T&quot; during playback.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1677"/>
+@@ -13564,12 +12765,12 @@ Error: %1</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1703"/>
+ <source>Visualiser for audio only playback</source>
+- <translation type="unfinished"></translation>
++ <translation>Visualiser for Audio Only Playback</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1704"/>
+ <source>Select a visualisation to use when there is no video. Defaults to none.</source>
+- <translation type="unfinished"></translation>
++ <translation>Select a visualisation to use when there is no video. Defaults to none.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1717"/>
+@@ -13655,32 +12856,32 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="34"/>
+ <source>First Channel</source>
+- <translation type="unfinished"></translation>
++ <translation>First Channel</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="35"/>
+ <source>Start scanning at this channel.</source>
+- <translation type="unfinished"></translation>
++ <translation>Start scanning at this channel.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="38"/>
+ <source>Last Channel</source>
+- <translation type="unfinished"></translation>
++ <translation>Last Channel</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="39"/>
+ <source>Stop scanning after this channel.</source>
+- <translation type="unfinished"></translation>
++ <translation>Stop scanning after this channel.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="42"/>
+ <source>Channel Count</source>
+- <translation type="unfinished"></translation>
++ <translation>Channel Count</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="43"/>
+ <source>Total number of channels to scan.</source>
+- <translation type="unfinished"></translation>
++ <translation>Total number of channels to scan.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="47"/>
+@@ -13848,7 +13049,7 @@ Error: %1</translation>
+ <message>
+ <location filename="../libs/libmythtv/playgroup.cpp" line="282"/>
+ <source>Enter new group name</source>
+- <translation>Enter group name:</translation>
++ <translation>Enter Group Name:</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/playgroup.cpp" line="298"/>
+@@ -14255,7 +13456,7 @@ Are you sure you want to delete:</translation>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2918"/>
+ <source>Clear last played position</source>
+- <translation type="unfinished"></translation>
++ <translation>Clear Last Played Position</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2921"/>
+@@ -14525,47 +13726,47 @@ Are you sure you want to delete:</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="789"/>
+ <source>Video scaler</source>
+- <translation type="unfinished"></translation>
++ <translation>Video Scaler</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="794"/>
+ <source>Prefer OpenGL deinterlacers</source>
+- <translation type="unfinished"></translation>
++ <translation>Prefer OpenGL Deinterlacers</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="795"/>
+ <source>Prefer driver deinterlacers</source>
+- <translation type="unfinished"></translation>
++ <translation>Prefer Driver Deinterlacers</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="796"/>
+ <source>If possible, use GLSL shaders for deinterlacing in preference to software deinterlacers. Note: Even if disabled, shaders may be used if deinterlacing is enabled but software deinterlacers are unavailable.</source>
+- <translation type="unfinished"></translation>
++ <translation>If possible, use GLSL shaders for deinterlacing in preference to software deinterlacers. Note: Even if disabled, shaders may be used if deinterlacing is enabled but software deinterlacers are unavailable.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="800"/>
+ <source>If possible, use hardware drivers (e.g. VDPAU, VAAPI) for deinterlacing in preference to software and OpenGL deinterlacers. Note: Even if disabled, driver deinterlacers may be used if deinterlacing is enabled but other deinterlacers are unavailable.</source>
+- <translation type="unfinished"></translation>
++ <translation>If possible, use hardware drivers (e.g. VDPAU, VAAPI) for deinterlacing in preference to software and OpenGL deinterlacers. Note: Even if disabled, driver deinterlacers may be used if deinterlacing is enabled but other deinterlacers are unavailable.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="806"/>
+ <source>Deinterlacer quality (single rate)</source>
+- <translation type="unfinished"></translation>
++ <translation>Deinterlacer Quality (Single Rate)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="809"/>
+ <source>Deinterlacer quality (double rate)</source>
+- <translation type="unfinished"></translation>
++ <translation>Deinterlacer Quality (Double Rate)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="818"/>
+ <source>Set the quality for single rate deinterlacing. Use &apos;None&apos; to disable. Higher quality deinterlacers require more system processing and resources. Software deinterlacers are used by default unless OpenGL or driver preferences are enabled.</source>
+- <translation type="unfinished"></translation>
++ <translation>Set the quality for single rate deinterlacing. Use &apos;None&apos; to disable. Higher quality deinterlacers require more system processing and resources. Software deinterlacers are used by default unless OpenGL or driver preferences are enabled.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="823"/>
+ <source>Set the quality for double rate deinterlacing - which is only used if the display can support the required frame rate. Use &apos;None&apos; to disable double rate deinterlacing.</source>
+- <translation type="unfinished"></translation>
++ <translation>Set the quality for double rate deinterlacing - which is only used if the display can support the required frame rate. Use &apos;None&apos; to disable double rate deinterlacing.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="840"/>
+@@ -14580,29 +13781,17 @@ Are you sure you want to delete:</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="847"/>
+ <source>When unchecked the deblocking loopfilter will be disabled. </source>
+- <translation type="unfinished"></translation>
++ <translation>When unchecked the deblocking loopfilter will be disabled. </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="848"/>
+ <source>Disabling will significantly reduce the load on the CPU for software decoding of H.264 and HEVC material but may significantly reduce video quality.</source>
+- <translation type="unfinished"></translation>
++ <translation>Disabling will significantly reduce the load on the CPU for software decoding of H.264 and HEVC material but may significantly reduce video quality.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="851"/>
+ <source>The default scaler provides good quality in the majority of situations. Higher quality scalers may offer some benefit when scaling very low resolution material but may not be as fast.</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Disabling will significantly reduce the load on the CPU when watching HD H.264 but may significantly reduce video quality.</source>
+- <translation type="vanished">Disabling will significantly reduce the load on the CPU when watching HD H.264 but may significantly reduce video quality.</translation>
+- </message>
+- <message>
+- <source>When unchecked the OSD will not fade away but instead will disappear abruptly.</source>
+- <translation type="vanished">When unchecked the OSD will not fade away but instead will disappear abruptly.</translation>
+- </message>
+- <message>
+- <source>Uncheck this if the video studders while the OSD is fading away.</source>
+- <translation type="vanished">Uncheck this if the video studders while the OSD is fading away.</translation>
++ <translation>The default scaler provides good quality in the majority of situations. Higher quality scalers may offer some benefit when scaling very low resolution material but may not be as fast.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="787"/>
+@@ -14657,7 +13846,7 @@ Are you sure you want to delete:</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="768"/>
+ <source>All formats</source>
+- <translation type="unfinished"></translation>
++ <translation>All Formats</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="783"/>
+@@ -14669,34 +13858,6 @@ Are you sure you want to delete:</translation>
+ <source>Video renderer</source>
+ <translation>Video Renderer</translation>
+ </message>
+- <message>
+- <source>OSD renderer</source>
+- <translation type="vanished">OSD Renderer</translation>
+- </message>
+- <message>
+- <source>OSD fade</source>
+- <translation type="vanished">OSD Fade</translation>
+- </message>
+- <message>
+- <source>Primary deinterlacer</source>
+- <translation type="vanished">Primary Deinterlacer</translation>
+- </message>
+- <message>
+- <source>Fallback deinterlacer</source>
+- <translation type="vanished">Fallback Deinterlacer</translation>
+- </message>
+- <message>
+- <source>Custom filters</source>
+- <translation type="vanished">Custom Filters</translation>
+- </message>
+- <message>
+- <source>Example custom filter list: &apos;ivtc,denoise3d&apos;</source>
+- <translation type="vanished">Example Custom Filter List: &apos;ivtc,denoise3d&apos;</translation>
+- </message>
+- <message>
+- <source>When unchecked the deblocking loopfilter will be disabled </source>
+- <translation type="vanished">When unchecked the deblocking loopfilter will be disabled.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1011"/>
+ <source>Invalid width specification(%1), discarded</source>
+@@ -14712,14 +13873,6 @@ Are you sure you want to delete:</translation>
+ <source>Invalid frame rate specification(%1), discarded</source>
+ <translation>Invalid Frame Rate Specification(%1), Discarded</translation>
+ </message>
+- <message>
+- <source>Main deinterlacing method. %1</source>
+- <translation type="vanished">Main Deinterlacing Method. %1</translation>
+- </message>
+- <message>
+- <source>Fallback deinterlacing method. %1</source>
+- <translation type="vanished">Fallback Deinterlacing Method. %1</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1167"/>
+ <source>Remove this profile item?</source>
+@@ -14729,19 +13882,19 @@ Are you sure you want to delete:</translation>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1213"/>
+ <source>Width</source>
+ <comment>video formats</comment>
+- <translation type="unfinished">Width</translation>
++ <translation>Width</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1216"/>
+ <source>Height</source>
+ <comment>video formats</comment>
+- <translation type="unfinished">Height</translation>
++ <translation>Height</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1219"/>
+ <source>Formats</source>
+ <comment>video formats</comment>
+- <translation type="unfinished"></translation>
++ <translation>Formats</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1228"/>
+@@ -14749,11 +13902,6 @@ Are you sure you want to delete:</translation>
+ <comment>and</comment>
+ <translation>&amp;</translation>
+ </message>
+- <message>
+- <source>formats</source>
+- <comment>video formats</comment>
+- <translation type="vanished">formats</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1222"/>
+ <source>framerate</source>
+@@ -14772,67 +13920,35 @@ Are you sure you want to delete:</translation>
+ <source>Increase this value if audio cuts out frequently. This is more likely to occur when adjusting audio sync to a negative value. If using high negative audio sync values you may need to set a large value here. Default is 100.</source>
+ <translation>Increase this value if audio cuts out frequently. This is more likely to occur when adjusting audio sync to a negative value. If using high negative audio sync values you may need to set a large value here. Default is 100.</translation>
+ </message>
+- <message>
+- <source>Enable new timestamp based playback speed (AVSync2)</source>
+- <translation type="vanished">Enable New Timestamp Based Playback Speed (AVSync2)</translation>
+- </message>
+- <message>
+- <source>Simplified timing and synchronization method. This may offer smoother video playback. Note there is a setting that can be used for fine tuning playback (press right arrow).</source>
+- <translation type="vanished">Simplified timing and synchronization method. This may offer smoother video playback. Note there is a setting that can be used for fine tuning playback (press right arrow).</translation>
+- </message>
+- <message>
+- <source>AVSync2 audio correction (ms)</source>
+- <translation type="vanished">AVSync2 Audio Correction (ms)</translation>
+- </message>
+- <message>
+- <source>When using AVSync2, if video playback is speeding up and slowing down every few seconds, reduce this value. For quicker recovery of audio sync after jumps, increase this value. Values can be from 1 to 40. Default is 10.</source>
+- <translation type="vanished">When using AVSync2, if video playback is speeding up and slowing down every few seconds, reduce this value. For quicker recovery of audio sync after jumps, increase this value. Values can be from 1 to 40. Default is 10.</translation>
+- </message>
+- <message>
+- <source>Extra stage of OpenGL Shading</source>
+- <translation type="vanished">Extra Stage of OpenGL Shading</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="79"/>
+ <source>Primary colourspace conversion</source>
+- <translation type="unfinished"></translation>
++ <translation>Primary Color Space Conversion</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="83"/>
+ <source>Converting between different primary colourspaces incurs a small performance penalty but in some situations the difference in output is negligible. The default (&apos;Auto&apos;) behaviour is to only enforce this conversion when there is a significant difference between source colourspace primaries and the display.</source>
+- <translation type="unfinished"></translation>
++ <translation>Converting between different primary color spaces incurs a small performance penalty but in some situations the difference in output is negligible. The default (&apos;Auto&apos;) behaviour is to only enforce this conversion when there is a significant difference between source color space primaries and the display.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="95"/>
+ <source>Enable Chroma Upsampling Filter when deinterlacing</source>
+- <translation type="unfinished"></translation>
++ <translation>Enable Chroma Upsampling Filter when Deinterlacing</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="96"/>
+ <source>The &apos;Chroma upsampling error&apos; affects the quality of interlaced material for the most common, standard video formats and results in jagged/indistinct edges to brightly coloured areas of video. This filter attempts to fix the problem in the OpenGL shaders. It adds a small amount of overhead to video rendering but may not be suitable in all cases. Enabled by default.</source>
+- <translation type="unfinished"></translation>
++ <translation>The &apos;Chroma upsampling error&apos; affects the quality of interlaced material for the most common, standard video formats and results in jagged or indistinct edges to brightly colored areas of video. This filter attempts to fix the problem in the OpenGL shaders. It adds a small amount of overhead to video rendering but may not be suitable in all cases. Enabled by default.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="138"/>
+ <source>Use FFmpeg&apos;s original MPEG-TS demuxer</source>
+ <translation>Use FFmpeg&apos;s Original MPEG-TS Demuxer</translation>
+ </message>
+- <message>
+- <source>Experimental: Enable this setting to use FFmpeg&apos;s native demuxer. Things will be broken.</source>
+- <translation type="vanished">Experimental: Enable this setting to use FFmpeg&apos;s native demuxer. Things will be broken.</translation>
+- </message>
+- <message>
+- <source>PIP video location</source>
+- <translation type="vanished">PIP Video Location</translation>
+- </message>
+- <message>
+- <source>Location of PIP Video window.</source>
+- <translation type="vanished">Location of PIP Video window.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="142"/>
+ <source>Experimental: Enable this setting to use FFmpeg&apos;s native demuxer. Try this when encountering playback issues.</source>
+- <translation type="unfinished"></translation>
++ <translation>Experimental: Enable this setting to use FFmpeg&apos;s native demuxer. Try this when encountering playback issues.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="152"/>
+@@ -14964,7 +14080,7 @@ Are you sure you want to delete:</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1377"/>
+ <source>Enter Playback Profile Name</source>
+- <translation>Enter Playback Profile name:</translation>
++ <translation>Enter Playback Profile Name:</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1402"/>
+@@ -15036,7 +14152,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1461"/>
+ <source>Selects how to sort a show&apos;s episodes</source>
+- <translation>Selects How to Sort a Show&apos;s Episodes</translation>
++ <translation>Selects how to sort a show&apos;s episodes.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1471"/>
+@@ -15066,7 +14182,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1608"/>
+ <source>Adjust this if the image does not fill your screen vertically. Range -100% to 100%</source>
+- <translation>Adjust this if the image does not fill your screen vertically. Range -100% to 100%</translation>
++ <translation>Adjust this if the image does not fill your screen vertically. Range is 100% to 100%.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1618"/>
+@@ -15076,7 +14192,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1622"/>
+ <source>Adjust this if the image does not fill your screen horizontally. Range -100% to 100%</source>
+- <translation>Adjust this if the image does not fill your screen horizontally. Range -100% to 100%</translation>
++ <translation>Adjust this if the image does not fill your screen horizontally. Range is 100% to 100%.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1632"/>
+@@ -15101,25 +14217,17 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1767"/>
+ <source>Clear last played position and exit</source>
+- <translation type="unfinished"></translation>
++ <translation>Clear Last Played Position and Exit</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1774"/>
+ <source>If set to prompt, a menu will be displayed when you exit playback mode. The options available will allow you delete the recording, continue watching, or exit.</source>
+- <translation type="unfinished"></translation>
++ <translation>If set to prompt, a menu will be displayed when you exit playback mode. The options available will allow you delete the recording, continue watching, or exit.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2183"/>
+ <source>If &apos;Side by Side&apos; or &apos;Top and Bottom&apos; 3D material is detected, enabling this setting will discard one field (enabled by default).</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Clear bookmark on playback</source>
+- <translation type="vanished">Clear Bookmark on Playback</translation>
+- </message>
+- <message>
+- <source>If enabled, automatically clear the bookmark on a recording when the recording is played back. If disabled, you can mark the beginning with rewind then save position.</source>
+- <translation type="vanished">If enabled, automatically clear the bookmark on a recording when the recording is played back. If disabled, you can mark the beginning with rewind then save position.</translation>
++ <translation>If &apos;Side by Side&apos; or &apos;Top and Bottom&apos; 3D material is detected, enabling this setting will discard one field (enabled by default).</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1747"/>
+@@ -15141,10 +14249,6 @@ name cannot be blank.</source>
+ <source>Just exit</source>
+ <translation>Exit Without Saving</translation>
+ </message>
+- <message>
+- <source>Save position and exit</source>
+- <translation type="vanished">Save and Exit</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1768"/>
+ <source>Always prompt (excluding Live TV)</source>
+@@ -15160,10 +14264,6 @@ name cannot be blank.</source>
+ <source>Prompt for Live TV only</source>
+ <translation>Prompt for Live TV Only</translation>
+ </message>
+- <message>
+- <source>If set to prompt, a menu will be displayed when you exit playback mode. The options available will allow you to save your position, delete the recording, or continue watching.</source>
+- <translation type="vanished">If set to prompt, a menu will be displayed when you exit playback mode. The options available will allow you to save your position, delete the recording, or continue watching.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1786"/>
+ <source>Prompt at end of recording</source>
+@@ -15192,7 +14292,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1821"/>
+ <source>Set the choice between viewing the current recording group in the OSD, or showing the &apos;Watch Recording&apos; screen when &apos;Jump to Program&apos; is activated. If enabled, the recordings are shown in the OSD</source>
+- <translation>Set the choice between viewing the current recording group in the OSD, or showing the &apos;Watch Recording&apos; screen when &apos;Jump to Program&apos; is activated. If enabled, the recordings are shown in the OSD</translation>
++ <translation>Set the choice between viewing the current recording group in the OSD, or showing the &apos;Watch Recording&apos; screen when &apos;Jump to Program&apos; is activated. If enabled, the recordings are shown in the OSD.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1834"/>
+@@ -15217,7 +14317,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1870"/>
+ <source>Live TV idle timeout (mins)</source>
+- <translation>Live TV Idle Timeout (mins)</translation>
++ <translation>Live TV Idle Timeout (Minutes)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1874"/>
+@@ -15232,11 +14332,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2170"/>
+ <source>By default MythTV uses black letterboxing to match broadcaster letterboxing, but those with plasma screens may prefer gray to minimize burn-in.</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>By default MythTV uses black letterboxing to match broadcaster letterboxing, but those with plasma screens may prefer gray to minimize burn-in. Currently only works with XVideo video renderer.</source>
+- <translation type="vanished">By default MythTV uses black letterboxing to match broadcaster letterboxing, but those with plasma screens may prefer gray to minimize burn-in. Currently only works with XVideo video renderer.</translation>
++ <translation>By default MythTV uses black letterboxing to match broadcaster letterboxing, but those with plasma screens may prefer gray to minimize burn-in.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2193"/>
+@@ -15281,7 +14377,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3471"/>
+ <source>By recording priority</source>
+- <translation>by Recording Priority</translation>
++ <translation>Recording Priority</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3474"/>
+@@ -15752,11 +14848,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="448"/>
+ <source>720p Resolution</source>
+- <translation>720p Resolution</translation>
+- </message>
+- <message>
+- <source>1080i/p Resolution</source>
+- <translation type="vanished">1080i/p Resolution</translation>
++ <translation>720p HD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="466"/>
+@@ -15908,12 +15000,12 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="302"/>
+ <source> not matched</source>
+- <translation></translation>
++ <translation> not matched</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="305"/>
+ <source> Query FAILED</source>
+- <translation></translation>
++ <translation> Query FAILED</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="307"/>
+@@ -15928,27 +15020,27 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="446"/>
+ <source>HEVC/H.265</source>
+- <translation type="unfinished"></translation>
++ <translation>HEVC/H.265</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="453"/>
+ <source>1080p Resolution</source>
+- <translation type="unfinished">720p Resolution {1080p?}</translation>
++ <translation>1080p HD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="455"/>
+ <source>4K Resolution</source>
+- <translation type="unfinished">720p Resolution {4K?}</translation>
++ <translation>4K UHD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="460"/>
+ <source>1080i Resolution</source>
+- <translation type="unfinished">720p Resolution {1080i?}</translation>
++ <translation>1080i HD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="462"/>
+ <source>4Ki Resolution</source>
+- <translation type="unfinished"></translation>
++ <translation>4Ki HD Resolution</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="776"/>
+@@ -15966,22 +15058,22 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="827"/>
+ <source>Auto-expire off</source>
+- <translation>Auto-expire Off</translation>
++ <translation>Auto-Expire Off</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="830"/>
+ <source>Marked as &apos;watched&apos;</source>
+- <translation>Marked as &apos;watched&apos;</translation>
++ <translation>Marked as Watched</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="833"/>
+ <source>Not the earliest episode</source>
+- <translation>Not the earliest episode</translation>
++ <translation>Not the Earliest Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="836"/>
+ <source>Recently deleted episode</source>
+- <translation>Recently deleted episode</translation>
++ <translation>Recently Deleted Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="845"/>
+@@ -16032,7 +15124,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="904"/>
+ <source>Unknown</source>
+- <translation type="unfinished">Unknown</translation>
++ <translation>Unknown</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="906"/>
+@@ -16047,12 +15139,12 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="908"/>
+ <source>Recorded ID</source>
+- <translation type="unfinished"></translation>
++ <translation>Recorded ID</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="909"/>
+ <source>Recorded Pathname</source>
+- <translation type="unfinished"></translation>
++ <translation>Recorded Pathname</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="910"/>
+@@ -16715,22 +15807,22 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../libs/libmythtv/channelinfo.cpp" line="510"/>
+ <source>Always Visible</source>
+- <translation type="unfinished"></translation>
++ <translation>Always Visible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelinfo.cpp" line="512"/>
+ <source>Visible</source>
+- <translation type="unfinished">Visible</translation>
++ <translation>Visible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelinfo.cpp" line="514"/>
+ <source>Not Visible</source>
+- <translation type="unfinished"></translation>
++ <translation>Not Visible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelinfo.cpp" line="516"/>
+ <source>Never Visible</source>
+- <translation type="unfinished"></translation>
++ <translation>Never Visible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/programinfo.cpp" line="3206"/>
+@@ -16897,17 +15989,17 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../libs/libmythbase/recordingtypes.cpp" line="368"/>
+ <source>Do not automatically extend recording</source>
+- <translation type="unfinished"></translation>
++ <translation>Do Not Automatically Extend Recording</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/recordingtypes.cpp" line="370"/>
+ <source>Automatically extend recording using ESPN</source>
+- <translation type="unfinished"></translation>
++ <translation>Automatically Extend Recording Using ESPN</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/recordingtypes.cpp" line="372"/>
+ <source>Automatically extend recording using MLB</source>
+- <translation type="unfinished"></translation>
++ <translation>Automatically Extend Recording Using MLB</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythbase/recordingtypes.cpp" line="32"/>
+@@ -17631,82 +16723,6 @@ name cannot be blank.</source>
+ <numerusform>(%n days)</numerusform>
+ </translation>
+ </message>
+- <message>
+- <source>Track</source>
+- <translation type="vanished">Track</translation>
+- </message>
+- <message>
+- <source>Audio track</source>
+- <translation type="vanished">Audio Track</translation>
+- </message>
+- <message>
+- <source>Video track</source>
+- <translation type="vanished">Video Track</translation>
+- </message>
+- <message>
+- <source>Subtitle track</source>
+- <translation type="vanished">Subtitle Track</translation>
+- </message>
+- <message>
+- <source>CC</source>
+- <comment>EIA-608 closed captions</comment>
+- <translation type="vanished">CC</translation>
+- </message>
+- <message>
+- <source>ATSC CC</source>
+- <comment>EIA-708 closed captions</comment>
+- <translation type="vanished">ATSC CC</translation>
+- </message>
+- <message>
+- <source>TT CC</source>
+- <comment>Teletext closed captions</comment>
+- <translation type="vanished">TT CC</translation>
+- </message>
+- <message>
+- <source>TT Menu</source>
+- <comment>Teletext Menu</comment>
+- <translation type="vanished">TT Menu</translation>
+- </message>
+- <message>
+- <source>Text</source>
+- <comment>Text stream</comment>
+- <translation type="vanished">Text</translation>
+- </message>
+- <message>
+- <source>TXT File</source>
+- <comment>Text File</comment>
+- <translation type="vanished">TXT File</translation>
+- </message>
+- <message>
+- <source>Audio Description</source>
+- <comment>On-screen events described for the visually impaired</comment>
+- <translation type="vanished">Audio Description</translation>
+- </message>
+- <message>
+- <source>Clean Effects</source>
+- <comment>No dialog, background audio only</comment>
+- <translation type="vanished">Clean Effects</translation>
+- </message>
+- <message>
+- <source>Hearing Impaired</source>
+- <comment>Clear dialog for the hearing impaired</comment>
+- <translation type="vanished">Hearing Impaired</translation>
+- </message>
+- <message>
+- <source>Spoken Subtitles</source>
+- <comment>Subtitles are read out for the visually impaired</comment>
+- <translation type="vanished">Spoken Subtitles</translation>
+- </message>
+- <message>
+- <source>Commentary</source>
+- <comment>Director/Cast commentary track</comment>
+- <translation type="vanished">Commentary</translation>
+- </message>
+- <message>
+- <source>Normal</source>
+- <comment>Ordinary audio track</comment>
+- <translation type="vanished">Normal</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="360"/>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="609"/>
+@@ -17732,10 +16748,6 @@ name cannot be blank.</source>
+ <source>Port</source>
+ <translation>Port</translation>
+ </message>
+- <message>
+- <source>Password</source>
+- <translation type="vanished">Password</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="430"/>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="451"/>
+@@ -17831,10 +16843,6 @@ name cannot be blank.</source>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+- <message>
+- <source>Cancel</source>
+- <translation type="vanished">Cancel</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythbase/programinfo.cpp" line="1752"/>
+ <location filename="../libs/libmythbase/programinfo.cpp" line="1756"/>
+@@ -17853,22 +16861,6 @@ name cannot be blank.</source>
+ <source>Subtitle</source>
+ <translation>Subtitle</translation>
+ </message>
+- <message>
+- <source>Video Decode Error</source>
+- <translation type="vanished">Video Decode Error</translation>
+- </message>
+- <message>
+- <source> (forced)</source>
+- <translation type="vanished"> (forced)</translation>
+- </message>
+- <message>
+- <source>Input %1:%2</source>
+- <translation type="vanished">Input %1:%2</translation>
+- </message>
+- <message>
+- <source>Could not query inputs.</source>
+- <translation type="vanished">Could not query inputs.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/cardutil.cpp" line="2433"/>
+ <source>ERROR, Compile with V4L support to query inputs</source>
+@@ -17947,14 +16939,10 @@ name cannot be blank.</source>
+ <source>Failed to add channel %1</source>
+ <translation>Failed to Add Channel %1</translation>
+ </message>
+- <message>
+- <source>%1 -- Testing decryption of program %2</source>
+- <translation type="vanished">%1 -- Testing Decryption of Program %2</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="683"/>
+ <source>Program %1 Testing Decryption</source>
+- <translation type="unfinished"></translation>
++ <translation>Program %1 Testing Decryption</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="1012"/>
+@@ -18015,18 +17003,11 @@ name cannot be blank.</source>
+ <message numerus="yes">
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2240"/>
+ <source>Found %n</source>
+- <translation type="unfinished">
+- <numerusform></numerusform>
++ <translation>
++ <numerusform>Found %n</numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+- <message numerus="yes">
+- <source>: Found %n</source>
+- <translation type="vanished">
+- <numerusform>: Found %n</numerusform>
+- <numerusform>: Found %n</numerusform>
+- </translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2511"/>
+ <source>Frequency %1</source>
+@@ -18144,7 +17125,7 @@ name cannot be blank.</source>
+ <location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="75"/>
+ <location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="90"/>
+ <source>Netherlands</source>
+- <translation type="unfinished"></translation>
++ <translation>Netherlands</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="78"/>
+@@ -18234,11 +17215,6 @@ name cannot be blank.</source>
+ <source>Analog</source>
+ <translation>Analog</translation>
+ </message>
+- <message>
+- <source>Page Not Available</source>
+- <comment>Requested Teletext page not available</comment>
+- <translation type="vanished">Page Not Available</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/playercontext.cpp" line="427"/>
+ <source>Play</source>
+@@ -18247,12 +17223,12 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../libs/libmythtv/playercontext.cpp" line="430"/>
+ <source>Rewind</source>
+- <translation type="unfinished">Rewind</translation>
++ <translation>Rewind</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/playercontext.cpp" line="435"/>
+ <source>Forward</source>
+- <translation type="unfinished">Forward</translation>
++ <translation>Forward</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/profilegroup.h" line="63"/>
+@@ -18427,7 +17403,7 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../libs/libmythtv/recordingprofile.cpp" line="734"/>
+ <source>If set, the MPEG4 encoder will use &apos;4MV&apos; motion-vector encoding. This requires much more processing, but can result in better video. It is highly recommended that the HQ option is enabled if 4MV is enabled.</source>
+- <translation>If set, the MPEG4 encoder will use &apos;4MV&apos; motion-vector encoding. This requires much more processing, but can result in better video. It is highly recommended that the HQ option is enabled if 4MV is enabled.</translation>
++ <translation>If set, the MPEG-4 encoder will use &apos;4MV&apos; motion-vector encoding. This requires much more processing, but can result in better video. It is highly recommended that the HQ option is enabled if 4MV is enabled.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/recordingprofile.cpp" line="750"/>
+@@ -18487,17 +17463,17 @@ name cannot be blank.</source>
+ <message>
+ <location filename="../libs/libmythtv/recordingprofile.cpp" line="687"/>
+ <source>If set, the MPEG4 encoder will use interlaced DCT encoding. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</source>
+- <translation>If set, the MPEG4 encoder will use interlaced DCT encoding. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</translation>
++ <translation>If set, the MPEG-4 encoder will use interlaced DCT encoding. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/recordingprofile.cpp" line="703"/>
+ <source>If set, the MPEG4 encoder will use interlaced motion estimation. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</source>
+- <translation>If set, the MPEG4 encoder will use interlaced motion estimation. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</translation>
++ <translation>If set, the MPEG-4 encoder will use interlaced motion estimation. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/recordingprofile.cpp" line="719"/>
+ <source>If set, the MPEG4 encoder will use &apos;high-quality&apos; encoding options. This requires much more processing, but can result in better video.</source>
+- <translation>If set, the MPEG4 encoder will use &apos;high-quality&apos; encoding options. This requires much more processing, but can result in better video.</translation>
++ <translation>If set, the MPEG-4 encoder will use &apos;high-quality&apos; encoding options. This requires much more processing, but can result in better video.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/recordingprofile.cpp" line="772"/>
+@@ -18753,28 +17729,20 @@ name cannot be blank.</source>
+ <source>Default (Template)</source>
+ <translation>Default (Template)</translation>
+ </message>
+- <message>
+- <source>Sorry, the Transport Editor can only be used to edit transports which are connected to a card input.</source>
+- <translation type="vanished">Sorry, the Transport Editor can only be used to edit transports which are connected to a card input.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="134"/>
+ <source>Failed to probe a capture card connected to this transport&apos;s video source. Please make sure the backend is not running.</source>
+ <translation>Failed to probe a capture card connected to this transport&apos;s video source. Please make sure the backend is not running.</translation>
+ </message>
+- <message>
+- <source>The Video Sources to which this Transport is connected are incompatible, please create separate video sources for these cards. </source>
+- <translation type="vanished">The Video Sources to which this Transport is connected are incompatible, please create separate video sources for these cards. </translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="97"/>
+ <source>Sorry, the Transport Editor can only edit transports of a video source that is connected to a capture card.</source>
+- <translation type="unfinished"></translation>
++ <translation>Sorry, the Transport Editor can only edit transports of a video source that is connected to a capture card.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="170"/>
+ <source>The capture cards connected to this transport&apos;s video source are incompatible. Please create separate video sources per capture card type.</source>
+- <translation type="unfinished"></translation>
++ <translation>The capture cards connected to this transport&apos;s video source are incompatible. Please create separate video sources per capture card type.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="448"/>
+@@ -18810,65 +17778,60 @@ name cannot be blank.</source>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="474"/>
+ <source>Frequency (Option has no default).
+ The frequency for this transport (multiplex) in</source>
+- <translation type="unfinished"></translation>
++ <translation>Frequency (option has no default).
++The frequency for this transport (multiplex) in</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="635"/>
+ <source>Bandwidth for DVB-T2 (Default: Auto)</source>
+- <translation type="unfinished"></translation>
++ <translation>Bandwidth for DVB-T2 (Default: Auto)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="637"/>
+ <source>5 MHz</source>
+- <translation type="unfinished">8 MHz {5 ?}</translation>
++ <translation>5 MHz</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="713"/>
+ <source>Guard Interval for DVB-T (Default: Auto)</source>
+- <translation type="unfinished"></translation>
++ <translation>Guard Interval for DVB-T (Default: Auto)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="729"/>
+ <source>Guard Interval for DVB-T2 (Default: Auto)</source>
+- <translation type="unfinished"></translation>
++ <translation>Guard Interval for DVB-T2 (Default: Auto)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="747"/>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="764"/>
+ <source>Transmission Mode</source>
+- <translation type="unfinished"></translation>
++ <translation>Transmission Mode</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="748"/>
+ <source>Transmission Mode for DVB-T (Default: Auto)</source>
+- <translation type="unfinished"></translation>
++ <translation>Transmission Mode for DVB-T (Default: Auto)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="765"/>
+ <source>Transmission Mode for DVB-T2 (Default: Auto)</source>
+- <translation type="unfinished"></translation>
++ <translation>Transmission Mode for DVB-T2 (Default: Auto)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="799"/>
+ <source>Modulation System (Default: DVB-T2)</source>
+- <translation type="unfinished"></translation>
++ <translation>Modulation System (Default: DVB-T2)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="812"/>
+ <source>Modulation System (Default: DVB-S2)</source>
+- <translation type="unfinished"></translation>
++ <translation>Modulation System (Default: DVB-S2)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="502"/>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="825"/>
+ <source>Modulation System (Default: DVB-C/A)</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Frequency (Option has no default).
+-The frequency for this channel in</source>
+- <translation type="vanished">Frequency (Option has no default).
+-The frequency for this channel in</translation>
++ <translation>Modulation System (Default: DVB-C/A)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="488"/>
+@@ -18887,30 +17850,6 @@ Most DVB-S transponders transmit at 27.5 million symbols per second.</translatio
+ <source>Modulation System</source>
+ <translation>Modulation System</translation>
+ </message>
+- <message>
+- <source>Modulation System (Default: DVB-T)</source>
+- <translation type="vanished">Modulation System (Default: DVB-T)</translation>
+- </message>
+- <message>
+- <source>DVB-T</source>
+- <translation type="vanished">DVB-T</translation>
+- </message>
+- <message>
+- <source>DVB-T2</source>
+- <translation type="vanished">DVB-T2</translation>
+- </message>
+- <message>
+- <source>Modulation System (Default: DVB-S)</source>
+- <translation type="vanished">Modulation System (Default: DVB-S)</translation>
+- </message>
+- <message>
+- <source>DVB-S</source>
+- <translation type="vanished">DVB-S</translation>
+- </message>
+- <message>
+- <source>DVB-S2</source>
+- <translation type="vanished">DVB-S2</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="295"/>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="319"/>
+@@ -19049,42 +17988,38 @@ Most cards can autodetect this now, so leave it at Auto unless it won&apos;t wor
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="128"/>
+ <source>Logical Channel Numbers required</source>
+- <translation type="unfinished"></translation>
++ <translation>Logical Channel Numbers Required</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="130"/>
+ <source>If set, only services with a Logical Channel Number will be added during the scan. This will filter out services for set-top-box firmware download and video-on-demand that can be present on DVB-C networks.</source>
+- <translation type="unfinished"></translation>
++ <translation>If set, only services with a Logical Channel Number will be added during the scan. This will filter out services for set-top-box firmware download and video-on-demand that can be present on DVB-C networks.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="144"/>
+ <source>Complete scan data required</source>
+- <translation type="unfinished"></translation>
++ <translation>Complete Scan Data Required</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="146"/>
+ <source>If set, only services that are present in the PAT, the PMT and the SDT and that have a name will be added during the scan. On satellites there are many incomplete channels, such as feeds and offline channels, that are not useful in a MythTV system. These are filtered out by this option.</source>
+- <translation type="unfinished"></translation>
++ <translation>If set, only services that are present in the PAT, the PMT and the SDT and that have a name will be added during the scan. On satellites there are many incomplete channels, such as feeds and offline channels, that are not useful in a MythTV system. These are filtered out by this option.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="162"/>
+ <source>Full search for old channels</source>
+- <translation type="unfinished"></translation>
++ <translation>Full Search for Old Channels</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="164"/>
+ <source>If set, compare all channels in the database with the channels found in the scan; otherwise only the channels in the same transport are compared. This option is useful when you want to keep channel data such as the xmltvid and the icon path when doing a rescan after channels have been rearranged across transports.</source>
+- <translation type="unfinished"></translation>
++ <translation>If set, compare all channels in the database with the channels found in the scan; otherwise only the channels in the same transport are compared. This option is useful when you want to keep channel data such as the xmltvid and the icon path when doing a rescan after channels have been rearranged across transports.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="195"/>
+ <source>Add full Transport Stream channels</source>
+ <translation>Add Full Transport Stream Channels</translation>
+ </message>
+- <message>
+- <source>If set, Create MPTS channels, which allow recording of the full, unaltered, transport stream.</source>
+- <translation type="vanished">If set, Create MPTS channels, which allow recording of the full, unaltered, transport stream.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="209"/>
+ <source>Test Decryptability</source>
+@@ -19095,24 +18030,6 @@ Most cards can autodetect this now, so leave it at Auto unless it won&apos;t wor
+ <source>Test all channels to see if they can be decrypted with installed CAM/smartcard. Sometimes the encrypted flag is set spuriously. Attention: Enabling this option increases the scan time for each encrypted channel by a couple of seconds.</source>
+ <translation>Test all channels to see if they can be decrypted with installed CAM/smartcard. Sometimes the encrypted flag is set spuriously. Attention: Enabling this option increases the scan time for each encrypted channel by a couple of seconds.</translation>
+ </message>
+- <message>
+- <source>Frequency (Option has no default)
+-The frequency for this channel in kHz.</source>
+- <translation type="vanished">Frequency (Option has no default)
+-The frequency for this channel in kHz.</translation>
+- </message>
+- <message>
+- <source>Frequency (Option has no default)
+-The frequency for this channel in Hz.</source>
+- <translation type="vanished">Frequency (Option has no default)
+-The frequency for this channel in Hz.</translation>
+- </message>
+- <message>
+- <source>Symbol Rate (symbols/second).
+-Most DVB-S transponders transmit at 27.5 million symbols per second.</source>
+- <translation type="vanished">Symbol Rate (symbols/second).
+-Most DVB-S transponders transmit at 27.5 million symbols per second.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="513"/>
+ <source>Symbol Rate (symbols/second).
+@@ -19163,51 +18080,55 @@ Most DVB-C transports transmit at 6.9 or 6.875 million symbols per second.</tran
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="179"/>
+ <source>Remove duplicates</source>
+- <translation type="unfinished"></translation>
++ <translation>Remove Duplicates</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="181"/>
+ <source>If set, select the transport stream multiplex with the best signal when identical transports are received on different frequencies. This option is useful for DVB-T2 and ATSC/OTA when a transport can sometimes be received from different transmitters.</source>
+- <translation type="unfinished"></translation>
++ <translation>If set, select the transport stream multiplex with the best signal when identical transports are received on different frequencies. This option is useful for DVB-T2 and ATSC/OTA when a transport can sometimes be received from different transmitters.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="197"/>
+ <source>If set, create MPTS channels, which allow recording of the full, unaltered, transport stream.</source>
+- <translation type="unfinished"></translation>
++ <translation>If set, create MPTS channels, which allow recording of the full, unaltered, transport stream.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="226"/>
+ <source>Satellite tuning data</source>
+- <translation type="unfinished"></translation>
++ <translation>Satellite Tuning Data</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="228"/>
+ <source>Select a satellite from this list for the tuning data of the reference transponder.</source>
+- <translation type="unfinished"></translation>
++ <translation>Select a satellite from this list for the tuning data of the reference transponder.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="274"/>
+ <source>Frequency (Option has no default)
+ The frequency for this transport (multiplex) in kHz.</source>
+- <translation type="unfinished"></translation>
++ <translation>Frequency (option has no default)
++The frequency for this transport (multiplex) in kHz.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="285"/>
+ <source>Frequency (Option has no default)
+ The frequency for this transport (multiplex) in Hz.</source>
+- <translation type="unfinished"></translation>
++ <translation>Frequency (option has no default)
++The frequency for this transport (multiplex) in Hz.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="297"/>
+ <source>Symbol Rate (symbols/second).
+ Most DVB-S transponders transmit at 27500000 symbols per second.</source>
+- <translation type="unfinished"></translation>
++ <translation>Symbol Rate (symbols/second).
++Most DVB-S transponders transmit at 27500000 symbols per second.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="321"/>
+ <source>Symbol Rate (symbols/second).
+ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source>
+- <translation type="unfinished"></translation>
++ <translation>Symbol Rate (symbols/second).
++Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="403"/>
+@@ -19282,24 +18203,12 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="478"/>
+ <source>Modulation system (Default: DVB-S2)</source>
+- <translation type="unfinished"></translation>
++ <translation>Modulation System (Default: DVB-S2)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="490"/>
+ <source>Modulation system (Default: DVB-T2)</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Mod Sys</source>
+- <translation type="vanished">Mod Sys</translation>
+- </message>
+- <message>
+- <source>Modulation system (Default: DVB-S)</source>
+- <translation type="vanished">Modulation System (Default: DVB-S)</translation>
+- </message>
+- <message>
+- <source>Modulation system (Default: DVB-T)</source>
+- <translation type="vanished">Modulation System (Default: DVB-T)</translation>
++ <translation>Modulation System (Default: DVB-T2)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="514"/>
+@@ -19359,410 +18268,11 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <source>Error querying recorder state</source>
+ <translation>Error Querying Recorder State</translation>
+ </message>
+- <message>
+- <source>Standard</source>
+- <translation type="vanished">Standard</translation>
+- </message>
+- <message>
+- <source>Mac hardware acceleration</source>
+- <translation type="vanished">Mac Hardware Acceleration</translation>
+- </message>
+- <message>
+- <source>NVidia VDPAU acceleration</source>
+- <translation type="vanished">NVidia VDPAU Acceleration</translation>
+- </message>
+- <message>
+- <source>Standard will use ffmpeg library.</source>
+- <translation type="vanished">Standard will use ffmpeg library.</translation>
+- </message>
+- <message>
+- <source>Mac hardware will try to use the graphics processor - this may hang or crash your Mac!</source>
+- <translation type="vanished">Mac hardware will try to use the graphics processor - this may hang or crash your Mac!</translation>
+- </message>
+- <message>
+- <source>VDPAU will attempt to use the graphics hardware to accelerate video decoding and playback.</source>
+- <translation type="vanished">VDPAU will attempt to use the graphics hardware to accelerate video decoding and playback.</translation>
+- </message>
+- <message>
+- <source>VAAPI will attempt to use the graphics hardware to accelerate video decoding. REQUIRES OPENGL PAINTER.</source>
+- <translation type="vanished">VAAPI will attempt to use the graphics hardware to accelerate video decoding. REQUIRES OPENGL PAINTER.</translation>
+- </message>
+- <message>
+- <source>Linear blend</source>
+- <translation type="vanished">Linear Blend</translation>
+- </message>
+- <message>
+- <source>Kernel</source>
+- <translation type="vanished">Kernel</translation>
+- </message>
+- <message>
+- <source>Kernel (2x)</source>
+- <translation type="vanished">Kernel (2x)</translation>
+- </message>
+- <message>
+- <source>Greedy HighMotion</source>
+- <translation type="vanished">Greedy HighMotion</translation>
+- </message>
+- <message>
+- <source>Greedy HighMotion (2x)</source>
+- <translation type="vanished">Greedy HighMotion (2x)</translation>
+- </message>
+- <message>
+- <source>Yadif</source>
+- <translation type="vanished">Yadif</translation>
+- </message>
+- <message>
+- <source>Yadif (2x)</source>
+- <translation type="vanished">Yadif (2x)</translation>
+- </message>
+- <message>
+- <source>Bob (2x)</source>
+- <translation type="vanished">Bob (2x)</translation>
+- </message>
+- <message>
+- <source>One field</source>
+- <translation type="vanished">One Field</translation>
+- </message>
+- <message>
+- <source>Interlaced (2x)</source>
+- <translation type="vanished">Interlaced (2x)</translation>
+- </message>
+- <message>
+- <source>Bob (2x, HW)</source>
+- <translation type="vanished">Bob (2x, HW)</translation>
+- </message>
+- <message>
+- <source>This deinterlacer attempts to synchronize with interlaced displays whose size and refresh rate exactly match the video source. It has low CPU requirements.</source>
+- <translation type="vanished">This deinterlacer attempts to synchronize with interlaced displays whose size and refresh rate exactly match the video source. It has low CPU requirements.</translation>
+- </message>
+- <message>
+- <source>High Quality</source>
+- <comment>Sample: high quality</comment>
+- <translation type="vanished">High Quality</translation>
+- </message>
+- <message>
+- <source>Normal</source>
+- <comment>Sample: average quality</comment>
+- <translation type="vanished">Normal</translation>
+- </message>
+- <message>
+- <source>Slim</source>
+- <comment>Sample: low CPU usage</comment>
+- <translation type="vanished">Slim</translation>
+- </message>
+- <message>
+- <source>VDPAU High Quality</source>
+- <comment>Sample: VDPAU high quality</comment>
+- <translation type="vanished">VDPAU High Quality</translation>
+- </message>
+- <message>
+- <source>VDPAU Normal</source>
+- <comment>Sample: VDPAU average quality</comment>
+- <translation type="vanished">VDPAU Normal</translation>
+- </message>
+- <message>
+- <source>VDPAU Slim</source>
+- <comment>Sample: VDPAU low power GPU</comment>
+- <translation type="vanished">VDPAU Slim</translation>
+- </message>
+- <message>
+- <source>MediaCodec Normal</source>
+- <comment>Sample: MediaCodec Normal</comment>
+- <translation type="vanished">MediaCodec Normal</translation>
+- </message>
+- <message>
+- <source>VAAPI2 Normal</source>
+- <comment>Sample: VAAPI2 Normal</comment>
+- <translation type="vanished">VAAPI2 Normal</translation>
+- </message>
+- <message>
+- <source>Video rendering method</source>
+- <translation type="vanished">Video Rendering Method</translation>
+- </message>
+- <message>
+- <source>Render video offscreen. Used internally.</source>
+- <translation type="vanished">Render video offscreen. Used internally.</translation>
+- </message>
+- <message>
+- <source>Use X11 pixel copy to render video. This is not recommended if any other option is available. The video will not be scaled to fit the screen. This will work with all X11 servers, local and remote.</source>
+- <translation type="vanished">Use X11 pixel copy to render video. This is not recommended if any other option is available. The video will not be scaled to fit the screen. This will work with all X11 servers, local and remote.</translation>
+- </message>
+- <message>
+- <source>Use X11 shared memory pixel transfer to render video. This is only recommended over the X11 pixel copy renderer. The video will not be scaled to fit the screen. This works with most local X11 servers.</source>
+- <translation type="vanished">Use X11 shared memory pixel transfer to render video. This is only recommended over the X11 pixel copy renderer. The video will not be scaled to fit the screen. This works with most local X11 servers.</translation>
+- </message>
+- <message>
+- <source>This is the standard video renderer for X11 systems. It uses XVideo hardware assist for scaling, color conversion. If the hardware offers picture controls the renderer supports them.</source>
+- <translation type="vanished">This is the standard video renderer for X11 systems. It uses XVideo hardware assist for scaling, color conversion. If the hardware offers picture controls the renderer supports them.</translation>
+- </message>
+- <message>
+- <source>Windows video renderer based on Direct3D. Requires video card compatible with Direct3D 9. This is the preferred renderer for current Windows systems.</source>
+- <translation type="vanished">Windows video renderer based on Direct3D. Requires video card compatible with Direct3D 9. This is the preferred renderer for current Windows systems.</translation>
+- </message>
+- <message>
+- <source>VAAPI acceleration</source>
+- <translation type="vanished">VAAPI Acceleration</translation>
+- </message>
+- <message>
+- <source>Windows hardware acceleration</source>
+- <translation type="vanished">Windows Hardware Acceleration</translation>
+- </message>
+- <message>
+- <source>OpenGL Normal</source>
+- <comment>Sample: OpenGL medium quality</comment>
+- <translation type="obsolete">OpenGL Normal</translation>
+- </message>
+- <message>
+- <source>VDPAU Normal</source>
+- <comment>Sample: VDPAU medium quality</comment>
+- <translation type="obsolete">VDPAU Normal</translation>
+- </message>
+- <message>
+- <source>Mac VDA hardware acceleration</source>
+- <translation type="vanished">Mac VDA Hardware Acceleration</translation>
+- </message>
+- <message>
+- <source>Android MediaCodec decoder</source>
+- <translation type="vanished">Android MediaCodec Decoder</translation>
+- </message>
+- <message>
+- <source>VAAPI2 acceleration</source>
+- <translation type="vanished">VAAPI2 Acceleration</translation>
+- </message>
+- <message>
+- <source>Processing method used to decode video.</source>
+- <translation type="vanished">Processing method used to decode video.</translation>
+- </message>
+- <message>
+- <source>DXVA2 will use the graphics hardware to accelerate video decoding and playback (requires Windows Vista or later).</source>
+- <translation type="vanished">DXVA2 will use the graphics hardware to accelerate video decoding and playback (requires Windows Vista or later).</translation>
+- </message>
+- <message>
+- <source>VDA will attempt to use the graphics hardware to accelerate video decoding. (H264 only, requires Mac OS 10.6.3)</source>
+- <translation type="vanished">VDA will attempt to use the graphics hardware to accelerate video decoding. (H264 only, requires Mac OS 10.6.3)</translation>
+- </message>
+- <message>
+- <source>Openmax will use the graphics hardware to accelerate video decoding on Raspberry Pi. </source>
+- <translation type="vanished">Openmax will use the graphics hardware to accelerate video decoding on Raspberry Pi. </translation>
+- </message>
+- <message>
+- <source>Mediacodec will use the graphics hardware to accelerate video decoding on Android. </source>
+- <translation type="vanished">Mediacodec will use the graphics hardware to accelerate video decoding on Android.</translation>
+- </message>
+- <message>
+- <source>VAAPI2 is a new implementation of VAAPI to will use the graphics hardware to accelerate video decoding on Intel CPUs. </source>
+- <translation type="vanished">VAAPI2 is a new implementation of VAAPI to will use the graphics hardware to accelerate video decoding on Intel CPUs.</translation>
+- </message>
+- <message>
+- <source>Linear blend (HW-GL)</source>
+- <translation type="vanished">Linear Blend (HW-GL)</translation>
+- </message>
+- <message>
+- <source>One field (HW-GL)</source>
+- <translation type="vanished">One Field (HW-GL)</translation>
+- </message>
+- <message>
+- <source>Linear blend (2x, HW-GL)</source>
+- <translation type="vanished">Linear Blend (2x, HW-GL)</translation>
+- </message>
+- <message>
+- <source>One Field (1x, HW)</source>
+- <translation type="vanished">One Field (1x, HW)</translation>
+- </message>
+- <message>
+- <source>Temporal (1x, HW)</source>
+- <translation type="vanished">Temporal (1x, HW)</translation>
+- </message>
+- <message>
+- <source>Temporal (2x, HW)</source>
+- <translation type="vanished">Temporal (2x, HW)</translation>
+- </message>
+- <message>
+- <source>Advanced (1x, HW)</source>
+- <translation type="vanished">Advanced (1x, HW)</translation>
+- </message>
+- <message>
+- <source>Advanced (2x, HW)</source>
+- <translation type="vanished">Advanced (2x, HW)</translation>
+- </message>
+- <message>
+- <source>Advanced (HW)</source>
+- <translation type="vanished">Advanced (HW)</translation>
+- </message>
+- <message>
+- <source>Fast (HW)</source>
+- <translation type="vanished">Fast (HW)</translation>
+- </message>
+- <message>
+- <source>Line double (HW)</source>
+- <translation type="vanished">Line Double (HW)</translation>
+- </message>
+- <message>
+- <source>VDA High Quality</source>
+- <comment>Sample: VDA high quality</comment>
+- <translation type="vanished">VDA High Quality</translation>
+- </message>
+- <message>
+- <source>VDA Normal</source>
+- <comment>Sample: VDA average quality</comment>
+- <translation type="vanished">VDA Normal</translation>
+- </message>
+- <message>
+- <source>VDA Slim</source>
+- <comment>Sample: VDA low power GPU</comment>
+- <translation type="vanished">VDA Slim</translation>
+- </message>
+- <message>
+- <source>OpenGL High Quality</source>
+- <comment>Sample: OpenGL high quality</comment>
+- <translation type="vanished">OpenGL High Quality</translation>
+- </message>
+- <message>
+- <source>OpenGL Normal</source>
+- <comment>Sample: OpenGL average quality</comment>
+- <translation type="vanished">OpenGL Normal</translation>
+- </message>
+- <message>
+- <source>OpenGL Slim</source>
+- <comment>Sample: OpenGL low power GPU</comment>
+- <translation type="vanished">OpenGL Slim</translation>
+- </message>
+- <message>
+- <source>VAAPI Normal</source>
+- <comment>Sample: VAAPI average quality</comment>
+- <translation type="vanished">VAAPI Normal</translation>
+- </message>
+- <message>
+- <source>OpenMAX High Quality</source>
+- <comment>Sample: OpenMAX High Quality</comment>
+- <translation type="vanished">OpenMAX High Quality</translation>
+- </message>
+- <message>
+- <source>OpenMAX Normal</source>
+- <comment>Sample: OpenMAX Normal</comment>
+- <translation type="vanished">OpenMAX Normal</translation>
+- </message>
+- <message>
+- <source>Video is converted to an intermediate format by the CPU (UYVY) before OpenGL is used for color conversion, scaling, picture controls and optionally deinterlacing. Processing is balanced between the CPUand GPU.</source>
+- <translation type="vanished">Video is converted to an intermediate format by the CPU (UYVY) before OpenGL is used for color conversion, scaling, picture controls and optionally deinterlacing. Processing is balanced between the CPU and GPU.</translation>
+- </message>
+- <message>
+- <source>This is the only video renderer for NVidia VDPAU decoding.</source>
+- <translation type="vanished">This is the only video renderer for NVidia VDPAU decoding.</translation>
+- </message>
+- <message>
+- <source>This video renderer uses VAAPI for video decoding and OpenGL for scaling and color conversion.</source>
+- <translation type="vanished">This video renderer uses VAAPI for video decoding and OpenGL for scaling and color conversion.</translation>
+- </message>
+- <message>
+- <source>This deinterlacer requires the display to be capable of twice the frame rate as the source video.</source>
+- <translation type="vanished">This deinterlacer requires the display to be capable of twice the frame rate as the source video.</translation>
+- </message>
+- <message>
+- <source>Perform no deinterlacing.</source>
+- <translation type="vanished">Perform no deinterlacing.</translation>
+- </message>
+- <message>
+- <source>Use this with an interlaced display whose resolution exactly matches the video size. This is incompatible with MythTV zoom modes.</source>
+- <translation type="vanished">Use this with an interlaced display whose resolution exactly matches the video size. This is incompatible with MythTV zoom modes.</translation>
+- </message>
+- <message>
+- <source>Shows only one of the two fields in the frame. This looks good when displaying a high motion 1080i video on a 720p display.</source>
+- <translation type="vanished">Shows only one of the two fields in the frame. This looks good when displaying a high motion 1080i video on a 720p display.</translation>
+- </message>
+- <message>
+- <source>Shows one field of the frame followed by the other field displaced vertically.</source>
+- <translation type="vanished">Shows one field of the frame followed by the other field displaced vertically.</translation>
+- </message>
+- <message>
+- <source>Blends the odd and even fields linearly into one frame.</source>
+- <translation type="vanished">Blends the odd and even fields linearly into one frame.</translation>
+- </message>
+- <message>
+- <source>This filter disables deinterlacing when the two fields are similar, and performs linear deinterlacing otherwise.</source>
+- <translation type="vanished">This filter disables deinterlacing when the two fields are similar, and performs linear deinterlacing otherwise.</translation>
+- </message>
+- <message>
+- <source>(Hardware Accelerated)</source>
+- <translation type="vanished">(Hardware Accelerated)</translation>
+- </message>
+- <message>
+- <source>This deinterlacer uses several fields to reduce motion blur. It has increased CPU requirements.</source>
+- <translation type="vanished">This deinterlacer uses several fields to reduce motion blur. It has increased CPU requirements.</translation>
+- </message>
+- <message>
+- <source>This deinterlacer uses several fields to reduce motion blur. </source>
+- <translation type="vanished">This deinterlacer uses several fields to reduce motion blur. </translation>
+- </message>
+- <message>
+- <source>This deinterlacer uses multiple fields to reduce motion blur and smooth edges. </source>
+- <translation type="vanished">This deinterlacer uses multiple fields to reduce motion blur and smooth edges. </translation>
+- </message>
+- <message>
+- <source>Use the most advanced hardware deinterlacing algorithm available. </source>
+- <translation type="vanished">Use the most advanced hardware deinterlacing algorithm available.</translation>
+- </message>
+- <message>
+- <source>Use the weave deinterlacing algorithm. </source>
+- <translation type="vanished">Use the weave deinterlacing algorithm.</translation>
+- </message>
+- <message>
+- <source>Use the motion adaptive deinterlacing algorithm. </source>
+- <translation type="vanished">Use the motion adaptive deinterlacing algorithm.</translation>
+- </message>
+- <message>
+- <source>Use the motion compensated deinterlacing algorithm. </source>
+- <translation type="vanished">Use the motion compensated deinterlacing algorithm.</translation>
+- </message>
+- <message>
+- <source>&apos;%1&apos; has not been documented yet.</source>
+- <translation type="vanished">&apos;%1&apos; has not been documented yet.</translation>
+- </message>
+- <message>
+- <source>OSD rendering method</source>
+- <translation type="vanished">OSD Rendering Method</translation>
+- </message>
+- <message>
+- <source>Render the OSD using the XVideo chromakey feature.This renderer does not alpha blend but is the fastest OSD renderer for XVideo.</source>
+- <translation type="vanished">Render the OSD using the XVideo chromakey feature.This renderer does not alpha blend but is the fastest OSD renderer for XVideo.</translation>
+- </message>
+- <message>
+- <source>Note: nVidia hardware after the 5xxx series does not have XVideo chromakey support.</source>
+- <translation type="vanished">Note: nVidia hardware after the 5xxx series does not have XVideo chromakey support.</translation>
+- </message>
+- <message>
+- <source>Software OSD rendering uses your CPU to alpha blend the OSD.</source>
+- <translation type="vanished">Software OSD rendering uses your CPU to alpha blend the OSD.</translation>
+- </message>
+- <message>
+- <source>Uses OpenGL to alpha blend the OSD onto the video.</source>
+- <translation type="vanished">Uses OpenGL to alpha blend the OSD onto the video.</translation>
+- </message>
+- <message>
+- <source>Uses OpenGL in a separate thread to overlay the OSD onto the video.</source>
+- <translation type="vanished">Use OpenGL in a separate thread to overlay the OSD onto the video.</translation>
+- </message>
+- <message>
+- <source>Uses OpenMAX to alpha blend the OSD onto the video.</source>
+- <translation type="vanished">Uses OpenMAX to alpha blend the OSD onto the video.</translation>
+- </message>
+- <message>
+- <source>No 3D</source>
+- <translation type="vanished">No 3D</translation>
+- </message>
+- <message>
+- <source>3D Side by Side</source>
+- <translation type="vanished">3D Side by Side</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="176"/>
+ <source>Discard 3D Side by Side</source>
+ <translation>Discard 3D Side by Side</translation>
+ </message>
+- <message>
+- <source>3D Top and Bottom</source>
+- <translation type="vanished">3D Top and Bottom</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="177"/>
+ <source>Discard 3D Top and Bottom</source>
+@@ -19783,10 +18293,6 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <source>Interlaced</source>
+ <translation>Interlaced</translation>
+ </message>
+- <message>
+- <source>Interlaced (Normal)</source>
+- <translation type="vanished">Interlaced (Normal)</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="206"/>
+ <source>Interlaced (Reversed)</source>
+@@ -19800,43 +18306,27 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="151"/>
+ <source>Disabled</source>
+- <translation type="unfinished">Disabled</translation>
++ <translation>Disabled</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="152"/>
+ <source>Exact</source>
+- <translation type="unfinished"></translation>
++ <translation>Exact</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="204"/>
+ <source>Progressive (Forced)</source>
+- <translation type="unfinished"></translation>
++ <translation>Progressive (Forced)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="205"/>
+ <source>Interlaced (Forced)</source>
+- <translation type="unfinished"></translation>
++ <translation>Interlaced (Forced)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="206"/>
+ <source>Interlaced (Reversed, Forced)</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Top Left</source>
+- <translation type="vanished">Top Left</translation>
+- </message>
+- <message>
+- <source>Bottom Left</source>
+- <translation type="vanished">Bottom Left</translation>
+- </message>
+- <message>
+- <source>Top Right</source>
+- <translation type="vanished">Top Right</translation>
+- </message>
+- <message>
+- <source>Bottom Right</source>
+- <translation type="vanished">Bottom Right</translation>
++ <translation>Interlaced (Reversed, Forced)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="227"/>
+@@ -19866,7 +18356,7 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="292"/>
+ <source>Range</source>
+- <translation type="unfinished"></translation>
++ <translation>Range</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="242"/>
+@@ -19876,12 +18366,12 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="174"/>
+ <source>Auto 3D</source>
+- <translation type="unfinished"></translation>
++ <translation>Auto 3D</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="175"/>
+ <source>Ignore 3D</source>
+- <translation type="unfinished"></translation>
++ <translation>Ignore 3D</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="269"/>
+@@ -19896,22 +18386,22 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="271"/>
+ <source>H.Stretch</source>
+- <translation>H.Stretch</translation>
++ <translation>Horizontal Stretch</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="272"/>
+ <source>V.Stretch</source>
+- <translation>V.Stretch</translation>
++ <translation>Vertical Stretch</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="273"/>
+ <source>V.Fill</source>
+- <translation>V.Fill</translation>
++ <translation>Vertical Fill</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="274"/>
+ <source>H.Fill</source>
+- <translation>H.Fill</translation>
++ <translation>Horizontal Fill</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="275"/>
+@@ -19926,11 +18416,7 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="361"/>
+ <source>Zoom %1x%2 @ (%3,%4)</source>
+- <translation type="unfinished">Zoom %1x%2 @ (%3,%4)</translation>
+- </message>
+- <message>
+- <source>Studio Levels</source>
+- <translation type="vanished">Studio Levels</translation>
++ <translation>Zoom %1x%2 @ (%3,%4)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="293"/>
+@@ -19964,10 +18450,6 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <source>Use default unless this source uses a different frequency table than the system wide table defined in the General settings.</source>
+ <translation>Use default unless this source uses a different frequency table than the system wide table defined in the General settings.</translation>
+ </message>
+- <message>
+- <source>User ID</source>
+- <translation type="vanished">User ID</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="676"/>
+ <source>Use only the transmitted guide data.</source>
+@@ -19978,10 +18460,6 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <source>Do not configure a grabber</source>
+ <translation>Do Not Configure a Grabber</translation>
+ </message>
+- <message>
+- <source>North America (SchedulesDirect.org) (Internal)</source>
+- <translation type="vanished">North America (SchedulesDirect.org) (Internal)</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="181"/>
+ <source>Maximum number of simultaneous recordings MythTV will attempt using this device. If set to a value other than 1, MythTV can sometimes record multiple programs on the same multiplex or overlapping copies of the same program on a single channel.</source>
+@@ -20058,19 +18536,11 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <source>Warning: already in use</source>
+ <translation>Warning: Already in Use</translation>
+ </message>
+- <message>
+- <source>Subtype</source>
+- <translation type="vanished">Subtype</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1204"/>
+ <source>Frontend ID</source>
+ <translation>Frontend ID</translation>
+ </message>
+- <message>
+- <source>Wait for SEQ start header.</source>
+- <translation type="vanished">Wait for SEQ Start Header</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1234"/>
+ <source>Open DVB card on demand</source>
+@@ -20149,7 +18619,7 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2849"/>
+ <source>This name is displayed on screen when Live TV begins and in various other places. Make sure the last two characters are unique for each input or use a slash (&apos;/&apos;) to designate the unique portion.</source>
+- <translation type="unfinished"></translation>
++ <translation>This name is displayed on screen when Live TV begins and in various other places. Make sure the last two characters are unique for each input or use a slash (&apos;/&apos;) to designate the unique portion.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2946"/>
+@@ -20164,22 +18634,22 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="73"/>
+ <source>Select a video source that is connected to one or more capture cards. Default is the video source selected in the Channel Editor page.</source>
+- <translation type="unfinished"></translation>
++ <translation>Select a video source that is connected to one or more capture cards. Default is the video source selected in the Channel Editor page.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="138"/>
+ <source>The video source that is selected in the Channel Editor page.</source>
+- <translation type="unfinished"></translation>
++ <translation>The video source that is selected in the Channel Editor page.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="430"/>
+ <source>Scan Frequency</source>
+- <translation type="unfinished"></translation>
++ <translation>Scan Frequency</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="431"/>
+ <source>The frequency to start scanning this video source. This is then default for &apos;Full Scan (Tuned)&apos; channel scanning. Frequency value in Hz for DVB-T/T2/C, in kHz for DVB-S/S2. Leave at 0 if not known. </source>
+- <translation type="unfinished"></translation>
++ <translation>The frequency to start scanning this video source. This is then default for &apos;Full Scan (Tuned)&apos; channel scanning. Frequency value in Hz for DVB-T/T2/C, in kHz for DVB-S/S2. Leave at 0 if not known. </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="448"/>
+@@ -20190,32 +18660,32 @@ Most DVB-C transports transmit at 6900000 or 6875000 symbols per second.</source
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="462"/>
+ <source>Bouquet ID</source>
+- <translation type="unfinished"></translation>
++ <translation>Bouquet ID</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="463"/>
+ <source>Bouquet ID for Freesat or Sky on satellite Astra-2 28.2E. Leave this at 0 if you do not receive this satellite. This is needed to get the Freesat and Sky channel numbers. Value 272 selects Freesat bouquet &apos;England HD&apos;. See the MythTV Wiki https://www.mythtv.org/wiki/DVB_UK.</source>
+- <translation type="unfinished"></translation>
++ <translation>Bouquet ID for Freesat or Sky on satellite Astra-2 28.2E. Leave this at 0 if you do not receive this satellite. This is needed to get the Freesat and Sky channel numbers. Value 272 selects Freesat bouquet &apos;England HD&apos;. See the MythTV Wiki https://www.mythtv.org/wiki/DVB_UK.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="479"/>
+ <source>Region ID</source>
+- <translation type="unfinished"></translation>
++ <translation>Region ID</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="480"/>
+ <source>Region ID for Freesat or Sky on satellite Astra-2 28.2E. Leave this at 0 you do not receive this satellite. This is needed to get the Freesat and Sky channel numbers. Value 1 selects region London. See the MythTV Wiki https://www.mythtv.org/wiki/DVB_UK.</source>
+- <translation type="unfinished"></translation>
++ <translation>Region ID for Freesat or Sky on satellite Astra-2 28.2E. Leave this at 0 you do not receive this satellite. This is needed to get the Freesat and Sky channel numbers. Value 1 selects region London. See the MythTV Wiki https://www.mythtv.org/wiki/DVB_UK.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="496"/>
+ <source>Logical Channel Number Offset</source>
+- <translation type="unfinished"></translation>
++ <translation>Logical Channel Number Offset</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="497"/>
+ <source>The offset is added to each logical channel number found during a scan of a DVB video source. This makes it possible to give different video sources a non-overlapping range of channel numbers. Leave at 0 if you have only one video source or if the video sources do not have DVB logical channel numbers.</source>
+- <translation type="unfinished"></translation>
++ <translation>The offset is added to each logical channel number found during a scan of a DVB video source. This makes it possible to give different video sources a non-overlapping range of channel numbers. Leave at 0 if you have only one video source or if the video sources do not have DVB logical channel numbers.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="641"/>
+@@ -20235,27 +18705,27 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <location filename="../libs/libmythtv/videosource.cpp" line="1192"/>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2832"/>
+ <source>Delivery system</source>
+- <translation type="unfinished"></translation>
++ <translation>Delivery System</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1194"/>
+ <source>If your card supports more than one delivery system then you can select here the one that you want to use.</source>
+- <translation type="unfinished"></translation>
++ <translation>If your card supports more than one delivery system then you can select here the one that you want to use.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1206"/>
+ <source>Identification string reported by the card. If the message &quot;Could not get card info...&quot; appears the card can be in use by another program.</source>
+- <translation type="unfinished"></translation>
++ <translation>Identification string reported by the card. If the message &quot;Could not get card info...&quot; appears the card can be in use by another program.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1219"/>
+ <source>Wait for SEQ start header</source>
+- <translation type="unfinished"></translation>
++ <translation>Wait for SEQ Start Header</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1252"/>
+ <source>If enabled, activate active scanning for program data (EIT). When this option is enabled the DVB card is constantly in use.</source>
+- <translation type="unfinished"></translation>
++ <translation>If enabled, activate active scanning for program data (EIT). When this option is enabled the DVB card is constantly in use.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1305"/>
+@@ -20305,12 +18775,12 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1447"/>
+ <source>Use HDHomeRun for active EIT scan</source>
+- <translation type="unfinished"></translation>
++ <translation>Use HDHomeRun for Active EIT Scan</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1450"/>
+ <source>If enabled, activate active scanning for program data (EIT). When this option is enabled the HDHomeRun is constantly in use.</source>
+- <translation type="unfinished"></translation>
++ <translation>If enabled, activate active scanning for program data (EIT). When this option is enabled the HDHomeRun is constantly in use.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1588"/>
+@@ -20355,7 +18825,7 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2747"/>
+ <source>Sat&gt;IP networked tuner</source>
+- <translation type="unfinished"></translation>
++ <translation>Sat&gt;IP Networked Tuner</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2757"/>
+@@ -20370,22 +18840,22 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2833"/>
+ <source>This shows the delivery system (modulation), for instance DVB-T2, that you have selected when you configured the capture card. This must be the same as the modulation used by the video source. </source>
+- <translation type="unfinished"></translation>
++ <translation>This shows the delivery system (modulation), for instance DVB-T2, that you have selected when you configured the capture card. This must be the same as the modulation used by the video source. </translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2848"/>
+ <source>Display name</source>
+- <translation type="unfinished"></translation>
++ <translation>Display Name</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4061"/>
+ <source>DiSEqC position</source>
+- <translation type="unfinished"></translation>
++ <translation>DiSEqC Position</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4062"/>
+ <source>Position of the LNB on the DiSEqC switch. Leave at 1 if there is no DiSEqC switch and the LNB is directly connected to the SatIP server. This value is used as signal source (attribute src) in the SatIP tune command.</source>
+- <translation type="unfinished"></translation>
++ <translation>Position of the LNB on the DiSEqC switch. Leave at 1 if there is no DiSEqC switch and the LNB is directly connected to the SatIP server. This value is used as signal source (attribute src) in the SatIP tune command.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2879"/>
+@@ -20582,10 +19052,6 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <source>Use DVB card for active EIT scan</source>
+ <translation>Use DVB Card for Active EIT Scan</translation>
+ </message>
+- <message>
+- <source>If enabled, activate active scanning for program data (EIT). When this option is enabled the DVB card is constantly in-use.</source>
+- <translation type="vanished">If enabled, activate active scanning for program data (EIT). When this option is enabled the DVB card is constantly in-use.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="1264"/>
+ <source>DVB tuning delay (ms)</source>
+@@ -20616,19 +19082,11 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <source>Device IP or ID, tuner number and tuner type of available VBox devices.</source>
+ <translation>Device IP or ID, tuner number and tuner type of available VBox devices.</translation>
+ </message>
+- <message>
+- <source>Use HD HomeRun for active EIT scan</source>
+- <translation type="vanished">Use HD HomeRun for Active EIT Scan</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="200"/>
+ <source>Schedule all virtual inputs on this device as a group. This is more efficient than scheduling each input individually. Additional, virtual inputs will be automatically added as needed to fulfill the recording load.</source>
+ <translation>Schedule all virtual inputs on this device as a group. This is more efficient than scheduling each input individually. Additional, virtual inputs will be automatically added as needed to fulfill the recording load.</translation>
+ </message>
+- <message>
+- <source>If enabled, activate active scanning for program data (EIT). When this option is enabled the HD HomeRun is constantly in-use.</source>
+- <translation type="vanished">If enabled, activate active scanning for program data (EIT). When this option is enabled the HD HomeRun is constantly in-use.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2452"/>
+ <source>V4L2 encoder devices (multirec capable)</source>
+@@ -20664,14 +19122,6 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <source>Input name</source>
+ <translation>Input Name</translation>
+ </message>
+- <message>
+- <source>Display name (optional)</source>
+- <translation type="vanished">Display Name (optional)</translation>
+- </message>
+- <message>
+- <source>This name is displayed on screen when Live TV begins and when changing the selected input or card. If you use this, make sure the information is unique for each input.</source>
+- <translation type="vanished">This name is displayed on screen when Live TV begins and when changing the selected input or card. If you use this, make sure the information is unique for each input.</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="2903"/>
+ <source>Input group</source>
+@@ -20702,14 +19152,6 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <source>If there is more than one audio input, select which one to use.</source>
+ <translation>If there is more than one audio input, select which one to use.</translation>
+ </message>
+- <message>
+- <source>Data Direct lineup</source>
+- <translation type="vanished">Data Direct Lineup</translation>
+- </message>
+- <message>
+- <source>Retrieve Lineups</source>
+- <translation type="vanished">Retrieve Lineups</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.h" line="221"/>
+ <source>Video source name</source>
+@@ -20723,19 +19165,7 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <message>
+ <location filename="../libs/libmythtv/videosource.h" line="887"/>
+ <source>This channel is shown when &apos;Watch TV&apos; is selected on the main menu. It is updated on every Live TV channel change. When the value is not valid a suitable default will be chosen.</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Starting Live TV channel.</source>
+- <translation type="vanished">Starting Live TV Channel</translation>
+- </message>
+- <message>
+- <source>This is updated on every successful channel change.</source>
+- <translation type="vanished">This is updated on every successful channel change.</translation>
+- </message>
+- <message>
+- <source>The following programs will be recorded instead:</source>
+- <translation type="vanished">The following programs will be recorded instead:</translation>
++ <translation>This channel is shown when &apos;Watch TV&apos; is selected on the main menu. It is updated on every Live TV channel change. When the value is not valid a suitable default will be chosen.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewschedulediff.cpp" line="130"/>
+@@ -21213,10 +19643,6 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <source>Run guide data program at time suggested by the grabber.</source>
+ <translation>Run guide data program at time suggested by the grabber.</translation>
+ </message>
+- <message>
+- <source>If enabled, allow a DataDirect guide data provider to specify the next download time in order to distribute load on their servers. Guide data program execution start/end times are also ignored.</source>
+- <translation type="vanished">If enabled, allow a DataDirect guide data provider to specify the next download time in order to distribute load on their servers. Guide data program execution start/end times are also ignored.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="851"/>
+ <source>Guide data program</source>
+@@ -21529,7 +19955,7 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <message>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="841"/>
+ <source>If enabled, allow a guide data provider to specify the next download time in order to distribute load on their servers. Guide data program execution start/end times are also ignored.</source>
+- <translation type="unfinished"></translation>
++ <translation>If enabled, allow a guide data provider to specify the next download time in order to distribute load on their servers. Guide data program execution start/end times are also ignored.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="934"/>
+@@ -21610,21 +20036,17 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <message>
+ <location filename="../programs/mythtv-setup/checksetup.cpp" line="207"/>
+ <source>Card %1 (%2) No video source connected</source>
+- <translation type="unfinished"></translation>
++ <translation>Card %1 (%2) No Video Source Connected</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/checksetup.cpp" line="237"/>
+ <source>Card %1 (%2) No visible channels found</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>Card %1 (type %2) is set to start on channel %3, which does not exist.</source>
+- <translation type="vanished">Card %1 (type %2) is set to start on channel %3, which does not exist.</translation>
++ <translation>Card %1 (%2) No Visible Channels Found</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/checksetup.cpp" line="271"/>
+ <source>The display names for one or more inputs are not sufficiently unique. They must be set and the last two characters must be unique because some themes use them to identify the input.</source>
+- <translation type="unfinished"></translation>
++ <translation>The display names for one or more inputs are not sufficiently unique. They must be set and the last two characters must be unique because some themes use them to identify the input.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="654"/>
+@@ -21773,34 +20195,6 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <source>videos</source>
+ <translation>videos</translation>
+ </message>
+- <message>
+- <source>&gt;1Gbps</source>
+- <translation type="vanished">&gt;1Gbps</translation>
+- </message>
+- <message>
+- <source>%1Mbps</source>
+- <translation type="vanished">%1Mbps</translation>
+- </message>
+- <message>
+- <source>%1MHz</source>
+- <translation type="vanished">%1MHz</translation>
+- </message>
+- <message>
+- <source>%1kHz</source>
+- <translation type="vanished">%1kHz</translation>
+- </message>
+- <message>
+- <source>%1kbps</source>
+- <translation type="vanished">%1kbps</translation>
+- </message>
+- <message>
+- <source>%1bps</source>
+- <translation type="vanished">%1bps</translation>
+- </message>
+- <message>
+- <source>%1Hz</source>
+- <translation type="vanished">%1Hz</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythbase/stringutil.cpp" line="362"/>
+ <source>%1 TB</source>
+@@ -22066,10 +20460,6 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <source>Error opening audio device (%1)</source>
+ <translation>Error Opening Audio Device (%1)</translation>
+ </message>
+- <message>
+- <source>Failed to open stream (%1)</source>
+- <translation type="vanished">Failed to Open Stream (%1)</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="88"/>
+ <source>Choose a channel name (any string, long version) </source>
+@@ -22389,7 +20779,7 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <message>
+ <location filename="../programs/mythbackend/upnpcdsmusic.cpp" line="64"/>
+ <source>Music</source>
+- <translation type="unfinished">Music</translation>
++ <translation>Music</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythbackend/upnpcdsmusic.cpp" line="109"/>
+@@ -22421,123 +20811,124 @@ Your grabber does not provide channel numbers, so you have to set them manually.
+ <message>
+ <location filename="../libs/libmythtv/channelscan/inputselectorsetting.cpp" line="46"/>
+ <source>Select a capture card from the capture cards that are connected to the currently selected video source.</source>
+- <translation type="unfinished"></translation>
++ <translation>Select a capture card from the capture cards that are connected to the currently selected video source.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="349"/>
+ <source>Transport ID</source>
+- <translation type="unfinished"></translation>
++ <translation>Transport ID</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="351"/>
+ <source>The transport stream ID (tid) can be used to identify the transport of this channel in the Transport Editor.</source>
+- <translation type="unfinished"></translation>
++ <translation>The transport stream ID (tid) can be used to identify the transport of this channel in the Transport Editor.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="364"/>
+ <source>Frequency of the transport of this channel in Hz for DVB-T/T2/C or in kHz plus polarization H or V for DVB-S/S2.</source>
+- <translation type="unfinished"></translation>
++ <translation>Frequency of the transport of this channel in Hz for DVB-T/T2/C or in kHz plus polarization H or V for DVB-S/S2.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="610"/>
+ <source>Select a video source. &apos;All&apos; cannot be used. If there is no video source then create one in the &apos;Video sources&apos; menu page and connect a capture card.</source>
+- <translation type="unfinished"></translation>
++ <translation>Select a video source. &apos;All&apos; cannot be used. If there is no video source then create one in the &apos;Video sources&apos; menu page and connect a capture card.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="639"/>
+ <source>No capture card!
+ Connect video source &apos;%1&apos; to a capture card in the &apos;Input Connections&apos; menu page.</source>
+- <translation type="unfinished"></translation>
++ <translation>No capture card!
++Connect video source &apos;%1&apos; to a capture card in the &apos;Input Connections&apos; menu page.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="653"/>
+ <source>The capture card(s) connected to video source &apos;%1&apos; cannot be used for channel scanning.</source>
+- <translation type="unfinished"></translation>
++ <translation>The capture card(s) connected to video source &apos;%1&apos; cannot be used for channel scanning.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="241"/>
+ <source>For DVB-T/T2 and scan type &apos;Full Scan&apos; select a country to get the correct set of frequencies.</source>
+- <translation type="unfinished"></translation>
++ <translation>For DVB-T/T2 and scan type &apos;Full Scan&apos; select a country to get the correct set of frequencies.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mythplayeravsync.cpp" line="51"/>
+ <source>%1 ms</source>
+- <translation type="unfinished">%1 ms</translation>
++ <translation>%1 ms</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="63"/>
+ <source>Restore XMLTV ID</source>
+- <translation type="unfinished"></translation>
++ <translation>Restore XMLTV ID</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="65"/>
+ <source>If checked, copy the XMLTV ID in field &quot;xmltvid&quot; from a deleted channel or from a channel in another video source.</source>
+- <translation type="unfinished"></translation>
++ <translation>If checked, copy the XMLTV ID in field &quot;xmltvid&quot; from a deleted channel or from a channel in another video source.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="78"/>
+ <source>Restore Visible status</source>
+- <translation type="unfinished"></translation>
++ <translation>Restore Visible Status</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="80"/>
+ <source>If checked, copy the Visible status in field &quot;visible&quot; from a deleted channel in this video source.</source>
+- <translation type="unfinished"></translation>
++ <translation>If checked, copy the Visible status in field &quot;visible&quot; from a deleted channel in this video source.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="92"/>
+ <source>Restore Icon filename</source>
+- <translation type="unfinished"></translation>
++ <translation>Restore Icon Filename</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="94"/>
+ <source>If checked, copy the Icon filename in field &quot;icon&quot; from a deleted channel or from a channel in another video source.</source>
+- <translation type="unfinished"></translation>
++ <translation>If checked, copy the Icon filename in field &quot;icon&quot; from a deleted channel or from a channel in another video source.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="109"/>
+ <source>The video source is selected in the Channel Editor page. Searching for non-scanned data is done for all channels in this video source.</source>
+- <translation type="unfinished"></translation>
++ <translation>The video source is selected in the Channel Editor page. Searching for non-scanned data is done for all channels in this video source.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="126"/>
+ <source>Start searching for non-scanned data. The data is written to the database when &apos;Save and Exit&apos; is selected in the &apos;Exit Settings?&apos; dialog box.</source>
+- <translation type="unfinished"></translation>
++ <translation>Start searching for non-scanned data. The data is written to the database when &apos;Save and Exit&apos; is selected in the &apos;Exit Settings?&apos; dialog box.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythdisplaymode.cpp" line="277"/>
+ <source>%1x%2@%3Hz</source>
+- <translation type="unfinished"></translation>
++ <translation>%1x%2@%3Hz</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythhdr.cpp" line="68"/>
+ <source>HDR10</source>
+- <translation type="unfinished"></translation>
++ <translation>HDR10</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythhdr.cpp" line="69"/>
+ <source>Hybrid Log-Gamma</source>
+- <translation type="unfinished"></translation>
++ <translation>Hybrid Log-Gamma</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythvrr.cpp" line="125"/>
+ <source>FreeSync</source>
+- <translation type="unfinished"></translation>
++ <translation>FreeSync</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythvrr.cpp" line="126"/>
+ <source>GSync</source>
+- <translation type="unfinished"></translation>
++ <translation>GSync</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythvrr.cpp" line="127"/>
+ <source>GSync Compatible</source>
+- <translation type="unfinished"></translation>
++ <translation>GSync Compatible</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/mythvrr.cpp" line="137"/>
+ <source>Range: %1-%2%3</source>
+- <translation type="unfinished"></translation>
++ <translation>Range: %1-%2%3</translation>
+ </message>
+ </context>
+ <context>
+@@ -22647,12 +21038,12 @@ Connect video source &apos;%1&apos; to a capture card in the &apos;Input Connect
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="105"/>
+ <source>Restore Data</source>
+- <translation type="unfinished"></translation>
++ <translation>Restore Data</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/restoredata.cpp" line="124"/>
+ <source>Search</source>
+- <translation type="unfinished">Search</translation>
++ <translation>Search</translation>
+ </message>
+ </context>
+ <context>
+@@ -22660,32 +21051,32 @@ Connect video source &apos;%1&apos; to a capture card in the &apos;Input Connect
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4079"/>
+ <source>Friendly name</source>
+- <translation type="unfinished"></translation>
++ <translation>Friendly Name</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4079"/>
+ <source>Friendly name of the Sat&gt;IP server</source>
+- <translation type="unfinished"></translation>
++ <translation>Friendly Name of the Sat&gt;IP Server</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4080"/>
+ <source>Tuner type</source>
+- <translation type="unfinished"></translation>
++ <translation>Tuner Type</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4080"/>
+ <source>Type of the selected tuner</source>
+- <translation type="unfinished"></translation>
++ <translation>Type of the Selected Tuner</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4081"/>
+ <source>Tuner index</source>
+- <translation type="unfinished"></translation>
++ <translation>Tuner Index</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4081"/>
+ <source>Index of the tuner on the Sat&gt;IP server</source>
+- <translation type="unfinished"></translation>
++ <translation>Index of the Tuner on the Sat&gt;IP Server</translation>
+ </message>
+ </context>
+ <context>
+@@ -22693,12 +21084,12 @@ Connect video source &apos;%1&apos; to a capture card in the &apos;Input Connect
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4232"/>
+ <source>Device ID</source>
+- <translation type="unfinished">Device ID</translation>
++ <translation>Device ID</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4233"/>
+ <source>Device ID of the Sat&gt;IP tuner</source>
+- <translation type="unfinished"></translation>
++ <translation>Device ID of the Sat&gt;IP Tuner</translation>
+ </message>
+ </context>
+ <context>
+@@ -22706,17 +21097,17 @@ Connect video source &apos;%1&apos; to a capture card in the &apos;Input Connect
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4162"/>
+ <source>Available devices</source>
+- <translation type="unfinished">Available Devices</translation>
++ <translation>Available Devices</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4163"/>
+ <source>Device IP or ID, tuner number and tuner type of available Sat&gt;IP device</source>
+- <translation type="unfinished"></translation>
++ <translation>Device IP or ID, tuner number and tuner type of available Sat&gt;IP device.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="4216"/>
+ <source>Warning: already in use</source>
+- <translation type="unfinished">Warning: Already in Use</translation>
++ <translation>Warning: Already in Use</translation>
+ </message>
+ </context>
+ <context>
+@@ -22724,7 +21115,7 @@ Connect video source &apos;%1&apos; to a capture card in the &apos;Input Connect
+ <message>
+ <location filename="../libs/libmythtv/recorders/satipsignalmonitor.cpp" line="83"/>
+ <source>Error: stream handler died</source>
+- <translation type="unfinished">Error: Stream Handler Died</translation>
++ <translation>Error: Stream Handler Died</translation>
+ </message>
+ </context>
+ <context>
+@@ -22856,7 +21247,7 @@ Connect video source &apos;%1&apos; to a capture card in the &apos;Input Connect
+ <message>
+ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="61"/>
+ <source>Channel Scan</source>
+- <translation type="unfinished">Channel Scan</translation>
++ <translation>Channel Scan</translation>
+ </message>
+ </context>
+ <context>
+@@ -23362,9 +21753,9 @@ is located in %2</translation>
+ <source>%n (is) Deleted and consume(s) %1
+ </source>
+ <translation>
+- <numerusform>%n is Deleted and consumes %1
++ <numerusform>%n recording is deleted and consumes %1.
+ </numerusform>
+- <numerusform>%n are Deleted and consume %1
++ <numerusform>%n recordings are deleted and consume %1.
+ </numerusform>
+ </translation>
+ </message>
+@@ -23387,10 +21778,6 @@ is located in %2</translation>
+ <source>Schedule Status</source>
+ <translation>Schedule Status</translation>
+ </message>
+- <message>
+- <source>Log Entries</source>
+- <translation type="vanished">Log Entries</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="123"/>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="264"/>
+@@ -23405,12 +21792,12 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="127"/>
+ <source>Video decoders</source>
+- <translation type="unfinished"></translation>
++ <translation>Video Decoders</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="131"/>
+ <source>Display</source>
+- <translation type="unfinished"></translation>
++ <translation>Display</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="139"/>
+@@ -23421,19 +21808,7 @@ is located in %2</translation>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="143"/>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="319"/>
+ <source>AutoExpire List</source>
+- <translation>AutoExpire List</translation>
+- </message>
+- <message>
+- <source>Acknowledge all log entries at this priority level or lower?</source>
+- <translation type="vanished">Acknowledge all log entries at this priority level or lower?</translation>
+- </message>
+- <message>
+- <source>Setting priority level to %1</source>
+- <translation type="vanished">Setting priority level to %1</translation>
+- </message>
+- <message>
+- <source>Acknowledge this log entry?</source>
+- <translation type="vanished">Acknowledge this log entry?</translation>
++ <translation>Auto-Expire List</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="270"/>
+@@ -23474,7 +21849,7 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="325"/>
+ <source>AutoExpire Actions:</source>
+- <translation>AutoExpire Actions:</translation>
++ <translation>Auto-Expire Actions:</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="335"/>
+@@ -23494,7 +21869,7 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="344"/>
+ <source>Disable AutoExpire</source>
+- <translation>Disable AutoExpire</translation>
++ <translation>Disable Auto-Expire</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="454"/>
+@@ -23514,27 +21889,27 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="490"/>
+ <source>Started: %1</source>
+- <translation>Started: %1</translation>
++ <translation> Started: %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="497"/>
+ <source>Finished: %1</source>
+- <translation>Finished: %1</translation>
++ <translation> Finished: %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="504"/>
+ <source>Result: %1</source>
+- <translation>Result: %1</translation>
++ <translation> Result: %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="509"/>
+ <source>Suggested Next: %1</source>
+- <translation>Suggested Next: %1</translation>
++ <translation>Suggested Next Update: %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="520"/>
+ <source>There&apos;s no guide data available!</source>
+- <translation>There&apos;s no guide data available!</translation>
++ <translation>There is no guide data available!</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="522"/>
+@@ -23549,16 +21924,12 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="538"/>
+ <source>WARNING: is mythfilldatabase running?</source>
+- <translation>Warning: is mythfilldatabase running?</translation>
++ <translation>Warning: Is mythfilldatabase running?</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1170"/>
+ <source>Machine Status shows some operating system statistics of this machine and the MythTV server.</source>
+- <translation type="unfinished"></translation>
+- </message>
+- <message>
+- <source>DataDirect Status: </source>
+- <translation type="vanished">DataDirect Status: </translation>
++ <translation>Machine Status shows some operating system statistics of this machine and the MythTV server.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="548"/>
+@@ -23744,37 +22115,37 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1457"/>
+ <source>Display information.</source>
+- <translation type="unfinished"></translation>
++ <translation>Display information.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1473"/>
+ <source>Render information.</source>
+- <translation type="unfinished"></translation>
++ <translation>Render information.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1492"/>
+ <source>Current fps: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Current FPS : %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1519"/>
+ <source>GPU memory used : %1MB</source>
+- <translation type="unfinished"></translation>
++ <translation>GPU Memory Used : %1MB</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1531"/>
+ <source>GPU memory free : %1MB (or %2%)</source>
+- <translation type="unfinished"></translation>
++ <translation>GPU Memory Free : %1MB (or %2%)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1537"/>
+ <source>GPU memory total : %1MB</source>
+- <translation type="unfinished"></translation>
++ <translation>GPU Memory Total : %1MB</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1538"/>
+ <source>GPU memory dedicated: %1MB</source>
+- <translation type="unfinished"></translation>
++ <translation>GPU Memory Dedicated: %1MB</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="892"/>
+@@ -23784,7 +22155,7 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="135"/>
+ <source>Rendering</source>
+- <translation type="unfinished"></translation>
++ <translation>Rendering</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="934"/>
+@@ -23816,14 +22187,6 @@ is located in %2</translation>
+ <source>Job Queue is currently empty.</source>
+ <translation>Job Queue is currently empty.</translation>
+ </message>
+- <message>
+- <source>Machine Status shows some operating system statistics of this machine</source>
+- <translation type="vanished">Machine Status shows some operating system statistics of this machine.</translation>
+- </message>
+- <message>
+- <source>and the MythTV server</source>
+- <translation type="vanished">and the MythTV server</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1181"/>
+ <source>System:</source>
+@@ -23837,43 +22200,43 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1190"/>
+ <source>System time</source>
+- <translation type="unfinished"></translation>
++ <translation>System Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1197"/>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1300"/>
+ <source>Hostname</source>
+- <translation type="unfinished">Hostname</translation>
++ <translation>Hostname</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1198"/>
+ <source>OS</source>
+- <translation type="unfinished"></translation>
++ <translation>OS</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1200"/>
+ <source>Qt version</source>
+- <translation type="unfinished"></translation>
++ <translation>Qt Version</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1214"/>
+ <source>WiFi</source>
+- <translation type="unfinished"></translation>
++ <translation>WiFi</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1214"/>
+ <source>Ethernet</source>
+- <translation type="unfinished"></translation>
++ <translation>Ethernet</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1216"/>
+ <source>MAC Address</source>
+- <translation type="unfinished"></translation>
++ <translation>MAC Address</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1223"/>
+ <source>IP Address</source>
+- <translation type="unfinished">IP Address</translation>
++ <translation>IP Address</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1249"/>
+@@ -23881,14 +22244,6 @@ is located in %2</translation>
+ <source>Load</source>
+ <translation>Load</translation>
+ </message>
+- <message>
+- <source>unknown</source>
+- <translation type="vanished">unknown</translation>
+- </message>
+- <message>
+- <source>failed</source>
+- <translation type="vanished">failed</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1272"/>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1345"/>
+@@ -23909,7 +22264,7 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1301"/>
+ <source>IP</source>
+- <translation type="unfinished"></translation>
++ <translation>IP</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1394"/>
+@@ -23934,26 +22289,26 @@ is located in %2</translation>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1434"/>
+ <source>Available hardware decoders for video playback.</source>
+- <translation type="unfinished"></translation>
++ <translation>Available hardware decoders for video playback.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1443"/>
+ <source>None</source>
+- <translation type="unfinished">None</translation>
++ <translation>None</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1564"/>
+ <source>The AutoExpire List shows all recordings which may be expired and the order of their expiration. Recordings at the top of the list will be expired first.</source>
+- <translation>The AutoExpire List shows all recordings which may be expired and the order of their expiration. Recordings at the top of the list will be expired first.</translation>
++ <translation>The Auto-Expire List shows all recordings which may be expired and the order of their expiration. Recordings at the top of the list will be expired first.</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1610"/>
+ <source>%n recording(s) consuming %1 (is) allowed to expire
+ </source>
+ <translation>
+- <numerusform>%n recording consuming %1 is allowed to expire
++ <numerusform>%n recording consuming %1 is allowed to expire.
+ </numerusform>
+- <numerusform>%n recordings consuming %1 are allowed to expire
++ <numerusform>%n recordings consuming %1 are allowed to expire.
+ </numerusform>
+ </translation>
+ </message>
+@@ -24049,7 +22404,7 @@ Directory from Storage Group?</translation>
+ <message>
+ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="478"/>
+ <source>Enter the name of the new storage group</source>
+- <translation>Enter group name:</translation>
++ <translation>Enter Storage Group Name:</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="495"/>
+@@ -24145,20 +22500,6 @@ Directory from Storage Group?</translation>
+ <source>Seek:</source>
+ <translation>Seek:</translation>
+ </message>
+- <message numerus="yes">
+- <source>Sorry, PBP only supports %n video stream(s)</source>
+- <translation type="vanished">
+- <numerusform>Sorry, PBP only supports %n video stream</numerusform>
+- <numerusform>Sorry, PBP only supports %n video streams</numerusform>
+- </translation>
+- </message>
+- <message numerus="yes">
+- <source>Sorry, PIP only supports %n video stream(s)</source>
+- <translation type="vanished">
+- <numerusform>Sorry, PIP only supports %n video stream</numerusform>
+- <numerusform>Sorry, PIP only supports %n video streams</numerusform>
+- </translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="4916"/>
+ <source>Forward</source>
+@@ -24202,10 +22543,6 @@ Directory from Storage Group?</translation>
+ <source>Jump To</source>
+ <translation>Jump To</translation>
+ </message>
+- <message>
+- <source>Creating PBP</source>
+- <translation type="vanished">Creating PBP</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="1420"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="1421"/>
+@@ -24218,76 +22555,12 @@ Directory from Storage Group?</translation>
+ <source>Are you sure you want to delete:</source>
+ <translation>Are you sure you want to delete:</translation>
+ </message>
+- <message>
+- <source>Creating PIP</source>
+- <translation type="vanished">Creating PIP</translation>
+- </message>
+- <message>
+- <source>Cannot create PBP</source>
+- <translation type="vanished">Cannot create PBP</translation>
+- </message>
+- <message>
+- <source>Cannot create PIP</source>
+- <translation type="vanished">Cannot create PIP</translation>
+- </message>
+- <message>
+- <source>Stopping PIP</source>
+- <translation type="vanished">Stopping PIP</translation>
+- </message>
+- <message>
+- <source>Stopping PBP</source>
+- <translation type="vanished">Stopping PBP</translation>
+- </message>
+- <message>
+- <source>Stopping all PIPs</source>
+- <translation type="vanished">Stopping All PIPs</translation>
+- </message>
+- <message>
+- <source>Stopping all PBPs</source>
+- <translation type="vanished">Stopping All PBPs</translation>
+- </message>
+- <message>
+- <source>Too many views to switch</source>
+- <translation type="vanished">Too Many Views to Switch</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="4750"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="6238"/>
+ <source>Paused</source>
+ <translation>Paused</translation>
+ </message>
+- <message>
+- <source>Aux Paused</source>
+- <translation type="vanished">Aux Paused</translation>
+- </message>
+- <message>
+- <source>Speed 16X</source>
+- <translation type="vanished">Speed 16X</translation>
+- </message>
+- <message>
+- <source>Speed 8X</source>
+- <translation type="vanished">Speed 8X</translation>
+- </message>
+- <message>
+- <source>Speed 3X</source>
+- <translation type="vanished">Speed 3X</translation>
+- </message>
+- <message>
+- <source>Speed 2X</source>
+- <translation type="vanished">Speed 2X</translation>
+- </message>
+- <message>
+- <source>Speed 1/3X</source>
+- <translation type="vanished">Speed 1/3X</translation>
+- </message>
+- <message>
+- <source>Speed 1/8X</source>
+- <translation type="vanished">Speed 1/8X</translation>
+- </message>
+- <message>
+- <source>Speed 1/16X</source>
+- <translation type="vanished">Speed 1/16X</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="5192"/>
+ <source>Forward %1X</source>
+@@ -24519,48 +22792,16 @@ Directory from Storage Group?</translation>
+ <source>Adjust Time Stretch</source>
+ <translation>Adjust Time Stretch</translation>
+ </message>
+- <message>
+- <source>Upmixer On</source>
+- <translation type="vanished">Upmixer On</translation>
+- </message>
+- <message>
+- <source>Upmixer Off</source>
+- <translation type="vanished">Upmixer Off</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8866"/>
+ <source>Adjust Subtitle Delay</source>
+ <translation>Adjust Subtitle Delay</translation>
+ </message>
+- <message>
+- <source>Subtitle Delay</source>
+- <translation type="vanished">Subtitle Delay</translation>
+- </message>
+- <message>
+- <source>Audio Sync</source>
+- <translation type="vanished">Audio Sync</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8772"/>
+ <source>Adjust Audio Sync</source>
+ <translation>Adjust Audio Sync</translation>
+ </message>
+- <message>
+- <source>Mute Off</source>
+- <translation type="vanished">Mute Off</translation>
+- </message>
+- <message>
+- <source>Mute On</source>
+- <translation type="vanished">Mute On</translation>
+- </message>
+- <message>
+- <source>Left Channel Muted</source>
+- <translation type="vanished">Left Channel Muted</translation>
+- </message>
+- <message>
+- <source>Right Channel Muted</source>
+- <translation type="vanished">Right Channel Muted</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="7004"/>
+ <source>Sleep </source>
+@@ -24590,20 +22831,6 @@ Do you wish to continue watching?</translation>
+ <source>MythTV has been idle for %1 minutes and will exit in %d seconds. Are you still watching?</source>
+ <translation>MythTV has been idle for %1 minutes and will exit in %d seconds. Are you still watching?</translation>
+ </message>
+- <message>
+- <source>PiP</source>
+- <comment>Picture-in-Picture</comment>
+- <translation type="vanished">PIP</translation>
+- </message>
+- <message>
+- <source>PbP</source>
+- <comment>Picture-by-Picture</comment>
+- <translation type="vanished">PBP</translation>
+- </message>
+- <message>
+- <source>Disabling %1 for recording</source>
+- <translation type="vanished">Disabling %1 for Recording</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="7580"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="7601"/>
+@@ -24615,10 +22842,6 @@ Do you wish to continue watching?</translation>
+ <source>Cancel Record</source>
+ <translation>Cancel Record</translation>
+ </message>
+- <message>
+- <source>Active Changed</source>
+- <translation type="vanished">Active Changed</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="7721"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="7734"/>
+@@ -24757,12 +22980,12 @@ Do you wish to continue watching?</translation>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8557"/>
+ <source>Auto</source>
+- <translation type="unfinished">Auto</translation>
++ <translation>Auto</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8559"/>
+ <source>Ignore</source>
+- <translation type="unfinished">Ignore</translation>
++ <translation>Ignore</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8621"/>
+@@ -24804,10 +23027,6 @@ Do you wish to continue watching?</translation>
+ <source>1.5x</source>
+ <translation>1.5x</translation>
+ </message>
+- <message>
+- <source>Enable Audio Upmixer</source>
+- <translation type="vanished">Enable Audio Upmixer</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8812"/>
+ <source>Disable Subtitles</source>
+@@ -24828,20 +23047,6 @@ Do you wish to continue watching?</translation>
+ <source>Enable Forced Subtitles</source>
+ <translation>Enable Forced Subtitles</translation>
+ </message>
+- <message numerus="yes">
+- <source>Close PIP(s)</source>
+- <translation type="vanished">
+- <numerusform>Close PIP</numerusform>
+- <numerusform>Close PIPs</numerusform>
+- </translation>
+- </message>
+- <message numerus="yes">
+- <source>Close PBP(s)</source>
+- <translation type="vanished">
+- <numerusform>Close PBP</numerusform>
+- <numerusform>Close PBPs</numerusform>
+- </translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8890"/>
+ <source>Playback Data</source>
+@@ -24868,18 +23073,6 @@ Do you wish to continue watching?</translation>
+ <source>Playback Compact Menu</source>
+ <translation>Playback Compact Menu</translation>
+ </message>
+- <message>
+- <source>Move BottomLine off screen</source>
+- <translation type="vanished">Move Bottom Line Off Screen</translation>
+- </message>
+- <message>
+- <source>Save manual zoom for BottomLine</source>
+- <translation type="vanished">Save Manual Zoom for Bottom Line</translation>
+- </message>
+- <message>
+- <source>Jump to bookmark</source>
+- <translation type="vanished">Jump to Bookmark</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9207"/>
+ <source>Schedule</source>
+@@ -24951,10 +23144,6 @@ Do you wish to continue watching?</translation>
+ <source>Searching</source>
+ <translation>Searching...</translation>
+ </message>
+- <message>
+- <source>Volume</source>
+- <translation type="vanished">Volume</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="6970"/>
+ <source>Time Stretch</source>
+@@ -24999,12 +23188,12 @@ Do you wish to continue watching?</translation>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8984"/>
+ <source>Turn Auto-Expire OFF</source>
+- <translation>Turn Auto-expire Off</translation>
++ <translation>Turn Auto-Expire Off</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8984"/>
+ <source>Turn Auto-Expire ON</source>
+- <translation>Turn Auto-expire On</translation>
++ <translation>Turn Auto-Expire On</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8940"/>
+@@ -25026,10 +23215,6 @@ Do you wish to continue watching?</translation>
+ <source>Chapter</source>
+ <translation>Chapter</translation>
+ </message>
+- <message>
+- <source>Sorry, cannot mix PBP and PIP views</source>
+- <translation type="vanished">Cannot Mix PBP and PIP Views</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9178"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9226"/>
+@@ -25047,10 +23232,6 @@ Do you wish to continue watching?</translation>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+- <message>
+- <source>Visualisation Off</source>
+- <translation type="vanished">Visualization Off</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="6901"/>
+ <source>TV</source>
+@@ -25061,10 +23242,6 @@ Do you wish to continue watching?</translation>
+ <source>Adjust Subtitle Zoom</source>
+ <translation>Adjust Subtitle Zoom</translation>
+ </message>
+- <message>
+- <source>Subtitle Zoom</source>
+- <translation type="vanished">Subtitle Zoom</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9188"/>
+ <source>Advanced</source>
+@@ -25155,38 +23332,6 @@ Do you wish to continue watching?</translation>
+ <source>Cancel Playlist</source>
+ <translation>Cancel Playlist</translation>
+ </message>
+- <message>
+- <source>Open Live TV PIP</source>
+- <translation type="vanished">Open Live TV PIP</translation>
+- </message>
+- <message>
+- <source>Open Live TV PBP</source>
+- <translation type="vanished">Open Live TV PBP</translation>
+- </message>
+- <message>
+- <source>Open Recording PIP</source>
+- <translation type="vanished">Open Recording PIP</translation>
+- </message>
+- <message>
+- <source>Open Recording PBP</source>
+- <translation type="vanished">Open Recording PBP</translation>
+- </message>
+- <message>
+- <source>Change Active Window</source>
+- <translation type="vanished">Change Active Window</translation>
+- </message>
+- <message>
+- <source>Swap Windows</source>
+- <translation type="vanished">Swap Windows</translation>
+- </message>
+- <message>
+- <source>Switch to PIP</source>
+- <translation type="vanished">Switch to PIP</translation>
+- </message>
+- <message>
+- <source>Switch to PBP</source>
+- <translation type="vanished">Switch to PBP</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9933"/>
+ <source>No, keep it</source>
+@@ -25249,27 +23394,11 @@ Do you wish to continue watching?</translation>
+ <source>3D</source>
+ <translation>3D</translation>
+ </message>
+- <message>
+- <source>Disable Night Mode</source>
+- <translation type="vanished">Disable Night Mode</translation>
+- </message>
+- <message>
+- <source>Enable Night Mode</source>
+- <translation type="vanished">Enable Night Mode</translation>
+- </message>
+- <message>
+- <source>Side by Side</source>
+- <translation type="vanished">Side by Side</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8561"/>
+ <source>Discard Side by Side</source>
+ <translation>Discard Side by Side</translation>
+ </message>
+- <message>
+- <source>Top and Bottom</source>
+- <translation type="vanished">Top and Bottom</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8563"/>
+ <source>Discard Top and Bottom</source>
+@@ -25295,21 +23424,6 @@ Do you wish to continue watching?</translation>
+ <source>Adjust</source>
+ <translation>Adjust</translation>
+ </message>
+- <message>
+- <source>(I)</source>
+- <comment>Interlaced (Normal)</comment>
+- <translation type="vanished">(I)</translation>
+- </message>
+- <message>
+- <source>(i)</source>
+- <comment>Interlaced (Reversed)</comment>
+- <translation type="vanished">(i)</translation>
+- </message>
+- <message>
+- <source>(P)</source>
+- <comment>Progressive</comment>
+- <translation type="vanished">(P)</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9553"/>
+ <source>MythTV is already using all available inputs for the channel you selected. If you want to watch an in-progress recording, select one from the playback menu. If you want to watch Live TV, cancel one of the in-progress recordings from the delete menu.</source>
+@@ -25320,22 +23434,6 @@ Do you wish to continue watching?</translation>
+ <source>Video Scan</source>
+ <translation>Video Scan</translation>
+ </message>
+- <message>
+- <source>Detect</source>
+- <translation type="vanished">Detect</translation>
+- </message>
+- <message>
+- <source>Progressive</source>
+- <translation type="vanished">Progressive</translation>
+- </message>
+- <message>
+- <source>Interlaced (Normal)</source>
+- <translation type="vanished">Interlaced (Normal)</translation>
+- </message>
+- <message>
+- <source>Interlaced (Reversed)</source>
+- <translation type="vanished">Interlaced (Reversed)</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9200"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9540"/>
+@@ -25381,12 +23479,12 @@ Do you wish to continue watching?</translation>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9371"/>
+ <source>Auto-Expire OFF</source>
+- <translation>Auto-expire Off</translation>
++ <translation>Auto-Expire Off</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9376"/>
+ <source>Auto-Expire ON</source>
+- <translation>Auto-expire On</translation>
++ <translation>Auto-Expire On</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9562"/>
+@@ -25443,14 +23541,6 @@ Do you wish to continue watching?</translation>
+ <source>You are exiting %1</source>
+ <translation>You Are Exiting %1</translation>
+ </message>
+- <message>
+- <source>Save this position and go to the menu</source>
+- <translation type="vanished">Save and Exit</translation>
+- </message>
+- <message>
+- <source>Do not save, just exit to the menu</source>
+- <translation type="vanished">Exit Without Saving</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9830"/>
+ <source>Exit %1</source>
+@@ -25518,7 +23608,7 @@ Do you wish to continue watching?</translation>
+ <location filename="../libs/libmythtv/tv_rec.cpp" line="3885"/>
+ <location filename="../libs/libmythtv/tv_rec.cpp" line="3940"/>
+ <source>See &apos;Tuning timeout&apos; in mythtv-setup for this input.</source>
+- <translation>See &apos;Tuning timeout&apos; in mythtv-setup for this input.</translation>
++ <translation>See &apos;Tuning Timeout&apos; in mythtv-setup for this input.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_rec.cpp" line="3932"/>
+@@ -26260,7 +24350,7 @@ When you have completed your configuration, press &quot;OK&quot; to search.</tra
+ <message>
+ <location filename="../themes/themestrings.h" line="385"/>
+ <source>Allow Recordings to Auto-Expire</source>
+- <translation>Allow Recordings to Auto-expire</translation>
++ <translation>Allow Recordings to Auto-Expire</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1437"/>
+@@ -26432,14 +24522,6 @@ When you have completed your configuration, press &quot;OK&quot; to search.</tra
+ <source>Rating:</source>
+ <translation>Rating:</translation>
+ </message>
+- <message>
+- <source>Running Time:</source>
+- <translation type="vanished">Running Time:</translation>
+- </message>
+- <message>
+- <source>Show Times:</source>
+- <translation type="vanished">Show Times:</translation>
+- </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="585"/>
+ <source>Channel Priorities</source>
+@@ -26590,7 +24672,7 @@ When you have completed your configuration, press &quot;OK&quot; to search.</tra
+ <message>
+ <location filename="../themes/themestrings.h" line="276"/>
+ <source>(1) Time (2) Title</source>
+- <translation>(1) Time (2) Title</translation>
++ <translation>(1) Time (2) Title</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1851"/>
+@@ -27083,17 +25165,7 @@ When you have completed your configuration, press &quot;OK&quot; to search.</tra
+ <message>
+ <location filename="../themes/themestrings.h" line="1963"/>
+ <source>This is a Christmas version of the popular MythCenter-wide theme with animated snow backgrounds and festive colour scheme.</source>
+- <translation>This is a Christmas version of the popular MythCenter-wide theme with animated snow backgrounds and festive colour scheme.</translation>
+- </message>
+- <message>
+- <source>No videos in library, or no files found.
+- If you have configured a video directory, press &quot;M&quot; (or the MENU key) and select &quot;Scan for Changes.&quot;</source>
+- <translation type="vanished">No videos in library, or no files found.
+- If you have configured a video directory, press &quot;M&quot; (or the MENU key) and select &quot;Scan for Changes.&quot;</translation>
+- </message>
+- <message>
+- <source>Filters Video List</source>
+- <translation type="vanished">Filters Video List</translation>
++ <translation>This is a Christmas version of the popular MythCenter-wide theme with animated snow backgrounds and festive color scheme.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="167"/>
+@@ -27144,34 +25216,34 @@ When you have completed your configuration, press &quot;OK&quot; to search.</tra
+ <message>
+ <location filename="../themes/themestrings.h" line="2188"/>
+ <source>Wizard</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2189"/>
+ <source>Wizard for main mythtv settings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2190"/>
+ <source>Words</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2196"/>
+ <source>XXXXXX %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2202"/>
+ <source>You Haven&apos;t Scheduled Any Programs To Be Recorded!
+ To schedule a recording, exit this screen and select &apos;Program Guide&apos; or &apos;Program Finder&apos;.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2209"/>
+ <source>You Haven&apos;t Scheduled Any Programs To Be Recorded
+ To schedule a recording, exit this screen and select &apos;Program Guide&apos; or &apos;Program Finder&apos; </source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2210"/>
+@@ -27179,58 +25251,59 @@ To schedule a recording, exit this screen and select &apos;Program Guide&apos; o
+
+ To schedule a recording, exit this screen and
+ Select &apos;Program Guide&apos; or &apos;Program Finder&apos;</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2213"/>
+ <source>You haven&apos;t made any changes</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2214"/>
+ <source>You haven&apos;t made any changes in your Schedule.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2215"/>
+ <source>You may enter a value here or cancel to continue using the Spinbox.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2220"/>
+ <source>Zone Minder</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2224"/>
+ <source>[</source>
+- <translation type="unfinished"></translation>
++ <translation>[</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2225"/>
+ <source>[%statusbefore% &gt;&gt; %statusafter%]</source>
+- <translation type="unfinished"></translation>
++ <translation>[%statusbefore% &gt;&gt; %statusafter%]</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2226"/>
+ <source>[O]k</source>
+- <translation type="unfinished"></translation>
++ <translation>[O]k</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2227"/>
+ <source>[P]robe</source>
+- <translation type="unfinished"></translation>
++ <translation>[P]robe</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2228"/>
+ <source>[font]myverysmalllabel[/font]%(|s00e00|) %%|RATING| %%|(STARS|) %[font]mydesc[/font]%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>[font]myverysmalllabel[/font]%(|s00e00|) %%|RATING| %%|(STARS|) %[font]mydesc[/font]%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2229"/>
+ <source>[font]myverysmalllabel[/font]%(|s00e00|) %%|RATING| %%|(STARS|) %[font]mydesc[/font]%DESCRIPTION%%
+ [font]myverysmallsub[/font]|CAST| %</source>
+- <translation type="unfinished"></translation>
++ <translation>[font]myverysmalllabel[/font]%(|s00e00|) %%|RATING| %%|(STARS|) %[font]mydesc[/font]%DESCRIPTION%%
++[font]myverysmallsub[/font]|CAST| %</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2230"/>
+@@ -27239,58 +25312,63 @@ Select &apos;Program Guide&apos; or &apos;Program Finder&apos;</source>
+ [font]myverysmallsub[/font]Part |PARTNUMBER| of %%PARTTOTAL%%
+ [font]myverysmallsub[/font]|CAST| %%[font]myverysmallsub[/font]
+ [font]myverysmalllabel[/font]Director: |DIRECTOR| %</source>
+- <translation type="unfinished"></translation>
++ <translation>[font]myverysmalllabel[/font]%(|s00e00|) %%|RATING| %%|(STARS|) %[font]myverysmall[/font]%DESCRIPTION%%
++
++[font]myverysmallsub[/font]Part |PARTNUMBER| of %%PARTTOTAL%%
++[font]myverysmallsub[/font]|CAST| %%[font]myverysmallsub[/font]
++[font]myverysmalllabel[/font]Director: |DIRECTOR| %</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2231"/>
+ <source>[font]myverysmalllabel[/font]%|RATING| %%|(STARS|) %[font]mydesc[/font]%DESCRIPTION%%
+ [font]myverysmallsub[/font]|CAST| %</source>
+- <translation type="unfinished"></translation>
++ <translation>[font]myverysmalllabel[/font]%|RATING| %%|(STARS|) %[font]mydesc[/font]%DESCRIPTION%%
++[font]myverysmallsub[/font]|CAST| %</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2232"/>
+ <source>]</source>
+- <translation type="unfinished"></translation>
++ <translation>]</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2233"/>
+ <source>] =</source>
+- <translation type="unfinished"></translation>
++ <translation>] =</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2235"/>
+ <source>album</source>
+- <translation type="unfinished"></translation>
++ <translation>album</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2236"/>
+ <source>artist</source>
+- <translation type="unfinished">Artist</translation>
++ <translation>Artist</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2238"/>
+ <source>browse your Pictures library</source>
+- <translation type="unfinished"></translation>
++ <translation>Browse your pictures library</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2239"/>
+ <source>callsign: %callsign%</source>
+- <translation type="unfinished"></translation>
++ <translation>callsign: %callsign%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2240"/>
+ <source>dddd, MMMM dd, yyyy | hh:mm AP</source>
+- <translation type="unfinished"></translation>
++ <translation>dddd, MMMM dd, yyyy | hh:mm AP</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2241"/>
+ <source>dddd, MMMM dd, yyyy |</source>
+- <translation type="unfinished"></translation>
++ <translation>dddd, MMMM dd, yyyy |</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2244"/>
+ <source>decoded/free:</source>
+- <translation type="unfinished"></translation>
++ <translation>decoded/free:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2245"/>
+@@ -27310,53 +25388,53 @@ Select &apos;Program Guide&apos; or &apos;Program Finder&apos;</source>
+ <message>
+ <location filename="../themes/themestrings.h" line="2253"/>
+ <source>no info available</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2254"/>
+ <source>not recorded yet</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2255"/>
+ <source>ok</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2257"/>
+ <source>publisher:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2258"/>
+ <source>ratings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2259"/>
+ <source>recording group filter set on %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2261"/>
+ <source>save</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2262"/>
+ <source>smart</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2263"/>
+ <source>starring
+ %cast%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2264"/>
+ <source>television</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2266"/>
+@@ -27398,7 +25476,7 @@ Select &apos;Program Guide&apos; or &apos;Program Finder&apos;</source>
+ <message>
+ <location filename="../themes/themestrings.h" line="273"/>
+ <source>(1) All (2) Important</source>
+- <translation>(1) All (2) Important</translation>
++ <translation>(1) All (2) Important</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="55"/>
+@@ -27512,540 +25590,548 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="7"/>
+ <source>% - |year%% - |length%</source>
+- <translation type="unfinished"></translation>
++ <translation>% - |year%% - |length%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="8"/>
+ <source>%(|USERRATING)%</source>
+- <translation type="unfinished"></translation>
++ <translation>%(|USERRATING)%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="9"/>
+ <source>%00x00%</source>
+- <translation type="unfinished"></translation>
++ <translation>%00x00%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="10"/>
+ <source>%00x00| %%SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%00x00| %%SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="11"/>
+ <source>%00x00| %%TITLE| - %%SUBTITLE| %%|(LENMINS|)%</source>
+- <translation type="unfinished"></translation>
++ <translation>%00x00| %%TITLE| - %%SUBTITLE| %%|(LENMINS|)%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="12"/>
+ <source>%00x00| %%subtitle%</source>
+- <translation type="unfinished"></translation>
++ <translation>%00x00| %%subtitle%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="13"/>
+ <source>%00x00| %%~ |SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%00x00| %%~ |SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="15"/>
+ <source>%00x00| - %%&quot;|SUBTITLE|&quot;
+ %%|YEARSTARS| - %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%00x00| - %%&quot;|SUBTITLE|&quot;
++%%|YEARSTARS| - %%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="17"/>
+ <source>%00x00| ~ %%SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%00x00| ~ %%SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="21"/>
+ <source>%1 total</source>
+- <translation type="unfinished"></translation>
++ <translation>%1 total</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="23"/>
+ <source>%ASPECT% (%RESOLUTION%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%ASPECT% (%RESOLUTION%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="25"/>
+ <source>%CALLSIGN%</source>
+- <translation type="unfinished"></translation>
++ <translation>%CALLSIGN%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="26"/>
+ <source>%CALLSIGN% : %STARTTIME% - %ENDTIME% (%LENMINS%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%CALLSIGN% : %STARTTIME% - %ENDTIME% (%LENMINS%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="27"/>
+ <source>%CALLSIGN| %%: |YEAR| %%~ |STARTTIME| %%- |ENDTIME% (%LENMINS%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%CALLSIGN| %%: |YEAR| %%~ |STARTTIME| %%- |ENDTIME% (%LENMINS%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="28"/>
+ <source>%CALLSIGN| -% %CHANNEL%</source>
+- <translation type="unfinished"></translation>
++ <translation>%CALLSIGN| -% %CHANNEL%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="30"/>
+ <source>%CARD% - %TITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%CARD% - %TITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="31"/>
+ <source>%CARD% - %TITLESUBTITLE% (%LENMINS%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%CARD% - %TITLESUBTITLE% (%LENMINS%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="32"/>
+ <source>%CHANNELNUMBER% %CALLSIGN% %CHANNELNAME%</source>
+- <translation type="unfinished"></translation>
++ <translation>%CHANNELNUMBER% %CALLSIGN% %CHANNELNAME%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="36"/>
+ <source>%CHANNEL| | %%STARTTIME| - %%ENDTIME| %(%LENMINS%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%CHANNEL| | %%STARTTIME| - %%ENDTIME| %(%LENMINS%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="38"/>
+ <source>%CHANNUM% - %CALLSIGN% - %STARTDATE% (%STARTTIME% - %ENDTIME%) %LENMINS%</source>
+- <translation type="unfinished"></translation>
++ <translation>%CHANNUM% - %CALLSIGN% - %STARTDATE% (%STARTTIME% - %ENDTIME%) %LENMINS%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="39"/>
+ <source>%CHANNUM| %%CALLSIGN|
+ %%NAME%</source>
+- <translation type="unfinished"></translation>
++ <translation>%CHANNUM| %%CALLSIGN|
++%%NAME%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="40"/>
+ <source>%CHANNUM| %%NAME| - %%CALLSIGN| %</source>
+- <translation type="unfinished"></translation>
++ <translation>%CHANNUM| %%NAME| - %%CALLSIGN| %</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="41"/>
+ <source>%COUNTRY| %%NATIVECOUNTRY%</source>
+- <translation type="unfinished"></translation>
++ <translation>%COUNTRY| %%NATIVECOUNTRY%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="53"/>
+ <source>%DESCRIPTION% (%ERRATA%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%DESCRIPTION% (%ERRATA%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="54"/>
+ <source>%DESCRIPTION% (%LENMINS%) %YEARSTARS% %PROGRAMID%</source>
+- <translation type="unfinished"></translation>
++ <translation>%DESCRIPTION% (%LENMINS%) %YEARSTARS% %PROGRAMID%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="57"/>
+ <source>%DIRECTOR%</source>
+- <translation type="unfinished"></translation>
++ <translation>%DIRECTOR%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="58"/>
+ <source>%DIRECTOR| %%|(YEAR|) %%LENGTH%%| COUNTRIES%</source>
+- <translation type="unfinished"></translation>
++ <translation>%DIRECTOR| %%|(YEAR|) %%LENGTH%%| COUNTRIES%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="59"/>
+ <source>%Directed by |DIRECTOR|, %%YEAR%</source>
+- <translation type="unfinished"></translation>
++ <translation>%Directed by |DIRECTOR|, %%YEAR%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="61"/>
+ <source>%ENDTIME% %ENDDATE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%ENDTIME% %ENDDATE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="62"/>
+ <source>%EXTRA| %%ORIGIN%</source>
+- <translation type="unfinished"></translation>
++ <translation>%EXTRA| %%ORIGIN%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="63"/>
+ <source>%FRAMEDISPLAY% / %CUTINDICATOR%</source>
+- <translation type="unfinished"></translation>
++ <translation>%FRAMEDISPLAY% / %CUTINDICATOR%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="65"/>
+ <source>%GENRES%</source>
+- <translation type="unfinished"></translation>
++ <translation>%GENRES%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="67"/>
+ <source>%LONGCHANNEL| %%on card: |CARD%</source>
+- <translation type="unfinished"></translation>
++ <translation>%LONGCHANNEL| %%on card: |CARD%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="68"/>
+ <source>%LONGREPEAT%</source>
+- <translation type="unfinished"></translation>
++ <translation>%LONGREPEAT%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="69"/>
+ <source>%LONGREPEAT% Size: %FILESIZE_STR%</source>
+- <translation type="unfinished"></translation>
++ <translation>%LONGREPEAT% Size: %FILESIZE_STR%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="71"/>
+ <source>%LONGREPEAT%%STARS%%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%LONGREPEAT%%STARS%%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="72"/>
+ <source>%LONGREPEAT%%STARS| %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%LONGREPEAT%%STARS| %%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="73"/>
+ <source>%LONGREPEAT%%YEARSTARS% %DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%LONGREPEAT%%YEARSTARS% %DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="74"/>
+ <source>%LONGREPEAT%%YEARSTARS%%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%LONGREPEAT%%YEARSTARS%%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="76"/>
+ <source>%MODELNAME% ~ %VERSION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%MODELNAME% ~ %VERSION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="77"/>
+ <source>%NAME% - %ASPECT% (%RESOLUTION%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%NAME% - %ASPECT% (%RESOLUTION%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="78"/>
+ <source>%ORIGIN%</source>
+- <translation type="unfinished"></translation>
++ <translation>%ORIGIN%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="79"/>
+ <source>%ORIGINALAIRDATE% %REPEAT%</source>
+- <translation type="unfinished"></translation>
++ <translation>%ORIGINALAIRDATE% %REPEAT%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="83"/>
+ <source>%PLAYEDTIME| of% %TOTALTIME% %(|REMAININGTIME| remaining)%%(|BEHINDTIME| behind)%</source>
+- <translation type="unfinished"></translation>
++ <translation>%PLAYEDTIME| of% %TOTALTIME% %(|REMAININGTIME| remaining)%%(|BEHINDTIME| behind)%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="84"/>
+ <source>%PLAYGROUP% play group</source>
+- <translation type="unfinished"></translation>
++ <translation>%PLAYGROUP% play group</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="85"/>
+ <source>%PROGRESS_TEXT% %PROGRESS%</source>
+- <translation type="unfinished"></translation>
++ <translation>%PROGRESS_TEXT% %PROGRESS%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="88"/>
+ <source>%RELEASEDATE% %IMDB% %S##E##%</source>
+- <translation type="unfinished"></translation>
++ <translation>%RELEASEDATE% %IMDB% %S##E##%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="92"/>
+ <source>%S##E##%</source>
+- <translation type="unfinished"></translation>
++ <translation>%S##E##%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="93"/>
+ <source>%SHORTSTARTDATE% %STARTTIME%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SHORTSTARTDATE% %STARTTIME%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="94"/>
+ <source>%SHORTTIMEDATE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SHORTTIMEDATE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="95"/>
+ <source>%SOURCENAME|
+ %%CHANID| %</source>
+- <translation type="unfinished"></translation>
++ <translation>%SOURCENAME|
++%%CHANID| %</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="96"/>
+ <source>%STARTDATE% (%STARTTIME% - %ENDTIME%) %LENMINS%</source>
+- <translation type="unfinished"></translation>
++ <translation>%STARTDATE% (%STARTTIME% - %ENDTIME%) %LENMINS%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="99"/>
+ <source>%STARTDATE|, %%STARTTIME%%- |ENDTIME%</source>
+- <translation type="unfinished"></translation>
++ <translation>%STARTDATE|, %%STARTTIME%%- |ENDTIME%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="100"/>
+ <source>%STARTTIME% %STARTDATE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%STARTTIME% %STARTDATE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="101"/>
+ <source>%STARTTIME% - %ENDTIME%</source>
+- <translation type="unfinished"></translation>
++ <translation>%STARTTIME% - %ENDTIME%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="108"/>
+ <source>%STATION% - %CHANNEL%</source>
+- <translation type="unfinished"></translation>
++ <translation>%STATION% - %CHANNEL%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="109"/>
+ <source>%STORAGEGROUP% storage group</source>
+- <translation type="unfinished"></translation>
++ <translation>%STORAGEGROUP% storage group</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="110"/>
+ <source>%SUBTITLE%%[font]myverysmallsub[/font] [Part |PARTNUMBER|]%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SUBTITLE%%[font]myverysmallsub[/font] [Part |PARTNUMBER|]%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="111"/>
+ <source>%SUBTITLE| %%STARS| %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SUBTITLE| %%STARS| %%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="112"/>
+ <source>%SUBTITLE|&quot;|&quot; %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SUBTITLE|&quot;|&quot; %%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="113"/>
+ <source>%SUBTITLE|&quot;|&quot; %%STARS%%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SUBTITLE|&quot;|&quot; %%STARS%%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="114"/>
+ <source>%SUBTITLE|&quot;|&quot;%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SUBTITLE|&quot;|&quot;%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="115"/>
+ <source>%SUBTITLE|&quot;|&quot;%%REPEAT%%STARS%%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SUBTITLE|&quot;|&quot;%%REPEAT%%STARS%%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="116"/>
+ <source>%SUBTITLE|&quot;|&quot;%%STARS%%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%SUBTITLE|&quot;|&quot;%%STARS%%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="120"/>
+ <source>%TIMEDATE% (%LENMINS%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%TIMEDATE% (%LENMINS%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="121"/>
+ <source>%TIMEDATE% : %LENMINS%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TIMEDATE% : %LENMINS%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="122"/>
+ <source>%TIMEDISPLAY% %CUTINDICATOR%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TIMEDISPLAY% %CUTINDICATOR%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="123"/>
+ <source>%TIMEDISPLAY% %VALUE%%UNITS%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TIMEDISPLAY% %VALUE%%UNITS%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="125"/>
+ <source>%TITLE% %SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE% %SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="126"/>
+ <source>%TITLE% %|(CATEGORY|)%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE% %|(CATEGORY|)%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="127"/>
+ <source>%TITLE% - %ARTIST% %(|ALBUM|)%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE% - %ARTIST% %(|ALBUM|)%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="128"/>
+ <source>%TITLE% - %SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE% - %SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="130"/>
+ <source>%TITLE%% - [font]mymediumlight[/font]|SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE%% - [font]mymediumlight[/font]|SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="131"/>
+ <source>%TITLE%% - [font]mymediumlight[/font]|SUBTITLE%%[font]myverysmallsub[/font] [Part |PARTNUMBER|]%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE%% - [font]mymediumlight[/font]|SUBTITLE%%[font]myverysmallsub[/font] [Part |PARTNUMBER|]%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="132"/>
+ <source>%TITLE%% - |00x00%% - |SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE%% - |00x00%% - |SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="135"/>
+ <source>%TITLE%% ~ |SUBTITLE%% (|YEAR|)%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE%% ~ |SUBTITLE%% (|YEAR|)%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="136"/>
+ <source>%TITLE%: %SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE%: %SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="137"/>
+ <source>%TITLESUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLESUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="140"/>
+ <source>%TITLE| %%~ |00x00| %%~ |SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE| %%~ |00x00| %%~ |SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="141"/>
+ <source>%TITLE| %%~ |SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%TITLE| %%~ |SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="142"/>
+ <source>%USERRATING| - %%RATING%</source>
+- <translation type="unfinished"></translation>
++ <translation>%USERRATING| - %%RATING%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="143"/>
+ <source>%USERRATING| /10 -% %RATING%</source>
+- <translation type="unfinished"></translation>
++ <translation>%USERRATING| /10 -% %RATING%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="146"/>
+ <source>%VALUE% %UNITS%</source>
+- <translation type="unfinished"></translation>
++ <translation>%VALUE% %UNITS%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="149"/>
+ <source>%VIDEOCODEC%/%VIDEODECODER%</source>
+- <translation type="unfinished"></translation>
++ <translation>%VIDEOCODEC%/%VIDEODECODER%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="150"/>
+ <source>%VIDEOFRAMES% frames</source>
+- <translation type="unfinished"></translation>
++ <translation>%VIDEOFRAMES% frames</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="151"/>
+ <source>%VIDEOWIDTH%x%VIDEOHEIGHT%</source>
+- <translation type="unfinished"></translation>
++ <translation>%VIDEOWIDTH%x%VIDEOHEIGHT%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="153"/>
+ <source>%VIDEOWIDTH%x%VIDEOHEIGHT%@%VIDEOFRAMERATE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%VIDEOWIDTH%x%VIDEOHEIGHT%@%VIDEOFRAMERATE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="156"/>
+ <source>%YEARSTARS% %DESCRIPTION% (%LENMINS%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%YEARSTARS% %DESCRIPTION% (%LENMINS%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="157"/>
+ <source>%YEARSTARS%%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%YEARSTARS%%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="159"/>
+ <source>%YEARSTARS| %%SUBTITLE%</source>
+- <translation type="unfinished"></translation>
++ <translation>%YEARSTARS| %%SUBTITLE%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="160"/>
+ <source>%YEAR|, %%STARS|, %%CATEGORY|. %%DESCRIPTION%% (|LENMINS|)%% |PLAYGROUP%</source>
+- <translation type="unfinished"></translation>
++ <translation>%YEAR|, %%STARS|, %%CATEGORY|. %%DESCRIPTION%% (|LENMINS|)%% |PLAYGROUP%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="161"/>
+ <source>%&quot;|SUBTITLE|&quot; %% |TIMEDATE| %% |LENMINS| %</source>
+- <translation type="unfinished"></translation>
++ <translation>%&quot;|SUBTITLE|&quot; %% |TIMEDATE| %% |LENMINS| %</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="162"/>
+ <source>%&quot;|SUBTITLE|&quot; %%YEARSTARS| %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%&quot;|SUBTITLE|&quot; %%YEARSTARS| %%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="171"/>
+ <source>%&quot;|SUBTITLE|&quot; %%&quot;|TAGLINE|&quot; %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%&quot;|SUBTITLE|&quot; %%&quot;|TAGLINE|&quot; %%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="172"/>
+ <source>%&quot;|SUBTITLE|&quot;: %%LONGREPEAT%%(|STARS|) %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%&quot;|SUBTITLE|&quot;: %%LONGREPEAT%%(|STARS|) %%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="173"/>
+ <source>%&quot;|SUBTITLE|&quot;
+ %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%&quot;|SUBTITLE|&quot;
++%%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="176"/>
+ <source>%&quot;|SUBTITLE|&quot;
+
+ %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation>%&quot;|SUBTITLE|&quot;
++
++%%DESCRIPTION%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="177"/>
+ <source>%&quot;|subtitle|&quot;
+ %%description%</source>
+- <translation type="unfinished"></translation>
++ <translation>%&quot;|subtitle|&quot;
++%%description%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="178"/>
+ <source>%album% %(|year|)%</source>
+- <translation type="unfinished"></translation>
++ <translation>%album% %(|year|)%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="179"/>
+ <source>%artist% - %title%</source>
+- <translation type="unfinished"></translation>
++ <translation>%artist% - %title%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="180"/>
+ <source>%buttontext%</source>
+- <translation type="unfinished"></translation>
++ <translation>%buttontext%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="181"/>
+ <source>%buttontext%
+ %time%</source>
+- <translation type="unfinished"></translation>
++ <translation>%buttontext%
++%time%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="182"/>
+ <source>%callsign% (Priority: %priority%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%callsign% (Priority: %priority%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="183"/>
+ <source>%cast%</source>
+- <translation type="unfinished"></translation>
++ <translation>%cast%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="184"/>
+ <source>%channel%</source>
+- <translation type="unfinished"></translation>
++ <translation>%channel%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="186"/>
+ <source>%channelsourcename%</source>
+- <translation type="unfinished"></translation>
++ <translation>%channelsourcename%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="187"/>
+@@ -28055,76 +26141,76 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="188"/>
+ <source>%channum% - %callsign% | %STARTTIME%-%ENDTIME% (%LENMINS%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%channum% - %callsign% | %STARTTIME%-%ENDTIME% (%LENMINS%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="189"/>
+ <source>%chanstr% - %channelname%</source>
+- <translation type="unfinished"></translation>
++ <translation>%chanstr% - %channelname%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="191"/>
+ <source>%director%%, |year%</source>
+- <translation type="unfinished"></translation>
++ <translation>%director%%, |year%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="192"/>
+ <source>%filesize_str% of %storagegroup% Storage</source>
+- <translation type="unfinished"></translation>
++ <translation>%filesize_str% of %storagegroup% Storage</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="193"/>
+ <source>%lastplayed% (played: %playcount% times)</source>
+- <translation type="unfinished"></translation>
++ <translation>%lastplayed% (played: %playcount% times)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="194"/>
+ <source>%lenmins%</source>
+- <translation type="unfinished"></translation>
++ <translation>%lenmins%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="195"/>
+ <source>%longchannel% | %filesize_str% of %storagegroup% Storage</source>
+- <translation type="unfinished"></translation>
++ <translation>%longchannel% | %filesize_str% of %storagegroup% Storage</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="196"/>
+ <source>%longchannel% - %timedate%</source>
+- <translation type="unfinished"></translation>
++ <translation>%longchannel% - %timedate%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="197"/>
+ <source>%longchannel% - %titlesubtitle%</source>
+- <translation type="unfinished"></translation>
++ <translation>%longchannel% - %titlesubtitle%</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../themes/themestrings.h" line="199"/>
+ <source>%n in current group</source>
+- <translation type="unfinished">
+- <numerusform></numerusform>
++ <translation>
++ <numerusform>%n in current group</numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../themes/themestrings.h" line="202"/>
+ <source>%name%</source>
+- <translation type="unfinished">
+- <numerusform></numerusform>
++ <translation>
++ <numerusform>%name%</numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../themes/themestrings.h" line="203"/>
+ <source>%name% (%callsign%)</source>
+- <translation type="unfinished">
+- <numerusform></numerusform>
++ <translation>
++ <numerusform>%name% (%callsign%)</numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../themes/themestrings.h" line="204"/>
+ <source>%name% / %callsign% (Source: %sourcename%)</source>
+- <translation type="unfinished">
++ <translation>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+@@ -28132,203 +26218,204 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="206"/>
+ <source>%playlistplayedtime% of %playlisttotaltime%</source>
+- <translation type="unfinished"></translation>
++ <translation>%playlistplayedtime% of %playlisttotaltime%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="207"/>
+ <source>%progpriority% / %finalpriority%</source>
+- <translation type="unfinished"></translation>
++ <translation>%progpriority% / %finalpriority%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="208"/>
+ <source>%rating |USERRATING%</source>
+- <translation type="unfinished"></translation>
++ <translation>%rating |USERRATING%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="209"/>
+ <source>%recordedpercent%</source>
+- <translation type="unfinished"></translation>
++ <translation>%recordedpercent%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="210"/>
+ <source>%rectypechar% - %titlesubtitle%</source>
+- <translation type="unfinished"></translation>
++ <translation>%rectypechar% - %titlesubtitle%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="211"/>
+ <source>%rectypestatus% on card number %card%</source>
+- <translation type="unfinished"></translation>
++ <translation>%rectypestatus% on card number %card%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="212"/>
+ <source>%rectypestatus%% on card number |card%</source>
+- <translation type="unfinished"></translation>
++ <translation>%rectypestatus%% on card number |card%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="215"/>
+ <source>%shortstarttimedate% | %titlesubtitle%</source>
+- <translation type="unfinished"></translation>
++ <translation>%shortstarttimedate% | %titlesubtitle%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="216"/>
+ <source>%shortstarttimedate% | %titlesubtitle% | %channel%</source>
+- <translation type="unfinished"></translation>
++ <translation>%shortstarttimedate% | %titlesubtitle% | %channel%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="217"/>
+ <source>%startdate%% - |00x00%
+ %title%</source>
+- <translation type="unfinished"></translation>
++ <translation>%startdate%% - |00x00%
++%title%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="218"/>
+ <source>%startdate%%| year%</source>
+- <translation type="unfinished"></translation>
++ <translation>%startdate%%| year%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="219"/>
+ <source>%startdate%%| year%, %starttime% - %endtime% (%lenmins%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%startdate%%| year%, %starttime% - %endtime% (%lenmins%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="220"/>
+ <source>%startdate%, %starttime%</source>
+- <translation type="unfinished"></translation>
++ <translation>%startdate%, %starttime%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="223"/>
+ <source>%station% - %channel%</source>
+- <translation type="unfinished"></translation>
++ <translation>%station% - %channel%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="224"/>
+ <source>%time%</source>
+- <translation type="unfinished"></translation>
++ <translation>%time%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="225"/>
+ <source>%timedate% (%channel%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%timedate% (%channel%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="226"/>
+ <source>%timedate% (%lenmins%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%timedate% (%lenmins%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="227"/>
+ <source>%timedate% (%lenmins%) - %channel%</source>
+- <translation type="unfinished"></translation>
++ <translation>%timedate% (%lenmins%) - %channel%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="228"/>
+ <source>%timedate% - %description%</source>
+- <translation type="unfinished"></translation>
++ <translation>%timedate% - %description%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="230"/>
+ <source>%title%</source>
+- <translation type="unfinished"></translation>
++ <translation>%title%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="231"/>
+ <source>%title% | %timedate% on %channel%</source>
+- <translation type="unfinished"></translation>
++ <translation>%title% | %timedate% on %channel%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="233"/>
+ <source>%title%% - |artist%</source>
+- <translation type="unfinished"></translation>
++ <translation>%title%% - |artist%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="234"/>
+ <source>%title%% - |subtitle%</source>
+- <translation type="unfinished"></translation>
++ <translation>%title%% - |subtitle%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="236"/>
+ <source>%titlesubtitle%</source>
+- <translation type="unfinished"></translation>
++ <translation>%titlesubtitle%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="237"/>
+ <source>%titlesubtitle% (Priority: %progpriority% / %finalpriority%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%titlesubtitle% (Priority: %progpriority% / %finalpriority%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="238"/>
+ <source>%titlesubtitle% | %timedate% (%lenmins%)</source>
+- <translation type="unfinished"></translation>
++ <translation>%titlesubtitle% | %timedate% (%lenmins%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="239"/>
+ <source>%userrating%</source>
+- <translation type="unfinished"></translation>
++ <translation>%userrating%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="240"/>
+ <source>%userrating|/10%</source>
+- <translation type="unfinished"></translation>
++ <translation>%userrating|/10%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="241"/>
+ <source>%volume% %(|mute|)%</source>
+- <translation type="unfinished"></translation>
++ <translation>%volume% %(|mute|)%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="242"/>
+ <source>%watchedpercent%</source>
+- <translation type="unfinished"></translation>
++ <translation>%watchedpercent%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="243"/>
+ <source>%year%% by |director%%, |length%%, rating: |userrating%</source>
+- <translation type="unfinished"></translation>
++ <translation>%year%% by |director%%, |length%%, rating: |userrating%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="244"/>
+ <source>%year|, %%timedate%</source>
+- <translation type="unfinished"></translation>
++ <translation>%year|, %%timedate%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="246"/>
+ <source>%|(USERRATING)%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="259"/>
+ <source>%|recordedpercent|%%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="260"/>
+ <source>%|recordedpercent|%% recorded</source>
+- <translation type="unfinished"></translation>
++ <translation>%|recordedpercent|%% recorded</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="261"/>
+ <source>%|watchedpercent|%%</source>
+- <translation type="unfinished"></translation>
++ <translation>%|watchedpercent|%%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="262"/>
+ <source>%|watchedpercent|%% watched</source>
+- <translation type="unfinished"></translation>
++ <translation>%|watchedpercent|%% watched</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="265"/>
+ <source>(%STARTTIME% - %ENDTIME%) %LENMINS%</source>
+- <translation type="unfinished"></translation>
++ <translation>(%STARTTIME% - %ENDTIME%) %LENMINS%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="268"/>
+ <source>(%card%)</source>
+- <translation type="unfinished"></translation>
++ <translation>(%card%)</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../themes/themestrings.h" line="269"/>
+ <source>(%channum%) %name% - %sourcename%</source>
+- <translation type="unfinished">
++ <translation>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+@@ -28336,1182 +26423,1182 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="270"/>
+ <source>(%statusbefore%) -&gt; (%statusafter%)</source>
+- <translation type="unfinished"></translation>
++ <translation>(%statusbefore%) -&gt; (%statusafter%)</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="271"/>
+ <source>(%statusbefore%) -&gt; (%statusafter%): %shorttimedate% on %channel%</source>
+- <translation type="unfinished"></translation>
++ <translation>(%statusbefore%) -&gt; (%statusafter%): %shorttimedate% on %channel%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="274"/>
+ <source>(1) Channel (2) Priority</source>
+- <translation type="unfinished"></translation>
++ <translation>(1) Channel (2) Priority</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="277"/>
+ <source>(1) Title (2) Priority (4) Type</source>
+- <translation type="unfinished"></translation>
++ <translation>(1) Title (2) Priority (4) Type</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="280"/>
+ <source>(4) Program Guide **(6) Program Finder **</source>
+- <translation type="unfinished"></translation>
++ <translation>(4) Program Guide **(6) Program Finder **</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="287"/>
+ <source>0</source>
+- <translation type="unfinished">0</translation>
++ <translation>0</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="288"/>
+ <source>0 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>0 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="291"/>
+ <source>0.0</source>
+- <translation type="unfinished">0% {0.0?}</translation>
++ <translation>0.0</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="292"/>
+ <source>0.5</source>
+- <translation type="unfinished">0% {0.5?}</translation>
++ <translation>0.5</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="293"/>
+ <source>0:00:00</source>
+- <translation type="unfinished">0% {0:00:00?}</translation>
++ <translation>0% {0:00:00?}</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="295"/>
+ <source>1 Star</source>
+- <translation type="unfinished"></translation>
++ <translation>1 Star</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="298"/>
+ <source>1.0</source>
+- <translation type="unfinished">0% {1.0?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="299"/>
+ <source>1.5</source>
+- <translation type="unfinished">0% {1.5?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="300"/>
+ <source>10 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>10 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="304"/>
+ <source>16x9</source>
+- <translation type="unfinished">1h30m {16x?} {9?}</translation>
++ <translation>16:9</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="306"/>
+ <source>2 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>2 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="308"/>
+ <source>2.0</source>
+- <translation type="unfinished">0% {2.0?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="309"/>
+ <source>2.5</source>
+- <translation type="unfinished">0% {2.5?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="311"/>
+ <source>3 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>3 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="313"/>
+ <source>3.0</source>
+- <translation type="unfinished">0% {3.0?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="314"/>
+ <source>3.5</source>
+- <translation type="unfinished">0% {3.5?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="316"/>
+ <source>4 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>4 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="318"/>
+ <source>4.0</source>
+- <translation type="unfinished">0% {4.0?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="319"/>
+ <source>4.5</source>
+- <translation type="unfinished">0% {4.5?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="320"/>
+ <source>5 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>5 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="322"/>
+ <source>5.0</source>
+- <translation type="unfinished">0% {5.0?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="323"/>
+ <source>576p</source>
+- <translation type="unfinished">0% {576p?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="324"/>
+ <source>6 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>6 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="326"/>
+ <source>7 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>7 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="329"/>
+ <source>720p</source>
+- <translation type="unfinished">0% {720p?}</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="330"/>
+ <source>8 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>8 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="332"/>
+ <source>9 Stars</source>
+- <translation type="unfinished"></translation>
++ <translation>9 Stars</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="333"/>
+ <source>:</source>
+- <translation type="unfinished"></translation>
++ <translation>:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="340"/>
+ <source>???</source>
+- <translation type="unfinished"></translation>
++ <translation>???</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="344"/>
+ <source>A bookmark is set</source>
+- <translation type="unfinished">Bookmark is Set</translation>
++ <translation>Bookmark is Set</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="347"/>
+ <source>A simple theme of black, white and shades of gray.</source>
+- <translation type="unfinished"></translation>
++ <translation>A simple theme of black, white and shades of gray.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="349"/>
+ <source>A version of Steppes with 25% larger fonts. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</source>
+- <translation type="unfinished"></translation>
++ <translation>A version of Steppes with 25% larger fonts. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="352"/>
+ <source>A/V Sync:</source>
+- <translation type="unfinished"></translation>
++ <translation>A/V Sync:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="353"/>
+ <source>A/V Sync: %avsync%</source>
+- <translation type="unfinished"></translation>
++ <translation>A/V Sync: %avsync%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="356"/>
+ <source>AC3 Audio:</source>
+- <translation type="unfinished"></translation>
++ <translation>AC3 Audio:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="357"/>
+ <source>AP</source>
+- <translation type="unfinished"></translation>
++ <translation>AP</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="358"/>
+ <source>AUTOEXPIRE</source>
+- <translation type="unfinished"></translation>
++ <translation>AUTOEXPIRE</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="359"/>
+ <source>AVCHD</source>
+- <translation type="unfinished"></translation>
++ <translation>AVCHD</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="362"/>
+ <source>Actions:</source>
+- <translation type="unfinished"></translation>
++ <translation>Actions:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="368"/>
+ <source>Add File Extensions</source>
+- <translation type="unfinished"></translation>
++ <translation>Add File Extensions</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="370"/>
+ <source>Add your storage</source>
+- <translation type="unfinished"></translation>
++ <translation>Add your storage</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="371"/>
+ <source>Add your storage Folders</source>
+- <translation type="unfinished"></translation>
++ <translation>Add your storage Folders</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="381"/>
+ <source>Aired</source>
+- <translation type="unfinished"></translation>
++ <translation>Aired</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="382"/>
+ <source>Aired:</source>
+- <translation type="unfinished"></translation>
++ <translation>Aired:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="383"/>
+ <source>Album:</source>
+- <translation type="unfinished"></translation>
++ <translation>Album:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="384"/>
+ <source>All programs alphabetically sorted</source>
+- <translation type="unfinished"></translation>
++ <translation>All programs alphabetically sorted</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="386"/>
+ <source>Allow recordings to expire:</source>
+- <translation type="unfinished"></translation>
++ <translation>Allow recordings to expire:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="388"/>
+ <source>Alphabet</source>
+- <translation type="unfinished"></translation>
++ <translation>Alphabet</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="391"/>
+ <source>Alternative player:</source>
+- <translation type="unfinished"></translation>
++ <translation>Alternative Player:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="393"/>
+ <source>An editing cutlist is present</source>
+- <translation type="unfinished">Editing Cutlist is Present</translation>
++ <translation>Editing Cutlist is Present</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="397"/>
+ <source>Apply filters to select your movies</source>
+- <translation type="unfinished"></translation>
++ <translation>Apply Filters to Select Your Movies</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="400"/>
+ <source>Archive Utilities</source>
+- <translation type="unfinished"></translation>
++ <translation>Archive Utilities</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="401"/>
+ <source>Archives</source>
+- <translation type="unfinished"></translation>
++ <translation>Archives</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="403"/>
+ <source>Article item:</source>
+- <translation type="unfinished"></translation>
++ <translation>Article Item:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="404"/>
+ <source>Artist:</source>
+- <translation type="unfinished"></translation>
++ <translation>Artist:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="405"/>
+ <source>Artwork Results</source>
+- <translation type="unfinished"></translation>
++ <translation>Artwork Results</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="408"/>
+ <source>Artwork and Metadata</source>
+- <translation type="unfinished"></translation>
++ <translation>Artwork and Metadata</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="410"/>
+ <source>Artwork selector</source>
+- <translation type="unfinished"></translation>
++ <translation>Artwork Selector</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="411"/>
+ <source>Artwork, Metadata Sources</source>
+- <translation type="unfinished"></translation>
++ <translation>Artwork, Metadata Sources</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="412"/>
+ <source>Aspect Ratio</source>
+- <translation type="unfinished">Aspect Ratio</translation>
++ <translation>Aspect Ratio</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="413"/>
+ <source>Aspect:</source>
+- <translation type="unfinished"></translation>
++ <translation>Aspect:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="414"/>
+ <source>Aspect: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Aspect: %1</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="416"/>
+ <source>Associate File</source>
+- <translation type="unfinished"></translation>
++ <translation>Associate File</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="418"/>
+ <source>Attempting to connect to Database.</source>
+- <translation type="unfinished"></translation>
++ <translation>Attempting to connect to database.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="419"/>
+ <source>Attempting to connect to master backend.</source>
+- <translation type="unfinished"></translation>
++ <translation>Attempting to connect to master backend.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="420"/>
+ <source>Attempting to wake master backend.</source>
+- <translation type="unfinished"></translation>
++ <translation>Attempting to wake master backend.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="424"/>
+ <source>Audio Details</source>
+- <translation type="unfinished"></translation>
++ <translation>Audio Details</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="426"/>
+ <source>Audio Setup</source>
+- <translation type="unfinished"></translation>
++ <translation>Audio Setup</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="427"/>
+ <source>Audio Track:</source>
+- <translation type="unfinished"></translation>
++ <translation>Audio Track:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="428"/>
+ <source>Audio codec:</source>
+- <translation type="unfinished"></translation>
++ <translation>Audio Codec:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="429"/>
+ <source>Audio volume:</source>
+- <translation type="unfinished"></translation>
++ <translation>Audio Volume:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="430"/>
+ <source>Audio: %audiocodec%</source>
+- <translation type="unfinished"></translation>
++ <translation>Audio: %audiocodec%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="431"/>
+ <source>Audio: 5 CH.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="432"/>
+ <source>Audio: 7 CH.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="433"/>
+ <source>Audio: 7.1 CH.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="434"/>
+ <source>Audio: Mono</source>
+- <translation type="unfinished"></translation>
++ <translation>Audio: Mono</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="435"/>
+ <source>AudioChannels: 5.1</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioChannels: 5.1</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="436"/>
+ <source>AudioChannels: Stereo</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioChannels: Stereo</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="437"/>
+ <source>AudioCodec: AAC</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: AAC</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="438"/>
+ <source>AudioCodec: AC3</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: AC3</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="439"/>
+ <source>AudioCodec: BLURAY</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: BLURAY</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="440"/>
+ <source>AudioCodec: DTS</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: DTS</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="441"/>
+ <source>AudioCodec: E-AC3</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: E-AC3</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="442"/>
+ <source>AudioCodec: MP2</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: MP2</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="443"/>
+ <source>AudioCodec: MP3</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: MP3</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="444"/>
+ <source>AudioCodec: PCM_DVD</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: PCM_DVD</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="445"/>
+ <source>AudioCodec: TRUEHD</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: TRUEHD</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="446"/>
+ <source>AudioCodec: VORBIS</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: VORBIS</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="447"/>
+ <source>AudioCodec: WMAPRO</source>
+- <translation type="unfinished"></translation>
++ <translation>AudioCodec: WMAPRO</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="448"/>
+ <source>Auto Extend:</source>
+- <translation type="unfinished"></translation>
++ <translation>Auto Extend:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="449"/>
+ <source>Auto expire:</source>
+- <translation type="unfinished"></translation>
++ <translation>Auto expire:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="451"/>
+ <source>Automatically Extend:</source>
+- <translation type="unfinished"></translation>
++ <translation>Automatically Extend:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="456"/>
+ <source>Available Buffer: %BUFFERAVAIL% of %BUFFERSIZE%Mb</source>
+- <translation type="unfinished"></translation>
++ <translation>Available Buffer: %BUFFERAVAIL% of %BUFFERSIZE%Mb</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="460"/>
+ <source>BOOKMARKED</source>
+- <translation type="unfinished"></translation>
++ <translation>BOOKMARKED</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="462"/>
+ <source>Back more</source>
+- <translation type="unfinished"></translation>
++ <translation>Back More</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="463"/>
+ <source>Backend Selection</source>
+- <translation type="unfinished"></translation>
++ <translation>Backend Selection</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="465"/>
+ <source>Backend is idle!</source>
+- <translation type="unfinished"></translation>
++ <translation>Backend is idle!</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="467"/>
+ <source>Backend is offline!</source>
+- <translation type="unfinished"></translation>
++ <translation>Backend is offline!</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="469"/>
+ <source>Backend is recording!</source>
+- <translation type="unfinished"></translation>
++ <translation>Backend is recording!</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="474"/>
+ <source>Banner Image:</source>
+- <translation type="unfinished"></translation>
++ <translation>Banner Image:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="476"/>
+ <source>Banner: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Banner: %1</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="478"/>
+ <source>Based on Mythbuntu theme with 14ch 4hr guide full menus</source>
+- <translation type="unfinished"></translation>
++ <translation>Based on Mythbuntu theme with 14ch 4hr guide full menus</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="479"/>
+ <source>Basic configuration</source>
+- <translation type="unfinished"></translation>
++ <translation>Basic Configuration</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="480"/>
+ <source>Basic configuration wizard</source>
+- <translation type="unfinished"></translation>
++ <translation>Basic Configuration Wizard</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="484"/>
+ <source>Blu-ray</source>
+- <translation type="unfinished"></translation>
++ <translation>Blu-ray</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="491"/>
+ <source>BlueRay Disc</source>
+- <translation type="unfinished"></translation>
++ <translation>Blu-ray Disc</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="493"/>
+ <source>Bookmark</source>
+- <translation type="unfinished">Bookmark</translation>
++ <translation>Bookmark</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="500"/>
+ <source>Browse Video</source>
+- <translation type="unfinished"></translation>
++ <translation>Browse video</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="502"/>
+ <source>Browse Web</source>
+- <translation type="unfinished"></translation>
++ <translation>Browse web</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="504"/>
+ <source>Browse popular video sites</source>
+- <translation type="unfinished"></translation>
++ <translation>Browse popular video sites</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="505"/>
+ <source>Browse the</source>
+- <translation type="unfinished"></translation>
++ <translation>Browse the</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="506"/>
+ <source>Browse the World Wide Web</source>
+- <translation type="unfinished"></translation>
++ <translation>Browse the world wide web</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="511"/>
+ <source>Browse your movie library</source>
+- <translation type="unfinished"></translation>
++ <translation>Browse your movie library</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="514"/>
+ <source>Browse your video games library</source>
+- <translation type="unfinished"></translation>
++ <translation>Browse your video games library</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="519"/>
+ <source>Browseable: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Browseable: %1</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="520"/>
+ <source>Browseble:</source>
+- <translation type="unfinished"></translation>
++ <translation>Browseble:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="521"/>
+ <source>Browser</source>
+- <translation type="unfinished"></translation>
++ <translation>Browser</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="522"/>
+ <source>BrowsingLiveTV</source>
+- <translation type="unfinished"></translation>
++ <translation>BrowsingLiveTV</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="525"/>
+ <source>Buffer to Decoder: %decoderrate%</source>
+- <translation type="unfinished"></translation>
++ <translation>Buffer to Decoder: %decoderrate%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="526"/>
+ <source>Buffer: %bufferstatus%</source>
+- <translation type="unfinished"></translation>
++ <translation>Buffer: %bufferstatus%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="529"/>
+ <source>CC</source>
+- <translation type="unfinished">CC</translation>
++ <translation>CC</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="530"/>
+ <source>CCTV</source>
+- <translation type="unfinished"></translation>
++ <translation>CCTV</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="531"/>
+ <source>CD</source>
+- <translation type="unfinished">CD</translation>
++ <translation>CD</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="533"/>
+ <source>CFLAGQUEUED</source>
+- <translation type="unfinished"></translation>
++ <translation>CFLAGQUEUED</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="534"/>
+ <source>COMFLAGGED</source>
+- <translation type="unfinished"></translation>
++ <translation>COMFLAGGED</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="535"/>
+ <source>COMFLAGGING</source>
+- <translation type="unfinished"></translation>
++ <translation>COMFLAGGING</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="536"/>
+ <source>CPU load:</source>
+- <translation type="unfinished"></translation>
++ <translation>CPU Load:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="537"/>
+ <source>CPU load: %load%</source>
+- <translation type="unfinished"></translation>
++ <translation>CPU Load: %load%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="539"/>
+ <source>CUTLIST</source>
+- <translation type="unfinished"></translation>
++ <translation>CUTLIST</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="544"/>
+ <source>Captions</source>
+- <translation type="unfinished"></translation>
++ <translation>Captions</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="545"/>
+ <source>Card: %card%</source>
+- <translation type="unfinished"></translation>
++ <translation>Card: %card%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="546"/>
+ <source>Cards</source>
+- <translation type="unfinished"></translation>
++ <translation>Cards</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="550"/>
+ <source>Cast: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Cast: %1</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="551"/>
+ <source>Catagories</source>
+- <translation type="unfinished"></translation>
++ <translation>Categories</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="552"/>
+ <source>Catagory</source>
+- <translation type="unfinished"></translation>
++ <translation>Category</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="553"/>
+ <source>Categorie</source>
+- <translation type="unfinished"></translation>
++ <translation>Categories</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="559"/>
+ <source>Category: %CATEGORY% PlayBackGroup: %PLAYGROUP% RecGroup: %RECORDINGGROUP% StorageGroup: %STORAGEGROUP%</source>
+- <translation type="unfinished"></translation>
++ <translation>Category: %CATEGORY% PlayBackGroup: %PLAYGROUP% RecGroup: %RECORDINGGROUP% StorageGroup: %STORAGEGROUP%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="571"/>
+ <source>Change display groups</source>
+- <translation type="unfinished"></translation>
++ <translation>Change display groups</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="572"/>
+ <source>Change mythtv key bindings</source>
+- <translation type="unfinished"></translation>
++ <translation>Change mythtv key bindings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="573"/>
+ <source>Change recording group password</source>
+- <translation type="unfinished"></translation>
++ <translation>Change recording group password</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="574"/>
+ <source>Change:</source>
+- <translation type="unfinished"></translation>
++ <translation>Change:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="586"/>
+ <source>Channel Rec Priority</source>
+- <translation type="unfinished"></translation>
++ <translation>Channel Rec Priority</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="591"/>
+ <source>Channel name:</source>
+- <translation type="unfinished"></translation>
++ <translation>Channel name:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="592"/>
+ <source>Channel number:</source>
+- <translation type="unfinished"></translation>
++ <translation>Channel number:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="597"/>
+ <source>Channels:</source>
+- <translation type="unfinished"></translation>
++ <translation>Channels:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="598"/>
+ <source>Channels: %audiochannels%</source>
+- <translation type="unfinished"></translation>
++ <translation>Channels: %audiochannels%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="599"/>
+ <source>Check the</source>
+- <translation type="unfinished"></translation>
++ <translation>Check the</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="600"/>
+ <source>Check your Surveillance</source>
+- <translation type="unfinished"></translation>
++ <translation>Check your Surveillance</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="601"/>
+ <source>Check your Surveillance Cameras</source>
+- <translation type="unfinished"></translation>
++ <translation>Check your Surveillance Cameras</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="603"/>
+ <source>Choose Country and Language</source>
+- <translation type="unfinished"></translation>
++ <translation>Choose Country and Language</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="604"/>
+ <source>Choose a</source>
+- <translation type="unfinished"></translation>
++ <translation>Choose a</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="605"/>
+ <source>Choose a Theme</source>
+- <translation type="unfinished"></translation>
++ <translation>Choose a Theme</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="606"/>
+ <source>Choose a local theme or download new</source>
+- <translation type="unfinished"></translation>
++ <translation>Choose a local theme or download new</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="611"/>
+ <source>Choose sources for your</source>
+- <translation type="unfinished"></translation>
++ <translation>Choose sources for your</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="612"/>
+ <source>Choose which artwork you like most</source>
+- <translation type="unfinished"></translation>
++ <translation>Choose which artwork you like most</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="613"/>
+ <source>Choose which movie or tvserie you look for</source>
+- <translation type="unfinished"></translation>
++ <translation>Choose which movie or tvserie you look for</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="615"/>
+ <source>Choose your mythtv backend server</source>
+- <translation type="unfinished"></translation>
++ <translation>Choose your mythtv backend server</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="618"/>
+ <source>Clear database contents (Resync required):</source>
+- <translation type="unfinished"></translation>
++ <translation>Clear database contents (Resync required):</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="630"/>
+ <source>Codec :</source>
+- <translation type="unfinished"></translation>
++ <translation>Codec :</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="633"/>
+ <source>Codec/Dec:</source>
+- <translation type="unfinished"></translation>
++ <translation>Codec/Dec:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="634"/>
+ <source>Codec/Dec: %VIDEOCODEC% %VIDEODECODER%</source>
+- <translation type="unfinished"></translation>
++ <translation>Codec/Dec: %VIDEOCODEC% %VIDEODECODER%</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="638"/>
+ <source>Commercial Flag recordings:</source>
+- <translation type="unfinished"></translation>
++ <translation>Commercial Flag recordings:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="639"/>
+ <source>Commercials are being flagged</source>
+- <translation type="unfinished">Commercials are Being Flagged</translation>
++ <translation>Commercials are being flagged</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="640"/>
+ <source>Commercials are flagged</source>
+- <translation type="unfinished">Commercials are Flagged</translation>
++ <translation>Commercials are flagged</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="642"/>
+ <source>Conduct Power</source>
+- <translation type="unfinished"></translation>
++ <translation>Conduct power</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="643"/>
+ <source>Conduct Power search</source>
+- <translation type="unfinished"></translation>
++ <translation>Conduct power search</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="644"/>
+ <source>Configure</source>
+- <translation type="unfinished">Configure</translation>
++ <translation>Configure</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="646"/>
+ <source>Configure Mythtv key bindings</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure MythTV key bindings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="649"/>
+ <source>Configure audio settings</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure audio settings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="650"/>
+ <source>Configure display of</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure display of</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="651"/>
+ <source>Configure display of Pictures</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure display of pictures</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="653"/>
+ <source>Configure how mythtv</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure how MythTV</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="655"/>
+ <source>Configure information plugins</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure information plugins</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="657"/>
+ <source>Configure media plugins</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure media plugins</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="659"/>
+ <source>Configure mythtv core</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure MythTV core</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="660"/>
+ <source>Configure mythtv look and feel</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure MythTV look and feel</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="661"/>
+ <source>Configure playback</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playback</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="662"/>
+ <source>Configure playback and</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playback and</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="664"/>
+ <source>Configure playback and TV settings</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playback and TV settings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="666"/>
+ <source>Configure playback of</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playback of</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="667"/>
+ <source>Configure playback of Music</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playback of music</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="668"/>
+ <source>Configure playback of Video</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playback of video</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="670"/>
+ <source>Configure playback of media streams</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playback of media streams</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="671"/>
+ <source>Configure playing of</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playing of</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="672"/>
+ <source>Configure playing of Games</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure playing of games</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="673"/>
+ <source>Configure sources for</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure sources for</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="676"/>
+ <source>Configure system settings</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure system settings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="677"/>
+ <source>Configure the metadata</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure the metadata</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="679"/>
+ <source>Configure the skin and</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure the skin and</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="680"/>
+ <source>Configure video and DVD</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure video and DVD</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="681"/>
+ <source>Configure video and DVD archives</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure video and DVD archives</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="685"/>
+ <source>Configure your capture</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure your capture</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="686"/>
+ <source>Configure your capture cards</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure your capture cards</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="687"/>
+ <source>Configure your video</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure your video</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="688"/>
+ <source>Configure your video Sources</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure your video sources</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="689"/>
+ <source>Configure your web</source>
+- <translation type="unfinished"></translation>
++ <translation>Configure your web</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="690"/>
+ <source>Connect your cards to</source>
+- <translation type="unfinished"></translation>
++ <translation>Connect your cards to</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="691"/>
+ <source>Connect your cards to video sources</source>
+- <translation type="unfinished"></translation>
++ <translation>Connect your cards to video sources</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="693"/>
+ <source>Context:</source>
+- <translation type="unfinished"></translation>
++ <translation>Context:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="695"/>
+ <source>Controls:</source>
+- <translation type="unfinished"></translation>
++ <translation>Controls:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="697"/>
+ <source>Core Setup</source>
+- <translation type="unfinished"></translation>
++ <translation>Core Setup</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="700"/>
+ <source>Country and Language selection</source>
+- <translation type="unfinished"></translation>
++ <translation>Country and Language selection</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="708"/>
+ <source>Coverart Image:</source>
+- <translation type="unfinished"></translation>
++ <translation>Coverart Image:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="710"/>
+ <source>Coverart: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Coverart: %1</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="711"/>
+ <source>Coverfile:</source>
+- <translation type="unfinished"></translation>
++ <translation>Coverfile:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="713"/>
+ <source>Create advanced recording rules</source>
+- <translation type="unfinished"></translation>
++ <translation>Create advanced recording rules</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="719"/>
+ <source>Current Rule Phrase:</source>
+- <translation type="unfinished"></translation>
++ <translation>Current Rule Phrase:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="721"/>
+ <source>Current phrase to search for:</source>
+- <translation type="unfinished"></translation>
++ <translation>Current phrase to search for:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="723"/>
+ <source>Currently Playing:</source>
+- <translation type="unfinished"></translation>
++ <translation>Currently Playing:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="725"/>
+ <source>Custom</source>
+- <translation type="unfinished">Custom</translation>
++ <translation>Custom</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="726"/>
+ <source>Custom Edit</source>
+- <translation type="unfinished">Custom Edit</translation>
++ <translation>Custom Edit</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="734"/>
+ <source>Customize meta data of your Recordings</source>
+- <translation type="unfinished"></translation>
++ <translation>Customize meta data of your recordings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="735"/>
+ <source>Customize meta data of your videos</source>
+- <translation type="unfinished"></translation>
++ <translation>Customize meta data of your videos</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="736"/>
+ <source>Customize your channel icons</source>
+- <translation type="unfinished"></translation>
++ <translation>Customize your channel icons</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="737"/>
+ <source>Customize your channels settings</source>
+- <translation type="unfinished"></translation>
++ <translation>Customize your channels settings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="738"/>
+ <source>Customize your country settings</source>
+- <translation type="unfinished"></translation>
++ <translation>Customize your country settings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="739"/>
+ <source>Customize your grabber settings</source>
+- <translation type="unfinished"></translation>
++ <translation>Customize your grabber settings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="740"/>
+ <source>Customize your recording schedule</source>
+- <translation type="unfinished"></translation>
++ <translation>Customize your recording schedule</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="741"/>
+ <source>DOLBY</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="746"/>
+ <source>DVD drive:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="747"/>
+ <source>DVD player:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="748"/>
+ <source>Damaged</source>
+- <translation type="unfinished">Damaged</translation>
++ <translation>Damaged</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="750"/>
+ <source>Database failed to start.</source>
+- <translation type="unfinished"></translation>
++ <translation>Database failed to start.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="751"/>
+ <source>Database machine failed to wake up.</source>
+- <translation type="unfinished"></translation>
++ <translation>Database machine failed to wake up.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="754"/>
+ <source>Decoder :</source>
+- <translation type="unfinished"></translation>
++ <translation>Decoder :</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="755"/>
+ <source>Decoder rate:</source>
+- <translation type="unfinished"></translation>
++ <translation>Decoder rate:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="757"/>
+ <source>Default player:</source>
+- <translation type="unfinished"></translation>
++ <translation>Default player:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="759"/>
+ <source>Deint :</source>
+- <translation type="unfinished"></translation>
++ <translation>Deint :</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="763"/>
+ <source>Delete Recordings</source>
+- <translation type="unfinished"></translation>
++ <translation>Delete Recordings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="764"/>
+ <source>Delete Rule</source>
+- <translation type="unfinished">Delete Rule</translation>
++ <translation>Delete Rule</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="766"/>
+ <source>Delete system Profile</source>
+- <translation type="unfinished"></translation>
++ <translation>Delete system Profile</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="771"/>
+@@ -29521,487 +27608,487 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="773"/>
+ <source>Detailed information about your video</source>
+- <translation type="unfinished"></translation>
++ <translation>Detailed information about your video</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="774"/>
+ <source>Detailed information of your video</source>
+- <translation type="unfinished"></translation>
++ <translation>Detailed information of your video</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="776"/>
+ <source>Details:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="777"/>
+ <source>Directed By:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="780"/>
+ <source>Directed by %director%%, |year%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="782"/>
+ <source>Directed by: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="783"/>
+ <source>Director</source>
+- <translation type="unfinished">Director</translation>
++ <translation>Director</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="785"/>
+ <source>Director: %director% - %length%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="786"/>
+ <source>Directories</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="789"/>
+ <source>Disk space: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="790"/>
+ <source>Disks</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="794"/>
+ <source>Download icons</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="796"/>
+ <source>Download status</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="797"/>
+ <source>Downloadable</source>
+- <translation type="unfinished">Downloadable</translation>
++ <translation>Downloadable</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="802"/>
+ <source>Duplicate Method:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="803"/>
+ <source>Duplicate Scope:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="804"/>
+ <source>Duplication Methode:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="805"/>
+ <source>Duplication Scope:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="806"/>
+ <source>Duration</source>
+- <translation type="unfinished">Duration</translation>
++ <translation>Duration</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="808"/>
+ <source>Duration of an image transition (ms):</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="813"/>
+ <source>Edit Command for</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="818"/>
+ <source>Edit Metadata Information</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="822"/>
+ <source>Edit Powersearch</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="824"/>
+ <source>Edit System events</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="828"/>
+ <source>Edit keys</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="830"/>
+ <source>Edit search item:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="833"/>
+ <source>Edit your</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="834"/>
+ <source>Edit your Channels</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="835"/>
+ <source>Edit your television channels</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="836"/>
+ <source>Editor</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="837"/>
+ <source>Eject</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="840"/>
+ <source>Eject optical from drive</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="850"/>
+ <source>End late:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="855"/>
+ <source>End time:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="856"/>
+ <source>End: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="857"/>
+ <source>Enter</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="858"/>
+ <source>Enter Plot:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="860"/>
+ <source>Enter Search Text:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="862"/>
+ <source>Enter information for action</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="863"/>
+ <source>Enter phrase to search for:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="864"/>
+ <source>Enter:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="866"/>
+ <source>Episode %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="870"/>
+ <source>Events</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="874"/>
+ <source>Exit</source>
+- <translation type="unfinished">Exit</translation>
++ <translation>Exit</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="875"/>
+ <source>Exit from MythTV.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="878"/>
+ <source>Extra</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="882"/>
+ <source>FPS:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="883"/>
+ <source>FPS: %framerate%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="886"/>
+ <source>Fanart: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="887"/>
+ <source>Fast Forward</source>
+- <translation type="unfinished">Fast Forward</translation>
++ <translation>Fast Forward</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="888"/>
+ <source>Fast fwd</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="889"/>
+ <source>File :</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="890"/>
+ <source>File Associations</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="892"/>
+ <source>File Buffer:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="894"/>
+ <source>File Manager</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="896"/>
+ <source>File Size:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="898"/>
+ <source>File browser</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="899"/>
+ <source>File info:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="902"/>
+ <source>FileBrowser</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="906"/>
+ <source>Filename: %filename%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="907"/>
+ <source>Fill</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="908"/>
+ <source>Filter Display</source>
+- <translation type="unfinished">Filter Display</translation>
++ <translation>Filter Display</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="913"/>
+ <source>Filter: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="915"/>
+ <source>Filters</source>
+- <translation type="unfinished">Filters</translation>
++ <translation>Filters</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="917"/>
+ <source>Filters you can apply:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="919"/>
+ <source>Final Priority</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="928"/>
+ <source>Find OnNet</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="936"/>
+ <source>Find broadcasted programs</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="944"/>
+ <source>Find your</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="949"/>
+ <source>Flag</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="953"/>
+ <source>Frame Number</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="954"/>
+ <source>Frame audio level +/-0.5</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="955"/>
+ <source>Frame: %framedisplay% | %cutindicator%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="958"/>
+ <source>Frames decoded/free: %videoframes%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="962"/>
+ <source>Full plot</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="963"/>
+ <source>Fwd more</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="965"/>
+ <source>Gallery Settings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="972"/>
+ <source>General movie</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="977"/>
+ <source>Genres</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="986"/>
+ <source>Grabber</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="989"/>
+ <source>Group selector</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="990"/>
+ <source>Group your favorite</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="992"/>
+ <source>Grouplist item:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="993"/>
+ <source>Groups</source>
+- <translation type="unfinished">Groups</translation>
++ <translation>Groups</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="994"/>
+ <source>Guide</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="998"/>
+ <source>HD</source>
+- <translation type="unfinished">HD</translation>
++ <translation>HD</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="999"/>
+ <source>HD1080</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1000"/>
+ <source>HD720P</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1001"/>
+ <source>HDTV</source>
+- <translation type="unfinished">HDTV</translation>
++ <translation>HDTV</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1002"/>
+ <source>Handlers</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1003"/>
+ <source>Hardware Configuration</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1007"/>
+ <source>Hide Channels without channel number</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1009"/>
+ <source>Hide Channels without channel number:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1017"/>
+ <source>IMDB</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1020"/>
+ <source>INETREF:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1025"/>
+ <source>Icon Import</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1032"/>
+ <source>Image Loading...</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1035"/>
+@@ -30011,12 +28098,12 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="1037"/>
+ <source>Import and Export</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1038"/>
+ <source>Import and Export your videos</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1040"/>
+@@ -30026,918 +28113,918 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="1041"/>
+ <source>Import your music from CD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1052"/>
+ <source>Info Setup</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1053"/>
+ <source>Info about your</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1054"/>
+ <source>Info about your system</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1055"/>
+ <source>Information</source>
+- <translation type="unfinished">Information</translation>
++ <translation>Information</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1057"/>
+ <source>Information about your System</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1059"/>
+ <source>Information and Tools</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1061"/>
+ <source>Inputs</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1063"/>
+ <source>Install Rule</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1064"/>
+ <source>Installed</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1065"/>
+ <source>Internet</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1071"/>
+ <source>Job 1 of 1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1072"/>
+ <source>Jump Back</source>
+- <translation type="unfinished">Jump Back</translation>
++ <translation>Jump Back</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1073"/>
+ <source>Jump Forward</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1074"/>
+ <source>Jump back</source>
+- <translation type="unfinished">Jump Back</translation>
++ <translation>Jump Back</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1075"/>
+ <source>Jump bkmark</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1076"/>
+ <source>Jump fwd</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1077"/>
+ <source>Jump to Bookmark</source>
+- <translation type="unfinished">Jump to Bookmark</translation>
++ <translation>Jump to Bookmark</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1078"/>
+ <source>Jump to Start</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1079"/>
+ <source>Jump to start</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1082"/>
+ <source>Key Bindings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1083"/>
+ <source>Key Grabber</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1085"/>
+ <source>Key pressed:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1086"/>
+ <source>Keys</source>
+- <translation type="unfinished">Keys</translation>
++ <translation>Keys</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1091"/>
+ <source>Language:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1092"/>
+ <source>Last Played:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1095"/>
+ <source>Last Recorded:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1096"/>
+ <source>Last recorded %lastrecordeddate%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1097"/>
+ <source>Last: %statusbefore%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1099"/>
+ <source>Lenght</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1102"/>
+ <source>Level</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1106"/>
+ <source>List item:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1107"/>
+ <source>Listen to</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1108"/>
+ <source>Listen to Internet</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1109"/>
+ <source>Listen to Internet Radio Streams</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1116"/>
+ <source>Lists</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1118"/>
+ <source>Live Television</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1120"/>
+ <source>Loading Video Library
+ If no videos appear your library is either empty or unconfigured (Press M to adjust settings)</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1121"/>
+ <source>Loading content for playback...</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1122"/>
+ <source>Local</source>
+- <translation type="unfinished">Local</translation>
++ <translation>Local</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1123"/>
+ <source>Local Banner</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1124"/>
+ <source>Local Coverart</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1125"/>
+ <source>Local Fanart</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1126"/>
+ <source>Local Search</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1128"/>
+ <source>Locally installed</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1129"/>
+ <source>Location and sources for</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1130"/>
+ <source>Lock</source>
+- <translation type="unfinished">Lock</translation>
++ <translation>Lock</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1131"/>
+ <source>Lock: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1136"/>
+ <source>Look at the TV Guide</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1138"/>
+ <source>Look what is on the</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1139"/>
+ <source>Looks</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1142"/>
+ <source>MANAGE RECORDING RULES</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1143"/>
+ <source>MONO</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1157"/>
+ <source>Manual Schedule your Recording</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1159"/>
+ <source>Manually Schedule programs</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1160"/>
+ <source>Master backend failed to wake.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1162"/>
+ <source>Max episodes:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1164"/>
+ <source>Maximum Number of Episodes to Keep:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1165"/>
+ <source>Maximum Number of Newest Episodes:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1168"/>
+ <source>Media Setup</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1170"/>
+ <source>Menu</source>
+- <translation type="unfinished">Menu</translation>
++ <translation>Menu</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1171"/>
+ <source>Message</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1172"/>
+ <source>MetaData</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1173"/>
+ <source>Metadata</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1174"/>
+ <source>Metadata Editor</source>
+- <translation type="unfinished">Metadata Editor</translation>
++ <translation>Metadata Editor</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1175"/>
+ <source>Metadata OPTIONS</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1180"/>
+ <source>Metadata settings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1183"/>
+ <source>Minutes</source>
+- <translation type="unfinished">Minutes</translation>
++ <translation>Minutes</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1187"/>
+ <source>More Actions</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1189"/>
+ <source>Move BottomLine</source>
+- <translation type="unfinished"></translation>
++ <translation>Move Bottom Line</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1191"/>
+ <source>Move the selected amber arrow to the corner of the TV screen. Press SELECT to edit the other arrow. Press MENU for options and ESC to quit.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1196"/>
+ <source>Move the selected corner of the preview image to the corner of the TV screen. Press SELECT to edit the other corner. Press MENU for options and ESC to quit.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1197"/>
+ <source>Movie Details</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1200"/>
+ <source>Movie Rating:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1201"/>
+ <source>Movie Settings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1202"/>
+ <source>Movie/TV DB</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1203"/>
+ <source>Movie/TV DB:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1209"/>
+ <source>Mute</source>
+- <translation type="unfinished">Mute</translation>
++ <translation>Mute</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1212"/>
+ <source>My audio subsystem supports DTS-HD:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1213"/>
+ <source>My audio subsystem supports DTS:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1215"/>
+ <source>My audio subsystem supports Dolby Digital:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1217"/>
+ <source>My audio subsystem supports E-AC-3:</source>
+- <translation type="unfinished">My audio subsystem supports E-AC-3:</translation>
++ <translation>My audio subsystem supports E-AC-3:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1219"/>
+ <source>My audio subsystem supports TrueHD:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1229"/>
+ <source>MythTV Settings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1230"/>
+ <source>MythTV Startup Status</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1231"/>
+ <source>MythTV is a Free Open Source software digital video recorder (DVR) project distributed under the terms of the GNU GPL - It has been under heavy development since 2002 - Now it contains most features one would expect from a good DVR and many new ones that you soon won&apos;t be able to live without - This theme is based on and inspired by the original XBMC skin called Aeon by Duncan Harris - When using this theme you should select the customized menu called &apos;MythAeon&apos; as this menu lay-out and items are tailored for this particular theme</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1235"/>
+ <source>MythTV is in standby mode!</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1237"/>
+ <source>NO</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1239"/>
+ <source>Name:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1241"/>
+ <source>Navigate</source>
+- <translation type="unfinished">Navigate</translation>
++ <translation>Navigate</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1242"/>
+ <source>Navigation</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1243"/>
+ <source>Navigation control:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1246"/>
+ <source>New Password</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1250"/>
+ <source>New: %statusafter%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1251"/>
+ <source>News</source>
+- <translation type="unfinished">News</translation>
++ <translation>News</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1258"/>
+ <source>Next Song:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1262"/>
+ <source>No Programs</source>
+- <translation type="unfinished">No Programs</translation>
++ <translation>No Programs</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1266"/>
+ <source>No additional info available</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1268"/>
+ <source>No extra info available</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1269"/>
+ <source>No listings found for this program search.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1272"/>
+ <source>No resolution specified</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1277"/>
+ <source>No videos in library, or no files found. If you have configured a video directory, press &quot;M&quot; (or the MENU key) and select &quot;Scan for Change.&quot;</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1281"/>
+ <source>No volume controls configured</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1286"/>
+ <source>Not applicable</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1287"/>
+ <source>Not recorded yet</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1288"/>
+ <source>Not sure which screen this is:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1289"/>
+ <source>Number of Recordings:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1292"/>
+ <source>OSD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1296"/>
+ <source>OSD Input Message</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1299"/>
+ <source>OSD Notification Message</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1307"/>
+ <source>Online Banner</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1308"/>
+ <source>Online Coverart</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1309"/>
+ <source>Online Fanart</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1312"/>
+ <source>Optional category:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1313"/>
+ <source>Optional channel:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1315"/>
+ <source>Optional genre:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1318"/>
+ <source>Options</source>
+- <translation type="unfinished">Options</translation>
++ <translation>Options</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1319"/>
+ <source>Order By:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1323"/>
+ <source>P</source>
+- <translation type="unfinished">P</translation>
++ <translation>P</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1326"/>
+ <source>PLAYLIST</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1327"/>
+ <source>POSTPROCESSING OPTIONS</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1328"/>
+ <source>PROGRAM DETAILS</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1329"/>
+ <source>PROGRAM GUIDE</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1330"/>
+ <source>PROGRAM LIST</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1331"/>
+ <source>PROGRAM SEARCH</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1332"/>
+ <source>Parental</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1348"/>
+ <source>Parential level:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1350"/>
+ <source>Pause</source>
+- <translation type="unfinished">Pause</translation>
++ <translation>Pause</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1355"/>
+ <source>Perform daily updates of recording artwork:</source>
+- <translation type="unfinished"></translation>
++ <translation>Perform Daily Updates of Recording Artwork:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1356"/>
+ <source>Perform daily updates:</source>
+- <translation type="unfinished"></translation>
++ <translation>Perform Daily Updates:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1359"/>
+ <source>Perform query</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1364"/>
+ <source>Pick a program from a set of lists</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1370"/>
+ <source>Pick programs to be recorded</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1372"/>
+ <source>Pick the letter in which the show starts with, then press SELECT or the right arrow</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1377"/>
+ <source>Play Back Group:</source>
+- <translation type="unfinished"></translation>
++ <translation>Playback Group:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1378"/>
+ <source>Play Back Group: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Playback Group: %1</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1379"/>
+ <source>Play Blu-ray and DVD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1390"/>
+ <source>Play a film on</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1391"/>
+ <source>Play a film on Blu-ray Disk</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1393"/>
+ <source>Play a film on a DVD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1395"/>
+ <source>Play any of your recorded programs</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1397"/>
+ <source>Play group:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1399"/>
+ <source>Play next</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1407"/>
+ <source>Play your video</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1411"/>
+ <source>Playback starting ...</source>
+- <translation type="unfinished"></translation>
++ <translation>Playback starting...</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1413"/>
+ <source>Player</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1415"/>
+ <source>Player CMD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1419"/>
+ <source>Player:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1420"/>
+ <source>Playlist duration:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1421"/>
+ <source>Playlist item:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1422"/>
+ <source>Playlist position:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1423"/>
+ <source>Playlist progress:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1424"/>
+ <source>Playlist: %playlisttime%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1426"/>
+ <source>Please Wait....</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1430"/>
+ <source>Plot: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1432"/>
+ <source>Position</source>
+- <translation type="unfinished">Position</translation>
++ <translation>Position</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1434"/>
+ <source>Post Process Editor</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1438"/>
+ <source>Post Processing Options Editor</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1439"/>
+ <source>Post processing</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1441"/>
+ <source>Power Search</source>
+- <translation type="unfinished">Power Search</translation>
++ <translation>Power Search</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1442"/>
+ <source>Powersearch</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1443"/>
+ <source>PreRecorded</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1444"/>
+ <source>Press &apos;up&apos;, &apos;down, &apos;left&apos; and &apos;right&apos; arrows to move through the files and folders. Press &apos;select&apos; or &apos;enter&apos; key to select the file or folder.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1452"/>
+ <source>Preview Schedule Changes:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1455"/>
+ <source>Priorities</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1458"/>
+ <source>Prioritize some shows over others</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1462"/>
+ <source>Priority: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1463"/>
+ <source>Priority: %finalpriority%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1464"/>
+ <source>Priority: %priority%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1466"/>
+ <source>Profile</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1467"/>
+ <source>Profile:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1468"/>
+ <source>Profiles</source>
+- <translation type="unfinished">Profiles</translation>
++ <translation>Profiles</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1473"/>
+ <source>Program Guide Video</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1477"/>
+ <source>Program Recording Priorities</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1479"/>
+ <source>Program Searches</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1481"/>
+ <source>Programid</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1484"/>
+ <source>Programs</source>
+- <translation type="unfinished">Programs</translation>
++ <translation>Programs</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1487"/>
+ <source>Protocol: %PROTOCOLVERSION%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1488"/>
+ <source>Quality:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1489"/>
+ <source>R</source>
+- <translation type="unfinished">R</translation>
++ <translation>R</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1490"/>
+ <source>RECORDING</source>
+- <translation type="unfinished">RECORDING</translation>
++ <translation>RECORDING</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1492"/>
+ <source>Radio</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../themes/themestrings.h" line="1494"/>
+ <source>Raise recording priority by %n</source>
+- <translation type="unfinished">
++ <translation>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+@@ -30945,22 +29032,22 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="1496"/>
+ <source>Rated: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1498"/>
+ <source>Rating</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1500"/>
+ <source>Ratings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1501"/>
+ <source>Ratings:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1502"/>
+@@ -30970,167 +29057,167 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="1503"/>
+ <source>Read the</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1504"/>
+ <source>Read the news online</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1506"/>
+ <source>Rec</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1511"/>
+ <source>Recipe</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1515"/>
+ <source>Record Group:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1516"/>
+ <source>Record Profile:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1517"/>
+ <source>Record Type:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1520"/>
+ <source>Recording Group</source>
+- <translation type="unfinished">Recording Group</translation>
++ <translation>Recording Group</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1522"/>
+ <source>Recording Group: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1523"/>
+ <source>Recording Groups</source>
+- <translation type="unfinished">Recording Groups</translation>
++ <translation>Recording Groups</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1525"/>
+ <source>Recording Priority</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1527"/>
+ <source>Recording Profile: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1529"/>
+ <source>Recording Rule Active:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1532"/>
+ <source>Recording Status</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1533"/>
+ <source>Recording Type</source>
+- <translation type="unfinished">Recording Type</translation>
++ <translation>Recording Type</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1534"/>
+ <source>Recording details</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1535"/>
+ <source>Recording group:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1536"/>
+ <source>Recording groups</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1537"/>
+ <source>Recording has Subtitles Available</source>
+- <translation type="unfinished">Recording has Subtitles Available</translation>
++ <translation>Recording has Subtitles Available</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1538"/>
+ <source>Recording has been transcoded</source>
+- <translation type="unfinished">Recording has been Transcoded</translation>
++ <translation>Recording has been Transcoded</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1539"/>
+ <source>Recording has been watched</source>
+- <translation type="unfinished">Recording has been Watched</translation>
++ <translation>Recording has been Watched</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1540"/>
+ <source>Recording is Closed Captioned</source>
+- <translation type="unfinished">Recording is Closed Captioned</translation>
++ <translation>Recording is Closed Captioned</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1541"/>
+ <source>Recording is Subtitled</source>
+- <translation type="unfinished">Recording is Subtitled</translation>
++ <translation>Recording is Subtitled</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1542"/>
+ <source>Recording is in Dolby Surround Sound</source>
+- <translation type="unfinished">Recording is in Dolby Surround Sound</translation>
++ <translation>Recording is in Dolby Surround Sound</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1543"/>
+ <source>Recording is in High Definition</source>
+- <translation type="unfinished">Recording is in High Definition</translation>
++ <translation>Recording is in High Definition</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1544"/>
+ <source>Recording is in Mono</source>
+- <translation type="unfinished">Recording is in Mono</translation>
++ <translation>Recording is in Mono</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1545"/>
+ <source>Recording is in Stereo</source>
+- <translation type="unfinished">Recording is in Stereo</translation>
++ <translation>Recording is in Stereo</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1546"/>
+ <source>Recording is in Surround Sound</source>
+- <translation type="unfinished">Recording is in Surround Sound</translation>
++ <translation>Recording is in Surround Sound</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1547"/>
+ <source>Recording is in WideScreen</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1548"/>
+ <source>Recording is in use</source>
+- <translation type="unfinished">Recording is In Use</translation>
++ <translation>Recording is In Use</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1549"/>
+ <source>Recording is preserved</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1551"/>
+ <source>Recordings</source>
+- <translation type="unfinished">Recordings</translation>
++ <translation>Recordings</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../themes/themestrings.h" line="1553"/>
+ <source>Reduce recording priority by %n</source>
+- <translation type="unfinished">
++ <translation>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+@@ -31138,1488 +29225,1488 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="1555"/>
+ <source>Remote</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1557"/>
+ <source>Resolution %RESOLUTION%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1558"/>
+ <source>Resolution Unknown</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1559"/>
+ <source>Resolution:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1560"/>
+ <source>Resolution: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1562"/>
+ <source>Resolution: %resolution% - %aspect|
+ %%DESCRIPTION%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1563"/>
+ <source>Restore Data</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1572"/>
+ <source>Retry</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1573"/>
+ <source>Rewind</source>
+- <translation type="unfinished">Rewind</translation>
++ <translation>Rewind</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1574"/>
+ <source>Rip/Transcode</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1575"/>
+ <source>Rotor Movement</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1576"/>
+ <source>Rule Clause:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1581"/>
+ <source>Rule active:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1582"/>
+ <source>Rules</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1588"/>
+ <source>Run user job four</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1589"/>
+ <source>Run user job one</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1590"/>
+ <source>Run user job three</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1591"/>
+ <source>Run user job two</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1592"/>
+ <source>Run userjob #1:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1593"/>
+ <source>Run userjob #2:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1594"/>
+ <source>Run userjob #3:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1595"/>
+ <source>Run userjob #4:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1599"/>
+ <source>Runtime: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1600"/>
+ <source>S</source>
+- <translation type="unfinished">S</translation>
++ <translation>S</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1601"/>
+ <source>SCHEDULE EDITOR</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1602"/>
+ <source>SCHEDULE FILTERS</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1603"/>
+ <source>SCHEDULE OPTIONS</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1604"/>
+ <source>SD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1605"/>
+ <source>SEARCH</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1606"/>
+ <source>STEREO</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1607"/>
+ <source>STORAGE OPTIONS</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1608"/>
+ <source>SUB</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1609"/>
+ <source>SUBTITLES</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1610"/>
+ <source>SURROUND</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1614"/>
+ <source>Sample rate:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1615"/>
+ <source>Sample rate: %samplerate%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1618"/>
+ <source>Scan</source>
+- <translation type="unfinished">Scan</translation>
++ <translation>Scan</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1619"/>
+ <source>Scan Progress</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1621"/>
+ <source>Scanning</source>
+- <translation type="unfinished">Scanning...</translation>
++ <translation>Scanning...</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1622"/>
+ <source>Scanning %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1626"/>
+ <source>Schedule Filter Editor</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1632"/>
+ <source>Schedule Rule:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1637"/>
+ <source>Schedule info</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1638"/>
+ <source>Schedule programs</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1641"/>
+ <source>Screen</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1643"/>
+ <source>Screen setup</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1645"/>
+ <source>Screenshot Image:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1647"/>
+ <source>Screenshot: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1650"/>
+ <source>Search Field:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1657"/>
+ <source>Search Local</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1658"/>
+ <source>Search Net</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1663"/>
+ <source>Search Terms:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1664"/>
+ <source>Search Times</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1665"/>
+ <source>Search Video</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1668"/>
+ <source>Search by</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1669"/>
+ <source>Search by alphabet</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1670"/>
+ <source>Search by category</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1671"/>
+ <source>Search by channel</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1672"/>
+ <source>Search files on your harddisk</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1674"/>
+ <source>Search item:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1675"/>
+ <source>Search on</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1676"/>
+ <source>Search on broadcast times</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1677"/>
+ <source>Search on keywords</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1678"/>
+ <source>Search on people</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1679"/>
+ <source>Search on titles</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1680"/>
+ <source>Search or browse popular video sites</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1682"/>
+ <source>Search programs using sorted lists</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1683"/>
+ <source>Search programs using words</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1685"/>
+ <source>Search the local network for the MythTV Backend.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1687"/>
+ <source>Searches</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1688"/>
+ <source>Searchlist item:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1691"/>
+ <source>Season and Episode</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1692"/>
+ <source>Season and Episode:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1695"/>
+ <source>Season/Episode: %s00e00% ProgramID: %PROGRAMID% SeriesID: %SERIESID%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1699"/>
+ <source>See what is previously</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1700"/>
+ <source>See what is previously recorded</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1705"/>
+ <source>Seek Amount</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1706"/>
+ <source>Seek Back</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1707"/>
+ <source>Seek Forward</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1709"/>
+ <source>Select &apos;Program Guide&apos; or &apos;Program Finder&apos;</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1710"/>
+ <source>Select &apos;Schedule a Recording&apos; from the Main Menu</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1711"/>
+ <source>Select Date:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1712"/>
+ <source>Select Event:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1713"/>
+ <source>Select Icons</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1721"/>
+ <source>Select Time:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1724"/>
+ <source>Select a letter...</source>
+- <translation type="unfinished">Select a Letter...</translation>
++ <translation>Select a Letter...</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1725"/>
+ <source>Select a program...</source>
+- <translation type="unfinished">Select a Program...</translation>
++ <translation>Select a Program...</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1726"/>
+ <source>Select a recording to permanently erase.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1727"/>
+ <source>Select a recording to watch.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1728"/>
+ <source>Select a recording to watch:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1730"/>
+ <source>Select an option below.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1733"/>
+ <source>Select country and language</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1735"/>
+ <source>Select item to be searched for from the list:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1736"/>
+ <source>Select recording rule:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1738"/>
+ <source>Select the country where you reside.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1744"/>
+ <source>Select the recording rule:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1746"/>
+ <source>Select the title of the program you wish to find. When finished return with the left arrow key. Press SELECT to schedule a recording.</source>
+- <translation type="unfinished">Select the title of the program you wish to find. When finished return with the left arrow key. Press SELECT to schedule a recording.</translation>
++ <translation>Select the title of the program you wish to find. When finished return with the left arrow key. Press SELECT to schedule a recording.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1747"/>
+ <source>Select your language.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1749"/>
+ <source>Select your theme</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1751"/>
+ <source>Select:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1752"/>
+ <source>Selected Image</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1755"/>
+ <source>Send and receive</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1758"/>
+ <source>Set Priorities for</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1759"/>
+ <source>Set Priorities for channels</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1762"/>
+ <source>Set your recording</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1763"/>
+ <source>Set your recording priorities</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1764"/>
+ <source>Settings</source>
+- <translation type="unfinished">Settings</translation>
++ <translation>Settings</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1765"/>
+ <source>Settings for</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1775"/>
+ <source>Setup Audio Configuration</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1776"/>
+ <source>Setup Custom Priorities rules</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1777"/>
+ <source>Setup System event</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1778"/>
+ <source>Setup System event handlers</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1779"/>
+ <source>Setup Video Configuration</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1780"/>
+ <source>Setup Weather</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1782"/>
+ <source>Setup behavior of the</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1783"/>
+ <source>Setup file associations for your videos</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1784"/>
+ <source>Setup filter for your video library</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1785"/>
+ <source>Setup metadata for your video library</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1786"/>
+ <source>Setup navigation and</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1787"/>
+ <source>Setup player to play your videos</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1788"/>
+ <source>Setup recording</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1789"/>
+ <source>Setup recordings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1790"/>
+ <source>Setup recordings profiles</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1791"/>
+ <source>Setup the behavior of the system events</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1792"/>
+ <source>Setup your</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1793"/>
+ <source>Setup your Movie</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1794"/>
+ <source>Setup your system</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1795"/>
+ <source>Setup your system events</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1797"/>
+ <source>Share your</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1798"/>
+ <source>Share your hardware profile</source>
+- <translation type="unfinished"></translation>
++ <translation>Share Your Hardware Profile</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1812"/>
+ <source>Show files that are marked as hidden:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1813"/>
+ <source>Show:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1816"/>
+ <source>Shutting Down!</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1817"/>
+ <source>Signal / Noise</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1818"/>
+ <source>Signal Strength</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1819"/>
+ <source>Signal/Noise</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1820"/>
+ <source>Site item:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1821"/>
+ <source>Skin</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1822"/>
+ <source>Skins</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1824"/>
+ <source>Sorry, No Recordings Available</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1833"/>
+ <source>Sort: (1) by Title, (2) by Priority, (4) by Type.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1834"/>
+ <source>Sorting order of the shown images:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1837"/>
+ <source>Sources</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1838"/>
+ <source>Sources for metadata grabbers</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1839"/>
+ <source>Space</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1840"/>
+ <source>Sports running</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1842"/>
+ <source>Standby Accessing Database</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1844"/>
+ <source>Star rating</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1845"/>
+ <source>Starring</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1846"/>
+ <source>Starring:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1848"/>
+ <source>Stars</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1849"/>
+ <source>Stars:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1850"/>
+ <source>Start Date:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1852"/>
+ <source>Start Hour:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1853"/>
+ <source>Start Minute:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1858"/>
+ <source>Start early:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1864"/>
+ <source>Start time:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1865"/>
+ <source>Start: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1867"/>
+ <source>Stati</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1868"/>
+ <source>Stations</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1872"/>
+ <source>Status:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1873"/>
+ <source>Status: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1874"/>
+ <source>Status: %rectypechar%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1876"/>
+ <source>Storage</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1877"/>
+ <source>Storage Details</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1879"/>
+ <source>Storage Group: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1882"/>
+ <source>Storage group:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1883"/>
+ <source>Storage rate:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1886"/>
+ <source>Storage to Buffer: %storagerate%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1887"/>
+ <source>Storage:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1889"/>
+ <source>Store Rule</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1890"/>
+ <source>Stored</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1892"/>
+ <source>Streams</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1894"/>
+ <source>Sub Title:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1897"/>
+ <source>Submit system Profile</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1901"/>
+ <source>Subtitles</source>
+- <translation type="unfinished">Subtitles</translation>
++ <translation>Subtitles</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1902"/>
+ <source>Subtitles:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1908"/>
+ <source>System</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1912"/>
+ <source>System Info</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1914"/>
+ <source>System status</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1915"/>
+ <source>T: 1%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1919"/>
+ <source>TMDB/TVDB ID:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1921"/>
+ <source>TRANSCODING</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1924"/>
+ <source>TV Guide</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1927"/>
+ <source>TV Setup</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1928"/>
+ <source>TV Shows</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1931"/>
+ <source>TVGuide</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1938"/>
+ <source>Terminal</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1943"/>
+ <source>Test Rule</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1945"/>
+ <source>Test Speakers</source>
+- <translation type="unfinished">Test Speakers</translation>
++ <translation>Test Speakers</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1949"/>
+ <source>The program is able to auto-expire</source>
+- <translation type="unfinished">Program is Set to Auto-expire</translation>
++ <translation>Program is Set to Auto-Expire</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1952"/>
+ <source>The recording schedule would not be affected.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1955"/>
+ <source>There are no Recordings Scheduled...</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1956"/>
+ <source>There are no available programs under this search. Please select another search.</source>
+- <translation type="unfinished">There are no available programs under this search. Please select another search.</translation>
++ <translation>There are no available programs under this search. Please select another search.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1964"/>
+ <source>This is a children&apos;s Christmas version of the popular MythCenter-wide theme with festive backgrounds and colour scheme.</source>
+- <translation type="unfinished"></translation>
++ <translation>This is a children&apos;s Christmas version of the popular MythCenter-wide theme with festive backgrounds and color scheme.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1971"/>
+ <source>Time to display each image during a slideshow (ms):</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1972"/>
+ <source>Time:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1976"/>
+ <source>Title 1 of 1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1979"/>
+ <source>To be determined</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1983"/>
+ <source>To give greater or lesser priority to a channel in your lineup, select it from the list. To increase the channel&apos;s priority, press the right arrow. To decrease its priority, press the left arrow.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1987"/>
+ <source>To schedule a recording, exit this screen and</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1988"/>
+ <source>Tools</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1989"/>
+ <source>Tools for your music library</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1990"/>
+ <source>Track: %time%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1994"/>
+ <source>Trailer: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1996"/>
+ <source>Trans</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1998"/>
+ <source>Transcode new recordings:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2000"/>
+ <source>Transports</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2002"/>
+ <source>Try again to establish connections.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2003"/>
+ <source>Tweets</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2009"/>
+ <source>Type of transition between two images:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2011"/>
+ <source>Types</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2012"/>
+ <source>Unable to connect to Database.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2013"/>
+ <source>Unable to connect to master backend.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2016"/>
+ <source>Unknown</source>
+- <translation type="unfinished">Unknown</translation>
++ <translation>Unknown</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2017"/>
+ <source>Unmute</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2020"/>
+ <source>Up to date</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2021"/>
+ <source>UpToDate</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2022"/>
+ <source>Upcoming</source>
+- <translation type="unfinished">Upcoming</translation>
++ <translation>Upcoming</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2025"/>
+ <source>Update available</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2027"/>
+ <source>Update your channels</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2029"/>
+ <source>UpdateAvailable</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2030"/>
+ <source>Upload your hardware</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2031"/>
+ <source>Upload your hardware profile</source>
+- <translation type="unfinished"></translation>
++ <translation>Upload Your Hardware Profile</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2032"/>
+ <source>Uptodate</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2033"/>
+ <source>Usage:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2034"/>
+ <source>Use Database setup to enter database parameters.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2039"/>
+ <source>Use music</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2040"/>
+ <source>Use the</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2044"/>
+ <source>User</source>
+- <translation type="unfinished">User</translation>
++ <translation>User</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2049"/>
+ <source>UserRating:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2050"/>
+ <source>Userrating:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2055"/>
+ <source>VCD Drive:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2056"/>
+ <source>VCD Player:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2058"/>
+ <source>VIDEO BROWSER</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2059"/>
+ <source>VIDEO GALLERY</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2060"/>
+ <source>VIDEO LIST</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2061"/>
+ <source>VIDEO MANAGER</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2062"/>
+ <source>VRC-Like recording scheduler</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2063"/>
+ <source>Values from %LOW% to %HIGH% in increments of %STEP%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2068"/>
+ <source>Video #:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2069"/>
+ <source>Video #: %1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2071"/>
+ <source>Video Browse View</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2078"/>
+ <source>Video Gallery View</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2081"/>
+ <source>Video List View</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2082"/>
+ <source>Video Manage View</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2089"/>
+ <source>Video Res:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2093"/>
+ <source>Video details</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2094"/>
+ <source>Video sites you can</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2095"/>
+ <source>Video#:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2096"/>
+ <source>Video: %VIDEOWIDTH%x%VIDEOHEIGHT%@%VIDEOFRAMERATE%fps</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2097"/>
+ <source>VideoCodec: H.263</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2098"/>
+ <source>VideoCodec: H.264</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2099"/>
+ <source>VideoCodec: MPEG-2</source>
+- <translation type="unfinished"></translation>
++ <translation>VideoCodec: MPEG-2</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2100"/>
+ <source>VideoCodec: MPEG-4</source>
+- <translation type="unfinished"></translation>
++ <translation>VideoCodec: MPEG-4</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2101"/>
+ <source>VideoCodec: RTjpeg</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2102"/>
+ <source>VideoCodec: VC-1</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2103"/>
+ <source>VideoCodec: WMV3</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2104"/>
+ <source>VideoDesc: HD_1080_I</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2105"/>
+ <source>VideoDesc: HD_1080_P</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2106"/>
+ <source>VideoDesc: HD_720_P</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2107"/>
+ <source>VideoDesc: SD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2120"/>
+ <source>View all</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2121"/>
+ <source>View all movies</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2122"/>
+ <source>View all searches stored</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2125"/>
+ <source>View new</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2126"/>
+ <source>View new titles</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2127"/>
+ <source>View stored</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2128"/>
+ <source>View system Profile</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2129"/>
+ <source>View the</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2131"/>
+ <source>View upcoming</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2132"/>
+ <source>View upcoming recordings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2134"/>
+ <source>View your</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2136"/>
+ <source>View your recording</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2137"/>
+ <source>View your recording rules</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2138"/>
+ <source>View:</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2139"/>
+ <source>Viewing and TV</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2140"/>
+ <source>Visible</source>
+- <translation type="unfinished">Visible</translation>
++ <translation>Visible</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2144"/>
+ <source>W</source>
+- <translation type="unfinished">W</translation>
++ <translation>W</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2146"/>
+ <source>WATCH RECORDINGS</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2147"/>
+ <source>WATCHED</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2150"/>
+ <source>Waiting for Database to start.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2151"/>
+ <source>Waking up Database Machine.</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2152"/>
+ <source>Watch</source>
+- <translation type="unfinished">Watch</translation>
++ <translation>Watch</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2154"/>
+ <source>Watch List</source>
+- <translation type="unfinished">Watch List</translation>
++ <translation>Watch List</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2160"/>
+ <source>Watch list</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2161"/>
+ <source>Watch live</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2164"/>
+ <source>Watch your</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2167"/>
+ <source>Watched Programs</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2168"/>
+ <source>Watched programs</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2170"/>
+ <source>WatchingBD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2171"/>
+ <source>WatchingDVD</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2172"/>
+ <source>WatchingLiveTM</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2173"/>
+ <source>WatchingPreRecorded</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2174"/>
+ <source>WatchingRecording</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2175"/>
+ <source>WatchingVideo</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2176"/>
+ <source>Watchlist</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2184"/>
+@@ -32629,22 +30716,22 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <message>
+ <location filename="../themes/themestrings.h" line="2268"/>
+ <source>upcoming recordings</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2269"/>
+ <source>widescreen</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2270"/>
+ <source>year</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2271"/>
+ <source>~</source>
+- <translation type="unfinished"></translation>
++ <translation>~</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1863"/>
+@@ -32901,7 +30988,7 @@ Once you have completed your modifications, click the &quot;Save&quot; button.</
+ <location filename="../themes/themestrings.h" line="507"/>
+ <source>Browse the internet or your video library</source>
+ <translatorcomment>Temporary fix</translatorcomment>
+- <translation>Browse the Internet or your video library</translation>
++ <translation>Browse the internet or your video library</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1115"/>
+@@ -33058,7 +31145,7 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="1358"/>
+ <source>Perform metadata update after video scan:</source>
+- <translation>Perform metadata update after video scan:</translation>
++ <translation>Perform Metadata Update After Video Scan:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="844"/>
+@@ -33068,12 +31155,12 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="847"/>
+ <source>Enable metadata in file browse mode:</source>
+- <translation>Enable metadata in file browse mode:</translation>
++ <translation>Enable Metadata in File Browse Mode:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="792"/>
+ <source>Display unknown file types:</source>
+- <translation>Display unknown file types:</translation>
++ <translation>Display Unknown File Types:</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="341"/>
+@@ -33085,10 +31172,6 @@ Errata: %ERRATA%</translation>
+ <source>Select Time &amp; Date</source>
+ <translation>Select Time &amp; Date</translation>
+ </message>
+- <message>
+- <source>%startdate%%| startyear%, %starttime%</source>
+- <translation type="vanished">%startdate%%| startyear%, %starttime%</translation>
+- </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2212"/>
+ <source>You haven&apos;t defined any channels</source>
+@@ -33132,7 +31215,7 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="1354"/>
+ <source>Perform daily updates of recording artwork</source>
+- <translation>Perform daily updates of recording artwork</translation>
++ <translation>Perform Daily Updates of Recording Artwork</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1227"/>
+@@ -33142,17 +31225,17 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="1898"/>
+ <source>Submit your hardware profile</source>
+- <translation>Submit your hardware profile</translation>
++ <translation>Submit Your Hardware Profile</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2135"/>
+ <source>View your hardware profile</source>
+- <translation>View your hardware profile</translation>
++ <translation>View Your Hardware Profile</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="767"/>
+ <source>Delete your hardware profile</source>
+- <translation>Delete your hardware profile</translation>
++ <translation>Delete Your Hardware Profile</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="423"/>
+@@ -33575,7 +31658,7 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="294"/>
+ <source>1</source>
+- <translation>1</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="305"/>
+@@ -33585,12 +31668,12 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="310"/>
+ <source>3</source>
+- <translation>3</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="315"/>
+ <source>4</source>
+- <translation>4</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1084"/>
+@@ -33705,7 +31788,7 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="1147"/>
+ <source>MPEG2</source>
+- <translation>MPEG2</translation>
++ <translation>MPEG-2</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1144"/>
+@@ -33790,7 +31873,7 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="328"/>
+ <source>720P</source>
+- <translation>720P</translation>
++ <translation>720p</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="301"/>
+@@ -34149,7 +32232,8 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="1101"/>
+ <source>Let&apos;s set up your DVR! On the next few screens, we will configure your system to play back audio and video, optimize your color and contrast, and make sure we are taking advantage of all of your hardware. Press next to begin!</source>
+- <translation>Let&apos;s set up your DVR! On the next few screens, we will configure your system to play back audio and video, optimize your color and contrast, and make sure we are taking advantage of all of your hardware. Press next to begin!</translation>
++ <translation>
++Let&apos;s set up your DVR! On the next few screens, we will configure your system to play back audio and video, optimize your color and contrast, and make sure we are taking advantage of all of your hardware. Press next to begin!</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1896"/>
+@@ -34336,10 +32420,6 @@ Errata: %ERRATA%</translation>
+ <source>Airdate:</source>
+ <translation>Airdate:</translation>
+ </message>
+- <message>
+- <source>Theater name</source>
+- <translation type="vanished">Theater name</translation>
+- </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="378"/>
+ <source>Age:</source>
+@@ -34503,24 +32583,24 @@ Errata: %ERRATA%</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="2246"/>
+ <source>h.264</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2248"/>
+ <source>hh:mm AP</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2249"/>
+ <source>key pressed:
+ %osd_number_entry%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2250"/>
+ <source>message:
+ %message_text%</source>
+- <translation type="unfinished"></translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="2252"/>
+@@ -35020,10 +33100,6 @@ Finally, you can test, immediately activate, store, or cancel your rule.</source
+
+ Finally, you can test, immediately activate, store, or cancel your rule.</translation>
+ </message>
+- <message>
+- <source>Movie Times</source>
+- <translation type="vanished">Movie Times</translation>
+- </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="816"/>
+ <source>Edit Keys</source>
+@@ -35037,7 +33113,7 @@ Finally, you can test, immediately activate, store, or cancel your rule.</transl
+ <message>
+ <location filename="../themes/themestrings.h" line="272"/>
+ <source>(1) All (2) Important</source>
+- <translation>(1) All (2) Important</translation>
++ <translation>(1) All (2) Important</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1814"/>
+@@ -35077,7 +33153,7 @@ Finally, you can test, immediately activate, store, or cancel your rule.</transl
+ <message>
+ <location filename="../themes/themestrings.h" line="279"/>
+ <source>(1)Time (2)Title</source>
+- <translation>(1)Time (2)Title</translation>
++ <translation>(1)Time (2)Title</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1270"/>
+@@ -35429,7 +33505,7 @@ Finally, you can test, immediately activate, store, or cancel your rule.</transl
+ <message>
+ <location filename="../themes/themestrings.h" line="275"/>
+ <source>(1) Channel (2) Priority</source>
+- <translation>(1) Channel (2) Priority</translation>
++ <translation>(1) Channel (2) Priority</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1630"/>
+@@ -35454,7 +33530,7 @@ Finally, you can test, immediately activate, store, or cancel your rule.</transl
+ <message>
+ <location filename="../themes/themestrings.h" line="278"/>
+ <source>(1) Title (2) Priority (4) Type</source>
+- <translation>(1) Title (2) Priority (4) Type</translation>
++ <translation>(1) Title (2) Priority (4) Type</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="730"/>
+@@ -36425,7 +34501,7 @@ If you select &quot;Use Default Player,&quot; the player command set for the ext
+ <message>
+ <location filename="../themes/themestrings.h" line="501"/>
+ <source>Browse Videos</source>
+- <translation>Browse Videos</translation>
++ <translation>Browse videos</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="682"/>
+@@ -36771,7 +34847,7 @@ If you select &quot;Use Default Player,&quot; the player command set for the ext
+ <message>
+ <location filename="../themes/themestrings.h" line="1004"/>
+ <source>Hardware profile</source>
+- <translation>Hardware profile</translation>
++ <translation>Hardware Profile</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1937"/>
+@@ -36966,7 +35042,7 @@ If you select &quot;Use Default Player,&quot; the player command set for the ext
+ <message>
+ <location filename="../themes/themestrings.h" line="343"/>
+ <source>A blue theme. Originally designed before the MythUI rewrite, MythCenter has been updated to take advantage of the new UI library while still maintaining the look and feel that long-time MythTV users are used to.</source>
+- <translation>A blue theme. Originally designed before the MythUI rewrite, MythCenter has been updated to take advantage of the new UI library while still maintaining the look and feel that long-time MythTV users are used to.</translation>
++ <translation></translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1969"/>
+@@ -37021,7 +35097,7 @@ If you select &quot;Use Default Player,&quot; the player command set for the ext
+ <message>
+ <location filename="../themes/themestrings.h" line="1357"/>
+ <source>Perform metadata update after video scan</source>
+- <translation>Perform metadata update after video scan</translation>
++ <translation>Perform Metadata Update After Video Scan</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="843"/>
+@@ -37031,12 +35107,12 @@ If you select &quot;Use Default Player,&quot; the player command set for the ext
+ <message>
+ <location filename="../themes/themestrings.h" line="791"/>
+ <source>Display unknown file types</source>
+- <translation>Display unknown file types</translation>
++ <translation>Display Unknown File Types</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="846"/>
+ <source>Enable metadata in file browse mode</source>
+- <translation>Enable metadata in file browse mode</translation>
++ <translation>Enable Metadata in File Browse Mode</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1995"/>
+@@ -37145,7 +35221,7 @@ dd MMM yyyy</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="499"/>
+ <source>Browse Internet Video</source>
+- <translation>Browse Internet Video</translation>
++ <translation>Browse internet video</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="503"/>
+@@ -37215,7 +35291,7 @@ dd MMM yyyy</translation>
+ <message>
+ <location filename="../themes/themestrings.h" line="342"/>
+ <source>A &quot;Media Center&quot; menu theme. This menu theme is basically meant to bring the common &quot;media player/DVR&quot; functionality to the forefront, organize the plugins, and to make some of myth&apos;s more daunting options a little more subtle. Places the common media items on the top level (Recordings, Videos, TV, DVD, Music), places all informational plugins in &quot;Plugins.&quot; Puts all setup and scheduling in &quot;Advanced.&quot; The top two menu levels will seem new, the ones beneath Advanced-&gt;Setup are as in the default menu.</source>
+- <translation>A &quot;Media Center&quot; menu theme. This menu theme is basically meant to bring the common &quot;media player/DVR&quot; functionality to the forefront, organize the plugins, and to make some of myth&apos;s more daunting options a little more subtle. Places the common media items on the top level (Recordings, Videos, TV, DVD, Music), places all informational plugins in &quot;Plugins.&quot; Puts all setup and scheduling in &quot;Advanced.&quot; The top two menu levels will seem new, the ones beneath Advanced-&gt;Setup are as in the default menu.</translation>
++ <translation></translation>
+ </message>
+ </context>
+ <context>
+@@ -37261,14 +35337,10 @@ dd MMM yyyy</translation>
+ </context>
+ <context>
+ <name>TransportListEditor</name>
+- <message>
+- <source>Multiplex Editor</source>
+- <translation type="vanished">Multiplex Editor</translation>
+- </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="218"/>
+ <source>Transport Editor</source>
+- <translation type="unfinished"></translation>
++ <translation>Transport Editor</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/transporteditor.cpp" line="223"/>
+@@ -37300,77 +35372,6 @@ dd MMM yyyy</translation>
+ <translation>Media Servers</translation>
+ </message>
+ </context>
+-<context>
+- <name>UnZip</name>
+- <message>
+- <source>ZIP operation completed successfully.</source>
+- <translation type="vanished">ZIP operation completed successfully.</translation>
+- </message>
+- <message>
+- <source>Failed to initialize or load zlib library.</source>
+- <translation type="vanished">Failed to initialize or load zlib library.</translation>
+- </message>
+- <message>
+- <source>zlib library error.</source>
+- <translation type="vanished">zlib library error.</translation>
+- </message>
+- <message>
+- <source>Unable to create or open file.</source>
+- <translation type="vanished">Unable to create or open file.</translation>
+- </message>
+- <message>
+- <source>Partially corrupted archive. Some files might be extracted.</source>
+- <translation type="vanished">Partially corrupted archive. Some files might be extracted.</translation>
+- </message>
+- <message>
+- <source>Corrupted archive.</source>
+- <translation type="vanished">Corrupted archive.</translation>
+- </message>
+- <message>
+- <source>Wrong password.</source>
+- <translation type="vanished">Wrong password.</translation>
+- </message>
+- <message>
+- <source>No archive has been created yet.</source>
+- <translation type="vanished">No archive has been created yet.</translation>
+- </message>
+- <message>
+- <source>File or directory does not exist.</source>
+- <translation type="vanished">File or directory does not exist.</translation>
+- </message>
+- <message>
+- <source>File read error.</source>
+- <translation type="vanished">File read error.</translation>
+- </message>
+- <message>
+- <source>File write error.</source>
+- <translation type="vanished">File write error.</translation>
+- </message>
+- <message>
+- <source>File seek error.</source>
+- <translation type="vanished">File seek error.</translation>
+- </message>
+- <message>
+- <source>Unable to create a directory.</source>
+- <translation type="vanished">Unable to create a directory.</translation>
+- </message>
+- <message>
+- <source>Invalid device.</source>
+- <translation type="vanished">Invalid device.</translation>
+- </message>
+- <message>
+- <source>Invalid or incompatible zip archive.</source>
+- <translation type="vanished">Invalid or incompatible zip archive.</translation>
+- </message>
+- <message>
+- <source>Inconsistent headers. Archive might be corrupted.</source>
+- <translation type="vanished">Inconsistent headers. Archive might be corrupted.</translation>
+- </message>
+- <message>
+- <source>Unknown error.</source>
+- <translation type="vanished">Unknown error.</translation>
+- </message>
+-</context>
+ <context>
+ <name>V4L2encGroup</name>
+ <message>
+@@ -38035,7 +36036,7 @@ dd MMM yyyy</translation>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="98"/>
+ <source>If set, you will not be able to return to this screen and reset the Parental PIN without first entering the current PIN. You have been warned.</source>
+- <translation>If set, you will not be able to return to this screen and reset the Parental PIN without first entering the current PIN. You have been warned.</translation>
++ <translation>Warning: If set, you will not be able to return to this screen and reset the Parental PIN without first entering the current PIN.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="110"/>
+@@ -38195,14 +36196,10 @@ dd MMM yyyy</translation>
+ <source>Separate video modes for GUI and TV playback</source>
+ <translation>Separate Video Modes for GUI and TV Playback</translation>
+ </message>
+- <message>
+- <source>Switch X Window video modes for TV. Requires &quot;xrandr&quot; support.</source>
+- <translation type="vanished">Switch X Window video modes for TV. Requires &quot;xrandr&quot; support.</translation>
+- </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2306"/>
+ <source>Switch video modes for playback depending on the source resolution and frame rate.</source>
+- <translation type="unfinished"></translation>
++ <translation>Switch video modes for playback depending on the source resolution and frame rate.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2317"/>
+@@ -38259,7 +36256,7 @@ dd MMM yyyy</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2471"/>
+ <source>Default refresh rate when watching a video. Leave at &quot;Auto&quot; to automatically use the best available</source>
+- <translation>Default refresh rate when watching a video. Leave at &quot;Auto&quot; to automatically use the best available</translation>
++ <translation>Default refresh rate when watching a video. &quot;Auto&quot; wil automatically use the best available refresh rate.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2475"/>
+@@ -38274,12 +36271,12 @@ dd MMM yyyy</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2494"/>
+ <source>Aspect ratio when watching a video. Leave at &quot;%1&quot; to use ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</source>
+- <translation>Aspect ratio when watching a video. Leave at &quot;%1&quot; to use ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</translation>
++ <translation>Aspect ratio when watching a video. &quot;%1&quot; will use the ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2502"/>
+ <source>Aspect ratio when watching a video at a specific resolution. Leave at &quot;%1&quot; to use ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</source>
+- <translation>Aspect ratio when watching a video at a specific resolution. Leave at &quot;%1&quot; to use ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</translation>
++ <translation>Aspect ratio when watching a video at a specific resolution. &quot;%1&quot; will use the ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2514"/>
+@@ -38295,12 +36292,12 @@ dd MMM yyyy</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2536"/>
+ <source>Pause while switching video modes (ms)</source>
+- <translation type="unfinished"></translation>
++ <translation>Pause While Switching Video Modes (ms)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2537"/>
+ <source>For most displays, switching video modes takes time and content can be missed. If non-zero, this setting will pause playback while the video mode is changed. The required pause length (in ms) will be dependant on the display&apos;s characteristics.</source>
+- <translation type="unfinished"></translation>
++ <translation>For most displays, switching video modes takes time and content can be missed. If non-zero, this setting will pause playback while the video mode is changed. The required pause length (in ms) will be dependant on the display&apos;s characteristics.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2561"/>
+@@ -38308,13 +36305,6 @@ dd MMM yyyy</translation>
+ <translation>Overrides for Specific Video Sizes</translation>
+ </message>
+ </context>
+-<context>
+- <name>VideoOutWindow</name>
+- <message>
+- <source>Zoom %1x%2 @ (%3,%4)</source>
+- <translation type="vanished">Zoom %1x%2 @ (%3,%4)</translation>
+- </message>
+-</context>
+ <context>
+ <name>VideoScanner</name>
+ <message>
+@@ -38445,7 +36435,7 @@ If they no longer exist please remove them</translation>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="136"/>
+ <source>Video Source</source>
+- <translation type="unfinished">Video Source</translation>
++ <translation>Video Source</translation>
+ </message>
+ </context>
+ <context>
+@@ -38453,7 +36443,7 @@ If they no longer exist please remove them</translation>
+ <message>
+ <location filename="../programs/mythfrontend/viewschedulediff.cpp" line="124"/>
+ <source>The following programs will be recorded instead:</source>
+- <translation type="unfinished"></translation>
++ <translation>The following programs will be recorded instead:</translation>
+ </message>
+ </context>
+ <context>
+@@ -38591,12 +36581,12 @@ If they no longer exist please remove them</translation>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3513"/>
+ <source>Exclude recordings not set for Auto-Expire</source>
+- <translation>Exclude Recordings Not Set for Auto-expire</translation>
++ <translation>Exclude Recordings Not Set for Auto-Expire</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3518"/>
+ <source>Set this if you turn off Auto-Expire only for recordings that you&apos;ve seen and intend to keep. This option will exclude these recordings from the &apos;Watch List&apos;.</source>
+- <translation>Set this if you turn off Auto-expire only for recordings that you&apos;ve seen and intend to keep. This option will exclude these recordings from the &apos;Watch List&apos;.</translation>
++ <translation>Set this if you turn off auto-expire only for recordings that you&apos;ve seen and intend to keep. This option will exclude these recordings from the &apos;Watch List&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3531"/>
diff --git a/linhes/mythtv/mythtv-setup.desktop b/linhes/mythtv/mythtv-setup.desktop
new file mode 100644
index 0000000..fe49a97
--- /dev/null
+++ b/linhes/mythtv/mythtv-setup.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=MythTV Setup
+Comment=Setup application for the MythTV backend server
+Exec=mythtv-setup --syslog local6
+Type=Application
+Icon=mythtv
diff --git a/linhes/mythtv/mythtv.png b/linhes/mythtv/mythtv.png
new file mode 100644
index 0000000..0648d28
--- /dev/null
+++ b/linhes/mythtv/mythtv.png
Binary files differ
diff --git a/linhes/mythtv/sysusers.d b/linhes/mythtv/sysusers.d
new file mode 100644
index 0000000..3f0c05c
--- /dev/null
+++ b/linhes/mythtv/sysusers.d
@@ -0,0 +1,5 @@
+#Type Name ID GECOS Home directory Shell
+u mythtv - "MythTV user" /var/lib/mythtv
+m mythtv video
+m mythtv audio
+m mythtv optical
diff --git a/linhes/package-query/PKGBUILD b/linhes/package-query/PKGBUILD
new file mode 100644
index 0000000..02fb3ee
--- /dev/null
+++ b/linhes/package-query/PKGBUILD
@@ -0,0 +1,26 @@
+# Contributor: tuxce <tuxce.net@gmail.com>
+# Contributor: Skunnyk <skunnyk@alteroot.org>
+pkgname=package-query
+pkgver=1.12
+pkgrel=2
+pkgdesc="Query ALPM and AUR"
+arch=('i686' 'x86_64' 'mips64el' 'armv6h' 'armv7h' 'arm' 'aarch64' 'pentium4')
+url="https://github.com/archlinuxfr/package-query/"
+license=('GPL')
+depends=('pacman>=6.0' 'yajl>=2.0')
+source=(https://github.com/archlinuxfr/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --localstatedir=/var --prefix=/usr --sysconfdir=/etc --with-aur-url=https://aur.archlinux.org
+ make
+}
+
+package ()
+{
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
+md5sums=('3d91612aa47bb30db5e028251089255b')
diff --git a/linhes/perl-datetime-format-sqlite/PKGBUILD b/linhes/perl-datetime-format-sqlite/PKGBUILD
new file mode 100644
index 0000000..28336a1
--- /dev/null
+++ b/linhes/perl-datetime-format-sqlite/PKGBUILD
@@ -0,0 +1,50 @@
+# Contributor: John D Jones III <j[nospace]n[nospace]b[nospace]e[nospace]k[nospace]1972 -_AT_- the domain name google offers a mail service at ending in dot com>
+# Generator : CPANPLUS::Dist::Arch 1.25
+
+pkgname='perl-datetime-format-sqlite'
+pkgver='0.11'
+pkgrel='2'
+pkgdesc="Parse and format SQLite dates and times"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-datetime>=0.1' 'perl-datetime-format-builder>=0.6')
+makedepends=()
+url='http://search.cpan.org/dist/DateTime-Format-SQLite'
+source=('http://search.cpan.org/CPAN/authors/id/C/CF/CFAERBER/DateTime-Format-SQLite-0.11.tar.gz')
+md5sums=('9cc9cc861407a1bbc696226605279842')
+sha512sums=('061f831c2a8d653706d315c1cff24ad887e3f8c65afdbd2140066735649c097be921f217e6e2761f8f34604066c618f296d40e9c650c3a1bb085cadbdfa7b7b9')
+_distdir="DateTime-Format-SQLite-0.11"
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make install
+
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/linhes/perl-lwp-useragent-determined/PKGBUILD b/linhes/perl-lwp-useragent-determined/PKGBUILD
new file mode 100644
index 0000000..ecc8f06
--- /dev/null
+++ b/linhes/perl-lwp-useragent-determined/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Felix Golatofski <contact@xdfr.de>
+# Contributor: John D Jones III <j[nospace]n[nospace]b[nospace]e[nospace]k[nospace]1972 -_AT_- the domain name google offers a mail service at ending in dot com>
+# Generator : CPANPLUS::Dist::Arch 1.25
+
+pkgname='perl-lwp-useragent-determined'
+pkgver='1.07'
+pkgrel='4'
+pkgdesc="a virtual browser that retries errors"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-libwww')
+makedepends=()
+url='https://search.cpan.org/dist/LWP-UserAgent-Determined'
+source=("https://cpan.metacpan.org/authors/id/A/AL/ALEXMV/LWP-UserAgent-Determined-${pkgver}.tar.gz")
+sha512sums=('bed056468366bf86f0711a23c5bdb502a614efa2fd80d632f8d43d33295309d0ee88e439933cb3eda99192ad7d7025d0a7f6f0a53a45e79e70512771bb58ae7d')
+_distdir="LWP-UserAgent-Determined-${pkgver}"
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make install
+
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/linhes/perl-net-upnp/PKGBUILD b/linhes/perl-net-upnp/PKGBUILD
new file mode 100644
index 0000000..f63dc8a
--- /dev/null
+++ b/linhes/perl-net-upnp/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Matt Harrison <matt@harrison.us.com>
+# Maintained at: https://github.com/matt-h/aur-pkgbuilds
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Drew Gilbert <gilbert dot drew at gmail dot com>
+
+pkgname=perl-net-upnp
+pkgver=1.4.6
+pkgrel=2
+pkgdesc="Perl Module UPnP"
+arch=('x86_64')
+url="https://metacpan.org/release/Net-UPnP"
+license=('BSD' 'PerlArtistic')
+options=('!emptydirs')
+source=("https://cpan.metacpan.org/authors/id/S/SK/SKONNO/Net-UPnP-$pkgver.tar.gz")
+depends=('perl')
+sha256sums=('10ae135a8f72d399501166bc697a3b300fb739a6614aa54408e4e08bec1e91dc')
+
+build() {
+ cd "${srcdir}/Net-UPnP-${pkgver}"
+
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/Net-UPnP-${pkgver}"
+
+ make test
+}
+
+package() {
+ cd "${srcdir}/Net-UPnP-${pkgver}"
+
+ make install DESTDIR="${pkgdir}"
+
+ # install license file
+ install -Dm644 "README" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/linhes/perl-xml-dom/PKGBUILD b/linhes/perl-xml-dom/PKGBUILD
new file mode 100644
index 0000000..f2e4a8c
--- /dev/null
+++ b/linhes/perl-xml-dom/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Brian Bidulock <bidulock@openss7.org>
+# Contributor: kfgz <kfgz at interia pl>
+# Contributor: François Charette <firmicus at gmx dot net>
+
+pkgname=perl-xml-dom
+pkgver=1.46
+pkgrel=1
+pkgdesc="Implements Level 1 of W3's DOM"
+arch=('any')
+url="http://search.cpan.org/dist/XML-DOM"
+license=('GPL' 'PerlArtistic')
+#'perlxml>=2.30'
+depends=('perl-xml-regexp' 'libxml-perl>=0.07' 'perl-libwww')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/T/TJ/TJMATHER/XML-DOM-${pkgver}.tar.gz)
+md5sums=('91ec808de616a2af54a5118619f8f9cc')
+
+build() {
+ cd ${srcdir}/XML-DOM-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd ${srcdir}/XML-DOM-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/linhes/perl-xml-treepp/PKGBUILD b/linhes/perl-xml-treepp/PKGBUILD
new file mode 100644
index 0000000..4d2a664
--- /dev/null
+++ b/linhes/perl-xml-treepp/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer : int <int [ate] arcor [dot] de>
+# Contributor: K. Hampf <k.hampf@gmail.com>
+# Generator : CPANPLUS::Dist::Arch 1.32
+
+pkgname='perl-xml-treepp'
+pkgver='0.43'
+pkgrel='3'
+pkgdesc="Perl/CPAN Module XML::TreePP: Pure Perl implementation for parsing/writing XML documents"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl' 'perl-libwww')
+makedepends=()
+url='https://metacpan.org/release/XML-TreePP'
+source=("http://search.cpan.org/CPAN/authors/id/K/KA/KAWASAKI/XML-TreePP-${pkgver}.tar.gz")
+md5sums=('f69693066e52591bf1142d3f4e6d37e5')
+sha512sums=('4289a0a8100ef15f62f0e303f13094371ac6f1b54d887be1ed7e2ea31d7f1f6fc28d4234cf96458074137f756db3fe452ded170d3ee576f7eb2cfc9996cc31d1')
+_distdir="XML-TreePP-${pkgver}"
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make install
+
+ find "$pkgdir" "(" -name .packlist -o -name perllocal.pod ")" -delete
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/linhes/plex-media-server/.gitignore b/linhes/plex-media-server/.gitignore
new file mode 100644
index 0000000..e287956
--- /dev/null
+++ b/linhes/plex-media-server/.gitignore
@@ -0,0 +1,6 @@
+/*.deb
+/*.rpm
+/*.spk
+/*.xz
+/src/
+/pkg/
diff --git a/linhes/plex-media-server/PKGBUILD b/linhes/plex-media-server/PKGBUILD
new file mode 100644
index 0000000..375bd4e
--- /dev/null
+++ b/linhes/plex-media-server/PKGBUILD
@@ -0,0 +1,66 @@
+
+# Maintainer: Donald Webster <fryfrog@gmail.com>
+# Contributor: Tom Moore <t.moore01@gmail.com>
+# Contributor: Mikael Eriksson <mikael_eriksson@miffe.org>
+# Contributor: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Rob Sletten <rsletten@gmail.com>
+# Contributor: monty <linksoft@gmx.de>
+# Contributor: Jon Wiersma <archaur@jonw.org>
+# Contributor: Arthur <arthur.darcet@m4x.org>
+# Contributor: Praekon <praekon@googlemail.com>
+
+pkgname=plex-media-server
+pkgver=1.40.1.8227
+_pkgsum=c0dd5a73e
+pkgrel=1
+pkgdesc='The back-end media server component of Plex.'
+arch=('x86_64' 'i686' 'armv7h' 'aarch64')
+url='https://plex.tv/'
+license=('custom')
+options=('!emptydirs' '!strip' 'staticlibs')
+conflicts=('plex-media-server-plexpass')
+backup=('etc/conf.d/plexmediaserver')
+install='plex-media-server.install'
+source=('plexmediaserver.conf.d'
+ 'plexmediaserver.service'
+ 'plexmediaserver.hook'
+ 'plex.sysusers'
+ 'plex.tmpfiles'
+ 'terms.txt')
+
+source_aarch64=("https://downloads.plex.tv/plex-media-server-new/${pkgver}-${_pkgsum}/debian/plexmediaserver_${pkgver}-${_pkgsum}_arm64.deb")
+source_armv7h=("https://downloads.plex.tv/plex-media-server-new/${pkgver}-${_pkgsum}/debian/plexmediaserver_${pkgver}-${_pkgsum}_armhf.deb")
+source_x86_64=("https://downloads.plex.tv/plex-media-server-new/${pkgver}-${_pkgsum}/redhat/plexmediaserver-${pkgver}-${_pkgsum}.x86_64.rpm")
+source_i686=("https://downloads.plex.tv/plex-media-server-new/${pkgver}-${_pkgsum}/redhat/plexmediaserver-${pkgver}-${_pkgsum}.i686.rpm")
+
+sha256sums=('398ba7958598609453f5289b3d5f2389d2756158b340cf28e83c39d9ed60280b'
+ '525b4b3b7db69c4abf696116c9f41d7a3cb3b572186200d0720bb96ec155fbd4'
+ 'a94c798e3a1b5614020e3dd6ec80d378c0401fa08f411769527ad87a6898e80c'
+ 'c597bee0bcbb59ed791651555a904e5f7e9d2e82f6c6986b6352e5fc38e5b557'
+ 'b7ff6525a3c7a8be885edc85bb523095f8e25ddb38873127e2a4e97b28f2c7ad'
+ 'dbfb5a9a7146a975863c0932f1a68c4b040ec5d7e693361f39ddfbf60885e631')
+sha256sums_x86_64=('a3c3c0eca19a86acc235bd098eaaad12ff73151e643fb6f7f95e2d2bf3b6f1cc')
+sha256sums_i686=('b6c3e5c1119c3663f220dbbf4a7f66c63a22de92e570615d9bf3f607be18cabf')
+sha256sums_armv7h=('57c54a376a46b74073a8977be7483ecd76b3546fca1edff9230863cc7aef2fc4')
+sha256sums_aarch64=('e8ff9894d00bd1c840a75ce8abdecf2182650f4bba0f2374a2a327b1b843ec99')
+
+prepare() {
+ if [[ $CARCH = armv7h ]] || [[ $CARCH = aarch64 ]]; then
+ bsdtar -xf data.tar.xz
+ fi
+}
+
+package() {
+ install -d -m 755 "${pkgdir}/usr/lib/plexmediaserver"
+ cp -dr --no-preserve='ownership' "${srcdir}/usr/lib/plexmediaserver" "${pkgdir}/usr/lib/"
+
+ install -D -m 644 "${srcdir}/plexmediaserver.conf.d" "${pkgdir}/etc/conf.d/plexmediaserver"
+ install -D -m 644 "${srcdir}/plexmediaserver.service" "${pkgdir}/usr/lib/systemd/system/plexmediaserver.service"
+ install -D -m 644 "${srcdir}/plex.sysusers" "${pkgdir}/usr/lib/sysusers.d/plex.conf"
+ install -D -m 644 "${srcdir}/plex.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/plex.conf"
+
+ install -D -m 644 "${srcdir}/terms.txt" "${pkgdir}/usr/share/licenses/${pkgname}/terms.txt"
+ install -D -m 644 "${srcdir}/plexmediaserver.hook" "${pkgdir}/usr/share/doc/${pkgname}/plexmediaserver.hook"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/linhes/plex-media-server/plex-media-server.install b/linhes/plex-media-server/plex-media-server.install
new file mode 100644
index 0000000..3a5a4e4
--- /dev/null
+++ b/linhes/plex-media-server/plex-media-server.install
@@ -0,0 +1,12 @@
+post_upgrade() {
+ # The plex user's home directory needs to change too.
+ if [[ "$( getent passwd plex | cut -d: -f6 )" != "/usr/lib/plexmediaserver" ]]; then
+ usermod -d /usr/lib/plexmediaserver plex
+ if [[ $? -ne 0 ]]; then
+ echo "Could not change plex users home directory."
+ echo "Run: sudo systemctl stop plexmediaserver ; sudo usermod -d /usr/lib/plexmediaserver plex ; sudo systemctl start plexmediaserver"
+ fi
+ fi
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/linhes/plex-media-server/plex.sysusers b/linhes/plex-media-server/plex.sysusers
new file mode 100644
index 0000000..848eba4
--- /dev/null
+++ b/linhes/plex-media-server/plex.sysusers
@@ -0,0 +1 @@
+u plex - "Plex Media Server" /usr/lib/plexmediaserver
diff --git a/linhes/plex-media-server/plex.tmpfiles b/linhes/plex-media-server/plex.tmpfiles
new file mode 100644
index 0000000..17dcf29
--- /dev/null
+++ b/linhes/plex-media-server/plex.tmpfiles
@@ -0,0 +1,3 @@
+# Override this file with a modified version in /etc/tmpfiles.d/
+d /var/lib/plex 0755 plex plex
+L /var/log/plex - - - - /var/lib/plex/Plex Media Server/Logs
diff --git a/linhes/plex-media-server/plexmediaserver.conf.d b/linhes/plex-media-server/plexmediaserver.conf.d
new file mode 100644
index 0000000..7d75949
--- /dev/null
+++ b/linhes/plex-media-server/plexmediaserver.conf.d
@@ -0,0 +1,6 @@
+LD_LIBRARY_PATH=/usr/lib/plexmediaserver/lib
+PLEX_MEDIA_SERVER_HOME=/usr/lib/plexmediaserver
+PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/var/lib/plex
+PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6
+PLEX_MEDIA_SERVER_TMPDIR=/tmp
+TMPDIR=/tmp
diff --git a/linhes/plex-media-server/plexmediaserver.hook b/linhes/plex-media-server/plexmediaserver.hook
new file mode 100644
index 0000000..6a56225
--- /dev/null
+++ b/linhes/plex-media-server/plexmediaserver.hook
@@ -0,0 +1,12 @@
+# Copy, move or symlink this file in /etc/pacman.d/hooks to force a restart when plex is updated.
+
+[Trigger]
+Operation = Upgrade
+Type = Package
+Target = plex-media-server-plexpass
+Target = plex-media-server
+
+[Action]
+Description = Restarting Plex Media Server...
+When = PostTransaction
+Exec = /usr/bin/systemctl try-restart plexmediaserver.service
diff --git a/linhes/plex-media-server/plexmediaserver.service b/linhes/plex-media-server/plexmediaserver.service
new file mode 100644
index 0000000..ba67e17
--- /dev/null
+++ b/linhes/plex-media-server/plexmediaserver.service
@@ -0,0 +1,27 @@
+# Be sure to use `systemctl edit plexmediaserver` to modify this service with an override.conf because
+# direct changes will be overwritten by package updates.
+#
+# A user per service w/ shared group setup would have an override like:
+# [Service]
+# Group=sharedgroupname
+# UMask=002
+
+[Unit]
+Description=Plex Media Server
+After=network.target network-online.target
+
+[Service]
+# In this file, set LANG and LC_ALL to en_US.UTF-8 on non-English systems to avoid mystery crashes.
+EnvironmentFile=/etc/conf.d/plexmediaserver
+ExecStart=/usr/lib/plexmediaserver/Plex\x20Media\x20Server
+SyslogIdentifier=plexmediaserver
+Type=simple
+User=plex
+Group=plex
+Restart=on-failure
+RestartSec=5
+StartLimitInterval=60s
+StartLimitBurst=3
+
+[Install]
+WantedBy=multi-user.target
diff --git a/linhes/plex-media-server/terms.txt b/linhes/plex-media-server/terms.txt
new file mode 100644
index 0000000..676d3f4
--- /dev/null
+++ b/linhes/plex-media-server/terms.txt
@@ -0,0 +1,514 @@
+ Plex Terms of Service
+
+ Revised July 10, 2015
+
+ Thank you for using Plex! By accessing, using, downloading, or visiting
+ any Plex “Service(s)”, which includes the Plex website, Plex software and
+ products described here, and any other products or materials provided by
+ Plex GmbH, a Swiss company, and its affiliates (together, “Plex”), you
+ agree to the terms (“Terms”) listed in this agreement (“Agreement”). Plex
+ reserves the right to amend these Terms at any time and without notice.
+ Any revisions to the Terms will be posted on the Plex website. By
+ continuing to access or use the Services, you accept any changes or
+ revisions to the Terms.
+
+ Plex Software
+
+ 1. Plex grants you a personal, non-commercial, worldwide, royalty-free,
+ revocable, non-transferable, non-sublicensable, and non-exclusive
+ license to use the software provided to you by Plex as part of the
+ Services (“Software”). This license is for the sole purpose of
+ enabling you to use and enjoy the benefit of the Services in the
+ manner permitted by these Terms.
+ 2. The Software includes certain executable modules that Plex has
+ licensed from third party providers (“Third Party Components”) that
+ may be subject to different end user license terms as specified in the
+ license agreement(s) provided with such Third Party Components.
+ 3. Except as provided in the next section, you may not, or allow anyone
+ else to, directly or indirectly to: (1) copy, modify, distribute,
+ sell, or lease any part of the Software; (2) reverse engineer,
+ disassemble, decompile, or otherwise attempt to discover the source
+ code or structure, sequence, and/or organization of all or any part of
+ the Software, unless laws prohibit those restrictions or you have our
+ written permission; (3) rent, lease, or use the Software for
+ timesharing or service bureau purposes; (4) develop any improvement,
+ modification, or derivative works of the Software, or include any
+ portion thereof in any other product, software, work, equipment, or
+ item (except that you may customize and/or modify the Software only as
+ set forth in the documentation or as authorized in any license
+ agreement of Plex’s third party licensors and applicable to Third
+ Party Components); or (5) allow the transfer, transmission, export, or
+ re-export of the Software or any portion thereof or any technical data
+ associated with any Software.
+ 4. Plex grants you a personal, non-commercial, worldwide, royalty-free,
+ revocable, non-transferable, non-sublicensable, and non-exclusive
+ license to reproduce the Plex Media Server Software (PMS Software) in
+ copies and distribute the copies to others, provided that: you may not
+ charge a fee for the PMS Software, and you may not individually charge
+ for installing it; you may copy, distribute and install the PMS
+ Software only as others actually need the PMS Software, and not more
+ than five (5) times per calendar day or more than twenty-five (25)
+ times per calendar month; you may not offer the PMS Software to the
+ public for downloading on or in connection with any commercial online
+ site, whether or not a fee is charged for the PMS Software; you shall
+ comply with all other terms and conditions set forth in this document;
+ you agree that Plex may revoke or terminate the license granted to you
+ under this paragraph at any time for any reason in its sole
+ discretion. As an example, this section is intended to permit
+ reasonable copying and distribution of the PMS Software in connection
+ with services such as home theater or home media center installation
+ in which you install the PMS Software on the computers of your
+ customers as a convenience in connection with other services or
+ products that you are providing to them, and/or in Arch Linux
+ repositories and similar distributions.
+ 5. You shall maintain and shall not remove nor obscure any proprietary
+ notices on the Software, and shall reproduce such notices exactly on
+ all permitted copies of the Software.
+ 6. You may reverse engineer the Software solely (1) as permitted by
+ applicable law, or (2) for the purpose of debugging modifications made
+ by you to certain third party files in source code format that are
+ licensed under the GNU Lesser General Public License (LGPL) or under
+ the GNU General Public License version 2 (GPL2) and only provided that
+ you have made, prior to any such reverse engineering permitted under
+ this sentence, unsuccessful prior reasonable good faith efforts to
+ debug such modifications using techniques other than the reverse
+ engineering of the Software.
+ 7. As between the parties and except as otherwise provided in any license
+ agreement for Third Party Components, Plex shall own all title,
+ ownership rights, and intellectual property rights in and to the
+ Software, and any copies or derivative works thereof, except that by
+ downloading the Software, you retain any title that you may own in and
+ to the recording media on which the Software is recorded.
+ 8. You understand that Plex or its licensors may modify or discontinue
+ offering the Services at any time.
+ 9. You shall not make, or assist others in making, any use of data
+ adapters or similar technologies used by or with the Services that are
+ designed to receive and use data from Plex, its third party data
+ providers, and their affiliates and third parties, other than to
+ receive and use such data in accordance with these Terms and your
+ agreement with the third party data providers, and their affiliates
+ and third parties, including without limitation any data passing
+ through the Services or otherwise effectively made available by any
+ Service through an API, a download, a database, or the like.
+ 10. This Agreement does not entitle you to any support, upgrades, patches,
+ enhancements, or fixes (collectively, “Support”) for the Services. Any
+ such Support for the Services that may be made available by Plex, in
+ its sole discretion, shall become part of the Services and will be
+ subject to these Terms.
+
+ Data
+
+ Data provided by Plex or other third party data providers may be delayed
+ or unavailable as specified by Plex or such third party data providers.
+ Plex does not verify any data provided by Plex or other third party data
+ providers and disclaims any obligation to do so. Plex, its third party
+ data providers, and each of their affiliates and business partners: (1)
+ expressly disclaim the availability, accuracy, adequacy, or completeness
+ of any data or third party data provider, and (2) shall not be liable for
+ any errors, omissions, or other defects in, unavailability of, delays or
+ interruptions in such data or third party data provider.
+
+ Acceptable Use
+
+ 1. You may not, or allow anyone else to, use any of the Services to do
+ the following:
+ 1. Infringe the intellectual property rights, proprietary rights, or
+ rights of publicity or privacy of any third party;
+ 2. Violate any law, statute, ordinance, or regulation, or perform
+ any other action that would incur civil liability or constitute a
+ crime;
+ 3. Disseminate, transfer or store information or materials in any
+ form or format that is harmful, threatening, abusive, harassing,
+ tortuous, defamatory, vulgar, obscene, libelous, or otherwise
+ objectionable, or that otherwise violate any law or right of any
+ third party; or
+ 4. Disseminate any software viruses or any other computer code,
+ files, programs, or the like that may without limitation
+ interrupt, destroy, or limit the functionality of any computer
+ software or hardware or telecommunications equipment, violate the
+ security of any computer network, or the like.
+ 2. If the occurrence of any prohibited use comes to our attention, we
+ reserve the right to disable any accounts associated with prohibited
+ use or otherwise terminate your access to the Services.
+
+ Your Content
+
+ 1. You continue to retain any ownership rights you have in content you
+ make available via the Services, or otherwise use in conjunction with
+ the Services. However, by using the Services with particular content,
+ for example by using the Services to share particular content or
+ access particular content, you grant to Plex (and to each of the third
+ parties with whom we work to provide you with the Services) a
+ worldwide license to reproduce, modify, create derivative works,
+ transmit, publish, publicly perform, publicly display, distribute, and
+ otherwise use the particular content and metadata associated with the
+ content, such as images of you or images otherwise associated with
+ your account. The rights you grant us in this license are only for the
+ limited purpose of providing you with our Services. You may not use
+ the Services in connection with any content for which you do not have
+ the right to grant us this license.
+ 2. The Services may include features that allow you to share your content
+ with others. Please be careful when choosing to share content with
+ other users; Plex is not responsible for how others use your content.
+ Additionally, you hereby grant to any user with whom you share content
+ a non-exclusive license to access the content through the Service, and
+ to use, reproduce in copies, distribute, display and perform the
+ shared content as permitted through the functionality of the Service
+ and under this Agreement. You may not share any content with others
+ via the Services if you do not have the right to grant this license to
+ any user with whom you share the content.
+ 3. You understand that Plex may delete any content that you post in or
+ contribute to a message forum or similar service that Plex hosts, in
+ its sole discretion, for any reason.
+
+ Content of Others
+
+ 1. You acknowledge that all content that you access through use of the
+ Software or other Services is accessed at your own risk, and you will
+ be solely responsible for any damage or liability to any party
+ resulting from such access.
+ 2. You understand that by using the Services you may encounter content
+ that you may find offensive, indecent, or objectionable. Plex does not
+ inspect, screen, or otherwise control the content that is posted,
+ shared or made available via the Services, and Plex does not guarantee
+ the accuracy, integrity or quality of such content.
+ 3. You acknowledge that unauthorized use of copyrighted content of others
+ may subject you to civil and criminal penalties, including possible
+ monetary damages, for copyright infringement.
+
+ Developers and Interfacing Software
+
+ 1. “Interfacing Software” means any software that you obtain or provide
+ and that accesses or calls any Software provided by Plex as part of
+ the Services including, but not limited to, plug-ins for the Services,
+ channel plug-ins, metadata agents, and client applications that
+ communicate directly or indirectly with the Services.
+ 2. By making, or assisting others in making, Interfacing Software, you
+ agree to the following terms:
+ 1. You grant Plex and its affiliates worldwide a worldwide,
+ non-exclusive, and royalty-free right and license to use
+ (including testing, hosting and linking to), copy, publicly
+ perform, publicly display, reproduce in copies for distribution,
+ and distribute the copies of any Interfacing Software made by you
+ or with your assistance.
+ 2. You will include in the source code of the Interfacing Software a
+ copyright notice of the form: Copyright © <year> <copyright
+ holders>. You grant, and authorize Plex to grant on your behalf
+ if necessary, a license, free of charge, to any person obtaining
+ a copy of the Interfacing Software and associated documentation
+ files from Plex, to deal in the Interfacing Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Interfacing Software, and to permit persons to whom
+ the Interfacing Software is furnished to do so, subject to the
+ following conditions: The above copyright notice and this
+ permission notice shall be included in all copies or substantial
+ portions of the Interfacing Software. THE INTERFACING SOFTWARE IS
+ PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE INTERFACING SOFTWARE.
+ 3. You may notify us if you do not wish for Plex to use, distribute,
+ copy, publicly perform, publicly display, reproduce in copies for
+ distribution, or distribute copies of any Interfacing Software
+ that was created by you. Plex will comply with such a request but
+ Plex must be granted a transition period of thirty (30) days
+ after receipt of the request to comply.
+ A request to take down Interfacing Software must include (1) an
+ identification of the Interfacing Software you wish to be
+ removed; (2) your signature in either electronic or physical
+ form; and (3) the following statements:
+ * “I swear under penalty of perjury that I am the owner of the
+ Interfacing Software or I am authorized to act on behalf of
+ the owner of the Interfacing Software.”
+ * “I swear under penalty of perjury that the information in
+ this notification is accurate.”
+ 4. You shall protect the privacy and legal rights of Plex users. If
+ the users provide, or the Interfacing Software accesses or uses,
+ user names, passwords, or other login information or personal
+ information, you must make the users aware that such information
+ will be available to the Interfacing Software, and you must
+ provide privacy notices and protection for those users in
+ compliance with applicable law. Further, the Interfacing Software
+ may use that information only for the limited purposes for which
+ the user has given you permission to do so. If the Interfacing
+ Software stores personally identifying information of users or
+ information that a reasonable user would consider to be
+ sensitive, then the Interfacing Software must do so securely and
+ only for as long as it is needed. However, if the user has opted
+ or entered into a separate agreement with you that allows you or
+ the Interfacing Software to store or use personally identifying
+ information of users or information that a reasonable user would
+ consider to be sensitive, then the terms of that separate
+ agreement will govern your use of such information. If the user
+ provides the Interfacing Software with Plex account information,
+ the Interfacing Software may only use that information to access
+ the user’s Plex account when, and for the limited purposes for
+ which, the user has given you permission to do so.
+ 5. Prohibited Uses. Plex prohibits performing certain actions using
+ the Interfacing Software. You shall not make, or assist others in
+ making, any Interfacing Software that:
+ 1. Knowingly violates a third party’s terms of service;
+ 2. Violates any applicable laws or regulations;
+ 3. Interferes with, disrupts, damages, harms, or accesses in an
+ unauthorized manner the machines, hardware. devices,
+ servers, networks, data, or other properties or services of
+ any other party including, but not limited to, Plex users,
+ Plex or any network operator;
+ 4. Posts misleading information about an application’s purpose;
+ 5. Infringes on the intellectual property rights of others; or
+ 6. Performs any other prohibited action listed under
+ “Acceptable Use” above.
+ 6. You will require your end users to comply with any applicable law
+ and these Terms. You will not knowingly enable your end users to
+ violate applicable law or these Terms.
+ 7. You shall indemnify and hold harmless Plex and its officers,
+ directors, employees, contractors, licensors, suppliers,
+ distributors, contractors, agents, and third party contributors
+ from any claims, damages, liabilities, costs and fees (including
+ reasonable attorney fees) arising from any use of the Interfacing
+ Software or from Plex’s distribution of the Interfacing Software.
+ 8. Brand Features and Attribution
+ 1. “Brand Features” is defined as the trade names, trademarks,
+ service marks, logos, domain names, and other distinctive
+ brand features of a party. Except where expressly stated,
+ these terms do not grant either party any right, title, or
+ interest in or to the other party’s Brand Features. Any use
+ by you of Plex’s Brand Features (including any goodwill
+ associated therewith) will inure to the benefit of Plex.
+ Plex Brand Features include the Plex Play Logo (“>” in
+ stylized format) and the trademarks, trade names and designs
+ as may be identified from time to time in the Plex Trademark
+ Notice that is posted at
+ https://www.plex.tv/about/privacy-legal/.
+ 2. You must seek prior written approval from Plex to display
+ Plex’s Brand Features, including for the purpose of
+ promoting or advertising that your Interfacing Software is
+ for use in conjunction with Plex Services. Plex, in its sole
+ discretion and in a separate writing such as an e-mail from
+ an authorized representative of Plex, may grant you a
+ revocable, non-transferable, nonexclusive license, without
+ right of sub-license, to display Plex’s Brand Features for
+ the purpose of promoting or advertising that your
+ Interfacing Software is for use in conjunction with Plex
+ Services. You understand and agree that Plex has the sole
+ discretion to determine whether your attribution(s) and use
+ of Plex’s Brand Features are in accordance with the above
+ requirements and guidelines and that Plex may revoke the
+ license granted herein at any time, or may require you to
+ modify your use of Plex’s Brand Features, for any reason in
+ its sole discretion.
+ 3. You will not make any statement that suggests a partnership
+ with, sponsorship by, or endorsement by Plex, without Plex’s
+ express prior written approval.
+ 4. In the course of promoting, marketing, or demonstrating the
+ Services, Plex may produce and distribute incidental
+ depictions, including screenshots, video, or other content
+ from your Interfacing Software, and may use your company or
+ product name. You grant us all necessary rights for the
+ above purposes.
+
+ Children
+
+ While Plex does distribute products that may be used by children, the
+ Services are not intended to be used by children, without involvement,
+ supervision, and approval of a parent or legal guardian. Therefore, if an
+ account owner sets parental controls or establishes sub-accounts that the
+ account owner intends to permit a child to use, the account owner should
+ not reveal the account password to the child. Plex and its contributors
+ may not provide controls that restrict the maturity level of content
+ available via Plex and an adult account owner has sole responsibility for
+ determining what maturity level is appropriate for or accessible to any
+ children whom the account owner permits to use the Plex service or a
+ sub-account.
+
+ NO WARRANTY
+
+ 1. PLEX SERVICES ARE PROVIDED “AS IS”. PLEX MAKES NO WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, AND PLEX EXPRESSLY DISCLAIMS ALL WARRANTIES
+ WITH RESPECT TO THE PLEX SERVICES, INCLUDING WITHOUT LIMITATION, ANY
+ IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE AND NONINFRINGEMENT. FURTHER, PLEX DOES NOT WARRANT AGAINST
+ ERRORS, OMISSIONS, RESULTS OF USE, OR THAT PLEX SERVICES ARE BUG FREE
+ OR ERROR FREE OR THAT USE WILL BE UNINTERRUPTED. THIS DISCLAIMER OF
+ WARRANTY CONSTITUTES AN ESSENTIAL PART OF THE AGREEMENT. ALL THE
+ FOREGOING DISCLAIMERS ALSO APPLY IN FULL WITH RESPECT TO PLEX’S
+ LICENSORS, SUPPLIERS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD
+ PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED
+ WARRANTIES, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.
+ 2. You agree that Plex and its officers, directors, employees, and
+ contractors are not responsible for any fault, inaccuracy, error,
+ omission, delay or any other failure of your equipment and/or services
+ caused by Plex’s hardware, software, cabling, network services, or the
+ like, or arising from Plex’s use of such equipment and/or services.
+ 3. The above disclaimer of warranty applies to software developed by Plex
+ and any software developed by a third party and provided by Plex
+ including, but not limited to, Interfacing Software developed by any
+ Plex user.
+
+ Limitation of Liability and Damages
+
+ 1. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, INCLUDING, BUT NOT
+ LIMITED TO, TORT, CONTRACT, NEGLIGENCE, STRICT LIABILITY, OR
+ OTHERWISE, SHALL PLEX BE LIABLE TO YOU OR ANY OTHER PERSON OR ENTITY:
+ (I) FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF
+ ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS,
+ LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE
+ OR MALFUNCTION, LOSS OF DATA, OR OTHER DAMAGES RESULTING FROM YOUR USE
+ OF THE SOFTWARE; OR (II) FOR ANY MATTER BEYOND ITS REASONABLE CONTROL.
+ PLEX’S AGGREGATE LIABILITY FOR DAMAGES OF ANY KIND WHATSOEVER ARISING
+ OUT OF THIS AGREEMENT SHALL BE LIMITED TO THE LESSER OF THE TOTAL FEES
+ PAID BY YOU TO PLEX (IF ANY) FOR THE PORTION OF THE SOFTWARE THAT GAVE
+ RISE TO SUCH DAMAGES OR $100 (U.S.), EXCEPT WHERE NOT PERMITTED BY
+ APPLICABLE LAW, IN WHICH CASE PLEX’S LIABILITY SHALL BE LIMITED TO THE
+ MINIMUM AMOUNT PERMITTED BY SUCH APPLICABLE LAW. ALL THE FOREGOING
+ LIMITATIONS SHALL APPLY EVEN IF EITHER PARTY HAS BEEN INFORMED OF THE
+ POSSIBILITY OF SUCH DAMAGES. ALL THE FOREGOING LIMITATIONS ALSO APPLY
+ WITH RESPECT TO PLEX’S SUPPLIERS, LICENSORS, DISTRIBUTORS,
+ CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT
+ ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL
+ DAMAGES, SO THE ABOVE LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.
+ 2. The above limitations and exclusions apply to software developed by
+ Plex and any software developed by a third party and provided by Plex
+ including, but not limited to, Interfacing Software developed by Plex
+ user.
+
+ Third-Party Materials
+
+ This website and other Services may provide links to websites, software,
+ or other materials provided by third parties. Plex does not endorse and is
+ not responsible or liable for the availability, accuracy, safety, or
+ intellectual property rights of or relating to such content. Plex is not
+ liable for any harm caused by any such materials.
+
+ Malware
+
+ “Malware” means any known, discovered, envisioned, or invented, or any yet
+ to be known, discovered, envisioned, or invented: (i) virus, Trojan horse,
+ or any other harmful, harassing, or malicious software; or (ii) method,
+ use, or means by which any software, firmware, equipment, device,
+ communications medium, person, entity, or the like directly or indirectly
+ engages in or is used for: (a) any unauthorized access; (b) any
+ unauthorized communication; or (c) any cracks, hacks, exploits, or other
+ activity, method, use, or means, that may cause harassment, harm, data
+ loss, data theft, loss of communication, loss of privacy, or the like. You
+ acknowledge that the Internet, Internet service providers, shared or
+ dedicated telecommunication lines, wireless access points and wireless
+ networks, other forms of communication, online resources including
+ websites and cloud computing environments, or other means that you use to
+ connect to the Software may not be secure and may be vulnerable to attack
+ by third parties, and that it is possible to receive Malware by using the
+ Internet, dedicated lines, other forms of communication, or other means.
+ In order to protect the Software, you shall regularly obtain, use, and
+ update appropriate third party software or other means to protect yourself
+ from Malware and to detect and remove Malware that may be downloaded using
+ the Internet, dedicated lines, other forms of communication, or other
+ means. Plex does not warrant that the Software will be free of Malware
+ including, but not limited to, Malware that is introduced by third
+ parties, the Internet, dedicated lines, other forms of communication, or
+ other means.
+
+ Waiver and Indemnity
+
+ You agree that Plex and its licensors, distributors, contractors, agents,
+ and third party contributors shall have no liability whatsoever for any
+ use you make of the Services. You shall indemnify and hold harmless Plex
+ and its licensors, suppliers, distributors, contractors, agents, and third
+ party contributors from any claims, damages, liabilities, costs and fees
+ (including reasonable attorney fees) arising from your use of the Plex
+ Services as well as from your failure to comply with any of the Terms, or
+ any losses, damages, claims, costs, and/or attorneys’ fees arising from
+ any use of or reliance upon any information received in connection with
+ the Services that comprises or is based upon data provided by Plex or any
+ third party.
+
+ Termination of Services
+
+ Plex may at any time, with or without cause and with or without prior
+ notice, immediately terminate or suspend your Plex account or otherwise
+ terminate or suspend your access to all or a portion of the Services.
+ Cause for such termination may include: (a) violations of the Terms or any
+ other policies or guidelines that are referenced herein; (b) a request by
+ you to cancel or terminate your account; (c) a request and/or order from
+ law enforcement, a judicial body, or other government agency; (d) where
+ providing the Services to you is or may become unlawful; (e) unexpected
+ technical or security issues or problems; or (f) your participation in
+ fraudulent or illegal activities. Any such termination or suspension shall
+ be made by Plex in its sole discretion and Plex will not be responsible to
+ you or any third party for any damages that may result or arise out of
+ such termination or suspension of your access to the Services.
+
+ Miscellaneous
+
+ 1. This Agreement does not give you any rights not expressly and
+ unambiguously granted herein.
+ 2. No agency, partnership, joint venture, or employment is created as a
+ result of this Agreement and you do not have any authority of any kind
+ to bind Plex in any respect whatsoever.
+ 3. If any provision of this Agreement is found to be unenforceable or
+ invalid, that provision shall be limited or eliminated to the minimum
+ extent necessary so that this Agreement shall otherwise remain in full
+ force and effect and enforceable.
+ 4. This Agreement is not assignable, transferable, or sublicensable by
+ you except with Plex’s prior written consent. Plex may transfer,
+ assign, or delegate this Agreement and its rights and obligations
+ without consent.
+ 5. Plex’s failure to enforce any right or provisions in this Agreement
+ will not constitute a waiver of such or any other provision.
+ 6. This Agreement shall be governed by and construed in accordance with
+ the laws of the state of California, as if made within California
+ between two residents thereof, and the parties submit to the exclusive
+ jurisdiction of the Superior Court of Santa Clara County and the
+ United States District Court for the Northern District of California.
+ Notwithstanding the foregoing sentence, but without limiting Plex’s
+ right to seek injunctive or other equitable relief in any court of
+ competent jurisdiction, any disputes arising with respect to this
+ Agreement shall be referred to an arbitrator affiliated with the
+ Judicial Arbitration and Mediation Services, Inc. (“JAMS”). The
+ arbitrator shall be selected by joint agreement of the parties. In the
+ event the parties cannot agree on an arbitrator within thirty (30)
+ days of the initiating party providing the other party with written
+ notice that it plans to seek arbitration, the parties shall each
+ select an arbitrator affiliated with JAMS, which arbitrators shall
+ jointly select a third such arbitrator to resolve the dispute. The
+ written decision of the arbitrator shall be final and binding on the
+ parties. The arbitration proceeding shall be carried on and heard in
+ Santa Clara County, California using the English language and pursuant
+ to the rules of (and administered by) JAMS. In any action or
+ proceeding to enforce rights under this Agreement, the prevailing
+ party will be entitled to recover costs and reasonable attorneys’ fees
+ from the other party. A separate written license agreement or order
+ and signed by Plex and you or your company, employer, or principal may
+ state other terms and conditions that apply to you, including terms
+ relating to price, payment, delivery, confidential information,
+ support services, and the like. You are solely responsible to review
+ such terms or conditions with your company, employer or principal. In
+ the event of any conflict in terms, the terms of the separate license
+ agreement shall supersede the terms of this Agreement.
+ 7. Both parties agree that this Agreement is the complete and exclusive
+ statement of the mutual understanding of the parties and supersedes
+ and cancels all previous written and oral agreements, communications,
+ and other understandings relating to the subject matter of this
+ Agreement.
+ * Privacy
+ * Terms
+ * Copyright
+ * Trademark
+ * Subscriptions
+ * Blog
+ * Support
+ * About
+ * Cord Cutting
+ * Plex Pro
+ * Plex Gear
+ * Contact
+ Connect With Us
+ * * * * * * Language
+ Copyright © 2017 Plex
+ * Privacy & Legal
+ * Sitemap
+ * Status
diff --git a/linhes/python-requests-cache/.gitignore b/linhes/python-requests-cache/.gitignore
new file mode 100644
index 0000000..743531c
--- /dev/null
+++ b/linhes/python-requests-cache/.gitignore
@@ -0,0 +1,5 @@
+/src/
+/pkg/
+/*.pkg.*
+/*.log
+/*.tar.gz
diff --git a/linhes/python-requests-cache/PKGBUILD b/linhes/python-requests-cache/PKGBUILD
new file mode 100644
index 0000000..1530ff8
--- /dev/null
+++ b/linhes/python-requests-cache/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Jordan Cook <JCook83@gmail.com>
+# Maintainer: Carlos Aznarán <caznaranl@uni.pe>
+# Maintainer: Philipp A. <flying-sheep@web.de>
+# Contributor: Benoit Pierre <benoit.pierre@gmail.com>
+# Contributor: Simon Legner <Simon.Legner@gmail.com>
+# Contributor: Aniket Pradhan <aniket17133[at]iiitd[dot]ac[dot]in>
+# Contributor: Roman Haritonov <reclosedev[at]gmail[dot]com>
+_base=requests-cache
+pkgname=python-${_base}
+pkgdesc="A persistent cache for python requests"
+pkgver=1.2.0
+pkgrel=1
+arch=(any)
+url="https://github.com/${_base}/${_base}"
+license=('custom:BSD-2-clause')
+depends=(python-requests python-cattrs python-platformdirs python-url-normalize)
+makedepends=(python-build python-installer python-poetry-core python-wheel)
+optdepends=('python-boto3: Cache backend for Amazon DynamoDB database'
+ 'python-botocore: Interface for Amazon Web Services'
+ 'python-pymongo: Cache backend for MongoDB database'
+ 'python-redis: Cache backend for Redis cache'
+ 'python-bson: for BSON codec'
+ 'python-itsdangerous: for pass trusted data to untrusted environments'
+ 'python-yaml: for bindings yaml support'
+ 'python-ujson: for JSON serializer for improved performance'
+)
+checkdepends=(python-pytest python-requests-mock python-responses python-timeout-decorator
+ python-time-machine python-rich python-ujson python-itsdangerous)
+source=(${_base}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz)
+sha512sums=('b198d282cfd656c432d3a63f4d615191ac1ff97c9563e9bd6945e7a78444601108beb47a0f4a79740c7bd6942c3753f025cd52457e87ece7964229799bbb8fa1')
+
+build() {
+ cd ${_base}-${pkgver}
+ # Note: set `GIT_CEILING_DIRECTORIES` to prevent poetry
+ # from incorrectly using a parent git checkout info.
+ # https://github.com/pypa/build/issues/384#issuecomment-947675975
+ GIT_CEILING_DIRECTORIES="${PWD}/.." python -m build --wheel --skip-dependency-check --no-isolation
+}
+
+check() {
+ cd ${_base}-${pkgver}
+ python -m pytest --ignore=tests/integration
+}
+
+package() {
+ cd ${_base}-${pkgver}
+ python -m installer --destdir="${pkgdir}" dist/*.whl
+ install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}
diff --git a/linhes/python-time-machine/PKGBUILD b/linhes/python-time-machine/PKGBUILD
new file mode 100644
index 0000000..de0c639
--- /dev/null
+++ b/linhes/python-time-machine/PKGBUILD
@@ -0,0 +1,22 @@
+pkgname=python-time-machine
+_pkgname=time_machine
+pkgver=2.11.0
+pkgrel=2
+pkgdesc="Travel through time in your tests."
+arch=(any)
+url="https://github.com/adamchainz/time-machine"
+license=(MIT)
+depends=(python-coverage python-pytest-randomly python-dateutil)
+makedepends=(python-build python-installer python-wheel python-setuptools)
+source=(https://files.pythonhosted.org/packages/source/${_pkgname::1}/$_pkgname/$_pkgname-$pkgver.tar.gz)
+sha256sums=('6c08a0f9ef8b53ca8b69c0be3f9ddb85a587a784fc239b74c35e6c47bf359515')
+
+build() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+ python -m build --wheel --no-isolation
+}
+
+package() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+ python -m installer --destdir="$pkgdir" dist/*.whl
+}
diff --git a/linhes/python-timeout-decorator/PKGBUILD b/linhes/python-timeout-decorator/PKGBUILD
new file mode 100644
index 0000000..19bb182
--- /dev/null
+++ b/linhes/python-timeout-decorator/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: robertfoster
+
+_name=timeout-decorator
+pkgname=python-${_name}
+pkgver=0.5.0
+pkgrel=2
+pkgdesc="Timeout decorator for Python"
+arch=('i686' 'x86_64' 'armv6')
+depends=('python')
+makedepends=('python-setuptools')
+url="https://github.com/pnpnpn/timeout-decorator"
+license=('MIT')
+options=(!emptydirs)
+source=("https://files.pythonhosted.org/packages/source/t/${_name}/${_name}-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/${pkgname#python-}-$pkgver"
+
+ python setup.py build
+}
+
+package() {
+ cd "$srcdir/${pkgname#python-}-$pkgver"
+
+ python setup.py install \
+ --root="$pkgdir" \
+ --optimize=1
+}
+
+md5sums=('8545649e70b3ca43bcff11f08a996c3e')
diff --git a/linhes/python-url-normalize/PKGBUILD b/linhes/python-url-normalize/PKGBUILD
new file mode 100644
index 0000000..3fb1256
--- /dev/null
+++ b/linhes/python-url-normalize/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Carlos Aznarán <caznaranl@uni.pe>
+# Maintainer: Jordan Cook <JCook83@gmail.com>
+# Contributor: Benoit Pierre <benoit.pierre@gmail.com>
+# Contributor: Marc Plano-Lesay <kernald@enoent.fr>
+_base=url-normalize
+pkgname=python-${_base}
+pkgdesc="URL normalization for Python"
+pkgver=1.4.3
+pkgrel=17
+arch=('any')
+url="https://github.com/niksite/${_base}"
+license=(MIT)
+depends=(python-six)
+makedepends=(python-build python-installer python-poetry)
+checkdepends=(python-pytest-socket)
+source=(${_base}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz)
+sha512sums=('46eaa1753b37e89d56cb19818144a7cf5b38653811720eb506732c35bb3732ef0c556420b22a9ee2c08e70e5b408aab7f44cea5e15d1ebe3d717c0c77706bfb8')
+
+build() {
+ cd ${_base}-${pkgver}
+ # Note: set `GIT_CEILING_DIRECTORIES` to prevent poetry
+ # from incorrectly using a parent git checkout info.
+ # https://github.com/pypa/build/issues/384#issuecomment-947675975
+ GIT_CEILING_DIRECTORIES="${PWD}/.." python -m build --wheel --skip-dependency-check --no-isolation
+}
+
+check() {
+ cd ${_base}-${pkgver}
+ # https://github.com/niksite/url-normalize/blob/master/tox.ini#L17
+ pytest -o addopts=--disable-socket tests
+}
+
+package() {
+ cd ${_base}-${pkgver}
+ python -m installer --destdir="${pkgdir}" dist/*.whl
+ install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}
diff --git a/linhes/qbittorrent-vuetorrent-bin/.SRCINFO b/linhes/qbittorrent-vuetorrent-bin/.SRCINFO
new file mode 100644
index 0000000..b0abc65
--- /dev/null
+++ b/linhes/qbittorrent-vuetorrent-bin/.SRCINFO
@@ -0,0 +1,16 @@
+pkgbase = qbittorrent-vuetorrent-bin
+ pkgdesc = The sleekest looking WebUI for qBittorrent made with Vue.js!
+ pkgver = 2.7.2
+ pkgrel = 1
+ url = https://github.com/WDaan/VueTorrent
+ install = qbittorrent-vuetorrent.install
+ arch = any
+ license = GPL3
+ optdepends = qbittorrent: for use with qbittorrent
+ optdepends = qbittorrent-nox: for use with qbittorrent-nox
+ provides = qbittorrent-vuetorrent
+ conflicts = qbittorrent-vuetorrent
+ source = vuetorrent-2.7.2.zip::https://github.com/WDaan/VueTorrent/releases/download/v2.7.2/vuetorrent.zip
+ sha512sums = 0aa53eb66ee384f514d555f40d686c946479057baef98860cc76d6d48a84d42f312eb107c8d69286c4816983926d2ba37cd977bf56acce974257e4b344568c20
+
+pkgname = qbittorrent-vuetorrent-bin
diff --git a/linhes/qbittorrent-vuetorrent-bin/.gitignore b/linhes/qbittorrent-vuetorrent-bin/.gitignore
new file mode 100644
index 0000000..b1557c2
--- /dev/null
+++ b/linhes/qbittorrent-vuetorrent-bin/.gitignore
@@ -0,0 +1,5 @@
+*
+!.gitignore
+!PKGBUILD
+!.SRCINFO
+!qbittorrent-vuetorrent.install
diff --git a/linhes/qbittorrent-vuetorrent-bin/PKGBUILD b/linhes/qbittorrent-vuetorrent-bin/PKGBUILD
new file mode 100644
index 0000000..58271c1
--- /dev/null
+++ b/linhes/qbittorrent-vuetorrent-bin/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Francesco Minnocci <ascoli dot minnocci at gmail dot com>
+# Contributor: zoorat <zoorat [at] protonmail [dot] com>
+# Contributor: Falk Höppner <falk hoppner se>
+
+pkgname=qbittorrent-vuetorrent-bin
+_pkgname=vuetorrent
+pkgver=2.7.2
+pkgrel=1
+
+pkgdesc='The sleekest looking WebUI for qBittorrent made with Vue.js!'
+arch=('any')
+url='https://github.com/WDaan/VueTorrent'
+license=('GPL3')
+
+provides=("qbittorrent-${_pkgname}")
+conflicts=("qbittorrent-${_pkgname}")
+optdepends=(
+ 'qbittorrent: for use with qbittorrent'
+ 'qbittorrent-nox: for use with qbittorrent-nox'
+)
+install=qbittorrent-vuetorrent.install
+
+source=("${_pkgname}-$pkgver.zip::${url}/releases/download/v$pkgver/${_pkgname}.zip")
+sha512sums=('e34703647ba7fc61f0ef9e45f396aada647d6ee5df8b728a7a8c5ceb1ccd14375f0e2b60d9a56341b2dab613a287c1b4634569f75288aa89b4f021feb7c1640e')
+
+package() {
+ cd "$srcdir/vuetorrent"
+ find . -type f -exec install -D '{}' "$pkgdir/usr/share/$pkgname/{}" ';'
+}
+# vim:set ts=2 sw=2 et:
diff --git a/linhes/qbittorrent-vuetorrent-bin/qbittorrent-vuetorrent.install b/linhes/qbittorrent-vuetorrent-bin/qbittorrent-vuetorrent.install
new file mode 100644
index 0000000..04af4b9
--- /dev/null
+++ b/linhes/qbittorrent-vuetorrent-bin/qbittorrent-vuetorrent.install
@@ -0,0 +1,6 @@
+post_install() {
+ cat << EOF
+>>> Make sure to enable 'Use alternative Web UI' in qBittorrent under Preferences->Web UI.
+>>> Set 'File location' to /usr/share/qbittorrent-vuetorrent-bin.
+EOF
+}
diff --git a/linhes/rsyslog/PKGBUILD b/linhes/rsyslog/PKGBUILD
new file mode 100644
index 0000000..9586850
--- /dev/null
+++ b/linhes/rsyslog/PKGBUILD
@@ -0,0 +1,57 @@
+pkgname=rsyslog
+pkgver=8.2402.0
+pkgrel=1
+pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability"
+url="http://www.rsyslog.com/"
+arch=('x86_64' 'i686' 'aarch64' 'armv7h')
+license=('GPL3')
+depends=('libestr' 'liblogging' 'librelp' 'libfastjson')
+makedepends=('postgresql-libs>=8.4.1' 'libmariadbclient' 'net-snmp' 'gnutls'
+ 'python-docutils' 'libestr' 'liblogging' 'librelp' 'libfastjson' 'bison' 'flex')
+optdepends=('postgresql-libs: PostgreSQL Database Support'
+ 'libmariadbclient: MySQL Database Support'
+ 'net-snmp'
+ 'gnutls')
+backup=('etc/rsyslog.conf'
+ 'etc/logrotate.d/rsyslog')
+options=('strip' 'zipman')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/rsyslog/rsyslog/archive/v${pkgver}.tar.gz"
+ 'rsyslog.logrotate'
+ 'rsyslog.conf'
+ 'rsyslog.service')
+
+sha256sums=('f55aaae6278bceef9bee17564b03229f1e81a86afdcf3638361c22974658bbcb'
+ '0f5bea3fd4dff2c9f097bf95768b2e1f6e9cfd9a08eab98bc3b3b4d2ed44119a'
+ '76d3c6f0c094a768ca12e314133080444db19900679b7a82f30d4c63fdabed38'
+ '81b9f9b78395405b679849143a6709911d00e9317928fdb2a2540f52965847c2')
+install=$pkgname.install
+
+build() {
+ cd "$srcdir"/${pkgname}-${pkgver}
+ ./autogen.sh --prefix=/usr \
+ --sbindir=/usr/bin \
+ --enable-mysql \
+ --enable-pgsql \
+ --enable-mail \
+ --enable-imfile \
+ --enable-snmp \
+ --enable-gnutls \
+ --enable-inet \
+ --enable-imjournal \
+ --enable-omjournal \
+ --enable-relp \
+ --enable-impstats \
+ --enable-imptcp \
+ --enable-omprog \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+
+ make
+}
+
+package() {
+ cd "$srcdir"/${pkgname}-${pkgver}
+ make install DESTDIR="$pkgdir"
+ install -D -m644 "$srcdir"/${pkgname}.conf "$pkgdir"/etc/${pkgname}.conf
+ install -D -m644 "$srcdir"/${pkgname}.logrotate "$pkgdir"/etc/logrotate.d/${pkgname}
+ install -D -m644 "$srcdir"/${pkgname}.service "$pkgdir"/usr/lib/systemd/system/${pkgname}.service
+}
diff --git a/linhes/rsyslog/__changelog b/linhes/rsyslog/__changelog
new file mode 100644
index 0000000..d3dac2e
--- /dev/null
+++ b/linhes/rsyslog/__changelog
@@ -0,0 +1 @@
+rsyslog.conf: LH modifications
diff --git a/linhes/rsyslog/rsyslog.conf b/linhes/rsyslog/rsyslog.conf
new file mode 100644
index 0000000..045a82f
--- /dev/null
+++ b/linhes/rsyslog/rsyslog.conf
@@ -0,0 +1,61 @@
+# if you experience problems, check
+# http://www.rsyslog.com/troubleshoot for assistance
+
+$ModLoad immark # provides --MARK-- message capability
+$ModLoad imuxsock # provides support for local system logging
+$ModLoad imklog # provides kernel logging support
+$ModLoad imjournal # Provides the ability to import log messages from systemd journal
+$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
+$FileOwner root
+$FileGroup root
+$FileCreateMode 0644
+$DirCreateMode 0755
+$Umask 0022
+$SystemLogRateLimitInterval 2
+$SystemLogRateLimitBurst 500
+$WorkDirectory /var/spool/rsyslog
+$IncludeConfig /etc/rsyslog.d/*.conf
+
+
+$template DailyPerHostLogs,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_messages.log"
+$template DynFile,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_%programname%.log"
+$template DynMail,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_maillog.log"
+$template DynCron,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_cron.log"
+$template DynBoot,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_boot.log"
+$template DynSpooler,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_spooler.log"
+$template DynLighttpd,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_lighttpd.log"
+
+if $programname contains 'lighttpd' then ?DynLighttpd
+& stop
+
+if $programname startswith 'lh_' then ?DynFile
+& stop
+
+# Log anything (except mail) of level info or higher.
+# Don't log private authentication messages!
+#*.info;mail.none;authpriv.none;cron.none -/var/log/messages
+*.info;mail.none;authpriv.none;cron.none;local6.none -?DailyPerHostLogs
+*.info;mail.none;authpriv.none;cron.none;local6.none -?DynFile
+
+# The authpriv file has restricted access.
+#authpriv.* /var/log/secure
+authpriv.* ?DynFile
+
+# Log all the mail messages in one place.
+#mail.* -/var/log/maillog
+mail.* ?DynMail
+
+# Log cron stuff
+#cron.* -/var/log/cron
+cron.* ?DynCron
+
+# Everybody gets emergency messages
+*.emerg :omusrmsg:*
+
+# Save news errors of level crit and higher in a special file.
+#uucp,news.crit -/var/log/spooler
+uucp,news.crit -?DynSpooler
+
+# Save boot messages also to boot.log
+#local7.* /var/log/boot.log
+local7.* ?DynBoot
diff --git a/linhes/rsyslog/rsyslog.install b/linhes/rsyslog/rsyslog.install
new file mode 100644
index 0000000..73a699d
--- /dev/null
+++ b/linhes/rsyslog/rsyslog.install
@@ -0,0 +1,5 @@
+post_install() {
+ echo
+ echo " Create /var/spool/rsyslog directory before starting rsyslog"
+ echo
+}
diff --git a/linhes/rsyslog/rsyslog.logrotate b/linhes/rsyslog/rsyslog.logrotate
new file mode 100644
index 0000000..889c989
--- /dev/null
+++ b/linhes/rsyslog/rsyslog.logrotate
@@ -0,0 +1,7 @@
+/var/log/auth.log /var/log/cron.log /var/log/daemon.log /var/log/debug /var/log/kern.log /var/log/lpr.log /var/log/mail.err /var/log/mail.info /var/log/mail.log /var/log/mail.warn /var/log/messages /var/log/news /var/log/syslog /var/log/user.log {
+ missingok
+ sharedscripts
+ postrotate
+ /usr/bin/killall -HUP /usr/bin/rsyslogd
+ endscript
+}
diff --git a/linhes/rsyslog/rsyslog.service b/linhes/rsyslog/rsyslog.service
new file mode 100644
index 0000000..0f3301e
--- /dev/null
+++ b/linhes/rsyslog/rsyslog.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=System Logging Service
+Requires=syslog.socket
+Documentation=man:rsyslogd(8)
+Documentation=http://www.rsyslog.com/doc/
+
+[Service]
+Type=notify
+PIDFile=/run/rsyslogd.pid
+ExecStart=/usr/bin/rsyslogd -n -i /run/rsyslogd.pid
+StandardOutput=null
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
+Alias=syslog.service
diff --git a/linhes/signal-cli/PKGBUILD b/linhes/signal-cli/PKGBUILD
new file mode 100644
index 0000000..fd91a2c
--- /dev/null
+++ b/linhes/signal-cli/PKGBUILD
@@ -0,0 +1,71 @@
+# Maintainer: asamk <asamk@gmx.de>
+
+pkgname=signal-cli
+pkgver=0.13.2
+pkgrel=1
+pkgdesc="Provides a commandline and dbus interface for secure Signal messaging."
+arch=('any')
+url="https://github.com/AsamK/signal-cli"
+license=('GPL-3.0-only')
+depends=('java-runtime-headless>=21' 'java-commons-logging' 'sh' 'libsignal-client')
+makedepends=('java-environment>=21' 'gradle' 'asciidoc')
+source=("https://github.com/AsamK/${pkgname}/archive/v${pkgver}.tar.gz"
+ "https://github.com/AsamK/${pkgname}/releases/download/v${pkgver}/v${pkgver}.tar.gz.asc"
+ "${pkgname}.sh")
+sha512sums=('730784676759f3e45e76a028ea6b09117700b74a547e2dafc2a80fa9cfc97feac2783872223aa73b7cab8140d6b182de84ac5029e3893d71e3f0e528dc1d281b'
+ 'SKIP'
+ 'f58d7851c53eae1874692f032a489cb6fb459763a4195afaf93ddd4c65939e1e4e2bbf50438e04800aded466266c3a2a37fcc0f5168f61b8e711fcf03e8e8d12')
+validpgpkeys=('FA10826A74907F9EC6BBB7FC2BA2CD21B5B09570')
+
+prepare() {
+ cd "${srcdir}"
+ cd "${pkgname}-${pkgver}"
+
+ echo ';plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" }' >> settings.gradle.kts
+}
+
+build() {
+ cd "${srcdir}"
+ cd "${pkgname}-${pkgver}"
+
+ GRADLE_USER_HOME="${srcdir}/.gradle" gradle --no-daemon installDist -Plibsignal_client_path="/usr/share/java/libsignal-client/libsignal-client.jar"
+
+ cd man
+ make
+}
+
+package() {
+ install -m755 -d "${pkgdir}/usr/share/java/${pkgname}" \
+ "${pkgdir}/usr/bin" \
+ "${pkgdir}/usr/lib/systemd/system/" \
+ "${pkgdir}/usr/lib/sysusers.d/" \
+ "${pkgdir}/usr/lib/tmpfiles.d/" \
+ "${pkgdir}/usr/share/man/man1/" \
+ "${pkgdir}/usr/share/man/man5/" \
+ "${pkgdir}/etc/dbus-1/system.d/"
+
+ cd "${srcdir}"
+
+ install -m755 "${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"
+
+ cd "${pkgname}-${pkgver}"
+
+ install -m644 "data/${pkgname}.sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ install -m644 "data/${pkgname}.tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+ install -m644 "data/org.asamk.Signal.conf" "${pkgdir}/etc/dbus-1/system.d/"
+ install -m644 "data/${pkgname}@.service" "${pkgdir}/usr/lib/systemd/system/"
+ install -m644 "data/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/"
+ install -m644 "data/${pkgname}-socket.service" "${pkgdir}/usr/lib/systemd/system/"
+ install -m644 "data/${pkgname}-socket.socket" "${pkgdir}/usr/lib/systemd/system/"
+ sed -i "s|%dir%|/usr|" "${pkgdir}/usr/lib/systemd/system/${pkgname}@.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}-socket.service"
+
+ install -m644 "man/${pkgname}.1" "${pkgdir}/usr/share/man/man1/"
+ install -m644 "man/${pkgname}-dbus.5" "${pkgdir}/usr/share/man/man5/"
+ install -m644 "man/${pkgname}-jsonrpc.5" "${pkgdir}/usr/share/man/man5/"
+
+ cd "build/install/${pkgname}"
+
+ rm -f lib/commons-logging-*.jar
+ rm -f lib/libsignal-client*.jar
+ install -m644 lib/*.jar "${pkgdir}/usr/share/java/${pkgname}/"
+}
diff --git a/linhes/signal-cli/signal-cli.sh b/linhes/signal-cli/signal-cli.sh
new file mode 100644
index 0000000..21077ea
--- /dev/null
+++ b/linhes/signal-cli/signal-cli.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+CP="/usr/share/java/libsignal-client/libsignal-client.jar":"/usr/share/java/commons-logging/commons-logging.jar"
+for name in /usr/share/java/signal-cli/*.jar ; do
+ CP=$CP:"$name"
+done
+exec /usr/bin/java -cp "$CP" org.asamk.signal.Main "$@"
diff --git a/linhes/ttf-overlock/PKGBUILD b/linhes/ttf-overlock/PKGBUILD
new file mode 100644
index 0000000..e974387
--- /dev/null
+++ b/linhes/ttf-overlock/PKGBUILD
@@ -0,0 +1,20 @@
+pkgname=ttf-overlock
+pkgver=1.0
+pkgrel=1
+pkgdesc='Overlock typeface font'
+arch=('any')
+license=('custom:OFL')
+url='http://www.fontsquirrel.com/fonts/overlock'
+source=("http://www.fontsquirrel.com/fonts/download/overlock")
+
+package() {
+ cd "$srcdir"
+
+ install -d "$pkgdir/usr/share/fonts/TTF/"
+ install -m644 Overlock* "$pkgdir/usr/share/fonts/TTF/"
+
+ # install license
+ install -Dm644 "${srcdir}/SIL Open Font License.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/SIL Open Font License.txt"
+}
+sha256sums=('5adc966cc4e72faf78dcfc7025fd7f8fa3668060c4a4badcec2856a2f1c583b3')
diff --git a/linhes/wxedid/PKGBUILD b/linhes/wxedid/PKGBUILD
new file mode 100644
index 0000000..7fdbe3c
--- /dev/null
+++ b/linhes/wxedid/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Jonathan Liu <net147@gmail.com>
+pkgname=wxedid
+pkgver=0.0.29
+pkgrel=1
+pkgdesc="wxWidgets-based EDID (Extended Display Identification Data) editor"
+arch=('i686' 'x86_64')
+url="https://sourceforge.net/projects/wxedid/"
+license=('GPL3')
+depends=('wxwidgets-gtk3')
+options=('!buildflags')
+source=("https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('3fc9e1814ae990752defbd48a14670ec')
+
+build() {
+ cd "$pkgname-$pkgver"
+ autoreconf -f -i
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/linhes/xmltv/PKGBUILD b/linhes/xmltv/PKGBUILD
new file mode 100644
index 0000000..f5b86c5
--- /dev/null
+++ b/linhes/xmltv/PKGBUILD
@@ -0,0 +1,95 @@
+# Maintainer: Jiří Klimeš <blueowl@centrum.cz>
+# Submitter: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: K. Hampf <k.hampf@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
+
+pkgname=xmltv
+pkgver=1.2.1
+pkgrel=2
+pkgdesc="Set of utilities to download tv listings and format them in xml"
+arch=('any')
+url="http://xmltv.org/wiki/"
+license=('GPL')
+depends=('perl-date-manip>=5.42'
+ 'perl-file-slurp'
+ 'perl-json'
+ 'perl-libwww>=5.65'
+ 'perl-term-readkey'
+ 'perl-xml-libxml'
+ 'perl-xml-parser>=2.34'
+ 'perl-xml-treepp'
+ 'perl-xml-twig>=3.28'
+ 'perl-xml-writer>=0.60'
+
+ 'perl-archive-zip' # for tv_grab_eu_epgdata, tv_grab_uk_bleb
+ 'perl-cgi' # for tv_pick_cgi, core module until 5.20.3
+ 'perl-data-dump' # for tv_grab_it_dvb
+ 'perl-timedate' # for tv_grab_ar and some other grabbers
+ 'perl-timedate' # for several grabbers
+ 'perl-datetime-format-iso8601' # for tv_grab_zz_sdjson_sqlite
+ 'perl-datetime-format-sqlite' # for tv_grab_zz_sdjson_sqlite
+ 'perl-datetime-format-strptime' # for tv_grab_eu_epgdata
+ 'perl-datetime-timezone' # for tv_grab_fr
+ 'perl-dbd-sqlite' # for tv_grab_zz_sdjson_sqlite
+ 'perl-dbi' # for tv_grab_zz_sdjson_sqlite
+ 'perl-digest-sha1' # for tv_grab_zz_sdjson_sqlite
+ 'perl-file-homedir' # for tv_grab_zz_sdjson_sqlite
+ 'perl-file-which' # for tv_grab_zz_sdjson_sqlite
+ 'perl-html-parser' # for many of the grabbers
+ 'perl-html-tree' # for many of the grabbers
+ 'perl-http-cache-transparent' # for several grabbers
+ 'perl-http-cookies' # for several grabbers
+ 'perl-http-message' # for tv_grab_eu_epgdata
+ 'perl-io-stringy' # for some of the grabbers
+ 'perl-list-moreutils' # for tv_grab_zz_sdjson_sqlite
+ 'perl-lwp-protocol-https' # for tv_grab_fi, tv_grab_huro, tv_grab_zz_sdjson
+ 'perl-lwp-useragent-determined' # for tv_grab_zz_sdjson_sqlite
+ 'perl-soap-lite>=0.67' # for tv_grab_na_dd
+ 'perl-time-piece' # for tv_grab_huro
+ 'perl-tk' # for tv_check
+ 'perl-tk-tablematrix' # for tv_check
+ 'perl-uri' # for some grabbers
+ # enable perl-url-encode when AUR perl-url-encode package is fixed
+ #'perl-url-encode' # for tv_grab_pt_vodafone
+ 'perl-xml-dom' # for tv_grab_is
+ 'perl-xml-libxslt' # for tv_grab_is
+)
+
+optdepends=('perl-file-chdir: testing grabbers'
+ 'perl-json-xs: faster JSON handling'
+ 'perl-lingua-preferred: helps with multilingual listings'
+ 'perl-perlio-gzip: can make tv_imdb a bit faster'
+ 'perl-term-progressbar: displays pretty progress bars'
+ 'perl-unicode-string: improved character handling in tv_to_latex'
+ 'perl-uri-escape-xs: faster URI handling')
+
+source=(
+ "${pkgname}-${pkgver}.tar.gz::https://github.com/XMLTV/${pkgname}/archive/v${pkgver}.tar.gz"
+)
+sha256sums=('bf5cadc256320c53a109053a49a93f41a6c58e952ef62a2d24c38e1440f6a19d')
+
+build() {
+ cd "$pkgname-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ yes | /usr/bin/perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$pkgname-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ make install DESTDIR="$pkgdir"
+
+ # remove perllocal.pod and .packlist
+ find ${pkgdir} -name perllocal.pod -delete
+ find ${pkgdir} -name .packlist -delete
+}
diff --git a/linhes/yaah/PKGBUILD b/linhes/yaah/PKGBUILD
new file mode 100644
index 0000000..689ac8e
--- /dev/null
+++ b/linhes/yaah/PKGBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Dennis Fink <dennis.fink@c3l.lu>
+
+pkgname=yaah
+pkgver=3.0.1
+pkgrel=1
+pkgdesc="Yet another AUR helper"
+arch=('any')
+url="https://projects.metalgamer.eu/yaah"
+license=('GPL3')
+depends=('pacman' 'jshon' 'tar')
+optdepends=('git: AUR4 git support')
+source=("https://download.metalgamer.eu/yaah/$pkgname-$pkgver.tar.gz")
+sha512sums=('190edb2541807f9a3c363afae4eee79d1c8b15230223e160f703c11eb28170bfea00b49119c5e91b0a2fd0461805649dc99e52f5bc466209b5b0702c3445afd6')
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -D -m755 yaah "${pkgdir}/usr/bin/yaah"
+ install -D -m644 man/man8/yaah.8.gz "${pkgdir}/usr/share/man/man8/yaah.8.gz"
+ install -D -m644 yaah.completion "${pkgdir}/etc/bash_completion.d/yaah"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/linhes/zabbix/PKGBUILD b/linhes/zabbix/PKGBUILD
new file mode 100644
index 0000000..88bd595
--- /dev/null
+++ b/linhes/zabbix/PKGBUILD
@@ -0,0 +1,240 @@
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Maintainer: Robin Candau <antiz@archlinux.org>
+
+pkgbase=zabbix
+pkgname=(zabbix-server zabbix-agent{,2} zabbix-proxy zabbix-frontend-php zabbix-web-service)
+pkgver=6.4.12
+pkgrel=1
+arch=(x86_64)
+url='https://www.zabbix.com/'
+license=(GPL)
+makedepends=(libxml2 unixodbc net-snmp mariadb-libs libldap libevent go pkgconfig pcre2 openipmi)
+source=("https://cdn.zabbix.com/zabbix/sources/stable/${pkgver%.*}/zabbix-${pkgver}.tar.gz"
+ zabbix-agent.{service,sysusers,tmpfiles}
+ zabbix-agent2.service
+ zabbix-server-mysql.service zabbix-server.{sysusers,tmpfiles}
+ zabbix-proxy-mysql.service zabbix-proxy.{sysusers,tmpfiles}
+ zabbix-web-service.{service,sysusers,tmpfiles})
+
+sha512sums=('f2da55ddd165ad1f126ddc65368bbcbe1cc36a057fc297f7c804bed7e6afc7688289f9e03d3f81962d6ae5c7b05d97389161aeca835cfd2abcbdec52ca7ef106'
+ '8c1fa2676bc0ef91bc39ec5f97b4d3ba5c365d063420455a3785121a54e120bc5afeacde42a48f4509c115f940dcc3b6c2f43044a7fbfb421182fc93b22a2444'
+ '3ab3ac1acc7e35c8896157aef601ebc30815237ac5252cbd0c1ecb26eeaf9eccf5c49938ae8c85bb79a6f95f607f082f6b80ed660829599ec03aa626cca6d3dc'
+ 'ca6b4779de23829dfdd80ee21e924fbe4e2754f4e693bed4b1a2aa846cd87d150e399b1169d7fe58d30c50ed837c1b8254e580de420267d0a1834d6dc409c43d'
+ 'c57dfcc13b290f4120d1185339bd2d6b1ea7a2ca0c98dca8632d4fd8fe462a42cb35e8a88895eb8ee390c55cf0ffb90b544f23fefbf059b49c06e5373d0b8af2'
+ '130497775093a4198b6b5f734c9da240f1e61800c4c13d9879213c7e62698f7fb885b42900c6186271a5da2d4db438b5c6e858be035bb42319f8fc0b8a8d3ce6'
+ '4254d3b13ff0d19a8e207f709c10ea59dbb6d4f333d862b1611a0fa4ced199e9a32313e88d8abadc129c1e4001b182c0545bcc84117d218116a8c524de88850e'
+ 'b6d548a26f845ef1a39724e3273aa521715272e20a0038144f86d377a26dfec6e3e129404cfda77632cad2f5cd6bab4a33f70a26c8c67b0d0b2abb3678ad2d83'
+ '94701f34fe5df4859c6a4d0459c16062374e8f89f4f51c414e71c9c2db14f61e087721e68dddb3e8d88bf1c097477c1a21e27ba4705fd07d88c60adb41acc1be'
+ '7c1072a8cd5837095f857b50124cb45d1bdbddbce108f6f067a35c3c9ebb1ad0502ef617dfa10f9c843631220177a6286a97b1c2a46539200be72fa83cb23b99'
+ '64042ddf511b56b2a5a311e34643f4e049c09d909ea65b7343a8a9637f33dc59f2b1342201290ca0774cbcbf616096b3696982047fb622b7d51afb5eceb298dd'
+ '545bb284ac28386f8b9f33f0c5066bb73b3634fab8760861bc172fe83897f22e54ecaf186970f0ef178256c9ff152a3e806636145a77af78964f7af0fdcec1a1'
+ '2766787aaeef2f48909c52deb411b47971931a972282f701c401f8315264c8817fc1f9f49a2672152c78a0ebba7d72329c18b441e134c5ec3db5f12681b6e590'
+ '309f55c8c381364eca6d31c4709a0ebb7e04cefad9e51f44173d839a58e7f8e95e3c678922f9e1fe42cff90dba5144cc7ee3a6e1c236b079b501c0e08ad2152d')
+
+prepare() {
+ cd $pkgbase-$pkgver
+ sed -i \
+ -e '/^LogFile=.*/d' \
+ -e 's/# LogType=file/LogType=system/' \
+ conf/zabbix_{agentd,proxy,server}.conf src/go/conf/zabbix_web_service.conf
+
+ autoreconf -fi
+
+}
+
+build() {
+ export GOPATH="$srcdir"/go
+ export AGENT_LDFLAGS="${LDFLAGS}"
+
+ _configure_flags=(
+ --disable-static
+ --prefix=/usr
+ --infodir=/usr/share/info
+ --mandir=/usr/share/man
+ --sysconfdir=/etc/zabbix
+ --enable-agent
+ --enable-agent2
+ --enable-ipv6
+ --with-ldap
+ --with-libcurl
+ --with-libxml2
+ --with-net-snmp
+ --with-openssl
+ --with-libpcre2
+ --with-ssh2
+ --with-unixodbc
+ --with-openipmi
+ --enable-webservice
+ )
+
+ cd $pkgbase-$pkgver
+
+ # Make copies since `make clean` removes the files and they cannot be rebuilt easily
+ for db in mysql; do
+ mkdir -p ../copies/database/$db
+ cp database/$db/*.sql ../copies/database/$db/
+ done
+
+ for db in mysql; do
+ ./configure ${_configure_flags[@]} --enable-server --with-$db
+ make clean
+ make
+ mv src/zabbix_server/zabbix_server{,_$db}
+ done
+
+ for db in mysql; do
+ ./configure ${_configure_flags[@]} --enable-proxy --with-$db
+ make clean
+ make
+ mv src/zabbix_proxy/zabbix_proxy{,_$db}
+ done
+}
+
+package_zabbix-server() {
+ pkgdesc='Monitoring software for networks and applications'
+ depends=(net-snmp curl libxml2 unixodbc libldap libevent pcre2 openipmi)
+ optdepends=('mariadb-libs: for MariaDB support'
+ 'zabbix-web-service: for scheduled PDF report generation')
+ backup=(etc/zabbix/zabbix_server.conf)
+
+ cd $pkgbase-$pkgver
+
+ for db in mysql; do
+ install -Dm755 src/zabbix_server/zabbix_server_$db \
+ "$pkgdir/usr/bin/zabbix_server_$db"
+
+ install -d "$pkgdir/usr/share/$pkgname/$db"
+ install -m644 ../copies/database/$db/*.sql -t "$pkgdir/usr/share/$pkgname/$db"
+ done
+ install -Dm755 src/zabbix_get/zabbix_get "$pkgdir/usr/bin/zabbix_get"
+
+ install -Dm644 man/zabbix_server.man "$pkgdir/usr/share/man/man8/zabbix_server.8"
+ install -Dm644 man/zabbix_get.man "$pkgdir/usr/share/man/man1/zabbix_get.1"
+
+ install -Dm644 conf/zabbix_server.conf "$pkgdir/etc/zabbix/zabbix_server.conf"
+ chown 170:170 "$pkgdir/etc/zabbix/zabbix_server.conf"
+
+ install -Dm644 "$srcdir/zabbix-server-mysql.service" \
+ "$pkgdir/usr/lib/systemd/system/zabbix-server-mysql.service"
+
+ install -Dm644 "$srcdir/zabbix-server.sysusers" \
+ "$pkgdir/usr/lib/sysusers.d/zabbix-server.conf"
+ install -Dm644 "$srcdir/zabbix-server.tmpfiles" \
+ "$pkgdir/usr/lib/tmpfiles.d/zabbix-server.conf"
+
+ # Fix socket paths to avoid 10 day cleanup in /tmp
+ echo "d /run/$pkgname 750 $pkgname $pkgname" >> "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ sed -i \
+ -e "s/# SocketDir=\/tmp/SocketDir=\/run\/$pkgname/" \
+ "$pkgdir/etc/zabbix/"*.conf
+}
+
+package_zabbix-agent() {
+ pkgdesc='Monitoring agent for Zabbix'
+ depends=(curl pcre2)
+ backup=(etc/zabbix/zabbix_agentd.conf)
+
+ cd $pkgbase-$pkgver
+ install -Dm755 src/zabbix_agent/zabbix_agentd "$pkgdir/usr/bin/zabbix_agentd"
+ install -Dm755 src/zabbix_sender/zabbix_sender "$pkgdir/usr/bin/zabbix_sender"
+
+ install -Dm644 conf/zabbix_agentd.conf "$pkgdir/etc/zabbix/zabbix_agentd.conf"
+ chown 172:172 "$pkgdir/etc/zabbix/zabbix_agentd.conf"
+
+ install -Dm644 conf/zabbix_agentd/userparameter_examples.conf \
+ "$pkgdir/usr/share/zabbix-agent/userparameter_examples.conf"
+ install -Dm644 conf/zabbix_agentd/userparameter_mysql.conf \
+ "$pkgdir/usr/share/zabbix-agent/userparameter_mysql.conf"
+
+ install -Dm644 man/zabbix_agentd.man \
+ "$pkgdir/usr/share/man/man8/zabbix_agentd.8"
+ install -Dm644 man/zabbix_sender.man \
+ "$pkgdir/usr/share/man/man1/zabbix_sender.1"
+
+ install -Dm644 "$srcdir/zabbix-agent.service" \
+ "$pkgdir/usr/lib/systemd/system/zabbix-agent.service"
+ install -Dm644 "$srcdir/zabbix-agent.sysusers" \
+ "$pkgdir/usr/lib/sysusers.d/zabbix-agent.conf"
+ install -Dm644 "$srcdir/zabbix-agent.tmpfiles" \
+ "$pkgdir/usr/lib/tmpfiles.d/zabbix-agent.conf"
+}
+
+package_zabbix-agent2() {
+ pkgdesc='Experimental monitoring agent for Zabbix (Agent 2)'
+ depends=(zabbix-agent)
+ backup=(etc/zabbix/zabbix_agent2.conf)
+
+ cd $pkgbase-$pkgver
+ install -Dm755 src/go/bin/zabbix_agent2 "$pkgdir/usr/bin/zabbix_agent2"
+ install -Dm644 src/go/conf/zabbix_agent2.conf "$pkgdir/etc/zabbix/zabbix_agent2.conf"
+ chown 172:172 "$pkgdir/etc/zabbix/zabbix_agent2.conf"
+ mkdir -p "$pkgdir/etc/zabbix/zabbix_agent2.d/plugins.d/"
+ chown 172:172 "$pkgdir/etc/zabbix/zabbix_agent2.d/plugins.d/"
+
+ install -Dm644 man/zabbix_agent2.man \
+ "$pkgdir/usr/share/man/man8/zabbix_agent2.8"
+
+ install -Dm644 "$srcdir/zabbix-agent2.service" \
+ "$pkgdir/usr/lib/systemd/system/zabbix-agent2.service"
+}
+
+package_zabbix-proxy() {
+ pkgdesc='Data collecting proxy for Zabbix'
+ depends=(net-snmp curl libxml2 unixodbc libldap pcre2 libevent openipmi)
+ optdepends=('mariadb-libs: for MariaDB support')
+ backup=(etc/zabbix/zabbix_proxy.conf)
+
+ cd $pkgbase-$pkgver
+ for db in mysql; do
+ install -Dm755 src/zabbix_proxy/zabbix_proxy_$db \
+ "$pkgdir/usr/bin/zabbix_proxy_$db"
+
+ install -d "$pkgdir/usr/share/$pkgname/$db"
+ install -m644 ../copies/database/$db/schema.sql -t "$pkgdir/usr/share/$pkgname/$db"
+ done
+ install -Dm644 conf/zabbix_proxy.conf "$pkgdir/etc/zabbix/zabbix_proxy.conf"
+ chown 171:171 "$pkgdir/etc/zabbix/zabbix_proxy.conf"
+
+ install -Dm644 "$srcdir/zabbix-proxy-mysql.service" \
+ "$pkgdir/usr/lib/systemd/system/zabbix-proxy-mysql.service"
+
+ install -Dm644 "$srcdir/zabbix-proxy.sysusers" \
+ "$pkgdir/usr/lib/sysusers.d/zabbix-proxy.conf"
+ install -Dm644 "$srcdir/zabbix-proxy.tmpfiles" \
+ "$pkgdir/usr/lib/tmpfiles.d/zabbix-proxy.conf"
+
+ # Fix socket paths to avoid 10 day cleanup in /tmp
+ echo "d /run/$pkgname 750 $pkgname $pkgname" >> "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ sed -i \
+ -e "s/# SocketDir=\/tmp/SocketDir=\/run\/$pkgname/" \
+ "$pkgdir/etc/zabbix/"*.conf
+}
+
+package_zabbix-frontend-php() {
+ pkgdesc='PHP frontend for Zabbix'
+ depends=(zabbix-server php php-gd)
+
+ cd $pkgbase-$pkgver
+ install -d "$pkgdir/usr/share/webapps/zabbix"
+ cp -a ui/* "$pkgdir/usr/share/webapps/zabbix"
+ chown 33:33 ${pkgdir}/usr/share/webapps/zabbix/conf/ # write access for http user
+}
+
+package_zabbix-web-service() {
+ pkgdesc='Zabbix web service used to generate and send scheduled reports'
+ depends=(chromium)
+ backup=(etc/zabbix/zabbix_web_service.conf)
+
+ cd $pkgbase-$pkgver
+ install -Dm755 src/go/bin/zabbix_web_service "$pkgdir/usr/bin/zabbix_web_service"
+ install -Dm644 src/go/conf/zabbix_web_service.conf "$pkgdir/etc/zabbix/zabbix_web_service.conf"
+ chown 173:173 "$pkgdir/etc/zabbix/zabbix_web_service.conf"
+
+ install -Dm644 "$srcdir/zabbix-web-service.service" \
+ "$pkgdir/usr/lib/systemd/system/zabbix-web-service.service"
+ install -Dm644 "$srcdir/zabbix-web-service.sysusers" \
+ "$pkgdir/usr/lib/sysusers.d/zabbix-web-service.conf"
+ install -Dm644 "$srcdir/zabbix-web-service.tmpfiles" \
+ "$pkgdir/usr/lib/tmpfiles.d/zabbix-web-service.conf"
+}
diff --git a/linhes/zabbix/zabbix-agent.service b/linhes/zabbix/zabbix-agent.service
new file mode 100644
index 0000000..98fb499
--- /dev/null
+++ b/linhes/zabbix/zabbix-agent.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Zabbix Agent
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/zabbix_agentd -f
+User=zabbix-agent
+
+[Install]
+WantedBy=multi-user.target
diff --git a/linhes/zabbix/zabbix-agent.sysusers b/linhes/zabbix/zabbix-agent.sysusers
new file mode 100644
index 0000000..1e46401
--- /dev/null
+++ b/linhes/zabbix/zabbix-agent.sysusers
@@ -0,0 +1 @@
+u zabbix-agent 172 - /var/lib/zabbix-agent
diff --git a/linhes/zabbix/zabbix-agent.tmpfiles b/linhes/zabbix/zabbix-agent.tmpfiles
new file mode 100644
index 0000000..ffacad7
--- /dev/null
+++ b/linhes/zabbix/zabbix-agent.tmpfiles
@@ -0,0 +1 @@
+d /var/lib/zabbix-agent 0750 zabbix-agent zabbix-agent -
diff --git a/linhes/zabbix/zabbix-agent2.service b/linhes/zabbix/zabbix-agent2.service
new file mode 100644
index 0000000..02e340b
--- /dev/null
+++ b/linhes/zabbix/zabbix-agent2.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Zabbix Agent 2
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/zabbix_agent2
+User=zabbix-agent
+
+[Install]
+WantedBy=multi-user.target
diff --git a/linhes/zabbix/zabbix-proxy-mysql.service b/linhes/zabbix/zabbix-proxy-mysql.service
new file mode 100644
index 0000000..16b9c7f
--- /dev/null
+++ b/linhes/zabbix/zabbix-proxy-mysql.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Zabbix proxy with MySQL
+After=network.target mysql.service
+Conflicts=zabbix-proxy.service zabbix-proxy-pgsql.service
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/zabbix_proxy_mysql -f
+User=zabbix-proxy
+PrivateDevices=yes
+PrivateTmp=yes
+ProtectSystem=full
+ProtectHome=yes
+CapabilityBoundingSet=cap_net_raw
+AmbientCapabilities=cap_net_raw
+
+[Install]
+WantedBy=multi-user.target
diff --git a/linhes/zabbix/zabbix-proxy.sysusers b/linhes/zabbix/zabbix-proxy.sysusers
new file mode 100644
index 0000000..f02825c
--- /dev/null
+++ b/linhes/zabbix/zabbix-proxy.sysusers
@@ -0,0 +1 @@
+u zabbix-proxy 171 - /var/lib/zabbix-proxy
diff --git a/linhes/zabbix/zabbix-proxy.tmpfiles b/linhes/zabbix/zabbix-proxy.tmpfiles
new file mode 100644
index 0000000..2b4100b
--- /dev/null
+++ b/linhes/zabbix/zabbix-proxy.tmpfiles
@@ -0,0 +1 @@
+d /var/lib/zabbix-proxy 0750 zabbix-proxy zabbix-proxy -
diff --git a/linhes/zabbix/zabbix-server-mysql.service b/linhes/zabbix/zabbix-server-mysql.service
new file mode 100644
index 0000000..ba480a6
--- /dev/null
+++ b/linhes/zabbix/zabbix-server-mysql.service
@@ -0,0 +1,19 @@
+
+[Unit]
+Description=Zabbix Server with MySQL
+After=network.target mysql.service
+Conflicts=zabbix-server.service zabbix-server-pgsql.service
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/zabbix_server_mysql -f
+User=zabbix-server
+#PrivateDevices=yes
+PrivateTmp=yes
+ProtectSystem=full
+ProtectHome=yes
+CapabilityBoundingSet=cap_net_raw cap_setuid cap_setgid
+AmbientCapabilities=cap_net_raw cap_setuid cap_setgid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/linhes/zabbix/zabbix-server.sysusers b/linhes/zabbix/zabbix-server.sysusers
new file mode 100644
index 0000000..82bb6dc
--- /dev/null
+++ b/linhes/zabbix/zabbix-server.sysusers
@@ -0,0 +1 @@
+u zabbix-server 170 - /var/lib/zabbix-server
diff --git a/linhes/zabbix/zabbix-server.tmpfiles b/linhes/zabbix/zabbix-server.tmpfiles
new file mode 100644
index 0000000..c278a2f
--- /dev/null
+++ b/linhes/zabbix/zabbix-server.tmpfiles
@@ -0,0 +1 @@
+d /var/lib/zabbix-server 0750 zabbix-server zabbix-server -
diff --git a/linhes/zabbix/zabbix-web-service.service b/linhes/zabbix/zabbix-web-service.service
new file mode 100644
index 0000000..fd3c324
--- /dev/null
+++ b/linhes/zabbix/zabbix-web-service.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Zabbix Web Service
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/zabbix_web_service -f
+User=zabbix-web-service
+
+[Install]
+WantedBy=multi-user.target
diff --git a/linhes/zabbix/zabbix-web-service.sysusers b/linhes/zabbix/zabbix-web-service.sysusers
new file mode 100644
index 0000000..5c42710
--- /dev/null
+++ b/linhes/zabbix/zabbix-web-service.sysusers
@@ -0,0 +1 @@
+u zabbix-web-service 173 - /var/lib/zabbix-web-service
diff --git a/linhes/zabbix/zabbix-web-service.tmpfiles b/linhes/zabbix/zabbix-web-service.tmpfiles
new file mode 100644
index 0000000..45d6a63
--- /dev/null
+++ b/linhes/zabbix/zabbix-web-service.tmpfiles
@@ -0,0 +1 @@
+d /var/lib/zabbix-web-service 0750 zabbix-web-service zabbix-web-service -