USB Mouse (relative) example for mbed NXP LPC11U24 beta

Committer:
chris
Date:
Mon Oct 24 10:26:27 2011 +0000
Revision:
0:163560051396

        

Who changed what in which revision?

UserRevisionLine numberNew 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 }