Samsungのキーボードバックライトを動作させる

Samsungのキーボードバックライトを動作させる

最近、Samsung NP900X3N を入手し、バックライトを動作させようとしています (UEFI 上の Linux Mint 18.1 およびカーネル 4.10 を使用)。この件についてはたくさん読みましたし、このトピックに関するページが多数あることも知っていますが、それらはすべて古く (3 年以上前)、どれも動作させることができませんでした (おそらく、このバージョンのラップトップが比較的新しいためでしょう)。

私が試したことのいくつかは次のとおりです:

  • パッケージをダウンロードしてインストールしましたsamsung-toolsが、実行すると約 2 分間出力されずにエラーが発生します。
  • 私はsamsung::kbd_backlight/brightnessファイルを探してみましたこのシンプルな答えですが、どうやら存在しないようです ( しか見つかりませんでしたphy0-led/brightness。これは何をするものかわかりませんが、すでに 1 に設定されています)。
  • 私は従おうとしたこのガイド非常に手動的なアプローチでしたが、正直言ってあまりうまくいきませんでした(おそらく私の知識不足のせいですが、もっと簡単なアプローチがあるはずです)
  • カーネルログをチェックしてキーのスキャンコードを確認するこの答え

この最後のものが一番近かったのですが、さらに追求したいものです。(キーボードのバックライトを切り替える)を押すと、そのキーに割り当てられたfn+f9スキャンコードが表示されます。e02c

sudo setkeycodes e02c 230

提案されたように答えしたがって、このキーを押すと、キーボードのライト シンボルを示す通知が表示されます。これは良い兆候だと思いますが、何も起こりません。

質問にあるように、キーコード値 230 は kbdlight を増やすためのものですが、私のラップトップにはそれがなく、toggle kbdlight キーしかありません。そのため、これが問題なのかもしれないと思いますが、「toggle」キーコードを見つけることができません (/usr/include/linux/input.h完全に理解できないためかもしれません)。

キーコード 236 としてリストされている「キーボードのバックライトの切り替え」を検索してみましたxmodmap -pke | lessが、どうやらそのリストの数字は実際には機能しないようです。

助言がありますか?

編集

出力ll /sys/class/backlight/:

lrwxrwxrwx  1 root root 0 Apr 28 07:16 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/

すでに の値を変更してみました/sys/class/backlight/brightnessが、これはディスプレイの明るさを制御するだけです。

出力ll /sys/class/leds/:

lrwxrwxrwx  1 root root 0 Apr 28 07:19 input3::capslock -> ../../devices/platform/i8042/serio0/input/input3/input3::capslock/
lrwxrwxrwx  1 root root 0 Apr 28 07:19 input3::numlock -> ../../devices/platform/i8042/serio0/input/input3/input3::numlock/
lrwxrwxrwx  1 root root 0 Apr 28 07:19 input3::scrolllock -> ../../devices/platform/i8042/serio0/input/input3/input3::scrolllock/
lrwxrwxrwx  1 root root 0 Apr 28 07:19 phy0-led -> ../../devices/pci0000:00/0000:00:1c.0/0000:01:00.0/leds/phy0-led/

CapsLock は、その名の通りです (テスト済み)。NumLock は何も機能しないようです。値を 0 から最大値に変更しても何も起こりませんでした (私のキーボードには NumLock がありません)。ScrollLock も何も機能しないようです。また、何が原因なのかもわかりません。phy0-ledすでに 1 に設定されており、0 を入力しても何も起こらないようです。

編集2

するとmodprobe samsung-laptop次のエラーが発生します

modprobe: ERROR: could not insert 'samsung_laptop': No such device

これは古いバグ

答え1

キーボードの特殊キーを使用してバックライトを制御できるようにするには、次の 2 つの部分があります。

  • キーが押されたときに発生するイベントを理解する
  • 実際にバックライトの強度を変更する

また、イベントに反応して輝度を変更するプログラム (たとえばウィンドウ マネージャー) も必要です。

最初の部分は問題ありません。イベントを取得すれば、後で必要な翻訳を整理できます。2 番目の部分については、バックライトの強度を制御する方法を知っているドライバーと、このドライバーへのインターフェイスが必要です。

これらは、階層内によく見られるので/sys

ll /sys/class/backlight
ll /sys/class/led

出力を使って質問を編集してください。これらのディレクトリには、 という名前のファイルbrightnessと という名前のファイルを含む他のディレクトリへのリンクが含まれているはずですmax_brightness。名前からそれが何なのかわからない場合は、 の内容を確認しmax_brightness、ルートとして、0 から最大値までの数字を各ファイルに次のように書き込んでみてください。

echo 0 > /sys/class/led/phy0-led/brightness

そして、それが何を制御しているかを特定できるかどうかを確認します。

編集:

キーボードのバックライトのコントロールがないようです。特定のドライバーが必要です。 は WLAN LED コネクタである可能性が非常に高いですが、実際に何かに接続されている場合とそうでない場合があります。 で確認して、デバイスを探すことphy0-ledができます。lspci00:1c.0

コントロールsamsung::kbd_backlightasus-wmiWMIインターフェースを使用するASUSラップトップ用のドライバー。サムスンも同様のことをしています。サムスン ノートパソコン、 を提供し、より直接的なアクセスのためのインターフェースleds/samsung::kbd_backlightもあります。debugfs

これがあなたのモデルで機能するかどうかはわかりません。

modprobe samsung-laptop

root として、lsmodロードされているかどうかを確認し、dmesg問題やその他のメッセージがないか確認して、何か表示されるかどうかを確認します。

関連情報