KR101919645B1 - 명시적 터치 선택 및 커서 배치 기법 - Google Patents

명시적 터치 선택 및 커서 배치 기법 Download PDF

Info

Publication number
KR101919645B1
KR101919645B1 KR1020147006544A KR20147006544A KR101919645B1 KR 101919645 B1 KR101919645 B1 KR 101919645B1 KR 1020147006544 A KR1020147006544 A KR 1020147006544A KR 20147006544 A KR20147006544 A KR 20147006544A KR 101919645 B1 KR101919645 B1 KR 101919645B1
Authority
KR
South Korea
Prior art keywords
gripper
text
line
end position
user
Prior art date
Application number
KR1020147006544A
Other languages
English (en)
Other versions
KR20140081793A (ko
Inventor
제프리 제이 위어
제니퍼 엘 앤더슨
제니퍼 울프
게리트 에이치 호프미스터
잔-크리스티안 마키윅즈
앤드류 알 브라우닝거
스튜어트 제이 스터플
데이비드 얼 워싱턴
매튜 제이 코틀러
라이언 디모포울로스
아미쉬 파텔
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20140081793A publication Critical patent/KR20140081793A/ko
Application granted granted Critical
Publication of KR101919645B1 publication Critical patent/KR101919645B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

터치 스크린 장치에 대한 효율적이고 용이한 사용자 인터페이스를 구현하기 위한 시스템 및 방법. 커서가 단순한 입력을 이용하는 사용자에 의해 배치될 수 있다. 상기 장치는 커서를 대략적으로 배치하고 사용자로부터 추가 입력이 있을 때 상기 커서 배치를 미세화할 수 있다. 커서와 연관된 그리퍼를 이용해 텍스트가 선택될 수 있다. 사용자 인터페이스에 의해 사용자의 손가락이나 그리퍼에 의해 선택되는 텍스트를 가리지 않고 텍스트 선택이 가능해진다. 다중 라인 블록 텍스트에서 텍스트를 선택하기 위해, 동적 안전 구역이 구현되어 사용자를 위해 텍스트 선택을 간결화할 수 있다.

Description

명시적 터치 선택 및 커서 배치 기법{EXPLICIT TOUCH SELECTION AND CURSOR PLACEMENT}
터치 스크린 장치는 종종 번거로운 온-스크린 사용자 인터페이스(on-screen user interface)를 가진다. 터치 스크린과 상호작용하는 다양한 방식이 공지된 바 있다. 예를 들어, 스타일러스 펜 또는 손가락을 입력 장치로서 사용하는 것이 있다. 하나 이상의 손가락을 입력 장치로서 사용할 때 사용자 경험(user experience)이 더 복잡해 질 수 있다. 손가락을 이용할 때, 그 밖의 다른 입력 장치, 가령, 마우스보다 정확도가 훨씬 낮기 때문에, 커서를 위치시키고 텍스트를 선택하는 것이 어려울 수 있다. 예를 들어, 커서를 하나의 단어 내 정확한 포인트에 위치시키는 것이 단어의 크기에 비한 손가락의 크기 때문에 어려울 수 있다.
사용자는 컴퓨팅 장치에 의해 디스플레이되는 텍스트가 편집될 수 있도록 커서를 위치시키기를 원할 수 있다. 마찬가지로, 텍스트는 복사, 잘라 내기, 또는 텍스트를 붙여넣기하거나 새 텍스트를 입력함으로써 덮어쓰기될 수 있도록 선택될 수 있다. 종래 기술에 알려져 있는 이들 동작은 하나 이상의 손가락을 이용해 터치 스크린과 상호작용하는 것의 부정밀성 때문에, 터치 스크린 장치와 함께 구현되기 어려운 것으로 드러났다. 또한 사용자 인터페이스가 사용자가 복잡한 명령, 가령, 선택된 텍스트를 누르고 유지하는 것(pressing and holding)을 입력할 것을 요구할 때 텍스트를 선택하는 속도와 용이성이 감소된다. 상기의 동작들은 휴대용 전자 장치의 경우 훨씬 더 어려운 문제이다.
종래 기술에서 알려진 사용자 인터페이스는 사용자가 사용자에 의해 입력될 때 텍스트가 삽입될 정확한 위치를 알아차리는 것을 어렵게 만들 수 있는 커서를 디스플레이한다. 덧붙여, 텍스트를 선택할 때, 현재 사용자 인터페이스가 종종 사용자의 손가락이 선택되는 텍스트의 일부분을 가릴 것을 필요로 한다. 따라서 이들 사용자 인터페이스는 종종, 비-직관적이며 불필요한 손-눈 협응(hand-eye coordination)을 요하는 선택되는 텍스트의 오프셋 표현(offset representation)을 이용한다.
텍스트의 라인은 일반적으로 사용자의 손가락의 크기에 비해 작은 수직 공간을 차지하기 때문에, 복수의 라인 상의 텍스트를 선택하는 것이 어려울 수 있다. 또한 인간은 자신의 손가락을 직선으로 이동시키는 것이 어렵다. 이로 인해서, 사용자가 단일 선 상의 텍스트를 선택하려 시도하지만 자신의 손가락이 상기 텍스트의 라인에 의해 형성된 수직 공간 밖으로 이동할 때, 컴퓨터 장치가 사용자의 입력을 의도적인 선 변경으로 해석할 수 있는 에러가 초래된다.
현대의 터치 스크린 장치에서, 사용자는 장치의 효율적인 동작을 가능하게 하는 직관적이고 단순한 사용자 인터페이스를 기대한다. 단순한 커서 배치 및 가림 없는 텍스트 선택을 갖는 사용자 인터페이스를 구현하기 위한 기법이 본원에 기재된다. 사용자 인터페이스는 모바일 장치, 가령, 핸드헬드 장치, 랩톱, 또는 태블릿 컴퓨터의 사용자가 이들 동작을 빠르고 효가적으로 수행할 수 있도록 최적화된다.
커서 배치는 사용자로부터의 단순한 탭 입력에 의해 얻어질 수 있다. 우선, 커서가 대략적으로(coarsely) 배치될 수 있다. 사용자로부터 추가 입력이 있을 때, 커서는 더 정밀하게 배치될 수 있다. 사용자가 상호작용할 수 있는 스크린 상의 시각적 위치 표시(indication of location)는 "그리퍼(gripper)"라고 지칭되며, 이와 연관된 텍스트의 라인 아래에 디스플레이될 수 있다. 사용자 인터페이스는 사용자가 텍스트의 단일 라인 상의 텍스트를 더 정확하게 선택할 수 있게 하는 "안전 구역"을 구현할 수 있다.
일부 실시예에서, 커서는 사용자로부터의 위치 지시를 수신함으로써 컴퓨팅 장치의 디스플레이 스크린 상에 배치될 수 있고, 이때, 사용자로부터의 지시(indication)는 일부 텍스트 또는 문자열을 가리킨다. 초기 커서 위치는 디스플레이되는 콘텐츠에 대한 그 밖의 다른 정보와 조합되어 위치 지시를 기초로 선택되고, 커서는 상기 위치에 디스플레이되며, 여기서 초기 커서 위치는 사용자에 의해 지시되는 위치에 비해 대략적으로 배치된 것이다. 그 후 컴퓨팅 장치가 기능의 실행이 초기 커서 위치를 기초로 하는 상태가 된다. 그 후 제 2 위치 지시가 수신될 수 있다. 더 정밀한 커서 위치가 제 2 위치 지시를 기초로 선택될 수 있고, 상기 커서는 더 정밀한 커서 위치에 디스플레이된다.
일부 실시예에서, 디스플레이 스크린, 센서 및 프로세서를 포함하는 컴퓨터 시스템이 텍스트를 선택하기 위한 사용자 인터페이스를 구현한다. 문자들의 문자열, 가령, 텍스트가 "그리퍼"와 함께 디스플레이 스크린 상에 디스플레이된다. 사용자는, 센서에 의해 결정될 때, 그리퍼를 문자열의 제 1 문자와 연관된 제 1 위치로부터 문자열의 제 2 문자까지 드래그할 수 있다. 제 1 문자와 제 2 문자 사이의 텍스트가 강조되고 그리퍼는 상기 제 1 위치에 다시 디스플레이되며 제 2 그리퍼는 상기 문자열의 제 2 문자에 대응하는 위치에 디스플레이된다.
일부 실시예에서, 텍스트의 복수의 라인이 디스플레이 스크린에 의해 디스플레이될 수 있다. 텍스트를 강조함으로써 텍스트의 일부분이 선택될 수 있다. 사용자는 선택된 텍스트의 종료점을 드래그함으로써 선택된 텍스트의 일부분을 조절할 수 있다. 드래그 입력이 수신됨에 따라, 선택된 텍스트가 사용자 가리키는 현재 위치를 기초로 업데이트된다. 제 1 모드에서, 장치는 사용자에 의해 지시되는 수직 위치의 오류에 대해 비교적 큰 임계치를 가능하게 하여, 사용자가 임계 거리를 지나 이동하지 않는 한 종료점이 라인을 변경하지 않도록 한다. 임계 거리를 횡단하고 장치가 계속 사용자로부터 드래그 입력을 수신하면, 장치는 상기 비교적 큰 임계치보다 작은 임계 거리가 사용되는 제 2 모드에 들어간다. 따라서 제 2 모드에서, 사용자는 단순히 작은 임계 거리만을 횡단함으로써, 선택된 텍스트의 종료점을 라인에서 라인으로 이동시킬 수 있다.
선택 및 강조하기 위한 일부 방법은 컴퓨터 판독형 저장 장치 상에 저장된 명령어를 실행하는 컴퓨팅 시스템의 프로세서에 의해 실행될 수 있다.
상기의 내용은 본 발명의 비-제한적 요약이며, 본 발명은 이하의 특허청구범위에 의해 정의된다.
첨부된 도면은 실측 비율로 그려지지 않았다. 도면에서, 다양한 도면에서 도시된 각각의 동일한 또는 거의 동일한 구성요소이 유사한 번호로 표시된다. 간결성을 위해, 모든 도면에서 모든 구성요소가 라벨링되지 않을 수 있다. 도면에서,
도 1은 본 발명의 실시예가 동작할 수 있는 예시적 환경의 블록도이다.
도 2는 본 발명의 실시예가 동작할 수 있는 예시적 컴퓨팅 장치의 단순화된 도시이다.
도 3a-3c는 본 발명의 일부 실시예에서 사용되는 문자들의 문자열의 예시적 배분을 도시한다.
도 4a-4c는 본 발명의 일부 실시예에서 사용되는 커서의 예시적 배치를 도시한다.
도 5a-5c는 본 발명의 일부 실시예에서 사용되는 예시적 텍스트 선택 기법을 도시한다.
도 5d는 본 발명의 일부 실시예에서 사용되는 예시적 콘텍스트 메뉴를 도시한다.
도 6a는 본 발명의 일부 실시예가 피하는 그리퍼 겹침을 갖는 예시적 사용자 인터페이스를 도시한다.
도 6b는 그리퍼 겹침을 방지하는 본 발명의 일부 실시예의 예시적 사용자 인터페이스를 도시한다.
도 7a-7d는 본 발명의 일부 실시예에서 사용되는 예시적 다중라인 텍스트 선택 기법을 도시한다.
도 8a-8e는 본 발명의 일부 실시예에서 사용되는 예시적 그리퍼를 도시한다.
본 발명자는 터치 스크린 장치를 위한 사용하기 쉽고 효율적인 사용자 인터페이스를 제공하기 위해, 단순하고, 직관적이며, 장치에 명령어를 입력하기 위해 손가락을 이용할 때 야기되는 부정밀성을 고려하도록 커서를 배치하는 것이 바람직함을 알았다. 본 발명자는 손가락이 텍스트를 가리지 않고 사용자가 선택되는 텍스트와 직접 상호작용할 수 있게 하는 사용자 인터페이스를 제공하는 것이 직관적이고 효율적인 사용자 경험을 가능하게 함을 알았다.
도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(100)의 하나의 예시를 도시한다. 상기 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 단지 하나의 예에 불과하며 본 발명의 용도나 기능의 범위에 대한 어떠한 제한도 암시하지 않는다. 컴퓨팅 환경(100)은 예시적 동작 환경(100)에서 도시된 구성요소들 중 임의의 것 또는 조합과 관련된 임의의 종속성이나 요건을 갖는 것으로 해석되어서는 안 된다.
본 발명의 실시예는 다양한 그 밖의 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성과 함께 동작된다. 본 발명과 함께 사용되기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 비-제한적 예시로는 개인 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 셀룰러 폰, 태블릿 컴퓨터, 넷북, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋 톱 박스, 프로그램 가능한 소비자 일렉트로닉스, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기의 시스템이나 장치 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등이 있다.
상기 컴퓨팅 환경은 컴퓨터 실행형 명령어, 가령, 프로그램 모듈을 실행시킬 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 본 발명의 실시예는 또한 작업이 통신 네트워크를 통해 링크된 원격 프로세싱 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함해 로컬 컴퓨터 저장 매체와 원격 컴퓨터 저장 매체 모두에 위치할 수 있다.
도 1을 참조하면, 효율적이고, 사용자 친화적인 사용자 인터페이스를 구현하기 위한 예시적 시스템이 범용 컴퓨팅 장치를 컴퓨터(110)의 형태로 포함한다. 컴퓨터(110)의 구성요소의 비-제한적 예로는, 프로세싱 유닛(120)(즉, 프로세서), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 구성요소를 프로세싱 유닛(120)으로 연결하는 시스템 버스(121)가 있다. 상기 시스템 버스(121)는 몇 가지 유형의 버스 구조, 가령, 메모리 버스 또는 메모리 제어기, 주변장치 버스(peripheral bus) 및 로컬 버스 중 다양한 버스 아키텍처 중 임의의 것을 이용하는 임의의 것일 수 있다. 비-제한적 예를 들면, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌 버스(Mezzanine bus)라고도 알려진 PCI(Peripheral Component Interconnect) 버스를 포함한다.
컴퓨터(110)는 다양한 컴퓨터 판독형 매체를 포함할 수 있다. 컴퓨터 판독형 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 이동식 및 비-이동식 매체를 포함한다. 비-제한적 예를 들면, 컴퓨터 판독형 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 정보, 가령, 컴퓨터 판독형 명령어, 데이터 구조, 프로그램 모듈 또는 그 밖의 다른 데이터의 저장을 위한 임의의 방법 또는 기법으로 구현되는 휘발성 및 비휘발성, 이동식 및 비-이동식 매체를 포함한다. 컴퓨터 저장 매체의 비-제한적 예로는, RAM, ROM, EEPROM, 플래시 메모리, 또는 그 밖의 다른 메모리 기법, CD-ROM, DVD(digital versatile disk), 또는 그 밖의 다른 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치, 또는 그 밖의 다른 자기 저장장치, 또는 원하는 정보를 저장하도록 사용될 수 있고 컴퓨터(110)에 의해 액세스될 수 있는 그 밖의 다른 임의의 매체가 있다. 일반적으로 통신 매체는 컴퓨터 판독형 명령어, 데이터 구조, 프로그램 모듈 또는 그 밖의 다른 데이터를 변조된 데이터 신호, 가령, 반송파 또는 그 밖의 다른 전송 수단으로 구현하고, 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 신호 내 정보를 인코딩하기 위해 특성들 중 하나 이상의 설정 또는 변경된 신호를 의미한다. 비-제한적 예를 들면, 통신 매체는 유선 매체, 가령, 유선 네트워크, 직접 배선 연결(direct-wired connection), 및 무선 매체, 가령, 음향, RF, 적외선 및 그 밖의 다른 무선 매체를 포함한다. 상기 중 임의의 조합이 컴퓨터 판독형 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 휘발성 및/또는 비휘발성 메모리, 가령, 리드 온리 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)의 형태로 컴퓨터 저장 매체를 포함한다. 일반적으로, 가령, 시동 동안, 컴퓨터(110) 내 요소들 간에 정보를 전송하는 것을 보조하는 기본 루틴을 포함하는 기본 입/출력 시스템(133)(BIOS)이 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)에 의해 즉시 액세스 가능하거나 및/또는 운용 중인 데이터 및/또는 프로그램 모듈을 포함한다. 비-제한적 예로서, 도 1은 운영 체제(OS)(134), 애플리케이션 프로그램(135), 그 밖의 다른 프로그램 모듈(136), 및 프로그램 데이터(137)를 도시한다.
컴퓨터(110)는 또한 그 밖의 다른 이동식/비-이동식 휘발성/비휘발성 컴퓨터 저장 매체를 더 포함할 수 있다. 비-제한적 예로서, 도 1은 비-이동식, 비휘발성 자기 매체로부터 읽거나 쓰는 하드 디스크 드라이브(141), 이동식, 비휘발성 자기 자기 디스크(152)로부터 읽거나 쓰는 자기 디스크 드라이브(151), 및 이동식, 비휘발성 광 디스크(156), 가령, CD ROM, DVD 또는 그 밖의 다른 광 매체로부터 읽거나 쓰는 광 디스크 드라이브(155)를 도시한다. 예시적 동작 환경에서 사용될 수 있는 그 밖의 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체의 비-제한적 예시로는, 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다목적 디스크(DVD), 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등이 있다. 일반적으로 하드 디스크 드라이브(141)는 비이동식 메모리 인터페이스, 가령, 인터페이스(140), 및 자기 디스크 드라이브(151)를 통해 시스템 버스(121)로 연결되고, 광 디스크 드라이브(155)는 이동식 메모리 인터페이스, 가령, 인터페이스(150)에 의해 시스템 버스(121)로 연결되는 것이 일반적이다.
앞서 기재되고 도 1에 도시된 드라이브 및 이들의 연관된 컴퓨터 저장 매체는 컴퓨터(110)에 대한 컴퓨터 판독형 명령어, 데이터 구조, 프로그램 모듈 및 그 밖의 다른 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램(145), 그 밖의 다른 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하도록 도시된다. 이들 구성요소는 운영 체제(134), 애플리케이션 프로그램(135), 그 밖의 다른 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 상이할 수 있다. 최소한 서로 다른 카피라는 것을 나타내기 위해, 운영 체제(144), 애플리케이션 프로그램(145), 그 밖의 다른 프로그램 모듈(146), 및 프로그램 데이터(147)에 서로 다른 번호가 부여된다.
사용자는 입력 장치, 가령, 키보드(162) 및 일반적으로 마우스, 트랙볼 또는 터치 패드라고 지칭되는 포인팅 장치(161)를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 일부 실시예에서 이들 입력 장치가 존재할 수 있지만 컴퓨터(110)의 동작을 위해 필수인 것은 아니다. 일부 실시예에서, 디스플레이 스크린(191)은 사용자의 하나 이상의 손가락 또는 그 밖의 다른 입력 장치, 가령, 스타일러스 또는 펜으로부터의 입력을 수신할 수 있는 터치 스크린 센서(172)를 포함한다. 그 밖의 다른 입력 장치(도시되지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 종종, 이들 그리고 그 밖의 다른 입력 장치는 시스템 버스로 연결되어 있지만, 그 밖의 다른 인터페이스 및 버스 구조, 가령, 병렬 포트, 게임 포트 또는 전역 직렬 버스(USB: universal serial bus)에 의해 연결될 수 있는 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)으로 연결된다. 모니터(191) 또는 그 밖의 다른 유형의 디스플레이 장치가 또한 인터페이스, 가령, 비디오 인터페이스(190)를 통해 시스템 버스(121)로 연결된다.
OS(134)는 터치 스크린과 연관된 터치 스크린 엔진(touch screen engine)을 포함할 수 있다. 상기 터치 스크린 엔진은 터치 센서(172)로부터 입력을 수신하고 상기 입력을 프로세싱하여 상기 입력과 관련된 정보를 그 밖의 다른 구성요소, 가령, OS(134)의 그 밖의 다른 구성요소, 애플리케이션 프로그램(135), 또는 그 밖의 다른 프로그램 모듈(136)에게 제공한다. 터치 스크린 센서(172)로부터의 입력은 스크린(191) 상에 디스플레이되는 문자(character) 또는 그 밖의 다른 아이템의 선택을 가리킬 수 있다. 상기 아이템은 또한 사용자에 의해 선택된 바의 커서의 위치를 가리킬 수 있다. 상기 터치 스크린 엔진은 또한 그 밖의 다른 구성요소로부터 정보를 수신하고 상기 정보를 디스플레이 스크린(191) 상에 렌더링할 수 있다. 예를 들어, OS(132)는 디스플레이(191) 상에 콘텍스트 메뉴(context menu)로 디스플레이하도록 터치 스크린 엔진에 정보를 제공할 수 있다. 본 발명의 실시예는 구성요소가 선택 및 커서 위치를 식별하는 방식을 변경하도록 구성될 수 있다. 실시예들은 또한 문자 선택 및 커서 위치를 가리키도록 사용자 인터페이스가 제공되는 방식을 변경할 수 있다.
도 2는 본 발명의 하나의 실시예의 예시적 컴퓨팅 장치(200)의 단순화된 다이어그램을 도시한다. 상기 컴퓨팅 장치(200)는 도 1과 관련하여 앞서 기재된 구성요소들 중 일부 또는 전부를 가질 수 있지만, 도 1의 모든 특징부를 포함하도록 한정되는 것은 아니다. 컴퓨팅 장치(200)의 도시된 구성요소는 어떠한 방식으로도 제공될 수 있으며, 도 2에 도시된 특정 레이아웃 또는 구성요소에 국한되는 것은 아니다.
컴퓨팅 장치(200)는 문자(character)들로 구성된 하나 이상의 문자열(string)(260)을 디스플레이하기 위한 디스플레이 스크린(250)을 포함한다. 상기 문자열은 임의의 문자, 예를 들어, 글자, 숫자, 구두점(구두점) 및 공백 문자(공백 문자) 등을 포함할 수 있다. 문자열은 단일 단어, 문장, 문단, 또는 임의의 그 밖의 다른 문자들의 집합일 수 있다. 도 2의 예시는 문자들의 문자열(260)이 글자, 공백, 및 구두점을 포함하는 텍스트의 복수 라인 문장을 포함함을 보여준다. 여기서 라틴 글자를 갖는 텍스트가 문자의 예시로서 사용되었지만, 본 발명의 실시예는 임의의 구체적 구현예에 한정되지 않는다. 예를 들어, 일부 실시예는 일본어, 중국어, 한국어, 아라비아어 또는 힌디어 문자를 이용할 수 있다. 본 발명의 실시예는 문자들의 문자열이 수직 방향으로 배열되는 수직 언어(vertical language)의 경우에도 사용될 수 있다.
컴퓨팅 장치(200)의 디스플레이 스크린(250)은 하나 이상의 터치 스크린 센서(240)와 연관된다. 센서와 디스플레이 스크린의 조합이 터치 스크린이라고 지칭될 수 있다. 따라서 컴퓨팅 장치(200)는 터치 스크린 장치라고 지칭될 수 있다. 컴퓨팅 장치(200)는 임의의 유형의 터치 스크린 기법을 채용할 수 있다. 예를 들어, 터치 스크린은 저항성, 용량성, 음향성, 적외선식 또는 그 밖의 다른 임의의 터치 스크린 기법일 수 있다. 상기 터치 스크린 센서(240)에 의해, 스타일러스, 펜 또는 그 밖의 다른 사용자의 신체, 가령, 하나 이상의 손가락에 의한 입력이 수신될 수 있다. 본 발명의 실시예는 터치 스크린의 임의의 특정 구현예에 국한되지 않는다.
하나 이상의 터치 스크린 센서(240)를 통해 입력을 받는 것에 추가로, 컴퓨팅 장치(200)는 사용자로부터 입력을 받기 위해 하나 이상의 버튼(230)을 가질 수 있다. 상기 버튼은 컴퓨팅 장치(200)의 전면, 후면, 또는 측면 상에 위치할 수 있다. 상기 버튼은 기계적 버튼, 회전식 입력 버튼, 용량식 버튼, 또는 그 밖의 다른 임의의 유형의 공지된 입력 장치일 수 있다. 도 1과 관련하여 언급된 바와 같이, 컴퓨팅 장치(200)는 또한 사용자로부터 입력을 수신하기 위해 키보드, 마우스, 또는 그 밖의 다른 입력 장치를 가질 수 있지만, 이들이 필수인 것은 아니다. 도 2는 방향 정보(directional information)를 컴퓨팅 장치(200)에게 나타내기 위한 4방향 방향성 패드로서 버튼(230)을 도시한다. 컴퓨팅 장치에게, 턴 온/오프(turn on/off) 또는 대기 모드(standby mode)로의 돌입을 나타내기 위한 전원 버튼(220)이 또한 도시된다. 본 발명의 실시예는 버튼 또는 입력 장치의 임의의 특정 구현예에 국한되지 않는다.
컴퓨팅 장치(200)의 사용자는 디스플레이 스크린(250) 상에 디스플레이되는 텍스트(260)에 대한 기능을 수행하기 원할 수 있다. 기능을 수행하기 위해, 사용자는 터치 스크린을 이용하여 커서의 원하는 위치 및/또는 선택되기 원하는 텍스트를 가리킬 수 있다. 상기 커서는 임의의 비주얼의 위치 지시자, 가령, 캐럿(caret) 또는 화살표일 수 있다.
기능들은 커서의 위치 또는 사용자에 의해 선택된 텍스트 에 따라 달라질 수 있다. 기능들은 또한 장치의 그 밖의 다른 설정에 따라 달라질 수 있다. 예를 들어, 커서가 특정 위치에 위치되고 추가 텍스트가 사용자에 의해 입력되는 경우, 장치가 삽입 모드(insert mode)인지 덮어쓰기 모드(overwrite mode)인지에 따라, 상기 추가 텍스트는 상기 커서의 위치에서 삽입되거나, 추가 텍스트는 커서 다음부터 기존 텍스트를 덮어쓸 수 있다. 또한 이전에 잘라내기되거나 복사된 텍스트가 상기 커서 위치에서 삽입될 수 있도록 커서의 위치를 기초로 붙여넣기 기능(paste function)이 수행될 수 있다. 또 다른 예시로는 커서에 바로 인접한 하나 이상의 문자, 가령, 커서 전 문자, 또는 커서 후 문자를 삭제할 수 있는 삭제 명령을 선택하는 것이 있다.
텍스트가 선택될 때 앞서 나열된 것과 동일한 기능이 실행될 수 있지마, 선택되는 텍스트를 기초로 거동이 상이할 것이다. 예를 들어, 텍스트가 선택될 때 추가 텍스트가 입력되거나 붙여 넣기되는 경우, 선택된 텍스트에 추가 텍스트가 덮어써질 것이다. 삭제 명령을 선택하는 것이 선택된 텍스트를 삭제할 것이다. 텍스트가 선택될 때 사용자가 이용 가능한 추가 기능이 존재할 수 있다. 예를 들어, 선택된 텍스트가 복사되거나 잘라내기될 수 있다. 또한, 선택된 텍스트의 스타일이 사용자에 의해 변경될 수 있다. 예를 들어, 선택된 텍스트는 굵은체(bold) 또는 이탤릭체(italic)로 변경되거나, 폰트가 변경되거나, 폰트의 크기가 변경될 수 있다.
커서가 특정 위치에 있는지 또는 텍스트가 선택되는지를 기초로 하는 기능의 서로 다른 거동이 장치가 제 1 상태 및 제 2 상태에 있는 것으로 기술될 수 있다.
컴퓨팅 장치(200)에 의해 결정된 지시된 위치가 터치 스크린 상에서 사용자 터치가 검출된 물리적 위치에 정확하게 대응하지 않을 수 있도록, 컴퓨팅 장치(200)는 사용자의 선택에 대한 정정을 수행할 수 있다. 예를 들어, 터치 스크린 장치의 사용자가 자신이 가리키고자 하는 실제 위치보다 다소 낮은 위치에서 스크린을 터치하는 것이 알려져 있다. 이는 시각의 문제에 불과하며, 컴퓨팅 장치가 자동으로 정정할 수 있다. 따라서 본 발명의 실시예는 이러한 효과 및 그 밖의 다른 유사한 효과를 고려하기 위해 이미 정정된 위치를 사용할 수 있다. 터치 스크린 센서(240)를 통해 사용자에 의해 수신된 입력은 임의의 적합한 입력 명령일 수 있다. 일부 실시예에서, 입력은 사용자가 짧은 순간 동안만 스크린을 터치했음을 나타내는 "탭 입력(tap input)"일 수 있다. 해당 분야에 공지된 기법에 의해 탭이 검출될 수 있다. 상기 짧은 순간은 1초 미만인 것이 일반적이다. 일부 실시예에서, 입력은 사용자가 시작 위치에서 손가락으로 스크린을 터치하고, (스크린과의 접촉을 유지하면서) 스크린을 가로질러 손가락을 드래그함으로써 경로를 만들고, 종료 위치에서 손가락을 들어올림으로써 경로를 종료하는 드래그 입력(drag input)일 수 있다. 또 다른 실시예에서, 입력은 사용자가 한 위치에서 스크린을 터치하고 일정 시간 동안 이를 유지한 후 스크린과의 접촉을 종료하는 누름 및 유지 입력(press and hold input)일 수 있다. 이들 유형의 입력 각각은 해당 분야에 공지된 서로 다른 기법을 이용해 검출될 수 있다. 본 발명의 실시예는 이러한 특정 유형의 입력에 국한되지 않는다.
예를 들어, 폭 또는 높이가 1-2cm일 수 있는 사용자의 손가락의 크기 때문에, 터치 스크린을 통해 수신된 위치 지시(location indication)가 스크린 상에 디스플레이되는 아이템(1mm 미만의 크기)에 비해 부정밀할 수 있다. 따라서 본 발명의 일부 실시예의 사용자 인터페이스는, 사용자로부터 제 1 위치 지시가 있으면, 선택되는 문자들의 문자열에 대해 근접한 위치로 커서를 배치시킬 것이다. 그 후, 사용자가 커서를 더 정밀하게 위치시키기를 원하는 경우, 제 2 지시가 장치로 입력될 수 있고, 커서가 상기 입력과 연관된 더 정밀한 위치에 배치될 것이다. 이러한 커서의 근사적인 또는 대략적인 배치는 임의의 방식으로 구현될 수 있으며, 본 발명의 실시예는 이와 관련하여 한정되지 않는다. 컴퓨팅 장치가 근사 배치(approximate placement)를 이용해 커서를 배치하는 경우, 컴퓨팅 장치는 제 1 상태에 있다고 말해질 수 있다. 컴퓨팅 장치가 커서를 더 정밀하게 배치하는 중인 경우, 컴퓨팅 장치는 제 2 상태에 있다고 말해질 수 있다. 일부 실시예에서, 장치가 정밀 배치를 이용할 것인지 또는 근사 매치를 이용할 것인지의 여부는 디스플레이되는 객체의 특성에 따라 달라질 것이다. 예를 들어, 디스플레이가 지정 임계치보다 큰 텍스트를 포함하는 경우, 장치는 커서의 정밀 배치만 이행할 수 있다. 일부 실시예에서, 지정 텍스트 크기 임계치는 사용자의 손가락의 대략적인 크기와 관련될 수 있다. 따라서 장치는 사용자의 손가락의 크기가 스크린 상에 디스플레이되는 아이템과 거의 동일한 크기일 때 근사 배치를 이용하지 않을 수 있다.
커서(420)의 근사 배치는 임의의 적합한 방식으로 구현될 수 있다. 일부 실시예에서, 디스플레이 스크린 상의 문자들의 특정 문자열을 가리키는 입력이 사용자로부터 수신된다. 컴퓨팅 장치(200)는 상기 입력이 해당 단어와 연관된 위치에 커서를 배치하기 위한 명령인 것으로 결정한다. 커서가 배치될 수 있는 가능한 위치의 개수는 정밀 배치가 사용 중일 때에 비해 감소될 수 있다. 더 적은 가능한 위치는 대략적 커서 배치를 도출하며, 반면에 미세 커서 배치는 더 많은 수의 가능한 위치를 가진다. 예를 들어, 근사 커서 배치는 도 4a에 도시된 것처럼 문자열의 시작 부분(300)에만 또는 도 4b에 도시된 것처럼 문자열의 종료점에만 커서의 배치를 가능하게 할 수 있다. 커서가 문자열의 시작점에 위치하는지 또는 종료점에 위치하는지를 결정하는 것은 임의의 적합한 방식으로 이뤄질 수 있다. 예를 들어, 단어가 다-문자 부분들, 가령, 앞 절반(first half)과 뒷 절반(second half)으로 쪼개질 수 있다. 사용자의 입력의 위치가 앞 절반을 가리키는 경우, 커서는 문자열의 시작점에 디스플레이될 것이다. 반면, 사용자의 입력이 뒷 절반을 가리키는 경우, 커서는 문자열의 종료점에 디스플레이될 것이다. 이러한 유형의 근사 배치는, 사용자의 입력이 단어의 시작점 또는 종료점의 위치를 가리키지 않더라도 사용자는 커서를 중간보다는 시작점 또는 종료점에 배치하기를 원할 수 있다는 사실을 고려한다. 따라서 근사 배치는 사용자가 단어의 시작점 또는 종료점을 특정하는 것이 용이하게 하지만, 더 정밀한 커서 배치 모드로 전화하기 위한 용이한 방식을 제공한다.
문자열의 시작점과 종료점은 커서를 근사 배치하기 위한 옵션에 불과한 상기의 예시에서, 컴퓨팅 장치(200)는 임의의 적합한 방식으로 커서를 시직부분에 배치할지 또는 종료점에 배치할지를 결정할 수 있다. 일부 실시예에서, 도 3a 및 3b에 도시된 바와 같이, 문자열(300)은 2개의 부분으로 쪼개진다. 사용자의 입력이 문자열의 시작 부분을 가리키는 경우, 커서(420)는 상기 문자열의 시작점에, 즉, 문자열(300)의 시작 문자(310) 앞에, 배치된다. 사용자의 입력이 문자열의 종료 부분을 가리키는 경우, 커서(420)는 문자열의 종료점, 즉, 문자열의 종료 문자(320)의 뒤에, 배치된다.
문자열은 임의의 적합한 방식으로 쪼개질 수 있다. 예를 들어, 도 3a는 각각의 부분에 동일한 개수의 글자가 존재하도록 문자열 "Computer"가 절반으로 쪼개진 것을 도시한다. 제 1 부분(330)은 "Comp"를 포함하고 제 2 부분(340)은 "uter"를 포함한다. 대안적으로, 도 3b는 각각의 부분에 동일한 픽셀 수가 존재하도록 상기 문자열(300)이 절반으로 쪼개진 것을 도시한다. 제 1 부분(350)은 "Com"과 글자 "p"의 작은 부분을 포함하고, 제 2 부분(360)은 글자 "p"의 나머지 부분과 글자 "uter"을 포함한다. 부분들의 크기는 문자열이 쪼개지는 방식에 따라 달라진다. 본 발명의 실시예는 문자열을 동일 부분들로 쪼개는 것에 한정되지 않는다. 예를 들어, 사용자 인터페이스의 설계자가 사용자는 커서를 문자열의 시작점보다 문자열의 종료점에 배치하기를 원할 가능성이 더 높다고 믿는 경우, 종료 부분이 시작 부분보다 의도적으로 더 클 수 있다. 본 발명의 실시예는 특정 분할 구현예에 국한되지 않는다.
덧붙여, 본 발명의 실시예는 문자열(300)을 2개의 부분으로 쪼개는 것에 국한되지 않는다. 예를 들어, 도 3c에서, 문자열(300)은 3개의 부분으로 쪼개지는데, 시작 부분(370)은 문자열(300)의 첫 3개의 문자를 포함하고, 종료 부분(380)은 문자열(300)의 마지막 3개의 문자를 포함하고, 중간 부분(390)은 시작 부분(370)과 종료 부분(380) 사이의 문자열(300)의 나머지 문자를 포함한다. 해당 분야의 통상의 기술자라면, 어떠한 지정된 문자 수도 시작 부분과 종료 부분을 정의하도록 사용될 수 있음을 알 것이다. 도 3c의 도시는 예시로서 3개의 문자를 사용했다.
사용자의 입력이 문자열(300)의 시작 부분(370)에 대응하는 위치를 가리키는 경우, 도 4a에 도시된 것처럼, 커서(420)는 문자열(300)의 시작 글자(310) 앞에 배치될 것이다. 사용자의 입력이 문자열(300)의 종료 부분(380)에 대응하는 위치를 가리키는 경우, 도 4b에 도시된 것처럼, 커서(420)는 문자열(300)의 종료 글자(310) 뒤에 배치될 것이다. 사용자 입력이 문자열(300)의 중간 부분(390)에 대응하는 위치를 가리키는 경우, 상기 커서는 임의의 적합한 방식으로 배치될 수 있다. 일부 실시예에서, 상기 커서는 중간 부분(390)의 시작점에 배치될 수 있다. 또 다른 실시예에서, 컴퓨팅 장치는 커서를 중간 부분(390) 종료점에 배치한다. 일부 실시예에서, 커서는 중간 부분의 중앙점에 배치될 수 있다. 또 다른 실시예에서, 사용자의 입력이 중간 부분(390)에 대응할 때, 컴퓨팅 장치(200)는 정밀 배치를 이용해 커서를 배치시켜, 상기 커서가 사용자의 입력이 가리키는 위치에 대응하는 위치에 배치되게 할 수 있다. 예를 들어, 도 3c에서, 사용자가 문자열의 "p"와 "u" 사이의 위치를 가리키는 경우, 도 4c에서 도시된 것처럼, 커서는 상기 위치에 배치될 것이다. 반면에, 사용자가 "p"의 시작 근방의 위치를 가리키는 경우, 커서는 "p" 앞에 배치될 것이다. 본 발명의 실시예들은 커서 배치의 특정 구현예에 국한되지 않는다.
컴퓨팅 장치(200)가 커서(420)를 대략적으로 배치하면, 사용자는 커서(420)를 동일 문자열(300) 내 더 정밀한 위치에 배치하기를 원할 수 있다. 커서를 배치하기 가능한 위치의 개수는 대략적 배치를 이용할 때 가능한 위치의 개수보다 많다. 커서(420)의 정밀 배치, 즉, 미세 배치는 임의의 적합한 방식으로 구현될 수 있다. 예를 들어, 사용자가 동일한 문자열(300) 내 제 2 위치를 가리킨 경우, 컴퓨팅 장치(200)는 복수의 가능한 배치 위치 중 제 2 위치에 대응하는 위치를 선택할 것이며, 이때 컴퓨팅 장치(200)가 정밀 커서 배치를 수행할 때 가능한 배치 위치의 개수는 근사 커서 배치 동안 이용 가능한 배치 위치의 개수보다 많다. 일부 실시예에서, 복수의 가능한 배치 위치는 문자열(300)의 각각의 문자에 인접한 각각의 위치를 포함할 수 있다. 예를 들어, 사용자의 제 1 입력이 제 1 위치에 대응할 수 있고, 커서가 문자열(300)의 시작점에 근사 배치될 수 있다(도 4a 참조). 글자 "p"와 "u" 사이의 제 2 위치에 대응하는 제 2 입력이 수신될 때, 도 4c에 도시된 것처럼, 컴퓨팅 장치가 "p"와 "u" 사이에 커서(420)를 배치시킬 것이다.
일부 실시예에서, 근사 커서 배치를 위한 제 1 입력과, 정밀 커서 배치를 위한 제 2 입력 모두 탭 입력일 수 있다. 이로 인해서, 사용자는 드래그 입력이나 누름 및 유지 입력에 의존하지 않고, 커서를 원하는 위치에 매우 빠르고 정확하게 배치시킬 수 있다. 탭 입력은 특히 휴대용 장치에서 바람직하다. 본 발명의 실시예는 사용자가 사용하는 입력의 유형에 한정되지 않는다.
일부 실시예에서, 디스플레이 스크린(250)이 커서(420)를 디스플레이할 때, "그리퍼(gripper)"(410)가 역시 디스플레이된다. 그리퍼는 사용자와 상호작용하고 추가 입력 정보를 컴퓨팅 장치(200)로 전달할 수 있는 스크린 상의 그래픽 지시(graphical indication)이다. 그리퍼는 임의의 적합한 방식으로 구현될 수 있다. 예를 들어, 도 4a-4c에서 도시된 것처럼 그리퍼(410)는 커서(420) 아래에 디스플레이될 수 있다. 본 발명의 실시예는 임의의 특정 크기의 그리퍼에 국한되지 않는다. 예를 들어, 그리퍼의 크기는 5mm 내지 15 mm일 수 있다. 일부 실시예에서, 그리퍼의 폭은 8mm이다. 그리퍼는 하나의 치수(dimension)가 다른 치수보다 클 수 있다. 예를 들어, 그리퍼는 타원형일 수 있고, 높이 10mm과 폭 6mm을 가진다. 그리퍼의 정확한 크기가 중요하지 않으며 임의의 크기가 사용될 수 있다. 일부 실시예에서, 그리퍼의 크기는 스크린 크기 및 해상도에 독립적이다. 예를 들어, 모바일 전화 장치의 스크린 상에 디스플레이되는 그리퍼는 컴퓨터와 연관된 대형 터치 스크린 디스플레이 스크린 상에 디스플레이되는 그리퍼와 동일한 폭을 가질 수 있다. 따라서 렌더링될 때, 그리퍼를 렌더링하기 위해 컴퓨팅 장치(200)에 의해 사용되는 파라미터는 선택된 크기를 산출하도록 선택될 수 있다. 이들 파라미터는 스크린 높이, 스크린 폭, 픽셀 크기, 및/또는 스크린 해상도를 포함할 수 있다.
도 8a-8e는 그리퍼의 예시적 실시예를 도시한다. 이하에서 더 상세히 언급되겠지만, 사용자에 의해 텍스트가 선택될 때, 텍스트는 강조될 수 있고 2개의 그리퍼, 즉, 선택된 텍스트의 시작점에 하나의 그리퍼와, 상기 선택된 텍스트의 종료점에 하나의 그리퍼가 디스플레이될 수 있다. 도 8a는 제 1 그리퍼(810) 및 제 2 그리퍼(820)가 동일한 원인 실시예를 도시한다. 상기 원의 내부는 솔리드 컬러(solid color)이거나, 완전한 투명이거나, 솔리드 컬러와 완전한 투명 사이의 임의의 투명도를 가질 수 있다.
도 8b는 내부에 그래픽을 갖는 원인 예시적 그리퍼(820 및 822)를 도시한다. 임의의 적합한 그래픽이 사용될 수 있다. 도시된 예시에서, 사용자가 그리퍼가 상호작용형이고 명령을 입력하도록 사용될 수 있음을 실감하도록, 수직선이 사용되어 텍스처를 나타낼 수 있다.
도 8c는 종료 그리퍼(832)의 거울 이미지인 시작 그리퍼(830)를 도시한다. 2개의 그리퍼는 바깥쪽을 가리키는 삼각형이다. 원형 그리퍼의 경우처럼, 삼각형의 내부는 완전 불투명이거나, 완전 투명이거나, 그 사이의 임의의 투명도를 가질 수 있다. 도 8d는 삼각형 그리퍼(840 및 842)를 도시하지만, 선택된 텍스트의 시작과 종료 위치를 더 정밀하게 나타내기 위해 수직선이 추가된다.
도 8e는 비-표준 형태인 그리퍼(850 및 852)를 도시한다. 이들은 하부가 둥글고 거의 상부에서 점을 가져, 완전히 둥근 형태보다 선택된 텍스트의 시작 및 종료를 더 정밀하게 가리킬 수 있다.
앞서 언급된 그리퍼는 예시에 불과하며 본 발명의 실시예는 임의의 특정 형태에 국한되지 않는다. 예를 들어, 사용자에 의해 그리퍼 이미지용으로 임의의 이미지 또는 아이콘이 선택될 수 있다. 이러한 방식으로 그리퍼는 사용자의 선호되는 경험으로 개인화(personalize)될 수 있다. 일부 실시예에서, 그리퍼는 항상 선택되는 문자와 연관된 텍스트의 라인 아래에 디스플레이된다. 텍스트가 선택되지 않는 경우, 대신 커서가 디스플레이되고 그리퍼가 상기 커서 아래에 디스플레이될 수 있다. 덧붙여, 해당 분야의 통상의 기술자라면 도시되지 않은 그리퍼 형태 및 배치의 그 밖의 다른 여러 변형예가 존재하고, 본 발명의 실시예에 의해 사용될 수 있고 커버될 수 있음을 알 것이다. 예를 들어, 수직 언어가 디스플레이되는 경우, 그리퍼는 텍스트의 좌측에 디스플레이될 수 있다.
앞서 설명된 바와 같이, 컴퓨팅 장치(110)는 터치 스크린 센서(172) 밖의 다른 다양한 장치로부터의 입력을 수신할 수 있다. 일부 실시예에서, 이들 그 밖의 다른 다양한 장치를 이용해 커서(420)가 배치되는 경우, 상기 터치 스크린 엔진은 디스플레이 스크린(191) 상에 그리퍼(410)를 디스플레이하지 않을 수 있다. 예를 들어, 키보드(162) 또는 버튼(230) 상의 화살표 키가 커서를 이동시키기 위해 사용되는 경우, 그리퍼는 디스플레이되지 않을 수 있다.
이하에서, 텍스트를 선택하기 위해 그리퍼를 이용하는 것이 도 5a-5c를 참조하여 설명될 것이다. 도 5a는 도 4b에 도시된 것과 동일한 커서(420) 위치를 도시한다. 상기 커서(420)는 임의의 적합한 방식으로, 가령, 근사 커서 배치에 의해, 문자열(300)의 종료 글자(320) 뒤에 배치될 수 있다. 사용자가 손가락을 이용해 그리퍼를 선택할 때, 상기 커서(420) 및 그리퍼(410)와 연관된 텍스트가 그리퍼 또는 사용자의 손가락에 의해 가려지지(occlude) 않도록, 컴퓨팅 장치(200)는 커서(420) 아래에 그리퍼(410)를 디스플레이한다. 사용자는 "드래그 입력"을 이행하기 위해 그리퍼를 누르고 드래그할 수 있다. 일부 실시예에서, 터치 스크린 엔진이 사용자로부터 드래그 입력을 수신하지만 드래그 입력의 초기 위치가 그리퍼에 대응하지 않을 때, 텍스트는 스크롤(scroll) 또는 팬(pan)하여 추가 텍스트가 이용 가능해질 때 이를 디스플레이할 수 있다.
도 5b는 사용자의 손가락이 텍스트의 라인을 따르는 방향으로 디스플레이 스크린(250)을 가로질러 추적할 수 있는 경로(525)를 도시한다. 이 예시에서, 경로(525)는 그리퍼(410)에 대응하는 위치에서 시작하여 텍스트의 라인의 방향을 따라 좌측으로 계속되고, 마지막으로, 사용자가 스크린(250)에서 손가락을 뗄 때 "x"로 표시되는 위치에서 종료된다. 그리퍼(410)가 텍스트를 시각적으로 가리지 않도록 충분히 텍스트 아래에 있기 때문에, 상기 경로는 문자열 아래에 있을 수 있어서, 텍스트가 선택되는 중일 때 사용자는 여전히 텍스트와의 가시선(visual line of sight)을 유지할 수 있다.
일부 실시예에서, 선택을 가리키는 경로(525)가 사용자로부터 수신될 때 문자열의 문자들이 강조된다. 예를 들어, 사용자의 손가락이 글자 "r" 아래에서 경로를 따를 때, 강조된 부분이 상기 글자를 포함하도록 증가될 것이다. 강조는 선택되는 문자의 뒷 변경의 음영(520)일 수 있고, 사용자에게 상기 문자가 선택된 중임을 가리킬 수 있다. 사용자가 디스플레이 스크린(250)으로부터 손가락을 뗌으로써 드래그 입력을 완료할 때까지 사용자의 손가락이 계속됨에 따라 경로(525)가 가로지르는 다른 글자가 강조 부분의 일부가 된다. 드래그 입력의 종료 위치가 문자(530)에 대응하고, 문자(530)과 본래 커서 위치에 대응하는 문자(320) 사이의 텍스트가 선택될 것이다. 앞서 언급된 바와 같이, 경로는 문자열 아래에 위치하기 때문에, 사용자는 선택되는 문자와의 가시선을 유지할 수 있다.
일부 실시예에서, 드래그 입력이 사용자에 의해 입력되는 중일 때 터치 스크린 엔진은 그리퍼(410) 및/또는 커서(420)를 디스플레이하지 않을 것이다. 이는 사용자를 혼란스럽게 할 수 있는 불필요한 그래픽을 제거하며, 사용자가 단순하게 강조된 문자에 집중하게 한다.
도 5c는 드래그 입력이 완료된 후 선택된 텍스트를 도시한다. 터치 스크린 엔진은 디스플레이 스크린(191)에게 커서(420)의 본래 위치에 대응하는 글자(320)와 경로(525)가 종료된 위치에 대응하는 글자(530)사이의 텍스트를 강조하도록 지시한다. 그리퍼(410)는 드래그 입력이 수신되기 전과 동일한 위치에 디스플레이될 수 있다. 터치 스크린 엔진은 새로운 그리퍼(510)를 문자열(300)의 선택된 문자의 시작점에 디스플레이한다. 선택된 텍스트는 그리퍼(510) 또는 그리퍼(410)에 의해 유사한 상호작용에 의해 더 변경될 수 있다. 사용자는 그리퍼들 중 하나에 대응하는 시작 위치와 함께 추가 드래그 입력을 제공함으로써 더 많거나 더 적은 문자를 선택할 수 있다.
일부 실시예에서, 도 5c에 도시된 것처럼, 터치 스크린 센서(172)는 사용자로부터 그리퍼(410)에 대응하는 드래그 입력을 수신할 수 있다. 상기 드래그 입력은 그리퍼(510)의 다른 측 상에서 종료될 수 있다. 예를 들어, 드래그 입력이 문자열(300)의 문자 "C"에서 종료된 경우, 상기 드래그 입력의 해제 시, 터치 스크린 엔진은 문자 "Comp", 즉, 드래그 입력이 개시된 때의 그리퍼(510)의 위치와 드래그 입력의 종료 점에 대응하는 위치 사이의 텍스트를 선택한다.
일부 실시예에서, 터치 스크린 엔진은 그리퍼의 형태 및/또는 위치를 변경하여, 2개의 그리퍼가 겹치지 않도록 한다. 도 6a는 그리퍼들이 서로 겹치도록 한 경우 발생하는 문제를 도시한다. 이 상황은 문자의 개수가 적을 때 발생할 수 있으며, 그리퍼의 폭의 2배보다 작을 선택된 텍스트의 폭을 도출한다. 또한 이는 스크린 크기가 작을 때, 가령, 핸드헬드 장치 상에서, 그리퍼가 스크린 크기 및 해상도와 무관하게 고정 크기로 설정될 때 발생할 수 있다. 그리퍼(610)는 문자열(600)의 선택된 문자의 시작점과 연관되고 그리퍼(620)는 선택된 문자의 종료점과 연관된다. 앞서 언급된 바와 같이, 선택된 문자는 강조된다(630). 그리퍼(610)와 그리퍼(620) 간의 겹침에 의해, 특정 그리퍼를 선택하는 것이 사용자에게 어렵게 될 것이다. 겹침은 또한 사용자를 시각적으로 혼란스럽게 할 수 있다. 도 6b는 그리퍼를 동일한 크리로 유지하지만 그리퍼를 선택된 텍스트의 종료점으로부터 멀리 이동시킨 결과를 도시한다. 두 그리퍼(610) 및 그리퍼(620) 모두, 도 5c에 예시로서 도시된 더 많은 개수의 문자가 선택될 때에서보다, 강조된 텍스트로부터 더 먼 곳에 디스플레이된다. 이는 겹치는 그리퍼들을 방지하고 사용자가 혼란을 느끼지 않으면서 각각의 그리퍼와 개별적으로 쉽게 상호작용하도록 한다.
사용자가 텍스트를 선택하고 터치 스크린 엔진이 선택된 텍스트를 강조하면, 도 5c에 도시된 것처럼, 사용자는 텍스트의 선택된 부분을 기초로 실행될 기능을 선택할 수 있다. 앞서 언급된 바와 같이, 기능들의 예로는 텍스트를 덮어쓰기, 텍스트를 재-포맷팅하기, 텍스트를 삭제하기, 또는 텍스트를 복사하기가 있다. 선택된 텍스트를 기초로 수행될 수 있는 또 다른 기능은 콘텍스트 메뉴(context menu)(550)를 디스플레이하는 것이다. 상기 콘텍스트 메뉴(550)는, 예를 들어, 도 5d에 도시된 바와 같이, 강조된 텍스트 또는 2개의 그리퍼(410 및 510) 중 하나에 대응하는 입력을 제공함으로써, 디스플레이될 수 있다. 입력은 예를 들어 탭 입력의 형태일 수 있다. 콘텍스트 메뉴(550)는 사용자에게 선택된 텍스트에 수행될 수 있는 다양한 추가 기능을 제공한다. OS(134) 또는 애플리케이션 프로그램(135)으로부터 터치 스크린 엔진에게 기능 옵션이 제공될 수 있다. 예를 들어, 웹 브라우저 애플리케이션이 스크린 상의 디스플레이를 위해 터치 스크린 엔진에게 텍스트 정보를 제공하는 중인 경우, 상기 콘텍스트 메뉴에 대한 정보를 제공하는 웹 브라우저일 수 있다. 콘텍스트 메뉴(550)에 의해 제공되는 다양한 추가 기능은, 예를 들어, 선택된 문자를 잘라내기 또는 복사하기 위한 옵션일 수 있다. 기능은 또한 선택된 텍스트를 재-포맷팅하기 위한 옵션을 포함할 수 있다. 또한 상기 콘텍스트 메뉴(550)는 이전에 복사되고 문자를 붙여넣기하고, 선택된 텍스트를 덮어쓰기 위한 옵션을 제시할 수 있다. 상기 콘텍스트 메뉴는 본원에 기재되지 않았지만, 해당 분야의 통상의 기술자라면 본원에서 청구되는 발명의 실시예에 의해 커버되는 것으로 이해될 또 다른 옵션을 제공할 수 있다. 덧붙여, 콘텍스트 메뉴는 임의의 형태 또는 크기를 가질 수 있다. 예를 들어, 도 5d에 도시되는 것처럼, 콘텍스트 메뉴는 기능이 수직 리스트로 디스플레이되는 장방형 메뉴일 수 있다. 일부 실시예에서 콘텍스트 메뉴는 원형 또는 타원형일 수 있고, 기능들을 방사형으로 디스플레이할 수 있다. 본 발명의 실시예는 콘텍스트 메뉴의 임의의 특정 크기 또는 형태에 국한되지 않고, 본원에 기재된 특정 기능들 중 임의의 것을 제공하는 것에도 국한되지 않는다.
마찬가지로, 도 5a에 도시된 것처럼 텍스트가 선택되지 않고 단일 그리퍼만 디스플레이될 때라도, 그리퍼(410)의 탭 입력이 콘텍스트 메뉴의 디스플레이를 도출할 수 있다. 어떠한 텍스트도 선택되지 않았기 때문에 상기 콘텍스트 메뉴는 잘라내기 또는 복사하기 옵션을 디스플레이하지 않을 수 있지만, 붙여넣기 또는 그 밖의 다른 임의의 적합한 기능을 제공할 수 있다.
문자 선택에 대한 지금까지의 기술은 단일 라인 상의 텍스트에 한정됐다. 그러나 복수의 라인을 차지하는 텍스트 블록으로부터 문자들의 서브세트를 선택하는 것이 또한 본 발명의 일부 실시예의 양태이다. 구체적으로, 사용자가 자신으로부터의 드래그 입력의 개시와 연관된 텍스트의 라인과 상이한 라인 상의 텍스트를 선택하고자 할 때를 결정할 수 있는 능력이 있다. 사용자의 손가락으로부터의 입력은 부정밀하고(imprecise), 인간은 직선이 아니며 자신이 의도하는 경로로부터 이탈된 터치 스크린 상 경로를 추적하는 경향을 가진다. 따라서 본 발명의 일부 실시예는 텍스트의 각각의 라인과 연관된 "안전 구역(safety zone)"을 제공한다. 안전 구역은 텍스트의 라인을 둘러싸는 영역이며, 사용자로부터의 드래그 입력과 연관된 경로가 상기 안전 구역 내에 유지되는 한, 컴퓨팅 장치(200)는 사용자가 텍스트의 동일 라인 상에 머무르도록 선택할 의도를 가진다고 결정할 것이다. 또한 안전 구역은 사용자에 의해 개시되는 선택이 커서가 본래 연관된 라인 상에서 시작함을 보장한다. 일부 실시예에서, 안정 구역의 경계를 정의한느 텍스트의 라인으로부터 이격된 임계 거리가 사용자의 액션을 기초로 변경될 수 있다.
본 발명의 일부 실시예의 예로서, 도 7a가 상부 라인(719), 중앙 라인(720), 및 하부 라인(730)을 차지하는 텍스트(700)를 도시한다. 각각의 라인은 하나의 방향으로, 예를 들어, 수평으로 뻗어 있고, 각각의 라인은 또 다른 방향으로, 가령, 수직으로, 다음 번 라인과 이웃한다. 커서(712)는 제 1 라인(710) 상의 단어 "quick"의 시작점엣 위치한다. 상기 커서는 앞서 기재도니 커서 배치 기법들 중 임의의 것을 이용해 특정 위치에 배치될 수 있다. 터치 스크린 엔진은 커서(712) 아래에 그리퍼(714)를 디스플레이한다.
사용자는 그리퍼(714)에서 시작하여, 경로(716)를 따르는 드래그 입력을 입력할 수 있으며, 상기 경로는 제 2 라인(720)과 연관된 위치에서 종료한다. 안전 구역 경계(740)는 도 7a 내 점선에 의해 도시되지만, 상기 라인이 디스플레이 스크린 상에 디스플레이되지 않을 수도 있다. 경계(740)는 자신이 연관된 텍스트(710)의 제 1 라인으로부터의 특정 거리이다. 거리는 임의의 개수의 파라미터의 함수일 수 있다. 예를 들어, 거리는 텍스트로부터 이격된 일부 지정된 길이 또는 텍스트로부터 이격된 지정된 픽셀 수일 수 있다. 일부 실시예에서, 상기 거리는 동적일 수 있다. 상기 거리는 수직 라인 높이, 텍스트의 라인들 간 공백의 크기, 스크린 크기, 또는 스크린 해상도의 함수일 수 있다. 도 7a에 도시된 예시에서, 경계(740)는 텍스트(720)의 제 2 라인이 차지하는 수직 레벨에 위치한다. 드래그 입력의 경로(716)가 경계(740)를 통과하지 않는다면, 컴퓨팅 장치가 사용자는 제 2 라인(720) 내 텍스트를 선택할 의도가 없었다고 결정한다. 예를 들어, 도 7a에 도시된 경로(716)가 경계(740) 바로 위, 텍스트(710)의 제 1 라인 상의 글자 "o"와 글자 "w" 사이의 위치에 대응하는 수평 위치에서 종료한다. 따라서 컴퓨팅 장치는 사용자가 제 1 라인(710) 상의 텍스트 "quick bro"를 선택하기를 원했다고 결정한다.
도 7b는 도 7a의 경로(716)에 대응하는 상기의 드래그 입력을 수신한 후 디스플레이될 것을 도시한다. 터치 스크린 엔진이 텍스트 "quick bro"를 강조(722)하며, 강조된 텍스트의 시작점에 제 1 그리퍼(714)가 그리고 강조된 텍스트의 종료점에 제 2 그리퍼(724)가 존재한다. 사용자는 그리퍼(724)에 대응하는 시작점을 가지며 경로(726)를 따르는 제 2 드래그 입력을 입력할 수 있으며, 상기 경로(726)는 텍스트(720)의 제 2 라인의 "o"와 "v" 사이에서 종료하고 경계(740) 아래에 위치한다. 드래그 입력이 경계(740) 아래에서 종료됐기 때문에, 컴퓨팅 장치(200)는 사용자가 제 2 라인(720) 내 텍스트를 선택하려 의도했다고 결정한다. 따라서 도 7c는 제 1 라인 상의 제 1 그리퍼(714)와 연관된 위치 뒤의 모든 문자가 선택되고 제 2 라인의 시작점에서부터 경로(726)의 종료와 연관된 위치까지의 모든 문자가 강조된다(722).
또한 도 7c는 제 1 라인(710)의 안전 구역과 연관된 임계 거리의 변경을 도시한다. 사용자가 드래그 입력을 입력하는 동안 경로(726)가 제 1 라인(710)의 안전 구역과 연관된 경계(740)를 가로지를 경우, 경계의 위치는, 경계(741)에 의해 도시되는 것처럼, 제 1 라인의 텍스트에 가깝도록 이동(shift)될 것이다. 사용자에게 텍스트를 선택하는 동안 경로의 위치의 자유(leeway)를 제공함으로써, 사용자의 입력이 사용자가 텍스트의 블록 내 인접 라인들을 포함하도록 선택된 텍스트를 확장하기를 원함을 가리킬 때까지 사용자가 단일 라인 상의 텍스트만 선택하는 것이 더 용이해진다. 더 멀리 이격된 경계(740)를 이용하는 것은 제 1 동작 모드와 연관된다. 경계(740)와 연관된 임계 거리를 횡단함으로써, 서로 다른 라인 상의 텍스트를 선택하려는 사용자의 의도가 분명해지면, 컴퓨팅 장치는 임계 거리를 본래의 임계 거리보다 작은 임의의 값까지로 감소시킴으로써, 선택된 텍스트의 종료점을 변경하는 것을 더 용이하게 한다. 이러한 감소된 거리 경계는 제 2 동작 모드와 연관된다.
초기 경계(740)가 횡단된 후 그리고 드래그 입력이 사용자에 의해 여전히 입력 중일 때 제 2 모드가 구현된다. 컴퓨팅 장치(200)가 제 2 모드에서 동작할 때, 각각의 라인은 컴퓨팅 장치(200)가 제 2 모드에서 동작할 때보다 텍스트의 라인으로부터 이격된 더 짧은 거리인 안전 구역 경계를 가진다. 예를 들어, 안전 구역 경계는 동일한 감소된 거리를 가질 수 있고 임계치가 경계(741)이다. 도 7c는 텍스트(720)의 제 2 라인의 안전 구역과 연관된 하부 경계(742)를 도시한다.
사용자는 컴퓨팅 장치(200)의 터치 스크린을 이용한 제 3 드래그 입력을 입력할 수 있다. 도 7c는 선택된 텍스트의 시작점과 연관된 그리퍼(714)에서 시작하는 이러한 드래그 입력과 연관된 경로(736)를 도시한다. 앞서 언급된 바와 같이, 제 1 모드인 동안, 라인을 변경하기 위한 임계 거리는 텍스트의 라인과 비교적 멀리 이격되어 있고 경계(740)에 의해 도시된다. 경로(736)가 경계(740)를 횡단하면, 컴퓨팅 장치가 제 2 모드에 들어가고, 여기서 임계치는 감소되며 경계(741)로 나타내어진다. 텍스트(720)의 제 2 라인과 연관된 안전 구역 경계는 경계(742)로 나타내어진다. 경로(836)는 제 3 라인(730) 상의 글자 "I" 및 글자 "a" 사이의 공백과 연관된 위치에서 종료한다. 도 7d에서 도시된 바와 같이, 선택된 텍스트의 시작점과 초기에 연관됐던 그리퍼(714)는, 제 3 드래그 입력 후, 선택된 텍스트의 종료점과 연관된다. 마찬가지로, 선택된 텍스트의 종료점과 본래 연관됐던 그리퍼(724)는, 제 3 드래그 입력 후, 선택된 텍스트의 시작점과 연관된다.
일부 실시예에서, 드래그 입력이 사용자로부터 수신될 때, 각각의 드래그 입력과 연관된 경로를 따라 현재 위치를 기초로 강조(722)가 업데이트된다. 일부 실시예에서, 그리퍼(714) 및 그리퍼(724)는 드래그 입력이 수신되는 동안 디스플레이되지 않을 수 있다.
앞서 언급된 안전 구역은 텍스트의 라인이 배향되는 방향으로 적용되지 않는다. 예를 들어, 상기의 기재에서, 안전 구역은 텍스트의 라인에 직교인 방향, 가령, 수직 방향에만 적용됐다. 텍스트의 라인의 방향, 가령, 수평 방향을 따라 텍스트의 강조된 부분의 종료점을 결정하는 것이 도 5a-5c를 참조하여 설명된 것과 동일한 방식으로 이뤄질 수 있다. 이러한 수평 방향을 따라, 텍스트의 강조된 부분은 사용자의 드래그 입력이 문자를 가로지를 때 하나의 문자씩 업데이트될 수 있다.
따라서 본 발명의 적어도 하나의 실시예의 몇 가지 양태를 기재했으며, 다양한 변경, 수정, 및 개선이 해당 분야의 통상의 기술자에게 쉽게 이해될 것이 자명하다.
이러한 변경, 수정, 및 개선은 본 발명의 일부이도록 의도되며, 본 발명의 사상과 범위 내에 있는 것으로 의도된다. 덧붙여, 본 발명의 이점이 지시되었지만, 본 발명의 모든 실시예가 모든 기재된 이점을 포함하는 것은 아님을 이해해야 한다. 일부 실시예는 본원에서 그리고 일부 사례에서 바람직하다고 기재된 임의의 특징을 구현하지 않을 수 있다. 따라서 지금까지의 기재와 도면은 단지 예시에 불과하다.
본 발명의 앞서 기재된 실시예는 임의의 다양한 방식으로 구현될 수 있다. 예를 들어, 실시예는 하드웨어, 소프트웨어, 또는 이들의 조합을 이용해 구현될 수 있다. 소프트웨어로 구현될 때, 상기 소프트웨어 코드는, 단일 컴퓨터로 제공되거나 복수의 컴퓨들 간에 분산되거나에 무관하게, 임의의 적합한 프로세서 또는 프로세서들의 집합 상에서 실행될 수 있다. 이러한 프로세서는 집적 회로 구성요소에 하나 이사의 프로세서를 갖는 집적 회로로서 구현될 수 있다. 그럼에도, 프로세서는 임의의 적합한 형식의 회로를 이용해 구현될 수 있다.
본원에 기재된 다양한 방법 또는 프로세서가 다양한 운영 체제 또는 플랫폼들 중 하나를 이용하는 하나 이상의 프로세서 상에서 실행될 수 있는 소프트웨어로서 코딩될 수 있다. 덧붙여, 이러한 소프트웨어는 복수의 적합한 프로그래밍 언어 및/또는 프로그래밍 또는 스크립팅 툴 중 임의의 것을 이용해 써질 수 있으며, 프레임워크 또는 가상 머신 상에서 실행되는 실행 가능한 기계어 코드 또는 중간 코드로 컴파일될 수 있다.
용어 "프로그램" 또는 "소프트웨어"는 본원에서 일반적인 의미로, 앞서 기재된 바와 같은 본 발명의 다양한 양태를 구현하도록 컴퓨터 또는 그 밖의 다른 프로세서를 프로그램하기 위해 채용될 수 있는 임의의 유형의 컴퓨터 코드 또는 컴퓨터 실행형 명령어의 세트를 지칭하도록 사용된다. 덧붙여, 이 실시예의 하나의 양태에 따라, 실행될 때 본 발명의 방법을 수행하는 하나 이상의 컴퓨터 프로그램은 단일 컴퓨터 또는 프로세서 상에 위치할 필요가 없으며 본 발명의 다양한 양태를 구현하도록 여러 다른 컴퓨터 또는 프로세서들 간에 모듈식으로 분산될 수 있다.
컴퓨터 실행형 명령어는 하나 이상의 컴퓨터 또는 그 밖의 다른 장치에 의해 실행되는 여러 형태, 가령, 프로그램 모듈의 형태일 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조, 등을 포함한다. 일반적으로 프로그램 모듈의 기능은 다양한 실시예에서 적절하게 조합되거나 분산될 수 있다.
또한, 데이터 구조가 컴퓨터 판독형 매체에 임의의 적합한 형태로 저장될 수 있다. 설명의 간결성을 위해, 데이터 구조는 데이터 구조 내 위치를 통해 관련되는 필드를 갖는 것으로 나타날 수 있다. 이러한 관계는 마찬가지로, 필드에 대한 저장에 상기 필드들 간 관계를 운송하는 컴퓨터 판독형 매체 내 위치를 할당함으로써 이뤄질 수 있다. 그러나 데이터 구조의 필드 내 정보들 간 관계를 확립하기 위해 임의의 적합한 메커니즘, 가령, 포인터, 태그, 또는 데이터 요소들 간 관계를 확립하는 그 밖의 다른 메커니즘이 사용될 수 있다.
본 발명의 다양한 양태들은 홀로, 또는 조합되어, 또는 앞서 기재된 실시예에서 특정한게 언급되지 않은 다양한 배열로 사용될 수 있으며, 따라서 상기의 기재에서 제공되고 도면에 도시된 구성요소들의 상세사항과 배열에 국한되어 적용되지 않는다. 예를 들어, 하나의 실시예에서 기재된 양태는 또 다른 실시예에서 기재된 양태와 임의의 방식으로 조합될 수 있다.
또한, 본 발명은 예를 들어 제공된 바 있는 방법으로 구현될 수 있다. 본 발명의 일부로서 수행되는 동작들은 임의의 적합한 방식으로 순서화될 수 있다. 따라서 동작들이 도시된 것과 상이한 순서로 수행될 수 있는 실시예가 구성될 수 있으며, 도시된 실시예에서 순차적인 동작들로 나타났었던 일부 동작들도 동시에 수행되는 것이 포함될 수 있다.
예를 들어, 앞서 개시된 하나의 실시예는 텍스트의 문자열 내 커서의 근사 배치 및 정밀 배치에 관한 것이다. 또 다른 실시예는 그리퍼를 이용해 텍스트의 문자열을 선택하는 것과 관련된다. 이들 실시예들은 조합되어, 그리퍼에 대한 텍스트 선택을 수행하면서 대략적인 배치와 정밀 배치가 사용되도록 한다. 예를 들어, 사용자로부터의 드래그 입력의 종료 위치는 우선 근사 배치를 이용해 결정될 수 있다. 그 후, 사용자로부터 추가 입력이 있으면, 그리퍼가 더 정밀하게 배치될 수 있다. 사용자로부터의 임의의 적합한 입력이 수신될 수 있다. 예를 들어, 사용자는 텍스트의 선택된 문자열 내에 탭 입력을 제공하고, 상기 그리퍼를 정밀하게 배치시키기 위한 그리퍼와 연관된 추가 드래그 입력을 제공할 수 있다.
청구항 요소들을 수정하기 위해 청구항에서 "제 1", "제 2", "제 3" 등의 서수어를 사용하는 것은 임의의 우선순위, 선행, 또는 하나의 청구항 요소에 대한 또 다른 청구항 요소의 순서, 또는 방법의 동작이 수행되는 시간 순서를 의미하지 않으며, 특정 명칭을 갖는 하나의 청구항 요소를 동일 명칭(그러나 서수 용어로 사용됨)을 갖는 또 다른 청구항 요소로부터 구별하기 위한 라벨링을 위해서 사용될 뿐이다.
또한 본원에서 사용되는 구문과 용어는 설명 목적을 가지며, 한정으로 간주되어서는 안 된다. "~를 포함하는", "~를 갖는"(including, comprising, having, containing, involving) 및 이들의 변형 형태는 앞에 나열되는 아이템들과 이의 균등물뿐 아니라 추가 아이템까지 포함하는 것을 의미한다.

Claims (12)

  1. 텍스트의 복수의 라인을 포함하는 문자열(a string of characters) -상기 텍스트의 각각의 라인은 제 1 방향으로 연장되고, 상기 텍스트의 복수의 라인은 제 2 방향으로 서로 오프셋(offset)됨- 을 디스플레이하는 컴퓨팅 장치의 디스플레이 스크린 상에 커서(cursor)를 배치하기 위한 방법으로서,
    상기 방법은
    상기 텍스트의 복수의 라인의 일부(portion)를 선택된 텍스트로서 디스플레이하는 단계 -상기 일부는 시작 위치와 종료 위치를 가짐- 와,
    상기 선택된 텍스트의 상기 종료 위치에 대한 업데이트를 지시하는 사용자 입력에 적어도 기반하여 -초기 라인은 상기 업데이트 이전의 상기 종료 위치를 포함하고, 현재 라인은 처음에 상기 초기 라인임-, 상기 종료 위치에 대한 업데이트가, 상기 사용자 입력에 의해 표시된 상기 제 1 방향에서의 위치에 기반하여 상기 텍스트의 상기 현재 라인을 따라서 상기 종료 위치를 업데이트하는 동작 및 상기 사용자 입력에 의해 표시된 상기 제 2 방향에서의 위치에 기반하여 상기 종료 위치를 업데이트하는 동작에 의하여 계속 수신되는 동안, 상기 선택된 텍스트로서 디스플레이된 상기 텍스트의 복수의 라인의 상기 일부를 상호작용적으로 조절(interactively adjusting)하는 단계를 포함하되,
    상기 제 2 방향에서의 위치에 기반하여 상기 종료 위치를 업데이트하는 동작은,
    상기 컴퓨팅 장치가 제 1 모드로 동작하고 상기 사용자 입력이 상기 제 2 방향에서의 상기 초기 라인으로부터 제 1 임계 거리 내에 있는 업데이 트된 종료 위치를 나타내는 동안에, 상기 현재 라인 내의 상기 종료 위치를 유지하는 단계와,
    상기 컴퓨팅 장치가 상기 제 1 모드로 동작하고 상기 사용자 입력이 상기 제 2 방향에서의 상기 초기 라인으로부터 상기 제 1 임계 거리 밖에 있 는 업데이트된 종료 위치를 나타내는 동안에, 인접한 라인으로 상기 종료 위 치를 변경하고 -상기 인접한 라인은 상기 초기 라인과 인접하고 상기 제 2 방향으로 오프셋됨-, 상기 현재 라인을 상기 인접한 라인으로 설정한 후에 제 2 모드로 진입하는 단계와,
    상기 컴퓨팅 장치가 상기 제 2 모드로 동작하는 동안에, 상기 현재 라인으로부터 상기 제 2 방향에서의 제 2 임계 거리를 이용하여 -상기 제 2 임계 거리는 상기 제 1 임계 거리보다 작음- 상기 선택된 텍스트의 상기 종 료 위치를 상기 현재 라인과 다른 라인으로 변경할지 여부를 결정하는 단계 를 포함하는
    커서를 배치하기 위한 방법.
  2. 제1항에 있어서,
    상기 디스플레이 스크린은 터치 스크린이고,
    상기 방법은
    제 1 그리퍼(gripper)를 상기 시작 위치와 연관된 제 1 그리퍼 위치에 디스플레이하는 단계와,
    제 2 그리퍼를 상기 종료 위치와 연관된 제 2 그리퍼 위치에 디스플레이하는 단계를 더 포함하는
    커서를 배치하기 위한 방법.
  3. 제2항에 있어서,
    상기 제 1 그리퍼와 상기 제 2 그리퍼를 디스플레이하는 단계는,
    디스플레이 스크린 파라미터에 기반하여 상기 제 1 그리퍼와 상기 제 2 그리퍼의 폭(width)을 결정하는 단계를 포함하는
    커서를 배치하기 위한 방법.
  4. 제2항에 있어서,
    상기 시작 위치와 상기 종료 위치가 상기 제 1 그리퍼와 상기 제 2 그리퍼의 폭과 연관된 기결정된 거리보다 가까우면, 상기 제 1 그리퍼와 상기 제 2 그리퍼가 겹치지 않도록 상기 제 2 그리퍼는 상기 제 1 그리퍼로부터 이격되는
    커서를 배치하기 위한 방법.
  5. 내부 저장된 인스트럭션을 포함하는 적어도 하나의 저장 디바이스로서,
    상기 인스트럭션은 텍스트의 복수의 라인을 포함하는 텍스트를 디스플레이하는 디스플레이 스크린을 포함하는 컴퓨팅 장치의 프로세서에 의해 실행될 때 -상기 텍스트의 각각의 라인은 제 1 방향으로 연장되고, 상기 텍스트의 복수의 라인은 제 2 방향으로 서로 오프셋(offset)됨-,
    상기 텍스트의 복수의 라인의 일부(portion)를 선택된 텍스트로서 디스플레이하는 단계 -상기 일부는 시작 위치와 종료 위치를 가짐- 와,
    상기 선택된 텍스트의 상기 종료 위치에 대한 업데이트를 지시하는 사용자 입력에 적어도 기반하여 -초기 라인은 상기 업데이트 이전의 상기 종료 위치를 포함하고, 현재 라인은 처음에 상기 초기 라인임-, 상기 업데이트가, 상기 사용자 입력에 의해 표시된 상기 제 1 방향에서의 위치에 기반하여 상기 텍스트의 상기 현재 라인을 따라서 상기 종료 위치를 업데이트하는 동작 및 상기 사용자 입력에 의해 표시된 상기 제 2 방향에서의 위치에 기반하여 상기 종료 위치를 업데이트하는 동작에 의하여 수신되는 동안에, 상기 선택된 텍스트로서 디스플레이된 상기 텍스트의 복수의 라인의 상기 일부를 상호작용적으로 조절하는 단계
    를 포함하는 방법을 실행하되,
    상기 제 2 방향에서의 위치에 기반하여 상기 종료 위치를 업데이트하는 동작은
    상기 컴퓨팅 장치가 제 1 모드로 동작하고 상기 사용자 입력이 상기 제 2 방향에서의 상기 초기 라인으로부터 제 1 임계 거리 내에 있는 업데이 트된 종료 위치를 나타내는 동안에, 상기 현재 라인 내의 상기 종료 위치를 유지하는 단계와,
    상기 컴퓨팅 장치가 상기 제 1 모드로 동작하고 상기 사용자 입력이 상기 제 2 방향에서의 상기 초기 라인으로부터 상기 제 1 임계 거리 밖에 있 는 업데이트된 종료 위치를 나타내는 동안에, 인접한 라인으로 상기 종료 위 치를 변경하고 -상기 인접한 라인은 상기 초기 라인과 인접하고 상기 제 2 방향으로 오프셋됨-, 상기 현재 라인을 상기 인접한 라인으로 설정한 후에 제 2 모드로 진입하는 단계와,
    상기 컴퓨팅 장치가 상기 제 2 모드로 동작하는 동안에, 상기 현재 라인으로부터 상기 제 2 방향에서의 제 2 임계 거리를 이용하여 -상기 제 2 임계 거리는 상기 제 1 임계 거리보다 작음- 상기 선택된 텍스트의 상기 종 료 위치를 상기 현재 라인과 다른 라인으로 변경할지 여부를 결정하는 단계 를 포함하는
    저장 디바이스.
  6. 제5항에 있어서,
    상기 디스플레이 스크린은 터치 스크린이고,
    상기 방법은
    제 1 그리퍼(gripper)를 상기 시작 위치와 연관된 제 1 그리퍼 위치에 디스플레이하는 단계와,
    제 2 그리퍼를 상기 종료 위치와 연관된 제 2 그리퍼 위치에 디스플레이하는 단계를 더 포함하는
    저장 디바이스.
  7. 제6항에 있어서,
    상기 제 1 그리퍼와 상기 제 2 그리퍼를 디스플레이하는 단계는,
    디스플레이 스크린 파라미터에 기반하여 상기 제 1 그리퍼와 상기 제 2 그리퍼의 폭(width)을 결정하는 단계를 포함하는
    저장 디바이스.
  8. 제6항에 있어서,
    상기 시작 위치와 상기 종료 위치가 상기 제 1 그리퍼와 상기 제 2 그리퍼의 폭과 연관된 기결정된 거리보다 가까우면, 상기 제 1 그리퍼와 상기 제 2 그리퍼가 겹치지 않도록 상기 제 2 그리퍼는 상기 제 1 그리퍼로부터 이격되는
    저장 디바이스.
  9. 텍스트의 복수의 라인을 포함하는 텍스트를 디스플레이하는 디스플레이 스크린에 출력을 제공하기 위한 접속부를 포함하는 컴퓨터로서 -상기 텍스트의 각각의 라인은 제 1 방향으로 연장되고, 상기 텍스트의 복수의 라인은 제 2 방향으로 서로 오프셋(offset)됨-,
    상기 컴퓨터는
    적어도 하나의 프로세싱 유닛을 포함하는 프로세싱 시스템과,
    내부 저장된 인스트럭션을 포함하는 적어도 하나의 저장 디바이스를 포함하되,
    상기 인스트럭션은 상기 프로세싱 시스템에 의해 실행될 때 상기 프로세싱 시스템으로 하여금,
    상기 텍스트의 복수의 라인의 일부(portion)를 선택된 텍스트로서 디스플레이하게 하고 -상기 일부는 시작 위치와 종료 위치를 가짐-,
    상기 선택된 텍스트의 상기 종료 위치에 대한 업데이트를 지시하는 사용자 입력에 적어도 기반하여 -초기 라인은 상기 업데이트 이전의 상기 종료 위치를 포함하고, 현재 라인은 처음에 상기 초기 라인임-, 상기 업데이트가 수신되는 동안에 상기 선택된 텍스트로서 디스플레이된 상기 텍스트의 복수의 라인의 상기 일부를 상호작용적으로 조절하게 하고,
    상기 프로세싱 시스템은 또한, 상기 복수의 라인의 상기 일부를 상호작용적으로 조절하기 위해,
    상기 사용자 입력에 의해 표시된 상기 제 1 방향에서의 위치에 기반하여 상기 텍스트의 상기 현재 라인을 따라서 상기 종료 위치를 업데이트하고,
    상기 사용자 입력에 의해 표시된 상기 제 2 방향에서의 위치에 기반하여 상기 종료 위치를 업데이트하며,
    상기 프로세싱 시스템은 또한, 상기 제 2 방향에서의 위치에 기반하여 상기 종료 위치를 업데이트하기 위하여,
    상기 프로세싱 시스템이 제 1 모드로 동작하고 상기 사용자 입력이 상 기 제 2 방향에서의 상기 초기 라인으로부터 제 1 임계 거리 내에 있는 업데 이트된 종료 위치를 나타내는 동안에, 상기 현재 라인 내의 상기 종료 위치 를 유지하고,
    상기 프로세싱 시스템이 상기 제 1 모드로 동작하고 상기 사용자 입력 이 상기 제 2 방향에서의 상기 초기 라인으로부터 상기 제 1 임계 거리 밖에 있는 업데이트된 종료 위치를 나타내는 동안에, 인접한 라인으로 상기 종료 위치를 변경하고 -상기 인접한 라인은 상기 초기 라인과 인접하고 상기 제 2 방향으로 오프셋됨-, 상기 현재 라인을 상기 인접한 라인으로 설정한 후에 제 2 모드로 진입하며,
    상기 프로세싱 시스템이 상기 제 2 모드로 동작하는 동안에, 상기 현 재 라인으로부터 상기 제 2 방향에서의 제 2 임계 거리를 이용하여 -상기 제 2 임계 거리는 상기 제 1 임계 거리보다 작음- 상기 선택된 텍스트의 상기 종료 위치를 상기 현재 라인과 다른 라인으로 변경할지 여부를 결정하는
    컴퓨터.
  10. 제9항에 있어서,
    상기 디스플레이 스크린은 터치 스크린이고,
    상기 프로세싱 시스템은 또한,
    제 1 그리퍼(gripper)를 상기 시작 위치와 연관된 제 1 그리퍼 위치에 디스플레이하며,
    제 2 그리퍼를 상기 종료 위치와 연관된 제 2 그리퍼 위치에 디스플레이하는
    컴퓨터.
  11. 제10항에 있어서,
    상기 프로세싱 시스템은 또한, 상기 제 1 그리퍼와 상기 제 2 그리퍼를 디스플레이하기 위하여,
    디스플레이 스크린 파라미터에 기반하여 상기 제 1 그리퍼와 상기 제 2 그리퍼의 폭(width)을 결정하는
    컴퓨터.
  12. 제10항에 있어서,
    상기 시작 위치와 상기 종료 위치가 상기 제 1 그리퍼와 상기 제 2 그리퍼의 폭과 연관된 기결정된 거리보다 가까우면, 상기 제 1 그리퍼와 상기 제 2 그리퍼가 겹치지 않도록 상기 제 2 그리퍼는 상기 제 1 그리퍼로부터 이격되는
    컴퓨터.
KR1020147006544A 2011-09-12 2011-10-11 명시적 터치 선택 및 커서 배치 기법 KR101919645B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/230,524 2011-09-12
US13/230,524 US9612670B2 (en) 2011-09-12 2011-09-12 Explicit touch selection and cursor placement
PCT/US2011/055765 WO2013039529A1 (en) 2011-09-12 2011-10-11 Explicit touch selection and cursor placement

Publications (2)

Publication Number Publication Date
KR20140081793A KR20140081793A (ko) 2014-07-01
KR101919645B1 true KR101919645B1 (ko) 2018-11-16

Family

ID=47481766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147006544A KR101919645B1 (ko) 2011-09-12 2011-10-11 명시적 터치 선택 및 커서 배치 기법

Country Status (6)

Country Link
US (2) US9612670B2 (ko)
EP (1) EP2756367A4 (ko)
JP (1) JP2014529137A (ko)
KR (1) KR101919645B1 (ko)
CN (1) CN102880417B (ko)
WO (1) WO2013039529A1 (ko)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955617B (zh) * 2011-06-03 2019-07-12 谷歌有限责任公司 用于选择文本的手势
TW201319921A (zh) * 2011-11-07 2013-05-16 Benq Corp 觸控螢幕畫面控制方法及觸控螢幕畫面顯示方法
JP5994300B2 (ja) * 2012-03-12 2016-09-21 ブラザー工業株式会社 入力装置及び入力プログラム
US9354805B2 (en) * 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
KR101823288B1 (ko) 2012-05-09 2018-01-29 애플 인크. 제스처에 응답하여 디스플레이 상태들 사이를 전이하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2013169854A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
WO2013169846A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying additional information in response to a user contact
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
KR101956082B1 (ko) 2012-05-09 2019-03-11 애플 인크. 사용자 인터페이스 객체를 선택하는 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
JP6082458B2 (ja) 2012-05-09 2017-02-15 アップル インコーポレイテッド ユーザインタフェース内で実行される動作の触知フィードバックを提供するデバイス、方法、及びグラフィカルユーザインタフェース
EP2847661A2 (en) 2012-05-09 2015-03-18 Apple Inc. Device, method, and graphical user interface for moving and dropping a user interface object
US9513931B2 (en) * 2012-08-08 2016-12-06 Sap Se System for context based user requests for functionality
US9652131B2 (en) * 2012-12-18 2017-05-16 Microsoft Technology Licensing, Llc Directional selection
JP6093877B2 (ja) 2012-12-29 2017-03-08 アップル インコーポレイテッド 複数接触ジェスチャのために触知出力の生成を見合わせるためのデバイス、方法、及びグラフィカルユーザインタフェース
EP2939095B1 (en) 2012-12-29 2018-10-03 Apple Inc. Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
CN107831991B (zh) 2012-12-29 2020-11-27 苹果公司 用于确定是滚动还是选择内容的设备、方法和图形用户界面
US9785240B2 (en) * 2013-03-18 2017-10-10 Fuji Xerox Co., Ltd. Systems and methods for content-aware selection
JP2014211701A (ja) * 2013-04-17 2014-11-13 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US9477393B2 (en) 2013-06-09 2016-10-25 Apple Inc. Device, method, and graphical user interface for displaying application status information
CN103294361B (zh) * 2013-06-26 2016-08-03 珠海金山办公软件有限公司 一种在触屏设备上快速选择文字的方法、***及装置
CN103718149B (zh) * 2013-08-31 2018-02-02 华为技术有限公司 一种文本的处理方法及触屏设备
JP6192104B2 (ja) * 2013-09-13 2017-09-06 国立研究開発法人情報通信研究機構 テキスト編集装置及びプログラム
JP2015064697A (ja) * 2013-09-24 2015-04-09 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN104516620A (zh) * 2013-09-27 2015-04-15 联想(北京)有限公司 一种定位方法以及一种电子设备
US9436918B2 (en) * 2013-10-07 2016-09-06 Microsoft Technology Licensing, Llc Smart selection of text spans
US10990267B2 (en) 2013-11-08 2021-04-27 Microsoft Technology Licensing, Llc Two step content selection
US9841881B2 (en) 2013-11-08 2017-12-12 Microsoft Technology Licensing, Llc Two step content selection with auto content categorization
CN103699292B (zh) * 2013-11-29 2017-02-15 小米科技有限责任公司 一种进入文本选择模式的方法和装置
CN103729056A (zh) * 2013-12-17 2014-04-16 张燕 通过敲击实现电子设备操控的***及方法
US20150212707A1 (en) * 2014-01-29 2015-07-30 Social Commenting, Llc Computer System and Method to View and Edit Documents from an Electronic Computing Device Touchscreen
US20170083207A1 (en) * 2014-03-20 2017-03-23 Nec Corporation Information processing apparatus, information processing method, and information processing program
WO2015145572A1 (ja) * 2014-03-25 2015-10-01 富士通株式会社 端末装置、表示制御方法及びプログラム
US20150277744A1 (en) * 2014-03-27 2015-10-01 Motorola Mobility Llc Gesture Text Selection
JP6318794B2 (ja) * 2014-04-08 2018-05-09 富士通株式会社 情報処理装置及び情報処理プログラム
CN105205386A (zh) * 2014-06-25 2015-12-30 腾讯科技(深圳)有限公司 移动终端应用程序密码保护方法和装置
CN104102452A (zh) * 2014-07-11 2014-10-15 厦门美图移动科技有限公司 一种触摸屏的增强型文本选择方法
US20160054883A1 (en) * 2014-08-21 2016-02-25 Xiaomi Inc. Method and device for positioning cursor
CN104216617B (zh) * 2014-08-27 2017-05-24 小米科技有限责任公司 光标位置确定方法和装置
KR101652446B1 (ko) * 2014-09-16 2016-08-30 엘지전자 주식회사 이동 단말기 및 그 제어 방법
KR20160032611A (ko) * 2014-09-16 2016-03-24 삼성전자주식회사 터치 입력을 이용하여 전자 장치를 제어하는 방법 및 장치
CN105677193A (zh) * 2014-11-18 2016-06-15 夏普株式会社 对象操作方法和电子设备
US10534502B1 (en) * 2015-02-18 2020-01-14 David Graham Boyers Methods and graphical user interfaces for positioning the cursor and selecting text on computing devices with touch-sensitive displays
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US9785305B2 (en) * 2015-03-19 2017-10-10 Apple Inc. Touch input cursor manipulation
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US10019425B2 (en) * 2015-04-03 2018-07-10 Qualcomm Incorporated Enhancement to text selection controls
JP6463209B2 (ja) * 2015-04-15 2019-01-30 キヤノン株式会社 表示装置及び表示方法
US10097973B2 (en) 2015-05-27 2018-10-09 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
CN104965665B (zh) * 2015-06-01 2018-02-02 努比亚技术有限公司 一种信息处理方法及装置、终端
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
JP5906344B1 (ja) * 2015-07-06 2016-04-20 ヤフー株式会社 情報処理装置、情報表示プログラムおよび情報表示方法
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
WO2017063141A1 (en) * 2015-10-13 2017-04-20 Motorola Mobility Llc Setting cursor position in text on display device
US20170131873A1 (en) * 2015-11-09 2017-05-11 Microsoft Technology Licensing, Llc. Natural user interface for selecting a target element
JP6607083B2 (ja) * 2016-02-29 2019-11-20 ブラザー工業株式会社 プログラムおよび情報処理装置
WO2017208114A1 (en) * 2016-06-03 2017-12-07 Semiconductor Energy Laboratory Co., Ltd. Data processing device and display method thereof
CN106681605A (zh) * 2016-12-01 2017-05-17 深圳市金立通信设备有限公司 一种文字选中方法及终端
CN106844317A (zh) * 2016-12-19 2017-06-13 深圳众思科技有限公司 文本选择方法及装置
JP6794838B2 (ja) * 2017-01-13 2020-12-02 コニカミノルタ株式会社 医用画像表示装置
CN108427527B (zh) * 2017-02-14 2022-01-04 阿里巴巴集团控股有限公司 信息选择方法、装置和移动终端
KR102463993B1 (ko) * 2017-03-08 2022-11-07 삼성전자주식회사 핸들러 표시 방법 및 이를 위한 전자 장치
US10725633B2 (en) * 2017-07-11 2020-07-28 THUMBA, Inc. Changing the location of one or more cursors and/or outputting a selection indicator between a plurality of cursors on a display area in response to detecting one or more touch events
US10430076B2 (en) 2017-12-18 2019-10-01 Motorola Solutions, Inc. Device and method for text entry using two axes at a display device
CN107967093B (zh) * 2017-12-21 2020-01-31 维沃移动通信有限公司 一种多段文本复制方法及移动终端
US11157130B2 (en) * 2018-02-26 2021-10-26 Adobe Inc. Cursor-based resizing for copied image portions
US11320983B1 (en) * 2018-04-25 2022-05-03 David Graham Boyers Methods and graphical user interfaces for positioning a selection, selecting, and editing, on a computing device running applications under a touch-based operating system
CN110096188A (zh) * 2019-03-29 2019-08-06 北京点众科技股份有限公司 一种在阅读软件中选取页面内容的方法及装置
KR102174497B1 (ko) * 2019-07-03 2020-11-04 최현준 커서 제어 방법, 장치, 프로그램 및 컴퓨터 판독가능 기록매체
CN111273827B (zh) * 2020-01-17 2021-10-22 维沃移动通信有限公司 一种文本处理方法及电子设备
US20220147223A1 (en) * 2020-11-07 2022-05-12 Saad Al Mohizea System and method for correcting typing errors
CN112434495A (zh) * 2020-12-14 2021-03-02 万兴科技(湖南)有限公司 一种选择方法、装置、计算机设备及存储介质

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5040131A (en) 1987-12-23 1991-08-13 International Business Machines Corporation Graphical processing
US5867144A (en) * 1991-11-19 1999-02-02 Microsoft Corporation Method and system for the direct manipulation of information, including non-default drag and drop operation
US5523775A (en) * 1992-05-26 1996-06-04 Apple Computer, Inc. Method for selecting objects on a computer display
US5345543A (en) 1992-11-16 1994-09-06 Apple Computer, Inc. Method for manipulating objects on a computer display
US5465325A (en) 1992-11-16 1995-11-07 Apple Computer, Inc. Method and apparatus for manipulating inked objects
US5513309A (en) 1993-01-05 1996-04-30 Apple Computer, Inc. Graphic editor user interface for a pointer-based computer system
US5613019A (en) 1993-05-20 1997-03-18 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US5710831A (en) 1993-07-30 1998-01-20 Apple Computer, Inc. Method for correcting handwriting on a pen-based computer
DE69428675T2 (de) 1993-12-30 2002-05-08 Xerox Corp Apparat und Verfahren zur Unterstützung einer impliziten Strukturation von Freiform-Listen, Übersichten, Texten, Tabellen und Diagrammen in einem auf Handzeichen basierenden Eingabesystem und Editiersystem
GB2301758A (en) 1995-06-03 1996-12-11 Ibm Icon driven data processing system
US5649133A (en) * 1995-06-13 1997-07-15 Apple Computer, Inc. Method for collision avoidance for user interface for object with multiple handles
US5778404A (en) 1995-08-07 1998-07-07 Apple Computer, Inc. String inserter for pen-based computer systems and method for providing same
GB9605216D0 (en) 1996-03-12 1996-05-15 Ncr Int Inc Display system and method of moving a cursor of the display system
US6057844A (en) 1997-04-28 2000-05-02 Adobe Systems Incorporated Drag operation gesture controller
US6313851B1 (en) * 1997-08-27 2001-11-06 Microsoft Corporation User friendly remote system interface
US20040080541A1 (en) * 1998-03-20 2004-04-29 Hisashi Saiga Data displaying device
JP4286345B2 (ja) * 1998-05-08 2009-06-24 株式会社リコー 検索支援システム及びコンピュータ読み取り可能な記録媒体
US6336124B1 (en) * 1998-10-01 2002-01-01 Bcl Computers, Inc. Conversion data representing a document to other formats for manipulation and display
JP2000242635A (ja) 1999-02-19 2000-09-08 Fuji Xerox Co Ltd 表編集装置
US7821503B2 (en) 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US6628315B1 (en) * 1999-12-17 2003-09-30 International Business Machines Corporation System, method, and program for providing a barrier around a menu choice to reduce the chance of a user accidentally making a selection error
US6587132B1 (en) * 2000-07-07 2003-07-01 Openwave Systems Inc. Method and system for efficiently navigating a text entry cursor provided by a mobile device
EP1191430A1 (en) 2000-09-22 2002-03-27 Hewlett-Packard Company, A Delaware Corporation Graphical user interface for devices having small tactile displays
US6891551B2 (en) * 2000-11-10 2005-05-10 Microsoft Corporation Selection handles in editing electronic documents
US6941507B2 (en) 2000-11-10 2005-09-06 Microsoft Corporation Insertion point bungee space tool
US6897853B2 (en) * 2000-11-10 2005-05-24 Microsoft Corp. Highlevel active pen matrix
US7574664B2 (en) 2001-02-15 2009-08-11 Nbor Corporation Methods for recursive spacing and touch transparency of onscreen objects
US6692170B2 (en) 2001-02-21 2004-02-17 Eli Abir Method and apparatus for text input
US6690365B2 (en) * 2001-08-29 2004-02-10 Microsoft Corporation Automatic scrolling
TWI289437B (en) * 2002-01-04 2007-11-11 Vision Optic Co Ltd Optometry apparatus, optometry method, optometry server and computer readable recording medium
US7576756B1 (en) 2002-02-21 2009-08-18 Xerox Corporation System and method for interaction of graphical objects on a computer controlled system
AU2003288689A1 (en) 2002-11-29 2004-06-23 Koninklijke Philips Electronics N.V. User interface with displaced representation of touch area
US7231609B2 (en) * 2003-02-03 2007-06-12 Microsoft Corporation System and method for accessing remote screen content
US7185291B2 (en) 2003-03-04 2007-02-27 Institute For Information Industry Computer with a touch screen
US7164410B2 (en) 2003-07-28 2007-01-16 Sig G. Kupka Manipulating an on-screen object using zones surrounding the object
US7617443B2 (en) 2003-08-04 2009-11-10 At&T Intellectual Property I, L.P. Flexible multiple spreadsheet data consolidation system
US20050198561A1 (en) * 2004-03-03 2005-09-08 Bottomline Technologies (De) Inc. System and method for dynamically linking data within a portable document file with related data content stored in a database
US20050210369A1 (en) 2004-03-18 2005-09-22 Damm John A Jr Methods of updating spreadsheets
US20060005151A1 (en) * 2004-07-02 2006-01-05 Adobe Systems Graphical interface for adjustment of text selections
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US8276099B2 (en) 2004-09-28 2012-09-25 David Arthur Yost System of GUI text cursor, caret, and selection
US7778821B2 (en) 2004-11-24 2010-08-17 Microsoft Corporation Controlled manipulation of characters
US7296220B2 (en) 2004-12-20 2007-11-13 Microsoft Corporation Method and system for creating a table in a text editing application
US7619616B2 (en) 2004-12-21 2009-11-17 Microsoft Corporation Pressure sensitive controls
US7605804B2 (en) 2005-04-29 2009-10-20 Microsoft Corporation System and method for fine cursor positioning using a low resolution imaging touch screen
US20060253803A1 (en) * 2005-05-06 2006-11-09 Backlund Bjorn E P Directional I-beam cursor
US8643605B2 (en) 2005-11-21 2014-02-04 Core Wireless Licensing S.A.R.L Gesture based document editor
US7877685B2 (en) * 2005-12-29 2011-01-25 Sap Ag Persistent adjustable text selector
KR100823083B1 (ko) 2006-02-09 2008-04-18 삼성전자주식회사 터치스크린을 구비한 문서 표시장치의 문서 교정 방법 및그 장치
WO2007097644A2 (en) 2006-02-21 2007-08-30 Unlimited Realities Limited Improvements relating to manipulator tools for virtual objects
US8793620B2 (en) 2011-04-21 2014-07-29 Sony Computer Entertainment Inc. Gaze-assisted computer interface
KR100813062B1 (ko) 2006-05-03 2008-03-14 엘지전자 주식회사 휴대용 단말기 및 이를 이용한 텍스트 표시 방법
US8570278B2 (en) * 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
US7856605B2 (en) * 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
US7692629B2 (en) 2006-12-07 2010-04-06 Microsoft Corporation Operating touch screen interfaces
US8091045B2 (en) 2007-01-07 2012-01-03 Apple Inc. System and method for managing lists
US8009146B2 (en) 2007-06-28 2011-08-30 Nokia Corporation Method, apparatus and computer program product for facilitating data entry via a touchscreen
US9274698B2 (en) * 2007-10-26 2016-03-01 Blackberry Limited Electronic device and method of controlling same
US8294669B2 (en) 2007-11-19 2012-10-23 Palo Alto Research Center Incorporated Link target accuracy in touch-screen mobile devices by layout adjustment
US8610671B2 (en) 2007-12-27 2013-12-17 Apple Inc. Insertion marker placement on touch sensitive display
US8201109B2 (en) * 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8650507B2 (en) 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US20100042933A1 (en) 2008-08-15 2010-02-18 International Business Machines Corporation Region selection control for selecting browser rendered elements
US8239201B2 (en) 2008-09-13 2012-08-07 At&T Intellectual Property I, L.P. System and method for audibly presenting selected text
EP2175354A1 (en) 2008-10-07 2010-04-14 Research In Motion Limited Portable electronic device and method of controlling same
US9442648B2 (en) * 2008-10-07 2016-09-13 Blackberry Limited Portable electronic device and method of controlling same
US8610673B2 (en) 2008-12-03 2013-12-17 Microsoft Corporation Manipulation of list on a multi-touch display
US8370736B2 (en) 2009-03-16 2013-02-05 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US8294680B2 (en) 2009-03-27 2012-10-23 Sony Mobile Communications Ab System and method for touch-based text entry
US9189124B2 (en) 2009-04-15 2015-11-17 Wyse Technology L.L.C. Custom pointer features for touch-screen on remote client devices
US8169418B2 (en) 2009-05-12 2012-05-01 Sony Ericsson Mobile Communications Ab Displays for electronic devices that detect and respond to the size and/or angular orientation of user input objects
US20100293460A1 (en) 2009-05-14 2010-11-18 Budelli Joe G Text selection method and system based on gestures
US20100289757A1 (en) 2009-05-14 2010-11-18 Budelli Joey G Scanner with gesture-based text selection capability
US8392819B2 (en) 2009-05-20 2013-03-05 Microsoft Corporation Column selection, insertion and resizing in computer-generated tables
US8681106B2 (en) 2009-06-07 2014-03-25 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
US8462134B2 (en) 2009-06-29 2013-06-11 Autodesk, Inc. Multi-finger mouse emulation
US20110018812A1 (en) 2009-07-21 2011-01-27 Cisco Technology, Inc. Fast Typographical Error Correction for Touchscreen Keyboards
US8520983B2 (en) 2009-10-07 2013-08-27 Google Inc. Gesture-based selective text recognition
TW201115454A (en) * 2009-10-29 2011-05-01 Htc Corp Data selection and display methods and systems, and computer program products thereof
US20110131481A1 (en) 2009-12-01 2011-06-02 Microsoft Corporation Data safety frame
US8786559B2 (en) 2010-01-06 2014-07-22 Apple Inc. Device, method, and graphical user interface for manipulating tables using multi-contact gestures
US20110202835A1 (en) * 2010-02-13 2011-08-18 Sony Ericsson Mobile Communications Ab Item selection method for touch screen devices
US8656291B2 (en) 2010-03-12 2014-02-18 Salesforce.Com, Inc. System, method and computer program product for displaying data utilizing a selected source and visualization
US20110264993A1 (en) 2010-04-23 2011-10-27 Microsoft Corporation Multi-Threaded Sort of Data Items in Spreadsheet Tables
US8773370B2 (en) 2010-07-13 2014-07-08 Apple Inc. Table editing systems with gesture-based insertion and deletion of columns and rows
US20120013539A1 (en) 2010-07-13 2012-01-19 Hogan Edward P A Systems with gesture-based editing of tables
US20120030566A1 (en) 2010-07-28 2012-02-02 Victor B Michael System with touch-based selection of data items
US8593418B2 (en) 2010-08-08 2013-11-26 Qualcomm Incorporated Method and system for adjusting display content
US10503255B2 (en) 2010-12-02 2019-12-10 Immersion Corporation Haptic feedback assisted text manipulation
GB2486238A (en) 2010-12-08 2012-06-13 Wolfson Microelectronics Plc A user interface for controlling a device using an icon
US20120185805A1 (en) * 2011-01-14 2012-07-19 Apple Inc. Presenting Visual Indicators of Hidden Objects
US8826190B2 (en) 2011-05-27 2014-09-02 Google Inc. Moving a graphical selector
US9032338B2 (en) 2011-05-30 2015-05-12 Apple Inc. Devices, methods, and graphical user interfaces for navigating and editing text
CN105955617B (zh) * 2011-06-03 2019-07-12 谷歌有限责任公司 用于选择文本的手势
US9323415B2 (en) 2011-06-29 2016-04-26 Nokia Technologies Oy Apparatus and associated methods related to touch sensitive displays
US20140002377A1 (en) 2012-07-02 2014-01-02 Microsoft Corporation Manipulating content on a canvas with touch gestures

Also Published As

Publication number Publication date
CN102880417A (zh) 2013-01-16
CN102880417B (zh) 2016-02-03
EP2756367A1 (en) 2014-07-23
US20130080979A1 (en) 2013-03-28
US9612670B2 (en) 2017-04-04
US9400567B2 (en) 2016-07-26
US20130067373A1 (en) 2013-03-14
WO2013039529A1 (en) 2013-03-21
KR20140081793A (ko) 2014-07-01
JP2014529137A (ja) 2014-10-30
EP2756367A4 (en) 2015-04-15

Similar Documents

Publication Publication Date Title
KR101919645B1 (ko) 명시적 터치 선택 및 커서 배치 기법
JP4602166B2 (ja) 手書き情報入力装置。
JP2022191324A (ja) 電子デバイス上の手書き入力
US9524040B2 (en) Image editing apparatus and method for selecting area of interest
JP5362328B2 (ja) レイアウト調整によるタッチ・スクリーン移動体装置におけるリンク・ターゲット精度の改善
US9292161B2 (en) Pointer tool with touch-enabled precise placement
US10282081B2 (en) Input and output method in touch screen terminal and apparatus therefor
US20100295806A1 (en) Display control apparatus, display control method, and computer program
US20030016253A1 (en) Feedback mechanism for use with visual selection methods
KR20100130671A (ko) 터치 인터페이스에서 선택 영역의 제공 장치 및 그 방법
JP2006302263A (ja) 電子インクまたは手書きインターフェースを呼び出すためのシステム、方法およびコンピュータ読取り可能媒体
US20140013272A1 (en) Page Editing
KR101447886B1 (ko) 터치 스크린 디스플레이를 통해 컨텐츠를 선택하는 방법 및 장치
JP2014182652A (ja) 情報処理装置およびその制御方法、ならびにプログラム
KR101505806B1 (ko) 터치 스크린 디스플레이에서의 포인터 활성화 및 제어 방법 및 장치
US8520030B2 (en) On-screen marker to assist usability while scrolling
JP2008226097A (ja) タッチパネルシステム
JP6429692B2 (ja) 電子機器
KR101405822B1 (ko) 터치기반 편집 어플을 위한 시각적 편집보조 제공 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
KR101446075B1 (ko) 터치 스크린 디스플레이 입력을 통한 객체 서식 복사 방법 및 장치
JP6032982B2 (ja) 入力支援装置、入力支援方法、入力支援プログラム及び記録媒体
KR101444202B1 (ko) 터치 스크린을 통한 문서서식 적용방법 및 장치
JP6118190B2 (ja) 情報端末および制御プログラム
KR20160044194A (ko) 터치 스크린을 구비하는 전자기기 상의 복수객체에서 객체를 선택하는 방법 및 장치
KR20150039511A (ko) 메뉴 인터페이스 제공방법 및 제공장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant