ok, I configured HAL to give what QT is expecting...

Here's how I did it (no warranty implied :

use lshal to find out what the wacom devices are know by (pipe to less with "lshal | less" and search for wacom). Look for the info.product key. In my case they were "PnP Device (FUJ02e5)" for the stylus and "PnP Device (FUJ02e5) eraser" for the eraser. Take note of the info.udi key or something else that uniquely identifies the entry. My info.uid values were:

"/org/freedesktop/Hal/devices/pnp_FUJ02e5_serial_platform_0" and
"/org/freedesktop/Hal/devices/pnp_FUJ02e5_serial_platform_0_subdev"

now you want to rewrite the info.product key to say "stylus" and "eraser" since this is what QT picks up on ... so create an fdi file in /etc/hal/fdi/policy/ with the following edited for your values:

Qt Code:
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <deviceinfo version="0.2">
  3. <device>
  4.  
  5. <match key="info.udi" string="/org/freedesktop/Hal/devices/pnp_FUJ02e5_serial_platform_0">
  6. <merge key="info.product" type="string">stylus</merge>
  7. </match>
  8.  
  9. <match key="info.udi" string="/org/freedesktop/Hal/devices/pnp_FUJ02e5_serial_platform_0_subdev">
  10. <merge key="info.product" type="string">eraser</merge>
  11. </match>
  12.  
  13. </device>
  14. </deviceinfo>
To copy to clipboard, switch view to plain text mode 

what it does, is match the entry based on info.udi, and replace the info.product value.

now restart HAL with /etc/init.d/hal restart, check that everything worked with lshal and if it did restart X, and you should be good to go.

phew. It's not exactly what you want an end user of your app to go through, even if they do run linux