semantic: 0.197 device: 0.152 other: 0.124 performance: 0.117 network: 0.067 graphic: 0.057 vnc: 0.054 debug: 0.048 files: 0.046 socket: 0.045 PID: 0.035 permissions: 0.024 boot: 0.018 KVM: 0.016 network: 0.358 debug: 0.261 performance: 0.081 files: 0.071 other: 0.050 PID: 0.036 device: 0.031 socket: 0.025 semantic: 0.022 vnc: 0.019 boot: 0.017 graphic: 0.012 permissions: 0.008 KVM: 0.008 borland IDEs double up cursor key presses (need timing on PS2 port input) Most DOS-era IDEs from Borland (I have tried Borland C++ 2.0, Borland C++ 3.1 and Turbo Pascal 7.1) exhibit strange responses to the keyboard. Cursor keys are registered twice, so each press of a cursor key causes the cursor to move twice. Also the other keys occasionally are missed or duplicated. From an internet search, the problem appears to be this. These programs read the PS2 input register multiple times per incoming byte, on the assumption that the byte will remain there for at least a few hundred microseconds, before the next byte (if any) appears there. qemu treats a read of the register by the guest as an acknowledgement of the incoming byte and puts the next byte into the register immediately, thus breaking the programs that expect each successive byte to stay in place for a while. The obvious solution is to use a timer to advance through the queued bytes. This virtualbox bug talks about the same thing, and also mentions qemu: https://www.virtualbox.org/ticket/58 One of the people in the conversation created a patch for qemu which wasn't accepted: http://qemu.11.n7.nabble.com/PATCH-Fix-for-DOS-keyboard-problems-td114076.html Just found the complete conversation regarding the abovementioned patch: https://lists.nongnu.org/archive/html/qemu-devel/2009-08/msg01182.html Possible fix: https://