При использовании класса SurfaceView перегруженный метод onKeyDown не получает управление.
Добавить в конструктор установку разрешений быть в фокусе, а также запрос текущего фокуса:
import android.view.SurfaceView; class MuSurfaceView extends SurfaceView { public MySurfaceView(Context context) { super(context); setFocusable(true); setFocusableInTouchMode(true); requestFocus(); } }
Решение проблемы, если данный способ не работает: Android SurfaceView Problem
Дискуссия