summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsView.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/org/gnu/emacs/EmacsView.java')
-rw-r--r--java/org/gnu/emacs/EmacsView.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java
index 5a4bcbaa005..04c3d824027 100644
--- a/java/org/gnu/emacs/EmacsView.java
+++ b/java/org/gnu/emacs/EmacsView.java
@@ -472,6 +472,26 @@ public final class EmacsView extends ViewGroup
@Override
public boolean
+ onKeyPreIme (int keyCode, KeyEvent event)
+ {
+ /* Several Android systems intercept key events representing
+ C-SPC. Avert this by detecting C-SPC events here and relaying
+ them directly to onKeyDown.
+
+ Make this optional though, since some input methods also
+ leverage C-SPC as a shortcut for switching languages. */
+
+ if ((keyCode == KeyEvent.KEYCODE_SPACE
+ && (window.eventModifiers (event)
+ & KeyEvent.META_CTRL_MASK) != 0)
+ && !EmacsNative.shouldForwardCtrlSpace ())
+ return onKeyDown (keyCode, event);
+
+ return super.onKeyPreIme (keyCode, event);
+ }
+
+ @Override
+ public boolean
onKeyDown (int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP