aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPo Lu2023-08-02 09:09:53 +0800
committerPo Lu2023-08-02 09:09:53 +0800
commit8ff8a7fd5c50aaa7721a562a11836b4ec733ba5e (patch)
tree2b13cd6fceba087acdcfbecd3530718a484e26d8 /java
parentf7052599877de9e855d743c68c88cc5729456f1f (diff)
downloademacs-8ff8a7fd5c50aaa7721a562a11836b4ec733ba5e.tar.gz
emacs-8ff8a7fd5c50aaa7721a562a11836b4ec733ba5e.zip
Fix reporting of key events containing SYM and META
* doc/emacs/android.texi (Android)::(What is Android?): (Android Startup, Android File System, Android Environment) (Android Windowing, Android Fonts, Android Troubleshooting): Improve section titles. (Android Windowing): Describe the relation between keyboard modifiers reported by Android and those in key events. * java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp): Clear META_SYM_ON and META_META_MASK when retrieving ASCII characters. * src/androidgui.h: Add ANDROID_META_MASK. * src/androidterm.c (android_android_to_emacs_modifiers) (android_emacs_to_android_modifiers): Transform META to Alt, and vice versa.
Diffstat (limited to 'java')
-rw-r--r--java/org/gnu/emacs/EmacsWindow.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/java/org/gnu/emacs/EmacsWindow.java b/java/org/gnu/emacs/EmacsWindow.java
index 8118479319e..a1f70644e16 100644
--- a/java/org/gnu/emacs/EmacsWindow.java
+++ b/java/org/gnu/emacs/EmacsWindow.java
@@ -616,10 +616,13 @@ public final class EmacsWindow extends EmacsHandleObject
616 616
617 state = eventModifiers (event); 617 state = eventModifiers (event);
618 618
619 /* Ignore meta-state understood by Emacs for now, or Ctrl+C will 619 /* Ignore meta-state understood by Emacs for now, or key presses
620 not be recognized as an ASCII key press event. */ 620 such as Ctrl+C and Meta+C will not be recognized as an ASCII
621 key press event. */
622
621 state_1 623 state_1
622 = state & ~(KeyEvent.META_ALT_MASK | KeyEvent.META_CTRL_MASK); 624 = state & ~(KeyEvent.META_ALT_MASK | KeyEvent.META_CTRL_MASK
625 | KeyEvent.META_SYM_ON | KeyEvent.META_META_MASK);
623 626
624 synchronized (eventStrings) 627 synchronized (eventStrings)
625 { 628 {
@@ -646,10 +649,13 @@ public final class EmacsWindow extends EmacsHandleObject
646 /* Compute the event's modifier mask. */ 649 /* Compute the event's modifier mask. */
647 state = eventModifiers (event); 650 state = eventModifiers (event);
648 651
649 /* Ignore meta-state understood by Emacs for now, or Ctrl+C will 652 /* Ignore meta-state understood by Emacs for now, or key presses
650 not be recognized as an ASCII key press event. */ 653 such as Ctrl+C and Meta+C will not be recognized as an ASCII
654 key press event. */
655
651 state_1 656 state_1
652 = state & ~(KeyEvent.META_ALT_MASK | KeyEvent.META_CTRL_MASK); 657 = state & ~(KeyEvent.META_ALT_MASK | KeyEvent.META_CTRL_MASK
658 | KeyEvent.META_SYM_ON | KeyEvent.META_META_MASK);
653 659
654 EmacsNative.sendKeyRelease (this.handle, 660 EmacsNative.sendKeyRelease (this.handle,
655 event.getEventTime (), 661 event.getEventTime (),