KR20010020640A - 이중 축을 갖는 아티큘레이트형 컴퓨터 입력 장치 및 작동방법 - Google Patents
이중 축을 갖는 아티큘레이트형 컴퓨터 입력 장치 및 작동방법 Download PDFInfo
- Publication number
- KR20010020640A KR20010020640A KR1020000008463A KR20000008463A KR20010020640A KR 20010020640 A KR20010020640 A KR 20010020640A KR 1020000008463 A KR1020000008463 A KR 1020000008463A KR 20000008463 A KR20000008463 A KR 20000008463A KR 20010020640 A KR20010020640 A KR 20010020640A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- input device
- computer
- region
- axis
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1006—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals having additional degrees of freedom
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)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
본 발명은 이중축을 갖는 아티큘레이트형 컴퓨터 입력 장치를 제공한다. 위치 센서는 서로 다른 멤버에 대한 두 개의 핸들 멤버의 위치를 표시하는 위치 정보를 제공하도록 구성되어 있다.
Description
본 발명은 컴퓨터 입력 장치에 관한 것이다. 더욱 구체적으로, 본 발명은 이중 축이며 아티큘레이티드형 이동(dual axis articulated movement)을 제공하는 2-핸드 컴퓨터 입력 장치에 관한 것이다.
현재 사용자의 입력 정보를 컴퓨터에 입력하기 위하여 많은 다른 형태의 사용자 입력 장치가 사용되고 있다. 이러한 사용자 입력 장치는 예를 들어, 포인트 및 클릭 장치(통상 컴퓨터 마우스라 불리움), 키보드, 조이스틱 및 트랙볼을 포함한다. 이러한 모든 사용자 입력 장치는 고정된 베이스 또는 하우징 부분에 대한 운동 엘리먼트의 상대적인 이동을 감지하고, 이러한 상대적 이동을 나타내는 입력 신호를 컴퓨터에 제공한다.
또한, 개인용 컴퓨터 또는 게임 콘솔에서 동작하는 현재의 몇가지 게임 애플리케이션은 사람 투시 애플리케이션이다. 이러한 애플리케이션은 마우스와 키보드 조작의 조합에 의해 현재 이루어지고 있는(다소 다루기 어렵지만) 네비게이션 및 포인팅 능력을 제공한다. 마우스는 통상 뷰 포인트(view point)(상. 하, 좌, 우)를 제어하고, 키보드는 위치 운동(왼쪽 이동, 오른쪽 이동, 전진, 후진)을 제어한다. 또한, 마우스 버튼은 액션 게임에서 "발사"를 제공하고, 키보드는 다양한 선택 옵션(무기 선택, 문 개방, 줌 인 등)을 제공한다. 이러한 기능을 제어하기 위하여 마우스와 키보드를 사용하는 것은 매우 어려우며, 상대적으로 직관적이지 않은 손가락의 움직임의 조합을 습득하는 것이 필요하다.
따라서 제1 개인 투시(a first person perspective) 3 차원 가상 환경에서 현재의 입력 장치를 사용하여 판단 이동(action movement), 목표물 설정 및 액션 제어를 하는 것이 어려울 수 있다. 상기 게임이나 가상 환경은 빠른 움직임을 필요로 하고, 또한 미로같은 복도를 네비게이트하고 적의 공격을 피하기 위해서는 빠른 방향 전환 능력을 필요로 한다. 목표물 설정(aiming) 및 조준(pointing)(제1 개인 투시창을 통해 상, 하, 좌, 우를 응시하는 것에 해당함)은 마우스 또는 조이스틱과 같은 연속적인 범위의 이동(이산적인 버튼 누름에 반대됨)을 제어하는 입력 장치를 가지고 하면 가장 잘 수행된다. 전진/후진, 왼쪽/오른쪽 이동 또는 상승과 같은 위치 이동을 제어하는 것은 조이스틱 또는 키보드의 버튼에서 통상 볼 수 있는 어떤 스위치 구성 및 기타 장치와 같은 이산적인 키스트폭에 의해서 가장 잘 수행된다.
또한, 어떤 형태의 사용자 입력 장치는 단일 입력 모드에 2 이상의 자유도(degree of freedom)를 둔다. 예를 들어, X축 및 Y축을 따라 푸시(push)되는 조이스틱은 자유도 2를 갖는 반면, X축 및 Y축을 따라 푸시되고 또한 종축(longitudinal axis)을 따라 회전하면서 컴퓨터에 입력을 제공하는 조이스틱은 자유도 3을 갖는다. 이런 형태의 사용자 입력 장치(입력 모드 당 2 이상의 자유도를 제공하는 입력 장치)는 축간 간섭도(cross-axis interference)가 높게 나타날 수 있는 것으로 알려져 있다.
축간 간섭은 사용자로 하여금 하나의 자유도를 액추에이트하려는 동안에 의도하지 않은 다른 자유도를 액추에이트할 수 있다는 특징이 있다. 다시 말하면, 회전 이동(종축 주위로 조이스틱을 회전)을 하려는 동안에 병진 이동(조이스틱을 X축 또는 Y축을 따라 이동)을 억제하는 것은 매우 어렵다. 상기 자유도 사이의 이러한 간섭은 축간 간섭이라고 한다. 이러한 축간 간섭 경향은 임의의 주어진 입력 모드에 자유도가 하나씩 더해질 때 마다 이차형태으로 증가한다.
마우스와 키보드 외에 게임 얘플리케이션에 사용된 종래의 다른 형태의 입력 장치도 있다. 이러한 게임 애플리케이션에 사용된 종래의 장치 중의 하나가 게임 패드이다. 그러나 이 장치는 제1 개인 투시 게임에 필요한 조정에 잘 적합하지 않다. 표준 방향 패드와 버튼만 있는 게임 패드에서는 연속적인 이동을 입력할 방법이 없다. 작은 엄지손가락스틱(엄지손가락용 조이스틱)을 가진 게임 패드를 사용하면 연속적인 입력은 할 수 있으나, 직관적인 이동에 대한 위치 설정이 되지 않으며, 사용자는 정확한 목표 설정을 어렵게 하는 엄지손가락스틱의 중심 복귀력과 싸워야 한다. 또한 엄지손가락스틱은 손과 엄지손가락에 있는 작은 근육 그룹에 피로감을 준다.
조이스틱은 작은 근육 그룹의 미세한 모터 조절 능력을 제공하지 않는 팔과 손목 근육을 사용한다. 또한 통상의 조이스틱 구성은 연속적인 이동 기구(조이스틱)과 같은 손으로 액추에이터되어야 하는 이산 이동 기구(햇스위치(hat switch))를 갖는다. 이러한 조이스틱 구성에서는 상기 운동을 정확하게 조절하기 어렵다. 게다가 조이스틱과 햇스위치는 정확한 목표 조준을 방해하는 스프링의 중심 복귀력을 가지고 있다.
또 다른 입력 장치로는 Space Orb 360이라는 상표로 판매되고 있는 입력 장치가 있다. 이 장치는 하나의 손으로 조작되는 자유도 6을 제공한다. 이러한 장치를 사용하는 것은 이 장치에 의해 조절되는 다른 축으로부터 하나 또는 두 개의 축을 분리해내는 타고난 능력이나 집중적인 훈련없이는 매우 어렵다.
이와 비슷하게, Cyberman Ⅱ라는 상표로 판매되는 입력 장치도 하나의 손에 의해 조작되는 자유도 6을 제공한다. 이 입력 장치는 앞 문단에서 기술된 같은 어려움에 봉착한다.
또 다른 입력 장치가 Wingman warrior라는 상표로 판매되고 있다. 이 장치는 회전에 대해서만 자유 스핀 놉을 갖는 조이스틱이다. 이 입력 장치는 성공적인 제1 개인 투시 환경에 필요한 많은 기본 사항을 그 목적으로 하고 있지 않다.
본 발명은 이중축을 갖는 아티큘레이트형 컴퓨터 입력 장치에 관한 것이다. 두 개의 멤버의 서로 다른 멤버에 대한 위치를 가르키는 위치 정보를 제공하도록 위치 센서가 구성된다.
일실시예에서 상기 멤버는 핸들이고, 핸들 중 하나는 디스플레이 장치에서 제1 개인 투시뷰를 제시한다. 핸들은 디스플레이 디바이스에 다르게 영향을 주는 복수개의 행동 영역(zone)에서 다른 핸들에 대해 이동할 수 있다. 일실시예에서 제1 행동 영역을 통한 이동은 디스플레이 장치 상에서 제1 개인 투시뷰의 절대적인 이동을 일으킨다. 제2 행동 영역을 통한 이동은 제1 개인 투시를 절대적인 형태라기 보다는 연속적으로 움직이게 한다.
또 다른 실시예에서, 사용자가 영역 사이를 옮겨 갈때 촉각 피드백(tactile feedback)이 사용자에게 제공된다. 촉각 피드백을 설명한다면, 이동에 대한 저항의 변화라고 할 수 있다.
본 발명은 또한 입력 장치에 인간 공학적 장점을 제공한다. 움직임의 모양과 범위가 피로를 줄이도록 제공된다. 게다가 데이터 구조가 위치 정보를 컴퓨터에게 전송하는 데 사용되도록 제공된다. 데이터 구조는 유익한 방법 및 장치를 사용하여 형성되고 처리된다.
도 1은 본 발명의 따른 입력 장치가 이용될 수 있는 컴퓨터 시스템의 블럭 선도.
도 2는 본 발명에 따른 입력 장치와 함께 사용될 수 있는 컴퓨터의 일실시의 블럭 선도.
도 3a 내지 3b는 본 발명의 한 측면에 따른 절대 위치 감지를 설명한 도면.
도 4a는 본 발명의 한 측면에 따른 절대 및 속도 조절을 설명한 그래프.
도 4b는 본 발명의 한 측면에 따른 절대 영역 및 속도 영역을 설명한 도면.
도 5는 본 발명의 한 측면에 따른 입력 장치의 고차원 기능 블럭 선도.
도 6은 도 5에 설명된 입력 장치에서 생성된 정보 패킷의 실시예를 설명한 도면.
도 7은 정보 패킷 생성시 도 5의 입력 장치의 동작을 설명한 흐름도.
도 8은 본 발명의 한 측면에 따른 정보 패킷 처리를 설명하는 기능 블럭 선도.
도 9a 내지 9c는 본 발명의 한 측면에 따른 정보 패킷 처리를 설명하는 흐름도.
도 10은 본 발명의 실시예에 따른 입력 장치의 분해도.
도 11은 도 10의 입력 장치의 일부분의 확대도.
도 12a 내지 14c는 본 발명의 한 측면에 따른 캠 배열(cam arragement)을 설명한 도면.
도 15 내지 17은 본 발명의 한 측면에 따른 인간 공학적 특징을 설명한 도면.
도 1은 본 발명의 한 측면에 따른 시스템(10)을 일부는 블럭 선도로 일부는 도식도로 나타낸 것이다. 시스템(10)은 입력 장치(14), 컴퓨터 디스플레이 장치(15) 및 컴퓨터(20)을 포함한다.
예시되는 일실시예에서, 입력 장치(14)는 (조이스틱과 같은) 핸들 또는 입력 장치의 다른 부분에 대해서 상대적으로 이동할 수 있는 입력 장치의 한 부분을 갖는 임의의 입력 장치가 될 수 있다는 것을 주목해야 한다. 그러나 단순화하기 위하여, 본 명세서에서는 도 1에 설명된 입력 장치의 일실시예인 입력 장치(14)에 관하여 기술된다.
본 발명의 한 측면에 따른 컴퓨터 입력 장치(14)에는 제1 핸들 멤버(16) 및 제2 핸들 멤버(18)가 있다. 멤버(16)와 멤버(18)은 사용자의 사용에 맞고, 서로에 대해 이동할 수 있는 크기로 되어 있다. 본 발명의 일실시예서 멤버(16)와 멤버(18)는 전체적으로 예시된 링크 장치(22)에 의해 연결되어 있다. 링크 장치(22)에 의해 멤버(18)가 멤버(16)에 상대적으로 아티큘레이트되어(articulated) 있어서, 화살표(24)에 의해 전체적으로 표시되어 있는 요방향(yaw direction)(X축을 따라 측면과 측면)으로 이동할 수 있다. 또한, 링크 장치(22)에 의해 멤버(18)가 화살표(26)에 의해 전체적을 표시되는 방향인 피치 방향(pitch direction)(Y축을 따라 상하 방향)으로 회전(pivot)할 수 있다. 이러한 동작과 링크 장치(22)는 후술할 본 명세서에 매우 자세히 기술되어 있다. 또한, 컴퓨터 입력 장치(14)는 예시적으로 멤버(16)에 대한 멤버(18)의 위치를 감지하는 위치 센서를 포함한다.
본 발명의 실시예에 따르면, 컴퓨터 입력 장치(14)에는 또한 버튼 어레이(28)가 있다. 본 발명의 실시예에서 어레이(28)는 멤버(18) 상에 네 개의 버튼과 멤버(16) 상에 세 개의 추가적인 버튼(시프트 키 포함)을 포함한다. 더 나아가 컴퓨터 입력 장치(14)에는 (방향 패드나 햇 스위치와 같은) 복수 스위치 입력 장치(30)와 하나 또는 그 이상의 트리거(32)가 있다. 또한, 도 1은 컴퓨터 입력 장치(14)의 멤버(16)와 멤버(18)가 또한 버튼 어레이(28)로부터 멀어지면서 아래 방향으로 뻗어 있고, 사용자의 손안에서 편안하도록 맞추어진 크기를 갖는 연장된 핸들 부분(34, 36)을 포함할 수 있다.
컴퓨터 입력 장치(14)는 위치 센서 뿐만 아니라 다양한 버튼, 트리거 및 다중 스위치 입력 장치를 표시하는 정보를 수신하고, 이러한 정보를 표시하는 정보 패킷을 발생하는 제어기를 포함한다. 이러한 정보 패킷은 컴퓨터(20)에 제공된다(이에 대한 실시예는 도 2에서 자세히 설명됨). 컴퓨터(20)는 예를 들어, 게임 또는 입력 장치(14)로부터의 패킷을 이용하는 기타 다른 프로그램과 같은 응용 프로그램을 포함한다. 컴퓨터(20)는 패킷 형태의 정보를 입력 장치(14)로부터 컴퓨터(20)에서 동작하는 응용 프로그램에 제공하고, 이 용용 프로그램은 상기 정보를 사용하여 디스플레이 장치(15) 상에 디스플레이되는 객체(object)를 조작한다. 실시예에서 컴퓨터(20)는 개인용 컴퓨터이고, 디스플레이 장치(15)는 (텔레비젼 디스플레이를 포함하는) CRT형 모니터, LCD 디스플레이, 플라즈마 디스플레이 등과 같은 임의 형태의 디스플레이가 될 수 있다. 또 다른 실시예에서, 컴퓨터(20)는 Nintendo, Sega, Sony 등에 의해 제조된 많은 전용 게임 컴퓨터의 하나와 같은 전용 컴퓨터 또는 전용 시뮬레이션 또는 전용 제어 컴퓨터가 될 수 있다. 이러한 컴퓨터 중 어떤 컴퓨터는 designations Sega Dreamcast 및 Sony Playstation의 이름으로 판매되고 있다.
물론, 컴퓨터 입력 장치(14)에서 컴퓨터(20)에 제공되는 정보 패킷은 컴퓨터(20)(와 이 컴퓨터에서 동작하는 응용 프로그램)에 의해서 디스플레이 장치(15)를 제외한 다른 항목을 제어하는 데 사용될 수 있다. 그러나 본 발명은 명확성을 위해서 주로 디스플레이 장치를 제어하는 면에서 기술된다.
도 2를 참조하면, 본 발명에 관한 예시적 환경은 종래의 개인용 컴퓨터(20)의 형태의 범용 컴퓨터 장치를 포함한다. 이 범용 컴퓨터 장치는 프로세스 유닛(38), 시스템 메모리(39) 그리고 이 시스템 메모리를 포함한 다양한 시스템 구성 요소를 프로세스 유닛(38)에 결합하는 시스템 버스(40)를 포함한다. 시스템 버스(40)는 메모리 버스 또는 메모리 제어기, 주변장치 버스 그리고 다양한 버스 구조 중 어느 하나를 사용하는 지역 버스를 포함하는 몇 가지 형태의 버스 구조 중 하나가 될 수 있다. 시스템 메모리는 읽기 전용 메모리(ROM)(41)와 임의 접근 메모리(RAM)(42)를 포함할 수 있다. 시동할 때와 같은 경우에 개인용 컴퓨터(20) 내의 구성 요소간의 정보를 전송하는 데 도움이 되는 기본 루틴을 포함하고 있는 기본적인 입출력 시스템(BIOS)(43)가 ROM(41)에 저장되어 있다. 또한, 개인용 컴퓨터(20)는 하드 디스크(미도시)로부터 읽고 쓸 수 있는 하드 디스크 드라이브(44), 지울수 있는 디스크(46)으로부터 읽고 쓸 수 있는 자기 디스크 드라이브(45) 그리고 CD ROM 또는 기타 광 매체와 같은 지울수 있는 광디스크(48)로부터 읽고 쓸 수 있는 광 디스크 드라이브(47)를 더 포함한다. 하드 디스크 드라이브(44), 자기 디스크 드라이브(45) 및 광디스크 드라이브(47)는 각각 하드 디스크 드라이브 인터페이스(49), 자기 디스크 드라이브 인터페이스(50) 및 광디스크 인터페이스(51)에 의해 시스템 버스에 연결되어 있다. 드라이브와 관련 컴퓨터 판독 매체는 컴퓨터 판독 인스트럭션, 데이터 구조, 프로그램 모듈 및 개인용 컴퓨터(20)에 대한 기타 데이터를 불활성 기억한다.
본 명세서에서 서술된 예시적인 환경이 하드 디스크, 지울수 있는 자기 디스크(46) 및 지울수 있는 광디스크(48)를 사용함에도 불구하고, 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자라면 자기 카셋트, 플래시 메모리 카드, 디지털 비디오 디스크, 베르누이 카드리지, 임의 접근 메모리(RAM), 읽기 전용 메모리(ROM) 등과 같이 컴퓨터가 접근할 수 있는 데이터를 기억할 수 있는 다른 형태의 컴퓨터 판독 매체도 예시된 동작 환경에서도 또한 사용될 수 있다는 것을 이해할 수 있을 것이다.
운영 체제(52), 하나 또는 그 이상의 응용 프로그램(53), 기타 프로그램 모듈(54) 및 프로그램 데이터(53)를 포함하는 많은 수의 프로그램 모듈은 하드 디스크, 자기 디스크(46), 광디스크(48), ROM(41) 또는 RAM(42)에 저장될 수 있다. 사용자는 키보드(56)와 포인팅 장치(57)와 같은 입력 장치를 통해 개인용 컴퓨터(20)에 커맨드와 정보를 입력할 수 있다. 다른 입력 장치(미도시)에는 마이크로폰, 조이스틱, 게임 패드, 위성 디쉬(satellite dish), 스캐너 등이 포함될 수 있다. 이들 및 기타 입력 장치가 시스템 버스(40)에 결합되어 있는 인터페이스(58)를 통해 프로세스 유닛(38)에 자주 연결된다. 인터페이스(58)는 사운드 카드, 병렬 포트, 게임 포트 또는 유니버설 시리얼 버스(USB)와 같은 많은 다른 인터페이스를 포함한다. 모니터(16) 또는 기타 다른 형태의 디스플레이 장치도 또한 비디오 어댑터(59)와 같은 인터페이스를 통해 시스템 버스(40)에 연결된다. 모니터(16) 외에도 개인용 컴퓨터는 통상 스피커와 프린터(미도시)와 같은 기타 주변 출력 장치를 포함할 수 있다.
개인용 컴퓨터(20)는 원격 컴퓨터(60)와 같은 하나 또는 둘 이상의 원격 컴퓨터에 논리 연결(logic connection)을 사용한 네크워크 환경에서 동작할 수 있다. 단지 메모리 기억 장치(61)만 도 2에서 예시되었지만, 원격 컴퓨터(60)는 다른 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 기타 네트워크 노드가 될 수 있고, 통상 개인용 컴퓨터(20)에 상대적으로 상기에서 서술된 구성 요소의 많은 부분 또는 모든 부분을 포함한다. 도 2에 도시된 논리 연결은 근거리 통신망(LAN)(62), 광역 통신망(WAN)(63)을 포함한다. 이러한 네트워크 환경은 사무실, 기업체-광역 컴퓨터 통신망 인트라넷 및 이더넷에서 흔히 있다.
개인용 컴퓨터(20)는 LAN 네트워크 환경에 사용되는 경우, 네트워크 인터페이스 또는 어댑터(64)를 통해 근거리 통신망(62)에 연결된다. 개인용 컴퓨터(20)는 WAN 네트워크 환경에 사용되는 경우, 통상 이더넷과 같은 광역 통신망(63)에 대해 통신을 구성하는 기타 수단 또는 모뎀(65)을 포함한다. 내장형 또는 외장형이 될 수 있는 모뎀(65)은 직렬 포트 인터페이스(58)를 통해 시스템 버스(40)에 접속된다. 에트워크 환경에서, 개인용 컴퓨터(20)에 대해 상대적으로 또는 개인용 컴퓨터의 일부분에 대해 도시된 프로그램 모듈은 원격 메모리 기억 장치에 저장될 수 있다. 도시된 네트워크 연결은 예시적이며, 컴퓨터 사이의 통신 링크를 구성하는 기타 수단이 사용될 수 있다는 것을 이해할 수 있을 것이다.
컴퓨터(20)가 전용 컴퓨터인 경우, 특정 구성은 도 2에서 설명된 구성과 차이가 있을 수 있다. 그러나 그 차이는 중요한 차이는 아니다. 상기 모든 컴퓨터는 입력 장치(14)로부터 정보를 수신하고, 수신된 정보를 이용하여 소프트웨어 및/또는 하드웨어의 동작 또는 외관을 수정하는 컴퓨터 소프트웨어 및/또는 하드웨어를 실행하는 메카니즘을 가지고 있다. 상기 동작 또는 외관의 수정으로 종종 디스플레이 장치 상에서 볼 수 있는 변화가 생긴다.
도 3a 내지 3b는 본 발명의 한 측면에 따른 위치 감지를 설명한다. 도 3a에서 컴퓨터 입력 장치(14)는 디스플레이 장치(15) 상에서 디스플레이(100)에 상대적으로 도시되어 있다. 도 3a는 디스플레이(100)는 디스플레이 장치(15)에서 디스플레이될 수 있는 삼차원 환경 중 단지 일부분이라는 것을 설명한다. 멤버(18)를 X 및 Y 회전축 모두를 따라서 멤버(16)에 관하여 실질적으로 중심 위치에 있게 하면, 디스플레이되는 3차원 가상 환경의 일부가 도 3a에 도시되어 있는 바와 같이 제1 개인 투시뷰의 중심 부분에 있게 된다.
도 3b은 멤버(18)가 멤버(16)에 대해 그리고 전체적으로 회전축(102) 주위를 화살표(24)에 의해 표시되는 X 방향으로 회전될 수 있다는 것을 설명하는 컴퓨터 입력 장치(14)의 평면도이다. 입력 장치(14)가 조이스틱으로 구현되어 있다면, 축(102) 주위의 회전(pivot)은 예를 들어, 사이드-사이드(side-to-side) 형태로 조이스틱을 이동시키는 것에 대응된다. 멤버(18)가 임의의 미리 정해진 동작 범위 내에서 축(102) 둘레로 회전될 때, 컴퓨터 입력 장치(14)는 축(102) 둘레에서 멤버(16)에 대한 위치를 표시하는 정보를 포함하는 정보 패킷을 형성한다. 이러한 정보는 컴퓨터(20)(와 컴퓨터에서 동작하는 애플리케이션)에 의해 사용되어 디스플레이(15) 상에서 디스플레이되고 있는 뷰포인트를 제어한다.
예를 들어, 멤버(18)가 미리 정해진 동작 범위 내에서 축(102) 둘레를 회전할 때, 뷰포인트는 예를 들어 도 3b에서 화살표(104)에 의해 표시된 방향으로 대응하여 이동할 수 있다. 멤버(18)가 축(102) 둘레로 시계 반대 방향으로 아티큘레이트되어 있을 때, 뷰포인트는 도 3b에서 숫자(100A)로 표시된 위치를 향해 이동될 수 있다. 이와 비슷한 방식으로 멤버(18)가 축(102) 둘레를 시계 방향으로 아티큘레이트되어 있을 때, 뷰포인트는 도 3b에서 도시된 100B 방향으로 이동될 수 있다. 이런 방식으로 멤버(18)의 멤버(16)에 대한 절대적인 이동은 도 3에서 도시된 것과 같이 디스플레이되고 있는 뷰포인트의 절대적인 이동으로 직접 매핑된다. 물론, 이와 같은 형태의 매핑은 조이스틱과 같은 다른 형태로 구현된 입력 장치(14)에서도 실행될 수 있다.
도 3c는 컴퓨터 입력 장치(14)의 측면도이다. 도 3c에는 실시예에서 컴퓨터 장치의 멤버(18)는 단지 도 3b의 축(102) 둘레에 대해서만 아티큘레이트되어 있는 것이 아니고, 축(106) 둘레를 화살표(26)로 표시되는 피치 또는 Y 방향으로 회전할 수 있음이 도시되어 있다. 입력 장치(14)가 조이스틱인 경우, 축(106) 둘레의 회전은 조이스틱을 프론트-백(또는 백-프론트) 형식으로 이동하는 것에 대응될 수 있다. 멤버(18)가 화살표(18)에 의해 표시되는 방향으로 상하이동(pitch) 되었을 경우, 미리 정해진 동작 범위 내에 머물기만 한다면, 디스플레이 장치(15) 상에 디스플레이되는 제1 개인 투시는 화살표(108)에 의해 표시되는 방향으로 대응되어 움직이는 것이다. 예를 들어, 멤버(18)가 시간 반대 방향으로 회전한다면(도 3 참조), 제1 개인 투시는 도 3c에서 숫자(100C)에 의해 정해진 방향을 향해 위로 이동한다. 이와 비슷한 방식으로 멤버(18)가 축(106) 둘레를 시계 방향으로 회전한다면(도 3c 참조), 디스플레이 장치(15) 상에 디스플레이되는 제1 개인 투시는 숫자(100D)에 의해 전체적으로 지정된 방향과 같이 윗쪽 방향으로 이동된다. 따라서 멤버(18)가 미리 정해진 동작 범위 내에서 축(106) 둘레를 회전하는 경우라면, 멤버(18)의 멤버(16)에 대한 절대 이동은 디스플레이 장치(15) 상에 디스플레이되는 제1 개인 투시의 절대적인 움직임에 매핑될 수 있다. 이와 같은 형태의 매핑은 입력 장치(14)가 예를 들어, 조이스틱으로 구현되었을 때 될 수 있다.
물론, 멤버(18)의 멤버(16)에 대한 축(102) 또는 축(106) 둘레의 절대적인 이동은 디스플레이 장치(105)에 디스플레이되는 제1 개인 투시의 절대적인 이동을 제공하기 위하여 직접 매핑되거나 또는 상향 스케일되거나 하향 스케일될 수 있다. 예를 들어, 멤버(18)가 축(102) 또는 축(106) 둘레를 5 도 회전하는 것은 디스플레이 장치(15) 상에서 디스플레이되는 가상 환경에서 제1 개인 투시뷰가 20 도 회전하는 것에 해당할 수 있다. 임의의 바람직한 스케일링 인자가 (1:1을 포함하여) 사용될 수 있다.
멤버(18)이 축(102) 또는 축(106) 둘레에서 미리 정해진 동작 범위를 넘어서 이동한다면(또는 조이스틱이 미리 정해진 동작 범위를 넘어서 사이드-사이드 이동하거나, 포워드-백 이동한다면), 이러한 이동은 디스플레이 장치(105) 상에 디스플레이되는 제1 개인 투시뷰의 절대적인 이동이나 절대적인 위치에 더 이상 매핑되지 않는다. 매핑되지 않는 대신에 상기 이동은 예를 들어 제1 개인 투시뷰의 연속적인 이동에 대응된다. 예를 들어, 멤버(18)가 축(102) 둘레에서 화살표(24)에 의해 표시되는 방향으로 미리 정해진 동작 범위를 넘어서 아티큘레이트되어 있다면(도 3b에 도시됨), 제1 개인 투시뷰는 멤버(18)가 미리 정해진 동작 범위 내로 되돌려질 때까지 멤버(18)가 움직이는 방향으로 계속적으로 회전하는 것으로 보일 것이다. 이러한 내용은 도 4a와 도 4b에서 더 자세히 설명된다.
도 4a는 일시예로서 축(102) 또는 축(106) 둘레의 동작 범위(회전 각도)를 사용자가 느끼는 회전에 반대되는 물리적 힘에 대해서 플롯팅한 도면이다. 동작 범위로 다른 프로파일을 갖는 더 많거나 더 적은 영역도 사용될 수 있으나, 도 4a에서는 동작 범위는 세 개의 다른 범위 또는 행동 영역으로 나뉘는 것으로 도시되어 있다. 사용자가 범위(110) 내에서 멤버(18)를 회전시킬 때(일실시예에서 중앙, 중립 위치에 대해 약 +30 도 또는 -30 도인 범위인데, 임의의 바람직한 범위도 사용될 수 있으며, 필요하다면 중립 위치에 대해서 비대칭일 수 도 있슴), 전체 영역(110)에서 이동에 대해 예를 들어, 작으면서 일정한 저항을 가지는 점성 유체의 움직임을 감지한다. 그러나 중심 복귀력(return to center force)도 또한 영역(110)에 있다. 사용자가 멤버(18)를 영역(110)의 경계를 넘어서 임의의 방향으로 회전하는 순간, 사용자는 예를 들어 힘의 증가와 같은 이동시 다른 저항을 감지하게 된다. 따라서 사용자가 약 +30의 동작 범위를 넘어서 범위(112)로 멤버(18)를 회전하는 경우, 사용자가 양의 방향으로 최고의 동작 범위까지(예를 들어, 약 +40 도 까지) 멤버(18)를 회전시켜 나갈 때, 사용자는 예를 들어, 이러한 이동에 대한 물리적인 저항이 증가함을 감지하게 된다. 이와 비슷하게 사용자가 멤버를 중립 영역에서 약 -30 도를 넘어서 영역(114)까지 회전하는 경우, 영역(114)에서 최종 동작 범위까지(예를 들어, 약 -40 도까지)의 계속되는 회전에 대해 저항이 증가함을 감지하게 된다. 또한, 임의의 또는 모든 영역은 중심 복귀력으로 구성될 수 있다는 것을 주목해야 한다. 더 나아가, 다른 비선형 또는 계단형 힘 프로파일도 임의 영역 또는 모든 영역에서 사용될 수 있다. 상기 힘은 임의 영역 내에서 증가하고 감소할 수 있다. 또한, 중앙 영역(110)은 일정한 힘 프로파일을 나타낼 필요는 없다. 선형이고 계속 증가하는 힘 프로파일이 바깥쪽 영역에 도시되어 있고, 선형이고 일정한 힘 프로파일이 중심 영역에 도시되어 있는 것은 단지 설명을 위한 것이다.
일실시예에서, 도 4a의 힘 프로파일은 후술하고 도 12a 내지 14c에서 더 자세히 설명되는 캠 및 캠 공이 배열(cam follower arragement)를 사용하여 만들어진 것이다. 그러나 원하는 힘 프로파일을 만드는 임의의 다른 배열도 사용될 수 있다. 예를 들어, 압축 또는 인장 스프링, 유체로 채워진 대시포트, 공압 및 유압 시스템, 공기액압증가 시스템 또는 기타 다른 가변 저항 어셈블리나 바이어스 멤버가 사용될 수 있다.
도 4b는 본 발명의 한 측면에 따른 다른 행동 영역(예를 들어, 절대 및 속도 이동 영역)을 설명한다. 도 4b는 도 4a 및 도 3a 내지 3c와 결합하여 설명된다. 도 4b는 축(106) 둘레의 멤버(18)의 피치 이동(또는 Y축 방향)과 축(102) 둘레의 멤버(18)의 요이동(yaw movement)(또는 X축 방향)을 플롯한 것이다. 도 4b의 플롯은 세 개의 제어대 또는 행동 영역(116, 118, 120)으로 각각 나뉜다. 더 많거나 더 적은 행동 영역이 또한 사용될 수 있다. 상기 행동 영역들은 멤버(18)의 축(106) 둘레의 피치 이동(Y축 이동)과 멤버(18)의 축(102) 둘레의 요 이동(X 축 이동)을 나타내는 축에 대해서 플롯되어 있다. 입력 장치(14)가 조이스틱인 경우, 상기 행동 영역은 각각 조이스틱의 전진/후진과 사이드-사이드 이동에 해당되는 것이다.
행동 영역(116)은 멤버(16)에 대해서 멤버(18)의 동작 범위 내에서 중심 위치 또는 중립 위치를 나타내는 중심대(central band)이다. 중심 제어대(central control band)(116)는 작은 점이나 도 4b에서 작은 그룹의 점들 또는 큰 그룹의 점들이 될 수 있다는 것에 주목해야 한다. 행동 영역(118)은 축(102) 및 축(106) 둘레의 미리 정해진 동작 범위(110)에 대응되는 절대 위치 제어대이다. 행동 영역(120)은 미리 정해진 동작 범위(110)를 넘어서 임의 방향으로 멤버(18)가 이동하는 것에 대응하는 속도 제어대(velocity control band)를 표시한다.
상기 제어대는 멤버(18)의 축(102) 또는 축(106) 둘레의 회전에 대하여 비슷한 방식으로 동작할 수 있으나, 본 명세서에서는 간단하게 멤버(18)의 축(102) 둘레의 회전에 대해서만 서술된다. 사용자가 영역(118) 내에서 멤버(18)를 축(106) 둘레로 멤버(16)에 대해서 이동시킬 때, 장치(14)는 멤버(16)과 멤버(18)의 상대적인 위치를 표시하는 정보를 컴퓨터(20)에 제공한다. 디스플레이 장치(15)가 게임에대한 가상 환경을 디스플레이하고 있는 실시예에서는 컴퓨터(20)가 멤버(18)의 축(102) 둘레의 회전과 같은 방향으로 왼쪽 또는 오른쪽으로 절대 방식으로 제1 개인 투시뷰를 이동시킨다. 따라서 사용자가 멤버(18)를 중심대(116)에 대해서 예를 들어, 축(102) 둘레로 +5 도 회전시킨다면, 컴퓨터(20)는 도 3b에서 설명된 바와 같이 제1 개인 투시뷰를 오른쪽으로 미리 정해진 거리 만큼 이동시킨다. 멤버(18)의 5 도이동은 제1 개인 투시뷰의 같은 량의 이동 또는 다른 양의 이동에 대응된다. 그러나 멤버(18)의 절대 이동은 에들 들어, 제1 개인 투시뷰의 절대 이동으로 직접 매핑될 수 있다.
멤버(18)의 축(102) 둘레의 이동이 행동 영역(118)을 넘어서 행동 영역(120)으로 들어가면, 멤버(18)의 절대 이동은 더이상 제1 개인 투시뷰의 절대 이동으로 매핑되지 않는다. 그 대신에 멤버(18)가 영역(120) 내에서 이동하게 되면, 제1 개인 투시 뷰가 멤버(18)의 축(102) 둘레의 회전 방향에 대응하는 방향으로 계속 이동하게 된다. 다시 말하면, 사용자가 멤버(180를 축(102) 둘레로 시계 방향으로 회전하여 영역(120)으로 들어가면, 도 3b에 도시된 제1 개인 투시뷰는 오룬쪽으로 회전하기 시작할 것이다. 사용자가 영역(120) 내에서 멤버(18)를 정해진 위치에서 고정시키는 동안에만, 제1 개인 투시뷰가 일정한 속도로 오른쪽으로 계속 회전할 것이다.
일실시예에서, 영역(120)은 복수개의 서브 제어대로 나뉜다. 따라서 사용자가 멤버(18)를 축(102) 둘레로 더 회전시켜서 영역(120)으로 들어가면, 멤버(18)는 서브 제어대를 거쳐서 움직이게 되고, 제1 개인 투시뷰는 각 영역에서 더 빠른 속도로 회전할 것이다. 따라서 영역(102)에서의 속도 프로파일은 멤버(18)가 서브 제어대를 통해 이동하면서 단계적으로 증가한다. 다른 실시예에서도 이와 비슷하게 영역(120)의 속도 프로파일은 선형 증가 함수 또는 비선형 증가 함수(예를 들어, 지수함수 또는 2차 함수) 또는 연속적으로 증가하지 않으나 처음에는 증가하고 그 다음에는 감소하는 선형 또는 비선형 함수가 될 수 있다. 속도 프로파일의 모양은 사용자에 의해 선택되고 조정될 수 있다. 이러한 경우에 사용자는 다양하게 다른 미리 정해진 프로파일로부터 선택하거나, 프로파일 모양을 특정함으로써 프로파일을 개인이 원하는 모양으로 할 수 있다.
또한, 사용자가 멤버(18)를 더 회전시켜서 영역(120)으로 들어가면, 사용자는 도 4a에 도시된 힘 프로파일에서 동작 범위(112)에 의해 설명된 것과 같이 장치에서 축 둘레로 회전하는 데 대한 물리적 저항이 증가함을 감지하게 된다. 따라서 속도 증가는 물리적 저항의 증가와 결합되어서 속도 영역으로의 주어진 회전에 대응한 속도에 관한 촉각 피드백을 사용자에게 제공한다. 물론, 다른 힘 프로파일(예를 들어, 더 높은 경사 또는 더 낮은 경사, 비선형, 단계적 등등)이 상기 영역에 사용될 수 있슴이 다시 언급된다. 촉각 피드백(force profile)은 속도 프로파일에 전체적으로 부합하도록 구성되거나 되지 않을 수 있다.
사용자가 멤버(18)를 축(102) 둘레로 시계 반대 방향으로 회전하여 행동 영역(118)과 행동 영역(120) 사이의 경계 반대 방향으로 회전하기 시작하면, 제1 개인 투시뷰가 회전하는 속도는 상기 시계 반대 방향으로 속도 프로파일을 따라간다. 따라서 실시예에서 제1 개인 투시뷰가 회전하는 속도는 감소한다. 영역(120)으로부터 영역(118)에 돌아오는 천이는 다양한 방법으로 다루어진다. 예를 들어, 제어대(120)를 벗어날 때, 절대 위치결정(absolute positioning)이 재시작되기 전까지 멤버(18)를 중심 또는 중립 위치(116)에 배치하는 것이 바람직하다. 이러한 경우 사용자가 멤버(18)를 축(102) 둘레로 반시계 방향으로 회전할 때, 영역(118)과 영역(120) 사이의 경계는 이동하여 영역(118)과 영역(116) 사이의 경계와 일치할 수 있다. 따라서 멤버(18)가 축(102) 둘레를 중심 영역(116)까지 계속 회전할 때까지, 제1 개인 투시뷰는 감소된 속도로 회전을 계속할 것이다. 그 다음에 영역(120)과 영역(118) 사이의 경계는 (도 4b와 같이) 원래 위치에서 재구성되고, 사용자는 상기 서술한 바와 같이 영역(118) 내에서 절대 위치 결정을 재시작할 수 있다.
또 다른 실시예에서 영역(120)에서 영역(118)로의 천이는 다른 방법으로 다루어진다. 사용자가 반시계 방향으로 멤버(18)를 회전시켜서 영역(118)을 통과하면, 사용자는 단순히, 사용자가 멤버(18)를 반시계 방향으로 계속 회전시켜서 중심 영역(116) 안으로 들어올 때까지 제1 개인 투시뷰의 움직임이 감지되지 않는 불감대를 만나게 된다. 다시 말하면, 사용자가 멤버(18)를 축(102) 둘레로 반시계 방향으로 회전시켜서 영역(120)의 경계를 지나면, 제1 개인 투시뷰는 회전을 멈추고, 사용자가 영역(118)를 통해 중심 영역(116) 방향으로 멤버(18)를 계속 회전시키더라도 제1 개인 투시뷰는 이동하지 않는다. 사용자가 멤버(18)를 영역(116) 안에 중심에 위치시키면, 정상적인 위치 결정이 재시작된다.
더 나아가 또 다른 실시예에서는, 멤버(18)는 스위치를 제어하기 위하여 영역(118) 내에서 중심이 맞춰질 필요가 없다. 다시 말하면, 멤버(18)가 영역(120)으로부터 영역(118)으로 복귀하자마자 절대 이동 제어가 재시작된다. 또한, 이러한 방식의 재시작이 일어나는 경계는 동작 범위를 따라서 실질적으로 임의의 바람직한 점으로 맞춰질 수 있다. 또한, 상기 점은 사용자에 의해서 선택되고 조정될 수 있다.
도 5는 사용자 입력 장치(14)의 일실시예에 관한 블럭 선도이다. 도 5에 도시된 바에 의하면, 사용자 입력 장치(14)는 제어기(124), X 위치 센서(126) 및 Y 위치 센서(128); 보정 회로(130); 버튼 어레이 스위치, 트리거 스위치 및 다중 스위치 입력 장치(30)(모두 합쳐서 숫자 132로 지정됨); 영역 보정 회로(134)에 대응하는 스위치들을 포함한다.
X 및 Y 센서(126, 128)는 회전 전위차계(potentiometer)일 수 있다. 물론, 센서(126, 128)는 광학 인코더 또는 기계적 인코더, 용량성 센서, 전자기 센서 등과 같은 다른 형태의 센서가 될 수 있다. 센서(126, 128)이 전위차계인 경우, 센서(126)는 예를 들어, 멤버(16)에 결합된 저항 부분과 멤버(18)에 결합된 와이퍼 부분을 가지고 있다(또는 그 반대 경우도 있슴). 따라서 멤버(18)가 피치축(106)을 따라 회전하면, 센서(126)를 구현하는 전위차계의 저항값은 변한다. 이와 비슷한 방식으로, 센서(128)는 예를 들어, 멤버(16)에 결합된 저항 부분과 멤버(18)에 결합된 와이퍼 부분을 가지고 있다(또는 그 반대 경우도 있슴). 따라서 멤버(18)이 축(102) 둘레를 회전할 때, 센서(128)를 구현하는 전위차계의 저항값이 변화한다. 이러한 방식으로 센서(126, 128)는 멤버(16)에 대한 멤버(18)의 X 및 Y 위치(피치 및 요)를 표시하는 신호를 제공한다.
이와 비슷한 방식으로, 장치(14)가 조이스틱인 경우, 센서(126 128)는 조이스틱의 사이드-사이드 이동과 전후 이동을 감지하는 임의의 종래의 임의의 센서 배열이 될 수 있다. 이러한 센서 배열은 미국특허공보 번호 제 5,694,153에 개시되어 있는데, 이 특허공보에 개시된 내용은 본 발명에 참조되어 본 발명의 일부를 이룬다.
센서(126, 128)로부터의 신호는 아날로그-디지털 변환기(A/D 변환기)(136)에 제공된다. 일실시예에서, 변환기(136)는 마이크로컨트롤러(124)와 통합되어 있다. 물론, 다른 이산 A/D 변환기도 또한 사용될 수 있다. A/D 변환기(136)는 센서(126, 128)로부터의 아날로그 센서 신호를 디지털 신호로 변환시켜서 마이크로컨트롤러(124)에 제공된다.
센서(126, 128)를 보정하기 위하여, 컴퓨터 입력 장치(14)는 예를 들어, 멤버(18)를 멤버(16)에 대해 정확하게 알려져 있는 각도로 회전시키도록 조작될 수 있는 테스트 고정구(test fixture) 내에 배치된다. 상기 정확하게 알려진 각도에서는 센서(126, 128)의 출력값은 센서 보정 회로(30)를 사용하여 원하는 값으로 (절사와 같은 방법으로) 맞춰진다. 일실시예에서, 회로(130)는 센서(126, 128)의 출력값을 절사(trimm)하도록 배열된 트림 전위차계(trimm potentiometer)의 회로이다. 다른 보정 회로 또는 임의의 하드웨어나 소프트웨어도 사용될 수 있다. 몇가지 실시예에서는 신호가 디지털 형태로 변환되면, 광학 인코더를 물리적으로 재위치시키고, 프로그래머블 전원을 프로그래밍하거나 디지털 오프셋을 제공한다.
일실시예에서 버튼 어레이, 트리거 및 햇스위치용 스위치(132)는 간단하게는 클로져(closure)를 표시하는 신호를 마이크로컨트롤러(124)에 제공하는 일련의 스위치를 포함한다. 따라서 어레이(28), 트리거(32) 또는 햇스위치(30)와 관련된 버튼들 중 임의의 버튼이 눌러지면, 그러한 버튼과 트리거는 마이크로컨트롤러(124)에 의해 감지되는 스위치 클로져를 생성한다.
영역 보정 회로(134)는 절대 위치결정 영역과 (도 4b에서 도시된 행동 영역(118, 120)에 대하여 기술된) 속도 위치결정 영역 사이의 영역 경계를 (절사하거나 정확하게 조정하여) 맞추는 데 사용된다. 인간 공학적 및 기타 이유로 해서 X 및 Y 축 둘레 모두에 대해서 전체 동작 범위를 최대 대략 +/- 40 도로 하는 것이 바람직하다. 그러한 경우에 센서(126, 128)의 출력은 센서에 의한 최대 신호 출력이 멤버(16)에 대하여 적당한 축 둘레에서 멤버(18)의 최대 동작(이동) 범위에 해당하도록 조정된다.
이와 비슷한 방식으로, 영역(118)(절대 위치 영역)과 영역(120)(속도 위치 영역) 사이의 전이를 정확하게 보정하여 상기 영역들 사이의 전이가 사용자가 (도 4a의 힘 프로파일에서 설명되는) 증가된 힘을 감지하는 것에 대응하도록 하는 것이 바람직하다. 따라서 멤버(18)는 상기 감지되는 증가된 힘이 나타나는 경계 위치로 회전되고, 센서(126, 128)에 의한 출력값은 바람직한 값으로 맞춰진다. 이러한 과정은, 사용자 입력 장치가 절대 위치결정 영역과 속도 위치결정 영역 사이의 천이에 도달하는 때를 인식할 수 있도록 하기 위하여, 스트레인 게이지 또는 기타 스트레인 측정 장치를 구비한 텍스트 고정구(text fixture) 내에 컴퓨터 입력 장치(14)를 배치함으로써 이루어진다. 센서 보정 회로(130)에서와 같이, 영역 보정 회로(134)는 센서(126, 128)의 출력을 원하는 값으로 절사하도록 배열되어 있는 트림 전위차계를 이용하여 구현될 수 있다. 물론 다른 보정(하드웨어 또는 소프트웨어)도 사용될 수 있다. 예를 들어, 센서가 광학 인코더인 경우, 센서는 다시 오리엔테이션될 수 있다. 또한, 디지털 오프셋 등도 있다.
또한,마이크로컨트롤러(124)는 컴퓨터(20)에 결합되기에 적당한 출력을 제공받는다. 일실시예에서, 마이크로컨트롤러(124)에 의해서 제공되는 출력은 유니버설 직렬 버스(USB) 프로토콜에 따라 제공된다. 이와 비슷한 방식으로 USB 변환기 케이블이 마이크로컨트롤러(124)와 컴퓨터(20) 사이에 접속되어 필요한 데이터 전송을 최적화할 수 있다. 다른 실시예에서는 마이크로컨트롤러(124)에 대한 출력은 게임 포트 프로토콜이나 임의의 다른 바람직한 프로토콜에 따라 제공된다.
도 6은 마이크로컨트롤러(124)에 의해 준비되고, 컴퓨터(20)에 전송되는 데이터 패킷(136)을 나타낸다. 데이터 패킷(136)이 컴퓨터(20)에 직렬 또는 병렬로 전송될 수 있는 동안의 데이터 패킷(136)의 내용이 5, 8-비트 바이트의 정보 측면에서 도 6에 도시되어 있다. 바이트는 패킷(136)의 왼쪽 칼럼을 따라 바이트 0 내지 바이트 4로 라벨되고, 비트는 패킷(136)의 맨 위쪽 열을 따라 비트 0 내지 비트 7로 라벨되어 있다.
센서(126, 128)로부터의 신호는 A/D 변환기(136)에 의해서 디지털 워드로 변환된다. 이 디지털 워드는 예를 들어서 멤버(18)의 멤버(16)에 대한 위치를 표시하는 10 비트 해상력을 가진다. 물론 8 비트 해상력 또는 임의의 다른 바람직한 해상력도 사용될 수 있다. 10 비트 해상력 데이터는 (센서(128)에 대해서는) 비트 X0 내지 X9 그리고 (센서(126)에 대해서는) 비트 Y0 내지 Y9에 의해 표시된다. 이러한 정보는 바이트 0, 비트 위치 0으로 시작하고, 바이트 2, 비트 위치 3으로 끝나는 패킷(136)에 포함된다.
A/D 변환기(136)으로부터의 값에 기초하여, 마이크로컨트롤러(124)는 사용자가 속도 제어 영역(120)으로 들어가도록 멤버(18)를 회전하였는지 또는 멤버(18)가 여전히 절대 위치결정 영역(118)에 있는가를 결정할 수 있다. 바이트 2, 비트 위치 4 및 5에 위치한 비트 ZBX와 비트 ZBY는 각각 멤버(18)가 절대 위치결정 영역에 있는 가 또는 속도 위치결정 영역에 있는 가에 관한 결정에 해당되는 것이다. 예를 들어, 만약 ZBX 비트가 0(영)으로 세트되면, 이것은 X(또는 요) 방향에 있는 절대 위치결정 영역에 있는 멤버(18)에 해당되는 것이다. 만약 그 비트가 1로 세트되면, 이것은 멤버(18)가 축(102) 둘레를 미리 정해진 동작 범위를 넘어서 회전하여 속도 위치 영역으로 들어섰다는 것을 표시한다. 비트 X0 내지 X9에 의해 표시되는 값은 멤버(18)가 속도 영역의 중립 부분에서 양의 방향쪽 또는 음의 방향쪽에 있는 가를 표시한다. 바이트 2, 비트 5에 있는 ZBY 비트는 멤버(18)가 비슷한 방식으로 (피치 축(106) 둘레를) Y 방향으로 회전하는 것에 해당된다.
바이트 2에 있는 비트 위치 6 및 7은 사용되지 않는다.
바이트 3, 비트 위치 0 내지 6에 있는 비트 B0 내지 B6은 버튼 어레이(28) 내의 버튼에 해당되는 스위치의 클로져의 상태를 표시한다. 바이트 3, 비트 위치 7과 바이트 4, 비트 위치 0에 있는 신호 T0 및 T1은 각각 트리거(32)와 관련된 스위치의 클로져의 상태를 표시한다.
바이트 4에 있는 비트 1, 2 및 3는 사용되지 않는다.
바이트 4, 비트 위치 4 내지 7에는 다중 스위치 장치(30)의 상태를 표시하는 값이 제공된다. 실시예에서, 장치(30)는 햇스위치이다. 따라서 관련된 비트 위치에 있는 비트는 H0 내지 H3으로 라벨되어 있다. 다음 표는 비트 H0 내지 H3에 의해 제시되는 햇스위치(30)의 위치를 설명한다.
H3 | H2 | H1 | H0 | 위 치 |
0 | 0 | 0 | 1 | 0 도 |
0 | 0 | 1 | 0 | 45 도 |
0 | 0 | 1 | 1 | 90 도 |
0 | 1 | 0 | 0 | 135 도 |
0 | 1 | 0 | 1 | 180 도 |
0 | 1 | 1 | 0 | 225 도 |
0 | 1 | 1 | 1 | 270 도 |
1 | 0 | 0 | 0 | 315 도 |
0 | 0 | 0 | 0 | No햇스위치 눌러짐 |
도 7은 도 5에 나타난 마이크로컨트롤러(124)에 의해 패킷(136)이 형성되는 것을 설명하는 흐름도이다. 마이크로컨트롤러(124)는 X 및 Y 위치 정보를 수신하고 필터링한다. 이것은 블럭(138)에 의해 표시된다. X 및 Y 위치 정보를 필터링할 때, 일실시예에서 제어기(124)는 센서로부터 수신된 데이터를 오버샘플링하고 평활한다(smooth). 상기 데이터는 제어기(124)에 구현되어 있는 필터링 로직에 제공될 수 있다. 이 필터링 로직은 크거나 애버레이셔널(abberational)한 스파이크를 제거하기 위하여 예를 들어, 저대역 필터 테크닉을 사용할 수 있다. 데이터가 수신되고 필터링되면, 다음 데이터 패킷(136) 생성을 위해서 제어기(124)(또는 관련 메모리)에 저장된다.
또한, 제어기(124)는 주기적으로 버튼, 트리거 및 햇스위치에 관한 스위치 어레이(132)를 폴링하여 상기 스위치와 관련된 데이터를 얻는다. 스위치(132)로부터의 정보도 또한 신호의 견고성(robustness)를 향상하기 위하여 예를 들어, 안티-지터(anti-jitter)되고, 오버 샘플링된다. 이것은 블럭(140)에 표시되어 있다.
그 다음에 제어기(124)는 센서(126, 128)로부터의 위치 정보에 기초로하여, 입력 장치(14)가 X축에 대하여 속도 영역에 있는 가를 판단한다. 이것은 블럭(142)에 표시되어 있다. 만약 입력 장치(14)가 X축에 대하여 속도 영역에 있다면, 제어기(124)는 패킷(136)내에서 바이트 2, 비트 위치 4에 위치한 ZBX를 셋팅한다. 이것은 블럭(144)에 의해 표시된다.
다음으로 제어기(124)는 입력 장치(14)가 Y축에 대하여 속도 영역에 있는가를 판단한다. 이것은 블럭(16)에 의해 표시된다. 만일 입력 장치(14)가 Y축에 대하여 속도 영역에 있다면, 제어기(124)는 패킷(136)내에서 바이트 2, 비트 위치 5에 위치한 ZBY를 셋팅한다. 이것은 블럭(148)에 의해 표시된다. 제어기(124)는 블럭(150)에 의해 표시되는 바와 같이 패킷(136)의 나머지를 조립하고, 블럭(152)에 의해 표시되는 바와 같이 적당한 프로토콜에 따라 컴퓨터(20)에 상기 패킷을 전송한다.
도 8은 개인용 컴퓨터인 컴퓨터(20)의 대표적인 실시예 중 하나에서 패킷(136)의 수신과 처리를 설명하는 기능 블럭 선도이다. 컴퓨터(20)가 전용 컴퓨터인 다른 실시예에서는 패킷의 처리가 다소 다르더라도 비슷한 결과를 가질 것이다. 도 8은 컴퓨터 입력 장치(14), 버스 레벨 계층(153), 제1 버스 드라이버(154), 리맵퍼(156), 애플리케이션 인터페이스(158) 및 하나 또는 하나 이상의 애플리케이션(162, 164, 166)을 포함하는 애플리케이션 계층(160)을 도시한다. 도 8에 도시된 시스템을 설명하기에 앞서서 종래의 USB에 따르면, 장치는 인간 인터페이스 장치(HID)로 분류될 수 있다. 더 나아가, 기능 장치 객체(FDO)는 다음 프로그램 모듈이나 장치를 표시하고, 데이터가 어떻게 처리되어야 하는 가에 대한 데이터 관련 정보를 포함하고 있다. FDO는 기본적으로 원데이터(raw data)를 수신 모듈이나 장치가 볼 것으로 예상되는 데이터로 변환하는 변환기이다. 물리적 장치 객체(POD)는 데이터를 포함하고 있고, 데이터에 접근하기 위하여 수신 장치나 모듈에 의해 호출될 수 있는 관련 방법을 가지고 있는 객체(object)이다. 필터 장치 객체(FiDO)는 데이터를 검사하고; 수신자에 의해 사용될 수 있는 형태로 데이터를 배치하기 위하여 (레지스터에 있는 셋팅과 같은) 어떤 셋팅을 기초로 하여서 데이터를 가지고 무엇을 해야하는 지를 판단하는 객체이다. FDO, PDO 및 FiDO는 모두 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자가 잘 이해하고 있는 종래의 객체들이다.
동작시, 장치(14)는 먼저 도 6 및 7에 대해 설명된 것과 같이 패킷(136)을 조립한다. 그 다음 패킷(136)은 컴퓨터(20)에 있는 버스 레벨 계층(153)에 보내진다. 버스 레벨 계층(153)은 표준 USB 계층으로서 데이터를 수신하고, 데이터를 프로세싱 스택을 통해서 제1 버스 드라이버(154)로 셔틀(shuttle)한다.
제1 버스 드라이버(154)는 HIDCLASS 드라이버 랩퍼(wrapper)에 의해 랩되어 있는 드라이버이다. 입력 장치(14)로부터 수신된 패킷은 일실시예에서 조이스틱 형태의 데이터 패킷이다. 다른 데이터 패킷(예를 들어, 마우스, 키보도 등등)도 사용될 수 있다. 따라서 제1 버스 드라이버(154)는 패킷이 조이스틱 형태의 데이터 패킷이고 조이스틱 PDO를 생성하는 FDO를 포함하며, 정보를 생성된 PDO에 핸드 오프한다. 그 다음에 조이스틱 PDO는 스택 상부에 있는 정보를 리맵퍼(re-mapper)(156)에게 전달한다(hand).
리맵퍼(156)는 프로그램 모듈로서, 이에 대한 실시예의 하나로 GCKERNEL.SYS라 불리우는 것이 있다. 이 GCKERNEL.SYS는 애플리케이션 계층(160)에서 최종 수신 애플리케이션가 필요한 객체를 생성한다. 예를 들어, 패킷(136)에 있는 정보가 조이스틱 패킷으로서 컴퓨터(20)에 들어오고, 많은 게임 애플리케이션이 뷰 포인트 정보가 마우스 및/또는 키보드 조작에 의해 전송되는 것을 필요로 하기 때문에, 리맵퍼(156)는 애플리케이션 계층(160)에서 다음에 사용되기 위하여 조이스틱 정보가 마우스 및/또는 키보드 PDO로 리맵핑되는 것이 필요하다.
리맵퍼(156)는 제1 버스 드라이버(154)에 있는 PDO(155)로부터 정보를 수신하는 FiDO(170)를 포함하고 있다. FiDO(170)는 도 8의 파단 부분에 전체적으로 설명되어 있다. FiDO(170)는 입력 포트(172)에서 정보를 수신하고, 그 정보를 정확한 PDO로 셔틀한다. FiDO(170)는 그 다음에 이런 형태의 입력 클래스가 지정되어(assigned) 있는 지를 판단한다. 이것은 블럭(174, 176)에 표시되어 있다. 이러한 지정이 되어 있지 않으면, 수신자 애플리케이션과 애플리케이션 계층(160)은 단순히 정보를 조이스틱 정보로서 보는 것으로 기대하고, 그 정보는 FiDO(170)를 통해 출력 포트(178)에 직접 전달된 후, 출력 포트에서 (화살표(180)에 의해 표시되어 있는 것과 같이) 애플리케이션 계층(160)으로 전송된다.
그러나 지정 블럭(174)에서 이 특별한 형태의 입력 클래스가 마우스 패킷에 지정되어 있다면, FiDO(170)는 정보를 마우스 곡선 필터(182)에 제공하고, 이 필터는 상기 정보에 포함된 적당한 데이터를 이용하여 마우스 PDO를 생성한다. 이러한 가상 마우스 PDO는 리맵퍼(156)에서 (184)로 표시되어 있다. 그 다음에 마우스 PDO는 아래에 기술될 애플리케이션 인터페이스(158)에 전달된다.
또한, 만약 FiDO(170)가 애플리케이션 계층(160)에 있는 수신자 애플리케이션이 키보드 조작 형태의 정보를 보는 것을 기대한다고 판단하면, 그 정보는 매크로 큐(186)에 제공되고, 매크로 큐는 키스트로크를 버튼 누름에 지정한다. 이렇게 하여 리맵퍼(156)에서 숫자(188)로 표시되어 있는 가상 키보드 PDO를 생성한다. 그 정보는 그 다음에 다시 출력 포트(178)로 제공되고, 출력 포트에서 애플리케이션 인터페이스(158)로 전송된다.
장치(14)로부터 수신된 조이스틱 형태의 데이터 패킷이 실제로 가상 마우스 또는 가상 키보드 PDO로 변환되면, 애플리케이션 인터페이스(158)로 제공된다. 애플리케이션 인터페이스(158)(일실시예에서 HIDSWVD.SYS로 지정되어 있슴)는 애플리케이션 계층(160)이 기대하는 마우스 또는 키보드 데이터에 대해 특별한 형태의 정보를 포함하는 PDO를 생성한다.
따라서 리맵퍼(156)는 하나의 파이프(예를 들어, 조이스틱 파이프)를 통해 수신된 데이터를 다른 파이프(예를 들어, 마우스 및/또는 키보드 파이프)로 쪼개는 기능을 한다. 이렇게 하면 애플리케이션 계층(160)에 있는 특별한 애플리케이션이 수신하기를 기대하고 있는 것에 따라 리맵퍼(156)가 조이스틱 데이터를 마우스 또는 키보드 데이터, 또는 이들의 조합으로 가린다(masquerade).
또한, 리맵퍼(156)는 다른 기능도 한다. 리맵퍼(156)는 데이터를 검사하여, 그 데이터는 멤버(18)가 멤버(16)에 대해 절대 영역 또는 속도 영역에 있는 지를 나타내고 있는 가를 판단한다. 멤버(18)가 절대 영역에 있다면, 리맵퍼(156)는 현재의 위치와 가장 최근의 이전 위치 사이의 차이를 나타내는 차이값과 가장 최근의 이전 위치로부터 오프셋의 방향을 (가능하면 애플리케이션 인터페이스(158)를 통해) 애플리케이션에게 단순히 전달한다. 그 다음에 애플리케이션 계층(160)에 있는 애플리케이션 프로그램은 뷰 디스플레이의 포인트(또는 디스플레이 장치(15)에서 디스플레이되고 있는 기타 다른 객체)를 갱신할 수 있다. 이와 비슷한 방식으로, 만약 리맵퍼(156)는 멤버(18)가 연속적인 또는 속도 영역에 있다고 판단한다면, 리맵퍼(156)는 미리 정해진 차이값을 애플리케이션에게 송신하는데, 장치(14)로부터 멤버(18)가 속도 영역에 있슴을 표시하는 패킷을 수신하는 동안은 계속해서 상기 차이값을 송신한다. 또한, 전술한 바와 같이 속도 영역이 많은 서브대 또는 서브 영역으로 나뉘어 있다면, 그 변화값은 멤버(18)가 현재 존재하는 특별한 서브영역을 바탕으로 변할 수 있슴은 당연하다. 이와 비슷한 방식으로, 전술한 바와 같이 만약 속도 프로파일이 다른 모양이라면, 변화값은 그 다른 모양에 따라 결정된다.
도 9a 내지 9b는 리맵퍼(156)의 동작을 더 설명한다. 리맵퍼(156)는 먼저 장치(14)로부터 새로운 패킷을 수신한다. 이것은 블럭(190)에 의해 표시된다. 그 다음 리맵퍼(156)는 패킷내의 위치 정보를 검사하고, 멤버(18)가 절대 영역에 있는 지, 또는 속도 영역에 있는 지를 판단한다. 이것은 블럭(192, 194)에 의해 표시된다. X축 및 Y축 모두에 대해서 같은 검사와 판단이 행해진다는 점이 주목된다. 그러나 본 명세서에서는 설명의 간단함을 위해서 단지 하나의 축만이 도 9a 내지 9c에 대해서 기술된다.
멤버(18)가 절대 영역에 있지 않다면, 이는 멤버(18)가 속도 영역에 있다는 의미이고, 리맵퍼(156)는 속도 영역 내에서 멤버(16)에 대한 현재의 멤버(18)의 위치에 기초하여 변화값을 결정한다. 이것은 블럭(196)에 의해 표시된다. 상기 변화값은 애플리케이션 계층(160)에 새로운 정보로서 (아마도 애플리케이션 인터페이스(158)) 출력된다. 이것은 블럭(198)에 의해 표시된다. 멤버(18)가 절대 영역 또는 속도 영역에 있는 지를 판단할 때, 리맵퍼(156)는 어떤 히스테리시스를 구현하여 멤버(18)가 절대 영역과 속도 영역 사이의 경계에 근접해서 위치해 있는 경우 이들 영역 사이에서 앞, 뒤로 점프하는 것을 막을 수 있다는 점이 주목된다. 이 내용은 도 4a 및 4b에 대해서 기술된다.
블럭(194)에서 만약 리맵퍼(156)가 멤버(18)는 절대 위치결정 영역에 있다고 판단한다면, 리맵퍼(156)는 멤버(18)가 속도 영역으로부터 직전에 절대 영역으로 들어왔는 지를 판단한다. 만약 멤버(18)가 직전에 속도 영역에서 절대 영역으로 이동하였다면, 도 4b에서 기술되어 있는 바와 같이, 리맵퍼(156)는 사용자로 하여금 속도 영역 행동에서 실제로 벗어 나오기 전에 멤버(18)의 중심을 맞추게 하고자 할 수 있다. 따라서 본 발명의 일실시예에 따라 블럭(200)에서, 리맵퍼(156)는 멤버(18)가 직전에 절대 위치결정 영역에 있었는 지를 판단한다. 만약 멤버(18)가 직전에 절대 위치결정 영역에 있지 않았다면, 이는 멤버(18)가 직전에 속도 영역에서 절대 위치결정 영역으로 방금 들어왔다는 것을 나타낸다. 이러한 경우, 리맵퍼(156)는 절대 위치결정 영역과 속도 영역 사이의 경계를 절대 위치결정 영역으로 더 이동시켜서 도 4b에 설명된 중심 영역(116)의 경계와 일치시킨다. 이 내용은 블럭(202)에 의해 표시된다. 따라서 리맵퍼(156)는, 멤버(18)가 미리 정해진 공칭 중심 범위 내에 위치할 때까지 멤버(18)의 속도 영역 내에서의 위치를 표시하는 값을 계속 제공한다. 영역들 사이의 경계가 중심 영역(116)으로 이동하였다는 정보가 주어지면, 리맵퍼(156)는 멤버(18)의 위치에 기초하여 애플리케이션에 전송되는 변화값을 결정한다. 이 내용은 블럭(204)에 표시되어 있다. 그 다음 상기 변화값은 새로운 위치 정보로서 애플리케이션 계층(160)에 출력된다. 이 내용은 블럭(198)에 의해 표시된다. 도 4a 및 4b에 대해서 전술한 바와 같이, 영역들 사이의 천이는 다양한 방법으로 조정될 수 있슴은 물론이다. 이들 방법은 각 방법에 따라 리맵퍼(156)에 의해 구현된다.
멤버(18)가 절대 위치결정 영역에 있고, 사용자가 멤버(18)를 이동시키지 않는 때, 위치 센서에 의해 제공되는 실제 위치 정보값은 어느 정도의 허용 오차와 필터링 기술때문에 몇 비트 위치 정도의 변동이 있을 수 있다. 이러한 변동이 리맵퍼(156)에 의해 인식되면, 디스플레이(15) 상에 디스플레이되고 있는 제1 개인 투시뷰는 상기 작고 바람직하지 못한 위치 정보의 변화에 따라 지터 또는 앞, 뒤로 점프하는 경향이 있다. 따라서 위치 정보의 변화의 크기가 임계값보다 작다면, 종래의 지터 필터를 사용하여 위치 정보의 변화를 무시할 수 있다.
그러나, 변화를 무시하면 해상력을 감속시키고 결과적으로 덜 매끄러운 제어가 된다. 예를 들어, 만약 사용자가 멤버(18)를 축(102) 둘레로 시계 방향으로 연속적으로 이동시킨다면, 각 샘플링된 값은 이전 값보다 커질 것이므로, 실질적으로 지터 필터를 사용할 필요가 없다. 따라서 해상력을 감소시킬 필요가 없다.
이러한 이유로 해서 블럭(200)에서, 만약 멤버(18)가 절대 위치결정 영역에 있고, 이전 샘플링 간격 동안에 절대 위치결정 영역에 있었다면, 리맵퍼(156)는 경사 플래그(slope flag)가 세팅되었는 가를 판단한다. 멤버(18)의 위치가 둘 또는 둘 이상의 연속적인 샘플링 주기 동안에 같은 방향으로 변화했다는 것을 표시하는 위치 정보를 포함하는 둘 또는 둘 이상의 연속적인 패킷이 수신되는 경우, 경사 플래그는 멤버(18)가 관련된 축 둘레로 이동하는 방향을 표시하도록 셋팅된다.
만약 멤버(18)의 위치가 둘 또는 둘 이상의 연속적인 샘플링 주기 동안에 같은 방향으로 변화한다면, 이것은 사용자가 적어도 두 개의 샘플링 간격 동안에 같은 방향으로 멤버(18)를 계속 이동시켰다는 것을 표시한다. 경사 플래그가 셋팅되었는 가를 판단하는 것은 블럭(206)에 의해 표시된다. 만일 경사 플래그가 셋팅되어 있지 않다면, 그것은 사용자가 적어도 두 개의 샘플링 간격 동안에 한 방향으로 멤버(18)를 계속 이동시키지 않았다는 것을 표시한다. 이와 같이 경사 플래그가 셋팅되지 않는 경우에는 리맵퍼(156)가 지터 필터(도 9D에 대해 자세히 설명되어 있슴)를 호출한다. 이러한 내용은 블럭(208)에 의해 표시된다. 지터 필터의 출력에 기초하여, 리맵퍼(156)는 블럭(198)에 표시된 바와 같이 새로운 위치 정보를 애플리케이션에 출력한다.
블럭(206)에서 경사 플래그가 셋팅되면. 리맵퍼(156)는 멤버(18)의 위치 변화가 이전 경사와 같은 방향에 있는 가를 판단한다. 만일 같은 방향에 있지 않다면, 이것은 사용자가 이동 방향을 바꿨다는 것이다. 이러한 경우에는 블럭(208)에 의해 표시된 바와 같이 지터 필터를 다시 호출하는 것이 바람직할 수 있다. 위치 변화가 이전 경사와 같은 방향에 있는 가를 판단하는 것은 블럭(210)에 의해 표시된다.
블럭(210)에서 멤버(18)는 위치 변화가 이전 경사와 같은 방향이라고 판단되면, 이것은 사용자가 단순히 멤버(18)를 같은 방향으로 계속 이동시켰다는 것을 나타내고, 지터 필터를 호출할 필요도 없고, 동시에 해상력의 감소도 없다. 따라서 리맵퍼(156)는 이러한 경우에는 블럭(198)에 의해 표시되어 있는 바와 같이 새로운 위치 정보를 애플리케이션 계층(160)에 단순히 출력한다.
새로운 위치 정보가 애플리케이션에 제공되면, 애플리케이션은 X, Y 위치 필드로부터의 새로운 데이터와 (버튼 어레이에 있는 임의의 스위치를 누르는 것과 같은) 나머지 데이터에 기초하여 디스플레이를 갱신한다. 이 내용은 블럭(212)에 의해 표시된다.
도 9c에는 지터 필터를 호출하는 것이 더 잘 설명되어 있다. 지터 필터가 호출될 때, 리맵퍼(156)는 이전 상태로부터의 위치 변화가 임계값보다 더 큰 값인 가를 판단한다. 이 내용은 블럭(214)에 의해 표시되어 있다. 만일 위치 변화가 임계값보다 크다면, 이것은 적합한 위치 변화에 해당되는 것이고, 리맵퍼(156)는 새로운 정보를 애플리케이션 계층(160)에 제공한다. 이 내용은 블럭(198)에 표시되어 있다. 그러나 블럭(214)에서 이전 값으로부터의 위치 변화가 임계값을 초과하지 않는다면, 리맵퍼(156)는 위치 변화를 무시한다. 이것은 블럭(260)에 표시되어 있다.
도 10은 컴퓨터 입력 장치(14)의 단순한 일실시예의 분해도로서, 입력 장치의 많은 기계적 특성을 잘 설명한다. 도 10은 통상의 사용 위치로부터 변환되어 있는 위치에 있는 컴퓨터 입력 장치를 도시한다. 도 10은 입력 장치(14)가 조립시에는 연결되어 있는 하부 하우징(220)과 상부 하우징(222)을 도시한다. 상부 하우징(222)은 버튼 어레이(28)에 있는 버튼에 대한 엄지 손가락 접촉 부분(226)을 위해 있는 복수개의 공동(224)을 가진다. 엄지 손가락 접촉 부분(226)은 대응되는 플런저(228)와 마찰되면서 맞물려 있는데, 이 플런저는 눌러졌을 때 스위치 접촉을 관련된 인쇄 회로 기판(230)에 근접시키는다.
손가락 맞물림 트리거(32)는 상부 하우징 부분(222)에 고정된 포스트(232)에 추축으로 올려져 있다(pivotally mounted). 트리거(32)는 뻗어나온 플런저(234)를 가지는데, 이 플런저는 트리거(32)가 눌러졌을 때, 인쇄 회로 기판(230)에 올려져 있는 대응 스위치(236)와 맞물린다.
또한, 햇스위치(30)는 상부 하우징(222)에 있는 개구를 통해 쇼울더(238)에 올려진다. 햇스위치(30)가 (상기 표 1에 대해 서술되어 있는 바와 같이) 다양한 각도로 눌러질 때, 쇼울더(238)는 인쇄 회로 기판(240)에 있는 한 세트 또는 한 세트 이상의 스위치 접촉의 간격을 좁힌다(도 10에서 도시된 실시예에서, 상기 스위치는 인쇄 회로 기판(240)의 보여지는 부분의 반대편 측면에 있다).
링크 장치(또는 힌지 부분)(22)는 제1 캠 어셈블리(242)와 제2 캠 어셈블리(244)를 포함하는데, 이들 두 개의 어셈블리는 모두 도 12a 내지 14c에 대해 더 자세히 설명되어 있다. 캠 어셈블리(242)로 멤버(18)는 축(106) 둘레를 상하 운동할 수 있고, 캠 어셈블리(244)로 멤버(18)는 축(102) 둘레를 좌우 운동할 수 있다. 또한, 입력 장치(14)는 예를 들어, 캠 어셈블리(244)를 통하고, 캠 어셈블리(242)까지 뻗어 있는 속빈 샤프트(246)를 포함한다. 전선 하니스(wire harness)는 샤프트(246)의 속빈 부분을 통하여 뻗어 있고, 멤버(18) 상의 회로 기판(230) 상에 있는 다양한 스위치와 버튼들로부터 멤버(16)에 위치한 회로 기판(230)에 신호를 전송하여 추가 처리를 하게 한다.
슬리브(252)는 샤프트(246)를 전위차계(260)에 연결하는데 사용된다. 슬리브(252)는 뻗어나온 텅(tonge) 부분(254)을 포함한다. 텅 부분(254)은 개방된 상부 부분 내의 속빈 샤프트(246)의 내부 표면과 마찰이 있으면서 맞물리도록 하기 위하여 속빈 샤프트(246)의 개방된 상부 부분 내에 꼭 맞는 크기로 되어 있다. 또한, 슬리브(252)는 멤버(16) 내에 포함된 회로 기판(230)에 올려져 있는 전위차계(260)의 회전 와이퍼(wiper)(258)를 받아 들일수 있는 크기인 개구를 포함하는 반대쪽 엔드(256)를 가지고 있다. 슬리브(252)가 샤프트(246)에 조립될 때, 이 슬리브는 멤버(18)가 축(106) 둘레를 상하 운동할 때 샤프트(246)를 따라 회전한다. 슬리브(252)에 있는 개구(256)가 전위차계(252)의 와이퍼(258)와 마찰이 있으면서 맞물리므로, 와이퍼(258)는 또한 샤프트(246)를 따라 회전한다. 이것은 멤버(18)의 축(106) 둘레의 움직임을 표시하는 전위차계 신호를 제공한다.
도 11은 도 10에 도시된 컴퓨터 입력 장치(14)의 일부분을 크게 확대한 도면이다. 유사한 항목은 도 10에의 도면 번호와 유사한 번호로 되어 있다. 도 11을 보면, 제2 샤프트(266)가 멤버(18)에 결합되고, 캠 어셈블리(242)를 통해 (도 11에서와 같이) 위쪽으로 뻗어 있다. 샤프트(266)는 샤프트(246)의 개방 부분을 통해 위쪽으로 뻗어 있고, 이 샤프트는 멤버(18)가 요방향 또는 X 방향으로 회전하게 되는 축(102)을 정의한다. 캠 어셈블리(242)에 의해 모호하게 되었음에도 불구하고, 도 10에서 샤프트(246)에 대해 설명된 것과 유사하게 전위차계 배열은 샤프트(266)에 제공되어서, X 방향에서의 멤버(18)의 위치를 표시하는 전기 신호가 또한 (전선 하니스(248)를 통해) 회로 기판(230)에 제공된다.
또한, 도 11에서 멤버(18)의 하우징은 이 하우징 내에 있는 개구(270)를 정의한다. 개구(270)는 하우징(268)과 환상 슬리브(272) 사이에 약간의 틈새가 있을 만큼의 크기이다. 환상 슬리브(272)는 샤프트(246)에 고정되도록 결합되어 샤프트와 같이 회전한다. 실시예에서, 환상 슬리브(272)와 샤프트(246)는 결합되어 서로 몰드된다. 환상 슬리브(272)는 내부에 있고, 멤버(18)는 외부 주변을 회전한다. 멤버(18)가 최대 동작 범위로 축(102) 둘레를 회전하는 경우에도 환상 슬리브(272)는 안쪽으로 하우징(18)까지 뻗어나오므로, 슬리브(272)는 여전히 개구(270)의 실질적인 클로져(closure)를 유지하여서 멤버(18)의 하우징(268)의 안쪽은 노출되지 않는다.
또한, 도 11에서 캠 어셈블리(244)는 캠(276)의 외부 외주(periphery)보다 크기가 더 큰 내부 외주를 갖는 클로져(274)를 포함한다. 캠 공이(278)는 캠(276)에 근접해서 배열되어 있고, 샤프트(246)와 함께 회전하도록 배열되어 있다. (도 12a에 도시된) 압축 스프링(280)은 클로져(274)의 내부벽과 캠(276)의 반대 표면 사이에 배열되어 있다.
도 12a 내지 14c에서 캠 어셈블리(242, 244)가 더 잘 도시되어 있다. 상기 도면에 도시된 캠 어셈블리는 캠 어셈블리(242, 244) 중 어느 캠 어셈블리에도 동일하게 적용될 수 있으나, 명확하게 하기 위하여 캠 어셈블리(244)만 본 명세서에 서술되어 있다. 그리고 캠과 캠 공이의 위치는 도시된 위치와 반대로 될 수 있다. 도 12a는 클로져(274)가 제거된 캠(276), 캠 공이(278) 및 압축 스프링(280)의 분해도이다. 도 12a에서 캠(276)은 도 12a와는 반대로, 실질적으로 평평한 표면 상에 배치된 복수개의 캠 표면(282)을 갖는다. 이와 유사하게 캠(276)은 압축 스프링(280)의 외부 외주보다 크기가 더 큰 쇼울더(284)를 포함한다. 따라서 쇼율더(284)에 의해 내려진 상태에서는 압축 스프링(280)이 캠(276)과 접촉한다.
캠 공이(278)는 실질적으로 평평한 캠 팔로잉 표면(288)으로부터 돌출된 복수개의 돌출부(286)를 포함한다. 캠 공이(278)는 샤프트(246) 주위에 배치되어 샤프트(246)와 같이 회전한다.
도 12b는 클로져(274)가 제거된 상태에서의 캠 어셈블리(244)의 조립도이다. 도 12b는 중립 위치에서 캠 어셈블리(244)를 도시하고 있으며, 돌출부(286)는 캠드 표면(cammed surface) 사이에 위치한다. 중립 위치는 도 4에서 작용 범위(110) 내에 있는 멤버(18)에 대응한다.
도 12c는 중립 위치에서 캠 어셈블리(244)의 일부분을 따라 절취된 측단면도이다. 도 12c에는 중립 위치에서 캠 공이(278)의 돌출부(286)와 캠(276)의 캠 표면(282)이 대항 표면과 대체로 평평하게 접하도록 압축 스프링(280)이 캠(276) 및 캠 폴로워(278)에 힘이 가하는 것이 잘 도시되어 있다. 따라서 샤프트(246)의 회전에 의해, 사용자는 압축 스프링(280)에 의해 힘이 가해지는 상태 하에서 대항 표면을 따라 슬라이딩하는 돌출부(286) 및 캠 표면(282)의 마찰에 의해 생성되는 실질적으로 일정한 힘을 감지한다. 일실시예에서, 캠(276) 및 캠 플로워(278)는 상표명 델린(Delrin)으로 시판되는 아세탈 재료로 형성된다. 이러한 재료는 상기 두 부분이 슬라이딩할 때 움직임에 대한 낮은 저항감으로 끈적거리는 유동적 느낌을 제공한다. 물론, 원하는 느낌을 제공하기 위해서는 다른 재료가 사용될 수도 있다.
도 13a 내지 도 13c는 예를 들면 도 12a 내지 도 12c에 도시된 중립 위치에 대하여 약 30°로 회전되는 위치에서의 캠 어셈블리(244)를 도시하고 있다. 도 13a 내지 도 13c는 멤버(18)가 도 4a에 도시된 영역(110) 내에서 회전되고 영역(112) 또는 영역(114) 중 한 영역으로 이동하기 시작할 때의 캠 어셈블리(244)를 도시하고 있다. 도 13c에 명확하게 도시되어 있듯이, 캠 표면(282) 및 돌출부(286)는 압축 스프링(280)의 힘을 받으면 상호 직접적으로 접하게 된다. 그러므로 사용자는 절대 위치 영역을 벗어나서 속도 영역으로 멤버(18)를 회전시킬 때, 그 순간에 캠 표면(282) 및 돌출부(286)가 서로 맞물리기 때문에 회전에 대한 저항 증가를 뚜렷하게 느끼게 된다.
도 14a 내지 도 14c는 예를 들면, 도 12a 내지 도 12c에 도시된 중립 위치로부터 약 30°로 회전되는 위치에서의 캠 어셈블리(244)를 도시하고 있다. 그러므로 이것은 예를 들면 도 4b에 도시된 영역(112)의 맨 끝의 한 측면에 대응한다. 도 14c에 도시된 바와 같이, 캠 표면(282)은 캠 공이(278)의 돌출부(286)와 맞물리고, 캠(276)이 캠 폴로워(278)로부터 변위되도록 상대방을 향해 푸시되어 진다(pushed). 물론, 캠 공이(278)는 도 14c에 도시된 도면의 수직 방향으로 고정된다. 그러므로 압축 스프링(280)이 상향으로 이동하도록 캠(276)에 힘이 가해진다. 스프링(280)에 압력을 가할수록 스프링(280)에 의해 나타나는 저항력은 더 커진다. 그러므로 캠 공이(278)가 최대 동작 범위(예를 들면, 중립 위치로부터 약 +40°)로 회전될 때, 스프링(280)은 최고의 힘을 나타내고, 그 때 사용자는 최고의 저항을 감지하게 된다.
도 15 내지 도 17은 입력 장치(14)의 인간 공학적 특징을 도시하고 있다. 도 15a는 멤버(16, 18)가 통상 세로 축(290, 292)을 모두 가지고 있음을 도시하고 있다. 멤버(16, 18)의 세로 축은 좀더 인간 공학적으로 자연스러운 자세가 나오로록 작은 토인 각(toe-in angle)을 가진다. 예를 들면, 샤프트(246)는 도 15a의 멤버(294)로 대략적으로 도시되어 있는 축을 정의한다. 축(290, 292)은 축(294)과 대체로 수직인 라인에 대하여 각(296)만큼 토인된다. 토인 각(296)은 실례로 약 10~15°의 범위 내에 있으며 더 나아가서는 약 12°일 수 있다. 따라서 입력 장치(14)의 형태 및 초기 토인 각으로 손목은 중립 상태에 있는 초기 손목 모양을 하게 된다. 평균적으로, 장치(14)의 초기 손목 모양은 약 14°익스텐션(extension) 및 8°척골 편차(unlar deviation)를 가진다. 이러한 값들은 손목의 중립 모양의 범위 내에 있다. 중립 손목 플렉션(flexion)/익스텐션은 약 0° 내지 20° 익스텐션의 범위 내에 있는 반면에, 중립 손목 편차는 0° 내지 20°척골 편차의 범위 내에 있다.
도 15b는 5 내지 95 퍼센타일에 있는 엄지 손가락 너비를 가지는 북미 남자의 엄지 손가락을 수용할 수 있는 얼마간의 간격을 도시하고 있다. 엄지손가락으로 조작하는 제어부(예를 들면, 햇스위치(30) 및 버튼 어레이(28)의 버튼)는 부주의한 작용을 방지하도록 구성된 간격을 가진다. 그러므로 버튼 어레이(28)의 버튼의 센터-센터 간격(300)은 실례로 약 18 내지 28 mm 범위 내에 있으며, 또한 약 21 mm일 수 있다. 또한, 버튼 어레이(28)의 버튼의 센터-센터 간격(302)은 실례로 약 13 mm를 초과하고, 더 나아가서는 약 14.6 mm이다.
또한, 연결 장치(22)(또는 힌지 메카니즘)는 어레이(28)의 버튼이 작동하지 않을 때, 사용자의 오른손의 엄지손가락이 놓이는 표면(304)을 포함한다. 또한, 표면(304)의 중앙 영역은 축(102)을 중심으로 회전하는 멤버(18)의 회전 위치에 해당한다. 멤버(18)의 4개 버튼 어레이(28)의 중앙과 선회 축(pivot)(102) 사이의 간격(306)은 실례로 약 7 ㎜ 내지 47 mm의 범위에 있다. 또한, 간격(306)은 실례로 약 25~30 mm의 범위에 있고 약 27 mm일 수 있다.
선회 축(102)에서 4개 버튼 어레이(28)의 중앙까지의 간격(308)은 통상 엄지손가락 스윙의 동작 범위를 수용하도록 구성된다. 간격(308)은 실례로 약 30 ~ 40 mm의 범위 내에 있고, 약 34.6 mm일 수 있다.
또한, 디렉션 패드(direction pad)(30)는 5 내지 95 퍼텐타일의 엄지손가락 폭을 갖는 남자를 수용할 만한 크기를 가지며, 부주의한 작용을 방지하도록 구성된다. 그러므로, 햇스위치(30)의 길이는 실례로 약 20 ~ 30 mm의 범위에 있으며 약 28.4mm일수 있다. 또한, 햇스위치(30)는 실례로 약 18 ~ 28 mm의 범위 내에 있으며 22.5 mm일 수 있는 폭(312)을 가진다.
도 16a는 입력 장치(14)의 프론트 최저 측면을 따라 절취된 투시도이다. 도 16a는 멤버(16, 18)의 핸드 그립이 그립 마찰을 증가시키도록 무늬가 새겨진 손가락이 닿는 최저 부분(314, 316)을 가지고 있음을 도시하고 있다. 무늬는 약간의 마찰 강화 표면일 수 있으며, 예를 들면 듀로미터 재료, 내부에 형성된 리지, 또는 거칠게 무늬가 새겨진 플라스틱일 수 있다.
도 16b는 도 6a의 선 16b-16b을 따라 절취된 단면도이다. 도 16b는 멤버(16)의 핸들부의 엣지가 둥글고, 사용자 손의 손바닥 부분의 볼록한 아크 형태임을 도시하고 있다. 이와 유사하게 핸들부의 전체 직경(320)은 손바닥 크기가 5 내지 95 퍼센타일 범위에 있는 북미 남자를 수용하도록 구성된다. 따라서, 직경(320)은 실례로 약 43 ㎜ 내지 53 mm의 범위 내에 있으며, 약 50 mm일 수 있다. 이와 유사하게 멤버(16, 18)의 핸들부의 둘레(즉, 바깥쪽 외주)는 실례로 120 ~ 145 mm의 범위 내에 있다.
도 17은 도 15a에 도시된 축(292)을 따라 절취된 멤버(18)의 단면도이다. 멤버(18)의 핸들부의 길이(322)는 실례로 손바닥 폭이 5 내지 95의 퍼센타일 범위에 있는 북미 남자를 수용하도록 구성된다. 그러므로 길이(322)는 실례로 약 86 mm를 넘으며, 또한 약 105 mm를 넘을 수도 있으며, 또한 약 131 mm일 수 있다. 또한, 도 17은 핸들부가 버튼 어레이(28) 및 햇스위치(30)를 지지하는 패드 영역으로터 후방 및 하향으로 연장하는 점에서 피스톨 그립으로서 구체화되는 멤버(16, 18)를 도시하고 있다. 멤버(18) 상에 위치되는 4개 버튼 어레이(28)의 중앙에서 멤버(18)의 핸들부의 단부까지의 간격(324)은 실례로 90 내지 100 mm의 범위 내에 있으며 약 97.5 mm일 수 있다.
트리거(32)의 위치는 손 및 손가락이 멤버(18)의 핸들부의 피스톨 그립부에 있을 때 집게 손가락의 끝으로 동작될 수 있도록 구성된다. 멤버(18)상의 4개 버튼 어레이(28)의 중앙에서 트리거(32)의 포워드 표면까지의 간격(326)은 손가락 길이가 5 내지 95 퍼센타일 범위에 있는 북미 남자를 수용한다. 이것은 손이 피스톨 그립에 있을 때, 목표 인구의 적은 엔드(end)가 트리거(32)의 표면에 도달하는 것이 가능하도록 함으로써 달성된다. 따라서 간격(326)은 약 45 mm보다 작고, 약 35 mm보다 작을 수 있으며, 또한 약 33.5 mm일 수 있다.
또한, 장치(14)의 무게는 실례로 실질적으로 사용자에게 피로를 야기시키지 않고도 연장 기간 동안 장치가 사용될 수 있을 정도로 충분히 작다. 그러므로 일실시예에서, 장치(14)의 무게는 약 225 g내지 345 g의 범위 내에 있다. 또한, 장치(14)의 무게는 약 284 g 일 수 있다.
따라서, 본 발명은 서로에 대하여 회전 가능하고 아티큘레이트형인 2 개의 멤버를 갖는 컴퓨터에 사용자 입력 장치를 제공하고 그 움직임을 나타내는 신호를 컴퓨터에 공급한다. 본 발명은 둘 또는 둘 이상의 작동 범위에서의 이동을 실례로서 제공하고 디스플레이될 대상의 행동 특징을 변화시키는데 사용될 수 있다. 유사하게는, 본 발명의 장치는 인간 공학 동작을 수용하는 크기 및 형태를 갖는 구성 요소로 구성된다.
본 발명은 양호한 실시예에 관하여 기술되고 있지만, 당업자라면 본 발명의 사상 및 범위를 벗어나지 않는 범위 내에서 형태 및 상세한 설명을 변경할 수 있다는 것을 이해할 것이다.
본 발명은 제2 행동 영역을 통한 이동으로 제1 개인 투시를 절대적인 형태라기 보다는 연속적으로 움직이게 한다. 또한, 사용자가 영역 사이를 옮겨 갈때 촉각 피드백(tactile feedback)이 사용자에게 제공된다. 본 발명은 또한 입력 장치에 인간 공학적 장점을 제공하므로 움직임의 모양과 범위가 피로를 줄여준다.
Claims (26)
- 제1 복수개의 행동 영역(behavioral zone)으로 나뉘는 동작 범위(range of motion)에서 입력 장치의 제2 부분에 대해 이동할 수 있는(moval relative to a second portion) 제1 부분을 갖는 휴대용 컴퓨터 입력 장치로부터의 입력을 기초로 하여 컴퓨터 영상 디스플레이를 제어하는 방법에 있어서,a) 컴퓨터 입력 장치의 상기 제2 부분에 대한 컴퓨터 입력 장치의 상기 제1 부분의 위치를 나타내는 위치 정보를 포함하는 데이터 패킷을 상기 컴퓨터 입력 장치로부터 수신하는 단계;b) 상기 데이터 패킷 내에 포함된 정보를 기초로 하여 상기 제1 부분이 상기 복수개의 행동 영역 중 어느 영역에 위치하는가를 판단하는 단계 및c) 상기 디스플레이에 제공되는 정보를 갱신하기 위하여 상기 위치 정보와 상기 행동 영역을 이용하는 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제1항에 있어서, 상기 제1 부분은 제1 회전축 둘레를 제1 동작 범위에서 상기 제2 부분에 대해 이동할 수 있고, 상기 제1 동작 범위는 상기 제1 복수개의 행동 영역을 포함하고, 상기 위치 정보는 상기 제1 동작 범위에서 상기 제1 부분의 위치를 나타내는 제1 축 정보를 포함하며, 상기 판단 단계는 상기 제1 부분이 상기 제1 복수개의 행동 영역 중 어느 영역에 위치하고 있는가를 판단하기 위하여 상기 제1 축 정보를 검사하는 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제2항에 있어서, 상기 제1 부분은 제2 복수개의 행동 영역을 상기 제2 부분에 대해 이동할 수 있고, 상기 컴퓨터 영상 디스플레이 제어 방법은상기 데이터 패킷에 기초하여 상기 제1 부분은 상기 제2 복수개의 행동 영역 중 어느 영역에 위치하는가를 판단하는 단계 및상기 제1 핸들이 디스플레이 상에 제공되는 정보를 갱신하기 위하여 위치해 있는 상기 제1 및 상기 제 2 복수개의 행동 영역 내의 행동 영역과, 상기 위치 정보를 이용하는 단계를 더 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제2항에 있어서, 상기 제1 부분은 제2 동작 범위에서 제2 회전축 둘레를 상기 제2 부분에 대해 이동할 수 있고, 상기 제2 동작 범위는 상기 제2 복수개의 행동 영역을 포함하고, 상기 위치 정보는 상기 제2 동작 범위 내에서 상기 제1 부분의 위치를 나타내는 제2 축 정보를 포함하며, 상기 판단 단계는 상기 제2 축 정보를 검사하여 상기 제1 부분이 상기 제2 복수개의 행동 영역 중 어느 영역에 위치하는가를 판단하는 검사 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제1항에 있어서, 상기 데이터 패킷은 상기 위치 정보 뿐만 아니라 영역 표시기(zone indicator) 정보도 포함하고, 상기 컴퓨터 영상 디스플레이 제어 방법은 영역 표시기 정보를 검사하는 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제5항에 있어서, 상기 판단 단계는 영역 표시기 정보와 위치 정보를 검사하는 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제1항에 있어서,상기 제1 부분의 상기 제2 부분에 대한 이전 이동 정보 중 가장 최근 정보를 나타내는 이전 이동 정보를 유지하는 단계 및상기 이전 이동 정보에 기초하여 상기 위치 정보를 필터링하는 단계를 더 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제7항에 있어서, 상기 필터링 단계가상기 제1 부분의 상기 제2 부분에 대한 현재의 이동 방향이 이전 이동 방향 중 상기 가장 최근 이동 방향과 같은가를 판단하는 단계와만일 상기 현재의 이동 방향이 상기 가장 최근의 이동 방향과 같다면, 위치 정보의 필터링을 하지 않고,만일 상기 현재의 이동 방향이 상기 가장 최근의 이동 방향과 같지 않다면, 위치 정보를 필터링하는 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제8항에 있어서, 만일 상기 제1 부분이 상기 제2 부분에 대해 고정되어 있다고 상기 위치 정보가 표시하면, 상기 위치 정보를 필터링하는 단계를 더 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제1항에 있어서, 상기 제1 부분이 이전의 위치 중 가장 최근에 위치한 행동 영역을 표시하는 이전 영역 정보를 유지하는 단계를 더 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제10항에 있어서, 상기 이용 단계는 상기 제1 부분이 현재 위치한 행동 영역과 상기 이전 영역 정보를 기초로 하여 행동(behavior)에 따라 영상 디스플레이 상에 정보를 갱신하는 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제11항에 있어서, 이전 영역 정보가 상기 제1 부분이 상기 제1 행동 영역에서 가장 최근이라고 표시하는 경우, 그리고 상기 위치 정보가 상기 제1 부분이 현재 상기 제1 행동 영역에 있다는 것을 지시하는 경우에, 제1 복수개의 행동 영역에 대응하는 제1 행동에 따라 디스플레이되고 있는 객체(object)를 제어하도록 상기 영상 디스플레이 상에 정보를 갱신하는 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제12항에 있어서, 이전 영역 정보가 상기 제1 부분은 상기 제2 행동 영역에서 가장 최근이라고 지시하는 경우, 그리고 상기 위치 정보가 상기 제1 부분은 현재 상기 제1 행동 영역으로 복귀하였다는 것을 지시하는 경우에, 상기 제1 부분은 상기 제1 행동 영역 내에 미리 정해진 위치에 도달할 때 까지, 제2 복수개의 행동 영역에 대응하는 제2 행동에 따라 디스플레이되고 있는 객체(object)를 제어하도록 상기 영상 디스플레이 제어 애플리케이션에 출력을 제공하는 컴퓨터 영상 디스플레이 제어 방법.
- 제12항에 있어서, 이전 영역 정보가 상기 제1 부분이 상기 제2 행동 영역에서 가장 최근이라고 지시하는 경우 그리고 상기 위치 정보가 상기 제1 부분이 현재 상기 제1 행동 영역으로 복귀하였다는 것을 지시하는 경우에, 상기 제1 부분이 상기 제1 행동 영역 내에 미리 정해진 위치에 도달할 때 까지, 제3 행동에 따라 디스플레이되고 있는 객체(object)를 제어하도록 상기 영상 디스플레이 제어 애플리케이션에 출력을 제공하는 컴퓨터 영상 디스플레이 제어 방법.
- 제14항에 있어서, 상기 디스플레이 제어 애플리케이션에 제공되는 출력은 상기 제1 부분이 상기 제1 행동 영역내에 미리 정해진 위치에 도달할 때까지 상기 제1 행동 영역내에서 상기 제2 부분에 대해 상기 제1 부분의 이동이 없음을 표시하는 무행위(null behavior)를 상기 제3 행위는 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제1항에 있어서, 상기 제1 부분이 절대적인 위치 영역에 있을 때, 상기 이용 단계가디스플레이되고 있는 객체의 절대적인 뷰(view)가 상기 위치 정보에 의해 표시되는 대로, 상기 제2 부분에 대한 상기 제1 부분의 절대 위치에 기초하도록 절대 위치 출력을 제공하는 단계를 포함하도록 상기 복수개의 행동 영역 중 제1 영역은 절대 위치를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제16항에 있어서, 상기 제1 부분이 속도 영역에 있을 때, 상기 이용 단계가디스플레이되고 있는 객체의 뷰가 상기 위치 정보에 의해 표시되는 대로 상기 제2 부분에 대한 상기 제1 부분의 위치에 기초한 속도로 실질적으로 연속적으로 변하도록 속도 출력을 제공하는단계를 포함하도록 상기 복수개의 행동 영역 중 제2 행동 영역이 속도 영역을 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제1항에 있어서, 상기 데이터 패킷을 수신하는 단계는 제1 입력 장치 형태에 대응하는 형태로 상기 데이터 패킷을 수신하는 것을 포함하고, 상기 이용 단계는예상되는 입력 장치 형태에 대응하고, 상기 영상 디스플레이 제어 애플리케이션에 의해 기대되는 형태로 영상 디스플레이 제어 애플리케이션을 출력으로 제공하는 단계를포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제18항에 있어서, 예상되는 입력 장치 형태에 대응하고, 영상 디스플레이 제어 애플리케이션에 의해 기대되는 형태로 출력을 제동하는 상기 단계는예상되는 입력 장치의 형태를 판단하는 단계와상기 예상되는 입력 장치 형태에 대응하는 형태로 상기 데이터 패킷을 상기 출력으로 변환하는 단계를 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 제19항에 있어서, 상기 제1 입력 장치 형태는 조이스틱을 포함하고, 상기 예상되는 입력 장치 형태는 적어도 마우스와 키보드 중 하나를 포함하며, 상기 변환 단계는상기 데이터 패킷을 마우스 또는 키보드에 대응하는 형태로 변환하는 것을 포함하는 컴퓨터 영상 디스플레이 제어 방법.
- 컴퓨터 입력 장치에 의해 컴퓨터에 제공되는 데이터 구조에 있어서,a) 제2 부분에 대한 제1 부분의 위치를 표시하는 위치 정보를 포함하는 위치 정보 부분으로서, 상기 제1 부분 및 상기 제2 부분은 복수개의 행동 영역을 갖는 동작 범위에서 서로 다른 부분에 대해 움직일 수 있는 위치 정보 부분과b) 상기 제1 부분이 복수개의 행동 영역 중 제1 영역에 있는가를 표시하는 영역 정보를 포함하는 영역 표시기를 포함하는 데이터 구조.
- 제21항에 있어서, 상기 제1 부분 및 상기 제2 부분 상의 복수개의 액추에이터의 상태를 표시하는 액추에이터 정보를 포함하는 액추에이터 정보 부분을 더 포함하는 데이터 구조.
- 제22항에 있어서, 상기 액추에이터 정보 부분은a) 적어도 하나의 트리거의 상태를 표시하는 정보를 포함하는 트리거 부분과;b) 다중 스위치 액추에이터의 상태를 표시하는 정보를 포함하는 다중 스위치 액추에이터 부분 및c) 복수개의 버튼의 상태를 표시하는 정보를 포함하는 버튼 부분을 포함하는 데이터 구조.
- 제21항에 있어서, 상기 위치 정보는 제1 회전축 둘레에서 상기 제2 부분에 대한 제1 부분의 위치를 표시하는 제1 축 정보(axis information)와, 제2 회전축 둘레에서 상기 제2 부분에 대한 제1 부분의 위치를 표시하는 제2 축 정보를 포함하는 데이터 구조.
- 컴퓨터 입력 장치에서 컴퓨터로 전송되는 데이터 패킷을 구성하는 방법에 있어서,a) 상기 컴퓨터 입력 장치 상에서 제2 부분에 대한 상기 컴퓨터 입력 장치 상의 제1 부분의 위치를 표시하는 위치 정보를 얻는 단계와;b) 상기 컴퓨터 입력 장치 상의 복수개의 액추에이터의 상태를 표시하는 액추에이터 정보를 얻는 단계와;c) 상기 위치 정보와 상기 액추에이터 정보를 상기 데이터 패킷 내에 배치하는 단계 및d) 상기 위치 정보에 기초하여 상기 제1 부분이 상기 제2 부분에 대한 복수개의 행동 영역 중에서 제1 영역에 있는가를 판단하고, 상기 판단을 표시하는 영역 정보를 얻는 판단 단계를 포함하는 데이터 패킷 구성 방법.
- 컴퓨터 입력 장치에서 컴퓨터로 전송되는 데이터 패킷을 구성하는 방법에 있어서,a) 상기 컴퓨터 입력 장치 상에서 제2 핸들(handle)에 대한 상기 컴퓨터 입력 장치 상의 제1 핸들의 위치를 표시하는 위치 정보를 얻는 단계와;b) 상기 컴퓨터 입력 장치 상의 복수개의 액추에이터의 상태를 표시하는 액추에이터 정보를 얻는 단계와;c) 상기 위치 정보와 상기 액추에이터 정보를 상기 데이터 패킷 내에 배치하는 단계를 포함하는 데이터 패킷 구성 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/255,510 US6664946B1 (en) | 1999-02-22 | 1999-02-22 | Dual axis articulated computer input device and method of operation |
US09/255510 | 1999-02-22 | ||
US9/255510 | 1999-02-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010020640A true KR20010020640A (ko) | 2001-03-15 |
KR100645857B1 KR100645857B1 (ko) | 2006-11-14 |
Family
ID=22968654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000008463A KR100645857B1 (ko) | 1999-02-22 | 2000-02-22 | 컴퓨터 영상 디스플레이 제어 방법 및 데이터 패킷 구성 방법 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6664946B1 (ko) |
JP (1) | JP4544682B2 (ko) |
KR (1) | KR100645857B1 (ko) |
CN (1) | CN1184553C (ko) |
DE (1) | DE10008024A1 (ko) |
FR (1) | FR2793044B1 (ko) |
GB (1) | GB2352602A (ko) |
TW (1) | TW470908B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100776435B1 (ko) * | 2005-08-02 | 2007-11-16 | 엘지전자 주식회사 | 영상표시기기 및 그 제어방법 |
WO2009005500A1 (en) * | 2007-07-02 | 2009-01-08 | Razer (Asia-Pacific) Pte Ltd | Game controller with clickable trackball |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7046229B1 (en) | 1999-04-20 | 2006-05-16 | Microsoft Corporation | Computer input device providing absolute and relative positional information |
US6617982B1 (en) * | 1999-04-23 | 2003-09-09 | Sony Computer Entertainment Inc. | Operating device |
US7688306B2 (en) * | 2000-10-02 | 2010-03-30 | Apple Inc. | Methods and apparatuses for operating a portable device based on an accelerometer |
DE10104162A1 (de) * | 2001-01-30 | 2002-08-01 | Volkswagen Ag | Bedien-und/oder Steuerungseinrichtung für mindestens eine elektronische Einrichtung und Verfahren zur Bedienung und/oder Steuerung |
JP3608726B2 (ja) * | 2001-04-19 | 2005-01-12 | 株式会社ソニー・コンピュータエンタテインメント | コントローラ |
TW514786B (en) * | 2001-09-28 | 2002-12-21 | Su Fang Yu | Processing method and computer system for driver in intelligent peripherals |
US20040224602A1 (en) * | 2002-05-31 | 2004-11-11 | Kislevitz Androc L. | Pivotable handheld remote control device |
US8323106B2 (en) * | 2008-05-30 | 2012-12-04 | Sony Computer Entertainment America Llc | Determination of controller three-dimensional location using image analysis and ultrasonic communication |
DE112006004113T5 (de) * | 2006-11-10 | 2009-10-15 | Razer (Asia-Pacific) Pte. Ltd. | Ergonomisch konfigurierbares Spielsteuergerät |
TWI432246B (zh) * | 2008-12-12 | 2014-04-01 | Primax Electronics Ltd | 可變形遊戲控制器 |
US9870021B2 (en) | 2009-04-15 | 2018-01-16 | SeeScan, Inc. | Magnetic manual user interface devices |
US8698747B1 (en) | 2009-10-12 | 2014-04-15 | Mattel, Inc. | Hand-activated controller |
US20120256821A1 (en) | 2010-05-18 | 2012-10-11 | Seektech, Inc. | User interface devices, apparatus, and methods |
US10203717B2 (en) | 2010-10-12 | 2019-02-12 | SeeScan, Inc. | Magnetic thumbstick user interface devices |
CN102407019A (zh) * | 2011-07-30 | 2012-04-11 | 周海涛 | 游戏控制器 |
US9678577B1 (en) | 2011-08-20 | 2017-06-13 | SeeScan, Inc. | Magnetic sensing user interface device methods and apparatus using electromagnets and associated magnetic sensors |
CN103357175B (zh) * | 2012-03-30 | 2015-11-25 | 名硕电脑(苏州)有限公司 | 转动操作模块及应用其的游戏控制器 |
US20130293362A1 (en) * | 2012-05-03 | 2013-11-07 | The Methodist Hospital Research Institute | Multi-degrees-of-freedom hand controller |
US9690390B2 (en) | 2013-05-17 | 2017-06-27 | SeeScan, Inc. | User interface devices |
JP6227759B2 (ja) * | 2013-06-11 | 2017-11-08 | ウィメイド・アイオ・カンパニーリミテッド | コンピュータゲームに登場する対象体を自動的にターゲッティングする方法及びその装置 |
US9101838B2 (en) * | 2013-07-26 | 2015-08-11 | David J. Dascher | Dual pivot game controller |
FR3031404B1 (fr) * | 2015-01-03 | 2018-04-13 | Bigben Interactive Sa | Procede de controle d'un curseur de visee |
US10198086B2 (en) | 2016-10-27 | 2019-02-05 | Fluidity Technologies, Inc. | Dynamically balanced, multi-degrees-of-freedom hand controller |
US10328351B2 (en) * | 2017-05-04 | 2019-06-25 | Praveen James | Videogame controller adapter |
WO2018232616A1 (en) * | 2017-06-21 | 2018-12-27 | SZ DJI Technology Co., Ltd. | METHODS AND APPARATUSES FOR TRANSFORMABLE REMOTE CONTROL DEVICES |
WO2019084514A1 (en) | 2017-10-27 | 2019-05-02 | Fluidity Technologies, Inc. | CAMERA AND SENSOR CONTROLS FOR REMOTE CONTROL VEHICLES AND VIRTUAL ENVIRONMENTS |
CN111511449B (zh) | 2017-10-27 | 2024-10-15 | 流体技术股份有限公司 | 具有情境感知显示器的控制器 |
CN111512114B (zh) | 2017-10-27 | 2022-04-05 | 流体技术股份有限公司 | 用于对空指令提供触觉反馈的控制器的多轴常平架安装座 |
CN108445970B (zh) * | 2018-03-30 | 2021-02-19 | 联想(北京)有限公司 | 组装电子设备及信息处理方法 |
US20210331065A1 (en) * | 2018-08-24 | 2021-10-28 | Box Dark Industries PTY, LTD. | A multi, single-axis game controller |
EP3733252A1 (en) | 2019-05-03 | 2020-11-04 | 9 AXIS Kft. | Multiaxis manipulation control device |
KR102304053B1 (ko) * | 2019-06-19 | 2021-09-17 | 주식회사 비엘디 | 상하 배치된 폴더타입의 듀얼모니터 |
US11599107B2 (en) | 2019-12-09 | 2023-03-07 | Fluidity Technologies Inc. | Apparatus, methods and systems for remote or onboard control of flights |
US11662835B1 (en) | 2022-04-26 | 2023-05-30 | Fluidity Technologies Inc. | System and methods for controlling motion of a target object and providing discrete, directional tactile feedback |
US11696633B1 (en) | 2022-04-26 | 2023-07-11 | Fluidity Technologies Inc. | System and methods for controlling motion of a target object and providing discrete, directional tactile feedback |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1272768A (en) * | 1986-05-12 | 1990-08-14 | Warner & Swasey Company (The) | Joystick controller for three axis control of a powered element |
US5440326A (en) * | 1990-03-21 | 1995-08-08 | Gyration, Inc. | Gyroscopic pointer |
US5059958A (en) | 1990-04-10 | 1991-10-22 | Jacobs Jordan S | Manually held tilt sensitive non-joystick control box |
EP0789294B1 (en) * | 1991-05-15 | 2003-07-16 | Fujitsu Limited | Pointing device and method of control of same |
US5589828A (en) * | 1992-03-05 | 1996-12-31 | Armstrong; Brad A. | 6 Degrees of freedom controller with capability of tactile feedback |
US5296871A (en) * | 1992-07-27 | 1994-03-22 | Paley W Bradford | Three-dimensional mouse with tactile feedback |
US5590062A (en) * | 1993-07-02 | 1996-12-31 | Matsushita Electric Industrial Co., Ltd. | Simulator for producing various living environments mainly for visual perception |
US5739811A (en) | 1993-07-16 | 1998-04-14 | Immersion Human Interface Corporation | Method and apparatus for controlling human-computer interface systems providing force feedback |
US5701140A (en) * | 1993-07-16 | 1997-12-23 | Immersion Human Interface Corp. | Method and apparatus for providing a cursor control interface with force feedback |
JP2722165B2 (ja) | 1993-10-22 | 1998-03-04 | 株式会社スギヤマエレクトロン | ゲーム機用コントローラ |
JP2665313B2 (ja) | 1994-04-22 | 1997-10-22 | 国際電業株式会社 | 反力発生装置 |
JPH08103567A (ja) * | 1994-05-31 | 1996-04-23 | Namco Ltd | 家庭用ゲーム機のコントローラ |
US5624117A (en) * | 1994-07-28 | 1997-04-29 | Sugiyama Electron Co., Ltd. | Game machine controller |
JPH08106355A (ja) * | 1994-10-04 | 1996-04-23 | Fujitsu Ltd | 座標入力装置 |
JP2766204B2 (ja) * | 1994-12-22 | 1998-06-18 | アルプス電気株式会社 | ゲーム機用操作装置 |
US5694153A (en) | 1995-07-31 | 1997-12-02 | Microsoft Corporation | Input device for providing multi-dimensional position coordinate signals to a computer |
JPH09167050A (ja) * | 1995-10-09 | 1997-06-24 | Nintendo Co Ltd | 操作装置およびそれを用いる画像処理システム |
US5874956A (en) * | 1995-11-13 | 1999-02-23 | Platinum Technology | Apparatus and method for three dimensional manipulation of point of view and object |
US5703623A (en) * | 1996-01-24 | 1997-12-30 | Hall; Malcolm G. | Smart orientation sensing circuit for remote control |
US5760763A (en) * | 1996-05-30 | 1998-06-02 | Ainsburg; David | Video display enhanced pointing control method |
US5898432A (en) * | 1997-03-12 | 1999-04-27 | Mitel Corporation | Animated cursor |
US6198471B1 (en) * | 1997-11-07 | 2001-03-06 | Brandt A. Cook | Free-floating multi-axis controller |
US6100871A (en) * | 1998-04-29 | 2000-08-08 | Multitude, Inc. | Dynamic pointer having time-dependent informational content |
US6614420B1 (en) * | 1999-02-22 | 2003-09-02 | Microsoft Corporation | Dual axis articulated electronic input device |
-
1999
- 1999-02-22 US US09/255,510 patent/US6664946B1/en not_active Expired - Fee Related
-
2000
- 2000-02-16 GB GB0003627A patent/GB2352602A/en not_active Withdrawn
- 2000-02-22 FR FR0002165A patent/FR2793044B1/fr not_active Expired - Fee Related
- 2000-02-22 JP JP2000044224A patent/JP4544682B2/ja not_active Expired - Fee Related
- 2000-02-22 CN CNB001027832A patent/CN1184553C/zh not_active Expired - Fee Related
- 2000-02-22 DE DE10008024A patent/DE10008024A1/de not_active Withdrawn
- 2000-02-22 KR KR1020000008463A patent/KR100645857B1/ko not_active IP Right Cessation
- 2000-05-30 TW TW089102961A patent/TW470908B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100776435B1 (ko) * | 2005-08-02 | 2007-11-16 | 엘지전자 주식회사 | 영상표시기기 및 그 제어방법 |
WO2009005500A1 (en) * | 2007-07-02 | 2009-01-08 | Razer (Asia-Pacific) Pte Ltd | Game controller with clickable trackball |
Also Published As
Publication number | Publication date |
---|---|
JP4544682B2 (ja) | 2010-09-15 |
CN1276553A (zh) | 2000-12-13 |
JP2000322192A (ja) | 2000-11-24 |
KR100645857B1 (ko) | 2006-11-14 |
FR2793044B1 (fr) | 2005-12-30 |
TW470908B (en) | 2002-01-01 |
GB2352602A9 (en) | 2001-02-23 |
GB0003627D0 (en) | 2000-04-05 |
CN1184553C (zh) | 2005-01-12 |
US6664946B1 (en) | 2003-12-16 |
GB2352602A (en) | 2001-01-31 |
FR2793044A1 (fr) | 2000-11-03 |
DE10008024A1 (de) | 2000-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100628816B1 (ko) | 2축 연동형 전자 입력 장치 | |
KR100645857B1 (ko) | 컴퓨터 영상 디스플레이 제어 방법 및 데이터 패킷 구성 방법 | |
US7145551B1 (en) | Two-handed computer input device with orientation sensor | |
US9619050B2 (en) | Mouse user interface with configurable components | |
US4739128A (en) | Thumb-controlled, hand-held joystick | |
US20170147094A1 (en) | Image Controller | |
US4823634A (en) | Multifunction tactile manipulatable control | |
US20170001110A1 (en) | Image Controller | |
WO1994023357A1 (en) | Attitude sensing array | |
US20170262077A1 (en) | Wearable Device with 6DOF Sensing | |
US7995035B2 (en) | Mouse with adjustable button activating pressure | |
US20050116926A1 (en) | User input device with vertical grip and single throw trigger | |
WO2009012267A1 (en) | Wearable computer mouse and electronic device controller | |
US7499022B2 (en) | User input device with vertical grip and scroll wheel | |
WO2002001589A1 (en) | A user input device for a game simulation apparatus | |
GB2619812A (en) | Joystick | |
AU6419794A (en) | Attitude sensing array | |
AU2788989A (en) | Multifunction tactile manipulatable control |
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: 20111020 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |