Like most of the Linux distros, elementary OS also sets the default keyboard as ‘English(US)’ type if the layout type is not changed during OS installation. No worries, one need not reinstall the OS just to change keyboard style. In a matter of minutes, you should be able to switch the keyboard layout to one of several other layouts like English (UK), foreign languages, different hardware layouts, etc.. You can either use the GUI way or by the command-line in Terminal. Note that both the methods are not 100% same. The command-line way gives access to several hardware level keyboards, but the GUI way is mostly useful for switching between languages.
Command-line way to change Keyboard layout
STEP 1: Go to ‘Applications’ in the wingpanel and launch ‘Terminal’.
STEP 2: Enter the following command and hit enter.
sudo dpkg-reconfigure keyboard-configuration
In the ncurses style screen within the Terminal you can scroll through several keyboard layouts. Select the layout you want and press tab key to highlight ‘OK’ and then press enter key. Remember, in this environment, the mouse pointer will not work. Most of keyboard layout names are straight forward, but you won’t see ‘UK’ mentioned there. Generic 102/105-key (Intl) PC implies the international version which is for UK.
Change Keyboard Layout from Settings, especially for other Languages
Another way of changing the keyboard layout is from the ‘System Settings’.
STEP 1: Click ‘Power’ icon and select ‘System Settings’.
STEP 2: Click ‘Keyboard’ icon.
STEP 3: Click ‘+’ on the bottom left of the ‘Keyboard’ window.
STEP 4: Add preferred language and click ‘Add Layout’.
STEP 5: The layout gets listed in the left pane. Double-click on it to apply.