event keymap {
    format: u32,
    fd: fd,
    size: u32,
}

event enter {
    serial: u32,
    surface: id(wl_surface),
    keys: array(u32),
}

event leave {
    serial: u32,
    surface: id(wl_surface),
}

event key {
    serial: u32,
    time: u32,
    key: u32,
    state: u32,
}

event modifiers {
    serial: u32,
    mods_depressed: u32,
    mods_latched: u32,
    mods_locked: u32,
    group: u32,
}

request release (destructor, since = 3) {
}

event repeat_info (since = 4) {
    rate: i32,
    delay: i32,
}
