Touchscreen calibration

Connect touchscreen to thin client.

Turn on thin client.

Swipe to make WTware detect the device.

Get terminal log.

In log find such lines:

[TOUCHSCREEN] ==================================================
[TOUCHSCREEN] Hardware configuration:
[TOUCHSCREEN]      touchscreen = 0..4095,0..2047
[TOUCHSCREEN] ==================================================

Numbers may differ. These are the settings, that touchscreen sends to terminal. Two ranges: horizontal range, then vertical range. Ideally when you touch in the left top corner screen should send 0,0 coordinates, and in the right bottom corner - 4095,2047 coordinates. WTware recalculates sent by touchscreen values into screen pixels.

But in real life cheap and uncalibrated by manufacturer screens send incorrect values. You are to teach thin client to determine correct point by incorrect values. So you should specify other ranges in configuration file.

Attention! Numbers are specified for example. Your touch screen will have other boundaries. Do not copy values from this manual. You should find in your terminal log values for your touchscreen and correct your values!

For example, if cursor is not visible in the left screen edge, increase left border of horizontal range — specify 200 instead of 0. In terminal configuration file specify:

touchscreen = 200..4095,0..2047

If cursor is invisible in the bottom of the screen, decrease bottom vertical edge value — 1850 instead of 2047:

touchscreen = 0..4095,0..1850

Specify needed values, restart thin client and check. Repeat until you see acceptable result.

Screen rotation

To rotate screen 90 degrees clockwise (display_hdmi_rotate=1 in config.txt for Raspberry) specify:

touchscreen = 0..4095,0..4095,1

To rotate 180 degrees clockwise (display_hdmi_rotate=2 in config.txt for Raspberry):

touchscreen = 0..4095,0..4095,2

To rotate 270 degrees clockwise (display_hdmi_rotate=3 in config.txt for Raspberry):

touchscreen = 0..4095,0..4095,3

If you have any comments or remarks to this article, please, let us know!