On 2024/02/13 08:44, Miod Vallat wrote:
> > Does this help?
> > 
> > diff --git sys/dev/wscons/wskbd.c sys/dev/wscons/wskbd.c
> > index 7631cd5f701..dd65f61ce63 100644
> > --- sys/dev/wscons/wskbd.c
> > +++ sys/dev/wscons/wskbd.c
> > @@ -1229,7 +1229,10 @@ getkeyrepeat:
> >  
> >     case WSKBDIO_GETENCODINGS:
> >             uedp = (struct wskbd_encoding_data *)data;
> > -           for (count = 0; sc->id->t_keymap.keydesc[count].name; count++)
> > +           for (count = 0;
> > +                sc->id->t_keymap.keydesc != NULL &&
> > +                sc->id->t_keymap.keydesc[count].name;
> > +                count++)
> >                     ;
> >             if (uedp->nencodings > count)
> >                     uedp->nencodings = count;
> > 
> 
> This ought to fix the panic Stuart is getting.
> 
> However I don't understand how t_keymap.keydesc can be a NULL pointer
> (yet it obviousl was); it is initialized at wskbd attachment time with
> valid data.
> 
> Stuart, did you issue specific wsconsctl or wsconscfg operations in this
> VM prior to running 'kbd -l'? What are the contents of
> /etc/wsconsctl.conf, if it exists?

wsconsctl.conf has this:

keyboard.map+="keycode 57 = Control_L"

I haven't tried the diff yet, I need to clear out the sessions open on
that machine first (and make sure as many daemons as possible are shut
down, it usually suffers quite badly from fs problems after crashes).

Reply via email to