2012-11-15 2 views
3

`framework/base/services/input/inputreader.cpp '의 일부 코드를 변경하여 마우스 오른쪽 버튼을 클릭하여 뒤로 이동하도록했습니다.Jelly Bean에서 돌아 다니기위한 마우스 오른쪽 버튼 매핑

case BTN_RIGHT: 
    mBtnRight = rawEvent->value; 
    break; 

case BTN_RIGHT:      
    mBtnBack = rawEvent->value; 
    break; 

나는 그것뿐만 아니라 키와 모션 이벤트를 수신하고 마우스 오른쪽 버튼을 클릭 events.But가 키 이벤트를 전달 할 수 없습니다 events.when 그것은 모든 마우스를 수신 .

그것주는 오류 :이 젤리 빈 버그


D/InputDispatcher(1229): dispatchKey - eventTime=1352984476958100000, deviceId=2, source=0x2002, policyFlags=0x42000000, action=0x1, flags=0x0, keyCode=0x4, scanCode=0x0, metaState=0x0, repeatCount=0, downTime=1352984476958100000 
D/InputDispatcher(1229): Waiting for application to become ready for input: AppWindowToken{41294900 token=Token{411c0f90 ActivityRecord{41301e68 com.android.calculator2/.Calculator}}} - Window{413ff3c0 com.android.calculator2/com.android.calculator2.Calculator paused=false}. Reason: Waiting because the focused window has not finished processing the input events that were previously delivered to it. 
D/InputDispatcher(1229): findFocusedWindow finished: injectionResult=-1, timeSpentWaitingForApplication=0.0ms 

인가?

+0

PS3 게임 패드를 타블렛에 연결하고 두 개의 아날로그 조이스틱을 동시에 누르면 동일한 메시지가 나타납니다. 동시 진행을 좋아하지 않는 어딘가의 경주가있는 것과 거의 같습니다. – Bram

답변

2

마우스 Right_click을 뒤로 버튼으로 사용하려면 다음과 같이 변경하십시오. 그것은 나를 위해 일하고있다.

in function reset(InputDevice* device) { 

      replace mBtnRight = device->isKeyPressed(BTN_RIGHT); line to 

        mBtnBack = device->isKeyPressed(BTN_RIGHT); 

      and 
    in function process(const RawEvent* rawEvent) { 

       remove 3 lines case BTN_RIGHT: 
           mBtnRight = rawEvent->value; 
           break; 
        and Add "case BTN_RIGHT:" before case BTN_BACK:" as shown below 

        case BTN_RIGHT: 
        case BTN_BACK:      
        mBtnBack = rawEvent->value; 
        break; 

/* 그게 전부 나를 위해 일하고 있습니다. */

관련 문제