lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fd06492f61f15697eb1c8400e29ec7bd.squirrel@host171.canaca.com>
Date:	Sat, 28 May 2011 17:31:58 -0400
From:	simon@...gewell.org
To:	"Michael Bauer" <michael@...auer.org>
Cc:	linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
	"Jiri Kosina" <jkosina@...e.cz>
Subject: Re: [PATCH] hid: Fix Logitech Driving Force Pro wheel

Hi Michael and all,

> As there are significant differences in the descriptor (original
> descriptor
> "hides" the separate axes in a  24 bit FF00 usagepage, new descripter
> replaces
> that with two individual 8 bit desktop.y and desktop.rz usages) I provided
> a
> complete replacement descriptor instead trying to patch the original one.
> Patching the descriptor seems not feasible as the new one is much larger.

I think there a couple problems with your replacement descriptor, although
I don't have a wheel to test with).

1). There is no 'NULL state' on the hatswitch
2). The original does Y then 3 others, the replacement does Y + RZ then 1
other.

When I was looking at doing a similar thing for another wheel I recall
that there was a way of doing a 1 byte NOP, but can't remember how at the
moment.

So you might want to try just patching the original as follows.

> + * 0x95, 0x01,         //          Report Count (1),
> + * 0x75, 0x08,         //          Report Size (8),
> + * 0x26, 0xFF, 0x00,   //          Logical Maximum (255),
> + * 0x46, 0xFF, 0x00,   //          Physical Maximum (255),
> + * 0x09, 0x31,         //          Usage (Y),
> + * 0x81, 0x02,         //          Input (Variable),
> + * 0x06, 0x00, 0xFF,   //          Usage Page (FF00h), -> NOP +
ReportCount(3)
> + * 0x09, 0x00,         //          Usage (00h),        -> usage(Z)
> + * 0x95, 0x03,         //          Report Count (3),   -> usage(Rx)
> + * 0x75, 0x08,         //          Report Size (8),    -> usage(Ry)
> + * 0x81, 0x02,         //          Input (Variable),
> + * 0xC0,               //      End Collection,

Most settings roll over between sections, so don't need to be redefined. I
don't think the exact 'usage()' is important as Linux will just see them
as axis.

Cheers,
Simon

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ