lkml.org 
[lkml]   [2007]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectSideWinder GameVoice driver
    Despite it's a Microsoft product, it's actually very nice and useful. A
    little pad with a few buttons and connectors for a headset. It's an USB
    device, but it doesn't represent itself as an input/HID device:
    HID device not claimed by input or hiddev

    I plugged it into a windows box and the USB protocol it uses looks very
    simple (see attachment): everytime I press one of the eight buttons, it
    sends one byte, a bitmap of the pressed buttons.

    What would be the best way to have this device appear in the system?
    Having a separate driver/device node? Or is it possible to have a small
    driver that would translate the gamevoice commands into evdev messages
    and have a new /dev/input/eventX device appear?

    I could write something like that myself, my C skills are good enough
    for that, I'd just need some advice how to use the kernel USB/evdev
    interfaces.

    tom
    [883650 ms] UsbSnoop - MyDispatchInternalIOCTL(f56b8e80) : fdo=82adb998, Irp=848e0008, IRQL=2
    [883650 ms] >>> URB 68 going down >>>
    -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
    PipeHandle = 83a38fdc [endpoint 0x00000081]
    TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
    TransferBufferLength = 00000001
    TransferBuffer = 857fc078
    TransferBufferMDL = 00000000
    UrbLink = 00000000
    [883970 ms] UsbSnoop - MyInternalIOCTLCompletion(f56b8db0) : fido=848db578, Irp=82ae9a78, Context=855c96d0, IRQL=2
    [883970 ms] <<< URB 67 coming back <<<
    -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
    PipeHandle = 83a38fdc [endpoint 0x00000081]
    TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
    TransferBufferLength = 00000001
    TransferBuffer = 85768370
    TransferBufferMDL = 831f13d8
    00000000: 0c
    UrbLink = 00000000
    [883970 ms] UsbSnoop - DispatchAny(f56b7610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
    [883970 ms] UsbSnoop - MyDispatchInternalIOCTL(f56b8e80) : fdo=82adb998, Irp=82ae9a78, IRQL=2
    [883970 ms] >>> URB 69 going down >>>
    -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
    PipeHandle = 83a38fdc [endpoint 0x00000081]
    TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
    TransferBufferLength = 00000001
    TransferBuffer = 85768370
    TransferBufferMDL = 00000000
    UrbLink = 00000000
    \
     
     \ /
      Last update: 2007-05-17 16:03    [W:0.033 / U:0.340 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site