KR20060115321A - 동적으로 확장하는 입력 패널로 사용자 입력을 추가하는방법 - Google Patents

동적으로 확장하는 입력 패널로 사용자 입력을 추가하는방법 Download PDF

Info

Publication number
KR20060115321A
KR20060115321A KR1020057011759A KR20057011759A KR20060115321A KR 20060115321 A KR20060115321 A KR 20060115321A KR 1020057011759 A KR1020057011759 A KR 1020057011759A KR 20057011759 A KR20057011759 A KR 20057011759A KR 20060115321 A KR20060115321 A KR 20060115321A
Authority
KR
South Korea
Prior art keywords
input
input panel
panel
displaying
axis
Prior art date
Application number
KR1020057011759A
Other languages
English (en)
Other versions
KR101015291B1 (ko
Inventor
어니스트 엘. 페닝톤 2세
아드리안 제임스 가사이드
제프리 웨스트 페티로스
쇼나 줄리 데이비스
토비아츠 알렉산더 질린스키
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 KR20060115321A publication Critical patent/KR20060115321A/ko
Application granted granted Critical
Publication of KR101015291B1 publication Critical patent/KR101015291B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)
  • Digital Computer Display Output (AREA)

Abstract

사용자 입력 패널이 수기된 입력 또는 키보드 입력과 같은 사용자 입력을 수용하기 위해 동적으로 확장한다. 확장은 네 개의 가능한 방향 중 기록되거나 타이핑되는 언어에 따라 하나 또는 두 개의 방향으로 일어난다. 예를 들어, 영어 단어를 기록하는 경우, 입력 패널은 사용자가 기록할 때 오른쪽으로 확장하고 이어서 입력 패널이 오른쪽으로 완전히 확장한 경우 아래로 확장한다.
입력 패널, 확장, 삽입 포인트, 스타일러스, 상호작용 포인트

Description

동적으로 확장하는 입력 패널로 사용자 입력을 추가하는 방법{TEXT INPUT WINDOW WITH AUTO-GROWTH}
본 발명의 양상은 일반적으로 컴퓨터 시스템의 향상된 사용자 입력 인터페이스에 관한 것으로, 보다 구체적으로는 사용자가 기록하거나 타이핑할 때 즉시 응답(on-demand) 기반으로 동적으로 확장하는 입력 패널을 제공하는 것에 관한 것이다.
사용자 입력 장치 및 인터페이스는 새로운 유형의 컴퓨팅 장치의 요구를 충족시키기 위해 급속도로 성장해왔다. 최근에는, 태블릿-기반 퍼스널 컴퓨터 및 핸드-헬드 컴퓨터가 대중화되었다. 이들 장치들은 통상적으로 표면을 가로지르는 스타일러스(stylus)의 움직임을 전자 잉크로 변환시키는 기록 표면(a writing surface)을 지니고 있다. 이 잉크는 인식되어 텍스트로 변환되고, 또는 전자 잉크 포맷으로 저장될 수도 있다.
예를 들어, Microsoft WINDOWS 브랜드 XP 태블릿 PC 판 운영 체제는 종종 텍스트 입력 패널이라 지칭되는 데이터 엔트리 사용자 인터페이스, 즉 태블릿 PC 입력 패널 또는 "TIP"을 제공하는데, 이것은 통해 사용자는 데이터를 컴퓨터로 입력하는 스타일러스를 채용할 수 있다. 이러한 유형의 사용자 인터페이스는 데이터 엔트리 GUI의 더 큰 범주에 속하고, 데이터 입력 패널로 지칭되기도 한다. 일부 데이터 입력 패널은 종래의 키보드의 문자를 디스플레이하는 "소프트(soft)" 키보드 표면을 또한 제공할 수 있다. 이러한 유형의 키보드가 있는 키의 디스플레이상에서 사용자가 스타일러스를 채용하여 두드린다면(tap), 컴퓨터는 입력 데이터로서 그 키와 관련된 문자를 수신할 것이다. 다른 유형의 데이터 입력 패널은 입력 표면을 특수화하였다. 예를 들어, 일부 사용자 인터페이스는 입력으로서 동아시아 자모로 문자를 수신하기 위해 복수의 문자-크기의 기록 표면을 제공할 수 있다.
이러한 유형의 데이터 입력 패널이 스타일러스 입력 장치를 채용하는 컴퓨터의 유용성을 증가시키지만, 종래의 데이터 입력 패널과 관련된 일부 불편이 여전히 남아 있다. 예를 들어, 데이터 입력 패널은 일반적으로 사용자에 의해 어렵거나 또는 불편한 방식으로 특별히 호출되어야 한다. 데이터 입력 패널을 사용하여 데이터를 애플리케이션으로 입력하기 위해서, 사용자는 애플리케이션의 외부에서 데이터 입력 패널을 수동으로 구동시켜야 한다. 그러나, 많은 컴퓨터 사용자들이 데이터 입력 패널에 익숙하지 않고, 자원들이 초보 사용자들에게 효과적으로 "숨겨져" 있으므로, 이 자원들을 호출하는 방법을 간과하거나 또는 그것을 알지 못한다.
또한, 데이터 입력 패널이 애플리케이션과는 별도로 호출되는 GUI이기 때문에, 이것은 통상적으로 또한 애플리케이션과 별도로 디스플레이된다. 일부 상황에서, 사용자 인터페이스는 디스플레이된 애플리케이션 그 자체 위에 겹쳐질 수 있다. 이러한 구성으로 인해 사용자가 애플리케이션내의 그 목적지에 근접하여 데이터를 입력할 수 있지만, 사용자 인터페이스는 목적지 또는 인접한 목적지를 부주의하게 가릴 수도 있다. 사용자 인터페이스가 처음에는 입력되는 데이터에 대해 원 하는 목적지를 가리지 않음에도 불구하고, 사용자는 사용자 인터페이스가 입력되는 데이터에 대한 새 삽입 포인트를 가리는 것을 방지하기 위해, 새 데이터가 애플리케이션에 입력될 때 계속하여 사용자 인터페이스를 재배치해야 한다. 다른 유형의 데이터 입력 패널의 경우 사용자 인터페이스는 애플리케이션 이하의 공간에서 "잘릴(docked)" 수도 있다. 이러한 방식으로 데이터 입력 패널을 배치하는 것은 사용자가 새 데이터에 대해 원하는 목적지를 보는 것을 막지 않는다는 것을 보장하지만, 애플리케이션을 제어하고 그 애플리케이션으로 데이터를 입력하기 위해 사용자가 계속해서 애플리케이션과 데이터 입력 패널사이에서 스타일러스를 앞뒤로 이동시켜야 하는 것은 불편하다.
본 발명의 양상을 이용하여 사용자는 덜 방해가 되는 방식으로 사용자 입력을 쉽고 효율적으로 입력할 수 있다. 초보 사용자들이 쉽게 찾아낼 수 있고 효과적으로 사용하기 위해 사용자 측에서 거의 조작할 필요가 없는 입력 패널이 제공된다. 입력 패널은 사용자가 필요로 할 때 및 사용자가 필요로 하는 곳에서 수기된 입력, 키보드 입력, 및 기타 사용자 입력으로의 쉬운 액세스를 제공하고, 사용자에게 중요할 수 있는 디스플레이된 일부 중요한 구성요소를 가리는 가능성을 줄여준다.
본 발명의 또 다른 양상은 입력 패널이 편리한 위치에 나타나고 사용자 입력을 수용하기 위해 동적으로 확장하도록 하는 것에 관한 것이다. 입력 패널은 오른쪽으로 및 아래로와 같이 하나 또는 두 방향으로 확장할 수 있고, 이 때 다른 두 방향(위로 및 왼쪽으로)으로는 확장하지 않는다. 이것은 영어와 같은 언어가 입력 패널에 기록되고 타이핑되는 경우, 예를 들어 언어가 수평 행에서 오른쪽으로 그리고 이어지는 행에서 아래로 기록되는 경우에 특히 유용하다. 입력 패널이 확장하는 방향은 선택된 언어에 좌우된다.
본 발명의 또 다른 양상에 따라, 입력 패널은 일부 정의된 마진을 고려하는 방식으로 확장할 수 있다. 예를 들어, 입력 패널은 디스플레이의 모서리로부터 일정 마진 거리만큼 떨어져 있는 곳까지만 확장할 수 있다. 이것은 디스플레이 모서리 가까이에 있는 유용한 사용자 인터페이스 구성요소의 사용가능성을 보호할 수 있다.
본 발명의 또 다른 양상은 입력 패널을 편리하고 직관적으로 호출하고 제거하면서, 초대되지 않은 입력 패널이 나타나고 원하는 입력 패널이 부주의하게 사라지는 가능성을 줄이는 것에 관한 것이다.
본 발명의 이들 및 다른 양상들은 당업자들이 이하의 설명, 도면 및 청구항을 참조로 할 때 더욱 명백해질 것이다.
전술된 발명의 요약 및 도시되는 실시예에 대한 이하의 상세한 설명은 첨부된 도면과 함께 읽혀질 때 더 잘 이해될 것이고, 이것은 청구되는 발명에 관해 한 예제로서 포함되며, 제한하고자 하는 것은 아니다.
도 1은 본 발명의 적어도 하나의 양상에 따라 사용될 수 있는 예시적인 컴퓨팅 환경의 기능 블록도.
도 2는 본 발명의 적어도 하나의 양상에 따라 사용될 수 있는 예시적인 컴퓨팅 환경의 평면도.
도 3은 본 발명의 적어도 하나의 양상에 따라 수행될 수 있는 예시적인 단계를 보여주는 흐름도.
도 4, 5, 7 및 8은 본 발명의 적어도 하나의 양상에 따라 입력 패널이 어떻게 확장할 수 있는가를 보여주는 각종 스크린 샷을 도시.
도 6 및 13은 본 발명의 적어도 하나의 양상에 따른 예시적인 입력 패널을 묘사하는 도면.
도 9 내지 11은 본 발명의 적어도 하나의 양상에 따라 입력 패널이 소프트웨어 애플리케이션에서 어떻게 입력 영역과 함께 사용될 수 있는가를 보여주는 각종 스크린 샷을 도시.
도 12는 본 발명의 적어도 하나의 양상에 따라 입력 패널이 어떻게 인터넷 웹 브라우저 소프트웨어 애플리케이션과 함께 사용될 수 있는가를 보여주는 스크린 샷을 도시.
일반적인 컴퓨팅 환경
도 1은 본 발명의 각종 양상을 구현하는 데에 사용될 수 있는 종래의 범용 디지털 컴퓨팅 환경의 실례의 기능 블록도이다. 도 1에서, 컴퓨터(110)는 처리 장치(110), 시스템 메모리(120) 및 시스템 메모리를 포함하는 각종 시스템 컴포넌트를 처리 장치(110)에 결합하는 시스템 버스(130)를 포함한다. 시스템 버스(130)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 각종 버스 아키텍처를 이용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 시스템 메모리(120)는 판독 전용 메모리(ROM)(140) 및 랜덤 액세스 메모리(RAM)(150)를 포함한다.
시동 시 컴퓨터(100) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(160)은 ROM(140)에 저장되어 있다. 컴퓨터(110)는 하드 디스크(도시 생략)로의 기록 또는 그로부터의 판독을 위한 하드 디스크 드라이브(170), 이동식 자기 디스크(190)로의 기록 또는 그로부터의 판독을 위한 자기 디스크 드라이브(180), CD-ROM 또는 기타 광 매체 등의 이동식 광 디스크(192)로의 기록 또는 그로부터의 판독을 위한 광 디스크 드라이브(191)를 포함한다. 하드 디스크 드라이브(170), 자기 디스크 드라이브(180) 및 광 디스크 드라이브(191)는 각각 하드 디스크 드라이브 인터페이스(192), 자기 디스크 드라이브 인터페이스(193) 및 광 디스크 드라이브 인터페이스(194)에 의해 시스템 버스(130)에 접속된다. 드라이브들 및 이들과 관련된 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 퍼스널 컴퓨터(100)의 다른 데이터의 비휘발성 저장을 제공한다. 당업자들은 자기 카세트, 플래시 메모리 카드, DVD, 베르누이 카트리지, RAM 및 ROM 등과 같이 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 컴퓨터 판독가능 매체의 기타 유형이 예제 운영 환경에서 또한 사용될 수 있음을 이해할 것이다.
운영 체제(195), 하나 이상의 애플리케이션 프로그램(196), 기타 프로그램 모듈(197), 및 프로그램 데이터(198)를 포함하는 많은 프로그램 모듈이 하드 디스크 드라이브(170), 자기 디스크(190), 광 디스크(192), ROM(140) 또는 RAM(150)에 저장될 수 있다. 사용자는 키보드(101) 및 포인팅 장치(102) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(100)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등이 있을 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 직렬 포트 인터페이스(106)를 통해 처리 장치(110)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스에 의해 접속될 수도 있다. 또한, 이 장치들은 적절한 인터페이스(도시 생략)를 통해 시스템 버스(130)에 직접 접속될 수도 있다. 모니터(107) 또는 다른 유형의 디스플레이 장치도 또한 비디오 인터페이스(108) 등의 인터페이스를 통해 시스템 버스(130)에 접속될 수 있다. 모니터 외에, 퍼스널 컴퓨터는 통상적으로 스피커 및 프린터 등의 기타 주변 출력 장치(도시 생략)를 포함할 수 있다. 바람직한 실시예에서, 펜 디지타이저(pen digitizer)(165) 및 그에 딸린 펜 또는 스타일러스(166)가 제공되어 손으로 그린 입력(freehand input)을 디지털로 캡처한다. 펜 디지타이저(165)와 직렬 포트간의 직접 접속이 도시되어 있지만, 실제로 펜 디지타이저(165)는 종래기술에 알려져 있는 병렬 포트 또는 기타 인터페이스 및 시스템 버스(130)를 통해 처리 장치(110)에 직접 결합될 수 있다. 또한, 디지타이저(165)가 모니터(107)와 떨어져서 도시되어 있지만, 디지타이저(165)의 사용가능한 입력 영역이 모니터(107) 디스플레이 영역과 동일한 공간에 걸쳐있는 것이 바람직하다. 또한, 디지타이저(165)는 모니터(107)안으로 통합되거 나, 별도의 겹쳐지는 장치로서 존재할 수 있고 또는 그것이 아니라면 모니터(107)에 추가될 수 있다.
컴퓨터(100)는 원격 컴퓨터(109)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(109)는 또 하나의 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있고, 통상적으로 컴퓨터(100)와 관련하여 상술된 구성요소의 대부분 또는 그 전부를 포함하지만, 도 1에는 메모리 저장 장치(111)만이 도시되어 있다. 도 1에 도시된 논리적 연결로는 LAN(112) 및 WAN(113)이 있다. 이러한 네트워킹 환경은 사무실, 회사 전체에 걸친 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(100)는 네트워크 인터페이스 또는 어댑터(114)를 통해 LAN(112)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 퍼스널 컴퓨터(100)는 통상적으로 인터넷과 같은 WAN(113) 상에서의 통신을 설정하기 위한 모뎀(115) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(115)은 직렬 포트 인터페이스(106)를 통해 시스템 버스(130)에 접속된다. 네트워크화된 환경에서, 퍼스널 컴퓨터(100) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다.
도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이의 통신 링크를 설정하는 다른 기술이 사용될 수 있다는 것을 이해할 것이다. TCP/IP, Ethernet, FTP, HTTP 등과 같은 각종 공지의 프로토콜 중 임의의 것이 존재한다고 가정하고, 시스템은 원격 웹 기반 서버로부터 사용자가 웹 페이지를 검색할 수 있도록 클라이언트-서버 구성에서 동작할 수 있다. 웹 페이지상에서 데이터를 디스플레이하고 데이터를 조작하기 위해 종래의 웹 브라우저 중 임의의 것이 사용될 수 있다.
도 2는 본 발명의 각종 양상에 따라 사용될 수 있는 스타일러스-기반 컴퓨터 처리 시스템(또한 태블릿 PC라고도 지칭됨)의 예제를 도시한다. 도 1의 시스템의 모든 및 임의의 특징, 서브시스템 및 기능들이 도 2의 컴퓨터에 포함될 수 있다. 태블릿 PC(201)는 대형 디스플레이 표면(a large display surface)(202)을 포함하며, 예를 들어 이것은 디지타이징 플랫 패널 디스플레이(a digitizing flat panel display), LCD(a liquid crystal display) 또는 OLED 스크린, 플라즈마 디스플레이 등이 바람직하며 그 위에 복수의 윈도우(203)가 디스플레이된다. 스타일러스(204)의 팁(tip)을 사용하여(본 명세서에서 팁은 또한 "커서"로 간주됨), 사용자는 디지타이징 디스플레이 영역(digitizing display area)을 선택하고, 강조하고 디지타이징 디스플레이 영역에 기록할 수 있다. 적합한 디지타이징 디스플레이 패널의 예제로는 Mutoh 또는 Wacom 펜 디지타이저와 같은 전자석 펜 디지타이저를 포함한다. 광 디지타이저와 같은 다른 유형의 펜 디지타이저가 또한 사용될 수 있다. 태블릿 PC(201)는 데이터를 조작하고, 텍스트를 입력하고, 스프레드시트, 워드 프로세싱 프로그램 등과 같은 종래의 컴퓨터 애플리케이션 태스크를 실행하기 위해 스타일러스(204)를 이용하여 만들어진 표시(marks)를 해석한다.
스타일러스(204)는 자신의 선택 기능을 증대시키기 위해 버튼 또는 기타 특징을 갖출 수 있다. 한 실시예에서 스타일러스는 "연필" 또는 "펜"으로 구현될 수 있는데, 여기서 한 끝은 기록부(a writing portion)이고 다른 한 쪽은 "지우개" 부로서, 이 지우개 부는 디스플레이를 가로질러 이동할 때 디스플레이 부가 지워져야 한다는 것을 나타낸다. 마우스, 트랙볼 등의 기타 유형의 입력 장치 또한 사용될 수 있다. 또한, 접촉-감응(touch-sensitive) 및/또는 근접-감응(proximity-sensitive) 디스플레이상에서 디스플레이된 이미지 일부를 선택하고 또는 표시하는 데에 사용자 자신의 손가락이 사용될 수도 있다. 따라서, 본 명세서에서 사용되는 "사용자 입력 장치"라는 용어는 넓은 정의를 가지고 공지의 입력 장치에 대한 각종 변형을 모두 포함하는 것이다.
입력 패널 확장 동작(Input Panel Expansion Behavior)
도 3의 단계(301)에서, 컴퓨터(예를 들어 컴퓨터(100 또는 201))는 입력 표면(예를 들어 디지타이저(165) 또는 디스플레이 표면(202))에 대해 사용자 입력 장치(예를 들어 스타일러스(166 또는 204))의 위치를 검사할 수 있다. 이하의 실시예에서 사용자 입력 장치는 실례로서 스타일러스(204)라고 간주한다. 그러나, 마우스(102)와 같은 임의의 사용자 입력 장치가 사용될 수 있다. 단계(302)에서, 컴퓨터는 스타일러스(204)의 위치에 기초하여 스타일러스(204)가 입력 표면 위를 선회하고 있는지 및 스타일러스(204)가 유효한 "입력 영역" 위를 선회하고 있는지를 판정한다. "선회하다(hovering)"라는 용어는 스타일러스(204)(보다 구체적으로는 스타일러스(204)의 팁)가 입력 표면에 근접하지만 물리적으로 접촉하지 않는다는 것을 의미한다. 임계치를 기반으로 하여 판정을 내린다. 예를 들어, 컴퓨터는 스타일러스의 팁이 입력 표면으로부터의 소정의 직교 거리내에 있는지 여부를 판정할 수 있다. 만약 그렇다면, 스타일러스는 선회하고 있는 것이다. 만약 그렇지 않다면(예를 들어 스타일러스(204)가 입력 표면으로부터 너무 멀리 있거나 또는 입력 표면에 접촉하고 있는 경우), 스타일러스(204)는 선회하고 있는 것이 아니다.
"입력 영역"이라는 용어는 유효한 사용자 입력을 받아들이는 디스플레이 또는 사용자 입력 표면의 영역을 의미한다. 임의의 소정의 시간에, 하나 이상의 입력 영역이 있을 수 있고, 이 입력 영역들은 시간에 따라 변경되고, 이동하고, 나타나고 또는 사라질 수 있다. 어떤 영역이 입력 영역인가 하는 것은 어떤 애플리케이션이 수행중이고, 어떤 운영 체제가 수행중이고, 어떤 애플리케이션에 포커스가 있는지(즉 사용자와 현재 활성으로 상호작용하는 애플리케이션), 및/또는 다른 요인에 좌우된다. 입력 영역은 통상적으로 키보드로부터 타이핑된 텍스트 및/또는 스타일러스로부터 수기된 잉크를 받아들인다. 일부 실시예에서, "시스템 삽입 기호(system caret)"가 현재 위치하고 있는 곳 어디든지, 또는 적어도 시스템 삽입 기호 주위 및 시스템 삽입 기호 가까이의 소정의 구역이 입력 영역이 될 수 있다. 시스템 삽입 기호는 사용자가 현재 작업하고 있는 삽입 포인트(insertion point)이다. 삽입 포인트는 깜빡거리는 텍스트 커서와 같은 커서를 통해 사용자에게 표시될 수 있다. 또 다른 "커서"는 스타일러스(204)(또는 마우스(102)와 같은 기타 입력 장치)가 상호작용하는 디스플레이상의 위치(예를 들어 스타일러스(204)가 선회하고 있는 디스플레이상의 위치 또는 스타일러스(204)가 접촉하고 있는 디스플레이상의 위치)를 나타내기 위해 또한 존재할 수 있다. 삽입 포인트를 나타내는 커서는 스타일러스(204) 상호작용 포인트를 나타내는 커서와 동일할 필요는 없다.
단계(303)에서, 스타일러스(204)가 선회하고 있지 않다면, 디스플레이될 수 있는 임의의 호출 대상(이하에 설명됨)이 디스플레이되는 것으로부터 제거되고, 컴퓨터는 다시 단계(301)에서 스타일러스(204)가 선회하고 있는지 여부를 검사한다. 이 루프는 스타일러스(204)가 선회하고 있다는 것이 판정될 때까지 반복된다. 일단 이것이 발생하면, 단계(304)에서 스타일러스(204)가 소정의 타임아웃 시간동안 선회하는지 또는 임의의 디스플레이된 호출 대상이 선택되는지 둘 중 하나를 판정한다. 호출 대상은 마우스(102)의 버튼으로 호출 대상을 클릭함으로써, 스타일러스(204)로 호출 대상을 두드림으로써, 호출 대상 위를 선회함으로써, 또는 컴퓨터상의 버튼 또는 스타일러스(204)를 누름으로써 선택될 수 있다. 이러한 판정 중 아무 것도 발생하지 않는다면, 단계(305)에서 호출 대상이 디스플레이되고(또는 이미 디스플레이된 경우 계속해서 디스플레이함), 컴퓨터는 계속해서 단계(301 및 302)에서 스타일러스가 선회하고 있는지 여부를 검사한다. 호출 대상은 스타일러스가 입력 표면의 적절한 영역의 선회를 시작한 직후 또는 일정 시간 지연 후 즉시 디스플레이될 수 있다. 단계(304)는 타임아웃 판정 및 호출 대상 선택 판정 둘 다를 포함할 수 있고, 또는 이 두 판정 중 하나만을 포함할 수도 있다. 본 예시적인 실시예에서는 스타일러스(204) 선회에 응답하여 호출 대상을 디스플레이하는 것으로 도시되었지만, 호출 대상은 입력 표면에 실제로 접촉하는 스타일러스(204)에 응하는 것과 같이 또는 스타일러스(204)에 의해 수행되는 일부 기타 손짓(gesture)에 응하는 것과 같이 기타 사용자 입력에 응답하여 또한 디스플레이될 수 있다. 본 명세서에서 설명되는 선회는 단지 예시적인 사용자 입력으로서 제공된다는 것을 이 해할 것이다.
"호출 대상"은 입력 패널이 사용가능하고 호출될 수 있다는 것을 사용자에게 표시하는 것이다. 호출 대상은 디스플레이상에 디스플레이된 아이콘, 비퍼 또는 클릭과 같은 들을 수 있는 소리 또는 수정된 커서와 같이 사용자가 볼 수 있고 및/또는 들을 수 있는 표시이다. 호출 표시(403)의 예제가 도 4에 도시되어 있다. 호출 표시(403)는 (입력 표면의 일부인) 디스플레이(401)상의 소정의 위치에, 또는 스타일러스(204)가 선회하거나 또는 디스플레이(401)와 상호작용하는 디스플레이(401)상의 위치("상호작용 포인트"(402)라 불림)에 좌우되는 위치에 디스플레이될 수 있다. 예를 들어, 호출 대상(403)은 소정의 양만큼 상호작용 포인트(402)로부터 옮겨진 위치에 디스플레이될 수 있다. 또는, 호출 대상(403)은 활성 입력 영역내의 삽입 포인트의 위치에 좌우되는 위치에 디스플레이될 수 있다. 예를 들어, 호출 대상(403)은 소정의 양만큼 삽입 포인트로부터 옮겨진 위치에 디스플레이될 수 있다. 도시된 실시예에서, 호출 대상(403)은 상호작용 포인트(402)에 가장 가까운 호출 대상(403)의 모서리가 디스플레이(401)상에서 수평 방향으로 X 거리 및 수직 방향으로 Y 거리만큼 옮겨져 있는 위치에 디스플레이될 수 있고, 여기서 X 및 Y가 같거나 다를 수 있고, 음수 또는 양수일 수 있다. 이 예제에서, "X", "Y", 및 점선은 단지 설명을 위해 포함된 것으로 실제로 디스플레이되지 않는다는 것을 유의한다. X 및 Y 거리는 약 1/4인치 이하, 약 1/3인치, 또는 약 1/2인치 이상과 같이 임의의 수가 될 수 있다.
도시된 호출 대상(403)이 그 내부에 "X"가 있는 박스이지만, 이것은 단지 예 제이다. 호출 대상(403)은 아이콘, 애니메이션, 이미지, 텍스트 및/또는 기타 임의의 비주얼 구성요소와 같은 임의의 형태로 사용자에게 보일 수 있다. 또한, 도시된 호출 대상(403)은 사각형이지만, 이것은 원, 정사각형, 삼각형 및/또는 임의의 기타 기하학 또는 비기하학 형상과 같은 임의의 형상일 수 있다.
상술된 대로, 사용자의 스타일러스(204)는 타임아웃 시간동안 선회할 수 있고, 또는 사용자는 호출 대상(403)을 선택할 수 있다. 사용자는 스타일러스(204)로 디스플레이된 호출 대상(403)을 두드리는 것과 같이 많은 방식 중 임의의 방식으로 호출 대상(403)을 선택할 수 있다. 단계(304)에서 설명된 두 가지 액션 중 하나의 발생에 응답하여, 단계(306)에서 입력 패널이 사용자에게 제공된다. 입력 패널은 스타일러스(204)로부터 전자 잉크 입력, 키보드로부터 타이핑된 입력 및/또는 기타 입력과 같은 사용자 입력을 수신할 수 있다.
디스플레이된 입력 패널(501)의 예제가 도 5에 도시되어 있다. 입력 패널(501)은 호출 대상(403)을 대체하거나 호출 대상(403)에 추가하여 디스플레이될 수 있다. 입력 패널은 앵커 포인트(an anchor point)(502)를 포함할 수 있는데, 이것은 디스플레이될 수도 있고 안 될 수도 있다. 입력 패널(501)은 그것의 앵커 포인트(502)가 소정의 위치에 있거나 또는 그것의 앵커 포인트(502)가 상호작용 포인트(402) 및/또는 호출 대상(403)의 위치에 좌우되는 위치에 있는 곳과 같은 디스플레이(401)상의 임의의 위치에 디스플레이될 수 있다. 도시된 예제에서, 입력 패널(501)은 호출 대상(403)이 입력 패널(501)에 의해 대체되기 전에 디스플레이되었던 위치와 동일하거나 또는 거의 동일한 위치에 디스플레이된다.
도 3의 단계(307)에서, 입력 패널(501)은 텍스트, 잉크, 이미지, 오디오(예를 들어 말) 등과 같은 원하는 유형의 내용 중 임의의 것을 사용자 입력으로 수신할 수 있다. 그러나, 개시된 실시예의 예시적인 입력 패널(501)은 주로 텍스트, 잉크 및/또는 말의 내용을 수신하는 것으로 사용된다. 그 이유는 입력 패널(501)이 일부 실시예에서 워드 프로세싱 애플리케이션과 같이 현재 수행중인 애플리케이션으로의 엔트리에 대해 의미있는 입력을 수신하는 텍스트 입력 패널로 간주될 수 있기 때문이다. 도 5에서 볼 수 있듯이, 문자 "abc"가 입력 패널(501)의 내용으로서 수기 잉크로 기록된다. 이것은 입력 패널, 보다 구체적으로는 입력 패널(501)에 대응하는 입력 표면의 일부에 "abc"를 기록하기 위해 스타일러스(204)를 사용하여 행해질 수 있다.
도 3의 단계(308)에서, 컴퓨터는 사용자 입력이 입력 패널(501)의 경계 가까이에 있는지 또는 그것을 접촉하고 있는지 여부를 검사한다. 입력 패널(501)의 경계는 입력 패널(501)의 가시(visible) 모서리와 동일한 공간에 걸쳐 있고, 입력 패널(501)의 가시 표시내에 있을 수 있고 및/또는 입력 패널(501)의 가시 표시를 넘어 확장할 수 있다. 예를 들어, 오른쪽 경계는 입력 패널(501)의 오른쪽 가시 모서리와 같은 수 있고 또는 오른쪽 경계는 오른쪽 가시 모서리로부터 왼쪽으로 소정의 거리만큼 떨어져 있을 수 있다. 도 6은 입력 패널(501)의 오른쪽 모서리(602)의 왼쪽에 있는 오른쪽 경계(606)를 도시하고 있다. 그러나, 경계(606)는 또한 오른쪽 모서리(602)와 동일한 위치에 있을 수 있다. 또한 입력 패널(501)의 상부 모서리(601), 왼쪽 모서리(605), 및 하부 모서리(603)가 표시되어 있다.
도 7은 입력 패널(501)의 경계 가까이 또는 입력 패널(501)의 경계를 접촉하는 사용자 입력에 응답하여 발생할 수 있는 것을 도시한다. 도 7은 또한 "위", "아래", "왼쪽", "오른쪽" 방향을 도시한다. 이 예시적인 방향은 본 발명의 양상의 설명을 돕기 위해 명세서 전체에서 일관되게 사용될 것이고, 사용자가 디스플레이(401)를 볼 때 사용자의 관점에서 측정된다. 도시된 방향 화살표 및 방향 텍스트는 디스플레이(401)상에 디스플레이될 필요는 없고, 단지 설명을 위해 도시된 것이다. 본 명세서에서 사용된 방향은 디스플레이(401)에 상대적인 것이고, 지구 중력의 견인력에 대해 상대적이거나 그것을 설명할 필요는 없다. 예를 들어, 디스플레이(401)는 테이블상에 수평으로 놓여질 수 있지만, 도시된 "위" 방향은 디스플레이(401)에 대해 여전히 "위" 방향으로 남아 있다.
원래 "abc" 였던 사용자 입력이 이제 "abc def ghi jkl mno pqr"로 변경되었음을 알 수 있다. 도 5에 도시된 대로 사용자 입력이 입력 패널(501)에 맞지 않기 때문에, 입력 패널(501)은 사용자 입력을 수용하기 위해 자동으로 확장한다. 이 실시예에서, 입력 패널(501)의 오른쪽 경계 가까이에 있거나 또는 그것에 접촉하는 사용자 입력에 응답하여, 입력 패널(501)은 사용자 입력에 맞도록 필요한 만큼 오른쪽 가시면(602) 및/또는 오른쪽 경계(606)를 동적으로 확장한다. 예를 들어, 사용자 입력이 단지 "abc def ghi"이면, 이 입력 패널(501)은 도 7에 도시된 것보다 더 적게 오른쪽으로 확장한다. 현실에서는 사용자 입력이 오른쪽으로 이동하기 때문에 입력 패널(501)은 계속해서 오른쪽으로 확장한다. 그러나, 입력 패널(501)은 그것이 얼마나 오른쪽으로 확장할 수 있는가에 관해 제한될 수 있다. 물리적인 한 계는 디스플레이(401)의 경계가 될 것이다. 입력 패널(501)은 또한 오른쪽으로의 확장에 있어 인위적으로 제한될 수 있다. 예를 들어, 입력 패널(501)은 디스플레이(401)의 오른쪽 경계로부터 소정의 수평 오른쪽 마진(Mhr)까지만 오른쪽으로 확장할 수 있다. 마진(Mhr)은 고정될 수도 있고 가변적일 수도 있고, 사용자에 의해 및/또는 애플리케이션에 의해 설정될 수도 있다. 마진(Mhr)은 절대 거리로 또는 디스플레이(401) 크기의 백분율로 측정될 수 있다. 예를 들어, Mhr은 약 1/4인치, 약 1/2인치, 약 1/4인치와 약 1/2인치 사이, 디스플레이(401) 경계 폭의 약 3%, 디스플레이(401) 경계 폭의 약 5%, 또는 디스플레이(401) 경계 폭의 약 3%와 약 5% 사이 등이 될 수 있다. 그러나, Mhr은 다른 값이 될 수도 있다. 확장 프로세스 전반에 걸쳐 앵커 포인트(502)는 고정된다. 이것은 입력 패널(501)의 상부 모서리(601) 및 왼쪽 모서리(605) 또한 확장 프로세스 전반에 걸쳐 고정되어 있다는 것을 의미한다.
따라서, 도 3의 단계(309)에서, 입력 패널(501)이 아직 그 한계까지 오른쪽으로 완전히 확장되지 않았다면, 단계(310)에서 입력 패널(501)은 오른쪽으로 확장하고 단계(307)에서 계속하여 사용자 입력을 더 받아들인다. 입력 패널(501)은 인크레멘트(increment:일정량, 일정수의 증분)만큼 오른쪽으로 확장한다. 이 인크레멘트는 고정된 크기일 수도 있고 또는 사용자 입력에 따라 가변될 수도 있다. 인크레멘트의 크기가 고정된 경우, 인크레멘트는 약 1.5인치 또는 약 1.75인치 또는 약 2인치 또는 이들 양보다 다소 작거나 많을 수 있다.
반면, 단계(309)에서 입력 패널(501)이 그 오른쪽 한계에 이미 도달했다고 판정되는 경우, 입력 패널(501)은 단계(312)에서 다른 방향으로 확장할 수 있다. 도시된 실시예에서, 다른 방향은 아래이다. 입력 패널(501)은 계속해서 단계(307)에서 사용자 입력을 더 받아들인다. 도 8은 입력 패널(501)이 그 오른쪽 한계에 도달하고 사용자가 계속해서 입력 패널(501)에 사용자 입력을 제공할 경우 어떤 일이 일어나는가를 도시한다. 이 경우, 사용자 입력은 증가하여 이제 "abc def ghi jkl mno pqr stu vwx yzl 234"가 되었다. 이 사용자 입력 전체는 도 7에 도시된 것처럼 입력 패널(501)에 맞지 않으므로, 입력 패널(501)은 이 추가의 사용자 입력을 수용하기 위해 아래로 자동으로 확장된다. 다시 말해, 입력 패널(501)의 하부 모서리(603)가 잉크 획(ink stroke)의 오른쪽으로의 확장에 응답하여 아래로 이동한다. 이 입력 패널(501)의 오른쪽 및 아래로의 확장은 잉크가 기록될 때 실시간으로 일어날 수 있다. 오른쪽 마진(Mhr)이 여전히 고려된다는 것을 유의한다. 이 아래로의 확장은 오른쪽으로의 확장으로 인해 입력 패널(501)이 마진(Mhr)까지 오른쪽으로 완전히 확장한 후에만이 시작될 수 있다. 또는, 적어도 일부 아래로의 확장은 입력 패널(501)이 오른쪽으로 완전히 확장하기에 앞서, 그것이 마진(Mhr)까지 확장하기 전에 일어날 수 있다. 또한, 적어도 일부 아래로의 확장은 오른쪽으로의 확장과 동시에 일어날 수도 있다(이것은 사용자에게는 사실상 직교 확장으로 보일 수 있음).
그러나, 본 실시예에서, 입력 패널(501)은 그것이 아래 방향으로 완전히 확장되지 않은 경우에만 아래로 확장할 수 있다. 따라서, 단계(311)에서 입력 패널(501)이 아직 아래로 완전히 확장하지 않은 경우, 이것은 인크레멘트 방식으로 확 장할 수 있다. 예를 들어, 입력 패널(501)은 소정의 인크레멘트 또는 사용자 입력에 따른 양만큼 확장할 수 있다. 한 실시예에서, 아래로의 인크레멘트 확장 양은 약 1.5인치 또는 약 1.75인치 또는 약 2인치 또는 이 양보다 다소 많거나 작은 고정된 양일 수 있다. 다른 실시예에서, 이 아래로의 인크레멘트 확장 양은 사용자 입력 패널에 이전에 기록된 수기된 문자 또는 수직 문자열의 높이에 좌우될 수 있다. 이전에 기록된 텍스트가 크면 클수록, 아래로의 인크레멘트도 커지고, 추가되는 사용자 입력 문자열 또한 유사한 크기일 것으로 예상된다.
반면, 단계(311)에서 판정되었듯이 입력 패널(501)이 아래로의 최대 한계까지 이미 확장했다면, 입력 패널(501)은 더 이상 확장할 수 없다. 그러나, 입력 패널(501)은 계속해서 사용자 입력을 받아들일 수 있다. 아래로의 방향에서의 확장 한계는 디스플레이(401)의 하부 경계에 의해 제한된다. 아래로의 확장은 인위의 수직 하부 마진(Mvb)에 의해 또한 제한된다. 마진(Mvb)은 마진(Mhr)과 동일한 방식으로 결정된다.
이 시점에서, 본 실시예의 앵커 포인트(502)는 도 5, 7, 및 8에 걸쳐 디스플레이(401)상의 동일한 고정 위치에 있다는 것을 유의한다. 이것은 입력 패널(501)이 오른쪽 및/또는 아래로의 방향으로 완전히 확장한 때 조차도 그러하다. 일부 실시예에서, 사용자는 입력 패널 확장을 위한 공간을 더 만들기 위해 수작업으로 (드래그 앤드 드롭함으로써) 앵커 포인트를 이동시킬 수 있다. 앵커 포인트(502)는 입력 패널(501)의 위 및 왼쪽 경계의 교점을 나타낼 수 있다. 그러나, 앵커 포인트(502)는 입력 패널(501)의 위 및 오른쪽 경계의 교점과 같이 입력 패널(501)의 다른 경계 조합의 교점을 나타낼 수도 있다. 앵커 포인트(502)가 위 및 왼쪽 경계의 교점을 나타내는 예제에서, 입력 패널(501)의 위 및 왼쪽 경계는 앵커 포인트(502)와 함께 여전히 고정될 수 있다. 따라서, 일단 입력 패널(501)이 오른쪽 및 아래로의 방향으로 완전히 확장하면, 입력 패널(501)은 더 이상 확장할 수 없다. 이하에 설명되는 바와 같이, 경계의 어느 교점이 앵커 포인트(502)를 나타내는가는 어떤 언어로 입력 패널(501)에 기록되는가 또는 타이핑되는가에 좌우된다.
입력 패널(501)이 이제 어느 방향으로도 더 이상 확장할 수 없는 시점에 도달했을지라도(즉 단계(311)의 결과가 "예"인 경우), 사용자는 계속해서 사용자 입력을 추가하고 및/또는 입력 패널(501)에 의해 정의된 기존 영역에서 기존의 사용자 입력을 편집할 수 있다. 입력 패널(501)이 더 이상 확장할 수 없을 때, 입력 패널(501)은 이에 응답하여 사용가 입력이 추가로 입력될 수 있도록 수평 및/또는 수직 방향으로 하나 이상의 스크롤 바를 전개할 수 있다. 그러나, 일부 실시예에서, 가능한 한 단순하게 입력 패널(501)과 인터페이스하는 것이 바람직하기 때문에, 스크롤 바는 이 경우 사용가능하지 않을 수 있다.
수평 왼쪽 마진(Mhl) 및 수직 상부 마진(Mvt) 또한 도 8에 도시되어 있다. 이들 마진은 인위적인 마진이며 입력 패널(501)이 이들 마진을 넘을 수 없도록 사용된다. 일부 실시예에서, 앵커 포인트(502)는 마진(Mhl)의 왼쪽에 위치해서도 안 되고, 마진(Mvt)의 위에 위치해서도 안 된다. 이것은 상호작용 포인트(402)가 어디에 있는가에 관계없이 항상 그러해야 한다. 입력 패널(501)이 어디에 디스플레이되어야 하는가를 정의하는 임의의 규칙은 입력 패널(501)이 처음에 그리고 입력 패널(501)이 확장하는 동안 마진(Mhl, Mhr, Mvt 및 Mvb) 외부에 위치해서는 안 된다는 것을 보장해야 한다. 필요한 경우, 입력 패널(501)의 초기 디폴트 위치가 이전에 설명된 대로 사용되지 않을 경우, 입력 패널(501)이 이들 마진을 위배하지 않는다는 것을 보장하기에 충분한 양만큼 수정될 수 있다. 디폴트 배치 규칙이 호출 대상 및/또는 입력 패널을 마진 내에 배치하지 못할 때마다, 호출 대상 및/또는 입력 패널은 마진을 위배하지 않고 디폴트 위치에 가능한한 가까이 있도록 하기 위해 가능한 한 적게 이동될 수 있다.
입력 영역과 상호작용하는 입력 패널
입력 패널(501)이 어떻게 사용될 수 있는가에 관한 예제가 도 9 내지 도 11에 도시되어 있다. 도 9에서, 디스플레이(401)는 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 인터넷 웹 브라우저 또는 이메일 프로그램과 같은 오픈 소프트웨어 애플리케이션의 GUI 표현(graphical user interface representation)(901)을 도시하지만 이에 제한되지 않는다. 소프트웨어 애플리케이션은 내용(902)을 디스플레이하고, 내용(902)은 이 예제에서는 텍스트이지만 기타 내용일 수 있다. 내용(902)은 그것을 편집하고, 삭제하고, 또는 추가함으로써 상호작용될 수 있다. 따라서, 이 특정 실시예에서, 내용(902)을 포함하는 디스플레이(401)상의 영역(903)(꼭 디스플레이될 필요가 없으므로 점선으로 도시됨)은 이전에 정의된 입력 영역으로 간주될 수 있다. 스타일러스(204)는 상호작용 포인트(402)에 의해 표시되는 영역의 디스플레이(401)상에서(또는 입력 표면이 디스플레이(401)와 동일하지 않은 경우 디스플레이(401)상의 상호 작용 포인트(402)에 대응 하는 입력 표면의 일부상에서) 선회할 수 있다. 상호작용 포인트(402)가 입력 영역(903)내에 있기 때문에, 호출 대상 및 입력 패널(501)은 이전에 설명된 대로 디스플레이될 수 있다. 상호작용 포인트(402)가 입력 영역(903)(및 임의의 입력 영역) 외부에 있을 경우, 호출 대상 및 입력 패널(501)은 디스플레이될 수 없다. 따라서, 호출 대상 및/또는 입력 패널(501)의 디스플레이 여부는 상호작용 포인트(402)가 입력 영역에 대해 어디에 있는가에 좌우된다. 입력 영역은 운영 체제 및/또는 현재 수행중인 애플리케이션 소프트웨어에 의해 정의될 수 있다.
이 예제에서, 입력 패널(501)은 입력 영역(903)과 관련될 수 있고 초기에는 사용자 입력 및 내용이 비어있을 수 있다. 입력 패널(501)은 특히 입력 영역(903)삽입 포인트과 관련될 수 있다. 통상적으로, 애플리케이션 또는 (운영 체제와 같은) 애플리케이션을 호스팅하는 시스템은 삽입 포인트를 제공하는데, 이 삽입 포인트에서 입력 장치에 의해 생성되는 데이터는 입력 영역(903)과 같은 제어로 삽입될 것이다. 예를 들어, 애플리케이션은 입력 장치에 의해 생성되는 데이터가 삽입되는 곳을 표시하기 위해 삽입 포인트를 디스플레이할 수 있다. 텍스트용 삽입 포인트는 통상적으로 깜빡이는 수직선(a blinking vertical line)의 형태인 커서로 디스플레이될 수 있다. 삽입 포인트의 위치는 통상적으로 하나 이상의 입력 장치에 의해 제어될 수 있다. 삽입 위치는 또한 대체할 수 있는 각종 텍스트일 수 있다. 사용자가 각종 텍스트를 새 입력 데이터로 대체하고자 하는 경우, 사용자는 대체될 텍스트 전체를 선택할 수 있다. 예를 들어, 사용자는 포인팅 장치와 관련된 명령 버튼을 활성화시켜 이 포인팅 장치를 이동시키고 그 결과 디스플레이된 포인터는 대체될 텍스트 상으로 또는 이를 통해 전달할 수 있다. 이 프로세스는 종종 각종 텍스트를 "블록킹(blocking)" 하는 것으로 지칭된다. 이후 사용자가 컨트롤에 데이터를 입력할 때, 선택된 텍스트 전체가 새로이 입력되는 데이터로 대체된다.
이 예제에서, 사용자는 내용(902)의 단어 "three"를 편집하기 위해 이 단어를 블록킹한다. 따라서 이 선택된 부분은 입력 영역(903)의 삽입 포인트(904)로 간주될 수 있다. 사용자가 입력 패널(501)을 사용하여 내용(902)에 행하는 임의의 변경은삽입 포인트(904)에서 발생할 것이다. 도시된 대로, 사용자는 수기된 사용자 입력 "at"을 입력 패널(501)에 추가한다. 입력 패널(501)과 관련된 삽입 포인트(904)는 또한 강조되고 또는 그것이 입력 패널과 관련되었다는 것을 표시하기 위해 수정될 것이다.
도 10에서 사용자는 이전에 기록된 "at"에 추가하여 계속해서 기록하고, 그 결과 입력 패널(501)의 수기된 내용은 이제 "at least four, but no more than five"가 되었다. 이전에 설명한 대로, 입력 패널(501)은 사용자 입력을 수용하기 위해 오른쪽으로, 필요한 경우 아래로 확장한다. 다시 말하면, 입력 패널(501)은 Mhr 및 Mvb 마진을 위배하지 않고 고정된 위치에서 앵커 포인트(502)를 유지하면서 오른쪽으로 그리고 아래로 확장할 수 있다. 이 예제에서, 앵커 포인트(502)는 입력 패널(501)의 왼쪽 상부 코너에 있다. 또한 입력 패널(501)은 초기에 Mhl, Mhr, Mvt 및 Mvb 마진을 위배하지 않는 위치에 나타날 수 있다.
도 11에서, 사용자가 사용자 입력을 입력 패널(501)에 추가하는 것을 종료했을 때, 사용자 입력은 입력 패널(501)과 관련된 입력 영역(본 예제에서는 입력 영 역(903)에 해당됨)으로 전송될 수 있다. 특히, 사용자 입력은 상호작용 포인트(402)와 관련된 입력 영역(903)내의 위치로 전송될 수 있고, 이 경우 이것은 활성 소프트웨어 애플리케이션에 의해 생성되는 삽입 포인트(904)이다. 사용자 입력은 또한 이것을 입력 영역(903)에 추가하기 전 다른 형태로 변환될 수 있다. 예를 들어, 사용자 입력이 수기 잉크(handwritten ink)일 때, 이것은 텍스트로 인식될 수 있고, 이 인식된 텍스트가 입력 영역(903)에 추가된다. 도시된 대로, 사용자의 수기가 인식되고, 그 결과 그 수기에 대응하는 텍스트가 입력 포인트(904)에서의 강조된 단어 "three"를 대체하여 내용(902)의 해당 부분은 이제 "... within at least four, but no more than five, Years..."로 판독된다. 입력 패널(501)로부터 인식된 사용자 입력을 삽입한 후, 삽입 포인트(904)는 이제 삽입된 내용 뒤에 위치하게 되고, 이것은 표준 텍스트 커서의 형태로 도시된다.
수기 인식은 원하는 때에 다양한 시간에 자동 또는 수동으로 수행될 수 있다. 예를 들어, 수기 인식은 사용자가 사용자 입력 추가를 완료한 직후에 또는 사용자가 사용자 입력을 추가하고 있는 동안 자동으로 호출될 수 있다. 사용자가 입력을 추가하는 동안 인식이 수행되는 경우, 수기 인식은 각 문자 또는 각 단어가 기록된 후 자동으로 수행된다. 수기 인식으로부터 기인하는 텍스트는 입력 영역(903)에 추가될 수 있는데, 사용자가 끝내기를 기다리지 않고 또는 사용자가 끝낸 직후 사용자는 여전히 입력을 추가한다. 인식은 적어도 일정 기간동안 입력 표면에서 들어올려지는 스타일러스(204)에 응답하여 일어날 수 있다. 인식은 또한 사용자로부터의 수동 명령에 응답하여, 입력 모드 전환에 응답하여 및/또는 애플리케 이션 전환에 응답하여 일어날 수 있다.
앵커 포인트(502)가 고정되어야 한다는 규칙에 예외가 있을 수 있다. 예를 들어, 삽입 포인트(904)가 입력 패널(501) 아래로 이동하는 경우, 이 입력 패널(501)은 삽입 포인트(904)가 사용자에게 보이지 않는 것을 방지하기 위해 충분한 양만큼 이동할 수 있다. 예를 들어 입력 패널(501)내의 사용자 입력 수기가 인식되고 사용자가 기록하는 동안 입력 영역(903)으로 전송되는 경우, 삽입 포인트는 입력 패널(501) 아래로 이동할 수 있다.
도 12는 인터넷 웹 브라우저 소프트웨어 애플리케이션과 관련하여 입력 패널을 사용하는 또 다른 예제를 도시한다. 브라우저 애플리케이션은 브라우저 윈도우(1202)를 디스플레이할 수 있고, 이 브라우저 윈도우(1202)는 윈도우 내에 현재 부라우징되는 웹 페이지의 내용을 디스플레이하는 내용 박스(1203)를 포함한다. 브라우저 애플리케이션은 또한 인터넷 주소 입력 박스(1201)를 디스플레이할 수 있는데, 이것은 예를 들어 URLs(universal resource locators)의 형태로 사용자-입력 인터넷 주소를 수신할 수 있다. 이 실시예에서, 인터넷 주소 입력 박스(1201)는 입력 패널과의 상호작용을 위한 입력 영역이다. 또 다른 입력 영역(1205)이 내용 박스(1203)내에 도시된다. 내용 박스(1203)내의 임의의 입력 영역의 존재 및/또는 위치는 임의의 소정의 때에 브라우징되는 특정 인터넷 웹 페이지에 의해 정의되거나 또는 이것에 좌우된다. 디스플레이되는 인터넷 웹 페이지는 문서로 간주되고, 일반적으로 임의의 유형의 문서는 그 안에 임의의 입력 영역의 존재 및/또는 위치를 정의할 수 있다.
상호작용 포인트(도시 생략)가 인터넷 주소 입력 박스(1201)내에 또는 그 가까이에 계속 있을 경우, 이에 응답하여 호출 대상(도시 생략) 및/또는 입력 패널(1204)이 나타날 수도 있다. 이 예제에서, 선회 위치는 인터넷 주소 입력 박스(1201)일 수 있고, 이것은 Mvt 마진 외부에 있다. 그러므로, 배치 규칙은 호출 대상 및/또는 입력 패널(1204)이 Mvt 마진 위에 디스플레이되지 않는다는 것을 보장해야 한다. 특정 환경에 따라, 호출 대상 및/또는 초기에 디스플레이된 입력 패널(1204)은 이것을 보장하기 위해 조금 아래로 이동되어야 할 필요가 있다. 또한 호출 대상 및/또는 입력 패널(1204)이 디스플레이되는 위치는 나타날 수 있는 임의의 자동-완료 드롭다운(auto-complete dropdown)에 의해 영향을 받을 수 있다. 예를 들어, 인터넷 주소 입력 박스(1201)가 제안되고 완료된 인터넷 주소를 드롭다운하는 자동-완료 특징을 지니고 있는 경우, 호출 대상 및/또는 입력 패널(1204) 초기 디스플레이 위치는 예상되는 드롭다운 자동-완료 목록이 디스플레이될 곳 아래에 디스플레이되도록 조정될 수 있다.
또한, 상호작용 포인트가 디스플레이의 오른쪽으로 얼마나 멀리 위치해 있는가에 따라, 호출 대상 및/또는 초기-디스플레이 입력 패널(1204)은 입력 패널(1204)의 디폴트 초기 크기가 Mhr 마진을 위배하지 않는다는 것을 보장하기 위해 왼쪽으로 이동될 필요가 있다. 사용자는 스타일러스(204)를 사용하여 "www.microsoft.com"과 같은 URL을 기록할 수 있다. 수기된 이 URL은 인식되고, 그 결과로 생기는 텍스트가 인터넷 주소 입력 박스(1201)에 추가된다. 이에 응답하여, 그 URL과 관련된 웹 페이지가 브라우징된다. 상호작용 포인트가 입력 영역 (1205)과 관련된 경우(예를 들어 입력 영역(1205)내에 있는 경우), 입력 영역(1205)으로 전송된 결과 사용자 입력은 디스플레이된 웹 페이지와 상호작용하고 및/또는 디스플레이된 웹 페이지를 제공하는 원격 서버로 전송될 수 있다.
호출 및 제거(summoning and dismissing)
입력 패널이 입력 영역상에서 스타일러스(204)를 선회함으로써 호출되는 것으로 설명되었다. 그러나, 입력 패널(입력 패널(501) 또는 입력 패널(1204))은 각종 방식 중 임의의 방식으로 호출될 수 있다. 예를 들어, 입력 패널은 키보드 명령, 메뉴 명령 또는 스타일러스(204)의 손짓과 같은 사용자의 명령에 응답하여 명시적으로 호출될 수 있다. 스타일러스의 손짓으로는 디스플레이(401)에 대해 스타일러스(204)가 선회하고, 두드리고, 및/또는 드래그하는 것과 같은 임의의 유형의 손짓을 포함한다. 입력 패널은 사전 호출 대상이 있거나 또는 사전 호출 대상 없이 호출될 수 있다.
또한, 입력 패널은 호출 대상이 먼저 나타난 후에 호출되는 것으로 설명되었다. 그러나 호출 대상은 필수가 아니다; 입력 패널은 사전 호출 대상 없이 호출될 수 있다. 이것은 입력 영역이 현재 비어있고(사용자 입력이 전혀 없음) 또는 특정 유형인 경우에 특히 유용하다. 따라서, 일부 실시예에서는 호출 대상이 정상적으로 먼저 나타나고 호출되는 경우 입력 패널이 그 뒤를 따르는 반면, 동일한 실시예의 일부 상황에서는 입력 패널이 호출 대상 없이 호출될 수 있다. 예를 들어, 입력 패널은 비어있는 입력 영역 위를 선회하는 스타일러스(204)에 응답하여 즉시 호출될 수 있다. 또는 입력 패널은 이메일의 비어 있는 "To", "From" 또는 "Subject" 입력 영역위를 선회하거나 또는 그것에 다가가는 스타일러스(204)에 응답하여 즉시 호출될 수 있다. 즉시 호출되는 입력 패널은 호출 대상이 디스플레이된 후에 호출되는 입력 패널과 다르다. 예를 들어, 즉시 호출되는 입력 패널은 좀 더 작거나 또는 (키보드 버튼, 모드 전환 사용자 인터페이스 등과 같은) 일부 구성 요소가 없을 수도 있다. 이 더 작고 더 단순한 상태는 이러한 상황에서 바람직할 수 있는데, 그 이유는 이 더 작고 더 단순한 입력 패널이 사용자가 실제로 입력 패널을 통해 입력을 시작하고자 하는 숙련된 추측일 수 있는 반면 이러한 상황에서 전체 입력 패널을 보여주는 것은 약간 강압적일 수 있기 때문이다.
마찬가지로, 입력 패널(입력 패널(501) 또는 입력 패널(1204))은 각종 방식 중 임의의 방식으로 제거될 수 있다(dismiss). 예를 들어, 입력 패널은 사용자-호출 키보드 명령, 메뉴 명령 또는 스타일러스(204)의 손짓에 의해 명시적으로 제거될 수 있다. 다시 말해, 이러한 손짓은 임의의 유형의 손짓일 수 있다. 일단 명시적으로 닫히면, 호출 대상 및/또는 입력 패널은 동일한 입력 영역 또는 소프트웨어 애플리케이션과 관련하여 다시 자동으로 디스플레이될 수 없다. 그러나, 초점이 변경되거나 스타일러스(204)가 현재 포커스된 입력 영역 또는 애플리케이션의 입력 표면으로부터 제거되는 경우, 호출 대상 및/또는 입력 패널의 자동 호출은 동일한 입력 영역과 관련하여 다시 수행될 수 있다.
손짓-기반 제거의 한 예제에서, 스타일러스(204)가 디스플레이된 입력 영역 외부(또는 적어도 소정의 거리, 예를 들어 1/2인치, 입력 패널 경계의 외부)에서 선회하는 경우, 이에 응답하여 입력 패널이 제거된다. 대화 윈도우가 제공되어 사 용자가 제거를 원하는지를 검증한다. 이 "선회하는(hover away)" 제거는 항상 입력 패널을 제거하거나 또는 스타일러스(204)가 입력 패널의 영역에 이미 들어간 경우에만 입력 패널을 제거할 수 있다. 이것은 발생으로부터 의도되지 않은 제거를 감소시킬 수 있다. 손짓-기반 제거의 또 다른 예제는 입력 표면의 범위를 벗어나는 스타일러스(204)에 응답하여 입력 패널이 제거되는 것이다. 이 "범위에서 벗어나는" 제거는 항상 작동하거나 또는 사용자 입력이 입력 패널에 이미 제공된 경우에만 작동할 수 있다. 다시 말해, 후자는 의도되지 않는 제거를 감소시키는 데에 도움이 된다. "선회하는" 제거 및 "범위에서 벗어나는" 제거 각각은 또한 스타일러스(204)가 입력 패널로부터 떨어져 있거나 또는 적어도 최소의 타임아웃동안 범위 밖에 있을 것을 요청한다. 타임아웃은 약 1초 또는 그 이상과 같이 임의의 시간동안이다.
입력 패널을 제거하는 또 다른 방법은 소프트웨어 애플리케이션 및/또는 입력 패널과 관련된 입력 영역을 제거하는 것이다. 이것이 발생하는 경우, 소프트웨어 애플리케이션 및/또는 입력 영역으로 아직 전송되지 않은 입력 패널의 임의의 사용자 입력은 플러쉬되어(flush) 전송되지 않을 수 있다. 그러나, 다른 소프트웨어 애플리케이션으로 또는 쉘로 단지 포커스를 변경하는 것은 입력 패널에 영향을 끼치지 않고, 이것은 다시 선택될 때까지 여전히 열려 있지만 포커스는 없는 상태로 유지될 수 있다.
입력 패널 내용 포맷
지금까지 입력 패널의 예제는 스타일러스를 사용하고 수기된 사용자 입력과 관련하여 설명되었다. 그러나, 입력 패널은 키보드 입력 및 말을 포함하여 각종 사용자 입력 포맷을 받아들일 수 있다. 원하는 사용자 입력의 유형에 따라, 입력 패널은 다른 형태로 디스플레이될 수 있다. 예를 들어, 자유형의 수기를 원하는 경우, 입력 패널은 비어 있거나 또는 단어를 기록할 수 있는 하나의 줄을 포함할 수 있다. 문자별 인식을 원하는 경우, 입력 패널은 도 13에 도시된 대로 각 문자에 대해 하나씩 일련의 블록 등을 디스플레이할 수 있다. 입력 패널이 확장함에 따라, 추가의 문자 블록이 디스플레이된다. 키보드 입력을 원하는 경우, 입력 패널은 키보드 또는 심지어 문자를 입력하는 데에 사용될 수 있는 그래픽 인터액티브 키보드의 아이콘을 디스플레이할 수 있다. 입력 패널은 하나 이상의 버튼 또는 기타 컨트롤(1301)을 포함할 수 있는데, 이것을 이용하여 사용자는 수동으로 디스플레이할 입력 패널의 유형을 선택할 수 있다. 예를 들어, 버튼(1301)은 사용자로 하여금 키보드, 자유형 수기와 문자별(블록 유형) 내용 입력 패널 중 하나를 선택하도록 한다. 또한, 사용자는 호출 대상으로부터 입력 패널 내용의 유형을 선택할 수 있다.
다수의 언어 수용
지금까지, 입력 패널은 사용자 입력이 영어와 같이 행으로 왼쪽에서 오른쪽으로 그리고 나서 위에서 아래로 기록되는 언어로 되어 있다는 가정하에 설명되었다. 그런 경우, 입력 패널이 영어가 기록되는 방식에 맞추기 위해 오른쪽으로 그리고 아래로 확장되는 것이 바람직하다. 그러나, 모든 언어가 이러한 방식으로 기록되는 것이 아니다. 예를 들어, 히브리어는 행으로 오른쪽에서 왼쪽으로 그리고 나서 이 행들은 위에서 아래로 기록되며, 전통 중국어는 열로 위에서 아래로 그리고 나서 이 열들은 오른쪽에서 왼쪽으로 기록된다. 그러므로, 입력 패널이 이전에 설명된 것 이외에 다른 방향으로 확장하는 것이 바람직하다. 예를 들어, 사용자가 히브리어를 기록하는 경우, 입력 패널은 그것이 Mhl 마진에 도달할 때까지 우선 왼쪽으로 확장하고, 그것이 Mvb 마진에 도달할 때까지 각 열에 대해 필요한 만큼 아래로 확장한다. 입력 패널의 오른쪽 상부 모서리가 계속 고정되고, 앵커 포인트는 오른쪽 및 상부 모서리의 교점이 될 것이다. 또한, 히브리의 경우 경계(606)는 왼쪽 경계가 될 것이다. 또는 사용자가 중국어를 기록하는 경우, 입력 패널은 그것이 Mvb 마진에 도달할 때까지 우선 아래로 확장하고 그리고 나서 그것이 Mhl 마진에 도달할 때까지 각 열에 대해 필요한 만큼 왼쪽으로 확장한다. 입력 패널의 오른쪽 상부 모서리가 또한 계속 고정된다. 일반적으로, 입력 패널은 네 개의 가능한 방향 중 두 개가 확대되고, 나머지 두 방향은 계속 고정되어 있다.
사용될 특정 언어는 입력 패널이 생성되는 문맥에, 사용자 명령에, 운영 체제에, 입력 패널과 관련된 입력 영역에 및/또는 현재 포커스가 있는 소프트웨어 애플리케이션에 좌우된다. 버튼(1301)은 또한 사용자가 수작업으로 언어를 선택할 수 있게 해 준다. 언어는 또한 호출 대상과의 상호작용을 통해 선택될 수 있다. 입력 패널이 확장하고 사용자의 수기가 인식되는 방식 둘 다는 선택된 언어에 좌우된다.
결론
지금까지, 스타일러스 기반 및 기타 컴퓨터 시스템에서 사용자 입력을 추가 하는 유용하고 편리한 방법이 설명되었다. 수기 또는 타이핑된 사용자 입력을 수신하기에 특별히 효과적인 즉시 응답 방식으로 동적으로 확장하는 입력 패널이 설명되었다. 입력 패널은 사용된 귀중한 "부동산" 스크린의 양을 줄이거나 또는 최소화하고 운영 체제 및 소프트웨어 애플리케이션에 의해 디스플레이되는 기타 구성요소를 가리는 가능성을 줄이거나 제거하면서, 사용자가 필요로 하는 경우 수기 또는 타이핑된 사용자 입력으로의 쉬운 액세스를 제공할 수 있다.
본 발명의 각종 양상을 구현하고 본 명세서에서 설명된 장치 및 방법은 실례로서 도시된 것이고, 본 발명이 이들 특정 실시예에 제한되지 않는다는 것을 이해할 것이다. 당업자들에 의해, 특히 전술된 내용의 견지에서 수정이 행해질 수 있다. 예를 들어, 전술된 실시예의 하나 이상의 구성요소는 단독으로 또는 기타 실시예의 하나 이상의 구성요소의 조합으로 활용될 수 있다. 또한, Microsoft WINDOWS 브랜드 운영체제와 관련하여 개시의 일부가 설명되었음에도 불구하고, 기타 GUI 기반 운영 체제와 같은 기타 운영 체제가 사용될 수 있다는 것을 이해할 것이다. 또한, 본 발명이 임의의 조합 또는 서브 조합으로 본 명세서에서 설명된 구성요소 및 단계를 포함한다는 점에서 청구항들 또한 예시적이지만, 본 발명은 첨부된 청구항을 이용하여 정의된다. 또한 본 발명의 진정한 정신 및 범위를 벗어나지 않고 수정이 행해질 수 있다는 것을 이해할 것이다.
본 발명의 양상을 이용하여 사용자는 덜 방해가 되는 방식으로 사용자 입력을 쉽고 효율적으로 입력할 수 있다. 초보 사용자들이 쉽게 찾아낼 수 있고 효과 적으로 사용하기 위해 사용자 측에서 거의 조작할 필요가 없는 입력 패널이 제공된다. 입력 패널은 사용자가 필요로 할 때 및 사용자가 필요로 하는 곳에서 수기된 입력, 키보드 입력, 및 기타 사용자 입력으로의 쉬운 액세스를 제공하고, 사용자에게 중요할 수 있는 디스플레이된 일부 중요한 구성요소를 가리는 가능성을 줄여준다.

Claims (32)

  1. 컴퓨터에서,
    입력 패널을 디스플레이하는 단계;
    입력을 상기 입력 패널로 수신하는 단계; 및
    상기 입력 패널의 오른쪽 경계에 접근하는 상기 입력에 응답하여 상기 입력 패널을 아래로 확장하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 입력 패널의 오른쪽 경계에 접근하는 상기 입력에 응답하여 상기 입력 패널을 오른쪽으로 확장하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 입력 패널을 오른쪽으로 확장하는 상기 단계는 상기 입력 패널을 아래로 확장하는 상기 단계에 앞서 수행되는 방법.
  4. 제2항에 있어서, 상기 입력 패널을 오른쪽으로 확장하는 상기 단계는 상기 입력 패널이 소정의 위치까지 확장할 때까지 상기 입력 패널을 오른쪽으로 계속해서 확장하는 단계를 포함하고, 패널을 아래로 확장하는 상기 단계는 상기 입력 패널이 상기 소정의 위치까지 오른쪽으로 확장한 후에만 수행되는 방법.
  5. 제4항에 있어서, 디스플레이하는 상기 단계는 디스플레이상에 상기 입력 패널을 디스플레이하는 단계를 포함하고, 상기 소정의 위치는 상기 디스플레이의 경계에 관련하여 결정되는 방법.
  6. 제4항에 있어서, 상기 소정의 위치는 상기 입력 패널의 왼쪽 경계의 위치에 독립적인 방법.
  7. 제1항에 서술된 상기 단계들을 수행하는 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 매체.
  8. 컴퓨터에서,
    서로 다른 제1 및 제2 축을 따라 연장하는(extending) 입력 패널을 디스플레이상에 디스플레이하는 단계;
    입력을 상기 입력 패널로 수신하는 단계; 및
    상기 제1 축을 따라 연장하는 상기 입력에 응답하여 상기 제2 축을 따라 상기 입력 패널을 확장하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서, 상기 제1 축은 수평 축이고, 상기 제2 축은 수직 축인 방법.
  10. 제8항에 있어서, 상기 제1 축은 수직 축이고, 상기 제2 축은 수평 축인 방법.
  11. 제8항에 있어서, 상기 입력 패널은 단일 방향으로만 상기 제2 축을 따라 확장하는 방법.
  12. 제8항에 있어서, 상기 입력을 수신하는 상기 단계는 접촉-감응 디스플레이(a touch-sensitive display)상에서 스타일러스(stylus)로부터 입력을 수신하는 단계를 포함하고, 디스플레이하는 상기 단계는 상기 디스플레이상에 상기 입력을 디스플레이하는 단계를 포함하는 방법.
  13. 제8항에 있어서, 상기 제1 축을 따라 연장하는 상기 입력에 응답하여 상기 제1 축을 따라 상기 입력 패널을 확장하는 단계를 더 포함하는 방법.
  14. 제13항에 있어서, 상기 입력 패널을 상기 제1 축을 따라 확장하는 상기 단계는 상기 입력 패널이 소정의 위치까지 확장할 때까지 상기 입력 패널을 상기 제1 축을 따라 계속해서 확장하는 단계를 포함하고, 상기 입력 패널을 상기 제2 축을 따라 확장하는 상기 단계는 상기 입력 패널이 상기 소정의 위치까지 확장한 후에만 수행되는 방법.
  15. 제14항에 있어서, 디스플레이하는 상기 단계는 디스플레이상에 상기 입력 패널을 디스플레이하는 단계를 포함하고, 상기 소정의 위치는 상기 디스플레이의 경계에 관련하여 결정되는 방법.
  16. 제13항에 있어서, 상기 제1 축을 따라 상기 입력 패널을 확장하는 상기 단계는 상기 입력 패널내의 경계에 도달하는 상기 입력에 응답하여 상기 제1 축을 따라 상기 입력 패널을 확장하는 단계를 포함하는 방법.
  17. 제8항에 있어서, 상기 제1 축을 따라 연장하는 상기 입력에 응답하여 상기 제2 축을 따라 상기 입력 패널을 확장하는 상기 단계는 오른쪽으로 연장하는 상기 입력에 응답하여 상기 입력 패널을 아래로 확장하는 단계를 포함하는 방법.
  18. 제8항에 있어서, 상기 제1 축을 따라 연장하는 상기 입력에 응답하여 상기 제2 축을 따라 상기 입력 패널을 확장하는 상기 단계는 아래로 연장하는 상기 입력에 응답하여 상기 입력 패널을 왼쪽으로 확장하는 단계를 포함하는 방법.
  19. 제8항에 서술된 상기 단계들을 수행하는 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 매체.
  20. 스타일러스-감응 입력 표면(a stylus-sensitive input surface)을 포함하는 컴퓨터에서,
    스타일러스가 상기 입력 표면에 대해 제1 액션을 수행하는지 여부를 판정하는 단계;
    상기 제1 액션을 수행하는 상기 스타일러스에 응답하여, 호출 대상(an invocation target)을 디스플레이하는 단계; 및
    상기 호출 대상을 디스플레이한 후 입력 패널을 디스플레이하는 단계
    를 포함하는 방법.
  21. 제20항에 있어서, 상기 제1 액션은 상기 입력 표면 위를 선회하는(hovering) 스타일러스인 방법.
  22. 제20항에 있어서, 상기 입력 표면 또한 디스플레이이며, 상기 호출 대상 및 상기 입력 패널을 디스플레이하는 상기 단계는 상기 디스플레이상에 상기 호출 대상 및 상기 입력 패널을 디스플레이하는 단계를 포함하는 방법.
  23. 제20항에 있어서, 상기 입력 패널이 디스플레이되기 이전에 상기 입력 표면에 대해 제2 액션을 수행하는 상기 스타일러스에 응답하여 상기 호출 대상을 제거하는 단계를 더 포함하는 방법.
  24. 제23항에 있어서, 상기 제1 액션은 상기 입력 표면 위를 선회하는 스타일러스이고 상기 제2 액션은 상기 입력 표면 위를 선회하는 것을 멈추는 스타일러스인 방법.
  25. 제17항에 서술된 상기 단계들을 수행하는 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 매체.
  26. 제20항에 있어서, 상기 호출 대상을 디스플레이하는 상기 단계는 삽입 포인트의 위치에 좌우되는 위치에서 상기 호출 대상을 디스플레이하는 단계를 포함하는 방법.
  27. 제20항에 있어서, 상기 호출 대상을 디스플레이하는 상기 단계는 상기 스타일러스의 위치에 좌우되는 위치에서 상기 호출 대상을 디스플레이하는 단계를 포함하는 방법.
  28. 스타일러스-감응 입력 표면을 포함하는 컴퓨터에서,
    시스템 프롬프트를 디스플레이하는 단계;
    스타일러스가 상기 입력 표면에 대해 제1 액션을 수행하는지 여부를 판정하는 단계;
    상기 제1 액션이 제1 유형 또는 제2 유형인 입력 영역과 관련되어 있는지 여 부를 판정하는 단계;
    상기 제1 액션이 상기 제1 유형의 입력 영역과 관련되는 것에 응답하여, 호출 대상을 디스플레이하고 상기 호출 대상을 디스플레이한 후 제1 입력 패널을 디스플레이하는 단계; 및
    상기 제1 액션이 상기 제2 유형의 입력 영역과 관련되는 것에 응답하여, 제2 입력 패널을 디스플레이하는 단계
    를 포함하는 방법.
  29. 제28항에 있어서, 상기 제1 유형은 사용자 입력을 포함하는 입력 영역이고, 상기 제2 유형은 사용자 입력이 없는 입력 영역인 방법.
  30. 제28항에 있어서, 상기 제2 유형은 "From" 이메일 주소를 수신하거나 또는 "To" 이메일 주소를 수신하거나 둘 중 하나를 위한 입력 영역인 방법.
  31. 제28항에 있어서, 상기 제1 입력 패널은 상기 제2 입력 패널과 서로 다른 방법.
  32. 제28항에 서술된 상기 단계들을 수행하는 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 매체.
KR1020057011759A 2003-11-10 2004-07-28 동적으로 확장하는 입력 패널로 사용자 입력을 추가하는방법 KR101015291B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/704,127 US7106312B2 (en) 2003-11-10 2003-11-10 Text input window with auto-growth
US10/704,127 2003-11-10

Publications (2)

Publication Number Publication Date
KR20060115321A true KR20060115321A (ko) 2006-11-08
KR101015291B1 KR101015291B1 (ko) 2011-02-16

Family

ID=34552056

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057011759A KR101015291B1 (ko) 2003-11-10 2004-07-28 동적으로 확장하는 입력 패널로 사용자 입력을 추가하는방법

Country Status (6)

Country Link
US (2) US7106312B2 (ko)
EP (1) EP1682965A4 (ko)
JP (1) JP4896730B2 (ko)
KR (1) KR101015291B1 (ko)
CN (2) CN101334706B (ko)
WO (1) WO2005048014A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120009546A (ko) * 2010-07-19 2012-02-02 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR20140027850A (ko) * 2012-08-27 2014-03-07 삼성전자주식회사 사용자 인터페이스 제공 방법 및 기계로 읽을 수 있는 저장 매체 및 휴대 단말
US10139982B2 (en) 2013-08-26 2018-11-27 Samsung Electronics Co., Ltd. Window expansion method and associated electronic device

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7106312B2 (en) * 2003-11-10 2006-09-12 Microsoft Corporation Text input window with auto-growth
WO2005103947A1 (ja) * 2004-04-27 2005-11-03 Matsushita Electric Industrial Co., Ltd. アプリケーション装置と入力サーバとからなる文字入力システム
US7697001B2 (en) * 2005-01-31 2010-04-13 Microsoft Corporation Personalized ink font
KR100703771B1 (ko) * 2005-05-17 2007-04-06 삼성전자주식회사 문자 입력판을 디스플레이하는 장치 및 방법
US7961943B1 (en) 2005-06-02 2011-06-14 Zeevi Eli I Integrated document editor
US7844599B2 (en) * 2005-08-24 2010-11-30 Yahoo! Inc. Biasing queries to determine suggested queries
US7747639B2 (en) * 2005-08-24 2010-06-29 Yahoo! Inc. Alternative search query prediction
US7761805B2 (en) * 2006-09-11 2010-07-20 Yahoo! Inc. Displaying items using a reduced presentation
US20080109752A1 (en) * 2006-11-07 2008-05-08 Yahoo! Inc. Expanding search query input box to support livesearch interaction
JP4497189B2 (ja) * 2007-10-04 2010-07-07 ブラザー工業株式会社 ラベルデータ作成装置、プログラム及び記録媒体
US8064702B2 (en) * 2007-12-21 2011-11-22 Microsoft Corporation Handwriting templates
US8255822B2 (en) * 2007-12-21 2012-08-28 Microsoft Corporation Incorporated handwriting input experience for textboxes
KR101044679B1 (ko) * 2008-10-02 2011-06-29 (주)아이티버스 문자입력방법
KR20100081030A (ko) * 2009-01-05 2010-07-14 삼성전자주식회사 유기 발광 표시 장치를 구비한 휴대 단말기 및 그의 전력 제어 방법
JP5218250B2 (ja) * 2009-04-24 2013-06-26 富士通株式会社 入力画面制御装置、入力画面制御方法及び入力画面制御プログラム
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US9292161B2 (en) * 2010-03-24 2016-03-22 Microsoft Technology Licensing, Llc Pointer tool with touch-enabled precise placement
JP5630160B2 (ja) * 2010-09-07 2014-11-26 ソニー株式会社 情報処理装置、情報処理方法およびコンピュータプログラム
JP5542017B2 (ja) * 2010-09-15 2014-07-09 アルパイン株式会社 名称検索装置
US9377950B2 (en) * 2010-11-02 2016-06-28 Perceptive Pixel, Inc. Touch-based annotation system with temporary modes
US9239708B2 (en) * 2010-12-28 2016-01-19 Microsoft Technology Licensing, Llc Contextually intelligent code editing
CN103547983B (zh) * 2011-05-20 2016-04-06 微软技术许可有限责任公司 用于手写输入的用户界面
US8699212B2 (en) * 2011-07-12 2014-04-15 Lionel Galerne Electronic reading apparatus, method and system for use in hyperbaric and hypobaric conditions
US9317196B2 (en) 2011-08-10 2016-04-19 Microsoft Technology Licensing, Llc Automatic zooming for text selection/cursor placement
US9779459B2 (en) * 2012-03-14 2017-10-03 Accenture Global Services Limited Social in line consumer interaction launch pad
US20130262483A1 (en) * 2012-03-30 2013-10-03 Nokia Corporation Method and apparatus for providing intelligent processing of contextual information
KR102091710B1 (ko) * 2012-08-28 2020-04-14 삼성전자주식회사 좌표 측정 장치 및 그 제어 방법
KR102009679B1 (ko) * 2012-11-16 2019-08-13 삼성전자주식회사 입력 장치를 이용한 메모 기능을 수행하는 단말 및 방법
US9519414B2 (en) * 2012-12-11 2016-12-13 Microsoft Technology Licensing Llc Smart whiteboard interactions
CN103049207B (zh) * 2012-12-27 2016-01-13 富泰华工业(深圳)有限公司 手写输入识别系统及方法
US20140201659A1 (en) * 2013-01-11 2014-07-17 International Business Machines Corporation Method and system for providing a twisty user interface element
CN104035942B (zh) * 2013-03-08 2018-09-07 腾讯科技(深圳)有限公司 屏幕显示模式切换时的输入框调整方法及装置
US9921711B2 (en) 2013-03-14 2018-03-20 Samsung Electronics Co., Ltd. Automatically expanding panes
CN104281336B (zh) * 2013-07-03 2017-12-26 向火平 基于电容屏的信息输入方法及电容屏输入系统
JP2015032050A (ja) * 2013-07-31 2015-02-16 株式会社東芝 表示制御装置、表示制御方法およびプログラム
KR102187255B1 (ko) * 2013-09-30 2020-12-04 삼성전자주식회사 전자 장치의 디스플레이 방법 및 그 전자 장치
CN104571898B (zh) * 2013-10-23 2018-04-27 腾讯科技(深圳)有限公司 页面的显示控制方法及装置
US10915698B2 (en) * 2013-12-31 2021-02-09 Barnes & Noble College Booksellers, Llc Multi-purpose tool for interacting with paginated digital content
US10331777B2 (en) 2013-12-31 2019-06-25 Barnes & Noble College Booksellers, Llc Merging annotations of paginated digital content
CN103677311A (zh) * 2014-01-02 2014-03-26 朱海威 便于修改的手写输入设备快速输入法
JP6364893B2 (ja) * 2014-04-01 2018-08-01 日本電気株式会社 端末装置、電子ホワイトボードシステム、電子ホワイトボードの入力支援方法、及びプログラム
TWI511030B (zh) * 2014-04-15 2015-12-01 Acer Inc 使用者介面顯示方法及其電子裝置
US9524428B2 (en) 2014-04-28 2016-12-20 Lenovo (Singapore) Pte. Ltd. Automated handwriting input for entry fields
US10289662B2 (en) * 2014-05-01 2019-05-14 Blackberry Limited Communication device and method for receipt and presentation of input and feedback
US20150347364A1 (en) * 2014-06-03 2015-12-03 Lenovo (Singapore) Pte. Ltd. Highlighting input area based on user input
CN105653112B (zh) * 2014-11-14 2020-01-10 深圳市腾讯计算机系统有限公司 一种显示浮层的方法及装置
JP6653522B2 (ja) * 2015-02-04 2020-02-26 シナプティクス・ジャパン合同会社 表示装置、表示パネルドライバ、表示パネルの駆動方法
US11157166B2 (en) * 2015-11-20 2021-10-26 Felt, Inc. Automove smart transcription
JP6828586B2 (ja) * 2017-05-18 2021-02-10 富士通株式会社 表示プログラム、表示装置及び表示方法
US20180349691A1 (en) * 2017-05-31 2018-12-06 Lenovo (Singapore) Pte. Ltd. Systems and methods for presentation of handwriting input
US10481791B2 (en) 2017-06-07 2019-11-19 Microsoft Technology Licensing, Llc Magnified input panels
CN108845757A (zh) * 2018-07-17 2018-11-20 广州视源电子科技股份有限公司 一种智能交互平板的触控输入方法及装置、计算机可读存储介质、智能交互平板
US11144192B2 (en) * 2018-12-19 2021-10-12 Microsoft Technology Licensing, Llc Customizable user interface for use with digital ink
US10942633B2 (en) * 2018-12-20 2021-03-09 Microsoft Technology Licensing, Llc Interactive viewing and editing system

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4663615A (en) * 1984-12-26 1987-05-05 International Business Machines Corporation Document creation
JPH01195527A (ja) * 1988-01-29 1989-08-07 Fujitsu Ltd 文字切り出し方式
JP2784825B2 (ja) * 1989-12-05 1998-08-06 ソニー株式会社 情報入力制御装置
JPH04310173A (ja) * 1991-04-08 1992-11-02 Dainippon Printing Co Ltd 表の作成装置
JPH0566886A (ja) * 1991-09-06 1993-03-19 Toshiba Corp タツチパネル制御システム
JP3343987B2 (ja) * 1993-04-28 2002-11-11 カシオ計算機株式会社 イメージ処理装置
US5559942A (en) * 1993-05-10 1996-09-24 Apple Computer, Inc. Method and apparatus for providing a note for an application program
JP3188039B2 (ja) * 1993-05-11 2001-07-16 三洋電機株式会社 手書き文字記入枠の制御方法
US5500937A (en) * 1993-09-08 1996-03-19 Apple Computer, Inc. Method and apparatus for editing an inked object while simultaneously displaying its recognized object
JPH0816313A (ja) * 1994-07-04 1996-01-19 Sanyo Electric Co Ltd 手書き入力方法及び装置
SE514798C2 (sv) * 1994-11-23 2001-04-23 Ericsson Telefon Ab L M System och förfarande för att förse ett hanterande system med information och ett telekommunikationssystem
JP2944439B2 (ja) * 1994-12-27 1999-09-06 シャープ株式会社 手書き文字入力装置および方法
JP3598563B2 (ja) * 1995-02-24 2004-12-08 カシオ計算機株式会社 入力装置
US6295372B1 (en) * 1995-03-03 2001-09-25 Palm, Inc. Method and apparatus for handwriting input on a pen based palmtop computing device
JP3176541B2 (ja) * 1995-10-16 2001-06-18 シャープ株式会社 情報検索装置および情報検索方法
JPH09212304A (ja) * 1996-01-30 1997-08-15 Toshiba Corp 情報機器及び同機器における入力領域拡大方法
US5745116A (en) * 1996-09-09 1998-04-28 Motorola, Inc. Intuitive gesture-based graphical user interface
US6525734B2 (en) * 1996-09-17 2003-02-25 Fujitsu Limited Display control apparatus, display control method and computer program product
JPH10105362A (ja) * 1996-09-30 1998-04-24 Toshiba Corp 携帯型情報機器および拡大表示制御方法
US6061695A (en) 1996-12-06 2000-05-09 Microsoft Corporation Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document
US6683628B1 (en) * 1997-01-10 2004-01-27 Tokyo University Of Agriculture And Technology Human interactive type display system
US6133914A (en) * 1998-01-07 2000-10-17 Rogers; David W. Interactive graphical user interface
US6209009B1 (en) 1998-04-07 2001-03-27 Phone.Com, Inc. Method for displaying selectable and non-selectable elements on a small screen
JP2000194464A (ja) * 1998-12-25 2000-07-14 Ntt Data Corp フォ―ム画面表示システム及び記録媒体
JP2001042992A (ja) * 1999-07-30 2001-02-16 Sharp Corp 手書き文字処理装置および方法
JP3998376B2 (ja) * 1999-09-10 2007-10-24 富士通株式会社 入力処理方法及びそれを実施する入力処理装置
GB2361397A (en) 2000-04-13 2001-10-17 Nokia Mobile Phones Ltd Display with continuous or wrapped text
JP2002010056A (ja) * 2000-06-19 2002-01-11 Fuji Photo Film Co Ltd 画像合成装置
US20050024341A1 (en) * 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
US20030001899A1 (en) 2001-06-29 2003-01-02 Nokia Corporation Semi-transparent handwriting recognition UI
JP2003050653A (ja) * 2001-07-18 2003-02-21 Internatl Business Mach Corp <Ibm> 入力イベントの発生方法及びその方法を備える情報端末
US6961912B2 (en) * 2001-07-18 2005-11-01 Xerox Corporation Feedback mechanism for use with visual selection methods
US20030020733A1 (en) * 2001-07-24 2003-01-30 Yin Memphis Zhihong Computer display having selective area magnification
JP4654553B2 (ja) * 2001-09-07 2011-03-23 ブラザー工業株式会社 文字列編集装置及び文字列編集プログラム
US6938221B2 (en) * 2001-11-30 2005-08-30 Microsoft Corporation User interface for stylus-based user input
US7068288B1 (en) * 2002-02-21 2006-06-27 Xerox Corporation System and method for moving graphical objects on a computer controlled system
US7423659B1 (en) * 2002-06-27 2008-09-09 Microsoft Corporation Method and system for utilizing void regions in computer-generated areas of text
JP2004030536A (ja) * 2002-06-28 2004-01-29 Toshiba Corp 情報処理装置および同装置で使用される文字入力支援方法
US7490296B2 (en) 2003-01-31 2009-02-10 Microsoft Corporation Utility object for specialized data entry
US20040230917A1 (en) * 2003-02-28 2004-11-18 Bales Christopher E. Systems and methods for navigating a graphical hierarchy
US7409644B2 (en) * 2003-05-16 2008-08-05 Microsoft Corporation File system shell
US7925682B2 (en) * 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7106312B2 (en) * 2003-11-10 2006-09-12 Microsoft Corporation Text input window with auto-growth

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120009546A (ko) * 2010-07-19 2012-02-02 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR20140027850A (ko) * 2012-08-27 2014-03-07 삼성전자주식회사 사용자 인터페이스 제공 방법 및 기계로 읽을 수 있는 저장 매체 및 휴대 단말
US10139982B2 (en) 2013-08-26 2018-11-27 Samsung Electronics Co., Ltd. Window expansion method and associated electronic device
US11119622B2 (en) 2013-08-26 2021-09-14 Samsung Electronics Co., Ltd. Window expansion method and associated electronic device

Also Published As

Publication number Publication date
WO2005048014A2 (en) 2005-05-26
EP1682965A2 (en) 2006-07-26
CN1864155B (zh) 2010-09-29
EP1682965A4 (en) 2011-02-02
CN101334706A (zh) 2008-12-31
US7106312B2 (en) 2006-09-12
JP2007511000A (ja) 2007-04-26
US8922479B2 (en) 2014-12-30
CN101334706B (zh) 2010-12-22
CN1864155A (zh) 2006-11-15
JP4896730B2 (ja) 2012-03-14
WO2005048014A3 (en) 2006-05-26
US20070005670A1 (en) 2007-01-04
KR101015291B1 (ko) 2011-02-16
US20050099407A1 (en) 2005-05-12

Similar Documents

Publication Publication Date Title
KR101015291B1 (ko) 동적으로 확장하는 입력 패널로 사용자 입력을 추가하는방법
KR101098642B1 (ko) 잉크 정정 패드
JP4373116B2 (ja) ライトエニウェアツール
US7848573B2 (en) Scaled text replacement of ink
US6903730B2 (en) In-air gestures for electromagnetic coordinate digitizers
JP4694606B2 (ja) ジェスチャ判定方法
US7100119B2 (en) Page bar control
US7319454B2 (en) Two-button mouse input using a stylus
US7735008B2 (en) Adding and removing white space from a document
US20050015731A1 (en) Handling data across different portions or regions of a desktop
US20020059350A1 (en) Insertion point bungee space tool
JP2000250866A (ja) 電子書き込みペンツールと電子マーカツールを自動的に選択する方法
KR101109191B1 (ko) 문자 연관 및 변환 방법 및 컴퓨터 판독가능 기록 매체

Legal Events

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

Payment date: 20140123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 10