summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsView.java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2024-05-12 15:46:38 +0800
committerPo Lu <luangruo@yahoo.com>2024-05-12 15:49:53 +0800
commitea98a6af2f30eccfed3e152149c6a039bd16ff33 (patch)
tree816f1b65c38f4546e71d6f8a2074fd3380ba9d08 /java/org/gnu/emacs/EmacsView.java
parentaf6df8e0454f3f51d3855683216dfd12843e6959 (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.java45
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