/*
* term.js
* Author: Jack
* Date: 2021-11-27
* Last revised: 2021-11-27
* Description: jQuery for term sim
*/
$(document).ready(function() {
let displayStr=[]; // buffer for terminal window
// keydown event listener
$(document).on("keydown", function(e) {
switch (e.keyCode) {
case 8: // backspace
displayStr = displayStr.slice(0,-1); // delete last char
break;
case 9: // tab (ignore)
break;
case 13: // enter
displayStr += "<br>$> "
case 16: // shift (ignore)
case 17: // ctrl (ignore)
case 18: // alt (ignore)
case 20: // caps lock (ignore)
case 91: // meta (ignore -- e.preventDefault() doesn't work)
e.preventDefault();
break;
case 32: // space
displayStr += " ";
break;
case 67: // ctrl + c (clear the display)
if (e.ctrlKey) {
displayStr = "";
} else {
displayStr += e.key;
}
break;
default:
displayStr += e.key;
}
// update the display with each keystroke
$("#term-inner").html(displayStr + "")
});
// also clears the display
$("#notice").on("click", () => {
$("#term-inner").html("")
})
});