안드로이드에 USB 마우스 연결하여 마우스 버튼을 클리할 때
넥서스5에서는 아래의 코드가 정상적으로 동작합니다.
아래의 코드는 안드로이드에 USB 마우스를 연결하여 왼쪽버튼,오른쪽버튼,휠버튼 을 누르하는 것을 캐치하는 소스입니다.
mPicturePannel.setOnTouchListener(new Button.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent arg1) {
switch(arg1.getAction()){
case android.view.MotionEvent.ACTION_DOWN:
switch(arg1.getButtonState()){
case android.view.MotionEvent.BUTTON_PRIMARY:
//마우스 왼쪽버튼 정상적으로 수신됨
break;
case android.view.MotionEvent.BUTTON_SECONDARY:
//마우스 오른쪽버튼 정상적으로 수신됨
break;
case android.view.MotionEvent.BUTTON_TERTIARY:
//마우스 휠버튼 정상적으로 수신됨
break;
case android.view.MotionEvent.BUTTON_FORWARD:
break;
case android.view.MotionEvent.BUTTON_BACK:
break;
default:
break;
}
break;
case android.view.MotionEvent.ACTION_UP:
break;
default:
break;
}
return true;
}
});
그런데 삼성폰이나 엘지폰에서는 마우스의 버튼 매핑이 넥서스와 다른 것 같네요.
휠버튼(BUTTON_TERTIARY)을 누르면 안드로이드의 "홈"버튼을 누른 것과 같고
마우스 오른쪽 버튼(BUTTON_SECONDARY)은 안드로이드 "이전" 버튼으로 동작을 합니다.
삼성폰과 엘지폰에서도 넥서스5와 같이 구현할 수 없을까요?
안드로이드에서 USB 마우스 버튼에 대한 구현 경험있는 분들이나 힌트주실 수 있는 분들의 답변 구합니다.
감사합니다.