TWI670639B - 用於識別使用者介面元件之技術以及使用其之系統及裝置 - Google Patents

用於識別使用者介面元件之技術以及使用其之系統及裝置 Download PDF

Info

Publication number
TWI670639B
TWI670639B TW107116844A TW107116844A TWI670639B TW I670639 B TWI670639 B TW I670639B TW 107116844 A TW107116844 A TW 107116844A TW 107116844 A TW107116844 A TW 107116844A TW I670639 B TWI670639 B TW I670639B
Authority
TW
Taiwan
Prior art keywords
search
response
touch
gui
instructions
Prior art date
Application number
TW107116844A
Other languages
English (en)
Other versions
TW201908954A (zh
Inventor
威廉 利德爾
保羅 克雷曼斯
湯瑪斯 蘇什
Original Assignee
美商愛特梅爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商愛特梅爾公司 filed Critical 美商愛特梅爾公司
Publication of TW201908954A publication Critical patent/TW201908954A/zh
Application granted granted Critical
Publication of TWI670639B publication Critical patent/TWI670639B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/014Force feedback applied to GUI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本揭露之實施例大致上係關於用於識別使用者介面(UI)中之元件之技術,並且更具體而言,用於判定在觸敏使用者介面上所選擇之UI元件之技術以及使用彼等技術來提供一或多個觸覺回應。

Description

用於識別使用者介面元件之技術以及使用其之系統及裝置 優先權主張
本申請案依35 U.S.C.§119(e)主張2017年5月18日申請之美國臨時專利申請案第62/507,902號之優先權,其揭露係以全文引用方式併入本文中。
本揭露之實施例大致上係關於用於識別使用者介面(UI)中之元件之技術,並且更具體而言,用於判定在觸敏使用者介面上所選擇之UI元件之技術以及使用彼等技術來提供一或多個觸覺回應。
合併觸控感測之觸控介面用於多種應用,包括例如平板電腦、個人電腦、智慧型手機及其他消費性產品。該等觸控介面亦用作控制面板,適用於汽車、器具(例如冰箱、烘箱、洗衣機/烘乾機等)暖房及空調控制系統、安全系統、及自動櫃員機(ATM)。這些應用中之觸控介面可係例如觸控板或可合併螢幕及圖形使用者介面(GUI)。
一般而言,需要具有足夠之回應性及準確度之觸控介面以搭配許多應用使用。
本揭露之一些實施例大致上係關於一種建立用於搜尋在一觸敏螢幕上顯示之一圖形使用者介面(GUI)之一元件之指令之方法。該方法包括解析一GUI定義且回應於該解析而識別該GUI之元件;建立包含經識別之元件之項目的一記錄;使經識別之該等元件與相似定位之元件的群組相關聯;配置經識別之元件之該記錄成一樹狀結構;折疊相同群組中經識別之元件成該樹狀結構中之一單一分葉;最佳化該樹狀結構;及回應於該樹狀結構而建立一搜尋指令清單。
本揭露之一些實施例大致上係關於一種用於使一電腦能夠建立可執行指令以搜尋一圖形使用者介面(GUI)之一元件之電腦程式產品。程式產品可包括一電腦可讀媒體及在該電腦可讀媒體上之軟體指令。該電腦可讀媒體上之該等軟體指令經調適以使該電腦能夠執行以下操作:解析一GUI定義且回應於該經解析GUI定義而識別該GUI之元件;建立包含經識別之該等元件之項目的一記錄;使經識別之該等元件與相似定位之元件的群組相關聯;配置經識別之元件之該記錄成一樹狀結構;折疊相同群組中經識別之元件成該樹狀結構中之一單一分葉;最佳化該樹狀結構;及回應於該樹狀結構而建立搜尋指令之一清單。
本揭露之一些實施例大致上係關於一種可操作地耦合至一觸控螢幕之微控制器,該觸控螢幕經組態以顯示一圖形使用者介面(GUI)。該微控制器包括至少一個處理器及儲存在一非暫時性儲存媒體上之一或多個可執行指令。當由該處理器執行時,該等指令經調適以 使該處理器能夠:判定在一觸控螢幕處所感測之一觸控之一部位;及識別與對應於所感測之該觸控之觸控的該部位相關聯之一GUI元件。
本揭露之一些實施例大致上係關於一種識別在一觸控螢幕處顯示之一圖形使用者介面(GUI)之一元件之方法。該方法包括:判定在一觸控螢幕處所感測之一觸控之一部位;回應於該部位而執行一或多個搜尋指令,其中該一或多個搜尋指令之各搜尋指令對應於一GUI元件,並且在執行時該搜尋指令經調適以傳回一搜尋結果;及回應於該搜尋結果而識別一GUI元件。
本揭露之一些實施例大致上係關於一種系統。該系統包括一顯示子系統及一觸控子系統。該顯示子系統經組態以控制一顯示器。該觸控子系統包括一觸控感測器及一觸控控制器。該觸控控制器經組態以判定在該觸控螢幕處所感測之一觸控之一部位;回應於該部位及一搜尋樹而執行一或多個搜尋指令,其中該一或多個搜尋指令之各搜尋指令對應於一GUI元件,並且在執行時該搜尋指令經調適以傳回一搜尋結果;回應於該搜尋結果而識別一GUI元件;及回應於經識別之該GUI元件而產生一觸覺控制訊息。
102‧‧‧軟體應用程式工具
104‧‧‧觸控處理器
106‧‧‧觸控感測器
108、110、112、114、116、118、202、204、206、208、210、302、304、306、308、310、312、314、316、402、404、406、408、410、412、502、504、506、508、510、512、602、604、606、608、610、612、614、702、704、706、708、710、712、714、716、720‧‧‧操作
300、400、600‧‧‧程序
500‧‧‧最佳化程序
810‧‧‧收音機GUI
820‧‧‧表
832、834、836、838、840、842、844、846、848‧‧‧經分組元件
850‧‧‧樹狀結構
1000‧‧‧系統
1010‧‧‧微控制器韌體
1012‧‧‧GUI元件搜尋功能
1014‧‧‧回應判定
1016‧‧‧接觸測量及處理
1018‧‧‧回應驅動器
1020‧‧‧觸敏介面
1022‧‧‧感測電路
1040‧‧‧工具;系統外部之工具
1042‧‧‧GUI定義XAML檔案
1044‧‧‧搜尋清單建立應用程式
1046‧‧‧元件搜尋任務清單
1048‧‧‧元件回應資訊
1210‧‧‧收音機GUI
1212、1216‧‧‧按鈕
1214‧‧‧旋轉盤
1310‧‧‧中控系統
1320‧‧‧觸控控制器
1322‧‧‧觸控處理
1324‧‧‧形狀搜尋功能
1326‧‧‧力處理
1328‧‧‧觸覺控制件
1330‧‧‧顯示器
1332‧‧‧中控系統螢幕;觸控螢幕
1334‧‧‧力感測器
1336‧‧‧螢幕顯示設計
1338‧‧‧搜尋樹定義
1340‧‧‧觸控控制器組態
1350‧‧‧觸覺裝置
1352‧‧‧觸覺庫
所屬技術領域中具有通常知識者可自結合下列附圖之實施方式瞭解本揭露實施例之目的及優點。本專利或申請檔案含有至少一張彩色製作的圖式。專利商標局將依申請及所繳納之必要規費,提供附有彩色圖式之本專利或專利申請公開案之複製本。
圖1係繪示產生及使用搜尋任務清單以識別GUI中之所接觸UI元件之程序的游泳圖。
圖2係根據本揭露一實施例之用於產生搜尋任務清單之一程序的流程圖。
圖3係根據本揭露一實施例之用於從UI結構定義中提取UI元件之一程序的流程圖。
圖4係根據本揭露一實施例之用以產生中間搜尋樹之一程序的流程圖。
圖5係根據本揭露一實施例之用以產生搜尋任務樹之一程序的流程圖。
圖6係根據本揭露一實施例之用以產生搜尋任務清單之一程序的流程圖。
圖7係根據本揭露一實施例之用以判定觸控是否發生在UI元件內之一程序的流程圖。
圖8展示包含UI元件之收音機GUI之實施例。
圖9展示根據本揭露實施例之圖8之收音機GUI的UI元件。
圖10展示根據本揭露之實施例形成之樹狀結構中之UI元件。
圖11展示合併搜尋任務清單之系統之實施例。
圖12展示包括與收音機GUI之UI元件之至少一些相關聯之特徵及參數的收音機GUI之實施例。
圖13繪示作為子系統併入至汽車之中控系統(head unit)中之圖11之系統之實施例。
下文實施方式將參考形成其部分之附圖,且其中利用圖解方式展示本揭露可實踐於其中之實施例的具體實例。充分詳細描述這些實施例以使所屬技術領域中具有通常知識者能夠實踐本揭露。然而,可利用其他實施例,並且可進行結構、材料及程序變更,而未脫離本揭露之範疇。本文中呈現之圖解闡釋非意指係任何特定方法、系統、裝置、或結構之實際視圖,而僅是經採用以描述本揭露之實施例的理想化表示。本文中呈現之圖式非必然按比例繪製。為了讀者便利,在各種圖式中之相似結構或組件可保持相同或相似編號;然而,編號之相似性非意謂結構或組件之大小、組成、組態、或任何其他性質必然相同。
應易於明白,如本文中大致上描述及圖式中所繪示之實施例之群組件可依各式各樣不同組態予以配置及設計。因此,下文描述之各種實施例非意圖限制本揭露之範疇,而僅是表示各種實施例。雖然在圖式中可呈現實施例之各種態樣,然而該等圖式非必然按比例繪製,除非具體指示。
以下描述可包括實例以幫助所屬技術領域中具有通常知識者能夠實踐所揭示的實施例。用語「例示性(exemplary)」、「舉例(by example)」、及「例如(for example)」的使用意謂著相關描述係解釋性的,且雖然本揭露的範圍意圖涵蓋實例及法律等效實例,此種用語的使用未意圖將實施例或本揭露的範圍限制在指定組件、步驟、特徵、功能、或類似者。
另外,所展示及描述之具體實施方案僅係實例且不應解讀為實施本揭露之唯一方式,除非本文中另有指明。元件、電路、及功能可依方塊圖形式予以展示,以免不必要的細節混淆本揭露。反之,所展示及描述之具體實施方案僅係例示性且不應解讀為實施本揭露之唯一方式,除非本文中另有指明。另外,區塊定義及各種區塊之間之邏輯分割係一具體實施方案之例示。所屬技術領域中具有通常知識者將易於明白,可藉由許多其他分割解決方案實踐本揭露。在絕大多數情況中,已省略關於時序及類似者考量之細節,其中此類細節不是徹底瞭解本揭露所必須者且係在相關技術領域中具有通常知識者之能力內。
所屬技術領域中具有通常知識者將瞭解可使用任何各式各樣不同科技及技術來表示資訊及信號。例如,可藉由電壓、電流、電磁波、磁場或粒子、光學場或粒子、或其等之任何組合來表示本說明書通篇中所引用的資料、指令、命令、資訊、信號、位元、符號、及碼片(chip)。為了清楚呈現及說明,一些圖式可將信號繪示為一單一信號。所屬技術領域中具有通常知識者將理解,該信號可表示一匯流排之信號,其中該匯流排可具有各式各樣位元寬度,並且本揭露可實施在任何數目個資料信號,包括一單一資料信號。
可用一般用途處理器、特殊用途處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或經設計以執行本文描述之功能的其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件、或其等之任何組合來實施或執行結合本文中 揭示之實施例所描述的各種說明性邏輯區塊、模組、及電路。一般用途處理器(本文中亦可稱為主機處理器或簡單地稱為主機)可係一微處理器,但是在替代方案中,該處理器可係任何習知處理器、控制器、微控制器、或狀態機。一處理器亦可實作為運算裝置之一組合,諸如一DSP與一微處理器之一組合、複數個微處理器、一或多個微處理器與一DSP核心結合,或任何其他此類組態。一般用途電腦包括視為特殊用途電腦之處理器,而該一般用途電腦經組態以執行與本揭露之實施例相關的運算指令(例如,軟體程式碼)。
可就經描繪為一流程圖(flowchart)、一流程圖示(flow diagram)、一結構圖、或一方塊圖的一程序而論來描述實施例。雖然一流程圖可描述操作動作為一序列程序,但是許多這些動作可依另一序列、平行、或實質上同時實施。此外,可重新配置動作順序。一程序可對應於一方法、一執行緒、一函式、一程序、一副常式、一副程式等。另外,本文中揭示之方法可以硬體、軟體、或兩者實作。若以軟體實作,則函式可作為在電腦可讀取媒體上之一或多個指令或程式碼予以儲存或傳輸。電腦可讀取媒體包括電腦儲存媒體及通訊媒體兩者,包括促進在不同地點之間傳送一電腦程式的任何媒體。
本文中使用諸如「第一(first)」、「第二(second)」等標號對一元件的任何指涉非限制該等元件之數量或順序,除非明確指明此類限制。反而是,本文中可使用這些標號作為區別兩個或更多個元件或一元件之例項的便利方法。因此,對第一元件及第二元件的指涉非意謂可採用僅兩個元件,亦非意謂該第一元件必須以某種方式在 該第二元件之前。此外,除非另有指明,否則一組元件可包含一或多個元件。
如本文中所使用,對一給定參數、性質、或條件引用用語「實質上」意指且包括所屬技術領域中具有通常知識者將瞭解該給定參數、性質、或條件在小變化程度內符合例如諸如可接受之製造容限內的程度。舉實例而言,取決於實質上符合的特定參數、性質、或條件,該參數、性質、或條件可係至少90%符合、至少95%符合、或甚至至少99%符合。
本揭露中所描述之各種實施例大致上係關於用於判定在一觸敏使用者介面上所選擇之UI元件之技術,以及使用彼等技術以提供一或多個觸覺回應。如所瞭解為了本文所描述之實施例之目的,接觸感測器可回應於物件(諸如,手指或觸控筆)接觸觸控介面之觸敏區,或回應於物件靠近該觸敏區。在本揭露中,「接觸」通常係指物件與觸敏區實體接觸,但是亦可涵蓋物件緊密靠近而由接觸感測器產生可測量回應。此外,觸敏區係指在觸控介面上接觸感測器可回應物件之接觸的實體區。
如本文所用,觸敏GUI係指與GUI整合之觸控介面。例如,GUI通常包括一或多個顯示區域及作用/可作用區域。在本揭露中,顯示區域係顯示資訊給使用者的使用者介面之區域。可作用區域係GUI之區域,諸如按鈕、滑桿或選單,其允許使用者對使用者介面採取一些動作。一些顯示區域亦係可作用區域,在其中其等顯示資訊並且可採取一些動作。在觸敏GUI中,接觸在其上顯示作用區域的觸 敏區可啟動該區域(例如,輕觸在觸控螢幕上的GUI按鈕)。作用區域可被顯示為所有各種形狀及大小之GUI元件/物件,例如按鈕、滑桿、可選取窗格、選單等。
一般而言,若在觸敏區處感測到接觸,則使用程序來判定接觸所對應的GUI之作用區域(若有的話)。例如,若輕觸「ENTER」按鈕,則測量該接觸且回應於所測量之該接觸,程序判定該接觸係在ENTER按鈕處。ENTER按鈕係作用區域,因此在觸控敏感GUI及/或叫用GUI的基礎應用程式中建立事件。
此外,若特定GUI元件與作用區域相關聯,則與觸控介面整合的致動器可提供一或多個實體回應,通常稱為觸覺回應。這些觸覺回應可係力、振動或移動之形式,並且可模仿表面紋理、脊、邊緣、互動(如壓按/點選按鈕)、以及其他模擬感覺及回應。在GUI的情況中,觸覺回應可局域化於使用者所互動的GUI元件。例如,若使用者觸碰GUI按鈕,則觸覺回應可使按鈕感覺邊緣升起,猶如其被按壓、或像是按鈕具有粗糙紋理。
本文所描述之各種實施例有時可指建立及更新電子記錄。電子記錄可係資料檔案之形式,並且更新電子記錄可包括在記錄之一或多個欄位中插入或刪除資料項目。替代地,在執行時期,資料項目可指具有與所描述之記錄一致的狀態資訊及變數的類別物件及經實體化物件。在本文所描述之各種實施例中,設想這兩種情況。
本揭露之各種實施例係關於用於識別在觸敏介面上已經接觸之GUI元件之技術。這些技術及相關聯之結構在記憶體使用及回 應能力方面尤其有效率。此外,與其他技術相比,介面資料儲存需求很小,且執行時期所執行之用以識別UI元件的任務數目很少。
本揭露之一些實施例係關於一種用於建立經最佳化搜尋任務之清單之程序,其可經執行以識別在觸敏介面上所接觸的GUI元件。搜尋任務可以係處理器可執行指令,在執行時該等指令傳回成功或失敗訊息至正在搜尋被接觸的GUI之元件(若有的話)的子系統。在一實施例中,基於訂定GUI中之各種元件及其部位之映射的定義檔案來建立搜尋任務。針對各種效率參數最佳化搜尋任務。
在一實施例中,如與本揭露之發明人已知的可在顯示子系統(例如,汽車中控系統)中執行之搜尋的習知觸敏GUI相比較,可由嵌入式裝置(例如,觸控控制器)執行搜尋任務清單。在觸控控制器中執行GUI元件搜尋節省與顯示子系統通訊的時間,及子系統作出回應且與例如觸覺回饋子系統進行通訊的時間。如與習知觸敏GUI相比較,節省的時間改善觸敏GUI之回應能力,並且從使用者觀點,縮短從他/她觸碰螢幕至其等接收回應於該觸碰之回饋的時間。
此外,任務搜尋清單之建立係可組態,並且取決於GUI,多組共同特徵可經選擇以用於針對特定應用而最佳化的實施方案。例如,在一些實施例中,建立程序可針對GUI進行最佳化,包括分頁、下拉式選單及模糊其他GUI元件的彈出視窗、某些形狀之元件、或在接觸時移動或變形之元件。
圖1繪示根據本揭露之各種實施例之系統的總體操作。在操作112中,軟體應用程式工具102經組態以處理UI定義檔案,以 建立條件式可執行指令之搜尋任務清單(操作108),可執行該等條件式可執行指令以識別已在觸敏螢幕上接觸的UI元件(若有的話)。
可在非暫時性儲存記憶體中儲存搜尋任務清單(操作110),該非暫時性儲存記憶體可由作為觸控系統之一部分的一或多個處理器存取。當接觸事件發生在觸控介面處時,觸控感測器106可感測觸碰(操作118)並提供指示該觸碰的一或多個信號至觸控處理器。觸控處理器104判定(操作112)在觸控介面上接觸發生之部位,且回應於該判定而搜尋(操作114)且識別被接觸的UI元件(若有的話)。在一實施例中,觸控處理器104可提供(操作116)搜尋結果至圖形使用者介面子系統。
將參照圖2、圖3、圖4、圖5、圖6、及圖7來描述建立搜尋任務清單之一程序的一實施例。本揭露之實施例利用根據樹及網格技術組織UI元件的搜尋樹結構。將各種UI元件劃分為被視為似網格的相關群組,組織成搜尋樹,然後產生各種搜尋任務。該等搜尋任務係條件式以使用指令來最佳化搜尋之執行。所屬技術領域中具有通常知識者將理解,可使用其他演算法將畫面劃分成可搜尋區域,例如,分治(divide and conquer)方法。
圖2繪示產生搜尋任務清單之一程序之實施例。在操作202中,載入並且解析UI之結構定義,以識別畫面、子畫面、以及該等畫面及子畫面上之UI元件。UI結構定義可以係電子檔案、資料庫、原始資料、或類似者。在操作204中,將元件分組,並且將可搜尋區域劃分成具有元件群組的一或多個可搜尋區域。在操作206中, 基於可搜尋區域將群組連結到樹結構中。在操作208中,使搜尋任務與搜尋樹分支及節點相關聯以形成搜尋樹,並且使搜尋樹最佳化。在操作210中,搜尋樹之條件式任務儲存在清單中,該清單係可由處理器執行的任務清單。
在一實施例中,產生搜尋任務清單的軟體應用程式工具102可經組態以將操作202、204、206、208及210之一或多者的結果寫入至輸出檔案。這可由偵錯工具用來檢視程序之結果。相同偵錯工具可經組態以使用搜尋任務清單的文字版本,並且在虛擬測試環境(如,例如,.dos可執行檔案)內執行,以驗證搜尋任務清單運作就緒。
圖3繪示用於從UI結構定義中提取UI元件之一程序300之實施例。在一實施例中,UI結構定義係待由應用程式工具之組態產生特徵所轉換的顯示器之部分的xml定義。應用程式工具解析結構定義並且抓取定義結構中定義之元件。在操作302中,各UI元件被載入,並且在操作304中,判定該UI元件是否係已知的UI元件。若該UI元件不是已知的UI元件(即,這係首次在結構定義中已識別此元件),然後,在操作306中,該程序將建立用於該類型UI元件(例如,按鈕、旋鈕、滑桿等)的一個新元件定義。建立新定義後,或若元件係已知的UI元件,則在操作308中,判定是否將元件指派給現有群組。在一實施例中,基於各種預定參數(例如元件之共同特徵,諸如元件類型、顯示UI元件所在的畫面、層位置、與元件相關聯之回應類型(例如,視覺、觸覺、音訊等)、及類似者),判定是否指派給現有群組。若決定將元件指派給新群組,則在操作310中,使用與元 件相關之參數來建立新群組記錄。建立新群組記錄後,或若判定將元件指派給現有群組,則在操作312中,將新元件項目插入至用於該新元件的群組記錄中。在一實施例中,項目包括用於元件ID的欄位及用於元件之部位(即,螢幕上元件之座標)的欄位。在操作314中,判定是否有更多的UI元件,並且若有更多的UI元件,則針對在UI結構定義中經識別之各其餘UI元件執行該程序。在操作316中,程序傳回(多個)元件、(多個)元件定義及(多個)群組。
在圖3中未繪示之實施例中,若UI結構定義包括多於一個畫面定義,則各此類畫面被指派畫面ID(畫面ID係UI元件之參數)。畫面ID亦可被合併作為各群組之參數。各畫面亦可包括子畫面,該等子畫面係所顯示GUI之經定義區,在該等經定義區中,一些UI元件動態地改變,同時在該等區外的UI元件保持靜態。舉非限制性實例,具有動態元件之區可包括可互換之窗格、可捲動選單、可作用之資訊窗格、瀏覽按鈕、及類似者。
圖4繪示根據本揭露實施例之用以建立搜尋樹之一程序400。在此程序中,判定如何將在UI定義中識別之各畫面劃分為可搜尋區,各可搜尋區包括元件之一或多個群組。在圖4所展示之程序的實施例中,選擇分隔線(x座標,y座標),該分隔線劃分元件之群組,使得至少一個群組在分隔線之一側,及至少一個其他群組在分隔線之另一側上。現在,用沿分隔線的共用邊界有效地將畫面分成兩個可搜尋區域。該等群組以遞歸方式劃分,直到無法進一步劃分群組為止。
在另一實施例中,畫面或可搜尋區同時在x座標及y座標方向予以劃分,這可導致群組之至多四個子分區。此技術亦可導致少於四個子分區,例如三個群組之分區及一個空可搜尋區域。
在又其他實施例中,可以使用圓形、正方形及/或多邊形來定義畫面之一部分,以排除在可搜尋區之外,使得該部分不被再細分為可搜尋區。
逐步完成圖4所展示之程序,在操作402中,載入具有兩個或更多個群組之第一可搜尋區。對於第一次迭代,這應係包括所有群組的整個畫面。在此實施例中,存在初始可搜尋區域記錄,其具有定義為涵蓋整個畫面的區(包括所有元件及群組)。在操作404中,選擇將初始可搜尋區域劃分成兩個可搜尋區域的格線,可搜尋區域各自具有該等群組之一些者。在操作406中,建立新記錄,對在初始記錄及新記錄中的群組進行排序,並且該等記錄用其各別之可搜尋區予以更新。分隔線被記錄為兩個可搜尋區之間的分割/分區。第一可搜尋區以及在第一可搜尋區中之群組及元件被連結至分區,該分區繼而被連結至新可搜尋區以及在新可搜尋區中之群組及元件。在執行時期,將存在元件之類別物件、群組之類別物件及分割/分區之類別物件。
對於含有多於一個元件之群組之各可搜尋區,該程序被遞歸執行(操作408)以劃分可搜尋區。
顯著地,在一實施例中,藉由對元件定義之參照(例如,元件ID)及在此實施例中至元件之原點的移動來定義元件,而減少介面記憶體需求,此係因為不必個別定義各元件。
一旦畫面被完全劃分,包含分區/分割、UI元件及UI元件之群組、以及其等之間之連結的中間搜尋樹現在存在。
在操作410中,建立各群組之群組層級搜尋任務。群組層級任務係一程序步驟或系列之程序步驟。任務可包括:(i)判定是否觸控或接觸事件發生在UI元件(或沒有元件)內的任務;(ii)以某種方式修改搜尋區域的任務;及(iii)為下一任務設定的任務。
各群組層級任務可包括在成功或失敗時待執行之下一任務的指示。例如,各任務可包括具有至下一任務位址之「位移」的一位元。此外,各群組層級任務可在執行時接受引數。在一些實施例中,先前任務可提供引數或設定環境位元/旗標來指示可供下一任務使用的引數。
在一實施例中,群組座標中之位移(位置之角度)可用於產生索引。可搜尋區中之每一元件(若經組態)可被指派不同ID(係按索引自可搜尋區之基底ID的位移)。結果係元件ID及位移值。存在用於修改回應(例如,觸覺)或元件ID的分開之規定,因此一個群組元件可能傳回一單一元件ID但多個回應ID,另一個群組元件可能針對數個不同元件傳回一個回應ID。
群組層級搜尋任務可插入至群組記錄中、插入至搜尋任務清單中、或插入至中間記錄中。一旦完成群組層級搜尋任務,接著在操作412中傳回中間搜尋樹。
雖然在圖4中未繪示,然而在一實施例中,可針對各任務設定環境變數,其指示該任務被執行、係成功且係最終任務時將傳 回的內容(若適用)。舉非限制性實例,環境變數可係觸覺ID、用以控制如何修改在群組形狀內之元件之元件ID及觸覺ID的值等。亦可設定環境旗標,該等環境旗標指示待發送之附有下一任務描述的資料。藉由使用某些約束及正確環境變數,例如圓形之定義可從7個位元組減少至2個位元組。
圖5繪示在中間搜尋樹上執行之一最佳化程序500之實施例。在操作504中,按共同特徵分組所有元件。共同特徵的實例包括元件類型、在層中之位置、相對於另一層中之另一個元件之位置(例如,在相同元件後面)、顯示群組、形狀或更多。在一實施例中,可選擇共同特徵以最佳化搜尋程序。例如,若按層位置分組元件且在頂層上的元件位於搜尋樹頂部,則將首先搜尋該等元件。舉另一實例,在存在「分頁」(即,使用者介面之層可被撥動以暴露在下方的層,或將層拉至另一層上)的應用程式中,按顯示群組之分組允許使用單一控制件來控制所有顯示的元件,例如,搜尋顯示群組中的所有元件、回應於控制設定而套用變更至彼等元件、開啟或關閉顯示群組中的所有元件等。在各種實施例中,可使用識別項來識別按共用特徵(例如,層ID、位置ID、形狀ID等)所組織之群組。
在操作506中,針對各元件將搜尋任務插入至搜尋樹中,並且分割以形成中間搜尋任務樹。在操作508中,重新排序中間搜尋任務樹以確保單一行程通過各任務。在操作510中,排除冗餘或無效率搜尋任務。在操作512中,傳回經最佳化搜尋任務樹。
圖6繪示建立搜尋任務清單之一程序600之實施例。在操作602中,載入搜尋任務樹中之類別物件,並且在操作604中,從類別物件建立指令字(instruction word)(即,搜尋任務),並且將指令字(即,搜尋任務)插入至搜尋任務清單中。在圖6所展示之實施例中,指令字包括任務代碼欄位及跳躍欄位。在一實施例中,指令字包括資料欄位。每一失敗(即,元件不同)及每一分割都需要到另一指令之跳躍,除非在記憶體中下一任務緊接目前任務後。在操作606中,將任務代碼插入任務代碼欄位中,並且在操作608中,將跳躍值插入跳躍欄位中。
在一些實施例中,直到所有任務插入至搜尋任務清單中,才插入一些或全部跳躍值。在其他實施例中,可從搜尋任務樹推斷出跳躍值。
在操作610中,在記憶體中串連搜尋任務清單之各種任務以形成條件式搜尋任務清單,若所有物件皆在清單中(操作612),則在操作614中,程序傳回該條件式搜尋任務清單。搜尋任務清單及搜尋樹可儲存在記憶體中。
任務指令可按將在其中實施搜尋任務清單的特定環境中可用之容器大小限制(即,位元組限制)而變化。在一實施例中,與各任務指令相關聯之資料可取決於系統需求而變化,包括指令介面需求(8位元、12位元、16位元等)、可用記憶體等。舉非限制性實例,可用僅x座標及y座標資料以及多邊形邊數來執行在8邊多邊形 UI元件內進行搜尋之指令。然而,若指令介面及其他記憶體需求允許,則可包括額外資料。
圖7繪示根據本揭露實施例之用以判定觸控是否發生在UI元件內之一搜尋程序。使用所提供之資料及搜尋任務清單來執行搜尋樹之搜尋。在操作702中,在處理器之介面上循序提供各任務之可執行指令連同各任務之酬載資料,並且在操作704中執行。搜尋樹被搜尋時,在操作706中判定是否觸控發生在UI元件內,並且各任務之結果係指示是否觸控發生在UI元件內的真/假、成功/失敗。在操作708中,回應於目前任務之結果係成功,由處理器載入並接收下一任務指令及相關資料。即,若操作706之結果係成功,則執行任務清單中之下一任務。
若結果係失敗,則回應於結果,由處理器載入並接收alt任務指令及相關資料。若存在替代任務(操作714),則在操作716中供應替代任務部位,並且程序迴圈回到操作702,並且從處理器之替代部位載入任務。當搜尋耗盡時,UI元件被找到或未找到。若找到UI元件,則在操作710中傳回所找到結果,並且在操作712中,傳回該元件之ID以及任何環境設定/回應參數。若操作未找到,則在操作720中傳回未找到結果。
在一實施例中,圖7所展示之搜尋程序可係在觸控處理器(微控制器)處執行之韌體應用程式。觸控處理器可具有由儲存在快閃記憶體中之搜尋程序執行之一或多個搜尋任務。在一實施例中,搜尋任務可以儲存在與顯示控制器相關聯之RAM處,並且可在設定 或佈建程序期間提供搜尋任務至觸控處理器,並且保持搜尋程序可存取搜尋任務。
現在發明人理解,所描述之實施例提供優於替代方法的數個優點。記憶體需求從線性搜尋、純網格法或純搜尋樹方法顯著降低至多50%;並且仍有優於組合網格/樹方法之改善。這部分因為減少所執行的搜尋操作數量。由於減少搜尋操作數量,所以回應循環比替代方法(包括習知方法)顯著縮短。例如,在1200×1200觸敏GUI上,與範圍從72μs(純網格)至1200μs(線性)之替代方法相比,達成小於36μs之循環時間。對於使用者而言,差異係一更具回應性觸控介面。對於設計者而言,觸控介面可更精緻而具有不同回應特性之許多元件。
圖8、圖9及圖10繪示參照圖2至圖7所繪示及描述之程序,結合用於收音機應用程式之GUI作為可搭配本揭露之實施例一起使用的GUI的一個非限制性實例。圖8中所繪示之收音機GUI 810包括八種UI元件之類型及總共144個UI元件,於表820中摘述。
圖9展示根據參照圖3所描述之方法分組的UI元件。在所描述之實施例中,經分組元件832、834、836、838、840、842、844、846、及848具有相似之觸控特性(例如,回應於觸控的觸覺回饋)、螢幕上之實體部位、及形狀。
圖10展示使用參照圖4所描述之樹及網格方法形成之樹狀結構850的一個實例。
圖11繪示根據本揭露實施例之可實施本文所描述之搜尋方法的系統1000及相關工具1040。系統1000包括微控制器韌體1010,該微控制器韌體上具有GUI元件搜尋功能1012及針對GUI元件的回應判定1014。執行微控制器韌體1010的處理器耦合至回應驅動器1018,該回應驅動器可接收來自微控制器韌體1010的控制信號並且繼而在觸敏介面1020中驅動回應。在一實施例中,觸敏介面1020係包括一或多個致動器的觸控螢幕,並且回應驅動器1018係經組態以產生將激發致動器之控制信號的觸覺驅動器。感測電路1022可回應於在觸敏介面1020處之接觸而產生一或多個測量信號。接觸測量及處理1016可判定接觸資訊(例如,部位、類型等),並且回應於來自感測電路1022之測量信號而提供接觸資訊至回應判定1014及GUI元件搜尋功能1012。在回應驅動器1018處所接收到之控制信號可至少部分地基於接觸資訊,例如使得在觸敏介面1020上之正確部位處提供觸覺回饋。
圖11中亦展示根據本揭露實施例之工具1040,該工具可實施搜尋清單建立程序並且建立元件搜尋任務清單及元件回應資訊。搜尋清單建立應用程式1044經組態以實施參照圖2至圖6所描述之程序,GUI定義XAML檔案1042以產生元件搜尋任務清單。應用程式1044可提供元件搜尋任務清單1046及元件回應資訊1048作為一檔案至微控制器韌體1010。在一實施例中,該應用程式亦可提供搜尋樹,雖然其可併入至搜尋任務中。
在韌體之一或多個實施例中,該韌體可包括力測量及處理功能,以合併關於觸控事件的力位準資訊。在彼等實施例中,可由觸覺定序器使用由元件搜尋功能所傳回之力位準資訊、GUI元件ID及觸覺回應細節,以回應於該力位準、GUI元件ID及觸覺回應細節而產生觸覺控制信號。
圖11之系統可併入至利用觸控介面及觸控控制面板的各種消費性產品、器具及機器(包括汽車)中。
圖12繪示用於汽車觸控控制面板的收音機GUI 1210之簡化版本。三個區域具體標註為區域1、區域2及區域3。區域1係在用於溫度控制之旋轉撥盤1214中間的按鈕1212。回應於具有強力位準的觸控事件而提供根據觸覺設定檔ID #4(振動)之觸覺回饋。區域2係亦用於溫度控制之旋轉撥盤1214。回應於具有輕力位準的觸控事件而提供根據觸覺設定檔ID #3(摩擦)之觸覺回饋。最後,區域3係帶出用於汽車設定之選單的按鈕1216。回應於具有強力位準的觸控事件而提供根據觸覺設定檔ID #2(點選)之觸覺回饋,並且回應於具有輕力位準的觸控事件而提供根據觸覺設定檔ID #3(摩擦)之觸覺回饋。
圖13繪示併入至由中控系統1310下命令之汽車控制件中的圖11之系統及圖12之GUI,並且在中控系統1310中之觸覺效果受控於微控制器。在所描述之實施例中,觸控控制器1320及形狀搜尋功能1324係汽車子系統之部分,在該汽車子系統中之汽車中控系統1310以觸覺回饋回應觸控而無需中控系統之處理電路系統直接介入。 觸控控制器1320經組態以從觸控位置及力位準資訊來識別經觸控之螢幕按鈕,並且執行包括按鈕位置的觸控狀態機以觸發觸覺效果。
在此實施例中,力處理1326及觸控處理1322被整合到一個控制器組件中,並且中控系統螢幕1332含有數個幾何物件描述之定義(螢幕顯示設計1336及搜尋樹定義1338),需要各定義以引起由觸控控制器1320直接啟動一系列觸覺效果並且由觸覺裝置1350執行該系列觸覺效果。
例如,在顯示器1330處之觸控之後,觸控控制器1320接收來自力處理1326及觸控處理1322的力資訊及觸控資訊。此資訊可包括力測量及在顯示器上之觸控位置。形狀搜尋1324提供對應於觸控發生所在的顯示器1330處所顯示之UI元件(若有的話)的UI元件資訊。若沒有對應於顯示器上之部位的UI元件,則形狀搜尋1324提供空(null)搜尋結果。在搜尋UI元件之形狀資訊時,形狀搜尋1324可使用儲存在中控系統1310處之定義。在一實施例中,當觸控控制器1320與中控系統1310整合時,或當中控系統1310電源開啟時,在佈建程序期間,形狀搜尋1324可接收定義。若形狀搜尋1324識別UI元件,則由觸覺控制件1328使用觸覺資訊,以發送觸覺啟動訊息至觸覺裝置1350,該觸覺裝置包括觸覺效果及該觸覺效果之位置。觸覺啟動訊息可包括指示觸覺效果位準的參數(例如,弱、中、強)。觸覺裝置1350搜尋儲存在觸覺裝置處之觸覺庫1352中之觸覺效果定義。接著,觸覺裝置1350控制顯示器1330處的致動器,使得顯示器之特 定區展現所請求之觸覺效果。顯著地,不同觸覺裝置可具有不同觸覺庫,所以觸覺效果因裝置而異。
在此實施例中,GUI定義係XAML檔案,XAML檔案係用於圖形使用者介面的xml實施方案。XAML檔案含有用於GUI之UI之螢幕元件的繪圖指令之階層式結構化清單。在XAML檔案中,有與GUI元件相關聯之標籤。例如,「寬度」、「高度」及「水平對齊」皆係特定元件之有效標籤。
本說明書中描述之許多功能單元可經繪示、描述、或標示為模組、執行緒(thread)、或程式設計程式碼之其他隔離,以更特別強調其等實施方案獨立性。模組可係至少部分以硬體、以某種或另一種形式實作。例如,一模組可實作為一硬體電路,包含自訂VLSI電路或閘陣列、現用半導體,諸如邏輯晶片、電晶體、或其他離散組件。一模組亦可以可程式化硬體裝置實作,諸如場可程式化閘陣列、可程式化陣列邏輯、可程式化邏輯裝置、或類似者。
模組亦可使用軟體或韌體實作、儲存在一實體儲存裝置(例如,一電腦可讀取儲存媒體)上、儲存在記憶體中、或其等之一組合,以供由各種類型處理器執行。
可執行程式碼之一經識別模組可例如包含電腦指令之一或多個實體或邏輯區塊,其可例如組織為一執行緒、物件、程序、或函式。然而,一經識別模組之可執行碼不需要實體定位在一起,而是可包含儲存在不同部位中之散指令,當該等散指令邏輯上聯合在一起時,該等散指令構成該模組且達成針對該模組之指定用途。
的確,可執行程式碼之一模組可係一單一指令、或許多指令,且可甚至分散遍及數個不同程式碼片段、分散在不同程式之中,及跨數個儲存裝置或記憶體裝置。相似地,在本文中可在模組內識別及繪示操作資料,並且操作資料可依任何合適的形式體現及組織在任何合適類型資料結構內。操作資料可經收集為一單一資料集,或可分散遍及不同位置(包括分散遍及不同儲存裝置),且可至少部分僅僅作為在一系統或網路上的電子信號而存在。在一模組或一模組之部分以軟體實作的情況中,該等軟體部分儲存在一或多個實體裝置(在本文中稱為電腦可讀取媒體)上。
在一些實施例中,該等軟體部分以一非暫時性狀態予以儲存,使得該等軟體部分或其等之表示保存在相同實體位置中達一段時期。另外,在一些實施例中,該等軟體部分儲存在一或多個非暫時性儲存裝置上,包括能夠儲存表示該等軟體部分之非暫時性狀態及/或信號之硬體元件,即使該等非暫時性儲存裝置之其他部分可能夠改變及/或傳輸信號。非暫時性儲存裝置的實例係快閃記憶體及隨機存取記憶體(RAM)。非暫時性儲存裝置之另一實例包括唯讀記憶體(ROM),其能儲存表示該等軟體部分之信號及/或狀態達一段時期。然而,儲存該等信號及/或狀態的能力不會被傳輸相同於或表示該等儲存之信號及/或狀態的信號之進一步功能性而減弱。例如,一處理器可存取ROM以獲得表示該等儲存之信號及/或狀態的信號,以執行對應之軟體指令。
在實務層面上,可在多種媒體中之任一者上供應使電腦系統能夠執行本文所描述之操作的軟體。此外,本發明之方法及操作 之實際實施方案實際上係以電腦語言編寫的陳述。此類電腦語言陳述在由電腦執行時使得電腦根據陳述之特定內容採取動作。此外,可依任何數量之形式提供使電腦系統能夠根據本發明採取動作的軟體,包括但不限於原始程式碼、組合語言程式碼、物件程式碼、機器語言、前述項之壓縮或加密版本、以及任何及所有等同形式。
所屬技術領域中具有通常知識者將理解,如本文所使用,「媒體」或「電腦可讀媒體」可包括磁碟、磁帶、光碟、積體電路、ROM、CD、DVD、BLU-RAY、卡匣、快閃記憶體、記憶體棒或卡,或可供電腦使用的任何其他非破壞性儲存媒體,包括現在已知或之後開發的彼等。
雖然使軟體可以「寫入」在磁碟上、「體現」在積體電路中、透過通訊電路「載送」、「儲存在」記憶體晶片中、或「載入到」快取記憶體中,但應理解,為了本申請案之目的,軟體將被簡稱為在電腦可讀媒體「中」或「上」。因此,用語「在...中」或「在...上」旨在涵蓋上述及所有等同物以及其中軟體可與電腦可讀媒體相關聯之可能方式。
因此,為了簡單起見,用語「電腦程式產品」因此用於指如上文所定義之電腦可讀媒體,該電腦可讀媒體具有任何形式之軟體以使電腦系統能夠根據本發明之任何實施例操作。
雖然本文中已關於某些所繪示之實施例描述本揭露,但是所屬技術領域中具有通常知識者將理解及明白,本發明不如此受限制。反而是,可對所繪示及描述之實施例進行許多新增、刪除及修 改,而未脫離本發明之範疇,如下文申請專利範圍連同其法律均等物。此外,來自一實施例之特徵可與另一實施例之特徵組合,然而仍然涵蓋在本發明之範圍內,如發明人所預期。

Claims (29)

  1. 一種建立用於搜尋在一觸敏螢幕上顯示之一圖形使用者介面(GUI)之一元件之指令之方法,該方法包含:解析一GUI定義且回應於該解析而識別該GUI之元件;建立包含經識別之元件之項目的一記錄;使經識別之該等元件與相似定位之元件的群組相關聯;配置經識別之元件之該記錄成一樹狀結構;折疊相同群組中經識別之元件成該樹狀結構中之一單一分葉;最佳化該樹狀結構;及回應於該樹狀結構而建立一搜尋指令清單。
  2. 如請求項1之方法,其進一步包含回應於該等群組之各群組而建立一或多個群組搜尋指令。
  3. 如請求項2之方法,其進一步包含:按共同特徵分組所有經識別之元件;及重新排序該樹狀結構以確保可在一單一行程中遍歷所有經識別之元件記錄;及回應於該重新排序,排除冗餘或無效率設定。
  4. 如請求項3之方法,其進一步包含遍歷該樹狀結構之所有節點,並且當造訪各節點時,回應於受造訪之該節點而插入一或多個搜尋指令至一搜尋指令清單中。
  5. 如請求項4之方法,其中該搜尋指令清單係一可擴展標記語言(XML)檔案。
  6. 一種用於使一電腦能夠建立可執行指令以搜尋一圖形使用者介面(GUI)之一元件之電腦程式產品,其包含:一電腦可讀媒體;及在該電腦可讀媒體上之軟體指令,該等軟體指令經調適以使該電腦能夠執行以下操作:解析一GUI定義且回應於經解析之該GUI定義而識別該GUI之元件;建立包含經識別之該等元件之項目的一記錄;使經識別之該等元件與相似定位之元件的群組相關聯;配置經識別之元件之該記錄成一樹狀結構;折疊相同群組中經識別之元件成該樹狀結構中之一單一分葉;最佳化該樹狀結構;及回應於該樹狀結構而建立搜尋指令之一清單。
  7. 如請求項6之電腦程式產品,其中該等軟體指令進一步經調適以使該電腦能夠執行以下操作:回應於該等群組之各群組而建立一或多個群組搜尋指令。
  8. 如請求項7之電腦程式產品,其中該等軟體指令進一步經調適以使該電腦能夠執行以下操作:按共同特徵分組所有經識別之元件;及重新排序該樹狀結構以確保可在一單一行程中遍歷所有經識別之元件記錄;及回應於該重新排序而自該記錄中排除冗餘或無效率設定。
  9. 如請求項8之電腦程式產品,其中該等軟體指令進一步經調適以使該電腦能夠執行以下操作:遍歷該樹狀結構之該等節點之所有者,並且當造訪各節點時,回應於受造訪之該節點而插入一或多個搜尋指令至一搜尋指令清單中。
  10. 如請求項9之電腦程式產品,其中該搜尋指令清單係一可擴展標記語言(XML)檔案。
  11. 一種可操作地耦合至一觸控螢幕之微控制器,該觸控螢幕經組態以顯示一圖形使用者介面(GUI),該微控制器包含:至少一個處理器;儲存在一非暫時性儲存媒體上之一或多個可執行指令,在由該處理器執行時該等指令經調適以使該處理器能夠:判定在一觸控螢幕處所感測之一觸控之一部位;識別與對應於所感測之該觸控之觸控的該部位相關聯之一GUI元件;及其中該一或多個可執行指令包含一或多個條件式搜尋指令,其在由該處理器執行時經調適以使該處理器能夠:比較該觸控之該部位與該GUI之一或多個元件之部位;回應於該比較而選擇一GUI元件;及提供對應於所選擇之該GUI元件之一觸覺指令及一元件識別項。
  12. 如請求項11之微控制器,其中該等指令進一步經調適以使該處理器能夠回應於經識別之該GUI元件而識別一使用者回饋回應。
  13. 如請求項12之微控制器,其中該等指令進一步經調適以使該處理器能夠回應於與經識別之該GUI元件相關聯之該使用者回饋回應而產生一或多個控制信號。
  14. 如請求項13之微控制器,其中該使用者回饋回應係一觸覺回應。
  15. 如請求項14之微控制器,其中該等控制信號經組態以控制一觸覺驅動器以激發在該觸控螢幕中之一或多個致動器。
  16. 如請求項15之微控制器,其中該等指令進一步經調適以使該處理器能夠判定與該觸控相關聯之一力位準,且其中該處理器回應於該力位準而產生該一或多個控制信號。
  17. 如請求項11之微控制器,其中該觸覺指令經組態以指示一觸覺驅動器回應於該觸覺指令而激發在一觸控螢幕中之一或多個致動器。
  18. 一種識別在一觸控螢幕處顯示之一圖形使用者介面(GUI)之一元件之方法,該方法包含:判定在一觸控螢幕處所感測之一觸控之一部位;回應於該部位而執行一或多個搜尋指令,其中該一或多個搜尋指令之各搜尋指令對應於一GUI元件,且在執行時該搜尋指令經調適以傳回一搜尋結果;及回應於該搜尋結果而識別一GUI元件。
  19. 如請求項18之方法,其進一步包含回應於經識別之該GUI元件而識別一使用者回饋回應。
  20. 如請求項19之方法,其進一步包含回應於與經識別之該GUI元件相關聯之該使用者回饋回應而產生一或多個控制信號。
  21. 如請求項20之方法,其中該使用者回饋回應係一觸覺回應。
  22. 如請求項21之方法,其中該等控制信號經組態以控制一觸覺驅動器以激發在該觸控螢幕中之一或多個致動器。
  23. 如請求項22之方法,其進一步包含判定與該觸控相關聯之一力位準,且其中該處理器回應於該力位準而產生該一或多個控制信號。
  24. 如請求項18之方法,其中各搜尋指令包括回應於該搜尋樹而插入之一酬載。
  25. 一種電子系統,其包含:一顯示子系統,其經組態以控制一顯示器;一觸控子系統,其包含一觸控感測器及一觸控控制器,其中該觸控控制器經組態以:判定在該觸控感測器處所感測之一觸控之一部位;回應於該部位及一搜尋樹而執行一或多個搜尋指令,其中該一或多個搜尋指令之各搜尋指令對應於一GUI元件,並且在執行時該搜尋指令經調適以傳回一搜尋結果;回應於該搜尋結果而識別一GUI元件;及回應於經識別之該GUI元件而產生一觸覺控制訊息。
  26. 如請求項25之電子系統,其進一步包含一觸覺回饋子系統,該觸覺回饋子系統經組態以在該顯示器處產生觸覺回饋。
  27. 如請求項25之電子系統,其中該一或多個搜尋指令中之一些者包含與該一或多個搜尋指令之另一搜尋指令相關聯之一跳躍指令,在執行時該跳躍指令經組態以載入該其他搜尋指令。
  28. 如請求項27之電子系統,其中該等跳躍指令使該一或多個搜尋指令能夠以一樹狀順序執行。
  29. 如請求項25之電子系統,其進一步包含一汽車中控系統。
TW107116844A 2017-05-18 2018-05-17 用於識別使用者介面元件之技術以及使用其之系統及裝置 TWI670639B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762507902P 2017-05-18 2017-05-18
US62/507,902 2017-05-18

Publications (2)

Publication Number Publication Date
TW201908954A TW201908954A (zh) 2019-03-01
TWI670639B true TWI670639B (zh) 2019-09-01

Family

ID=62620911

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107116844A TWI670639B (zh) 2017-05-18 2018-05-17 用於識別使用者介面元件之技術以及使用其之系統及裝置

Country Status (7)

Country Link
US (2) US11157083B2 (zh)
JP (2) JP7303119B2 (zh)
KR (2) KR20210130820A (zh)
CN (1) CN110637283B (zh)
DE (1) DE112018002527T5 (zh)
TW (1) TWI670639B (zh)
WO (1) WO2018211478A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10963694B2 (en) * 2018-10-31 2021-03-30 Salesforce.Com, Inc. Duplicate user interface design identification
US10949174B2 (en) * 2018-10-31 2021-03-16 Salesforce.Com, Inc. Automatic classification of user interface elements
US10761818B2 (en) * 2018-10-31 2020-09-01 Salesforce.Com, Inc. Automatic identification of types of user interface components
CN111290677B (zh) * 2018-12-07 2023-09-19 中电长城(长沙)信息技术有限公司 一种自助设备导航方法及其导航系统
CN113366492B (zh) * 2020-09-08 2024-03-01 尤帕斯公司 专用图形元素检测
US11507259B2 (en) 2020-09-08 2022-11-22 UiPath, Inc. Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both
US11385777B2 (en) 2020-09-14 2022-07-12 UiPath, Inc. User interface (UI) mapper for robotic process automation
KR20220055969A (ko) 2020-10-27 2022-05-04 삼성에스디에스 주식회사 비표준 사용자 인터페이스 객체 식별 시스템 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040090458A1 (en) * 2002-11-12 2004-05-13 Yu John Chung Wah Method and apparatus for previewing GUI design and providing screen-to-source association
US20110099498A1 (en) * 2009-10-26 2011-04-28 Barkol Omer Graphical user interface hierarchy generation
TW201502823A (zh) * 2013-06-13 2015-01-16 Microsoft Corp 用於搜尋結果文件之基於查詢的代表內容之以區塊爲中心的使用者介面
TW201629743A (zh) * 2014-12-19 2016-08-16 湯姆生特許公司 資料處理裝置及呈現樹狀結構之方法
CN106164839A (zh) * 2014-02-04 2016-11-23 触觉实验室股份有限公司 通过预生成应用元件的替代的图形表示来对输入做出低等待时间视觉响应以及在图形处理单元上的输入处置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954218B2 (en) * 2000-10-30 2005-10-11 Microsoft Corporation Method and apparatus for high-performance rendering and hit-testing of a window tree
US7174328B2 (en) * 2003-09-02 2007-02-06 International Business Machines Corp. Selective path signatures for query processing over a hierarchical tagged data structure
US7499921B2 (en) * 2004-01-07 2009-03-03 International Business Machines Corporation Streaming mechanism for efficient searching of a tree relative to a location in the tree
US8406748B2 (en) * 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US9529573B2 (en) * 2009-01-28 2016-12-27 Microsoft Technology Licensing, Llc Graphical user interface generation through use of a binary file
US10007340B2 (en) * 2009-03-12 2018-06-26 Immersion Corporation Systems and methods for interfaces featuring surface-based haptic effects
US8386965B2 (en) 2010-01-15 2013-02-26 Apple Inc. Techniques and systems for enhancing touch screen device accessibility through virtual containers and virtually enlarged boundaries
US20120131556A1 (en) * 2010-11-19 2012-05-24 International Business Machines Corporation Xpath-based selection assistance of gui elements during manual test script authoring for xml-based applications
JP5747673B2 (ja) * 2011-06-10 2015-07-15 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
WO2013040270A1 (en) * 2011-09-13 2013-03-21 Newman Infinite, Inc. Apparatus, method and computer-readable storage medium for manipulating a user interface element
KR102091077B1 (ko) 2012-12-14 2020-04-14 삼성전자주식회사 입력 유닛의 피드백을 제어하는 휴대 단말 및 방법과, 이를 제공하는 상기 입력 유닛 및 방법
KR20140106996A (ko) 2013-02-27 2014-09-04 삼성전자주식회사 햅틱을 제공하는 방법 및 장치
CA2815153A1 (en) * 2013-05-06 2014-11-06 Ibm Canada Limited - Ibm Canada Limitee Document order management via binary tree projection
CN105556423B (zh) * 2013-06-11 2019-01-15 意美森公司 用于基于压力的触觉效果的系统和方法
US10437742B2 (en) * 2014-10-10 2019-10-08 Microsoft Technology Licensing, Llc Vendor-specific peripheral device class identifiers
US10572129B2 (en) * 2014-12-24 2020-02-25 Sap Portals Isreal Ltd Declarative user interface representation conversion via hierarchical templates
DE102015200038A1 (de) 2015-01-05 2016-07-07 Volkswagen Aktiengesellschaft Vorrichtung und Verfahren in einem Kraftfahrzeug zur Eingabe eines Textes über virtuelle Bedienelemente mit haptischer Rückkopplung zur Simulation einer Tastenhaptik
KR101994576B1 (ko) * 2015-05-26 2019-06-28 폭스바겐 악티엔 게젤샤프트 신속한 햅틱 피드백을 구비한 조작 장치
US20170192942A1 (en) * 2016-01-06 2017-07-06 Google Inc. Hierarchical positioned event dispatch

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040090458A1 (en) * 2002-11-12 2004-05-13 Yu John Chung Wah Method and apparatus for previewing GUI design and providing screen-to-source association
US20110099498A1 (en) * 2009-10-26 2011-04-28 Barkol Omer Graphical user interface hierarchy generation
TW201502823A (zh) * 2013-06-13 2015-01-16 Microsoft Corp 用於搜尋結果文件之基於查詢的代表內容之以區塊爲中心的使用者介面
CN106164839A (zh) * 2014-02-04 2016-11-23 触觉实验室股份有限公司 通过预生成应用元件的替代的图形表示来对输入做出低等待时间视觉响应以及在图形处理单元上的输入处置
TW201629743A (zh) * 2014-12-19 2016-08-16 湯姆生特許公司 資料處理裝置及呈現樹狀結構之方法

Also Published As

Publication number Publication date
JP2023078134A (ja) 2023-06-06
WO2018211478A1 (en) 2018-11-22
CN110637283A (zh) 2019-12-31
CN110637283B (zh) 2024-03-08
US11157083B2 (en) 2021-10-26
KR20200003178A (ko) 2020-01-08
US11809626B2 (en) 2023-11-07
DE112018002527T5 (de) 2020-09-03
KR102316698B1 (ko) 2021-10-25
US20200159332A1 (en) 2020-05-21
US20180335849A1 (en) 2018-11-22
KR20210130820A (ko) 2021-11-01
JP2020520517A (ja) 2020-07-09
JP7303119B2 (ja) 2023-07-04
TW201908954A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
TWI670639B (zh) 用於識別使用者介面元件之技術以及使用其之系統及裝置
TWI816706B (zh) 包括可組態虛擬介面工具集之觸敏使用者介面
US10324592B2 (en) Slicer elements for filtering tabular data
US20140160030A1 (en) Sensor system and method for mapping and creating gestures
US11429272B2 (en) Multi-factor probabilistic model for evaluating user input
CN105556455B (zh) 用于触敏装置的动态上下文菜单
US9563321B2 (en) Method for detecting background signals of capacitive sensing device
KR102205235B1 (ko) 즐겨찾기모드 조작방법 및 이를 수행하는 터치 스크린을 포함하는 장치
CN109144380A (zh) 输入方法、电子装置以及计算机可读存储介质