diff options
| author | jixiuf <jixiuf@qq.com> | 2019-08-01 23:13:50 +0800 |
|---|---|---|
| committer | jixiuf <jixiuf@qq.com> | 2019-08-01 23:20:18 +0800 |
| commit | 26b6aba78469147c5a75ab9ad94e17305f24e76c (patch) | |
| tree | 48cf74b2192a99d63cafe83535c53a8eb2943ed7 | |
| parent | d0225168a726144e699f6b049e98e167daf0705f (diff) | |
replace `ctrl-s` and `ctrl-q` with tcflow(term->pty_fd,TCOON/TCOOFF);
| -rw-r--r-- | vterm-module.c | 4 | ||||
| -rw-r--r-- | vterm.el | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/vterm-module.c b/vterm-module.c index edf8237..6ad3a6f 100644 --- a/vterm-module.c +++ b/vterm-module.c @@ -540,6 +540,10 @@ static void term_process_key(Term *term, unsigned char *key, size_t len, } else { vterm_keyboard_key(term->vt, VTERM_KEY_ENTER, modifier); } + } else if (is_key(key, len, "<start>")) { + tcflow(term->pty_fd, TCOON); + } else if (is_key(key, len, "<stop>")) { + tcflow(term->pty_fd, TCOOFF); } else if (is_key(key, len, "<start_paste>")) { vterm_keyboard_start_paste(term->vt); } else if (is_key(key, len, "<end_paste>")) { @@ -288,9 +288,9 @@ If nil, never delay") (if vterm-copy-mode (progn ;enable vterm-copy-mode (use-local-map nil) - (vterm-send-key "s" nil nil t)) + (vterm-send-stop)) (use-local-map vterm-mode-map) - (vterm-send-key "q" nil nil t))) + (vterm-send-start))) (defun vterm--self-insert () "Sends invoking key to libvterm." @@ -312,6 +312,17 @@ If nil, never delay") (setq key (upcase key))) (vterm--update vterm--term key shift meta ctrl)))) +(defun vterm-send-start () + "Output from the system is started when the system receives START." + (interactive) + (vterm-send-key "<start>")) + +(defun vterm-send-stop () + "Output from the system is stopped when the system receives STOP." + (interactive) + (vterm-send-key "<stop>")) + + (defun vterm-send-ctrl-c () "Sends `C-c' to the libvterm." (interactive) |
