from .base import APIObject, StrEnum


class InputKeyValue(StrEnum):
    """Values of remote key names."""

    STANDBY = "Standby"
    BACK = "Back"
    FIND = "Find"
    RED = "RedColour"
    GREEN = "GreenColour"
    YELLOW = "YellowColour"
    BLUE = "BlueColour"
    HOME = "Home"
    VOLUME_UP = "VolumeUp"
    VOLUME_DOWN = "VolumeDown"
    MUTE = "Mute"
    OPTIONS = "Options"
    DOT = "Dot"
    DIGIT_0 = "Digit0"
    DIGIT_1 = "Digit1"
    DIGIT_2 = "Digit2"
    DIGIT_3 = "Digit3"
    DIGIT_4 = "Digit4"
    DIGIT_5 = "Digit5"
    DIGIT_6 = "Digit6"
    DIGIT_7 = "Digit7"
    DIGIT_8 = "Digit8"
    DIGIT_9 = "Digit9"
    INFO = "Info"
    CURSOR_UP = "CursorUp"
    CURSOR_DOWN = "CursorDown"
    CURSOR_LEFT = "CursorLeft"
    CURSOR_RIGHT = "CursorRight"
    CONFIRM = "Confirm"
    NEXT = "Next"
    PREVIOUS = "Previous"
    ADJUST = "Adjust"
    WATCH_TV = "WatchTV"
    VIEWMODE = "Viewmode"
    TELETEXT = "Teletext"
    SUBTITLE = "Subtitle"
    CHANNEL_STEP_UP = "ChannelStepUp"
    CHANNEL_STEP_DOWN = "ChannelStepDown"
    SOURCE = "Source"
    AMBILIGHT_ON_OFF = "AmbilightOnOff"
    PLAY_PAUSE = "PlayPause"
    PAUSE = "Pause"
    FAST_FORWARD = "FastForward"
    STOP = "Stop"
    REWIND = "Rewind"
    RECORD = "Record"
    ONLINE = "Online"


class InputKey(APIObject):
    """Model of remote key input request."""

    key: InputKeyValue
    """Value of the key."""
