aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Host/ClassDriver
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2016-03-14 20:37:49 +1100
committerDean Camera <dean@fourwalledcubicle.com>2016-03-14 20:37:49 +1100
commitdf16148a027bc28efc3e99baf91d1c4a35e6dbb1 (patch)
tree70744f85973918d3deaa9b62eeb11e030387a1c1 /Demos/Host/ClassDriver
parentf7cdc8236988eca7f5b22a87c648f989414be1e8 (diff)
downloadlufa-df16148a027bc28efc3e99baf91d1c4a35e6dbb1.tar.gz
lufa-df16148a027bc28efc3e99baf91d1c4a35e6dbb1.tar.bz2
lufa-df16148a027bc28efc3e99baf91d1c4a35e6dbb1.zip
Only indicate when the left mouse button is pressed in the MouseHostWithParser host demo.
Diffstat (limited to 'Demos/Host/ClassDriver')
-rw-r--r--Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
index f7c9cee32..4e62975dd 100644
--- a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
+++ b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
@@ -132,13 +132,17 @@ void MouseHost_Task(void)
if ((ReportItem->Attributes.Usage.Page == USAGE_PAGE_BUTTON) &&
(ReportItem->ItemType == HID_REPORT_ITEM_In))
{
- if (ReportItem->Value)
+ /* Buttons are numbered sequentially in their HID usages, button 1 is the left mouse button */
+ uint8_t ButtonID = ReportItem->Attributes.Usage.Usage;
+
+ if ((ButtonID == 1) && (ReportItem->Value != 0))
LEDMask = LEDS_ALL_LEDS;
}
else if ((ReportItem->Attributes.Usage.Page == USAGE_PAGE_GENERIC_DCTRL) &&
(ReportItem->Attributes.Usage.Usage == USAGE_SCROLL_WHEEL) &&
(ReportItem->ItemType == HID_REPORT_ITEM_In))
{
+ /* Convert wheel data to a 16-bit signed value */
int16_t WheelDelta = HID_ALIGN_DATA(ReportItem, int16_t);
if (WheelDelta)
@@ -149,6 +153,7 @@ void MouseHost_Task(void)
(ReportItem->Attributes.Usage.Usage == USAGE_Y)) &&
(ReportItem->ItemType == HID_REPORT_ITEM_In))
{
+ /* Convert X/Y movement to 16-bit signed value */
int16_t DeltaMovement = HID_ALIGN_DATA(ReportItem, int16_t);
if (DeltaMovement)