Thinkpadの輝度制御で手順がスキップされるのはなぜですか?


15

問題:私のラップトップには16の輝度レベルがありますが、ホットキーを押すとFn+HomeFn+End輝度が一度に3ステップ(0から3、または15から12)調整されます

ログイン画面でホットキーが正常に機能することに気付くことが重要です。しかし、ログイン後に奇妙な動作が表示されます。

また、メニュー(たとえば、Firefoxの[ファイル ]メニューをクリックする)にフォーカスを当てると、ホットキーは正常に機能します。

xdotool key XF86MonBrightnessDown正常に機能し、輝度を1ステップ調整します(でチェックcat /sys/devices/pci0000:00/0000:00:02.0/backlight/acpi_video0/brightness)。

私もインストールしましたindicator-brightness-16レベル(0-15)を示しています。

acpi_backlight=vendorはgrubで設定を試みました(このトピックに触発された:http : //ubuntuforums.org/showthread.php?t=1909184同様の問題があります)。ホットキーが正常に機能するようになったことで機能しました。しかし、OSD通知、xdotool、および輝度インジケータに関する問題が発生しました。だから、それは正しい解決策ではないと思います。

ログイン後、何かがホットキー処理スキームに干渉しているようです。何か案は?

編集(追加情報)

  • ホットキーはハードウェアレベルで機能することを観察しました。ラップトップの電源を入れた直後に(BIOS画面などで)明るさを調整できます。

  • 後は$ killall gnome-settings-daemonホットキー一歩で明るさを調整しますが、何の通知は表示されません。まもなくgnome-settings-daemon回復し、トリプルステップの問題が戻ります。

  • acpi_listen 次の出力を提供します(両方のキーが順番に):

    $ acpi_listen
    ibm/hotkey HKEY 00000080 00001010
    video LCD0 00000086 00000000
    ibm/hotkey HKEY 00000080 00001011
    video LCD0 00000087 00000000
    

    この時点で、(1)ホットキーはハードウェアレベルで機能すると考えました。(2)ibm/hotkeyホットキーを処理します。(3)video世話もします。したがって、トリプルステップの問題が表示されます。

    ビデオをブラックリストに登録してみました(これによりダブルステップ動作が発生することが予想されていました)が、何も変わりません。

回避策として、CompizConfig Settings Managerで独自のホットキーを作成しました- ここで説明しているように--clearmodifiers引数を付けて:

xdotool key --clearmodifiers XF86MonBrightnessUp
xdotool key --clearmodifiers XF86MonBrightnessDown

そのため、最初のホットキーを使用するか、新しいホットキーを使用して微調整することができます。

未解決の質問

ダブルステップのケースについてはすでに議論がありました。LenovoThinkPads、輝度ファンクションキーは1つではなく2つのステップを作成し、回避策を探します

ハードウェアはそれを行うだけでなく、ボタンが押されたことを示す信号も送信します。おそらく、このアクションの[システム]-> [設定]-> [キーボードショートカット]でショートカットの設定を解除できますか?

しかし、私は知りたいと思っています、

  1. なぜトリプルステップの問題が発生するのですか?
  2. このホットキーの処理を解除するにはどうすればよいですか?

誰かがそれを説明してくれたらとても感謝しています。

回答:


14

1回のキー入力の3つのステップはどこから来ますか?

次の理由により、1回のキープレスで3つの輝度ステップが得られます。

  1. 標準ACPI /ビデオドライバーはステップ1を調整します
  2. thinkpad_acpiドライバは調整してBIOSを伝えるステップ2をまだ転送キープレスイベント
  3. GNOME電源デーモンはこのキー入力をインターセプトし、ACPIにもう一度調整するよう指示しますステップ3

1.ビデオドライバーが独自に輝度を調整できないようにします

これにより、上記の3つのステップ(ステップ1)のいずれかがなくなります。

  • ターミナルを開きます
  • タイプ sudo sh -c 'echo -n 0 > /sys/module/video/parameters/brightness_switch_enabled'
  • テスト、今、あなたは2段階で明るさを制御する必要があります
  • 起動時にこれを自動的に無効にするに/etc/rc.localは、お気に入りのエディターで開き、最後の行()のexit 0に以下を追加します。

    echo -n 0> / sys / module / video / parameters / brightness_switch_enabled

2. thinkpad_acpiダブルプレスの問題を解決するためにモジュールを再コンパイルします

  • thinkpad_acpiBIOSで明るさを調整するのをやめ、キー入力をGNOMEに転送するだけで、GNOMEが唯一の調整手順を実行します
  • これはカーネル3.4+で修正された既知のバグです
  • Ubuntu 12.04 / Precise用に修正するには、そのバージョンにパッチを適用thinkpad_acpiして再コンパイルします。

    1. カーネルヘッダーをインストールします。 sudo apt-get install linux-headers-$(uname -r)
    2. ビルドツールをインストールする sudo apt-get install build-essential
    3. 一時ディレクトリを作成して変更します。
      mkdir〜/ tpacpi-bright && cd〜/ tpacpi-bright
    4. thinkpad_acpi.cUbuntu Kernel gitリポジトリからソースファイルをダウンロードしてパッチを適用します。

      wget -O- "http://kernel.ubuntu.com/git?p = ubuntu / ubuntu-precise.git; \
      a = blob_plain; f = drivers / platform / x86 / thinkpad_acpi.c; hb = HEAD "\
      | sed -e 's / tp_features.bright_acpimode && acpi_video / acpi_video / g' \
      > thinkpad_acpi.c
    5. thinkpad_acpi.cダウンロードした同じフォルダに、「Makefile」が必要になります。以下を使用して、このPastebinから直接ダウンロードできます。

      wget -OMakefile http://pastebin.com/raw.php?i=ybpnxeUT

    または、以下をというファイルに貼り付けますMakefile

    obj-m + = thinkpad_acpi.o
    すべて: make -C / lib / modules / $(shell uname -r)/ build M = $(PWD)modules
    掃除: make -C / lib / modules / $(shell uname -r)/ build M = $(PWD)clean
    1. 次に、入力makeしてモジュールを作成します。thinkpad_acpi.ko完了すると、フォルダ内にファイルが表示されます。
  • ロードした後、パッチを適用したモジュールをテストします。

    sudo rmmod thinkpad_acpi && sudo lsmod thinkpad_acpi.ko
  • 明るさが修正され、完全に制御できるようになった場合、ストックモジュールをパッチを適用したモジュールに置き換えます。

    TPDIR = / lib / modules / $(uname -r)/ kernel / drivers / platform / x86
    sudo mv $ TPDIR / thinkpad_acpi.ko $ TPDIR / thinkpad_acpi.ko.stock
    sudo mv〜/ tpacpi-bright / thinkpad_acpi.ko $ TPDIR / thinkpad_acpi.ko
    
  • を使用して、ビルドフォルダーをクリーンアップできますmake clean。将来のカーネルアップグレードに備えて保管してください!


答えてくれてありがとう!あなたのソリューションは完全に私にとってはうまくいきました。唯一の問題-明るさの制御がログイン画面で動作しないようになりました(理由はわかっているようです-新しいのでthinkpad_acpi、GNOME電源デーモンはまだ廃業しています)。
アンドレイ

学習のために、videoドライバで行ったように、輝度ホットキーを処理しないようにGNOME電源デーモンに指示する方法はありますか?UbuntuはAll Settings -> Keyboard -> Shortcuts、オーディオホットキー(ボリュームアップ/ダウン、ミュート)をカスタマイズするためのGUI()を提供していますが、輝度キーを変更または無効にできる場所が見つかりませんでした。
アンドレイ

@アンドレイ:どういたしまして!私はThinkpad T520を持っているので、これは問題を解決する良い機会でした。ログイン画面については、それを解決する方法は、ログインを無効にしないでrc.local、ログイン~/.profileにのみアクティブなるようにすることだと思います。GNOME電源デーモンが輝度ホットキーの処理を無効にする簡単な方法がある場合、OSDも無効にします(などbacklight=vendor)。それを正しく行うには、ソースコードを変更する必要があるかもしれません...私はそれを見てみましょう。とにかく、12.10がリリースされると、彼らは12.04向けに修正されたバックポートカーネルをリリースするので、その時点で動作します。
ISH

2

私はあなたとまったく同じ問題に加えて、私のシステムは常に画面をオフにして起動したという問題を抱えていました。

正しい方向に私を向けてくれてありがとうacpi_backlight=vendor、あなたが経験した問題なしで私のためにトリックをしてくれた。HP G7 1116sgとハイブリッドグラフィックス(Intel HD3000 (ubuntuのハイブリッドの問題のため、現在は Intel のみを使用しています。X220 が同じグラフィックスアダプターを備えていると記載されているためです) / Radeon HD6870)とUbuntu 12.04を使用しています。

grubの変更は、明らかな問題なく私にとってはうまくいったと言いたいだけです。

解決策を見つけて頑張ってください。


それがあなたのために働いたことをうれしく思います!
アンドレイ

0

を設定する/sys/module/video/parameters/brightness_switch_enabled0、ttyとxfce 4.10の両方で、ショートカットキーを使用してThinkpad X230の明るさをまったく制御できなくなります。xfce4-power-managerに主要なイベントの明るさを変えないように言わなければなりませんでした。これを行うには、2つの非表示の構成キーのいずれかを設定します。最初のものは:

xfconf-query -c xfce4-power-manager -n -t bool -p /xfce4-power-manager/change-brightness-on-key-events -s false

そして2つ目:

xfconf-query -c xfce4-power-manager -n -t bool -p /xfce4-power-manager/show-brightness-popup -s false

注:これらの設定はどちらもシステムの明るさポップアップ画面を無効にしますが、少なくとも16個の明るさレベルをすべて取り戻します!

このページおよびこのページの下部で、この問題について詳しく読むことができます


0

Lenovo S205ラップトップでは、ビデオドライバーとgnomeの両方が明るさを調整するこの問題がありました。

しかし、このbrightness_switch_enabledプロパティを無効にした私の経験では、gnomeが遅く、バックライトを更新する際に際どいようです-たとえば、キーを数秒間放置してから放すと、gnomeはイベントの処理に5-10秒かかります。

そのため、代わりにビデオドライバーに調整を行わせ、gnomeが調整を行わないようにします。

sudo chmod -x /usr/lib/gnome-settings-daemon/gsd-backlight-helper

無効にするgsd-backlight-helperことで私にとってはうまくいきました。私はインターネットをクロールしましたが、同じことをするためのユーザーに見えるオプションはないようです。

明るさのOSDを失いましたが、明るさの変更はすぐに処理され、ボーナスとしてttyの明るさを制御できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.