Turn off USB keyboard idle reports

This commit is contained in:
PaulStoffregen 2017-03-03 06:13:37 -08:00
parent 98701a268f
commit 3d918a3977
2 changed files with 8 additions and 0 deletions

View File

@ -382,6 +382,7 @@ public:
void attachRelease(void (*keyReleased)());
protected:
virtual bool claim(Device_t *device, int type, const uint8_t *descriptors, uint32_t len);
virtual void control(const Transfer_t *transfer);
virtual void disconnect();
static void callback(const Transfer_t *transfer);
void new_data(const Transfer_t *transfer);
@ -389,6 +390,7 @@ private:
void (*keyPressedFunction)();
void (*keyReleasedFunction)();
Pipe_t *datapipe;
setup_t setup;
uint8_t report[8];
};

View File

@ -62,9 +62,15 @@ bool KeyboardController::claim(Device_t *dev, int type, const uint8_t *descripto
datapipe = new_Pipe(dev, 3, endpoint, 1, 8, interval);
datapipe->callback_function = callback;
queue_Data_Transfer(datapipe, report, 8, this);
mk_setup(setup, 0x21, 10, 0, 0, 0); // 10=SET_IDLE
queue_Control_Transfer(dev, &setup, NULL, this);
return true;
}
void KeyboardController::control(const Transfer_t *transfer)
{
}
void KeyboardController::callback(const Transfer_t *transfer)
{
println("KeyboardController Callback (static)");