Main > Main Forum

TOKN KB16 (Tiger-Heli's Testing Complete)

Pages: << < (10/19) > >>

timsteward:

First time posting here.
I just wanted to put in my 2 cents worth.
The tokn 16 encoder I use has never messed up once.
The program on the fly option is the formost reason I started buying them.
I use them on classic arcade machine that the boards have went out and it cost so much to repair them, it just makes it easier to replace a computer power supply or hard drive if it goes bad than try and replace the old PCB on the arcade machine.
I have gotten nothing but great customer service from the folks at tokn.
The price is awesome with the flat rate shipping on multiple items.
I have used the I-Pac as well and like it.
But for the money and the program option I am sticking with the tokn16.
Thanks for listenting.
Tim


monkeybomb:

Tim - What exactly is the application you are using them for, and how many buttons are simultaneously pressed?

Tiger-Heli:


--- Quote from: timsteward on June 12, 2005, 05:41:58 pm ---The tokn 16 encoder I use has never messed up once.

--- End quote ---
I appreciate your input, but I would like to speculate for everyone else.  Most likely - You have never NOTICED that the KB16 messed up once.  There is a difference.  Let's say you put this in a GunSmoke cab.  You mash Button 1, Button 2, and Button 3.  The TOKN also sends a Button 4 keypress.  No Problem - GunSmoke only uses 3 buttons.  Or in a 1942 cab, your only potential problems would be if Button 1 and Button 2 were pressed at the same time, and the game will rarely require this (if ever).

--- Quote ---The program on the fly option is the formost reason I started buying them.

--- End quote ---
This seems hard to believe.  When would you use it?  If it truly works as advertised like you say and you are using it for MAME, you should be able to just wire it up and not program it at all.  If you are doing what I suggested and re-assigning inputs to avoid ghosting, than it is necessary, but you can do the same exact thing with an I-PAC.  (And programming a KeyWiz is pretty easy, but you will need to launch the KeyWiz software at start-up if you use a non-default codeset.

Tiger-Heli:

Some more thoughts:

I have actually enjoyed testing the KB16 encoder.  It is basically somewhat less than half of a keyboard hack, but programmable so you can select the default MAME keys.  Since I am familiar with keyboard hacks, it is interesting seeing how the device works and what its limitations are.  (After all, anyone can wire up an I-PAC to the default keys and plug it in and play with no thought whatsoever, how is that fun?).  As far as design of a matrix based keyboard encoder, on a scale of 1 to 10, 10 being the best, I would give the KB16 about a 2.0 on the maturity and robustness scale.  Details on that below, first some definitions:

Ghosting:  When three keys that form a rectangle on the matrix are depressed, the input that completes the matrix may also be triggered.  The KB16 demonstrates this in that if you depress Buttons 1, 2, and 3, the Button 4 output is also generated.

Blocking:  Blocking is a firmware fix for the ghosting problem.  It is very common in modern keyboards.  It is not incorporated on the KB16.  Were it incorporated, then if you depressed and held Button 1 then Button 2, then Button 3, Button 3 would not register as it would generate a ghost Button 4.  Blocking can be either your friend or enemy in a matrix encoder, as I will explain later.

Now these are basically the steps in laying out a well-planned matrix mode encoder (and how I came up with the 2/10 rating) -

Step 1 is determining what keys you can support.  As I have said, an 8x2 matrix works for 1 joystick and six buttons.  Mattp has buttons numbered from 1-8, so either he failed to take this into account or he figured he would allow Buttons 7 and 8 to be included, knowing that they would produce ghosting.  Judging by the rest of the board, my guess is he failed to take this into account.

Step 2 is laying out the matrix to place opposite joystick directionals in the same column on different rows.  Mattp does this, but given his other choices, I think he just took the inputs order from the I-PAC and just added them to the matrix in order.  In other words, I suspect he lucked into this rather than it being a conscious decision.

Step 3 is to assign primary keys to the matrix so that they will not generate ghost inputs when used.  Mattp did not do this, but I have posted before how it can be fixed on the KB16.

Step 4 is to determine whether or not you want the encoder to use blocking.  Mattp chose not to.  Given his choice of layout, this was a good decision, as blocking would have prevented the third button from being pressed with buttons 1 and 2, which would be more annoying than a phantom Button 4.  Had he laid out the matrix more logically, I would recommend blocking.  The reason is the admin keys.  If you are using Esc as one of your admin keys, without blocking, there is a possibility that a coin press, and two action buttons will generate a phantom Escape and end your game.  OTOH, if blocking were incorporated, then the only drawback would be that your admin keys might not register if one particular action key and some other key were depressed at the same time.

Step 5 is to use diodes to prevent all of the ghosting and masking problems altogether.  Mattp did not do this.  It might have been a cost-savings measure, or more likely, he did not understand it well enough to implement it.

Having said all this, I also need to point out that it is much easier to Monday-morning quarterback the finished design than it is to develop it, and I can

Tiger-Heli:

Just thought that as I point of contrast, I would mention an E-mail exchange I had with the KeyDog support team before adding it to the review, quoting here:

***

TH:  Most matrix-mode encoders will exhibit some form of ghosting, blocking,
or masking if multiple keys are pressed, unless diodes are employed on
the input lines (see http://www.dribin.org/dave/keyboard/ for a
technical explanation of this process).  This would rarely be a problem
for a flight sim, but could be a big deal for an arcade controller,
where it is theoretically possible to activate 16 keys at the same time.
Does the KeyDog prevent ghosting, or is it up to the user to utilize
diodes in their wiring to prevent this?

KD:  In the matrix mode, you need external diodes to implement multi-key rollover.  If the keys pressed use 2 common lines then the diodes are needed.  However if use of the keys is selected so that keys only have common rows, or common columns but cannot have common rows and columns multi key rollover does not require diodes.

***

They meant inhibit rather than implement, but the answers were clear and concise.  Mattp would have done well to follow there example, rather than claiming the unit did not exhibit ghosting, and then claiming it did not use a matrix. . .

Pages: << < (10/19) > >>

Go to full version