summaryrefslogtreecommitdiff
path: root/hw/input/ps2.c
diff options
context:
space:
mode:
authorHervé Poussineau <hpoussin@reactos.org>2016-09-15 22:06:27 +0200
committerGerd Hoffmann <kraxel@redhat.com>2016-09-28 14:03:42 +0200
commitec044a80e7216ca290ee2dce0afb864256efa956 (patch)
tree0cf79a2e61b9e1192f3f74f06f1960a9ad563830 /hw/input/ps2.c
parent8c10e0baf0260b59a4e984744462a18016662e3e (diff)
downloadqemu-ec044a80e7216ca290ee2dce0afb864256efa956.tar.gz
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>
Diffstat (limited to 'hw/input/ps2.c')
-rw-r--r--hw/input/ps2.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/hw/input/ps2.c b/hw/input/ps2.c
index 98da984384..0d14de08a6 100644
--- a/hw/input/ps2.c
+++ b/hw/input/ps2.c
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
#include "qemu/osdep.h"
+#include "qemu/log.h"
#include "hw/hw.h"
#include "hw/input/ps2.h"
#include "ui/console.h"
@@ -621,7 +622,8 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,
}
ps2_put_keycode(s, keycode & 0xff);
} 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) {
@@ -660,13 +662,9 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,
ps2_put_keycode(s, 0xf0);
}
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 {
- ps2_queue(&s->common, 0xf0);
- ps2_queue(&s->common, 0x00);
+ qemu_log_mask(LOG_UNIMP,
+ "ps2: ignoring key with qcode %d\n", qcode);
}
}
} 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, keycode);
- } else if (key->down) {
- ps2_queue(&s->common, 0x00);
- } else if (s->translate) {
- ps2_queue(&s->common, 0x80);
} else {
- ps2_queue(&s->common, 0xf0);
- ps2_queue(&s->common, 0x00);
+ qemu_log_mask(LOG_UNIMP,
+ "ps2: ignoring key with qcode %d\n", qcode);
}
}
}