summaryrefslogtreecommitdiffstats
path: root/abs/extra-testing/community/mythpywii
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra-testing/community/mythpywii')
-rw-r--r--abs/extra-testing/community/mythpywii/CONTROLS25
-rw-r--r--abs/extra-testing/community/mythpywii/PKGBUILD22
-rw-r--r--abs/extra-testing/community/mythpywii/mythpywii.install59
-rw-r--r--abs/extra-testing/community/mythpywii/wiimote.rules6
4 files changed, 106 insertions, 6 deletions
diff --git a/abs/extra-testing/community/mythpywii/CONTROLS b/abs/extra-testing/community/mythpywii/CONTROLS
new file mode 100644
index 0000000..d733964
--- /dev/null
+++ b/abs/extra-testing/community/mythpywii/CONTROLS
@@ -0,0 +1,25 @@
+ * Keypad : same as keypad on keyboard
+ * A : Enter (Accept, OK, next, .)
+ * Minus (-) : d (Delete)
+ * Home : escape (Exit to previous menu/exit mythfrontend)
+ * Plus (+) : p (Play/pause)
+ * 1 : Info
+ * 2 : Menu
+ * B + left : rewind to beginning of video
+ * B + twist wiimote : rewind (if twisted to the left) or fastforward
+ (otherwise) with speed dependant on twist amount.
+ * B + A + twist wiimote: timestretching . slower (if twisted left) or
+ faster (if twisted right)
+
+A comment on twisting:
+Point the wii remote at the screen, and twist from the elbow so that it
+ continues to point at the screen.
+
+The maximum fastforward/rewind speed is 180x. The speeds are dictated by
+mythfrontend itself. When you rotate the wiimote, you will feel a slight
+vibration (0.05 seconds) to let you know you have gone up or down a speed
+segment. To stop fastforwarding/rewinding, simply let go of B.
+
+Beware: there is no power saving built in. However you should be able to
+turn the wiimote off (power button) when not in use, and turn it back on
+by holding down 1 and 2 to make it sync.
diff --git a/abs/extra-testing/community/mythpywii/PKGBUILD b/abs/extra-testing/community/mythpywii/PKGBUILD
index 4b57c77..38e456f 100644
--- a/abs/extra-testing/community/mythpywii/PKGBUILD
+++ b/abs/extra-testing/community/mythpywii/PKGBUILD
@@ -2,17 +2,27 @@
# Maintainer: Cecil Watson<knoppmyth@gmail.com>
pkgname=mythpywii
-pkgver=1
-pkgrel=1
+pkgver=17
+pkgrel=8
pkgdesc="Control MythTV using Wiimote."
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.benjiegillam.com/"
depends=('bluez' 'python-pybluez' 'cwiid-svn')
-#install=mythpywii.install
-source=(http://www.benjiegillam.com/code/myth_py_wii.py)
+install=mythpywii.install
+source=(http://www.benjiegillam.com/code/myth_py_wii.py \
+ wiimote.rules mythpywii.install CONTROLS)
build() {
- mkdir -p $startdir/pkg/usr/bin
- install -D -m 755 myth_py_wii.py $startdir/pkg/usr/bin
+ install -D -m755 ${srcdir}/myth_py_wii.py ${startdir}/pkg/usr/bin/myth_py_wii.py || return 1
+ install -D -m644 ${srcdir}/wiimote.rules ${startdir}/pkg/etc/udev/rules.d/z90-wiimote.rules || return 1
+ install -d -o mythtv -g mythtv ${startdir}/pkg/home/mythtv/.cwiid/wminput || return 1
+ install -D -m755 -o mythtv -g mythtv /etc/cwiid/wminput/{acc_led,buttons,gamepad,neverball,nunchuk_stick2btn,acc_ptr,ir_ptr,nunchuk_acc_ptr} ${startdir}/pkg/home/mythtv/.cwiid/wminput || return 1
+ install -D -m644 ${srcdir}/CONTROLS ${startdir}/pkg/usr/share/docs/mythpywii/CONTROLS || return 1
+ cd ${startdir}/pkg/home/mythtv/.cwiid/wminput
+ ln -s acc_led default
}
+md5sums=('5bd5e1bb9c4cbfabbffdb28ff616e83b'
+ '0d817a971d414b9320587a4cf289386b'
+ '64fa8dbd324dac68f71753ebd828d358'
+ '0872cbdb3def3dd9aa2b97b191ad76d8')
diff --git a/abs/extra-testing/community/mythpywii/mythpywii.install b/abs/extra-testing/community/mythpywii/mythpywii.install
new file mode 100644
index 0000000..8d0b867
--- /dev/null
+++ b/abs/extra-testing/community/mythpywii/mythpywii.install
@@ -0,0 +1,59 @@
+post_install() {
+ . /home/mythtv/.mythtv/mysql.txt
+ # Enable the Network Remote Control Interface for use with the wiimote.
+ # Get local machine's hostname
+ HOST=`cat /etc/hostname`
+ # Update mysql for Network Remote Control Support
+ mysql -u mythtv -pmythtv --host=${DBHostName} mythconverg -e \
+ "UPDATE settings SET data = '1' WHERE value = 'NetworkControlEnabled' AND hostname = '${HOST}'";
+ echo "------------------------------------------------------------"
+ echo "myth_py_wii.py expects the Network Control Port to be set to"
+ echo "mythtv's default port of 6546. It will not work if you have"
+ echo "changed it to something else."
+ echo "------------------------------------------------------------"
+ # Add myth_py_wii.py to ~/mythtv/.fluxbox/apps before LinHES-run
+ sed -i '/LinHES-run/ i [startup] {/usr/bin/myth_py_wii.py >/dev/null}' /home/mythtv/.fluxbox/apps
+ # udev needs to pick up our new rule for the mythpywii.
+ udevadm trigger --subsystem-match="misc" --subsystem-match="bluetooth"
+ # Add the uinput module
+ modprobe uinput
+ # Ensure this module is loaded across reboots
+ echo "# uinput is needed by mythpywii" >> /etc/modules.mythvantage
+ echo "uinput" >> /etc/modules.mythvantage
+ # Bring up the bluetooth interface -- udev will do this after reboot
+ /usr/sbin/hciconfig hci0 up
+ # Punting on the multiple bluetooth adapter question.
+ echo "It is assumed your bluetooth adapter will be hci0."
+ echo "If you have more than one bluetooth adapter, you"
+ echo "may need to edit /etc/udev/rules.d/z90-wiimote.rules"
+ echo "--------------------------------------------------------------"
+ echo "--------------------------------------------------------------"
+ # Unfortunately there does not seem to be a way to do this without
+ # the user manually intervening.
+ echo "To use your wiimote you will need to restart the frontend service."
+ echo "$ sudo sv restart frontend"
+ echo "or simply reboot your machine."
+ echo "--------------------------------------------------------------"
+ echo "--------------------------------------------------------------"
+ echo "After frontend restart, you should now be able to pair your"
+ echo "Wiimote with your bluetooth adapter by pressing 1 & 2 at the"
+ echo "same time. After a few seconds the wiimote should vibrate and the"
+ echo "LEDs will show [ # . . # ] where # is on and . is off."
+ echo "--------------------------------------------------------------"
+ echo "See /usr/share/docs/mythpywii/CONTROLS for more information."
+ echo "--------------------------------------------------------------"
+}
+
+post_remove() {
+ . /home/mythtv/.mythtv/mysql.txt
+ # kill myth_py_wii.py
+ WIIPID=`pidof -o %PPID /usr/bin/myth_py_wii.py`
+ [ -n "$WIIPID" ] && kill $WIIPID
+ # Remove uinput
+ sed -i '/uinput/d' /etc/modules.mythvantage
+ # Remove line in .fluxbox/apps
+ sed -i '/myth_py_wii.py/d' /home/mythtv/.fluxbox/apps
+ # Remove network remote control support
+ mysql -u mythtv -pmythtv --host=${DBHostName} mythconverg -e \
+ "UPDATE settings SET data = '0' WHERE value = 'NetworkControlEnabled' AND hostname = '${HOST}'";
+}
diff --git a/abs/extra-testing/community/mythpywii/wiimote.rules b/abs/extra-testing/community/mythpywii/wiimote.rules
new file mode 100644
index 0000000..4bb2d9d
--- /dev/null
+++ b/abs/extra-testing/community/mythpywii/wiimote.rules
@@ -0,0 +1,6 @@
+# For Bluetooth/Wiimote
+ KERNEL=="uinput", MODE="0660", GROUP="mythtv"
+
+# Automaticly bring up/down the bluetooth interface
+ ACTION=="add", KERNEL=="hci%n", SUBSYSTEM=="bluetooth", RUN+="/usr/sbin/hciconfig hci%n up"
+ ACTION=="remove", KERNEL=="hci%n", SUBSYSTEM=="bluetooth", RUN+="/usr/sbin/hciconfig hci%n down"