diff options
| author | Po Lu <luangruo@yahoo.com> | 2024-05-12 15:46:38 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2024-05-12 15:49:53 +0800 |
| commit | ea98a6af2f30eccfed3e152149c6a039bd16ff33 (patch) | |
| tree | 816f1b65c38f4546e71d6f8a2074fd3380ba9d08 /java/org/gnu/emacs/EmacsView.java | |
| parent | af6df8e0454f3f51d3855683216dfd12843e6959 (diff) | |
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.
Diffstat (limited to 'java/org/gnu/emacs/EmacsView.java')
| -rw-r--r-- | java/org/gnu/emacs/EmacsView.java | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java index 977ad90310d..074e7242540 100644 --- a/java/org/gnu/emacs/EmacsView.java +++ b/java/org/gnu/emacs/EmacsView.java @@ -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 |
