On 01/23/18 12:27, Johannes Lundberg wrote:
Hi all

Some quick dtracing with play causing lag, vs play not causing lag (that is
not hold down any key on a usb keyboard for too long).



Hi,

The only thing I can think about is that one or more of kb_delay1 or kb_delay2 are zero:

sys/dev/usb/input/ukbd.c

        case KDSETREPEAT:               /* set keyboard repeat rate (new
                                         * interface) */
                if (!KBD_HAS_DEVICE(kbd)) {
                        return (0);
                }
                /*
                 * Convert negative, zero and tiny args to the same limits
                 * as atkbd.  We could support delays of 1 msec, but
                 * anything much shorter than the shortest atkbd value
                 * of 250.34 is almost unusable as well as incompatible.
                 */
                kbd->kb_delay1 = imax(((int *)arg)[0], 250);
                kbd->kb_delay2 = imax(((int *)arg)[1], 34);
#ifdef EVDEV_SUPPORT
                if (sc->sc_evdev != NULL)
                        evdev_push_repeats(sc->sc_evdev, kbd);
#endif
                return (0);

Can you add some prints in ukbd.c where kb_delayX are set and see if their value are zero? Lowest supported value should be 1.

--HPS
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to