/opt/imh-python/lib/python3.9/site-packages/prompt_toolkit
NameSizeModeActions
application/-0755rm
clipboard/-0755rm
completion/-0755rm
contrib/-0755rm
eventloop/-0755rm
filters/-0755rm
formatted_text/-0755rm
input/-0755rm
key_binding/-0755rm
layout/-0755rm
lexers/-0755rm
output/-0755rm
shortcuts/-0755rm
styles/-0755rm
widgets/-0755rm
__pycache__/-0755rm
auto_suggest.py57980644editdlrm
buffer.py745130644editdlrm
cache.py38230644editdlrm
cursor_shapes.py37210644editdlrm
data_structures.py2120644editdlrm
document.py405790644editdlrm
enums.py3580644editdlrm
history.py94410644editdlrm
keys.py49160644editdlrm
log.py1530644editdlrm
mouse_events.py24730644editdlrm
patch_stdout.py94770644editdlrm
py.typed00644editdlrm
renderer.py293980644editdlrm
search.py69510644editdlrm
selection.py12740644editdlrm
token.py1210644editdlrm
utils.py86310644editdlrm
validation.py58070644editdlrm
win32_types.py55510644editdlrm
__init__.py13540644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/prompt_toolkit/mouse_events.py (2473B)
""" Mouse events. How it works ------------ The renderer has a 2 dimensional grid of mouse event handlers. (`prompt_toolkit.layout.MouseHandlers`.) When the layout is rendered, the `Window` class will make sure that this grid will also be filled with callbacks. For vt100 terminals, mouse events are received through stdin, just like any other key press. There is a handler among the key bindings that catches these events and forwards them to such a mouse event handler. It passes through the `Window` class where the coordinates are translated from absolute coordinates to coordinates relative to the user control, and there `UIControl.mouse_handler` is called. """ from __future__ import annotations from enum import Enum from .data_structures import Point __all__ = ["MouseEventType", "MouseButton", "MouseModifier", "MouseEvent"] class MouseEventType(Enum): # Mouse up: This same event type is fired for all three events: left mouse # up, right mouse up, or middle mouse up MOUSE_UP = "MOUSE_UP" # Mouse down: This implicitly refers to the left mouse down (this event is # not fired upon pressing the middle or right mouse buttons). MOUSE_DOWN = "MOUSE_DOWN" SCROLL_UP = "SCROLL_UP" SCROLL_DOWN = "SCROLL_DOWN" # Triggered when the left mouse button is held down, and the mouse moves MOUSE_MOVE = "MOUSE_MOVE" class MouseButton(Enum): LEFT = "LEFT" MIDDLE = "MIDDLE" RIGHT = "RIGHT" # When we're scrolling, or just moving the mouse and not pressing a button. NONE = "NONE" # This is for when we don't know which mouse button was pressed, but we do # know that one has been pressed during this mouse event (as opposed to # scrolling, for example) UNKNOWN = "UNKNOWN" class MouseModifier(Enum): SHIFT = "SHIFT" ALT = "ALT" CONTROL = "CONTROL" class MouseEvent: """ Mouse event, sent to `UIControl.mouse_handler`. :param position: `Point` instance. :param event_type: `MouseEventType`. """ def __init__( self, position: Point, event_type: MouseEventType, button: MouseButton, modifiers: frozenset[MouseModifier], ) -> None: self.position = position self.event_type = event_type self.button = button self.modifiers = modifiers def __repr__(self) -> str: return f"MouseEvent({self.position!r},{self.event_type!r},{self.button!r},{self.modifiers!r})"