aboutsummaryrefslogtreecommitdiff
path: root/vterm.el
diff options
context:
space:
mode:
authorbit9tream <bit6tream@cock.li>2021-02-08 21:21:39 +0300
committerbit9tream <bit6tream@cock.li>2021-02-08 21:21:39 +0300
commitc95f103fa7e6a5db759c501f2935d8c2d21c3914 (patch)
treea79fecaff82ebff5283dac037f9d5ed0870f536d /vterm.el
parent7adecaa48c222f2567d503705547cf239e38fc4b (diff)
Fix issue #479
Make `vterm--self-insert` function send key that corresponds to current input method
Diffstat (limited to 'vterm.el')
-rw-r--r--vterm.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/vterm.el b/vterm.el
index a910f07..ab6352a 100644
--- a/vterm.el
+++ b/vterm.el
@@ -791,8 +791,13 @@ will invert `vterm-copy-exclude-prompt' for that call."
(let* ((modifiers (event-modifiers last-input-event))
(shift (memq 'shift modifiers))
(meta (memq 'meta modifiers))
- (ctrl (memq 'control modifiers)))
- (when-let ((key (key-description (vector (event-basic-type last-input-event)))))
+ (ctrl (memq 'control modifiers))
+ (raw-key (event-basic-type last-input-event))
+ (ev-key (if input-method-function
+ (let ((inhibit-read-only t))
+ (funcall input-method-function raw-key))
+ (vector raw-key))))
+ (when-let ((key (key-description ev-key)))
(vterm-send-key key shift meta ctrl)))))
(defun vterm-send-key (key &optional shift meta ctrl)