Finally, Someone Has Found The Any Key


keyboard and any key device

“Where’s the any key?” Well, it’s right here. After running into trouble with the STM platform, [lukasz.iwaszkiewicz] went with the Texas Instrument C Series Launchpad to construct his “Any Key” HID device. He was able to make use of the TI TM4C123G LaunchPad’s extensive USB library which is laid out into four tiers – the very top tier being Device Class API. This gives the programmer the ability to implement simple devices with just a few lines of code. [lukasz.iwaszkiewicz] points out that ST does not have this option available.

The Any Key uses a host PC program that allows the user to enter keystrokes into a virtual keyboard. This information is then passed to the Any Key device. When it is pressed, it will push the recorded keystrokes back to the host PC. Simple, but effective!

The project is completely open source, and all files and code are available. Be sure to check out the video after the break demonstrating the Any Key in action.



20 thoughts on “Finally, Someone Has Found The Any Key

  1. > few lines of code

    And 12 months scouring the site for the corrects downloads, downloading bloated eclipse based ides and then going thru hell to make the debuggers work with the promised convenient usb interface.

    1. sadly this is one of the reasons arduino is so popular, a type of vendor lock-in of sorts, once you have a stable development environment you really try to avoid the hassle of doing the job again just so you can use a part from another supplier

          1. The arduino uses gcc internally. You could easily set those libraries up to be usable.

            Although, they’re really quite terrible, especially any using digitalWrite.

          2. Arduino is really, really easy. And it just works, exactly like it should do! It’s actually a pleasure. I’m sure all the usual problems and crap you get with other options, even compilers for actual PCs, has caused plenty of people to give up on a hobby for a few years, which easily slips into forever.

            It’s the 21st Century. We shouldn’t have to wrestle with intricate bugs and stupid crap. Our tools should be well-written and they should bloody work! Work in a logical and consistent manner.

            I was using apt-get on a Raspberry Pi the other day. A text-based, Linux method of installing software. And fuck me if it isn’t easier than Windows, much easier! You ask for it, you get it! Just by knowing the package’s name!

            We shouldn’t need to show off our brain-muscles by mastering baroque labyrinths of bugs and not-quite-how-it’s-supposed-to. Programming is supposed to be an efficient way of getting an idea for a program out of your head and into a machine. Why can’t it be simple, straightforward, and even easy? As well as powerful. In fact, now, it is. Just for a minority of hardware and software.

            Raw CPU speed rarely matters in most things. There’ll be one twice as fast available in a month or two. And humans run on a glacial timescale compared to clock ticks. Arduino’s obviously fast enough for the thousands of things people have made with it.

          3. Also like to addend myself by pointing out that, in many fields of computing, knowing the exceptions and gotchas is actually about half of your useful knowledge, and often is the reason your client / friend / grandmother had to get an expert in in the first place. Programmers and tech guys are walking encyclopaedias of bugs!

    2. Arduino IDE is great, and helps you to finish projects rapidly, but in fact it is based on avr-gcc, so under the covers it uses full featured GCC and secondly making your own cross compiler is not so hard and for me it was very interesting experience. I usually like to know how stuff works! For ARM’s I could download some precompiled GCC but instead I wanted to learn how to make one from scratch. The same goes for IDE. I don’t use Code Composer, but my Eclipse CDT I use for regular, non-embedded development. As for Arduino, I like that it is so popular and so many valuable information can be found about it, but if you compare price/features ratio of Arduino and Cortex-M4F boards it makes you wonder about possibilities both boards give you, and what cool thing you can build with each of them.

  2. I made one a while ago for a local DJ. He wanted a dedicated controller with a single gigantic button for the sake of being ridiculous. It’s just a teensy++ 2.0(because I have a dozen or so lying around) programmed to operate ad a midi device. Mounts are 3d printed and JB welded to the metal enclosure. It took about 2 hours to make, most of that spent drilling and filing for lack of a proper bit to make the main hole.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.