2011年12月7日 星期三

IO作業3筆記II

不知是做了什麼讓gmp壞掉了QQ
guest addition? Sublime text?
(是guest addition)

------以下是正題-----
vms與coord.c都寫好編好了gpm也裝好了,最後一步-gpm要對應到哪個event?
/dev/input/event0
/dev/input/event1
/dev/input/event2
/dev/input/event3
/dev/input/event4
/dev/input/event5
/dev/input/event6
/dev/input/mouse0
/dev/input/mouse1

/dev/input/mouse2
是哪個呢?

看到這篇問題的回覆
http://www.linuxforums.org/forum/kernel/155259-virtual-mouse-driver.html

學到hd這個指令。hd 某個event,接著去動相對應的device讓它產生資料,就會印在螢幕上!
用它試試每個event,再動動滑鼠,就知道哪個才是你的滑鼠的event了!
經過實驗,我家的ubuntu 10.4 (VM on macbook) 的
 /dev/input/event3    對鍵盤有反應

 /dev/input/event4    對滑鼠有反應
 /dev/input/mouse1  對滑鼠有反應,但較慢


--2011/12/21新增,multi-touch與USB mouse的比較實驗。
/dev/input/mice: 兩者都有效
/dev/input/mouse1: 兩者都有效
/dev/input/event4: 兩者都有效,不過有觀察到差別。
上面是移動multi-touch,下面是移動USB mouse的輸出


以不是有意義的訊息輸出稍嫌可惜,不過還是能觀察出一些不同。雖然我一直很擔心VirtualBox會把各種滑鼠輸出以統一的方式交給VM,不過我在mousedev.c內印出訊息後解開了疑惑。移動multi-touch會去call mousedev_abs_event();USB mouse則會去call mousedev_rel_event()。
multi-touch與USB mouse最大的差別,在於前者產生絕對座標,後者產生相對座標。我想知道這兩者是否對應到不同的device file?

實驗結果顯示,不同的硬體輸入裝置,以滑鼠為例,對應到相同的device file。仔細一想,這樣的設計是很合理的。


---
後來發現,這件事用evbug解最快。它會告訴你現在動的硬體是哪個event。

沒有留言:

張貼留言