索尼可程式設計I/O控制裝置驅動程式自述檔案¶
版權所有 (C) 2001-2004 Stelian Pop <stelian@popies.net>
版權所有 (C) 2001-2002 Alcôve <www.alcove.com>
版權所有 (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
版權所有 (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
版權所有 (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
版權所有 (C) 2000 Andrew Tridgell <tridge@samba.org>
該驅動程式允許訪問在許多索尼Vaio筆記型電腦中發現的索尼可程式設計I/O控制裝置。一些較新的索尼筆記型電腦(似乎僅限於新的FX系列筆記型電腦,至少是FX501和FX702)沒有sonypi裝置,因此該驅動程式完全不支援它們。
它將(透過使用者空間實用程式)提供對這些筆記型電腦生成的一些事件的訪問,例如:
慢跑撥盤事件(Vaio側面的小滾輪)
捕獲按鈕事件(僅限Vaio Picturebook系列)
Fn 鍵
藍牙按鈕(僅限C1VR型號)
可程式設計鍵、返回、幫助、縮放、拇指短語按鈕等(如果可用)
這些事件(參見 linux/sonypi.h)可以使用字元裝置節點 /dev/sonypi(主裝置號10,次裝置號自動分配或作為選項指定)進行輪詢。一個將慢跑撥盤移動轉換為滑鼠滾輪事件的簡單守護程式可以從以下網址下載:http://popies.net/sonypi/
攔截事件的另一個選項是直接透過輸入層獲取它們。
該驅動程式還支援一些用於設定LCD螢幕亮度以及查詢電池充電資訊的 ioctl 命令(未來可能會新增更多命令)。
該驅動程式也可用於設定Picturebook系列上的攝像頭控制(亮度、對比度等),並被Motion Eye攝像頭的video4linux驅動程式使用。
請注意,該驅動程式是透過逆向工程Windows驅動程式和ACPI BIOS建立的,因為索尼不同意釋出其筆記型電腦的任何程式設計規範。如果有人能說服他們這樣做,請給我發個便條。
驅動程式選項:¶
可以使用標準模組引數語法(將選項傳遞給模組時使用 <param>=<value>,或者當 sonypi 靜態連結到核心時在核心啟動行上使用 sonypi.<param>=<value>)將多個選項傳遞給 sonypi 驅動程式。這些選項是:
次裝置號
misc 裝置 /dev/sonypi 的次裝置號,預設值為 -1(自動分配,參見 /proc/misc 或核心日誌)
攝像頭
如果您有 PictureBook 系列 Vaio 筆記型電腦(帶有整合 MotionEye 攝像頭),請將此引數設定為 1,以允許驅動程式訪問攝像頭
fnkeyinit
在某些 Vaio 型號(C1VE、C1VR 等)上,除非將此引數設定為 1,否則 Fn 鍵事件不會啟用。除非確實需要,否則不要使用此選項,某些 Vaio 型號對此選項支援不佳。此選項僅在核心編譯時沒有ACPI支援的情況下可用(因為它與ACPI衝突,並且如果ACPI已啟用,則無論如何都不需要它)。
詳細
設定為 1 以列印從 sonypi 裝置接收到的未知事件。設定為 2 以列印從 sonypi 裝置接收到的所有事件。
相容
使用一些相容程式碼來啟用 sonypi 事件。如果該驅動程式在過去(1.5版之前)對您有效但現在不再工作,請新增此選項並向作者報告。
掩碼
事件掩碼,告訴驅動程式哪些事件將報告給使用者。對於某些 Vaio 型號,此引數是必需的,因為其硬體重用了其他 Vaio 型號中使用的值(例如FX系列,它沒有慢跑撥盤,但重用慢跑撥盤事件用於可程式設計鍵事件)。預設事件掩碼設定為 0xffffffff,這意味著將嘗試所有可能的事件。您可以使用以下位來構建自己的事件掩碼(來自 drivers/char/sonypi.h)
SONYPI_JOGGER_MASK 0x0001 SONYPI_CAPTURE_MASK 0x0002 SONYPI_FNKEY_MASK 0x0004 SONYPI_BLUETOOTH_MASK 0x0008 SONYPI_PKEY_MASK 0x0010 SONYPI_BACK_MASK 0x0020 SONYPI_HELP_MASK 0x0040 SONYPI_LID_MASK 0x0080 SONYPI_ZOOM_MASK 0x0100 SONYPI_THUMBPHRASE_MASK 0x0200 SONYPI_MEYE_MASK 0x0400 SONYPI_MEMORYSTICK_MASK 0x0800 SONYPI_BATTERY_MASK 0x1000 SONYPI_WIRELESS_MASK 0x2000使用輸入
如果設定(這是預設值),將建立兩個輸入裝置,一個將慢跑撥盤事件解釋為滑鼠事件,另一個則像鍵盤一樣報告特殊鍵的按下情況。
模組使用:¶
為了在使用時自動載入 sonypi 模組,您可以將這些行放入 /etc/modprobe.d/ 中的配置檔案中。
alias char-major-10-250 sonypi
options sonypi minor=250
這假定 sonypi 裝置使用次裝置號 250
# mknod /dev/sonypi c 10 250
錯誤:¶
幾位使用者報告稱,此驅動程式會停用BIOS管理的Fn鍵,這些Fn鍵用於將筆記型電腦置於睡眠狀態或切換外接顯示器開關。目前還沒有解決方法,因為該驅動程式透過啟用ACPI管理來停用這些鍵的所有APM管理(而ACPI核心部分尚未完成)。如果您擁有帶有可正常工作Fn鍵的此類筆記型電腦並希望繼續使用它們,請不要使用此驅動程式。
一些使用者報告稱,當使用帶有 fnkeyinit 引數的驅動程式時,筆記型電腦的速度會降低(經過 dhrystone 測試)。我無法在我的筆記型電腦上重現此問題,並且並非所有使用者都有此問題。發生這種情況是因為 fnkeyinit 引數啟用了 ACPI 模式(但沒有額外的 ACPI 控制,例如處理器速度處理等)。如果 ACPI 在您的筆記型電腦上有效,請使用 ACPI 而不是 APM。
sonypi 無法區分某些型號上的特定按鍵事件。
某些配備 Nvidia 顯示卡(GeForce Go 6200 TC)的型號使用不同的方式調節螢幕背光。有一個用於調節這些型號亮度的使用者空間實用程式,可以從以下網址下載:https://www.acc.umu.se/~erikw/program/smartdimmer-0.1.tar.bz2
由於所有開發都是透過逆向工程完成的,因此 *完全無法保證* 此驅動程式不會導致您的筆記型電腦崩潰。永久性地。