request commit_string {
    text: str,
}

request set_preedit_string {
    text: str,
    cursor_begin: i32,
    cursor_end: i32,
}

request delete_surrounding_text {
    before_length: u32,
    after_length: u32,
}

request commit {
    serial: u32,
}

request get_input_popup_surface {
    id: id(zwp_input_popup_surface_v2),
    surface: id(wl_surface),
}

request grab_keyboard {
    keyboard: id(zwp_input_method_keyboard_grab_v2),
}

request destroy {

}

event activate {

}

event deactivate {

}

event surrounding_text {
    text: str,
    cursor: u32,
    anchor: u32,
}

event text_change_cause {
    cause: u32,
}

event content_type {
    hint: u32,
    purpose: u32,
}

event done {

}

event unavailable {

}
