How Many Controls Can We Press At Once?


Status
Not open for further replies.

Monk

Caveman Ninja
Joined
Jan 4, 2009
Messages
2,091
Location
Mutter's Spiral
This thread isn't JUST created because we haven't had a keyboard thread in several hours. Oh no. It's actually something that's been nagging me since we were told (IIRC) that the Pandora keyboard would only work for up to two keypresses because to make it more capable would have added complexity and cost to the project (just like everything else does, because our civilisation is geared that way - bigger electronics are more expensive but so is smaller more expensive. If YOU want it, basically, you pay a premium for it, whatever "it" is).

But I digress. Some (not all) of the design goals of the Pandora have been to make a seriously (truly madly deeply) portable games device (hence the "gaming controls") and supporting emulation is a great way of getting ah huge backlog of some of the best computer games onto the device in double-quick fashion (though that is far from the only use for the keyboard). But I worry - just how useful is the keyboard going to BE for emulators?

My personal "computer emulation" situation is of having both a BBC Model B and a BBC Master 128 in the loft (and an Acorn colour monitor, a 65C02 second porcessor, a Z80 Tube co-pro AND a PC-Alike Acorn 512 co-processor and... well, need I go on?). So obviously my gaming concerns are about how well the keyboard will react to being used to play games like "Exile" and "Elite" (to name two of the crazier, more keyboard-frenetic games) since that's what I've got. I'd LOVE to have a BBC Micro in my pocket :D. But perhaps using a different platform will make it easier to empathise with me - let's imagine that "Quake" would only work under DOSBox, and that I wanted to use it either using the keyboard alone (or perhaps keyboard and keyboard-plus-USB Mouse). Let's imagine that DOSBox, as the emulation platform, would be fast enough on Pandora to run Quake. Here's some comments nabbed from a dicussion about setting up Quake keyboard mappings that may help illustrate my concerns:


QUOTE
The most important thing when choosing a keyboard config is to make sure you can hit sets of keys for critical actions simultaneously. These keys are:

forward and backward
strafe left and strafe right
turn left and turn right
look up and look down
attack
jump
As you can see, this is a pretty big list. Playing with a keyboard-only setup means that you will need a keyboard that can accept input from at least 4 (but preferably 6 or more) separate keys simultaneously. Otherwise, you'll find yourself not being able shoot while dodging, turn while looking up, or any other unfortunate combination of actions.

Again, two of the most important points in selecting a controller setup are efficiency and the ability to hit critical keys together.


Now, to be honest, that's probably about the same situation as I'd find in some of my favourite BBC games as well - where to play that game at a really proficient level one might need to be able to press anywhere between 4 and 6 (or even more) keys simultaneously... and an analogue stick doesn't replace directional keys for the same reason as has been given before (far more eloquently than I could repeat) on this very board.

Where am I going/what is my concern?

Well, my concern is that games that the OpenPandora team don't play may suffer terminal or at least crippling debilitation. They at least won't be playable using the controls that the game authors intended, as the keyboard on the Pandora simply isn't up to it. And it seems to me that an OS-level remapping solution isn't going to be up to the job, because if the OS is running "Quake" then it could select the right remap file, but if it's running DOSBox (or other computer emulator) then it does not know what final application is running (and therefore what remapping needs doing).

I am also concerned about the number of controls that can be detected at once. I know only two "keyboard keys" can be detected at once, but I haven't seen clearler addressed how many other controls can be simultaneously detected - for example, are ALL the other controls on their own lines, individually detectable, or is there some limit to how many of the non-keyboard controls can be detected at once?

What do I want?

I would certainly appreciate any comments from Pickle and/or anyone else involved in porting keyboard-heavy ports as to how they are overcoming the keyboard limitations, and how many digital controls are detectable at once within a game. I would also really appreciate any comment about the way computer emulators are going to overcome the number-of-keypress limitations - I can guess at ways, but until I can try it for myself (take todays date and add two months...repeat tomorrow) I can only speculate or ask for informed advice.

Can I have some informed/experienced advice please? If anyone invovled in the BBC port could comment, that would be an extra bonus for me, as that's MY emulation platform of choice.

Ta
 
Last edited by a moderator:
Well, I wonder how you'll manage to get your fingers to press more than 2 keys at once :p You'd have to play with the Pandora in a table or something and press keys with your non-thumbs, and that seems pretty awkward and backwards to me.

Whatever you're emulating, whatever the original controls were, we have tons of gaming-oriented buttons (which can all be pressed how much you want) you should configure to be the keys used by your game.
 
Last edited by a moderator:
iirc, you can press all "game-buttons" at the same time.
-e- oh wait, i should read the posts in front of me before posting...
 
This all AFAIK - but:
- The main keyboard (the keyboard matrix) can accept max 2 pressed keys at once
--> and as it's meant to be thumb typed - last time i checked i had 2 thumbs :)
--> Sticky keys are used to handle longer sequences (Ctrl-Alt-F1, etc)
- The D-pad, ABYX,LR and the 3 (menu,select,pandora key?) keys are all hooked directly to GPIO's on the OMAP and they could even all be pressed simultaneously.

I see no problem.
 
Last edited by a moderator:
'Mithrildor' said:
I dont know for game controls, but keyboard accepts 3 presses at once.
I thought only 2 based on thing slike the following quote?

"MWeston Dec 2 2007 said:
Currently the keypad is designed to handle one or two buttons pressed at once. Pressing three keys causes a ghost key which fakes a fourth key press. This is not a bug, but the functionality of a scanning keypad matrix. The easy solution is to put diodes on each key but it adds cost. Are some of the suggestions here to use three keys at once? If so, and if it is actually important and not just to get at that one favorite key you'd like to map, the extra parts will need to be populated.

'Tinnus' said:
Well, I wonder how you'll manage to get your fingers to press more than 2 keys at once :p You'd have to play with the Pandora in a table or something and press keys with your non-thumbs, and that seems pretty awkward and backwards to me.
For myself personally it will probably be more of a case of trying to press FEWER than 4 keys at once :D but my young son is more likely to be able to fit his small fingers on multiple keys - a full-sized keyboard can be a bit of a strain for him for some games (so he has REALLY enjoyed us getting gamepads working on some previously keyboard-heavy games like Doom). the analog nubs may actually be slightly too much of a stretch for his small fingers :(

'Tinnus' said:
Whatever you're emulating, whatever the original controls were, we have tons of gaming-oriented buttons (which can all be pressed how much you want) you should configure to be the keys used by your game.
Indeed - so I'm asking if these really ARE all seperately detectable, like the 3 keys in the middle are:

'Chip' said:
'mali' said:
'Chip' said:
'salasq' said:
what's the Logo key function outside of emulators?
No, that key is special. That's the system menu key.

It's tied directly to a GPIO line (all 3 keys in the middle are) instead of the keypad matrix so that it can be used at any time. It will bring up a system menu with things like a task switching menu, system options and shutdown / suspend commands. The "Pandora" key is off the table for repurposing or remapping.Original reference, for posterity.


Or, erm, not. someone with an actual Dev board (and keymat) might be able to answer?



'urjaman' said:
This all AFAIK - but:
- The main keyboard (the keyboard matrix) can accept max 2 pressed keys at once
--> and as it's meant to be thumb typed - last time i checked i had 2 thumbs :)
See - just like me, you prefer to check the obvious rather than leave it to fate ;)

Of course, the delay between original ordering and receipt of goods fuels such queries. If the Pandora had been delivered in December I wouldn't have had so long to stew on the topic.

'urjaman' said:
--> Sticky keys are used to handle longer sequences (Ctrl-Alt-F1, etc)
- The D-pad, ABYX,LR and the 3 (menu,select,pandora key?) keys are all hooked directly to GPIO's on the OMAP and they could even all be pressed simultaneously.


That's what I'm hoping to get confirmed, as along with software support for those GPIO'd controls in the relevent games/emulators, that would be the best solution I can imagine.
@gruso - adding the Fn key to the list of GPIO'd buttons would IMHO be a good idea, I hope they went that way.
 
Last edited by a moderator:
@Monk, congratulations on retaining the honor of being named poster with the longest average post.
 
'Mithrildor' said:
'lingenfr' said:
@Monk, congratulations on retaining the honor of being named poster with the longest average post.
Shall we bet I can make longer posts?


Why thankyou lingenfr!


And... if your post gets too long the board freaks a bit. I've had to chop some posts into smaller chunks to make them work :D
 
Last edited by a moderator:
Are challenging me? Or are you not? Im in for a game, I bet I can make longer posts than you for 1 week and make more then you. I dont have a gp2x yet, so shall we bet for a F200? Id like to have one so I think thats a good idea, im going to win anyway, so you chose 500 euro, or a Gp2x F200 (you pay the shipping ofcourse when you lose) You seeh ere, im good at making really really long posts and I can make that even longer than this although my posts would be 99% crap then instead of the 98% crap its now. Ok shall we bet, or are you a chicken? Ok, thanks, bye.

Ok I should stop making this useless posts lol
 
I didn't even remember the two keypresses thing. That's kind of disappointing, actually.
 
Last edited by a moderator:
It applies to most keyboards, actually.
Mine can only register two at a time, plus modifier keys. Decent gaming keyboards have lots of extra wires and are designed to read every key separately, I think.

Since the Pandora already has gaming controls, that shouldn't be a problem.
 
Last edited by a moderator:
'urjaman' said:
--> Sticky keys are used to handle longer sequences (Ctrl-Alt-F1, etc)
- The D-pad, ABYX,LR and the 3 (menu,select,pandora key?) keys are all hooked directly to GPIO's on the OMAP and they could even all be pressed simultaneously.
That is exactly how it works.
'lulzfish' said:
It applies to most keyboards, actually.
It applies to all keyboards. Full desktop keyboards have a larger matrix and are limited to 3 simultaneous presses, but since you only have two thumbs, it isn't even possible to press more than two keys at once on the Pandora.
 
Last edited by a moderator:
'lulzfish' said:
Since the Pandora already has gaming controls, that shouldn't be a problem.
The Pandora should be great. Food for thought on computer games though rather than console games - check out some of these sample keyboard tempaltes:

CODE
http://www.keycardhq.de/t/swdf.pdf

CODE
http://www.keycardhq.de/t/swtief.pdf

CODE
http://www.keycardhq.de/t/quake2.pdf

CODE
http://www.keycardhq.de/t2/doom.pdf

CODE
http://www.keycardhq.de/t3/doom3.pdf

CODE
http://www.tardis.ed.ac.uk/~ajcd/beeb/elite.html#Controls


Not all of these EXACT games will be applicable for the Pandora, I'm just saying - computer games have a tendency to make use of the additional capabilities of computers over console systems - and historically a keyboard is one of the largest differences :)

So they go bug-crazy with keys in their games, sometimes!

'Chip' said:
'urjaman' said:
--> Sticky keys are used to handle longer sequences (Ctrl-Alt-F1, etc)
- The D-pad, ABYX,LR and the 3 (menu,select,pandora key?) keys are all hooked directly to GPIO's on the OMAP and they could even all be pressed simultaneously.
That is exactly how it works.
'lulzfish' said:
It applies to most keyboards, actually.
It applies to all keyboards. Full desktop keyboards have a larger matrix and are limited to 3 simultaneous presses, but since you only have two thumbs, it isn't even possible to press more than two keys at once on the Pandora.
Actually, I have a table so pressing more than 3 keys would be quite simple (though unlike my son I may not be able to predict which keys they would be in advance).

A quick look on the InterWeb to check your assertion that the 3 simultaneous keypresses applies to all keybaords showed up two interesting results very quickly for me. One is the Razer Tarantula™ Gaming Keyboard:

QUOTE
Anti-Ghosting Capability
With the anti-ghosting capability of the Razer Tarantula™, you can press up to an unprecedented 10 buttons at one go without the "ghosting" effect (For a conventional keyboard, signal failure occurs when three to four keys are pressed simultaneously). This means more commands can now be executed at any one time.


CODE
http://www.wired2fire.co.uk/product_info.php?cPath=13&products_id=22100


Obviously I don't expect the Pandora to ahve the BEST gaming keyboard in the world, but if I can find that keyboard in a few second sI have to assume it's not the only "more than 3 keypress keyboard" out there.

A second interesting thing that the search threw up was a little chat at CODE
http://www.esreality.com/?a=post&id=872771


QUOTE
Once upon a time I wrote a review for the Logitech Media keyboard. Well since then I have changed my Quake 3 movement controls from wasd to esdf to rdfg to increase the number of available keys for weapons and team binds. Anyway, once I switched to rsdf the keyboard would be incapable of accepting more than two keypresses. Two? Thats fucking miserable, I thought. The limited number of keypresses which the keyboard would accept would prevent me from being able to perform a proper bunny hop and a weaponswitch at the same time which, although you might not realise it, is something which happens quite often whilst playing. Anyway, I figured I might need to get a new keyboard, I believed the problem was with limited bandwidth from the PS/2 port. Yesterday, however, I fixed the problem.

Keyboard keys are arranged in areas called matrices. Each keypress transfers a signal to a given wire present in the matrix. It is best when gaming to use all of the keys present in one matrix so that there are no conflicting keypresses which send two different signals down the same wire. Wtf? About 2-4 wires are hooked up to each keyboard matrix. If you press a key which sends a signal down a wire attached to that key in the key matrix, and then press another key in a different key matrix which is attached to that same wire, you're asking that single wire to transfer two signals at exactly the same time. On most keyboards, the damn thing is made to transfer only one signal, albeit very rapidly. When you press multiple keys which end up sending signals down the same wire, the computer or keyboard can't process the second keybress and gives you that oh-so-fucking-annoying BEEP.

Yesterday I found a program which displays which keys the computer receives as they are being pressed. Now I tested my rsdf combination. I pressed r and d at the same time. Both of them showed. Then I added t and space bar separately. Guess what? Neither of them showed. The two keys I was already pressing were from different key matrices so I suppose it was the most the keyboard could take. Accepting the bad news, I tried different combinations until I finally came accross one which works beautifully and accepts up to four simultaneous keypresses (of course it also depends on which keys, because their location is directly related to their key matrix). What combination? IJKL :D I'd say IJKL or WSAD is the best for Logitech keyboards because of their key matrix layout.
The program is called KeyScan v0.9, programmed by a group/individual called Digital Genesis. I recommend it to anyone who has similar issues as I did with the keyboard refusing to accept a certain number of keypresses.



This is only mildly interesting in as much as it SUGGESTS that carefully chosen - and knowing the maztrix layout of the keyboard - more than 2 keypresses MIGHT be technically possible (in a similar vein to the way "mutli-touch" might be possible i.e. it could work for a technical demo but is unlikely to be much use in the real world, and discussing it is fraught with room for misinterpretation and people getting carried away thinking it's better than it is). But still, I thought, interesting.

NOTE: I do not know, have not downloaded, and can not personally recommend KeyScan 0.9 (or for that matter any other variation). I just thought the idea of being able to check what keys ARE uniquely identifiable to be interesting.

So - Chip. Can you tell us whether the other controls - aside from the analogue ones or the 3 middle buttons which have been confirmed as directly identifiable - are or are not part of any matrix? Please?

Ta,

Looking further I see comments tha tMicrosoft Keybaords (presumably like the various Micrsooft keyboards I have been using over the years) support 5 key presses, and Logitech have keyboards which accepts 7 apparently.
 
Last edited by a moderator:
Just checked - the keyboard I am typing on now is a Microsft Basic Keyboard 1.0A. It chokes when I ket to the 5th key in a straight line (the PC starts beeping), so SEEMS to easily do any 4 keys (I have not got the software to check for ghosting, alas) and will manage more if keys are chosen more carefully (I personally max out at 7 because I ran out of dextrousness). And that's on the cheapest MS keyboard I have ever seen. Anti-ghosting (or at least more than 3 simultaneous keypresses) does not SEEM to be rare if either Beeps on the PC or loads and loads of gaming websites are to be believed (even if THIS keyboard is ghosting, the examples I've been reading about shouldn't as gamers are using them to get simultaneous keypresses???)

CODE
http://www.dribin.org/dave/keyboard/one_html/


seems to go nicely into details on how ghosting and masking occur, and how to fix them using diodes (as MWeston once suggested COULD be done on the Pandora but AFAIK they have not done so). I have yet to fully digest the article, but it looks straightforward.


EDIT I may have misjudged the matrix on this keyboard as I can find key combos that make it choke quicker. Hmmm - must mean that I need better than the cheapest MS keyboard for reliable multi-key - perhaps the $15 Genius one that was mentioned. Must test some of my better keyboards! LOL, a new game...
 
Last edited by a moderator:
It's been said before but the idea would be that you map some of the keys to the dpad.

For example, a spectrum game, you might map O,P,Q,A (the usual up down left right) to the dpad, but leave any other non-essential keys to the real keyboard.

Mix and match, it has been well thought out and many a late night was spent getting this just right :)
 
Last edited by a moderator:
QUOTE

It's been said before but the idea would be that you map some of the keys to the dpad.

For example, a spectrum game, you might map O,P,Q,A (the usual up down left right) to the dpad, but leave any other non-essential keys to the real keyboard.




Yes. Not my question.

Please, how many of the non-keyboard controls - the individual DPAD switches, the buttons over to the right, the L&R - are on individual GPIO lines and cannot cause ghosting,masking, or any other conflicts of which I may be unaware, please?

Or, please, "How many controls can we press at once?". It doesn't seem THAT complicated a question, and I feel that I've gone out of my way to give examples and explain WHY I might want more than the 4 basic directions plus fire/jump.
 
Last edited by a moderator:
Status
Not open for further replies.
Back
Top