為什麼滑鼠和鍵盤插上電腦就能用?

滑鼠和鍵盤插上電腦就能用,不論是mac、linux、windows 系統。為了達到這樣的效果,在哪些方面做了「標準化」 和適配?


標準化的內容包括:

1、物理層的標準化。

包括物理介面的一致性(各個廠商生產出的USB接頭都是一致的),電氣性能一致(都是+5V)等等。

2、傳輸協議的標準化。

這個層面包括三個層次:

第一層是USB協議本身的標準化。

比如USB2.0規範,所有USB鍵盤、滑鼠都符合USB2.0中Full Speed傳輸的規範。規範鏈接:http://www.usb.org/developers/docs/usb20_docs/usb_20_121314.zip

規範中定義了設備描述符、設備連接時的狀態機、傳輸的報文格式等各種內容,所有USB2.0設備(包括Full Speed設備,也就是低速設備)都要符合此規範。

這一層的規範只明確了信號的格式和如何傳輸,但沒有給出硬體是如何操作的。

更多的規範位於:USB.org - USB 2.0 Documents

第二層是硬體控制器標準化。

一般來說指的是USB硬體控制器的設計規範,包括EHCI/OHCI/UHCI有哪些寄存器,控制器該如何操作等等。對於非PC設備,可能還有MHCI/SHCI等硬體。

最常見的EHCI和UHCI都是Intel定義的,EHCI規範:Enhanced Host Controller Interface Specification

這一層規範定義了USB硬體控制器在主機端如何被操作系統和軟體所控制。

第三層是鍵盤滑鼠等具體設備類的標準化。

USB鍵盤和滑鼠都歸為HID類設備,HID的規範鏈接:USB.org - HID Tools

這一層標準化定義了諸如:USB鍵盤一次報告幾個按鍵?滑鼠報告的坐標是什麼格式?等等。

同時,還要定義USB鍵盤的掃描碼:Keyboard scancodes: Keyboard-internal scancodes,其含義就是你按下某個鍵以後,鍵盤向主機彙報的鍵碼具體是什麼數值。

3、軟體層面的標準化。

包括操作系統的驅動的標準化和應用軟體的標準化。

操作系統的驅動標準化的意思就是,不同操作系統里,都把滑鼠解釋為滑鼠,而不是Windows解釋為滑鼠,流行里解釋為遊戲桿。並且,不同操作系統里解析的格式都是一樣的,不然就會出現你鍵盤按下一個鍵以後,在不同的操作系統里顯示成不一樣的字元。

同時,各個操作系統都需要有對應的驅動程序保證鍵盤滑鼠和USB都被正確的支持。

應用軟體的標準化就是軟體同樣要做相同的行為,把滑鼠當成滑鼠,把鍵盤當成鍵盤,不要覺得這很無聊,確實可以把鍵盤當成滑鼠,不過滑鼠好像很難做成鍵盤的樣子。

因為這一層都是軟體的行為,所以不同操作系統的實現是不同的,只不過最終用戶看到的效果是一致的。

------------------------分割線------------------------

實際上,你看到的標準化都是後來的產物,任何標準化的東西都是隨著時間慢慢標準起來的。

比如:

Windows98的時候對U盤和USB2.0支持的就不夠好;

不同操作系統都需要預先準備好驅動才能用,USB Hid的驅動(WIN7)下位於c:windowssystem32drivershidusb.sys,刪了它HID設備就都完蛋了(但是好像直接是刪不掉的);

Mac曾經搞過一段時間單鍵滑鼠(沒有右鍵);

……

標準化過程非常漫長。


系統中存在USB鍵鼠的通用驅動,同時鍵鼠也是根據這個通用標準做的,插上的時候系統可以讀到硬體信息,自帶的驅動就可以匹配上了

某些外設廠商也會發布專用驅動,用來實現設備的一些特殊功能

其實也不是所有的系統都是插上滑鼠就能用的

比如WINDOWS 98。。。


USB是有標準的,一旦你插上去,系統會自動從你的滑鼠鍵盤裡面把驅動程序弄出來,裝上就能用了。


因為規範化啊。


看了輪子哥的回復,我終於明白為什麼美劇裡面的電腦高手只要拿出一個u盤往對方電腦上一插就立馬開始破解/黑對方電腦,自動下載重要數據,還有進度條呢。在主人回來之前拔掉u盤,系統又恢復原貌,神不知,鬼不覺。崇拜死我了。

求輪子哥教我驅動寫法。


因為有HID這種東西


usb的標準是免費的,大家都可以用


誰能說清楚這個其實已經很牛b了,這個問題涉及硬體,驅動,操作系統,好多好多,先mark回頭來答。


即插即用就是熱交換(熱拔插)。

一個完整的熱插拔系統包括熱插拔系統的硬體,支持熱插拔的軟體和操作系統,支持熱插拔的設備驅動程序和支持熱插拔的用戶介面。

你使用的USB使用4根線的電纜,兩根線為低電壓設備供電,讓他可以RUN。

電壓來自於集線器和匯流排的連接。

另外兩根線纏繞在一起用來傳輸數據,地址,控制信號,也就是怎麼RUN。

你看USB介面上面那四條線,兩根長的是供壓的,短的是數據。你插上去的時候就是先供壓後讀寫數據,拔出來的時候就是先斷讀寫數據以起到保護的作用。

大概就這樣


推薦閱讀:

taobao上那麼多所謂的工包Magic Mouse只要3XX,甚至官網一半的價格(蘋果在線商店是¥528),他們都是通過什麼渠道拿得貨可以賣這麼便宜呢?
電腦win10藍牙設備刪除了之後怎麼恢復配對?搜索不到了?
有什麼好的無線(藍牙)滑鼠推薦?
蘋果(Apple)為何堅持為台式機配置垃圾手感滑鼠而不思悔改?
咪鼠智能語音滑鼠使用體驗怎麼樣?

TAG:計算機 | 鍵盤計算機 | 滑鼠 |