Does qnx support HID device other than keyboard or mice?

I have a usb joystick work fine in Windows. But in QNX, I even cannot get
the descriptor of it by using the command usb -vvv.

Look forward to any reply. Thank you

“sonic” <sonic@sonicteam.co.jp> wrote in message news:aufff1$48p$1@inn.qnx.com

I have a usb joystick work fine in Windows. But in QNX, I even cannot get
the descriptor of it by using the command usb -vvv.

Look forward to any reply. Thank you

Hello, sonic.

I also have a couple of game controllers that are not recognized on QNX but Windows(CY7C63001A used in them). I don’t know exactly
why, however I suspect that this problem is caused by the usb stack issue on 6.2 posted by David Raimond at 2002/10/02 in this news
group.

Regards,
---- Toshio KATAYAMA

Thank you for your answer.
I have another question, suppose qnx get the descriptor of the controller.
Where can I find the related information of developing the driver for a
joystick. (There is source code of mouse driver, but it is difficult for me
to follow). Thank you.
“Toshio KATAYAMA” <cae@jcom.home.ne.jp> $B@qUm1wM97o?7J9(B
:aujkk2$jjf$1@inn.qnx.com

“sonic” <> sonic@sonicteam.co.jp> > wrote in message
news:aufff1$48p$> 1@inn.qnx.com> …
I have a usb joystick work fine in Windows. But in QNX, I even cannot
get
the descriptor of it by using the command usb -vvv.

Look forward to any reply. Thank you


Hello, sonic.

I also have a couple of game controllers that are not recognized on QNX
but Windows(CY7C63001A used in them). I don’t know exactly
why, however I suspect that this problem is caused by the usb stack issue
on 6.2 posted by David Raimond at 2002/10/02 in this news
group.

Regards,
---- Toshio KATAYAMA

Hello again, sonic.

Mice and game controllers are basically so identical as USB devices that it is not difficult to get raw data from controllers ad
hoc. In my case, only the packet size of interrupt transfer endpoint and the interface protocol code were different between them, so
I modified the sample mouse driver code and made a dedicated driver(resource manager) for my game controller which was recognized on
QNX.

I don’t remember clearly what I did, but you may want to take a look into …

  1. definition of ‘mouse_report_t’ in ‘mouse.h’
  2. ‘mouse_process(…)’ in ‘mouse.c’(no need to process received data)
  3. ‘mouse_parse_descriptors(…)’ in ‘mouse.c’(check protocol code)
  4. ‘mouse_start_driver(…)’ in ‘mouse.c’(“usbmouse” → “usbpad” or so)
  5. line 358 in ‘mouse.c’(change buffer size and record size if needed. The record size is equal to sizeof(mouse_report_t))

You won’t have to add lines but just modify them. Once ‘/dev/usbpad0’ appear successfully after the controller plugged in, you will
able to get raw data stored in the ring buffer by ‘open()’ and ‘read()’.

“Getting Started with QNX Neutrino 2”, by Rob Krten would be a good referece if you want to dig deeper.

Cheers,
---- Toshio KATAYAMA


“sonic” <sonic@sonicteam.co.jp> wrote in message news:aujtgs$sr8$1@inn.qnx.com

Thank you for your answer.
I have another question, suppose qnx get the descriptor of the controller.
Where can I find the related information of developing the driver for a
joystick. (There is source code of mouse driver, but it is difficult for me
to follow). Thank you.
“Toshio KATAYAMA” <> cae@jcom.home.ne.jp> > $B@qUm1wM97o?7J9(B
:aujkk2$jjf$> 1@inn.qnx.com> …
“sonic” <> sonic@sonicteam.co.jp> > wrote in message
news:aufff1$48p$> 1@inn.qnx.com> …
I have a usb joystick work fine in Windows. But in QNX, I even cannot
get
the descriptor of it by using the command usb -vvv.

Look forward to any reply. Thank you


Hello, sonic.

I also have a couple of game controllers that are not recognized on QNX
but Windows(CY7C63001A used in them). I don’t know exactly
why, however I suspect that this problem is caused by the usb stack issue
on 6.2 posted by David Raimond at 2002/10/02 in this news
group.

Regards,
---- Toshio KATAYAMA

Thank you very much for your advice!
“Toshio KATAYAMA” <cae@jcom.home.ne.jp> $B@qUm1wM97o?7J9(B
:auk7lp$9h6$1@inn.qnx.com

Hello again, sonic.

Mice and game controllers are basically so identical as USB devices that
it is not difficult to get raw data from controllers ad
hoc. In my case, only the packet size of interrupt transfer endpoint and
the interface protocol code were different between them, so
I modified the sample mouse driver code and made a dedicated
driver(resource manager) for my game controller which was recognized on
QNX.

I don’t remember clearly what I did, but you may want to take a look into

  1. definition of ‘mouse_report_t’ in ‘mouse.h’
  2. ‘mouse_process(…)’ in ‘mouse.c’(no need to process received data)
  3. ‘mouse_parse_descriptors(…)’ in ‘mouse.c’(check protocol code)
  4. ‘mouse_start_driver(…)’ in ‘mouse.c’(“usbmouse” → “usbpad” or so)
  5. line 358 in ‘mouse.c’(change buffer size and record size if needed. The
    record size is equal to sizeof(mouse_report_t))

You won’t have to add lines but just modify them. Once ‘/dev/usbpad0’
appear successfully after the controller plugged in, you will
able to get raw data stored in the ring buffer by ‘open()’ and ‘read()’.

“Getting Started with QNX Neutrino 2”, by Rob Krten would be a good
referece if you want to dig deeper.

Cheers,
---- Toshio KATAYAMA


“sonic” <> sonic@sonicteam.co.jp> > wrote in message
news:aujtgs$sr8$> 1@inn.qnx.com> …
Thank you for your answer.
I have another question, suppose qnx get the descriptor of the
controller.
Where can I find the related information of developing the driver for a
joystick. (There is source code of mouse driver, but it is difficult for
me
to follow). Thank you.
“Toshio KATAYAMA” <> cae@jcom.home.ne.jp> > $B@qUm1wM97o?7J9(B
:aujkk2$jjf$> 1@inn.qnx.com> …
“sonic” <> sonic@sonicteam.co.jp> > wrote in message
news:aufff1$48p$> 1@inn.qnx.com> …
I have a usb joystick work fine in Windows. But in QNX, I even canno
t
get
the descriptor of it by using the command usb -vvv.

Look forward to any reply. Thank you


Hello, sonic.

I also have a couple of game controllers that are not recognized on
QNX
but Windows(CY7C63001A used in them). I don’t know exactly
why, however I suspect that this problem is caused by the usb stack
issue
on 6.2 posted by David Raimond at 2002/10/02 in this news
group.

Regards,
---- Toshio KATAYAMA
\

I can get the raw data from my controller now. Thank you very much.
“sonic” <sonic@sonicteam.co.jp> ¼¶¼g©ó¶l¥ó·s»D:aukk64$m32$1@inn.qnx.com

Thank you very much for your advice!
“Toshio KATAYAMA” <> cae@jcom.home.ne.jp> > $B@qUm1wM97o?7J9(B
:auk7lp$9h6$> 1@inn.qnx.com> …
Hello again, sonic.

Mice and game controllers are basically so identical as USB devices that
it is not difficult to get raw data from controllers ad
hoc. In my case, only the packet size of interrupt transfer endpoint and
the interface protocol code were different between them, so
I modified the sample mouse driver code and made a dedicated
driver(resource manager) for my game controller which was recognized on
QNX.

I don’t remember clearly what I did, but you may want to take a look
into

  1. definition of ‘mouse_report_t’ in ‘mouse.h’
  2. ‘mouse_process(…)’ in ‘mouse.c’(no need to process received data)
  3. ‘mouse_parse_descriptors(…)’ in ‘mouse.c’(check protocol code)
  4. ‘mouse_start_driver(…)’ in ‘mouse.c’(“usbmouse” → “usbpad” or so)
  5. line 358 in ‘mouse.c’(change buffer size and record size if needed.
    The
    record size is equal to sizeof(mouse_report_t))

You won’t have to add lines but just modify them. Once ‘/dev/usbpad0’
appear successfully after the controller plugged in, you will
able to get raw data stored in the ring buffer by ‘open()’ and ‘read()’.

“Getting Started with QNX Neutrino 2”, by Rob Krten would be a good
referece if you want to dig deeper.

Cheers,
---- Toshio KATAYAMA


“sonic” <> sonic@sonicteam.co.jp> > wrote in message
news:aujtgs$sr8$> 1@inn.qnx.com> …
Thank you for your answer.
I have another question, suppose qnx get the descriptor of the
controller.
Where can I find the related information of developing the driver for
a
joystick. (There is source code of mouse driver, but it is difficult
for
me
to follow). Thank you.
“Toshio KATAYAMA” <> cae@jcom.home.ne.jp> > $B@qUm1wM97o?7J9(B
:aujkk2$jjf$> 1@inn.qnx.com> …
“sonic” <> sonic@sonicteam.co.jp> > wrote in message
news:aufff1$48p$> 1@inn.qnx.com> …
I have a usb joystick work fine in Windows. But in QNX, I even
canno
t
get
the descriptor of it by using the command usb -vvv.

Look forward to any reply. Thank you


Hello, sonic.

I also have a couple of game controllers that are not recognized on
QNX
but Windows(CY7C63001A used in them). I don’t know exactly
why, however I suspect that this problem is caused by the usb stack
issue
on 6.2 posted by David Raimond at 2002/10/02 in this news
group.

Regards,
---- Toshio KATAYAMA


\