Sfoglia il codice sorgente

Turn off USB keyboard idle reports

main
PaulStoffregen 7 anni fa
parent
commit
3d918a3977
2 ha cambiato i file con 8 aggiunte e 0 eliminazioni
  1. +2
    -0
      USBHost.h
  2. +6
    -0
      keyboard.cpp

+ 2
- 0
USBHost.h Vedi 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];
};


+ 6
- 0
keyboard.cpp Vedi 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)");

Loading…
Annulla
Salva