TLDR: I built and collected keypress data using this instrument, and so can you! (Maybe.)

Keyboard modified to function as an RB-840 Response Pad


Response pads (also commonly known as button boxes) are often used in experiments where participants provide responses using their digits (also commonly known as fingers). They look something like this, depending on the experimental task:

Response pad image via Linton UK’s website

There are several good reasons to use response pads: the limited number of buttons means you won’t need to analyze extraneous keypresses, and the standard configurations allow for comparison across experiments. Some of them have plug-ins that synchronize with experiment software like Superlab or PsychoPy. So, why would you ever want to build your own?

Each response pad costs $499 from the manufacturer. This is all good and well if you’re conducting research in the lab, where you can use the same response pad for multiple sessions per day. But what if you aren’t in the lab? If you want data from a more naturalistic environment (or if certain circumstances prevent you from bringing people into the lab), you may want to consider alternative solutions. Namely, making your own response pad from a standard keyboard, as in this tutorial.

To figure out if it’s workable for you, ask yourself the following questions:

  • Will your participants be completing your experiment on devices that don’t have a USB port (like phones or tablets)?
  • Will your participants be completing your experiment inside an MRI scanner?
  • Do you need to collect data at temporal resolutions under 10ms?

If the answer to all 3 questions is NO, read on. With the modifications I’ve outlined below, you can overcome most of the issues related to using keyboards as response pads, all for under $30 per keyboard.


RB-840 response pad image from NeuroSpec’s website

I’ll be illustrating the technique using this RB-840 design, since that’s what I needed for my button-pressing experiment. With the help of my lab, I prototyped and tested this design to ensure that it’s ergonomic and user-friendly. Feel free to adapt these instructions for other designs as well. Just remember to have a variety of people test out your DIY response pad before beginning actual data collection.1

If you end up following this tutorial, or if you end up adapting these instructions for a different response pad layout, I’d love to hear about it 😊 Please shoot me an email at, and I’ll feature you!

Materials 🧱

for N keyboard kits

For the Keyboards Themselves

  • N QWERTY keyboards (example). Requirements for these:
    • ANSI or ISO layout
    • can lay completely flat (i.e., not something with a USB port underneath one side)
    • wired, not bluetooth—since it’s easier for participants to plug into their own devices
    • ideally, all the keyboards you use for this should be the same model
  • at least N x 5 colorful rectangular stickers (example), no longer than 1/2” on the shortest side—one pack is plenty
  • at least N x 8 stickable bump dots (example), no larger than 3/8”—again, one pack is plenty
  • 1 roll of clear, single-sided tape, wider than 1/2” but no wider than 3/4” (regular Scotch tape works fine)
  • 1 pair of scissors
  • 1 Sharpie marker or similar

Optional (but Useful!) Accessories

  • N USB-A to USB-C adapters (example). If your keyboards connect via USB-A, which is typical as of the time of this writing, you may find some participants don’t have USB-A ports anymore, so it’s good to include these in the kits
  • N bags (example) large enough to hold the keyboards. This keeps everything together, and provides some protection during transportation
  • N tags (example) for the bags. I found it was useful to include a slip on these with my contact information and each participant’s drop-off time, just as a reminder
  • N sealable sandwich baggies (example), to save the removed keycaps if you plan to use the keyboards as keyboards in the future

Build Instructions 🛠

  1. Test the keyboard out to make sure all the keys on the keyboard work—or at least, all the keys that should be pressed during the experiment. For the RB-840 design, these “active keys” will be 6, 8, g, k, c, v, comma, and period.

  2. Flip keyboard over, and tape down any flaps that might keep it from lying flat. Additionally, it may be helpful to tag the keyboard with an identifier (the orange “F” sticker here) to help diagnose any problems with this keyboard down the line.

Underside of keyboard with top flaps taped down and identifier sticker taped to the middle.

  1. Flip the keyboard right side up, and then remove the top row of keycaps (the ones above the numbers); this prevents participants from accidentally pressing them during the experiment, since the heel of their palms will naturally rest here. The first one may take a bit of fiddling, but as long as you can wedge a rigid object underneath the keycap, you can do it. In theory, you could remove all the keycaps except for the active ones, but it’s not necessary, at least for the RB-840 design.2

A housekey works just fine as a wedge for this particular keyboard

Result of removing top keycaps

  1. Mark the active keys with the colored stickers. If your stickers are too large for the keys, you may need to cut them in half. I find that they’re more likely to stick on the keys if you tape them down, though you may need to cut the tape to do this.

Make sure to leave a quarter inch or so of tape on either side, and flatten it down onto the side of the keycap after attaching.

Result after taping stickers to the active keys

  1. Now that you have the active keys marked, stick a bump dot on each one. This allows participants to easily find the correct hand position, even while they’re looking up at the screen.

Bump dots on all active keys.

Follow-Up Tips

  • For RB-840, the keyboard should be used with the number keys on the bottom. During set-up, instruct participants to turn the keyboard so that the space bar is facing away from them. Here are some photos of the correct configuration, in case you need them for illustration, with hands and without.
  • When analyzing keypresses, it may be helpful to map back from keys to fingers. Here’s a snippet of a dictionary in Python to help with this for RB-840:
    keys_to_fingers = {
        '6': 'right-thumb',
        '8': 'left-thumb',
        'g': 'right-index',
        'k': 'left-index',
        'v': 'right-middle',
        ',': 'left-middle',
        'c': 'right-ring',
        '.': 'left-ring'

And there you have it! Please email me at if this tutorial was helpful; I’d love to know about it. Happy experimenting!


  1. For response pads that have larger keys, like the RB-844, you’ll need to make adjustments, perhaps involving a larger, flat block that sits on top of several keys. Please let me know if you engineer a solution to this, and I’ll add it to this post! 

  2. The more keycaps you remove, the greater the likelihood of one of them breaking—something to keep in mind if you plan to use the keyboards normally again.