Commit Diff


commit - 1d2b462acf1210b8f86966b8dd9bb6e36e369ee1
commit + e42c03663442f5fb2f66dd59cc5bfdc61c53192c
blob - 7cf253b09a4ddb8136d4b32758fa4c88445e08e2
blob + e7be8af98b94dca791b00707df4c51067c5bfea8
--- dmenu.c
+++ dmenu.c
@@ -324,19 +324,19 @@ movewordedge(int dir)
 static void
 keypress(XKeyEvent *ev)
 {
-	char buf[32];
+	char buf[64];
 	int len;
-	KeySym ksym;
+	KeySym ksym = NoSymbol;
 	Status status;
 
 	len = XmbLookupString(xic, ev, buf, sizeof buf, &ksym, &status);
 	switch (status) {
 	default: /* XLookupNone, XBufferOverflow */
 		return;
-	case XLookupChars:
+	case XLookupChars: /* composed string from input method */
 		goto insert;
 	case XLookupKeySym:
-	case XLookupBoth:
+	case XLookupBoth: /* a KeySym and a string are returned: use keysym */
 		break;
 	}