Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
LG UltraFine 21.5" USB control
uhidev5 at uhub6 port 4 configuration 1 interface 0 "LG Electronics Inc. USB Controls" rev 2.00/3.04 addr 7
uhidev5: iclass 3/0
uhid5 at uhidev5: input=64, output=64, feature=8
uhidev6 at uhub6 port 4 configuration 1 interface 1 "LG Electronics Inc. USB Controls" rev 2.00/3.04 addr 7
uhidev6: iclass 3/0
uhid6 at uhidev6: input=4, output=0, feature=6
uhidev7 at uhub6 port 4 configuration 1 interface 2 "LG Electronics Inc. USB Controls" rev 2.00/3.04 addr 7
uhidev7: iclass 3/0
uhid7 at uhidev7: input=6, output=0, feature=13
$ doas usbhidctl -f uhid6
0x0001.Brightness=15842
0x0001.Brightness=15842
0x0001.Duration=0
$ doas usbhidctl -f uhid7
Light:_Ambient_Light.Sensor_Event:_Unknown=1
Light:_Ambient_Light.Data_Field:_Illuminance=11
Light:_Ambient_Light.0x24d1=2900
Light:_Ambient_Light.0x34d1=200
Light:_Ambient_Light.0xa4d1=200
Light:_Ambient_Light.0xe4d1=0
$ doas usbhidctl -f uhid5 -R
0x06 0x00 0xff 0x09 0x01 0xa1 0x01 0x15 0x00 0x26 0xff 0x00 0x75 0x08 0x95 0x40 0x09 0x01 0x81 0x02 0x95 0x40 0x09 0x01 0x91 0x02 0x95 0x08 0x09 0x01 0xb1 0x02 0xc0
0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00)
0x09, 0x01, // Usage (0x01)
0xA1, 0x01, // Collection (Application)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0x00, // Logical Maximum (255)
0x75, 0x08, // Report Size (8)
0x95, 0x40, // Report Count (64)
0x09, 0x01, // Usage (0x01)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x40, // Report Count (64)
0x09, 0x01, // Usage (0x01)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x08, // Report Count (8)
0x09, 0x01, // Usage (0x01)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
$ doas usbhidctl -f uhid6 -R
0x05 0x80 0x09 0x01 0xa1 0x01 0x06 0x82 0x00 0x09 0x10 0x15 0x04 0x26 0x1c 0x02 0x67 0xe1 0x00 0x00 0x01 0x55 0x0e 0x75 0x20 0x95 0x01 0xb1 0x42 0x06 0x82 0x00 0x09 0x10 0x67 0xe1 0x00 0x00 0x01 0x55 0x0e 0x75 0x20 0x95 0x01 0x81 0x02 0x05 0x0f 0x09 0x50 0x66 0x10 0x01 0x55 0x0d 0x75 0x10 0xb1 0x42 0xc0
0x05, 0x80, // Usage Page (Monitor Pages)
0x09, 0x01, // Usage (0x01)
0xA1, 0x01, // Collection (Application)
0x06, 0x82, 0x00, // Usage Page (Monitor Pages)
0x09, 0x10, // Usage (0x10)
0x15, 0x04, // Logical Minimum (4)
0x26, 0x1C, 0x02, // Logical Maximum (540)
0x67, 0xE1, 0x00, 0x00, 0x01, // Unit (System: SI Linear, Luminous Intensity: Candela)
0x55, 0x0E, // Unit Exponent (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0xB1, 0x42, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0x06, 0x82, 0x00, // Usage Page (Monitor Pages)
0x09, 0x10, // Usage (0x10)
0x67, 0xE1, 0x00, 0x00, 0x01, // Unit (System: SI Linear, Luminous Intensity: Candela)
0x55, 0x0E, // Unit Exponent (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x0F, // Usage Page (PID Page)
0x09, 0x50, // Usage (0x50)
0x66, 0x10, 0x01, // Unit (Length: Centimeter, Mass: Gram)
0x55, 0x0D, // Unit Exponent (-3)
0x75, 0x10, // Report Size (16)
0xB1, 0x42, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0xC0, // End Collection
$ doas usbhidctl -f uhid7 -R
0x05 0x20 0x09 0x41 0xa1 0x01 0x0a 0x02 0x02 0x65 0x00 0x15 0x00 0x25 0x10 0x75 0x10 0x95 0x01 0x1a 0x10 0x08 0x2a 0x20 0x08 0x81 0x00 0x0a 0xd1 0x04 0x67 0xe1 0x00 0x00 0x01 0x15 0x00 0x27 0xa0 0x86 0x01 0x00 0x75 0x20 0x95 0x01 0x81 0x02 0x05 0x20 0x0a 0xd1 0x24 0x0a 0xd1 0x34 0x67 0xe1 0x00 0x00 0x01 0x15 0x00 0x26 0x54 0x0b 0x75 0x20 0x95 0x02 0xb1 0x02 0x0a 0xd1 0xa4 0x66 0x01 0x10 0x55 0x0d 0x15 0x64 0x26 0x20 0x03 0x75 0x20 0x95 0x01 0xb1 0x02 0x0a 0xd1 0xe4 0x65 0x00 0x55 0x00 0x15 0x00 0x25 0x64 0x75 0x08 0x95 0x01 0xb1 0x02 0xc0
0x05, 0x20, // Usage Page (0x20)
0x09, 0x41, // Usage (0x41)
0xA1, 0x01, // Collection (Application)
0x0A, 0x02, 0x02, // Usage (0x0202)
0x65, 0x00, // Unit (None)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x10, // Logical Maximum (16)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x1A, 0x10, 0x08, // Usage Minimum (0x0810)
0x2A, 0x20, 0x08, // Usage Maximum (0x0820)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0xD1, 0x04, // Usage (0x04D1)
0x67, 0xE1, 0x00, 0x00, 0x01, // Unit (System: SI Linear, Luminous Intensity: Candela)
0x15, 0x00, // Logical Minimum (0)
0x27, 0xA0, 0x86, 0x01, 0x00, // Logical Maximum (99999)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x20, // Usage Page (0x20)
0x0A, 0xD1, 0x24, // Usage (0x24D1)
0x0A, 0xD1, 0x34, // Usage (0x34D1)
0x67, 0xE1, 0x00, 0x00, 0x01, // Unit (System: SI Linear, Luminous Intensity: Candela)
0x15, 0x00, // Logical Minimum (0)
0x26, 0x54, 0x0B, // Logical Maximum (2900)
0x75, 0x20, // Report Size (32)
0x95, 0x02, // Report Count (2)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0xD1, 0xA4, // Usage (0xA4D1)
0x66, 0x01, 0x10, // Unit (System: SI Linear, Time: Seconds)
0x55, 0x0D, // Unit Exponent (-3)
0x15, 0x64, // Logical Minimum (100)
0x26, 0x20, 0x03, // Logical Maximum (800)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0xD1, 0xE4, // Usage (0xE4D1)
0x65, 0x00, // Unit (None)
0x55, 0x00, // Unit Exponent (0)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x64, // Logical Maximum (100)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment