◆ 隠しコマンドを簡単に作れる関数です
◆ keyCode と ASCII での比較なので半角文字だけです(↑↑↓↓← {略}は一応できる)
◆ キーが入力されたらコールバック関数が呼び出される仕様です

なんとなーくで 隠しコマンドをサポートする関数を作りました

DOM の要素とコマンドのキーワードリストとコールバック関数を渡すと コマンドが正しく入力されると 入力したコマンドを引数にコールバック関数が呼び出されるものです

指定された要素で keydown イベントを監視しています

間違えると入力不可能状態になります
Escape キーでリセット BackSpace キーで一文字戻れます
ただ BackSpace を押すと場所によってはブラウザのページバックになるので input 以外のところで設定すると BackSpace は使えないです
function hiddenCommand(elem, keywords, cb){
  keywords = keywords.map(e => e.toUpperCase())
  var log = [keywords]
  var filtered = keywords
  var n = 0
  elem.addEventListener("keyup", eve => {
  switch(eve.keyCode){
  case 8: // backspace
  n && n-- && (filtered = log.pop())
  return
  case 27: // escape
  reset()
  return
  default:
  filtered = filtered.filter(e => e.charCodeAt(n) === eve.keyCode)
  if(filtered.length === 0){
  n = NaN
  return
  }
  n++
  var match = filtered.filter(e => e.length === n)
  if(match.length){
  cb(match.shift())
  reset()
  return
  }else{
  log.push(filtered)
  }
  }
  }, true)
  function reset(){
  filtered = keywords
  log = [keywords]
  n = 0
  }
}

hiddenCommand(window, ["abc", "def", "&&((%'%'"], e => console.log(e))
["abc" と入力]
ABC

["ab"(Escape)"def" と入力]
DEF

["aabc" と入力]

[↑↑↓↓←→←→ と入力]
&&((%'%

判定はキーコードとASCIIコードでやってるので 数字や半角文字はできますが 記号などが入ってくるとずれてきます

有名な ↑↑↓↓←←→→ を登録したいときは &&((%'%' と言う文字列を登録すれば反応してくれます