On 12/17/2015 12:21, Trond Endrestøl wrote:
On Thu, 17 Dec 2015 11:56+0100, Trond Endrestøl wrote:

On Wed, 16 Dec 2015 16:34-0800, Kevin Oberman wrote:

On Wed, Dec 16, 2015 at 7:34 AM, Carsten Kunze <carsten.ku...@arcor.de>

Trond Endrestøl <trond.endres...@fagskolen.gjovik.no> wrote:

I guess we who live outside the US should take into account that PCs
are initialised by firmware to the US keyboard layout and the 437 code
page, courtesy of IBM, 1981.

In 1981 I had accepted this.  Now it's simply a bug and I wonder it has
not been fixed in 22 years.  I'll file a bug report.

I'm not sure if the creators of (U)EFI has considered other keyboard
layouts and/or code pages at boot time.

I don't care for the BIOS here, the OS has to take care of it.  It may be
ok that at the boot prompt only US keymap is set.  But when the rc scripts
are running the keymap must be set correctly (as one of the first actions).

A bad workaround is to copy the suitable keymap from /usr/share... to
/etc, along with /usr/sbin/kbdcontrol, and add a suitable line to one
or either of /etc/rc.d/geli{,2}, e.g.:

/etc/kbdcontrol -l /etc/german.iso.kbd

kbdcontrol is linked only to libc:

$ ldd `which kbdcontrol`
         libc.so.7 => /lib/libc.so.7 (0x800827000)

In my case it's simpler since I have /usr in /, but as you descripted
kbdcontrol must be in /sbin and the maps in /etc in the future.


You can specify your default keymap in your kernel config file.
ATKBD_DFLT_KEYBD. It's possible that you might be able to set it in
/boot/loader.conf, as well, but I'm not too sure of this. See atkbd(4).

I can confirm that neither ATKBD_DFLT_KEYMAP nor UKBD_DFLT_KEYMAP, nor
SC_DFLT_FONT for that matter, works as intended.

I have never had any success with:

options         SC_DFLT_FONT
makeoptions     SC_DFLT_FONT=iso

options         UKBD_DFLT_KEYMAP
makeoptions     UKBD_DFLT_KEYMAP=norwegian.iso

options         ATKBD_DFLT_KEYMAP
makeoptions     ATKBD_DFLT_KEYMAP=norwegian.iso

Please prove me wrong.

A recent run in stable/10 using r292334, resulted in:

--- ukbd.o ---
cc  -c -O2 -pipe -fno-strict-aliasing  -std=c99 -g -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option  
-Wno-error-tautological-compare -Wno-error-empty-body  
-Wno-error-parentheses-equality -Wno-error-unused-function   -nostdinc  -I. 
-I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/libfdt 
-D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mno-aes -mno-avx 
-mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  
-fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -gdwarf-2   
/usr/src/sys/dev/usb/input/ukbd.c:1216:18: error: use of undeclared identifier 
         sc->sc_keymap = key_map;
/usr/src/sys/dev/usb/input/ukbd.c:1217:18: error: use of undeclared identifier 
         sc->sc_accmap = accent_map;

If your system is configured with VT and not syscons, there exists no
such thing as norwegian.iso(.kbd), but you must use no(.kbd).
See /usr/share/vt/keymaps/INDEX.keymaps.

Furthermore, with VT, there is a chance that the system is configuerd
with kbdmux, which makes things more complicated. There exist patches in
bugzilla adding support of keyboard definitions to kbdmux.

Claude Buisson

freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to