Как переместить курсор мыши между мониторами с ключами в Gnome3?

Я использую Gnome3 в качестве своего рабочего стола iterface. Я использую два монитора. Я хочу смочь переместить свой курсор мыши от одного монитора до другого использования моей клавиатуры, сказать с ctrl+alt+right-key. Как я настраиваю это?

6
задан 19 December 2016 в 06:27

3 ответа

Скрипт ниже может быть запущен с двумя аргументами: left и right.

В мониторе двух - установка (слева/справа, в любой конфигурации), сценарий переместит мышь в центр или лево-или правильного монитора, в зависимости от аргумента.

enter image description here

Сценарий

#!/usr/bin/env python3
import subprocess
import sys

arg = sys.argv[1]

screeninfo = [
    s for s in subprocess.check_output("xrandr").decode("utf-8").split()\
    if s.count("+") == 2
    ]

if arg == "left":
    match = [s for s in screeninfo if s.endswith("+0+0")][0]
elif arg == "right":
    match = [s for s in screeninfo if not s.endswith("+0+0")][0]

data = [item.split("x") for item in match.split("+")]
numbers = [int(n) for n in [item for sublist in data for item in sublist]]
coord = [str(int(n)) for n in [(numbers[0]/2)+numbers[2], (numbers[1]/2)+numbers[3]]]

subprocess.Popen(["xdotool", "mousemove", coord[0], coord[1]])

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

  1. Потребности сценария xdotool:

    sudo apt-get install xdotool
    
  2. Скопируйте сценарий в пустой файл, сохраните его как move_mouse.py

  3. Тестовый прогон сценарий. Выполненный от терминала команды:

    python3 /path/to/move_mouse.py left
    

    и

    python3 /path/to/move_mouse.py right
    
  4. Если все хорошо работает, добавьте команды к двум доступным ярлыкам: Выберите: Параметры настройки системы> "Клавиатура"> "Ярлыки"> "Пользовательские Ярлыки". Нажмите "+" и добавьте команды выше.

Примечание:

Сценарий не gnome - конкретный; это должно хорошо работать на всем дистрибутиве Ubuntu.

Объяснение

  • Мы можем переместить мышь в определенное положение командой (например).:

    xdotool mousemove 300 500
    
  • Для вычисления целенаправленных положений (центрируемых) на обоих экранах, мы должны понять, что соединенные экраны расположены в произвольное расположение, например.

    enter image description here

  • В выводе xrandr, мы можем найти информацию об обоих экранах, их разрешениях и их положениях в расположении охвата, как:

    1280x1024+1680+128
    
  • Для получения целенаправленного положения на экран (центр) все, что мы должны сделать, является делением первое и второе число (1280x1024, разрешение) 2, впоследствии добавьте два расчетных положения к смещению на экран (+1680+128 в этом случае). Это - exactltly, что делает сценарий.

    Впоследствии, найденные числа используются в качестве аргументов выполненному xdotool mousemove- команда.

6
ответ дан 23 November 2019 в 07:37

В Ubuntu 18.04 нет никаких пользовательских ярлыков, так после подхода @JacobVlijm, я вычислил свои центры и записал псевдонимы в моей оболочке:

sudo echo -e "\
alias lt='xdotool mousemove 640 360' \n\  # lt means left
alias rt='xdotool mousemove 1920 512'\   # rt means right
" >> .bashrc
2
ответ дан 23 November 2019 в 07:37

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

https://github.com/vijay-prema/swap-screen

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

0
ответ дан 4 May 2020 в 02:55

Другие вопросы по тегам:

Похожие вопросы: