open-src/xserver/xorg/hotkey.patch
author Alan Coopersmith <Alan.Coopersmith@Sun.COM>
Sat, 05 Dec 2009 22:13:03 -0800
changeset 851 d428083dbbdd
parent 764 ab397169f258
child 1088 1c99106ccbe0
permissions -rw-r--r--
6905171 X11R7.5 / Xorg 1.7.3 integration 6907686 Move X files from /usr/X11 to /usr [PSARC 2009/482] 6907695 Mesa & OpenGL switcher for SPARC [LSARC 2009/569] 6742737 deliver xf86-input-synaptics
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
     1
diff -urp -x '*~' -x '*.orig' Xi/exevents.c Xi/exevents.c
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
     2
--- Xi/exevents.c	2009-11-22 16:35:01.000000000 -0800
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
     3
+++ Xi/exevents.c	2009-12-02 18:58:25.404138833 -0800
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
     4
@@ -198,8 +198,16 @@ CopyKeyClass(DeviceIntPtr device, Device
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
     5
     KeyClassPtr mk = master->key;
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
     6
     KeyClassPtr dk = device->key;
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
     7
     int i;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
     8
+#ifdef SUNSOFT
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
     9
+    DeviceIntPtr mdev = dixLookupPrivate(&master->devPrivates,
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    10
+	HotkeyMapDevicePrivateKey);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    11
+#endif
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    12
 
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    13
+#ifdef SUNSOFT
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    14
+    if ((device == master) || (device == mdev))
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    15
+#else
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    16
     if (device == master)
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    17
+#endif
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    18
         return;
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    19
 
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    20
     mk->sourceid = device->id;
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    21
diff -urp -x '*~' -x '*.orig' config/hal.c config/hal.c
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    22
--- config/hal.c	2009-11-22 16:35:01.000000000 -0800
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    23
+++ config/hal.c	2009-12-02 18:58:25.404450482 -0800
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    24
@@ -186,6 +186,62 @@ device_is_duplicate(char *config_info)
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    25
     return FALSE;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    26
 }
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    27
 
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    28
+#ifdef SUNSOFT
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    29
+static void
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    30
+add_extra_device(char *driver)
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    31
+{
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    32
+    DeviceIntPtr	dev;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    33
+    char		*config_info = NULL;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    34
+    InputOption 	*options = NULL, *tmpo = NULL;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    35
+
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    36
+    options = xcalloc(sizeof(*options), 1);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    37
+    if (!options){
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    38
+	LogMessage(X_ERROR, "config/hal: couldn't allocate space for input options!\n");
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    39
+        goto unwind;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    40
+    }
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    41
+
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    42
+    options->key = xstrdup("_source");
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    43
+    options->value = xstrdup("server/hal");
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    44
+    if (!options->key || !options->value) {
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    45
+	LogMessage(X_ERROR, "config/hal: couldn't allocate first key/value pair\n");
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    46
+	goto unwind;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    47
+    }
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    48
+
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    49
+    add_option(&options, "driver", driver);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    50
+    add_option(&options, "name", driver);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    51
+
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    52
+    config_info = xalloc(strlen(driver) + 5); /* "hal:" and NULL */
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    53
+    if (!config_info) {
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    54
+	LogMessage(X_ERROR, "config/hal: couldn't allocate name\n");
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    55
+	goto unwind;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    56
+    }
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    57
+    sprintf(config_info, "hal:%s", driver);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    58
+
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    59
+    /* Check for duplicate devices */
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    60
+    if (device_is_duplicate(config_info))
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    61
+	goto unwind;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    62
+
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    63
+    LogMessage(X_INFO, "config/hal: Adding input device %s\n", driver);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    64
+    if (NewInputDeviceRequest(options, &dev) != Success) {
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    65
+	LogMessage(X_ERROR, "config/hal: NewInputDeviceRequest failed\n");
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    66
+	dev = NULL;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    67
+	goto unwind;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    68
+    }
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    69
+
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    70
+    dev->config_info = xstrdup(config_info);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    71
+
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    72
+unwind:
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    73
+    if (config_info)
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    74
+	xfree(config_info);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    75
+    while (!dev && (tmpo = options)) {
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    76
+	options = tmpo->next;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    77
+	xfree(tmpo->key);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    78
+	xfree(tmpo->value);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    79
+	xfree(tmpo);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    80
+    }
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    81
+}
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    82
+#endif
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    83
+
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    84
 static void
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    85
 device_added(LibHalContext *hal_ctx, const char *udi)
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    86
 {
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    87
@@ -195,6 +251,9 @@ device_added(LibHalContext *hal_ctx, con
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    88
     DBusError error;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    89
     struct xkb_options xkb_opts = {0};
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    90
     int rc;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    91
+#ifdef SUNSOFT
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    92
+    char *mdriver = NULL;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    93
+#endif
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    94
 
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    95
     LibHalPropertySet *set = NULL;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    96
 	LibHalPropertySetIterator set_iter;
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
    97
@@ -398,6 +457,16 @@ device_added(LibHalContext *hal_ctx, con
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    98
     if (xkb_opts.options)
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
    99
         add_option(&options, "xkb_options", xkb_opts.options);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   100
 
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   101
+#ifdef SUNSOFT
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   102
+    for (tmpo = options; tmpo; tmpo = tmpo->next) {
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   103
+	if (!strcmp(tmpo->key, "mdriver") && (tmpo->value))
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   104
+	    mdriver = tmpo->value;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   105
+    }
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   106
+ 
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   107
+    if (mdriver)
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   108
+	add_extra_device (mdriver);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   109
+#endif
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   110
+   
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   111
     /* this isn't an error, but how else do you output something that the user can see? */
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   112
     LogMessage(X_INFO, "config/hal: Adding input device %s\n", name);
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   113
     if ((rc = NewInputDeviceRequest(options, &dev)) != Success) {
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   114
diff -urp -x '*~' -x '*.orig' config/x11-input.fdi config/x11-input.fdi
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   115
--- config/x11-input.fdi	2009-10-27 23:56:19.000000000 -0700
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   116
+++ config/x11-input.fdi	2009-12-02 18:58:25.404611476 -0800
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   117
@@ -76,6 +76,12 @@
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   118
       <!-- If we're using Linux, we use evdev by default (falling back to
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   119
            kbd otherwise). -->
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   120
       <merge key="input.x11_driver" type="string">kbd</merge>
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   121
+        <match key="/org/freedesktop/Hal/devices/computer:system.formfactor" string="laptop">
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   122
+          <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   123
+                string="SunOS">
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   124
+            <merge key="input.x11_options.mdriver" type="string">hotkey</merge>
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   125
+          </match>
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   126
+        </match>
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   127
       <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   128
       <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   129
              string="Linux">
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   130
diff -urp -x '*~' -x '*.orig' dix/devices.c dix/devices.c
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   131
--- dix/devices.c	2009-12-02 18:58:23.505610344 -0800
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   132
+++ dix/devices.c	2009-12-02 18:58:25.405167943 -0800
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   133
@@ -91,6 +91,10 @@ SOFTWARE.
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   134
 
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   135
 static int CoreDevicePrivateKeyIndex;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   136
 DevPrivateKey CoreDevicePrivateKey = &CoreDevicePrivateKeyIndex;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   137
+#ifdef SUNSOFT
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   138
+static int HotkeyMapDevicePrivateKeyIndex;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   139
+DevPrivateKey HotkeyMapDevicePrivateKey = &HotkeyMapDevicePrivateKeyIndex;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   140
+#endif
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   141
 /* Used to store classes currently not in use by an MD */
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   142
 static int UnusedClassesPrivateKeyIndex;
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   143
 DevPrivateKey UnusedClassesPrivateKey = &UnusedClassesPrivateKeyIndex;
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   144
diff -urp -x '*~' -x '*.orig' include/inputstr.h include/inputstr.h
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   145
--- include/inputstr.h	2009-11-22 16:35:01.000000000 -0800
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   146
+++ include/inputstr.h	2009-12-02 18:58:25.405410778 -0800
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   147
@@ -56,6 +56,10 @@ SOFTWARE.
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   148
 #include "geext.h"
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   149
 #include "privates.h"
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   150
 
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   151
+#ifdef SUNSOFT
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   152
+extern _X_EXPORT DevPrivateKey HotkeyMapDevicePrivateKey;
764
ab397169f258 6824603 ACPI hotkey X support
Henry Zhao <Henry.Zhao@Sun.COM>
parents:
diff changeset
   153
+#endif
851
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   154
+
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   155
 #define BitIsOn(ptr, bit) (((BYTE *) (ptr))[(bit)>>3] & (1 << ((bit) & 7)))
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   156
 #define SetBit(ptr, bit)  (((BYTE *) (ptr))[(bit)>>3] |= (1 << ((bit) & 7)))
d428083dbbdd 6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 764
diff changeset
   157
 #define ClearBit(ptr, bit) (((BYTE *)(ptr))[(bit)>>3] &= ~(1 << ((bit) & 7)))