[PATCH] aiptek driver crash xorg server on XkbApplyMappingChange #26584

Olivier Samyn code at oleastre.be
Tue Feb 16 10:20:34 PST 2010


X.Org keymap requires at least 255 defined entries. This patch
adds NoSymbol entries to fill in the custom aiptek keymap.

X.Org bug 26584 http://bugs.freedesktop.org/show_bug.cgi?id=26584

Signed-off-by: Olivier Samyn <code at oleastre.be>
---
 src/xf86Aiptek.c |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/src/xf86Aiptek.c b/src/xf86Aiptek.c
index 96873ab..7fa859f 100644
--- a/src/xf86Aiptek.c
+++ b/src/xf86Aiptek.c
@@ -185,14 +185,68 @@ static KeySym aiptek_map[] =
     /* 0x18 .. 0x1f */
     XK_F17, XK_F18, XK_F19, XK_F20, XK_F21, XK_F22, XK_F23, XK_F24,
     /* 0x20 .. 0x27 */
-    XK_F25, XK_F26, XK_F27, XK_F28, XK_F29, XK_F30, XK_F31, XK_F32
+    XK_F25, XK_F26, XK_F27, XK_F28, XK_F29, XK_F30, XK_F31, XK_F32,
+    /* 0x28 .. 0x2f */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x30 .. 0x37 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x38 .. 0x3f */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x40 .. 0x47 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x48 .. 0x4f */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x50 .. 0x57 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x58 .. 0x5f */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x60 .. 0x67 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x68 .. 0x6f */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x70 .. 0x77 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x78 .. 0x7f */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x80 .. 0x87 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x88 .. 0x8f */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x90 .. 0x97 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0x98 .. 0x9f */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xa0 .. 0xa7 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xa8 .. 0xaf */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xb0 .. 0xb7 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xb8 .. 0xbf */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xc0 .. 0xc7 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xc8 .. 0xcf */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xd0 .. 0xd7 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xd8 .. 0xdf */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xe0 .. 0xe7 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xe8 .. 0xef */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xf0 .. 0xf7 */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
+    /* 0xf8 .. 0xff */
+    NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
 };
 
 /* minKeyCode = 8 because this is the min legal key code */
 static KeySymsRec keysyms =
 {
   /* map        minKeyCode  maxKC   width */
-  aiptek_map,   8,          0x27,   1
+  aiptek_map,   8,          0xFF,   1
 };
 #endif
 
-- 
1.6.3.3



More information about the xorg-devel mailing list