Bug HID Dial - jstest and evtest see different number of clicks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
I'm modifying the HID descriptor for a gaming wheel to support the dials
on it and I'm seeing that jstest does not report/register the highest
value location, whereas evtest does.

For example the last dial is 4 position (values 0 to 3) and reported as
the 'ABS_GAS' control.
--
                    /*   ---- Dial patch starts here ----   */
0x05, 0x01,         /*          Usage Page (Desktop),       */
0x09, 0x37,         /*          Usage (Dial),               */
0x75, 0x04,         /*          Report Size (4),            */
0x95, 0x02,         /*          Report Count (2),           */
0x15, 0x00,         /*          Logical Minimum (0),        */
0x25, 0x0b,         /*          Logical Maximum (b),        */
0x81, 0x02,         /*          Input (Variable),           */
0x09, 0x37,         /*          Usage (Dial),               */
0x75, 0x04,         /*          Report Size (4),            */
0x95, 0x01,         /*          Report Count (1),           */
0x25, 0x03,         /*          Logical Maximum (3),        */
0x81, 0x02,         /*          Input (Variable),           */
                    /*    ---- Dial patch ends here ----    */
--

Jstest only reports 3 positions and 'misses' the last click
--
simon@simon-virtual-machine:~/linux-git$ jstest --event /dev/input/js0
Driver version is 2.1.0.
Joystick (SteelSeries SRWheel) has 8 axes (X, Y, Z, Rudder, Wheel, Gas,
Hat0X, Hat0Y)
and 17 buttons (BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2, BtnTR2, BtnSelect,
BtnStart, BtnMode, BtnThumbL, BtnThumbR, ?, ?, ?, ?, (null)).
Testing ... (interrupt to exit)
Event: type 129, time 5915608, number 0, value 0
Event: type 129, time 5915608, number 1, value 0
Event: type 129, time 5915608, number 2, value 0
Event: type 129, time 5915608, number 3, value 0
Event: type 129, time 5915608, number 4, value 0
Event: type 129, time 5915608, number 5, value 0
Event: type 129, time 5915608, number 6, value 0
Event: type 129, time 5915608, number 7, value 0
Event: type 129, time 5915608, number 8, value 0
Event: type 129, time 5915608, number 9, value 0
Event: type 129, time 5915608, number 10, value 0
Event: type 129, time 5915608, number 11, value 0
Event: type 129, time 5915608, number 12, value 0
Event: type 129, time 5915608, number 13, value 0
Event: type 129, time 5915608, number 14, value 0
Event: type 129, time 5915608, number 15, value 0
Event: type 129, time 5915608, number 16, value 0
Event: type 130, time 5915608, number 0, value 0
Event: type 130, time 5915608, number 1, value -32767
Event: type 130, time 5915608, number 2, value -32767
Event: type 130, time 5915608, number 3, value -32767
Event: type 130, time 5915608, number 4, value -32767
Event: type 130, time 5915608, number 5, value -32767
Event: type 130, time 5915608, number 6, value 0
Event: type 130, time 5915608, number 7, value 0
Event: type 2, time 5922404, number 5, value 0
Event: type 2, time 5925804, number 5, value 32767
Event: type 2, time 5938004, number 5, value 0
Event: type 2, time 5940096, number 5, value -32767
^C
--

Whereas evtest (simultaneously) sees all 4 positions
--
simon@simon-virtual-machine:~$ evtest /dev/input/event4
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x1038 product 0x1410 version 0x111
Input device name: "SteelSeries SRWheel"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 304 (BTN_A)
    Event code 305 (BTN_B)
    Event code 306 (BTN_C)
    Event code 307 (BTN_X)
    Event code 308 (BTN_Y)
    Event code 309 (BTN_Z)
    Event code 310 (BTN_TL)
    Event code 311 (BTN_TR)
    Event code 312 (BTN_TL2)
    Event code 313 (BTN_TR2)
    Event code 314 (BTN_SELECT)
    Event code 315 (BTN_START)
    Event code 316 (BTN_MODE)
    Event code 317 (BTN_THUMBL)
    Event code 318 (BTN_THUMBR)
    Event code 319 (?)
    Event code 704 (BTN_TRIGGER_HAPPY1)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value   1800
      Min    -1800
      Max     1800
      Fuzz      14
      Flat     225
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max     1023
      Fuzz       3
      Flat      63
    Event code 2 (ABS_Z)
      Value      0
      Min        0
      Max     1023
      Fuzz       3
      Flat      63
    Event code 7 (ABS_RUDDER)
      Value      0
      Min        0
      Max       11
    Event code 8 (ABS_WHEEL)
      Value      0
      Min        0
      Max       11
    Event code 9 (ABS_GAS)
      Value      0
      Min        0
      Max        3
    Event code 16 (ABS_HAT0X)
      Value      0
      Min       -1
      Max        1
    Event code 17 (ABS_HAT0Y)
      Value      0
      Min       -1
      Max        1
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1358662071.788346, type 3 (EV_ABS), code 9 (ABS_GAS), value 1
Event: time 1358662071.788346, -------------- SYN_REPORT ------------
Event: time 1358662075.188293, type 3 (EV_ABS), code 9 (ABS_GAS), value 2
Event: time 1358662075.188293, -------------- SYN_REPORT ------------
Event: time 1358662079.725606, type 3 (EV_ABS), code 9 (ABS_GAS), value 3
Event: time 1358662079.725606, -------------- SYN_REPORT ------------
Event: time 1358662084.757001, type 3 (EV_ABS), code 9 (ABS_GAS), value 2
Event: time 1358662084.757001, -------------- SYN_REPORT ------------
Event: time 1358662087.388547, type 3 (EV_ABS), code 9 (ABS_GAS), value 1
Event: time 1358662087.388547, -------------- SYN_REPORT ------------
Event: time 1358662089.477327, type 3 (EV_ABS), code 9 (ABS_GAS), value 0
Event: time 1358662089.477327, -------------- SYN_REPORT ------------
^C
--

Can anyone else confirm this is a bug, or am I messing up some where?
Simon.

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux