aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Host/LowLevel/KeyboardHost
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-10-08 08:46:27 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-10-08 08:46:27 +0000
commitc7bc3ec391da3904f0db6398171c7fed37d4f836 (patch)
treedaec9cabab609050e8f7f693a1ee41253e03c009 /Demos/Host/LowLevel/KeyboardHost
parent664a2921816069483604f5e05a2a02b6ddf8727a (diff)
downloadlufa-c7bc3ec391da3904f0db6398171c7fed37d4f836.tar.gz
lufa-c7bc3ec391da3904f0db6398171c7fed37d4f836.tar.bz2
lufa-c7bc3ec391da3904f0db6398171c7fed37d4f836.zip
Add new MIDI Host Class driver to the library, and new MIDIHost ClassDriver demo.
Make MouseHost and KeyboardHost ClassDriver demos use the HID Class driver's structures for the boot protocol Mouse/Keyboard report data, rather than rolling their own.
Diffstat (limited to 'Demos/Host/LowLevel/KeyboardHost')
-rw-r--r--Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c12
-rw-r--r--Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h10
2 files changed, 7 insertions, 15 deletions
diff --git a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c
index 258ccbc59..1d8a06eea 100644
--- a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c
+++ b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c
@@ -161,13 +161,13 @@ void ReadNextReport(void)
char PressedKey = 0;
/* Retrieve pressed key character if alphanumeric */
- if ((KeyboardReport.KeyCode >= 0x04) && (KeyboardReport.KeyCode <= 0x1D))
- PressedKey = (KeyboardReport.KeyCode - 0x04) + 'A';
- else if ((KeyboardReport.KeyCode >= 0x1E) && (KeyboardReport.KeyCode <= 0x27))
- PressedKey = (KeyboardReport.KeyCode - 0x1E) + '0';
- else if (KeyboardReport.KeyCode == 0x2C)
+ if ((KeyboardReport.KeyCode[0] >= 0x04) && (KeyboardReport.KeyCode[0] <= 0x1D))
+ PressedKey = (KeyboardReport.KeyCode[0] - 0x04) + 'A';
+ else if ((KeyboardReport.KeyCode[0] >= 0x1E) && (KeyboardReport.KeyCode[0] <= 0x27))
+ PressedKey = (KeyboardReport.KeyCode[0] - 0x1E) + '0';
+ else if (KeyboardReport.KeyCode[0] == 0x2C)
PressedKey = ' ';
- else if (KeyboardReport.KeyCode == 0x28)
+ else if (KeyboardReport.KeyCode[0] == 0x28)
PressedKey = '\n';
/* Print the pressed key character out through the serial port if valid */
diff --git a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h
index aed6ca629..4c4356d35 100644
--- a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h
+++ b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h
@@ -47,6 +47,7 @@
#include <LUFA/Version.h>
#include <LUFA/Drivers/Misc/TerminalCodes.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
@@ -71,15 +72,6 @@
/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
#define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3)
- /* Type Defines: */
- /** Type define for a standard Boot Protocol Keyboard report */
- typedef struct
- {
- uint8_t Modifier; /**< Keyboard modifier byte, indicating pressed modifier keys (such as Shift, Control, etc.) */
- uint8_t RESERVED; /**< Reserved for OEM use, always set to 0 */
- uint8_t KeyCode; /**< Key code of the currently pressed key */
- } USB_KeyboardReport_Data_t;
-
/* Function Prototypes: */
void Keyboard_HID_Task(void);
void SetupHardware(void);