aboutsummaryrefslogtreecommitdiff
path: root/xorg-server
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server')
-rw-r--r--xorg-server/Xext/panoramiX.c5
-rw-r--r--xorg-server/Xext/panoramiXsrv.h1
-rw-r--r--xorg-server/Xext/shm.c34
-rw-r--r--xorg-server/Xi/exevents.c6
-rw-r--r--xorg-server/composite/compinit.c7
-rw-r--r--xorg-server/composite/compoverlay.c5
-rw-r--r--xorg-server/configure.ac75
-rw-r--r--xorg-server/damageext/damageext.c389
-rw-r--r--xorg-server/damageext/damageextint.h3
-rw-r--r--xorg-server/dix/dispatch.c5
-rw-r--r--xorg-server/dix/events.c2
-rw-r--r--xorg-server/dix/window.c6
-rw-r--r--xorg-server/dri3/dri3.c5
-rw-r--r--xorg-server/dri3/dri3_request.c5
-rw-r--r--xorg-server/dri3/dri3_screen.c6
-rw-r--r--xorg-server/glx/Makefile.am4
-rw-r--r--xorg-server/glx/glxcmds.c61
-rw-r--r--xorg-server/glx/glxdri2.c43
-rw-r--r--xorg-server/glx/glxdricommon.c2
-rw-r--r--xorg-server/glx/glxdriswrast.c11
-rw-r--r--xorg-server/glx/glxext.c11
-rw-r--r--xorg-server/glx/glxserver.h13
-rw-r--r--xorg-server/glx/glxstubs.c50
-rw-r--r--xorg-server/glx/indirect_dispatch.c650
-rw-r--r--xorg-server/glx/indirect_dispatch_swap.c969
-rw-r--r--xorg-server/glx/indirect_program.c34
-rw-r--r--xorg-server/glx/render2.c12
-rw-r--r--xorg-server/glx/render2swap.c12
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyr.c8
-rw-r--r--xorg-server/hw/xfree86/common/xf86AutoConfig.c17
-rw-r--r--xorg-server/hw/xfree86/common/xf86Config.c2
-rw-r--r--xorg-server/hw/xfree86/common/xf86Helper.c7
-rw-r--r--xorg-server/hw/xfree86/dri2/dri2ext.c5
-rw-r--r--xorg-server/hw/xquartz/GL/indirect.c26
-rw-r--r--xorg-server/hw/xquartz/X11Controller.m8
-rw-r--r--xorg-server/hw/xwin/Makefile.am2
-rw-r--r--xorg-server/hw/xwin/glx/Makefile.am32
-rw-r--r--xorg-server/hw/xwin/glx/gen_gl_wrappers.py766
-rw-r--r--xorg-server/hw/xwin/glx/glshim.c124
-rw-r--r--xorg-server/hw/xwin/glx/glthunk.c (renamed from xorg-server/hw/xwin/glx/glwrap.c)77
-rw-r--r--xorg-server/hw/xwin/glx/glwindows.h7
-rw-r--r--xorg-server/hw/xwin/glx/indirect.c30
-rw-r--r--xorg-server/include/dix-config.h.in3
-rw-r--r--xorg-server/include/os.h3
-rw-r--r--xorg-server/include/protocol-versions.h8
-rw-r--r--xorg-server/miext/sync/misyncshm.c5
-rw-r--r--xorg-server/os/osinit.c13
-rw-r--r--xorg-server/os/utils.c24
-rw-r--r--xorg-server/present/present.c91
-rw-r--r--xorg-server/present/present.h9
-rw-r--r--xorg-server/present/present_event.c10
-rw-r--r--xorg-server/present/present_priv.h7
-rw-r--r--xorg-server/present/present_request.c5
-rw-r--r--xorg-server/present/present_screen.c5
-rw-r--r--xorg-server/xfixes/region.c26
-rw-r--r--xorg-server/xkeyboard-config/rules/HDR1
-rw-r--r--xorg-server/xkeyboard-config/rules/Makefile.am11
-rw-r--r--xorg-server/xkeyboard-config/rules/base.extras.xml.in12
-rw-r--r--xorg-server/xkeyboard-config/rules/base.lists.base.part54
-rw-r--r--xorg-server/xkeyboard-config/rules/base.lists.part42
-rw-r--r--xorg-server/xkeyboard-config/rules/base.ml_s1.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.o_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in46
-rw-r--r--xorg-server/xkeyboard-config/rules/evdev.lists.part1
-rw-r--r--xorg-server/xkeyboard-config/symbols/af10
-rw-r--r--xorg-server/xkeyboard-config/symbols/altwin27
-rw-r--r--xorg-server/xkeyboard-config/symbols/am4
-rw-r--r--xorg-server/xkeyboard-config/symbols/apl65
-rw-r--r--xorg-server/xkeyboard-config/symbols/ara127
-rw-r--r--xorg-server/xkeyboard-config/symbols/at2
-rw-r--r--xorg-server/xkeyboard-config/symbols/ba8
-rw-r--r--xorg-server/xkeyboard-config/symbols/bd4
-rw-r--r--xorg-server/xkeyboard-config/symbols/bg492
-rw-r--r--xorg-server/xkeyboard-config/symbols/bt4
-rw-r--r--xorg-server/xkeyboard-config/symbols/bw2
-rw-r--r--xorg-server/xkeyboard-config/symbols/by6
-rw-r--r--xorg-server/xkeyboard-config/symbols/ca16
-rw-r--r--xorg-server/xkeyboard-config/symbols/capslock2
-rw-r--r--xorg-server/xkeyboard-config/symbols/ch22
-rw-r--r--xorg-server/xkeyboard-config/symbols/cn6
-rw-r--r--xorg-server/xkeyboard-config/symbols/ctrl57
-rw-r--r--xorg-server/xkeyboard-config/symbols/cz10
-rw-r--r--xorg-server/xkeyboard-config/symbols/de18
-rw-r--r--xorg-server/xkeyboard-config/symbols/dk6
-rw-r--r--xorg-server/xkeyboard-config/symbols/ee4
-rw-r--r--xorg-server/xkeyboard-config/symbols/es4
-rw-r--r--xorg-server/xkeyboard-config/symbols/fo2
-rw-r--r--xorg-server/xkeyboard-config/symbols/fr2
-rw-r--r--xorg-server/xkeyboard-config/symbols/gb16
-rw-r--r--xorg-server/xkeyboard-config/symbols/ge2
-rw-r--r--xorg-server/xkeyboard-config/symbols/gh18
-rw-r--r--xorg-server/xkeyboard-config/symbols/group312
-rw-r--r--xorg-server/xkeyboard-config/symbols/hr8
-rw-r--r--xorg-server/xkeyboard-config/symbols/hu3
-rw-r--r--xorg-server/xkeyboard-config/symbols/ie4
-rw-r--r--xorg-server/xkeyboard-config/symbols/il20
-rw-r--r--xorg-server/xkeyboard-config/symbols/in148
-rw-r--r--xorg-server/xkeyboard-config/symbols/inet212
-rw-r--r--xorg-server/xkeyboard-config/symbols/ir104
-rw-r--r--xorg-server/xkeyboard-config/symbols/is12
-rw-r--r--xorg-server/xkeyboard-config/symbols/it4
-rw-r--r--xorg-server/xkeyboard-config/symbols/jp8
-rw-r--r--xorg-server/xkeyboard-config/symbols/ke10
-rw-r--r--xorg-server/xkeyboard-config/symbols/keypad10
-rw-r--r--xorg-server/xkeyboard-config/symbols/kh6
-rw-r--r--xorg-server/xkeyboard-config/symbols/kr4
-rw-r--r--xorg-server/xkeyboard-config/symbols/lt10
-rw-r--r--xorg-server/xkeyboard-config/symbols/mao5
-rw-r--r--xorg-server/xkeyboard-config/symbols/md12
-rw-r--r--xorg-server/xkeyboard-config/symbols/mk2
-rw-r--r--xorg-server/xkeyboard-config/symbols/mv2
-rw-r--r--xorg-server/xkeyboard-config/symbols/ng6
-rw-r--r--xorg-server/xkeyboard-config/symbols/nl4
-rw-r--r--xorg-server/xkeyboard-config/symbols/no8
-rw-r--r--xorg-server/xkeyboard-config/symbols/pk2
-rw-r--r--xorg-server/xkeyboard-config/symbols/pl11
-rw-r--r--xorg-server/xkeyboard-config/symbols/ru38
-rw-r--r--xorg-server/xkeyboard-config/symbols/se4
-rw-r--r--xorg-server/xkeyboard-config/symbols/si4
-rw-r--r--xorg-server/xkeyboard-config/symbols/sk10
-rw-r--r--xorg-server/xkeyboard-config/symbols/srvr_ctrl20
-rw-r--r--xorg-server/xkeyboard-config/symbols/th6
-rw-r--r--xorg-server/xkeyboard-config/symbols/tj194
-rw-r--r--xorg-server/xkeyboard-config/symbols/tm2
-rw-r--r--xorg-server/xkeyboard-config/symbols/ua8
-rw-r--r--xorg-server/xkeyboard-config/symbols/us46
-rw-r--r--xorg-server/xkeyboard-config/symbols/uz55
-rw-r--r--xorg-server/xkeyboard-config/symbols/za60
128 files changed, 3757 insertions, 2468 deletions
diff --git a/xorg-server/Xext/panoramiX.c b/xorg-server/Xext/panoramiX.c
index 2b3a5704e..ce0d072da 100644
--- a/xorg-server/Xext/panoramiX.c
+++ b/xorg-server/Xext/panoramiX.c
@@ -54,6 +54,7 @@ Equipment Corporation.
#include "resource.h"
#include "picturestr.h"
#include "xfixesint.h"
+#include "damageextint.h"
#ifdef COMPOSITE
#include "compint.h"
#endif
@@ -73,7 +74,7 @@ int PanoramiXPixWidth = 0;
int PanoramiXPixHeight = 0;
int PanoramiXNumScreens = 0;
-static RegionRec PanoramiXScreenRegion = { {0, 0, 0, 0}, NULL };
+_X_EXPORT RegionRec PanoramiXScreenRegion = { {0, 0, 0, 0}, NULL };
static int PanoramiXNumDepths;
static DepthPtr PanoramiXDepths;
@@ -582,6 +583,7 @@ PanoramiXExtensionInit(void)
PanoramiXRenderInit();
PanoramiXFixesInit();
+ PanoramiXDamageInit();
#ifdef COMPOSITE
PanoramiXCompositeInit();
#endif
@@ -887,6 +889,7 @@ PanoramiXResetProc(ExtensionEntry * extEntry)
PanoramiXRenderReset();
PanoramiXFixesReset();
+ PanoramiXDamageReset();
#ifdef COMPOSITE
PanoramiXCompositeReset ();
#endif
diff --git a/xorg-server/Xext/panoramiXsrv.h b/xorg-server/Xext/panoramiXsrv.h
index 7c605fe66..0fcde4fd5 100644
--- a/xorg-server/Xext/panoramiXsrv.h
+++ b/xorg-server/Xext/panoramiXsrv.h
@@ -11,6 +11,7 @@
extern _X_EXPORT int PanoramiXNumScreens;
extern _X_EXPORT int PanoramiXPixWidth;
extern _X_EXPORT int PanoramiXPixHeight;
+extern _X_EXPORT RegionRec PanoramiXScreenRegion;
extern _X_EXPORT VisualID PanoramiXTranslateVisualID(int screen, VisualID orig);
extern _X_EXPORT void PanoramiXConsolidate(void);
diff --git a/xorg-server/Xext/shm.c b/xorg-server/Xext/shm.c
index d014b9194..1957a9525 100644
--- a/xorg-server/Xext/shm.c
+++ b/xorg-server/Xext/shm.c
@@ -37,6 +37,7 @@ in this Software without prior written authorization from The Open Group.
#include <sys/shm.h>
#include <unistd.h>
#include <sys/stat.h>
+#include <fcntl.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include "misc.h"
@@ -1177,6 +1178,35 @@ ProcShmAttachFd(ClientPtr client)
}
static int
+shm_tmpfile(void)
+{
+#ifdef SHMDIR
+ int fd;
+ int flags;
+ char template[] = SHMDIR "/shmfd-XXXXXX";
+#ifdef O_TMPFILE
+ fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
+ if (fd >= 0) {
+ ErrorF ("Using O_TMPFILE\n");
+ return fd;
+ }
+ ErrorF ("Not using O_TMPFILE\n");
+#endif
+ fd = mkstemp(template);
+ if (fd < 0)
+ return -1;
+ unlink(template);
+ if (fcntl(fd, F_GETFD, &flags) >= 0) {
+ flags |= FD_CLOEXEC;
+ (void) fcntl(fd, F_SETFD, &flags);
+ }
+ return fd;
+#else
+ return -1;
+#endif
+}
+
+static int
ProcShmCreateSegment(ClientPtr client)
{
int fd;
@@ -1188,17 +1218,15 @@ ProcShmCreateSegment(ClientPtr client)
.sequenceNumber = client->sequence,
.length = 0,
};
- char template[] = "/tmp/shm-XXXXXX";
REQUEST_SIZE_MATCH(xShmCreateSegmentReq);
if ((stuff->readOnly != xTrue) && (stuff->readOnly != xFalse)) {
client->errorValue = stuff->readOnly;
return BadValue;
}
- fd = mkstemp(template);
+ fd = shm_tmpfile();
if (fd < 0)
return BadAlloc;
- unlink(template);
if (ftruncate(fd, stuff->size) < 0) {
close(fd);
return BadAlloc;
diff --git a/xorg-server/Xi/exevents.c b/xorg-server/Xi/exevents.c
index 5dc902054..dff0a92b0 100644
--- a/xorg-server/Xi/exevents.c
+++ b/xorg-server/Xi/exevents.c
@@ -1413,7 +1413,8 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
!(ev->device_event.flags & TOUCH_CLIENT_ID))
TouchListenerAcceptReject(dev, ti, 0, XIAcceptTouch);
- if (deliveries && ev->any.type == ET_TouchEnd &&
+ if (ev->any.type == ET_TouchEnd &&
+ ti->num_listeners == 1 &&
!dev->button->buttonsDown &&
dev->deviceGrab.fromPassiveGrab && GrabIsPointerGrab(grab)) {
(*dev->deviceGrab.DeactivateGrab) (dev);
@@ -1845,7 +1846,8 @@ DeliverTouchBeginEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
if (rc == Success) {
listener->state = LISTENER_IS_OWNER;
/* async grabs cannot replay, so automatically accept this touch */
- if (dev->deviceGrab.grab &&
+ if (listener->type == LISTENER_POINTER_GRAB &&
+ dev->deviceGrab.grab &&
dev->deviceGrab.fromPassiveGrab &&
dev->deviceGrab.grab->pointerMode == GrabModeAsync)
ActivateEarlyAccept(dev, ti);
diff --git a/xorg-server/composite/compinit.c b/xorg-server/composite/compinit.c
index bc1130e78..3c910914e 100644
--- a/xorg-server/composite/compinit.c
+++ b/xorg-server/composite/compinit.c
@@ -117,11 +117,11 @@ compChangeWindowAttributes(WindowPtr pWin, unsigned long mask)
if (ret && (mask & CWBackingStore) &&
pScreen->backingStoreSupport != NotUseful) {
- if (pWin->backingStore != NotUseful) {
+ if (pWin->backingStore != NotUseful && !pWin->backStorage) {
compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
pWin->backStorage = (pointer) (intptr_t) 1;
}
- else {
+ else if (pWin->backingStore == NotUseful && pWin->backStorage) {
compUnredirectWindow(serverClient, pWin,
CompositeRedirectAutomatic);
pWin->backStorage = NULL;
@@ -355,6 +355,9 @@ compScreenInit(ScreenPtr pScreen)
return FALSE;
}
+ if (!disableBackingStore)
+ pScreen->backingStoreSupport = WhenMapped;
+
cs->PositionWindow = pScreen->PositionWindow;
pScreen->PositionWindow = compPositionWindow;
diff --git a/xorg-server/composite/compoverlay.c b/xorg-server/composite/compoverlay.c
index d3cfaf06f..bf5434ccb 100644
--- a/xorg-server/composite/compoverlay.c
+++ b/xorg-server/composite/compoverlay.c
@@ -133,16 +133,19 @@ compCreateOverlayWindow(ScreenPtr pScreen)
int result;
int w = pScreen->width;
int h = pScreen->height;
+ int x = 0, y = 0;
#ifdef PANORAMIX
if (!noPanoramiXExtension) {
+ x = -pScreen->x;
+ y = -pScreen->y;
w = PanoramiXPixWidth;
h = PanoramiXPixHeight;
}
#endif
pWin = cs->pOverlayWin =
- CreateWindow(cs->overlayWid, pRoot, 0, 0, w, h, 0,
+ CreateWindow(cs->overlayWid, pRoot, x, y, w, h, 0,
InputOutput, CWBackPixmap | CWOverrideRedirect, &attrs[0],
pRoot->drawable.depth,
serverClient, pScreen->rootVisual, &result);
diff --git a/xorg-server/configure.ac b/xorg-server/configure.ac
index 6197e9bed..7ec19976b 100644
--- a/xorg-server/configure.ac
+++ b/xorg-server/configure.ac
@@ -26,9 +26,9 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.14.99.903, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2013-11-23"
-RELEASE_NAME="Apple Pie"
+AC_INIT([xorg-server], 1.14.99.905, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2013-12-19"
+RELEASE_NAME="Kraken"
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AC_USE_SYSTEM_EXTENSIONS
@@ -782,12 +782,12 @@ DRI3PROTO="dri3proto >= 1.0"
XINERAMAPROTO="xineramaproto"
BIGFONTPROTO="xf86bigfontproto >= 1.2.0"
DGAPROTO="xf86dgaproto >= 2.0.99.1"
-GLPROTO="glproto >= 1.4.16"
+GLPROTO="glproto >= 1.4.17"
DMXPROTO="dmxproto >= 2.2.99.1"
VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
WINDOWSWMPROTO="windowswmproto"
APPLEWMPROTO="applewmproto >= 1.4"
-XSHMFENCE="xshmfence"
+XSHMFENCE="xshmfence >= 1.1"
dnl Required modules
XPROTO="xproto >= 7.0.22"
@@ -1086,6 +1086,49 @@ case "$DRI2,$HAVE_DRI2PROTO" in
esac
AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
+dnl
+dnl Locate a suitable tmp file system for creating shared memeory files
+dnl
+
+AC_ARG_WITH(shared-memory-dir, AS_HELP_STRING([--with-shared-memory-dir=PATH], [Path to directory in a world-writable temporary directory for anonymous shared memory (default: auto)]),
+[],
+[with_shared_memory_dir=yes])
+
+shmdirs="/run/shm /var/tmp /tmp"
+
+case x"$with_shared_memory_dir" in
+xyes)
+ for dir in $shmdirs; do
+ case x"$with_shared_memory_dir" in
+ xyes)
+ echo Checking temp dir "$dir"
+ if test -d "$dir"; then
+ with_shared_memory_dir="$dir"
+ fi
+ ;;
+ esac
+ done
+ ;;
+x/*)
+ ;;
+xno)
+ ;;
+*)
+ AC_MSG_ERROR([Invalid directory specified for --with-shared-memory-dir: $with_shared_memory_dir])
+ ;;
+esac
+
+case x"$with_shared_memory_dir" in
+xyes)
+ AC_MSG_ERROR([No directory found for shared memory temp files.])
+ ;;
+xno)
+ ;;
+*)
+ AC_DEFINE_UNQUOTED(SHMDIR, ["$with_shared_memory_dir"], [Directory for shared memory temp files])
+ ;;
+esac
+
AC_ARG_ENABLE(xtrans-send-fds, AS_HELP_STRING([--disable-xtrans-send-fds], [Use Xtrans support for fd passing (default: auto)]), [XTRANS_SEND_FDS=$enableval], [XTRANS_SEND_FDS=auto])
case "x$XTRANS_SEND_FDS" in
@@ -1175,7 +1218,7 @@ case "$DRI3,$HAVE_XSHMFENCE" in
yes,yes | auto,yes)
;;
yes,no)
- AC_MSG_ERROR("DRI3 requested, but xshmfence not found.])
+ AC_MSG_ERROR([DRI3 requested, but xshmfence not found.])
DRI3=no
;;
no,*)
@@ -1830,7 +1873,7 @@ if test "x$XORG" = xyes; then
if test "x$CONFIG_UDEV_KMS" = xyes; then
AC_MSG_ERROR([Platform device enumeration requires libpciaccess])
fi
- if test "x$INT10" != xstub; then
+ if test "x$INT10MODULE" = xyes && test "x$INT10" != xstub; then
AC_MSG_ERROR([Cannot build int10 without libpciaccess])
fi
fi
@@ -2065,8 +2108,8 @@ if test "x$XWIN" = xyes; then
;;
esac
- XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB"
- XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS $GLX_SYS_LIBS"
+ XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB"
+ XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS"
AC_SUBST(XWIN_LIBS)
AC_SUBST(XWIN_SERVER_NAME)
AC_SUBST(XWIN_SYS_LIBS)
@@ -2082,10 +2125,16 @@ if test "x$XWIN" = xyes; then
dnl XWin with AIGLX requires OpenGL spec files in order to generate wrapper code for native GL functions
if [test "x$XWIN" = xyes && test "x$AIGLX" = xyes] ; then
- AC_CHECK_PROG(PYTHON, python, python)
- if test -z "$PYTHON"; then
- AC_MSG_ERROR([python not found])
+ AC_CHECK_PROG(PYTHON3, python3, python3)
+ if test -z "$PYTHON3"; then
+ AC_MSG_ERROR([python3 not found])
+ fi
+ AC_MSG_CHECKING(for python module lxml)
+ $PYTHON3 -c "import lxml;"
+ if test $? -ne 0 ; then
+ AC_MSG_ERROR([not found])
fi
+ AC_MSG_RESULT(yes)
if test "x$KHRONOS_SPEC_DIR" = "xauto" ; then
PKG_CHECK_MODULES([KHRONOS_OPENGL_REGISTRY], [khronos-opengl-registry])
KHRONOS_SPEC_DIR=`pkg-config khronos-opengl-registry --variable=specdir`
@@ -2109,7 +2158,7 @@ if test "x$XQUARTZ" = xyes; then
AC_DEFINE(XQUARTZ,1,[Have Quartz])
AC_DEFINE(ROOTLESS,1,[Build Rootless code])
- XQUARTZ_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB"
+ XQUARTZ_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB $PRESENT_LIB"
AC_SUBST([XQUARTZ_LIBS])
AC_CHECK_LIB([Xplugin],[xp_init],[:])
diff --git a/xorg-server/damageext/damageext.c b/xorg-server/damageext/damageext.c
index 9521c2676..5650953f2 100644
--- a/xorg-server/damageext/damageext.c
+++ b/xorg-server/damageext/damageext.c
@@ -1,5 +1,6 @@
/*
* Copyright © 2002 Keith Packard
+ * Copyright 2013 Red Hat, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -25,9 +26,24 @@
#endif
#include "damageextint.h"
+#include "damagestr.h"
#include "protocol-versions.h"
#include "extinit.h"
+#ifdef PANORAMIX
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
+
+typedef struct {
+ DamageExtPtr ext;
+ DamagePtr damage[MAXSCREENS];
+} PanoramiXDamageRes;
+
+static RESTYPE XRT_DAMAGE;
+static int (*PanoramiXSaveDamageCreate) (ClientPtr);
+
+#endif
+
static unsigned char DamageReqCode;
static int DamageEventBase;
static RESTYPE DamageExtType;
@@ -37,13 +53,49 @@ static DevPrivateKeyRec DamageClientPrivateKeyRec;
#define DamageClientPrivateKey (&DamageClientPrivateKeyRec)
static void
+DamageNoteCritical(ClientPtr pClient)
+{
+ DamageClientPtr pDamageClient = GetDamageClient(pClient);
+
+ /* Composite extension marks clients with manual Subwindows as critical */
+ if (pDamageClient->critical > 0) {
+ SetCriticalOutputPending();
+ pClient->smart_priority = SMART_MAX_PRIORITY;
+ }
+}
+
+static void
+damageGetGeometry(DrawablePtr draw, int *x, int *y, int *w, int *h)
+{
+#ifdef PANORAMIX
+ if (!noPanoramiXExtension && draw->type == DRAWABLE_WINDOW) {
+ WindowPtr win = (WindowPtr)draw;
+
+ if (!win->parent) {
+ *x = screenInfo.x;
+ *y = screenInfo.y;
+ *w = screenInfo.width;
+ *h = screenInfo.height;
+ return;
+ }
+ }
+#endif
+
+ *x = draw->x;
+ *y = draw->y;
+ *w = draw->width;
+ *h = draw->height;
+}
+
+static void
DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes)
{
ClientPtr pClient = pDamageExt->pClient;
- DamageClientPtr pDamageClient = GetDamageClient(pClient);
DrawablePtr pDrawable = pDamageExt->pDrawable;
xDamageNotifyEvent ev;
- int i;
+ int i, x, y, w, h;
+
+ damageGetGeometry(pDrawable, &x, &y, &w, &h);
UpdateCurrentTimeIf();
ev = (xDamageNotifyEvent) {
@@ -52,10 +104,10 @@ DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes)
.drawable = pDamageExt->drawable,
.damage = pDamageExt->id,
.timestamp = currentTime.milliseconds,
- .geometry.x = pDrawable->x,
- .geometry.y = pDrawable->y,
- .geometry.width = pDrawable->width,
- .geometry.height = pDrawable->height
+ .geometry.x = x,
+ .geometry.y = y,
+ .geometry.width = w,
+ .geometry.height = h
};
if (pBoxes) {
for (i = 0; i < nBoxes; i++) {
@@ -72,15 +124,12 @@ DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes)
else {
ev.area.x = 0;
ev.area.y = 0;
- ev.area.width = pDrawable->width;
- ev.area.height = pDrawable->height;
+ ev.area.width = w;
+ ev.area.height = h;
WriteEventsToClient(pClient, 1, (xEvent *) &ev);
}
- /* Composite extension marks clients with manual Subwindows as critical */
- if (pDamageClient->critical > 0) {
- SetCriticalOutputPending();
- pClient->smart_priority = SMART_MAX_PRIORITY;
- }
+
+ DamageNoteCritical(pClient);
}
static void
@@ -162,23 +211,62 @@ ProcDamageQueryVersion(ClientPtr client)
return Success;
}
-static int
-ProcDamageCreate(ClientPtr client)
+static void
+DamageExtRegister(DrawablePtr pDrawable, DamagePtr pDamage, Bool report)
+{
+ DamageSetReportAfterOp(pDamage, TRUE);
+ DamageRegister(pDrawable, pDamage);
+
+ if (report) {
+ RegionPtr pRegion = &((WindowPtr) pDrawable)->borderClip;
+ RegionTranslate(pRegion, -pDrawable->x, -pDrawable->y);
+ DamageReportDamage(pDamage, pRegion);
+ RegionTranslate(pRegion, pDrawable->x, pDrawable->y);
+ }
+}
+
+static DamageExtPtr
+DamageExtCreate(DrawablePtr pDrawable, DamageReportLevel level,
+ ClientPtr client, XID id, XID drawable)
+{
+ DamageExtPtr pDamageExt = malloc(sizeof(DamageExtRec));
+ if (!pDamageExt)
+ return NULL;
+
+ pDamageExt->id = id;
+ pDamageExt->drawable = drawable;
+ pDamageExt->pDrawable = pDrawable;
+ pDamageExt->level = level;
+ pDamageExt->pClient = client;
+ pDamageExt->pDamage = DamageCreate(DamageExtReport, DamageExtDestroy, level,
+ FALSE, pDrawable->pScreen, pDamageExt);
+ if (!pDamageExt->pDamage) {
+ free(pDamageExt);
+ return NULL;
+ }
+
+ if (!AddResource(id, DamageExtType, (pointer) pDamageExt))
+ return NULL;
+
+ DamageExtRegister(pDrawable, pDamageExt->pDamage,
+ pDrawable->type == DRAWABLE_WINDOW);
+
+ return pDamageExt;
+}
+
+static DamageExtPtr
+doDamageCreate(ClientPtr client, int *rc)
{
DrawablePtr pDrawable;
DamageExtPtr pDamageExt;
DamageReportLevel level;
- RegionPtr pRegion;
- int rc;
REQUEST(xDamageCreateReq);
- REQUEST_SIZE_MATCH(xDamageCreateReq);
- LEGAL_NEW_RESOURCE(stuff->damage, client);
- rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0,
- DixGetAttrAccess | DixReadAccess);
- if (rc != Success)
- return rc;
+ *rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0,
+ DixGetAttrAccess | DixReadAccess);
+ if (*rc != Success)
+ return NULL;
switch (stuff->level) {
case XDamageReportRawRectangles:
@@ -195,39 +283,27 @@ ProcDamageCreate(ClientPtr client)
break;
default:
client->errorValue = stuff->level;
- return BadValue;
+ *rc = BadValue;
+ return NULL;
}
- pDamageExt = malloc(sizeof(DamageExtRec));
+ pDamageExt = DamageExtCreate(pDrawable, level, client, stuff->damage,
+ stuff->drawable);
if (!pDamageExt)
- return BadAlloc;
- pDamageExt->id = stuff->damage;
- pDamageExt->drawable = stuff->drawable;
- pDamageExt->pDrawable = pDrawable;
- pDamageExt->level = level;
- pDamageExt->pClient = client;
- pDamageExt->pDamage = DamageCreate(DamageExtReport,
- DamageExtDestroy,
- level,
- FALSE, pDrawable->pScreen, pDamageExt);
- if (!pDamageExt->pDamage) {
- free(pDamageExt);
- return BadAlloc;
- }
- if (!AddResource(stuff->damage, DamageExtType, (pointer) pDamageExt))
- return BadAlloc;
-
- DamageSetReportAfterOp(pDamageExt->pDamage, TRUE);
- DamageRegister(pDamageExt->pDrawable, pDamageExt->pDamage);
+ *rc = BadAlloc;
- if (pDrawable->type == DRAWABLE_WINDOW) {
- pRegion = &((WindowPtr) pDrawable)->borderClip;
- RegionTranslate(pRegion, -pDrawable->x, -pDrawable->y);
- DamageReportDamage(pDamageExt->pDamage, pRegion);
- RegionTranslate(pRegion, pDrawable->x, pDrawable->y);
- }
+ return pDamageExt;
+}
- return Success;
+static int
+ProcDamageCreate(ClientPtr client)
+{
+ int rc;
+ REQUEST(xDamageCreateReq);
+ REQUEST_SIZE_MATCH(xDamageCreateReq);
+ LEGAL_NEW_RESOURCE(stuff->damage, client);
+ doDamageCreate(client, &rc);
+ return rc;
}
static int
@@ -242,6 +318,88 @@ ProcDamageDestroy(ClientPtr client)
return Success;
}
+#ifdef PANORAMIX
+static RegionPtr
+DamageExtSubtractWindowClip(DamageExtPtr pDamageExt)
+{
+ WindowPtr win = (WindowPtr)pDamageExt->pDrawable;
+ PanoramiXRes *res = NULL;
+ RegionPtr ret;
+ int i;
+
+ if (!win->parent)
+ return &PanoramiXScreenRegion;
+
+ dixLookupResourceByType((void **)&res, win->drawable.id, XRT_WINDOW,
+ serverClient, DixReadAccess);
+ if (!res)
+ return NULL;
+
+ ret = RegionCreate(NULL, 0);
+ if (!ret)
+ return NULL;
+
+ FOR_NSCREENS_FORWARD(i) {
+ ScreenPtr screen;
+ if (Success != dixLookupWindow(&win, res->info[i].id, serverClient,
+ DixReadAccess))
+ goto out;
+
+ screen = win->drawable.pScreen;
+
+ RegionTranslate(ret, -screen->x, -screen->y);
+ if (!RegionUnion(ret, ret, &win->borderClip))
+ goto out;
+ RegionTranslate(ret, screen->x, screen->y);
+ }
+
+ return ret;
+
+out:
+ RegionDestroy(ret);
+ return NULL;
+}
+
+static void
+DamageExtFreeWindowClip(RegionPtr reg)
+{
+ if (reg != &PanoramiXScreenRegion)
+ RegionDestroy(reg);
+}
+#endif
+
+/*
+ * DamageSubtract intersects with borderClip, so we must reconstruct the
+ * protocol's perspective of same...
+ */
+static Bool
+DamageExtSubtract(DamageExtPtr pDamageExt, const RegionPtr pRegion)
+{
+ DamagePtr pDamage = pDamageExt->pDamage;
+
+#ifdef PANORAMIX
+ if (!noPanoramiXExtension) {
+ RegionPtr damage = DamageRegion(pDamage);
+ RegionSubtract(damage, damage, pRegion);
+
+ if (pDamageExt->pDrawable->type == DRAWABLE_WINDOW) {
+ DrawablePtr pDraw = pDamageExt->pDrawable;
+ RegionPtr clip = DamageExtSubtractWindowClip(pDamageExt);
+ if (clip) {
+ RegionTranslate(clip, -pDraw->x, -pDraw->y);
+ RegionIntersect(damage, damage, clip);
+ RegionTranslate(clip, pDraw->x, pDraw->y);
+ DamageExtFreeWindowClip(clip);
+ }
+ }
+
+ return RegionNotEmpty(damage);
+ }
+#endif
+
+ return DamageSubtract(pDamage, pRegion);
+}
+
static int
ProcDamageSubtract(ClientPtr client)
{
@@ -261,7 +419,7 @@ ProcDamageSubtract(ClientPtr client)
if (pRepair) {
if (pParts)
RegionIntersect(pParts, DamageRegion(pDamage), pRepair);
- if (DamageSubtract(pDamage, pRepair))
+ if (DamageExtSubtract(pDamageExt, pRepair))
DamageExtReport(pDamage, DamageRegion(pDamage),
(void *) pDamageExt);
}
@@ -271,6 +429,7 @@ ProcDamageSubtract(ClientPtr client)
DamageEmpty(pDamage);
}
}
+
return Success;
}
@@ -460,6 +619,127 @@ SDamageNotifyEvent(xDamageNotifyEvent * from, xDamageNotifyEvent * to)
cpswaps(from->geometry.height, to->geometry.height);
}
+#ifdef PANORAMIX
+
+static void
+PanoramiXDamageReport(DamagePtr pDamage, RegionPtr pRegion, void *closure)
+{
+ PanoramiXDamageRes *res = closure;
+ DamageExtPtr pDamageExt = res->ext;
+ WindowPtr pWin = (WindowPtr)pDamage->pDrawable;
+ ScreenPtr pScreen = pDamage->pScreen;
+
+ /* happens on unmap? sigh xinerama */
+ if (RegionNil(pRegion))
+ return;
+
+ /* translate root windows if necessary */
+ if (!pWin->parent)
+ RegionTranslate(pRegion, pScreen->x, pScreen->y);
+
+ /* add our damage to the protocol view */
+ DamageReportDamage(pDamageExt->pDamage, pRegion);
+
+ /* empty our view */
+ DamageEmpty(pDamage);
+}
+
+static void
+PanoramiXDamageExtDestroy(DamagePtr pDamage, void *closure)
+{
+ PanoramiXDamageRes *damage = closure;
+ damage->damage[pDamage->pScreen->myNum] = NULL;
+}
+
+static int
+PanoramiXDamageCreate(ClientPtr client)
+{
+ PanoramiXDamageRes *damage;
+ PanoramiXRes *draw;
+ int i, rc;
+
+ REQUEST(xDamageCreateReq);
+
+ REQUEST_SIZE_MATCH(xDamageCreateReq);
+ LEGAL_NEW_RESOURCE(stuff->damage, client);
+ rc = dixLookupResourceByClass((void **)&draw, stuff->drawable, XRC_DRAWABLE,
+ client, DixGetAttrAccess | DixReadAccess);
+ if (rc != Success)
+ return rc;
+
+ if (!(damage = calloc(1, sizeof(PanoramiXDamageRes))))
+ return BadAlloc;
+
+ if (!AddResource(stuff->damage, XRT_DAMAGE, damage))
+ return BadAlloc;
+
+ damage->ext = doDamageCreate(client, &rc);
+ if (rc == Success && draw->type == XRT_WINDOW) {
+ FOR_NSCREENS_FORWARD(i) {
+ DrawablePtr pDrawable;
+ DamagePtr pDamage = DamageCreate(PanoramiXDamageReport,
+ PanoramiXDamageExtDestroy,
+ DamageReportRawRegion,
+ FALSE,
+ screenInfo.screens[i],
+ damage);
+ if (!pDamage) {
+ rc = BadAlloc;
+ } else {
+ damage->damage[i] = pDamage;
+ rc = dixLookupDrawable(&pDrawable, draw->info[i].id, client,
+ M_WINDOW,
+ DixGetAttrAccess | DixReadAccess);
+ }
+ if (rc != Success)
+ break;
+
+ DamageExtRegister(pDrawable, pDamage, i != 0);
+ }
+ }
+
+ if (rc != Success)
+ FreeResource(stuff->damage, RT_NONE);
+
+ return rc;
+}
+
+static int
+PanoramiXDamageDelete(void *res, XID id)
+{
+ int i;
+ PanoramiXDamageRes *damage = res;
+
+ FOR_NSCREENS_BACKWARD(i) {
+ if (damage->damage[i]) {
+ DamageDestroy(damage->damage[i]);
+ damage->damage[i] = NULL;
+ }
+ }
+
+ free(damage);
+ return 1;
+}
+
+void
+PanoramiXDamageInit(void)
+{
+ XRT_DAMAGE = CreateNewResourceType(PanoramiXDamageDelete, "XineramaDamage");
+ if (!XRT_DAMAGE)
+ FatalError("Couldn't Xineramify Damage extension\n");
+
+ PanoramiXSaveDamageCreate = ProcDamageVector[X_DamageCreate];
+ ProcDamageVector[X_DamageCreate] = PanoramiXDamageCreate;
+}
+
+void
+PanoramiXDamageReset(void)
+{
+ ProcDamageVector[X_DamageCreate] = PanoramiXSaveDamageCreate;
+}
+
+#endif /* PANORAMIX */
+
void
DamageExtensionInit(void)
{
@@ -490,5 +770,10 @@ DamageExtensionInit(void)
(EventSwapPtr) SDamageNotifyEvent;
SetResourceTypeErrorValue(DamageExtType,
extEntry->errorBase + BadDamage);
+#ifdef PANORAMIX
+ if (XRT_DAMAGE)
+ SetResourceTypeErrorValue(XRT_DAMAGE,
+ extEntry->errorBase + BadDamage);
+#endif
}
}
diff --git a/xorg-server/damageext/damageextint.h b/xorg-server/damageext/damageextint.h
index 272337922..e50149501 100644
--- a/xorg-server/damageext/damageextint.h
+++ b/xorg-server/damageext/damageextint.h
@@ -67,4 +67,7 @@ typedef struct _DamageExt {
void
DamageExtSetCritical(ClientPtr pClient, Bool critical);
+void PanoramiXDamageInit(void);
+void PanoramiXDamageReset(void);
+
#endif /* _DAMAGEEXTINT_H_ */
diff --git a/xorg-server/dix/dispatch.c b/xorg-server/dix/dispatch.c
index 4fecfea7b..8dcd9cbcf 100644
--- a/xorg-server/dix/dispatch.c
+++ b/xorg-server/dix/dispatch.c
@@ -220,8 +220,9 @@ UpdateCurrentTimeIf(void)
#undef SMART_DEBUG
-#define SMART_SCHEDULE_DEFAULT_INTERVAL 20 /* ms */
-#define SMART_SCHEDULE_MAX_SLICE 200 /* ms */
+/* in milliseconds */
+#define SMART_SCHEDULE_DEFAULT_INTERVAL 5
+#define SMART_SCHEDULE_MAX_SLICE 15
#if defined(WIN32) && !defined(__CYGWIN__)
Bool SmartScheduleDisable = TRUE;
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c
index 4632bb7db..4aaa54c85 100644
--- a/xorg-server/dix/events.c
+++ b/xorg-server/dix/events.c
@@ -4696,7 +4696,7 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse,
filter = GetEventFilter(mouse, (xEvent *) event);
- if (grab && grab->type == XI2) {
+ if (grab && grab->grabtype == XI2) {
Mask mask;
mask = xi2mask_isset(grab->xi2mask, mouse, type);
diff --git a/xorg-server/dix/window.c b/xorg-server/dix/window.c
index 92df1eb4c..0e9109e89 100644
--- a/xorg-server/dix/window.c
+++ b/xorg-server/dix/window.c
@@ -530,7 +530,11 @@ CreateRootWindow(ScreenPtr pScreen)
if (disableBackingStore)
pScreen->backingStoreSupport = NotUseful;
if (enableBackingStore)
- pScreen->backingStoreSupport = Always;
+ pScreen->backingStoreSupport = WhenMapped;
+#ifdef COMPOSITE
+ if (noCompositeExtension)
+ pScreen->backingStoreSupport = NotUseful;
+#endif
pScreen->saveUnderSupport = NotUseful;
diff --git a/xorg-server/dri3/dri3.c b/xorg-server/dri3/dri3.c
index 2bca7ae9b..76e07b40e 100644
--- a/xorg-server/dri3/dri3.c
+++ b/xorg-server/dri3/dri3.c
@@ -68,6 +68,11 @@ dri3_extension_init(void)
ExtensionEntry *extension;
int i;
+#ifdef PANORAMIX
+ if (!noPanoramiXExtension)
+ return;
+#endif
+
extension = AddExtension(DRI3_NAME, DRI3NumberEvents, DRI3NumberErrors,
proc_dri3_dispatch, sproc_dri3_dispatch,
NULL, StandardMinorOpcode);
diff --git a/xorg-server/dri3/dri3_request.c b/xorg-server/dri3/dri3_request.c
index 3ebb9d509..4e1408fb5 100644
--- a/xorg-server/dri3/dri3_request.c
+++ b/xorg-server/dri3/dri3_request.c
@@ -29,6 +29,7 @@
#include <unistd.h>
#include <xace.h>
#include "../Xext/syncsdk.h"
+#include <protocol-versions.h>
static int
proc_dri3_query_version(ClientPtr client)
@@ -38,8 +39,8 @@ proc_dri3_query_version(ClientPtr client)
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
- .majorVersion = DRI3_MAJOR,
- .minorVersion = DRI3_MINOR
+ .majorVersion = SERVER_DRI3_MAJOR_VERSION,
+ .minorVersion = SERVER_DRI3_MINOR_VERSION
};
REQUEST_SIZE_MATCH(xDRI3QueryVersionReq);
diff --git a/xorg-server/dri3/dri3_screen.c b/xorg-server/dri3/dri3_screen.c
index cf2735b8d..c88029612 100644
--- a/xorg-server/dri3/dri3_screen.c
+++ b/xorg-server/dri3/dri3_screen.c
@@ -55,6 +55,9 @@ dri3_pixmap_from_fd(PixmapPtr *ppixmap, ScreenPtr screen, int fd,
dri3_screen_info_ptr info = ds->info;
PixmapPtr pixmap;
+ if (!info || !info->pixmap_from_fd)
+ return BadImplementation;
+
pixmap = (*info->pixmap_from_fd) (screen, fd, width, height, stride, depth, bpp);
if (!pixmap)
return BadAlloc;
@@ -71,6 +74,9 @@ dri3_fd_from_pixmap(int *pfd, PixmapPtr pixmap, CARD16 *stride, CARD32 *size)
dri3_screen_info_ptr info = ds->info;
int fd;
+ if (!info || !info->fd_from_pixmap)
+ return BadImplementation;
+
fd = (*info->fd_from_pixmap)(screen, pixmap, stride, size);
if (fd < 0)
return BadAlloc;
diff --git a/xorg-server/glx/Makefile.am b/xorg-server/glx/Makefile.am
index 5f28e87da..54e81406d 100644
--- a/xorg-server/glx/Makefile.am
+++ b/xorg-server/glx/Makefile.am
@@ -20,7 +20,8 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/hw/xfree86/os-support/bus \
-I$(top_srcdir)/hw/xfree86/common \
-I$(top_srcdir)/hw/xfree86/dri \
- -I$(top_srcdir)/mi
+ -I$(top_srcdir)/mi \
+ -I$(top_srcdir)/present
if DRI2_AIGLX
AM_CPPFLAGS += -I$(top_srcdir)/hw/xfree86/dri2
@@ -69,7 +70,6 @@ libglx_la_SOURCES = \
glxscreens.c \
glxscreens.h \
glxserver.h \
- glxstubs.c \
glxutil.h \
render2.c \
render2swap.c \
diff --git a/xorg-server/glx/glxcmds.c b/xorg-server/glx/glxcmds.c
index efa4aecb2..b8da04882 100644
--- a/xorg-server/glx/glxcmds.c
+++ b/xorg-server/glx/glxcmds.c
@@ -2468,3 +2468,64 @@ __glXDisp_ClientInfo(__GLXclientState * cl, GLbyte * pc)
return Success;
}
+
+#include <GL/glxtokens.h>
+
+void
+__glXsendSwapEvent(__GLXdrawable *drawable, int type, CARD64 ust,
+ CARD64 msc, CARD32 sbc)
+{
+ ClientPtr client = clients[CLIENT_ID(drawable->drawId)];
+
+ xGLXBufferSwapComplete2 wire = {
+ .type = __glXEventBase + GLX_BufferSwapComplete
+ };
+
+ if (!client)
+ return;
+
+ if (!(drawable->eventMask & GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK))
+ return;
+
+ wire.event_type = type;
+ wire.drawable = drawable->drawId;
+ wire.ust_hi = ust >> 32;
+ wire.ust_lo = ust & 0xffffffff;
+ wire.msc_hi = msc >> 32;
+ wire.msc_lo = msc & 0xffffffff;
+ wire.sbc = sbc;
+
+ WriteEventsToClient(client, 1, (xEvent *) &wire);
+}
+
+#if PRESENT
+static void
+__glXpresentCompleteNotify(WindowPtr window, CARD8 present_mode, CARD32 serial,
+ uint64_t ust, uint64_t msc)
+{
+ __GLXdrawable *drawable;
+ int glx_type;
+ int rc;
+
+ rc = dixLookupResourceByType((pointer *) &drawable, window->drawable.id,
+ __glXDrawableRes, serverClient, DixGetAttrAccess);
+
+ if (rc != Success)
+ return;
+
+ if (present_mode == PresentCompleteModeFlip)
+ glx_type = GLX_FLIP_COMPLETE_INTEL;
+ else
+ glx_type = GLX_BLIT_COMPLETE_INTEL;
+
+ __glXsendSwapEvent(drawable, glx_type, ust, msc, serial);
+}
+
+#include <present.h>
+
+void
+__glXregisterPresentCompleteNotify(void)
+{
+ present_register_complete_notify(__glXpresentCompleteNotify);
+}
+#endif
diff --git a/xorg-server/glx/glxdri2.c b/xorg-server/glx/glxdri2.c
index fbbd1fd95..b2f3d6ee8 100644
--- a/xorg-server/glx/glxdri2.c
+++ b/xorg-server/glx/glxdri2.c
@@ -55,7 +55,6 @@ typedef struct __GLXDRIscreen __GLXDRIscreen;
typedef struct __GLXDRIcontext __GLXDRIcontext;
typedef struct __GLXDRIdrawable __GLXDRIdrawable;
-
#ifdef __DRI2_ROBUSTNESS
#define ALL_DRI_CTX_FLAGS (__DRI_CTX_FLAG_DEBUG \
| __DRI_CTX_FLAG_FORWARD_COMPATIBLE \
@@ -177,36 +176,25 @@ __glXdriSwapEvent(ClientPtr client, void *data, int type, CARD64 ust,
CARD64 msc, CARD32 sbc)
{
__GLXdrawable *drawable = data;
- xGLXBufferSwapComplete2 wire = {
- .type = __glXEventBase + GLX_BufferSwapComplete
- };
-
- if (!(drawable->eventMask & GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK))
- return;
-
+ int glx_type;
switch (type) {
case DRI2_EXCHANGE_COMPLETE:
- wire.event_type = GLX_EXCHANGE_COMPLETE_INTEL;
+ glx_type = GLX_EXCHANGE_COMPLETE_INTEL;
break;
+ default:
+ /* unknown swap completion type,
+ * BLIT is a reasonable default, so
+ * fall through ...
+ */
case DRI2_BLIT_COMPLETE:
- wire.event_type = GLX_BLIT_COMPLETE_INTEL;
+ glx_type = GLX_BLIT_COMPLETE_INTEL;
break;
case DRI2_FLIP_COMPLETE:
- wire.event_type = GLX_FLIP_COMPLETE_INTEL;
- break;
- default:
- /* unknown swap completion type */
- wire.event_type = 0;
+ glx_type = GLX_FLIP_COMPLETE_INTEL;
break;
}
- wire.drawable = drawable->drawId;
- wire.ust_hi = ust >> 32;
- wire.ust_lo = ust & 0xffffffff;
- wire.msc_hi = msc >> 32;
- wire.msc_lo = msc & 0xffffffff;
- wire.sbc = sbc;
-
- WriteEventsToClient(client, 1, (xEvent *) &wire);
+
+ __glXsendSwapEvent(drawable, glx_type, ust, msc, sbc);
}
/*
@@ -784,7 +772,7 @@ dri2FlushFrontBuffer(__DRIdrawable * driDrawable, void *loaderPrivate)
}
static const __DRIdri2LoaderExtension loaderExtension = {
- {__DRI_DRI2_LOADER, __DRI_DRI2_LOADER_VERSION},
+ {__DRI_DRI2_LOADER, 3},
dri2GetBuffers,
dri2FlushFrontBuffer,
dri2GetBuffersWithFormat,
@@ -792,7 +780,7 @@ static const __DRIdri2LoaderExtension loaderExtension = {
#ifdef __DRI_USE_INVALIDATE
static const __DRIuseInvalidateExtension dri2UseInvalidate = {
- {__DRI_USE_INVALIDATE, __DRI_USE_INVALIDATE_VERSION}
+ {__DRI_USE_INVALIDATE, 1}
};
#endif
@@ -940,6 +928,9 @@ initializeExtensions(__GLXDRIscreen * screen)
}
}
+/* white lie */
+extern glx_func_ptr glXGetProcAddressARB(const char *);
+
static __GLXscreen *
__glXDRIscreenProbe(ScreenPtr pScreen)
{
@@ -1024,6 +1015,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
screen->leaveVT = pScrn->LeaveVT;
pScrn->LeaveVT = glxDRILeaveVT;
+ __glXsetGetProcAddress(glXGetProcAddressARB);
+
LogMessage(X_INFO, "AIGLX: Loaded and initialized %s\n", driverName);
return &screen->base;
diff --git a/xorg-server/glx/glxdricommon.c b/xorg-server/glx/glxdricommon.c
index 1022c0075..fc902729d 100644
--- a/xorg-server/glx/glxdricommon.c
+++ b/xorg-server/glx/glxdricommon.c
@@ -59,7 +59,7 @@ getUST(int64_t * ust)
}
const __DRIsystemTimeExtension systemTimeExtension = {
- {__DRI_SYSTEM_TIME, __DRI_SYSTEM_TIME_VERSION},
+ {__DRI_SYSTEM_TIME, 1},
getUST,
NULL,
};
diff --git a/xorg-server/glx/glxdriswrast.c b/xorg-server/glx/glxdriswrast.c
index c9962dc81..cbc109a6d 100644
--- a/xorg-server/glx/glxdriswrast.c
+++ b/xorg-server/glx/glxdriswrast.c
@@ -386,7 +386,7 @@ swrastGetImage(__DRIdrawable * draw,
}
static const __DRIswrastLoaderExtension swrastLoaderExtension = {
- {__DRI_SWRAST_LOADER, __DRI_SWRAST_LOADER_VERSION},
+ {__DRI_SWRAST_LOADER, 1},
swrastGetDrawableInfo,
swrastPutImage,
swrastGetImage
@@ -425,6 +425,9 @@ initializeExtensions(__GLXDRIscreen * screen)
}
}
+/* white lie */
+extern glx_func_ptr glXGetProcAddressARB(const char *);
+
static __GLXscreen *
__glXDRIscreenProbe(ScreenPtr pScreen)
{
@@ -443,9 +446,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
screen->driver = glxProbeDriver(driverName,
(void **) &screen->core,
- __DRI_CORE, __DRI_CORE_VERSION,
+ __DRI_CORE, 1,
(void **) &screen->swrast,
- __DRI_SWRAST, __DRI_SWRAST_VERSION);
+ __DRI_SWRAST, 1);
if (screen->driver == NULL) {
goto handle_error;
}
@@ -472,6 +475,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
screen->base.GLXmajor = 1;
screen->base.GLXminor = 4;
+ __glXsetGetProcAddress(glXGetProcAddressARB);
+
LogMessage(X_INFO, "AIGLX: Loaded and initialized %s\n", driverName);
return &screen->base;
diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c
index 3a7de28fb..316b4f6e8 100644
--- a/xorg-server/glx/glxext.c
+++ b/xorg-server/glx/glxext.c
@@ -399,6 +399,9 @@ GlxExtensionInit(void)
__glXErrorBase = extEntry->errorBase;
__glXEventBase = extEntry->eventBase;
+#if PRESENT
+ __glXregisterPresentCompleteNotify();
+#endif
}
/************************************************************************/
@@ -541,17 +544,19 @@ __glXleaveServer(GLboolean rendering)
glxServerLeaveCount++;
}
-static void (*(*_get_proc_address)(const char *))(void);
+static glx_gpa_proc _get_proc_address;
void
-__glXsetGetProcAddress(void (*(*get_proc_address) (const char *))(void))
+__glXsetGetProcAddress(glx_gpa_proc get_proc_address)
{
_get_proc_address = get_proc_address;
}
void *__glGetProcAddress(const char *proc)
{
- return _get_proc_address(proc);
+ void *ret = _get_proc_address(proc);
+
+ return ret ? ret : NoopDDA;
}
/*
diff --git a/xorg-server/glx/glxserver.h b/xorg-server/glx/glxserver.h
index 5e29abb28..7f36e5f5e 100644
--- a/xorg-server/glx/glxserver.h
+++ b/xorg-server/glx/glxserver.h
@@ -117,9 +117,20 @@ void __glXleaveServer(GLboolean rendering);
void glxSuspendClients(void);
void glxResumeClients(void);
-void __glXsetGetProcAddress(void (*(*get_proc_address) (const char *)) (void));
+typedef void (*glx_func_ptr)(void);
+typedef glx_func_ptr (*glx_gpa_proc)(const char *);
+void __glXsetGetProcAddress(glx_gpa_proc get_proc_address);
void *__glGetProcAddress(const char *);
+void
+__glXsendSwapEvent(__GLXdrawable *drawable, int type, CARD64 ust,
+ CARD64 msc, CARD32 sbc);
+
+#if PRESENT
+void
+__glXregisterPresentCompleteNotify(void);
+#endif
+
/*
** State kept per client.
*/
diff --git a/xorg-server/glx/glxstubs.c b/xorg-server/glx/glxstubs.c
deleted file mode 100644
index 69bc00480..000000000
--- a/xorg-server/glx/glxstubs.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright © 2013 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Adam Jackson <ajax@redhat.com>
- */
-
-/*
- * Redirection stubs for things that we call by name but that aren't exported
- * from libGL by name. Strictly speaking this list should be a lot longer,
- * but this is enough to get us linking against contemporary Mesa.
- */
-
-#include <inttypes.h>
-#include "glxserver.h"
-
-#define thunk(name, type, call_args, ...) \
- _X_HIDDEN void name(__VA_ARGS__) { \
- static type proc; \
- if (!proc) proc = __glGetProcAddress(#name); \
- proc call_args; \
- }
-
-thunk(glSampleMaskSGIS, PFNGLSAMPLEMASKSGISPROC,
- (value, invert), GLclampf value, GLboolean invert)
-
-thunk(glSamplePatternSGIS, PFNGLSAMPLEPATTERNSGISPROC,
- (pattern), GLenum pattern)
-
-thunk(glActiveStencilFaceEXT, PFNGLACTIVESTENCILFACEEXTPROC,
- (face), GLenum face)
diff --git a/xorg-server/glx/indirect_dispatch.c b/xorg-server/glx/indirect_dispatch.c
index 1eee79a52..329b2e61e 100644
--- a/xorg-server/glx/indirect_dispatch.c
+++ b/xorg-server/glx/indirect_dispatch.c
@@ -3460,7 +3460,7 @@ __glXDisp_CopyTexSubImage3D(GLbyte * pc)
void
__glXDisp_ActiveTexture(GLbyte * pc)
{
- glActiveTexture(*(GLenum *) (pc + 0));
+ glActiveTextureARB(*(GLenum *) (pc + 0));
}
void
@@ -3473,7 +3473,7 @@ __glXDisp_MultiTexCoord1dv(GLbyte * pc)
}
#endif
- glMultiTexCoord1dv(*(GLenum *) (pc + 8), (const GLdouble *) (pc + 0));
+ glMultiTexCoord1dvARB(*(GLenum *) (pc + 8), (const GLdouble *) (pc + 0));
}
void
@@ -3485,13 +3485,13 @@ __glXDisp_MultiTexCoord1fvARB(GLbyte * pc)
void
__glXDisp_MultiTexCoord1iv(GLbyte * pc)
{
- glMultiTexCoord1iv(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
+ glMultiTexCoord1ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
}
void
__glXDisp_MultiTexCoord1sv(GLbyte * pc)
{
- glMultiTexCoord1sv(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
+ glMultiTexCoord1svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
}
void
@@ -3504,7 +3504,7 @@ __glXDisp_MultiTexCoord2dv(GLbyte * pc)
}
#endif
- glMultiTexCoord2dv(*(GLenum *) (pc + 16), (const GLdouble *) (pc + 0));
+ glMultiTexCoord2dvARB(*(GLenum *) (pc + 16), (const GLdouble *) (pc + 0));
}
void
@@ -3516,13 +3516,13 @@ __glXDisp_MultiTexCoord2fvARB(GLbyte * pc)
void
__glXDisp_MultiTexCoord2iv(GLbyte * pc)
{
- glMultiTexCoord2iv(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
+ glMultiTexCoord2ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
}
void
__glXDisp_MultiTexCoord2sv(GLbyte * pc)
{
- glMultiTexCoord2sv(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
+ glMultiTexCoord2svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
}
void
@@ -3535,7 +3535,7 @@ __glXDisp_MultiTexCoord3dv(GLbyte * pc)
}
#endif
- glMultiTexCoord3dv(*(GLenum *) (pc + 24), (const GLdouble *) (pc + 0));
+ glMultiTexCoord3dvARB(*(GLenum *) (pc + 24), (const GLdouble *) (pc + 0));
}
void
@@ -3547,13 +3547,13 @@ __glXDisp_MultiTexCoord3fvARB(GLbyte * pc)
void
__glXDisp_MultiTexCoord3iv(GLbyte * pc)
{
- glMultiTexCoord3iv(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
+ glMultiTexCoord3ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
}
void
__glXDisp_MultiTexCoord3sv(GLbyte * pc)
{
- glMultiTexCoord3sv(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
+ glMultiTexCoord3svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
}
void
@@ -3566,7 +3566,7 @@ __glXDisp_MultiTexCoord4dv(GLbyte * pc)
}
#endif
- glMultiTexCoord4dv(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0));
+ glMultiTexCoord4dvARB(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0));
}
void
@@ -3578,119 +3578,136 @@ __glXDisp_MultiTexCoord4fvARB(GLbyte * pc)
void
__glXDisp_MultiTexCoord4iv(GLbyte * pc)
{
- glMultiTexCoord4iv(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
+ glMultiTexCoord4ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
}
void
__glXDisp_MultiTexCoord4sv(GLbyte * pc)
{
- glMultiTexCoord4sv(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
+ glMultiTexCoord4svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_CompressedTexImage1D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D =
+ __glGetProcAddress("glCompressedTexImage1D");
const GLsizei imageSize = *(GLsizei *) (pc + 20);
- glCompressedTexImage1D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLsizei *) (pc + 12),
- *(GLint *) (pc + 16),
- imageSize, (const GLvoid *) (pc + 24));
+ CompressedTexImage1D(*(GLenum *) (pc + 0),
+ *(GLint *) (pc + 4),
+ *(GLenum *) (pc + 8),
+ *(GLsizei *) (pc + 12),
+ *(GLint *) (pc + 16),
+ imageSize, (const GLvoid *) (pc + 24));
}
void
__glXDisp_CompressedTexImage2D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D =
+ __glGetProcAddress("glCompressedTexImage2D");
const GLsizei imageSize = *(GLsizei *) (pc + 24);
- glCompressedTexImage2D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLsizei *) (pc + 12),
- *(GLsizei *) (pc + 16),
- *(GLint *) (pc + 20),
- imageSize, (const GLvoid *) (pc + 28));
+ CompressedTexImage2D(*(GLenum *) (pc + 0),
+ *(GLint *) (pc + 4),
+ *(GLenum *) (pc + 8),
+ *(GLsizei *) (pc + 12),
+ *(GLsizei *) (pc + 16),
+ *(GLint *) (pc + 20),
+ imageSize, (const GLvoid *) (pc + 28));
}
void
__glXDisp_CompressedTexImage3D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D =
+ __glGetProcAddress("glCompressedTexImage3D");
const GLsizei imageSize = *(GLsizei *) (pc + 28);
- glCompressedTexImage3D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLsizei *) (pc + 12),
- *(GLsizei *) (pc + 16),
- *(GLsizei *) (pc + 20),
- *(GLint *) (pc + 24),
- imageSize, (const GLvoid *) (pc + 32));
+ CompressedTexImage3D(*(GLenum *) (pc + 0),
+ *(GLint *) (pc + 4),
+ *(GLenum *) (pc + 8),
+ *(GLsizei *) (pc + 12),
+ *(GLsizei *) (pc + 16),
+ *(GLsizei *) (pc + 20),
+ *(GLint *) (pc + 24),
+ imageSize, (const GLvoid *) (pc + 32));
}
void
__glXDisp_CompressedTexSubImage1D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D =
+ __glGetProcAddress("glCompressedTexSubImage1D");
const GLsizei imageSize = *(GLsizei *) (pc + 20);
- glCompressedTexSubImage1D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLsizei *) (pc + 12),
- *(GLenum *) (pc + 16),
- imageSize, (const GLvoid *) (pc + 24));
+ CompressedTexSubImage1D(*(GLenum *) (pc + 0),
+ *(GLint *) (pc + 4),
+ *(GLint *) (pc + 8),
+ *(GLsizei *) (pc + 12),
+ *(GLenum *) (pc + 16),
+ imageSize, (const GLvoid *) (pc + 24));
}
void
__glXDisp_CompressedTexSubImage2D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D =
+ __glGetProcAddress("glCompressedTexSubImage2D");
const GLsizei imageSize = *(GLsizei *) (pc + 28);
- glCompressedTexSubImage2D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12),
- *(GLsizei *) (pc + 16),
- *(GLsizei *) (pc + 20),
- *(GLenum *) (pc + 24),
- imageSize, (const GLvoid *) (pc + 32));
+ CompressedTexSubImage2D(*(GLenum *) (pc + 0),
+ *(GLint *) (pc + 4),
+ *(GLint *) (pc + 8),
+ *(GLint *) (pc + 12),
+ *(GLsizei *) (pc + 16),
+ *(GLsizei *) (pc + 20),
+ *(GLenum *) (pc + 24),
+ imageSize, (const GLvoid *) (pc + 32));
}
void
__glXDisp_CompressedTexSubImage3D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D =
+ __glGetProcAddress("glCompressedTexSubImage3D");
const GLsizei imageSize = *(GLsizei *) (pc + 36);
- glCompressedTexSubImage3D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12),
- *(GLint *) (pc + 16),
- *(GLsizei *) (pc + 20),
- *(GLsizei *) (pc + 24),
- *(GLsizei *) (pc + 28),
- *(GLenum *) (pc + 32),
- imageSize, (const GLvoid *) (pc + 40));
+ CompressedTexSubImage3D(*(GLenum *) (pc + 0),
+ *(GLint *) (pc + 4),
+ *(GLint *) (pc + 8),
+ *(GLint *) (pc + 12),
+ *(GLint *) (pc + 16),
+ *(GLsizei *) (pc + 20),
+ *(GLsizei *) (pc + 24),
+ *(GLsizei *) (pc + 28),
+ *(GLenum *) (pc + 32),
+ imageSize, (const GLvoid *) (pc + 40));
}
void
__glXDisp_SampleCoverage(GLbyte * pc)
{
- glSampleCoverage(*(GLclampf *) (pc + 0), *(GLboolean *) (pc + 4));
+ PFNGLSAMPLECOVERAGEPROC SampleCoverage =
+ __glGetProcAddress("glSampleCoverage");
+ SampleCoverage(*(GLclampf *) (pc + 0), *(GLboolean *) (pc + 4));
}
void
__glXDisp_BlendFuncSeparate(GLbyte * pc)
{
- glBlendFuncSeparate(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLenum *) (pc + 12));
+ PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate =
+ __glGetProcAddress("glBlendFuncSeparate");
+ BlendFuncSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8), *(GLenum *) (pc + 12));
}
void
__glXDisp_FogCoorddv(GLbyte * pc)
{
+ PFNGLFOGCOORDDVPROC FogCoorddv = __glGetProcAddress("glFogCoorddv");
+
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 8);
@@ -3698,52 +3715,64 @@ __glXDisp_FogCoorddv(GLbyte * pc)
}
#endif
- glFogCoorddv((const GLdouble *) (pc + 0));
+ FogCoorddv((const GLdouble *) (pc + 0));
}
void
__glXDisp_PointParameterf(GLbyte * pc)
{
- glPointParameterf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
+ PFNGLPOINTPARAMETERFPROC PointParameterf =
+ __glGetProcAddress("glPointParameterf");
+ PointParameterf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
}
void
__glXDisp_PointParameterfv(GLbyte * pc)
{
+ PFNGLPOINTPARAMETERFVPROC PointParameterfv =
+ __glGetProcAddress("glPointParameterfv");
const GLenum pname = *(GLenum *) (pc + 0);
const GLfloat *params;
params = (const GLfloat *) (pc + 4);
- glPointParameterfv(pname, params);
+ PointParameterfv(pname, params);
}
void
__glXDisp_PointParameteri(GLbyte * pc)
{
- glPointParameteri(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
+ PFNGLPOINTPARAMETERIPROC PointParameteri =
+ __glGetProcAddress("glPointParameteri");
+ PointParameteri(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
}
void
__glXDisp_PointParameteriv(GLbyte * pc)
{
+ PFNGLPOINTPARAMETERIVPROC PointParameteriv =
+ __glGetProcAddress("glPointParameteriv");
const GLenum pname = *(GLenum *) (pc + 0);
const GLint *params;
params = (const GLint *) (pc + 4);
- glPointParameteriv(pname, params);
+ PointParameteriv(pname, params);
}
void
__glXDisp_SecondaryColor3bv(GLbyte * pc)
{
- glSecondaryColor3bv((const GLbyte *) (pc + 0));
+ PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv =
+ __glGetProcAddress("glSecondaryColor3bv");
+ SecondaryColor3bv((const GLbyte *) (pc + 0));
}
void
__glXDisp_SecondaryColor3dv(GLbyte * pc)
{
+ PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv =
+ __glGetProcAddress("glSecondaryColor3dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 24);
@@ -3751,54 +3780,70 @@ __glXDisp_SecondaryColor3dv(GLbyte * pc)
}
#endif
- glSecondaryColor3dv((const GLdouble *) (pc + 0));
+ SecondaryColor3dv((const GLdouble *) (pc + 0));
}
void
__glXDisp_SecondaryColor3iv(GLbyte * pc)
{
- glSecondaryColor3iv((const GLint *) (pc + 0));
+ PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv =
+ __glGetProcAddress("glSecondaryColor3iv");
+ SecondaryColor3iv((const GLint *) (pc + 0));
}
void
__glXDisp_SecondaryColor3sv(GLbyte * pc)
{
- glSecondaryColor3sv((const GLshort *) (pc + 0));
+ PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv =
+ __glGetProcAddress("glSecondaryColor3sv");
+ SecondaryColor3sv((const GLshort *) (pc + 0));
}
void
__glXDisp_SecondaryColor3ubv(GLbyte * pc)
{
- glSecondaryColor3ubv((const GLubyte *) (pc + 0));
+ PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv =
+ __glGetProcAddress("glSecondaryColor3ubv");
+ SecondaryColor3ubv((const GLubyte *) (pc + 0));
}
void
__glXDisp_SecondaryColor3uiv(GLbyte * pc)
{
- glSecondaryColor3uiv((const GLuint *) (pc + 0));
+ PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv =
+ __glGetProcAddress("glSecondaryColor3uiv");
+ SecondaryColor3uiv((const GLuint *) (pc + 0));
}
void
__glXDisp_SecondaryColor3usv(GLbyte * pc)
{
- glSecondaryColor3usv((const GLushort *) (pc + 0));
+ PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv =
+ __glGetProcAddress("glSecondaryColor3usv");
+ SecondaryColor3usv((const GLushort *) (pc + 0));
}
void
__glXDisp_WindowPos3fv(GLbyte * pc)
{
- glWindowPos3fv((const GLfloat *) (pc + 0));
+ PFNGLWINDOWPOS3FVPROC WindowPos3fv = __glGetProcAddress("glWindowPos3fv");
+
+ WindowPos3fv((const GLfloat *) (pc + 0));
}
void
__glXDisp_BeginQuery(GLbyte * pc)
{
- glBeginQuery(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ PFNGLBEGINQUERYPROC BeginQuery = __glGetProcAddress("glBeginQuery");
+
+ BeginQuery(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
}
int
__glXDisp_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLDELETEQUERIESPROC DeleteQueries =
+ __glGetProcAddress("glDeleteQueries");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -3807,7 +3852,7 @@ __glXDisp_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
const GLsizei n = *(GLsizei *) (pc + 0);
- glDeleteQueries(n, (const GLuint *) (pc + 4));
+ DeleteQueries(n, (const GLuint *) (pc + 4));
error = Success;
}
@@ -3817,12 +3862,15 @@ __glXDisp_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
void
__glXDisp_EndQuery(GLbyte * pc)
{
- glEndQuery(*(GLenum *) (pc + 0));
+ PFNGLENDQUERYPROC EndQuery = __glGetProcAddress("glEndQuery");
+
+ EndQuery(*(GLenum *) (pc + 0));
}
int
__glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGENQUERIESPROC GenQueries = __glGetProcAddress("glGenQueries");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -3835,7 +3883,7 @@ __glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc)
GLuint *ids =
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
4);
- glGenQueries(n, ids);
+ GenQueries(n, ids);
__glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -3846,6 +3894,8 @@ __glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv =
+ __glGetProcAddress("glGetQueryObjectiv");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -3864,7 +3914,7 @@ __glXDisp_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
return BadAlloc;
__glXClearErrorOccured();
- glGetQueryObjectiv(*(GLuint *) (pc + 0), pname, params);
+ GetQueryObjectiv(*(GLuint *) (pc + 0), pname, params);
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3875,6 +3925,8 @@ __glXDisp_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv =
+ __glGetProcAddress("glGetQueryObjectuiv");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -3893,7 +3945,7 @@ __glXDisp_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
return BadAlloc;
__glXClearErrorOccured();
- glGetQueryObjectuiv(*(GLuint *) (pc + 0), pname, params);
+ GetQueryObjectuiv(*(GLuint *) (pc + 0), pname, params);
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3904,6 +3956,7 @@ __glXDisp_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETQUERYIVPROC GetQueryiv = __glGetProcAddress("glGetQueryiv");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -3922,7 +3975,7 @@ __glXDisp_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
return BadAlloc;
__glXClearErrorOccured();
- glGetQueryiv(*(GLenum *) (pc + 0), pname, params);
+ GetQueryiv(*(GLenum *) (pc + 0), pname, params);
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3933,6 +3986,7 @@ __glXDisp_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_IsQuery(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLISQUERYPROC IsQuery = __glGetProcAddress("glIsQuery");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -3941,7 +3995,7 @@ __glXDisp_IsQuery(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLboolean retval;
- retval = glIsQuery(*(GLuint *) (pc + 0));
+ retval = IsQuery(*(GLuint *) (pc + 0));
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -3952,20 +4006,25 @@ __glXDisp_IsQuery(__GLXclientState * cl, GLbyte * pc)
void
__glXDisp_BlendEquationSeparate(GLbyte * pc)
{
- glBlendEquationSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
+ PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate =
+ __glGetProcAddress("glBlendEquationSeparate");
+ BlendEquationSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
}
void
__glXDisp_DrawBuffers(GLbyte * pc)
{
+ PFNGLDRAWBUFFERSPROC DrawBuffers = __glGetProcAddress("glDrawBuffers");
const GLsizei n = *(GLsizei *) (pc + 0);
- glDrawBuffers(n, (const GLenum *) (pc + 4));
+ DrawBuffers(n, (const GLenum *) (pc + 4));
}
void
__glXDisp_VertexAttrib1dv(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv =
+ __glGetProcAddress("glVertexAttrib1dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 12);
@@ -3973,18 +4032,22 @@ __glXDisp_VertexAttrib1dv(GLbyte * pc)
}
#endif
- glVertexAttrib1dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ VertexAttrib1dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
}
void
__glXDisp_VertexAttrib1sv(GLbyte * pc)
{
- glVertexAttrib1sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv =
+ __glGetProcAddress("glVertexAttrib1sv");
+ VertexAttrib1sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib2dv(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv =
+ __glGetProcAddress("glVertexAttrib2dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 20);
@@ -3992,18 +4055,22 @@ __glXDisp_VertexAttrib2dv(GLbyte * pc)
}
#endif
- glVertexAttrib2dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ VertexAttrib2dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
}
void
__glXDisp_VertexAttrib2sv(GLbyte * pc)
{
- glVertexAttrib2sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv =
+ __glGetProcAddress("glVertexAttrib2sv");
+ VertexAttrib2sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib3dv(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv =
+ __glGetProcAddress("glVertexAttrib3dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 28);
@@ -4011,60 +4078,78 @@ __glXDisp_VertexAttrib3dv(GLbyte * pc)
}
#endif
- glVertexAttrib3dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ VertexAttrib3dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
}
void
__glXDisp_VertexAttrib3sv(GLbyte * pc)
{
- glVertexAttrib3sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv =
+ __glGetProcAddress("glVertexAttrib3sv");
+ VertexAttrib3sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib4Nbv(GLbyte * pc)
{
- glVertexAttrib4Nbv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv =
+ __glGetProcAddress("glVertexAttrib4Nbv");
+ VertexAttrib4Nbv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
}
void
__glXDisp_VertexAttrib4Niv(GLbyte * pc)
{
- glVertexAttrib4Niv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
+ PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv =
+ __glGetProcAddress("glVertexAttrib4Niv");
+ VertexAttrib4Niv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
}
void
__glXDisp_VertexAttrib4Nsv(GLbyte * pc)
{
- glVertexAttrib4Nsv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv =
+ __glGetProcAddress("glVertexAttrib4Nsv");
+ VertexAttrib4Nsv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib4Nubv(GLbyte * pc)
{
- glVertexAttrib4Nubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv =
+ __glGetProcAddress("glVertexAttrib4Nubv");
+ VertexAttrib4Nubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
}
void
__glXDisp_VertexAttrib4Nuiv(GLbyte * pc)
{
- glVertexAttrib4Nuiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
+ PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv =
+ __glGetProcAddress("glVertexAttrib4Nuiv");
+ VertexAttrib4Nuiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
}
void
__glXDisp_VertexAttrib4Nusv(GLbyte * pc)
{
- glVertexAttrib4Nusv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
+ PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv =
+ __glGetProcAddress("glVertexAttrib4Nusv");
+ VertexAttrib4Nusv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
}
void
__glXDisp_VertexAttrib4bv(GLbyte * pc)
{
- glVertexAttrib4bv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv =
+ __glGetProcAddress("glVertexAttrib4bv");
+ VertexAttrib4bv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
}
void
__glXDisp_VertexAttrib4dv(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv =
+ __glGetProcAddress("glVertexAttrib4dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 36);
@@ -4072,54 +4157,70 @@ __glXDisp_VertexAttrib4dv(GLbyte * pc)
}
#endif
- glVertexAttrib4dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ VertexAttrib4dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
}
void
__glXDisp_VertexAttrib4iv(GLbyte * pc)
{
- glVertexAttrib4iv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
+ PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv =
+ __glGetProcAddress("glVertexAttrib4iv");
+ VertexAttrib4iv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
}
void
__glXDisp_VertexAttrib4sv(GLbyte * pc)
{
- glVertexAttrib4sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv =
+ __glGetProcAddress("glVertexAttrib4sv");
+ VertexAttrib4sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib4ubv(GLbyte * pc)
{
- glVertexAttrib4ubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv =
+ __glGetProcAddress("glVertexAttrib4ubv");
+ VertexAttrib4ubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
}
void
__glXDisp_VertexAttrib4uiv(GLbyte * pc)
{
- glVertexAttrib4uiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
+ PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv =
+ __glGetProcAddress("glVertexAttrib4uiv");
+ VertexAttrib4uiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
}
void
__glXDisp_VertexAttrib4usv(GLbyte * pc)
{
- glVertexAttrib4usv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
+ PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv =
+ __glGetProcAddress("glVertexAttrib4usv");
+ VertexAttrib4usv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
}
void
__glXDisp_ClampColor(GLbyte * pc)
{
- glClampColor(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
+ PFNGLCLAMPCOLORPROC ClampColor = __glGetProcAddress("glClampColor");
+
+ ClampColor(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
}
void
__glXDisp_BindProgramARB(GLbyte * pc)
{
- glBindProgramARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ PFNGLBINDPROGRAMARBPROC BindProgramARB =
+ __glGetProcAddress("glBindProgramARB");
+ BindProgramARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
}
int
__glXDisp_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB =
+ __glGetProcAddress("glDeleteProgramsARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4128,7 +4229,7 @@ __glXDisp_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
const GLsizei n = *(GLsizei *) (pc + 0);
- glDeleteProgramsARB(n, (const GLuint *) (pc + 4));
+ DeleteProgramsARB(n, (const GLuint *) (pc + 4));
error = Success;
}
@@ -4138,6 +4239,8 @@ __glXDisp_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGENPROGRAMSARBPROC GenProgramsARB =
+ __glGetProcAddress("glGenProgramsARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4150,7 +4253,7 @@ __glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
GLuint *programs =
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
4);
- glGenProgramsARB(n, programs);
+ GenProgramsARB(n, programs);
__glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -4161,6 +4264,8 @@ __glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB =
+ __glGetProcAddress("glGetProgramEnvParameterdvARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4169,8 +4274,8 @@ __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLdouble params[4];
- glGetProgramEnvParameterdvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4), params);
+ GetProgramEnvParameterdvARB(*(GLenum *) (pc + 0),
+ *(GLuint *) (pc + 4), params);
__glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
error = Success;
}
@@ -4181,6 +4286,8 @@ __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB =
+ __glGetProcAddress("glGetProgramEnvParameterfvARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4189,8 +4296,8 @@ __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLfloat params[4];
- glGetProgramEnvParameterfvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4), params);
+ GetProgramEnvParameterfvARB(*(GLenum *) (pc + 0),
+ *(GLuint *) (pc + 4), params);
__glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
error = Success;
}
@@ -4201,6 +4308,8 @@ __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB =
+ __glGetProcAddress("glGetProgramLocalParameterdvARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4209,8 +4318,8 @@ __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLdouble params[4];
- glGetProgramLocalParameterdvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4), params);
+ GetProgramLocalParameterdvARB(*(GLenum *) (pc + 0),
+ *(GLuint *) (pc + 4), params);
__glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
error = Success;
}
@@ -4221,6 +4330,8 @@ __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB =
+ __glGetProcAddress("glGetProgramLocalParameterfvARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4229,8 +4340,8 @@ __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLfloat params[4];
- glGetProgramLocalParameterfvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4), params);
+ GetProgramLocalParameterfvARB(*(GLenum *) (pc + 0),
+ *(GLuint *) (pc + 4), params);
__glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
error = Success;
}
@@ -4241,6 +4352,8 @@ __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMIVARBPROC GetProgramivARB =
+ __glGetProcAddress("glGetProgramivARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4259,7 +4372,7 @@ __glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
return BadAlloc;
__glXClearErrorOccured();
- glGetProgramivARB(*(GLenum *) (pc + 0), pname, params);
+ GetProgramivARB(*(GLenum *) (pc + 0), pname, params);
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -4270,6 +4383,7 @@ __glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLISPROGRAMARBPROC IsProgramARB = __glGetProcAddress("glIsProgramARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4278,7 +4392,7 @@ __glXDisp_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLboolean retval;
- retval = glIsProgramARB(*(GLuint *) (pc + 0));
+ retval = IsProgramARB(*(GLuint *) (pc + 0));
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4289,6 +4403,8 @@ __glXDisp_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
void
__glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc)
{
+ PFNGLPROGRAMENVPARAMETER4DVARBPROC ProgramEnvParameter4dvARB =
+ __glGetProcAddress("glProgramEnvParameter4dvARB");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 40);
@@ -4296,22 +4412,25 @@ __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc)
}
#endif
- glProgramEnvParameter4dvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4),
- (const GLdouble *) (pc + 8));
+ ProgramEnvParameter4dvARB(*(GLenum *) (pc + 0),
+ *(GLuint *) (pc + 4),
+ (const GLdouble *) (pc + 8));
}
void
__glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc)
{
- glProgramEnvParameter4fvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4),
- (const GLfloat *) (pc + 8));
+ PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB =
+ __glGetProcAddress("glProgramEnvParameter4fvARB");
+ ProgramEnvParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4),
+ (const GLfloat *) (pc + 8));
}
void
__glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc)
{
+ PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB =
+ __glGetProcAddress("glProgramLocalParameter4dvARB");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 40);
@@ -4319,81 +4438,96 @@ __glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc)
}
#endif
- glProgramLocalParameter4dvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4),
- (const GLdouble *) (pc + 8));
+ ProgramLocalParameter4dvARB(*(GLenum *) (pc + 0),
+ *(GLuint *) (pc + 4),
+ (const GLdouble *) (pc + 8));
}
void
__glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc)
{
- glProgramLocalParameter4fvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4),
- (const GLfloat *) (pc + 8));
+ PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB =
+ __glGetProcAddress("glProgramLocalParameter4fvARB");
+ ProgramLocalParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4),
+ (const GLfloat *) (pc + 8));
}
void
__glXDisp_ProgramStringARB(GLbyte * pc)
{
+ PFNGLPROGRAMSTRINGARBPROC ProgramStringARB =
+ __glGetProcAddress("glProgramStringARB");
const GLsizei len = *(GLsizei *) (pc + 8);
- glProgramStringARB(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), len, (const GLvoid *) (pc + 12));
+ ProgramStringARB(*(GLenum *) (pc + 0),
+ *(GLenum *) (pc + 4), len, (const GLvoid *) (pc + 12));
}
void
__glXDisp_VertexAttrib1fvARB(GLbyte * pc)
{
- glVertexAttrib1fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB =
+ __glGetProcAddress("glVertexAttrib1fvARB");
+ VertexAttrib1fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
}
void
__glXDisp_VertexAttrib2fvARB(GLbyte * pc)
{
- glVertexAttrib2fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB =
+ __glGetProcAddress("glVertexAttrib2fvARB");
+ VertexAttrib2fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
}
void
__glXDisp_VertexAttrib3fvARB(GLbyte * pc)
{
- glVertexAttrib3fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB =
+ __glGetProcAddress("glVertexAttrib3fvARB");
+ VertexAttrib3fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
}
void
__glXDisp_VertexAttrib4fvARB(GLbyte * pc)
{
- glVertexAttrib4fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB =
+ __glGetProcAddress("glVertexAttrib4fvARB");
+ VertexAttrib4fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
}
void
__glXDisp_BindFramebuffer(GLbyte * pc)
{
- glBindFramebuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ PFNGLBINDFRAMEBUFFERPROC BindFramebuffer =
+ __glGetProcAddress("glBindFramebuffer");
+ BindFramebuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
}
void
__glXDisp_BindRenderbuffer(GLbyte * pc)
{
- glBindRenderbuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ PFNGLBINDRENDERBUFFERPROC BindRenderbuffer =
+ __glGetProcAddress("glBindRenderbuffer");
+ BindRenderbuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
}
void
__glXDisp_BlitFramebuffer(GLbyte * pc)
{
- glBlitFramebuffer(*(GLint *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12),
- *(GLint *) (pc + 16),
- *(GLint *) (pc + 20),
- *(GLint *) (pc + 24),
- *(GLint *) (pc + 28),
- *(GLbitfield *) (pc + 32), *(GLenum *) (pc + 36));
+ PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer =
+ __glGetProcAddress("glBlitFramebuffer");
+ BlitFramebuffer(*(GLint *) (pc + 0), *(GLint *) (pc + 4),
+ *(GLint *) (pc + 8), *(GLint *) (pc + 12),
+ *(GLint *) (pc + 16), *(GLint *) (pc + 20),
+ *(GLint *) (pc + 24), *(GLint *) (pc + 28),
+ *(GLbitfield *) (pc + 32), *(GLenum *) (pc + 36));
}
int
__glXDisp_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus =
+ __glGetProcAddress("glCheckFramebufferStatus");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4402,7 +4536,7 @@ __glXDisp_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLenum retval;
- retval = glCheckFramebufferStatus(*(GLenum *) (pc + 0));
+ retval = CheckFramebufferStatus(*(GLenum *) (pc + 0));
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4413,67 +4547,77 @@ __glXDisp_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
void
__glXDisp_DeleteFramebuffers(GLbyte * pc)
{
+ PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers =
+ __glGetProcAddress("glDeleteFramebuffers");
const GLsizei n = *(GLsizei *) (pc + 0);
- glDeleteFramebuffers(n, (const GLuint *) (pc + 4));
+ DeleteFramebuffers(n, (const GLuint *) (pc + 4));
}
void
__glXDisp_DeleteRenderbuffers(GLbyte * pc)
{
+ PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers =
+ __glGetProcAddress("glDeleteRenderbuffers");
const GLsizei n = *(GLsizei *) (pc + 0);
- glDeleteRenderbuffers(n, (const GLuint *) (pc + 4));
+ DeleteRenderbuffers(n, (const GLuint *) (pc + 4));
}
void
__glXDisp_FramebufferRenderbuffer(GLbyte * pc)
{
- glFramebufferRenderbuffer(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLuint *) (pc + 12));
+ PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer =
+ __glGetProcAddress("glFramebufferRenderbuffer");
+ FramebufferRenderbuffer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8), *(GLuint *) (pc + 12));
}
void
__glXDisp_FramebufferTexture1D(GLbyte * pc)
{
- glFramebufferTexture1D(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLuint *) (pc + 12), *(GLint *) (pc + 16));
+ PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D =
+ __glGetProcAddress("glFramebufferTexture1D");
+ FramebufferTexture1D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
+ *(GLint *) (pc + 16));
}
void
__glXDisp_FramebufferTexture2D(GLbyte * pc)
{
- glFramebufferTexture2D(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLuint *) (pc + 12), *(GLint *) (pc + 16));
+ PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D =
+ __glGetProcAddress("glFramebufferTexture2D");
+ FramebufferTexture2D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
+ *(GLint *) (pc + 16));
}
void
__glXDisp_FramebufferTexture3D(GLbyte * pc)
{
- glFramebufferTexture3D(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLuint *) (pc + 12),
- *(GLint *) (pc + 16), *(GLint *) (pc + 20));
+ PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D =
+ __glGetProcAddress("glFramebufferTexture3D");
+ FramebufferTexture3D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
+ *(GLint *) (pc + 16), *(GLint *) (pc + 20));
}
void
__glXDisp_FramebufferTextureLayer(GLbyte * pc)
{
- glFramebufferTextureLayer(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLuint *) (pc + 8),
- *(GLint *) (pc + 12), *(GLint *) (pc + 16));
+ PFNGLFRAMEBUFFERTEXTURELAYERPROC FramebufferTextureLayer =
+ __glGetProcAddress("glFramebufferTextureLayer");
+ FramebufferTextureLayer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
+ *(GLuint *) (pc + 8), *(GLint *) (pc + 12),
+ *(GLint *) (pc + 16));
}
int
__glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGENFRAMEBUFFERSPROC GenFramebuffers =
+ __glGetProcAddress("glGenFramebuffers");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4486,7 +4630,7 @@ __glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
GLuint *framebuffers =
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
4);
- glGenFramebuffers(n, framebuffers);
+ GenFramebuffers(n, framebuffers);
__glXSendReply(cl->client, framebuffers, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -4497,6 +4641,8 @@ __glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGENRENDERBUFFERSPROC GenRenderbuffers =
+ __glGetProcAddress("glGenRenderbuffers");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4509,7 +4655,7 @@ __glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
GLuint *renderbuffers =
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
4);
- glGenRenderbuffers(n, renderbuffers);
+ GenRenderbuffers(n, renderbuffers);
__glXSendReply(cl->client, renderbuffers, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -4520,13 +4666,18 @@ __glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
void
__glXDisp_GenerateMipmap(GLbyte * pc)
{
- glGenerateMipmap(*(GLenum *) (pc + 0));
+ PFNGLGENERATEMIPMAPPROC GenerateMipmap =
+ __glGetProcAddress("glGenerateMipmap");
+ GenerateMipmap(*(GLenum *) (pc + 0));
}
int
__glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
GLbyte * pc)
{
+ PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
+ GetFramebufferAttachmentParameteriv =
+ __glGetProcAddress("glGetFramebufferAttachmentParameteriv");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4535,9 +4686,9 @@ __glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
if (cx != NULL) {
GLint params[1];
- glGetFramebufferAttachmentParameteriv(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), params);
+ GetFramebufferAttachmentParameteriv(*(GLenum *) (pc + 0),
+ *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8), params);
__glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
error = Success;
}
@@ -4548,6 +4699,8 @@ __glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
int
__glXDisp_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv =
+ __glGetProcAddress("glGetRenderbufferParameteriv");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4556,8 +4709,8 @@ __glXDisp_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLint params[1];
- glGetRenderbufferParameteriv(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), params);
+ GetRenderbufferParameteriv(*(GLenum *) (pc + 0),
+ *(GLenum *) (pc + 4), params);
__glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
error = Success;
}
@@ -4568,6 +4721,8 @@ __glXDisp_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLISFRAMEBUFFERPROC IsFramebuffer =
+ __glGetProcAddress("glIsFramebuffer");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4576,7 +4731,7 @@ __glXDisp_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLboolean retval;
- retval = glIsFramebuffer(*(GLuint *) (pc + 0));
+ retval = IsFramebuffer(*(GLuint *) (pc + 0));
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4587,6 +4742,8 @@ __glXDisp_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLISRENDERBUFFERPROC IsRenderbuffer =
+ __glGetProcAddress("glIsRenderbuffer");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
@@ -4595,7 +4752,7 @@ __glXDisp_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLboolean retval;
- retval = glIsRenderbuffer(*(GLuint *) (pc + 0));
+ retval = IsRenderbuffer(*(GLuint *) (pc + 0));
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4606,36 +4763,43 @@ __glXDisp_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
void
__glXDisp_RenderbufferStorage(GLbyte * pc)
{
- glRenderbufferStorage(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
+ PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage =
+ __glGetProcAddress("glRenderbufferStorage");
+ RenderbufferStorage(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
+ *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
}
void
__glXDisp_RenderbufferStorageMultisample(GLbyte * pc)
{
- glRenderbufferStorageMultisample(*(GLenum *) (pc + 0),
- *(GLsizei *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLsizei *) (pc + 12),
- *(GLsizei *) (pc + 16));
+ PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample =
+ __glGetProcAddress("glRenderbufferStorageMultisample");
+ RenderbufferStorageMultisample(*(GLenum *) (pc + 0), *(GLsizei *) (pc + 4),
+ *(GLenum *) (pc + 8), *(GLsizei *) (pc + 12),
+ *(GLsizei *) (pc + 16));
}
void
__glXDisp_SecondaryColor3fvEXT(GLbyte * pc)
{
- glSecondaryColor3fvEXT((const GLfloat *) (pc + 0));
+ PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT =
+ __glGetProcAddress("glSecondaryColor3fvEXT");
+ SecondaryColor3fvEXT((const GLfloat *) (pc + 0));
}
void
__glXDisp_FogCoordfvEXT(GLbyte * pc)
{
- glFogCoordfvEXT((const GLfloat *) (pc + 0));
+ PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT =
+ __glGetProcAddress("glFogCoordfvEXT");
+ FogCoordfvEXT((const GLfloat *) (pc + 0));
}
void
__glXDisp_VertexAttrib1dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV =
+ __glGetProcAddress("glVertexAttrib1dvNV");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 12);
@@ -4643,24 +4807,30 @@ __glXDisp_VertexAttrib1dvNV(GLbyte * pc)
}
#endif
- glVertexAttrib1dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ VertexAttrib1dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
}
void
__glXDisp_VertexAttrib1fvNV(GLbyte * pc)
{
- glVertexAttrib1fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV =
+ __glGetProcAddress("glVertexAttrib1fvNV");
+ VertexAttrib1fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
}
void
__glXDisp_VertexAttrib1svNV(GLbyte * pc)
{
- glVertexAttrib1svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV =
+ __glGetProcAddress("glVertexAttrib1svNV");
+ VertexAttrib1svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib2dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV =
+ __glGetProcAddress("glVertexAttrib2dvNV");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 20);
@@ -4668,24 +4838,30 @@ __glXDisp_VertexAttrib2dvNV(GLbyte * pc)
}
#endif
- glVertexAttrib2dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ VertexAttrib2dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
}
void
__glXDisp_VertexAttrib2fvNV(GLbyte * pc)
{
- glVertexAttrib2fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV =
+ __glGetProcAddress("glVertexAttrib2fvNV");
+ VertexAttrib2fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
}
void
__glXDisp_VertexAttrib2svNV(GLbyte * pc)
{
- glVertexAttrib2svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV =
+ __glGetProcAddress("glVertexAttrib2svNV");
+ VertexAttrib2svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib3dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV =
+ __glGetProcAddress("glVertexAttrib3dvNV");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 28);
@@ -4693,24 +4869,30 @@ __glXDisp_VertexAttrib3dvNV(GLbyte * pc)
}
#endif
- glVertexAttrib3dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ VertexAttrib3dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
}
void
__glXDisp_VertexAttrib3fvNV(GLbyte * pc)
{
- glVertexAttrib3fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV =
+ __glGetProcAddress("glVertexAttrib3fvNV");
+ VertexAttrib3fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
}
void
__glXDisp_VertexAttrib3svNV(GLbyte * pc)
{
- glVertexAttrib3svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV =
+ __glGetProcAddress("glVertexAttrib3svNV");
+ VertexAttrib3svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib4dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV =
+ __glGetProcAddress("glVertexAttrib4dvNV");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 36);
@@ -4718,30 +4900,38 @@ __glXDisp_VertexAttrib4dvNV(GLbyte * pc)
}
#endif
- glVertexAttrib4dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ VertexAttrib4dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
}
void
__glXDisp_VertexAttrib4fvNV(GLbyte * pc)
{
- glVertexAttrib4fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV =
+ __glGetProcAddress("glVertexAttrib4fvNV");
+ VertexAttrib4fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
}
void
__glXDisp_VertexAttrib4svNV(GLbyte * pc)
{
- glVertexAttrib4svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV =
+ __glGetProcAddress("glVertexAttrib4svNV");
+ VertexAttrib4svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
}
void
__glXDisp_VertexAttrib4ubvNV(GLbyte * pc)
{
- glVertexAttrib4ubvNV(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV =
+ __glGetProcAddress("glVertexAttrib4ubvNV");
+ VertexAttrib4ubvNV(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
}
void
__glXDisp_VertexAttribs1dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV =
+ __glGetProcAddress("glVertexAttribs1dvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
#ifdef __GLX_ALIGN64
@@ -4753,28 +4943,34 @@ __glXDisp_VertexAttribs1dvNV(GLbyte * pc)
}
#endif
- glVertexAttribs1dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
+ VertexAttribs1dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
}
void
__glXDisp_VertexAttribs1fvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV =
+ __glGetProcAddress("glVertexAttribs1fvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs1fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
+ VertexAttribs1fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
}
void
__glXDisp_VertexAttribs1svNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV =
+ __glGetProcAddress("glVertexAttribs1svNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs1svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
+ VertexAttribs1svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
}
void
__glXDisp_VertexAttribs2dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV =
+ __glGetProcAddress("glVertexAttribs2dvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
#ifdef __GLX_ALIGN64
@@ -4786,28 +4982,34 @@ __glXDisp_VertexAttribs2dvNV(GLbyte * pc)
}
#endif
- glVertexAttribs2dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
+ VertexAttribs2dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
}
void
__glXDisp_VertexAttribs2fvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV =
+ __glGetProcAddress("glVertexAttribs2fvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs2fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
+ VertexAttribs2fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
}
void
__glXDisp_VertexAttribs2svNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV =
+ __glGetProcAddress("glVertexAttribs2svNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs2svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
+ VertexAttribs2svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
}
void
__glXDisp_VertexAttribs3dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV =
+ __glGetProcAddress("glVertexAttribs3dvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
#ifdef __GLX_ALIGN64
@@ -4819,28 +5021,34 @@ __glXDisp_VertexAttribs3dvNV(GLbyte * pc)
}
#endif
- glVertexAttribs3dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
+ VertexAttribs3dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
}
void
__glXDisp_VertexAttribs3fvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV =
+ __glGetProcAddress("glVertexAttribs3fvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs3fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
+ VertexAttribs3fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
}
void
__glXDisp_VertexAttribs3svNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV =
+ __glGetProcAddress("glVertexAttribs3svNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs3svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
+ VertexAttribs3svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
}
void
__glXDisp_VertexAttribs4dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV =
+ __glGetProcAddress("glVertexAttribs4dvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
#ifdef __GLX_ALIGN64
@@ -4852,35 +5060,43 @@ __glXDisp_VertexAttribs4dvNV(GLbyte * pc)
}
#endif
- glVertexAttribs4dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
+ VertexAttribs4dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
}
void
__glXDisp_VertexAttribs4fvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV =
+ __glGetProcAddress("glVertexAttribs4fvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs4fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
+ VertexAttribs4fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
}
void
__glXDisp_VertexAttribs4svNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV =
+ __glGetProcAddress("glVertexAttribs4svNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs4svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
+ VertexAttribs4svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
}
void
__glXDisp_VertexAttribs4ubvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV =
+ __glGetProcAddress("glVertexAttribs4ubvNV");
const GLsizei n = *(GLsizei *) (pc + 4);
- glVertexAttribs4ubvNV(*(GLuint *) (pc + 0), n, (const GLubyte *) (pc + 8));
+ VertexAttribs4ubvNV(*(GLuint *) (pc + 0), n, (const GLubyte *) (pc + 8));
}
void
__glXDisp_ActiveStencilFaceEXT(GLbyte * pc)
{
- glActiveStencilFaceEXT(*(GLenum *) (pc + 0));
+ PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT =
+ __glGetProcAddress("glActiveStencilFaceEXT");
+ ActiveStencilFaceEXT(*(GLenum *) (pc + 0));
}
diff --git a/xorg-server/glx/indirect_dispatch_swap.c b/xorg-server/glx/indirect_dispatch_swap.c
index 974751461..647d0c985 100644
--- a/xorg-server/glx/indirect_dispatch_swap.c
+++ b/xorg-server/glx/indirect_dispatch_swap.c
@@ -3821,7 +3821,7 @@ __glXDispSwap_CopyTexSubImage3D(GLbyte * pc)
void
__glXDispSwap_ActiveTexture(GLbyte * pc)
{
- glActiveTexture((GLenum) bswap_ENUM(pc + 0));
+ glActiveTextureARB((GLenum) bswap_ENUM(pc + 0));
}
void
@@ -3834,8 +3834,8 @@ __glXDispSwap_MultiTexCoord1dv(GLbyte * pc)
}
#endif
- glMultiTexCoord1dv((GLenum) bswap_ENUM(pc + 8),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
+ glMultiTexCoord1dvARB((GLenum) bswap_ENUM(pc + 8),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
1));
}
@@ -3850,17 +3850,17 @@ __glXDispSwap_MultiTexCoord1fvARB(GLbyte * pc)
void
__glXDispSwap_MultiTexCoord1iv(GLbyte * pc)
{
- glMultiTexCoord1iv((GLenum) bswap_ENUM(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 1));
+ glMultiTexCoord1ivARB((GLenum) bswap_ENUM(pc + 0),
+ (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
+ 1));
}
void
__glXDispSwap_MultiTexCoord1sv(GLbyte * pc)
{
- glMultiTexCoord1sv((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 1));
+ glMultiTexCoord1svARB((GLenum) bswap_ENUM(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 1));
}
void
@@ -3873,9 +3873,9 @@ __glXDispSwap_MultiTexCoord2dv(GLbyte * pc)
}
#endif
- glMultiTexCoord2dv((GLenum) bswap_ENUM(pc + 16),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 2));
+ glMultiTexCoord2dvARB((GLenum) bswap_ENUM(pc + 16),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
+ 2));
}
void
@@ -3889,17 +3889,17 @@ __glXDispSwap_MultiTexCoord2fvARB(GLbyte * pc)
void
__glXDispSwap_MultiTexCoord2iv(GLbyte * pc)
{
- glMultiTexCoord2iv((GLenum) bswap_ENUM(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 2));
+ glMultiTexCoord2ivARB((GLenum) bswap_ENUM(pc + 0),
+ (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
+ 2));
}
void
__glXDispSwap_MultiTexCoord2sv(GLbyte * pc)
{
- glMultiTexCoord2sv((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 2));
+ glMultiTexCoord2svARB((GLenum) bswap_ENUM(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 2));
}
void
@@ -3912,9 +3912,9 @@ __glXDispSwap_MultiTexCoord3dv(GLbyte * pc)
}
#endif
- glMultiTexCoord3dv((GLenum) bswap_ENUM(pc + 24),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 3));
+ glMultiTexCoord3dvARB((GLenum) bswap_ENUM(pc + 24),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
+ 3));
}
void
@@ -3928,17 +3928,17 @@ __glXDispSwap_MultiTexCoord3fvARB(GLbyte * pc)
void
__glXDispSwap_MultiTexCoord3iv(GLbyte * pc)
{
- glMultiTexCoord3iv((GLenum) bswap_ENUM(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 3));
+ glMultiTexCoord3ivARB((GLenum) bswap_ENUM(pc + 0),
+ (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
+ 3));
}
void
__glXDispSwap_MultiTexCoord3sv(GLbyte * pc)
{
- glMultiTexCoord3sv((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 3));
+ glMultiTexCoord3svARB((GLenum) bswap_ENUM(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 3));
}
void
@@ -3951,9 +3951,9 @@ __glXDispSwap_MultiTexCoord4dv(GLbyte * pc)
}
#endif
- glMultiTexCoord4dv((GLenum) bswap_ENUM(pc + 32),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 4));
+ glMultiTexCoord4dvARB((GLenum) bswap_ENUM(pc + 32),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
+ 4));
}
void
@@ -3967,124 +3967,141 @@ __glXDispSwap_MultiTexCoord4fvARB(GLbyte * pc)
void
__glXDispSwap_MultiTexCoord4iv(GLbyte * pc)
{
- glMultiTexCoord4iv((GLenum) bswap_ENUM(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ glMultiTexCoord4ivARB((GLenum) bswap_ENUM(pc + 0),
+ (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_MultiTexCoord4sv(GLbyte * pc)
{
- glMultiTexCoord4sv((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+ glMultiTexCoord4svARB((GLenum) bswap_ENUM(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_CompressedTexImage1D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D =
+ __glGetProcAddress("glCompressedTexImage1D");
const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 20);
- glCompressedTexImage1D((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLsizei) bswap_CARD32(pc + 12),
- (GLint) bswap_CARD32(pc + 16),
- imageSize, (const GLvoid *) (pc + 24));
+ CompressedTexImage1D((GLenum) bswap_ENUM(pc + 0),
+ (GLint) bswap_CARD32(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLsizei) bswap_CARD32(pc + 12),
+ (GLint) bswap_CARD32(pc + 16),
+ imageSize, (const GLvoid *) (pc + 24));
}
void
__glXDispSwap_CompressedTexImage2D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D =
+ __glGetProcAddress("glCompressedTexImage2D");
const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 24);
- glCompressedTexImage2D((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLsizei) bswap_CARD32(pc + 12),
- (GLsizei) bswap_CARD32(pc + 16),
- (GLint) bswap_CARD32(pc + 20),
- imageSize, (const GLvoid *) (pc + 28));
+ CompressedTexImage2D((GLenum) bswap_ENUM(pc + 0),
+ (GLint) bswap_CARD32(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLsizei) bswap_CARD32(pc + 12),
+ (GLsizei) bswap_CARD32(pc + 16),
+ (GLint) bswap_CARD32(pc + 20),
+ imageSize, (const GLvoid *) (pc + 28));
}
void
__glXDispSwap_CompressedTexImage3D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D =
+ __glGetProcAddress("glCompressedTexImage3D");
const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 28);
- glCompressedTexImage3D((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLsizei) bswap_CARD32(pc + 12),
- (GLsizei) bswap_CARD32(pc + 16),
- (GLsizei) bswap_CARD32(pc + 20),
- (GLint) bswap_CARD32(pc + 24),
- imageSize, (const GLvoid *) (pc + 32));
+ CompressedTexImage3D((GLenum) bswap_ENUM(pc + 0),
+ (GLint) bswap_CARD32(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLsizei) bswap_CARD32(pc + 12),
+ (GLsizei) bswap_CARD32(pc + 16),
+ (GLsizei) bswap_CARD32(pc + 20),
+ (GLint) bswap_CARD32(pc + 24),
+ imageSize, (const GLvoid *) (pc + 32));
}
void
__glXDispSwap_CompressedTexSubImage1D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D =
+ __glGetProcAddress("glCompressedTexSubImage1D");
const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 20);
- glCompressedTexSubImage1D((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLint) bswap_CARD32(pc + 8),
- (GLsizei) bswap_CARD32(pc + 12),
- (GLenum) bswap_ENUM(pc + 16),
- imageSize, (const GLvoid *) (pc + 24));
+ CompressedTexSubImage1D((GLenum) bswap_ENUM(pc + 0),
+ (GLint) bswap_CARD32(pc + 4),
+ (GLint) bswap_CARD32(pc + 8),
+ (GLsizei) bswap_CARD32(pc + 12),
+ (GLenum) bswap_ENUM(pc + 16),
+ imageSize, (const GLvoid *) (pc + 24));
}
void
__glXDispSwap_CompressedTexSubImage2D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D =
+ __glGetProcAddress("glCompressedTexSubImage2D");
const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 28);
- glCompressedTexSubImage2D((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLint) bswap_CARD32(pc + 8),
- (GLint) bswap_CARD32(pc + 12),
- (GLsizei) bswap_CARD32(pc + 16),
- (GLsizei) bswap_CARD32(pc + 20),
- (GLenum) bswap_ENUM(pc + 24),
- imageSize, (const GLvoid *) (pc + 32));
+ CompressedTexSubImage2D((GLenum) bswap_ENUM(pc + 0),
+ (GLint) bswap_CARD32(pc + 4),
+ (GLint) bswap_CARD32(pc + 8),
+ (GLint) bswap_CARD32(pc + 12),
+ (GLsizei) bswap_CARD32(pc + 16),
+ (GLsizei) bswap_CARD32(pc + 20),
+ (GLenum) bswap_ENUM(pc + 24),
+ imageSize, (const GLvoid *) (pc + 32));
}
void
__glXDispSwap_CompressedTexSubImage3D(GLbyte * pc)
{
+ PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D =
+ __glGetProcAddress("glCompressedTexSubImage3D");
const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 36);
- glCompressedTexSubImage3D((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLint) bswap_CARD32(pc + 8),
- (GLint) bswap_CARD32(pc + 12),
- (GLint) bswap_CARD32(pc + 16),
- (GLsizei) bswap_CARD32(pc + 20),
- (GLsizei) bswap_CARD32(pc + 24),
- (GLsizei) bswap_CARD32(pc + 28),
- (GLenum) bswap_ENUM(pc + 32),
- imageSize, (const GLvoid *) (pc + 40));
+ CompressedTexSubImage3D((GLenum) bswap_ENUM(pc + 0),
+ (GLint) bswap_CARD32(pc + 4),
+ (GLint) bswap_CARD32(pc + 8),
+ (GLint) bswap_CARD32(pc + 12),
+ (GLint) bswap_CARD32(pc + 16),
+ (GLsizei) bswap_CARD32(pc + 20),
+ (GLsizei) bswap_CARD32(pc + 24),
+ (GLsizei) bswap_CARD32(pc + 28),
+ (GLenum) bswap_ENUM(pc + 32),
+ imageSize, (const GLvoid *) (pc + 40));
}
void
__glXDispSwap_SampleCoverage(GLbyte * pc)
{
- glSampleCoverage((GLclampf) bswap_FLOAT32(pc + 0), *(GLboolean *) (pc + 4));
+ PFNGLSAMPLECOVERAGEPROC SampleCoverage =
+ __glGetProcAddress("glSampleCoverage");
+ SampleCoverage((GLclampf) bswap_FLOAT32(pc + 0), *(GLboolean *) (pc + 4));
}
void
__glXDispSwap_BlendFuncSeparate(GLbyte * pc)
{
- glBlendFuncSeparate((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLenum) bswap_ENUM(pc + 12));
+ PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate =
+ __glGetProcAddress("glBlendFuncSeparate");
+ BlendFuncSeparate((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLenum) bswap_ENUM(pc + 12));
}
void
__glXDispSwap_FogCoorddv(GLbyte * pc)
{
+ PFNGLFOGCOORDDVPROC FogCoorddv = __glGetProcAddress("glFogCoorddv");
+
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 8);
@@ -4092,19 +4109,23 @@ __glXDispSwap_FogCoorddv(GLbyte * pc)
}
#endif
- glFogCoorddv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1));
+ FogCoorddv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1));
}
void
__glXDispSwap_PointParameterf(GLbyte * pc)
{
- glPointParameterf((GLenum) bswap_ENUM(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4));
+ PFNGLPOINTPARAMETERFPROC PointParameterf =
+ __glGetProcAddress("glPointParameterf");
+ PointParameterf((GLenum) bswap_ENUM(pc + 0),
+ (GLfloat) bswap_FLOAT32(pc + 4));
}
void
__glXDispSwap_PointParameterfv(GLbyte * pc)
{
+ PFNGLPOINTPARAMETERFVPROC PointParameterfv =
+ __glGetProcAddress("glPointParameterfv");
const GLenum pname = (GLenum) bswap_ENUM(pc + 0);
const GLfloat *params;
@@ -4112,19 +4133,22 @@ __glXDispSwap_PointParameterfv(GLbyte * pc)
(const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
__glPointParameterfv_size(pname));
- glPointParameterfv(pname, params);
+ PointParameterfv(pname, params);
}
void
__glXDispSwap_PointParameteri(GLbyte * pc)
{
- glPointParameteri((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4));
+ PFNGLPOINTPARAMETERIPROC PointParameteri =
+ __glGetProcAddress("glPointParameteri");
+ PointParameteri((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4));
}
void
__glXDispSwap_PointParameteriv(GLbyte * pc)
{
+ PFNGLPOINTPARAMETERIVPROC PointParameteriv =
+ __glGetProcAddress("glPointParameteriv");
const GLenum pname = (GLenum) bswap_ENUM(pc + 0);
const GLint *params;
@@ -4132,18 +4156,22 @@ __glXDispSwap_PointParameteriv(GLbyte * pc)
(const GLint *) bswap_32_array((uint32_t *) (pc + 4),
__glPointParameteriv_size(pname));
- glPointParameteriv(pname, params);
+ PointParameteriv(pname, params);
}
void
__glXDispSwap_SecondaryColor3bv(GLbyte * pc)
{
- glSecondaryColor3bv((const GLbyte *) (pc + 0));
+ PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv =
+ __glGetProcAddress("glSecondaryColor3bv");
+ SecondaryColor3bv((const GLbyte *) (pc + 0));
}
void
__glXDispSwap_SecondaryColor3dv(GLbyte * pc)
{
+ PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv =
+ __glGetProcAddress("glSecondaryColor3dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 24);
@@ -4151,59 +4179,74 @@ __glXDispSwap_SecondaryColor3dv(GLbyte * pc)
}
#endif
- glSecondaryColor3dv((const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 0), 3));
+ SecondaryColor3dv((const GLdouble *)
+ bswap_64_array((uint64_t *) (pc + 0), 3));
}
void
__glXDispSwap_SecondaryColor3iv(GLbyte * pc)
{
- glSecondaryColor3iv((const GLint *)
- bswap_32_array((uint32_t *) (pc + 0), 3));
+ PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv =
+ __glGetProcAddress("glSecondaryColor3iv");
+ SecondaryColor3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3));
}
void
__glXDispSwap_SecondaryColor3sv(GLbyte * pc)
{
- glSecondaryColor3sv((const GLshort *)
- bswap_16_array((uint16_t *) (pc + 0), 3));
+ PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv =
+ __glGetProcAddress("glSecondaryColor3sv");
+ SecondaryColor3sv((const GLshort *)
+ bswap_16_array((uint16_t *) (pc + 0), 3));
}
void
__glXDispSwap_SecondaryColor3ubv(GLbyte * pc)
{
- glSecondaryColor3ubv((const GLubyte *) (pc + 0));
+ PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv =
+ __glGetProcAddress("glSecondaryColor3ubv");
+ SecondaryColor3ubv((const GLubyte *) (pc + 0));
}
void
__glXDispSwap_SecondaryColor3uiv(GLbyte * pc)
{
- glSecondaryColor3uiv((const GLuint *)
- bswap_32_array((uint32_t *) (pc + 0), 3));
+ PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv =
+ __glGetProcAddress("glSecondaryColor3uiv");
+ SecondaryColor3uiv((const GLuint *)
+ bswap_32_array((uint32_t *) (pc + 0), 3));
}
void
__glXDispSwap_SecondaryColor3usv(GLbyte * pc)
{
- glSecondaryColor3usv((const GLushort *)
- bswap_16_array((uint16_t *) (pc + 0), 3));
+ PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv =
+ __glGetProcAddress("glSecondaryColor3usv");
+ SecondaryColor3usv((const GLushort *)
+ bswap_16_array((uint16_t *) (pc + 0), 3));
}
void
__glXDispSwap_WindowPos3fv(GLbyte * pc)
{
- glWindowPos3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ PFNGLWINDOWPOS3FVPROC WindowPos3fv = __glGetProcAddress("glWindowPos3fv");
+
+ WindowPos3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3));
}
void
__glXDispSwap_BeginQuery(GLbyte * pc)
{
- glBeginQuery((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4));
+ PFNGLBEGINQUERYPROC BeginQuery = __glGetProcAddress("glBeginQuery");
+
+ BeginQuery((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4));
}
int
__glXDispSwap_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLDELETEQUERIESPROC DeleteQueries =
+ __glGetProcAddress("glDeleteQueries");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4213,9 +4256,9 @@ __glXDispSwap_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
- glDeleteQueries(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ DeleteQueries(n,
+ (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
+ 0));
error = Success;
}
@@ -4225,12 +4268,15 @@ __glXDispSwap_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
void
__glXDispSwap_EndQuery(GLbyte * pc)
{
- glEndQuery((GLenum) bswap_ENUM(pc + 0));
+ PFNGLENDQUERYPROC EndQuery = __glGetProcAddress("glEndQuery");
+
+ EndQuery((GLenum) bswap_ENUM(pc + 0));
}
int
__glXDispSwap_GenQueries(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGENQUERIESPROC GenQueries = __glGetProcAddress("glGenQueries");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4244,7 +4290,7 @@ __glXDispSwap_GenQueries(__GLXclientState * cl, GLbyte * pc)
GLuint *ids =
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
4);
- glGenQueries(n, ids);
+ GenQueries(n, ids);
(void) bswap_32_array((uint32_t *) ids, n);
__glXSendReplySwap(cl->client, ids, n, 4, GL_TRUE, 0);
error = Success;
@@ -4256,6 +4302,8 @@ __glXDispSwap_GenQueries(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv =
+ __glGetProcAddress("glGetQueryObjectiv");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4275,7 +4323,7 @@ __glXDispSwap_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
return BadAlloc;
__glXClearErrorOccured();
- glGetQueryObjectiv((GLuint) bswap_CARD32(pc + 0), pname, params);
+ GetQueryObjectiv((GLuint) bswap_CARD32(pc + 0), pname, params);
(void) bswap_32_array((uint32_t *) params, compsize);
__glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
@@ -4287,6 +4335,8 @@ __glXDispSwap_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv =
+ __glGetProcAddress("glGetQueryObjectuiv");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4306,7 +4356,7 @@ __glXDispSwap_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
return BadAlloc;
__glXClearErrorOccured();
- glGetQueryObjectuiv((GLuint) bswap_CARD32(pc + 0), pname, params);
+ GetQueryObjectuiv((GLuint) bswap_CARD32(pc + 0), pname, params);
(void) bswap_32_array((uint32_t *) params, compsize);
__glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
@@ -4318,6 +4368,7 @@ __glXDispSwap_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETQUERYIVPROC GetQueryiv = __glGetProcAddress("glGetQueryiv");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4337,7 +4388,7 @@ __glXDispSwap_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
return BadAlloc;
__glXClearErrorOccured();
- glGetQueryiv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ GetQueryiv((GLenum) bswap_ENUM(pc + 0), pname, params);
(void) bswap_32_array((uint32_t *) params, compsize);
__glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
@@ -4349,6 +4400,7 @@ __glXDispSwap_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_IsQuery(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLISQUERYPROC IsQuery = __glGetProcAddress("glIsQuery");
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4358,7 +4410,7 @@ __glXDispSwap_IsQuery(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLboolean retval;
- retval = glIsQuery((GLuint) bswap_CARD32(pc + 0));
+ retval = IsQuery((GLuint) bswap_CARD32(pc + 0));
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4369,21 +4421,26 @@ __glXDispSwap_IsQuery(__GLXclientState * cl, GLbyte * pc)
void
__glXDispSwap_BlendEquationSeparate(GLbyte * pc)
{
- glBlendEquationSeparate((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4));
+ PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate =
+ __glGetProcAddress("glBlendEquationSeparate");
+ BlendEquationSeparate((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4));
}
void
__glXDispSwap_DrawBuffers(GLbyte * pc)
{
+ PFNGLDRAWBUFFERSPROC DrawBuffers = __glGetProcAddress("glDrawBuffers");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
- glDrawBuffers(n, (const GLenum *) bswap_32_array((uint32_t *) (pc + 4), 0));
+ DrawBuffers(n, (const GLenum *) bswap_32_array((uint32_t *) (pc + 4), 0));
}
void
__glXDispSwap_VertexAttrib1dv(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv =
+ __glGetProcAddress("glVertexAttrib1dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 12);
@@ -4391,22 +4448,25 @@ __glXDispSwap_VertexAttrib1dv(GLbyte * pc)
}
#endif
- glVertexAttrib1dv((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 1));
+ VertexAttrib1dv((GLuint) bswap_CARD32(pc + 0),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
+ 1));
}
void
__glXDispSwap_VertexAttrib1sv(GLbyte * pc)
{
- glVertexAttrib1sv((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 1));
+ PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv =
+ __glGetProcAddress("glVertexAttrib1sv");
+ VertexAttrib1sv((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 1));
}
void
__glXDispSwap_VertexAttrib2dv(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv =
+ __glGetProcAddress("glVertexAttrib2dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 20);
@@ -4414,22 +4474,25 @@ __glXDispSwap_VertexAttrib2dv(GLbyte * pc)
}
#endif
- glVertexAttrib2dv((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 2));
+ VertexAttrib2dv((GLuint) bswap_CARD32(pc + 0),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
+ 2));
}
void
__glXDispSwap_VertexAttrib2sv(GLbyte * pc)
{
- glVertexAttrib2sv((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 2));
+ PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv =
+ __glGetProcAddress("glVertexAttrib2sv");
+ VertexAttrib2sv((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 2));
}
void
__glXDispSwap_VertexAttrib3dv(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv =
+ __glGetProcAddress("glVertexAttrib3dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 28);
@@ -4437,74 +4500,89 @@ __glXDispSwap_VertexAttrib3dv(GLbyte * pc)
}
#endif
- glVertexAttrib3dv((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 3));
+ VertexAttrib3dv((GLuint) bswap_CARD32(pc + 0),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
+ 3));
}
void
__glXDispSwap_VertexAttrib3sv(GLbyte * pc)
{
- glVertexAttrib3sv((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 3));
+ PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv =
+ __glGetProcAddress("glVertexAttrib3sv");
+ VertexAttrib3sv((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 3));
}
void
__glXDispSwap_VertexAttrib4Nbv(GLbyte * pc)
{
- glVertexAttrib4Nbv((GLuint) bswap_CARD32(pc + 0),
- (const GLbyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv =
+ __glGetProcAddress("glVertexAttrib4Nbv");
+ VertexAttrib4Nbv((GLuint) bswap_CARD32(pc + 0), (const GLbyte *) (pc + 4));
}
void
__glXDispSwap_VertexAttrib4Niv(GLbyte * pc)
{
- glVertexAttrib4Niv((GLuint) bswap_CARD32(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv =
+ __glGetProcAddress("glVertexAttrib4Niv");
+ VertexAttrib4Niv((GLuint) bswap_CARD32(pc + 0),
+ (const GLint *) bswap_32_array((uint32_t *) (pc + 4), 4));
}
void
__glXDispSwap_VertexAttrib4Nsv(GLbyte * pc)
{
- glVertexAttrib4Nsv((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv =
+ __glGetProcAddress("glVertexAttrib4Nsv");
+ VertexAttrib4Nsv((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_VertexAttrib4Nubv(GLbyte * pc)
{
- glVertexAttrib4Nubv((GLuint) bswap_CARD32(pc + 0),
- (const GLubyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv =
+ __glGetProcAddress("glVertexAttrib4Nubv");
+ VertexAttrib4Nubv((GLuint) bswap_CARD32(pc + 0),
+ (const GLubyte *) (pc + 4));
}
void
__glXDispSwap_VertexAttrib4Nuiv(GLbyte * pc)
{
- glVertexAttrib4Nuiv((GLuint) bswap_CARD32(pc + 0),
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv =
+ __glGetProcAddress("glVertexAttrib4Nuiv");
+ VertexAttrib4Nuiv((GLuint) bswap_CARD32(pc + 0),
+ (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_VertexAttrib4Nusv(GLbyte * pc)
{
- glVertexAttrib4Nusv((GLuint) bswap_CARD32(pc + 0),
- (const GLushort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv =
+ __glGetProcAddress("glVertexAttrib4Nusv");
+ VertexAttrib4Nusv((GLuint) bswap_CARD32(pc + 0),
+ (const GLushort *) bswap_16_array((uint16_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_VertexAttrib4bv(GLbyte * pc)
{
- glVertexAttrib4bv((GLuint) bswap_CARD32(pc + 0), (const GLbyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv =
+ __glGetProcAddress("glVertexAttrib4bv");
+ VertexAttrib4bv((GLuint) bswap_CARD32(pc + 0), (const GLbyte *) (pc + 4));
}
void
__glXDispSwap_VertexAttrib4dv(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv =
+ __glGetProcAddress("glVertexAttrib4dv");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 36);
@@ -4512,65 +4590,77 @@ __glXDispSwap_VertexAttrib4dv(GLbyte * pc)
}
#endif
- glVertexAttrib4dv((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 4));
+ VertexAttrib4dv((GLuint) bswap_CARD32(pc + 0),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_VertexAttrib4iv(GLbyte * pc)
{
- glVertexAttrib4iv((GLuint) bswap_CARD32(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4), 4));
+ PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv =
+ __glGetProcAddress("glVertexAttrib4iv");
+ VertexAttrib4iv((GLuint) bswap_CARD32(pc + 0),
+ (const GLint *) bswap_32_array((uint32_t *) (pc + 4), 4));
}
void
__glXDispSwap_VertexAttrib4sv(GLbyte * pc)
{
- glVertexAttrib4sv((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv =
+ __glGetProcAddress("glVertexAttrib4sv");
+ VertexAttrib4sv((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 4));
}
void
__glXDispSwap_VertexAttrib4ubv(GLbyte * pc)
{
- glVertexAttrib4ubv((GLuint) bswap_CARD32(pc + 0),
- (const GLubyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv =
+ __glGetProcAddress("glVertexAttrib4ubv");
+ VertexAttrib4ubv((GLuint) bswap_CARD32(pc + 0), (const GLubyte *) (pc + 4));
}
void
__glXDispSwap_VertexAttrib4uiv(GLbyte * pc)
{
- glVertexAttrib4uiv((GLuint) bswap_CARD32(pc + 0),
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv =
+ __glGetProcAddress("glVertexAttrib4uiv");
+ VertexAttrib4uiv((GLuint) bswap_CARD32(pc + 0),
+ (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), 4));
}
void
__glXDispSwap_VertexAttrib4usv(GLbyte * pc)
{
- glVertexAttrib4usv((GLuint) bswap_CARD32(pc + 0),
- (const GLushort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv =
+ __glGetProcAddress("glVertexAttrib4usv");
+ VertexAttrib4usv((GLuint) bswap_CARD32(pc + 0),
+ (const GLushort *) bswap_16_array((uint16_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_ClampColor(GLbyte * pc)
{
- glClampColor((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4));
+ PFNGLCLAMPCOLORPROC ClampColor = __glGetProcAddress("glClampColor");
+
+ ClampColor((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4));
}
void
__glXDispSwap_BindProgramARB(GLbyte * pc)
{
- glBindProgramARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4));
+ PFNGLBINDPROGRAMARBPROC BindProgramARB =
+ __glGetProcAddress("glBindProgramARB");
+ BindProgramARB((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4));
}
int
__glXDispSwap_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB =
+ __glGetProcAddress("glDeleteProgramsARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4580,9 +4670,9 @@ __glXDispSwap_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
- glDeleteProgramsARB(n,
- (const GLuint *)
- bswap_32_array((uint32_t *) (pc + 4), 0));
+ DeleteProgramsARB(n,
+ (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
+ 0));
error = Success;
}
@@ -4592,6 +4682,8 @@ __glXDispSwap_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGENPROGRAMSARBPROC GenProgramsARB =
+ __glGetProcAddress("glGenProgramsARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4605,7 +4697,7 @@ __glXDispSwap_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
GLuint *programs =
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
4);
- glGenProgramsARB(n, programs);
+ GenProgramsARB(n, programs);
(void) bswap_32_array((uint32_t *) programs, n);
__glXSendReplySwap(cl->client, programs, n, 4, GL_TRUE, 0);
error = Success;
@@ -4617,6 +4709,8 @@ __glXDispSwap_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB =
+ __glGetProcAddress("glGetProgramEnvParameterdvARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4626,8 +4720,8 @@ __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLdouble params[4];
- glGetProgramEnvParameterdvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4), params);
+ GetProgramEnvParameterdvARB((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4), params);
(void) bswap_64_array((uint64_t *) params, 4);
__glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0);
error = Success;
@@ -4639,6 +4733,8 @@ __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB =
+ __glGetProcAddress("glGetProgramEnvParameterfvARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4648,8 +4744,8 @@ __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLfloat params[4];
- glGetProgramEnvParameterfvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4), params);
+ GetProgramEnvParameterfvARB((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4), params);
(void) bswap_32_array((uint32_t *) params, 4);
__glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0);
error = Success;
@@ -4661,6 +4757,8 @@ __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB =
+ __glGetProcAddress("glGetProgramLocalParameterdvARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4670,8 +4768,8 @@ __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLdouble params[4];
- glGetProgramLocalParameterdvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4), params);
+ GetProgramLocalParameterdvARB((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4), params);
(void) bswap_64_array((uint64_t *) params, 4);
__glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0);
error = Success;
@@ -4683,6 +4781,8 @@ __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB =
+ __glGetProcAddress("glGetProgramLocalParameterfvARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4692,8 +4792,8 @@ __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLfloat params[4];
- glGetProgramLocalParameterfvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4), params);
+ GetProgramLocalParameterfvARB((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4), params);
(void) bswap_32_array((uint32_t *) params, 4);
__glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0);
error = Success;
@@ -4705,6 +4805,8 @@ __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETPROGRAMIVARBPROC GetProgramivARB =
+ __glGetProcAddress("glGetProgramivARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4724,7 +4826,7 @@ __glXDispSwap_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
return BadAlloc;
__glXClearErrorOccured();
- glGetProgramivARB((GLenum) bswap_ENUM(pc + 0), pname, params);
+ GetProgramivARB((GLenum) bswap_ENUM(pc + 0), pname, params);
(void) bswap_32_array((uint32_t *) params, compsize);
__glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
@@ -4736,6 +4838,7 @@ __glXDispSwap_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLISPROGRAMARBPROC IsProgramARB = __glGetProcAddress("glIsProgramARB");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4745,7 +4848,7 @@ __glXDispSwap_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLboolean retval;
- retval = glIsProgramARB((GLuint) bswap_CARD32(pc + 0));
+ retval = IsProgramARB((GLuint) bswap_CARD32(pc + 0));
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4756,6 +4859,8 @@ __glXDispSwap_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
void
__glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc)
{
+ PFNGLPROGRAMENVPARAMETER4DVARBPROC ProgramEnvParameter4dvARB =
+ __glGetProcAddress("glProgramEnvParameter4dvARB");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 40);
@@ -4763,24 +4868,28 @@ __glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc)
}
#endif
- glProgramEnvParameter4dvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4),
- (const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 8), 4));
+ ProgramEnvParameter4dvARB((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4),
+ (const GLdouble *)
+ bswap_64_array((uint64_t *) (pc + 8), 4));
}
void
__glXDispSwap_ProgramEnvParameter4fvARB(GLbyte * pc)
{
- glProgramEnvParameter4fvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4),
- (const GLfloat *)
- bswap_32_array((uint32_t *) (pc + 8), 4));
+ PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB =
+ __glGetProcAddress("glProgramEnvParameter4fvARB");
+ ProgramEnvParameter4fvARB((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4),
+ (const GLfloat *)
+ bswap_32_array((uint32_t *) (pc + 8), 4));
}
void
__glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc)
{
+ PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB =
+ __glGetProcAddress("glProgramLocalParameter4dvARB");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 40);
@@ -4788,95 +4897,112 @@ __glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc)
}
#endif
- glProgramLocalParameter4dvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4),
- (const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 8), 4));
+ ProgramLocalParameter4dvARB((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4),
+ (const GLdouble *)
+ bswap_64_array((uint64_t *) (pc + 8), 4));
}
void
__glXDispSwap_ProgramLocalParameter4fvARB(GLbyte * pc)
{
- glProgramLocalParameter4fvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4),
- (const GLfloat *)
- bswap_32_array((uint32_t *) (pc + 8), 4));
+ PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB =
+ __glGetProcAddress("glProgramLocalParameter4fvARB");
+ ProgramLocalParameter4fvARB((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4),
+ (const GLfloat *)
+ bswap_32_array((uint32_t *) (pc + 8), 4));
}
void
__glXDispSwap_ProgramStringARB(GLbyte * pc)
{
+ PFNGLPROGRAMSTRINGARBPROC ProgramStringARB =
+ __glGetProcAddress("glProgramStringARB");
const GLsizei len = (GLsizei) bswap_CARD32(pc + 8);
- glProgramStringARB((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- len, (const GLvoid *) (pc + 12));
+ ProgramStringARB((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4),
+ len, (const GLvoid *) (pc + 12));
}
void
__glXDispSwap_VertexAttrib1fvARB(GLbyte * pc)
{
- glVertexAttrib1fvARB((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 1));
+ PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB =
+ __glGetProcAddress("glVertexAttrib1fvARB");
+ VertexAttrib1fvARB((GLuint) bswap_CARD32(pc + 0),
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
+ 1));
}
void
__glXDispSwap_VertexAttrib2fvARB(GLbyte * pc)
{
- glVertexAttrib2fvARB((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 2));
+ PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB =
+ __glGetProcAddress("glVertexAttrib2fvARB");
+ VertexAttrib2fvARB((GLuint) bswap_CARD32(pc + 0),
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
+ 2));
}
void
__glXDispSwap_VertexAttrib3fvARB(GLbyte * pc)
{
- glVertexAttrib3fvARB((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 3));
+ PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB =
+ __glGetProcAddress("glVertexAttrib3fvARB");
+ VertexAttrib3fvARB((GLuint) bswap_CARD32(pc + 0),
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
+ 3));
}
void
__glXDispSwap_VertexAttrib4fvARB(GLbyte * pc)
{
- glVertexAttrib4fvARB((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB =
+ __glGetProcAddress("glVertexAttrib4fvARB");
+ VertexAttrib4fvARB((GLuint) bswap_CARD32(pc + 0),
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_BindFramebuffer(GLbyte * pc)
{
- glBindFramebuffer((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4));
+ PFNGLBINDFRAMEBUFFERPROC BindFramebuffer =
+ __glGetProcAddress("glBindFramebuffer");
+ BindFramebuffer((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4));
}
void
__glXDispSwap_BindRenderbuffer(GLbyte * pc)
{
- glBindRenderbuffer((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4));
+ PFNGLBINDRENDERBUFFERPROC BindRenderbuffer =
+ __glGetProcAddress("glBindRenderbuffer");
+ BindRenderbuffer((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4));
}
void
__glXDispSwap_BlitFramebuffer(GLbyte * pc)
{
- glBlitFramebuffer((GLint) bswap_CARD32(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLint) bswap_CARD32(pc + 8),
- (GLint) bswap_CARD32(pc + 12),
- (GLint) bswap_CARD32(pc + 16),
- (GLint) bswap_CARD32(pc + 20),
- (GLint) bswap_CARD32(pc + 24),
- (GLint) bswap_CARD32(pc + 28),
- (GLbitfield) bswap_CARD32(pc + 32),
- (GLenum) bswap_ENUM(pc + 36));
+ PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer =
+ __glGetProcAddress("glBlitFramebuffer");
+ BlitFramebuffer((GLint) bswap_CARD32(pc + 0), (GLint) bswap_CARD32(pc + 4),
+ (GLint) bswap_CARD32(pc + 8), (GLint) bswap_CARD32(pc + 12),
+ (GLint) bswap_CARD32(pc + 16),
+ (GLint) bswap_CARD32(pc + 20),
+ (GLint) bswap_CARD32(pc + 24),
+ (GLint) bswap_CARD32(pc + 28),
+ (GLbitfield) bswap_CARD32(pc + 32),
+ (GLenum) bswap_ENUM(pc + 36));
}
int
__glXDispSwap_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus =
+ __glGetProcAddress("glCheckFramebufferStatus");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4886,7 +5012,7 @@ __glXDispSwap_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLenum retval;
- retval = glCheckFramebufferStatus((GLenum) bswap_ENUM(pc + 0));
+ retval = CheckFramebufferStatus((GLenum) bswap_ENUM(pc + 0));
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4897,76 +5023,92 @@ __glXDispSwap_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
void
__glXDispSwap_DeleteFramebuffers(GLbyte * pc)
{
+ PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers =
+ __glGetProcAddress("glDeleteFramebuffers");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
- glDeleteFramebuffers(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ DeleteFramebuffers(n,
+ (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
+ 0));
}
void
__glXDispSwap_DeleteRenderbuffers(GLbyte * pc)
{
+ PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers =
+ __glGetProcAddress("glDeleteRenderbuffers");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
- glDeleteRenderbuffers(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ DeleteRenderbuffers(n,
+ (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
+ 0));
}
void
__glXDispSwap_FramebufferRenderbuffer(GLbyte * pc)
{
- glFramebufferRenderbuffer((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLuint) bswap_CARD32(pc + 12));
+ PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer =
+ __glGetProcAddress("glFramebufferRenderbuffer");
+ FramebufferRenderbuffer((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLuint) bswap_CARD32(pc + 12));
}
void
__glXDispSwap_FramebufferTexture1D(GLbyte * pc)
{
- glFramebufferTexture1D((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLuint) bswap_CARD32(pc + 12),
- (GLint) bswap_CARD32(pc + 16));
+ PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D =
+ __glGetProcAddress("glFramebufferTexture1D");
+ FramebufferTexture1D((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLuint) bswap_CARD32(pc + 12),
+ (GLint) bswap_CARD32(pc + 16));
}
void
__glXDispSwap_FramebufferTexture2D(GLbyte * pc)
{
- glFramebufferTexture2D((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLuint) bswap_CARD32(pc + 12),
- (GLint) bswap_CARD32(pc + 16));
+ PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D =
+ __glGetProcAddress("glFramebufferTexture2D");
+ FramebufferTexture2D((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLuint) bswap_CARD32(pc + 12),
+ (GLint) bswap_CARD32(pc + 16));
}
void
__glXDispSwap_FramebufferTexture3D(GLbyte * pc)
{
- glFramebufferTexture3D((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLuint) bswap_CARD32(pc + 12),
- (GLint) bswap_CARD32(pc + 16),
- (GLint) bswap_CARD32(pc + 20));
+ PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D =
+ __glGetProcAddress("glFramebufferTexture3D");
+ FramebufferTexture3D((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLuint) bswap_CARD32(pc + 12),
+ (GLint) bswap_CARD32(pc + 16),
+ (GLint) bswap_CARD32(pc + 20));
}
void
__glXDispSwap_FramebufferTextureLayer(GLbyte * pc)
{
- glFramebufferTextureLayer((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLuint) bswap_CARD32(pc + 8),
- (GLint) bswap_CARD32(pc + 12),
- (GLint) bswap_CARD32(pc + 16));
+ PFNGLFRAMEBUFFERTEXTURELAYERPROC FramebufferTextureLayer =
+ __glGetProcAddress("glFramebufferTextureLayer");
+ FramebufferTextureLayer((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4),
+ (GLuint) bswap_CARD32(pc + 8),
+ (GLint) bswap_CARD32(pc + 12),
+ (GLint) bswap_CARD32(pc + 16));
}
int
__glXDispSwap_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGENFRAMEBUFFERSPROC GenFramebuffers =
+ __glGetProcAddress("glGenFramebuffers");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -4980,7 +5122,7 @@ __glXDispSwap_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
GLuint *framebuffers =
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
4);
- glGenFramebuffers(n, framebuffers);
+ GenFramebuffers(n, framebuffers);
(void) bswap_32_array((uint32_t *) framebuffers, n);
__glXSendReplySwap(cl->client, framebuffers, n, 4, GL_TRUE, 0);
error = Success;
@@ -4992,6 +5134,8 @@ __glXDispSwap_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGENRENDERBUFFERSPROC GenRenderbuffers =
+ __glGetProcAddress("glGenRenderbuffers");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -5005,7 +5149,7 @@ __glXDispSwap_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
GLuint *renderbuffers =
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
4);
- glGenRenderbuffers(n, renderbuffers);
+ GenRenderbuffers(n, renderbuffers);
(void) bswap_32_array((uint32_t *) renderbuffers, n);
__glXSendReplySwap(cl->client, renderbuffers, n, 4, GL_TRUE, 0);
error = Success;
@@ -5017,13 +5161,18 @@ __glXDispSwap_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
void
__glXDispSwap_GenerateMipmap(GLbyte * pc)
{
- glGenerateMipmap((GLenum) bswap_ENUM(pc + 0));
+ PFNGLGENERATEMIPMAPPROC GenerateMipmap =
+ __glGetProcAddress("glGenerateMipmap");
+ GenerateMipmap((GLenum) bswap_ENUM(pc + 0));
}
int
__glXDispSwap_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
GLbyte * pc)
{
+ PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
+ GetFramebufferAttachmentParameteriv =
+ __glGetProcAddress("glGetFramebufferAttachmentParameteriv");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -5033,10 +5182,10 @@ __glXDispSwap_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
if (cx != NULL) {
GLint params[1];
- glGetFramebufferAttachmentParameteriv((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- params);
+ GetFramebufferAttachmentParameteriv((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ params);
(void) bswap_32_array((uint32_t *) params, 1);
__glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0);
error = Success;
@@ -5048,6 +5197,8 @@ __glXDispSwap_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
int
__glXDispSwap_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv =
+ __glGetProcAddress("glGetRenderbufferParameteriv");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -5057,8 +5208,8 @@ __glXDispSwap_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLint params[1];
- glGetRenderbufferParameteriv((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), params);
+ GetRenderbufferParameteriv((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4), params);
(void) bswap_32_array((uint32_t *) params, 1);
__glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0);
error = Success;
@@ -5070,6 +5221,8 @@ __glXDispSwap_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLISFRAMEBUFFERPROC IsFramebuffer =
+ __glGetProcAddress("glIsFramebuffer");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -5079,7 +5232,7 @@ __glXDispSwap_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLboolean retval;
- retval = glIsFramebuffer((GLuint) bswap_CARD32(pc + 0));
+ retval = IsFramebuffer((GLuint) bswap_CARD32(pc + 0));
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -5090,6 +5243,8 @@ __glXDispSwap_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
{
+ PFNGLISRENDERBUFFERPROC IsRenderbuffer =
+ __glGetProcAddress("glIsRenderbuffer");
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
int error;
__GLXcontext *const cx =
@@ -5099,7 +5254,7 @@ __glXDispSwap_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
if (cx != NULL) {
GLboolean retval;
- retval = glIsRenderbuffer((GLuint) bswap_CARD32(pc + 0));
+ retval = IsRenderbuffer((GLuint) bswap_CARD32(pc + 0));
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -5110,38 +5265,48 @@ __glXDispSwap_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
void
__glXDispSwap_RenderbufferStorage(GLbyte * pc)
{
- glRenderbufferStorage((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLsizei) bswap_CARD32(pc + 8),
- (GLsizei) bswap_CARD32(pc + 12));
+ PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage =
+ __glGetProcAddress("glRenderbufferStorage");
+ RenderbufferStorage((GLenum) bswap_ENUM(pc + 0),
+ (GLenum) bswap_ENUM(pc + 4),
+ (GLsizei) bswap_CARD32(pc + 8),
+ (GLsizei) bswap_CARD32(pc + 12));
}
void
__glXDispSwap_RenderbufferStorageMultisample(GLbyte * pc)
{
- glRenderbufferStorageMultisample((GLenum) bswap_ENUM(pc + 0),
- (GLsizei) bswap_CARD32(pc + 4),
- (GLenum) bswap_ENUM(pc + 8),
- (GLsizei) bswap_CARD32(pc + 12),
- (GLsizei) bswap_CARD32(pc + 16));
+ PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample =
+ __glGetProcAddress("glRenderbufferStorageMultisample");
+ RenderbufferStorageMultisample((GLenum) bswap_ENUM(pc + 0),
+ (GLsizei) bswap_CARD32(pc + 4),
+ (GLenum) bswap_ENUM(pc + 8),
+ (GLsizei) bswap_CARD32(pc + 12),
+ (GLsizei) bswap_CARD32(pc + 16));
}
void
__glXDispSwap_SecondaryColor3fvEXT(GLbyte * pc)
{
- glSecondaryColor3fvEXT((const GLfloat *)
- bswap_32_array((uint32_t *) (pc + 0), 3));
+ PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT =
+ __glGetProcAddress("glSecondaryColor3fvEXT");
+ SecondaryColor3fvEXT((const GLfloat *)
+ bswap_32_array((uint32_t *) (pc + 0), 3));
}
void
__glXDispSwap_FogCoordfvEXT(GLbyte * pc)
{
- glFogCoordfvEXT((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1));
+ PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT =
+ __glGetProcAddress("glFogCoordfvEXT");
+ FogCoordfvEXT((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1));
}
void
__glXDispSwap_VertexAttrib1dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV =
+ __glGetProcAddress("glVertexAttrib1dvNV");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 12);
@@ -5149,30 +5314,36 @@ __glXDispSwap_VertexAttrib1dvNV(GLbyte * pc)
}
#endif
- glVertexAttrib1dvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 1));
+ VertexAttrib1dvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
+ 1));
}
void
__glXDispSwap_VertexAttrib1fvNV(GLbyte * pc)
{
- glVertexAttrib1fvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 1));
+ PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV =
+ __glGetProcAddress("glVertexAttrib1fvNV");
+ VertexAttrib1fvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
+ 1));
}
void
__glXDispSwap_VertexAttrib1svNV(GLbyte * pc)
{
- glVertexAttrib1svNV((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 1));
+ PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV =
+ __glGetProcAddress("glVertexAttrib1svNV");
+ VertexAttrib1svNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 1));
}
void
__glXDispSwap_VertexAttrib2dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV =
+ __glGetProcAddress("glVertexAttrib2dvNV");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 20);
@@ -5180,30 +5351,36 @@ __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc)
}
#endif
- glVertexAttrib2dvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 2));
+ VertexAttrib2dvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
+ 2));
}
void
__glXDispSwap_VertexAttrib2fvNV(GLbyte * pc)
{
- glVertexAttrib2fvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 2));
+ PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV =
+ __glGetProcAddress("glVertexAttrib2fvNV");
+ VertexAttrib2fvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
+ 2));
}
void
__glXDispSwap_VertexAttrib2svNV(GLbyte * pc)
{
- glVertexAttrib2svNV((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 2));
+ PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV =
+ __glGetProcAddress("glVertexAttrib2svNV");
+ VertexAttrib2svNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 2));
}
void
__glXDispSwap_VertexAttrib3dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV =
+ __glGetProcAddress("glVertexAttrib3dvNV");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 28);
@@ -5211,30 +5388,36 @@ __glXDispSwap_VertexAttrib3dvNV(GLbyte * pc)
}
#endif
- glVertexAttrib3dvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 3));
+ VertexAttrib3dvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
+ 3));
}
void
__glXDispSwap_VertexAttrib3fvNV(GLbyte * pc)
{
- glVertexAttrib3fvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 3));
+ PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV =
+ __glGetProcAddress("glVertexAttrib3fvNV");
+ VertexAttrib3fvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
+ 3));
}
void
__glXDispSwap_VertexAttrib3svNV(GLbyte * pc)
{
- glVertexAttrib3svNV((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 3));
+ PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV =
+ __glGetProcAddress("glVertexAttrib3svNV");
+ VertexAttrib3svNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 3));
}
void
__glXDispSwap_VertexAttrib4dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV =
+ __glGetProcAddress("glVertexAttrib4dvNV");
#ifdef __GLX_ALIGN64
if ((unsigned long) (pc) & 7) {
(void) memmove(pc - 4, pc, 36);
@@ -5242,37 +5425,45 @@ __glXDispSwap_VertexAttrib4dvNV(GLbyte * pc)
}
#endif
- glVertexAttrib4dvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 4));
+ VertexAttrib4dvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_VertexAttrib4fvNV(GLbyte * pc)
{
- glVertexAttrib4fvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV =
+ __glGetProcAddress("glVertexAttrib4fvNV");
+ VertexAttrib4fvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_VertexAttrib4svNV(GLbyte * pc)
{
- glVertexAttrib4svNV((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+ PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV =
+ __glGetProcAddress("glVertexAttrib4svNV");
+ VertexAttrib4svNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
+ 4));
}
void
__glXDispSwap_VertexAttrib4ubvNV(GLbyte * pc)
{
- glVertexAttrib4ubvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLubyte *) (pc + 4));
+ PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV =
+ __glGetProcAddress("glVertexAttrib4ubvNV");
+ VertexAttrib4ubvNV((GLuint) bswap_CARD32(pc + 0),
+ (const GLubyte *) (pc + 4));
}
void
__glXDispSwap_VertexAttribs1dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV =
+ __glGetProcAddress("glVertexAttribs1dvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
#ifdef __GLX_ALIGN64
@@ -5284,37 +5475,43 @@ __glXDispSwap_VertexAttribs1dvNV(GLbyte * pc)
}
#endif
- glVertexAttribs1dvNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 8), 0));
+ VertexAttribs1dvNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs1fvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV =
+ __glGetProcAddress("glVertexAttribs1fvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs1fvNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- 0));
+ VertexAttribs1fvNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs1svNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV =
+ __glGetProcAddress("glVertexAttribs1svNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs1svNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 8),
- 0));
+ VertexAttribs1svNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs2dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV =
+ __glGetProcAddress("glVertexAttribs2dvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
#ifdef __GLX_ALIGN64
@@ -5326,37 +5523,43 @@ __glXDispSwap_VertexAttribs2dvNV(GLbyte * pc)
}
#endif
- glVertexAttribs2dvNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 8), 0));
+ VertexAttribs2dvNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs2fvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV =
+ __glGetProcAddress("glVertexAttribs2fvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs2fvNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- 0));
+ VertexAttribs2fvNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs2svNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV =
+ __glGetProcAddress("glVertexAttribs2svNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs2svNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 8),
- 0));
+ VertexAttribs2svNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs3dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV =
+ __glGetProcAddress("glVertexAttribs3dvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
#ifdef __GLX_ALIGN64
@@ -5368,37 +5571,43 @@ __glXDispSwap_VertexAttribs3dvNV(GLbyte * pc)
}
#endif
- glVertexAttribs3dvNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 8), 0));
+ VertexAttribs3dvNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs3fvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV =
+ __glGetProcAddress("glVertexAttribs3fvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs3fvNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- 0));
+ VertexAttribs3fvNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs3svNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV =
+ __glGetProcAddress("glVertexAttribs3svNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs3svNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 8),
- 0));
+ VertexAttribs3svNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs4dvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV =
+ __glGetProcAddress("glVertexAttribs4dvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
#ifdef __GLX_ALIGN64
@@ -5410,45 +5619,53 @@ __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc)
}
#endif
- glVertexAttribs4dvNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 8), 0));
+ VertexAttribs4dvNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs4fvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV =
+ __glGetProcAddress("glVertexAttribs4fvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs4fvNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- 0));
+ VertexAttribs4fvNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs4svNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV =
+ __glGetProcAddress("glVertexAttribs4svNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs4svNV((GLuint) bswap_CARD32(pc + 0),
- n,
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 8),
- 0));
+ VertexAttribs4svNV((GLuint) bswap_CARD32(pc + 0),
+ n,
+ (const GLshort *) bswap_16_array((uint16_t *) (pc + 8),
+ 0));
}
void
__glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc)
{
+ PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV =
+ __glGetProcAddress("glVertexAttribs4ubvNV");
const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
- glVertexAttribs4ubvNV((GLuint) bswap_CARD32(pc + 0),
- n, (const GLubyte *) (pc + 8));
+ VertexAttribs4ubvNV((GLuint) bswap_CARD32(pc + 0),
+ n, (const GLubyte *) (pc + 8));
}
void
__glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc)
{
- glActiveStencilFaceEXT((GLenum) bswap_ENUM(pc + 0));
+ PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT =
+ __glGetProcAddress("glActiveStencilFaceEXT");
+ ActiveStencilFaceEXT((GLenum) bswap_ENUM(pc + 0));
}
diff --git a/xorg-server/glx/indirect_program.c b/xorg-server/glx/indirect_program.c
index db22d845d..fa4a2408b 100644
--- a/xorg-server/glx/indirect_program.c
+++ b/xorg-server/glx/indirect_program.c
@@ -104,29 +104,43 @@ DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc,
int
__glXDisp_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc)
{
- return DoGetProgramString(cl, pc, glGetProgramivARB,
- glGetProgramStringARB, False);
+ PFNGLGETPROGRAMIVARBPROC get_program =
+ __glGetProcAddress("glGetProgramivARB");
+ PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
+ __glGetProcAddress("glGetProgramStringARB");
+
+ return DoGetProgramString(cl, pc, get_program, get_program_string, False);
}
int
__glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc)
{
- return DoGetProgramString(cl, pc, glGetProgramivARB,
- glGetProgramStringARB, True);
+ PFNGLGETPROGRAMIVARBPROC get_program =
+ __glGetProcAddress("glGetProgramivARB");
+ PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
+ __glGetProcAddress("glGetProgramStringARB");
+
+ return DoGetProgramString(cl, pc, get_program, get_program_string, True);
}
int
__glXDisp_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
{
- return DoGetProgramString(cl, pc, (PFNGLGETPROGRAMIVARBPROC)glGetProgramivNV,
- (PFNGLGETPROGRAMSTRINGARBPROC)glGetProgramStringNV,
- False);
+ PFNGLGETPROGRAMIVARBPROC get_program =
+ __glGetProcAddress("glGetProgramivARB");
+ PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
+ __glGetProcAddress("glGetProgramStringARB");
+
+ return DoGetProgramString(cl, pc, get_program, get_program_string, False);
}
int
__glXDispSwap_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
{
- return DoGetProgramString(cl, pc, (PFNGLGETPROGRAMIVARBPROC)glGetProgramivNV,
- (PFNGLGETPROGRAMSTRINGARBPROC)glGetProgramStringNV,
- True);
+ PFNGLGETPROGRAMIVARBPROC get_program =
+ __glGetProcAddress("glGetProgramivARB");
+ PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
+ __glGetProcAddress("glGetProgramStringARB");
+
+ return DoGetProgramString(cl, pc, get_program, get_program_string, True);
}
diff --git a/xorg-server/glx/render2.c b/xorg-server/glx/render2.c
index 5a2f4827e..8d9b5f4d2 100644
--- a/xorg-server/glx/render2.c
+++ b/xorg-server/glx/render2.c
@@ -231,13 +231,21 @@ __glXDisp_DrawArrays(GLbyte * pc)
glEdgeFlagPointer(stride, (const GLboolean *) pc);
break;
case GL_SECONDARY_COLOR_ARRAY:
+ {
+ PFNGLSECONDARYCOLORPOINTERPROC SecondaryColorPointerEXT =
+ __glGetProcAddress("glSecondaryColorPointerEXT");
glEnableClientState(GL_SECONDARY_COLOR_ARRAY);
- glSecondaryColorPointerEXT(numVals, datatype, stride, pc);
+ SecondaryColorPointerEXT(numVals, datatype, stride, pc);
break;
+ }
case GL_FOG_COORD_ARRAY:
+ {
+ PFNGLFOGCOORDPOINTERPROC FogCoordPointerEXT =
+ __glGetProcAddress("glFogCoordPointerEXT");
glEnableClientState(GL_FOG_COORD_ARRAY);
- glFogCoordPointerEXT(datatype, stride, pc);
+ FogCoordPointerEXT(datatype, stride, pc);
break;
+ }
default:
break;
}
diff --git a/xorg-server/glx/render2swap.c b/xorg-server/glx/render2swap.c
index e6f73b896..6ed364f75 100644
--- a/xorg-server/glx/render2swap.c
+++ b/xorg-server/glx/render2swap.c
@@ -353,13 +353,21 @@ __glXDispSwap_DrawArrays(GLbyte * pc)
glEdgeFlagPointer(stride, (const GLboolean *) pc);
break;
case GL_SECONDARY_COLOR_ARRAY:
+ {
+ PFNGLSECONDARYCOLORPOINTERPROC SecondaryColorPointerEXT =
+ __glGetProcAddress("glSecondaryColorPointerEXT");
glEnableClientState(GL_SECONDARY_COLOR_ARRAY);
- glSecondaryColorPointerEXT(numVals, datatype, stride, pc);
+ SecondaryColorPointerEXT(numVals, datatype, stride, pc);
break;
+ }
case GL_FOG_COORD_ARRAY:
+ {
+ PFNGLFOGCOORDPOINTERPROC FogCoordPointerEXT =
+ __glGetProcAddress("glFogCoordPointerEXT");
glEnableClientState(GL_FOG_COORD_ARRAY);
- glFogCoordPointerEXT(datatype, stride, pc);
+ FogCoordPointerEXT(datatype, stride, pc);
break;
+ }
default:
break;
}
diff --git a/xorg-server/hw/kdrive/ephyr/ephyr.c b/xorg-server/hw/kdrive/ephyr/ephyr.c
index ef4b3210c..b2a79855c 100644
--- a/xorg-server/hw/kdrive/ephyr/ephyr.c
+++ b/xorg-server/hw/kdrive/ephyr/ephyr.c
@@ -943,7 +943,7 @@ ephyrProcessMouseMotion(xcb_generic_event_t *xev)
#ifdef XF86DRI
EphyrWindowPair *pair = NULL;
#endif
- EPHYR_LOG("enqueuing mouse motion:%d\n", ephyrCurScreen);
+ EPHYR_LOG("enqueuing mouse motion:%d\n", screen->pScreen->myNum);
x = motion->event_x;
y = motion->event_y;
EPHYR_LOG("initial (x,y):(%d,%d)\n", x, y);
@@ -977,7 +977,7 @@ ephyrProcessButtonPress(xcb_generic_event_t *xev)
if (!ephyrMouse ||
!((EphyrPointerPrivate *) ephyrMouse->driverPrivate)->enabled) {
- EPHYR_LOG("skipping mouse press:%d\n", ephyrCurScreen);
+ EPHYR_LOG("skipping mouse press:%d\n", screen_from_window(button->event)->pScreen->myNum);
return;
}
@@ -987,7 +987,7 @@ ephyrProcessButtonPress(xcb_generic_event_t *xev)
*/
mouseState |= 1 << (button->detail - 1);
- EPHYR_LOG("enqueuing mouse press:%d\n", ephyrCurScreen);
+ EPHYR_LOG("enqueuing mouse press:%d\n", screen_from_window(button->event)->pScreen->myNum);
KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_MOUSE_DELTA, 0, 0, 0);
}
@@ -1004,7 +1004,7 @@ ephyrProcessButtonRelease(xcb_generic_event_t *xev)
ephyrUpdateModifierState(button->state);
mouseState &= ~(1 << (button->detail - 1));
- EPHYR_LOG("enqueuing mouse release:%d\n", ephyrCurScreen);
+ EPHYR_LOG("enqueuing mouse release:%d\n", screen_from_window(button->event)->pScreen->myNum);
KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_MOUSE_DELTA, 0, 0, 0);
}
diff --git a/xorg-server/hw/xfree86/common/xf86AutoConfig.c b/xorg-server/hw/xfree86/common/xf86AutoConfig.c
index 95d58fe43..af2b7f8f2 100644
--- a/xorg-server/hw/xfree86/common/xf86AutoConfig.c
+++ b/xorg-server/hw/xfree86/common/xf86AutoConfig.c
@@ -267,14 +267,6 @@ listPossibleVideoDrivers(char *matches[], int nmatches)
if (i < (nmatches - 1))
i = xf86PciMatchDriver(matches, nmatches);
#endif
- /* Fallback to platform default hardware */
- if (i < (nmatches - 1)) {
-#if defined(__i386__) || defined(__amd64__) || defined(__hurd__)
- matches[i++] = xnfstrdup("vesa");
-#elif defined(__sparc__) && !defined(sun)
- matches[i++] = xnfstrdup("sunffb");
-#endif
- }
#if defined(__linux__)
matches[i++] = xnfstrdup("modesetting");
@@ -290,6 +282,15 @@ listPossibleVideoDrivers(char *matches[], int nmatches)
#endif
}
#endif /* !sun */
+
+ /* Fallback to platform default hardware */
+ if (i < (nmatches - 1)) {
+#if defined(__i386__) || defined(__amd64__) || defined(__hurd__)
+ matches[i++] = xnfstrdup("vesa");
+#elif defined(__sparc__) && !defined(sun)
+ matches[i++] = xnfstrdup("sunffb");
+#endif
+ }
}
/* copy a screen section and enter the desired driver
diff --git a/xorg-server/hw/xfree86/common/xf86Config.c b/xorg-server/hw/xfree86/common/xf86Config.c
index 74d5ed3b7..b5efc02af 100644
--- a/xorg-server/hw/xfree86/common/xf86Config.c
+++ b/xorg-server/hw/xfree86/common/xf86Config.c
@@ -507,7 +507,7 @@ xf86InputDriverlistFromConfig(void)
static void
fixup_video_driver_list(char **drivers)
{
- static const char *fallback[4] = { "vesa", "fbdev", "wsfb", NULL };
+ static const char *fallback[4] = { "fbdev", "vesa", "wsfb", NULL };
char **end, **drv;
char *x;
int i;
diff --git a/xorg-server/hw/xfree86/common/xf86Helper.c b/xorg-server/hw/xfree86/common/xf86Helper.c
index 721159d0b..f1e6783a7 100644
--- a/xorg-server/hw/xfree86/common/xf86Helper.c
+++ b/xorg-server/hw/xfree86/common/xf86Helper.c
@@ -1638,9 +1638,14 @@ xf86SetBackingStore(ScreenPtr pScreen)
else {
if (xf86GetOptValBool(options, OPTION_BACKING_STORE, &useBS))
from = X_CONFIG;
+#ifdef COMPOSITE
+ if (from != X_CONFIG)
+ useBS = xf86ReturnOptValBool(options, OPTION_BACKING_STORE,
+ !noCompositeExtension);
+#endif
}
free(options);
- pScreen->backingStoreSupport = useBS ? Always : NotUseful;
+ pScreen->backingStoreSupport = useBS ? WhenMapped : NotUseful;
if (serverGeneration == 1)
xf86DrvMsg(pScreen->myNum, from, "Backing store %s\n",
useBS ? "enabled" : "disabled");
diff --git a/xorg-server/hw/xfree86/dri2/dri2ext.c b/xorg-server/hw/xfree86/dri2/dri2ext.c
index e1decec9e..ffd66fad6 100644
--- a/xorg-server/hw/xfree86/dri2/dri2ext.c
+++ b/xorg-server/hw/xfree86/dri2/dri2ext.c
@@ -672,6 +672,11 @@ DRI2ExtensionInit(void)
{
ExtensionEntry *dri2Extension;
+#ifdef PANORAMIX
+ if (!noPanoramiXExtension)
+ return;
+#endif
+
dri2Extension = AddExtension(DRI2_NAME,
DRI2NumberEvents,
DRI2NumberErrors,
diff --git a/xorg-server/hw/xquartz/GL/indirect.c b/xorg-server/hw/xquartz/GL/indirect.c
index c4999b5ff..8dabda14d 100644
--- a/xorg-server/hw/xquartz/GL/indirect.c
+++ b/xorg-server/hw/xquartz/GL/indirect.c
@@ -48,8 +48,6 @@
#include <glxserver.h>
#include <glxutil.h>
-#include <glapi.h>
-
#include "x-hash.h"
#include "visualConfigs.h"
@@ -643,15 +641,20 @@ __glFloorLog2(GLuint val)
"/System/Library/Frameworks/OpenGL.framework/OpenGL"
#endif
+static void *opengl_framework_handle;
+
+static glx_gpa_proc
+get_proc_address(const char *sym)
+{
+ return (glx_gpa_proc) dlsym(opengl_framework_handle, sym);
+}
+
static void
setup_dispatch_table(void)
{
- static struct _glapi_table *disp = NULL;
- static void *handle;
const char *opengl_framework_path;
- if (disp) {
- _glapi_set_dispatch(disp);
+ if (opengl_framework_handle) {
return;
}
@@ -661,16 +664,13 @@ setup_dispatch_table(void)
}
(void)dlerror(); /*drain dlerror */
- handle = dlopen(opengl_framework_path, RTLD_LOCAL);
+ opengl_framework_handle = dlopen(opengl_framework_path, RTLD_LOCAL);
- if (!handle) {
+ if (!opengl_framework_handle) {
ErrorF("unable to dlopen %s : %s, using RTLD_DEFAULT\n",
opengl_framework_path, dlerror());
- handle = RTLD_DEFAULT;
+ opengl_framework_handle = RTLD_DEFAULT;
}
- disp = _glapi_create_table_from_handle(handle, "gl");
- assert(disp);
-
- _glapi_set_dispatch(disp);
+ __glXsetGetProcAddress(get_proc_address);
}
diff --git a/xorg-server/hw/xquartz/X11Controller.m b/xorg-server/hw/xquartz/X11Controller.m
index 3d094bfc7..752bda35c 100644
--- a/xorg-server/hw/xquartz/X11Controller.m
+++ b/xorg-server/hw/xquartz/X11Controller.m
@@ -347,7 +347,7 @@ extern char *bundle_id_prefix;
const char *newargv[4];
char buf[128];
char *s;
-#if 0 && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
int stdout_pipe[2];
int stderr_pipe[2];
#endif
@@ -363,7 +363,7 @@ extern char *bundle_id_prefix;
setenv("DISPLAY", buf, TRUE);
}
-#if 0 && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
if (asl_log_descriptor) {
char *asl_sender;
aslmsg amsg = asl_new(ASL_TYPE_MSG);
@@ -413,7 +413,7 @@ extern char *bundle_id_prefix;
_exit(1);
case 0: /* child2 */
-#if 0 && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
if (asl_log_descriptor) {
/* Replace our stdout/stderr */
dup2(stdout_pipe[1], STDOUT_FILENO);
@@ -442,7 +442,7 @@ extern char *bundle_id_prefix;
waitpid(child1, &status, 0);
}
-#if 0 && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
if (asl_log_descriptor) {
/* Close the write ends of the pipe */
close(stdout_pipe[1]);
diff --git a/xorg-server/hw/xwin/Makefile.am b/xorg-server/hw/xwin/Makefile.am
index c7006959c..7f0eaf097 100644
--- a/xorg-server/hw/xwin/Makefile.am
+++ b/xorg-server/hw/xwin/Makefile.am
@@ -157,7 +157,7 @@ XWIN_LIBS += $(top_builddir)/pseudoramiX/libPseudoramiX.la
XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(XSERVER_LIBS)
XWin_LDADD = $(MULTIWINDOW_LIBS) $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_GLX_LINK_FLAGS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS)
-XWin_LDFLAGS = -mwindows -static
+XWin_LDFLAGS = -mwindows -static -Wl,--disable-stdcall-fixup
.rc.o:
$(AM_V_GEN)$(WINDRES) --use-temp-file -i $< --input-format=rc -o $@ -O coff -I $(top_builddir)/include
diff --git a/xorg-server/hw/xwin/glx/Makefile.am b/xorg-server/hw/xwin/glx/Makefile.am
index 067ee5b3c..f2dffbffb 100644
--- a/xorg-server/hw/xwin/glx/Makefile.am
+++ b/xorg-server/hw/xwin/glx/Makefile.am
@@ -1,14 +1,18 @@
noinst_LTLIBRARIES = libXwinGLX.la
+lib_LTLIBRARIES = libnativeGLthunk.la
libXwinGLX_la_SOURCES = \
winpriv.c \
winpriv.h \
glwindows.h \
- glwrap.c \
+ glshim.c \
indirect.c \
wgl_ext_api.c \
wgl_ext_api.h
+libnativeGLthunk_la_SOURCES = \
+ glthunk.c
+
if XWIN_MULTIWINDOW
DEFS_MULTIWINDOW = -DXWIN_MULTIWINDOW
endif
@@ -30,16 +34,32 @@ AM_CFLAGS = -DHAVE_XWIN_CONFIG_H $(DIX_CFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/hw/xwin/
+libnativeGLthunk_la_CFLAGS = $(AM_CFLAGS) -Wno-unused-function -Wno-missing-prototypes -Wno-missing-declarations
+libnativeGLthunk_la_LDFLAGS = -shared -no-undefined -avoid-version -lopengl32 -export-symbols generated_gl_thunks.def
+EXTRA_libnativeGLthunk_la_DEPENDENCIES = generated_gl_thunks.def
+
if XWIN_GLX_WINDOWS
-generated_gl_wrappers.c: gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.spec $(KHRONOS_SPEC_DIR)/gl.tm
- $(AM_V_GEN)$(PYTHON) $(srcdir)/gen_gl_wrappers.py --spec=$(KHRONOS_SPEC_DIR)/gl.spec --typemap=$(KHRONOS_SPEC_DIR)/gl.tm --dispatch-header=$(top_srcdir)/glx/dispatch.h --staticwrappers >generated_gl_wrappers.c
+if DEBUG
+GENGLWRAPPERSOPTS=""
+else
+GENGLWRAPPERSOPTS="-nodebug"
+endif
+
+generated_wgl_wrappers.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/wgl.xml $(KHRONOS_SPEC_DIR)/reg.py
+ $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/wgl.xml -prefix wgl -wrapper -preresolve $(GENGLWRAPPERSOPTS) -outfile $@
+
+generated_gl_shim.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py
+ $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -shim $(GENGLWRAPPERSOPTS) -outfile $@
+
+generated_gl_thunks.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py
+ $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -thunk $(GENGLWRAPPERSOPTS) -outfile $@
-generated_wgl_wrappers.c: gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/wglext.spec $(KHRONOS_SPEC_DIR)/wgl.tm
- $(AM_V_GEN)$(PYTHON) $(srcdir)/gen_gl_wrappers.py --spec=$(KHRONOS_SPEC_DIR)/wglext.spec --typemap=$(KHRONOS_SPEC_DIR)/wgl.tm --prefix=wgl --preresolve >generated_wgl_wrappers.c
+generated_gl_thunks.def: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py
+ $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -thunkdefs $(GENGLWRAPPERSOPTS) -outfile $@
endif
-BUILT_SOURCES = generated_gl_wrappers.c generated_wgl_wrappers.c
+BUILT_SOURCES = generated_gl_shim.c generated_gl_thunks.c generated_gl_thunks.def generated_wgl_wrappers.c
CLEANFILES = $(BUILT_SOURCES)
EXTRA_DIST = gen_gl_wrappers.py
diff --git a/xorg-server/hw/xwin/glx/gen_gl_wrappers.py b/xorg-server/hw/xwin/glx/gen_gl_wrappers.py
index 2273589c9..683b9d903 100644
--- a/xorg-server/hw/xwin/glx/gen_gl_wrappers.py
+++ b/xorg-server/hw/xwin/glx/gen_gl_wrappers.py
@@ -1,325 +1,485 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#
-# Comedy python script to generate cdecl to stdcall wrappers for GL functions
+# python script to generate cdecl to stdcall wrappers for GL functions
+# adapted from genheaders.py
#
-# This is designed to operate on OpenGL spec files from
-# http://www.opengl.org/registry/api/
-#
-#
-# Copyright (c) Jon TURNEY 2009
+# Copyright (c) 2013 The Khronos Group Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name(s) of the above copyright
-# holders shall not be used in advertising or otherwise to promote the sale,
-# use or other dealings in this Software without prior written authorization.
-#
-
-import sys
-import re
-import getopt
-
-dispatchheader = ''
-prefix = 'gl'
-preresolve = False
-staticwrappers = False
-
-opts, args = getopt.getopt(sys.argv[1:], "", ['spec=', 'typemap=', 'dispatch-header=', 'prefix=', 'preresolve', 'staticwrappers' ])
-
-for o,a in opts:
- if o == '--typemap' :
- typemapfile = a
- elif o == '--dispatch-header' :
- dispatchheader = a
- elif o == '--spec' :
- specfile = a
- elif o == '--prefix' :
- prefix = a
- elif o == '--preresolve' :
- preresolve = True
- elif o == '--staticwrappers' :
- staticwrappers = True
-
+# copy of this software and/or associated documentation files (the
+# "Materials"), to deal in the Materials without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Materials, and to
+# permit persons to whom the Materials are furnished to do so, subject to
+# the following conditions:
#
-# look for all the SET_ macros in dispatch.h, this is the set of functions
-# we need to generate
-#
-
-dispatch = {}
-
-if dispatchheader :
- fh = open(dispatchheader)
- dispatchh = fh.readlines()
-
- dispatch_regex = re.compile(r'^SET_(\S*)\(')
-
- for line in dispatchh :
- line = line.strip()
- m1 = dispatch_regex.search(line)
-
- if m1 :
- dispatch[m1.group(1)] = 1
-
- del dispatch['by_offset']
-
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Materials.
#
-# read the typemap .tm file
-#
-
-typemap = {}
-
-fh = open(typemapfile)
-tm = fh.readlines()
-
-typemap_regex = re.compile(r'#define\sSET_(\S*)\(')
-
-for line in tm :
- # ignore everything after a '#' as a comment
- hash = line.find('#')
- if hash != -1 :
- line = line[:hash-1]
-
- # ignore blank lines
- if line.startswith('#') or len(line) == 0 :
- continue
-
- l = line.split(',')
- typemap[l[0]] = l[3].strip()
-
-# interestingly, * is not a C type
-if typemap['void'] == '*' :
- typemap['void'] = 'void'
-
-#
-# crudely parse the .spec file
-#
-
-r1 = re.compile(r'\t(\S*)\s+(\S*.*)')
-r2 = re.compile(r'(.*)\((.*)\)')
-r3 = re.compile(r'glWindowPos.*MESA')
-r4 = re.compile(r'gl.*Program(s|)NV')
-r5 = re.compile(r'glGetVertexAttribfvNV')
-
-wrappers = {}
-
-fh = open(specfile)
-glspec = fh.readlines()
-param_count = 0
-
-for line in glspec :
- line = line.rstrip()
-
- # ignore everything after a '#' as a comment
- hash = line.find('#')
- if hash != -1 :
- line = line[:hash-1]
-
- # ignore blank lines
- if line.startswith('#') or len(line) == 0 :
- continue
-
- # lines containing ':' aren't intersting to us
- if line.count(':') != 0 :
- continue
-
- # attributes of each function follow the name, indented by a tab
- if not line.startswith('\t') :
- m1 = r2.search(line)
- if m1 :
- function = m1.group(1)
- arglist_use = m1.group(2)
- wrappers[function] = {}
-
- # ensure formal parameter names don't collide with reserved names or shadow global declarations
- arglist_use = ',' .join([i.rstrip() + '_' for i in arglist_use.split(",")])
-
- wrappers[function]['arglist_use'] = arglist_use
- param_count = 0
- else :
- m1 = r1.search(line)
- if m1 :
- attribute = m1.group(1)
- value = m1.group(2)
-
- # make param attributes unique and ordered
- if attribute == 'param' :
- attribute = 'param' + '%02d' % param_count
- param_count += 1
-
- wrappers[function][attribute] = value
-
-#
-# now emit code
-#
-
-print '/* Automatically generated by ' + sys.argv[0] + ' DO NOT EDIT */'
-print '/* from ' + specfile + ' and typemap ' + typemapfile + ' */'
-print ''
-
-#
-# if required, emit code for non-lazy function resolving
-#
-
-if preresolve :
- for w in sorted(wrappers.keys()) :
- funcname = prefix + w
- print 'RESOLVE_DECL(PFN' + funcname.upper() + 'PROC);'
-
- print ''
- print 'void ' + prefix + 'ResolveExtensionProcs(void)'
- print '{'
-
- for w in sorted(wrappers.keys()) :
- funcname = prefix + w
- print ' PRERESOLVE(PFN' + funcname.upper() + 'PROC, "' + funcname + '");'
-
- print '}\n'
+# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+
+import sys, time, pdb, string, cProfile
+from reg import *
+
+# Default input / log files
+errFilename = None
+diagFilename = 'diag.txt'
+regFilename = 'gl.xml'
+outFilename = 'gen_gl_wrappers.c'
+
+protect=True
+prefix="gl"
+preresolve=False
+wrapper=False
+shim=False
+thunk=False
+thunkdefs=False
+staticwrappers=False
+nodebug=False
+
+#exclude base WGL API
+WinGDI={key: 1 for key in [
+ "wglCopyContext"
+ ,"wglCreateContext"
+ ,"wglCreateLayerContext"
+ ,"wglDeleteContext"
+ ,"wglGetCurrentContext"
+ ,"wglGetCurrentDC"
+ ,"wglGetProcAddress"
+ ,"wglMakeCurrent"
+ ,"wglShareLists"
+ ,"wglUseFontBitmapsA"
+ ,"wglUseFontBitmapsW"
+ ,"wglUseFontBitmaps"
+ ,"SwapBuffers"
+ ,"wglUseFontOutlinesA"
+ ,"wglUseFontOutlinesW"
+ ,"wglUseFontOutlines"
+ ,"wglDescribeLayerPlane"
+ ,"wglSetLayerPaletteEntries"
+ ,"wglGetLayerPaletteEntries"
+ ,"wglRealizeLayerPalette"
+ ,"wglSwapLayerBuffers"
+ ,"wglSwapMultipleBuffers"
+ ,"ChoosePixelFormat"
+ ,"DescribePixelFormat"
+ ,"GetEnhMetaFilePixelFormat"
+ ,"GetPixelFormat"
+ ,"SetPixelFormat"
+]}
+
+if __name__ == '__main__':
+ i = 1
+ while (i < len(sys.argv)):
+ arg = sys.argv[i]
+ i = i + 1
+ if (arg == '-noprotect'):
+ print('Disabling inclusion protection in output headers', file=sys.stderr)
+ protect = False
+ elif (arg == '-registry'):
+ regFilename = sys.argv[i]
+ i = i+1
+ print('Using registry', regFilename, file=sys.stderr)
+ elif (arg == '-outfile'):
+ outFilename = sys.argv[i]
+ i = i+1
+ elif (arg == '-preresolve'):
+ preresolve=True
+ elif (arg == '-wrapper'):
+ wrapper=True
+ elif (arg == '-shim'):
+ shim=True
+ elif (arg == '-thunk'):
+ thunk=True
+ elif (arg == '-thunkdefs'):
+ thunkdefs=True
+ elif (arg == '-staticwrappers'):
+ staticwrappers=True
+ elif (arg == '-prefix'):
+ prefix = sys.argv[i]
+ i = i+1
+ elif (arg == '-nodebug'):
+ nodebug = True
+ elif (arg[0:1] == '-'):
+ print('Unrecognized argument:', arg, file=sys.stderr)
+ exit(1)
+
+print('Generating', outFilename, file=sys.stderr)
+
+# Load & parse registry
+reg = Registry()
+tree = etree.parse(regFilename)
+reg.loadElementTree(tree)
+
+allVersions = '.*'
+
+genOpts = CGeneratorOptions(
+ apiname = prefix,
+ profile = 'compatibility',
+ versions = allVersions,
+ emitversions = allVersions,
+ defaultExtensions = prefix, # Default extensions for GL
+ protectFile = protect,
+ protectFeature = protect,
+ protectProto = protect,
+ )
+
+# create error/warning & diagnostic files
+if (errFilename):
+ errWarn = open(errFilename,'w')
+else:
+ errWarn = sys.stderr
+diag = open(diagFilename, 'w')
+
+class PreResolveOutputGenerator(OutputGenerator):
+ def __init__(self,
+ errFile = sys.stderr,
+ warnFile = sys.stderr,
+ diagFile = sys.stdout):
+ OutputGenerator.__init__(self, errFile, warnFile, diagFile)
+ self.wrappers={}
+ def beginFile(self, genOpts):
+ self.outFile.write('/* Automatically generated from %s - DO NOT EDIT */\n\n'%regFilename)
+ def endFile(self):
+ self.outFile.write('\nvoid ' + prefix + 'ResolveExtensionProcs(void)\n{\n')
+ for funcname in self.wrappers.keys():
+ self.outFile.write( ' PRERESOLVE(PFN' + funcname.upper() + 'PROC, "' + funcname + '");\n')
+ self.outFile.write('}\n\n')
+ def beginFeature(self, interface, emit):
+ OutputGenerator.beginFeature(self, interface, emit)
+ def endFeature(self):
+ OutputGenerator.endFeature(self)
+ def genType(self, typeinfo, name):
+ OutputGenerator.genType(self, typeinfo, name)
+ def genEnum(self, enuminfo, name):
+ OutputGenerator.genEnum(self, enuminfo, name)
+ def genCmd(self, cmd, name):
+ OutputGenerator.genCmd(self, cmd, name)
+
+ if name in WinGDI:
+ return
+
+ self.outFile.write('RESOLVE_DECL(PFN' + name.upper() + 'PROC);\n')
+ self.wrappers[name]=1
+
+class WrapperOutputGenerator(OutputGenerator):
+ def __init__(self,
+ errFile = sys.stderr,
+ warnFile = sys.stderr,
+ diagFile = sys.stdout):
+ OutputGenerator.__init__(self, errFile, warnFile, diagFile)
+ def beginFile(self, genOpts):
+ self.outFile.write('/* Automatically generated from %s - DO NOT EDIT */\n\n'%regFilename)
+ def endFile(self):
+ pass
+ def beginFeature(self, interface, emit):
+ OutputGenerator.beginFeature(self, interface, emit)
+ self.OldVersion = self.featureName.startswith('GL_VERSION_1_0') or self.featureName.startswith('GL_VERSION_1_1')
+ def endFeature(self):
+ OutputGenerator.endFeature(self)
+ def genType(self, typeinfo, name):
+ OutputGenerator.genType(self, typeinfo, name)
+ def genEnum(self, enuminfo, name):
+ OutputGenerator.genEnum(self, enuminfo, name)
+ def genCmd(self, cmd, name):
+ OutputGenerator.genCmd(self, cmd, name)
+
+ if name in WinGDI:
+ return
+
+ proto=noneStr(cmd.elem.find('proto'))
+ rettype=noneStr(proto.text)
+ if rettype.lower()!="void ":
+ plist = ([t for t in proto.itertext()])
+ rettype = ''.join(plist[:-1])
+ rettype=rettype.strip()
+ if staticwrappers: self.outFile.write("static ")
+ self.outFile.write("%s %sWrapper("%(rettype, name))
+ params = cmd.elem.findall('param')
+ plist=[]
+ for param in params:
+ paramlist = ([t for t in param.itertext()])
+ paramtype = ''.join(paramlist[:-1])
+ paramname = paramlist[-1]
+ plist.append((paramtype, paramname))
+ Comma=""
+ if len(plist):
+ for ptype, pname in plist:
+ self.outFile.write("%s%s%s_"%(Comma, ptype, pname))
+ Comma=", "
+ else:
+ self.outFile.write("void")
-#
-# now emit the wrappers
-# for GL 1.0 and 1.1 functions, generate stdcall wrappers which call the function directly
-# for GL 1.2+ functions, generate wrappers which use wglGetProcAddress()
-#
+ self.outFile.write(")\n{\n")
-for w in sorted(wrappers.keys()) :
+ # for GL 1.0 and 1.1 functions, generate stdcall wrappers which call the function directly
+ if self.OldVersion:
+ if not nodebug:
+ self.outFile.write(' if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");\n'%(prefix.upper(), name))
+ self.outFile.write(" glWinDirectProcCalls++;\n")
+ self.outFile.write("\n")
- funcname = prefix + w
- returntype = wrappers[w]['return']
- if returntype != 'void' :
- returntype = typemap[returntype]
+ if rettype.lower()=="void":
+ self.outFile.write(" %s( "%(name))
+ else:
+ self.outFile.write(" return %s( "%(name))
- # Avoid generating wrappers which aren't referenced by the dispatch table
- if dispatchheader and not dispatch.has_key(w) :
- print '/* No wrapper for ' + funcname + ', not in dispatch table */'
- continue
+ Comma=""
+ for ptype, pname in plist:
+ self.outFile.write("%s%s_"%(Comma, pname))
+ Comma=", "
- # manufacture arglist
- # if no param attributes were found, it should be 'void'
- al = []
- for k in sorted(wrappers[w].keys()) :
- if k.startswith('param') :
- l = wrappers[w][k].split()
+ # for GL 1.2+ functions, generate stdcall wrappers which use wglGetProcAddress()
+ else:
+ if rettype.lower()=="void":
+ self.outFile.write(' RESOLVE(PFN%sPROC, "%s");\n'%(name.upper(), name))
+
+ if not nodebug:
+ self.outFile.write("\n")
+ self.outFile.write(' if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");\n'%(prefix.upper(), name))
+ self.outFile.write("\n")
+
+ self.outFile.write(" RESOLVED_PROC(PFN%sPROC)( """%(name.upper()))
+ else:
+ self.outFile.write(' RESOLVE_RET(PFN%sPROC, "%s", FALSE);\n'%(name.upper(), name))
+
+ if not nodebug:
+ self.outFile.write("\n")
+ self.outFile.write(' if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");\n'%(prefix.upper(), name))
+ self.outFile.write("\n")
+
+ self.outFile.write(" return RESOLVED_PROC(PFN%sPROC)("%(name.upper()))
+
+ Comma=""
+ for ptype, pname in plist:
+ self.outFile.write("%s%s_"%(Comma, pname))
+ Comma=", "
+ self.outFile.write(" );\n}\n\n")
+
+class ThunkOutputGenerator(OutputGenerator):
+ def __init__(self,
+ errFile = sys.stderr,
+ warnFile = sys.stderr,
+ diagFile = sys.stdout):
+ OutputGenerator.__init__(self, errFile, warnFile, diagFile)
+ def beginFile(self, genOpts):
+ self.outFile.write('/* Automatically generated from %s - DO NOT EDIT */\n\n'%regFilename)
+ def endFile(self):
+ pass
+ def beginFeature(self, interface, emit):
+ OutputGenerator.beginFeature(self, interface, emit)
+ self.OldVersion = self.featureName.startswith('GL_VERSION_1_0') or self.featureName.startswith('GL_VERSION_1_1')
+ def endFeature(self):
+ OutputGenerator.endFeature(self)
+ def genType(self, typeinfo, name):
+ OutputGenerator.genType(self, typeinfo, name)
+ def genEnum(self, enuminfo, name):
+ OutputGenerator.genEnum(self, enuminfo, name)
+ def genCmd(self, cmd, name):
+ OutputGenerator.genCmd(self, cmd, name)
+
+ proto=noneStr(cmd.elem.find('proto'))
+ rettype=noneStr(proto.text)
+ if rettype.lower()!="void ":
+ plist = ([t for t in proto.itertext()])
+ rettype = ''.join(plist[:-1])
+ rettype=rettype.strip()
+ self.outFile.write("%s %sWrapper("%(rettype, name))
+ params = cmd.elem.findall('param')
+ plist=[]
+ for param in params:
+ paramlist = ([t for t in param.itertext()])
+ paramtype = ''.join(paramlist[:-1])
+ paramname = paramlist[-1]
+ plist.append((paramtype, paramname))
+ Comma=""
+ if len(plist):
+ for ptype, pname in plist:
+ self.outFile.write("%s%s%s_"%(Comma, ptype, pname))
+ Comma=", "
+ else:
+ self.outFile.write("void")
- # ensure formal parameter names don't collide with reserved names or shadow global declarations
- l[0] = l[0] + '_'
+ self.outFile.write(")\n{\n")
- if l[2] == 'in' :
- if l[3] == 'array' :
- arg = 'const ' + typemap[l[1]] + ' *' + l[0]
- else :
- arg = typemap[l[1]] + ' ' + l[0]
- elif l[2] == 'out' :
- arg = typemap[l[1]] + ' *' + l[0]
+ # for GL 1.0 and 1.1 functions, generate stdcall thunk wrappers which call the function directly
+ if self.OldVersion:
+ if rettype.lower()=="void":
+ self.outFile.write(" %s( "%(name))
+ else:
+ self.outFile.write(" return %s( "%(name))
- al.append(arg)
+ Comma=""
+ for ptype, pname in plist:
+ self.outFile.write("%s%s_"%(Comma, pname))
+ Comma=", "
- if len(al) == 0 :
- arglist = 'void'
+ # for GL 1.2+ functions, generate wrappers which use wglGetProcAddress()
else:
- arglist = ', '.join(al)
-
- if wrappers[w]['category'].startswith('VERSION_1_0') or wrappers[w]['category'].startswith('VERSION_1_1') :
- if staticwrappers :
- print 'static',
- print returntype + ' ' + funcname + 'Wrapper(' + arglist + ')'
- print '{'
- print ' if (glxWinDebugSettings.enable' + prefix.upper() + 'callTrace) ErrorF("'+ funcname + '\\n");'
- print ' glWinDirectProcCalls++;'
- if returntype.lower() == 'void' :
- print ' ' + funcname + '(',
- else :
- print ' /* returntype was ' + returntype.lower() + '*/'
- print ' return ' + funcname + '(',
-
- if arglist != 'void' :
- print wrappers[w]['arglist_use'],
-
- print ');'
- print "}\n"
+ if rettype.lower()=="void":
+ self.outFile.write(' RESOLVE(PFN%sPROC, "%s");\n'%(name.upper(), name))
+ self.outFile.write(" RESOLVED_PROC(PFN%sPROC)( """%(name.upper()))
+ else:
+ self.outFile.write(' RESOLVE_RET(PFN%sPROC, "%s", FALSE);\n'%(name.upper(), name))
+ self.outFile.write(" return RESOLVED_PROC(PFN%sPROC)("%(name.upper()))
+
+ Comma=""
+ for ptype, pname in plist:
+ self.outFile.write("%s%s_"%(Comma, pname))
+ Comma=", "
+ self.outFile.write(" );\n}\n\n")
+
+class ThunkDefsOutputGenerator(OutputGenerator):
+ def __init__(self,
+ errFile = sys.stderr,
+ warnFile = sys.stderr,
+ diagFile = sys.stdout):
+ OutputGenerator.__init__(self, errFile, warnFile, diagFile)
+ def beginFile(self, genOpts):
+ self.outFile.write("EXPORTS\n"); # this must be the first line for libtool to realize this is a .def file
+ self.outFile.write('; Automatically generated from %s - DO NOT EDIT\n\n'%regFilename)
+ def endFile(self):
+ pass
+ def beginFeature(self, interface, emit):
+ OutputGenerator.beginFeature(self, interface, emit)
+ def endFeature(self):
+ OutputGenerator.endFeature(self)
+ def genType(self, typeinfo, name):
+ OutputGenerator.genType(self, typeinfo, name)
+ def genEnum(self, enuminfo, name):
+ OutputGenerator.genEnum(self, enuminfo, name)
+ def genCmd(self, cmd, name):
+ OutputGenerator.genCmd(self, cmd, name)
+
+ # export the wrapper function with the name of the function it wraps
+ self.outFile.write("%s = %sWrapper\n"%(name, name))
+
+class ShimOutputGenerator(OutputGenerator):
+ def __init__(self,
+ errFile = sys.stderr,
+ warnFile = sys.stderr,
+ diagFile = sys.stdout):
+ OutputGenerator.__init__(self, errFile, warnFile, diagFile)
+ def beginFile(self, genOpts):
+ self.outFile.write('/* Automatically generated from %s - DO NOT EDIT */\n\n'%regFilename)
+ def endFile(self):
+ pass
+ def beginFeature(self, interface, emit):
+ OutputGenerator.beginFeature(self, interface, emit)
+ self.OldVersion = self.featureName.startswith('GL_VERSION_1_0') or self.featureName.startswith('GL_VERSION_1_1') or self.featureName.startswith('GL_VERSION_1_2') or self.featureName.startswith('GL_ARB_imaging') or self.featureName.startswith('GL_ARB_multitexture') or self.featureName.startswith('GL_ARB_texture_compression')
+ def endFeature(self):
+ OutputGenerator.endFeature(self)
+ def genType(self, typeinfo, name):
+ OutputGenerator.genType(self, typeinfo, name)
+ def genEnum(self, enuminfo, name):
+ OutputGenerator.genEnum(self, enuminfo, name)
+ def genCmd(self, cmd, name):
+ OutputGenerator.genCmd(self, cmd, name)
+
+ if not self.OldVersion:
+ return
+
+ # for GL functions which are in the ABI, generate a shim which calls the function via GetProcAddress
+ proto=noneStr(cmd.elem.find('proto'))
+ rettype=noneStr(proto.text)
+ if rettype.lower()!="void ":
+ plist = ([t for t in proto.itertext()])
+ rettype = ''.join(plist[:-1])
+ rettype=rettype.strip()
+ self.outFile.write("%s %s("%(rettype, name))
+ params = cmd.elem.findall('param')
+ plist=[]
+ for param in params:
+ paramlist = ([t for t in param.itertext()])
+ paramtype = ''.join(paramlist[:-1])
+ paramname = paramlist[-1]
+ plist.append((paramtype, paramname))
+ Comma=""
+ if len(plist):
+ for ptype, pname in plist:
+ self.outFile.write("%s%s%s_"%(Comma, ptype, pname))
+ Comma=", "
else:
- if staticwrappers :
- print 'static',
- print returntype + ' ' + funcname + 'Wrapper(' + arglist + ')'
- print '{'
+ self.outFile.write("void")
- stringname = funcname
+ self.outFile.write(")\n{\n")
-#
-# special case: Windows OpenGL implementations are far more likely to have GL_ARB_window_pos than GL_MESA_window_pos,
-# so arrange for the wrapper to use the ARB strings to find functions...
-#
+ self.outFile.write(' typedef %s (* PFN%sPROC)(' % (rettype, name.upper()))
- m2 = r3.search(funcname)
- if m2 :
- stringname = stringname.replace('MESA','ARB')
+ if len(plist):
+ Comma=""
+ for ptype, pname in plist:
+ self.outFile.write("%s %s %s_"%(Comma, ptype, pname))
+ Comma=", "
+ else:
+ self.outFile.write("void")
-#
-# special case: likewise, implementations are more likely to have GL_ARB_vertex_program than GL_NV_vertex_program,
-# especially if they are not NV implementations, so arrange for the wrapper to use ARB strings to find functions
-#
+ self.outFile.write(');\n')
- m3 = r4.search(funcname)
- if m3 :
- stringname = stringname.replace('NV','ARB')
- m4 = r5.search(funcname)
- if m4 :
- stringname = stringname.replace('NV','ARB')
-
- pfntypename = 'PFN' + funcname.upper() + 'PROC'
-
- if returntype.lower() == 'void' :
- print ' RESOLVE(' + pfntypename + ', "' + stringname + '");'
- print ' if (glxWinDebugSettings.enable' + prefix.upper() + 'callTrace) ErrorF("'+ funcname + '\\n");'
- print ' RESOLVED_PROC(' + pfntypename + ')(',
- else :
- print ' RESOLVE_RET(' + pfntypename + ', "' + stringname + '", FALSE);'
- print ' if (glxWinDebugSettings.enable' + prefix.upper() + 'callTrace) ErrorF("'+ funcname + '\\n");'
- print ' return RESOLVED_PROC(' + pfntypename + ')(',
-
- if arglist != 'void' :
- print wrappers[w]['arglist_use'],
-
- print ');'
- print "}\n"
-
-
-# generate function to setup the dispatch table, which sets each
-# dispatch table entry to point to it's wrapper function
-# (assuming we were able to make one)
-
-if dispatchheader :
- print 'void glWinSetupDispatchTable(void)'
- print '{'
- print ' static struct _glapi_table *disp = NULL;'
- print ''
- print ' if (!disp)'
- print ' {'
- print ' disp = calloc(sizeof(void *), _glapi_get_dispatch_table_size());'
- print ' assert(disp);'
-
- for d in sorted(dispatch.keys()) :
- if wrappers.has_key(d) :
- print ' SET_'+ d + '(disp, (void *)' + prefix + d + 'Wrapper);'
- else :
- print '#warning No wrapper for ' + prefix + d + ' !'
-
- print ' }'
- print ''
- print ' _glapi_set_dispatch(disp);'
- print '}'
+ if rettype.lower()=="void":
+ self.outFile.write(' RESOLVE(PFN%sPROC, "%s");\n'%(name.upper(), name))
+ self.outFile.write(' RESOLVED_PROC(')
+ else:
+ self.outFile.write(' RESOLVE_RET(PFN%sPROC, "%s", 0);\n'%(name.upper(), name))
+ self.outFile.write(' return RESOLVED_PROC(')
+
+ Comma=""
+ for ptype, pname in plist:
+ self.outFile.write("%s%s_"%(Comma, pname))
+ Comma=", "
+
+ self.outFile.write(" );\n}\n\n")
+
+def genHeaders():
+ outFile = open(outFilename,"w")
+
+ if preresolve:
+ gen = PreResolveOutputGenerator(errFile=errWarn,
+ warnFile=errWarn,
+ diagFile=diag)
+ gen.outFile=outFile
+ reg.setGenerator(gen)
+ reg.apiGen(genOpts)
+
+ if wrapper:
+ gen = WrapperOutputGenerator(errFile=errWarn,
+ warnFile=errWarn,
+ diagFile=diag)
+ gen.outFile=outFile
+ reg.setGenerator(gen)
+ reg.apiGen(genOpts)
+
+ if shim:
+ gen = ShimOutputGenerator(errFile=errWarn,
+ warnFile=errWarn,
+ diagFile=diag)
+ gen.outFile=outFile
+ reg.setGenerator(gen)
+ reg.apiGen(genOpts)
+
+ if thunk:
+ gen = ThunkOutputGenerator(errFile=errWarn,
+ warnFile=errWarn,
+ diagFile=diag)
+ gen.outFile=outFile
+ reg.setGenerator(gen)
+ reg.apiGen(genOpts)
+
+
+ if thunkdefs:
+ gen = ThunkDefsOutputGenerator(errFile=errWarn,
+ warnFile=errWarn,
+ diagFile=diag)
+ gen.outFile=outFile
+ reg.setGenerator(gen)
+ reg.apiGen(genOpts)
+
+ outFile.close()
+
+genHeaders()
diff --git a/xorg-server/hw/xwin/glx/glshim.c b/xorg-server/hw/xwin/glx/glshim.c
new file mode 100644
index 000000000..7109196c0
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/glshim.c
@@ -0,0 +1,124 @@
+/*
+ * File: glshim.c
+ * Purpose: GL shim which redirects to a specified DLL
+ *
+ * Copyright (c) Jon TURNEY 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ A GL shim which redirects to a specified DLL
+
+ XWin is statically linked with this, rather than the system libGL, so that
+ GL calls can be directed to mesa cygGL-1.dll, or cygnativeGLthunk.dll
+ (which contains cdecl-to-stdcall thunks to the native openGL32.dll)
+*/
+
+#ifdef HAVE_XWIN_CONFIG_H
+#include <xwin-config.h>
+#endif
+
+#define GL_GLEXT_LEGACY
+#include <GL/gl.h>
+#undef GL_ARB_imaging
+#undef GL_VERSION_1_3
+#include <GL/glext.h>
+
+#include <X11/Xwindows.h>
+#include <os.h>
+#include "glwindows.h"
+#include <glx/glxserver.h>
+
+static HMODULE hMod = NULL;
+
+/*
+ Implement the __glGetProcAddress function by just using GetProcAddress() on the selected DLL
+*/
+void *glXGetProcAddressARB(const char *symbol)
+{
+ void *proc;
+
+ /* Default to the mesa GL implementation if one hasn't been selected yet */
+ if (!hMod)
+ glWinSelectImplementation(0);
+
+ proc = GetProcAddress(hMod, symbol);
+
+ if (glxWinDebugSettings.enableGLcallTrace)
+ ErrorF("glXGetProcAddressARB: Resolved '%s' in %p to %p\n", symbol, hMod, proc);
+
+ return proc;
+}
+
+/*
+ Select a GL implementation DLL
+*/
+int glWinSelectImplementation(int native)
+{
+ const char *dllname;
+
+ if (native) {
+ dllname = "cygnativeGLthunk.dll";
+ }
+ else {
+ dllname = "cygGL-1.dll";
+ }
+
+ hMod = LoadLibraryEx(dllname, NULL, 0);
+ if (hMod == NULL) {
+ ErrorF("glWinSelectGLimplementation: Could not load '%s'\n", dllname);
+ return -1;
+ }
+
+ ErrorF("glWinSelectGLimplementation: Loaded '%s'\n", dllname);
+
+ /* Connect __glGetProcAddress() to our implementation of glXGetProcAddressARB() above */
+ __glXsetGetProcAddress((glx_gpa_proc)glXGetProcAddressARB);
+
+ return 0;
+}
+
+#define RESOLVE_RET(proctype, symbol, retval) \
+ proctype proc = (proctype)glXGetProcAddressARB(symbol); \
+ if (proc == NULL) return retval;
+
+#define RESOLVE(proctype, symbol) RESOLVE_RET(proctype, symbol,)
+#define RESOLVED_PROC proc
+
+/* Include generated shims for direct linkage to GL functions which are in the ABI */
+#include "generated_gl_shim.c"
+
+/*
+ Special wrapper for glAddSwapHintRectWIN for copySubBuffers
+
+ Only used with native GL if the GL_WIN_swap_hint extension is present, so we enable
+ GLX_MESA_copy_sub_buffer
+*/
+typedef void (__stdcall * PFNGLADDSWAPHINTRECTWIN) (GLint x, GLint y,
+ GLsizei width,
+ GLsizei height);
+
+void
+glAddSwapHintRectWINWrapper(GLint x, GLint y, GLsizei width,
+ GLsizei height)
+{
+ RESOLVE(PFNGLADDSWAPHINTRECTWIN, "glAddSwapHintRectWIN");
+ RESOLVED_PROC(x, y, width, height);
+}
diff --git a/xorg-server/hw/xwin/glx/glwrap.c b/xorg-server/hw/xwin/glx/glthunk.c
index 73cff3cc1..d49fe487c 100644
--- a/xorg-server/hw/xwin/glx/glwrap.c
+++ b/xorg-server/hw/xwin/glx/glthunk.c
@@ -1,13 +1,8 @@
/*
- * File: glwrap.c
- * Purpose: Wrapper functions for Win32 OpenGL functions
- *
- * Authors: Alexander Gottwald
- * Jon TURNEY
- *
- * Copyright (c) Jon TURNEY 2009
- * Copyright (c) Alexander Gottwald 2004
+ * File: glthunk.c
+ * Purpose: cdecl thunk wrapper library for Win32 stdcall OpenGL library
*
+ * Copyright (c) Jon TURNEY 2009,2013
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -37,34 +32,12 @@
#endif
#include <X11/Xwindows.h>
+
+#define GL_GLEXT_LEGACY
#include <GL/gl.h>
+#undef GL_ARB_imaging
+#undef GL_VERSION_1_3
#include <GL/glext.h>
-#include <glx/glxserver.h>
-#include <glx/glxext.h>
-#include <glx/glapi.h>
-#include <glx/dispatch.h>
-#include <glwindows.h>
-
-static unsigned int glWinIndirectProcCalls = 0;
-static unsigned int glWinDirectProcCalls = 0;
-
-void
-glWinCallDelta(void)
-{
- static unsigned int glWinIndirectProcCallsLast = 0;
- static unsigned int glWinDirectProcCallsLast = 0;
-
- if ((glWinIndirectProcCalls != glWinIndirectProcCallsLast) ||
- (glWinDirectProcCalls != glWinDirectProcCallsLast)) {
- if (glxWinDebugSettings.enableTrace) {
- ErrorF("after %d direct and %d indirect GL calls\n",
- glWinDirectProcCalls - glWinDirectProcCallsLast,
- glWinIndirectProcCalls - glWinIndirectProcCallsLast);
- }
- glWinDirectProcCallsLast = glWinDirectProcCalls;
- glWinIndirectProcCallsLast = glWinIndirectProcCalls;
- }
-}
static PROC
glWinResolveHelper(PROC * cache, const char *symbol)
@@ -75,11 +48,9 @@ glWinResolveHelper(PROC * cache, const char *symbol)
if ((*cache) == NULL) {
proc = wglGetProcAddress(symbol);
if (proc == NULL) {
- ErrorF("glwrap: Can't resolve \"%s\"\n", symbol);
(*cache) = (PROC) - 1;
}
else {
- ErrorF("glwrap: Resolved \"%s\"\n", symbol);
(*cache) = proc;
}
}
@@ -99,10 +70,8 @@ glWinResolveHelper(PROC * cache, const char *symbol)
static PROC cache = NULL; \
__stdcall proctype proc = (proctype)glWinResolveHelper(&cache, symbol); \
if (proc == NULL) { \
- __glXErrorCallBack(0); \
return retval; \
- } \
- glWinIndirectProcCalls++;
+ }
#define RESOLVE(proctype, symbol) RESOLVE_RET(proctype, symbol,)
@@ -113,34 +82,6 @@ glWinResolveHelper(PROC * cache, const char *symbol)
OpenGL 1.2 and upward is treated as extensions, function address must
found using wglGetProcAddress(), but also stdcall so still need wrappers...
-
- Include generated dispatch table setup function
*/
-#include "generated_gl_wrappers.c"
-
-/*
- Special non-static wrapper for glGetString for debug output
-*/
-
-const GLubyte *
-glGetStringWrapperNonstatic(GLenum name)
-{
- return glGetString(name);
-}
-
-/*
- Special non-static wrapper for glAddSwapHintRectWIN for copySubBuffers
-*/
-
-typedef void (__stdcall * PFNGLADDSWAPHINTRECTWIN) (GLint x, GLint y,
- GLsizei width,
- GLsizei height);
-
-void
-glAddSwapHintRectWINWrapperNonstatic(GLint x, GLint y, GLsizei width,
- GLsizei height)
-{
- RESOLVE(PFNGLADDSWAPHINTRECTWIN, "glAddSwapHintRectWIN");
- proc(x, y, width, height);
-}
+#include "generated_gl_thunks.c"
diff --git a/xorg-server/hw/xwin/glx/glwindows.h b/xorg-server/hw/xwin/glx/glwindows.h
index ec1d1f51b..4f859b498 100644
--- a/xorg-server/hw/xwin/glx/glwindows.h
+++ b/xorg-server/hw/xwin/glx/glwindows.h
@@ -42,12 +42,9 @@ typedef struct {
extern glxWinDebugSettingsRec glxWinDebugSettings;
-void glWinCallDelta(void);
void glxWinPushNativeProvider(void);
-const GLubyte *glGetStringWrapperNonstatic(GLenum name);
-void glAddSwapHintRectWINWrapperNonstatic(GLint x, GLint y, GLsizei width,
- GLsizei height);
-void glWinSetupDispatchTable(void);
+void glAddSwapHintRectWINWrapper(GLint x, GLint y, GLsizei width, GLsizei height);
+int glWinSelectImplementation(int native);
#if 1
#define GLWIN_TRACE_MSG(msg, args...) if (glxWinDebugSettings.enableTrace) ErrorF(msg " [%s:%d]\n" , ##args , __FUNCTION__, __LINE__ )
diff --git a/xorg-server/hw/xwin/glx/indirect.c b/xorg-server/hw/xwin/glx/indirect.c
index 4f09652f0..3d01bed39 100644
--- a/xorg-server/hw/xwin/glx/indirect.c
+++ b/xorg-server/hw/xwin/glx/indirect.c
@@ -550,7 +550,9 @@ glxWinScreenProbe(ScreenPtr pScreen)
if (NULL == screen)
return NULL;
- /* Dump out some useful information about the native renderer */
+ // Select the native GL implementation (WGL)
+ if (glWinSelectImplementation(1))
+ return NULL;
// create window class
#define WIN_GL_TEST_WINDOW_CLASS "XWinGLTest"
@@ -597,11 +599,12 @@ glxWinScreenProbe(ScreenPtr pScreen)
// (but we need to have a current context for them to be resolvable)
wglResolveExtensionProcs();
- ErrorF("GL_VERSION: %s\n", glGetStringWrapperNonstatic(GL_VERSION));
- ErrorF("GL_VENDOR: %s\n", glGetStringWrapperNonstatic(GL_VENDOR));
- gl_renderer = (const char *) glGetStringWrapperNonstatic(GL_RENDERER);
+ /* Dump out some useful information about the native renderer */
+ ErrorF("GL_VERSION: %s\n", glGetString(GL_VERSION));
+ ErrorF("GL_VENDOR: %s\n", glGetString(GL_VENDOR));
+ gl_renderer = (const char *) glGetString(GL_RENDERER);
ErrorF("GL_RENDERER: %s\n", gl_renderer);
- gl_extensions = (const char *) glGetStringWrapperNonstatic(GL_EXTENSIONS);
+ gl_extensions = (const char *) glGetString(GL_EXTENSIONS);
wgl_extensions = wglGetExtensionsStringARBWrapper(hdc);
if (!wgl_extensions)
wgl_extensions = "";
@@ -615,7 +618,7 @@ glxWinScreenProbe(ScreenPtr pScreen)
free(screen);
LogMessage(X_ERROR,
"AIGLX: Won't use generic native renderer as it is not accelerated\n");
- return NULL;
+ goto error;
}
// Can you see the problem here? The extensions string is DC specific
@@ -726,7 +729,7 @@ glxWinScreenProbe(ScreenPtr pScreen)
free(screen);
LogMessage(X_ERROR,
"AIGLX: No fbConfigs could be made from native OpenGL pixel formats\n");
- return NULL;
+ goto error;
}
/* These will be set by __glXScreenInit */
@@ -789,6 +792,13 @@ glxWinScreenProbe(ScreenPtr pScreen)
pScreen->CopyWindow = glxWinCopyWindow;
return &screen->base;
+
+ error:
+ // Something went wrong and we can't use the native GL implementation
+ // so make sure the mesa GL implementation is selected instead
+ glWinSelectImplementation(0);
+
+ return NULL;
}
/* ---------------------------------------------------------------------- */
@@ -910,7 +920,7 @@ static void
glxWinDrawableCopySubBuffer(__GLXdrawable * drawable,
int x, int y, int w, int h)
{
- glAddSwapHintRectWINWrapperNonstatic(x, y, w, h);
+ glAddSwapHintRectWINWrapper(x, y, w, h);
glxWinDrawableSwapBuffers(NULL, drawable);
}
@@ -1458,7 +1468,6 @@ glxWinContextMakeCurrent(__GLXcontext * base)
GLWIN_TRACE_MSG("glxWinContextMakeCurrent context %p (native ctx %p)", gc,
gc->ctx);
- glWinCallDelta();
/* Keep a note of the last active context in the drawable */
drawPriv = gc->base.drawPriv;
@@ -1528,7 +1537,6 @@ glxWinContextLoseCurrent(__GLXcontext * base)
GLWIN_TRACE_MSG("glxWinContextLoseCurrent context %p (native ctx %p)", gc,
gc->ctx);
- glWinCallDelta();
/*
An error seems to be reported if we try to make no context current
@@ -1623,8 +1631,6 @@ glxWinCreateContext(__GLXscreen * screen,
context->ctx = NULL;
context->shareContext = shareContext;
- glWinSetupDispatchTable();
-
GLWIN_DEBUG_MSG("GLXcontext %p created", context);
return &(context->base);
diff --git a/xorg-server/include/dix-config.h.in b/xorg-server/include/dix-config.h.in
index d4fbe99fa..306610000 100644
--- a/xorg-server/include/dix-config.h.in
+++ b/xorg-server/include/dix-config.h.in
@@ -466,4 +466,7 @@
/* Wrap SIGBUS to catch MIT-SHM faults */
#undef BUSFAULT
+/* Directory for shared memory temp files */
+#undef SHMDIR
+
#endif /* _DIX_CONFIG_H_ */
diff --git a/xorg-server/include/os.h b/xorg-server/include/os.h
index 450e1a8e8..9b6729421 100644
--- a/xorg-server/include/os.h
+++ b/xorg-server/include/os.h
@@ -686,4 +686,7 @@ LogPrintMarkers(void);
extern _X_EXPORT void
xorg_backtrace(void);
+extern _X_EXPORT int
+os_move_fd(int fd);
+
#endif /* OS_H */
diff --git a/xorg-server/include/protocol-versions.h b/xorg-server/include/protocol-versions.h
index 95df8ce1a..fc428c8cf 100644
--- a/xorg-server/include/protocol-versions.h
+++ b/xorg-server/include/protocol-versions.h
@@ -46,6 +46,10 @@
#define SERVER_DAMAGE_MAJOR_VERSION 1
#define SERVER_DAMAGE_MINOR_VERSION 1
+/* DRI3 */
+#define SERVER_DRI3_MAJOR_VERSION 1
+#define SERVER_DRI3_MINOR_VERSION 0
+
/* DMX */
#define SERVER_DMX_MAJOR_VERSION 2
#define SERVER_DMX_MINOR_VERSION 2
@@ -63,6 +67,10 @@
#define SERVER_PANORAMIX_MAJOR_VERSION 1
#define SERVER_PANORAMIX_MINOR_VERSION 1
+/* Present */
+#define SERVER_PRESENT_MAJOR_VERSION 1
+#define SERVER_PRESENT_MINOR_VERSION 0
+
/* RandR */
#define SERVER_RANDR_MAJOR_VERSION 1
#define SERVER_RANDR_MINOR_VERSION 4
diff --git a/xorg-server/miext/sync/misyncshm.c b/xorg-server/miext/sync/misyncshm.c
index 3f9350af5..01f82fc00 100644
--- a/xorg-server/miext/sync/misyncshm.c
+++ b/xorg-server/miext/sync/misyncshm.c
@@ -32,12 +32,13 @@
#include "pixmapstr.h"
#include <sys/mman.h>
#include <unistd.h>
+#include <fcntl.h>
#include <X11/xshmfence.h>
static DevPrivateKeyRec syncShmFencePrivateKey;
typedef struct _SyncShmFencePrivate {
- int32_t *fence;
+ struct xshmfence *fence;
int fd;
} SyncShmFencePrivateRec, *SyncShmFencePrivatePtr;
@@ -126,6 +127,7 @@ miSyncShmCreateFenceFromFd(ScreenPtr pScreen, SyncFence *pFence, int fd, Bool in
miSyncInitFence(pScreen, pFence, initially_triggered);
+ fd = os_move_fd(fd);
pPriv->fence = xshmfence_map_shm(fd);
if (pPriv->fence) {
pPriv->fd = fd;
@@ -145,6 +147,7 @@ miSyncShmGetFenceFd(ScreenPtr pScreen, SyncFence *pFence)
pPriv->fd = xshmfence_alloc_shm();
if (pPriv->fd < 0)
return -1;
+ pPriv->fd = os_move_fd(pPriv->fd);
pPriv->fence = xshmfence_map_shm(pPriv->fd);
if (!pPriv->fence) {
close (pPriv->fd);
diff --git a/xorg-server/os/osinit.c b/xorg-server/os/osinit.c
index 60d10694b..4d48ea94e 100644
--- a/xorg-server/os/osinit.c
+++ b/xorg-server/os/osinit.c
@@ -213,10 +213,18 @@ OsInit(void)
dlinfo(RTLD_SELF, RTLD_DI_SETSIGNAL, &failure_signal);
#endif
-#if !defined(__CYGWIN__)
+#if !defined(XQUARTZ) /* STDIN is already /dev/null and STDOUT/STDERR is managed by console_redirect.c */
+# if defined(__APPLE__)
+ int devnullfd = open(devnull, O_RDWR, 0);
+ assert(devnullfd > 2);
+
+ dup2(devnullfd, STDIN_FILENO);
+ dup2(devnullfd, STDOUT_FILENO);
+ close(devnullfd);
+# elif !defined(__CYGWIN__)
fclose(stdin);
fclose(stdout);
-#endif
+# endif
/*
* If a write of zero bytes to stderr returns non-zero, i.e. -1,
* then writing to stderr failed, and we'll write somewhere else
@@ -250,6 +258,7 @@ OsInit(void)
setlinebuf(stderr);
#endif
}
+#endif /* !XQUARTZ */
#if !defined(WIN32) || defined(__CYGWIN__)
if (getpgrp() == 0)
diff --git a/xorg-server/os/utils.c b/xorg-server/os/utils.c
index fb20da755..608ee6ab0 100644
--- a/xorg-server/os/utils.c
+++ b/xorg-server/os/utils.c
@@ -2071,3 +2071,27 @@ FormatUInt64Hex(uint64_t num, char *string)
string[len] = '\0';
}
+
+/* Move a file descriptor out of the way of our select mask; this
+ * is useful for file descriptors which will never appear in the
+ * select mask to avoid reducing the number of clients that can
+ * connect to the server
+ */
+int
+os_move_fd(int fd)
+{
+ int newfd;
+
+#ifdef F_DUPFD_CLOEXEC
+ newfd = fcntl(fd, F_DUPFD_CLOEXEC, MAXCLIENTS);
+#else
+ newfd = fcntl(fd, F_DUPFD, MAXCLIENTS);
+#endif
+ if (newfd < 0)
+ return fd;
+#ifndef F_DUPFD_CLOEXEC
+ fcntl(newfd, F_SETFD, FD_CLOEXEC);
+#endif
+ close(fd);
+ return newfd;
+}
diff --git a/xorg-server/present/present.c b/xorg-server/present/present.c
index f9eef6b26..50bd05539 100644
--- a/xorg-server/present/present.c
+++ b/xorg-server/present/present.c
@@ -115,7 +115,8 @@ present_check_flip(RRCrtcPtr crtc,
}
/* Make sure the window hasn't been redirected with Composite */
- if (screen->GetWindowPixmap(window) != screen->GetScreenPixmap(screen))
+ if (screen->GetWindowPixmap(window) != screen->GetScreenPixmap(screen) &&
+ screen->GetWindowPixmap(window) != screen_priv->flip_pixmap)
return FALSE;
/* Check for full-screen window */
@@ -311,6 +312,36 @@ present_flip_idle(ScreenPtr screen)
}
}
+struct pixmap_visit {
+ PixmapPtr old;
+ PixmapPtr new;
+};
+
+static int
+present_set_tree_pixmap_visit(WindowPtr window, pointer data)
+{
+ struct pixmap_visit *visit = data;
+ ScreenPtr screen = window->drawable.pScreen;
+
+ if ((*screen->GetWindowPixmap)(window) != visit->old)
+ return WT_DONTWALKCHILDREN;
+ (*screen->SetWindowPixmap)(window, visit->new);
+ return WT_WALKCHILDREN;
+}
+
+static void
+present_set_tree_pixmap(WindowPtr window, PixmapPtr pixmap)
+{
+ struct pixmap_visit visit;
+ ScreenPtr screen = window->drawable.pScreen;
+
+ visit.old = (*screen->GetWindowPixmap)(window);
+ visit.new = pixmap;
+ if (visit.old == visit.new)
+ return;
+ TraverseTree(window, present_set_tree_pixmap_visit, &visit);
+}
+
static void
present_unflip(ScreenPtr screen)
{
@@ -319,6 +350,12 @@ present_unflip(ScreenPtr screen)
assert (!screen_priv->unflip_event_id);
assert (!screen_priv->flip_pending);
+ if (screen_priv->flip_window)
+ present_set_tree_pixmap(screen_priv->flip_window,
+ (*screen->GetScreenPixmap)(screen));
+
+ present_set_tree_pixmap(screen->root, (*screen->GetScreenPixmap)(screen));
+
/* Update the screen pixmap with the current flip pixmap contents
*/
if (screen_priv->flip_pixmap && screen_priv->flip_window) {
@@ -348,6 +385,8 @@ present_flip_notify(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
present_flip_idle(screen);
+ xorg_list_del(&vblank->event_queue);
+
/* Transfer reference for pixmap and fence from vblank to screen_priv */
screen_priv->flip_crtc = vblank->crtc;
screen_priv->flip_window = vblank->window;
@@ -378,14 +417,12 @@ present_event_notify(uint64_t event_id, uint64_t ust, uint64_t msc)
DebugPresent(("\te %lld ust %lld msc %lld\n", event_id, ust, msc));
xorg_list_for_each_entry_safe(vblank, tmp, &present_exec_queue, event_queue) {
if (vblank->event_id == event_id) {
- xorg_list_del(&vblank->event_queue);
present_execute(vblank, ust, msc);
return;
}
}
xorg_list_for_each_entry_safe(vblank, tmp, &present_flip_queue, event_queue) {
if (vblank->event_id == event_id) {
- xorg_list_del(&vblank->event_queue);
present_flip_notify(vblank, ust, msc);
return;
}
@@ -447,7 +484,7 @@ present_check_flip_window (WindowPtr window)
/* Now check any queued vblanks */
xorg_list_for_each_entry(vblank, &window_priv->vblank, window_list) {
- if (vblank->flip && !present_check_flip(vblank->crtc, window, vblank->pixmap, FALSE, NULL, 0, 0))
+ if (vblank->queued && vblank->flip && !present_check_flip(vblank->crtc, window, vblank->pixmap, FALSE, NULL, 0, 0))
vblank->flip = FALSE;
}
}
@@ -486,7 +523,8 @@ static void
present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
{
WindowPtr window = vblank->window;
- present_screen_priv_ptr screen_priv = present_screen_priv(window->drawable.pScreen);
+ ScreenPtr screen = window->drawable.pScreen;
+ present_screen_priv_ptr screen_priv = present_screen_priv(screen);
if (vblank->wait_fence) {
if (!present_fence_check_triggered(vblank->wait_fence)) {
@@ -496,22 +534,45 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
}
xorg_list_del(&vblank->event_queue);
+ vblank->queued = FALSE;
+
if (vblank->pixmap && vblank->window) {
if (vblank->flip && screen_priv->flip_pending == NULL && !screen_priv->unflip_event_id) {
DebugPresent(("\tf %p %8lld: %08lx -> %08lx\n", vblank, crtc_msc, vblank->pixmap->drawable.id, vblank->window->drawable.id));
- /* Prepare to flip by removing from the window/screen lists
+ /* Prepare to flip by placing it in the flip queue and
* and sticking it into the flip_pending field
*/
screen_priv->flip_pending = vblank;
- xorg_list_del(&vblank->window_list);
xorg_list_add(&vblank->event_queue, &present_flip_queue);
/* Try to flip
*/
- if (present_flip(vblank->crtc, vblank->event_id, vblank->target_msc, vblank->pixmap, vblank->sync_flip))
+ if (present_flip(vblank->crtc, vblank->event_id, vblank->target_msc, vblank->pixmap, vblank->sync_flip)) {
+ RegionPtr damage;
+
+ /* Fix window pixmaps:
+ * 1) Restore previous flip window pixmap
+ * 2) Set current flip window pixmap to the new pixmap
+ */
+ if (screen_priv->flip_window && screen_priv->flip_window != window)
+ present_set_tree_pixmap(screen_priv->flip_window,
+ (*screen->GetScreenPixmap)(screen));
+ present_set_tree_pixmap(vblank->window, vblank->pixmap);
+ present_set_tree_pixmap(screen->root, vblank->pixmap);
+
+ /* Report update region as damaged
+ */
+ if (vblank->update) {
+ damage = vblank->update;
+ RegionIntersect(damage, damage, &window->clipList);
+ } else
+ damage = &window->clipList;
+
+ DamageDamageRegion(&vblank->window->drawable, damage);
return;
+ }
xorg_list_del(&vblank->event_queue);
/* Oops, flip failed. Clear the flip_pending field
@@ -531,7 +592,7 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
/* Check current flip
*/
if (window == screen_priv->flip_window)
- present_unflip(window->drawable.pScreen);
+ present_unflip(screen);
}
present_copy_region(&window->drawable, vblank->pixmap, vblank->update, vblank->x_off, vblank->y_off);
@@ -577,7 +638,9 @@ present_pixmap(WindowPtr window,
if (!window_priv)
return BadAlloc;
- if (!target_crtc) {
+ if (!screen_priv || !screen_priv->info)
+ target_crtc = NULL;
+ else if (!target_crtc) {
/* Update the CRTC if we have a pixmap or we don't have a CRTC
*/
if (!pixmap)
@@ -621,6 +684,11 @@ present_pixmap(WindowPtr window,
if (vblank->crtc != target_crtc || vblank->target_msc != target_msc)
continue;
+ DebugPresent(("\tx %lld %p %8lld: %08lx -> %08lx (crtc %p)\n",
+ vblank->event_id, vblank, target_msc,
+ vblank->pixmap->drawable.id, vblank->window->drawable.id,
+ vblank->crtc));
+
present_pixmap_idle(vblank->pixmap, vblank->window, vblank->serial, vblank->idle_fence);
present_fence_destroy(vblank->idle_fence);
dixDestroyPixmap(vblank->pixmap, vblank->pixmap->drawable.id);
@@ -696,10 +764,12 @@ present_pixmap(WindowPtr window,
target_crtc));
xorg_list_add(&vblank->event_queue, &present_exec_queue);
+ vblank->queued = TRUE;
if (target_msc >= crtc_msc) {
ret = present_queue_vblank(screen, target_crtc, vblank->event_id, target_msc);
if (ret != Success) {
xorg_list_del(&vblank->event_queue);
+ vblank->queued = FALSE;
goto failure;
}
} else
@@ -732,6 +802,7 @@ present_abort_vblank(ScreenPtr screen, RRCrtcPtr crtc, uint64_t event_id, uint64
xorg_list_for_each_entry_safe(vblank, tmp, &present_exec_queue, event_queue) {
if (vblank->event_id == event_id) {
xorg_list_del(&vblank->event_queue);
+ vblank->queued = FALSE;
return;
}
}
diff --git a/xorg-server/present/present.h b/xorg-server/present/present.h
index 6a451fb23..0e3bdc08e 100644
--- a/xorg-server/present/present.h
+++ b/xorg-server/present/present.h
@@ -115,4 +115,13 @@ present_event_abandon(RRCrtcPtr crtc);
extern _X_EXPORT Bool
present_screen_init(ScreenPtr screen, present_screen_info_ptr info);
+typedef void (*present_complete_notify_proc)(WindowPtr window,
+ CARD8 mode,
+ CARD32 serial,
+ uint64_t ust,
+ uint64_t msc);
+
+extern _X_EXPORT void
+present_register_complete_notify(present_complete_notify_proc proc);
+
#endif /* _PRESENT_H_ */
diff --git a/xorg-server/present/present_event.c b/xorg-server/present/present_event.c
index a8f7176eb..f0d509ed4 100644
--- a/xorg-server/present/present_event.c
+++ b/xorg-server/present/present_event.c
@@ -137,6 +137,14 @@ present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw,
}
}
+static present_complete_notify_proc complete_notify;
+
+void
+present_register_complete_notify(present_complete_notify_proc proc)
+{
+ complete_notify = proc;
+}
+
void
present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 serial, uint64_t ust, uint64_t msc)
{
@@ -165,6 +173,8 @@ present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 se
}
}
}
+ if (complete_notify)
+ (*complete_notify)(window, mode, serial, ust, msc);
}
void
diff --git a/xorg-server/present/present_priv.h b/xorg-server/present/present_priv.h
index 500c7c265..8d3e0079c 100644
--- a/xorg-server/present/present_priv.h
+++ b/xorg-server/present/present_priv.h
@@ -69,9 +69,10 @@ struct present_vblank {
present_fence_ptr wait_fence;
present_notify_ptr notifies;
int num_notifies;
- Bool flip;
- Bool sync_flip;
- Bool abort_flip;
+ Bool queued; /* on present_exec_queue */
+ Bool flip; /* planning on using flip */
+ Bool sync_flip; /* do flip synchronous to vblank */
+ Bool abort_flip; /* aborting this flip */
};
typedef struct present_screen_priv {
diff --git a/xorg-server/present/present_request.c b/xorg-server/present/present_request.c
index 095fa2daf..1064dcb3b 100644
--- a/xorg-server/present/present_request.c
+++ b/xorg-server/present/present_request.c
@@ -26,6 +26,7 @@
#include "present_priv.h"
#include "randrstr.h"
+#include <protocol-versions.h>
static int
proc_present_query_version(ClientPtr client)
@@ -35,8 +36,8 @@ proc_present_query_version(ClientPtr client)
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
- .majorVersion = PRESENT_MAJOR,
- .minorVersion = PRESENT_MINOR
+ .majorVersion = SERVER_PRESENT_MAJOR_VERSION,
+ .minorVersion = SERVER_PRESENT_MINOR_VERSION
};
REQUEST_SIZE_MATCH(xPresentQueryVersionReq);
diff --git a/xorg-server/present/present_screen.c b/xorg-server/present/present_screen.c
index 2702cd6ca..25ef6818d 100644
--- a/xorg-server/present/present_screen.c
+++ b/xorg-server/present/present_screen.c
@@ -206,6 +206,11 @@ present_extension_init(void)
ExtensionEntry *extension;
int i;
+#ifdef PANORAMIX
+ if (!noPanoramiXExtension)
+ return;
+#endif
+
extension = AddExtension(PRESENT_NAME, PresentNumberEvents, PresentNumberErrors,
proc_present_dispatch, sproc_present_dispatch,
NULL, StandardMinorOpcode);
diff --git a/xorg-server/xfixes/region.c b/xorg-server/xfixes/region.c
index 0e9ca443f..14a02ba1d 100644
--- a/xorg-server/xfixes/region.c
+++ b/xorg-server/xfixes/region.c
@@ -857,6 +857,7 @@ PanoramiXFixesSetWindowShapeRegion(ClientPtr client)
{
int result = Success, j;
PanoramiXRes *win;
+ RegionPtr reg = NULL;
REQUEST(xXFixesSetWindowShapeRegionReq);
@@ -869,10 +870,22 @@ PanoramiXFixesSetWindowShapeRegion(ClientPtr client)
return result;
}
+ if (win->u.win.root)
+ VERIFY_REGION_OR_NONE(reg, stuff->region, client, DixReadAccess);
+
FOR_NSCREENS_FORWARD(j) {
+ ScreenPtr screen = screenInfo.screens[j];
stuff->dest = win->info[j].id;
+
+ if (reg)
+ RegionTranslate(reg, -screen->x, -screen->y);
+
result =
(*PanoramiXSaveXFixesVector[X_XFixesSetWindowShapeRegion]) (client);
+
+ if (reg)
+ RegionTranslate(reg, screen->x, screen->y);
+
if (result != Success)
break;
}
@@ -886,6 +899,7 @@ PanoramiXFixesSetPictureClipRegion(ClientPtr client)
REQUEST(xXFixesSetPictureClipRegionReq);
int result = Success, j;
PanoramiXRes *pict;
+ RegionPtr reg = NULL;
REQUEST_SIZE_MATCH(xXFixesSetPictureClipRegionReq);
@@ -896,10 +910,22 @@ PanoramiXFixesSetPictureClipRegion(ClientPtr client)
return result;
}
+ if (pict->u.pict.root)
+ VERIFY_REGION_OR_NONE(reg, stuff->region, client, DixReadAccess);
+
FOR_NSCREENS_BACKWARD(j) {
+ ScreenPtr screen = screenInfo.screens[j];
stuff->picture = pict->info[j].id;
+
+ if (reg)
+ RegionTranslate(reg, -screen->x, -screen->y);
+
result =
(*PanoramiXSaveXFixesVector[X_XFixesSetPictureClipRegion]) (client);
+
+ if (reg)
+ RegionTranslate(reg, screen->x, screen->y);
+
if (result != Success)
break;
}
diff --git a/xorg-server/xkeyboard-config/rules/HDR b/xorg-server/xkeyboard-config/rules/HDR
index 769b8fc7f..9ee3e39d8 100644
--- a/xorg-server/xkeyboard-config/rules/HDR
+++ b/xorg-server/xkeyboard-config/rules/HDR
@@ -15,6 +15,7 @@
! model layout[3] variant[3] = symbols
! model layout[4] variant[4] = symbols
! model = symbols
+! model layout = symbols
! layout variant = compat
! layout[1] variant[1] = compat
! layout[2] variant[2] = compat
diff --git a/xorg-server/xkeyboard-config/rules/Makefile.am b/xorg-server/xkeyboard-config/rules/Makefile.am
index f2d73ce80..9ab91dcf3 100644
--- a/xorg-server/xkeyboard-config/rules/Makefile.am
+++ b/xorg-server/xkeyboard-config/rules/Makefile.am
@@ -23,6 +23,7 @@ endif
if USE_COMPAT_RULES
base_parts = base.hdr.part base.lists.part \
+base.lists.base.part \
compat/base.lists.part \
HDR base.m_k.part \
HDR base.l1_k.part \
@@ -41,6 +42,7 @@ HDR compat/base.ml2v2_s.part \
HDR compat/base.ml3v3_s.part \
HDR compat/base.ml4v4_s.part \
HDR base.m_s.part \
+HDR base.ml_s1.part \
HDR compat/base.lv_c.part \
HDR compat/base.l1v1_c.part \
HDR compat/base.l2v2_c.part \
@@ -59,6 +61,7 @@ HDR base.o_c.part \
HDR base.o_t.part
evdev_parts = base.hdr.part base.lists.part \
+evdev.lists.part \
compat/base.lists.part \
HDR evdev.m_k.part \
HDR base.l1_k.part \
@@ -77,6 +80,7 @@ HDR compat/base.ml2v2_s.part \
HDR compat/base.ml3v3_s.part \
HDR compat/base.ml4v4_s.part \
HDR evdev.m_s.part \
+HDR \
HDR compat/base.lv_c.part \
HDR compat/base.l1v1_c.part \
HDR compat/base.l2v2_c.part \
@@ -97,6 +101,7 @@ HDR base.o_t.part
else
base_parts = base.hdr.part base.lists.part \
+base.lists.base.part \
HDR base.m_k.part \
HDR base.l1_k.part \
HDR base.l_k.part \
@@ -114,6 +119,7 @@ HDR \
HDR \
HDR \
HDR base.m_s.part \
+HDR base.ml_s1.part \
HDR \
HDR \
HDR \
@@ -132,6 +138,7 @@ HDR base.o_c.part \
HDR base.o_t.part
evdev_parts = base.hdr.part base.lists.part \
+evdev.lists.part \
HDR evdev.m_k.part \
HDR base.l1_k.part \
HDR base.l_k.part \
@@ -154,6 +161,7 @@ HDR \
HDR \
HDR \
HDR \
+HDR \
HDR base.ml_c.part \
HDR base.ml1_c.part \
HDR base.m_t.part \
@@ -170,6 +178,8 @@ endif
all_parts_dist = HDR base.hdr.part \
base.lists.part \
+base.lists.base.part \
+evdev.lists.part \
base.m_k.part \
base.l1_k.part \
base.l_k.part \
@@ -183,6 +193,7 @@ base.ml2_s.part \
base.ml3_s.part \
base.ml4_s.part \
base.m_s.part \
+base.ml_s1.part \
base.ml_c.part \
base.ml1_c.part \
base.m_t.part \
diff --git a/xorg-server/xkeyboard-config/rules/base.extras.xml.in b/xorg-server/xkeyboard-config/rules/base.extras.xml.in
index c05fe0a08..aa47e3da0 100644
--- a/xorg-server/xkeyboard-config/rules/base.extras.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.extras.xml.in
@@ -685,8 +685,16 @@
<name>se</name>
<_shortDescription>sv</_shortDescription>
<_description>Swedish</_description>
- </configItem>
- <variantList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>dvorak_a5</name>
+ <_description>Swedish (Dvorak A5)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ <variantList>
<variant>
<configItem>
<name>sun_type6</name>
diff --git a/xorg-server/xkeyboard-config/rules/base.lists.base.part b/xorg-server/xkeyboard-config/rules/base.lists.base.part
new file mode 100644
index 000000000..1b2094894
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/base.lists.base.part
@@ -0,0 +1,54 @@
+! $inetkbds = acer_c300 acer_ferrari4k acer_laptop \
+ airkey \
+ apple armada azonaRF2300 \
+ benqx brother \
+ btc5113rf btc9000 btc9000a btc9001ah btc5090 btc9019u \
+ cherryblue cherrybluea cherryblueb \
+ cherrycyboard cherrycmexpert \
+ chicony chicony0108 chicony0420 chicony9885 \
+ compalfl90 \
+ compaqeak8 compaqik7 compaqik13 compaqik18 \
+ creativedw7000 \
+ cymotionlinux \
+ dell dellm65 inspiron dellusbmm \
+ emachines ennyah_dkb1008 evdev \
+ genius geniuscomfy2 \
+ gyration honeywell_euroboard \
+ hp250x hp5xx hp500fa hpdv5 \
+ hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx htcdream \
+ ibm_spacesaver ipaq inspiron intel \
+ logiaccess logicda logicink \
+ logiex110 logiclx300 \
+ logiinkse logiinkseusb logiitc logiik \
+ logitech_base itouch logiultrax \
+ logitech_g15 \
+ logidinovo logidinovoedge \
+ microsoft4000 microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
+ microsoftoffice microsoftmult \
+ mx1998 mx2500 mx2750 \
+ oretec \
+ pc105 \
+ presario propeller \
+ qtronix \
+ rapidaccess rapidaccess2 thinkpad60 \
+ samsung4500 samsung4510 \
+ silvercrest \
+ sk1300 sk2500 sk6200 sk7100 \
+ sven sven303 symplon \
+ toshiba_s3000 trust trustda \
+ unitekkb1925 yahoo
+
+! $inetmediakbds = acer_ferrari4k acer_laptop btc5090 btc9019u cherryblueb \
+ cherrybluea herrycyboard chicony042 compaqik13 compaqik18 \
+ armada presario dellm65 inspiron dellusbmm diamond \
+ ennyah_dkb1008 genius geniuscomfy2 hpi6 hpxe3gc hpxe3gf \
+ hpxt1000 hpzt11xx hpdv5 hpxe4xxx hp5xx thinkpad60 ogitech_base \
+ logidinovo logidinovoedge logitech_g15 mx1998 mx2500 mx2750 \
+ microsoft4000 microsoft7000 microsoftprooem microsoftmult \
+ propeller samsung4500 samsung4510 sk1300 sk2500 sk7100 \
+ toshiba_s3000 trust trustda cymotionlinux silvercrest \
+ emachines benqx unitekkb1925 creativedw7000 compalfl90 \
+ pc105 a4techKB21 a4techKBS8 a4_rfkb23 asus_laptop btc6301urf \
+ dexxa dtk2000 fscaa1667g geniuskb19e geniuscomfy latitude \
+ microsoftpro precision_m scorpius sp_inet targa_v811 thinkpad \
+ tm2030USB-102 tm2030USB-106 trust_slimline
diff --git a/xorg-server/xkeyboard-config/rules/base.lists.part b/xorg-server/xkeyboard-config/rules/base.lists.part
index 97b3b907f..08c081821 100644
--- a/xorg-server/xkeyboard-config/rules/base.lists.part
+++ b/xorg-server/xkeyboard-config/rules/base.lists.part
@@ -33,45 +33,6 @@
! $azerty = be fr
! $qwertz = al cz de hr hu ro si sk
-! $inetkbds = acer_c300 acer_ferrari4k acer_laptop \
- airkey \
- apple armada azonaRF2300 \
- benqx brother \
- btc5113rf btc9000 btc9000a btc9001ah btc5090 btc9019u \
- cherryblue cherrybluea cherryblueb \
- cherrycyboard cherrycmexpert \
- chicony chicony0108 chicony0420 chicony9885 \
- compalfl90 \
- compaqeak8 compaqik7 compaqik13 compaqik18 \
- creativedw7000 \
- cymotionlinux \
- dell dellm65 inspiron dellusbmm \
- emachines ennyah_dkb1008 evdev \
- genius geniuscomfy2 \
- gyration honeywell_euroboard \
- hp250x hp5xx hp500fa hpdv5 \
- hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx htcdream \
- ibm_spacesaver ipaq inspiron intel \
- logiaccess logicda logicink \
- logiex110 logiclx300 \
- logiinkse logiinkseusb logiitc logiik \
- logitech_base itouch logiultrax \
- logitech_g15 \
- logidinovo logidinovoedge \
- microsoft4000 microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
- microsoftoffice microsoftmult \
- mx1998 mx2500 mx2750 \
- oretec \
- pc105 \
- presario propeller \
- qtronix \
- rapidaccess rapidaccess2 thinkpad60 \
- samsung4500 samsung4510 \
- silvercrest \
- sk1300 sk2500 sk6200 sk7100 \
- sven sven303 symplon \
- toshiba_s3000 trust trustda \
- unitekkb1925 yahoo
// all layouts with 3rd and 4th groups
! $threelevellayouts = al az \
@@ -95,8 +56,6 @@
vn \
za
-! $evdevkbds = ibm_spacesaver
-
! $thinkpads = thinkpad thinkpad60 thinkpadz60
! $sun = sun_type6_jp sun_type6_usb sun_type6_euro_usb \
@@ -117,3 +76,4 @@
! $sun_compat = sun_type6 sun_type6_suncompat sun_type7_suncompat suncompat
! $htcdreamlayouts = us it de
+
diff --git a/xorg-server/xkeyboard-config/rules/base.ml_s1.part b/xorg-server/xkeyboard-config/rules/base.ml_s1.part
new file mode 100644
index 000000000..1a35202da
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/base.ml_s1.part
@@ -0,0 +1 @@
+ $inetmediakbds jp = +jp(henkan)
diff --git a/xorg-server/xkeyboard-config/rules/base.o_s.part b/xorg-server/xkeyboard-config/rules/base.o_s.part
index 35b6ef3b6..a31556b55 100644
--- a/xorg-server/xkeyboard-config/rules/base.o_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.o_s.part
@@ -8,6 +8,7 @@
altwin:hyper_win = +altwin(hyper_win)
altwin:alt_super_win = +altwin(alt_super_win)
altwin:swap_alt_win = +altwin(swap_alt_win)
+ grab:debug = +srvr_ctrl(grab_debug)
grp:switch = +group(switch)
grp:lswitch = +group(lswitch)
grp:win_switch = +group(win_switch)
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index 1c75531d8..42fda3fb2 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -1762,9 +1762,9 @@
<layout>
<configItem>
<name>bd</name>
- <!-- Keyboard indicator for Bengali layouts -->
+ <!-- Keyboard indicator for Bangla layouts -->
<_shortDescription>bn</_shortDescription>
- <_description>Bengali</_description>
+ <_description>Bangla</_description>
<languageList>
<iso639Id>ben</iso639Id>
</languageList>
@@ -1773,7 +1773,7 @@
<variant>
<configItem>
<name>probhat</name>
- <_description>Bengali (Probhat)</_description>
+ <_description>Bangla (Probhat)</_description>
</configItem>
</variant>
</variantList>
@@ -1789,9 +1789,9 @@
<variant>
<configItem>
<name>ben</name>
- <!-- Keyboard indicator for Bengali layouts -->
+ <!-- Keyboard indicator for Bangla layouts -->
<_shortDescription>bn</_shortDescription>
- <_description>Bengali (India)</_description>
+ <_description>Bangla (India)</_description>
<languageList>
<iso639Id>ben</iso639Id>
</languageList>
@@ -1800,9 +1800,9 @@
<variant>
<configItem>
<name>ben_probhat</name>
- <!-- Keyboard indicator for Bengali layouts -->
+ <!-- Keyboard indicator for Bangla layouts -->
<_shortDescription>bn</_shortDescription>
- <_description>Bengali (India, Probhat)</_description>
+ <_description>Bangla (India, Probhat)</_description>
<languageList>
<iso639Id>ben</iso639Id>
</languageList>
@@ -1811,28 +1811,28 @@
<variant>
<configItem>
<name>ben_baishakhi</name>
- <_description>Bengali (India, Baishakhi)</_description>
+ <_description>Bangla (India, Baishakhi)</_description>
<languageList><iso639Id>ben</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_bornona</name>
- <_description>Bengali (India, Bornona)</_description>
+ <_description>Bangla (India, Bornona)</_description>
<languageList><iso639Id>ben</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_gitanjali</name>
- <_description>Bengali (India, Uni Gitanjali)</_description>
+ <_description>Bangla (India, Uni Gitanjali)</_description>
<languageList><iso639Id>ben</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_inscript</name>
- <_description>Bengali (India, Baishakhi Inscript)</_description>
+ <_description>Bangla (India, Baishakhi Inscript)</_description>
<languageList><iso639Id>ben</iso639Id></languageList>
</configItem>
</variant>
@@ -6033,6 +6033,24 @@
<_description>Right Alt as Right Ctrl</_description>
</configItem>
</option>
+ <option>
+ <configItem>
+ <name>ctrl:swap_lalt_lctl</name>
+ <_description>Swap Left Alt key with Left Ctrl key</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:swap_lwin_lctl</name>
+ <_description>Swap Left Win key with Left Ctrl key</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:swap_lalt_lctl_lwin</name>
+ <_description>Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt</_description>
+ </configItem>
+ </option>
</group>
<group allowMultipleSelection="true">
<!-- Using startard LEDs to indicate the alternative (not first) group(s) -->
@@ -6532,6 +6550,12 @@
<_description>Allow breaking grabs with keyboard actions (warning: security risk)</_description>
</configItem>
</option>
+ <option>
+ <configItem>
+ <name>grab:debug_actions</name>
+ <_description>Allow grab and window tree logging</_description>
+ </configItem>
+ </option>
</group>
<group allowMultipleSelection="true">
<!-- Special shortcuts for the Euro character -->
diff --git a/xorg-server/xkeyboard-config/rules/evdev.lists.part b/xorg-server/xkeyboard-config/rules/evdev.lists.part
new file mode 100644
index 000000000..7b5d0d46d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/evdev.lists.part
@@ -0,0 +1 @@
+! $evdevkbds = ibm_spacesaver
diff --git a/xorg-server/xkeyboard-config/symbols/af b/xorg-server/xkeyboard-config/symbols/af
index 972769b36..b93019a95 100644
--- a/xorg-server/xkeyboard-config/symbols/af
+++ b/xorg-server/xkeyboard-config/symbols/af
@@ -81,7 +81,7 @@ xkb_symbols "basic" {
//
// 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net>
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "ps" {
name[Group1]= "Pashto";
@@ -152,7 +152,7 @@ xkb_symbols "ps" {
//
// 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net>
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "uz" {
name[Group1]= "Uzbek (Afghanistan)";
@@ -212,7 +212,7 @@ xkb_symbols "uz" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "olpc-ps" {
name[Group1]= "Pashto (Afghanistan, OLPC)";
@@ -273,7 +273,7 @@ xkb_symbols "olpc-ps" {
include "group(olpc)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "fa-olpc" {
name[Group1]= "Persian (Afghanistan, Dari OLPC)";
@@ -334,7 +334,7 @@ xkb_symbols "fa-olpc" {
include "group(olpc)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "uz-olpc" {
name[Group1]= "Uzbek (Afghanistan, OLPC)";
diff --git a/xorg-server/xkeyboard-config/symbols/altwin b/xorg-server/xkeyboard-config/symbols/altwin
index 333b7dacd..239d4878c 100644
--- a/xorg-server/xkeyboard-config/symbols/altwin
+++ b/xorg-server/xkeyboard-config/symbols/altwin
@@ -1,5 +1,5 @@
// Meta is mapped to second level of Alt keys.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "meta_alt" {
key <LALT> { [ Alt_L, Meta_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
@@ -9,7 +9,7 @@ xkb_symbols "meta_alt" {
};
// Alt is mapped to the Win keys (and the usual Alt keys).
-partial modifier_keys
+partial modifier_keys
xkb_symbols "alt_win" {
key <LWIN> { [ Alt_L ] };
key <RWIN> { [ Alt_R ] };
@@ -17,7 +17,7 @@ xkb_symbols "alt_win" {
};
// Ctrl is mapped to the Win keys (and the usual Ctrl keys).
-partial modifier_keys
+partial modifier_keys
xkb_symbols "ctrl_win" {
key <LWIN> { [ Control_L ] };
key <RWIN> { [ Control_R ] };
@@ -25,19 +25,22 @@ xkb_symbols "ctrl_win" {
};
// Ctrl is mapped to the Alt keys, Alt to the Win keys, and Win to the Ctrl keys.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "ctrl_alt_win" {
key <LALT> { [ Control_L, Control_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Control_R, Control_R ] };
key <LWIN> { [ Alt_L, Meta_L ] };
key <RWIN> { [ Alt_R, Meta_R ] };
+ key <LCTL> { [ Super_L ] };
+ key <RCTL> { [ Super_R ] };
modifier_map Control { <RALT>, <LALT> };
modifier_map Mod1 { <LWIN>, <RWIN> };
+ modifier_map Mod4 { <LCTL>, <RCTL> };
};
// Meta is mapped to the Win keys.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "meta_win" {
key <LALT> { [ Alt_L, Alt_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
@@ -49,7 +52,7 @@ xkb_symbols "meta_win" {
};
// Meta is mapped to the left Win key.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "left_meta_win" {
key <LALT> { [ Alt_L, Alt_L ] };
key <LWIN> { [ Meta_L ] };
@@ -58,7 +61,7 @@ xkb_symbols "left_meta_win" {
};
// Hyper is mapped to the Win keys.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "hyper_win" {
key <LWIN> { [ Hyper_L ] };
key <RWIN> { [ Hyper_R ] };
@@ -66,13 +69,13 @@ xkb_symbols "hyper_win" {
};
// Menu is mapped to the Menu key.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "menu" {
key <MENU> { [ Menu ] };
};
// Layout for Tux key caps with additional right Alt key
-partial modifier_keys
+partial modifier_keys
xkb_symbols "alt_super_win" {
key <LALT> { [ Alt_L, Meta_L ] };
key <RWIN> { [ Alt_R, Meta_R ] };
@@ -83,14 +86,14 @@ xkb_symbols "alt_super_win" {
};
// Swap the Alt and Win keys.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "swap_alt_win" {
include "altwin(swap_lalt_lwin)"
include "altwin(swap_ralt_rwin)"
};
// Swap the left Alt and Win keys.
-partial hidden modifier_keys
+partial hidden modifier_keys
xkb_symbols "swap_lalt_lwin" {
key <LALT> { type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Super_L ] };
@@ -98,7 +101,7 @@ xkb_symbols "swap_lalt_lwin" {
};
// Swap the right Alt and Win keys.
-partial hidden modifier_keys
+partial hidden modifier_keys
xkb_symbols "swap_ralt_rwin" {
key <RALT> { type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Super_R ] };
diff --git a/xorg-server/xkeyboard-config/symbols/am b/xorg-server/xkeyboard-config/symbols/am
index b7cc6f69e..dbe6e96d8 100644
--- a/xorg-server/xkeyboard-config/symbols/am
+++ b/xorg-server/xkeyboard-config/symbols/am
@@ -71,9 +71,9 @@ xkb_symbols "olpc" {
xkb_symbols "phonetic" {
include "am(basic)"
name[Group1]= "Armenian (phonetic)";
-
+
key <BKSL> { [ 0x1000577, 0x1000547 ] };
-
+
key <AE01> { [ 0x1000567, 0x1000537 ] };
key <AE02> { [ 0x1000569, 0x1000539 ] };
key <AE03> { [ 0x1000583, 0x1000553 ] };
diff --git a/xorg-server/xkeyboard-config/symbols/apl b/xorg-server/xkeyboard-config/symbols/apl
index 4262d2480..0800b5bbd 100644
--- a/xorg-server/xkeyboard-config/symbols/apl
+++ b/xorg-server/xkeyboard-config/symbols/apl
@@ -5,7 +5,7 @@
// This file supports:
// - The Sharp APL for Unix (SAX) layout
// - The IBM APL2 layout
-// - The Manugistics APL*PLUS II (Version 5.1, 1993) keyboard layout
+// - The Manugistics APL*PLUS II layout (version 5.1, 1993)
// - The Dyalog APL layout - with additions for box drawing and commands
// Unicode APL table: http://aplwiki.com/UnicodeAplTable
@@ -16,27 +16,27 @@
// This file doesn't deal with all the combining stuff -- I'm not an APL programmer,
// and am not quite sure what's needed here. However, it may be possible to get this
-// working with dead keys and the like. Patches gratefully accepted.
+// working with dead keys and the like. Patches gratefully accepted.
// Some of the shift-key assignments may differ from the APL tradition. If
-// that's not considered acceptable, it should be possible to remap the
+// that's not considered acceptable, it should be possible to remap the
// shift keys. I have striven, however, to ensure that the use of shift keys
-// in these maps is at least self-consistent.
+// in these maps is at least self-consistent.
-// I'm assuming that this will be used with another keyboard layout (ie. for
-// your language), with a special shift key to use these maps.
+// I'm assuming that this will be used with another keyboard layout (i.e. for
+// your language), with a special shift key to use these maps.
-// 2011-12-22 Geoff Streeter: geoff@dyalog.com
-// Added the Dyalog support.
-// Corrected (what he thinks) are some errors.
-// Resolving the confusion between APL's and Unicode's concept of Left and Right tacks.
-// Unsure about some of the inheritance from APL2 into APLPLUS. Patches welcome.
-// Complied with freedesktop.org requirement that the keycodes be in sorted order. Which
-// leads to the bottom to top (roughly) definitions.
+// 2011-12-22 Geoff Streeter <geoff@dyalog.com>,
+// added the Dyalog support;
+// corrected (what he thinks) are some errors:
+// resolving the confusion between APL's and Unicode's concept of Left and Right tacks;
+// unsure about some of the inheritance from APL2 into APLPLUS -- patches welcome;
+// complied with freedesktop.org requirement that the keycodes be in sorted order,
+// which leads to the bottom to top (roughly) definitions.
-// default layout seems to have to be the first one. Choosing the basic Dyalog layout is definitely
-// better than using the "common" one. Choosing the complete Dyalog layout is not useful to non-Dyalog
-// users.
+// The default layout still has to be the first one. Choosing the basic Dyalog layout is
+// definitely better than using the "common" one. Choosing the complete Dyalog layout is
+// not useful to non-Dyalog users.
default partial alphanumeric_keys
xkb_symbols "basic" {
@@ -235,7 +235,7 @@ xkb_symbols "apl2" {
key <AB10> { [ slash, backslash, U233F ] }; // /: ⌿ -- AFS Slash Bar
key <AC10> { [ bracketleft, parenleft, U234E ] }; // ;: ⍎ -- [See B key in SAX layout]
- key <AC11> { [ bracketright, parenright, U2355 ] }; // ': ⍕ -- [See N key in SAX layout]
+ key <AC11> { [ bracketright, parenright, U2355 ] }; // ': ⍕ -- [See N key in SAX layout]
key <AD11> { [ NoSymbol, U2192, U235E ] }; // [: (←) → ⍞ -- Rightwards Arrow / AFS Quote Quad
key <AD12> { [ U2337, U2378, U2359 ] }; // ]: ⌷ ⍸ ⍙ -- AFS Squish Quad / AFS Iota Underbar / AFS Delta Underbar
@@ -255,7 +255,7 @@ xkb_symbols "apl2" {
key <BKSL> { [ U2261, U2377, U2364 ] }; // \: ≡ ⍷ ⍤ -- Identical To / AFS Epsilon Underbar / AFS Jot Diaeresis
- key <TLDE> { [ NoSymbol, U233B, U2342 ] }; // `: ⌻ ⍂ --
+ key <TLDE> { [ NoSymbol, U233B, U2342 ] }; // `: ⌻ ⍂ --
include "level3(ralt_switch)"
};
@@ -289,7 +289,7 @@ xkb_symbols "aplplusII" {
name[Group1]= "APL keyboard symbols (Manugistics APL*PLUS II)";
key <AC10> { [ bracketleft, parenleft, U234E ] }; // ;: ⍎ -- [See B key in SAX layout]
- key <AC11> { [ bracketright, parenright, U2355 ] }; // ': ⍕ -- [See N key in SAX layout]
+ key <AC11> { [ bracketright, parenright, U2355 ] }; // ': ⍕ -- [See N key in SAX layout]
key <AD11> { [ U2190, NoSymbol, U235E ] }; // [: ← ⍞ -- Leftwards Arrow / AFS Quote Quad
key <AD12> { [ U2192, NoSymbol, U236C ] }; // ]: → ⍬ -- Rightwards Arrow / AFS Zilde
key <AE01> { [ NoSymbol, NoSymbol, U2261 ] }; // 1: ≡ -- Identical To
@@ -350,22 +350,20 @@ xkb_symbols "aplx" {
};
// APL language support for the Dyalog keyboard.
-// Dyalog Ltd sell this keyboard with APL engravings. The current model is
-// engraved on a Cherry G80. Base languages for US, UK and DK are availible.
+// Dyalog Ltd sells this keyboard with APL engravings. The current model is
+// engraved on a Cherry G80. Base languages for US, UK and DK are available.
-// Geoff Streeter, Dyalog Ltd. 2007-09-03
-// geoff@dyalog.com
+// Geoff Streeter, Dyalog Ltd. 2007-09-03 <geoff@dyalog.com>
// extended for APL special actions 2008-09-09
-// add variant 2010-11-26
+// added a variant 2010-11-26
-// The intention is that this keyboard layout overlays a base keyboard that provides
+// The intention is that this keyboard layout overlays a base keyboard that provides
// the alphabet and similar. If this keyboard is placed as the 2nd layout then it can
// be reached with a latching shift to increase group by one.
partial hidden alphanumeric_keys
xkb_symbols "dyalog_base" {
-
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ │ ⌶ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃
// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ ∨ │ ∧ │ × │ ÷ ┃ ┃
@@ -383,7 +381,6 @@ xkb_symbols "dyalog_base" {
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
-
key <AB01> { [ U2282 ] }; // subset of
key <AB02> { [ U2283 ] }; // superset of
key <AB03> { [ U2229 ] }; // intersection
@@ -460,14 +457,14 @@ xkb_symbols "dyalog_box" {
key <KP9> { [ U2510 ] }; // box drawing light down and left
key <KPDL> { [ U2502 ] }; // box drawing light vertical
-};
+};
partial hidden
xkb_symbols "dyalog_codes" {
// Layout of private use area for this. In the style of the Unicode book
//
-// APL special actions F800-F88F
+// APL special actions F800-F88F
//
// │F800 F810 F820 F830 F840 F850 F860 F870 F880
// ├────┬────┬────┬────┬────┬────┬────┬────┬────┐
@@ -504,7 +501,7 @@ xkb_symbols "dyalog_codes" {
// F│RL │FD │HK │Lc │BH │PU │ │ │OS │
// └────┴────┴────┴────┴────┴────┴────┴────┴────┘
//
-// APL Function Keys F700-F7FF
+// APL Function Keys F700-F7FF
//
// │F700 ... ... F7F0
// ├────┬────┬────┬────┬....┬────┬────┬────┬────┐
@@ -514,9 +511,9 @@ xkb_symbols "dyalog_codes" {
// .
// F│F15 │F31 │F47 │F63 │ │F207│F223│F239│F255│
// └────┴────┴────┴────┴....┴────┴────┴────┴────┘
-//
+//
// whilst these locations are defined. Dyalog's "aplkeys/xterm" file copes with
-// normal function keys from the base keyboard rather than this overlay
+// normal function keys from the base keyboard rather than this overlay.
// ┌─────┐ ┌───┐
// │ │ │ZM │
@@ -540,7 +537,6 @@ xkb_symbols "dyalog_codes" {
// ┃ ┃ ┃ ┃ TO ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
-
key <BKSP> { [ Uf850, Uf855 ] }; // BP CB
key <ESC> { [ Uf800 ] }; // QT
key <FK11> { [ Uf821, Uf821 ] }; // ZM, ZM put this on both, the unshifted one sometimes gets lost
@@ -561,7 +557,6 @@ xkb_symbols "dyalog_codes" {
key <RGHT> { [ Uf824, Uf854 ] }; // NX, RM
key <UP> { [ Uf820 ] }; // BK
-
// ┌───┬───┬───┐
// │PT │LL │UL │
// │CP │LS │US │
@@ -589,7 +584,6 @@ xkb_symbols "dyalog_codes" {
// │ │ │ │
// └───────┴───┴───┘
-
key <KPAD> { [ Uf859 ] }; // TL
key <KPDV> { [ Uf819 ] }; // RD
key <KPMU> { [ Uf81a ] }; // TG
@@ -602,4 +596,3 @@ xkb_symbols "dyalog" {
include "apl(dyalog_codes)"
name[Group1] = "APL keyboard symbols (Dyalog)";
};
-
diff --git a/xorg-server/xkeyboard-config/symbols/ara b/xorg-server/xkeyboard-config/symbols/ara
index 71b50daa5..e677aaab1 100644
--- a/xorg-server/xkeyboard-config/symbols/ara
+++ b/xorg-server/xkeyboard-config/symbols/ara
@@ -1,17 +1,14 @@
-// based on a keyboard map from an 'xkb/symbols/ar' file
-
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Arabic";
// NOTES:
//
-// there is also combined shadda diacritis in AltGr position of simple
-// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
-// should a third state be added to Group2 ?
-//
+// There is also a combined shadda diacritic in the AltGr position of the
+// simple diacritics fatha, fathatan, damma, dammatan, kasra and kasratan. (??)
+// Should a third state be added to Group2?
- key <TLDE> { [ Arabic_thal, Arabic_shadda ] };
+ key <TLDE> { [ Arabic_thal, Arabic_shadda ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
@@ -24,42 +21,42 @@ xkb_symbols "basic" {
key <AE10> { [ 0, parenleft ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
-
+
key <AD01> { [ Arabic_dad, Arabic_fatha ] };
- key <AD02> { [ Arabic_sad, Arabic_fathatan ] };
+ key <AD02> { [ Arabic_sad, Arabic_fathatan ] };
key <AD03> { [ Arabic_theh, Arabic_damma ] };
- key <AD04> { [ Arabic_qaf, Arabic_dammatan ] };
- key <AD05> { [ Arabic_feh, 0x100fef9, 0x10006a4 ] };
- key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef ] };
- key <AD07> { [ Arabic_ain, grave ] };
- key <AD08> { [ Arabic_ha, division ] };
- key <AD09> { [ Arabic_khah, multiply ] };
- key <AD10> { [ Arabic_hah, Arabic_semicolon ] };
- key <AD11> { [ Arabic_jeem, less, 0x1000686 ] };
- key <AD12> { [ Arabic_dal, greater ] };
-
- key <AC01> { [ Arabic_sheen, Arabic_kasra ] };
- key <AC02> { [ Arabic_seen, Arabic_kasratan ] };
- key <AC03> { [ Arabic_yeh, bracketright ] };
- key <AC04> { [ Arabic_beh, bracketleft, 0x100067e ] };
- key <AC05> { [ Arabic_lam, 0x100fef7 ] };
- key <AC06> { [ Arabic_alef, Arabic_hamzaonalef ] };
- key <AC07> { [ Arabic_teh, Arabic_tatweel ] };
- key <AC08> { [ Arabic_noon, Arabic_comma ] };
- key <AC09> { [ Arabic_meem, slash ] };
- key <AC10> { [ Arabic_kaf, colon, 0x10006af ] };
- key <AC11> { [ Arabic_tah, quotedbl ] };
-
- key <LSGT> { [ bar, brokenbar ] };
- key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright ] };
- key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft ] };
+ key <AD04> { [ Arabic_qaf, Arabic_dammatan ] };
+ key <AD05> { [ Arabic_feh, 0x100fef9, 0x10006a4 ] };
+ key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef] };
+ key <AD07> { [ Arabic_ain, grave ] };
+ key <AD08> { [ Arabic_ha, division ] };
+ key <AD09> { [ Arabic_khah, multiply ] };
+ key <AD10> { [ Arabic_hah, Arabic_semicolon ] };
+ key <AD11> { [ Arabic_jeem, less, 0x1000686 ] };
+ key <AD12> { [ Arabic_dal, greater ] };
+
+ key <AC01> { [ Arabic_sheen, Arabic_kasra ] };
+ key <AC02> { [ Arabic_seen, Arabic_kasratan ] };
+ key <AC03> { [ Arabic_yeh, bracketright ] };
+ key <AC04> { [ Arabic_beh, bracketleft, 0x100067e ] };
+ key <AC05> { [ Arabic_lam, 0x100fef7 ] };
+ key <AC06> { [ Arabic_alef, Arabic_hamzaonalef ] };
+ key <AC07> { [ Arabic_teh, Arabic_tatweel ] };
+ key <AC08> { [ Arabic_noon, Arabic_comma ] };
+ key <AC09> { [ Arabic_meem, slash ] };
+ key <AC10> { [ Arabic_kaf, colon, 0x10006af ] };
+ key <AC11> { [ Arabic_tah, quotedbl ] };
+
+ key <LSGT> { [ bar, brokenbar ] };
+ key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright ]};
+ key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft ]};
key <AB03> { [Arabic_hamzaonwaw, braceright ] };
- key <AB04> { [ Arabic_ra, braceleft ] };
- key <AB05> { [ 0x100fefb, 0x100fef5 ] };
+ key <AB04> { [ Arabic_ra, braceleft ] };
+ key <AB05> { [ 0x100fefb, 0x100fef5 ] };
key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef ] };
- key <AB07> { [Arabic_tehmarbuta, apostrophe ] };
- key <AB08> { [ Arabic_waw, comma ] };
- key <AB09> { [ Arabic_zain, period ] };
+ key <AB07> { [Arabic_tehmarbuta, apostrophe ] };
+ key <AB08> { [ Arabic_waw, comma ] };
+ key <AB09> { [ Arabic_zain, period ] };
key <AB10> { [ Arabic_zah, Arabic_question_mark ] };
};
@@ -74,15 +71,15 @@ xkb_symbols "azerty" {
include "ara(basic)"
name[Group1]= "Arabic (azerty)";
- // the north african arabic keyboard differs from the middle east one
- // by the numeric row; it follows French keyboard style
+ // The North African Arabic keyboard differs from the Middle East one
+ // by the numeric row; it follows French keyboard style.
//
- // PROBLEM: some chars are inaccessible: ! @ # $ % ^ *
- // should they go elsewhere? replace " ' that are now in double ?
- // also, dead_circumflex and dead_diaeresis from French keyboard
+ // PROBLEM: some characters are inaccessible: ! @ # $ % ^ *
+ // Should they go elsewhere? Replacing " ' that are now doubled?
+ // Also, dead_circumflex and dead_diaeresis from French keyboard
// as well as ugrave are missing, which questions the utility of the
- // other accentuated latin letters. Maybe this is useful only with
- // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ?
+ // other accentuated Latin letters. Maybe this is useful only with
+ // a French keyboard in Group1? Then, shouldn't Group1 be filled?
key <AE01> { [ ampersand, 1 ] };
key <AE02> { [ eacute, 2 ] };
@@ -101,21 +98,21 @@ partial alphanumeric_keys
xkb_symbols "digits_KP" {
name[Group1]= "Arabic (digits_KP)";
- // use arabic script digits on KP
+ // Use Arabic-script digits on the keypad.
- key <KP7> { [ KP_Home, 0x1000667 ] }; //
- key <KP8> { [ KP_Up, 0x1000668 ] }; //
- key <KP9> { [ KP_Prior, 0x1000669 ] }; //
+ key <KP7> { [ KP_Home, 0x1000667 ] };
+ key <KP8> { [ KP_Up, 0x1000668 ] };
+ key <KP9> { [ KP_Prior, 0x1000669 ] };
- key <KP4> { [ KP_Left, 0x1000664 ] }; //
- key <KP5> { [ KP_Begin, 0x1000665 ] }; //
- key <KP6> { [ KP_Right, 0x1000666 ] }; //
+ key <KP4> { [ KP_Left, 0x1000664 ] };
+ key <KP5> { [ KP_Begin, 0x1000665 ] };
+ key <KP6> { [ KP_Right, 0x1000666 ] };
- key <KP1> { [ KP_End, 0x1000661 ] }; //
- key <KP2> { [ KP_Down, 0x1000662 ] }; //
- key <KP3> { [ KP_Next, 0x1000663 ] }; //
+ key <KP1> { [ KP_End, 0x1000661 ] };
+ key <KP2> { [ KP_Down, 0x1000662 ] };
+ key <KP3> { [ KP_Next, 0x1000663 ] };
- key <KP0> { [ KP_Insert, 0x1000660 ] }; //
+ key <KP0> { [ KP_Insert, 0x1000660 ] };
};
partial alphanumeric_keys
@@ -123,7 +120,7 @@ xkb_symbols "digits" {
include "ara(basic)"
name[Group1]= "Arabic (digits)";
- // use arabic script digits
+ // Use Arabic-script digits on the numberic row.
key <AE01> { [ 0x1000661, exclam ] };
key <AE02> { [ 0x1000662, at ] };
@@ -149,7 +146,7 @@ partial alphanumeric_keys
xkb_symbols "azerty_digits" {
include "ara(azerty)"
name[Group1]= "Arabic (azerty/digits)";
-
+
key <AE01> { [ ampersand, 0x1000661 ] };
key <AE02> { [ eacute, 0x1000662 ] };
key <AE03> { [ quotedbl, 0x1000663 ] };
@@ -166,9 +163,7 @@ xkb_symbols "azerty_digits" {
// http://www.qamus.org/transliteration.htm
// Martin Vidner
-// symbol names: see /usr/X11R6/include/X11/keysymdef.h (XFree86-devel.rpm)
-
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "buckwalter" {
name[Group1]= "Arabic (Buckwalter)";
@@ -191,7 +186,7 @@ xkb_symbols "buckwalter" {
key <AE10> { [ 0x1000660, 0x100fd3f ] };
key <AE11> { [ minus, Arabic_tatweel ] };
key <AE12> { [ equal, plus ] };
-
+
key <AD01> { [ Arabic_qaf, VoidSymbol ] };
key <AD02> { [ Arabic_waw, Arabic_hamzaonwaw ] };
key <AD03> { [ VoidSymbol, Arabic_ain ] };
@@ -218,9 +213,7 @@ xkb_symbols "buckwalter" {
key <AC10> { [ Arabic_semicolon, VoidSymbol ] };
key <AC11> { [ Arabic_hamza, VoidSymbol ] };
- key <BKSL> { [ VoidSymbol, Arabic_maddaonalef ] };
-
-// key <LSGT> { [ bar, brokenbar ] };
+ key <BKSL> { [ VoidSymbol, Arabic_maddaonalef ] };
key <AB01> { [ Arabic_zain, Arabic_zah ] };
key <AB02> { [ Arabic_khah, VoidSymbol ] };
@@ -285,7 +278,7 @@ xkb_symbols "olpc" {
// REH isolated form?
key <AB03> { [ Arabic_hamzaonwaw, Arabic_kasra ] };
- key <AB04> { [ Arabic_ra, Arabic_kasratan ] };
+ key <AB04> { [ Arabic_ra, Arabic_kasratan ] };
key <AB05> { [ Arabic_thal, asciicircum ] };
include "group(olpc)"
diff --git a/xorg-server/xkeyboard-config/symbols/at b/xorg-server/xkeyboard-config/symbols/at
index bd4ba988d..c78140f05 100644
--- a/xorg-server/xkeyboard-config/symbols/at
+++ b/xorg-server/xkeyboard-config/symbols/at
@@ -16,7 +16,7 @@ xkb_symbols "nodeadkeys" {
name[Group1]="German (Austria, eliminate dead keys)";
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac" {
include "de(mac)"
diff --git a/xorg-server/xkeyboard-config/symbols/ba b/xorg-server/xkeyboard-config/symbols/ba
index 9a27cbd96..0cc4988d4 100644
--- a/xorg-server/xkeyboard-config/symbols/ba
+++ b/xorg-server/xkeyboard-config/symbols/ba
@@ -6,7 +6,7 @@ xkb_symbols "basic" {
include "rs(latin)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "us" {
name[Group1]= "Bosnian (US keyboard with Bosnian letters)";
@@ -15,7 +15,7 @@ xkb_symbols "us" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "alternatequotes" {
name[Group1]= "Bosnian (use guillemets for quotes)";
@@ -23,7 +23,7 @@ xkb_symbols "alternatequotes" {
include "rs(latinalternatequotes)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "unicode" {
name[Group1]= "Bosnian (use Bosnian digraphs)";
@@ -31,7 +31,7 @@ xkb_symbols "unicode" {
include "rs(latinunicode)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "unicodeus" {
name[Group1]= "Bosnian (US keyboard with Bosnian digraphs)";
diff --git a/xorg-server/xkeyboard-config/symbols/bd b/xorg-server/xkeyboard-config/symbols/bd
index 6a70d51a7..0fe144e8b 100644
--- a/xorg-server/xkeyboard-config/symbols/bd
+++ b/xorg-server/xkeyboard-config/symbols/bd
@@ -16,7 +16,7 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Bengali";
+ name[Group1]= "Bangla";
key <ESC> { [ Escape ] };
// numbers
@@ -92,5 +92,5 @@ xkb_symbols "basic" {
xkb_symbols "probhat" {
include "in(ben_probhat)"
- name[Group1]= "Bengali (Probhat)";
+ name[Group1]= "Bangla (Probhat)";
};
diff --git a/xorg-server/xkeyboard-config/symbols/bg b/xorg-server/xkeyboard-config/symbols/bg
index 994380c80..f44b5c60d 100644
--- a/xorg-server/xkeyboard-config/symbols/bg
+++ b/xorg-server/xkeyboard-config/symbols/bg
@@ -5,12 +5,12 @@
// both in source and binary form provided that the above copyright
// notice and these terms are retained. The name of the author may not
// be used to endorse or promote products derived from this software
-// without prior permission. THIS SOFTWARE IS PROVIDES "AS IS" AND
+// without prior permission. THIS SOFTWARE IS PROVIDED "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED. IN NO EVENT
// SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES ARISING IN ANY WAY OUT
// OF THE USE OF THIS SOFTWARE.
//
-//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
// Version 2.0
// The following variants are defined in this file:
@@ -18,14 +18,14 @@
// "bds" - the BDS keyboard layout compliant with the proposed
// Bulgarian state standard BDS 5237:2006
-// "phonetic" - Bulgarian phonetic layout with traditional position of
-// the letters.
+// "phonetic" - the phonetic Bulgarian layout with the traditional position
+// of the letters
// "bas_phonetic" - the phonetic keyboard layout compliant with the
// proposed Bulgarian state standard BDS 5237:2006
-// "latin" - an extended variant of the QWERTY layout with symbols
-// Bulgarian users will type while the keyboard is in Latin mode.
+// "latin" - an extended variant of the QWERTY layout with symbols that
+// Bulgarian users will type while the keyboard is in Latin mode
// The reasons behind the layout of the symbols in levels 3 and 4 are
// explained in http://arxiv.org/abs/0905.0484 (in Bulgarian).
@@ -39,7 +39,7 @@
// 2. The layouts should not include level3(ralt_switch).
-//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
// Describes Bulgarian keyboard "BDS" modified according to the
// the new state standard BDS 5237:2006 and extended with symbols in
@@ -48,314 +48,204 @@ default partial alphanumeric_keys
xkb_symbols "bds" {
name[Group1]= "Bulgarian";
-
- key <TLDE> { [ parenleft, parenright,
- bracketleft, bracketright ] };
- key <AE01> { [ 1, exclam ] };
- key <AE02> { [ 2, question ] };
- key <AE03> { [ 3, plus,
- dagger, dagger ] };
- key <AE04> { [ 4, quotedbl ] };
- key <AE05> { [ 5, percent,
- U2329, U232A ] };
- key <AE06> { [ 6, equal,
- emdash, emdash ] };
- key <AE07> { [ 7, colon,
- ellipsis, ellipsis ] };
- key <AE08> { [ 8, slash,
- U0300, U0301 ] };
- key <AE09> { [ 9, endash ] };
- key <AE10> { [ 0, numerosign ] };
- key <AE11> { [ minus, dollar,
- U2011, EuroSign ] };
- key <AE12> { [ period, EuroSign ] };
-
-
- key <AD01> { [ comma, Cyrillic_yeru,
- rightsinglequotemark, leftsinglequotemark ] };
- key <AD02> { [ Cyrillic_u, Cyrillic_U ] };
- key <AD03> { [ Cyrillic_ie, Cyrillic_IE,
- Cyrillic_e, Cyrillic_E ] };
- key <AD04> { [ Cyrillic_i, Cyrillic_I,
- U045D, U040D ] };
- key <AD05> { [ Cyrillic_sha, Cyrillic_SHA ] };
- key <AD06> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
- key <AD07> { [ Cyrillic_ka, Cyrillic_KA,
- copyright, copyright ] };
- key <AD08> { [ Cyrillic_es, Cyrillic_ES,
- copyright, copyright ] };
- key <AD09> { [ Cyrillic_de, Cyrillic_DE ] };
- key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
- key <AD11> { [ Cyrillic_tse, Cyrillic_TSE ] };
- key <AD12> { [ semicolon, section ] };
-
-
- key <AC01> { [ Cyrillic_softsign, U045D,
- Cyrillic_yeru, Cyrillic_YERU ] };
- key <AC02> { [ Cyrillic_ya, Cyrillic_YA,
- U0463, U0462 ] };
- key <AC03> { [ Cyrillic_a, Cyrillic_A ] };
- key <AC04> { [ Cyrillic_o, Cyrillic_O ] };
- key <AC05> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
- key <AC06> { [ Cyrillic_ghe, Cyrillic_GHE ] };
- key <AC07> { [ Cyrillic_te, Cyrillic_TE,
- trademark, trademark ] };
- key <AC08> { [ Cyrillic_en, Cyrillic_EN ] };
- key <AC09> { [ Cyrillic_ve, Cyrillic_VE ] };
- key <AC10> { [ Cyrillic_em, Cyrillic_EM ] };
- key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] };
- key <BKSL> { [ doublelowquotemark, leftdoublequotemark,
- guillemotleft, guillemotright ] };
-
-
- key <LSGT> { [ U045D, U040D ] };
- key <AB01> { [ Cyrillic_yu, Cyrillic_YU ] };
- key <AB02> { [ Cyrillic_shorti, Cyrillic_SHORTI,
- U046D, U046C ] };
- key <AB03> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,
- U046B, U046A ] };
- key <AB04> { [ Cyrillic_e, Cyrillic_E ] };
- key <AB05> { [ Cyrillic_ef, Cyrillic_EF ] };
- key <AB06> { [ Cyrillic_ha, Cyrillic_HA ] };
- key <AB07> { [ Cyrillic_pe, Cyrillic_PE ] };
- key <AB08> { [ Cyrillic_er, Cyrillic_ER,
- registered, registered ] };
- key <AB09> { [ Cyrillic_el, Cyrillic_EL ] };
- key <AB10> { [ Cyrillic_be, Cyrillic_BE ] };
-
-
- key <SPCE> { [ space, space,
- nobreakspace, nobreakspace ] };
-
-
- key <KPDL> { type[Group1] = "KEYPAD",
- [ KP_Delete, KP_Separator ] };
+
+ key <TLDE> {[ parenleft, parenright, bracketleft, bracketright ]};
+ key <AE01> {[ 1, exclam ]};
+ key <AE02> {[ 2, question ]};
+ key <AE03> {[ 3, plus, dagger, dagger ]};
+ key <AE04> {[ 4, quotedbl ]};
+ key <AE05> {[ 5, percent, U2329, U232A ]};
+ key <AE06> {[ 6, equal, emdash, emdash ]};
+ key <AE07> {[ 7, colon, ellipsis, ellipsis ]};
+ key <AE08> {[ 8, slash, U0300, U0301 ]};
+ key <AE09> {[ 9, endash ]};
+ key <AE10> {[ 0, numerosign ]};
+ key <AE11> {[ minus, dollar, U2011, EuroSign ]};
+ key <AE12> {[ period, EuroSign ]};
+
+ key <AD01> {[ comma, Cyrillic_yeru, rightsinglequotemark, leftsinglequotemark ]};
+ key <AD02> {[ Cyrillic_u, Cyrillic_U ]};
+ key <AD03> {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]};
+ key <AD04> {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]};
+ key <AD05> {[ Cyrillic_sha, Cyrillic_SHA ]};
+ key <AD06> {[ Cyrillic_shcha, Cyrillic_SHCHA ]};
+ key <AD07> {[ Cyrillic_ka, Cyrillic_KA, copyright, copyright ]};
+ key <AD08> {[ Cyrillic_es, Cyrillic_ES, copyright, copyright ]};
+ key <AD09> {[ Cyrillic_de, Cyrillic_DE ]};
+ key <AD10> {[ Cyrillic_ze, Cyrillic_ZE ]};
+ key <AD11> {[ Cyrillic_tse, Cyrillic_TSE ]};
+ key <AD12> {[ semicolon, section ]};
+
+ key <AC01> {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]};
+ key <AC02> {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]};
+ key <AC03> {[ Cyrillic_a, Cyrillic_A ]};
+ key <AC04> {[ Cyrillic_o, Cyrillic_O ]};
+ key <AC05> {[ Cyrillic_zhe, Cyrillic_ZHE ]};
+ key <AC06> {[ Cyrillic_ghe, Cyrillic_GHE ]};
+ key <AC07> {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]};
+ key <AC08> {[ Cyrillic_en, Cyrillic_EN ]};
+ key <AC09> {[ Cyrillic_ve, Cyrillic_VE ]};
+ key <AC10> {[ Cyrillic_em, Cyrillic_EM ]};
+ key <AC11> {[ Cyrillic_che, Cyrillic_CHE ]};
+ key <BKSL> {[ doublelowquotemark, leftdoublequotemark, guillemotleft, guillemotright ]};
+
+ key <LSGT> {[ U045D, U040D ]};
+ key <AB01> {[ Cyrillic_yu, Cyrillic_YU ]};
+ key <AB02> {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]};
+ key <AB03> {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]};
+ key <AB04> {[ Cyrillic_e, Cyrillic_E ]};
+ key <AB05> {[ Cyrillic_ef, Cyrillic_EF ]};
+ key <AB06> {[ Cyrillic_ha, Cyrillic_HA ]};
+ key <AB07> {[ Cyrillic_pe, Cyrillic_PE ]};
+ key <AB08> {[ Cyrillic_er, Cyrillic_ER, registered, registered ]};
+ key <AB09> {[ Cyrillic_el, Cyrillic_EL ]};
+ key <AB10> {[ Cyrillic_be, Cyrillic_BE ]};
+
+ key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
+
+ key <KPDL> { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]};
};
-// This is improved variant of the traditional Bulgarian phonetic
+// This is an improved variant of the traditional Bulgarian phonetic
// keyboard. Some unnecessary symbols in levels 1 and 2 are replaced
-// by more useful (the same way as in "bas_phonetic") and additional
-// symbols in levels 3 and 4 are added.
-partial alphanumeric_keys
+// by more useful ones (similar as in "bas_phonetic") and additional
+// symbols are added in levels 3 and 4.
+partial alphanumeric_keys
xkb_symbols "phonetic" {
name[Group1]= "Bulgarian (traditional phonetic)";
-
- key <TLDE> { [ Cyrillic_che, Cyrillic_CHE ] };
- key <AE01> { [ 1, exclam ] };
- key <AE02> { [ 2, at ] };
- key <AE03> { [ 3, numerosign ] };
- key <AE04> { [ 4, dollar,
- EuroSign, EuroSign ] };
- key <AE05> { [ 5, percent ] };
- key <AE06> { [ 6, EuroSign ] };
- key <AE07> { [ 7, section ] };
- key <AE08> { [ 8, asterisk ] };
- key <AE09> { [ 9, parenleft,
- bracketleft, U2329 ] };
- key <AE10> { [ 0, parenright,
- bracketright, U232A ] };
- key <AE11> { [ minus, endash,
- U2011, U2011 ] };
- key <AE12> { [ equal, plus,
- emdash, dagger ] };
-
- key <AD01> { [ Cyrillic_ya, Cyrillic_YA,
- U0463, U0462 ] };
- key <AD02> { [ Cyrillic_ve, Cyrillic_VE ] };
- key <AD03> { [ Cyrillic_ie, Cyrillic_IE,
- Cyrillic_e, Cyrillic_E ] };
- key <AD04> { [ Cyrillic_er, Cyrillic_ER,
- registered, registered ] };
- key <AD05> { [ Cyrillic_te, Cyrillic_TE,
- trademark, trademark ] };
- key <AD06> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,
- U046B, U046A ] };
- key <AD07> { [ Cyrillic_u, Cyrillic_U ] };
- key <AD08> { [ Cyrillic_i, Cyrillic_I,
- U045D, U040D ] };
- key <AD09> { [ Cyrillic_o, Cyrillic_O ] };
- key <AD10> { [ Cyrillic_pe, Cyrillic_PE ] };
- key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
- key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
-
-
- key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
- key <AC02> { [ Cyrillic_es, Cyrillic_ES,
- copyright, copyright ] };
- key <AC03> { [ Cyrillic_de, Cyrillic_DE ] };
- key <AC04> { [ Cyrillic_ef, Cyrillic_EF ] };
- key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ] };
- key <AC06> { [ Cyrillic_ha, Cyrillic_HA ] };
- key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI,
- U046D, U046C ] };
- key <AC08> { [ Cyrillic_ka, Cyrillic_KA ] };
- key <AC09> { [ Cyrillic_el, Cyrillic_EL ] };
- key <AC10> { [ semicolon, colon,
- ellipsis, ellipsis ] };
- key <AC11> { [ apostrophe, quotedbl,
- rightsinglequotemark, leftsinglequotemark ] };
- key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
-
-
- key <LSGT> { [ U045D, U040D ] };
- key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] };
- key <AB02> { [ Cyrillic_softsign, U045D,
- Cyrillic_yeru, Cyrillic_YERU ] };
- key <AB03> { [ Cyrillic_tse, Cyrillic_TSE,
- copyright, copyright ] };
- key <AB04> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
- key <AB05> { [ Cyrillic_be, Cyrillic_BE ] };
- key <AB06> { [ Cyrillic_en, Cyrillic_EN ] };
- key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
- key <AB08> { [ comma, doublelowquotemark,
- guillemotleft, guillemotleft ] };
- key <AB09> { [ period, leftdoublequotemark,
- guillemotright, guillemotright ] };
- key <AB10> { [ slash, question,
- U0300, U0301 ] };
-
-
- key <SPCE> { [ space, space,
- nobreakspace, nobreakspace ] };
-
-
- key <KPDL> { type[Group1] = "KEYPAD",
- [ KP_Delete, KP_Separator ] };
+ key <TLDE> {[ Cyrillic_che, Cyrillic_CHE ]};
+ key <AE01> {[ 1, exclam ]};
+ key <AE02> {[ 2, at ]};
+ key <AE03> {[ 3, numerosign ]};
+ key <AE04> {[ 4, dollar, EuroSign, EuroSign ]};
+ key <AE05> {[ 5, percent ]};
+ key <AE06> {[ 6, EuroSign ]};
+ key <AE07> {[ 7, section ]};
+ key <AE08> {[ 8, asterisk ]};
+ key <AE09> {[ 9, parenleft, bracketleft, U2329 ]};
+ key <AE10> {[ 0, parenright, bracketright, U232A ]};
+ key <AE11> {[ minus, endash, U2011, U2011 ]};
+ key <AE12> {[ equal, plus, emdash, dagger ]};
+
+ key <AD01> {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]};
+ key <AD02> {[ Cyrillic_ve, Cyrillic_VE ]};
+ key <AD03> {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]};
+ key <AD04> {[ Cyrillic_er, Cyrillic_ER, registered, registered ]};
+ key <AD05> {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]};
+ key <AD06> {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]};
+ key <AD07> {[ Cyrillic_u, Cyrillic_U ]};
+ key <AD08> {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]};
+ key <AD09> {[ Cyrillic_o, Cyrillic_O ]};
+ key <AD10> {[ Cyrillic_pe, Cyrillic_PE ]};
+ key <AD11> {[ Cyrillic_sha, Cyrillic_SHA ]};
+ key <AD12> {[ Cyrillic_shcha, Cyrillic_SHCHA ]};
+
+ key <AC01> {[ Cyrillic_a, Cyrillic_A ]};
+ key <AC02> {[ Cyrillic_es, Cyrillic_ES, copyright, copyright ]};
+ key <AC03> {[ Cyrillic_de, Cyrillic_DE ]};
+ key <AC04> {[ Cyrillic_ef, Cyrillic_EF ]};
+ key <AC05> {[ Cyrillic_ghe, Cyrillic_GHE ]};
+ key <AC06> {[ Cyrillic_ha, Cyrillic_HA ]};
+ key <AC07> {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]};
+ key <AC08> {[ Cyrillic_ka, Cyrillic_KA ]};
+ key <AC09> {[ Cyrillic_el, Cyrillic_EL ]};
+ key <AC10> {[ semicolon, colon, ellipsis, ellipsis ]};
+ key <AC11> {[ apostrophe, quotedbl, rightsinglequotemark, leftsinglequotemark ]};
+ key <BKSL> {[ Cyrillic_yu, Cyrillic_YU ]};
+
+ key <LSGT> {[ U045D, U040D ]};
+ key <AB01> {[ Cyrillic_ze, Cyrillic_ZE ]};
+ key <AB02> {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]};
+ key <AB03> {[ Cyrillic_tse, Cyrillic_TSE, copyright, copyright ]};
+ key <AB04> {[ Cyrillic_zhe, Cyrillic_ZHE ]};
+ key <AB05> {[ Cyrillic_be, Cyrillic_BE ]};
+ key <AB06> {[ Cyrillic_en, Cyrillic_EN ]};
+ key <AB07> {[ Cyrillic_em, Cyrillic_EM ]};
+ key <AB08> {[ comma, doublelowquotemark, guillemotleft, guillemotleft ]};
+ key <AB09> {[ period, leftdoublequotemark, guillemotright, guillemotright ]};
+ key <AB10> {[ slash, question, U0300, U0301 ]};
+
+ key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
+
+ key <KPDL> { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]};
};
-// This is the Bulgarian phonetic keyboard acording to the proposed
-// state standard BDS 5237:2006 with additional symbols in
-// levels 3 and 4.
-partial alphanumeric_keys
+// This is the Bulgarian phonetic keyboard according to the proposed
+// state standard BDS 5237:2006 with additional symbols in levels 3 and 4.
+partial alphanumeric_keys
xkb_symbols "bas_phonetic" {
include "bg(phonetic)"
name[Group1]= "Bulgarian (new phonetic)";
-
- key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
- key <AD01> { [ Cyrillic_che, Cyrillic_CHE ] };
- key <AD02> { [ Cyrillic_sha, Cyrillic_SHA ] };
- key <AD11> { [ Cyrillic_ya, Cyrillic_YA,
- U0463, U0462 ] };
- key <BKSL> { [ Cyrillic_softsign, U045D,
- Cyrillic_yeru, Cyrillic_YERU ] };
- key <AB02> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
- key <AB04> { [ Cyrillic_ve, Cyrillic_VE ] };
+
+ key <TLDE> {[ Cyrillic_yu, Cyrillic_YU ]};
+ key <AD01> {[ Cyrillic_che, Cyrillic_CHE ]};
+ key <AD02> {[ Cyrillic_sha, Cyrillic_SHA ]};
+ key <AD11> {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]};
+ key <BKSL> {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]};
+ key <AB02> {[ Cyrillic_zhe, Cyrillic_ZHE ]};
+ key <AB04> {[ Cyrillic_ve, Cyrillic_VE ]};
};
-// This is extended variant of the standard Latin QWERTY layout with
+// This is an extended variant of the standard Latin QWERTY layout with
// additional symbols in levels 3 and 4.
-partial hidden alphanumeric_keys
+partial hidden alphanumeric_keys
xkb_symbols "latin" {
-
- key <TLDE> { [ grave, asciitilde,
- U2248, U2245 ] };
- key <AE01> { [ 1, exclam,
- notsign, notsign ] };
- key <AE02> { [ 2, at,
- twosuperior, enfilledcircbullet ] };
- key <AE03> { [ 3, numbersign,
- threesuperior, notequal ] };
- key <AE04> { [ 4, dollar,
- EuroSign, sterling ] };
- key <AE05> { [ 5, percent,
- U2030, U2030 ] };
- key <AE06> { [ 6, asciicircum,
- logicaland, logicalor ] };
- key <AE07> { [ 7, ampersand,
- section, section ] };
- key <AE08> { [ 8, asterisk,
- infinity, multiply ] };
- key <AE09> { [ 9, parenleft,
- U2202, nabla ] };
- key <AE10> { [ 0, parenright,
- U2300, U2300 ] };
- key <AE11> { [ minus, underscore,
- U2011, endash ] };
- key <AE12> { [ equal, plus,
- emdash, plusminus ] };
-
-
- key <AD01> { [ q, Q,
- Greek_THETA, Greek_theta ] };
- key <AD02> { [ w, W,
- Greek_OMEGA, Greek_omega ] };
- key <AD03> { [ e, E,
- U2203, Greek_epsilon ] };
- key <AD04> { [ r, R,
- registered, Greek_rho ] };
- key <AD05> { [ t, T,
- trademark, Greek_tau ] };
- key <AD06> { [ y, Y,
- yen, Greek_upsilon ] };
- key <AD07> { [ u, U,
- intersection, union ] };
- key <AD08> { [ i, I,
- integral, Greek_iota ] };
- key <AD09> { [ o, O,
- degree, U222E ] };
- key <AD10> { [ p, P,
- Greek_PI, Greek_pi ] };
- key <AD11> { [ bracketleft, braceleft,
- U2286, includedin ] };
- key <AD12> { [ bracketright, braceright,
- U2208, U2209 ] };
-
-
- key <AC01> { [ a, A,
- U2200, Greek_alpha ] };
- key <AC02> { [ s, S,
- Greek_SIGMA, Greek_sigma ] };
- key <AC03> { [ d, D,
- Greek_DELTA, Greek_delta ] };
- key <AC04> { [ f, F,
- Greek_PHI, Greek_phi ] };
- key <AC05> { [ g, G,
- Greek_GAMMA, Greek_gamma ] };
- key <AC06> { [ h, H,
- U2225, Greek_eta ] };
- key <AC07> { [ j, J ] };
- key <AC08> { [ k, K,
- U03F0, Greek_kappa ] };
- key <AC09> { [ l, L,
- Greek_LAMBDA, Greek_lambda ] };
- key <AC10> { [ semicolon, colon,
- division, division ] };
- key <AC11> { [ apostrophe, quotedbl,
- leftdoublequotemark, rightdoublequotemark ] };
- key <BKSL> { [ backslash, bar,
- identical, downtack ] };
-
-
- key <LSGT> { [ less, greater,
- U2266, U2267 ] };
- key <AB01> { [ z, Z,
- U2220, Greek_zeta ] };
- key <AB02> { [ x, X,
- Greek_XI, Greek_xi ] };
- key <AB03> { [ c, C,
- copyright, Greek_chi ] };
- key <AB04> { [ v, V,
- Greek_PSI, Greek_psi ] };
- key <AB05> { [ b, B,
- U03D1, Greek_beta ] };
- key <AB06> { [ n, N,
- U207F, Greek_nu ] };
- key <AB07> { [ m, M,
- Greek_mu, Greek_mu ] };
- key <AB08> { [ comma, less,
- U2266, U21D4 ] };
- key <AB09> { [ period, greater,
- U2267, U21D2 ] };
- key <AB10> { [ slash, question,
- leftsinglequotemark, rightsinglequotemark ] };
-
-
- key <SPCE> { [ space, space,
- nobreakspace, nobreakspace ] };
-
-
- key <KPDL> { type[Group1] = "KEYPAD",
- [ KP_Delete, KP_Decimal ] };
+
+ key <TLDE> {[ grave, asciitilde, U2248, U2245 ]};
+ key <AE01> {[ 1, exclam, notsign, notsign ]};
+ key <AE02> {[ 2, at, twosuperior, enfilledcircbullet ]};
+ key <AE03> {[ 3, numbersign, threesuperior, notequal ]};
+ key <AE04> {[ 4, dollar, EuroSign, sterling ]};
+ key <AE05> {[ 5, percent, U2030, U2030 ]};
+ key <AE06> {[ 6, asciicircum, logicaland, logicalor ]};
+ key <AE07> {[ 7, ampersand, section, section ]};
+ key <AE08> {[ 8, asterisk, infinity, multiply ]};
+ key <AE09> {[ 9, parenleft, U2202, nabla ]};
+ key <AE10> {[ 0, parenright, U2300, U2300 ]};
+ key <AE11> {[ minus, underscore, U2011, endash ]};
+ key <AE12> {[ equal, plus, emdash, plusminus ]};
+
+ key <AD01> {[ q, Q, Greek_THETA, Greek_theta ]};
+ key <AD02> {[ w, W, Greek_OMEGA, Greek_omega ]};
+ key <AD03> {[ e, E, U2203, Greek_epsilon ]};
+ key <AD04> {[ r, R, registered, Greek_rho ]};
+ key <AD05> {[ t, T, trademark, Greek_tau ]};
+ key <AD06> {[ y, Y, yen, Greek_upsilon ]};
+ key <AD07> {[ u, U, intersection, union ]};
+ key <AD08> {[ i, I, integral, Greek_iota ]};
+ key <AD09> {[ o, O, degree, U222E ]};
+ key <AD10> {[ p, P, Greek_PI, Greek_pi ]};
+ key <AD11> {[ bracketleft, braceleft, U2286, includedin ]};
+ key <AD12> {[ bracketright, braceright, U2208, U2209 ]};
+
+ key <AC01> {[ a, A, U2200, Greek_alpha ]};
+ key <AC02> {[ s, S, Greek_SIGMA, Greek_sigma ]};
+ key <AC03> {[ d, D, Greek_DELTA, Greek_delta ]};
+ key <AC04> {[ f, F, Greek_PHI, Greek_phi ]};
+ key <AC05> {[ g, G, Greek_GAMMA, Greek_gamma ]};
+ key <AC06> {[ h, H, U2225, Greek_eta ]};
+ key <AC07> {[ j, J ]};
+ key <AC08> {[ k, K, U03F0, Greek_kappa ]};
+ key <AC09> {[ l, L, Greek_LAMBDA, Greek_lambda ]};
+ key <AC10> {[ semicolon, colon, division, division ]};
+ key <AC11> {[ apostrophe, quotedbl, leftdoublequotemark, rightdoublequotemark]};
+ key <BKSL> {[ backslash, bar, identical, downtack ]};
+
+ key <LSGT> {[ less, greater, U2266, U2267 ]};
+ key <AB01> {[ z, Z, U2220, Greek_zeta ]};
+ key <AB02> {[ x, X, Greek_XI, Greek_xi ]};
+ key <AB03> {[ c, C, copyright, Greek_chi ]};
+ key <AB04> {[ v, V, Greek_PSI, Greek_psi ]};
+ key <AB05> {[ b, B, U03D1, Greek_beta ]};
+ key <AB06> {[ n, N, U207F, Greek_nu ]};
+ key <AB07> {[ m, M, Greek_mu, Greek_mu ]};
+ key <AB08> {[ comma, less, U2266, U21D4 ]};
+ key <AB09> {[ period, greater, U2267, U21D2 ]};
+ key <AB10> {[ slash, question, leftsinglequotemark, rightsinglequotemark]};
+
+ key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
+
+ key <KPDL> { type[Group1] = "KEYPAD", [ KP_Delete, KP_Decimal ]};
};
diff --git a/xorg-server/xkeyboard-config/symbols/bt b/xorg-server/xkeyboard-config/symbols/bt
index c02505e98..e53942107 100644
--- a/xorg-server/xkeyboard-config/symbols/bt
+++ b/xorg-server/xkeyboard-config/symbols/bt
@@ -18,7 +18,7 @@ xkb_symbols "basic" {
name[Group1]= "Dzongkha";
key <TLDE> { [ 0x1000F09, 0x1000F0A, 0x1000F6C, 0x1000F6D ] };
-
+
// numbers e.a.
key <AE01> { [ 0x1000F21, 0x1000F04, 1, exclam ] };
key <AE02> { [ 0x1000F22, 0x1000F05, 2, at ] };
@@ -63,7 +63,7 @@ xkb_symbols "basic" {
key <AC09> { [ 0x1000F59, 0x1000FA9, 0x1000F39, VoidSymbol ] };
key <AC10> { [ 0x1000F5A, 0x1000FAA, colon, semicolon ] };
key <AC11> { [ 0x1000F5B, 0x1000FAB, apostrophe, quotedbl ] };
-
+
// TODO: BKSL and LSGT are from gb layout, are there any variants?
key <BKSL> { [ 0x1000F5D, 0x1000FAD, backslash, 0x1000FBA ] };
key <LSGT> { [ 0x1000F0D, 0x1000F11, 0x1000F10, 0x1000F0F ] };
diff --git a/xorg-server/xkeyboard-config/symbols/bw b/xorg-server/xkeyboard-config/symbols/bw
index 48de2e2df..ab14cc7d8 100644
--- a/xorg-server/xkeyboard-config/symbols/bw
+++ b/xorg-server/xkeyboard-config/symbols/bw
@@ -4,7 +4,7 @@ xkb_symbols "tswana" {
include "us"
name[Group1]= "Tswana";
-
+
key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
key <TLDE> { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; //COMBINING GRAVE ACCENT, COMBINING TILDE
diff --git a/xorg-server/xkeyboard-config/symbols/by b/xorg-server/xkeyboard-config/symbols/by
index 00ecd6a8d..d82bcf57e 100644
--- a/xorg-server/xkeyboard-config/symbols/by
+++ b/xorg-server/xkeyboard-config/symbols/by
@@ -19,7 +19,7 @@ partial alphanumeric_keys
xkb_symbols "legacy" {
include "by(basic)"
name[Group1]= "Belarusian (legacy)";
-
+
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, asterisk ] };
key <AE05> { [ 5, colon ] };
@@ -36,7 +36,7 @@ partial alphanumeric_keys
xkb_symbols "latin" {
include "latin"
name[Group1]= "Belarusian (Latin)";
-
+
key <AD02> { [ w, W, scaron, Scaron ] };
key <AD07> { [ u, U, ubreve, Ubreve ] };
key <AC02> { [ s, S, sacute, Sacute ] };
@@ -46,6 +46,6 @@ xkb_symbols "latin" {
key <AB03> { [ c, C, cacute, Cacute ] };
key <AB04> { [ v, V, ccaron, Ccaron ] };
key <AB06> { [ n, N, nacute, Nacute ] };
-
+
include "level3(ralt_switch)"
};
diff --git a/xorg-server/xkeyboard-config/symbols/ca b/xorg-server/xkeyboard-config/symbols/ca
index c4d37ad5c..abfbbd9f7 100644
--- a/xorg-server/xkeyboard-config/symbols/ca
+++ b/xorg-server/xkeyboard-config/symbols/ca
@@ -266,7 +266,7 @@ xkb_symbols "multi-2gr" {
// Inuktitut keyboard for X11
// written by Pablo Saratxaga <pablo@mandrakesoft.com>
-alphanumeric_keys
+alphanumeric_keys
xkb_symbols "ike" {
name[Group1]= "Inuktitut";
@@ -453,18 +453,18 @@ xkb_symbols "multix" {
xkb_symbols "olpc" {
include "ca(fr)"
-
+
key <AE02> { [ 2, quotedbl, ograve, Ograve ] };
key <AE03> { [ 3, slash, at, VoidSymbol ] };
-
+
key <AD03> { [ e, E, EuroSign, VoidSymbol] };
-
+
key <AB09> { [ period, period, 0x1002010 ] };
-
+
key <I219> { [ guillemotleft, guillemotright, degree, VoidSymbol ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "eng" {
name[Group1] = "English (Canada)";
include "us(basic)"
@@ -472,7 +472,7 @@ xkb_symbols "eng" {
// EXTRAS:
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "kut" {
// Ejective U0313 and acute accents are taken from shs layout.
@@ -501,7 +501,7 @@ xkb_symbols "kut" {
// Secwepemctsin keyboard for X11
// written by Neskie Manuel <neskiem@gmail.com>
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "shs" {
include "us"
diff --git a/xorg-server/xkeyboard-config/symbols/capslock b/xorg-server/xkeyboard-config/symbols/capslock
index 337c5efd2..928d79a3e 100644
--- a/xorg-server/xkeyboard-config/symbols/capslock
+++ b/xorg-server/xkeyboard-config/symbols/capslock
@@ -68,7 +68,7 @@ xkb_symbols "ctrl_modifier" {
replace key <CAPS> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Caps_Lock ],
- actions[Group1] = [ SetMods(modifiers=Control) ]
+ actions[Group1] = [ SetMods(modifiers=Control) ]
};
modifier_map Control { <CAPS> };
};
diff --git a/xorg-server/xkeyboard-config/symbols/ch b/xorg-server/xkeyboard-config/symbols/ch
index 54663f1fa..62c69f958 100644
--- a/xorg-server/xkeyboard-config/symbols/ch
+++ b/xorg-server/xkeyboard-config/symbols/ch
@@ -36,7 +36,7 @@ xkb_symbols "basic" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "legacy" {
include "ch(basic)"
@@ -44,12 +44,12 @@ xkb_symbols "legacy" {
key <AE07> { [ 7, slash, brokenbar ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "de" {
include "ch(basic)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "de_Sundeadkeys" {
// modify the basic Swiss German layout to use Sun dead keys
include "ch(basic)"
@@ -58,13 +58,13 @@ xkb_symbols "de_Sundeadkeys" {
key <AD12> { [ dead_diaeresis, exclam, bracketright ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "de_sundeadkeys" {
include "ch(de_Sundeadkeys)"
name[Group1]= "German (Switzerland, Sun dead keys)";
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "de_nodeadkeys" {
// modify the basic Swiss German layout not to have any dead keys
include "ch(basic)"
@@ -74,7 +74,7 @@ xkb_symbols "de_nodeadkeys" {
key <AD12> { [ diaeresis, exclam, bracketright ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "fr" {
include "ch(basic)"
@@ -123,7 +123,7 @@ xkb_symbols "fr_nodeadkeys" {
partial alphanumeric_keys
xkb_symbols "de_mac" {
-
+
name[Group1]= "German (Switzerland, Macintosh)";
key <AE01> { [ 1, plus, plusminus, infinity ] };
@@ -143,7 +143,7 @@ xkb_symbols "de_mac" {
key <AD02> { [ w, W, Greek_SIGMA, Aacute ] };
key <AD03> { [ e, E, EuroSign, Ediaeresis ] };
key <AD04> { [ r, R, registered, Egrave ] };
- key <AD05> { [ t, T, dagger, Icircumflex ] };
+ key <AD05> { [ t, T, dagger, Icircumflex ] };
key <AD06> { [ z, Z, Greek_OMEGA, Iacute ] };
key <AD07> { [ u, U, degree, Ugrave ] };
key <AD08> { [ i, I, exclamdown, idotless ] };
@@ -152,7 +152,7 @@ xkb_symbols "de_mac" {
key <AD11> { [ udiaeresis, egrave, section, ydiaeresis ] };
key <AD12> { [ dead_diaeresis, exclam, grave, apostrophe ] };
key <AC01> { [ a, A, aring, Aring ] };
- key <AC02> { [ s, S, ssharp, NoSymbol ] };
+ key <AC02> { [ s, S, ssharp, NoSymbol ] };
// ligature fl
key <AC03> { [ d, D, Greek_sigma, NoSymbol ] };
// partialderivative is not available here att
@@ -168,7 +168,7 @@ xkb_symbols "de_mac" {
key <AB02> { [ x, X, similarequal, trademark ] };
key <AB03> { [ c, C, copyright, NoSymbol ] };
key <AB04> { [ v, V, radical, diamond ] };
- key <AB05> { [ b, B, integral, NoSymbol ] };
+ key <AB05> { [ b, B, integral, NoSymbol ] };
key <AB06> { [ n, N, dead_tilde, enopencircbullet ] };
// to be fixed att
key <AB07> { [ m, M, mu, dead_abovering ] };
@@ -186,7 +186,7 @@ xkb_symbols "de_mac" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "fr_mac" {
include "ch(de_mac)"
diff --git a/xorg-server/xkeyboard-config/symbols/cn b/xorg-server/xkeyboard-config/symbols/cn
index 8c2ffe422..6b6562dbc 100644
--- a/xorg-server/xkeyboard-config/symbols/cn
+++ b/xorg-server/xkeyboard-config/symbols/cn
@@ -58,7 +58,7 @@ xkb_symbols "basic" {
// you and maybe they'll find a fix. You won't notice it unless you're
// fast at typing Tibetan anyway.
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "tib" {
name[Group1]= "Tibetan";
@@ -113,7 +113,7 @@ xkb_symbols "tib" {
key <AB08> { [ 0x1000f50, 0x1000f4b, 0x1000fa0, 0x1000f9b ] }; # ཐ ཋ ྠ ྛ
key <AB09> { [ 0x1000f47, 0x1000f3a, 0x1000f97, 0x1000f8b ] }; # ཇ ༺ ྗ ྋ
key <AB10> { [ 0x1000f49, 0x1000f3b, 0x1000f99, 0x1000f8a ] }; # ཉ ༻ ྙ ྊ
-
+
};
// Tibetan Standard Keyboard with ASCII numerals
@@ -131,7 +131,7 @@ xkb_symbols "tib" {
// email addresses are not possible.) This mapping may change in the future
// if a clearly better use for the shifted numerals is pointed out by users.
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "tib_asciinum" {
include "cn(tib)"
diff --git a/xorg-server/xkeyboard-config/symbols/ctrl b/xorg-server/xkeyboard-config/symbols/ctrl
index ca019ec7d..785777cfe 100644
--- a/xorg-server/xkeyboard-config/symbols/ctrl
+++ b/xorg-server/xkeyboard-config/symbols/ctrl
@@ -1,57 +1,80 @@
// Eliminate CapsLock, making it another Ctrl.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "nocaps" {
- replace key <CAPS> { [ Control_L, Control_L ] };
+ replace key <CAPS> { [ Control_L, Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
};
// Make the left Ctrl key a left Meta.
xkb_symbols "lctrl_meta" {
- replace key <LCTL> { [ Meta_L ] };
+ replace key <LCTL> { [ Meta_L ] };
};
// Swap the functions of the CapsLock key and the left Ctrl key.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "swapcaps" {
- replace key <CAPS> { [ Control_L ] };
- replace key <LCTL> { [ Caps_Lock ] };
+ replace key <CAPS> { [ Control_L ] };
+ replace key <LCTL> { [ Caps_Lock ] };
};
// Move Ctrl to the leftmost key on the middle row and CapsLock to the
// leftmost key on the bottom row. Only works if the geometry or keycodes
// file has defined appropriate aliases for the keys in question.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "ac_ctrl" {
- replace key <AC00> { [ Control_L ] };
- replace key <AA00> { [ Caps_Lock ] };
+ replace key <AC00> { [ Control_L ] };
+ replace key <AA00> { [ Caps_Lock ] };
};
// Move Ctrl to the leftmost key on the bottom row and CapsLock to the
// leftmost key on the middle row. Only works if the geometry or keycodes
// file has defined appropriate aliases for the keys in question.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "aa_ctrl" {
- replace key <AA00> { [ Control_L ] };
- replace key <AC00> { [ Caps_Lock ] };
+ replace key <AA00> { [ Control_L ] };
+ replace key <AC00> { [ Caps_Lock ] };
};
// Right Ctrl key functions as another right Alt.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "rctrl_ralt" {
- key <RCTL> { symbols[Group1]= [ Alt_R ] };
+ key <RCTL> { symbols[Group1]= [ Alt_R ] };
};
// Menu key functions as another right Ctrl.
partial modifier_keys
xkb_symbols "menu_rctrl" {
- replace key <MENU> { [ Control_R, Control_R ] };
+ replace key <MENU> { [ Control_R, Control_R ] };
modifier_map Control { Control_L, <MENU> };
};
// Right Alt key functions as another right Ctrl.
-partial modifier_keys
+partial modifier_keys
xkb_symbols "ralt_rctrl" {
replace key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Control_R, Control_R ] };
- modifier_map Control { <RALT> };
+ modifier_map Control { <RALT> };
+};
+
+// Swap the functions of the left Alt key and the left Ctrl key.
+partial modifier_keys
+xkb_symbols "swap_lalt_lctl" {
+ replace key <LALT> { [ Control_L, Control_L ] };
+ replace key <LCTL> { [ Alt_L, Meta_L ] };
+};
+
+// Swap the functions of the left Win key and the left Ctrl key.
+partial modifier_keys
+xkb_symbols "swap_lwin_lctl" {
+ replace key <LWIN> { [ Control_L ] };
+ replace key <LCTL> { [ Super_L ] };
+};
+
+// Map Ctrl to the left Alt key, Alt to the left Win key,
+// and Super to the left Ctrl key.
+partial modifier_keys
+xkb_symbols "swap_lalt_lctl_lwin" {
+ replace key <LALT> { [ Control_L, Control_L ] };
+ replace key <LWIN> { [ Alt_L, Meta_L ] };
+ replace key <LCTL> { [ Super_L ] };
};
diff --git a/xorg-server/xkeyboard-config/symbols/cz b/xorg-server/xkeyboard-config/symbols/cz
index 20af4b281..083cc7674 100644
--- a/xorg-server/xkeyboard-config/symbols/cz
+++ b/xorg-server/xkeyboard-config/symbols/cz
@@ -1,6 +1,6 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
-
+
// This layout conforms to a new cz compromise standard designed
// to satisfy most unix, windows and mac users.
// 2001 by Kamil Toman <ktoman@email.cz>
@@ -46,7 +46,7 @@ xkb_symbols "basic" {
key <AC07> { [ j, J, apostrophe, NoSymbol ] };
key <AC08> { [ k, K, lstroke, NoSymbol ] };
key <AC09> { [ l, L, Lstroke, NoSymbol ] };
-
+
key <AC10> { [ uring, quotedbl, dollar, NoSymbol ] };
key <AC11> { [ section, exclam, apostrophe, ssharp ] };
key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
@@ -77,14 +77,14 @@ xkb_symbols "bksl" {
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "qwerty" {
-
+
// This layout represent actual keyboard layout. It complies with symbols
// printed on keys.
// -----------------------------------------------------------------------
// This layout was created in 2011 by Lukáš Mojžíš <lmojzis@grenames.cz>
-
+
include "cz(basic)"
name[Group1]= "Czech (qwerty)";
diff --git a/xorg-server/xkeyboard-config/symbols/de b/xorg-server/xkeyboard-config/symbols/de
index 01bde5d20..a497d7f48 100644
--- a/xorg-server/xkeyboard-config/symbols/de
+++ b/xorg-server/xkeyboard-config/symbols/de
@@ -39,7 +39,7 @@ xkb_symbols "basic" {
key <AB02> { [ x, X, guillemotleft, U2039 ] };
key <AB04> { [ v, V, doublelowquotemark, singlelowquotemark ] };
key <AB05> { [ b, B, leftdoublequotemark, leftsinglequotemark ] };
- key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] };
key <AB08> { [ comma, semicolon, periodcentered, multiply ] };
key <AB09> { [ period, colon, U2026, division ] };
key <AB10> { [ minus, underscore, endash, emdash ] };
@@ -221,7 +221,7 @@ xkb_symbols "ro_nodeadkeys" {
// in many programming languages.
// to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de
// source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak)"
@@ -479,7 +479,7 @@ xkb_symbols "neo" {
// Copied from macintosh_vndr/de
// olh@suse.de very close to MacOS map
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac" {
include "de"
@@ -496,7 +496,7 @@ xkb_symbols "mac" {
key <AD07> { [ u, U, diaeresis, Aacute ] };
key <AD08> { [ i, I, slash, Ucircumflex ] };
key <AD11> { [ udiaeresis, Udiaeresis, periodcentered, degree ] };
- key <AD12> { [ plus, asterisk, asciitilde ] };
+ key <AD12> { [ plus, asterisk, asciitilde ] };
key <AC01> { [ a, A, aring, Aring ] };
key <AC05> { [ g, G, copyright ] };
key <AC06> { [ h, H, ordfeminine ] };
@@ -506,7 +506,7 @@ xkb_symbols "mac" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac_nodeadkeys" {
// modify the standard German mac layout to not have any dead keys
include "de(mac)"
@@ -571,13 +571,13 @@ xkb_symbols "dsb_qwertz"
key <AD09> { [ o, O, oacute, Oacute ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "qwerty" {
-
+
// This layout should work exactly as a de with the exception
// of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
// 2008 by Matej Košík <kosik@fiit.stuba.sk>
-
+
include "de(basic)"
name[Group1] = "German (qwerty)";
@@ -594,7 +594,7 @@ partial alphanumeric_keys
xkb_symbols "ru" {
include "de(basic)"
-
+
name[Group1]= "Russian (Germany, phonetic)";
key.type[group1]="FOUR_LEVEL_ALPHABETIC";
diff --git a/xorg-server/xkeyboard-config/symbols/dk b/xorg-server/xkeyboard-config/symbols/dk
index 34667fc48..838478bf8 100644
--- a/xorg-server/xkeyboard-config/symbols/dk
+++ b/xorg-server/xkeyboard-config/symbols/dk
@@ -43,7 +43,7 @@ xkb_symbols "nodeadkeys" {
};
// Copied from macintosh_vndr/dk
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac" {
include "dk"
@@ -55,7 +55,7 @@ xkb_symbols "mac" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac_nodeadkeys" {
include "dk(mac)"
name[Group1]= "Danish (Macintosh, eliminate dead keys)";
@@ -64,7 +64,7 @@ xkb_symbols "mac_nodeadkeys" {
key <AD12> { [diaeresis, asciicircum, asciitilde, dead_macron ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "dvorak" {
include "no(dvorak)"
diff --git a/xorg-server/xkeyboard-config/symbols/ee b/xorg-server/xkeyboard-config/symbols/ee
index 9384bee83..9e6865e55 100644
--- a/xorg-server/xkeyboard-config/symbols/ee
+++ b/xorg-server/xkeyboard-config/symbols/ee
@@ -59,7 +59,7 @@ partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak)"
name[Group1]= "Estonian (Dvorak)";
-
+
key <AE03> { [ 3, numbersign, sterling ] };
key <AE04> { [ 4, dollar, section, currency ] };
key <AE08> { [ 8, asterisk, onehalf ] };
@@ -68,7 +68,7 @@ xkb_symbols "dvorak" {
key <AC02> { [ o, O, otilde, Otilde ] };
key <AC03> { [ e, E, odiaeresis, Odiaeresis ] };
key <AC04> { [ u, U, udiaeresis, Udiaeresis ] };
- key <AC10> { [ s, S, scaron, Scaron ] };
+ key <AC10> { [ s, S, scaron, Scaron ] };
key <AB10> { [ z, Z, zcaron, Zcaron ] };
include "level3(ralt_switch)"
diff --git a/xorg-server/xkeyboard-config/symbols/es b/xorg-server/xkeyboard-config/symbols/es
index 62e2b2c6a..9e963a23f 100644
--- a/xorg-server/xkeyboard-config/symbols/es
+++ b/xorg-server/xkeyboard-config/symbols/es
@@ -141,7 +141,7 @@ xkb_symbols "ast" {
};
// Copied from macintosh_vndr/es
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac" {
include "es"
name[Group1]= "Spanish (Macintosh)";
@@ -179,7 +179,7 @@ xkb_symbols "olpc" {
key <AB08> { [ comma, semicolon ] };
key <AB09> { [ period, colon ] };
key <AB10> { [ minus, underscore ] };
-
+
key <I219> { [ less, greater, ISO_Next_Group ] };
include "level3(ralt_switch)"
diff --git a/xorg-server/xkeyboard-config/symbols/fo b/xorg-server/xkeyboard-config/symbols/fo
index dc9fa6b45..1000c9cf0 100644
--- a/xorg-server/xkeyboard-config/symbols/fo
+++ b/xorg-server/xkeyboard-config/symbols/fo
@@ -30,7 +30,7 @@ xkb_symbols "basic" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
include "fo(basic)"
diff --git a/xorg-server/xkeyboard-config/symbols/fr b/xorg-server/xkeyboard-config/symbols/fr
index 3898b1c57..9c89db825 100644
--- a/xorg-server/xkeyboard-config/symbols/fr
+++ b/xorg-server/xkeyboard-config/symbols/fr
@@ -36,6 +36,8 @@ xkb_symbols "basic" {
key <AB09> { [ colon, slash, periodcentered, division ] };
key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
+ include "kpdl(comma)"
+
include "level3(ralt_switch)"
};
diff --git a/xorg-server/xkeyboard-config/symbols/gb b/xorg-server/xkeyboard-config/symbols/gb
index 7bf071cca..ead9e7b1c 100644
--- a/xorg-server/xkeyboard-config/symbols/gb
+++ b/xorg-server/xkeyboard-config/symbols/gb
@@ -25,7 +25,7 @@ xkb_symbols "basic" {
include "level3(ralt_switch_multikey)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "intl" {
// Describes the differences between a very simple en_US
@@ -41,7 +41,7 @@ xkb_symbols "intl" {
include "latin"
- name[Group1]="English (UK, international with dead keys)";
+ name[Group1]="English (UK, international with dead keys)";
key <AE02> { [ 2, dead_diaeresis, twosuperior, onehalf ] };
key <AE03> { [ 3, sterling, threesuperior, onethird ] };
@@ -57,7 +57,7 @@ xkb_symbols "intl" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "extd" {
// Clone of the Microsoft "English (UK, Extended" layout, which
// includes dead keys for: grave; diaeresis; circumflex; tilde; and
@@ -73,9 +73,9 @@ xkb_symbols "extd" {
include "latin"
name[Group1]="English (UK, extended WinKeys)";
-
+
key <TLDE> { [ dead_grave, notsign, brokenbar, NoSymbol ] };
-
+
key <AE02> { [ 2, quotedbl, dead_diaeresis, onehalf ] };
key <AE03> { [ 3, sterling, threesuperior, onethird ] };
key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
@@ -155,7 +155,7 @@ xkb_symbols "dvorakukp" {
};
// Copied from macintosh_vndr/gb
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac" {
// Describes the differences between a very simple en_US
@@ -175,12 +175,12 @@ xkb_symbols "mac" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac_intl" {
include "latin"
- name[Group1]="English (UK, Macintosh international)";
+ name[Group1]="English (UK, Macintosh international)";
key <AE02> { [ 2, at, EuroSign, onehalf ] };
key <AE03> { [ 3, sterling, twosuperior, onethird ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ge b/xorg-server/xkeyboard-config/symbols/ge
index 8c2e2e9a0..4f590a440 100644
--- a/xorg-server/xkeyboard-config/symbols/ge
+++ b/xorg-server/xkeyboard-config/symbols/ge
@@ -123,7 +123,7 @@ xkb_symbols "ergonomic" {
key <AC07> { [ 0x010010db, noSymbol ] };
key <AC08> { [ 0x010010e1, noSymbol ] };
key <AC09> { [ 0x010010e0, noSymbol, L ] };
- key <AC10> { [ 0x010010d1, noSymbol, colon ] };
+ key <AC10> { [ 0x010010d1, noSymbol, colon ] };
key <AC11> { [ 0x010010d2, noSymbol, 0x010010f9, quotedbl ] };
key <BKSL> { [ slash, section, backslash, bar ] };
diff --git a/xorg-server/xkeyboard-config/symbols/gh b/xorg-server/xkeyboard-config/symbols/gh
index bd31a0b39..f29c25d5c 100644
--- a/xorg-server/xkeyboard-config/symbols/gh
+++ b/xorg-server/xkeyboard-config/symbols/gh
@@ -16,7 +16,7 @@ xkb_symbols "akan" {
name[Group1]= "Akan";
key <AD01> { [ 0x0100025B, 0x01000190, q, Q ] };
- key <AB02> { [ 0x01000254, 0x01000186, x, X ] };
+ key <AB02> { [ 0x01000254, 0x01000186, x, X ] };
};
partial alphanumeric_keys
@@ -26,8 +26,8 @@ xkb_symbols "ga" {
name[Group1]= "Ga";
key <AD01> { [ 0x0100025B, 0x01000190, q, Q ] };
- key <AB02> { [ 0x01000254, 0x01000186, x, X ] };
- key <AB03> { [ 0x0100014B, 0x0100014A, c, C ] };
+ key <AB02> { [ 0x01000254, 0x01000186, x, X ] };
+ key <AB03> { [ 0x0100014B, 0x0100014A, c, C ] };
};
partial alphanumeric_keys
@@ -37,13 +37,13 @@ xkb_symbols "ewe" {
name[Group1]= "Ewe";
key <AD01> { [ 0x0100025B, 0x01000190, q, Q ] };
- key <AB03> { [ 0x0100014B, 0x0100014A, c, C ] };
- key <AD11> { [ 0x01000254, 0x01000186, braceleft, braceleft ] };
- key <AD12> { [ 0x0100028B, 0x010001B2, braceright, braceright ] };
+ key <AB03> { [ 0x0100014B, 0x0100014A, c, C ] };
+ key <AD11> { [ 0x01000254, 0x01000186, braceleft, braceleft ] };
+ key <AD12> { [ 0x0100028B, 0x010001B2, braceright, braceright ] };
key <BKSL> { [ 0x01000256, 0x01000189, backslash, backslash ] };
key <AC07> { [ 0x01000192, 0x01000191, j, J ] };
key <AC05> { [ g, G, 0x01000263, 0x01000194 ] };
-
+
};
partial alphanumeric_keys
@@ -113,7 +113,7 @@ xkb_symbols "avn" {
key <AB03> { [ 0x01000254, 0x01000186 ] }; // ɔ, Ɔ
include "level3(ralt_switch)"
-
+
};
// This keyboard layout fully imitates the 'Ghana Unicode' layout which is used in GILLBT on Windows with Keyman.
@@ -146,6 +146,6 @@ xkb_symbols "gillbt" {
key <AB01> { [ z, Z, 0x01000292, 0x010001B7 ] }; // ʒ, Ʒ
key <AB02> { [ 0x01000269, 0x01000196, x, X ] }; // ɩ, Ɩ
key <AB03> { [ c, C, 0x010000E7, 0x010000C7 ] }; // ç, Ç
-
+
include "level3(ralt_switch)"
};
diff --git a/xorg-server/xkeyboard-config/symbols/group b/xorg-server/xkeyboard-config/symbols/group
index fb2f879d0..8592f4344 100644
--- a/xorg-server/xkeyboard-config/symbols/group
+++ b/xorg-server/xkeyboard-config/symbols/group
@@ -1,108 +1,92 @@
-// using the group(switch) map, the right alt key temporarily chooses
-// the second keyboard group (until it is released).
-//
-partial modifier_keys
+// The right Alt key (while pressed) chooses the second keyboard group.
+partial modifier_keys
xkb_symbols "switch" {
- key <RALT> {
- symbols[Group1]= [ Mode_switch, Multi_key ],
- virtualMods= AltGr
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
};
};
-// using the group(lswitch) map, the left alt key temporarily chooses
-// the second keyboard group (until it is released).
-//
-partial modifier_keys
+// The left Alt key (while pressed) chooses the second keyboard group.
+partial modifier_keys
xkb_symbols "lswitch" {
- key <LALT> {
- symbols[Group1]= [ Mode_switch, Multi_key ],
- virtualMods= AltGr
+ key <LALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
};
};
-
-// using the group(win_switch) map, both Windows'logo keys temporarily
-// choose the second keyboard group (until release). If you use this
-// map, you would declare you keyboard as pc101 or pc102 instead of
-// pc104 or pc105.
+// Either Win key (while pressed) chooses the second keyboard group.
partial modifier_keys
xkb_symbols "win_switch" {
include "group(lwin_switch)"
include "group(rwin_switch)"
};
-// using the group(lwin_switch) map, the left Windows' logo key
-// temporarily chooses the second keyboard group (until it is
-// released). If you use this map, you would declare you keyboard as
-// pc101 or pc102 instead of pc104 or pc105.
+// The left Win key (while pressed) chooses the second keyboard group.
+// (Using this map, you should declare your keyboard as pc101 or pc102
+// instead of pc104 or pc105.)
partial modifier_keys
xkb_symbols "lwin_switch" {
- key <LWIN> {
- symbols[Group1] = [ Mode_switch, Multi_key ],
- virtualMods= AltGr
+ key <LWIN> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
};
};
-// using the group(rwin_switch) map, the right Windows' logo key
-// temporarily chooses the second keyboard group (until it is
-// released). If you use this map, you would declare you keyboard as
-// pc101 or pc102 instead of pc104 or pc105.
+// The right Win key (while pressed) chooses the second keyboard group.
+// (Using this map, you should declare your keyboard as pc101 or pc102
+// instead of pc104 or pc105.)
partial modifier_keys
xkb_symbols "rwin_switch" {
- key <RWIN> {
- symbols[Group1] = [ Mode_switch, Multi_key ],
- virtualMods= AltGr
+ key <RWIN> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
};
};
-// Right Ctrl key temporary chooses the second keyboard group.
-// Needed mainly for Canadian keyboard
+// The right Ctrl key (while pressed) chooses the second keyboard group.
+// (Needed mainly for the Canadian keyboard.)
partial modifier_keys
xkb_symbols "rctrl_switch" {
- key <RCTL> {
- symbols[Group1]= [ Mode_switch ]
+ key <RCTL> {
+ symbols[Group1] = [ Mode_switch ]
};
};
-// using the group(toggle) map, pressing the right alt key switches to
-// the next sequential group (until the next explicit group change).
-partial modifier_keys
+// Pressing the right Alt key switches to the next group.
+partial modifier_keys
xkb_symbols "toggle" {
virtual_modifiers AltGr;
- key <RALT> {
- symbols[Group1]= [ ISO_Next_Group ],
- virtualMods= AltGr
+ key <RALT> {
+ symbols[Group1] = [ ISO_Next_Group ],
+ virtualMods= AltGr
};
};
-// using the group(shifts_toggle) map, pressing both shift keys together
-// locks the next or previous sequential keyboard group
-// (depending on which shift is pressed first - right or left,
-// correspongingly)
-partial modifier_keys
+// Pressing both Shift keys switches to the next or previous group
+// (depending on which Shift is pressed first).
+partial modifier_keys
xkb_symbols "shifts_toggle" {
- key <LFSH> { [ Shift_L, ISO_Prev_Group ] };
- key <RTSH> { [ Shift_R, ISO_Next_Group ] };
+ key <LFSH> { [ Shift_L, ISO_Prev_Group ] };
+ key <RTSH> { [ Shift_R, ISO_Next_Group ] };
};
-// using the group(shift_caps_toggle) map, pressing:
-// Shift+Caps Lock toggles group
+// Pressing Shift+Caps_Lock switches to the next group.
partial modifier_keys
xkb_symbols "shift_caps_toggle" {
- key <CAPS> { [ Caps_Lock, ISO_Next_Group ] };
+ key <CAPS> { [ Caps_Lock, ISO_Next_Group ] };
};
-// using the group(shift_caps_switch) map, pressing:
-// Caps Lock selects the first group
-// Shift+Caps Lock selects the last group
+// Pressing Caps_Lock selects the first group,
+// pressing Shift+Caps_Lock selects the last group.
partial modifier_keys
xkb_symbols "shift_caps_switch" {
key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
};
-// using the group(win_menu_switch) map, pressing:
-// LWIN selects the first group
-// RWIN or MENU selects the last group
+// Pressing the left Win key selects the first group,
+// pressing the right Win or the Menu key selects the last group.
partial modifier_keys
xkb_symbols "win_menu_switch" {
virtual_modifiers AltGr;
@@ -120,9 +104,8 @@ xkb_symbols "win_menu_switch" {
};
};
-// using the group(lctrl_rctrl_switch) map, pressing:
-// Left Control selects the first group
-// Right Control selects the last group
+// Pressing the left Ctrl key selects the first group,
+// pressing the right Ctrl key selects the last group.
partial modifier_keys
xkb_symbols "lctrl_rctrl_switch" {
virtual_modifiers AltGr;
@@ -140,20 +123,20 @@ xkb_symbols "lctrl_rctrl_switch" {
//
// CTRL-SHIFT toggle section
//
-partial modifier_keys
+partial modifier_keys
xkb_symbols "lctrl_lshift_toggle" {
key <LFSH> {
type[Group1]="PC_CONTROL_LEVEL2",
- symbols[Group1]= [ Shift_L, ISO_Next_Group ]
+ symbols[Group1] = [ Shift_L, ISO_Next_Group ]
};
key <LCTL> { [ Control_L, ISO_Next_Group ] };
};
-partial modifier_keys
+partial modifier_keys
xkb_symbols "lctrl_lshift_toggle_rev" {
key <LFSH> {
type[Group1]="PC_CONTROL_LEVEL2",
- symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
+ symbols[Group1] = [ Shift_L, ISO_Prev_Group ]
};
key <LCTL> { [ Control_L, ISO_Prev_Group ] };
};
@@ -162,18 +145,18 @@ partial modifier_keys
xkb_symbols "rctrl_rshift_toggle" {
key <RTSH> {
type[Group1]="PC_CONTROL_LEVEL2",
- symbols[Group1]= [ Shift_R, ISO_Next_Group ]
+ symbols[Group1] = [ Shift_R, ISO_Next_Group ]
};
key <RCTL> { [ Control_R, ISO_Next_Group ] };
};
-partial modifier_keys
+partial modifier_keys
xkb_symbols "ctrl_shift_toggle" {
include "group(lctrl_lshift_toggle)"
include "group(rctrl_rshift_toggle)"
};
-partial modifier_keys
+partial modifier_keys
xkb_symbols "ctrl_shift_toggle_bidir" {
include "group(lctrl_lshift_toggle_rev)"
include "group(rctrl_rshift_toggle)"
@@ -188,12 +171,12 @@ xkb_symbols "lctrl_lalt_toggle" {
virtual_modifiers Alt;
key <LALT> {
type[Group1]="PC_CONTROL_LEVEL2",
- symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
virtualMods= Alt
};
key <LCTL> {
type[Group1]="PC_ALT_LEVEL2",
- symbols[Group1]= [ Control_L, ISO_Next_Group ]
+ symbols[Group1] = [ Control_L, ISO_Next_Group ]
};
};
@@ -202,12 +185,12 @@ xkb_symbols "lctrl_lalt_toggle_rev" {
virtual_modifiers Alt;
key <LALT> {
type[Group1]="PC_CONTROL_LEVEL2",
- symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
virtualMods= Alt
};
key <LCTL> {
type[Group1]="PC_ALT_LEVEL2",
- symbols[Group1]= [ Control_L, ISO_Prev_Group ]
+ symbols[Group1] = [ Control_L, ISO_Prev_Group ]
};
};
@@ -216,22 +199,22 @@ xkb_symbols "rctrl_ralt_toggle" {
virtual_modifiers Alt;
key <RALT> {
type[Group1]="PC_CONTROL_LEVEL2",
- symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
virtualMods= Alt
};
key <RCTL> {
type[Group1]="PC_ALT_LEVEL2",
- symbols[Group1]= [ Control_R, ISO_Next_Group ]
+ symbols[Group1] = [ Control_R, ISO_Next_Group ]
};
};
-partial modifier_keys
+partial modifier_keys
xkb_symbols "ctrl_alt_toggle" {
include "group(lctrl_lalt_toggle)"
include "group(rctrl_ralt_toggle)"
};
-partial modifier_keys
+partial modifier_keys
xkb_symbols "ctrl_alt_toggle_bidir" {
include "group(lctrl_lalt_toggle_rev)"
include "group(rctrl_ralt_toggle)"
@@ -245,12 +228,12 @@ partial modifier_keys
xkb_symbols "lalt_lshift_toggle" {
virtual_modifiers Alt;
key <LALT> {
- symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
virtualMods= Alt
};
key <LFSH> {
type[Group1]="PC_ALT_LEVEL2",
- symbols[Group1]= [ Shift_L, ISO_Next_Group ]
+ symbols[Group1] = [ Shift_L, ISO_Next_Group ]
};
};
@@ -258,12 +241,12 @@ partial modifier_keys
xkb_symbols "lalt_lshift_toggle_rev" {
virtual_modifiers Alt;
key <LALT> {
- symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
virtualMods= Alt
};
key <LFSH> {
type[Group1]="PC_ALT_LEVEL2",
- symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
+ symbols[Group1] = [ Shift_L, ISO_Prev_Group ]
};
};
@@ -271,187 +254,186 @@ partial modifier_keys
xkb_symbols "ralt_rshift_toggle" {
virtual_modifiers Alt;
key <RALT> {
- symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
virtualMods= Alt
};
key <RTSH> {
type[Group1]="PC_ALT_LEVEL2",
- symbols[Group1]= [ Shift_R, ISO_Next_Group ]
+ symbols[Group1] = [ Shift_R, ISO_Next_Group ]
};
};
-partial modifier_keys
+partial modifier_keys
xkb_symbols "alt_shift_toggle" {
include "group(lalt_lshift_toggle)"
include "group(ralt_rshift_toggle)"
};
-partial modifier_keys
+partial modifier_keys
xkb_symbols "alt_shift_toggle_bidir" {
include "group(lalt_lshift_toggle_rev)"
include "group(ralt_rshift_toggle)"
};
-// using the group(menu_toggle) map, pressing:
-// Menu key toggles groups
-// Shift+Menu acts as Menu
+// Pressing the Menu key switches to the next group,
+// while Shift+Menu acts as Menu.
partial modifier_keys
xkb_symbols "menu_toggle" {
- key <MENU> { [ ISO_Next_Group, Menu ] };
+ key <MENU> { [ ISO_Next_Group, Menu ] };
};
-// using the group(lwin_toggle) map, pressing the left Windows' logo key
-// toggles groups. If you use this map, you would declare you keyboard
-// as pc101 or pc102 instead of pc104 or pc105.
+// Pressing the left Win key switches to the next group.
+// (Using this map, you should declare your keyboard as
+// pc101 or pc102 instead of pc104 or pc105.)
partial modifier_keys
xkb_symbols "lwin_toggle" {
- virtual_modifiers AltGr;
- key <LWIN> {
- virtualMods= AltGr,
- symbols[Group1] = [ ISO_Next_Group ]
+ virtual_modifiers AltGr;
+ key <LWIN> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Next_Group ]
};
};
-// using the group(rwin_toggle) map, pressing the right Windows' logo key
-// toggles groups. If you use this map, you would declare you keyboard
-// as pc101 or pc102 instead of pc104 or pc105.
+// Pressing the right Win key switches to the next group.
+// (Using this map, you should declare your keyboard as
+// pc101 or pc102 instead of pc104 or pc105.)
partial modifier_keys
xkb_symbols "rwin_toggle" {
- virtual_modifiers AltGr;
- key <RWIN> {
- virtualMods= AltGr,
- symbols[Group1] = [ ISO_Next_Group ]
+ virtual_modifiers AltGr;
+ key <RWIN> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Next_Group ]
};
};
-// Both Ctrls pressed together toggle group
+// Pressing both Ctrl keys switches to the next or previous group
+// (depending on which Ctrl is pressed first).
partial modifier_keys
xkb_symbols "ctrls_toggle" {
- virtual_modifiers LControl, RControl;
+ virtual_modifiers LControl, RControl;
key <LCTL> {
- type[Group1]="PC_RCONTROL_LEVEL2",
- symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
- virtualMods= LControl
+ type[Group1]="PC_RCONTROL_LEVEL2",
+ symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= LControl
};
key <RCTL> {
- type[Group1]="PC_LCONTROL_LEVEL2",
- symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
- virtualMods= RControl
+ type[Group1]="PC_LCONTROL_LEVEL2",
+ symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
+ virtualMods= RControl
};
};
-// Both Alts pressed together toggle group
+// Pressing both Alt keys switches to the next or previous group
+// (depending on which Alt is pressed first).
partial modifier_keys
xkb_symbols "alts_toggle" {
- virtual_modifiers LAlt, RAlt;
+ virtual_modifiers LAlt, RAlt;
key <LALT> {
- type[Group1]="PC_RALT_LEVEL2",
- symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
- virtualMods= LAlt
+ type[Group1]="PC_RALT_LEVEL2",
+ symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= LAlt
};
key <RALT> {
- type[Group1]="PC_LALT_LEVEL2",
- symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
- virtualMods= RAlt
+ type[Group1]="PC_LALT_LEVEL2",
+ symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
+ virtualMods= RAlt
};
};
-// Left Shift key toggles group
+// Pressing the left Shift key switches to the next group.
partial modifier_keys
xkb_symbols "lshift_toggle" {
- virtual_modifiers AltGr;
- key <LFSH> {
- symbols[Group1]= [ ISO_Next_Group ],
- virtualMods= AltGr
+ virtual_modifiers AltGr;
+ key <LFSH> {
+ symbols[Group1] = [ ISO_Next_Group ],
+ virtualMods= AltGr
};
};
-// Right Shift key toggles group
+// Pressing the right Shift key switches to the next group.
partial modifier_keys
xkb_symbols "rshift_toggle" {
- virtual_modifiers AltGr;
- key <RTSH> {
- symbols[Group1]= [ ISO_Next_Group ],
- virtualMods= AltGr
+ virtual_modifiers AltGr;
+ key <RTSH> {
+ symbols[Group1] = [ ISO_Next_Group ],
+ virtualMods= AltGr
};
};
-// Left Alt key toggles group
+// Pressing the left Alt key switches to the next group.
partial modifier_keys
xkb_symbols "lalt_toggle" {
- virtual_modifiers AltGr;
- key <LALT> {
- symbols[Group1]= [ ISO_Next_Group ],
- virtualMods= AltGr
+ virtual_modifiers AltGr;
+ key <LALT> {
+ symbols[Group1] = [ ISO_Next_Group ],
+ virtualMods= AltGr
};
};
-// Left Ctrl key toggles group
+// Pressing the left Ctrl key switches to the next group.
partial modifier_keys
xkb_symbols "lctrl_toggle" {
- virtual_modifiers AltGr;
- key <LCTL> {
- symbols[Group1]= [ ISO_Next_Group ],
- virtualMods= AltGr
+ virtual_modifiers AltGr;
+ key <LCTL> {
+ symbols[Group1] = [ ISO_Next_Group ],
+ virtualMods= AltGr
};
};
-// Right Ctrl key toggles group
+// Pressing the right Ctrl key switches to the next group.
partial modifier_keys
xkb_symbols "rctrl_toggle" {
- virtual_modifiers AltGr;
- key <RCTL> {
- symbols[Group1]= [ ISO_Next_Group ],
- virtualMods= AltGr
+ virtual_modifiers AltGr;
+ key <RCTL> {
+ symbols[Group1] = [ ISO_Next_Group ],
+ virtualMods= AltGr
};
};
-// using the group(alt_caps_toggle) map, pressing:
-// Alt+Caps Lock toggles group
-// Caps Lock toggles caps lock
+// Pressing Alt+Caps_Lock switches to the next group,
+// pressing Caps_Lock toggles CapsLock.
partial modifier_keys
xkb_symbols "alt_caps_toggle" {
- key <CAPS> {
+ key <CAPS> {
type="PC_ALT_LEVEL2",
- symbols[Group1]= [ Caps_Lock, ISO_Next_Group]
+ symbols[Group1] = [ Caps_Lock, ISO_Next_Group ]
};
};
partial hidden modifier_keys
xkb_symbols "olpc" {
- key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
+ key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
};
partial modifier_keys
xkb_symbols "alt_space_toggle" {
key <SPCE> {
- type[Group1]="PC_ALT_LEVEL2",
- symbols[Group1]= [ space, ISO_Next_Group ]
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1] = [ space, ISO_Next_Group ]
};
};
-// using the group(sclk_toggle) map, pressing the Scroll Lock key
-// toggles groups.
+// Pressing the Scroll Lock key switches to the next group,
partial modifier_keys
xkb_symbols "sclk_toggle" {
- virtual_modifiers AltGr;
- key <SCLK> {
- virtualMods= AltGr,
- symbols[Group1] = [ ISO_Next_Group ]
+ virtual_modifiers AltGr;
+ key <SCLK> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Next_Group ]
};
};
-// Control_L+Win_L locks the first group (presumably Lat).
-// Control_R+Menu locks the second group (presumably Rus).
+// Control_L+Win_L selects the first group (presumably Lat),
+// Control_R+Menu selects the second group (presumably Rus).
partial modifier_keys
xkb_symbols "lctrl_lwin_rctrl_menu" {
key <LWIN> {
- type[ Group1 ] = "PC_CONTROL_LEVEL2",
- symbols[ Group1 ] = [ Super_L, ISO_First_Group ]
+ type[Group1] = "PC_CONTROL_LEVEL2",
+ symbols[Group1] = [ Super_L, ISO_First_Group ]
};
key <MENU> {
- type[ Group1 ] = "PC_CONTROL_LEVEL2",
- symbols[ Group1 ] = [ Menu, ISO_Last_Group ]
+ type[Group1] = "PC_CONTROL_LEVEL2",
+ symbols[Group1] = [ Menu, ISO_Last_Group ]
};
-}; // lctrl_lwin_rctrl_menu
+};
diff --git a/xorg-server/xkeyboard-config/symbols/hr b/xorg-server/xkeyboard-config/symbols/hr
index bda2afd22..1ec0c809a 100644
--- a/xorg-server/xkeyboard-config/symbols/hr
+++ b/xorg-server/xkeyboard-config/symbols/hr
@@ -13,7 +13,7 @@ xkb_symbols "basic" {
key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "us" {
name[Group1]= "Croatian (US keyboard with Croatian letters)";
@@ -48,7 +48,7 @@ xkb_symbols "us" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "alternatequotes" {
name[Group1]= "Croatian (use guillemets for quotes)";
@@ -56,7 +56,7 @@ xkb_symbols "alternatequotes" {
include "rs(latinalternatequotes)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "unicode" {
name[Group1]= "Croatian (use Croatian digraphs)";
@@ -64,7 +64,7 @@ xkb_symbols "unicode" {
include "rs(latinunicode)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "unicodeus" {
name[Group1]= "Croatian (US keyboard with Croatian digraphs)";
diff --git a/xorg-server/xkeyboard-config/symbols/hu b/xorg-server/xkeyboard-config/symbols/hu
index 75b17fee5..e743360a3 100644
--- a/xorg-server/xkeyboard-config/symbols/hu
+++ b/xorg-server/xkeyboard-config/symbols/hu
@@ -353,7 +353,7 @@ hidden partial keypad_keys
xkb_symbols "def_dot" {
key <KPDL> { [ KP_Delete, KP_Decimal ] };
};
-
+
// def_dead:
// Dead keys support part
@@ -398,6 +398,7 @@ hidden partial alphanumeric_keys
xkb_symbols "def_common" {
key <AD01> { [ q, Q, backslash ] };
key <AD02> { [ w, W, bar ] };
+ key <AD03> { [ e, E, Adiaeresis ] };
key <AD07> { [ u, U, EuroSign ] };
key <AD08> { [ i, I, Iacute, iacute ] };
key <AD09> { [ o, O, doublelowquotemark ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ie b/xorg-server/xkeyboard-config/symbols/ie
index 48f7232f0..0830fede4 100644
--- a/xorg-server/xkeyboard-config/symbols/ie
+++ b/xorg-server/xkeyboard-config/symbols/ie
@@ -86,7 +86,7 @@ xkb_symbols "basic" {
key <AC10> { [ semicolon, colon, ellipsis, doubledagger ] };
key <AC11> { [ apostrophe, at, ae, AE ] };
key <BKSL> { [ numbersign, asciitilde, guillemotleft, guillemotright ] };
-
+
//
// \ZXCVBNM,./
@@ -401,7 +401,7 @@ xkb_symbols "ogam_is434" {
// Also overcomes annoying use of Scroll Lock LED inherited from
// US symbols but not relevant here since we're not changing group.
key <SCLK> {type[Group1] = "ONE_LEVEL", [ Shift_Lock ] };
- modifier_map Shift { Shift_Lock };
+ modifier_map Shift { Shift_Lock };
include "compose(rwin)"
};
diff --git a/xorg-server/xkeyboard-config/symbols/il b/xorg-server/xkeyboard-config/symbols/il
index fa7564fb5..a1f615c62 100644
--- a/xorg-server/xkeyboard-config/symbols/il
+++ b/xorg-server/xkeyboard-config/symbols/il
@@ -43,12 +43,12 @@ xkb_symbols "basic" {
key <AB09> { [ hebrew_finalzade, less ] };
key.type[Group1] = "THREE_LEVEL";
-
+
key <TLDE> { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva
key <AB10> { [ period, question, 0x10005c3 ]}; // Sof Pasuq
key <AD03> { [ hebrew_qoph, E, EuroSign ]};
key <AC01> { [ hebrew_shin, A, 0x10020AA ]};
-
+
// The following may get overriden by the iso9995-3(basic101) symbols.
// therefore they are included here.
// Including them isn't a great idea (for instance: what if group 1 uses
@@ -67,11 +67,11 @@ xkb_symbols "basic" {
key <AE10> { [ 0, parenleft , 0x10005c1 ]}; // Shin dot
key <AE11> { [ minus, underscore , 0x10005b9 ]}; // Holam
key <AE12> { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq
-
+
// Mirrored:
key <AD11> { [ bracketright, braceright, 0x10005bf ]}; // Rafe
key <AD12> { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg
-
+
key <BKSL> { [ backslash, bar, 0x10005bb ]}; // Qubuts
include "level3(ralt_switch)"
@@ -79,7 +79,7 @@ xkb_symbols "basic" {
// nikud patter based on Dekel Tsur's Hebrew mapping for LyX
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "lyx" {
name[Group1]= "Hebrew (lyx)";
@@ -103,7 +103,7 @@ xkb_symbols "lyx" {
key <AC01> { [ hebrew_shin, 0x10005b0 ] }; // Sheva
key <AC02> { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq
key <AC03> { [ hebrew_gimel, hebrew_gimel ] };
- key <AC04> { [ hebrew_kaph, hebrew_kaph ] };
+ key <AC04> { [ hebrew_kaph, hebrew_kaph ] };
key <AC05> { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot
key <AC06> { [ hebrew_yod, 0x10005c1 ] }; // Shin dot
key <AC07> { [ hebrew_chet, 0x10005b4 ] }; // Hiriq
@@ -136,13 +136,13 @@ xkb_symbols "lyx" {
key <AE08> { [ 8, asterisk ]};
key <AE09> { [ 9, parenright ]};
key <AE10> { [ 0, parenleft ]};
-
+
key <AE11> { [ minus , 0x10005be ] }; // H. Hiphen
key <AE12> { [ equal , plus ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "phonetic" {
// uses the phonetic layout from old Slackware 'il.map' file
@@ -199,7 +199,7 @@ xkb_symbols "phonetic" {
// layout below does not include 'il(basic)' but redoes the _whole_ thing from
// scratch.
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "biblical" {
name[Group1]= "Hebrew (Biblical, Tiro)";
key.type = "FOUR_LEVEL_SEMIALPHABETIC";
@@ -267,7 +267,7 @@ xkb_symbols "biblical" {
// The layout corresponds phonetically to a US standard layout or similar (Qwerty).
// If you are using an actual Hebrew keyboard, you are probably better off using a Tiro compliant scholarly layout
// This linux port created and maintained by Dennis Meulensteen, dennis@meulensteen.nl
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "biblicalSIL" {
name[Group1]= "Hebrew (Biblical, SIL phonetic)";
key.type = "FOUR_LEVEL_SEMIALPHABETIC";
diff --git a/xorg-server/xkeyboard-config/symbols/in b/xorg-server/xkeyboard-config/symbols/in
index 68f63e528..fdf008887 100644
--- a/xorg-server/xkeyboard-config/symbols/in
+++ b/xorg-server/xkeyboard-config/symbols/in
@@ -1,6 +1,6 @@
// This layout includes all Indian layouts, including:
// - Devanagari (Hindi, Marathi, Sanskrit)
-// - Bengali
+// - Bangla
// - Gujarati
// - Kannada
// - Malayalam
@@ -12,12 +12,12 @@
// Links:
// - Indic INSCRIPT keyboard layout diagrams:
// http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html
-// - Bengali Baishakhi (Bengali layouts):
-// - Bengali Baishakhi Inscript (Bengali layouts):
-// - Bengali Bornona (Bengali layouts):
-// - Uni Gitanjali (Bengali layouts):
+// - Bangla Baishakhi (Bangla layouts):
+// - Bangla Baishakhi Inscript (Bangla layouts):
+// - Bangla Bornona (Bangla layouts):
+// - Uni Gitanjali (Bangla layouts):
// http://nltr.org
-// - Ekusheyr Shadhinota (Bengali layouts):
+// - Ekusheyr Shadhinota (Bangla layouts):
// http://ekushey.org/projects/shadhinota/index.html
// - Microsoft Windows XP SP2: Indic Language Standards - an Introduction:
// http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx
@@ -135,9 +135,9 @@ xkb_symbols "bolnagri" {
key <AD08> { [ U093F, U0940, U0907, U0908 ] }; // I: i, ii matras
key <AD09> { [ U094B, U094C, U0913, U0914 ] }; // O: o, au matras
key <AD10> { [ U092A, U092B ] }; // P: pa, pha
- key <AD11> { [ bracketleft, braceleft ] };
+ key <AD11> { [ bracketleft, braceleft ] };
key <AD12> { [ bracketright, braceright ] };
-
+
//A Row
key <AC01> { [ U093E, U0906, U0905, U0906 ] }; // A: aa, full A, AA
key <AC02> { [ U0938, U0937 ] }; // S: sa, ssa
@@ -148,7 +148,7 @@ xkb_symbols "bolnagri" {
key <AC07> { [ U091C, U091D ] }; // J: ja, jha
key <AC08> { [ U0915, U0916 ] }; // K: ka, kha
key <AC09> { [ U0932, U0933, U0962, U090C ] }; // L: la, vocalic L or lru matra
- key <AC10> { [ semicolon, colon ] };
+ key <AC10> { [ semicolon, colon ] };
key <AC11> { [apostrophe, quotedbl ] };
//Z Row
@@ -176,7 +176,7 @@ xkb_symbols "bolnagri" {
partial alphanumeric_keys
xkb_symbols "ben" {
- name[Group1]= "Bengali (India)";
+ name[Group1]= "Bangla (India)";
// Mainly numbers.
key <AE01> { [ U09E7 ] };
@@ -244,7 +244,7 @@ xkb_symbols "ben" {
};
xkb_symbols "ben_probhat" {
- name[Group1]= "Bengali (India, Probhat)";
+ name[Group1]= "Bangla (India, Probhat)";
key <ESC> { [ Escape ] };
// numbers
@@ -318,10 +318,10 @@ xkb_symbols "ben_probhat" {
include "rupeesign(4)"
};
-// Bengali Baishakhi, Bengali Baishakhi Inscript, Bengali Bornona, Uni Gitanjali Layouts are added by Promathesh Mandal <promathesh812004@gmail.com>
+// Bangla Baishakhi, Bangla Baishakhi Inscript, Bangla Bornona, Uni Gitanjali Layouts are added by Promathesh Mandal <promathesh812004@gmail.com>
xkb_symbols "ben_baishakhi" {
- name[Group1]= "Bengali (India, Baishakhi)";
+ name[Group1]= "Bangla (India, Baishakhi)";
key <ESC> { [ Escape ] };
// numbers
@@ -398,7 +398,7 @@ xkb_symbols "ben_baishakhi" {
};
xkb_symbols "ben_inscript" {
- name[Group1]= "Bengali (India, Baishakhi Inscript)";
+ name[Group1]= "Bangla (India, Baishakhi Inscript)";
// Mainly numbers.
key <TLDE> { [ 0x100200D, 0x100200C ] };
@@ -464,7 +464,7 @@ xkb_symbols "ben_inscript" {
};
xkb_symbols "ben_gitanjali" {
- name[Group1]= "Bengali (India, Uni Gitanjali)";
+ name[Group1]= "Bangla (India, Uni Gitanjali)";
key <ESC> { [ Escape ] };
// numbers
@@ -542,7 +542,7 @@ xkb_symbols "ben_gitanjali" {
xkb_symbols "ben_bornona" {
- name[Group1]= "Bengali (India, Bornona)";
+ name[Group1]= "Bangla (India, Bornona)";
key <ESC> { [ Escape ] };
// numbers
@@ -616,7 +616,7 @@ xkb_symbols "ben_bornona" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "guj" {
name[Group1]= "Gujarati";
@@ -683,7 +683,7 @@ xkb_symbols "guj" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "kan" {
// Inscript layout for Kannada
@@ -719,7 +719,7 @@ xkb_symbols "kan" {
key <AD10> { [ U0c9c, U0c9d ] };
key <AD11> { [ U0ca1, U0ca2 ] };
key <AD12> { [ U0cbc, U0c9e ] };
-
+
key <AC01> { [ U0ccb, U0c93 ] };
key <AC02> { [ U0cc7, U0c8f ] };
key <AC03> { [ U0ccd, U0c85 ] };
@@ -757,13 +757,13 @@ xkb_symbols "kan" {
// Date : Sat Aug 17 21:10:48 IST 2002
// Mapping:
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mal" {
name[Group1] = "Malayalam";
//From grave to backslash (\)
-
+
key <TLDE> { [ U0d4a , U0d12 ] };
// svu:
@@ -771,7 +771,7 @@ xkb_symbols "mal" {
// but the digits are replaced with the ones from 'mal_plusnum' -
// for the integrity of all Indian layouts
//
-// key <AE01> { [1 , exclam ] };
+// key <AE01> { [1 , exclam ] };
// key <AE02> { [2 , at ] };
// key <AE03> { [3 , numbersign ] };
// key <AE04> { [4 , dollar ] };
@@ -797,9 +797,9 @@ xkb_symbols "mal" {
key <AE12> { [ U0d43 , U0d0b ] };
key <BKSL> { [U0200c, U05C ]};//bksl: ZWNJ
-
+
// From 'q' to right bracket (])
-
+
key <AD01> { [ U0d4c , U0d14 ] };
key <AD02> { [ U0d48 , U0d10 ] };
key <AD03> { [ U0d3e , U0d06 ] };
@@ -814,7 +814,7 @@ xkb_symbols "mal" {
key <AD12> { [ U0200d , U0d1e ] };
// From 'a' to apostrophe (')
-
+
key <AC01> { [ U0d4b , U0d13 ] };
key <AC02> { [ U0d47 , U0d0f ] };
key <AC03> { [ U0d4d , U0d05 ] };
@@ -826,9 +826,9 @@ xkb_symbols "mal" {
key <AC09> { [ U0d24 , U0d25 ] };
key <AC10> { [ U0d1a , U0d1b ] };
key <AC11> { [ U0d1f , U0d20 ] };
-
+
// From 'z' to slash (/)
-
+
key <AB01> { [ U0d46 , U0d0e ] };
key <AB02> { [ U0d02 , U200b ] };//X:ZWSP
key <AB03> { [ U0d2e , U0d23 ] };
@@ -884,7 +884,7 @@ xkb_symbols "mal_lalitha" {
key <AD10> { [ U0D2A ] }; // P: pa
key <AD11> { [ bracketleft, braceleft ] };//braceleft:
key <AD12> { [ bracketright, braceright ] };//braceright:
-
+
//A Row
key <AC01> { [ U0D3E, U0D05, U0D06, U0D05 ] }; // A: a,aa
key <AC02> { [ U0D38, U0D37 ] }; // S: sa, ssa
@@ -895,7 +895,7 @@ xkb_symbols "mal_lalitha" {
key <AC07> { [ U0D1C, U0D1D ] }; // J: ja, jha
key <AC08> { [ U0D15, U0D16 ] }; // K: ka, kha
key <AC09> { [ U0D32, U0D33 ] }; // L: la, vocalic L or lru matra`
- key <AC10> { [ semicolon, colon ] };
+ key <AC10> { [ semicolon, colon ] };
key <AC11> { [apostrophe, quotedbl ] };
//Z Row
@@ -919,14 +919,14 @@ xkb_symbols "mal_lalitha" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "ori" {
// Inscript layout for Oriya
// Author: G Karunakar <karunakar@freedomink.org>
// Date: Wed Nov 13 18:16:19 IST 2002
name[Group1]= "Oriya";
-
+
key <AE01> { [ U0b67 ] };
key <AE02> { [ U0b68 ] };
key <AE03> { [ U0b69 ] };
@@ -952,7 +952,7 @@ xkb_symbols "ori" {
key <AD10> { [ U0b1c, U0b1d ] };
key <AD11> { [ U0b21, U0b22 ] };
key <AD12> { [ U0b3c, U0b1e ] };
-
+
key <AC01> { [ U0b4b, U0b13 ] };
key <AC02> { [ U0b47, U0b0f ] };
key <AC03> { [ U0b4d, U0b05 ] };
@@ -964,7 +964,7 @@ xkb_symbols "ori" {
key <AC09> { [ U0b24, U0b25 ] };
key <AC10> { [ U0b1a, U0b1b ] };
key <AC11> { [ U0b1f, U0b20 ] };
-
+
key <AB02> { [ U0b02, U0b01 ] };
key <AB03> { [ U0b2e, U0b23 ] };
key <AB04> { [ U0b28 ] };
@@ -985,7 +985,7 @@ xkb_symbols "ori" {
// based on a keyboard map from an 'xkb/symbols/tml' file
// INSCRIPT
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "tam" {
name[Group1]= "Tamil";
@@ -1016,7 +1016,7 @@ xkb_symbols "tam" {
// Mainly voiced consonants
key <AD07> { [ U0BB9, U0B99 ] };
- key <AD10> { [ U0B9c ] };
+ key <AD10> { [ U0B9c ] };
key <AD12> { [ U0B9E ] };
// Mainly short vowels
@@ -1051,7 +1051,7 @@ xkb_symbols "tam" {
include "rupeesign(4)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "tam_unicode" {
// Description: A keymap based on the TamilNet'99 typewriter keyboard
@@ -1061,7 +1061,7 @@ xkb_symbols "tam_unicode" {
// Secondary contact: Sri Ramadoss M <amachu@au-kbc.org>
// Date : Fri Sep 4 11:32:00 CST 2009
// Mapping:
-
+
name[Group1]= "Tamil (Unicode)";
// granthas
@@ -1105,7 +1105,7 @@ xkb_symbols "tam_unicode" {
key <AC09> { [ U0B9F ] };
key <AC10> { [ U0BCD, U0B83 ] };
key <AC11> { [ U0B99 ] };
-
+
// Zrow
key <AB01> { [ U0BA3 ] };
key <AB02> { [ U0B92, U0B93 ] };
@@ -1182,7 +1182,7 @@ xkb_symbols "tam_keyboard_with_numerals" {
key <AB08> { [ U0B87, U0B88 ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "tam_TSCII" {
// Description : A Tamil typewrite-style keymap
@@ -1200,7 +1200,7 @@ xkb_symbols "tam_TSCII" {
key <AE05> { [ 0x1000085, 0x100008a ] }; // sa
key <AE06> { [ 0x1000086, 0x100008b ] }; // ha
key <AE07> { [ 0x1000087, 0x100008c ] }; // ksha
-
+
// Qrow
key <AD01> { [ 0x10000bb, 0x100009a ] }; // nja
key <AD02> { [ 0x10000c8, 0x10000da ] }; // Ra
@@ -1226,7 +1226,7 @@ xkb_symbols "tam_TSCII" {
key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
-
+
// Zrow
key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
@@ -1239,7 +1239,7 @@ xkb_symbols "tam_TSCII" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "tam_TAB" {
// Description: A keymap based on the TamilNet'99 typewriter keyboard
@@ -1257,7 +1257,7 @@ xkb_symbols "tam_TAB" {
key <AE05> { [ 0x10000fd ] } ;
key <AE06> { [ 0x10000fe ] } ;
key <AE07> { [ 0x10000ff ] } ;
-
+
// q-row
key <AD01> { [ 0x10000eb, 0x10000b3 ] };
key <AD02> { [ 0x10000f8, 0x10000c1 ] };
@@ -1283,7 +1283,7 @@ xkb_symbols "tam_TAB" {
key <AC09> { [ 0x10000ec, 0x10000b4 ] };
key <AC10> { [ 0x10000f6, 0x10000bf ] };
key <AC11> { [ 0x10000e9, 0x10000b1 ] };
-
+
// z-row
key <AB01> { [ 0x10000ed, 0x10000b5 ] };
key <AB02> { [ 0x10000e5, 0x10000e6 ] };
@@ -1295,7 +1295,7 @@ xkb_symbols "tam_TAB" {
key <AB08> { [ 0x10000de, 0x10000df ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "tel" {
// Inscript layout for Telugu using Unicode
@@ -1318,8 +1318,8 @@ xkb_symbols "tel" {
key <AE10> { [ U0c66, parenright ] };
key <AE11> { [ U0c03, underscore ] };
key <AE12> { [ U0c43, U0c0b ] };
- key <BKSP> { [ BackSpace ] };
-
+ key <BKSP> { [ BackSpace ] };
+
key <AD01> { [ U0c4c, U0c14 ] };
key <AD02> { [ U0c48, U0c10 ] };
key <AD03> { [ U0c3e, U0c06 ] };
@@ -1332,7 +1332,7 @@ xkb_symbols "tel" {
key <AD10> { [ U0c1c, U0c1d ] };
key <AD11> { [ U0c21, U0c22 ] };
key <AD12> { [ U0c1e ] };
-
+
key <AC01> { [ U0c4b, U0c13 ] };
key <AC02> { [ U0c47, U0c0f ] };
key <AC03> { [ U0c4d, U0c05 ] };
@@ -1344,7 +1344,7 @@ xkb_symbols "tel" {
key <AC09> { [ U0c24, U0c25 ] };
key <AC10> { [ U0c1a, U0c1b ] };
key <AC11> { [ U0c1f, U0c20 ] };
-
+
key <AB01> { [ U0c46, U0c0e ] };
key <AB02> { [ U0c02, U0c01 ] };
key <AB03> { [ U0c2e, U0c23 ] };
@@ -1364,19 +1364,19 @@ xkb_symbols "tel" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "urd-phonetic" {
include "pk(urd-phonetic)"
name[Group1]= "Urdu (phonetic)";
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "urd-phonetic3" {
include "pk(urd-crulp)"
name[Group1]= "Urdu (alternative phonetic)";
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "urd-winkeys" {
include "pk(urd-nla)"
name[Group1]= "Urdu (WinKeys)";
@@ -1457,7 +1457,7 @@ xkb_symbols "guru" {
// http://www.satluj.org/Jhelum.html
//Modified for Inscript to make
//Original Author : Amanpreet Singh Alam <apreet.alam@gmail.com
-
+
partial alphanumeric_keys
xkb_symbols "jhelum" {
name[Group1] = "Punjabi (Gurmukhi Jhelum)";
@@ -1478,7 +1478,7 @@ xkb_symbols "jhelum" {
key <AE11> { [ minus,underscore] };
key <AE12> { [ equal,plus] };
key <BKSL> { [ U0964,U0965,U007C,U005C] }; //pipe : danda, double danda
-
+
//Q Row
key <AD01> { [ U0A4C, U0A14 ] }; // Q: oo, ooh
key <AD02> { [ U0A48, U0A10 ] }; // W: ee, ae
@@ -1490,9 +1490,9 @@ xkb_symbols "jhelum" {
key <AD08> { [ U0A17, U0A18, U0A5A ] }; // I:ga, gha
key <AD09> { [ U0A24, U0A1F ] }; // O: ta, tha
key <AD10> { [ U0A2A, U0A5E, VoidSymbol,U0A5E ] }; // P: pa, pha
- key <AD11> { [ U0A21, U0A22, bracketleft, braceleft ] };
+ key <AD11> { [ U0A21, U0A22, bracketleft, braceleft ] };
key <AD12> { [ U0A19, U0A1E, bracketright, braceright ] };
-
+
//A Row
key <AC01> { [ U0A4B, U0A13 ] }; // A: o, oo
key <AC02> { [ U0A47, U0A0F ] }; // S: e, ee
@@ -1505,7 +1505,7 @@ xkb_symbols "jhelum" {
key <AC09> { [ U0A32, U0A25, U0A33 ] }; // L: la, tha
key <AC10> { [ U0A38, colon, U0A36 ] }; //; sa
key <AC11> { [apostrophe, quotedbl ] };
-
+
//Z Row
key <AB01> { [ U0A71, U0A3C ] }; // Z: addak, par bindi
key <AB02> { [ U0A02, U0A70 ] }; // X: bindi, tippi
@@ -1517,7 +1517,7 @@ xkb_symbols "jhelum" {
key <AB08> { [ comma, U262C ] };// comma: comma, dev abbreviation sign
key <AB09> { [ period, U0A74 ] }; // period: period, nukta
key <AB10> { [ slash, question ] };
-
+
// modifier_map Shift { Shift_L };
// modifier_map Lock { Caps_Lock };
// modifier_map Control{ Control_L };
@@ -1534,15 +1534,15 @@ xkb_symbols "olpc" {
key <TLDE> { [ U094A, U0912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O
key <AE01> { [ U0967, U090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E
key <AE02> { [ U0968, U0945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E
- key <AE03> { [ U0969 ] }; // DEVANAGARI DIGIT THREE;
- key <AE04> { [ U096A ] }; // DEVANAGARI DIGIT FOUR;
- key <AE05> { [ U096B ] }; // DEVANAGARI DIGIT FIVE;
- key <AE06> { [ U096C ] }; // DEVANAGARI DIGIT SIX;
- key <AE07> { [ U096D ] }; // DEVANAGARI DIGIT SEVEN;
- key <AE08> { [ U096E ] }; // DEVANAGARI DIGIT EIGHT;
- key <AE09> { [ U096F, parenleft ] }; // DEVANAGARI DIGIT NINE;
- key <AE10> { [ U0966, parenright ] }; // DEVANAGARI DIGIT ZERO;
- key <AE11> { [ minus, U0903 ] }; // DEVANAGARI SIGN VISARGA;
+ key <AE03> { [ U0969 ] }; // DEVANAGARI DIGIT THREE;
+ key <AE04> { [ U096A ] }; // DEVANAGARI DIGIT FOUR;
+ key <AE05> { [ U096B ] }; // DEVANAGARI DIGIT FIVE;
+ key <AE06> { [ U096C ] }; // DEVANAGARI DIGIT SIX;
+ key <AE07> { [ U096D ] }; // DEVANAGARI DIGIT SEVEN;
+ key <AE08> { [ U096E ] }; // DEVANAGARI DIGIT EIGHT;
+ key <AE09> { [ U096F, parenleft ] }; // DEVANAGARI DIGIT NINE;
+ key <AE10> { [ U0966, parenright ] }; // DEVANAGARI DIGIT ZERO;
+ key <AE11> { [ minus, U0903 ] }; // DEVANAGARI SIGN VISARGA;
key <AE12> { [ U0943, U090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R
key <AD01> { [ U094C, U0914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU
@@ -1591,7 +1591,7 @@ xkb_symbols "olpc" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "hin-wx" {
name[Group1]= "Hindi (Wx)";
@@ -1678,13 +1678,13 @@ xkb_symbols "eng" {
// Comment : Based on the Inscript Keyboard created by M Baiju
// Mapping:
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mal_enhanced" {
name[Group1] = "Malayalam (enhanced Inscript with Rupee Sign)";
//From grave to backslash (\)
-
+
key <TLDE> { [ U0d4a , U0d12 ] };
key <AE01> { [ U0d67 , exclam ] };
key <AE02> { [ U0d68 , at ] };
@@ -1703,7 +1703,7 @@ xkb_symbols "mal_enhanced" {
// From 'q' to right bracket (])
-
+
key <AD01> { [ U0d57 , U0d14 ] };
key <AD02> { [ U0d48 , U0d10 ] };
key <AD03> { [ U0d3e , U0d06 ] };
@@ -1718,7 +1718,7 @@ xkb_symbols "mal_enhanced" {
key <AD12> { [ U0200d , U0d1e ] };
// From 'a' to apostrophe (')
-
+
key <AC01> { [ U0d4b , U0d13 ] };
key <AC02> { [ U0d47 , U0d0f ] };
key <AC03> { [ U0d4d , U0d05 ] };
@@ -1730,9 +1730,9 @@ xkb_symbols "mal_enhanced" {
key <AC09> { [ U0d24 , U0d25 ] };
key <AC10> { [ U0d1a , U0d1b ] };
key <AC11> { [ U0d1f , U0d20 ] };
-
+
// From 'z' to slash (/)
-
+
key <AB01> { [ U0d46 , U0d0e ] };
key <AB02> { [ U0d02 , U0d7a ] };
key <AB03> { [ U0d2e , U0d23 ] };
diff --git a/xorg-server/xkeyboard-config/symbols/inet b/xorg-server/xkeyboard-config/symbols/inet
index 839439a96..fe21f1ed7 100644
--- a/xorg-server/xkeyboard-config/symbols/inet
+++ b/xorg-server/xkeyboard-config/symbols/inet
@@ -1,8 +1,8 @@
-// EAK (Easy Access, Internet, Multimedia, PDA) keyboards
+// EAK (Easy Access keyboards: Internet, Multimedia, PDA)
// Copyright (C) 2002 Stanislav Brabec <sbrabec@suse.cz>
//
-// Based on LinEAK project
-// LinEAK - Linux support for Easy Access and Internet Keyboards
+// Based on the LinEAK project.
+// LinEAK - Linux support for Easy Access and Internet Keyboards
// Copyright (C) 2001, 2002 Mark Smulders <Mark@PIRnet.nl>
// Usage in XF86Config:
@@ -13,28 +13,25 @@
// Simple command line usage:
// setxkbmap 'my_kb_layout' -variant 'my_kb_variant' -model 'my_eak_type'
-// All keyboards listed here should be also mentioned in
-// rules/base, base.lst and base.xml.
-
-// Very common set of media keys
+// Very common set of media keys.
partial hidden alphanumeric_keys
xkb_symbols "media_common" {
- key <I01> { [ XF86AudioMedia ] };
+ key <I01> { [ XF86AudioMedia ] };
key <I10> { [ XF86AudioPrev ] };
key <I19> { [ XF86AudioNext ] };
key <I20> { [ XF86AudioMute ] };
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop, XF86Eject ] };
- key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
key <K5A> { [ XF86Eject ] };
key <K6C> { [ XF86Eject ] };
};
-// popular web navigation combination
+// Popular web navigation keys.
partial hidden alphanumeric_keys
xkb_symbols "nav_common" {
- key <I21> { [ XF86Calculator ] };
+ key <I21> { [ XF86Calculator ] };
key <I32> { [ XF86WWW ] };
key <I65> { [ XF86Search ] };
key <I66> { [ XF86Favorites ] };
@@ -44,7 +41,7 @@ xkb_symbols "nav_common" {
key <I6A> { [ XF86Back ] };
key <I6B> { [ XF86MyComputer ] };
key <I6C> { [ XF86Mail ] };
- key <I6D> { [ XF86AudioMedia ] };
+ key <I6D> { [ XF86AudioMedia ] };
};
// ACPI Standard
@@ -58,7 +55,7 @@ xkb_symbols "acpi_common" {
key <I16> { [ XF86Sleep ] };
};
-// Combined sections, for simplicity
+// Combined sections, for simplicity.
partial hidden alphanumeric_keys
xkb_symbols "media_nav_common" {
include "inet(media_common)"
@@ -122,7 +119,7 @@ xkb_symbols "evdev" {
key <FK20> { [ XF86AudioMicMute ] };
-// key <I120> { [ ] }; // KEY_MACRO
+// key <I120> { [ ] }; // KEY_MACRO
key <I126> { [ plusminus ] };
key <I128> { [ XF86LaunchA ] };
key <I147> { [ XF86MenuKB ] };
@@ -139,8 +136,8 @@ xkb_symbols "evdev" {
key <I158> { [ XF86WWW ] };
key <I159> { [ XF86DOS ] };
key <I160> { [ XF86ScreenSaver ] };
-// key <I161> { [ ] }; // KEY_DIRECTION
- key <I162> { [ XF86RotateWindows ] };
+ key <I161> { [ XF86RotateWindows ] };
+ key <I162> { [ XF86TaskPane ] };
key <I163> { [ XF86Mail ] };
key <I164> { [ XF86Favorites ] };
key <I165> { [ XF86MyComputer ] };
@@ -220,7 +217,7 @@ xkb_symbols "evdev" {
// key <I253> { [ ] }; // KEY_DISPLAY_OFF -- turn off display
// key <I254> { [ ] }; // KEY_WIMAX
key <I255> { [ XF86Hibernate ] }; // KEY_HIBERNATE
-
+
key <FK13> { [ XF86Tools ] };
key <FK14> { [ XF86Launch5 ] };
key <FK15> { [ XF86Launch6 ] };
@@ -230,6 +227,8 @@ xkb_symbols "evdev" {
};
+// Acer
+
// Acer AirKey V
partial alphanumeric_keys
xkb_symbols "airkey" {
@@ -299,15 +298,16 @@ xkb_symbols "acer_laptop" {
key <K66> { [ XF86Launch3 ] }; // Fn+F2 (HAL)
// Special Characters
- // To avoid setting a precedent/ standard that will be broken in later
+ // To avoid setting a precedent/standard that will be broken in later
// versions of HAL, these keys are commented out for now. When they are no
// longer marked 'FIXME' and have saner keycodes, these two entries can be
// fixed and permanently uncommented. In the meantime, just uncomment these
- // to make the keys work
+ // to make the keys work.
// key <K5D> { [ EuroSign ] }; // Euro (HAL)
// key <K5E> { [ dollar ] }; // Dollar (HAL)
};
+
// Azona
// Azona RF2300 wireless Internet Keyboard
@@ -374,7 +374,6 @@ xkb_symbols "btc5113rf" {
key <I32> { [ XF86Search ] };
};
-
// BTC 9000
partial alphanumeric_keys
xkb_symbols "btc9000" {
@@ -444,7 +443,8 @@ xkb_symbols "btc9019u" {
key <I02> { [ XF86HomePage ] };
};
-// Cherry Blue Line
+
+// Cherry
// Cherry Blue Line CyBo@rd
partial alphanumeric_keys
@@ -509,7 +509,7 @@ xkb_symbols "cherrycyboard" {
};
// Cherry CyMotion Expert
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "cherrycmexpert" {
include "inet(cherryblueb)"
include "inet(acpi_common)"
@@ -520,7 +520,7 @@ xkb_symbols "cherrycmexpert" {
// Chicony
// Chicony Internet Keyboard
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "chicony" {
include "inet(acpi_common)"
key <I12> { [ XF86AudioMute ] };
@@ -542,7 +542,7 @@ xkb_symbols "chicony" {
};
// Chicony KU-0108
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "chicony0108" {
include "inet(cherrycyboard)"
};
@@ -592,7 +592,7 @@ xkb_symbols "compaqeak8" {
};
// Compaq Internet Keyboard (7 keys)
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "compaqik7" {
key <I12> { [ XF86LightBulb ] };
key <I1E> { [ XF86Mail ] };
@@ -630,7 +630,6 @@ xkb_symbols "compaqik18" {
key <I68> { [ Print ] };
};
-
// Laptop/notebook Compaq (eg. Armada, Evo) Laptop Keyboard
partial alphanumeric_keys
xkb_symbols "armada" {
@@ -639,9 +638,9 @@ xkb_symbols "armada" {
key <I1E> { [ XF86Mail ] };
key <I1F> { [ XF86HomePage ] };
key <I23> { [ XF86WWW ] };
- key <I59> { [ XF86Launch2 ] }; // Battery Monitor
+ key <I59> { [ XF86Launch2 ] }; // Battery Monitor
key <I6F> { [ XF86AudioMedia ] };
- key <I75> { [ XF86Launch0 ] }; // Info Center
+ key <I75> { [ XF86Launch0 ] }; // Info Center
};
// Laptop/notebook Compaq (eg. Presario) Internet Keyboard
@@ -707,8 +706,8 @@ xkb_symbols "dellusbmm" {
// From Olivier Lahaye <olivier dot lahaye at motorola dot com>
include "inet(media_nav_acpi_common)"
key <I02> { [ XF86HomePage ] };
- key <K67> { [ XF86MyComputer ] };
- key <XFER> { [ XF86AudioMedia ] };
+ key <K67> { [ XF86MyComputer ] };
+ key <XFER> { [ XF86AudioMedia ] };
};
@@ -751,8 +750,7 @@ xkb_symbols "genius" {
key <I32> { [ XF86WWW ] };
};
-
-// GeniusComfy21e
+// Genius Comfy 21e
partial alphanumeric_keys
xkb_symbols "geniuscomfy2" {
// Describes the extra keys on a Genius Comfy KB-21e-Scroll
@@ -761,6 +759,7 @@ xkb_symbols "geniuscomfy2" {
key <I23> { [ Return ] };
};
+
// Gyration
partial alphanumeric_keys
@@ -781,7 +780,7 @@ xkb_symbols "gyration" {
// Hewlett-Packard
// Hewlett-Packard Internet Keyboard
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "hpi6" {
include "inet(media_nav_acpi_common)"
key <I02> { [ XF86HomePage ] };
@@ -944,9 +943,8 @@ xkb_symbols "honeywell_euroboard" {
// IBM
-
// IBM Rapid Access
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "rapidaccess" {
key <I12> { [ XF86AudioMute ] };
key <I17> { [ XF86Launch2 ] };
@@ -965,7 +963,7 @@ xkb_symbols "rapidaccess" {
};
// IBM Rapid Access II
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "rapidaccess2" {
include "inet(acpi_common)"
key <I12> { [ XF86AudioNext ] };
@@ -999,6 +997,7 @@ xkb_symbols "ibm_spacesaver" {
};
};
+
// Logitech
// Logitech common definitions
@@ -1041,8 +1040,8 @@ xkb_symbols "logitech_set3" {
partial alphanumeric_keys
xkb_symbols "logiaccess" {
include "inet(logitech_base)"
- key <FK13> { [ XF86MailForward ] };
- key <FK14> { [ XF86Send ] };
+ key <FK13> { [ XF86MailForward ] };
+ key <FK14> { [ XF86Send ] };
key <I11> { [ XF86Messenger ] };
key <I12> { [ XF86WebCam ] };
};
@@ -1069,10 +1068,9 @@ partial alphanumeric_keys
xkb_symbols "logiex110" {
include "inet(logitech_base)"
key <I2F> { [ XF86Close ] }; // Close
-
// Extended function keys
// In the Console before starting X
-// Using setkeycodes e03b 212 e03c 213 e03d 214 e03e 215 e03f 216 e040 217
+// Using setkeycodes e03b 212 e03c 213 e03d 214 e03e 215 e03f 216 e040 217
// setkeycodes e041 218 e042 219 e043 220 e044 221 e057 222 e058 223 6d 206
// *=keys that are there but need different symbol names.
key <I3B> { [ Help ] }; // F1
@@ -1163,7 +1161,7 @@ xkb_symbols "logiultraxc" {
key <KPDC> { [ XF86AudioRaiseVolume ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "logidinovo" {
include "inet(media_nav_common)"
key <I02> { [ XF86HomePage ] };
@@ -1175,7 +1173,7 @@ xkb_symbols "logidinovo" {
key <XFER> { [ XF86AudioMedia ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "logidinovoedge" {
include "inet(media_acpi_common)"
key <I02> { [ XF86HomePage ] };
@@ -1315,39 +1313,39 @@ xkb_symbols "microsoftinet" {
key <I68> { [ XF86AudioStop ] };
};
-// Microsoft Natural Keyboard Pro USB
-partial alphanumeric_keys
- xkb_symbols "microsoftprousb" {
+// Microsoft Natural Keyboard Pro USB
+partial alphanumeric_keys
+xkb_symbols "microsoftprousb" {
include "inet(nav_common)"
- key <FK16> { [ XF86Reload ] };
- key <I01> { [ XF86AudioMedia ] };
- key <I02> { [ XF86HomePage ] };
- key <I17> { [ XF86AudioStop ] };
- key <I1E> { [ XF86AudioRaiseVolume ] };
- key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
- key <I22> { [ XF86AudioNext ] };
- key <I24> { [ XF86AudioPrev ] };
- key <I25> { [ XF86AudioLowerVolume ] };
- key <I26> { [ XF86AudioMute ] };
- key <I63> { [ XF86Standby ] };
- // Internet Section -- Left Side
- // Multimedia Section -- Right Side
- // My Computer Section -- Far Right
- // My computer maps to printscreen, so leaving commented out for now
- // key <PRSC> { [ XF86MyComputer ] };
-};
-
-// Microsoft Natural Keyboard Pro OEM
-partial alphanumeric_keys
-xkb_symbols "microsoftprooem" {
+ key <FK16> { [ XF86Reload ] };
+ key <I01> { [ XF86AudioMedia ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I63> { [ XF86Standby ] };
+// Internet Section -- Left Side
+// Multimedia Section -- Right Side
+// My Computer Section -- Far Right
+// My computer maps to printscreen, so leaving commented out for now
+// key <PRSC> { [ XF86MyComputer ] };
+};
+
+// Microsoft Natural Keyboard Pro OEM
+partial alphanumeric_keys
+xkb_symbols "microsoftprooem" {
include "inet(media_nav_common)"
- key <FK17> { [ XF86Search ] };
- key <I02> { [ XF86HomePage ] };
- key <I63> { [ XF86Standby ] };
- key <K67> { [ XF86MyComputer ] };
-// Internet Section -- Left Side
-// Multimedia Section -- Right Side
-// My Computer Section -- Far Right
+ key <FK17> { [ XF86Search ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I63> { [ XF86Standby ] };
+ key <K67> { [ XF86MyComputer ] };
+// Internet Section -- Left Side
+// Multimedia Section -- Right Side
+// My Computer Section -- Far Right
};
// Microsoft Internet Keyboard Pro, Swedish
@@ -1401,28 +1399,28 @@ xkb_symbols "microsoftoffice" {
key <RCTL> { [ XF86Paste ] };
};
-// Microsoft Wireless Multimedia Keyboard 1.0A
-partial alphanumeric_keys
-xkb_symbols "microsoftmult" {
+// Microsoft Wireless Multimedia Keyboard 1.0A
+partial alphanumeric_keys
+xkb_symbols "microsoftmult" {
include "inet(media_nav_acpi_common)"
- key <AE13> { [ XF86Messenger ] };
- key <FK14> { [ XF86New ] };
- key <FK15> { [ XF86Open ] };
- key <FK16> { [ XF86Close ] };
- key <FK17> { [ XF86Reply ] };
- key <I07> { [ Redo ] };
- key <I08> { [ Undo ] };
- key <I16> { [ XF86LogOff ] };
- key <I23> { [ XF86Spell ] };
- key <I3B> { [ Help ] };
- key <I3C> { [ XF86Music ] };
- key <I42> { [ XF86Forward ] };
- key <I43> { [ XF86Send ] };
- key <I57> { [ XF86Save ] };
- key <I58> { [ Print ] };
- key <I64> { [ XF86Pictures ] };
- key <I80> { [ XF86Documents ] };
-};
+ key <AE13> { [ XF86Messenger ] };
+ key <FK14> { [ XF86New ] };
+ key <FK15> { [ XF86Open ] };
+ key <FK16> { [ XF86Close ] };
+ key <FK17> { [ XF86Reply ] };
+ key <I07> { [ Redo ] };
+ key <I08> { [ Undo ] };
+ key <I16> { [ XF86LogOff ] };
+ key <I23> { [ XF86Spell ] };
+ key <I3B> { [ Help ] };
+ key <I3C> { [ XF86Music ] };
+ key <I42> { [ XF86Forward ] };
+ key <I43> { [ XF86Send ] };
+ key <I57> { [ XF86Save ] };
+ key <I58> { [ Print ] };
+ key <I64> { [ XF86Pictures ] };
+ key <I80> { [ XF86Documents ] };
+};
// Oretec
@@ -1646,6 +1644,7 @@ xkb_symbols "symplon" {
key <UP> { [ XF86MenuPB ] };
};
+
// Toshiba
// Toshiba Satellite S3000
@@ -1663,6 +1662,7 @@ xkb_symbols "toshiba_s3000" {
key <I76> { [ XF86AudioLowerVolume ] };
};
+
// Trust
// Trust Wireless Keyboard Classic
@@ -1673,7 +1673,6 @@ xkb_symbols "trust" {
key <I1E> { [ XF86Eject ] };
};
-
// Trust Direct Access Keyboard
partial alphanumeric_keys
xkb_symbols "trustda" {
@@ -1711,6 +1710,7 @@ xkb_symbols "yahoo" {
key <I28> { [ XF86WWW ] };
};
+
// Apple keyboards (macbooks, powerbooks, powermac G5, etc)
partial alphanumeric_keys
xkb_symbols "apple" {
@@ -1751,14 +1751,15 @@ xkb_symbols "cymotionlinux" {
key <XFER> { [ XF86AudioMedia ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "silvercrest" {
include "inet(media_nav_acpi_common)"
- key <I02> { [ XF86HomePage ] };
+ key <I02> { [ XF86HomePage ] };
key <I21> { [ XF86Launch2 ] };
key <K67> { [ XF86Launch1 ] };
};
+
// eMachines
partial alphanumeric_keys
@@ -1782,13 +1783,12 @@ xkb_symbols "emachines" {
key <KPSU> { [ KP_Subtract ] };
};
+
// BenQ
+// BenQ X* (X730, X500, X800)
//
-// BenQ X*
-// (X730, X500, X800)
-//
-// to make the FN_LOCK and CONFIG key work on the BenQ X500 , use ...
+// To make the FN_LOCK and CONFIG key work on the BenQ X500 , use:
// setkeycodes e074 130 # KEY_PROPS from /usr/include/linux/input.h
// setkeycodes e075 171 # KEY_CONFIG from /usr/include/linux/input.h
partial alphanumeric_keys
@@ -1800,15 +1800,17 @@ xkb_symbols "benqx" {
key <I31> { [ XF86Calendar ] };
};
+
// Intel
// Intel Classmate
partial alphanumeric_keys
xkb_symbols "classmate" {
- key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
};
+
// Unitek
partial alphanumeric_keys
@@ -1822,6 +1824,7 @@ xkb_symbols "unitekkb1925" {
key <I1A> { [ XF86Reload ] };
};
+
// Creative
// Creative Desktop Wireless 7000
@@ -1831,6 +1834,7 @@ xkb_symbols "creativedw7000" {
key <I66> { [ XF86Pictures ] };
};
+
// Compal
// Compal FL90
@@ -1846,13 +1850,13 @@ xkb_symbols "pc105" {
include "inet(media_nav_acpi_common)"
};
+
// HTC Dream
partial alphanumeric_keys
xkb_symbols "htcdream" {
key <BKSP> { [ BackSpace ] };
key <RTRN> { [ Return ] };
- //first row
key <AE01> { [ 1, 1, exclam, exclam ] };
key <AE02> { [ 2, 2, at, at ] };
key <AE03> { [ 3, 3, numbersign, numbersign ] };
@@ -1864,12 +1868,10 @@ xkb_symbols "htcdream" {
key <AE09> { [ 9, 9, parenleft, parenleft ] };
key <AE10> { [ 0, 0, parenright, parenright ] };
- //fifth row
key <LFSH> { [ Shift_L ] };
key <SPCE> { [ space ] };
key <AB09> { [ period, period, slash, slash ] };
key <RTSH> { [ Shift_R ] };
- //modifiers
modifier_map Shift { <LFSH>, <RTSH> };
};
diff --git a/xorg-server/xkeyboard-config/symbols/ir b/xorg-server/xkeyboard-config/symbols/ir
index d0a11b749..983bf60d9 100644
--- a/xorg-server/xkeyboard-config/symbols/ir
+++ b/xorg-server/xkeyboard-config/symbols/ir
@@ -62,7 +62,7 @@ xkb_symbols "pes_part_basic" {
key <AD09> { [ Arabic_khah, bracketright, 0x100202e ] };
key <AD10> { [ Arabic_hah, bracketleft, 0x100202c ] };
key <AD11> { [ Arabic_jeem, braceright, 0x100202a ] };
- key <AD12> { [ Arabic_tcheh, braceleft, 0x100202b ] };
+ key <AD12> { [ Arabic_tcheh, braceleft, 0x100202b ] };
key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] };
key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] };
@@ -73,17 +73,15 @@ xkb_symbols "pes_part_basic" {
key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] };
key <AC08> { [ Arabic_noon, guillemotright, 0x100fd3e ] };
key <AC09> { [ Arabic_meem, guillemotleft, 0x100fd3f ] };
- key <AC10> { [ Arabic_keheh, colon, semicolon ] };
+ key <AC10> { [ Arabic_keheh, colon, semicolon ] };
key <AC11> { [ Arabic_gaf, Arabic_semicolon, quotedbl ] };
key <AB01> { [ Arabic_zah, Arabic_kaf, VoidSymbol ] };
key <AB02> { [ Arabic_tah, 0x1000653, VoidSymbol ] };
key <AB03> { [ Arabic_zain, Arabic_jeh, VoidSymbol ] };
- key <AB04> { [ Arabic_ra, Arabic_superscript_alef
-, 0x1000656 ] };
+ key <AB04> { [ Arabic_ra, Arabic_superscript_alef,0x1000656 ] };
key <AB05> { [ Arabic_thal, 0x100200c, 0x100200d ] };
- key <AB06> { [ Arabic_dal, Arabic_hamza_above
-, Arabic_hamza_below ] };
+ key <AB06> { [ Arabic_dal, Arabic_hamza_above, Arabic_hamza_below ] };
key <AB07> { [ Arabic_peh, Arabic_hamza, ellipsis ] };
key <AB08> { [ Arabic_waw, greater, comma ] };
key <AB09> { [ period, less, apostrophe ] };
@@ -169,7 +167,7 @@ xkb_symbols "ku_alt" {
//
// Copyright (C) 2006 Erdal Ronahî, published under the GPL v2
//
-// Special copyright note: author explicitly permitted to license this
+// Special copyright note: author explicitly permitted to license this
// layout under MIT/X11 license, for details see
// https://bugs.freedesktop.org/show_bug.cgi?id=9541
//
@@ -256,51 +254,51 @@ xkb_symbols "ave"
{
name[Group1] = "Avestan";
- key <AB01> { [ U10B30, U10B32 ] }; // 𐬰 𐬲
- key <AB02> { [ U10B11, U10B12 ] }; // 𐬑 𐬒
- key <AB03> { [ U10B17, UE102 ] }; // 𐬗 
- key <AB04> { [ U10B2C, U10B13 ] }; // 𐬬 𐬓
- key <AB05> { [ U10B20, U10B21 ] }; // 𐬠 𐬡
- key <AB06> { [ U10B25, U10B27 ] }; // 𐬥 𐬧
- key <AB07> { [ U10B28, U10B29 ] }; // 𐬨 𐬩
- key <AB08> { [ U10B3C, U10B39 ] }; // 𐬼 𐬹
- key <AB09> { [ U10B3E, U10B3D ] }; // 𐬾 𐬽
- key <AB10> { [ U10B3F, periodcentered ] }; // 𐬿 ·
-
- key <AC01> { [ U10B00, U10B01 ] }; // 𐬀 𐬁
- key <AC02> { [ U10B2F, U10B31 ] }; // 𐬯 𐬱
- key <AC03> { [ U10B1B, U10B1C ] }; // 𐬛 𐬜
- key <AC04> { [ U10B1F, U10B16 ] }; // 𐬟 𐬖
- key <AC05> { [ U10B14, U10B15 ] }; // 𐬔 𐬕
- key <AC06> { [ U10B35, UE100 ] }; // 𐬵 
- key <AC07> { [ U10B18, U10B24 ] }; // 𐬘 𐬤
- key <AC08> { [ U10B10, UE101 ] }; // 𐬐 
- key <AC09> { [ U10B2E, UE103 ] }; // 𐬮 
- key <AC10> { [ U10B3B, U10B3A ] }; // 𐬻 𐬺
- key <AC11> { [ U10B1D ] }; // 𐬝
-
- key <AD01> { [ U10B22, U10B23 ] }; // 𐬢 𐬣
- key <AD02> { [ U10B33, U10B34 ] }; // 𐬳 𐬴
- key <AD03> { [ U10B08, U10B09 ] }; // 𐬈 𐬉
- key <AD04> { [ U10B2D, U10B26 ] }; // 𐬭 𐬦
- key <AD05> { [ U10B19, U10B1A ] }; // 𐬙 𐬚
- key <AD06> { [ U10B2B, U10B2A ] }; // 𐬫 𐬪
- key <AD07> { [ U10B0E, U10B0F ] }; // 𐬎 𐬏
- key <AD08> { [ U10B0C, U10B0D ] }; // 𐬌 𐬍
+ key <AB01> { [ U10B30, U10B32 ] }; // 𐬰 𐬲
+ key <AB02> { [ U10B11, U10B12 ] }; // 𐬑 𐬒
+ key <AB03> { [ U10B17, UE102 ] }; // 𐬗 
+ key <AB04> { [ U10B2C, U10B13 ] }; // 𐬬 𐬓
+ key <AB05> { [ U10B20, U10B21 ] }; // 𐬠 𐬡
+ key <AB06> { [ U10B25, U10B27 ] }; // 𐬥 𐬧
+ key <AB07> { [ U10B28, U10B29 ] }; // 𐬨 𐬩
+ key <AB08> { [ U10B3C, U10B39 ] }; // 𐬼 𐬹
+ key <AB09> { [ U10B3E, U10B3D ] }; // 𐬾 𐬽
+ key <AB10> { [ U10B3F, periodcentered ] }; // 𐬿 ·
+
+ key <AC01> { [ U10B00, U10B01 ] }; // 𐬀 𐬁
+ key <AC02> { [ U10B2F, U10B31 ] }; // 𐬯 𐬱
+ key <AC03> { [ U10B1B, U10B1C ] }; // 𐬛 𐬜
+ key <AC04> { [ U10B1F, U10B16 ] }; // 𐬟 𐬖
+ key <AC05> { [ U10B14, U10B15 ] }; // 𐬔 𐬕
+ key <AC06> { [ U10B35, UE100 ] }; // 𐬵 
+ key <AC07> { [ U10B18, U10B24 ] }; // 𐬘 𐬤
+ key <AC08> { [ U10B10, UE101 ] }; // 𐬐 
+ key <AC09> { [ U10B2E, UE103 ] }; // 𐬮 
+ key <AC10> { [ U10B3B, U10B3A ] }; // 𐬻 𐬺
+ key <AC11> { [ U10B1D ] }; // 𐬝
+
+ key <AD01> { [ U10B22, U10B23 ] }; // 𐬢 𐬣
+ key <AD02> { [ U10B33, U10B34 ] }; // 𐬳 𐬴
+ key <AD03> { [ U10B08, U10B09 ] }; // 𐬈 𐬉
+ key <AD04> { [ U10B2D, U10B26 ] }; // 𐬭 𐬦
+ key <AD05> { [ U10B19, U10B1A ] }; // 𐬙 𐬚
+ key <AD06> { [ U10B2B, U10B2A ] }; // 𐬫 𐬪
+ key <AD07> { [ U10B0E, U10B0F ] }; // 𐬎 𐬏
+ key <AD08> { [ U10B0C, U10B0D ] }; // 𐬌 𐬍
key <AD09> { [ U10B0A, U10B0B ] }; // 𐬊 𐬋
- key <AD10> { [ U10B1E ] }; // 𐬞
- key <AD11> { [ U10B06, U10B07 ] }; // 𐬆 𐬇
- key <AD12> { [ U10B02, U10B03 ] }; // 𐬂 𐬃
-
- key <AE01> { [ U10B78 ] }; // 𐭸
- key <AE02> { [ U10B79 ] }; // 𐭹
- key <AE03> { [ U10B7A ] }; // 𐭺
- key <AE04> { [ U10B7B ] }; // 𐭻
- key <AE05> { [ U10B7C ] }; // 𐭼
- key <AE06> { [ U10B7D ] }; // 𐭽
- key <AE07> { [ U10B7E ] }; // 𐭾
- key <AE08> { [ U10B7F ] }; // 𐭿
-
- key <BKSL> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
- key <LSGT> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
+ key <AD10> { [ U10B1E ] }; // 𐬞
+ key <AD11> { [ U10B06, U10B07 ] }; // 𐬆 𐬇
+ key <AD12> { [ U10B02, U10B03 ] }; // 𐬂 𐬃
+
+ key <AE01> { [ U10B78 ] }; // 𐭸
+ key <AE02> { [ U10B79 ] }; // 𐭹
+ key <AE03> { [ U10B7A ] }; // 𐭺
+ key <AE04> { [ U10B7B ] }; // 𐭻
+ key <AE05> { [ U10B7C ] }; // 𐭼
+ key <AE06> { [ U10B7D ] }; // 𐭽
+ key <AE07> { [ U10B7E ] }; // 𐭾
+ key <AE08> { [ U10B7F ] }; // 𐭿
+
+ key <BKSL> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
+ key <LSGT> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
};
diff --git a/xorg-server/xkeyboard-config/symbols/is b/xorg-server/xkeyboard-config/symbols/is
index 5137e2d71..34d6bed33 100644
--- a/xorg-server/xkeyboard-config/symbols/is
+++ b/xorg-server/xkeyboard-config/symbols/is
@@ -125,7 +125,7 @@ xkb_symbols "mac" {
key <AE11> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
key <AE12> { [ minus, underscore, endash, emdash ] };
-
+
//-- Row 4 (D) --//
key <AD01> { [ q, Q, paragraph, VoidSymbol ] };
key <AD02> { [ w, W, U2211, VoidSymbol ] };
@@ -139,8 +139,8 @@ xkb_symbols "mac" {
key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
key <AD11> { [ eth, Eth, U201e, U201c ] };
key <AD12> { [ apostrophe, question, questiondown, U00B7 ] };
-
-
+
+
//-- Row 3 (C) --//
key <AC01> { [ a, A, aring, Aring ] };
key <AC02> { [ s, S, ssharp, abovedot ] };
@@ -154,8 +154,8 @@ xkb_symbols "mac" {
key <AC10> { [ ae, AE, oe, OE ] };
key <AC11> { [ dead_acute, dead_diaeresis, U201A, U2018 ] };
key <BKSL> { [ plus, asterisk, U2022, plusminus ] };
-
-
+
+
//-- Row 2 (B) --//
key <LSGT> { [ less, greater, section, UF8FF ] };
key <AB01> { [ z, Z, U3A9, VoidSymbol ] };
@@ -191,7 +191,7 @@ xkb_symbols "mac" {
// -- Ævar Arnfjörð Bjarmason <avarab@gmail.com>
// Icelandic Dvorak
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "dvorak" {
name[Group1]= "Icelandic (Dvorak)";
diff --git a/xorg-server/xkeyboard-config/symbols/it b/xorg-server/xkeyboard-config/symbols/it
index 3e402c98a..8a66a306a 100644
--- a/xorg-server/xkeyboard-config/symbols/it
+++ b/xorg-server/xkeyboard-config/symbols/it
@@ -33,6 +33,8 @@ xkb_symbols "basic" {
key <LSGT> { [ less, greater,guillemotleft,guillemotright] };
+ include "kpdl(comma)"
+
include "level3(ralt_switch)"
};
@@ -175,7 +177,7 @@ xkb_symbols "us" {
include "us(euro)"
name[Group1]= "Italian (US keyboard with Italian letters)";
-
+
key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AE01> { [ 1, exclam, onesuperior ] };
key <AE02> { [ 2, at, twosuperior ] };
diff --git a/xorg-server/xkeyboard-config/symbols/jp b/xorg-server/xkeyboard-config/symbols/jp
index 189228e57..52f574623 100644
--- a/xorg-server/xkeyboard-config/symbols/jp
+++ b/xorg-server/xkeyboard-config/symbols/jp
@@ -101,6 +101,14 @@ xkb_symbols "common" {
};
partial alphanumeric_keys
+xkb_symbols "henkan" {
+ key <XFER> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Henkan, Mode_switch ]
+ };
+};
+
+partial alphanumeric_keys
xkb_symbols "OADG109A" {
include "jp(common)"
diff --git a/xorg-server/xkeyboard-config/symbols/ke b/xorg-server/xkeyboard-config/symbols/ke
index 74e8c2dd2..d58796d76 100644
--- a/xorg-server/xkeyboard-config/symbols/ke
+++ b/xorg-server/xkeyboard-config/symbols/ke
@@ -9,7 +9,7 @@ xkb_symbols "swa" {
include "us"
name[Group1]= "Swahili (Kenya)";
-
+
key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
key <TLDE> { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; //COMBINING GRAVE ACCENT, COMBINING TILDE
@@ -18,17 +18,17 @@ xkb_symbols "swa" {
key <AE09> { [ 9, parenleft, 0x01000306 ] }; //COMBINING BREVE
key <AE10> { [ 0, parenright, 0x0100030c ] }; //COMBINING CARON
key <AE11> { [ minus, underscore, 0x01000304, 0x01000331 ] }; //COMBINING MACRON,COMBINING MACRON BELOW
-
+
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "kik" {
include "us"
name[Group1]= "Kikuyu";
-
+
key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
key <TLDE> { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; //COMBINING GRAVE ACCENT, COMBINING TILDE
@@ -37,6 +37,6 @@ xkb_symbols "kik" {
key <AE09> { [ 9, parenleft, 0x01000306 ] }; //COMBINING BREVE
key <AE10> { [ 0, parenright, 0x0100030c ] }; //COMBINING CARON
key <AE11> { [ minus, underscore, 0x01000304, 0x01000331 ] }; //COMBINING MACRON,COMBINING MACRON BELOW
-
+
include "level3(ralt_switch)"
};
diff --git a/xorg-server/xkeyboard-config/symbols/keypad b/xorg-server/xkeyboard-config/symbols/keypad
index bc47a90e9..9b49a5773 100644
--- a/xorg-server/xkeyboard-config/symbols/keypad
+++ b/xorg-server/xkeyboard-config/symbols/keypad
@@ -349,7 +349,7 @@ xkb_symbols "legacynumber" {
key <KP7> { [ KP_Home, KP_7 ] }; // <home> 7
key <KP8> { [ KP_Up, KP_8 ] }; // <up> 8
key <KP9> { [ KP_Prior, KP_9 ] }; // <prior> 9
-
+
key <KP4> { [ KP_Left, KP_4 ] }; // <left> 4
key <KP5> { [ KP_Begin, KP_5 ] }; // <begin> 5
key <KP6> { [ KP_Right, KP_6 ] }; // <right> 6
@@ -391,7 +391,7 @@ xkb_symbols "legacynumber_wang" {
key <KP7> { [ KP_Home, KP_7, less ] }; // <home> 7 <
key <KP8> { [ KP_Up, KP_8, greater ] }; // <up> 8 >
key <KP9> { [ KP_Prior, KP_9, asciicircum ] }; // <prior> 9 ^
-
+
key <KP4> { [ KP_Left, KP_4, bracketleft ] }; // <left> 4 [
key <KP5> { [ KP_Begin, KP_5, bracketright ] }; // <begin> 5 ]
key <KP6> { [ KP_Right, KP_6, dollar ] }; // <right> 6 $
@@ -431,7 +431,7 @@ xkb_symbols "ossnumber" {
key <KP7> { [ KP_Home, KP_7, 0x1002196, 0x10021D6 ] }; // <home> 7 ↖ ⇖
key <KP8> { [ KP_Up, KP_8, 0x1002191, 0x10021D1 ] }; // <up> 8 ↑ ⇑
key <KP9> { [ KP_Prior, KP_9, 0x1002197, 0x10021D7 ] }; // <prior> 9 ↗ ⇗
-
+
key <KP4> { [ KP_Left, KP_4, 0x1002190, 0x10021D0 ] }; // <left> 4 ← ⇐
key <KP5> { [ KP_Begin, KP_5, 0x1002194, 0x10021D4 ] }; // <begin> 5 ↔ ⇔
key <KP6> { [ KP_Right, KP_6, 0x1002192, 0x10021D2 ] }; // <right> 6 → ⇒
@@ -471,7 +471,7 @@ xkb_symbols "ossnumber_wang" {
key <KP7> { [ KP_Home, KP_7, less, 0x1002196 ] }; // <home> 7 < ↖
key <KP8> { [ KP_Up, KP_8, greater, 0x1002191 ] }; // <up> 8 > ↑
key <KP9> { [ KP_Prior, KP_9, asciicircum, 0x1002197 ] }; // <prior> 9 ^ ↗
-
+
key <KP4> { [ KP_Left, KP_4, bracketleft, 0x1002190 ] }; // <left> 4 [ ←
key <KP5> { [ KP_Begin, KP_5, bracketright, 0x1002194 ] }; // <begin> 5 ] ↔
key <KP6> { [ KP_Right, KP_6, dollar, 0x1002192 ] }; // <right> 6 $ →
@@ -532,7 +532,7 @@ xkb_symbols "hex" {
key <KP7> { [ NoSymbol, NoSymbol, a ] };
key <KP8> { [ NoSymbol, NoSymbol, b ] };
key <KP9> { [ NoSymbol, NoSymbol, c ] };
-
+
// home row
key <KP4> { [ NoSymbol, NoSymbol, d ] };
key <KP5> { [ NoSymbol, NoSymbol, e ] };
diff --git a/xorg-server/xkeyboard-config/symbols/kh b/xorg-server/xkeyboard-config/symbols/kh
index ee58abf2f..5c1723324 100644
--- a/xorg-server/xkeyboard-config/symbols/kh
+++ b/xorg-server/xkeyboard-config/symbols/kh
@@ -27,7 +27,7 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Khmer (Cambodia)";
-
+
// there are four levels defined:
//
// normal shift right-alt right-alt + shift
@@ -93,13 +93,13 @@ xkb_symbols "basic" {
// third level with right-Alt
include "level3(ralt_switch)"
-
+
};
partial alphanumeric_keys
xkb_symbols "olpc" {
include "kh(basic)"
-
+
// Contact Walter@laptop.org
key <AC10> { [ 0x10017be, 0x10017c8, 0x10017d6, 0x10019f5 ] };
diff --git a/xorg-server/xkeyboard-config/symbols/kr b/xorg-server/xkeyboard-config/symbols/kr
index ced9a0720..84c0effca 100644
--- a/xorg-server/xkeyboard-config/symbols/kr
+++ b/xorg-server/xkeyboard-config/symbols/kr
@@ -16,13 +16,13 @@ xkb_symbols "kr104" {
partial hidden function_keys
xkb_symbols "koreankeys" {
key <K71> { [ Hangul ] };
- key <K72> { [ Hangul_Hanja ] };
+ key <K72> { [ Hangul_Hanja ] };
};
partial hidden function_keys
xkb_symbols "koreankeys_raltctl" {
key <RALT> { [ Hangul ] };
- key <RCTL> { [ Hangul_Hanja ] };
+ key <RCTL> { [ Hangul_Hanja ] };
};
// EXTRAS:
diff --git a/xorg-server/xkeyboard-config/symbols/lt b/xorg-server/xkeyboard-config/symbols/lt
index 8b6b80e5f..ee6b73708 100644
--- a/xorg-server/xkeyboard-config/symbols/lt
+++ b/xorg-server/xkeyboard-config/symbols/lt
@@ -68,7 +68,7 @@ xkb_symbols "us" {
//
// Made by Gediminas Paulauskas <menesis@delfi.lt>
// Minor modifications by Ričardas Čepas and Rimas Kudelis
-
+
partial alphanumeric_keys modifier_keys
xkb_symbols "std" {
@@ -121,7 +121,7 @@ xkb_symbols "std" {
//
// Made by Piter PUNK <piterpk@terra.com.br>
// Minor modifications and cleanup by Rimas Kudelis, 2010
-
+
partial alphanumeric_keys modifier_keys
xkb_symbols "ibm" {
@@ -169,12 +169,12 @@ xkb_symbols "ibm" {
partial alphanumeric_keys modifier_keys
xkb_symbols "lekp" {
-
+
include "capslock(backspace)"
include "level3(ralt_switch)"
-
+
name[Group1]="Lithuanian (LEKP)";
-
+
key <TLDE> {[ grave, asciitilde, acute ]};
key <AE01> {[ slash, numbersign, bar ]};
key <AE02> {[ backslash, at, section ]};
diff --git a/xorg-server/xkeyboard-config/symbols/mao b/xorg-server/xkeyboard-config/symbols/mao
index bf3482679..cc73d25f3 100644
--- a/xorg-server/xkeyboard-config/symbols/mao
+++ b/xorg-server/xkeyboard-config/symbols/mao
@@ -2,7 +2,7 @@ default partial alphanumeric_keys
xkb_symbols "basic" {
// Adds the macrons needed for the Maori language to
- // a simple us keyboard layout.
+ // a simple US keyboard layout.
include "latin"
@@ -16,6 +16,7 @@ xkb_symbols "basic" {
key <AD07> { [ u, U, umacron, Umacron ] };
key <RALT> { type[Group1]="TWO_LEVEL",
- [ ISO_Level3_Shift, Multi_key ] };
+ [ ISO_Level3_Shift, Multi_key ] };
+
modifier_map Mod5 { <RALT> };
};
diff --git a/xorg-server/xkeyboard-config/symbols/md b/xorg-server/xkeyboard-config/symbols/md
index 1664da9cd..cd3430beb 100644
--- a/xorg-server/xkeyboard-config/symbols/md
+++ b/xorg-server/xkeyboard-config/symbols/md
@@ -29,11 +29,11 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "gag" {
-
+
include "us(basic)"
name[Group1]="Moldavian (Gagauz)";
-
+
key <TLDE> { [ grave, asciitilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, quotedbl, at ] };
@@ -47,7 +47,7 @@ xkb_symbols "gag" {
key <AE10> { [ 0, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
-
+
key <AD01> { [ tcedilla, Tcedilla, q, Q ] };
key <AD02> { [ ecircumflex, Ecircumflex, w, W ] };
key <AD03> { [ e, E ] };
@@ -60,7 +60,7 @@ xkb_symbols "gag" {
key <AD10> { [ p, P ] };
key <AD11> { [ odiaeresis, Odiaeresis, bracketleft, braceleft ] };
key <AD12> { [ udiaeresis, Udiaeresis, bracketright, braceright ] };
-
+
key <AC01> { [ a, A ] };
key <AC02> { [ s, S ] };
key <AC03> { [ d, D ] };
@@ -72,7 +72,7 @@ xkb_symbols "gag" {
key <AC09> { [ l, L ] };
key <AC10> { [ scedilla, Scedilla ] };
key <AC11> { [ idotless, I, apostrophe ] };
-
+
key <AB01> { [ z, Z ] };
key <AB02> { [ ccedilla, Ccedilla, x, X ] };
key <AB03> { [ c, Ccedilla ] };
@@ -83,7 +83,7 @@ xkb_symbols "gag" {
key <AB08> { [ adiaeresis, Adiaeresis ] };
key <AB09> { [ comma, less ] };
key <AB10> { [ period, greater, slash ] };
-
+
key <BKSL> { [ backslash, bar ] };
include "level3(ralt_switch)"
diff --git a/xorg-server/xkeyboard-config/symbols/mk b/xorg-server/xkeyboard-config/symbols/mk
index 40075848a..0903d6617 100644
--- a/xorg-server/xkeyboard-config/symbols/mk
+++ b/xorg-server/xkeyboard-config/symbols/mk
@@ -53,7 +53,7 @@ xkb_symbols "basic" {
key <AB08> { [ comma, semicolon ] };
key <AB09> { [ period, colon ] };
key <AB10> { [ slash, question ] };
-
+
include "kpdl(comma)"
};
diff --git a/xorg-server/xkeyboard-config/symbols/mv b/xorg-server/xkeyboard-config/symbols/mv
index cb05b8b3c..e6836f3bb 100644
--- a/xorg-server/xkeyboard-config/symbols/mv
+++ b/xorg-server/xkeyboard-config/symbols/mv
@@ -18,7 +18,7 @@ xkb_symbols "basic" {
key <AE10> { [ 0, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
-
+
key <AD01> { [ 0x10007B0, 0x10007A4 ] };
key <AD02> { [ 0x1000787, 0x10007A2 ] };
key <AD03> { [ 0x10007AC, 0x10007AD ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ng b/xorg-server/xkeyboard-config/symbols/ng
index ea1fca278..ccd9d81ce 100644
--- a/xorg-server/xkeyboard-config/symbols/ng
+++ b/xorg-server/xkeyboard-config/symbols/ng
@@ -15,8 +15,8 @@ xkb_symbols "yoruba" {
name[Group1]= "Yoruba";
key <AD01> { [ 0x01001EB9, 0x01001EB8, q, Q ] };
- key <AB02> { [ 0x01001ECD, 0x01001ECC, x, X ] };
- key <AB04> { [ 0x01001E63, 0x01001E62, v, V ] };
+ key <AB02> { [ 0x01001ECD, 0x01001ECC, x, X ] };
+ key <AB04> { [ 0x01001E63, 0x01001E62, v, V ] };
};
partial alphanumeric_keys
@@ -26,7 +26,7 @@ xkb_symbols "igbo" {
name[Group1]= "Igbo";
key <AD01> { [ 0x01001ECB, 0x01001ECA, q, Q ] };
- key <AB02> { [ 0x01001E45, 0x01001E44, x, X ] };
+ key <AB02> { [ 0x01001E45, 0x01001E44, x, X ] };
key <AC10> { [ 0x01001EE5, 0x01001EE4, semicolon, colon ] };
key <AD11> { [ 0x01001ECD, 0x01001ECC, bracketleft, braceleft ] };
};
diff --git a/xorg-server/xkeyboard-config/symbols/nl b/xorg-server/xkeyboard-config/symbols/nl
index ff60dbba7..1dde405f8 100644
--- a/xorg-server/xkeyboard-config/symbols/nl
+++ b/xorg-server/xkeyboard-config/symbols/nl
@@ -49,6 +49,8 @@ xkb_symbols "basic" {
key <LSGT> { [bracketright, bracketleft, bar, brokenbar ] };
+ include "kpdl(comma)"
+
include "level3(ralt_switch)"
};
@@ -132,7 +134,7 @@ xkb_symbols "sundeadkeys" {
};
// Copied from macintosh_vndr/nl
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac" {
include "latin"
diff --git a/xorg-server/xkeyboard-config/symbols/no b/xorg-server/xkeyboard-config/symbols/no
index 5bba1959e..5609de06e 100644
--- a/xorg-server/xkeyboard-config/symbols/no
+++ b/xorg-server/xkeyboard-config/symbols/no
@@ -53,7 +53,7 @@ xkb_symbols "nodeadkeys" {
};
// Norwegian Dvorak
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak)"
@@ -186,7 +186,7 @@ xkb_symbols "smi_nodeadkeys" {
};
// Copied from macintosh_vndr/no
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac" {
// Describes the differences between a very simple en_US
@@ -211,7 +211,7 @@ xkb_symbols "mac" {
key <BKSL> { [ at, asterisk ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac_nodeadkeys" {
// Modifies the basic Norwegian layout to eliminate dead keys
@@ -222,7 +222,7 @@ xkb_symbols "mac_nodeadkeys" {
key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "colemak" {
// Colemak layout - http://colemak.com/
diff --git a/xorg-server/xkeyboard-config/symbols/pk b/xorg-server/xkeyboard-config/symbols/pk
index b85d887a3..8ab26ed5e 100644
--- a/xorg-server/xkeyboard-config/symbols/pk
+++ b/xorg-server/xkeyboard-config/symbols/pk
@@ -86,7 +86,7 @@ xkb_symbols "urd-crulp" {
key <AE10> { [ 0x10006F0 , 0x1000030, 0x1000028 ] };
key <AE11> { [ 0x100002D , 0x100005F ] };
- key <AE12> { [ 0x100003D , 0x100002B ] };
+ key <AE12> { [ 0x100003D , 0x100002B ] };
key <AD01> { [ 0x1000642 , 0x1000652 ] };
key <AD02> { [ 0x1000648 , 0x1000651, 0x1000602 ] };
key <AD03> { [ 0x1000639 , 0x1000670, 0x1000656 ] };
diff --git a/xorg-server/xkeyboard-config/symbols/pl b/xorg-server/xkeyboard-config/symbols/pl
index a448e2baa..a468e790d 100644
--- a/xorg-server/xkeyboard-config/symbols/pl
+++ b/xorg-server/xkeyboard-config/symbols/pl
@@ -62,6 +62,7 @@ xkb_symbols "legacy" {
name[Group1]="Polish (legacy)";
key <AD03> { [ e, E, eogonek, Eogonek ] };
+ key <AD07> { [ u, U, EuroSign, cent ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AC01> { [ a, A, aogonek, Aogonek ] };
@@ -131,10 +132,10 @@ xkb_symbols "qwertz" {
// "1/!" key. If you do not use Polish quotes at all, you can use "pl_basic" map.
// Basic Polish keymap (without Polish quotes)
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak)"
-
+
name[Group1] = "Polish (Dvorak)";
key <AD08> { [ c, C, cacute, Cacute ] };
@@ -146,7 +147,7 @@ xkb_symbols "dvorak" {
key <AC10> { [ s, S, sacute, Sacute ] };
key <AB09> { [ v, V, zacute, Zacute ] };
key <AB10> { [ z, Z, zabovedot, Zabovedot ] };
-
+
include "kpdl(comma)"
include "level3(ralt_switch)"
@@ -156,7 +157,7 @@ xkb_symbols "dvorak" {
partial alphanumeric_keys
xkb_symbols "dvorak_quotes" {
include "pl(dvorak)"
-
+
name[Group1] = "Polish (Dvorak, Polish quotes on quotemark key)";
key <AD01> { [ apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark ] };
@@ -482,7 +483,7 @@ xkb_symbols "colemak" {
key <AB02> { [ x, X, zacute, Zacute ] };
key <AB03> { [ c, C, cacute, Cacute ] };
key <AC01> { [ a, A, aogonek, Aogonek ] };
- key <AC03> { [ s, S, sacute, Sacute ] };
+ key <AC03> { [ s, S, sacute, Sacute ] };
key <AC07> { [ n, N, nacute, Nacute ] };
key <AC08> { [ e, E, eogonek, Eogonek ] };
key <AC10> { [ o, O, oacute, Oacute ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ru b/xorg-server/xkeyboard-config/symbols/ru
index c48637637..043e011e6 100644
--- a/xorg-server/xkeyboard-config/symbols/ru
+++ b/xorg-server/xkeyboard-config/symbols/ru
@@ -22,7 +22,7 @@ xkb_symbols "winkeys" {
key <BKSL> { [ backslash, slash ] };
};
-partial hidden alphanumeric_keys
+partial hidden alphanumeric_keys
xkb_symbols "common" {
key <AE01> { [ 1, exclam ] };
@@ -179,7 +179,7 @@ xkb_symbols "phonetic" {
key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
- key <LatX> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
@@ -188,7 +188,7 @@ xkb_symbols "phonetic" {
key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
- key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatH> { [ Cyrillic_che, Cyrillic_CHE ] };
key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
@@ -201,7 +201,7 @@ xkb_symbols "phonetic" {
key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
- key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AE12> { [ Cyrillic_softsign, Cyrillic_softsign ] };
key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
};
@@ -242,7 +242,7 @@ xkb_symbols "tt" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "os_legacy" {
include "ru(common)"
@@ -253,7 +253,7 @@ xkb_symbols "os_legacy" {
key <AC11> { [ 0x010004D5, 0x010004D4 ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "os_winkeys" {
include "ru(winkeys)"
@@ -336,7 +336,7 @@ xkb_symbols "cv_latin" {
// Vlad Shakhov <lumpen.intellectual@gmail.com>
// Last Changes 2007/10/23 by Vlad Shakhov <lumpen.intellectual@gmail.com>
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "kom" {
include "ru(winkeys)"
@@ -348,7 +348,7 @@ xkb_symbols "kom" {
// cyrilllic o with diaeresis
key <AC07> { [ Cyrillic_o, Cyrillic_O,
U04E7, U04E6 ] };
-
+
// hard I as additional key for soft Cyrillic_I
key <AB05> { [ Cyrillic_i, Cyrillic_I,
Ukrainian_i, Ukrainian_I ] };
@@ -404,7 +404,7 @@ xkb_symbols "sah" {
//based on the Kalmyk language layout: http://soft.oyrat.org/
//Nikolay Korneev <halmg@oyrat.org>
//Toli Miron <mirontoli@gmail.com>
-
+
partial alphanumeric_keys
xkb_symbols "xal" {
include "ru(winkeys)"
@@ -416,24 +416,24 @@ xkb_symbols "xal" {
key <AE01> { [ question, exclam, 1 ] };
key <AE02> { [ numerosign, quotedbl, 2 ] };
key <AE03> { [ Cyrillic_u_straight, Cyrillic_U_straight, 3 ] };
- key <AE04> { [ Cyrillic_schwa, Cyrillic_SCHWA, 4 ] };
+ key <AE04> { [ Cyrillic_schwa, Cyrillic_SCHWA, 4 ] };
key <AE05> { [ asterisk, percent, 5 ] };
key <AE06> { [ Cyrillic_en_descender, Cyrillic_EN_descender, 6 ] };
- key <AE07> { [ Cyrillic_o_bar, Cyrillic_O_bar, 7 ] };
- key <AE08> { [ Cyrillic_shha, Cyrillic_SHHA, 8 ] };
+ key <AE07> { [ Cyrillic_o_bar, Cyrillic_O_bar, 7 ] };
+ key <AE08> { [ Cyrillic_shha, Cyrillic_SHHA, 8 ] };
key <AE09> { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, 9 ] };
key <AE10> { [ semicolon, colon, 0 ] };
key <TLDE> { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] };
key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, dollar ] };
- key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign ] };
- key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] };
- key <AD05> { [ Cyrillic_ie, Cyrillic_IE, trademark ] };
- key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE, trademark ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft ] };
key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright ] };
key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe ] };
- key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
key <AB08> { [ Cyrillic_be, Cyrillic_BE, less ] };
key <AB09> { [ Cyrillic_yu, Cyrillic_YU, greater ] };
@@ -476,7 +476,7 @@ xkb_symbols "bak" {
key <AE11> { [ minus, percent, minus, underscore ]};
key <AE12> { [ 0x010004af, 0x010004ae, equal, plus ]};
key <BKSL> { [ 0x010004a3, 0x010004a2, backslash, slash ]};
-
+
include "level3(ralt_switch)"
};
@@ -511,7 +511,7 @@ xkb_symbols "srp" {
partial alphanumeric_keys
xkb_symbols "chm" {
include "ru(common)"
-
+
name[Group1]= "Mari";
key.type[group1]="FOUR_LEVEL_ALPHABETIC";
diff --git a/xorg-server/xkeyboard-config/symbols/se b/xorg-server/xkeyboard-config/symbols/se
index a498f693d..7c37d2a1d 100644
--- a/xorg-server/xkeyboard-config/symbols/se
+++ b/xorg-server/xkeyboard-config/symbols/se
@@ -45,7 +45,7 @@ xkb_symbols "nodeadkeys" {
};
// Swedish Dvorak
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "dvorak" {
name[Group1]="Swedish (Dvorak)";
@@ -162,7 +162,7 @@ xkb_symbols "smi" {
};
// Copied from macintosh_vndr/se
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "mac" {
// Describes the differences between a very simple en_US
diff --git a/xorg-server/xkeyboard-config/symbols/si b/xorg-server/xkeyboard-config/symbols/si
index 6733d2bd1..cff5f5602 100644
--- a/xorg-server/xkeyboard-config/symbols/si
+++ b/xorg-server/xkeyboard-config/symbols/si
@@ -8,7 +8,7 @@ xkb_symbols "basic" {
key <TLDE> { type[Group1]="TWO_LEVEL", [ cedilla, diaeresis ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "us" {
name[Group1]= "Slovenian (US keyboard with Slovenian letters)";
@@ -19,7 +19,7 @@ xkb_symbols "us" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "alternatequotes" {
name[Group1]= "Slovenian (use guillemets for quotes)";
diff --git a/xorg-server/xkeyboard-config/symbols/sk b/xorg-server/xkeyboard-config/symbols/sk
index b48e5aa8d..2162d533d 100644
--- a/xorg-server/xkeyboard-config/symbols/sk
+++ b/xorg-server/xkeyboard-config/symbols/sk
@@ -1,6 +1,6 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
-
+
// This layout conforms to a new sk compromise standard designed
// to satisfy most unix, windows and mac users.
// 2001 by Kamil Toman <ktoman@email.cz>
@@ -46,7 +46,7 @@ xkb_symbols "basic" {
key <AC07> { [ j, J, apostrophe, NoSymbol ] };
key <AC08> { [ k, K, lstroke, NoSymbol ] };
key <AC09> { [ l, L, Lstroke, NoSymbol ] };
-
+
key <AC10> { [ocircumflex, quotedbl, dollar, NoSymbol ] };
key <AC11> { [ section, exclam, apostrophe, ssharp ] };
key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
@@ -78,13 +78,13 @@ xkb_symbols "bksl" {
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "qwerty" {
-
+
// This layout should work exactly as a sk with the exception
// of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
// 2001 by Kamil Toman <ktoman@email.cz>
-
+
include "sk(basic)"
name[Group1] = "Slovak (qwerty)";
diff --git a/xorg-server/xkeyboard-config/symbols/srvr_ctrl b/xorg-server/xkeyboard-config/symbols/srvr_ctrl
index 52b4eb9a0..902c51cf7 100644
--- a/xorg-server/xkeyboard-config/symbols/srvr_ctrl
+++ b/xorg-server/xkeyboard-config/symbols/srvr_ctrl
@@ -1,4 +1,4 @@
-// Actions which control the server's behavior
+// Actions which control the server's behavior.
partial keypad_keys function_keys
xkb_symbols "xfree86" {
@@ -6,7 +6,7 @@ xkb_symbols "xfree86" {
include "srvr_ctrl(fkey2vt)"
};
-partial function_keys
+partial function_keys
xkb_symbols "fkey2vt" {
key <FK01> {
@@ -68,7 +68,6 @@ xkb_symbols "fkey2vt" {
type="CTRL+ALT",
symbols[Group1]= [ F12, F12, F12, F12, XF86_Switch_VT_12 ]
};
-
};
partial function_keys keypad_keys
@@ -94,3 +93,18 @@ xkb_symbols "no_srvr_keys" {
key <KPSU> { [ KP_Subtract, KP_Subtract ] };
key <KPAD> { [ KP_Add, KP_Add ] };
};
+
+partial function_keys
+xkb_symbols "grab_debug" {
+
+ key <FK11> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F11, F11, F11, F11, XF86LogGrabInfo ]
+ };
+
+ key <FK12> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F12, F12, F12, F12, XF86LogWindowTree ]
+ };
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/th b/xorg-server/xkeyboard-config/symbols/th
index 9cdde53cd..c2390ffc4 100644
--- a/xorg-server/xkeyboard-config/symbols/th
+++ b/xorg-server/xkeyboard-config/symbols/th
@@ -59,12 +59,12 @@ xkb_symbols "basic" {
key <BKSL> { [ Thai_khokhuat, Thai_khokhon ] };
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "pat" {
name[Group1]= "Thai (Pattachote)";
// The thai layout defines a second keyboard group and changes
// the behavior of a few modifier keys.
-
+
// converted to THai keysysms - Pablo Saratxaga pablo@mandrakesoft.com
// Pattachote modification by Visanu Euarchukiati -- visanu@inet.co.th
key <TLDE> { [ underscore, Thai_baht ] };
@@ -121,7 +121,7 @@ xkb_symbols "pat" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "tis" {
name[Group1]= "Thai (TIS-820.2538)";
// The thai layout defines a second keyboard group and changes
diff --git a/xorg-server/xkeyboard-config/symbols/tj b/xorg-server/xkeyboard-config/symbols/tj
index 38a7cd257..e7816cbf9 100644
--- a/xorg-server/xkeyboard-config/symbols/tj
+++ b/xorg-server/xkeyboard-config/symbols/tj
@@ -16,57 +16,57 @@ xkb_symbols "basic"
{
name[Group1] = "Tajik";
- include "kpdl(comma)"
+ include "kpdl(comma)"
include "level3(ralt_switch)"
- key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я
- key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] }; // ч Ч
- key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; // с С
- key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; // м М
- key <AB05> { [ Cyrillic_i, Cyrillic_I ] }; // и И
- key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; // т Т
- key <AB07> { [ 0x10004e3, 0x10004e2 ] }; // ӣ Ӣ
- key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; // б Б
- key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю
- key <AB10> { [ period, comma ] }; // . ,
- key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф
- key <AC02> { [ 0x10004b7, 0x10004b6 ] }; // ҷ Ҷ
- key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] }; // в В
- key <AC04> { [ Cyrillic_a, Cyrillic_A ] }; // а А
- key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] }; // п П
- key <AC06> { [ Cyrillic_er, Cyrillic_ER ] }; // р Р
- key <AC07> { [ Cyrillic_o, Cyrillic_O ] }; // о О
- key <AC08> { [ Cyrillic_el, Cyrillic_EL ] }; // л Л
- key <AC09> { [ Cyrillic_de, Cyrillic_DE ] }; // д Д
- key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж
- key <AC11> { [ Cyrillic_e, Cyrillic_E ] }; // э Э
- key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й
- key <AD02> { [ 0x100049b, 0x100049a ] }; // қ Қ
- key <AD03> { [ Cyrillic_u, Cyrillic_U ] }; // у У
- key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] }; // к К
- key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е
- key <AD06> { [ Cyrillic_en, Cyrillic_EN ] }; // н Н
- key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] }; // г Г
- key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш
- key <AD09> { [ 0x10004b3, 0x10004b2 ] }; // ҳ Ҳ
- key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З
- key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] }; // х Х
- key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ
- key <AE01> { [ 1, exclam, 0x10000a7 ] }; // 1 ! §
- key <AE02> { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « »
- key <AE03> { [ 3, numerosign ] }; // 3 №
- key <AE04> { [ 4, semicolon ] }; // 4 ;
- key <AE05> { [ 5, percent ] }; // 5 %
- key <AE06> { [ 6, colon, 0x1002013 ] }; // 6 : –
- key <AE07> { [ 7, question, ampersand ] }; // 7 ? &
- key <AE08> { [ 8, asterisk ] }; // 8 *
- key <AE09> { [ 9, parenleft ] }; // 9 (
- key <AE10> { [ 0, parenright, 0x10000b0 ] }; // 0 ) °
- key <AE11> { [ 0x1000493, 0x1000492, minus, underscore ] }; // ғ Ғ - _
- key <AE12> { [ 0x10004ef, 0x10004ee, equal, plus ] }; // ӯ Ӯ = +
- key <BKSL> { [ backslash, slash ] }; // \ /
- key <LSGT> { [ slash, bar ] }; // / |
- key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] }; // ч Ч
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; // с С
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; // м М
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] }; // и И
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; // т Т
+ key <AB07> { [ 0x10004e3, 0x10004e2 ] }; // ӣ Ӣ
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; // б Б
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю
+ key <AB10> { [ period, comma ] }; // . ,
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф
+ key <AC02> { [ 0x10004b7, 0x10004b6 ] }; // ҷ Ҷ
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] }; // в В
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] }; // а А
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] }; // п П
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] }; // р Р
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] }; // о О
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] }; // л Л
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] }; // д Д
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] }; // э Э
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й
+ key <AD02> { [ 0x100049b, 0x100049a ] }; // қ Қ
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] }; // у У
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] }; // к К
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] }; // н Н
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] }; // г Г
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш
+ key <AD09> { [ 0x10004b3, 0x10004b2 ] }; // ҳ Ҳ
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] }; // х Х
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ
+ key <AE01> { [ 1, exclam, 0x10000a7 ] }; // 1 ! §
+ key <AE02> { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « »
+ key <AE03> { [ 3, numerosign ] }; // 3 №
+ key <AE04> { [ 4, semicolon ] }; // 4 ;
+ key <AE05> { [ 5, percent ] }; // 5 %
+ key <AE06> { [ 6, colon, 0x1002013 ] }; // 6 : –
+ key <AE07> { [ 7, question, ampersand ] }; // 7 ? &
+ key <AE08> { [ 8, asterisk ] }; // 8 *
+ key <AE09> { [ 9, parenleft ] }; // 9 (
+ key <AE10> { [ 0, parenright, 0x10000b0 ] }; // 0 ) °
+ key <AE11> { [ 0x1000493, 0x1000492, minus, underscore ] }; // ғ Ғ - _
+ key <AE12> { [ 0x10004ef, 0x10004ee, equal, plus ] }; // ӯ Ӯ = +
+ key <BKSL> { [ backslash, slash ] }; // \ /
+ key <LSGT> { [ slash, bar ] }; // / |
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё
};
// --------------------------------------------------------------------
@@ -85,52 +85,52 @@ xkb_symbols "legacy"
include "kpdl(comma)"
include "level3(ralt_switch)"
- key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я
- key <AB02> { [ Cyrillic_che, Cyrillic_CHE, 0x10004b7, 0x10004b6 ] }; // ч Ч ҷ Ҷ
- key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; // с С
- key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; // м М
- key <AB05> { [ Cyrillic_i, Cyrillic_I, 0x10004e3, 0x10004e2 ] }; // и И ӣ Ӣ
- key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; // т Т
- key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; // ь Ь
- key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; // б Б
- key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю
- key <AB10> { [ period, comma ] }; // . ,
- key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф
- key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] }; // ы Ы
- key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] }; // в В
- key <AC04> { [ Cyrillic_a, Cyrillic_A ] }; // а А
- key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] }; // п П
- key <AC06> { [ Cyrillic_er, Cyrillic_ER ] }; // р Р
- key <AC07> { [ Cyrillic_o, Cyrillic_O ] }; // о О
- key <AC08> { [ Cyrillic_el, Cyrillic_EL ] }; // л Л
- key <AC09> { [ Cyrillic_de, Cyrillic_DE ] }; // д Д
- key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж
- key <AC11> { [ Cyrillic_e, Cyrillic_E ] }; // э Э
- key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й
- key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] }; // ц Ц
- key <AD03> { [ Cyrillic_u, Cyrillic_U, 0x10004ef, 0x10004ee ] }; // у У ӯ Ӯ
- key <AD04> { [ Cyrillic_ka, Cyrillic_KA, 0x100049b, 0x100049a ] }; // к К қ Қ
- key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е
- key <AD06> { [ Cyrillic_en, Cyrillic_EN ] }; // н Н
- key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, 0x1000493, 0x1000492 ] }; // г Г ғ Ғ
- key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш
- key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; // щ Щ
- key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З
- key <AD11> { [ Cyrillic_ha, Cyrillic_HA, 0x10004b3, 0x10004b2 ] }; // х Х ҳ Ҳ
- key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ
- key <AE01> { [ 1, exclam, 0x10000a7 ] }; // 1 ! §
- key <AE02> { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « »
- key <AE03> { [ 3, numerosign ] }; // 3 №
- key <AE04> { [ 4, semicolon ] }; // 4 ;
- key <AE05> { [ 5, percent ] }; // 5 %
- key <AE06> { [ 6, colon, 0x1002013 ] }; // 6 : –
- key <AE07> { [ 7, question, ampersand ] }; // 7 ? &
- key <AE08> { [ 8, asterisk ] }; // 8 *
- key <AE09> { [ 9, parenleft ] }; // 9 (
- key <AE10> { [ 0, parenright ] }; // 0 )
- key <AE11> { [ minus, underscore ] }; // - _
- key <AE12> { [ equal, plus ] }; // = +
- key <BKSL> { [ backslash, slash ] }; // \ /
- key <LSGT> { [ slash, bar ] }; // / |
- key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE, 0x10004b7, 0x10004b6 ] }; // ч Ч ҷ Ҷ
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; // с С
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; // м М
+ key <AB05> { [ Cyrillic_i, Cyrillic_I, 0x10004e3, 0x10004e2 ] }; // и И ӣ Ӣ
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; // т Т
+ key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; // ь Ь
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; // б Б
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю
+ key <AB10> { [ period, comma ] }; // . ,
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] }; // ы Ы
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] }; // в В
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] }; // а А
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] }; // п П
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] }; // р Р
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] }; // о О
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] }; // л Л
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] }; // д Д
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] }; // э Э
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] }; // ц Ц
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, 0x10004ef, 0x10004ee ] }; // у У ӯ Ӯ
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, 0x100049b, 0x100049a ] }; // к К қ Қ
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] }; // н Н
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, 0x1000493, 0x1000492 ] }; // г Г ғ Ғ
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; // щ Щ
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, 0x10004b3, 0x10004b2 ] }; // х Х ҳ Ҳ
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ
+ key <AE01> { [ 1, exclam, 0x10000a7 ] }; // 1 ! §
+ key <AE02> { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « »
+ key <AE03> { [ 3, numerosign ] }; // 3 №
+ key <AE04> { [ 4, semicolon ] }; // 4 ;
+ key <AE05> { [ 5, percent ] }; // 5 %
+ key <AE06> { [ 6, colon, 0x1002013 ] }; // 6 : –
+ key <AE07> { [ 7, question, ampersand ] }; // 7 ? &
+ key <AE08> { [ 8, asterisk ] }; // 8 *
+ key <AE09> { [ 9, parenleft ] }; // 9 (
+ key <AE10> { [ 0, parenright ] }; // 0 )
+ key <AE11> { [ minus, underscore ] }; // - _
+ key <AE12> { [ equal, plus ] }; // = +
+ key <BKSL> { [ backslash, slash ] }; // \ /
+ key <LSGT> { [ slash, bar ] }; // / |
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё
};
diff --git a/xorg-server/xkeyboard-config/symbols/tm b/xorg-server/xkeyboard-config/symbols/tm
index 8d84f9a85..e861b35c3 100644
--- a/xorg-server/xkeyboard-config/symbols/tm
+++ b/xorg-server/xkeyboard-config/symbols/tm
@@ -4,7 +4,7 @@
default partial
xkb_symbols "basic" {
name[Group1]="Turkmen";
-
+
include "us"
key <TLDE> { [ zcaron, Zcaron, grave, asciitilde ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ua b/xorg-server/xkeyboard-config/symbols/ua
index e286f4835..9aea09e05 100644
--- a/xorg-server/xkeyboard-config/symbols/ua
+++ b/xorg-server/xkeyboard-config/symbols/ua
@@ -8,7 +8,7 @@
default partial alphanumeric_keys
xkb_symbols "unicode" {
include "ua(winkeys)"
-
+
name[Group1]= "Ukrainian";
key <TLDE> { [ U2019, apostrophe, U0301, asciitilde ] }; // Apostrophe and Stress symbol
@@ -43,7 +43,7 @@ xkb_symbols "unicode" {
include "level3(ralt_switch)"
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "legacy" {
name[Group1]= "Ukrainian (legacy)";
@@ -105,7 +105,7 @@ xkb_symbols "legacy" {
partial alphanumeric_keys
xkb_symbols "winkeys" {
include "ua(legacy)"
-
+
name[Group1]= "Ukrainian (WinKeys)";
key <AE03> { [ 3, numerosign ] };
@@ -149,7 +149,7 @@ xkb_symbols "typewriter" {
partial alphanumeric_keys
xkb_symbols "phonetic" {
include "ua(legacy)"
-
+
name[Group1]= "Ukrainian (phonetic)";
key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
diff --git a/xorg-server/xkeyboard-config/symbols/us b/xorg-server/xkeyboard-config/symbols/us
index 0eff07539..4948a6345 100644
--- a/xorg-server/xkeyboard-config/symbols/us
+++ b/xorg-server/xkeyboard-config/symbols/us
@@ -425,7 +425,7 @@ xkb_symbols "dvorak-l" {
partial alphanumeric_keys
xkb_symbols "dvorak-r" {
-
+
include "us(dvorak)"
name[Group1]= "English (right handed Dvorak)";
@@ -726,7 +726,7 @@ xkb_symbols "mac" {
include "level3(ralt_switch)"
};
-
+
// Colemak symbols for xkb on X.Org Server 7.x
// 2006-01-01 Shai Coleman, http://colemak.com/
@@ -894,11 +894,11 @@ xkb_symbols "classmate-intl" {
oslash, Ooblique ] };
key <KPAD> { [ KP_Add, KP_Add,
paragraph, degree ] };
-
+
key <KP0> { [ KP_Insert, KP_0,
mu, mu ] };
key <KPDL> { [ KP_Delete, KP_Decimal,
- dead_abovedot, dead_caron ] };
+ dead_abovedot, dead_caron ] };
key <KPDV> { [ KP_Divide, KP_Divide,
questiondown, dead_hook ] };
@@ -927,9 +927,9 @@ xkb_symbols "classmate-alt-intl" {
key <KPAD> { [ KP_Add, KP_Add,
dead_ogonek, dead_diaeresis ] };
-
+
key <KPDL> { [ KP_Delete, KP_Decimal,
- dead_abovedot, dead_circumflex ] };
+ dead_abovedot, dead_circumflex ] };
key <KPDV> { [ KP_Divide, KP_Divide,
dead_hook, dead_hook ] };
@@ -975,11 +975,11 @@ xkb_symbols "classmate-altgr-intl" {
oslash, Ooblique ] };
key <KPAD> { [ KP_Add, KP_Add,
paragraph, degree ] };
-
+
key <KP0> { [ KP_Insert, KP_0,
mu, mu ] };
key <KPDL> { [ KP_Delete, KP_Decimal,
- dead_abovedot, dead_caron ] };
+ dead_abovedot, dead_caron ] };
key <KPDV> { [ KP_Divide, KP_Divide,
questiondown, dead_hook ] };
@@ -1399,7 +1399,7 @@ xkb_symbols "cz_sk_de" {
key <AE10> { [ 0, parenright, eacute, Eacute ] };
key <AE11> { [minus, underscore, ssharp, 0x1001E9E ] };
key <AE12> { [equal, plus, dead_acute, dead_caron ] };
-
+
key <AD03> { [ e, E, EuroSign, Eacute ] };
key <AD11> { [bracketleft, braceleft, udiaeresis, Udiaeresis ] };
@@ -1514,7 +1514,7 @@ xkb_symbols "alt-intl-unicode" {
};
-partial alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "ats" {
include "us"
@@ -1551,19 +1551,19 @@ xkb_symbols "crd" {
name[Group1]= "Coeur d'Alene Salish";
- key <AD02> { [ w, W, U02B7, U02B7 ] };
- key <AE07> { [ 7, ampersand, U0294 ] };
- key <AD01> { [ q, Q, U221A ] };
- key <AB04> { [ v, V, U0259 ] };
- key <BKSL> { [ backslash, bar, U026B ] };
- key <AD03> { [ e, E, U025B ] };
- key <AD08> { [ i, I, U026A ] };
- key <AC07> { [ j, J, U01F0 ] };
- key <AE06> { [ 6, asciicircum, U0295 ] };
- key <AC02> { [ s, S, U0161 ] };
- key <AB03> { [ c, C, U010D ] };
- key <AD09> { [ o, O, U0254 ] };
- key <AB09> { [ period, greater, U0323 ] };
+ key <AD02> { [ w, W, U02B7, U02B7 ] };
+ key <AE07> { [ 7, ampersand, U0294 ] };
+ key <AD01> { [ q, Q, U221A ] };
+ key <AB04> { [ v, V, U0259 ] };
+ key <BKSL> { [ backslash, bar, U026B ] };
+ key <AD03> { [ e, E, U025B ] };
+ key <AD08> { [ i, I, U026A ] };
+ key <AC07> { [ j, J, U01F0 ] };
+ key <AE06> { [ 6, asciicircum, U0295 ] };
+ key <AC02> { [ s, S, U0161 ] };
+ key <AB03> { [ c, C, U010D ] };
+ key <AD09> { [ o, O, U0254 ] };
+ key <AB09> { [ period, greater, U0323 ] };
include "level3(ralt_switch)"
include "compose(rctrl)"
diff --git a/xorg-server/xkeyboard-config/symbols/uz b/xorg-server/xkeyboard-config/symbols/uz
index e88741b73..d76e3c9b9 100644
--- a/xorg-server/xkeyboard-config/symbols/uz
+++ b/xorg-server/xkeyboard-config/symbols/uz
@@ -6,17 +6,17 @@
//
// Jun 2, 2003. Mashrab Kuvatov <kmashrab@uni-bremen.de>
//
-// Created based on Russian standard keyboard. AEN <aen@logic.ru>
-// The following symbols of Russian standard keyboard were replaced:
+// Created based on the Russian standard keyboard. AEN <aen@logic.ru>
+// The following symbols of the Russian standard keyboard were replaced:
// minus (key <AE11>) with Byelorussian_shortu (U045e),
-// equal (key <AE12>) with Cyrillic_ka_descender (U049b)
-// Cyrillic_ha (key <AD11>) with Cyrillic_ghe_bar (U0493)
-// Cyrillic_hardsign (key <AD12>) with Cyrillic_ha_descender (U04b3)
-// The following symbols of Russian standard keyboard were moved:
-// Cyrillic_ze to key <AC02> (english 's'),
-// Cyrillic_sha to key <AD08> (english 'i'),
-// Cyrillic_ha to key <AD09> (english 'o'),
-// Cyrillic_hardsign to key <AD10> (english 'p').
+// equal (key <AE12>) with Cyrillic_ka_descender (U049b),
+// Cyrillic_ha (key <AD11>) with Cyrillic_ghe_bar (U0493),
+// Cyrillic_hardsign (key <AD12>) with Cyrillic_ha_descender (U04b3).
+// The following symbols of the Russian standard keyboard were moved:
+// Cyrillic_ze to key <AC02> (English 's'),
+// Cyrillic_sha to key <AD08> (English 'i'),
+// Cyrillic_ha to key <AD09> (English 'o'),
+// Cyrillic_hardsign to key <AD10> (English 'p').
//
// Feb 25, 2007. Mashrab Kuvatov <kmashrab@uni-bremen.de>
//
@@ -28,62 +28,61 @@
// Latin variant is somewhat experimental, since there is no
// official standard for it. It is a copy of "us" layout, where
// apostrophe is replaced with U02BB.
-//
default partial alphanumeric_keys
xkb_symbols "cyrillic" {
name[Group1]= "Uzbek";
- key <AE01> { [ 1, exclam ] };
- key <AE02> { [ 2, quotedbl ] };
- key <AE03> { [ 3, numerosign ] };
- key <AE04> { [ 4, semicolon ] };
- key <AE05> { [ 5, percent ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, colon ] };
key <AE07> { [ 7, question ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
- key <BKSL> { [ backslash, bar ] };
+ key <BKSL> { [ backslash, bar ] };
key <AB10> { [ period, comma ] };
- key <LSGT> { [ slash, bar ] };
+ key <LSGT> { [ slash, bar ] };
key.type[group1]="ALPHABETIC";
- key <AE11> { [Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
+ key <AE11> { [Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
key <AE12> { [Cyrillic_ha_descender, Cyrillic_HA_descender ] };
key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
- key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
key <AD09> { [ Byelorussian_shortu, Byelorussian_SHORTU ] };
- key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
- key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
- key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
key <AC02> { [Cyrillic_ka_descender, Cyrillic_KA_descender ] };
key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
- key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
- key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
- key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
- key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
- key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
};
diff --git a/xorg-server/xkeyboard-config/symbols/za b/xorg-server/xkeyboard-config/symbols/za
index 75f6d9a27..aba979196 100644
--- a/xorg-server/xkeyboard-config/symbols/za
+++ b/xorg-server/xkeyboard-config/symbols/za
@@ -1,42 +1,42 @@
-// based on the Latvian and GB keyboard maps
+// Based on the Latvian and GB keyboard maps.
default partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
- // Describes the differences between an en_US
- // keyboard and a South African layout with
- // dead keys. By Dwayne Bailey (dwayne@translate.org.za)
+ // Describes the differences between an en_US layout
+ // and a South African layout with dead keys.
+ // By Dwayne Bailey (dwayne@translate.org.za).
include "latin"
name[Group1]="English (South Africa)";
- key <TLDE> { [ grave, asciitilde, dead_grave ] };
- key <AE02> { [ 2, at, yen ] };
- key <AE03> { [ 3, numbersign, sterling ] };
- key <AE04> { [ 4, dollar, dollar ] };
- key <AE05> { [ 5, percent, EuroSign ] };
- key <AE06> { [ 6, asciicircum, dead_circumflex ] };
-
- key <AD03> { [ e, E, ediaeresis, Ediaeresis ] };
- key <AD04> { [ r, R, ecircumflex, Ecircumflex ] };
- key <AD05> { [ t, T, U1e71, U1e70 ] };
- key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] };
- key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
- key <AD08> { [ i, I, idiaeresis, Idiaeresis ] };
- key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
- key <AD10> { [ p, P, ocircumflex, Ocircumflex ] };
-
- key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
- key <AC02> { [ s, S, scaron, Scaron ] };
- key <AC03> { [ d, D, U1e13, U1e12 ] };
- key <AC09> { [ l, L, U1e3d, U1e3c ] };
- key <AC10> { [ semicolon, colon, dead_diaeresis ] };
- key <AC11> { [apostrophe, quotedbl, dead_acute ] };
-
- key <AB06> { [ n, N, U1e4b, U1e4a ] };
- key <AB07> { [ m, M, U1e45, U1e44 ] };
- key <AB09> { [ period, greater, dead_abovedot ] };
+ key <TLDE> { [ grave, asciitilde, dead_grave ] };
+ key <AE02> { [ 2, at, yen ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, dollar, dollar ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AE06> { [ 6,asciicircum, dead_circumflex ] };
+
+ key <AD03> { [ e, E, ediaeresis, Ediaeresis ] };
+ key <AD04> { [ r, R, ecircumflex, Ecircumflex ] };
+ key <AD05> { [ t, T, U1e71, U1e70 ] };
+ key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] };
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, idiaeresis, Idiaeresis ] };
+ key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
+ key <AD10> { [ p, P, ocircumflex, Ocircumflex ] };
+
+ key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AC03> { [ d, D, U1e13, U1e12 ] };
+ key <AC09> { [ l, L, U1e3d, U1e3c ] };
+ key <AC10> { [ semicolon, colon, dead_diaeresis ] };
+ key <AC11> { [apostrophe, quotedbl, dead_acute ] };
+
+ key <AB06> { [ n, N, U1e4b, U1e4a ] };
+ key <AB07> { [ m, M, U1e45, U1e44 ] };
+ key <AB09> { [ period, greater, dead_abovedot ] };
include "level3(ralt_switch)"
};