讓鍵盤背光在三星上工作

讓鍵盤背光在三星上工作

我最近買了一台 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/

大寫鎖就是它所說的(我已經測試過)。數字鎖似乎沒有做任何事情,因為我將值從 0 更改為最大值,但什麼也沒發生(我的鍵盤沒有數字鎖。滾動鎖似乎也沒有做任何事情。我也不知道phy0-led已經設定為1 了,設定0 似乎沒有任何作用。

編輯2

這樣做modprobe samsung-laptop給了我以下錯誤

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

這似乎是一個老蟲子

答案1

使用鍵盤上的特殊鍵控制背光有兩個部分:

  • 了解按下按鍵時產生的事件
  • 實際上改變背光強度

您需要一個程式(例如視窗管理器)來對事件做出反應,然後更改強度。

第一部分沒問題,您會收到一個事件,我們稍後可以整理必要的翻譯。至於第二部分,您需要一些知道如何控制背光強度的驅動程序,然後需要一些與該驅動程式的介面。

通常這些可以在/sys, 層次結構中找到,所以嘗試

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

並用輸出編輯你的問題。這些目錄應包含指向其他目錄的鏈接,其中包含一個名為 的檔案brightness和一個名為 的檔案max_brightness。如果您無法從名稱中找出它是什麼,請查看 的內容max_brightness,並以 root 身份嘗試向每個文件寫入 0 到最大值之間的數字,例如

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

看看你是否能辨識出它控制的是什麼。

編輯

好吧,看起來鍵盤背光沒有控件,您需要特定的驅動程式。phy0-led很可能是一個 WLAN LED 連接器,它實際上可能連接到任何東西,也可能不會連接到任何東西。您可以在 處檢查lspci並尋找該裝置00:1c.0

控件samsung::kbd_backlight由提供華碩wmi使用 WMI 介面的華碩筆記型電腦驅動程式。這三星有類似的東西,即三星筆記型電腦,它提供了leds/samsung::kbd_backlight,還有一個debugfs介面可以更直接的存取。

不知道這是否適用於您的模型。嘗試

modprobe samsung-laptop

作為 root,驗證lsmod是否已加載,查看dmesg是否有任何問題或其他訊息,並查看是否出現問題。

相關內容