Added autorotate using accelerometer script

master
Anjandev Momi 4 years ago committed by Miles Alan
parent 565eae8835
commit b86b152e6e
  1. 3
      scripts/core/sxmo_appmenu.sh
  2. 36
      scripts/core/sxmo_autorotate.sh
  3. 11
      scripts/core/sxmo_rotate.sh

@ -66,7 +66,8 @@ programchoicesinit() {
Bar Toggle ^ 1 ^ key Alt+b
Invert Colors ^ 1 ^ xcalib -a -invert
Change Timezone ^ 1 ^ sxmo_timezonechange.sh
Rotate ^ 1 ^ sxmo_rotate.sh
Toggle Autorotate ^ 0 ^ sxmo_autorotate.sh
Rotate ^ 1 ^ sxmo_rotate.sh rotate
Upgrade Pkgs ^ 0 ^ st -e sxmo_upgrade.sh
"
WINNAME=Config

@ -0,0 +1,36 @@
#!/usr/bin/env sh
RUNNING_AUTO="$(ps aux | grep "sh /usr/bin/sxmo_autorotate.sh" | grep -v grep | cut -f1 -d' ' | grep -v "$$")"
[ "$(echo "$RUNNING_AUTO" | wc -l)" -ge "2" ] && echo "$RUNNING_AUTO" | tr '\n' ' ' | xargs kill -9
[ "$(echo "$RUNNING_AUTO" | wc -l)" -ge "2" ] && notify-send "Turning autorotate off" && exit 1
notify-send "Turning autorotate on"
GRAVITY="16374"
THRESHOLD="400"
POLL_TIME=1
RIGHT_SIDE_UP="$(echo "$GRAVITY - $THRESHOLD" | bc)"
UPSIDE_DOWN="$(echo "-$GRAVITY + $THRESHOLD" | bc)"
y_file="$(find /sys/bus/iio/devices/iio\:device*/ -iname in_accel_y_raw)"
x_file="$(find /sys/bus/iio/devices/iio\:device*/ -iname in_accel_x_raw)"
while :
do
y_raw="$(cat "$y_file")"
x_raw="$(cat "$x_file")"
if [ "$x_raw" -ge "$RIGHT_SIDE_UP" ]
then
sxmo_rotate.sh rotnormal
elif [ "$y_raw" -le "$UPSIDE_DOWN" ]
then
sxmo_rotate.sh rotright
elif [ "$y_raw" -ge "$RIGHT_SIDE_UP" ]
then
sxmo_rotate.sh rotleft
fi
sleep "$POLL_TIME"
done

@ -28,8 +28,17 @@ rotright() {
exit 0
}
rotleft() {
xrandr -o left
applyptrmatrix 0 -1 1 1 0 0 0 0 1
pkill lisgd
sxmo_lisgdstart.sh -o -1 &
exit 0
}
rotate() {
if isrotated; then rotnormal; else rotright; fi
}
rotate
"$1"

Loading…
Cancel
Save