anyone working on setting output items with usbhidctl(1) ?

Ed Schouten ed at fxq.nl
Mon Sep 18 02:58:16 PDT 2006


Hello Rene,

* Rene Ladan <r.c.ladan at gmail.com> 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 at fxq.nl>
 WWW: http://g-rave.nl/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-usb/attachments/20060918/7395e975/attachment.pgp


More information about the freebsd-usb mailing list