tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: wstablet API proposal



On Sat, Jul 12, 2008 at 4:11 PM, Iain Hibbert <plunky%rya-online.net@localhost> 
wrote:
> On Sat, 12 Jul 2008, Jason Beaudoin wrote:
>
>> Current Tablet Capabilities:
>> (what do we need to support)
>
> Just out of interest, would wstablet also encompass touchscreen support?

If there's a hardware driver that covers the touchscreen in question,
than yes. As a side note, I also plan on writing a generic
touch/tablet driver utilizing wstablet to build a foundation off of.


>> Adding a field to wscons_event will break any code using the structure,
>> and require a rebuild (including the Xserver and various packages that
>> utilize wscons_event).
>
> Is there any other place that it is used by userland that would cause
> incompatibilities than ioctl(WSMUXIO_INJECTEVENT)?  If its just that, its
> not so difficult to version the ioctl so that old and new code works
> fine with a new field added..
>
> #define WSMUXIO_INJECTEVENT_OLD _IOW('W', 96, struct wscons_event_old)
> #define WSMUXIO_INJECTEVENT     _IOW('W', 96, struct wscons_event)
>
>        struct wscons_event ev;
>
>        switch(cmd) {
>        case WSMUXIO_INJECTEVENT_OLD:
>                memset(&ev, 0, sizeof(ev));
>                /* fall through */
>        case WSMUXIO_INJECTEVENT:
>                copyin(data, &ev, IOCPARM_LEN(cmd));
>                [...]
>
> ?
>
> iain
>

There are quite a few places. Running a grep for (just) wscons_event:

src/sys/arch/amiga/dev/kbd.c
src/sys/arch/atari/dev/kbd.c
src/sys/compat/darwin/darwin_iohidsystem.c
src/sys/dev/wscons/wsconsio.h
src/sys/dev/wscons/wsdisplay.c
src/sys/dev/wscons/wsevent.c
src/sys/dev/wscons/wseventvar.h
src/sys/dev/wscons/wskbd.c
src/sys/dev/wscons/wsmouse.c
src/sys/dev/wscons/wsmux.c
src/usr.sbin/moused/moused.c
src/usr.sbin/tpctl/tp.c
src/usr.sbin/wsmoused/action.c
src/usr.sbin/wsmoused/selection.c
src/usr.sbin/wsmoused/wsmoused.c
src/usr.sbin/wsmoused/wsmoused.h
xsrc/xfree/xc/programs/Xserver/hw/netbsd/alpha/alpha.h
xsrc/xfree/xc/programs/Xserver/hw/netbsd/alpha/alphaIo.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/alpha/alphaKbd.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/alpha/alphaMouse.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/arm32vidc/wscons.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/dec/dec.h
xsrc/xfree/xc/programs/Xserver/hw/netbsd/dec/decIo.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/dec/decKbd.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/dec/decMouse.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/dreamcast/dreamcast.h
xsrc/xfree/xc/programs/Xserver/hw/netbsd/dreamcast/dreamcastMouse.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/ews4800mips/ews4800mips.h
xsrc/xfree/xc/programs/Xserver/hw/netbsd/ews4800mips/ews4800mipsMouse.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/hpc/hpc.h
xsrc/xfree/xc/programs/Xserver/hw/netbsd/hpc/hpcMouse.c
xsrc/xfree/xc/programs/Xserver/hw/netbsd/macppc/macppc.h
xsrc/xfree/xc/programs/Xserver/hw/netbsd/newsmips/newsmips.h
xsrc/xfree/xc/programs/Xserver/hw/netbsd/newsmips/newsmipsMouse.c
xsrc/xfree/xc/programs/Xserver/hw/xfree86/common/xf86Events.c
xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_io.c
xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c
xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c
xsrc/xorg/xserver/xorg/hw/xfree86/common/xf86Events.c
xsrc/xorg/xserver/xorg/hw/xfree86/os-support/bsd/bsd_io.c
xsrc/xorg/xserver/xorg/hw/xfree86/os-support/bsd/bsd_kbd.c
xsrc/xorg/xserver/xorg/hw/xfree86/os-support/bsd/bsd_mouse.c


There are also a number of x11 input packages in pkgsrc - a few of
these are bound to have wscons_event in them. Fortunately, a lot of
the instances I'm seeing  are either a sizeof() line or a declaration
for a wscons_event struct, and these should be fixed by a rebuild.

Thanks for taking a look at this work!


Regards,
~Jason
-- 
401.837.8417
JasonBeaudoin%gmail.com@localhost


Home | Main Index | Thread Index | Old Index