title: Python win32com SendKeys fail
body: <p>I've tried to do button press test and every time I do it, it fails somewhere. There is always place where there are two (or more) lower case letters next to one another or two upper case. Why is that?</p>
  
  <pre><code>import win32com.client
  
  shell = win32com.client.Dispatch("WScript.Shell")
  shell.Run("notepad")
  shell.AppActivate("Notepad")
  
  
  def a():
      shell.SendKeys("{a}", 0)
  
  
  def A():
      shell.SendKeys("{A}", 0)
  
  
  def b():
      shell.SendKeys("{b}", 0)
  
  
  def B():
      shell.SendKeys("{B}", 0)
  
  
  def c():
      shell.SendKeys("{c}", 0)
  
  
  def C():
      shell.SendKeys("{C}", 0)
  
  
  def d():
      shell.SendKeys("{d}", 0)
  
  
  def D():
      shell.SendKeys("{D}", 0)
  
  
  def e():
      shell.SendKeys("{e}", 0)
  
  
  def E():
      shell.SendKeys("{E}", 0)
  
  
  def f():
      shell.SendKeys("{f}", 0)
  
  
  def F():
      shell.SendKeys("{F}", 0)
  
  
  def g():
      shell.SendKeys("{g}", 0)
  
  
  def G():
      shell.SendKeys("{G}", 0)
  
  
  def h():
      shell.SendKeys("{h}", 0)
  
  
  def H():
      shell.SendKeys("{H}", 0)
  
  
  def i():
      shell.SendKeys("{i}", 0)
  
  
  def I():
      shell.SendKeys("{I}", 0)
  
  
  def j():
      shell.SendKeys("{j}", 0)
  
  
  def J():
      shell.SendKeys("{J}", 0)
  
  
  def k():
      shell.SendKeys("{k}", 0)
  
  
  def K():
      shell.SendKeys("{K}", 0)
  
  
  def l():
      shell.SendKeys("{l}", 0)
  
  
  def L():
      shell.SendKeys("{L}", 0)
  
  
  def m():
      shell.SendKeys("{m}", 0)
  
  
  def M():
      shell.SendKeys("{M}", 0)
  
  
  def n():
      shell.SendKeys("{n}", 0)
  
  
  def N():
      shell.SendKeys("{N}", 0)
  
  
  def o():
      shell.SendKeys("{o}", 0)
  
  
  def O():
      shell.SendKeys("{O}", 0)
  
  
  def p():
      shell.SendKeys("{p}", 0)
  
  
  def P():
      shell.SendKeys("{P}", 0)
  
  
  def q():
      shell.SendKeys("{q}", 0)
  
  
  def Q():
      shell.SendKeys("{Q}", 0)
  
  
  def r():
      shell.SendKeys("{r}", 0)
  
  
  def R():
      shell.SendKeys("{R}", 0)
  
  
  def s():
      shell.SendKeys("{s}", 0)
  
  
  def S():
      shell.SendKeys("{S}", 0)
  
  
  def t():
      shell.SendKeys("{t}", 0)
  
  
  def T():
      shell.SendKeys("{T}", 0)
  
  
  def u():
      shell.SendKeys("{u}", 0)
  
  
  def U():
      shell.SendKeys("{U}", 0)
  
  
  def w():
      shell.SendKeys("{w}", 0)
  
  
  def W():
      shell.SendKeys("{W}", 0)
  
  
  def x():
      shell.SendKeys("{x}", 0)
  
  
  def X():
      shell.SendKeys("{X}", 0)
  
  
  def y():
      shell.SendKeys("{y}", 0)
  
  
  def Y():
      shell.SendKeys("{Y}", 0)
  
  
  def z():
      shell.SendKeys("{z}", 0)
  
  
  def Z():
      shell.SendKeys("{Z}", 0)
  
  
  def enter():
      shell.SendKeys("{ENTER}", 0)
  
  a(), A(), b(), B(), c(), C(), d(), D(), e(), E(), f(), F(), g(), G(), h(), H(), i(), I(), j(), J(), k(), K(),
  l(), L(), m(), M(), n(), N(), o(), O(), p(), P(), q(), Q(), r(), R(), s(), S(), t(), T(), u(), U(), w(), W(),
  x(), X(), y(), Y(), z(), Z(), enter(),
  </code></pre>
  
  <p>Expected output: "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUwWxXyYzZ"</p>