Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 6 of 6

Thread: A custom keyboard of sorts?

  1. #1
    Junior Member
    Join Date
    Feb 2017

    A custom keyboard of sorts?

    I am looking at working on a project to help a friend with limited mobility in her hands get back to playing the game she enjoys after losing fine motor skills in her hands. I just have a few questions before I go about getting everything I need. I have looked at multiple boards ranging from the Makey Makey to the Teensy as well as a few others trying to find the best way to go about this.

    I want to make a 65ish key "pad" that will allow buttons to be mapped to key presses on the keyboard. Some buttons would need to be combination buttons such as pushing a button attached to say pin E6 would need to push CTRL + Shift + E while pin E5 might do CTRL + 4 or Pin D8 may just do 4 so as to let her push multiple keys corosponding to keybound actions within the game itself with the side/base of her hand on one button.

    My question is if the Teensy board (and which if any) is capable of doing this and if so could anyone recommend any resources I could use to go about doing it from a wiring/programming standpoint.

    I would probably be doing it in a breadboard style so I can re-purpose it for her as needed.
    Last edited by Nixreport; 02-27-2017 at 11:45 PM.

  2. #2
    Join Date
    Dec 2016
    Well pretty much any teensy can behave as a key board, and 65 inputs is achievable with any of them - but with different circuits.
    Have a good think about what you need from the device :
    Fast response time? probably if it's for playing games.
    65 keys, for gaming might be a bit much, but for typing that seems legit.
    Physical aspects, does she need big buttons with low contact force and space in between to avoid pushing two at once? Is it going to be impractical to make 65 buttons big enough in one board? Is it going to be practical to push two keys at once? ( perhaps the modifier keys need to be "Sticky")

    Where does your personal skill sit? You might want to start with a smaller teensy and directly wire a few buttons to it - get that behaving as a keyboard and then move up from there. Teensy is a good choice for this sort of project as it can very quickly be used to send keyboard messages. All you'd need is one button and a teensy and you could start. Hell you could get a teensy to sit there sending words without a button if you wanted :P

    If you're not familiar with such terms as "interrupts" (in programming) "multiplexers" (in signals) and "ghosting" (in keyboards) I'd have a quick google as those things will be quite relevant.

  3. #3
    Junior Member
    Join Date
    Feb 2017
    I appreciate the reply. I have been going over some designs with her and we settled on a "book" style layout with 32 keys on each side then configuring it with a 2 port USB hub to be recognized as 2 game controllers on 1 usb slot. The reason for this would be to use joytokey to allow a flexible setup no matter she needs (actual keyboard/game controller/whatever else in the future).

    The breadboard style I have decided to stick with for now to allow for adding and removing keys depending on what is needed for her uses. The plan has moved to doing smallish (think keyboard sized) buttons to push but they would need to be low pressure and low profile.

    I plan to do a velcro style pad so that buttons can be rearranged and moved as much as needed for whatever use she has. So one day it can be an oversized keyboard while others it can be a specialized gamepad. I have over the last couple days done a lot of digging around so programming wise I think this should be easily accomplished (using provided tutorials and examples I have collected) and I would have no problem assembling this into a box. As far as actual technical stuff goes I am not terribly experienced in wiring so I am trying to keep everything basic.

    The box itself is going to be foldable with a removable top to tuck the keys away when not in use with a USB cord going out the back. The box will be approximately 1.5 inches deep though if this isnt enough clearance for the breadboard and chip I will adjust it to accommodate. Each side will house 1 teensy. The buttons will be backed with velcro and the top of the box will be a velcro mat. I am thinking each side of the box will be about 9 inches with the entire thing being 18 inches across.

    I am currently looking around for certain parts that I am not terribly knowledgable about.

    Buttons/keys - hoping for low profile low pressure keys/buttons about the size of a standard keyboard key (can be a little bigger though not much) to use that require no soldering. Baring that I am more than happy to take recommendations on a cheap but decent soldering iron for beginners as well.
    Teensy - Which model would work best for this as each pin will be its own dedicated function for this. Looking for fast response time and the ability to put 32-34 individual functions on the chip itself.
    A USB powered 2 port USB Hub - Trying to keep cabling to a minimum so will be putting this inside the box.

  4. #4
    Senior Member
    Join Date
    Apr 2013
    Would suggest assuming you'll need to solder something in the process of building this. Would be possibly to use crimps but the size and such on those would start to be a problem. So buying a basic station off ebay would greatly simplify your life. Doesn't need to be flashy but you really want one with an adjustable temperature. Or check if there is a hacker space nearby and see if you can borrow one (and some assistance putting things together).

    Buttons are going to be a sticking point for this, since there is a direct relationship between quality and price and compactness in buttons. I'd suggest hitting ebay or other china reseller of choice and looking for some 10 packs in different form factors and see how it goes. The real answer is probably cherry switch units, which are individual keyboard switch units in a range of spring tensions and clickyness. And eyewatering prices.

    An option here as well is to use the touch sense pads on one or more teensies either directly (poor touch feedback though) or in some form of mechanical button rig that provides just the right feel without needing fussy mechanical adjustment of the switch contacts.

    Re teensy pretty much any three series will work. Would suggest starting out with LCs. Per possible switch contact a 3.5/6 will look cheaper but at least at first would suggest that buying 3-5 LCs will give you lots more options than 1-2 3.5s. For starters you can have one on the bench and one in the work in progress being tested with your friend, and to get the inputs you may find it neater to have three LCs chained together via serial than a single fanout from one of the larger boards.

    Once you have the mechanical design sorted you may find one or a pair of 3.5s will do what you want but would suggest this will go through several rounds of prototypes to get there so starting small, cheap and reasonably expendable may be the way.

  5. #5
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Ayer Massachussetts
    Quote Originally Posted by GremlinWrangler View Post
    An option here as well is to use the touch sense pads on one or more teensies either directly (poor touch feedback though) or in some form of mechanical button rig that provides just the right feel without needing fussy mechanical adjustment of the switch contacts.
    Note, the Teensy 3.5 does not have touch sensing. Here are some really old articles on using touchRead:

  6. #6
    Senior Member
    Join Date
    Jan 2013
    If you want to keep things simple, go with 2 Teensy 3.5 and use a dedicated pin for each switch (you can buy them with soldered headers). In theory, one Teensy LC and a multiplexing scheme for reading the buttons would be enough, but that makes things a lot more complicated.

    There isn't much practical difference between having everything on a single USB HID device or splitting it across two, so just use the Teensies as separate HID devices and you won't need communication between them.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts