mirror of
https://github.com/qemu/qemu.git
synced 2024-11-26 04:13:39 +08:00
input: Add trace event for empty keyboard queue
When driving QEMU from the outside, we have basically no chance to determine how quickly the guest OS picks up key events, so we usually have to limit ourselves to very slow keyboard presses to make sure the guest always has enough chance to pick them up. This patch adds a trace events when the keyboarde queue is drained. An external driver can use that as hint that new keys can be pressed. Signed-off-by: Alexander Graf <agraf@suse.de> Message-id: 1490883775-94658-1-git-send-email-agraf@suse.de Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
05c6638b20
commit
2222e0a633
@ -256,6 +256,10 @@ static void hid_keyboard_process_keycode(HIDState *hs)
|
|||||||
slot = hs->head & QUEUE_MASK; QUEUE_INCR(hs->head); hs->n--;
|
slot = hs->head & QUEUE_MASK; QUEUE_INCR(hs->head); hs->n--;
|
||||||
keycode = hs->kbd.keycodes[slot];
|
keycode = hs->kbd.keycodes[slot];
|
||||||
|
|
||||||
|
if (!hs->n) {
|
||||||
|
trace_hid_kbd_queue_empty();
|
||||||
|
}
|
||||||
|
|
||||||
key = keycode & 0x7f;
|
key = keycode & 0x7f;
|
||||||
index = key | ((hs->kbd.modifiers & (1 << 8)) >> 1);
|
index = key | ((hs->kbd.modifiers & (1 << 8)) >> 1);
|
||||||
hid_code = hid_usage_keys[index];
|
hid_code = hid_usage_keys[index];
|
||||||
|
@ -24,6 +24,7 @@ milkymist_softusb_pulse_irq(void) "Pulse IRQ"
|
|||||||
|
|
||||||
# hw/input/hid.c
|
# hw/input/hid.c
|
||||||
hid_kbd_queue_full(void) "queue full"
|
hid_kbd_queue_full(void) "queue full"
|
||||||
|
hid_kbd_queue_empty(void) "queue empty"
|
||||||
|
|
||||||
# hw/input/virtio
|
# hw/input/virtio
|
||||||
virtio_input_queue_full(void) "queue full"
|
virtio_input_queue_full(void) "queue full"
|
||||||
|
Loading…
Reference in New Issue
Block a user