open-src/xserver/xorg/xephyr.patch
changeset 143 a1d0fad37e5a
parent 101 9cf86bf83343
child 194 c2b76d8a41f7
--- a/open-src/xserver/xorg/xephyr.patch	Tue Apr 17 16:23:52 2007 -0700
+++ b/open-src/xserver/xorg/xephyr.patch	Tue Apr 17 16:55:27 2007 -0700
@@ -81,3 +81,52 @@
  extern int	      kdMinScanCode;
  extern int	      kdMaxScanCode;
  extern int	      kdMinKeyCode;
+
+
+Backport to 7.2 of commit 47c1c948e69cfba950ad37a3133fa2db0bd0ff2c
+Original Author: Daniel Stone <[email protected]>
+Date:   Tue Aug 15 15:25:16 2006 +0300
+
+    kdrive/input: only run special key behaviours on non-XKB
+    Only attempt to manually deal with special key behaviours (e.g. terminating
+    the server) when not using XKB, and leave locking behaviour up to GKVE.
+
+--- xorg-server-1.2.0/hw/kdrive/src/kinput.c	2007-01-22 21:39:15.000000000 -0800
++++ xorg-server-1.2.0/hw/kdrive/src/kinput.c	2007-04-09 18:58:43.562841000 -0700
+@@ -616,15 +616,6 @@
+     RegisterKeyboardDevice(pKeyboard);
+     miRegisterPointerDevice(screenInfo.screens[0], pPointer);
+     mieqInit(&pKeyboard->public, &pPointer->public);
+-#ifdef XINPUT
+-    {
+-	static long zero1, zero2;
+-
+-	//SetExtInputCheck (&zero1, &zero2);
+-	ErrorF("Extended Input Devices not yet supported. Impelement it at line %d in %s\n",
+-	       __LINE__, __FILE__);
+-    }
+-#endif
+ }
+ 
+ /*
+@@ -1303,20 +1294,6 @@
+ 	    xE.u.u.type = KeyPress;
+ 	xE.u.u.detail = key_code;
+ 	
+-	switch (KEYCOL1(key_code)) 
+-	{
+-	case XK_Num_Lock:
+-	case XK_Scroll_Lock:
+-	case XK_Shift_Lock:
+-	case XK_Caps_Lock:
+-	    if (xE.u.u.type == KeyRelease)
+-		return;
+-	    if (IsKeyDown (key_code))
+-		xE.u.u.type = KeyRelease;
+-	    else
+-		xE.u.u.type = KeyPress;
+-	}
+-	
+ 	/*
+ 	 * Check pressed keys which are already down
+ 	 */