Проги я не умею пока, оно тупо bash-скрипт. Я всё-таки не программист, я бармен.
Итак.
- Отслеживать и передвигать курсор (и ещё много интересного) умеет утилита xdotool, ставим её:
sudo apt-get install xdotool
- Создаём и редактируем скрипты:
touch ~/tartan-wrapper.sh
touch ~/tartan-wrapper-calibrate.sh
gedit ~/tartan-wrapper-calibrate.sh
#!/bin/bash
while :
do
echo $(xdotool getmouselocation | awk {'print $1" "$2'})
done
Сохраняем и закрываем файл
В терминале -
sh ~/tartan-wrapper-calibrate.sh
Прижимаем курсор к правому краю и к нижнему краю экрана, запоминаем значения x для правого и y для нижнего, у меня это 1365 и 767 соответственно. Прервать выполнение скрипта можно по ctrl+c
gedit ~/tartan-wrapper.sh
#!/bin/bash
while :
do
if [ $(echo $(xdotool getmouselocation | awk {'print $1" "$2'} | grep -c x:0)) -eq 1 ]
then
xdotool mousemove max_right $(xdotool getmouselocation | awk {'print $2'} | egrep -o "[0-9]{1,}" )
sleep 1
fi
if [ $(echo $(xdotool getmouselocation | awk {'print $1" "$2'} | grep -c x:max_right)) -eq 1 ]
then
xdotool mousemove 0 $(xdotool getmouselocation | awk {'print $2'} | egrep -o "[0-9]{1,}" )
sleep 1
fi
if [ $(echo $(xdotool getmouselocation | awk {'print $1" "$2'} | grep -c y:0)) -eq 1 ]
then
xdotool mousemove $(xdotool getmouselocation | awk {'print $1'} | egrep -o "[0-9]{1,}" ) max_bottom
sleep 1
fi
if [ $(echo $(xdotool getmouselocation | awk {'print $1" "$2'} | grep -c y:max_bottom)) -eq 1 ]
then
xdotool mousemove $(xdotool getmouselocation | awk {'print $1'} | egrep -o "[0-9]{1,}" ) 0
sleep 1
fi
done
Автозаменой меняем max_right и max_bottom на свои значения, сохряняем и закрываем файл
В терминале
sh ~/tartan-wrapper.sh
Возюкаем мышой и смотрим, устраивает ли результат.
Если да -
sudo chmod 711 ~/tartan-wrapper.sh
sudo mv ~/tartan-wrapper.sh /usr/bin/tartan-wrapper.sh
Всё, "закольцованный экран" запускается командой tartan-wrapper.sh, которую можно добавить в автозапуск.
Подозреваю, что можно поизящнее, я просто с grep/awk/if не очень дружу.