Improve touch screen and text conversion behavior of many commands

* doc/lispref/commands.texi (Key Sequence Input): Document new
argument to `read-key-sequence' etc.
* lisp/help-macro.el (make-help-screen):
* lisp/subr.el (read-key, read-char-choice-with-read-key):
Disable text conversion and display the OSK before reading a key
sequence.
* lisp/touch-screen.el (touch-screen-window-selection-changed):
Only cancel the minibuffer OSK timer.
(touch-screen-handle-point-up): Update comment accordingly.
* src/keyboard.c (command_loop_1, read_menu_command)
(read_key_sequence, read_key_sequence_vs, Fread_key_sequence)
(Fread_key_sequence_vector): New arg DISABLE_TEXT_CONVERSION.
All callers changed.
This commit is contained in:
Po Lu 2023-07-21 21:23:35 +08:00
parent 2df3f89014
commit ae174f266d
6 changed files with 84 additions and 34 deletions

View file

@ -166,6 +166,7 @@ and then returns."
(error nil))
(let ((cursor-in-echo-area t)
(overriding-local-map local-map))
(frame-toggle-on-screen-keyboard nil nil)
(setq key (read-key-sequence
(format "Type one of listed options%s: "
(if (pos-visible-in-window-p
@ -179,7 +180,13 @@ and then returns."
(help--key-description-fontified (kbd "SPC"))
"/"
(help--key-description-fontified (kbd "DEL"))
" to scroll"))))
" to scroll")))
nil nil nil nil
;; Disable ``text conversion''. OS
;; input methods might otherwise chose
;; to insert user input directly into
;; a buffer.
t)
char (aref key 0)))
;; If this is a scroll bar command, just run it.