Click here to print this article.

Re-Printed From SLCentral

PI Engineering X-Keys Desktop
Author: Drew Lanclos
Date Posted: August 7th, 2001


We all look for simplicity in things today. Companies constantly bombard us with ads advertising new products that promise to make our life simpler and less troublesome than it is now. Generally, it's only troublesome due to the use of too many helpful gadgets that were supposed to simplify things, but I digress. Mankind has always been in search of engineering ideas to make things less troublesome.

Let's say that you're working on a Word document where you are writing documentation for a new product that your company is releasing soon. The legal department, however, has insisted that all instances of your company's name be appropriately marked with trademark insignias and such. Having to constantly change fonts, insert one symbol, and then change back…it gets rather tedious.

When John Carmack announced that Quake III would not support aliasing as its predecessors had, it sent shockwaves through the gaming community. Carmack defended his decision, saying that it would help to reduce cheating, which was one of his primary goals in Quake III. Still, many gamers wept at the idea of no longer being able to use their cleverly-fashioned zoom scripts or rocket-jumping scripts.

Aliasing, if you're not familiar with it, is the technique of taking a command or string of commands, and tying it to a particular button or key. For instance, if you wanted to bind a key in Quake II to use the Grenade Launcher, then you'd just set up the key binding. If you instead wanted the key to switch to the Grenade Launcher, fire a grenade, and then immediately switch back to the weapon you were holding, then you'd need to do some script programming, and then set the script up to alias to a particular key. You could also temporarily change the axis size of the screen, manually move or change the viewpoint (Thus moving the player), or insert pauses.

All these functions and more can be provided by the new X-Keys Desktop Pad by PI Engineering. PI Engineering, the self-proclaimed company with a lack of slogan, is the mind behind several other products you may have seen in catalogues, such as the Y-mouse and Y-keys adapters which allow for multiple input peripherals to be connected to a PC at once. PI Engineering makes quite a few handy devices, but they also cater to custom-designed solutions for whatever need shall arise. Today we'll look at one of their simpler products, the aforementioned X-Keys Desktop.


The X-Keys Desktop can be purchased in either a PS/2 or a USB configuration, and features twenty programmable keys. The PS/2 version piggybacks on your keyboard cable connection, while the USB version plugs in separately. The PS/2 version, which is the model we received, features an innovative passthrough system which eliminates the need to have a particular connection hanging loose. Most devices of this nature, like the Ferraro Designs Claw and the Gravis Phoenix joystick, have two separate passthrough plugs, one for AT keyboard and the other for PS/2 keyboard, so that one connector is always left hanging. The X-Keys, however, puts one connection on the each plug with opposing genders, and, using the included adapter cable, you'll be able to set it up without leaving any connections uncovered or open. Novel idea! Although, a bit of a hassle had you been using a converter already to convert your keyboard's type.

And thus, installation of the device was easy. Enough about the plugs, though, and on to the functionality of the device. Since we were using the PS/2 version, it didn't require any drivers for operation, and could essentially be used right away. The device itself features 20 programmable keys, two indicator LEDs, and an adjustable recording wheel to toggle recording mode off and on. Of course, if you want, the unit comes with a few double-size keys, so you can effectively set the X-Keys up to look exactly like a numeric keypad, complete with the oversized Insert, Enter, and + keys. The packaging also comes with some cardstock labels so that you can write keynames and place them under the keycap surfaces. The tops of the keys are removable and transparent, so you can pop them off and put small labels underneath them to identify the keys' functions. More cardstock and extra keyparts, including 2x2 squares, can be cheaply re-ordered through PI Engineering.

Programming the device for simple operation is easy enough - Just slide the wheel to recording position. Next, hit the key you want to program, and begin typing what you want that key to emulate on the main keyboard. To finish programming, hit the key again, and then exit recording mode. One touch of that particular button should dump out everything you just typed into it. Nice, eh? It'll even remember such extended and sometimes troublesome keyboard functions as Ctrl+Alt+Delete, Alt+Tab, and the arrow keys.

How it Quakes

The first testing I put this device through was with a standard host of games. The first one out I tried was Half-Life. Since Half-Life has five weapons categories with no more than four weapons per category, the 4x5 layout of the keys on the X-Keys pad was perfect for an immediate weapon selection. I was still kinda used to hitting the 1-5 keys and the mouse to select a weapon, but once I sat down to configure a script for the keypad to select each weapon I wanted, I found configuration to be rather easy. I assigned some of the extra keys for other functions, like tagging walls and activating/deactivating the flashlight. Simple stuff, really. Nothing I couldn't have done with the keyboard, although the layout lends itself better to some of the auxiliary functions. It would've been better if I had a place to map a logical set of keys for movement without the mouse, but I can use the arrow keys on the main keyboard for that.

The point is, the X-Keys provides an easy-to-use, tactile feedback mechanism that you don't quite get on the keyboard. With the sprawling number of keys on the keyboard, it's easy to get one key confused with another, but the 4x5 layout on the X-Keys provides one key for each of your fingers, save the thumb. Finding which row you're on is easy to do without looking, so the keypad is easily used in the heat of battle.

I also tried using the keypad in Quake III. Basically, what you end up having to do is to set up binding for keys so that you might, for instance, have the B key set to jump, the N key to look down, and the M key to fire your primary weapon (As well as MOUSE1). You could set the X-Keys in programming mode, hit N, B, 5 to change to the Rocket Launcher (That's how it is in my config), and M to fire. "But wait!" you say…"You have to wait until you're in the air before firing the rocket launcher!" Well, with the X-Keys, you can insert half-second pauses between keys using a special keyboard combination programmed by PI Engineering. You can insert as many pauses as your keytyping or macro requires. So, once you set this up properly, you can configure the X-Keys to perform a single-button maneuver that will jump you up in the air, look down, fire the rocket launcher at the peak of your leap, and send you hurtling through the skies.

Other applications that you may or may not find useful in your games are the ability to program functionality based on key depress and release. In other words, you can have the X-Keys perform a certain function whenever a key is depressed, and a different function when it's released. You can also enable repeating functionality for a key, so that a particular keypress repeats whenever you push that button.

The X-Keys can't totally replace aliasing, of course. Since the X-Keys has no way of knowing what weapon you were previously using, it can't be set up to automatically switch back to your railgun after rocket-jumping. Still, it does help to restore some of the functionality that aliases used to offer, and thus proves itself to be quite valuable. Plus, depending on the game you're playing, it's very small and easily portable. If you set it up with a key configuration for playing Age of Empires II, for instance, and go to a LAN party where that's all you'll be doing, then you can leave that clunky keyboard behind and just bring this smooth little device.

Initially, I was worried about the key-capacity of the device, but a quick test allayed my fears, as I was able to load a single X-Keys button with over 300 keypresses! Of course, this isn't scratching the surface, as you will notice on the next page.

Productivity Applications

Another application I tested the X-Keys functionality with was general office use. I plugged it into my desk computer at my support office, and programmed it with a couple of general keyboard macros I used a lot, plus some text-based problem resolutions I used frequently. For instance, one of the messages I use frequently is a 697-character e-mail response which notifies clients that they need to come by our office to pick up some software. Previously, I kept this in a text document on my desktop that I just opened, copied to the clipboard, and pasted into an e-mail. With the X-Keys, however, I was able to program the *entire* message into one key! I quickly loaded nine messages of similar use into the X-Keys, and the X-Keys rapidly began to save me time.

You might run into a limitation if you take too much advantage of this feature, of course. The approximated capacity of the memory storage of the X-Keys is 1000 keypresses. It's approximated because certain key combinations and strokes require several bytes to store, and thus they might take more room. The memory is drawn from the pool as needed, so you can have a 900-keypress message stored in one key and the other keys will remain useable, although with only a few keypresses each. While this memory capacity probably won't be breached by most users, the X-Keys Pro uses the same memory chip, which means that its 56 keys will be fighting over the same keypress memory. Still, for 99.9% of the users of this device, it won't ever be a problem.

I also concocted another useful application of this device, which, given a little tweaking by PI Engineering, could possibly pave the way for a new level of computer security for end-users. For a little background on this situation, let me elaborate a bit. I have two PCs in my office, but little desk space for both. Since one of my PCs is ancient (A P-120 without USB), I can't use my current key/mouse switching device with it, and my department won't supply me with another PC to replace it, nor will they obtain another switch for me. So, in order to use one keyboard and mouse, I use a buggy but useful shareware program called "NinjaSwitcher", which allows you to control a second PC over a TCP/IP network. I can do everything I need to with NinjaSwitcher *except* for logging in to Windows NT, since NinjaSwitcher isn't loaded yet. So, I have to keep the second PC's keyboard handy *just* so that I can log in every morning.

Since my office environment isn't meant to be terribly secure, I programmed in a couple of my username/tab/password combinations into the X-Keys so that I could simplify this process. I also set up one key to perform Ctrl-Alt-Delete so that I could easily log in when I sit down. This functionality has greatly simplified my particular configuration, since I can now effectively get rid of the second keyboard. If NinjaSwitcher crashes, I can use the X-Keys to bring up the Task Manager to kill it, and use a macro to restart it. Good.

However, as are a lot of other users, I'm sure, I'm not crazy about keeping my passwords in plain text on this little unit. So, one thing I tried was to break up my password into a couple of different text blocks, and then encoded each one into a different key. Then, I used the X-Keys like a phone pad to "dial" my various passwords in. Pretty cool. Furthermore, at the end of the day, the X-Keys can be easily unplugged and taken home to protect the safety of your passwords. This makes things MUCH easier for end users that have fifteen different passwords to forget and not care about. If they can use these to program their passwords in, then they can just keep the X-Keys with them wherever they go. It delivers similar functionality to what the Smart Card was supposed to deliver, but requires no extra investment other than the device itself. And if you're concerned about the data in the keys being lost, then know that, according to PI Engineering, "The X-Keys stores programming in non-volatile memory. The chip maker's spec on this says the memory will be maintained for a minimum of 200 years." (Thanks Dan!).

Furthermore, if you're worried about taking up all your keys just for password use, then you can program one key to act as a modifier, allowing you to program 38 keys instead of 20. This allows you to use the main layer for your applications, and the secondary layer for your security. Definitely cool.

These were only a few instances where the X-Keys made my office work simpler. For other professions, I'm sure something could be easily adapted.


The X-Keys, with its seemingly simple appearance, is a well-thought out device that provides functionality and value to gamer and businessman alike. Once upon a time I used to game with an external numpad, since it was easily portable. The X-Keys makes it totally obsolete. I heartily recommend it. If it doesn't have enough keys for you, then you might want to consider the X-Keys Pro, which gives you 58 keys instead.

It's stylish, it's OS-independent (The PS2 model, anyway), and it's portable. One thing it isn't is cheap - At $100, this one is certainly out of range for some gamers, but for professionals, it's a valuable tool. If you can't quite swallow the $100 price tag for 20 keys, then consider the X-Keys Pro, which has a higher keys-to-dollars ratio.

Rating: 9/10 SystemLogistics

Re-Printed From SLCentral