<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 - Asus Wireless Radio Control no longer works after updating to 1.9.3"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=104041">104041</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Asus Wireless Radio Control no longer works after updating to 1.9.3
          </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>maxtram95@gmail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=135882" name="attach_135882" title="evemu-record /dev/input/event3">attachment 135882</a> <a href="attachment.cgi?id=135882&action=edit" title="evemu-record /dev/input/event3">[details]</a></span>
evemu-record /dev/input/event3

I'm on Arch Linux and ASUS E202SA laptop. This laptop (like many ASUSes) has a
dedicated button to turn the wireless devices on and off. This button is Fn+F2,
but it's actually a separate input device provided by asus_wireless kernel
module.

This button works fine in X11 with libinput 1.9.2 although some patching of
xkeyboard-config is required: <a href="https://patchwork.freedesktop.org/patch/155965/">https://patchwork.freedesktop.org/patch/155965/</a>
(I have no clue why this change is still not upstreamed, but I have patched it
locally). This xkeyboard-config patch is required for X11 to recognize
KEY_RFKILL that is sent by asus_wireless driver.

However, libinput 1.9.3 introduced a regression: this button no longer works in
X11. Faulty is the combination of libinput 1.9.3 and asus_wireless's input
device. If I either use libinput 1.9.2 or press KEY_RFKILL on the atkbd (I
remapped a key with udev to test that), it gets delivered to X11 and shows up
as XF86WLAN. But for some reason, libinput 1.9.3 ignores asus_wireless's
"keyboard".


git bisect results:

git bisect start
# bad: [05a2da818b7ff6d629b90611e8b4a0e06eb5b0ba] libinput 1.9.3
git bisect bad 05a2da818b7ff6d629b90611e8b4a0e06eb5b0ba
# good: [56bcb2999e92b0814768cdcf075dd87a5b09e446] libinput 1.9.2
git bisect good 56bcb2999e92b0814768cdcf075dd87a5b09e446
# good: [fc78e88870ef06623454c723b4a535ad39b8b544] fallback: drop unused
ratelimit struct
git bisect good fc78e88870ef06623454c723b4a535ad39b8b544
# bad: [c77b6b4c96ccaf9a1f5e490c6ed6368eab2f9236] evdev: add new debouncing
code
git bisect bad c77b6b4c96ccaf9a1f5e490c6ed6368eab2f9236
# bad: [8c55bc060df837f986f57c8c26ae2f9c58963bcc] fallback: change to handle
the state at EV_SYN time
git bisect bad 8c55bc060df837f986f57c8c26ae2f9c58963bcc
# good: [52cdbc1299b63e5f03abdc9b4357de55f3919e1a] evdev: fix axis mixup for
the wheel click angles
git bisect good 52cdbc1299b63e5f03abdc9b4357de55f3919e1a
# first bad commit: [8c55bc060df837f986f57c8c26ae2f9c58963bcc] fallback: change
to handle the state at EV_SYN time


evtest output when I press Fn+F2 once:

# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      Lid Switch
/dev/input/event1:      Sleep Button
/dev/input/event2:      Power Button
/dev/input/event3:      Asus Wireless Radio Control
/dev/input/event4:      PC Speaker
/dev/input/event5:      USB2.0 VGA UVC WebCam: USB2.0 V
/dev/input/event6:      Video Bus
/dev/input/event7:      Elan Touchpad
/dev/input/event8:      AT Translated Set 2 keyboard
/dev/input/event9:      Asus WMI hotkeys
/dev/input/event10:     HDA Digital PCBeep
/dev/input/event11:     HDA Intel PCH Mic
/dev/input/event12:     HDA Intel PCH Headphone
/dev/input/event13:     HDA Intel PCH HDMI/DP,pcm=3
Select the device event number [0-13]: 3
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1043 product 0x0 version 0x0
Input device name: "Asus Wireless Radio Control"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 247 (KEY_RFKILL)
Properties:
Testing ... (interrupt to exit)
Event: time 1512253623.665926, type 1 (EV_KEY), code 247 (KEY_RFKILL), value 1
Event: time 1512253623.665926, type 1 (EV_KEY), code 247 (KEY_RFKILL), value 0
Event: time 1512253623.665926, -------------- SYN_REPORT ------------
^C


xinput output:

$ xinput list-props 'AT Translated Set 2 keyboard'
Device 'AT Translated Set 2 keyboard':
        Device Enabled (140):   1
        Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Send Events Modes Available (264):     1, 0
        libinput Send Events Mode Enabled (265):        0, 0
        libinput Send Events Mode Enabled Default (266):        0, 0
        Device Node (267):      "/dev/input/event8"
        Device Product ID (268):        1, 1


udevadm output:

$ udevadm info /sys/class/input/event3/
P: /devices/LNXSYSTM:00/LNXSYBUS:00/ATK4002:00/input/input3/event3
N: input/event3
E: DEVNAME=/dev/input/event3
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/ATK4002:00/input/input3/event3
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_PATH=acpi-ATK4002:00
E: ID_PATH_TAG=acpi-ATK4002_00
E: LIBINPUT_DEVICE_GROUP=19/1043/0:asus-wireless
E: MAJOR=13
E: MINOR=67
E: SUBSYSTEM=input
E: TAGS=:power-switch:
E: USEC_INITIALIZED=5723795


evemu output is attached.</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>