# -*- coding: utf-8 -*- """ HID Event-Definitionen. """ from dataclasses import dataclass from enum import Enum class HIDKeyType(Enum): """Unterstuetzte HID-Media-Tasten.""" VOLUME_UP = "volume_up" VOLUME_DOWN = "volume_down" MUTE = "mute" # Lautsprecher-Mute MIC_MUTE = "mic_mute" # Mikrofon-Mute (KEY_MICMUTE) HOOK = "hook" # Anruf annehmen/beenden (Call/Answer) PLAY_PAUSE = "play_pause" # Musik Abspielen/Pausieren PLAY = "play" # Nur Abspielen (KEY_PLAY) NEXT_TRACK = "next_track" # Naechster Track PREV_TRACK = "prev_track" # Vorheriger Track class HIDLedType(Enum): """Steuerbare LEDs auf HID-Geraeten.""" MUTE = "mute" MAIL = "mail" # Wird von manchen Geraeten als Status-LED genutzt @dataclass class HIDEvent: """Ein HID-Eingabe-Event.""" key_type: HIDKeyType device_name: str = "" pressed: bool = True # True = gedrueckt, False = losgelassen hold_seconds: float = 0.0 # Wie lange die Taste gehalten wurde (nur bei release)