日誌2010-09-02 22:00
將一把普通鍵盤改造為神器教學?+ OD 隨筆作者:無痕之音
|
接腳 | 名稱 | 功能 |
---|---|---|
1 | +DATA | 資料 |
2 | Reserved | 保留* |
3 | GND | 地線 |
4 | Vcc | +5伏特直流電,可供應100毫安培的電流 |
5 | +CLK | 時脈(時鐘) |
6 | Reserved | 保留** |
參考出處:http://godspeedlee.myweb.hinet.net/mouse_lcm.htm 這是接上一個 PS/2 鍵盤後,按下 'B' 產生的鍵盤掃描碼。 其中 clock 永遠由 device 負責產生,clock 的頻率約在 10-16.7KHz,然後在 clock low 的時候把資料讀近來就行了。 |
觸點 | 功能(主機) | 功能(裝置) |
---|---|---|
1 | VBUS (4.75-5.25 V) | VBUS (4.4-5.25 V) |
2 | D- | D- |
3 | D+ | D+ |
4 | 接地 | 接地 |
PS/2 速度 = 16.7KHz、12Mbits/second,每秒取樣可達 200次(也就是約 5ms polling 一次)。 |
由於有接彈跳 (contact bounce) 的現象,因而幾乎不可能以機械開關得到“完美無瑕” 的電壓變化。由圖所示,將開關由位置1 扳至位置2,則在開關保持閉合於位置2 前,將因開關彈跳(數次觸及位置2 後再跳彈開) 而產生數次輸出電壓變化。 |
開關跳彈的時間一般是僅有數毫秒,但這在很多應用上是不被接受的。NAND 閘閂鎖可用以清除這種接觸跳彈的現象。利用圖說明NAND閘閂鎖如何清除“開關的接觸彈跳”現象。 |
0040550F |. A1 C0024100 mov eax,dword ptr ds:[4102C0] 這段代表將 DS 暫存 4102C0 字串壓入 eax 暫存器 00405514 |. 8B0D C4024100 mov ecx,dword ptr ds:[4102C4] 這段代表將 DS 暫存 4102C4 字串壓入 ecx暫存器 0040551A |. 894424 2C mov dword ptr ss:[esp+2C],eax 這段代表將 SS 暫存 esp 位移 2C 位元將字串從 eax 置入 0040551E |. 894C24 30 mov dword ptr ss:[esp+30],ecx 這段代表將 SS 暫存 esp 位移30 位元將字串從 ecx 置入 |
第一次(起始)壓入開啟(&E)字串值後 [ESP+34]的值是 00 00 00 00 所以顯示正常。 第二次是壓入 關閉(&D) 字串值 此時 [ESP+34]的值是 xx xx xx xx . . 第三次再壓入開啟(&E)字串值後 [ESP+34]的值是 xx xx xx xx 程式沒寫填充代碼(因原英文字串為 xx xx xx xx xx xx xx 00)顯示正常 程式把(原英文字串為 xx xx xx xx xx xx xx 00) 最後一個 00 視為字串值的分隔標誌。 使用偏移填充中文字串後為 xx xx xx xx xx xx xx xx 把最後一個 00 分隔標誌填充掉了,所以[ESP+34]的值 xx xx xx xx 也被當成是同一字串顯示出來 分析了解後知道是字串分隔標誌 00 問題 就可 Patch 代碼 [ESP+34]的值 xx xx xx xx 為 00 xx xx xx 既可 相等補上 00 分隔標誌。 |
0040CCEA C64424 34 00 mov byte ptr ss:[esp+34],0 將 0 填入 0013DE8C 區段做為字串分隔標誌 0040CCEF A1 C0024100 mov eax,dword ptr ds:[4102C0] 還原上方的原程式碼 0040CCF4 ^ E9 1B88FFFF jmp Keyboard.00405514 跳回原程式碼 0040CD01 00 db 00 0040CD02 00 db 00 |
2010-09-03 10:23無痕之音:... = =
我寫的不夠深入淺出,但這篇花就好幾天寫說。
看不懂沒關係,問我也可以呀。
2010-09-03 10:26無痕之音:昨晚比較趕才把它寫完,OD 部份用文字寫教學好累。
圖片跟文章是一邊寫一邊找題材的,謝謝鼓勵 ^^
2010-09-03 18:41無痕之音:簡單來說...
第一個觀念說的是:常見的改登錄 KeyboardDelay、KeyboardSpeed 方法,若超過系統上限,將僅以系統設定為準。
第二個觀念說的是:ps/2 跟 usb 鍵盤介面之最大區別,在於前者只有按下按鍵後才會反應,但 usb 鍵盤電腦會一直殷勤詢問鍵盤(Polling),所以處理器佔用率較高(如是 ps/2滑鼠則是會一直丟資料給電腦)。
usb 這樣造成的一個可能問題就是,電腦配備低的人將會跑的頓頓的,且對於全鍵(n-key)一起輸出也是種困擾(目前廠商已找到辦法,這部份可以解決)。
第三個觀念說的是:彈跳對於鍵盤延遲之影響,這是電子中必定發生無法避免掉的,只能透過硬體改善。使用的軟體再強,效果畢竟有限,不如硬改來的好,且軟體穩定性不若硬體內建。
2010-09-04 01:28無痕之音:自己改呀?
這真的需要電子學的技術了,祝順利硬改成功。
2010-09-04 01:29無痕之音:謝謝幫推 ...^^
2010-09-05 10:50無痕之音:所以說小迪有改過?XD
這種動作可以偶而為之,可是要是常常這樣操作,
裝置是很容易損壞的,還有平常別把 USB 接在電腦上,
因為 USB 連接裝置越多,電腦的開機時間就越久。
因為它必須在開機過程中去掃瞄那些配備,如果用不到請拔下,
印表機跟鍵盤、鼠就不用了 (不然怎麼用)。
2010-09-07 00:34無痕之音:這篇其實完全沒有提到任何修改技巧喔!
因為如果鍵盤要達到穩定及理想的速度,還是去買一把電競鍵盤比較好。
這篇只是單純的觀念概說而已,還沒有涉及深度、難度,或者是技術性的部份。唯一有涉及技術層面的,就是下方我中文化的那個隨記教學而已。
所以這篇輕鬆看看就好,其實通篇看過後您會發現沒有什麼特別。
因為說到底就是建議您依玩的遊戲買一把適合的鍵盤,如這篇所說的加速鍵盤跟加速軟體,是用於跳舞遊戲及跑跑卡丁車等賽車遊戲上,鍵盤需要較快的反應速度和靈敏度。
如要硬改,這部份只能請教電子學科系的好友幫忙改或做一個。
至於軟體,看個人實際狀況使用吧,但我玩遊戲不敢期待它就是了,hook 了還是沒感受到加速效果,比 PKB-3000 差很多。
2010-11-28 02:07無痕之音:XD 你發現了 你的文很經典
2012-07-19 14:38無痕之音:這個只能透過能調整頻率的鍵盤,也就是硬體才能發揮作用。
所以就只好乖乖買能調整按鍵觸發訊號速度的鍵盤了。
2016-12-15 18:17無痕之音:很高興文章對你有幫助。
2023-03-01 01:32無痕之音:沒在用欸,這種功能的鍵盤ZOWIE有出,可以參考這篇文:
https://www.jian-pin.com/2010zowie-gear-up-celeritas/
2023-03-01 01:33無痕之音:不,只是看雜誌將內容寫出來而已,談不上專業。