%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/libevdev/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/libevdev/__pycache__/const.cpython-312.pyc

�

�o�Z�,����ddlZddlmZddlmZddlZeGd�d��ZGd�de�ZGd	�d
e�ZGd�de�Z	dd
�Z
d�Zd�Zejjd�se�yy)�N)�total_ordering�)�Libevdevc�"�eZdZdZd�Zd�Zd�Zy)�EvdevBita�
    Base class representing an evdev bit, comprised of a name and a value.
    These two properties are guaranteed to exist on anything describing an
    event code, event type or input property that comes out of libevdev::

        >>> print(libevdev.EV_ABS.name)
        EV_ABS
        >>> print(libevdev.EV_ABS.value)
        3
        >>> print(libevdev.EV_SYN.SYN_REPORT.name)
        SYN_REPORT
        >>> print(libevdev.EV_SYN.SYN_REPORT.value)
        0
        >>> print(libevdev.INPUT_PROP_DIRECT.name)
        INPUT_PROP_DIRECT
        >>> print(libevdev.INPUT_PROP_DIRECT.value)
        1

    .. attribute:: value

        The numeric value of the event code

    .. attribute:: name

        The string name of this event code
    c�N�dj|j|j�S)Nz{}:{})�format�name�value)�selfs �0/usr/lib/python3/dist-packages/libevdev/const.py�__repr__zEvdevBit.__repr__;s���~�~�d�i�i����4�4�c�4�|j|jk(S�N�r�r�others  r
�__eq__zEvdevBit.__eq__>s���z�z�U�[�[�(�(rc�4�|j|jkSrrrs  r
�__lt__zEvdevBit.__lt__As���z�z�E�K�K�'�'rN)�__name__�
__module__�__qualname__�__doc__rrr�rr
rrs���65�)�(rrc�.�eZdZdZej
Zd�Zy)�	EventCodea,
    .. warning ::

        Do not instantiate an object of this class, all objects you'll ever need
        are already present in the libevdev namespace. Use :func:`evbit()`
        to get an :class:`EventCode` from numerical or string values.

    A class representing an evdev event code, e.g. libevdev.EV_ABS.ABS_X.
    To use a :class:`EventCode`, use the namespaced name directly::

        >>> print(libevdev.EV_ABS.ABS_X)
        ABS_X:0
        >>> print(libevdev.EV_ABS.ABS_Y)
        ABS_X:1
        >>> code = libevdev.EV_REL.REL_X
        >>> print(code.type)
        EV_REL:2

    .. attribute:: value

        The numeric value of the event code

    .. attribute:: name

        The string name of this event code

    .. attribute:: type

        The :class:`EventType` for this event code
    c��t|t�sy|j|jk(xr|j|jk(S)NF)�
isinstancerr�typers  r
rzEventCode.__eq__fs4���%��+���z�z�U�[�[�(�D�T�Y�Y�%�*�*�-D�DrN�rrrr�super�__hash__rrrr
rrEs���<�~�~�H�Errc�.�eZdZdZej
Zd�Zy)�	EventTypea
    .. warning ::

        Do not instantiate an object of this class, all objects you'll ever need
        are already present in the libevdev namespace. Use :func:`evbit()`
        to get an :class:`EventType` from numerical or string values.

    A class represending an evdev event type (e.g. EV_ABS). All event codes
    within this type are available as class constants::

        >>> print(libevdev.EV_ABS)
        EV_ABS:3
        >>> print(libevdev.EV_ABS.ABS_X)
        ABS_X:0
        >>> print(libevdev.EV_ABS.max)
        63
        >>> print(libevdev.EV_ABS.ABS_MAX)
        63
        >>> for code in libevdev.EV_ABS.codes[:3]:
        ...     print(code)
        ...
        ABS_X:0
        ABS_Y:1
        ABS_Z:2

    .. attribute:: value

        The numeric value of the event type

    .. attribute:: name

        The string name of this event type

    .. attribute:: codes

        A list of :class:`EventCode` objects for this type

    .. attribute:: max

        The maximum event code permitted in this type as integer
    c�X�t|t�sJ�|j|jk(Sr)r r&rrs  r
rzEventType.__eq__�s%���%��+�+�+��z�z�U�[�[�(�(rNr"rrr
r&r&ms��(�R�~�~�H�)rr&c�.�eZdZdZej
Zd�Zy)�
InputPropertya
    .. warning ::

        Do not instantiate an object of this class, all objects you'll ever need
        are already present in the libevdev namespace. Use :func:`propbit()`
        to get an :class:`InputProperty` from numerical or string values.

    A class representing an evdev input property::

        >>> print(libevdev.INPUT_PROP_DIRECT)
        INPUT_PROP_DIRECT:1


    .. attribute:: value

        The numeric value of the property

    .. attribute:: name

        The string name of this property
    c�X�t|t�sJ�|j|jk(Sr)r r)rrs  r
rzInputProperty.__eq__�s%���%��/�/�/��z�z�U�[�[�(�(rNr"rrr
r)r)�s���*�~�~�H�)rr)c��d}tjD]$}|j|k(s|j|k(s�"|}n|�\t	|t
�rL|j
d�s;tjD](}|jD]}|j|k(s�|ccS�*|�|�|Sd}|jD]#}|j|k(s|j|k(s�"|}�%|S)a�
    Takes an event type and an (optional) event code and returns the Enum
    representing that type or code, whichever applies. For example::

        >>> print(libevdev.evbit(0))
        EV_SYN:0

        >>> print(libevdev.evbit(2))
        EV_REL:2

        >>> print(libevdev.evbit(2, 1))
        REL_Y:1

        >>> print(libevdev.evbit(3, 4))
        ABS_RY:4

        >>> print(libevdev.evbit('EV_ABS'))
        EV_ABS:3

        >>> print(libevdev.evbit('EV_ABS', 'ABS_X'))
        ABS_X:0

    A special case is the lookup of an string-based event code without
    the type. Where the string identifier is unique, this will return the
    right value.

        >>> print(libevdev.evbit('ABS_X'))
        ABS_X:0

    The return value can be used in the libevdev API wherever an
    :class:`EventCode` or :class:`EventType` is expected.

    Notable behavior for invalid types or names:

    * If the type does not exist, this function returns None
    * If the type exists but the event code's numeric value does not have a
      symbolic name (and is within the allowed max of the type), this
      function returns a valid event code
    * If the code is outside the allowed maximum for the given type, this
      function returns None
    * If the type name exists but the string value is not a code name, this
      function returns None

    Examples for the above behaviour::

        >>> print(libevdev.evbit(8))
        None
        >>> print(libevdev.evbit('INVALID'))
        None
        >>> print(libevdev.evbit('EV_ABS', 62))
        ABS_3E:62
        >>> print(libevdev.evbit('EV_ABS', 5000))
        None
        >>> print(libevdev.evbit('EV_ABS', 'INVALID'))
        None

    :param evtype: the numeric value or string identifying the event type
    :param evcode: the numeric value or string identifying the event code
    :return: An event code value representing the code
    :rtype: EventCode or EventType
    N�EV_)�libevdev�typesrr
r �str�
startswith�codes)�evtype�evcode�etype�t�c�ecodes      r
�evbitr8�s���|
�E�
�^�^����7�7�f�����&� 0��E���
�~�*�V�S�1�&�:K�:K�E�:R����	�A��W�W�
���6�6�V�#��H�
�	�

�}������E�
�[�[����7�7�f�����&� 0��E���Lrc��	tjD�cgc]#}|j|k(s|j|k(s�"|��%c}dScc}w#t$rYywxYw)a'
    Takes a property value and returns the :class:`InputProperty`
    representing that property::

        >>> print(libevdev.propbit(0))
        INPUT_PROP_POINTER:0
        >>> print(libevdev.propbit('INPUT_PROP_POINTER'))
        INPUT_PROP_POINTER:0
        >>> print(libevdev.propbit(1000))
        None
        >>> print(libevdev.propbit('Invalid'))
        None

    :param prop: the numeric value or string identifying the property
    :return: the converted :class:`InputProperty` or None if it does not exist
    :rtype: InputProperty
    rN)r-�propsrr
�
IndexError)�prop�ps  r
�propbitr>sK��$�#�>�>�O�a�Q�W�W��_����$���O�PQ�R�R��O������s&�A�#A�A�A�A�	A�Ac
���t�tjd�}|�J�g}t|dz�D�]	}tj|�}|��tj|�}t|tf|||d��}|�}tt||�|j|�|�t|dg���g}t|dz�D]j}tj||�}	|	�dj|dd|�}	t|	tf||	|d��}|�}
t||	|
�|j|
��lt|d|���ttd	|�tjd
�}|�J�g}t|dz�D]X}
tj|
�}|��t|tf|
|d��}|�}tt||�|j|��Zttd|�y)
a]
    Loads all event type, code and property names and makes them available
    as enums in the module. Use as e.g. libevdev.EV_SYN.SYN_REPORT.

    Available are::

    libevdev.types ... an list containing all event types, e.g.
                         libevdev.EV_TYPES.EV_REL

    libevdev.EV_REL ... an enum containing all REL event types, e.g.
                        libevdev.EV_REL.REL_X. The name of each enum value
                        is the string of the code ('REL_X'), the value is the integer
                        value of that code.

    libevdev.EV_ABS ... as above, but for EV_ABS

    libevdev.EV_BITS ... libevdev.EV_FOO as an enum

    Special attributes are (an apply to all EV_foo enums):
        libevdev.EV_REL.type ... the EV_TYPES entry of the event type
        libevdev.EV_REL.max  ... the maximum code in this event type
    �EV_MAXNr)rr
�maxr1z	{}_{:02X}�)r!r
rr.�INPUT_PROP_MAX)rr
r:)r�event_to_value�range�
event_to_name�type_maxr!r&�setattrr-�appendr	r�property_to_value�property_to_namer))�tmaxr.r5�tname�cmax�	new_class�type_objectr1r6�cname�code_object�pmaxr:r=�pname�prop_objects                r
�_load_constsrV(s��.
�J��"�"�8�,�D������E�
�4�!�8�_�%-���&�&�q�)���=��� � ��#�����
�#$�"'�!%�'�(�	�
 �k����%��-�
���[�!��<��K��"�-�����t�a�x��
	&�A��*�*�1�a�0�E��}�#�*�*�5���9�a�8���U�Y�M�&1�&+�'(�*�+�I�$�+�K��K���4��L�L��%�
	&�	��W�e�,�K%-�P�H�g�u�%��%�%�&6�7�D������E�
�4�!�8�_�"���)�)�!�,���=����� 1�#$�"'�)�*�	� �k����%��-�
���[�!�"��H�g�u�%r�READTHEDOCSr)�os�	functoolsr�_clibrr-rrr&r)r8r>rV�environ�getrrr
�<module>r]s���.
�$����#(�#(��#(�L%E��%E�P.)��.)�b)�H�)�:R�j�0X&�v
�z�z�~�~�m�$��N�%r

Zerion Mini Shell 1.0