Download layout and install it by following shell commands:
wget http://marin.jb.free.fr/qwerty-fr/manual/us_qwerty-fr sudo cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/us.qwerty-fr cat us_qwerty-fr | sudo tee -a /usr/share/X11/xkb/symbols/us_qwerty-fr
Change directory to /usr/share/X11/xkb/
cd /usr/share/X11/xkb/
Edit file rules/evdev.xml1
sudo nano rules/evdev.xml
Locate the <layout> section where configItem/name value is "us". Then, just after <variantList> tag, add section bellow:
<variant> <configItem> <name>qwerty-fr</name> <description>French (qwerty-fr; US with french symbols)</description> <languageList><iso639Id>fra</iso639Id></languageList> </configItem> </variant>
Insert should looks like something like (section inserted in red):
<layoutList> <layout> <configItem> <name>us</name> <shortDescription>USA</shortDescription> <description>USA</description> <languageList> <iso639Id>eng</iso639Id> </languageList> </configItem> <variantList> <variant> <configItem> <name>qwerty-fr</name> <description>French (qwerty-fr; US with french symbols)</description> <languageList> <iso639Id>fra</iso639Id> </languageList> </configItem> </variant> <variant> <configItem> <name>chr</name> <description>Cherokee</description> <languageList> <iso639Id>chr</iso639Id> </languageList> </configItem> </variant>Save and exit editor.
1Conventionally, you would edit evdev.extra.xml, but due to bug #1029979, you have to update evdev.xml anyway.
You will have now to update either rules/base.extras.xml or - if this file does not exists - rules/base.xml or - if both previous files do not found - base.xml.
First verify which file exists:
ls rules/base.extras.xml rules/base.xml base.xml
sudo nano rules/base.extras.xmlor
sudo nano rules/base.xmlor
sudo nano base.xml
Make the same insertion than on file evdev.xml
Save and exit editor
Edit file rules/base.lst
sudo nano rules/evdev.lstLocate the line containing ! variant and insert the line bellow just after
qwerty-fr us: qwerty-fr
! variant qwerty-fr us: qwerty-fr chr us: CherokeeSave and exit editor
Repeat the procedure with file rules/evdev.lst