Index | Thread | Search

From:
Crystal Kolipe <kolipe.c@exoticsilicon.com>
Subject:
Re: patch for Czech (cz) console keyboard
To:
Jiri Navratil <jiri@navratil.cz>
Cc:
tech@openbsd.org
Date:
Mon, 27 Jul 2026 11:37:28 -0000

Download raw body.

Thread
Hi,

On Mon, Jul 27, 2026 at 12:59:35PM +0200, Jiri Navratil wrote:
> on tty (not with X). There is not yet Czech QWERTZ keyboard.
> 
> I prepared enclosed patch for adding it.

Great, but there are a couple of issues:

> +#define KS_EuroSign		0x20ac

Use KS_currency

> --- sys/dev/wscons/wsemul_subr.c
> +++ sys/dev/wscons/wsemul_subr.c
> @@ -559,6 +559,15 @@
>  int
>  wsemul_local_translate(u_int32_t unisym, kbd_t layout, u_char *out)
>  {
> +	/*
> +	 * There is no Euro sign in the 8-bit encoding. Substitute
> +	 * with a clearly-a-substitution placeholder.
> +	 */
> +	if (unisym == KS_EuroSign) {
> +		*out = '?';
> +		return (1);
> +	}
> +

No, this is not the correct approach.

Most common 8-bit encodings which are extensions of 7-bit ASCII, place the
euro currency symbol at 0xA4.

Historically, (before the introduction of the euro currency symbol), this was
a generic, 'currency symbol', which saw little use in practice.  The codepoint
was subsequently re-used specifically for the euro currency symbol.

The wscons console fonts that are currently included with OpenBSD, (both
spleen and gallant), have the old currency symbol at this codepoint.

This is a font issue.  The correct encoding on the console is 0xA4.