本發(fā)明涉及移動終端技術(shù)領(lǐng)域,尤其涉及一種處理用戶輸入事件的方法、裝置及移動終端。
背景技術(shù):
隨著智能移動終端觸摸屏的普及,全鍵盤的終端設(shè)計已經(jīng)逐步淡出人們的視野。觸摸屏的易操作性、視野廣和反應(yīng)速度快是大家對其最直觀的認識?,F(xiàn)在的智能移動終端的功能可以說是越來越多,大屏幕無邊框智能手機的普及給用戶帶來了前所未有的視覺體驗。智能移動終端通過利用手機屏幕無邊框的優(yōu)勢,在手機屏幕邊緣處加入額外的觸控感應(yīng)層,從而可以實現(xiàn)一些簡單快捷的操作。
目前邊緣觸控感應(yīng)區(qū)的設(shè)計基本都是使用透明的窗口始終顯示在邊緣比較窄的區(qū)域,以此來截獲邊緣滑動事件,響應(yīng)邊緣觸控功能。然而,由于透明窗口的存在,由于其顯示層次比較高,因此不可避免的會攔截掉窗體下方的控件事件,造成不可點擊或滑動的情況,給用戶造成一定的困惑。
例如圖3所示,為了實現(xiàn)觸摸屏底部上滑響應(yīng)某些功能,比如拉起分屏的功能,在觸摸屏底部添加了透明的窗口來攔截觸摸屏底部上滑事件,以此拉起分屏。然而,由于透明窗口的層次比較高,當觸摸屏靠近底部的按鈕等控件與透明窗口之間具有重疊區(qū)域的時候,用戶點擊該按鈕會出現(xiàn)無法響應(yīng)該點擊事件的情況,從而給用戶的使用造成了一定的不便。
如何實現(xiàn)邊緣觸控的便捷功能的同時不會攔截邊緣控件事件,從而避免用戶使用邊緣觸控功能時所出現(xiàn)的不可點擊或滑動的情況,提升用戶的使用體驗,目前現(xiàn)有技術(shù)中還沒有相關(guān)的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種處理用戶輸入事件的方法、裝置、及移動終端,能夠避免用戶使用邊緣觸控功能時所出現(xiàn)的不可點擊或滑動的情況,提升了用戶的使用體驗。
為實現(xiàn)上述目的,本發(fā)明實施例提供了一種處理用戶輸入事件的方法,包括:
使輸入管理器im通過管道pipe將用戶輸入事件分發(fā)到應(yīng)用程序;
在所述應(yīng)用程序不啟用應(yīng)用窗口的情況下,直接通過所述管道pipe操作監(jiān)聽到用戶輸入事件后,根據(jù)所述用戶輸入事件的類型及發(fā)生在觸摸屏上的位置對所述用戶輸入事件進行過濾;
對過濾后的用戶輸入事件進行響應(yīng)處理。
可選地,所述用戶輸入事件包括以下事件中的至少一種:觸摸屏事件、按鍵事件。
可選地,所述輸入管理器im通過管道pipe將用戶輸入事件分發(fā)到應(yīng)用程序包括:
使所述輸入管理器im通過管道pipe將所述用戶輸入事件分發(fā)到服務(wù)端接口,當所述服務(wù)端接口接收到所述用戶輸入事件后,通過ipc機制將其發(fā)送至客戶端接口,所述客戶端接口再將其發(fā)送到所述應(yīng)用程序。
可選地,根據(jù)該用戶輸入事件的類型及其發(fā)生在觸摸屏上的位置對該用戶輸入事件進行過濾包括:
判斷所述用戶輸入事件的類型;如果所述用戶輸入事件屬于觸摸屏事件,則判斷所述觸摸屏事件是否發(fā)生在觸摸屏上的預(yù)設(shè)位置,如果是,則對所述觸摸屏事件進行響應(yīng)處理。
可選地,對所述觸摸屏事件進行響應(yīng)處理包括:
拉起分屏。
本發(fā)明實施例還提供了一種處理用戶輸入事件的裝置,包括:
用戶輸入事件分發(fā)模塊,設(shè)置為使輸入管理器im通過管道pipe將用戶輸入事件分發(fā)到應(yīng)用程序;
用戶輸入事件監(jiān)聽模塊,設(shè)置為在所述應(yīng)用程序不啟用應(yīng)用窗口的情況下,直接通過所述管道pipe操作監(jiān)聽用戶輸入事件,并將監(jiān)聽到的用戶輸入事件發(fā)送至用戶輸入事件過濾模塊;
用戶輸入事件過濾模塊,設(shè)置為根據(jù)所述用戶輸入事件的類型及發(fā)生在觸摸屏上的位置對所述用戶輸入事件進行過濾,并將過濾后的用戶輸入事件發(fā)送至用戶輸入事件響應(yīng)處理模塊;
用戶輸入事件響應(yīng)處理模塊,設(shè)置為對過濾后的用戶輸入事件進行響應(yīng)處理。
可選地,所述用戶輸入事件包括以下事件中的至少一種:觸摸屏事件、按鍵事件。
可選地,所述用戶輸入事件分發(fā)模塊具體設(shè)置為:
使所述輸入管理器im通過管道pipe將所述用戶輸入事件分發(fā)到服務(wù)端接口,當所述服務(wù)端接口接收到所述用戶輸入事件后,通過ipc機制將其發(fā)送至客戶端接口,所述客戶端接口再將其發(fā)送到所述應(yīng)用程序。
可選地,所述用戶輸入事件過濾模塊具體設(shè)置為:
判斷所述用戶輸入事件的類型;如果所述用戶輸入事件屬于觸摸屏事件,則判斷所述觸摸屏事件是否發(fā)生在觸摸屏上的預(yù)設(shè)位置,如果是,則對所述觸摸屏事件進行響應(yīng)處理。
可選地,對所述觸摸屏事件進行響應(yīng)處理包括:
拉起分屏。
本發(fā)明實施例還提供了一種移動終端,包括處理用戶輸入事件的裝置。
本發(fā)明提出的技術(shù)方案包括:使輸入管理器im通過管道pipe將用戶輸入事件分發(fā)到應(yīng)用程序;在所述應(yīng)用程序不啟用應(yīng)用窗口的情況下,直接通過所述管道pipe操作監(jiān)聽到用戶輸入事件后,根據(jù)所述用戶輸入事件的類型及其發(fā)生在觸摸屏上的位置對所述用戶輸入事件進行過濾;對過濾后的用戶輸入事件進行響應(yīng)處理。本發(fā)明在不啟用應(yīng)用窗口的情況下,由應(yīng)用程序直接通過管道操作監(jiān)聽用戶輸入事件,并對滿足一定條件的用戶輸入事件進行響應(yīng)處理,從而實現(xiàn)邊緣觸控的便捷功能的同時不會攔截邊緣控件事件,避免了用戶使用邊緣觸控功能時所出現(xiàn)的不可點擊或滑動的情況,提升了用戶的使用體驗。
附圖說明
圖1為實現(xiàn)本發(fā)明各個實施例一可選的移動終端的硬件結(jié)構(gòu)示意圖;
圖2為本發(fā)明圖1中的移動終端的無線通信系統(tǒng)示意圖;
圖3為現(xiàn)有技術(shù)中邊緣透明窗口設(shè)計方案的示意圖;
圖4為本發(fā)明中實現(xiàn)處理用戶輸入事件的方法的流程圖;
圖5為本發(fā)明中實現(xiàn)處理用戶輸入事件的裝置的組成結(jié)構(gòu)示意圖;
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施方式
應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
移動終端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、pda(個人數(shù)字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動終端以及諸如數(shù)字tv、臺式計算機等等的固定終端。下面,假設(shè)終端是移動終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。
圖1為實現(xiàn)本發(fā)明各個實施例一可選的移動終端的硬件結(jié)構(gòu)示意。
移動終端100可以包括無線通信單元110、a/v(音頻/視頻)輸入單元120、用戶輸入單元130、感測單元140、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應(yīng)理解的是,并不要求實施所有示出的組件??梢蕴娲貙嵤└嗷蚋俚慕M件。將在下面詳細描述移動終端的元件。
無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統(tǒng)或網(wǎng)絡(luò)之間的無線電通信。例如,無線通信單元可以包括廣播接收模塊111、移動通信模塊112、無線互聯(lián)網(wǎng)模塊113、短程通信模塊114和位置信息模塊115中的至少一個。
廣播接收模塊111經(jīng)由廣播信道從外部廣播管理服務(wù)器接收廣播信號和/或廣播相關(guān)信息。廣播信道可以包括衛(wèi)星信道和/或地面信道。廣播管理服務(wù)器可以是生成并發(fā)送廣播信號和/或廣播相關(guān)信息的服務(wù)器或者接收之前生成的廣播信號和/或廣播相關(guān)信息并且將其發(fā)送給終端的服務(wù)器。廣播信號可以包括tv廣播信號、無線電廣播信號、數(shù)據(jù)廣播信號等等。而且,廣播信號可以進一步包括與tv或無線電廣播信號組合的廣播信號。廣播相關(guān)信息也可以經(jīng)由移動通信網(wǎng)絡(luò)提供,并且在該情況下,廣播相關(guān)信息可以由移動通信模塊112來接收。廣播信號可以以各種形式存在,例如,其可以以數(shù)字多媒體廣播(dmb)的電子節(jié)目指南(epg)、數(shù)字視頻廣播手持(dvb-h)的電子服務(wù)指南(esg)等等的形式而存在。廣播接收模塊111可以通過使用各種類型的廣播系統(tǒng)接收信號廣播。特別地,廣播接收模塊111可以通過使用諸如多媒體廣播-地面(dmb-t)、數(shù)字多媒體廣播-衛(wèi)星(dmb-s)、數(shù)字視頻廣播-手持(dvb-h),前向鏈路媒體(mediaflo@)的數(shù)據(jù)廣播系統(tǒng)、地面數(shù)字廣播綜合服務(wù)(isdb-t)等等的數(shù)字廣播系統(tǒng)接收數(shù)字廣播。廣播接收模塊111可以被構(gòu)造為適合提供廣播信號的各種廣播系統(tǒng)以及上述數(shù)字廣播系統(tǒng)。經(jīng)由廣播接收模塊111接收的廣播信號和/或廣播相關(guān)信息可以存儲在存儲器160(或者其它類型的存儲介質(zhì))中。
移動通信模塊112將無線電信號發(fā)送到基站(例如,接入點、節(jié)點b等等)、外部終端以及服務(wù)器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語音通話信號、視頻通話信號、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類型的數(shù)據(jù)。
無線互聯(lián)網(wǎng)模塊113支持移動終端的無線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無線互聯(lián)網(wǎng)接入技術(shù)可以包括wlan(無線lan)(wi-fi)、wibro(無線寬帶)、wimax(全球微波互聯(lián)接入)、hsdpa(高速下行鏈路分組接入)等等。
短程通信模塊114是用于支持短程通信的模塊。短程通信技術(shù)的一些示例包括藍牙tm、射頻識別(rfid)、紅外數(shù)據(jù)協(xié)會(irda)、超寬帶(uwb)、紫蜂tm等等。
位置信息模塊115是用于檢查或獲取移動終端的位置信息的模塊。位置信息模塊的典型示例是gps(全球定位系統(tǒng))。根據(jù)當前的技術(shù),gps模塊115計算來自三個或更多衛(wèi)星的距離信息和準確的時間信息并且對于計算的信息應(yīng)用三角測量法,從而根據(jù)經(jīng)度、緯度和高度準確地計算三維當前位置信息。當前,用于計算位置和時間信息的方法使用三顆衛(wèi)星并且通過使用另外的一顆衛(wèi)星校正計算出的位置和時間信息的誤差。此外,gps模塊115能夠通過實時地連續(xù)計算當前位置信息來計算速度信息。
a/v輸入單元120用于接收音頻或視頻信號。a/v輸入單元120可以包括相機121和麥克風122,相機121對在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進行處理。處理后的圖像幀可以顯示在顯示單元151上。經(jīng)相機121處理后的圖像幀可以存儲在存儲器160(或其它存儲介質(zhì))中或者經(jīng)由無線通信單元110進行發(fā)送,可以根據(jù)移動終端的構(gòu)造提供兩個或更多相機1210。麥克風122可以在電話通話模式、記錄模式、語音識別模式等等運行模式中經(jīng)由麥克風接收聲音(音頻數(shù)據(jù)),并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語音)數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由移動通信模塊112發(fā)送到移動通信基站的格式輸出。麥克風122可以實施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號的過程中產(chǎn)生的噪聲或者干擾。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導(dǎo)致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當觸摸板以層的形式疊加在顯示單元151上時,可以形成觸摸屏。
感測單元140檢測移動終端100的當前狀態(tài),(例如,移動終端100的打開或關(guān)閉狀態(tài))、移動終端100的位置、用戶對于移動終端100的接觸(即,觸摸輸入)的有無、移動終端100的取向、移動終端100的加速或減速移動和方向等等,并且生成用于控制移動終端100的操作的命令或信號。例如,當移動終端100實施為滑動型移動電話時,感測單元140可以感測該滑動型電話是打開還是關(guān)閉。另外,感測單元140能夠檢測電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。感測單元140可以包括接近傳感器1410將在下面結(jié)合觸摸屏來對此進行描述。
接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(i/o)端口、視頻i/o端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用移動終端100的各種信息并且可以包括用戶識別模塊(uim)、客戶識別模塊(sim)、通用客戶識別模塊(usim)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經(jīng)由端口或其它連接裝置與移動終端100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿咏K端100內(nèi)的一個或多個元件或者可以用于在移動終端和外部裝置之間傳輸數(shù)據(jù)。
另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸?shù)揭苿咏K端的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端是否準確地安裝在底座上的信號。輸出單元150被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報單元153等等。
顯示單元151可以顯示在移動終端100中處理的信息。例如,當移動終端100處于電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(ui)或圖形用戶界面(gui)。當移動終端100處于視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的ui或gui等等。
同時,當顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏時,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(lcd)、薄膜晶體管lcd(tft-lcd)、有機發(fā)光二極管(oled)顯示器、柔性顯示器、三維(3d)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為toled(透明有機發(fā)光二極管)顯示器等等。根據(jù)特定想要的實施方式,移動終端100可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
音頻輸出模塊152可以在移動終端處于呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時,將無線通信單元110接收的或者在存儲器160中存儲的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號并且輸出為聲音。而且,音頻輸出模塊152可以提供與移動終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚聲器、蜂鳴器等等。
警報單元153可以提供輸出以將事件的發(fā)生通知給移動終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報單元153可以以不同的方式提供輸出以通知事件的發(fā)生。例如,警報單元153可以以振動的形式提供輸出,當接收到呼叫、消息或一些其它進入通信(incomingcommunication)時,警報單元153可以提供觸覺輸出(即,振動)以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的移動電話處于用戶的口袋中時,用戶也能夠識別出各種事件的發(fā)生。警報單元153也可以經(jīng)由顯示單元151或音頻輸出模塊152提供通知事件的發(fā)生的輸出。
存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時地存儲己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關(guān)于當觸摸施加到觸摸屏時輸出的各種方式的振動和音頻信號的數(shù)據(jù)。
存儲器160可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,sd或dx存儲器等等)、隨機訪問存儲器(ram)、靜態(tài)隨機訪問存儲器(sram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、可編程只讀存儲器(prom)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡(luò)存儲裝置協(xié)作。
控制器180通??刂埔苿咏K端的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊1810,多媒體模塊1810可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離??刂破?80可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當?shù)碾娏Α?/p>
這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(asic)、數(shù)字信號處理器(dsp)、數(shù)字信號處理裝置(dspd)、可編程邏輯裝置(pld)、現(xiàn)場可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設(shè)計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當?shù)木幊陶Z言編寫的軟件應(yīng)用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。
至此,己經(jīng)按照其功能描述了移動終端。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型移動終端等等的各種類型的移動終端中的滑動型移動終端作為示例。因此,本發(fā)明能夠應(yīng)用于任何類型的移動終端,并且不限于滑動型移動終端。
如圖1中所示的移動終端100可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來操作。
現(xiàn)在將參考圖2描述其中根據(jù)本發(fā)明的移動終端能夠操作的通信系統(tǒng)。
這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(fdma)、時分多址(tdma)、碼分多址(cdma)和通用移動通信系統(tǒng)(umts)(特別地,長期演進(lte))、全球移動通信系統(tǒng)(gsm)等等。作為非限制性示例,下面的描述涉及cdma通信系統(tǒng),但是這樣的教導(dǎo)同樣適用于其它類型的系統(tǒng)。
參考圖2,cdma無線通信系統(tǒng)可以包括多個移動終端100、多個基站(bs)270、基站控制器(bsc)275和移動交換中心(msc)280。msc280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(pstn)290形成接口。msc280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的bsc275形成接口。回程線路可以根據(jù)若干己知的接口中的任一種來構(gòu)造,所述接口包括例如e1/t1、atm,ip、ppp、幀中繼、hdsl、adsl或xdsl。將理解的是,如圖2中所示的系統(tǒng)可以包括多個bsc2750。
每個bs270可以服務(wù)一個或多個分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個分區(qū)放射狀地遠離bs270?;蛘?,每個分區(qū)可以由用于分集接收的兩個或更多天線覆蓋。每個bs270可以被構(gòu)造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25mhz,5mhz等等)。
分區(qū)與頻率分配的交叉可以被稱為cdma信道。bs270也可以被稱為基站收發(fā)器子系統(tǒng)(bts)或者其它等效術(shù)語。在這樣的情況下,術(shù)語"基站"可以用于籠統(tǒng)地表示單個bsc275和至少一個bs270?;疽部梢员环Q為"蜂窩站"?;蛘?,特定bs270的各分區(qū)可以被稱為多個蜂窩站。
參考圖2,cdma無線通信系統(tǒng)可以包括多個移動終端100、多個基站(bs)270、基站控制器(bsc)275和移動交換中心(msc)280。msc280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(pstn)290形成接口。msc280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的bsc275形成接口?;爻叹€路可以根據(jù)若干己知的接口中的任一種來構(gòu)造,所述接口包括例如e1/t1、atm,ip、ppp、幀中繼、hdsl、adsl或xdsl。將理解的是,如圖2中所示的系統(tǒng)可以包括多個bsc2750。
每個bs270可以服務(wù)一個或多個分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個分區(qū)放射狀地遠離bs270?;蛘撸總€分區(qū)可以由用于分集接收的兩個或更多天線覆蓋。每個bs270可以被構(gòu)造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25mhz,5mhz等等)。
分區(qū)與頻率分配的交叉可以被稱為cdma信道。bs270也可以被稱為基站收發(fā)器子系統(tǒng)(bts)或者其它等效術(shù)語。在這樣的情況下,術(shù)語"基站"可以用于籠統(tǒng)地表示單個bsc275和至少一個bs270?;疽部梢员环Q為"蜂窩站"?;蛘?,特定bs270的各分區(qū)可以被稱為多個蜂窩站。
如圖2中所示,廣播發(fā)射器(bt)295將廣播信號發(fā)送給在系統(tǒng)內(nèi)操作的移動終端100。如圖1中所示的廣播接收模塊111被設(shè)置在移動終端100處以接收由bt295發(fā)送的廣播信號。在圖2中,示出了幾個全球定位系統(tǒng)(gps)衛(wèi)星300。衛(wèi)星300幫助定位多個移動終端100中的至少一個。
在圖2中,描繪了多個衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。如圖1中所示的gps模塊115通常被構(gòu)造為與衛(wèi)星300配合以獲得想要的定位信息。替代gps跟蹤技術(shù)或者在gps跟蹤技術(shù)之外,可以使用可以跟蹤移動終端的位置的其它技術(shù)。另外,至少一個gps衛(wèi)星300可以選擇性地或者額外地處理衛(wèi)星dmb傳輸。
作為無線通信系統(tǒng)的一個典型操作,bs270接收來自各種移動終端100的反向鏈路信號。移動終端100通常參與通話、消息收發(fā)和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定bs270內(nèi)進行處理。獲得的數(shù)據(jù)被轉(zhuǎn)發(fā)給相關(guān)的bsc275。bsc提供通話資源分配和包括bs270之間的軟切換過程的協(xié)調(diào)的移動管理功能。bsc275還將接收到的數(shù)據(jù)路由到msc280,其提供用于與pstn290形成接口的額外的路由服務(wù)。類似地,pstn290與msc280形成接口,msc與bsc275形成接口,并且bsc275相應(yīng)地控制bs270以將正向鏈路信號發(fā)送到移動終端100。
基于上述移動終端硬件結(jié)構(gòu)以及通信系統(tǒng),提出本發(fā)明方法各個實施例。
圖4為本發(fā)明實現(xiàn)處理用戶輸入事件的方法的流程圖,如圖4所示,包括以下步驟:
步驟400:使輸入管理器im通過管道pipe將用戶輸入事件分發(fā)到應(yīng)用程序。
具體地,輸入管理器im通過管道pipe將用戶輸入事件分發(fā)到應(yīng)用程序包括:
該輸入管理器im通過管道pipe將用戶輸入事件分發(fā)到服務(wù)端接口,當服務(wù)端接口接收到該用戶輸入事件后,通過ipc機制將其發(fā)送至客戶端接口,客戶端接口再將其發(fā)送到應(yīng)用程序。
其中,該用戶輸入事件包括但不限于以下事件中的至少一種:觸摸屏事件、按鍵事件。
輸入管理器(inputmanager,簡稱“im”)是移動終端平臺軟件中對用戶輸入事件進行管理的模塊。以android平臺為例,android的輸入事件管理通過輸入事件管理服務(wù)類inputmanagerservice來實現(xiàn),通過創(chuàng)建一個inputmanagerservice的實例,并在系統(tǒng)啟動的時候通過servicemanager的addservice方法對該輸入管理服務(wù)進行注冊,之后就可以通過該實例中的一些接口對用戶輸入事件進行監(jiān)聽和分發(fā)了。至于如何監(jiān)聽,屬于現(xiàn)有技術(shù),這里不再贅述。
管道pipe是進程間通信的主要手段之一。一個管道實際上就是個只存在于內(nèi)存中的文件,對這個文件的操作要通過兩個已經(jīng)打開的文件進行,它們分別代表管道的兩端。管道是一種特殊的文件,它不屬于某一種文件系統(tǒng),而是一種獨立的文件系統(tǒng),有其自己的數(shù)據(jù)結(jié)構(gòu)。
管道是由內(nèi)核管理的一個緩沖區(qū),相當于放入內(nèi)存中的一個紙條。管道的一端連接一個進程的輸出。這個進程會向管道中放入信息。管道的另一端連接一個進程的輸入,這個進程取出被放入管道的信息。
一個緩沖區(qū)不需要很大一般為4k大小,它被設(shè)計成為環(huán)形的數(shù)據(jù)結(jié)構(gòu),以便管道可以被循環(huán)利用。當管道中沒有信息的話,從管道中讀取的進程會等待,直到另一端的進程放入信息。當管道被放滿信息的時候,嘗試放入信息的進程會等待,直到另一端的進程取出信息。當兩個進程都終結(jié)的時候,管道也自動消失。
管道的實現(xiàn)中有很多函數(shù),其中有兩個函數(shù)比較重要,即管道讀函數(shù)pipe_read()和管道寫函數(shù)pipe_wrtie()。管道寫函數(shù)通過將字節(jié)復(fù)制到vfs索引節(jié)點指向的物理內(nèi)存而寫入數(shù)據(jù),而管道讀函數(shù)則通過復(fù)制物理內(nèi)存中的字節(jié)而讀出數(shù)據(jù)。當然,內(nèi)核必須利用一定的機制同步對管道的訪問,為此,內(nèi)核使用了鎖、等待隊列和信號。
當寫進程向管道中寫入時,它利用標準的庫函數(shù)write(),系統(tǒng)根據(jù)庫函數(shù)傳遞的文件描述符,可找到該文件的file結(jié)構(gòu)。file結(jié)構(gòu)中指定了用來進行寫操作的函數(shù)(即寫入函數(shù))地址,于是,內(nèi)核調(diào)用該函數(shù)完成寫操作。寫入函數(shù)在向內(nèi)存中寫入數(shù)據(jù)之前,必須首先檢查vfs索引節(jié)點中的信息,同時滿足如下條件時,才能進行實際的內(nèi)存復(fù)制工作:
·內(nèi)存中有足夠的空間可容納所有要寫入的數(shù)據(jù);
·內(nèi)存沒有被讀程序鎖定。
如果同時滿足上述條件,寫入函數(shù)首先鎖定內(nèi)存,然后從寫進程的地址空間中復(fù)制數(shù)據(jù)到內(nèi)存。否則,寫入進程就休眠在vfs索引節(jié)點的等待隊列中,接下來,內(nèi)核將調(diào)用調(diào)度程序,而調(diào)度程序會選擇其他進程運行。寫入進程實際處于可中斷的等待狀態(tài),當內(nèi)存中有足夠的空間可以容納寫入數(shù)據(jù),或內(nèi)存被解鎖時,讀取進程會喚醒寫入進程,這時,寫入進程將接收到信號。當數(shù)據(jù)寫入內(nèi)存之后,內(nèi)存被解鎖,而所有休眠在索引節(jié)點的讀取進程會被喚醒。
管道的讀取過程和寫入過程類似。但是,進程可以在沒有數(shù)據(jù)或內(nèi)存被鎖定時立即返回錯誤信息,而不是阻塞該進程,這依賴于文件或管道的打開模式。反之,進程可以休眠在索引節(jié)點的等待隊列中等待寫入進程寫入數(shù)據(jù)。當所有的進程完成了管道操作之后,管道的索引節(jié)點被丟棄,而共享數(shù)據(jù)頁也被釋放。
本發(fā)明中對于用戶輸入事件的分發(fā),就是利用了管道pipe中的寫操作函數(shù),將用戶輸入事件的相關(guān)信息從管道的一端寫入,以供其他進程從管道另一端讀取。
步驟401:在所述應(yīng)用程序不啟用應(yīng)用窗口的情況下,直接通過所述管道pipe操作監(jiān)聽用戶輸入事件。
還是以android系統(tǒng)為例,當在移動終端屏幕邊緣處加入額外的觸控感應(yīng)層,從而可以實現(xiàn)一些簡單快捷的操作時,目前邊緣觸控感應(yīng)區(qū)的設(shè)計基本都是使用透明的窗口始終顯示在邊緣比較窄的區(qū)域。具體實現(xiàn)時,應(yīng)用程序通常需要生成并啟動一個android界面,并為android界面綁定特定的觸摸事件監(jiān)聽器,在觸摸事件監(jiān)聽器的方法里編寫觸摸事件響應(yīng)的處理代碼。這是現(xiàn)有技術(shù)中一般處理用戶輸入事件的方式。
本發(fā)明中,并不需要通過為android界面綁定特定的觸摸事件監(jiān)聽器的方式來對觸摸事件進行響應(yīng)處理,因此不需要生成并啟動android界面。在應(yīng)用程序不啟用應(yīng)用窗口的情況下,而是直接通過管道操作監(jiān)聽用戶輸入事件。
如前所述,系統(tǒng)底層的輸入管理im通過管道pipe對用戶輸入事件進行分發(fā)時,利用了管道pipe中的寫操作函數(shù),將用戶輸入事件的相關(guān)信息從管道的一端寫入。那么,對于上層應(yīng)用來說,可以調(diào)用底層的相關(guān)接口直接通過管道pipe中的讀操作函數(shù)將寫入的用戶輸入事件讀取出來并進行接下來的處理,這樣就不需要使用界面中綁定的觸摸事件監(jiān)聽器來處理用戶輸入事件了。
步驟402:根據(jù)所述用戶輸入事件的類型及其發(fā)生在觸摸屏上的位置對所述用戶輸入事件進行過濾。
其中,所讀取出來的用戶輸入事件相關(guān)數(shù)據(jù)包含用戶輸入事件的類型,例如:點擊事件或者滑動事件等,以及用戶輸入事件發(fā)生在觸摸屏上的位置(坐標)。
具體地,根據(jù)該用戶輸入事件的類型及其發(fā)生在觸摸屏上的位置對該用戶輸入事件進行過濾包括:
判斷所述用戶輸入事件的類型;如果所述用戶輸入事件屬于觸摸屏事件,則判斷所述觸摸屏事件是否發(fā)生在觸摸屏上的預(yù)設(shè)位置,如果是,則對所述觸摸屏事件進行響應(yīng)處理。
步驟403:對過濾后的用戶輸入事件進行響應(yīng)處理。
具體地,對過濾后的用戶輸入事件中的觸摸屏事件進行響應(yīng)處理包括:拉起分屏等。
圖5為本發(fā)明實現(xiàn)處理用戶輸入事件的裝置的組成結(jié)構(gòu)示意圖,如圖5所示,包括:用戶輸入事件分發(fā)模塊、用戶輸入事件監(jiān)聽模塊、用戶輸入事件過濾模塊和用戶輸入事件響應(yīng)處理模塊,其中,
用戶輸入事件分發(fā)模塊,設(shè)置為使輸入管理器im通過管道pipe將用戶輸入事件分發(fā)到應(yīng)用程序;
用戶輸入事件監(jiān)聽模塊,設(shè)置為在所述應(yīng)用程序不啟用應(yīng)用窗口的情況下,直接通過所述管道pipe操作監(jiān)聽用戶輸入事件,并將監(jiān)聽到的用戶輸入事件發(fā)送至用戶輸入事件過濾模塊;
用戶輸入事件過濾模塊,設(shè)置為根據(jù)所述用戶輸入事件的類型及其發(fā)生在觸摸屏上的位置對所述用戶輸入事件進行過濾,并將過濾后的用戶輸入事件發(fā)送至用戶輸入事件響應(yīng)處理模塊;
用戶輸入事件響應(yīng)處理模塊,設(shè)置為對過濾后的用戶輸入事件進行響應(yīng)處理。
具體地,用戶輸入事件分發(fā)模塊具體設(shè)置為:
所述輸入管理器im通過管道pipe將所述用戶輸入事件分發(fā)到服務(wù)端接口,當所述服務(wù)端接口接收到所述用戶輸入事件后,通過ipc機制將其發(fā)送至客戶端接口,所述客戶端接口再將其發(fā)送到應(yīng)用程序。
所述用戶輸入事件過濾模塊具體設(shè)置為:
判斷所述用戶輸入事件的類型;如果所述用戶輸入事件屬于觸摸屏事件,則判斷所述觸摸屏事件是否發(fā)生在觸摸屏上的預(yù)設(shè)位置,如果是,則對所述觸摸屏事件進行響應(yīng)處理。
其中,對所述觸摸屏事件進行響應(yīng)處理包括:拉起分屏。
本發(fā)明還提供一種移動設(shè)備,包括有上述任一項所述的處理用戶輸入事件的裝置。
這里強調(diào)的是,本發(fā)明中,在不啟用應(yīng)用窗口的情況下,由應(yīng)用程序直接通過管道操作監(jiān)聽用戶輸入事件,并對滿足一定條件的用戶輸入事件進行響應(yīng)處理,提供了一種使用事件管道的方式代替透明窗口處理用戶輸入事件的方式,從而實現(xiàn)邊緣觸控的便捷功能的同時不會攔截邊緣控件事件,避免了用戶使用邊緣觸控功能時所出現(xiàn)的不可點擊或滑動的情況,提升了用戶的使用體驗。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。