[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Knoppix'S days over?



Le 1 Août 2007 00:51, gilpel@altern.org a écrit :

> I will find the keyboard I presently use and send it to you.
> Incorporate it and I'll try it.

The keyboard which is missing in the most recent releases of KDE is 
the following:

http://en.wikipedia.org/wiki/
Image:KB_Canadian_Multilingual_Standard.svg

I checked on a Windows Vista system and it is still present. So, it is 
still considered in use, I suppose. Who removed it from KDE? Nobody 
will ever know. Any mother fucker can wreck havoc and not be 
accountable for it. That's what *I* call a problem in the development 
model: no one is held responsible of anything.

In KDE 3.1.4, you can get this keyboard by selecting the canadian 
("canadien" in french, keyboard).  It apparently calls the following 
file, which I attach:

/etc/X11/xkb/symbols/ca

Notice that is not the same as /etc/X11/xkb/symbols/ca_enhanced

Apparently, there's also a file for the Canadian_Multilingual_Standard 
keyboard to be used at the console. It's attached as 

cn-latin1.txt

A map.gz file should be made of this one and it should be included as:

/usr/share/kbd/keymaps/i386/qwerty/cn-latin1.map.gz

IANAP, but this is to the best of my knowledge. If this keyboard is 
included in the next release candidate, I will say if it works OK.

Regards!

Gilles Pelletier
# Clavier canadien pour le français et l'anglais CAN/CSA Z243.200-92
# http://externe.net/clavier-normalise
# Seuls les symboles typographiés sur le clavier sont accessibles.
# Copyright (c) 2001,2002 Guylhem Aznar <claviernormalise @ externe.net>
#
# Abbréviations :
#
# Shift  = « Majuscule, sélection de niveau 2 »
# Caps   = « Verrouillage des majuscules »
# AltGr  = « Alternative, sélection du niveau 3 »
# CtrlGr = « Contrôle, sélection de groupe »
#  ____
# | S X| M = Shift,  X = CtrlGr+Shift       _________ _____________ _______
# | n C| n = normal, C = CtrlGr            | Compose | Arrêt défil | Pause |
# | a  | a = AltGr                         |  Ferme  | Mem/Reg/Ste | Halte |
#  ¯¯¯¯                                     ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
#  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ________
# | \ ­| ! ¡| @  | # £| $ ¤| %  | ?  | &  | *  | ( ±| )  | _ ¿| +  |        |
# | /  | 1 ¹| 2 ²| 3 ³| 4 ¼| 5 ½| 6 ¾| 7  | 8  | 9  | 0  | -  | = ¸|  <---  |
# | |  |    |    |    |    |    |    | {  | }  | [  | ]  |    | ¬  |        |
#  ==========================================================================
# | |<-  | Q  | W  | E  | R ®| T  | Y ¥| U  | I  | O Ø| P Þ| ¨ °| Ç ¯|   ,  |
# |      | q  | w  | e  | r ¶| t  | y  | u  | i  | o ø| p þ| ^  | ç ~|   |  |
# |  ->| |    |    |    |    |    |    |    |    |    |    | `  | ~  | <-'  |
#  ====================================================================¬    |
# | CAPS  | A Æ| S §| D Ð| F ª| G  | H  | J  | K  | L  | :  | È  |  À  |    |
# | LOCK  | a æ| s ß| d ð| f  | g  | h  | j  | k  | l  | ; '| è  |  à  |    |
# |       |    |    |    |    |    |    |    |    |    | °  |    |     |    |
#  =========================================================================
# |     | Ù ¦| Z  | X  | C ©| V  | B  | N  | M º| ' ×| " ÷| É  |            |
# |SHIFT| ù  | z  | x  | c ¢| v  |    |    |   µ| ,  | . ·| é  |   SHIFT    |
# |     |    | «  | »  |    |    |    |    |    | <  | >  | /  |            |
#  =========================================================================
# |      |      |      |                       |       |      |      |      |
# | Ctrl | Con+ | Alt  | Espace E. non séquant | ALTGR | Con- | Con  |CTRLGR|
# |      |      |      |                       |       |      |      |      |
#  ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯
#
# ************ 1. Control & Alt
#
# Les définitions de Alt & Control (touche) sont *NORMALEMENT* implicites ;
# elle n'ont donc pas été redéfinis car le clavier cn ne diffère pas du
# clavier us pour les 26 lettres de l'alphabet.
#
# ************ 2. Les touches supplémentaires des claviers 105 touches
#
# Celles-ci servent à changer de console très facilement :
#		Fenêtre Gauche : décrémente console
#		Fenêtre Droite : incrémente console
#		Souris sur menu : précédente console
#
# ************ 3. Hexadécimal :
#
# Shift (touche du pavé numérique) permet de taper de l'héxadécimal.
#
# ************ 4. Fonctions :
#
# Redémarrer ou arrêter l'ordinateur, sont disponibles directement au clavier
#
#		Control Alt Delete : redémarrer
#		Control Alt End : arrêter
#
# Ajouter pour ces deux fonctions les lignes suivantes à /etc/inittab :
#
#		ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now
#		kb:12345:kbrequest:/sbin/halt
#
# ************ 5. Accentuations :
#
# Aucun raccourci pour les applications ne supportant pas les touches
# mortes n'a été rajouté, vu que la plupart des applications actuelles
# supportent les touches mortes.
#
# Si vous avez besoin de tels raccourcis, signalez-le moi !
#

charset "iso-8859-1"

keycode   0 =

keycode   1 = Escape

keycode   2 = +one +exclam VoidSymbol
	ctrlr keycode 2 = onesuperior
	ctrlr shift keycode 2 = exclamdown

keycode   3 = +two +at VoidSymbol
	ctrlr keycode 3 = twosuperior
	ctrlr shift keycode 3 = VoidSymbol

keycode   4 = +three +numbersign VoidSymbol
	ctrlr keycode 4 = threesuperior
	ctrlr shift keycode 4 = sterling

keycode   5 = +four +dollar VoidSymbol
	ctrlr keycode 5 = onequarter
	ctrlr shift keycode 5 = currency

keycode   6 = +five +percent VoidSymbol
	ctrlr keycode 6 = onehalf
	ctrlr shift keycode 6 = VoidSymbol

keycode   7 = +six +question VoidSymbol
	ctrlr keycode 7 = threequarters
	ctrlr shift keycode 7 = VoidSymbol

keycode   8 = +seven +ampersand braceleft
	ctrlr keycode 8 = VoidSymbol
	ctrlr shift keycode 8 = VoidSymbol

keycode   9 = +eight +asterisk braceright
	ctrlr keycode 9 = VoidSymbol
	ctrlr shift keycode 9 = VoidSymbol

keycode  10 = +nine +parenleft bracketleft
	ctrlr keycode 10 = VoidSymbol
	ctrlr shift keycode 10 = plusminus

keycode  11 = +zero +parenright bracketright
	ctrlr keycode 11 = VoidSymbol
	ctrlr shift keycode 11 = VoidSymbol

keycode  12 = +minus +underscore VoidSymbol
	ctrlr keycode 12 = VoidSymbol
	ctrlr shift keycode 12 = questiondown

keycode  13 = +equal +plus notsign
	ctrlr keycode 13 = dead_cedilla
	ctrlr shift keycode 13 = VoidSymbol

keycode  14 = Delete BackSpace
	altgr control keycode 14 = VoidSymbol
	control alt keycode 14 = VoidSymbol

keycode  15 = Tab
	control keycode 15 = Meta_Tab
	alt keycode 15 = Last_Console

keycode  16 = +q +Q VoidSymbol
	ctrlr keycode 16 = VoidSymbol
	ctrlr shift keycode 16 = VoidSymbol

keycode  17 = +w +W VoidSymbol
	ctrlr keycode 17 = VoidSymbol
	ctrlr shift keycode 17 = VoidSymbol

keycode  18 = +e +E VoidSymbol
	ctrlr keycode 18 = VoidSymbol
	ctrlr shift keycode 18 = VoidSymbol

keycode  19 = +r +R VoidSymbol
	ctrlr keycode 19 = paragraph
	ctrlr shift keycode 19 = registered

keycode  20 = +t +T VoidSymbol
	ctrlr keycode 20 = VoidSymbol
	ctrlr shift keycode 20 = VoidSymbol

keycode  21 = +y +Y VoidSymbol
	ctrlr keycode 21 = VoidSymbol
	ctrlr shift keycode 21 = yen

keycode  22 = +u +U VoidSymbol
	ctrlr keycode 22 = VoidSymbol
	ctrlr shift keycode 22 = VoidSymbol

keycode  23 = +i +I VoidSymbol
	ctrlr keycode 23 = VoidSymbol
	ctrlr shift keycode 23 = VoidSymbol

keycode  24 = +o +O VoidSymbol
	ctrlr keycode 24 = oslash
	ctrlr shift keycode 24 = Oslash

keycode  25 = +p +P VoidSymbol
	ctrlr keycode 25 = thorn
	ctrlr shift keycode 25 = THORN

keycode  26 = dead_circumflex dead_diaeresis dead_grave
# n'existe pas... donc remplacé par le seul symbole qui peut
# supporter ce caractère diacritique : a
#	ctrlr shift keycode 26 = dead_degree
	ctrlr keycode 26 = aring
	ctrlr shift keycode 26 = Aring

keycode  27 = +ccedilla +Ccedilla tilde
	ctrlr keycode 27 = dead_tilde
	ctrlr shift keycode 27 = macron

keycode  28 = Return
        alt     keycode  28 = 0x080d
        altgr   keycode  28 = Linefeed

keycode  29 = Control

keycode  30 = +a +A VoidSymbol
	ctrlr keycode 30 = ae
	ctrlr shift keycode 30 = AE

keycode  31 = +s +S VoidSymbol
	ctrlr keycode 31 = ssharp
	ctrlr shift keycode 31 = section

keycode  32 = +d +D VoidSymbol
	ctrlr keycode 32 = eth
	ctrlr shift keycode 32 =  ETH

keycode  33 = +f +F VoidSymbol
	ctrlr keycode 33 = VoidSymbol
	ctrlr shift keycode 33 = ordfeminine

keycode  34 = +g +G VoidSymbol
	ctrlr keycode 34 = VoidSymbol
	ctrlr shift keycode 34 = VoidSymbol

keycode  35 = +h +H VoidSymbol
	ctrlr keycode 35 = VoidSymbol
	ctrlr shift keycode 35 = VoidSymbol

keycode  36 = +j +J VoidSymbol
	ctrlr keycode 36 = VoidSymbol
	ctrlr shift keycode 36 = VoidSymbol

keycode  37 = +k +K VoidSymbol
	ctrlr keycode 37 = VoidSymbol
	ctrlr shift keycode 37 = VoidSymbol

keycode  38 = +l +L VoidSymbol
	ctrlr keycode 38 = VoidSymbol
	ctrlr shift keycode 38 = VoidSymbol

keycode  39 = +semicolon +colon degree
	ctrlr keycode  39 = dead_acute
	ctrlr shift keycode 39 = VoidSymbol

keycode  40 = +egrave +Egrave VoidSymbol
	ctrlr keycode 40 = VoidSymbol
	ctrlr shift keycode 40 = VoidSymbol

keycode  41 = +slash +backslash bar
	ctrlr keycode 41 = VoidSymbol
	ctrlr shift keycode 41 = hyphen

keycode  42 = CapsShift

keycode  43 = +agrave +Agrave VoidSymbol
	ctrlr keycode 43 = VoidSymbol
	ctrlr shift keycode 43 = VoidSymbol

keycode  44 = +z +Z guillemotleft
	ctrlr keycode 44 = VoidSymbol
	ctrlr shift keycode 44 = VoidSymbol

keycode  45 = +x +X guillemotright
	ctrlr keycode 45 = VoidSymbol
	ctrlr shift keycode 45 = VoidSymbol

keycode  46 = +c +C VoidSymbol
	ctrlr keycode 46 = cent
	ctrlr shift keycode 46 = copyright

keycode  47 = +v +V VoidSymbol
	ctrlr keycode 47 = VoidSymbol
	ctrlr shift keycode 47 = VoidSymbol

keycode  48 = +b +B VoidSymbol
	ctrlr keycode 48 = VoidSymbol
	ctrlr shift keycode 48 = VoidSymbol

keycode  49 = +n +N VoidSymbol
	ctrlr keycode 49 = VoidSymbol
	ctrlr shift keycode 49 = VoidSymbol

keycode  50 = +m +M VoidSymbol
	ctrlr keycode 50 = mu
	ctrlr shift keycode 50 = degree

keycode  51 = +comma +apostrophe less
	ctrlr keycode 51 = VoidSymbol
	ctrlr shift keycode 51 = multiply

keycode  52 = +period +quotedbl greater
	ctrlr keycode 52 = periodcentered
	ctrlr shift keycode 52 = division

keycode  53 = +eacute +Eacute slash
	ctrlr keycode 53 = VoidSymbol
	ctrlr shift keycode 53 = VoidSymbol

keycode  54 = CapsShift

keycode  55 = asterisk Hex_A Hex_D

keycode  56 = Alt

keycode  57 = space space space
	ctrlr keycode 57 = nobreakspace
	ctrlr shift keycode 57 = VoidSymbol
	control keycode  57 = nul
	alt     keycode  57 = Meta_space
#
# Au choix Caps_Lock ou Caps_On, avec des raccourcis pour les
# personnes n'ayant pas l'usage de leurs 2 mains.
#
keycode  58 = Caps_Lock
        shift   keycode  58 = Shift_Lock
        control keycode  58 = Control_Lock
        alt     keycode  58 = Alt_Lock
        altgr   keycode  58 = AltGr_Lock

keycode  59 = F1 F11 Console_13
	alt keycode 59 = Console_1
	control alt keycode 59 = Console_1

keycode  60 = F2 F12 Console_14
	alt keycode 60 = Console_2
	control alt keycode 60 = Console_2

keycode  61 = F3 F13 Console_15
	alt keycode 61 = Console_3
	control alt keycode 61 = Console_3

keycode  62 = F4 F14 Console_16
	alt keycode 62 = Console_4
	control alt keycode 62 = Console_4

keycode  63 = F5 F15 Console_17
	alt keycode 63 = Console_5
	control alt keycode 63 = Console_5

keycode  64 = F6 F16 Console_18
	alt keycode 64 = Console_6
	control alt keycode 64 = Console_6

keycode  65 = F7 F17 Console_19
	alt keycode 65 = Console_7
	control alt keycode 65 = Console_7

keycode  66 = F8 F18 Console_20
	alt keycode 66 = Console_8
	control alt keycode 66 = Console_8

keycode  67 = F9 F19 Console_21
	alt keycode 67 = Console_9
	control alt keycode 67 = Console_9

keycode  68 = F10 F20 Console_22
	alt keycode 68 = Console_10
	control alt keycode 68 = Console_10

keycode  69 = Num_Lock Bare_Num_Lock

keycode  70 = Scroll_Lock Show_Memory Show_Registers
	control keycode  70 = Show_State

keycode  71 = seven Hex_7
	alt keycode  71 = Ascii_7

keycode  72 = eight Hex_8
	alt keycode  72 = Ascii_8

keycode  73 = nine Hex_9
	alt keycode  73 = Ascii_9

keycode  74 = minus Hex_B Hex_E
	alt keycode  74 = minus

keycode  75 = four Hex_4
	alt keycode 75 = Ascii_4

keycode  76 = five Hex_5
	alt keycode 76 = Ascii_5

keycode  77 = six Hex_6
	alt keycode  77 = Ascii_6

keycode  78 = plus Hex_C Hex_F
	alt keycode 78 = plus

keycode  79 = one Hex_1
	alt keycode 79 = Ascii_1

keycode  80 = two Hex_2
	alt keycode 80 = Ascii_2

keycode  81 = three Hex_3
	alt keycode 81 = Ascii_3

keycode  82 = zero Hex_0
	alt keycode 82 = Ascii_0

keycode  83 = period comma

#
# La touche AltGr+«Impr. Écran» = «SysReq» a un code pour elle-même
#
keycode  84 = SAK

keycode  85 =

keycode  86 = +ugrave +Ugrave VoidSymbol
	ctrlr keycode 86 = brokenbar
	ctrlr shift keycode 86 = VoidSymbol

keycode  87 = F11 F11 Console_23
	alt keycode 87 = Console_11
	control alt keycode 87 = Console_11

keycode  88 = F12 F12 Console_24
	alt keycode 88 = Console_12
	control alt keycode 88 = Console_12

keycode  89 =

keycode  90 =

keycode  91 =

keycode  92 =

keycode  93 =

keycode  94 =

keycode  95 =

keycode  96 = Return

#
# Alt+ClrtGr permet de faire Compose
#
keycode  97 = CtrlR
	alt keycode 97 = Compose

keycode  98 = slash

#
# La touche «Impr. Écran» ne sert à rien sous Linux, alors mettons-y «Compose»
#
keycode  99 = Compose

#
# Alt+AltGr permet aussi de faire compose
#
keycode 100 = AltGr
	alt keycode 100 = Compose

#
# La touche Ctrl+Pause = Attn = 101 a un code pour elle-même
#
keycode 101 = Break

keycode 102 = Home

# Spawn_Console & KeyboardSignal ont changé de signification
keycode 103 = Up
#	alt keycode 103 = Spawn_Console

keycode 104 = PageUp
	shift keycode 104 = Scroll_Backward

keycode 105 = Left
	alt keycode 105 = Decr_Console

keycode 106 = Right
	alt keycode 106 = Incr_Console

keycode 107 = End
#	altgr control keycode 107 = KeyboardSignal
#	control alt keycode 107 = KeyboardSignal
	altgr control keycode 107 = Spawn_Console
	control alt keycode 107 = Spawn_Console

keycode 108 = Down
	alt keycode 108 = Last_Console

keycode 109 = PageDown
	shift keycode 109 = Scroll_Forward

keycode 110 = Insert

keycode 111 = Remove BackSpace
	alt keycode 111 = Boot 
	control keycode 111 = Boot

keycode 112 = Macro

keycode 113 = F13

keycode 114 = F14

keycode 115 = Help

keycode 116 = Do

keycode 117 = F17

keycode 118 = plusminus

keycode 119 = Pause

keycode 120 =

keycode 121 =

keycode 122 =

keycode 123 =

keycode 124 =

#
# Touches supplémentaires des claviers 105 touches
#

#
# Fenêtre gauche = Console précédente
#
keycode 125 = Decr_Console Incr_Console
#
# Fenêtre droite = Console suivante
#
keycode 126 = Incr_Console Decr_Console
#
# Menu = Dernière console
#
keycode 127 = Last_Console

string Home = "\033[1~"
string Insert = "\033[2~"
string Remove = "\033[3~"
string End = "\033[4~"
string PageUp = "\033[5~"
string PageDown = "\033[6~"
string Macro = "\033[M"
string Pause = "\033[P"
string F1 = "\033[[A"
string F2 = "\033[[B"
string F3 = "\033[[C"
string F4 = "\033[[D"
string F5 = "\033[[E"
string F6 = "\033[17~"
string F7 = "\033[18~"
string F8 = "\033[19~"
string F9 = "\033[20~"
string F10 = "\033[21~"
string F11 = "\033[23~"
string F12 = "\033[24~"
string F13 = "\033[25~"
string F14 = "\033[26~"
string F15 = "\033[28~"
string F16 = "\033[29~"
string F17 = "\033[31~"
string F18 = "\033[32~"
string F19 = "\033[33~"
string F20 = "\033[34~"
string F21 = "\033[35~"
string F22 = "\033[36~"
string F23 = "\033[37~"
string F24 = "\033[38~"
string F25 = "\033[39~"
string F26 = "\033[40~"
string F27 = "\033[41~"
string F28 = "\033[42~"
string F29 = "\033[43~"
string F30 = "\033[44~"
string F31 = "\033[45~"
string F32 = "\033[46~"
string F33 = "\033[47~"
string F34 = "\033[48~"
string F35 = "\033[49~"

# Pour le Latin1 & le Latin9
compose '`' 'A' to 'À'
compose '`' 'a' to 'à'
compose '\'' 'A' to 'Á'
compose '\'' 'a' to 'á'
compose '^' 'A' to 'Â'
compose '^' 'a' to 'â'
compose '~' 'A' to 'Ã'
compose '~' 'a' to 'ã'
compose '"' 'A' to 'Ä'
compose '"' 'a' to 'ä'
compose '-' 'a' to 'ª'
compose '-' 'A' to 'ª'
compose 'O' 'A' to 'Å'
compose 'o' 'A' to 'Å'
compose 'O' 'a' to 'å'
compose 'o' 'a' to 'å'
compose '0' 'A' to 'Å'
compose '0' 'a' to 'å'
compose '°' 'A' to 'Å'
compose '°' 'a' to 'å'
compose 'A' 'A' to 'Å'
compose 'a' 'a' to 'å'
compose 'A' 'E' to 'Æ'
compose 'A' 'e' to 'Æ'
compose 'a' 'e' to 'æ'
compose ',' 'C' to 'Ç'
compose ',' 'c' to 'ç'
compose '^' 'C' to 'Ç'
compose '^' 'c' to 'ç'
compose '`' 'E' to 'È'
compose '`' 'e' to 'è'
compose '\'' 'E' to 'É'
compose '\'' 'e' to 'é'
compose '^' 'E' to 'Ê'
compose '^' 'e' to 'ê'
compose '"' 'E' to 'Ë'
compose '"' 'e' to 'ë'
compose '`' 'I' to 'Ì'
compose '`' 'i' to 'ì'
compose '\'' 'I' to 'Í'
compose '\'' 'i' to 'í'
compose '^' 'I' to 'Î'
compose '^' 'i' to 'î'
compose '"' 'I' to 'Ï'
compose '"' 'i' to 'ï'
compose '-' 'D' to 'Ð'
compose '-' 'd' to 'ð'
compose '^' 'D' to 'Ð'
compose '^' 'd' to 'ð'
compose '~' 'N' to 'Ñ'
compose '~' 'n' to 'ñ'
compose '^' 'N' to 'Ñ'
compose '^' 'n' to 'ñ'
compose 'n' 'n' to 'ñ'
compose 'n' 'h' to 'ñ'
compose 'N' 'Y' to 'Ñ'
compose 'N' 'N' to 'Ñ'
compose 'N' 'H' to 'Ñ'
compose 'N' 'y' to 'Ñ'
compose 'N' 'n' to 'Ñ'
compose 'N' 'h' to 'Ñ'
compose '`' 'O' to 'Ò'
compose '`' 'o' to 'ò'
compose '\'' 'O' to 'Ó'
compose '\'' 'o' to 'ó'
compose '^' 'O' to 'Ô'
compose '^' 'o' to 'ô'
compose '~' 'O' to 'Õ'
compose '~' 'o' to 'õ'
compose '"' 'O' to 'Ö'
compose '"' 'o' to 'ö'
compose '/' 'O' to 'Ø'
compose '/' 'o' to 'ø'
compose '-' 'o' to 'º'
compose '-' 'O' to 'º'
compose '`' 'U' to 'Ù'
compose '`' 'u' to 'ù'
compose '\'' 'U' to 'Ú'
compose '\'' 'u' to 'ú'
compose '^' 'U' to 'Û'
compose '^' 'u' to 'û'
compose '"' 'U' to 'Ü'
compose '"' 'u' to 'ü'
compose '\'' 'Y' to 'Ý'
compose '\'' 'y' to 'ý'
compose 'T' 'H' to 'Þ'
compose 't' 'h' to 'þ'
compose 's' 's' to 'ß'
compose 'S' 'S' to '§'
compose '+' '-' to '±'
compose '|' '-' to '¬'
compose '-' '|' to '¬'
compose '|' '_' to '¬'
compose '_' '|' to '¬'
compose 's' 'z' to 'ß'
compose 's' 's' to 'ß'
compose '^' '1' to '¹'
compose '^' '2' to '²'
compose '^' '3' to '³'
compose '<' '<' to '«'
compose '>' '>' to '»'
compose '?' '?' to '¿'
compose '^' '?' to '¿'
compose '!' '!' to '¡'
compose '^' '!' to '¡'
compose '-' 'y' to '¥'
compose '-' 'Y' to '¥'
compose '-' 'c' to '¢'
compose '-' 'C' to '¢'
compose '-' 'l' to '£'
compose '-' 'L' to '£'
compose '(' 'c' to '©'
compose '(' 'r' to '®'
compose 'm' 'u' to 'µ'
compose '^' '!' to '¡'
compose '^' '?' to '¿'
compose '^' '-' to '¯'
compose '^' '_' to '¯'
compose '^' '.' to '·'
compose '^' 'x' to '×'
compose '^' 'X' to '×'
compose '^' '*' to '×'
compose '^' 'x' to '×'
compose '^' 'X' to '×'
compose '^' '*' to '×'
compose '^' '/' to '÷'
compose '<' '<' to '«'
compose '>' '>' to '»'
compose '"' 'c' to '©'
compose '"' 'r' to '®'
compose '"' 'y' to 'ÿ'
compose 'i' 'j' to 'ÿ'
# Spécifique au Latin9
#compose '"' 'Y' to '¾'
#compose 'I' 'J' to '¾'
#compose '-' 'e' to '¤'
#compose '-' 'E' to '¤'
#compose '=' 'e' to '¤'
#compose '=' 'c' to '¤'
#compose '=' 'E' to '¤'
#compose '=' 'C' to '¤'
#compose 'e' '=' to '¤'
#compose 'c' '=' to '¤'
#compose 'E' '=' to '¤'
#compose 'C' '=' to '¤'
#compose '^' 'S' to '¦'
#compose '^' 's' to '¨'
#compose '^' 'Z' to '´'
#compose '^' 'z' to '¸'
#compose 'v' 'S' to '¦'
#compose 'v' 's' to '¨'
#compose 'v' 'Z' to '´'
#compose 'v' 'z' to '¸'
#compose 'O' 'E' to '¼'
#compose 'O' 'e' to '¼'
#compose 'o' 'e' to '½'
#compose '"' 'Y' to '¾'
// $Xorg: ca,v 1.3 2000/08/17 19:54:42 cpqbld Exp $




// $XFree86: xc/programs/xkbcomp/symbols/ca,v 3.8 2001/05/18 23:35:35 dawes Exp $

default partial alphanumeric_keys 
xkb_symbols "basic" {
     
     // Describes the differences between a very simple en_US
     // keyboard and a very simple Canadian keyboard
     // This layout conforms to the CAN/CSA-Z243.200-92 standard

    name[Group1]= "Canadian";

    // Alphanumeric section
    // CAN/CSA-Z243.200-92 calls this key "AE00"
    key <TLDE> {
		type[Group1]= "THREE_LEVEL",
		symbols[Group1]= [ slash, backslash, bar ],
// The standard calls for a soft hyphen, but X doesn't declare
//  a keysym for soft_hyphen.
//		symbols[Group2]= [ NoSymbol, soft_hyphen ]
		symbols[Group2]= [ NoSymbol, hyphen ]
    };
    key <AE04> {	[	  4,	dollar		],	
			[onequarter,    currency	]	};
    key <AE06> {	[	  6,	question	],	
			[threequarters,  fiveeighths	]	};
    key <AE07> {	
		type[Group1]= "THREE_LEVEL",
		symbols[Group1]= [ 7,	ampersand, 	braceleft 	],
		symbols[Group2]= [ 7,   seveneighths			]
    };
    key <AE08> {
		type[Group1]= "THREE_LEVEL",
		symbols[Group1]= [ 8,	asterisk,	braceright 	],
		symbols[Group2]= [ 8,	trademark			]
    };
    key <AE09> {
		type[Group1]= "THREE_LEVEL",
		symbols[Group1]= [ 9,	parenleft,	bracketleft	],
		symbols[Group2]= [ 9,	plusminus ]
    };
    key <AE10> {
		type[Group1]="THREE_LEVEL",
		type[Group2]="THREE_LEVEL",
		symbols[Group1]= [ 0,	parenright,	bracketright	],
		symbols[Group2]= [ 0,	parenright,	bracketright	]
    };
    key <AE11> {	
		symbols[Group1]= [ minus,	underscore		],
		symbols[Group2]= [ minus,	questiondown		]
    };
    key <AE12> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]= [ equal, plus, notsign			],
		symbols[Group2]= [ dead_cedilla, dead_ogonek		]
    };
// once again, CAN/CSA-Z243-200.0 defines a key for which there is no
// symbol.
//    key <AD03> {	[	  e,	E		],
//			[	 oe,	OE		]		};
    key <AD11> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[ dead_circumflex, dead_diaeresis, dead_grave ],
		symbols[Group2]=[ NoSymbol, dead_abovering ]
    };
    key <AD12> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[ ccedilla, Ccedilla, asciitilde ],
		symbols[Group2]=[ dead_tilde, dead_macron ]
    };
    key <AC03> {	[	  d,	D		],
			[ 	eth,	Dstroke		]	};
// CAN/CSA-Z243.200-92 calls for ij and IJ ligatures on group two of
// this key, but X doesn't define keysyms for them.  Put them here but
// comment them out.
//    key <AC07> {	[	  j,	J		],
//			[	 ij,	IJ		]	};
    key <AC08> {	[	  k,	K		],	
			[  	  kra			]	};
    key <AC10> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]= [ semicolon, colon, degree ],
		symbols[Group2]= [ dead_acute, dead_doubleacute ]
    };
    key <AC11> {	[    egrave,    Egrave		],	
			[  NoSymbol,	dead_caron	]	};
// CAN/CSA-Z243.200-92 calls this key C12 on "47-key" keyboards
// or D13 on "48-key" keyboards.
    key <BKSL> {        [    agrave,    Agrave          ],      
                        [  NoSymbol,	dead_breve      ]       };
    key <LSGT> {	[    ugrave,	Ugrave		],
			[    ugrave,	brokenbar	]	};
    key <AB01> {
		type="THREE_LEVEL",
		symbols[Group1]= [ z, Z, guillemotleft ],
		symbols[Group2]= [ z, Z, guillemotleft ]
    };
    key <AB02> {
		type="THREE_LEVEL",
		symbols[Group1]= [ x, X, guillemotright ],
		symbols[Group2]= [ x, X, guillemotright ]
    };
    key <AB04> {	[	  v,	V		],	
			[leftdoublequotemark,leftsinglequotemark]	};
    key <AB05> {	[	  b,	B		],	
			[rightdoublequotemark,rightsinglequotemark]	};
//  Neither apostrophen (apostrophe followed by n) or musical note
//  are legal keysyms.  Leave the definition here until they get
//  defined, but comment it out for now.
//    key <AB06> {	[	  n,	N		],
//			[ apostrophen, musicnote	]	};
    key <AB08> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]= [ comma, apostrophe, less ],
		symbols[Group2]= [ horizconnector, multiply ]
    };
    key <AB09> {
		type[Group1]= "THREE_LEVEL",
		symbols[Group1]= [ period, quotedbl, greater ],
		symbols[Group2]= [ periodcentered, division ]
    };
    key <AB10> {	[    eacute,	Eacute		],	
			[    NoSymbol, 	dead_abovedot	]	};
    key <RCTL> {        [ ISO_Level3_Shift              ]       };

    modifier_map Mod5   { <RCTL> };

};
partial alphanumeric_keys 
xkb_symbols "alternate" {
    include "ca(basic)"
    key <TLDE> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[slash, backslash,bar],
		symbols[Group2]=[dead_diaeresis      ]
		};
    key <AE07> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[7, ampersand,braceleft],
		symbols[Group2]=[seveneighths          ]
		};
    key <AE08> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[8, asterisk,braceright],
		symbols[Group2]=[trademark             ]
		};
    key <AE09> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[9, parenleft,bracketleft],
		symbols[Group2]=[plusminus     		 ]
		};
    key <AE10> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[0, parenright,bracketright],
		symbols[Group2]=[                          ]
		};
    key <AE12> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[equal, plus,notsign],
		symbols[Group2]=[dead_cedilla,dead_ogonek]
		};
    key <AD11> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[dead_circumflex,dead_diaeresis,dead_grave],
                symbols[Group2]=[dead_abovering]
		};
    key <AD12> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[ccedilla,Ccedilla,asciitilde],
                symbols[Group2]=[dead_tilde,dead_macron]
		};
    key <AC10> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[semicolon,colon,degree],
                symbols[Group2]=[dead_acute,dead_doubleacute]
		};
    key <AB01> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[z,Z,guillemotleft],
                symbols[Group2]=[                 ]
		};
    key <AB02> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[x,X,guillemotright],
                symbols[Group2]=[                  ]
		};
    key <AB08> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[comma,apostrophe,less],
                symbols[Group2]=[horizconnector,multiply]
		};
    key <AB09> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[period,quotedbl,greater],
                symbols[Group2]=[periodcentered,division]
		};
    key <SPCE> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[space,space,nobreakspace]
		};
    // End alphanumeric section

    // begin modifier mappings

    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};

partial alphanumeric_keys 
xkb_symbols "Sundeadkeys" {
    include "ca(basic)"
    key <AE12> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]= [ equal, plus, notsign		],
		symbols[Group2]= [ SunFA_Cedilla, dead_ogonek	]
    };
    key <AD11> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[ SunFA_Circum, SunFA_Diaeresis, SunFA_Grave ],
		symbols[Group2]=[ NoSymbol, dead_abovering ]
    };
    key <AD12> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[ ccedilla, Ccedilla, asciitilde ],
		symbols[Group2]=[ SunFA_Tilde, dead_macron ]
    };
    key <AC10> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]= [ semicolon, colon, degree ],
		symbols[Group2]= [ SunFA_Acute, dead_doubleacute ]
    };

};

partial alphanumeric_keys 
xkb_symbols "sundeadkeys" {
    include "ca(Sundeadkeys)"
};

partial alphanumeric_keys 
xkb_symbols "nodeadkeys" {
    include "ca(basic)"
    key <AE12> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]= [ equal, plus, notsign		],
		symbols[Group2]= [ cedilla, ogonek		]
    };
    key <AD11> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[ asciicircum, diaeresis, grave ],
		symbols[Group2]=[ NoSymbol, degree ]
    };
    key <AD12> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]=[ ccedilla, Ccedilla, asciitilde ],
		symbols[Group2]=[ asciitilde, macron ]
    };
    key <AC10> {
		type[Group1]="THREE_LEVEL",
		symbols[Group1]= [ semicolon, colon, degree ],
		symbols[Group2]= [ acute, doubleacute ]
    };
    key <AC11> {	[    egrave,    Egrave		],	
			[  NoSymbol,	caron		]	};
    key <BKSL> {        [    agrave,    Agrave          ],      
                        [  NoSymbol,	breve      	]       };

};


Reply to: