正文

8.3 模擬器中的實(shí)現(xiàn) 驅(qū)動(dòng)程序

Android系統(tǒng)級(jí)深入開發(fā):移植與調(diào)試 作者:韓超


GoldFish虛擬處理器鍵盤輸入部分的驅(qū)動(dòng)程序是event驅(qū)動(dòng)程序,在標(biāo)準(zhǔn)的路徑中,相關(guān)文件如下所示:

drivers/input/keyboard/goldfish_events.c

這個(gè)驅(qū)動(dòng)程序是一個(gè)標(biāo)準(zhǔn)的event驅(qū)動(dòng)程序,在用戶空間的設(shè)備節(jié)點(diǎn)為/dev/event/ event0,其核心的內(nèi)容為:

events_interrupt實(shí)現(xiàn)的是按鍵事件的中斷處理函數(shù),當(dāng)中斷發(fā)生后,讀取虛擬寄存器的內(nèi)容,將信息上報(bào)。實(shí)際上,虛擬寄存器中的內(nèi)容由模擬器根據(jù)主機(jī)環(huán)境鍵盤按下的情況得到。

è 8.3.2  用戶空間的配置文件

在模擬器環(huán)境中,使用了默認(rèn)的所有的KL和KCM文件,由于模擬器環(huán)境支持全鍵盤,因此基本上包含了大部分的功能。在模擬器環(huán)境中,實(shí)際上按鍵的掃描碼對(duì)應(yīng)的是桌面電腦的鍵盤(效果和鼠標(biāo)點(diǎn)擊模擬器的控制面板類似),鍵盤的某些按鍵按下后,轉(zhuǎn)化為驅(qū)動(dòng)程序中的掃描碼,然后再由上層的用戶空間處理。這個(gè)過(guò)程和實(shí)際系統(tǒng)中是類似的。顯然,通過(guò)更改默認(rèn)的KL文件,又可以更改實(shí)際按鍵的映射關(guān)系。

 


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)