   public let WINDOW_SHOWN: UInt32    = 4
   public let QUIT: UInt32            = 256
   public let WINDOWEVENT: UInt32     = 512
+  public let KEY_DOWN: UInt32        = 768
+  public let KEY_UP: UInt32          = 769
+  public let TEXTINPUT: UInt32       = 771
   public let MOUSEMOTION: UInt32     = 1024
   public let MOUSEBUTTONDOWN: UInt32 = 1025
   public let MOUSEBUTTONUP: UInt32   = 1026
   public let MOUSEWHEEL: UInt32      = 1027
-  public let TEXTINPUT: UInt32       = 771
 
   public let WINDOWEVENT_SHOWN: UInt8        = 1
   public let WINDOWEVENT_HIDDEN: UInt8       = 2

public enum SEventType {
  case TextInput
  case Quit
}



              done = true
            }
          }
        } else if ev.type == KEY_UP {
          signal(.KeyUp, ev: ev)
        } else if ev.type == KEY_DOWN {
          signal(.KeyDown, ev: ev)
        }
      }
      if invalidated {
