소개
RawInput Touchpad는 정밀 터치패드에서 입력을 캡처하기 위한 Raw Input API 기반의 C# 샘플 코드입니다. 이 프로젝트는 kamektx의 TouchpadGestures Advanced C++ 구현을 참고하여 각 접점 정보를 파싱합니다.
상세정보
소개
RawInput Touchpad는 정밀 터치패드에서 입력을 캡처하기 위한 Raw Input API 기반의 C# 샘플 코드입니다. 이 프로젝트는 kamektx의 TouchpadGestures Advanced C++ 구현을 참고하여 각 접점 정보를 파싱합니다.
핵심 기능
- Raw Input API를 통해 정밀 터치패드의 원시 입력 데이터 수신
- 각 접점(contact id) 정보를 포함한 터치 이벤트 파싱
- C# 언어로 구현되어 Windows 데스크톱 애플리케이션에 쉽게 통합 가능
지원 환경
지원 운영 체제: Windows XP 이상 (데스크톱 앱만), Windows Server 2003 이상
필수 헤더: winuser.h (Windows.h 포함)
기본 사용법
- RegisterRawInputDevices 함수를 통해 HID 사용 페이지와 사용 ID를 설정하여 정밀 터치패드 장치를 등록합니다.
- WM_INPUT 메시지를 처리하여 GetRawInputData 또는 GetRawInputBuffer로 원시 입력 데이터를 가져옵니다.
- RAWINPUT 구조체의 data.hid 필드를 해석하여 접점 ID, 위치, 압력 등을 추출합니다.
제한 사항 및 체크포인트
- 이 저장소는 샘플 코드이며, production 수준의 오류 처리나 성능 최적화가 포함되지 않을 수 있습니다.
- 정밀 터치패드가 아닌 일반 터치패드나 마우스에서는 예상대로 동작하지 않을 수 있습니다.
- Raw Input을 사용하려면 애플리케이션이 장치를 명시적으로 등록해야 하며, 등록이 누락되면 WM_INPUT 메시지를 받지 못합니다.
- 데스크톱 애플리케이션에만 적용되며, UWP나 기타 샌드박스 환경에서는 지원되지 않을 수 있습니다.
FAQ
이 샘플은 어떤 언어로 작성되었나요?
C#으로 구현되어 있으며, .NET 환경에서 사용할 수 있습니다.
어떤 장치에서 작동하나요?
Windows Precision Touchpad(정밀 터치패드) 장치에서 원시 입력을 캡처합니다.
어떤 Windows 버전에서 지원되나요?
Microsoft 문서에 따르면 최소 지원 클라이언트는 Windows XP, 최소 지원 서버는 Windows Server 2003이며, 데스크톱 앱에서만 사용 가능합니다.
시스템 요구사항
지원 운영 체제: Windows XP 이상 (데스크톱 앱만), Windows Server 2003 이상. 필수 헤더: winuser.h (Windows.h 포함).


