1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

Update Android port

* doc/lispref/commands.texi (Key Sequence Input): Describe which
events receive imaginary prefix keys.
* lisp/touch-screen.el (touch-screen-translate-touch): Consider
`vertical-line' a virtual function key.
(function-key-map): Translate events on vertical window borders.
This commit is contained in:
Po Lu 2023-07-22 10:45:36 +08:00
parent 3a9fca84f2
commit c81bd0f60b
2 changed files with 21 additions and 14 deletions

View file

@ -3275,20 +3275,21 @@ with any other events.
@cindex @code{bottom-divider}, prefix key @cindex @code{bottom-divider}, prefix key
@cindex mouse events, in special parts of window or frame @cindex mouse events, in special parts of window or frame
@cindex touch screen events, in special parts of window or frame @cindex touch screen events, in special parts of window or frame
When mouse or @code{touch-screen-begin} events occur in special parts When mouse or @code{touchscreen-begin} and @code{touchscreen-end}
of a window or frame, such as a mode line or a scroll bar, the event events occur in special parts of a window or frame, such as a mode
type shows nothing special---it is the same symbol that would normally line or a scroll bar, the event type shows nothing special---it is the
represent that combination of mouse button and modifier keys. The same symbol that would normally represent that combination of mouse
information about the window part is kept elsewhere in the event---in button and modifier keys. The information about the window part is
the coordinates. But @code{read-key-sequence} translates this kept elsewhere in the event---in the coordinates. But
information into imaginary prefix keys, all of which are symbols: @code{read-key-sequence} translates this information into imaginary
@code{tab-line}, @code{header-line}, @code{horizontal-scroll-bar}, prefix keys, all of which are symbols: @code{tab-line},
@code{menu-bar}, @code{tab-bar}, @code{mode-line}, @code{header-line}, @code{horizontal-scroll-bar}, @code{menu-bar},
@code{vertical-line}, @code{vertical-scroll-bar}, @code{left-margin}, @code{tab-bar}, @code{mode-line}, @code{vertical-line},
@code{right-margin}, @code{left-fringe}, @code{right-fringe}, @code{vertical-scroll-bar}, @code{left-margin}, @code{right-margin},
@code{right-divider}, and @code{bottom-divider}. You can define @code{left-fringe}, @code{right-fringe}, @code{right-divider}, and
meanings for mouse clicks in special window parts by defining key @code{bottom-divider}. You can define meanings for mouse clicks in
sequences using these imaginary prefix keys. special window parts by defining key sequences using these imaginary
prefix keys.
For example, if you call @code{read-key-sequence} and then click the For example, if you call @code{read-key-sequence} and then click the
mouse on the window's mode line, you get two events, like this: mouse on the window's mode line, you get two events, like this:

View file

@ -1287,6 +1287,7 @@ if POSN is on a link or a button, or `mouse-1' otherwise."
;; If event1 is a virtual function key, make ;; If event1 is a virtual function key, make
;; it the new prefix. ;; it the new prefix.
(if (memq event1 '(mode-line tab-line nil (if (memq event1 '(mode-line tab-line nil
vertical-line
header-line tool-bar tab-bar header-line tool-bar tab-bar
left-fringe right-fringe left-fringe right-fringe
left-margin right-margin left-margin right-margin
@ -1397,6 +1398,11 @@ if POSN is on a link or a button, or `mouse-1' otherwise."
(define-key function-key-map [tab-line touchscreen-end] (define-key function-key-map [tab-line touchscreen-end]
#'touch-screen-translate-touch) #'touch-screen-translate-touch)
(define-key function-key-map [vertical-line touchscreen-begin]
#'touch-screen-translate-touch)
(define-key function-key-map [vertical-line touchscreen-end]
#'touch-screen-translate-touch)
(define-key function-key-map [nil touchscreen-begin] (define-key function-key-map [nil touchscreen-begin]
#'touch-screen-translate-touch) #'touch-screen-translate-touch)
(define-key function-key-map [nil touchscreen-end] (define-key function-key-map [nil touchscreen-end]