aboutsummaryrefslogtreecommitdiffstats
path: root/meta/packages/chkhinge26
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/chkhinge26')
-rwxr-xr-xmeta/packages/chkhinge26/chkhinge26_svn.bb20
-rwxr-xr-xmeta/packages/chkhinge26/files/hinge-handler47
2 files changed, 67 insertions, 0 deletions
diff --git a/meta/packages/chkhinge26/chkhinge26_svn.bb b/meta/packages/chkhinge26/chkhinge26_svn.bb
new file mode 100755
index 0000000000..5313401b50
--- /dev/null
+++ b/meta/packages/chkhinge26/chkhinge26_svn.bb
@@ -0,0 +1,20 @@
+LICENSE = "LGPL"
+SECTION = "x11"
+MAINTAINER = "Matthew Allum <mallum@openedhand.com>"
+DESCRIPTION = "Chkhinge26 fires off cmds on cXXXX Zs."
+PR = "r2"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=chkhinge26;proto=http \
+ file://hinge-handler"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ install -m 0755 ${WORKDIR}/hinge-handler ${D}/${bindir}/
+}
+
+FILES_${PN} += "${bindir}/hinge-handler"
+
+
diff --git a/meta/packages/chkhinge26/files/hinge-handler b/meta/packages/chkhinge26/files/hinge-handler
new file mode 100755
index 0000000000..5d5f62e305
--- /dev/null
+++ b/meta/packages/chkhinge26/files/hinge-handler
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# Quick handler for chkhinge26 and X.
+#
+
+killproc() { # kill the named process(es)
+ pid=`/bin/ps -e x |
+ /bin/grep $1 |
+ /bin/grep -v grep |
+ /bin/sed -e 's/^ *//' -e 's/ .*//'`
+ [ "$pid" != "" ] && kill $pid
+}
+
+export DISPLAY=:0
+
+if [ -z "$1" ]; then
+ echo "Usage: hinge-handler <state> ( 3 = closed, 0 = landscape, 2 = portrait )"
+ exit 1
+fi
+
+STATE=$1
+
+if [ $STATE = "3" ]; then
+ echo "sleeping"
+ apm -s
+ exit 0
+fi
+
+if [ $STATE = "0" ]; then
+ echo "lanscape"
+ killproc /usr/bin/mbinputmgr
+# urg mbinputmgr should kill below
+ killproc /usr/bin/matchbox-keyboard
+ killproc /usr/bin/matchbox-stroke
+ xrandr -o normal
+ exit 0
+fi
+
+if [ $STATE = "2" ]; then
+ echo "portrait"
+ xrandr -o left
+# just to be extra safe
+ sleep 1
+ /usr/bin/mbinputmgr &
+ exit 0
+fi
+