Additional changes to processing of Num Lock on Android
* java/org/gnu/emacs/EmacsView.java (onKeyDown, onKeyMultiple) (onKeyDown): Disregard Num and Scroll Lock keys, and return value of window functions to the system. * java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Return normalized meta state, not only those bits the system considers modifiers. (onKeyDown, onKeyUp): Ignore numpad keys to which no base characters are assigned, so that the system may generate the proper action keys instead.
This commit is contained in:
@@ -505,42 +505,45 @@ public final class EmacsView extends ViewGroup
|
||||
public boolean
|
||||
onKeyDown (int keyCode, KeyEvent event)
|
||||
{
|
||||
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_MUTE)
|
||||
&& !EmacsNative.shouldForwardMultimediaButtons ())
|
||||
return false;
|
||||
if (((keyCode == KeyEvent.KEYCODE_VOLUME_UP
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_MUTE)
|
||||
&& !EmacsNative.shouldForwardMultimediaButtons ())
|
||||
|| keyCode == KeyEvent.KEYCODE_SCROLL_LOCK
|
||||
|| keyCode == KeyEvent.KEYCODE_NUM_LOCK)
|
||||
return super.onKeyDown (keyCode, event);
|
||||
|
||||
window.onKeyDown (keyCode, event);
|
||||
return true;
|
||||
return window.onKeyDown (keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean
|
||||
onKeyMultiple (int keyCode, int repeatCount, KeyEvent event)
|
||||
{
|
||||
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_MUTE)
|
||||
&& !EmacsNative.shouldForwardMultimediaButtons ())
|
||||
return false;
|
||||
if (((keyCode == KeyEvent.KEYCODE_VOLUME_UP
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_MUTE)
|
||||
&& !EmacsNative.shouldForwardMultimediaButtons ())
|
||||
|| keyCode == KeyEvent.KEYCODE_SCROLL_LOCK
|
||||
|| keyCode == KeyEvent.KEYCODE_NUM_LOCK)
|
||||
return super.onKeyMultiple (keyCode, repeatCount, event);
|
||||
|
||||
window.onKeyDown (keyCode, event);
|
||||
return true;
|
||||
return window.onKeyDown (keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean
|
||||
onKeyUp (int keyCode, KeyEvent event)
|
||||
{
|
||||
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_MUTE)
|
||||
&& !EmacsNative.shouldForwardMultimediaButtons ())
|
||||
return false;
|
||||
if (((keyCode == KeyEvent.KEYCODE_VOLUME_UP
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
|
||||
|| keyCode == KeyEvent.KEYCODE_VOLUME_MUTE)
|
||||
&& !EmacsNative.shouldForwardMultimediaButtons ())
|
||||
|| keyCode == KeyEvent.KEYCODE_SCROLL_LOCK
|
||||
|| keyCode == KeyEvent.KEYCODE_NUM_LOCK)
|
||||
return super.onKeyUp (keyCode, event);
|
||||
|
||||
window.onKeyUp (keyCode, event);
|
||||
return true;
|
||||
return window.onKeyUp (keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user