summaryrefslogtreecommitdiff
path: root/keymaps/mac
diff options
context:
space:
mode:
Diffstat (limited to 'keymaps/mac')
-rw-r--r--keymaps/mac/ibook-it.kmap120
-rw-r--r--keymaps/mac/ibook2-uk.kmap995
-rw-r--r--keymaps/mac/include/mac-azerty-layout.inc30
-rw-r--r--keymaps/mac/include/mac-qwerty-layout.inc30
-rw-r--r--keymaps/mac/include/mac-qwertz-layout.inc30
-rw-r--r--keymaps/mac/mac-de-latin1-nodeadkeys.kmap181
-rw-r--r--keymaps/mac/mac-de-latin1.kmap57
-rw-r--r--keymaps/mac/mac-de2-ext.kmap271
-rw-r--r--keymaps/mac/mac-dvorak.kmap79
-rw-r--r--keymaps/mac/mac-es.kmap33
-rw-r--r--keymaps/mac/mac-fi-latin1.kmap68
-rw-r--r--keymaps/mac/mac-fr-ext.kmap298
-rw-r--r--keymaps/mac/mac-fr.kmap123
-rw-r--r--keymaps/mac/mac-fr2-ext.kmap250
-rw-r--r--keymaps/mac/mac-fr3.kmap320
-rw-r--r--keymaps/mac/mac-fr_CH-latin1.imap48
-rw-r--r--keymaps/mac/mac-ibook-de-deadkeys.kmap310
-rw-r--r--keymaps/mac/mac-ibook-de.kmap310
-rw-r--r--keymaps/mac/mac-it.kmap48
-rw-r--r--keymaps/mac/mac-macbook-de.kmap310
-rw-r--r--keymaps/mac/mac-macbook-fr.kmap311
-rw-r--r--keymaps/mac/mac-pl_m-ext.kmap260
-rw-r--r--keymaps/mac/mac-pl_m-ext1.kmap260
-rw-r--r--keymaps/mac/mac-pt-latin1.kmap29
-rw-r--r--keymaps/mac/mac-se.kmap32
-rw-r--r--keymaps/mac/mac-uk.kmap57
-rw-r--r--keymaps/mac/mac-us-dvorak.kmap262
-rw-r--r--keymaps/mac/mac-us-ext.kmap249
-rw-r--r--keymaps/mac/mac-us-std.kmap259
-rw-r--r--keymaps/mac/mac-us.kmap63
30 files changed, 5693 insertions, 0 deletions
diff --git a/keymaps/mac/ibook-it.kmap b/keymaps/mac/ibook-it.kmap
new file mode 100644
index 0000000..ecb0dc6
--- /dev/null
+++ b/keymaps/mac/ibook-it.kmap
@@ -0,0 +1,120 @@
+
+keymaps 0-2,4-5,8,12
+# include "azerty-layout"
+# include "linux-with-alt-and-altgr"
+# include "/usr/share/keymaps/i386/include/euro.inc.gz"
+strings as usual
+
+keycode 1 = Escape Escape
+alt keycode 1 = Meta_Escape
+keycode 2 = ampersand one
+alt keycode 2 = Meta_one
+keycode 3 = quotedbl two asciitilde
+control keycode 3 = nul
+alt keycode 3 = Meta_two
+keycode 4 = apostrophe three numbersign
+control keycode 4 = Escape
+alt keycode 4 = Meta_three
+keycode 5 = parenleft four braceleft
+control keycode 5 = Control_backslash
+alt keycode 5 = Meta_four
+keycode 6 = cedilla five bracketleft
+control keycode 6 = Control_bracketright
+alt keycode 6 = Meta_five
+keycode 7 = egrave six bar
+control keycode 7 = Control_asciicircum
+alt keycode 7 = Meta_six
+keycode 8 = parenright seven grave
+control keycode 8 = Control_underscore
+alt keycode 8 = Meta_seven
+keycode 9 = sterling eight backslash
+control keycode 9 = Delete
+alt keycode 9 = Meta_eight
+keycode 10 = agrave nine asciicircum
+alt keycode 10 = Meta_nine
+keycode 11 = eacute zero at
+alt keycode 11 = Meta_zero
+keycode 12 = minus underscore bracketright
+control keycode 12 = Control_underscore
+alt keycode 12 = Meta_minus
+keycode 13 = equal plus braceright
+alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+alt keycode 15 = Meta_Tab
+keycode 26 = igrave asciicircum
+control keycode 26 = Escape
+alt keycode 26 = Meta_bracketleft
+keycode 27 = dollar asterisk asciitilde
+control keycode 27 = Control_bracketright
+alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 40 = ugrave percent
+control keycode 40 = Control_g
+alt keycode 40 = Meta_apostrophe
+keycode 41 = at numbersign
+control keycode 41 = nul
+alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = Egrave degree
+control keycode 43 = Control_backslash
+alt keycode 43 = Meta_backslash
+keycode 50 = comma question
+keycode 51 = semicolon period
+alt keycode 51 = Meta_comma
+keycode 52 = colon slash backslash
+alt keycode 52 = Meta_period
+keycode 53 = ograve exclam
+control keycode 53 = Delete
+alt keycode 53 = Meta_slash
+keycode 44 = Shift
+keycode 56 = Alt
+keycode 125 = AltGr
+keycode 57 = space space
+control keycode 57 = nul
+alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+alt keycode 86 = Meta_less
+keycode 29 = Control
+keycode 16 = q
+keycode 17 = z
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = m
+keycode 44 = w
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 59 = F1
+alt keycode 59 = Console_1
+keycode 60 = F2
+keycode 61 = F3
+keycode 62 = F4
+keycode 63 = F5
+keycode 64 = F6
+keycode 65 = F7
+keycode 66 = F8
+keycode 67 = F9
+keycode 68 = F10
+
diff --git a/keymaps/mac/ibook2-uk.kmap b/keymaps/mac/ibook2-uk.kmap
new file mode 100644
index 0000000..6e0642b
--- /dev/null
+++ b/keymaps/mac/ibook2-uk.kmap
@@ -0,0 +1,995 @@
+keymaps 0-2,4-6,8-9,12
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two at U+00a4 U+00a2 nul
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three U+00a3 numbersign Escape
+ alt keycode 4 = numbersign
+keycode 5 = four dollar dollar Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ control alt keycode 5 = Meta_Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ control alt keycode 8 = Meta_Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ control alt keycode 9 = Meta_Delete
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+keycode 12 = minus underscore backslash Control_underscore Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ control alt keycode 12 = Meta_Control_underscore
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+ control alt keycode 14 = Meta_Control_underscore
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+ control alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = +e +E U+00a4 Control_e Control_e Control_e Meta_e Meta_E Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ control alt keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ shift control keycode 40 = nul
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_at
+keycode 41 = U+00a7 U+00b1 Insert nul
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ control alt keycode 41 = Meta_nul
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_asciitilde
+keycode 44 = z
+keycode 45 = x
+keycode 46 = +c +C U+00a2 Control_c Control_c Control_c Meta_c Meta_C Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25 F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26 F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27 F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28 F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29 F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30 F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31 F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32 F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33 F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34 F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+ shift alt keycode 71 = Meta_seven
+ control alt keycode 71 = Meta_seven
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+ shift alt keycode 72 = Meta_eight
+ control alt keycode 72 = Meta_eight
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+ shift alt keycode 73 = Meta_nine
+ control alt keycode 73 = Meta_nine
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+ shift alt keycode 75 = Meta_four
+ control alt keycode 75 = Meta_four
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+ shift alt keycode 76 = Meta_five
+ control alt keycode 76 = Meta_five
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+ shift alt keycode 77 = Meta_six
+ control alt keycode 77 = Meta_six
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+ shift alt keycode 79 = Meta_one
+ control alt keycode 79 = Meta_one
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+ shift alt keycode 80 = Meta_two
+ control alt keycode 80 = Meta_two
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+ shift alt keycode 81 = Meta_three
+ control alt keycode 81 = Meta_three
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+ shift alt keycode 82 = Meta_zero
+ control alt keycode 82 = Meta_zero
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = grave asciitilde bar Control_backslash
+ alt keycode 86 = Meta_backslash
+ shift alt keycode 86 = Meta_bar
+ control alt keycode 86 = Meta_Control_backslash
+keycode 87 = F11 F23 Console_23 F35 F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36 F48
+ 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 = KP_Enter
+ altgr keycode 96 = Hex_F
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = equal
+ alt keycode 117 = Meta_equal
+ shift alt keycode 117 = Meta_equal
+ control alt keycode 117 = Meta_equal
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+ alt keycode 125 = Compose
+keycode 126 =
+keycode 127 =
+keycode 128 =
+keycode 129 =
+keycode 130 =
+keycode 131 =
+keycode 132 =
+keycode 133 =
+keycode 134 =
+keycode 135 =
+keycode 136 =
+keycode 137 =
+keycode 138 =
+keycode 139 =
+keycode 140 =
+keycode 141 =
+keycode 142 =
+keycode 143 =
+keycode 144 =
+keycode 145 =
+keycode 146 =
+keycode 147 =
+keycode 148 =
+keycode 149 =
+keycode 150 =
+keycode 151 =
+keycode 152 =
+keycode 153 =
+keycode 154 =
+keycode 155 =
+keycode 156 =
+keycode 157 =
+keycode 158 =
+keycode 159 =
+keycode 160 =
+keycode 161 =
+keycode 162 =
+keycode 163 =
+keycode 164 =
+keycode 165 =
+keycode 166 =
+keycode 167 =
+keycode 168 =
+keycode 169 =
+keycode 170 =
+keycode 171 =
+keycode 172 =
+keycode 173 =
+keycode 174 =
+keycode 175 =
+keycode 176 =
+keycode 177 =
+keycode 178 =
+keycode 179 =
+keycode 180 =
+keycode 181 =
+keycode 182 =
+keycode 183 =
+keycode 184 =
+keycode 185 =
+keycode 186 =
+keycode 187 =
+keycode 188 =
+keycode 189 =
+keycode 190 =
+keycode 191 =
+keycode 192 =
+keycode 193 =
+keycode 194 =
+keycode 195 =
+keycode 196 =
+keycode 197 =
+keycode 198 =
+keycode 199 =
+keycode 200 =
+keycode 201 =
+keycode 202 =
+keycode 203 =
+keycode 204 =
+keycode 205 =
+keycode 206 =
+keycode 207 =
+keycode 208 =
+keycode 209 =
+keycode 210 =
+keycode 211 =
+keycode 212 =
+keycode 213 =
+keycode 214 =
+keycode 215 =
+keycode 216 =
+keycode 217 =
+keycode 218 =
+keycode 219 =
+keycode 220 =
+keycode 221 =
+keycode 222 =
+keycode 223 =
+keycode 224 =
+keycode 225 =
+keycode 226 =
+keycode 227 =
+keycode 228 =
+keycode 229 =
+keycode 230 =
+keycode 231 =
+keycode 232 =
+keycode 233 =
+keycode 234 =
+keycode 235 =
+keycode 236 =
+keycode 237 =
+keycode 238 =
+keycode 239 =
+keycode 240 =
+keycode 241 =
+keycode 242 =
+keycode 243 =
+keycode 244 =
+keycode 245 =
+keycode 246 =
+keycode 247 =
+keycode 248 =
+keycode 249 =
+keycode 250 =
+keycode 251 =
+keycode 252 =
+keycode 253 =
+keycode 254 =
+keycode 255 =
+keycode 256 =
+keycode 257 = Escape
+ alt keycode 257 = Meta_Escape
+ shift alt keycode 257 = Meta_Escape
+ control alt keycode 257 = Meta_Escape
+keycode 258 = one exclam
+ alt keycode 258 = Meta_one
+ shift alt keycode 258 = Meta_exclam
+keycode 259 = two at currency nul
+ alt keycode 259 = Meta_two
+ shift alt keycode 259 = Meta_quotedbl
+ control alt keycode 259 = Meta_nul
+keycode 260 = three sterling numbersign Escape
+ alt keycode 260 = numbersign
+keycode 261 = four dollar currency Control_backslash
+ alt keycode 261 = Meta_four
+ shift alt keycode 261 = Meta_dollar
+ control alt keycode 261 = Meta_Control_backslash
+keycode 262 = five percent
+ control keycode 262 = Control_bracketright
+ alt keycode 262 = Meta_five
+ shift alt keycode 262 = Meta_percent
+keycode 263 = six asciicircum
+ control keycode 263 = Control_asciicircum
+ alt keycode 263 = Meta_six
+ shift alt keycode 263 = Meta_asciicircum
+keycode 264 = seven ampersand braceleft Control_underscore
+ alt keycode 264 = Meta_seven
+ shift alt keycode 264 = Meta_ampersand
+ control alt keycode 264 = Meta_Control_underscore
+keycode 265 = eight asterisk bracketleft Delete
+ alt keycode 265 = Meta_eight
+ shift alt keycode 265 = Meta_asterisk
+ control alt keycode 265 = Meta_Delete
+keycode 266 = nine parenleft bracketright
+ alt keycode 266 = Meta_nine
+ shift alt keycode 266 = Meta_parenleft
+keycode 267 = zero parenright braceright
+ alt keycode 267 = Meta_zero
+ shift alt keycode 267 = Meta_parenright
+keycode 268 = minus underscore backslash Control_underscore Control_underscore
+ alt keycode 268 = Meta_minus
+ shift alt keycode 268 = Meta_underscore
+ control alt keycode 268 = Meta_Control_underscore
+keycode 269 = equal plus
+ alt keycode 269 = Meta_equal
+ shift alt keycode 269 = Meta_plus
+keycode 270 = Delete Delete Remove Control_underscore
+ alt keycode 270 = Meta_Delete
+ shift alt keycode 270 = Meta_Delete
+ control alt keycode 270 = Meta_Control_underscore
+keycode 271 = Tab
+ alt keycode 271 = Meta_Tab
+ shift alt keycode 271 = Meta_Tab
+ control alt keycode 271 = Meta_Tab
+keycode 272 = q
+keycode 273 = w
+keycode 274 = +e +E currency Control_e Control_e Control_e Meta_e Meta_E Meta_Control_e
+keycode 275 = r
+keycode 276 = t
+keycode 277 = y
+keycode 278 = u
+keycode 279 = i
+keycode 280 = o
+keycode 281 = p
+keycode 282 = bracketleft braceleft
+ control keycode 282 = Escape
+ alt keycode 282 = Meta_bracketleft
+ shift alt keycode 282 = Meta_braceleft
+keycode 283 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 283 = Meta_bracketright
+ shift alt keycode 283 = Meta_braceright
+ control alt keycode 283 = Meta_Control_bracketright
+keycode 284 = Return
+ alt keycode 284 = Meta_Control_m
+keycode 285 = Control
+keycode 286 = a
+keycode 287 = s
+keycode 288 = d
+keycode 289 = f
+keycode 290 = g
+keycode 291 = h
+keycode 292 = j
+keycode 293 = k
+keycode 294 = l
+keycode 295 = semicolon colon
+ alt keycode 295 = Meta_semicolon
+ shift alt keycode 295 = Meta_colon
+keycode 296 = apostrophe quotedbl
+ control keycode 296 = Control_g
+ shift control keycode 296 = nul
+ alt keycode 296 = Meta_apostrophe
+ shift alt keycode 296 = Meta_at
+keycode 297 = section plusminus Insert nul
+ alt keycode 297 = Meta_grave
+ control alt keycode 297 = Meta_nul
+keycode 298 = Shift
+keycode 299 = backslash bar
+ control keycode 299 = Control_backslash
+ alt keycode 299 = Meta_numbersign
+ shift alt keycode 299 = Meta_asciitilde
+keycode 300 = z
+keycode 301 = x
+keycode 302 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_Control_c
+keycode 303 = v
+keycode 304 = b
+keycode 305 = n
+keycode 306 = m
+keycode 307 = comma less
+ alt keycode 307 = Meta_comma
+ shift alt keycode 307 = Meta_less
+keycode 308 = period greater
+ alt keycode 308 = Meta_period
+ shift alt keycode 308 = Meta_greater
+keycode 309 = slash question
+ control keycode 309 = Delete
+ alt keycode 309 = Meta_slash
+ shift alt keycode 309 = Meta_question
+keycode 310 = Shift
+keycode 311 = KP_Multiply
+keycode 312 = Alt
+keycode 313 = space
+ alt keycode 313 = Meta_space
+ shift alt keycode 313 = Meta_space
+ control alt keycode 313 = Meta_space
+keycode 314 = Caps_Lock
+keycode 315 = F1 F13 Console_13 F25
+ alt keycode 315 = Console_1
+ control alt keycode 315 = Console_1
+keycode 316 = F2 F14 Console_14 F26
+ alt keycode 316 = Console_2
+ control alt keycode 316 = Console_2
+keycode 317 = F3 F15 Console_15 F27
+ alt keycode 317 = Console_3
+ control alt keycode 317 = Console_3
+keycode 318 = F4 F16 Console_16 F28
+ alt keycode 318 = Console_4
+ control alt keycode 318 = Console_4
+keycode 319 = F5 F17 Console_17 F29
+ alt keycode 319 = Console_5
+ control alt keycode 319 = Console_5
+keycode 320 = F6 F18 Console_18 F30
+ alt keycode 320 = Console_6
+ control alt keycode 320 = Console_6
+keycode 321 = F7 F19 Console_19 F31
+ alt keycode 321 = Console_7
+ control alt keycode 321 = Console_7
+keycode 322 = F8 F20 Console_20 F32
+ alt keycode 322 = Console_8
+ control alt keycode 322 = Console_8
+keycode 323 = F9 F21 Console_21 F33
+ alt keycode 323 = Console_9
+ control alt keycode 323 = Console_9
+keycode 324 = F10 F22 Console_22 F34
+ alt keycode 324 = Console_10
+ control alt keycode 324 = Console_10
+keycode 325 = Num_Lock
+ altgr keycode 325 = Hex_A
+keycode 326 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 326 = Scroll_Lock
+keycode 327 = seven
+ altgr keycode 327 = Hex_7
+ alt keycode 327 = Ascii_7
+ shift alt keycode 327 = Meta_seven
+ control alt keycode 327 = Meta_seven
+keycode 328 = eight
+ altgr keycode 328 = Hex_8
+ alt keycode 328 = Ascii_8
+ shift alt keycode 328 = Meta_eight
+ control alt keycode 328 = Meta_eight
+keycode 329 = nine
+ altgr keycode 329 = Hex_9
+ alt keycode 329 = Ascii_9
+ shift alt keycode 329 = Meta_nine
+ control alt keycode 329 = Meta_nine
+keycode 330 = KP_Subtract
+ altgr keycode 330 = Hex_D
+keycode 331 = four
+ altgr keycode 331 = Hex_4
+ alt keycode 331 = Ascii_4
+ shift alt keycode 331 = Meta_four
+ control alt keycode 331 = Meta_four
+keycode 332 = five
+ altgr keycode 332 = Hex_5
+ alt keycode 332 = Ascii_5
+ shift alt keycode 332 = Meta_five
+ control alt keycode 332 = Meta_five
+keycode 333 = six
+ altgr keycode 333 = Hex_6
+ alt keycode 333 = Ascii_6
+ shift alt keycode 333 = Meta_six
+ control alt keycode 333 = Meta_six
+keycode 334 = KP_Add
+ altgr keycode 334 = Hex_E
+keycode 335 = one
+ altgr keycode 335 = Hex_1
+ alt keycode 335 = Ascii_1
+ shift alt keycode 335 = Meta_one
+ control alt keycode 335 = Meta_one
+keycode 336 = two
+ altgr keycode 336 = Hex_2
+ alt keycode 336 = Ascii_2
+ shift alt keycode 336 = Meta_two
+ control alt keycode 336 = Meta_two
+keycode 337 = three
+ altgr keycode 337 = Hex_3
+ alt keycode 337 = Ascii_3
+ shift alt keycode 337 = Meta_three
+ control alt keycode 337 = Meta_three
+keycode 338 = zero
+ altgr keycode 338 = Hex_0
+ alt keycode 338 = Ascii_0
+ shift alt keycode 338 = Meta_zero
+ control alt keycode 338 = Meta_zero
+keycode 339 = KP_Period
+ altgr control keycode 339 = Boot
+ control alt keycode 339 = Boot
+keycode 340 = Last_Console
+keycode 341 =
+keycode 342 = grave asciitilde bar Control_backslash
+ alt keycode 342 = Meta_backslash
+ shift alt keycode 342 = Meta_bar
+ control alt keycode 342 = Meta_Control_backslash
+keycode 343 = F11 F23 Console_23 F35
+ alt keycode 343 = Console_11
+ control alt keycode 343 = Console_11
+keycode 344 = F12 F24 Console_24 F36
+ alt keycode 344 = Console_12
+ control alt keycode 344 = Console_12
+keycode 345 =
+keycode 346 =
+keycode 347 =
+keycode 348 =
+keycode 349 =
+keycode 350 =
+keycode 351 =
+keycode 352 = KP_Enter
+ altgr keycode 352 = Hex_F
+keycode 353 = Control
+keycode 354 = KP_Divide
+ altgr keycode 354 = Hex_B
+keycode 355 = Control_backslash
+ alt keycode 355 = Meta_Control_backslash
+ shift alt keycode 355 = Meta_Control_backslash
+ control alt keycode 355 = Meta_Control_backslash
+keycode 356 = AltGr
+keycode 357 = Break
+keycode 358 = Find
+keycode 359 = Up
+ alt keycode 359 = KeyboardSignal
+keycode 360 = Prior
+ shift keycode 360 = Scroll_Backward
+keycode 361 = Left
+ alt keycode 361 = Decr_Console
+keycode 362 = Right
+ alt keycode 362 = Incr_Console
+keycode 363 = Select
+keycode 364 = Down
+keycode 365 = Next
+ shift keycode 365 = Scroll_Forward
+keycode 366 = Insert
+keycode 367 = Remove
+ altgr control keycode 367 = Boot
+ control alt keycode 367 = Boot
+keycode 368 = Macro
+keycode 369 = F13
+keycode 370 = F14
+keycode 371 = Help
+keycode 372 = Do
+keycode 373 = equal
+ alt keycode 373 = Meta_equal
+ shift alt keycode 373 = Meta_equal
+ control alt keycode 373 = Meta_equal
+keycode 374 = KP_MinPlus
+keycode 375 = Pause
+keycode 376 =
+keycode 377 =
+keycode 378 =
+keycode 379 =
+keycode 380 =
+keycode 381 = AltGr
+ alt keycode 381 = Compose
+keycode 382 =
+keycode 383 =
+keycode 384 =
+keycode 385 =
+keycode 386 =
+keycode 387 =
+keycode 388 =
+keycode 389 =
+keycode 390 =
+keycode 391 =
+keycode 392 =
+keycode 393 =
+keycode 394 =
+keycode 395 =
+keycode 396 =
+keycode 397 =
+keycode 398 =
+keycode 399 =
+keycode 400 =
+keycode 401 =
+keycode 402 =
+keycode 403 =
+keycode 404 =
+keycode 405 =
+keycode 406 =
+keycode 407 =
+keycode 408 =
+keycode 409 =
+keycode 410 =
+keycode 411 =
+keycode 412 =
+keycode 413 =
+keycode 414 =
+keycode 415 =
+keycode 416 =
+keycode 417 =
+keycode 418 =
+keycode 419 =
+keycode 420 =
+keycode 421 =
+keycode 422 =
+keycode 423 =
+keycode 424 =
+keycode 425 =
+keycode 426 =
+keycode 427 =
+keycode 428 =
+keycode 429 =
+keycode 430 =
+keycode 431 =
+keycode 432 =
+keycode 433 =
+keycode 434 =
+keycode 435 =
+keycode 436 =
+keycode 437 =
+keycode 438 =
+keycode 439 =
+keycode 440 =
+keycode 441 =
+keycode 442 =
+keycode 443 =
+keycode 444 =
+keycode 445 =
+keycode 446 =
+keycode 447 =
+keycode 448 =
+keycode 449 =
+keycode 450 =
+keycode 451 =
+keycode 452 =
+keycode 453 =
+keycode 454 =
+keycode 455 =
+keycode 456 =
+keycode 457 =
+keycode 458 =
+keycode 459 =
+keycode 460 =
+keycode 461 =
+keycode 462 =
+keycode 463 =
+keycode 464 =
+keycode 465 =
+keycode 466 =
+keycode 467 =
+keycode 468 =
+keycode 469 =
+keycode 470 =
+keycode 471 =
+keycode 472 =
+keycode 473 =
+keycode 474 =
+keycode 475 =
+keycode 476 =
+keycode 477 =
+keycode 478 =
+keycode 479 =
+keycode 480 =
+keycode 481 =
+keycode 482 =
+keycode 483 =
+keycode 484 =
+keycode 485 =
+keycode 486 =
+keycode 487 =
+keycode 488 =
+keycode 489 =
+keycode 490 =
+keycode 491 =
+keycode 492 =
+keycode 493 =
+keycode 494 =
+keycode 495 =
+keycode 496 =
+keycode 497 =
+keycode 498 =
+keycode 499 =
+keycode 500 =
+keycode 501 =
+keycode 502 =
+keycode 503 =
+keycode 504 =
+keycode 505 =
+keycode 506 =
+keycode 507 =
+keycode 508 =
+keycode 509 =
+keycode 510 =
+keycode 511 =
+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 Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+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 '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose '°' 'A' to 'Å'
+compose '°' 'a' 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 '`' '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 '"' 'y' to 'ÿ'
+compose 's' 'z' 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 '-' 'L' to '£'
+compose '<' '<' to '«'
+compose '>' '>' to '»'
+compose '?' '?' to '¿'
+compose '^' '?' to '¿'
+compose '!' '!' to '¡'
+compose '^' '!' to '¡'
+compose '^' '1' to '¹'
+compose '^' '2' to '²'
+compose '^' '3' to '³'
+compose '+' '-' to '±'
+compose 'c' '=' to '¢'
+compose 'c' '/' to '¢'
+compose '/' 'c' to '¢'
+compose '-' 'c' to '¢'
+compose '-' 'C' to '¢'
+compose 'L' '=' to '£'
+compose '-' 'L' to '£'
+compose '-' 'l' to '£'
+compose '^' '*' to '×'
+compose '^' 'x' to '×'
+compose 'x' 'x' to '×'
+compose '^' '.' to '·'
+compose '.' '.' to '·'
+compose '^' '/' to '÷'
+compose '^' ':' to '÷'
+compose '-' ':' to '÷'
+compose ':' '-' to '÷'
+compose 'Y' '=' to '¥'
+compose '-' 'Y' to '¥'
+compose '-' 'l' to '¥'
+compose '(' 'c' to '©'
+compose '"' 'c' to '©'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+compose '(' 'r' to '®'
+compose '"' 'r' to '®'
+compose 'm' 'u' to 'µ'
+compose '1' '4' to '¼'
+compose '1' '2' to '½'
+compose '3' '4' to '¾'
+compose 'e' '=' to '¤'
+compose '-' 'e' to '¤'
+compose '-' 'E' to '¤'
+compose 'v' 'S' to '¦'
+compose '^' 'S' to '¦'
+compose 'v' 's' to '¨'
+compose '^' 's' to '¨'
+compose 'v' 'Z' to '´'
+compose '^' 'Z' to '´'
+compose 'v' 'z' to '¸'
+compose '^' 'z' to '¸'
+compose 'O' 'E' to '¼'
+compose 'O' 'e' to '¼'
+compose 'o' 'e' to '½'
+compose '"' 'Y' to '¾'
+compose 'i' 'j' to 'ÿ'
+compose 'I' 'J' to '¾'
diff --git a/keymaps/mac/include/mac-azerty-layout.inc b/keymaps/mac/include/mac-azerty-layout.inc
new file mode 100644
index 0000000..c40b516
--- /dev/null
+++ b/keymaps/mac/include/mac-azerty-layout.inc
@@ -0,0 +1,30 @@
+# azerty-layout
+keycode 12 = a
+keycode 13 = z
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = y
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+#
+keycode 0 = q
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+keycode 41 = m
+#
+keycode 6 = w
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+keycode 45 = n
+#
diff --git a/keymaps/mac/include/mac-qwerty-layout.inc b/keymaps/mac/include/mac-qwerty-layout.inc
new file mode 100644
index 0000000..f189eee
--- /dev/null
+++ b/keymaps/mac/include/mac-qwerty-layout.inc
@@ -0,0 +1,30 @@
+# qwertz-layout
+keycode 12 = q
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = y
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+#
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+#
+keycode 6 = z
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+keycode 45 = n
+keycode 46 = m
+#
diff --git a/keymaps/mac/include/mac-qwertz-layout.inc b/keymaps/mac/include/mac-qwertz-layout.inc
new file mode 100644
index 0000000..3dc00b2
--- /dev/null
+++ b/keymaps/mac/include/mac-qwertz-layout.inc
@@ -0,0 +1,30 @@
+# qwertz-layout
+keycode 12 = q
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = z
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+#
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+#
+keycode 6 = y
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+keycode 45 = n
+keycode 46 = m
+#
diff --git a/keymaps/mac/mac-de-latin1-nodeadkeys.kmap b/keymaps/mac/mac-de-latin1-nodeadkeys.kmap
new file mode 100644
index 0000000..a524f26
--- /dev/null
+++ b/keymaps/mac/mac-de-latin1-nodeadkeys.kmap
@@ -0,0 +1,181 @@
+# de-latin1-nodeadkeys-apple.map: German keymap for Apple keyboards
+# Broken in several respects.
+keymaps 0-2,4,6,8,12
+strings as usual
+
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+ shift altgr keycode 18 = at
+keycode 19 = two quotedbl twosuperior
+ control keycode 19 = nul
+ alt keycode 19 = Meta_two
+keycode 20 = three section threesuperior
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar dollar
+ control keycode 21 = Control_backslash
+ alt keycode 21 = Meta_four
+keycode 23 = five percent bracketleft
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 22 = six ampersand bracketright
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 26 = seven slash bar
+ control keycode 26 = Control_underscore
+ alt keycode 26 = Meta_seven
+ shift altgr keycode 26 = backslash
+keycode 28 = eight parenleft braceleft
+ control keycode 28 = Delete
+ alt keycode 28 = Meta_eight
+keycode 25 = nine parenright braceright
+ alt keycode 25 = Meta_nine
+ control altgr keycode 25 = Control_bracketright
+keycode 29 = zero equal
+ alt keycode 29 = Meta_zero
+keycode 27 = ssharp question nul
+ control keycode 27 = Control_underscore
+ alt keycode 27 = Meta_minus
+ control altgr keycode 27 = Control_backslash
+ alt altgr keycode 27 = Meta_backslash
+keycode 24 = apostrophe grave
+ alt keycode 24 = Meta_equal
+keycode 51 = Delete Delete
+ alt keycode 51 = Meta_Delete
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 12 = +q +Q nul
+ control keycode 12 = Control_q
+ alt keycode 12 = Meta_q
+ altgr alt keycode 12 = Meta_at
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = z
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+keycode 33 = +udiaeresis +Udiaeresis
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 30 = plus asterisk nul
+ control keycode 30 = Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 36 = Return
+ alt keycode 36 = 0x080d
+keycode 54 = Control
+# broken: 0 cannot be assigned
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+keycode 41 = +odiaeresis +Odiaeresis
+ alt keycode 41 = Meta_semicolon
+keycode 39 = +adiaeresis +Adiaeresis
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 10 = asciicircum degree
+keycode 50 = less greater
+ control keycode 50 = Control_asciicircum
+ alt keycode 50 = Meta_grave
+# control keycode 50 = nul
+keycode 56 = Shift
+keycode 42 = numbersign apostrophe
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 6 = y
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+keycode 45 = n
+ altgr keycode 45 = asciitilde
+keycode 46 = +m
+ altgr keycode 46 = mu
+keycode 43 = comma semicolon
+ alt keycode 43 = Meta_comma
+keycode 47 = period colon
+ alt keycode 47 = Meta_period
+keycode 44 = minus underscore
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_minus
+ shift control keycode 44 = Control_underscore
+# alt keycode 44 = Meta_slash
+keycode 56 = Shift
+keycode 67 = KP_Multiply
+keycode 55 = Alt
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 57 = Caps_Lock
+keycode 99 = F3 F13 Console_15
+ control keycode 99 = F3
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 96 = F5 F15 Console_17
+ control keycode 96 = F5
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6 F16 Console_18
+ control keycode 97 = F6
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7 F17 Console_19
+ control keycode 98 = F7
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 58 = F8 F18 Console_20
+ control keycode 58 = F8
+ alt keycode 58 = Console_8
+ control alt keycode 58 = Console_8
+keycode 71 = Num_Lock
+keycode 89 = KP_7
+ alt keycode 89 = Ascii_7
+keycode 91 = KP_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ alt keycode 92 = Ascii_9
+keycode 78 = KP_Subtract
+keycode 86 = KP_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ alt keycode 88 = Ascii_6
+keycode 69 = KP_Add
+keycode 83 = KP_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ alt keycode 85 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 65 = KP_Comma
+ altgr control keycode 65 = Boot
+ control alt keycode 65 = Boot
+keycode 62 = F11 F11 Console_23
+ control keycode 62 = F11
+ alt keycode 62 = Console_11
+ control alt keycode 62 = Console_11
+keycode 76 = KP_Enter
+keycode 54 = Control
+keycode 75 = KP_Divide
+keycode 58 = AltGr
+keycode 62 = Up
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+control alt keycode 65 = Boot
+control alt keycode 117 = Boot
diff --git a/keymaps/mac/mac-de-latin1.kmap b/keymaps/mac/mac-de-latin1.kmap
new file mode 100644
index 0000000..afacdde
--- /dev/null
+++ b/keymaps/mac/mac-de-latin1.kmap
@@ -0,0 +1,57 @@
+# mac-de-latin1.kmap: German keymap
+# (Renamed from gr-latin1.map, since it is not a Greek map.)
+# Some changes due to Olaf Flebbe (flebbe@pluto.tat.physik.uni-tuebingen.de)
+# More changes by Jochen Hein <jochen.hein@delphi.central.de>.
+
+
+alt_is_meta
+include "include/mac-qwerty-layout"
+ altgr keycode 12 = at
+ altgr keycode 46 = mu
+#include "linux-with-alt-and-altgr"
+include "mac-linux-keys-bare.inc"
+ plain keycode 65 = KP_Comma
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+# Normal Shift AltGr Strg
+# Normal Shift AltGr Shift+AltGr Ctrl Shift+Ctrl AltGr+Ctrl Shift+AltGr+Ctrl Alt Shift+Alt AltGr+Alt Shift+AltGr+Alt
+keycode 26 = seven slash braceleft a b c d e f g h i j k
+keycode 18 = one exclam
+ shift altgr keycode 18 = at
+keycode 19 = two quotedbl twosuperior nul
+keycode 20 = three section threesuperior Escape
+keycode 21 = four dollar
+keycode 23 = five percent
+keycode 22 = six ampersand
+keycode 28 = eight parenleft bracketleft
+keycode 25 = nine parenright bracketright
+ control altgr keycode 25 = Control_bracketright
+keycode 29 = zero equal braceright
+keycode 27 = ssharp question backslash
+ control altgr keycode 27 = Control_backslash
+keycode 24 = dead_acute dead_grave
+ alt keycode 24 = Meta_acute
+ shift alt keycode 24 = Meta_grave
+keycode 33 = +udiaeresis +Udiaeresis
+keycode 30 = plus asterisk dead_tilde
+keycode 41 = +odiaeresis +Odiaeresis
+keycode 39 = +adiaeresis +Adiaeresis
+keycode 10 = dead_circumflex degree Meta_asciicircum Control_asciicircum
+keycode 42 = numbersign apostrophe
+keycode 43 = comma semicolon
+keycode 47 = period colon
+keycode 44 = minus underscore Meta_minus
+ shift control keycode 44 = Control_underscore
+keycode 49 = space space Meta_space nul
+keycode 10 = less greater bar
+
+keycode 16 = z
+keycode 6 = y
+
+ alt keycode 12 = at
+ alt keycode 50 = bar
+# altgr keycode 26 = bar
+ alt keycode 30 = dead_tilde
+ alt keycode 45 = dead_tilde
diff --git a/keymaps/mac/mac-de2-ext.kmap b/keymaps/mac/mac-de2-ext.kmap
new file mode 100644
index 0000000..19a6300
--- /dev/null
+++ b/keymaps/mac/mac-de2-ext.kmap
@@ -0,0 +1,271 @@
+#
+# Mac Extended II Tastatur deutsch
+# abgeleitet von mac-fr2-ext.map
+#
+# Mai 1999, Thomas Adams, tadams@fh-dortmund.de
+#
+# Sonderzeichen, die es auf der Tastatur nicht gibt, habe ich so angeordnet:
+#
+# @ : AltGr + q
+# | : AltGr + #
+# ~ : AltGr + +
+# \ : AltGr + ß
+# { : AltGr + 7
+# } : AltGr + 0
+# [ : AltGr + 8
+# ] : AltGr + 9
+#
+#
+# Ich habe viele der "Control_" und "Meta_" Einstellungen einfach so gelassen,
+# wie sie waren, einfach weil ich nichts so recht damit anfangen kann. :)
+# Wer mir in der Beziehung auf die Sprünge helfen möchte, bitte mailen.
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 1 = s
+keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = y
+keycode 7 = x
+keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 9 = v
+keycode 10 = dead_circumflex degree
+keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 12 = +q +Q at
+keycode 13 = w
+keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 15 = r
+keycode 16 = z
+keycode 17 = t
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two quotedbl nul nul nul Meta_two
+keycode 20 = three section
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar nul Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six ampersand
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = dead_acute dead_grave
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenright bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven slash braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = ssharp question backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight parenleft bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero equal braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = plus asterisk asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = +udiaeresis +Udiaeresis
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = +adiaeresis +Adiaeresis
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = +odiaeresis +Odiaeresis
+ alt keycode 41 = Meta_semicolon
+keycode 42 = numbersign apostrophe bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma semicolon
+ alt keycode 43 = Meta_comma
+keycode 44 = minus underscore
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = period colon
+ control keycode 47 = Compose
+ alt keycode 47 = backslash
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = less greater
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = BackSpace BackSpace
+ control keycode 51 = Delete
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 = equal
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-dvorak.kmap b/keymaps/mac/mac-dvorak.kmap
new file mode 100644
index 0000000..e91d178
--- /dev/null
+++ b/keymaps/mac/mac-dvorak.kmap
@@ -0,0 +1,79 @@
+# Dvorak keymap for Macintosh (mac-dvorak.kmap)
+#
+# Author: Björn Jacke <bjacke@suse.de>, 2001
+#
+# Changelog:
+# 2001-04-22 Björn Jacke <bjacke@suse.de>
+# - initial version
+#
+
+alt_is_meta
+include "mac-linux-keys-bare.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+########### ROW 1 (function keys)
+
+########### ROW 2
+keycode 18 = one exclam
+keycode 19 = two at at nul nul
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+keycode 21 = four dollar dollar Control_backslash
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+keycode 26 = seven ampersand braceleft Control_underscore
+keycode 28 = eight asterisk bracketleft Delete
+keycode 25 = nine parenleft bracketright
+keycode 29 = zero parenright braceright
+keycode 27 = bracketleft braceleft
+ control keycode 27 = Escape
+keycode 24 = bracketright braceright asciitilde Control_bracketright
+
+########### ROW 3
+keycode 12 = apostrophe quotedbl
+ control keycode 12 = Control_g
+keycode 13 = comma less
+keycode 14 = period greater
+keycode 15 = p
+keycode 17 = y
+keycode 16 = f
+keycode 32 = g
+keycode 34 = c
+keycode 31 = r
+keycode 35 = l
+keycode 33 = slash question
+ control keycode 33 = Delete
+keycode 30 = equal plus
+keycode 1 = o
+keycode 2 = e
+keycode 3 = u
+keycode 5 = i
+keycode 4 = d
+keycode 38 = h
+keycode 40 = t
+keycode 37 = n
+keycode 41 = s
+keycode 39 = minus underscore backslash Control_underscore Control_underscore
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+
+########### ROW 4
+keycode 42 = backslash bar
+ control keycode 43 = Control_backslash
+keycode 6 = semicolon colon
+keycode 7 = q
+keycode 8 = j
+keycode 9 = k
+keycode 11 = x
+keycode 45 = b
+keycode 46 = m
+keycode 43 = w
+keycode 47 = v
+keycode 44 = z
+
+########### ROW 5
+
+########### ROW 6
diff --git a/keymaps/mac/mac-es.kmap b/keymaps/mac/mac-es.kmap
new file mode 100644
index 0000000..79c44c0
--- /dev/null
+++ b/keymaps/mac/mac-es.kmap
@@ -0,0 +1,33 @@
+# mac-es.kmap olh@suse.de
+
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+
+keycode 50 = bracketleft bracketright braceleft braceright
+keycode 18 = one exclamdown
+keycode 19 = two exclam
+keycode 20 = three numbersign sterling
+keycode 21 = four dollar dollar Control_backslash
+keycode 23 = five percent
+keycode 22 = six slash
+keycode 26 = seven ampersand bar
+keycode 28 = eight asterisk degree
+keycode 25 = nine parenleft sterling
+keycode 29 = zero parenright
+keycode 27 = minus underscore
+keycode 24 = equal plus
+
+keycode 30 = apostrophe degree
+keycode 33 = grave diaeresis bar
+keycode 41 = ntilde Ntilde asciitilde
+keycode 39 = semicolon colon
+keycode 42 = apostrophe quotedbl
+keycode 10 = less greater bracketleft braceleft
+keycode 43 = comma questiondown
+keycode 47 = period question
+keycode 44 = ccedilla Ccedilla
+keycode 65 = KP_Comma
diff --git a/keymaps/mac/mac-fi-latin1.kmap b/keymaps/mac/mac-fi-latin1.kmap
new file mode 100644
index 0000000..01d9462
--- /dev/null
+++ b/keymaps/mac/mac-fi-latin1.kmap
@@ -0,0 +1,68 @@
+# mac-fi-latin1.kmap
+# converted from mac-us-ext by bronx 070600
+# tested on MacAlly ext USB kbd
+# euro sign on number 4, keycode 21
+#
+# keycode 0 is the 'a', for some reason keycode 90 is
+# also defined as an 'a', I'm not sure why.
+#
+alt_is_meta
+include "mac-qwerty-layout"
+include "mac-linux-keys-bare.inc"
+include "mac-euro.map"
+compose as usual for "iso-8859-1"
+strings as usual
+
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two quotedbl quotedbl nul nul
+ alt keycode 19 = Meta_two
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar currency Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six ampersand
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = acute grave
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenright bracketright braceright
+ alt keycode 25 = braceright
+keycode 26 = seven slash bar
+ alt keycode 26 = backslash
+keycode 27 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight parenleft bracketleft
+ alt keycode 28 = braceleft
+keycode 29 = zero equal braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = diaeresis asciicircum asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 33 = aring Aring
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 39 = adiaeresis Adiaeresis
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 41 = odiaeresis Odiaeresis
+ alt keycode 41 = Meta_semicolon
+keycode 42 = apostrophe asterisk at
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma semicolon
+ alt keycode 43 = Meta_comma
+keycode 44 = minus underscore
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_minus
+keycode 47 = period colon
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 10 = less greater
+ control keycode 10 = nul
+ alt keycode 10 = Meta_grave
+keycode 51 = Delete Remove
+ alt keycode 51 = Meta_Delete
+keycode 65 = KP_Period
diff --git a/keymaps/mac/mac-fr-ext.kmap b/keymaps/mac/mac-fr-ext.kmap
new file mode 100644
index 0000000..f06c629
--- /dev/null
+++ b/keymaps/mac/mac-fr-ext.kmap
@@ -0,0 +1,298 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+# changes : Etienne Herlent <eherlent@linux-france.org> june 2000
+# adapted to "linux" keycodes :
+# Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
+# changes for '=' symbol from the numeric keybap to work :
+# Etienne Herlent <eherlent@linux-france.org> 14-jan-2001
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+#keymaps 0-9,11-12
+
+compose as usual for "iso-8859-1"
+alt_is_meta
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+
+# 1st row
+keycode 41 = at numbersign
+ altgr keycode 41 = periodcentered
+ alt keycode 41 = Meta_at
+ control keycode 41 = nul
+ shift alt keycode 41 = Meta_numbersign
+
+keycode 2 = ampersand one VoidSymbol dead_acute
+ alt keycode 2 = Meta_ampersand
+ shift alt keycode 2 = Meta_one
+
+keycode 3 = eacute two ediaeresis Eacute
+ shift alt keycode 3 = Meta_two
+
+keycode 4 = quotedbl three
+ alt keycode 4 = Meta_quotedbl
+ shift alt keycode 4 = Meta_three
+
+keycode 5 = apostrophe four
+ alt keycode 5 = Meta_apostrophe
+ shift alt keycode 5 = Meta_four
+
+keycode 6 = parenleft five braceleft bracketleft
+ alt keycode 6 = Meta_parenleft
+ shift alt keycode 6 = Meta_five
+
+# **** insert meta, control
+keycode 7 = section six paragraph aring
+ shift alt keycode 7 = Meta_six
+
+keycode 8 = egrave seven guillemotleft guillemotright
+ shift alt keycode 8 = Meta_seven
+
+keycode 9 = exclam eight exclamdown Ucircumflex
+ alt keycode 9 = Meta_exclam
+ shift alt keycode 9 = Meta_eight
+
+keycode 10 = ccedilla nine Ccedilla Aacute
+ shift alt keycode 10 = Meta_nine
+
+keycode 11 = agrave zero oslash
+ shift alt keycode 11 = Meta_zero
+
+keycode 12 = parenright degree braceright bracketright
+ alt keycode 12 = Meta_parenright
+
+keycode 13 = minus underscore
+ alt keycode 13 = Meta_minus
+ shift alt keycode 13 = Meta_underscore
+ shift control keycode 13 = Control_underscore
+
+keycode 14 = Delete BackSpace
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+
+# 2nd row
+
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+
+keycode 16 = +a +A ae AE
+ control keycode 16 = Control_a
+keycode 17 = +z +Z Acircumflex Aring
+keycode 18 = +e +E ecircumflex Ecircumflex
+keycode 19 = +r +R registered currency
+keycode 20 = +t +T
+keycode 21 = +y +Y Uacute VoidSymbol
+keycode 22 = +u +U VoidSymbol ordfeminine
+keycode 23 = +i +I icircumflex idiaeresis
+keycode 24 = +o +O
+keycode 25 = +p +P VoidSymbol Ugrave
+keycode 26 = dead_circumflex dead_diaeresis ocircumflex Ocircumflex
+ control keycode 26 = Control_asciicircum
+keycode 27 = dollar asterisk VoidSymbol yen
+ alt keycode 27 = Meta_dollar
+ shift alt keycode 27 = Meta_dollar
+
+keycode 28 = Return
+
+# 3d row
+
+keycode 58 = Caps_Lock
+keycode 30 = +q +Q acircumflex Agrave
+ control keycode 30 = Control_q
+keycode 31 = +s +S Ograve VoidSymbol
+keycode 32 = +d +D
+keycode 33 = +f +F
+keycode 34 = +g +G
+keycode 35 = +h +H Igrave Icircumflex
+keycode 36 = +j +J Idiaeresis Iacute
+keycode 37 = +k +K Egrave Ediaeresis
+keycode 38 = +l +L notsign bar
+# alt altgr keycode 38 = Meta_notsign # Doesn't work???
+ shift alt altgr keycode 38 = Meta_bar
+keycode 39 = +m +M mu Oacute
+keycode 40 = ugrave percent Ugrave ucircumflex
+ shift alt keycode 40 = Meta_percent
+keycode 43 = dead_grave pound at numbersign
+ alt keycode 43 = Meta_grave
+# shift alt keycode 43 = Meta_sterling # doesn't work ?
+# altgr keycode 43 = Meta_at
+# shift altgr keycode 43 = Meta_numbersign
+
+# 4th row
+keycode 42 = Shift
+
+keycode 86 = less greater
+
+keycode 44 = +w +W
+keycode 45 = +x +X
+keycode 46 = +c +C copyright cent
+keycode 47 = +v +V
+keycode 48 = +b +B ssharp
+
+keycode 49 = +n +N dead_tilde asciitilde
+keycode 50 = comma question VoidSymbol questiondown
+ shift control keycode 50 = Delete
+keycode 51 = semicolon period VoidSymbol periodcentered
+keycode 52 = colon slash division backslash
+ shift altgr control keycode 52 = Control_backslash
+keycode 53 = equal plus VoidSymbol plusminus
+
+# 5th row
+keycode 29 = Control
+
+# Option key:
+keycode 56 = AltGr
+
+# Apple/Command key:
+keycode 125 = Alt
+
+keycode 57 = space space nobreakspace nobreakspace
+ control keycode 57 = nul
+
+# 'fn' (yellow key labels)
+
+## TO DO
+ keycode 55 = KP_Multiply
+
+# function keys
+
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = seven seven
+ alt keycode 71 = Ascii_7
+keycode 72 = eight eight
+ alt keycode 72 = Ascii_8
+keycode 73 = nine nine
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = four four
+ alt keycode 75 = Ascii_4
+keycode 76 = five five
+ alt keycode 76 = Ascii_5
+keycode 77 = six six
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = one one
+ alt keycode 79 = Ascii_1
+keycode 80 = two two
+ alt keycode 80 = Ascii_2
+keycode 81 = three
+ alt keycode 81 = Ascii_3
+keycode 82 = zero zero
+ alt keycode 82 = Ascii_0
+keycode 83 = comma period
+# altgr control keycode 65 = Boot
+ control alt keycode 83 = Boot
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 96 = KP_Enter
+keycode 98 = KP_Divide
+keycode 117 = equal
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 119 = Pause
+keycode 110 = Insert
+keycode 111 = Remove
+keycode 102 = Home
+keycode 107 = End
+keycode 54 = Shift
+keycode 124 = AltGr
+
+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 Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+#
+
diff --git a/keymaps/mac/mac-fr.kmap b/keymaps/mac/mac-fr.kmap
new file mode 100644
index 0000000..c493d7e
--- /dev/null
+++ b/keymaps/mac/mac-fr.kmap
@@ -0,0 +1,123 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+include "mac-azerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+# 1st row
+keycode 50 = at numbersign
+ alt keycode 50 = Meta_at
+ control keycode 50 = nul
+ shift alt keycode 50 = Meta_numbersign
+
+keycode 18 = ampersand one
+ alt keycode 18 = Meta_ampersand
+ shift alt keycode 18 = Meta_one
+
+keycode 19 = eacute two
+ shift alt keycode 19 = Meta_two
+
+keycode 20 = quotedbl three
+ alt keycode 20 = Meta_quotedbl
+ shift alt keycode 20 = Meta_three
+
+keycode 21 = apostrophe four
+ alt keycode 21 = Meta_apostrophe
+ shift alt keycode 21 = Meta_four
+
+keycode 23 = parenleft five braceleft bracketleft
+ alt keycode 23 = Meta_parenleft
+ shift alt keycode 23 = Meta_five
+
+# **** insert meta, control
+keycode 22 = section six
+ shift alt keycode 22 = Meta_six
+
+keycode 26 = egrave seven guillemotleft guillemotright
+ shift alt keycode 26 = Meta_seven
+
+keycode 28 = exclam eight
+ alt keycode 28 = Meta_exclam
+ shift alt keycode 28 = Meta_eight
+
+keycode 25 = ccedilla nine
+ shift alt keycode 25 = Meta_nine
+
+keycode 29 = agrave zero
+ shift alt keycode 29 = Meta_zero
+
+keycode 27 = parenright degree braceright bracketright
+ alt keycode 27 = Meta_parenright
+
+keycode 24 = minus underscore
+ alt keycode 24 = Meta_minus
+ shift alt keycode 24 = Meta_underscore
+ shift control keycode 24 = Control_underscore
+
+# 2nd row
+
+
+keycode 33 = dead_circumflex dead_diaeresis
+ control keycode 33 = Control_asciicircum
+
+keycode 30 = dollar asterisk VoidSymbol yen
+ alt keycode 30 = Meta_dollar
+ shift alt keycode 30 = Meta_dollar
+
+
+# 3d row
+
+ altgr keycode 37 = notsign
+ shift altgr keycode 37 = bar
+# alt altgr keycode 37 = Meta_notsign # Doesn't work???
+ shift alt altgr keycode 37 = Meta_bar
+
+
+keycode 39 = ugrave percent
+ shift alt keycode 39 = Meta_percent
+
+keycode 42 = dead_grave sterling at numbersign
+ alt keycode 42 = Meta_grave
+# shift alt keycode 42 = Meta_sterling # doesn't work ?
+ altgr keycode 42 = Meta_at
+ shift altgr keycode 42 = Meta_numbersign
+
+# 4th row
+
+keycode 10 = less greater
+ alt keycode 10 = Meta_less
+ shift alt keycode 10 = Meta_greater
+
+
+keycode 45 = +n N dead_tilde
+ control keycode 45 = Control_n
+ shift control keycode 45 = Control_n
+ alt keycode 45 = Meta_n
+ shift alt keycode 45 = Meta_n
+
+keycode 46 = comma question
+ alt keycode 46 = Meta_comma
+ shift alt keycode 46 = Meta_question
+ shift control keycode 46 = Delete
+
+keycode 43 = semicolon period
+ alt keycode 43 = Meta_semicolon
+ shift alt keycode 43 = Meta_period
+
+keycode 47 = colon slash division backslash
+ alt keycode 47 = Meta_colon
+ shift alt keycode 47 = Meta_slash
+ shift altgr control keycode 47 = Control_backslash
+
+keycode 44 = equal plus
+ alt keycode 44 = Meta_equal
+ shift alt keycode 44 = Meta_plus
+
diff --git a/keymaps/mac/mac-fr2-ext.kmap b/keymaps/mac/mac-fr2-ext.kmap
new file mode 100644
index 0000000..a3c6b99
--- /dev/null
+++ b/keymaps/mac/mac-fr2-ext.kmap
@@ -0,0 +1,250 @@
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = s
+keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = w
+keycode 7 = x
+keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 9 = v
+keycode 10 =
+keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 12 = a
+keycode 13 = z
+keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 15 = r
+keycode 16 = y
+keycode 17 = t
+keycode 18 = ampersand one
+ alt keycode 18 = Meta_one
+keycode 19 = e two at nul nul Meta_two
+keycode 20 = quotedbl three
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = apostrophe four dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six six
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = parenleft five
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = minus underscore
+ alt keycode 24 = Meta_equal
+keycode 25 = nine nine bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = e seven braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = parenright asciitilde backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = exclam eight bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = a zero braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = dollar asterisk asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = asciicircum bar
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = u percent
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = m
+ alt keycode 41 = Meta_semicolon
+keycode 42 = grave numbersign
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = semicolon period
+ alt keycode 43 = Meta_comma
+keycode 44 = equal plus
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = comma question
+keycode 47 = colon slash
+ control keycode 47 = Compose
+ alt keycode 47 = backslash
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = less greater
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +q +Q Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-fr3.kmap b/keymaps/mac/mac-fr3.kmap
new file mode 100644
index 0000000..1d355ad
--- /dev/null
+++ b/keymaps/mac/mac-fr3.kmap
@@ -0,0 +1,320 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+keymaps 0-9,11-12
+
+keycode 53 = Escape
+ alt keycode 53 = Meta_Escape
+ shift alt keycode 53 = Meta_Escape
+
+# 1st row
+keycode 10 = at numbersign
+ alt keycode 10 = Meta_at
+ control keycode 10 = nul
+ shift alt keycode 10 = Meta_numbersign
+
+keycode 18 = ampersand one
+ alt keycode 18 = Meta_ampersand
+ shift alt keycode 18 = Meta_one
+
+keycode 19 = eacute two
+ shift alt keycode 19 = Meta_two
+
+keycode 20 = quotedbl three
+ alt keycode 20 = Meta_quotedbl
+ shift alt keycode 20 = Meta_three
+
+keycode 21 = apostrophe four
+ alt keycode 21 = Meta_apostrophe
+ shift alt keycode 21 = Meta_four
+
+keycode 23 = parenleft five braceleft bracketleft
+ alt keycode 23 = Meta_parenleft
+ shift alt keycode 23 = Meta_five
+
+# **** insert meta, control
+keycode 22 = section six
+ shift alt keycode 22 = Meta_six
+
+keycode 26 = egrave seven guillemotleft guillemotright
+ shift alt keycode 26 = Meta_seven
+
+keycode 28 = exclam eight
+ alt keycode 28 = Meta_exclam
+ shift alt keycode 28 = Meta_eight
+
+keycode 25 = ccedilla nine
+ shift alt keycode 25 = Meta_nine
+
+keycode 29 = agrave zero
+ shift alt keycode 29 = Meta_zero
+
+keycode 27 = parenright degree braceright bracketright
+ alt keycode 27 = Meta_parenright
+
+keycode 24 = minus underscore
+ alt keycode 24 = Meta_minus
+ shift alt keycode 24 = Meta_underscore
+ shift control keycode 24 = Control_underscore
+
+keycode 51 = Delete
+ alt keycode 51 = Meta_Delete
+ shift alt keycode 51 = Meta_Delete
+
+# 2nd row
+
+keycode 48 = Tab
+ alt keycode 48 = Meta_Tab
+ shift alt keycode 48 = Meta_Tab
+
+keycode 12 = a
+keycode 13 = z
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = y
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+
+keycode 33 = dead_circumflex dead_diaeresis
+ control keycode 33 = Control_asciicircum
+
+keycode 30 = dollar asterisk VoidSymbol yen
+ alt keycode 30 = Meta_dollar
+ shift alt keycode 30 = Meta_dollar
+
+keycode 36 = Return
+
+# 3d row
+
+keycode 57 = Caps_Lock
+keycode 0 = q
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+ altgr keycode 37 = notsign
+ shift altgr keycode 37 = bar
+# alt altgr keycode 37 = Meta_notsign # Doesn't work???
+ shift alt altgr keycode 37 = Meta_bar
+
+keycode 41 = m
+
+keycode 39 = ugrave percent
+ shift alt keycode 39 = Meta_percent
+
+keycode 42 = dead_grave sterling at numbersign
+ alt keycode 42 = Meta_grave
+# shift alt keycode 42 = Meta_sterling # doesn't work ?
+ altgr keycode 42 = Meta_at
+ shift altgr keycode 42 = Meta_numbersign
+
+# 4th row
+keycode 56 = Shift
+
+keycode 50 = less greater
+ alt keycode 50 = Meta_less
+ shift alt keycode 50 = Meta_greater
+
+keycode 6 = w
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+
+keycode 45 = +n N dead_tilde
+ control keycode 45 = Control_n
+ shift control keycode 45 = Control_n
+ alt keycode 45 = Meta_n
+ shift alt keycode 45 = Meta_n
+
+keycode 46 = comma question
+ alt keycode 46 = Meta_comma
+ shift alt keycode 46 = Meta_question
+ shift control keycode 46 = Delete
+
+keycode 43 = semicolon period
+ alt keycode 43 = Meta_semicolon
+ shift alt keycode 43 = Meta_period
+
+keycode 47 = colon slash division backslash
+ alt keycode 47 = Meta_colon
+ shift alt keycode 47 = Meta_slash
+ shift altgr control keycode 47 = Control_backslash
+
+keycode 44 = equal plus
+ alt keycode 44 = Meta_equal
+ shift alt keycode 44 = Meta_plus
+
+# 5th row
+keycode 54 = Control
+
+# Option key:
+keycode 58 = AltGr
+
+# Apple/Command key:
+keycode 55 = Alt
+
+keycode 49 = space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+
+# 'fn' (yellow key labels)
+
+## TO DO
+# keycode 35 = KP_Multiply
+
+# function keys
+
+keycode 127 = F1 F11 Console_13
+ control keycode 127 = F1
+ alt keycode 127 = Console_1
+ control alt keycode 127 = Console_1
+keycode 127 = F2 F12 Console_14
+ control keycode 127 = F2
+ alt keycode 127 = Console_2
+ control alt keycode 127 = Console_2
+keycode 99 = F3 F13 Console_15
+ control keycode 99 = F3
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 127 = F4 F14 Console_16
+ control keycode 127 = F4
+ alt keycode 127 = Console_4
+ control alt keycode 127 = Console_4
+keycode 96 = F5 F15 Console_17
+ control keycode 96 = F5
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6 F16 Console_18
+ control keycode 97 = F6
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7 F17 Console_19
+ control keycode 98 = F7
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+# keycode 58 = F8 F18 Console_20
+# control keycode 58 = F8
+# alt keycode 58 = Console_8
+# control alt keycode 58 = Console_8
+keycode 127 = F9 F19 Console_21
+ control keycode 127 = F9
+ alt keycode 127 = Console_9
+ control alt keycode 127 = Console_9
+keycode 127 = F10 F20 Console_22
+ control keycode 127 = F10
+ alt keycode 127 = Console_10
+ control alt keycode 127 = Console_10
+keycode 71 = Num_Lock
+keycode 127 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 127 = Show_State
+ alt keycode 127 = Scroll_Lock
+keycode 89 = KP_7
+ alt keycode 89 = Ascii_7
+keycode 91 = KP_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ alt keycode 92 = Ascii_9
+keycode 78 = KP_Subtract
+keycode 86 = KP_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ alt keycode 88 = Ascii_6
+keycode 69 = KP_Add
+keycode 83 = KP_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ alt keycode 85 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 65 = KP_Period
+# altgr control keycode 65 = Boot
+ control alt keycode 65 = Boot
+keycode 127 = Last_Console
+keycode 127 =
+keycode 127 = less greater bar
+ alt keycode 127 = Meta_less
+keycode 62 = F11 F11 Console_23
+ control keycode 62 = F11
+ alt keycode 62 = Console_11
+ control alt keycode 62 = Console_11
+keycode 127 = F12 F12 Console_24
+ control keycode 127 = F12
+ alt keycode 127 = Console_12
+ control alt keycode 127 = Console_12
+keycode 76 = KP_Enter
+keycode 75 = KP_Divide
+keycode 127 = Control_backslash
+ control keycode 127 = Control_backslash
+ alt keycode 127 = Control_backslash
+
+keycode 127 = Break
+keycode 127 = Find
+keycode 62 = Up
+keycode 127 = Prior
+ shift keycode 127 = Scroll_Backward
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 127 = Select
+keycode 61 = Down
+keycode 127 = Next
+ shift keycode 127 = Scroll_Forward
+keycode 127 = Insert
+keycode 127 = Remove
+# altgr control keycode 127 = Boot
+ control alt keycode 127 = Boot
+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 Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+keycode 127 =
+# control shift keycode 127 = Boot
+control alt keycode 65 = Boot
+control alt keycode 117 = Boot
diff --git a/keymaps/mac/mac-fr_CH-latin1.imap b/keymaps/mac/mac-fr_CH-latin1.imap
new file mode 100644
index 0000000..cccc6c8
--- /dev/null
+++ b/keymaps/mac/mac-fr_CH-latin1.imap
@@ -0,0 +1,48 @@
+! Swiss-french keymap for PowerBook G3 (Bronze Series)
+! augmented by keys on macally ikey keyboard
+
+! Shift 1
+! AltGr 2 command key
+! Ctrl 4
+! Alt 8 option key
+! ShiftL 16 not used
+! ShiftR 32 not used
+! CtrlL 64 not used
+! CtrlR 128 not used
+
+! plain,shift,command,control,alt,ctrl-alt
+# from http://www.claudio.ch/Etc/pb-sg.kmap
+# modified by olh@suse.de from mac-de_CH
+
+alt_is_meta
+include "mac-qwerty-layout"
+include "mac-linux-keys-bare.inc"
+include "mac-euro.map"
+compose as usual for "iso-8859-1"
+strings as usual
+
+
+keycode 50 = section degree asciitilde nul Meta_asciitilde
+keycode 18 = one plus
+keycode 19 = two quotedbl at
+keycode 20 = three asterisk numbersign
+keycode 21 = four ccedilla backslash Control_backslash Meta_backslash Meta_Control_backslash
+keycode 22 = six ampersand bracketright Control_bracketright Meta_bracketright Meta_Control_bracketright
+keycode 23 = five percent bracketleft Escape bracketleft Meta_Escape
+keycode 24 = asciicircum grave Control_asciicircum Meta_asciicircum Meta_Control_asciicircum
+keycode 25 = nine parenright braceright Control_bracketright Meta_braceright Meta_Control_bracketright
+keycode 26 = seven slash bar Control_backslash Meta_bar Meta_Control_backslash
+keycode 27 = apostrophe question
+keycode 28 = eight parenleft braceleft Escape Meta_braceleft Meta_Escape
+keycode 29 = zero equal nul nul Meta_equal Meta_nul
+keycode 30 = dead_diaeresis exclam
+keycode 39 = agrave adiaeresis
+keycode 41 = eacute odiaeresis
+keycode 42 = dollar sterling
+keycode 43 = comma semicolon
+keycode 44 = minus underscore backslash Control_underscore Meta_minus Meta_Control_underscore
+keycode 47 = period colon
+keycode 10 = less greater
+keycode 33 = egrave +udiaeresis
+keycode 16 = z
+keycode 6 = y
diff --git a/keymaps/mac/mac-ibook-de-deadkeys.kmap b/keymaps/mac/mac-ibook-de-deadkeys.kmap
new file mode 100644
index 0000000..8b14e8c
--- /dev/null
+++ b/keymaps/mac/mac-ibook-de-deadkeys.kmap
@@ -0,0 +1,310 @@
+# Keymap from Helge Kreutzmann <kreutzm@itp.uni-hannover.de>
+# for iBook in German
+# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=250259 for details
+#
+# Same as another German keymap, except AltGr mapped to Apple key
+#
+# - Alastair McKinstry, 2004-05-23
+# TODO:
+# Compress this somehow by detemining minimal subset and 'include'ing them
+#
+keymaps 0-2,4-6,8-10,12
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl twosuperior nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three section threesuperior Escape
+ alt keycode 4 = Meta_three
+ control alt keycode 4 = Meta_Escape
+keycode 5 = four dollar
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_ampersand
+keycode 8 = seven slash braceleft
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_slash
+ altgr alt keycode 8 = Meta_braceleft
+keycode 9 = eight parenleft bracketleft
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_parenleft
+ altgr alt keycode 9 = Meta_bracketleft
+keycode 10 = nine parenright bracketright
+ altgr control keycode 10 = Control_bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenright
+ altgr alt keycode 10 = Meta_bracketright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_equal
+ altgr alt keycode 11 = Meta_braceright
+keycode 12 = ssharp question backslash
+ altgr control keycode 12 = Control_backslash
+ shift alt keycode 12 = Meta_question
+ altgr alt keycode 12 = Meta_backslash
+keycode 13 = dead_acute dead_grave
+ alt keycode 13 = 0x08b4
+ shift alt keycode 13 = Meta_grave
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q at Control_q Control_q Control_q Meta_q Meta_Q Meta_at Meta_Control_q
+keycode 17 = w
+keycode 18 = +e +E euro Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = z
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = +udiaeresis +Udiaeresis
+keycode 27 = plus asterisk dead_tilde
+ alt keycode 27 = Meta_plus
+ shift alt keycode 27 = Meta_asterisk
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = +l +L at
+keycode 39 = +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis
+keycode 41 = dead_circumflex degree Meta_asciicircum Control_asciicircum
+ control alt keycode 41 = Meta_Control_asciicircum
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_apostrophe
+keycode 44 = y
+keycode 45 = x
+keycode 46 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = +m +M mu Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_Control_m
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_semicolon
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+ shift alt keycode 53 = Meta_underscore
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Comma
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ shift alt keycode 86 = Meta_greater
+ altgr alt keycode 86 = Meta_bar
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ 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 = KP_Enter
+# altgr keycode 96 = Hex_F
+keycode 96 = Delete
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ altgr alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+ altgr alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+ altgr alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+ altgr alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+ altgr alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+ altgr alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+ altgr alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+ altgr alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+ shift keycode 125 = Compose
+keycode 126 = Incr_Console
+keycode 127 = Compose
+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 Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
diff --git a/keymaps/mac/mac-ibook-de.kmap b/keymaps/mac/mac-ibook-de.kmap
new file mode 100644
index 0000000..3d7cf68
--- /dev/null
+++ b/keymaps/mac/mac-ibook-de.kmap
@@ -0,0 +1,310 @@
+# Keymap from Helge Kreutzmann <kreutzm@itp.uni-hannover.de>
+# for iBook in German
+# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=250259 for details
+#
+# Same as another German keymap, except AltGr mapped to Apple key
+#
+# - Alastair McKinstry, 2004-05-23
+# TODO:
+# Compress this somehow by detemining minimal subset and 'include'ing them
+#
+keymaps 0-2,4-6,8-10,12
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl twosuperior nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three section threesuperior Escape
+ alt keycode 4 = Meta_three
+ control alt keycode 4 = Meta_Escape
+keycode 5 = four dollar
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_ampersand
+keycode 8 = seven slash braceleft
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_slash
+ altgr alt keycode 8 = Meta_braceleft
+keycode 9 = eight parenleft bracketleft
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_parenleft
+ altgr alt keycode 9 = Meta_bracketleft
+keycode 10 = nine parenright bracketright
+ altgr control keycode 10 = Control_bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenright
+ altgr alt keycode 10 = Meta_bracketright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_equal
+ altgr alt keycode 11 = Meta_braceright
+keycode 12 = ssharp question backslash
+ altgr control keycode 12 = Control_backslash
+ shift alt keycode 12 = Meta_question
+ altgr alt keycode 12 = Meta_backslash
+keycode 13 = apostrophe grave
+ alt keycode 13 = 0x08b4
+ shift alt keycode 13 = Meta_grave
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q at Control_q Control_q Control_q Meta_q Meta_Q Meta_at Meta_Control_q
+keycode 17 = w
+keycode 18 = +e +E euro Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = z
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = +udiaeresis +Udiaeresis
+keycode 27 = plus asterisk asciitilde
+ alt keycode 27 = Meta_plus
+ shift alt keycode 27 = Meta_asterisk
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = +l +L at
+keycode 39 = +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis
+keycode 41 = less greater bar
+ alt keycode 41 = Meta_less
+ shift alt keycode 41 = Meta_greater
+ altgr alt keycode 41 = Meta_bar
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_apostrophe
+keycode 44 = y
+keycode 45 = x
+keycode 46 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = +m +M mu Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_Control_m
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_semicolon
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+ shift alt keycode 53 = Meta_underscore
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Comma
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = asciicircum degree Meta_asciicircum Control_asciicircum
+ control alt keycode 86 = Meta_Control_asciicircum
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ 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 = KP_Enter
+# altgr keycode 96 = Hex_F
+keycode 96 = Delete
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ altgr alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+ altgr alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+ altgr alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+ altgr alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+ altgr alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+ altgr alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+ altgr alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+ altgr alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+ shift keycode 125 = Compose
+keycode 126 = Incr_Console
+keycode 127 = Compose
+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 Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
diff --git a/keymaps/mac/mac-it.kmap b/keymaps/mac/mac-it.kmap
new file mode 100644
index 0000000..ebf447e
--- /dev/null
+++ b/keymaps/mac/mac-it.kmap
@@ -0,0 +1,48 @@
+# Apple Keyboard Italiana
+# Cristiano Bertossi bertossi@polimedia.it
+# it-cris.map
+# 18 August 1998
+# modified by olh@suse.de
+
+alt_is_meta
+include "mac-azerty-layout"
+include "mac-linux-keys-bare.inc"
+include "mac-euro.map"
+compose as usual for "iso-8859-1"
+strings as usual
+
+
+# Prima riga
+keycode 50 = at numbersign
+keycode 18 = ampersand one guillemotleft
+keycode 19 = quotedbl two
+keycode 20 = apostrophe three grave
+keycode 21 = parenleft four braceleft bracketleft
+keycode 23 = ccedilla five Ccedilla
+keycode 22 = egrave six
+keycode 26 = parenright seven braceright bracketright
+keycode 28 = sterling eight
+keycode 25 = agrave nine
+keycode 29 = eacute zero
+keycode 27 = minus underscore
+keycode 24 = equal plus
+keycode 51 = Delete Remove
+
+# Seconda riga
+keycode 33 = igrave asciicircum
+keycode 30 = dollar asterisk
+
+# Terza riga
+keycode 39 = ugrave percent
+keycode 42 = section degree at
+
+# Quarta riga
+keycode 10 = less greater
+keycode 8 = c C copyright
+keycode 45 = n
+ altgr keycode 45 = asciitilde
+keycode 46 = comma question questiondown
+keycode 43 = semicolon period
+keycode 47 = colon slash bar backslash
+keycode 44 = ograve exclam
+
diff --git a/keymaps/mac/mac-macbook-de.kmap b/keymaps/mac/mac-macbook-de.kmap
new file mode 100644
index 0000000..37490e3
--- /dev/null
+++ b/keymaps/mac/mac-macbook-de.kmap
@@ -0,0 +1,310 @@
+# Keymap from Helge Kreutzmann <kreutzm@itp.uni-hannover.de>
+# for iBook in German
+# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=250259 for details
+#
+# Same as another German keymap, except AltGr mapped to Apple key
+#
+# - Alastair McKinstry, 2004-05-23
+# TODO:
+# Compress this somehow by detemining minimal subset and 'include'ing them
+#
+keymaps 0-2,4-6,8-10,12
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl twosuperior nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three section threesuperior Escape
+ alt keycode 4 = Meta_three
+ control alt keycode 4 = Meta_Escape
+keycode 5 = four dollar
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_ampersand
+keycode 8 = seven slash braceleft
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_slash
+ altgr alt keycode 8 = Meta_braceleft
+keycode 9 = eight parenleft bracketleft
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_parenleft
+ altgr alt keycode 9 = Meta_bracketleft
+keycode 10 = nine parenright bracketright
+ altgr control keycode 10 = Control_bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenright
+ altgr alt keycode 10 = Meta_bracketright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_equal
+ altgr alt keycode 11 = Meta_braceright
+keycode 12 = ssharp question backslash
+ altgr control keycode 12 = Control_backslash
+ shift alt keycode 12 = Meta_question
+ altgr alt keycode 12 = Meta_backslash
+keycode 13 = apostrophe grave
+ alt keycode 13 = 0x08b4
+ shift alt keycode 13 = Meta_grave
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q at Control_q Control_q Control_q Meta_q Meta_Q Meta_at Meta_Control_q
+keycode 17 = w
+keycode 18 = +e +E euro Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = z
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = +udiaeresis +Udiaeresis
+keycode 27 = plus asterisk asciitilde
+ alt keycode 27 = Meta_plus
+ shift alt keycode 27 = Meta_asterisk
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = +l +L at
+keycode 39 = +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis
+keycode 86 = asciicircum degree Meta_asciicircum Control_asciicircum
+ control alt keycode 86 = Meta_Control_asciicircum
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_apostrophe
+keycode 44 = y
+keycode 45 = x
+keycode 46 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = +m +M mu Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_Control_m
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_semicolon
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+ shift alt keycode 53 = Meta_underscore
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Comma
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 41 = less greater bar
+ alt keycode 41 = Meta_less
+ shift alt keycode 41 = Meta_greater
+ altgr alt keycode 41 = Meta_bar
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ 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 = KP_Enter
+# altgr keycode 96 = Hex_F
+keycode 96 = Delete
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ altgr alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+ altgr alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+ altgr alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+ altgr alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+ altgr alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+ altgr alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+ altgr alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+ altgr alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = Incr_Console
+keycode 126 = AltGr
+ shift keycode 126 = Compose
+keycode 127 = Compose
+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 Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
diff --git a/keymaps/mac/mac-macbook-fr.kmap b/keymaps/mac/mac-macbook-fr.kmap
new file mode 100644
index 0000000..70dafd0
--- /dev/null
+++ b/keymaps/mac/mac-macbook-fr.kmap
@@ -0,0 +1,311 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+# changes : Etienne Herlent <eherlent@linux-france.org> june 2000
+# adapted to "linux" keycodes :
+# Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
+# changes for '=' symbol from the numeric keybap to work :
+# Etienne Herlent <eherlent@linux-france.org> 14-jan-2001
+# adapted for Latin9 alphabet (ISO-8859-15) :
+# Etienne Herlent <eherlent@linux-france.org> 18-mar-2005
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+#keymaps 0-9,11-12
+
+compose as usual for "iso-8859-1"
+alt_is_meta
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+
+# 1st row
+keycode 86 = at numbersign
+ altgr keycode 86 = periodcentered
+ alt keycode 86 = Meta_at
+ control keycode 86 = nul
+ shift alt keycode 86 = Meta_numbersign
+
+keycode 2 = ampersand one VoidSymbol dead_acute
+ alt keycode 2 = Meta_ampersand
+ shift alt keycode 2 = Meta_one
+
+keycode 3 = eacute two ediaeresis Eacute
+ shift alt keycode 3 = Meta_two
+
+keycode 4 = quotedbl three
+ alt keycode 4 = Meta_quotedbl
+ shift alt keycode 4 = Meta_three
+
+keycode 5 = apostrophe four
+ alt keycode 5 = Meta_apostrophe
+ shift alt keycode 5 = Meta_four
+
+keycode 6 = parenleft five braceleft bracketleft
+ alt keycode 6 = Meta_parenleft
+ shift alt keycode 6 = Meta_five
+
+# **** insert meta, control
+keycode 7 = section six paragraph aring
+ shift alt keycode 7 = Meta_six
+
+keycode 8 = egrave seven guillemotleft guillemotright
+ shift alt keycode 8 = Meta_seven
+
+keycode 9 = exclam eight exclamdown Ucircumflex
+ alt keycode 9 = Meta_exclam
+ shift alt keycode 9 = Meta_eight
+
+keycode 10 = ccedilla nine Ccedilla Aacute
+ shift alt keycode 10 = Meta_nine
+
+keycode 11 = agrave zero oslash
+ shift alt keycode 11 = Meta_zero
+
+keycode 12 = parenright degree braceright bracketright
+ alt keycode 12 = Meta_parenright
+
+keycode 13 = minus underscore
+ alt keycode 13 = Meta_minus
+ shift alt keycode 13 = Meta_underscore
+ shift control keycode 13 = Control_underscore
+
+keycode 14 = Delete BackSpace
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+
+# 2nd row
+
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+
+keycode 16 = +a +A ae AE
+ control keycode 16 = Control_a
+ shift control keycode 16 = Control_a
+ control alt keycode 16 = Meta_Control_a
+keycode 17 = +z +Z Acircumflex Aring
+ control keycode 17 = Control_z
+ shift control keycode 17 = Control_z
+ control alt keycode 16 = Meta_Control_z
+keycode 18 = +e +E ecircumflex Ecircumflex
+keycode 19 = +r +R registered currency
+keycode 20 = +t +T
+keycode 21 = +y +Y Uacute VoidSymbol
+keycode 22 = +u +U VoidSymbol ordfeminine
+keycode 23 = +i +I icircumflex idiaeresis
+keycode 24 = +o +O oe OE
+keycode 25 = +p +P VoidSymbol Ugrave
+keycode 26 = dead_circumflex dead_diaeresis ocircumflex Ocircumflex
+ control keycode 26 = Control_asciicircum
+keycode 27 = dollar asterisk euro yen
+ alt keycode 27 = Meta_dollar
+ shift alt keycode 27 = Meta_dollar
+
+keycode 28 = Return
+
+# 3d row
+
+keycode 58 = Caps_Lock
+keycode 30 = +q +Q acircumflex Agrave
+ control keycode 30 = Control_q
+ shift control keycode 30 = Control_q
+ control alt keycode 30 = Meta_Control_q
+keycode 31 = +s +S Ograve VoidSymbol
+keycode 32 = +d +D
+keycode 33 = +f +F
+keycode 34 = +g +G
+keycode 35 = +h +H Igrave Icircumflex
+keycode 36 = +j +J Idiaeresis Iacute
+keycode 37 = +k +K Egrave Ediaeresis
+keycode 38 = +l +L notsign bar
+# alt altgr keycode 38 = Meta_notsign # Doesn't work???
+ shift alt altgr keycode 38 = Meta_bar
+keycode 39 = +m +M mu Oacute
+keycode 40 = ugrave percent Ugrave ucircumflex
+ shift alt keycode 40 = Meta_percent
+keycode 43 = dead_grave pound at numbersign
+ alt keycode 43 = Meta_grave
+# shift alt keycode 43 = Meta_sterling # doesn't work ?
+# altgr keycode 43 = Meta_at
+# shift altgr keycode 43 = Meta_numbersign
+
+# 4th row
+keycode 42 = Shift
+
+keycode 41 = less greater
+
+keycode 44 = +w +W
+ control keycode 44 = Control_w
+ shift control keycode 44 = Control_w
+ control alt keycode 44 = Meta_Control_w
+keycode 45 = +x +X
+keycode 46 = +c +C copyright cent
+keycode 47 = +v +V
+keycode 48 = +b +B ssharp
+
+keycode 49 = +n +N dead_tilde asciitilde
+keycode 50 = comma question VoidSymbol questiondown
+ shift control keycode 50 = Delete
+keycode 51 = semicolon period VoidSymbol periodcentered
+keycode 52 = colon slash division backslash
+ shift altgr control keycode 52 = Control_backslash
+keycode 53 = equal plus VoidSymbol plusminus
+
+# 5th row
+keycode 29 = Control
+
+# Option key:
+keycode 56 = AltGr
+
+# Apple/Command key:
+keycode 125 = Alt
+keycode 126 = Alt
+
+keycode 57 = space space nobreakspace nobreakspace
+ control keycode 57 = nul
+
+# 'fn' (yellow key labels)
+
+## TO DO
+ keycode 55 = KP_Multiply
+
+# function keys
+
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = seven seven
+ alt keycode 71 = Ascii_7
+keycode 72 = eight eight
+ alt keycode 72 = Ascii_8
+keycode 73 = nine nine
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = four four
+ alt keycode 75 = Ascii_4
+keycode 76 = five five
+ alt keycode 76 = Ascii_5
+keycode 77 = six six
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = one one
+ alt keycode 79 = Ascii_1
+keycode 80 = two two
+ alt keycode 80 = Ascii_2
+keycode 81 = three
+ alt keycode 81 = Ascii_3
+keycode 82 = zero zero
+ alt keycode 82 = Ascii_0
+keycode 83 = comma period
+# altgr control keycode 65 = Boot
+ control alt keycode 83 = Boot
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 96 = KP_Enter
+keycode 98 = KP_Divide
+keycode 117 = equal
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 119 = Pause
+keycode 110 = Insert
+keycode 111 = Remove
+keycode 102 = Home
+keycode 107 = End
+keycode 54 = Shift
+keycode 124 = AltGr
+
+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 Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+#
+
diff --git a/keymaps/mac/mac-pl_m-ext.kmap b/keymaps/mac/mac-pl_m-ext.kmap
new file mode 100644
index 0000000..f655b9d
--- /dev/null
+++ b/keymaps/mac/mac-pl_m-ext.kmap
@@ -0,0 +1,260 @@
+# To jest klawiatura maka w ukladzie maszynistki dla new input layer.
+# Znaki specjalne jak w MacOS-PL
+# Dla starego sterownika ADB jest mac-pl_m-ext1.kmap
+# Wszelkie uwagi na jareks@kurier.szczecin.pl
+#
+# This is a mac polish typists keymap.
+# Special characters like MacOS-PL
+# For old ADB driver use mac-pl_m.ext1.kmap
+# All sugestions to jareks@kurier.szczecin.pl
+
+keymaps 0-5,8,12
+strings as usual
+charset "iso-8859-2"
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = y
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 10 = less greater
+keycode 11 = b
+keycode 12 = q
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 16 = z
+keycode 17 = t
+keycode 18 = one section ampersand
+ alt keycode 18 = Meta_one
+keycode 19 = two percent at nul nul Meta_two
+keycode 20 = three exclam numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four question dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six equal
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five plus
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = bracketleft bracketright
+ alt keycode 24 = Meta_equal
+keycode 25 = nine slash backslash
+ alt keycode 25 = Meta_nine
+keycode 26 = seven colon nul Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = +zabovedot +Zabovedot apostrophe nul Meta_minus
+keycode 28 = eight underscore bar Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero quotedbl braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = parenleft parenright nul Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = +oacute +zacute +Oacute +Zacute
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = +aogonek +eogonek +Aogonek +Eogonek
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = +lstroke +Lstroke
+ alt keycode 41 = Meta_semicolon
+keycode 42 = semicolon dollar apostrophe asciitilde
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = period +sacute +Sacute
+ alt keycode 43 = Meta_period
+keycode 44 = minus +cacute +Cacute
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = comma +nacute +Nacute
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_comma
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = asciicircum asterisk grave
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 =
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-pl_m-ext1.kmap b/keymaps/mac/mac-pl_m-ext1.kmap
new file mode 100644
index 0000000..035c006
--- /dev/null
+++ b/keymaps/mac/mac-pl_m-ext1.kmap
@@ -0,0 +1,260 @@
+# To jest klawiatura maka w ukladzie maszynistki dla new input layer.
+# Znaki specjalne jak w MacOS-PL
+# Dla starego sterownika ADB jest mac-pl_m-ext1.kmap
+# Wszelkie uwagi na jareks@kurier.szczecin.pl
+#
+# This is a mac polish typists keymap.
+# Special characters like MacOS-PL
+# For old ADB driver use mac-pl_m.ext1.kmap
+# All sugestions to jareks@kurier.szczecin.pl
+
+keymaps 0-5,8,12
+strings as usual
+charset "iso-8859-2"
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = y
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 50 = less greater
+keycode 11 = b
+keycode 12 = q
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 16 = z
+keycode 17 = t
+keycode 18 = one section ampersand
+ alt keycode 18 = Meta_one
+keycode 19 = two percent at nul nul Meta_two
+keycode 20 = three exclam numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four question dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six equal
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five plus
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = bracketleft bracketright
+ alt keycode 24 = Meta_equal
+keycode 25 = nine slash backslash
+ alt keycode 25 = Meta_nine
+keycode 26 = seven colon nul Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = +zabovedot +Zabovedot apostrophe nul Meta_minus
+keycode 28 = eight underscore bar Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero quotedbl braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = parenleft parenright nul Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = +oacute +zacute +Oacute +Zacute
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = +aogonek +eogonek +Aogonek +Eogonek
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = +lstroke +Lstroke
+ alt keycode 41 = Meta_semicolon
+keycode 42 = semicolon dollar apostrophe asciitilde
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = period +sacute +Sacute
+ alt keycode 43 = Meta_period
+keycode 44 = minus +cacute +Cacute
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = comma +nacute +Nacute
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_comma
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 10 = asciicircum asterisk grave
+ control keycode 10 = nul
+ alt keycode 10 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 =
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-pt-latin1.kmap b/keymaps/mac/mac-pt-latin1.kmap
new file mode 100644
index 0000000..d6382a3
--- /dev/null
+++ b/keymaps/mac/mac-pt-latin1.kmap
@@ -0,0 +1,29 @@
+# mac-pt-latin1.kmap Ricardo Cabral <bfe00991@mail.telepac.pt>
+
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+include "mac-de-latin1.map"
+
+keycode 16 = y
+keycode 6 = z
+keycode 10 = less greater
+keycode 18 = one exclam
+keycode 19 = two quotedbl at
+keycode 20 = three numbersign sterling
+keycode 21 = four dollar section
+keycode 23 = five percent
+keycode 22 = six ampersand
+keycode 26 = seven slash
+keycode 28 = eight parenleft braceleft
+keycode 25 = nine parenright braceright
+keycode 29 = zero equal
+keycode 27 = apostrophe question
+keycode 24 = plus asterisk
+keycode 30 = dead_acute dead_grave
+keycode 33 = masculine ordfeminine
+keycode 39 = asciitilde asciicircum
+keycode 41 = ccedilla Ccedilla
+keycode 42 = backslash bar
+keycode 43 = comma semicolon
+keycode 44 = minus underscore
+keycode 47 = period colon
diff --git a/keymaps/mac/mac-se.kmap b/keymaps/mac/mac-se.kmap
new file mode 100644
index 0000000..34f0581
--- /dev/null
+++ b/keymaps/mac/mac-se.kmap
@@ -0,0 +1,32 @@
+# mac-se.kmap olh@suse.de
+
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+
+keycode 50 = section degree
+keycode 18 = one exclam copyright
+keycode 19 = two quotedbl
+keycode 20 = three numbersign sterling
+keycode 21 = four dollar dollar Control_backslash
+keycode 23 = five percent
+keycode 22 = six ampersand
+keycode 26 = seven slash bar backslash
+keycode 28 = eight parenleft bracketleft
+keycode 25 = nine parenright bracketright
+keycode 29 = zero equal
+keycode 27 = minus question
+keycode 24 = plus grave
+keycode 30 = aring Aring
+keycode 33 = dead_diaeresis asciicircum asciitilde
+keycode 41 = odiaeresis Odiaeresis
+keycode 39 = adiaeresis Adiaeresis ae AE
+keycode 42 = apostrophe asterisk
+keycode 10 = less greater
+keycode 43 = comma semicolon
+keycode 44 = minus underscore
+keycode 47 = period colon
+keycode 65 = KP_Period
diff --git a/keymaps/mac/mac-uk.kmap b/keymaps/mac/mac-uk.kmap
new file mode 100644
index 0000000..93040ed
--- /dev/null
+++ b/keymaps/mac/mac-uk.kmap
@@ -0,0 +1,57 @@
+# mac-uk.kmap olh@suse.de
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 18 = one exclam exclamdown
+ alt keycode 18 = Meta_one
+keycode 19 = two at
+keycode 20 = three sterling numbersign
+ control keycode 20 = Escape
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six asciicircum section
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent macron
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = equal plus
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 33 = bracketleft braceleft
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 39 = apostrophe quotedbl
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma less
+ alt keycode 43 = Meta_comma
+keycode 44 = slash question
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 47 = period greater
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 65 = KP_Period
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
diff --git a/keymaps/mac/mac-us-dvorak.kmap b/keymaps/mac/mac-us-dvorak.kmap
new file mode 100644
index 0000000..042e77b
--- /dev/null
+++ b/keymaps/mac/mac-us-dvorak.kmap
@@ -0,0 +1,262 @@
+# Dvorak kmap for Macintosh extended keyboard (released under the GNU
+# Public License)
+#
+# Michael 'Mickey' Sattler <michael@GeekTimes.com>
+# Version 1.0.0 of 14 February 2000
+#
+# Tested on my Apple Macintosh G3 Series PowerBook 1999 (bronze) a/k/a Lombard
+# under LinuxPPC 1999 Q3 (Red Hat).
+#
+# Tested on Apple Macintosh 7200/90 under Debian 2.2r2 (Potato). (WC Brennan)
+#
+# BUG? keycodes 0 and 90 are both defined as 'a'
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 0 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 1 = o
+keycode 2 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 3 = u
+keycode 4 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 5 = i
+keycode 6 = semicolon colon
+ alt keycode 6 = Meta_semicolon
+keycode 7 = q
+keycode 8 = j
+keycode 9 = k
+keycode 10 =
+keycode 11 = x
+keycode 12 = apostrophe quotedbl
+ control keycode 12 = Control_g
+ alt keycode 12 = Meta_apostrophe
+keycode 13 = comma less
+ alt keycode 13 = Meta_comma
+keycode 14 = period greater
+ control keycode 14 = Compose
+ alt keycode 14 = Meta_period
+keycode 15 = p
+keycode 16 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 17 = y
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two at at nul nul Meta_two
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = bracketright braceright
+ alt keycode 24 = Meta_bracketright
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = bracketleft braceleft
+ alt keycode 27 = Meta_bracketleft
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = equal plus
+ alt keycode 30 = Meta_equal
+keycode 31 = r
+keycode 32 = g
+keycode 33 = slash question
+ control keycode 33 = Delete
+ alt keycode 33 = Meta_slash
+keycode 34 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 35 = l
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = n
+keycode 38 = h
+keycode 39 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 40 = t
+keycode 41 = s
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = w
+keycode 44 = z
+keycode 45 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 46 = m
+keycode 47 = v
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-us-ext.kmap b/keymaps/mac/mac-us-ext.kmap
new file mode 100644
index 0000000..3edf411
--- /dev/null
+++ b/keymaps/mac/mac-us-ext.kmap
@@ -0,0 +1,249 @@
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 1 = s
+keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = z
+keycode 7 = x
+keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 9 = v
+keycode 10 =
+keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 12 = q
+keycode 13 = w
+keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 15 = r
+keycode 16 = y
+keycode 17 = t
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two at at nul nul Meta_two
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = equal plus
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = bracketleft braceleft
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = apostrophe quotedbl
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma less
+ alt keycode 43 = Meta_comma
+keycode 44 = slash question
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = period greater
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-us-std.kmap b/keymaps/mac/mac-us-std.kmap
new file mode 100644
index 0000000..1edbb61
--- /dev/null
+++ b/keymaps/mac/mac-us-std.kmap
@@ -0,0 +1,259 @@
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 1 = s
+keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = z
+keycode 7 = x
+keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 9 = v
+keycode 10 =
+keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 12 = q
+keycode 13 = w
+keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 15 = r
+keycode 16 = y
+keycode 17 = t
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+ control alt keycode 18 = Console_1
+keycode 19 = two at at nul nul Meta_two
+ control alt keycode 19 = Console_2
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+ control alt keycode 20 = Console_3
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+ control alt keycode 21 = Console_4
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+ control alt keycode 22 = Console_6
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+ control alt keycode 23 = Console_5
+keycode 24 = equal plus
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+ control alt keycode 25 = Console_9
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+ control alt keycode 26 = Console_7
+keycode 27 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+ control alt keycode 28 = Console_8
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+ control alt keycode 29 = Console_10
+keycode 30 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = bracketleft braceleft
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = apostrophe quotedbl
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma less
+ alt keycode 43 = Meta_comma
+keycode 44 = slash question
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = period greater
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-us.kmap b/keymaps/mac/mac-us.kmap
new file mode 100644
index 0000000..8ca5457
--- /dev/null
+++ b/keymaps/mac/mac-us.kmap
@@ -0,0 +1,63 @@
+#keymaps 0-2,4-5,8,9,12
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+#keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+#keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+#keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+#keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+#keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two at at nul nul Meta_two
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = equal plus
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 33 = bracketleft braceleft
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 39 = apostrophe quotedbl
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma less
+ alt keycode 43 = Meta_comma
+keycode 44 = slash question
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 47 = period greater
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 65 = KP_Period
+#keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock