USB Mouse (relative) example for mbed NXP LPC11U24 beta

Committer:
chris
Date:
Wed Nov 09 15:55:10 2011 +0000
Revision:
1:e089be2a6aa1
Parent:
0:163560051396
removed include for <math.h> that is already included by mbed.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris 0:163560051396 1 /* GenericKeyboard.c */
chris 0:163560051396 2 /* Copyright (c) 2011 ARM Limited. All rights reserved. */
chris 0:163560051396 3
chris 0:163560051396 4 #include "stdint.h"
chris 0:163560051396 5
chris 0:163560051396 6 #include "USBKeyboard.h"
chris 0:163560051396 7 #include "GenericKeyboard.h"
chris 0:163560051396 8
chris 0:163560051396 9
chris 0:163560051396 10 int GenericKeyboard::_putc(int c) {
chris 0:163560051396 11 return keyCode(keymap[c].modifier, c);
chris 0:163560051396 12 }
chris 0:163560051396 13
chris 0:163560051396 14 bool GenericKeyboard::keyCode(uint8_t modifier, uint8_t key) {
chris 0:163560051396 15 /* Send a simulated keyboard keypress. Returns true if successful. */
chris 0:163560051396 16
chris 0:163560051396 17 HID_REPORT report;
chris 0:163560051396 18
chris 0:163560051396 19 report.data[0] = REPORT_ID_KEYBOARD;
chris 0:163560051396 20 report.data[1] = modifier;
chris 0:163560051396 21 report.data[2] = 0;
chris 0:163560051396 22 report.data[3] = keymap[key].usage;
chris 0:163560051396 23 report.data[4] = 0;
chris 0:163560051396 24 report.data[5] = 0;
chris 0:163560051396 25 report.data[6] = 0;
chris 0:163560051396 26 report.data[7] = 0;
chris 0:163560051396 27 report.data[8] = 0;
chris 0:163560051396 28
chris 0:163560051396 29 report.length = 9;
chris 0:163560051396 30
chris 0:163560051396 31 if (!USBClass_HID_sendInputReport(EPINT_IN, &report)) {
chris 0:163560051396 32 return false;
chris 0:163560051396 33 }
chris 0:163560051396 34
chris 0:163560051396 35 report.data[1] = 0;
chris 0:163560051396 36 report.data[3] = 0;
chris 0:163560051396 37
chris 0:163560051396 38 if (!USBClass_HID_sendInputReport(EPINT_IN, &report)) {
chris 0:163560051396 39 return false;
chris 0:163560051396 40 }
chris 0:163560051396 41
chris 0:163560051396 42 return true;
chris 0:163560051396 43
chris 0:163560051396 44 }
chris 0:163560051396 45
chris 0:163560051396 46
chris 0:163560051396 47 bool GenericKeyboard::mediaControl(MEDIA_KEY key) {
chris 0:163560051396 48 HID_REPORT report;
chris 0:163560051396 49
chris 0:163560051396 50 report.data[0] = REPORT_ID_VOLUME;
chris 0:163560051396 51 report.data[1] = (1 << key) & 0x7f;
chris 0:163560051396 52
chris 0:163560051396 53 report.length = 2;
chris 0:163560051396 54
chris 0:163560051396 55 return USBClass_HID_sendInputReport(EPINT_IN, &report);
chris 0:163560051396 56 }