kovidgoyal/kitty · warning

Mouse event type: {event} not recognized, ignoring

Error message

Mouse event type: {event} not recognized, ignoring

What it means

The event token of a mouse_map line is not in mouse_trigger_count_map (press, doublepress, triplepress, click, doubleclick, tripleclick, release, move per version). The mapping is ignored.

Source

Thrown at kitty/options/utils.py:1619

    kparts = xbutton.split('+')
    if len(kparts) > 1:
        mparts, obutton = kparts[:-1], kparts[-1].lower()
        mods = parse_mods(mparts, obutton)
        if mods is None:
            return
    else:
        obutton = parts[0].lower()
        mods = 0
    try:
        b = mouse_button_map.get(obutton, obutton)[1:]
        button = getattr(defines, f'GLFW_MOUSE_BUTTON_{b}')
    except Exception:
        log_error(f'Mouse button: {xbutton} not recognized, ignoring')
        return
    try:
        count = mouse_trigger_count_map[event.lower()]
    except KeyError:
        log_error(f'Mouse event type: {event} not recognized, ignoring')
        return
    specified_modes = frozenset(modes.lower().split(','))
    if specified_modes - {'grabbed', 'ungrabbed'}:
        log_error(f'Mouse modes: {modes} not recognized, ignoring')
        return
    for mode in sorted(specified_modes):
        yield MouseMapping(button, mods, count, mode == 'grabbed', definition=action)


def parse_font_spec(spec: str) -> FontSpec:
    return FontSpec.from_setting(spec)


JumpTypes = Literal['start', 'end', 'none', 'both']


class EasingFunction(NamedTuple):
    type: Literal['steps', 'linear', 'cubic-bezier', ''] = ''

View on GitHub (pinned to 6d5d0c4406)

Solutions

  1. Use a supported event: press, release, click, doubleclick, tripleclick, doublepress, triplepress (per docs).
  2. Fix typos like 'dobleclick'.
  3. Consult kitty docs for your version's event list.

Example fix

# before
mouse_map left dobleclick ungrabbed paste

# after
mouse_map left doubleclick ungrabbed paste
Defensive patterns

Strategy: validation

Validate before calling

EVENTS = {'press','release','click','doubleclick','tripleclick','doublepress','triplepress','move'}
def valid_mouse_event(ev: str) -> bool:
    return ev.lower() in EVENTS

Type guard

def is_mouse_event(ev: str) -> bool:
    return ev.lower() in {'press','release','click','doubleclick','tripleclick','doublepress','triplepress'}

Prevention

When it happens

Trigger: 'mouse_map left quadelclick ...' or 'mouse_map left tap ...'.

Common situations: Guessing event names; version differences in supported mouse events; copy-paste from other apps' syntax.

Related errors


AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27). Data as JSON: /api/errors/e8e26d927c8d08d9. Report an issue: GitHub.