web-dev-qa-db-ja.com

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

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

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

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

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

indicator-brightnessもインストールしました-16レベル(0-15)が表示されます。

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

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

編集(追加情報)

  • ホットキーはハードウェアレベルで機能することを確認しました-ノートパソコンの電源を入れた直後に(BIOS画面などで)明るさを調整できます。

  • $ killall gnome-settings-daemonホットキーで明るさを1ステップ調整しますが、通知は表示されません。まもなく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で独自のホットキーを作成しました- here で説明したように、--clearmodifiers引数を使用します。

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

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

未解決の質問

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

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

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

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

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

15
Andrey

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

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

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

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

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

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

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

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

  • thinkpad_acpiがBIOSを介して明るさを調整するのを停止し、onlyを押して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. Ubuntu Kernel gitリポジトリからソースファイルthinkpad_acpi.cをダウンロードしてパッチを適用します。

      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
    all: make -C/lib/modules/$(Shell uname -r)/ build M = $(PWD)modules
    clean: make -C/lib/modules/$(Shell uname -r)/ build M = $(PWD)clean
    1. ここでmakeと入力してモジュールを作成します。完了すると、フォルダーにthinkpad_acpi.koファイルが表示されます。
  • ロードした後、パッチを適用したモジュールをテストします。

    須藤rmmod thinkpad_acpi &&須藤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でビルドフォルダーをクリーンアップできます。将来のカーネルアップグレードに備えて保管してください!

14
ish

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

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

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

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

2
DrA7

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の明るさを制御できます。

0
Ivo Anjo

/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
jeremija