Commit Diff


commit - 33cdf63251a23d71906cb482bce4ca02ce6d94c0
commit + e4122a42b922fd1047a4b5beee6fdc0ce623f873
blob - 9a9b4284193a23d1423355a01bb8f194c8b49280
blob + 59b06cc8b9d74fc39f2fd705b25e81de9bfd112f
--- CONTRIBUTORS
+++ CONTRIBUTORS
@@ -11,6 +11,7 @@ Anthony Martin <ality@pbrane.org>
 Anthony Sorace <a@9srv.net>
 Arvindh Rajesh Tamilmani <art@a-30.net>
 Benjamin Huntsman <BHuntsman@mail2.cu-portland.edu>
+Caio Oliveira <cmarcelo@gmail.com>
 Christopher Brannon <chris@the-brannons.com>
 David du Colombier <0intro@gmail.com>
 David Jeannot <djeannot24@gmail.com>
blob - f6066b1d2548457453e8b516a10c83603a676866
blob + 108f153c79e876bd150c3b43da442d8d4853b657
--- src/cmd/devdraw/x11-keysym2ucs.c
+++ src/cmd/devdraw/x11-keysym2ucs.c
@@ -826,49 +826,52 @@ static struct codepair {
 VISIBLE
 long _p9keysym2ucs(KeySym keysym)
 {
-    int min = 0;
-    int max = sizeof(keysymtab) / sizeof(struct codepair) - 1;
-    int mid;
-
-    switch(keysym){
-    case 0xfe53: /*dead tilde*/
-        keysym = 0x007e; /*asciitilde*/
-        break;
-    case 0xfe52: /*dead_circumflex*/
-        keysym = 0x005e; /*asciicircum*/
-        break;
-    case 0xfe51: /*dead_acute*/
-        keysym = 0x0027; /*apostrophe*/
-        break;
-    case 0xfe50: /*dead_grave*/
-        keysym = 0x0060; /*grave*/
-        break;
-    default:
-        break;
-    }
-
-    /* first check for Latin-1 characters (1:1 mapping) */
-    if ((keysym >= 0x0020 && keysym <= 0x007e) ||
-        (keysym >= 0x00a0 && keysym <= 0x00ff))
-        return keysym;
+	int min = 0;
+	int max = sizeof(keysymtab) / sizeof(struct codepair) - 1;
+	int mid;
 
-    /* also check for directly encoded 24-bit UCS characters */
-    if ((keysym & 0xff000000) == 0x01000000)
-	return keysym & 0x00ffffff;
-
-    /* binary search in table */
-    while (max >= min) {
-	mid = (min + max) / 2;
-	if (keysymtab[mid].keysym < keysym)
-	    min = mid + 1;
-	else if (keysymtab[mid].keysym > keysym)
-	    max = mid - 1;
-	else {
-	    /* found it */
-	    return keysymtab[mid].ucs;
-	}
-    }
+	switch(keysym){
+	case 0xfe53: /*dead tilde*/
+		keysym = 0x007e; /*asciitilde*/
+		break;
+	case 0xfe52: /*dead_circumflex*/
+		keysym = 0x005e; /*asciicircum*/
+		break;
+	case 0xfe51: /*dead_acute*/
+		keysym = 0x0027; /*apostrophe*/
+		break;
+	case 0xfe50: /*dead_grave*/
+		keysym = 0x0060; /*grave*/
+		break;
+	case 0xfe57: /*dead_diaresis*/
+		keysym = 0x0022; /*quotedbl*/
+		break;
+	default:
+		break;
+	}
 
-    /* no matching Unicode value found */
-    return -1;
+	/* first check for Latin-1 characters (1:1 mapping) */
+	if ((keysym >= 0x0020 && keysym <= 0x007e) ||
+	    (keysym >= 0x00a0 && keysym <= 0x00ff))
+		return keysym;
+
+	/* also check for directly encoded 24-bit UCS characters */
+	if ((keysym & 0xff000000) == 0x01000000)
+		return keysym & 0x00ffffff;
+
+	/* binary search in table */
+	while (max >= min) {
+		mid = (min + max) / 2;
+		if (keysymtab[mid].keysym < keysym)
+			min = mid + 1;
+		else if (keysymtab[mid].keysym > keysym)
+			max = mid - 1;
+		else {
+			/* found it */
+			return keysymtab[mid].ucs;
+		}
+	}
+
+	/* no matching Unicode value found */
+	return -1;
 }