為什麼滑鼠和鍵盤插上電腦就能用?
滑鼠和鍵盤插上電腦就能用,不論是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)為何堅持為台式機配置垃圾手感滑鼠而不思悔改?
※咪鼠智能語音滑鼠使用體驗怎麼樣?