2012年6月28日 星期四

linux input subsystem

linux input的subsystem已經發展許久,為了簡化driver,系統發展出了input core的部分,不過也是因為這樣,使用者在使用方便之餘,已經搞不清楚到底事件的觸發是如何從source to destination了,還好linux是開放原始碼,所以trace source code還是可以瞧出端倪的

很多書本不知道是為了哪種理由,其實這部分大多很含糊的略過,只簡單提到使用input_register_device()去註冊由input_allocate_device()配置出來的device,然後跟著使用input_event()跟input_sync()完成工作,最多再給出個虛擬的滑鼠的範例,結束

看完之後我還是搞不懂,事件如何導向消化的地方,我可否自行寫一個輸入系統,再自行寫一個handler來處理呢?直覺上是可行的,但是如果不了解如何運作,恐怕也是很難做到

透過drivers/input/input.c的source code解析可以得到答案,不過網路上已經有人剖析得很清楚,我就直接借用連結過來吧
http://blog.163.com/wxiongn@126/blog/static/1178820382010724104617786/
http://blog.163.com/wxiongn@126/blog/static/117882038201072410502312/

沒有留言:

張貼留言