KR20120113770A - Apparatus and method for conditionally enabling or disabling soft buttons - Google Patents

Apparatus and method for conditionally enabling or disabling soft buttons Download PDF

Info

Publication number
KR20120113770A
KR20120113770A KR1020127020604A KR20127020604A KR20120113770A KR 20120113770 A KR20120113770 A KR 20120113770A KR 1020127020604 A KR1020127020604 A KR 1020127020604A KR 20127020604 A KR20127020604 A KR 20127020604A KR 20120113770 A KR20120113770 A KR 20120113770A
Authority
KR
South Korea
Prior art keywords
button
time
input
buttons
enabled
Prior art date
Application number
KR1020127020604A
Other languages
Korean (ko)
Other versions
KR101441217B1 (en
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 KR20120113770A publication Critical patent/KR20120113770A/en
Application granted granted Critical
Publication of KR101441217B1 publication Critical patent/KR101441217B1/en

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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display

Abstract

다기능 장치를 동작시키는 방법이, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 갖는 소프트 키보드를 표시하는 단계, 제1 버튼에 의한 제1 입력을 제1 시간에 검출하는 단계, 및 제1 버튼을 활성화시킴으로써 제1 입력을 검출하는 것에 응답하는 단계를 포함한다. 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 것에 응답하여, 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는 제2 버튼이 활성화된다. 제2 버튼이 조건적으로 인에이블된 버튼인 경우, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 제2 버튼이 활성화되고, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치와 같거나 그보다 작으면 제2 버튼은 활성화되는 것이 방지된다. A method of operating a multifunction device includes displaying a soft keyboard having a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons, wherein the first input by the first button is received at a first time. Detecting and responding to detecting the first input by activating the first button. In response to detecting the second input by the second button at a second time, the second button if the first button is an unconditionally enabled button and the second button is an unconditionally enabled button; Is activated. If the second button is a conditionally enabled button, if the period between the first time and the second time is greater than a predefined threshold, the second button is activated, and the period between the first time and the second time is If less than or equal to the predefined threshold, the second button is prevented from being activated.

Figure P1020127020604
Figure P1020127020604

Description

소프트 버튼들을 조건적으로 인에이블 또는 디스에이블하기 위한 기기 및 방법{APPARATUS AND METHOD FOR CONDITIONALLY ENABLING OR DISABLING SOFT BUTTONS}Apparatus and method for conditionally enabling or disabling soft buttons {APPARATUS AND METHOD FOR CONDITIONALLY ENABLING OR DISABLING SOFT BUTTONS}

본 발명은, 전반적으로, 소프트 키보드 상의 소프트키들 또는 다른 객체들과 같은 표시된 사용자 인터페이스 상의 소프트 버튼들을 조건적으로 활성화 또는 비활성화시킬 수 있는 터치 감지 디스플레이들을 갖는 전자 장치들을 포함하지만 이에 제한되지는 않는, 터치 감지 표면들을 갖는 전자 장치들에 관한 것이다. The present invention generally includes, but is not limited to, electronic devices having touch sensitive displays that can conditionally activate or deactivate soft buttons on a displayed user interface, such as softkeys or other objects on a soft keyboard. It relates to electronic devices having touch sensitive surfaces.

최근에, 컴퓨터들 및 다른 전자 컴퓨팅 장치들에 대한 입력 장치들로서 터치 감지 표면들을 사용하는 것이 상당히 증가하였다. 예시적인 터치 감지 표면들은 터치 패드들 및 터치 스크린 디스플레이들을 포함한다. 그러한 표면들은 디스플레이 상의 사용자 인터페이스 객체들을 조작하는데 널리 사용된다.Recently, the use of touch-sensitive surfaces as input devices for computers and other electronic computing devices has increased significantly. Exemplary touch sensitive surfaces include touch pads and touch screen displays. Such surfaces are widely used to manipulate user interface objects on a display.

예시적인 조작은 하나 이상의 소프트 키보드를 이용하여 문자들(characters)을 입력하는 것을 포함한다. 사용자는 문자 입력이 요구되는 임의의 프로그램 또는 애플리케이션에서 사용자 인터페이스 객체들 상에 그러한 조작들을 수행할 필요가 있을 수 있다. Exemplary operations include entering characters using one or more soft keyboards. The user may need to perform such operations on user interface objects in any program or application in which character input is required.

그러나, 그러한 키보드를 이용하는 현존하는 방법들은 성가시며 비효율적이다. 예를 들어, 키보드를 숨기거나 상이한 언어의 키보드로 스위칭하는 버튼들이 키보드 상에 타이핑하는 동안 의도적이지 않게 활성화될 수 있으며, 이는 텍스트 입력 경험을 지루하게 하고 사용자에게 상당한 인식 부담을 초래한다. 또한, 일부 종래의 방법들은 태스크를 완료하는데 필요한 것보다 더 오래 걸리므로, 사용자 시간 및 장치의 전원 보유량을 낭비하고, 이는 배터리 동작 장치들에 특히 중요한 고려사항이 될 수 있다. However, existing methods of using such keyboards are cumbersome and inefficient. For example, buttons that hide the keyboard or switch to keyboards of different languages may be intentionally activated while typing on the keyboard, which makes the text input experience boring and causes a significant recognition burden on the user. In addition, some conventional methods take longer than necessary to complete a task, thus wasting user time and power reserve of the device, which can be a particularly important consideration for battery operated devices.

따라서, 소프트 키보드 상의 버튼들을 활성화하는 더욱 빠르고 보다 효율적인 방법들 및 인터페이스들을 갖는 컴퓨팅 장치들이 필요하게 된다. 그러한 방법들 및 인터페이스들은 소프트 키보드 상의 버튼들을 활성화하기 위한 종래의 방법들을 보완하거나 대체할 수 있다. 이러한 방법들 및 인터페이스들은 사용자의 인식 부담을 감소시키고, 보다 효율적인 인간-머신 인터페이스를 생성한다. 배터리 동작 컴퓨팅 장치들에 있어서, 그러한 방법들 및 인터페이스들은 전원을 절약하고 배터리 충전 간격을 늘린다. Thus, there is a need for computing devices with faster and more efficient methods and interfaces for activating buttons on a soft keyboard. Such methods and interfaces may complement or replace conventional methods for activating buttons on a soft keyboard. These methods and interfaces reduce the perceived burden on the user and create a more efficient human-machine interface. In battery operated computing devices, such methods and interfaces save power and extend battery charge intervals.

터치 감지 디스플레이들(또한 예컨대, "터치 스크린" 또는 "터치 스크린 디스플레이"로 공지되어 있음)을 갖는 컴퓨팅 장치들에 대한 사용자 인터페이스들과 연관된 상기 결점들 및 다른 문제점들이 본 발명의 장치들에 의해 감소된다. 일례로서, 소프트 키보드 내의 키보드 선택 버튼은 임의의 다른 소프트 키보드 버튼들(예컨대, 표시된 소프트 키보드 내의 글자(letter) 버튼들 중 임의의 버튼)의 활성화에 응답하여 일시적으로 디스에이블된다. 키보드 선택 버튼을 조건적으로 디스에이블함으로써, 사용자에 의한 보다 빠르고 보다 효율적인 타이핑이 가능해지고, 키보드 선택 버튼의 돌발적인 활성화가 회피된다. 사용자에 의한 보다 빠르고 보다 효율적인 타이핑을 용이하게 하는 조건적으로 인에이블된 버튼의 다른 예가 키보드 숨김 버튼이다. 통상적으로 사용자들은 능동적으로 타이핑하는 동안 소프트 키보드를 숨기고 싶어하지 않으므로, 키보드 숨김 버튼(소프트 키보드 내에 또는 터치 감지 디스플레이 상의 사용자 인터페이스 내의 어디에든 표시됨)을, 사용자에 의한 보다 빠르고 보다 효율적인 타이핑을 용이하게 하는 조건적으로 인에이블된 버튼으로 만들어서, 에너지 및 장치의 전원 보유량을 절약한다. These drawbacks and other problems associated with user interfaces for computing devices having touch sensitive displays (also known as “touch screens” or “touch screen displays”, for example) are reduced by the devices of the present invention. do. As an example, the keyboard select button in the soft keyboard is temporarily disabled in response to the activation of any other soft keyboard buttons (eg, any of the letter buttons in the displayed soft keyboard). By conditionally disabling the keyboard select button, faster and more efficient typing by the user is possible, and accidental activation of the keyboard select button is avoided. Another example of a conditionally enabled button that facilitates faster and more efficient typing by a user is a keyboard hide button. Users typically do not want to hide the soft keyboard while actively typing, thus allowing the keyboard hide button (shown anywhere within the soft keyboard or in the user interface on the touch-sensitive display) to facilitate faster and more efficient typing by the user. Made with conditionally enabled buttons, saving energy and power reserves for the device.

일부 실시예들에서, 장치는 데스크탑 컴퓨터이다. 일부 실시예들에서, 장치는 휴대용(예컨대, 노트북 컴퓨터, 태블릿 컴퓨터, 또는 핸드헬드 장치)이다. 일부 실시예들에서, 장치는 그래픽 사용자 인터페이스(GUI), 하나 이상의 프로세서, 메모리 및 하나 이상의 모듈, 다중 기능을 수행하는 메모리에 저장된 프로그램들 또는 명령어 세트를 갖는다. 일부 실시예들에서, 사용자는 주로 터치 감지 디스플레이 상에서 손가락 접촉 및 제스처를 통해 GUI와 상호작용한다. 일부 실시예들에서, 기능들은 다양한 유형의 편집, 제도, 프리젠테이션, 워드 프로세싱, 웹사이트 생성, 디스크 제작, 스프레드시트 작성, 게임 플레이, 전화, 화상 회의, 이메일링, 인스턴트 메시징, 연습 지원, 디지털 사진 촬영, 디지털 비디오 촬영, 웹 브라우징, 디지털 음악 재생, 및/또는 디지털 비디오 재생을 포함할 수 있다. 이러한 기능들을 수행하기 위한 실행가능 명령어들은 하나 이상의 프로세서에 의한 실행을 위해 구성된 컴퓨터 판독가능 저장 매체 또는 그 밖의 컴퓨터 프로그램 제품에 포함될 수 있다. In some embodiments, the device is a desktop computer. In some embodiments, the device is a portable (eg, notebook computer, tablet computer, or handheld device). In some embodiments, a device has a graphical user interface (GUI), one or more processors, memory and one or more modules, programs or instruction sets stored in memory that performs multiple functions. In some embodiments, the user interacts with the GUI primarily through finger touches and gestures on the touch sensitive display. In some embodiments, the functions may include various types of editing, drafting, presentation, word processing, website creation, disc authoring, spreadsheet creation, game play, telephone, video conferencing, emailing, instant messaging, practice support, digital Photo shoot, digital video shoot, web browsing, digital music play, and / or digital video play. Executable instructions for performing these functions may be included in a computer readable storage medium or other computer program product configured for execution by one or more processors.

일부 실시예들에 따르면, 다기능 장치가, 터치 스크린 디스플레이, 하나 이상의 프로세서, 메모리, 및 하나 이상의 프로그램을 포함한다. 하나 이상의 프로그램은 메모리에 저장되며, 하나 이상의 프로세서에 의해 실행되도록 구성된다. 하나 이상의 프로그램은, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하고, 제1 버튼에 의한 제1 입력을 제1 시간에 검출하고, 제1 버튼을 활성화시킴으로써 제1 입력을 검출하는 것에 응답하는 명령어들을 포함한다. 프로그램들은, 제2 버튼에 의한 제2 입력을 제2 시간에 검출하고, 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 것에 응답하는 명령어들을 더 포함한다. 예를 들어, 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 명령어들은 제2 버튼을 활성화시킨다. 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 조건적으로 인에이블된 버튼인 경우, 및 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치보다 큰 경우, 명령어들은 제2 입력을 검출하는 것에 응답하여 제2 버튼을 활성화시킨다. 그러나, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치와 같거나 그보다 작으면, 명령어들은 제2 버튼이 활성화되는 것을 방지한다. According to some embodiments, a multifunction device includes a touch screen display, one or more processors, memory, and one or more programs. One or more programs are stored in memory and are configured to be executed by one or more processors. The one or more programs display a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons, the first input being a first input by the first button. Instructions for detecting in time and responsive to detecting the first input by activating the first button. The programs further include instructions responsive to detecting a second input by a second button at a second time and detecting a second input by a second button at a second time. For example, if the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the instructions activate the second button. If the first button is an unconditionally enabled button and the second button is a conditionally enabled button, and if the period between the first time and the second time is greater than a predefined threshold, the instructions are generated. 2 Activate the second button in response to detecting the input. However, if the period between the first time and the second time is less than or equal to the predefined threshold, the instructions prevent the second button from being activated.

일부 실시예들에 따르면, 방법이, 터치 스크린 디스플레이를 갖는 다기능 장치에서 수행된다. 방법은, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 단계, 제1 버튼에 의한 제1 입력을 제1 시간에 검출하는 단계, 및 제1 버튼을 활성화시킴으로써 제1 입력을 검출하는 것에 응답하는 단계를 포함한다. 방법은, 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 단계, 및 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 것에 응답하는 단계를 더 포함한다. 제1 버튼 및 제2 버튼 모두 비조건적으로 인에이블된 버튼인 경우에는, 방법은, 제2 버튼을 활성화시킨다. 그러나, 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는, 방법은, 제2 버튼을 조건적으로 디스에이블시킨다. 구체적으로는, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 방법은 제2 버튼을 활성화시키고, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치와 같거나 그보다 작으면, 방법은, 제2 버튼의 활성화를 디스에이블한다. According to some embodiments, the method is performed in a multifunction device having a touch screen display. The method includes displaying a soft keyboard having a plurality of buttons, the plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons, the first time being input by the first button. Detecting, and responsive to detecting the first input by activating the first button. The method further includes detecting a second input by a second button at a second time, and responding to detecting a second input by a second button at a second time. If both the first button and the second button are unconditionally enabled buttons, the method activates the second button. However, if the first button is an unconditionally enabled button and the second button is a conditionally enabled button, the method conditionally disables the second button. Specifically, if the period between the first time and the second time is greater than the predefined threshold, the method activates the second button, and the period between the first time and the second time is equal to or greater than the predefined threshold. If small, the method disables activation of the second button.

일부 실시예들에 따르면, 컴퓨터 판독가능 저장 매체에는, 터치 스크린 디스플레이를 갖는 다기능 장치에 의해 실행될 경우, 장치로 하여금, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하고, 제1 버튼에 의한 제1 입력을 제1 시간에 검출하고, 제1 버튼을 활성화시킴으로써 제1 입력을 검출하는 것에 응답하도록 하는 명령어들이 저장된다. 명령어들의 실행은 또한, 장치로 하여금, 제2 버튼에 의한 제2 입력을 제2 시간에 검출하고, 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 것에 응답하도록 한다. 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 명령어들의 실행은, 장치로 하여금, 제2 버튼을 활성화시키도록 한다. 그러나, 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는, 명령어들의 실행은, 장치로 하여금, 제2 버튼을 조건적으로 활성화시키도록 한다. 구체적으로는, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 명령어들의 실행은, 장치로 하여금, 제2 버튼을 활성화시키도록 하고, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치와 같거나 그보다 작으면, 명령어들의 실행은, 장치로 하여금, 제2 버튼이 활성화되는 것을 방지하도록 한다. According to some embodiments, a computer-readable storage medium, when executed by a multifunction device having a touch screen display, causes the device to cause a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons. Instructions are displayed to display a soft keyboard having a plurality of buttons, to detect a first input by a first button at a first time, and to respond to detecting the first input by activating the first button. . Execution of the instructions also causes the apparatus to respond to detecting a second input by the second button at a second time and detecting a second input by the second button at a second time. If the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, execution of the instructions causes the device to activate the second button. However, if the first button is an unconditionally enabled button and the second button is a conditionally enabled button, execution of the instructions causes the device to conditionally activate the second button. . Specifically, if the period between the first time and the second time is greater than the predefined threshold, execution of the instructions causes the device to activate the second button and the period between the first time and the second time. If equal to or less than this predefined threshold, execution of the instructions causes the device to prevent the second button from being activated.

일부 실시예들에 따르면, 터치 스크린 디스플레이, 메모리 및 메모리에 저장된 하나 이상의 프로그램을 실행시키는 하나 이상의 프로세서를 갖는 다기능 장치 상의 그래픽 사용자 인터페이스가, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 포함한다. 제1 버튼에 의한 제1 입력이 제1 시간에 검출되는 경우, 제1 입력의 검출이 제1 버튼의 활성화에 의해 응답된다. 제2 버튼에 의한 제2 입력이 제2 시간에 검출되고, 제2 버튼에 의한 제2 입력이 제2 시간에 검출되는 것에 응답한다. 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는 제2 버튼이 활성화된다. 그러나, 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는, 제2 버튼이 조건적으로 활성화된다. 구체적으로는, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면 제2 버튼이 활성화되고, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치와 같거나 그보다 작으면 제2 버튼의 활성화가 방지된다. According to some embodiments, a graphical user interface on a multifunction device having a touch screen display, a memory, and one or more processors executing one or more programs stored in the memory, includes a plurality of unconditionally enabled buttons and one or more conditional. It includes a soft keyboard having a plurality of buttons including the enabled button. When the first input by the first button is detected at the first time, the detection of the first input is responded by the activation of the first button. The second input by the second button is detected at the second time, and the second input by the second button is detected at the second time. If the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the second button is activated. However, when the first button is an unconditionally enabled button and the second button is a conditionally enabled button, the second button is conditionally activated. Specifically, the second button is activated if the period between the first time and the second time is greater than the predefined threshold, and if the period between the first time and the second time is less than or equal to the predefined threshold, the second button is activated. 2 Button activation is prevented.

일부 실시예들에 따르면, 다기능 장치가, 터치 스크린 디스플레이, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 수단, 제1 버튼에 의한 제1 입력을 제1 시간에 검출하는 수단 및 제1 버튼을 활성화시킴으로써 제1 입력을 검출하는 것에 응답하는 수단을 포함한다. 장치는, 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 수단, 및 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 것에 응답하는 수단을 더 포함한다. 제2 입력을 검출하는 것에 응답하는 수단은, 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는 제2 버튼을 활성화시킨다. 그러나, 제2 입력을 검출하는 것에 응답하는 수단은, 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는, 제2 버튼을 조건적으로 활성화시킨다. 구체적으로는, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 제2 버튼은 제2 입력을 검출하는 것에 응답하는 수단에 의해 활성화된다. 그리고, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치와 같거나 그보다 작으면, 제2 버튼은 제2 입력을 검출하는 것에 응답하는 수단에 의해 활성화되는 것이 방지된다. According to some embodiments, a multifunction device includes means for displaying a soft keyboard having a touch screen display, a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons, Means for detecting a first input by a first button at a first time and means for responding to detecting the first input by activating the first button. The apparatus further includes means for detecting a second input by the second button at a second time and means for responding to detecting the second input by the second button at a second time. The means for responding to detecting the second input activates the second button if the first button is an unconditionally enabled button and the second button is an unconditionally enabled button. However, means for responding to detecting the second input is conditionally activating the second button if the first button is an unconditionally enabled button and the second button is conditionally enabled. Let's do it. Specifically, if the period between the first time and the second time is greater than a predefined threshold, the second button is activated by means responsive to detecting the second input. And if the period between the first time and the second time is less than or equal to the predefined threshold, the second button is prevented from being activated by means responsive to detecting the second input.

일부 실시예들에 따르면, 터치 스크린 디스플레이를 갖는 다기능 장치에서 사용하기 위한 정보 처리 기기가, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 수단, 제1 버튼에 의한 제1 입력을 제1 시간에 검출하는 수단, 및 제1 버튼을 활성화시킴으로써 제1 입력을 검출하는 것에 응답하는 수단을 포함한다. 기기는, 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 수단, 및 제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 것에 응답하는 수단을 더 포함한다. 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 제2 입력을 검출하는 것에 응답하는 수단은 제2 버튼을 활성화시킨다. 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는, 제2 입력을 검출하는 것에 응답하는 수단은 제2 버튼을 조건적으로 활성화시킨다. 구체적으로는, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 제2 입력을 검출하는 것에 응답하는 수단은 제2 버튼을 활성화시키고, 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치와 같거나 그보다 작으면, 제2 입력을 검출하는 것에 응답하는 수단은 제2 버튼이 활성화되는 것을 방지한다. According to some embodiments, an information processing device for use in a multifunction device having a touch screen display includes a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons. Means for displaying a soft keyboard having, means for detecting a first input by a first button at a first time, and means for responding to detecting the first input by activating the first button. The apparatus further includes means for detecting a second input by the second button at the second time, and means for responding to detecting the second input by the second button at the second time. If the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the means responsive to detecting the second input activates the second button. If the first button is an unconditionally enabled button and the second button is a conditionally enabled button, the means responsive to detecting the second input conditionally activates the second button. Specifically, if the period between the first time and the second time is greater than the predefined threshold, the means for responding to detecting the second input activates the second button and the period between the first time and the second time. If equal to or less than this predefined threshold, the means responsive to detecting the second input prevents the second button from being activated.

일부 실시예들에 따르면, 다기능 장치가, 터치 스크린 디스플레이, 하나 이상의 프로세서, 메모리, 및 하나 이상의 프로그램을 포함한다. 하나 이상의 프로그램은, 메모리에 저장되며, 하나 이상의 프로세서에 의해 실행되도록 구성된다. 하나 이상의 프로그램은, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하고, 각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하고, 각각 비조건적으로 인에이블된 버튼을 활성화시킴으로써 제1 입력을 제1 시간에 검출하는 것에 응답하고, 제1 시간부터 시작하는 미리 정의된 기간 동안 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블하는 명령어들을 포함한다. 하나 이상의 프로그램은, 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하고 - 제2 입력은 미리 정의된 기간 내에 있는 제2 시간에 검출됨 -, 제2 입력을 무시함으로써 제2 입력을 제2 시간에 검출하는 것에 응답하는 명령어들을 더 포함한다. According to some embodiments, a multifunction device includes a touch screen display, one or more processors, memory, and one or more programs. One or more programs are stored in memory and configured to be executed by one or more processors. One or more programs display a soft keyboard having a plurality of buttons, the plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons, each with an unconditionally enabled button. Detects the first input at a first time, and responds to detecting the first input at a first time by activating each unconditionally enabled button, and conditionally for a predefined period starting from the first time. Instructions for disabling at least one of the enabled buttons. The one or more programs detect a second input by a conditionally enabled button disabled in response to the first input, the second input being detected at a second time within a predefined period of time; Further comprising instructions responsive to detecting the second input at a second time by ignoring the two inputs.

일부 실시예들에 따르면, 방법이, 터치 스크린 디스플레이를 갖는 다기능 장치에서 수행된다. 방법은, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 단계, 각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하는 단계, 및 각각 비조건적으로 인에이블된 버튼을 활성화시키고 제1 시간부터 시작하는 미리 정의된 기간 동안 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블함으로써, 제1 입력을 제1 시간에 검출하는 것에 응답하는 단계를 포함한다. 방법은, 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼들에 의한 제2 입력을 검출하는 단계 - 제2 입력은 미리 정의된 기간 내에 있는 제2 시간에 검출됨 -, 및 제2 입력을 무시함으로써 제2 입력을 제2 시간에 검출하는 것에 응답하는 단계를 더 포함한다. According to some embodiments, the method is performed in a multifunction device having a touch screen display. The method includes displaying a soft keyboard having a plurality of buttons, the plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons, each by an unconditionally enabled button. Detecting a first input at a first time, and by activating each unconditionally enabled button and disabling at least one of the conditionally enabled buttons for a predefined period starting from the first time And responding to detecting the first input at a first time. The method includes detecting a second input by the conditionally enabled buttons disabled in response to the first input, the second input being detected at a second time within a predefined period of time, and And responding to detecting the second input at a second time by ignoring the second input.

일부 실시예들에 따르면, 컴퓨터 판독가능 저장 매체에, 터치 스크린 디스플레이를 갖는 다기능 장치에 의해 실행될 경우, 장치로 하여금, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하고, 각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하고, 각각 비조건적으로 인에이블된 버튼을 활성화하고, 제1 시간부터 시작하는 미리 정의된 기간 동안 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블함으로써, 제1 입력을 제1 시간에 검출하는 것에 응답하도록 하는, 명령어들이 저장된다. 명령어들의 실행은 또한, 장치로 하여금, 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하고 - 제2 입력은 미리 정의된 기간 내에 있는 제2 시간에 검출됨 -, 제2 입력을 무시함으로써 제2 입력을 제2 시간에 검출하는 것에 응답하도록 한다. According to some embodiments, a computer-readable storage medium, when executed by a multifunction device having a touch screen display, causes the device to cause a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons; Displaying a soft keyboard having a plurality of buttons, each detecting a first input by an unconditionally enabled button at a first time, respectively activating the unconditionally enabled button, Instructions are stored that, in response to detecting the first input at a first time, by disabling at least one of the conditionally enabled buttons for a predefined period starting from one hour. Execution of the instructions also causes the apparatus to detect a second input by a conditionally enabled button that is disabled in response to the first input, the second input being at a second time within a predefined period of time. Detected-to respond to detecting the second input at a second time by ignoring the second input.

일부 실시예들에 따르면, 터치 스크린 디스플레이, 메모리 및 메모리에 저장된 하나 이상의 프로그램을 실행시키는 하나 이상의 프로세서를 갖는 다기능 장치 상의 그래픽 사용자 인터페이스가, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 포함한다. 그래픽 사용자 인터페이스의 각각 비조건적으로 인에이블된 버튼에 의한 제1 입력이 제1 시간에 검출된다. 제1 입력이 제1 시간에 검출되는 것에 응답하여, 각각 비조건적으로 인에이블된 버튼이 활성화되고, 조건적으로 인에이블된 버튼들 중 적어도 하나가 제1 시간부터 시작하는 미리 정의된 기간 동안 디스에이블된다. 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력이 미리 정의된 기간 내에 있는 제2 시간에 검출되고, 제2 입력은 무시된다. According to some embodiments, a graphical user interface on a multifunction device having a touch screen display, a memory, and one or more processors executing one or more programs stored in the memory, includes a plurality of unconditionally enabled buttons and one or more conditional. It includes a soft keyboard having a plurality of buttons including the enabled button. A first input by each unconditionally enabled button of the graphical user interface is detected at a first time. In response to the first input being detected at the first time, each unconditionally enabled button is activated, and during a predefined period of time at least one of the conditionally enabled buttons starts from the first time. Is disabled. A second input by a conditionally enabled button that is disabled in response to the first input is detected at a second time that is within a predefined period, and the second input is ignored.

일부 실시예들에 따르면, 다기능 장치가, 터치 스크린 디스플레이, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 수단, 각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하는 수단, 및 제1 입력을 제1 시간에 검출하는 것에 응답하여 각각 비조건적으로 인에이블된 버튼을 활성화하는 수단을 포함한다. 장치는 또한, 제1 시간부터 시작하는 미리 정의된 기간 동안 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블하는 수단, 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하는 수단, 및 제2 입력이 미리 정의된 기간 내에 있는 제2 시간에 검출되는 경우, 제2 입력을 무시하는 수단을 더 포함한다. According to some embodiments, a multifunction device includes means for displaying a soft keyboard having a touch screen display, a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons, Means for detecting a first input by a first unconditionally enabled button at a first time, and means for activating each unconditionally enabled button in response to detecting a first input at a first time It includes. The apparatus also includes means for disabling at least one of the conditionally enabled buttons for a predefined period starting from the first time, the disabled conditionally enabled button in response to the first input. Means for detecting a second input by means, and means for ignoring the second input if the second input is detected at a second time that is within a predefined period.

일부 실시예들에 따르면, 터치 스크린 디스플레이를 갖는 다기능 장치에서 사용하기 위한 정보 처리 기기가, 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 수단, 각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하는 수단, 및 제1 입력을 제1 시간에 검출하는 것에 응답하여 각각 비조건적으로 인에이블된 버튼을 활성화하는 수단을 포함한다. 기기는, 제1 시간부터 시작하는 미리 정의된 기간 동안 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블하는 수단, 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하는 수단, 및 제2 입력이 미리 정의된 기간 내에 있는 제2 시간에 검출되는 경우, 제2 입력을 무시하는 수단을 더 포함한다. According to some embodiments, an information processing device for use in a multifunction device having a touch screen display includes a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons. Means for displaying a soft keyboard having, respectively, means for detecting a first input at a first time by an unconditionally enabled button, and unconditionally in response to detecting a first input at a first time, respectively. Means for activating the enabled button. The device includes means for disabling at least one of the conditionally enabled buttons for a predefined period starting from a first time, by means of a conditionally enabled button disabled in response to the first input. Means for detecting a second input, and means for ignoring the second input if the second input is detected at a second time that is within a predefined time period.

따라서, 터치 스크린 디스플레이들을 갖는 다기능 장치들에는 키들을 활성화시키는 보다 빠르고 보다 효율적인 방법들 및 인터페이스들이 제공되며, 그에 따라 그러한 장치들에 의한 유효성, 효율성 및 사용자 만족도가 증가한다. 그러한 방법들 및 인터페이스들은 키들을 활성화시키기 위한 종래의 방법들을 보완하거나 대체할 수 있다. Thus, multifunction devices with touch screen displays are provided with faster and more efficient methods and interfaces for activating keys, thereby increasing the effectiveness, efficiency and user satisfaction with such devices. Such methods and interfaces may complement or replace conventional methods for activating keys.

본 발명의 전술한 실시예들 및 추가적인 실시예들에 대한 양호한 이해를 위해, 다음의 도면들과 함께 이하의 실시예들의 설명이 참조되어야 하며, 이들 도면에서 동일한 참조 번호들은 도면들 전체에 걸쳐 대응하는 부분들을 지칭한다.
도 1a 및 도 1b는 일부 실시예들에 따른 터치 감지 디스플레이들을 갖는 휴대용 다기능 장치들을 도시하는 블록도들이다.
도 1c는 일부 실시예들에 따른 이벤트 처리를 위한 예시적인 컴포넌트들을 나타내는 블록도이다.
도 2는 일부 실시예들에 따른 터치 감지 디스플레이를 갖는 휴대용 다기능 장치를 도시한다.
도 3은 일부 실시예들에 따른 디스플레이 및 터치 감지 표면을 갖는 예시적인 다기능 장치의 블록도이다.
도 4a 및 도 4b는 일부 실시예들에 따른 휴대용 다기능 장치 상의 애플리케이션들의 메뉴를 위한 예시적인 사용자 인터페이스들을 도시한다.
도 5a 내지 도 5i는 일부 실시예들에 따른 버튼들을 활성화시키기 위한 예시적인 사용자 인터페이스들을 도시한다.
도 6a 및 도 6b는 일부 실시예들에 따른 버튼들을 활성화시키는 방법을 도시하는 흐름도들이다.
도 7은 일부 실시예들에 따른 버튼들을 활성화시키는 방법을 도시한 흐름도들이다.
BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of the foregoing and further embodiments of the invention, reference should be made to the following description of embodiments, taken in conjunction with the accompanying drawings, in which like reference numerals indicate corresponding .
Figures 1A and 1B are block diagrams illustrating portable multifunction devices with touch-sensitive displays in accordance with some embodiments.
1C is a block diagram illustrating exemplary components for event processing in accordance with some embodiments.
2 illustrates a portable multifunction device having a touch sensitive display in accordance with some embodiments.
3 is a block diagram of an exemplary multifunction device having a display and a touch sensitive surface in accordance with some embodiments.
4A and 4B illustrate exemplary user interfaces for a menu of applications on a portable multifunctional device according to some embodiments.
5A-5I illustrate example user interfaces for activating buttons in accordance with some embodiments.
6A and 6B are flow charts illustrating a method of activating buttons in accordance with some embodiments.
7 is a flow chart illustrating a method of activating buttons according to some embodiments.

이하, 첨부된 도면에 그 예가 도시된 실시예들에 대해 상세하게 언급할 것이다. 이하의 상세한 설명에서, 본 발명의 철저한 이해를 제공하기 위하여 다수의 특정 세부사항이 상술된다. 그러나, 이러한 특정 세부사항 없이도 본 발명이 실시될 수 있음은 당업자에게 자명할 것이다. 한편, 실시예의 양태를 불필요하게 모호하게 하지 않도록, 공지된 방법, 절차, 컴포넌트, 회로 및 네트워크에 대해서는 상세하게 설명하지 않았다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. On the other hand, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

또한, 본 명세서에 제1, 제2 등의 용어가 다양한 구성요소를 설명하기 위해 사용될 수 있지만, 이들 구성요소는 이러한 용어에 의해 한정되지 않아야 한다. 이러한 용어는 구성요소 간의 구별을 위해서 사용될 뿐이다. 예컨대, 본 발명의 기술적 사상으로부터 벗어나지 않고, 제1 접촉은 제2 접촉이라고 지칭될 수 있고, 유사하게 제2 접촉은 제1 접촉이라고 지칭될 수 있다. 제1 접촉 및 제2 접촉은 모두 접촉이지만, 이들은 동일한 접촉은 아니다.In addition, although terms such as first and second may be used herein to describe various components, these components should not be limited by these terms. These terms are only used to distinguish between components. For example, without departing from the spirit of the present invention, a first contact may be referred to as a second contact, and similarly a second contact may be referred to as a first contact. The first contact and the second contact are both contacts, but they are not the same contact.

본 발명의 명세서에 사용된 용어는 특정 실시예를 설명하기 위한 것일 뿐이며 본 발명을 제한하는 것으로 의도된 것이 아니다. 본 발명의 명세서 및 첨부된 특허청구범위에 사용된, "일", "하나의" 및 "상기"라는 단수형은 문맥상 명확하게 달리 지적하지 않은 이상 복수형도 포함하는 것으로 의도된 것이다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것임을 이해할 것이다. "구비한다", "구비하는", "포함한다" 및/또는 "포함하는"이라는 용어는, 본 명세서에서 사용되는 경우, 언급된 특징, 정수, 단계, 동작, 구성요소 및/또는 컴포넌트의 존재를 나타내지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 구성요소, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않음을 더 이해할 것이다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the specification and the appended claims, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and includes all possible combinations of one or more of the related items listed. The use of the terms " comprise, "" comprise," " comprise, "and / But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, components, and / or groups thereof.

본 명세서에 사용되는 "~인 경우"이란 용어는 상황에 따라 "~인 때" 또는 "~와 동시에" 또는 "판단에 응답하여" 또는 "검출에 응답하여"를 의미하는 것으로 해석될 수 있다. 유사하게, "판단되는 경우" 또는 "[언급된 조건 또는 이벤트가] 검출되는 경우"이란 구문은 문맥에 따라 "판단되면" 또는 "판단에 응답하여" 또는 "[언급된 조건 또는 이벤트가] 검출되면" 또는 "[언급된 조건 또는 이벤트의] 검출에 응답하여"를 의미하는 것으로 해석되어야 한다.As used herein, the term " when "may be interpreted to mean" when in " or "in response to, " Similarly, the phrase " when judged "or" when a stated condition or event is detected " Quot; or "in response to detection of [the stated condition or event].

컴퓨팅 장치들, 그러한 장치들을 위한 사용자 인터페이스들, 그리고, 그러한 장치들을 사용하기 위한 관련 프로세스들의 실시예들이 기술된다. 일부 실시예들에서, 컴퓨팅 장치는 PDA 및/또는 음악 플레이어 기능들 등의 다른 기능들을 더 포함하는 이동 전화와 같은 휴대용 통신 장치이다. 휴대용 다기능 장치들의 예시적인 실시예들은 캘리포니아, 쿠퍼티노의 애플사로부터의 iPhone® 및 iPod Touch® 장치들을 포함하지만 이에 한정되지 않는다. 터치 감지 표면들(예로서, 터치 스크린 디스플레이들 및/또는 터치 패드들)을 갖는 랩탑들 또는 태블릿 컴퓨터들과 같은 다른 휴대용 장치들도 사용될 수 있다. 일부 실시예들에서, 장치들은 휴대용 통신 장치가 아니라, 터치 감지 표면(예로서, 터치 스크린 디스플레이 및/또는 터치 패드)을 갖는 데스크탑 컴퓨터라는 것도 이해해야 한다.Embodiments of computing devices, user interfaces for such devices, and related processes for using such devices are described. In some embodiments, the computing device is a portable communication device, such as a mobile phone, that further includes other functions such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, iPhone® and iPod Touch® devices from Apple Inc. of Cupertino, Calif. Other portable devices such as laptops or tablet computers with touch sensitive surfaces (e.g., touch screen displays and / or touch pads) may also be used. It should also be appreciated that, in some embodiments, the devices are not portable communication devices, but desktop computers having a touch sensitive surface (e.g., a touch screen display and / or a touchpad).

아래의 설명에서는 디스플레이 및 터치 감지 표면을 포함하는 컴퓨팅 장치가 설명된다. 그러나, 컴퓨팅 장치는 물리 키보드, 마우스 및/또는 조이스틱과 같은 하나 이상의 다른 물리적 사용자 인터페이스 장치들을 포함할 수 있다는 것을 이해해야 한다.In the following description, a computing device including a display and a touch sensitive surface is described. However, it should be appreciated that a computing device may include one or more other physical user interface devices, such as a physical keyboard, a mouse, and / or a joystick.

장치는, 제도 애플리케이션, 프레젠테이션 애플리케이션, 워드 프로세싱 애플리케이션, 웹사이트 생성 애플리케이션, 디스크 저작 애플리케이션, 스프레드시트 애플리케이션, 게이밍 애플리케이션, 통화 애플리케이션, 비디오 회의 애플리케이션, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 연습 지원 애플리케이션, 사진 관리 애플리케이션, 디지털 카메라 애플리케이션, 디지털 비디오 카메라 애플리케이션, 웹 브라우징 애플리케이션, 디지털 음악 플레이어 애플리케이션 및/또는 디지털 비디오 플레이어 애플리케이션 중 하나 이상의 애플리케이션과 같은 다양한 애플리케이션을 지원한다.The device may be any of a variety of applications, such as drafting applications, presentation applications, word processing applications, web site creation applications, disk authoring applications, spreadsheet applications, gaming applications, currency applications, video conferencing applications, email applications, instant messaging applications, , Digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and / or digital video player applications.

장치 상에서 실행될 수 있는 다양한 애플리케이션은 터치 감지 표면 등의 적어도 하나의 공통의 물리적 사용자 인터페이스를 사용할 수 있다. 터치 감지 표면의 하나 이상의 기능뿐만 아니라 장치 상에 표시되는 대응 정보가 애플리케이션별로 그리고/또는 각 애플리케이션 내에서 조정 및/또는 변경될 수 있다. 이러한 방식으로, 장치의 (터치 감지 표면 등의) 공통의 물리적 아키텍처는 직관적이고 사용자에게 투명한 사용자 인터페이스들을 갖는 다양한 애플리케이션을 지원할 수 있다.The various applications that may be executed on the device may use at least one common physical user interface, such as a touch sensitive surface. One or more functions of the touch sensitive surface as well as corresponding information displayed on the device may be adjusted and / or modified within the application and / or within each application. In this way, a common physical architecture (such as a touch sensitive surface) of the device can support a variety of applications with intuitive, user-transparent user interfaces.

사용자 인터페이스는 하나 이상의 소프트 키보드 실시예를 포함할 수 있다. 소프트 키보드 실시예는, 그 내용 전체가 본 명세서에 참조문헌으로서 포함되는 2006년 7월 24일 출원된 미국 특허출원 제11/459,606호, "Keyboards For Portable Electronic Devices" 및 2006년 7월 24일 출원된 미국 특허출원 제11/459,615호, "Touch Screen Keyboards For Portable Electronic Devices"에 기술된 것과 같은, 키보드의 표시된 아이콘 상에 표준 구성(QWERTY) 및/또는 비표준 구성의 심볼을 포함할 수 있다. 키보드 실시예는 타자기를 위한 것과 같은 기존 물리적 키보드의 키 개수보다 적은 수의 아이콘(또는 소프트 키)을 포함할 수 있다. 이를 통해 사용자가 키보드의 하나 이상의 아이콘을 선택하고 그에 따라 하나 이상의 해당 심볼을 선택하는 것이 용이해질 수 있다. 키보드 실시예는 적응적일 수 있다. 예컨대, 표시된 아이콘은 하나 이상의 아이콘의 선택 및/또는 하나 이상의 해당 심볼의 선택과 같은 사용자 액션에 따라 수정될 수 있다. 휴대용 장치 상의 하나 이상의 애플리케이션은 공통의 키보드 실시예 및/또는 상이한 키보드 실시예를 이용할 수 있다. 따라서, 사용되는 키보드 실시예는 애플리케이션 중 적어도 일부에 대해 맞춤화될(tailored) 수 있다. 일부 실시예들에서, 하나 이상의 키보드 실시예는 각 사용자에 대해 맞춤화될 수 있다. 예컨대, 하나 이상의 키보드 실시예는 각 사용자의 단어 사용 기록(사전 편찬법, 속어, 개별 사용량)에 기초하여 각 사용자에 대해 맞춤화될 수 있다. 키보드 실시예 중 일부는 소프트 키보드 실시예를 사용하는 경우 하나 이상의 아이콘을 선택하고 그에 따라 하나 이상의 심볼을 선택할 때 사용자가 실수할 확률을 줄이도록 조정될 수 있다.The user interface may include one or more soft keyboard embodiments. A soft keyboard embodiment is disclosed in U.S. Patent Application No. 11 / 459,606, entitled " Keyboards For Portable Electronic Devices, "filed July 24, 2006, the entire contents of which are incorporated herein by reference. Standard configuration (QWERTY) and / or non-standard configuration symbols on the displayed icons of the keyboard, such as those described in U.S. Patent Application Serial No. 11 / 459,615, entitled "Touch Screen Keyboards For Portable Electronic Devices". Keyboard embodiments may include fewer icons (or soft keys) than the number of keys on an existing physical keyboard, such as for a typewriter. This may facilitate the user selecting one or more icons of the keyboard and thus one or more corresponding symbols. Keyboard embodiments may be adaptive. For example, the displayed icons may be modified according to user actions such as selection of one or more icons and / or selection of one or more corresponding symbols. One or more applications on the portable device may use common keyboard embodiments and / or different keyboard embodiments. Thus, the keyboard embodiment used may be tailored for at least some of the applications. In some embodiments, one or more keyboard embodiments may be customized for each user. For example, one or more keyboard embodiments may be customized for each user based on each user's word usage history (dictionary, slang, individual usage). Some of the keyboard embodiments may be adjusted to reduce the probability of a user making a mistake when selecting one or more icons and thus selecting one or more symbols when using a soft keyboard embodiment.

이하, 터치 감지 디스플레이를 갖는 휴대용 장치의 실시예에 대하여 논한다. 도 1a 및 1b는 일부 실시예들에 따른 터치 감지 디스플레이(112)를 구비한 휴대용 다기능 장치(100)를 도시하는 블록도이다. 터치 감지 디스플레이(112)는 편의상 "터치 스크린"이라 지칭되고, 터치 감지 디스플레이 시스템으로도 알려지거나 지칭될 수 있다. 장치(100)는 (하나 이상의 컴퓨터 판독가능 저장 매체를 포함할 수 있는) 메모리(102), 메모리 컨트롤러(122), 하나 이상의 처리 장치(CPU)(120), 주변장치 인터페이스(118), RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 입출력(I/O) 서브시스템(106), 기타 입력 또는 출력 장치(116) 및 외부 포트(124)를 포함할 수 있다. 장치(100)는 하나 이상의 광센서(164)를 포함할 수 있다. 이러한 컴포넌트들은 하나 이상의 통신 버스 또는 신호선(103)을 통해 통신할 수 있다.Hereinafter, an embodiment of a portable device having a touch-sensitive display is discussed. 1A and 1B are block diagrams illustrating a portable multifunction device 100 having a touch sensitive display 112 in accordance with some embodiments. The touch sensitive display 112 is conveniently referred to as a "touch screen" and may also be known or referred to as a touch sensitive display system. Device 100 may include memory 102 (which may include one or more computer readable storage media), memory controller 122, one or more processing units (CPUs) 120, peripheral interface 118, RF circuitry. 108, audio circuitry 110, speakers 111, microphones 113, input / output (I / O) subsystem 106, other input or output devices 116, and external ports 124. have. Device 100 may include one or more photosensors 164. These components may communicate via one or more communication buses or signal lines 103.

장치(100)가 휴대용 다기능 장치의 일례일 뿐이고 장치(100)가 도시된 것보다 많거나 적은 컴포넌트를 구비하거나, 2개 이상의 컴포넌트를 결합시키거나, 상이한 컴포넌트 구성 또는 배치를 가질 수 있음이 인정되어야 한다. 도 1a 및 1b에 도시된 다양한 컴포넌트는, 하나 이상의 신호 처리 및/또는 애플리케이션 특화된 집적 회로를 포함하는, 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.It should be appreciated that the device 100 is only one example of a portable multifunction device and that the device 100 may have more or fewer components than shown, couple two or more components, or have different component configurations or arrangements do. The various components shown in FIGS. 1A and 1B may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.

메모리(102)는 고속 랜덤 액세스 메모리(high-speed random access memory)를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치 또는 기타 비휘발성 고체 상태 메모리 장치(non-volatile solid-state memory device) 등의 비휘발성 메모리를 포함할 수 있다. CPU(120) 및 주변장치 인터페이스(118)와 같은 장치(100)의 다른 컴포넌트에 의한 메모리(102)에 대한 액세스는 메모리 컨트롤러(122)에 의해 제어될 수 있다.Memory 102 may include high-speed random access memory, and may also include one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. non-volatile memory such as device). Access to memory 102 by other components of device 100, such as CPU 120 and peripheral interface 118, may be controlled by memory controller 122.

주변장치 인터페이스(118)는 장치의 입력 및 출력 주변장치를 CPU(120) 및 메모리(102)에 결합하는 데 사용될 수 있다. 하나 이상의 프로세서(120)는 메모리(102)에 저장된 다양한 소프트웨어 프로그램 및/또는 명령어 집합을 실행하여 장치(100)를 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.Peripheral device interface 118 may be used to couple the input and output peripheral devices of the device to CPU 120 and memory 102. One or more processors 120 may execute various software programs and / or instruction sets stored in memory 102 to perform various functions and process data for device 100.

일부 실시예들에서, 주변장치 인터페이스(118), CPU(120) 및 메모리 컨트롤러(122)는 칩(104)과 같은 단일 칩 상에 구현될 수 있다. 일부 다른 실시예에서, 이들은 개별 칩 상에 구현될 수 있다.In some embodiments, peripheral device interface 118, CPU 120 and memory controller 122 may be implemented on a single chip, such as chip 104. In some other embodiments, they may be implemented on separate chips.

RF(라디오 주파수) 회로(108)는 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신한다. RF 회로(108)는 전기 신호를 전자기 신호로 변환하거나 전자기 신호로부터 전기 신호로 변환하고, 전자기 신호를 통해 통신 네트워크 및 다른 통신 장치와 통신한다. RF 회로(108)는 이러한 기능을 수행하기 위한 공지된 회로를 포함할 수 있는데, 이러한 회로는 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 하나 이상의 발진기(oscillator), 디지털 신호 처리기, CODEC 칩셋, 가입자 식별 모듈(SIM) 카드, 메모리 등을 포함하지만 이들로 한정되지 않는다. RF 회로(108)는, 셀룰러 전화 네트워크, 무선 LAN(local area network) 및/또는 MAN(metropolitan area network) 등의 무선 네트워크, 인트라넷, 및/또는 월드 와이드 웹(WWW)이라고도 불리는 인터넷과 같은 네트워크 및 기타 장치와 무선 통신에 의해 통신할 수 있다. 이러한 무선 통신에는, GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), HSDPA(high-speed downlink packet access), W-CDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), 블루투스(Bluetooth), (IEEE 802.11a, IEEE 802.11b, IEEE 802.11g 및/또는 IEEE 802.11n 등의) Wi-Fi(Wireless Fidelity), 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) 등의) 인스턴트 메시징, 또는 본원의 제출일 당시에 개발되지 않은 통신 프로토콜을 포함하는 임의의 다른 적합한 통신 프로토콜을 포함하지만 이들로 한정되지 않는 복수의 통신 표준, 프로토콜 및 기술 중 임의의 것이 사용될 수 있다.RF (radio frequency) circuit 108 transmits and receives RF signals, also known as electromagnetic signals. The RF circuit 108 converts electrical signals to electromagnetic signals or converts them from electromagnetic signals to electrical signals, and communicates with the communication network and other communication devices through electromagnetic signals. The RF circuitry 108 may include circuitry known in the art to perform such functions including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, Subscriber identity module (SIM) card, memory, and the like. RF circuitry 108 may be a network such as a cellular telephone network, a wireless local area network (LAN) and / or a wireless network such as a metropolitan area network (MAN), an intranet, and / or the Internet, also called the World Wide Web (WWW); It can communicate with other devices by wireless communication. Such wireless communications include Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), wideband code division multiple access (W-CDMA), code division multiple access (CDMA) , Time division multiple access (TDMA), Bluetooth, Wi-Fi (Wireless Fidelity) (such as IEEE 802.11a, IEEE 802.11b and IEEE 802.11b), voice over Internet Protocol (VoIP) , Wi-MAX, e-mail protocols such as IMAP (Internet message access protocol) and POP (post office protocol), extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), instant messaging (such as Instant Messaging and Presence Service (IMPS), and / or Short Message Service (SMS)), or any other suitable communication protocol including communication protocols not developed at the time of the filing of this application, Limited to That can be used is any of a plurality of communications standards, protocols and technologies.

오디오 회로(110), 스피커(111) 및 마이크로폰(113)은 사용자와 장치(100) 사이의 오디오 인터페이스를 제공한다. 오디오 회로(110)는 주변장치 인터페이스(118)로부터 오디오 데이터를 수신하고, 오디오 데이터를 전기 신호로 변환하며, 전기 신호를 스피커(111)로 송신한다. 스피커(111)는 전기 신호를 가청 음파(human-audible sound wave)로 변환한다. 오디오 회로(110)는 또한 마이크로폰(113)에 의해 음파로부터 변환된 전기 신호를 수신한다. 오디오 회로(110)는 전기 신호를 오디오 데이터로 변환하고, 처리를 위해 오디오 데이터를 주변장치 인터페이스(118)에 송신한다. 오디오 데이터는 주변장치 인터페이스(118)에 의해 메모리(102) 및/또는 RF 회로(108)로부터 검색되거나 그들로 송신될 수 있다. 일부 실시예들에서, 오디오 회로(110)는 (도 2의 212와 같은) 헤드셋 잭(headset jack)을 더 포함한다. 헤드셋 잭은 (한쪽귀용 또는 양쪽귀용 헤드폰 등의) 출력과 (마이크로폰 등의) 입력을 모두 구비한 헤드셋 또는 출력-전용 헤드폰과 같은 이동식 오디오 입/출력 주변장치와 오디오 회로(110) 사이의 인터페이스를 제공한다.The audio circuitry 110, the speaker 111 and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into a human-audible sound wave. Audio circuitry 110 also receives electrical signals converted from sound waves by microphone 113. Audio circuitry 110 converts the electrical signal into audio data and transmits the audio data to peripherals interface 118 for processing. Audio data may be retrieved from or transmitted to memory 102 and / or RF circuitry 108 by peripherals interface 118. In some embodiments, the audio circuitry 110 further includes a headset jack (such as 212 in FIG. 2). The headset jack provides an interface between the audio circuitry 110 and a mobile audio input / output peripheral, such as a headset or output-only headphones that have both an output (such as one or both ears) and an input (such as a microphone). to provide.

I/O 서브시스템(106)은 터치 스크린(112) 및 기타 입력/제어 장치(116)와 같은 장치(100) 상의 입/출력 주변장치를 주변장치 인터페이스(118)에 결합시킨다. I/O 서브시스템(106)은 디스플레이 컨트롤러(156) 및 기타 입력 또는 제어 장치를 위한 하나 이상의 입력 컨트롤러(160)를 포함할 수 있다. 하나 이상의 입력 컨트롤러(160)는 기타 입력 또는 제어 장치(116)로부터 전기 신호를 수신하거나 그것으로 송신할 수 있다. 기타 입력/제어 장치(116)는 (푸시 버튼, 락커 버튼 등의) 물리적 버튼, 다이얼, 슬라이더 스위치, 조이스틱, 클릭 휠 등을 포함할 수 있다. 일부 다른 실시예에서, 입력 컨트롤러(들)(160)는 키보드, 적외선 포트, USB 포트 및 마우스 등 포인터 장치 중 임의의 것과 결합될 수 있다(또는 이들 중 아무것과도 결합되지 않을 수 있다). (도 2의 208과 같은) 하나 이상의 버튼은 스피커(111) 및/또는 마이크로폰(113)의 볼륨 제어를 위한 업/다운 버튼을 포함할 수 있다. 하나 이상의 버튼은 (도 2의 206과 같은) 푸시 버튼을 포함할 수 있다. 본 명세서에 참조문헌으로서 포함되는 2005년 12월 23일 출원된 미국 특허출원 제11/322,549호, "Unlocking a Device by Performing Gestures on an Unlock Image"에 기술된 바와 같이, 푸시 버튼을 짧게 누르면, 터치 스크린(112)이 잠금해제되거나, 터치 스크린 상의 제스처를 사용하여 장치를 잠금해제하는 프로세스가 개시될 수 있다. (206 등의) 푸시 버튼을 길게 누르면, 장치(100)에 대한 전원을 턴온 또는 턴오프할 수 있다. 사용자는 버튼들 중 하나 이상의 버튼의 기능성을 맞춤화하는 것이 가능할 수 있다. 터치 스크린(112)은 가상 버튼이나 소프트 버튼 및 하나 이상의 소프트 키보드를 구현하는데 사용된다.I / O subsystem 106 couples input / output peripherals on device 100 such as touch screen 112 and other input / control devices 116 to peripheral interface 118. I / O subsystem 106 may include one or more input controllers 160 for display controller 156 and other input or control devices. One or more input controllers 160 may receive or transmit electrical signals from other input or control device 116. The other input / control device 116 may include physical buttons (such as push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and the like. In some alternative embodiments, the input controller (s) 160 may be associated with (or may not be coupled to) any of the pointer devices, such as a keyboard, infrared port, USB port, and mouse. One or more buttons (such as 208 of FIG. 2) may include up / down buttons for volume control of the speaker 111 and / or the microphone 113. One or more buttons may include push buttons (such as 206 of FIG. 2). A short press of a push button, as described in US Patent Application No. 11 / 322,549, "Unlocking a Device by Performing Gestures on an Unlock Image," filed December 23, 2005, incorporated herein by reference, The process of unlocking the screen 112 or unlocking the device using a gesture on the touch screen can be initiated. Press and hold a push button (such as 206) to turn the power on device 100 on or off. The user may be able to customize the functionality of one or more of the buttons. The touch screen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.

터치 감지 디스플레이(112)는 장치와 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 제공한다. 디스플레이 컨트롤러(156)는 터치 스크린(112)으로부터 전기 신호를 수신하거나, 터치 스크린(112)으로 전기 신호를 송신하거나, 송수신을 모두 행할 수 있다. 터치 스크린(112)은 사용자에 대한 시각적 출력을 표시한다. 시각적 출력은 그래픽, 텍스트, 아이콘, 비디오 및 이들의 임의의 조합(총괄하여 "그래픽"이라고 지칭됨)을 포함할 수 있다. 일부 실시예들에서, 시각적 출력의 일부 또는 전부는 사용자-인터페이스 객체들(user-interface object)에 대응할 수 있다.The touch sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 may receive an electric signal from the touch screen 112, transmit an electric signal to the touch screen 112, or both transmit and receive. The touch screen 112 displays the visual output for the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output may correspond to a user-interface object.

터치 스크린(112)은 햅틱 접촉(haptic contact) 및/또는 택틸(tactile) 접촉에 기초하여 사용자로부터의 입력을 받아들이는 터치 감지 표면, 센서 또는 센서 집합을 구비한다. 터치 스크린(112) 및 디스플레이 컨트롤러(156)는 (메모리(102)의 임의의 관련 모듈 및/또는 명령어 집합과 함께) 터치 스크린(112) 상의 접촉(및 접촉의 임의의 움직임(movement)이나 해제)을 검출하고 검출된 접촉을 터치 스크린(112) 상에 표시된 (하나 이상의 소프트 키, 아이콘, 웹 페이지 또는 이미지 등의) 사용자-인터페이스 객체와의 상호 작용으로 변환한다. 예시적인 실시예에서, 터치 스크린(112)과 사용자 사이의 접촉점은 사용자의 손가락에 대응한다.The touch screen 112 includes a touch sensitive surface, sensor, or sensor set that accepts input from a user based on haptic contact and / or tactile contact. The touch screen 112 and the display controller 156 may make a contact (and any movement or release of the contact) on the touch screen 112 (along with any associated module and / or instruction set in memory 102). Detects and converts the detected contacts into interaction with a user-interface object (such as one or more soft keys, icons, web pages or images) displayed on touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.

터치 스크린(112)에는 LCD(액정 디스플레이) 기술 또는 LPD(발광 중합체 디스플레이) 기술 또는 LED(발광 다이오드) 기술이 사용될 수 있지만, 기타 디스플레이 기술이 다른 실시예에서 사용될 수 있다. 터치 스크린(112) 및 디스플레이 컨트롤러(156)는, 용량식(capacitive), 저항식(resistive), 적외선(infrared) 및 표면 음파(surface acoustic wave) 기술들을 포함하지만 이들로 한정되지 않는, 이미 공지되었거나 추후 개발될 복수의 터치 감지 기술 중 임의의 것을 이용하는 동시에, 다른 근접 센서 배열(proximity sensor array) 또는 터치 스크린(112)과의 하나 이상의 접촉점을 판단하기 위한 기타 구성요소를 이용하여 접촉 및 그것의 임의의 움직임이나 해제를 검출할 수 있다. 예시적인 실시예에서는, 캘리포니아, 쿠퍼티노의 애플사로부터의 iPhone® 및 iPod Touch®에서 발견되는 것과 같은 투영 상호 용량 감지 기술이 이용된다.The LCD 112 (liquid crystal display) technology or LPD (light emitting polymer display) technology or LED (light emitting diode) technology may be used for the touch screen 112, but other display technologies may be used in other embodiments. The touch screen 112 and the display controller 156 are already known or include, but are not limited to, capacitive, resistive, infrared and surface acoustic wave technologies. Using any of a plurality of touch sensing technologies to be developed at the same time, and using other proximity sensor arrays or other components for determining one or more contact points with the touch screen 112 Can detect movement or release. In an exemplary embodiment, projection mutual capacitance sensing techniques such as those found in iPhone® and iPod Touch® from Apple Inc. of Cupertino, Calif., Are used.

터치 스크린(112)의 일부 실시예들에서의 터치 감지 디스플레이는, 본 명세서에 그 전체가 각각 참조문헌으로 포함되는 미국 특허 제6,323,846호(Westerman 외), 제6,570,557호(Westerman 외) 및/또는 제6,677,932호(Westerman), 및/또는 미국 특허공개공보 제2002/0015024 A1호에 설명된 멀티-터치 감지 터치패드와 유사할 수 있다. 그러나, 터치 스크린(112)은 휴대용 장치(100)로부터의 시각적 출력을 표시하는 반면, 터치 감지 터치패드는 시각적 출력을 제공하지 않는다.Touch sensitive displays in some embodiments of touch screen 112 are described in US Pat. Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.) And / or 6,677,932 (Westerman), and / or US Patent Publication No. 2002/0015024 A1. However, the touch screen 112 displays visual output from the portable device 100, while the touch sensitive touch pad does not provide a visual output.

터치 스크린(112)의 일부 실시예들에서의 터치 감지 디스플레이는 ⑴ 2006년 5월 2일 출원된 미국 특허출원 제11/381,313호, "Multipoint Touch Surface Controller", ⑵ 2004년 5월 6일 출원된 미국 특허출원 제10/840,862호, "Multipoint Touchscreen", ⑶ 2004년 7월 30일 출원된 미국 특허출원 10/903,964호, "Gestures For Touch Sensitive Input Devices", ⑷ 2005년 1월 31일 출원된 미국 특허출원 제11/048,264호, "Gestures For Touch Sensitive Input Devices", ⑸ 2005년 1월 18일 출원된 미국 특허출원 제11/038,590호, "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices", ⑹ 2005년 9월 16일 출원된 미국 특허출원 제11/228,758호, "Virtual Input Device Placement On A Touch Screen User Interface", ⑺ 2005년 9월 16일 출원된 미국 특허출원 제11/228,700호, "Operation Of A Computer With A Touch Screen Interface", ⑻ 2005년 9월 16일 출원된 미국 특허출원 제11/228,737호, "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard", ⑼ 2006년 3월 3일 출원된 미국 특허출원 제11/367,749호, "Multi-Functional Hand-Held Device"에 설명된 것과 같을 수 있다. 위 출원 모두는 그 전체가 본 명세서에 참조문헌으로 포함된다.A touch sensitive display in some embodiments of touch screen 112 is described in US patent application Ser. No. 11 / 381,313, "Multipoint Touch Surface Controller," filed May 6, 2006. U.S. Patent Application No. 10 / 840,862, "Multipoint Touchscreen", 미국 U.S. Patent Application 10 / 903,964, "Gestures For Touch Sensitive Input Devices", "U.S., filed January 31, 2005 Patent Application No. 11 / 048,264, "Gestures For Touch Sensitive Input Devices", 미국 US Patent Application No. 11 / 038,590, filed January 18, 2005, "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices," US Patent Application No. 11 / 228,758, filed September 16, 2005, "Virtual Input Device Placement On A Touch Screen User Interface," US Patent Application No. 11 / 228,700, filed September 16, 2005, "Operation. Of A Computer With A Touch Screen Interface ", 미국 United States Patent Application No. 11 / 228,737, filed September 16, 2005 Quot; Activating Virtual Keys Of A Touch-Screen Virtual Keyboard ", U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, entitled " Multi-Functional Hand-Held Device ". All of the above applications are incorporated herein by reference in their entirety.

터치 스크린(112)은 100dpi를 넘는 해상도를 가질 수 있다. 일부 실시예에서, 터치 스크린은 대략 160dpi의 해상도를 가질 수 있다. 사용자는 스타일러스, 손가락 등과 같은 임의의 적합한 물체 또는 부속물(appendage)을 사용하여 터치 스크린(112)과 접촉할 수 있다. 일부 실시예들에서, 사용자 인터페이스는 주로 손가락-기반 접촉 및 제스처를 이용하여 동작하도록 설계되는데, 이러한 손가락-기반 접촉 및 제스처는 스타일러스-기반의 입력에 비해 터치 스크린 상에서의 손가락의 접촉 면적이 보다 넓기 때문에 덜 정확하다. 일부 실시예들에서, 장치는 개략적인(rough) 손가락-기반 입력을 사용자가 원하는 액션을 수행하기 위한 정확한 포인터/커서 위치 또는 명령으로 번역한다.The touch screen 112 may have a resolution of over 100 dpi. In some embodiments, the touch screen can have a resolution of approximately 160 dpi. The user may contact the touch screen 112 using any suitable object or appendage, such as a stylus, a finger, or the like. In some embodiments, the user interface is designed primarily to operate using finger-based contacts and gestures, such that the finger-based contacts and gestures have a wider contact area of the finger on the touch screen compared to the stylus- Because it is less accurate. In some embodiments, the device translates the rough finger-based input into an exact pointer / cursor position or command for performing the action desired by the user.

일부 실시예들에서, 장치(100)는 터치 스크린 외에도 특정 기능을 활성화하거나 비활성화하기 위한 터치패드(도시 생략)를 포함할 수 있다. 일부 실시예들에서, 터치패드는 터치 스크린과 달리 시각적 출력을 표시하지 않는, 장치의 터치 감지 영역이다. 터치패드는 터치 스크린(112)으로부터 분리된 터치 감지 표면이거나, 터치 스크린에 의해 형성된 터치 감지 표면의 연장일 수 있다.In some embodiments, the device 100 may include a touchpad (not shown) for activating or deactivating certain functions in addition to the touch screen. In some embodiments, the touchpad is a touch sensitive area of the device that does not display visual output, unlike a touch screen. The touchpad may be a touch sensitive surface separate from the touch screen 112, or it may be an extension of the touch sensitive surface formed by the touch screen.

일부 실시예들에서, 장치(100)는 입력 제어 장치(116)로서 물리적 혹은 가상 휠(예를 들면, 클릭 휠)을 포함할 수 있다. 사용자는 클릭 휠을 돌리거나 (예컨대, 접촉점의 움직임 량이 클릭 휠의 중심점에 대한 접촉점의 각 변위에 의해 측정되는 경우에는) 클릭 휠과의 접촉점을 움직임으로써, 터치 스크린(112)에 표시된 하나 이상의 그래픽 객체(예를 들면, 아이콘)를 내비게이션하고 그것들과 상호 작용할 수 있다. 클릭 휠은 또한 표시된 아이콘들 중 하나 이상의 아이콘을 선택하는데 사용될 수 있다. 예컨대, 사용자는 관련 버튼 또는 클릭 휠의 적어도 일부분을 누를 수 있다. 클릭 휠을 통해 사용자에 의해 제공되는 사용자 명령 및 내비게이션 명령은 입력 컨트롤러(160)뿐만 아니라 메모리(102)의 명령어 집합 및/또는 모듈들 중 하나 이상에 의해 처리될 수 있다. 가상 클릭 휠의 경우, 클릭 휠 및 클릭 휠 컨트롤러는 각각 터치 스크린(112) 및 디스플레이 컨트롤러(156)의 일부일 수 있다. 가상 클릭 휠의 경우, 클릭 휠은 장치와의 사용자의 상호 작용에 응답하여 터치 스크린 디스플레이상에 나타나고 사라지는 불투명하거나 반투명한 객체일 수 있다. 일부 실시예들에서, 가상 클릭 휠은 휴대용 다기능 장치의 터치 스크린 상에 표시되고 터치 스크린과의 사용자 접촉에 의해 동작된다.In some embodiments, the device 100 may include a physical or virtual wheel (e.g., a click wheel) as the input control device 116. The user can move the point of contact with the click wheel by rotating the click wheel (e.g., when the amount of movement of the touch point is measured by the angular displacement of the touch point relative to the center point of the click wheel) You can navigate and interact with objects (such as icons). The click wheel may also be used to select one or more of the displayed icons. For example, a user may press at least a portion of an associated button or click wheel. User commands and navigation commands provided by the user via the click wheel may be processed by the input controller 160 as well as by one or more of the instruction set and / or modules of the memory 102. In the case of a virtual click wheel, the click wheel and click wheel controllers may be part of the touch screen 112 and the display controller 156, respectively. In the case of a virtual click wheel, the click wheel may be an opaque or translucent object that appears and disappears on the touch screen display in response to user interaction with the device. In some embodiments, the virtual click wheel is displayed on the touch screen of the portable multifunction device and is operated by user contact with the touch screen.

장치(100)는 또한 다양한 컴포넌트에 전력을 공급하는 전력 시스템(162)을 포함한다. 전력 시스템(162)은 전력 관리 시스템, (배터리, 교류(AC) 등의) 하나 이상의 전원, 충전 시스템, 전력 실패 검출 회로(power failure detection circuit), 전력 변환기 또는 인버터, (발광 다이오드(LED) 등의) 전력 상태 표시자 및 휴대용 장치의 전력 생성, 관리 및 분배와 연관된 임의의 다른 컴포넌트를 포함할 수 있다.Apparatus 100 also includes a power system 162 for powering various components. The power system 162 may include a power management system, one or more power sources (such as a battery, AC, etc.), a charging system, a power failure detection circuit, a power converter or inverter, And any other components associated with power generation, management and distribution of the portable device.

장치(100)는 또한 하나 이상의 광센서(164)를 포함할 수 있다. 도 1a 및 1b는 I/O 서브시스템(106)의 광센서 컨트롤러(158)에 결합된 광센서를 도시한다. 광센서(164)는 전하 결합 소자(CCD) 또는 상보형 금속 산화막 반도체(CMOS) 포토트랜지스터를 포함할 수 있다. 광센서(164)는 하나 이상의 렌즈를 통해 투사되는, 환경으로부터의 광을 수신하고 그 광을 이미지를 나타내는 데이터로 변환한다. (카메라 모듈이라고도 지칭되는) 이미징 모듈(143)과 함께, 광센서(164)는 정지 이미지 또는 비디오를 캡처할 수 있다. 일부 실시예들에서, 터치 스크린 디스플레이가 정지 및/또는 비디오 이미지 획득 중 어느 하나를 위한 뷰파인더로서 사용될 수 있도록, 장치의 전면 상의 터치 스크린 디스플레이(112)에 대향하여, 광센서가 장치(100)의 후면에 배치된다. 일부 실시예들에서, 사용자가 터치 스크린 디스플레이 상에서 다른 비디오 회의 참가자를 보는 동안 사용자의 이미지가 비디오 회의를 위해 획득될 수 있도록, 광센서가 장치의 전면에 배치된다. 일부 실시예들에서, 하나의 광센서(164)가 비디오 회의 및 정지 및/또는 비디오 이미지 획득 양자 모두에 대해 터치 스크린 디스플레이와 함께 사용될 수 있도록, 사용자가 (예컨대, 장치 하우징의 렌즈 및 센서를 회전시킴으로써) 광센서(164)의 위치를 변경할 수 있다.Device 100 may also include one or more photosensors 164. 1A and 1B show an optical sensor coupled to the optical sensor controller 158 of the I / O subsystem 106. The photosensor 164 may include a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. Optical sensor 164 receives light from the environment, which is projected through one or more lenses, and converts the light into data representing an image. Along with the imaging module 143 (also referred to as a camera module), the optical sensor 164 can capture still images or video. In some embodiments, an optical sensor is mounted on the device 100, opposite the touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for either stop and / As shown in FIG. In some embodiments, an optical sensor is disposed in front of the device such that the user's image can be acquired for video conferencing while the user is viewing another video conferencing participant on the touch screen display. In some embodiments, when a user (e.g., rotates a lens and a sensor in the device housing) such that one optical sensor 164 can be used with the touch screen display for both video conferencing and still and / The position of the optical sensor 164 can be changed.

장치(100)는 또한 하나 이상의 근접 센서(proximity sensor; 166)를 포함할 수 있다. 도 1a 및 1b는 주변장치 인터페이스(118)에 결합된 근접 센서(166)를 도시한다. 또는, 근접 센서(166)는 I/O 서브시스템(106)의 입력 컨트롤러(160)에 결합될 수 있다. 근접 센서(166)는, 본 명세서에 그 전체가 참조문헌으로 포함되는 미국 특허출원 제11/241,839호, "Proximity Detector In Handheld Device"; 제11/240,788호, "Proximity Detector In Handheld Device"; 제11/602,702호, "Using Ambient Light Sensor To Augment Proximity Sensor Output"; 제11/586,862호, "Automated Response To And Sensing Of User Activity In Portable Devices"; 및 제11/638,251호, "Methods And Systems For Automatic Configuration Of Peripherals"에 설명된 바와 같이 동작할 수 있다. 일부 실시예들에서, (예컨대, 사용자가 전화 통화 중인 경우와 같이) 다기능 장치가 사용자의 귀에 인접하여 놓이는 경우, 근접 센서는 터치 스크린(112)을 턴오프하고 디스에이블링한다.Device 100 may also include one or more proximity sensors 166. 1A and 1B show proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 may be coupled to input controller 160 of I / O subsystem 106. Proximity sensor 166 is described in U. S. Patent Application Serial No. 11 / 241,839, "Proximity Detector In Handheld Device ", which is incorporated herein by reference in its entirety; No. 11 / 240,788, "Proximity Detector In Handheld Device"; 11 / 602,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output "; 11 / 586,862, “Automated Response To And Sensing Of User Activity In Portable Devices”; And 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals." In some embodiments, the proximity sensor turns off and disables the touch screen 112 when the multifunction device is placed adjacent to the user ' s ear (e.g., such as when the user is on a phone call).

장치(100)는 또한 하나 이상의 가속도계(accelerometers; 168)를 포함할 수 있다. 도 1a 및 1b는 주변장치 인터페이스(118)에 결합된 가속도계(168)를 도시한다. 또는, 가속도계(168)는 I/O 서브시스템(106)의 입력 컨트롤러(160)에 결합될 수 있다. 가속도계(168)는, 그 전체가 각각 모두 본 명세서에 참조문헌으로 포함되는 미국 특허공개공보 제20050190059호, "Acceleration-based Theft Detection System for Portable Electronic Devices" 및 미국 특허공개공보 제20060017692호, "Methods and Apparatuses For Operating A Portable Device Based On An Accelerometer"에 설명된 바와 같이 동작할 수 있다. 일부 실시예들에서, 정보가 하나 이상의 가속도계로부터 수신된 데이터에 대한 분석에 기초하여 세로 뷰 또는 가로 뷰로 터치 스크린 디스플레이 상에 표시된다. 장치(100)는 옵션으로서, 가속도계(들)(168)에 더하여, 장치(100)의 위치 및 배향(예로서, 세로 또는 가로)에 관한 정보를 얻기 위한 자기계(도시되지 않음) 및 GPS(또는 GLONASS 또는 다른 글로벌 내비게이션 시스템) 수신기(도시되지 않음)를 포함한다.Device 100 may also include one or more accelerometers 168. 1A and 1B show accelerometer 168 coupled to peripherals interface 118. Alternatively, the accelerometer 168 can be coupled to the input controller 160 of the I / O subsystem 106. Accelerometer 168 is described in U. S. Patent Publication No. 20050190059, "Acceleration-based Theft Detection System for Portable Electronic Devices ", and U.S. Patent Application Publication No. 20060017692," Methods and " Apparatuses < / RTI > For Operating A Portable Device Based On An Accelerometer ". In some embodiments, the information is displayed on the touch screen display in a portrait or landscape view based on an analysis of data received from the one or more accelerometers. The device 100 may optionally include, in addition to the accelerometer (s) 168, a jammer (not shown) and GPS (not shown) to obtain information about the location and orientation Or GLONASS or other global navigation system) receiver (not shown).

일부 실시예들에서, 메모리(102)에 저장된 소프트웨어 컴포넌트에는, 운영 체제(126), 통신 모듈(또는 명령어 집합)(128), 접촉/운동 모듈(또는 명령어 집합)(130), 그래픽 모듈(또는 명령어 집합)(132), 텍스트 입력 모듈(또는 명령어 집합)(134), GPS 모듈(또는 명령어 집합)(135) 및 애플리케이션(또는 명령어 집합)(136)이 포함될 수 있다. 더구나, 일부 실시예들에서, 메모리(102)는 도 1a, 1b 및 3에 도시된 바와 같이 장치/글로벌 내부 상태(157)를 저장한다. 장치/글로벌 내부 상태(157)는 존재할 경우에 어느 애플리케이션이 현재 활성인지를 지시하는 활성 애플리케이션 상태; 어떤 애플리케이션들, 뷰들 또는 다른 정보가 터치 스크린 디스플레이(112)의 다양한 영역들을 점유하는지를 지시하는 디스플레이 상태; 장치의 다양한 센서들 및 입력 제어 장치들(116)로부터 얻어진 정보를 포함하는 센서 상태; 및 장치의 위치 및/또는 자세에 관한 위치 정보 중 하나 이상을 포함한다.In some embodiments, the software components stored in the memory 102 may include an operating system 126, a communication module (or a set of instructions) 128, a contact / motion module (or a set of instructions) 130, (Or instruction set) 132, a text input module (or instruction set) 134, a GPS module (or instruction set) 135 and an application (or instruction set) Moreover, in some embodiments, memory 102 stores device / global internal state 157 as shown in FIGS. 1A, 1B, and 3. The device / global internal state 157 is an active application state that indicates which application is currently active when present; A display state that indicates which applications, views or other information occupy various areas of the touch screen display 112; A sensor state comprising information obtained from the various sensors of the device and the input control devices 116; And location information regarding the location and / or posture of the device.

(다윈, RTXC, 리눅스, 유닉스, OS X, 윈도우즈, 또는 VxWorks 등의 임베디드 운영 체제와 같은) 운영 체제(126)는 (메모리 관리, 저장 장치 제어, 전력 관리 등의) 일반적인 시스템 태스크를 제어하고 관리하기 위한 다양한 소프트웨어 컴포넌트 및/또는 드라이버를 포함하고 다양한 하드웨어 및 소프트웨어 컴포넌트 사이의 통신을 가능하게 한다.The operating system 126 (such as an embedded operating system such as Darwin, RTXC, Linux, Unix, OS X, Windows, or VxWorks) controls and manages common system tasks (such as memory management, storage control, and power management). It includes various software components and / or drivers for the purpose of enabling communication between various hardware and software components.

통신 모듈(128)은 하나 이상의 외부 포트(124)를 통한 다른 장치와의 통신을 가능하게 하며, RF 회로(108) 및/또는 외부 포트(124)에 의해 수신된 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트를 또한 포함한다. (USB, 파이어와이어 등의) 외부 포트(124)는 다른 장치에 직접 결합하거나 (인터넷, 무선 LAN 등의) 네트워크를 통해 간접적으로 결합하도록 적응된다. 일부 실시예들에서, 외부 포트는 (애플 컴퓨터사의 상표인) iPod 상에서 사용되는 30핀 커넥터와 동일, 유사 및/또는 호환가능한 (예컨대 30핀의) 다중 핀 커넥터이다.The communication module 128 enables communication with other devices via one or more external ports 124, and various software components for processing data received by the RF circuit 108 and / or the external port 124. It also includes. External ports 124 (such as USB, Firewire, etc.) are adapted to couple directly to other devices or indirectly via a network (such as the Internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin connector that is identical, similar and / or compatible (e.g., 30 pins) to a 30-pin connector used on an iPod (trademark of Apple Computer, Inc.).

접촉/운동 모듈(130)은 (디스플레이 컨트롤러(156)와 함께) 터치 스크린(112) 및 (터치패드 또는 물리적 클릭 휠 등의) 기타 터치 감지 장치와의 접촉을 검출할 수 있다. 접촉/운동 모듈(130)은, 접촉 발생 여부를 판단하는 동작(예를 들어, 손가락 다운 이벤트의 검출), 접촉의 움직임이 있는지 여부를 판단하고 그 움직임을 터치 스크린을 따라 추적하는 동작(예를 들어, 하나 이상의 손가락 드래깅 이벤트들의 검출), 그리고, 접촉 중단 여부를 판단하는 동작(예를 들어, 손가락 업 이벤트 또는 접촉 분리의 검출)과 같은, 접촉 검출과 관련된 다양한 동작을 수행하기 위한 다양한 소프트웨어 컴포넌트를 포함한다. 접촉/운동 모듈(130)은 터치 감지 표면으로부터 접촉 데이터를 수신한다. 일련의 접촉 데이터에 의해 표현되는 접촉점의 움직임을 판단하는 동작은 접촉점의 속력(크기), 속도(크기 및 방향) 및/또는 가속도(크기 및/또는 방향의 변화)를 판단하는 동작을 포함할 수 있다. 이러한 동작은 (하나의 손가락 접촉 등의) 단일 접촉에 적용되거나 ("멀티터치"/다수의 손가락 접촉 등의) 다중 동시 접촉에 적용될 수 있다. 일부 실시예들에서, 접촉/운동 모듈(130) 및 디스플레이 컨트롤러(156)는 또한 터치패드 상의 접촉을 검출한다. 일부 실시예들에서, 접촉/운동 모듈(130) 및 컨트롤러(160)는 클릭 휠 상의 접촉을 검출한다.Contact / motion module 130 may detect contact with touch screen 112 (along with display controller 156) and with other touch sensitive devices (such as a touch pad or physical click wheel). The contact / movement module 130 may determine whether a contact has occurred (eg, detecting a finger down event), determine whether there is a touch movement, and track the movement along the touch screen (eg Various software components for performing various operations related to contact detection, such as detecting one or more finger dragging events) and determining whether the contact is interrupted (eg, detecting a finger up event or contact separation). It includes. The contact / motion module 130 receives contact data from the touch sensitive surface. The act of determining the movement of the contact point represented by the series of contact data may include determining the speed (magnitude), velocity (magnitude and direction) and / or acceleration (change in magnitude and / or direction) have. This action can be applied to a single contact (such as one finger contact) or to multiple simultaneous contacts (such as “multi-touch” / multiple finger contacts, etc.). In some embodiments, contact / motion module 130 and display controller 156 also detect contact on the touchpad. In some embodiments, contact / motion module 130 and controller 160 detect contact on the click wheel.

접촉/운동 모듈(130)은 사용자에 의한 제스처 입력을 검출할 수 있다. 터치 감지 표면 상의 상이한 제스처들은 상이한 접촉 패턴들을 갖는다. 따라서, 특정 접촉 패턴을 검출함으로써 제스처를 검출할 수 있다. 예를 들어, 손가락 탭 제스처의 검출은 손가락 다운 이벤트를 검출한 후에 (예를 들어, 아이콘의 위치에서의) 손가락 다운 이벤트와 동일한 위치(또는 실질적으로 동일한 위치)에서의 손가락 업(리프트 오프) 이벤트를 검출하는 것을 포함한다. 다른 예로서, 터치 감지 표면 상에서의 손가락 스와이프 제스처의 검출은 손가락 다운 이벤트를 검출한 후에 하나 이상의 손가락 드래깅 이벤트들을 검출하고, 이어서 손가락 업(리프트 오프) 이벤트를 검출하는 것을 포함한다.Contact / motion module 130 may detect a gesture input by a user. Different gestures on the touch sensitive surface have different contact patterns. Therefore, the gesture can be detected by detecting a specific contact pattern. For example, the detection of a finger tap gesture may be a finger up (lift off) event at the same position (or substantially the same position) as a finger down event (e.g., at the location of the icon) . As another example, detection of a finger swipe gesture on a touch sensitive surface includes detecting one or more finger dragging events after detecting a finger down event, and then detecting a finger up (lift off) event.

그래픽 모듈(132)은 표시된 그래픽의 밝기를 변경하기 위한 컴포넌트를 포함하는, 터치 스크린(112) 또는 기타 디스플레이 상의 그래픽을 렌더링하고 표시하기 위한 다양한 알려진 소프트웨어 컴포넌트를 포함한다. 본 명세서에 사용되는 "그래픽"이라는 용어는, 텍스트, 웹 페이지, (소프트 키를 포함하는 사용자-인터페이스 객체 등의) 아이콘, 디지털 이미지, 비디오 및 애니메이션 등을 포함하지만 이들로 한정되지 않는, 사용자에게 디스플레이될 수 있는 임의의 객체를 포함한다.Graphics module 132 includes various known software components for rendering and displaying graphics on touch screen 112 or other displays, including components for changing the brightness of displayed graphics. The term "graphics" as used herein refers to a user, including but not limited to text, web pages, icons (such as user-interface objects, including soft keys), digital images, video and animations, and the like. It includes any object that can be displayed.

일부 실시예들에서, 그래픽 모듈(132)은 사용될 그래픽을 나타내는 데이터를 저장한다. 각각의 그래픽은 대응 코드를 할당받을 수 있다. 그래픽 모듈(132)은 필요한 경우에 좌표 데이터 및 다른 그래픽 특성 데이터와 함께 표시될 그래픽을 지정하는 하나 이상의 코드들을 애플리케이션 등으로부터 수신한 후에, 디스플레이 컨트롤러(156)로 출력할 스크린 이미지 데이터를 생성한다.In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic may be assigned a corresponding code. Graphics module 132 generates screen image data to be output to display controller 156 after receiving one or more codes from an application or the like that specify graphics to be displayed with coordinate data and other graphical property data if necessary.

그래픽 모듈(132)의 컴포넌트일 수 있는 텍스트 입력 모듈(134)은 (연락처(137), 이메일(140), IM(141), 브라우저(147) 및 텍스트 입력을 필요로 하는 임의의 다른 애플리케이션 등의) 다양한 애플리케이션에 텍스트를 입력하기 위한 소프트 키보드를 제공한다.The text input module 134, which may be a component of the graphics module 132, may be any of a variety of applications, including (contact 137, email 140, IM 141, browser 147, ) Provides a soft keyboard for entering text in various applications.

GPS 모듈(135)은 장치의 위치를 판단하고 이 정보를 다양한 애플리케이션에서 사용할 수 있도록 제공한다(예컨대, 위치-기반 다이얼링에 사용하도록 전화(138)에 제공하고, 픽처/비디오 메타데이터로서 카메라(143)에 제공하며, 날씨 위젯, 지역 전화번호부 위젯 및 지도/내비게이션 위젯 등의 위치-기반 서비스를 제공하는 애플리케이션 등에 제공한다).The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., providing it to the telephone 138 for use in location-based dialing and using the camera 143 as the picture / ) And provides to applications providing location-based services such as weather widgets, local phone book widgets, and map / navigation widgets).

애플리케이션(136)은 이하의 모듈(또는 명령어 집합), 또는 이들의 서브세트(subset)나 수퍼세트(superset)을 포함할 수 있다.The application 136 may include the following modules (or sets of instructions), or a subset or superset thereof.

● 연락처 모듈(137) (주로 주소록 또는 연락처 목록이라고 지칭됨);A contact module 137 (mainly referred to as an address book or a contact list);

● 전화 모듈(138);A telephone module 138;

● 비디오 회의 모듈(139);Video conferencing module 139;

● 이메일 클라이언트 모듈(140);An email client module 140;

● 인스턴트 메시징(IM) 모듈(141);An instant messaging (IM) module 141;

● 연습 지원 모듈(142);An exercise support module 142;

● 정지 및/또는 비디오 이미지를 위한 카메라 모듈(143);Camera module (143) for stationary and / or video images;

● 이미지 관리 모듈(144);Image management module 144;

● 비디오 플레이어 모듈(145);Video player module 145;

● 음악 플레이어 모듈(146);Music player module 146;

● 브라우저 모듈(147);Browser module 147;

● 달력 모듈(148);A calendar module 148;

● 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4), 사전 위젯(149-5) 및 사용자가 획득한 기타 위젯, 그리고 사용자-생성 위젯(149-6) 중 하나 이상을 포함할 수 있는 위젯 모듈(149);● Weather Widget (149-1), Stock Widget (149-2), Calculator Widget (149-3), Alarm Clock Widget (149-4), Dictionary Widget (149-5) A widget module 149 that may include one or more of the user-generated widgets 149-6;

● 사용자-생성 위젯(149-6)을 작성하기 위한 위젯 생성기 모듈(150);A widget generator module 150 for creating a user-created widget 149-6;

● 검색 모듈(151);A retrieval module 151;

● 비디오 플레이어 모듈(145) 및 음악 플레이어 모듈(146)을 통합한 비디오 및 음악 플레이어 모듈(152);A video and music player module 152 integrating the video player module 145 and the music player module 146;

● 노트 모듈(153);A note module 153;

● 지도 모듈(154); 및/또는Map module 154; And / or

● 온라인 비디오 모듈(155).● Online video module (155).

메모리(102)에 저장될 수 있는 다른 애플리케이션(136)의 예로서, 기타 워드 프로세싱 애플리케이션, 기타 이미지 편집 애플리케이션, 제도 애플리케이션, 프레젠테이션 애플리케이션, JAVA-작동식 애플리케이션, 암호화, 디지털 권한 관리, 음성 인식(voice recognition) 및 음성 복제(voice replication)가 포함된다.Other image processing applications such as other word processing applications, other image editing applications, drafting applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition recognition and voice replication.

연락처 모듈(137)은 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께 주소록 또는 연락처 목록(예로서, 메모리(102) 또는 메모리(370) 내의 연락처 모듈(137)의 애플리케이션 내부 상태(192)에 저장됨)의 관리에 사용될 수 있는데, 이러한 관리에는 주소록에 이름을 추가하고, 주소록으로부터 이름(들)을 삭제하며, 전화번호(들), 이메일 주소(들), 물리 주소(들) 또는 기타 정보를 이름과 연관시키고, 이름과 이미지를 연관시키며, 이름을 분류 및 정렬하고, 전화(138), 비디오 회의(139), 이메일(140) 또는 IM(141)에 의한 통신을 개시 및/또는 가능하게 하기 위한 전화번호 또는 이메일주소를 제공하는 것 등이 포함된다.The contact module 137, along with the touch screen 112, the display controller 156, the contact module 130, the graphics module 132, and the text input module 134, contacts or contacts list (eg, memory 102). Or stored in the application internal state 192 of the contact module 137 in memory 370, which adds a name to the address book, deletes the name (s) from the address book, and calls. Associate number (s), email address (es), physical address (es) or other information with a name, associate a name with an image, classify and sort names, telephone 138, video conferencing 139, Providing a phone number or email address for initiating and / or enabling communication by email 140 or IM 141, and the like.

전화 모듈(138)은 RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 전화번호에 대응하는 문자열을 입력하고, 주소록(137)의 하나 이상의 전화번호를 액세스하며, 입력된 전화번호를 수정하고, 각각의 전화번호를 다이얼링하며, 대화를 수행하고, 대화 완료시 접속해제하거나 전화를 끊는데 사용될 수 있다. 이미 언급된 바와 같이, 무선 통신에는 복수의 통신 표준, 프로토콜 및 기술 중 임의의 것이 사용될 수 있다.The telephone module 138 includes an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, a touch screen 112, a display controller 156, a contact module 130, and a graphics module 132. And a text input module 134 to enter a string corresponding to the telephone number, access one or more telephone numbers of the address book 137, modify the entered telephone number, dial each telephone number, It can be used to conduct a conversation, disconnect or hang up when the conversation is complete. As already mentioned, any of a plurality of communication standards, protocols and techniques can be used for wireless communication.

비디오 회의 모듈(139)은 RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 터치 스크린(112), 디스플레이 컨트롤러(156), 광센서(164), 광센서 컨트롤러(158), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 연락처 목록(137) 및 전화 모듈(138)과 함께 사용자 명령에 따라 사용자와 한 명 이상의 다른 참여자 사이의 비디오 회의를 개시하고 수행하며 종료하기 실행 가능 명령어들을 포함한다.The video conferencing module 139 includes an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, a touch screen 112, a display controller 156, an optical sensor 164, Along with a user interface, along with a user interface 158, a contact module 130, a graphics module 132, a text input module 134, a contact list 137, and a phone module 138, And includes executable instructions to initiate, perform, and terminate the conference.

이메일 클라이언트 모듈(140)은 RF 회로(108), 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께 사용자 명령에 응답하여 이메일을 생성하고 송수신하며 관리하기 위한 실행 가능 명령어들을 포함한다. 이메일 클라이언트 모듈(140)은 이미지 관리 모듈(144)과 함께 카메라 모듈(143)로 획득한 정지 또는 비디오 이미지를 포함하는 이메일을 생성하고 송신하는 것을 매우 용이하게 한다.The email client module 140 may be coupled to the web server 110 in response to a user command with an RF circuit 108, a touch screen 112, a display controller 156, a contact module 130, a graphics module 132 and a text input module 134 And executable instructions for creating, sending, receiving, and managing email. The email client module 140 makes it very easy to create and send an email containing still or video images acquired with the camera module 143 in conjunction with the image management module 144.

인스턴트 메시징 모듈(141)은 RF 회로(108), 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 인스턴트 메시지에 대응하는 문자열을 입력하고, 이미 입력된 문자를 수정하며, (예컨대, 전화-기반 인스턴트 메시지를 위한 SMS 또는 MMS(Multimedia Message Service) 프로토콜을 이용하거나, 인터넷-기반 인스턴트 메시지를 위한 XMPP, SIMPLE 또는 IMPS를 이용하여) 각각의 인스턴트 메시지를 송신하고, 인스턴트 메시지를 수신하며, 수신된 인스턴트 메시지를 보기 위한 실행 가능 명령어들을 포함한다. 일부 실시예들에서, 송신 및/또는 수신된 인스턴트 메시지는 그래픽, 사진, 오디오 파일, 비디오 파일, 및/또는 MMS 및/또는 EMS(Enhanced Messaging Service)에서 지원되는 기타 첨부물을 포함할 수 있다. 본 명세서에 사용되는 "인스턴트 메시징(instant messaging)"은 (SMS 또는 MMS를 사용해 송신된 메시지와 같은) 전화-기반 메시지 및 (XMPP, SIMPLE 또는 IMPS를 사용해 송신된 메시지와 같은) 인터넷-기반 메시지 양자 모두를 지칭한다.The instant messaging module 141 is capable of handling instant messages with the RF circuitry 108, the touch screen 112, the display controller 156, the contact module 130, the graphics module 132 and the text input module 134 (E.g., using an SMS or MMS (Multimedia Message Service) protocol for phone-based instant messaging, XMPP, SIMPLE or IMPS for Internet-based instant messaging) Send instant messages, receive instant messages, and view executable instant messages. In some embodiments, the instant messages that are sent and / or received may include graphics, pictures, audio files, video files, and / or other attachments supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both a phone-based message (such as a message sent using SMS or MMS) and an Internet-based message (such as a message sent using XMPP, SIMPLE or IMPS) It refers to all.

연습 지원 모듈(142)은 RF 회로(108), 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 지도 모듈(154) 및 음악 플레이어 모듈(146)과 함께, (예로서, 시간, 거리 및/또는 칼로리 연소 목표를 갖는) 연습들을 생성하고; 연습 센서들(스포츠 장치들)과 통신하고; 연습 센서 데이터를 수신하고; 연습을 모니터링하는 데 사용되는 센서들을 조정하고; 연습을 위한 음악을 선택 및 재생하고; 연습 데이터를 표시, 저장 및 전송하기 위한 실행 가능 명령어들을 포함한다.The exercise support module 142 may include an RF circuit 108, a touch screen 112, a display controller 156, a contact module 130, a graphics module 132, a text input module 134, a GPS module 135, Create exercises (eg, with time, distance, and / or calorie burning targets) in conjunction with the map module 154 and the music player module 146; Communicate with practice sensors (sports devices); Receiving practice sensor data; Adjusting sensors used to monitor the practice; Select and play music for practice; Includes executable instructions for displaying, storing, and sending exercise data.

카메라 모듈(143)은 터치 스크린(112), 디스플레이 컨트롤러(156), 광센서(들)(164), 광센서 컨트롤러(158), 접촉 모듈(130), 그래픽 모듈(132) 및 이미지 관리 모듈(144)과 함께, 정지 이미지 또는 (비디오 스트림을 포함하는) 비디오를 캡처하고 이들을 메모리(102)에 저장하거나, 정지 이미지 또는 비디오의 특성을 수정하거나, 정지 이미지 또는 비디오를 메모리(102)로부터 삭제하기 위한 실행 가능 명령어들을 포함한다.The camera module 143 includes a touch screen 112, a display controller 156, an optical sensor (s) 164, an optical sensor controller 158, a contact module 130, a graphics module 132, 144 to capture still images or videos (including video streams) and store them in memory 102, modify the properties of still images or video, or delete still images or video from memory 102 ≪ / RTI >

이미지 관리 모듈(144)은 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 카메라 모듈(143)과 함께, 정지 및/또는 비디오 이미지를 배열하고 수정(예를 들면, 편집) 또는 조작하며 라벨링하고 삭제하며 (디지털 슬라이드 쇼 또는 앨범 형태 등으로) 표시하고 저장하기 위한 실행 가능 명령어들을 포함한다.The image management module 144 may include a touch screen 112, a display controller 156, a touch module 130, a graphics module 132, a text input module 134 and a camera module 143, Includes executable instructions for arranging, modifying (e.g., editing) or manipulating, labeling, deleting (e.g., in digital slide show or album form) and arranging video images.

비디오 플레이어 모듈(145)은 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110) 및 스피커(111)와 함께, (예컨대, 터치 스크린(112), 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에) 비디오를 표시하고 표시 또는 재생하기 위한 실행 가능 명령어들을 포함한다.The video player module 145 may be coupled to a touch screen 112 such as a touch screen 112, a display controller 156, a touch module 130, a graphics module 132, an audio circuit 110 and a speaker 111 112), or on an external display connected via an external port 124) for displaying and displaying video.

음악 플레이어 모듈(146)은 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110), 스피커(111), RF 회로(108) 및 브라우저 모듈(147)과 함께, 사용자가 MP3 또는 AAC 파일 등의 하나 이상의 파일 포맷으로 저장된 녹음된 음악 및 기타 사운드 파일을 다운로드하고 재생할 수 있게 하기 위한 실행 가능 명령어들을 포함한다. 일부 실시예들에서, 장치(100)는 (애플 컴퓨터사의 상표인) iPod과 같은 MP3 플레이어의 기능성을 포함할 수 있다.The music player module 146 includes a touch screen 112, a display system controller 156, a contact module 130, a graphics module 132, an audio circuit 110, a speaker 111, an RF circuit 108 and a browser Along with module 147, executable instructions for enabling a user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files. In some embodiments, the device 100 may include functionality of an MP3 player such as the iPod (trademark of Apple Computer, Inc.).

브라우저 모듈(147)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 웹 페이지나 그 일부 및 웹 페이지에 링크된 첨부물 및 기타 파일에 대한 검색, 링크, 수신 및 디스플레이를 포함하여, 사용자 명령에 따라 인터넷을 브라우징하기 위한 실행 가능 명령어들을 포함한다.The browser module 147 may include a web page or a web page, along with the RF circuitry 108, the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, Including executable instructions for browsing the Internet in accordance with a user command, including searching for, linking to, receiving, and displaying attachments and other files that are part of and linked to a web page.

달력 모듈(148)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140) 및 브라우저 모듈(147)과 함께, 사용자 명령에 따라 달력 및 달력과 연관된 데이터(달력 엔트리, 할일 목록 등)를 생성하고 표시하며 저장하기 위한 실행 가능 명령어들을 포함한다.The calendar module 148 includes an RF circuit 108, a touch screen 112, a display system controller 156, a touch module 130, a graphics module 132, a text input module 134, an email client module 140, And a browser module 147, executable instructions for generating, displaying, and storing data (calendar entries, to-do lists, etc.) associated with calendars and calendars in accordance with user commands.

위젯 모듈(149)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, (날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4) 및 사전 위젯(149-5)과 같이) 사용자에 의해 다운로드되고 사용될 수 있거나, (사용자-생성 위젯(149-6)과 같이) 사용자에 의해 생성될 수 있는 미니 애플리케이션이다. 일부 실시예들에서, 위젯은 HTML 파일, CSS 파일 및 자바 스크립트 파일을 포함한다. 일부 실시예들에서, 위젯(예컨대, 야후! 위젯)은 XML 파일 및 자바 스크립트 파일을 포함한다.The widget module 149 includes an RF circuit 108, a touch screen 112, a display system controller 156, a contact module 130, a graphics module 132, a text input module 134, and a browser module 147. Together, downloaded by the user (such as weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5). It is a mini-application that can be used and used or can be generated by a user (such as user-generated widget 149-6). In some embodiments, the widget includes an HTML file, a CSS file, and a JavaScript file. In some embodiments, the widget (e.g., a Yahoo! widget) includes an XML file and a JavaScript file.

위젯 생성기 모듈(150)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께 (예컨대, 웹 페이지의 사용자-지정 부분을 위젯으로 바꾸는 등으로) 위젯을 생성하는데 사용자에 의해 이용될 수 있다.Widget generator module 150 includes RF circuitry 108, touch screen 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147. Together with the widget (eg, replacing a user-specified portion of the web page with a widget).

검색 모듈(151)은 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 사용자 명령에 따라 (하나 이상의 사용자-지정 검색 용어 등의) 하나 이상의 검색 조건과 매칭되는 메모리(102)의 텍스트, 음악, 사운드, 이미지, 비디오 및/또는 기타 파일을 검색하기 위한 실행 가능 명령어들을 포함한다.The search module 151 may be implemented in accordance with a user command in conjunction with a touch screen 112, a display system controller 156, a touch module 130, a graphics module 132 and a text input module 134 Music, sound, images, video, and / or other files in the memory 102 that match one or more search conditions (e.g., search terms).

노트 모듈(153)은 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 사용자 명령에 따라 노트, 할일 목록 등을 생성하고 관리하기 위한 실행 가능 명령어들을 포함한다.The note module 153 generates a note, a to-do list, and the like in accordance with a user command together with the touch screen 112, the display controller 156, the contact module 130, the graphic module 132 and the text input module 134 And executable instructions for managing and managing.

지도 모듈(154)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135) 및 브라우저 모듈(147)과 함께, 사용자 명령에 따라 (예컨대, 운전 방향, 특정 위치의 또는 인접한 가게 및 기타 관련 지점에 대한 데이터, 및 기타 위치-기반 데이터 등의) 지도 관련 데이터 및 지도를 수신하고 표시하며 수정하고 저장하는데 사용될 수 있다.The map module 154 includes an RF circuit 108, a touch screen 112, a display system controller 156, a touch module 130, a graphics module 132, a text input module 134, a GPS module 135, Along with the browser module 147, receives and displays map-related data and maps (e.g., in the driving direction, data for a shop or other nearby point of interest or other relevant point of interest, and other location-based data) And can be used to modify and store.

온라인 비디오 모듈(155)은 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110), 스피커(111), RF 회로(108), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140) 및 브라우저 모듈(147)과 함께, 사용자로 하여금 특정 온라인 비디오로의 링크를 갖는 이메일을 액세스하고 브라우징하며 (예컨대, 스트리밍 및/또는 다운로드를 통해) 수신하고 (예컨대, 터치 스크린, 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에서) 재생하며 송신할 수 있게 하거나, H.264 등의 하나 이상의 파일 포맷의 온라인 비디오를 관리할 수 있게 하기 위한 명령어들을 포함한다. 일부 실시예들에서, 이메일 클라이언트 모듈(140)이 아닌 인스턴트 메시징 모듈(141)이 특정 온라인 비디오에 대한 링크를 송신하는데 사용된다. 온라인 비디오 애플리케이션에 대한 부가적인 설명은, 그 내용 전체가 본 명세서에 참조문헌으로 포함되는 2007년 6월 20일 출원된 미국 특허 가출원 제60/936,562호, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos", 및 2007년 12월 31일자로 출원된 미국 특허 출원 제11/968,067호, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos"에서 찾아볼 수 있다.The online video module 155 includes a touch screen 112, a display system controller 156, a contact module 130, a graphics module 132, an audio circuit 110, a speaker 111, an RF circuit 108, Along with input module 134, email client module 140 and browser module 147, allows a user to access, browse (e.g., through streaming and / or downloading) emails with a link to a particular online video (E.g., on an external display connected via a touch screen or external port 124), or to manage online video in one or more file formats, such as H.264, . In some embodiments, the instant messaging module 141, rather than the email client module 140, is used to send a link to a particular online video. Additional descriptions of on-line video applications may be found in U.S. Provisional Patent Application Serial No. 60 / 936,562 entitled "Portable Multifunction Device, Method, and Graphical User Interface " filed on June 20, 2007, the entire contents of which are incorporated herein by reference. for Playing Online Videos ", and U.S. Patent Application No. 11 / 968,067, filed December 31, 2007, entitled " Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos. "

이상 언급된 모듈 및 애플리케이션 각각은 지금까지 설명된 하나 이상의 기능 및 본원에서 설명되는 방법들(예로서, 본 명세서에서 설명되는 컴퓨터 구현 방법들 및 다른 정보 처리 방법들)을 수행하기 위한 실행 가능 명령어 집합에 대응한다. 이러한 모듈(즉, 명령어 집합)은 개별 소프트웨어 프로그램, 절차 또는 모듈로서 구현될 필요는 없으며, 다양한 실시예에서 이러한 모듈들의 다양한 서브세트가 통합되거나 재배치될 수 있다. 예컨대, 비디오 플레이어 모듈(145)은 음악 플레이어 모듈(146)과 (예컨대, 도 1b의 비디오 및 음악 플레이어 모듈(152)와 같은) 단일 모듈로 결합될 수 있다. 일부 실시예들에서, 메모리(102)는 이상 언급된 모듈 및 데이터 구조의 서브세트를 저장할 수 있다. 나아가, 메모리(102)는 지금까지 언급되지 않은 추가적인 모듈 및 데이터 구조를 저장할 수 있다.Each of the above-referenced modules and applications includes a set of executable instructions for performing one or more of the functions described hereinabove and the methods described herein (e.g., computer implemented methods and other information processing methods described herein) . These modules (i.e., instruction sets) need not be implemented as discrete software programs, procedures, or modules, and various subsets of such modules may be integrated or relocated in various embodiments. For example, video player module 145 may be combined with music player module 146 into a single module (eg, such as video and music player module 152 of FIG. 1B). In some embodiments, the memory 102 may store a subset of the above-mentioned modules and data structures. Furthermore, memory 102 may store additional modules and data structures not mentioned so far.

일부 실시예들에서, 장치(100)는 터치 스크린 및/또는 터치패드를 통해서만 장치 상에서의 소정의 기능 집합의 동작이 수행되는 장치이다. 장치(100)의 동작을 위한 기본적인 입력/제어 장치로서 터치 스크린 및/또는 터치패드를 사용함으로써, 장치(100) 상의 (푸시 버튼, 다이얼 등의) 물리적 입력/제어 장치의 개수가 감소될 수 있다.In some embodiments, the device 100 is a device on which a predetermined set of functions on the device is performed only through a touch screen and / or a touch pad. By using the touch screen and / or touchpad as a basic input / control device for the operation of the device 100, the number of physical input / control devices (such as push buttons, dials) on the device 100 can be reduced. .

터치 스크린 및/또는 터치패드를 통해서만 수행될 수 있는 소정의 기능 집합에는 사용자 인터페이스 간의 내비게이션이 포함된다. 일부 실시예들에서, 터치패드는, 사용자가 터치하면, 장치(100) 상에 디스플레이될 수 있는 임의의 사용자 인터페이스로부터 메인 메뉴, 홈 메뉴 또는 루트 메뉴로 장치(100)를 내비게이션한다. 이러한 실시예에서, 터치패드는 "메뉴 버튼"이라고 지칭될 수 있다. 일부 다른 실시예에서, 메뉴 버튼은 터치패드 대신에 물리적 푸시 버튼 또는 기타 물리적 입력/제어 장치일 수 있다.The predetermined set of functions that can be performed only through the touch screen and / or the touch pad include navigation between the user interfaces. In some embodiments, the touchpad navigates the device 100 from a main menu, a home menu, or a root menu from any user interface that can be displayed on the device 100 when the user touches it. In such embodiments, the touchpad may be referred to as a "menu button." In some other embodiments, the menu button may be a physical push button or other physical input / control device instead of the touchpad.

도 1c는 일부 실시예들에 따른 이벤트 처리를 위한 예시적인 컴포넌트들을 나타내는 블록도이다. 일부 실시예들에서, (도 1a 및 1b의) 메모리(102) 또는 (도 3의) 메모리(370)는 (예로서, 운영 체제(126) 내의) 이벤트 분류기(170) 및 각각의 애플리케이션(136-1)(예를 들어, 전술한 애플리케이션들(137-151, 155, 380-390) 중 임의 애플리케이션)을 포함한다.1C is a block diagram illustrating exemplary components for event processing in accordance with some embodiments. In some embodiments, the memory 102 (FIG. 1A) and the memory 370 (FIG. 3) (of FIG. 1A and 1B) may include an event classifier 170 (eg, within the operating system 126) -1) (e.g., any of the applications 137-151, 155, 380-390 described above).

이벤트 분류기(170)는 이벤트 정보를 수신하고, 이벤트 정보를 전송할 애플리케이션(136-1) 및 애플리케이션(136-1)의 애플리케이션 뷰(191)를 결정한다. 이벤트 분류기(170)는 이벤트 모니터(171) 및 이벤트 디스패처 모듈(174)을 포함한다. 일부 실시예들에서, 애플리케이션(136-1)은 애플리케이션이 활성이거나 실행되고 있을 때 터치 감지 디스플레이(112) 상에 표시된 현재 애플리케이션 뷰(들)를 지시하는 애플리케이션 내부 상태(192)를 포함한다. 일부 실시예들에서, 이벤트 분류기(170)는 장치/글로벌 내부 상태(157)를 이용하여, 어느 애플리케이션(들)이 현재 활성인지를 결정하며, 이벤트 분류기(170)는 애플리케이션 내부 상태(192)를 이용하여, 이벤트 정보를 전송할 애플리케이션 뷰들(191)을 결정한다.The event classifier 170 receives the event information and determines the application 136-1 to which to send the event information and the application view 191 of the application 136-1. The event classifier 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, the application 136-1 includes an application internal state 192 that indicates the current application view (s) displayed on the touch sensitive display 112 when the application is active or running. In some embodiments, the event classifier 170 uses the device / global internal state 157 to determine which application (s) are currently active and the event classifier 170 uses the application internal state 192 To determine application views 191 to which to send event information.

일부 실시예들에서, 애플리케이션 내부 상태(192)는 애플리케이션(136-1)이 실행을 재개할 때 사용될 재개 정보, 표시되고 있는 정보를 지시하거나 애플리케이션(136-1)에 의한 표시를 위해 준비된 사용자 인터페이스 상태 정보, 사용자가 애플리케이션(136-1)의 이전 상태 또는 뷰로 돌아갈 수 있게 하기 위한 상태 큐, 및 사용자에 의해 취해진 이전 액션들의 재실행/취소 큐 중 하나 이상과 같은 추가적인 정보를 포함한다.In some embodiments, the application internal state 192 may include resume information to be used when the application 136-1 resumes execution, a user interface < RTI ID = 0.0 > State information, a state queue for allowing the user to return to the previous state or view of the application 136-1, and a re-execute / cancel queue of previous actions taken by the user.

이벤트 모니터(171)는 주변 장치 인터페이스(118)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트(예로서, 멀티 터치 제스처의 일부인 터치 감지 디스플레이(112) 상의 사용자 터치)에 대한 정보를 포함한다. 주변 장치 인터페이스(118)는 근접 센서(166), 가속도계(들)(168) 및/또는 마이크로폰(113)(오디오 회로(110)를 통해)과 같은 I/O 서브시스템(106) 또는 센서로부터 수신하는 정보를 전송한다. 주변 장치 인터페이스(118)가 I/O 서브시스템(106)으로부터 수신하는 정보는 터치 감지 디스플레이(112) 또는 터치 감지 표면으로부터의 정보를 포함한다.The event monitor 171 receives event information from the peripheral device interface 118. The event information includes information about a sub-event (e.g., a user touch on the touch-sensitive display 112 that is part of a multi-touch gesture). The peripheral device interface 118 may be coupled to an I / O subsystem 106 such as proximity sensor 166, accelerometer (s) 168 and / or microphone 113 (via audio circuitry 110) Information. The information that the peripheral device interface 118 receives from the I / O subsystem 106 includes information from the touch-sensitive display 112 or the touch-sensitive surface.

일부 실시예들에서, 이벤트 모니터(171)는 요청들을 사전 결정된 간격으로 주변 장치 인터페이스(118)로 전송한다. 이에 응답하여, 주변 장치 인터페이스(118)는 이벤트 정보를 전송한다. 다른 실시예들에서, 주변 장치 인터페이스(118)는 (예를 들어, 사전 결정된 잡음 임계치를 넘는 그리고/또는 사전 결정된 지속 기간보다 긴 기간 동안 입력을 수신하는) 중요한 이벤트가 존재할 때만 이벤트 정보를 전송한다.In some embodiments, the event monitor 171 sends requests to the peripheral device interface 118 at predetermined intervals. In response, the peripheral device interface 118 transmits event information. In other embodiments, peripheral interface 118 transmits event information only when there is a significant event (eg, receiving input over a predetermined noise threshold and / or longer than a predetermined duration). .

일부 실시예들에서, 이벤트 분류기(170)는 히트 뷰 결정 모듈(172) 및/또는 활성 이벤트 인식기 결정 모듈(173)도 포함한다.In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173.

히트 뷰 결정 모듈(172)은 터치 감지 디스플레이(112)가 둘 이상의 뷰를 표시할 때 하나 이상의 뷰들 내에서 서브이벤트가 어느 곳에서 발생했는지를 결정하기 위한 소프트웨어 절차들을 제공한다. 뷰들은 사용자가 디스플레이 상에서 볼 수 있는 컨트롤들 및 다른 요소들로 구성된다.The hit view determination module 172 provides software procedures for determining where a sub-event occurred within one or more views when the touch-sensitive display 112 displays more than one view. Views consist of controls and other elements that a user can see on the display.

애플리케이션과 관련된 사용자 인터페이스의 다른 양태는 정보가 표시되고 터치 기반 제스처들이 발생하는, 본 명세서에서 때때로 애플리케이션 뷰들 또는 사용자 인터페이스 윈도들이라고 하는 한 세트의 뷰들이다. 터치가 검출되는 (각각의 애플리케이션)의 애플리케이션 뷰들은 애플리케이션의 프로그램 또는 뷰 계층 구조 내의 프로그램 레벨들에 대응할 수 있다. 예를 들어, 터치가 검출되는 최저 레벨 뷰는 히트 뷰로 지칭될 수 있으며, 적절한 입력들로서 인식되는 이벤트들의 세트는 터치 기반 제스처를 시작하는 최초 터치의 히트 뷰에 적어도 부분적으로 기초하여 결정될 수 있다.Another aspect of a user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views of the touch (each application) may correspond to the program levels in the program or view hierarchy of the application. For example, a lowest level view at which a touch is detected may be referred to as a hit view, and a set of events recognized as appropriate inputs may be determined based at least in part on a hit view of an initial touch starting a touch-based gesture.

히트 뷰 결정 모듈(172)은 터치 기반 제스처의 서브이벤트들에 관련된 정보를 수신한다. 애플리케이션이 계층 구조로 구성된 다수의 뷰를 가질 때, 히트 뷰 결정 모듈(172)은 히트 뷰를, 서브이벤트를 처리해야 하는 계층 구조 내의 최하위 뷰로서 식별한다. 대부분의 상황들에서, 히트 뷰는 개시 서브이벤트(즉, 이벤트 또는 잠재적 이벤트를 형성하는 서브이벤트들의 시퀀스 내의 제1 서브이벤트)가 발생하는 최저 레벨 뷰이다. 히트 뷰 결정 모듈에 의해 히트 뷰가 식별되면, 통상적으로 히트 뷰는 그가 히트 뷰로서 식별된 동일 터치 또는 입력 소스에 관련된 모든 서브이벤트들을 수신한다.The hit view determination module 172 receives information related to sub-events of the touch-based gesture. When the application has multiple views configured in a hierarchical structure, the hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should handle the sub-event. In most situations, the hit view is the lowest level view at which an initiation sub event (i.e., the first sub event in the sequence of sub events that form the event or potential event) occurs. If a hit view is identified by the hit view determination module, the hit view typically receives all the sub-events associated with the same touch or input source that he identified as a hit view.

활성 이벤트 인식기 결정 모듈(173)은 뷰 계층 구조 내의 어느 뷰 또는 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는지를 결정한다. 일부 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 히트 뷰만이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 서브이벤트의 물리 위치를 포함하는 모든 뷰들이 유효하게 관련된 뷰들인 것으로 결정하고, 따라서 모든 유효하게 관련된 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 터치 서브이벤트들이 하나의 특정 뷰와 관련된 영역으로 완전히 제한되는 경우에도, 계층 구조 내의 상위 뷰들은 여전히 유효하게 관련된 뷰들로 남을 것이다.The active event recognizer determination module 173 determines which views or views in the view hierarchy should receive a particular sequence of sub events. In some embodiments, the active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event recognizer determination module 173 determines that all views including the physical location of the sub-event are validly related views, so that all validly related views must receive a specific sequence of sub-events . In other embodiments, even if touch sub-events are completely restricted to the area associated with one particular view, the top views in the hierarchy will still remain validly related views.

이벤트 디스패처 모듈(174)은 이벤트 정보를 이벤트 인식기(예로서, 이벤트 인식기(180))로 디스패치한다. 활성 이벤트 인식기 결정 모듈(173)을 포함하는 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 정보를 활성 이벤트 인식기 결정 모듈(173)에 의해 결정된 이벤트 인식기로 전송한다. 일부 실시예들에서, 이벤트 디스패처 모듈(174)은 각각의 이벤트 수신기 모듈(182)에 의해 검색된 이벤트 정보를 이벤트 큐에 저장한다.The event dispatcher module 174 dispatches the event information to an event recognizer (e.g., event recognizer 180). In embodiments including the active event recognizer determination module 173, the event dispatcher module 174 sends the event information to the event recognizer determined by the active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information retrieved by each event receiver module 182 in an event queue.

일부 실시예들에서, 운영 체제(126)는 이벤트 분류기(170)를 포함한다. 대안으로서, 애플리케이션(136-1)이 이벤트 분류기(170)를 포함한다. 또 다른 실시예들에서, 이벤트 분류기(170)는 독립 모듈이거나, 접촉/운동 모듈(130)과 같은, 메모리(102)에 저장된 다른 모듈의 일부이다.In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet other embodiments, the event classifier 170 is an independent module or is part of another module stored in the memory 102, such as the contact / motion module 130.

일부 실시예들에서, 애플리케이션(136-1)은 하나 이상의 애플리케이션 뷰들(191)을 포함하며, 애플리케이션 뷰들 각각은 애플리케이션의 사용자 인터페이스의 각각의 뷰 내에서 발생하는 터치 이벤트들을 처리하기 위한 명령어들을 포함한다. 애플리케이션(136-1)의 각각의 애플리케이션 뷰(191)는 하나 이상의 이벤트 인식기들(180) 및 복수의 이벤트 핸들러(190)를 포함한다. 통상적으로, 각각의 애플리케이션 뷰(191)는 복수의 이벤트 인식기(180) 및 복수의 이벤트 핸들러(190)를 포함한다. 다른 실시예들에서, 이벤트 인식기들(180) 중 하나 이상은 사용자 인터페이스 키트(도시되지 않음) 또는 애플리케이션(136-1)이 메소드들 및 다른 특성들을 상속받는 상위 레벨 객체와 같은 개별 모듈의 일부이다. 일부 실시예들에서, 각각의 애플리케이션 뷰(191)는 또한 데이터 갱신기(176), 객체 갱신기(177), GUI 갱신기(178), 및/또는 이벤트 분류기(170)로부터 수신된 이벤트 데이터(179) 중 하나 이상을 포함한다.In some embodiments, application 136-1 includes one or more application views 191, each of which includes instructions for handling touch events occurring within each view of an application's user interface. . Each application view 191 of the application 136-1 includes one or more event recognizers 180 and a plurality of event handlers 190. Typically, each application view 191 includes a plurality of event recognizers 180 and a plurality of event handlers 190. In other embodiments, one or more of the event recognizers 180 are part of a separate module, such as a user interface kit (not shown) or a higher level object to which the application 136-1 inherits methods and other properties . In some embodiments, each application view 191 may also include event data received from data updater 176, object updater 177, GUI updater 178, and / or event classifier 170. 179).

각각의 이벤트 인식기(180)는 이벤트 분류기(170)로부터 이벤트 정보(예로서, 이벤트 데이터(179))를 수신하고, 이벤트 정보로부터 이벤트를 식별한다. 이벤트 인식기(180)는 이벤트 수신기(182) 및 이벤트 비교기(184)를 포함한다. 일부 실시예들에서, 이벤트 인식기(180)는 또한 메타데이터(183) 및 (서브이벤트 전송 명령어들을 포함할 수 있는) 이벤트 전송 명령어들(188)의 적어도 서브세트를 포함한다.Each event recognizer 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event from the event information. The event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of metadata 183 and event transfer instructions 188 (which may include sub event transmission instructions).

이벤트 수신기(182)는 이벤트 분류기(170)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트, 예컨대 터치 또는 터치 움직임에 대한 정보를 포함한다. 서브이벤트에 따라서는, 이벤트 정보는 서브이벤트의 위치와 같은 추가적인 정보도 포함한다. 서브이벤트가 터치의 움직임과 관련될 때, 이벤트 정보는 서브이벤트의 속력 및 방향도 포함할 수 있다. 일부 실시예들에서, 이벤트들은 하나의 배향으로부터 다른 배향으로의(예로서, 세로 배향으로부터 가로 배향으로의 또는 그 반대의) 장치의 회전을 포함하며, 이벤트 정보는 장치의 (장치 자세라고도 하는) 현재 배향에 대한 대응 정보를 포함한다.The event receiver 182 receives event information from the event classifier 170. The event information includes information about a sub event, e.g., touch or touch movement. Depending on the sub event, the event information also includes additional information such as the position of the sub event. When the sub event is associated with the movement of the touch, the event information may also include the speed and direction of the sub event. In some embodiments, events include rotation of the device from one orientation to another (e.g., from portrait orientation to landscape orientation, or vice versa), and the event information is stored in the device's device And corresponding information on the current orientation.

이벤트 비교기(184)는 이벤트 정보를 사전 정의된 이벤트 또는 서브이벤트 정의들과 비교하고, 비교에 기초하여, 이벤트 또는 서브이벤트를 결정하거나, 이벤트 또는 서브이벤트의 상태를 결정 또는 갱신한다. 일부 실시예들에서, 이벤트 비교기(184)는 이벤트 정의들(186)을 포함한다. 이벤트 정의들(186)은 이벤트들(예로서, 사전 정의된 서브이벤트들의 시퀀스들), 예로서 이벤트 1(187-1), 이벤트 2(187-2) 등의 정의들을 포함한다. 일부 실시예들에서, 이벤트(187) 내의 서브이벤트들은 예를 들어 터치 시작, 터치 종료, 터치 움직임, 터치 취소 및 다수의 터칭을 포함한다. 일례에서, 이벤트 1(187-1)에 대한 정의는 표시된 객체 상의 더블 탭이다. 더블 탭은 예를 들어 사전 결정된 단계 동안의 표시 객체 상의 제1 터치(터치 시작), 사전 결정된 단계 동안의 제1 리프트-오프(터치 종료), 사전 결정된 단계 동안의 표시 객체 상의 제2 터치(터치 시작) 및 사전 결정된 단계 동안의 제2 리프트 오프(터치 종료)를 포함한다. 다른 예에서, 이벤트 2(187-2)에 대한 정의는 표시 객체 상에서의 드래깅이다. 드래깅은 예를 들어 사전 결정된 단계 동안의 표시 객체 상의 터치(또는 접촉), 터치 감지 디스플레이(112)를 가로지르는 터치의 이동, 및 터치의 리프트 오프(터치 종료)를 포함한다. 일부 실시예들에서, 이벤트는 이벤트의 관련 이벤트 핸들러들(190)에 대한 정보도 포함한다.The event comparator 184 compares the event information with the predefined event or sub event definitions, determines an event or sub event based on the comparison, or determines or updates the state of the event or sub event. In some embodiments, event comparator 184 includes event definitions 186. Event definitions 186 include definitions of events (e.g., sequences of predefined sub-events), such as Event 1 187-1, Event 2 187-2, and the like. In some embodiments, the sub-events in event 187 include, for example, touch start, touch end, touch motion, touch cancel, and multiple touches. In one example, the definition for event 1 187-1 is a double tap on the displayed object. The double tap may include, for example, a first touch (touch start) on the display object during a predetermined step, a first lift-off (touch end) during a predetermined step, a second touch on the display object Start) and a second lift-off (touch termination) during a predetermined step. In another example, the definition for event two 187-2 is dragging on the display object. Dragging includes, for example, touch (or touch) on the display object during a predetermined phase, movement of the touch across the touch sensitive display 112, and lift off (touch end) of the touch. In some embodiments, the event also includes information about the associated event handlers 190 of the event.

일부 실시예들에서, 이벤트 정의(187)는 각각의 사용자 인터페이스 객체에 대한 이벤트의 정의를 포함한다. 일부 실시예들에서, 이벤트 비교기(184)는 히트 테스트를 수행하여, 어느 사용자 인터페이스 객체가 서브이벤트와 관련되는지를 결정한다. 예를 들어, 터치 감지 디스플레이(112) 상에 3개의 사용자 인터페이스 객체가 표시되는 애플리케이션 뷰에서, 터치 감지 디스플레이(112) 상에서 터치가 검출될 때, 이벤트 비교기(184)는 히트 테스트를 수행하여, 3개의 사용자 인터페이스 객체 중 어느 것이 터치(서브이벤트)와 관련되는지를 결정한다. 각각의 표시 객체가 각각의 핸들러 이벤트(190)와 관련되는 경우, 이벤트 비교기는 히트 테스트의 결과를 이용하여, 어느 이벤트 핸들러(190)가 활성화되어야 하는지를 결정한다. 예를 들어, 이벤트 비교기(184)는 히트 테스트를 트리거링하는 서브이벤트 및 객체와 관련된 이벤트 핸들러를 선택한다.In some embodiments, event definition 187 includes a definition of an event for each user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, in an application view where three user interface objects are displayed on the touch-sensitive display 112, when a touch is detected on the touch-sensitive display 112, the event comparator 184 performs a hit test, Determines which of the user interface objects is associated with the touch (sub event). When each display object is associated with a respective handler event 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, the event comparator 184 selects an event handler associated with the sub-event and the object that trigger the hit test.

일부 실시예들에서, 각각의 이벤트(187)에 대한 정의는 서브이벤트들의 시퀀스가 이벤트 인식기의 이벤트 타입에 대응하는지의 여부가 결정된 후까지 이벤트 정보의 전송을 지연시키는 지연된 액션들도 포함한다.In some embodiments, the definition for each event 187 also includes delayed actions that delay the transmission of event information until after it is determined whether the sequence of sub-events corresponds to the event type of the event recognizer.

각각의 이벤트 인식기(180)가 일련의 서브이벤트가 이벤트 정의들(186) 내의 이벤트들 중 어느 것과도 매칭되지 않는 것으로 결정할 때, 각각의 이벤트 인식기(180)는 이벤트 불가능, 또는 이벤트 취소 상태에 들어가고, 이어서 터치 기반 제스처의 후속 서브이벤트들을 무시한다. 이러한 상황에서, 존재할 경우, 히트 뷰에 대해 활성 상태를 유지하는 다른 이벤트 인식기들은 진행중인 터치 기반 제스처의 서브이벤트들을 계속 추적하고 처리한다.When each event recognizer 180 determines that the series of subevents does not match any of the events in the event definitions 186, each event recognizer 180 enters an event disable, or event cancel state. Then ignore subsequent subevents of the touch-based gesture. In this situation, if present, other event recognizers that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.

일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트 전송 시스템이 어떻게 유효하게 관련된 이벤트 인식기들로의 서브이벤트 전송을 수행해야 하는지를 지시하는 구성 가능한 특성들, 플래그들 및/또는 목록들을 갖는 메타데이터(183)를 포함한다. 일부 실시예들에서, 메타데이터(183)는 이벤트 인식기들이 어떻게 서로 상호작용할 수 있는지를 지시하는 구성 가능한 특성들, 플래그들 및/또는 목록들을 포함한다. 일부 실시예들에서, 메타데이터(183)는 서브이벤트들이 뷰 또는 프로그램 계층 구조 내의 다양한 레벨들로 전송되는지의 여부를 지시하는 구성 가능한 특성들, 플래그들 및/또는 목록들을 포함한다.In some embodiments, each event recognizer 180 may include a meta-tag with configurable properties, flags, and / or lists that indicate how the event transmission system should effectively perform sub event transmission to the associated event recognizers. Data 183. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists that indicate how the event recognizers can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are to be transmitted at various levels within the view or program hierarchy.

일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트의 하나 이상의 특정 서브이벤트들이 인식될 때 이벤트와 관련된 이벤트 핸들러(190)를 활성화한다. 일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트와 관련된 이벤트 정보를 이벤트 핸들러(190)로 전송한다. 이벤트 핸들러(190)의 활성화는 서브이벤트들의 각각의 히트 뷰로의 전송(및 디폴트 전송)과 다르다. 일부 실시예들에서, 이벤트 인식기(180)는 인식된 이벤트와 관련된 플래그를 던지며, 플래그와 관련된 이벤트 핸들러(190)는 플래그를 받아서, 사전 정의된 프로세스를 수행한다.In some embodiments, each event recognizer 180 activates an event handler 190 associated with the event when one or more specific sub-events of the event are recognized. In some embodiments, each event recognizer 180 sends event information to the event handler 190 in association with the event. The activation of the event handler 190 is different from the transmission (and default transmission) of each of the sub-events to the hit view. In some embodiments, the event recognizer 180 casts a flag associated with the recognized event, and the event handler 190 associated with the flag receives the flag to perform the predefined process.

일부 실시예들에서, 이벤트 전송 명령어들(188)은 이벤트 핸들러를 활성화하지 않고 서브이벤트에 대한 이벤트 정보를 전송하는 서브이벤트 전송 명령어들을 포함한다. 대신에, 서브이벤트 전송 명령어들은 이벤트 정보를 일련의 서브이벤트들과 관련되거나 유효하게 관련된 뷰들과 관련된 이벤트 핸들러들로 전송한다. 일련의 서브이벤트들과 또는 유효하게 관련된 뷰들과 관련된 이벤트 핸들러들은 이벤트 정보를 수신하고, 사전 결정된 프로세스를 수행한다.In some embodiments, the event transfer instructions 188 include sub-event transfer instructions that transmit event information for a sub-event without activating the event handler. Instead, sub-event transfer instructions send event information to event handlers associated with views associated with or effectively related to a series of sub-events. Event handlers associated with a series of sub-events or validly related views receive event information and perform predetermined processes.

일부 실시예들에서, 데이터 갱신기(176)는 애플리케이션(136-1)에서 사용되는 데이터를 생성하고 갱신한다. 예컨대, 데이터 갱신기(176)는 연락처 모듈(137)에서 사용되는 전화 번호를 갱신하거나, 비디오 플레이어 모듈(145)에서 사용되는 비디오 파일을 저장한다. 일부 실시예들에서, 객체 갱신기(177)는 애플리케이션(136-1)에서 사용되는 객체들을 생성하고 갱신한다. 예컨대, 객체 갱신기(176)는 새로운 사용자 인터페이스 객체를 생성하거나, 사용자 인터페이스 객체의 위치를 갱신한다. GUI 갱신기(178)는 GUI를 갱신한다. 예를 들어, GUI 갱신기(178)는 디스플레이 정보를 준비하고, 이를 터치 감지 디스플레이 상의 표시를 위해 그래픽 모듈(132)로 전송한다.In some embodiments, data updater 176 generates and updates data used in application 136-1. For example, the data updater 176 updates the telephone number used in the contact module 137 or stores the video file used in the video player module 145. [ In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 176 creates a new user interface object or updates the location of the user interface object. GUI updater 178 updates the GUI. For example, the GUI updater 178 prepares the display information and transmits it to the graphics module 132 for display on the touch-sensitive display.

일부 실시예들에서, 이벤트 핸들러(들)(190)는 데이터 갱신기(176), 객체 갱신기(177) 및 GUI 갱신기(178)를 포함하거나, 이들에 대한 액세스를 갖는다. 일부 실시예들에서, 데이터 갱신기(176), 객체 갱신기(177) 및 GUI 갱신기(178)는 각각의 애플리케이션(136-1) 또는 애플리케이션 뷰(191)의 단일 모듈 내에 포함된다. 다른 실시예들에서, 이들은 2개 이상의 소프트웨어 모듈 내에 포함된다.In some embodiments, the event handler (s) 190 include, or have access to, a data updater 176, an object updater 177, and a GUI updater 178. In some embodiments, data updater 176, object updater 177 and GUI updater 178 are included in a single module of each application 136-1 or application view 191. [ In other embodiments, these are included in two or more software modules.

터치 감지 디스플레이들 상의 사용자 터치들의 이벤트 처리에 관한 위의 설명은 입력 장치들을 갖는 다기능 장치들(100)을 조작하기 위한 다른 형태의 사용자 입력들에도 적용된다는 것을 이해해야 하고, 이러한 사용자 입력들은 그 모두가 터치 스크린들 상에서 개시되는 것은 아니며, 이들은 예를 들어 단일 또는 다수의 키보드 누름 또는 유지가 있거나 없는 상태에서의 마우스 움직임 및 마우스 버튼 누름의 조정, 터치패드들 상에서의 사용자 움직임 탭, 드래그, 스크롤 등, 펜 스타일러스 입력, 장치의 움직임, 구두 명령, 눈 움직임 검출, 생체학적 입력 및/또는 이들의 조합을 포함하며, 인식될 이벤트를 정의하는 서브이벤트들에 대응하는 입력들로서 사용될 수 있다.It should be appreciated that the above discussion of event handling of user touches on touch-sensitive displays also applies to other types of user inputs for manipulating multifunction devices 100 with input devices, But are not limited to, for example, adjusting mouse movements and mouse button presses in the presence or absence of a single or multiple keyboard push or hold, user movement tabs on the touch pads, dragging, Pen stylus input, device motion, verbal commands, eye movement detection, biometric input, and / or combinations thereof, and may be used as inputs corresponding to sub-events defining the event to be recognized.

도 2는 일부 실시예들에 따른 터치 스크린(112)을 구비한 휴대용 다기능 장치(100)를 도시한다. 터치 스크린은 사용자 인터페이스(UI)(200) 내에 하나 이상의 그래픽을 표시할 수 있다. 본 실시예 및 이하 기술되는 다른 실시예에서, 사용자는 예컨대 하나 이상의 손가락(202)(도면에는 축척에 맞게 도시되지 않음) 또는 하나 이상의 스타일러스(203)(도면에는 축척에 맞게 도시되지 않음)를 이용해 그래픽을 터치하거나 접촉함으로써 그래픽들 중 하나 이상을 선택할 수 있다. 일부 실시예들에서, 사용자가 하나 이상의 그래픽과의 접촉을 해제하면 그 하나 이상의 그래픽에 대한 선택이 이루어진다. 일부 실시예들에서, 접촉은 장치(100)와 접촉된 손가락의 (좌에서 우로, 우에서 좌로, 위로 및/또는 아래로의) 롤링(rolling), (좌에서 우로, 우에서 좌로, 위로 및/또는 아래로의) 하나 이상의 스와이프(swipe) 및/또는 하나 이상의 탭(tap)과 같은 제스처를 포함할 수 있다. 일부 실시예들에서, 그래픽과의 우연한 접촉에 의해서는 그 그래픽이 선택되지 않을 수 있다. 예컨대, 선택에 대응하는 제스처가 탭일 경우 애플리케이션 아이콘 상을 지나가는 스와이프 제스처에 의해서는 해당 애플리케이션이 선택되지 않을 수 있다.Figure 2 illustrates a portable multifunction device 100 having a touch screen 112 according to some embodiments. The touch screen may display one or more graphics within the user interface (UI) In this and other embodiments described below, a user may use one or more fingers 202 (not shown in scale in the figure) or one or more stylus 203 (not shown in scale in the figure) You can select one or more of the graphics by touching or touching the graphic. In some embodiments, a selection is made for the one or more graphics when the user releases the contact with the one or more graphics. In some embodiments, the contact may be rolled (from left to right, from right to left, up and down), from left to right (right to left, up and / Gestures such as one or more swipes and / or one or more taps (e.g., downwardly / downwardly). In some embodiments, the graphic may not be selected by accidental contact with the graphic. For example, when the gesture corresponding to the selection is a tap, the corresponding application may not be selected by the swipe gesture passing on the application icon.

장치(100)는 또한 "홈" 또는 메뉴 버튼(204) 등의 하나 이상의 물리적 버튼을 포함할 수 있다. 이미 설명된 바와 같이, 메뉴 버튼(204)은 장치(100) 상에서 실행될 수 있는 애플리케이션 집합 중 임의의 애플리케이션(136)으로 내비게이션하는데 사용될 수 있다. 또는, 일부 실시예들에서, 메뉴 버튼은 터치 스크린(112)의 GUI의 소프트 키로서 구현된다.Device 100 may also include one or more physical buttons, such as a “home” or menu button 204. The menu button 204 may be used to navigate to any of the application sets 136 that may be executed on the device 100. [ Or, in some embodiments, the menu button is implemented as a soft key of the GUI of the touch screen 112. [

일 실시예에서, 장치(100)는 터치 스크린(112), 메뉴 버튼(204), 장치의 전원을 온/오프하고 장치를 잠그기 위한 푸시 버튼(206), 볼륨 조정 버튼(208), 가입자 식별 모듈(SIM) 카드 슬롯(210), 헤드셋 잭(212) 및 도킹/충전용 외부 포트(124)를 포함한다. 푸시 버튼(206)은, 버튼을 눌러 소정의 시간 동안 버튼을 눌러진 상태로 유지시키는 것을 통한 장치 상의 전원의 턴온/턴오프; 버튼을 눌러 소정의 시간이 경과하기 전에 버튼을 릴리즈하는 것을 통한 장치 잠금; 및/또는 잠금해제 프로세스의 개시나 장치 잠금해제에 사용될 수 있다. 다른 실시예에서, 장치(100)는 또한 마이크로폰(113)을 통하여 일부 기능의 활성화 또는 비활성화를 위한 구두 입력(verbal input)을 받아들일 수 있다.In one embodiment, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on and off and locking the device, a volume adjustment button 208, a subscriber identification module. (SIM) card slot 210, headset jack 212 and external port 124 for docking / charging. Push button 206 includes: turning on / off the power on the device by pressing the button to hold the button pressed for a predetermined time; Device locking by pressing the button to release the button before a predetermined time has elapsed; And / or to initiate an unlock process or to unlock a device. In another embodiment, the device 100 may also accept verbal input for activation or deactivation of some functions via the microphone 113.

도 3은 일부 실시예들에 따른 디스플레이 및 터치 감지 표면을 갖는 예시적인 다기능 장치의 블록도이다. 장치(300)는 휴대용일 필요는 없다. 일부 실시예들에서, 장치(300)는 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 멀티미디어 플레이어 장치, 내비게이션 장치, 교육용 장치(어린이 학습 완구 등), 게이밍 시스템 또는 제어 장치(예로서, 홈 또는 산업용 컨트롤러)이다. 통상적으로, 장치(300)는 하나 이상의 처리 유닛(CPU)(310), 하나 이상의 네트워크 또는 기타 통신 인터페이스(360), 메모리(370), 및 이러한 컴포넌트들을 상호접속하기 위한 하나 이상의 통신 버스(320)를 포함한다. 통신 버스들(320)은 시스템 컴포넌트들을 상호접속하고 이들 간의 통신을 제어하는 회로(때로는 칩셋이라 한다)를 포함할 수 있다. 장치(300)는 통상적으로 터치 스크린 디스플레이인 디스플레이(340)를 포함하는 입출력(I/O) 인터페이스(330)를 포함한다. I/O 인터페이스(330)는 키보드 및/또는 마우스(또는 다른 포인팅 장치)(350) 및 터치패드(355)도 포함할 수 있다. 메모리(370)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 반도체 메모리 장치들과 같은 고속 랜덤 액세스 메모리를 포함하며, 하나 이상의 자기 디스크 저장 장치, 광 디스크 저장 장치, 플래시 메모리 장치 또는 다른 비휘발성 반도체 저장 장치들과 같은 비휘발성 메모리를 포함할 수 있다. 메모리(370)는 옵션으로서 CPU(들)(310)로부터 원격 위치하는 하나 이상의 저장 장치를 포함할 수 있다. 일부 실시예들에서, 메모리(370)는 휴대용 다기능 장치(100)(도 1)의 메모리(102)에 저장된 프로그램들, 모듈들 및 데이터 구조들과 유사한 프로그램들, 모듈들 및 데이터 구조들 또는 이들의 서브세트를 저장한다. 더구나, 메모리(370)는 휴대용 다기능 장치(100)의 메모리(102) 내에 존재하지 않는 추가적인 프로그램들, 모듈들 및 데이터 구조들을 저장할 수 있다. 예를 들어, 장치(300)의 메모리(370)는 제도 모듈(380), 프레젠테이션 모듈(382), 워드 프로세싱 모듈(384), 웹사이트 생성 모듈(386), 디스크 저작 모듈(388) 및/또는 스프레드시트 모듈(390)을 저장할 수 있는 반면, 휴대용 다기능 장치(100)(도 1)의 메모리(102)는 이러한 모듈들을 저장하지 않을 수 있다.3 is a block diagram of an exemplary multifunction device having a display and a touch sensitive surface in accordance with some embodiments. The device 300 need not be portable. In some embodiments, the device 300 may be a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a child's learning toy), a gaming system or a control device to be. Typically, the device 300 includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. . Communication busses 320 may include circuitry (sometimes referred to as a chipset) that interconnects system components and controls communication therebetween. The device 300 includes an input / output (I / O) interface 330 that includes a display 340 that is typically a touch screen display. The I / O interface 330 may also include a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355. The memory 370 includes high speed random access memory, such as DRAM, SRAM, DDR RAM or other random access semiconductor memory devices, and may be coupled to one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non- Non-volatile memory such as devices. The memory 370 may optionally include one or more storage devices remotely located from the CPU (s) In some embodiments, memory 370 includes programs, modules and data structures similar to programs, modules and data structures stored in memory 102 of portable multifunctional device 100 (FIG. 1) ≪ / RTI > Moreover, the memory 370 may store additional programs, modules and data structures that are not present in the memory 102 of the portable multifunction device 100. For example, the memory 370 of the apparatus 300 may include the drafting module 380, the presentation module 382, the word processing module 384, the website generation module 386, the disk authoring module 388, and / or While spreadsheet module 390 may be stored, memory 102 of portable multifunction device 100 (FIG. 1) may not store such modules.

도 3의 전술한 요소들 각각은 전술한 하나 이상의 메모리 장치들에 저장될 수 있다. 전술한 모듈들 각각은 전술한 기능을 수행하기 위한 명령어들의 세트에 대응한다. 전술한 모듈들 또는 프로그램들(즉, 명령어 세트들)은 개별 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요는 없으며, 따라서 다양한 실시예들에서는 이러한 모듈들의 다양한 서브세트들이 결합되거나 재배열될 수 있다. 일부 실시예들에서, 메모리(370)는 전술한 모듈들 및 데이터 구조들의 서브세트를 저장할 수 있다. 더구나, 메모리(370)는 전술한 추가적인 모듈들 및 데이터 구조들을 저장할 수 있다.Each of the foregoing elements of FIG. 3 may be stored in one or more of the memory devices described above. Each of the modules described above corresponds to a set of instructions for performing the functions described above. The above-described modules or programs (ie, instruction sets) need not be implemented as individual software programs, procedures or modules, and accordingly various embodiments of these modules may be combined or rearranged in various embodiments. have. In some embodiments, memory 370 may store a subset of the modules and data structures described above. Furthermore, the memory 370 may store the above described additional modules and data structures.

이하, 휴대용 다기능 장치(100) 상에 구현될 수 있는 사용자 인터페이스(UI)의 실시예에 대하여 설명한다.Hereinafter, an embodiment of a user interface (UI) that can be implemented on the portable multifunctional device 100 will be described.

도 4a 및 4b는 일부 실시예들에 따른 휴대용 다기능 장치(100) 상의 애플리케이션 메뉴를 위한 예시적인 사용자 인터페이스를 도시한다. 유사한 사용자 인터페이스들이 장치(300) 상에 구현될 수 있다. 일부 실시예들에서, 사용자 인터페이스(400A)는 이하의 구성요소, 또는 이들의 서브세트나 수퍼세트를 포함할 수 있다.4A and 4B illustrate an exemplary user interface for an application menu on a portable multifunction device 100 according to some embodiments. Similar user interfaces may be implemented on the device 300. In some embodiments, the user interface 400A may include the following elements, or a subset or superset thereof.

● 셀룰러 신호 및 Wi-Fi 신호 등의 무선 통신을 위한 신호 강도 표시자(402);Signal strength indicator 402 for wireless communication, such as cellular signals and Wi-Fi signals;

● 시간(404);Time 404;

● 블루투스 표시자(405);A Bluetooth indicator 405;

● 배터리 상태 표시자(406);A battery status indicator 406;

● 이하의 애플리케이션들과 같은 자주 사용되는 애플리케이션을 위한 아이콘을 포함한 트레이(408); 및A tray 408 containing icons for frequently used applications, such as the following applications; And

○ 부재중 전화 또는 음성메일 메시지 개수에 대한 표시자(414)를 포함할 수 있는 전화(138),○ a phone 138, which may include an indicator 414 for the number of missed calls or voicemail messages,

○ 읽지 않은 이메일 개수에 대한 표시자(410)를 포함할 수 있는 이메일 클라이언트(140),○ an email client 140 that may include an indicator 410 for the number of unread emails,

○ 브라우저(147), 및browser 147, and

○ 음악 플레이어(146)○ music player (146)

● 이하의 애플리케이션들과 같은 다른 애플리케이션을 위한 아이콘Icons for other applications, such as the following applications:

○ IM(141),○ IM (141),

○ 이미지 관리(144),○ image management (144),

○ 카메라(143),○ camera (143),

○ 비디오 플레이어(145),video player 145,

○ 날씨(149-1),○ weather (149-1),

○ 주식(149-2),○ shares (149-2),

○ 연습 지원(142),○ Practice support (142),

○ 달력(148),○ calendar (148),

○ 계산기(149-3),○ Calculator (149-3),

○ 알람 시계(149-4),○ alarm clock (149-4),

○ 사전(149-5), 및○ dictionary (149-5), and

○ 사용자-생성 위젯(149-6).○ User-generated widget (149-6).

일부 실시예들에서, 사용자 인터페이스(400B)는 이하의 구성요소, 또는 이들의 서브세트나 수퍼세트를 포함할 수 있다.In some embodiments, the user interface 400B may include the following elements, or a subset or superset thereof.

● 상기 언급된 것과 같은 구성요소들(402, 404, 405, 406, 141, 148, 144, 143, 149-3, 149-2, 149-1, 149-4, 410, 414, 138, 140 및 147);[0215] The components 402, 404, 405, 406, 141, 148, 144, 143, 149-3, 149-2, 149-1, 149-4, 410, 414, 138, 140, 147);

● 지도(154);A map 154;

● 노트(153);Notes 153;

● 추후 상세히 설명되는 바와 같이, 장치(100) 및 그것의 다양한 애플리케이션(136)을 위한 설정에 대한 액세스를 제공하는 설정(412);A setting 412 that provides access to the settings for the device 100 and its various applications 136, as described in detail later;

● (애플 컴퓨터사의 상표인) iPod 모듈(152)이라고도 지칭되는 비디오 및 음악 플레이어 모듈(152); 및A video and music player module 152, also referred to as an iPod module 152 (a trademark of Apple Computer, Inc.); And

● (구글사의 상표인) YouTube 모듈(155)이라고도 지칭되는 온라인 비디오 모듈(155).An online video module 155 (also referred to as YouTube module 155) (trademark of Google Inc.).

아래에 제공되는 설명에서, "접촉"이라는 용어는 (연락처 목록, 주소록 등에서의 엔트리를 설명하는 데 사용될 때를 제외하고) "터치 제스처"에 대한 속기 용어로서 사용되며, 따라서 아래에 언급되거나 설명되는 각각의 접촉은 터치 감지 디스플레이 또는 다른 터치 감지 표면의 센서(또는 센서들의 세트)에 의해 검출되는 임의의 적절한 터치 제스처일 수 있다. 더구나, 일부 실시예들에서, "터치 제스처들"은 터치 감지 스크린(112) 또는 다른 터치 감지 표면과 물리적으로 접촉하는 하나 이상의 손가락 또는 하나 이상의 스타일러스에 의해 이루어지는 제스처들만이 아니라, 터치 감지 스크린(112) 또는 다른 터치 감지 표면에 충분히 가까운 곳에서 전체적으로 또는 부분적으로 발생하는 제스처들도 포함하며, 터치 감지 스크린(112) 또는 다른 터치 감지 표면의 하나 이상의 센서들은 그러한 제스처들을 감지할 수 있다.In the description provided below, the term "contact" is used as a shorthand term for "touch gesture" (except when used to describe an entry in a contact list, address book, etc.) and is therefore referred to or described below. Each contact may be any suitable touch gesture detected by a sensor (or set of sensors) on a touch sensitive display or other touch sensitive surface. Furthermore, in some embodiments, the "touch gestures" include not only gestures made by one or more fingers or one or more stylus that physically touch the touch sensitive screen 112 or another touch sensitive surface, ) Or gestures that occur totally or partially near other touch sensitive surfaces, and one or more sensors of the touch sensitive screen 112 or other touch sensitive surface may sense such gestures.

용어 "조건적으로 인에이블된" 버튼은 인에이블될 경우 활성화될 수 있고 디스에이블될 경우 활성화될 수 없는, 소프트 키보드 또는 사용자 인터페이스 상에 표시된 버튼, 키 또는 객체를 의미한다. 용어 "조건적으로 인에이블된 버튼"은 버튼이 인에이블되었는지 디스에이블되었는지가 조건적이기 때문에 "조건적으로 디스에이블된 버튼"과 논리적으로 등가이다. The term "conditionally enabled" button means a button, key or object displayed on a soft keyboard or user interface that can be activated when enabled and cannot be activated when disabled. The term "conditionally enabled button" is logically equivalent to "conditionally disabled button" because it is conditional whether the button is enabled or disabled.

소프트 버튼 또는 객체와 연관된 위치에서 사용자가 개시한 터치 제스처에 응답하여 소프트 버튼 또는 다른 사용자 인터페이스 객체를 활성화하는 것은, 사용자가 개시한 터치 제스처와 연관된 터치다운 이벤트, 리프트오프 이벤트, 또는 임의의 다른 검출가능한 이벤트 시에 발생할 수 있다. 용어 "활성화"는 버튼 또는 버튼과 연관된 기능을 활성화시키는 이벤트를 의미한다. 예를 들어, 소프트 키보드 상의 키의 활성화는, 키에 대응하는 문자를 텍스트 버퍼에 추가하거나, 또는 텍스트 입력 모드를 소문자로부터 대문자로 시프트하는 것, 대체 기호들 또는 기능들을 나타내는 키보드의 하나 이상의 키를 시프트하는 것, 현재의 소프트 키보드를 각각의 대체 키보드로 대체하는 것 등과 같은 키보드 기능을 수행하는 이벤트이다. Activating a soft button or other user interface object in response to a touch gesture initiated by a user at a location associated with the soft button or object may cause a touchdown event, liftoff event, or any other detection associated with the touch gesture initiated by the user. Can occur at possible events. The term "activation" means an event that activates a button or a function associated with a button. For example, activation of a key on a soft keyboard may include adding a character corresponding to the key to a text buffer, or shifting the text input mode from lowercase to uppercase, one or more keys on the keyboard representing alternate symbols or functions. An event that performs keyboard functions, such as shifting, replacing the current soft keyboard with each replacement keyboard, and so on.

이제, 장치(300) 또는 휴대용 다기능 장치(100)와 같은 디스플레이 및 터치 감지 표면을 갖는 다기능 장치 상에서 구현될 수 있는 사용자 인터페이스("UI") 및 연관된 프로세스들의 실시예들로 주의를 돌린다. Attention is now directed to embodiments of a user interface (“UI”) and associated processes that can be implemented on a multifunction device having a display and a touch-sensitive surface, such as device 300 or portable multifunction device 100.

도 5a 내지 도 5i는 일부 실시예들에 따른 버튼들 또는 그 밖의 표시된 객체들을 조건적으로 활성화시키는 예시적인 인터페이스들을 도시한다. 이 도면들에서의 인터페이스들은 도 6a, 도 6b 및 도 7에서의 프로세스들을 포함하는, 이하에 설명되는 프로세스들을 예시하는데 사용된다. 버튼 또는 객체의 활성화는 버튼 또는 객체에 대응하는 동작 또는 기능의 수행을 말하며; 몇몇 경우에서, 수행되는 동작 또는 기능은 활성화되는 버튼 또는 객체의 아이덴티티 및 버튼 또는 객체가 활성화되는 상황 양자 모두에 의존한다. 각각의 버튼 또는 객체의 활성화에 응답하여 수행되는 동작 예들의 불완전 집합은: 기호(활성화된 버튼 또는 객체에 대응함)를 문서 또는 입력 텍스트 필드에 추가하는 것, 표시된 키보드를 현재 표시된 키보드로부터 활성화된 버튼 또는 객체에 대응하는 키보드로 변경하는 것, 실행을 착수 또는 재개하거나 애플리케이션의 디스플레이 또는 활성화된 버튼 또는 객체에 대응하는 기능을 재개하는 것을 포함한다. 후술되는 바와 같이, 몇몇 경우에는, 버튼 또는 객체의 활성화는 주요 기능(예컨대, 글자 또는 기호를 입력 텍스트 필드에 삽입하는 것) 및 보조 기능(예컨대, 사용자 인터페이스에 표시된 하나 이상의 버튼들 또는 객체들의 활성화를 일시적으로 인에이블 또는 디스에이블하거나, 주요 기능에 관련된 기능의 성능을 일시적으로 인에이블 또는 디스에이블하는 것) 둘 모두의 수행을 말한다. 5A-5I illustrate example interfaces for conditionally activating buttons or other displayed objects in accordance with some embodiments. The interfaces in these figures are used to illustrate the processes described below, including the processes in FIGS. 6A, 6B, and 7. Activating a button or object refers to performing an action or function corresponding to the button or object; In some cases, the action or function performed depends on both the identity of the button or object being activated and the circumstances in which the button or object is activated. An incomplete set of examples of actions performed in response to the activation of each button or object include: adding a symbol (corresponding to the active button or object) to the document or input text field, adding the displayed keyboard to the active button from the currently displayed keyboard. Or changing to a keyboard corresponding to the object, initiating or resuming execution, or resuming a function of the display or activated button or object of the application. As described below, in some cases, activation of a button or object may include activation of a primary function (eg, inserting a letter or symbol into an input text field) and auxiliary function (eg, activation of one or more buttons or objects displayed in a user interface. To temporarily enable or disable, or to temporarily enable or disable the performance of a function related to the primary function.

도 5a 내지 도 5i에서, 일부 손가락 접촉 움직임 크기가 설명의 목적으로 과장될 수 있다. 손가락 접촉 움직임들에 관한 도면 베어링(figures bearing)의 설명이 본 명세서에 기재된 방법들 및 장치들과 연관된 크기 및 비율을 이해하기 위한 요구조건 또는 제한사항으로 취해져서는 안 된다. In FIGS. 5A-5I, some finger contact movement magnitudes may be exaggerated for illustrative purposes. The description of figure bearings regarding finger contact movements should not be taken as a requirement or limitation for understanding the size and ratios associated with the methods and apparatuses described herein.

UI(500A)(도 5a)는 장치(100)의 터치 스크린(112) 상의 예시적인 텍스트 입력 사용자 인터페이스(예컨대, 노트 모듈(153), 이메일 클라이언트 모듈(140) 등)를 도시한다. 이러한 예에서, UI(500A)는 텍스트 입력 영역(502) 및 QWERTY 소프트 키보드(504)를 포함한다. 텍스트 입력 영역(502)은 텍스트(506-1)를 갖는 입력 텍스트(506) 및 위치(508-A)에서의 커서(508)를 포함할 수 있다. 일부 실시예들에서, 소프트 키보드(504)는 하나 이상의 언어와 연관된다. 소프트 키보드(504)는 하나 이상의 소프트 버튼(또는 "소프트 키")(510)을 포함한다. 버튼들(510) 중 몇몇은 각각의 글자와 연관된다. 예를 들어, 버튼(510-A)은 글자 "Q"와, 버튼(510-B)은 글자 "W"와, 버튼(510-C)은 글자 "E"와, 버튼(510-E)은 새로운 라인 또는 라인 바꿈 특성(line break character)과 연관된다. 버튼들(510)의 몇몇 다른 것들은 특정 텍스트 입력 기능들 또는 동작들과 연관된다. 예를 들어, 버튼(510-D)은 삭제/백스페이스 동작과, 버튼(510-F)은 (예를 들어, 다른 버튼들(510)의 문자 입력을 변경하기 위한) 시프트 기능과 연관된다. UI 500A (FIG. 5A) shows an exemplary text input user interface (eg, note module 153, email client module 140, etc.) on touch screen 112 of device 100. In this example, the UI 500A includes a text input area 502 and a QWERTY soft keyboard 504. Text input area 502 can include input text 506 with text 506-1 and cursor 508 at location 508-A. In some embodiments, soft keyboard 504 is associated with one or more languages. Soft keyboard 504 includes one or more soft buttons (or “soft keys”) 510. Some of the buttons 510 are associated with each letter. For example, the button 510-A is letter "Q", the button 510-B is letter "W", the button 510-C is letter "E", and the button 510-E is Associated with a new line or line break character. Some others of the buttons 510 are associated with specific text input functions or operations. For example, the button 510 -D is associated with a delete / backspace operation and the button 510 -F is associated with a shift function (eg, to change the text input of other buttons 510).

키보드(504)는 또한 키보드의 동작에 관련된 소프트 버튼들(또는 "소프트 키들")(512)을 포함한다. 예를 들어, 버튼들(512)은 QWERTY 키보드(504)로부터 숫자 및 기호의 키보드로 스위칭하기 위한 버튼(512-A), 키보드(504)로부터 다른 언어와 연관된 키보드로 스위칭하거나 키보드(504)에 대한 상이한 언어로 스위칭하기 위한 버튼(512-B), 및 키보드(504)를 숨기기 위한 버튼(512-C)을 포함한다. 따라서, 본 예에서의 버튼들(512)은 모드 변경 버튼들이며, 이는 표시된 소프트 키보드를 변경하거나 키보드를 디스플레이로부터 제거함으로써, 장치의 동작 모드를 변경한다. The keyboard 504 also includes soft buttons (or “soft keys”) 512 related to the operation of the keyboard. For example, buttons 512 may be used to switch from QWERTY keyboard 504 to a keyboard of numbers and symbols, 512-A, from keyboard 504 to a keyboard associated with another language, or to keyboard 504. Buttons 512-B for switching to different languages for, and buttons 512-C for hiding the keyboard 504. Thus, the buttons 512 in this example are mode change buttons, which change the operating mode of the device by changing the displayed soft keyboard or removing the keyboard from the display.

UI(500H)(도 5h)는 장치(100)의 터치 스크린(112) 상의 (예컨대, 노트 모듈(153), 이메일 클라이언트 모듈(140) 등을 위한) 다른 예시적인 텍스트 입력 사용자 인터페이스를 도시한다. UI(500H)는 텍스트 입력 영역(502)과 숫자 및 기호 소프트 키보드(520)를 포함한다. 텍스트 입력 영역(502)은 텍스트(506-1)를 갖는 입력 텍스트(506) 및 위치(508-A)에서의 커서(508)를 포함할 수 있다. 일부 실시예들에서, 키보드(520)는 하나 이상의 언어와 연관된다. 소프트 키보드(520)는 하나 이상의 소프트 버튼들(또는 "소프트 키들")(522)을 포함한다. 버튼들(522) 중 몇몇은 각각의 숫자 또는 기호들과 연관된다. 예를 들어, 버튼(522-A)은 숫자 "1"과, 버튼(522-B)은 숫자 "2"와, 버튼(522-C)은 물음표("?")와 연관된다. 다른 버튼들(522) 중 몇몇은 특정 텍스트 입력 기능들 또는 동작들과 연관된다. 예를 들어, 버튼들(522-D, 522-E 및 522-F)은 버튼들(510-D, 510-E 및 510-F)과 각각 동일한 기능을 갖는다. 키보드(522)는 또한 버튼들(512-B 및 512-C)뿐만 아니라 알파벳/글자 키보드로 스위칭하기 위한 버튼(512-D)을 포함한다. UI 500H (FIG. 5H) shows another exemplary text input user interface (eg, for note module 153, email client module 140, etc.) on touch screen 112 of device 100. UI 500H includes a text input area 502 and a numeric and symbol soft keyboard 520. Text input area 502 can include input text 506 with text 506-1 and cursor 508 at location 508-A. In some embodiments, keyboard 520 is associated with one or more languages. Soft keyboard 520 includes one or more soft buttons (or “soft keys”) 522. Some of the buttons 522 are associated with respective numbers or symbols. For example, button 522-A is associated with a number "1", button 522-B with a number "2", and button 522-C is associated with a question mark ("?"). Some of the other buttons 522 are associated with specific text input functions or operations. For example, the buttons 522-D, 522-E, and 522-F have the same function as the buttons 510-D, 510-E, and 510-F, respectively. The keyboard 522 also includes buttons 512-B and 512-C as well as buttons 512-D for switching to the alphabet / letter keyboard.

일부 실시예들에서, 버튼들(510 또는 522)은 비조건적으로 인에이블된 버튼들이며, 버튼들(512)은 조건적으로 인에이블된 버튼들이다. 조건적으로 인에이블된 버튼들(512)은 그들의 활성화 시에 특정 조건들을 갖고, 비조건적으로 인에이블된 버튼들(510 또는 522)은 그 조건들을 조건으로 하지 않는다. 또는, 일부 실시예들에서, 버튼들(512)은 특정 조건들 하에서 디스에이블되며, 버튼들(510 또는 522)은 특정 조건들 하에서 디스에이블되지 않는다. 조건적으로 인에이블된 버튼의 일례가 제2 키보드를 활성화시키기 위한 키보드 선택 버튼이다 (예컨대, 숫자 키 및 그 밖의 기호들을 갖는 키보드, 이들 중 적어도 일부는 키보드 선택 버튼을 포함하는 제1 키보드에 의해 표시되지 않는다.) 본 예에서, 키보드 선택 버튼은 임의의 다른 소프트 키보드 버튼들(예컨대, 표시된 소프트 키보드 내의 글자 버튼들 중 임의의 버튼)의 활성화에 응답하여 일시적으로 디스에이블되기 때문에 조건적으로 인에이블되며, 그렇지 않으면, 활성화를 위해 인에이블된다. In some embodiments, buttons 510 or 522 are buttons that are unconditionally enabled and buttons 512 are buttons that are conditionally enabled. Conditionally enabled buttons 512 have certain conditions upon their activation, and unconditionally enabled buttons 510 or 522 do not condition those conditions. Or, in some embodiments, buttons 512 are disabled under certain conditions, and buttons 510 or 522 are not disabled under certain conditions. One example of a conditionally enabled button is a keyboard select button for activating a second keyboard (eg, a keyboard having numeric keys and other symbols, at least some of which are provided by the first keyboard including a keyboard select button). In this example, the keyboard select button is conditionally enabled because it is temporarily disabled in response to the activation of any other soft keyboard buttons (eg, any of the letter buttons in the displayed soft keyboard). Otherwise, it is enabled for activation.

일부 실시예들에서, 각각 조건적으로 인에이블된 버튼(512)의 활성화에 대한 조건은, 각각의 버튼(512)에 대응하는 위치에의 접촉이 키보드(504 또는 520) 상의 또 다른 버튼에 대응하는 위치에의 접촉의 검출로부터 시작하는 미리 정의된 기간 내에 (즉, 미리 정의된 시간량의 타임 윈도우) 검출되는지의 여부이며, 버튼(512)의 활성화는 그 타임 윈도우 동안 디스에이블된다. 일부 실시예들에서, 타임 윈도우는 버튼들(510, 522, 512)을 포함하는 키보드(504 또는 520) 상의 임의의 버튼 상에의 접촉 검출로부터 시작한다. 몇몇 다른 실시예들에서는, 타임 윈도우는 버튼(512) 상이 아니라, 버튼(510 또는 520) 상에의 접촉 검출로부터 시작한다. 후술되는 바와 같이, 타임 윈도우는 미리 정의된 듀레이션을 가지며, 즉, 미리 정의된 시간량동안 지속되며, 그 시간량은 일부 실시예들에서는 고정되고(즉, 불변이고) 다른 실시예들에서는 가변적이거나 상황 의존적이다. In some embodiments, the condition for activation of each conditionally enabled button 512 is such that contact at a location corresponding to each button 512 corresponds to another button on the keyboard 504 or 520. Whether it is detected within a predefined time period (i.e., a time window of a predefined amount of time) starting from the detection of a contact at a location to be made, and activation of button 512 is disabled during that time window. In some embodiments, the time window starts with contact detection on any button on keyboard 504 or 520 that includes buttons 510, 522, 512. In some other embodiments, the time window starts with contact detection on button 510 or 520, but not on button 512. As described below, the time window has a predefined duration, i.e., lasts for a predefined amount of time, which amount is fixed (i.e. invariant) in some embodiments and variable in other embodiments, or It is situation dependent.

UI(500B)(도 5b)는 터치 스크린(112)에의 접촉(514)을 도시한다. 본 예에서, 접촉(514)은 버튼(510-C)의 위치에 대응하며, 버튼(510-C)의 활성화 영역에 역시 대응하는, 터치 스크린(112) 상의 위치(514-A)에 있다. 위치(514-A)에서의 접촉(514)의 검출에 응답하여, 문자 "e"(516)가 입력 텍스트(506)에 삽입되고, 텍스트(506-1)를 텍스트(506-2)로 변경하고, 커서(508)를 위치(508-B)로 전진시킨다. UI 500B (FIG. 5B) shows contact 514 to touch screen 112. In this example, contact 514 is at location 514-A on touch screen 112, which corresponds to the location of button 510-C and also corresponds to the active area of button 510-C. In response to the detection of contact 514 at position 514-A, the letter “e” 516 is inserted into the input text 506 and changes the text 506-1 to the text 506-2. And advance the cursor 508 to position 508-B.

버튼(510-C)의 위치에 대응하는 위치(514-A)에서의 접촉(514)의 검출은 또한, 키보드(504)의 하나 이상의 조건적으로 인에이블된 버튼(예컨대 버튼(512))의 위치들에 대응하는 터치 스크린(112) 상의 위치들에서 검출된 접촉들이 무시되는, 미리 정의된 시간량의 타임 윈도우를 시작하며, 그 버튼들은 그 타임 윈도우 동안 디스에이블된다. 일부 실시예들에서, 예를 들어, 200 밀리초와 500 밀리초 사이의 듀레이션을 갖는, 타임 윈도우의 미리 정의된 듀레이션이 고정되고(즉, 불변이고), 다른 예에서는, 타임 윈도우의 미리 정의된 듀레이션은 150 밀리초와 700 밀리초 사이의 값으로 고정되고, 또 다른 예에서는, 타임 윈도우의 미리 정의된 듀레이션은 300 밀리초와 750 밀리초 사이의 값으로 고정된다. 다른 실시예들에서, 타임 윈도우의 길이는 경험(heuristics), 사용자 히스토리 또는 그 밖의 관련 정황 정보에 의존한다. 일례에서, 장치는 키 스트로크들 사이 또는 단어내 키 스트로크들 사이의 사용자 평균 지연을 측정하고, 그 값과 미리 정의된 평균 키 스트로크 지연 값을 비교하고, 사용자 평균 키 스트로크 지연과 미리 정의된 평균 사이의 차(또는 그 비율)에 따라서 타임 윈도우의 길이를 조정한다. 또 다른 예에서, 한 세트의 애플리케이션(예컨대, 노트 및 이메일 애플리케이션)에 대한 타임 윈도우 길이는 다른 애플리케이션(또는 애플리케이션 세트)(예컨대, 브라우저 애플리케이션)에 대한 것과 상이하다. 키보드 모드 변경들이 일부 실시예들에 따라서 타임 윈도우 동안 억제되기 때문에, 타임 윈도우는 때때로 모드 변경 억제 타임 윈도우라 불린다. Detection of contact 514 at location 514-A corresponding to the location of button 510-C may also be performed by one or more conditionally enabled buttons (eg, button 512) of keyboard 504. Initiates a predefined amount of time window in which detected contacts at locations on the touch screen 112 corresponding to the locations are ignored, and the buttons are disabled during that time window. In some embodiments, a predefined duration of the time window, for example, having a duration between 200 milliseconds and 500 milliseconds, is fixed (ie, invariant), and in another example, a predefined duration of the time window. The duration is fixed at a value between 150 milliseconds and 700 milliseconds, and in another example, the predefined duration of the time window is fixed at a value between 300 milliseconds and 750 milliseconds. In other embodiments, the length of the time window depends on heuristics, user history or other relevant contextual information. In one example, the device measures a user average delay between key strokes or between keystrokes in a word, compares the value with a predefined average key stroke delay value, and between the user average key stroke delay and a predefined average. The length of the time window is adjusted according to the difference (or a ratio thereof). In another example, the time window length for one set of applications (eg, note and email application) is different than for another application (or set of applications) (eg, browser application). Because keyboard mode changes are suppressed during the time window in accordance with some embodiments, the time window is sometimes called the mode change suppression time window.

UI(500C)(도 5c)는 접촉(514)에 바로 후속하는 터치 스크린(112) 상의 접촉(518)을 도시한다. UI(500C)는 접촉(518)이 이루어지고 검출될 수 있는 키보드(504) 상의 (많은 가능한 위치들 중) 3가지 가능한 위치들을 도시한다. 이 예에서, 접촉(518)은 터치 스크린(112) 상의 위치(518-A, 518-B 또는 518-C)에서 검출될 수 있다. 이후의 도면들은 접촉(514)에 후속하여 각각의 위치(518-A, 518-B, 또는 518-C)에서 검출되는 접촉(518)의 결과를 도시한다. UI 500C (FIG. 5C) shows contact 518 on touch screen 112 immediately following contact 514. UI 500C shows three possible locations (among many possible locations) on keyboard 504 where contact 518 can be made and detected. In this example, contact 518 may be detected at location 518 -A, 518 -B, or 518 -C on touch screen 112. The subsequent figures show the results of the contact 518 detected at each position 518 -A, 518 -B, or 518 -C following the contact 514.

UI(500D)(도 5d)는 접촉(514)에 바로 후속하는 터치 스크린(112) 상에의 접촉(518)을 도시한다. 이 예에서, 접촉(518)은 버튼(510-B)의 위치에 대응하고, 또한 버튼(510-B)의 활성화 영역에 대응하는, 터치 스크린(112) 상의 위치(518-A)에 있다. 위치(518-A)에서의 접촉(518)의 검출에 응답하여, 문자 "w"(520)가 입력 텍스트(506)에 삽입되어 텍스트(506-2)를 텍스트(506-3)로 변경하고, 커서(508)는 위치(508-C)로 이동한다. 버튼(510-B)은 접촉(514)으로부터의 타임 윈도우에 영향을 받지 않는 비조건적으로 인에이블된 버튼이며, 문자 삽입 및 커서 이동은 위치(518-A)에서 검출된 접촉(518)이 접촉(514)으로부터의 타임 윈도우 내부에서 발생하는지 외부에서 발생하는지에 따라 발생한다. UI 500D (FIG. 5D) shows contact 518 on touch screen 112 immediately following contact 514. In this example, contact 518 is at location 518-A on touch screen 112, which corresponds to the location of button 510 -B and also corresponds to the active area of button 510 -B. In response to detecting contact 518 at position 518-A, a letter “w” 520 is inserted into input text 506 to change text 506-2 to text 506-3 and Cursor 508 moves to position 508 -C. The button 510 -B is an unconditionally enabled button that is not affected by the time window from the contact 514, and character insertion and cursor movement are detected by the contact 518 detected at position 518-A. It occurs depending on whether it occurs inside or outside the time window from contact 514.

또한, 위치(518-A)에서 접촉(518)을 검출하면 미리 정의된 시간량을 갖는 새로운 타임 윈도우를 시작한다. 사실상, 타임 윈도우는 시프트되거나 아니면 접촉(518)의 검출에서부터 시작하거나 그에 따라 조정되도록 변경된다.In addition, detecting contact 518 at position 518-A starts a new time window with a predefined amount of time. In fact, the time window is shifted or otherwise changed to begin with the detection of contact 518 or adjust accordingly.

UI(500E)(도 5e)는 접촉(514)에 바로 후속하는 터치 스크린(112)에의 접촉(518)을 도시한다. 이 예에서는, 접촉(518)이, 버튼(510-D)의 위치에 대응하고, 버튼(510-D)의 활성화 영역에도 대응하는, 터치 스크린(112) 상의 위치(518-B)에 있다. 위치(518-B)에서 접촉(518)을 검출하는 것에 응답하여, 텍스트(506-2) 내의 문자 "e"(516)가 검출되면, 텍스트(506-2)를 텍스트(506-1)로 되돌리고, 커서(508)는 위치(508-A)로 이동된다. 버튼(510-D)은 접촉(514)에 의해 작동된 타임 윈도우에 의해 영향을 받지 않는 비조건적으로 인에이블된 버튼이며, 위치(518-B)에서 검출된 접촉(518)이 접촉(514)으로부터 타임 윈도우의 내부에서 발생하는지 외부에서 발생하는지에 따라 문자 삭제 및 커서 이동이 발생한다. 또한, 위치(518-B)에서 접촉(518)을 검출하는 것은 새로운 타임 윈도우를 시작한다. 상술된 바와 같이, 타임 윈도우는 미리 정의된 듀레이션을 가지며, 이는 일부 실시예들에서는 고정되며(즉, 불변이며), 다른 실시예들에서는 가변적이거나 상황 의존적이다. UI 500E (FIG. 5E) shows contact 518 on touch screen 112 immediately following contact 514. In this example, contact 518 is at position 518 -B on touch screen 112, which corresponds to the position of button 510 -D and also corresponds to the activation area of button 510 -D. In response to detecting contact 518 at position 518-B, if the letter “e” 516 in text 506-2 is detected, text 506-2 is replaced with text 506-1. Returning, the cursor 508 is moved to the position 508 -A. The button 510-D is a conditionally enabled button that is not affected by the time window actuated by the contact 514, and the contact 518 detected at the location 518-B is the contact 514. ), Character deletion and cursor movement occur depending on whether it occurs inside or outside the time window. In addition, detecting contact 518 at position 518 -B starts a new time window. As mentioned above, the time window has a predefined duration, which is fixed (ie invariant) in some embodiments, and variable or situation dependent in other embodiments.

UI(500F)(도 5f)는 접촉(514)에 바로 후속하는 터치 스크린(112)에의 접촉(518)을 도시한다. 이 예에서는, 접촉(518)이, 버튼(512-C)의 위치에 대응하고, 버튼(512-C)의 활성화 영역에도 대응하는, 터치 스크린(112) 상의 위치(518-C)에 있다. 버튼(512-C)은 접촉(514)으로부터의 타임 윈도우에 의해 영향을 받는 조건적으로 인에이블된 버튼이다. 접촉(518)이 언제 이루어졌는지(그에 의해, 접촉(518)이 언제 검출되었는지)에 따라서, 위치(518-C)에서 접촉(518)을 검출하는 것에 응답하여 키보드(504)가 숨겨지거나 아무것도 발생하지 않는다. 접촉(518)이 타임 윈도우 내의 시간에 위치(518-C)에서 검출되면, 키보드(504)는 숨겨지지 않고, UI(500F)가 계속해서 표시되며, 접촉(518)은 무시된다. 접촉(518)이 타임 윈도우 후의 시간에 위치(518-C)에서 검출되면, UI(500G)(도 5g)에 도시된 바와 같이 키보드(504)가 숨겨진다. UI 500F (FIG. 5F) shows contact 518 to touch screen 112 immediately following contact 514. In this example, contact 518 is at position 518 -C on touch screen 112, which corresponds to the position of button 512 -C and also corresponds to the activation area of button 512 -C. Button 512-C is a conditionally enabled button that is affected by the time window from contact 514. Depending on when the contact 518 was made (by which time the contact 518 was detected), the keyboard 504 is hidden or nothing occurs in response to detecting the contact 518 at position 518-C. I never do that. If contact 518 is detected at location 518-C at a time in the time window, keyboard 504 is not hidden, UI 500F continues to be displayed, and contact 518 is ignored. If contact 518 is detected at location 518-C at a time after the time window, keyboard 504 is hidden as shown in UI 500G (FIG. 5G).

타임라인(550)(비율에 맞게 도시되지 않음)(도 5i)은 상술된 접촉들이 검출될 수 있는 시간을 나타내며, 검출된 접촉에 의해 시작된 타임 윈도우를 도시한다. 타임 라인(550)은 접촉이 검출된 시간(552), 및 그에 후속하는 접촉들이 검출될 수 있는 시간(554, 556 및 558)을 나타낸다 (예를 들어, 시간(552)의 타임 윈도우 길이 내의 시간(552) 전에 어떠한 접촉도 검출되지 않았다고 가정한다). 버튼(510 또는 522)(또는 다른 실시예들에서, 버튼(512)을 포함하는 소프트 키보드(504 또는 522) 상의 임의의 버튼)에 대응하는 위치에서 시간(552)에 검출된 접촉(예컨대, 위치(514-A)에서의 접촉(514))이 시간(552)부터 시작하는 듀레이션인 타임 윈도우(560-A)를 시작한다. 시간(552)에 검출된 접촉의 위치에 대응하는 버튼은 활성화된다. 시간(554)에 접촉이 검출되고, 그 접촉(예컨대, 버튼(510-C)에 대응하는 위치(514-A)에서의 접촉(514))이 버튼(510 또는 522)에 대응하는 위치에 있으면, 대응하는 버튼은 활성화되고(예컨대, 버튼(510-C)이 활성화되고), 버튼(510 또는 520)의 활성화는 타임 윈도우들에 영향을 받지 않는다. 접촉이 시간(554)에 검출되고, 그 접촉(예컨대, 버튼(512-C)에 대응하는 위치(518-C)에서의 접촉(518))이 조건적으로 인에이블된 버튼에 대응하는 위치에 있으면, 그 대응하는 버튼의 활성화가 방지되고(예컨대, 버튼(512-C)의 활성화가 방지되고), 조건적으로 인에이블된 버튼은 타임 윈도우(560-A) 동안 디스에이블된다. 다른 한편, 시간(552)과 시간(558) 사이에 어떠한 개입하는 접촉이 검출되지 않고도 조건적으로 인에이블된 버튼에 대응하는 위치에서의 접촉이 타임 윈도우(560-A) 외부의 시간(558)에 검출되면, 대응하는 조건적으로 인에이블된 버튼이 활성화된다. Timeline 550 (not shown to scale) (FIG. 5I) represents the time at which the above-described contacts can be detected and shows the time window initiated by the detected contact. Timeline 550 represents time 552 when a contact was detected, and times 554, 556, and 558 at which subsequent contacts can be detected (eg, a time within a time window length of time 552). Assume no contact was detected before 552). A detected contact (eg, location) at time 552 at a location corresponding to button 510 or 522 (or in other embodiments, any button on soft keyboard 504 or 522 that includes button 512). Contact 514 at 514-A starts a time window 560-A which is a duration starting from time 552. The button corresponding to the location of the contact detected at time 552 is activated. If a contact is detected at time 554 and the contact (eg, contact 514 at location 514-A corresponding to button 510 -C) is at a location corresponding to button 510 or 522. The corresponding button is activated (eg, button 510 -C is activated), and activation of button 510 or 520 is not affected by the time windows. A contact is detected at time 554 and the contact (e.g., contact 518 at location 518-C corresponding to button 512-C) is located at a location corresponding to the conditionally enabled button. If so, activation of the corresponding button is prevented (eg, activation of the button 512-C), and the conditionally enabled button is disabled during the time window 560 -A. On the other hand, the contact at the location corresponding to the conditionally enabled button without time intervening contact between time 552 and time 558 is detected outside time 558-A. When detected, the corresponding conditionally enabled button is activated.

상술된 시간(552)에 검출된 접촉에 바로 후속하는 시간(554)에 검출된 버튼(510 또는 522) 상의 접촉이 타임 윈도우(560-A)와 동일한 길이를 가질 수 있는 타임 윈도우(560-B)를 시작한다. 시간(554)에 검출된 접촉에 바로 후속하는 접촉이 조건적으로 인에이블된 버튼에 대응하는 위치에서의 접촉이고, 그 접촉이 시간(556)에서 검출되면, 조건적으로 인에이블된 버튼의 활성화는 방지된다. 시간(556)이 타임 윈도우(560-A) 외부에 있어도, 시간(556)이 타임 윈도우(560-B) 내부에 있기 때문에 활성화가 방지된다. 시간(558)에 접촉이 대신 검출되면, 대응하는 조건적으로 인에이블된 버튼은 시간(558)이 타임 윈도우(560-A 및 560-B)의 외부에 있기 때문에 활성화된다. The time window 560 -B in which the contact on the button 510 or 522 detected at time 554 immediately following the contact detected at time 552 described above can have the same length as the time window 560 -A. Start). If the contact immediately following the contact detected at time 554 is a contact at a position corresponding to the conditionally enabled button, and if the contact is detected at time 556, the activation of the conditionally enabled button is enabled. Is prevented. Even if time 556 is outside time window 560-A, activation is prevented because time 556 is inside time window 560-B. If a contact is instead detected at time 558, the corresponding conditionally enabled button is activated because time 558 is outside of time windows 560-A and 560-B.

도 6a 및 도 6b는 일부 실시예들에 따라 버튼들을 활성화시키는 방법(600)을 도시하는 흐름도이다. 방법(600)은 디스플레이 및 터치 감지 표면을 갖는 다기능 장치(예를 들어, 도 3의 장치(300) 또는 도 1의 휴대용 다기능 장치(100)에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 감지 디스플레이이고, 터치 감지 표면은 디스플레이 상에 있다.6A and 6B are flow diagrams illustrating a method 600 of activating buttons in accordance with some embodiments. The method 600 is performed on a multifunction device having a display and a touch sensitive surface (eg, the device 300 of Figure 3 or the portable multifunction device 100 of Figure 1. In some embodiments, the display is touch sensitive). And a touch sensitive surface is on the display.

이하에서 기술되는 바와 같이, 방법(600)은 사용자의 인식 부담을 감소시키는, 버튼들을 활성화시키는 직관적인 방법을 제공하여, 좀더 효율적인 인간-머신 인터페이스를 생성한다. 배터리 동작 컴퓨팅 장치에 있어서, 모드 변경 벼튼들 또는 다른 조건적으로 인에이블된 버튼들의 부적절한 활성화를 방지하면서 사용자가 버튼들을 좀더 빠르고 좀더 효율적으로 활성화시킬 수 있게 하는 것은 전력을 아껴 쓰게 하고, 배터리 충전 간의 시간을 증가시킨다.As described below, the method 600 provides an intuitive method of activating buttons that reduces the user's perceived burden, creating a more efficient human-machine interface. What is claimed is: 1. A battery-operated computing device comprising: means for enabling a user to activate buttons more quickly and more efficiently while preventing improper activation of mode change lanes or other conditionally enabled buttons, Increase the time.

장치는 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시한다(602). 예를 들어, 도 5a에서, 키보드(504)는 터치 스크린(112) 상에 표시된다. 키보드(504)는 비조건적으로 인에이블된 버튼들(510) 및 버튼들(512)을 포함하고, 버튼들(512) 중 하나 이상(예를 들어, 버튼(512-C))이 조건적으로 인에이블된 버튼들이다. 다른 예로서, 도 5h에서, 키보드(520)는 터치 스크린(112) 상에 표시된다. 키보드(520)는 비조건적으로 인에이블된 버튼들(522) 및 버튼들(512)을 포함하고, 버튼들(512) 중 하나 이상은 조건적으로 인에이블된 버튼들이다.The device displays 602 a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons. For example, in FIG. 5A, keyboard 504 is displayed on touch screen 112. The keyboard 504 includes buttons 510 and buttons 512 that are unconditionally enabled, and one or more of the buttons 512 (eg, buttons 512 -C) are conditional. These buttons are enabled. As another example, in FIG. 5H, keyboard 520 is displayed on touch screen 112. The keyboard 520 includes buttons 522 and buttons 512 that are unconditionally enabled, and one or more of the buttons 512 are buttons that are conditionally enabled.

일부 실시예들에서, 하나 이상의 조건적으로 인에이블된 버튼들은 키보드를 숨기는 버튼(예를 들어, 버튼(512-C))(620); 소프트 키보드와 연관된 언어를 변경하는 버튼(예를 들어, 버튼(512-B))(622); 소프트 키보드는 제1 언어와 연관되고, 제2 언어와 연관된 소프트 키보드로 스위칭하는 버튼(예를 들어, 버튼(512-B))(624); 알파벳 키보드로부터 숫자 및 기호 키보드로 스위칭하는 버튼(예를 들어, 버튼(512-A))(626); 및 숫자 및 기호 키보드로부터 알파벳 키보드로 스위칭하는 버튼(예를 들어, 버튼(512-D))(628) 중 하나 이상을 포함한다.In some embodiments, one or more conditionally enabled buttons include a button (eg, button 512 -C) 620 that hides the keyboard; A button 622 for changing a language associated with the soft keyboard (eg, button 512 -B) 622; The soft keyboard is associated with the first language and has a button 624 for switching to a soft keyboard associated with the second language (eg, button 512 -B) 624; A button 626 for switching from an alphabetic keyboard to a numeric and symbolic keyboard (eg, button 512 -A) 626; And buttons (eg, buttons 512 -D) 628 for switching from numeric and symbol keyboards to alphabetic keyboards.

장치는 제1 버튼에 의한 제1 입력을 제1 시간에 검출한다(604). 예를 들어, 도 5b에서, 접촉(514)(제1 입력)은 버튼(510-C)에 대응하는 위치(514-A)에서 시간(552)(도 5i)에 검출된다.The device detects (604) a first input by the first button at a first time. For example, in FIG. 5B, contact 514 (first input) is detected at time 552 (FIG. 5I) at location 514-A corresponding to button 510 -C.

장치는 제1 버튼을 활성화시킴으로써 제1 입력을 검출하는 것에 응답한다(606). 예를 들어, 도 5b에서, 장치는 버튼(510-C)을 활성화시킴으로써 위치(514-A)에서의 접촉(514)의 검출에 응답한다. 활성화의 효과는 문자 "e"(516)가 입력 텍스트(506)에 삽입되는 것 및 커서(508)가 위치(508-B)로 움직이는 것을 포함한다.The device responds (606) to detecting the first input by activating the first button. For example, in FIG. 5B, the device responds to detection of contact 514 at location 514-A by activating button 510 -C. The effects of activation include the insertion of the letter "e" 516 into the input text 506 and the movement of the cursor 508 to the location 508 -B.

제1 버튼의 활성화시에 검출하고 동작한 후에, 장치는 제2 버튼에 의한 제2 입력을 제2 시간에 검출한다(608). 예를 들어, 도 5c에서, 장치는 시간(552) 후의 제2 시간(도 5i의 시간(554 또는 556))에서 접촉(518)을 검출한다. 제2 시간에서의 접촉(518)이 검출되는 위치에 따라 (예를 들어, 어느 버튼이 접촉(518))에 의해 선택되는지에 따라) 또한 제2 시간이 종래의 버튼 활성화에 의해 시작된 타임 위도우 내에 있는지 여부에 따라 상이한 효과들이 발생할 수 있다.After detecting and operating upon activation of the first button, the device detects (608) a second input by the second button at a second time. For example, in FIG. 5C, the device detects contact 518 at a second time after time 552 (time 554 or 556 of FIG. 5I). Depending on where the contact 518 is detected at the second time (e.g., which button is selected by the contact 518) and also the second time is within the time window initiated by the conventional button activation. Different effects may occur depending on whether there is.

제2 버튼에 의한 제2 입력을 제2 시간에서 검출하는 것에 응답하여(610), 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 비조건적으로 인에이블된 버튼일 때, 장치는 제2 버튼을 활성화한다(612). 예를 들어, 도 5d에서, 접촉(518)은 비조건적으로 인에이블된 버튼(510-B)에 대응하는 위치(518-A)에서 검출된다. 버튼(510-B)이 활성화되고, 활성화의 효과들은 문자 "w"(520)가 입력 텍스트(506)에 삽입되는 것 및 커서(508)가 위치(508-C)로 움직이는 것을 포함한다. 다른 예로서, 도 5e에서, 접촉(518)은 대신에 비조건적으로 인에이블된 버튼(510-D)에 대응하는 위치(518-B)에서 검출된다. 버튼(510-D)이 활성화되고, 활성화의 효과들은 문자 "e"(516)가 입력 텍스트(506)로부터 삭제되는 것 및 커서(508)가 위치(508-A)로 움직이는 것을 포함한다.In response to detecting the second input by the second button at a second time (610), when the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, The device activates 612 the second button. For example, in FIG. 5D, contact 518 is detected at a location 518-A corresponding to an unconditionally enabled button 510-B. The button 510-B is activated, and the effects of the activation include the insertion of the letter "w" 520 into the input text 506 and the movement of the cursor 508 to the location 508 -C. As another example, in FIG. 5E, contact 518 is instead detected at a location 518-B corresponding to an unconditionally enabled button 510 -D. The button 510-D is activated, and the effects of the activation include the letter "e" 516 being deleted from the input text 506 and the cursor 508 moving to position 508 -A.

제2 버튼에 의한 제2 입력을 제2 시간에서 검출하는 것에 응답하여(610), 제1 버튼이 비조건적으로 인에이블된 버튼이고 제2 버튼이 조건적으로 인에이블된 버튼일 때(614), 제2 버튼이 활성화될지 여부는 접촉(514)이 검출되는 제1 시간과 접촉(518)이 검출되는 제2 시간 사이의 기간에 따른다. 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치(일부 실시예들에서는 고정된 값이고, 다른 실시예들에서는 변수 또는 상황 종속 값(context-dependent value)임)보다 큰 경우, 장치는 제2 버튼을 활성화한다(616). 제1 시간과 제2 시간 사이의 기간이 미리 정의된 임계치와 같거나 그보다 작은 경우(즉, 제2 접촉이 모드 변경 억제 타임 윈도우 내에서 발생하는 경우), 장치는 제2 버튼이 활성화되는 것을 방지한다(618).In response to detecting a second input by a second button at a second time (610), when the first button is an unconditionally enabled button and the second button is a conditionally enabled button (614) Whether the second button is activated depends on the period between the first time that the contact 514 is detected and the second time that the contact 518 is detected. If the period between the first time and the second time is greater than a predefined threshold (which in some embodiments is a fixed value, in other embodiments a variable or context-dependent value), the apparatus Activate the second button (616). If the period between the first time and the second time is less than or equal to the predefined threshold (ie, when the second contact occurs within the mode change suppression time window), the device prevents the second button from being activated. (618).

예를 들어, 도 5f에서, 접촉(518)은 조건적으로 인에이블된 버튼(512-C)에 대응하는 위치(518-C)에서 검출된다. 접촉(518)이 시간(556)에서 검출되면, 버튼(512-C)이 접촉(518)의 검출에 응답하여 활성화되는데, 왜냐하면 시간(552)과 시간(556) 사이의 기간이 임계치(타임 윈도우(560-A)의 길이)보다 크고, 시간(556)이 타임 윈도우(560-A) 바깥에 있기 때문이다. 활성화의 효과들은 예를 들어, 도 5g에 도시된 것과 같이 키보드(504)를 숨기는 것을 포함한다. 접촉(518)이 시간(554)에서 검출되는 경우, 버튼(512-C)이 접촉(518)의 검출에 응답하여 활성화되는 것이 방지되는데, 왜냐하면 시간(552)과 시간(554) 사이의 기간이 임계치와 같거나 그보다 작고, 시간(554)이 타임 윈도우(560-A) 상에 또는 그 안에 있기 때문이다. 이 경우, 키보드(504)는 숨겨지지 않고, UI(500F)는 계속해서 표시된다.For example, in FIG. 5F, contact 518 is detected at location 518-C corresponding to conditionally enabled button 512-C. If contact 518 is detected at time 556, button 512-C is activated in response to detection of contact 518, since the period between time 552 and time 556 is a threshold (time window). (560-A), and time 556 is outside the time window 560-A. The effects of activation include hiding the keyboard 504, for example, as shown in FIG. 5G. When contact 518 is detected at time 554, the button 512-C is prevented from being activated in response to the detection of contact 518, because a period between time 552 and time 554 This is because the time 554 is on or within the time window 560 -A, which is less than or equal to the threshold. In this case, the keyboard 504 is not hidden and the UI 500F is displayed continuously.

방법(600)의 일부 동작들은 결합될 수 있고/거나 일부 동작들의 순서가 변경될 수 있다. 도 6a 및 도 6b의 상기 논의 (및 도 7의 이하 논의)는 "버튼들" 및 "소프트 키보드들"이란 용어들을 사용하지만, 방법들(600 및 700)의 다른 실시예들은 비키보드(non-keyboard) 아이콘들과 같은 버튼들 이외의 객체들의 사용자 개시 활성화들에 적용가능하다. 또한, 방법(600)은 어떤 버튼들의 할성화를 조건적으로 및 일시적으로 디스에이블하는 것(조건적 비활성화라고도 불림)을 개시하지만, 방법(600)의 다른 실시예들은 다양한 버튼들 또는 장치에 의해 실행되는 애플리케이션의 사용자 인터페이스 또는 장치의 사용자 인터페이스의 다른 객체들에 조건적으로 및 일시적으로 적용가능하다(조건적 활성화라고도 불릴 수 있음). 예를 들어, 동작들(616 및 618)의 역할들이 뒤바뀌는 방법(600)의 실시예들에서, 방법은 다른 버튼 또는 객체의 활성화에 응답하여 버튼들의 특정 세트(예를 들어, 키보드 버튼들 또는 비키보드 버튼들) 또는 객체들을 일시적으로 및 조건적으로 인에이블한다.Some operations of method 600 may be combined and / or the order of some operations may be changed. While the above discussion of FIG. 6A and FIG. 6B (and the discussion below in FIG. 7) use the terms “buttons” and “soft keyboards”, other embodiments of methods 600 and 700 are non-keyboard (non- keyboard) is applicable to user-initiated activations of objects other than buttons such as icons. In addition, the method 600 discloses conditionally and temporarily disabling activation of certain buttons (also called conditional deactivation), although other embodiments of the method 600 may be modified by various buttons or apparatus. Conditionally and temporarily applicable to the user interface of the running application or other objects of the user interface of the device (also called conditional activation). For example, in embodiments of the method 600 in which the roles of operations 616 and 618 are reversed, the method may include a particular set of buttons (eg, keyboard buttons or non-response in response to activation of another button or object). Keyboard buttons) or objects temporarily and conditionally.

도 7은 일부 실시예들에 따라 버튼들을 활성화하는 방법(700)을 예시하는 흐름도이다. 방법(700)은 디스플레이 및 터치 감지 표면을 갖는 다기능 장치(예를 들어, 도 3의 장치(300) 또는 도 1의 휴대용 다기능 장치(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감지 표면은 디스플레이 상에 있다.7 is a flow diagram illustrating a method 700 of activating buttons in accordance with some embodiments. The method 700 is performed in a multifunctional device having a display and a touch sensitive surface (e.g., the device 300 of FIG. 3 or the portable multifunctional device 100 of FIG. 1). In some embodiments, the display is a touch screen display and the touch sensitive surface is on the display.

이하에서 기술되는 바와 같이, 방법(700)은 버튼들을 활성화하는 직관적인 방식을 제공한다. 방법은 버튼들을 활성화시킬 때 사용자의 인식 부담을 줄이고, 이에 의해 보다 효율적인 인간-머신 인터페이스를 생성한다. 배터리 동작 컴퓨팅 장치들에 있어서, 사용자가 버튼들을 더 빠르고 더 효율적으로 활성화하는 것을 가능화하는 것은 전력을 보존하고, 배터리 충전들 사이의 시간을 증가시킨다.As described below, the method 700 provides an intuitive way to activate the buttons. The method reduces the user's recognition burden when activating the buttons, thereby creating a more efficient human-machine interface. In battery operated computing devices, enabling a user to activate buttons faster and more efficiently conserves power and increases the time between battery charges.

장치는 복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시한다(702). 예를 들어, 도 5a에서, 키보드(504)는 터치 스크린(112) 상에 표시된다. 키보드(504)는 버튼들(510) 및 버튼들(512)을 포함하고, 버튼들(512) 중 하나 이상(예를 들어, 버튼(512-C))은 조건적으로 인에이블된다. 다른 예로서, 도 5h에서, 키보드(520)는 터치 스크린(112) 상에 표시된다. 키보드(520)는 비조건적으로 인에이블된 버튼들(522) 및 버튼들(512)을 포함하며, 버튼들(512) 중 하나 이상은 조건적으로 인에이블된 버튼들이다.The device displays 702 a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons. For example, in FIG. 5A, keyboard 504 is displayed on touch screen 112. The keyboard 504 includes buttons 510 and buttons 512, and one or more of the buttons 512 (eg, buttons 512 -C) are conditionally enabled. As another example, in FIG. 5H, keyboard 520 is displayed on touch screen 112. The keyboard 520 includes buttons 522 and buttons 512 that are unconditionally enabled, and one or more of the buttons 512 are buttons that are conditionally enabled.

장치는 각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출한다(704). 예를 들어, 도 5b에서, 접촉(514)(제1 입력)은 비조건적으로 인에이블된 버튼(510-C)에 대응하는 위치(514-A)에서 시간(552)에 검출된다.The device detects 704 a first input by each unconditionally enabled button at a first time. For example, in FIG. 5B, contact 514 (first input) is detected at time 552 at location 514-A corresponding to unconditionally enabled button 510-C.

제1 입력을 제1 시간에 검출하는 것에 응답하여(706), 장치는 각각 비조건적으로 인에이블된 버튼을 활성화시키고(708), 조건적으로 인에이블된 버튼들 중 적어도 하나를 제1 시간부터 시작하는 미리 정의된 기간 동안 디스에이블시킨다(710). 예를 들어, 도 5b에서, 장치는 버튼(510-C)을 활성화시킴으로써 시간(552)에 위치(514-A)에서의 접촉(514)의 검출에 응답한다. 활성화의 효과는 문자 "e"(516)가 입력 텍스트(506)에 삽입되는 것 및 커서(508)가 위치(508-B)로 움직이는 것을 포함한다. 또한, 접촉(514)의 검출에 응답하여, 버튼(512-C)은 시간(552)부터 시작하는 타임 윈도우(560-A) 동안 디스에이블된다.In response to detecting the first input at a first time (706), the apparatus activates each of the unconditionally enabled buttons (708) and releases at least one of the conditionally enabled buttons at the first time. Disable for a predefined period starting at 710. For example, in FIG. 5B, the device responds to detection of contact 514 at location 514-A at time 552 by activating button 510-C. The effects of activation include the insertion of the letter "e" 516 into the input text 506 and the movement of the cursor 508 to the location 508 -B. In addition, in response to the detection of contact 514, button 512-C is disabled for time window 560-A starting at time 552.

장치는 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하고, 상기 제2 입력은 미리 정의된 기간 내에 있는 제2 시간에 검출된다(712). 예를 들어, 도 5f에서, 접촉(518)은 시간(552)에서의 접촉(514)의 검출에 응답하여 디스에이블되는 버튼(512-C)에 대응하는 위치(518-C)에서 타임 윈도우(560-A) 내에 있는 시간(554)에 검출된다.The device detects a second input by the disabled, conditionally enabled button in response to the first input, the second input being detected 712 at a second time that is within a predefined period. For example, in FIG. 5F, the contact 518 is located at the time window (at position 518-C) corresponding to the button 512-C disabled in response to the detection of the contact 514 at time 552. It is detected at time 554 within 560 -A.

제2 입력을 제2 시간에 검출하는 것에 응답하여, 장치는 제2 입력을 무시한다(disregard)(714). 예를 들어, 키보드(504)는 위치(518-C)에서의 접촉(518)에도 불구하고 숨겨지지 않고(즉, UI(500F)는 계속해서 표시됨), 위치(518-C)에서의 접촉(518)이 무시된다.In response to detecting the second input at a second time, the device disregards 714 the second input. For example, the keyboard 504 is not hidden despite the contact 518 at position 518-C (ie, UI 500F continues to be displayed) and the contact at position 518-C ( 518) is ignored.

다른 실시예들에서, 조건적으로 인에이블된 버튼들을 구현하기 위한 전술한 방법들 및 기기는 조건적으로 인에이블되거나 조건적으로 디스에이블되는 키들, 버튼 또는 소프트 키보드들 이외의 사용자 인터페이스들 내의 다른 객체들을 구현하는 데에 사용될 수 있다In other embodiments, the aforementioned methods and apparatus for implementing conditionally enabled buttons may be implemented in other user interfaces other than keys, buttons, or soft keyboards that are conditionally enabled or conditionally disabled. Can be used to implement objects

전술한 정보 처리 방법들에서의 동작들은 범용 프로세서들 또는 애플리케이션 특정 칩들과 같은 정보 처리 기기의 하나 이상의 기능 모듈을 실행함으로써 구현될 수 있다. 이들 모듈들, 이들 모듈들의 결합들, 및 이들의 일반 하드웨어와의 결합(예를 들어, 도 1a, 도 1b 및 도 3에 관하여 위에서 설명됨)은 본 발명의 보호 범주 내에 전부 포함된다.Operations in the information processing methods described above may be implemented by executing one or more functional modules of the information processing device, such as general purpose processors or application specific chips. These modules, combinations of these modules, and their combination with general hardware (as described above with respect to Figures 1A, 1B, and 3, for example) are all within the protection scope of the present invention.

도 6a, 도 6b 및 도 7에서 도시된 동작들은 도 1a 내지 도 1c에 도시된 컴포넌트들에 의해 구현될 수 있다. 예를 들어, "제1 버튼에 의한 제1 입력을 제1 시간에 검출한다"(604)는 이벤트 분류기(170), 이벤트 인식기(180) 및 이벤트 핸들러(190)에 의해 구현될 수 있다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감지 디스플레이(112) 상의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 애플리케이션(136-1)에 이벤트 정보를 전송한다. 이 경우, 애플리케이션(136-1)은 소프트 키보드 및 텍스트 디스플레이 영역을 조작하는 방법들 및 그래픽 사용자 인터페이스들을 포함한다. 애플리케이션(136-1)의 각각의 이벤트 인식기(180)는 이벤트 정보를 각각의 이벤트 정의들(186)과 비교하고, 터치 감지 표면 상의 제1 위치에서의 제1 접촉이 소프트 키보드의 키 또는 특정 버튼의 선택과 같은 미리 정의된 이벤트 또는 서브이벤트에 대응하는지를 결정한다. 미리 정의된 이벤트 또는 서브이벤트가 검출되면, 이벤트 인식기(180)는 제1 접촉의 검출과 연관된 이벤트 핸들러(180)를 활성화시킨다. 이벤트 핸들러(180)는 데이터 갱신기(176) 또는 객체 갱신기(177)를 사용하거나 호출하여 데이터 또는 텍스트 디스플레이 영역을 갱신한다. 마찬가지로, 도 1a 내지 도 1c에 도시된 컴포넌트들에 기초하여 다른 프로세스들이 어떻게 구현되는지가 당업자에게 명백할 것이다.The operations shown in FIGS. 6A, 6B and 7 may be implemented by the components shown in FIGS. 1A-1C. For example, “detecting a first input by a first button at a first time” 604 may be implemented by event classifier 170, event recognizer 180, and event handler 190. The event monitor 171 in the event classifier 170 detects a contact on the touch sensitive display 112, and the event dispatcher module 174 sends event information to the application 136-1. In this case, application 136-1 includes methods for manipulating a soft keyboard and text display area and graphical user interfaces. Each event recognizer 180 of the application 136-1 compares the event information with the respective event definitions 186, and the first contact at a first location on the touch sensitive surface is a key or specific button on the soft keyboard. Determine whether it corresponds to a predefined event or subevent, such as the selection of. If a predefined event or subevent is detected, the event recognizer 180 activates the event handler 180 associated with the detection of the first contact. Event handler 180 uses or invokes data updater 176 or object updater 177 to update the data or text display area. Likewise, it will be apparent to those skilled in the art how other processes are implemented based on the components shown in FIGS. 1A-1C.

상기의 설명은 설명을 위하여 특정 실시예들을 참조하여 기술되었다. 그러나, 위의 예시적인 논의들은 본 발명을 개시된 정확한 형태들로 한정하거나 완전한 것으로 하기 위한 것은 아니다. 위의 교시들의 관점에서 많은 수정들 및 변형들이 가능하다. 실시예들은 본 발명의 원리들 및 그 실용적인 응용들을 가장 잘 설명하기 위하여 선택되고 개시되었으며, 이에 의해 당업자가 본 발명 및 고려되는 특정 사용에 적합한 다양한 변형들을 갖는 다양한 실시예들을 가장 잘 사용할 수 있게 한다.The foregoing description has been described with reference to specific embodiments for purposes of explanation. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments have been selected and described in order to best explain the principles of the present invention and their practical applications, thereby enabling those skilled in the art to best utilize various embodiments having various modifications suitable for the present invention and the particular use contemplated. .

Claims (22)

다기능 장치로서,
터치 스크린 디스플레이;
하나 이상의 프로세서;
메모리; 및
하나 이상의 프로그램
을 포함하며,
상기 하나 이상의 프로그램은 상기 메모리에 저장되며, 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램은:
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하고,
제1 버튼에 의한 제1 입력을 제1 시간에 검출하고,
상기 제1 버튼을 활성화시킴으로써 상기 제1 입력을 검출하는 것에 응답하고,
제2 버튼에 의한 제2 입력을 제2 시간에 검출하고,
상기 제2 버튼에 의한 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하여,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 상기 제2 버튼을 활성화시키고,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는,
상기 제1 시간과 상기 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 상기 제2 버튼을 활성화시키고,
상기 제1 시간과 상기 제2 시간 사이의 기간이 상기 미리 정의된 임계치와 같거나 그보다 작으면, 상기 제2 버튼이 활성화되는 것을 방지하는
명령어들을 포함하는, 다기능 장치.
As a multifunction device,
Touch screen display;
One or more processors;
Memory; And
One or more programs
/ RTI >
The one or more programs are stored in the memory and are configured to be executed by the one or more processors, wherein the one or more programs are:
Display a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons,
Detect a first input by a first button at a first time,
In response to detecting the first input by activating the first button,
Detect a second input by a second button at a second time,
In response to detecting the second input by the second button at the second time,
When the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the second button is activated.
If the first button is an unconditionally enabled button and the second button is a conditionally enabled button,
If the period between the first time and the second time is greater than a predefined threshold, activate the second button,
Preventing the second button from being activated if the period between the first time and the second time is less than or equal to the predefined threshold.
A multifunction device comprising instructions.
제1항에 있어서,
상기 하나 이상의 조건적으로 인에이블된 버튼은 상기 소프트 키보드를 숨기는 버튼을 포함하는, 다기능 장치.
The method of claim 1,
And the at least one conditionally enabled button comprises a button to hide the soft keyboard.
제1항에 있어서,
상기 하나 이상의 조건적으로 인에이블된 버튼은 상기 소프트 키보드와 연관된 언어를 변경하는 버튼을 포함하는, 다기능 장치.
The method of claim 1,
And the at least one conditionally enabled button comprises a button for changing a language associated with the soft keyboard.
제1항에 있어서,
상기 소프트 키보드는 제1 언어와 연관되고, 상기 하나 이상의 조건적으로 인에이블된 버튼은 제2 언어와 연관된 소프트 키보드로 스위칭하는 버튼을 포함하는, 다기능 장치.
The method of claim 1,
Wherein the soft keyboard is associated with a first language and the one or more conditionally enabled buttons include a button to switch to a soft keyboard associated with a second language.
제1항에 있어서,
상기 하나 이상의 조건적으로 인에이블된 버튼은 알파벳 키보드로부터 숫자 및 기호 키보드로 스위칭하는 버튼을 포함하는, 다기능 장치.
The method of claim 1,
And the at least one conditionally enabled button comprises a button to switch from an alphabetic keyboard to a numeric and symbolic keyboard.
제1항에 있어서,
상기 하나 이상의 조건적으로 인에이블된 버튼은 숫자 및 기호 키보드로부터 알파벳 키보드로 스위칭하는 버튼을 포함하는, 다기능 장치.
The method of claim 1,
And the at least one conditionally enabled button comprises a button for switching from a numeric and symbol keyboard to an alphabetic keyboard.
방법으로서,
터치 스크린 디스플레이를 갖는 다기능 장치에서,
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 단계;
제1 버튼에 의한 제1 입력을 제1 시간에 검출하는 단계;
상기 제1 버튼을 활성화시킴으로써 상기 제1 입력을 검출하는 것에 응답하는 단계;
제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 단계; 및
상기 제2 버튼에 의한 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하여,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 상기 제2 버튼을 활성화시키고,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는,
상기 제1 시간과 상기 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 상기 제2 버튼을 활성화시키고,
상기 제1 시간과 상기 제2 시간 사이의 기간이 상기 미리 정의된 임계치와 같거나 그보다 작으면, 상기 제2 버튼이 활성화되는 것을 방지하는 단계
를 포함하는, 방법.
As a method,
In a multifunction device with a touch screen display,
Displaying a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons;
Detecting a first input by a first button at a first time;
Responsive to detecting the first input by activating the first button;
Detecting a second input by a second button at a second time; And
In response to detecting the second input by the second button at the second time,
When the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the second button is activated.
If the first button is an unconditionally enabled button and the second button is a conditionally enabled button,
If the period between the first time and the second time is greater than a predefined threshold, activate the second button,
Preventing the second button from being activated if the period between the first time and the second time is less than or equal to the predefined threshold.
/ RTI >
제7항에 있어서,
상기 하나 이상의 조건적으로 인에이블된 버튼은 상기 소프트 키보드를 숨기는 버튼을 포함하는, 방법.
The method of claim 7, wherein
And the one or more conditionally enabled buttons include a button to hide the soft keyboard.
제7항에 있어서,
상기 하나 이상의 조건적으로 인에이블된 버튼은 상기 소프트 키보드와 연관된 언어를 변경하는 버튼을 포함하는, 방법.
The method of claim 7, wherein
And the one or more conditionally enabled buttons include a button for changing a language associated with the soft keyboard.
제7항에 있어서,
상기 소프트 키보드는 제1 언어와 연관되고, 상기 하나 이상의 조건적으로 인에이블된 버튼은 제2 언어와 연관된 소프트 키보드로 스위칭하는 버튼을 포함하는, 방법.
The method of claim 7, wherein
Wherein the soft keyboard is associated with a first language, and the one or more conditionally enabled buttons include a button to switch to a soft keyboard associated with a second language.
제7항에 있어서,
상기 하나 이상의 조건적으로 인에이블된 버튼은 알파벳 키보드로부터 숫자 및 기호 키보드로 스위칭하는 버튼을 포함하는, 방법.
The method of claim 7, wherein
And the one or more conditionally enabled buttons comprise a button to switch from an alphabetic keyboard to a numeric and symbolic keyboard.
제7항에 있어서,
상기 하나 이상의 조건적으로 인에이블된 버튼은 숫자 및 기호 키보드로부터 알파벳 키보드로 스위칭하는 버튼을 포함하는, 방법.
The method of claim 7, wherein
And the one or more conditionally enabled buttons comprise a button to switch from a numeric and symbolic keyboard to an alphabetic keyboard.
터치 스크린 디스플레이, 메모리 및 상기 메모리에 저장된 하나 이상의 프로그램을 실행시키는 하나 이상의 프로세서를 갖는 다기능 장치 상의 그래픽 사용자 인터페이스로서,
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드
를 포함하고,
제1 버튼에 의한 제1 입력이 제1 시간에 검출되고,
상기 제1 버튼의 활성화에 의해 상기 제1 입력의 검출이 응답되고,
제2 버튼에 의한 제2 입력이 제2 시간에 검출되고,
상기 제2 버튼에 의한 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하여,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 상기 제2 버튼이 활성화되고,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는,
상기 제1 시간과 상기 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 상기 제2 버튼이 활성화되고,
상기 제1 시간과 상기 제2 시간 사이의 기간이 상기 미리 정의된 임계치와 같거나 그보다 작으면, 상기 제2 버튼의 활성화가 방지되는, 그래픽 사용자 인터페이스.
A graphical user interface on a multifunction device having a touch screen display, a memory, and one or more processors to execute one or more programs stored in the memory,
Soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons
Including,
A first input by the first button is detected at a first time,
Detection of the first input is responded to by activation of the first button,
The second input by the second button is detected at the second time,
In response to detecting the second input by the second button at the second time,
When the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the second button is activated.
If the first button is an unconditionally enabled button and the second button is a conditionally enabled button,
If the period between the first time and the second time is greater than a predefined threshold, the second button is activated,
If the period between the first time and the second time is less than or equal to the predefined threshold, activation of the second button is prevented.
하나 이상의 프로그램을 저장하는 컴퓨터 판독가능 저장 매체로서,
상기 하나 이상의 프로그램은, 터치 스크린 디스플레이를 갖는 다기능 장치에 의해 실행될 경우, 상기 장치로 하여금,
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하고,
제1 버튼에 의한 제1 입력을 제1 시간에 검출하고,
상기 제1 버튼을 활성화시킴으로써 상기 제1 입력을 검출하는 것에 응답하고,
제2 버튼에 의한 제2 입력을 제2 시간에 검출하고,
상기 제2 버튼에 의한 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하여,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 상기 제2 버튼을 활성화시키고,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는,
상기 제1 시간과 상기 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 상기 제2 버튼을 활성화시키고,
상기 제1 시간과 상기 제2 시간 사이의 기간이 상기 미리 정의된 임계치와 같거나 그보다 작으면, 상기 제2 버튼이 활성화되는 것을 방지하도록 하는
명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
A computer readable storage medium for storing one or more programs,
The one or more programs, when executed by a multifunction device having a touch screen display, cause the device to:
Display a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons,
Detect a first input by a first button at a first time,
In response to detecting the first input by activating the first button,
Detect a second input by a second button at a second time,
In response to detecting the second input by the second button at the second time,
When the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the second button is activated.
If the first button is an unconditionally enabled button and the second button is a conditionally enabled button,
If the period between the first time and the second time is greater than a predefined threshold, activate the second button,
If the period between the first time and the second time is less than or equal to the predefined threshold, preventing the second button from being activated.
A computer readable storage medium comprising instructions.
다기능 장치로서,
터치 스크린 디스플레이;
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 수단;
제1 버튼에 의한 제1 입력을 제1 시간에 검출하는 수단;
상기 제1 버튼을 활성화시킴으로써 상기 제1 입력을 검출하는 것에 응답하는 수단;
제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 수단; 및
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 상기 제2 버튼을 활성화시키고,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는,
상기 제1 시간과 상기 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 상기 제2 버튼을 활성화시키고,
상기 제1 시간과 상기 제2 시간 사이의 기간이 상기 미리 정의된 임계치와 같거나 그보다 작으면, 상기 제2 버튼이 활성화되는 것을 방지함으로써,
상기 제2 버튼에 의한 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하는 수단
을 포함하는, 다기능 장치.
As a multifunction device,
Touch screen display;
Means for displaying a soft keyboard having a plurality of buttons, the plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons;
Means for detecting a first input by a first button at a first time;
Means for responding to detecting the first input by activating the first button;
Means for detecting a second input by a second button at a second time; And
When the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the second button is activated.
If the first button is an unconditionally enabled button and the second button is a conditionally enabled button,
If the period between the first time and the second time is greater than a predefined threshold, activate the second button,
If the period between the first time and the second time is less than or equal to the predefined threshold, by preventing the second button from being activated,
Means responsive to detecting the second input by the second button at the second time
Including, multifunctional device.
터치 스크린 디스플레이를 갖는 다기능 장치에서 사용하기 위한 정보 처리 기기(information processing apparatus)로서,
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 수단;
제1 버튼에 의한 제1 입력을 제1 시간에 검출하는 수단;
상기 제1 버튼을 활성화시킴으로써 상기 제1 입력을 검출하는 것에 응답하는 수단;
제2 버튼에 의한 제2 입력을 제2 시간에 검출하는 수단; 및
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 비조건적으로 인에이블된 버튼인 경우에는, 상기 제2 버튼을 활성화시키고,
상기 제1 버튼이 비조건적으로 인에이블된 버튼이고 상기 제2 버튼이 조건적으로 인에이블된 버튼인 경우에는,
상기 제1 시간과 상기 제2 시간 사이의 기간이 미리 정의된 임계치보다 크면, 상기 제2 버튼을 활성화시키고,
상기 제1 시간과 상기 제2 시간 사이의 기간이 상기 미리 정의된 임계치와 같거나 그보다 작으면, 상기 제2 버튼이 활성화되는 것을 방지함으로써,
상기 제2 버튼에 의한 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하는 수단
을 포함하는, 정보 처리 기기.
An information processing apparatus for use in a multifunction device having a touch screen display,
Means for displaying a soft keyboard having a plurality of buttons, the plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons;
Means for detecting a first input by a first button at a first time;
Means for responding to detecting the first input by activating the first button;
Means for detecting a second input by a second button at a second time; And
When the first button is an unconditionally enabled button and the second button is an unconditionally enabled button, the second button is activated.
If the first button is an unconditionally enabled button and the second button is a conditionally enabled button,
If the period between the first time and the second time is greater than a predefined threshold, activate the second button,
If the period between the first time and the second time is less than or equal to the predefined threshold, by preventing the second button from being activated,
Means responsive to detecting the second input by the second button at the second time
Including, the information processing device.
다기능 장치로서,
터치 스크린 디스플레이;
하나 이상의 프로세서;
메모리; 및
하나 이상의 프로그램
을 포함하며,
상기 하나 이상의 프로그램은 상기 메모리에 저장되며, 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램은:
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하고,
각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하고,
상기 각각 비조건적으로 인에이블된 버튼을 활성화시키고, 상기 제1 시간부터 시작하는 미리 정의된 기간 동안 상기 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블함으로써, 상기 제1 입력을 상기 제1 시간에 검출하는 것에 응답하고,
상기 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하고 - 상기 제2 입력은 상기 미리 정의된 기간 내에 있는 제2 시간에 검출됨 -,
상기 제2 입력을 무시함으로써, 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하는
명령어들을 포함하는, 다기능 장치.
As a multifunction device,
Touch screen display;
One or more processors;
Memory; And
One or more programs
/ RTI >
The one or more programs are stored in the memory and are configured to be executed by the one or more processors, wherein the one or more programs are:
Display a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons,
Respectively detect a first input by a button unconditionally enabled at a first time,
Activating the respective unconditionally enabled buttons and disabling the first input by disabling at least one of the conditionally enabled buttons for a predefined period starting from the first time. In response to detecting in one hour,
Detect a second input by a disabled, conditionally enabled button responsive to the first input, the second input being detected at a second time within the predefined time period;
In response to detecting the second input at the second time by ignoring the second input.
A multifunction device comprising instructions.
방법으로서,
터치 스크린 디스플레이를 갖는 다기능 장치에서,
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 단계;
각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하는 단계;
상기 제1 입력을 상기 제1 시간에 검출하는 것에 응답하여, 상기 각각 비조건적으로 인에이블된 버튼을 활성화시키고, 상기 제1 시간부터 시작하는 미리 정의된 기간 동안 상기 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블하는 단계;
상기 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하는 단계 - 상기 제2 입력은 상기 미리 정의된 기간 내에 있는 제2 시간에 검출됨 -; 및
상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하여, 상기 제2 입력을 무시하는 단계
를 포함하는, 방법.
As a method,
In a multifunction device with a touch screen display,
Displaying a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons;
Detecting at a first time a first input by each unconditionally enabled button;
In response to detecting the first input at the first time, each of the unconditionally enabled buttons is activated, and the conditionally enabled button for a predefined period starting from the first time. Disabling at least one of them;
Detecting a second input by a disabled, conditionally enabled button in response to the first input, the second input being detected at a second time within the predefined time period; And
In response to detecting the second input at the second time, ignoring the second input
/ RTI >
터치 스크린 디스플레이, 메모리 및 상기 메모리에 저장된 하나 이상의 프로그램을 실행시키는 하나 이상의 프로세서를 갖는 다기능 장치 상의 그래픽 사용자 인터페이스로서,
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드
를 포함하고,
각각 비조건적으로 인에이블된 버튼에 의한 제1 입력이 제1 시간에 검출되고,
상기 제1 입력을 상기 제1 시간에 검출하는 것에 응답하여, 상기 각각 비조건적으로 인에이블된 버튼이 활성화되고, 상기 조건적으로 인에이블된 버튼들 중 적어도 하나가 상기 제1 시간부터 시작하는 미리 정의된 기간 동안 디스에이블되고,
상기 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력이 상기 미리 정의된 기간 내에 있는 제2 시간에 검출되고,
상기 제2 입력은 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하여 무시되는, 그래픽 사용자 인터페이스.
A graphical user interface on a multifunction device having a touch screen display, a memory, and one or more processors to execute one or more programs stored in the memory,
Soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons
Including,
A first input by each unconditionally enabled button is detected at a first time,
In response to detecting the first input at the first time, the respective unconditionally enabled buttons are activated and at least one of the conditionally enabled buttons starts from the first time. Disabled for a predefined period of time,
A second input by a conditionally enabled button disabled in response to the first input is detected at a second time within the predefined period of time,
The second input is ignored in response to detecting the second input at the second time.
하나 이상의 프로그램을 저장하는 컴퓨터 판독가능 저장 매체로서,
상기 하나 이상의 프로그램은, 터치 스크린 디스플레이를 갖는 다기능 장치에 의해 실행될 경우, 상기 장치로 하여금,
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하고,
각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하고,
상기 제1 입력을 상기 제1 시간에 검출하는 것에 응답하여, 상기 각각 비조건적으로 인에이블된 버튼을 활성화시키고, 상기 제1 시간부터 시작하는 미리 정의된 기간 동안 상기 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블하고,
상기 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하고 - 상기 제2 입력은 상기 미리 정의된 기간 내에 있는 제2 시간에 검출됨 -,
상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하여 상기 제2 입력을 무시하도록 하는
명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
A computer readable storage medium for storing one or more programs,
The one or more programs, when executed by a multifunction device having a touch screen display, cause the device to:
Display a soft keyboard having a plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons,
Respectively detect a first input by a button unconditionally enabled at a first time,
In response to detecting the first input at the first time, each of the unconditionally enabled buttons is activated, and the conditionally enabled button for a predefined period starting from the first time. Disable at least one of them,
Detect a second input by a disabled, conditionally enabled button responsive to the first input, the second input being detected at a second time within the predefined time period;
Ignore the second input in response to detecting the second input at the second time.
A computer readable storage medium comprising instructions.
다기능 장치로서,
터치 스크린 디스플레이;
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 수단;
각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하는 수단;
상기 각각 비조건적으로 인에이블된 버튼을 활성화시키고, 상기 제1 시간부터 시작하는 미리 정의된 기간 동안 상기 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블함으로써, 상기 제1 입력을 상기 제1 시간에 검출하는 것에 응답하는 수단;
상기 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하는 수단 - 상기 제2 입력은 상기 미리 정의된 기간 내에 있는 제2 시간에 검출됨 -; 및
상기 제2 입력을 무시함으로써, 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하는 수단
을 포함하는, 다기능 장치.
As a multifunction device,
Touch screen display;
Means for displaying a soft keyboard having a plurality of buttons, the plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons;
Means for detecting at a first time a first input by a button, each of which is unconditionally enabled;
Activating the respective unconditionally enabled buttons and disabling the first input by disabling at least one of the conditionally enabled buttons for a predefined period starting from the first time. Means responsive to detecting at one hour;
Means for detecting a second input by a disabled, conditionally enabled button in response to the first input, the second input being detected at a second time within the predefined time period; And
Means for responding to detecting the second input at the second time by ignoring the second input.
Including, multifunctional device.
터치 스크린 디스플레이를 갖는 다기능 장치에서 사용하기 위한 정보 처리 기기로서,
복수의 비조건적으로 인에이블된 버튼 및 하나 이상의 조건적으로 인에이블된 버튼을 포함하는 복수의 버튼을 갖는 소프트 키보드를 표시하는 수단;
각각 비조건적으로 인에이블된 버튼에 의한 제1 입력을 제1 시간에 검출하는 수단;
상기 각각 비조건적으로 인에이블된 버튼을 활성화시키고, 상기 제1 시간부터 시작하는 미리 정의된 기간 동안 상기 조건적으로 인에이블된 버튼들 중 적어도 하나를 디스에이블함으로써, 상기 제1 입력을 상기 제1 시간에 검출하는 것에 응답하는 수단;
상기 제1 입력에 응답하여 디스에이블된, 조건적으로 인에이블된 버튼에 의한 제2 입력을 검출하는 수단 - 상기 제2 입력은 상기 미리 정의된 기간 내에 있는 제2 시간에 검출됨 -; 및
상기 제2 입력을 무시함으로써, 상기 제2 입력을 상기 제2 시간에 검출하는 것에 응답하는 수단
을 포함하는, 정보 처리 기기.
An information processing device for use in a multifunctional device having a touch screen display,
Means for displaying a soft keyboard having a plurality of buttons, the plurality of buttons including a plurality of unconditionally enabled buttons and one or more conditionally enabled buttons;
Means for detecting at a first time a first input by a button, each of which is unconditionally enabled;
Activating the respective unconditionally enabled buttons and disabling the first input by disabling at least one of the conditionally enabled buttons for a predefined period starting from the first time. Means responsive to detecting at one hour;
Means for detecting a second input by a disabled, conditionally enabled button in response to the first input, the second input being detected at a second time within the predefined time period; And
Means for responding to detecting the second input at the second time by ignoring the second input.
Including, the information processing device.
KR1020127020604A 2010-01-06 2010-01-06 Apparatus and method for conditionally enabling or disabling soft buttons KR101441217B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/020263 WO2011084157A1 (en) 2010-01-06 2010-01-06 Apparatus and method for conditionally enabling or disabling soft buttons

Publications (2)

Publication Number Publication Date
KR20120113770A true KR20120113770A (en) 2012-10-15
KR101441217B1 KR101441217B1 (en) 2014-09-17

Family

ID=43088179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127020604A KR101441217B1 (en) 2010-01-06 2010-01-06 Apparatus and method for conditionally enabling or disabling soft buttons

Country Status (7)

Country Link
EP (1) EP2521965A1 (en)
JP (1) JP5607182B2 (en)
KR (1) KR101441217B1 (en)
CN (1) CN102216897B (en)
AU (1) AU2010340370B2 (en)
TW (1) TWI448956B (en)
WO (1) WO2011084157A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10510097B2 (en) 2011-10-19 2019-12-17 Firstface Co., Ltd. Activating display and performing additional function in mobile terminal with one-time user input

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898585B2 (en) * 2010-02-11 2014-11-25 Htc Corporation Electronic device, input method thereof, and computer-readable medium using the method
US20140208957A1 (en) * 2012-02-14 2014-07-31 Panasonic Corporation Electronic device
US9285980B2 (en) 2012-03-19 2016-03-15 Htc Corporation Method, apparatus and computer program product for operating items with multiple fingers
CN102841549B (en) * 2012-08-23 2014-06-04 丰唐物联技术(深圳)有限公司 Switch identification method and device thereof and Z-wave control terminal
EP2763001A4 (en) * 2012-11-28 2014-10-29 Huawei Device Co Ltd Information input method and touch screen terminal
CN104870965A (en) * 2012-12-27 2015-08-26 德尔菲技术公司 Algorithm for detecting activation of push button
KR102073615B1 (en) 2013-01-22 2020-02-05 엘지전자 주식회사 Touch Sensitive Display device and controlling method for providing input interface
WO2014134817A1 (en) * 2013-03-07 2014-09-12 东莞宇龙通信科技有限公司 Terminal and terminal operating method
CN104063068A (en) * 2014-06-25 2014-09-24 深圳市开立科技有限公司 Displaying method and system based on Android original input method
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
CN106155496A (en) * 2015-04-27 2016-11-23 阿里巴巴集团控股有限公司 A kind of information displaying method and device
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
NO346144B1 (en) * 2018-09-12 2022-03-21 Elliptic Laboratories As Proximity sensing

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659793A (en) * 1992-08-04 1994-03-04 Oki Electric Ind Co Ltd Method for recognizing depressing keys on keyboard
JP2959418B2 (en) * 1994-11-29 1999-10-06 日本電気株式会社 Touch panel input device
WO1999031571A1 (en) * 1997-12-16 1999-06-24 Microsoft Corporation Soft input panel system and method
WO1999038149A1 (en) 1998-01-26 1999-07-29 Wayne Westerman Method and apparatus for integrating manual input
GB9910525D0 (en) * 1999-05-07 1999-07-07 Healey Nicholas Erroneous keyboard entry correction method
US6801190B1 (en) * 1999-05-27 2004-10-05 America Online Incorporated Keyboard system with automatic correction
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
JP2001006587A (en) * 1999-06-18 2001-01-12 Hitachi Ltd Charged particle beam radiation device
US7688306B2 (en) 2000-10-02 2010-03-30 Apple Inc. Methods and apparatuses for operating a portable device based on an accelerometer
US7218226B2 (en) 2004-03-01 2007-05-15 Apple Inc. Acceleration-based theft detection system for portable electronic devices
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
US6657560B1 (en) * 2001-10-19 2003-12-02 Richard Jung Rounded keypad
JP2003288155A (en) * 2002-03-27 2003-10-10 Nippon Create Kk Character string input program
US7136047B2 (en) * 2003-04-09 2006-11-14 Microsoft Corporation Software multi-tap input system and method
JP3811693B2 (en) * 2003-10-02 2006-08-23 京セラミタ株式会社 Display device, image forming apparatus including the same, and input receiving apparatus
JP2006185064A (en) * 2004-12-27 2006-07-13 Casio Comput Co Ltd Data processor and program
US7659887B2 (en) * 2005-10-20 2010-02-09 Microsoft Corp. Keyboard with a touchpad layer on keys
EP1791051A1 (en) * 2005-11-23 2007-05-30 Research In Motion Limited System and method for recognizing a keystroke in an electronic device
US8564544B2 (en) * 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
KR20080073872A (en) * 2007-02-07 2008-08-12 엘지전자 주식회사 Mobile communication terminal with touch screen and method of inputting information using same
JP5383053B2 (en) * 2008-01-29 2014-01-08 京セラ株式会社 Terminal device with display function
US7453441B1 (en) * 2008-03-31 2008-11-18 International Business Machines Corporation Method and system for intelligent keyboard illumination
TW200951783A (en) * 2008-06-06 2009-12-16 Acer Inc Electronic device and controlling method thereof
US20090309768A1 (en) * 2008-06-12 2009-12-17 Nokia Corporation Module, user interface, device and method for handling accidental key presses

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10510097B2 (en) 2011-10-19 2019-12-17 Firstface Co., Ltd. Activating display and performing additional function in mobile terminal with one-time user input
US10896442B2 (en) 2011-10-19 2021-01-19 Firstface Co., Ltd. Activating display and performing additional function in mobile terminal with one-time user input
US11551263B2 (en) 2011-10-19 2023-01-10 Firstface Co., Ltd. Activating display and performing additional function in mobile terminal with one-time user input

Also Published As

Publication number Publication date
JP5607182B2 (en) 2014-10-15
AU2010340370B2 (en) 2014-06-26
EP2521965A1 (en) 2012-11-14
KR101441217B1 (en) 2014-09-17
TWI448956B (en) 2014-08-11
JP2013516689A (en) 2013-05-13
WO2011084157A1 (en) 2011-07-14
TW201145147A (en) 2011-12-16
CN102216897A (en) 2011-10-12
AU2010340370A1 (en) 2012-08-09
CN102216897B (en) 2014-07-02

Similar Documents

Publication Publication Date Title
US20240061557A1 (en) Device, Method, and Graphical User Interface for Providing Navigation and Search Functionalities
US9442654B2 (en) Apparatus and method for conditionally enabling or disabling soft buttons
KR101441217B1 (en) Apparatus and method for conditionally enabling or disabling soft buttons
KR101483349B1 (en) Apparatus and method having multiple application display modes including mode with display resolution of another apparatus
KR101607365B1 (en) Device, method, and graphical user interface for changing pages in an electronic document
JP6062548B2 (en) Device, method and graphical user interface for entering characters
US8826164B2 (en) Device, method, and graphical user interface for creating a new folder
US8839155B2 (en) Accelerated scrolling for a multifunction device
US8839122B2 (en) Device, method, and graphical user interface for navigation of multiple applications
US8806362B2 (en) Device, method, and graphical user interface for accessing alternate keys
KR101410113B1 (en) Api to replace a keyboard with custom controls
US9098182B2 (en) Device, method, and graphical user interface for copying user interface objects between content regions
US20110167339A1 (en) Device, Method, and Graphical User Interface for Attachment Viewing and Editing
US20110163972A1 (en) Device, Method, and Graphical User Interface for Interacting with a Digital Photo Frame
US20110074694A1 (en) Device and Method for Jitter Reduction on Touch-Sensitive Surfaces and Displays

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 5