Well, I was deep reading into setxkbmap options and changing layouts posts, but I don't find what I need. The problems is the following:

I have a laptop running Fedora 23 Cinnamon Spin, the laptop use es_latam layout, but in the office I use an USB keyboard with es_ES layout. I have both layouts configured in the OS, but I have to change it manually.

The question is: Is there a way to detect what keyboard I'm using and set the keyboard automatically according to this ?

1 Answer 1


How about a shortcut in tray ?

Keyboard layout Indicator

Command line solution:

System-wide locale settings are stored in the /etc/locale.conf file, which is read at early boot by the system daemon

To show the current settings, use the status option:

localectl status

you might see a result like this

~]$ localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: n/a
  • list keymaps: localectl list-keymaps

  • change console keymap: localectl set-keymap jp106

  • change x11 keymap: localectl set-x11-keymap us

if you want to set British English as your default locale, first find the name of this locale by using list-locales. Then, as root, type the command in the following form

localectl set-locale LANG=en_GB.utf8
  • The best approach i found was with the cinnamon keyboard options, where there is an option to change keyboard distribution with a key. I personally use the scroll lock button (because i don't use it to anything else). In the System Configuration -> Keyboard (Hardware Section) the tab "Layouts" have an "Options" buttons, and the "Change Layout" option is there. Sorry if i'm mistaken with the names, but my Fedora is in Spanish.
    – X3MBoy
    Mar 8, 2016 at 12:47
  • Glad to see that your issue got resolved.
    – Raju
    Mar 8, 2016 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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