All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregor Riepl <onitake@gmail.com>
To: Silvan Jegen <me@sillymon.ch>, linux-input@vger.kernel.org
Subject: Re: Getting a functional driver for Mad Catz Fightstick TE 2 (Xbox One version)
Date: Wed, 9 Mar 2016 12:43:06 +0100	[thread overview]
Message-ID: <56E00C4A.4000304@gmail.com> (raw)
In-Reply-To: <20160308214512.ls7d4rs4jrs6paiy@myarchbang>

Hi Silvan,

> when plugging it in. Simply adding the line
> 
> { 0x0738, 0x4a01, "Mad Catz FightStick TE 2", 0, XTYPE_XBOXONE },
> 
> (where the two Hex values are VENDOR_ID and PRODUCT_ID) to xpad_device[]
> in xpad.c does not help either (which I naively hoped it would).

If the controller is not 100% proprietary - which I doubt, or it would hardly
work on the Xbox without special vendor support - "abusing" xpad seems
perfectly reasonable.

> I realized that the stick does not conform to the USB HID interface
> after looking more closely at the lsusb -v output (pasted below).
>
> The Fightstick seems to use a "Vendor Specific Class" and not the HID
> interface.

This may be because Xbox One controllers require a special initialisation
sequence to make them send input reports at all.

As far as I know, xpad does this for Xbox One pads, but the commands sent may
not be sufficient for the Mad Catz. This may also be the reason why it doesn't
show up as a HID device: It's possible that the device descriptor changes as
soon as initialisation is complete.

> The device is relatively simple having only about 10 buttons and a digital
> stick and the Xbox One driver for Windows works for it so xpad.c should
> be able to deal with it I assume. Worst case I would have to reverse-
> engineer the USB protocol it uses on my Window installation though I
> hope that will not be necessary given that the much more sophisticated
> Xbox One controller works on Linux already.

I think this is a good idea. Watch the initial data sent closely and compare
what xpad does in the case of a Xbox One controller.

Perhaps the logic is there already, and it just needs to be triggered?

Regards,
Gregor

  reply	other threads:[~2016-03-09 11:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-08 21:45 Getting a functional driver for Mad Catz Fightstick TE 2 (Xbox One version) Silvan Jegen
2016-03-09 11:43 ` Gregor Riepl [this message]
2016-03-10  8:48   ` Silvan Jegen
  -- strict thread matches above, loose matches on Subject: below --
2016-03-08 19:15 Silvan Jegen
2016-03-08 19:35 ` Greg KH
2016-03-08 21:40   ` Silvan Jegen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56E00C4A.4000304@gmail.com \
    --to=onitake@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=me@sillymon.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.