I have a "Ozone Strike Pro" USB keyboard that is pretty bugged on FreeBSD -CURRENT r299864 (yesterday's head) and 20160429-r298793 (the latest snapshot). Relevant dmesg output: ugen1.3: <vendor 0x058f> at usbus1 uhub5: <vendor 0x058f product 0x6254, class 9/0, rev 2.00/1.00, addr 3> on usbus1 uhub5: 4 ports with 4 removable, self powered ugen1.4: <vendor 0x04d9> at usbus1 ukbd1: <vendor 0x04d9 USB Keyboard, class 0/0, rev 2.00/d.04, addr 4> on usbus1 kbd3 at ukbd1 ukbd2: <vendor 0x04d9 USB Keyboard, class 0/0, rev 2.00/d.04, addr 4> on usbus1 kbd4 at ukbd2 uhid0: <vendor 0x04d9 USB Keyboard, class 0/0, rev 2.00/d.04, addr 4> on usbus1 Note that plugging in the keyboard create *two* ukbd devices. When keys on the keyboard are pressed, various bugs happen: * The "space" key enters an "a" character * The "d" key switches the active tty * All other keys misbehave as well Additionally, only sometimes, the internal keyboard of the notebook also starts entering the wrong things when the Ozone is plugged in. There is a workaround that fixes the issue when the following steps are executed in this exact order: 1. Plug in the keyboard 2. Run "usbconfig -d ugen1.4 add_quirk UQ_KBD_BOOTPROTO" on *both* devices 3. Plug out the keyboard 4. Plug it in again After going through this procedure once, the correct behavior persists, even through a standby cycle, but it does not persist through reboots. The keyboard works completely fine on Linux and OpenBSD. It does not work on another machine running FreeBSD -CURRENT. I did not test it on any -RELEASE. I am not sure what else would help to track this down, please let me know if I can provide anything else.
I am going to close this due to its age, however please reopen if the bug still affects you.