Main > Everything Else
History of the keyboard hack
mattv:
--- Quote ---The keyboard hack is an 'old school' device, conceived back when keyboard encoders were $150.
--- End quote ---
I seem to remember way back when that there were no keyboard encoders available at any price, it was pretty much a keyboard hack or nothing back then (some people did joystick hacks too). Unfortunately I can't quite remember when that was. either 1998 or 1997, I've tried to find my old posts on the subject in the archives, but since the search function is offline that might take a while.
Oooh! And then we can have an argument about ghosting and masking and why the diode trick can't possibly work and my grandmother who got it working perfectly. And then we can reach a compromise and say that diodes can prevent ghosting but not masking. Then we can all post excel spreadsheets of our keyboard matrix (except you couldn
Tailgunner:
Probably outside the scope of your article, but I'm sorta curious if the first keyboard hacks were for arcade cabs or flight sim cockpits. Simmers have long needed the ability to have lots of buttons and switches attached to a computer, and they're at least as obsessive about their hobby as the arcade people. ;)
The first keyboard "hack" I remember was someone who'd mounted a keyboard under a cluster of electrical selenoids. The selenoids were wired to switches or buttons in a sim cockpit, and when they pushed one the connected selenoid would physically push the corresponding button on the keyboard. Crude, but then it didn't have any ghosting issues either.
I'd tend to think Hagstrom developed their encoder to compete with the EPIC card and the cockpit stuff Thrustmaster was doing back in the day for the hard core flight sim crowd.
RandyT:
--- Quote from: spystyle on February 09, 2005, 04:39:20 pm ---OK, I can dig it.
Then explain the KeyWiz to me!
--- End quote ---
Ok, I'll give it a shot ;)
--- Quote ---Here's what I can tell so far:
The KeyWiz supports 2 sticks with 4 buttons each right out of the box, simply plug-and-MAME.
--- End quote ---
Well, a lot more than that, but without touching a single config file and ignoring the rest, this is true.
--- Quote ---If you have a control panel with a different layout (let's use Gauntlet and it's 4 sticks 2 buttons each as an example) you have to program the KeyWiz, this is done by connecting it to your computer and running the software it ships with.
--- End quote ---
You can, but this is not the only way to approach that situation. You can also just configure the app to be compatible with the default key assignments on the KeyWiz. The only difference between this method and the one you will need to use with a keyboard hack is that it is an option with a Keywiz, and a requirement for the keyboard hack.
--- Quote ---All that makes sense to me, then there's confusion :
1. If you program the KeyWiz does it load what you've programmed upon power up every time, until you re-program it, or do you have to use the Shazaaam button?
--- End quote ---
If you elect not to use the defaults of the KeyWiz, you can set up your system to automatically refresh the programming of the KeyWiz with the last uploaded set at boot time. No user interaction is required for this to happen and the instructions for the software tell you how to set it up.
--- Quote ---2. WTF is Shazaaam! button all about? Are you telling me that people want to change their control panel layout in-between games? I don't get it.
The Shazaaam! button scares me...
--- End quote ---
Hehe, don't be skeered. It's just like a SHIFT button on the keyboard, but instead of uselessly turning little letters into big ones, the Shazaaam! button makes the same button on your panel into a whole different button you can use when you need to. Things like ESC, Enter, TAB, 5, 6, whatever, can be accessed through the same buttons you play your games on. Think of it as making your buttons perform "dual-duty".
The other thing you might be thinking of is the "on-the-fly switching" feature that is accessed with the Shazaaam! button. This just lets you "toggle" between your custom code set and the default "power-on" code set. This is useful if you primarily use the default set, but you have an odd application that won't let you re-program the controls keys. If you load this set into the unit at boot time, you can instantly change between the sets when you need to.
--- Quote ---How could it be simpler than the 2 wires of a keyboard hack?
--- End quote ---
One thing that seems to be eluding you slightly is that you don't need to use a devices complex capabilities just because they are available to you. A dedicated encoder is no more complex than a keyboard hack, in fact, it's far less. There are no matrices to decipher, you can daisy-chain a single ground wire instead of running 2 lines to the box for every switch, and no worries about ghosting/blocking. And if you want it to behave like a basic keyboard hack , albeit with none of the shortcomings, it can do that too.
From your write up:
--- Quote ---Ease of use - the keyboard hack never needs to be programmed, it is as simple as connecting 2 wires.
--- End quote ---
As one who has gone through the ordeal of hacking a keyboard, there is nothing easy about doing it or using it.
If you are chronically unemployed, need to practice up on your soldering skills and have no desire to go to the beach instead, then have at at it. However, after all that effort, don't expect the performance to be the same as a dedicated encoder. What makes a good keyboard can often be, and often is, a far cry from what makes a good game controller.
Another thing to keep in mind is that before MAME, there wasn't much reason to hack keyboards for arcade controls. Early computers with a gaming emphasis almost always had a joystick port of some kind, and therefore almost always used it. Games requiring keyboard input were mostly simulations.
BTW, the first keypad I ever hacked was on my Colecovision in the 80's and I even did a complete arcade control panel based on the same for a local Pizza parlor that set up a projection TV in the back room. Big Screen Arcade. Hehe.
RandyT
Tiger-Heli:
Just came across this thread while hunting for something else.
The first page I remember on keyboard hacks was Stephan hans page here (although Saint's references quite likely are older than this one.
Based on that page I wrote my own guide at http://www.mameworld.net/emuadvice/keyhack2.html
The biggest problem I see with your guide is it completely ignores the problems of ghosting and blocking and the steps of choosing keys based on the mapped matrix, so while it may work when a single key is pressed, it may not work if you try to press three or more keys at the same time. (and a two player panel with both sticks on diagonals and two buttons per player pressed generates 8 simultaneous keypresses).
spystyle:
Tiger-Heli,
I hear you, one would think that a keyboard hack like that which does not map the matrix would have ghosting and blocking, but the 2-player panel pictured has no problems at all. It is played regularly (my brother-in-law is a Metal Slug maniac) and when we played 2-player simultanious all was well. The controls were tight and responsive.
Try building a keyboard hack out of a new keyboard (manufactured in the past year or two) and you'll see they perform well. I think the problems of ghosting and blocking were worse "back in the day".
While I am not an electronics certified guy and can not hit it with meters and such to prove or disprove that it is good - I can tell you the one pictured works a treat and is used daily without any issues.
Does it compete with keyboard encoders? No, but if cost is more of a consideration than anything else when putting together a cab, a keyboard hack is a viable option. Especially if you have most or all of the parts already in your workshop.
In closing - the keyboard hack tutorial was written to illustrate an old school method and should not be taken too seriously. It would be more reasonable to order a KeyWiz.
I wrote a tutorial on that too, and it appears before the keyboard hack tutorial.
Dig it?
Craig