Using the Spark Core as a HID

I have a project that I am currently working on called JesterType.
( https://github.com/PaulBeaudet/JesterType )
JesterType is based on the Arduino micro. I would like to port the code over to the Spark Core when it comes. The project takes advantage of the Keyboard.write() methods in the newer arduino “language” in order build a context aware chord based keyer.

Which leads to a couple of simple questions

Will the Keyboard.write() type methods be supported?
And more progressively thinking…
What will be involved with translating those methods in to a wireless HID?

I know there are HID facilities for bluetooth but I’m sure there is more involved with interfacing over wifi. Though I have seen it done with software like synergy.

I understand this question might be a little early, just let me know if there is anything I can do to help in this area.

We will be implementing the full Arduino/Wiring language including the new Keyboard object. Since Arduino’s Keyboard.write() ultimately boils down to writing bytes into the USB data register, and since the STM32F103 has a USB peripheral exposed on the Spark Core, it should be no problem for the Core to act as a keyboard over USB.

As for the best way to create a wireless keyboard with the Core, I’ll leave that to your experimentation and creativity. :smile:

Good to know, thank you.

The beefier chip alone is enough to justify a switch, wireless HID is an aspiration.

I have to start looking into how wireless keying can be implemented, I’ll report back If I find something relevant to this.

@zachary, I took your word for it and tried to prepare a little program to have it finished, when my cores arrive - hopefully soon.
But then I got these error messages in your Online-IDE:
60:3: error: ‘Mouse’ was not declared in this scope
92:3: error: ‘Keyboard’ was not declared in this scope

Am I missing an include? (Not needed for Arduino)
Which, since the obvious Mouse.h/Keyboard.h/HID.h don’t exist?

BTW: There are also a lot of warnings, comming from the framework. Will they be cleaned up in future?

Mouse and Keyboard are not implemented yet—adding to our backlog now. And yes, absolutely, we’ll be cleaning up the warnings to reduce noise, at least making them optional as you suggested in another post.