How to change system keyboard keymap layout on CentOS 7 Linux

The easiest way to swap between keymaps and thus temporarily set keys to different language by use of loadkeys command. If the loadkeys command is unavailable install kbd package:

# yum install kbd

As for an example the following linux command will temporarily change system’s keymap to Slovak:

# loadkeys sk
Loading /lib/kbd/keymaps/xkb/

To list all available keymaps on your CentOS system run:

# localectl list-keymaps

The above command will produce few hundreds of entries and thus it is recommended to narrow down the search by piping the STDOUT to grep. For example the following linux command will list all United States related keymaps:

# localectl list-keymaps | grep ^us

To permanently change keymap on CentOS 7 to eg. us keymap run the localectl command:

# localectl set-keymap us

To confirm your permanent keymap settings execute the localectl command without any arguments:

# localectl 
   System Locale: LANG=en_AU.UTF-8
       VC Keymap: us
      X11 Layout: us
       X11 Model: pc105+inet
     X11 Options: terminate:ctrl_alt_bksp