mirror of https://github.com/xqemu/xqemu.git
ps2: do not generate invalid key codes for unknown keys
Instead, print a warning message. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Message-id: 1473969987-5890-6-git-send-email-hpoussin@reactos.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
8c10e0baf0
commit
ec044a80e7
|
@ -22,6 +22,7 @@
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
|
#include "qemu/log.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/input/ps2.h"
|
#include "hw/input/ps2.h"
|
||||||
#include "ui/console.h"
|
#include "ui/console.h"
|
||||||
|
@ -621,7 +622,8 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,
|
||||||
}
|
}
|
||||||
ps2_put_keycode(s, keycode & 0xff);
|
ps2_put_keycode(s, keycode & 0xff);
|
||||||
} else {
|
} else {
|
||||||
ps2_queue(&s->common, key->down ? 0x00 : 0x80);
|
qemu_log_mask(LOG_UNIMP,
|
||||||
|
"ps2: ignoring key with qcode %d\n", qcode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (s->scancode_set == 2) {
|
} else if (s->scancode_set == 2) {
|
||||||
|
@ -660,13 +662,9 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,
|
||||||
ps2_put_keycode(s, 0xf0);
|
ps2_put_keycode(s, 0xf0);
|
||||||
}
|
}
|
||||||
ps2_put_keycode(s, keycode & 0xff);
|
ps2_put_keycode(s, keycode & 0xff);
|
||||||
} else if (key->down) {
|
|
||||||
ps2_queue(&s->common, 0x00);
|
|
||||||
} else if (s->translate) {
|
|
||||||
ps2_queue(&s->common, 0x80);
|
|
||||||
} else {
|
} else {
|
||||||
ps2_queue(&s->common, 0xf0);
|
qemu_log_mask(LOG_UNIMP,
|
||||||
ps2_queue(&s->common, 0x00);
|
"ps2: ignoring key with qcode %d\n", qcode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (s->scancode_set == 3) {
|
} else if (s->scancode_set == 3) {
|
||||||
|
@ -677,13 +675,9 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,
|
||||||
ps2_put_keycode(s, 0xf0);
|
ps2_put_keycode(s, 0xf0);
|
||||||
}
|
}
|
||||||
ps2_put_keycode(s, keycode);
|
ps2_put_keycode(s, keycode);
|
||||||
} else if (key->down) {
|
|
||||||
ps2_queue(&s->common, 0x00);
|
|
||||||
} else if (s->translate) {
|
|
||||||
ps2_queue(&s->common, 0x80);
|
|
||||||
} else {
|
} else {
|
||||||
ps2_queue(&s->common, 0xf0);
|
qemu_log_mask(LOG_UNIMP,
|
||||||
ps2_queue(&s->common, 0x00);
|
"ps2: ignoring key with qcode %d\n", qcode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue