提交 ec044a80 编写于 作者: H Hervé Poussineau 提交者: Gerd Hoffmann

ps2: do not generate invalid key codes for unknown keys

Instead, print a warning message.
Signed-off-by: NHervé Poussineau <hpoussin@reactos.org>
Message-id: 1473969987-5890-6-git-send-email-hpoussin@reactos.org
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
上级 8c10e0ba
......@@ -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);
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册