123 lines
3.0 KiB
Markdown
123 lines
3.0 KiB
Markdown
# Android
|
|
|
|
This article describes how to use KlipperScreen from an android device
|
|
|
|
!!! important
|
|
The experience may not be equal to run KlipperScreen natively,
|
|
depending on the device there maybe performance degradation or other issues
|
|
|
|
1. [First installl KlipperScreen on the Pi](Installation.md)
|
|
2. Install [XServer-XSDL](https://play.google.com/store/apps/details?id=x.org.server) on the android device
|
|
3. Choose [USB(ADB)](#adb) or [WIFI](#wifi)
|
|
|
|
### ADB
|
|
|
|
!!! warning
|
|
Leaving the phone always connected it's not recommended, remove the battery to avoid issues.
|
|
|
|
* Install ADB on the Pi
|
|
```bash
|
|
sudo apt-get install android-tools-adb
|
|
```
|
|
* Put your Android phone/tablet in Debug mode.
|
|
|
|
Usually it involves enabling developer mode and "USB debugging" but this varies on different vendors and versions of the device
|
|
search "how to enable android debugging on device-model-and-brand"
|
|
|
|
* Create a launcher script
|
|
|
|
```bash
|
|
cd ~/KlipperScreen
|
|
touch launch_klipperscreen.sh
|
|
chmod +x launch_klipperscreen.sh
|
|
nano launch_klipperscreen.sh
|
|
```
|
|
|
|
* Paste this into the script
|
|
```bash
|
|
#!/bin/bash
|
|
# forward local display :100 to remote display :0
|
|
adb forward tcp:6100 tcp:6000
|
|
|
|
adb shell dumpsys nfc | grep 'mScreenState=' | grep OFF_LOCKED > /dev/null 2>&1
|
|
if [ $? -lt 1 ]
|
|
then
|
|
echo "Screen is OFF and Locked. Turning screen on..."
|
|
adb shell input keyevent 26
|
|
fi
|
|
|
|
adb shell dumpsys nfc | grep 'mScreenState=' | grep ON_LOCKED> /dev/null 2>&1
|
|
if [ $? -lt 1 ]
|
|
then
|
|
echo "Screen is Locked. Unlocking..."
|
|
adb shell input keyevent 82
|
|
fi
|
|
|
|
# start xsdl
|
|
adb shell am start-activity x.org.server/.MainActivity
|
|
|
|
ret=1
|
|
timeout=0
|
|
echo -n "Waiting for x-server to be ready "
|
|
while [ $ret -gt 0 ] && [ $timeout -lt 60 ]
|
|
do
|
|
xset -display :100 -q > /dev/null 2>&1
|
|
ret=$?
|
|
timeout=$( expr $timeout + 1 )
|
|
echo -n "."
|
|
sleep 1
|
|
done
|
|
echo ""
|
|
if [ $timeout -lt 60 ]
|
|
then
|
|
DISPLAY=:100 /home/pi/.KlipperScreen-env/bin/python3 /home/pi/KlipperScreen/screen.py
|
|
exit 0
|
|
else
|
|
exit 1
|
|
fi
|
|
```
|
|
* Go to [Startup](#startup)
|
|
|
|
### WIFI
|
|
|
|
* Create a launcher script
|
|
|
|
```bash
|
|
cd ~/KlipperScreen
|
|
touch launch_klipperscreen.sh
|
|
chmod +x launch_klipperscreen.sh
|
|
nano launch_klipperscreen.sh
|
|
```
|
|
|
|
* Paste this into the script (edit the IP for example: 192.168.1.2:0)
|
|
```bash
|
|
DISPLAY=(ip address from blue screen):0 /home/pi/.KlipperScreen-env/bin/python3 /home/pi/KlipperScreen/screen.py
|
|
```
|
|
|
|
!!! important
|
|
It's recommended to use a static address, because if the address changes your connection will stop working.
|
|
|
|
* Go to [Startup](#startup)
|
|
|
|
## Startup
|
|
|
|
Start Xserver-XSDL On the android device
|
|
|
|
On the splash-screen of the app go to:
|
|
```
|
|
“CHANGE DEVICE CONFIGURATION”
|
|
└──Mouse Emulation Modde
|
|
└──Desktop, No Emulation
|
|
```
|
|
if you missed it, restart the app.
|
|
|
|
on the Pi
|
|
```bash
|
|
sudo service KlipperScreen stop
|
|
sudo service KlipperScreen start
|
|
```
|
|
|
|
## Discourse
|
|
|
|
[it has old instructions but you may get some help if needed](https://klipper.discourse.group/t/how-to-klipperscreen-on-android-smart-phones/1196)
|