KR101838811B1 - 키보드 인터페이스 기능성을 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스 - Google Patents

키보드 인터페이스 기능성을 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스 Download PDF

Info

Publication number
KR101838811B1
KR101838811B1 KR1020160132823A KR20160132823A KR101838811B1 KR 101838811 B1 KR101838811 B1 KR 101838811B1 KR 1020160132823 A KR1020160132823 A KR 1020160132823A KR 20160132823 A KR20160132823 A KR 20160132823A KR 101838811 B1 KR101838811 B1 KR 101838811B1
Authority
KR
South Korea
Prior art keywords
keyboard
selection
keys
language
touch sensitive
Prior art date
Application number
KR1020160132823A
Other languages
English (en)
Other versions
KR20170045719A (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 KR20170045719A publication Critical patent/KR20170045719A/ko
Application granted granted Critical
Publication of KR101838811B1 publication Critical patent/KR101838811B1/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/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
    • G06F17/2735
    • 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/018Input/output arrangements for oriental characters
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation

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)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

전자 디바이스는 터치 감응형 디스플레이, 하나 이상의 프로세서, 및 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램을 저장하는 메모리를 갖는다. 하나 이상의 프로그램은 제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제1 세트, 및 위치에 표시되고 제1 기능과 연관된 제1 지정된 키를 포함하는 제1 키보드를 표시하기 위한 명령어들을 포함한다. 제2 키보드를 표시하기 위한 선택을 수신한 것에 응답하여, 하나 이상의 프로그램은 제2 키보드 - 제2 키보드는 키들의 제2 세트, 및 위치에 표시되고 제1과 상이한 제2 기능과 연관된 제2 지정된 키를 포함함 - 를 표시하기 위한 명령어들을 추가로 포함한다. 제2 기능은 키보드들 사이에서 토글한다. 키들의 제2 세트 중 임의의 키의 선택이 제1과 상이한 제2 언어에 대응하는 하나 이상의 문자를 표시한다.

Description

키보드 인터페이스 기능성을 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스{DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR KEYBOARD INTERFACE FUNCTIONALITIES}
본 발명은 일반적으로, 키보드 인터페이스 기능성을 제공하는 터치 감응형 표면을 갖는 전자 디바이스들을 포함하지만 이로 제한되지 않는, 터치 감응형 표면을 갖는 전자 디바이스들에 관한 것이다.
휴대용 전자 디바이스가 진화하고 이러한 디바이스에 의해 수행되는 기능의 수가 증가함에 따라, 특히 키보드 기능성들에 관해 사용자들이 다기능 디바이스와 용이하게 상호작용하도록 허용하는 사용자 인터페이스를 달성하는 것이 상당한 부담으로 남는다. 이는 디스플레이의 크기는 다양해지는 반면 인터페이스는 유사하게 유지되고 있는 터치 감응형 디스플레이를 갖는 핸드헬드 휴대용 장치에 특히 중요하다. 일부 인터페이스는 사용자에 의해 암기되어야 하는 소정 기능성들을 달성하기 위한 복잡한 키 시퀀스 및 메뉴 계층을 생성하여, 이러한 디바이스들의 접근성 및 활용을 어렵게할 수 있다. 사용자가 그들의 손으로 디바이스의 각각의 측면을 쥐고 키보드 상에 타이핑을 하고, 그들의 엄지를 이용해 타이핑하기에 디스플레이가 지나치게 큰 일부의 경우들에서, 키보드 인터페이스는 사용자 입력에 이상적이지 않다. 따라서, 가장 편리한 사용자 인터페이스는 플렉시블한 것으로 휴대용 전자 디바이스 상의 모든 동작에 대해 단일의 인터페이스를 제공한다.
이에 따라, 키보드 인터페이스 기능성을 위한 보다 빠르고 보다 효율적인 방법들 및 인터페이스들을 갖는 전자 디바이스들이 필요하다.
본 발명의 실시예들은 종래의 터치 스크린 입력 인터페이스를 보완하거나 대체하는 방법들 및 인터페이스들, 및 이들과 인터페이싱하기 위한 방법들을 제공한다.
터치 감응형 표면을 갖는 전자 디바이스용 사용자 인터페이스들과 연관된 상기 결함들 및 다른 문제들은 개시된 디바이스들에 의해 감소되거나 제거된다. 일부 실시예들에서, 디바이스는 데스크톱 컴퓨터이다. 일부 실시예들에서, 디바이스는 휴대용(예컨대, 노트북 컴퓨터, 태블릿 컴퓨터, 또는 핸드헬드 디바이스)이다. 일부 실시예들에서, 디바이스는 개인용 전자 디바이스(예컨대, 워치와 같은 웨어러블 전자 디바이스)이다. 일부 실시예들에서, 디바이스는 터치패드를 갖는다. 일부 실시예들에서, 디바이스는 그래픽 사용자 인터페이스(GUI), 하나 이상의 프로세서, 메모리, 및 다수의 기능을 수행하기 위해 메모리에 저장된 하나 이상의 모듈, 프로그램 또는 명령어들의 세트를 갖는다. 일부 실시예들에서, 사용자는 주로 터치 감응형 표면 상의 스타일러스 및/또는 손가락 접촉들 및 제스처들을 통해 GUI와 상호작용한다. 일부 실시예들에서, 기능은 편집, 그리기, 제시하기, 워드 프로세싱, 스프레드시트 생성, 게임하기, 전화걸기/전화하기, 비디오 회의, 이-메일, 인스턴트 메시지, 피트니스 지원, 디지털 사진, 디지털 비디오, 브라우징, 디지털 음악 재생, 메모하기, 및/또는 디지털 비디오 재생을 옵션적으로 포함한다. 이러한 기능들을 수행하기 위한 실행가능한 명령어들은 옵션적으로, 비일시적 컴퓨터 판독가능 저장 매체 또는 하나 이상의 프로세서에 의한 실행을 위해 구성된 다른 컴퓨터 프로그램 제품에 포함된다.
일부 실시예들에 따르면, 방법이 터치 감응형 디스플레이를 갖는 전자 디바이스에서 수행된다. 방법은 터치 감응형 디스플레이 상의 제1 키보드(가상 키보드)를 표시하는 단계를 포함한다. 제1 키보드는 터치 감응형 디스플레이 상의 위치에 표시된 제1 언어 및 제1 지정된 키와 연관된 문자들의 세트에 대응하는 키들의 제1 세트를 포함한다. 제1 지정된 키는 제1 기능과 연관된다. 제1 키보드는 키들의 제1 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다. 방법은 또한 제2 키보드를 표시하기 위한 선택을 수신하는 단계를 포함한다. 이어서, 선택을 수신한 단계에 응답하여, 터치 감응형 디스플레이 상에 제2 키보드가 표시된다. 제2 키보드는 위치에 표시된 제1 언어 및 제2 지정된 키와 연관된 문자들의 세트에 대응하는 키들의 제2 세트를 포함한다. 제2 지정된 키는 제1 기능과 상이한 제2 기능과 연관된다. 제2 기능은 제2 키보드 및 제3 키보드를 포함하는 키보드들 사이에서 토글 기능한다. 제2 키보드는 키들의 제2 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어와 상이한 제2 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다.
일부 실시예들에 따르면, 방법이 터치 감응형 디스플레이를 갖는 전자 디바이스에서 수행된다. 방법은 영숫자(alphanumeric) 키, 및 영숫자 키 위에 또는 아래에 배치된 하나 이상의 키보드 옵션의 행을 포함하는 가상 키보드를 표시하는 단계를 포함한다. 방법은 또한 부가적 키보드 옵션들이 이용 가능한지 여부를 결정하는 단계를 포함한다. 이어서, 부가적 키보드 옵션들이 이용 가능하다는 결정에 따라, 방법은 행 내의 부가적 키보드 옵션 어포던스를 표시하는 단계를 포함한다. 이어서 부가적 키보드 옵션 어포던스의 선택의 검출시, 방법은 하나 이상의 키보드 옵션 중 적어도 일부를 표시하기를 중단하고 행 내의 부가적 키보드 옵션들 중 적어도 일부를 표시하는 단계를 포함한다.
일부 실시예들에 따르면, 디스플레이 및 터치 감응형 표면을 갖는 전자 디바이스에서 방법이 수행된다. 방법은 제1 크기의 영역을 점유하는 제1 복수의 가상 키를 포함하는 제1 가상 키보드를 표시하는 단계를 포함한다. 제1 복수의 가상 키는 전용 멀티-키보드 키를 포함한다. 이어서, 전용 멀티-키보드 키의 선택의 검출시, 방법은 제1 가상 키보드를 표시하기를 중단하고, 제2 가상 키보드를 표시하는 단계를 포함한다. 제2 가상 키보드는 제2 복수의 가상 키; 및 제2 복수의 가상 키에 인접한 개별적 사용자 입력 영역을 포함한다. 제2 복수의 가상 키는 제1 크기 미만의 제2 크기를 갖는 영역을 점유한다.
일부 실시예들에 따르면, 디스플레이 및 터치 감응형 표면을 갖는 전자 디바이스에서 방법이 수행된다. 방법은 터치 감응형 디스플레이 상에 가상 키보드를 표시하는 단계를 포함한다. 이어서, 제스처를 검출하는 것에 응답하여, 방법은 가상 키보드의 표시하기를 중단하고, 터치 감응형 디스플레이의 수직 에지에 인접하게 배치된 컴팩트 가상 키보드를 표시하는 단계를 포함한다. 컴팩트 가상 키보드는 가상 키보드보다 작다.
일부 실시예들에 따르면, 전자 디바이스는 사용자 인터페이스를 표시하고 사용자 접촉을 수신하도록 구성된 터치 감응형 디스플레이 유닛 및 터치 감응형 디스플레이 유닛에 연결된 프로세싱 유닛을 포함한다. 프로세싱 유닛은 터치 감응형 디스플레이 상의 제1 키보드의 표시를 인에이블하도록 구성된다. 제1 키보드는 터치 감응형 디스플레이 상의 위치에 표시된, 제1 기능과 연관된 제1 언어 및 제1 지정된 키와 연관된 문자들의 세트에 대응하는 키들의 제1 세트를 포함한다. 제1 키보드는 키들의 제1 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다. 프로세싱 유닛은 제2 키보드의 표시를 인에이블하기 위한 선택을 수신하도록 추가로 구성된다. 선택을 수신한 것에 응답하여, 프로세싱 유닛은 터치 감응형 디스플레이 상의 제2 키보드의 표시를 인에이블한다. 제2 키보드는 위치에 표시된 제1 언어 및 제2 지정된 키와 연관된 문자들의 세트에 대응하는 키들의 제2 세트를 포함한다. 제2 지정된 키는 제1 기능과 상이한 제2 기능과 연관된다. 제2 기능은 제2 키보드 및 제3 키보드를 포함하는 키보드들 사이에서 토글 기능한다. 제2 키보드는 키들의 제2 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어와 상이한 제2 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다.
일부 실시예들에 따르면, 전자 디바이스는 사용자 인터페이스를 표시하고 사용자 접촉을 수신하도록 구성된 터치 감응형 디스플레이 유닛, 및 터치 감응형 디스플레이 유닛에 연결된 프로세싱 유닛을 포함한다. 프로세싱 유닛은 영숫자 키, 및 영숫자 키 위에 또는 아래에 배치된 하나 이상의 키보드 옵션의 행을 포함하는 가상 키보드의 표시를 인에이블하도록 구성된다. 프로세싱 유닛은 부가적 키보드 옵션이 이용 가능한지 여부를 결정하도록 추가로 구성된다. 부가적 키보드 옵션들이 이용 가능하다는 결정에 따라, 프로세싱 유닛은 행 내에 부가적 키보드 옵션 어포던스의 표시를 인에이블하도록 추가로 구성된다. 부가적 키보드 옵션 어포던스의 선택의 검출시, 프로세싱 유닛은 하나 이상의 키보드 옵션 중 적어도 일부를 표시하기를 중단하고 행 내의 부가적 키보드 옵션들 중 적어도 일부를 표시하도록 추가로 구성된다.
일부 실시예들에 따르면, 전자 디바이스는 사용자 인터페이스를 표시하고 사용자 접촉을 수신하도록 구성된 터치 감응형 디스플레이 유닛, 및 터치 감응형 디스플레이 유닛에 연결된 프로세싱 유닛을 포함한다. 프로세싱 유닛은 제1 크기의 영역을 점유하는 제1 복수의 가상 키를 포함하는 제1 가상 키보드의 표시를 인에이블하도록 구성된다. 제1 복수의 가상 키는 전용 멀티-키보드 키를 포함한다. 전용 멀티-키보드 키의 선택의 검출시, 프로세싱 유닛은 제1 가상 키보드의 표시를 인에이블하기를 중단하고, 제2 가상 키보드의 표시를 인에이블하도록 추가로 구성된다. 제2 가상 키보드는 제2 복수의 가상 키; 및 제2 복수의 가상 키에 인접한 개별적 사용자 입력 영역을 포함한다. 제2 복수의 가상 키는 제1 크기 미만의 제2 크기를 갖는 영역을 점유한다.
일부 실시예들에 따르면, 전자 디바이스는 사용자 인터페이스를 표시하고 사용자 접촉을 수신하도록 구성된 터치 감응형 디스플레이 유닛, 및 터치 감응형 디스플레이 유닛에 연결된 프로세싱 유닛을 포함한다. 프로세싱 유닛은 터치 감응형 디스플레이 유닛 상의 가상 키보드의 표시를 인에이블하도록 구성된다. 제스처를 검출한 것에 응답하여, 프로세싱 유닛은 가상 키보드의 표시를 인에이블하기를 중단하고, 터치 감응형 디스플레이의 유닛의 수직 에지에 인접하게 배치된 컴팩트 가상 키보드(compact virtual keyboard)의 표시를 인에이블하도록 추가로 구성된다. 컴팩트 가상 키보드는 가상 키보드보다 작다.
일부 실시예들에 따르면, 전자 디바이스는, 디스플레이, 터치 감응형 표면, 옵션적으로 터치 감응형 표면과의 접촉들의 세기를 검출하는 하나 이상의 센서, 하나 이상의 프로세서, 메모리 및 하나 이상의 프로그램을 포함하며; 하나 이상의 프로그램은 메모리에 저장되고 하나 이상의 프로세서에 의해 실행되도록 구성되고, 하나 이상의 프로그램은 본 명세서에 설명된 방법들 중 임의의 동작들을 수행하거나 수행하게 하기 위한 명령어들을 포함한다. 일부 실시예들에 따르면, 컴퓨터 판독가능 저장 매체는, 디스플레이, 터치 감응형 표면, 및 옵션적으로 터치 감응형 표면과의 접촉들의 세기를 검출하는 하나 이상의 센서를 갖는 전자 디바이스에 의해 실행될 때, 디바이스로 하여금 본 명세서에 설명된 방법들 중 임의의 동작들을 수행하거나 수행하게 하는 명령어들을 저장하고 있다. 일부 실시예들에 따르면, 디스플레이, 터치 감응형 표면, 옵션적으로 터치 감응형 표면과의 접촉들의 세기를 검출하는 하나 이상의 센서, 메모리, 및 메모리에 저장된 하나 이상의 프로그램을 실행하는 하나 이상의 프로세서를 갖는 전자 디바이스 상의 그래픽 사용자 인터페이스는, 본 명세서에 설명된 방법들 중 임의의 방법에서 기술된 바와 같이, 입력들에 응답하여 업데이트되는, 본 명세서에 설명된 방법들 중 임의의 방법에서 표시되는 요소들 중 하나 이상을 포함한다. 일부 실시예들에 따르면, 전자 디바이스는, 디스플레이, 터치 감응형 표면, 및 옵션적으로 터치 감응형 표면과의 접촉들의 세기를 검출하는 하나 이상의 센서; 및 본 명세서에 설명된 방법들 중 임의의 동작들을 수행하거나 수행하게 하기 위한 수단을 포함한다. 일부 실시예들에 따르면, 디스플레이, 터치 감응형 표면, 및 옵션적으로 터치 감응형 표면과의 접촉들의 세기를 검출하는 하나 이상의 센서를 갖는 전자 디바이스에서 사용하기 위한 정보 프로세싱 장치는, 본 명세서에 설명된 방법들 중 임의의 동작들을 수행하거나 수행하게 하기 위한 수단을 포함한다.
따라서, 키보드 입력을 위해 보다 효율적인 사용자 인터페이스를 갖는 터치 감응형 디스플레이를 구비한 휴대용 전자 디바이스에 대한 필요가 있다. 이러한 인터페이스들은 사용자에 의한 키보드 상의 타이핑이 보다 신속하고 보다 효율적이어서, 휴대용 전자 디바이스에서의 전력을 절약하고 배터리 충전 간격을 증가시키는 것을 수반하는 태스크(task)를 허용한다. 추가적으로, 이러한 인터페이스들은 휴대용 전자 디바이스의 유효성, 및 사용자 만족도를 증가시킨다. 그러한 방법들 및 인터페이스들은 키보드 간의 토글링을 위한 종래의 방법들을 보완하거나 대체할 수 있다.
다양하게 기술된 실시예들의 보다 양호한 이해를 위해, 유사한 도면 부호들이 도면 전체에 걸쳐서 대응 부분들을 나타내는 다음의 도면들과 관련하여 아래의 발명을 실시하기 위한 구체적인 내용이 참조되어야 한다.
도 1a는 일부 실시예들에 따른, 터치 감응형 디스플레이를 갖는 휴대용 다기능 디바이스를 예시하는 블록도이다.
도 1b는 일부 실시예들에 따른, 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도이다.
도 2는 일부 실시예들에 따른, 터치 스크린을 갖는 휴대용 다기능 디바이스를 예시한다.
도 3은 일부 실시예들에 따른 터치 감응형 디스플레이를 갖는 예시적인 다기능 디바이스의 블록도이다.
도 4는 일부 실시예들에 따른 휴대용 다기능 디바이스 상에서의 애플리케이션들의 메뉴를 위한 예시적인 사용자 인터페이스를 예시한다.
도 5a 내지 도 5f는 일부 실시예들에 따른, 다수의 키보드 사이의 토글링을 위한 예시적인 사용자 인터페이스들을 예시한다.
도 6a 및 도 6b는 일부 실시예들에 따른, 도 5a 내지 도 5f에 도시된 다수의 키보드 사이의 토글링 방법을 예시하는 흐름도이다.
도 7은 일부 실시예들에 따른, 다수의 키보드 사이의 토글링을 위한 모듈을 예시하는 전자 디바이스의 기능 블록도이다.
도 8a 내지 도 8i는 일부 실시예들에 따른, 가상 키보드를 위한 부가적 키보드 옵션을 제공하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 9a 및 도 9b는 일부 실시예들에 따른, 도 8a 내지 도 8i에 도시된 가상 키보드를 위한 부가적 키보드 옵션을 제공하기 위한 방법을 예시하는 흐름도이다.
도 10은 일부 실시예들에 따른, 가상 키보드를 위한 부가적 키보드 옵션을 제공하기 위한 모듈을 예시하는 전자 디바이스의 기능 블록도이다.
도 11a 내지 도 11e는 일부 실시예들에 따른, 가상 키보드 모드를 선택하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 12는 일부 실시예들에 따른, 도 11a 내지 도 11e에 도시된 가상 키보드 모드를 선택하기 위한 방법을 예시하는 흐름도이다.
도 13은 일부 실시예들에 따른, 가상 키보드 모드를 선택하기 위한 모듈을 예시하는 전자 디바이스의 기능 블록도이다.
도 14a 내지 도 14f는 일부 실시예들에 따른, 컴팩트 가상 키보드를 선택하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 15는 일부 실시예들에 따른, 도 14a 내지 도 14f에 도시된 컴팩트 가상 키보드를 선택하기 위한 방법을 예시하는 흐름도이다.
도 16은 일부 실시예들에 따른, 컴팩트 가상 키보드를 선택하기 위한 모듈을 예시하는 전자 디바이스의 기능 블록도이다.
키보드 인터페이스 기능성들을 제공하기 위한 다수의 상이한 접근들이 본 명세서에 기술된다. 그러한 접근들 중 하나 이상을 사용하는 것(옵션적으로 서로 함께)은 사용자로부터의 입력들의 수, 크기, 및/또는 종류를 줄이고 보다 효율적인 인간-기계 인터페이스를 제공한다. 이는 사용자들이 보다 빠르고 보다 효율적으로 키보드 인터페이스들과, 터치 감응형 표면들을 갖는 디바이스들을 사용하는 것을 가능하게 한다. 배터리-작동형 디바이스들의 경우, 이러한 개선점들은 전력을 절약하여 배터리 충전 간격을 증가시킨다. 설명의 용이성을 위해, 이러한 접근법들 중 일부의 접근법들의 예시적인 예들을 포함하는 디바이스들 및 방법들이 하기와 같이 후술된다:
Figure 112016099311510-pat00001
도 1a는 터치 감응형 디스플레이를 갖는 휴대용 다기능 디바이스를 예시하는 블록도를 예시한다. 상세한 메모리 모듈, 디바이스 모듈, 칩 모듈, 및 I/O 모듈 블록 상호작용이 예시된다.
Figure 112016099311510-pat00002
도 1b는 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도를 예시한다.
Figure 112016099311510-pat00003
도 2는 일부 실시예들에 따른, 터치 스크린을 갖는 휴대용 다기능 디바이스를 예시한다.
Figure 112016099311510-pat00004
도 3은 터치 감응형 디스플레이를 갖는 예시적인 다기능 디바이스의 블록도이다.
Figure 112016099311510-pat00005
도 4는 휴대용 다기능 디바이스 상에서의 애플리케이션들의 메뉴를 위한 예시적인 사용자 인터페이스를 도시한다.
Figure 112016099311510-pat00006
도 5a 내지 도 5f는 다수의 키보드 사이의 토글링을 위한 예시적인 사용자 인터페이스들을 예시한다. 도 6a 및 도 6b는 다수의 키보드 사이의 토글링 방법을 예시하는 흐름도이다. 도 5a 내지 도 5f에서의 사용자 인터페이스들은 도 6a 및 도 6b에서의 프로세스들을 예시하기 위해 사용된다.
Figure 112016099311510-pat00007
도 8a 내지 도 8i는 가상 키보드를 위한 부가적 키보드 옵션을 제공하기 위한 예시적인 사용자 인터페이스들을 예시한다. 도 9a 및 도 9b는 가상 키보드를 위한 부가적 키보드 옵션들을 제공하기 위한 방법을 예시하는 흐름도이다. 도 8a 내지 도 8i에서의 사용자 인터페이스들은 도 9a 및 도 9b에서의 프로세스들을 예시하기 위해 사용된다.
Figure 112016099311510-pat00008
도 11a 내지 도 11e는 가상 키보드 모드를 선택하기 위한 예시적인 사용자 인터페이스들을 예시한다. 도 12는 가상 키보드 모드를 선택하기 위한 방법을 예시하는 흐름도이다. 도 11a 내지 도 11e의 사용자 인터페이스들이 도 12의 프로세스들을 예시하기 위해 사용된다.
Figure 112016099311510-pat00009
도 14a 내지 도 14f는 컴팩트 가상 키보드를 선택하기 위한 예시적인 사용자 인터페이스들을 예시한다. 도 15는 컴팩트 가상 키보드를 선택하기 위한 방법을 예시하는 흐름도이다. 도 14a 내지 도 14f의 사용자 인터페이스들이 도 15의 프로세스들을 예시하기 위해 사용된다.
예시적인 디바이스들
이제, 실시예들이 상세하게 참조될 것이며, 실시예들의 예들이 첨부 도면들에 예시된다. 하기의 상세한 설명에서, 많은 구체적인 상세사항들이 다양하게 기술된 실시예들의 완전한 이해를 제공하기 위해 설명된다. 그러나, 다양하게 기술된 실시예들이 이들 구체적인 상세사항 없이 실시될 수 있다는 것은 당업자에게 명백할 것이다. 다른 예들에서, 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들 및 네트워크들은 실시예들의 양태들을 불필요하게 모호하게 하지 않기 위해 상세히 설명되지 않았다.
일부 예들에서, 용어들, 제1, 제2 등이 본 명세서에서 다양한 요소들을 기술하는 데 사용되지만, 이들 요소들은 이들 용어들로 제한되어서는 안 된다는 것이 또한 이해될 것이다. 이들 용어들은 하나의 요소를 다른 요소로부터 구별하는 데에만 사용된다. 예를 들면, 다양하게 기술된 실시예들의 범주로부터 벗어남이 없이, 제1 접촉이 제2 접촉으로 지칭될 수 있고, 유사하게, 제2 접촉이 제1 접촉으로 지칭될 수 있다. 제1 접촉 및 제2 접촉은 둘 다 접촉이지만, 문맥이 명확히 그렇지 않은 경우를 나타내지 않는 한, 그들이 동일한 접촉인 것은 아니다.
본 명세서에서 다양하게 기술된 실시예들의 설명에 사용되는 용어는 특정 실시예들을 기술하는 목적만을 위한 것이고, 제한하려는 의도는 아니다. 기술된 다양한 실시예들의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수의 형태는 문맥상 명백히 달리 나타내지 않는다면 복수의 형태도 마찬가지로 포함하려는 것으로 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 "및/또는"이라는 용어는 열거되는 연관된 항목들 중 하나 이상의 항목의 임의의 및 모든가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 본 명세서에서 사용될 때 용어들 "포함한다(include)", "포함하는(including)", "포함한다(comprise)", 및/또는 "포함하는(comprising)"은 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않음이 추가로 이해될 것이다.
본 명세서에서 사용되는 바와 같이, "~는 경우(if)"라는 용어는, 옵션적으로, 문맥에 따라 "~할 때(when)" 또는 "~ 시(upon)" 또는 "결정하는 것에 응답하여(in response to determining)" 또는 "검출하는 것에 응답하여(in response to detecting)"를 의미하는 것으로 해석된다. 유사하게, 구문 "결정된 경우" 또는 "[언급된 상태 또는 이벤트가] 검출된 경우"는, 옵션적으로, 문맥에 따라 "결정 시" 또는 "결정하는 것에 응답하여" 또는 "[언급된 상태 또는 이벤트] 검출 시" 또는 "[언급된 상태 또는 이벤트를] 검출하는 것에 응답하여"를 의미하는 것으로 해석된다.
전자 디바이스들, 그러한 디바이스들에 대한 사용자 인터페이스들, 및 그러한 디바이스들을 사용하기 위한 연관된 프로세스들의 실시예들이 기술된다. 일부 실시예들에서, 디바이스는 PDA 및/또는 음악 플레이어 기능들과 같은 다른 기능들을 또한 포함하는, 모바일 전화기와 같은, 휴대용 통신 디바이스이다. 휴대용 다기능 디바이스들의 예시적인 실시예들은 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.의 아이폰(iPhone)®, 아이팟 터치(iPod Touch)®, 및 아이패드(iPad)® 디바이스들을 포함하나, 이에 한정되지 않는다. 터치 감응형 표면들(예를 들면, 터치 스크린 디스플레이들 및/또는 터치패드들)을 갖는 랩톱 또는 태블릿 컴퓨터들과 같은 다른 휴대용 전자 디바이스들이 옵션적으로 사용된다. 일부 실시예들에서, 디바이스는 휴대용 통신 디바이스가 아니라 터치 감응형 표면(예컨대, 터치 스크린 디스플레이 및/또는 터치패드)을 갖는 데스크톱 컴퓨터임이 또한 이해되어야 한다.
이하의 논의에서, 디스플레이 및 터치 감응형 표면을 포함하는 전자 디바이스가 기술된다. 그러나, 전자 디바이스가 옵션적으로 물리적 키보드, 마우스 및/또는 조이스틱과 같은 하나 이상의 다른 물리적 사용자 인터페이스 디바이스를 포함한다는 것을 이해하여야 한다.
디바이스는 전형적으로 다음 중 하나 이상과 같은 다양한 애플리케이션들을 지원한다: 메모하기 애플리케이션, 그리기 애플리케이션, 프레젠테이션 애플리케이션, 워드 프로세싱 애플리케이션, 웹사이트 제작 애플리케이션, 디스크 저작 애플리케이션, 스프레드시트 애플리케이션, 게임 애플리케이션, 전화 애플리케이션, 화상 회의 애플리케이션, 이-메일 애플리케이션, 인스턴트 메시징 애플리케이션, 피트니스 애플리케이션, 사진 관리 애플리케이션, 디지털 카메라 애플리케이션, 디지털 비디오 카메라 애플리케이션, 웹 브라우징 애플리케이션, 디지털 음악 재생기 애플리케이션, 및/또는 디지털 비디오 재생기 애플리케이션.
디바이스 상에서 실행되는 다양한 애플리케이션들은, 옵션적으로, 터치 감응형 표면과 같은 적어도 하나의 보편적인 물리적 사용자 인터페이스 디바이스를 사용한다. 터치 감응형 표면의 하나 이상의 기능뿐만 아니라 디바이스 상에 표시되는 대응하는 정보는 하나의 애플리케이션으로부터 다음 애플리케이션으로 그리고/또는 각각의 애플리케이션 내에서 옵션적으로 조정되고/되거나 변경된다. 이러한 방식으로, 디바이스의 (터치 감응형 표면과 같은) 보편적인 물리적 아키텍처는, 옵션적으로, 사용자에게 직관적이고 명료한 사용자 인터페이스들을 이용하여 다양한 애플리케이션들을 지원한다.
이제 터치 감응형 디스플레이들을 갖는 휴대용 디바이스들의 실시예들에 주목한다. 도 1a는 일부 실시예들에 따른, 터치 감응형 디스플레이(112)를 갖는 휴대용 다기능 디바이스(100)를 예시한 블록도이다. 터치 감응형 디스플레이(112)는 때때로 편의상 "터치 스크린"이라고 지칭되고, 때때로 터치 감응형 디스플레이로 단순히 지칭된다. 디바이스(100)는 메모리(102)(옵션적으로, 하나 이상의 컴퓨터 판독가능 저장 매체를 포함함), 메모리 제어기(122), 하나 이상의 프로세싱 유닛(CPU)(120), 주변기기 인터페이스(118), RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 입/출력(I/O) 서브시스템(106), 다른 입력 또는 제어 디바이스들(116) 및 외부 포트(124)를 포함한다. 디바이스(100)는 옵션적으로 하나 이상의 광 센서(optical sensor)(164)를 포함한다. 디바이스(100)는, 옵션적으로, 디바이스(100) 상의 접촉들의 세기를 검출하기 위한 하나 이상의 세기 센서(165)(예컨대, 디바이스(100)의 터치 감응형 디스플레이(112)와 같은 터치 감응형 표면)를 포함한다. 디바이스(100)는, 옵션적으로, 디바이스(100) 상에 촉각적 출력들을 생성하기 위한(예컨대, 디바이스(100)의 터치 감응형 디스플레이(112) 또는 디바이스(300)의 터치패드(355)와 같은 터치 감응형 표면 상에 촉각적 출력들을 생성하기 위한) 하나 이상의 촉각적 출력 생성기(167)를 포함한다. 이들 컴포넌트는 옵션적으로 하나 이상의 통신 버스 또는 신호 라인(103)을 통해 통신한다.
명세서 및 청구범위에 사용되는 바와 같이, "촉각적 출력"이라는 용어는 디바이스의 이전 위치에 대한 디바이스의 물리적 변위, 디바이스의 다른 컴포넌트(예컨대, 하우징)에 대한 디바이스의 소정 컴포넌트(예컨대, 터치 감응형 표면)의 물리적 변위, 또는 사용자의 촉각을 이용하여 사용자에 의해 검출될 디바이스의 질량 중심에 대한 컴포넌트의 변위를 지칭한다. 예를 들면, 디바이스 또는 디바이스의 컴포넌트가 터치에 감응하는 사용자의 표면(예컨대, 손가락, 손바닥, 또는 사용자의 손의 기타 부분)과 접촉하는 상황에서, 물리적 변위에 의해 생성된 촉각적 출력은 사용자에 의해 디바이스 또는 디바이스의 컴포넌트의 물리적 특성들에서의 인지된 변화에 대응하는 촉감(tactile sensation)으로서 해석될 것이다. 예를 들면, 터치 감응형 표면(예컨대, 터치 감응형 디스플레이 또는 트랙패드)의 이동은, 옵션적으로, 물리적 액추에이터 버튼의 "다운 클릭(down click)" 또는 "업 클릭(up click)"으로서 사용자에 의해 해석된다. 일부 경우에 있어서, 사용자는 사용자의 이동에 의해 물리적으로 눌리는(예를 들면, 변위되는) 터치 감응형 표면과 연관된 물리적 액추에이터 버튼의 이동이 없는 경우에도 "다운 클릭" 또는 "업 클릭"과 같은 촉감을 느낄 것이다. 다른 예로서, 터치 감응형 표면의 이동은, 옵션적으로, 터치 감응형 표면의 평탄성에 변화가 없는 경우에도 터치 감응형 표면의 "거칠기(roughness)"로서 사용자에 의해 해석되거나 감지된다. 사용자에 의한 터치의 그러한 해석이 사용자의 개별화된 감각 인지(sensory perception)들에 영향을 받기 쉬울 것이지만, 대다수의 사용자들에게 공통적인 많은 터치 감각 인지들이 존재한다. 따라서, 촉각적 출력이 사용자의 특정 감각 인지(예를 들어, "업 클릭", "다운 클릭", "거칠기")에 대응하는 것으로서 기술될 때, 달리 언급되지 않는다면, 생성된 촉각적 출력은 전형적인(또는 평균적인) 사용자에 대한 기술된 감각 인지를 생성할 디바이스 또는 그의 컴포넌트의 물리적 변위에 대응한다.
디바이스(100)는 휴대용 다기능 디바이스의 일례일 뿐이고 디바이스(100)는, 옵션적으로, 도시된 것보다 더 많거나 더 적은 컴포넌트들을 갖거나, 옵션적으로, 2개 이상의 컴포넌트를 조합하거나, 옵션적으로, 컴포넌트들의 상이한 구성 또는 배열을 갖는다는 것이 인식되어야 한다. 도 1a에 도시된 다양한 컴포넌트들은 하나 이상의 신호 프로세싱 및/또는 주문형 집적 회로(application specific integrated circuit)들을 비롯한, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현된다.
메모리(102)는, 옵션적으로, 고속 랜덤 액세스 메모리를 포함하고, 또한 옵션적으로, 하나 이상의 자기 디스크 저장 디바이스, 플래시 메모리 디바이스, 또는 다른 비휘발성 솔리드 스테이트 메모리 디바이스와 같은 비휘발성 메모리를 포함한다. CPU(들)(120) 및 주변기기 인터페이스(118)와 같은 디바이스(100)의 다른 컴포넌트들에 의한 메모리(102)에의 액세스는 옵션적으로 메모리 제어기(122)에 의해 제어된다.
주변기기 인터페이스(118)는 디바이스의 입력 및 출력 주변기기들을 CPU(들)(120) 및 메모리(102)에 연결하는 데 사용될 수 있다. 하나 이상의 프로세서(120)는 디바이스(100)에 대한 다양한 기능들을 수행하고 데이터를 처리하기 위해 메모리(102)에 저장된 다양한 소프트웨어 프로그램들 및/또는 명령어들의 세트들을 구동하거나 실행시킨다.
일부 실시예들에서, 주변기기 인터페이스(118), CPU(들)(120) 및 메모리 제어기(122)는, 옵션적으로, 칩(104)과 같은 단일 칩 상에서 구현된다. 일부 다른 실시예들에서, 이들은 옵션적으로 별개의 칩들 상에서 구현된다.
RF(radio frequency) 회로(108)는 전자기 신호들로도 불리는 RF 신호들을 수신 및 송신한다. RF 회로(108)는 전기 신호들을 전자기 신호들로/로부터 변환하고, 전자기 신호들을 통해 통신 네트워크들 및 다른 통신 디바이스들과 통신한다. RF 회로(108)는 옵션적으로 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 하나 이상의 발진기, 디지털 신호 프로세서, CODEC 칩셋, 가입자 식별 모듈(subscriber identity module; SIM) 카드, 메모리 등을 포함하지만 이들로 한정되지 않는, 이러한 기능들을 수행하기 위한 잘 알려진 회로를 포함한다. RF 회로(108)는 옵션적으로 네트워크들, 예를 들면 월드 와이드 웹(WWW)으로도 지칭되는 인터넷, 인트라넷, 및/또는 무선 네트워크, 예컨대 셀룰러 전화 네트워크, 무선 근거리 통신망(local area network; LAN) 및/또는 대도시 통신망(metropolitan area network; MAN), 및 다른 디바이스들과 무선 통신에 의해 통신한다. 무선 통신은, 옵션적으로, GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), HSDPA(high-speed downlink packet access), HSUPA(high-speed uplink packet access), EV-DO(Evolution, Data-Only), HSPA, HSPA+, DC-HSPDA(Dual-Cell HSPA), LTE(long term evolution), NFC(near field communication), W-CDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), 블루투스(Bluetooth), Wi-Fi(Wireless Fidelity)(예컨대, IEEE 802.11a, IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g 및/또는 IEEE 802.11n), VoIP(voice over Internet Protocol), Wi-MAX, 이-메일용 프로토콜(예컨대, IMAP(Internet message access protocol) 및/또는 POP(post office protocol)), 인스턴트 메시징(예컨대, XMPP(extensible messaging and presence protocol), SIMPLE(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), IMPS(Instant Messaging and Presence Service)), 및/또는 SMS(Short Message Service), 또는 본 문헌의 출원일 현재 아직 개발되지 않은 통신 프로토콜을 포함한 임의의 다른 적합한 통신 프로토콜을 포함하지만 이들로 제한되지는 않는 복수의 통신 표준, 프로토콜 및 기술 중 임의의 것을 이용한다.
오디오 회로(110), 스피커(111) 및 마이크로폰(113)은 사용자와 디바이스(100) 사이의 오디오 인터페이스를 제공한다. 오디오 회로(110)는 주변기기 인터페이스(118)로부터 오디오 데이터를 수신하고, 그 오디오 데이터를 전기 신호로 변환하고, 그 전기 신호를 스피커(111)로 송신한다. 스피커(111)는 전기 신호를 사람이 들을 수 있는 음파로 변환한다. 오디오 회로(110)는 또한 마이크로폰(113)에 의해 음파로부터 변환된 전기 신호를 수신한다. 오디오 회로(110)는 전기 신호를 오디오 데이터로 변환하고, 프로세싱을 위해 오디오 데이터를 주변기기 인터페이스(118)로 전송한다. 오디오 데이터는 옵션적으로 주변기기 인터페이스(118)에 의해 메모리(102) 및/또는 RF 회로(108)로부터 인출(retrieve)되고/되거나 메모리(102) 및/또는 RF 회로(108)로 송신된다. 일부 실시예들에서, 오디오 회로(110)는 또한 헤드셋 잭(예를 들면, 도 2의 212)을 포함한다. 헤드셋 잭은 출력-전용 헤드폰들, 또는 출력(예컨대, 한쪽 또는 양쪽 귀용 헤드폰) 및 입력(예컨대, 마이크로폰) 양쪽 모두를 갖는 헤드셋과 같은 분리가능한 오디오 입/출력 주변기기들과 오디오 회로(110) 사이의 인터페이스를 제공한다.
I/O 서브시스템(106)은 터치 감응형 디스플레이(112) 및 다른 입력 또는 제어 디바이스들(116)과 같은, 디바이스(100) 상의 입/출력 주변기기들을 주변기기 인터페이스(118)와 연결한다. I/O 서브시스템(106)은 옵션적으로 디스플레이 제어기(156), 광 센서 제어기(158), 세기 센서 제어기(159), 햅틱 피드백 제어기(161) 및 다른 입력 또는 제어 디바이스들을 위한 하나 이상의 입력 제어기(160)를 포함한다. 하나 이상의 입력 제어기(160)는 다른 입력 또는 제어 디바이스(116)들로부터/로 전기 신호들을 수신/전송한다. 다른 입력 또는 제어 디바이스들(116)은 옵션적으로 물리적 버튼들(예컨대, 푸시 버튼, 로커 버튼(rocker button) 등), 다이얼, 슬라이더 스위치, 조이스틱, 클릭 휠 등을 포함한다. 일부 다른 실시예들에서, 입력 제어기(들)(160)는 옵션적으로 키보드, 적외선 포트, USB 포트, 스타일러스, 및/또는 마우스와 같은 포인터 디바이스 중 임의의 것과 연결된다(또는 어떤 것에도 연결되지 않는다). 하나 이상의 버튼(예를 들면, 도 2의 208)은 옵션적으로 스피커(111) 및/또는 마이크로폰(113)의 음량 제어를 위한 업/다운 버튼을 포함한다. 하나 이상의 버튼은 옵션적으로 푸시 버튼(예를 들면, 도 2의 206)을 포함한다.
터치 감응형 디스플레이(112)는 디바이스와 사용자 사이에서 입력 인터페이스 및 출력 인터페이스를 제공한다. 디스플레이 제어기(156)는 터치 감응형 디스플레이(112)로부터/로 전기 신호들을 수신 및/또는 송신한다. 터치 감응형 디스플레이(112)는 사용자에게 시각적 출력을 표시한다. 시각적 출력은, 옵션적으로, 그래픽, 텍스트, 아이콘들, 비디오 및 이들의 임의의 조합(총칭하여 "그래픽"으로 지칭함)을 포함한다. 일부 실시예들에서, 시각적 출력의 일부 또는 전부가 사용자 인터페이스 객체들에 대응한다. 본 명세서에 사용된 바와 같이, "어포던스(affordance)"라는 용어는 사용자 상호작용 그래픽 사용자 인터페이스 객체(예컨대, 그래픽 사용자 인터페이스 객체쪽으로 향하는 입력들에 응답하도록 구성되는 그래픽 사용자 인터페이스 객체)를 지칭한다. 사용자 상호작용 그래픽 사용자 인터페이스 객체들의 예들은, 제한 없이, 버튼, 슬라이더, 아이콘, 선택가능한 메뉴 아이템, 스위치, 하이퍼링크, 혀(tongue), 페이징 도트(paging dot), 또는 다른 사용자 인터페이스 제어부를 포함한다.
터치 감응형 디스플레이(112)는 햅틱 및/또는 촉각적 접촉에 기초하여 사용자로부터의 입력을 수용하는 터치 감응형 표면, 센서 또는 센서들의 세트를 갖는다. 터치 감응형 디스플레이(112) 및 디스플레이 제어기(156)는 (메모리(102) 내의 임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께) 터치 감응형 디스플레이(112) 상의 접촉(및 접촉의 임의의 이동 또는 중단)을 검출하고, 검출된 접촉을 터치 감응형 디스플레이(112) 상에 표시된 사용자 인터페이스 객체들(예컨대, 하나 이상의 소프트 키, 아이콘, 웹 페이지 또는 이미지)과의 상호작용으로 변환한다. 예시적인 실시예에서, 터치 감응형 디스플레이(112)와 사용자 사이의 접촉 지점은 사용자의 손가락 또는 스타일러스에 대응한다.
터치 감응형 디스플레이(112)는, 옵션적으로, LCD(액정 디스플레이) 기술, LPD(발광 중합체 디스플레이) 기술, 또는 LED(발광 다이오드) 기술을 이용하지만, 다른 실시예들에서는 다른 디스플레이 기술들이 이용된다. 터치 감응형 디스플레이(112) 및 디스플레이 제어기(156)는 옵션적으로 터치 감응형 디스플레이(112)와의 하나 이상의 접촉 지점을 결정하기 위해 정전용량, 저항, 적외선 및 표면 음향파 기술들과 다른 근접 센서 어레이들 또는 다른 요소들을 포함하지만 이들로 한정되지 않는, 현재 알려져 있거나 추후에 개발될 복수의 터치 감지 기술 중 임의의 것을 이용하여, 접촉 및 그의 임의의 이동 또는 중단을 검출한다. 예시적인 실시예에서, 미국 캘리포니아주 쿠퍼티노의 애플 인크.로부터의 아이폰®, 아이팟 터치®, 및 아이패드®에서 발견되는 것과 같은 투영형 상호 정전용량식 감지 기술(projected mutual capacitance sensing technology)이 이용된다.
터치 감응형 디스플레이(112)는, 옵션적으로, 100dpi를 초과하는 비디오 해상도를 갖는다. 일부 실시예들에서, 터치 스크린 비디오 해상도는 400dpi를 초과한다(예를 들어, 500dpi, 800dpi, 또는 그 이상). 사용자는 옵션적으로 스타일러스, 손가락 등과 같은 임의의 적합한 객체 또는 부속물을 이용하여 터치 감응형 디스플레이(112)와 접촉한다. 일부 실시예들에서, 사용자 인터페이스는 손가락 기반 접촉 및 제스처를 이용하여 작업하도록 설계되는데, 이는 터치 스크린 상의 손가락의 더 넓은 접촉 면적으로 인해 스타일러스 기반 입력보다 덜 정밀할 수 있다. 일부 실시예들에서, 디바이스는 대략적인 손가락 기반 입력을 사용자가 원하는 행동들을 수행하기 위한 정밀한 포인터/커서 위치 또는 커맨드(command)로 변환한다.
일부 실시예들에서, 터치 스크린 외에도, 디바이스(100)는, 옵션적으로, 특정 기능들을 활성화 또는 비활성화하기 위한 터치 패드(도시되지 않음)를 포함한다. 일부 실시예들에서, 터치 패드는 터치 스크린과는 다르게 시각적 출력을 디스플레이하지 않는 디바이스의 터치 감응형 영역이다.
디바이스(100)는 또한 다양한 컴포넌트들에 전력을 공급하기 위한 전원 계통(162)을 포함한다. 전원 계통(162)은, 옵션적으로, 전력 관리 시스템, 하나 이상의 전원(예를 들면, 배터리, 교류 전류(alternating current; AC)), 재충전 시스템, 전력 고장 검출 회로, 전력 변환기 또는 인버터, 전력 상태 표시자(예컨대, 발광 다이오드(LED)), 및 휴대용 디바이스들 내에서의 전력의 생성, 관리 및 분배와 연관된 임의의 다른 컴포넌트들을 포함한다.
디바이스(100)는 또한 옵션적으로 하나 이상의 광 센서(164)를 포함한다. 도 1a는 I/O 서브시스템(106) 내의 광 센서 제어기(158)와 연결된 광 센서를 도시한다. 광 센서(들)(164)는 옵션적으로 전하-결합 소자(charge-coupled device; CCD) 또는 CMOS(complementary metal-oxide semiconductor) 포토트랜지스터들을 포함한다. 광 센서(들)(164)는 하나 이상의 렌즈를 통해 투영된 주변환경으로부터의 광을 수신하고, 그 광을 이미지를 나타내는 데이터로 변환한다. 이미징 모듈(143)(카메라 모듈이라고도 지칭됨)과 함께, 광 센서(들)(164)는 옵션적으로, 정지 이미지들 및/또는 비디오를 캡처한다. 일부 실시예들에서, 광 센서는 디바이스(100)의 전면 상의 터치 감응형 디스플레이(112)의 반대편인 디바이스의 배면 상에 위치되어, 터치 스크린은 정지 및/또는 비디오 이미지 획득을 위한 뷰파인더로서 사용될 수 있게 된다. 일부 실시예들에서, 사용자의 이미지가 획득되도록(예를 들어, 사용자가 터치 스크린 상에서 다른 화상 회의 참가자들을 보는 동안, 화상 회의를 위해, 셀카를 위해 등) 다른 광 센서가 디바이스의 전면 상에 위치된다.
디바이스(100)는 또한, 옵션적으로, 하나 이상의 접촉 세기 센서(165)를 포함한다. 도 1a는 I/O 서브시스템(106) 내의 세기 센서 제어기(159)와 연결된 접촉 세기 센서를 도시한다. 접촉 세기 센서(들)(165)는 옵션적으로 하나 이상의 압전 저항 스트레인 게이지, 용량성 힘 센서, 전기적 힘 센서, 압전 힘 센서, 광학적 힘 센서, 용량성 터치 감응형 표면, 또는 다른 세기 센서들(예를 들면, 터치 감응형 표면 상의 접촉 힘(또는 압력)을 측정하는 데 사용되는 센서들)을 포함한다. 접촉 세기 센서(들)(165)는 주변환경으로부터 접촉 세기 정보(예를 들면, 압력 정보 또는 압력 정보를 대용하는 것)를 수신한다. 일부 실시예들에서, 적어도 하나의 접촉 세기 센서는 터치 감응형 표면(예를 들면, 터치 감응형 디스플레이(112))와 함께 위치되거나 그에 근접한다. 일부 실시예들에서, 적어도 하나의 접촉 세기 센서가 디바이스(100)의 전면 상에 위치된 터치 스크린 디스플레이 시스템(112)의 반대편인 디바이스(100)의 배면 상에 위치된다.
디바이스(100)는 옵션적으로 하나 이상의 근접 센서(166)를 또한 포함한다. 도 1a는 주변기기 인터페이스(118)와 연결된 근접 센서(166)를 도시한다. 대안적으로, 근접 센서(166)는 I/O 서브시스템(106) 내의 입력 제어기(160)와 연결된다. 일부 실시예들에서, 근접 센서는 다기능 디바이스가 사용자의 귀 근처에 위치될 때(예를 들면, 사용자가 전화 통화를 하고 있을 때), 터치 감응형 디스플레이(112)를 끄고 디스에이블시킨다.
디바이스(100)는 또한, 옵션적으로, 하나 이상의 촉각적 출력 생성기(167)를 포함한다. 도 1a는 I/O 서브시스템(106) 내의 햅틱 피드백 제어기(161)와 연결된 촉각적 출력 생성기를 도시한다. 촉각적 출력 생성기(들)(167)는 옵션적으로 스피커들 또는 다른 오디오 컴포넌트들과 같은 하나 이상의 전자음향 디바이스 및/또는 모터, 솔레노이드, 전기활성 중합체, 압전 액추에이터, 정전 액추에이터, 또는 다른 촉각적 출력 생성 컴포넌트(예를 들면, 전기 신호들을 디바이스 상의 촉각적 출력들로 변환하는 컴포넌트)와 같이 에너지를 선형 모션(linear motion)으로 변환하는 전자기계 디바이스들을 포함한다. 촉각적 출력 생성기(들)(167)는 햅틱 피드백 모듈(133)로부터 촉각적 피드백 생성 명령어들을 수신하여 디바이스(100)의 사용자에 의해 감지될 수 있는 디바이스(100) 상의 촉각적 출력들을 생성한다. 일부 실시예들에서, 적어도 하나의 촉각적 출력 생성기가 터치 감응형 표면(예컨대, 터치 감응형 디스플레이(112))와 함께 위치되거나 그에 근접하며, 옵션적으로 터치 감응형 표면을 수직으로(예를 들면, 디바이스(100)의 표면 내/외로) 또는 측방향으로(예를 들면, 디바이스(100)의 표면과 동일한 평면 내에서 전후로) 이동함으로써 촉각적 출력을 생성한다. 일부 실시예들에서, 적어도 하나의 촉각적 출력 생성기 센서는 디바이스(100)의 전면 상에 위치된 터치 감응형 디스플레이(112)의 반대편인 디바이스(100)의 배면 상에 위치된다.
디바이스(100)는 또한 옵션적으로 하나 이상의 가속도계(168)를 포함한다. 도 1a는 주변기기 인터페이스(118)와 연결된 가속도계(168)를 도시한다. 대안적으로, 가속도계(168)는 옵션적으로 I/O 서브시스템(106) 내의 입력 제어기(160)와 연결된다. 일부 실시예들에서, 하나 이상의 가속도계로부터 수신된 데이터의 분석에 기초하여 터치 스크린 디스플레이 상에 세로보기(portrait view) 또는 가로보기(landscape view)로 정보가 표시된다. 디바이스(100)는 가속도계(들)(168) 외에도 자력계(도시되지 않음), 및 디바이스(100)의 위치 및 배향(예컨대, 세로 또는 가로)에 관한 정보를 획득하기 위한 GPS(또는 GLONASS 또는 다른 글로벌 내비게이션 시스템) 수신기(도시되지 않음)를 옵션적으로 포함한다.
일부 실시예들에서, 메모리(102)에 저장된 소프트웨어 컴포넌트들은 운영 체제(126), 통신 모듈(또는 명령어들의 세트)(128), 접촉/모션 모듈(또는 명령어들의 세트)(130), 그래픽 모듈(또는 명령어들의 세트)(132), 햅틱 피드백 모듈(또는 명령어들의 세트)(133), 텍스트 입력 모듈(또는 명령어들의 세트)(134), 위성 위치확인 시스템(GPS) 모듈(또는 명령어들의 세트)(135), 및 애플리케이션들(또는 명령어들의 세트들)(136)을 포함한다. 게다가, 일부 실시예들에서, 메모리(102)는 도 1a 및 도 3에 도시된 바와 같이 디바이스/글로벌 내부 상태(157)를 저장한다. 디바이스/글로벌 내부 상태(157)는 애플리케이션들이, 존재하는 경우, 현재 활성 상태임을 나타내는 활성 애플리케이션 상태; 어떤 애플리케이션들, 뷰들 또는 다른 정보가 터치 감응형 디스플레이(112)의 다양한 영역들을 점유하는지를 나타내는 디스플레이 상태; 디바이스의 다양한 센서들 및 다른 입력 또는 제어 디바이스들(116)로부터 획득된 정보를 포함하는 센서 상태; 및 디바이스의 위치 및/또는 자세에 관한 위치 및/또는 자세 정보 중 하나 이상을 포함한다.
운영 체제(126)(예컨대, iOS, 다윈(Darwin), RTXC, 리눅스(LINUX), 유닉스(UNIX), OS X, 윈도(WINDOWS), 또는 VxWorks와 같은 내장형 운영 체제)는 일반적인 시스템 태스크들(예컨대, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)을 제어 및 관리하기 위한 다양한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함하고, 다양한 하드웨어 및 소프트웨어 컴포넌트들 사이의 통신을 용이하게 한다.
통신 모듈(128)은 하나 이상의 외부 포트(124)를 통한 다른 디바이스들과의 통신을 용이하게 하고, 또한 RF 회로(108) 및/또는 외부 포트(124)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(124)(예컨대, 범용 직렬 버스(Universal Serial Bus; USB), 파이어와이어(FIREWIRE) 등)는 다른 디바이스들에 직접적으로 또는 네트워크(예컨대, 인터넷, 무선 LAN 등)를 통해 간접적으로 연결하도록 구성된다. 일부 실시예들에서, 외부 포트는 미국 캘리포니아 주 쿠퍼티노 소재의 애플 인크.로부터의 일부 아이폰®, 아이팟 터치®, 및 아이패드®에서 사용되는 30-핀 커넥터와 동일하거나 유사하고/하거나 호환가능한 멀티 핀(예컨대, 30-핀) 커넥터이다. 일부 실시예들에서, 외부 포트는 미국 캘리포니아 주 쿠퍼티노 소재의 애플 인크.로부터의 일부 아이폰®, 아이팟 터치®, 및 아이패드®에서 사용되는 라이트닝 커넥터(Lightning connector)와 동일하거나 유사하고/하거나 호환가능한 라이트닝 커넥터이다.
접촉/모션 모듈(130)은, 옵션적으로, (디스플레이 제어기(156)와 함께) 터치 감응형 디스플레이(112), 및 다른 터치 감응형 디바이스들(예컨대, 터치패드 또는 물리적 클릭 휠)과의 접촉을 검출한다. 접촉/모션 모듈(130)은 접촉이 발생했는지 결정하는 것(예컨대, 손가락-다운 이벤트(finger-down event)를 검출하는 것), 접촉의 세기(예컨대, 접촉의 힘 또는 압력, 또는 접촉의 힘 또는 압력을 대체하는 것)를 결정하는 것, 접촉의 이동이 있는지 결정하고 터치 감응형 표면을 가로지르는 이동을 추적하는 것(예컨대, 하나 이상의 손가락-드래그 이벤트(finger-dragging event)를 검출하는 것), 및 접촉이 중단되었는지 결정하는 것(예컨대, 손가락-업 이벤트(finger-up event) 또는 접촉 중단을 검출하는 것)과 같은, 접촉(예를 들어, 손가락에 의한, 또는 스타일러스에 의한)의 검출에 관련된 다양한 동작들을 수행하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 접촉/모션 모듈(130)은 터치 감응형 표면으로부터 접촉 데이터를 수신한다. 일련의 접촉 데이터에 의해 표현되는 접촉 지점의 이동을 결정하는 것은 옵션적으로, 접촉 지점의 속력(크기), 속도(크기 및 방향), 및/또는 가속도(크기 및/또는 방향의 변화)를 결정하는 것을 포함한다. 이들 동작들은, 옵션적으로, 단일 접촉들(예컨대, 한 손가락 접촉들 또는 스타일러스 접촉들)에 또는 복수의 동시 접촉(예컨대, "멀티터치"/복수의 손가락 접촉)에 적용된다. 일부 실시예들에서, 접촉/모션 모듈(130) 및 디스플레이 제어기(156)는 터치패드 상의 접촉을 검출한다.
접촉/모션 모듈(130)은, 옵션적으로, 사용자에 의한 제스처 입력을 검출한다. 터치 감응형 표면 상의 상이한 제스처들은 상이한 접촉 패턴들(예를 들어, 상이한 이동, 타이밍, 및/또는 검출된 접촉들의 세기)을 갖는다. 따라서, 제스처는 옵션적으로 특정 접촉 패턴을 검출함으로써 검출된다. 예를 들면, 손가락 탭 제스처(finger tap gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 손가락-다운 이벤트와 동일한 위치(또는 실질적으로 동일한 위치)(예컨대, 아이콘의 위치)에서 손가락-업(리프트오프(lift off)) 이벤트를 검출하는 것을 포함한다. 다른 예로서, 터치 감응형 표면 상에서 손가락 스와이프 제스처(swipe gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 하나 이상의 손가락-드래그 이벤트를 검출하고, 그에 후속하여 손가락-업(리프트오프) 이벤트를 검출하는 것을 포함한다. 유사하게, 탭, 스와이프, 드래그, 및 다른 제스처들은 옵션적으로 스타일러스를 위한 특정 접촉 패턴을 검출함으로써 스타일러스를 위해 검출된다.
그래픽 모듈(132)은 표시되는 그래픽의 시각적 임팩트(예컨대, 밝기, 투명도, 채도, 콘트라스트 또는 다른 시각적 속성)를 변경하기 위한 컴포넌트들을 포함하는, 터치 감응형 디스플레이(112) 또는 다른 디스플레이 상에서 그래픽을 렌더링 및 표시하기 위한 다양한 알려진 소프트웨어 컴포넌트들을 포함한다. 본 명세서에서 사용되는 바와 같이, 용어 "그래픽"은 텍스트, 웹 페이지들, 아이콘들(소프트 키들을 포함하는 사용자 인터페이스 객체들 등), 디지털 이미지들, 비디오들, 애니메이션들 등(이들로 제한되지 않음)을 비롯한, 사용자에게 디스플레이될 수 있는 임의의 객체를 포함한다.
일부 실시예들에서, 그래픽 모듈(132)은 사용될 그래픽을 나타내는 데이터를 저장한다. 각각의 그래픽에는 옵션적으로 대응하는 코드가 할당된다. 그래픽 모듈(132)은 필요한 경우 좌표 데이터 및 다른 그래픽 속성 데이터와 함께 표시될 그래픽을 특정하는 하나 이상의 코드를 애플리케이션들 등으로부터 수신하며, 이어서 스크린 이미지 데이터를 생성하여 디스플레이 제어기(156)에 출력한다.
햅틱 피드백 모듈(133)은 디바이스(100)와의 사용자 상호작용들에 응답하여 디바이스(100) 상의 하나 이상의 위치에서 촉각적 출력들을 생성하기 위하여 촉각적 출력 생성기(들)(167)에 의해 이용되는 명령어들을 생성하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다.
옵션적으로 그래픽 모듈(132)의 컴포넌트인 텍스트 입력 모듈(134)은 다양한 애플리케이션들(예컨대, 연락처(137), 이-메일(140), IM(141), 브라우저(147), 및 텍스트 입력을 필요로 하는 임의의 다른 애플리케이션)에 텍스트를 입력하기 위한 소프트 키보드들을 제공한다. 언어 모듈(134-1)은 옵션적으로 텍스트 입력 모듈(134)의 컴포넌트로서, 키보드로부터의 키스트로크 선택과 연관된 언어를 제공한다. 모듈은 다수의 언어를 포함하고 관리할 수 있다. 자동 고침/사전 모듈(Autocorrect/Dictionary module; 134-2)은 옵션적으로 언어 모듈(134-1)의 컴포넌트로서, 선택된 언어와 연관된 사전을 제공한다. 자동 고침/사전 모듈(134-2)은 또한 선택된 언어와 함께 자동 고침 기능성을 제공하도록 구성될 수 있다.
GPS 모듈(135)은 디바이스의 위치를 결정하고, 이 정보를 다양한 애플리케이션들에서의 사용을 위해 (예컨대, 위치 기반 다이얼링에서 사용하기 위해 전화(138)에, 사진/비디오 메타데이터로서 카메라(143)에, 그리고 날씨 위젯들, 지역 옐로 페이지 위젯들 및 지도/내비게이션 위젯들과 같은 위치 기반 서비스들을 제공하는 애플리케이션들에) 제공한다.
애플리케이션들(136)은 옵션적으로 하기의 모듈들(또는 명령어들의 세트들), 또는 이들의 서브세트 또는 수퍼세트(superset)를 포함한다:
Figure 112016099311510-pat00010
연락처 모듈(137)(때때로 주소록 또는 연락처 목록이라고 지칭됨);
Figure 112016099311510-pat00011
전화 모듈(138);
Figure 112016099311510-pat00012
화상 회의 모듈(139);
Figure 112016099311510-pat00013
이-메일 클라이언트 모듈(140);
Figure 112016099311510-pat00014
인스턴트 메시징(IM) 모듈(141);
Figure 112016099311510-pat00015
피트니스 모듈(142);
Figure 112016099311510-pat00016
정지 및/또는 비디오 이미지들을 위한 카메라 모듈(143);
Figure 112016099311510-pat00017
영상 관리 모듈(144);
Figure 112016099311510-pat00018
브라우저 모듈(147);
Figure 112016099311510-pat00019
캘린더 모듈(148);
Figure 112016099311510-pat00020
옵션적으로 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4), 사전 위젯(149-5), 및 사용자에 의해 획득되는 다른 위젯들뿐 아니라 사용자-생성 위젯들(149-6) 중 하나 이상을 포함하는 위젯 모듈들(149);
Figure 112016099311510-pat00021
사용자-생성 위젯들(149-6)을 만들기 위한 위젯 생성기 모듈(150);
Figure 112016099311510-pat00022
검색 모듈(151);
Figure 112016099311510-pat00023
옵션적으로 비디오 플레이어 모듈 및 음악 플레이어 모듈로 구성된 비디오 및 음악 플레이어 모듈(152);
Figure 112016099311510-pat00024
메모 모듈(153);
Figure 112016099311510-pat00025
지도 모듈(154); 및/또는
Figure 112016099311510-pat00026
온라인 비디오 모듈(155).
옵션적으로 메모리(102)에 저장되는 다른 애플리케이션들(136)의 예들은 다른 워드 프로세싱 애플리케이션들, 다른 이미지 편집 애플리케이션들, 그리기 애플리케이션들, 프레젠테이션 애플리케이션들, JAVA-작동식 애플리케이션들, 암호화, 디지털 권한 관리, 음성 인식 및 음성 복제를 포함한다.
터치 감응형 디스플레이(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 연락처 모듈(137)은, 주소록에 이름(들)을 추가하는 것; 주소록으로부터 이름(들)을 삭제하는 것; 전화번호(들), 이-메일 주소(들), 물리적 주소(들) 또는 기타 정보를 이름과 연관시키는 것; 이미지를 이름과 연관시키는 것; 이름들을 분류 및 구분하는 것; 전화(138), 화상 회의(139), 이-메일(140) 또는 IM(141)에 의한 통신을 개시하고/하거나 용이하게 하기 위해 전화번호들 및/또는 이-메일 주소들을 제공하는 것 등을 포함하여 주소록 또는 연락처 목록(예컨대, 메모리(102) 또는 메모리(370) 내의 연락처 모듈(137)의 애플리케이션 내부 상태(192)에 저장됨)을 관리하도록 하는 실행가능한 명령어들을 포함한다.
RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 터치 감응형 디스플레이(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 및 텍스트 입력 모듈(134)과 함께, 전화 모듈(138)은, 전화번호에 대응하는 문자들의 시퀀스를 입력하고, 주소록(137) 내의 하나 이상의 전화번호에 액세스하고, 입력된 전화번호를 수정하고, 각각의 전화번호를 다이얼링하고, 대화를 하고, 대화가 완료된 때 접속해제하거나 끊도록 하는 실행가능한 명령어들을 포함한다. 전술한 바와 같이, 무선 통신은 옵션적으로 복수의 통신 표준, 프로토콜 및 기술 중 임의의 것을 사용한다.
RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 터치 감응형 디스플레이(112), 디스플레이 제어기(156), 광 센서(들)(164), 광 센서 제어기(158), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 연락처 목록(137) 및 전화 모듈(138)과 함께, 화상 회의 모듈(139)은 사용자 명령어들에 따라 사용자와 한 명 이상의 다른 참여자들 사이의 화상 회의를 개시, 시행 및 종료하도록 하는 실행가능한 명령어들을 포함한다.
RF 회로(108), 터치 감응형 디스플레이(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 언어 모듈(134-1), 및 자동 고침/사전 모듈(134-2)과 함께, 이-메일 클라이언트 모듈(140)은 사용자 명령어들에 응답하여 이-메일을 생성, 전송, 수신, 및 관리하도록 하는 실행가능 명령어들을 포함한다. 이미지 관리 모듈(144)과 함께, 이-메일 클라이언트 모듈(140)은 카메라 모듈(143)로 촬영된 정지 또는 비디오 이미지들을 갖는 이-메일을 작성 및 전송하는 것을 매우 용이하게 한다.
RF 회로(108), 터치 감응형 디스플레이(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 언어 모듈(134-1), 및 자동 고침/사전 모듈(134-2)과 함께, 인스턴트 메시징 모듈(141)은, 인스턴트 메시지에 대응하는 문자들의 시퀀스를 입력하고, 이전에 입력된 문자들을 수정하고, (예를 들면, 전화 기반 인스턴트 메시지들을 위한 단문자 메시지 서비스(SMS) 또는 멀티미디어 메시지 서비스(Multimedia Message Service; MMS) 프로토콜을 이용하거나 인터넷 기반 인스턴트 메시지들을 위한 XMPP, SIMPLE, APNs(Apple Push Notification Services) 또는 IMPS를 이용하여) 각각의 인스턴트 메시지를 송신하고, 인스턴트 메시지들을 수신하고, 수신된 인스턴트 메시지들을 보도록 하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 송신 및/또는 수신된 인스턴트 메시지들은 옵션적으로 그래픽, 사진, 오디오 파일, 비디오 파일 및/또는 MMS 및/또는 EMS(Enhanced Messaging Service)에서 지원되는 다른 첨부물들을 포함한다. 본 명세서에서 사용되는 바와 같이, "인스턴트 메시징"은 전화 기반 메시지들(예컨대, SMS 또는 MMS를 이용하여 전송된 메시지들) 및 인터넷 기반 메시지들(예를 들면, XMPP, SIMPLE, APNs, 또는 IMPS를 이용하여 전송된 메시지들) 둘 다를 지칭한다.
RF 회로(108), 터치 감응형 디스플레이(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 지도 모듈(154), 및 음악 재생기 모듈(146)과 함께, 피트니스 모듈(142)은 (예컨대, 시간, 거리, 및/또는 열량 소비 목표와 함께) 피트니스 플랜들을 고안하고; 피트니스 센서들(스포츠 디바이스들 및 스마트 워치들 내의)과 통신하고; 피트니스 센서 데이터를 수신하고; 피트니스 플랜을 모니터하는 데 사용되는 센서들을 교정하고; 피트니스 플랜을 위해 또는 그 동안 음악을 선택 및 재생하고; 피트니스 데이터를 표시, 저장 및 송신하도록 하는 실행가능한 명령어들을 포함한다.
터치 감응형 디스플레이(112), 디스플레이 제어기(156), 광 센서(들)(164), 광 센서 제어기(158), 접촉 모듈(130), 그래픽 모듈(132) 및 이미지 관리 모듈(144)과 함께, 카메라 모듈(143)은 정지 이미지들 또는 비디오(비디오 스트림을 포함함)를 캡처하고 이들을 메모리(102)에 저장하거나, 정지 이미지 또는 비디오의 특성을 수정하거나, 메모리(102)로부터 정지 이미지 또는 비디오를 삭제하도록 하는 실행가능한 명령어들을 포함한다.
터치 감응형 디스플레이(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 카메라 모듈(143)과 함께, 이미지 관리 모듈(144)은 정지 및/또는 비디오 이미지들을 배열하거나, 수정(예컨대, 편집)하거나, 그렇지 않으면 조작하고, 라벨링하고, 삭제하고, (예컨대, 디지털 슬라이드 쇼 또는 앨범에) 표시하고, 저장하도록 하는 실행가능한 명령어들을 포함한다.
RF 회로(108), 터치 감응형 디스플레이(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 언어 모듈(134-1) 및 자동 고침/사전 모듈(134-2)과 함께, 브라우저 모듈(147)은, 사용자 명령어들에 따라 인터넷을 브라우징하도록 - 웹 페이지들 또는 그들의 일부분뿐만 아니라 웹 페이지들에 링크된 첨부물들 및 다른 파일들을 검색하고, 그에 링크하고, 수신하고, 디스플레이하는 것을 포함함 - 하는 실행가능 명령어들을 포함한다.
RF 회로(108), 터치 감응형 디스플레이(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 언어 모듈(134-1), 자동 고침/사전 모듈(134-2), 이-메일 클라이언트 모듈(140), 및 브라우저 모듈(147)과 함께, 캘린더 모듈(148)은 사용자 명령어들에 따라 캘린더들 및 캘린더들과 연관된 데이터(예컨대, 캘린더 엔트리들, 할 일 목록들 등)를 생성, 표시, 수정, 및 저장하도록 하는 실행가능한 명령어들을 포함한다.
RF 회로(108), 터치 감응형 디스플레이(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 모듈들(149)은, 옵션적으로 사용자에 의해 다운로드 및 사용되거나(예컨대, 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4) 및 사전 위젯(149-5)) 또는 사용자에 의해 생성되는(예컨대, 사용자-생성 위젯(149-6)) 미니-애플리케이션들이다. 일부 실시예들에서, 위젯은 HTML(Hypertext Markup Language) 파일, CSS(Cascading Style Sheets) 파일 및 자바스크립트(JavaScript) 파일을 포함한다. 일부 실시예들에서, 위젯은 XML(Extensible Markup Language) 파일 및 자바스크립트 파일(예컨대, 야후!(Yahoo!) 위젯들)을 포함한다.
RF 회로(108), 터치 감응형 디스플레이(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 생성기 모듈(150)은 위젯들을 생성(예를 들면, 웹 페이지의 사용자-지정 부분을 위젯으로 변경)하도록 하는 실행가능한 명령어들을 포함한다.
터치 감응형 디스플레이(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 언어 모듈(134-1), 및 자동 고침/사전 모듈(134-2)과 함께, 검색 모듈(151)은 사용자 명령어들에 따라 하나 이상의 검색 기준들(예컨대, 하나 이상의 사용자-특정 검색어)에 일치하는 메모리(102) 내의 텍스트, 음악, 사운드, 이미지, 비디오, 및/또는 다른 파일들을 검색하도록 하는 실행가능 명령어들을 포함한다.
터치 감응형 디스플레이(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110), 스피커(111), RF 회로(108), 및 브라우저 모듈(147)과 함께, 비디오 및 음악 재생기 모듈(152)은 사용자가 MP3 또는 AAC 파일들과 같은 하나 이상의 파일 포맷으로 저장된 녹음된 음악 및 다른 사운드 파일들을 다운로드 및 재생하게 하는 실행가능한 명령어들, 및 비디오들을 (예컨대, 터치 감응형 디스플레이(112) 상에서, 또는 무선으로 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에서) 표시하거나, 상영하거나, 그렇지 않으면 재생하도록 하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 디바이스(100)는 옵션적으로 아이팟(애플 인크.의 상표)과 같은 MP3 재생기의 기능을 포함한다.
터치 감응형 디스플레이(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 언어 모듈(134-1), 및 자동 고침/사전 모듈(134-2)과 함께, 메모 모듈(153)은 사용자 명령어들에 따라 메모들, 할 일 목록들 등을 생성 및 관리하도록 하는 실행가능 명령어들을 포함한다.
RF 회로(108), 터치 감응형 디스플레이(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 언어 모듈(134-1), 자동 고침/사전 모듈(134-2), GPS 모듈(135), 및 브라우저 모듈(147)과 함께, 지도 모듈(154)은, 사용자 명령어들에 따라 지도들 및 지도들과 연관된 데이터(예컨대, 운전 방향; 특정 위치에서의 또는 그 인근의 상점들 및 다른 관심 지점들에 관한 데이터; 및 다른 위치 기반 데이터)를 수신하고, 표시하고, 수정하고, 저장하도록 하는 실행가능한 명령어들을 포함한다.
터치 감응형 디스플레이(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110), 스피커(111), RF 회로(108), 텍스트 입력 모듈(134), 언어 모듈(134-1), 자동 고침/사전 모듈(134-2), 이-메일 클라이언트 모듈(140), 및 브라우저 모듈(147)과 함께, 온라인 비디오 모듈(155)은 사용자가 H.264와 같은 하나 이상의 파일 포맷의 온라인 비디오들을 액세스하고, 브라우징하고, (예컨대, 스트리밍 및/또는 다운로드에 의해) 수신하고, (예컨대, 터치 스크린(112) 상에서, 또는 무선으로 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에서) 재생하고, 특정 온라인 비디오로의 링크와 함께 이-메일을 전송하고, 그렇지 않으면 온라인 비디오를 관리하게 하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 이-메일 클라이언트 모듈(140)보다는 오히려 인스턴트 메시징 모듈(141)이 특정 온라인 비디오로의 링크를 전송하는 데 사용된다.
앞서 확인된 모듈들 및 애플리케이션들의 각각은 전술한 하나 이상의 기능 및 본 출원에 기술된 방법들(예컨대, 본 명세서에 기술된 컴퓨터-구현 방법들 및 다른 정보 프로세싱 방법들)을 수행하기 위한 실행가능한 명령어들의 세트에 대응한다. 이러한 모듈들(즉, 소정 세트들의 명령어들)은 개별적인 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없으며, 이에 따라 이러한 모듈들의 다양한 서브세트들은, 옵션적으로, 다양한 실시예들에서 조합되거나 다른 방식으로 재배열된다. 일부 실시예들에서, 메모리(102)는, 옵션적으로, 소정 서브세트의 상기에 식별된 모듈들 및 데이터 구조들을 저장한다. 또한, 메모리(102)는, 옵션적으로, 전술되지 않은 추가적인 모듈들 및 데이터 구조들을 저장한다.
일부 실시예들에서, 디바이스(100)는 디바이스 상의 미리정의된 기능들의 세트의 동작이 터치 스크린 및/또는 터치패드를 통해 전용으로 수행되는 디바이스이다. 터치 스크린 및/또는 터치 패드를 디바이스(100)의 동작을 위한 주 입력 제어 디바이스로서 사용함으로써, 디바이스(100) 상의 (푸시 버튼들, 다이얼들 등과 같은) 물리적 입력 제어 디바이스들의 수가 옵션적으로 감소된다.
터치 스크린 및/또는 터치패드를 통해 전용으로 수행되는 미리정의된 기능들의 세트는 옵션적으로 사용자 인터페이스들 사이의 내비게이션을 포함한다. 일부 실시예들에서, 터치패드는 사용자에 의해 터치될 때, 디바이스(100)를 디바이스(100) 상에 표시되는 임의의 사용자 인터페이스로부터 메인, 홈 또는 루트 메뉴로 내비게이션한다. 그러한 실시예들에서, 터치패드를 이용하여 "메뉴 버튼"이 구현된다. 일부 다른 실시예들에서, 메뉴 버튼은 터치 패드 대신에 물리적 푸시 버튼 또는 다른 물리적 입력 제어 디바이스이다.
도 1b는 일부 실시예들에 따른, 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도이다. 일부 실시예들에서, 메모리((102, 도 1a) 또는 (370, 도 3))는 (예컨대, 운영 체제(126)에서의) 이벤트 분류기(170) 및 각각의 애플리케이션(136-1)(예컨대, 전술한 애플리케이션들(136, 137-155, 380-390) 중 임의의 것)을 포함한다.
이벤트 분류기(170)는 이벤트 정보를 수신하고 그 이벤트 정보를 전달할 애플리케이션(136-1), 및 애플리케이션(136-1)의 애플리케이션 뷰(191)를 결정한다. 이벤트 분류기(170)는 이벤트 모니터(171)와 이벤트 디스패처 모듈(event dispatcher module)(174)을 포함한다. 일부 실시예들에서, 애플리케이션(136-1)은 애플리케이션이 활성이거나 실행 중일 때 터치 감응 디스플레이(112) 상에 디스플레이되는 현재 애플리케이션 뷰(들)를 나타내는 애플리케이션 내부 상태(192)를 포함한다. 일부 실시예들에서, 디바이스/글로벌 내부 상태(157)는 이벤트 분류기(170)에 의해 어느 애플리케이션(들)이 현재 활성 상태인지 결정하는 데 이용되며, 애플리케이션 내부 상태(192)는 이벤트 분류기(170)에 의해 이벤트 정보를 전달할 애플리케이션 뷰들(191)을 결정하는 데 이용된다.
일부 실시예들에서, 애플리케이션 내부 상태(192)는 애플리케이션(136-1)이 실행을 재개할 때 이용될 재개 정보, 애플리케이션(136-1)에 의해 표시되고 있거나 표시될 준비가 된 정보를 나타내는 사용자 인터페이스 상태 정보, 사용자가 애플리케이션(136-1)의 이전 상태 또는 뷰로 되돌아가게 하기 위한 상태 큐, 및 사용자에 의해 취해진 이전 동작들의 재실행(redo)/실행취소(undo) 큐 중 하나 이상과 같은 추가의 정보를 포함한다.
이벤트 모니터(171)는 주변기기 인터페이스(118)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트(예컨대, 멀티-터치 제스처의 일부로서 터치 감응 디스플레이(112) 상의 사용자 터치)에 관한 정보를 포함한다. 주변기기 인터페이스(118)는 I/O 서브시스템(106) 또는 센서(근접 센서(166), 가속도계(들)(168), 및/또는 (오디오 회로부(110)를 통한) 마이크로폰(113) 등)로부터 수신하는 정보를 전송한다. 주변기기 인터페이스(118)가 I/O 서브시스템(106)으로부터 수신하는 정보는 터치 감응 디스플레이(112) 또는 터치 감응 표면으로부터의 정보를 포함한다.
일부 실시예들에서, 이벤트 모니터(171)는 요청들을 미리 결정된 간격으로 주변기기 인터페이스(118)로 전송한다. 그에 응답하여, 주변기기 인터페이스(118)는 이벤트 정보를 전송한다. 다른 실시예들에서, 주변기기 인터페이스(118)는 중요한 이벤트(예컨대, 미리 결정된 잡음 임계치를 초과하는 입력 및/또는 미리 결정된 지속기간 초과 동안의 입력을 수신하는 것)가 있을 때에만 이벤트 정보를 전송한다.
일부 실시예들에서, 이벤트 분류기(170)는 또한 히트 뷰(hit view) 결정 모듈(172) 및/또는 활성 이벤트 인식기 결정 모듈(173)을 포함한다.
히트 뷰 결정 모듈(172)은 터치 감응 디스플레이(112)가 하나 초과의 뷰를 디스플레이할 때 하나 이상의 뷰들 내에서 서브이벤트가 발생한 곳을 결정하기 위한 소프트웨어 프로시저들을 제공한다. 뷰들은 사용자가 디스플레이 상에서 볼 수 있는 제어부 및 다른 요소들로 구성된다.
애플리케이션과 연관된 사용자 인터페이스의 다른 양태는 본 명세서에서 때때로 애플리케이션 뷰들 또는 사용자 인터페이스 창(user interface window)들이라고 지칭되는 한 세트의 뷰들이며, 여기서 정보가 표시되고 터치 기반 제스처가 발생한다. 터치가 검출되는 (각각의 애플리케이션의) 애플리케이션 뷰들은 옵션적으로 애플리케이션의 프로그램 또는 뷰 계층구조 내의 프로그램 레벨들에 대응한다. 예를 들면, 터치가 검출되는 최하위 레벨의 뷰는 옵션적으로 히트 뷰라고 지칭되고, 적절한 입력들로서 인식되는 이벤트들의 세트는 옵션적으로 터치 기반 제스처를 시작하는 초기 터치의 히트 뷰에 적어도 부분적으로 기초하여 결정된다.
히트 뷰 결정 모듈(172)은 터치 기반 제스처의 서브이벤트들에 관련된 정보를 수신한다. 애플리케이션이 계층구조에서 조직화된 다수의 뷰를 갖는 경우, 히트 뷰 결정 모듈(172)은 서브이벤트를 처리해야 하는 계층구조 내의 최하위 뷰로서 히트 뷰를 식별한다. 대부분의 상황들에서, 히트 뷰는 개시되는 서브이벤트가 발생하는 최하위 레벨 뷰이다(즉, 이벤트 또는 잠재적 이벤트를 형성하는 서브이벤트들의 시퀀스 내의 첫 번째 서브이벤트임). 일단 히트 뷰가 히트 뷰 결정 모듈에 의해 식별되면, 히트 뷰는 전형적으로 그것이 히트 뷰로서 식별되게 하는 것과 동일한 터치나 입력 소스에 관련된 모든 서브이벤트들을 수신한다.
활성 이벤트 인식기 결정 모듈(173)은 뷰 계층구조 내에서 어느 뷰 또는 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는지를 결정한다. 일부 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 히트 뷰만이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 서브이벤트의 물리적 위치를 포함하는 모든 뷰들이 적극 참여 뷰(actively involved view)인 것으로 결정하고, 그에 따라 모든 적극 참여 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 터치 서브이벤트들이 전적으로 하나의 특정 뷰와 연관된 영역으로 한정되더라도, 계층구조 내의 상위 뷰들은 여전히 적극 참여 뷰들로서 유지될 것이다.
이벤트 디스패처 모듈(174)은 이벤트 정보를 이벤트 인식기(예컨대, 이벤트 인식기(180))에 송달한다. 활성 이벤트 인식기 결정 모듈(173)을 포함하는 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 정보를 활성 이벤트 인식기 결정 모듈(173)에 의해 결정된 이벤트 인식기에 전달한다. 일부 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 큐 내에 이벤트 정보를 저장하는데, 이벤트 정보는 각각의 이벤트 수신기 모듈(182)에 의해 인출된다.
일부 실시예들에서, 운영 체제(126)는 이벤트 분류기(170)를 포함한다. 대안으로, 애플리케이션(136-1)은 이벤트 분류기(170)를 포함한다. 또 다른 실시예들에서, 이벤트 분류기(170)는 독립형 모듈이거나 접촉/모션 모듈(130)과 같이 메모리(102)에 저장되는 다른 모듈의 일부이다.
일부 실시예들에서, 애플리케이션(136-1)은 복수의 이벤트 핸들러(190) 및 하나 이상의 애플리케이션 뷰(191)를 포함하며, 이들의 각각은 애플리케이션의 사용자 인터페이스의 각각의 뷰 내에 발생하는 터치 이벤트들을 처리하기 위한 명령어들을 포함한다. 애플리케이션(136-1)의 각각의 애플리케이션 뷰(191)는 하나 이상의 이벤트 인식기(180)를 포함한다. 전형적으로, 각각의 애플리케이션 뷰(191)는 복수의 이벤트 인식기(180)를 포함한다. 다른 실시예들에서, 이벤트 인식기들(180) 중 하나 이상은 사용자 인터페이스 키트(도시되지 않음) 또는 애플리케이션(136-1)이 방법들 및 다른 속성들을 상속받는 상위 레벨 객체와 같은 별개의 모듈의 일부이다. 일부 실시예들에서, 각각의 이벤트 핸들러(190)는 데이터 업데이터(176), 객체 업데이터(177), GUI 업데이터(178), 및/또는 이벤트 분류기(170)로부터 수신된 이벤트 데이터(179) 중 하나 이상을 포함한다. 이벤트 핸들러(190)는 옵션적으로 데이터 업데이터(176), 객체 업데이터(177) 또는 GUI 업데이터(178)를 이용하거나 호출하여 애플리케이션 내부 상태(192)를 업데이트한다. 대안적으로, 애플리케이션 뷰들(191) 중 하나 이상은 하나 이상의 각자의 이벤트 핸들러(190)를 포함한다. 또한, 일부 실시예들에서, 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178) 중 하나 이상은 각자의 애플리케이션 뷰(191)에 포함된다.
각자의 이벤트 인식기(180)는 이벤트 분류기(170)로부터 이벤트 정보(예컨대, 이벤트 데이터(179))를 수신하고 이벤트 정보로부터 이벤트를 식별한다. 이벤트 인식기(180)는 이벤트 수신기(182) 및 이벤트 비교기(184)를 포함한다. 일부 실시예들에서, 이벤트 인식기(180)는 또한 적어도 메타데이터(183) 및 이벤트 전달 명령어들(188)(옵션적으로 서브이벤트 전달 명령어들을 포함함)의 서브세트를 포함한다.
이벤트 수신기(182)는 이벤트 분류기(170)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트, 예를 들면 터치 또는 터치 이동에 대한 정보를 포함한다. 서브이벤트에 따라, 이벤트 정보는 또한 서브이벤트의 위치와 같은 추가적인 정보를 포함한다. 서브이벤트가 터치의 모션과 관련되는 경우, 이벤트 정보는, 또한, 옵션적으로, 서브이벤트의 속력 및 방향을 포함한다. 일부 실시예들에서, 이벤트들은 하나의 배향으로부터 다른 배향으로(예컨대, 세로 배향으로부터 가로 배향으로, 또는 그 반대로)의 디바이스의 회전을 포함하며, 이벤트 정보는 디바이스의 현재 배향(디바이스 자세로도 지칭됨)에 관한 대응하는 정보를 포함한다.
이벤트 비교기(184)는 이벤트 정보를 사전정의된 이벤트 또는 서브이벤트 정의들과 비교하고, 그 비교에 기초하여, 이벤트 또는 서브이벤트를 판정하거나 이벤트 또는 서브이벤트의 상태를 판정 또는 업데이트한다. 일부 실시예들에서, 이벤트 비교기(184)는 이벤트 정의들(186)을 포함한다. 이벤트 정의들(186)은 이벤트들(예컨대, 사전정의된 시퀀스들의 서브이벤트들), 예를 들어 이벤트 1(187-1), 이벤트 2(187-2) 등의 정의들을 포함한다. 일부 실시예들에서, 이벤트(187) 내의 서브이벤트들은, 예를 들면 터치 시작, 터치 종료, 터치 이동, 터치 취소, 및 다중 터치를 포함한다. 일례에서, 이벤트 1(187-1)에 대한 정의는 표시된 객체 상의 더블 탭(double tap)이다. 더블 탭은, 예를 들면 미리결정된 페이즈(phase) 동안의 표시된 객체 상의 제1 터치(터치 시작), 미리결정된 페이즈 동안의 제1 리프트오프(lift-off)(터치 종료), 미리결정된 페이즈 동안의 표시된 객체 상의 제2 터치(터치 시작), 및 미리결정된 페이즈 동안의 제2 리프트오프(터치 종료)를 포함한다. 다른 예에서, 이벤트 2(187-2)에 대한 정의는 디스플레이된 객체 상의 드래그이다. 드래그는, 예를 들어, 미리 결정된 단계 동안의 디스플레이된 객체 상의 터치(또는 접촉), 터치 감응 디스플레이(112)를 가로지르는 터치의 이동, 및 터치의 리프트오프(터치 종료)을 포함한다. 일부 실시예들에서, 이벤트는 또한 하나 이상의 연관된 이벤트 핸들러들(190)에 대한 정보를 포함한다.
일부 실시예들에서, 이벤트 정의(187)는 각각의 사용자 인터페이스 객체에 대한 이벤트의 정의를 포함한다. 일부 실시예들에서, 이벤트 비교기(184)는 어느 사용자 인터페이스 객체가 서브이벤트와 연관되어 있는지 판정하도록 히트 테스트(hit test)를 수행한다. 예를 들어, 3 개의 사용자 인터페이스 객체들이 터치 감응 디스플레이(112) 상에 디스플레이되는 애플리케이션 뷰에서, 터치가 터치 감응 디스플레이(112) 상에서 검출되는 경우, 이벤트 비교기(184)는 3 개의 사용자 인터페이스 객체들 중 어느 것이 터치(서브이벤트)와 연관되어 있는지를 결정하기 위해 히트 테스트를 수행한다. 각각의 표시된 객체가 각각의 이벤트 핸들러(190)와 연관되는 경우, 이벤트 비교기는 어느 이벤트 핸들러(190)가 활성화되어야 하는지 결정하는 데 히트 테스트의 결과를 이용한다. 예를 들면, 이벤트 비교기(184)는 히트 테스트를 트리거하는 서브이벤트 및 객체와 연관된 이벤트 핸들러를 선택한다.
일부 실시예들에서, 각각의 이벤트(187)에 대한 정의는 또한 서브이벤트들의 시퀀스가 이벤트 인식기의 이벤트 유형에 대응하는지 대응하지 않는지 여부가 결정된 후까지 이벤트 정보의 전달을 지연하는 지연된 동작들을 포함한다.
각각의 이벤트 인식기(180)가 일련의 서브이벤트들이 이벤트 정의들(186) 내의 이벤트들 중 어떠한 것과도 일치하지 않는 것으로 결정하면, 각각의 이벤트 인식기(180)는 이벤트 불가능, 이벤트 실패, 또는 이벤트 종료 상태에 진입하고, 그 후 각각의 이벤트 인식기는 터치 기반 제스처의 후속적인 서브이벤트들을 무시한다. 이러한 상황에서, 만일 있다면, 히트 뷰에 대해 활성 상태로 유지되는 다른 이벤트 인식기들이 진행 중인 터치 기반 제스처의 서브이벤트들을 계속해서 추적 및 처리한다.
일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트 전달 시스템이 어떻게 적극 참여 이벤트 인식기들에 대한 서브이벤트 전달을 수행해야 하는지를 나타내는 구성가능한 속성들, 플래그(flag)들, 및/또는 목록들을 갖는 메타데이터(183)를 포함한다. 일부 실시예들에서, 메타데이터(183)는 이벤트 인식기들이 어떻게 서로 상호작용하는지, 또는 상호작용할 수 있는지를 나타내는 구성가능한 속성들, 플래그들, 및/또는 목록들을 포함한다. 일부 실시예들에서, 메타데이터(183)는, 서브이벤트들이 뷰 또는 프로그램 계층구조에서의 변화하는 레벨들로 전달되는지 여부를 나타내는 구성가능한 속성들, 플래그들, 및/또는 목록들을 포함한다.
일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트의 하나 이상의 특정 서브이벤트가 인식될 때 이벤트와 연관된 이벤트 핸들러(190)를 활성화한다. 일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트와 연관된 이벤트 정보를 이벤트 핸들러(190)에 전달한다. 이벤트 핸들러(190)를 활성화하는 것은 각각의 히트 뷰에 서브이벤트들을 전송(및 지연 전송)하는 것과는 구별된다. 일부 실시예들에서, 이벤트 인식기(180)는 인식된 이벤트와 연관된 플래그를 보내고, 그 플래그와 연관된 이벤트 핸들러(190)는 그 플래그를 포착하고 미리정의된 프로세스를 수행한다.
일부 실시예들에서, 이벤트 전달 명령어들(188)은 이벤트 핸들러를 활성화시키지 않고 서브이벤트에 대한 이벤트 정보를 전달하는 서브이벤트 전달 명령어들을 포함한다. 대신, 서브이벤트 전달 명령어들은 일련의 서브이벤트들과 연관된 이벤트 핸들러들에 또는 적극 참여 뷰들에 이벤트 정보를 전달한다. 일련의 서브이벤트들 또는 적극 참여 뷰들과 연관된 이벤트 핸들러들은 이벤트 정보를 수신하고 미리결정된 프로세스를 수행한다.
일부 실시예들에서, 데이터 업데이터(176)는 애플리케이션(136-1)에서 이용되는 데이터를 생성 및 업데이트한다. 예를 들면, 데이터 업데이터(176)는 연락처 모듈(137)에서 이용되는 전화번호를 업데이트하거나 비디오 재생기 모듈(145)에서 이용되는 비디오 파일을 저장한다. 일부 실시예들에서, 객체 업데이터(177)는 애플리케이션(136-1)에서 이용되는 객체들을 생성 및 업데이트한다. 예를 들면, 객체 업데이터(177)는 새로운 사용자 인터페이스 객체를 생성하거나 사용자 인터페이스 객체의 위치를 업데이트한다. GUI 업데이터(178)는 GUI를 업데이트한다. 예를 들면, GUI 업데이터(178)는 디스플레이 정보를 준비하고 이것을 터치 감응형 디스플레이 상의 표시를 위한 그래픽 모듈(132)에 전송한다.
일부 실시예들에서, 이벤트 핸들러(들)(190)는 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178)를 포함하거나 이들에 액세스한다. 일부 실시예들에서, 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178)는 각각의 애플리케이션(136-1) 또는 애플리케이션 뷰(191)의 단일 모듈 내에 포함된다. 다른 실시예들에서, 이들은 2개 이상의 소프트웨어 모듈에 포함된다.
터치 감응형 디스플레이들 상의 사용자 터치들의 이벤트 처리에 관하여 전술한 논의는 또한 입력 디바이스들을 갖는 다기능 디바이스들(100)을 작동시키기 위한 다른 형태들의 사용자 입력들에도 적용되지만, 그 모두가 터치 스크린들 상에서 개시되는 것이 아니라는 것을 이해해야 한다. 예를 들면, 단일 또는 다수의 키보드 누르기 또는 유지와 옵션적으로 조화된 마우스 이동 및 마우스 버튼 누르기; 터치패드 상의, 탭, 드래그, 스크롤 등과 같은 접촉 이동들; 펜 스타일러스 입력들; 디바이스의 이동; 구두 명령어들; 검출된 눈 이동들; 생체 측정 입력들; 및/또는 이들의 임의의 조합이 인식될 이벤트를 정의하는 서브이벤트들에 대응하는 입력들로서 옵션적으로 이용된다.
도 2는 일부 실시예들에 따른, 터치 스크린(예컨대, 터치 감응형 디스플레이 (112), 도 1a)을 갖는 휴대용 다기능 디바이스(100)를 예시한다. 터치 스크린은 옵션적으로 사용자 인터페이스(UI)(200) 내에서 하나 이상의 그래픽을 표시한다. 이러한 실시예에서뿐만 아니라 본 명세서에 기술된 다른 실시예들에서, 사용자는 예를 들면 하나 이상의 손가락(202)(도면에서 축척대로 도시되지 않음) 또는 하나 이상의 스타일러스(203)(도면에서 축척대로 도시되지 않음)를 이용하여 그래픽 상에 제스처를 행함으로써 그래픽들 중 하나 이상을 선택하는 것을 가능하게 된다. 일부 실시예들에서, 하나 이상의 그래픽들의 선택은 사용자가 하나 이상의 그래픽들과의 접촉을 중단할 때 발생한다. 일부 실시예들에서, 제스처는 옵션적으로 디바이스(100)와 접촉한 손가락의 하나 이상의 탭, (좌에서 우로, 우에서 좌로, 위로 및/또는 아래로의) 하나 이상의 스와이프 및/또는 (우에서 좌로, 좌에서 우로, 위로 및/또는 아래로의) 롤링을 포함한다. 일부 구현예들 또는 상황들에서, 그래픽과 부주의하여 접촉되면 그 그래픽은 선택하지 않는다. 예를 들면, 선택에 대응하는 제스처가 탭인 경우에, 애플리케이션 아이콘 위를 지나가는 스와이프 제스처는 옵션적으로, 대응하는 애플리케이션을 선택하지 않는다.
디바이스(100)는 또한 옵션적으로 "홈" 또는 메뉴 버튼(204)과 같은 하나 이상의 물리적 버튼을 포함한다. 전술한 바와 같이, 메뉴 버튼(204)은 옵션적으로, 디바이스(100) 상에서 옵션적으로 실행되는 애플리케이션들의 세트 내의 임의의 애플리케이션(136)으로 내비게이션하는 데 사용된다. 대안적으로, 일부 실시예들에서, 메뉴 버튼은 터치 스크린 디스플레이 상에 표시된 GUI에서 소프트 키로서 구현된다.
일부 실시예들에서, 디바이스(100)는 터치 스크린 디스플레이, 메뉴 버튼(204), 디바이스의 전원을 켜거나/끄고 디바이스를 잠그기 위한 푸시 버튼(206), 음량 조절 버튼(들)(208), 가입자 식별 모듈(SIM) 카드 슬롯(210), 헤드 셋 잭(212), 및 도킹/충전 외부 포트(124)를 포함한다. 푸시 버튼(206)은, 옵션적으로, 버튼을 누르고 버튼을 미리정의된 시간 간격 동안 누른 상태로 유지함으로써 디바이스에서 전원을 켜거나/끄고; 버튼을 누르고 미리정의된 시간 간격이 경과하기 전에 버튼 누르기를 해제함으로써 디바이스를 잠그고; 그리고/또는 디바이스를 잠금해제하거나 잠금해제 프로세스를 개시하는 데 사용된다. 일부 실시예들에서, 디바이스(100)는 또한 마이크로폰(113)을 통해 일부 기능들의 활성화 또는 비활성화를 위한 구두 입력을 수용한다. 디바이스(100)는 또한 옵션적으로 터치 감응형 디스플레이(112) 상의 접촉들의 세기를 검출하기 위한 하나 이상의 접촉 세기 센서(165) 및/또는 디바이스(100)의 사용자를 위해 촉각적 출력들을 생성하기 위한 하나 이상의 촉각적 출력 생성기(167)를 포함한다.
도 3은 일부 실시예들에 따른, 디스플레이 및 터치 감응형 표면을 갖는 예시적인 다기능 디바이스의 블록도이다. 디바이스(300)가 휴대용일 필요는 없다. 일부 실시예들에서, 디바이스(300)는 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 멀티미디어 재생기 디바이스, 내비게이션 디바이스, (아이들의 학습 장난감과 같은) 교육용 디바이스, 게임 시스템, 또는 제어 디바이스(예컨대, 가정용 또는 산업용 제어기)이다. 디바이스(300)는 전형적으로 하나 이상의 프로세싱 유닛(CPU)(310), 하나 이상의 네트워크 또는 다른 통신 인터페이스들(360), 메모리(370) 및 이들 컴포넌트를 상호접속하기 위한 하나 이상의 통신 버스(320)를 포함한다. 통신 버스들(320)은 옵션적으로 시스템 컴포넌트들을 상호접속시키고 이들 사이의 통신을 제어하는 회로(때때로 칩셋이라고 지칭됨)를 포함한다. 디바이스(300)는 터치 감응형 디스플레이(340)를 포함하는 입/출력(I/O) 인터페이스(330)를 포함한다. I/O 인터페이스(330)는 또한 가상 키보드(350)를 포함한다. I/O 인터페이스(330)는 또한 옵션적으로 마우스(또는 기타의 포인팅 디바이스)(352) 및 터치패드(355), (예를 들면, 도 1a를 참조하여 전술한 촉각적 출력 생성기(들)(167)와 유사한) 디바이스(300) 상에 촉각적 출력들을 생성하기 위한 촉각적 출력 생성기(357), 센서들(359)(예를 들면, 도 1a를 참조하여 전술한 접촉 세기 센서(들)(165)와 유사한 광, 가속도, 근접, 터치 감응형, 및/또는 접촉 세기 센서들)을 포함한다. 메모리(370)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하며; 옵션적으로 하나 이상의 자기 디스크 저장 디바이스, 광 디스크 저장 디바이스, 플래시 메모리 디바이스, 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스와 같은 비휘발성 메모리를 포함한다. 메모리(370)는 옵션적으로 CPU(310)(들)로부터 원격으로 위치된 하나 이상의 저장 디바이스를 포함한다. 일부 실시예들에서, 메모리(370)는 휴대용 다기능 디바이스(100)(도 1a)의 메모리(102)에 저장된 프로그램들, 모듈들, 및 데이터 구조들과 유사한 프로그램들, 모듈들, 및 데이터 구조들 또는 이들의 서브세트를 저장한다. 또한, 메모리(370)는 옵션적으로 휴대용 다기능 디바이스(100)의 메모리(102) 내에 존재하지 않는 추가의 프로그램들, 모듈들 및 데이터 구조들을 저장한다. 예를 들어, 디바이스(300)의 메모리(370)는 옵션적으로 그리기 모듈(380), 프레젠테이션 모듈(382), 워드 프로세싱 모듈(384), 웹사이트 제작 모듈(386), 디스크 저작 모듈(388), 및/또는 스프레드시트 모듈(390)을 저장하고, 반면에 휴대용 다기능 디바이스(100)(도 1a)의 메모리(102)는 옵션적으로 이러한 모듈들을 저장하지 않는다.
도 3에서의 앞서 확인된 요소들 각각은, 옵션적으로, 전술한 메모리 디바이스들 중 하나 이상에 저장된다. 앞서 확인된 모듈들 각각은 전술한 기능을 수행하기 위한 명령어들의 세트에 대응한다. 앞서 확인된 모듈들 또는 프로그램들(즉, 명령어들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없으며, 따라서 다양한 실시예들에서 이들 모듈의 다양한 서브세트들이 옵션적으로 조합되거나 그렇지 않으면 재배열된다. 일부 실시예들에서, 메모리(370)는, 옵션적으로, 소정 서브세트의 상기에 식별된 모듈들 및 데이터 구조들을 저장한다. 또한, 메모리(370)는, 옵션적으로, 전술되지 않은 추가적인 모듈들 및 데이터 구조들을 저장한다.
이제 휴대용 다기능 디바이스(100) 상에서 옵션적으로 구현되는 사용자 인터페이스들("UI")의 실시예들에 주목한다.
도 4는 일부 실시예들에 따른, 휴대용 다기능 디바이스(100) 상의 애플리케이션들의 메뉴에 대한 예시적인 사용자 인터페이스를 예시한다. 유사한 사용자 인터페이스들이 옵션적으로 디바이스(300) 상에 구현된다. 일부 실시예들에서, 사용자 인터페이스(400)는 다음의 요소들, 또는 그 서브세트나 수퍼세트를 포함한다:
Figure 112016099311510-pat00027
셀룰러 및 Wi-Fi 신호들과 같은 무선 통신(들)에 대한 신호 세기 표시자(들)(402);
Figure 112016099311510-pat00028
시간(404);
Figure 112016099311510-pat00029
블루투스 표시자(405);
Figure 112016099311510-pat00030
배터리 상태 표시자(406);
Figure 112016099311510-pat00031
다음과 같은, 빈번하게 사용되는 애플리케이션들에 대한 아이콘들을 갖는 트레이(408):
Figure 112016099311510-pat00032
부재 중 전화들 또는 음성메일 메시지들의 개수의 표시자(414)를 옵션적으로 포함하는 "전화"라고 라벨링된 전화 모듈(138)용 아이콘(416);
Figure 112016099311510-pat00033
읽지 않은 이-메일들의 개수의 표시자(410)를 옵션적으로 포함하는 "메일"이라고 라벨링된 이-메일 클라이언트 모듈(140)용 아이콘(418);
Figure 112016099311510-pat00034
"브라우저"라고 라벨링된 브라우저 모듈(147)용 아이콘(420); 및
Figure 112016099311510-pat00035
아이팟(애플 인크.의 상표) 모듈(152)로도 지칭되는, "아이팟"이라고 라벨링된 비디오 및 음악 재생기 모듈(152)용 아이콘(422); 및
Figure 112016099311510-pat00036
다음과 같은, 다른 애플리케이션들용 아이콘들:
Figure 112016099311510-pat00037
"메시지"라고 라벨링된 IM 모듈(141)용 아이콘(424);
Figure 112016099311510-pat00038
"캘린더"라고 라벨링된 캘린더 모듈(148)용 아이콘(426);
Figure 112016099311510-pat00039
"사진"이라고 라벨링된 이미지 관리 모듈(144)용 아이콘(428);
Figure 112016099311510-pat00040
"카메라"라고 라벨링된 카메라 모듈(143)용 아이콘(430);
Figure 112016099311510-pat00041
"온라인 비디오"라고 라벨링된 온라인 비디오 모듈(155)용 아이콘(432);
Figure 112016099311510-pat00042
"주식"이라고 라벨링된 주식 위젯(149-2)용 아이콘(434);
Figure 112016099311510-pat00043
"지도"라고 라벨링된 지도 모듈(154)용 아이콘(436);
Figure 112016099311510-pat00044
"날씨"라고 라벨링된 날씨 위젯(149-1)용 아이콘(438);
Figure 112016099311510-pat00045
"시계"라고 라벨링된 알람 시계 위젯(149-4)용 아이콘(440);
Figure 112016099311510-pat00046
"피트니스 지원"이라고 라벨링된 피트니스 모듈(142)에 대한 아이콘(442);
Figure 112016099311510-pat00047
"메모"라고 라벨링된 메모 모듈(153)에 대한 아이콘(444); 및
Figure 112016099311510-pat00048
디바이스(100) 및 그의 다양한 애플리케이션들(136)에 대한 설정에의 액세스를 제공하는 설정 애플리케이션 또는 모듈에 대한 아이콘(446).
도 4에 예시된 아이콘 라벨들은 단지 예시적인 것이라는 것이 주목되어야 한다. 예를 들면, 일부 실시예들에서, 비디오 및 음악 재생기 모듈(152)용 아이콘(422)은 "음악" 또는 "음악 재생기"로 라벨링된다. 기타 라벨들이 옵션적으로 다양한 애플리케이션 아이콘들에 대해 사용된다. 일부 실시예들에서, 각각의 애플리케이션 아이콘에 대한 라벨은 각각의 애플리케이션 아이콘에 대응하는 애플리케이션의 이름을 포함한다. 일부 실시예들에서, 특정 애플리케이션 아이콘에 대한 라벨은 특정 애플리케이션 아이콘에 대응하는 애플리케이션의 이름과 별개이다.
추가로, 하기의 예들이 손가락 입력들(예컨대, 손가락 접촉들, 손가락 탭 제스처들, 손가락 스와이프 제스처들 등)을 주로 참조하여 주어지는 반면, 일부 실시예들에서, 손가락 입력들 중 하나 이상은 다른 입력 디바이스로부터의 입력(예컨대, 마우스 기반 입력 또는 스타일러스 입력)으로 대체되는 것이 이해되어야 한다. 예를 들면, 스와이프 제스처가 옵션적으로 (예를 들면, 접촉 대신의) 마우스 클릭 및 뒤이은 (예컨대, 접촉의 이동 대신의) 스와이프의 경로를 따른 커서의 이동으로 대체된다. 다른 예로서, (예를 들면, 접촉의 검출 및 뒤이은 접촉을 검출하기를 중단하는 것 대신) 커서가 탭 제스처의 위치 위에 위치되는 동안에 탭 제스처가 옵션적으로 마우스 클릭으로 대체된다. 유사하게, 다수의 사용자 입력이 동시에 검출되는 경우, 다수의 컴퓨터 마우스가 옵션적으로 동시에 사용되거나, 또는 마우스와 손가락 접촉들이 옵션적으로 동시에 사용되는 것으로 이해하여야 한다.
본 명세서에 사용되는 바와 같이, 용어 "포커스 선택자"는 사용자가 상호작용하고 있는 사용자 인터페이스의 현재 부분을 나타내는 입력 요소를 지칭한다. 커서 또는 다른 위치 마커를 포함하는 일부 구현예들에서, 커서가 특정 사용자 인터페이스 요소(예컨대, 버튼, 윈도우, 슬라이더 또는 다른 사용자 인터페이스 요소) 위에 있는 동안에 입력(예컨대, 누르기 입력)이 터치 감응형 표면(예컨대, 도 3에서의 터치 패드(355)) 상에서 검출될 때 특정 사용자 인터페이스 요소가 검출된 입력에 따라 조정되도록, 커서는 "포커스 선택자"로서의 역할을 한다. 터치 스크린 디스플레이 상의 사용자 인터페이스 요소들과의 직접적인 상호작용을 가능하게 하는 터치 스크린 디스플레이(예컨대, 도 1a에서의 터치 감응형 디스플레이(112) 또는 도 4에서의 터치 스크린)를 포함하는 일부 구현예들에서, 입력(예컨대, 접촉에 의한 누르기 입력)이 특정 사용자 인터페이스 요소(예컨대, 버튼, 윈도우, 슬라이더 또는 다른 사용자 인터페이스 요소)의 위치에 있는 터치 스크린 디스플레이 상에서 검출될 때 특정 사용자 인터페이스 요소가 검출된 입력에 따라 조정되도록, 터치 스크린 상의 검출된 접촉은 "포커스 선택자"로서의 역할을 한다. 일부 구현예들에서, (예컨대, 탭 키(tab key) 또는 화살표 키들을 사용하여 포커스를 하나의 버튼으로부터 다른 버튼으로 움직이는 것에 의해) 터치 스크린 디스플레이 상에서의 대응하는 커서의 이동 또는 접촉의 이동 없이 포커스가 사용자 인터페이스의 하나의 영역으로부터 사용자 인터페이스의 다른 영역으로 이동되며; 이 구현들에서, 포커스 선택자는 사용자 인터페이스의 상이한 영역들 사이에서의 포커스의 이동에 따라 움직인다. 포커스 선택자가 가지는 특정의 형태와 무관하게, 포커스 선택자는 일반적으로 (예컨대, 사용자가 상호작용하고자 하는 사용자 인터페이스의 요소를 디바이스에 알려주는 것에 의해) 사용자 인터페이스와의 사용자의 의도된 상호작용을 전달하기 위해 사용자에 의해 제어되는 사용자 인터페이스 요소(또는 터치 스크린 디스플레이 상에서의 접촉)이다. 예를 들어, 터치 감응형 표면(예컨대, 터치패드 또는 터치 스크린) 상에서 누르기 입력이 검출되는 동안 각각의 버튼 위의 포커스 선택자(예컨대, 커서, 접촉 또는 선택 상자)의 위치는 (디바이스의 디스플레이 상에 보여지는 다른 사용자 인터페이스 요소들과 달리) 사용자가 각각의 버튼을 활성화시키려고 하고 있다는 것을 나타낼 것이다.
일부 실시예들에서, 디바이스에 의해 검출된 입력들에 대한 디바이스의 응답은 입력 동안 접촉 세기에 기초한 기준들에 따라 달라진다. 예를 들어, 일부 "가볍게 누르기" 입력의 경우, 입력 중 제1 세기 임계치를 초과하는 접촉의 세기는 제1 응답을 트리거한다. 일부 실시예들에서, 디바이스에 의해 검출된 입력들에 대한 디바이스의 응답은 입력 중 접촉 세기 및 시간-기반 기준들을 포함하는 기준들에 따라 달라진다. 예를 들어, 일부 "깊게 누르기" 입력의 경우, 가볍게 누르기에 대한 제1 세기 임계치보다 큰, 입력 중 제2 세기 임계치를 초과하는 접촉의 세기는, 제1 세기 임계치를 충족하는 것과 제2 세기 임계치를 충족하는 것 사이에서 지연 시간이 경과하는 경우에만, 제2 응답을 트리거한다. 이 지연 시간은 통상적으로 200 ms 미만의 지속시간(예컨대, 제2 세기 임계치의 크기에 따라 40, 100, 또는 120 ms이고, 제2 세기 임계치가 증가함에 따라 지연 시간이 증가함)이다. 이 지연 시간은 우발적 깊게 누르기 입력의 방지를 돕는다. 다른 예로서, 일부 "깊게 누르기" 입력의 경우, 제1 세기 임계치가 충족되는 시간 이후에 발생하는 민감도 감소 기간이 있다. 민감도 감소 기간 동안, 제2 세기 임계치가 증가된다. 제2 세기 임계치의 일시적인 증가는 또한 우발적 깊게 누르기 입력의 방지를 돕는다. 다른 깊게 누르기 입력의 경우, 깊게 누르기 입력의 검출에 대한 응답은 시간-기반 기준들에 따라 달라지지 않는다.
일부 실시예들에서, 하나 이상의 입력 세기 임계치 및/또는 대응하는 출력은 하나 이상의 요인, 예컨대 사용자 설정, 접촉 모션, 입력 타이밍, 애플리케이션 실행, 세기가 적용되는 속도, 동시 입력의 수, 사용자 이력, 환경적 요인(예컨대, 주변 노이즈), 포커스 선택자 위치 등에 기초하여 달라진다. 예시적인 요인들이 미국 특허 출원 번호 제14/399,606호 및 제14/624,296호에 기술되고, 이는 본 명세서에 전체적으로 참조로서 포함된다.
사용자 인터페이스 및 연관된 프로세스
이제 예를 들어, 디스플레이, 터치 감응형 표면, 및 터치 감응형 표면과의 접촉들의 세기들을 검출하는 하나 이상의 센서를 구비한 휴대용 다기능 디바이스(100) 또는 디바이스(300)와 같은 전자 디바이스 상에서 구현될 수 있는 사용자 인터페이스("UI") 및 연관된 프로세스의 실시예들에 대하여 집중한다.
다수의 키보드 사이의 토글링
도 5a 내지 도 5f는 일부 실시예들에 따른, 다수의 키보드 사이의 토글링을 위한 예시적인 사용자 인터페이스들을 예시한다. 이 도면들에서의 사용자 인터페이스들은 도 6a 및 도 6b에서의 프로세스들을 비롯한, 이하에 기술되는 프로세스들을 설명하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이(112)를 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 옵션적으로: 각각의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 각각의 접촉의 중심, 또는 각각의 접촉과 연관된 지점), 또는 터치 감응형 디스플레이(112) 상에 검출된 둘 이상의 접촉들의 중심이다.
도 5a는 제1 키보드(502)의 문자/키 선택에 응답하여 텍스트 영역에 문자들이 표시된 일 실시예를 예시한 것으로서, 가상 키들이 제1 언어(예컨대, 영어)와 연관된 로만체(Roman) 문자를 표시하고 있다. 이러한 실시예에서, 키보드는 메모 애플리케이션의 그래픽 사용자 인터페이스 상에 표시된 가상 키보드이다. 사용자는 사용자 키스트로크 입력을 허용하는 메모 애플리케이션의 텍스트 영역을 선택한다. 텍스트 영역의 사용자 선택에 의해, 가상 키들의 선택은 텍스트 영역 내에 문자(500)들을 표시한다.
제1 키보드는 또한 제1 지정된 키(504)를 포함한다. 예를 들어, 제1 지정된 키는 캡스록(caps-lock) 키일 수 있다. 일부 실시예들에서, 제1 지정된 키는 미리 결정된 영숫자 키이다. 일부 실시예들에서, 제1 지정된 키는 사용자 선택가능한 것으로, 예컨대, 사용자는 특정 키를 제1 지정된 키로서 할당할 수 있다.
도 5b는 전용 키보드 스위치 키를 선택함에 의해 사용자가 제2 키보드를 선택하는 실시예를 예시한다. 일부 실시예들에서, 전용 키보드 스위치 키는 구형(globe) 아이콘에 의해 나타낸다. 예를 들어, 도 5a는 전용 키보드 스위치 키로서의 구형 아이콘(505)을 표시한다. 여기서, 구형 아이콘의 선택 이후, 서브 메뉴(507)가 표시되면서 사용자에 의한 키보드 선택 옵션들을 제공한다. 서브 메뉴는 현재 선택된 키보드를 포함하여, 선택을 위해 이용 가능한 키보드들을 보여준다. 이러한 예에서, 사용자는 서브 메뉴로부터 병음(Pinyin) 키보드를 제2 키보드로서 선택한다.
도 5c는 제2 키보드가 제1 언어의 문자들에 대응하는 키들의 제2 세트를 포함하고 있는 반면, 출력된 문자들은 상이한 제2 언어의 것들인 실시예를 예시한다. 이러한 예에서, 병음 키보드(로만체 영문자)로부터의 문자 선택에 응답하여 텍스트 영역 내에 중국 문자들이 표시된다. 병음은 로만체 시스템으로서 기능함으로써 중국 단어들이 표음적으로(phonetically) 영어로 써지도록 허용한다. 현재 실시예에서는 키보드의 키들의 세트를 위해 로만체 문자들을 활용하도록 병음 키보드를 제공한다. 사용자들은 중국어 단어들을 표음적으로 철자하기 위해 로만체 영어 문자들을 타이핑할 수 있다. 각각의 로만체 문자, 또는 로만체 문자들의 시퀀스는 중국 문자(들)와 연관된다. 단어가 완성되면, 로만체 영문자들은 대응하는 간체 중국어 문자(들)로 자동적으로 변환된다. 이러한 예에 도시된 바와 같이, 병음 키보드가 제2 키보드로서 선택된다. 제2 키보드는 제2 언어와 연관된 문자들의 세트에 대응하는 (로만체 스크립트로서의) 키들의 제1 세트를 가지며, 본 예에서 이는 병음이다. 사용자는 이어서 중국 단어를 표음적으로 철자하기 위해 로만체 영문자들을 선택한다. 로만체 영문자(512)들이 메모 애플리케이션의 텍스트 영역에 출력된다. 사용자에 의해 병음으로 타이핑된 이전 단어들이 각자의 중국 단어 각각이 영어로 표음적으로 철자되는 것이 완료되면서 자동적으로 간체 중국어(510)로 변환되었다. 일부 실시예들에서, 제안된 중국 단어는 병음 언어 사전 및 자동 고침 기능에 기초하여 키보드의 영숫자 키들의 위에 배치된 행(514) 내에 표시될 것이다.
이러한 예에서, 제2 키보드는 키보드 아이콘을 이용해 나타낸 제2 지정된 키(508)를 포함한다. 일부 실시예들에서, 제2 키보드를 위한 지정된 키, 및 제1 키보드를 위한 지정된 키는 동일한 위치를 공유한다.
도 5d는 제3 키보드(514)로부터 문자 선택을 한 것에 응답하여 텍스트 영역 내에 제1 언어(518)의 문자들이 표시되는 실시예를 예시한다. 제3 키보드는 제1 언어(예컨대, 영어)와 연관된 문자들의 세트에 대응하는 (예컨대, 로만체 스크립트) 키들의 제1 세트를 갖는다. 이러한 예에 도시된 바와 같이, 도 5c에 이전에 도시된 바와 같이(508), 제2 키보드의 제2 지정된 키의 선택에 의해, 언어가 제2 키보드(도 5c)와 제3 키보드(도 5d) 사이에서 스위칭되었다. 제2 지정된 키는 제2 키보드와 제3 키보드 사이에서 토글한다. 제2 지정된 키와 유사한 방식으로, 제3 키보드 상의 제3 지정된 키(516)는 제3 키보드와 제2 키보드 사이의 토글링을 제공한다. 이러한 예에서, 그들 각자의 키보드를 위한 제1, 제2, 및 제3 지정된 키들은 모두 동일한 위치를 공유한다. 이러한 토글 기능성은 상이한 각자의 언어 및 서로 함께 사용되는 키보드들을 활용하는 키보드들 사이의 보다 신속한 스위칭을 제공한다.
도 5e는 적용가능한 키보드를 위한 대응하는 언어와 연관된 각자의 자동 고침 사전의 예를 예시한다. 이러한 예에서, 제3 키보드는 제1 언어(134-1)와 연관되어 있고(도 3)(예컨대, 영어) 따라서 그러한 언어를 위한 자동 고침 사전은 그러한 언어(134-2)로 단어들을 제안하도록 이용된다(도 3)(예컨대, 영단어). 이러한 예에서, 텍스트 선택 "bck"(520)는 연관된 영어 사전 내의 인식되는 단어와 매칭되지 않는다. 따라서, 자동 고침 사전은 텍스트 선택 "bck"를 해결하기 위해 다수의 옵션(522)을 제공한다. 일부 실시예들에서, 옵션들은 자동 고침 사전과 연관된 예측 텍스트 알고리듬으로부터 생성된다.
도 5f는 적용가능한 키보드를 위한 대응하는 언어와 연관된 각자의 자동 고침 사전의 다른 예를 예시한다. 이러한 예에서, 제2 키보드는 제2 언어(134-1)와 연관되어 있고(도 3)(예컨대, 병음) 따라서 그러한 언어를 위한 자동 고침 사전은 그러한 언어(134-2)로 단어들을 제안하도록 이용된다(도 3)(예컨대, 병음). 이러한 예에서, 텍스트 선택 "yun"(524)은 연관된 병음 사전 내의 인식되는 단어와 매칭되지 않는다. 따라서, 자동 고침 사전은 텍스트 선택 "yun"을 해결하기 위해 다수의 옵션(526)을 제공한다. 옵션들은 병음 및/또는 간체 중국어 문자 둘 모두일 수 있다. 일부 실시예들에서, 옵션들은 자동 고침 사전과 연관된 예측 텍스트 알고리듬으로부터 생성된다.
도 6a 및 도 6b는 일부 실시예들에 따른, 다수의 키보드 사이의 토글링 방법(600)을 예시하는 흐름도이다. 방법(600)은 디스플레이 및 터치 감응형 표면을 갖는 전자 디바이스(예를 들어, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고 터치 감응형 표면이 디스플레이 상에 있거나 디스플레이와 일체화된다(간략히 터치 감응형 디스플레이(112)로도 지칭됨, 도 1a).
아래에 기술되는 바와 같이, 방법(600)은 종종 함께 사용되는 다수의 키보드, 예컨대, 영어 및 병음 키보드 사이의 토글링의 용이한 방식을 제공한다.
디바이스는 터치 감응형 디스플레이 상에 제1 키보드를 표시하며(단계 602), 제1 키보드는 제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제1 세트를 갖는다. 디바이스는 또한 터치 감응형 디스플레이 상의 위치에 표시된 제1 지정된 키를 표시하며, 제1 지정된 키는 제1 기능과 연관된다. 제1 키보드는 키들의 제1 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다. 예를 들어, 도 5a는 제1 키보드(502)를 도시한 것으로, 여기서 로만체 문자들의 세트에 대응하는 키들의 제1 세트의 선택이 텍스트 영역(500) 내에 제1 언어, 즉 영어로 텍스트를 출력하게 한다. 이러한 예에서, 제1 지정된 키는 캡스록 키일 수 있다. 제1 지정된 키는 제1 기능과 연관된다. 일부 실시예들에서, 이러한 예에서의 제1 지정된 키, 즉, 캡스록 키는 캡스록 키가 선택된 것에 후속하여 수행된 임의의 문자 선택에 대문자를 제공한다.
일부 실시예들에서, 제1, 제2, 및 제3 지정된 키들 중 임의의 키는 선택된 각자의 키보드 중 캡스록, 시프트, 또는 포맷팅 기능 키 중 임의의 한 키이다(단계 604). 일부 언어들은 대문자를 사용하지 않으므로(예컨대, 병음), 소정 언어들에서는 지정된 키가 캡스록 또는 시프트로서 지정되게 하는 것이 바람직할 수 있다. 예를 들어, 도 5a에서, 제1 지정된 키는 캡스록 키이다.
일부 실시예들에서, 제1, 제2, 및 제3 지정된 키들 중 임의의 키의 선택은 터치 감응형 디스플레이 상의 단일 탭 선택에 의해 인에이블된다(단계 606). 일부 실시예들에서, 지정된 키의 선택은 지정된 키 영역 상의 단일 탭, 누르기, 또는 유지를 위한 미리정의된 탭 선택이 할당될 수 있다. 일부 실시예들에서, 각자의 제2 또는 제3 지정된 키 상에서의 높은 세기 또는 힘을 갖는 누르기는 키보드 선택이 제1 키보드로 토글링되도록 제공한다.
일부 실시예들에서, 키들의 제1 및 제2 세트는 로만체 스크립트를 활용한다(단계 608). 도 5a 및 도 5c에서, 제1 키보드(502)의 키들의 제1 세트는 제1 언어(예컨대, 영어)와 연관된 로만체 문자 스크립트에 대응한다. 제2 키보드(502)의 키들의 제2 세트는 제2 언어(예컨대, 병음)와 연관된 로만체 문자 스크립트에 대응한다. 각각의 로만체 문자, 또는 로만체 문자들의 시퀀스는 표시된 중국 문자와 연관된다. 단어가 완성되면, 로만체 영문자들은 자동적으로 간체 중국어 문자들로 변환된다. 예를 들어, 도 5c는 "
Figure 112016099311510-pat00049
"의 로만체 문자 선택을 표시한다. 이러한 문자 선택은 각자의 중국 단어를 표음적으로 영어로 철자하는 것이 완료될 경우 간체 중국어 문자로 변환된다. 예를 들어, 도 5d는 "
Figure 112016099311510-pat00050
"가 대응하는 중국어 문자로 대체된 것을 예시한다.
일부 실시예들에서, 제1 언어는 제1 자동 고침 사전과 연관되고, 제2 언어는 제2 자동 고침 사전과 연관된다(단계 610). 예를 들어, 도 5e는 영어와 함께 이용되는 자동 고침 사전을 예시한 것으로서, 제안들과 함께 미인식된 문자 스트링을 유지하게 하는 옵션이 문자 키들 위의 행 내에 제공되고 있다. 유사한 방식으로, 도 5f의 예는 병음과 함께 사용되는 자동 고침 사전을 예시한다. 일부 실시예들에서, 자동 고침 사전은 제안들만 제공한다. 일부 실시예들에서, 자동 고침 사전은 미리 결정된 자동 고침 규칙들에 기초하여 선택된 문자 스트링을 자동적으로 교정한다.
다음으로, 디바이스는 사용자가 키보드 선택 키(예컨대, 구형 키)를 선택함에 의해 제2 키보드를 표시하기 위한 선택을 수신한다(단계 612). 일부 실시예들에서, 제2 키보드를 표시하기 위한 선택을 수신하는 단계는 전용 키보드 스위치 키의 선택을 수신하는 단계를 추가로 포함한다(단계 626). 예를 들어, 도 5b는 사용자가 전용 키보드 스위치 키(예컨대, 구형 아이콘(505)에 의해 나타낸 키)를 선택함에 의해 제2 키보드를 선택함을 예시한다. 제2 키보드는 제2 언어(예컨대, 병음)와 연관된 문자들의 세트에 대응하는 (예컨대, 로만체 스크립트) 키들의 제2 세트를 갖는다. 구형 키의 선택에 후속하여, 서브 메뉴는 제2 키보드(505-1)의 선택을 허용한다. 대안적으로, 사용자는 키보드 선택 키를 탭하여 다음으로 이용 가능한 키보드를 연속적으로 선택한다.
일부 실시예들에서, 디바이스는 제3 키보드를 표시하기 위한 제2 지정된 키의 선택을 수신한다(단계 614). 예를 들어, 도 5c에서, 제2 지정된 키는 키보드 토글 키로서 508로 나타나있다. 이러한 예에서 키보드 토글 키의 선택은 제2 키보드로부터 제3 키보드로 토글한다.
일부 실시예들에서, 디바이스는 제3 키보드를 표시하며, 제3 키보드는 제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제3 세트를 갖는다. 디바이스는 또한 위치에 배치된 제3 지정된 키를 표시하며, 여기서 제3 지정된 키는 제2 지정된 키와 동일하다(예컨대, 도 5d의 제3 지정된 키(518)는 도 5c의 제2 지정된 키(508)와 동일한 위치에 있음). 제3 키보드는 키들의 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다(단계 616). 예를 들어, 도 5d에서, 제3 키보드(514)가 선택되어 제1 언어인 영어의 문자(518)들을 표시하는 키들의 세트를 표시한다. 제3 지정된 키는 518로 나타낸다. 일부 실시예들에서, 디바이스는 제2 키보드를 표시하기 위한 제3 지정된 키의 선택을 수신한다(단계 618). 응답으로서, 디바이스는 이어서 제2 키보드를 표시한다(단계 620).
일부 실시예들에서, 제2 키보드 및 제3 키보드는 시각적으로 동일하다(단계 622). 예를 들어, 도 5c 및 도 5d에서, 제2 및 제3 키보드는 각자의 지정된 키들에 대해 같은 위치를 가지면서 동일한 것으로 도시되어 있다.
일부 실시예들에서, 제1 키보드는 제1 지정된 키를 제외하고, 제2 키보드 및 제3 키보드 둘 모두와 시각적으로 동일하다(단계 624). 예를 들어, 도 5c 및 도 5d에서, 제2 및 제3 키보드는 지정된 키들과 같은 위치를 가지면서 동일한 것으로 도시되어 있다. 제1 키보드는 지정된 키로서 캡스록 키를 이용하고 있으나, 제1 지정된 키의 기능은 제1 기능(예컨대, 대문자 생성, 다른 프로그램된 기능들의 수행)과 연관된다. 일부 실시예들에서, 제1 지정된 키는 제2 및 제3 지정된 키와 시각적으로 구별된다. 예를 들어, 도 5a에서 제1 지정된 키(504)는 "캡스록" 키로서 표시되어 있다. 그러나 제2 지정된 키(508) 및 제3 지정된 키(516)는 도 5a 및 도 5c에서 각자 키보드 아이콘들로서 표시된다.
다음으로, 디바이스는 터치 감응형 디스플레이 상에 제2 키보드를 표시하며, 제2 키보드는 제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제2 세트를 갖는다. 디바이스는 또한 위치에 표시되고 제1 기능과 상이한 제2 기능과 연관된 제2 지정된 키를 표시하며, 여기서 제2 기능은 제2 키보드 및 제3 키보드를 포함한 키보드들 사이에서 토글한다. 예를 들어, 도 5a에서 제1 지정된 키(504)의 제1 기능은 캡스록인 반면, 도 5c에서 제2 지정된 키(508)의 제2 기능은 키보드 토글이다. 제2 키보드는 키들의 제2 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어와 상이한 제2 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다(단계 628). 예를 들어, 도 5c는 제2 및 제3 키보드 사이에서 토글하도록 기능하는 제2 지정된 키(508)를 갖는 제2 키보드(506)를 예시한다.
일부 실시예들에서, 키들의 제2 세트 중 임의의 키의 선택이 텍스트 영역에 제2 키보드의 제2 언어에 대응하는 병음 문자를 표시한다(단계 630). 예를 들어, 도 5c에서, 제2 키보드(506) 상의 키들의 제2 세트의 선택은 병음 문자(512)들을 표시한다.
도 6a 및 도 6b에서의 동작들이 설명되는 특정한 순서는 단지 예시적이며, 설명된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내도록 의도되지 않는다는 것을 이해하여야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(600, 900, 1200, 1500))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 6a 및 도 6b와 관련하여 전술된 방법(600)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 간결성을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
일부 실시예들에 따르면, 도 7은 다양한 기술된 실시예들의 원리들에 따라 구성된 전자 디바이스(700)의 기능 블록 다이어그램을 나타낸 것이다. 디바이스의 기능 블록들은, 옵션적으로, 다양한 기술된 실시예들의 원리들을 실행하기 위한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합에 의해 구현된다. 다양한 기술된 실시예들의 원리들을 구현하기 위해 도 7에서 기술된 기능 블록들이 옵션적으로 조합되거나 서브블록들로 분리될 수 있음이 통상의 기술자에 의해 이해된다. 따라서, 본 명세서의 설명은, 옵션적으로, 본 명세서에 기술된 기능 블록들의 임의의 가능성있는 조합 또는 분리 또는 추가 정의를 지원한다.
도 7에 도시된 바와 같이, 전자 디바이스(700)는 사용자 인터페이스를 표시하도록 구성된 디스플레이 유닛(702), 접촉들을 수용하도록 구성된 터치 감응형 표면 유닛(704), 및 디스플레이 유닛(702)과 터치 감응형 표면 유닛(704)에 결합된 프로세싱 유닛(708)을 포함한다. 일부 실시예들에서, 프로세싱 유닛(708)은 표시 인에이블 유닛(710), 및 수신 유닛(712)을 포함한다.
프로세싱 유닛(708)은 (예컨대, 디스플레이 인에이블 유닛(710)을 이용하여) 터치 감응형 디스플레이 상에 제1 키보드의 표시를 인에이블하도록 구성되며, 제1 키보드는 제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제1 세트를 갖는다. 제1 키보드는 또한 터치 감응형 디스플레이 상의 위치에 표시된 제1 지정된 키를 가지며, 제1 지정된 키는 제1 기능과 연관된다. 제1 키보드는 키들의 제1 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다. 프로세싱 유닛은 (예컨대, 수신 유닛(712)을 이용하여) 제2 키보드의 표시를 인에이블하기 위한 선택을 수신하도록 추가로 구성된다. 선택을 수신한 것에 응답하여, 프로세싱 유닛은 (예컨대, 디스플레이 인에이블 유닛(710)을 이용하여) 터치 감응형 디스플레이 상에서 제2 키보드의 표시를 인에이블하도록 추가로 구성된다. 제2 키보드는 제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제2 세트를 포함한다. 제2 키보드는 또한 위치에 표시되고 제1 기능과 상이한 제2 기능과 연관된 제2 지정된 키를 표시하며, 여기서 제2 기능은 제2 키보드 및 제3 키보드를 포함한 키보드들 사이에서 토글한다. 제2 키보드는 키들의 제2 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어와 상이한 제2 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다.
일부 실시예들에서, 프로세싱 유닛(708)은 (예컨대, 수신 유닛(712)을 이용하여) 제3 키보드를 표시하기 위한 제2 지정된 키의 선택을 수신하도록 추가로 구성된다. 이어서, 선택을 수신한 것에 응답하여, (예컨대, 디스플레이 인에이블 유닛(710)을 이용하여) 제3 키보드의 표시를 인에이블한다. 제3 키보드는 위치에 배치된 제1 언어 및 제3 지정된 키와 연관된 문자들의 세트에 대응하는 키들의 제3 세트를 포함한다. 제3 지정된 키는 제2 지정된 키와 동일하고, 제3 키보드는 키들의 세트 중 임의의 키의 선택이 텍스트 영역에 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성된다.
일부 실시예들에서, 프로세싱 유닛(708)은 (예컨대, 수신 유닛(712)을 이용하여) 제2 키보드를 표시하기 위한 제3 지정된 키의 선택을 수신하도록 추가로 구성된다. 이어서, 선택을 수신한 것에 응답하여, (예컨대, 디스플레이 인에이블 유닛(710)을 이용하여) 제2 키보드의 표시를 인에이블한다.
일부 실시예들에서, 제1, 제2, 및 제3 지정된 키들 중 임의의 키는 터치 감응형 디스플레이(704) 상에 선택된 각자의 키보드 중 캡스록, 시프트, 또는 포맷팅 기능 키 중 임의의 한 키이다.
일부 실시예들에서, 제1, 제2, 및 제3 지정된 키들 중 임의의 키의 선택은 터치 감응형 디스플레이(704) 상의 단일 탭 선택에 의해 인에이블된다.
일부 실시예들에서, 제2 키보드 및 제3 키보드는 터치 감응형 디스플레이(704) 상에서 시각적으로 동일하다.
일부 실시예들에서, 제1 키보드는 터치 감응형 디스플레이(704) 상의 제1 지정된 키를 제외하고 제2 키보드 및 제3 키보드 둘 모두와 시각적으로 동일하다.
일부 실시예들에서, 제1 언어는 제1 자동 고침 사전과 연관되고, 제2 언어는 터치 감응형 디스플레이(704) 상의 제2 자동 고침 사전과 연관된다.
일부 실시예들에서, 키들의 제1 및 제2 세트는 터치 감응형 디스플레이(704) 상의 로만체 스크립트를 활용한다.
일부 실시예들에서, 제2 키보드를 표시하기 위한 선택을 수신하는 것은 프로세싱 유닛(708)으로 하여금 (예컨대, 수신 유닛(712)을 이용하여) 지정된 키보드 스위치 키의 선택을 수신하도록 추가로 구성되게 한다.
일부 실시예들에서, 키들의 제2 세트 중 임의의 키의 선택은, 텍스트 영역에, 터치 감응형 디스플레이(704) 상의 제2 키보드의 제2 언어에 대응하는 병음 문자를 표시한다.
전술된 정보 프로세싱 방법들에서의 동작들은 옵션적으로 (예컨대, 도 1a 및 도 3과 관련하여 전술된 바와 같은) 범용 프로세서들 또는 애플리케이션 특정 칩들과 같은 정보 프로세싱 장치 내의 하나 이상의 기능 모듈들을 실행시킴으로써 구현된다.
도 6a 및 도 6b를 참조하여 전술된 동작들은, 옵션적으로, 도 1a, 도 1b 또는 도 7에 도시된 컴포넌트들에 의해 구현된다. 예를 들어, 표시 동작(602), 수신 동작(612), 표시 동작 (628)이, 옵션적으로, 디스플레이 인에이블 유닛(710), 수신 유닛(712), 및 디스플레이 인에이블 유닛(710)에 의해 구현된다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감응형 디스플레이(112) 상에의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)에 전달한다. 애플리케이션(136-1)의 개별 이벤트 인식기(180)는 이벤트 정보를 개별 이벤트 정의(186)와 비교하고, 터치 감응형 표면 상의 제1 위치에서의 제1 접촉이 사용자 인터페이스 상의 객체의 선택과 같은 미리정의된 이벤트 또는 서브이벤트, 또는 하나의 배향에서 다른 배향으로의 디바이스의 회전에 대응하는지 여부(또는 디바이스의 회전 여부)를 결정한다. 개별 미리정의된 이벤트 또는 서브이벤트가 검출되는 경우, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 검출과 연관된 이벤트 핸들러(190)를 활성화시킨다. 이벤트 핸들러(190)는 옵션적으로 데이터 업데이터(176) 또는 객체 업데이터(177)를 이용하거나 호출하여, 애플리케이션 내부 상태(192)를 업데이트한다. 일부 실시예들에서, 이벤트 핸들러(190)는 개별 GUI 업데이터(178)에 액세스하여, 애플리케이션에 의해 표시되는 것을 업데이트한다. 유사하게, 다른 프로세스들이 도 1a 및 도 1b에 도시된 컴포넌트들에 기초하여 어떻게 구현될 수 있는지는 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
부가적 키보드 옵션 제공하기
도 8a 내지 도 8i는 일부 실시예들에 따른, 부가적 키보드 옵션을 제공하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이 도면들에서의 사용자 인터페이스들은 도 9a 및 도 9b에서의 프로세스들을 비롯한, 이하에 기술되는 프로세스들을 설명하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이(112)를 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 옵션적으로: 각각의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 각각의 접촉의 중심, 또는 각각의 접촉과 연관된 지점), 또는 터치 감응형 디스플레이(112) 상에 검출된 둘 이상의 접촉들의 중심이다.
도 8a는 가상 키보드(802) 상에서 이루어진 문자들(804)의 선택에 대응하는 키보드 옵션들(806)의 행의 실시예를 예시한다. 한정되지는 않으나, 행은 포맷팅 옵션, 이모지 문자, 및 예측 텍스트를 포함하는 부가적 키보드 옵션을 제공한다. 이러한 예에서, 선택된 문자는 "brwn"으로서 이는 영숫자 키들 위에 제시된 키보드 옵션들의 행 내에 3개의 옵션을 표시하게 한다. 3개 옵션 모두가 키보드 옵션들의 행 내부에 맞추어질 수 있으므로, 이러한 예에서, 부가적 키보드 옵션들을 제공하는 어포던스는 제공되지 않는다. 일부 실시예들에서, 키보드 옵션들은 제3자 애플리케이션과 상호작용하기 위한 기능들이다. 일부 실시예들에서, 키보드 옵션들은 사용자 선호도 및 행동에 기초한다. 일부 실시예들에서, 하나 이상의 부가적 키보드 옵션이 모든 문자 선택을 위해 선택 가능한 채로 유지된다(예컨대, 문자 선택과 무관하게 옵션이 영구적으로 표시됨). 일부 실시예들에서, 영숫자 키들 위에 행이 배치된다. 일부 실시예들에서, 영숫자 키들 아래에 행이 배치된다. 일부 실시예들에서, 영숫자 키들의 인접 측부에 행이 배치된다.
도 8b는 가상 키보드 상에서의 문자들(804)의 선택에 대응하는 키보드 옵션들의 행의 실시예를 예시한 것으로서, 부가적 키보드 옵션 어포던스가 행(808) 내에 있다. 문자들의 선택에 대응하는 키보드 옵션들의 수가 행 내의 이용 가능한 공간을 초과하기 때문에, 부가적 키보드 옵션 어포던스가 행 내에 표시된다. 부가적 키보드 옵션 어포던스는 현재 행 내에 나타난 옵션들을 초과하여 더욱 많은 옵션들이 이용 가능하다는 표시를 제공한다. 이러한 예에서, 어포던스는 도트들의 배열로서 제공된다.
도 8c는 가상 키보드 상에서의 문자들(804)의 선택에 대응하는 부가적 키보드 옵션 어포던스(808)의 선택(810)의 실시예를 예시한다. 이러한 예에서, 터치 감응형 디스플레이의 지정된 영역 상의 단일 탭 선택은 도트들의 배열을 표시한다. 일부 실시예들에서, 부가적 키보드 옵션 어포던스의 선택은 부가적 키보드 옵션 어포던스 영역 상의 단일 탭, 누르기, 또는 유지를 위한 미리정의된 탭 선택이 할당될 수 있다.
도 8d는 터치 감응형 디스플레이 상의 하나 이상의 키보드 옵션(812)들의 행에서 스크롤 제스처를 수신함에 따라 부가적 키보드 옵션을 통한 터치-스크롤링의 실시예를 예시한다. 부가적 키보드 옵션 어포던스(808)의 이용 가능성은 스크롤링 제스처를 이용하여 키보드 옵션들을 스크롤할 수 있음을 사용자에게 표시한다. 일부 실시예들에서, 스크롤링 제스처의 속도는 키보드 옵션들이 스크롤되는 속력을 증가시킨다. 일부 실시예들에서, 스크롤링 제스처는 도트들(808)의 배열을 표시하는 지정된 영역 위에 있다. 일부 실시예들에서, 스크롤링 제스처는 키보드 옵션들을 표시하는 영역 위의 임의의 위치에 있다(예컨대, 문자 키들 위의 행).
도 8e는 문자 선택(804)에 기초한 부가적 키보드 옵션 어포던스의 선택에 응답하여 부가적 키보드 옵션(814)을 표시하는 실시예를 예시한다. 표시된 부가적 키보드 옵션 "brow", "bran", 및 "grown"은 "brwn", "brown", 및 "browned"을 표시하는 이전의 도 8d에 도시된 바와 같은 이전에 나타났던 키보드 옵션들과는 상이하다. 이러한 예에서, 3개의 부가적 키보드 옵션이 있다. 일부 실시예들에서, 부가적 키보드 옵션의 양은 보다 큰 수의 옵션들로 한정될 수 있다.
도 8f는 문자 선택(804)에 기초한 부가적 키보드 옵션 어포던스의 선택에 응답하여 부가적 키보드 옵션들의 실시예를 예시한다. 이러한 예에서, 부가적 키보드 옵션들은 추가적 키보드 옵션 어포던스(818)를 고려하여 행 내에서 약간 시프트(816)된다. 일부 실시예들에서, 추가적 키보드 옵션 어포던스의 선택은 이전에 표시된 옵션들을 제거하고 추가의 부가적 키보드 옵션들을 표시한다. 이러한 키보드 옵션 어포던스들과 대응하는 키보드 옵션들의 다음의 순차적 레벨의 선택의 프로세스는 문자 선택에 이용 가능한 키보드 옵션들의 양에 대해 반복될 수 있다.
도 8g는 키보드 옵션(822) 중 하나가 문자 선택(820)과 연관된 이모지 문자(824)인 실시예를 예시한다. 이러한 예에서, "happy"의 문자 선택은 "happier", "content", 및 해피 페이스(happy face)를 표현하는 이모지 문자의 키보드 옵션들을 제공한다. 이모지 문자는 문자 선택과 연관된다. 이러한 예에서, 부가적 키보드 옵션 어포던스(826)는 부가적 키보드 옵션들이 이용 가능함을 나타낸다.
도 8h는 키보드 옵션 중 하나가 문자 선택(820)과 연관된 포맷팅 기능(828)들을 제공하는 실시예를 예시한다. 이러한 예에서, 문자 선택은 "happy"이고 대응하는 옵션은 볼드체 "B"에 의해 나타낸 볼드 기능, 이탤릭체 글자 " U "에 의해 나타낸 이탤릭체 기능, 및 언더라인 글자 "U"에 의해 나타낸 언더라인 기능과 같은 포맷팅 기능들을 포함한다. 일부 실시예들에서, 포맷팅 기능들은 한정되지는 않으나, 폰트/색 조정, 간격 조정, 및 복사하기/오려내기 및 붙이기 기능성들을 포함한다.
도 8i는 제3자 애플리케이션 또는 제3자 애플리케이션 내의 기능들을 문자 선택(820)과 연관되게 호출하기 위한 제3자 어포던스(830)들을 제공하는 키보드 옵션 중 하나의 예를 예시한다. 예를 들어, 디바이스는 문자 선택을 제3자 애플리케이션으로 복사하기 위한 옵션을 제공할 것이다. 이러한 예에서, 문자 선택은 "happy"이고 키보드 옵션들 내에 선택되거나 포함된 대응하는 제3자 애플리케이션은 이메일 통합이다. 이러한 예에서, 키보드 옵션들은 문자 선택의 제3자 애플리케이션(예컨대, 이메일) 내로의 복사하기를 제공한다.
도 9a 및 도 9b는 일부 실시예들에 따른, 가상 키보드를 위한 부가적 키보드 옵션들을 제공하기 위한 방법(900)을 예시하는 흐름도이다. 방법(900)은 디스플레이 및 터치 감응형 표면을 갖는 전자 디바이스(예를 들어, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고 터치 감응형 표면이 디스플레이 상에 있거나 디스플레이와 일체화된다(간략히 터치 감응형 디스플레이로도 지칭됨). 방법(900)의 일부 동작들이 옵션적으로 조합되고 그리고/또는 일부 동작들의 순서가 옵션적으로 변경된다.
이하에서 기술되는 바와 같이, 방법(900)은 가상 키보드를 위한 부가적 키보드 옵션들을 제공하기 위한 용이한 방식을 제공한다.
디바이스는 영숫자 키, 및 영숫자 키 위에 또는 아래에 배치된 하나 이상의 키보드 옵션들의 행을 포함하는 가상 키보드를 표시한다(단계 902). 예를 들어, 도 8a는 가상 키보드(802), 및 영숫자 키(806) 위에 배치된 하나 이상의 키보드 옵션의 행을 표시한다. 일부 실시예들에서, 영숫자 키들과 하나 이상의 키보드 옵션의 행 사이에 텍스트 입력 영역이 있을 수 있다.
다음으로, 디바이스는 부가적 키보드 옵션들이 이용 가능한지 결정한다(단계 904). 예를 들어, 도 8b는 디바이스가 "brwn"의 문자 선택이 "brown" 또는 "browned"와 같은 하나 이상의 키보드 옵션의 행 내에 나타난 예측 텍스트 옵션을 생성함을 결정한 것을 제공한다. 부가적 키보드 옵션들은 하나 이상의 키보드 옵션이 행의 공간을 초과할 때 이용 가능하다.
일부 실시예들에서, 부가적 키보드 옵션들은 예측 텍스트 입력, 이모지 문자, 빈번하게 사용된 입력, 및 포맷팅 기능들로 이루어진 그룹에서 선택된 어포던스들을 포함한다(단계 906). 예를 들어, 도 8g는 키보드 옵션이 문자 선택(820)에 응답한 선택으로서 이모지 문자(824) 해피 페이스를 제공하는 것을 예시한다. 예를 들어, 도 8h는 키보드 옵션들이 문자 선택(820)에 연관되도록 예컨대 볼드, 이탤릭, 및 언더라인과 같은 포맷팅 기능성들(828)을 제공하는 것을 예시한다.
일부 실시예들에서, 부가적 키보드 옵션들은 제3자 애플리케이션을 위한 어포던스들을 제공한다(단계 908). 예를 들어, 도 8i는 부가적 키보드 옵션들이 문자 선택(820)에 기초하여 이메일 기능성들(830)을 제공하는 것을 예시한다.
이어서, 부가적 키보드 옵션들이 이용 가능하다는 결정에 따라, 디바이스는 행 내의 부가적 키보드 옵션 어포던스를 표시하는 것을 결정한다(단계 910). 예를 들어, 도 8b는 부가적 키보드 옵션들이 행 내의 이용 가능한 공간을 초과함에 따라, 부가적 키보드 옵션 어포던스(808)가 행 내에 표시되는 것을 예시한다. 일부 실시예들에서, 부가적 키보드 옵션 어포던스는 행의 위 또는 아래 중 어느 하나의 행에 인접하게 표시된다. 일부 실시예들에서, 부가적 키보드 옵션 어포던스는 행으로부터 이격된 개별적 위치에 배치된다.
일부 실시예들에서, 부가적 키보드 옵션 어포던스는 도트들의 제1 배열을 포함한다(단계 912). 예를 들어, 도 8b는 행 내부에 표시된 부가적 키보드 옵션 어포던스를 도트들(808)의 배열로서 예시한다. 일부 실시예들에서, 부가적 키보드 옵션 어포던스는 "혀"처럼 당겨지는 어포던스를 포함한다.
일부 실시예들에서, 디바이스는 부가적 키보드 옵션들이 행 내의 이용 가능한 공간을 초과하는지 결정한다(단계 914). 이러한 결정에 응답하여, 디바이스는 추가적 키보드 옵션 어포던스를 표시한다(단계 916). 예를 들어, 도 8f는 부가적 키보드 옵션들이 추가적 키보드 옵션 어포던스(818)에 의해 나타낸 바와 같이, 이용 가능한 공간을 초과한 것을 예시하며, 이에 대한 선택은 추가의 부가적 키보드 옵션을 제공할 것이다. 일부 실시예들에서, 추가적 키보드 옵션 어포던스는 도트들의 제2 배열을 포함한다(단계 918). 예를 들어, 도 8f는 추가적 키보드 옵션 어포던스(818)를 도트들의 제2 배열로서 예시한다.
일부 실시예들에서, 디바이스는 하나 이상의 키보드 옵션의 행에서 스크롤링 제스처를 수신한다(단계 920). 예를 들어, 도 8d는 문자 선택(804)에 기초한 하나 이상의 키보드 옵션의 행에서의 스크롤링 제스처(812)를 예시한다. 스크롤링 제스처를 수신한 것에 응답하여, 디바이스는 하나 이상의 키보드 옵션을 표시하기를 중단하고, 행 내의 부가적 키보드 옵션들 중 적어도 일부를 표시하며, 여기서 부가적 키보드 옵션들은 하나 이상의 키보드 옵션과 상이하다(단계 922).
이어서 부가적 키보드 옵션 어포던스의 선택의 검출시, 디바이스는 하나 이상의 키보드 옵션 중 적어도 일부를 표시하기를 중단하고, 행 내의 부가적 키보드 옵션들 중 적어도 일부를 표시한다. 예를 들어, 도 8c는 부가적 키보드 옵션 어포던스의 선택(810)이 검출되고 있는 것을 나타낸다. 현재의 키보드 옵션들은 "brwn", "brown", 및 "browned"이다. 예를 들어, 도 8e는 도 8c에 이어서, 예컨대, "brow", "bran", 및 "grown"과 같은 행(814) 내의 부가적 키보드 옵션들을 예시하고 있으며, 이전 옵션들인 "brwn", "brown", 및 "browned"의 표시는 중단되었다.
도 9a 및 도 9b에서의 동작들이 기술된 특정 순서는 단지 예시적인 것이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(600, 900, 1200, 1500))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 9a 및 도 9b와 관련하여 전술된 방법(900)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 간결성을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
일부 실시예들에 따르면, 도 10은 다양한 기술된 실시예들의 원리들에 따라 구성된 전자 디바이스(1000)의 기능 블록도를 도시한다. 디바이스의 기능 블록들은, 옵션적으로, 다양한 기술된 실시예들의 원리들을 실행하기 위한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합에 의해 구현된다. 다양한 기술된 실시예들의 원리들을 구현하기 위해 도 10에서 기술된 기능 블록들이 옵션적으로 조합되거나 서브블록들로 분리될 수 있음이 통상의 기술자에 의해 이해된다. 따라서, 본 명세서의 설명은, 옵션적으로, 본 명세서에 기술된 기능 블록들의 임의의 가능성있는 조합 또는 분리 또는 추가 정의를 지원한다.
도 10에 도시된 바와 같이, 전자 디바이스(1000)는 사용자 인터페이스를 표시하도록 구성된 디스플레이 유닛(1002), 접촉들을 수용하도록 구성된 터치 감응형 표면 유닛(1004), 및 디스플레이 유닛(1002)과 터치 감응형 표면 유닛(1004)에 결합된 프로세싱 유닛(1008)을 포함한다. 일부 실시예들에서, 프로세싱 유닛(1008)은 디스플레이 인에이블 유닛(1010), 결정 유닛(1012), 검출 유닛(1014), 중단 유닛(1016) 및 수신 유닛(1018)을 포함한다.
프로세싱 유닛(1008)은 (예컨대, 디스플레이 인에이블 유닛(1010)을 이용하여) 영숫자 키, 및 영숫자 키 위에 또는 아래에 배치된 하나 이상의 키보드 옵션의 행을 포함하는 가상 키보드의 표시를 인에이블하도록 구성된다. 프로세싱 유닛은 (예컨대, 결정 유닛(1012)을 이용하여) 부가적 키보드 옵션들이 이용 가능한지 결정하도록 추가로 구성된다. 부가적 키보드 옵션들이 이용 가능하다는 결정에 따라, 프로세싱 유닛은 (예컨대, 디스플레이 인에이블 유닛(1010)을 이용하여) 행 내의 부가적 키보드 옵션 어포던스의 표시를 인에이블하도록 추가로 구성된다. (예컨대, 검출 유닛(1014)을 이용하여) 부가적 키보드 옵션 어포던스의 선택을 검출한 경우, 프로세싱 유닛은 (예컨대, 중단 유닛(1016)을 이용하여) 하나 이상의 키보드 옵션 중 적어도 일부의 표시를 인에이블하기를 중단하고 행 내의 부가적 키보드 옵션들 중 적어도 일부의 표시를 인에이블하도록 추가로 구성된다.
일부 실시예들에서, 부가적 키보드 옵션 어포던스는 터치 감응형 디스플레이(1004) 상의 도트들의 제1 배열을 포함한다.
일부 실시예에서, 프로세싱 유닛(1008)은 (예컨대, 결정 유닛(1012)을 이용하여) 부가적 키보드 옵션들이 행 내의 이용 가능한 공간을 초과하는지 결정하도록 추가로 구성된다. 부가적 키보드 옵션들이 행 내의 이용 가능한 공간을 초과한다는 결정에 응답하여, 프로세싱 유닛은 (예컨대, 디스플레이 인에이블 유닛(1010)을 이용하여) 추가적 키보드 옵션 어포던스의 표시를 인에이블하도록 추가로 구성된다.
일부 실시예들에서, 추가적 키보드 옵션 어포던스는 터치 감응형 디스플레이(1004) 상의 도트들의 제2 배열을 포함한다.
일부 실시예들에서, 프로세싱 유닛(1008)은 (예를 들어, 수신 유닛(1018)을 이용하여) 하나 이상의 키보드 옵션의 행에서의 스크롤링 제스처를 수신하도록 추가로 구성된다. 스크롤링 제스처를 수신함에 응답하여, 프로세싱 유닛은 (예컨대, 중단 유닛(1016)을 이용하여) 하나 이상의 키보드 옵션의 표시를 인에이블하기를 중단하고, (예컨대, 디스플레이 인에이블 유닛(1010)을 이용하여) 행 내의 부가적 키보드 옵션 중 적어도 일부의 표시를 인에이블하도록 추가로 구성된다. 부가적 키보드 옵션들은 하나 이상의 키보드 옵션과 상이하다.
일부 실시예들에서, 키보드 옵션들 및 부가적 키보드 옵션들 중 임의의 키보드 옵션은 터치 감응형 디스플레이(1004) 상의 예측 텍스트 입력, 이모지 문자, 빈번하게 사용된 입력, 및 포맷팅 기능들로 이루어진 그룹에서 선택된 어포던스들을 포함한다.
일부 실시예들에서, 키보드 옵션들 및 부가적 키보드 옵션들 중 임의의 키보드 옵션은 터치 감응형 디스플레이(1004) 상에 제3자 애플리케이션들을 위한 어포던스들을 제공한다.
전술된 정보 프로세싱 방법들에서의 동작들은 옵션적으로 (예컨대, 도 1a 및 도 3과 관련하여 전술된 바와 같은) 범용 프로세서들 또는 애플리케이션 특정 칩들과 같은 정보 프로세싱 장치 내의 하나 이상의 기능 모듈들을 실행시킴으로써 구현된다.
도 9a 및 도 9b를 참조하여 전술된 동작들은, 옵션적으로, 도 1a, 도 1b 또는 도 10에 도시된 컴포넌트들에 의해 구현된다. 예를 들어, 디스플레이 동작(902), 결정 동작(904), 디스플레이 동작(910), 수신 동작(920), 중단 동작(922)은, 옵션적으로, 디스플레이 인에이블 유닛(1010), 결정 유닛(1012), 디스플레이 인에이블 유닛(1010), 수신 유닛(1018), 및 중단 유닛(1016)에 의해 구현된다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감응형 디스플레이(112) 상에의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)에 전달한다. 애플리케이션(136-1)의 개별 이벤트 인식기(180)는 이벤트 정보를 개별 이벤트 정의(186)와 비교하고, 터치 감응형 표면 상의 제1 위치에서의 제1 접촉이 사용자 인터페이스 상의 객체의 선택과 같은 미리정의된 이벤트 또는 서브이벤트, 또는 하나의 배향에서 다른 배향으로의 디바이스의 회전에 대응하는지 여부(또는 디바이스의 회전 여부)를 결정한다. 개별 미리정의된 이벤트 또는 서브이벤트가 검출되는 경우, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 검출과 연관된 이벤트 핸들러(190)를 활성화시킨다. 이벤트 핸들러(190)는 옵션적으로 데이터 업데이터(176) 또는 객체 업데이터(177)를 이용하거나 호출하여, 애플리케이션 내부 상태(192)를 업데이트한다. 일부 실시예들에서, 이벤트 핸들러(190)는 개별 GUI 업데이터(178)에 액세스하여, 애플리케이션에 의해 표시되는 것을 업데이트한다. 유사하게, 다른 프로세스들이 도 1a 및 도 1b에 도시된 컴포넌트들에 기초하여 어떻게 구현될 수 있는지는 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
가상 키보드 모드 선택하기
도 11a 내지 도 11e는 일부 실시예들에 따른, 가상 키보드 모드를 선택하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이 도면들에서의 사용자 인터페이스들은 도 12에서의 프로세스들을 비롯한, 이하에 기술되는 프로세스들을 설명하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이(112)를 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다.
도 11a는 전용 멀티-키보드 키(1104)를 갖는 제1 가상 키보드(1102)를 표시하는 일 실시예를 예시한다. 이러한 예에서, 제1 가상 키보드는 터치 감응형 디스플레이의 전체 폭을 차지한다. 이러한 예에서, 제1 가상 키보드는 제1 언어(예컨대, 영어)와 연관된 로만체 문자에 대응하는 키들의 제1 세트를 포함한다. 일부 실시예들에서, 제1 가상 키보드는 영어 외의 언어의 것일 수 있고, 로만체 이외의 문자를 활용할 수 있다.
도 11b는 제2 가상 키보드(1106) 및 개별적 사용자 입력 영역(1108)의 일 실시예를 예시한다. 이러한 예에서, 개별적 사용자 입력 영역은 숫자들 및 다른 동작들의 복수의 가상 키를 갖는 숫자 패드이다. 제2 가상 키보드 및 개별적 사용자 입력 영역은 1104번으로 나타낸 도 11a의 전용 멀티-키보드 키의 선택의 검출시 표시되어 제1 가상 키보드의 표시를 중단한다. 이러한 예에서, 제2 가상 키보드의 폭은 제1 가상 키보드의 폭의 3분의 2이다. 추가로, 숫자 패드는 제1 가상 키보드의 폭의 3분의 1이다.
도 11c는 제2 가상 키보드(1110), 및 제1 언어(예컨대, 그리스어)와 연관된 그리스 문자에 대응하는 복수의 가상 키를 포함하는 제3 가상 키보드(1112)로서의 개별적 사용자 입력 영역의 실시예를 예시한다. 제2 가상 키보드 및 제3 가상 키보드는 1104번으로 나타낸 도 11a의 전용 멀티-키보드 키의 선택의 검출시 표시되어 제1 가상 키보드의 표시를 중단한다. 이러한 예에서, 제2 가상 키보드 및 제3 가상 키보드의 폭은 둘 모두 제1 가상 키보드의 폭의 2분의 1이다.
도 11d는 제2 가상 키보드(1114), 및 이모지 문자를 출력하는 이모지 문자들을 활용하는 복수의 가상 키를 갖는 제3 가상 키보드(1116)로서의 개별적 사용자 입력 영역의 실시예를 예시한다. 제2 가상 키보드 및 제3 가상 키보드는 1104번으로 나타낸 도 11a의 전용 멀티-키보드 키의 선택의 검출시 표시되어 제1 가상 키보드의 표시를 중단한다. 이러한 예에서, 제2 가상 키보드의 폭은 제1 가상 키보드의 폭의 3분의 2이고, 제3 가상 키보드는 제1 가상 키보드의 폭의 3분의 1의 폭이다.
도 11e는 제2 가상 키보드(1118) 및 개별적 사용자 입력 영역(1120)의 일 실시예를 예시한다. 제2 가상 키보드 및 개별적 사용자 입력 영역은 1104번으로 나타낸 도 11a의 전용 멀티-키보드 키의 선택의 검출시 표시되어 제1 가상 키보드의 표시를 중단한다. 이러한 예에서, 개별적 사용자 입력 영역은 복수의 그리기 도구를 갖는 그리기 입력 영역이다. 이러한 예에서, 도구들은 연필, 마커, 펜, 지우개, 및 자와 같은 다양한 유형의 스트로크(stroke) 기능성들을 포함한다. 일부 실시예들에서, 그리기 입력 영역은 진보된 이미지 편집 도구들을 제공한다. 일부 실시예들에서, 그리기 입력 영역은, 선택시, 기존 이미지 또는 그림들을 영역 내로 사전로딩(preload)할 수 있다. 기존 이미지는 그리기 입력 영역 내에서 추가로 편집될 수 있다. 이러한 예에서, 제2 가상 키보드의 폭은 제1 가상 키보드의 폭의 3분의 2이고, 그리기 입력 영역은 제1 가상 키보드의 폭의 3분의 1의 폭이다.
도 12는 일부 실시예들에 따른, 가상 키보드 모드를 선택하기 위한 방법(1200)을 예시하는 흐름도이다. 방법(1200)은 디스플레이 및 터치 감응형 표면을 갖는 전자 디바이스(예를 들어, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고 터치 감응형 표면이 디스플레이 상에 있거나 디스플레이와 일체화된다(간략히 터치 감응형 디스플레이로도 지칭됨).
이하에서 기술되는 바와 같이, 방법(1200)은 가상 키보드를 위한 가상 키보드 모드들을 선택하기 위한 용이한 방식을 제공한다.
디바이스는 제1 크기의 영역을 점유하는 제1 복수의 가상 키를 포함하는 제1 가상 키보드를 표시한다(단계 1202). 제2 가상 키보드 및 개별적 사용자 입력 영역은 1104번으로 나타낸 도 11a의 전용 멀티-키보드 키의 선택의 검출시 표시되어 제1 가상 키보드의 표시를 중단한다. 제1 복수의 가상 키는 전용 멀티-키보드 키를 포함한다. 예를 들어, 도 11a는 제1 가상 키보드(1102) 및 전용 멀티-키보드 키(1104)를 표시한다. 일부 실시예들에서, 전용 키보드 키는 미리 정의된다. 일부 실시예들에서, 전용 멀티-키보드 키는 지정된 키로 할당된다. 일부 실시예들에서, 전용 멀티-키보드 키의 선택은 전용 멀티-키보드 키의 영역 상에서의 단일 탭, 누르기, 또는 유지하기에 의해 선택될 수 있다.
일부 실시예들에서, 제1 크기의 영역 및 제2 크기의 영역은 높이 또는 길이 중 적어도 하나를 공통되게 갖는다(단계 1204). 예를 들어, 도 11b는 제2 가상 키보드(1106) 및 숫자 패드(1108)가 동일한 높이(1109)를 갖는 것을 예시한다.
이어서, 전용 멀티-키보드 키의 선택의 검출시, 디바이스는 제1 가상 키보드를 표시하기를 중단하고, 제2 가상 키보드를 표시한다. 제2 복수의 가상 키를 갖는 제2 가상 키보드; 디바이스는 또한 제2 복수의 가상 키에 인접한 개별적 사용자 입력 영역을 표시하는데, 여기서 제2 복수의 가상 키는 제1 크기 미만의 제2 크기를 갖는 영역을 점유한다(단계 1206). 예를 들어, 도 11b는 제2 가상 키보드(1106)가 표시되는 것을 예시한 것으로서, 숫자 패드가 제2 가상 키보드에 인접하고, 제1 가상 키보드(도 11a에 도시된 바와 같음)가 표시하기를 중단한다.
일부 실시예들에서, 개별적 사용자 입력 영역은 숫자 패드이다(단계 1208). 예를 들어, 도 11b는 제2 가상 키보드(1106) 및 개별적 사용자 입력 영역이 숫자 패드인 것을 예시한다. 일부 실시예들에서, 숫자 패드는 진보된 수학 기능을 포함한다. 일부 실시예들에서, 숫자 패드는 수학 심볼들을 포함한다.
일부 실시예들에서, 개별적 사용자 입력 영역은 제3 복수의 가상 키를 포함하는 제3 가상 키보드이다. 제3 복수의 가상 키는 제2 가상 키보드에 대응하는 언어와 상이한 언어에 대응한다(단계 1210). 예를 들어, 도 11c는 제2 가상 키보드(1110), 및 그리스 문자를 갖는 가상 키들을 표시하는 제3 가상 키보드(1112)로서의 개별적 사용자 입력 영역을 예시한다. 일부 실시예들에서, 제2 및 제3 키보드 둘 모두를 위한 가상 키들은 로만체일 수 있으나, 제3 키보드의 언어는 제2 키보드와 상이할 수 있다(예컨대, 각자 영어와 병음).
일부 실시예들에서, 개별적 사용자 입력 영역은 이모지 문자에 대응하는 제3 복수의 키를 포함하는 제3 가상 키보드이다(단계 1212). 예를 들어, 도 11d는 제2 가상 키보드(1114), 및 이모지 문자들을 표시하는 제3 가상 키보드(1116)로서의 개별적 사용자 입력 영역을 예시한다. 일부 실시예들에서, 이모지 문자들은 제3자 애플리케이션에서 생성 또는 임포트될 수 있다.
일부 실시예들에서, 개별적 사용자 입력 영역은 그리기 입력 영역이다(단계 1214). 예를 들어, 도 11e는 제2 가상 키보드(1118), 및 그리기 도구들을 포함하는 그리기 입력 영역(1120)으로서의 개별적 사용자 입력 영역을 예시한다.
일부 실시예들에서, 제2 가상 키보드는 전용 멀티-키보드 키를 포함한다(단계 1216). 예를 들어, 도 11c는 전용 멀티-키보드 키(1113)를 갖는 제2 가상 키보드(1110)를 예시한다.
일부 실시예들에서, 제2 복수의 가상 키는 제1 복수의 가상 키보다 적게 있다(단계 1218). 예를 들어, 터치 감응형 표면의 전체 길이에 걸쳐 이어진 제1 복수의 가상 키는 향상된 기능성들을 제공하며, 모든 제1 복수의 가상 키가 종래의 절단 키보드와 연관되지는 않을 수 있다.
일부 실시예들에서, 각각의 제2 복수의 가상 키의 크기는 각각의 제1 복수의 가상 키의 크기보다 작다(단계 1220). 예를 들어, 도 11c는 제2 가상 키보드(1110)가 터치 감응형 디스플레이의 길이에 걸쳐 이어진 전체 키보드의 스케일된 버전임을 제공한다. 이러한 예에서, 도 11a에 1102로 나타내어 도시된 제1 키보드와 도 11c에 1110으로 나타낸 제2 키보드 사이의 가상 키들에는 축소가 없다.
도 12에서의 동작들이 기술된 특정 순서는 단지 예시적인 것이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(600, 900, 1200, 1500))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 12와 관련하여 전술된 방법(1200)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 간결성을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
일부 실시예들에 따르면, 도 13은 다양한 기술된 실시예들의 원리들에 따라 구성된 전자 디바이스(1300)의 기능 블록도를 나타낸 것이다. 디바이스의 기능 블록들은, 옵션적으로, 다양한 기술된 실시예들의 원리들을 실행하기 위한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합에 의해 구현된다. 기술된 다양한 실시예들의 원리들을 구현하기 위해 도 13에서 기술된 기능 블록들이 선택적으로 조합되거나 서브블록들로 분리될 수 있음이 당업자에 의해 이해된다. 따라서, 본 명세서의 설명은, 옵션적으로, 본 명세서에 기술된 기능 블록들의 임의의 가능성있는 조합 또는 분리 또는 추가 정의를 지원한다.
도 13에 도시된 바와 같이, 전자 디바이스(1300)는 사용자 인터페이스를 표시하도록 구성된 디스플레이 유닛(1302), 접촉들을 수용하도록 구성된 터치 감응형 표면 유닛(1304), 및 디스플레이 유닛(1302)과 터치 감응형 표면 유닛(1304)에 결합된 프로세싱 유닛(1308)을 포함한다. 일부 실시예들에서, 처리 유닛(1308)은 디스플레이 인에이블 유닛(1310), 검출 유닛(1312), 및 중단 유닛(1314)을 포함한다.
프로세싱 유닛(1308)은 (예컨대, 디스플레이 인에이블 유닛(1310)을 이용하여) 제1 크기의 영역을 점유하는 제1 복수의 가상 키를 포함하는 제1 가상 키보드의 표시를 인에이블하도록 구성된다. 제1 복수의 가상 키는 전용 멀티-키보드 키를 포함한다. 전용 멀티-키보드 키의 선택의 검출시, 프로세싱 유닛은 (예컨대, 중단 유닛(1314)을 이용하여) 제1 가상 키보드의 표시를 인에이블하기를 중단하고, 제2 가상 키보드의 표시를 인에이블하도록 추가로 구성된다. 제2 가상 키보드는 제2 복수의 가상 키, 및 제2 복수의 가상 키에 인접한 개별적 사용자 입력 영역을 포함한다. 제2 복수의 가상 키는 제1 크기 미만의 제2 크기를 갖는 영역을 점유한다.
일부 실시예들에서, 제1 크기의 영역 및 제2 크기의 영역은 터치 감응형 디스플레이(1304) 상에서 높이 또는 길이 중 적어도 하나를 공통되게 갖는다.
일부 실시예들에서, 개별적 사용자 입력 영역은 터치 감응형 디스플레이(1304) 상의 숫자 패드이다.
일부 실시예들에서, 개별적 사용자 입력 영역은 터치 감응형 디스플레이(1304) 상의 제2 가상 키보드에 대응하는 언어와 상이한 언어에 대응하는 제3 복수의 가상 키를 포함하는 제3 가상 키보드이다.
일부 실시예들에서, 개별적 사용자 입력 영역은 터치 감응형 디스플레이(1304) 상의 이모지 문자에 대응하는 제3 복수의 키를 포함하는 제3 가상 키보드이다.
일부 실시예들에서, 개별적 사용자 입력 영역은 터치 감응형 디스플레이(1304) 상의 그리기 입력 영역이다.
일부 실시예들에서, 제2 가상 키보드는 터치 감응형 디스플레이(1304) 상의 전용 멀티-키보드 키를 포함한다.
일부 실시예들에서, 제2 복수의 가상 키는 터치 감응형 디스플레이(1304) 상의 제1 복수의 가상 키보다 적게 있다.
일부 실시예들에서, 각각의 제2 복수의 가상 키의 크기는 터치 감응형 디스플레이(1304) 상의 각각의 제1 복수의 가상 키의 크기보다 작다.
전술된 정보 프로세싱 방법들에서의 동작들은 옵션적으로 (예컨대, 도 1a 및 도 3과 관련하여 전술된 바와 같은) 범용 프로세서들 또는 애플리케이션 특정 칩들과 같은 정보 프로세싱 장치 내의 하나 이상의 기능 모듈들을 실행시킴으로써 구현된다.
도 12를 참조하여 전술된 동작들은, 옵션적으로, 도 1a, 도 1b 또는 도 13에 도시된 컴포넌트들에 의해 구현된다. 예를 들어, 디스플레이 동작(1202), 검출 동작(1206), 중단 동작(1206), 디스플레이 동작(1206)은, 옵션적으로, 디스플레이 인에이블 유닛(1310), 검출 유닛(1312), 디스플레이 인에이블 유닛(1310), 중단 유닛(1314), 및 디스플레이 인에이블 유닛(1310)에 의해 구현된다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감응형 디스플레이(112) 상의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)에 전달한다. 애플리케이션(136-1)의 개별 이벤트 인식기(180)는 이벤트 정보를 개별 이벤트 정의(186)와 비교하고, 터치 감응형 표면 상의 제1 위치에서의 제1 접촉이 사용자 인터페이스 상의 객체의 선택과 같은 미리정의된 이벤트 또는 서브이벤트, 또는 하나의 배향에서 다른 배향으로의 디바이스의 회전에 대응하는지 여부(또는 디바이스의 회전 여부)를 결정한다. 개별 미리정의된 이벤트 또는 서브이벤트가 검출되는 경우, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 검출과 연관된 이벤트 핸들러(190)를 활성화시킨다. 이벤트 핸들러(190)는 옵션적으로 데이터 업데이터(176) 또는 객체 업데이터(177)를 이용하거나 호출하여, 애플리케이션 내부 상태(192)를 업데이트한다. 일부 실시예들에서, 이벤트 핸들러(190)는 개별 GUI 업데이터(178)에 액세스하여, 애플리케이션에 의해 표시되는 것을 업데이트한다. 유사하게, 다른 프로세스들이 도 1a 및 도 1b에 도시된 컴포넌트들에 기초하여 어떻게 구현될 수 있는지는 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
컴팩트 가상 키보드 선택하기
도 14a 내지 도 14f는 일부 실시예들에 따른, 컴팩트 가상 키보드를 선택하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이 도면들에서의 사용자 인터페이스들은 도 15에서의 프로세스들을 비롯한, 이하에 기술되는 프로세스들을 설명하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이(112)를 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다.
도 14a는 전용 멀티-키보드 키(1404)를 갖는 가상 키보드(1402)가 표시되는 일 실시예를 예시한다. 이러한 예에서, 제1 가상 키보드의 크기는 터치 감응형 디스플레이의 전체 폭을 커버한다. 이러한 예에서, 제1 가상 키보드는 제1 언어(예컨대, 영어)와 연관된 로만체 문자에 대응하는 키들의 제1 세트를 포함한다. 일부 실시예들에서, 제1 가상 키보드는 영어 외의 언어의 것일 수 있고, 로만체 이외의 문자를 활용할 수 있다.
도 14b는 터치 감응형 디스플레이 상의 핀치 제스처의 검출의 일 예를 예시한다. 이러한 예에서, 도시된 바와 같이 사용자가 터치 감응형 디스플레이 상에 2개 선택을 함에 의해 선택들을 서로에 대해 근접하게 드래그하고 있으며, 오른쪽 검지(1406)가 대략적으로 동남 방향으로 이동하는 선택을 하는 반면, 왼쪽 검지(1408)가 대략적으로 북서 방향으로 이동하는 선택을 하고 있다. 일부 실시예들에서, 이는 핀치 제스처로 알려져 있으며, 이는 한 손을 이용하여 수행될 수 있다. 일부 실시예들에서, 개별적 제스처는 가상 키보드의 표시를 중단하는데 이용될 수 있고, 예를 들어 임의의 방향으로 3개 손가락을 스와이프한다. 일부 실시예들에서, 전용 멀티-키보드 키의 선택은 가상 키보드가 표시하기를 중단하고 컴팩트 가상 키보드를 보일 때까지 가상 키보드를 위치적으로 이동(translate)시키도록 이용될 수 있다.
도 14c는 가상 키보드(1414)가 손가락들(1410, 1412)에 의해 각각 만들어진 핀칭 제스처에 관하여 크기가 감소되고 있는 것을 예시한다. 도 14b에 논의된 바와 같이, 손가락들이 서로에 대해 근접하도록 선택들을 계속적으로 드래그한다. 이러한 예에서, 가상 키보드의 감소하는 크기 및 위치적 이동은 드래그 선택 도중 사용되는 애니메이션이다.
도 14d는 터치 감응형 디스플레이의 에지에 배치되는 컴팩트 가상 키보드(1416)를 예시한다. 이러한 예에서, 컴팩트 가상 키보드는 표준 키보드보다 작다. 컴팩트 가상 키보드는 재배치를 허용하기 위한 어포던스(1418)를 제공한다. 일부 실시예들에서, 컴팩트 가상 키보드는 가상 키보드 보다 적은 가상 키들을 갖는다. 일부 실시예들에서, 컴팩트 가상 키보드는 가상 키보드와 동일한 양의 가상 키들을 갖는다.
도 14e는 컴팩트 가상 키보드(1416)에 적용된 플릭 제스처(1420)를 예시한다. 이러한 예에서, 플릭 제스처는 2개 이상의 손가락이 컴팩트 가상 키보드를 스와이프하는 것을 요구한다. 일부 실시예들에서, 플릭은 미니 가상 키보드(1418)의 어포던스와 먼저 연결되어야 한다. 일부 실시예들에서, 플릭의 속도는 미리 결정된 속도 임계치에 부합되어야 한다. 일부 실시예들에서, 요구되는 모든 것은 1개 손가락의 플릭 제스처이다.
도 14f는 터치 감응형 디스플레이의 대향 에지에 배치되는 재배치된 컴팩트 가상 키보드(1422)를 예시한다. 일부 실시예들에서, 플릭 제스처는 컴팩트 가상 키보드를 수평으로 옮기거나 이동시킬 수 있다. 일부 실시예들에서, 플릭 제스처는 컴팩트 가상 키보드를 수평 및 수직 둘 모두로 옮기거나 이동시킬 수 있다.
도 15는 일부 실시예들에 따른, 가상 키보드 모드를 선택하기 위한 방법(1500)을 예시하는 흐름도이다. 방법(1500)은 디스플레이 및 터치 감응형 표면을 갖는 전자 디바이스(예를 들어, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고 터치 감응형 표면이 디스플레이 상에 있거나 디스플레이와 일체화된다(간략히 터치 감응형 디스플레이로도 지칭됨).
이하에서 기술되는 바와 같이, 방법(1500)은 가상 키보드를 위한 컴팩트 가상 키보드를 선택하기 위한 용이한 방법을 제공한다.
디바이스는 터치 감응형 디스플레이 상의 가상 키보드를 표시한다(1502). 예를 들어, 도 14a는 터치 감응형 디스플레이의 폭을 갖는 가상 키보드(1402)를 표시한다.
다음으로, 디바이스는 가상 키보드를 표시하기를 중단하고(1504), 터치 감응형 디스플레이의 수직 에지에 인접하게 배치된 컴팩트 가상 키보드를 표시한다. 컴팩트 가상 키보드는 가상 키보드보다 작다. 예를 들어, 도 14d는 터치 감응형 디스플레이의 좌측 중간 에지에 배치되는 보다 작은 컴팩트 가상 키보드(1416)를 표시한다.
일부 실시예들에서, 터치 감응형 디스플레이의 수직 에지에 인접하게 배치된 컴팩트 가상 키보드를 표시하는 것은 터치 감응형 디스플레이의 수직 에지에서 또는 근처에서 컴팩트 가상 키보드를 표시하는 것(1506)을 포함한다.
일부 실시예들에서, 컴팩트 가상 키보드는 컴팩트 가상 키보드 상의 어포던스를 선택 및 드래그함에 의해 터치 감응형 디스플레이의 수직 에지를 따라 이동될 수 있다(1508). 예를 들어, 도 14d는 컴팩트 가상 키보드(1416)에 부착된 어포던스(1418)를 예시한다. 일부 실시예들에서, 컴팩트 가상 키보드는 터치 감응형 표면의 에지를 따른 수직축을 따라 상향 및 하향 드래그될 수 있다.
일부 실시예들에서, 터치 감응형 디스플레이 상의 컴팩트 가상 키보드 상의 플릭 제스처의 검출시, 컴팩트 가상 키보드는 터치 감응형 디스플레이의 수직 에지로부터 터치 감응형 디스플레이의 대향 수직 에지로 이동된다(1510). 예를 들어, 도 14e 및 도 14f는 터치 감응형 디스플레이(1422)의 타측 에지로 키보드를 이동시키기 위해 컴팩트 가상 키보드(1416)에 적용되는 플릭 제스처(1420)를 표시한다. 일부 실시예들에서, 플릭 제스처는 미리 결정된 속도 임계치보다 높은 속도를 가져야 한다(1512). 일부 실시예들에서, 미리 결정된 속도 임계치가 할당된다. 일부 실시예들에서, 미리 결정된 속도 임계치는 사용자에 의해 정의된다.
일부 실시예들에서, 가상 키보드를 표시하기를 중단하고 컴팩트 가상 키보드를 표시하는 것은 가상 키보드를 컴팩트 가상 키보드로 축소되는 것으로 애니메이션화하는 것을 포함한다(1514). 예를 들어, 도 14b 및 도 14c는 가상 키보드가 더이상 표시되지 않을 때까지의 가상 키보드의 축소 및 위치적 이동을 예시한다.
일부 실시예들에서, 컴팩트 가상 키보드 상의 확대 제스처의 검출시, 컴팩트 가상 키보드의 표시하기가 중단되고 가상 키보드가 표시된다(1516).
도 15에서의 동작들이 기술된 특정 순서는 단지 예시적인 것이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(600, 900, 1200, 1500))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 15와 관련하여 전술된 방법(1500)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 간결성을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
일부 실시예들에 따르면, 도 16은 다양한 기술된 실시예들의 원리들에 따라 구성된 전자 디바이스(1600)의 기능 블록도를 도시한다. 디바이스의 기능 블록들은, 옵션적으로, 다양한 기술된 실시예들의 원리들을 실행하기 위한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합에 의해 구현된다. 다양한 기술된 실시예들의 원리들을 구현하기 위해 도 16에서 기술된 기능 블록들이 옵션적으로 조합되거나 서브블록들로 분리될 수 있음이 통상의 기술자에 의해 이해된다. 따라서, 본 명세서의 설명은, 옵션적으로, 본 명세서에 기술된 기능 블록들의 임의의 가능성있는 조합 또는 분리 또는 추가 정의를 지원한다.
도 16에 도시된 바와 같이, 전자 디바이스(1600)는 사용자 인터페이스를 표시하도록 구성된 디스플레이 유닛(1602), 접촉들을 수용하도록 구성된 터치 감응형 표면 유닛(1604), 및 디스플레이 유닛(1602)과 터치 감응형 표면 유닛(1604)에 결합된 프로세싱 유닛(1608)을 포함한다. 일부 실시예들에서, 프로세싱 유닛(1608)은 디스플레이 인에이블 유닛(1610), 검출 유닛(1612), 중단 유닛(1614) 및 이동 유닛(1616)을 포함한다.
프로세싱 유닛(1608)은 터치 감응형 디스플레이 유닛 상의 가상 키보드의 표시를 (예컨대, 디스플레이 인에이블 유닛(1610)을 이용하여) 인에이블하도록 구성된다. 제스처를 검출한 것에 응답하여, 프로세싱 유닛은 가상 키보드의 표시를 인에이블하는 것을 (예컨대, 중단 유닛(1614)을 이용하여) 중단하고, 터치 감응형 디스플레이의 수직 에지에 인접하게 배치된 컴팩트 가상 키보드의 표시를 인에이블하도록 추가로 구성된다. 컴팩트 가상 키보드는 가상 키보드보다 작다.
일부 실시예들에서, 터치 감응형 디스플레이의 수직 에지에 인접하게 배치된 컴팩트 가상 키보드의 표시를 인에이블하는 것은 터치 감응형 디스플레이(1604)의 수직 에지에서 또는 근처에서 컴팩트 가상 키보드의 표시를 인에이블하는 것을 포함한다.
일부 실시예들에서, 컴팩트 가상 키보드는 컴팩트 가상 키보드 상의 어포던스를 선택 및 드래그함에 의해 터치 감응형 디스플레이(1604)의 수직 에지를 따라 이동될 수 있다.
일부 실시예들에서, 프로세싱 유닛(1608)은 (예컨대, 검출 유닛(1612)을 이용하여) 터치 감응형 디스플레이 상의 컴팩트 가상 키보드 상의 플릭 제스처의 검출시, (예컨대, 이동 유닛(1616)을 이용하여) 컴팩트 가상 키보드를 터치 감응형 디스플레이의 수직 에지로부터 터치 감응형 디스플레이(1604)의 대향 수직 에지로 이동시키도록 추가로 구성된다. 일부 실시예들에서, 플릭 제스처는 터치 감응형 디스플레이(1604) 상의 미리 결정된 속도 임계치보다 높은 속도를 갖는다.
일부 실시예들에서, 가상 키보드를 표시하기를 중단하고 컴팩트 가상 키보드를 표시하는 것은 가상 키보드를 터치 감응형 표면(1604) 상의 컴팩트 가상 키보드로 축소되는 것으로 애니메이션화하는 것을 포함한다.
일부 실시예들에서, 프로세싱 유닛(1608)은, 컴팩트 가상 키보드 상의 확대 제스처의 (예컨대, 검출 유닛(1612)을 이용한) 검출시, (예컨대, 중단 유닛(1614)을 이용하여) 컴팩트 가상 키보드를 표시하기를 중단하고 가상 키보드를 표시하도록 추가로 구성된다.
전술된 정보 프로세싱 방법들에서의 동작들은 옵션적으로 (예컨대, 도 1a 및 도 3과 관련하여 전술된 바와 같은) 범용 프로세서들 또는 애플리케이션 특정 칩들과 같은 정보 프로세싱 장치 내의 하나 이상의 기능 모듈들을 실행시킴으로써 구현된다.
도 15를 참조하여 전술된 동작들은, 옵션적으로, 도 1a, 도 1b 또는 도 16에 도시된 컴포넌트들에 의해 구현된다. 예를 들어, 디스플레이 동작(1502), 중단 동작(1504), 디스플레이 동작(1506), 검출 동작(1510), 중단 동작(1514), 및 검출 동작(1516)은 디스플레이 인에이블 유닛(1610), 중단 유닛(1614), 디스플레이 인에이블 유닛(1610), 검출 유닛(1612), 중단 유닛(1614), 및 검출 유닛1612)에 의해 구현된다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감응형 디스플레이(112) 상의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)에 전달한다. 애플리케이션(136-1)의 개별 이벤트 인식기(180)는 이벤트 정보를 개별 이벤트 정의(186)와 비교하고, 터치 감응형 표면 상의 제1 위치에서의 제1 접촉이 사용자 인터페이스 상의 객체의 선택과 같은 미리정의된 이벤트 또는 서브이벤트, 또는 하나의 배향에서 다른 배향으로의 디바이스의 회전에 대응하는지 여부(또는 디바이스의 회전 여부)를 결정한다. 개별 미리정의된 이벤트 또는 서브이벤트가 검출되는 경우, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 검출과 연관된 이벤트 핸들러(190)를 활성화시킨다. 이벤트 핸들러(190)는 옵션적으로 데이터 업데이터(176) 또는 객체 업데이터(177)를 이용하거나 호출하여, 애플리케이션 내부 상태(192)를 업데이트한다. 일부 실시예들에서, 이벤트 핸들러(190)는 개별 GUI 업데이터(178)에 액세스하여, 애플리케이션에 의해 표시되는 것을 업데이트한다. 유사하게, 다른 프로세스들이 도 1a 및 도 1b에 도시된 컴포넌트들에 기초하여 어떻게 구현될 수 있는지는 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
전술한 설명은 설명의 목적을 위해, 특정 실시예들을 참조하여 기술되었다. 그러나, 상기의 예시적인 논의들은 본 발명을 개시된 정확한 형태들로 규명하거나 제한하려는 의도는 아니다. 많은 수정들 및 변형들이 상기 교시 내용들의 관점에서 가능하다. 본 발명의 원리 및 그의 실제적인 응용을 가장 잘 설명하여서 다른 당업자들이 본 발명 및 다양한 기술된 실시예를 고려되는 특정 용도에 적합한 바와 같은 다양한 변형과 함께 가장 잘 사용하는 것을 가능하게 하도록 실시예들이 선택 및 설명되었다.

Claims (20)

  1. 다수의 키보드 사이에서 토글링하기 위한 컴퓨터 판독 가능한 저장 매체로서, 상기 컴퓨터 판독 가능한 저장 매체는 하나 이상의 프로그램을 저장하고, 상기 하나 이상의 프로그램은, 터치 감응형 디스플레이를 구비한 전자 디바이스에 의해 실행될 때, 상기 디바이스로 하여금:
    상기 터치 감응형 디스플레이 상에 제1 키보드를 표시하고 - 상기 제1 키보드는
    제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제1 세트, 및
    상기 터치 감응형 디스플레이 상의 위치에 표시된, 제1 기능과 연관된 제1 지정된 키를 포함하고,
    상기 제1 키보드는 상기 키들의 제1 세트 중 임의의 키의 선택이 텍스트 영역에 상기 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성됨 - ;
    제2 키보드를 표시하기 위한 선택을 수신하고;
    상기 선택을 수신함에 응답하여, 상기 터치 감응형 디스플레이 상에 상기 제2 키보드를 표시하게 하는 명령어들을 포함하며, 상기 제2 키보드는
    상기 제1 언어와 연관된 상기 문자들의 세트에 대응하는 키들의 제2 세트, 및
    상기 위치에 표시되고 상기 제1 기능과 상이한 제2 기능과 연관되는 제2 지정된 키를 포함하고,
    상기 제2 기능은 상기 제2 키보드 및 제3 키보드를 포함한 키보드들 사이에서 토글하고, 상기 제2 키보드는 상기 키들의 제2 세트 중 임의의 키의 선택이 상기 텍스트 영역에 상기 제1 언어와 상이한 제2 언어에 대응하는 하나 이상의 문자를 표시하도록 구성되는, 컴퓨터 판독 가능한 저장 매체.
  2. 제1항에 있어서, 상기 하나 이상의 프로그램은, 상기 전자 디바이스에 의해 실행될 때, 상기 디바이스로 하여금
    상기 제3 키보드를 표시하기 위한 상기 제2 지정된 키의 선택을 수신하고,
    상기 선택을 수신함에 응답하여, 상기 제3 키보드를 표시하게 하는 명령어들을 추가로 포함하며, 상기 제3 키보드는
    상기 제1 언어와 연관된 상기 문자들의 세트에 대응하는 키들의 제3 세트, 및
    상기 위치에 배치된 제3 지정된 키를 포함하며,
    상기 제3 지정된 키는 상기 제2 지정된 키와 동일하고, 상기 제3 키보드는 상기 키들의 제3 세트 중 임의의 키의 선택이 상기 텍스트 영역에 상기 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성되는, 컴퓨터 판독 가능한 저장 매체.
  3. 제2항에 있어서, 상기 하나 이상의 프로그램은, 상기 전자 디바이스에 의해 실행될 때, 상기 디바이스로 하여금
    상기 제2 키보드를 표시하기 위한 상기 제3 지정된 키의 선택을 수신하고,
    상기 선택을 수신함에 응답하여, 상기 제2 키보드를 표시하게 하는 명령어들을 추가로 포함하는, 컴퓨터 판독 가능한 저장 매체.
  4. 제2항에 있어서, 상기 제1, 제2, 및 제3 지정된 키들 중 임의의 키는 상기 선택된 각자의 키보드의 캡스록(Caps Lock), 시프트, 또는 포맷팅 기능 키 중 임의의 한 키인, 컴퓨터 판독 가능한 저장 매체.
  5. 제2항에 있어서, 상기 제1, 제2, 및 제3 지정된 키들 중 임의의 키의 선택은 상기 터치 감응형 디스플레이 상의 단일 탭 선택에 의해 인에이블되는, 컴퓨터 판독 가능한 저장 매체.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제2 키보드 및 상기 제3 키보드는 시각적으로 동일한, 컴퓨터 판독 가능한 저장 매체.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제1 키보드는 상기 제1 지정된 키를 제외하고, 상기 제2 키보드 및 제3 키보드 둘 모두와 시각적으로 동일한, 컴퓨터 판독 가능한 저장 매체.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제1 언어는 제1 자동 고침 사전(autocorrect dictionary)과 연관되고, 상기 제2 언어는 제2 자동 고침 사전과 연관되는, 컴퓨터 판독 가능한 저장 매체.
  9. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 키들의 제1 및 제2 세트들은 로만체 스크립트(Roman script)를 활용하는, 컴퓨터 판독 가능한 저장 매체.
  10. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제2 키보드를 표시하기 위한 선택을 수신하는 것은
    전용 키보드 스위치 키의 선택을 수신하는 것을 추가로 포함하는, 컴퓨터 판독 가능한 저장 매체.
  11. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 키들의 제2 세트 중 임의의 키의 선택이 상기 텍스트 영역에 상기 제2 키보드의 상기 제2 언어에 대응하는 병음 문자(pinyin character)를 표시하는, 컴퓨터 판독 가능한 저장 매체.
  12. 다수의 키보드 사이에서 토글링하는 방법으로서,
    터치 감응형 디스플레이를 갖는 전자 디바이스에서,
    상기 터치 감응형 디스플레이 상에 제1 키보드를 표시하는 단계 - 상기 제1 키보드는
    제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제1 세트, 및
    상기 터치 감응형 디스플레이 상의 위치에 표시된, 제1 기능과 연관된 제1 지정된 키를 포함하고,
    상기 제1 키보드는 상기 키들의 제1 세트 중 임의의 키의 선택이 텍스트 영역에 상기 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성됨 -;
    제2 키보드를 표시하기 위한 선택을 수신하는 단계; 및
    상기 선택을 수신하는 단계에 응답하여, 상기 터치 감응형 디스플레이 상에 상기 제2 키보드를 표시하는 단계를 포함하며, 상기 제2 키보드는
    상기 제1 언어와 연관된 상기 문자들의 세트에 대응하는 키들의 제2 세트, 및
    상기 위치에 표시되고 상기 제1 기능과 상이한 제2 기능과 연관되는 제2 지정된 키를 포함하고,
    상기 제2 기능은 상기 제2 키보드 및 제3 키보드를 포함한 키보드들 사이에서 토글하고, 상기 제2 키보드는 상기 키들의 제2 세트 중 임의의 키의 선택이 상기 텍스트 영역에 상기 제1 언어와 상이한 제2 언어에 대응하는 하나 이상의 문자를 표시하도록 구성되는, 방법.
  13. 제12항에 있어서,
    상기 제3 키보드를 표시하기 위한 상기 제2 지정된 키의 선택을 수신하는 단계; 및
    상기 선택을 수신하는 단계에 응답하여, 상기 제3 키보드를 표시하는 단계를 추가로 포함하며, 상기 제3 키보드는
    상기 제1 언어와 연관된 상기 문자들의 세트에 대응하는 키들의 제3 세트, 및
    상기 위치에 배치된 제3 지정된 키를 포함하며,
    상기 제3 지정된 키는 상기 제2 지정된 키와 동일하고, 상기 제3 키보드는 상기 키들의 제3 세트 중 임의의 키의 선택이 상기 텍스트 영역에 상기 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성되는, 방법.
  14. 제13항에 있어서,
    상기 제2 키보드를 표시하기 위한 상기 제3 지정된 키의 선택을 수신하는 단계; 및
    상기 선택을 수신하는 단계에 응답하여, 상기 제2 키보드를 표시하는 단계를 추가로 포함하는, 방법.
  15. 제13항에 있어서, 상기 제1, 제2, 및 제3 지정된 키들 중 임의의 키의 선택은 상기 터치 감응형 디스플레이 상의 단일 탭 선택에 의해 인에이블되는, 방법.
  16. 제12항 내지 제15항 중 어느 한 항에 있어서, 상기 제1 언어는 제1 자동 고침 사전과 연관되고, 상기 제2 언어는 제2 자동 고침 사전과 연관되는, 방법.
  17. 다수의 키보드 사이에서 토글링하기 위한 전자 디바이스로서,
    터치 감응형 디스플레이;
    하나 이상의 프로세서;
    메모리; 및
    상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램을 포함하며,
    상기 하나 이상의 프로그램은,
    상기 터치 감응형 디스플레이 상에 제1 키보드를 표시하고 - 상기 제1 키보드는
    제1 언어와 연관된 문자들의 세트에 대응하는 키들의 제1 세트, 및
    상기 터치 감응형 디스플레이 상의 위치에 표시된, 제1 기능과 연관된 제1 지정된 키를 포함하고,
    상기 제1 키보드는 상기 키들의 제1 세트 중 임의의 키의 선택이 텍스트 영역에 상기 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성됨 - ;
    제2 키보드를 표시하기 위한 선택을 수신하며;
    상기 선택을 수신하는 것에 응답하여, 상기 터치 감응형 디스플레이 상에 상기 제2 키보드를 표시하게 하는 명령어들을 포함하며, 상기 제2 키보드는
    상기 제1 언어와 연관된 상기 문자들의 세트에 대응하는 키들의 제2 세트, 및
    상기 위치에 표시되고 상기 제1 기능과 상이한 제2 기능과 연관되는 제2 지정된 키를 포함하고,
    상기 제2 기능은 상기 제2 키보드 및 제3 키보드를 포함한 키보드들 사이에서 토글하고, 상기 제2 키보드는 상기 키들의 제2 세트 중 임의의 키의 선택이 상기 텍스트 영역에 상기 제1 언어와 상이한 제2 언어에 대응하는 하나 이상의 문자를 표시하도록 구성되는, 전자 디바이스.
  18. 제17항에 있어서, 상기 하나 이상의 프로그램은
    상기 제3 키보드를 표시하기 위한 상기 제2 지정된 키의 선택을 수신하고,
    상기 선택을 수신하는 것에 응답하여, 상기 제3 키보드를 표시하게 하는 명령어들을 추가로 포함하며, 상기 제3 키보드는
    상기 제1 언어와 연관된 상기 문자들의 세트에 대응하는 키들의 제3 세트, 및
    상기 위치에 배치된 제3 지정된 키를 포함하며,
    상기 제3 지정된 키는 상기 제2 지정된 키와 동일하고, 상기 제3 키보드는 상기 키들의 제3 세트 중 임의의 키의 선택이 상기 텍스트 영역에 상기 제1 언어에 대응하는 하나 이상의 문자를 표시하도록 구성되는, 전자 디바이스.
  19. 제18항에 있어서, 상기 하나 이상의 프로그램은
    상기 제2 키보드를 표시하기 위한 상기 제3 지정된 키의 선택을 수신하고,
    상기 선택을 수신하는 것에 응답하여, 상기 제2 키보드를 표시하게 하는 명령어들을 추가로 포함하는, 전자 디바이스.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 제1 언어는 제1 자동 고침 사전과 연관되고, 상기 제2 언어는 제2 자동 고침 사전과 연관되는, 전자 디바이스.
KR1020160132823A 2015-10-19 2016-10-13 키보드 인터페이스 기능성을 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스 KR101838811B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562243627P 2015-10-19 2015-10-19
US62/243,627 2015-10-19
US15/270,801 US10379737B2 (en) 2015-10-19 2016-09-20 Devices, methods, and graphical user interfaces for keyboard interface functionalities
US15/270,801 2016-09-20

Publications (2)

Publication Number Publication Date
KR20170045719A KR20170045719A (ko) 2017-04-27
KR101838811B1 true KR101838811B1 (ko) 2018-03-14

Family

ID=58526784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160132823A KR101838811B1 (ko) 2015-10-19 2016-10-13 키보드 인터페이스 기능성을 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스

Country Status (4)

Country Link
US (3) US10379737B2 (ko)
JP (2) JP6300879B2 (ko)
KR (1) KR101838811B1 (ko)
CN (1) CN206178562U (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD765699S1 (en) * 2015-06-06 2016-09-06 Apple Inc. Display screen or portion thereof with graphical user interface
USD764498S1 (en) * 2015-06-07 2016-08-23 Apple Inc. Display screen or portion thereof with graphical user interface
US10379737B2 (en) 2015-10-19 2019-08-13 Apple Inc. Devices, methods, and graphical user interfaces for keyboard interface functionalities
US10254900B2 (en) * 2016-02-18 2019-04-09 Tufts University Drifting keyboard
USD807916S1 (en) * 2016-07-22 2018-01-16 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
DE102016216318A1 (de) * 2016-08-30 2018-03-01 Continental Automotive Gmbh Verfahren und Vorrichtung zur Bedienung eines elektronischen Gerätes
KR102587138B1 (ko) * 2016-10-17 2023-10-11 삼성전자주식회사 전자 장치 및 전자 장치에서의 디스플레이 제어 방법
US10409442B1 (en) * 2016-10-28 2019-09-10 Intuit Inc. Informative tips for mobile devices
US11221749B2 (en) * 2016-10-31 2022-01-11 Lenovo (Singapore) Pte. Ltd. Electronic device with touchpad display
JP6632568B2 (ja) * 2017-05-24 2020-01-22 株式会社大一商会 遊技機
US10503467B2 (en) * 2017-07-13 2019-12-10 International Business Machines Corporation User interface sound emanation activity classification
USD957448S1 (en) * 2017-09-10 2022-07-12 Apple Inc. Electronic device with graphical user interface
CN107835305B (zh) * 2017-10-26 2021-05-07 北京百度网讯科技有限公司 用于具有屏幕的终端设备的信息输入方法和装置
US10725506B2 (en) * 2018-08-21 2020-07-28 Dell Products, L.P. Context-aware user interface (UI) for multi-form factor information handling systems (IHSs)
US11237598B2 (en) * 2018-11-15 2022-02-01 Dell Products, L.P. Application management for multi-form factor information handling system (IHS)
CN110188031A (zh) * 2019-04-19 2019-08-30 深圳壹账通智能科技有限公司 电子装置、键盘与app兼容性测试方法及存储介质
US11829591B2 (en) 2019-06-01 2023-11-28 Apple Inc. User interface for managing input techniques
CN113760165B (zh) * 2020-06-05 2024-04-19 腾讯科技(深圳)有限公司 一种界面数据处理方法、装置以及计算机可读存储介质
WO2022241640A1 (en) * 2021-05-18 2022-11-24 Citrix Systems, Inc. A split keyboard with different languages as input
KR102678705B1 (ko) 2023-07-27 2024-06-25 정동은 복수의 단위 식별자를 이용한 숫자 입력 및 표기 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010217961A (ja) 2009-03-13 2010-09-30 Omron Corp 文字入力用のプログラムおよび情報処理装置
WO2011146740A2 (en) 2010-05-19 2011-11-24 Google Inc. Sliding motion to change computer keys

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6734215B2 (en) * 1998-12-16 2004-05-11 University Of South Florida Exo-S-mecamylamine formulation and use in treatment
US7720698B1 (en) * 2000-12-20 2010-05-18 Guaranty Fund Management Services Method and apparatus for performing assessments
KR100577394B1 (ko) 2003-10-20 2006-05-10 삼성전자주식회사 다국어 입력 지원이 가능한 듀얼 디스플레이 노트북 장치및 이를 이용한 사용자 인터페이스 방법
US20090058823A1 (en) 2007-09-04 2009-03-05 Apple Inc. Virtual Keyboards in Multi-Language Environment
US20090218402A1 (en) * 2008-02-29 2009-09-03 Andrew Graham Hodges Apparatus and method for encrypting data in a magnetic stripe reader
JP2009223513A (ja) 2008-03-14 2009-10-01 Panasonic Corp 装飾文字列生成装置及び装飾文字列生成方法並びに装飾文字列生成プログラム
CN101266520B (zh) 2008-04-18 2013-03-27 上海触乐信息科技有限公司 一种可实现灵活键盘布局的系统
US8327296B2 (en) * 2010-04-16 2012-12-04 Google Inc. Extended keyboard user interface
US20110296333A1 (en) * 2010-05-25 2011-12-01 Bateman Steven S User interaction gestures with virtual keyboard
US8517003B2 (en) * 2010-08-05 2013-08-27 Planet Ventures, Inc. Ball throwing device and display package therefor
US20120068937A1 (en) * 2010-09-16 2012-03-22 Sony Ericsson Mobile Communications Ab Quick input language/virtual keyboard/ language dictionary change on a touch screen device
WO2012101710A1 (ja) 2011-01-25 2012-08-02 株式会社ソニー・コンピュータエンタテインメント 入力装置、入力方法及びコンピュータプログラム
KR101704549B1 (ko) * 2011-06-10 2017-02-22 삼성전자주식회사 문자 입력 인터페이스 제공 방법 및 장치
US20130002562A1 (en) * 2011-06-30 2013-01-03 Nokia Corporation Virtual keyboard layouts
US20130030066A1 (en) * 2011-07-29 2013-01-31 Basf Se Polymeric flame retardant
US8856674B2 (en) * 2011-09-28 2014-10-07 Blackberry Limited Electronic device and method for character deletion
US8850310B2 (en) 2011-10-11 2014-09-30 Microsoft Corporation Data entry suggestion lists for designated document data entry areas based on data from other document data entry areas
US9002699B2 (en) 2011-11-14 2015-04-07 Microsoft Technology Licensing, Llc Adaptive input language switching
WO2013085528A1 (en) * 2011-12-08 2013-06-13 Intel Corporation Methods and apparatus for dynamically adapting a virtual keyboard
JP6031764B2 (ja) 2012-01-13 2016-11-24 オムロン株式会社 文字入力用のプログラムおよび情報処理装置ならびに文字入力動作の設定方法
US9292203B2 (en) * 2012-05-10 2016-03-22 Apple Inc. Providing a vertical candidate bar with an on-screen keyboard
JP2014067375A (ja) 2012-09-27 2014-04-17 Nikon Corp 端末装置及びプログラム
US20140164981A1 (en) 2012-12-11 2014-06-12 Nokia Corporation Text entry
JP6113090B2 (ja) 2013-03-21 2017-04-12 株式会社沖データ 情報処理装置、画像形成装置およびタッチパネル
JP2014212662A (ja) * 2013-04-19 2014-11-13 キヤノン株式会社 送電装置およびその制御方法、電力伝送システム
US20150100537A1 (en) * 2013-10-03 2015-04-09 Microsoft Corporation Emoji for Text Predictions
US20150242392A1 (en) 2014-02-27 2015-08-27 Ford Global Technologies, Llc International keyboard for in-car communication and entertainment system
JP6379534B2 (ja) 2014-03-11 2018-08-29 株式会社リコー 情報処理システム、クライアント装置、及び情報処理方法
US9767096B2 (en) * 2014-05-30 2017-09-19 General Electric Company Systems and methods for internationalization support
US9336869B2 (en) * 2014-07-28 2016-05-10 National Chiao Tung University Nonvoltile resistance memory and its operation thereof
US10152227B2 (en) * 2014-08-26 2018-12-11 International Business Machines Corporation Free form user-designed single-handed touchscreen keyboard
US10824654B2 (en) * 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US20160085441A1 (en) * 2014-09-22 2016-03-24 Smart Technologies Ulc Method, Apparatus, and Interactive Input System
US9306881B1 (en) * 2014-09-25 2016-04-05 Glu Mobile Inc. Methods and systems for obscuring text in a conversation
KR102368044B1 (ko) * 2014-11-03 2022-02-25 삼성전자주식회사 사용자 단말 장치 및 이의 제어 방법
US9760560B2 (en) * 2015-03-19 2017-09-12 Nuance Communications, Inc. Correction of previous words and other user text input errors
US11025565B2 (en) * 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20170003837A1 (en) * 2015-06-30 2017-01-05 Integrated Computer Solutions, Inc. Systems and Methods for Generating, Presenting, and Adjusting Adjustable Virtual Keyboards
US10379737B2 (en) 2015-10-19 2019-08-13 Apple Inc. Devices, methods, and graphical user interfaces for keyboard interface functionalities
KR102389185B1 (ko) * 2017-10-17 2022-04-21 삼성전자주식회사 컨텐츠의 적어도 일부를 통해 표시된 입력 인터페이스를 이용하여 기능을 실행하기 위한 전자 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010217961A (ja) 2009-03-13 2010-09-30 Omron Corp 文字入力用のプログラムおよび情報処理装置
WO2011146740A2 (en) 2010-05-19 2011-11-24 Google Inc. Sliding motion to change computer keys

Also Published As

Publication number Publication date
US20190339863A1 (en) 2019-11-07
CN206178562U (zh) 2017-05-17
JP2017111797A (ja) 2017-06-22
JP2017102902A (ja) 2017-06-08
US20210389874A1 (en) 2021-12-16
US20170109039A1 (en) 2017-04-20
KR20170045719A (ko) 2017-04-27
JP6342464B2 (ja) 2018-06-13
US10379737B2 (en) 2019-08-13
US11989410B2 (en) 2024-05-21
JP6300879B2 (ja) 2018-03-28

Similar Documents

Publication Publication Date Title
KR101838811B1 (ko) 키보드 인터페이스 기능성을 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
US20240061557A1 (en) Device, Method, and Graphical User Interface for Providing Navigation and Search Functionalities
US20210049321A1 (en) Device, method, and graphical user interface for annotating text
US9128614B2 (en) Device, method, and graphical user interface for manipulating soft keyboards
US8707195B2 (en) Devices, methods, and graphical user interfaces for accessibility via a touch-sensitive surface
US9141200B2 (en) Device, method, and graphical user interface for entering characters
US8659562B2 (en) Device, method, and graphical user interface for manipulating soft keyboards
US8543905B2 (en) Device, method, and graphical user interface for automatically generating supplemental content
US10691330B2 (en) Device, method, and graphical user interface for force-sensitive gestures on the back of a device
US20110298723A1 (en) Devices, Methods, and Graphical User Interfaces for Accessibility via a Touch-Sensitive Surface

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant