Using numeric keypad as controller

I have an external numeric keypad (in addition to keyboard). When plugged in it just replaces the keypad on the keyboard. Is there a way to use this keypad as an MSFS controller, and assign the buttons to say gear and flaps and other instrument panel switches? I’ve looked into a driver called VJOY and it’s very confusing. Is there a simple hardware interface solution or something simpler than VJOY? Thanks for any info you can provide.

2 Likes

My assumption is that it doesn’t replace the keypad on your keyboard. It’s just seen as an additional keyboard.

You would have to remap the commands in the game to be the keypad buttonpresses, which would then unbind them for whatever they’re currently used for (Views, probably? I dunno. I HOTAS.)

This is a good question. I’d like to know the answer too.

  1. https://www.instructables.com/Making-a-powerful-programmable-keypad-for-less-tha/

Look from Step 4. I did not try.

  1. https://www.reddit.com/r/GuitarHero/comments/9bm8dy/howto_play_clone_hero_with_multiple_keyboards_in/

This is for another game, I hope it is possible to find a way for MSFS. I did not try.

That’s not how Windows handles the USB keypad. Pressing a key on the “external” keypad gives the same function as the keypad on your keyboard. There is no extra functionality. It is like an overlay. The USB keypad does not show as a controller in Windows or MSFS. Some kind of hardware adapter is need to make it show up as a controller. Alternately some kind of intercepting mapping utility that can recognize the keyboard numpad as being different from the addon USB keypad and dummy up being a controller. This is what VJOY is supposed to do, but you have to take a college course on how to make it work!

I do not know of any, so I asked the new Windows / Edge CoPilot app. the following question:

“What applications can intercept a numeric keypad and map them to different values?”

It replied:

There are several applications that can intercept a numeric keypad and map them to different values:

  1. SharpKeys: This freeware app allows you to remap any key on your keyboard, including the numpad keys. It writes the changes to the correct places in the Windows registry. After you’ve done your remapping and reboot, you don’t need to keep running the app, because those changes will be part of your OS from then on¹.

  2. AutoHotkey: This is a popular, free scripting tool that allows you to do more than just remap your numpad’s keys. You can program macros with AutoHotkey to perform complex tasks¹.

  3. PowerToys’ Keyboard Manager: Being a Microsoft product, it is a secure key mapping software. It allows you to remap both individual keys and shortcuts. The key remap works immediately after you configure it; you don’t need to restart your device².

  4. X-Mouse Button Control: This application is designed to remap keyboard functions and shortcuts to mouse buttons².

  5. KeyTweak: KeyTweak is a tool which offers multiple ways to remap a key³.

  6. Microsoft Keyboard Layout Creator: This tool lets you define your own keyboard layouts from scratch³.

Please note that some of these applications might need to run in the background for the remapping to work, and some changes only take effect after you reboot your device. Always remember to use such tools responsibly as incorrect usage can cause issues with your system²¹.

Source: Conversation with Bing, 12/14/2023
(1) How to Make Your Numpad Into a Macropad, Media Player or Mouse. How to Make Your Numpad Into a Macropad, Media Player or Mouse | Tom's Hardware.
(2) The Best Key Mapping Software for Windows - How-To Geek. https://www.howtogeek.com/best-key-mapping-software-windows/.
(3) How to Remap Keyboard in Windows 10, 8, 7, and Vista - Beebom. https://beebom.com/how-remap-keyboard-windows-10/.\

Not sure if these AI suggestions are of any help to you, but I have found CoPilot to be quite useful at times (but not always) when looking for answers to specific questions.

Thanks for your research. Remapping the keyboard isn’t the issue. It’s getting the numeric pad to show up in MSFS as a controller. If you plug the numeric pad into a USB port, it never shows up. Windows sees it as the numeric pad on your keyboard. So pressing a key on the extra numpad just does the same thing as pressing a key on your keyboard numpad. VJOY and Joystick Gremlin somehow get around this, but are anything but a KISS solution! There are hardware game controller adapters, but they aren’t a viable solution either. I guess I’ll give up on this windmill. :o)

1 Like

Ahh - I see where you are going here now. I had a look at the SDK, but there was nothing there that I could find that addresses your issue. The problem may be that MSFS has a defined list of peripherals that it looks for. If an attached device is on that list, it will show up & be configurable. If not on the list, it will not appear as a control.

If you search for & open up a file called DeviceConfig.xml in your game folder, you’ll see that it contains a set of different controls made by different manufacturers (e.g. Saitek), plus one keyboard & one mouse entry.

For a Steam install, I believe the DeviceConfig.xml file is stored under Packages->fs-base-ui->DeviceConfig. (Not sure where they would be located in an MS Store install.)

In addition, there is a corresponding set of xml configuration files - one for each control listed in DeviceConfig.xml - within a folder called Input (for Steam, again, not sure where they would be located in an MS Store install).

You could try creating a new DeviceConfig.xml with a corresponding xml configuration file in the community folder (plus the layout.json & manifest.json files). I’ve not delved into the SDK, so perhaps others more learned & wiser than me on the intricacies of the SDK can advise you here.

kejoDAISHO did something similar for his Saitek X-55. Note his comment about the “ProductID” - you’ll need to get your KeyPad’s ID from Device Manager → Human Interface Devices.

If all else fails, and at the considerable risk of totally trashing your install, you could try manually adding an entry for your keypad to the default DeviceConfig.xml, and creating a corresponding xml configuration file in the Input folder, using the existing keyboard file as a guide.

:+1:

0123456789

Think of your main keyboard’s numeric keypad, and the second numeric keypad as two yokes in a plane. Either can be used, but they both so the same thing.

Any software that gets around this is likely looking at the unique USB identifier for that device, and creating an independent device where keys pressed on it can be localised to that new virtual device.

Excellent analogy!

1 Like

Perhaps my wording wasn’t clear. That’s what I meant. The game will not see it as an additional controller. When a button on it is pressed, it sends the same keystroke as if the same button on the full-sized keyboard was pressed.

1 Like

Here’s a $20 solution, and what I should have gotten before buying the numeric pad to use as a “poor man’s switch panel” (not knowing what is revealed here). Actually it now comes back to my 81 year old brain that I did try a real switch panel, and ended up returning it as described here.
https://forums.flightsimulator.com/t/affordable-switch-panel/505072

In the meantime I’ve discovered that given all the controllers I have, I don’t need a switch panel in the first place! Us old guys easily get distracted! :slightly_smiling_face:

1 Like

Digging up this old thread rather than starting a new one. I just got a 4-button macro pad (sayopad). I used its config utility to make it work as a game controller, and the device shows up in Spad.next, but none of the buttons register when I press. Anybody have any luck with these?

Replying to myself: oh my god, I figured it out. You have to set the gamepad (controller) buttons as 129 and above!

It recognizes device controller button 129 as button 1 in Spad, 130 as 2, and so on, up to 144 as button 16

Neat, hope this helps someone in the future!

1 Like