.. 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: bool=False, shiftDown: bool=False, altDown:
bool=False, metaDown: bool=False) -> None
Provides methods for testing the state of the keyboard modifier keys.
.. method:: __init__(self, controlDown: bool=False, shiftDown: bool=False, altDown: bool=False, metaDown: bool=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
:rtype: `None`
.. 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 : bool)
:param `down`:
:type `down`: bool
:rtype: `None`
.. method:: SetControlDown(self, down : bool)
:param `down`:
:type `down`: bool
:rtype: `None`
.. method:: SetMetaDown(self, down : bool)
:param `down`:
:type `down`: bool
:rtype: `None`
.. method:: SetRawControlDown(self, down : bool)
:param `down`:
:type `down`: bool
:rtype: `None`
.. method:: SetShiftDown(self, down : bool)
:param `down`:
:type `down`: bool
:rtype: `None`
.. 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`