+/*******************************************************************************\r
+ * Copyright 2011 See AUTHORS file.\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ ******************************************************************************/
+
package com.badlogic.gdx.controllers.android;\r
\r
import android.view.InputDevice;\r
public boolean onKey (View view, int keyCode, KeyEvent keyEvent) {\r
AndroidController controller = controllerMap.get(keyEvent.getDeviceId());\r
if(controller != null) {\r
- if(keyEvent.getRepeatCount() == 0) {\r
- synchronized(eventQueue) {\r
- AndroidControllerEvent event = eventPool.obtain();\r
- event.controller = controller;\r
- if(keyEvent.getAction() == KeyEvent.ACTION_DOWN) {\r
- event.type = AndroidControllerEvent.BUTTON_DOWN;\r
- } else {\r
- event.type = AndroidControllerEvent.BUTTON_UP;\r
- }\r
- event.code = keyCode;\r
- eventQueue.add(event);\r
+ if(controller.getButton(keyCode) && keyEvent.getAction() == KeyEvent.ACTION_DOWN) {\r
+ return true;\r
+ }\r
+ synchronized(eventQueue) {\r
+ AndroidControllerEvent event = eventPool.obtain();\r
+ event.controller = controller;\r
+ if(keyEvent.getAction() == KeyEvent.ACTION_DOWN) {\r
+ event.type = AndroidControllerEvent.BUTTON_DOWN;\r
+ } else {\r
+ event.type = AndroidControllerEvent.BUTTON_UP;\r
}\r
+ event.code = keyCode;\r
+ eventQueue.add(event);\r
}\r
return true;\r
} else {\r
@Override\r
public void dispose () {\r
}\r
-}\r
+}
\ No newline at end of file