Version 0.3

This commit is contained in:
2025-01-15 12:31:05 +01:00
commit 0aae236488
6 changed files with 77 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
#!/sbin/sh
#################
# Initialization
#################
umask 022
# echo before loading util_functions
ui_print() { echo "$1"; }
require_new_magisk() {
ui_print "*******************************"
ui_print " Please install Magisk v20.4+! "
ui_print "*******************************"
exit 1
}
#########################
# Load util_functions.sh
#########################
OUTFD=$2
ZIPFILE=$3
mount /data 2>/dev/null
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
. /data/adb/magisk/util_functions.sh
[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk
install_module
exit 0
@@ -0,0 +1 @@
#MAGISK
+13
View File
@@ -0,0 +1,13 @@
# Samsung XCover 5 GSI Fixes
This module does the following:
- Works around touchscreen bug, where the touchscreen disables after
the screen is locked. This is done using a service script which
periodically checks if the screen is on and checks touchscreen
connection. Workaround originally conceived by febeslmeisl
[here](https://github.com/phhusson/treble_experimentations/issues/2205#issuecomment-1079981168).
## Usage
1. Clone this repo and run `pack_module.sh`
2. Install the ZIP via Magisk.
3. Reboot and enjoy.
+6
View File
@@ -0,0 +1,6 @@
id=XC5_GSI_Fixes
name=Samsung XCover 5 GSI Fixes
version=0.3
versionCode=3
author=Emil Kosz
description=Fixes touchscreen bug in XCover 5 and likely other Samsung phones with GSIs
Executable
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
MODULE_NAME="XC5_GSI_fixes"
EXCLUDE="LICENSE README.md pack_module.sh"
rm -f "${MODULE_NAME}.zip"
zip -9 --recurse-paths "${MODULE_NAME}.zip" --exclude $EXCLUDE -- * >/dev/null
Executable
+18
View File
@@ -0,0 +1,18 @@
#!/system/bin/sh
FREQ=500 # How often to update, in ms.
TS_CHECKED=false
while true; do
SCREEN_ON="$(/system/bin/dumpsys deviceidle | /system/bin/grep mScreenOn | /system/bin/cut -d '=' -f2)"
if [ "${SCREEN_ON}" = true ] && [ "${TS_CHECKED}" = false ]; then
/system/bin/log -t Magisk -p i "[XC5_GSI_Fixes] Checking touchscreen connection."
/system/bin/echo check_connection > /sys/class/sec/tsp/cmd
RESULT="$(/system/bin/cat /sys/class/sec/tsp/cmd_result | /system/bin/cut -d ':' -f2)"
/system/bin/log -t Magisk -p i "[XC5_GSI_Fixes] Result: ${RESULT}"
TS_CHECKED=true
fi
[ "${SCREEN_ON}" = false ] && TS_CHECKED=false
usleep "${FREQ}"
done