On 14.07.2020 16:48, László Lajos Jánszky wrote:

>>>>> I have an Obins Anne Pro keyboard, which is a 60% mechanical NKRO
>>>>> keyboard
>>>>> http://en.obins.net/anne-pro It works properly in the UEFI and in the
>>>>> rescue shell when I quit the boot menu, but after FreeBSD booted up
>>>>> and I got the login screen it changes layout to something weird. For 
>>>>> example
>>>>> I got "a" when pressing backspace or "w". Most of the keys stop working.
>>>>> anything about it in the manual, so probably this keyboard is NKRO
>>>>> only...
>>>>> Any idea how to make it work with FreeBSD or what causes this problem?

 As far as I know, NKRO USB keyboards could work in two modes: "Legacy" and 
"Bitmap/NKRO".

 HID (and each USB Keyboard is HID device) is very flexible standard, and it 
allows several ways to report pressed/released buttons: as event with 8 
modifier keys and up to 6 "simple" keys per event, or by transferring bitmap 
with bit for each button (pretends that all buttons are modifier ones, which 
allows NKRO).

 "Standard" events could have only 6 different keys reported due to packet size 
constrains. But this way was historically first and "standard" keyboards work 
this way to this day.

 "Bitmap" reporting could transmit any state of keyboard with as many pressed 
keys as there are keys total (NKRO!), but requires additional support from 
drirver.

 NKRO keyboards start in "Legacy"/"Boot" mode because many BIOSes/EFI can not 
understand "bitmap" reporting. Conditions to switch to "bitmap" reporting are 
different for different NKRO keyboards.

 You could read more here: https://www.devever.net/~hl/usbnkro

 Looks like, FreeBSD HID/kbd driver has problem with "bitmap" reporting and 
this keyboard switch to NKRO mode after boot regardless.

 I've CC: this message to usb@ mailing list, as it looks like USB problem on 
FreeBSD side, in HID driver.

-- 
// Lev Serebryakov

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to