geekhack Projects > Making Stuff Together!

TMK USB to USB keyboard converter

<< < (178/184) > >>

whereami:
Interesting having to read what everyone is saying

Ko$tello:

--- Quote from: hasu on Tue, 01 August 2023, 22:43:55 ---Ko$tello,

You can find prebuilt firmware files for TaranVH keymap with prefix F22, F23 and F24 now.
https://github.com/tmk/tmk_keyboard/tree/master/converter/usb_usb/binary

--- End quote ---

Thanks a lot, Hasu! Much appreciated 🙏.
I wasn't notified about your reply on this topic for some reason.

DirtyGingy:
I know these hit 1up keyboards a few years back, are they ever coming back?

qk6339zmdm:
Hello and thanks, the Insignia Wireless Ergonomic keyboard works.

https://www.bestbuy.ca/en-ca/product/insignia-wireless-ergonomic-keyboard-english-only-at-best-buy/16493437

undofen:

I'm trying the converter on the keymouse (https://keymouse.com/), but it doesn't work, which I knew was very likely since there is no mouse support.

It also seems, the keymouse isn't 'boot' protocol.

hid_listen:
--- Code: ---////////////////////////////
// USB_desc_dump
// Address: 01
// Lowspeed: 00

// Devicer dump:
12 01 00 02 00 00 00 40 C4 10 33 8D 03 02 01 02
03 01

// Device:
bLength: 12
bDescriptorType: 01
bcdUSB: 0200
bDeviceClass: 00
bDeviceSubClass: 00
bDeviceProtocol: 00
bMaxPacketSize0: 40
idVendor: 10C4
idProduct: 8D33
bcdDevice: 0203
iManufacturer: 01
iProduct: 02
iSerialNumber: 03
bNumConfigurations: 01

// String Zero: len: 04
// 04 03 09 04
// LangId: 0409

// iManufacturer: String1(0409): len: 14
// 14 03 5A 00 5A 00 2C 00 20 00 49 00 6E 00 63 00
// 2E 00 00 00
// ZZ, Inc..

// iProduct: String2(0409): len: 2C
// 2C 03 4B 00 65 00 79 00 4D 00 6F 00 75 00 73 00
// 65 00 20 00 41 00 6C 00 70 00 68 00 61 00 20 00
// 2D 00 20 00 4C 00 65 00 66 00 74 00
// KeyMouse Alpha - Left

// iSerialNumber: String3(0409): len: 14
// 14 03 4B 00 4D 00 2D 00 32 00 32 00 33 00 39 00
// 2D 00 4C 00
// KM-2239-L

// Config0 dump: len: 0029
09 02 29 00 01 01 00 A0 32 09 04 00 00 02 03 00
00 00 09 21 01 01 00 01 22 E7 00 07 05 81 03 40
00 01 07 05 01 03 40 00 01

// Config:
bLength: 09
bDescriptorType: 02
wTotalLength: 0029
bNumInterfaces: 01
bConfigurationValue: 01
iConfiguration: 00
bmAttributes: A0
bMaxPower: 32

// Interface0.0:
bLength: 09
bDescriptorType: 04
bInterfaceNumber: 00
bAlternateSetting: 00
bNumEndpoints: 02
bInterfaceClass: 03
bInterfaceSubClass: 00
bInterfaceProtocol: 00
iInterface: 00

// HID:
bLength: 09
bDescriptorType: 21
bcdHID: 0101
bCountryCode: 00
bNumDescriptors: 01
bDescrType: 22
wDescriptorLength: 00E7

// Report0 dump: len: 00E7
05 01 09 06 A1 01 85 03 75 01 95 08 05 07 19 E0
29 E7 15 00 25 01 81 02 95 01 75 08 81 03 95 05
75 01 05 08 19 01 29 05 91 02 95 01 75 03 91 03
95 0A 75 08 15 00 26 FF 00 05 07 19 00 29 FF 81
00 C0 05 01 09 02 A1 01 85 04 09 01 A1 00 05 09
19 01 29 08 15 00 25 01 75 01 95 08 81 02 05 01
09 30 09 31 16 01 80 26 FF 7F 75 10 95 02 81 06
09 38 15 81 25 7F 75 08 95 01 81 06 05 0C 0A 38
02 15 81 25 7F 75 08 81 06 C0 C0 06 00 FF 09 01
A1 01 85 02 95 3A 75 08 15 00 26 FF 00 09 01 81
02 85 01 95 3A 75 08 15 00 26 FF 00 09 01 91 02
C0 05 0C 09 01 A1 01 85 05 95 04 75 10 15 00 27
FF FF 00 00 19 00 2A FF FF 81 00 C0 05 01 09 80
A1 01 85 06 95 04 75 10 15 00 27 FF FF 00 00 19
00 2A FF FF 81 00 C0

// Endpoint:
bLength: 07
bDescriptorType: 05
bEndpointAddress: 81
bmAttributes: 03
wMaxPacketSize: 0040
bInterval: 01

// Endpoint:
bLength: 07
bDescriptorType: 05
bEndpointAddress: 01
bmAttributes: 03
wMaxPacketSize: 0040
bInterval: 01

--- End code ---

https://eleccelerator.com/usbdescreqparser/ output:

--- Code: ---0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x06,        // Usage (Keyboard)
0xA1, 0x01,        // Collection (Application)
0x85, 0x03,        //   Report ID (3)
0x75, 0x01,        //   Report Size (1)
0x95, 0x08,        //   Report Count (8)
0x05, 0x07,        //   Usage Page (Kbrd/Keypad)
0x19, 0xE0,        //   Usage Minimum (0xE0)
0x29, 0xE7,        //   Usage Maximum (0xE7)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x01,        //   Logical Maximum (1)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x01,        //   Report Count (1)
0x75, 0x08,        //   Report Size (8)
0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x05,        //   Report Count (5)
0x75, 0x01,        //   Report Size (1)
0x05, 0x08,        //   Usage Page (LEDs)
0x19, 0x01,        //   Usage Minimum (Num Lock)
0x29, 0x05,        //   Usage Maximum (Kana)
0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x01,        //   Report Count (1)
0x75, 0x03,        //   Report Size (3)
0x91, 0x03,        //   Output (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x0A,        //   Report Count (10)
0x75, 0x08,        //   Report Size (8)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x05, 0x07,        //   Usage Page (Kbrd/Keypad)
0x19, 0x00,        //   Usage Minimum (0x00)
0x29, 0xFF,        //   Usage Maximum (0xFF)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection
0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x02,        // Usage (Mouse)
0xA1, 0x01,        // Collection (Application)
0x85, 0x04,        //   Report ID (4)
0x09, 0x01,        //   Usage (Pointer)
0xA1, 0x00,        //   Collection (Physical)
0x05, 0x09,        //     Usage Page (Button)
0x19, 0x01,        //     Usage Minimum (0x01)
0x29, 0x08,        //     Usage Maximum (0x08)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x01,        //     Logical Maximum (1)
0x75, 0x01,        //     Report Size (1)
0x95, 0x08,        //     Report Count (8)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x01,        //     Usage Page (Generic Desktop Ctrls)
0x09, 0x30,        //     Usage (X)
0x09, 0x31,        //     Usage (Y)
0x16, 0x01, 0x80,  //     Logical Minimum (-32767)
0x26, 0xFF, 0x7F,  //     Logical Maximum (32767)
0x75, 0x10,        //     Report Size (16)
0x95, 0x02,        //     Report Count (2)
0x81, 0x06,        //     Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0x38,        //     Usage (Wheel)
0x15, 0x81,        //     Logical Minimum (-127)
0x25, 0x7F,        //     Logical Maximum (127)
0x75, 0x08,        //     Report Size (8)
0x95, 0x01,        //     Report Count (1)
0x81, 0x06,        //     Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x0C,        //     Usage Page (Consumer)
0x0A, 0x38, 0x02,  //     Usage (AC Pan)
0x15, 0x81,        //     Logical Minimum (-127)
0x25, 0x7F,        //     Logical Maximum (127)
0x75, 0x08,        //     Report Size (8)
0x81, 0x06,        //     Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              //   End Collection
0xC0,              // End Collection
0x06, 0x00, 0xFF,  // Usage Page (Vendor Defined 0xFF00)
0x09, 0x01,        // Usage (0x01)
0xA1, 0x01,        // Collection (Application)
0x85, 0x02,        //   Report ID (2)
0x95, 0x3A,        //   Report Count (58)
0x75, 0x08,        //   Report Size (8)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x09, 0x01,        //   Usage (0x01)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x85, 0x01,        //   Report ID (1)
0x95, 0x3A,        //   Report Count (58)
0x75, 0x08,        //   Report Size (8)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x09, 0x01,        //   Usage (0x01)
0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0,              // End Collection
0x05, 0x0C,        // Usage Page (Consumer)
0x09, 0x01,        // Usage (Consumer Control)
0xA1, 0x01,        // Collection (Application)
0x85, 0x05,        //   Report ID (5)
0x95, 0x04,        //   Report Count (4)
0x75, 0x10,        //   Report Size (16)
0x15, 0x00,        //   Logical Minimum (0)
0x27, 0xFF, 0xFF, 0x00, 0x00,  //   Logical Maximum (65534)
0x19, 0x00,        //   Usage Minimum (Unassigned)
0x2A, 0xFF, 0xFF,  //   Usage Maximum (0xFFFF)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection
0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x80,        // Usage (Sys Control)
0xA1, 0x01,        // Collection (Application)
0x85, 0x06,        //   Report ID (6)
0x95, 0x04,        //   Report Count (4)
0x75, 0x10,        //   Report Size (16)
0x15, 0x00,        //   Logical Minimum (0)
0x27, 0xFF, 0xFF, 0x00, 0x00,  //   Logical Maximum (65534)
0x19, 0x00,        //   Usage Minimum (Undefined)
0x2A, 0xFF, 0xFF,  //   Usage Maximum (0xFFFF)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection

// 231 bytes

// best guess: USB HID Report Descriptor

--- End code ---

Anything else to try or is this a no go?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version