jung1981 / linux-track

Automatically exported from code.google.com/p/linux-track
MIT License
0 stars 0 forks source link

Mickey calibration is confused when not on primary monitor #58

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Mickey *almost* works perfectly with multiple monitors in absolute mode. I have 
a 3 monitor setup, each side by side, with the TrackIR-5 on the center monitor, 
and where for whatever reason X has decided that the right monitor is 'primary' 
rather than left or center. When I calibrate mickey, I have the mickey window 
and the calibration window on the center monitor, but after the calibration 
mickey considers where I looked for calibrating the center to correspond to the 
mouse pointer being centered on the *right* (the 'primary') monitor, rather 
than the center monitor I was actually looking at when I did the calibrating. 
So the pointer is always one monitor too far to the right from where I'm 
looking (staring at the left puts the pointer on the center, staring at the 
center puts it on the right, and staring at the right makes it hug the far 
right edge of the screen).

Original issue reported on code.google.com by k04j...@gmail.com on 20 Feb 2014 at 5:02

GoogleCodeExporter commented 9 years ago
Hello,
I'd like to ask you for few more informations...

When you center the mickey, and the cursor is in the right screen - are you 
able to move the cursor (using mickey) to other screens?

What do you mean by "starting at left puts it on center"? Do you mean starting 
mickey? Or calibration?

One more question - do you have those monitors set as separate screens or do 
you have it setup as one big virtual desktop?
Kind regards,

Michal

Original comment by f.jo...@email.cz on 20 Feb 2014 at 9:53

GoogleCodeExporter commented 9 years ago
The cursor in general has no problem moving across screens. It's just that 
mickey considers the 'center' of the screen to be the center of whichever 
screen X considers primary, which is not necessarily the screen the TrackIR is 
on and not necessarily the screen that the calibration dialog appears in. At 
least that's what I think is happening.

I figured out how to change my config so that my center monitor is considered 
primary, and then everything works as expected, so I think I'm on the right 
track even if I'm having trouble explaining :)

I meant stare-ing, not start-ing. So when the right monitor was considered 
primary, and I calibrated by looking at the center of the center monitor (which 
is also where the calibration dialog was located), looking at the left monitor 
would put the cursor on the center monitor, looking at the center monitor would 
put the cursor on the right monitor, and looking at the right monitor would 
cause the cursor to hug the right edge of the right monitor.

Here's my ~/.config/monitors.xml, which apparently is how Ubuntu is configured. 
In short: I'm configured to have three separate screens.

<monitors version="1">
  <configuration>
      <clone>no</clone>
      <output name="DVI-I-0">
      </output>
      <output name="DVI-I-1">
          <vendor>VMO</vendor>
          <product>0x1091</product>
          <serial>0x00000000</serial>
          <width>2560</width>
          <height>1440</height>
          <rate>60</rate>
          <x>2560</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="HDMI-0">
      </output>
      <output name="DP-0">
      </output>
      <output name="DVI-D-0">
          <vendor>VMO</vendor>
          <product>0x1091</product>
          <serial>0x00000000</serial>
          <width>2560</width>
          <height>1440</height>
          <rate>60</rate>
          <x>5120</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="DP-1">
          <vendor>VMO</vendor>
          <product>0x1091</product>
          <serial>0x00000000</serial>
          <width>2560</width>
          <height>1440</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
  </configuration>
</monitors>

Original comment by k04j...@gmail.com on 20 Feb 2014 at 10:35

GoogleCodeExporter commented 9 years ago
Forgot to mention, that's my monitors.xml that works. Before the monitor 
starting at 5120 on the x-axis was primary=yes.

Original comment by k04j...@gmail.com on 20 Feb 2014 at 10:38

GoogleCodeExporter commented 9 years ago
Thank you for the information...

I was able to reproduce the situation (netbook with external monitor) and I'm 
seeing what you describe; I think I have an idea of what is wrong - I'll try it 
out and see if it helps.

I'll keep you posted...
Kind regards,

Michal

Original comment by f.jo...@email.cz on 21 Feb 2014 at 6:36

GoogleCodeExporter commented 9 years ago
Hello,
I just checked-in the fix for this problem (at least it did fix it for me).

I assume you don't want to mess with the monitor config, so I'll close the 
issue now.
Should you encounter the problem again, feel free to reopen it or file a new 
one.
Thank you for your help!

Kind regards,

Michal 

Original comment by f.jo...@email.cz on 21 Feb 2014 at 9:22