KeyCode and ? (question mark keyboard)

In reference to the unity documentation: http://unity3d.com/support/documentation/ScriptReference/KeyCode.html

If I understand this right, I should be able to use KeyCode.Question similarly to the code they show on the Input.GetKeyDown doc page.

This is what my code looks like

  void Update()
  {
    if (Input.GetKeyDown(KeyCode.Question))
      print("Question key was pressed");
    else if (Input.anyKeyDown)
      Debug.Log("Keyboard Down Key is '" + Input.inputString + "'");
  }

But the output is always the anyKeyDown output, showing whatever key I pressed, like this:

Keyboard Down Key is ''
Keyboard Down Key is '?'
Keyboard Down Key is 'a'
Keyboard Down Key is 's'
Keyboard Down Key is 'd'
Keyboard Down Key is '?'

Any ideas?

You’re using print and Debug.Log. Try using Debug.Log for both. Do you need the else? because I’ve occasionally seen (what must be a Unity bug) where logic like this, esp Input, can cause oddness.

Also the keyboard handling has many bugs, see this: Mac Keys not showing up, or very strangely... - Questions & Answers - Unity Discussions