mirror of
https://github.com/libretro/Lakka-LibreELEC.git
synced 2025-01-31 18:52:32 +00:00
66 lines
1.7 KiB
Bash
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
|