code: func MakeRaw(fd uintptr) (*State, error) {
  	state, err := SaveState(fd)
  	if err != nil {
  		return nil, err
  	}
  
  	mode := state.mode
  
  	// See
  	// -- https://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx
  	// -- https://msdn.microsoft.com/en-us/library/windows/desktop/ms683462(v=vs.85).aspx
  
  	// Disable these modes
  	mode &^= winterm.ENABLE_ECHO_INPUT
  	mode &^= winterm.ENABLE_LINE_INPUT
  	mode &^= winterm.ENABLE_MOUSE_INPUT
  	mode &^= winterm.ENABLE_WINDOW_INPUT
  	mode &^= winterm.ENABLE_PROCESSED_INPUT
  
  	// Enable these modes
  	mode |= winterm.ENABLE_EXTENDED_FLAGS
  	mode |= winterm.ENABLE_INSERT_MODE
  	mode |= winterm.ENABLE_QUICK_EDIT_MODE
  	if vtInputSupported {
  		mode |= winterm.ENABLE_VIRTUAL_TERMINAL_INPUT
  	}
  
  	err = winterm.SetConsoleMode(fd, mode)
  	if err != nil {
  		return nil, err
  	}
  	return state, nil
  }
docs: // MakeRaw puts the terminal (Windows Console) connected to the given file descriptor into raw
  // mode and returns the previous state of the terminal so that it can be restored.