Mac OS X , foot controller.

I needed a smoother way to navigate control my mac without having to lift my key finger positions too much

Similar projects worth following
It started out that I got a new keyboard and the new keyboard was slightly smaller than my previous one and I really had a tough time adjusting my key positions. Especially when writing long bilingual reports in Japanese and English I had a difficult time switching between the languages. So I first build a single switch foot controller. Then I upgraded to include some other functions I often use during my coding/writing/thinking.

The challenging part of the build was figuring out what the "kana" (i.e.:Japanese) and "Muhenkan" (i.e.:direct type) keystrokes were. I used the HID key reference and the "Key Codes" software to figure out what strokes I needed to issue.

You can see the controller in action on Youtube.

Youtube:Adafruit Bluefruit EZ-Key 12 based foot controller for Mac os


I needed to modify the original file from Adafruit to add the language key switch.

pde - 2.67 kB - 04/19/2016 at 09:33


  • 1 × Bluefruit EZ Key-12
  • 1 × 30Φ Mushroom switch 1a type
  • 2 × Push Switch RC1121 FUJIX push switch
  • 1 × Foot Switch (DPDT) Basic foot switch for guitar effectors etc.
  • 1 × TS Sloped Aluminium Case TS-3. By Takachi Electric Industries.

View all 7 components

  • 1
    Step 1

    Prototype on breadboard.

    I use the DPDT switch to switch between the languages, by using a DPDT switch I can have 1 switch to switch between the states.

  • 2
    Step 2

    I have assigned some shortcuts for "Mission Control" so I can easily switch between the "spaces" and "show all windows"

  • 3
    Step 3

    Figure out key codes.

    1. USB HID Usage Table

    2.Key Codes App.

    the "language" switch were "Keyboard International 1" (primary language) and "Keyboard International 2" (secondary language).

View all 5 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates