I have a Lenovo Duet 3 Bluetooth keyboard, which works fine when connected physically (it has 5 pins for that) to its laptop, and also works as expected when I connect it to my Android phone.
However, I cannot get it to work under (Arch) Linux. Kernel and bluetooth stack (bluez-libs etc.) are up to date, so I connect the device using bluetoothctl (output abbreviated for clarity):
[bluetooth]# power on Changing power on succeeded [bluetooth]# scan on Discovery started [NEW] Device D6:45:02:72:41:4F Duet 3 BT [bluetooth]# pair D6:45:02:72:41:4F Attempting to pair with D6:45:02:72:41:4F [CHG] Device D6:45:02:72:41:4F Connected: yes [CHG] Device D6:45:02:72:41:4F ServicesResolved: yes [CHG] Device D6:45:02:72:41:4F Paired: yes [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_D6_45_02_72_41_4F/service000a 00001801-0000-1000-8000-00805f9b34fb Generic Attribute Profile ... {more new services follow, e.g. for Dev. Information, Battery etc.} Pairing successful [Duet 3 BT]# trust D6:45:02:72:41:4F Changing D6:45:02:72:41:4F trust succeeded [Duet 3 BT]# connect D6:45:02:72:41:4F Attempting to connect to D6:45:02:72:41:4F Connection successful [Lenovo Duet 3 BT Folio]# The device stays connected, and I can see battery information. So far, so good, but typing anything or using the trackpad does absolutely nothing, so it's pretty useless as an input device.