From 7e6f7ca174e1af67178dc5293a312a4a733eb095 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 19 Feb 2013 14:58:28 -0600
Subject: LinHES-config: during install don't kill off lirc.  This keeps the
 remote active all the way to the finish

---
 abs/core/LinHES-config/PKGBUILD        |  6 +++---
 abs/core/LinHES-config/mv_ir.py        | 37 ++++++++++++++++++----------------
 abs/core/LinHES-config/systemconfig.py |  2 +-
 3 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index c7cf189..449f456 100755
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-config
 pkgver=8.0
-pkgrel=1
+pkgrel=2
 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
 pkgdesc="Install and configure your system"
 depends=('bc' 'libstatgrab'  'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -159,7 +159,7 @@ md5sums=('7cdc9bc678ab02a2d30444e20a3c71eb'
          'c0549457750c4f8e8038d904a0f3012a'
          '3d1e3c7315881a109fb089a540d2262c'
          'b845de3e05c1734cce4b9ac5e8f1baaf'
-         '33941466545815c58e8e49190cf04eaa'
+         'f9b38f3d8e6d25b7c67b4c33cdee58db'
          '8b7dce4a3a0a281fa6656aa8781a648e'
          'f7f2dc11d1ba454cd25eeaa133104b62'
          '824e49d9b01fed295c704ab68908b464'
@@ -171,7 +171,7 @@ md5sums=('7cdc9bc678ab02a2d30444e20a3c71eb'
          '299c24c0820fc9c483c820db2595e3cb'
          'cf51cb22e23218ae7e9b55cac1ba3a7f'
          'e4b61402858058f7575b776d62d5ee89'
-         'c2ef0f1140bd3fbeb44294fdf5415a32'
+         '1a17256202d851f37c54f2836c244b5d'
          '2596460462cf6c889cf8f95485537b20'
          'dc3c5270691a62600475705f4cb78b56'
          '4804aa93aaad3dfcfff08cd9ffd68836'
diff --git a/abs/core/LinHES-config/mv_ir.py b/abs/core/LinHES-config/mv_ir.py
index 40e5fee..d77f64f 100755
--- a/abs/core/LinHES-config/mv_ir.py
+++ b/abs/core/LinHES-config/mv_ir.py
@@ -56,18 +56,19 @@ def add_module(filename,module):
     cmd = ''' echo "%s" >> %s ''' %(module,filename)
     mv_common.runcmd(cmd)
 
-def unload_all_lirc(Remotetype):
-    logging.debug("    Unloading all remote modules")
-    #ati bucket specific
-    if "snapstream_firefly" in Remotetype :
-        cmd = "rmmod ati_remote"
+def unload_all_lirc(Remotetype, this_is_install):
+    if this_is_install == False:
+        logging.debug("    Unloading all remote modules")
+        #ati bucket specific
+        if "snapstream_firefly" in Remotetype :
+            cmd = "rmmod ati_remote"
+            mv_common.runcmd(cmd)
+        cmd = "sv stop remotes"
+        mv_common.runcmd(cmd)
+        cmd = "killall -9 lircd"
+        mv_common.runcmd(cmd)
+        cmd = '''modprobe -r $(lsmod |grep ^lirc |awk '{print $1}') '''
         mv_common.runcmd(cmd)
-    cmd = "sv stop remotes"
-    mv_common.runcmd(cmd)
-    cmd = "killall -9 lircd"
-    mv_common.runcmd(cmd)
-    cmd = '''modprobe -r $(lsmod |grep ^lirc |awk '{print $1}') '''
-    mv_common.runcmd(cmd)
 
 
 
@@ -273,7 +274,7 @@ def setup_blaster_transmiter(HostBlasterType):
     else:
         scrub_modules("/etc/modules.mythvantage","blaster")
 
-def setup_lcd(LCDtype, TEMPLATES, Remotetype):
+def setup_lcd(LCDtype, TEMPLATES, Remotetype, this_is_install):
     logging.debug("____Start of setup_lcd____")
     logging.debug("    LCDType: %s", LCDtype)
     logging.debug("    Remotetype: %s", Remotetype)
@@ -286,8 +287,9 @@ def setup_lcd(LCDtype, TEMPLATES, Remotetype):
         cmd = "sv stop lcdd"
         mv_common.runcmd(cmd)
         #sometimes it doesn't want to die
-        cmd = "killall -9 LCDd"
-        mv_common.runcmd(cmd)
+        if this_is_install == False:
+            cmd = "killall -9 LCDd"
+            mv_common.runcmd(cmd)
         cmd = "load-modules-mythvantage.sh  UNLOAD LCD"
         mv_common.runcmd(cmd)
         scrub_modules("/etc/modules.mythvantage", "LCD")
@@ -336,7 +338,7 @@ def setup_lcd(LCDtype, TEMPLATES, Remotetype):
             mv_common.restart_service("lcdd")
     logging.debug("__End of setup_lcd")
 
-def setup_ir(systemconfig, data_config):
+def setup_ir(systemconfig, data_config, this_is_install):
     rc = [ False , False ]
     if  mv_common.read_config(mv_common.module_config,"ir")  == False  :
         logging.info("____Skipping of IR, config disabled____")
@@ -372,7 +374,7 @@ def setup_ir(systemconfig, data_config):
                               systemconfig.get("mythip"))
         else:
             setup_ir_receiver("unknown", systemconfig.get("TEMPLATES"),'','127.0.0.1')
-        unload_all_lirc(remotetype)
+        unload_all_lirc(remotetype, this_is_install)
         setup_blaster_proto(HostBlasterType,
                             Hostnumblaster,
                             systemconfig.get("TEMPLATES"),
@@ -388,7 +390,8 @@ def setup_ir(systemconfig, data_config):
     if systemconfig.get("LCDtype"):
         setup_lcd(systemconfig.get("LCDtype"),
                   systemconfig.get("TEMPLATES"),
-                  systemconfig.get("Remotetype"))
+                  systemconfig.get("Remotetype"),
+                  this_is_install)
     else:
         logging.debug("    LCD not defined")
     logging.info("__End IR\n")
diff --git a/abs/core/LinHES-config/systemconfig.py b/abs/core/LinHES-config/systemconfig.py
index d9c83b7..f7e3f5d 100755
--- a/abs/core/LinHES-config/systemconfig.py
+++ b/abs/core/LinHES-config/systemconfig.py
@@ -255,7 +255,7 @@ def main(argv):
 
     if cmdmodule["ir"] == True:
         import mv_ir
-        restart = mv_ir.setup_ir(systemconfig,data_config)
+        restart = mv_ir.setup_ir(systemconfig,data_config,cmdmodule["this_is_install"])
         restartfe = restart[0]
         restartlcd = restart[1]
         if restartfe == True :
-- 
cgit v0.12


From af45a8d8c845649ef9ede55cd0204462cad0ad82 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Wed, 22 May 2013 08:59:01 -0500
Subject: xymon client/server:  fix logrotate, so it doesn't create files like
 log.1.1.1.1.1.1.1..1.1.1.1.1 and use up all the inodes.   server:  fix
 permissions on the snap reports

refs #921
---
 abs/core/xymon/PKGBUILD               | 11 +++++++----
 abs/core/xymon/logrotate-client.xymon | 21 +++++++++++----------
 abs/core/xymon/logrotate-server.xymon |  5 +++--
 abs/core/xymon/xymon.install          |  9 +++++++++
 4 files changed, 30 insertions(+), 16 deletions(-)
 mode change 100644 => 100755 abs/core/xymon/logrotate-client.xymon
 mode change 100644 => 100755 abs/core/xymon/xymon.install

diff --git a/abs/core/xymon/PKGBUILD b/abs/core/xymon/PKGBUILD
index 8441779..a197b03 100755
--- a/abs/core/xymon/PKGBUILD
+++ b/abs/core/xymon/PKGBUILD
@@ -1,7 +1,7 @@
 pkgbase=xymon
 pkgname=(xymonserver xymonclient)
 pkgver=4.3.5
-pkgrel=44
+pkgrel=46
 pkgdesc="Hobbit is a system for monitoring servers and networks. "
 license="GPL"
 arch=('i686' 'x86_64')
@@ -74,7 +74,7 @@ package_xymonserver(){
       install -D  -m644 $startdir/src/logrotate-server.xymon $startdir/pkg/xymonserver/etc/logrotate.d/xymon-server
 
 # fix env for mythtb bindingds
-      echo "MYTHCONFDIR=/usr/share/mythtv" >> $startdir/pkg/xymonserver/home/xymon/etc/xymonserver.cfg 
+      echo "MYTHCONFDIR=/usr/share/mythtv" >> $startdir/pkg/xymonserver/home/xymon/etc/xymonserver.cfg
 
 
       #copy in replacment icon set
@@ -90,13 +90,16 @@ package_xymonserver(){
       patch -p0 <  $startdir/src/xymonserver.cfg.diff || return 1
       patch -p3 < $startdir/src/client-local.cfg.patch || return 1
       patch -p3 < $startdir/src/hosts.cfg.patch || return 1
-      
+
       #fix permissions
       chmod 775 $startdir/pkg/xymonserver/data/srv/httpd/htdocs/
       chmod 775 $startdir/pkg/xymonserver/data/srv/httpd/htdocs/xymon/
       chmod 775 $startdir/pkg/xymonserver/data/srv/httpd/htdocs/xymon/notes/
       chmod 775 $startdir/pkg/xymonserver/data/srv/httpd/htdocs/xymon/gifs/
+      chmod 775 $startdir/pkg/xymonserver/data/srv/httpd/htdocs/xymon/snap/
+      chmod 775 $startdir/pkg/xymonserver/data/srv/httpd/htdocs/xymon/rep/
       chmod 750 $startdir/pkg/xymonserver/etc/sudoers.d
+
     }
 
 
@@ -136,7 +139,7 @@ md5sums=('31923ec126fe1c264fceb459d2175161'
          '622f400fd098cbc43c203e3210a6694e'
          '84442377c6e914b65519076bda4e17a4'
          'd7116dc59319b893e90a26e6beb83994'
-         '67621b6c5a766ac03c5f407bdbdca810'
+         '0a63d66de7e74daef24899da0a4042ab'
          '7ad4871af35f82c7824bb682b9325dba'
          '98e9242ae346f729b14cb195786571f2'
          '31ac5c1f6dcc9408b64c4107b325a9a6'
diff --git a/abs/core/xymon/logrotate-client.xymon b/abs/core/xymon/logrotate-client.xymon
old mode 100644
new mode 100755
index a312b64..0fadb2e
--- a/abs/core/xymon/logrotate-client.xymon
+++ b/abs/core/xymon/logrotate-client.xymon
@@ -1,14 +1,15 @@
 /home/xymon/client/logs/* {
-   missingok
-   size 512K
-   rotate 0
-   compress
-   postrotate
-       if [ -f /service/xymon-client/run ]
-       then
-         sv hup xymon-client
-       fi
+    missingok
+    notifempty
+    size 512k
+    rotate 2
+    compress
+    postrotate
+    if [ -f /service/xymon-client/run ]
+    then
+        sv hup xymon-client
+    fi
 
-   endscript
+    endscript
 
 }
diff --git a/abs/core/xymon/logrotate-server.xymon b/abs/core/xymon/logrotate-server.xymon
index 2267da8..cdbf339 100644
--- a/abs/core/xymon/logrotate-server.xymon
+++ b/abs/core/xymon/logrotate-server.xymon
@@ -1,7 +1,8 @@
 /var/log/hobbit/* {
    missingok
-   size 512K
-   rotate 0
+   notifempty
+   size 512k
+   rotate 2
    compress
    postrotate
        if [ -f /service/xymon-server/run ]
diff --git a/abs/core/xymon/xymon.install b/abs/core/xymon/xymon.install
old mode 100644
new mode 100755
index 3c9680b..90af45b
--- a/abs/core/xymon/xymon.install
+++ b/abs/core/xymon/xymon.install
@@ -17,9 +17,18 @@ post_install() {
 	sed -i -e "s/localhost/$hostname/" /home/xymon/server/etc/hosts.cfg
 	sed -i -e "s/\# bbd/\# bbd func/" /home/xymon/server/etc/hosts.cfg
 	sed -i -e "s/localhost/$hostname/" /home/xymon/server/etc/xymonserver.cfg
+	#fix permissions
 	chown -R nobody /home/xymon
 	chown -R nobody /data/srv/httpd/htdocs/xymon
+
+
+	chown -R nobody:http /data/srv/httpd/htdocs/xymon/snap
+	chown -R nobody:http /data/srv/httpd/htdocs/xymon/rep
+	chmod -R 775   /data/srv/httpd/htdocs/xymon/rep
+	chmod -R 775   /data/srv/httpd/htdocs/xymon/snap
+
 	chown -R nobody /var/log/hobbit
+
 	chown root /home/xymon/server/bin/xymonping
 	chmod +s /home/xymon/server/bin/xymonping
 
-- 
cgit v0.12


From 4258b111d9a6bfe0ca3a1f8d5f6d26afe5cea1ea Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Wed, 29 May 2013 17:02:03 -0500
Subject: system-templates:  change receiver_usb.id to reference  Twinham
 instead of twinham-usb

refs # 903
---
 abs/core/system-templates/PKGBUILD                          | 2 +-
 abs/core/system-templates/templates/remotes/receiver_usb.id | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/abs/core/system-templates/PKGBUILD b/abs/core/system-templates/PKGBUILD
index 9708ebf..9a20d2c 100755
--- a/abs/core/system-templates/PKGBUILD
+++ b/abs/core/system-templates/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=system-templates
 pkgver=2.0
-pkgrel=23
+pkgrel=24
 conflicts=( )
 pkgdesc="Templates used for system configuration"
 depends=()
diff --git a/abs/core/system-templates/templates/remotes/receiver_usb.id b/abs/core/system-templates/templates/remotes/receiver_usb.id
index c47094e..f30428c 100644
--- a/abs/core/system-templates/templates/remotes/receiver_usb.id
+++ b/abs/core/system-templates/templates/remotes/receiver_usb.id
@@ -4,7 +4,7 @@
 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_USB|  "the VisionPlus is a Twinhan clone "|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
-- 
cgit v0.12


From a602ca083fa8a28704e4cae0a2f69b34713d62a6 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Wed, 29 May 2013 17:03:00 -0500
Subject: mythinstall:  Add the ermine logo, add back hauppauge as a valid
 reciever selection.

refs # 920
---
 abs/core/mythinstall/PKGBUILD            |  15 ++++++++-------
 abs/core/mythinstall/logo-1.png          | Bin 5402 -> 5402 bytes
 abs/core/mythinstall/logo-2.png          | Bin 7932 -> 11883 bytes
 abs/core/mythinstall/logo-3.png          | Bin 40628 -> 7932 bytes
 abs/core/mythinstall/logo-4.png          | Bin 21032 -> 40628 bytes
 abs/core/mythinstall/logo-5.png          | Bin 4123 -> 21032 bytes
 abs/core/mythinstall/logo-6.png          | Bin 34843 -> 4123 bytes
 abs/core/mythinstall/logo-7.png          | Bin 0 -> 34843 bytes
 abs/core/mythinstall/logo_src/ermine.png | Bin 0 -> 10251 bytes
 9 files changed, 8 insertions(+), 7 deletions(-)
 create mode 100644 abs/core/mythinstall/logo-7.png
 create mode 100644 abs/core/mythinstall/logo_src/ermine.png

diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD
index 7a953a5..b95d720 100644
--- a/abs/core/mythinstall/PKGBUILD
+++ b/abs/core/mythinstall/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Jams
 pkgname=mythinstall
 pkgver=3
-pkgrel=76
+pkgrel=77
 pkgdesc="LinHES installer/systemconfig GUI."
 arch=('i686'  'x86_64')
 depends=('mythtv>=0.25')
@@ -30,9 +30,10 @@ build() {
 
 }
 md5sums=('39d6b7bd1ee305c5523a3cf66d4c2338'
-         '137ba1bf74cc13feb1ca0038dc5ed5fc'
-         '1d5064ac3c871f0aa895c95a71ba5c97'
-         'b4f9b52cdd2936e0a8dd4e3dd7cac344'
-         '4e748680e67ff8bd0614fd5c63abda9c'
-         '72fc7d8147c08336dd1064f9051f43ea'
-         'f6705520bc0a6655157cd14efdaac746')
+         '3291ad55fe6d7884fc732313f1cc2924'
+         '80c0326a253df275afbe875a8ec14a3c'
+         '46925d6fbcb7ec1fc51714d03ac6b72d'
+         '27ce7f89a83864dfc5abe23c61964c0c'
+         '2e85a1b9559557dade6e87daf2abb673'
+         '7f3045f740760c828e2e18293c2a4ab1'
+         '91393e9cca0e6168f772fb48c88d3829')
diff --git a/abs/core/mythinstall/logo-1.png b/abs/core/mythinstall/logo-1.png
index 5a4293c..a63adab 100644
Binary files a/abs/core/mythinstall/logo-1.png and b/abs/core/mythinstall/logo-1.png differ
diff --git a/abs/core/mythinstall/logo-2.png b/abs/core/mythinstall/logo-2.png
index cb6f152..2b6e9b7 100644
Binary files a/abs/core/mythinstall/logo-2.png and b/abs/core/mythinstall/logo-2.png differ
diff --git a/abs/core/mythinstall/logo-3.png b/abs/core/mythinstall/logo-3.png
index 0a59252..8fff988 100644
Binary files a/abs/core/mythinstall/logo-3.png and b/abs/core/mythinstall/logo-3.png differ
diff --git a/abs/core/mythinstall/logo-4.png b/abs/core/mythinstall/logo-4.png
index 6e70af7..81012a3 100644
Binary files a/abs/core/mythinstall/logo-4.png and b/abs/core/mythinstall/logo-4.png differ
diff --git a/abs/core/mythinstall/logo-5.png b/abs/core/mythinstall/logo-5.png
index 6f1ac44..8bd708d 100644
Binary files a/abs/core/mythinstall/logo-5.png and b/abs/core/mythinstall/logo-5.png differ
diff --git a/abs/core/mythinstall/logo-6.png b/abs/core/mythinstall/logo-6.png
index 4c60fe6..d370e2e 100644
Binary files a/abs/core/mythinstall/logo-6.png and b/abs/core/mythinstall/logo-6.png differ
diff --git a/abs/core/mythinstall/logo-7.png b/abs/core/mythinstall/logo-7.png
new file mode 100644
index 0000000..55a6cda
Binary files /dev/null and b/abs/core/mythinstall/logo-7.png differ
diff --git a/abs/core/mythinstall/logo_src/ermine.png b/abs/core/mythinstall/logo_src/ermine.png
new file mode 100644
index 0000000..792f7cc
Binary files /dev/null and b/abs/core/mythinstall/logo_src/ermine.png differ
-- 
cgit v0.12


From cede0522521576211ea48d871e54fc9225c59e95 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Wed, 29 May 2013 17:03:40 -0500
Subject: mythtv:  change our library.xml.patch to not use the same verbage as
 mythstream.  Updated to latest fixes

---
 abs/core/mythtv/stable-0.25/mythtv/PKGBUILD                   | 7 ++++---
 abs/core/mythtv/stable-0.25/mythtv/menu-xml/library.xml.patch | 4 ++--
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/abs/core/mythtv/stable-0.25/mythtv/PKGBUILD b/abs/core/mythtv/stable-0.25/mythtv/PKGBUILD
index 3da2079..730bb71 100644
--- a/abs/core/mythtv/stable-0.25/mythtv/PKGBUILD
+++ b/abs/core/mythtv/stable-0.25/mythtv/PKGBUILD
@@ -6,7 +6,7 @@
 
 pkgname=mythtv
 pkgver=0.25
-pkgrel=25
+pkgrel=26
 commit_hash=`cat ../git_src/git_hash`
 pkgdesc="A Homebrew PVR project $commit_hash"
 arch=('i686' 'x86_64')
@@ -66,7 +66,9 @@ install='mythtv.install'
 #http://code.mythtv.org/trac/ticket/10773   mythexpress
 #http://code.mythtv.org/trac/ticket/10825   mythexpress
 #http://code.mythtv.org/trac/ticket/11032   mythexpress
-patchs=('myth_settings.patch' 'MythBase.php.patch'
+#patchs=('myth_settings.patch' 'MythBase.php.patch'
+
+patchs=('myth_settings.patch' 
         'bonjour-correction.patch'
         '0001-protect-metadata-loads-from-multiple-threads.patch'
         '0004-restore-fe-netcontrol-play-resume-functionality.patch')
@@ -155,7 +157,6 @@ package() {
 md5sums=('7ef6de58240e7aad389a0b13d91b1cf6'
          '2babd4b8e146a7538d18dcd55695b0be'
          '322f48528b350f0e6aebfff6eab4c4ee'
-         '9ec33d6956464283636c1f9a781dd4fd'
          '8e2a055bb3beae04c88a8e603e080422'
          '67f7316c750fba17fa578d10840b9dbd'
          'ae23e6a8cffbe335fa37bf59978bf7a2'
diff --git a/abs/core/mythtv/stable-0.25/mythtv/menu-xml/library.xml.patch b/abs/core/mythtv/stable-0.25/mythtv/menu-xml/library.xml.patch
index 8c36a62..8f80928 100644
--- a/abs/core/mythtv/stable-0.25/mythtv/menu-xml/library.xml.patch
+++ b/abs/core/mythtv/stable-0.25/mythtv/menu-xml/library.xml.patch
@@ -5,8 +5,8 @@
  
      <button>
 +        <type>STREAM</type>
-+        <text>Play Online Streams</text>
-+        <description></description>
++        <text>Online Content</text>
++        <description>Play content from online sources</description>
 +        <action>MENU gen_is.xml</action>
 +    </button>
 +
-- 
cgit v0.12


From e9e438b24a8d5e8d3d73b15b9208b641ec7baf60 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Wed, 29 May 2013 17:04:26 -0500
Subject: mythtv/plugins/web : update fixes to latest fixes  5-29-13

---
 abs/core/mythtv/stable-0.25/git_src/git_hash     | 2 +-
 abs/core/mythtv/stable-0.25/mythplugins/PKGBUILD | 2 +-
 abs/core/mythtv/stable-0.25/mythweb/PKGBUILD     | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/abs/core/mythtv/stable-0.25/git_src/git_hash b/abs/core/mythtv/stable-0.25/git_src/git_hash
index e29adf1..474b835 100644
--- a/abs/core/mythtv/stable-0.25/git_src/git_hash
+++ b/abs/core/mythtv/stable-0.25/git_src/git_hash
@@ -1 +1 @@
-79a24c90efd3308895880cbad4a4e550986aedda
+ed3b7d10a63178bff5ce4134613ff86a85d73830
diff --git a/abs/core/mythtv/stable-0.25/mythplugins/PKGBUILD b/abs/core/mythtv/stable-0.25/mythplugins/PKGBUILD
index e5dea15..3228a58 100644
--- a/abs/core/mythtv/stable-0.25/mythplugins/PKGBUILD
+++ b/abs/core/mythtv/stable-0.25/mythplugins/PKGBUILD
@@ -12,7 +12,7 @@ pkgname=('mytharchive'
          'mythweather'
          'mythzoneminder')
 pkgver=0.25
-pkgrel=17
+pkgrel=18
 
 arch=('i686' 'x86_64')
 url="http://www.mythtv.org"
diff --git a/abs/core/mythtv/stable-0.25/mythweb/PKGBUILD b/abs/core/mythtv/stable-0.25/mythweb/PKGBUILD
index 5e1c853..728b6dc 100644
--- a/abs/core/mythtv/stable-0.25/mythweb/PKGBUILD
+++ b/abs/core/mythtv/stable-0.25/mythweb/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=mythweb
 pkgver=0.25
-pkgrel=6
+pkgrel=7
 
 commit_hash=`cat ../git_src/git_hash_web`
 
@@ -13,7 +13,8 @@ depends=('mythtv>=0.25' 'lighttpd' 'php' 'local-website')
 groups=('mythtv-extras')
 install=mythweb.install
 #http://code.mythtv.org/trac/ticket/10504
-patches=(schedules.php.patch  sorting.php.patch  tv-schedules.php.patch)
+#patches=(schedules.php.patch  sorting.php.patch  tv-schedules.php.patch)
+patches=(schedules.php.patch   tv-schedules.php.patch)
 source=(`echo ${patches[@]:0}` mythweb.include mythweb_gen_light.conf)
 
 DOCROOT=/data/srv/httpd/mythweb
@@ -69,7 +70,6 @@ build() {
 
 }
 md5sums=('392e570594859c026ac12194920246d8'
-         '53cc59d6a8bf144027b25d5dcbfffc66'
          '515e29fda503c199888a91553e1815a0'
          '7645a6399434cbba35639713ac5d88e0'
          'df190116b3aba35720fb6631885f973f')
-- 
cgit v0.12


From 6ef59e9232c170ff33166ac31858b72551ccc479 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Fri, 31 May 2013 17:06:06 -0500
Subject: LinHES-config:  redo of partition, dropped pyparted and using parted
 directly from the cmdline. This change also switches to using gpt only and
 dropping the mbr.  Partition layout remains the same p1 = / p2 = swap p3 =
 null p4 = gpt boot p5 = home p6 = database p7 = remaining space

This also fixes  using drives larger then 2TB  and attempting to install with no swap partition.

refs #917
---
 abs/core/LinHES-config/PKGBUILD      |   4 +-
 abs/core/LinHES-config/mv_install.py | 136 +++++++++++++++++++++++++++++------
 2 files changed, 115 insertions(+), 25 deletions(-)

diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index 449f456..3b083a2 100755
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-config
 pkgver=8.0
-pkgrel=2
+pkgrel=3
 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
 pkgdesc="Install and configure your system"
 depends=('bc' 'libstatgrab'  'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -133,7 +133,7 @@ build() {
     install -o root -g root  -D -m 0755 blacklist_pcspkr.conf $startdir/pkg/etc/modprobe.d/blacklist_pcspkr.conf
     install -o root -g root  -D -m 0755 blacklist_nouveau.conf $startdir/pkg/etc/modprobe.d/blacklist_nouveau.conf
 }
-md5sums=('7cdc9bc678ab02a2d30444e20a3c71eb'
+md5sums=('70d0e964788d1d7bc622c20d7d8d8f5c'
          '3f6855b7bb860a44f96a972c2e80f497'
          'aaeb581275433649ff74e05da5e61a78'
          '2596460462cf6c889cf8f95485537b20'
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index 1128571..2712a60 100755
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -259,7 +259,7 @@ def blank_table(diskdevice):
     cmd = "parted %s --script -- mklabel msdos" %diskdevice
     runcmd(cmd)
 
-    logging.debug("parition table after:")
+    logging.debug("partition table after:")
     cmd = "fdisk -l %s" %diskdevice
     runcmd(cmd)
 
@@ -392,35 +392,128 @@ def set_active_parition(diskdevice):
             logging.info("    Depending on your system this may not matter")
 
 
+#def partition_disk():
+    #global hostoptions
+    #logging.info("Partitioning")
+    #logging.debug("____start of partition_disk____")
+    #rootdisk = hostoptions["rootdisk"]
+    #datadisk = hostoptions["datadisk"]
+    #label = "root"
+    #partitions_removeall("/dev/"+rootdisk, label)
+    #label = "data"
+    #partitions_removeall("/dev/"+datadisk, label)
+    #hostoptions["rootpartition"] = create_partitions("/dev/"+rootdisk, hostoptions["rootsize"], "NORMAL", 0)
+    #set_active_parition("/dev/"+rootdisk)
+
+    #hostoptions["swappartition"] = create_partitions("/dev/"+rootdisk, hostoptions["swapsize"], "SWAP", 1)
+
+    ##create extended partition
+    #hostoptions["extended_partition"] = create_partitions("/dev/"+rootdisk, "all", "EXTENDED", 1)
+
+    ##create the logical in the extended
+    #hostoptions["home_partition"] = create_partitions("/dev/"+rootdisk, hostoptions["homesize"], "LOGICAL", 1)
+    #hostoptions["sql_partition"] = create_partitions("/dev/"+rootdisk, hostoptions["sqlsize"], "LOGICAL", 1)
+
+    #if datadisk != rootdisk:
+        #hostoptions["datapartition"] = create_partitions("/dev/"+datadisk, hostoptions["datasize"], "NORMAL", 0)
+    #else:
+        #hostoptions["datapartition"] = create_partitions("/dev/"+datadisk, hostoptions["datasize"], "LOGICAL", 1)
+
+    #logging.debug("sleeping for 5 seconds")
+    #time.sleep(5)
+
+
+#parted /dev/sda -a optimal --script  mklabel gpt
+#parted /dev/sda -a optimal --script unit MB  -- mkpart primary  1 500
+#parted /dev/sda -a optimal --script unit MB  -- mkpart swap  501 600
+#parted /dev/sda -a optimal --script unit MB  -- mkpart primary  601 601
+#parted /dev/sda -a optimal --script unit MB  -- mkpart primary  601 601
+
+#parted /dev/sda -a optimal --script unit MB  -- mkpart primary  604 700
+#parted /dev/sda -a optimal --script unit MB  -- mkpart primary  700 800
+#parted /dev/sda -a optimal --script unit MB  -- mkpart primary  800 -1
+
+def create_partitions_gpt(diskdevice, start,size,partition_type):
+    logging.debug("_____Create partitions gpt ______")
+    if size == "NO" or size == "no":
+        logging.info("Size is 0,  skipping")
+        last_sector  = start
+    elif size == "all" or size == "ALL":
+        logging.info("Size is all, using rest of disk")
+        last_sector = "-1"
+    else:
+        last_sector = start + int(size)
+
+    cmd = "parted %s  -a optimal --script unit MB  -- mkpart primary  %s %s" %(diskdevice, start, last_sector)
+    runcmd(cmd)
+    
+    newstart = last_sector
+    #print newstart
+    return newstart
+    
+    
+    
+
+
+
 def partition_disk():
     global hostoptions
     logging.info("Partitioning")
     logging.debug("____start of partition_disk____")
-    rootdisk = hostoptions["rootdisk"]
-    datadisk = hostoptions["datadisk"]
+    rootdisk = "/dev/%s" %(hostoptions["rootdisk"])
+    datadisk = "/dev/%s" %(hostoptions["datadisk"])
     label = "root"
-    partitions_removeall("/dev/"+rootdisk, label)
+    partitions_removeall(rootdisk, label)
     label = "data"
-    partitions_removeall("/dev/"+datadisk, label)
-    hostoptions["rootpartition"] = create_partitions("/dev/"+rootdisk, hostoptions["rootsize"], "NORMAL", 0)
-    set_active_parition("/dev/"+rootdisk)
+    partitions_removeall(datadisk, label)
+    #create gpt table
+    cmd = "parted %s -a optimal --script  mklabel gpt" %rootdisk
+    runcmd(cmd)
+    cmd = "parted %s -a optimal --script  mklabel gpt" %datadisk
+    runcmd(cmd)
+    
+    start_sector = 1
+    start_sector = create_partitions_gpt(rootdisk, start_sector, hostoptions["rootsize"], "primary")
+    start_sector = create_partitions_gpt(rootdisk, start_sector, hostoptions["swapsize"], "primary")
+    hostoptions["rootpartition"] = hostoptions["rootdisk"]+str(1)  
+    hostoptions["swappartition"]  =  hostoptions["rootdisk"] + str(2)
+    hostoptions["home_partition"] = hostoptions["rootdisk"]+str(5)
+    hostoptions["sql_partition"] = hostoptions["rootdisk"]+str(6)
+    hostoptions["datapartition"] = hostoptions["datadisk"]+str(7)
+        
+    
+    #create 1 blank to match up with extended/logical layout from 8.0
+    start_sector = create_partitions_gpt(rootdisk, start_sector, "NO", "primary")
+
+    #create gtp boot
+    start_sector = start_sector + 1
+    start_sector = create_partitions_gpt(rootdisk, start_sector, 2 , "primary")
+    cmd = "parted %s set 4 bios_grub on" %rootdisk
+    runcmd(cmd)
+    
+    #create home_partition
+    start_sector = start_sector + 1
+    start_sector = create_partitions_gpt(rootdisk, start_sector, hostoptions["homesize"], "primary")
+    
+    ##create mysql
+    start_sector = start_sector + 1
+    start_sector  = create_partitions_gpt(rootdisk, start_sector, hostoptions["sqlsize"], "primary")
+    
+    start_sector = start_sector + 1
+    #create data
+    if datadisk != rootdisk:
+        create_partitions_gpt(datadisk, 1, hostoptions["datasize"], "primary")
+    else:
+        create_partitions_gpt(datadisk, start_sector, hostoptions["datasize"], "primary")
+    
+    logging.debug("sleeping for 5 seconds")
+    time.sleep(5)
+
 
-    hostoptions["swappartition"] = create_partitions("/dev/"+rootdisk, hostoptions["swapsize"], "SWAP", 1)
 
-    #create extended partition
-    hostoptions["extended_partition"] = create_partitions("/dev/"+rootdisk, "all", "EXTENDED", 1)
 
-    #create the logical in the extended
-    hostoptions["home_partition"] = create_partitions("/dev/"+rootdisk, hostoptions["homesize"], "LOGICAL", 1)
-    hostoptions["sql_partition"] = create_partitions("/dev/"+rootdisk, hostoptions["sqlsize"], "LOGICAL", 1)
 
-    if datadisk != rootdisk:
-        hostoptions["datapartition"] = create_partitions("/dev/"+datadisk, hostoptions["datasize"], "NORMAL", 0)
-    else:
-        hostoptions["datapartition"] = create_partitions("/dev/"+datadisk, hostoptions["datasize"], "LOGICAL", 1)
 
-    logging.debug("sleeping for 5 seconds")
-    time.sleep(5)
 
 
 def fscmd(fstype):
@@ -1530,7 +1623,7 @@ def full_install(hostoptions):
         partition_disk()
     else:
         logging.debug("     Debug mode,  skipping partitioning step")
-
+    #sys.exit(0)
 #   Format disk
     statusmsg = "Preparing  %s"  %( hostoptions["rootdisk"])
     update_status(statusmsg)
@@ -2163,9 +2256,6 @@ for line in config_file:
 
 
 
-
-
-
 if __name__ == "__main__":
     config_file = "mv_config"
     data_config = __import__(config_file,  globals(),  locals(),  [])
-- 
cgit v0.12


From 22aff21a70f6788ac33d126795702fc5e257c862 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Fri, 31 May 2013 17:08:57 -0500
Subject: LinHES-system: run mythwelcome-config.py on first configure.

refs # 914
---
 abs/core/LinHES-system/LinHES-session | 7 +++++++
 abs/core/LinHES-system/PKGBUILD       | 4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/abs/core/LinHES-system/LinHES-session b/abs/core/LinHES-system/LinHES-session
index 61405db..27ce2bd 100755
--- a/abs/core/LinHES-system/LinHES-session
+++ b/abs/core/LinHES-system/LinHES-session
@@ -243,8 +243,15 @@ function update_apple_trailers(){
     fi
 }
 
+function first_mythwelcome_config(){
+     echo "First configure: Running mythwelcome-config.py"
+    /usr/LH/bin/mythwelcome-config.py
+    }
+    
+
 
 function first_configure(){
+    first_mythwelcome_config
     if [ ! x$STARTUP_STYLE = xlegacy ]
     then
         first_configure_mv
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index a049353..fd167c1 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-system
 pkgver=8.0
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 MVDIR=$startdir/pkg/usr/LH
 BINDIR=$startdir/pkg/usr/bin
@@ -81,7 +81,7 @@ build() {
 
 
 }
-md5sums=('08abf577578dd805bab7cd9eba90965a'
+md5sums=('8fc4b7c1ddf8f3c4d2266ce55086b4d4'
          'de32a1c50101265dd7f6ca5037f7a26a'
          'a875ee97f86e46f34a741c2bc455f894'
          '76b2637cac0452b3acdbeeb4e8a5474b'
-- 
cgit v0.12


From d068c8d3408181d65f458563438b38560b71c9e8 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Fri, 31 May 2013 19:40:17 -0500
Subject: LinHES-config: fix a nasty bug where some of the system settings
 didn't get transferred on install.

---
 abs/core/LinHES-config/PKGBUILD      | 4 ++--
 abs/core/LinHES-config/mv_install.py | 3 +++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index 3b083a2..131efd9 100755
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-config
 pkgver=8.0
-pkgrel=3
+pkgrel=4
 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
 pkgdesc="Install and configure your system"
 depends=('bc' 'libstatgrab'  'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -133,7 +133,7 @@ build() {
     install -o root -g root  -D -m 0755 blacklist_pcspkr.conf $startdir/pkg/etc/modprobe.d/blacklist_pcspkr.conf
     install -o root -g root  -D -m 0755 blacklist_nouveau.conf $startdir/pkg/etc/modprobe.d/blacklist_nouveau.conf
 }
-md5sums=('70d0e964788d1d7bc622c20d7d8d8f5c'
+md5sums=('c832059cd635359d39a2ac3166ff463c'
          '3f6855b7bb860a44f96a972c2e80f497'
          'aaeb581275433649ff74e05da5e61a78'
          '2596460462cf6c889cf8f95485537b20'
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index 2712a60..57b784b 100755
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -1559,6 +1559,9 @@ def restore_default_settings():
     cmd = "%s/bin/myth_settings_wrapper.sh -c save -t syssettings -h %s -d localhost" %(MVROOT, data_config.MVHOSTNAME)
     runcmd(cmd)
     SE = os.environ["TEMPLATES"]+"/settings/syssettings/"
+    #this is needed because the settings dir is no longer part of the templates pkg
+    cmd="mkdir -p %s" %(data_config.MOUNTPOINT+SE)
+    runcmd(cmd)
     cp_and_log(SE, data_config.MOUNTPOINT+SE)
     cp_and_log("/etc/mtab", data_config.MOUNTPOINT+"/etc/mtab")
     copy_updates()
-- 
cgit v0.12


From cc663d6f0e4f3ef5fc7e13007d6ba5c6792bbb4b Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 4 Jun 2013 14:46:45 -0500
Subject: xbmc: Fix xml to call the shell script for xbmc  instead of xbmc
 directly refs #908 closes #908

---
 abs/extra/xbmc/PKGBUILD      | 4 ++--
 abs/extra/xbmc/xbmc_lib.conf | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/abs/extra/xbmc/PKGBUILD b/abs/extra/xbmc/PKGBUILD
index ecd7fb9..874e0d5 100644
--- a/abs/extra/xbmc/PKGBUILD
+++ b/abs/extra/xbmc/PKGBUILD
@@ -9,7 +9,7 @@ _prefix=/usr
 
 pkgname=xbmc
 pkgver=11.0
-pkgrel=9
+pkgrel=10
 pkgdesc="A software media player and entertainment hub for digital media"
 arch=('i686' 'x86_64')
 url="http://xbmc.org"
@@ -109,4 +109,4 @@ package() {
 md5sums=('9e8a26ee25173c7268abea7f1d82d428'
          '5aa2e21a1f9fea60a2e5bb345e5aefd0'
          'e48a3d87984669ef206e902bc8290ff9'
-         '6c4ab6c8a5ef748786c7602bb2a9ef99')
+         '8c5cd1b5e7660a49ccd2f99967180a82')
diff --git a/abs/extra/xbmc/xbmc_lib.conf b/abs/extra/xbmc/xbmc_lib.conf
index df88abb..2dbb10f 100644
--- a/abs/extra/xbmc/xbmc_lib.conf
+++ b/abs/extra/xbmc/xbmc_lib.conf
@@ -2,7 +2,7 @@
     <button>
        <type>MENU_XBMC</type>
        <text>Launch XBMC</text>
-       <action>EXEC /usr/bin/xbmc</action>
+       <action>EXEC /usr/LH/bin/xbmc.sh</action>
     </button>
 <!--#XBMC--> 
 
-- 
cgit v0.12


From a1b54c58e054ad7adf1c4b609dc978f558dad3af Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 4 Jun 2013 14:50:23 -0500
Subject: system-templates:  Fixed firefly lirc mapping.  config files provided
 by RacerX Also add xbmc.xml for xbmc lirc mapping.

refs #908
closes #908
---
 abs/core/system-templates/PKGBUILD                 |   2 +-
 .../ATI/snapstream_firefly_all/lircrc-snapstrm.txt | 655 +++++++--------------
 .../remotes/ATI/snapstream_firefly_all/xbmc.xml    |  38 ++
 .../ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt | 655 +++++++--------------
 .../remotes/ATI/snapstream_firefly_ch1/xbmc.xml    |  38 ++
 .../ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt | 655 +++++++--------------
 .../remotes/ATI/snapstream_firefly_ch2/xbmc.xml    |  38 ++
 .../ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt | 655 +++++++--------------
 .../remotes/ATI/snapstream_firefly_ch3/xbmc.xml    |  38 ++
 .../ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt | 655 +++++++--------------
 .../remotes/ATI/snapstream_firefly_ch4/xbmc.xml    |  38 ++
 .../ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt | 655 +++++++--------------
 .../remotes/ATI/snapstream_firefly_ch5/xbmc.xml    |  38 ++
 .../ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt | 655 +++++++--------------
 .../remotes/ATI/snapstream_firefly_ch6/xbmc.xml    |  38 ++
 15 files changed, 1716 insertions(+), 3137 deletions(-)
 mode change 100644 => 100755 abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt
 create mode 100644 abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/xbmc.xml
 create mode 100644 abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch1/xbmc.xml
 create mode 100644 abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch2/xbmc.xml
 create mode 100644 abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/xbmc.xml
 create mode 100644 abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch4/xbmc.xml
 create mode 100644 abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch5/xbmc.xml
 create mode 100644 abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch6/xbmc.xml

diff --git a/abs/core/system-templates/PKGBUILD b/abs/core/system-templates/PKGBUILD
index 9a20d2c..0c1dbeb 100755
--- a/abs/core/system-templates/PKGBUILD
+++ b/abs/core/system-templates/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=system-templates
 pkgver=2.0
-pkgrel=24
+pkgrel=25
 conflicts=( )
 pkgdesc="Templates used for system configuration"
 depends=()
diff --git a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt
old mode 100644
new mode 100755
index e918011..064e72d
--- a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/lircrc-snapstrm.txt
@@ -5,586 +5,345 @@
 #
 # 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
 
-
-# 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
+  # Remote Numbers 0-9
 
 begin
-prog = mythtv
-button = TV
-repeat = 3
-config = F5
+  prog = mythtv
+  button = 0
+  repeat = 3
+  config = 0
 end
 
 begin
-prog = mythtv
-button = Videos
-repeat = 3
-config = F2
+  prog = mythtv
+  button = 1
+  repeat = 3
+  config = 1
 end
 
-# Not yet defined
 begin
-prog = mythtv
-button = Music
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 2
+  repeat = 3
+  config = 2
 end
 
-# Given another function for now, I don't use mythgallery
 begin
-prog = mythtv
-button = Pictures
-repeat = 3
-config = F
+  prog = mythtv
+  button = 3
+  repeat = 3
+  config = 3
 end
 
 begin
-prog = mythtv
-button = Guide
-repeat = 3
-config = F3
+  prog = mythtv
+  button = 4
+  repeat = 3
+  config = 4
 end
 
-# I stuck the "todo" list on here as Myth has no radio function
 begin
-prog = mythtv
-button = Radio
-repeat = 3
-config = F4
+  prog = mythtv
+  button = 5
+  repeat = 3
+  config = 5
 end
 
 begin
-prog = mythtv
-button = UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 6
+  repeat = 3
+  config = 6
 end
 
 begin
-prog = mythtv
-button = DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = 7
+  repeat = 3
+  config = 7
 end
 
 begin
-prog = mythtv
-button = LEFT
-repeat = 3
-config = Left
+  prog = mythtv
+  button = 8
+  repeat = 3
+  config = 8
 end
 
 begin
-prog = mythtv
-button = RIGHT
-repeat = 3
-config = Right
+  prog = mythtv
+  button = 9
+  repeat = 3
+  config = 9
 end
 
-# Channel Up
+  # Escape/Back/Exit
 begin
-prog = mythtv
-button = Channel-UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = BACK
+  config = Esc
 end
 
-# Channel Down
+  # OK/Select
 begin
-prog = mythtv
-button = Channel-DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = ENT
+  config = pace
 end
 
-# OK/Select
+  # Volumn Up
 begin
-prog = mythtv
-button = Ok
-config = Space
+  prog = mythtv
+  button = VOL+
+  repeat = 3
+  config = F11
 end
 
-# Play
+  # Volumn Down
 begin
-prog = mythtv
-button = Play
-config = Return
+  prog = mythtv
+  button = VOL-
+  repeat = 3
+  config = F10
 end
 
-# Stop
+  # Mute
 begin
-prog = mythtv
-button = Stop
-config = I
+  prog = mythtv
+  button = MUTE
+  repeat = 3
+  config = |
 end
 
-# Escape/Exit/Back
+  # Firefly
 begin
-prog = mythtv
-button = BACK
-config = Esc
+  prog = mythtv
+  button = FIREFLY
+  repeat = 3
+  config = F8
 end
 
-# Power Off/Exit
+  # Channel Up
 begin
-prog = mythtv
-button = POWER
-config = Esc
+  prog = mythtv
+  button = CH+
+  repeat = 3
+  config = Up
 end
 
-
-# Pause
+  # Channel Down
 begin
-prog = mythtv
-button = Pause
-repeat = 3
-config = P
+  prog = mythtv
+  button = CH-
+  repeat = 3
+  config = Down
 end
 
-# Mute
+  # Info
 begin
-prog = mythtv
-button = Mute
-repeat = 3
-config = |
+  prog = mythtv
+  button = INFO
+  repeat = 3
+  config = I
 end
 
-# Fast forward (30 sec default)
+  # change tuners
 begin
-prog = mythtv
-button = Rewind
-repeat = 3
-config = PgUp
+  prog = mythtv
+  button = OPTION
+  repeat = 3
+  config = Y
 end
 
-# Rewind (10 sec default)
+  # Up
 begin
-prog = mythtv
-button = Forward
-repeat = 3
-config = PgDown
+  prog = mythtv
+  button = UP
+  repeat = 3
+  config = Up
 end
 
-# Skip forward (10 min default)
+  # Left
 begin
-prog = mythtv
-button = Next
-repeat = 3
-config = End
+  prog = mythtv
+  button = LEFT
+  repeat = 3
+  config = Left
 end
 
-# Skip backward (10 min default)
+  # Down
 begin
-prog = mythtv
-button = Previous
-repeat = 3
-config = Home
+  prog = mythtv
+  button = DOWN
+  repeat = 3
+  config = Down
 end
 
-# Record
+  # Right
 begin
-prog = mythtv
-button = Record
-repeat = 3
-config = R
+  prog = mythtv
+  button = RIGHT
+  repeat = 3
+  config = Right
 end
 
-# Delete
+  # Ok/Select
 begin
-prog = mythtv
-button = Red
-repeat = 3
-config = D
+  prog = mythtv
+  button = OK
+  config = space
 end
 
-# Decrease play speed
+  # Menu
 begin
-prog = mythtv
-button = Green
-repeat = 3
-config = J
+  prog = mythtv
+  button = MENU
+  repeat = 3
+  config = M
 end
 
-# Display EPG while in live TV,
-# View selected show while in EPG
+  # Escape/Exit/Back
 begin
-prog = mythtv
-button = Menu
-repeat = 3
-config = M
+  prog = mythtv
+  button = EXIT
+  config = Esc
 end
 
-# Scroll up
+  # Record
 begin
-prog = mythtv
-button = Volume-UP
-repeat = 3
-config = F11
+  prog = mythtv
+  button = REC
+  repeat = 3
+  config = R
 end
 
-# Scroll down
+  # Play
 begin
-prog = mythtv
-button = Volume-DOWN
-repeat = 3
-config = F10
+  prog = mythtv
+  button = PLAY
+  config = Return
 end
 
-# Bring up OSD info
+  # Stop
 begin
-prog = mythtv
-button = Go
-repeat = 3
-config = I
+  prog = mythtv
+  button = STOP
+  config = Esc
 end
 
-# Change display aspect ratio
+  # Rewind
 begin
-prog = mythtv
-button = Prev-Channel
-repeat = 3
-config = W
+  prog = mythtv
+  button = FWD
+  repeat = 3
+  config = PgDown
 end
 
-# double speed watch
+  # Fast Forward
 begin
-prog = mythtv
-button = Yellow
-repeat = 3
-config = J
+  prog = mythtv
+  button = REW
+  repeat = 3
+  config = PgUp
 end
 
-# change tuners
-#begin
-#prog = mythtv
-#button = hash
-#repeat = 3
-#config = Y
-#end
-
-# Bring up Time stretch
+  # Skip Backward
 begin
-prog = mythtv
-button = Blue
-repeat = 3
-config = Y
+  prog = mythtv
+  button = PREV
+  repeat = 3
+  config = home
 end
 
-# Numbers 0-9
-
+  # Skip Forward
 begin
-prog = mythtv
-button = 0
-repeat = 3
-config = 0
+  prog = mythtv
+  button = NEXT
+  repeat = 3
+  config = End
 end
 
+  # Pause
 begin
-prog = mythtv
-button = 1
-repeat = 3
-config = 1
+  prog = mythtv
+  button = Pause
+  repeat = 3
+  config = P
 end
 
+  # Delete
 begin
-prog = mythtv
-button = 2
-repeat = 3
-config = 2
+  prog = mythtv
+  button = A
+  repeat = 3
+  config = D
 end
 
+  # Decrease Playback Speed
 begin
-prog = mythtv
-button = 3
-repeat = 3
-config = 3
+  prog = mythtv
+  button = B
+  repeat = 3
+  config = J
 end
 
+  # Double Playback Speed
 begin
-prog = mythtv
-button = 4
-repeat = 3
-config = 4
+  prog = mythtv
+  button = C
+  repeat = 3
+  config = J
 end
 
+  # Time Stretch
 begin
-prog = mythtv
-button = 5
-repeat = 3
-config = 5
+  prog = mythtv
+  button = D
+  repeat = 3
+  config = Y
 end
 
-begin
-prog = mythtv
-button = 6
-repeat = 3
-config = 6
-end
+  ### Jump Points need to match config in mythweb keybindings
 
+  # Myth Music
 begin
-prog = mythtv
-button = 7
-repeat = 3
-config = 7
+  prog = mythtv
+  button = Music
+  repeat = 3
+  config = F4
 end
 
+  # Live TV
 begin
-prog = mythtv
-button = 8
-repeat = 3
-config = 8
+  prog = mythtv
+  button = TV
+  repeat = 3
+  config = F5
 end
 
+  # Myth Video Gallery
 begin
-prog = mythtv
-button = 9
-repeat = 3
-config = 9
+  prog = mythtv
+  button = VIDEO
+  repeat = 3
+  config = F2
 end
 
-
-### MPlayer lirc setup
-
-# Show OSD
-begin
-prog = mplayer
-button = MENU
-repeat = 3
-config = osd
-end
-
-# Pause playback
+  # Myth Image Gallery
 begin
-prog = mplayer
-button = PAUSE
-repeat = 3
-config = pause
+  prog = mythtv
+  button = PHOTOS
+  repeat = 3
+  config = F
 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
+  prog = irexec
+  button = HELP
+  config = env DISPLAY=:0 xdotool key alt+h
+  flags = 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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/xbmc.xml b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/xbmc.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_all/xbmc.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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt
index e918011..064e72d 100644
--- a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch1/lircrc-snapstrm.txt
@@ -5,586 +5,345 @@
 #
 # 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
 
-
-# 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
+  # Remote Numbers 0-9
 
 begin
-prog = mythtv
-button = TV
-repeat = 3
-config = F5
+  prog = mythtv
+  button = 0
+  repeat = 3
+  config = 0
 end
 
 begin
-prog = mythtv
-button = Videos
-repeat = 3
-config = F2
+  prog = mythtv
+  button = 1
+  repeat = 3
+  config = 1
 end
 
-# Not yet defined
 begin
-prog = mythtv
-button = Music
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 2
+  repeat = 3
+  config = 2
 end
 
-# Given another function for now, I don't use mythgallery
 begin
-prog = mythtv
-button = Pictures
-repeat = 3
-config = F
+  prog = mythtv
+  button = 3
+  repeat = 3
+  config = 3
 end
 
 begin
-prog = mythtv
-button = Guide
-repeat = 3
-config = F3
+  prog = mythtv
+  button = 4
+  repeat = 3
+  config = 4
 end
 
-# I stuck the "todo" list on here as Myth has no radio function
 begin
-prog = mythtv
-button = Radio
-repeat = 3
-config = F4
+  prog = mythtv
+  button = 5
+  repeat = 3
+  config = 5
 end
 
 begin
-prog = mythtv
-button = UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 6
+  repeat = 3
+  config = 6
 end
 
 begin
-prog = mythtv
-button = DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = 7
+  repeat = 3
+  config = 7
 end
 
 begin
-prog = mythtv
-button = LEFT
-repeat = 3
-config = Left
+  prog = mythtv
+  button = 8
+  repeat = 3
+  config = 8
 end
 
 begin
-prog = mythtv
-button = RIGHT
-repeat = 3
-config = Right
+  prog = mythtv
+  button = 9
+  repeat = 3
+  config = 9
 end
 
-# Channel Up
+  # Escape/Back/Exit
 begin
-prog = mythtv
-button = Channel-UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = BACK
+  config = Esc
 end
 
-# Channel Down
+  # OK/Select
 begin
-prog = mythtv
-button = Channel-DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = ENT
+  config = pace
 end
 
-# OK/Select
+  # Volumn Up
 begin
-prog = mythtv
-button = Ok
-config = Space
+  prog = mythtv
+  button = VOL+
+  repeat = 3
+  config = F11
 end
 
-# Play
+  # Volumn Down
 begin
-prog = mythtv
-button = Play
-config = Return
+  prog = mythtv
+  button = VOL-
+  repeat = 3
+  config = F10
 end
 
-# Stop
+  # Mute
 begin
-prog = mythtv
-button = Stop
-config = I
+  prog = mythtv
+  button = MUTE
+  repeat = 3
+  config = |
 end
 
-# Escape/Exit/Back
+  # Firefly
 begin
-prog = mythtv
-button = BACK
-config = Esc
+  prog = mythtv
+  button = FIREFLY
+  repeat = 3
+  config = F8
 end
 
-# Power Off/Exit
+  # Channel Up
 begin
-prog = mythtv
-button = POWER
-config = Esc
+  prog = mythtv
+  button = CH+
+  repeat = 3
+  config = Up
 end
 
-
-# Pause
+  # Channel Down
 begin
-prog = mythtv
-button = Pause
-repeat = 3
-config = P
+  prog = mythtv
+  button = CH-
+  repeat = 3
+  config = Down
 end
 
-# Mute
+  # Info
 begin
-prog = mythtv
-button = Mute
-repeat = 3
-config = |
+  prog = mythtv
+  button = INFO
+  repeat = 3
+  config = I
 end
 
-# Fast forward (30 sec default)
+  # change tuners
 begin
-prog = mythtv
-button = Rewind
-repeat = 3
-config = PgUp
+  prog = mythtv
+  button = OPTION
+  repeat = 3
+  config = Y
 end
 
-# Rewind (10 sec default)
+  # Up
 begin
-prog = mythtv
-button = Forward
-repeat = 3
-config = PgDown
+  prog = mythtv
+  button = UP
+  repeat = 3
+  config = Up
 end
 
-# Skip forward (10 min default)
+  # Left
 begin
-prog = mythtv
-button = Next
-repeat = 3
-config = End
+  prog = mythtv
+  button = LEFT
+  repeat = 3
+  config = Left
 end
 
-# Skip backward (10 min default)
+  # Down
 begin
-prog = mythtv
-button = Previous
-repeat = 3
-config = Home
+  prog = mythtv
+  button = DOWN
+  repeat = 3
+  config = Down
 end
 
-# Record
+  # Right
 begin
-prog = mythtv
-button = Record
-repeat = 3
-config = R
+  prog = mythtv
+  button = RIGHT
+  repeat = 3
+  config = Right
 end
 
-# Delete
+  # Ok/Select
 begin
-prog = mythtv
-button = Red
-repeat = 3
-config = D
+  prog = mythtv
+  button = OK
+  config = space
 end
 
-# Decrease play speed
+  # Menu
 begin
-prog = mythtv
-button = Green
-repeat = 3
-config = J
+  prog = mythtv
+  button = MENU
+  repeat = 3
+  config = M
 end
 
-# Display EPG while in live TV,
-# View selected show while in EPG
+  # Escape/Exit/Back
 begin
-prog = mythtv
-button = Menu
-repeat = 3
-config = M
+  prog = mythtv
+  button = EXIT
+  config = Esc
 end
 
-# Scroll up
+  # Record
 begin
-prog = mythtv
-button = Volume-UP
-repeat = 3
-config = F11
+  prog = mythtv
+  button = REC
+  repeat = 3
+  config = R
 end
 
-# Scroll down
+  # Play
 begin
-prog = mythtv
-button = Volume-DOWN
-repeat = 3
-config = F10
+  prog = mythtv
+  button = PLAY
+  config = Return
 end
 
-# Bring up OSD info
+  # Stop
 begin
-prog = mythtv
-button = Go
-repeat = 3
-config = I
+  prog = mythtv
+  button = STOP
+  config = Esc
 end
 
-# Change display aspect ratio
+  # Rewind
 begin
-prog = mythtv
-button = Prev-Channel
-repeat = 3
-config = W
+  prog = mythtv
+  button = FWD
+  repeat = 3
+  config = PgDown
 end
 
-# double speed watch
+  # Fast Forward
 begin
-prog = mythtv
-button = Yellow
-repeat = 3
-config = J
+  prog = mythtv
+  button = REW
+  repeat = 3
+  config = PgUp
 end
 
-# change tuners
-#begin
-#prog = mythtv
-#button = hash
-#repeat = 3
-#config = Y
-#end
-
-# Bring up Time stretch
+  # Skip Backward
 begin
-prog = mythtv
-button = Blue
-repeat = 3
-config = Y
+  prog = mythtv
+  button = PREV
+  repeat = 3
+  config = home
 end
 
-# Numbers 0-9
-
+  # Skip Forward
 begin
-prog = mythtv
-button = 0
-repeat = 3
-config = 0
+  prog = mythtv
+  button = NEXT
+  repeat = 3
+  config = End
 end
 
+  # Pause
 begin
-prog = mythtv
-button = 1
-repeat = 3
-config = 1
+  prog = mythtv
+  button = Pause
+  repeat = 3
+  config = P
 end
 
+  # Delete
 begin
-prog = mythtv
-button = 2
-repeat = 3
-config = 2
+  prog = mythtv
+  button = A
+  repeat = 3
+  config = D
 end
 
+  # Decrease Playback Speed
 begin
-prog = mythtv
-button = 3
-repeat = 3
-config = 3
+  prog = mythtv
+  button = B
+  repeat = 3
+  config = J
 end
 
+  # Double Playback Speed
 begin
-prog = mythtv
-button = 4
-repeat = 3
-config = 4
+  prog = mythtv
+  button = C
+  repeat = 3
+  config = J
 end
 
+  # Time Stretch
 begin
-prog = mythtv
-button = 5
-repeat = 3
-config = 5
+  prog = mythtv
+  button = D
+  repeat = 3
+  config = Y
 end
 
-begin
-prog = mythtv
-button = 6
-repeat = 3
-config = 6
-end
+  ### Jump Points need to match config in mythweb keybindings
 
+  # Myth Music
 begin
-prog = mythtv
-button = 7
-repeat = 3
-config = 7
+  prog = mythtv
+  button = Music
+  repeat = 3
+  config = F4
 end
 
+  # Live TV
 begin
-prog = mythtv
-button = 8
-repeat = 3
-config = 8
+  prog = mythtv
+  button = TV
+  repeat = 3
+  config = F5
 end
 
+  # Myth Video Gallery
 begin
-prog = mythtv
-button = 9
-repeat = 3
-config = 9
+  prog = mythtv
+  button = VIDEO
+  repeat = 3
+  config = F2
 end
 
-
-### MPlayer lirc setup
-
-# Show OSD
-begin
-prog = mplayer
-button = MENU
-repeat = 3
-config = osd
-end
-
-# Pause playback
+  # Myth Image Gallery
 begin
-prog = mplayer
-button = PAUSE
-repeat = 3
-config = pause
+  prog = mythtv
+  button = PHOTOS
+  repeat = 3
+  config = F
 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
+  prog = irexec
+  button = HELP
+  config = env DISPLAY=:0 xdotool key alt+h
+  flags = 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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch1/xbmc.xml b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch1/xbmc.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch1/xbmc.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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt
index e918011..064e72d 100644
--- a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch2/lircrc-snapstrm.txt
@@ -5,586 +5,345 @@
 #
 # 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
 
-
-# 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
+  # Remote Numbers 0-9
 
 begin
-prog = mythtv
-button = TV
-repeat = 3
-config = F5
+  prog = mythtv
+  button = 0
+  repeat = 3
+  config = 0
 end
 
 begin
-prog = mythtv
-button = Videos
-repeat = 3
-config = F2
+  prog = mythtv
+  button = 1
+  repeat = 3
+  config = 1
 end
 
-# Not yet defined
 begin
-prog = mythtv
-button = Music
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 2
+  repeat = 3
+  config = 2
 end
 
-# Given another function for now, I don't use mythgallery
 begin
-prog = mythtv
-button = Pictures
-repeat = 3
-config = F
+  prog = mythtv
+  button = 3
+  repeat = 3
+  config = 3
 end
 
 begin
-prog = mythtv
-button = Guide
-repeat = 3
-config = F3
+  prog = mythtv
+  button = 4
+  repeat = 3
+  config = 4
 end
 
-# I stuck the "todo" list on here as Myth has no radio function
 begin
-prog = mythtv
-button = Radio
-repeat = 3
-config = F4
+  prog = mythtv
+  button = 5
+  repeat = 3
+  config = 5
 end
 
 begin
-prog = mythtv
-button = UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 6
+  repeat = 3
+  config = 6
 end
 
 begin
-prog = mythtv
-button = DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = 7
+  repeat = 3
+  config = 7
 end
 
 begin
-prog = mythtv
-button = LEFT
-repeat = 3
-config = Left
+  prog = mythtv
+  button = 8
+  repeat = 3
+  config = 8
 end
 
 begin
-prog = mythtv
-button = RIGHT
-repeat = 3
-config = Right
+  prog = mythtv
+  button = 9
+  repeat = 3
+  config = 9
 end
 
-# Channel Up
+  # Escape/Back/Exit
 begin
-prog = mythtv
-button = Channel-UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = BACK
+  config = Esc
 end
 
-# Channel Down
+  # OK/Select
 begin
-prog = mythtv
-button = Channel-DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = ENT
+  config = pace
 end
 
-# OK/Select
+  # Volumn Up
 begin
-prog = mythtv
-button = Ok
-config = Space
+  prog = mythtv
+  button = VOL+
+  repeat = 3
+  config = F11
 end
 
-# Play
+  # Volumn Down
 begin
-prog = mythtv
-button = Play
-config = Return
+  prog = mythtv
+  button = VOL-
+  repeat = 3
+  config = F10
 end
 
-# Stop
+  # Mute
 begin
-prog = mythtv
-button = Stop
-config = I
+  prog = mythtv
+  button = MUTE
+  repeat = 3
+  config = |
 end
 
-# Escape/Exit/Back
+  # Firefly
 begin
-prog = mythtv
-button = BACK
-config = Esc
+  prog = mythtv
+  button = FIREFLY
+  repeat = 3
+  config = F8
 end
 
-# Power Off/Exit
+  # Channel Up
 begin
-prog = mythtv
-button = POWER
-config = Esc
+  prog = mythtv
+  button = CH+
+  repeat = 3
+  config = Up
 end
 
-
-# Pause
+  # Channel Down
 begin
-prog = mythtv
-button = Pause
-repeat = 3
-config = P
+  prog = mythtv
+  button = CH-
+  repeat = 3
+  config = Down
 end
 
-# Mute
+  # Info
 begin
-prog = mythtv
-button = Mute
-repeat = 3
-config = |
+  prog = mythtv
+  button = INFO
+  repeat = 3
+  config = I
 end
 
-# Fast forward (30 sec default)
+  # change tuners
 begin
-prog = mythtv
-button = Rewind
-repeat = 3
-config = PgUp
+  prog = mythtv
+  button = OPTION
+  repeat = 3
+  config = Y
 end
 
-# Rewind (10 sec default)
+  # Up
 begin
-prog = mythtv
-button = Forward
-repeat = 3
-config = PgDown
+  prog = mythtv
+  button = UP
+  repeat = 3
+  config = Up
 end
 
-# Skip forward (10 min default)
+  # Left
 begin
-prog = mythtv
-button = Next
-repeat = 3
-config = End
+  prog = mythtv
+  button = LEFT
+  repeat = 3
+  config = Left
 end
 
-# Skip backward (10 min default)
+  # Down
 begin
-prog = mythtv
-button = Previous
-repeat = 3
-config = Home
+  prog = mythtv
+  button = DOWN
+  repeat = 3
+  config = Down
 end
 
-# Record
+  # Right
 begin
-prog = mythtv
-button = Record
-repeat = 3
-config = R
+  prog = mythtv
+  button = RIGHT
+  repeat = 3
+  config = Right
 end
 
-# Delete
+  # Ok/Select
 begin
-prog = mythtv
-button = Red
-repeat = 3
-config = D
+  prog = mythtv
+  button = OK
+  config = space
 end
 
-# Decrease play speed
+  # Menu
 begin
-prog = mythtv
-button = Green
-repeat = 3
-config = J
+  prog = mythtv
+  button = MENU
+  repeat = 3
+  config = M
 end
 
-# Display EPG while in live TV,
-# View selected show while in EPG
+  # Escape/Exit/Back
 begin
-prog = mythtv
-button = Menu
-repeat = 3
-config = M
+  prog = mythtv
+  button = EXIT
+  config = Esc
 end
 
-# Scroll up
+  # Record
 begin
-prog = mythtv
-button = Volume-UP
-repeat = 3
-config = F11
+  prog = mythtv
+  button = REC
+  repeat = 3
+  config = R
 end
 
-# Scroll down
+  # Play
 begin
-prog = mythtv
-button = Volume-DOWN
-repeat = 3
-config = F10
+  prog = mythtv
+  button = PLAY
+  config = Return
 end
 
-# Bring up OSD info
+  # Stop
 begin
-prog = mythtv
-button = Go
-repeat = 3
-config = I
+  prog = mythtv
+  button = STOP
+  config = Esc
 end
 
-# Change display aspect ratio
+  # Rewind
 begin
-prog = mythtv
-button = Prev-Channel
-repeat = 3
-config = W
+  prog = mythtv
+  button = FWD
+  repeat = 3
+  config = PgDown
 end
 
-# double speed watch
+  # Fast Forward
 begin
-prog = mythtv
-button = Yellow
-repeat = 3
-config = J
+  prog = mythtv
+  button = REW
+  repeat = 3
+  config = PgUp
 end
 
-# change tuners
-#begin
-#prog = mythtv
-#button = hash
-#repeat = 3
-#config = Y
-#end
-
-# Bring up Time stretch
+  # Skip Backward
 begin
-prog = mythtv
-button = Blue
-repeat = 3
-config = Y
+  prog = mythtv
+  button = PREV
+  repeat = 3
+  config = home
 end
 
-# Numbers 0-9
-
+  # Skip Forward
 begin
-prog = mythtv
-button = 0
-repeat = 3
-config = 0
+  prog = mythtv
+  button = NEXT
+  repeat = 3
+  config = End
 end
 
+  # Pause
 begin
-prog = mythtv
-button = 1
-repeat = 3
-config = 1
+  prog = mythtv
+  button = Pause
+  repeat = 3
+  config = P
 end
 
+  # Delete
 begin
-prog = mythtv
-button = 2
-repeat = 3
-config = 2
+  prog = mythtv
+  button = A
+  repeat = 3
+  config = D
 end
 
+  # Decrease Playback Speed
 begin
-prog = mythtv
-button = 3
-repeat = 3
-config = 3
+  prog = mythtv
+  button = B
+  repeat = 3
+  config = J
 end
 
+  # Double Playback Speed
 begin
-prog = mythtv
-button = 4
-repeat = 3
-config = 4
+  prog = mythtv
+  button = C
+  repeat = 3
+  config = J
 end
 
+  # Time Stretch
 begin
-prog = mythtv
-button = 5
-repeat = 3
-config = 5
+  prog = mythtv
+  button = D
+  repeat = 3
+  config = Y
 end
 
-begin
-prog = mythtv
-button = 6
-repeat = 3
-config = 6
-end
+  ### Jump Points need to match config in mythweb keybindings
 
+  # Myth Music
 begin
-prog = mythtv
-button = 7
-repeat = 3
-config = 7
+  prog = mythtv
+  button = Music
+  repeat = 3
+  config = F4
 end
 
+  # Live TV
 begin
-prog = mythtv
-button = 8
-repeat = 3
-config = 8
+  prog = mythtv
+  button = TV
+  repeat = 3
+  config = F5
 end
 
+  # Myth Video Gallery
 begin
-prog = mythtv
-button = 9
-repeat = 3
-config = 9
+  prog = mythtv
+  button = VIDEO
+  repeat = 3
+  config = F2
 end
 
-
-### MPlayer lirc setup
-
-# Show OSD
-begin
-prog = mplayer
-button = MENU
-repeat = 3
-config = osd
-end
-
-# Pause playback
+  # Myth Image Gallery
 begin
-prog = mplayer
-button = PAUSE
-repeat = 3
-config = pause
+  prog = mythtv
+  button = PHOTOS
+  repeat = 3
+  config = F
 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
+  prog = irexec
+  button = HELP
+  config = env DISPLAY=:0 xdotool key alt+h
+  flags = 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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch2/xbmc.xml b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch2/xbmc.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch2/xbmc.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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt
index e918011..064e72d 100644
--- a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircrc-snapstrm.txt
@@ -5,586 +5,345 @@
 #
 # 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
 
-
-# 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
+  # Remote Numbers 0-9
 
 begin
-prog = mythtv
-button = TV
-repeat = 3
-config = F5
+  prog = mythtv
+  button = 0
+  repeat = 3
+  config = 0
 end
 
 begin
-prog = mythtv
-button = Videos
-repeat = 3
-config = F2
+  prog = mythtv
+  button = 1
+  repeat = 3
+  config = 1
 end
 
-# Not yet defined
 begin
-prog = mythtv
-button = Music
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 2
+  repeat = 3
+  config = 2
 end
 
-# Given another function for now, I don't use mythgallery
 begin
-prog = mythtv
-button = Pictures
-repeat = 3
-config = F
+  prog = mythtv
+  button = 3
+  repeat = 3
+  config = 3
 end
 
 begin
-prog = mythtv
-button = Guide
-repeat = 3
-config = F3
+  prog = mythtv
+  button = 4
+  repeat = 3
+  config = 4
 end
 
-# I stuck the "todo" list on here as Myth has no radio function
 begin
-prog = mythtv
-button = Radio
-repeat = 3
-config = F4
+  prog = mythtv
+  button = 5
+  repeat = 3
+  config = 5
 end
 
 begin
-prog = mythtv
-button = UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 6
+  repeat = 3
+  config = 6
 end
 
 begin
-prog = mythtv
-button = DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = 7
+  repeat = 3
+  config = 7
 end
 
 begin
-prog = mythtv
-button = LEFT
-repeat = 3
-config = Left
+  prog = mythtv
+  button = 8
+  repeat = 3
+  config = 8
 end
 
 begin
-prog = mythtv
-button = RIGHT
-repeat = 3
-config = Right
+  prog = mythtv
+  button = 9
+  repeat = 3
+  config = 9
 end
 
-# Channel Up
+  # Escape/Back/Exit
 begin
-prog = mythtv
-button = Channel-UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = BACK
+  config = Esc
 end
 
-# Channel Down
+  # OK/Select
 begin
-prog = mythtv
-button = Channel-DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = ENT
+  config = pace
 end
 
-# OK/Select
+  # Volumn Up
 begin
-prog = mythtv
-button = Ok
-config = Space
+  prog = mythtv
+  button = VOL+
+  repeat = 3
+  config = F11
 end
 
-# Play
+  # Volumn Down
 begin
-prog = mythtv
-button = Play
-config = Return
+  prog = mythtv
+  button = VOL-
+  repeat = 3
+  config = F10
 end
 
-# Stop
+  # Mute
 begin
-prog = mythtv
-button = Stop
-config = I
+  prog = mythtv
+  button = MUTE
+  repeat = 3
+  config = |
 end
 
-# Escape/Exit/Back
+  # Firefly
 begin
-prog = mythtv
-button = BACK
-config = Esc
+  prog = mythtv
+  button = FIREFLY
+  repeat = 3
+  config = F8
 end
 
-# Power Off/Exit
+  # Channel Up
 begin
-prog = mythtv
-button = POWER
-config = Esc
+  prog = mythtv
+  button = CH+
+  repeat = 3
+  config = Up
 end
 
-
-# Pause
+  # Channel Down
 begin
-prog = mythtv
-button = Pause
-repeat = 3
-config = P
+  prog = mythtv
+  button = CH-
+  repeat = 3
+  config = Down
 end
 
-# Mute
+  # Info
 begin
-prog = mythtv
-button = Mute
-repeat = 3
-config = |
+  prog = mythtv
+  button = INFO
+  repeat = 3
+  config = I
 end
 
-# Fast forward (30 sec default)
+  # change tuners
 begin
-prog = mythtv
-button = Rewind
-repeat = 3
-config = PgUp
+  prog = mythtv
+  button = OPTION
+  repeat = 3
+  config = Y
 end
 
-# Rewind (10 sec default)
+  # Up
 begin
-prog = mythtv
-button = Forward
-repeat = 3
-config = PgDown
+  prog = mythtv
+  button = UP
+  repeat = 3
+  config = Up
 end
 
-# Skip forward (10 min default)
+  # Left
 begin
-prog = mythtv
-button = Next
-repeat = 3
-config = End
+  prog = mythtv
+  button = LEFT
+  repeat = 3
+  config = Left
 end
 
-# Skip backward (10 min default)
+  # Down
 begin
-prog = mythtv
-button = Previous
-repeat = 3
-config = Home
+  prog = mythtv
+  button = DOWN
+  repeat = 3
+  config = Down
 end
 
-# Record
+  # Right
 begin
-prog = mythtv
-button = Record
-repeat = 3
-config = R
+  prog = mythtv
+  button = RIGHT
+  repeat = 3
+  config = Right
 end
 
-# Delete
+  # Ok/Select
 begin
-prog = mythtv
-button = Red
-repeat = 3
-config = D
+  prog = mythtv
+  button = OK
+  config = space
 end
 
-# Decrease play speed
+  # Menu
 begin
-prog = mythtv
-button = Green
-repeat = 3
-config = J
+  prog = mythtv
+  button = MENU
+  repeat = 3
+  config = M
 end
 
-# Display EPG while in live TV,
-# View selected show while in EPG
+  # Escape/Exit/Back
 begin
-prog = mythtv
-button = Menu
-repeat = 3
-config = M
+  prog = mythtv
+  button = EXIT
+  config = Esc
 end
 
-# Scroll up
+  # Record
 begin
-prog = mythtv
-button = Volume-UP
-repeat = 3
-config = F11
+  prog = mythtv
+  button = REC
+  repeat = 3
+  config = R
 end
 
-# Scroll down
+  # Play
 begin
-prog = mythtv
-button = Volume-DOWN
-repeat = 3
-config = F10
+  prog = mythtv
+  button = PLAY
+  config = Return
 end
 
-# Bring up OSD info
+  # Stop
 begin
-prog = mythtv
-button = Go
-repeat = 3
-config = I
+  prog = mythtv
+  button = STOP
+  config = Esc
 end
 
-# Change display aspect ratio
+  # Rewind
 begin
-prog = mythtv
-button = Prev-Channel
-repeat = 3
-config = W
+  prog = mythtv
+  button = FWD
+  repeat = 3
+  config = PgDown
 end
 
-# double speed watch
+  # Fast Forward
 begin
-prog = mythtv
-button = Yellow
-repeat = 3
-config = J
+  prog = mythtv
+  button = REW
+  repeat = 3
+  config = PgUp
 end
 
-# change tuners
-#begin
-#prog = mythtv
-#button = hash
-#repeat = 3
-#config = Y
-#end
-
-# Bring up Time stretch
+  # Skip Backward
 begin
-prog = mythtv
-button = Blue
-repeat = 3
-config = Y
+  prog = mythtv
+  button = PREV
+  repeat = 3
+  config = home
 end
 
-# Numbers 0-9
-
+  # Skip Forward
 begin
-prog = mythtv
-button = 0
-repeat = 3
-config = 0
+  prog = mythtv
+  button = NEXT
+  repeat = 3
+  config = End
 end
 
+  # Pause
 begin
-prog = mythtv
-button = 1
-repeat = 3
-config = 1
+  prog = mythtv
+  button = Pause
+  repeat = 3
+  config = P
 end
 
+  # Delete
 begin
-prog = mythtv
-button = 2
-repeat = 3
-config = 2
+  prog = mythtv
+  button = A
+  repeat = 3
+  config = D
 end
 
+  # Decrease Playback Speed
 begin
-prog = mythtv
-button = 3
-repeat = 3
-config = 3
+  prog = mythtv
+  button = B
+  repeat = 3
+  config = J
 end
 
+  # Double Playback Speed
 begin
-prog = mythtv
-button = 4
-repeat = 3
-config = 4
+  prog = mythtv
+  button = C
+  repeat = 3
+  config = J
 end
 
+  # Time Stretch
 begin
-prog = mythtv
-button = 5
-repeat = 3
-config = 5
+  prog = mythtv
+  button = D
+  repeat = 3
+  config = Y
 end
 
-begin
-prog = mythtv
-button = 6
-repeat = 3
-config = 6
-end
+  ### Jump Points need to match config in mythweb keybindings
 
+  # Myth Music
 begin
-prog = mythtv
-button = 7
-repeat = 3
-config = 7
+  prog = mythtv
+  button = Music
+  repeat = 3
+  config = F4
 end
 
+  # Live TV
 begin
-prog = mythtv
-button = 8
-repeat = 3
-config = 8
+  prog = mythtv
+  button = TV
+  repeat = 3
+  config = F5
 end
 
+  # Myth Video Gallery
 begin
-prog = mythtv
-button = 9
-repeat = 3
-config = 9
+  prog = mythtv
+  button = VIDEO
+  repeat = 3
+  config = F2
 end
 
-
-### MPlayer lirc setup
-
-# Show OSD
-begin
-prog = mplayer
-button = MENU
-repeat = 3
-config = osd
-end
-
-# Pause playback
+  # Myth Image Gallery
 begin
-prog = mplayer
-button = PAUSE
-repeat = 3
-config = pause
+  prog = mythtv
+  button = PHOTOS
+  repeat = 3
+  config = F
 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
+  prog = irexec
+  button = HELP
+  config = env DISPLAY=:0 xdotool key alt+h
+  flags = 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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/xbmc.xml b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/xbmc.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/xbmc.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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt
index e918011..064e72d 100644
--- a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch4/lircrc-snapstrm.txt
@@ -5,586 +5,345 @@
 #
 # 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
 
-
-# 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
+  # Remote Numbers 0-9
 
 begin
-prog = mythtv
-button = TV
-repeat = 3
-config = F5
+  prog = mythtv
+  button = 0
+  repeat = 3
+  config = 0
 end
 
 begin
-prog = mythtv
-button = Videos
-repeat = 3
-config = F2
+  prog = mythtv
+  button = 1
+  repeat = 3
+  config = 1
 end
 
-# Not yet defined
 begin
-prog = mythtv
-button = Music
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 2
+  repeat = 3
+  config = 2
 end
 
-# Given another function for now, I don't use mythgallery
 begin
-prog = mythtv
-button = Pictures
-repeat = 3
-config = F
+  prog = mythtv
+  button = 3
+  repeat = 3
+  config = 3
 end
 
 begin
-prog = mythtv
-button = Guide
-repeat = 3
-config = F3
+  prog = mythtv
+  button = 4
+  repeat = 3
+  config = 4
 end
 
-# I stuck the "todo" list on here as Myth has no radio function
 begin
-prog = mythtv
-button = Radio
-repeat = 3
-config = F4
+  prog = mythtv
+  button = 5
+  repeat = 3
+  config = 5
 end
 
 begin
-prog = mythtv
-button = UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 6
+  repeat = 3
+  config = 6
 end
 
 begin
-prog = mythtv
-button = DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = 7
+  repeat = 3
+  config = 7
 end
 
 begin
-prog = mythtv
-button = LEFT
-repeat = 3
-config = Left
+  prog = mythtv
+  button = 8
+  repeat = 3
+  config = 8
 end
 
 begin
-prog = mythtv
-button = RIGHT
-repeat = 3
-config = Right
+  prog = mythtv
+  button = 9
+  repeat = 3
+  config = 9
 end
 
-# Channel Up
+  # Escape/Back/Exit
 begin
-prog = mythtv
-button = Channel-UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = BACK
+  config = Esc
 end
 
-# Channel Down
+  # OK/Select
 begin
-prog = mythtv
-button = Channel-DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = ENT
+  config = pace
 end
 
-# OK/Select
+  # Volumn Up
 begin
-prog = mythtv
-button = Ok
-config = Space
+  prog = mythtv
+  button = VOL+
+  repeat = 3
+  config = F11
 end
 
-# Play
+  # Volumn Down
 begin
-prog = mythtv
-button = Play
-config = Return
+  prog = mythtv
+  button = VOL-
+  repeat = 3
+  config = F10
 end
 
-# Stop
+  # Mute
 begin
-prog = mythtv
-button = Stop
-config = I
+  prog = mythtv
+  button = MUTE
+  repeat = 3
+  config = |
 end
 
-# Escape/Exit/Back
+  # Firefly
 begin
-prog = mythtv
-button = BACK
-config = Esc
+  prog = mythtv
+  button = FIREFLY
+  repeat = 3
+  config = F8
 end
 
-# Power Off/Exit
+  # Channel Up
 begin
-prog = mythtv
-button = POWER
-config = Esc
+  prog = mythtv
+  button = CH+
+  repeat = 3
+  config = Up
 end
 
-
-# Pause
+  # Channel Down
 begin
-prog = mythtv
-button = Pause
-repeat = 3
-config = P
+  prog = mythtv
+  button = CH-
+  repeat = 3
+  config = Down
 end
 
-# Mute
+  # Info
 begin
-prog = mythtv
-button = Mute
-repeat = 3
-config = |
+  prog = mythtv
+  button = INFO
+  repeat = 3
+  config = I
 end
 
-# Fast forward (30 sec default)
+  # change tuners
 begin
-prog = mythtv
-button = Rewind
-repeat = 3
-config = PgUp
+  prog = mythtv
+  button = OPTION
+  repeat = 3
+  config = Y
 end
 
-# Rewind (10 sec default)
+  # Up
 begin
-prog = mythtv
-button = Forward
-repeat = 3
-config = PgDown
+  prog = mythtv
+  button = UP
+  repeat = 3
+  config = Up
 end
 
-# Skip forward (10 min default)
+  # Left
 begin
-prog = mythtv
-button = Next
-repeat = 3
-config = End
+  prog = mythtv
+  button = LEFT
+  repeat = 3
+  config = Left
 end
 
-# Skip backward (10 min default)
+  # Down
 begin
-prog = mythtv
-button = Previous
-repeat = 3
-config = Home
+  prog = mythtv
+  button = DOWN
+  repeat = 3
+  config = Down
 end
 
-# Record
+  # Right
 begin
-prog = mythtv
-button = Record
-repeat = 3
-config = R
+  prog = mythtv
+  button = RIGHT
+  repeat = 3
+  config = Right
 end
 
-# Delete
+  # Ok/Select
 begin
-prog = mythtv
-button = Red
-repeat = 3
-config = D
+  prog = mythtv
+  button = OK
+  config = space
 end
 
-# Decrease play speed
+  # Menu
 begin
-prog = mythtv
-button = Green
-repeat = 3
-config = J
+  prog = mythtv
+  button = MENU
+  repeat = 3
+  config = M
 end
 
-# Display EPG while in live TV,
-# View selected show while in EPG
+  # Escape/Exit/Back
 begin
-prog = mythtv
-button = Menu
-repeat = 3
-config = M
+  prog = mythtv
+  button = EXIT
+  config = Esc
 end
 
-# Scroll up
+  # Record
 begin
-prog = mythtv
-button = Volume-UP
-repeat = 3
-config = F11
+  prog = mythtv
+  button = REC
+  repeat = 3
+  config = R
 end
 
-# Scroll down
+  # Play
 begin
-prog = mythtv
-button = Volume-DOWN
-repeat = 3
-config = F10
+  prog = mythtv
+  button = PLAY
+  config = Return
 end
 
-# Bring up OSD info
+  # Stop
 begin
-prog = mythtv
-button = Go
-repeat = 3
-config = I
+  prog = mythtv
+  button = STOP
+  config = Esc
 end
 
-# Change display aspect ratio
+  # Rewind
 begin
-prog = mythtv
-button = Prev-Channel
-repeat = 3
-config = W
+  prog = mythtv
+  button = FWD
+  repeat = 3
+  config = PgDown
 end
 
-# double speed watch
+  # Fast Forward
 begin
-prog = mythtv
-button = Yellow
-repeat = 3
-config = J
+  prog = mythtv
+  button = REW
+  repeat = 3
+  config = PgUp
 end
 
-# change tuners
-#begin
-#prog = mythtv
-#button = hash
-#repeat = 3
-#config = Y
-#end
-
-# Bring up Time stretch
+  # Skip Backward
 begin
-prog = mythtv
-button = Blue
-repeat = 3
-config = Y
+  prog = mythtv
+  button = PREV
+  repeat = 3
+  config = home
 end
 
-# Numbers 0-9
-
+  # Skip Forward
 begin
-prog = mythtv
-button = 0
-repeat = 3
-config = 0
+  prog = mythtv
+  button = NEXT
+  repeat = 3
+  config = End
 end
 
+  # Pause
 begin
-prog = mythtv
-button = 1
-repeat = 3
-config = 1
+  prog = mythtv
+  button = Pause
+  repeat = 3
+  config = P
 end
 
+  # Delete
 begin
-prog = mythtv
-button = 2
-repeat = 3
-config = 2
+  prog = mythtv
+  button = A
+  repeat = 3
+  config = D
 end
 
+  # Decrease Playback Speed
 begin
-prog = mythtv
-button = 3
-repeat = 3
-config = 3
+  prog = mythtv
+  button = B
+  repeat = 3
+  config = J
 end
 
+  # Double Playback Speed
 begin
-prog = mythtv
-button = 4
-repeat = 3
-config = 4
+  prog = mythtv
+  button = C
+  repeat = 3
+  config = J
 end
 
+  # Time Stretch
 begin
-prog = mythtv
-button = 5
-repeat = 3
-config = 5
+  prog = mythtv
+  button = D
+  repeat = 3
+  config = Y
 end
 
-begin
-prog = mythtv
-button = 6
-repeat = 3
-config = 6
-end
+  ### Jump Points need to match config in mythweb keybindings
 
+  # Myth Music
 begin
-prog = mythtv
-button = 7
-repeat = 3
-config = 7
+  prog = mythtv
+  button = Music
+  repeat = 3
+  config = F4
 end
 
+  # Live TV
 begin
-prog = mythtv
-button = 8
-repeat = 3
-config = 8
+  prog = mythtv
+  button = TV
+  repeat = 3
+  config = F5
 end
 
+  # Myth Video Gallery
 begin
-prog = mythtv
-button = 9
-repeat = 3
-config = 9
+  prog = mythtv
+  button = VIDEO
+  repeat = 3
+  config = F2
 end
 
-
-### MPlayer lirc setup
-
-# Show OSD
-begin
-prog = mplayer
-button = MENU
-repeat = 3
-config = osd
-end
-
-# Pause playback
+  # Myth Image Gallery
 begin
-prog = mplayer
-button = PAUSE
-repeat = 3
-config = pause
+  prog = mythtv
+  button = PHOTOS
+  repeat = 3
+  config = F
 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
+  prog = irexec
+  button = HELP
+  config = env DISPLAY=:0 xdotool key alt+h
+  flags = 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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch4/xbmc.xml b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch4/xbmc.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch4/xbmc.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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt
index e918011..064e72d 100644
--- a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch5/lircrc-snapstrm.txt
@@ -5,586 +5,345 @@
 #
 # 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
 
-
-# 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
+  # Remote Numbers 0-9
 
 begin
-prog = mythtv
-button = TV
-repeat = 3
-config = F5
+  prog = mythtv
+  button = 0
+  repeat = 3
+  config = 0
 end
 
 begin
-prog = mythtv
-button = Videos
-repeat = 3
-config = F2
+  prog = mythtv
+  button = 1
+  repeat = 3
+  config = 1
 end
 
-# Not yet defined
 begin
-prog = mythtv
-button = Music
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 2
+  repeat = 3
+  config = 2
 end
 
-# Given another function for now, I don't use mythgallery
 begin
-prog = mythtv
-button = Pictures
-repeat = 3
-config = F
+  prog = mythtv
+  button = 3
+  repeat = 3
+  config = 3
 end
 
 begin
-prog = mythtv
-button = Guide
-repeat = 3
-config = F3
+  prog = mythtv
+  button = 4
+  repeat = 3
+  config = 4
 end
 
-# I stuck the "todo" list on here as Myth has no radio function
 begin
-prog = mythtv
-button = Radio
-repeat = 3
-config = F4
+  prog = mythtv
+  button = 5
+  repeat = 3
+  config = 5
 end
 
 begin
-prog = mythtv
-button = UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 6
+  repeat = 3
+  config = 6
 end
 
 begin
-prog = mythtv
-button = DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = 7
+  repeat = 3
+  config = 7
 end
 
 begin
-prog = mythtv
-button = LEFT
-repeat = 3
-config = Left
+  prog = mythtv
+  button = 8
+  repeat = 3
+  config = 8
 end
 
 begin
-prog = mythtv
-button = RIGHT
-repeat = 3
-config = Right
+  prog = mythtv
+  button = 9
+  repeat = 3
+  config = 9
 end
 
-# Channel Up
+  # Escape/Back/Exit
 begin
-prog = mythtv
-button = Channel-UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = BACK
+  config = Esc
 end
 
-# Channel Down
+  # OK/Select
 begin
-prog = mythtv
-button = Channel-DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = ENT
+  config = pace
 end
 
-# OK/Select
+  # Volumn Up
 begin
-prog = mythtv
-button = Ok
-config = Space
+  prog = mythtv
+  button = VOL+
+  repeat = 3
+  config = F11
 end
 
-# Play
+  # Volumn Down
 begin
-prog = mythtv
-button = Play
-config = Return
+  prog = mythtv
+  button = VOL-
+  repeat = 3
+  config = F10
 end
 
-# Stop
+  # Mute
 begin
-prog = mythtv
-button = Stop
-config = I
+  prog = mythtv
+  button = MUTE
+  repeat = 3
+  config = |
 end
 
-# Escape/Exit/Back
+  # Firefly
 begin
-prog = mythtv
-button = BACK
-config = Esc
+  prog = mythtv
+  button = FIREFLY
+  repeat = 3
+  config = F8
 end
 
-# Power Off/Exit
+  # Channel Up
 begin
-prog = mythtv
-button = POWER
-config = Esc
+  prog = mythtv
+  button = CH+
+  repeat = 3
+  config = Up
 end
 
-
-# Pause
+  # Channel Down
 begin
-prog = mythtv
-button = Pause
-repeat = 3
-config = P
+  prog = mythtv
+  button = CH-
+  repeat = 3
+  config = Down
 end
 
-# Mute
+  # Info
 begin
-prog = mythtv
-button = Mute
-repeat = 3
-config = |
+  prog = mythtv
+  button = INFO
+  repeat = 3
+  config = I
 end
 
-# Fast forward (30 sec default)
+  # change tuners
 begin
-prog = mythtv
-button = Rewind
-repeat = 3
-config = PgUp
+  prog = mythtv
+  button = OPTION
+  repeat = 3
+  config = Y
 end
 
-# Rewind (10 sec default)
+  # Up
 begin
-prog = mythtv
-button = Forward
-repeat = 3
-config = PgDown
+  prog = mythtv
+  button = UP
+  repeat = 3
+  config = Up
 end
 
-# Skip forward (10 min default)
+  # Left
 begin
-prog = mythtv
-button = Next
-repeat = 3
-config = End
+  prog = mythtv
+  button = LEFT
+  repeat = 3
+  config = Left
 end
 
-# Skip backward (10 min default)
+  # Down
 begin
-prog = mythtv
-button = Previous
-repeat = 3
-config = Home
+  prog = mythtv
+  button = DOWN
+  repeat = 3
+  config = Down
 end
 
-# Record
+  # Right
 begin
-prog = mythtv
-button = Record
-repeat = 3
-config = R
+  prog = mythtv
+  button = RIGHT
+  repeat = 3
+  config = Right
 end
 
-# Delete
+  # Ok/Select
 begin
-prog = mythtv
-button = Red
-repeat = 3
-config = D
+  prog = mythtv
+  button = OK
+  config = space
 end
 
-# Decrease play speed
+  # Menu
 begin
-prog = mythtv
-button = Green
-repeat = 3
-config = J
+  prog = mythtv
+  button = MENU
+  repeat = 3
+  config = M
 end
 
-# Display EPG while in live TV,
-# View selected show while in EPG
+  # Escape/Exit/Back
 begin
-prog = mythtv
-button = Menu
-repeat = 3
-config = M
+  prog = mythtv
+  button = EXIT
+  config = Esc
 end
 
-# Scroll up
+  # Record
 begin
-prog = mythtv
-button = Volume-UP
-repeat = 3
-config = F11
+  prog = mythtv
+  button = REC
+  repeat = 3
+  config = R
 end
 
-# Scroll down
+  # Play
 begin
-prog = mythtv
-button = Volume-DOWN
-repeat = 3
-config = F10
+  prog = mythtv
+  button = PLAY
+  config = Return
 end
 
-# Bring up OSD info
+  # Stop
 begin
-prog = mythtv
-button = Go
-repeat = 3
-config = I
+  prog = mythtv
+  button = STOP
+  config = Esc
 end
 
-# Change display aspect ratio
+  # Rewind
 begin
-prog = mythtv
-button = Prev-Channel
-repeat = 3
-config = W
+  prog = mythtv
+  button = FWD
+  repeat = 3
+  config = PgDown
 end
 
-# double speed watch
+  # Fast Forward
 begin
-prog = mythtv
-button = Yellow
-repeat = 3
-config = J
+  prog = mythtv
+  button = REW
+  repeat = 3
+  config = PgUp
 end
 
-# change tuners
-#begin
-#prog = mythtv
-#button = hash
-#repeat = 3
-#config = Y
-#end
-
-# Bring up Time stretch
+  # Skip Backward
 begin
-prog = mythtv
-button = Blue
-repeat = 3
-config = Y
+  prog = mythtv
+  button = PREV
+  repeat = 3
+  config = home
 end
 
-# Numbers 0-9
-
+  # Skip Forward
 begin
-prog = mythtv
-button = 0
-repeat = 3
-config = 0
+  prog = mythtv
+  button = NEXT
+  repeat = 3
+  config = End
 end
 
+  # Pause
 begin
-prog = mythtv
-button = 1
-repeat = 3
-config = 1
+  prog = mythtv
+  button = Pause
+  repeat = 3
+  config = P
 end
 
+  # Delete
 begin
-prog = mythtv
-button = 2
-repeat = 3
-config = 2
+  prog = mythtv
+  button = A
+  repeat = 3
+  config = D
 end
 
+  # Decrease Playback Speed
 begin
-prog = mythtv
-button = 3
-repeat = 3
-config = 3
+  prog = mythtv
+  button = B
+  repeat = 3
+  config = J
 end
 
+  # Double Playback Speed
 begin
-prog = mythtv
-button = 4
-repeat = 3
-config = 4
+  prog = mythtv
+  button = C
+  repeat = 3
+  config = J
 end
 
+  # Time Stretch
 begin
-prog = mythtv
-button = 5
-repeat = 3
-config = 5
+  prog = mythtv
+  button = D
+  repeat = 3
+  config = Y
 end
 
-begin
-prog = mythtv
-button = 6
-repeat = 3
-config = 6
-end
+  ### Jump Points need to match config in mythweb keybindings
 
+  # Myth Music
 begin
-prog = mythtv
-button = 7
-repeat = 3
-config = 7
+  prog = mythtv
+  button = Music
+  repeat = 3
+  config = F4
 end
 
+  # Live TV
 begin
-prog = mythtv
-button = 8
-repeat = 3
-config = 8
+  prog = mythtv
+  button = TV
+  repeat = 3
+  config = F5
 end
 
+  # Myth Video Gallery
 begin
-prog = mythtv
-button = 9
-repeat = 3
-config = 9
+  prog = mythtv
+  button = VIDEO
+  repeat = 3
+  config = F2
 end
 
-
-### MPlayer lirc setup
-
-# Show OSD
-begin
-prog = mplayer
-button = MENU
-repeat = 3
-config = osd
-end
-
-# Pause playback
+  # Myth Image Gallery
 begin
-prog = mplayer
-button = PAUSE
-repeat = 3
-config = pause
+  prog = mythtv
+  button = PHOTOS
+  repeat = 3
+  config = F
 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
+  prog = irexec
+  button = HELP
+  config = env DISPLAY=:0 xdotool key alt+h
+  flags = 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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch5/xbmc.xml b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch5/xbmc.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch5/xbmc.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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt
index e918011..064e72d 100644
--- a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch6/lircrc-snapstrm.txt
@@ -5,586 +5,345 @@
 #
 # 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
 
-
-# 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
+  # Remote Numbers 0-9
 
 begin
-prog = mythtv
-button = TV
-repeat = 3
-config = F5
+  prog = mythtv
+  button = 0
+  repeat = 3
+  config = 0
 end
 
 begin
-prog = mythtv
-button = Videos
-repeat = 3
-config = F2
+  prog = mythtv
+  button = 1
+  repeat = 3
+  config = 1
 end
 
-# Not yet defined
 begin
-prog = mythtv
-button = Music
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 2
+  repeat = 3
+  config = 2
 end
 
-# Given another function for now, I don't use mythgallery
 begin
-prog = mythtv
-button = Pictures
-repeat = 3
-config = F
+  prog = mythtv
+  button = 3
+  repeat = 3
+  config = 3
 end
 
 begin
-prog = mythtv
-button = Guide
-repeat = 3
-config = F3
+  prog = mythtv
+  button = 4
+  repeat = 3
+  config = 4
 end
 
-# I stuck the "todo" list on here as Myth has no radio function
 begin
-prog = mythtv
-button = Radio
-repeat = 3
-config = F4
+  prog = mythtv
+  button = 5
+  repeat = 3
+  config = 5
 end
 
 begin
-prog = mythtv
-button = UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = 6
+  repeat = 3
+  config = 6
 end
 
 begin
-prog = mythtv
-button = DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = 7
+  repeat = 3
+  config = 7
 end
 
 begin
-prog = mythtv
-button = LEFT
-repeat = 3
-config = Left
+  prog = mythtv
+  button = 8
+  repeat = 3
+  config = 8
 end
 
 begin
-prog = mythtv
-button = RIGHT
-repeat = 3
-config = Right
+  prog = mythtv
+  button = 9
+  repeat = 3
+  config = 9
 end
 
-# Channel Up
+  # Escape/Back/Exit
 begin
-prog = mythtv
-button = Channel-UP
-repeat = 3
-config = Up
+  prog = mythtv
+  button = BACK
+  config = Esc
 end
 
-# Channel Down
+  # OK/Select
 begin
-prog = mythtv
-button = Channel-DOWN
-repeat = 3
-config = Down
+  prog = mythtv
+  button = ENT
+  config = pace
 end
 
-# OK/Select
+  # Volumn Up
 begin
-prog = mythtv
-button = Ok
-config = Space
+  prog = mythtv
+  button = VOL+
+  repeat = 3
+  config = F11
 end
 
-# Play
+  # Volumn Down
 begin
-prog = mythtv
-button = Play
-config = Return
+  prog = mythtv
+  button = VOL-
+  repeat = 3
+  config = F10
 end
 
-# Stop
+  # Mute
 begin
-prog = mythtv
-button = Stop
-config = I
+  prog = mythtv
+  button = MUTE
+  repeat = 3
+  config = |
 end
 
-# Escape/Exit/Back
+  # Firefly
 begin
-prog = mythtv
-button = BACK
-config = Esc
+  prog = mythtv
+  button = FIREFLY
+  repeat = 3
+  config = F8
 end
 
-# Power Off/Exit
+  # Channel Up
 begin
-prog = mythtv
-button = POWER
-config = Esc
+  prog = mythtv
+  button = CH+
+  repeat = 3
+  config = Up
 end
 
-
-# Pause
+  # Channel Down
 begin
-prog = mythtv
-button = Pause
-repeat = 3
-config = P
+  prog = mythtv
+  button = CH-
+  repeat = 3
+  config = Down
 end
 
-# Mute
+  # Info
 begin
-prog = mythtv
-button = Mute
-repeat = 3
-config = |
+  prog = mythtv
+  button = INFO
+  repeat = 3
+  config = I
 end
 
-# Fast forward (30 sec default)
+  # change tuners
 begin
-prog = mythtv
-button = Rewind
-repeat = 3
-config = PgUp
+  prog = mythtv
+  button = OPTION
+  repeat = 3
+  config = Y
 end
 
-# Rewind (10 sec default)
+  # Up
 begin
-prog = mythtv
-button = Forward
-repeat = 3
-config = PgDown
+  prog = mythtv
+  button = UP
+  repeat = 3
+  config = Up
 end
 
-# Skip forward (10 min default)
+  # Left
 begin
-prog = mythtv
-button = Next
-repeat = 3
-config = End
+  prog = mythtv
+  button = LEFT
+  repeat = 3
+  config = Left
 end
 
-# Skip backward (10 min default)
+  # Down
 begin
-prog = mythtv
-button = Previous
-repeat = 3
-config = Home
+  prog = mythtv
+  button = DOWN
+  repeat = 3
+  config = Down
 end
 
-# Record
+  # Right
 begin
-prog = mythtv
-button = Record
-repeat = 3
-config = R
+  prog = mythtv
+  button = RIGHT
+  repeat = 3
+  config = Right
 end
 
-# Delete
+  # Ok/Select
 begin
-prog = mythtv
-button = Red
-repeat = 3
-config = D
+  prog = mythtv
+  button = OK
+  config = space
 end
 
-# Decrease play speed
+  # Menu
 begin
-prog = mythtv
-button = Green
-repeat = 3
-config = J
+  prog = mythtv
+  button = MENU
+  repeat = 3
+  config = M
 end
 
-# Display EPG while in live TV,
-# View selected show while in EPG
+  # Escape/Exit/Back
 begin
-prog = mythtv
-button = Menu
-repeat = 3
-config = M
+  prog = mythtv
+  button = EXIT
+  config = Esc
 end
 
-# Scroll up
+  # Record
 begin
-prog = mythtv
-button = Volume-UP
-repeat = 3
-config = F11
+  prog = mythtv
+  button = REC
+  repeat = 3
+  config = R
 end
 
-# Scroll down
+  # Play
 begin
-prog = mythtv
-button = Volume-DOWN
-repeat = 3
-config = F10
+  prog = mythtv
+  button = PLAY
+  config = Return
 end
 
-# Bring up OSD info
+  # Stop
 begin
-prog = mythtv
-button = Go
-repeat = 3
-config = I
+  prog = mythtv
+  button = STOP
+  config = Esc
 end
 
-# Change display aspect ratio
+  # Rewind
 begin
-prog = mythtv
-button = Prev-Channel
-repeat = 3
-config = W
+  prog = mythtv
+  button = FWD
+  repeat = 3
+  config = PgDown
 end
 
-# double speed watch
+  # Fast Forward
 begin
-prog = mythtv
-button = Yellow
-repeat = 3
-config = J
+  prog = mythtv
+  button = REW
+  repeat = 3
+  config = PgUp
 end
 
-# change tuners
-#begin
-#prog = mythtv
-#button = hash
-#repeat = 3
-#config = Y
-#end
-
-# Bring up Time stretch
+  # Skip Backward
 begin
-prog = mythtv
-button = Blue
-repeat = 3
-config = Y
+  prog = mythtv
+  button = PREV
+  repeat = 3
+  config = home
 end
 
-# Numbers 0-9
-
+  # Skip Forward
 begin
-prog = mythtv
-button = 0
-repeat = 3
-config = 0
+  prog = mythtv
+  button = NEXT
+  repeat = 3
+  config = End
 end
 
+  # Pause
 begin
-prog = mythtv
-button = 1
-repeat = 3
-config = 1
+  prog = mythtv
+  button = Pause
+  repeat = 3
+  config = P
 end
 
+  # Delete
 begin
-prog = mythtv
-button = 2
-repeat = 3
-config = 2
+  prog = mythtv
+  button = A
+  repeat = 3
+  config = D
 end
 
+  # Decrease Playback Speed
 begin
-prog = mythtv
-button = 3
-repeat = 3
-config = 3
+  prog = mythtv
+  button = B
+  repeat = 3
+  config = J
 end
 
+  # Double Playback Speed
 begin
-prog = mythtv
-button = 4
-repeat = 3
-config = 4
+  prog = mythtv
+  button = C
+  repeat = 3
+  config = J
 end
 
+  # Time Stretch
 begin
-prog = mythtv
-button = 5
-repeat = 3
-config = 5
+  prog = mythtv
+  button = D
+  repeat = 3
+  config = Y
 end
 
-begin
-prog = mythtv
-button = 6
-repeat = 3
-config = 6
-end
+  ### Jump Points need to match config in mythweb keybindings
 
+  # Myth Music
 begin
-prog = mythtv
-button = 7
-repeat = 3
-config = 7
+  prog = mythtv
+  button = Music
+  repeat = 3
+  config = F4
 end
 
+  # Live TV
 begin
-prog = mythtv
-button = 8
-repeat = 3
-config = 8
+  prog = mythtv
+  button = TV
+  repeat = 3
+  config = F5
 end
 
+  # Myth Video Gallery
 begin
-prog = mythtv
-button = 9
-repeat = 3
-config = 9
+  prog = mythtv
+  button = VIDEO
+  repeat = 3
+  config = F2
 end
 
-
-### MPlayer lirc setup
-
-# Show OSD
-begin
-prog = mplayer
-button = MENU
-repeat = 3
-config = osd
-end
-
-# Pause playback
+  # Myth Image Gallery
 begin
-prog = mplayer
-button = PAUSE
-repeat = 3
-config = pause
+  prog = mythtv
+  button = PHOTOS
+  repeat = 3
+  config = F
 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
+  prog = irexec
+  button = HELP
+  config = env DISPLAY=:0 xdotool key alt+h
+  flags = 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/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch6/xbmc.xml b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch6/xbmc.xml
new file mode 100644
index 0000000..64dc7df
--- /dev/null
+++ b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch6/xbmc.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>
-- 
cgit v0.12


From c9041c8753b14ad9616c8dc3deb0e0426d94fd5f Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 4 Jun 2013 14:51:22 -0500
Subject: LinHES-config:  mv_ir.py  add support for custom xbmc lirc mapping.  
 If a remote definition has a xbmc.xml file it will be symlinked for xbmc
 usage.

refs #910
---
 abs/core/LinHES-config/PKGBUILD |  4 ++--
 abs/core/LinHES-config/mv_ir.py | 42 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index 131efd9..9f1584c 100755
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-config
 pkgver=8.0
-pkgrel=4
+pkgrel=5
 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
 pkgdesc="Install and configure your system"
 depends=('bc' 'libstatgrab'  'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -159,7 +159,7 @@ md5sums=('c832059cd635359d39a2ac3166ff463c'
          'c0549457750c4f8e8038d904a0f3012a'
          '3d1e3c7315881a109fb089a540d2262c'
          'b845de3e05c1734cce4b9ac5e8f1baaf'
-         'f9b38f3d8e6d25b7c67b4c33cdee58db'
+         '31ad5416bf2ab1909338a16035941127'
          '8b7dce4a3a0a281fa6656aa8781a648e'
          'f7f2dc11d1ba454cd25eeaa133104b62'
          '824e49d9b01fed295c704ab68908b464'
diff --git a/abs/core/LinHES-config/mv_ir.py b/abs/core/LinHES-config/mv_ir.py
index d77f64f..f481fa4 100755
--- a/abs/core/LinHES-config/mv_ir.py
+++ b/abs/core/LinHES-config/mv_ir.py
@@ -136,6 +136,48 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket):
             cmd = "cp %s /etc/remote.run" %filename
             mv_common.runcmd(cmd)
 
+        #if remote has a special xbmc file, use it.
+        xbmcfile= remote_path + "/xbmc.xml"
+        userxmbcfile = mythhome+"/.xbmc/userdata/Lircmap.xml"
+        
+        if os.path.exists(xbmcfile):
+            logging.debug("     XBMC lirc file present")
+            logging.info("    Setting up lirc for xbmc")
+            if not os.path.exists(mythhome+"/.xbmc/userdata"):
+                logging.debug("    Creating %s/.xbmc",mythhome)
+                try:
+                    os.mkdir(mythhome+"/.xbmc")
+                except:
+                    logging.debug("   Couldn't create .xbmc/ ")
+                try:
+                    os.mkdir(mythhome+"/.xbmc/userdata/")
+                except:
+                    logging.debug("   Couldn't create .xbmc/userdata ")
+                    
+                try:
+                    cmd = ''' chown -R mythtv %s/.xbmc''' %mythhome
+                    mv_common.runcmd(cmd)
+                    cmd = ''' chgrp -R mythtv %s/.xbmc/userdata''' %mythhome
+                    mv_common.runcmd(cmd)
+                except:
+                    logging.debug("   Couldn't change permissions for .xbmc")
+                    pass    
+            try:
+                    cmd = ''' rm -f %s''' %(userxmbcfile)
+                    mv_common.runcmd(cmd)
+                    logging.debug("    Creating symlink for xmbc lircrc")
+                    os.symlink(xbmcfile, mythhome+"/.xbmc/userdata/Lircmap.xml")
+            except:
+                pass
+        else:
+            logging.debug("    XBMC lirc file %s not present" %xbmcfile)
+        
+            
+        
+        
+        
+        
+
         #remote has it's own modprobe.d/conf filename
         cmd = "rm  -f /etc/modprobe.d/mv_ir.conf"
         mv_common.runcmd(cmd)
-- 
cgit v0.12

