Solved Anne Pro keyboard has wrong layout after the boot menu

I have an Obins Anne Pro v1 70% keyboard, I want to use it simultaneously with a normal Logitech one. The Logitech keyboard has a Hungarian layout. I changed the layout to United States America with kbdmap and connected the keyboard with an USB cable. The layout is totally off. I got "a" in the console when I press backspace for example. Maybe the problem is not with the layout, but it is some sort of driver issue, idk. Any idea how to make it work?
 
Are you testing on the "real" console or in your GUI (X11) terminal application? For X11, you must set the keyboard layout explicitely, it does not take what is set for the console, but en_US by default.
 
Are you testing on the "real" console or in your GUI (X11) terminal application? For X11, you must set the keyboard layout explicitely, it does not take what is set for the console, but en_US by default.
I used the xorg terminal. I'll check how to do it, thanks!
 
Test on the real console 1st! Press <CTRL>+<ALT>+<F3> to switch to the 3rd virtual console, and invoke kbdmap
EDIT ;) : Install the docs: pkg install {de,en}-freebsd-doc, replace de with your native tongue, and point your browser to /usr/local/share/doc/freebsd
 
Are you testing on the "real" console or in your GUI (X11) terminal application? For X11, you must set the keyboard layout explicitely, it does not take what is set for the console, but en_US by default.
Looks like it is not the layout. I added the us layout in KDE, but it does not change a thing, as expected (the Hungarian "a" should be the same as the US "a"). I think the problem is that the keyboard model is set to 101 key generic, but I have no idea what to choose from the list. This keyboard is not on the list.
 
Very likely your best off choosing 105 keys international. I guess this because you have an hungarian keyboard, right? How many keys does this Obins Anne Pro have? I edited my previous post, please reload.
 
Very likely your best off choosing 105 keys international. I guess this because you have an hungarian keyboard, right? How many keys does this Obins Anne Pro have? I edited my previous post, please reload.
The Hungarian one works properly with the 101 key generic. The Anne Pro needs something different. I just need an NKRO keyboard for that computer temporarily, so it is not an issue if the Hungarian one does not work.
 
Test on the real console 1st! Press <CTRL>+<ALT>+<F3> to switch to the 3rd virtual console, and invoke kbdmap
EDIT ;) : Install the docs: pkg install {de,en}-freebsd-doc, replace de with your native tongue, and point your browser to /usr/local/share/doc/freebsd
I tried it out, but it is the same as in xorg, just as I expected. The problem is not with the layout. It should give "a" by pressing "a" for hungarian layout too. Instead of it most of the keys don't do anything on my anne pro and I got "a" when I press backspace. It works on Windows out of the box and according to what I read on MacOSX and on Linux too. Idk why it does not work with BSD.
 
I checked the UEFI and the "escape to loader prompt" by the boot menu. It works properly in both, so something is loaded by FreeBSD which interferes with it and I cannot use it from the login screen. I don't think it is an x-server related issue, because it does not work in the FreeBSD console either. I have no idea how to debug it further.
 
Compare the keyboard mappings of Linux & FreeBSD. See /usr/share/vt/keymaps/ and /usr/local/share/X11/xkb/{geometry,keycodes}/. There is no "Olbins Anne Pro", so it's just that FreeBSD does not know about this (exotic) keyboard. If it has a non-standard key mapping, e.g. you get an "a" when you press <BACKSPC>. If Linux has one, copy it over (also compare the standard ones, there might be differences you'll have to patch into the new file, too).
 
Compare the keyboard mappings of Linux & FreeBSD. See /usr/share/vt/keymaps/ and /usr/local/share/X11/xkb/{geometry,keycodes}/. There is no "Olbins Anne Pro", so it's just that FreeBSD does not know about this (exotic) keyboard. If it has a non-standard key mapping, e.g. you get an "a" when you press <BACKSPC>. If Linux has one, copy it over (also compare the standard ones, there might be differences you'll have to patch into the new file, too).
But if it not standard, then why does it work in UEFI and in the rescue console? It does not make sense. So far I changed the "/etc/rc.conf" and set `keymap = "no"`. I guess for x11 I have to change it too somewhere to return to the defaults. At least I guess it should work with the defaults. I suspect though that for this keyboard FreeBSD loads a bad keymap, but I am not familiar with FreeBSD internals. What I see that before loading FreeBSD it works properly along with the Logitech, but after loading FreeBSD only the Logitech works properly. So I guess FreeBSD handles the two keyboards differently.
 
Hmm. Yes, you're right. I can not help here any further, except pointing to atkbd(4) and atkbdc(4). Consider to ask at the appropiate mailing list or filing in a bug report.
I am not sure where to send a bug report. I tried to contact with the keyboard manufacturer, but no response yet.
I'll try to reinstall freebsd with that keyboard only, maybe that solves it, or makes things even worse lol. :D
 
https://bugs.freebsd.org/ select base system and then you'll see. For mailing lists see http://www.freebsd.org, top menu, I think it's Community or Support? There are plenty of lists, choose one or two you think fits bests, and kindly ask the developers what they think.
Somebody wrote that FreeBSD does not support NKRO keyboards and that might be the issue. I don't know. I'll ask the developers what they think. Thanks!
I think I try the freebsd-hardware mailing list.
 
Is NKRO different from usual hungarian keyboard layout?
No, it is n-key rollover, which means it should be able to handle pressing all keys simultaneously. Regular keyboards can handle maybe 2-3 keys. I need at least 5 keys for gaming.
 
OK. I thought it's s/th like QWERTZ vs. QWERTY. Then it's clear this must be handled special. The data format must be different from normal keyboards, who can encode all relevant information into 2-3 bytes. An NKRO obviously needs at least as many bits as there are keys, i.e. many more than 24 bits. You'll have to re-write or port the Linux driver for BSD.
The reason that it worked in BIOS might be that the kernel driver sends an initialization message to the keyboard at boot, which makes it to switch from normal to NKRO mode? I guess it's USB, and AFAIK there are such init sequence "chats" between device and driver. This way, the keyboard engineers made shure the keyboard can be used in BIOS early, before the OS is booted.
 
OK. I thought it's s/th like QWERTZ vs. QWERTY. Then it's clear this must be handled special. The data format must be different from normal keyboards, who can encode all relevant information into 2-3 bytes. An NKRO obviously needs at least as many bits as there are keys, i.e. many more than 24 bits. You'll have to re-write or port the Linux driver for BSD.
The reason that it worked in BIOS might be that the kernel driver sends an initialization message to the keyboard at boot, which makes it to switch from normal to NKRO mode? I guess it's USB, and AFAIK there are such init sequence "chats" between device and driver. This way, the keyboard engineers made shure the keyboard can be used in BIOS early, before the OS is booted.
There is a bug report here, maybe it is related: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=181425
 
Currently 12.2-RELEASE what contains iichid and supports the keyboard. I tried to install iichid to 12.1-RELEASE as a kernel module, but it did not work, so better to use 12.2+ from this perspective.
 
Back
Top