[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] MiNT questions
-------------------------------------------------
From: "Paul Wratt" <paul.wratt@gmail.com>
Sent: Tuesday, April 27, 2010 11:04 AM
To: "mint" <mint@lists.fishpool.fi>
Subject: Re: [MiNT] MiNT questions
I have had the exact same problem with an MSX emulator. Both key
repeats and sticky shift keys.
Which MSX-emulator is this? It sounds like a problem with the emulator.
The pattern seems to be related to keyboard handler, or keyboard
(emulator) timing.
The MSX handles the keyboard quite differently from an ST. It's been many 
years since I did any programming on an MSX, but IIRC the MSX polls the 
keyboard matrix directly. On the ST, this is done by the controller on the 
keyboard itself, which sends the keystrokes (both make and break codes) over 
a serial connection to the keyboard ACIA. The ACIA then generates an 
interrupt which is serviced by the TOS keyboard/mouse handler.
It's possible that the keyboard handler can miss a break-code, e.g. if 
interrupts has been disabled while keystrokes arrives to the ACIA. However, 
if you hit and release the key when the interrupts are enabled again, the 
repeat will turn off. If I understand it correctly, this is not the case 
with the Eiffel/MiNT repeat-problem. Hitting the key will not turn off the 
repeat in this case. To me, this suggests a difference between the Eiffel 
and a real keyboard. Finding this difference would be the key to solve the 
problem.
Is this ever known to have sticky keys or repeating keys on a standard
Atari ST/STe/Falcon?
It can happen on an Afterburner. Unfortunely I don't remember the details, 
but under some circumstances, a piece of code in the PureC libs could 
trigger this behaviour on the Afterburner (endless repeat). It was fixed by 
patching the libs. Some cache-issue related to the 040 (and possibly the 060 
as well). I haven't had this problem on my Afterburner since 1998.
Also, I understand why I may be getting the problem, and wounder if it
is also a related issue for others, and that is the use of extended
characters or key tables (eg using " + e to get an e with double dots,
etc where " + space gets you the actual " character)
I'm not sure if I understand what you're refering to. Are you talking about 
the emulator or the deadkey-support in the kernel?
Jo Even