On Fri, Aug 12, 2022 at 06:07:28PM +0100, Laurence Tratt wrote:
> On Wed, Aug 03, 2022 at 09:10:01AM +0100, Laurence Tratt wrote:
> 
> [Framework laptop keyboard encoding crashing]
> > I did a bit more digging and I've confused myself considerably, possibly
> > because I don't know how wscons works. If I boot the machine without the
> > external keyboard attached, stay in the console (i.e. outside X), and then
> > plug in the external keyboard causes the laptop keyboard behaves bizarrely:
> > for example "1" and "a" are inverted (i.e. I press "1" and "a" is
> > displayed). After I unplug the external keyboard, I seem to get a new (more
> > bizarre) map in the console where "a" is some sort of control code.
> 
> I've been poking around a bit more trying to understand what's going on, and
> I have some more information -- but nothing that I'd say is exactly
> definitive.
> 
> Although I didn't realise it (since it was the first thing I did in the
> installer) /etc/kbdtype is set:
> 
>   $ cat /etc/kbdtype
>   uk
> 
> And indeed, the first thing after the kernel boots and userland starts doing
> its thing says:
> 
>   kbd: keyboard mapping set to uk
> 
> Provided I don't have an external keyboard plugged in, then on the console
> the laptop keyboard really does reflect the UK layout (including things like
> the £ key), but X does not reflect that. However if I later try to set uk
> encoding with kbd (as /etc/rc does with /etc/kbdtype) it doesn't work:
> 
>   $ doas kbd uk
>   kbd: WSKBDIO_SETENCODING /dev/wskbd0: Bad address
> 
> I'm unsure how the call to kbd from /etc/rc can work but not subsequently if
> I issue it manually.
> 
> The final piece of information I've dug out is that (even with Miod's
> patch), kbd -l causes a uvm_fault panic in wskbd_displayioctl_sc. I think
> this is just the same underlying bug manifesting in a different way
> 
> 
> Laurie
> 
Laurie and I have been exchanging notes about our respective
experiences. So far, my Framework 12th gen has been stable and
doesn't panic.

Some notes:
* Using the default us encoding, I can swap between wsconsctl
  keyboard.encoding values with no panics
* Setting /etc/kbdtype to us and swapping values with wsconsctl
  doesn't cause panics
* kbd -l produces a list of encodings
* Laurie and I have identical BIOS versions and (seemingly) identical
  hardware

Happy to provide more info if needed

Lucas

Reply via email to