私は最近Samsung NP900X3Nを購入し、バックライトが機能することを試みます(UEFIでLinux Mint 18.1とKernel 4.10を使用)。私はそれについてたくさん読んで、トピックに関する多くのページがあることを知っていますが、それらはすべて古く(3年以上)、それらのどれも私のために働くことはできません(おそらくこのバージョンのラップトップは比較的新しいものです)。
私が試したいくつかのことは次のとおりです。
- パッケージをダウンロードしてインストールしましたが、
samsung-tools
実行後2分ほど出力が出ず、エラーが発生します。 samsung::kbd_backlight/brightness
以下に基づいてファイルを見つけようとします。この簡単な答えしかし、明らかにそうではありません(aだけが見つかりましたが、phy0-led/brightness
それが何であるかはわかりませんが、すでに1に設定されています)。- 私は次を試しましたこのガイド非常に受動的なアプローチを取ったが、率直に言うと、遠くに行くことができませんでした。 (おそらく知識が不足しているため、あまり複雑でない方法がありました。)
- 推奨に従ってカーネルログを確認して、キーのスキャンコードを確認してください。この回答。
最後が一番近く、もっと追求したいのだ。押すと(キーボードバックライトが切り替わる)、そのfn+f9
キーにスキャンコードが割り当てられます。e02c
だから私はそうでした。
sudo setkeycodes e02c 230
提案通り回答。したがって、このキーを押すと、キーボードインジケータ記号が表示された通知が表示されます。これは良い信号だと思いますが、何も起こりません。
質問に示すように、キーコード値230はkbdlightを増やすためのものですが、私のラップトップにはありません。トグルkbdlightキーのみがあります。だからそれが問題かもしれないと思っていましたが、「トグル」キーコードが見つかりません(これは私が完全に理解していない理由によるかもしれません/usr/include/linux/input.h
)。
「キーボードバックライトの切り替え」ルックアップを試してみましたが、xmodmap -pke | less
キーコード236としてリストされていましたが、そのリストの数字は実際には機能しないようです。
どんな提案がありますか?
編集する
出力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/
Caps Lockは、示されているとおりに正しく機能します(テストしてみました)。値を0から最大に変更すると、Num Lockは何もしないように見え、何も起こりません。 (私のキーボードにはNum Lockがありません。Scroll Lockも何もしませんphy0-led
。
編集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
それが何を制御しているかを識別できることを確認してください。
編集する:
まあ、キーボードバックライトの制御機能がないようです。特定のドライバが必要です。phy0-led
実際には、どんなものにも接続されていても接続されていない可能性があるWLAN LEDコネクタである可能性が高いです。ここでlspci
デバイスを確認して見つけることができます00:1c.0
。
samsung::kbd_backlight
提供されるコントロールAsus wmiWMIインターフェイスを使用したASUSノートブックドライバ。これはいサムスンにも似たものがあります。サムスンのラップトップ、より直接的なアクセスのためのインターフェイスをleds/samsung::kbd_backlight
提供します。debugfs
これがあなたのモデルに適しているかどうかはわかりません。努力する
modprobe samsung-laptop
ルートとしてlsmod
ロードされていることを確認し、dmesg
問題や他のメッセージがあるかどうかを確認し、問題があるかどうかを確認します。