Search
Duplicate

게임 콘트롤러 모드에 대한 고찰

모드 이해

Gamepad는 하나의 BT MAC을 사용 하며 모든 모드에서 동일함.
각 모드는 서로 다른 장치 ID와 제품 ID를 가짐
문제점 : 하나의 Host(장치)에 여러 모드로 등록 불가능
원인 : Host 장치가 하나의 BT classic MAC에 대해서 하나의 장치 ID와 제품 ID를 지원 하기 때문 (BLE의 경우, Virtual BT MAC을 사용하여 이 문제가 발생하지 않음. – 현재 SHAKS Gamepad는 BT Classic을 이용함. 이유는  iOS의 MFI와 X-Input이 BT Classic에서 동작하기 위함)
문제 예-1
현상
Android 장치에서는 등록되었다고 나오지만, Gamepad는 계속 페어링 상태가 유지됨(1,2번 동시에 깜빡임).
재현방법
1.
Gamepad를 D-Input모드로 Android 장치에 등록
2.
Android 장치에서 Gamepad를 삭제
3.
Gamepad의 모드를 Touch mode로 변경
4.
Gamepad를 Pairing 모드로 변경 후, Android 장치에 등록 시도
해결책 1
1.
Gamepad의 전원 종료
2.
Android 장치에서 BT 리스트에서 연결 삭제
3.
Paring 모드로 진입하여 기존의 연결했던 Gamepad ID가 보이는지 확인.
4.
기존 연결 Gamepad BT 이름이 보이지 않을 때 까지 제거

모드 동작

D-Input – BT
Bluetooth protocol중 표준 HID를 사용 (진동에 대한 표준이 없음)
추가적인 기능 가능: Mouse
SHAKS 게임패드는 Android에 profile이 맞춰져 있어서, 다른 OS에서 동작할 때는 게임 또는 다른 Application으로 버튼을 수동으로 인식 시켜 줘야함.
등록 가능 OS: iOS를 제외한 모든 OS.
정상 동작 OS: Android
X-Input - BT
MS의 장치 ID와 제품 ID 사용
고정된 기능만 사용: Mouse 기능 사용 불가
등록 가능 OS: Windows, Android, MAC OS
정상동작 OS: Windows, Android, MAC OS
MFI - BT
iOS 전용(iPhone, iPad)
Apple에서는 MAC에는 동작한다고 하지만 실제 되지 않음. (다른 게임패드도 동일)
등록 가능 OS: 모든 OS.
정상동작 OS: iPhone, iPad
Touch Mapping - BT
Android 전용
등록 가능 OS: iOS를 제외한 모든 OS.
정상동작 OS: Android
Touch mapping App과 연동시에만 정상 동작
유선 – USB : Start + USB 연결 또는 BT pairing 버튼 + USB 연결
X-Input 전용 USB 장치
OS에 관계없이 X-Input 장치로 인식됨
정상동작 OS: Windows, Android, 삼성 타이젠 TV OS
TOP