If WSKBDIO_GTYPE succeeds and returns type=0, it is a mux with no
keyboard attached. In this case, assume USB.

>From Jared McNeill <jmcne...@netbsd.org>
Signed-off-by: Thomas Klausner <w...@netbsd.org>
---
 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

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to