2021年8月12日木曜日

IRIE MAL-FWTVPCM1でYogaモードにしたときキーボードがオフにならない事象の解決

0 件のコメント:

Yogaモードでキーボードがオフにならない事象の発生

Yogaモード、つまりタブレットとして使う為に本体を360℃回転させた状態ではキーボードが背面になるため、誤操作を防ぐために自動的にオフになるようになっています。しかしこれがオフにならない時があり、最近それが頻発するようになりました。突っ込んで調べてみるとどうやらこれは内臓の加速度センサーであるBosch AccelerometerのドライバがWindowsのアップデートに対応しておらず、時折フリーズするのが原因のようでした。これはWindowsを再起動するか、デバイスマネージャーでセンサー\Bosch Accelerometerを無効化→有効化すれば解決する事ができます。

しかしいちいち再起動やデバイスマネージャーを開いて無効化→有効化するのは面倒くさいということで、これをバッチファイルで簡素化できないかやってみました。

バッチファイルでBosch Accelerometerを再起動する

まずはBosch Accelerometerのデバイスインスタンスパスを調べる必要があります。以下の画像の通り、デバイスマネージャーでプロパティを表示し、詳細タブのデバイスインスタンスパスを開けば分かります。


調べたらコピーするなりメモをして、以下のようにバッチファイルを書きます。
@echo off

openfiles > NUL 2>&1 
if not %ERRORLEVEL% == 0 (
  echo 一般権限で実行されたため管理者権限で再実行します。
  powershell start-process \"%~f0\" -Verb runas
  goto exit
)

rem 管理者権限で実行したい処理を以下に記述する
pnputil /disable-device ACPI\BOSC0200\1
timeout /t 5 /nobreak
pnputil /enable-device ACPI\BOSC0200\1
「disable-device」や「enable-device」の後に予めメモしておいたデバイスインスタンスパスを記述します。できたバッチファイルのファイル名は何でもいいですがここではbosch.cmdにしておきます。後はこのファイルをデスクトップなどに置いておき、事象が発生したら起動するだけでBosch Accelerometerの再起動をすることができます。尚、管理者権限で実行する必要があるため、ユーザアカウント制御のダイアログが必ず表示されます。

※参考リンク
ひとり情シスの備忘録様より

利用する際の注意点

この方法を試す場合は必ず自己責任において行ってください。誤って別のデバイスインスタンスパスを使うなどすると予期せぬ事象を引き起こす可能性があります。

また自分は事象が発生したらその都度起動するのではなく、スリープ解除したタイミングで自動的にこのバッチファイルを起動させてみました。しかしこれはなぜかデバイスが正常に起動せず加速度センサーが使えなくなってしまいました。この自動起動を止めると元のように使えるようになったので、そもそもスリープ解除時に何らかの重要な動作が行われているのかもしれません。

0 件のコメント:

コメントを投稿

コメントはどうぞお気軽に♪ コメント投稿にはGoogle アカウントが必要です。Google アカウントはAndroidのスマートフォンを使う時に必ず作成していると思います。Gmailを使うことができる人はそれもGoogle アカウントですので使うことができます。

 
© 2012. Design by Main-Blogger - Blogger Template and Blogging Stuff