KEYBOARD  ENCODERS (To action something with a switch)

 

  

Overview.

A keyboard encoder ( or emulator) is devise that plugs into the computer (preferably USB) and the computer see’s it as a keyboard.

Hooked onto the other end of the encoder are switch’s of various types ,, so when a switch or a button is turned on ,,, the computer see’s it as a keystroke the same as if some-one had pressed the key(s) on a keyboard.  The actual keystroke sent to the computer can be pre-programmed by the user.

 

All the good ones handle “macro’s” where once you program them you can send a mixture of keystrokes (like, hold down Control and then press Q) to FSX  by just pressing one button or flicking one switch.

Most also handle sending a keystroke when you close a switch,, and it can also send a different keystroke when you open the switch ,, this is very handy for programming some toggle switch’s to do something when you turn it on ,, and it needs a different keystroke when you turn it off.

Always use USB keyboard encoders ,,, a computer will recognize multiple USB keyboards but it only deals with one PS2 (old type) of keyboard.

 

 

There are 3 main sources of keyboard encoders  … (there’s bound to be more) but I’ve picked on USB ones that are reasonably common.

 

Hagstrom ,,, The first “real good” straight forward keyboard encoder but it is expensive for what it is. The Hagstrom has a plus though ,,, being a straight keyboard encoder ,,, you are not tied to them for compatibility with the next version for FS.   I see the latest one also handles a couple of rotary encoders ,, which is good ,, but its still overpriced in my picture of things.

http://www.hagstromelectronics.com

 

OpenCockpits ,,,  Their keyboard encoder is really designed to integrate with their own in/out boards and as a stand alone thing it needs a “resident” program to use it “stand alone” in an application. It is cheaper though and that is a plus but to use it “properly” with FSX  you need to use their software ,, which leaves you in the position of relying on them to update things for the next FS.

http://www.opencockpits.com/modules.php?name=Content2&pa=showpage&pid=54

 

Xkeys ,,, (PIengineering) ,,, Is the one I use because it is a true keyboard encoder (Like the Hagstrom) and you are not tied to the supplier for updating the software. It can handle 128 inputs ,, It is about mid-range in price being less than half the price of the Hagstrom.

http://www.xkeys.com/custom/xkmatrix.php

 

All the above can handle macro’s (Multiple key entries. ,, ie. ,, hold down Q and press A)

Get a keyboard encoder and you are away ,,, flick a switch and it goes ,,, press a button and it goes ,,, whooolaaa !!!!

 

Matrix’s and Diodes and “Ghosting”

Some keyboard encoders have a “common return” for their switch circuits,, this is where there is a common wire that runs to ALL the switch’s and the other side of the switch has a separate wire running back to the board.  These would be real easy to wire up and keep track of what was happening where.

The other type of encoder has what is known as a MATRIX input ,, this is where there are (generally) 2 “groups” of wires that get inter-connected with each other.

Generally these “groups are called “Rows” and “Columns”.

Ghosting is a term used when ,, on a matrix board ,,  two or more buttons are pressed at the same time ,, incorrect signals can be sent to the computer. This problem on some boards will not happen as the board is designed to accommodate that  ,,, where-as other boards need diodes fitted at each switch.

A typical matrix, with diodes, looks like ,,,,  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Looks complicated ,, but its really just a whole lots of these ,,,,  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


How I wired up the switchs ,,,,

I kept a track of what is a “column” and what is a “Row”.

I did NOT fit diodes to nearly all of the push-button switchs. (Unless you are going to hold it on, while pressing another)

I fitted diodes to all the rotary and toggle switchs.

The diodes were fitted at the switch. (No need to make a separate board for the diodes)

I generally used different “rows” for the push-buttons compared to the other switchs.

 

My present panel uses ,,, 53 button (most don’t have diodes) ,, 43 toggle or rotary positions (all have diodes) and I have no trouble at all with ghosting.

 Note: You can-not use true rotary encoders (a special type of rotary switch) unless the board is made to suit them.

 

What I done.

As mentioned above ,, I used a USB matrix-board from PIengineering (Xkeys) and it works beautifully ,, I think it is a marvelous wee board and it performs very well.  Their software and documentation leaves a bit to be desired but it is quite adequate. The different software packages can also be a bit confusing to start with but the one you want to use is “X-Keys Macro Recorder”. This one reads and writes to the board while it is in “Onboard Memory Mode” (Where the coding is resident ON the actual encoder)

All the details are here ….  Go for the USB one ,,,,

http://www.piengineering.com/custom/xkmatrix.php

 

 

The Board ,, mounted in a case that I had lying around that suited,,,,,    

You get the USB cable with it when you buy one.

NOTE :  There are plastic stand-off’s (You cant see them) between the nut and the board and also between the board and the case. (To stop shorting)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Now with an old cable fitted from a junked computer ,, it had too many pins ,,, but it doesn’t matter ,, as long as wire 1 was wire 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Now with the top back on ,,,  easy access to the programming switch and easy connecting to the switch wires.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


These photo’s show the unit I experiment with ,,, the one I actually use is hidden in my panel and difficult to photograph.

 

 

 

Flowchart: Alternate Process:  Back to the simulator main page.Dated 4 April 08