pub fn grab_device_button<'c, 'input, Conn, A, B>(
    conn: &'c Conn,
    grab_window: Window,
    grabbed_device: u8,
    modifier_device: A,
    modifiers: ModMask,
    this_device_mode: GrabMode,
    other_device_mode: GrabMode,
    button: B,
    owner_events: bool,
    classes: &'input [EventClass]
) -> Result<VoidCookie<'c, Conn>, ConnectionError>
where Conn: RequestConnection + ?Sized, A: Into<u8>, B: Into<u8>,