# requests request set_cursor { serial: u32, surface: id(wl_surface), hotspot_x: i32, hotspot_y: i32, } request release { } # events event enter { serial: u32, surface: id(wl_surface), surface_x: fixed, surface_y: fixed, } event leave { serial: u32, surface: id(wl_surface), } event motion { time: u32, surface_x: fixed, surface_y: fixed, } event button { serial: u32, time: u32, button: u32, state: u32, } event axis { time: u32, axis: u32, value: fixed, } event frame { } event axis_source { axis_source: u32, } event axis_stop { time: u32, axis: u32, } event axis_discrete { axis: u32, discrete: i32, } event axis_value120 { axis: u32, value120: i32, } event axis_relative_direction { axis: u32, direction: u32, }