Here are two US Keyboard variants for Linux for people specifically needing to type French or Spanish on an otherwise completely normal US layout.

Why??? Because regular variants for typing non-English languages, for example US Alternative International, are targeted at making it possible to type many different languages. To my mind this makes them cumbersome and painful, and reduces typing speed, particularly because deadkeys or nodeadkeys require multiple keystrokes to type a character, which is needlessly difficult for many people's purposes.

I used US Alternative International for years and finally decided to do something about it.

These two layouts are simple, altgr + letter gives you a letter with an accent, (or punctuation), putting the most commonly needed accents on the letters themselves, and the less common ones in hopefully reasonably logical and easy to access locations.

They should be particularly useful for language learners using sites like the wonderful https://kwiziq.com/, but also for anyone just working with those languages for regular emailing, web surfing, etc.

The following images are created using the gkbd-keyboard-display command on Ubuntu 17.10. e.g. gkbd-keyboard-display -l "us(nev-fr)"

Note: altgr is the right alt key, and a long time ago people apparently knew this as meaning Alternative Graphic.


layout = us, variant = nev-fr
layout = us variant = nev-fr


altgr + ` 🡒 è

altgr + a 🡒 à

altgr + e 🡒 é

altgr + u 🡒 ù

altgr + c 🡒 ç

altgr + 5, 6, 7, 8, 9 🡒 â, ê, î, ô, û

    (e is on 6 because it's the same key as ^, and it's the most common, I think)

altgr + ' 🡒 ë

     (because it's the same key as ", and it's the most common, I think)

altgr + -, = 🡒 ï, ü

     (because they are near ë)

altgr + 4 🡒 €

     (because it's the same key as $)

altgr + [, ] 🡒 «, »


layout = us, variant = nev-es
layout = us variant = nev-es


altgr + a 🡒 á

altgr + e 🡒 é

altgr + i 🡒 í

altgr + o 🡒 ó

altgr + u 🡒 ú

altgr + ' 🡒 ü

     (because it's the same key as ")

altgr + n -> ñ

altgr + 4 🡒 €

     (because it's the same key as $)

altgr + [, ] 🡒 «, »

altgr + 1 🡒 ¡

     (because it's the same key as !)

altgr + / 🡒 ¿

     (because it's the same key as ?)


How to Install Them

I've not looked at how keyboard layouts should really be distributed, yet. I probably wont.

Here's how I've done it...

  1. Download this snippet of xkb definition: us.snippet
  2. Paste it into /usr/share/X11/xkb/symbols/us under the basic variant that is the first one defined in the file.
  3. Use your desktop's keyboard configuration tool to select the variant you want to use.

I use the i3 window manager and have done this...

  1. I've set my default variant in /etc/default/keyboard to nev-fr.
  2. I've mapped <mod>+c to run this script called /usr/local/bin/kt. (keyboard toggle)

#!/bin/bash
(setxkbmap -query | grep -q nev-es) && setxkbmap -layout us -variant nev-fr || setxkbmap -layout us -variant nev-es

Make a free website with Yola