15

Is is possible to switch between keyboard and input languages on raspbian? My wife needs to type thai language and I need english. In windows we have a hot key swap between keyboards.

Can this be done on the Pi?

1
  • 2
    There is a very detailed answer on Ubuntu site explaining how to set keyboard layout in LXDE. It applies to Raspbian as well. Nov 10, 2016 at 15:18

6 Answers 6

6

I haven't tested this, but I assume that you can change the keyboard layout in the same way as on a normal Debian install. Raspbian uses LXDE as its desktop environment, so you can follow their instructions:

setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,th

See http://wiki.lxde.org/en/Change_keyboard_layouts (and also http://wiki.debian.org/Keyboard) for more information.

0
27

There is a quick graphical way to change the keyboard layouts, the toggle key-combination and have a panel indicator at the same time.

  1. Right click on the panel and choose Add/Remove Panel Items
  2. Click Add
  3. Click 'Keyboard Layout Handler`
  4. Click Close
  5. Right click on the flag that appears on the panel
  6. Choose 'Keyboard Layout Handler Settings'
  7. Uncheck Keep system layouts
  8. Add the layouts you need and change the toggling keycombo to your liking
  9. Smile :-)

How to change keybooard layouts permanently

3
  • 2
    Still doesn't seem to persist reboots though
    – qwazix
    Nov 11, 2016 at 13:25
  • 1
    There is a reset after reboot. How do I save my settings? Apr 13, 2018 at 18:50
  • Hurray! Works even after reboot. See my answer below. Apr 13, 2018 at 20:21
5

try for Raspbian GNU/Linux 9.4 (stretch)

sudo nano /home/pi/.config/lxpanel/LXDE-pi/panels/panel

At the end of the file change to

Plugin {
  type=xkb
  Config {
    Model=pc105
    LayoutsList=us,ru
    VariantsList=,
    ToggleOpt=grp:alt_shift_toggle
    KeepSysLayouts=0
    DisplayType=0
  }
}

Save and reboot system.

4
  • 1
    confirm, it works and persists Mar 14, 2020 at 8:24
  • 1
    April 2020 - same problem, this worked. Thanks a lot.
    – SLCH000
    Apr 15, 2020 at 12:51
  • Jan 2021 - the file at /home/pi/.config/... was missing, adding the plugin to a new file didn't work. I had to copy the file over from /etc/xdg/lxpanel/LXDE-pi/panels/panel and append the plugin to that.
    – glagolig
    Jan 17, 2021 at 20:21
  • I change this line LayoutsList=us,ir for double keyboard layout Persian and English. Thanks!
    – user140301
    Oct 29, 2021 at 0:10
0

This Keyboard Layout Handler is broken since May 2015 and still doesn-t work even with the new Pixel interface. That's why I still use the old February 2015 version of Raspbian. I tested all the newer versions with many keyboards with no success. It seems it is a bug in the software. Whatever you do, the close button doesn-t work. You may try to manually edit "/home/pi/.config/lxpanel/LXDE-pi/panels/panel" and add the languages you prefer, but when you reboot you have to uncheck again "keep system layouts" from the Keyboard Layout Handler, which is somehow inconvenient.

Anyway, this is only a temporary solution. We hope they will fix the broken button once for all and make a functional system.

1
  • 1
    The close button doesn't work but the settings are saved if you close through the x button on the window. The reboot issue still exists though.
    – qwazix
    Jan 29, 2017 at 20:48
0

change this file:

/etc/default/keyboard

for keyboard languages (for example):

XKBLAYOUT="us,ir"
XKBOPTIONS="grp:switch,grp:alt_shift_toggle,grp_led:scroll"
0

It is true that after rebooting the settings aren't saved. Although, there is one way to fix it fast every time. You can create a bash executable that fixes it and run it at the start of raspberry pi.

Command Line: sudo nano language.sh

Now type the following:

#!/bin/bash
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,gr
echo "You can now use more than one languages!"

Exit nano with CTRL-X.

Command Line: sudo chmod +x hello-world.sh

When you start the raspi you just run on command line: ./language.sh

Not the answer you're looking for? Browse other questions tagged or ask your own question.