Fixed volume keys not being handled by Android if screen keyboard is visible.
See bug #1569.
This commit is contained in:
parent
2e934dbde6
commit
2ec969cb57
1 changed files with 10 additions and 6 deletions
|
@ -134,6 +134,16 @@ public class SDLActivity extends Activity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean dispatchKeyEvent(KeyEvent event) {
|
||||||
|
int keyCode = event.getKeyCode();
|
||||||
|
// Ignore volume keys so they're handled by Android
|
||||||
|
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN ||
|
||||||
|
keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return super.dispatchKeyEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
/** Called by onPause or surfaceDestroyed. Even if surfaceDestroyed
|
/** Called by onPause or surfaceDestroyed. Even if surfaceDestroyed
|
||||||
* is the first to be called, mIsSurfaceReady should still be set
|
* is the first to be called, mIsSurfaceReady should still be set
|
||||||
|
@ -726,12 +736,6 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
||||||
// Key events
|
// Key events
|
||||||
@Override
|
@Override
|
||||||
public boolean onKey(View v, int keyCode, KeyEvent event) {
|
public boolean onKey(View v, int keyCode, KeyEvent event) {
|
||||||
|
|
||||||
// Ignore volume keys so they're handled by Android
|
|
||||||
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN ||
|
|
||||||
keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event.getAction() == KeyEvent.ACTION_DOWN) {
|
if (event.getAction() == KeyEvent.ACTION_DOWN) {
|
||||||
//Log.v("SDL", "key down: " + keyCode);
|
//Log.v("SDL", "key down: " + keyCode);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue