DirectInput DirectInput 에 대해   [목차열람] [주소복사] [슬롯비우기]
DirectInput 에 대해
 
Microsoft DirectX 9.0

DirectInput 에 대해


여기에서는, Microsoft® DirectInput® 의 기본 구조와 Microsoft Windows® 메시지 시스템과 DirectInput 와의 관계에 대해 설명한다.

여기서 설명하는 DirectInput 의 각 요소의 처리 방법에 대해서는, 「DirectInput 의 사용법」을 참조할것.

DirectInput 개체

입력 전용의 DirectInput 의 처리은,IDirectInput8  구성 요소 개체 모델 (COM) 인터페이스를 지원 하는 DirectInput 개체와 데이터를 제공하는 입력 장치마다 DirectInputDevice 개체로 구성된다. 각 DirectInputDevice 개체는, 키, 버튼, 축등의 개별의 제어 수단 또는 스윗치인장치 개체를 갖는다. 장치 개체는,장치 개체 인스턴스라고도 부른다.

각각의 DirectInputDevice 개체는, 마우스, 키보드, 조이스틱등의 입력 장치를 나타낸다. DirectInput 애플리케이션 프로그래밍 인터페이스 (API)에서는,조이스틱이라고 하는 용어는, 마우스 또는 키보드 이외의 입력 장치를 가리킨다. 터치 패드 첨부 키보드 등, 실제로는 다른 종류의 입력 장치를 조합한 물리 장치는, 복수의 DirectInputDevice 개체로서 나타낸다. force feedback 장치는, 입력과 출력의 양쪽 모두를 조작하는 1 개의 조이스틱 개체로서 나타낸다.

DirectInputDevice 개체는,IDirectInputDevice8 인터페이스를 인스턴스화한다. 애플리케이션은, 장치상에서 사용 가능한 개체의 수와 타입을,IDirectInputDevice8::EnumObjects 메서드를 사용해 확인한다. 개별의 장치 개체는, 코드 개체로서 캡슐화되지 않고 ,DIDEVICEOBJECTINSTANCE 구조체로서 기술된다.

force feedback 이펙트는,IDirectInputEffect 인터페이스로 나타낸다. 이 인터페이스의 각 메서드를 사용해, 이펙트의 생성·변경·시작·정지를 실시한다.

모든 DirectInput 인터페이스는, ANSI 판과 Unicode 판으로 사용할 수 있다. 컴파일시에 "UNICODE" 가 정의되고 있는 경우는, UNICODE 판을 사용한다.

Windows 와의 상호작용

DirectInput 는 장치 드라이버에 대해서 직접 동작하므로, Windows 의 마우스 메시지와 키보드 메시지는 억제 또는 무시된다. DirectInput 는, 컨트롤 패널로 사용자가 간 마우스와 키보드의 설정도 무시한다. 다만, 조이스틱이나 그 외의 게임 콘트롤러의 calibration의 설정은 사용한다.

DirectInput 는, 키보드의 문자 반복의 설정을 인식하지 않는다. 버퍼링 데이터를 이용하고 있을 때는, DirectInput 는, 각각의 키의 「밀기」와「떼어 놓아」를 반복 없음의 1 개의 이벤트로서 해석한다. 직접 데이터를 이용하고 있을 때는, DirectInput 가 관여하는 것은 키의 현재의 물리적 상태뿐이어, Windows 로 해석되는 키보드 이벤트에는 관여하지 않는다.

DirectInput 는, 문자 변환이나 번역을 실행하지 않는다. 예를 들어 Shift 키는, 다른 키의 수정 자식으로는 아니고, 다른 키와 같이 처리된다. 키는, 사용자의 시스템 언어 설정에 관계없이, 같은 식별자를 돌려준다.

Windows 2000 에서는, 배타 모드로 키보드를 얻어온다와 그 후에 기동된 어느 애플리케이션도 키보드 데이터를 취득할 수 없게 된다.

DirectInput 는 직접 마우스 드라이버에 작용하기 위해(때문에), 윈도우 애플리케이션에 대해서 마우스 데이터를 해석하는 Windows 서브 시스템을 우회도로 한다. Windows 커서를 사용해 이동하는 애플리케이션은, 표준의 Windows 마우스 메시지 및 Microsoft Win32® 함수를 사용한다.

배타 모드로 마우스를 사용하면 DirectInput 는 마우스 메시지를 억제한다. 그 결과, Windows 는 표준 커서를 표시할 수 없게 된다.

DirectInput 는 가속값이나 버튼 기능의 교체등의 컨트롤 패널의 설정을 무시한다. 그러나, 드라이버 그 자체로 설정을 인식한다. 예를 들어, 사용자가 3 개 버튼의 마우스를 가지고 있어, 드라이버 유틸리티 소프트웨어를 사용해 중앙의 버튼에 더블 클릭의 쇼트 컷을 할당하면 DirectInput 는, 중앙의 버튼의 1 회의 클릭을 주버튼의 2 회의 클릭으로서 보고한다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP