title: SendInput() isn't "sending" the correct shifted characters?
body: <pre><code>void WriteChar(char c)
  {
      INPUT input = {0};
      input.type = INPUT_KEYBOARD;
      input.ki.wVk= VkKeyScanEx(c, GetKeyboardLayout(0) ) ;   
      SendInput(1,&amp;input, sizeof(INPUT));
  }
  </code></pre>
  
  <p>VkKeyScanEx returns different key codes for '/' and '?'(same key), however if you try using this method to write a message containing '?', it will only write '/'. I don't know what's going on. Same thing occurs with ';' and ':'.</p>
  
  <p>I partly don't understand key codes and scan codes. Most characters have a virtual key code, however I can't find something similar for question marks. They must exist, but aren't listed?</p>