I've been working on an extended version of Material UI's Autocomplete where I am implementing a feature that allows the user to move the option to the input via keyboard events (Arrow key up + down). The user should then be allowed to select one of the options via the `ENTER` key.

For some reason, the `onChange` event is not triggered and I am kind of puzzled to understand why this happens.

```
export default function Autocompleter() {
  const [input, setInput] = React.useState(null);

  const handleInputChange = (event, option, reason) => {
    console.log('On input change triggered');
  };

  const handleOnChange = (event, value, reason) => {
    console.log('On change triggered! ');
  };

  const handleHighlightChange = (event, option, reason) => {
    if (option && reason === 'keyboard') {
      setInput(option);
    }
  };

  const handleFilterOptions = (currentOptions) => currentOptions;

  const handleGetOptionsLabel = (option) => {
    return option.label;
  };

  return (
    <Autocomplete
      id="combo-box-demo"
      freeSolo={true}
      value={input}
      onChange={handleOnChange}
      onInputChange={handleInputChange}
      options={top100Films}
      isOptionEqualToValue={(option, value) => option.label === value.label}
      includeInputInList={true}
      onHighlightChange={handleHighlightChange}
      getOptionLabel={handleGetOptionsLabel}
      filterOptions={handleFilterOptions}
      style={{ width: 300 }}
      renderInput={(params) => (
        <TextField {...params} label="Combo box" variant="outlined" />
      )}
    />
  );
}

```

Here is also a working example:

<https://stackblitz.com/edit/react-ts-rsodyc?file=index.tsx,App.tsx,Autocompleter.tsx>

**NOTE:** This is a light example of my original code, but it should be enough to address the issue.

There are a few things I tried such as using `inputValue` in combination with the `onHighlightChange` but this does not seem to work either.

`includeInputInList` seemed to be the solution according to the doc, but it does nothing? Does anyone understand what it is supposed to do and is it helpful in my case?

**UPDATE:**

Updating the `input` state in `onHighlightChange` breaks the `onChange`. Unfortunately, I do want to update the `input` every time the user highlights an option via keyboard events.

Thank you for any kind of help and idea