Package: joystick
Version: 20051019-1
Severity: important
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi.

After upgrading the package, there was a problem with my mouse. I run
this command from initscript:

inputattach -ms3 /dev/ttyS0 &

Kernel should tell me this:

input: Microsoft MZ Mouse on ttyS0/serio0
serio: Serial port ttyS0

However, this appeared:

input: Logitech MZ++ Mouse on ttyS0/serio0
serio: Serial port ttyS0

I caused me trouble, because X server identifies my mouse using that
string, not device name. I found it is caused by this:

In the old headers (which were distributed with the sources of
joystick), there was SERIO_RS232 defined as 0x02000000UL, in the headers
of a recent kernel, it is 0x02. So, this command can't do the same thing
as before:

devt = SERIO_RS232 | input_types[type].type | (id << 8) | (extra << 16);

I suggest changing it to this:

devt = input_types[type].type | (id << 8) | (extra << 16) | (SERIO_RS232 << 24);

I don't know whether is't neccessary to pass SERIO_RS232 at all.


- -- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-ck1
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages joystick depends on:
ii  libc6                         2.3.5-6    GNU C Library: Shared libraries an
ii  makedev                       2.3.1-78   creates device files in /dev

joystick recommends no packages.

- -- debconf information excluded

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDZ7H5i2PKBl+Ic14RAgYFAKDhFU8Qz/hX+/h7WcnZumQJ1aESowCfW0Kj
wjtx6EKy9R59suCHc+RY7xE=
=Uynb
-----END PGP SIGNATURE-----
diff -u -urN joystick-20051019/utils/inputattach.c 
joystick-20051019-new/utils/inputattach.c
--- joystick-20051019/utils/inputattach.c       2005-03-22 14:12:29.000000000 
+0100
+++ joystick-20051019-new/utils/inputattach.c   2005-11-01 18:58:34.000000000 
+0100
@@ -455,7 +455,7 @@
                return 1;
        }
 
-       devt = SERIO_RS232 | input_types[type].type | (id << 8) | (extra << 16);
+       devt = input_types[type].type | (id << 8) | (extra << 16) | 
(SERIO_RS232 << 24);
 
        if(ioctl(fd, SPIOCSTYPE, &devt)) {
                fprintf(stderr, "inputattach: can't set device type\n");

Reply via email to