html5: workaround for echo key events.

This commit is contained in:
hondres 2016-03-04 20:26:39 +01:00
parent 26342b34aa
commit 352db6b17e
3 changed files with 27 additions and 2 deletions

View file

@ -74,6 +74,15 @@ static void _glut_skey(bool pressed,int key) {
case GLUT_KEY_INSERT: ev.key.scancode=KEY_INSERT; break;
}
if (pressed) {
if (os->skey_pressed[key])
ev.key.echo = true;
else
os->skey_pressed[key] = true;
}
else {
os->skey_pressed[key] = false;
}
uint32_t m = glutGetModifiers();
ev.key.mod.alt=(m&GLUT_ACTIVE_ALT)!=0;
@ -107,6 +116,16 @@ static void _glut_key(bool pressed,unsigned char key) {
default: {
ev.key.unicode=key;
}
if (pressed) {
if (os->key_pressed[key])
ev.key.echo = true;
else
os->key_pressed[key] = true;
}
else {
os->key_pressed[key] = false;
}
}