<p>Is it possible to provide Unicode input to a console app, and read the Unicode char/string via Console.ReadKey()?</p>

<p>I know Unicode works when reading the input via other methods, but unfortunately I need to use the 'interception' feature provided by ReadKey.</p>

<p>Update:</p>

<p>When pasting a Unicode character such as U+03BB (λ) into the console, 3 keys are read.</p>

<ol>
<li>Alt + NumPad1</li>
<li>Alt + NumPad1</li>
<li>Alt + NumPad8</li>
</ol>

<p>I have tried to see if this is some kind of encoding, but can not see anything.</p>

The ConsoleKeyInfo object returned by Console.ReadKey() has a property called KeyChar containing the Unicode char of the pressed key or key combination (if the key or key combination has a Unicode equivalent). So...
```
```
char c = Console.ReadKey().KeyChar;
```
```
You'll get a '\0' char if the key doesn't have a Unicode equivalent (for example, a function key).
You can use a StringBuilder to concatenate these chars together into a Unicode string if necessary.