2012-04-06 1 views
6

USB 마우스를 마우스 오른쪽 버튼으로 클릭하면 안드로이드 (ics)에 항상 '뒤로'버튼으로 지정됩니까? 나는 태블릿이 하나 밖에 없다.Android usb 마우스 오른쪽 클릭 올바른 동작 (ICS)

상태 표시 줄을 제거하고 여전히 USB 마우스로 태블릿을 사용할 수 있습니다.

안드로이드에서 동작을 구성하는 방법/방법을 아는 사람이 있습니까?

+0

태블릿의 모델/메이크를 지정하십시오. –

+0

이것은 중국 공장에서 직접 판매 된 유명 브랜드입니다. 그들은 실수를 저지른 것 같았고 그 당시 표준 행동이 무엇을 의미하는지 알지 못했습니다. 그들은 배트에서 실수로 그것을 인정하지 않았기 때문에. 고마워 터보. –

답변

9

답이 늦었지만 대답은 '예'입니다. 이 유형의 인터넷에있는 주제이기 때문에이 주제에 대해 좀 더 자세하게 설명 할 것입니다.

기본 동작 : Android는 이것을 다시 버튼으로 처리하며 표시되는 예외는 없습니다.

및 일반 앱의 경우 매우 유용한 기능입니다. 그러나 두 유형의 사람들은이 기능을 다르게 구현하고자합니다. Modders 및 앱 개발자

모더 '수정 : 루팅 장치 (및 해제 ADB와 적지 약자 장치 잠재적 UNROOTED)에서 /system/usr/keylayout하에 Generic.kl 관찰. KEY_BACK 플래그를 검색하면 연결된 여러 줄에 여러 개의 키 코드가있을 수 있습니다. 나를 위해 그것은 WAKE_DROPPED 플래그와 함께 key 158이었다. 일반 "마우스 오른쪽 버튼 클릭"기능의 경우 뒤로 키와 메뉴 키의 숫자 코드를 바꿔야하므로 마우스가 뒤로 키 명령을 보내면 시스템은 실제로 메뉴 키 명령을 실행하고 일부는 돌아가려면 장치의 하드웨어 키 (레이블이 표시된 메뉴 키)를 누르십시오. 예, 이것은 휴대 전화의 하드웨어 키를 뒤집을 것이지만, 전체 ROM을 재구성하지 않고도 가장 쉬운 해결책입니다. 이것이 기업 또는 전문가를위한 것이라면이 기사의 Overriding Mouse Events Kernel-Level을 참조하십시오. 나는 실제로 그들이 참조한 프로 시저를 무시하는 Xposed 모듈을 생성 할 것을 권장합니다. 그렇지 않으면, 키 코드를 다시 매핑하는 방법을 찾으십시오, 미안 해요 여기에 직설적 인 기사를 찾을 수 없습니다.

응용 프로그램 개발자의 수정 : 비 루트 : 응용 프로그램에서 뒤로 키를 무시하고 true를 반환합니다. onBackPressed() 무시에서 필요한 마우스 오른쪽 버튼 기능을 수행하십시오. 단순한! PC와 유사한 컨텍스트 메뉴 기능을 원할 가능성이 높기 때문에 event.getRawX()을 사용하여 루트보기에 적용된 MotionEvent 수신기를 통해 마우스가있는 곳을 추적하고 전역에 값을 저장하는 RawY() 호출을해야합니다. 변하기 쉬운. 그런 다음 위쪽 여백과 왼쪽 여백을 설정하고 상황에 맞는 메뉴 (ListView 또는 VerticalLinearLayout 크기)를 커서 아래에 놓고 표시되도록 설정할 수 있습니다. 마우스 오른쪽 버튼을 클릭 (예 : 삭제 또는 복사)하여 레이아웃에서 마우스 커서를 움직이는 객체에 보조 기능을 수행하려면 저장된 마우스 좌표가 가리키는 객체를 수동으로 찾아야합니다. 영향을받는 모든 객체에 MotionEvent.ACTION_HOVER_ENTER 개의 리스너를 추가하고 전역 변수에 객체 ID를 저장해야 onBackPressed() 함수가 호출 될 때 사용할 수 있습니다. (시간이있을 때 코드를 제공 할 것입니다.)

희망적인 사람이이 같은 특정 주제를 탐구하는 데 도움이되기를 바랍니다. :)

+0

액티비티 클래스에서'boolean onKeyDown (int keyCode, final KeyEvent event)'와'onKeyUp'을 오버라이드하고'if (keyCode == KeyEvent.KEYCODE_BACK && event.GetSource() == InputDevice.SOURCE_MOUSE)를 체크 할 수 있습니다. ..'을 사용하여 USB 마우스로 생성 된 키 누름을 필터링 할 수 있습니다. – pelya

+0

그것은 훨씬 더 구체적인 방법입니다. 공유 해줘서 고마워! –

관련 문제