X was designed to be portable between machines with different keyboard hardware. It provides a way to map physical or logical keys to characters of a national language. An application can modify the keyboard mapping, which can cause aberrant behavior in other applications.