# Mac Keyboard weirdness - FreeBSD 12.2



## vorpal (Nov 15, 2020)

Here's a strange one - I've been around a long time and have never seen anything like this before, maybe someone else has seen this?

I recently upgraded my workstation to FreeBSD 12.2-RELEASE and while the overall upgrade has been great, there is one "quality of life" issue I keep encountering with my wired Apple aluminum 109-key QWERTY US-layout keyboard (Model A1243).

I don't have any custom settings for this keyboard, I simply use the stock US QWERTY keymap.  In FreeBSD 12.1, there were no issues with the keyboard either in syscons or in X.  However, after upgrading to FreeBSD 12.2, I started to note that my 'cd' command would occasionally come up 'cdd'.  If I typed slowly, it would remain 'cd'.

I've tried disconnecting my keyboard from the hub it was connected to, and connected it directly to a USB port on the computer, but it doesn't change this behaviour.  If I replace the keyboard with a different one, the issue disappears.  If I use my other aluminum Mac keyboard (same model,newer revision), the problem is still present.

Not being one to mess with keyboards my muscles are familiar with, I looked into various things I could do to resolve the issue.  Setting the key repeat rate to 'slow' in rc.conf was unsuccessful, and looking at various man pages for the keyboard driver and usb support left me feeling a little out of my depth.

Earlier today, I stumbled on something rather interesting: This problem appears with other keys!  Specifically, when any key in the row above the space bar (keys in the group: ZXCVBNM,./ on my keyboard) is pressed with any other key in the same column as the pressed key (in the case of Z: A, Q and/or 1) along with the space bar, all keys pressed will repeat without a space in the output.

Also, if you press and release the first key quickly while holding the second key then space bar, it will repeat the second key and add a space if pressed quickly (like typing 'cd<space>' really fast), as long as the first key is in the row above the space bar, and the second key is in the same column as the first.

As you can imagine, 95% of the time, everything works.  It's only certain letter/key combinations that case the problem, and it gets annoying really fast. 

I am not willing to consider changing keyboards - I take that advice in the same vein as "change your OS" - it won't happen.  This is the first time I've encountered an entry issue on any computer/OS, so I want to resolve it.  The only place I can begin with is the fact this issue appeared once I upgraded to 12.2 from 12.1p10-RELEASE.

Thanks in advance...any advice or clues you can provide on this would be greatly appreciated!


----------



## Martin Paredes (Nov 15, 2020)

Try setting in /etc/rc.conf


```
keyrate="slow"
```

More info in kbdcontrol(1) (option -r)


----------



## vorpal (Nov 18, 2020)

Martin Paredes said:


> Try setting in /etc/rc.conf
> 
> 
> ```
> ...


Thank you for your response!

That was one of the first things I tried in /etc/rc.conf, but it had no effect.  I suspect it's at a lower level, perhaps in syscons or in the kernel as I can make it occur once the system boots and asks for a login.


----------



## T-Daemon (Nov 19, 2020)

vorpal said:


> I suspect it's at a lower level, perhaps in syscons or in the kernel as I can make it occur once the system boots and asks for a login.


You should file a bug report. FreeBSD developers, familiar with the systems keyboard infrastructure are rarely if not at all here on Forums. Most likely Vladimir Kondratyev can help you there on bugzilla, as he did with a few other forum members having trouble with their keyboards but couldn't find any help here on Forums and been directed to https://bugs.freebsd.org.


----------



## Vladimir Kondratyev (Feb 6, 2021)

Try apply patch from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253249


----------

