diff options
| author | Po Lu <luangruo@yahoo.com> | 2024-04-27 10:47:12 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2024-04-27 10:47:12 +0800 |
| commit | db8f7ed7f652c114e606de423e5094b4cefe49e2 (patch) | |
| tree | 2ba2fd002786db7599f9efac0c8965b13f0c54e2 /java/org/gnu/emacs/EmacsWindow.java | |
| parent | 763eaa5a324ff51dddad32d725ec8d416597d6d5 (diff) | |
Enable customization of the quit key on Android
* doc/emacs/android.texi (Android Windowing):
* doc/emacs/input.texi (On-Screen Keyboards): Document various
tidbits related to the quit key.
* java/org/gnu/emacs/EmacsNative.java (getQuitKeycode): New
function.
* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Rename
`lastVolumeButtonRelease' to `lastQuitKeyRelease'.
(onKeyUp): Treat value returned by getQuitKeycode as the quit
key rather than mandate KEYCODE_VOLUME_DOWN.
* src/android.c (getQuitKeycode): Implement new function.
* src/androidterm.c (syms_of_androidterm)
<android_quit_keycode>: New variable.
Diffstat (limited to 'java/org/gnu/emacs/EmacsWindow.java')
| -rw-r--r-- | java/org/gnu/emacs/EmacsWindow.java | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/java/org/gnu/emacs/EmacsWindow.java b/java/org/gnu/emacs/EmacsWindow.java index 911e082144e..961292af527 100644 --- a/java/org/gnu/emacs/EmacsWindow.java +++ b/java/org/gnu/emacs/EmacsWindow.java @@ -136,10 +136,10 @@ public final class EmacsWindow extends EmacsHandleObject there is no such window manager. */ private WindowManager windowManager; - /* The time of the last KEYCODE_VOLUME_DOWN release. This is used - to quit Emacs upon two rapid clicks of the volume down - button. */ - private long lastVolumeButtonRelease; + /* The time of the last release of the quit keycode, generally + KEYCODE_VOLUME_DOWN. This is used to signal quit upon two rapid + presses of such key. */ + private long lastQuitKeyRelease; /* Linked list of character strings which were recently sent as events. */ @@ -790,15 +790,12 @@ public final class EmacsWindow extends EmacsHandleObject if ((event.getFlags () & KeyEvent.FLAG_CANCELED) != 0) return; - - EmacsNative.sendKeyPress (this.handle, event.getEventTime (), - state, keyCode, unicode_char); } EmacsNative.sendKeyRelease (this.handle, event.getEventTime (), state, keyCode, unicode_char); - if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) + if (keyCode == EmacsNative.getQuitKeycode ()) { /* Check if this volume down press should quit Emacs. Most Android devices have no physical keyboard, so it @@ -806,10 +803,10 @@ public final class EmacsWindow extends EmacsHandleObject time = event.getEventTime (); - if (time - lastVolumeButtonRelease < 350) + if (time - lastQuitKeyRelease < 350) EmacsNative.quit (); - lastVolumeButtonRelease = time; + lastQuitKeyRelease = time; } } |
