Terminal Simulator

jQuery Code


    /*
     *    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("
") }) });