باستخدام أحدث إصدار من xterm.js
4.2.0 أريد أن أكون قادرًا على اكتشاف الأحداث الرئيسية وتمريرها على الجهاز ، لا يمكنني اكتشاف ما إذا كان ENTER
أو ALT
أو يتم الضغط على SHIFT
كما اعتدت مع الإصدار الأقدم 3.x.x
لماذا يقوم Enter بإرجاع ""
؟
ما الذي فعلته:
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);
};
انا مستخدم جديد للمكتبة :)
jerchTyriarparisk
هناك ستجد أنه في الواقع \r
:
هذا هو ما يرسله المحاكي الطرفي عادةً إلى shell. إذا لم يكن لدى key
ما أنت عليه بعد ، فإننا نكشف أيضًا عن KeyboardEvent
مباشرةً:
Tyriar أنت مدهش هل تعلم أن :)؟
انتهى بي الأمر باستخدام KeyboardEvent => keyboardEvent.domEvent.key
التعليق الأكثر فائدة
هناك ستجد أنه في الواقع
\r
:هذا هو ما يرسله المحاكي الطرفي عادةً إلى shell. إذا لم يكن لدى
key
ما أنت عليه بعد ، فإننا نكشف أيضًا عنKeyboardEvent
مباشرةً:https://github.com/xtermjs/xterm.js/blob/414eea2a2c4cde4c8fb72bb98cd48650bb89c927/typings/xterm.d.ts#L439 -L445