How to calibrate the touchscreen

来自百问网嵌入式Linux wiki

Touchscreen is more precise after a calibration, but this action is not mandatory.

Calibration data are erased after each firmware download into STMicroelectronics boards.

The steps described below have to be performed on a running board : <securetransclude src="ProtectedTemplate:ReviewsComments" params="JCT w905: it would have been nice to have these lines already, per default, in weston.ini. Maybe, a future improvement?"></securetransclude>{{#set:Has reviews comments=true}}

  • Edit and change the value of the touchscreen_calibrator to true in the libinput section of the weston.ini Weston configuration file[1]. #[libinput shall be uncommented.
 Board $> vi /etc/xdg/weston/weston.ini
 [...]
 [libinput]
 touchscreen_calibrator=true
 calibration_helper=/bin/echo
 [...]
  • Restart weston
 Board $> systemctl restart weston
  • List all the touchscreen devices
 Board $> weston-touch-calibrator
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
device "/sys/devices/platform/soc/40012000.i2c/i2c-0/0-002a/input/input1/event1" - head "DSI-1"

  • Launch calibration with the input of the touch panel
 Board $> weston-touch-calibrator /sys/devices/platform/soc/40012000.i2c/i2c-0/0-002a/input/input1/event1

If the calibration succeeds, no message will be displayed on the console. If it fails, the following message will appear:

 Board $> weston-touch-calibrator error: Calibration verification failed, too large error.

Touchscreen identifier may vary, depending on the devices that are connected to the board. Recommendation is to unplug all the additional input devices before booting. Otherwise, it is up to You to adapt the command line.

References


<securetransclude src="ProtectedTemplate:PublicationRequestId" params="Auto | |"></securetransclude>