summaryrefslogtreecommitdiff
path: root/source/l/hal/patches/handle_input.touchpad_explicitly.diff
blob: b1231d6dedc364157eb43ebf70c4ee5469af4c06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
commit 6dccf8e3ad181e8f56b1d2a994ec50a1953a1c2d
Author: Michael Witten <mfwitten@gmail.com>
Date:   Tue Jan 5 18:53:17 2010 -0600

    Policy: handle `input.touchpad' explicitly
    
    This commit essentially duplicates the policy for:
    
       <match key="info.capabilities" contains="input.mouse">
    
    and then changes `input.mouse' to `input.touchpad'. This
    is necessary because in Linus Torvalds's Linux repo:
    
        git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
    
    the following commit:
    
        commit 7105d2ea73e1391b681d0e1212c42f561c64d429
        Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
        Date:   Fri Dec 11 23:54:54 2009 -0800
    
            Input: ALPS - do not set REL_X/REL_Y capabilities on the touchpad
    
            Relative events are only reported via secondary device therefore device
            associated with the touchpad should not advertise these capabilities.
    
            Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
    
    so that HAL no longer adds:
    
        input.mouse
    
    to an ALPS touchpad's:
    
        info.capabilities
    
    so that HAL no longer marks the ALPS touchpad with:
    
        input.x11_driver = 'evdev'
    
    because the policy file:
    
        fdi/policy/10osvendor/10-x11-input.fdi
    
    doesn't define the policy for:
    
        <match key="info.capabilities" contains="input.touchpad">
    
    which was previous unnecessary because everything used to
    be caught by the policy for:
    
        <match key="info.capabilities" contains="input.mouse">
    
    Signed-off-by: Michael Witten <mfwitten@gmail.com>
    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>

diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
index cff8fc5..8bbe263 100644
--- a/fdi/policy/10osvendor/10-x11-input.fdi
+++ b/fdi/policy/10osvendor/10-x11-input.fdi
@@ -16,6 +16,14 @@
       </match>
     </match>
 
+    <match key="info.capabilities" contains="input.touchpad">
+      <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>
+      </match>
+    </match>
+
     <match key="info.capabilities" contains="input.tablet">
       <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
              string="Linux">