1# Canadian Multilingual Standard keyboard 2# by Adam Scott (info@adamscott.studio) 3# 4# January 31, 2025 5# 6# Based on French Canadian keyboard 7# by Alexandre Normand (outcast@globetretrotter.net) 8# with the help of Demis (demis@club-internet.fr) 9# 10# July 4, 1999 11 12# alt 13# scan cntrl alt alt cntrl lock 14# code base shift cntrl shift alt shift cntrl shift state 15 000 nop nop nop nop nop nop nop nop O 16 001 esc esc esc esc esc esc debug esc O 17 002 '1' '!' nop nop 0x00A1 0x2248 nop nop O # 0x00A1: '¡', 0x2248: '≈' 18 003 '2' '@' nop nop '@' 0x0131 nop nop O # 0x0131: 'ı' 19 004 '3' '#' nop nop 0x00A3 0x02C6 nop nop O # 0x00A3: '£', 0x02C6: 'ˆ' 20 005 '4' '$' nop nop 0x20AC 0x02DC nop nop O # 0x20AC: '€', 0x02DC: '˜' 21 006 '5' '%' nop nop 0x221E 0xF8FF nop nop O # 0x221E: '∞', 0xF8FF: '' 22 007 '6' '?' nop nop 0x0020 0x2020 nop nop O # 0x0020: ' ', 0x2020: '†' 23 008 '7' '&' nop nop '{' 0x2021 nop nop O # 0x2021: '‡' 24 009 '8' '*' nop nop '}' 0x2022 nop nop O # 0x2022: '•' 25 010 '9' '(' nop nop '[' 0x00B1 nop nop O # 0x00B1: '±' 26 011 '0' ')' nop nop ']' 0x2014 nop nop O # 0x2014: '—' 27 012 '-' '_' nop nop '|' 0x00BF nop nop O # 0x00BF: '¿' 28 013 '=' '+' nop nop 0x00AC 0x2013 nop nop O # 0x00AC: '¬', 0x2013: '–' 29 014 bs bs del del bs bs del del O 30 015 ht btab nop nop ht btab nop nop O 31 016 'q' 'Q' dc1 0x03A9 0x0153 0x0152 nop nop C # 0x03A9: 'Ω', 0x0153: 'œ', 0x0152: 'Œ' 32 017 'w' 'W' etb etb 0x2211 0x2030 nop nop C # 0x2211: '∑', 0x2030: '‰' 33 018 'e' 'E' enq enq 0x2202 0x00AF 0x0153 nop C # 0x2202: '∂', 0x00AF: '¯', 0x0153: 'œ' 34 019 'r' 'R' dc2 0x00AE 0x00B6 0x00AE 0x00B6 dc2 C # 0x00AE: '®', 0x00B6: '¶' 35 020 't' 'T' dc4 dc4 0x2122 0x02D8 dc4 dc4 C # 0x2122: '™', 0x02D8: '˘' 36 021 'y' 'Y' em 0x00A5 0x00A5 0x02DD em em C # 0x00A5: '¥', 0x02DD: '˝' 37 022 'u' 'U' nak nak 0x0020 0x02DB 0x0020 nak C # 0x0020: ' ', 0x02DB: '˛' 38 023 'i' 'I' ht 0x0131 0x03C0 0x220F ht ht C # 0x0131: 'ı', 0x03C0: 'π', 0x220F: '∏' 39 024 'o' 'O' si 0x00D8 0x00F8 0x00D8 0x00F8 si C # 0x00D8: 'Ø', 0x00F8: 'ø' 40 025 'p' 'P' dle dle 0x201C 0x201D dle dle C # 0x201C: '“', 0x201D: '”' 41 026 dcir dcir esc 0x02DA dgra 0x201E esc esc O # 0x02DA: '˚', 0x201E: '„' 42 027 0x00E7 0x00C7 gs gs '~' dtil 0x02DC gs O # 0x00E7: 'ç', 0x00C7: 'Ç', 0x02DC: '˜' 43 028 cr cr nl nl cr cr nl nl O 44 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O 45 030 'a' 'A' soh soh 0x00E6 0x00C6 0x00E6 soh C # 0x00E6: 'æ', 0x00C6: 'Æ' 46 031 's' 'S' dc3 0x00A7 0x00DF 0x00A7 0x00DF dc3 C # 0x00A7: '§', 0x00DF: 'ß' 47 032 'd' 'D' eot eot 0x00AA eot eot eot C # 0x00AA: 'ª' 48 033 'f' 'F' ack ack 0x0192 0xFB02 ack ack C # 0x0192: 'ƒ', 0xFB02: 'fl' 49 034 'g' 'G' bel bel 0xFB02 0xFB01 bel bel C # 0xFB02: '©', 0xFB01: 'fi' 50 035 'h' 'H' bs bs 0x02D9 0x00B7 bs bs C # 0x02D9: '˙', 0x00B7: '·' 51 036 'j' 'J' nl nl 0x2206 0x201A nl nl C # 0x2206: '∆', 0x201A: '‚' 52 037 'k' 'K' vt vt 0x02DA 0x2044 vt vt C # 0x02DA: '˚', 0x2044: '⁄' 53 038 'l' 'L' ff ff 0x00A0 0x2026 ff ff C # 0x00A0: ' ', 0x2026: '…' 54 039 ';' ':' nop nop 0x00B0 dacu 0x00B4 ':' O # 0x00B0: '°', 0x00B4: '´' 55 040 0x00E8 0x00C8 dcir nop '\' 0x2019 nop dcir O # 0x00E8: 'è', 0x00C8: 'È', 0x2019: '’' 56 041 '/' '\' '0' '-' '|' ' ' nop '0' O 57 042 lshift lshift lshift lshift lshift lshift lshift lshift O 58 043 0x00E0 0x00C0 nop nop 0x0060 dgra nop nop O # 0x00E0: 'à', 0x00C0: 'À', 0x0060: '`' 59 044 'z' 'Z' sub sub 0x00AB 0x2039 sub sub C # 0x00AB: '«', 0x2039: '‹' 60 045 'x' 'X' can can 0x00BB 0x203A can can C # 0x00BB: '»', 0x203A: '›' 61 046 'c' 'C' etx 0x00A9 0x00A2 0x2020 etx etx C # 0x00A9: '©', 0x00A2: '¢', 0x2020: '†' 62 047 'v' 'V' syn syn 0x221A 0x25CA 0x201C syn C # 0x221A: '√', 0x25CA: '◊', 0x201C: '“' 63 048 'b' 'B' stx stx 0x222B 0x2264 stx stx C # 0x222B: '∫', 0x2264: '≤' 64 049 'n' 'N' so so 0x00A0 0x2265 so so C # 0x00A0: ' ', 0x2265: '≥' 65 050 'm' 'M' cr 0x00BA 0x00B5 0x00BA 0x00B5 cr C # 0x00BA: 'º', 0x00B5: 'µ' 66 051 ',' ''' nop nop '<' 'x' 0x2014 ',' O # 0x2014: '—' 67 052 '.' '"' nop 0x00F7 '>' 0x00F7 0x00B7 '.' O # 0x00F7: '÷', 0x00B7: '·' 68 053 0x00E9 0x00C9 nop nop '/' 0x2260 nop 0x00E9 C # 0x00E9: 'é', 0x00C9: 'É', 0x2260: '≠' 69 054 rshift rshift rshift rshift rshift rshift rshift rshift O 70 055 '*' '*' '*' '*' '*' '*' '*' '*' O 71 056 lalt lalt lalt lalt lalt lalt lalt lalt O 72 057 ' ' ' ' nul ' ' 0x00A0 0x00A0 susp nop O # 0x00A0: ' ' 73 058 clock clock clock clock clock clock clock clock O 74 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O 75 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O 76 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O 77 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O 78 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O 79 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O 80 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O 81 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O 82 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O 83 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O 84 069 nlock nlock nlock nlock nlock nlock nlock nlock O 85 070 slock slock slock slock slock slock slock slock O 86 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N 87 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N 88 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N 89 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N 90 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N 91 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N 92 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N 93 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N 94 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N 95 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N 96 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N 97 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N 98 083 del '.' '.' '.' '.' '.' boot boot N 99 084 nop nop nop nop nop nop nop nop O 100 085 nop nop nop nop nop nop nop nop O 101 086 0x00F9 0x00D9 duml nop '\' 0x03A9 nop duml O # 0x00F9: 'ù', 0x00D9: 'Ù', 0x03A9: 'Ω' 102 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O 103 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O 104 089 cr cr nl nl cr cr nl nl O 105 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O 106 091 '/' '/' '/' '/' '/' '/' '/' '/' O 107 092 nscr pscr debug debug nop nop nop nop O 108 093 ralt ralt ralt ralt ralt ralt ralt ralt O 109 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O 110 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O 111 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O 112 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O 113 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O 114 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O 115 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O 116 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O 117 102 fkey60 paste fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O 118 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O 119 104 slock saver slock saver susp nop susp nop O 120 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O 121 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O 122 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O 123 108 nop nop nop nop nop nop nop nop O 124 125 dgra '`' ( 'a' 0xe0 ) ( 'A' 0xc0 ) ( 'e' 0xe8 ) ( 'E' 0xc8 ) 126 ( 'i' 0xec ) ( 'I' 0xcc ) ( 'o' 0xf2 ) ( 'O' 0xd2 ) 127 ( 'u' 0xf9 ) ( 'U' 0xd9 ) 128 129 dacu 0xb4 ( 'a' 0xe1 ) ( 'A' 0xc1 ) ( 'e' 0xe9 ) ( 'E' 0xc9 ) 130 ( 'i' 0xed ) ( 'I' 0xcd ) ( 'o' 0xf3 ) ( 'O' 0xd3 ) 131 ( 'u' 0xfa ) ( 'U' 0xda ) ( 'y' 0xfd ) ( 'Y' 0xdd ) 132 133 dcir '^' ( 'a' 0xe2 ) ( 'A' 0xc2 ) ( 'e' 0xea ) ( 'E' 0xca ) 134 ( 'i' 0xee ) ( 'I' 0xce ) ( 'o' 0xf4 ) ( 'O' 0xd4 ) 135 ( 'u' 0xfb ) ( 'U' 0xdb ) 136 137 dtil '~' ( 'a' 0xe3 ) ( 'A' 0xc3 ) ( 'n' 0xf1 ) ( 'N' 0xd1 ) 138 ( 'o' 0xf5 ) ( 'O' 0xd5 ) 139 140 duml 0xa8 ( 'a' 0xe4 ) ( 'A' 0xc4 ) ( 'e' 0xeb ) ( 'E' 0xcb ) 141 ( 'i' 0xef ) ( 'I' 0xcf ) ( 'o' 0xf6 ) ( 'O' 0xd6 ) 142 ( 'u' 0xfc ) ( 'U' 0xdc ) ( 'y' 0xff ) 143