조이스틱 이미지는 구글 검색 에서 가져 왔습니다.
바로 전에 올린 post 에 이어서 몇가지 작업을 더 해 보고 예제를 올려 볼까 합니다.
이번에 적용한 것들은 다음과 같습니다.
- joystick.h/cpp(c 로 컴파일 가능) 으로 별도 API 처리.
- FLTK ( 주의: fltk-1.3.3-ts 사용해야 flushing 계속 해도 죽지 않음 ) 를 사용한 시각적 표현.
- pthread 로 polling 을 통한 update 부터 화면 표시 까지 구현.
단, 이 예제에서는 Xinput 이나, Analog 부분 ( Z axis, Z rotate ) 부분 처리는 빠져 있습니다.
polling 은 thread 내에서 sleep 을 30ms 하므로, 이론상으로 1초에 30 번 가량일 듯 합니다만, 이정도면 손가락이 신의 속도가 아니면 문제는 없어 보입니다.
예제는 Code::Blocks project 로 되어 있으며, MinGW-W64 와 미리 FLTK 1.3.3 ts 라이브러리를 빌드 한 상태로 사용해야 합니다. 여기서 FLTK 1.3.3 ts 라이브러리는 제 Github 주소 에서 받으실 수 있습니다. (물론 자가 빌드 필요) 또한 pthread 를 사용하므로 사용하는 MinGW 에서 pthread 가 없을 경우 미리 준비 해야 합니다. (그래서 MinGW-W64 & M-SYS 조합 추천)
https://github.com/rageworx/fltk-1.3.3-ts
사용된 DirectX 관련 소스는 WINE project 에서 얻은 것이며,
소스코드는 아래에서 받으실 수 있으며, 누구나 수정 및 재 배포 가능 합니다.