XKB: french layout with OSS variant, "flawless" version (no more xkbcomp warnings)
shell: further TeXlive netinstall support.master
parent
86c02a9694
commit
e8adcc1c9d
|
@ -1,9 +1,9 @@
|
|||
# -*- mode: snippet -*-
|
||||
# contributor : Xavier Danaux <xdanaux@gmail.com>
|
||||
# contributor : Pierre Neidhardt <ambrevar at gmail dot com> 2012-04-27
|
||||
# key: let
|
||||
# key: letter
|
||||
# group: skeleton
|
||||
# name: \documentclass{article} ...
|
||||
# name: \documentclass{article} % Letter style
|
||||
# --
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\documentclass[12pt]{article}
|
||||
|
|
|
@ -3,13 +3,15 @@ amsfonts
|
|||
amsmath
|
||||
beamer
|
||||
bigfoot
|
||||
collection-latex
|
||||
colortbl
|
||||
easylist
|
||||
ec
|
||||
enctex
|
||||
eso-pic
|
||||
eurosym
|
||||
etoolbox
|
||||
eukdate
|
||||
eurosym
|
||||
fancyhdr
|
||||
fix2col
|
||||
geometry
|
||||
|
@ -31,3 +33,4 @@ wrapfig
|
|||
xargs
|
||||
xcolor
|
||||
zapfding
|
||||
lm
|
|
@ -767,15 +767,24 @@ fi
|
|||
## TeXlive
|
||||
if [ -d "/usr/local/texlive" ]; then
|
||||
|
||||
## Warning: it is important to set umask properly, otherwise users might
|
||||
## not have authorization to use the packages.
|
||||
|
||||
## TODO: It is dirty to invoke a subshell several times.
|
||||
## Would be better to pass one parameter, then to tokenize it.
|
||||
|
||||
tli ()
|
||||
{
|
||||
## Warning: it is important to set umask properly, otherwise users might
|
||||
## not have authorization to use the packages.
|
||||
## TODO: It is dirty to invoke a subshell several times.
|
||||
## Would be better to pass one parameter, then to tokenize it.
|
||||
for i ; do
|
||||
sudo bash -c 'umask 022 && tlmgr install "$0"' "$i"
|
||||
done
|
||||
}
|
||||
|
||||
tlr ()
|
||||
{
|
||||
for i ; do
|
||||
sudo bash -c 'umask 022 && tlmgr remove "$0"' "$i"
|
||||
done
|
||||
}
|
||||
|
||||
fi
|
||||
|
|
|
@ -10,23 +10,23 @@ umask 027
|
|||
|
||||
## Path
|
||||
export PATH=.:$PATH
|
||||
export MANPATH=/usr/local/man:$MANPATH
|
||||
export INFOPATH=/usr/local/info:$INFOPATH
|
||||
|
||||
## TeXlive
|
||||
# TEXDIR="${TEXDIR:-/usr/local/texlive}"
|
||||
# if [ -d "${TEXDIR}" ]; then
|
||||
# TEXYEAR=$(/bin/ls -1r "${TEXDIR}" | grep -m1 "[0-9]\{4\}")
|
||||
# TEXDISTRO=$(uname | tr "[[:upper:]]" "[[:lower:]]")
|
||||
# TEXFOLDER="${TEXDIR}/${TEXYEAR}/bin/$(uname -m)-${TEXDISTRO}/"
|
||||
# if [ -d "${TEXFOLDER}" ]; then
|
||||
# export PATH=${TEXFOLDER}:$PATH
|
||||
# fi
|
||||
# unset TEXYEAR
|
||||
# unset TEXDISTRO
|
||||
# unset TEXFOLDER
|
||||
# fi
|
||||
# unset TEXDIR
|
||||
TEXDIR="${TEXDIR:-/usr/local/texlive}"
|
||||
if [ -d "${TEXDIR}" ]; then
|
||||
TEXYEAR=$(/bin/ls -1r "${TEXDIR}" | grep -m1 "[0-9]\{4\}")
|
||||
TEXDISTRO=$(uname -m)-$(uname | tr "[[:upper:]]" "[[:lower:]]")
|
||||
TEXFOLDER="${TEXDIR}/${TEXYEAR}/bin/${TEXDISTRO}/"
|
||||
if [ -d "${TEXFOLDER}" ]; then
|
||||
export PATH=${TEXFOLDER}:$PATH
|
||||
export MANPATH=${TEXDIR}/${TEXYEAR}/texmf/doc/man:$MANPATH
|
||||
export INFOPATH=${TEXDIR}/${TEXYEAR}/texmf/doc/info:$INFOPATH
|
||||
fi
|
||||
unset TEXYEAR
|
||||
unset TEXDISTRO
|
||||
unset TEXFOLDER
|
||||
fi
|
||||
unset TEXDIR
|
||||
|
||||
## Enable color support of ls.
|
||||
if [ "$TERM" != "dumb" ]; then
|
||||
|
|
|
@ -0,0 +1,118 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// XKB Custom french keyboard
|
||||
// 2012-09-07
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// This is used to fix the conflicts generated by chain-includes from original
|
||||
// files.
|
||||
|
||||
partial default alphanumeric_keys
|
||||
xkb_symbols "basic" {
|
||||
|
||||
// Default for latin languages.
|
||||
include "latin"
|
||||
|
||||
// Original "level3(ralt_switch)" is messy, so we use our own one (see below).
|
||||
include "frex(ralt_switch)"
|
||||
|
||||
// Not very useful?
|
||||
include "nbsp(level4n)"
|
||||
|
||||
// Useless if you do not have level5 keys.
|
||||
// include "level5(rctrl_switch)"
|
||||
|
||||
// Not so common keypad. Might be messy.
|
||||
// include "keypad(oss)"
|
||||
|
||||
// Here follows the Xorg "oss" variant of the french keyboard.
|
||||
name[Group1]="French (alternative)";
|
||||
|
||||
// First row
|
||||
key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸
|
||||
key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨
|
||||
key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É
|
||||
key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘
|
||||
key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin)
|
||||
key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin)
|
||||
key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable)
|
||||
key <AE07> { [ egrave, 7, grave, Egrave ] }; // è 7 ` È
|
||||
key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™
|
||||
key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç
|
||||
key <AE10> { [ agrave, 0, at, Agrave ] }; // à 0 @ À
|
||||
key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠
|
||||
key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + } ±
|
||||
|
||||
// Second row
|
||||
key <AD01> { [ a, A, ae, AE ] }; // a A æ Æ
|
||||
key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; // z Z â Â
|
||||
key <AD03> { [ e, E, EuroSign, cent ] }; // e E € ¢
|
||||
key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê
|
||||
key <AD05> { [ t, T, thorn, THORN ] }; // t T þ Þ
|
||||
key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y ÿ Ÿ
|
||||
key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û
|
||||
key <AD08> { [ i, I, icircumflex, Icircumflex ] }; // i I î Î
|
||||
key <AD09> { [ o, O, oe, OE ] }; // o O œ Œ
|
||||
key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; // p P ô Ô
|
||||
key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚
|
||||
key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø
|
||||
|
||||
// Third row
|
||||
key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä
|
||||
key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „
|
||||
key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë
|
||||
key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚
|
||||
key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥
|
||||
key <AC06> { [ h, H, eth, ETH ] }; // h H ð Ð
|
||||
key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü
|
||||
key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ï
|
||||
key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; // l L ŀ Ŀ
|
||||
key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö
|
||||
key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
|
||||
key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄
|
||||
|
||||
// Fourth row
|
||||
key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥
|
||||
key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “
|
||||
key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ”
|
||||
key <AB03> { [ c, C, copyright, registered ] }; // c C © ®
|
||||
key <AB04> { [ v, V, 0x100202F, leftarrow ] }; // v V ⍽ ← (espace fine insécable)
|
||||
key <AB05> { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑
|
||||
key <AB06> { [ n, N, notsign, rightarrow ] }; // n N ¬ →
|
||||
key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ …
|
||||
key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅
|
||||
key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕
|
||||
key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ −
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
// RALT (a.k.a. Alt_Gr) modifier.
|
||||
//
|
||||
// The Xorg issue comes from the definition from 'symbol/pc(pc104)' where RALT
|
||||
// is defined as a
|
||||
//
|
||||
// type[Group1]="TWO_LEVEL"
|
||||
//
|
||||
// whereas it is defined as a
|
||||
//
|
||||
// type[Group1]="ONE_LEVEL"
|
||||
//
|
||||
// in 'level3'. Since we do not want to change the original file, there is two
|
||||
// possible fixes:
|
||||
//
|
||||
// * Instead of using 'level3', we use our own TWO_LEVEL definition.
|
||||
//
|
||||
// * We use our own definition of pc104. The user needs to specify the new
|
||||
// geometry explicitely, either in Xorg config or with setxkbmap.
|
||||
//
|
||||
// TODO: if the next section is put before the alphabetical section, it messes up. Why?
|
||||
|
||||
partial modifier_keys
|
||||
xkb_symbols "ralt_switch" {
|
||||
key <RALT> {
|
||||
type[Group1]="TWO_LEVEL",
|
||||
symbols[Group1] = [ ISO_Level3_Shift , ISO_Level3_Shift ]
|
||||
};
|
||||
modifier_map Mod5 { ISO_Level3_Shift };
|
||||
};
|
3
README
3
README
|
@ -37,8 +37,7 @@ only. A more convenient solution:
|
|||
|
||||
|
||||
Some applications will need extra dependencies other than the default ones. You
|
||||
might have a look at the .arch-pkg-explicit* files to see what software I've
|
||||
been using.
|
||||
might have a look at the .pkg-* files to see what software I've been using.
|
||||
|
||||
Final word: do not forget to read the manpages!
|
||||
|
||||
|
|
Loading…
Reference in New Issue