Scan code examples
Figure : Scan codes for US Keyboard hardware
Figure : Scan codes for European Keyboard hardware
Note the different placement of scan codes between these two types of keyboards. For example, scan code 0x2b is on the second row of the US keyboard, but is at the end of the third row of the European keyboard. Scan code 0x56 is an additional scan code on the European keyboard, which is not on the US keyboard. The shape of the enter key is also different.
(Note also that these maps here do not show other keys such as the numeric keypad or the function keys; since those types of keys do not change when the language of the keyboard changes.)
Scan code values in the hardware are invariant. Allowing scan codes to change would make the support of multiple languages exceptionally difficult.