summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin E Martin <kem@kem.org>2004-08-31 01:36:13 +0000
committerKevin E Martin <kem@kem.org>2004-08-31 01:36:13 +0000
commitb9bece29e9733bdf4bb44da6ced4d3e0e433f6e5 (patch)
treeccdb045ba3a052aae54be735725ffbbb218fceb2
parent3d97e8a41a8a15769f43233a2ed7692387cb0b81 (diff)
downloadxorg-driver-xf86-input-keyboard-lg3d-dev-0-6-1-current.tar.gz
-rw-r--r--src/kbd.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/kbd.c b/src/kbd.c
index 20b786e..f611a66 100644
--- a/src/kbd.c
+++ b/src/kbd.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v 1.4 2004/08/16 22:48:51 kem Exp $ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v 1.5 2004/08/29 21:06:00 kem Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v 1.8 2003/11/03 05:11:47 tsi Exp $ */
/*
@@ -12,7 +12,7 @@
* xf86Events.c and xf86Io.c which are
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
*/
-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v 1.4 2004/08/16 22:48:51 kem Exp $ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v 1.5 2004/08/29 21:06:00 kem Exp $ */
#define NEED_EVENTS
#include "X.h"
@@ -588,6 +588,19 @@ PostKbdEvent(InputInfoPtr pInfo, unsigned int scanCode, Bool down)
return;
}
+#ifndef __sparc64__
+ /*
+ * PC keyboards generate separate key codes for
+ * Alt+Print and Control+Pause but in the X keyboard model
+ * they need to get the same key code as the base key on the same
+ * physical keyboard key.
+ */
+ if (scanCode == KEY_SysReqest)
+ scanCode = KEY_Print;
+ else if (scanCode == KEY_Break)
+ scanCode = KEY_Pause;
+#endif
+
/*
* Now map the scancodes to real X-keycodes ...
*/