summaryrefslogtreecommitdiff
blob: 958f40900bcd5b53f5620670b2c5abd245eea341 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
--- aterm-1.0.1~/src/command.c	2006-06-26 20:01:20.000000000 +0200
+++ aterm-1.0.1/src/command.c	2007-09-26 15:03:19.000000000 +0200
@@ -1486,19 +1486,21 @@
  	numlock_state = (ev->xkey.state & ModNumLockMask);	/* numlock toggle */
 	PrivMode((!numlock_state), PrivMode_aplKP);
     }
-#ifdef USE_XIM
+#if defined(USE_XIM) || !defined(NO_XLOCALE)
     len = 0;
-    if (Input_Context != NULL) {
-      Status          status_return;
+    if (!XFilterEvent(ev, *(&ev->xkey.window))) {
+        if (Input_Context != NULL) {
+            Status          status_return;
 
-      kbuf[0] = '\0';
-      len = XmbLookupString(Input_Context, &ev->xkey, kbuf,
-                          sizeof(kbuf), &keysym,
-                          &status_return);
-    } else {
-      len = XLookupString(&ev->xkey, kbuf,
-                        sizeof(kbuf), &keysym,
-                        &compose);
+            kbuf[0] = '\0';
+            len = XmbLookupString(Input_Context, &ev->xkey, kbuf,
+                    sizeof(kbuf), &keysym,
+                    &status_return);
+        } else {
+            len = XLookupString(&ev->xkey, kbuf,
+                    sizeof(kbuf), &keysym,
+                    &compose);
+        }
     }
 #else                         /* USE_XIM */
     len = XLookupString(&ev->xkey, (char *) kbuf, sizeof(kbuf), &keysym, &compose);