+        """
+        return _core_.KeyEvent_GetModifiers(*args, **kwargs)
+
+    def ControlDown(*args, **kwargs):
+        """
+        ControlDown(self) -> bool
+
+        Returns ``True`` if the Control key was down at the time of the event.
+        """
+        return _core_.KeyEvent_ControlDown(*args, **kwargs)
+
+    def MetaDown(*args, **kwargs):
+        """
+        MetaDown(self) -> bool
+
+        Returns ``True`` if the Meta key was down at the time of the event.
+        """
+        return _core_.KeyEvent_MetaDown(*args, **kwargs)
+
+    def AltDown(*args, **kwargs):
+        """
+        AltDown(self) -> bool
+
+        Returns ``True`` if the Alt key was down at the time of the event.
+        """
+        return _core_.KeyEvent_AltDown(*args, **kwargs)
+
+    def ShiftDown(*args, **kwargs):
+        """
+        ShiftDown(self) -> bool
+
+        Returns ``True`` if the Shift key was down at the time of the event.
+        """
+        return _core_.KeyEvent_ShiftDown(*args, **kwargs)
+
+    def CmdDown(*args, **kwargs):
+        """
+        CmdDown(self) -> bool
+
+        "Cmd" is a pseudo key which is the same as Control for PC and Unix
+        platforms but the special "Apple" (a.k.a as "Command") key on
+        Macs. It makes often sense to use it instead of, say, `ControlDown`
+        because Cmd key is used for the same thing under Mac as Ctrl
+        elsewhere. The Ctrl still exists, it's just not used for this
+        purpose. So for non-Mac platforms this is the same as `ControlDown`
+        and Macs this is the same as `MetaDown`.
+        """
+        return _core_.KeyEvent_CmdDown(*args, **kwargs)
+
+    def HasModifiers(*args, **kwargs):
+        """
+        HasModifiers(self) -> bool
+
+        Returns true if either CTRL or ALT keys was down at the time of the
+        key event. Note that this function does not take into account neither
+        SHIFT nor META key states (the reason for ignoring the latter is that
+        it is common for NUMLOCK key to be configured as META under X but the
+        key presses even while NUMLOCK is on should be still processed
+        normally).
+        """
+        return _core_.KeyEvent_HasModifiers(*args, **kwargs)
+
+    def GetKeyCode(*args, **kwargs):
+        """
+        GetKeyCode(self) -> int
+
+        Returns the virtual key code. ASCII events return normal ASCII values,
+        while non-ASCII events return values such as WXK_LEFT for the left
+        cursor key. See `wx.KeyEvent` for a full list of the virtual key
+        codes.
+
+        Note that in Unicode build, the returned value is meaningful only if
+        the user entered a character that can be represented in current
+        locale's default charset. You can obtain the corresponding Unicode
+        character using `GetUnicodeKey`.
+        """
+        return _core_.KeyEvent_GetKeyCode(*args, **kwargs)
+
+    KeyCode = GetKeyCode 
+    def GetUnicodeKey(*args, **kwargs):
+        """
+        GetUnicodeKey(self) -> int
+
+        Returns the Unicode character corresponding to this key event.  This
+        function is only meaningfule in a Unicode build of wxPython.
+        """
+        return _core_.KeyEvent_GetUnicodeKey(*args, **kwargs)
+
+    GetUniChar = GetUnicodeKey 
+    def GetRawKeyCode(*args, **kwargs):
+        """
+        GetRawKeyCode(self) -> unsigned int
+
+        Returns the raw key code for this event. This is a platform-dependent
+        scan code which should only be used in advanced
+        applications. Currently the raw key codes are not supported by all
+        ports.
+        """
+        return _core_.KeyEvent_GetRawKeyCode(*args, **kwargs)
+
+    def GetRawKeyFlags(*args, **kwargs):
+        """
+        GetRawKeyFlags(self) -> unsigned int
+
+        Returns the low level key flags for this event. The flags are
+        platform-dependent and should only be used in advanced applications.
+        Currently the raw key flags are not supported by all ports.
+        """
+        return _core_.KeyEvent_GetRawKeyFlags(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """
+        GetPosition(self) -> Point
+
+        Find the position of the event, if applicable.
+        """
+        return _core_.KeyEvent_GetPosition(*args, **kwargs)
+
+    def GetPositionTuple(*args, **kwargs):
+        """
+        GetPositionTuple() -> (x,y)
+
+        Find the position of the event, if applicable.
+        """
+        return _core_.KeyEvent_GetPositionTuple(*args, **kwargs)
+
+    def GetX(*args, **kwargs):
+        """
+        GetX(self) -> int
+
+        Returns the X position (in client coordinates) of the event, if
+        applicable.
+        """
+        return _core_.KeyEvent_GetX(*args, **kwargs)
+
+    def GetY(*args, **kwargs):
+        """
+        GetY(self) -> int
+
+        Returns the Y position (in client coordinates) of the event, if
+        applicable.
+        """
+        return _core_.KeyEvent_GetY(*args, **kwargs)
+
+    m_x = property(_core_.KeyEvent_m_x_get, _core_.KeyEvent_m_x_set)