winex11.drv: Fix off-by-one in map of non-char keysyms to vkeys.

Ken Thomases ken at codeweavers.com
Tue Nov 7 19:25:21 CST 2006


The mapping of X keysyms FF68 through FF6F to vkeys is broken.  I  
believe
that the non-zero values in that row were originally entered shifted one
to the left (mapping XK_Find to VK_CANCEL, XK_Cancel to VK_HELP, XK_Help
to VK_CANCEL, and XK_Break to 0).  Somebody must have noticed that
XK_Break wasn't producing VK_CANCEL and fixed it by adding an extra
VK_CANCEL to the line in the XK_Break position.

This change inserts a 0 at the beginning of the row (for XK_Find) and
removes that extra VK_CANCEL, properly aligning XK_Cancel with VK_CANCEL
and XK_Help with VK_HELP.
---
  dlls/winex11.drv/keyboard.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)diff --git a/dlls/ 
winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index df8181f..249e62b 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -1002,7 +1002,7 @@ static const WORD nonchar_key_vkey[256]
      0, 0, 0, 0, 0, 0, 0, 0,                                     /*  
FF58 */
      /* misc keys */
      VK_SELECT, VK_SNAPSHOT, VK_EXECUTE, VK_INSERT, 0, 0, 0, 0,  /*  
FF60 */
-    VK_CANCEL, VK_HELP, VK_CANCEL, VK_CANCEL, 0, 0, 0, 0,       /*  
FF68 */
+    0, VK_CANCEL, VK_HELP, VK_CANCEL, 0, 0, 0, 0,               /*  
FF68 */
      0, 0, 0, 0, 0, 0, 0, 0,                                     /*  
FF70 */
      /* keypad keys */
      0, 0, 0, 0, 0, 0, 0, VK_NUMLOCK,                            /*  
FF78 */



More information about the wine-patches mailing list