Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Feb 2023 23:05:21 +0100
From:      =?UTF-8?Q?Stefan_E=c3=9fer?= <se@freebsd.org>
To:        Warner Losh <imp@bsdimp.com>, Jessica Clarke <jrtc27@freebsd.org>, Emmanuel Vadot <manu@bidouilliste.com>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org>
Subject:   Please approve the fix to the keymap code to let it go into 13.2 ...
Message-ID:  <ba94697b-55ee-24d3-f3f7-cca6a7d09d15@FreeBSD.org>
In-Reply-To: <CANCZdfofADsJg7ODDO1UbkKdau9V_TSA4psAsDjNf_1-=CrHQg@mail.gmail.com>
References:  <202302011630.311GUmt1068106@gitrepo.freebsd.org> <B18FC1EA-29B9-45A8-A666-35F975424256@freebsd.org> <84830C1A-149F-4B05-99DC-1E0B50C8B59A@freebsd.org> <297c877d-2a2f-70cf-604c-e458634cb068@FreeBSD.org> <CANCZdfofADsJg7ODDO1UbkKdau9V_TSA4psAsDjNf_1-=CrHQg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 04.02.23 um 16:19 schrieb Warner Losh:
[...]
>     The ioctl handler in kbd/kbd.c has been extended in the same
>     way as had been used to support 32 bit key codes in the main
>     key map (with similar backwards compatibility code).
> 
>     Support of kbdcontrol built with the patched kbio.h on an old
>     kernel could be added to kbdcontrol.c - but we do not support
>     running a new user land on an old kernel, in general. (The
>     old kbdcontrol on a new kernel could load the normal keymap,
>     but the dead key map would be ignored.)
> 
> 
> "In general" is true. However, this case is on the edge of being
> one that we should do, based on how hard it is. You run into
> needing this if you boot an old kernel because the new kernel
> is broken on your hardware, but you've already done an install
> world (this happens, even for people that follow the rules sometimes
> for problems that aren't fatal to boot, but may be too crashy
> to build a new kernel). Since this affects one's ability to interact
> with the system with non-standard keyboards, how hard would
> it be to retain the old code as a fallback if the new ioctl fails to
> work? If it's quite hard, then we can skip it. If it isn't too hard,
> please consider it...  Also, what's the behavior of the failure?

I have created review D38388 (https://reviews.freebsd.org/D38388)
to make kbdcontrol fall back to the old ioctl() invocation when
executed on an old kernel. Without this patch, kbdcontrol can load
the "normal" key codes when run on an old kernel, but the dead key
table will not be loaded or displayed (i.e. accented characters
defined in the dead key table will not be accessible on the console).

I'd appreciate approval of the patches, and would apply D38381 first
and D38388 on top to allow it to be reverted after a grace period
(of a length to be determined).

I have tested all combinations of the kernel and userland patches
and verified correct results.

But it may already be too late to get these patches into 13-STABLE
before 13.2 is tagged. These patches fix an issue that affects some
people (with accented characters above 255).

The keymaps with dead key combinations that generate character codes
above 255 are:

	centraleuropean.kbd
	centraleuropean.qwerty.kbd
	cz.kbd
	fr.bepo.kbd
	gr.101.acc.kbd
	gr.elot.acc.kbd
	gr.kbd
	sk.kbd

Regards, STefan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ba94697b-55ee-24d3-f3f7-cca6a7d09d15>