With scancode translation enabled, atkbdc_kbd_read() took a byte from
the PS/2 keyboard's queue also when the controller's own buffer was
full, and atkbdc_kbd_queue_data() then dropped it ("atkbd data buffer
full"). The guest lost a make or a break code: a missing character, or
a key that stays down.
Leave the byte in the keyboard's queue until there is room, as the path
without translation does.
Signed-off-by: Wanpeng Qian <wanpengqian@gmail.com>
Sponsored by: keelos.dev