USB Mouse (relative) example for mbed NXP LPC11U24 beta
HID_devices/GenericMouse.c@0:163560051396, 2011-10-24 (annotated)
- Committer:
- chris
- Date:
- Mon Oct 24 10:26:27 2011 +0000
- Revision:
- 0:163560051396
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chris | 0:163560051396 | 1 | /* AbsoluteMouse.c */ |
chris | 0:163560051396 | 2 | |
chris | 0:163560051396 | 3 | /* USB device example: an absolute mouse */ |
chris | 0:163560051396 | 4 | /* Copyright (c) 2011 ARM Limited. All rights reserved. */ |
chris | 0:163560051396 | 5 | |
chris | 0:163560051396 | 6 | #include "stdint.h" |
chris | 0:163560051396 | 7 | |
chris | 0:163560051396 | 8 | #include "GenericMouse.h" |
chris | 0:163560051396 | 9 | |
chris | 0:163560051396 | 10 | bool GenericMouse::move(int16_t x, int16_t y) { |
chris | 0:163560051396 | 11 | return update(x, y, button, 0); |
chris | 0:163560051396 | 12 | } |
chris | 0:163560051396 | 13 | |
chris | 0:163560051396 | 14 | bool GenericMouse::scroll(int8_t z) { |
chris | 0:163560051396 | 15 | return update(0, 0, button, z); |
chris | 0:163560051396 | 16 | } |
chris | 0:163560051396 | 17 | |
chris | 0:163560051396 | 18 | |
chris | 0:163560051396 | 19 | bool GenericMouse::doubleClick() { |
chris | 0:163560051396 | 20 | if (!click(MOUSE_LEFT)) |
chris | 0:163560051396 | 21 | return false; |
chris | 0:163560051396 | 22 | wait(0.1); |
chris | 0:163560051396 | 23 | return click(MOUSE_LEFT); |
chris | 0:163560051396 | 24 | } |
chris | 0:163560051396 | 25 | |
chris | 0:163560051396 | 26 | bool GenericMouse::click(uint8_t button) { |
chris | 0:163560051396 | 27 | if (!update(0, 0, button, 0)) |
chris | 0:163560051396 | 28 | return false; |
chris | 0:163560051396 | 29 | wait(0.01); |
chris | 0:163560051396 | 30 | return update(0, 0, 0, 0); |
chris | 0:163560051396 | 31 | } |
chris | 0:163560051396 | 32 | |
chris | 0:163560051396 | 33 | bool GenericMouse::press(uint8_t button_) { |
chris | 0:163560051396 | 34 | button = button_ & 0x07; |
chris | 0:163560051396 | 35 | return update(0, 0, button, 0); |
chris | 0:163560051396 | 36 | } |
chris | 0:163560051396 | 37 | |
chris | 0:163560051396 | 38 | bool GenericMouse::release(uint8_t button_) { |
chris | 0:163560051396 | 39 | button = (button & (~button_)) & 0x07; |
chris | 0:163560051396 | 40 | return update(0, 0, button, 0); |
chris | 0:163560051396 | 41 | } |