[0001] 背景
[0002] 現(xiàn)代計(jì)算設(shè)備利用各種不同類型的反饋來(lái)向用戶指示某些功能性可用和某些動(dòng)作正在發(fā)生或?qū)⒁l(fā)生。例如,在用戶將
光標(biāo)懸停在超鏈接上時(shí),可呈現(xiàn)指示可選擇該超鏈接來(lái)導(dǎo)航到特定網(wǎng)絡(luò)
位置的
視覺(jué)反饋。在另一示例中,音頻反饋可被呈現(xiàn)以指示傳入通信,諸如新即時(shí)消息。
[0003] 一種特別有用的類型的反饋是觸覺(jué)反饋,它經(jīng)由各種機(jī)制提供觸覺(jué)上可
感知的反饋。例如,
觸摸屏可以采用觸覺(jué)設(shè)備(例如,壓電設(shè)備)來(lái)在用戶按下觸摸屏上顯示的虛擬按鈕時(shí)提供局部化震動(dòng)。此類觸覺(jué)反饋表示用戶已成功選擇該虛擬按鈕的觸覺(jué)加強(qiáng),并且可以與其他類型的反饋(例如,視覺(jué)和音頻反饋)相組合,以提高某些動(dòng)作和功能性的可感知性。盡管觸覺(jué)反饋可被用在各種場(chǎng)景中,但可能難以全面地包括跨可能不具有調(diào)用觸覺(jué)機(jī)制的能
力的不同應(yīng)用和服務(wù)。
[0004] 概述
[0005] 提供本概述以便以簡(jiǎn)化的形式介紹以下在詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并非旨在標(biāo)識(shí)出要求保護(hù)的主題的關(guān)鍵特征或必要特征,亦非旨在用作輔助確定要求保護(hù)的主題的范圍。
[0006] 描述了用于觸摸輸入設(shè)備的觸覺(jué)反饋的技術(shù)。一般而言,觸覺(jué)反饋被提供用于與觸摸輸入設(shè)備的不同用戶交互,諸如與應(yīng)用、服務(wù)等的交互。根據(jù)各
實(shí)施例,觸覺(jué)反饋的發(fā)起方式取決于不同功能性是否直接支持觸覺(jué)反饋。例如,本文描述的技術(shù)使得無(wú)論特定功能性是否直接支持觸覺(jué)反饋都能提供觸覺(jué)反饋。
[0008] 結(jié)合附圖來(lái)描述具體實(shí)施方式。在附圖中,附圖標(biāo)記最左邊的數(shù)字標(biāo)識(shí)該附圖標(biāo)記首次出現(xiàn)的附圖。在
說(shuō)明書(shū)和附圖的不同實(shí)例中使用相同的附圖標(biāo)記可指示相似或相同的項(xiàng)目。
[0009] 圖1是在可用于采用本文討論的技術(shù)的示例實(shí)現(xiàn)中的環(huán)境的圖示。
[0010] 圖2解說(shuō)了根據(jù)一個(gè)或多個(gè)實(shí)施例的用于支持觸覺(jué)反饋的應(yīng)用的示例實(shí)現(xiàn)場(chǎng)景。
[0011] 圖3描繪了根據(jù)一個(gè)或多個(gè)實(shí)施例的用于不直接支持觸覺(jué)反饋的應(yīng)用的示例實(shí)現(xiàn)場(chǎng)景。
[0012] 圖4是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的用于使得輸出觸覺(jué)反饋的方法中的各步驟的
流程圖。
[0013] 圖5是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的用于確定是否要基于外部觸覺(jué)事件或內(nèi)部觸覺(jué)事件來(lái)生成觸覺(jué)反饋的方法中的各步驟的流程圖。
[0014] 圖6是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的用于確定觸覺(jué)反饋的屬性的方法中的各步驟的流程圖。
[0015] 圖7例示了如參考圖1描述的示例系統(tǒng)和計(jì)算設(shè)備,該示例系統(tǒng)和計(jì)算設(shè)備被配置為實(shí)現(xiàn)本文所描述的各技術(shù)的各實(shí)施例。
[0016] 詳細(xì)描述
[0017] 概覽
[0018] 描述了用于觸摸輸入設(shè)備的觸覺(jué)反饋的技術(shù)。一般而言,觸覺(jué)反饋被提供用于與觸摸輸入設(shè)備的不同用戶交互,諸如與應(yīng)用、服務(wù)等的交互。根據(jù)各實(shí)現(xiàn),觸覺(jué)反饋的發(fā)起方式取決于不同功能性是否直接支持觸覺(jué)反饋。
[0019] 例如,考慮其中用戶正向啟用觸覺(jué)的觸摸輸入設(shè)備提供觸摸姿勢(shì)以向應(yīng)用的圖形
用戶界面(GUI)提供輸入的第一場(chǎng)景。此外,考慮該應(yīng)用直接支持觸覺(jué)反饋。例如,直接支持觸覺(jué)反饋的應(yīng)用表示包括用于識(shí)別不同類型的用戶輸入并基于用戶輸入和應(yīng)用上下文來(lái)發(fā)起特定觸覺(jué)反饋的邏輯的應(yīng)用。一般而言,應(yīng)用上下文指的是各種應(yīng)用專用場(chǎng)景,諸如GUI上下文、應(yīng)用狀態(tài),等等。相應(yīng)地,在這一特定場(chǎng)景中,應(yīng)用直接支持觸覺(jué)反饋,并且因而識(shí)別對(duì)GUI的用戶輸入并使得觸摸輸入設(shè)備基于用戶輸入的屬性來(lái)生成觸覺(jué)反饋。
[0020] 現(xiàn)在考慮其中用戶正向啟用觸覺(jué)的觸摸輸入設(shè)備提供觸摸姿勢(shì)以向不同應(yīng)用的GUI提供輸入的第二場(chǎng)景。此外,考慮該不同應(yīng)用不直接支持觸覺(jué)反饋。不直接支持觸覺(jué)反饋的應(yīng)
用例如表示不包括用于基于用戶輸入和/或應(yīng)用上下文來(lái)發(fā)起特定觸覺(jué)反饋的直接邏輯的應(yīng)用。相應(yīng)地,本文討論的技術(shù)使得能在觸摸輸入設(shè)備上提供觸覺(jué)反饋,即使該不同應(yīng)用不直接支持觸覺(jué)反饋。例如,觸摸輸入設(shè)備的觸覺(jué)功能性(例如,
固件、設(shè)備驅(qū)動(dòng)程序,等等)識(shí)別觸摸姿勢(shì)的屬性并基于該屬性來(lái)生成預(yù)定義觸覺(jué)反饋。因而,觸覺(jué)反饋可被提供,即使特定功能性(諸如特定應(yīng)用、特定
操作系統(tǒng),等等)不直接支持觸覺(jué)反饋。
[0021] 相應(yīng)地,本文描述的技術(shù)使得能夠跨各種不同系統(tǒng)和功能性并且在其中特定系統(tǒng)和/或功能性不直接支持觸覺(jué)反饋的場(chǎng)景中提供觸覺(jué)反饋。
[0022] 在以下討論中,首先描述可用于采用本文所描述的技術(shù)的示例環(huán)境。接著,題為“示例實(shí)現(xiàn)場(chǎng)景”的章節(jié)描述根據(jù)一個(gè)或多個(gè)實(shí)施例的一些示例實(shí)現(xiàn)場(chǎng)景。再后,題為“示例規(guī)程”的章節(jié)描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的一些示例規(guī)程。最后,題為“示例系統(tǒng)和設(shè)備”的章節(jié)描述根據(jù)一個(gè)或多個(gè)實(shí)施例的可用于采用本文所討論的各技術(shù)的示例系統(tǒng)和設(shè)備。
[0023] 呈現(xiàn)了根據(jù)一個(gè)或多個(gè)實(shí)施例的示例實(shí)現(xiàn)的概覽之后,現(xiàn)在考慮其中可采用各示例實(shí)現(xiàn)的示例環(huán)境。
[0024] 示例環(huán)境
[0025] 圖1是在一示例實(shí)現(xiàn)中可用于采用本文中描述的用于觸摸輸入設(shè)備的觸覺(jué)反饋的各技術(shù)的環(huán)境100的圖示。環(huán)境100包括客戶端設(shè)備102,客戶端設(shè)備102可按各種方式來(lái)配置,諸如傳統(tǒng)計(jì)算機(jī)(例如,臺(tái)式個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī),等等)、移動(dòng)設(shè)備、娛樂(lè)電器、智能電話、可穿戴設(shè)備、上網(wǎng)本、游戲控制臺(tái)、手持式設(shè)備(例如,平板),等等。
[0026] 客戶端設(shè)備102包括允許各種活動(dòng)和任務(wù)能夠被執(zhí)行的各種不同的功能。例如,客戶端設(shè)備102包括操作系統(tǒng)104、應(yīng)用106、輸入/輸出(“I/O”)設(shè)備108以及觸覺(jué)模
塊110。一般而言,操作系統(tǒng)104表示用于抽象客戶端設(shè)備102的諸如
硬件、
內(nèi)核級(jí)模塊和服務(wù)等各系統(tǒng)組件的功能。例如,操作系統(tǒng)104可向應(yīng)用106抽象客戶端設(shè)備102的各組件以允許各組件與應(yīng)用106之間的交互。
[0027] 應(yīng)用106表示用于經(jīng)由客戶端設(shè)備102執(zhí)行不同任務(wù)的功能。應(yīng)用106的示例包括文字處理應(yīng)用、
電子表格應(yīng)用、web瀏覽器、游戲應(yīng)用、通信應(yīng)用等。應(yīng)用106可被安裝在客戶端設(shè)備102本地以經(jīng)由本地運(yùn)行時(shí)環(huán)境來(lái)執(zhí)行,和/或可表示到諸如基于
云的服務(wù)、web應(yīng)用等遠(yuǎn)程功能的
門戶。因此,應(yīng)用106可采取各種形式,諸如在本地執(zhí)行的代碼、到遠(yuǎn)程地主存的服務(wù)的門戶等。
[0028] I/O設(shè)備108表示用于接收對(duì)客戶端設(shè)備102的輸入和/或用于提供來(lái)自客戶端設(shè)備102的輸出的不同功能性。I/O設(shè)備108的特定實(shí)例例如表示專用輸入設(shè)備、專用輸出設(shè)備、或既接收輸入又提供輸出的設(shè)備。I/O設(shè)備108包括觸覺(jué)輸入/輸出(“I/O”)設(shè)備112,它表示被配置成提供觸覺(jué)輸出的設(shè)備。例如,觸覺(jué)I/O設(shè)備112包括觸摸屏114和
觸摸板116,它們被配置成提供在觸覺(jué)上可感知的觸覺(jué)反饋。觸摸屏114例如不僅被配置成提供視覺(jué)輸出,還可接收觸摸輸入并提供觸覺(jué)輸出。此外,觸摸板116可不僅接收針對(duì)客戶端設(shè)備102的觸摸輸入,還可提供各種類型的觸覺(jué)輸出。一般而言,觸覺(jué)I/O設(shè)備112可以利用各種不同的觸覺(jué)生成機(jī)制來(lái)生成觸覺(jué)反饋,諸如
電機(jī)、磁體、(基于磁和壓電的)線性諧振
致動(dòng)器(LRA)、壓電桿,等等。
[0029] 觸覺(jué)模塊110表示用于使客戶端設(shè)備102能夠提供各種類型的觸覺(jué)輸出的功能性。例如,觸覺(jué)模塊110表示用于使觸覺(jué)I/O設(shè)備輸出各種類型的觸覺(jué)反饋的硬件和邏輯。觸覺(jué)模塊110例如包括觸覺(jué)應(yīng)用編程
接口(API)118、觸覺(jué)驅(qū)動(dòng)程序120以及姿勢(shì)映射122。一般而言,觸覺(jué)API?118和觸覺(jué)驅(qū)動(dòng)程序120表示用于使各種其他功能性能調(diào)用觸覺(jué)I/O設(shè)備的功能性。例如,操作系統(tǒng)104和應(yīng)用106可以調(diào)用觸覺(jué)API?118來(lái)
請(qǐng)求特定觸覺(jué)I/O設(shè)備112生成觸覺(jué)反饋。觸覺(jué)API?118隨后與觸覺(jué)驅(qū)動(dòng)程序120對(duì)接,觸覺(jué)驅(qū)動(dòng)程序120進(jìn)而與觸覺(jué)I/O設(shè)備112對(duì)接以使得觸覺(jué)I/O設(shè)備112生成觸覺(jué)反饋。在下文描述環(huán)境100中包括的各實(shí)體之間的示例交互。
[0030] 姿勢(shì)映射122表示不同姿勢(shì)到不同相應(yīng)類型的觸覺(jué)反饋的映射。例如,不同姿勢(shì)屬性可以使得生成不同相應(yīng)類型的觸覺(jué)反饋。如下文進(jìn)一步詳細(xì)描述的,在其中觸覺(jué)I/O設(shè)備112外部的功能性(例如,應(yīng)用106、操作系統(tǒng)104,等等)不直接支持觸覺(jué)反饋的情況下,觸覺(jué)模塊110可以檢測(cè)施加到觸覺(jué)I/O設(shè)備112的姿勢(shì)的屬性并使觸覺(jué)I/O設(shè)備112基于該屬性輸出特定類型的觸覺(jué)反饋。
[0031] 在至少一些實(shí)現(xiàn)中,觸覺(jué)模塊110可被實(shí)現(xiàn)為觸覺(jué)I/O設(shè)備112的一部分,諸如在觸覺(jué)I/O設(shè)備112的固件中。作為替換或補(bǔ)充,觸覺(jué)模塊110可被實(shí)現(xiàn)為客戶端設(shè)備102的系統(tǒng)資源的一部分,諸如操作系統(tǒng)104的一部分。
[0032] 客戶端設(shè)備102進(jìn)一步包括觸覺(jué)數(shù)據(jù)124,它表示與不同功能性是否直接支持觸覺(jué)反饋有關(guān)的信息。例如,觸覺(jué)數(shù)據(jù)124包括應(yīng)用106的各單獨(dú)應(yīng)用的標(biāo)識(shí)符,并指示各單獨(dú)應(yīng)用中的每一者是否支持觸覺(jué)反饋。觸覺(jué)數(shù)據(jù)124還可指示其他功能性是否直接支持觸覺(jué)反饋,諸如操作系統(tǒng)104、駐留在客戶端設(shè)備102上的其他服務(wù),等等。一般而言,觸覺(jué)數(shù)據(jù)124可被實(shí)現(xiàn)為觸覺(jué)模塊110的一部分、操作系統(tǒng)104的一部分和/或可由客戶端設(shè)備102的不同功能性
訪問(wèn)的獨(dú)立觸覺(jué)數(shù)據(jù)集。
[0033] 啟用觸覺(jué)的筆126被進(jìn)一步解說(shuō)為環(huán)境100的一部分,它表示觸覺(jué)I/O設(shè)備112的實(shí)例。一般而言,啟用觸覺(jué)的筆126表示包括可在各種場(chǎng)景中生成觸覺(jué)反饋的各種內(nèi)部組件的手持式輸入裝置。例如,啟用觸覺(jué)的筆126可以向觸摸屏114提供輸入,并可基于各種事件生成觸覺(jué)反饋。下文討論的各種實(shí)現(xiàn)和場(chǎng)景例如可應(yīng)用于各種啟用觸覺(jué)的設(shè)備所生成的觸覺(jué)反饋,諸如觸摸板116、觸摸屏114和啟用觸覺(jué)的筆126。
[0034] 已經(jīng)描述了本文描述的技術(shù)可在其中操作的示例環(huán)境,現(xiàn)在考慮根據(jù)一個(gè)或多個(gè)實(shí)施例的用于觸摸輸入設(shè)備的觸覺(jué)反饋的示例實(shí)現(xiàn)場(chǎng)景的討論。
[0035] 示例實(shí)現(xiàn)場(chǎng)景
[0036] 以下章節(jié)描述了根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的用于觸摸輸入設(shè)備的觸覺(jué)反饋的一些示例實(shí)現(xiàn)場(chǎng)景。各實(shí)現(xiàn)場(chǎng)景可被實(shí)現(xiàn)在上述環(huán)境100中和/或任何其他合適環(huán)境中。
[0037] 圖2描繪了根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的用于直接支持觸覺(jué)反饋的應(yīng)用的示例實(shí)現(xiàn)場(chǎng)景200。場(chǎng)景200包括以上參考環(huán)境100介紹的各種實(shí)體和組件。
[0038] 在場(chǎng)景200中,應(yīng)用106a是活躍的且應(yīng)用106a的
圖形用戶界面(GUI)202被顯示在客戶端設(shè)備102的觸摸屏114上。此外,應(yīng)用106a被配置成基于各種應(yīng)用相關(guān)事件發(fā)起觸覺(jué)反饋。例如,應(yīng)用106a包括用于與觸覺(jué)模塊110對(duì)接(諸如,經(jīng)由觸覺(jué)API?118)的邏輯。作為替換或補(bǔ)充,應(yīng)用106a被配置成經(jīng)由與操作系統(tǒng)104的交互來(lái)發(fā)起觸覺(jué)反饋。例如,操作系統(tǒng)104可充當(dāng)應(yīng)用106a和觸覺(jué)模塊110之間的中介。
[0039] 繼續(xù)場(chǎng)景200,用戶向觸摸板116提供輸入以與GUI?202交互。例如,用戶的
手指204可移動(dòng)跨過(guò)觸摸板116的表面來(lái)在GUI?202內(nèi)移動(dòng)光標(biāo)206。在這一特定示例中,用戶將光標(biāo)206移動(dòng)到動(dòng)作區(qū)208附近。一般而言,動(dòng)作區(qū)指的是GUI?202的與特定可用動(dòng)作相關(guān)聯(lián)的區(qū)域。例如,動(dòng)作區(qū)208被配置成接收
指定用于檢索和顯示天氣相關(guān)信息的特
定位置的用戶輸入。
[0040] 響應(yīng)于檢測(cè)到光標(biāo)206在動(dòng)作區(qū)208附近(例如,
接觸和/或交疊),應(yīng)用106a向觸覺(jué)模塊110發(fā)起觸覺(jué)事件210。例如,觸覺(jué)事件210經(jīng)由觸覺(jué)API?118從應(yīng)用106a直接傳遞到觸覺(jué)模塊110。替換地,應(yīng)用106a將觸覺(jué)事件210傳遞到操作系統(tǒng)104,且操作系統(tǒng)104將觸覺(jué)事件210轉(zhuǎn)發(fā)給觸覺(jué)模塊110。一般而言,觸覺(jué)事件210表示“外部”觸覺(jué)事件,因?yàn)橛|覺(jué)事件210由在觸覺(jué)模塊110和觸覺(jué)I/O設(shè)備112外部的外部功能性生成。
[0041] 根據(jù)各實(shí)現(xiàn),觸覺(jué)事件210指定要由觸摸板116生成的特定類型的觸覺(jué)反饋。例如,GUI?202的不同動(dòng)作區(qū)可被鏈接到不同類型的觸覺(jué)反饋。相應(yīng)地,響應(yīng)于接收到觸覺(jué)事件210,觸覺(jué)模塊110使得觸摸板116生成觸覺(jué)反饋212。例如,觸覺(jué)模塊110指令觸覺(jué)驅(qū)動(dòng)程序
120來(lái)使觸摸板116生成觸覺(jué)反饋212。觸覺(jué)反饋212例如由觸摸板116的觸覺(jué)機(jī)制來(lái)產(chǎn)生,并且在觸摸板116的表面上是觸覺(jué)可感知的,諸如由用戶的手指204。
[0042] 在至少一些實(shí)現(xiàn)中,觸覺(jué)模塊110被配置成
跟蹤哪些應(yīng)用106直接支持觸覺(jué)反饋以及哪些應(yīng)用106不直接支持。例如,直接支持觸覺(jué)反饋的特定應(yīng)用106表示被配置成生成觸覺(jué)事件以通知觸覺(jué)模塊110生成觸覺(jué)反饋的應(yīng)用106。然而,不直接支持觸覺(jué)反饋的不同應(yīng)用106表示未被配置成生成觸覺(jué)事件的應(yīng)用106。因而,場(chǎng)景200表示其中應(yīng)用106a直接支持觸覺(jué)反饋并且因而被配置成生成觸覺(jué)事件210以使得生成觸覺(jué)反饋212的實(shí)現(xiàn)。
[0043] 圖3描繪了根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的用于不直接支持觸覺(jué)反饋的應(yīng)用的示例實(shí)現(xiàn)場(chǎng)景300。場(chǎng)景300包括以上參考環(huán)境100介紹的各種實(shí)體和組件。在至少一些實(shí)現(xiàn)中,場(chǎng)景300表示如上所述的場(chǎng)景200的擴(kuò)展和/或變型。
[0044] 在場(chǎng)景300中,應(yīng)用106b是活躍的且應(yīng)用106b的圖形用戶界面(GUI)302被顯示在客戶端設(shè)備102的觸摸屏114上。此外,應(yīng)用106b未被配置成基于各種應(yīng)用相關(guān)事件發(fā)起觸覺(jué)反饋。例如,應(yīng)用106b不包括用于與觸覺(jué)模塊110交互的邏輯。應(yīng)用106b例如不直接支持生成觸覺(jué)事件。
[0045] 繼續(xù)場(chǎng)景300,用戶向觸摸板116提供輸入以與GUI?202b交互。例如,用戶的手指204可移動(dòng)跨過(guò)觸摸板116的表面來(lái)在GUI?302內(nèi)移動(dòng)光標(biāo)206。在這一特定示例中,用戶向觸摸板116提供姿勢(shì)304以移動(dòng)光標(biāo)206并向下拖動(dòng)滾動(dòng)條306。因?yàn)閼?yīng)用106b不直接支持觸覺(jué)反饋,所以觸覺(jué)模塊110檢測(cè)到姿勢(shì)304并向觸覺(jué)驅(qū)動(dòng)程序120發(fā)起觸覺(jué)事件308。觸覺(jué)模塊110例如發(fā)起觸覺(jué)事件308而無(wú)需與應(yīng)用106b直接交互。作為替換或補(bǔ)充,在應(yīng)用106b活躍時(shí)(例如,在觸摸屏114上具有焦點(diǎn)),觸覺(jué)模塊110查詢操作系統(tǒng)104以尋求生成觸覺(jué)反饋的
許可(例如,發(fā)起觸覺(jué)事件308)。
[0046] 響應(yīng)于接收到觸覺(jué)事件308,觸覺(jué)驅(qū)動(dòng)程序120使得觸摸板116生成觸覺(jué)反饋310。例如,操作系統(tǒng)104諸如基于觸覺(jué)數(shù)據(jù)124中指示應(yīng)用106b不直接支持觸覺(jué)反饋的條目來(lái)檢測(cè)到應(yīng)用106b具有焦點(diǎn)且應(yīng)用106b不直接支持觸覺(jué)反饋。相應(yīng)地,操作系統(tǒng)104通知觸覺(jué)模塊110(例如,經(jīng)由觸覺(jué)API?118)當(dāng)前處于焦點(diǎn)的應(yīng)用不直接支持觸覺(jué)反饋。作為替換或補(bǔ)充,操作系統(tǒng)104向觸覺(jué)模塊110通知應(yīng)用106b具有焦點(diǎn),且觸覺(jué)模塊110在觸覺(jué)數(shù)據(jù)124中查找應(yīng)用106b以確定應(yīng)用106b不直接支持觸覺(jué)反饋。
[0047] 響應(yīng)于檢測(cè)到姿勢(shì)304并查明應(yīng)用106b不直接支持觸覺(jué)反饋,觸覺(jué)模塊110確定觸覺(jué)反饋310要由觸摸板116生成。在一示例實(shí)現(xiàn)中,觸覺(jué)模塊110確定姿勢(shì)304的姿勢(shì)類型,并基于姿勢(shì)類型來(lái)確定觸覺(jué)反饋310。觸覺(jué)模塊110例如基于姿勢(shì)304的屬性來(lái)確定姿勢(shì)類型。此類姿勢(shì)屬性的示例包括該姿勢(shì)相對(duì)于觸摸板116的移動(dòng)方向(例如,上、下、左、右,等等)、移動(dòng)距離、移動(dòng)速度、
加速度和/或減速度、在生成姿勢(shì)304時(shí)施加的壓力的量,等等。此類姿勢(shì)屬性中的一者或多者可以在表征姿勢(shì)304的姿勢(shì)類型時(shí)考慮。
[0048] 例如,不同姿勢(shì)屬性集合可對(duì)應(yīng)于不同相應(yīng)姿勢(shì)類型。此外,不同姿勢(shì)類型可被映射到不同相應(yīng)觸覺(jué)反饋類型,諸如在姿勢(shì)映射122中。例如,輕叩姿勢(shì)可被映射到一種類型的觸覺(jué)反饋,滑掃姿勢(shì)可被映射到另一類型的觸覺(jué)反饋,而拖動(dòng)姿勢(shì)可被映射到又一類型的觸覺(jué)反饋,等等。在場(chǎng)景300中呈現(xiàn)的特定示例中,觸覺(jué)模塊110查明姿勢(shì)304是觸摸板116上的向下拖動(dòng)姿勢(shì),將姿勢(shì)304映射到姿勢(shì)映射122中被標(biāo)識(shí)用于姿勢(shì)304的觸覺(jué)反饋,以及生成觸覺(jué)事件308來(lái)標(biāo)識(shí)觸覺(jué)反饋310?;谟|覺(jué)事件308中包括的信息,觸覺(jué)驅(qū)動(dòng)程序120在觸摸板116上發(fā)起觸覺(jué)反饋310。
[0049] 根據(jù)各實(shí)現(xiàn),觸覺(jué)模塊110使得觸覺(jué)反饋310由觸摸板116獨(dú)立于來(lái)自應(yīng)用106b的用于生成觸覺(jué)反饋的通知并獨(dú)立于與應(yīng)用106b的輸入上下文有關(guān)的任何信息來(lái)生成。例如,觸覺(jué)模塊110使得觸覺(jué)反饋310基于姿勢(shì)304本身的屬性并且無(wú)需來(lái)自應(yīng)用106b的任何輸入(例如,上下文和/或指令)來(lái)生成。因而,觸覺(jué)事件308表示“內(nèi)部”觸覺(jué)事件,因?yàn)橛|覺(jué)事件308在觸覺(jué)模塊110和/或觸摸板116內(nèi)部生成且獨(dú)立于與應(yīng)用106b的直接交互。
[0050] 相應(yīng)地,以上描述的場(chǎng)景解說(shuō)了用于本文描述的觸摸輸入設(shè)備的觸覺(jué)反饋的實(shí)現(xiàn)可以在直接支持觸覺(jué)反饋的功能性和不直接支持觸覺(jué)反饋的功能性之間進(jìn)行區(qū)分,并且可以在這兩種情形中都允許生成觸覺(jué)反饋。盡管參考不同應(yīng)用討論了這些場(chǎng)景,但將明白,本文討論的實(shí)現(xiàn)可以與各種不同功能性一起使用,諸如不同應(yīng)用、服務(wù)、操作系統(tǒng),等等。例如,本文描述的技術(shù)可被用來(lái)在具有不直接支持觸覺(jué)反饋的操作系統(tǒng)的設(shè)備上生成觸覺(jué)反饋。
[0051] 此外,盡管參考觸摸板116討論了上述場(chǎng)景,但將明白,可以用任何啟用觸覺(jué)的設(shè)備實(shí)現(xiàn)各場(chǎng)景,諸如觸摸屏114、啟用觸覺(jué)的筆126,等等。
[0052] 已經(jīng)討論了一些示例實(shí)現(xiàn)場(chǎng)景,現(xiàn)在考慮根據(jù)一個(gè)或多個(gè)實(shí)施例的一些示例規(guī)程的討論。
[0053] 示例規(guī)程
[0054] 以下討論描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的用于觸摸輸入設(shè)備的觸覺(jué)反饋的一些示例規(guī)程。各示例規(guī)程可被用于圖1的環(huán)境100、圖7的系統(tǒng)700和/或任何其他合適的環(huán)境中。各規(guī)程例如表示用于實(shí)現(xiàn)上述實(shí)現(xiàn)場(chǎng)景的示例規(guī)程。在至少一些實(shí)現(xiàn)中,針對(duì)各種規(guī)程描述的步驟是自動(dòng)地且獨(dú)立于用戶交互來(lái)實(shí)現(xiàn)的。
[0055] 圖4是描述根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的方法中的各步驟的流程圖。該方法描述了根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的用于使得輸出觸覺(jué)反饋的示例規(guī)程。在至少一些實(shí)現(xiàn)中,該方法可至少部分地由觸覺(jué)模塊110和/或操作系統(tǒng)104執(zhí)行。
[0056] 步驟400接收對(duì)觸摸輸入設(shè)備的觸摸表面的輸入的指示。觸覺(jué)模塊110例如檢測(cè)到用戶輸入被提供給觸覺(jué)I/O設(shè)備112的觸摸表面,諸如觸摸板116或觸摸屏114之一。
[0057] 步驟402查明針對(duì)該輸入的觸覺(jué)反饋要由外部觸覺(jué)事件還是內(nèi)部觸覺(jué)事件來(lái)發(fā)起。一般而言,外部觸覺(jué)事件表示由觸覺(jué)模塊110從在觸摸輸入設(shè)備的外部的外部功能性(諸如直接支持觸覺(jué)反饋的應(yīng)用106、操作系統(tǒng)104,等等)接收到的觸覺(jué)事件。外部觸覺(jué)事件的一個(gè)示例實(shí)現(xiàn)是上文討論的觸覺(jué)事件210。內(nèi)部觸覺(jué)事件表示由觸摸輸入設(shè)備響應(yīng)于輸入來(lái)生成的觸覺(jué)事件。內(nèi)部觸覺(jué)事件的一個(gè)示例實(shí)現(xiàn)是上文討論的觸覺(jué)事件308。確定觸覺(jué)反饋要基于外部觸覺(jué)事件還是內(nèi)部觸覺(jué)事件來(lái)生成的一種示例方式在下文討論。
[0058] 在針對(duì)該輸入的觸覺(jué)反饋要由外部觸覺(jué)事件(“外部”)發(fā)起的情況下,步驟404接收外部觸覺(jué)事件并使得觸摸輸入設(shè)備基于該外部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。例如,觸覺(jué)模塊110從應(yīng)用106和/或操作系統(tǒng)104接收觸覺(jué)事件。一般而言,觸覺(jué)事件包括描述要由觸摸輸入設(shè)備輸出的觸覺(jué)反饋的屬性的信息。觸覺(jué)反饋的屬性的示例包括震動(dòng)
頻率、震動(dòng)幅度、反饋歷時(shí)、觸覺(jué)脈沖信息、頻率和/或幅度的變化,等等。
[0059] 在針對(duì)該輸入的觸覺(jué)反饋要由內(nèi)部觸覺(jué)事件(“內(nèi)部”)發(fā)起的情況下,步驟406使得觸摸輸入設(shè)備基于該內(nèi)部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。例如,觸覺(jué)模塊110將內(nèi)部觸覺(jué)事件傳達(dá)給觸覺(jué)驅(qū)動(dòng)程序120以使得觸摸輸入設(shè)備(例如,觸覺(jué)I/O設(shè)備112之一)輸出觸覺(jué)反饋。內(nèi)部觸覺(jué)事件例如包括描述要由觸摸輸入設(shè)備輸出的觸覺(jué)反饋的屬性的信息,其示例在上文描述。在至少一些實(shí)現(xiàn)中,觸覺(jué)反饋的屬性是基于施加到觸摸輸入設(shè)備以生成對(duì)觸摸表面的輸入的姿勢(shì)的屬性來(lái)確定的。確定觸覺(jué)反饋的屬性的示例方式在下文討論。
[0060] 圖5是描述根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的方法中的各步驟的流程圖。該方法描述了根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的用于確定要基于外部觸覺(jué)事件還是內(nèi)部觸覺(jué)事件來(lái)生成觸覺(jué)反饋的示例規(guī)程。在至少一些實(shí)現(xiàn)中,該方法可至少部分地由觸覺(jué)模塊110和/或操作系統(tǒng)104執(zhí)行。
[0061] 步驟500確定觸摸輸入設(shè)備外部的功能性是否直接支持觸覺(jué)反饋。觸覺(jué)模塊110例如確定當(dāng)前在客戶端設(shè)備102上具有焦點(diǎn)的應(yīng)用106是否直接支持觸覺(jué)反饋和/或操作系統(tǒng)104是否直接支持觸覺(jué)反饋。應(yīng)用106和操作系統(tǒng)104例如表示觸摸輸入設(shè)備外部(即,觸覺(jué)I/O設(shè)備112外部)的功能性。
[0062] 如果觸摸輸入設(shè)備外部的功能性直接支持觸覺(jué)反饋(“是”),則步驟502確定要響應(yīng)于外部觸覺(jué)事件來(lái)生成觸覺(jué)反饋。當(dāng)前具有焦點(diǎn)的應(yīng)用106例如向觸覺(jué)模塊110通知該應(yīng)用直接支持觸覺(jué)反饋。作為替換或補(bǔ)充,操作系統(tǒng)104向觸覺(jué)模塊110通知當(dāng)前具有焦點(diǎn)的應(yīng)用106直接支持觸覺(jué)反饋和/或操作系統(tǒng)104本身直接支持觸覺(jué)反饋。在至少一些實(shí)現(xiàn)中,外部功能性經(jīng)由對(duì)觸覺(jué)API118的調(diào)用來(lái)與觸覺(jué)模塊110交互。
[0063] 在又一實(shí)現(xiàn)中,觸覺(jué)模塊110根據(jù)觸覺(jué)數(shù)據(jù)124確定特定應(yīng)用106和/或操作系統(tǒng)104是否直接支持觸覺(jué)反饋。例如,觸覺(jué)模塊110可以通過(guò)查明觸覺(jué)數(shù)據(jù)124是否指示外部功能性直接支持/不直接支持觸覺(jué)反饋來(lái)確定外部功能性是否直接支持觸覺(jué)反饋。
[0064] 如果觸摸輸入設(shè)備外部的功能性不直接支持觸覺(jué)反饋(“否”),則步驟504確定要響應(yīng)于內(nèi)部觸覺(jué)事件來(lái)生成觸覺(jué)反饋。例如,操作系統(tǒng)104向觸覺(jué)模塊110通知當(dāng)前具有焦點(diǎn)的應(yīng)用106不直接支持觸覺(jué)反饋。作為替換或補(bǔ)充,且如上所述,觸覺(jué)模塊110可以通過(guò)查明觸覺(jué)數(shù)據(jù)124是否指示外部功能性直接支持/不直接支持觸覺(jué)反饋來(lái)確定外部功能性是否直接支持觸覺(jué)反饋。
[0065] 圖6是描述根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的方法中的各步驟的流程圖。該方法描述了根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn)的用于確定觸覺(jué)反饋的屬性的示例規(guī)程。在至少一些實(shí)現(xiàn)中,該方法可至少部分地由觸覺(jué)模塊110和/或操作系統(tǒng)104執(zhí)行。例如,該方法表示在上文中參考圖4描述的步驟406的實(shí)現(xiàn)。
[0066] 步驟600查明用來(lái)向觸摸輸入設(shè)備提供輸入的姿勢(shì)的屬性。姿勢(shì)屬性的示例包括相對(duì)于向其施加該姿勢(shì)的表面的方向(例如,上、下、左、右,等等)、移動(dòng)距離、移動(dòng)速度、加速度和/或減速度、在生成姿勢(shì)時(shí)施加的壓力的量,等等。
[0067] 步驟602將該姿勢(shì)的屬性映射到觸覺(jué)反饋。例如,不同姿勢(shì)屬性可被映射到不同類型的觸覺(jué)反饋。在至少一些實(shí)現(xiàn)中,觸覺(jué)模塊110將該姿勢(shì)的屬性映射到在姿勢(shì)映射122中被指定用于該屬性的特定類型的觸覺(jué)反饋。
[0068] 步驟604使得輸出觸覺(jué)反饋。觸覺(jué)模塊110例如指令觸覺(jué)驅(qū)動(dòng)程序120輸出觸覺(jué)反饋。
[0069] 相應(yīng)地,本文討論的技術(shù)使得能夠在各種各樣的場(chǎng)景中并且跨各種各樣的不同設(shè)備配置來(lái)提供觸覺(jué)反饋。
[0070] 在討論了一些示例規(guī)程之后,現(xiàn)在考慮根據(jù)一個(gè)或多個(gè)實(shí)施例的示例系統(tǒng)和設(shè)備的討論。
[0071] 示例系統(tǒng)和設(shè)備
[0072] 圖7總體上在700例示了包括示例計(jì)算設(shè)備702的示例系統(tǒng),該示例計(jì)算設(shè)備702表示可以實(shí)現(xiàn)本文描述的各個(gè)技術(shù)的一個(gè)或多個(gè)計(jì)算系統(tǒng)和/或設(shè)備。例如,上文參考圖1討論的客戶端設(shè)備102可被體現(xiàn)為計(jì)算設(shè)備702。計(jì)算設(shè)備702可以是,例如,服務(wù)提供方的
服務(wù)器、與客戶機(jī)相關(guān)聯(lián)的設(shè)備(例如,客戶機(jī)設(shè)備)、片上系統(tǒng)、和/或任何其他合適的計(jì)算設(shè)備或計(jì)算系統(tǒng)。
[0073] 所示的示例計(jì)算設(shè)備702包括處理系統(tǒng)704、一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)706、以及相互通信地耦合的一個(gè)或多個(gè)輸入/輸出(I/O)接口708。盡管沒(méi)有示出,計(jì)算設(shè)備702可進(jìn)一步包括
系統(tǒng)總線或?qū)⒏鞣N組件相互耦合的其他數(shù)據(jù)和命令傳輸系統(tǒng)。系統(tǒng)總線可以包括不同總線結(jié)構(gòu)中的任一個(gè)或其組合,諸如
存儲(chǔ)器總線或存儲(chǔ)器
控制器、外圍總線、通用
串行總線和/或利用各種總線體系結(jié)構(gòu)中的任一種的處理器或局部總線。也構(gòu)想了各種其他示例,諸如控制和數(shù)據(jù)線。
[0074] 處理系統(tǒng)704表示使用硬件執(zhí)行一個(gè)或多個(gè)操作的功能。相應(yīng)地,處理系統(tǒng)704被例示為包括可被配置為處理器、功能塊等的硬件元件710。這可包括在作為專用集成
電路或使用一個(gè)或多個(gè)
半導(dǎo)體構(gòu)成的其他邏輯設(shè)備的硬件中的實(shí)現(xiàn)。硬件元件710不受形成它們的材料或者其中利用的處理機(jī)制的限制。例如,處理器可以由半導(dǎo)體和/或晶體管(例如,電子集成電路(IC))構(gòu)成。在這一上下文中,處理器可執(zhí)行指令可以是可電子地執(zhí)行的指令。
[0075] 計(jì)算機(jī)可讀介質(zhì)706被例示為包括存儲(chǔ)器/存儲(chǔ)712。存儲(chǔ)器/存儲(chǔ)712表示與一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)相關(guān)聯(lián)的存儲(chǔ)器/存儲(chǔ)容量。存儲(chǔ)器/存儲(chǔ)712可包括易失性介質(zhì)(如
隨機(jī)存取存儲(chǔ)器(RAM))和/或非易失性介質(zhì)(如
只讀存儲(chǔ)器(ROM)、閃存、光盤、磁盤等)。存儲(chǔ)器/存儲(chǔ)712可包括固定介質(zhì)(例如,RAM、ROM、固定
硬盤驅(qū)動(dòng)器等)以及可移動(dòng)介質(zhì)(例如閃存、可移動(dòng)硬盤驅(qū)動(dòng)器、光盤等)。計(jì)算機(jī)可讀介質(zhì)706可以下面進(jìn)一步描述的各種方式來(lái)配置。
[0076] (諸)輸入/輸出接口708表示允許用戶向計(jì)算設(shè)備702輸入命令和信息的功能,并且還允許使用各種輸入/輸出設(shè)備向用戶和/或其它組件或設(shè)備呈現(xiàn)信息。輸入設(shè)備的示例包括
鍵盤、光標(biāo)控制設(shè)備(例如,
鼠標(biāo))、話筒(例如,用于
語(yǔ)音識(shí)別和/或口述輸入)、
掃描儀、觸摸功能(例如,電容性的或被配置來(lái)檢測(cè)物理觸摸的其它
傳感器)、相機(jī)(例如,可采用可見(jiàn)或諸如紅外頻率的不可見(jiàn)
波長(zhǎng)來(lái)將不涉及觸摸的移動(dòng)檢測(cè)為姿勢(shì)),等等。輸出設(shè)備的示例包括顯示設(shè)備(例如,監(jiān)視器或投影儀)、揚(yáng)聲器、
打印機(jī)、網(wǎng)卡、觸覺(jué)響應(yīng)設(shè)備,等等。因此,計(jì)算設(shè)備702可以下面進(jìn)一步描述的各種方式來(lái)配置以支持用戶交互。
[0077] 本文可以在
軟件、硬件元件或程序模塊的一般上下文中描述各種技術(shù)。一般而言,此類模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、元件、組件、數(shù)據(jù)結(jié)構(gòu)等。本文使用的術(shù)語(yǔ)“模塊”、“功能”、“實(shí)體”和“組件”一般表示軟件、固件、硬件或其組合。本文描述的技術(shù)的各特征是平臺(tái)無(wú)關(guān)的,從而意味著該技術(shù)可在具有各種處理器的各種商用計(jì)算平臺(tái)上實(shí)現(xiàn)。
[0078] 所描述的模塊和技術(shù)的實(shí)現(xiàn)可以被存儲(chǔ)在某種形式的計(jì)算機(jī)可讀介質(zhì)上或跨某種形式的計(jì)算機(jī)可讀介質(zhì)傳送。計(jì)算機(jī)可讀介質(zhì)可包括可由計(jì)算設(shè)備702訪問(wèn)的各種介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”和“計(jì)算機(jī)可讀
信號(hào)介質(zhì)”。
[0079] “計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”可以指相對(duì)于僅
信號(hào)傳輸、載波、或信號(hào)本身而言,啟用對(duì)信息的持久存儲(chǔ)的介質(zhì)和/或設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不包括信號(hào)本身。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括以適合于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、邏輯元件/電路、或其他數(shù)據(jù)等的方法或技術(shù)來(lái)實(shí)現(xiàn)的諸如易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)和/或存儲(chǔ)設(shè)備的硬件。該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例包括但不限于,RAM、ROM、EEPROM、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光存儲(chǔ)、硬盤、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或者可適用于存儲(chǔ)所需信息并可由計(jì)算機(jī)訪問(wèn)的其他存儲(chǔ)設(shè)備、有形介質(zhì)或制品。
[0080] “計(jì)算機(jī)可讀信號(hào)介質(zhì)”可以指被配置為諸如經(jīng)由網(wǎng)絡(luò)向計(jì)算設(shè)備702的硬件傳送指令的信號(hào)承載介質(zhì)。信號(hào)介質(zhì)通常用諸如載波、數(shù)據(jù)信號(hào)、或其他傳輸機(jī)制等經(jīng)調(diào)制數(shù)據(jù)信號(hào)來(lái)體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。信號(hào)介質(zhì)還包括任何信息傳送介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”意指以在信號(hào)中對(duì)信息進(jìn)行編碼的方式來(lái)使其一個(gè)或多個(gè)特性被設(shè)定或改變的信號(hào)。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無(wú)線介質(zhì),如聲學(xué)、射頻(RF)、紅外線和其它無(wú)線介質(zhì)。
[0081] 如先前所描述的,硬件元件710和計(jì)算機(jī)可讀介質(zhì)706代表以硬件形式實(shí)現(xiàn)的指令、模塊、可編程器件邏輯和/或
固定器件邏輯,其可在某些實(shí)施例中被采用來(lái)實(shí)現(xiàn)本文描述的技術(shù)的至少某些方面。硬件元件可包括集成電路或片上系統(tǒng)、應(yīng)用
專用集成電路(ASIC)、
現(xiàn)場(chǎng)可編程門陣列(FPGA)、復(fù)雜
可編程邏輯器件(CPLD),和用
硅或其他硬件設(shè)備實(shí)現(xiàn)的組件。在此上下文中,硬件元件可以充當(dāng)處理設(shè)備,該處理設(shè)備執(zhí)行由該硬件元件以及用于存儲(chǔ)供執(zhí)行的指令的硬件設(shè)備(例如前面描述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì))所體現(xiàn)的指令、模塊和/或邏輯所定義的程序任務(wù)。
[0082] 前面的組合也可被采用來(lái)實(shí)現(xiàn)本文所述的各種技術(shù)。相應(yīng)地,軟件、硬件,或模塊和其他程序模塊可被實(shí)現(xiàn)為一個(gè)或多個(gè)指令和/或在某種形式的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上和/或由一個(gè)或多個(gè)硬件元件710實(shí)現(xiàn)的邏輯。計(jì)算設(shè)備702可被配置成實(shí)現(xiàn)對(duì)應(yīng)于軟件和/或硬件模塊的特定指令和/或功能。相應(yīng)地,可由計(jì)算設(shè)備702執(zhí)行為軟件的模塊的實(shí)現(xiàn)可至少部分以硬件完成,例如,通過(guò)使用計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和/或處理系統(tǒng)的硬件元件710。指令和/或功能可以是一個(gè)或多個(gè)制品(例如,一個(gè)或多個(gè)計(jì)算設(shè)備702和/或處理系統(tǒng)704)可執(zhí)行/可操作的,以實(shí)現(xiàn)本文描述的技術(shù)、模塊、以及示例。
[0083] 如在圖7中進(jìn)一步示出,示例系統(tǒng)700實(shí)現(xiàn)了用于當(dāng)在個(gè)人計(jì)算機(jī)(PC)、電視機(jī)設(shè)備和/或移動(dòng)設(shè)備上運(yùn)行應(yīng)用時(shí)的無(wú)縫用戶體驗(yàn)的普遍存在的環(huán)境。服務(wù)和應(yīng)用在所有三個(gè)環(huán)境中基本相似地運(yùn)行,以便當(dāng)使用應(yīng)用、玩視頻游戲、看視頻等時(shí)在從一個(gè)設(shè)備轉(zhuǎn)換到下一設(shè)備時(shí)得到共同的用戶體驗(yàn)。
[0084] 在示例系統(tǒng)700中,多個(gè)設(shè)備通過(guò)中央計(jì)算設(shè)備互連。中央計(jì)算設(shè)備對(duì)于多個(gè)設(shè)備可以是本地的,或者可以位于多個(gè)設(shè)備的遠(yuǎn)程。在一個(gè)實(shí)施例中,中央計(jì)算設(shè)備可以是通過(guò)網(wǎng)絡(luò)、因特網(wǎng)或其他數(shù)據(jù)通信鏈路連接到多個(gè)設(shè)備的一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)的云。
[0085] 在一個(gè)實(shí)施例中,該互連架構(gòu)使得功能能夠跨多個(gè)設(shè)備來(lái)遞送以向多個(gè)設(shè)備的用戶提供共同且無(wú)縫的體驗(yàn)。多個(gè)設(shè)備的每一個(gè)可具有不同的物理要求和能力,且中央計(jì)算設(shè)備使用一平臺(tái)來(lái)使得為設(shè)備定制且又對(duì)所有設(shè)備共同的體驗(yàn)?zāi)鼙贿f送到設(shè)備。在一個(gè)實(shí)施例中,創(chuàng)建目標(biāo)設(shè)備的類,且使體驗(yàn)適應(yīng)于設(shè)備的通用類。設(shè)備類可由設(shè)備的物理特征、用途類型或其他共同特性來(lái)定義。
[0086] 在各種實(shí)現(xiàn)中,計(jì)算設(shè)備702可采取各種各樣不同的配置,諸如用于計(jì)算機(jī)714、移動(dòng)設(shè)備716和電視機(jī)718用途。這些配置中的每一個(gè)包括可具有一般不同的配置和能力的設(shè)備,并且因而計(jì)算設(shè)備702可根據(jù)不同的設(shè)備類中的一個(gè)或多個(gè)來(lái)配置。例如,計(jì)算設(shè)備702可被實(shí)現(xiàn)為計(jì)算機(jī)714類的設(shè)備,該類包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、多屏幕計(jì)算機(jī)、膝上型計(jì)算機(jī)、上網(wǎng)本等。
[0087] 計(jì)算設(shè)備702還可被實(shí)現(xiàn)為移動(dòng)設(shè)備716類的設(shè)備,該類包括諸如
移動(dòng)電話、便攜式音樂(lè)播放器、便攜式游戲設(shè)備、平板計(jì)算機(jī)、可穿戴設(shè)備、多屏幕計(jì)算機(jī)等移動(dòng)設(shè)備。計(jì)算設(shè)備702還可被實(shí)現(xiàn)為電視機(jī)718類的設(shè)備,該類包括在休閑觀看環(huán)境中具有或連接到通常更大的屏幕的設(shè)備。這些設(shè)備包括電視機(jī)、機(jī)頂盒、游戲控制臺(tái)等。
[0088] 本文所描述的技術(shù)可由計(jì)算設(shè)備702的這些各種配置來(lái)支持,且不限于在本文描述的各具體示例。例如,參考觸覺(jué)模塊110所討論的功能可被全部或部分通過(guò)分布式系統(tǒng)的使用(諸如如下所述的經(jīng)由平臺(tái)722通過(guò)“云”720)來(lái)實(shí)現(xiàn)。
[0089] 云720包括和/或代表資源724的平臺(tái)722。平臺(tái)722抽象云720的硬件(如,服務(wù)器)和軟件資源的底層功能。資源724可包括可在計(jì)算機(jī)處理在位于計(jì)算設(shè)備702遠(yuǎn)程的服務(wù)器上執(zhí)行時(shí)使用的應(yīng)用和/或數(shù)據(jù)。資源724也可包括在互聯(lián)網(wǎng)上和/或通過(guò)諸如蜂窩或Wi-Fi網(wǎng)絡(luò)之類的訂戶網(wǎng)絡(luò)上提供的服務(wù)。
[0090] 平臺(tái)722可抽象資源和功能以將計(jì)算設(shè)備702與其他計(jì)算設(shè)備相連接。平臺(tái)722還可用于抽象資源的縮放以向經(jīng)由平臺(tái)722實(shí)現(xiàn)的資源724所遇到的需求提供對(duì)應(yīng)的縮放級(jí)別。相應(yīng)地,在互聯(lián)設(shè)備的實(shí)施例中,本文描述的功能性的實(shí)現(xiàn)可分布在系統(tǒng)700上。例如,該功能性可部分地在計(jì)算設(shè)備702上以及經(jīng)由抽象云720的功能性的平臺(tái)722來(lái)實(shí)現(xiàn)。
[0091] 在本文中討論了可被實(shí)現(xiàn)用于執(zhí)行本文描述的技術(shù)的多個(gè)方法??梢允褂糜布⒐碳?、軟件或其組合來(lái)實(shí)現(xiàn)各方法的各方面。方法被示為一組步驟,它們指定由一個(gè)或多個(gè)設(shè)備執(zhí)行的操作,不一定僅限于所示出的用于由相應(yīng)的框執(zhí)行操作的順序。而且,根據(jù)一個(gè)或多個(gè)實(shí)現(xiàn),相對(duì)于特定方法示出的操作可以與不同的方法的操作相組合和/或互換。所述方法的各方面可以通過(guò)上面參考環(huán)境70討論的各個(gè)實(shí)體之間的交互來(lái)實(shí)現(xiàn)。
[0092] 本文中討論的實(shí)現(xiàn)包括:
[0093] 示例1:一種用于造成觸覺(jué)反饋的系統(tǒng),所述系統(tǒng)包括:?jiǎn)⒂糜|覺(jué)的觸摸輸入設(shè)備;至少一個(gè)處理器;以及其上存儲(chǔ)有指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令響應(yīng)于由所述至少一個(gè)處理器執(zhí)行而使得所述系統(tǒng)執(zhí)行包括以下各項(xiàng)的操作:經(jīng)由所述觸摸輸入設(shè)備接收輸入的指示;查明針對(duì)所述輸入的觸覺(jué)反饋是否要通過(guò)從所述觸摸輸入設(shè)備外部的外部功能性接收到的外部觸覺(jué)事件來(lái)發(fā)起,或者觸覺(jué)反饋是否要通過(guò)由所述觸摸輸入設(shè)備響應(yīng)于所述輸入而生成的內(nèi)部觸覺(jué)事件來(lái)發(fā)起;以及使得所述觸摸輸入設(shè)備基于所述外部觸覺(jué)事件或所述內(nèi)部觸覺(jué)事件之一來(lái)輸出觸覺(jué)反饋。
[0094] 示例2:如示例1所述的系統(tǒng),其中所述觸摸輸入設(shè)備包括啟用觸覺(jué)的觸摸板、啟用觸覺(jué)的觸摸屏、或啟用觸覺(jué)的筆中的一者或多者。
[0095] 示例3:如示例1或2中的一者或多者所述的系統(tǒng),其中所述一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括所述觸摸輸入設(shè)備的固件。
[0096] 示例4:如示例1-3中的一者或多者所述的系統(tǒng),其中所述操作還包括確定所述外部功能性直接支持觸覺(jué)反饋,其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)外部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括使得所述觸摸輸入設(shè)備基于所述外部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。
[0097] 示例5:如示例1-4中的一者或多者所述的系統(tǒng),其中所述外部功能性包括當(dāng)前具有焦點(diǎn)的應(yīng)用,所述操作還包括確定所述應(yīng)用直接支持觸覺(jué)反饋,并且其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)從所述應(yīng)用接收到的外部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括使得所述觸摸輸入設(shè)備基于所述外部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。
[0098] 示例6:如示例1-5中的一者或多者所述的系統(tǒng),其中所述外部功能性包括操作系統(tǒng),所述操作還包括確定所述操作系統(tǒng)直接支持觸覺(jué)反饋,并且其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)從所述操作系統(tǒng)接收到的外部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括使得所述觸摸輸入設(shè)備基于所述外部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。
[0099] 示例7:如示例1-6中的一者或多者所述的系統(tǒng),其中所述操作還包括確定所述外部功能性不直接支持觸覺(jué)反饋,其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)內(nèi)部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括使得所述觸摸輸入設(shè)備基于所述內(nèi)部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。
[0100] 示例8:如示例1-7中的一者或多者所述的系統(tǒng),其中所述外部功能性包括當(dāng)前具有焦點(diǎn)的應(yīng)用,所述操作還包括確定所述應(yīng)用不直接支持觸覺(jué)反饋,并且其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)內(nèi)部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括使得所述觸摸輸入設(shè)備基于所述內(nèi)部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。
[0101] 示例9:如示例1-8中的一者或多者所述的系統(tǒng),其中所述外部功能性包括操作系統(tǒng),所述操作還包括確定所述操作系統(tǒng)不直接支持觸覺(jué)反饋,并且其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)內(nèi)部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括使得所述觸摸輸入設(shè)備基于所述內(nèi)部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。
[0102] 示例10:如示例1-9中的一者或多者所述的系統(tǒng),其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)內(nèi)部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括:查明用來(lái)向所述觸摸輸入設(shè)備提供輸入的姿勢(shì)的一個(gè)或多個(gè)屬性;以及使得基于所述一個(gè)或多個(gè)屬性來(lái)輸出所述觸覺(jué)反饋。
[0103] 示例11:一種用于使得輸出觸覺(jué)反饋的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括:接收對(duì)觸摸輸入設(shè)備的觸摸表面的輸入的指示;查明針對(duì)所述輸入的觸覺(jué)反饋是否要通過(guò)從所述觸摸輸入設(shè)備外部的外部功能性接收到的外部觸覺(jué)事件來(lái)發(fā)起,或者觸覺(jué)反饋是否要通過(guò)由所述觸摸輸入設(shè)備響應(yīng)于所述輸入而生成的內(nèi)部觸覺(jué)事件來(lái)發(fā)起;以及使得所述觸摸輸入設(shè)備基于所述外部觸覺(jué)事件或所述內(nèi)部觸覺(jué)事件之一來(lái)輸出觸覺(jué)反饋。
[0104] 示例12:如示例11所述的方法,還包括基于觸覺(jué)數(shù)據(jù)確定所述外部功能性是否直接支持觸覺(jué)反饋,并且其中所述查明包括以下之一:在所述觸覺(jué)數(shù)據(jù)指示所述外部功能性直接支持觸覺(jué)反饋的情況下,查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)從外部功能性接收到的外部觸覺(jué)事件來(lái)發(fā)起;或者在所述觸覺(jué)數(shù)據(jù)指示所述外部功能性不直接支持觸覺(jué)反饋的情況下,查明所述觸覺(jué)反饋要通過(guò)由所述觸摸輸入設(shè)備響應(yīng)于所述輸入生成的內(nèi)部觸覺(jué)事件來(lái)發(fā)起。
[0105] 示例13:如示例11或12中的一者或多者所述的方法,還包括接收所述外部功能性直接支持觸覺(jué)反饋的通知,其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)外部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括使得所述觸摸輸入設(shè)備基于所述外部觸覺(jué)事件來(lái)輸出觸覺(jué)反饋。
[0106] 示例14:如示例11-13中的一者或多者所述的方法,其中所述查明包括查明針對(duì)所述輸入的所述觸覺(jué)反饋要通過(guò)內(nèi)部觸覺(jué)事件來(lái)發(fā)起,并且所述使得包括:查明用來(lái)向所述觸摸輸入設(shè)備提供輸入的姿勢(shì)的一個(gè)或多個(gè)屬性;將所述姿勢(shì)的屬性映射到觸覺(jué)反饋;以及使得輸出所述觸覺(jué)反饋。
[0107] 示例15:一種用于使得輸出觸覺(jué)反饋的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括:接收對(duì)觸摸輸入設(shè)備的輸入的指示;確定所述觸摸輸入設(shè)備外部的外部功能性不直接支持觸覺(jué)反饋;響應(yīng)于所述確定,查明針對(duì)所述輸入的觸覺(jué)反饋要通過(guò)由所述觸摸輸入設(shè)備響應(yīng)于所述輸入生成的內(nèi)部觸覺(jué)事件來(lái)發(fā)起;查明造成所述輸入的姿勢(shì)的一個(gè)或多個(gè)屬性;以及使得所述觸摸輸入設(shè)備響應(yīng)于所述內(nèi)部觸覺(jué)事件并基于所述姿勢(shì)的所述一個(gè)或多個(gè)屬性來(lái)輸出觸覺(jué)反饋。
[0108] 示例16:如示例15所述的方法,其中所述確定包括接收所述外部功能性不直接支持觸覺(jué)反饋的通知。
[0109] 示例17:如示例15或16中的一者或多者所述的方法,其中所述外部功能性包括不直接支持觸覺(jué)反饋的應(yīng)用,并且其中所述輸入包括對(duì)所述應(yīng)用的圖形用戶界面的輸入。
[0110] 示例18:如示例15-17中的一者或多者所述的方法,其中所述外部功能性包括不直接支持觸覺(jué)反饋的操作系統(tǒng)。
[0111] 示例19:如示例15-18中的一者或多者所述的方法,其中所述查明所述姿勢(shì)的一個(gè)或多個(gè)屬性包括查明以下各項(xiàng)中的一者或多者:所述姿勢(shì)相對(duì)于所述觸摸輸入設(shè)備的移動(dòng)方向、所述姿勢(shì)的移動(dòng)距離、所述姿勢(shì)的移動(dòng)速度、所述姿勢(shì)的加速度、所述姿勢(shì)的減速度、或在生成所述姿勢(shì)時(shí)施加到所述觸摸輸入設(shè)備的壓力的量。
[0112] 示例20:如示例15-19中的一者或多者所述的方法,其中所述外部功能性包括應(yīng)用,并且其中所述使得是獨(dú)立于與所述應(yīng)用的輸入上下文有關(guān)的信息來(lái)執(zhí)行的。
[0113] 結(jié)語(yǔ)
[0114] 描述了用于觸摸輸入設(shè)備的觸覺(jué)反饋的技術(shù)。雖然用對(duì)結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了各實(shí)施例,但要理解,在所附
權(quán)利要求中定義的各實(shí)施例不必限于所述的具體特征或動(dòng)作。相反,這些具體特征和動(dòng)作是作為實(shí)現(xiàn)所要求保護(hù)的實(shí)施例的示例形式而公開(kāi)的。