Making a Powerful Programmable Keypad for Less Than $30.




Products like the X-Keys programmable keypads are a great companion for anyone who uses hot-key heavy software like PhotoShop. They allow you to lay out all your hot keys on one small board complete with labels and with a push of a button activate any macro or keystroke programmed into the software.

But those products cost in excess of $100.00 even for the basic model. If you live overseas the cost of importing and the US Dollar exchange rate can balloon the price and make the products far too expensive.

It's possible to create your own custom macro pad with a basic USB number pad for much less cost. You can easily pick these up on ebay for under $10.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Create Your Custom Labels

I am creating a pad for PhotoShop.

I created a draft layout of paper to decide what functions I needed and where they should be. You can do this easily in Excel too. Put effort into this part so that you don't have to rip off your labels and do them again because you forgot a function.

Google image search each function you desire. I used terms like "fill bucket icon" and "brush icon", etc. In no time you will have a collection of all your buttons.

If you don't have photoshop this part will be hard for you to create, so I have attached a pre-made sheet sezed for A4 paper at 300dpi suitible for keys up to 13mm high by 12mm wide. Printing full size at native dpi will result in correctly sized labels.

Step 2: Print and Cutout Your Custom Labels

Print a test label sheet and cut out one label to make sure that it fits your keys perfectly.

When you're satisfied that the labels have printed correctly, print a new sheet and cover each row of labels with tape.

The tape will provide a durable surface to press and protect the label.

The best tape for this is the invisible kind which is often marketed as being able to be written on, non reflective and invisible. Normal tape (the cheap shiny stuff) is no good because over time it will yellow and peel. Invisible tape doesn't suffer from this problem.

Using your fingernail, rub firmly over the tape to make it stick properly. You'll see the blacks get darker as you do this.

Use a ruler and blade to carefully cut out the labels. Scissors can be used but it's harder to do.


I used a laser printer for my labels; I'm not sure how ink will react to glue. I'm sure it will be fine but if the results are unsatisfactory, take your image file to your local print shop and get them to print it for you. You may also choose to have them laminate the page for you instead of you using sticky tape. Get 2 sheets printed; one to laminate and one not, and experiment.

Step 3: Attach Your Custom Labels

Use a paintbrush to apply an even layer of PVA glue to one key and carefully place one label that you've cut out on the glue lightly. Position, then press.

Do this one key at a time.

PVA glue sticks to paper very well and will set almost instantly to try to position it perfectly before pressing. Once pressed you may not be able to reposition the label.

The layer of PVA that you apply shouldn't be too thin because the paper will soak it up. The layer should be thin but opaque. If it just makes the key look wet, the layer is too thin.

Your labels should not overlap the keys or they will peel off with use. See images.

PVA glue shrinks and sets clear so it's OK to leave any excess that oozes out. It will disappear when it's dry leaving a shiny film. You may like to seal the edges of your labels by brushing lightly some PVA glue around the edges of each label.

Your keyboard is now complete.

Next: software...

Step 4: Getting Your Keypad Working.

HID Macros is the software we will need to get everything working.

This is the only macro software that comes ready to use with the ability to take commands from ONE specified keyboard while ignoring another.

This means you can command macros with the numbers on your USB number pad without having them activate when you press numbers on your main keyboard.

Other software may be able to accomplish this, but not without much tinkering and reading of forums.

HID Macros was designed especially for this purpose and performs the task perfectly.

Attached to this page is a ready to use installation of it complete with macros for photoshop mapped to the labels shown in these photos. You can use it as a guide.

This software runs without installation. Simply download the ZIP file, unpack it and move the folder to a location of your choosing. Recommended folder to put it in is C:\Program Files. Right-click the program and "send to" "desktop" to make a shortcut.

Step 5: Setting Up HID Macros From the Beginning

Plug in your keypad first, then start HIDmacros.

(Note: If you get an error upon launching the software, please follow the guide later in this instructional.)

For this example, I will program the number 7 key on my pad to send the letter b when it is pressed, which is the keyboard shortcut for Brush in Photoshop.

Refer to the screenshot above for details on the following instruction.

Click New and then type a name for your new command. I type the word Brush.

Now click the Scan button in HIDmacros then press the button you want to program on your keypad. The number 7 key.

HIDmacros now knows what button to program and from which particular keyboard.

Now you can specify the action by choosing "Send keyboard sequence" and typing the letter b in the text box.

Click Save Configuration and you can now test the macro.

Any time you press 7 on your number pad, the letter b should be typed by the computer in any application.

Note: HIDmacros is not application specific. An easy workaround is required to make this happen. More on this later in the instructional.

Step 6: Adding and Removing Devices.

HIDmacros can tell which keyboard you want to you and store different macros for each device.

If you add or remove a keyboard device your macros may end up being moved to another device against your wishes. This is unlikely but it can happen.

No need to worry though, you can easily transfer your macros from one device to another.

See the screenshot above.

The device list tells you how many macros are associated with each device. Click on the device which has the macros then click Move macros and select the device you want to move the macros to.

If you're not sure which device your number pad is, click on the Macros tab and push any key on your pad and the Test Area will tell you which device it is. Don't be alarmed if it says your keyboard is a mouse, it can happen.

Step 7: Notes on HID Macros

If upon launching the software for the first time you're faced with an error message, try right clicking the program and clicking on "Troubleshoot compatibility" and follow Windows' suggestions. I run Windows 8.1 and had issues running for the first time. After following the above instruction everything worked fine.

Modifier keys can be added to your macros to simulate Ctrl+S for example. Please refer to the help file in HID Macros, it features a complete list of commands such as...

+ = Shift

^ = Control

% = Alt

& = Tab

You can even program mouse movements. More info on this page

Step 8: Notes About Your Number Pad.

Your number pad (like any) features a number Lock which allows you to change the function of 10 keys. You can take advantage of this to add another 10 macros to your pad.

I use this feature so that I can use the same button functions under another program.

You must strategically place your labels to take advantage of this by putting labels such as Brush on one of these 10 keys. PhotoShop and ArtRage both have Brush tools but use different hot-keys to activate.

So I placed common tools for both programs on the 10 keys so that in Photoshop I have number lock on and Artrage number lock off.

Alternatively, you can keep multiple installations of HIDmacros and program each differently

Make a copy of the HIDmacros program folder and label each for each program and program your macros independently.


Your number pad may feature a "000" key. This key will mimic any macro you have assigned to the 0 key and press it 3 times quickly. I have assigned Undo to key 0 and so pressing the 000 key activates undo 3 times, which can be useful. This si why there is another Undo label with a 3x written on it.

10 People Made This Project!


  • Instrument Contest

    Instrument Contest
  • Make it Glow Contest

    Make it Glow Contest
  • STEM Contest

    STEM Contest

141 Discussions


4 years ago on Introduction more thing. There's some very inexpensive software called USB Overdrive that pretty much lets you map anything to anything else. It's for Mac OS.

1 reply

Reply 4 years ago

I found a page concerning the wacom data tilt output ..


I found this interesting and need a custom pad for Minecraft. I used AutoHotkey inplace of HIDmacros to swap keys. Instead of just printing plain paper and gluing them, I used a Dymo label printer. It turned out really great and can just print more when they fade.
*Update* They did fade so I printed more with clear box tape over the labels


Question 25 days ago on Step 4

Hi i'm programming my keypad but I can't get to set CTRL, SHIFT, AND ALT. Can you help me?? THX

1 answer

Use a program call AutoHotkey and make a script to swap keys.
Mine script is



Question 3 months ago

is there any way to map the 000 key to a single stroke?


1 year ago

I've been looking for a solution to control Open Broadcast Software, and I'll definitely try this solution. WAY cheaper than a StreamDeck!

1 reply

Reply 9 months ago

By the way, instead of trying the auto compatibility tool on Windows (which for me was always recommending Windows 8 mode), try running it in XP ServicePack3 mode. It worked right away for me!


1 year ago

I was looking for something just like this! The idea is great but I wanted it to be a bit quicker/easier to set up the automation. So, I wrote some drag-and-drop software to allow me to assign automation/macros to my numeric keypad (numpad).
I found it super useful and am now making it available to everyone. It's called Numpad Superpowers, and as the name suggests, the idea is that it gives your numpad computer-automating superpowers :)
It's only for Windows, but if that's what you're on then check it out!
Happy automating!

EDIT (March 2019): After a 6 months of manic coding, Numpad Superpowers has been completely rebuilt to provide even greater computer-automating possibilities. It is available for download from the website ( so you're welcome to try it out (in fact, I'd positively encourage you to do so!). If you have any questions, feel free to get in touch at

1 reply

Reply 1 year ago

That looks awesome! But it looks like your domain expired. Is there anywhere else we could download it from?


1 year ago

Thank you so much for this tutorial!

// One thing I would suggest is keeping a copy of the hidmacros' xml file. I've been getting some errors which have been erasing all of my saved macros. Copy-pasting them back into the file (in notepad) and then opening the program works well.


Question 1 year ago

Hid Macros is a wonderful program... YET.... It can't discriminate by program, that's its biggest fault. Do you know any program that let you do that? Like, X, in the joypad, is for spacebar in, say, Pohotoshop, but its ctrs+shift+whatever in Lightroom




1 year ago

hi, im asking anywhere i can in case anyone can help: i finally got hidmacros to work, i finally got it to make the keypad work after a lot of trial and error, but it still seems to not want to work with paint tool sai which is the program i draw in and absolutely dont want to change that but i also would love this keypad i got for this exact purpose not to go to waste, so
tl;dr: has anyone gotten HID Macros to work with Paint Tool Sai??? PLEASE and thank you
also idk if this should be posted as a question or comment, i only just joined this site, sorry !

1 reply

2 years ago

Do you think this will work for the old Ideazon/SteelSeries Fang? Recent "updates" (downgrades) to Win10 and the SteelSeries engines have bricked my keyboard and turned it into a non-programmable.


2 years ago

Not sure if anyone will reply due the time this tutorial has been posted, but I'm curious and have some doubts about it and hope someone will help me even after 2 years.

1- will it work for any keypad, USB or wireless?

2- considering hidmacros is no longer in development, will luamacros work the same way, or best to get the last release of hidmacros anyway?

Sine it's possible to use it with scripted commands, I was planning to get a cheap keypad and configure it for gaming purposes, for games that require a sequence of actions and I could therefor program it to press the key sequence instead of pressing all keys by myself (specially useful if that action is done only through game menus instead of a key bind, which is the case I'm needing it for).

Thanks in advance for any help provided.


2 years ago

Hi John,

does this work with wireless/bluetooth numberpads?


2 years ago

Hi johnfoe,

Thanks for your perfect guide. I have a question. I understood how to remap a keyboard key to another device but I want to create some key combinations. For example "alt+tab+enter+left arrow" on keyboard. Or "A+A+down arrow (3 times)+A" on gamepad. But I don't know to write macros. So there is simple and easy way to create this kind of combinations with HIDMacros?


2 years ago

Hello, i'm trying to use this method and i've run into a bit of a block. I use Clip Studio, and like with most art programs i need to be able to use buttons like LControl, LShift, LAlt, and Space on their own for navigation. However i can't seem to figure out how to type these out in the send keyboard sequence thing at all. Anyone have an idea on how to type these out?


2 years ago

How do I program CONTROL, ALT and SHIFT keys to the new keyboard?