Index: programs/Xserver/hw/xfree86/common/xf86Events.c =================================================================== RCS file: /usr/local/repos/xorg/xorg/xc/programs/Xserver/hw/xfree86/common/xf86Events.c,v retrieving revision 1.4 diff -u -r1.4 xf86Events.c --- programs/Xserver/hw/xfree86/common/xf86Events.c 11 Oct 2004 09:58:04 -0000 1.4 +++ programs/Xserver/hw/xfree86/common/xf86Events.c 27 Oct 2004 16:04:18 -0000 @@ -454,7 +454,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 */ @@ -470,7 +470,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"))) @@ -480,7 +480,7 @@ } if (kbdSun) goto special; -#endif /* __sparc__ && __linux__ */ +#endif /* __sparc__ && (__linux__ || __FreeBSD__) */ #ifdef __linux__ if (xf86Info.kbdCustomKeycodes) { @@ -635,7 +635,6 @@ scanCode = KEY_Pause; /* pause */ } -#ifndef __sparc64__ /* * PC keyboards generate separate key codes for * Alt+Print and Control+Pause but in the X keyboard model @@ -646,7 +645,6 @@ scanCode = KEY_Print; else if (scanCode == KEY_Break) scanCode = KEY_Pause; -#endif /* * and now get some special keysequences @@ -682,7 +680,7 @@ } } #endif -#if defined (__sparc__) && defined(__linux__) +#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__)) special: if (kbdSun) { switch (scanCode) { @@ -716,7 +714,7 @@ */ scanCode--; } -#endif /* defined (__sparc__) && defined(__linux__) */ +#endif /* __sparc__ && (__linux__ || __FreeBSD__) */ #ifdef XKB if ((xf86Info.ddxSpecialKeys == SKWhenNeeded &&