Balint Cristian wrote:
> Regard to that one BUG with the mention that it persist in 4.3.0 too
> and any CVS too:
>
> By Rene:
> http://marc.theaimsgroup.com/?l=xfree86&m=104526841725691&w=2
>
> By mysef:
> http://marc.theaimsgroup.com/?l=xfree86&m=104385693307371&w=2
>
> I send more deBug:
> http://marc.theaimsgroup.com/?l=xfree86&m=104385720707941&w=2
The reason of this bug is a change
: 656. Make SysRq generate the same keycode as PrtScrn, and Break the same
: keycode as Pause (#A.1160, Owen Taylor).
which added into an xf86PostKbdEvent procedure a code
: /*
: * 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;
But for a Sun's type5 keyboard it means something like
if (code == 'letter L') code = 'letter B'
if (code == 'comma') code = 'letter V'
A simple fix for this issue could be a moving this code to the part of
xf86PostKbdEvent which is being executed for PC keyboards only.
--- xc/programs/Xserver/hw/xfree86/common/xf86Events.c.orig Tue Mar 4 18:34:31 2003
+++ xc/programs/Xserver/hw/xfree86/common/xf86Events.c Tue Mar 4 18:41:45 2003
@@ -531,6 +531,17 @@
}
/*
+ * 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;
+
+ /*
* and now get some special keysequences
*/
@@ -819,17 +830,6 @@
#ifdef XKB
}
#endif
-
- /*
- * 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;
/*
* Now map the scancodes to real X-keycodes ...
--
Ivan U. Pascal | e-mail: [EMAIL PROTECTED]
Administrator of | Tomsk State University
University Network | Tomsk, Russia
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel