diff options
Diffstat (limited to 'meta/packages/chkhinge26')
-rwxr-xr-x | meta/packages/chkhinge26/chkhinge26_svn.bb | 20 | ||||
-rwxr-xr-x | meta/packages/chkhinge26/files/hinge-handler | 47 |
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 000000000..5313401b5 --- /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 000000000..5d5f62e30 --- /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 + |