diff options
author | 2007-12-03 01:20:10 +0000 | |
---|---|---|
committer | 2007-12-03 01:20:10 +0000 | |
commit | bac7edb284d2a5ab3003768e240f95946e0f1ced (patch) | |
tree | d2a1855cc1dd64c179deba644a4beef2071abe08 /x11-base | |
parent | latest madwifi svn (diff) | |
download | je_fro-bac7edb284d2a5ab3003768e240f95946e0f1ced.tar.gz je_fro-bac7edb284d2a5ab3003768e240f95946e0f1ced.tar.bz2 je_fro-bac7edb284d2a5ab3003768e240f95946e0f1ced.zip |
add keyboard led support along with fix for xmodmap in xinitrc loading
svn path=/; revision=137
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/xorg-server/Manifest | 16 | ||||
-rw-r--r-- | x11-base/xorg-server/files/1.4-fix-kbdleds.patch | 26 | ||||
-rw-r--r-- | x11-base/xorg-server/files/1.4-mapping-changes-for-all.diff | 155 | ||||
-rw-r--r-- | x11-base/xorg-server/xorg-server-1.4-r2.ebuild | 8 |
4 files changed, 198 insertions, 7 deletions
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index f90bcf7..abd6868 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -14,6 +14,10 @@ AUX 1.4-fix-dmx-link.patch 363 RMD160 429ce2827b9a5047ea7ad5ca4ec93740e85099af S MD5 49206d18902c871f3be65363a3a4ef48 files/1.4-fix-dmx-link.patch 363 RMD160 429ce2827b9a5047ea7ad5ca4ec93740e85099af files/1.4-fix-dmx-link.patch 363 SHA256 50fbbe7391a354de2fa321944b921193e1097eaed4d775e343687f4a1a33a002 files/1.4-fix-dmx-link.patch 363 +AUX 1.4-fix-kbdleds.patch 771 RMD160 c693549dc5d725752d45f4300459941f1b2470b7 SHA1 c04eaab797c452e2e42b77d65db7b8107bcdc9be SHA256 d64a32bd4ddcf7dbebc993a2e8df28326c483484456e5d924c32d4186dd58fa7 +MD5 ece3126122e999ee24ad72c394200fc2 files/1.4-fix-kbdleds.patch 771 +RMD160 c693549dc5d725752d45f4300459941f1b2470b7 files/1.4-fix-kbdleds.patch 771 +SHA256 d64a32bd4ddcf7dbebc993a2e8df28326c483484456e5d924c32d4186dd58fa7 files/1.4-fix-kbdleds.patch 771 AUX 1.4-fix-xephyr-link.patch 850 RMD160 574c9e4b38ceaf5964bfcd9020842b027f22cac1 SHA1 352c55be4b91b29c84b192d806a90834d887fc22 SHA256 89761f041d694db9891a5a72ff0ee1066d08c2d19a5cec448482fb2b427d2c10 MD5 1365c9060a61fa1e2c59d2ddff8c68ae files/1.4-fix-xephyr-link.patch 850 RMD160 574c9e4b38ceaf5964bfcd9020842b027f22cac1 files/1.4-fix-xephyr-link.patch 850 @@ -34,6 +38,10 @@ AUX 1.4-ia64.patch 1872 RMD160 6bc82c87140ee81150c34df486b5b4d9620dde9c SHA1 b43 MD5 563b0bd3cf629594784af3044351224a files/1.4-ia64.patch 1872 RMD160 6bc82c87140ee81150c34df486b5b4d9620dde9c files/1.4-ia64.patch 1872 SHA256 950714ce230791ce9d54e21044961d9435e4eb774f82e5047f9adcd5fd4661ec files/1.4-ia64.patch 1872 +AUX 1.4-mapping-changes-for-all.diff 5678 RMD160 4155cd9d7abec4e46d33abf125facfd291d6e655 SHA1 2a9f282510201b50e7a3ec4467deced39690f4d9 SHA256 e3895b025e496f7929aacf3551d3f7a19bcc3c790c1c5e05a93d8d1f7344a726 +MD5 4b744e3ccebbeb1420b6f8e04daca532 files/1.4-mapping-changes-for-all.diff 5678 +RMD160 4155cd9d7abec4e46d33abf125facfd291d6e655 files/1.4-mapping-changes-for-all.diff 5678 +SHA256 e3895b025e496f7929aacf3551d3f7a19bcc3c790c1c5e05a93d8d1f7344a726 files/1.4-mapping-changes-for-all.diff 5678 AUX avoid-crash-on-minimized-xv-window.patch 1970 RMD160 a41e37359a05b4dc4c796e569b3f00e9dcb210d4 SHA1 54447e96f4f10e2993e0e675091f6026e63b56b6 SHA256 6e1cbe4f588674d70d3564962a79b4b7d271162040f9a2390f29f03cfeac87bd MD5 c5f6f5dad5315cd737565bfbc58ff862 files/avoid-crash-on-minimized-xv-window.patch 1970 RMD160 a41e37359a05b4dc4c796e569b3f00e9dcb210d4 files/avoid-crash-on-minimized-xv-window.patch 1970 @@ -60,10 +68,10 @@ RMD160 85de6a023912d8ac40cba4f32b5559655e0e281e files/xprint.init 598 SHA256 9474c19d125d9534b93c038cba7c4bdc7c45bf3ed51279ff2e130fe031a15c13 files/xprint.init 598 DIST MesaLib-7.0.1.tar.bz2 3343538 RMD160 b44fd8ebffd17aa72c3b6cca1c2924e66787aa78 SHA1 deb1002cf377ba8bd9407bd3cf573f8c8be31671 SHA256 5190ffac157882d9129d31f262339512f4a45dcf95ccdad213760a7d54d82de7 DIST xorg-server-1.4.tar.bz2 6179392 RMD160 74a274c880a9508be26b76acdb504a8e88b63a46 SHA1 3aa6327f4def4d33ce2a8d6d7587295db231ab6d SHA256 51b142df328d427143705371f139a08ff3bcd6efe0eab91f4178ca4017c0ebc2 -EBUILD xorg-server-1.4-r2.ebuild 18413 RMD160 23927089279862993b98811d80c8eb48889d5656 SHA1 d1a59a306324a4a98f6892f477d25fb91b50968a SHA256 cd66860ee23f596ac97934bdf2b2b762bbee1dde1a6c83c94d67c31404dd12ba -MD5 c359a29018dfe4738b9a5855d2796bf2 xorg-server-1.4-r2.ebuild 18413 -RMD160 23927089279862993b98811d80c8eb48889d5656 xorg-server-1.4-r2.ebuild 18413 -SHA256 cd66860ee23f596ac97934bdf2b2b762bbee1dde1a6c83c94d67c31404dd12ba xorg-server-1.4-r2.ebuild 18413 +EBUILD xorg-server-1.4-r2.ebuild 18494 RMD160 f492f60d329c230f217542e6d7ba0394d95e6df9 SHA1 551d23e5476c6f2da86efe7913cc61ee4ce81bc4 SHA256 3d2675d643556f06ae1cf11ead79e144e44a22dc2bb5e93d61170d350a1bb849 +MD5 9fc0da5efa9b69e225d4837fd600c506 xorg-server-1.4-r2.ebuild 18494 +RMD160 f492f60d329c230f217542e6d7ba0394d95e6df9 xorg-server-1.4-r2.ebuild 18494 +SHA256 3d2675d643556f06ae1cf11ead79e144e44a22dc2bb5e93d61170d350a1bb849 xorg-server-1.4-r2.ebuild 18494 MISC ChangeLog 63249 RMD160 10b073321288e91f7c5713e7de4f10d448af9e25 SHA1 865c21a06d4a718648a8a2299f7449ad72adeb4a SHA256 9ca8b8d785a6b404b42543a65962658fc11638eb35ff0534ce86c1020ac632ea MD5 bc08d8369b722f3322f669206046ecbe ChangeLog 63249 RMD160 10b073321288e91f7c5713e7de4f10d448af9e25 ChangeLog 63249 diff --git a/x11-base/xorg-server/files/1.4-fix-kbdleds.patch b/x11-base/xorg-server/files/1.4-fix-kbdleds.patch new file mode 100644 index 0000000..3580a1a --- /dev/null +++ b/x11-base/xorg-server/files/1.4-fix-kbdleds.patch @@ -0,0 +1,26 @@ +From bug http://bugs.freedesktop.org/show_bug.cgi?id=12434 + +"It's a perfectly fine patch to put in distributions for the time being" + -- Daniel Stone, Comment #18 + +--- xorg-server-1.4/dix/devices.c.orig 2007-10-19 17:04:51.000000000 -0200 ++++ xorg-server-1.4/dix/devices.c 2007-10-23 17:50:38.000000000 -0200 +@@ -294,7 +294,17 @@ CoreKeyboardBell(int volume, DeviceIntPt + static void + CoreKeyboardCtl(DeviceIntPtr pDev, KeybdCtrl *ctrl) + { ++#ifdef XKB ++ if (!noXkbExtension) { ++ DeviceIntPtr dev = (DeviceIntPtr) ++ pDev->devPrivates[CoreDevicePrivatesIndex].ptr; ++ ++ if (dev && dev->key && dev->key->xkbInfo && dev->key->xkbInfo->kbdProc) ++ (*dev->key->xkbInfo->kbdProc)(dev, ctrl); ++ } ++#else + return; ++#endif + } + + /** + diff --git a/x11-base/xorg-server/files/1.4-mapping-changes-for-all.diff b/x11-base/xorg-server/files/1.4-mapping-changes-for-all.diff new file mode 100644 index 0000000..19506cf --- /dev/null +++ b/x11-base/xorg-server/files/1.4-mapping-changes-for-all.diff @@ -0,0 +1,155 @@ +commit 27ad5d74c20f01516a1bff73be283f8982fcf0fe +Author: Daniel Stone <daniel@fooishbar.org> +Date: Sun Sep 23 17:17:03 2007 +0300 + + Input: Generate XKB mapping changes for all core-sending devices (bug #12523) + + When we change the mapping on a core device, make sure we propagate this + through to XKB for all extended devices as well. + +diff --git a/Xi/exevents.c b/Xi/exevents.c +index fe297ab..377311e 100644 +--- a/Xi/exevents.c ++++ b/Xi/exevents.c +@@ -73,6 +73,10 @@ SOFTWARE. + #include "dixgrabs.h" /* CreateGrab() */ + #include "scrnintstr.h" + ++#ifdef XKB ++#include "xkbsrv.h" ++#endif ++ + #define WID(w) ((w) ? ((w)->drawable.id) : 0) + #define AllModifiersMask ( \ + ShiftMask | LockMask | ControlMask | Mod1Mask | Mod2Mask | \ +@@ -942,7 +946,7 @@ SetModifierMapping(ClientPtr client, DeviceIntPtr dev, int len, int rlen, + } + + void +-SendDeviceMappingNotify(CARD8 request, ++SendDeviceMappingNotify(ClientPtr client, CARD8 request, + KeyCode firstKeyCode, CARD8 count, DeviceIntPtr dev) + { + xEvent event; +@@ -957,6 +961,11 @@ SendDeviceMappingNotify(CARD8 request, + ev->count = count; + } + ++#ifdef XKB ++ if (request == MappingKeyboard || request == MappingModifier) ++ XkbApplyMappingChange(dev, request, firstKeyCode, count, client); ++#endif ++ + SendEventToAllWindows(dev, DeviceMappingNotifyMask, (xEvent *) ev, 1); + } + +@@ -992,7 +1001,7 @@ ChangeKeyMapping(ClientPtr client, + keysyms.map = map; + if (!SetKeySymsMap(&k->curKeySyms, &keysyms)) + return BadAlloc; +- SendDeviceMappingNotify(MappingKeyboard, firstKeyCode, keyCodes, dev); ++ SendDeviceMappingNotify(client, MappingKeyboard, firstKeyCode, keyCodes, dev); + return client->noClientException; + } + +diff --git a/Xi/setbmap.c b/Xi/setbmap.c +index bdfa513..1f5970d 100644 +--- a/Xi/setbmap.c ++++ b/Xi/setbmap.c +@@ -134,7 +134,7 @@ ProcXSetDeviceButtonMapping(ClientPtr client) + } + + if (ret != MappingBusy) +- SendDeviceMappingNotify(MappingPointer, 0, 0, dev); ++ SendDeviceMappingNotify(client, MappingPointer, 0, 0, dev); + return Success; + } + +diff --git a/Xi/setmmap.c b/Xi/setmmap.c +index 0078499..e30213e 100644 +--- a/Xi/setmmap.c ++++ b/Xi/setmmap.c +@@ -122,7 +122,7 @@ ProcXSetDeviceModifierMapping(ClientPtr client) + if (ret == MappingSuccess || ret == MappingBusy || ret == MappingFailed) { + rep.success = ret; + if (ret == MappingSuccess) +- SendDeviceMappingNotify(MappingModifier, 0, 0, dev); ++ SendDeviceMappingNotify(client, MappingModifier, 0, 0, dev); + WriteReplyToClient(client, sizeof(xSetDeviceModifierMappingReply), + &rep); + } else { +diff --git a/dix/devices.c b/dix/devices.c +index 9f3c576..e05444e 100644 +--- a/dix/devices.c ++++ b/dix/devices.c +@@ -1208,10 +1208,9 @@ SendMappingNotify(unsigned request, unsigned firstKeyCode, unsigned count, + } + #ifdef XKB + if (!noXkbExtension && +- ((request == MappingKeyboard) || (request == MappingModifier))) { +- XkbApplyMappingChange(inputInfo.keyboard,request,firstKeyCode,count, +- client); +- } ++ ((request == MappingKeyboard) || (request == MappingModifier))) ++ XkbApplyMappingChange(inputInfo.keyboard, request, firstKeyCode, count, ++ client); + #endif + + /* 0 is the server client */ +@@ -1359,6 +1358,7 @@ int + ProcSetModifierMapping(ClientPtr client) + { + xSetModifierMappingReply rep; ++ DeviceIntPtr dev; + REQUEST(xSetModifierMappingReq); + + REQUEST_AT_LEAST_SIZE(xSetModifierMappingReq); +@@ -1374,8 +1374,10 @@ ProcSetModifierMapping(ClientPtr client) + rep.success = DoSetModifierMapping(client, (KeyCode *)&stuff[1], + stuff->numKeyPerModifier); + +- /* FIXME: Send mapping notifies for all the extended devices as well. */ + SendMappingNotify(MappingModifier, 0, 0, client); ++ for (dev = inputInfo.devices; dev; dev = dev->next) ++ if (dev->key && dev->coreEvents) ++ SendDeviceMappingNotify(client, MappingModifier, 0, 0, dev); + WriteReplyToClient(client, sizeof(xSetModifierMappingReply), &rep); + return client->noClientException; + } +@@ -1438,16 +1440,19 @@ ProcChangeKeyboardMapping(ClientPtr client) + keysyms.maxKeyCode = stuff->firstKeyCode + stuff->keyCodes - 1; + keysyms.mapWidth = stuff->keySymsPerKeyCode; + keysyms.map = (KeySym *)&stuff[1]; +- for (pDev = inputInfo.devices; pDev; pDev = pDev->next) { +- if ((pDev->coreEvents || pDev == inputInfo.keyboard) && pDev->key) { ++ for (pDev = inputInfo.devices; pDev; pDev = pDev->next) ++ if ((pDev->coreEvents || pDev == inputInfo.keyboard) && pDev->key) + if (!SetKeySymsMap(&pDev->key->curKeySyms, &keysyms)) + return BadAlloc; +- } +- } + +- /* FIXME: Send mapping notifies for all the extended devices as well. */ + SendMappingNotify(MappingKeyboard, stuff->firstKeyCode, stuff->keyCodes, + client); ++ for (pDev = inputInfo.devices; pDev; pDev = pDev->next) ++ if (pDev->key && pDev->coreEvents) ++ SendDeviceMappingNotify(client, MappingKeyboard, ++ stuff->firstKeyCode, stuff->keyCodes, ++ pDev); ++ + return client->noClientException; + } + +diff --git a/include/exevents.h b/include/exevents.h +index 69d4abc..cf7d71a 100644 +--- a/include/exevents.h ++++ b/include/exevents.h +@@ -129,6 +129,7 @@ extern int SetModifierMapping( + KeyClassPtr * /* k */); + + extern void SendDeviceMappingNotify( ++ ClientPtr /* client, */, + CARD8 /* request, */, + KeyCode /* firstKeyCode */, + CARD8 /* count */, diff --git a/x11-base/xorg-server/xorg-server-1.4-r2.ebuild b/x11-base/xorg-server/xorg-server-1.4-r2.ebuild index b5e2118..37468dc 100644 --- a/x11-base/xorg-server/xorg-server-1.4-r2.ebuild +++ b/x11-base/xorg-server/xorg-server-1.4-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.4-r2.ebuild,v 1.5 2007/10/29 06:49:48 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.4-r2.ebuild,v 1.7 2007/11/30 06:29:48 dberkholz Exp $ # Must be before x-modular eclass is inherited #SNAPSHOT="yes" @@ -100,8 +100,8 @@ IUSE_VIDEO_CARDS=" video_cards_vmware video_cards_voodoo video_cards_xgi + video_cards_fglrx video_cards_nvidia" -# video_cards_fglrx" IUSE_SERVERS="dmx kdrive xorg" IUSE="${IUSE_VIDEO_CARDS} ${IUSE_INPUT_DEVICES} @@ -266,9 +266,9 @@ PDEPEND=" video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 ) video_cards_xgi? ( >=x11-drivers/xf86-video-xgi-1.5.0 ) video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) + video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.433 ) video_cards_nvidia? ( >=x11-drivers/nvidia-drivers-71.86.01 ) )" -# video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.37.6 ) LICENSE="${LICENSE} MIT" PATCHES=" @@ -281,6 +281,8 @@ PATCHES=" ${FILESDIR}/${PV}-fix-xephyr-link.patch ${FILESDIR}/${PV}-fix-xprint-build.patch ${FILESDIR}/${PV}-fix-xprint-link.patch + ${FILESDIR}/${PV}-fix-kbdleds.patch + ${FILESDIR}/${PV}-mapping-changes-for-all.diff " pkg_setup() { |