code: def inputhook_wx2():
      
      try:
          app = wx.GetApp()  # @UndefinedVariable
          if app is not None:
              assert wx.Thread_IsMain()  # @UndefinedVariable
              elr = EventLoopRunner()
              # As this time is made shorter, keyboard response improves, but idle
              # CPU load goes up.  10 ms seems like a good compromise.
              elr.Run(time=10)  # CHANGE time here to control polling interval
      except KeyboardInterrupt:
          pass
      return 0
docs: Run the wx event loop, polling for stdin.
  
      This version runs the wx eventloop for an undetermined amount of time,
      during which it periodically checks to see if anything is ready on
      stdin.  If anything is ready on stdin, the event loop exits.
  
      The argument to elr.Run controls how often the event loop looks at stdin.
      This determines the responsiveness at the keyboard.  A setting of 1000
      enables a user to type at most 1 char per second.  I have found that a
      setting of 10 gives good keyboard response.  We can shorten it further,
      but eventually performance would suffer from calling select/kbhit too
      often.