1. 程式人生 > >安卓4.0響應滑鼠左右點選事件

安卓4.0響應滑鼠左右點選事件

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;
                        }
                });