Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Feb 2002 12:50:18 -0500
From:      Jerry A! <jerry@thehutt.org>
To:        Akira Funahashi <funa@funa.org>
Cc:        freebsd-mobile@freebsd.org
Subject:   Re: vaio's jogdial & moused
Message-ID:  <20020205175018.GA327@nomad.thehutt.org>
In-Reply-To: <20020205.202905.71116296.funa@funa.org>
References:  <20020114223408.GA4272@aviaport.ru> <20020205.202905.71116296.funa@funa.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--k1lZvvs/B4yU6o8G
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Feb 05, 2002 at 08:29:05PM +0900, Akira Funahashi wrote:
: Hi, 
: 
: Juriy Goloveshkin <j@gu.ru> wrote:
: > I made a little hack for moused to use jogdial like a wheel.
: > maybe it will be useful for somebody who use /dev/sysmouse in X.
: > to use it, run "moused -t jogdial -p /dev/jogdial"
 
[unneeded content snipped]

: How to use on -stable:
: 
:  1. # cd /sys/i386/isa
:  2. # tar xvzf $somewhere/spic.4-stable.tar.gz
:  3. Add following line in /sys/conf/files.i386
:     i386/isa/spic.c optional spic
:  4. Add following line in your kernel config file.
:     device spic0 at isa? irq 0 port 0x10a0
:  5. Make your new kernel and reboot.
:  6. # cd /dev
:  7. # mknod -mode=600 jogdial c 160 0
:  8. # moused -t jogdial -z 4 -p /dev/jogdial

I've got this up and running on my Picturebook C1VP.  There are a few
changes that need to be made to get this to work under -stable.

First, mouse.h is located in sys/i386/include (different location from
-current).  I've modified Juriy's original patch to work under -stable.
I'm attaching said patch to this message.

Second, a "make includes" needs to be done in order to install the
modified mouse.h in /usr/include/machine *before* compiling moused.
Yeah, it seems so obvious, but I'm hoping I'm not the only one stoopid
enough to get bit by this.  8)

Third, -stable's mknod doesn't support "-mode".  You'll need to do the
following to create the jogdial device:

    cd /dev
    mknod jogdial c 160 0
    chmod 600 jogdial


Misc Notes:
    * my picturebook doesn't need the "-z" option added to moused
    * capture from /usr/ports/graphics/picturebook no longer works
        (no biggie for me as I need the jogdial more than I need the
        camera)
    * event codes 0c, 18 & 70 should probably be added to spic.c as
      NOPs.  I have no idea what they do, but dmesg and
      /var/log/messages are getting quite cramped with the error output
      of unknown events.

Anyway, thanks for getting this working.  I hope this information is
useful to other -stable users with VAIOs.

        --Jerry

Open-Source software isn't a matter of life or death...
...It's much more important than that!

--k1lZvvs/B4yU6o8G
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="jogdial-stable.diff"

--- sys/i386/include/mouse.h.orig	Tue Feb  5 11:16:26 2002
+++ sys/i386/include/mouse.h	Tue Feb  5 11:17:31 2002
@@ -158,6 +158,7 @@
 #define MOUSE_PROTO_X10MOUSEREM	13	/* X10 MouseRemote, 3 bytes */
 #define MOUSE_PROTO_KIDSPAD	14	/* Genius Kidspad */
 #define MOUSE_PROTO_VERSAPAD	15	/* Interlink VersaPad, 6 bytes */
+#define MOUSE_PROTO_JOGDIAL     16      /* Vaio's JogDial */
 
 #define MOUSE_RES_UNKNOWN	(-1)
 #define MOUSE_RES_DEFAULT	0
--- usr.sbin/moused/moused.c.orig	Sat Sep 22 16:11:23 2001
+++ usr.sbin/moused/moused.c	Tue Feb  5 11:18:40 2002
@@ -202,6 +202,8 @@
     "sysmouse",
     "x10mouseremote",
     "kidspad",
+    "foo", // hmmm...
+    "jogdial",
 #if notyet
     "mariqua",
 #endif
@@ -364,6 +366,7 @@
     (CS7	           | CREAD | CLOCAL | HUPCL ),	/* X10 MouseRemote */
     (CS8 | PARENB | PARODD | CREAD | CLOCAL | HUPCL ),	/* kidspad etc. */
     (CS8		   | CREAD | CLOCAL | HUPCL ),	/* VersaPad */
+    0,							/* JogDial */
 #if notyet
     (CS8 | CSTOPB	   | CREAD | CLOCAL | HUPCL ),	/* Mariqua */
 #endif
@@ -1084,6 +1087,7 @@
     { 	0x40,	0x40,	0x40,	0x00,	3,   ~0x23,  0x00 }, /* X10 MouseRem */
     {	0x80,	0x80,	0x00,	0x00,	5,    0x00,  0xff }, /* KIDSPAD */
     {	0xc3,	0xc0,	0x00,	0x00,	6,    0x00,  0xff }, /* VersaPad */
+    {	0x00,	0x00,	0x00,	0x00,	1,    0x00,  0xff }, /* JogDial */
 #if notyet
     {	0xf8,	0x80,	0x00,	0x00,	5,   ~0x2f,  0x10 }, /* Mariqua */
 #endif
@@ -1363,6 +1367,8 @@
 	}
 	break;
 
+    case MOUSE_PROTO_JOGDIAL:
+	break;
     case MOUSE_PROTO_MSC:
 	setmousespeed(1200, rodent.baudrate, rodentcflags[rodent.rtype]);
 	if (rodent.flags & ClearDTR) {
@@ -1620,6 +1626,8 @@
 	     */
 	    break;
 #endif /* notyet */
+	case MOUSE_PROTO_JOGDIAL:
+	    break;
 
 	/*
 	 * IntelliMouse, NetMouse (including NetMouse Pro) and Mie Mouse
@@ -1718,7 +1726,18 @@
 	act->dx =    (char)(pBuf[1]) + (char)(pBuf[3]);
 	act->dy = - ((char)(pBuf[2]) + (char)(pBuf[4]));
 	break;
-      
+
+    case MOUSE_PROTO_JOGDIAL:		/* JogDial */
+	    if (rBuf == 0x6c)
+	      act->dz=-1;
+	    if (rBuf == 0x72)
+	      act->dz=1;
+	    if (rBuf == 0x64)
+	      act->button = MOUSE_BUTTON1DOWN;
+	    if (rBuf == 0x75)
+	      act->button = 0;
+	break;
+
     case MOUSE_PROTO_HITTAB:		/* MM HitTablet */
 	act->button = butmaphit[pBuf[0] & 0x07];
 	act->dx = (pBuf[0] & MOUSE_MM_XPOSITIVE) ?   pBuf[1] : - pBuf[1];

--k1lZvvs/B4yU6o8G--

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




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