This imports hkbd(4) driver which is conversion of existing ukbd(4) to the HID subsystem.
Unlike ukbd which is running entirely under Giant, hkbd uses 2 locks - private mutex for interrupt handler/repeat callout and Giant for syscons interface. Lockless queue is used for passing of key-press events from mtx-protected code to Giant-protected one. Other differences are minor.
This revision is subset of https://reviews.freebsd.org/D27777