Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save jbosboom/649021a31b7f54a3178713c00a37d259 to your computer and use it in GitHub Desktop.

Select an option

Save jbosboom/649021a31b7f54a3178713c00a37d259 to your computer and use it in GitHub Desktop.
lsusb -v output for PecuMecu TM-10C Handheld 1D&2D Barcode Scanner (ASIN B0FP4Z5LGB) purchased April 2026
Bus 001 Device 009: ID 34eb:1502 WCM HIDKeyboard
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x34eb WCM
idProduct 0x1502 HIDKeyboard
bcdDevice 1.00
iManufacturer 1 WCM
iProduct 2 HIDKeyboard
iSerial 3 [redacted]
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0022
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 KBD Config
bmAttributes 0xc0
Self Powered
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 5 InterfaceHIDKeyboard
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 63
Report Descriptor: (length is 63)
Item(Global): Usage Page, data= [ 0x01 ] 1
Generic Desktop Controls
Item(Local ): Usage, data= [ 0x06 ] 6
Keyboard
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Global): Usage Page, data= [ 0x07 ] 7
Keyboard
Item(Local ): Usage Minimum, data= [ 0xe0 ] 224
Control Left
Item(Local ): Usage Maximum, data= [ 0xe7 ] 231
GUI Right
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Global): Report Count, data= [ 0x08 ] 8
Item(Main ): Input, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Main ): Input, data= [ 0x03 ] 3
Constant Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x05 ] 5
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Global): Usage Page, data= [ 0x08 ] 8
LEDs
Item(Local ): Usage Minimum, data= [ 0x01 ] 1
NumLock
Item(Local ): Usage Maximum, data= [ 0x05 ] 5
Kana
Item(Main ): Output, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x03 ] 3
Item(Main ): Output, data= [ 0x03 ] 3
Constant Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x06 ] 6
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0xff ] 255
Item(Global): Usage Page, data= [ 0x07 ] 7
Keyboard
Item(Local ): Usage Minimum, data= [ 0x00 ] 0
No Event
Item(Local ): Usage Maximum, data= [ 0x65 ] 101
Keyboard Application (Windows Key for Win95 or Compose)
Item(Main ): Input, data= [ 0x00 ] 0
Data Array Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 0
Device Status: 0x0001
Self Powered
Bus 001 Device 011: ID 152a:880f Thesycon Systemsoftware & Consulting GmbH WCM COM
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x152a Thesycon Systemsoftware & Consulting GmbH
idProduct 0x880f WCM COM
bcdDevice 1.00
iManufacturer 1 WCM
iProduct 2 WCM COM
iSerial 3 [redacted]
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x004b
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 4 VCP Config
bmAttributes 0xc0
Self Powered
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 0
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 0
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 1
CDC ACM:
bmCapabilities 0x06
sends break
line coding and serial state
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 128
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 0
Device Status: 0x0001
Self Powered
05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 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 06 75 08 15 00 25 ff 05 07 19 00 29 65 81 00 c0
INPUT[INPUT]
Field(0)
Application(GenericDesktop.Keyboard)
Usage(8)
KeyboardKeypad.KeyboardLeftControl
KeyboardKeypad.KeyboardLeftShift
KeyboardKeypad.KeyboardLeftAlt
KeyboardKeypad.KeyboardLeftGUI
KeyboardKeypad.KeyboardRightControl
KeyboardKeypad.KeyboardRightShift
KeyboardKeypad.KeyboardRightAlt
KeyboardKeypad.KeyboardRightGUI
Logical Minimum(0)
Logical Maximum(1)
Report Size(1)
Report Count(8)
Report Offset(0)
Flags( Variable Absolute )
Field(1)
Application(GenericDesktop.Keyboard)
Usage(102)
KeyboardKeypad.0000
KeyboardKeypad.ErrorRollOver
KeyboardKeypad.POSTFail
KeyboardKeypad.ErrorUndefined
KeyboardKeypad.KeyboardA
KeyboardKeypad.KeyboardB
KeyboardKeypad.KeyboardC
KeyboardKeypad.KeyboardD
KeyboardKeypad.KeyboardE
KeyboardKeypad.KeyboardF
KeyboardKeypad.KeyboardG
KeyboardKeypad.KeyboardH
KeyboardKeypad.KeyboardI
KeyboardKeypad.KeyboardJ
KeyboardKeypad.KeyboardK
KeyboardKeypad.KeyboardL
KeyboardKeypad.KeyboardM
KeyboardKeypad.KeyboardN
KeyboardKeypad.KeyboardO
KeyboardKeypad.KeyboardP
KeyboardKeypad.KeyboardQ
KeyboardKeypad.KeyboardR
KeyboardKeypad.KeyboardS
KeyboardKeypad.KeyboardT
KeyboardKeypad.KeyboardU
KeyboardKeypad.KeyboardV
KeyboardKeypad.KeyboardW
KeyboardKeypad.KeyboardX
KeyboardKeypad.KeyboardY
KeyboardKeypad.KeyboardZ
KeyboardKeypad.Keyboard1andBang
KeyboardKeypad.Keyboard2andAt
KeyboardKeypad.Keyboard3andHash
KeyboardKeypad.Keyboard4andDollar
KeyboardKeypad.Keyboard5andPercent
KeyboardKeypad.Keyboard6andCaret
KeyboardKeypad.Keyboard7andAmpersand
KeyboardKeypad.Keyboard8andStar
KeyboardKeypad.Keyboard9andLeftBracket
KeyboardKeypad.Keyboard0andRightBracket
KeyboardKeypad.KeyboardReturnEnter
KeyboardKeypad.KeyboardEscape
KeyboardKeypad.KeyboardDelete
KeyboardKeypad.KeyboardTab
KeyboardKeypad.KeyboardSpacebar
KeyboardKeypad.KeyboardDashandUnderscore
KeyboardKeypad.KeyboardEqualsandPlus
KeyboardKeypad.KeyboardLeftBrace
KeyboardKeypad.KeyboardRightBrace
KeyboardKeypad.KeyboardBackslashandPipe
KeyboardKeypad.KeyboardNonUSHashandTilde
KeyboardKeypad.KeyboardSemiColonandColon
KeyboardKeypad.KeyboardLeftAposandDouble
KeyboardKeypad.KeyboardGraveAccentandTilde
KeyboardKeypad.KeyboardCommaandLessThan
KeyboardKeypad.KeyboardPeriodandGreaterThan
KeyboardKeypad.KeyboardForwardSlashandQuestionMark
KeyboardKeypad.KeyboardCapsLock
KeyboardKeypad.KeyboardF1
KeyboardKeypad.KeyboardF2
KeyboardKeypad.KeyboardF3
KeyboardKeypad.KeyboardF4
KeyboardKeypad.KeyboardF5
KeyboardKeypad.KeyboardF6
KeyboardKeypad.KeyboardF7
KeyboardKeypad.KeyboardF8
KeyboardKeypad.KeyboardF9
KeyboardKeypad.KeyboardF10
KeyboardKeypad.KeyboardF11
KeyboardKeypad.KeyboardF12
KeyboardKeypad.KeyboardPrintScreen
KeyboardKeypad.KeyboardScrollLock
KeyboardKeypad.KeyboardPause
KeyboardKeypad.KeyboardInsert
KeyboardKeypad.KeyboardHome
KeyboardKeypad.KeyboardPageUp
KeyboardKeypad.KeyboardDeleteForward
KeyboardKeypad.KeyboardEnd
KeyboardKeypad.KeyboardPageDown
KeyboardKeypad.KeyboardRightArrow
KeyboardKeypad.KeyboardLeftArrow
KeyboardKeypad.KeyboardDownArrow
KeyboardKeypad.KeyboardUpArrow
KeyboardKeypad.KeypadNumLockandClear
KeyboardKeypad.KeypadForwardSlash
KeyboardKeypad.KeypadStar
KeyboardKeypad.KeypadDash
KeyboardKeypad.KeypadPlus
KeyboardKeypad.KeypadENTER
KeyboardKeypad.Keypad1andEnd
KeyboardKeypad.Keypad2andDownArrow
KeyboardKeypad.Keypad3andPageDn
KeyboardKeypad.Keypad4andLeftArrow
KeyboardKeypad.Keypad5
KeyboardKeypad.Keypad6andRightArrow
KeyboardKeypad.Keypad7andHome
KeyboardKeypad.Keypad8andUpArrow
KeyboardKeypad.Keypad9andPageUp
KeyboardKeypad.Keypad0andInsert
KeyboardKeypad.KeypadPeriodandDelete
KeyboardKeypad.KeyboardNonUSBackslashandPipe
KeyboardKeypad.KeyboardApplication
Logical Minimum(0)
Logical Maximum(255)
Report Size(8)
Report Count(6)
Report Offset(16)
Flags( Array Absolute )
OUTPUT[OUTPUT]
Field(0)
Application(GenericDesktop.Keyboard)
Usage(5)
LED.NumLock
LED.CapsLock
LED.ScrollLock
LED.Compose
LED.Kana
Logical Minimum(0)
Logical Maximum(1)
Report Size(1)
Report Count(5)
Report Offset(0)
Flags( Variable Absolute )
KeyboardKeypad.KeyboardLeftControl ---> Key.LeftControl
KeyboardKeypad.KeyboardLeftShift ---> Key.LeftShift
KeyboardKeypad.KeyboardLeftAlt ---> Key.LeftAlt
KeyboardKeypad.KeyboardLeftGUI ---> Key.LeftMeta
KeyboardKeypad.KeyboardRightControl ---> Key.RightCtrl
KeyboardKeypad.KeyboardRightShift ---> Key.RightShift
KeyboardKeypad.KeyboardRightAlt ---> Key.RightAlt
KeyboardKeypad.KeyboardRightGUI ---> Key.RightMeta
KeyboardKeypad.0000 ---> Sync.Report
KeyboardKeypad.ErrorRollOver ---> Sync.Report
KeyboardKeypad.POSTFail ---> Sync.Report
KeyboardKeypad.ErrorUndefined ---> Sync.Report
KeyboardKeypad.KeyboardA ---> Key.A
KeyboardKeypad.KeyboardB ---> Key.B
KeyboardKeypad.KeyboardC ---> Key.C
KeyboardKeypad.KeyboardD ---> Key.D
KeyboardKeypad.KeyboardE ---> Key.E
KeyboardKeypad.KeyboardF ---> Key.F
KeyboardKeypad.KeyboardG ---> Key.G
KeyboardKeypad.KeyboardH ---> Key.H
KeyboardKeypad.KeyboardI ---> Key.I
KeyboardKeypad.KeyboardJ ---> Key.J
KeyboardKeypad.KeyboardK ---> Key.K
KeyboardKeypad.KeyboardL ---> Key.L
KeyboardKeypad.KeyboardM ---> Key.M
KeyboardKeypad.KeyboardN ---> Key.N
KeyboardKeypad.KeyboardO ---> Key.O
KeyboardKeypad.KeyboardP ---> Key.P
KeyboardKeypad.KeyboardQ ---> Key.Q
KeyboardKeypad.KeyboardR ---> Key.R
KeyboardKeypad.KeyboardS ---> Key.S
KeyboardKeypad.KeyboardT ---> Key.T
KeyboardKeypad.KeyboardU ---> Key.U
KeyboardKeypad.KeyboardV ---> Key.V
KeyboardKeypad.KeyboardW ---> Key.W
KeyboardKeypad.KeyboardX ---> Key.X
KeyboardKeypad.KeyboardY ---> Key.Y
KeyboardKeypad.KeyboardZ ---> Key.Z
KeyboardKeypad.Keyboard1andBang ---> Key.1
KeyboardKeypad.Keyboard2andAt ---> Key.2
KeyboardKeypad.Keyboard3andHash ---> Key.3
KeyboardKeypad.Keyboard4andDollar ---> Key.4
KeyboardKeypad.Keyboard5andPercent ---> Key.5
KeyboardKeypad.Keyboard6andCaret ---> Key.6
KeyboardKeypad.Keyboard7andAmpersand ---> Key.7
KeyboardKeypad.Keyboard8andStar ---> Key.8
KeyboardKeypad.Keyboard9andLeftBracket ---> Key.9
KeyboardKeypad.Keyboard0andRightBracket ---> Key.0
KeyboardKeypad.KeyboardReturnEnter ---> Key.Enter
KeyboardKeypad.KeyboardEscape ---> Key.Esc
KeyboardKeypad.KeyboardDelete ---> Key.Backspace
KeyboardKeypad.KeyboardTab ---> Key.Tab
KeyboardKeypad.KeyboardSpacebar ---> Key.Space
KeyboardKeypad.KeyboardDashandUnderscore ---> Key.Minus
KeyboardKeypad.KeyboardEqualsandPlus ---> Key.Equal
KeyboardKeypad.KeyboardLeftBrace ---> Key.LeftBrace
KeyboardKeypad.KeyboardRightBrace ---> Key.RightBrace
KeyboardKeypad.KeyboardBackslashandPipe ---> Key.BackSlash
KeyboardKeypad.KeyboardNonUSHashandTilde ---> Key.BackSlash
KeyboardKeypad.KeyboardSemiColonandColon ---> Key.Semicolon
KeyboardKeypad.KeyboardLeftAposandDouble ---> Key.Apostrophe
KeyboardKeypad.KeyboardGraveAccentandTilde ---> Key.Grave
KeyboardKeypad.KeyboardCommaandLessThan ---> Key.Comma
KeyboardKeypad.KeyboardPeriodandGreaterThan ---> Key.Dot
KeyboardKeypad.KeyboardForwardSlashandQuestionMark ---> Key.Slash
KeyboardKeypad.KeyboardCapsLock ---> Key.CapsLock
KeyboardKeypad.KeyboardF1 ---> Key.F1
KeyboardKeypad.KeyboardF2 ---> Key.F2
KeyboardKeypad.KeyboardF3 ---> Key.F3
KeyboardKeypad.KeyboardF4 ---> Key.F4
KeyboardKeypad.KeyboardF5 ---> Key.F5
KeyboardKeypad.KeyboardF6 ---> Key.F6
KeyboardKeypad.KeyboardF7 ---> Key.F7
KeyboardKeypad.KeyboardF8 ---> Key.F8
KeyboardKeypad.KeyboardF9 ---> Key.F9
KeyboardKeypad.KeyboardF10 ---> Key.F10
KeyboardKeypad.KeyboardF11 ---> Key.F11
KeyboardKeypad.KeyboardF12 ---> Key.F12
KeyboardKeypad.KeyboardPrintScreen ---> Key.SysRq
KeyboardKeypad.KeyboardScrollLock ---> Key.ScrollLock
KeyboardKeypad.KeyboardPause ---> Key.Pause
KeyboardKeypad.KeyboardInsert ---> Key.Insert
KeyboardKeypad.KeyboardHome ---> Key.Home
KeyboardKeypad.KeyboardPageUp ---> Key.PageUp
KeyboardKeypad.KeyboardDeleteForward ---> Key.Delete
KeyboardKeypad.KeyboardEnd ---> Key.End
KeyboardKeypad.KeyboardPageDown ---> Key.PageDown
KeyboardKeypad.KeyboardRightArrow ---> Key.Right
KeyboardKeypad.KeyboardLeftArrow ---> Key.Left
KeyboardKeypad.KeyboardDownArrow ---> Key.Down
KeyboardKeypad.KeyboardUpArrow ---> Key.Up
KeyboardKeypad.KeypadNumLockandClear ---> Key.NumLock
KeyboardKeypad.KeypadForwardSlash ---> Key.KPSlash
KeyboardKeypad.KeypadStar ---> Key.KPAsterisk
KeyboardKeypad.KeypadDash ---> Key.KPMinus
KeyboardKeypad.KeypadPlus ---> Key.KPPlus
KeyboardKeypad.KeypadENTER ---> Key.KPEnter
KeyboardKeypad.Keypad1andEnd ---> Key.KP1
KeyboardKeypad.Keypad2andDownArrow ---> Key.KP2
KeyboardKeypad.Keypad3andPageDn ---> Key.KP3
KeyboardKeypad.Keypad4andLeftArrow ---> Key.KP4
KeyboardKeypad.Keypad5 ---> Key.KP5
KeyboardKeypad.Keypad6andRightArrow ---> Key.KP6
KeyboardKeypad.Keypad7andHome ---> Key.KP7
KeyboardKeypad.Keypad8andUpArrow ---> Key.KP8
KeyboardKeypad.Keypad9andPageUp ---> Key.KP9
KeyboardKeypad.Keypad0andInsert ---> Key.KP0
KeyboardKeypad.KeypadPeriodandDelete ---> Key.KPDot
KeyboardKeypad.KeyboardNonUSBackslashandPipe ---> Key.102nd
KeyboardKeypad.KeyboardApplication ---> Key.Compose
LED.NumLock ---> LED.NumLock
LED.CapsLock ---> LED.CapsLock
LED.ScrollLock ---> LED.ScrollLock
LED.Compose ---> LED.Compose
LED.Kana ---> LED.Kana
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment