Skip to content

Commit

Permalink
fix: fix hid descriptor for windows
Browse files Browse the repository at this point in the history
  • Loading branch information
heiso committed Feb 18, 2024
1 parent 943f3c2 commit 0227355
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 7 deletions.
4 changes: 2 additions & 2 deletions firmware/Core/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,14 @@ const uint16_t keymaps[LAYERS_COUNT][MATRIX_ROWS][MATRIX_COLS] = {
{SPECIAL(HID_USAGE_CONSUMER_VOLUME_INCREMENT), HID_KEY_TAB, HID_KEY_Q, HID_KEY_W, HID_KEY_E, HID_KEY_R, HID_KEY_T, HID_KEY_Y, HID_KEY_U, HID_KEY_I, HID_KEY_O, HID_KEY_P, HID_KEY_BRACKET_LEFT, HID_KEY_BRACKET_RIGHT, HID_KEY_ENTER},
{SPECIAL(HID_USAGE_CONSUMER_VOLUME_DECREMENT), HID_KEY_CAPS_LOCK, HID_KEY_A, HID_KEY_S, HID_KEY_D, HID_KEY_F, HID_KEY_G, HID_KEY_H, HID_KEY_J, HID_KEY_K, HID_KEY_L, HID_KEY_SEMICOLON, HID_KEY_APOSTROPHE, HID_KEY_EUROPE_1, XXXX},
{XXXX, HID_KEY_SHIFT_LEFT, HID_KEY_EUROPE_2, HID_KEY_Z, HID_KEY_X, HID_KEY_C, HID_KEY_V, HID_KEY_B, HID_KEY_N, HID_KEY_M, HID_KEY_COMMA, HID_KEY_PERIOD, HID_KEY_SLASH, HID_KEY_SHIFT_RIGHT, XXXX},
{XXXX, HID_KEY_CONTROL_LEFT, HID_KEY_ALT_LEFT, HID_KEY_GUI_LEFT, XXXX, HID_KEY_SPACE, XXXX, HID_KEY_SPACE, XXXX, HID_KEY_GUI_RIGHT, HID_KEY_ALT_RIGHT, XXXX, SPECIAL(HID_USAGE_CONSUMER_SCAN_PREVIOUS), SPECIAL(HID_USAGE_CONSUMER_PLAY_PAUSE), SPECIAL(HID_USAGE_CONSUMER_SCAN_NEXT)},
{XXXX, HID_KEY_CONTROL_LEFT, HID_KEY_ALT_LEFT, HID_KEY_GUI_LEFT, XXXX, HID_KEY_SPACE, XXXX, HID_KEY_SPACE, XXXX, HID_KEY_GUI_RIGHT, HID_KEY_ALT_RIGHT, XXXX, HID_KEY_ARROW_LEFT, SPECIAL(HID_USAGE_CONSUMER_PLAY_PAUSE), HID_KEY_ARROW_RIGHT},
},
[_TAP_LAYER] = {
{____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____},
{____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____},
{____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, XXXX},
{XXXX, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, HID_KEY_ARROW_UP, XXXX},
{XXXX, ____, ____, ____, XXXX, ____, XXXX, ____, XXXX, ____, ____, XXXX, HID_KEY_ARROW_LEFT, HID_KEY_ARROW_DOWN, HID_KEY_ARROW_RIGHT},
{XXXX, ____, ____, ____, XXXX, ____, XXXX, ____, XXXX, ____, ____, XXXX, ____, HID_KEY_ARROW_DOWN, ____},
},
};
// clang-format on
Expand Down
5 changes: 3 additions & 2 deletions firmware/Core/Src/usb_descriptors.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@ uint8_t const *tud_hid_descriptor_report_cb(uint8_t instance) {
#define CONFIG_TOTAL_LEN (TUD_CONFIG_DESC_LEN + TUD_HID_DESC_LEN + TUD_HID_INOUT_DESC_LEN)

#define EPNUM_KEYBOARD 0x81
#define EPNUM_HID_CUSTOM 0x82
#define EPNUM_HID_CUSTOM_IN 0x82 // 0x80 | EPNUM_HID_CUSTOM_OUT
#define EPNUM_HID_CUSTOM_OUT 0x83

uint8_t const desc_configuration[] =
{
Expand All @@ -111,7 +112,7 @@ uint8_t const desc_configuration[] =

// Interface number, string index, protocol, report descriptor len, EP In address, size & polling interval
TUD_HID_DESCRIPTOR(ITF_NUM_KEYBOARD, 4, HID_ITF_PROTOCOL_KEYBOARD, sizeof(desc_hid_keyboard_report), EPNUM_KEYBOARD, CFG_TUD_HID_EP_BUFSIZE, 10),
TUD_HID_INOUT_DESCRIPTOR(ITF_NUM_GENERIC_INOUT, 5, HID_ITF_PROTOCOL_NONE, sizeof(desc_hid_custom_report), EPNUM_HID_CUSTOM, 0x80 | EPNUM_HID_CUSTOM, HID_GENERIC_INOUT_REPORT_BUFFSIZE, 10),
TUD_HID_INOUT_DESCRIPTOR(ITF_NUM_GENERIC_INOUT, 5, HID_ITF_PROTOCOL_NONE, sizeof(desc_hid_custom_report), EPNUM_HID_CUSTOM_OUT, EPNUM_HID_CUSTOM_IN, HID_GENERIC_INOUT_REPORT_BUFFSIZE, 10),
};

// Invoked when received GET CONFIGURATION DESCRIPTOR
Expand Down
6 changes: 3 additions & 3 deletions web-app/app/routes/_layout.hid.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -180,9 +180,9 @@ export default function Index() {
onClick={async () => {
const devices = await navigator.hid.requestDevice({
filters: [
{
vendorId: 0xcafe,
},
// {
// vendorId: 0xcafe,
// },
],
})
setDevices(devices)
Expand Down

0 comments on commit 0227355

Please sign in to comment.