KR102627023B1 - 촉각 피드백 구조들 및 대응하는 가상 사용자 인터페이스 요소들을 포함하는 터치스크린 - Google Patents

촉각 피드백 구조들 및 대응하는 가상 사용자 인터페이스 요소들을 포함하는 터치스크린 Download PDF

Info

Publication number
KR102627023B1
KR102627023B1 KR1020207005378A KR20207005378A KR102627023B1 KR 102627023 B1 KR102627023 B1 KR 102627023B1 KR 1020207005378 A KR1020207005378 A KR 1020207005378A KR 20207005378 A KR20207005378 A KR 20207005378A KR 102627023 B1 KR102627023 B1 KR 102627023B1
Authority
KR
South Korea
Prior art keywords
touchscreen
touch
user interface
widget
cover layer
Prior art date
Application number
KR1020207005378A
Other languages
English (en)
Other versions
KR20200071722A (ko
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 KR20200071722A publication Critical patent/KR20200071722A/ko
Application granted granted Critical
Publication of KR102627023B1 publication Critical patent/KR102627023B1/ko

Links

Images

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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • 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/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • 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]
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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
    • 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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • 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
    • G06F3/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04809Textured surface identifying touch areas, e.g. overlay structure for a virtual keyboard

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

터치 감지 터치스크린 시스템은 터치스크린 커버 층, 및 터치스크린 커버 층에 형성되거나 그에 결합되고, 사용자의 손가락에 촉각 피드백을 제공하는 (예를 들어, 리지 또는 다른 융기된 구조 또는 홈 또는 다른 함몰부로서 구현된) 비평면 표면 텍스처를 정의하는 촉각 구조를 포함할 수 있다. 몇몇 실시예들에서, 촉각 구조는 터치스크린 커버 층과는 상이한 유전 상수를 갖는 적어도 하나의 재료로부터 형성된다. 터치스크린 커버 아래에 배열된 터치스크린 디스플레이 디바이스는 촉각 구조와 대응하는 위치에 각자의 가상 사용자 인터페이스 요소를 포함하는 구성 가능한 그래픽 사용자 인터페이스(GUI)를 디스플레이하도록 구성될 수 있다. 시스템은 특정 가상 사용자 인터페이스 요소의 위치에서 터치를 감지하고, 특정 가상 사용자 인터페이스 요소를 식별하고, 가상 사용자 인터페이스 요소와 연관된 액션을 개시하도록 구성된 처리 유닛을 포함할 수 있다.

Description

촉각 피드백 구조들 및 대응하는 가상 사용자 인터페이스 요소들을 포함하는 터치스크린
관련 출원
본 출원은 (a) 2017년 10월 24일자로 출원된 미국 가특허 출원 제62/576,383호, 및 (b) 2017년 10월 24일자로 출원된 미국 가특허 출원 제62/576,563호에 대한 우선권을 주장하며, 이들 출원의 전체 내용들은 이에 의해 모든 목적들을 위해 참고로 포함된다.
기술분야
본 개시는 터치 감지 사용자 인터페이스들, 예를 들어 터치스크린들에 관한 것이며, 보다 구체적으로는 촉각 피드백 구조들(예를 들어, 물리적 리지(ridge)들 또는 홈들) 및 대응하는 가상 사용자 인터페이스 요소들, 예를 들어 위젯들을 포함하는 터치스크린에 관한 것이다.
터치 감지를 포함하는 터치 인터페이스들이 예를 들어 태블릿 컴퓨터들, 개인용 컴퓨터들, 스마트폰들 및 다른 소비자 제품들에서를 비롯해 다양한 응용들에 사용된다. 이들은 또한 자동차, 기기(예를 들어, 냉장고, 오븐, 세탁기/건조기 등) 난방 및 공조 제어 시스템, 보안 시스템, 자동 입출금기(ATM)를 위한 제어 패널들로서 사용된다. 이러한 응용들에서의 터치 인터페이스는 예를 들어 터치 패드일 수 있거나, 스크린 및 그래픽 사용자 인터페이스(graphical user interface, GUI)를 포함할 수 있다.
본 개시의 몇몇 실시예는, 일반적으로, 접촉 감지 스크린 상에 디스플레이된 그래픽 사용자 인터페이스(GUI)의 요소를 검색하기 위한 명령어들을 생성하는 방법에 관한 것이다. 방법은 GUI 정의를 파싱(parsing)하고 파싱에 응답하여 GUI의 요소들을 식별하는 단계; 식별된 요소들의 엔트리들을 포함하는 레코드를 생성하는 단계; 식별된 요소들을 유사하게 위치된 요소들의 그룹들과 연관시키는 단계; 식별된 요소들의 레코드를 트리형 구조(tree-like structure)로 배열하는 단계; 동일 그룹들 내의 식별된 요소들을 트리형 구조 내의 단일 리프(leaf)로 콜랩싱(collapsing)하는 단계; 트리형 구조를 최적화하는 단계; 및 트리형 구조에 응답하여 검색 명령어들 리스트를 생성하는 단계를 포함한다.
본 개시의 몇몇 실시예는, 일반적으로, 컴퓨터가 그래픽 사용자 인터페이스(GUI)의 요소를 검색하기 위한 실행 가능 명령어들을 생성할 수 있게 하기 위한 컴퓨터 프로그램 제품에 관한 것이다. 프로그램 제품은 컴퓨터 판독 가능 매체, 및 컴퓨터 판독 가능 매체 상의 소프트웨어 명령어들을 포함할 수 있다. 컴퓨터 판독 가능 매체 상의 소프트웨어 명령어들은 컴퓨터가 GUI 정의를 파싱하고 파싱된 GUI 정의에 응답하여 GUI의 요소들을 식별하는 동작; 식별된 요소들의 엔트리들을 포함하는 레코드를 생성하는 동작; 식별된 요소들을 유사하게 위치된 요소들의 그룹들과 연관시키는 동작; 식별된 요소들의 레코드를 트리형 구조로 배열하는 동작; 동일 그룹들 내의 식별된 요소들을 트리형 구조 내의 단일 리프로 콜랩싱하는 동작; 트리형 구조를 최적화하는 동작; 및 트리형 구조에 응답하여 검색 명령어들의 리스트를 생성하는 동작을 수행할 수 있게 하도록 적응된다.
본 개시의 몇몇 실시예는, 일반적으로, 그래픽 사용자 인터페이스(GUI)를 디스플레이하도록 구성된 터치 스크린에 동작 가능하게 결합된 마이크로컨트롤러에 관한 것이다. 마이크로컨트롤러는 적어도 하나의 프로세서, 및 비일시적 저장 매체에 저장된 하나 이상의 실행 가능 명령어들을 포함한다. 명령어들은, 프로세서에 의해 실행될 때, 프로세서가 터치 스크린에서 감지된 터치의 위치를 결정하고; 감지된 터치에 대응하는 터치의 위치와 연관된 GUI 요소를 식별할 수 있게 하도록 적응된다.
본 개시의 몇몇 실시예는, 일반적으로, 터치 스크린에 디스플레이된 그래픽 사용자 인터페이스(GUI)의 요소를 식별하는 방법에 관한 것이다. 방법은 터치 스크린에서 감지된 터치의 위치를 결정하는 단계; 위치에 응답하여 하나 이상의 검색 명령어들을 실행하는 단계 - 하나 이상의 검색 명령어들 중 각각의 검색 명령어는 GUI 요소에 대응하고, 실행될 때, 검색 결과를 반환하도록 적응됨 -; 및 검색 결과에 응답하여 GUI 요소를 식별하는 단계를 포함한다.
본 개시의 몇몇 실시예는, 일반적으로, 시스템에 관한 것이다. 시스템은 디스플레이 서브시스템 및 터치 서브시스템을 포함한다. 디스플레이 서브시스템은 디스플레이를 제어하도록 구성된다. 터치 서브시스템은 터치 센서 및 터치 컨트롤러를 포함한다. 터치 컨트롤러는 터치 센서에서 감지된 터치의 위치를 결정하고; 위치 및 검색 트리에 응답하여 하나 이상의 검색 명령어들을 실행하고 - 하나 이상의 검색 명령어들 중 각각의 검색 명령어는 GUI 요소에 대응하고, 실행될 때, 검색 결과를 반환하도록 적응됨 -; 검색 결과에 응답하여 GUI 요소를 식별하고; 식별된 GUI 요소에 응답하여 햅틱 제어 메시지를 생성하도록 구성된다.
본 개시의 몇몇 실시예는 가상 위젯들을 이용하는 접촉 감지 GUI를 포함하며, 가상 위젯들 각각은 디스플레이 가능 GUI 스크린에 포함되는 (예를 들어, 하나 이상의 활성 UI 요소를 포함하는) 형상들의 집합을 포함한다. 예를 들어, 가상 위젯은 가상 버튼들, 슬라이더들, 노브들, 다이얼들 등의 다수의 인스턴스 및/또는 타입의 정의된 집합을 포함할 수 있다. 다른 예로서, 가상 위젯은 정의된 기능을 제어하기 위해 인터페이스를 집합적으로 정의하는 활성 요소들의 정의된 집합을 포함할 수 있다.
몇몇 실시예들에서, 가상 위젯들은 터치스크린 상에 디스플레이될 수 있지만, 몇몇 실시예들에서 단지 터치스크린 구성 모듈/프로세스와 관련하여 그리고 터치스크린 디스플레이 상에 존재한다. 가상 위젯들은 헤드 유닛에 보고할 수 있다. 가상 위젯들의 사용은 터치 감지 GUI의 물리적 인터페이스 복잡성을 감소시킬 수 있다. 예를 들어, 가상 위젯들의 사용은 터치 위치들을 처리하기 위한 헤드 유닛에 대한 오버헤드를 감소시킬 수 있고, 예를 들어 가열 제어들, 라디오 제어들 또는 임의의 다른 타입의 제어들을 위해 물리적 로터들, 슬라이더들 등에 대한 별도의 하드웨어 또는 전자장치를 필요로 하지 않을 수 있다.
몇몇 실시예들은 가상 위젯들(예를 들어, 버튼들, 슬라이더들, 다이얼들 등)로서 동작되도록 터치스크린의 영역들(예를 들어, 구성된 스크린 페이지 내의 영역들)을 구성 가능한 방식으로 정의하기 위한 시스템들 및 방법들을 제공한다. 터치스크린 상에서 터치가 검출될 때, 터치 컨트롤러는 사용자 터치에 대응하는 위젯의 위치 또는 상태(예를 들어, 가상 슬라이더의 선형 위치 또는 검출된 터치 위치와 대응하는 가상 다이얼의 회전 위치)를 결정하고, 터치스크린 상의 터치의 위치를 나타내는 "터치 메시지"를 보고하는 대신에 또는 그에 추가하여, "위젯 메시지" 내의 그러한 위치/상태 정보를 헤드 유닛에 보고할 수 있다. 위젯 메시지들은, 예를 들어, 검출된 터치 위치, 힘, 및/또는 터치스크린 상의 검출된 터치의 다른 측정 가능한 태양과 대응하는, 사용자 선택 위치, 회전, '터치된' 상태, 및/또는 각자의 위젯 상의 검출된 터치들의 수를 나타낼 수 있다.
가상 위젯들을 이용하는 것은 헤드 유닛의 요구되는 처리를 단순화할 수 있다. 예를 들어, 가상 위젯들의 사용은 단일 스크린 설계가 다수의 응용을 가질 수 있게 할 수 있다. 예를 들어, 하나의 인터페이스는 적합한 구성을 통해 모든 제품 변형을 처리할 수 있다.
몇몇 실시예들은 사람에게 촉각 피드백을 제공하기 위해 터치스크린 표면에 통합된 정적인 물리적 구조들, 예를 들어 물리적 리지들, 범프(bump)들, 홈들 등을 포함할 수 있다. 그러한 구조들은 본 명세서에서 "정적 위젯들"로 지칭된다. 몇몇 실시예들에서, 정적 위젯들은 (a) 가상 위젯들(예를 들어, 여기서 가상 위젯이 터치스크린 표면에 대응하는 정적 위젯과 같은 곳에 위치됨) 및/또는 (b) 그의 위치를 검출하기 위해 기본 가상 위젯을 사용하는 실제 물리적 위젯들(예를 들어, 회전 다이얼들 등)과 조합하여 사용될 수 있다.
정적 위젯들은 터치스크린에 디스플레이되는 대응하는 가상 위젯들 또는 다른 UI 요소들에 물리적 "느낌"을 제공할 수 있다. 따라서, 정적 위젯들은 사용자가 터치스크린을 보지 않고 느낌에 의해 터치스크린 GUI에서 입력을 제공할 수 있게 할 수 있으며, 이는 사용자의 시각 초점이 다른 곳으로 지향될 수 있는 자동차 응용들 또는 다른 응용들에서 특히 유용할 수 있다. 몇몇 실시예들에서, 시스템은 스크린 상의 터치의 위치 좌표들과는 대조적으로, 터치되는 정적 위젯의 제어 위치를 헤드 유닛에 보고하도록 구성되는데, 왜냐하면 시스템이 위젯 영역의 특별한 터치 처리를 제공할 수 있기 때문이다.
정적 위젯은 종래의 시스템들과 비교해 시스템의 강건성을 증가시키기 위해 물리적 이동 부분들을 대체할 수 있고, 컴포넌트 카운트 및 프로세서간 인터페이스들을 감소시킬 수 있다. 또한, 정적 위젯들의 하나 이상의 타입 또는 형상의 다수의 인스턴스가 단일 스크린 상에 제공될 수 있다. 몇몇 경우에, 정적 위젯들은 하나 이상의 로터(다이얼 또는 노브), 슬라이더, 버튼, 스위치 또는 임의의 다른 타입의 물리적 인터페이스들을 대체하는 데 사용될 수 있다.
몇몇 정적 위젯들은 터치스크린 커버의 본체에 적어도 부분적으로 내장되거나, 달리 본체에 물리적으로 결합될 수 있으며, 이에 따라 "내장형 정적 위젯들"로 지칭될 수 있다. 몇몇 실시예들에서, 내장형 정적 위젯들은 터치스크린 커버의 본체(예를 들어, 유리 또는 중합체)와는 상이한 하나 이상의 재료로부터 형성될 수 있다. 예를 들어, 내장형 정적 위젯은 예를 들어 원하는 용량성 터치 감지 응답을 제공하기 위해 터치스크린 커버의 본체보다 높은 또는 낮은 유전 상수(들)를 갖는 재료(들)로부터 형성될 수 있다.
따라서, 일 실시예는 유전 상수를 갖는 제1 재료로부터 형성된 터치스크린 커버 층, 및 터치스크린 커버 층에 결합되고 비평면 표면 텍스처를 정의하는 촉각 구조를 포함하는 터치스크린 시스템을 제공하며, 여기서 촉각 구조는 터치스크린 커버 층의 제1 재료와는 상이한 유전 상수를 갖는 적어도 하나의 제2 재료로부터 형성된다.
다른 예시적인 실시예는 터치스크린 커버 층, 및 터치스크린 커버 층에 형성되거나 그에 결합되고, 사용자의 손가락에 촉각 피드백을 제공하는 (예를 들어, 리지 또는 다른 융기된 구조 또는 홈 또는 다른 함몰부(depression)로서 구현된) 비평면 표면 텍스처를 정의하는 촉각 구조를 포함하는 터치 감지 터치스크린 시스템을 제공한다. 몇몇 실시예들에서, 촉각 구조는 터치스크린 커버 층과는 상이한 유전 상수를 갖는 적어도 하나의 재료로부터 형성된다. 터치스크린 커버 아래에 배열된 터치스크린 디스플레이 디바이스는 촉각 구조와 대응하는 위치에 각자의 가상 사용자 인터페이스 요소를 포함하는 구성 가능한 그래픽 사용자 인터페이스(GUI)를 디스플레이하도록 구성될 수 있다. 시스템은 특정 가상 사용자 인터페이스 요소의 위치에서 터치를 감지하고, 특정 가상 사용자 인터페이스 요소를 식별하고, 가상 사용자 인터페이스 요소와 연관된 액션을 개시하도록 구성된 처리 유닛을 포함할 수 있다.
본 개시의 예시적인 태양들 및 실시예들이 이하의 첨부된 도면들과 관련하여 이하에서 설명된다.
도 1은 검색 작업 리스트를 생성하고 사용하여 GUI 내의 접촉 UI 요소들을 식별하는 프로세스를 예시하는 스윔 다이어그램(swim-diagram)이다.
도 2는 본 개시의 실시예에 따른 검색 작업 리스트를 생성하기 위한 프로세스의 플로차트이다.
도 3은 본 개시의 실시예에 따른 UI 구조 정의로부터 UI 요소들을 추출하기 위한 프로세스의 플로차트이다.
도 4는 본 개시의 실시예에 따른 중간 검색 트리를 생성하는 프로세스의 플로차트이다.
도 5는 본 개시의 실시예에 따른 검색 작업 트리를 생성하는 프로세스의 플로차트이다.
도 6은 본 개시의 실시예에 따른 검색 작업 리스트를 생성하는 프로세스의 플로차트이다.
도 7은 본 개시의 실시예에 따른, UI 요소 내에서 터치가 발생했는지를 결정하는 UI 요소/형상 검색 프로세스의 플로차트이다.
도 8은 UI 요소들로 구성된 라디오 GUI의 실시예를 도시한다. (컬러판 입수 가능)
도 9는 본 개시의 실시예들에 따라 그룹화된 도 8의 라디오 GUI의 UI 요소들을 도시한다. (컬러판 입수 가능)
도 10a 내지 도 10e는 본 개시의 실시예들에 따라 형성된 트리 구조 내의 UI 요소들을 도시한다. (컬러판 입수 가능)
도 11은 검색 작업 리스트들을 포함하는 시스템의 실시예를 도시한다.
도 12는 라디오 GUI의 UI 요소들 중 적어도 일부와 연관된 특징들 및 파라미터들을 포함하는 라디오 GUI의 실시예를 도시한다. (컬러판 입수 가능)
도 13은 서브시스템으로서 자동차의 헤드 유닛에 통합된 도 11의 시스템의 실시예를 예시한다.
도 14는 예시적인 실시예에 따른, 본 명세서에 개시된 바와 같은 가상 위젯들을 이용하는 예시적인 터치스크린 시스템을 예시한다.
도 15는 하나의 예시적인 실시예에 따른, 다양한 UI 요소 그룹들을 포함하는 가상 위젯들의 배열을 포함하는 예시적인 라디오 터치스크린 GUI를 예시한다.
도 16은 예시적인 실시예에 따른, 터치 센서, 예를 들어 용량성 센서 위에 커버 유리에 형성된, 리지로서 구현된 정적 위젯 및 홈으로서 구현된 다른 정적 위젯의 예를 예시한다.
도 17a 및 도 17b는 예시적인 실시예에 따른, 원형 홈들 또는 리지들로서 구현된 2개의 정적 위젯을 포함하는 예시적인 터치스크린을 예시한다.
도 18은 도 17a 및 도 17b에 도시된 예의 정적 위젯의 경사 측면도를 예시하며, 여기서 정적 위젯은 원형 홈으로서 구현된다.
도 19는 예시적인 실시예에 따른, 터치스크린에 형성된 리지 타입 정적 위젯의 예시적인 구조를 예시한다.
도 20은 예시적인 실시예에 따른, 터치스크린에 형성된 멀티 컴포넌트 리지 타입 정적 위젯의 예시적인 구조를 예시한다.
하기의 상세한 설명에서, 상세한 설명의 일부를 이루고, 본 개시가 실시될 수 있는 실시예의 구체적인 예가 예시로서 도시되어 있는 첨부 도면을 참조한다. 이들 실시예는 이 분야의 통상의 기술자가 본 개시를 실시하는 것을 가능하게 하기에 충분히 상세히 설명된다. 그러나, 본 개시의 범위로부터 벗어남이 없이 다른 실시예가 이용될 수 있고 구조, 재료 및 프로세스 변경이 이루어질 수 있다. 여기에 제시된 예시들은 임의의 특정한 방법, 시스템, 디바이스 또는 구조의 실제 도면들인 것으로 의도되는 것이 아니라, 단지 본 개시의 실시예들을 설명하는 데 이용되는 이상화된 표현들이다. 여기에 제시된 도면들은 반드시 일정한 축척으로 작성된 것은 아니다. 다양한 도면들 내의 유사한 구조들 또는 컴포넌트들이 독자의 편의를 위해 동일하거나 유사한 넘버링을 보유하지만, 넘버링의 유사성은 구조들 또는 컴포넌트들이 반드시 크기, 조성, 구성 또는 임의의 다른 특성에 있어서 동일하다는 것을 의미하지는 않는다.
본 명세서에서 일반적으로 기술되고 도면에 예시된 바와 같은 실시예의 컴포넌트들이 매우 다양한 상이한 구성들로 배열 및 설계될 수 있는 것이 손쉽게 이해될 것이다. 따라서, 다양한 실시예들의 하기 설명은 본 개시의 범위를 제한하려는 것이 아니라, 단지 다양한 실시예들을 나타낼 뿐이다. 실시예들의 다양한 태양들이 도면들에 제시될 수 있지만, 명확히 지시되지 않는 한 도면들은 반드시 일정한 축척으로 작성된 것은 아니다.
이하의 설명은 이 분야의 통상의 기술자가 개시된 실시예들을 실시할 수 있게 하는 것을 돕기 위한 예들을 포함할 수 있다. 용어 "예시적인", "예로서", 및 "예를 들어"의 사용은 관련 설명이 설명적인 것임을 의미하며, 본 개시의 범위가 예들 및 법적 등가물들을 포함하도록 의도되지만, 그러한 용어의 사용은 실시예 또는 본 개시의 범위를 명시된 컴포넌트들, 단계들, 특징들, 기능들 등으로 제한하도록 의도되지 않는다.
또한, 도시되고 설명되는 특정 구현예들은 단지 예일 뿐이며, 본 명세서에서 달리 명시되지 않는 한 본 개시를 구현하는 유일한 방법으로 해석되지 않아야 한다. 요소들, 회로들 및 기능들은 불필요한 상세로 본 개시를 모호하게 하지 않기 위해 블록도 형태로 도시될 수 있다. 반대로, 도시되고 설명된 특정 구현예들은 단지 예시적인 것일 뿐이며, 본 명세서에서 달리 명시되지 않는 한 본 개시를 구현하는 유일한 방법으로 해석되지 않아야 한다. 또한, 블록 정의들 및 다양한 블록들 사이의 논리의 분할은 특정 구현예를 예시한다. 본 개시가 많은 다른 분할 솔루션에 의해 실시될 수 있다는 것을 이 분야의 통상의 기술자가 손쉽게 알 수 있을 것이다. 대부분, 타이밍 고려 사항 등에 관한 상세들은, 그러한 상세들이 본 개시의 완전한 이해를 얻는 데 필요하지 않고 관련 분야의 통상의 기술자의 능력 내에 있는 경우 생략되었다.
이 분야의 통상의 기술자는 정보 및 신호가 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 이 설명 전체에 걸쳐 언급될 수 있는 데이터, 명령어들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자성 입자들, 광학 필드들 또는 입자들, 또는 이들의 임의의 조합에 의해 표현될 수 있다. 몇몇 도면들은 프레젠테이션 및 설명의 명료함을 위해 신호들을 단일 신호로서 예시할 수 있다. 신호는 신호들의 버스를 표현할 수 있으며, 여기서 버스는 다양한 비트 폭들을 가질 수 있고 본 개시는 단일 데이터 신호를 포함한 임의의 수의 데이터 신호에 대해 구현될 수 있다는 것이 이 분야의 통상의 기술자에 의해 이해될 것이다.
본 명세서에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들 및 회로들은 범용 프로세서, 특수 목적 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그래밍 가능 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능 논리 디바이스, 개별 게이트 또는 트랜지스터 논리, 개별 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합을 이용하여 구현되거나 수행될 수 있다. 범용 프로세서(본 명세서에서 호스트 프로세서 또는 간단히 호스트로 또한 지칭될 수 있음)는 마이크로프로세서일 수 있지만, 대안에서, 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러 또는 상태 기계일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 관련한 하나 이상의 마이크로프로세서, 또는 임의의 다른 그러한 구성으로서 구현될 수 있다. 프로세서를 포함하는 범용 컴퓨터는 특수 목적 컴퓨터로 간주되는 반면, 범용 컴퓨터는 본 개시의 실시예들과 관련된 컴퓨팅 명령어들(예를 들어, 소프트웨어 코드)을 실행하도록 구성된다.
실시예들은 플로차트, 흐름도, 구조도, 또는 블록도로서 묘사되는 프로세스의 관점에서 설명될 수 있다. 플로차트가 동작 액트들을 순차적인 프로세스로서 설명할 수 있지만, 이러한 액트들 중 다수는 다른 시퀀스로, 병렬로, 또는 실질적으로 동시에 수행될 수 있다. 게다가, 액트들의 순서는 재배열될 수 있다.
프로세스는 방법, 스레드, 기능, 절차, 서브루틴, 서브프로그램 등에 대응할 수 있다. 또한, 본 명세서에 개시된 방법들은 하드웨어, 소프트웨어 또는 둘 모두로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독 가능 매체에 하나 이상의 명령어 또는 코드로서 저장되거나 송신될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체와, 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한 통신 매체 둘 모두를 포함한다.
"제1", "제2" 등과 같은 명칭을 사용한 본 명세서에서의 요소에 대한 임의의 언급은 그러한 요소들의 수량 또는 순서를 제한하지 않는다 - 그러한 제한이 명시적으로 언급되지 않는 한 -. 오히려, 이러한 명칭들은 본 명세서에서 둘 이상의 요소 또는 요소의 인스턴스들을 구별하는 편리한 방법으로서 사용될 수 있다. 따라서, 제1 및 제2 요소들에 대한 언급은 2개의 요소만이 거기에서 사용될 수 있거나 제1 요소가 소정 방식으로 제2 요소에 선행해야 한다는 것을 의미하지 않는다. 또한, 달리 언급되지 않는 한, 요소들의 세트는 하나 이상의 요소를 포함할 수 있다.
본 명세서에서 사용되는 바와 같이, 주어진 파라미터, 특성 또는 조건과 관련한 용어 "실질적으로"는, 이 분야의 통상의 기술자가 이해할 정도로, 주어진 파라미터, 특성 또는 조건이 예를 들어 허용 가능한 제조 공차들 이내와 같은 적은 정도의 변동을 갖고서 충족되는 것을 의미하고 포함한다. 예로서, 실질적으로 충족되는 특정 파라미터, 특성 또는 조건에 따라, 파라미터, 특성 또는 조건은 적어도 90% 충족되거나, 적어도 95% 충족되거나, 심지어 적어도 99% 충족될 수 있다.
본 개시에 설명된 다양한 실시예들은, 일반적으로, 접촉 감지 사용자 인터페이스 상에서 선택된 UI 요소들을 결정하기 위한 기술들 및 그러한 기술들을 사용하여 하나 이상의 햅틱 응답을 제공하는 것에 관한 것이다. 본 명세서에 설명된 실시예의 목적을 위해 이해되는 바와 같이, 접촉 센서는 터치 인터페이스의 접촉 감지 영역과의 물체(예를 들어, 손가락 또는 스타일러스)의 접촉, 또는 접촉 감지 영역에의 물체의 근접에 응답할 수 있다. 본 개시에서, "접촉"은 일반적으로 접촉 감지 영역과의 물체의 물리적 접촉을 지칭하지만, 그것은 또한 접촉 센서에 의한 측정 가능한 응답을 생성하는 물체의 매우 근접을 포함할 수 있다. 또한, 접촉 감지 영역은 접촉 센서가 물체의 접촉에 응답할 수 있는 터치 인터페이스 상의 물리적 영역을 지칭한다.
본 명세서에서 사용되는 바와 같은 접촉 감지 GUI는 GUI와 통합된 터치 인터페이스를 지칭한다. 예를 들어, GUI는 전형적으로 하나 이상의 디스플레이 영역들 및 활성/활성 영역들을 포함한다. 본 개시에서, 디스플레이 영역은 사용자에게 정보를 디스플레이하는 사용자 인터페이스의 영역이다. 활성 영역은 사용자가 사용자 인터페이스에 대해 소정의 액션을 취할 수 있게 하는, 버튼, 슬라이더 또는 메뉴와 같은, GUI의 영역이다. 몇몇 디스플레이 영역들은 또한 그들이 정보를 디스플레이하고 소정의 액션이 취해질 수 있다는 점에서 활성 영역들이다. 접촉 감지 GUI에서, 활성 영역이 디스플레이되는 터치 감지 영역과 접촉하는 것(예를 들어, 터치 스크린 상의 GUI 버튼을 탭핑(tapping)하는 것)은 그 영역을 활성화시킬 수 있다. 활성 영역들은 GUI 요소들/객체들, 예를 들어, 버튼들, 슬라이더들, 선택 가능한 창들, 메뉴들 등, 모든 다양한 형상들 및 크기들로서 디스플레이될 수 있다.
일반적으로, 접촉 감지 영역에서 접촉이 감지되는 경우, 만약 있다면, 접촉이 그에 대응하는 GUI의 활성 영역(들)을 결정하기 위해 프로세스가 사용된다. 예를 들어, "입력" 버튼이 탭핑되는 경우, 접촉이 측정되고, 입력 버튼의 위치에서 접촉이 이루어졌는지를 결정하기 위해 알고리즘이 실행된다. 입력 버튼은 활성 영역이며, 따라서 터치 감지 GUI 및/또는 GUI를 호출한 기본 애플리케이션 프로그램에서 이벤트들이 생성된다.
또한, 특정 GUI 요소가 활성 영역과 연관되면, 터치 인터페이스와 통합된 액추에이터들이 일반적으로 햅틱 응답으로 지칭되는 하나 이상의 물리 응답을 제공할 수 있다. 이들은 힘, 진동 또는 이동의 형태일 수 있고, 표면 텍스처, 리지, 에지, 버튼을 미는 것/클릭하는 것과 같은 상호작용뿐만 아니라 다른 시뮬레이션된 감각 및 응답을 모방할 수 있다. GUI의 경우, 햅틱 응답은 사용자가 그와 상호작용하는 GUI 요소에 국한될 수 있다. 예를 들어, 사용자가 GUI 버튼을 터치하면, 햅틱 응답은, 마치 버튼이 눌린 것처럼, 또는 버튼이 거친 텍스처를 가진 것처럼, 에지와 함께 버튼을 상승된 것으로 느껴지게 할 수 있다.
예를 들어 도 14 및 도 15를 참조하여 이하에서 논의되는 바와 같이, 몇몇 실시예들에서, 접촉 감지 GUI는 디스플레이 가능 GUI 스크린에 포함되는 (예컨대, 하나 이상의 활성 GUI 요소들/객체들을 포함하는) 형상들의 임의의 집합을 포함하는 "가상 위젯들"을 이용할 수 있다. 예를 들어, 가상 위젯은 가상 버튼들, 슬라이더들, 노브들, 다이얼들 등의 다수의 인스턴스 및/또는 타입의 정의된 집합을 포함할 수 있다. 다른 예로서, 가상 위젯은 정의된 기능을 제어하기 위해 인터페이스를 집합적으로 정의하는 활성 요소들의 정의된 집합을 포함할 수 있다. 예를 들어, 슬라이더 타입 가상 위젯 또는 회전 가능 다이얼 타입 가상 위젯은, 예를 들어 아래에 논의되는 도 15의 예에 도시된 예시적인 회전 가능 다이얼들에 의해 예시된 바와 같이, 슬라이더 또는 회전 가능 다이얼에 대한 위치 선택들의 범위에 관련된 UI 요소들의 정의된 집합으로 이루어질 수 있다. GUI 요소들(UI 요소들로 또한 지칭됨) 또는 형상들에 관한 본 명세서의 임의의 개시는 가상 위젯들에 유사하게 적용된다는 것이 이해되어야 한다.
본 명세서에 설명된 다양한 실시예는 때때로 전자 레코드들을 생성하고 업데이트하는 것과 관련이 있을 수 있다. 전자 레코드들은 데이터 파일의 형태일 수 있고, 전자 레코드를 업데이트하는 것은 레코드의 하나 이상의 필드에서 데이터 엔트리들을 삽입하거나 삭제하는 것을 포함할 수 있다. 대안적으로, 실행 시간에, 그것은 클래스 객체 및 인스턴스화된 객체들이 설명된 레코드와 일치하는 상태 정보 및 변수들을 갖는 것을 지칭할 수 있다. 둘 모두의 상황들이 본 명세서에 설명된 다양한 실시예들에서 고려된다.
본 개시의 다양한 실시예들은 접촉 감지 인터페이스 상에서 접촉된 그러한 GUI 요소들을 식별하기 위한 기술들에 관한 것이다. 이러한 기술들 및 연관된 구조들은 메모리 사용 및 응답성의 관점에서 특히 효율적이다.
또한, 다른 기술들에 비해, 인터페이스 데이터 저장 요구들이 적고, UI 요소를 식별하기 위해 실행 시간에 수행되는 작업들의 수가 적다.
본 개시의 몇몇 실시예들은 접촉 감지 인터페이스 상에서 접촉된 GUI 요소들을 식별하기 위해 수행될 수 있는 최적화된 검색 작업들의 리스트를 생성하기 위한 프로세스에 관한 것이다. 그러한 검색은 본 명세서에서 UI 요소 검색 또는 "형상 검색"으로 지칭될 수 있다. 검색 작업들은, 실행될 때, 만약 있다면, 접촉된 GUI의 요소를 검색하고 있는 서브시스템에 성공 또는 실패 메시지를 반환하는 프로세서 실행 가능 명령어들일 수 있다. 일 실시예에서, 검색 작업들은 GUI 내의 다양한 요소들 및 그들의 위치들을 맵 아웃(map out)하는 정의 파일에 기초하여 생성된다. 검색 작업은 다양한 효율 파라미터들에 대해 최적화될 수 있다.
일 실시예에서, 검색 작업 리스트는 디스플레이 서브시스템(예를 들어, 자동차 헤드-유닛)에서 UI 요소/형상 검색을 수행할 수 있는 본 개시의 발명자들에게 알려진 종래의 접촉 감지 GUI들에 비해, 내장형 디바이스, 예를 들어 터치 컨트롤러에 의해 실행될 수 있다. 터치 컨트롤러에서 GUI 요소에 대한 검색을 수행하는 것은 디스플레이 서브시스템과 통신하는 시간 및 서브시스템이 예를 들어 햅틱 피드백 서브시스템에 응답하고 그와 통신하는 시간을 절약한다. 절약된 시간은 종래의 접촉 감지 GUI들에 비해 접촉 감지 GUI들의 응답성을 개선하고, 사용자의 관점에서, 그/그녀가 스크린을 터치한 때로부터 터치에 응답하여 피드백을 수신할 때까지의 시간을 줄인다.
또한, 작업 검색 리스트의 생성은 구성 가능하고, GUI에 따라, 특정 응용에 최적화된 구현을 위해 공통 특징들의 세트들이 선택될 수 있다. 예를 들어, 몇몇 실시예들에서, 생성 프로세스는 다른 GUI 요소들, 소정 형상들의 요소들, 또는 접촉될 때 이동하거나 변형되는 요소들을 가리는 페이징, 드롭다운 메뉴들 및 팝업 윈도우들을 포함하는 GUI에 최적화될 수 있다.
도 1은 본 개시의 다양한 실시예들에 따른 시스템의 전반적인 동작을 예시한다. 동작 112에서, 소프트웨어 애플리케이션 툴(102)은, 만약 있다면, 접촉 감지 스크린 상에서 접촉된 UI 요소를 식별하기 위해 UI 요소/형상 검색을 수행하기 위한 컨디셔닝된 실행 가능 명령어들의 검색 작업 리스트를 생성하기 위해(동작 108) UI 정의 파일을 처리하도록 구성된다.
검색 작업 리스트는 터치 시스템의 일부인 하나 이상의 프로세서에 의해 액세스 가능한 비일시적 저장 메모리에 저장될 수 있다(동작 110). 터치 인터페이스에서 접촉 이벤트가 발생할 때, 터치 센서(106)가 터치를 감지하고(동작 118), 터치를 나타내는 하나 이상의 신호를 하나 이상의 터치 프로세서(104)에 제공할 수 있다. 터치 프로세서들(104)은 접촉이 발생한 터치 인터페이스 상의 위치를 결정하고(동작 112), 그 결정에 응답하여, 만약 있다면, 접촉된 UI 요소를 검색 및 식별한다(동작 114). 일 실시예에서, 터치 프로세서(104)는 검색 결과들을 그래픽 사용자 인터페이스 서브시스템에 제공할 수 있다(동작 116).
검색 작업 리스트를 생성하는 프로세스의 실시예가 도 2 내지 도 7을 참조하여 설명될 것이다. 본 개시의 실시예들은 트리 및 그리드 기술에 따라 UI 요소들을 조직화하는 검색 트리 구조를 이용한다. 다양한 UI 요소들은 그리드들과 같이 취급되는 관련 그룹들로 분할되고, 검색 트리로 조직화되고, 이어서 다양한 검색 작업들이 생성된다. 검색 작업들은 명령어들을 사용하여 UI 요소/형상 검색의 실행을 최적화하도록 컨디셔닝된다. 이 분야의 통상의 기술자는 스크린(들)을 검색 가능 영역들로 분할하기 위해 다른 알고리즘들, 예를 들어 분할 및 정복 방법이 사용될 수 있다는 것을 이해할 것이다.
도 2는 UI 요소/형상 검색을 수행하기 위한 검색 작업 리스트를 생성하는 프로세스의 실시예를 예시한다. 동작 202에서, 스크린들, 서브스크린들, 및 그러한 스크린들 및 서브스크린들 상의 UI 요소들을 식별하기 위해 UI에 대한 구조 정의가 로딩되고 파싱된다. UI 구조 정의는 전자 파일, 데이터베이스, 미처리 데이터 등일 수 있다. 동작 204에서, UI 요소들은 그룹화되고, 검색 가능 영역은 UI 요소 그룹들을 갖는 하나 이상의 검색 가능 영역들로 분할된다. 동작 206에서, UI 요소 그룹들은 검색 가능 영역들에 기초하여 트리 구조로 링크된다. 동작 208에서, 검색 작업들은 검색 트리 브랜치들 및 노드들과 연관되어 검색 트리를 형성하고, 검색 트리는 최적화된다. 동작 210에서, 검색 트리의 컨디셔닝된 작업들은 프로세서에 의해 실행될 수 있는 작업 리스트인 리스트에 저장된다.
일 실시예에서, 검색 작업 리스트를 생성하는 소프트웨어 애플리케이션 툴(102)은 동작들(202, 204, 206, 208, 210) 중 하나 이상의 결과들을 출력 파일에 기입하도록 구성될 수 있다. 이것은 프로세스의 결과들을 검토하기 위해 디버깅 툴에 의해 사용될 수 있다. 동일한 디버깅 툴은 검색 작업 리스트의 텍스트 버전을 사용하고, 이를 (예를 들어,.dos 실행 파일로서) 가상 테스트 환경 내에서 실행하여 검색 작업 리스트가 동작적으로 준비되어 있는 것을 검증하도록 구성될 수 있다.
도 3은 UI 구조 정의로부터 UI 요소들을 추출하기 위한 프로세스(300)의 실시예를 예시한다. 일 실시예에서, UI 구조 정의는 애플리케이션 툴의 구성 생성 특징들에 의해 변환될 디스플레이의 부분들의 xml 정의이다. 애플리케이션 툴은 구조 정의들을 파싱하고, 정의 구조에 정의된 UI 요소들을 파악한다. 동작 302에서, 각각의 UI 요소가 로딩되고, 동작 304에서, 그것이 공지된 UI 요소인지에 대한 결정이 이루어진다. 그것이 공지된 UI 요소가 아닌 경우(즉, 이것은 이 요소가 구조 정의들에서 처음 식별되었다는 것임), 동작 306에서, 프로세스는 그 타입의 UI 요소(예를 들어, 버튼, 노브, 슬라이더 등)에 대한 새로운 요소 정의를 생성한다.
새로운 정의를 생성한 후에, 또는 요소가 공지된 UI 요소인 경우, 동작 308에서, 요소를 기존 그룹에 할당할지에 대한 결정이 이루어진다. 일 실시예에서, 기존 그룹에 할당할지에 대한 결정은 다양한 미리 결정된 파라미터들, 예를 들어 요소들의 공통 특징들, 예컨대 요소의 타입, UI 요소가 디스플레이되는 스크린 위치, 계층 위치, 요소와 연관된 응답의 타입(예를 들어, 시각, 햅틱, 오디오 등) 등에 기초한다. 요소를 새로운 그룹에 할당하기로 결정이 이루어진 경우, 동작 310에서, 요소에 관련된 파라미터들로 새로운 그룹 레코드가 생성된다.
새로운 그룹 레코드가 생성된 후에, 또는 요소를 기존 그룹에 할당하기로 결정이 이루어진 경우, 동작 312에서, 새로운 요소 엔트리가 그 새로운 요소에 대한 그룹 레코드에 삽입된다. 일 실시예에서, 엔트리는 요소 ID 및 요소의 위치(즉, 스크린 상의 요소의 좌표들)에 대한 필드들을 포함한다. 동작 314에서, UI 요소가 더 존재하는지에 대한 결정이 이루어지고 UI 요소들이 더 존재하는 경우, 프로세스는 UI 구조 정의에서 식별된 각각의 나머지 UI 요소에 대해 수행된다. 동작 316에서, 프로세스는 요소(들), 요소 정의(들) 및 그룹(들)을 반환한다.
일 실시예에서, UI 구조 정의가 하나 초과의 스크린 정의를 포함하면, 각각의 그러한 스크린은 UI 요소의 파라미터인 스크린 ID를 할당받는다. 그것은 또한 각각의 그룹에 대한 파라미터로서 포함될 수 있다. 각각의 스크린은 또한 디스플레이된 GUI의 정의된 영역들인 서브스크린들을 포함할 수 있고, 그러한 정의된 영역들에서 몇몇 UI 요소들이 동적으로 변하는 반면 그러한 영역들 외부의 UI 요소들은 정적으로 유지된다. 비제한적인 예로서, 동적 UI 요소들을 갖는 영역들은 스와핑 가능한 창들, 스크롤 가능한 메뉴들, 활성화 가능한 정보 창들, 내비게이션 버튼들 등을 포함할 수 있다.
도 4는 본 개시의 실시예에 따른 검색 트리를 생성하는 프로세스(400)를 예시한다. 이 프로세스에서, UI 정의에서 식별된 각각의 스크린을 어떻게 검색 가능 영역들로 분할할지에 관한 결정이 이루어지며, 각각의 검색 가능 영역은 UI 요소들의 하나 이상의 그룹을 포함한다. 도 4에 도시된 예시적인 실시예에서, 적어도 하나의 UI 요소 그룹이 분할 라인의 일측에 있고 적어도 하나의 다른 UI 요소 그룹이 분할 라인의 다른 측에 있도록 UI 요소들의 그룹들을 분할하는 분할 라인(x-y 좌표들)이 선택된다.
분할 라인은 스크린을 분할 라인을 따른 공유 경계를 갖는 2개의 검색 가능 영역으로 효과적으로 분할한다. UI 요소 그룹들은 UI 요소 그룹들이 더 분할될 수 없을 때까지 반복적으로 분할된다.
다른 실시예에서, 스크린 또는 검색 가능 영역들은 x 좌표 방향 및 y 좌표 방향 둘 모두로 동시에 분할되며, 이는 UI 요소 그룹들의 최대 4개의 세분을 유발할 수 있다. 이 기술은 또한 4개 미만의 세분, 예를 들어, UI 요소 그룹들의 3개의 분할 및 하나의 빈 검색 가능 영역을 유발할 수 있다.
또 다른 실시예들에서, 검색 가능 영역들로부터 배제할 스크린의 일부를 정의하여 스크린이 검색 가능 영역들로 세분되지 않게 하기 위해 원들, 정사각형들 및/또는 다각형들이 사용될 수 있다.
동작 402에서, 2개 이상의 그룹을 갖는 제1 검색 가능 영역이 로딩된다. 제1 반복에 대해, 이것은 모든 그룹들을 포함하는 전체 스크린일 수 있다. 이 실시예에서, 초기 검색 가능 영역 레코드는 모든 UI 요소들 및 UI 요소 그룹들을 포함하는 전체 스크린을 포함하도록 정의된 영역과 함께 존재한다. 동작 404에서, 초기 검색 가능 영역을 그룹들 중 일부를 각각 갖는 2개의 검색 가능 영역으로 분할하는 그리드 라인이 선택된다. 동작 406에서, 새로운 레코드가 생성되고, UI 요소 그룹들은 초기 레코드와 새로운 레코드 사이에서 분류되고, 레코드들은 그들 각자의 검색 가능 영역들로 업데이트된다. 분할 라인은 2개의 검색 가능 영역 사이의 분리/분할로서 기록된다. 제1 검색 가능 영역 및 그 안의 UI 요소 그룹들 및 UI 요소들은 분할에 링크되고, 이것은 이어서 새로운 검색 가능 영역 및 그 안의 UI 요소 그룹들 및 UI 요소들에 링크된다.
실행 시간에, UI 요소들의 클래스 객체들, UI 요소 그룹들의 클래스 객체들, 및 분리들/분할들의 클래스 객체들이 존재할 것이다.
하나 초과의 UI 요소 그룹을 포함하는 각각의 검색 가능 영역에 대해, 프로세스는 검색 가능 영역들을 분할하기 위해 반복적으로 실행된다(동작 408).
특히, 일 실시예에서, UI 요소들은 UI 요소 정의(예를 들어, 요소 ID)에 대한 참조 및 UI 요소의 원점으로의 이동에 의해 정의되고, 이 실시예에서 인터페이스 메모리 요구들은 각각의 UI 요소가 개별적으로 정의될 필요가 없기 때문에 감소된다.
일단 스크린이 완전히 분할되면, 분할들/분리들, UI 요소들, 및 UI 요소 그룹들, 및 이들 사이의 링크들을 포함하는 중간 검색 트리가 이제 존재한다.
동작 410에서, 그룹 레벨 검색 작업들이 각각의 UI 요소 그룹에 대해 생성된다. 그룹 레벨 작업은 프로세스 단계 또는 일련의 프로세스 단계들이다. 작업들은 (i) 터치 또는 접촉 이벤트가 UI 요소 내에서(또는 UI 요소 없이) 발생했는지를 결정하기 위한 작업들; (ii) 소정의 방식으로 검색 영역을 수정하기 위한 작업들; 및 (iii) 다음 작업에 대해 셋업하기 위한 작업들을 포함할 수 있다.
각각의 그룹 레벨 작업은 성공 또는 실패 시에 수행될 다음 작업의 표시를 포함할 수 있다. 예를 들어, 각각의 작업은 다음 작업 어드레스에 대한 "오프셋"을 갖는 비트를 포함할 수 있다. 또한, 각각의 그룹 레벨 작업은 그것이 실행될 때 인수들을 수신할 수 있다. 몇몇 실시예들에서, 이전 작업은 인수들을 제공하거나, 어느 인수들이 다음 작업에 이용 가능한지를 표시하기 위해 환경 비트/플래그를 설정할 수 있다.
일 실시예에서, UI 요소 그룹 좌표들(위치의 각도)에서의 오프셋은 인덱스를 생성하는 데 사용될 수 있다. 검색 가능 영역 내의 모든 UI 요소는, 구성되는 경우, 검색 가능 영역의 기본 ID로부터 인덱스만큼 오프셋된 상이한 ID를 할당받을 수 있다. 결과는 요소 ID 및 오프셋 값이다. 응답(예를 들어, 햅틱) 또는 요소 ID를 수정하기 위한 별개의 제공들이 존재한다 - 따라서 하나의 그룹 요소는 단일 요소 ID, 그러나 다수의 응답 ID를 반환할 수 있고, 다른 그룹 요소는 다수의 상이한 요소들에 대한 하나의 응답 ID를 반환할 수 있다.
그룹 레벨 검색 작업들은 그룹 레코드들에 삽입되거나, 검색 작업 리스트에 삽입되거나, 중간 레코드에 삽입될 수 있다. 일단 그룹 레벨 검색 작업들이 완료되면, 동작 412에서 중간 검색 트리가 반환된다.
일 실시예에서, 적용 가능한 경우, 작업이 수행되고, 성공이고, 최종 작업인 경우에 무엇이 반환될지를 나타내는 각각의 작업에 대해 환경 변수들이 설정될 수 있다. 비제한적인 예로서, 환경 변수는 햅틱 ID, 그룹 형상 내의 요소에 대해 요소 ID 및 햅틱 ID가 수정되는 방법을 제어하는 값들 등일 수 있다. 다음 작업 설명과 동반하도록 전송될 데이터를 나타내는 환경 플래그들이 또한 설정될 수 있다. 소정의 제약들 및 올바른 환경 변수들을 사용함으로써, 예를 들어 원의 정의가 7 바이트로부터 2 바이트로 감소될 수 있다.
도 5는 중간 검색 트리에 대해 수행되는 최적화 프로세스(500)의 실시예를 예시한다. 동작 502에서, 모든 UI 요소들이 공통 특징들에 의해 그룹화된다. 공통 특징들의 예들은 UI 요소 타입, 계층 내의 위치, 다른 계층 내의 다른 요소(예를 들어, 동일 UI 요소 뒤의 모든 것)에 대한 위치, 디스플레이 그룹, 형상 등을 포함한다. 일 실시예에서, 공통 특징들은 UI 요소/형상 검색 프로세스를 최적화하도록 선택될 수 있다. 예를 들어, UI 요소들이 검색 트리의 상부에 있는 상위 계층 상의 UI 요소들과 계층 위치에 의해 그룹화되는 경우, 그들이 먼저 검색될 것이다. 다른 예로서, "페이징"(즉, 사용자 인터페이스의 계층들이 그 아래의 계층들을 노출시키도록 또는 계층을 다른 계층 위로 당기도록 스와이프될 수 있음)이 있는 응용에서, 디스플레이 그룹에 의한 그룹화는 단일 제어를 사용하여 모든 디스플레이된 UI 요소들의 제어 - 예를 들어 디스플레이 그룹 내의 모든 UI 요소들을 검색, 제어 설정들에 응답하여 그러한 UI 요소들에 변경들을 적용, 디스플레이 그룹 내의 모든 UI 요소들을 턴온 또는 턴오프 등 - 를 가능하게 한다. 다양한 실시예들에서, 식별자들은 공통 특징들, 예를 들어 계층 ID들, 위치 ID들, 형상 ID들 등에 의해 조직화된 그룹들을 식별하는 데 사용될 수 있다.
동작 504에서, 검색 작업들이 각각의 요소에 대한 검색 트리에 삽입되고, 중간 검색 작업 트리를 형성하도록 분리된다. 동작 506에서, 중간 검색 작업 트리는 각각의 작업에 대한 단일 통과(pass through)를 보장하도록 재순서화(re-ordering)된다. 동작 508에서, 중복된 또는 비효율적인 검색 작업들이 제거된다. 동작 510에서, 최적화된 검색 작업 트리가 반환된다.
도 6은 검색 작업 리스트를 생성하는 프로세스(600)의 실시예를 예시한다. 동작 602에서, 검색 작업 트리 내의 클래스 객체들이 로딩되고, 동작 604에서, 명령어 워드들(즉, 검색 작업들)이 클래스 객체들로부터 생성되고 명령어 워드들(즉, 검색 작업들)이 검색 작업 리스트에 삽입된다. 도 6에 도시된 실시예에서, 명령어 워드는 작업 코드 필드 및 점프 필드를 포함한다. 일 실시예에서, 명령어 워드는 데이터 필드를 포함한다. 모든 실패(즉, 요소가 상이함) 및 모든 분리는 다음 작업이 메모리에서 현재 작업을 바로 뒤따르지 않는 한 다른 명령어로의 점프를 요구한다.
동작 606에서, 작업 코드들이 작업 코드 필드에 삽입되고, 동작 608에서 점프 값들이 점프 필드에 삽입된다.
몇몇 실시예들에서, 점프 값들 중 일부 또는 전부는 모든 작업들이 검색 작업 리스트에 삽입될 때까지 삽입되지 않는다. 다른 실시예들에서, 점프 값들은 검색 작업 트리로부터 추정될 수 있다.
동작 610에서, 검색 작업 리스트의 다양한 작업들이 메모리에서 연결되어 컨디셔닝된 검색 작업 리스트를 형성하며, 이 리스트는, 모든 객체들이 리스트에 있는 경우(동작 612), 동작 614에서 프로세스에 의해 반환된다. 검색 작업 리스트 및 검색 트리는 메모리에 저장될 수 있다.
작업 명령어들은 검색 작업 리스트가 구현될 특정 환경에서 이용 가능한 컨테이너 크기 제한들(즉, 바이트 제한들)에 의해 달라질 수 있다. 일 실시예에서, 각각의 작업 명령어와 연관된 데이터는 명령어 인터페이스 요구들(8-비트, 12-비트, 16-비트 등), 이용 가능한 메모리 등을 포함한 시스템 요구들에 따라 달라질 수 있다. 비제한적인 예로서, 8변 다각형 형상의 UI 요소 내에서 검색하기 위한 명령어는 단지 x 및 y 좌표 데이터 및 변들의 수를 이용하여 수행될 수 있다. 그러나, 명령어 인터페이스 및 다른 메모리 요구들이 허용하는 경우 추가 데이터가 포함될 수 있다.
도 7은 본 개시의 실시예에 따른, UI 요소 내에서 터치가 발생했는지를 결정하는 UI 요소/형상 검색 프로세스를 예시한다. 검색 트리의 검색은 제공된 데이터 및 검색 작업 리스트를 사용하여 수행된다. 동작 702에서, 각각의 작업에 대한 실행 가능 명령어가 각각의 작업에 대한 페이로드 데이터와 순차적으로 프로세서의 인터페이스 상에 제공되고, 동작 704에서 실행된다. 검색 트리가 검색됨에 따라, UI 요소 내에서 터치가 발생했는지에 대한 결정이 동작 706에서 이루어지고, 각각의 작업의 결과는 UI 요소 내에서 터치가 발생했는지를 나타내는 참/거짓, 성공/실패이다. 동작 708에서, 현재 작업의 결과가 성공인 것에 응답하여 다음 작업 명령어 및 관련 데이터가 로딩되고 프로세서에 의해 수신된다. 즉, 동작 706의 결과가 성공인 경우, 작업 리스트 내의 다음 작업이 실행된다.
결과가 실패인 경우, 결과에 응답하여 교체(alt) 작업 명령어 및 관련 데이터가 로딩되고 프로세서에 의해 수신된다. 교체 작업이 존재하는 경우(동작 714), 교체 작업 위치가 동작 716에서 공급되고, 프로세스는 동작 702로 루프백되고, 작업들은 프로세서에 대한 교체 위치로부터 로딩된다. 검색이 고갈될 때, UI 요소는 발견되거나 발견되지 않는다. UI 요소가 발견되면, 발견 결과가 동작 710에서 반환되고, 동작 712에서, 그 요소에 대한 ID는 물론, 임의의 환경 설정들/응답성 파라미터들이 반환된다. 동작이 발견되지 않으면, 미발견 결과가 동작 720에서 반환된다.
일 실시예에서, 도 7에 도시된 UI 요소/형상 검색 프로세스는 터치 프로세서(마이크로컨트롤러)에서 실행하는 펌웨어 애플리케이션일 수 있다. 터치 프로세서는 플래시 메모리에 저장된 검색 프로세스에 의해 실행되는 하나 이상의 검색 작업을 가질 수 있다. 일 실시예에서, 검색 작업들은 디스플레이 컨트롤러와 연관된 RAM에 저장될 수 있고, 검색 작업들은 셋업 또는 프로비저닝 프로세스 동안 터치 프로세서에 제공되고 검색 프로세스에 액세스 가능하게 유지될 수 있다.
설명된 실시예는 대안적인 접근법에 비해 몇 가지 이점을 제공한다. 메모리 요구들은 선형 검색, 순수 그리드 방법 또는 순수 검색 트리 방법으로부터 상당히 - 50%까지 - 감소되고, 여전히 조합 그리드/트리 방법들에 비해 개선이다. 이것은 부분적으로는 수행되는 검색 동작들의 수가 감소되기 때문이다. 검색 동작들의 수가 감소되기 때문에, 응답 사이클들이 (종래의 접근법들을 포함하는) 대안 접근법들보다 상당히 더 짧다. 예를 들어, 1200x1200 접촉 감지 GUI 상에서, 72μs(순수 그리드) 내지 1200μs(선형)의 범위에 이르는 대안 접근법들에 비해 36μs 미만의 사이클 시간들이 달성되었다. 사용자에게, 이 차이는 훨씬 더 응답적인 터치 인터페이스이다.
설계자에게, 상이한 응답 특성들을 가진 많은 요소를 갖는 터치 인터페이스는 더 복잡할 수 있다.
도 8, 도 9 및 도 10a 내지 도 10e는 본 개시의 실시예들과 함께 사용될 수 있는 GUI의 하나의 비제한적인 예로서 라디오 응용을 위한 GUI와 관련하여, 도 2 내지 도 7을 참조하여 예시되고 설명된 프로세스들을 예시한다. 도 8에 예시된 라디오 GUI(810)는 표(820)에 요약된 8개의 타입의 UI 요소들 및 총 144개의 UI 요소를 포함한다.
도 9는 도 3을 참조하여 설명된 방법들에 따라 그룹화된 UI 요소들을 도시한다. 이 실시예에서, 그룹화된 요소들(832, 834, 836, 838, 840, 842, 844, 846, 848)은 유사한 터치 특성들(예를 들어, 터치에 응답하는 햅틱 피드백), 스크린 상의 물리적 위치들, 및 형상들을 갖는다.
도 10a 내지 도 10e는 도 4를 참조하여 설명된 트리 및 그리드 방법을 사용하여 형성된 트리 구조들(850)의 예를 도시한다.
도 11은 본 개시의 실시예에 따른 본 명세서에 설명된 UI 요소/형상 검색 방법들을 구현할 수 있는 시스템(1000) 및 관련 툴(1040)을 예시한다. 시스템(1000)은 GUI 요소들에 대한 GUI 요소 검색 기능(1012) 및 응답 결정(1014)을 갖는 마이크로컨트롤러 펌웨어(1010)를 포함한다. 마이크로컨트롤러 펌웨어(1010)를 실행하는 프로세서는 마이크로컨트롤러 펌웨어(1010)로부터 제어 신호들을 수신하고 이어서 접촉 감지 인터페이스(1020)에서 응답을 구동할 수 있는 응답 구동기(1018)에 결합된다. 일 실시예에서, 접촉 감지 인터페이스(1020)는 하나 이상의 액추에이터를 포함하는 터치 스크린이고, 응답 구동기(1018)는 액추에이터들을 여기시킬 제어 신호들을 생성하도록 구성된 햅틱 구동기이다. 감지 회로(1022)는 접촉 감지 인터페이스(1020)에서의 접촉에 응답하여 하나 이상의 측정 신호를 생성할 수 있다. 접촉 측정 및 처리(1016)는 감지 회로(1022)로부터의 측정 신호들에 응답하여 접촉 정보(예를 들어, 위치, 타입 등)를 결정하고 이를 응답 결정(1014) 및 GUI 요소 검색 기능(1012)에 제공할 수 있다. 응답 구동기(1018)에서 수신된 제어 신호들은, 예를 들어, 접촉 감지 인터페이스(1020) 상의 우측 위치에서 햅틱 피드백이 제공되도록 접촉 정보에 적어도 부분적으로 기초할 수 있다.
또한 도 11에, 본 개시의 실시예에 따른, 검색 리스트 생성 프로세스를 구현하고 요소 검색 작업 리스트 및 요소 응답 정보를 생성할 수 있는 툴(1040)이 도시되어 있다. 검색 리스트 생성 애플리케이션 프로그램(1044)은 GUI 정의 XAML 파일(1042)을 처리하기 위한 도 2 내지 도 6을 참조하여 설명된 프로세스들을 구현하여 요소 검색 작업 리스트를 생성하도록 구성된다. 애플리케이션(1044)은 요소 검색 작업 리스트(1046) 및 요소 응답 정보(1048)를 파일로서 마이크로컨트롤러 펌웨어(1010)에 제공할 수 있다. 일 실시예에서, 그것은 또한 검색 트리를 제공할 수 있지만, 이는 검색 작업들에 통합될 수 있다.
펌웨어의 몇몇 실시예에서, 펌웨어는 터치 이벤트에 관한 힘 레벨 정보를 포함시키기 위한 힘 측정 및 처리 기능들을 포함할 수 있다. 이러한 실시예들에서, 요소 검색 기능에 의해 반환되는 힘 레벨 정보 및 GUI 요소 ID 및 햅틱 응답 상세들은 상기 힘 레벨, GUI 요소 ID 및 햅틱 응답 상세들에 응답하여 햅틱 제어 신호들을 생성하기 위해 햅틱 시퀀서에 의해 사용될 수 있다.
도 11의 시스템은 자동차들을 포함한, 터치 인터페이스들 및 터치 제어 패널들을 이용하는 다양한 소비자 제품들, 기기들 및 기계류에 통합될 수 있다.
도 12는 자동차 터치 제어 패널을 위한 라디오 GUI(1210)의 단순화된 버전을 예시한다. 3개의 영역, 즉 영역 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) 및 UI 요소/형상 검색 기능들(1324)은 자동차 헤드 유닛(1310)이 헤드 유닛의 처리 회로의 직접적인 개입 없이 햅틱 피드백으로 터치들에 응답하는 자동차 서브시스템의 일부이다. 터치 컨트롤러(1320)는 터치 위치들 및 힘 레벨 정보로부터 터치된 스크린 버튼들을 식별하고, 햅틱 효과를 트리거하기 위해 버튼 위치를 포함하는 터치 상태 기계를 실행하도록 구성된다.
이 실시예에서, 힘 처리(1326) 및 터치 처리(1322)는 하나의 컨트롤러 컴포넌트(1320)에 통합되고, 터치 스크린(1332)은 터치 컨트롤러(1320)에 의해 직접 활성화되고 햅틱 디바이스(1350)에 의해 수행될 햅틱 효과들의 범위를 도출하는 데 각각 필요한 다수의 기하학적 객체 설명의 정의들(스크린 디스플레이 설계(1336) 및 검색 트리 정의들(1338))을 포함한다. 터치 컨트롤러(1320)는 또한 터치 컨트롤러 구성 유닛(1340)을 통해 그러한 정의들을 수신할 수 있다.
예를 들어, 디스플레이(1330)에서의 터치 후에, 터치 컨트롤러(1320)는 힘 처리(1326) 및 터치 처리(1322)로부터 힘 정보 및 터치 정보를 수신한다. 정보는 힘 센서(1334)로부터의 힘 측정 및 디스플레이 상의 터치 위치를 포함할 수 있다. UI 요소/형상 검색(1324)은, 만약 있다면, 터치가 발생한 디스플레이(1330)에 디스플레이되는 UI 요소에 대응하는 UI 요소 정보를 제공한다. 디스플레이 상의 위치에 대응하는 UI 요소가 없다면, UI 요소/형상 검색(1324)은 널(null) 검색 결과를 제공한다. UI 요소의 형상 정보를 검색하는 동안, UI 요소/형상 검색(1324)은 헤드 유닛(1310)에 저장된 정의들을 사용할 수 있다. 일 실시예에서, UI 요소/형상 검색(1324)은 프로비저닝 프로세스 동안, 예를 들어 터치 컨트롤러(1320)가 헤드 유닛(1310)과 통합될 때 또는 헤드 유닛(1310)이 파워 온될 때, 정의들을 수신할 수 있다.
UI 요소/형상 검색(1324)이 UI 요소를 식별하는 경우, 햅틱 정보는 햅틱 효과 및 햅틱 효과에 대한 위치를 포함하는 햅틱 활성화 메시지를 햅틱 디바이스(1350)에 전송하기 위해 햅틱 제어(1328)에 의해 사용된다. 햅틱 활성화 메시지는 햅틱 효과의 레벨(예를 들어, 약함, 중간, 강함)을 나타내는 파라미터를 포함할 수 있다. 햅틱 디바이스(1350)는 햅틱 디바이스에 저장된 햅틱 라이브러리(1352)에서 햅틱 효과 정의를 검색한다. 이어서 햅틱 디바이스(1350)는 디스플레이의 특정 영역이 요청된 햅틱 효과를 나타내도록 디스플레이(1330)에 있는 액추에이터들을 제어한다. 특히, 상이한 햅틱 디바이스들은 상이한 햅틱 라이브러리들을 가질 수 있으며 따라서 효과들은 디바이스들 사이에서 상이할 수 있다.
이 실시예에서, GUI 정의는 그래픽 사용자 인터페이스들을 위한 xml 구현예인 XAML 파일이다. XAML 파일은 GUI의 UI들의 스크린 요소들에 대한 드로잉 명령어들의 계층적 구조화된 리스트를 포함한다. XAML 파일에는 GUI 요소들과 연관된 태그들이 있다. 예를 들어, "폭", "높이" 및 "수평 정렬"은 특정 요소들에 대한 모든 유효한 태그들이다.
가상 위젯들
위에서 논의된 바와 같이, 몇몇 실시예들에서, 접촉 감지 GUI(GUI와 통합된 터치 인터페이스)는 예를 들어 위에서 논의된 특징들 중 임의의 것과 조합하여 가상 위젯들을 이용할 수 있다. 본 명세서에서 사용되는 바와 같이, "가상 위젯"은 디스플레이 가능 GUI 스크린에 포함되는 (예를 들어, 하나 이상의 활성 UI 요소를 포함하는) 형상들의 임의의 집합이다. 예를 들어, 가상 위젯은 가상 버튼들, 슬라이더들, 노브들, 다이얼들 등의 다수의 인스턴스 및/또는 타입의 정의된 집합을 포함할 수 있다. 다른 예로서, 가상 위젯은 정의된 기능을 제어하기 위해 인터페이스를 집합적으로 정의하는 활성 요소들의 정의된 집합을 포함할 수 있다. 예를 들어, 슬라이더 타입 가상 위젯 또는 회전 가능 다이얼 타입 가상 위젯은, 예를 들어 아래에 논의되는 도 15의 예에 도시된 예시적인 회전 가능 다이얼들에 의해 예시된 바와 같이, 슬라이더 또는 회전 가능 다이얼에 대한 위치 선택들의 범위에 관련된 UI 요소들의 정의된 집합으로 이루어질 수 있다.
가상 위젯들은 터치스크린 상에 디스플레이될 수 있지만, 몇몇 실시예들에서 단지 터치스크린 구성 모듈/프로세스와 관련하여 그리고 터치스크린 디스플레이 상에 존재한다. 가상 위젯들은 헤드 유닛에 보고할 수 있다. 가상 위젯들의 사용은 터치 감지 GUI의 물리적 인터페이스 복잡성을 감소시킬 수 있다. 예를 들어, 가상 위젯들의 사용은 터치 위치들을 처리하기 위한 헤드 유닛에 대한 오버헤드를 감소시킬 수 있고, 예를 들어 가열 제어들, 라디오 제어들 또는 임의의 다른 타입의 제어들을 위해 물리적 로터들, 슬라이더들 등에 대한 별도의 하드웨어 또는 전자장치를 필요로 하지 않을 수 있다.
몇몇 실시예들은 가상 위젯들(예를 들어, 버튼들, 슬라이더들, 다이얼들 등)로서 동작되도록 터치스크린의 영역들(예를 들어, 구성된 스크린 페이지 내의 영역들)을 구성 가능한 방식으로 정의하기 위한 시스템들 및 방법들을 제공한다. 터치스크린 상에서 터치가 검출될 때, 터치 컨트롤러는 사용자 터치에 대응하는 위젯의 위치 또는 상태(예를 들어, 가상 슬라이더의 선형 위치 또는 검출된 터치 위치와 대응하는 가상 다이얼의 회전 위치)를 결정하고, 터치스크린 상의 터치의 위치를 나타내는 "터치 메시지"를 보고하는 대신에 또는 그에 추가하여, "위젯 메시지" 내의 그러한 위치/상태 정보를 헤드 유닛에 보고할 수 있다. 위젯 메시지들은, 예를 들어, 검출된 터치 위치, 힘, 및/또는 터치스크린 상의 검출된 터치의 다른 측정 가능한 태양과 대응하는, 사용자 선택 위치, 회전, '터치된' 상태, 및/또는 각자의 위젯 상의 검출된 터치들의 수를 나타낼 수 있다.
몇몇 실시예들에서, 위젯 메시지들은, 예를 들어 이하에서 논의되는 도 14에 도시된 예시적인 실시예에서, 터치 메시지들로부터의 분리된 스트림에서 헤드 유닛에 통신된다. 몇몇 실시예들에서, 터치 컨트롤러는 가상 위젯 상의 터치가 검출될 때 헤드 유닛으로의 터치 메시지들의 전송을 억제하는데; 다시 말해서 터치 메시지들은 가상 위젯과의 터치 상호작용 동안 위젯 메시지들을 위해 유보될 수 있다.
그러한 가상 위젯들의 사용은 가상 GUI 제어들이 터치스크린 상의 어느 곳에나 구성 가능하고 동적인 방식으로 위치될 수 있게 한다. 몇몇 실시예들에서, 스크린 상에 디스플레이된 가상 제어들은, 예를 들어 UI 형상 검색에 대해 위에서 개시된 기술들에 기초하여, 스크린 디스플레이 ID를 변경함으로써 변경 및/또는 재위치될 수 있다.
도 14는 하나의 예시적인 실시예에 따른, 본 명세서에 개시된 바와 같은 가상 위젯들을 이용하는 예시적인 GUI 터치스크린 시스템(1400)을 예시한다. GUI 터치스크린 시스템(1400)은 접촉 감지 터치스크린(1402), 터치 컨트롤러(1404) 및 헤드 유닛(1406)을 포함할 수 있으며, 이들 각각은 컴포넌트들(예를 들어, 터치 센서, 마이크로컨트롤러, 마이크로컨트롤러 펌웨어, 프로세서, 메모리, 햅틱 액추에이터 등) 중 임의의 것을 제공하고, 위에서 논의된 바와 같이 터치스크린, 터치 컨트롤러 및 헤드 유닛에 의해 제공되는 기능 중 임의의 것을 제공할 수 있다. 몇몇 실시예들에서, 터치 컨트롤러(1404)는 마이크로컨트롤러 내의 펌웨어에 의해 구현될 수 있다.
시스템(1400)은 또한 스크린 설계 모듈(1410) 및 터치 컨트롤러 구성 모듈(1414)을 포함할 수 있다. 스크린 설계 모듈(1410)은 터치스크린(1402)에 선택적으로 디스플레이될 수 있는 하나 이상의 상이한 스크린(페이지로도 지칭됨) 각각에 대한 스크린 설계를 정의하거나 구성할 수 있다. 각각의 스크린에 대해, 스크린 설계 모듈(1410)은 스크린 내에 포함시킬 가상 위젯들을 선택하고, 선택된 위젯들의 배열/레이아웃을 선택할 수 있다. 스크린 설계 모듈(1410)은 저장을 위해 스크린 설계(들)를 헤드 유닛(1406)에 통신할 수 있고, 헤드 유닛(1406)은, 예를 들어 (예컨대, 헤드 유닛(1406)에 의해 제공되는 스크린 선택 상태 머신을 이용하여) 디스플레이를 위해 현재 선택된 스크린에 기초하여, 스크린 설계들을 GUI 요소 검색 엔진(1424)에 적절히 선택적으로 제공할 수 있다. 이어서 헤드 유닛(1406) 또는 대안적으로 터치 컨트롤러 구성 모듈(1414)은 예를 들어 가상 위젯들의 다양한 선택들 및/또는 배열들을 사용하여 다수의 상이한 스크린 중 어느 것이 현재 디스플레이되는지를 제어함으로써 터치스크린 상의 디스플레이를 제어할 수 있다.
스크린 설계 모듈(1410)은 또한 스크린 설계들 중 임의의 것에 포함된 각각의 가상 위젯의 파라미터들(1412)을 정의하고, 저장을 위해 각자의 위젯 정의들(1416)을 터치 컨트롤러 구성 모듈(1414)에 통신할 수 있다. 따라서 터치 컨트롤러 구성 모듈(1414)은 하나 또는 다수의 타입의 관련 UI 요소들의 정의된 집합을 포함할 수 있는, 각각의 가상 위젯에 대한 위젯 정의를 저장할 수 있다. 도시된 바와 같이, 터치 컨트롤러 구성 모듈(1414)은 GUI 요소 검색 엔진(1424)이 터치스크린 상의 검출된 터치에 기초하여 가상 위젯과의 사용자 상호작용을 검출할 수 있게 하기 위해 현재 디스플레이된 스크린에 포함된 위젯 정의들을 GUI 요소 검색 엔진(1424)에 제공할 수 있다.
위에서 언급된 바와 같이, 각각의 가상 위젯은 터치스크린 상에 디스플레이된 형상들의 임의의 집합을 포함할 수 있다. 각각의 가상 위젯은 위젯 ID 및 스크린 상의 상대 위치를 가질 수 있다. 가상 위젯들은 예를 들어 (버튼 타입 위젯들에 대한) 버튼 번호, (로터 타입 위젯들에 대한) 로터 위치/변경, 또는 (슬라이더 타입 위젯들에 대한) 슬라이더 위치/변경과 같은 파라미터들에 의해 추가로 정의될 수 있다. 가상 위젯들은 또한 예를 들어 헤드 유닛에 의해 페이징될 수 있는 형상 구성에 의해 정의될 수 있다.
동작 시에, 사용자가 터치스크린(1402)을 터치/접촉할 때, 터치 컨트롤러(1404)의 감지 회로는 1420에서 센서 신호들을 측정하고, 터치스크린(1402)에서의 측정된 접촉에 응답하여 하나 이상의 측정 신호를 생성할 수 있다. 접촉 측정 및 처리(1420, 1422)는 터치 정보(예를 들어, 위치, 타입, 힘 등)를 결정하고, 이를 GUI 요소 검색 엔진(또는 "형상 검색" 모듈)(1424)에 제공할 수 있다. 이어서 GUI 요소 검색 엔진(1424)은, 예를 들어 위젯 정의들(1416)에 포함된 위젯 위치 및 형상 파라미터들에 기초하여, 터치 위치가 현재 디스플레이된 가상 위젯들과 대응하는지를 결정할 수 있다. 이 결정은 UI 요소 터치 검출에 대해 위에서 논의된 다양한 기술들 중 임의의 것을 이용할 수 있다.
GUI 요소 검색 엔진(1424)이 터치 위치가 현재 디스플레이된 가상 위젯과 대응한다고 결정하는 경우, 검색 엔진(1424)은 각자의 위젯 ID, 위젯 형상 인덱스, 위젯 내의 어느 UI 요소(들)가 터치되고 있는지, 및/또는 터치되고 있는 가상 위젯에 관한 다른 관련 정보를 포함하는 위젯 정보(1426)를 위젯 처리 모듈(1428)에 통신할 수 있다. 1428에서, 위젯 처리 모듈(1428)은 GUI 요소 검색 엔진(1424)으로부터 수신된 위젯 정보(1426) 및/또는 위젯 정의 정보(1416) 중 임의의 것을 포함하는 위젯 메시지(1430)를 메시지 인터페이스(1434)에 대해 생성할 수 있으며, 이 메시지 인터페이스는 위젯 처리 모듈(1428)로부터의 정보를 포함하는 이벤트 보고(1440)를 헤드 유닛(1406)에 전달할 수 있다.
몇몇 실시예들에서, 위젯 처리 모듈(1428)은 각각의 관련 위젯 터치 이벤트에 대한 이벤트 보고(1440)를 생성할 수 있으며, 이는 예를 들어 헤드 유닛(1406) 및/또는 터치 컨트롤러(1404)에 의해 생성되거나 달리 그들이 액세스 가능한 위젯 정의들(1416) 또는 다른 로직에 의해 정의되는 바와 같은 햅틱 응답 또는 다른 사용자 피드백 또는 제어 기능을 트리거하는 각각의 위젯 터치 이벤트를 포함할 수 있다. 예를 들어, 관련 위젯 터치 이벤트들은, 예를 들어 각자의 함수를 턴 온/오프하거나 예를 들어 조정 가능 제어 파라미터(예를 들어, 볼륨, 팬 속도, 디스플레이 밝기 등)를 증가 또는 감소시키는 것에 의해, 위젯과 연관된 설정을 변경하는 위젯 상의 터치 이벤트들을 포함할 수 있다. 위젯 처리 모듈(1428)은 GUI 요소 검색 엔진(1424)으로부터 수신된 위젯 정보(1426) 및/또는 위젯 정의 정보(1416)로부터 관련 위젯 터치 이벤트들을 식별할 수 있다.
따라서 헤드 유닛(1406)은 메시지 인터페이스(1434)를 통해 위젯 처리 모듈(1428)로부터 위젯 관련 이벤트 보고들(1440)을 수신하고, 터치스크린(1402)에서의 디스플레이된 스크린의 태양들을 제어하고/하거나, 터치되고 있는 가상 위젯과 연관된 적어도 하나의 외부 시스템 또는 디바이스, 예를 들어 라디오, 인포테인먼트 시스템, 지도/안내 시스템, 라이트, 팬, 모터, 엔진 등을 제어하는 것에 의해 각각의 이벤트 보고(1440)에 응답할 수 있다. 몇몇 실시예들에서, 헤드 유닛(1406)은, 예를 들어 위젯 정의 정보(1416)에 의해 정의된 바와 같이, 터치의 위치에서 사용자에게 정의된 햅틱 피드백을 제공하도록 각자의 액추에이터(들)를 제어할 수 있다. 다른 실시예들에서, 터치스크린(1402)을 통한 햅틱 피드백은 헤드 유닛(1406)보다는 터치 컨트롤러(1404)에 의해 제어되고 제공될 수 있으며, 이는 사용자에게 피드백을 제공하기 위한 응답 시간을 증가시킬 수 있다.
또한, 도 14에서 1432에 표시된 바와 같이, 터치 컨트롤러(1404)는 모든 처리된 터치 정보를 메시지 인터페이스(1434)에 전달하도록 구성될 수 있으며, 이 메시지 인터페이스는 그러한 정보를 생성하여 이벤트 보고들(1440)을 통해 헤드 유닛(1406)에 전달할 수 있다. 몇몇 실시예들에서, 위젯 처리 모듈(1428)은, 예를 들어 위젯 메시지들(1430)/위젯 관련 이벤트 보고들(1440)의 생성 및 위젯 처리 모듈(1428)로부터 헤드 유닛(1406)으로의 전달 중에, 가상 위젯 터치가 GUI 요소 검색 엔진(1424)에 의해 식별될 때 이러한 터치 정보(1432)의 전달을 디스에이블 또는 유보하도록 인에이블/디스에이블 스위치/로직(1442)을 제어할 수 있다.
가상 위젯들을 이용하는 것은 헤드 유닛(1406)의 요구되는 처리를 단순화할 수 있다. 예를 들어, 가상 위젯들의 사용은 단일 스크린 설계가 다수의 응용을 가질 수 있게 할 수 있다. 예를 들어, 하나의 인터페이스는 적합한 구성을 통해 모든 제품 변형을 처리할 수 있다.
도 15는 하나의 예시적인 실시예에 따른, 터치스크린 GUI(1500) 상에 디스플레이된 예시적인 라디오 스크린(또는 페이지)(1502)을 예시하며, 여기서 라디오 스크린/페이지(1502)는 다양한 UI 요소 그룹들을 포함하는 가상 위젯들(1504)의 배열을 포함한다. 터치스크린 GUI(1500)는 라디오 및/또는 하나 이상의 다른 시스템 또는 디바이스(예를 들어, 인포테인먼트 시스템, 지도/안내 시스템, 라이트, 팬, 모터, 엔진 등)를 제어하기 위해 임의의 수 및 타입의 상이한 스크린들/페이지들을 선택적으로 디스플레이하도록 구성될 수 있다.
이 예에서, 라디오 스크린/페이지(1502)는 라디오 위젯(1504A), 한 쌍의 라디오 모드 위젯(1504B 및 1504C), 채널 프리셋 위젯(1504D), 상태 위젯(1504E), 볼륨 제어 활성화 위젯(1504F) 및 볼륨 조정 위젯(1504G), 튜너 제어 활성화 위젯(1504H) 및 튜너 조정 위젯(1504I), 저음 제어 위젯(1504J), 및 고음 제어 위젯(1504K)을 포함하는 다양한 예시적인 가상 위젯들(1504)을 포함한다.
위에서 논의된 접촉 감지 GUI들(예를 들어, 터치스크린들)은 임의의 적합한 제품들 또는 시스템들, 예를 들어 가전 제품들에서 또는 예를 들어 자동차 제어들을 위해 사용될 수 있다. 몇몇 실시예들에서, 터치스크린 제어는 별개의 마이크로프로세서/칩을 요구함이 없이, 예를 들어 마이크로컨트롤러에서 구현되는, 펌웨어에 의해 제공될 수 있다.
GUI(예를 들어, 터치스크린)는 구성을 통해 정의되고 변경될 수 있기 때문에, 동일한 GUI 하드웨어가 다수의 상이한 목적을 위해 그리고/또는 다수의 상이한 사용자 또는 고객에 의해 사용되고 선택적으로 구성될 수 있다. 또한, 동일한 GUI 하드웨어는 제품 범위에 걸쳐 다수의 상이한 인터페이스 옵션을 제공할 수 있다. 종래의 접근법들은 전형적으로 별개의 제어들을 제공하고/하거나, 헤드 유닛을 이용하여 터치스크린 상의 버튼 누름들 또는 다른 접촉들을 결정하는데, 이는 개시된 시스템의 유연성을 제공하지 못하며, 추가적인 처리 자원들 또는 시간을 요구할 수 있다.
터치스크린의 상이한 부분들에 대한 상이한 특성들 및 응답들을 정의하는 능력은 센서 영역들의 유연한 정의를 가능하게 하는, 위에서 개시된 UI 요소/형상 검색 알고리즘에 의해 주로 제공된다. 이것은 종래의 터치스크린 설계의 전형적인 태양이 아니다. 또한, UI 요소들/위젯들에 대한 별도의 메시징 스트림들의 추가는 로터 및 슬라이더와 같은 기능들이 임의의 물리적 디바이스에 대한 필요 없이 가상적으로 생성될 수 있게 한다. 동일한 기능은 임의의 형상이 그 자신의 ID로 가상 위젯으로서 보고하여, 종래의 터치스크린 처리를 바이패스할 수 있게 한다.
정적 위젯들
몇몇 실시예들은 사람에게 촉각 피드백을 제공하기 위해 터치스크린 표면에 통합된 정적인 물리적 구조들, 예를 들어 물리적 리지들, 범프들, 홈들 등을 포함할 수 있다. 그러한 구조들은 본 명세서에서 "정적 위젯들"로 지칭된다. 몇몇 실시예들에서, 정적 위젯들은 예를 들어 가상 위젯들(위에서 논의됨)과 조합하여 사용될 수 있으며, 여기서 가상 위젯은 터치스크린 표면에 물리적으로 통합된 대응하는 정적 위젯과 같은 곳에 위치하며, 그에 대응하는 형상을 가질 수 있다. 위에서 논의된 바와 같이, 가상 위젯은 보고된 터치들의 위치, 회전, "터치된" 상태, 수 등을 연관된 헤드 유닛에 보고할 수 있다.
정적 위젯들은 터치스크린에 디스플레이되는 대응하는 가상 위젯들 또는 다른 UI 요소들에 물리적 "느낌"을 제공할 수 있다. 따라서, 정적 위젯들은 사용자가 터치스크린을 보지 않고 느낌에 의해 터치스크린 GUI에서 입력을 제공할 수 있게 할 수 있으며, 이는 사용자의 시각 초점이 다른 곳으로 지향될 수 있는 자동차 응용들 또는 다른 응용들에서 특히 유용할 수 있다. 몇몇 실시예들에서, 시스템은 스크린 상의 터치의 위치 좌표들과는 대조적으로, 터치되는 정적 위젯의 제어 위치를 헤드 유닛에 보고하도록 구성되는데, 왜냐하면 시스템이 위젯 영역의 특별한 터치 처리를 제공할 수 있기 때문이다.
정적 위젯은 종래의 시스템들과 비교해 시스템의 강건성을 증가시키기 위해 물리적 이동 부분들을 대체할 수 있고, 컴포넌트 카운트 및 프로세서간 인터페이스들을 감소시킬 수 있다. 또한, 정적 위젯들의 하나 이상의 타입 또는 형상의 다수의 인스턴스가 단일 스크린 상에 제공될 수 있다. 몇몇 경우에, 정적 위젯들은 하나 이상의 로터(다이얼 또는 노브), 슬라이더, 버튼, 스위치 또는 임의의 다른 타입의 물리적 인터페이스들을 대체하는 데 사용될 수 있다.
도 16은 예시적인 실시예에 따른, 터치 센서(1608), 예를 들어 용량성 센서 위에 커버 유리 층(1604)에 둘 모두 형성된, 2개의 예시적인 정적 위젯(1600), 특히 예시적인 리지 타입 정적 위젯(1600A) 및 예시적인 홈 타입 정적 위젯(1600A)을 예시한다.
몇몇 실시예들에서, 헤드 유닛은 스크린에 제공된 각각의 정적 위젯(1600)과 대응하는 디스플레이 영역을 제어할 수 있다. 예를 들어, 헤드 유닛은, 예를 들어 특정 가상 위젯들을 그들의 대응하는 위젯 ID들에 의해 동적으로 호출함으로써, 각각의 정적 위젯(1600)에 디스플레이되는 가상 위젯을 동적으로 제어할 수 있다. 따라서, 예를 들어, 상이한 가상 위젯들이 각자의 정적 위젯(1600) 각각에 선택적으로 디스플레이될 수 있다. 몇몇 실시예들에서, 특정 정적 위젯(1600)에 선택적으로 디스플레이 가능한 상이한 가상 위젯들은 특정 정적 위젯(1600)과 대응하는 동일한 형상을 가질 수 있다. 위에서 논의된 바와 같이, 가상 위젯들은 터치스크린 컨트롤러에 의해 관리될 수 있다.
도 17a 및 도 17b는 예시적인 실시예에 따른, 원형 홈 또는 리지로서 각각 구현된, 2개의 정적 위젯(1702 및 1704)을 포함하는 예시적인 터치스크린(1700)의 2개의 상이한 모드에서의 2개의 도면을 예시한다. 도 17a에서, "튜너 모드"가 현재 선택되며, 여기서 헤드 유닛(1708)은 정적 위젯들(1702 및 1704)의 위치들에 디스플레이되는 제1 쌍의 가상 위젯들, 즉 정적 위젯들(1702 및 1704)의 위치들에 각각 디스플레이되는 원형 "볼륨" 가상 위젯(1712) 및 원형 "튜닝" 가상 위젯(1714)을 포함하는 제1 스크린(1710A)을 터치스크린(1700)에 디스플레이한다. 사용자가 "모드" 버튼(1720)을 누를 때, 헤드 유닛(1708)은 정적 위젯들(1702 및 1704)의 위치들에 디스플레이되는 제2 쌍의 가상 위젯들, 즉 정적 위젯들(1702 및 1704)의 위치들에 각각 디스플레이되는 원형 "저음" 가상 위젯(1722) 및 원형 "고음" 가상 위젯(1724)을 포함할 수 있는 "저음/고음" 모드에 대한 제2 스크린(1710B)을 호출할 수 있다.
도 18은 하나의 예시적인 실시예에 따른, 터치스크린 커버(예를 들어, 유리 층)(1802)에 형성된 원형 물리적 홈으로서 구현된 예시적인 정적 위젯(1800)의 경사 측면도를 예시한다.
위에서 논의된 도 14를 참조하면, 스크린 설계 모듈 및/또는 터치 컨트롤러 구성 모듈이 스크린 기하학적 구조에 기초하여 각각의 스크린(또는 페이지) 및/또는 각각의 스크린/페이지 내의 가상 위젯들 또는 다른 UI 요소들의 구성/레이아웃을 도출할 수 있다. 가상 위젯들은 스크린의 물리적 구조 아래에, 그리고 이에 따라 임의의 정적 위젯들 아래에 존재할 수 있고, 위에서 논의된 바와 같이 위젯 메시지들을 헤드 유닛에 전송할 수 있다. 몇몇 실시예들에서, 가상 위젯들은 예를 들어 헤드 유닛과는 별개로 수행될 수 있는 이득 및 임계 문제들을 포함하는 복잡한 터치 보고들을 생성할 수 있다.
내장형 정적 위젯들
몇몇 실시예들은 터치스크린 커버의 본체와는 상이한 하나 이상의 재료로부터 정적 위젯 구조를 형성함으로써, 위에서 논의된 정적 위젯들에 대한 향상을 제공할 수 있다. 따라서, 정적 위젯은 터치스크린 커버의 본체에 적어도 부분적으로 내장되거나, 달리 본체에 물리적으로 결합될 수 있으며, 이에 따라 "내장형 정적 위젯"으로 지칭될 수 있다. 아래에서 논의되는 바와 같이, 몇몇 실시예들에서, 내장형 정적 위젯은, 예를 들어, 원하는 성능에 따라, 리지에 걸쳐 일정한 터치 용량을 제공하기 위해, 또는 향상된 또는 감소된 용량을 제공하기 위해, 터치스크린 커버의 본체보다 더 높은 유전 상수를 갖는 재료로부터 형성될 수 있다.
위에서 논의된 바와 같이, 정적 위젯은 사용자에게 촉각 피드백을 제공할 수 있고, 예를 들어 이동 부분들 없이 스크린 내의 정적 리지 또는 홈으로서 구현될 수 있다. 또한, 위에서 논의된 바와 같이, 같은 곳에 위치된 가상 위젯은 터치가 검출될 때 위젯 메시지들을 헤드 유닛에 전송할 수 있으며, 이 위젯 메시지들은 보고된 터치들의 위치, 회전, "터치된" 상태, 수 등을 나타낼 수 있다.
또한, 위에서 개시된 바와 같은 내장형 정적 위젯들의 사용은 장갑을 착용한 사용자의 손가락의 검출을 향상시킬 수 있다.
예를 들어 용량성 센서가 커버 유리 내의 리지 또는 홈 아래에 배열되는 몇몇 정적 위젯 설계들에서, 터치 신호는 커버 유리 두께 및 터치 크기(면적)에 의존할 수 있다. 커버 유리가 얇고 터치가 플랫한 경우, 터치 기반 용량은 아래의 식에 의해 정의되거나 근사화될 수 있다:
[식 1a]
C=
식 1a에 따르면, 2개의 동일 면적 평행 플레이트의 용량(C)은 하나의 플레이트의 면적(A), 플레이트들을 분리하는 두께(t) 및 플레이트들을 분리하는 공간의 유전 상수()의 곱이다. 총 유전 상수()는 자유 공간의 유전 상수( o)와 재료의 상대 유전 상수( r)의 곱이다.
대안적으로, 손가락이 작게 보이고 스크린으로부터 먼 경우, 스크린 노드가 고정된 크기를 갖는다면, 터치 기반 용량은 다음의 식에 의해 근사화될 수 있다:
[식 1b]
C=
전형적인 실시예들 및 상황들에서, 진정한 터치 기반 용량은 식 1a와 식 1b 사이에 있을 수 있으며, 이는 로서 표현될 수 있다. 따라서, 리지 또는 다른 물리적 구조가 두께(t)를 2배로 하는 경우, 용량(C)은 예를 들어 그 특정 상황에 식 1a가 적합한지 또는 식 1b가 적합한지에 따라 2배 내지 4배만큼 감소된다. 따라서, 시스템은 터치 검출 등과 관련된 펌웨어 복잡을 야기함이 없이, 예를 들어 사용자에게 촉각 느낌을 제공하기 위해, 스크린 내의 리지들, 홈들 및 다른 물리적 구조들을 보상하거나 어드레싱하기 위한 추가적인 터치 처리를 제공할 수 있다.
따라서, 몇몇 실시예들은 터치스크린 커버의 기본 재료(예를 들어, 유리 또는 중합체)와는 상이한 재료를 리지들 또는 다른 정적 위젯 구조들에 대해 사용할 수 있다. 또한, 예를 들어, 위에서 논의된 바와 같이, 위젯 메시징을 관리하기 위해 가상 위젯들이 이용될 수 있다.
도 19는 하나의 예시적인 실시예에 따른, 용량성 센서(1904) 위에 배열된 터치스크린 커버(1902) 내의 예시적인 리지 타입 정적 위젯(1900)의 예시적인 구조를 예시한다. 리지 타입 정적 위젯(1900)은 터치스크린 커버(1902) 내에 형성된 홈(1920) 내에 형성된 인서트(insert)로서 구현될 수 있다.
상기의 식 1a 및 식 1b에 따르면, 높은 유전 상수( r)의 효과는 용량성 결합에 있어서의 변화이다.
터치가 플랫하게 보이는 상황에 대해, 식 1a에 기초하여, 그리고 터치스크린 커버의 기본 재료가 유전 상수( rc)를 갖고 리지 재료가 유전 상수( rr)를 갖는 도 19에 도시된 예시적인 구조를 참조하면, 평균 유전 상수는 다음과 같이 표현될 수 있으며:
[식 2a]
이는 다음의 경우에 전체에 걸쳐 일정하게 유지될 수 있다:
[식 2b]
그러나, 터치 응답이 식 1b: C= 인 경향이 있는 경우(예를 들어, 손가락이 작게 보이고 스크린으로부터 먼 경우), 평균 유전 상수는 다음과 같이 표현될 수 있으며:
[식 3a]
이는 다음의 경우에 전체에 걸쳐 일정하게 유지될 수 있다:
[식 3b]
따라서, 유전 상수는 터치가 플랫하게 보이는지(식 1a가 적용되는 경우) 또는 그렇지 않은지(식 1b가 적용되는 경우)에 관계없이 전체에 걸쳐 일정하게 유지될 수 있다. 상이한 유전 상수들의 존재는 리지 인서트에 사용되는 특정 재료(들)(선택된 유전 상수(들)를 가짐)를 선택함으로써, 원하는 바에 따라, 정적 위젯의 영역에서의 터치 응답을 향상시키거나 감소시키는 데 사용될 수 있다.
예를 들어, 커버 기본 재료 및 리지 타입 위젯의 리지 재료는 리지 재료 유전 상수( rr)가 커버 기본 재료 유전 상수( rc)보다 크거나 작도록 선택될 수 있다. 몇몇 실시예들에서, 리지(즉, 두께(t)를 갖는 커버 재료)로부터 제거된 스크린의 기준 영역에 비해 리지 상의 하나 이상의 위치에서 향상된, 중립적인, 또는 감소된 용량성 터치 검출 감도를 제공하기 위해 스크린 커버 재료, 리지 재료, 리지의 형상, 리지 높이(r), 리지 깊이(h), 리지 두께(예를 들어, 가장 두꺼운 지점에서의 두께(t r = h+r)), 기준선 커버 두께(t cb ), 및/또는 리지 아래의 감소된 커버 두께(t cb ) 중 임의의 것을 포함하는 용량 관련 파라미터들의 세트가 집합적으로 선택될 수 있다.
예를 들어, 모든 용량 관련 파라미터들 중 임의의 것은 리지 상의 모든 지점들/영역들에서 (기준 영역에 비해) 향상된 용량 또는 감소된 용량을 제공하도록 선택될 수 있다. 다른 예로서, 모든 용량 관련 파라미터들 중 임의의 것은 리지 상의 선택된 지점들/영역들에서 향상된 용량을, 그러나 리지 상의 다른 지점들/영역들에서 중립적인 또는 감소된 용량을, 또는 그 반대를 제공하도록 선택될 수 있다. 예를 들어, 도 19를 참조하면, 커버 재료, 기준선 커버 두께(t br ), 감소된 커버 두께(t cr ), 리지 재료, 리지 형상 및 리지 두께(t r )는 1910으로 표시된 리지의 중심 지점 또는 영역에서 향상된 용량을, 그러나 1912로 표시된 리지의 측방향 에지들 부근에서 중립적인 또는 감소된 용량을 제공하도록 선택될 수 있다.
하나의 예시적인 실시예에서, 도 19에 도시된 예시적인 리지 타입 정적 위젯(1900)은 리지(1900)에 걸쳐 일정한 또는 실질적으로 일정한 터치 용량을 제공하기 위해 스크린 커버(1902)보다 높은 유전 상수를 갖는 재료(들)로부터 형성될 수 있다.
일 실시예에서, 예를 들어 로터를 정의하는 리지 타입 정적 위젯은 변화하는 각도 유전 상수를 가질 수 있으며, 따라서 일부 위치들에서 터치가 더 크게 보이고(높은 유전 상수), 다른 위치들에서 터치가 더 작게 보여(낮은 유전 상수), 그에 의해 상이한 위젯 위치들 간의 구별을 향상시킨다.
하나의 예시적인 실시예에서, 터치스크린 커버(1902)는 유전 상수( rc = 3.5)를 갖는 중합체로부터 형성되고, 리지 인서트는 약 8(예를 들어, 7 내지 8.5)의 유전 상수( rr)를 갖는 유리로부터 형성된다. 예를 들어, 리지 인서트는 강화 유리, 예를 들어 코닝(Corning)(등록상표)에 의한 고릴라(Gorilla)(등록상표) 유리 또는 관련 처리 속도들에서 7 내지 8.5(예를 들어, 7.75)의 유전 상수를 갖는 임의의 유사한 유리 제품으로부터 형성될 수 있다.
또한, 몇몇 실시예들에서, 정적 위젯은, 정적 위젯의 전체적인 터치 감지 응답을 제어하기 위해, 예를 들어 상이한 유전 상수들을 갖는 다수의 상이한 재료로부터 형성된 다수의 층, 섹션 또는 영역을 포함할 수 있다. 예를 들어, 정적 위젯은 (예를 들어, 유리 또는 중합체로부터 형성된) 기본 커버 층 위에 형성되거나, 그 안에 삽입되거나, 달리 그에 고정될 수 있고, 제1 유전 상수를 갖는 제1 재료로부터 형성되는 중심 또는 주 영역, 및 제1 유전 상수와는 상이한(그보다 크거나 작은) 제2 유전 상수를 갖는 제2 재료로부터 형성되는 하나 이상의 보조 영역을 포함할 수 있으며, 여기서 제1 및 제2 유전 상수들 각각은 기본 커버 층 재료와 동일할 수 있다.
도 20은 하나의 예시적인 실시예에 따른, 용량성 센서(2004) 위에 배열된 터치스크린 커버(2002) 내의 예시적인 리지 타입 정적 위젯(2000)을 예시한다. 리지 타입 정적 위젯(2000)은 도 19에 도시되고 위에서 논의된 리지 타입 정적 위젯(1900)과 대체로 유사할 수 있지만, 한 쌍의 에지 리지 컴포넌트 또는 영역(2012A 및 2012B) 사이에 형성된 중심 리지 컴포넌트 또는 영역(2010)을 포함하는 멀티 컴포넌트 인서트로서 형성될 수 있다. 중심 리지 컴포넌트 또는 영역(2010)은 제1 유전 상수를 갖는 제1 재료로부터 형성될 수 있는 반면, 에지 리지 컴포넌트들 또는 영역들(2012A 및 2012B)은 제1 유전 상수와는 상이한(그보다 크거나 작은) 제2 유전 상수를 갖는 제2 재료로부터 형성될 수 있다. 제1 및 제2 재료들 각각은 기본 커버 층(2002)의 재료와 동일하거나 상이할 수 있다. 또한, 제1 및 제2 재료들의 제1 및 제2 유전 상수들 각각은 기본 커버 층 재료의 유전 상수들과 동일하거나 상이할 수 있다(그보다 크거나 작을 수 있다).
도 20에 도시된 예시적인 실시예에서, 터치스크린 커버 층(2002)은 유전 상수( rc = 3.5)를 갖는 중합체로부터 형성되고, 리지 타입 정적 위젯(2000)은 (b) 기본 커버 층(2002)과 동일한 그리고 이에 따라 유전 상수( rr1 = 3.5)를 갖는 중합체로부터 형성된 한 쌍의 측방향 측부 영역(2012A 및 2012B) 사이에 형성된, (a) 강화 유리(예를 들어 코닝(등록상표)에 의한 고릴라(등록상표) 유리 또는 유전 상수( rr2 = 약 8(예컨대, 7 내지 8.5))를 갖는 것으로 위에서 논의된 바와 같은 임의의 유사한 유리 제품)로부터 형성된 중심 리지 컴포넌트(2010)를 포함하는 멀티 컴포넌트 인서트로서 형성된다.
다른 실시예들에서, 멀티 컴포넌트 정적 위젯이 도 19 및 도 20에 도시된 예들에서와 같이 측방향으로와는 대조적으로 서로에 대해 수직으로(예를 들어, 스택 형태로) 배열된 다수의 층 또는 컴포넌트로 형성될 수 있다.
본 명세서에 설명된 기능 유닛들 중 많은 것이 그들의 구현 독립성을 보다 특별히 강조하기 위해 모듈, 스레드, 또는 프로그래밍 코드의 다른 분리로서 예시되거나, 설명되거나, 라벨링될 수 있다. 모듈들은 하드웨어로, 하나의 형태로 또는 다른 형태로 적어도 부분적으로 구현될 수 있다. 예를 들어, 모듈은 맞춤형 VLSI 회로 또는 게이트 어레이, 기성(off-the-shelf) 반도체, 예컨대 논리 칩, 트랜지스터, 또는 다른 별개의 컴포넌트를 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈은 또한 프로그래밍 가능 하드웨어 디바이스, 예컨대 필드 프로그래밍 가능 게이트 어레이, 프로그래밍 가능 어레이 논리, 프로그래밍 가능 논리 디바이스 등으로 구현될 수 있다.
모듈들은 또한 소프트웨어 또는 펌웨어를 사용하여 구현되고, 다양한 타입의 프로세서에 의한 실행을 위해 물리적 저장 디바이스(예를 들어, 컴퓨터 판독 가능 저장 매체)에, 메모리에, 또는 이들의 조합에 저장될 수 있다.
실행 가능 코드의 식별된 모듈은, 예를 들어, 컴퓨터 명령어의 하나 이상의 물리적 또는 논리 블록을 포함할 수 있는데, 이들은 예를 들어 스레드, 객체, 절차, 또는 기능으로서 편성될 수 있다. 그럼에도 불구하고, 식별된 모듈의 실행 가능 코드는 물리적으로 함께 위치될 필요가 없지만, 함께 논리적으로 연결될 때, 모듈을 포함하고 모듈에 대한 진술된 목적을 달성하는, 상이한 위치들에 저장된 이질적 명령어들을 포함할 수 있다.
실제로, 실행 가능 코드의 모듈은 단일 명령어 또는 많은 명령어들일 수 있으며, 심지어 여러 상이한 코드 세그먼트들에 걸쳐, 상이한 프로그램들 사이에, 그리고 여러 저장 또는 메모리 디바이스들에 걸쳐 분산될 수 있다. 유사하게, 연산 데이터는 본 명세서에서 모듈들 내에서 식별되고 예시될 수 있으며, 임의의 적합한 형태로 구현되고 임의의 적합한 타입의 데이터 구조 내에 조직화될 수 있다. 연산 데이터는 단일 데이터 세트로서 수집될 수 있거나, 상이한 저장 디바이스들에 걸쳐를 비롯해 상이한 위치들에 걸쳐 분산될 수 있으며, 적어도 부분적으로, 단지 시스템 또는 네트워크 상의 전자 신호들로서 존재할 수 있다. 모듈 또는 모듈의 부분들이 소프트웨어로 구현되는 경우, 소프트웨어 부분들은 본 명세서에서 컴퓨터 판독 가능 매체로 지칭되는 하나 이상의 물리적 디바이스에 저장된다.
몇몇 실시예들에서, 소프트웨어 부분들은 비일시적 상태로 저장되며, 따라서 소프트웨어 부분들 또는 그들의 표현들이 소정 기간 동안 동일한 물리적 위치에 존속한다. 또한, 몇몇 실시예들에서, 소프트웨어 부분들은 소프트웨어 부분들을 나타내는 비일시적 상태들 및/또는 신호들을 저장할 수 있는 하드웨어 요소들을 포함하는 하나 이상의 비일시적 저장 디바이스들에 저장된다 - 비일시적 저장 디바이스들의 다른 부분들이 신호들을 변경하고/하거나 송신하는 것이 가능할 수 있을지라도 -. 비일시적 저장 디바이스들의 예들은 플래시 메모리 및 랜덤 액세스 메모리(RAM)이다. 비일시적 저장 디바이스의 다른 예는 소정 기간 동안 소프트웨어 부분들을 나타내는 신호들 및/또는 상태들을 저장할 수 있는 판독 전용 메모리(ROM)를 포함한다. 그러나, 신호들 및/또는 상태들을 저장하는 능력은 저장된 신호들 및/또는 상태들과 동일하거나 그들을 나타내는 신호들을 송신하는 추가 기능에 의해 감소되지 않는다. 예를 들어, 프로세서는 대응하는 소프트웨어 명령어들을 실행하기 위해 저장된 신호들 및/또는 상태들을 나타내는 신호들을 획득하기 위해 ROM에 액세스할 수 있다.
본 개시가 소정의 예시된 실시예들과 관련하여 본 명세서에서 설명되었지만, 이 분야의 통상의 기술자는 본 발명이 그런 식으로 제한되지 않는다는 것을 인지 및 인식할 것이다. 오히려, 예시되고 설명된 실시예들에 대한 많은 추가, 삭제 및 수정이 그의 법적 등가물과 함께 이하에서 청구되는 바와 같은 본 발명의 범위로부터 벗어남이 없이 이루어질 수 있다. 또한, 하나의 실시예로부터의 특징들은 본 발명자들에 의해 고려되는 바와 같은 본 발명의 범위 내에 여전히 포함되면서 다른 실시예의 특징들과 조합될 수 있다.

Claims (15)

  1. 터치스크린 시스템으로서,
    유전 상수 및 표면을 갖는 제1 재료로부터 형성된 터치스크린 커버 층; 및
    상기 터치스크린 커버 층에 결합되거나 상기 터치스크린 커버 층 내에 형성되고 손가락에 촉각 피드백을 제공하는 비평면 표면 텍스처를 정의하는 촉각 구조 - 상기 촉각 구조는 상기 터치스크린 커버 층의 상기 제1 재료와는 상이한 유전 상수를 갖는 적어도 하나의 제2 재료로부터 형성되고, 상기 터치스크린 커버 층의 표면과 비평면 표면 텍스처가 터치될 수 있는 외부 표면임 - 를 포함하는, 터치스크린 시스템.
  2. 제1항에 있어서, 상기 터치스크린 커버 층 아래에 배열되고, 상기 촉각 구조 상의 터치들 및 상기 터치스크린 커버 층의 다른 영역들 상의 터치들을 검출하도록 구성된 용량성 센서를 추가로 포함하는, 터치스크린 시스템.
  3. 제1항에 있어서, 상기 터치스크린 커버 층 아래에 있고, 상기 촉각 구조와 대응하는 위치에 가상 사용자 인터페이스 요소를 포함하는 그래픽 사용자 인터페이스를 디스플레이하도록 구성된 터치스크린 디스플레이 요소를 추가로 포함하는, 터치스크린 시스템.
  4. 제1항에 있어서, 상기 터치스크린 커버 층 아래에 있고, 상기 촉각 구조와 대응하는 위치에 가상 위젯을 포함하는 그래픽 사용자 인터페이스를 디스플레이하도록 구성된 터치스크린 디스플레이 요소를 추가로 포함하는, 터치스크린 시스템.
  5. 제1항에 있어서, 상기 촉각 구조는 상기 터치스크린 커버 층의 상기 제1 재료보다 높은 유전 상수를 갖는 적어도 하나의 제2 재료로부터 형성되는, 터치스크린 시스템.
  6. 제1항에 있어서, 상기 촉각 구조는 터치스크린 커버 층의 제1 재료보다 낮은 유전 상수를 갖는 적어도 하나의 제2 재료로부터 형성되는, 터치스크린 시스템.
  7. 제1항에 있어서, 촉각 구조는 상이한 유전 상수를 갖는 두 개의 상이한 물질로부터 형성되는, 터치스크린 시스템.
  8. 제1항에 있어서, 상기 촉각 구조는 리지(ridge) 또는 범프(bump)를 정의하는, 터치스크린 시스템.
  9. 청구항 제1항 또는 제2항에 따르는 터치스크린 시스템을 갖는 사용자 인터페이스 시스템으로서,
    상기 터치스크린 커버 층 아래에 있고, 상기 촉각 구조와 대응하는 위치에 가상 사용자 인터페이스 요소를 포함하는 그래픽 사용자 인터페이스(GUI)를 디스플레이하도록 구성된 터치스크린 디스플레이 요소; 및
    상기 가상 사용자 인터페이스 요소의 위치에서 터치를 식별하고, 상기 가상 사용자 인터페이스 요소를 식별하고, 상기 가상 사용자 인터페이스 요소와 연관된 액션을 개시하도록 구성된 프로세서를 포함하는, 사용자 인터페이스 시스템.
  10. 제9항에 있어서, 상기 프로세서는 마이크로컨트롤러 내에 제공되는, 사용자 인터페이스 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020207005378A 2017-10-24 2018-10-24 촉각 피드백 구조들 및 대응하는 가상 사용자 인터페이스 요소들을 포함하는 터치스크린 KR102627023B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762576383P 2017-10-24 2017-10-24
US201762576563P 2017-10-24 2017-10-24
US62/576,563 2017-10-24
US62/576,383 2017-10-24
US16/165,241 2018-10-19
US16/165,241 US10747404B2 (en) 2017-10-24 2018-10-19 Touchscreen including tactile feedback structures and corresponding virtual user interface elements
PCT/US2018/057208 WO2019084082A1 (en) 2017-10-24 2018-10-24 TOUCH SCREEN COMPRISING TOUCH FEEDBACK STRUCTURES AND CORRESPONDING VIRTUAL USER INTERFACE ELEMENTS

Publications (2)

Publication Number Publication Date
KR20200071722A KR20200071722A (ko) 2020-06-19
KR102627023B1 true KR102627023B1 (ko) 2024-01-18

Family

ID=66169316

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207005377A KR102556638B1 (ko) 2017-10-24 2018-10-23 구성 가능한 가상 위젯들을 포함하는 터치 감지 사용자 인터페이스
KR1020207005378A KR102627023B1 (ko) 2017-10-24 2018-10-24 촉각 피드백 구조들 및 대응하는 가상 사용자 인터페이스 요소들을 포함하는 터치스크린

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207005377A KR102556638B1 (ko) 2017-10-24 2018-10-23 구성 가능한 가상 위젯들을 포함하는 터치 감지 사용자 인터페이스

Country Status (7)

Country Link
US (2) US10866697B2 (ko)
JP (2) JP7181929B2 (ko)
KR (2) KR102556638B1 (ko)
CN (2) CN111052060B (ko)
DE (2) DE112018005206T5 (ko)
TW (2) TWI787372B (ko)
WO (2) WO2019084002A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330544B2 (en) * 2012-11-20 2016-05-03 Immersion Corporation System and method for simulated physical interactions with haptic effects
DE102017214941A1 (de) 2017-08-25 2019-02-28 Dometic Sweden Ab Freizeitfahrzeug, Kühlvorrichtung, Steuerungssystem und Verfahren zur Steuerung der Kühlvorrichtung
USD936665S1 (en) * 2018-11-21 2021-11-23 Biosense Webster (Israel) Ltd. Portion of a computer screen with a graphical user interface
US11126341B2 (en) * 2019-02-21 2021-09-21 Htc Corporation Object manipulating method, host device and computer readable storage medium
USD919633S1 (en) * 2019-05-14 2021-05-18 Rasimo Systems LLC Display screen with graphics
TWI807372B (zh) * 2020-07-21 2023-07-01 美商酷比公司 虛擬化用戶介面設備
JP7432746B2 (ja) 2020-09-08 2024-02-16 アルプスアルパイン株式会社 入力装置
US11385777B2 (en) 2020-09-14 2022-07-12 UiPath, Inc. User interface (UI) mapper for robotic process automation
EP3971691A1 (en) * 2020-09-18 2022-03-23 Dometic Sweden AB A recreational vehicle user interface
CN112596612A (zh) 2020-12-28 2021-04-02 北京小米移动软件有限公司 触感反馈生成方法、触感反馈生成装置及存储介质
US11662822B1 (en) * 2021-12-20 2023-05-30 Huawei Technologies Co., Ltd. Systems and methods for generating pseudo haptic feedback
CN114911383A (zh) * 2022-06-02 2022-08-16 亿咖通(湖北)技术有限公司 窗口显示方法和车载终端
CN117608424B (zh) * 2024-01-24 2024-04-12 江苏锦花电子股份有限公司 一种基于物联网的触摸式旋钮屏管控系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140240253A1 (en) 2013-02-28 2014-08-28 Samsung Electronics Co., Ltd. Method of detecting protection case and electronic device thereof
US20170256144A1 (en) 2016-03-07 2017-09-07 Immersion Corporation Systems and Methods for Haptic Surface Elements

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004221757A (ja) * 2003-01-10 2004-08-05 Renesas Technology Corp 動き検出装置及び探索領域形状可変動き検出器
GB0313808D0 (en) * 2003-06-14 2003-07-23 Binstead Ronald P Improvements in touch technology
EP1774427A2 (en) * 2004-07-30 2007-04-18 Apple Computer, Inc. Mode-based graphical user interfaces for touch sensitive input devices
US7657100B2 (en) * 2005-05-09 2010-02-02 Like.Com System and method for enabling image recognition and searching of images
US8578282B2 (en) * 2006-03-15 2013-11-05 Navisense Visual toolkit for a virtual user interface
CN104965621B (zh) * 2006-06-09 2018-06-12 苹果公司 触摸屏液晶显示器及其操作方法
US7791594B2 (en) * 2006-08-30 2010-09-07 Sony Ericsson Mobile Communications Ab Orientation based multiple mode mechanically vibrated touch screen display
US20090115734A1 (en) * 2007-11-02 2009-05-07 Sony Ericsson Mobile Communications Ab Perceivable feedback
AR064377A1 (es) * 2007-12-17 2009-04-01 Rovere Victor Manuel Suarez Dispositivo para sensar multiples areas de contacto contra objetos en forma simultanea
US8928621B2 (en) * 2008-01-04 2015-01-06 Tactus Technology, Inc. User interface system and method
US9557915B2 (en) * 2008-01-04 2017-01-31 Tactus Technology, Inc. Dynamic tactile interface
US8456438B2 (en) * 2008-01-04 2013-06-04 Tactus Technology, Inc. User interface system
US8547339B2 (en) * 2008-01-04 2013-10-01 Tactus Technology, Inc. System and methods for raised touch screens
US8553005B2 (en) * 2008-01-04 2013-10-08 Tactus Technology, Inc. User interface system
US8243038B2 (en) * 2009-07-03 2012-08-14 Tactus Technologies Method for adjusting the user interface of a device
US8004501B2 (en) * 2008-01-21 2011-08-23 Sony Computer Entertainment America Llc Hand-held device with touchscreen and digital tactile pixels
US9829977B2 (en) * 2008-04-02 2017-11-28 Immersion Corporation Method and apparatus for providing multi-point haptic feedback texture systems
US8115745B2 (en) * 2008-06-19 2012-02-14 Tactile Displays, Llc Apparatus and method for interactive display with tactile feedback
US8659555B2 (en) * 2008-06-24 2014-02-25 Nokia Corporation Method and apparatus for executing a feature using a tactile cue
TW201005262A (en) * 2008-07-29 2010-02-01 Mitac Int Corp Navigation system
US20100060568A1 (en) * 2008-09-05 2010-03-11 Apple Inc. Curved surface input device with normalized capacitive sensing
US10289199B2 (en) * 2008-09-29 2019-05-14 Apple Inc. Haptic feedback system
JP2010086236A (ja) * 2008-09-30 2010-04-15 Casio Computer Co Ltd タッチパネル
CA2681856A1 (en) * 2008-10-07 2010-04-07 Research In Motion Limited A method and handheld electronic device having a graphic user interface with efficient orientation sensor use
US8245143B2 (en) * 2008-10-08 2012-08-14 Research In Motion Limited Method and handheld electronic device having a graphical user interface which arranges icons dynamically
CA2680666A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited An electronic device having a state aware touchscreen
CA2674663A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited A method and handheld electronic device having dual mode touchscreen-based navigation
US8760413B2 (en) * 2009-01-08 2014-06-24 Synaptics Incorporated Tactile surface
US8279184B2 (en) * 2009-01-27 2012-10-02 Research In Motion Limited Electronic device including a touchscreen and method
WO2010105012A1 (en) * 2009-03-12 2010-09-16 Immersion Corporation Systems and methods for a texture engine
KR20190077113A (ko) * 2009-07-22 2019-07-02 임머숀 코퍼레이션 플랫폼에 걸쳐 햅틱 피드백을 갖는 상호작용 터치 스크린 게임 메타포
US8421761B2 (en) * 2009-08-26 2013-04-16 General Electric Company Imaging multi-modality touch pad interface systems, methods, articles of manufacture, and apparatus
US8730199B2 (en) * 2009-09-04 2014-05-20 Atmel Corporation Capacitive control panel
US20110099498A1 (en) 2009-10-26 2011-04-28 Barkol Omer Graphical user interface hierarchy generation
JP5704428B2 (ja) * 2009-11-18 2015-04-22 株式会社リコー タッチパネル装置及びタッチパネル装置の制御方法
EP2517089A4 (en) * 2009-12-21 2016-03-09 Tactus Technology USER INTERFACE SYSTEM
CN102725716B (zh) * 2009-12-21 2016-04-13 泰克图斯科技公司 用户界面系统
US8619035B2 (en) * 2010-02-10 2013-12-31 Tactus Technology, Inc. Method for assisting user input to a device
EP2559164B1 (en) * 2010-04-14 2014-12-24 Frederick Johannes Bruwer Pressure dependent capacitive sensing circuit switch construction
WO2011133605A1 (en) * 2010-04-19 2011-10-27 Tactus Technology Method of actuating a tactile interface layer
EP2561424B1 (en) 2010-04-23 2019-02-20 Immersion Corporation Systems and methods for providing haptic effects
GB201011146D0 (en) * 2010-07-02 2010-08-18 Vodafone Ip Licensing Ltd Mobile computing device
US8963874B2 (en) * 2010-07-31 2015-02-24 Symbol Technologies, Inc. Touch screen rendering system and method of operation thereof
US8576171B2 (en) * 2010-08-13 2013-11-05 Immersion Corporation Systems and methods for providing haptic feedback to touch-sensitive input devices
US8311514B2 (en) * 2010-09-16 2012-11-13 Microsoft Corporation Prevention of accidental device activation
US20120105354A1 (en) * 2010-10-31 2012-05-03 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Tactile Feedback Cover Lens for a Capacitive Touchscreen System
US20120256862A1 (en) * 2011-04-11 2012-10-11 Kurt Wagner Touchscreen guide
US20120268386A1 (en) * 2011-04-19 2012-10-25 Karamath James Robert Touch-screen device including tactile feedback actuator
US20120284631A1 (en) * 2011-05-02 2012-11-08 German Lancioni Methods to adapt user interfaces and input controls
US8717151B2 (en) * 2011-05-13 2014-05-06 Qualcomm Incorporated Devices and methods for presenting information to a user on a tactile output surface of a mobile device
US20120274596A1 (en) * 2011-07-11 2012-11-01 Ludwig Lester F Use of organic light emitting diode (oled) displays as a high-resolution optical tactile sensor for high dimensional touchpad (hdtp) user interfaces
US9671954B1 (en) * 2011-07-11 2017-06-06 The Boeing Company Tactile feedback devices for configurable touchscreen interfaces
US9778813B2 (en) * 2011-08-09 2017-10-03 Blackberry Limited Manipulating screen layers in multi-layer applications
JP5948074B2 (ja) * 2012-02-13 2016-07-06 株式会社日立ハイテクノロジーズ 画像形成装置及び寸法測定装置
US8493354B1 (en) * 2012-08-23 2013-07-23 Immersion Corporation Interactivity model for shared feedback on mobile devices
US9471185B2 (en) * 2012-02-21 2016-10-18 Atmel Corporation Flexible touch sensor input device
CA2879180A1 (en) * 2012-03-07 2013-09-12 Snap Trends, Inc. Methods and systems of aggregating information of social networks based on geographical locations via a network
US9046972B2 (en) * 2012-03-23 2015-06-02 Nokia Technologies Oy Structure for a tactile display
JP2015520455A (ja) * 2012-05-16 2015-07-16 タクタス テクノロジー, インコーポレイテッドTactus Technology, Inc. ユーザインターフェース及び方法
JP5799908B2 (ja) * 2012-07-13 2015-10-28 株式会社デンソー タッチ式スイッチ装置
KR101916416B1 (ko) * 2012-07-30 2018-11-08 삼성전자주식회사 플렉서블 디스플레이 장치 및 그 디스플레이 방법
KR101427917B1 (ko) * 2012-08-27 2014-08-08 현대자동차 주식회사 변형 가능한 터치 스크린
US9330544B2 (en) * 2012-11-20 2016-05-03 Immersion Corporation System and method for simulated physical interactions with haptic effects
US20140155690A1 (en) * 2012-12-05 2014-06-05 Ralph Clinton Morton Touchscreen Cunnilingus Training Simulator
US9323327B2 (en) * 2012-12-22 2016-04-26 Intel Corporation System and method for providing tactile feedback
KR102052153B1 (ko) * 2013-02-15 2019-12-17 삼성전자주식회사 보청기를 제어하는 휴대 단말 및 방법
KR102090964B1 (ko) * 2013-02-22 2020-03-19 삼성전자주식회사 터치 스크린에 디스플레이되는 아이콘을 제어하는 휴대 단말 및 방법
US9367938B2 (en) * 2013-02-28 2016-06-14 Nokia Technologies Oy Method and apparatus for automated real-time detection of overlapping painted markup elements
US9298324B1 (en) * 2013-03-11 2016-03-29 Amazon Technologies, Inc. Capacitive touch with tactile feedback
US9361074B2 (en) * 2013-03-15 2016-06-07 Keysight Technologies, Inc. Method for creating a user interface
KR20160003031A (ko) * 2013-04-26 2016-01-08 임머숀 코퍼레이션 햅틱 셀들의 어레이를 이용한 유형의 사용자 인터페이스 상호작용들 및 제스처들의 시뮬레이션
US9470919B2 (en) * 2013-05-14 2016-10-18 Microsoft Technology Licensing, Llc Methods for producing a glass-based non planar digital display
KR20140137616A (ko) * 2013-05-23 2014-12-03 삼성전자주식회사 다자간 대화를 제어하는 휴대 단말 및 방법
US9182864B2 (en) * 2013-06-03 2015-11-10 Rajkumari Mohindra Pressure sensitive projected capacitive touch sensing
US10120447B2 (en) * 2013-06-24 2018-11-06 Northwestern University Haptic display with simultaneous sensing and actuation
KR20150006235A (ko) * 2013-07-08 2015-01-16 삼성전자주식회사 결합된 ui 구성 요소를 제공하는 휴대 장치 및 그 제어 방법
US9092291B1 (en) * 2013-07-11 2015-07-28 Sprint Communications Company L.P. Dynamic updating and renaming virtual pre-installation stub applications
CN103455590B (zh) * 2013-08-29 2017-05-31 百度在线网络技术(北京)有限公司 在触屏设备中进行检索的方法和装置
US9176635B2 (en) * 2013-10-14 2015-11-03 Parade Technologies, Ltd. Virtual buttons for a touch interface
US20150109214A1 (en) * 2013-10-22 2015-04-23 Weidong Shi Methods and Apparatuses of touch-fingerprinting Display
US20150185946A1 (en) * 2013-12-30 2015-07-02 Google Inc. Touch surface having capacitive and resistive sensors
CN103793691A (zh) * 2014-01-28 2014-05-14 深圳市汇顶科技股份有限公司 指纹识别装置及具有其的移动终端
US10453371B2 (en) * 2014-02-07 2019-10-22 Samsung Electronics Co., Ltd. Multi-layer display with color and contrast enhancement
US10170030B2 (en) * 2014-02-07 2019-01-01 Samsung Electronics Company, Ltd. Dual-mode display
US10565925B2 (en) * 2014-02-07 2020-02-18 Samsung Electronics Co., Ltd. Full color display with intrinsic transparency
US10416801B2 (en) * 2014-04-08 2019-09-17 Atmel Corporation Apparatus, controller, and device for touch sensor hand-configuration analysis based at least on a distribution of capacitance values
US10031582B2 (en) * 2014-06-05 2018-07-24 Immersion Corporation Systems and methods for induced electrostatic haptic effects
WO2016002675A1 (ja) * 2014-06-30 2016-01-07 日本電気株式会社 スイッチモジュール、電子機器、および、電子機器の製造方法
US9696806B2 (en) * 2014-07-02 2017-07-04 Immersion Corporation Systems and methods for multi-output electrostatic haptic effects
US9710063B2 (en) * 2014-07-21 2017-07-18 Immersion Corporation Systems and methods for determining haptic effects for multi-touch input
CN104156133B (zh) * 2014-09-01 2017-04-19 深圳市华星光电技术有限公司 一种单层互容式触摸面板及电容式触摸屏
US20160328065A1 (en) * 2015-01-12 2016-11-10 Rockwell Collins, Inc. Touchscreen with Dynamic Control of Activation Force
KR20160088764A (ko) * 2015-01-16 2016-07-26 삼성전자주식회사 플렉서블 디바이스 및 그 동작 방법
JP6251214B2 (ja) * 2015-05-14 2017-12-20 株式会社東芝 電子機器、方法及びプログラム
US10416799B2 (en) * 2015-06-03 2019-09-17 Microsoft Technology Licensing, Llc Force sensing and inadvertent input control of an input device
CN105117245A (zh) * 2015-08-04 2015-12-02 小米科技有限责任公司 卸载应用程序的方法和装置
US9798413B2 (en) * 2015-08-27 2017-10-24 Hand Held Products, Inc. Interactive display
US9874965B2 (en) * 2015-09-11 2018-01-23 Apple Inc. Transparent strain sensors in an electronic device
JP6569415B2 (ja) * 2015-09-15 2019-09-04 株式会社リコー 表示入力装置、画像形成装置及び電子機器と表示制御方法並びにプログラム
KR20170046912A (ko) * 2015-10-22 2017-05-04 삼성전자주식회사 정보 제공 방법 및 이를 지원하는 전자 장치
US10386940B2 (en) * 2015-10-30 2019-08-20 Microsoft Technology Licensing, Llc Touch sensing of user input device
US9875625B2 (en) * 2015-12-18 2018-01-23 Immersion Corporation Systems and methods for multifunction haptic output devices
US20170192457A1 (en) * 2015-12-31 2017-07-06 AAC Technologies Pte. Ltd. Touch panle, haptics touch display using same, and manufacturing method for making same
WO2017172635A1 (en) * 2016-03-31 2017-10-05 Osisoft, Llc Event based data collection, integration, and presentation
US9916032B2 (en) * 2016-05-18 2018-03-13 Honeywell International Inc. System and method of knob operation for touchscreen devices
JP6734937B2 (ja) * 2016-05-18 2020-08-05 センセル インコーポレイテッドSensel,Inc. タッチ入力を検出して確認する方法
CN106200929B (zh) * 2016-06-30 2018-10-30 南京中电熊猫液晶显示科技有限公司 电容式触觉反馈显示装置、工作方法及其检测方法
CN109791961A (zh) * 2016-07-20 2019-05-21 Ib韩国有限公司 具有量子点的发光膜
KR102579132B1 (ko) * 2016-08-02 2023-09-18 삼성전자주식회사 디스플레이를 구비한 전자 장치
KR102535056B1 (ko) * 2016-08-03 2023-05-22 삼성전자 주식회사 전자 장치 및 터치 인식 방법
WO2018034377A1 (ko) * 2016-08-18 2018-02-22 한화테크윈 주식회사 이벤트 검색 시스템, 장치 및 방법
US10372214B1 (en) * 2016-09-07 2019-08-06 Apple Inc. Adaptable user-selectable input area in an electronic device
US10206044B2 (en) * 2016-09-08 2019-02-12 Microsoft Technology Licensing, Llc Display structure having a visual display and an audio output
KR102580327B1 (ko) * 2016-09-09 2023-09-19 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
US10216335B1 (en) * 2016-10-18 2019-02-26 Google Llc Reducing false sensing of touchscreen inputs
US10209804B2 (en) * 2017-01-10 2019-02-19 Rockwell Collins, Inc. Emissive Display over resistive touch sensor with force sensing
US20180275757A1 (en) * 2017-03-23 2018-09-27 Immersion Corporation Systems and methods for in-cell haptics
EP3385831A1 (en) * 2017-04-04 2018-10-10 Lg Electronics Inc. Mobile terminal
US20200159173A1 (en) * 2018-11-19 2020-05-21 Johnson Controls Technology Company Building system with semantic modeling based custom logic generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140240253A1 (en) 2013-02-28 2014-08-28 Samsung Electronics Co., Ltd. Method of detecting protection case and electronic device thereof
US20170256144A1 (en) 2016-03-07 2017-09-07 Immersion Corporation Systems and Methods for Haptic Surface Elements

Also Published As

Publication number Publication date
WO2019084082A1 (en) 2019-05-02
JP2021500677A (ja) 2021-01-07
CN111164549B (zh) 2023-11-03
KR102556638B1 (ko) 2023-07-17
US10866697B2 (en) 2020-12-15
TW201923544A (zh) 2019-06-16
CN111052060A (zh) 2020-04-21
DE112018005206T5 (de) 2020-06-18
WO2019084002A1 (en) 2019-05-02
KR20200071721A (ko) 2020-06-19
JP7181929B2 (ja) 2022-12-01
US10747404B2 (en) 2020-08-18
US20190121500A1 (en) 2019-04-25
TWI816706B (zh) 2023-10-01
TWI787372B (zh) 2022-12-21
KR20200071722A (ko) 2020-06-19
US20190121435A1 (en) 2019-04-25
JP2021500667A (ja) 2021-01-07
CN111052060B (zh) 2023-11-24
JP7269924B2 (ja) 2023-05-09
TW201931076A (zh) 2019-08-01
DE112018004686T5 (de) 2020-06-04
CN111164549A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
KR102627023B1 (ko) 촉각 피드백 구조들 및 대응하는 가상 사용자 인터페이스 요소들을 포함하는 터치스크린
KR102316698B1 (ko) 사용자 인터페이스 요소들을 식별하기 위한 기술들 및 이를 사용하는 시스템들 및 디바이스들
US20120249475A1 (en) 3d user interface control
JP2016157491A (ja) タッチの種類の判別方法及びこれを遂行するタッチ入力装置
WO2014025910A1 (en) Sensor system and method for mapping and creating gestures
US9547381B2 (en) Electronic device and touch sensing method thereof
US9563321B2 (en) Method for detecting background signals of capacitive sensing device
KR102318556B1 (ko) 입력장치 및 그 제어방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant