# Path: src/aoikhotkey/virtualkey.py
# KVK_CAPSLOCK = 0X39
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_COMMAND = 0X37
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_CONTROL = 0X3B
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_OPTION = 0X3A
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_RIGHTCOMMAND = 0X36
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_RIGHTCONTROL = 0X3E
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_RIGHTOPTION = 0X3D
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_RIGHTSHIFT = 0X3C
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_SHIFT = 0X38


import sys
import Quartz
from traceback import format_exc
from AppKit import NSDate
from AppKit import NSEvent
from AppKit import NSProcessInfo
from .virtualkey import KVK_CAPSLOCK
from .virtualkey import KVK_COMMAND
from .virtualkey import KVK_CONTROL
from .virtualkey import KVK_OPTION
from .virtualkey import KVK_RIGHTCOMMAND
from .virtualkey import KVK_RIGHTCONTROL
from .virtualkey import KVK_RIGHTOPTION
from .virtualkey import KVK_RIGHTSHIFT
from .virtualkey import KVK_SHIFT
        elif event_type in self._MOUSE_MOVE_WHEEL_EVENTS:
            # Handle the event
            propagate = self._handle_mouse_move_wheel_event(
                event=event,
                ns_event=ns_event,
                propagate=propagate,
            )

        # If is none of above
        else:
            # Ignore
            pass

        # If need propagate the event
        if propagate:
            # Return the event object
            return event

        # If not need propagate the event
        else:
            # Return None
            return None

    # Map modifier type to virtual key
    _MODIFIER_TYPE_TO_VK = {
        'LCTRL': KVK_CONTROL,
        'RCTRL': KVK_RIGHTCONTROL,
        'LCMD': KVK_COMMAND,
        'RCMD': KVK_RIGHTCOMMAND,
        'LALT': KVK_OPTION,

# Path: src/aoikhotkey/virtualkey.py
# KVK_CAPSLOCK = 0X39
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_COMMAND = 0X37
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_CONTROL = 0X3B
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_OPTION = 0X3A
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_RIGHTCOMMAND = 0X36
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_RIGHTCONTROL = 0X3E
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_RIGHTOPTION = 0X3D
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_RIGHTSHIFT = 0X3C
# 
# Path: src/aoikhotkey/virtualkey.py
# KVK_SHIFT = 0X38


# Path: src/aoikhotkey/event_manager_macos.py
import sys
import Quartz
from traceback import format_exc
from AppKit import NSDate
from AppKit import NSEvent
from AppKit import NSProcessInfo
from .virtualkey import KVK_CAPSLOCK
from .virtualkey import KVK_COMMAND
from .virtualkey import KVK_CONTROL
from .virtualkey import KVK_OPTION
from .virtualkey import KVK_RIGHTCOMMAND
from .virtualkey import KVK_RIGHTCONTROL
from .virtualkey import KVK_RIGHTOPTION
from .virtualkey import KVK_RIGHTSHIFT
from .virtualkey import KVK_SHIFT

        elif event_type in self._MOUSE_MOVE_WHEEL_EVENTS:
            # Handle the event
            propagate = self._handle_mouse_move_wheel_event(
                event=event,
                ns_event=ns_event,
                propagate=propagate,
            )

        # If is none of above
        else:
            # Ignore
            pass

        # If need propagate the event
        if propagate:
            # Return the event object
            return event

        # If not need propagate the event
        else:
            # Return None
            return None

    # Map modifier type to virtual key
    _MODIFIER_TYPE_TO_VK = {
        'LCTRL': KVK_CONTROL,
        'RCTRL': KVK_RIGHTCONTROL,
        'LCMD': KVK_COMMAND,
        'RCMD': KVK_RIGHTCOMMAND,
        'LALT': KVK_OPTION,

        'RALT': KVK_RIGHTOPTION,