電腦鍵盤工作原理
X
C
V
B
……
……
……
……
……
……
……
……
在非編碼鍵盤的接口控制電路中,就存儲著這樣一張表格,當(dāng)按下某個按鍵,例如“Q”時,那么在這一點上,上下兩個觸點就會連通,反映到接口電路中,就會檢 測到上層導(dǎo)線1與下層導(dǎo)線2被連通了。相對應(yīng)在表中一查,就會知道,被按下的是字母“Q”,然后通過接口輸出其ASCII碼。
與老式的編碼式鍵盤相比,非編碼鍵盤的結(jié)構(gòu)要簡單許多,省略了復(fù)雜的編碼電路和蜘蛛網(wǎng)似的走線,而且更重要的是,由于非編碼式鍵盤將按鍵結(jié)構(gòu)和輸出鍵碼分 離,所以當(dāng)需要制造不同鍵位排列的鍵盤時,不需要重新設(shè)計鍵盤線路,而只要將控制電路中的鍵位排列表格重新刷新就可以了。例如在德文鍵盤上,子母“Y”和 “Z”的位置是互調(diào)的,那么如果要把一條英文鍵盤生產(chǎn)線改造成德文鍵盤生產(chǎn)線,什么都不用改變,只須在控制芯片中刷進(jìn)一個新的排列表,將“上層導(dǎo)線1-下 層導(dǎo)線4”的位置寫作“Y”,“Z”字也作同樣處理就行了,顯然比重新布線要簡單了很多。這也就是為什么非編碼式鍵盤大行其道的原因。
但是非編碼式鍵盤帶來的就是“鍵位沖突”的問題。以上面的按鍵排列表為例,當(dāng)按下一個按鍵時,鍵盤肯定會正常識別的;當(dāng)按下兩個按鍵時,例如同時按下 “Q”與“D”,此時上層導(dǎo)線1與下層導(dǎo)線2連通,而上層導(dǎo)線3與下層導(dǎo)線3連通,系統(tǒng)完全可以正常識別;或者同時按下“Q”與“E”,此時,上層導(dǎo)線 1、下層導(dǎo)線2、上層導(dǎo)線3同時連通,系統(tǒng)同樣可以正常識別出是按下了這三個按鍵。
但在同時按下3個或3個以上按鍵時,情況就復(fù)雜了。
在一種情況下,例如同時按下“Q”、“D”、“B”時,此時,從表中我們可以看出,上層導(dǎo)線1-下層導(dǎo)線2、上層導(dǎo)線3-下層導(dǎo)線3、上層導(dǎo)線5-下層導(dǎo)線4都分別連通,此時系統(tǒng)完全可以正常識別出按下了這三個按鍵。
但當(dāng)按下的第三個按鍵不是“B”,而是“E”呢?
此時,我們可以發(fā)現(xiàn),由于第三組連通的導(dǎo)線變成了上層導(dǎo)線3-下層導(dǎo)線2,所以,此時反映到接口控制芯片的信號是:上層導(dǎo)線1-下層導(dǎo)線2-上層導(dǎo)線3-下層導(dǎo)線3統(tǒng)統(tǒng)被連通到了一起。
但是,問題就在于,除了按下的第三個按鍵是“E”以外,如果按下的第三個鍵是用來連通上層導(dǎo)線1和下層導(dǎo)線3的“A”,也會有同樣的信號組合?事實上, “Q”、“E”、“A”、“B”四個按鍵中按下任何三個都會有同樣的信號組合,那么此時接口電路怎么判斷呢?究竟是按下了哪三個按鍵或者是同時把四個按鍵 都按下了呢?
這個時候,大多數(shù)鍵盤選擇的方式,就是按照一個固定的規(guī)則輸出固定的按鍵組合代碼,對于其他可能的組合方式統(tǒng)統(tǒng)予以忽略,換句話說,在上面的鍵盤中,可能 無論你怎么按這四個按鍵,它可能永遠(yuǎn)只會輸出“Q”-“E”-“D”的組合,盡管可能你按下的實際是“Q”-“A”-“D”(這里只是一個假設(shè),實際上為 了避免誤碼,大多數(shù)鍵盤根本只輸出兩個按鍵而已)。于是,“鍵位沖突”就出現(xiàn)了。
由于非編碼鍵盤的固有結(jié)構(gòu),“鍵位沖突”是不可避免的。于是就需要鍵盤的設(shè)計者絞盡腦汁修改鍵盤的線路排列和待查表格,盡量使可能會有的常用組合按鍵避開 沖突鍵位——盡管要做到所有的按鍵都不發(fā)生沖突是不可能的,但你總不能讓Ctrl-Alt-Del相互沖突吧?那這樣的鍵盤還怎么用?還有如果四個方向鍵 相互沖突,那賽車類的游戲還怎么玩?
不過,由于市場上的游戲?qū)嵲谔?,每個游戲都可能會有自己常用的按鍵組合,甚至每個人都有自己的習(xí)慣按鍵,鍵盤的設(shè)計者當(dāng)然不可能面面俱到,有經(jīng)驗的設(shè)計 師可能會考慮得多一些,至少對最常見的游戲和最常見的按鍵設(shè)置能夠保證不出現(xiàn)問題,但要考慮到所有情況當(dāng)然是不可能的。
所以,當(dāng)你購買鍵盤的時候,絕對不要忽略“鍵位沖突”的問題,一定要把鍵盤裝到電腦上,試一試自己常玩的游戲是否能夠正常使用(只有實際試用才能試出鍵位 沖突問題,由于它與鍵位表相關(guān),所以看外表是看不出來的)。同時,一些游戲高手朋友也不要白費心機(jī)去尋找什么“沒有鍵位沖突的鍵盤”了,只要它依然是非編 碼鍵盤,那么鍵位沖突就是不可避免的,只要它的鍵位沖突不對你所玩的游戲構(gòu)成影響,這就足夠了。
PS/2協(xié)議分析
The PS/2 mouse and keyboard implement a bidirectional synchronous serial protocol.
PS/2鼠標(biāo)和鍵盤執(zhí)行一個雙向同步串行協(xié)議。
The bus is "idle" when both l
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號放大器
評論