Re: anyone working on setting output items with usbhidctl(1) ?
- From: Ed Schouten <ed@xxxxxx>
- Date: Mon, 18 Sep 2006 11:58:13 +0200
Hello Rene,
* Rene Ladan <r.c.ladan@xxxxxxxxx> wrote:
is anyone working on setting output items with usbhidctl(1) ?
I'm trying to add LED/rumbler support for the Xbox 360 Gamepad to
uhid(4), but there doesn't seem to be a userland tool to test output
items and the output report descriptor doesn't seem to be publicly
available (i.e. I must reverse-engineer it).
This device has 4 LEDs which can be controlled with the command 01 03
xx, where xx ranges from 0 to 255.
It also has two rumble motors which can be controlled with 00 08 00 bb
ll 00 00 00, where bb and ll both range from 0 to 255.
Try the following C code:
| #include <stdio.h>
| #include <fcntl.h>
|
| int
| main(int argc, char *argv[])
| {
| char buffer[3] = { 1, 3, 0 };
| int fd;
|
| fd = open("/dev/ugen0.2", O_WRONLY);
| if (fd < 0) {
| fprintf(stderr, "Cannot open device\n");
| return (-1);
| }
|
| write(fd, buffer, sizeof buffer);
| close(fd);
|
| return (0);
| }
I'm currently toying around with the headset, so I've disabled the
uhid(4) driver, so the LED on the gamepad keeps blinking. Running the
application above turns off the LED. I guess it should also work when
you write it to /dev/uhidX.
--
Ed Schouten <ed@xxxxxx>
WWW: http://g-rave.nl/
Attachment:
pgpUOjgbz84i5.pgp
Description: PGP signature
- Follow-Ups:
- Re: anyone working on setting output items with usbhidctl(1) ?
- From: Rene Ladan
- Re: anyone working on setting output items with usbhidctl(1) ?
- References:
- anyone working on setting output items with usbhidctl(1) ?
- From: Rene Ladan
- anyone working on setting output items with usbhidctl(1) ?
- Prev by Date: Re: anyone working on setting output items with usbhidctl(1) ?
- Next by Date: Re: anyone working on setting output items with usbhidctl(1) ?
- Previous by thread: anyone working on setting output items with usbhidctl(1) ?
- Next by thread: Re: anyone working on setting output items with usbhidctl(1) ?
- Index(es):