Comment 4 for bug 206963

Revision history for this message
Jeremy Nickurak (nickurak) wrote :

The hotplug issue was a result of me using /etc/hal/fdi/policy/10-x11-input.fdi to allow access to all input devices (since this behavior is no longer supported in evdev directly).

I was able to work around this by:
- applying http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=47eb658e802775021e3efec109f95431cca188ca (which didn't patch cleanly, so I just upgraded config/hal.c entirely), to add support for arbitrary device options in a hal fdi
- editing 10-x11-input.fdi as follows:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
 <device>
  <!-- FIXME: Support tablets too. -->
  <match key="info.capabilities" contains="input.mouse">
   <merge key="input.x11_driver" type="string">mouse</merge>
   <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
    <merge key="input.x11_driver" type="string">evdev</merge>

    <!-- Logitech tweaks -->
    <match key="@input.originating_device:usb.vendor_id" int="0x46d">
     <match key="@input.originating_device:usb.product_id" int_outof="0xc50e;0xc518">
      <merge key="input.x11_options.RelHWHEELOptions" type="string">invert</merge>
     </match>
    </match>
   </match>
  </match>

  <match key="info.capabilities" contains="input.keys">
  <!-- If we're using Linux, we use evdev by default (falling back to keyboard otherwise). -->
   <merge key="input.x11_driver" type="string">keyboard</merge>
   <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
    <merge key="input.x11_driver" type="string">evdev</merge>
    <merge key="input.xkb.layout" type="string">dvorak</merge>
   </match>
  </match>
 </device>
</deviceinfo>