Fix behaviour of keyboard under sparc64, where keycodes were off by one
(i.e., when pressing 'd' on keyboard, server would get code for 'f'). Submitted by: marius Approved by: portmgr (linimon), anholt (mentor)
This commit is contained in:
parent
da69dcb99d
commit
4985aab58d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=118153
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= server
|
||||
PORTVERSION= 6.7.0
|
||||
PORTREVISION= 7
|
||||
PORTREVISION= 8
|
||||
CATEGORIES= x11-servers
|
||||
MASTER_SITES= http://freedesktop.org/~xorg/X11R6.7.0/src/ \
|
||||
${MASTER_SITE_XORG}
|
||||
|
@ -48,6 +48,7 @@ SERVER_PATCHES= ${PORTSDIR}/x11-servers/xorg-server/files/patch-Xserver-Imakefil
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-man-Imakefile \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-os-Imakefile \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-savage-pci-id \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-xf86Events.c \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-xf86fbman.c \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-xf86sym.c \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-xf86drmCompat.c \
|
||||
|
47
x11-servers/xorg-server-snap/files/patch-xf86Events.c
Normal file
47
x11-servers/xorg-server-snap/files/patch-xf86Events.c
Normal file
@ -0,0 +1,47 @@
|
||||
--- programs/Xserver/hw/xfree86/common/xf86Events.c.orig Sat Dec 6 14:24:24 2003
|
||||
+++ programs/Xserver/hw/xfree86/common/xf86Events.c Tue Aug 31 00:27:37 2004
|
||||
@@ -448,7 +448,7 @@
|
||||
#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) || defined(WSCONS_SUPPORT)
|
||||
static Bool first_time = TRUE;
|
||||
#endif
|
||||
-#if defined(__sparc__) && defined(__linux__)
|
||||
+#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__))
|
||||
static int kbdSun = -1;
|
||||
#endif
|
||||
/* Disable any keyboard processing while in suspend */
|
||||
@@ -464,7 +464,7 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined (__sparc__) && defined(__linux__)
|
||||
+#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__))
|
||||
if (kbdSun == -1) {
|
||||
if ((xf86Info.xkbmodel && !strcmp(xf86Info.xkbmodel, "sun"))
|
||||
|| (xf86Info.xkbrules && !strcmp(xf86Info.xkbrules, "sun")))
|
||||
@@ -474,7 +474,7 @@
|
||||
}
|
||||
if (kbdSun)
|
||||
goto special;
|
||||
-#endif /* __sparc__ && __linux__ */
|
||||
+#endif /* __sparc__ && (__linux__ || __FreeBSD__) */
|
||||
|
||||
#ifdef __linux__
|
||||
if (xf86Info.kbdCustomKeycodes) {
|
||||
@@ -676,7 +676,7 @@
|
||||
}
|
||||
}
|
||||
#endif
|
||||
-#if defined (__sparc__) && defined(__linux__)
|
||||
+#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__))
|
||||
special:
|
||||
if (kbdSun) {
|
||||
switch (scanCode) {
|
||||
@@ -710,7 +710,7 @@
|
||||
*/
|
||||
scanCode--;
|
||||
}
|
||||
-#endif /* defined (__sparc__) && defined(__linux__) */
|
||||
+#endif /* __sparc__ && (__linux__ || __FreeBSD__) */
|
||||
|
||||
#ifdef XKB
|
||||
if ((xf86Info.ddxSpecialKeys == SKWhenNeeded &&
|
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= server
|
||||
PORTVERSION= 6.7.0
|
||||
PORTREVISION= 7
|
||||
PORTREVISION= 8
|
||||
CATEGORIES= x11-servers
|
||||
MASTER_SITES= http://freedesktop.org/~xorg/X11R6.7.0/src/ \
|
||||
${MASTER_SITE_XORG}
|
||||
|
@ -48,6 +48,7 @@ SERVER_PATCHES= ${PORTSDIR}/x11-servers/xorg-server/files/patch-Xserver-Imakefil
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-man-Imakefile \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-os-Imakefile \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-savage-pci-id \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-xf86Events.c \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-xf86fbman.c \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-xf86sym.c \
|
||||
${PORTSDIR}/x11-servers/xorg-server/files/patch-xf86drmCompat.c \
|
||||
|
47
x11-servers/xorg-server/files/patch-xf86Events.c
Normal file
47
x11-servers/xorg-server/files/patch-xf86Events.c
Normal file
@ -0,0 +1,47 @@
|
||||
--- programs/Xserver/hw/xfree86/common/xf86Events.c.orig Sat Dec 6 14:24:24 2003
|
||||
+++ programs/Xserver/hw/xfree86/common/xf86Events.c Tue Aug 31 00:27:37 2004
|
||||
@@ -448,7 +448,7 @@
|
||||
#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) || defined(WSCONS_SUPPORT)
|
||||
static Bool first_time = TRUE;
|
||||
#endif
|
||||
-#if defined(__sparc__) && defined(__linux__)
|
||||
+#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__))
|
||||
static int kbdSun = -1;
|
||||
#endif
|
||||
/* Disable any keyboard processing while in suspend */
|
||||
@@ -464,7 +464,7 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined (__sparc__) && defined(__linux__)
|
||||
+#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__))
|
||||
if (kbdSun == -1) {
|
||||
if ((xf86Info.xkbmodel && !strcmp(xf86Info.xkbmodel, "sun"))
|
||||
|| (xf86Info.xkbrules && !strcmp(xf86Info.xkbrules, "sun")))
|
||||
@@ -474,7 +474,7 @@
|
||||
}
|
||||
if (kbdSun)
|
||||
goto special;
|
||||
-#endif /* __sparc__ && __linux__ */
|
||||
+#endif /* __sparc__ && (__linux__ || __FreeBSD__) */
|
||||
|
||||
#ifdef __linux__
|
||||
if (xf86Info.kbdCustomKeycodes) {
|
||||
@@ -676,7 +676,7 @@
|
||||
}
|
||||
}
|
||||
#endif
|
||||
-#if defined (__sparc__) && defined(__linux__)
|
||||
+#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__))
|
||||
special:
|
||||
if (kbdSun) {
|
||||
switch (scanCode) {
|
||||
@@ -710,7 +710,7 @@
|
||||
*/
|
||||
scanCode--;
|
||||
}
|
||||
-#endif /* defined (__sparc__) && defined(__linux__) */
|
||||
+#endif /* __sparc__ && (__linux__ || __FreeBSD__) */
|
||||
|
||||
#ifdef XKB
|
||||
if ((xf86Info.ddxSpecialKeys == SKWhenNeeded &&
|
Loading…
Reference in New Issue
Block a user