From a3bcee32b84b92640b4082958ee1e0a6d078ffdd Mon Sep 17 00:00:00 2001 From: Brian Cully Date: Sun, 11 Aug 2019 13:01:00 -0400 Subject: Documentation. --- README.md | 7 +++++-- TODO.org | 6 ------ src/lib.rs | 7 +++++++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6fda223..11b5b64 100644 --- a/README.md +++ b/README.md @@ -6,5 +6,8 @@ library. # Hardware -Tested on a Logitech G105 keyboard, but any other low-end keyboard -should probably work. +This has been tested on the following keyboards: + + * Logitech G105 + * Niz Plum 85EC + * Keyboard.io Model 01 diff --git a/TODO.org b/TODO.org index b210915..4ed5b70 100644 --- a/TODO.org +++ b/TODO.org @@ -1,9 +1,3 @@ * Documentation - README.md - Literally every trait and method. - -* Parse HID descriptors. -This driver currently assumes a fair amount of behavior on the part of -the keyboard, which, for simple keyboards like the Logitech G105 I'm -testing with, works. More complicated keyboards will probably require -more in-depth probing and feature selection. diff --git a/src/lib.rs b/src/lib.rs index b068451..4028980 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -26,6 +26,7 @@ const MAX_ENDPOINTS: usize = 2; // The maximum size configuration descriptor we can handle. const CONFIG_BUFFER_LEN: usize = 128; +/// Boot protocol keyboard driver for USB hosts. pub struct BootKeyboard { devices: [Option; MAX_DEVICES], callback: F, @@ -40,6 +41,12 @@ impl BootKeyboard where F: FnMut(u8, &[u8]), { + /// Create a new driver instance which will call + /// `callback(address: u8, buffer: &[u8])` when a new keyboard + /// report is received. + /// + /// `address` is the address of the USB device which received the + /// report and `buffer` is the contents of the report itself. pub fn new(callback: F) -> Self { Self { devices: [None; MAX_DEVICES], -- cgit v1.2.3