Intereting Posts
Как копировать компакт-диски со звуком соковыжималки через пересылку X11? Как исправить черный экран после обновления до 13.04 в HP 530? Какой самый простой способ обмена файлами между Windows и Ubuntu? Разрешение запрещено, вы root? Проблема с раскладкой клавиатуры для разработчиков Ubuntu и Qt Как установить Google Chrome в качестве браузера по умолчанию? Есть ли разумная причина ждать, когда дата выпуска будет загружена, установлена ​​или обновлена ​​до следующей версии Ubuntu? неудовлетворительные зависимости и неисправность count> 0 Ограничить попытки входа пользователя (Ubuntu 12.10, pam_tally.so, pam_tally2.so) Как я могу группировать электронные письма по домену, комбинированные и обобщенные из всех файлов в каталоге? rm -i alias не работает с sudo как root Как получить ежедневную статистику нажатия клавиш? Как исправить F10, F11 и F12? получить apt-get stop, используя ipv6 Ctrl + c не работает при непрерывном пинге

Как перейти с экрана 1 на экран 3, перемещая курсор влево и наоборот?

Если мне нужно переместить мышь с левого экрана на правый экран, расстояние довольно велико.

Есть ли способ практически соединить стороны экрана, как если бы они были расположены по кругу? Затем я мог перемещаться с левого экрана на правый экран, просто перемещая курсор влево.

Сценарий для подключения экранов «круговой»

Сценарий ниже будет делать, как вы описываете; если мышь коснется правого края правого (почти) экрана, мышь снова появится на левом (почти) экране. Если он касается левой стороны левого экрана, он появляется справа от правого экрана.

Встроенные меры предосторожности

Сценарий предполагает, что экраны расположены в непересекающейся конфигурации по x-мудю, но она имеет встроенную коррекцию, если экраны не выровнены по вертикали или не имеют другого y-разрешения. Хотя в большинстве случаев вы не столкнетесь с проблемами, в приведенной ниже ситуации, если только сценарий не учитывает возможные различия в y-разрешении и / или (не) выравнивание экранов:

введите описание изображения здесь

Если верхняя часть левого экрана находится ниже верхней части правого экрана, курсор перемещается сверху вниз в верхнюю часть левого экрана. Возможно, неровный нижний идем

Сценарий

#!/usr/bin/env python3 import subprocess import time def get_screendata(): data = [s.split("+") for s in subprocess.check_output(["xrandr"]).decode("utf-8").split() \ if s.count("+") == 2] # calculate total x-size of spanning screens x_span = sum([int(item[0].split("x")[0]) for item in data]) # sort screens to find first/last screen (also for 2+ screens) data.sort(key=lambda x: x[1]) # find (possible) screen offset of first/last screen and vertical area scr_first = data[0]; shiftl = int(scr_first[2]) areal = [shiftl, shiftl+int(scr_first[0].split("x")[1])] scr_last = data[-1]; shiftr = int(scr_last[2]) arear = [shiftr, shiftr+int(scr_last[0].split("x")[1])] return (x_span, areal, arear) screendata = get_screendata() x_span = screendata[0]; areal = screendata[1]; arear = screendata[2] new_coords = [] while True: time.sleep(0.5) new_coords = [] # read the current mouse position pos = [int(s.split(":")[-1]) for s in \ subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split()\ if any(["x" in s, "y" in s])] # if the mouse is on the left of the first screen if pos[0] == 0: new_coords.append(x_span-2) if pos[1] <= arear[0]: new_coords.append(arear[0]+2) elif pos[1] >= arear[1]: new_coords.append(arear[1]-2) else: new_coords.append(pos[1]) # if the mouse is on the right of the last screen elif pos[0] > x_span-2: new_coords.append(2) if pos[1] <= areal[0]: new_coords.append(areal[0]+2) elif pos[1] >= areal[1]: new_coords.append(areal[1]-2) else: new_coords.append(pos[1]) # move the mouse if new_coords: subprocess.Popen(["xdotool", "mousemove", str(new_coords[0]), str(new_coords[1])]) 

Как использовать

  1. Скрипт нужен xdotool

     sudo apt-get install xdotool 
  2. Скопируйте сценарий в пустой файл, сохраните его как circular_mouse.py
  3. Проверить запуск сценария, выполнив в терминале:

     python3 /path/to/circular_mouse.py 

    Вы должны иметь возможность совершать бесконечное движение мыши вправо или влево, циркуляцию через ваши экраны.

  4. Если все работает нормально, добавьте его в приложения запуска: Dash> Startup Applications> Добавьте команду:

     /bin/bash -c "sleep 15 && python3 /path/to/circular_mouse.py" 

Вы можете попробовать использовать Таралли . Вам нужно будет отредактировать map_beef.c для собственной настройки монитора.

Кроме того, @ohayden опубликовал сценарий bash, который можно настроить так, чтобы делать то, что вы хотите. Чтобы использовать его, вам нужно будет установить xdotool , выполнив

 sudo apt-get install xdotool 

Я опаздываю, у меня только один монитор, поэтому я не смог опробовать ни одно из этих возможных решений.