專利名稱:一種基于android的x86端按鍵適配方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種按鍵適配的方法,尤其涉及一種能夠快速響應(yīng)的基于android的 x86端按鍵適配方法,并提供基于android的x86端按鍵適配系統(tǒng)。
背景技術(shù):
現(xiàn)有的雙CPU系統(tǒng)中,按鍵適配普遍使用android input命令,或則將按鍵值發(fā)送到android應(yīng)用層,通過進(jìn)程間通信將按鍵值發(fā)送到android輸入系統(tǒng)的應(yīng)用層的事件隊(duì)列中進(jìn)行處理,該方法由于android應(yīng)用層的進(jìn)程間通信的效率低,因此無法滿足X86端按鍵適配的響應(yīng)時(shí)間要求,比較耗時(shí),一般需要500ms左右。而且該方法下,硬按鍵啟動除 launcher外的android應(yīng)用程序界面,launcher如果不是前臺活動,貝U無法監(jiān)聽android 輸入系統(tǒng)的按鍵事件,因此實(shí)現(xiàn)不了硬按鍵啟動launcher外的應(yīng)用程序界面。發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是需要提供一種能夠快速響應(yīng)。并且能實(shí)現(xiàn)對 launcher外的應(yīng)用程序界面進(jìn)行啟動的基于android的x86端按鍵適配方法。
對此,本發(fā)明提供一種基于android的x86端按鍵適配方法,包括以下步驟創(chuàng)建模擬按鍵驅(qū)動步驟,在android內(nèi)核源碼目錄下創(chuàng)建模擬按鍵驅(qū)動,通過模擬按鍵驅(qū)動在android的用戶空間構(gòu)造按鍵事件并寫入到android內(nèi)核中;按鍵事件寫入步驟,在android中間件往事件設(shè)備節(jié)點(diǎn)中寫入按鍵事件;按鍵采集步驟,將硬按鍵連接至與X86端相獨(dú)立的微控器,由微控器對按鍵進(jìn)行采集得到按鍵值;以及,處理步驟,判斷微控器發(fā)送過來的按鍵類型,若屬于android的非標(biāo)準(zhǔn)按鍵,則通過android的AM命令將按鍵值進(jìn)行封裝和廣播,廣播傳送給launcher后啟動相應(yīng)的功能界面;若屬于android的標(biāo)準(zhǔn)按鍵,則將按鍵值寫入模擬按鍵驅(qū)動對應(yīng)的按鍵事件中, android的輸入系統(tǒng)讀取按鍵事件后完成按鍵事件所對應(yīng)的功能。
其中,android中間件包括硬件適配層和framework層,位于android系統(tǒng)內(nèi)核驅(qū)動層以上、應(yīng)用層以下;模擬按鍵驅(qū)動是指實(shí)現(xiàn)一個(gè)驅(qū)動,以將在用戶空間采集到按鍵信息寫入到該驅(qū)動中,并由該驅(qū)動上報(bào)按鍵信息給輸入系統(tǒng),按鍵信息也稱按鍵值,而按鍵驅(qū)動是Iinux系統(tǒng)驅(qū)動的一部分,按鍵信息通過按鍵驅(qū)動采集上報(bào)給輸入系統(tǒng)處理;AM命令是 android特有shell命令,用于執(zhí)行廣播動作,實(shí)現(xiàn)向系統(tǒng)廣播信息。
本發(fā)明基于雙CPU的系統(tǒng)中,具體包括微控器和X86端的中央處理器,其中,微控器負(fù)責(zé)統(tǒng)一檢測按鍵,即對按鍵進(jìn)行采集得到按鍵值,并將按鍵值上傳給運(yùn)行android的 X86架構(gòu)的CPU端,也就是中央處理器端,為了將按鍵值適配到android的輸入系統(tǒng)中,而在android內(nèi)核驅(qū)動中使用模擬按鍵驅(qū)動,注冊按鍵事件的驅(qū)動,并在android中間件完成按鍵的適配。
本發(fā)明的進(jìn)一步改進(jìn)在于,所述創(chuàng)建模擬按鍵驅(qū)動步驟包括在android內(nèi)核源碼目錄下創(chuàng)建模擬按鍵驅(qū)動,并在模擬按鍵驅(qū)動中注冊要處理的按鍵掃描碼,同時(shí)確保android的按鍵布局文件中含有要處理的按鍵掃描碼;加載模擬按鍵驅(qū)動,生成事件設(shè)備節(jié)點(diǎn);在android中間件打開事件設(shè)備節(jié)點(diǎn);以及,構(gòu)造按鍵事件并依次將按鍵事件寫入到該事件設(shè)備節(jié)點(diǎn)中,完成按鍵適配。
與現(xiàn)有技術(shù)相比,本發(fā)明通過創(chuàng)建模擬按鍵驅(qū)動步驟實(shí)現(xiàn)按鍵適配,實(shí)現(xiàn)按鍵采集和按鍵處理可以分開在微控器和X86端的中央處理器中分別運(yùn)行,將硬按鍵連接到微控器,降低了 x86端的按鍵特別是旋鈕實(shí)現(xiàn)的復(fù)雜度,并便于對按鍵進(jìn)行統(tǒng)一管理;此外,在 x86端android內(nèi)核實(shí)現(xiàn)模擬按鍵驅(qū)動,注冊按鍵事件的驅(qū)動,生成事件設(shè)備節(jié)點(diǎn),比如/ dev/input/eventO,在android中間件往事件設(shè)備節(jié)點(diǎn)中寫入按鍵事件,響應(yīng)時(shí)間為IOOms 以下,相比現(xiàn)有技術(shù)中使用android input命令的按鍵響應(yīng)時(shí)間為500ms左右,本發(fā)明提高了 5倍的相應(yīng)速度;在此基礎(chǔ)上,本發(fā)明還實(shí)現(xiàn)硬按鍵啟動非launcher的android應(yīng)用程序界面,通過launcher接收到按鍵值,便能夠啟動相應(yīng)的應(yīng)用程序界面。
本發(fā)明的進(jìn)一步改進(jìn)在于,所述微控器為與X86端相獨(dú)立工作的CPU或MCU。由于微控器主要用于對按鍵進(jìn)行檢測,實(shí)現(xiàn)按鍵值的采集,因此,對微控器的要求并不高,用CPU 或MCU都能夠?qū)崿F(xiàn),成本低。
本發(fā)明的進(jìn)一步改進(jìn)在于,android的非標(biāo)準(zhǔn)按鍵指的是啟動launcher外的應(yīng)用程序界面的硬按鍵。優(yōu)選地,launcher外的應(yīng)用程序界面的硬按鍵包括電話、導(dǎo)航、收音、音樂、視頻、求救和文本信息中至少一種按鍵。本發(fā)明對于非android按鍵事件適配, 不需要將按鍵值寫入到android輸入系統(tǒng)中,而是在android中間件接收到微控器傳送過來的按鍵值后,使用android的AM命令將按鍵值封裝為intent傳送給launcher,然后由 launcher啟動相應(yīng)的功能界面,這樣便能夠?qū)崿F(xiàn)硬按鍵啟動launcher之外的android應(yīng)用程序界面,比如電話/導(dǎo)航/launcher/FM/Music/Movie/SOS/ICall/Web功能,實(shí)現(xiàn)功能界面之間的切換。
本發(fā)明還提供一種基于android的x86端按鍵適配系統(tǒng),包括微控器和X86端的中央處理器,所述中央處理器和微控器分別獨(dú)立工作;其中,微控器用于實(shí)現(xiàn)對按鍵進(jìn)行采集,得到按鍵值;所述中央處理器用于實(shí)現(xiàn)對按鍵值的處理。該基于android的x86端按鍵適配系統(tǒng),優(yōu)選采用上述的基于android的x86端按鍵適配方法。
本發(fā)明的進(jìn)一步改進(jìn)在于,中央處理器接收到微控器所采集的按鍵值后,由中間件執(zhí)行按鍵適配;按鍵適配完成后發(fā)送給模擬按鍵驅(qū)動進(jìn)行按鍵事件的驅(qū)動加載,即將按鍵值寫入模擬按鍵驅(qū)動對應(yīng)的按鍵事件中;最后連接至輸入系統(tǒng)中進(jìn)行功能的實(shí)現(xiàn)。
與現(xiàn)有技術(shù)相比,本發(fā)明通過創(chuàng)建模擬按鍵驅(qū)動步驟實(shí)現(xiàn)按鍵適配,實(shí)現(xiàn)按鍵采集和按鍵處理可以分開在微控器和X86端的中央處理器中分別運(yùn)行,將硬按鍵連接到微控器,降低了對x86端的按鍵適配,特別是對x86端的旋鈕適配的復(fù)雜度,并便于對按鍵進(jìn)行統(tǒng)一管理;而且,在x86端android內(nèi)核實(shí)現(xiàn)模擬按鍵驅(qū)動,注冊按鍵事件的驅(qū)動,生成事件設(shè)備節(jié)點(diǎn),比如/dev/input/eventO,在android中間件往事件設(shè)備節(jié)點(diǎn)中寫入按鍵事件,響應(yīng)時(shí)間為IOOms以下,相比現(xiàn)有技術(shù)中使用android input命令的按鍵響應(yīng)時(shí)間為500ms左右,本發(fā)明提高了 5倍的響應(yīng)速度;在此基礎(chǔ)上,本發(fā)明還實(shí)現(xiàn)硬按鍵啟動非 launcher的android應(yīng)用程序界面,通過launcher接收到按鍵值,即可啟動相應(yīng)的應(yīng)用程序界面。
圖I是本發(fā)明一種實(shí)施例的工作流程示意圖;圖2是本發(fā)明另一種實(shí)施例的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖,對本發(fā)明的較優(yōu)的實(shí)施例作進(jìn)一步的詳細(xì)說明實(shí)施例I:本例提供一種基于android的x86端按鍵適配方法,包括以下步驟創(chuàng)建模擬按鍵驅(qū)動步驟,在android內(nèi)核源碼目錄下創(chuàng)建模擬按鍵驅(qū)動,通過模擬按鍵驅(qū)動在android的用戶空間構(gòu)造按鍵事件并寫入到android內(nèi)核中;按鍵事件寫入步驟,在android中間件往事件設(shè)備節(jié)點(diǎn)中寫入按鍵事件;按鍵采集步驟,將硬按鍵連接至與X86端相獨(dú)立的微控器,由微控器對按鍵進(jìn)行采集得到按鍵值;以及,處理步驟,判斷微控器發(fā)送過來的按鍵類型,若屬于android的非標(biāo)準(zhǔn)按鍵,則通過android的AM命令將按鍵值進(jìn)行封裝和廣播,廣播傳送給launcher后啟動相應(yīng)的功能界面;若屬于android的標(biāo)準(zhǔn)按鍵,則將按鍵值寫入模擬按鍵驅(qū)動對應(yīng)的按鍵事件中, android的輸入系統(tǒng)讀取按鍵事件后完成按鍵事件所對應(yīng)的功能。
其中,android中間件包括硬件適配層和framework層,位于android系統(tǒng)內(nèi)核驅(qū)動層以上、應(yīng)用層以下;模擬按鍵驅(qū)動是指實(shí)現(xiàn)一個(gè)驅(qū)動,以將在用戶空間采集到按鍵信息寫入到該驅(qū)動中,并由該驅(qū)動上報(bào)按鍵信息給輸入系統(tǒng),按鍵信息也稱按鍵值,而按鍵驅(qū)動是Iinux系統(tǒng)驅(qū)動的一部分,按鍵信息通過按鍵驅(qū)動采集上報(bào)給輸入系統(tǒng)處理;AM命令是 android特有shell命令,用于執(zhí)行廣播動作,實(shí)現(xiàn)向系統(tǒng)廣播信息。
本例基于雙CPU的系統(tǒng)中,具體包括微控器和X86端的中央處理器,其中,微控器負(fù)責(zé)統(tǒng)一檢測按鍵,即對按鍵進(jìn)行采集得到按鍵值,并將按鍵值上傳給運(yùn)行android的X86 架構(gòu)的CPU端,也就是中央處理器端,為了將按鍵值適配到android的輸入系統(tǒng)中,而在 android內(nèi)核驅(qū)動中使用模擬按鍵驅(qū)動,注冊按鍵事件的驅(qū)動,并在android中間件完成按鍵的適配。
本例的進(jìn)一步改進(jìn)在于,所述創(chuàng)建模擬按鍵驅(qū)動步驟包括在android內(nèi)核源碼目錄下創(chuàng)建模擬按鍵驅(qū)動,并在模擬按鍵驅(qū)動中注冊要處理的按鍵掃描碼,同時(shí)確保android的按鍵布局文件中含有要處理的按鍵掃描碼;加載模擬按鍵驅(qū)動,生成事件設(shè)備節(jié)點(diǎn);在android中間件打開事件設(shè)備節(jié)點(diǎn);以及,構(gòu)造按鍵事件并依次將按鍵事件寫入到該事件設(shè)備節(jié)點(diǎn)中,完成按鍵適配。
本例的具體工作流程示意圖如圖I所示,與現(xiàn)有技術(shù)相比,本例通過創(chuàng)建模擬按鍵驅(qū)動步驟實(shí)現(xiàn)按鍵適配,實(shí)現(xiàn)按鍵采集和按鍵處理可以分開在微控器和X86端的中央處理器中分別運(yùn)行,將硬按鍵連接到微控器,降低了 x86端的按鍵特別是旋鈕實(shí)現(xiàn)的復(fù)雜度, 并便于對按鍵進(jìn)行統(tǒng)一管理;此外,在x86端android內(nèi)核實(shí)現(xiàn)模擬按鍵驅(qū)動,注冊按鍵事件的驅(qū)動,生成事件設(shè)備節(jié)點(diǎn),比如/dev/input/eventO,在android中間件往事件設(shè)備節(jié)點(diǎn)中寫入按鍵事件,響應(yīng)時(shí)間為IOOms以下,相比現(xiàn)有技術(shù)中使用android input命令的按鍵響應(yīng)時(shí)間為500ms左右,本例提高了 5倍的相應(yīng)速度;在此基礎(chǔ)上,本例還實(shí)現(xiàn)硬按鍵啟動非launcher的android應(yīng)用程序界面,通過launcher接收到按鍵值,便能夠啟動相應(yīng)的應(yīng)用程序界面。
本例的可以通過如下描述實(shí)現(xiàn)具體的實(shí)施過程(I)使用模擬按鍵驅(qū)動,android用戶空間構(gòu)造按鍵事件并寫入到內(nèi)核中,處理能力強(qiáng),速度快,處理流程如下在android內(nèi)核源碼/driver/input/keyboard/目錄下創(chuàng)建模擬按鍵驅(qū)動,并在模擬按鍵驅(qū)動中注冊要處理按鍵掃描碼,同時(shí)確保android的按鍵布局文件qwerty, kl文件中含有要處理的按鍵掃描碼,將驅(qū)動加載完后,生成事件設(shè)備節(jié)點(diǎn)/ dev/input/eventO,然后在android中間件打開/dev/input/eventO事件節(jié)點(diǎn),構(gòu)造按鍵 down/up事件并依次將按鍵事件寫入到該事件節(jié)點(diǎn)中,完成按鍵適配,這樣處理的按鍵響應(yīng)時(shí)間非???,能達(dá)到IOOms以下。
(2)在android中間件往/dev/input/eventO中寫入按鍵事件,優(yōu)勢在于較靈活、 使用方便。
(3)使用該種方法不需要將按鍵硬件連接到X86端,只需將按鍵硬件連接到另一個(gè)CPU或MCU端,優(yōu)勢在于便于按鍵管理,同時(shí)還降低按鍵實(shí)現(xiàn)的復(fù)雜度。
(4)對于非android按鍵事件適配,不需要將按鍵值寫入到android的輸入系統(tǒng)中,在android中間件接收到MCU傳送過來的按鍵值后,使用android的AM命令將按鍵值封裝為intent傳送給launcher,然后由launcher啟動相應(yīng)的功能界面,這樣實(shí)現(xiàn)硬按鍵啟動launcher之外的android應(yīng)用程序界面,比如電話/導(dǎo)航/launcher/FM/Music/Movie/ SOS/ICal 1/Web等功能界面之間的切換。
本實(shí)施過程將微控器檢測到的按鍵值發(fā)送給x86端的中央處理器,并在中間件執(zhí)行按鍵適配,按鍵適配收到按鍵值后對按鍵值進(jìn)行分類,如果是啟動launcher之外的應(yīng)用程序界面的硬件按鍵,通過android AM命令發(fā)送給launcher,由launcher啟動相應(yīng)的應(yīng)用程序界面;如果是其它硬按鍵或旋鈕,將按鍵值構(gòu)造成Android標(biāo)準(zhǔn)輸入down/up事件,然后寫入到模擬按鍵驅(qū)動NG102 driver注冊生成的/dev/input/eventO中,android輸入系統(tǒng)key process自動處理按鍵事件,實(shí)現(xiàn)基于android的x86端按鍵適配。
本例的進(jìn)一步改進(jìn)在于,所述微控器為與X86端相獨(dú)立工作的CPU或MCU。由于微控器主要用于對按鍵進(jìn)行檢測,實(shí)現(xiàn)按鍵值的采集,因此,對微控器的要求并不高,用CPU 或MCU都能夠?qū)崿F(xiàn),成本低。
本例的進(jìn)一步改進(jìn)在于,android的非標(biāo)準(zhǔn)按鍵指的是啟動launcher外的應(yīng)用程序界面的硬按鍵。優(yōu)選地,launcher外的應(yīng)用程序界面的硬按鍵包括電話、導(dǎo)航、收音、音樂、視頻、求救和文本信息中至少一種按鍵。本例對于非android按鍵事件適配,不需要將按鍵值寫入到android輸入系統(tǒng)中,而是在android中間件接收到微控器傳送過來的按鍵值后,使用android的AM命令將按鍵值封裝為intent傳送給launcher,然后由launcher 啟動相應(yīng)的功能界面,這樣便能夠?qū)崿F(xiàn)硬按鍵啟動launcher之外的android應(yīng)用程序界面,比如電話/導(dǎo)航/launcher/FM/Music/Movie/SOS/ICall/Web功能,實(shí)現(xiàn)功能界面之間的切換。
實(shí)施例2 如圖2所不,本例還提供一種基于android的x86端按鍵適配系統(tǒng),包括微控器和X86 端的中央處理器,所述中央處理器和微控器分別獨(dú)立工作;其中,微控器用于實(shí)現(xiàn)對按鍵進(jìn)行采集,得到按鍵值;所述中央處理器用于實(shí)現(xiàn)對按鍵值的處理。該基于android的x86端按鍵適配系統(tǒng),優(yōu)選采用實(shí)施例I所述的基于android的x86端按鍵適配方法。
圖2中,中央處理器可以采用E640T,微控器可以采用LPC1758,Linux2內(nèi)核優(yōu)選為Linux2. 6. 37內(nèi)核,Android操作系統(tǒng)優(yōu)選為Android2. 3. 4操作系統(tǒng)。
本例的進(jìn)一步改進(jìn)在于,中央處理器接收到微控器所采集的按鍵值后,由中間件執(zhí)行按鍵適配;按鍵適配完成后發(fā)送給模擬按鍵驅(qū)動進(jìn)行按鍵事件的驅(qū)動加載,即將按鍵值寫入模擬按鍵驅(qū)動對應(yīng)的按鍵事件中;最后連接至輸入系統(tǒng)中進(jìn)行功能的實(shí)現(xiàn)。
與現(xiàn)有技術(shù)相比,本例通過創(chuàng)建模擬按鍵驅(qū)動步驟實(shí)現(xiàn)按鍵適配,實(shí)現(xiàn)按鍵采集和按鍵處理可以分開在微控器和X86端的中央處理器中分別運(yùn)行,將硬按鍵連接到微控器,降低了對x86端的按鍵適配,特別是對x86端的旋鈕適配的復(fù)雜度,并便于對按鍵進(jìn)行統(tǒng)一管理;而且,在x86端android內(nèi)核實(shí)現(xiàn)模擬按鍵驅(qū)動,注冊按鍵事件的驅(qū)動,生成事件設(shè)備節(jié)點(diǎn),比如/dev/input/eventO,在android中間件往事件設(shè)備節(jié)點(diǎn)中寫入按鍵事件,響應(yīng)時(shí)間為IOOms以下,相比現(xiàn)有技術(shù)中使用android input命令的按鍵響應(yīng)時(shí)間為 500ms左右,本例提高了 5倍的響應(yīng)速度;在此基礎(chǔ)上,本例還實(shí)現(xiàn)硬按鍵啟動非launcher 的android應(yīng)用程序界面,通過launcher接收到按鍵值,即可啟動相應(yīng)的應(yīng)用程序界面。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于android的x86端按鍵適配方法,其特征在于,包括以下步驟 創(chuàng)建模擬按鍵驅(qū)動步驟,在android內(nèi)核源碼目錄下創(chuàng)建模擬按鍵驅(qū)動,通過模擬按鍵驅(qū)動在android的用戶空間構(gòu)造按鍵事件并寫入到android內(nèi)核中; 按鍵事件寫入步驟,在android中間件往事件設(shè)備節(jié)點(diǎn)中寫入按鍵事件; 按鍵采集步驟,將硬按鍵連接至與X86端相獨(dú)立的微控器,由微控器對按鍵進(jìn)行采集得到按鍵值;以及, 處理步驟,判斷微控器發(fā)送過來的按鍵類型,若屬于android的非標(biāo)準(zhǔn)按鍵,則通過android的AM命令將按鍵值進(jìn)行封裝和廣播,廣播傳送給launcher后啟動相應(yīng)的功能界面;若屬于android的標(biāo)準(zhǔn)按鍵,則將按鍵值寫入模擬按鍵驅(qū)動對應(yīng)的按鍵事件中,android的輸入系統(tǒng)讀取按鍵事件后完成按鍵事件所對應(yīng)的功能。
2.根據(jù)權(quán)利要求I所述的基于android的x86端按鍵適配方法,其特征在于,所述創(chuàng)建模擬按鍵驅(qū)動步驟包括 在android內(nèi)核源碼目錄下創(chuàng)建模擬按鍵驅(qū)動,并在模擬按鍵驅(qū)動中注冊要處理的按鍵掃描碼,同時(shí)確保android的按鍵布局文件中含有要處理的按鍵掃描碼; 加載模擬按鍵驅(qū)動,生成事件設(shè)備節(jié)點(diǎn); 在android中間件打開事件設(shè)備節(jié)點(diǎn);以及, 構(gòu)造按鍵事件并依次將按鍵事件寫入到該事件設(shè)備節(jié)點(diǎn)中,完成按鍵適配。
3.根據(jù)權(quán)利要求I或2所述的基于android的x86端按鍵適配方法,其特征在于,所述微控器為與X86端相獨(dú)立工作的CPU或MCU。
4.根據(jù)權(quán)利要求I或2所述的基于android的x86端按鍵適配方法,其特征在于,android的非標(biāo)準(zhǔn)按鍵指的是啟動launcher外的應(yīng)用程序界面的硬按鍵。
5.根據(jù)權(quán)利要求4所述的基于android的x86端按鍵適配方法,其特征在于,launcher外的應(yīng)用程序界面的硬按鍵包括電話、導(dǎo)航、收音、音樂、視頻、求救和文本信息中至少一種按鍵。
6.一種基于android的x86端按鍵適配系統(tǒng),其特征在于,包括微控器和X86端的中央處理器,所述中央處理器和微控器分別獨(dú)立工作;其中,微控器用于實(shí)現(xiàn)對按鍵進(jìn)行采集,得到按鍵值;所述中央處理器用于實(shí)現(xiàn)對按鍵值的處理。
7.根據(jù)權(quán)利要求6所述的基于android的x86端按鍵適配系統(tǒng),其特征在于,采用了如權(quán)利要求I或2所述的基于android的x86端按鍵適配方法。
8.根據(jù)權(quán)利要求7所述的基于android的x86端按鍵適配系統(tǒng),其特征在于,中央處理器接收到微控器所采集的按鍵值后,由中間件執(zhí)行按鍵適配;按鍵適配完成后發(fā)送給模擬按鍵驅(qū)動進(jìn)行按鍵事件的驅(qū)動加載,即將按鍵值寫入模擬按鍵驅(qū)動對應(yīng)的按鍵事件中;最后連接至輸入系統(tǒng)中進(jìn)行功能的實(shí)現(xiàn)。
全文摘要
本發(fā)明提供一種基于android的x86端按鍵適配方法及系統(tǒng),所述基于android的x86端按鍵適配方法包括以下步驟創(chuàng)建模擬按鍵驅(qū)動步驟,在android內(nèi)核源碼目錄下創(chuàng)建模擬按鍵驅(qū)動后,在用戶空間構(gòu)造按鍵事件并寫入到android內(nèi)核中;按鍵事件寫入步驟,在android中間件往事件設(shè)備節(jié)點(diǎn)中寫入按鍵事件;按鍵采集步驟;以及,處理步驟,判斷微控器發(fā)送過來的按鍵類型并分別進(jìn)行相應(yīng)的處理。本發(fā)明通過創(chuàng)建模擬按鍵驅(qū)動步驟實(shí)現(xiàn)按鍵適配,實(shí)現(xiàn)按鍵采集和按鍵處理可以分開在微控器和X86端的中央處理器中分別運(yùn)行,響應(yīng)速度快,還能夠?qū)崿F(xiàn)硬按鍵啟動非launcher的android應(yīng)用程序界面。
文檔編號G06F9/445GK102981875SQ201210493790
公開日2013年3月20日 申請日期2012年11月28日 優(yōu)先權(quán)日2012年11月28日
發(fā)明者何照丹, 朱別明 申請人:深圳市航盛電子股份有限公司