Description ===== * 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 * Arduino Leonardo with [Circuits@Home USB Host Shield 2.0](http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino-assembled) * Teensy 2.0 with [Circuits@Home USB Host Shield for Arduino Pro Mini](http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini) * [Teensy 3.6](https://www.pjrc.com/store/teensy36.html) with [USB Host Cable For Teensy 3.6](https://www.pjrc.com/store/cable_usb_host_t36.html) * TBD [Teensy LC](https://www.pjrc.com/store/teensylc.html) with [Circuits@Home USB Host Shield for Arduino Pro Mini](http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini) ## 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](https://www.pjrc.com/teensy/td_download.html) package. 3. Use [my patched version](https://github.com/gdsports/USBHost_t36) 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](http://forum.colemak.com/viewtopic.php?id=1561) 2. Import [USB Host Shield 2.0 library](https://github.com/felis/USB_Host_Shield_2.0) 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 Acknowledgement === Thanks to original author: [darkytoothpaste](https://github.com/darkytoothpaste/keymapper)