當前位置:首頁 » 操作系統 » linux滑鼠驅動

linux滑鼠驅動

發布時間: 2022-06-12 16:20:43

❶ 請問linux 2.6內核的滑鼠驅動程序路徑是什麼

linux
沒有什麼滑鼠驅動程序,只有驅動滑鼠的模塊,名字叫psmouse,你可以用modprobe
psmouse載入。

❷ Linux輸入設備驅動

輸入設備(如按鍵、鍵盤、觸摸屏、滑鼠等)是典型的字元設備,其一般的工作機理是底層在按鍵、觸摸等動作發送時產生一個中斷(或驅動通過Timer定時查詢),然後CPU通過SPI、I-C或外部存儲器匯流排讀取鍵值、坐標等數據,並將它們放入一個緩沖區,字元設備驅動管理該緩沖區,而驅動的read ()介面讓用戶可以讀取鍵值、坐標等數據。顯然,在這些工作中,只是中斷、讀鍵值/坐標值是與設備相關的,而輸入事件的緩沖區管理以及字元設備驅動的file operations介面則對輸入設備是通用的。基於此,內核設計了輸入子系統,由核心層處理公共的工作。drivers/input/keyboardgpio_keys.c基於input架構實現了一個通用的GPIO按鍵驅動。該驅動是基於platform_driver架構的,名為「gpio-keys」。它將與硬體相關的信息(如使用的GPIO號,按下和抬起時的電平等)屏蔽在板文件platform_device的platform_data中,因此該驅動可應用於各個處理器,具有良好的跨平台性。GPIO按鍵驅動通過input_event () 、input_sync()這樣的函數來匯報按鍵事件以及同步事件。從底層的GPIO按鍵驅動可以看出,該驅動中沒有任何file_operations的動作,也沒有各種IO模型,注冊進入系統也用的是input_register_device ()這樣的與input相關的API。這是由於與Linux VFS介面的這一部分代碼全部都在drivers/input/evdev.c中實現了。

❸ 如何實現linux下的滑鼠驅動 v0.6

USB 匯流排引出兩個重要的鏈表!

一個 USB 匯流排引出兩個重要的鏈表,一個為
USB 設備鏈表,一個為 USB 驅動鏈表。設備鏈表包含各種系統中的USB 設備以及這些設備的所有介面,驅動鏈表包含 USB 設備驅動程序(usb
device driver)和 USB 驅動程序(usb driver)。

USB 設備驅動程序(usb device driver)和 USB 驅動程序(usb driver)的區別是什麼?

USB 設備驅動程序包含 USB 設備的一些通用特性,將與所有 USB 設備相匹配。在 USB core 定義了:struct usb_device_driver usb_generic_driver。usb_generic_driver 是 USB 子系統中唯一的一個設備驅動程序對象。而 USB 驅動程序則是與介面相匹配,介面是一個完成特定功能的端點的集合。
設備是如何添加到設備鏈表上去的?
在設備插入 USB 控制器之後,USB core 即會將設備在系統中注冊,添加到 USB 設備鏈表上去。

USB 設備驅動程序(usb device driver)是如何添加到驅動鏈表上去的?
在系統啟動注冊 USB core 時,USB 設備驅動程序即將被注冊,也就添加到驅動鏈表上去了。

介面是如何添加到設備鏈表上去的?
在 USB 設備驅動程序和 USB 設備的匹配之後,USB core 會對設備進行配置,分析設備的結構之後會將設備所有介面都添加到設備鏈表上去。比如滑鼠設備中有一個介面,USB core 對滑鼠設備配置後,會將這個介面添加到設備鏈表上去。

USB 驅動程序(usb driver)是如何添加到驅動鏈表上去的?
在每個 USB 驅動程序的被注冊時,USB 驅動程序即會添加到驅動鏈表上去。
比如滑鼠驅動程序,usb_mouse_init 函數將通過 usb_register(&usb_mouse_driver)
將滑鼠驅動程序注冊到 USB core 中,然後就添加到驅動鏈表中去了。其中 usb_mouse_driver 是描述滑鼠驅動程序的結構體。

已配置狀態(configured status)之後話
當滑鼠的設備、介面都添加到設備鏈表,並且滑鼠驅動程序也添加到驅動鏈表上去了,
系統就進入一種叫做已配置(configured)的狀態。
要達到已配置狀態,將經歷復雜的過程,USB core 為 USB
設備奉獻著無怨無悔。在這個過程中,系統將會建立起該設備的的設備、配置、介面、設置、端點的描述信息,它們分別被
usb_device、usb_configuration、usb_interface、usb_host_interface、
usb_host_endpoint 結構體描述。
設備達到已配置狀態後,首先當然就要進行 USB 驅動程序和相應介面的配對,對於滑鼠設備來說則是滑鼠驅動程序和滑鼠中的介面的配對。USB core 會調用usb_bus 匯流排的usb_device_match
函數,通過比較設備中的介面信息和 USB 驅動程序中的 id_table,來初步決定該 USB 驅動程序是不是跟相應介面相匹配。通過這一道關卡後,USB core 會認為這個設備應該由這個驅動程序負責。
然而,僅僅這一步是不夠的,接著,將會調用 USB 驅動程序中的 probe 函數對相應介面進行進一步檢查。如果該驅動程序確實適合設備介面,對設備做一些初始化工作,分配 urb 准備數據傳輸。
當 滑鼠設備在用戶空間打開時,
將提交 probe 函數構建的 urb 請求塊,urb 將開始為傳送數據而忙碌了。urb 請求塊就像一個裝東西的「袋子」,USB
驅動程序把「空袋子」提交給 USB core,然後再交給主控制器,主控制器把數據放入這個「袋子」後再將裝滿數據的「袋子」通過 USB core
交還給
USB 驅動程序,這樣一次數據傳輸就完成了。

❹ linux主機側與設備側USB驅動

USB採用樹形拓撲結構,主機側和設備側的USB控制器分別稱為主機控制器((Host Controller)和USB設備控制器(UDC),每條匯流排上只有一個主機控制器,負責協調主機和設備間的通信,而設備不能主動向主機發送任何消息。

在Linux系統中,USB驅動可以從兩個角度去觀察,一個角度是主機側,一個角度是設備側。從上圖主機側去看,在Linux驅動中,處於USB驅動最底層的是USB主機控制器硬體,在其上運行的是USB主機控制器驅動,在主機控制器上的為USB核心層,再上層為USB設備驅動層(插入主機上的U盤、滑鼠、USB轉串口等設備驅動)。因此,在主機側的層次結構中,要實現的USB驅動包括兩類:USB主機控制器驅動和USB設備驅動,前者控制插入其中的USB設備,後者控制USB設備如何與主機通信。Linux內核中的USB核心負責USB驅動管理和協議處理的主要工作。主機控制器驅動和設備驅動之間的USB核心非常重要,其功能包括:通過定義一些數據結構、宏和功能函數,向上為設備驅動提供編程介面,向下為USB主機控制器驅動提供編程介面;維護整個系統的USB設備信息;完成設備熱插拔控制、匯流排數據傳輸控制等。

❺ 寫個usb滑鼠或鍵盤驅動需要哪些知識,linux為平台

首先需要了解Linux輸入子系統,因為滑鼠是輸入設備,一種input_device。然後需要了解USB設備驅動。使用了USB介面,urb來獲得滑鼠的數據,然後把數據往上層應用提交。可以參看內核已經有的USB滑鼠驅動,位置是\linux-3.0.86\drivers\hid\usbhid\usbmouse.c。linux-3.0.86是Linux內核的根目錄。並不難。至於哪些書,可以看『Linux設備驅動程序』這本書,里頭主要知識都有講到。

❻ 高手幫忙!請問在Linux下如何安裝USB介面的滑鼠驅動!

虛擬機?哪種?對於virtual
box需要啟用usb介面共享。

❼ 請問Linux內核里,USB鍵盤和滑鼠的驅動都是哪些文件

usbhid和usbmouse.c都在/usr/src/linux/drivers/hid/usbhid目錄下

USB 匯流排引出兩個重要的鏈表!

一個 USB 匯流排引出兩個重要的鏈表,一個為
USB 設備鏈表,一個為 USB 驅動鏈表。設備鏈表包含各種系統中的USB 設備以及這些設備的所有介面,驅動鏈表包含 USB 設備驅動程序(usb
device driver)和 USB 驅動程序(usb driver)。

USB 設備驅動程序(usb device driver)和 USB 驅動程序(usb driver)的區別是什麼?

USB 設備驅動程序包含 USB 設備的一些通用特性,將與所有 USB 設備相匹配。在 USB core 定義了:struct usb_device_driver usb_generic_driver。usb_generic_driver 是 USB 子系統中唯一的一個設備驅動程序對象。而 USB 驅動程序則是與介面相匹配,介面是一個完成特定功能的端點的集合。
設備是如何添加到設備鏈表上去的?
在設備插入 USB 控制器之後,USB core 即會將設備在系統中注冊,添加到 USB 設備鏈表上去。

USB 設備驅動程序(usb device driver)是如何添加到驅動鏈表上去的?
在系統啟動注冊 USB core 時,USB 設備驅動程序即將被注冊,也就添加到驅動鏈表上去了。

介面是如何添加到設備鏈表上去的?
在 USB 設備驅動程序和 USB 設備的匹配之後,USB core 會對設備進行配置,分析設備的結構之後會將設備所有介面都添加到設備鏈表上去。比如滑鼠設備中有一個介面,USB core 對滑鼠設備配置後,會將這個介面添加到設備鏈表上去。

USB 驅動程序(usb driver)是如何添加到驅動鏈表上去的?
在每個 USB 驅動程序的被注冊時,USB 驅動程序即會添加到驅動鏈表上去。
比如滑鼠驅動程序,usb_mouse_init 函數將通過 usb_register(&usb_mouse_driver)
將滑鼠驅動程序注冊到 USB core 中,然後就添加到驅動鏈表中去了。其中 usb_mouse_driver 是描述滑鼠驅動程序的結構體。

已配置狀態(configured status)之後話
當滑鼠的設備、介面都添加到設備鏈表,並且滑鼠驅動程序也添加到驅動鏈表上去了,
系統就進入一種叫做已配置(configured)的狀態。
要達到已配置狀態,將經歷復雜的過程,USB core 為 USB
設備奉獻著無怨無悔。在這個過程中,系統將會建立起該設備的的設備、配置、介面、設置、端點的描述信息,它們分別被
usb_device、usb_configuration、usb_interface、usb_host_interface、
usb_host_endpoint 結構體描述。
設備達到已配置狀態後,首先當然就要進行 USB 驅動程序和相應介面的配對,對於滑鼠設備來說則是滑鼠驅動程序和滑鼠中的介面的配對。USB core 會調用usb_bus 匯流排的usb_device_match
函數,通過比較設備中的介面信息和 USB 驅動程序中的 id_table,來初步決定該 USB 驅動程序是不是跟相應介面相匹配。通過這一道關卡後,USB core 會認為這個設備應該由這個驅動程序負責。
然而,僅僅這一步是不夠的,接著,將會調用 USB 驅動程序中的 probe 函數對相應介面進行進一步檢查。如果該驅動程序確實適合設備介面,對設備做一些初始化工作,分配 urb 准備數據傳輸。
當 滑鼠設備在用戶空間打開時,
將提交 probe 函數構建的 urb 請求塊,urb 將開始為傳送數據而忙碌了。urb 請求塊就像一個裝東西的「袋子」,USB
驅動程序把「空袋子」提交給 USB core,然後再交給主控制器,主控制器把數據放入這個「袋子」後再將裝滿數據的「袋子」通過 USB core
交還給
USB 驅動程序,這樣一次數據傳輸就完成了。

❽ linux驅動開發1之什麼是驅動

准確來說,驅動是針對於硬體設備的,比如:

一個鍵盤,插到電腦上,那麼電腦是如何使用鍵盤的呢,它們兩者之間是如何相互交互的呢。這個過程是需要驅動程序來實現的。

鍵盤插入電腦,引發一個中斷,然後中斷程序會檢查設備,並將一個驅動程序與這個鍵盤設備進行綁定,當你按下一個按鍵,會觸發鍵盤內的電子信號的傳輸(理解為電位1和0吧),並最終轉換為數字信號(即0和1表示的),然後Linux系統中的驅動程序接收到了這個信號,根據這個信號來判斷觸發了哪個按鍵(這個中間,其實有很多工作,不過可以這樣概括的理解),最終反饋到屏幕上。

看到了嗎,驅動,就是一個可以和硬體通信(能夠正確理解硬體發出的信號)的程序。

看到這,我想你應該明白了,你也可以為一個滑鼠寫一個驅動(前提是你了解這個滑鼠的通信協議,即電位轉換情況),然後你可以把滑鼠左鍵點擊的效果,更改成正常情況下,滑鼠右鍵點擊的效果。是不是挺有意思的。

另外,因為現在系統的日益成熟,現在Linux系統工作者很少有機會再寫硬體驅動程序了,因為這些驅動,大多數硬體產商都會給做好了(因為Linux驅動介面封裝的很好)。在移植到其它平台的時候,可能只需要簡單的修改一下Linux的驅動,就可以用了。

(ps:望採納)

❾ linux鍵盤和滑鼠驅動有HAL層嗎

沒有,這是windowsNT的技術,linux認為鍵盤和滑鼠都屬於同樣的設備,不需要HAL的屏蔽

❿ linuxf的滑鼠驅動怎麼讓它在windows和虛擬機之間自由切換

在虛擬機里安裝vmware自帶的驅動

熱點內容
csgo如何連伺服器 發布:2024-11-03 02:13:04 瀏覽:390
斯坦福python 發布:2024-11-03 01:47:08 瀏覽:609
乘法編程教程 發布:2024-11-03 01:37:06 瀏覽:693
咒怨2ftp 發布:2024-11-03 01:31:17 瀏覽:431
linux如何安裝telnet 發布:2024-11-03 01:20:20 瀏覽:83
蘋果手機怎麼加密軟體 發布:2024-11-03 01:20:16 瀏覽:885
微信存儲路徑刪除 發布:2024-11-03 01:14:09 瀏覽:392
c語言貪吃蛇源碼 發布:2024-11-03 00:57:15 瀏覽:120
八碼演算法 發布:2024-11-03 00:56:31 瀏覽:975
python怎麼念 發布:2024-11-03 00:56:22 瀏覽:222