<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:noabody@yahoo.com" title="noabody@yahoo.com">noabody@yahoo.com</a>
</span> changed
          <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - Logitech K400: double tap on touchpad is filtered by debouncing code"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=106534">bug 106534</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Attachment #139584 is obsolete</td>
           <td>
                
           </td>
           <td>1
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - Logitech K400: double tap on touchpad is filtered by debouncing code"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=106534#c5">Comment # 5</a>
              on <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - Logitech K400: double tap on touchpad is filtered by debouncing code"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=106534">bug 106534</a>
              from <span class="vcard"><a class="email" href="mailto:noabody@yahoo.com" title="noabody@yahoo.com">noabody@yahoo.com</a>
</span></b>
        <pre>Created <span class=""><a href="attachment.cgi?id=139604" name="attach_139604" title="Segmented Patch for source package in Cosmic 1.10.6">attachment 139604</a> <a href="attachment.cgi?id=139604&action=edit" title="Segmented Patch for source package in Cosmic 1.10.6">[details]</a></span> <a href='page.cgi?id=splinter.html&bug=106534&attachment=139604'>[review]</a>
Segmented Patch for source package in Cosmic 1.10.6

Going to write this detailed so other users can begin submitting their problem
device patches.

How to tell if an input device matches?  Double-tap or click works but not as
expected.  The second tap or click seems to be ignored and works if the user
lengthens the time between the first and second tap/click.

lsusb
Bus 008 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver

dmesg |grep -i Logitech
input: Logitech K830 as
/devices/pci0000:00/0000:00:10.1/usb8/8-2/8-2.2/8-2.2:1.2/0003:046D:C52B.0003/0003:046D:404C.0004/input/input3

cat /sys/class/input/input3/event3/device/modalias 
input:b0003v046Dp404Ce0111-e0,[...],sfw

Notice how the modalias numbers match the dmesg.  Our target will be:
libinput:mouse:input:b0003v046Dp404C*

Using Ubuntu 18.04 bionic, there's a K400 patch already in upstream 18.10
cosmic so add *only* its source repository:
echo "deb-src <a href="http://us.archive.ubuntu.com/ubuntu/">http://us.archive.ubuntu.com/ubuntu/</a> cosmic main universe
multiverse" | sudo tee /etc/apt/sources.list.d/cosmic.list
sudo apt update
sudo apt build-dep libinput10
apt source libinput10
cd libinput-1.10.6

Determine which libinput components are installed:
apt policy libinput10 libinput-dev libinput-bin libinput-tools
libinput10:
  Installed: 1.10.4-1
  Candidate: 1.10.4-1
  Version table:
     1.10.4-1 500
        500 <a href="http://us.archive.ubuntu.com/ubuntu">http://us.archive.ubuntu.com/ubuntu</a> bionic/main amd64 Packages
libinput-dev:
  Installed: 1.10.4-1
  Candidate: 1.10.4-1
  Version table:
     1.10.4-1 500
        500 <a href="http://us.archive.ubuntu.com/ubuntu">http://us.archive.ubuntu.com/ubuntu</a> bionic/main amd64 Packages
libinput-bin:
  Installed: 1.10.4-1
  Candidate: 1.10.4-1
  Version table:
     1.10.4-1 500
        500 <a href="http://us.archive.ubuntu.com/ubuntu">http://us.archive.ubuntu.com/ubuntu</a> bionic/main amd64 Packages
libinput-tools:
  Installed: (none)
  Candidate: 1.10.4-1
  Version table:
     1.10.4-1 500
        500 <a href="http://us.archive.ubuntu.com/ubuntu">http://us.archive.ubuntu.com/ubuntu</a> bionic/universe amd64 Packages

Search the contents of every file in the source directory for text "K400". 
Should return these files and edits are shown:
libinput-1.10.6.orig/src/evdev-debounce.c
Original:
        if (device->model_flags &
            (EVDEV_MODEL_MS_NANO_TRANSCEIVER|EVDEV_MODEL_LOGITECH_K400)) {
                dispatch->debounce.state = DEBOUNCE_STATE_DISABLED;
                return;
        }
Modified:
        if (device->model_flags &
           
(EVDEV_MODEL_MS_NANO_TRANSCEIVER|EVDEV_MODEL_LOGITECH_K400|EVDEV_MODEL_LOGITECH_K400r|EVDEV_MODEL_LOGITECH_K830|EVDEV_MODEL_LOGITECH_K400Plus))
{
                dispatch->debounce.state = DEBOUNCE_STATE_DISABLED;
                return;
        }

libinput-1.10.6.orig/src/evdev.c
Original:
                MODEL(LOGITECH_K400),
Modified:
                MODEL(LOGITECH_K400),
                MODEL(LOGITECH_K400r),
                MODEL(LOGITECH_K830),
                MODEL(LOGITECH_K400Plus),

libinput-1.10.6.orig/src/evdev.h
Original:
        EVDEV_MODEL_LOGITECH_K400 = (1 << 11),
        EVDEV_MODEL_TABLET_MODE_NO_SUSPEND = (1 << 30),
Modified:
        EVDEV_MODEL_LOGITECH_K400 = (1 << 11),
        EVDEV_MODEL_TABLET_MODE_NO_SUSPEND = (1 << 30),
        EVDEV_MODEL_LOGITECH_K400r = (1 << 31),
        EVDEV_MODEL_LOGITECH_K830 = (1 << 32),
        EVDEV_MODEL_LOGITECH_K400Plus = (1 << 33),

libinput-1.10.6.orig/udev/90-libinput-model-quirks.hwdb
Original:
# Logitech K400
libinput:mouse:input:b0003v046Dp4024*
 LIBINPUT_MODEL_LOGITECH_K400=1
Modified:
# Logitech K400
libinput:mouse:input:b0003v046Dp4024*
 LIBINPUT_MODEL_LOGITECH_K400=1

# Logitech K400r
libinput:mouse:input:b0003v046Dp404B*
 LIBINPUT_MODEL_LOGITECH_K400r=1

# Logitech K830
libinput:mouse:input:b0003v046Dp404C*
 LIBINPUT_MODEL_LOGITECH_K830=1

# Logitech K400Plus
libinput:mouse:input:b0003v046Dp404D*
 LIBINPUT_MODEL_LOGITECH_K400Plus=1

Commit changes to the local tree:
dpkg-source --commit
dpkg-source: info: local changes detected, the modified files are:
 libinput-1.10.6/src/evdev-debounce.c
 libinput-1.10.6/src/evdev.c
 libinput-1.10.6/src/evdev.h
 libinput-1.10.6/udev/90-libinput-model-quirks.hwdb
Enter the desired patch name: LOGICOMBO
Select (1) nano, CTRL+X, Y to save.  Created patch = debian/patches/LOGICOMBO,
specified in file debian/patches/series

debuild -uc -us
cd ..
dpkg -i libinput10_1.10.6-1_amd64.deb libinput-bin_1.10.6-1_amd64.deb
libinput-dev_1.10.6-1_amd64.deb

reboot


apt policy libinput10 libinput-dev libinput-bin libinput-tools
libinput10:
  Installed: 1.10.6-1
  Candidate: 1.10.6-1
  Version table:
 *** 1.10.6-1 100
        100 /var/lib/dpkg/status
     1.10.4-1 500
        500 <a href="http://us.archive.ubuntu.com/ubuntu">http://us.archive.ubuntu.com/ubuntu</a> bionic/main amd64 Packages
libinput-dev:
  Installed: 1.10.6-1
  Candidate: 1.10.6-1
  Version table:
 *** 1.10.6-1 100
        100 /var/lib/dpkg/status
     1.10.4-1 500
        500 <a href="http://us.archive.ubuntu.com/ubuntu">http://us.archive.ubuntu.com/ubuntu</a> bionic/main amd64 Packages
libinput-bin:
  Installed: 1.10.6-1
  Candidate: 1.10.6-1
  Version table:
 *** 1.10.6-1 100
        100 /var/lib/dpkg/status
     1.10.4-1 500
        500 <a href="http://us.archive.ubuntu.com/ubuntu">http://us.archive.ubuntu.com/ubuntu</a> bionic/main amd64 Packages
libinput-tools:
  Installed: (none)
  Candidate: 1.10.4-1
  Version table:
     1.10.4-1 500
        500 <a href="http://us.archive.ubuntu.com/ubuntu">http://us.archive.ubuntu.com/ubuntu</a> bionic/universe amd64 Packages

Notice that our packages are not associated with a bionic repository.  When
done testing, revert to package management version by specifing version number:
sudo apt install libinput10=1.10.4-1 libinput-dev=1.10.4-1
libinput-bin=1.10.4-1

All edits were based on conjecture.  I'm not a programmer, affiliated with
libinput development, nor do I really know anything about any of it.</pre>
        </div>
      </p>


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

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