Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jul 2020 17:37:36 +0300
From:      Lev Serebryakov <lev@FreeBSD.org>
To:        =?UTF-8?B?TMOhc3psw7MgTGFqb3MgSsOhbnN6a3k=?= <laszlo.janszky@gmail.com>, Patrick Proniewski <patpro@patpro.net>
Cc:        freebsd-hardware@freebsd.org, freebsd-usb@freebsd.org
Subject:   Re: keyboard has a weird layout after boot
Message-ID:  <fbf2967b-c69a-66ac-c00e-3143069bea48@FreeBSD.org>
In-Reply-To: <CA%2B=RcCrt1_dxvxeC4djgcBjRsx4qG5cWKFynSFZp=zYT_1=f%2BQ@mail.gmail.com>
References:  <CA%2B=RcCrSqGE=rDoLxTTAfyVCtyOmE544Zo=yr_d-OpFB3tr5zA@mail.gmail.com> <E1DFC9A7-A69A-4ADC-9C49-1BF5165F0A35@patpro.net> <CA%2B=RcCp5x3BBDLbO9P78BbmHB7offbq8K2sHgKbrVRcfjR831w@mail.gmail.com> <4EA5D9EF-4205-49AD-9AC9-1B381EDAA473@patpro.net> <CA%2B=RcCrt1_dxvxeC4djgcBjRsx4qG5cWKFynSFZp=zYT_1=f%2BQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--vgoPU7rZ7JpA3aQuGfWGBGzI0bbZfDqxl
Content-Type: multipart/mixed; boundary="eOlllRxVLdgo3hThzTOYzDRWUJRlatvRf"

--eOlllRxVLdgo3hThzTOYzDRWUJRlatvRf
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 14.07.2020 16:48, L=C3=A1szl=C3=B3 Lajos J=C3=A1nszky 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 t=
he
>>>>> 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. Fo=
r example
>>>>> I got "a" when pressing backspace or "w". Most of the keys stop wor=
king.
>>>>> 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 probl=
em?

 As far as I know, NKRO USB keyboards could work in two modes: "Legacy" a=
nd "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 o=
nes, which allows NKRO).

 "Standard" events could have only 6 different keys reported due to packe=
t size constrains. But this way was historically first and "standard" key=
boards work this way to this day.

 "Bitmap" reporting could transmit any state of keyboard with as many pre=
ssed keys as there are keys total (NKRO!), but requires additional suppor=
t from drirver.

 NKRO keyboards start in "Legacy"/"Boot" mode because many BIOSes/EFI can=
 not understand "bitmap" reporting. Conditions to switch to "bitmap" repo=
rting 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 a=
nd 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.

--=20
// Lev Serebryakov


--eOlllRxVLdgo3hThzTOYzDRWUJRlatvRf--

--vgoPU7rZ7JpA3aQuGfWGBGzI0bbZfDqxl
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEE+W0coLX0MYtnSzMK6rA8WL/cR48FAl8NwzBfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEY5
NkQxQ0EwQjVGNDMxOEI2NzRCMzMwQUVBQjAzQzU4QkZEQzQ3OEYACgkQ6rA8WL/c
R49cYRAAy8udW2K8s+wm8jNGf/+tV+l97yan0fnNcgeg1z97JLQM9bM83yWGjpmx
+UHJgs8M75NaHOjplSUApzsjFDT3ZOpMI+fgjnujR96S1d1GUiOC44LK+UlnHY0e
iChHHPI9/D01f5EhHIs7Z2ScPLFJ77omZmhP+PUlFM/bqtTAilIHg/PEVCI9gqA1
pOhvRmorIimLtulPT5iVfngeCuOgQaNvovNsE++Pcfe3qeXubxQ4UzvtaDsRwsRl
Li5lZ8TVQh72TQ7v1yb1D7UL5NGox7RnmAZniICPHl+xWNzjAA9hQ+F4yrYibtk+
sJikjBpHI4qdA1KzIH0IrWEACTSY7YglPvTMignc2Dor2fkuRXaOnbU1k5JYSMH0
0VW6TJsxyGAZKHuzI2f2BuYtoa0b41k7yPYqPCTIIk7BfaN0lgBaQeFmq3py4ruB
zDynWpjh0C6737JRbc2xtjKHz8YepfiuJNFMRpPSiNBSn1Pl9ItJDzIGiebgpQ4c
5ZIMyqmiezQXQZ093ivY8rOq43ZoxHMSXlcTPcpEr8vRiB4nxP0SY30PqSQ5yXJu
BF1ZdKneQsVzzkTDs+/ZyTrz2JehArhPy+UM4We2+LVYvsQR0i6BQZJA1yaUP/iF
bSMmdjp9ys+HG3pN9CYnl2KrDN65W7Xb5LKk0knTekelQQJIqZY=
=nRow
-----END PGP SIGNATURE-----

--vgoPU7rZ7JpA3aQuGfWGBGzI0bbZfDqxl--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fbf2967b-c69a-66ac-c00e-3143069bea48>