0
0
mirror of https://github.com/libretro/Lakka-LibreELEC.git synced 2025-01-31 18:52:32 +00:00

66 lines
1.7 KiB
Bash

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon service.touchscreen
if [ -d /usr/share/kodi/addons/service.touchscreen ]; then
# addon included in image
ADDON_DIR="/usr/share/kodi/addons/service.touchscreen"
fi
. $ADDON_DIR/bin/ts_env.sh
echo "touchscreen device: $TSLIB_TSDEVICE"
if [ "$1" = "service" ]; then
# recalibrate from service if required
SETTINGS_XML="$ADDON_HOME/settings.xml"
if [ -f "$SETTINGS_XML" ]; then
mkdir -p /var/config
# check settings version
XML_SETTINGS_VER="$(xmlstarlet sel -t -m settings -v @version $SETTINGS_XML)"
if [ "$XML_SETTINGS_VER" = "2" ]; then
xmlstarlet sel -t -m settings/setting -v @id -o "=\"" -v . -o "\"" -n "$SETTINGS_XML" > /var/config/ts_calibration_addon.conf
else
xmlstarlet sel -t -m settings -m setting -v @id -o "=\"" -v @value -o "\"" -n "$SETTINGS_XML" > /var/config/ts_calibration_addon.conf
fi
. /var/config/ts_calibration_addon.conf
if [ "$TS_RECALIBRATE" = "true" ]; then
sed -i 's|id="TS_RECALIBRATE"[ ]*value="true"|id="TS_RECALIBRATE" value="false"|g' "$SETTINGS_XML"
touch $ADDON_HOME/recalibrate
fi
fi
if [ -f $ADDON_HOME/recalibrate ]; then
echo "recalibrating..."
rm -f $ADDON_HOME/recalibrate
ts_calibrate
fi
else
echo "Stopping Kodi and touchscreen daemon..."
systemctl stop kodi
systemctl stop ts_uinput_touch
while pidof kodi.bin &>/dev/null; do
sleep 0.5
done
killall ts_uinput_touch &>/dev/null
ts_calibrate
# restart both if argument was set
if [ "$1" = "run" ]; then
echo "Starting touchscreen daemon and Kodi..."
systemctl start ts_uinput_touch
systemctl start kodi
fi
fi