Definition for Magic Mouse assistance with XML foo.

Mike Mestnik mmestnik at nagios.com
Fri Mar 5 21:11:35 PST 2010


I found this some where on-line, but to save space I removed the comments.
What I'd like to accomplish is to switch from evdev to synaptics and
to turn encryption of the Bluetooth connection on.  The following
should do this, but it's completely ignored.

overrun:~# cat /etc/hal/fdi/policy/MagicMouse.fdi
?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.product" contains="Apple Wireless Mouse">
        <merge key="input.x11_driver" type="string">synaptics</merge>
	<merge key="input.x11_options.SHMConfig" type="string">true</merge>
	<append key="info.callouts.add" type="strlist">bash -c 'hcitool enc
$(echo "$HAL_PROP_INPUT_ORIGINATING_DEVICE" | sed
"s%^/org/freedesktop/Hal/devices/bluetooth_acl_\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)$%\1:\2:\3:\4:\5:\6%")'</append>
    </match>
  </device>
</deviceinfo>

Here is some other information:
overrun:~# hal-device
0: udi = '/org/freedesktop/Hal/devices/bluetooth_acl_34159ed3c6da_logicaldev_input_0'
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  info.capabilities = { 'input', 'input.mouse' } (string list)
  linux.device_file = '/dev/input/event7'  (string)
  info.category = 'input'  (string)
  input.originating_device =
'/org/freedesktop/Hal/devices/bluetooth_acl_34159ed3c6da'  (string)
  input.device = '/dev/input/event7'  (string)
  input.product = 'Apple Wireless Mouse'  (string)
  info.subsystem = 'input'  (string)
  info.product = 'Apple Wireless Mouse'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/bluetooth/hci0/hci0:41/input7/event7'
 (string)
  info.parent =
'/org/freedesktop/Hal/devices/bluetooth_acl_34159ed3c6da'  (string)
  input.x11_driver = 'evdev'  (string)
  info.udi = '/org/freedesktop/Hal/devices/bluetooth_acl_34159ed3c6da_logicaldev_input_0'
 (string)

1: udi = '/org/freedesktop/Hal/devices/bluetooth_acl_34159ed3c6da_logicaldev_input'
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  info.capabilities = { 'input', 'input.mouse' } (string list)
  linux.device_file = '/dev/input/event6'  (string)
  info.category = 'input'  (string)
  input.originating_device =
'/org/freedesktop/Hal/devices/bluetooth_acl_34159ed3c6da'  (string)
  input.device = '/dev/input/event6'  (string)
  input.product = 'Apple Wireless Mouse'  (string)
  info.subsystem = 'input'  (string)
  info.product = 'Apple Wireless Mouse'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/bluetooth/hci0/hci0:41/input6/event6'
 (string)
  info.parent =
'/org/freedesktop/Hal/devices/bluetooth_acl_34159ed3c6da'  (string)
  input.x11_driver = 'evdev'  (string)
  info.udi = '/org/freedesktop/Hal/devices/bluetooth_acl_34159ed3c6da_logicaldev_input'
 (string)

overrun:~# cat /proc/bus/input/devices
I: Bus=0005 Vendor=05ac Product=030d Version=0084
N: Name="Apple Wireless Mouse"
P: Phys=00:15:E9:65:36:E4
S: Sysfs=/devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/bluetooth/hci0/hci0:41/input6
U: Uniq=34:15:9E:D3:C6:DA
H: Handlers=mouse1 event6
B: EV=17
B: KEY=30000 0 0 0 0 0 0 0 0
B: REL=3
B: MSC=10

I: Bus=0005 Vendor=05ac Product=030d Version=0084
N: Name="Apple Wireless Mouse"
P: Phys=00:15:E9:65:36:E4
S: Sysfs=/devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/bluetooth/hci0/hci0:41/input7
U: Uniq=34:15:9E:D3:C6:DA
H: Handlers=mouse2 event7
B: EV=f
B: KEY=20 0 70000 0 0 0 0 0 0 0 0
B: REL=103
B: ABS=2730000 0

Yes, I know there are two devices.  From what I can tell event7 is
what I would like to connect two, it currently spits out data when I
touch the mouse(that is I don't cause any input that's currently
interpreted).  Most of the mouse's event(s) are accessible on this
device, the top of the mouse is one big button that clicks when you
press down.  I don't get an event when I do this(while not touching
the multi-touchpad), but when I release I get 64 bytes from the mouse.

More then anything I need help with the syntax and a way to
differentiate each of these devices.

-- 
Mike Mestnik
Technical Team
___
Nagios Enterprises, LLC
Email: mmestnik at nagios.com
Web: www.nagios.com


More information about the hal mailing list