f4a1f0f
diff --git a/config/hal.c b/config/hal.c
f4a1f0f
index 3479be9..a235876 100644
f4a1f0f
--- a/config/hal.c
f4a1f0f
+++ b/config/hal.c
f4a1f0f
@@ -177,7 +177,8 @@ device_added(LibHalContext *hal_ctx, const char *udi)
f4a1f0f
         if (strcmp(props[i], "input.keys") == 0 ||
f4a1f0f
             strcmp(props[i], "input.keyboard") == 0)
f4a1f0f
             type |= TYPE_KEYS;
f4a1f0f
-        if (strcmp(props[i], "input.mouse") == 0)
f4a1f0f
+        if (strcmp(props[i], "input.mouse") == 0 ||
f4a1f0f
+            strcmp(props[i], "input.touchpad") == 0)
f4a1f0f
             type |= TYPE_POINTER;
f4a1f0f
     }
f4a1f0f
     libhal_free_string_array(props);
f4a1f0f
diff --git a/config/x11-input.fdi b/config/x11-input.fdi
f4a1f0f
index c390706..20c73fa 100644
f4a1f0f
--- a/config/x11-input.fdi
f4a1f0f
+++ b/config/x11-input.fdi
f4a1f0f
@@ -1,7 +1,14 @@
f4a1f0f
 
f4a1f0f
 <deviceinfo version="0.2">
f4a1f0f
   <device>
f4a1f0f
-    
f4a1f0f
+    <match key="info.capabilities" contains="input.touchpad">
f4a1f0f
+      <merge key="input.x11_driver" type="string">mouse</merge>
f4a1f0f
+      
f4a1f0f
+             string="Linux">
f4a1f0f
+        <merge key="input.x11_driver" type="string">evdev</merge>
f4a1f0f
+      </match>
f4a1f0f
+    </match>
f4a1f0f
+
f4a1f0f
     <match key="info.capabilities" contains="input.mouse">
f4a1f0f
       <merge key="input.x11_driver" type="string">mouse</merge>
f4a1f0f
       
f4a1f0f
@@ -16,6 +23,25 @@
f4a1f0f
       
f4a1f0f
            keyboard otherwise). -->
f4a1f0f
       <merge key="input.x11_driver" type="string">keyboard</merge>
f4a1f0f
+      <merge key="input.xkb.model" type="string">olpc</merge>
f4a1f0f
+      
f4a1f0f
+             string="Linux">
f4a1f0f
+        <merge key="input.x11_driver" type="string">evdev</merge>
f4a1f0f
+        <merge key="input.xkb.model" type="string">evdev</merge>
f4a1f0f
+      </match>
f4a1f0f
+
f4a1f0f
+      <merge key="input.xkb.layout" type="string">us</merge>
f4a1f0f
+
f4a1f0f
+      <merge key="input.xkb.variant" type="string" />
f4a1f0f
+    </match>
f4a1f0f
+
f4a1f0f
+    
f4a1f0f
+    <match key="info.capabilities" contains="input.keyboard">
f4a1f0f
+      <merge key="input.xkb.rules" type="string">base</merge>
f4a1f0f
+
f4a1f0f
+      
f4a1f0f
+           keyboard otherwise). -->
f4a1f0f
+      <merge key="input.x11_driver" type="string">keyboard</merge>
f4a1f0f
       <merge key="input.xkb.model" type="string">pc105</merge>
f4a1f0f
       
f4a1f0f
              string="Linux">