我们更改了`framework/base/services/input/inputreader.cpp 中的部分代码,使鼠标右键可以向后遍历。
case BTN_RIGHT:
mBtnRight = rawEvent->value;
break;
to
case BTN_RIGHT:
mBtnBack = rawEvent->value;
break;
它正在接收所有鼠标事件。当我单击鼠标右键时,它正在接收运动事件和按键事件。但它无法调度按键事件。
它给出的错误:
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
这是 Jelly Bean 中的错误吗?
要使鼠标右键单击用作后退按钮,请进行以下更改。它对我有用。
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;
/*这就是它对我有用的全部。 */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)