Give pfSense the possibility to change the keyboard Layout for console users
In pfSense 2.4.4 you can choose a keyboard Layout during installation but the selection won't affect the system. Keyboard Layout on the console (not SSH) will remain qwerty, no matter what.
Even after installation you cannot change the layout permanently. In the GUI there's no option to change the keyboard layout.
There are commands like kbdmap or kbdcontrol but they will not change the layout persistently.
Especially when you set pfSense to ask for a password for console users in System / Advanced / Admin Access / Console Options / Console Menu, which I think should be default, users will have problems entering their password if they are not familiar with qwerty layout. Passwords should contain special characters, right?
Updated by Viktor Gurov about 3 years ago
Updated by Jens Groh about 1 year ago
Just as a side note as I'm stumbling over this time and time again after setting up new boxes:
The selection that can be choosen while installing pfSense for the keyboard layout are void. They are never correctly saved or applied since 2.4-era up until 2.6/22.05 now. In our example we select DE for german keyboard layout and every time the installation is complete and the first boot occurs the keyboard is back to english/default behavior which switches from QWERTZ back to QWERTY and also switches around various special chars etc. so you don't have a meaningful way to enter your root password on the console if you have secured the console with a login.
That is simply bad behavior. And yes we can/could work around with creating a shellcmd in the UI with the de.kbd keyboard layout but why can one select the correct layout at installation when it isn't taken into accord and saved persistent and correctly? That always seemed wrong to us.
On another node: with DE layout special "umlaut" characters like ä/ö/ü aren't available in 2.4/2.5/2.6 series, but in 2.7dev and 23.01 Beta, those do work, so it seems that the support is either better or some files/stuff wasn't let out that made a problem?