devdraw: fix handling of compose key on OS X

This implementation is simpler to understand.  It
removes conflicts with other modifiers and with
the virtual buttons.  Pressing alt during a
sequence now cancels it correctly.

R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/5507049
This commit is contained in:
David Jeannot 2012-01-16 17:08:31 -05:00 committed by Russ Cox
parent a995f469b3
commit 73b0f029e1
2 changed files with 15 additions and 12 deletions

View file

@ -358,15 +358,25 @@ kputc(int c)
zunlock();
}
static int alting;
void
abortcompose(void)
{
if(alting)
keystroke(Kalt);
}
void
keystroke(int c)
{
static Rune k[10];
static int alting, nk;
static int nk;
int i;
if(c == Kalt){
alting = !alting;
nk = 0;
return;
}
if(!alting){