I have just made available an example application demonstrating how to communicate using the HID (Human Interface Device) class over USB.
The example uses ChibiOS/RT operating system and targets the Olimex STM32-E407 board. A client application using the HIDRAW driver of the Linux kernel is included to test the two ends of the communication.
The project is available on my GitHub account: guiduc/usb-hid-chibios-example. Feel free to use it as a basis for you own application.
The MCP control board of my 737 cockpit project is based around the new Olimex STM32-H405 board.
In order to use it easily, I have ported ChibiOS/RT to this board. You can find the result of this work here. This port is based on the 2.6 stable branch of ChibiOS/RT. You just have to extract the archive in the directory boards of ChibiOS/RT. Feel free to use it for your own projects!
Update (25/12/14): you can also retrieve the port by fetching the branch stable_2.6.x_with_Olimex_H405 from my fork of the ChibiOS repository at GitHub.