Techie Question

SiegeTank

Lifetimer
Joined
Aug 20, 2007
Messages
2,307
Reaction score
9
Points
38
A question for you programmatically skilled tech-heads who read these forums:

Is there a way to tell if a keystroke is coming from a USB-connected numeric keypad, as opposed to from a USB (or PS2)-connected keyboard?

Reason is:

There is a program called HID Macros which can be used to convert a standard numerical keypad into a programmable keyboard. The program can decipher whether a numeric keystroke is from the add-on USB keypad or from the regular keyboard. You can bind macros to the keypad keys, so in essence using this program you can convert a cheap ($5-10) add-on numeric keypad to a pricey ($150 for X-Keys, same for Genovation) programmable keypad. (Razer gamepads are programmable and a bit cheaper, like $85 or so, but they're bulky and I hate the Razer "cloud" software.)

Why not use HID Macro? Well, it's no-longer-supported shareware, it was specifically designed for Flight Simulator, and I'm toying with trying to create my own or commission its creation.

Thoughts?
 

PeteSampras

Your UI is fucking you. Stop using it.
Joined
Dec 12, 2007
Messages
3,956
Reaction score
40
Points
38
I know practically nothing about any of this but I can certainly tell you that the computer knows what device any specific input is coming from.
 

William12

Leveling Since 1999!
Joined
Mar 20, 2007
Messages
2,621
Reaction score
118
Points
63
Yes your computer knows where the input is coming from.
 

SiegeTank

Lifetimer
Joined
Aug 20, 2007
Messages
2,307
Reaction score
9
Points
38
Yeah, but how? What's the indicator? Can a VBScript program detect the source? That is the question?
 

dewey2461

Developer
Joined
May 4, 2008
Messages
1,796
Reaction score
167
Points
63
From what I remember there is a driver built into the OS which is responsible for getting the input from the keyboard / mouse and translating it from a "scan code" to an input that the OS does something with.

Specialty input devices like x-keys, logitech G15 keyboard, etc have their own drivers which handle the extra stuff and know what hardware to be looking for.

I did some quick research on HID Macro it it looks pretty slick and the source is free.

You could also look into something like AutoHotKey and a game pad.
 

SiegeTank

Lifetimer
Joined
Aug 20, 2007
Messages
2,307
Reaction score
9
Points
38
X-Keys didn't used to have drivers. I loved the older versions which were programmed into the unit and the unit could be moved from computer to computer and worked right away.

I've had problems with AutoHotKey and games like EQ because the way EQ manages keyboard input it blocks keystrings coming from software as opposed to a physical input device. There are threads on these forums, some from me, discussing this problem.
 

Xeniaz

MQ2 Guru
Joined
Dec 7, 2006
Messages
424
Reaction score
3
Points
18
X-Keys didn't used to have drivers. I loved the older versions which were programmed into the unit and the unit could be moved from computer to computer and worked right away.

I've had problems with AutoHotKey and games like EQ because the way EQ manages keyboard input it blocks keystrings coming from software as opposed to a physical input device. There are threads on these forums, some from me, discussing this problem.
Sounds like the device itself had the programming logic and stored it internally. It could then send a sequence of inputs to the computer.
 

SiegeTank

Lifetimer
Joined
Aug 20, 2007
Messages
2,307
Reaction score
9
Points
38
Yes, and it's transparent to the computer so EQ could not detect keystrings coming in from a non-standard source. The original X-Key devices are in high demand now and they sell for a premium over their original list price, probably not so much for gamers but for other users who like the portability and the fact that you can program it within needing any programs installed on a computer. Switch the X-Keys to program mode, hit one of its keys, enter a series of keystrokes on your keyboard, press the same key again, exit program mode and <bam> you've got a programmed hot key. AFAIK nothing on the market does this today.

The only real downside to the original X-Keys is it had no toggle mode. So it you wanted a key to keep sending a keystroke until you toggle it off... no can do. You could program a key to send, say your "cast nuke 1" hot button keystroke 10x in a row but the problem is no way to interrupt that sequence short of unplugging the X-Keys.

A company made a device called the Thumper which could do this for one key. They had two models. One used the ~ key. Connect the Thumper (came in USB and PS2 models), hit its sole button and it would keep sending this key to your computer. The device had an analog dial to determine how fast or slow it repeated. There were two models of the Thumper. One sent the ~ key, the other one sent a mouse click. Both versions are impossible to find today. They were expensive to begin with, about $90 each, and I can imagine what one would cost on the secondary market. Yeah, it SOUNDS like something easily manufactured but give it a try. Not only do I think it would be a challenge to build, I do believe they're be a sizeable market among gamers.

Sure, MQ makes a lot of this moot but I'm a big fan of KISS, Keep It Simple, Stupid, and I always prefer a hardware-dependent solution over software-dependent.

Another device I was looking for awhile back, and I posted here, was a device that could send the same keystroke to multiple computers. No this is NOT the same as a device that allows multiple keyboards to control the same computer. Lots of those around! I finally found a company which makes such a device for multiple demonstrations but it's very expensive, like $500 for one keyboard.
 
Last edited:

dewey2461

Developer
Joined
May 4, 2008
Messages
1,796
Reaction score
167
Points
63
If you are looking to make your own hardware then you would want to get a hold of an arduino or raspberry pi and have them emulate a keyboard / mouse.

At one point I was looking into an "untraceable" bot for WOW which would use a web cam doing some image processing and a "programmable" keyboard / mouse moving around sending keystrokes and mouse inputs.
 

SiegeTank

Lifetimer
Joined
Aug 20, 2007
Messages
2,307
Reaction score
9
Points
38
Yeah, I considered a camera or some other method of "reading" the game display to control healing and other activities automatically. Done right this would be entirely undetectable. There is software out there which can "read" and react to any pixel on the screen, of course, but that would be potentially detectable.
 

SiegeTank

Lifetimer
Joined
Aug 20, 2007
Messages
2,307
Reaction score
9
Points
38
Just ordered an arduino kit, as this is a very good suggestion. If I can't find what I need/want out there, might as well make my own!