Magellan Linux

Annotation of /trunk/xorg-server/patches/xorg-server-1.4.99.906-no-evdev-keyboards.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 672 - (hide annotations) (download)
Sun Aug 24 13:46:34 2008 UTC (15 years, 8 months ago) by niro
File size: 1505 byte(s)
-evdev patch for xorg-1.4.99.906

1 niro 672 From e654ed62d44b8d61484f97eab1b1adbfb08d375f Mon Sep 17 00:00:00 2001
2     From: Dave Airlie <airlied@redhat.com>
3     Date: Thu, 12 Jun 2008 11:52:29 +1000
4     Subject: [PATCH] config: disable evdev for keyboards
5    
6     ---
7     config/hal.c | 28 ++++++++++++++++++++++++++++
8     1 files changed, 28 insertions(+), 0 deletions(-)
9    
10     diff --git a/config/hal.c b/config/hal.c
11     index f4eb438..ee0f18f 100644
12     --- a/config/hal.c
13     +++ b/config/hal.c
14     @@ -168,6 +168,31 @@ get_prop_string_array(LibHalContext *hal_ctx, const char *udi, const char *prop)
15     }
16     #endif
17    
18     +static Bool
19     +get_device_is_keyboard(LibHalContext *hal_ctx, const char *udi, DBusError *error_p)
20     +{
21     + char **props;
22     + int i;
23     + Bool ret = FALSE;
24     +
25     + props = libhal_device_get_property_strlist(hal_ctx, udi,
26     + "info.capabilities", error_p);
27     + if (!props) {
28     + return FALSE;
29     + }
30     + for (i = 0; props[i]; i++) {
31     + if (strcmp(props[i], "input.keys") == 0 ||
32     + strcmp(props[i], "input.keyboard") == 0) {
33     + ret = TRUE;
34     + goto out_error;
35     + }
36     + }
37     +
38     +out_error:
39     + libhal_free_string_array(props);
40     + return ret;
41     +}
42     +
43     static void
44     device_added(LibHalContext *hal_ctx, const char *udi)
45     {
46     @@ -184,6 +209,9 @@ device_added(LibHalContext *hal_ctx, const char *udi)
47    
48     dbus_error_init(&error);
49    
50     + if (get_device_is_keyboard(hal_ctx, udi, &error))
51     + goto unwind;
52     +
53     driver = get_prop_string(hal_ctx, udi, "input.x11_driver");
54     if (!driver){
55     /* verbose, don't tell the user unless they _want_ to see it */
56     --
57     1.5.3.7
58