* [Bug 1895363] [NEW] borland IDEs double up cursor key presses (need timing on PS2 port input)
@ 2020-09-12 1:43 Michael Slade
2020-09-12 23:48 ` [Bug 1895363] " Michael Slade
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Michael Slade @ 2020-09-12 1:43 UTC (permalink / raw)
To: qemu-devel
Public bug reported:
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.
** Affects: qemu
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1895363
Title:
borland IDEs double up cursor key presses (need timing on PS2 port
input)
Status in QEMU:
New
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1895363/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1895363] Re: borland IDEs double up cursor key presses (need timing on PS2 port input)
2020-09-12 1:43 [Bug 1895363] [NEW] borland IDEs double up cursor key presses (need timing on PS2 port input) Michael Slade
@ 2020-09-12 23:48 ` Michael Slade
2020-09-13 0:08 ` Michael Slade
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Michael Slade @ 2020-09-12 23:48 UTC (permalink / raw)
To: qemu-devel
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
** Bug watch added: Virtualbox Trac #58
http://www.virtualbox.org/ticket/58
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1895363
Title:
borland IDEs double up cursor key presses (need timing on PS2 port
input)
Status in QEMU:
New
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1895363/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1895363] Re: borland IDEs double up cursor key presses (need timing on PS2 port input)
2020-09-12 1:43 [Bug 1895363] [NEW] borland IDEs double up cursor key presses (need timing on PS2 port input) Michael Slade
2020-09-12 23:48 ` [Bug 1895363] " Michael Slade
@ 2020-09-13 0:08 ` Michael Slade
2021-05-06 6:21 ` Philippe Mathieu-Daudé
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Michael Slade @ 2020-09-13 0:08 UTC (permalink / raw)
To: qemu-devel
Just found the complete conversation regarding the abovementioned patch:
https://lists.nongnu.org/archive/html/qemu-devel/2009-08/msg01182.html
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1895363
Title:
borland IDEs double up cursor key presses (need timing on PS2 port
input)
Status in QEMU:
New
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1895363/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1895363] Re: borland IDEs double up cursor key presses (need timing on PS2 port input)
2020-09-12 1:43 [Bug 1895363] [NEW] borland IDEs double up cursor key presses (need timing on PS2 port input) Michael Slade
2020-09-12 23:48 ` [Bug 1895363] " Michael Slade
2020-09-13 0:08 ` Michael Slade
@ 2021-05-06 6:21 ` Philippe Mathieu-Daudé
2021-05-09 13:56 ` Thomas Huth
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-06 6:21 UTC (permalink / raw)
To: qemu-devel
Possible fix:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg804823.html
** Changed in: qemu
Status: New => Confirmed
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1895363
Title:
borland IDEs double up cursor key presses (need timing on PS2 port
input)
Status in QEMU:
Confirmed
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1895363/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1895363] Re: borland IDEs double up cursor key presses (need timing on PS2 port input)
2020-09-12 1:43 [Bug 1895363] [NEW] borland IDEs double up cursor key presses (need timing on PS2 port input) Michael Slade
` (2 preceding siblings ...)
2021-05-06 6:21 ` Philippe Mathieu-Daudé
@ 2021-05-09 13:56 ` Thomas Huth
2021-05-27 5:01 ` Thomas Huth
2021-08-25 7:15 ` Thomas Huth
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2021-05-09 13:56 UTC (permalink / raw)
To: qemu-devel
** Changed in: qemu
Status: Confirmed => In Progress
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1895363
Title:
borland IDEs double up cursor key presses (need timing on PS2 port
input)
Status in QEMU:
In Progress
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1895363/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1895363] Re: borland IDEs double up cursor key presses (need timing on PS2 port input)
2020-09-12 1:43 [Bug 1895363] [NEW] borland IDEs double up cursor key presses (need timing on PS2 port input) Michael Slade
` (3 preceding siblings ...)
2021-05-09 13:56 ` Thomas Huth
@ 2021-05-27 5:01 ` Thomas Huth
2021-08-25 7:15 ` Thomas Huth
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2021-05-27 5:01 UTC (permalink / raw)
To: qemu-devel
The patch mentioned by Philippe has now been merged to the QEMU master
branch (commit d1e45668d2128b064). Michael, could you maybe check the
current git version to see whether this problem has been fixed now?
** Changed in: qemu
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1895363
Title:
borland IDEs double up cursor key presses (need timing on PS2 port
input)
Status in QEMU:
Fix Committed
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1895363/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug 1895363] Re: borland IDEs double up cursor key presses (need timing on PS2 port input)
2020-09-12 1:43 [Bug 1895363] [NEW] borland IDEs double up cursor key presses (need timing on PS2 port input) Michael Slade
` (4 preceding siblings ...)
2021-05-27 5:01 ` Thomas Huth
@ 2021-08-25 7:15 ` Thomas Huth
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2021-08-25 7:15 UTC (permalink / raw)
To: qemu-devel
** Changed in: qemu
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1895363
Title:
borland IDEs double up cursor key presses (need timing on PS2 port
input)
Status in QEMU:
Fix Released
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1895363/+subscriptions
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-08-25 7:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-12 1:43 [Bug 1895363] [NEW] borland IDEs double up cursor key presses (need timing on PS2 port input) Michael Slade
2020-09-12 23:48 ` [Bug 1895363] " Michael Slade
2020-09-13 0:08 ` Michael Slade
2021-05-06 6:21 ` Philippe Mathieu-Daudé
2021-05-09 13:56 ` Thomas Huth
2021-05-27 5:01 ` Thomas Huth
2021-08-25 7:15 ` Thomas Huth
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.