Having turned out to be the owner of such an average tablet with a non-working sensor (the eldest son tried), he thought for a long time where to adapt it. Googled, Googled and Googled
You will need:
Linux with installed:
- x11vnc (I frankly dislike all sorts of tigervnc and others)
- adb from android-tools
Tablet/smart with debug mode enabled and set to:
- AndroidNVC (I have it, because there is no advertising)
- Some kind of screen blanking blocker (I didn’t find it without ads)
- Any autoloader (run VNC and a blocker) is optional (more on that below).
yes, let's start.
1. Get the Modeline for xorg.conf
$ cvt 1024 768 25 # Можно и gtf, но он не всегда дает корректный modeline.
2. Editing
xorg.conf
Section "ServerLayout"
Identifier "Xorg Configured"
Screen 0 "Monitor" 0 0
Screen 2 "Screen2" rightof "Screen0" # "Пустышка для VNC"
Option "Xinerama" "1"
EndSection
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# здесь все настройки оборудования, коли таковые есть
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#Dummy видеокарта
Section "Device"
Identifier "Device2"
Driver "dummy"
VideoRam 8000
EndSection
#Dummy монитор
Section "Monitor"
Identifier "Monitor2"
Modeline "1024x768@25" 23.77 1024 1056 1144 1176 768 785 789 807 # см. п. 1
EndSection
#Dummy экран
Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
DefaultDepth 24
SubSection "Display"
#разрешение плашета
Modes "1024x768"
Virtual 1024 748
EndSubSection
EndSection
We restart X-sy and check through arandr. Set up the location and orientation. It should look something like this:
We save it to a file - it will come in handy for us.
3. Create a file for autoloading in WM / DE (I have planshet.sh)
x11vnc -rfbport 5900 -display :0 -dontdisconnect -noxfixes -xdamage -shared -forever -clip 1024x768+1600+0 -scale 1024x768 -bg -cursor X -o /home/$USER/x11vnc.log -repeat
xrandr --addmode VIRTUAL1 1024x768 # необязательно
xrandr --output VIRTUAL1 --mode 1024x768 # необязательно
xrandr --output VIRTUAL2 --off --output HDMI1 --off --output VIRTUAL1 --mode 1024x768 --pos 1602x0 --rotate normal --output DP1 --off --output VGA1 --mode 1600x900 --pos 0x0 --rotate normal #вот эта строка заимствована из сохраненного файла arandr
Check:
$ xrandr |grep VIRTUAL1
VIRTUAL1 connected 1024x768+1600+0 (normal left inverted right x axis y axis) 0mm x 0mm
Since there is no autostart directory in IceWM, but there is a ~/.icewm/startup file (which should be executable), add the following to it:
sh -c /path/to/planshet.sh
4. Disable blanking monitors:
xset s off
xset s noblank
xset -dpms
And now the most interesting! How to get the coordinates of "taps" for the device without "trial and error" by torturing the keyboard in the console?!
For the sake of such a thing, I made
6. Let's add all this to planshet.sh
Full version
#!/bin/bash
x11vnc -rfbport 5900 -display :0 -dontdisconnect -noxfixes -xdamage -shared -forever -clip 1024x768+1600+0 -scale 1024x768 -bg -cursor X -o /home/$USER/x11vnc.log -repeat
xrandr --addmode VIRTUAL1 1024x768 # необязательно
xrandr --output VIRTUAL1 --mode 1024x768 # необязательно
xrandr --output VIRTUAL2 --off --output HDMI1 --off --output VIRTUAL1 --mode 1024x768 --pos 1602x0 --rotate normal --output DP1 --off --output VGA1 --mode 1600x900 --pos 0x0 --rotate normal #вот эта строка заимствована из сохраненного файла arandr
xset s off
xset s noblank
xset -dpms
adb tcpip 5555
adb connect 192.168.0.14:5555
sudo adb devices
adb shell input tap 1000 20 # тапаем по "квадратикам" в правом верхнем углу (не знаю, как нызавется) - скрин 3
adb shell input tap 392 138 # тапаем по AndroidVNC
adb shell input tap 20 65 # запускаем VNC предварительно прописав адрес и порт
And we'll do
chmod +x /path/to/planshet.sh
That, in fact, is all. Reboot the X-server and get a multiscreen.
I have conky running on the "small" one.
A screenshot of the dual screen is attached.
And I also throw datasheets on it when I model something.
Source: habr.com