web-dev-qa-db-ja.com

debian-傾斜時の画面の向き

私はHPパビリオンG6ラップトップを持っており、Cinnamon DEを使用して約2〜3年間Debianを実行しています。

AMD A8 APUのグラフィックスドライバーにいくつか問題があったため、Debianテストに更新しました。ラップトップの向きに基づいて画面の向きが変わることを(4か月後に)発見したばかりです。

私はすでにこれに行きました 質問 、何が起こっているのか、そしてなぜそれが起こるのかを説明しています。向きがすべて間違っているという事実を除いて、それはすべて素晴らしいです。私は90度出ています。ラップトップを下から空に向けると、画面が反時計回りに90度回転しますが、完全に180度になると予想されます。

私はこの機能が好きで、正しく機能させたいのですが、IIOとudev/dbusに関する十分な知識がありません。

これは、この特定のデバイスを含むudevadmの出力です。

   P: /devices/platform/lis3lv02d/input/input8
   E: ABS=7
   E: DEVPATH=/devices/platform/lis3lv02d/input/input8
   E: EV=9
   E: ID_FOR_SEAT=input-platform-lis3lv02d
   E: ID_INPUT=1
   E: ID_INPUT_ACCELEROMETER=1
   E: ID_PATH=platform-lis3lv02d
   E: ID_PATH_TAG=platform-lis3lv02d
   E: IIO_SENSOR_PROXY_TYPE=input-accel
   E: MODALIAS=input:b0019v0000p0000e0000-e0,3,kra0,1,2,mlsfw
   E: NAME="ST LIS3LV02DL Accelerometer"
   E: PHYS="lis3lv02d/input0"
   E: PRODUCT=19/0/0/0
   E: PROP=0
   E: SUBSYSTEM=input
   E: SYSTEMD_WANTS=iio-sensor-proxy.service

これに関する助けをいただければ幸いです。

編集:さまざまな90度の向きでラップトップ用のiio-sensor-proxyを見て、これらの値を追加すると思いました:

 Y  X  Z
 0  0  1 -- Home position
 0  1  0 -- Right-up
 0 -1  0 -- Left-up
 1  0  0 -- Bottom-up
 -1 0  0 -- Top-up

ここで、1 =最大(おおよそ1200の値)および-1 =最小(おおよそ-1200の値)

編集:最初のコメントに従って明確にするために、方向はiio-sensor-proxyによって正しく検出されていません。モニターセンサーの出力を観察すると、これが観察されます。

Expected              -- Reality
Bottom-up = Bottom-up -- Bottom-up = Right-up
Right-up  = Right-up  -- Right-up  = Bottom-up
Top-up    = Top-up    -- Top-up    = Left-up
Left-up   = Left-up   -- Left-up   = Top-up

Top-up == Neutral position
2
humroben

monitor-sensorは画面の実際の向きを正しく識別していないため、iio-sensor-proxyプログラマーにバグを報告するのが最善のようです https://github.com/hadess/iio-sensor -proxy これを修正します。

非常に醜い回避策として、settings set org.cinnamon.settings-daemon.plugins.orientation active falseによってCinnamonの自動画面回転機能を無効にしてから、次のように逆さまのニーズに対応するように このスクリプト を変更できます。

case "$ORIENTATION" in
normal)
xrandr --output eDP1 --rotate left;; #instead of --rotate normal
bottom-up)
xrandr --output eDP1 --rotate right;; #instead of --rotate inverted
right-up)
xrandr --output eDP1 --rotate inverted;; #instead of --rotate right
left-up)
xrandr --output eDP1 --rotate normal;; #instead of --rotate left
esac
done

繰り返しになりますが、これは非常に醜い解決策であり、iio-sensor-proxyプログラマーがバグの修正を手伝ってくれるまで適用する必要があるかもしれません。

1
George Vasiliou