On Tue, 12 Jun 2007, H. Peter Anvin wrote:
In PS/2 mode it reports E0 32 which gets converted to keycode 150. In USB mode it reports E0 02 which gets converted to keycode 172.
I don't know if it's the keyboard itself that's being inconsistent, or if it is the table in usbkbd.c that's broken (in which case it should be fixed to be consistent with the keyboard in PS/2 mode.)
Hi Peter,
First, usbkbd.c has very probably zero business with this - the mappings are being done in hid-input.c, usbkdb.c is only for embedded/debugging cases, and is almost never used on modern systems (see the corresponding Kconfig help text).
You seem to be of the opinion that "usb behaviour is correct", but don't give any motivation why usb should take precedence. Offhand, I would expect there to be fewer translation layers for PS/2 and would therefore assume PS/2 is more inherently correct.
For USB, we have Hid Usage Pages, which define this to be KEY_HOMEPAGE. There is no such specification for PS/2 though, so what Hans is proposing is to make it consistent with behavior of USB HID devices, which I agree with.