.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2020 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.KeyboardState: ========================================================================================================================================== |phoenix_title| **wx.KeyboardState** ========================================================================================================================================== Provides methods for testing the state of the keyboard modifier keys. This class is used as a base class of :ref:`wx.KeyEvent` and :ref:`wx.MouseState` and, hence, indirectly, of :ref:`wx.MouseEvent`, so its methods may be used to get information about the modifier keys which were pressed when the event occurred. This class is implemented entirely inline in <`/kbdstate.h` > and thus has no linking requirements. .. seealso:: :ref:`wx.KeyEvent`, :ref:`wx.MouseState` | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class KeyboardState:
| |sub_classes| Known Subclasses ============================== :ref:`wx.KeyEvent`, :ref:`wx.MouseState` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.KeyboardState.__init__` Constructor initializes the modifier key settings. :meth:`~wx.KeyboardState.AltDown` Returns ``True`` if the Alt key is pressed. :meth:`~wx.KeyboardState.CmdDown` Returns ``True`` if the key used for command accelerators is pressed. :meth:`~wx.KeyboardState.ControlDown` Returns ``True`` if the Control key or Apple/Command key under macOS is pressed. :meth:`~wx.KeyboardState.GetModifiers` Return the bit mask of all pressed modifier keys. :meth:`~wx.KeyboardState.HasAnyModifiers` Returns ``True`` if any modifiers at all are pressed. :meth:`~wx.KeyboardState.HasModifiers` Returns ``True`` if Control or Alt are pressed. :meth:`~wx.KeyboardState.MetaDown` Returns ``True`` if the Meta/Windows/Apple key is pressed. :meth:`~wx.KeyboardState.RawControlDown` Returns ``True`` if the Control key (also under macOS). :meth:`~wx.KeyboardState.SetAltDown` :meth:`~wx.KeyboardState.SetControlDown` :meth:`~wx.KeyboardState.SetMetaDown` :meth:`~wx.KeyboardState.SetRawControlDown` :meth:`~wx.KeyboardState.SetShiftDown` :meth:`~wx.KeyboardState.ShiftDown` Returns ``True`` if the Shift key is pressed. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~wx.KeyboardState.altDown` See :meth:`~wx.KeyboardState.AltDown` and :meth:`~wx.KeyboardState.SetAltDown` :attr:`~wx.KeyboardState.cmdDown` See :meth:`~wx.KeyboardState.CmdDown` :attr:`~wx.KeyboardState.controlDown` See :meth:`~wx.KeyboardState.ControlDown` and :meth:`~wx.KeyboardState.SetControlDown` :attr:`~wx.KeyboardState.metaDown` See :meth:`~wx.KeyboardState.MetaDown` and :meth:`~wx.KeyboardState.SetMetaDown` :attr:`~wx.KeyboardState.rawControlDown` See :meth:`~wx.KeyboardState.RawControlDown` and :meth:`~wx.KeyboardState.SetRawControlDown` :attr:`~wx.KeyboardState.shiftDown` See :meth:`~wx.KeyboardState.ShiftDown` and :meth:`~wx.KeyboardState.SetShiftDown` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.KeyboardState(object) **Possible constructors**:: KeyboardState(controlDown=False, shiftDown=False, altDown=False, metaDown=False) Provides methods for testing the state of the keyboard modifier keys. .. method:: __init__(self, controlDown=False, shiftDown=False, altDown=False, metaDown=False) Constructor initializes the modifier key settings. By default, no modifiers are active. :param `controlDown`: :type `controlDown`: bool :param `shiftDown`: :type `shiftDown`: bool :param `altDown`: :type `altDown`: bool :param `metaDown`: :type `metaDown`: bool .. method:: AltDown(self) Returns ``True`` if the Alt key is pressed. Notice that :meth:`GetModifiers` should usually be used instead of this one. :rtype: `bool` .. method:: CmdDown(self) Returns ``True`` if the key used for command accelerators is pressed. Same as :meth:`ControlDown` . Deprecated. Notice that :meth:`GetModifiers` should usually be used instead of this one. :rtype: `bool` .. method:: ControlDown(self) Returns ``True`` if the Control key or Apple/Command key under macOS is pressed. This function doesn't distinguish between right and left control keys. Notice that :meth:`GetModifiers` should usually be used instead of this one. :rtype: `bool` .. method:: GetModifiers(self) Return the bit mask of all pressed modifier keys. The return value is a combination of ``MOD_ALT`` , ``MOD_CONTROL`` , ``MOD_SHIFT`` and ``MOD_META`` bit masks. Additionally, ``MOD_NONE`` is defined as 0, i.e. corresponds to no modifiers (see :meth:`HasAnyModifiers` ) and ``MOD_CMD`` is either ``MOD_CONTROL`` (MSW and Unix) or ``MOD_META`` (Mac), see :meth:`CmdDown` . See :ref:`wx.KeyModifier` for the full list of modifiers. Notice that this function is easier to use correctly than, for example, :meth:`ControlDown` because when using the latter you also have to remember to test that none of the other modifiers is pressed: :: if ControlDown() and not AltDown() and not ShiftDown() and not MetaDown(): # handle Ctrl-XXX ... HandleControl() and forgetting to do it can result in serious program bugs (e.g. program not working with European keyboard layout where ``AltGr`` key which is seen by the program as combination of ``CTRL`` and ``ALT`` is used). On the other hand, you can simply write: :: if GetModifiers() == wx.MOD_CONTROL: # handle Ctrl-XXX ... HandleControl() with this function. :rtype: `int` .. method:: HasAnyModifiers(self) Returns ``True`` if any modifiers at all are pressed. This is equivalent to :meth:`GetModifiers` ``!=`` ``MOD_NONE`` . Notice that this is different from :meth:`HasModifiers` method which doesn't take e.g. Shift modifier into account. This method is most suitable for mouse events when any modifier, including Shift, can change the interpretation of the event. :rtype: `bool` .. versionadded:: 2.9.5 .. method:: HasModifiers(self) Returns ``True`` if Control or Alt are pressed. Checks if Control, Alt or, under macOS only, Command key are pressed (notice that the real Control key is still taken into account under OS X too). This method returns ``False`` if only Shift is pressed for compatibility reasons and also because pressing Shift usually doesn't change the interpretation of key events, see :meth:`HasAnyModifiers` if you want to take Shift into account as well. :rtype: `bool` .. method:: MetaDown(self) Returns ``True`` if the Meta/Windows/Apple key is pressed. This function tests the state of the key traditionally called Meta under Unix systems, Windows keys under MSW Notice that :meth:`GetModifiers` should usually be used instead of this one. :rtype: `bool` .. seealso:: :meth:`CmdDown` .. method:: RawControlDown(self) Returns ``True`` if the Control key (also under macOS). This function doesn't distinguish between right and left control keys. Notice that :meth:`GetModifiers` should usually be used instead of this one. :rtype: `bool` .. method:: SetAltDown(self, down) :param `down`: :type `down`: bool .. method:: SetControlDown(self, down) :param `down`: :type `down`: bool .. method:: SetMetaDown(self, down) :param `down`: :type `down`: bool .. method:: SetRawControlDown(self, down) :param `down`: :type `down`: bool .. method:: SetShiftDown(self, down) :param `down`: :type `down`: bool .. method:: ShiftDown(self) Returns ``True`` if the Shift key is pressed. This function doesn't distinguish between right and left shift keys. Notice that :meth:`GetModifiers` should usually be used instead of this one. :rtype: `bool` .. attribute:: altDown See :meth:`~wx.KeyboardState.AltDown` and :meth:`~wx.KeyboardState.SetAltDown` .. attribute:: cmdDown See :meth:`~wx.KeyboardState.CmdDown` .. attribute:: controlDown See :meth:`~wx.KeyboardState.ControlDown` and :meth:`~wx.KeyboardState.SetControlDown` .. attribute:: metaDown See :meth:`~wx.KeyboardState.MetaDown` and :meth:`~wx.KeyboardState.SetMetaDown` .. attribute:: rawControlDown See :meth:`~wx.KeyboardState.RawControlDown` and :meth:`~wx.KeyboardState.SetRawControlDown` .. attribute:: shiftDown See :meth:`~wx.KeyboardState.ShiftDown` and :meth:`~wx.KeyboardState.SetShiftDown`