<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 - Mouse buttons cannot be mapped with KEYBOARD_KEY"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=86420">86420</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Mouse buttons cannot be mapped with KEYBOARD_KEY
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>systemd
          </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>general
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>bugzilla@maildrop.cc
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Hi,

My remote presents itself (via an attached USB receiver dongle) as two devices,
a mouse and a keyboard. I'd like to map the mouse buttons to keyboard keys, but
have been unable to do so. Is this a bug, a missing feature, or a configuration
error on my part?

This is my remote:

<a href="http://www.amazon.com/Aerb-Multifunction-Wireless-Keyboard-3-Gsensor/dp/B00K768DHY">http://www.amazon.com/Aerb-Multifunction-Wireless-Keyboard-3-Gsensor/dp/B00K768DHY</a>

This is what the kernel logs when I attach the dongle:

[22989.504209] usb 3-1: USB disconnect, device number 3
[22990.628131] usb 3-1: new full-speed USB device number 4 using uhci_hcd
[22990.787132] usb 3-1: New USB device found, idVendor=0c45, idProduct=2b02
[22990.787136] usb 3-1: New USB device strings: Mfr=1, Product=2,
SerialNumber=0
[22990.787139] usb 3-1: Product: 2.4G Wireless Device
[22990.787141] usb 3-1: Manufacturer: 2.4G
[22990.829719] input: 2.4G 2.4G Wireless Device as
/devices/pci0000:00/0000:00:1a.1/usb3/3-1/3-1:1.2/0003:0C45:2B02.0005/input/input27
[22990.830459] hid-generic 0003:0C45:2B02.0005: input,hiddev0,hidraw0: USB HID
v1.10 Mouse [2.4G 2.4G Wireless Device] on usb-0000:00:1a.1-1/input2
[22990.835287] input: 2.4G 2.4G Wireless Device as
/devices/pci0000:00/0000:00:1a.1/usb3/3-1/3-1:1.3/0003:0C45:2B02.0006/input/input28
[22990.835519] hid-generic 0003:0C45:2B02.0006: input,hidraw1: USB HID v1.10
Keyboard [2.4G 2.4G Wireless Device] on usb-0000:00:1a.1-1/input3

This is what evtest tells me about the mouse buttons when I click them:

No device specified, trying to scan all of /dev/input/event*
Available devices:
[SNIP]
/dev/input/event16:     2.4G 2.4G Wireless Device
/dev/input/event17:     2.4G 2.4G Wireless Device
Select the device event number [0-17]: 16
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xc45 product 0x2b02 version 0x110
Input device name: "2.4G 2.4G Wireless Device"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
    Event code 275 (BTN_SIDE)
    Event code 276 (BTN_EXTRA)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
    Event code 8 (REL_WHEEL)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1416264046.211254, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1416264046.211254, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
Event: time 1416264046.211254, -------------- EV_SYN ------------
Event: time 1416264046.271254, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1416264046.271254, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0
Event: time 1416264046.271254, -------------- EV_SYN ------------
Event: time 1416264051.295253, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1416264051.295253, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 1
Event: time 1416264051.295253, -------------- EV_SYN ------------
Event: time 1416264051.419273, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1416264051.419273, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 0
Event: time 1416264051.419273, -------------- EV_SYN ------------

This is what I've added to /etc/udev/hwdb.d/99-local.hwdb:

keyboard:usb:v0C45p2B02*
 KEYBOARD_KEY_90001=select
 KEYBOARD_KEY_90002=back

To make my changes to /etc/udev/hwdb.d/99-local.hwdb stick I run

# udevadm hwdb --update
# udevadm trigger

The original scancode/keycode mappings remain in effect, however.

I've tried replugging the receiver dongle and even rebooting, and I've also
tested with a bog-standard, three-button (wheeled) mouse, all to no avail.

This is what /proc/bus/input/devices has to say about the devices:

I: Bus=0003 Vendor=0c45 Product=2b02 Version=0110
N: Name="2.4G 2.4G Wireless Device"
P: Phys=usb-0000:00:1a.1-1/input2
S:
Sysfs=/devices/pci0000:00/0000:00:1a.1/usb3/3-1/3-1:1.2/0003:0C45:2B02.0005/input/input27
U: Uniq=
H: Handlers=mouse1 event16
B: PROP=0
B: EV=17
B: KEY=1f0000 0 0 0 0
B: REL=103
B: MSC=10

I: Bus=0003 Vendor=0c45 Product=2b02 Version=0110
N: Name="2.4G 2.4G Wireless Device"
P: Phys=usb-0000:00:1a.1-1/input3
S:
Sysfs=/devices/pci0000:00/0000:00:1a.1/usb3/3-1/3-1:1.3/0003:0C45:2B02.0006/input/input28
U: Uniq=
H: Handlers=sysrq kbd event17
B: PROP=0
B: EV=12001f
B: KEY=3007f 0 0 4c3ffff17aff32d bf54444600000000 1 130f938b17c007
ffff7bfad951dfff febeffdfffefffff fffffffffffffffe
B: REL=40
B: ABS=100000000
B: MSC=10
B: LED=1f

Now, since mapping works perfectly with the keyboard device part of my
remote and another air mouse

<a href="http://forum.kodi.tv/showthread.php?tid=143571&pid=1499166#pid1499166">http://forum.kodi.tv/showthread.php?tid=143571&pid=1499166#pid1499166</a>

has been reported to work with a hwdb addition similar to mine

<a href="http://openelec.tv/forum/104-bluetooth-remotes/66542-help-configuring-keyboard-mapping-starting-3-1-6?start=15#90824">http://openelec.tv/forum/104-bluetooth-remotes/66542-help-configuring-keyboard-mapping-starting-3-1-6?start=15#90824</a>

I'm inclined to believe that (currently) for mapping to work for a particular
device, "kbd" has to be listed as a handler for that device. Is this correct?
If so, what can be done about it?

If you need more logs I can provide them. If you need me to test something I
can do that too.

My systemd is version 215 with various Debian (unstable) patches. I suspect
that does not make much of a difference.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>