# the keyboard settings in the beastie menu



## vince66 (Jan 2, 2018)

Hello guys,

below I report the lines of the 'show' command of the baestie menu about the keyboard settings:

```
hint.atkbd.0.at=atkbdc
hint.atkbd.0.irq=1
hint.atkbdc.0.at= isa
hint.atkbdc.0.port=0x060
```
Please, can you enlighten me about them? What means every lines?
Are there settable values?

Are there information about them on the FreeBSD online documentation ?

Thanks very much !

Best Regards.


----------



## SirDice (Jan 2, 2018)

See device.hints(5).


----------



## vince66 (Jan 2, 2018)

very good !

 Thanks a lot !


----------



## vince66 (Jan 2, 2018)

What it seems strange to me is that the FreeBSD O.S. has not possibility to recognize (automatically) at boot level the type of a keyboard language and doesn't give the possibility to set this value in the hint.device parameters at boot level.

It seems that it only works with the english layout.

ShelLuser replied me in the thread: FreeBSD live CD - a wonderful O.S. (https://forums.freebsd.org/threads/63924/#post-371011) that it seems to be no possible do a similar setting at beastie menu level.

If so, I've no problem: if FreeBSD only boots in english, I'll buy an english layout keyboard.

Please, I'm only searching  a confirmation. Most of you live in different countries. Which type of keyboard do you use ? Only the english one ?

Thanks in advance.

Regards.


----------



## SirDice (Jan 2, 2018)

vince66 said:


> Which type of keyboard do you use ? Only the english one ?


I always use US keyboards, I can't even deal with those EU type keyboards. Muscle memory just won't allow me to use anything else


----------



## mrclksr (Jan 2, 2018)

vince66 said:


> ShelLuser replied me in the thread: FreeBSD live CD - a wonderful O.S. (https://forums.freebsd.org/threads/63924/#post-371011) that it seems to be no possible do a similar setting at beastie menu level.


That's right. You have to build the kernel with

```
options UKBD_DFLT_KEYMAP
makeoptions UKBD_DFLT_KEYMAP=yourlayout.iso
```
 if you want FreeBSD to boot with a keyboard layout other than us.iso

See atkbd(4)


----------



## chrbr (Jan 2, 2018)

mrclksr said:


> That's right. You have to build the kernel with
> 
> ```
> options UKBD_DFLT_KEYMAP
> ...


Thank you, I did not know that. But can it be just typo or an outdated man page? atkbd(4) and /usr/src/sys/amd64/conf/Notes mention `ATKBD` instead of `UKBD`. I guess `KBD_INSTALL_CDEV` is not to be changed?


----------



## mrclksr (Jan 2, 2018)

chrbr said:


> But can it be just typo or an outdated man page?


Sorry, my fault. This is from ukbd(4). atkbd(4) says:

```
The following example shows how to set the default, built-in keymap to
jp.106.kbd.
           device atkbdc
           options ATKBD_DFLT_KEYMAP
           makeoptions ATKBD_DFLT_KEYMAP=jp.106
           device atkbd
```


----------



## chrbr (Jan 2, 2018)

Dear mrclksr,


mrclksr said:


> Sorry, my fault.


Now I know what to do next since I have an USB keyboard. Thank you !


----------



## mrclksr (Jan 2, 2018)

chrbr said:


> Now I know what to do next since I have an USB keyboard. Thank you !


Cheers!


----------



## Snurg (Jan 3, 2018)

SirDice said:


> I always use US keyboards, I can't even deal with those EU type keyboards. Muscle memory just won't allow me to use anything else


Not only this... it's also the Alt-Gr contortionism I cannot stand. As programmer you need []{} much more than accent chars etc.

However, I do *not* like standard US keyboards, as the \ key is placed very inconveniently between Enter and BS.
As IBM Model M user it's easy   I just use German keyboards and exchange the keycaps with US ones, except the \ 

P.S.: Old keyboards also have a real space bar instead of annoying Windows logos


----------



## vince66 (Jan 3, 2018)

Thanks very much guys !!!


----------



## SirDice (Jan 3, 2018)

Snurg said:


> Not only this... it's also the Alt-Gr contortionism I cannot stand. As programmer you need []{} much more than accent chars etc.


My biggest annoyance is " and @ switching places. I've been typing for at least 30some years, I'm not a full 10 finger typist (more like 6-8 fingers) but I rarely look at the keyboard when I type. So most of the time I just ignore whatever is printed on the keycaps themselves, my fingers automatically find the "right" keys. The "right" keys for a US keyboard though.


----------



## chrbr (Jan 3, 2018)

Dear mrclksr,
building a kernel did not work for me with the messages as below, but I have sc disabled in /etc/src.conf which might cause that issue.

```
cc  -c -O2 -pipe -fno-strict-aliasing  -g -nostdinc  -I. -I/usr/src/sys -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 -MD  -MF.depend.vt_vga.o -MTvt_vga.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-error-address-of-packed-member  -mno-aes -mno-avx  -std=iso9899:1999 -Werror  /usr/src/sys/dev/vt/hw/vga/vt_vga.c^M
--- ukbd.o ---^M
/usr/src/sys/dev/usb/input/ukbd.c:1274:18: error: use of undeclared identifier 'key_map'; did you mean 'fkey_tab'?^M
--- efifb.o ---^M
ctfconvert -L VERSION -g efifb.o^M
--- ukbd.o ---^M
        sc->sc_keymap = key_map;^M
                        ^~~~~~~^M
                        fkey_tab^M
/usr/src/sys/dev/kbd/kbdtables.h:213:18: note: 'fkey_tab' declared here^M
static fkeytab_t fkey_tab[96] = {^M
                 ^^M
/usr/src/sys/dev/usb/input/ukbd.c:1274:16: error: assigning to 'keymap_t' (aka 'struct keymap') from incompatible type 'fkeytab_t [96]'^M
        sc->sc_keymap = key_map;^M
                      ^ ~~~~~~~^M
/usr/src/sys/dev/usb/input/ukbd.c:1275:18: error: use of undeclared identifier 'accent_map'^M
        sc->sc_accmap = accent_map;^M
                        ^^M
3 errors generated.^M
*** [ukbd.o] Error code 1^M
^M
make[2]: stopped in /usr/obj/usr/src/sys/ESPRIMO^M
--- vt_vga.o ---^M
ctfconvert -L VERSION -g vt_vga.o^M
1 error^M
^M
make[2]: stopped in /usr/obj/usr/src/sys/ESPRIMO^M
*** [buildkernel] Error code 2^M
^M
make[1]: stopped in /usr/src^M
1 error^M
^M
make[1]: stopped in /usr/src^M
*** [buildkernel] Error code 2^M
^M
make: stopped in /usr/src^M
1 error^M
^M
make: stopped in /usr/src^M
```
if you have an idea it is fine, if not it is also fine. I have tried different variants of the keymap definition. But basically it is good to know the US keymap by heart. Even if I cannnot type blindly - and hit the expected keys. The seldom moments where to boot in single user mode is a good practice.
Kind regards,
Christoph


----------



## rigoletto@ (Jan 3, 2018)

THIS is solution for your keyboard problems.


----------



## mrclksr (Jan 3, 2018)

chrbr said:


> if you have an idea it is fine, if not it is also fine. I have tried different variants of the keymap definition.



Hi chrbr ,

did you check whether the keymap file exists under /usr/share/vt/keymaps? I could reproduce the build error by defining a nonexistent keymap ([FONT=Courier New]makeoptions UKBD_DFLT_KEYMAP=de.iso[/FONT]). The correct keymap in my case is [FONT=Courier New]de.kbd.[/FONT]


----------



## chrbr (Jan 4, 2018)

Dear mrclksr,
I have tried again but build failed. Then I have deleted the line `options UKBD_DFLT_KEYMAP` and `make buildkernel` has been successful. Afterwards I have added the line to the kernel config file, but the compile process has finished unexpectedly with a positive result. May be the root cause has been an old object file or so.


----------

