Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 3 of 3

Thread: Teensy 3.1 and keyboard boot protocol

  1. #1
    Junior Member
    Join Date
    Mar 2015
    Posts
    2

    Teensy 3.1 and keyboard boot protocol

    Hello. I hope someone can help me with a problem I have. I have a project in which I need the controller to send some keystrokes during a DELL laptop BIOS initialization. I first tried using the Arduino Leonardo but as it turns out, that didn't work because the Arduino doesn't support the USB boot protocol. That's how I heard about Teensy, advertised as a similarly compact controller with the boot protocol capabilities. So I ordered my Teensy boards (version 3.1) and when I tried to compile the example source code from the website, it turns out that it was written for an older version of the Teensy and doesn't work on the 3.1. Supposedly we have to use the arduino application with a suitable Teensy plugin. So I did that and wrote a simple program using the USB keyboard arduino library. It didn't work, I suppose because then you're using the arduino libraries which don't have the boot protocol support. So this is getting frustrating. Any advice? Pleeease?

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    23,061
    Use Arduino with Teensyduino. After installing, use Tools > Boards to select Teensy, and Tools > USB Type for Keyboard.

    You might start with examples, from File > Examples > Teensy > USB_Keyboard

    Teensyduino implements a composite device with several interfaces. The USB keyboard interface does support boot protocol. However, whether Dell's BIOS is smart enough to ignore the other non-keyboard interfaces is a good question. Most modern keyboard do implement a composite device, but the extra interface is only for the special keys. Still, that greatly increases the odds Dell's firmware might manage to ignore the other interfaces.

    If it can't, you'll need to edit usb_desc.h. The latest 1.21-beta versions have much easier-to-edit code. It was recently redesigned to make configuring your own custom USB combinations easier.... not as easy as Arduino's Tools menu, but much simpler when editing that file. So if you go down that path, get the latest 1.21-beta version. Even though it's still "beta", it'll save you a lot of time if you dig into the USB code.

  3. #3
    Junior Member
    Join Date
    Mar 2015
    Posts
    2
    It wooooooorrrkksss!!!
    Thank you! I really don't know what I was doing wrong before. I thought that's what I was doing but I followed your detailed instructions step by step and it works now. Thank you for spelling it out so clearly.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •