Slashdot Mirror


Homebrewed Macro Keyboards?

MightyMaus asks: "So I've been checking out various hardware websites lately, paging through computer retail catalogues, and basically pining for a better-paying job. But one device that's really caught my eye is the Programmable Keypad. Looks pretty cool, but $140? No way. Even the smaller version carries a hefty $90 price tag. Now, it seems like making one of these should be relatively easy; but the almighty Google returns nothing but more places to buy these things. So where do I turn? To Slashdot. Has anyone hacked together one of these before?"

18 of 57 comments (clear)

  1. USB? by gmhowell · · Score: 4, Informative

    Looks like you could just get a USB keyboard. Somehow set it up as a secondary input device. I assume Linux can do this. Intercept the keypresses on the secondary keyboard, and have them do 'foo'.

    Or, quit bitching, and pony up. I guess it could be a fun hack, but if the keyboard has any quality whatsoever, this isn't that expensive.

    For more fun, you may want to look at some of the controllers for RTS games. Not as many keys, but drivers might be easier to find. Another possibility is to find a touchpad. Put on an overlay. Map coordinates to your macro.

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
    1. Re:USB? by mayoff · · Score: 2, Informative

      No (Linux) kernel patch necessary. I bought a 19-key USB numeric keypad at Fry's for about $20.
      The numeric keypads tend to be far cheaper than the "programmable" keypads.

      It's connected to my server. I loaded the evdev module and wrote a tiny C program that simply reads events from /dev/input/event1 and writes them in a text format. I pipe that output into a shell script which runs other programs based on what keys are pressed. I have one key mapped to a program that uses the modem to forward my home phone to my cell phone, and another key mapped to unforwarding my home phone.

  2. Gotta love cheapskates by BortQ · · Score: 2, Insightful
    This guy probably uses a keyboard 8+ hours every single day. And yet he won't lay out 140 bucks for a nice one.

    My keyboard is like a part of me. I'd kill myself without its sweet tactile feedback.

    --

    A Multiplayer Strategy Game for Mac OS X, Windows, and Linux
  3. RSI nearly killed me, so I discovered THIS by DancingSword · · Score: 3, Informative

    Focus FK-9200

    After my trackmate ( or whatever it was called ) died, my second keybroniq (whatever) keyboard, and I used a keyboard/mickey-rat combo for a couple of months, it nearly crippled me, so I discovered these things, and bought 2, because being made crippled, just because my keyboard died, .. IS NOT ON.

    PS/2, but I hope they make a USB version, soon...

    Trackball AND macro-keys, AND calculator ( excellent combo ).

    To keep the trackball running well, I keep a bottle of isopropyl alcohol ( not "rubbing alcohol with glycerine and lotion" ), and a bunch of cotton-swabs, and clean it a couple of times each day. It's a good reminder that I need to .. drink water, and walk 'round, and such -scratching head bemusedly-...

    REALLY search for a good price, because they are sold at drastically different prices by different resellers..

    --
    Messages to/for me ( in me journal )
    1. Re:RSI nearly killed me, so I discovered THIS by AlecC · · Score: 3, Informative

      They the Fingerworks Touchstream keyboard - if you can afford it. The same area acts as keyboard (single finger touches), mouse, and gesture area (multiple finger touches). I haven't tries the keyboard version; I have the mouse/gesture only iGesture, and it does the job well. Not as well as a mouse, but better than al the other pointing devices I have triedl. The keyboard ought to be better, because it keeps your hands in the active area while moisung - and it is, of course, zero-force (and zero feel).

      --
      Consciousness is an illusion caused by an excess of self consciousness.
  4. Unreal Tournament by skinfitz · · Score: 3, Funny

    Just when I thought cheating in Unreal Tournament couldn't get any worse, someone makes a keyboard to attach all those cheat scripts to.

  5. DIY by fille · · Score: 2, Informative

    Elektuur, a Dutch magazine, has published some articles about a keyboard with hotkeys. This is the link but I'm afraid it won't work very well (and there's no google cache). Just search for "Hotkeys-toetsenbord" on elektuur.nl. It has 18 buttons. Only PS/2 though..

  6. Gateway AnyKey by Quixotic137 · · Score: 3, Interesting

    Gateway used to ship "AnyKey" keyboards with all their systems. You should be able to find one if you look around a little bit. They are basically standard keyboards with a bunch of extra keys that you can program. There's a picture of one here on Google, although it appears the linked site is down. Anyway, they come in both PS/2 and DIN-5 varieties. There should be more information on Google.

    1. Re:Gateway AnyKey by n1ywb · · Score: 2, Informative

      I glad you think so because the general opinion at every place I've ever worked at is that they are the single biggest pain in the ass ever invented and someone should be shot. Nothing like when an ignorant luser accidently remaps their enter key and doesn't even realize it and calls tech support freaking out. Then YOU have to come in and try to remember how the hell to fix it. It's usually cheapest just to replace the keyboard rather than try to screw with it. So yeah there should be plenty of those things kicking around if you want to try one :)

      --
      -73, de n1ywb
      www.n1ywb.com
  7. Numeric keypad by teamonkey · · Score: 2, Interesting

    Get one of those numeric keypads designed for laptops with a USB interface. Then you can map the keys sung xmodmap.You could even put stickers on the keys.

  8. Keyboard Encoder by Zapper · · Score: 2, Informative
    Check out arcadecontrols.com under the 'interfaces' section. They describe some programable keybd encoders such as:
    • 18 inputs, up to a 9 x 9 matrix for 81 inputs.
    • 24 inputs, programmable via keyboard or rs-232 port, up to 12 x 12 matrix for 144 inputs.
    • 24 inputs, programmable via keyboard only, up to 12 x 12 matrix for 144 inputs.
    • 72 distinct inputs, programmable, trackball support.
    • Daisy-chaining two encoders together for more inputs.
    They use 'em for interfaceing arcade controls to keybd port. :-D
    --
    So much to do, so little bandwidth.
    --
    Try Mozilla
  9. look for mame cabinet articles. by gl4ss · · Score: 2, Informative

    they have often customised keyboard chips for input, also you can just whack one of your old keyboards and take a look inside, do necessary wiring to something(first test out, or trace, the connection matrix) you wish to use for buttons.

    also.. you can butcher old keyboards for seperate numpads too(which are available, but cost more than 5$).

    also, some mame cabinet projects have made special hw to connect several normal keyboards to one pc so that they still all work.

    --
    world was created 5 seconds before this post as it is.
  10. iGesture Products by SlipDisc · · Score: 2, Interesting

    these arnt cheap, but may be what you are looking for? they have a fairly small keyboard.

  11. Free Linux/*nix version by PeterClark · · Score: 3, Interesting

    You already have everything you need if you run Linux or any other *nix: just remap your current keyboard. For example, you can make a keyboard map of the number pad with whatever macro you want, and then toggle between the regular keypad and the macro keypad with a rarely-used button, like PrintScreen or Scroll Lock.

    :Peter

    1. Re:Free Linux/*nix version by PeterClark · · Score: 2, Informative
      If you're using KDE, then your best bet (from what it sounds like) is to use khotkeys. That way, you won't need to mess around with X keyboard files, which isn't something you want to make a mistake with if you're fairly new to Linux. :) Khotkeys will be included in KDE 3.2; why it wasn't included earlier, I don't know. It supports borth inserting strings and running programs (handy for small shell scripts). The only time this would not be ideal is when you want to input a lot of macros or special characters at a time. In which case, here are the (untested) instructions for modifying your X layout (for KDE, although the general procedure is the same for GNOME; for plain window managers, you'll need to Google for specifics):
      • Don't do this unless you've made backup and know how to undo any mistakes! You may make typing exceedingly difficult in X if you make a mistake. Also note that I have not tried these particular steps; something similar, yes, but I'm working from memory here.
      • First, choose a keyboard layout that you are likely never to use. Like, say Albanian (al). In KDE, go Control Panel -> Accessability -> Keyboard layout, select "Enable keyboard layouts", and select "Albanian" from the list of additional layouts.
      • Next, assign a key to switch keyboard layouts. In KDE, this is in the Control Panel, under Accessability -> Keyboard Shortcuts -> Switch to Next Keyboard Layout.
      • You may need to restart KDE in order for the changes to take effect.
      • Next, edit the Albanian keymap (found in /etc/X11/xkb/symbols/al) as root. It doesn't look as though the Albanian keymap includes anything for the number pad (which means that it just defaults to the basic definitions), so you'll have to add the keypad in. Look in /etc/X11/xkb/keycodes/xfree86 for the line <NMLK> = 77;; it, and everything below it until <KPDL> = 91; refers to the keypad. You should be bright enough to figure out which lines map to which keys. Add these lines to the Albanian map, then conform it to look like the rest of the keymap. This means removing the numbers, adding in the "[" and "]", and adding the keysymbol that you want displayed (see the list at /usr/X11R6/include/X11/keysymdef.h).
      • Restart X, cross your fingers, and play away!
      Have fun,
      :Peter
  12. Re:Cost of production by cybermace5 · · Score: 3, Insightful

    I agree with the "do it for fun, not to save money" point.

    However, I could build a completely custom USB keyboard for less than $140 NOT counting labor. Everyone knows hobby time is worth $.0025/hour anyway. ;-)

    It would be up there in price, around $80 to $90 since the circuit board would be custom. That's only if I had someone else make the board, though. Guess I could etch my own board.

    Anyway, all that would be required: one of the many cheap ($3-$5) USB-capable microcontrollers, some trivial encoding logic, and keyswitches. I'd probably go with surplus opto-interrupters and spring-loaded buttons on a custom panel. Easier to do if you have access to a CNC machine.

    The benefit? Using the HID device standard, your button-box can become anything. Keys mapped anywhere, even macros depending on how fancy you get with the firmware. Could also add some more status lights, or outputs to control the coffeemaker.

    --
    ...
  13. Re:A somewhat related keyboard question by AlecC · · Score: 2, Interesting

    A bit of a dupe, but try this. Meets all your criteria except feel, and they claim to be good for RSI.

    --
    Consciousness is an illusion caused by an excess of self consciousness.
  14. Make your own by dissy · · Score: 2, Interesting

    Well you did want to know if anyone rolled their own.
    If you are looking for PS/2 keyboard or RS232 serial output, check out the MEMkey board.

    http://www.parallax.com/detail.asp?product_id=2796 3
    At quantities of 1 they are $40, but as they are programmable this can most likely do anything you need.

    It has a 4x5 matrix (20 keys) that you wire to this board. Then you program it to push a value for each key out either the serial or PS/2 lines, you can plug this in directly to the keyboard input if thats what you need, or go the serial route if you want to make your own listener appliaction for it.

    PDF datasheets are on their site.

    Ive purchased many of these and they are the most handy things ever.
    You can also buy keypads and ribbon cables from parallax as well if you dont mind a 4x3 or 4x4 telephone like pad.
    Both have 0-9 * and #, and the 4x4 has the letters A-D.
    If you make your own, the board can support up to 4x5 grids.

    With a few other parts you can easily break out the matrix and wire each of the 20 keys up to pushbuttons to do almost anything.

    If you use a serial protocol, and some latch ICs, you can string together 8 or so of these chips into one serial port on the PC.

    My application was a MAME joystick that sent PS/2 keycodes that MAME would understand.

    (BTW, for real arcade joysticks buttons and whatnot, check out www.happcontrols.com)

    Hope this helps