If you do not like your keyboard layout or the layout you are using is very close to perfection but some keys could be re-mapped to different location there is a easy fix. Tool like xmodmap will help you to achieve a this perfection by helping you customize you keyboard layout. Here is how it goes:
First you need to obtain current key mappings and this is done by following command:
this will reveal that :
keycode 16 = 7 ampersand
keycode 17 = 8 asterisk
this means that keycode 16 is attached to number 7 and when SHIFT is held the ampersand will be active. If for some reason there is a need to change this behavior one would create a .Xmodmap within a $HOME directory with the following lines:
keycode 16 = 8 asterisk
keycode 17 = 7 ampersand
which means that 8 asterisk will be mapped to keycode 16 and vice versa. Activate this key board re-map with:
to go back to the previous settings just repeat the last two steps or quit current session. To make this change permanent make sure that xmodmap $HOME/.Xmodmap is executed when a session is created.
NOTE: do not abuse xmodmap to make a fun from your fellow colleagues :-)
xmodmap can also be used to map more functionalities to your keyboard since some keys may not be in use.