Gnomeシェルで自動画面回転の動作を変更する

Gnomeシェルで自動画面回転の動作を変更する

私は最近、Lenovo Yoga 3 11インチコンバーチブルノートブックを購入しました。 Ubuntu Gnome LTS 16.04.2では、基本的にはうまく機能します。 Wi-Fi、Bluetoothはもちろん、作業を一時停止して再開することもできますが、これまでは問題ありません。

Gnome 3は、内蔵の回転センサーに基づいて画面が自動的に回転する可能性があることを発見しました。 Yoga 3 11 "は既にiio-sensor-proxy既にUbuntu Gnomeにインストールされている回転センサーを提供していますiio-sensor-proxy

Dell 13 7000 15.04(Gnome)の画面自動回転画面の回転を処理するカスタムシェルスクリプトを使用したソリューションがあります。このソリューションはGnome Shellの「画面回転を無効にする」ボタンを無効にするため、使用したくありません。

いくつかの研究を行った結果、Gnome 3が配信に使用するイベントをトリガーする必要iio-sensor-proxyがあることがわかりました。しかし、Gnome 3またはGnome 3には、加速度計がディスプレイとは異なる方向に取り付けられていることを知らせる方法がありません。 、 2 つの方向の切り替えが必要です。udevxrandrudev

それで質問は: これをいかにするか。方向の再マッピングはGnome 3で可能でなければならず、iio-sensor-proxyどこでudev行われたかはあまり気にしません。必要なことを達成するために簡単に変更できる構成ファイルが見つからないようです。

現在、解決策として上記にリンクされているAsk Ubuntuの質問スクリプトを使用してそれを修正して、ディスプレイ/加速度計の位置合わせの問題を解決しています。そのためには、Gnome 3で自動画面回転を無効にする必要がありました。このソリューションでは、onboard現在の方向に応じて自動起動と終了(画面キーボード)も可能ですが、Gnome 3の画面回転設定の目的に反します。

答え1

理論については、Krzysztof Stasiakの答えを参照してください。

実際、マイコンピュータ(ハイブリッドネットブック2s)では、デフォルトでは画面が反時計回りに90度回転しています。

私が理解しているように、基本的に適用範囲がないすべてのシステムでは、ACCEL_MOUNT_MATRIX = 1、0、0、1、0。

以下を/etc/udev/hwdb.d/60-sensor.hwdbに入れると、私の状況は解決しました。

sensor:modalias:*
  ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1

答え2

~からGitLab iio - センサー - エージェント - サイト 加速度計が画面と異なるように取り付けられている場合は、計算された方向が画面の向きと一致するように加速度計の読み取り値を変更する必要があります。

iio-sensor-proxyこの情報はデバイスのudev属性からACCEL_MOUNT_MATRIX読み取られます。60-sensor.hwdb詳細より。

関連情報