added support for different keyboard layouts