title: XNA Keyboard.GetState().GetPressedKeys() returns "Kanji" as a default
body: <p>I am writing a simple utility class that converts XNA's <code>KeyboardState.Keys</code> enumeration into the corresponding char value so text can be typed in my game.</p>
  
  <p>As a test, I used the following code to ensure that <code>Keyboard.GetState().GetPressedKeys()</code> was correctly returning <code>Keys.None</code>, or an empty <code>Key[]</code>:</p>
  
  <pre><code>foreach (var item in Keyboard.GetState().GetPressedKeys())
      Console.WriteLine(item);
  </code></pre>
  
  <p>Unfortunately, this is not what happened. The default for my keyboard seems to be <code>Keys.Kanji</code> for some strange reason.</p>
  
  <p>I do have the default Microsoft Japanese keyboard/IME installed on this PC. However, I tried running it with and without it installed, and this does not seem to affect the problem at all.</p>
  
  <p><em>(Side note: <strong>Terraria</strong> is also written in XNA, and its keybindings also happen to suffer from this same issue.)</em></p>
  
  <hr>
  
  <p><strong>Edit</strong>:</p>
  
  <p>After testing with my PC, as well as two friends, it appears that on Windows 7, with a Japanese IME installed, XNA will erroneously(?) report the <code>Keys.Kanji</code> is being pressed at all times. It isn't a big deal since there is no change in state between <code>KeyboardState</code> objects, so it's workable. Weird!</p>
  
  <p>One friend had Windows 7 without a Japanese IME, another was using Windows 8 with an IME, and I was the only one who seems to have had a problem.</p>