Jugbot / Emoticon-Keyboard

A made-from-scratch hardware keyboard that instead of typing letters it pastes emoticons!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Emoticon Keyboard (͠≖ ͜ʖ͠≖)👌

Main Image

Most of my projects start with an impulse of some kind. Two years ago I decided I liked emoticons so much that I was going to make a keyboard just for emoticons. Although I could just have used another keyboard with a bunch of macros I was feeling ambitious and wanted to build it all by hand from the ground up. This is my first real introduction to hardware of any kind, and my first finished project.

Pressing a button on the keyboard causes the client program to load the corresponding emoticon and paste it while also reloading previous clipboard data. The emoticon that is displayed at the top

My process went (roughly) like this:

  • Research into what materials I need. (checking if I could afford it)
  • Testing how to program an arduino to write emoticons such as “【・_・?】” (it took my a while to learn about the input protocols)
  • Write the teensy code and client code. Dove into C and HID protocols.
  • Once that worked, I made the plate for the Cherry MX keys to fit. There were many complications to this part including how to convert 3D types in Maya, Plastic warping, and getting the keys to fit into the rough print from the school printer.
  • From there I worked on the wooden frame and acrylic panel which took multiple iterations until it looked right.
  • Hand wired the matrix input into the teensy. A lot of work could have been avoided with a pcb, but I was trying to be as cheap as possible.
  • At NYU after a semester of trial and error I found the right dimensions for a key connector that could be resin printed.
  • Sigh of relief as this 3 year project is finally over. (º﹃º ) ᕕ( ᐛ )ᕗ

Some helpful tools I used:

Additional Pictures:

Other:

About

A made-from-scratch hardware keyboard that instead of typing letters it pastes emoticons!

License:GNU General Public License v3.0


Languages

Language:HTML 79.8%Language:C 19.0%Language:C++ 0.9%Language:OpenSCAD 0.3%