
我有一台內建掃描器的 Brother DCP7065DN 印表機。我的掃描器運作良好,所以軟體不是問題。但是如何將掃描器加入系統設定的輸入設備部分?也許這只是一個美學問題。輸入裝置清單包括鍵盤、滑鼠、遊戲控制器、圖形輸入板和觸控板。似乎掃描器也應該在列表中,儘管我對系統設定的該部分可能包含的內容沒有任何好的想法,除了已安裝的掃描器列表(通常只有一個)。
答案1
簡短的回答是「你可能不應該嘗試這樣做」。繼續閱讀簡短的解釋為什麼。
系統設定的「輸入設備」部分是透過通讀udev
來確定已配置使用的設備的。為了被視為輸入設備,硬體驅動程式的udev
屬性中必須包含以下行:
ID_INPUT=1
根據設備提供的輸入類型,還會有其他屬性進一步定義作業系統應如何與硬體互動。以下是目前有效輸入類型的清單:
ID_INPUT
ID_INPUT_MOUSE
ID_INPUT_TABLET
ID_INPUT_TOUCHSCREEN
ID_INPUT_JOYSTICK
ID_INPUT_KEY
ID_INPUT_KEYBOARD
設定基本屬性後,根據核心、製造商或兩者提供的驅動程序,還有與裝置關聯的其他屬性。 Lenovo ThinkPad 上的鍵盤屬性範例可能如下所示:
P: /devices/platform/i8042/serio0/input/input4/event4
E: DEVNAME=/dev/input/event4
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: XKBMODEL=pc109
E: XKBLAYOUT=jp
E: XKBVARIANT=nodeadkeys
E: x11_driver=evdev
筆記:這是取自我的 Lenovo ThinkPad Carbon X1,它有日文鍵盤。您的配置可能會有所不同。
這三個ID_INPUT
標誌將設備報告為用於輸入、帶有按鍵和鍵盤(而不是電子鋼琴)。 -prefixed標誌X
向 Xorg 提供了額外的詳細信息,以了解如何在輸入到達緩衝區時理解輸入。
為了讓您的掃描器出現在「輸入裝置」部分中,您需要將其udev
規則配置為顯示為滑鼠、平板電腦、觸控螢幕、遊戲控制器、鍵控裝置或鍵盤。掃描器通常不提供任何這些東西供電腦監控或連接。讓事情變得更困難的是,即使您將自訂udev
規則組合在一起,屬性視窗的 UI 也會完全錯誤,因為系統無法清楚地了解實際存在的輸入選項。
換句話說,您需要從頭開始編寫自訂驅動程式來模擬各種輸入並將它們視為掃描器屬性。這不是一項不可能的任務,但也不是一個週末就能完成的任務。
因此,回到答案的第一句話,您可能不應該嘗試這樣做