No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long. 2.5KB


  • Keymapper - An Arduino-based hardware QWERTY keyboard layout remapper.
  • Last updated: 26 November 2013 by darkytoothpaste
  • Last updated: 13 August 2018 by gdsports

What you can do with it?

  1. You can design your own keyboard layout with real hardware support
  2. You can cheat your friend with it or do some other evil things :P
  3. Just think about it!

How to use this?

Hardware support

Hardware assemble

Teensy 3.6 with USB host cable

  1. Solder the header pins to the USB 5 pin connector. Plug in the USB host cable.

  2. Install Teensyduino package.

  3. Use my patched version of the PJRC USBHost_t36 library. This is required so the sketch can get the raw HID keyboard report.

  4. Select Board type: Teensy 3.6 and USB Type: Keyboard. Upload the sketch.

  5. Plug your USB keyboard to the USB Host shield

  6. Done! Happy keyboard hacking :)

Leonardo or Teensy 2

  1. Stack the USB Host Shield on top of Arduino Leonardo, for Teensy, soldering work is required, you may refer to this page

  2. Import USB Host Shield 2.0 library to Arduino IDE

  3. Connect the stack to your computer and upload the sketch

  4. Plug your USB keyboard to the USB Host shield

  5. Done! Happy keyboard hacking :)

TBD Teensy LC

Keyboard layout switching

  • QWERTY is the default layout
  • To change layout, press:
    • CTRL+SHIFT+0: QWERTY (Default)
    • CTRL+SHIFT+1: Tarmak1
    • CTRL+SHIFT+2: Tarmak2
    • CTRL+SHIFT+3: Tarmak3
    • CTRL+SHIFT+4: Tarmak4
    • CTRL+SHIFT+5: Colemak
    • CTRL+SHIFT+6: Dvorak
    • CTRL+SHIFT+7: Workman


Thanks to original author: darkytoothpaste