4.0的更新说明里:为了方便起见,后面鼠标按钮被自动映射到KEYCODE_BACK,KEYCODE_FORWARD键,应用程序可以处理这些按键,支持鼠标按钮的基础和前进导航。 我现在的机器插上鼠标后左右键都是KEYCODE_FORWARD,我想吧右键改为KEYCODE_BACK,要在哪里系统响应这个事件呢。 |
貌似可以给view加个OnGenericMotionListener,然后在
onGenericMotion 方法里面判断event.getSource() 是不是鼠标,然后自己写功能btn = (Button) findViewById(R.id.btn_mouse);
btn.setOnGenericMotionListener(new OnGenericMotionListener() {
@Override
public boolean onGenericMotion(View v, MotionEvent event) {
// TODO Auto-generated method stub
int what = event.getButtonState();
switch (what) {
case MotionEvent.ACTION_DOWN:
System.out.println("悬浮状态");
break;
case MotionEvent.BUTTON_PRIMARY:
Toast.makeText(MouseEventActivity.this, "鼠标左键单击事件", 300).show();
break;
case MotionEvent.BUTTON_TERTIARY:
Toast.makeText(MouseEventActivity.this, "鼠标中键单击事件", 300).show();
break;
case MotionEvent.BUTTON_SECONDARY:
Toast.makeText(MouseEventActivity.this, "鼠标右键单击事件", 300).show();
break;
}
return false;
}
});