X11

螢幕旋轉矩陣結構

  • September 13, 2014

我可以將我的螢幕旋轉設置為反轉:

xrandr -o inverted
xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1

並通過以下方式恢復正常:

xrandr -o normal
xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1

我在這裡找到了一個 HowTo:https
://wiki.ubuntu.com/X/InputCoordinateTransformation 所以我猜(向右 90°)它將是:

# ⎡ 0 -1 1 ⎤
# ⎜ 1  0 0 ⎥
# ⎣ 0  0 1 ⎦
right='0 -1 1 1 0 0 0 0 1'

但是左邊的右邊的“座標變換矩陣”是什麼?

從問題來看,它是一個標準的座標變換矩陣。

所以:

⎡x_out⎤   ⎡ a b c ⎤   ⎡ x_in ⎤
⎜y_out⎥ = ⎜ d e f ⎥ * ⎜ y_in ⎥
⎣z_out⎦   ⎣ 0 0 1 ⎦   ⎣ z_in ⎦

z_out= z_in= 1 。

是的

x_out = a * x_in + b * y_in + c
y_out = d * x_in + e * y_in + f

您為右旋轉提供的範例矩陣

⎡ 0 -1 1 ⎤
⎜ 1  0 0 ⎥
⎣ 0  0 1 ⎦

因此意味著

x_out = 1 - y_in
y_out = x_in

對於向左旋轉,這將是另一種方式,即:

x_out = y_in
y_out = 1 - x_in

給出矩陣

⎡  0 1 0 ⎤
⎜ -1 0 1 ⎥
⎣  0 0 1 ⎦

引用自:https://unix.stackexchange.com/questions/138168