title: GetKeyboardLayout returns strange layout
body: <p>GetKeyboardLayout(0) seems to have decided my thread is using some kind of mixture of <code>LANG_GERMAN</code>, <code>SUBLANG_GERMAN</code>, <code>LANG_ENGLISH</code> and <code>SUBLANG_ENGLISH_US</code>. I've tried putting this in a new project, but the problem persists... Here's the code I've used to test it.</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;Windows.h&gt;
  #include &lt;kbd.h&gt;
  
  int main(int argc, char* argv[])
  {
      std::cout &lt;&lt; "Keyboard Layout ID: " &lt;&lt; GetKeyboardLayout(0) &lt;&lt; "\n";
      std::cin.ignore(100, '\n');
      return 0;
  }
  </code></pre>
  
  <p>That keeps returning <code>04070409</code> though which I don't think should be possible. (Or is it? If yes how would I construct this with <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd373908%28v=vs.85%29.aspx" rel="nofollow"><code>MAKELANGID</code></a>?) This maps to the mixture of languages above according to <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd318693%28v=vs.85%29.aspx" rel="nofollow">msdn</a>. I've tried using <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms646305%28v=vs.85%29.aspx" rel="nofollow"><code>LoadKeyboardLayout</code></a> with <code>MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN)</code> but I just get a standard <code>LANG_ENGLISH, SUBLANG_ENGLISH</code> (04090409) layout. Have I just read the docs wrong and messed up something, or what's happening here? I'm out of ideas...</p>