Re: Fwd: [hatari-devel] Re: IKBD, max keys?

[ Thread Index | Date Index | More Archives ]


On tiistai 23 heinäkuu 2013, Douglas Little wrote:
> In Hatari the max value seems to be 4 for alphanumeric-class keys, +2 for
> control/shift-class keys, +2 for arrow keys. So that's actually 8. (There
> may be other classes of key I didn't try combinations for).

This could be a limit in your keyboard; not in Hatari, libSDL or OS.

I remember from 90's when playing multiplayer keyboard-only (DOS) games
(on Linux) with friends, that some keyboards had very limited support for
multiple simultenous keys.  With PS/2 keyboards it was just about additional
key presses not getting through until one of the already pressed keys was
released, not about wrong key presses being generated.

> On a real Falcon, the limit is 2 for alphanumeric-class keys, +1 for
> control/shift-class keys, +1 for arrow-class keys - making a limit of 4..
> (The limit for the control/arrow classes of key rises to 2 if they are
> used alone, and there may be more complicated patterns I didn't check).

Could depend on the wiring matrix for the keyboard, if it uses such.

> It's also notable that the *error* case on a real Falcon occurs only when
> 2 or more classes of key are used together. To me this indicates a bug
> in the 6301 code.

Could also be keyboard wiring limitation.  Pressing specific keys
together gets reported as some other key (do e.g. scancodes of
the pressed keys give scancode for the wrong key if added or ORed

Could you try a better, external keyboard with your Falcon?

> These are my findings so far, and they appear to be reliable. They also
> turn out to be the cause of 'stray keypresses' bringing up the
> menu/console in my game project, which I originally thought was a bug in
> my code. Apparently not - it's spurious keycodes returned from the IKBD
> when too many key types are held together.

If it's "keyboard matrix" issue, it can be avoided (to some extent)
by selecting the keys carefully.

	- Eero

Mail converted by MHonArc 2.6.19+