ukbd key repeat behaviour changed?

James Wright james.wright at jigsawdezign.com
Wed Mar 4 01:36:28 UTC 2020



> On 3 Mar 2020, at 21:19, Hans Petter Selasky <hps at selasky.org> wrote:
> 
> On 2020-03-03 21:38, Hans Petter Selasky wrote:
>> On 2020-03-03 18:44, James Wright wrote:
>>> 
>>>    After recently updating my MacBookAir to 12-STABLE r358483 (which i do once a month), I'm making numerous mistypes using the keyboard on the vt console than ever before.
>>> 
>>>    This is most apparent when I boot up FreeBSD and login to the console, as I consistently fail to enter my password correctly unless I slowly type it out.
>>> 
>>>    It's hard to reproduce as you have to type quickly, and not all key combos seem to cause the issue, but I've noticed that extra repeated keystrokes are being inserted into the output.
>>> 
>>>    For example, typing  "ls -l <Enter>" quickly sometimes causes the terminal to show "ls ---l" or "ls -lll", or multiple new lines to appear at the end.
>>> 
>>>    Has something changed with the default key repeat timings recently, and has anyone else noticed this behaviour?
>> Hi,
>> The ukbd's keyboard timing should not have changed. Can you show the output from:
>> usbconfig show_ifdrv
>> Run as root?
> 
> Also try:
> 
> sysctl hw.usb.ukbd.debug=16
> 
> This will print all the key-presses in dmesg. Maybe you find something buggy there.
> 
> --HPS


As requested;

# usbconfig show_ifdrv                                                                                                                                               
ugen0.1: <0x8086 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)                                                                                         
ugen0.1.0: uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1>                                                                                                          
ugen0.2: <Apple Inc. BRCM20702 Hub> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (94mA)                                                                                        
ugen0.3: <Apple Inc. Apple Internal Keyboard / Trackpad> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)                                                                  
ugen0.3.0: uhid0: <Device Management>                                                                                                                                               
ugen0.3.1: ukbd0: <Keyboard / Boot>                                                                                                                                                 
ugen0.3.2: wsp0: <Trackpad / Boot>                                                                                                                                                  
ugen0.4: <Apple Card Reader> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (224mA)                                                                                            
ugen0.4.0: umass0: <Apple Card Reader, class 0/0, rev 3.00/8.20, addr 3> 


However, to confirm it's not just my typing, I booted into my old kernel (r357365) and I don't see the issue as in the newer revision (r358484).

I think it may be something to do with the latest version not resetting the initial repeat delay when another key is pressed, e.g.

1) Hold down the 'a' key.
2) Wait a split second just before the 'a' key should start repeating, and press 'l' key whilst still holding the 'a' key.
3) There should be a renewed initial delay before the 'l' key starts repeating, but I think it starts repeating almost immediately (as if it were still counting from the press of the 'a' key).

Hope that makes some sense! :-)

James





More information about the freebsd-usb mailing list