LINUX.ORG.RU

Переключение между двумя мониторами


0

0

Есть два монитора, подключенных к одной видюхе nvidia в режиме separate X screen. Координаты второго монитора назначены абсолютно, чтобы мышь не перескакивала на него при подведении курсора к краю экрана.

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" 1281 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection
Как перевести фокус с одного монитора на другой?

xdotool mousemove --screen 1 0 300

Правда у меня позиция второго монитора не абсолютная

anonymous ()
Ответ на: комментарий от anonymous

А что это за --screen такой? В манах его нету. xdotool mousemove X Y работает только если экраны находятся вплотную друг к другу.

hexile ()
Ответ на: комментарий от hexile

screen - X-овый screen, прописанный в serverlayout. Сейчас специально сделал конфигурацию как в первом посте и перезагрузил X. Все работает.

[lg@swarm xdotool-1.20100302.2708]$ LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./xdotool mousemove
Usage: mousemove [options] <xcoord> <ycoord>
--clearmodifiers - reset active modifiers (alt, etc) while typing
--screen SCREEN - which screen to move on, default is current screen
--window <windowid> - specify a window to send keys to
You specified the wrong number of args.

anonymous ()
Ответ на: комментарий от anonymous

Угу, у меня xdotool старый стоял. Поставил новый, но всё равно с любым параметром в --screen курсор перемещается на нулевом мониторе. Если указать число по иксам большее чем разрешение нулевого монитора, например 1400, то курсор просто перемещается на правый край экрана. Ты уверен, что у тебя между экранами хотя бы один пиксел есть?

hexile ()
Ответ на: комментарий от hexile

Абсолютно уверен. Я просто скопировал serverlayout из твоей конфигурации. Соответственно сразу перестало работать перемешение мышью за край экрана.

xdotool mousemove --screen 1 1 1

xdotool mousemove --screen 0 1 1

anonymous ()
Ответ на: комментарий от hexile

gnome 2.20/metacity 2.24. Версию драйвера точно не помню, возможно 173.xx. Сейчас на работе, выложить xorg.conf (если нужен) и попробовать любые другие wm могу только вечером.

Ты точно не промахнулся при установке нового xdotool? Попробуй сделать make, а потом запустить из установочного каталога с указанием LD_LIBRARY_PATH, как я делал выше

anonymous ()
Ответ на: комментарий от anonymous

Да, выложи, плз, xorg.conf. Может, в нём дело.

xdotool я ставил и из собранного пакета, и из исходников - результат такой же, и LD_LIBRARY_PATH ничего не меняет.

hexile ()
Ответ на: комментарий от hexile

Драйвер: 180.51. Xorg: 1.3.0.0-33.fc8. Только что проверил, работает везде, включая голые иксы

Section "ServerLayout"
       Identifier     "Layout0"
       Screen      0  "Screen0" 0 0
       Screen      1  "Screen1" 1281 0
       InputDevice    "Keyboard0" "CoreKeyboard"
       InputDevice    "Mouse0" "CorePointer"
       Option         "Xinerama" "0"
EndSection

Section "Files"
    RgbPath         "/usr/X11R6/lib/X11/rgb"
    ModulePath      "/usr/lib/xorg/modules"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
    Option         "AIGLX" "off"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbLayout" "us,ru(winkeys)"
    Option         "XkbModel" "pc105"
    Option         "XkbOptions" "grp:shift_toggle,grp_led:scroll"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LG L1718S"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Samsung"
    HorizSync       30.0 - 61.0
    VertRefresh     50.0 - 120.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 7300 GS"
    BusID          "PCI:2:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 7300 GS"
    BusID          "PCI:2:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "CRT-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "CRT-1: 1024x768_75 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "No"
EndSection

anonymous ()

Спасибо за тред. Благодаря ему я наконец настроил монитор+телевизор так, как хотел.
Я переключаюсь между мониторами через mouse-switchscreen из комплекта dualscreen-mouse-utils повешенным на хоткей.

iSage ★★★★ ()

Проблема всё-таки решилась при помощи упомянутых iSage'м dualscreen-mouse-utils. Проверено на слаке с xfce и убунте.

hexile ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.