透過TPB調整X61的螢幕亮度
參見: ThinPad Buttons (http://www.nongnu.org/tpb/)
在 ThinkPad 上,使用 acpid 可以處理一些 + 的組合功能鍵,但是音量調整和背光調整的組合按鍵無法處理。
TPB 是透過監視 /dev/nvram 的變化來擷取按鍵改變的事件。所 以,使用 TBP,要在 kernel 中開啟 nvram 的選項。
執行 'watch --differences=cumulative -n 0 xxd /dev/nvram' 可以看到 nvram 的內容隨著按鍵改變。但在x61上,音量不會改變,只有mute on/off,等有空再來研究了。
執行下列指令來安裝 tpb,
# USE=xosd emerge tpb
"xosd" 的選項,使得按鍵時會在螢幕下方隨著變化的長條圖,請參見screenshot。
注意,emerge tpb 時,因為要安裝driver至kernel中,會參考到 /usr/src/linux,所以需留意其 link 是正確的。
tbp 執行時,其設定檔為 /etc/tpbrc 或者 ~/.tpbrc。
設定其中的 callback function,在按鍵時會執行指定的script程式。
CALLBACK /home/me/tpb_callback.sh
然後建立script檔 tpb_callback.sh,就直接把它附的 sample 拿來用吧,因為在x61上,只有幾個鍵會改變 nvram 的內容,對我來說,只有調整背光有用,所以只在其中對應的位置加了一行 "xbacklight =$2",利用 xbacklight 來調整背光。
(brightness)
echo "CALLBACK: $0 $1 $2 (should be brightness PERCENT)"
xbacklight =$2
;;
因為tpb要讀取 /dev/nvram的內容,一般使用者沒有讀取權限,所以要在 /etc/udev/rules.d 的目錄下,建立檔案 10-local.rules,內容如下
# Rule needed for tpb + xosd program
KERNEL==nvram, MODE=664
此外,我是用xfce4,所以在 ~/.config/xfce4/xinitrc 中加入 "tpb -d",以 daemon 的方式執行 tpb。
tpb 有 port 到 kde,稱為 kmilo,會在kcontrol中出現 thinkpad 的 hotkey 設定功能,但就是沒有背光調整的按鍵設定,所以裝了後又移除掉。
Well,到此大功告成,可以在登入後,使用 + 和 + 來調整螢幕的背光了。