<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - xinput list [name] shouldn't be restricted to a single match"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=104378">104378</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>xinput list [name] shouldn't be restricted to a single match
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Wayland
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>libinput
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>wayland-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>wavexx@thregr.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>xinput --version
xinput version 1.6.2
XI version on server: 2.3

I have a laptop system with two keyboards with the same name.
I'm trying to write a script to set some device parameters, and I was hoping to
get the device IDs by using:

  xinput list --id-only 'name'

However, while 'list --id-only' by itself works (spitting all IDs without any
useful info), list --id-only 'name' will refuse to list anything if multiple
devices from the same vendor exist.

I understand this behavior if I was using set-prop, but 'list' shouldn't have
this restriction. list should always list *all* matching devices.

Example:

xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Wacom Pen and multitouch sensor Finger touch      id=13   [slave  pointer
 (2)]
⎜   ↳ Wacom Pen and multitouch sensor Pen stylus        id=14   [slave  pointer
 (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=17   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=18   [slave  pointer  (2)]
⎜   ↳ Wacom Pen and multitouch sensor Pen eraser        id=20   [slave  pointer
 (2)]
⎜   ↳ PixArt HP USB Optical Mouse               id=9    [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C           id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=19   [slave  keyboard (3)]
    ↳ HID 05f3:0007                             id=10   [slave  keyboard (3)]
    ↳ HID 05f3:0007                             id=11   [slave  keyboard (3)]
    ↳ Plantronics Plantronics C320-M            id=12   [slave  keyboard (3)]

xinput list 'HID 05f3:0007'
Warning: There are multiple devices matching 'HID 05f3:0007'.
To ensure the correct one is selected, please use the device ID, or prefix the
device name with 'pointer:' or 'keyboard:' as appropriate.

unable to find device HID 05f3:0007</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>