Configuring xrdp for UK keyboard layout

Published on Author roving_adventurer2 Comments

When using xrdp to access the GUI on my headless Raspberry Pi’s I quickly discovered that the keyboard mapping was wrong, with the Pi defaulting to a US keyboard mapping. I tried hanging these settings in the GUI interface to no avail. After scouting around on the net I discovered that a new keyboard mapping file needs to be installed as part of the xrdp configuration in order for xrdp to correctly work with UK keyboards. Robin at Component Parts has provided the file: km-0809.ini. Copy this to /etc/xrdp, them execute:

% sudo chown xrdp.xrdp /etc/xrdp/km-0809.ini
% sudo chmod 644 /etc/xrdp/km-0809.ini
% sudo systemctl xrdp restart

Thanks for Component Parts for this fix.

2 Responses to Configuring xrdp for UK keyboard layout

  1. As of May 2018 the names of the XRDP keyboard files have changed by adding four zeros in front of the ‘0809’ so it would appear the GB keyboard file now needs to be km-00000809.ini. I tried renaming an old file with the additional 4 zeros and then followed the instructions above but the keyboard mapping does not change.

    My keyboard mapping appears to be correct remotely until XRDP starts as I can log in and two of the misplaced keys is used in my password.

    Any fixes for the new version ?

    • After some more research I found a page that recommended the following:
      (from last post on https://www.raspberrypi.org/forums/viewtopic.php?t=181873)

      edit the /etc/xrdp/xrdp_keyboard.ini file to include:
      after
      [default_rdp_layouts]
      add
      rdp_layout_gb=0x00000809

      after
      [default_layouts_map]
      add
      rdp_layout_gb=gb

      I had to edit the file as a user so I then changed the ownership of the new file to root and did a chmod 644

      I then rebooted the pi and all was Ok. Not sure why this is now required when all you had to do with the old configuration was provide the km-0809.ini file that was missing.

Leave a Reply

Your email address will not be published. Required fields are marked *