In normal desktop and touch screen configurations there will be a touch device associated with one monitor and cover the entire screen and the calibration procedure will display on the full screen for each monitor and touch activation will be across the entire desktop.

However, there are some circumstances where this is not the case, such as multi-monitor systems that have more physical monitors than listed in the system, e.g 1 listed, 2 physical, or 3 listed, 9 physical.

In this case segments are used to inform the driver how many physical monitors are related to the individual listed monitors and this is described in detail in the Multi-monitor documentation, Segmented section.

In addition to multi-monitor use of segments they can also be used to segment a single monitor in cases whereby only a part of the monitor is to be calibrated and utilised as per these two examples:

Example 1 - Using a touch device where only the top halve of the video display is actually on display.

In the normal configuration the calibration screen covered the full display area such that the bottom X's were not visible as they were effectively 'off' the bottom of the video screen.

In this case the video area associated with the monitor (monitor 1) was configured as two horizontal segments (updddutils nodevice set monitor_segment_map.1 1x2 - as described in the segmented section link above) such that only the top segment was associated with the touch screen during the identify , as seen below, and subsequent calibration procedure.

In this example, the Identify feature is identifying the two segments prior to calibration. However, the bottom segment identification text will not be seen (off the bottom of the video) so a return on the keyboard will be needed to complete the identity or wait for it to timeout:

Example 2 - Touch screen in use on monitor that has resolution 1920 x 285 but is seen in system (in this case MacOS) as 1920 x 1080

In this case the default calibration would be inaccurate as the touch device is mapped to 1920 x 1080 and the calibration points are drawn in the wrong location on the video.

The driver needs to be informed of a custom segmentation (1x2, 1x3,1x4 is only useful if the segment is 50%, 33% or 25% of the video area)

The segmentation section link above describes the custom segmentation settings as x:n:[l,t,r,b].

For this monitor you need to set x:1:0,0,ffff,438e, using the command 'upddutils nodevice set monitor_segment_map x:1:0,0,ffff,438e'


x = extended
1 = 1 segment
Then left = 0, top = 0, right = ffff, bottom = ??
To calculate the bottom value...
(top + height of segment  / height of screen) * 65535
= (0+285 / 1080) * 65535
= 17294 (dec)
= 438E (hex)

Now, when the device is calibrated the calibration crosses will be placed within the segment and allow for correct manual calibration.