Como dizer ao xrandr para deixar meu mouse se mover entre os monitores?

2

Eu tenho um display interno e externo que eu gostaria de passar meu cursor. Quando eu inicio o computador com o externo conectado, meu gerenciador de exibição começa com o DPI incorreto e eu tenho que executar esses 4 comandos para corrigir o dpi.

xrandr --output DP-2 --mode 1920x1200 --dpi 94
xrandr --output LVDS-1-0 --mode 1920x1080 --dpi 147
xrandr --output DP-2 --right-of LVDS-1-0 --dpi 94
xrandr --output DP-2 --primary

Nesse caso, no entanto, posso mover meu cursor pelos dois monitores.

Se eu começar sem ter o monitor externo conectado, não há problema de dpi, mas quando eu executo o script acima para detectar o monitor externo, o mouse é mapeado para a área do monitor externo e não consigo me mover na tela interna.

Existe alguma opção explícita para especificar a área a que o cursor tem acesso?

Eu também tenho uma mesa digitalizadora, que eu mapeio para usar apenas o monitor externo com o seguinte script.

xsetwacom --set "Wacom Intuos5 touch L Pen stylus" MapToOutput "1920x1200+1920+0"
xsetwacom --set "Wacom Intuos5 touch L Pen eraser" MapToOutput "1920x1200+1920+0"
xsetwacom --set "Wacom Intuos5 touch L Pen cursor" MapToOutput "1920x1200+1920+0"
xsetwacom --set "Wacom Intuos5 touch L Pad pad" MapToOutput "1920x1200+1920+0"
xsetwacom --set "Wacom Intuos5 touch L Finger touch" MapToOutput "1920x1200+1920+0"

Meu xinput --list é

xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Performance MX                   id=10   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=15   [slave  pointer  (2)]
⎜   ↳ Wacom Intuos5 touch L Pen stylus          id=16   [slave  pointer  (2)]
⎜   ↳ Wacom Intuos5 touch L Pen eraser          id=17   [slave  pointer  (2)]
⎜   ↳ Wacom Intuos5 touch L Pen cursor          id=18   [slave  pointer  (2)]
⎜   ↳ Wacom Intuos5 touch L Finger touch        id=19   [slave  pointer  (2)]
⎜   ↳ Wacom Intuos5 touch L Pad pad             id=20   [slave  pointer  (2)]
⎜   ↳ Microsoft Natural® Ergonomic Keyboard 4000    id=21   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=14   [slave  keyboard (3)]
    ↳ Microsoft Natural® Ergonomic Keyboard 4000    id=22   [slave  keyboard (3)]

Minha xrandr output tem:

DP-2 connected primary 1920x1200+1920+0 (normal left inverted right x axis y axis) 520mm x 320mm
   1920x1200     59.95*+
   1920x1080     60.00  
   1680x1050     59.95  
   1600x1200     60.00  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.00  
   800x600       60.32  
   640x480       59.94  
 [...] 
LVDS-1-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.00*+  50.00  
   1400x1050     59.98  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   800x600       60.00    60.32    56.25  
   700x525       59.98  
   640x512       60.02  
   640x480       60.00    59.94  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
  [...]

Quando faço cliques na janela seguindo esta pergunta no monitor DP-2 vejo resultados como:

x:3158 y:1084 screen:0 window:16788951
x:3508 y:1076 screen:0 window:16788951
x:1920 y:740 screen:0 window:801
x:3193 y:986 screen:0 window:16788951
x:3345 y:1066 screen:0 window:16788951
x:3382 y:990 screen:0 window:16788951
x:3363 y:1055 screen:0 window:16788951
x:2806 y:983 screen:0 window:41943171
x:1941 y:48 screen:0 window:41943171
x:3466 y:1060 screen:0 window:16788951
x:3469 y:1117 screen:0 window:16788951

Estou usando o gerenciador de janelas herbstluftwm e conto a configuração do meu monitor com

herbstclient set_monitors "1920x1080+0+0" "1920x1200+1920+0"

A configuração aparece como:

$ hc detect_monitors -l
1920x1200+1920+0
1920x1080+0+0

Estou usando uma placa gráfica nVidia com o driver nvidia em um laptop Thinkpad W520.

    
por wdkrnls 15.09.2015 / 01:35

0 respostas