KR0174577B1 - 컴퓨터 그래픽 사용자 인터페이스용 복수의 디스플레이 포인터 - Google Patents

컴퓨터 그래픽 사용자 인터페이스용 복수의 디스플레이 포인터 Download PDF

Info

Publication number
KR0174577B1
KR0174577B1 KR1019940039777A KR19940039777A KR0174577B1 KR 0174577 B1 KR0174577 B1 KR 0174577B1 KR 1019940039777 A KR1019940039777 A KR 1019940039777A KR 19940039777 A KR19940039777 A KR 19940039777A KR 0174577 B1 KR0174577 B1 KR 0174577B1
Authority
KR
South Korea
Prior art keywords
pointer
display
user
pointers
application
Prior art date
Application number
KR1019940039777A
Other languages
English (en)
Other versions
KR950029918A (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 KR950029918A publication Critical patent/KR950029918A/ko
Application granted granted Critical
Publication of KR0174577B1 publication Critical patent/KR0174577B1/ko

Links

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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/153Digital output to display device ; Cooperation and interconnection of the display device with other functional units using cathode-ray tubes
    • 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects

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)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

포인트 시스템은 컴퓨터 사용자에 의해 생성되고 식별될 수 있는 복수의 디스플레이 포인터를 제공하여, 각각의 포인터를 특정 응용 프로그램 및 응용 프로그램 내에서의 위치와 관련시킨다. 사용자는 포인터 식별자 (pointer identifier)를 선택하여 각각의 포인터 및 포인터 위치를 복구시킬 수 있다. 하나 이상의 포인터를 하나 이상의 사용자 액션과 관련되어 있는 고정 포인터로서 정의할 수 있다. 사용자 액션은 마우스 버턴의 클릭 등을 포함하는 다양한 기능을 포함할 수 있다. 이러한 방식으로, 사용자는 고정 포인터를 정의하고, 고정 포인터의 식별용 문자를 선택하여 일련의 사용자 액션을 실행시킬 수 있다.

Description

컴퓨터 그래픽 사용자 인터페이스용 복수의 디스플레이 포인터
제1도는 본 발명에 따라 구성된 컴퓨터 시스템의 블록도.
제2도는 제1도에 도시된 시스템의 그래픽 사용자 인터페이스와 그 밖의 요소들을 도시한 블록도.
제3도 및 제4도는 제1도에 도시된 시스템의 복수의 포인터를 도시하는 디스플레이의 도면.
제5도는 제1도에 도시된 컴퓨터 시스템에 사용되는 데이터 구조를 도시한 도면.
제6도 및 제7도는 제1도에 도시된 컴퓨터 시스템의 움직일 수 있는 포인터(movable pointer) 및 고정 포인터(anchored pointer)를 도시하는 디스플레이의 도면.
제8도는 제1도에 도시된 컴퓨터 시스템에 사용되는 데이터 구조의 도면.
제9도는 제2도에 도시된 그래픽 사용자 인터페이스와 함께 수행될 수 있는 액션(action)들을 도시하는 표.
제10도 및 제11도는 제1도에 도시된 시스템의 움직일 수 있는 포인터의 구현을 도시하는 디스플레이의 도면.
제12도 및 제13도는 제1도에 도시된 시스템의 고정 포인터의 구현을 도시하는 디스플레이의 도면.
제14도는 제1도에 도시된 시스템의 처리 과정을 나타내는 흐름도.
제15도는 복수의 포인팅 장치를 지원하는 본 발명의 다른 실시예에 따라 구성된 컴퓨터 시스템의 블록도.
* 도면의 주요부분에 대한 부호의 설명
10 : 컴퓨터 시스템 12 : 호스트 프로세서
14 : 랜덤 엑세스 메모리 16 : 주변 기억 장치
18 : 키보드 20 : 키보드 인터페이스
22 : 디스플레이 장치 24 : 마우스 장치
26 : 마우스 인터페이스 30 : GUI (그래픽 사용자 인터페이스)
32 : 키보드 버퍼 34 : 마우스 버퍼
36 : 디스플레이 드라이버 38 : 응용 프로그램
40 : 포인터 제어 인터페이스 52 : 윈도우 프레임
54 : 타이틀 바아 56 : 타이틀
50 : 디스플레이 윈도우 58 : 메뉴 아이콘
60 : 크기 조정 아이콘 62 : 메뉴 바아
64 : 작업 공간 66, 68, 70 : 윈도우
71 : 디스플레이 포인터 80 : 포인터 콘텍스트 표
82 : 응용 프로그램 100 : 액션 목록
104, 106 : 아이콘 304 : 두 번째 포인터 제어 장치
302 : 시스템 306 : 두 번째 장치 드라이버
본 발명은 그래픽 사용자 인터페이스(graphical user interfaces)에 관한 것으로, 특히 그래픽 사용자 인터페이스의 포인팅 장치(pointing device)를 이용한 컴퓨터 동작(computer activities)의 제어에 관한 것이다.
퍼스널 컴퓨터(personal computer) 사용자 등이 직면하게 되는 대화형(interactive) 컴퓨터 시스템의 운영 환경(operating enviroment)에 있어서의 한 특징은 작동이 용이해지고 편리성이 증대된다는 것이다. 그러한 컴퓨터의 작동을 보다 쉽고 편리하게 한 데에는 그래픽 사용자 인터페이스(이하 GUI)가 중대한 공헌을 했다. GUI는 시각적으로 구성된 컴퓨터 인터페이스를 제공하며, 컴퓨터의 동작을 보다 직관적인(intuitive) 것으로 만드는 컴퓨터 디스플레이(computer display) 상의 다양한 그래픽 가공물(graphical artifacts)을 포함함으로써 사용자의 효율을 증대시킬 수 있다.
예를들어, GUI 운영체제는 컴퓨터에 부착된 디스플레이 마우스(display mouse) 또는 트랙 볼(track ball)과 같은 GUI 포인팅 장치를 사용하여 사용자가 컴퓨터의 디스플레이 포인터를 움직일 수 있게 한다. 책상위에서 마우스를 움직이거나 트랙 볼을 그 틀(cradle) 안에서 굴려서 제어 입력(control input)을 생성하면, 포인팅 장치의 응답 기능(response function)에 따라, 움직임과 같은 방향으로 디스플레이를 가로질러 포인터를 움직인다. 포인팅 장치의 제어 입력과 디스플레이 화면상에서의 포인터의 응답과의 관계는 직관적인 것이다. 대부분의 GUI 시스템은 다수의 프로그램들이 서로 다른 디스플레이 윈도우(display window)로서 컴퓨터 디스플레이 상에 동시에 나타날 수 있게 한다. 윈도우의 경계를 조절할 수도 있고, 아이콘 표시로 축소시킬 수도 있다. 프로그램을 활성화시키거나 또는 프로그램으로 다시 들어가기 위하여, 사용자는 프로그램의 윈도우내에 디스플레이 포인터를 위치시키거나(target the display pointer) 또는 프로그램을 나타내는 디스플레이 아이콘 내에 위치시켜, 디스플레이 마우스나 트랙 볼 장치의 버턴을 누르면 된다. 클릭(click)한다고 부르는 버턴을 누르는 동작은 프로그램을 활성화시키거나 프로그램으로 다시 들어가게 한다. GUI없이 프로그램을 활성화시키기 위하여, 사용자는 실행 화일(executable file)의 이름을 타이핑하여 운영체제(operating system)에 이를 제공할 필요가 있다. 이러한 방식으로, 프로그램을 활성화시키거나 프로그램으로 다시 들어가기 위하여 키를 치는 일(keystroke)이 사라지거나 최소한 상당히 감소되어, 컴퓨터를 보다 쉽고 편리하게 사용할 수 있게 한다. 원하는 동작으로의 포인팅은 매우 직관적인 것이며, 따라서 컴퓨터의 작동을 보다 쉽고 편리하게 배우게 한다.
그래픽 사용자 인터페이스의 디스플레이 포인터 제어를 통해 프로그램의 상호 작용을 추가적으로 향상시키는 일이 빠르게 이루어지고 있다. 예를 들어, IBM社는 통상적인 컴퓨터 키보드의 거의 한 가운데에 위치한 작고, 본질적으로 단단한 조이스틱 형의 액츄에이터 (actuator)를 포함한 트랙 포인트 Ⅱ라고 부르는 디스플레이 포인터 제어 '(control feature)을 도입하였다. 트랙 포인트 Ⅱ 제어 액츄에이터는 키보드의 거의 중앙인, 홈 위치에서의 (at the home position) 타자수의 양손 가운데에 위치하며, 충분히 짧아서 정상적으로 키보드를 타자하는 것을 방해하지 않는다. 컴퓨터 사용자는 디스플레이 마우스를 사용하는 대신, 컴퓨터 디스플레이 상에서 포인터를 움직이기 위하여 제어 액츄에이터에 측면의 힘(lateral forces)을 가할 수 있다. 트랙 포인트Ⅱ 기능이 제공되는 키보드는 바람직하게는 디스플레이 마우스 버턴의 기능을 복제한 버턴을 포함한다. 이러한 방식으로, 사용자의 손은 디스플레이 포인터를 제어하기 위해 키보드를 떠날 필요가 없다. 이러한 구조는 디스플레이 포인터의 움직임을 제어하기 위해 마우스나 트랙 볼을 컴퓨터에 연결하기 불편하거나 어려운, 그래픽 사용자 인터페이스를 가진 랩탑(laptop) 또는 노트북 컴퓨터로 알려진 휴대용 컴퓨터에 특히 바람직하다. 예를 들어, 씽크 패드 750(ThinkPad 750)이라는 IBM社의 노트북 컴퓨터는 트랙 포인터 Ⅱ 제어 액츄에이터를 포함한다.
상술한 바와 같이, 그래픽 사용자 인터페이스는 다수의 프로그램 또는 윈도우가 동시에 활성화되고 디스플레이될 수 있게 하며, 각각의 윈도우가 서로 다른 포인터를 갖는 것이 편리할 수 있기 때문에, 하나 이상의 디스플레이 포인터를 제어할 수 있는 것이 때로는 바람직하다. 또한, 하나의 윈도우 내일지라도, 사용자가 그 윈도우에서 빠져나간 후에도 포인터의 위치가 그대로 남아 있으면 바람직한 기능이나 가공물(artifacts)이 있을 수 있다. 따라서, 다수의 포인터가 사용자가 그 윈도우로 돌아왔을 때 복구되는 위치 표시(place marker)를 제공한다.
컴퓨터 응용 설계(computer aided design) (이하 캐드(CAD))를 위한 컴퓨터 워크스테이션(computer workstation)에 디스플레이 마우스에 의해 제어되는 움직일 수 있는 포인터와 타블릿 장치(table device)로 디스플레이 윈도우를 가로지르며 움직일 수 있는 커서(cursor) 모두를 제공하는 것이 알려져 있다. 그러한 캐드용 워크 스테이션이 독립적으로 제어되는 포인터와 커서를 제공함에도 불구하고, 그 시스템은 포인터가 단지 디스플레이 마우스에만 응답하고 커서는 단지 타블릿에만 응답한다는 점에서 원하는 유연성을 제공하지는 못한다. 또한, 커서는 전형적으로 지정된 윈도우 근처에서만 움직일 수 있게 제한되어 있으며, 전체 디스플레이 화면을 두루 움직일 수는 없다. 결국, 워크스테이션의 구성에 의해 제공되는 두가지 이외에 추가적인 포인터 또는 커서를 사용하는 것을 전형적으로 불가능하다.
다수의 포인터를 제공함으로써 GUI 환경을 통해 얻을 수 있는 사용상의 용이함과 효율성을 더욱 개발하는 것이 바람직스럽다. GUI 운영 환경을 지원하지 않는 컴퓨터에 대해서도, 컴퓨터의 사용자에 의해 만들어지고 조작될 수 있는 복수의 포인터를 사용하는 것은 여전히 바람직스럽다. 그러한 복수의 포인터는 하나의 텍스트 화일(text file) 내에서는 위치 표시로서 사용될 수 있다. 전형적인 퍼스널 컴퓨터에 대하여는, 다수의 포인팅 장치를 부착할 수는 있으나, 이들은 여전히 대부분의 운영체제에 의해 제공되는 하나의 포인터만을 제어할 수 있다. 또한, 사용 가능한 장치 하드웨어의 직렬 포트의 개수가 제한되기 때문에, 단지 제한된 수의 포인팅 장치만이 부착될 수 있다. 예를 들어, 대부분의 퍼스널 컴퓨터는 기껏해야 2개의 디스플레이 장치를 지원할 능력이 있다. 결국, 다수의 포인터를 제공하기 위하여 퍼스널 컴퓨터의 디자인에 필요한 추가적인 장치나 하드웨어의 개조의 양은 최소화하는 것이 좋다.
상술한 논의로부터, 복수의 디스플레이 포인터를 생성하고 조작하여 서로 쉽게 구별할 수 있게 하는, 컴퓨터를 위한 포인터 시스템이 요구됨을 명확히 알 수 있다. 그러한 포인터 시스템은 하드웨어 포트 및 책상의 공간에 대한 제한을 받지 않은 채 보다 쉽고 편리하게 작동을 제어할 수 있도록 한다. 본 발명은 상술한 요구를 만족시킨다.
본 발명에 따르면, 포인팅 장치를 갖는 컴퓨터를 위한 포인터 시스템이 컴퓨터 사용자에 의해 생성되고 레이블(label)을 붙일 수 있는 복수의 디스플레이 포인터를 제공하여, 사용자가 그 포인터를 제거하기 전까지는 디스플레이가 변경될 때에도, 각 포인터가 디스플레이 화면의 위치를 포함하는 특정의 포인터 콘텍스트(pointer context)에 관련되어 남아 있게 된다. 포인터는 바람직하게는 사용자에 의해 디스플레이 화면상의 관련 포인터에 근접한 곳에 디스플레이 되는 키보드의 한 알파뉴메릭 문자(alphanumeric character)로 된 레이블이 붙는다. 레이블은 각 포인터를 빠르게 구별하게 되며, 빠른 지정(affirmative designation)과 원하는 포인터의 복구(recall)를 가능하게 한다. 이러한 방식으로, 사용자는 다수의 디스플레이 포인터를 정의하고 식별하며 조작할 수 있고, 그럼으로써 컴퓨터 사용의 용이성과 편리성을 증대시킬 수 있다. 디스플레이 포인터를 움직이지 않은 채 각기 다른 컴퓨터의 기능을 쉽게 선택할 수 있다. 본 발명의 다른 특징에 의하면, 사용자는 디스플레이가 변함에 따라 응용 프로그램이나 문서(document)의 특정 위치에 고정되어 있고, 포인팅 장치의 버턴을 클릭할 것을 요하는 선택 액션(selection action)과 같은 사용자 액션(user action)과 관련될 수 있는 고정 포인터(anchored pointers)를 정의할 수 있다.
포인터 시스템은 윈도우 응용 프로그램을 가진 것이든 갖지 않은 것이든, 다양한 운영체제에서 구현될 수 있다. 다수의 윈도우를 지원하는 그래픽 사용자 인터페이스 환경의 운영체제로 동작하는 컴퓨터 시스템에서, 본 발명에 따른 포인터 시스템은, 사용자가 다른 GUI 윈도우 내의 활성 포인터의 위치로부터 하나의 GUI 윈도우에 있는 고정 포인터를 선택할 수 있게 하여, 그 GUI 윈도우가 클로우즈되고, 작동은 고정 포인터의 목적지(destination)로 이동하여 고정 포인터에 관련된 사용자 액션이 수행되도록 한다. 이러한 방식으로, 프로그램 시작 명령(program launch commands), 에디팅(editing) 명령 또는 다른 수행 가능한 루틴 등과 같은 비교적 복잡하고 뒤얽힌 액션을 정의할 수 있으며, 컴퓨터 운영체제 내에서는 어디서든지 시작할 수 있다.
본 발명에 의하면, 다수의 디스플레이 제어 장치를 위한 컴퓨터 하드웨어 포트의 수와 사용 가능한 공간 등과 같은 제한에 구애됨이 없이, 다수의 문서와 윈도우를 통한 작동의 제어를 보다 쉽고 편리하게 할 수 있도록, 사용자가 문서와 문서를, 또는 윈도우와 윈도우를 이동함에 따라 다수의 디스플레이 포인터를 조작할 수 있고 보다 쉽게 구별할 수 있다. 또한, 사용자가 반복적인 작업을 수행하기 위하여 요구되는 작동의 횟수를 감소시키기 위하여 다수의 고정 포인터를 정의하고 선택할 수 있다.
본 발명의 다른 특징과 이점은 본 발명의 원리를 예시로서 설명하는 다음의 바람직한 실시예의 설명으로부터 명확해질 것이다.
제1도는 본 발명에 따라 구성된 컴퓨터 시스템(10)의 블록도 이다. 컴퓨터 시스템은 데이터를 운영 랜덤 액세스 메모리(operating random access memory, 14)와 주변 데이터 기억장치(16) (peripheral data storage)에 저장하는 호스트 프로세서(host processor)(12)를 포함한다. 컴퓨터 시스템의 처리(processing) 및 컴퓨터 사용자와의 교신(communication)은 키보드(18)을 통해 시작되며, 키보드(18)은 키보드 인터페이스(keyboard interface, 20)을 통해 호스트 프로세서와 접속한다. 비디오 터미널과 같은 디스플레이 장치(22)는 컴퓨터의 출력과 시스템의 작동을 디스플레이 한다. 디스플레이 객체(display object)의 조작은 마우스 인터페이스(26) 을 통해 호스트 프로세서에 연결된 디스플레이 마우스 장치(24)를 사용하여 이루어진다. 바람직한 실시 예에서, 컴퓨터 시스템(10)은 윈도우 운영 환경(window operating environment)을 제공하는 그래픽 사용자 인터페이스 (GUI)를 가진 운영체제(operating system)를 가지며, 그것은 본 발명의 기술 분야의 전문가에게 널리 알려진 사항이며 더 이상의 설명을 요하지 않는다. GUI 프로그램 명령들은 운영 메모리(14)와 데이터 기억 장치(16)에 담겨있다. 그러나 퍼스널 컴퓨터를 위한 도스(DOS) 시스템 또는 도스 응용 프로그램(DOS applications)이라고 흔히 지칭되는 것을 포함하는 비 윈도우 운영 환경(non-window operating environment)에도 본 발명의 동일한 응용이 가능하다는 것을 이해하여야 한다.
호스트 프로세서(12)는 IBM社의 PS/2(등록상표) 퍼스널 컴퓨터, RS/6000 워크스테이션 등과 같은 많은 플랫폼(platforms)의 하나를 포함할 수 있다. 주변 데이터 기억 장치(16)은 하드 디스크 드라이브(hard disk drives)와 플로피 디스크 드라이브(floppy disk drives)와 같은 직접 엑세스 저장 장치(direct access storage devices)를 포함한다. 디스플레이 마우스 장치(24)는 트랙 볼(track ball)이나 조이스틱(도시되지 않음)과 같은, 동일한 기능과 제어를 제공하는 다른 장치로 대체 가능하며, 본 발명의 기술 분야의 전문가에게 널리 알려진 사항이므로 더 이상의 설명을 요하지 않는다. 따라서 디스플레이 마우스에 관한 언급은 트랙 볼이나 조이스틱 제어기 등과 같은 대체 장치를 포함하는 것으로 이해하여야 한다. 비슷하게, 마우스 버턴과 기타의 마우스의 특징적 구성에 관한 언급은 트랙 볼, 조이스틱 등과 같은 것에 대한 균등한 메카니즘(mechanizm)을 포함하는 것으로 이해하여야 한다.
제2도는 GUI(30)의 운영 구성을 도시한다. GUI는 제1도에 도시된 호스트 프로세서(12)와 운영 메모리(14) 내에 구비되지만, 그의 기능이 컴퓨터 사용자와 프로세서 사이의 접속을 제공하기 위한 것이라는 점을 강조하기 위하여 제2도에서는 별개의 블록으로 나타내었다. GUI(30)은 키보드 버퍼(keyboard buffer, 32)로부터의 입력을 받아들이며, 마우스 버퍼(34)로부터의 디스플레이 마우스 입력 (또는 트랙 볼이나 조이스틱 입력)을 받아들인다. 본 발명의 기술 분야의 전문가들에게 이미 알려져 있듯이, 키 누름(keystroke)과 디스플레이 장치 입력은 호스트 프로세서가 입력받을 준비가 될 때까지 각각의 버퍼에 저장시킬 수 있다. GUI가 그러한 입력 정보를 받아들이고 호스트 프로세서가 필요한 처리(requisite processing)를 수행함에 따라, GUI는 디스플레이 드라이버(36) 을 통해 디스플레이 장치(22) 상에 디스플레이 (display)를 유지한다. GUI는 다수의 응용 프로그램(38)을 지원하기 위하여 윈도우 운영 환경을 사용한다. 이하에서 상세히 설명하는 바와 같이, 본 발명의 GUI(30)은 포인터 제어 인터페이스(40) 및 포인터 콘텍스트 표(pointer context table)를 통해 다수의 디스플레이 포인터를 지원한다.
제3도는 바람직한 실시예의 GUI(30)에 의해 지원되는 윈도우 운영 환경을 도시하는 비디오 터미널(22)에 디스플레이된 바 대로의 대표적인 디스플레이 영상을 나타낸다. 본 발명의 기술 분야의 전문가라면, GUI가 다수의 응용 프로그램과 문서 또는 윈도우들이 동시에 활성화될 수 있는 다 차원(multi-level) 운영 환경을 제공함을 이해할 것이다. 제3도는 윈도우 프레임(window frame 52)와 타이틀 바아(title bar 54)를 포함하는 시스템 관리 프로그램의 디스플레이 윈도우(50)을 포함한다. 타이틀 바아는 타이틀(56), 메뉴 아이콘(menu icon 58) 및 윈도우 크기 조정 아이콘(60)을 포함한다. 타이틀 바아 아래에는, 화일(File), 에디트(Edit), 뷰우(View), 옵션(Option) 및 도움말(Help)이라는 표제의 드롭다운(drop-down) 메뉴 항목을 도시하는 메뉴 바아(menu bar 62)가 있다. 본 발명의 기술 분야의 전문가라면, 이러한 디스플레이 윈도우의 요소는 GUI에 의해 생성된 것임을 이해할 것이다.
프로그램 디스플레이 윈도우(50)내에 윈도우 작업 공간(window working space), (64)가 표시되어 있다. 윈도우 작업 공간 내에 시스템 사용자에 의해 활성화되거나 시작된 응용 프로그램에 해당하는 윈도우들(66, 68, 70)이 더 표시되어 있다. 각각의 응용 윈도우들은 프로그램 윈도우에 대해 상술한 것과 유사한 윈도우 메뉴 아이콘, 윈도우 타이틀 바아 및 윈도우 크기 조정 아이콘을 포함한다. 통상의 디폴트(default) 디스플레이 포인터(71) 이 프로그램 윈도우(50)의 작업 공간에 도시되어 있다. 레이블이 붙여진 다른 디스플레이 포인터도 제3도에 도시되어 있다. 예를 들어, 프로그램 윈도우(50)의 작업 공간은 포인터 바로 옆에 위치한 문자 a로 식별되는 움직일 수 있는 포인터(72)를 포함한다. 첫 번째 응용 프로그램 윈도우(66) 은 포인터 바로 옆에 위치한 문자 b로 식별되는 움직일 수 있는 포인트(74)를 포함한다. 두 번째 응용 프로그램 윈도우(68)은 포인터 바로 옆의 문자 c로 식별되는 움직일 수 있는 포인터(76) 을 포함한다. 마지막으로, 세 번째 응용 프로그램 윈도우(70)은 포인터 바로 옆에 위치한 문자 d로 식별되는 움직일 수 있는 포인터(78)을 포함한다.
GUI(30)이 활성 포인터(active pointer)를 독특한 방법으로 디스플레이하기 때문에, 활성 포인터(71)은 다른 포인터들과는 쉽게 구별된다. 예를 들어, 바람직한 실시 예에서, 활성 포인터는 다른 도시된 포인터보다 크다. 활성 포인터를 포함하는 윈도우를 포커스 윈도우 (focus window)라고 부른다. 바람직한 실시 예에서는, 포인터를 움직이는 데에는 하나의 디스플레이 마우스를 사용한다. 따라서, 포커스 윈도우의 활성 포인터가 마우스를 움직일 때 움직이는 유일한 포인터이다. 컴퓨터 시스템(1)의 사용자는 마우스 디스플레이 장치(24)를 이용하여 다양한 포인터의 움직임을 제어할 수 있다. 바람직한 실시 예에서, 포인터들은 GUI 윈도우 환경에서 구현되며, 그 포인터들이 처음으로 정의된 특정 응용 프로그램 윈도우의 외부에서도 계속하여 존재한다. 따라서, 디폴트(레이블이 붙지 않은) 포인터(71)이 응용 프로그램으로부터 응용 프로그램의, 전(全) 디스플레이 화면(22) 상을 움직일 수 있는 것과 마찬가지로, 다른 포인터들도 역시 그들 각각이 정의된 응용 프로그램 윈도우와 다른 응용 프로그램의 경계 밖으로 움직일 수 있다. 다른 방식으로서, 움직일 수 있는 포인터를 그들이 처음 정의된 응용 프로그램 윈도우의 경계 밖에서는 존재할 수 없도록 구현할 수 있다. 그러한 경우에는, 사용자가 제어하는 디스플레이 마우스를 작업 공간 너머로 더 움직여도, 움직일 수 있는 포인터가 그 각각의 윈도우 경계에 도달하였을 때에는, 포인터는 정지하게 될 것이다.
다수의 포인터(72-78)은 다양한 방법으로 식별할 수 있으며 레이블을 붙일 수 있다. 바람직한 실시 예에서는, 키보드(18)의 키(Keys) 중에서 선택한 알파뉴메릭 문자를 이용해 식별하였다. 식별 표지를 알파뉴메릭 키로 한정하면, 그 디스플레이 표시가 즉각적으로 명확하지 않거나 복잡하게 되는 특별한 기능 키(function key)와 같은 특정키를 사용함으로써 발생할 수 있는 혼란을 감소시킬 수 있다. 제3도에 도시된 것처럼, 포인터 식별용 문자는 각 포인터에 인접하여 표시하는 것이 바람직하며, 포인터가 윈도우 내에서 움직임에 따라 그 상대적 위치를 유지하는 것이 바람직하다. 그러나, 본 발명의 기술 분야의 전문가라면, 다른 방식을 사용할 수 있다는 것을 인지할 것이다. 예를 들어, 제4도는 식별용 문자가 포인터 꼬리(tail)의 위에 위치하고 있는 실시 예를 도시한다. 역시, 이러한 구성도 포인터가 윈도우 내를 움직임에 따라 유지된다.
바람직한 실시 예에서, GUI(30)은 사용자에 의해 정의된 다양한 움직일 수 있는 포인터를 추적한다. GUI는 포인터의 응답을 개별적으로 기록하여 사용자가 어느 움직일 수 있는 포인터를 제어하고 있는지에 관하여 혼란을 일으키지 않도록 하고, 부주의한 명령으로 인해 포인터 중의 어느 하나가 디스플레이 화면상에 갑자기 나타나거나 사라지지 않도록 한다. 바람직한 실시 예에서, 이 시스템은 각 포인터를 디스플레이 화면(22) 상에서의 그 포인터의 위치를 특정하기에 충분한 정보와 관련시키는 포인터 콘텍스트 표를 통해 다수의 포인터를 추적한다.
상술하였듯이, 바람직한 실시 예에서, 운영체제는 윈도우 운영 환경을 제공하는 GUI를 포함한다. 윈도우 환경인 경우에는, 포인터 콘텍스트 표의 엔트리(entries)에는 응용 프로그램 명 (application name) 및 문서 명(document name)을 포함하는 타이틀 바아 상의 타이틀, 그래픽 객체 핸들(graphical object handle) 및 응용 프로그램 윈도우 내의 포인터에 대한 대략의 디스플레이 좌표가 포함된다. 디스플레이 좌표는 예를 들어, 응용 프로그램 윈도우 틀 (frame)의 수평 및 수직 축을 따라 측정한 거리의 형식으로 제공된다.
본 발명의 기술 분야의 전문가라면, 윈도우 그래픽 객체 핸들이 윈도우 피쳐(feature)나 가공물(artifact)과 같은 선정된 식별자(predetermined identification)를 포함한다는 것을 이해할 것이다. 예를 들어, 본 발명의 기술 분야의 전문가라면, GUI이 마우스 버턴을 클릭하여 선택하거나 활성화되는 크기 조정 아이콘(sizingicon), 드롭다운 메뉴 바아, 디스플레이 버턴 및 윈도우 가공물 등과 같은 객체에 표준형 식별 번호(standard identification numbers)나 레이블(labels)을 부여한다는 점을 이해할 것이다. 이러한 식별 레이블은 포인터 콘텍스트 표에 위치한 그래픽 객체 핸들을 포함한다. GUI는 그래픽 객체 핸들을 참조하여 특정의 디스플레이 피쳐를 정확히 식별할 수 있다. 따라서, 프로그램 윈도우 작업 공간(64)에 조차도 고유의 미리 결정을 그래픽 객체 핸들이 부여되어 있다.
윈도우 환경에서 동작하지 않는 응용 프로그램에 대하여는, 포인터 콘텍스트 표에는 미리 주어진 값을 갖는 윈도우 객체 가공물이나 표의 엔트리가 포함되지 않는다. 실제로는, 포인터 콘텍스트 표는 디스플레이 화면 좌표에 의하여 포인터의 위치를 참조한다. 상기 표는 응용 프로그램 명과 문서 명을 포함하는 응용 프로그램 식별자도 포함할 수 있다.
재5도에 도시되었듯이, GUI(30)에 의해 제공되는 윈도우 환경에 대한 포인터 콘텍스트 표(80)은, 현재 시스템(10) 내에서 활성 응용 프로그램(82)의 표(82)에 따라 색인되어 있다. 즉, 각 응용 프로그램은 그와 관련 포인터에 대한 개별적인 포인터 콘텍스트 표를 갖는다. 제5도는 하나의 응용 프로그램에 대한 포인터 콘텍스트 표를 도시한다. 네트워크(network)를 통해 다수의 사용자가 통신을 하는 시스템에 대하여는, 각 사용자는 포인터 콘텍스트 표를 갖는 별개의 운영체제 내에서 작업하게 된다. 다른 방식으로서, 제5도는 네트워크를 위한 주 전산기(host computer)가 활성 응용 프로그램과 관련된 사용자 표(table of users 84)를 유지할 수 있으며, 각 사용자는 응용 프로그램과 관련되고, 그 응용 프로그램은 다시 포인트 콘텍스트 표에 관련됨을 도시한다. 제5도에 도시되었듯이, 포인트 콘텍스트 표의 열 표제 (column headings)는 윈도우 레이블 또는 타이틀, 그래픽 객체 핸들, 포인터 위치 및 액션 목록에 대한 열을 포함한다.
상술하였듯이, 포인트 콘텍스트 표(80)의 윈도우 타이틀(window title)은 워드 프로세싱(word processing) 응용 프로그램이나 윈도우 관리 프로그램, 장치 관리 프로그램의 이름 등과 같은 특정 응용 프로그램의 타이틀에 해당한다. 윈도우 타이틀은 응용 프로그램에 의해 엑세스된 특정 문서나 데이터 구조의 타이틀도 포함한다. 그래픽 객체 핸들은, 예를 들어 미리 결정된 워드 프로세싱 메뉴 버턴(word processing menu button)과 관련될 수 있다. 표(80)의 포인터 위치는 응용 프로그램 윈도우 내에서의 현재 포인터 위치의 수평 및 수직 좌표에 해당한다. 위치는 윈도우 프레임에 대한 상대적인 수평 및 수직 위치의 형식으로 주어진다. 콘텍스트 표의 포인터 위치 좌표는 포인터가 윈도우 내에서 움직임을 따라 변화한다는 점을 이해하여야 한다. 마지막으로, 목록이라는 레이블이 붙은 열(column labelled list)은 이하에서 상세히 설명될 액션 목록(action list), 고정 포인터의 기능에 관련된다.
포인터 시스템이 포인터 콘텍스트 표(80)을 자주 갱신할 필요는 없다. 본 발명의 기술 분야의 전문가라면 마우스 드라이버 인터페이스(26)이 포인터가 디스플레이(22) 상을 움직임에 따라 즉각적으로 포인터 위치를 갱신하여, 포인터 콘텍스트 표가 그러한 정보를 수록할 필요는 없음을 이해할 것이다. 즉, 순간 순간의 포인터 위치는 컴퓨터(10)의 다른 시스템이 결정하면, 포인터 시스템의 포인터 콘텍스트 표가 그것을 결정하거나 유지할 필요는 없다. 포인터 콘텍스트 표는, 단지 컴퓨터의 사용자가 제어되고 있는 포인터를 변경한다거나 특정 순서, 응용 프로그램이나 윈도우를 클로우즈될 때에만 참조되고, 따라서 갱신될 필요가 있다.
바람직한 실시 예에서는, 포인터에 관련되거나 또는 포인터를 소유한(owns)문서 또는 응용 프로그램을 클로우즈될 때에는 그 포인터에 대한 포인터 콘텍스트 표의 엔트리가 삭제된다. 예를 들어, 비 윈도우 운영체제에서의 포인터에 대한 포인터 콘텍스트 표의 엔트리에는 그 포인터를 소유한 문서 또는 파일(file)의 이름을 포함하는 응용 프로그램 식별자(application identification)가 포함되고, 윈도우 운영체제에서는 그 포인터의 소유주(owner)에 대한 윈도우, 응용 프로그램 및 문서 식별자가 포함된다. 양자의 경우에 모두, 그 소유하고 있는 응용 프로그램이나 윈도우를 클로우즈하면, 표의 해당 포인터의 엔트리가 삭제된다. 따라서, 클로우즈된 응용 프로그램 또는 윈도우가 함께 포인터는 디스플레이부터 제거된다.
다른 방식으로는, 그 소유하는 응용 프로그램이나 윈도우를 클로우즈할 때, 포인터 엔트리를 시스템이 저장할 수도 있다. 그 소유하는 응용 프로그램이나 윈도우를 다시 오픈하면, 시스템은 포인터 콘텍스트 표에서 엔트리를 찾아 적절한 위치에 포인터를 다시 디스플레이 한다. 세 번째의 방식으로는, 현 소유주(owner)를 클로우즈될 때, 아래에 있는(underlying) 응용 프로그램이나 윈도우가 포인터를 다시 소유한다. 예를 들어, 어떤 비 윈도우 응용 프로그램에서는 다수의 문서를 오픈 할 수 있으며, 윈도우 환경에는 다수의 윈도우를 오픈하여 서로 층이 지게 배열할 수 있다. 하나의 문서 또는 윈도우를 클로우즈하면, 밑에 있던(underlying) 문서 또는 윈도우가 드러난다. 세 번째의 방식에서는, 소유중인 문서나 윈도우가 클로우즈될 때, 소유중인 문서나 윈도우의 명칭이 새로이 드러난 밑에 있던 문서나 윈도우의 이름이 되도록, 포인터 콘텍스트 표의 포인터 엔트리가 갱신된다. 원한다면, 사용자가 본 발명에 따라 시스템을 설치하거나 시스템을 구성할 때, 시스템이 사용자에게 위 세가지 방식의 어느 것을 선택하게 할 수 있다.
제6도는 프로그램 관리 기능을 수행하며, 세 개의 활성 응용 프로그램 윈도우(66, 68, 70)을 포함하는 작업 공간(64)를 가진 시스템 관리 프로그램을 나타내는 프로그램 윈도우(50)을 표시하는 디스플레이 화면(22)를 도시한다. 각 응용 프로그램 윈도우의 작업 공간 내에는, 이하에는 상술될 움직일 수 있는 포인터 및 고정 포인터를 포함하는 다양한 복수의 디스플레이 포인터가 포함되어 있다. 모든 포인터는 알파뉴메릭 문자로 레이블이 붙어있다. 고정 포인터는 다른 심볼 체계(symbology)를 사용함으로써 움직일 수 있는 포인터와 구별된다. 예를 들어, 바람직한 실시 예에서는, 움직일 수 있는 포인터는 포인터에 인접하여 위치한 식별용 문자를 가진 포인터를 포함하며, 고정 포인터는 상자로 둘러싸인 식별용 문자를 포함한다.
따라서, 제6도에서, 프로그램 관리 윈도우(50)의 작업 공간(64)는 레이블이 붙지 않은 디폴트(default) GUI 포인터(71)을 포함한다. 또한, 프로그램 관리 윈도우의 작업 공간 내에는 문자 a로 식별되는 움직일 수 있는 포인터가 포함된다. 첫 번째 응용 프로그램 윈도우(66)의 작업 공간(88) 내에, 포인터에 인접한 문자 b로 식별되는 움직일 수 있는 포인터(74)와 고정 포인터에 심볼을 형성하는 상자 내의 문자 e로 레이블이 붙은 고정 포인터(94)가 포함되어 있다. 고정 포인터는 윈도우 크기 조정 아이콘(96)에 거의 겹쳐 위치해 있다. 프로그램 관리 작업 공간(64)에 포함된 두 번째 응용 프로그램 윈도우(68)은 포인터에 인접한 문자 c로 식별되는 움직일 수 있는 포인터(76)과 File 드롭 다운 메뉴 상자에 거의 겹쳐 있는 상자 내의 f로 레이블이 붙은 고정 포인터(98)을 포함한다. 세 번째 응용 프로그램 윈도우(70)은 단지 포인터에 인접한 문자 d로 식별되는 움직일 수 있는 포인터(78) 만을 포함한다.
다양한 방식으로 고정 포인터를 표시하는 데 사용할 수 있으며, 그 중의 일부를 예로서 제7도에 도시하였다. 첫 번째 방식은, 예를 들어, 원으로 둘러싸인 점으로 구성된 심볼에 인접하여 위치한 식별용 문자로 구성된다. 두 번째 방식은 다른 식별용 문자, 즉 대문자를 가진 포인터로 구성된다. 본 발명의 기술 분야에서의 전문가라면, 고정 포인터를 움직일 수 있는 포인터와 쉽게 구별할 수 있는 한, 서로 다른 많은 심볼 체계를 사용할 수 있음을 이해할 것이다.
상술하였듯이, 고정 포인터는 사용자의 액션(action) 또는 일련의 사용자 액션과 연결된다. 사용자 액션은, 예를 들어 디스플레이 마우스의 버턴 또는 대응되는 키보드의 버턴을 누르거나 클릭하는 동작으로 이루어진다. 본 발명의 기술 분야의 전문가에게 널리 알려졌듯이, 디스플레이 마우스를 클릭하는 동작은 응용 프로그램 윈도우의 크기를 재조정하거나, 프로그램을 시작하거나 다른 다양한 시스템 기능을 수행하는 다양한 아이콘 및 그래픽 객체 (graphic objects)를 활성화시키는 데 사용할 수 있다. 본 발명에 따르는 GUI(30)은 사용자가 원하는 사용자 액션을 해당 고정 포인터와 결합시킬 수 있으며, 사용자의 명령에 의해 결합된 사용자 액션을 복귀시킬 수 있다. 바람직한 실시예에서, 이러한 기능들은 GUI(30)과 연계하여 상술했던 포인터 콘텍스트 표(80)에 의해 제공된다.
제8도는 고정 포인터에 대한 액션 목록(100)을 나타낸다. 상술하였듯이, 액션 목록은 포인터 콘텍스트 표(80)으로부터 참조된다. 만약, 특정 복수의 포인터 레이블에 대한 포인터 콘텍스트 표의 액션 목록 열이 데이터를 갖고 있지 않으면, 그 포인터는 단순히 움직일 수 있는 포인터이며, 아무런 사용자 액션과도 결합되지 않았다. 그러나, 만약 포인터 콘텍스트 표의 액션 목록 열이 레이블 어드레스(label address)와 같은 데이터를 갖고 있다면, GUI(30)은 그 포인터가 고정 포인터라는 것과 그 표가 해당 포인터와 결합된 하나 이상의 사용자 액션을 포함하는 액션 목록을 참조한다는 것을 인지한다.
제8도에 도시되었듯이, 고정 포인터에 대한 액션 목록은 고정 포인터의 레이블, 그래픽 객체 핸들, 사용자 액션 및 다음 액션(next action)에 대한 필드(fields)를 포함한다. 포인터의 위치는 콘텍스트 표(80)으로부터 규정되고, 사용자 액션은 취해야 할 액션을 규정짓는다. 사용자 액션 열의 데이터는, 예를 들어, 원하는 액션에 대한 키보드 버퍼 또는 디스플레이 마우스 버퍼에 저장된 데이터에 해당한다. 다음 액션 열은 사용자가 결합된 고정 포인터를 선택할 때 수행되는 일련의 사용자 액션을 서로 연결할 수 있게 한다. 표는 엔트리를 수행될 순서대로 수록한다. 따라서, 동일한 레이블을 갖는 일련의 엔트리는 그들이 표에 기재된 순서대로 수행된다.
제9도는 본 발명에 따른 GUI가, 어떻게 사용자에게 움직일 수 있는 포인터와 고정 포인터 양자를 정의하고 그 포인터를 사용할 수 있게 설명하는 표(102)를 도시한다. 수행될 수 있는 다양한 기능들을 첫열에 수록하였고, 정의(Define), 치환 정의(Define with Replace), 삭제(Delete) 등과 같은 액션이 포함되어 있다. 이러한 구성들을 차례대로 설명할 것이다. 표의 다음 열은 고정 포인터와 결합된 기능을 나열한다. 표(102)의 마지막 열은 움직일 수 있는(고정되지 않은) 포인터와 결합된 기능을 나열한다. 고정 포인터와 움직일 수 있는 포인터 열의 아래의 엔트리는 일련의 키 누름에 관해 언급한다. 기능을 구현하기 위한 특정 키의 누름은 단지 설명의 목적 만을 위한 것임을 이해하여야 할 것이다. 다른 키들도 나열된 기능을 구현하기 위하여 선택될 수 있다. 추가적인 기능들도 본 발명의 기술 분야의 전문가들에게는 쉽게 떠오를 것이다. 키의 이름은 그 키를 누른 후 놓는다는 것을 지시함을 이해하여야 한다. 그 후, 첫 번째 열을 따라 나열된 기능은 GUI(30)에 의해 구현된다.
예를 들어, 고정포인터를 정의하기 위하여, 제9도의 표(102)는 Ctrl(콘트롤)키, 포인터 식별 키, 그 다음에 액션을 규정한다. 이러한 키의 시퀀스(sequence)는, 키보드의 콘트롤 키를 눌렀다 놓은 후 키보드의 알파뉴메릭 키 중에서 포인터 식별키를 눌렀다 놓고, 그 다음에 하나의 키, 또는 다수의 키를 연속하여 누르는 동작(Alt(알트) 다음에 F1 또는 Ctrl(콘트롤) 다음에 C와 같은 동작), 또는 마우스 버턴을 한 번 클릭하거나 Enter(엔터) 키를 누르는 등의 키 누름 동작을 포함하는 액션이 이어짐을 나타낸다. 이와 유사하게, 움직일 수 있는(고정되지 않은) 포인터는, 먼저 왼쪽의 쉬프트(Shift) 키를 눌렀다 놓고, 다음에 알파뉴메릭 키를 눌렀다 놓음으로써 정의된다. 어떤 경우이건, GUI(30)은 정의된 고정 또는 움직일 수 있는 포인터가 디폴트 포인터(default pointer)의 위치에 중첩하여 나타나도록 한다. 고정 포인터의 경우에, 디폴트 포인터는 고정 포인터로부터 움직일 수 있고, 고정 포인터는 그 자리에 남는다. 움직일 수 있는 포인터의 경우에, 디폴트 포인터로부터 정의된 움직일 수 있는 포인터로 제어가 이동하고, 움직일 수 있는 포인터는 마우스로 제어할 수 있다.
때때로, 고정된 또는 움직일 수 있는 포인터를 정의하고 이전에 정의했던 같은 식별 레이블을 가진 어떤 포인터와 대체할 것이 요구된다. 이러한 기능은 치환정의(Define with Replace) 기능이라고 명명하며, 제9도의 표(102)의 두 번째 행에 규정되어 있다. 표에 설명되었듯이, 각 형식의 포인터에 대한 키의 시퀀스(key sequences)는 정의 시퀀스(defining sequence)에서 키보드의 인서트(insert) 키를 누르는 것을 제외하고는 포인터를 정의하기 위한 것과 같다. 표에 기재된 삭제 기능은 이전에 사용자가 정의한 포인터 키의 결합을 제거하는 것을 말한다. 표에 기재된 전환(Switch-To) 기능은 마우스에 의해 제어되는 포인터를 현재의 포인터로부터 전환 키 시퀀스에서 명시된 포인터로 변경하는 것을 말한다. 예를 들어, 사용자가 현재 디폴트 포인터를 제어하고 있으며 문자 c로 식별되는 움직일 수 있는 포인터를 제어하기를 원한다면, 사용자는 왼쪽 쉬프트(shift) 키를 누르고 다음에 c 키를 누르면 된다.
움직일 수 있는 포인터의 특정 기능에 있어서, 이전에 정의된 움직일 수 있는 포인터와 관련되지 않은 포인터 식별용 문자를 지정하여 정의되지 않은 움직일 수 있는 포인터를 선택하려고 시도하면, GUI(30)은 선택된 문자와 결합된 움직일 수 있는 포인터를 만들어 내는 결과를 가져온다. 즉, 특별한 지정이 없으면, 움직일 수 있는 포인터가 정의되고 사용자가 전달하려 했던 레이블이 붙여진다. 따라서, 사용자가 식별용 문자를 규정하여 움직일 수 있는 포인터로의 전환을 시도하면, GUI는 명시된 알파뉴메릭 키에 해당하는 엔트리에 대해 포인터 콘텍스트 표(80)을 검색하여 그러한 엔트리를 찾지 못한다면, 그 키와 결합하는(binding for the key) 움직일 수 있는 포인터를 만들어 낸다. 이러한 방식으로, 사용자는 단지 미리 정의되지 않은 포인터 레이블을 지정하기만 하면, 즉석에서(on the fly) 포인터를 정의할 수 있다. 정의 기능에서 처럼, 새로운 움직일 수 있는 포인터는 현재 활성 포인터에 인접하여 위치한다. 정의되지 않은 레이블로 고정 포인터를 선택하는 경우에 대하여는 아무런 디폴트(default) 정의 기능(define feature)도 없음을 주의하여야 한다. 고정 포인터를 디폴트 사용자 액션과 결합시키는 것을 전형적으로 바람직스럽지 않기 때문에, 고정 포인터에 대해서는 이러한 기능을 제공하지 않았다. 따라서, 고정 포인터를 정의하기 위하여 사용자는 시중한 행동을 하여야 한다.
제9도의 표(102)에 기재된 추가(Append) 기능은 고정 포인터와 관련된다. 추가 기능은 고정 포인터의 액션 목록에 액션을 추가하는 데에 사용된다. 액션 목록에 관련된 액션은 하나의 키 누름으로 이루어지기 때문에 이러한 기능이 제공된다. 때때로, 고정 포인터에 다수의 키 누름을 허용하는 것이 바람직하다. 예를 들어, 마우스 버턴을 두 번 클릭하는 것을 허용하는 것이 바람직하다. 고정 포인터를 정의하는 과정에서, 사용자는 단순히 키보드의 콘트롤(Ctrl) 키를 눌렀다 놓고, 그 다음에 알파뉴메릭 식별 키, 그 다음에 원하는 액션을 하면 된다. 이러한 방식으로, 사용자는 원하는 액션을 수행하는 데 필요한 한 일련의 액션을 정의할 수 있다. 수행(Perform) 기능은 사용자가 GUI(30)에게 관련된 고정 포인터의 액션 목록을 수행하도록 할 수 있게 한다. 표의 엔트리에 설명되었듯이, 고정 포인터는 오른쪽 쉬프트 (Shift) 키를 눌렀다 놓고, 그 다음에 그 포인터의 알파뉴메릭 식별 키를 눌렀다 놓음으로써 수행된다.
표(102)의 전체 삭제(Delete All) 기능은, 사용자가 시스템에게 현재의 GUI(30)과 포인터 시스템을 사용하는 동안 정의한 모든 고정 포인터 및 움직일 수 있는 포인터와 키의 결합 관계(all anchored and movable pointer-key bindings)를 즉각적으로 삭제하도록 할 수 있게 한다. 바람직한 실시 예에서, 시스템 사용자는 응용 프로그램을 클로우즈할 때, 포인터와 키와의 결합 관계(pointer-key bindings)가 자동으로 저장되는 구성을 선택할 수도 있으며, 또는 응용 프로그램을 클로우즈 할 때 상기 결합 관계를 삭제하는 구성을 선택할 수도 있다. 만약, 사용자가 포인터의 자동저장을 선택하였다면, 사용자가 그것을 삭제할 때까지 저장된다. 즉, 포인터는 사용자가 GUI를 끝내거나, 운영체제를 다시 부팅(booting)할 때에도 저장된다. GUI는 포인터와 키의 결합 관계를 사용자 로그 인 식별 코드(user log-in identification code)와 결합시킴으로써 상시 포인터와 키의 결합 관계를 다시 불러들일 수 있다. 이러한 기능은, 네트워크 어느 컴퓨터 위치에서도 불러들일 수 있는 별개의 포인터와 키의 결합 관계를 요구하는 다수 사용자를 지원하기 위하여, 포인터 결합 관계를 저장하고 다시 불러 들일 수 있도록 네트워크 시스템 상에서 구현될 수 있다.
표(102)에 기재된 복수의 콘텍스트 선택(multi-context select) 기능은, GUI에서 현재 두 번째의 응용 프로그램이 활성화되어 있는 경우, GUI(30)이 첫 번째 응용 프로그램의 포인터로부터 두 번째 응용 프로그램의 포인터로 이동하는 것을 허용한다는 것을 설명한다. 즉, 만약, 사용자가 첫 번째 응용 프로그램에서 포인터를 제어하는 중에 왼쪽 알파뉴메릭 키를 누르면, GUI는 두 번째 응용 프로그램으로 활성 윈도우를 전환시키고, 지정된 움직일 수 있는 포인터로 제어를 옮긴다. GUI 포인터의 기능을 보다 잘 이해하려면, 특정한 응용 예를 설명하는 구현 방법의 설명을 살펴보면 된다.
예를 들어, 본발명의 기술 분야의 전문가라면, 대부분의 그래픽 사용자 인터페이스 프로그램에서는, 프로그램 아이콘 상에 포인터를 놓고 키보드의 엔터(Enter) 키를 누르거나 마우스의 왼쪽 버턴을 두 번 클릭(click)하면, 그 아이콘에 연결된 프로그램이 시작된다는 것을 잘 알고 있을 것이다. 만약 사용자가 프로그램을 시작하고 고정 포인터를 정의하고 싶다면, 사용자는 디폴트 포인터를 프로그램 아이콘 상에 위치시키고, GUI(30)의 정의 단계(definition phase)를 초기화시키는 콘트롤 키(control key)를 누르고, 후에 포인터를 참조할 수 있게 되는 알파뉴메릭 키를 누르고 나서 키보드의 엔터(Enter) 키를 누른다. 이렇게 연속적으로 키를 누르면, 엔터 키를 누른 것에 해당하는 데이터가 표(102)의 액션 열로 입력된다. 사용자가 상기의 액션을 수행시키고 싶을 때는, 사용자는 단지 키보드의 오른쪽 쉬프트 키를 눌었다 놓고, 그 다음에 알파뉴메릭 식별 키를 누르면 된다. GUI(30)은 자동으로 고정 포인터의 위치를 포함하는 액션 정보를 추출하여 관련된 프로그램을 시작하게 한다.
다름 방식으로는, 사용자는 프로그램 아이콘 위에 포인터를 위치시킨 후에 마우스 버턴을 두 번 눌러 프로그램을 시작시킬 수 있다. 정의 단계에서, 이것은 마우스 버턴을 한번 누르고, 그 다음에 콘트롤 키를 눌러 추가 명령을 시작시키고, 그 다음에 알파뉴메릭 식별 키를 누르고, 다시 한번 마우스 버턴을 누르는 행동을 요한다. 이렇게 키를 연속적으로 누르면, 마우스 버턴을 두 번 누른 것에 해당하는 데이터가 액션 표에 입력된다. 이러한 방식으로, 사용자가 고정 포인터를 다시 부르거나 선택하면, 해당 데이터가 액션 목록에서 추출되어 실행된다. 이것은 사용자에게 고정 포인터를 이용하여 원하는 프로그램을 시작할 수 있게 한다.
복수의 포인터와 고정 포인터에 관하여는 제10도로부터 제13도의 디스플레이 윈도우의 도면을 참조하면 더 깊은 이해가 가능하다. 제10도와 제11도는 복수의 포인터의 전환(switch to) 기능과 관계된다. 제10도는, 첫 번째 응용 프로그램 윈도우(66)이 나타나 있고 제6도에 도시된 두 번째 및 세번째 응용 프로그램 윈도우가 각각의 아이콘(104, 106)의 크기로 축소되어 있는 작업 공간(64)를 가진 프로그램 윈도우(50)의 도면이다. 제11도는 어떻게 GUI가 이전에 정의된 포인터를 활성 포인터가 되도록 운영을 전환하는지를 설명한다.
제10도에서, 디폴트 포인터(71), 프로그램 작업 공간(64)의 움직일 수 있는 포인터(72)와 첫 번째 응용 프로그램 작업 공간(88)의 b 레이블이 붙은 움직일 수 있는 포인터(74) 중의 어느 하나를 활성 포인터로 지정할 수 있으며, 이것은 디스플레이 마우스(24) (제1도 참조)를 사용자가 움직이면, 디스플레이(22) 상에서 활성 포인터가 움직인다는 것을 의미한다. GUI(30)의 전환 기능을 사용하여, 사용자는 세 번째 응용 프로그램 윈도우(70)(제6도 참조)의 작업 공간(92)에 나타나 있는 d 레이블이 붙은 움직일 수 있는 포인터(78)을 지정할 수 있다. 제10도에서는 아이콘(106)의 크기로 축소되어 있지만 세 번째 응용 프로그램 윈도우가 활성화되어 있으므로, GUI는 포인터 콘텍스트 표(80)에서 d 포인터의 정의 (그 위치를 포함하여)를 찾고, 세번째 응용 프로그램 윈도우를 그 전 크기(full size)로 확대시키고 활성 포인터(사용자가 제어하는 포인터)를 d 포인터로 전환한다. 그리고 나면, 디스플레이(22)는 제11도에 도시된 바와 같이 된다.
제12도와 제13도는 고정 포인터의 수행 기능을 도시한다. 제12도는 제6도에 도시된 첫 번째, 두 번째 및 세 번째 응용 프로그램 윈도우(66, 68, 70)이 각각 아이콘(108, 104, 106)의 크기로 축소된 프로그램 윈도우(50)의 도면이다. 제6도에 도시되었듯이, 첫 번째 응용 프로그램 윈도우는 윈도우의 크기 조정 아이콘(96)상에 위치한 e 레이블이 붙은 고정 포인터(94)를 포함한다. 제13도는 사용자가 제12도의 디스플레이로부터 고정 포인터 e를 수행시킨 결과를 도시한다. 제6도의 고정 포인터 e는 두 번의 버턴 클릭 또는 키보드 상의 엔터 키를 누른 것에 해당하는 사용자 액션을 갖는다. 본 발명의 기술 분야의 전문가에게 이미 알려졌듯이, 고정 포인터(94)가 첫 번째 응용 프로그램 윈도우의 크기 조정 아이콘에 근접하여 위치해 있기 때문에, 상기 액션은 응용 프로그램의 디스플레이 윈도우를 확대시킬 것이다. 특히, 사용자가 고정 포인터 e를 지정하면, GUI는 포인터 콘텍스트 표(80)에서 포인터를 찾고, 액션 목록(100)을 찾아 지정된 액션을 수행한다. 이러한 방식으로, 첫 번째 응용 프로그램 윈도우는 제13도에 도시된 크기로 확대된다. 따라서, 제13도는 사용자가 제12도로부터 고정 포인터 e를 선택한 후에, 두 번째 응용 프로그램 윈도우가 확대된 상태를 도시한다.
상술한 바람직한 실시예는 윈도우 운영 환경의 관점에서 설명하였다. 그러나, 본 발명에 의해 제공되는 복수의 포인터는 비 윈도우 운영 환경(non-window operating environment) 하에서도 역시 제공될 수 있음을 이해하여야 한다. 포인터의 기본적인 동작은 동일하지만, 몇가지 세부 사항은 수정된다. 예를 들어, 포인터 콘텍스트 표는 상술한 바와 같은 윈도우 식별 정보(window indertification information)는 포함하지 않는다. 본 발명의 기술 분야의 전문가라면, 설명한 실시예에 대한 추가적이 변경에 관하여 쉽게 이해할 수 있을 것이므로 더 이상의 상세한 설명은 필요없을 것이다.
제14도는 제1도에 도시된 시스템에 의한 키보드 입력의 처리 과정을 도시하는 흐름도(flow diagram)이다. 처리 과정은, 시스템이 시스템 후크 입력(system hook input)으로부터 키보드 액션(keyboard action)을 받아들이는 지시 번호 202의 흐름도 상자에서 시작된다. 본 발명의 기술 분야의 전문가라면, 사용자의 키보드 입력 또는 마우스의 입력 움직임을 이를 요구하는 프로세스 또는 응용 프로그램에 제공하여 이 입력을 다음의 요구하는 프로세스나 응용 프로그램으로 전달하기 위해 그래픽 사용자 인터페이스가 시스템 후크 입력을 사용한다는 것을 알 수 있을 것이다. 사용자의 입력을 지시 번호 202의 상자에서 받아들인 후, 입력의 처리 과정은 지시 번호 204의 흐름도 상자에서 시작되며, 거기에서 시스템은 입력이 고정 포인터에 관한 정의(Define) 또는 추가(Append) 액션을 위한 것인지를 결정한다(제9도와 관련 설명을 참조하라).
만약, 사용자의 키보드 액션이 고정 포인터의 정의, 치환 정의 또는 추가 액션이라면, 상자(204)에서 긍정 결론이므로, 처리 과정은 지시 번호 206의 흐름도 상자로 이어진다. 상자 (206)에서, 만약 치환 정의 기능이 존재한다면, 시스템은 고정 포인터에 해당하는 포인터 콘텍스트 표의 엔트리를 삭제한다. 그리고 나면, 시스템은 키 누름이든 마우스 클릭이든 다음의 액션을 관장한다. 마지막으로, 시스템은 그 액션과 포인터 콘텍스트를 포인터 콘텍스트 표에 저장·추가 한다. 그리고 나서, 처리 과정은 지시 번호 208의 흐름도 상자에서 계속되며, 거기에서 시스템은 키보드 입력 대열(keyboard input queue)로부터 사용자의 입력(시스템 후크 입력)을 제거한다. 즉, 사용자의 키보드 포인터 제어 입력 그 자체가 제거되어 다른 프로세스 또는 후크 입력을 요구하는 응용 프로그램에 의해 처리되지 않는다. 따라서, 수행 기능(Perform function)의 경우, 단지 저장된 데이터 만이 입력 대열에 남게된다. 그리고 나서, 처리 과정은 지시번호 210의 흐름도 상자에서 계속되며, 거기에서 시스템은 시스템 후크 입력을 요구하는 다음 프로세스로 키보드 입력을 넘겨준다.
키보드 입력 처리 과정을 계속하면, 만약 지시 번호 204의 상자에서 입력이 고정 포인터의 정의, 치환 정의 또는 추가 액션이 아니었다면 처리과정은 지시 번호 212의 흐름도 상자에서 다시 시작되며, 거기에서 시스템은, 입력이 움직일 수 있는 포인터의 정의 액션(Define Movable Pointer action) 인지를 결정하기 위하여 검사한다. 만약 그렇다면, 처리 과정은 지시 번호 214의 흐름도 상자에서 계속된다. 지시 번호 214의 상자에서 시스템은 치환 정의 기능이 존재하는지를 결정하고, 만약 존재한다면 활성화 포인터를 재정의(redefine)하기 위하여 시스템의 디폴트 포인터를 전환한 후 포인터 콘텍스트 표의 엔트리를 삭제한다. 다음에, 시스템은 현재의 포인터 콘텍스트를 포인터 콘텍스트 표에 저장하고, 전환 기능에서 설명한 바대로 새로운 포인터로 전환한다. 그리고 나서, 처리 과정은, 상술한 바와 같이 이후의 시스템 후크 입력 처리 과정을 위하여 지시 번호 208의 흐름도 상자에서 계속된다.
만약, 키보드의 입력이 고정 포인터의 정의/추가 기능이나 움직일 수 있는 포인터의 정의 기능의 어느 것도 아니었다면, 시스템은 지시 번호 216의 흐름도 상자에서 입력이 삭제 액션을 위한 것인지를 검사한다. 만약, 입력이 삭제 액션을 위한 것이었다면, 지시 번호 218의 흐름도 상자에서, 만약 현재의 움직일 수 있는 포인터에 대한 삭제 액션인 경우에 시스템은 포인터 콘텍스트 표에서 포인터의 구조(pointer structure)를 삭제한다. 그리고 나서, 사용자 입력 처리 과정은 다시 지시 번호 208의 흐름도 상자에서 계속된다.
만약, 상자(216)에서의 삭제 액션에 관한 검사 결과가 부정적인 것이었다면, 시스템은 지시 번호 220의 흐름도 상자에서 키보드의 입력이 전체 삭제 액션을 위한 것이었는지를 결정하기 위해 검사한다. 만약 그렇다면, 시스템은 지시 번호 222의 흐름도 상자에서 시스템의 디폴트 포인터로 전환하고 모든 움직일 수 있는 포인터 구조를 삭제한다. 그리고 나서, 처리 과정은 지시 번호 208의 흐름도 상자에서 다시 시작한다.
다음으로, 시스템은 지시 번호 224의 상자에서 키보드 입력이 수행 액션을 위한 것인지를 결정하기 위하여 검사하고, 만약 그렇다면, 시스템은 상자(226)에서 통상적인 그래픽 사용자 인터페이스의 키보드/마우스 인터럽트 처리 과정에 따라, 해석(interpretation)을 위하여 저장된 액션을 키보드/포인터 버퍼에 쌓는다. 상술한 바와 같이, 시스템 처리 과정은 지시 번호 208의 흐름도 상자에서 다시 시작된다.
지시 번호 228의 조건 상자에 도시된 검사되어야 할 최후의 복수의 포인터 관련 기능은 키보드 입력이 전환 액션을 위한 것인가에 관한 것이다. 만약, 아무런 포인터 제어 입력도 받아들여지지 않았다면, 상자(228)의 결과는 부정적인 것이며, 시스템 후크 입력의 처리 과정은 지시 번호 208의 상자에서 계속된다. 만약, 시스템 후크 입력이 전환 액션을 위한 것이었다면, 처리 과정은 지시 번호 230의 흐름도 상자에서 계속되며, 거기에서 시스템은, 먼저 현재의 디스플레이 포인터에 대한 위치와 콘텍스트 정보를 갱신하고, 상술한 활성 포인터를 구별하기 위한 특징을 제거하고(포인터의 강조(highlighting)를 제거하거나, 다른 비활성 포인터의 크기와 같은 크기로 포인터의 크기를 감소하는 등), 상술한 바대로 새로운 포인터를 강조시키거나 또는 다른 어떤 방식으로든 구별되게 한다. 그리고 나서, 시스템은 관련 응용 프로그램의 윈도우를 디스플레이 화면의 전면으로 가져오는데, 이를 보통, GUI가 관련 응용 프로그램에 집중되도록 했다고 말한다(which is commonly referred to as having the GUI focus on the associated application). 그리고 나서, 처리 과정은 상술한 바와 같이 지시 번호 208의 흐름 상자에서 다시 시작된다.
제1도에 도시되고 상술한 컴퓨터 시스템은 하나의 포인터 장치로 다수의 디스플레이 포인터를 정의하며 제어하기 위한 편리한 수단을 제공한다. 그것은 다수의 포인팅 장치로 다수의 포인터를 제어하는 데에도 편리하다. 제15도는 제1도에 도시된 시스템과 몇몇 요소를 공통되게 가진 컴퓨터 시스템(302)를 도시한다. 이러한 공통적인 요소들은 제1도의 참고 번호와 같은 참고 번호로 나타내었다. 따라서, 제15도의 시스템은 첫 번째 디스플레이 포인터 제어 장치(24)를 포함하며, 두 번째 디스플레이 포인터 제어 장치(304)도 역시 포함하고 관련된 두 번째 장치 드라이버(306)도 포함된다. 이러한 방식으로, 시스템(302)는 사용자가 첫 번째 포인팅 제어장치(24) 또는 두 번째 장치(304)에 결합되는 다수의 포인터를 정의하거나 두 포인팅 제어 장치 간에 포인터를 공유할 수 있도록 한다.
본 발명의 기술 분야의 전문가라면, 제15도의 다수의 포인터 제어 장치 시스템(302)에 대한 포인터 콘텍스트 표에는, 단일 포인팅 장치 시스템에 관하여 상술한 포인터 콘텍스트 표(80)과 비교하여 추가적인 정보가 포함된다는 것을 쉽게 이해할 수 있을 것이다. 특히, 다수의 포인터 콘텍스트 표에는 포인터를 소유하는 각 포인터 제어 장치를 규정하는 정보가 포함될 것이다. 이러한 방식으로, 특정 포인터를 소유하는 것으로 지정된 포인터 제어 장치 만이 그 포인터를 움직이는데 사용될 수 있다. 기술하였듯이, 원한다면 둘 이상의 포인터 제어 장치가 특정 포인터를 소유하는 것으로 지정될 수도 있다.
본 발명은, 그 이해를 돕기 위하여 바람직한 실시예의 관점에서 기술되었다. 그러나, 여기에서 기술하지는 않았으나, 본 발명을 적용하는 많은 컴퓨터 디스플레이 포인터 시스템의 구성이 존재한다. 따라서, 본 발명은 여기서 기술한 특정 실시 예에 국한되는 것으로 보아서는 아니되며, 본 발명은 포인터 시스템 일반에 관련하여 널리 적용될 수 있음을 이해하여야 할 것이다. 따라서, 특허 청구의 범위 내에 있는 모든 수정, 개조 또는 균등한 재배치등은 본 발명의 범위 내에 있는 것으로 이해 되어야 할 것이다.

Claims (20)

  1. 호스트 프로세서, 디스플레이 장치, 및 최소한 하나의 포인터 제어 장치-상기 최소한 하나의 포인터 제어 장치는 디스플레이 포인터가 응용 프로그램내의 지정된 디스플레이 피쳐(designated display feature)상에 놓일 때 활성화 될 수 있음-를 가진 컴퓨터 시스템을 위한 복수의 디스플레이 포인터를 제공하는 방법에 있어서, 컴퓨터 시스템의 사용자가 상기 복수의 디스플레이 포인터-상기 복수의 디스플레이 포인터는 상기 사용자에 의해서 상기 디스플레이 장치를 통해 제어될 수 있음-를 정의하고 식별할 수 있도록 하는 단계, 상기 컴퓨터 시스템 사용자가 상기 복수의 디스플레이 포인터 중에서 현재의 활성 디스플레이 포인터를 지정하도록 하여 상기 포인터 제어 장치를 움직이면 상기 활성 디스플레이 포인터만 움직이도록 하는 단계, 및 상기 컴퓨터 시스템 사용자가 상기 복수의 디스플레이 포인터들 중 다른 하나를 활성 디스플레이 포인터로 지정할 수 있도록 하는 단계를 포함하는 복수의 디스플레이 포인터 제공 방법.
  2. 제1항에 있어서, 포인터 각각의 디스플레이 포인터를 콘텍스트-상기 포인터 콘텍스트는 상기 관련된 디스플레이 포인터에 대해 현재의 응용 프로그램의 타이틀과 그 응용 프로그램 내에서의 상기 포인터의 위치를 포함함-에 관련시키는 단계를 더 포함하는 복수의 디스플레이 포인터 제공 방법.
  3. 제1항 또는 제2항에 있어서, 사용자가 복수의 디스플레이 포인터를 정의하고 식별할 수 있도록 하는 상기 단계는, 디스플레이 포인터를 하나의 알파뉴메릭 문자를 사용하여 식별케하는 단계, 및 상기 알파뉴메릭 문자를 상기 디스플레이 화면 상의 상기 식별된 디스플레이 포인터에 근접한 곳에 디스플레이하는 단계를 더 포함하는 복수의 디스플레이 포인터 제공 방법.
  4. 제3항에 있어서, 앞서 식별된 하나 이상의 디스플레이 포인터들이 존재하는 응용 프로그램으로 사용자가 되돌아 올 때, 상기 식별용 알파뉴메릭 문자의 디스플레이가 복구되는 복수의 디스플레이 포인터 제공 방법.
  5. 제4항에 있어서, 각각의 디스플레이 포인터를 포인터 콘텍스트에 관련 시키는 상기 단계는, 상기 디스플레이 포인터가 위치해 있는 포인터 위치와 상기 응용 프로그램 타이틀을 판별하는 단계, 및 상기 디스플레이 포인터의 상기 식별용 알파뉴메릭 문자에 의해 어드레싱되는 포인터 콘텍스트 표 내에 상기 응용 프로그램 타이틀과 포인터 위치를 저장하는 단계를 포함하는 복수의 디스플레이 포인터 제공 방법.
  6. 제5항에 있어서, 현재의 포인터 콘텍스트의 포인터 위치로부터 상기 식별용 알파뉴메릭 문자가 명시하는 다른 포인터 콘텍스트의 포인터 위치로 전환하는 단계를 더 포함하는 복수의 디스플레이 포인터 제공 방법.
  7. 제6항에 있어서, 다른 포인터 콘텍스트로 전환하는 상기 단계는, 상기 명시된 식별용 알파뉴메릭 문자가 상기 포인터 콘텍스트 표내에 대응하는 엔트리를 포함하는지의 여부를 판별하는 단계, 상기 식별용 알파뉴메릭 문자에 대한 대응하는 표 엔트리가 있다면, 현재의 활성 포인터를 상기 표 엔트리에 의해 명시된 상기 디스플레이 포인터로 변경하는 단계, 및 상기 식별용 알파뉴메릭 문자에 대한 대응하는 표 엔트리가 없다면, 상기 식별용 알파뉴메릭 문자에 대해 현재의 포인터 위치에 대응하는 표 엔트리를 생성하는 단계를 포함하는 복수의 디스플레이 포인터 제공 방법.
  8. 제2항에 있어서, 디스플레이 포인터를 포인터 콘텍스트에 관련시키는 상기 단계는, 상기 디스플레이 포인터가 위치해 있는 응용 프로그램의 타이틀과 포인터의 위치를 판별하는 단계, 및 상기 디스플레이 포인터의 근접한 곳에 디스플레이되어 상기 디스플레이 포인터를 식별케하는 알파뉴메릭 문자에 따라 포인터 콘텍스트 표 내에 상기 타이틀과 포인터 위치를 저장하는 단계를 포함하는 복수의 디스플레이 포인터 제공 방법.
  9. 제1항에 있어서, 컴퓨터 시스템의 사용자가 상기 복수의 포인터들 중의 최소한 하나를, 사용자가 응용 프로그램을 오픈 및 클로우즈할 때 각각의 위치에 고정되어 머무는 고정 포인터로 정의하도록 단계, 각각의 정의된 고정 포인터를 포인터 콘텍스트 및 하나 이상의 사용자 액션(action)에 관련시키는 단계, 및 상기 사용자가 정의된 고정 포인터를 선택하면 상기 관련된 사용자 액션이 실행되도록 하는 단계를 더 포함하는 복수의 디스플레이 포인터 제공 방법.
  10. 제9항에 있어서, 상기 사용자 액션은 디스플레이 포인터 버턴 작동을 포함하는 복수의 디스플레이 포인터 제공 방법.
  11. 제9항에 있어서, 사용자가 고정 포인터를 정의할 수 있도록 해주는 상기 단계는 상기 고정 포인터를 하나의 알파뉴메릭 문자를 사용하여 식별케하는 단계, 및 상기 알파뉴메릭 문자를 상기 디스플레이 화면상의 상기 관련된 고정 포인터의 근접한 곳에 디스플레이 하는 단계를 포함하는 복수의 디스플레이 포인터 제공 방법.
  12. 제11항에 있어서, 앞서 식별된 하나 이상의 고정 포인터가 존재하는 응용 프로그램으로 사용자가 돌아올 때, 상기 식별용 알파뉴메릭 문자의 디스플레이가 복구되는 복수의 디스플레이 포인터 제공 방법.
  13. 제12항에 있어서, 상기 정의된 포인터를 포인터 콘텍스트에 관련시키는 상기 단계는, 상기 정의된 포인터가 위치하는 포인터 위치 및 상기 응용 프로그램(application or document)의 타이틀을 판별하는 단계, 및 상기 타이틀 및 상기 정의된 포인터의 포인터 위치를 상기 정의된 포인터의 식별용 알파뉴메릭 문자에 의해 어드레싱되는 포인터 콘텍스트 표에 저장하되, 상기 포인터가 고정 포인터인 경우, 하나 이상의 사용자 액션과 함께 저장하는 단계를 포함하는 복수의 디스플레이 포인터 제공 방법.
  14. 제13항에 있어서, 포인터 식별용 알파뉴메릭 문자(pointer identifying alphanumeric character)를 명시함으로써 상기 사용자가 현재의 포인터 콘텍스트로부터 다른 포인터 콘텍스트로 전환할 수 있도록 하는 단계, 상기 명시된 식별용 알파뉴메릭 문자가 고정 포인터에 관련된 것인지를 판별하는 단계, 및 만일 상기 식별용 알파뉴메릭 문자가 고정 포인터와 관련되어 있다면, 소정의 사용자 액션을 실행하는 단계를 더 포함하는 복수의 디스플레이 포인터 제공 방법.
  15. 제14항에 있어서, 상기 문자가 고정 포인터에 관련된 것인지를 판별하는 상기 단계는, 상기 문자에 관련된 포인터 콘텍스트 표를 검사하여 상기 포인터 콘텍스트 표가 사용자 액션을 가리키는 엔트리(entry)를 포함하는지를 판별하는 단계를 포함하는 복수의 디스플레이 포인터 제공 방법.
  16. 제1항에 있어서, 상기 복수의 포인터를 지원하는 윈도우 운영 환경(window operationg environment)을 제공하는 단계를 더 포함하는 복수의 디스플레이 포인터 제공 방법.
  17. 호스트 프로세서, 복수의 키를 가진 키보드, 디스플레이 장치, 및 최소한 하나의 포인터 제어 액츄에이터(actuator)-상기 포인터 제어 액츄에이터는, 디스플레이 포인터가 지정된 기능을 수행하기 위해 활성 윈도우 내의 지정된 디스플레이 피쳐상에 놓일 때에 작동될 수 있는 포인터 버턴을 가짐-를 가진 컴퓨터 시스템에 윈도우 운용 환경을 제공하는 그래픽 사용자 인터페이스를 위한 복수의 고정 디스플레이 포인터를 제공하는 방법에 있어서, 컴퓨터 시스템 사용자가 응용 프로그램 윈도우를 오픈 및 클로우즈 할 때 각각의 윈도우 위치에 고정되어 머무는 최소한 하나의 고정, 포인터를, 상기 사용자가 정의할 수 있도록 하는 단계, 각각의 고정 포인터를 포인터 콘텍스트-상기 포인터 콘텍스트는 상기 윈도우의 타이틀 및 상기 윈도우 내의 포인터 위치를 포함함-와 하나 이상의 사용자 액션에 관련시키는 단계, 및 상기 사용자가 고정 포인터를 선택하면 상기 호스트 프로세서가 상기 관련된 사용자 액션을 실행하도록 하는 단계를 포함하는 복수의 고정 디스플레이 포인터 제공 방법.
  18. 호스트 프로세서, 디스플레이 장치, 응용 프로그램이 오픈되어 상기 디스플레이 장치 상에 디스플레이될 수 있도록 허용하며, 상기 디스플레이된 응용 프로그램 내에서 이리저리 움직일 수 있는 상기 디스플레이 장치 상의 복수의 디스플레이 포인터들을 시스템 사용자가 정의하고 식별할 수 있도록 허용하며, 상기 디스플레이 포인터들 중 하나가 활성 포인터로서 지정될 수 있도록 허용하는 운영체제, 상기 디스플레이 포인터의 움직임을 제어하며, 디스플레이 포인터가 지정된 디스플레이 피쳐(display feature)로 이동한 후에 디스플레이 피쳐 상에서 활성화될 수 있는 제어 버턴(control button)을 포함하는 최소한 하나의 포인터 제어 장치, 디스플레이 장치 상에 디스플레이된 응용 프로그램 내에서 포인터 제어 장치를 사용하여 이리저리 움직일 수 있는 복수의 디스플레이 포인터들을 컴퓨터 시스템 사용자가 정의하고 식별할 수 있도록 허용하며, 상기 디스플레이 포인터들 중 하나가 활성 포인터로서 지정될 수 있도록 허용하는 디스플레이 드라이버, 및 각각의 디스플레이 포인터를 포인터 콘텍스트-상기 포인터 콘텍스트는 특정의 응용 프로그램의 타이틀과 그 응용 프로그램 내에서의 디스플레이 포인터의 위치를 포함함-에 관련시키며, 하나 이상의 앞서 정의된 디스플레이 포인터들이 존재하는 활성 응용 프로그램으로 사용자가 되돌아 올 때 포인터 콘텍스트를 복구하기 위한 그래픽 인터페이스 제어 수단을 포함하는 컴퓨터 시스템.
  19. 호스트 프로세서, 디스플레이 장치, 및 운영체제-상기 운영체제는 응용 프로그램들이 오픈되어 상기 디스플레이 장치 상에 디스플레이 될 수 있도록 함-를 갖는 컴퓨터 시스템용 포인터 제어 시스템에 있어서, 포인터 제어 장치를 이용하여 응용 프로그램 내에서 이리저리 움직일 수 있는 상기 디스플레이 장치 상의 하나 이상의 디스플레이 포인터를 컴퓨터 시스템 사용자가 정의하고 식별할 수 있도록 허용하며, 상기 디스플레이 포인터들 중의 하나를 활성 포인터(active pointer)로 지정할 수 있도록 허용하기 위한 디스플레이 드라이버 수단(display driver means), 및 각각의 디스플레이 포인터를 콘텍스트-상기 포인터 콘텍스트는 특정의 응용 프로그램의 타이틀 및 그 응용 프로그램 내에서의 상기 디스플레이 포인터의 위치를 포함함-에 관련시키며, 앞서 정의된 하나 이상의 디스플레이 포인터가 존재하는 상기 활성 응용 프로그램으로 사용자가 되돌아 올 때, 상기 포인터 콘텍스트를 복구하기 위한 그래픽 인터페이스 제어 수단을 포함하는 포인터 제어 시스템.
  20. 제2항에 있어서, 하나 이상의 앞서 정의된 포인터들이 존재하는 응용 프로그램으로 사용자가 되돌아 올 때, 사용자가 복수의 디스플레이 포인터의 포인터 콘텍스트를 회복시킬 수 있도록 허용하는 단계를 더 포함하는 복수의 디스플레이 포인터 제공 방법.
KR1019940039777A 1994-04-15 1994-12-30 컴퓨터 그래픽 사용자 인터페이스용 복수의 디스플레이 포인터 KR0174577B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/227,939 US5586243A (en) 1994-04-15 1994-04-15 Multiple display pointers for computer graphical user interfaces
US08/227,939 1994-04-15
US8/227,939 1994-04-15

Publications (2)

Publication Number Publication Date
KR950029918A KR950029918A (ko) 1995-11-24
KR0174577B1 true KR0174577B1 (ko) 1999-04-01

Family

ID=22855073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940039777A KR0174577B1 (ko) 1994-04-15 1994-12-30 컴퓨터 그래픽 사용자 인터페이스용 복수의 디스플레이 포인터

Country Status (9)

Country Link
US (3) US5586243A (ko)
EP (1) EP0678805B1 (ko)
JP (1) JP3782836B2 (ko)
KR (1) KR0174577B1 (ko)
CN (1) CN1107259C (ko)
AU (1) AU679137B2 (ko)
DE (1) DE69518350D1 (ko)
MY (1) MY113995A (ko)
TW (1) TW250554B (ko)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586243A (en) * 1994-04-15 1996-12-17 International Business Machines Corporation Multiple display pointers for computer graphical user interfaces
JPH0822370A (ja) * 1994-07-06 1996-01-23 Minolta Co Ltd 情報処理装置
JP3688738B2 (ja) * 1994-10-28 2005-08-31 富士通株式会社 対話ボックスを持つデータ処理装置
US5732228A (en) * 1995-11-14 1998-03-24 International Business Machines Corporation Method and system for per widget graphical pointer control within a data processing system graphical user interface
GB2313682B (en) * 1996-05-29 2001-01-10 Icl Personal Systems Oy Personal computer systems
US5898422A (en) * 1996-05-31 1999-04-27 International Business Machines Corporation Method and system for recognition of pointers
US5796404A (en) * 1996-07-01 1998-08-18 Sun Microsystems, Inc. Computer system having alphanumeric keyboard access to objects in graphical user interface
US5999169A (en) * 1996-08-30 1999-12-07 International Business Machines Corporation Computer graphical user interface method and system for supporting multiple two-dimensional movement inputs
JPH10260670A (ja) * 1997-03-18 1998-09-29 Victor Co Of Japan Ltd 画像表示装置
US5963191A (en) * 1997-03-25 1999-10-05 International Business Machines Corporation Method and system for denying graphical pointer access to a widget of a data processing system graphical user interface
US5943053A (en) * 1997-04-01 1999-08-24 Sun Microsystems, Inc. Method and apparatus for expanding and contracting a window panel
GB9706711D0 (en) * 1997-04-02 1997-05-21 Philips Electronics Nv User interface with compound cursor
WO1998045767A2 (en) * 1997-04-04 1998-10-15 Fred Steven Isom Method of sequencing computer controlled tasks based on the relative spatial location of task objects in a directional field
US5999176A (en) * 1997-04-04 1999-12-07 International Business Machines Corporation Method to provide a single scrolling control for a multi-window interface
US6128010A (en) * 1997-08-05 2000-10-03 Assistive Technology, Inc. Action bins for computer user interface
JP3079079B2 (ja) * 1998-01-07 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 画面表示装置及び画面表示制御方法
KR100648227B1 (ko) 1998-10-16 2007-03-02 삼성전자주식회사 컴퓨터 사용자 인터페이스
KR100595074B1 (ko) * 1999-01-23 2006-06-28 엘지전자 주식회사 인터넷 사이트 링크 표시간의 이동방법
DE19960609A1 (de) * 1999-08-30 2001-03-15 Datango Gmbh Verfahren und Vorrichtung zur Positionierung eines Markierungsmittels auf einer Ausgabeeinheit
GB9927892D0 (en) * 1999-11-25 2000-01-26 Betlink Ltd Apparatus for entering information into a computer system
US6816129B1 (en) 1999-12-21 2004-11-09 International Business Machines Corporation Multiple display device for use with existing personal computer systems
US6567091B2 (en) * 2000-02-01 2003-05-20 Interactive Silicon, Inc. Video controller system with object display lists
KR100327726B1 (ko) * 2000-04-24 2002-03-15 윤종용 온 스크린 디스플레이 멀티 커서 표시방법 및 표시장치
WO2001098924A1 (en) * 2000-06-03 2001-12-27 Threewin.Com Co., Ltd. Method and apparatus for inputting secret information using multiple screen pointers
WO2001099338A1 (en) * 2000-06-03 2001-12-27 Threewin.Com Co., Ltd. Method and apparatus for inputting secret information
US6549222B1 (en) * 2000-06-27 2003-04-15 Chipworks Lock-step cursors for feature alignment
US6489981B1 (en) * 2000-08-23 2002-12-03 International Business Machines Corporation Method, article of manufacture and apparatus for processing screen pointers in a display
JP2002202839A (ja) * 2000-10-27 2002-07-19 Sony Computer Entertainment Inc 電子機器およびポインタの表示方法
FR2821446B1 (fr) * 2001-02-26 2003-06-13 Eads Airbus Sa Dispositif de dialogue d'aeronef, pour dialoguer avec un systeme dudit aeronef
KR20010067963A (ko) * 2001-04-11 2001-07-13 전종찬 다수의 마우스 포인터를 제어하기 위한 마우스 및 이를구비한 컴퓨팅 시스템
US20020154119A1 (en) * 2001-04-24 2002-10-24 Lepejian Yervant D. Apparatus and method for performing branch processing according to a user indicated selection from displayed graphics
KR100486683B1 (ko) * 2001-05-26 2005-05-03 안현기 다기능 포인팅 디바이스의 제어 장치
US6944594B2 (en) * 2001-05-30 2005-09-13 Bellsouth Intellectual Property Corporation Multi-context conversational environment system and method
US20030006961A1 (en) * 2001-07-09 2003-01-09 Yuly Shipilevsky Method and system for increasing computer operator's productivity
US6961906B2 (en) * 2001-11-14 2005-11-01 Lenovo Pte. Ltd. Method and system for switching between windows in a multiwindow computer environment
US20040233168A1 (en) * 2003-05-19 2004-11-25 Gateway, Inc. System and methods for interacting with a supplemental hand-held mouse
US8230366B2 (en) * 2003-10-23 2012-07-24 Apple Inc. Dynamically changing cursor for user interface
US7620915B2 (en) * 2004-02-13 2009-11-17 Ludwig Lester F Electronic document editing employing multiple cursors
JP4254573B2 (ja) * 2004-02-27 2009-04-15 株式会社日立製作所 表示方法および表示装置
CN1331041C (zh) * 2004-03-17 2007-08-08 南京Lg同创彩色显示系统有限责任公司 双显示器的图像显示信号处理装置及其方法
US20060143580A1 (en) * 2004-12-20 2006-06-29 International Business Machines Corporation Method and system for quick screen switching in a multi-monitor environment
US20060143571A1 (en) * 2004-12-29 2006-06-29 Wilson Chan Multiple mouse cursors for use within a viewable area for a computer
US20060167994A1 (en) * 2005-01-11 2006-07-27 Yen-Fu Chen System and method for automatically segmenting content from an instant messaging transcript and applying commands contained within the content segments
US8275832B2 (en) * 2005-01-20 2012-09-25 International Business Machines Corporation Method to enable user selection of segments in an instant messaging application for integration in other applications
JP4900889B2 (ja) * 2005-01-21 2012-03-21 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
US20060250352A1 (en) * 2005-05-05 2006-11-09 Mice Technoligies, Inc. System and method for improved cursor functionality
US7928959B1 (en) * 2005-05-05 2011-04-19 Imi Innovations Inc. System and method for multiple independent computer inputs using unique device and source identification systems
JP4653561B2 (ja) * 2005-05-31 2011-03-16 株式会社東芝 情報処理装置および表示制御方法
US20080229254A1 (en) * 2006-03-24 2008-09-18 Ervin-Dawson Warner Method and system for enhanced cursor control
US8683362B2 (en) 2008-05-23 2014-03-25 Qualcomm Incorporated Card metaphor for activities in a computing device
US8296684B2 (en) 2008-05-23 2012-10-23 Hewlett-Packard Development Company, L.P. Navigating among activities in a computing device
US8443298B2 (en) * 2006-06-30 2013-05-14 International Business Machines Corporation Method and apparatus for repositioning a horizontally or vertically maximized display window
JP2008040826A (ja) * 2006-08-07 2008-02-21 Toshiba Corp 情報処理装置
US7567233B2 (en) * 2006-09-06 2009-07-28 Stereotaxis, Inc. Global input device for multiple computer-controlled medical systems
US10078414B2 (en) * 2007-03-29 2018-09-18 Apple Inc. Cursor for presenting information regarding target
FR2916077B1 (fr) * 2007-05-10 2009-07-10 Airbus France Sas Systeme d'affichage d'aeronef
US7873906B2 (en) * 2007-06-22 2011-01-18 International Business Machines Corporation Method and system for presenting a visual notification and delaying an action responsive to an onscreen selection
US8418076B2 (en) * 2008-05-15 2013-04-09 Microsoft Corporation Managing inputs from a plurality of user input device actuators
US8108791B2 (en) * 2009-02-27 2012-01-31 Microsoft Corporation Multi-screen user interface
US8188969B2 (en) 2009-06-26 2012-05-29 Panasonic Corporation Dual pointer management method using cooperating input sources and efficient dynamic coordinate remapping
KR101644164B1 (ko) * 2009-09-15 2016-07-29 삼성전자 주식회사 영상처리장치 및 영상처리방법
KR20110035204A (ko) * 2009-09-30 2011-04-06 엘지전자 주식회사 입력 문자 인디케이터 표시 장치 및 방법
US8977972B2 (en) * 2009-12-31 2015-03-10 Intel Corporation Using multi-modal input to control multiple objects on a display
US8994655B2 (en) * 2011-03-22 2015-03-31 Mitsubishi Heavy Industries, Ltd. Display control device comprising processing unit for drawing pointer and control system
KR20130130453A (ko) * 2012-05-22 2013-12-02 엘지전자 주식회사 영상표시장치 및 그 동작 방법
US20150234525A1 (en) * 2012-09-04 2015-08-20 Powered Card Solutions, Llc Powered card with touch display
US9244694B2 (en) 2012-12-27 2016-01-26 Intel Corporation Executing a command within a transport mechanism based on a get and set architecture
US9190017B2 (en) 2013-01-02 2015-11-17 International Business Machines Corporation Proportional pointer transition between multiple display devices
JP2016091290A (ja) * 2014-11-05 2016-05-23 アイシン・エィ・ダブリュ株式会社 指示受付システム、方法およびプログラム
US10268032B2 (en) 2016-07-07 2019-04-23 The Board Of Regents Of The University Of Texas System Systems and method for imaging devices with angular orientation indications
US11221729B1 (en) * 2020-10-30 2022-01-11 International Business Machines Corporation Tracking and restoring pointer positions among applications
CN113064570B (zh) * 2021-04-26 2023-03-21 青岛海信医疗设备股份有限公司 一种多显示器的显示方法、装置和设备及介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4072851A (en) * 1976-03-26 1978-02-07 Norland Corporation Waveform measuring instrument with resident programmed processor for controlled waveform display and waveform data reduction and calculation
US4190835A (en) * 1976-09-22 1980-02-26 U.S. Philips Corporation Editing display system with dual cursors
US4259725A (en) * 1979-03-01 1981-03-31 General Electric Company Cursor generator for use in computerized tomography and other image display systems
US4454507A (en) * 1982-01-04 1984-06-12 General Electric Company Real-time cursor generator
US4625202A (en) * 1983-04-08 1986-11-25 Tektronix, Inc. Apparatus and method for generating multiple cursors in a raster scan display system
US4807182A (en) * 1986-03-12 1989-02-21 Advanced Software, Inc. Apparatus and method for comparing data groups
US4884068A (en) * 1986-09-12 1989-11-28 Matheny Stephen E Multiple display system
US5179656A (en) * 1987-03-02 1993-01-12 International Business Machines Corporation Three dimensional directional pointer icon
US4951038A (en) * 1987-05-15 1990-08-21 Hudson Soft Co., Ltd. Apparatus for displaying a sprite on a screen
US4859995A (en) * 1987-06-30 1989-08-22 Xerox Corporation Mouse pointer with switchable emulation mode
US4841291A (en) * 1987-09-21 1989-06-20 International Business Machines Corp. Interactive animation of graphics objects
US4984152A (en) * 1987-10-06 1991-01-08 Bell Communications Research, Inc. System for controlling computer processing utilizing a multifunctional cursor with decoupling of pointer and image functionalities in space and time
JPH01175021A (ja) * 1987-12-28 1989-07-11 Toshiba Corp 座標入力装置
US5060135A (en) * 1988-09-16 1991-10-22 Wang Laboratories, Inc. Apparatus for manipulating documents in a data processing system utilizing reduced images of sheets of information which are movable
US5185597A (en) * 1988-06-29 1993-02-09 Digital Equipment Corporation Sprite cursor with edge extension and clipping
JP2834205B2 (ja) * 1989-08-18 1998-12-09 株式会社日立製作所 画面表示方法および装置
US5515491A (en) * 1992-12-31 1996-05-07 International Business Machines Corporation Method and system for managing communications within a collaborative data processing system
US5487145A (en) * 1993-07-09 1996-01-23 Taligent, Inc. Method and apparatus for compositing display items which minimizes locked drawing areas
US5586243A (en) * 1994-04-15 1996-12-17 International Business Machines Corporation Multiple display pointers for computer graphical user interfaces

Also Published As

Publication number Publication date
MY113995A (en) 2002-07-31
EP0678805B1 (en) 2000-08-16
TW250554B (en) 1995-07-01
JPH07295753A (ja) 1995-11-10
KR950029918A (ko) 1995-11-24
US5777615A (en) 1998-07-07
EP0678805A1 (en) 1995-10-25
CN1107259C (zh) 2003-04-30
AU679137B2 (en) 1997-06-19
DE69518350D1 (de) 2000-09-21
CN1126338A (zh) 1996-07-10
AU8180094A (en) 1995-10-26
US5699534A (en) 1997-12-16
US5586243A (en) 1996-12-17
JP3782836B2 (ja) 2006-06-07

Similar Documents

Publication Publication Date Title
KR0174577B1 (ko) 컴퓨터 그래픽 사용자 인터페이스용 복수의 디스플레이 포인터
US5825362A (en) Graphical user interface with keyboard display graphical
US7603628B2 (en) User interface for and method of managing icons on group-by-group basis using skin image
US7594185B2 (en) Virtual desktop manager
US5828376A (en) Menu control in a graphical user interface
US6002400A (en) Method and apparatus for handles to components in graphical windows user interface
EP2313822B1 (en) Menus with translucency and live preview
US7173603B2 (en) Input system, program, and recording medium
US8125457B2 (en) Switching display mode of electronic device
US5969708A (en) Time dependent cursor tool
KR100222362B1 (ko) 디스플레이 포인터 위치의 고속 재설정 방법
JPH04229320A (ja) コンピュータ・システムの動作方法
JPH07104766B2 (ja) データ処理システムのメニューから複数のオブジェクトを表示する方法及び装置
JPH0754506B2 (ja) オーバーラツプしたプログラムのアクセス方法
US6339440B1 (en) Method and apparatus for positioning a cursor
JPH0764749A (ja) コマンド実行処理装置
KR19990087910A (ko) 관련되지않은윈도들간의연합상호작용
US20040036662A1 (en) Multidisplay control method, multidisplay control program, and recording medium containing multidisplay control program
US6961906B2 (en) Method and system for switching between windows in a multiwindow computer environment
US8533625B1 (en) Methods and systems for dynamically arranging interface objects
US7308654B2 (en) Information processing apparatus, menu processing method and recording medium storing a menu processing program
US7707519B2 (en) Searchable registers
JPH05181634A (ja) ウィンドウシステム
JPH0576057B2 (ko)
JP4362193B2 (ja) メニューシステム、メニュー処理方法及びメニュー処理プログラムを記録した記録媒体

Legal Events

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

Payment date: 20081031

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee