If WSKBDIO_GTYPE succeeds and returns type=0, it is a mux with no keyboard attached. In this case, assume USB.
>From Jared McNeill <[email protected]> Signed-off-by: Thomas Klausner <[email protected]> --- src/bsd_kbd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/bsd_kbd.c b/src/bsd_kbd.c index 0615cf2..5337ec7 100644 --- a/src/bsd_kbd.c +++ b/src/bsd_kbd.c @@ -429,6 +429,12 @@ OpenKeyboard(InputInfoPtr pInfo) close(pInfo->fd); return FALSE; } + /* If wsKbdType==0, no keyboard attached to the mux. Assume USB. */ + if (pKbd->wsKbdType == 0) { + xf86Msg(X_WARNING, "%s: No keyboard attached, assuming USB\n", + pInfo->name); + pKbd->wsKbdType = WSKBD_TYPE_USB; + } switch (pKbd->wsKbdType) { case WSKBD_TYPE_PC_XT: printWsType("XT", pInfo->name); -- 1.8.3.3 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
