Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Nov 1999 15:21:35 -0600
From:      Dan Nelson <dnelson@emsphone.com>
To:        Christian Weisgerber <naddy@mips.rhein-neckar.de>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: Accessing sysmouse(4)?
Message-ID:  <19991130152135.B59749@dan.emsphone.com>
In-Reply-To: <821asn$17d7$1@bigeye.rhein-neckar.de>; from "Christian Weisgerber" on Tue Nov 30 21:08:55 GMT 1999
References:  <821asn$17d7$1@bigeye.rhein-neckar.de>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Nov 30), Christian Weisgerber said:
> Is there any real documentation or sample code to show how an
> application at the console can access sysmouse(4)?
>
> I'd like to add FreeBSD console mouse support to ports/audio/aumix,
> which already can make use of the mouse in xterm and on the Linux
> console.

The sysmouse manpage seems to be sufficient.

    struct vid_info vi;
    struct mouse_info mi;

    vi.size = sizeof(vi);
    if (ioctl(fileno(stdin), CONS_GETINFO, &vi) < 0)
        err(1,"CONS_GETINFO");
    printf ("%d x %d\n", vi.mv_csz, vi.mv_rsz);

    mi.operation = MOUSE_GETINFO;
    if (ioctl(fileno(stdin), CONS_MOUSECTL, &mi) < 0)
        err(1,"CONS_MOUSECTL");
    printf("%d %d %d\n", mi.u.data.x, mi.u.data.y, mi.u.data.buttons);

X and Y are in pixels, though, and I'm not sure how to ask the console
what its current resolution is.  The CONS_GETINFO ioctl tells you the
size of the screen in characters (although you can get that info from
curses as well).  Characters are always 8 pixels wide, but can be 8,
14, or 16 pixels tall depending on your video mode.  I can't seem to
find an ioctl that'll tell me font height.

-- 
	Dan Nelson
	dnelson@emsphone.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991130152135.B59749>