code: func keyToString(keyEvent *winterm.KEY_EVENT_RECORD, escapeSequence []byte) string {
  	if keyEvent.UnicodeChar == 0 {
  		return formatVirtualKey(keyEvent.VirtualKeyCode, keyEvent.ControlKeyState, escapeSequence)
  	}
  
  	_, alt, control := getControlKeys(keyEvent.ControlKeyState)
  	if control {
  		// TODO(azlinux): Implement following control sequences
  		// <Ctrl>-D  Signals the end of input from the keyboard; also exits current shell.
  		// <Ctrl>-H  Deletes the first character to the left of the cursor. Also called the ERASE key.
  		// <Ctrl>-Q  Restarts printing after it has been stopped with <Ctrl>-s.
  		// <Ctrl>-S  Suspends printing on the screen (does not stop the program).
  		// <Ctrl>-U  Deletes all characters on the current line. Also called the KILL key.
  		// <Ctrl>-E  Quits current command and creates a core
  
  	}
  
  	// <Alt>+Key generates ESC N Key
  	if !control && alt {
  		return ansiterm.KEY_ESC_N + strings.ToLower(string(keyEvent.UnicodeChar))
  	}
  
  	return string(keyEvent.UnicodeChar)
  }
docs: // keyToString maps the given input event record to the corresponding string.