Device modules can pass data in any format they want up to protocol modules. But protocol modules must pass data in a specific format to filter modules.
This protocol module: | Must format data into a: |
---|---|
Keyboard | struct packet_kbd |
Relative | struct packet_rel |
Absolute | struct packet_abs |
See the header <devi.h> for the format of these structures. All these structures have a timestamp field; you fill them in using the library call clk_get().