Menggunakan versi terbaru xterm.js
4.2.0 saya ingin dapat mendeteksi peristiwa penting dan meneruskannya ke terminal, saya tidak dapat mendeteksi ketika ENTER
atau ALT
atau SHIFT
ditekan seperti dulu dengan versi lama 3.x.x
Mengapa Enter mengembalikan ""
?
Apa yang telah aku lakukan:
term.onKey(key => {
const char = key;
console.log(key);
console.log(char.key === "");
if (char === "") {
console.log("Enter pressed");
prompt();
} else {
term.write(char);
}
});
prompt = () => {
var shellprompt = "$ ";
term.write("\r\n" + shellprompt);
};
Saya adalah pengguna baru perpustakaan :)
@jerch @Tyriar @parisk
Di sana Anda akan menemukan itu sebenarnya \r
:
Itulah yang biasanya dikirim emulator terminal ke shell. Jika key
tidak memiliki apa yang Anda cari, kami juga mengekspos KeyboardEvent
secara langsung:
@Tyriar Anda luar biasa Anda tahu itu :)?
Saya akhirnya menggunakan KeyboardEvent => keyboardEvent.domEvent.key
Komentar yang paling membantu
Di sana Anda akan menemukan itu sebenarnya
\r
:Itulah yang biasanya dikirim emulator terminal ke shell. Jika
key
tidak memiliki apa yang Anda cari, kami juga mengeksposKeyboardEvent
secara langsung:https://github.com/xtermjs/xterm.js/blob/414eea2a2c4cde4c8fb72bb98cd48650bb89c927/typings/xterm.d.ts#L439 -L445