public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode >= keysMap.length) return false; int gameKey = keysMap[keyCode]; if (gameKey != 0) { if (event.getRepeatCount() == 0) { if (event.getAction() == KeyEvent.ACTION_DOWN) keyStates |= gameKey; else keyStates &= ~gameKey; gameKeyListener.onGameKeyChanged(); } return true; } return (keyListener != null && keyListener.onKey(v, keyCode, event)); }
private void setKeyStates(int newStates) { if (keyStates == newStates) return; keyStates = newStates; gameKeyListener.onGameKeyChanged(keyStates); }