public static void SendMouseEvent(MouseButtons mouseButton, bool down)
        {
            XPointer p = new XPointer(dsp);
            var pQinfo = p.Query(root_window);

            XButtonEvent b = new XButtonEvent();

            b.root = pQinfo.root;
            b.window = pQinfo.child;
            b.x_root = pQinfo.root_x;
            b.y_root = pQinfo.root_y;
            b.x = pQinfo.win_x;
            b.y = pQinfo.win_y;
            b.state = pQinfo.mask;

            uint i = (uint)LinuxEnumConverter.E(mouseButton);

            XTestFakeButtonEvent(dsp.Handle, i, down, 0);

            dsp.Flush();
        }
 public static Point GetCursor()
 {
     XPointer ptr = new XPointer(dsp);
     var d = ptr.Query(root_window);
     return new Point(d.root_x, d.root_y);
 }