5

Lenovo Thinkpad Yoga 15 (20DQ001KUS) を $799 で購入しました。リンクは次のとおりです: http://shop.lenovo.com/us/en/laptops/thinkpad/yoga-series/yoga-15/#tab-tech_specs

Linux Mint 17.2 でタブレット機能を動作させたいと思っています。私はいくつかのグーグルを行っていて、以下の古いスクリプトを見つけました:

https://github.com/admiralakber/thinkpad-yoga-scripts

https://launchpad.net/magick-rotation

彼らの助けを借りて、加速度計の値 (/sys/bus/iio/devices/iio:device* にあります) をポーリングして、画面をいつ回転させるべきかを判断する Python スクリプトをまとめることができました。難しい部分は、デバイスがいつラップトップ モードまたはタブレット モードになるかを検出することです。蓋を 180 度以上曲げたり、デバイスを地面に対して垂直になるように傾けたりすると、キーボードのライトが消え、キーボード自体が完全に無効になります。これは BIOS 機能のようであり、センサーがあることを示しています。これは理想的であり、私の現在の問題をすべて解決します。

残念ながら、コンピューターをいつタブレット モードにするかを教えてくれるセンサーの読み取り値を Linux で見つけることができませんでした。自動回転をオンにするタイミング、タッチパッド/トラックパッド/キーボードを無効にするタイミング、オンスクリーン キーボード アプリを起動または終了するタイミングを決定するために、これが必要です。

それまでの間、蓋の傾斜センサーを使用しています (/sys/bus/iio/devices/iio:device* にもあります)。これは、テント モードとタブレット モードを検出できるため、ほとんどの場合機能します。残念ながら、センサーは重力に合わせて配置されているため、ラップトップ モードとスタンド モードの違いはわかりません (蓋/画面が重力に対して同じ方向にあるため)。

古いスクリプトは、モードがラップトップからタブレットに、またはその逆に変更されたときにトリガーされる、古いモデルに特別なキーコードがあることを示唆しています。残念ながら、xev/evtest を監視しているときに、そのようなキーコード/スキャンコードがスローされることはありません。

要するに、ラップトップの画面/蓋が180度以上開いていることをプログラムで判断できるようにしたいと考えています。誰でもこれで私を助けることができますか?

私の現在のスクリプトは以下にリンクされています。他の誰かが私のやり方を見たい場合 (または他の誰かが提案をしたい場合)、私はそれに 1 日しか費やしていないので、完成には程遠いです。同じ機能を必要とする他の人のために、後でGNUリリース用に公開する予定です。

https://gist.github.com/anonymous/5d2c2d2967eac8774b69

PS 余談ですが、私はまだ ALPS タッチパッドから完全な機能を取得しようとしています。いくつかの psmouse DKMS インストーラーを使用して、2 本指スクロールや 2/3 本指タップなどのマルチタッチ機能を利用できました。ただし、3 つの物理ボタンは何もしません (xev/evtest でも)。proto=imps を psmouse モジュールに渡すと機能しますが、マルチタッチ機能が壊れます。誰かがそれについてアドバイスを提供したい場合は、私も感謝します.

4

0 に答える 0