docs: close #1120 and other minor updates
This commit is contained in:
parent
d1632ef9d0
commit
aa1dfabd40
@ -88,7 +88,8 @@ calibrate_y_position: 100
|
||||
# define the screw positons required for odd number of screws in a comma separated list
|
||||
# possible values are: bl, br, bm, fl, fr, fm, lm, rm, center
|
||||
# they correspond to back-left, back-right, back-middle, front-left, front-right, front-middle, left-middle, right-middle
|
||||
screw_positions: ""
|
||||
# example:
|
||||
screw_positions: bl, br, fm
|
||||
|
||||
# Rotation is useful if the screen is not directly in front of the machine.
|
||||
# Valid values are 0 90 180 270
|
||||
|
@ -123,68 +123,5 @@ here are some examples:
|
||||
|
||||
|
||||
## Touchscreen touch rotation
|
||||
If your touchscreen isn't registering touches properly after the screen has been rotated, you will need to apply a
|
||||
transformation matrix.
|
||||
|
||||
First you will need your device name, on a terminal run:
|
||||
|
||||
```sh
|
||||
DISPLAY=:0 xinput
|
||||
```
|
||||
|
||||
Output:
|
||||
```sh
|
||||
⎡ Virtual core pointer id=2 [master pointer (3)]
|
||||
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
|
||||
⎜ ↳ ADS7846 Touchscreen id=6 [slave pointer (2)]
|
||||
⎣ Virtual core keyboard id=3 [master keyboard (2)]
|
||||
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
|
||||
```
|
||||
In this case the device is the ADS7846 Touchscreen, yours may be different
|
||||
|
||||
You can test a change by running:
|
||||
|
||||
```sh
|
||||
DISPLAY=:0 xinput set-prop "<device name>" 'Coordinate Transformation Matrix' <matrix>
|
||||
```
|
||||
|
||||
Where the matrix can be one of the following options:
|
||||
|
||||
* 0°: `1 0 0 0 1 0 0 0 1`
|
||||
* 90° Clockwise: `0 -1 1 1 0 0 0 0 1`
|
||||
* 90° Counter-Clockwise: `0 1 0 -1 0 1 0 0 1`
|
||||
* 180° (Inverts X and Y): `-1 0 1 0 -1 1 0 0 1`
|
||||
* invert Y: `-1 0 1 1 1 0 0 0 1`
|
||||
* invert X: `-1 0 1 0 1 0 0 0 1`
|
||||
|
||||
For example:
|
||||
|
||||
```sh
|
||||
DISPLAY=:0 xinput set-prop "ADS7846 Touchscreen" 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
|
||||
```
|
||||
|
||||
To make this permanent, modify the file `/etc/udev/rules.d/51-touchscreen.rules` and add following line:
|
||||
|
||||
```sh
|
||||
ACTION=="add", ATTRS{name}=="<device name>", ENV{LIBINPUT_CALIBRATION_MATRIX}="<matrix>"
|
||||
```
|
||||
|
||||
As an alternative if the above doesn't work:
|
||||
|
||||
edit /usr/share/X11/xorg.conf.d/40-libinput.conf
|
||||
|
||||
for example:
|
||||
```sh
|
||||
Section "InputClass"
|
||||
Identifier "libinput touchscreen catchall"
|
||||
MatchIsTouchscreen "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"
|
||||
EndSection
|
||||
```
|
||||
|
||||
More info about input transformation can be found in:
|
||||
|
||||
* [Ubuntu wiki InputCoordinateTransformation](https://wiki.ubuntu.com/X/InputCoordinateTransformation)
|
||||
* [Libinput docs](https://wayland.freedesktop.org/libinput/doc/1.9.0/absolute_axes.html)
|
||||
[Moved to Touch issues](./Troubleshooting/Touch_issues.md)
|
||||
|
@ -8,8 +8,9 @@ If the screen never shows the console even during startup, Then it's typically a
|
||||
## Cable issues
|
||||
|
||||
* Check that the cable is inserted properly:
|
||||
it shouldn't be loose, and in the case of DSI make sure the contacts face the right way
|
||||
* If the touchscreen is connected via USB, try another port if available, if you are using a HUB try connecting the touch directly without the HUB.
|
||||
it shouldn't be loose, and in the case of ribbon cables like DSI make sure the contacts face the right way
|
||||
* If the touchscreen is connected via USB, try another port if available,
|
||||
if you are using a HUB try connecting the touch directly without the HUB.
|
||||
* If the board has more than one HDMI try the other port
|
||||
|
||||
## Driver issues
|
||||
|
@ -63,49 +63,50 @@ DISPLAY=:0 xinput set-prop "<device name>" 'Coordinate Transformation Matrix' <m
|
||||
|
||||
Where the matrix can be one of the following options:
|
||||
|
||||
* 0°: `1 0 0 0 1 0 0 0 1`
|
||||
* 90° Clockwise: `0 -1 1 1 0 0 0 0 1`
|
||||
* 90° Counter-Clockwise: `0 1 0 -1 0 1 0 0 1`
|
||||
* 180° (Inverts X and Y): `-1 0 1 0 -1 1 0 0 1`
|
||||
* invert Y: `-1 0 1 1 1 0 0 0 1`
|
||||
* invert X: `-1 0 1 0 1 0 0 0 1`
|
||||
* expand to twice the size horizontally: `0.5 0 0 0 1 0 0 0 1`
|
||||
<!-- * compress horizontally: --><!-- Commented out because of missing matrix info -->
|
||||
| Rotation | Matrix |
|
||||
| - | - |
|
||||
| 0° | `1 0 0 0 1 0 0 0 1` |
|
||||
| 90° Clockwise | `0 -1 1 1 0 0 0 0 1` |
|
||||
| 90° Counter-Clockwise | `0 1 0 -1 0 1 0 0 1` |
|
||||
| 180° (Inverts X and Y) | `-1 0 1 0 -1 1 0 0 1` |
|
||||
| invert Y | `-1 0 1 1 1 0 0 0 1` |
|
||||
| invert X | `-1 0 1 0 1 0 0 0 1` |
|
||||
| expand to twice the size horizontally | `0.5 0 0 0 1 0 0 0 1` |
|
||||
|
||||
For more in-depth guidance on using Coordinate Transformation Matrices, see [InputCoordinateTransformation - Ubuntu Wiki](https://wiki.ubuntu.com/X/InputCoordinateTransformation).
|
||||
For more in-depth guidance on using Coordinate Transformation Matrices:
|
||||
|
||||
It has been reported that the touch expands with screens that don't use HDMI. This is due to the composite output, which enables automatically as a fallback when no HDMI device is plugged in.
|
||||
* [Ubuntu wiki InputCoordinateTransformation](https://wiki.ubuntu.com/X/InputCoordinateTransformation)
|
||||
* [Libinput docs](https://wayland.freedesktop.org/libinput/doc/1.9.0/absolute_axes.html)
|
||||
|
||||
It has been reported that the touch expands with screens that don't use HDMI. This is due to the composite output,
|
||||
which enables automatically as a fallback when no HDMI device is plugged in.
|
||||
If this is the case, adding `enable_tvout=0` to `/boot/config.txt` and reboot.
|
||||
|
||||
For example:
|
||||
!!! example
|
||||
|
||||
```sh
|
||||
DISPLAY=:0 xinput set-prop "ADS7846 Touchscreen" 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
|
||||
```
|
||||
```sh
|
||||
DISPLAY=:0 xinput set-prop "ADS7846 Touchscreen" 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
|
||||
```
|
||||
|
||||
To make this permanent, modify the file `/etc/udev/rules.d/51-touchscreen.rules` and add following line:
|
||||
To make this permanent, modify the file `/etc/udev/rules.d/51-touchscreen.rules` and add following line:
|
||||
|
||||
```sh
|
||||
ACTION=="add", ATTRS{name}=="<device name>", ENV{LIBINPUT_CALIBRATION_MATRIX}="<matrix>"
|
||||
```
|
||||
```sh
|
||||
ACTION=="add", ATTRS{name}=="<device name>", ENV{LIBINPUT_CALIBRATION_MATRIX}="<matrix>"
|
||||
```
|
||||
|
||||
As an alternative if the above doesn't work:
|
||||
---
|
||||
As an alternative **if the above doesn't work**:
|
||||
|
||||
edit `/usr/share/X11/xorg.conf.d/40-libinput.conf`
|
||||
edit `/usr/share/X11/xorg.conf.d/40-libinput.conf`
|
||||
|
||||
for example:
|
||||
for example:
|
||||
|
||||
```sh
|
||||
Section "InputClass"
|
||||
```sh
|
||||
Section "InputClass"
|
||||
Identifier "libinput touchscreen catchall"
|
||||
MatchIsTouchscreen "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"
|
||||
EndSection
|
||||
```
|
||||
|
||||
More info about input transformation can be found in:
|
||||
|
||||
* [Ubuntu wiki InputCoordinateTransformation](https://wiki.ubuntu.com/X/InputCoordinateTransformation)
|
||||
* [Libinput docs](https://wayland.freedesktop.org/libinput/doc/1.9.0/absolute_axes.html)
|
||||
EndSection
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user