summaryrefslogtreecommitdiff
path: root/keymaps/sun
diff options
context:
space:
mode:
Diffstat (limited to 'keymaps/sun')
-rw-r--r--keymaps/sun/sun-pl-altgraph.kmap394
-rw-r--r--keymaps/sun/sun-pl.kmap415
-rw-r--r--keymaps/sun/sundvorak.kmap281
-rw-r--r--keymaps/sun/sunkeymap.kmap281
-rw-r--r--keymaps/sun/sunt4-es.kmap258
-rw-r--r--keymaps/sun/sunt4-fi-latin1.kmap249
-rw-r--r--keymaps/sun/sunt4-ja.kmap8
-rw-r--r--keymaps/sun/sunt4-no-latin1.kmap253
-rw-r--r--keymaps/sun/sunt5-cz-us.kmap692
-rw-r--r--keymaps/sun/sunt5-de-latin1.kmap249
-rw-r--r--keymaps/sun/sunt5-es.kmap264
-rw-r--r--keymaps/sun/sunt5-fi-latin1.kmap253
-rw-r--r--keymaps/sun/sunt5-fr-latin1.kmap283
-rw-r--r--keymaps/sun/sunt5-ja.kmap281
-rw-r--r--keymaps/sun/sunt5-no.kmap282
-rw-r--r--keymaps/sun/sunt5-ru.kmap383
-rw-r--r--keymaps/sun/sunt5-trqalt.kmap295
-rw-r--r--keymaps/sun/sunt5-uk.kmap255
-rw-r--r--keymaps/sun/sunt5-us-cz.kmap692
-rw-r--r--keymaps/sun/sunt6-uk.kmap24
20 files changed, 6092 insertions, 0 deletions
diff --git a/keymaps/sun/sun-pl-altgraph.kmap b/keymaps/sun/sun-pl-altgraph.kmap
new file mode 100644
index 0000000..8b2b857
--- /dev/null
+++ b/keymaps/sun/sun-pl-altgraph.kmap
@@ -0,0 +1,394 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+# Polish version - 1998 rzm@icm.edu.pl
+keymaps 0-5,8,12
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+# altgr keycode 0x38 = Hex_E
+ altgr keycode 0x38 = +eogonek
+ altgr shift keycode 0x38 = +Eogonek
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+ altgr keycode 0x3e = +oacute
+ altgr shift keycode 0x3e = +Oacute
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+# altgr keycode 0x4d = Hex_A
+ altgr keycode 0x4d = +aogonek
+ altgr shift keycode 0x4d = +Aogonek
+keycode 0x4e = s
+ altgr keycode 0x4e = +sacute
+ altgr shift keycode 0x4e = +Sacute
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+ altgr keycode 0x55 = +lstroke
+ altgr shift keycode 0x55 = +Lstroke
+keycode 0x56 = semicolon colon
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+ altgr keycode 0x64 = +zabovedot
+ altgr shift keycode 0x64 = +Zabovedot
+keycode 0x65 = x
+ altgr keycode 0x65 = +zacute
+ altgr shift keycode 0x65 = +Zacute
+keycode 0x66 = c
+# altgr keycode 0x66 = Hex_C
+ altgr keycode 0x66 = +cacute
+ altgr shift keycode 0x66 = +Cacute
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+ altgr keycode 0x69 = +nacute
+ altgr shift keycode 0x69 = +Nacute
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+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 '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' 'E' to 'Æ'
+compose 'a' 'e' 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 '~' '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 '`' '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 'i' 'j' to 'ÿ'
diff --git a/keymaps/sun/sun-pl.kmap b/keymaps/sun/sun-pl.kmap
new file mode 100644
index 0000000..049f952
--- /dev/null
+++ b/keymaps/sun/sun-pl.kmap
@@ -0,0 +1,415 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+#
+# Polish version - 1998 Rafa³ Maszkowski <rzm@icm.edu.pl>
+# 19980221 Meta_R used as CtrlR
+#
+keymaps 0-5,8,12,128-129
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# AltGr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+# AltGr keycode 0x38 = Hex_E
+ AltGr keycode 0x38 = +eogonek
+ AltGr Shift keycode 0x38 = +Eogonek
+ CtrlR keycode 0x38 = +eogonek
+ CtrlR Shift keycode 0x38 = +Eogonek
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+ AltGr keycode 0x3e = +oacute
+ AltGr Shift keycode 0x3e = +Oacute
+ CtrlR keycode 0x3e = +oacute
+ CtrlR Shift keycode 0x3e = +Oacute
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ AltGr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ AltGr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ AltGr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+# AltGr keycode 0x4d = Hex_A
+ AltGr keycode 0x4d = +aogonek
+ AltGr Shift keycode 0x4d = +Aogonek
+ CtrlR keycode 0x4d = +aogonek
+ CtrlR Shift keycode 0x4d = +Aogonek
+keycode 0x4e = s
+ AltGr keycode 0x4e = +sacute
+ AltGr Shift keycode 0x4e = +Sacute
+ CtrlR keycode 0x4e = +sacute
+ CtrlR Shift keycode 0x4e = +Sacute
+keycode 0x4f = d
+ AltGr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ AltGr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+ AltGr keycode 0x55 = +lstroke
+ AltGr Shift keycode 0x55 = +Lstroke
+ CtrlR keycode 0x55 = +lstroke
+ CtrlR Shift keycode 0x55 = +Lstroke
+keycode 0x56 = semicolon colon
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ AltGr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ AltGr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ AltGr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ AltGr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+ AltGr keycode 0x64 = +zabovedot
+ AltGr Shift keycode 0x64 = +Zabovedot
+ CtrlR keycode 0x64 = +zabovedot
+ CtrlR Shift keycode 0x64 = +Zabovedot
+keycode 0x65 = x
+ AltGr keycode 0x65 = +zacute
+ AltGr Shift keycode 0x65 = +Zacute
+ CtrlR keycode 0x65 = +zacute
+ CtrlR Shift keycode 0x65 = +Zacute
+keycode 0x66 = c
+# AltGr keycode 0x66 = Hex_C
+ AltGr keycode 0x66 = +cacute
+ AltGr Shift keycode 0x66 = +Cacute
+ CtrlR keycode 0x66 = +cacute
+ CtrlR Shift keycode 0x66 = +Cacute
+keycode 0x67 = v
+keycode 0x68 = b
+ AltGr keycode 0x68 = Hex_B
+keycode 0x69 = n
+ AltGr keycode 0x69 = +nacute
+ AltGr Shift keycode 0x69 = +Nacute
+ CtrlR keycode 0x69 = +nacute
+ CtrlR Shift keycode 0x69 = +Nacute
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ AltGr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ AltGr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ AltGr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, Meta_R, left from space, more convenient for Polish characters
+keycode 0x7a = CtrlR
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+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 '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' 'E' to 'Æ'
+compose 'a' 'e' 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 '~' '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 '`' '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 'i' 'j' to 'ÿ'
diff --git a/keymaps/sun/sundvorak.kmap b/keymaps/sun/sundvorak.kmap
new file mode 100644
index 0000000..330d762
--- /dev/null
+++ b/keymaps/sun/sundvorak.kmap
@@ -0,0 +1,281 @@
+# Dvorak keyboard map for the
+# Sun Type4/Type5 keyboards found on SparcStations
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = bracketleft braceleft
+ control keycode 0x28 = Escape
+ alt keycode 0x28 = Meta_bracketleft
+keycode 0x29 = bracketright braceright asciitilde
+ control keycode 0x29 = Control_bracketright
+ alt keycode 0x29 = Meta_bracketright
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = apostrophe quotedbl
+ control keycode 0x36 = Control_g
+ alt keycode 0x36 = Meta_apostrophe
+keycode 0x37 = comma less
+ alt keycode 0x37 = Meta_comma
+keycode 0x38 = period greater
+ control keycode 0x38 = Compose
+ alt keycode 0x38 = Meta_period
+keycode 0x39 = p
+keycode 0x3a = y
+keycode 0x3b = f
+ altgr keycode 0x3b = Hex_F
+keycode 0x3c = g
+keycode 0x3d = c
+ altgr keycode 0x3d = Hex_C
+keycode 0x3e = r
+keycode 0x3f = l
+keycode 0x40 = slash question
+ control keycode 0x40 = Delete
+ alt keycode 0x40 = Meta_slash
+keycode 0x41 = backslash bar
+ control keycode 0x41 = Control_backslash
+ alt keycode 0x41 = Meta_backslash
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = o
+keycode 0x4f = e
+ altgr keycode 0x4f = Hex_E
+keycode 0x50 = u
+keycode 0x51 = i
+keycode 0x52 = d
+ altgr keycode 0x52 = Hex_D
+keycode 0x53 = h
+keycode 0x54 = t
+keycode 0x55 = n
+keycode 0x56 = s
+keycode 0x57 = minus underscore backslash
+ control keycode 0x57 = Control_underscore
+ shift control keycode 0x57 = Control_underscore
+ alt keycode 0x57 = Meta_minus
+keycode 0x58 = equal plus
+ alt keycode 0x58 = Meta_equal
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = semicolon colon
+ alt keycode 0x64 = Meta_semicolon
+keycode 0x65 = q
+keycode 0x66 = j
+keycode 0x67 = k
+keycode 0x68 = x
+keycode 0x69 = b
+ altgr keycode 0x69 = Hex_B
+keycode 0x6a = m
+keycode 0x6b = w
+keycode 0x6c = v
+keycode 0x6d = z
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunkeymap.kmap b/keymaps/sun/sunkeymap.kmap
new file mode 100644
index 0000000..ff06a36
--- /dev/null
+++ b/keymaps/sun/sunkeymap.kmap
@@ -0,0 +1,281 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = semicolon colon
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunt4-es.kmap b/keymaps/sun/sunt4-es.kmap
new file mode 100644
index 0000000..8ff5f10
--- /dev/null
+++ b/keymaps/sun/sunt4-es.kmap
@@ -0,0 +1,258 @@
+# Sun Type 4 Catalan and Spanish keyboard mapping
+#
+# Antoni Pàmies Olivé <toni@readysoft.net>
+#
+keymaps 0-2,4-5,8-9,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 = bracketright braceright guillemotright
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at
+ control keycode 31 = nul
+ alt keycode 31 = Meta_two
+keycode 32 = three periodcentered numbersign
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar
+ control keycode 33 = Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent degree
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand notsign
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash
+ control keycode 36 = Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft
+ control keycode 37 = Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright backslash
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal bar
+ alt keycode 39 = Meta_zero
+keycode 40 = apostrophe question grave
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = exclamdown questiondown asciitilde
+ alt keycode 41 = Meta_equal
+keycode 42 = ccedilla Ccedilla
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o O masculine
+keycode 63 = p
+keycode 64 = dead_grave dead_circumflex asciicircum
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = plus asterisk asciitilde
+ control keycode 65 = Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Caps_Lock
+keycode 77 = a A ordfeminine Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = ntilde Ntilde
+ alt keycode 86 = Meta_semicolon
+keycode 87 = dead_acute dead_diaeresis braceleft
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = bracketleft braceleft guillemotleft
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ shift alt keycode 88 = Meta_asciitilde
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+ shift alt keycode 107 = Meta_less
+keycode 108 = period colon
+ alt keycode 108 = Meta_period
+ shift alt keycode 108 = Meta_greater
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Control
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt4-fi-latin1.kmap b/keymaps/sun/sunt4-fi-latin1.kmap
new file mode 100644
index 0000000..090d973
--- /dev/null
+++ b/keymaps/sun/sunt4-fi-latin1.kmap
@@ -0,0 +1,249 @@
+# Date: Tue, 30 Mar 1999 05:29:12 +0300 (EET DST)
+# From: Paavo Hartikainen <pahartik@sci.fi>
+# X-Sender: pahartik@simpukka
+# To: Andries.Brouwer@cwi.nl
+# Subject: Re: Keymap for finnish Sun type 4 keyboard
+#
+strings as usual
+compose as usual for "iso-8859-1"
+keymaps 0-2,4-5,8,12
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = Compose
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 = tilde circumflex
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at nul nul Meta_two
+keycode 32 = three numbersign sterling Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 41 = dead_acute dead_grave
+ alt keycode 41 = Meta_equal
+keycode 42 = apostrophe asterisk grave Control_backslash
+ alt keycode 88 = Meta_backslash
+keycode 43 = BackSpace BackSpace
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 =
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = +aring +Aring
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = dead_diaeresis dead_circumflex dead_tilde Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = AltGr
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Caps_Lock
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = +odiaeresis +Odiaeresis
+ alt keycode 86 = Meta_semicolon
+keycode 87 = +adiaeresis +Adiaeresis
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = section onehalf
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 = Find
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+keycode 108 = period colon
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Control
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater bar
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt4-ja.kmap b/keymaps/sun/sunt4-ja.kmap
new file mode 100644
index 0000000..71e032d
--- /dev/null
+++ b/keymaps/sun/sunt4-ja.kmap
@@ -0,0 +1,8 @@
+include "sunt5-ja.kmap"
+
+keycode 0x2a = bracketright braceright asciitilde
+ control keycode 0x2a = Control_bracketright
+ alt keycode 0x2a = Meta_bracketright
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
diff --git a/keymaps/sun/sunt4-no-latin1.kmap b/keymaps/sun/sunt4-no-latin1.kmap
new file mode 100644
index 0000000..a33b0b9
--- /dev/null
+++ b/keymaps/sun/sunt4-no-latin1.kmap
@@ -0,0 +1,253 @@
+# Sun Type 4 Norwegian keyboard mapping
+#
+# Nils Ulltveit-Moe <Nils.Ulltveit-Moe@hia.no>
+#
+# $Id: sunt4-no-latin1.map,v 1.1.1.1 1999/01/01 22:29:32 etonumo Exp $
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 = asciitilde asciicircum dead_diaeresis dead_tilde
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at nul nul Meta_two
+keycode 32 = three numbersign pound
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 41 = backslash dead_acute dead_grave
+ alt keycode 41 = Meta_equal
+keycode 42 = apostrophe asterisk grave
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = +aring +Aring
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = dead_diaeresis dead_circumflex dead_tilde Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Caps_Lock
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = +oslash +Ooblique
+ alt keycode 86 = Meta_semicolon
+keycode 87 = +ae +AE
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = bar section
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+keycode 108 = period colon
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Control
+keycode 120 =
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater bar
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-cz-us.kmap b/keymaps/sun/sunt5-cz-us.kmap
new file mode 100644
index 0000000..9dc5663
--- /dev/null
+++ b/keymaps/sun/sunt5-cz-us.kmap
@@ -0,0 +1,692 @@
+# Czech keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+# Tue Dec 1 1998, Jakub Jelinek <jj@ultra.linux.cz>
+# The primary map is CZ QWERTZ,
+# the real left Meta key acts as a temporary switch to the US keymap,
+# the Front/L5 key acts as a lock into US keymap and back.
+# If you want to have US keymap as primary, use
+# sunt5-us-cz.map.
+# Supports Euro: AltGr+E is Euro, AltGr+C is Cent (in US keymap only),
+# Compose e = is Euro.
+keymaps 0-5,8,12,64-79
+strings as usual
+charset "iso-8859-2"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+ CtrlL keycode 0x05 = F1
+ CtrlL shift keycode 0x05 = F11
+ CtrlL altgr keycode 0x05 = Console_13
+ CtrlL control keycode 0x05 = F1
+ CtrlL alt keycode 0x05 = Console_1
+ CtrlL control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+ CtrlL keycode 0x06 = F2
+ CtrlL shift keycode 0x06 = F12
+ CtrlL altgr keycode 0x06 = Console_14
+ CtrlL control keycode 0x06 = F2
+ CtrlL alt keycode 0x06 = Console_2
+ CtrlL control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+ CtrlL keycode 0x07 = F10
+ CtrlL shift keycode 0x07 = F20
+ CtrlL altgr keycode 0x07 = Console_22
+ CtrlL control keycode 0x07 = F10
+ CtrlL alt keycode 0x07 = Console_10
+ CtrlL control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+ CtrlL keycode 0x08 = F3
+ CtrlL shift keycode 0x08 = F13
+ CtrlL altgr keycode 0x08 = Console_15
+ CtrlL control keycode 0x08 = F3
+ CtrlL alt keycode 0x08 = Console_3
+ CtrlL control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+ CtrlL keycode 0x09 = F11
+ CtrlL shift keycode 0x09 = F11
+ CtrlL altgr keycode 0x09 = Console_23
+ CtrlL control keycode 0x09 = F11
+ CtrlL alt keycode 0x09 = Console_11
+ CtrlL control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+ CtrlL keycode 0x0a = F4
+ CtrlL shift keycode 0x0a = F14
+ CtrlL altgr keycode 0x0a = Console_16
+ CtrlL control keycode 0x0a = F4
+ CtrlL alt keycode 0x0a = Console_4
+ CtrlL control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+ CtrlL keycode 0x0b = F12
+ CtrlL shift keycode 0x0b = F12
+ CtrlL altgr keycode 0x0b = Console_12
+ CtrlL control keycode 0x0b = F12
+ CtrlL alt keycode 0x0b = Console_12
+ CtrlL control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+ CtrlL keycode 0x0c = F5
+ CtrlL shift keycode 0x0c = F15
+ CtrlL altgr keycode 0x0c = Console_17
+ CtrlL control keycode 0x0c = F5
+ CtrlL alt keycode 0x0c = Console_5
+ CtrlL control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+ CtrlL keycode 0x0e = F6
+ CtrlL shift keycode 0x0e = F16
+ CtrlL altgr keycode 0x0e = Console_18
+ CtrlL control keycode 0x0e = F6
+ CtrlL alt keycode 0x0e = Console_6
+ CtrlL control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+ CtrlL keycode 0x10 = F7
+ CtrlL shift keycode 0x10 = F17
+ CtrlL altgr keycode 0x10 = Console_19
+ CtrlL control keycode 0x10 = F7
+ CtrlL alt keycode 0x10 = Console_7
+ CtrlL control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+ CtrlL keycode 0x11 = F8
+ CtrlL shift keycode 0x11 = F18
+ CtrlL altgr keycode 0x11 = Console_20
+ CtrlL control keycode 0x11 = F8
+ CtrlL alt keycode 0x11 = Console_8
+ CtrlL control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+ CtrlL keycode 0x12 = F9
+ CtrlL shift keycode 0x12 = F19
+ CtrlL altgr keycode 0x12 = Console_21
+ CtrlL control keycode 0x12 = F9
+ CtrlL alt keycode 0x12 = Console_9
+ CtrlL control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+ CtrlL keycode 0x17 = Scroll_Lock
+ CtrlL shift keycode 0x17 = Show_Memory
+ CtrlL altgr keycode 0x17 = Show_Registers
+ CtrlL control keycode 0x17 = Show_State
+ CtrlL alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+ CtrlL alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+ CtrlL alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+ CtrlL keycode 0x1d = Escape
+ CtrlL alt keycode 0x1d = Meta_Escape
+keycode 0x1e = plus one
+ alt keycode 0x1e = Meta_one
+ CtrlL keycode 0x1e = one
+ CtrlL shift keycode 0x1e = exclam
+ CtrlL alt keycode 0x1e = Meta_one
+keycode 0x1f = ecaron two at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+ CtrlL keycode 0x1f = two
+ CtrlL shift keycode 0x1f = at
+ CtrlL altgr keycode 0x1f = at
+ CtrlL control keycode 0x1f = nul
+ CtrlL shift control keycode 0x1f = nul
+ CtrlL alt keycode 0x1f = Meta_two
+keycode 0x20 = scaron three
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+ CtrlL keycode 0x20 = three
+ CtrlL shift keycode 0x20 = numbersign
+ CtrlL control keycode 0x20 = Escape
+ CtrlL alt keycode 0x20 = Meta_three
+keycode 0x21 = ccaron four dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+ CtrlL keycode 0x21 = four
+ CtrlL shift keycode 0x21 = dollar
+ CtrlL altgr keycode 0x21 = dollar
+ CtrlL control keycode 0x21 = Control_backslash
+ CtrlL alt keycode 0x21 = Meta_four
+keycode 0x22 = rcaron five
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+ CtrlL keycode 0x22 = five
+ CtrlL shift keycode 0x22 = percent
+ CtrlL control keycode 0x22 = Control_bracketright
+ CtrlL alt keycode 0x22 = Meta_five
+keycode 0x23 = zcaron six
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+ CtrlL keycode 0x23 = six
+ CtrlL shift keycode 0x23 = asciicircum
+ CtrlL control keycode 0x23 = Control_asciicircum
+ CtrlL alt keycode 0x23 = Meta_six
+keycode 0x24 = yacute seven braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+ CtrlL keycode 0x24 = seven
+ CtrlL shift keycode 0x24 = ampersand
+ CtrlL altgr keycode 0x24 = braceleft
+ CtrlL control keycode 0x24 = Control_underscore
+ CtrlL alt keycode 0x24 = Meta_seven
+keycode 0x25 = aacute eight bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+ CtrlL keycode 0x25 = eight
+ CtrlL shift keycode 0x25 = asterisk
+ CtrlL altgr keycode 0x25 = bracketleft
+ CtrlL control keycode 0x25 = Delete
+ CtrlL alt keycode 0x25 = Meta_eight
+keycode 0x26 = iacute nine bracketright
+ alt keycode 0x26 = Meta_nine
+ CtrlL keycode 0x26 = nine
+ CtrlL shift keycode 0x26 = parenleft
+ CtrlL altgr keycode 0x26 = bracketright
+ CtrlL alt keycode 0x26 = Meta_nine
+keycode 0x27 = eacute zero braceright
+ alt keycode 0x27 = Meta_zero
+ CtrlL keycode 0x27 = zero
+ CtrlL shift keycode 0x27 = parenright
+ CtrlL altgr keycode 0x27 = braceright
+ CtrlL alt keycode 0x27 = Meta_zero
+keycode 0x28 = equal percent backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+ CtrlL keycode 0x28 = minus
+ CtrlL shift keycode 0x28 = underscore
+ CtrlL altgr keycode 0x28 = backslash
+ CtrlL control keycode 0x28 = Control_underscore
+ CtrlL shift control keycode 0x28 = Control_underscore
+ CtrlL alt keycode 0x28 = Meta_minus
+keycode 0x29 = dead_acute dead_circumflex
+ alt keycode 0x29 = Meta_equal
+ CtrlL keycode 0x29 = equal
+ CtrlL shift keycode 0x29 = plus
+ CtrlL alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave semicolon
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+ CtrlL keycode 0x2a = grave
+ CtrlL shift keycode 0x2a = asciitilde
+ CtrlL control keycode 0x2a = nul
+ CtrlL alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+ CtrlL keycode 0x2b = Delete
+ CtrlL shift keycode 0x2b = Delete
+ CtrlL control keycode 0x2b = BackSpace
+ CtrlL alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 = CtrlL_Lock
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+ CtrlL control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+ CtrlL keycode 0x35 = Tab
+ CtrlL shift keycode 0x35 = Tab
+ CtrlL alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = currency
+ altgr shift keycode 0x38 = Hex_E
+ CtrlL altgr keycode 0x38 = currency
+ CtrlL altgr shift keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = z
+ CtrlL keycode 0x3b = y
+ CtrlL shift keycode 0x3b = Y
+ CtrlL altgr keycode 0x3b = y
+ CtrlL altgr shift keycode 0x3b = Y
+ CtrlL control keycode 0x3b = Control_y
+ CtrlL control shift keycode 0x3b = Control_y
+ CtrlL control altgr keycode 0x3b = Control_y
+ CtrlL control altgr shift keycode 0x3b = Control_y
+ CtrlL alt keycode 0x3b = Meta_y
+ CtrlL alt shift keycode 0x3b = Meta_Y
+ CtrlL alt altgr keycode 0x3b = Meta_y
+ CtrlL alt altgr shift keycode 0x3b = Meta_Y
+ CtrlL alt control keycode 0x3b = Meta_Control_y
+ CtrlL alt control shift keycode 0x3b = Meta_Control_y
+ CtrlL alt control altgr keycode 0x3b = Meta_Control_y
+ CtrlL alt control altgr shift keycode 0x3b = Meta_Control_y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = uacute slash
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+ CtrlL keycode 0x40 = bracketleft
+ CtrlL shift keycode 0x40 = braceleft
+ CtrlL control keycode 0x40 = Escape
+ CtrlL alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = parenright parenleft asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+ CtrlL keycode 0x41 = bracketright
+ CtrlL shift keycode 0x41 = braceright
+ CtrlL control keycode 0x41 = Control_bracketright
+ CtrlL alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x42 = Meta_Delete
+ control alt keycode 0x42 = Boot
+ CtrlL keycode 0x42 = Delete
+ CtrlL shift keycode 0x42 = Delete
+ CtrlL control keycode 0x42 = BackSpace
+ CtrlL alt keycode 0x42 = Meta_Delete
+ CtrlL control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+ CtrlL alt keycode 0x44 = Ascii_7
+ CtrlL altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+ CtrlL alt keycode 0x45 = Ascii_8
+ CtrlL altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+ CtrlL alt keycode 0x46 = Ascii_9
+ CtrlL altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+ altgr shift keycode 0x4d = Hex_A
+ CtrlL altgr keycode 0x4d = Hex_A
+ CtrlL altgr shift keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+ altgr shift keycode 0x4f = Hex_D
+ CtrlL altgr keycode 0x4f = Hex_D
+ CtrlL altgr shift keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+ altgr shift keycode 0x50 = Hex_F
+ CtrlL altgr keycode 0x50 = Hex_F
+ CtrlL altgr shift keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = uring quotedbl
+ alt keycode 0x56 = Meta_semicolon
+ CtrlL keycode 0x56 = semicolon
+ CtrlL shift keycode 0x56 = colon
+ CtrlL alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = 0xa7 exclam
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+ CtrlL keycode 0x57 = apostrophe
+ CtrlL shift keycode 0x57 = quotedbl
+ CtrlL control keycode 0x57 = Control_g
+ CtrlL alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+ CtrlL keycode 0x58 = backslash
+ CtrlL shift keycode 0x58 = bar
+ CtrlL control keycode 0x58 = Control_backslash
+ CtrlL alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+ CtrlL alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+ CtrlL alt keycode 0x5b = Ascii_4
+ CtrlL altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+ CtrlL alt keycode 0x5c = Ascii_5
+ CtrlL altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+ CtrlL alt keycode 0x5d = Ascii_6
+ CtrlL altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+ CtrlL alt keycode 0x5e = Ascii_0
+ CtrlL altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+ CtrlL shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = y
+ CtrlL keycode 0x64 = z
+ CtrlL shift keycode 0x64 = Z
+ CtrlL altgr keycode 0x64 = z
+ CtrlL altgr shift keycode 0x64 = Z
+ CtrlL control keycode 0x64 = Control_z
+ CtrlL control shift keycode 0x64 = Control_z
+ CtrlL control altgr keycode 0x64 = Control_z
+ CtrlL control altgr shift keycode 0x64 = Control_z
+ CtrlL alt keycode 0x64 = Meta_z
+ CtrlL alt shift keycode 0x64 = Meta_Z
+ CtrlL alt altgr keycode 0x64 = Meta_z
+ CtrlL alt altgr shift keycode 0x64 = Meta_Z
+ CtrlL alt control keycode 0x64 = Meta_Control_z
+ CtrlL alt control shift keycode 0x64 = Meta_Control_z
+ CtrlL alt control altgr keycode 0x64 = Meta_Control_z
+ CtrlL alt control altgr shift keycode 0x64 = Meta_Control_z
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+ altgr shift keycode 0x66 = Hex_C
+ CtrlL altgr keycode 0x66 = 0xa2
+ CtrlL altgr shift keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+ altgr shift keycode 0x68 = Hex_B
+ CtrlL altgr keycode 0x68 = Hex_B
+ CtrlL altgr shift keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma question
+ alt keycode 0x6b = Meta_comma
+ CtrlL keycode 0x6b = comma
+ CtrlL shift keycode 0x6b = less
+ CtrlL alt keycode 0x6b = Meta_comma
+keycode 0x6c = period colon
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+ CtrlL keycode 0x6c = period
+ CtrlL shift keycode 0x6c = greater
+ CtrlL control keycode 0x6c = Compose
+ CtrlL alt keycode 0x6c = Meta_period
+keycode 0x6d = minus underscore
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+ CtrlL keycode 0x6d = slash
+ CtrlL shift keycode 0x6d = question
+ CtrlL control keycode 0x6d = Delete
+ CtrlL alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+ CtrlL alt keycode 0x70 = Ascii_1
+ CtrlL altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+ CtrlL alt keycode 0x71 = Ascii_2
+ CtrlL altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+ CtrlL alt keycode 0x72 = Ascii_3
+ CtrlL altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+keycode 0x78 = CtrlL
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+ CtrlL keycode 0x79 = space
+ CtrlL shift keycode 0x79 = space
+ CtrlL control keycode 0x79 = nul
+ CtrlL alt keycode 0x79 = Meta_space
+keycode 0x7a = Pause
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+ CtrlL shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+# Compose sequences
+# This should work for latin1 and latin2,
+# unfortunately some keys compose sequences had to be modified
+# a little bit, so that both latin1 and latin2 can be shared,
+# particularly " something has been replaced by : something
+# in latin1 composes.
+compose ',' 'A' to '¡'
+compose '`' 'A' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose 'v' 'A' to 'Ã'
+compose '~' 'A' to 'Ã'
+compose '"' 'A' to 'Ä'
+compose ':' 'A' to 'Ä'
+compose '0' 'A' to 'Å'
+compose 'A' 'A' to 'Å'
+compose 'O' 'A' to 'Å'
+compose ',' 'a' to '±'
+compose '`' 'a' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose 'v' 'a' to 'ã'
+compose '~' 'a' to 'ã'
+compose '"' 'a' to 'ä'
+compose ':' 'a' to 'ä'
+compose '0' 'a' to 'å'
+compose 'a' 'a' to 'å'
+compose 'o' 'a' to 'å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose 'v' 'C' to 'È'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose 'v' 'c' to 'è'
+compose '^' 'D' to 'Ï'
+compose 'v' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '^' 'd' to 'ï'
+compose 'v' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose 'A' 'E' to 'Æ'
+compose '`' 'E' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose 'v' 'E' to 'Ì'
+compose 'a' 'e' to 'æ'
+compose '`' 'e' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose '"' 'e' to 'ë'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose 'v' 'e' to 'ì'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' 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 '"' 'i' to 'ï'
+compose ':' 'i' to 'ï'
+compose 'i' 'j' to 'ÿ'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'L' to 'Å'
+compose '\'' 'l' to 'å'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 'N' to 'Ñ'
+compose '~' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose 'v' 'N' to 'Ò'
+compose '\'' 'n' to 'ñ'
+compose '~' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose 'v' '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 '\'' 'R' to 'À'
+compose '^' 'R' to 'Ø'
+compose 'v' 'R' to 'Ø'
+compose '\'' 'r' to 'à'
+compose '^' 'r' to 'ø'
+compose 'v' 'r' to 'ø'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose 'v' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose 'S' 'S' to 'ß'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose 'v' 's' to '¹'
+compose ',' 's' to 'º'
+compose 's' 's' to 'ß'
+compose '^' 'T' to '«'
+compose 'v' 'T' to '«'
+compose '^' 't' to '»'
+compose 'v' 't' to '»'
+compose ',' 'T' to 'Þ'
+compose ',' 't' to 'þ'
+compose '^' 'U' to 'Ù'
+compose 'o' 'U' to 'Ù'
+compose '`' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '^' 'u' to 'ù'
+compose 'o' 'u' to 'ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose '"' 'y' to 'ÿ'
+compose ':' 'y' to 'ÿ'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose 'v' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose 'v' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose 's' 'z' to 'ß'
+compose 'e' '=' to '¤'
diff --git a/keymaps/sun/sunt5-de-latin1.kmap b/keymaps/sun/sunt5-de-latin1.kmap
new file mode 100644
index 0000000..e23914e
--- /dev/null
+++ b/keymaps/sun/sunt5-de-latin1.kmap
@@ -0,0 +1,249 @@
+# german SUN-type-5 keyboard mapping
+# Fri Oct 25 1996, Wolfgang Szöcs <wolfi@tfh-berlin.de>
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 =
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl twosuperior nul nul Meta_two
+keycode 32 = three section threesuperior
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = ssharp question backslash Control_underscore Control_underscore Meta_minus
+keycode 41 = dead_acute dead_grave
+ alt keycode 41 = Meta_equal
+keycode 42 = asciicircum degree
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = +q +Q at
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = z
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = +udiaeresis +Udiaeresis
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = plus asterisk asciitilde Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Control
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = +odiaeresis +Odiaeresis
+ alt keycode 86 = Meta_semicolon
+keycode 87 = +adiaeresis +Adiaeresis
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = numbersign apostrophe grave
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = y
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = +m +M mu Control_m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+keycode 108 = period colon
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Caps_Lock
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater bar
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-es.kmap b/keymaps/sun/sunt5-es.kmap
new file mode 100644
index 0000000..e5755d1
--- /dev/null
+++ b/keymaps/sun/sunt5-es.kmap
@@ -0,0 +1,264 @@
+# Sun Type 5 Spanish keyboard mapping
+#
+# Eduardo Casino <eduardo@medusa.es>
+#
+# Derived somehow from Jon Tombs' Spanish keyboard:
+# Jon Tombs <jon@gtex02.us.es> with corrections from
+# Julio Sanchez <jsanchez@gmv.es>
+#
+keymaps 0-2,4-5,8-9,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 =
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam bar
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at
+ control keycode 31 = nul
+ alt keycode 31 = Meta_two
+keycode 32 = three periodcentered numbersign
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar asciicircum
+ control keycode 33 = Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent asciitilde
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand notsign
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft
+ control keycode 36 = Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft
+ control keycode 37 = Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = apostrophe question grave
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = exclamdown questiondown asciitilde
+ alt keycode 41 = Meta_equal
+keycode 42 = masculine ordfeminine backslash
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = dead_grave dead_circumflex bracketleft
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = plus asterisk bracketright
+ control keycode 65 = Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Control
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = ntilde Ntilde
+ alt keycode 86 = Meta_semicolon
+keycode 87 = dead_acute dead_diaeresis braceleft
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = ccedilla Ccedilla braceright
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ shift alt keycode 88 = Meta_asciitilde
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+ shift alt keycode 107 = Meta_less
+keycode 108 = period colon
+ alt keycode 108 = Meta_period
+ shift alt keycode 108 = Meta_greater
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Caps_Lock
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-fi-latin1.kmap b/keymaps/sun/sunt5-fi-latin1.kmap
new file mode 100644
index 0000000..379dace
--- /dev/null
+++ b/keymaps/sun/sunt5-fi-latin1.kmap
@@ -0,0 +1,253 @@
+# Sun Type 5 Finnish keyboard mapping
+#
+# Riku Meskanen <mesrik@cc.jyu.fi>
+#
+# $Id: sun5-fi-latin1.map,v 1.2 1997/01/09 09:03:59 mesrik Exp $
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 =
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at nul nul Meta_two
+keycode 32 = three numbersign pound
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 41 = dead_acute dead_grave
+ alt keycode 41 = Meta_equal
+keycode 42 = section onehalf
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = +aring +Aring
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = dead_diaeresis dead_circumflex dead_tilde Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Control
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = +odiaeresis +Odiaeresis
+ alt keycode 86 = Meta_semicolon
+keycode 87 = +adiaeresis +Adiaeresis
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = apostrophe asterisk grave
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+keycode 108 = period colon
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Caps_Lock
+keycode 120 =
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater bar
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-fr-latin1.kmap b/keymaps/sun/sunt5-fr-latin1.kmap
new file mode 100644
index 0000000..83e38a6
--- /dev/null
+++ b/keymaps/sun/sunt5-fr-latin1.kmap
@@ -0,0 +1,283 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Encore/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# Annuler/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = ampersand one
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = eacute two asciitilde
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = quotedbl three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = apostrophe four braceleft
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = parenleft five bracketleft
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = minus six bar
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = egrave seven grave
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = underscore eight backslash
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = ccedilla nine asciicircum
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = agrave zero at
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = parenright degree bracketright
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus braceright
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = twosuperior
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# SND_OFF
+keycode 0x2d =
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# Devant/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# Copier/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x37 = z
+keycode 0x38 = e
+ altgr keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = dead_circumflex dead_diaeresis
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = dollar sterling currency
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# Ouvrir/L6
+keycode 0x48 =
+# Coller/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = q
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = +m +M
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = ugrave percent
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = asterisk mu
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# Cher./L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# Couper/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = w
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = comma question
+keycode 0x6b = semicolon period
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = colon slash
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = exclam section
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+keycode 0x7c = less greater
+ alt keycode 0x7c = Meta_less
+keycode 0x7d = KP_Add
+# No keys produce the following
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunt5-ja.kmap b/keymaps/sun/sunt5-ja.kmap
new file mode 100644
index 0000000..58090e5
--- /dev/null
+++ b/keymaps/sun/sunt5-ja.kmap
@@ -0,0 +1,281 @@
+# Japanese Sun Type5 keyboard mapping
+# Sat Sep 30 2000, Masato Bito <masato@www.nets.ce.hiroshima-cu.ac.jp>
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+# kana
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two quotedbl
+ control keycode 0x1f = Control_g
+ alt keycode 0x1f = Meta_two
+ shift control keycode 0x1f = nul
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six ampersand
+ control keycode 0x23 = Control_underscore
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven apostrophe braceleft
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight parenleft bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenright bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero asciitilde braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus equal backslash
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = asciicircum asciitilde
+ control keycode 0x29 = Control_asciicircum
+ alt keycode 0x29 = Meta_asciicircum
+keycode 0x2a = backslash bar
+ control keycode 0x2a = Control_backslash
+ alt keycode 0x2a = Meta_backslash
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = at grave
+ alt keycode 0x40 = Meta_grave
+keycode 0x41 = bracketleft braceleft
+ control keycode 0x41 = Escape
+ alt keycode 0x41 = Meta_bracketleft
+keycode 0x42 = Remove Remove
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = semicolon plus
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = colon asterisk
+keycode 0x58 = bracketright braceright asciitilde
+ control keycode 0x58 = Control_bracketright
+ alt keycode 0x58 = Meta_bracketright
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+#keycode 0x6f = Linefeed
+keycode 0x6f = backslash underscore
+ control keycode 0x6f = Control_backslash
+ alt keycode 0x6f = Meta_backslash
+ shift control keycode 0x6f = Control_underscore
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# kakutei
+keycode 0x73 =
+# henkan
+keycode 0x74 =
+# nihongo On-Off
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunt5-no.kmap b/keymaps/sun/sunt5-no.kmap
new file mode 100644
index 0000000..83cc969
--- /dev/null
+++ b/keymaps/sun/sunt5-no.kmap
@@ -0,0 +1,282 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two quotedbl at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign pound
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four currency dollar onequarter
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent asciitilde
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six ampersand asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven slash braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight parenleft bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenright bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero equal braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = plus question plusminus
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = backslash dead_grave dead_acute
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = bar section brokenbar paragraph
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = aring Aring
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = dead_diaeresis dead_circumflex dead_tilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = oslash Oslash
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = ae AE
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = apostrophe asterisk grave
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma semicolon
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period colon
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = minus underscore
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ Alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c = less greater
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+
diff --git a/keymaps/sun/sunt5-ru.kmap b/keymaps/sun/sunt5-ru.kmap
new file mode 100644
index 0000000..f217b4e
--- /dev/null
+++ b/keymaps/sun/sunt5-ru.kmap
@@ -0,0 +1,383 @@
+# Russian keyboard layout for Type4/5 Sun keyboards
+# Written by Alexander V. Lukyanov <lav@yars.free.net>
+# Version 1.0
+#
+# Uses KOI8-R coding without 'jo'
+#
+keymaps 0-6,8,10,12,14
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+ altgr shift keycode 5 = F11
+ altgr alt keycode 5 = Console_1
+ altgr control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+ altgr shift keycode 6 = F12
+ altgr alt keycode 6 = Console_2
+ altgr control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+ altgr shift keycode 7 = F20
+ altgr alt keycode 7 = Console_10
+ altgr control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+ altgr shift keycode 8 = F13
+ altgr alt keycode 8 = Console_3
+ altgr control alt keycode 8 = Console_3
+keycode 9 = F11
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+ altgr alt keycode 9 = Console_11
+ altgr control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+ altgr shift keycode 10 = F14
+ altgr alt keycode 10 = Console_4
+ altgr control alt keycode 10 = Console_4
+keycode 11 = F12
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+ altgr alt keycode 11 = Console_12
+ altgr control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+ altgr shift keycode 12 = F15
+ altgr alt keycode 12 = Console_5
+ altgr control alt keycode 12 = Console_5
+keycode 13 = AltGr_Lock
+keycode 14 = F6
+ shift keycode 14 = F16
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+ altgr shift keycode 14 = F16
+ altgr alt keycode 14 = Console_6
+ altgr control alt keycode 14 = Console_6
+keycode 15 =
+keycode 16 = F7
+ shift keycode 16 = F17
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+ altgr shift keycode 16 = F17
+ altgr alt keycode 16 = Console_7
+ altgr control alt keycode 16 = Console_7
+keycode 17 = F8
+ shift keycode 17 = F18
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+ altgr shift keycode 17 = F18
+ altgr alt keycode 17 = Console_8
+ altgr control alt keycode 18 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+ altgr shift keycode 18 = F19
+ altgr alt keycode 18 = Console_9
+ altgr control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+ altgr alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+ altgr alt keycode 28 = Incr_Console
+keycode 29 = Escape
+ alt keycode 29 = Meta_Escape
+ altgr alt keycode 29 = Meta_Escape
+keycode 30 = one exclam one exclam
+ alt keycode 30 = Meta_one
+ altgr alt keycode 30 = Meta_one
+keycode 31 = two at two at
+ control keycode 31 = nul
+ alt keycode 31 = Meta_two
+ altgr control keycode 31 = nul
+ altgr alt keycode 31 = Meta_two
+keycode 32 = three numbersign three numbersign
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+ altgr control keycode 32 = Escape
+ altgr alt keycode 32 = Meta_three
+keycode 33 = four dollar four dollar
+ control keycode 33 = Control_backslash
+ alt keycode 33 = Meta_four
+ altgr control keycode 33 = Control_backslash
+ altgr alt keycode 33 = Meta_four
+keycode 34 = five percent five colon
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+ altgr control keycode 34 = Control_bracketright
+ altgr alt keycode 34 = Meta_five
+keycode 35 = six asciicircum six comma
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+ altgr control keycode 35 = Control_asciicircum
+ altgr alt keycode 35 = Meta_six
+keycode 36 = seven ampersand seven period
+ control keycode 36 = Control_underscore
+ alt keycode 36 = Meta_seven
+ altgr alt keycode 36 = Meta_seven
+keycode 37 = eight asterisk eight semicolon
+ control keycode 37 = Delete
+ alt keycode 37 = Meta_eight
+ altgr control keycode 37 = Delete
+ altgr alt keycode 37 = Meta_eight
+keycode 38 = nine parenleft nine parenleft
+ alt keycode 38 = Meta_nine
+ altgr alt keycode 38 = Meta_nine
+keycode 39 = zero parenright zero parenright
+ alt keycode 39 = Meta_zero
+ altgr alt keycode 39 = Meta_zero
+keycode 40 = minus underscore minus underscore
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+ altgr control keycode 40 = Control_underscore
+ altgr alt keycode 40 = Meta_minus
+keycode 41 = equal plus equal plus
+ alt keycode 41 = Meta_equal
+ altgr alt keycode 41 = Meta_equal
+keycode 42 = grave asciitilde grave asciitilde
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+ altgr control keycode 42 = nul
+ altgr alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+ altgr control keycode 43 = BackSpace
+ altgr alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+ altgr control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+ altgr alt keycode 53 = Meta_Tab
+keycode 54 = q
+ altgr keycode 54 = +0xCA
+ altgr shift keycode 54 = +0xEA
+keycode 55 = w
+ altgr keycode 55 = +0xC3
+ altgr shift keycode 55 = +0xE3
+keycode 56 = e
+ altgr keycode 56 = +0xD5
+ altgr shift keycode 56 = +0xF5
+keycode 57 = r
+ altgr keycode 57 = +0xCB
+ altgr shift keycode 57 = +0xEB
+keycode 58 = t
+ altgr keycode 58 = +0xC5
+ altgr shift keycode 58 = +0xE5
+keycode 59 = y
+ altgr keycode 59 = +0xCE
+ altgr shift keycode 59 = +0xEE
+keycode 60 = u
+ altgr keycode 60 = +0xC7
+ altgr shift keycode 60 = +0xE7
+keycode 61 = i
+ altgr keycode 61 = +0xDB
+ altgr shift keycode 61 = +0xFB
+keycode 62 = o
+ altgr keycode 62 = +0xDD
+ altgr shift keycode 62 = +0xFD
+keycode 63 = p
+ altgr keycode 63 = +0xDA
+ altgr shift keycode 63 = +0xFA
+keycode 64 = bracketleft braceleft
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+ altgr control keycode 64 = Escape
+ altgr alt keycode 64 = Meta_bracketleft
+ altgr keycode 64 = +0xC8
+ altgr shift keycode 64 = +0xE8
+keycode 65 = bracketright braceright
+ control keycode 65 = Control_bracketright
+ alt keycode 65 = Meta_bracketright
+ altgr control keycode 65 = Control_bracketright
+ altgr alt keycode 65 = Meta_bracketright
+ altgr keycode 65 = +0xDF
+ altgr shift keycode 65 = +0xFF
+keycode 66 = Remove
+ control alt keycode 66 = Boot
+ altgr control alt keycode 66 = Boot
+keycode 67 =
+keycode 68 = KP_7
+ alt keycode 68 = Ascii_7
+ altgr alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ alt keycode 69 = Ascii_8
+ altgr alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ alt keycode 70 = Ascii_9
+ altgr alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Control
+keycode 77 = a
+ altgr keycode 77 = +0xC6
+ altgr shift keycode 77 = +0xE6
+keycode 78 = s
+ altgr keycode 78 = +0xD9
+ altgr shift keycode 78 = +0xF9
+keycode 79 = d
+ altgr keycode 79 = +0xD7
+ altgr shift keycode 79 = +0xF7
+keycode 80 = f
+ altgr keycode 80 = +0xC1
+ altgr shift keycode 80 = +0xE1
+keycode 81 = g
+ altgr keycode 81 = +0xD0
+ altgr shift keycode 81 = +0xF0
+keycode 82 = h
+ altgr keycode 82 = +0xD2
+ altgr shift keycode 82 = +0xF2
+keycode 83 = j
+ altgr keycode 83 = +0xCF
+ altgr shift keycode 83 = +0xEF
+keycode 84 = k
+ altgr keycode 84 = +0xCC
+ altgr shift keycode 84 = +0xEC
+keycode 85 = l
+ altgr keycode 85 = +0xC4
+ altgr shift keycode 85 = +0xE4
+keycode 86 = semicolon colon
+ alt keycode 86 = Meta_semicolon
+ altgr alt keycode 86 = Meta_semicolon
+ altgr keycode 86 = +0xD6
+ altgr shift keycode 86 = +0xF6
+keycode 87 = apostrophe quotedbl
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+ altgr control keycode 87 = Control_g
+ altgr alt keycode 87 = Meta_apostrophe
+ altgr keycode 87 = +0xDC
+ altgr shift keycode 87 = +0xFC
+keycode 88 = backslash bar backslash bar
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ altgr control keycode 88 = Control_backslash
+ altgr alt keycode 88 = Meta_backslash
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+ altgr alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ alt keycode 91 = Ascii_4
+ altgr alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ alt keycode 92 = Ascii_5
+ altgr alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ alt keycode 93 = Ascii_6
+ altgr alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ alt keycode 94 = Ascii_0
+ altgr alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+ altgr shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+ altgr keycode 100 = +0xD1
+ altgr shift keycode 100 = +0xF1
+keycode 101 = x
+ altgr keycode 101 = +0xDE
+ altgr shift keycode 101 = +0xFE
+keycode 102 = c
+ altgr keycode 102 = +0xD3
+ altgr shift keycode 102 = +0xF3
+keycode 103 = v
+ altgr keycode 103 = +0xCD
+ altgr shift keycode 103 = +0xED
+keycode 104 = b
+ altgr keycode 104 = +0xC9
+ altgr shift keycode 104 = +0xE9
+keycode 105 = n
+ altgr keycode 105 = +0xD4
+ altgr shift keycode 105 = +0xF4
+keycode 106 = m
+ altgr keycode 106 = +0xD8
+ altgr shift keycode 106 = +0xF8
+keycode 107 = comma less
+ alt keycode 107 = Meta_comma
+ altgr alt keycode 107 = Meta_comma
+ altgr keycode 107 = +0xC2
+ altgr shift keycode 107 = +0xE2
+keycode 108 = period greater
+# control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+ altgr alt keycode 108 = Meta_period
+ altgr keycode 108 = +0xC0
+ altgr shift keycode 108 = +0xE0
+keycode 109 = slash question slash question
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+ altgr control keycode 109 = Delete
+ altgr alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ alt keycode 112 = Ascii_1
+ altgr alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ alt keycode 113 = Ascii_2
+ altgr alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ alt keycode 114 = Ascii_3
+ altgr alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Caps_Lock
+keycode 120 =
+keycode 121 = space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+ altgr control keycode 121 = nul
+ altgr alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+ altgr shift keycode 123 = Scroll_Forward
+keycode 124 =
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-trqalt.kmap b/keymaps/sun/sunt5-trqalt.kmap
new file mode 100644
index 0000000..be9b400
--- /dev/null
+++ b/keymaps/sun/sunt5-trqalt.kmap
@@ -0,0 +1,295 @@
+# PC-like Turkish layout. Turkish letters as in Turkish Q keyboard,
+# accessible via AltGr. Encoding Latin5.
+#
+# Baurjan Ismagulov <ibr@ata.cs.hun.edu.tr>
+
+charset "iso-8859-9"
+keymaps 0-15
+strings as usual
+compose as usual for "iso-8859-1"
+
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+# AltGr
+keycode 0x0d = Control
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign dead_circumflex
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+ altgr keycode 0x2e = Hex_B
+keycode 0x2f = KP_Multiply
+ altgr keycode 0x2f = Hex_C
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+ altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = +u +U +ucircumflex +Ucircumflex
+ control keycode 0x3c = Control_u
+ alt keycode 0x3c = Meta_u
+ control alt keycode 0x3c = Meta_Control_u
+keycode 0x3d = +i +I dotlessi Icircumflex
+ control keycode 0x3d = Control_i
+ alt keycode 0x3d = Meta_i
+ control alt keycode 0x3d = Meta_Control_i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft +gbreve +Gbreve
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright +udiaeresis +Udiaeresis
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Remove Remove
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+ altgr control keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+ altgr keycode 0x47 = Hex_D
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = +a +A +acircumflex +Acircumflex
+ control keycode 0x4d = Control_a
+ alt keycode 0x4d = Meta_a
+ control alt keycode 0x4d = Meta_Control_a
+keycode 0x4e = s
+keycode 0x4f = d
+keycode 0x50 = f
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = semicolon colon +scedilla +Scedilla
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl icircumflex Idotabove
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+ altgr keycode 0x5a = Hex_F
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+ altgr keycode 0x62 = Hex_A
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+keycode 0x65 = x
+keycode 0x66 = c
+keycode 0x67 = v
+keycode 0x68 = b
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma less +odiaeresis +Odiaeresis
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater +ccedilla +Ccedilla
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# Left Meta
+keycode 0x78 = Alt
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Right Meta
+keycode 0x7a = AltGr
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+ altgr keycode 0x7d = Hex_E
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunt5-uk.kmap b/keymaps/sun/sunt5-uk.kmap
new file mode 100644
index 0000000..f538690
--- /dev/null
+++ b/keymaps/sun/sunt5-uk.kmap
@@ -0,0 +1,255 @@
+! Translated from PC keytable to Sun Type 4/5 by pc2sun,
+!
+! Copyright 1996 Derrick J Brashear.
+!
+! Permission to use, copy, modify, and distribute this software
+! and its documentation for any purpose and without fee is
+! hereby granted, provided that the above copyright notice
+! and this permission notice appear in all copies and that
+! the above copyright notice appear in any keytables so
+! translated by this software, and that the author's name
+! not be used in advertising or publicity pertaining to
+! distribution of the software without specific, written prior
+! permission.
+! The author makes no representations about the suitability of
+! this software for any purpose. It is provided "as is" without
+! express or implied warranty.
+!
+! Euro support: AltGr+E is Euro, AltGr+C is Cent.
+!
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at
+ control keycode 31 = nul
+ alt keycode 31 = Meta_two
+keycode 32 = three sterling
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar
+ control keycode 33 = Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six asciicircum
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven ampersand braceleft
+ control keycode 36 = Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight asterisk bracketleft
+ control keycode 37 = Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenleft bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero parenright braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = minus underscore backslash
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = equal plus
+ alt keycode 41 = Meta_equal
+keycode 43 = Delete Delete
+ control keycode 43 = Control_underscore
+ alt keycode 43 = Meta_Delete
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = e
+ altgr keycode 56 = currency
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = bracketleft braceleft
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = bracketright braceright asciitilde
+ control keycode 65 = Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 89 = Return
+ alt keycode 89 = 0x080d
+keycode 76 = Control
+keycode 77 = a
+keycode 78 = s
+keycode 79 = d
+keycode 80 = f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = semicolon colon
+ alt keycode 86 = Meta_semicolon
+keycode 87 = apostrophe at
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 42 = grave asciitilde
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 99 = Shift
+keycode 88 = numbersign asciitilde
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ shift alt keycode 88 = Meta_asciitilde
+keycode 124 = backslash bar bar
+ control keycode 124 = Control_backslash
+ alt keycode 124 = Meta_less
+ shift alt keycode 124 = Meta_bar
+keycode 100 = z
+keycode 101 = x
+keycode 102 = c
+ altgr keycode 102 = 0xa2
+keycode 103 = v
+keycode 104 = b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma less
+ alt keycode 107 = Meta_comma
+ shift alt keycode 107 = Meta_less
+keycode 108 = period greater
+ alt keycode 108 = Meta_period
+ shift alt keycode 108 = Meta_greater
+keycode 109 = slash question
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 47 = KP_Multiply
+keycode 19 = Alt
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 119 = Caps_Lock
+keycode 5 = F1 F11 Console_13
+ control keycode 5 = F1
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2 F12 Console_14
+ control keycode 6 = F2
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 8 = F3 F13 Console_15
+ control keycode 8 = F3
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 10 = F4 F14 Console_16
+ control keycode 10 = F4
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 12 = F5 F15 Console_17
+ control keycode 12 = F5
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 14 = F6 F16 Console_18
+ control keycode 14 = F6
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 16 = F7 F17 Console_19
+ control keycode 16 = F7
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ control keycode 17 = F8
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9 F19 Console_21
+ control keycode 18 = F9
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 7 = F10 F20 Console_22
+ control keycode 7 = F10
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 98 = Num_Lock
+keycode 23 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 23 = Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 68 = KP_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 91 = KP_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ alt keycode 93 = Ascii_6
+keycode 125 = KP_Add
+keycode 112 = KP_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ alt keycode 114 = Ascii_3
+keycode 94 = KP_0
+ alt keycode 94 = Ascii_0
+keycode 50 = KP_Period
+ altgr control keycode 50 = Boot
+ control alt keycode 50 = Boot
+keycode 9 = F11 F11 Console_23
+ control keycode 9 = F11
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 11 = F12 F12 Console_24
+ control keycode 11 = F12
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 90 = KP_Enter
+keycode 46 = KP_Divide
+keycode 13 = AltGr
+keycode 52 = Find
+keycode 20 = Up
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 74 = Select
+keycode 27 = Down
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 44 = Insert
+keycode 118 =
+keycode 21 =
+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 = ""
diff --git a/keymaps/sun/sunt5-us-cz.kmap b/keymaps/sun/sunt5-us-cz.kmap
new file mode 100644
index 0000000..e9ad5cc
--- /dev/null
+++ b/keymaps/sun/sunt5-us-cz.kmap
@@ -0,0 +1,692 @@
+# Czech keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+# Tue Dec 1 1998, Jakub Jelinek <jj@ultra.linux.cz>
+# The primary map is US, secondary CZ QWERTZ.
+# The real left Meta key acts as a temporary switch to the CZ keymap,
+# the Front/L5 key acts as a lock into CZ keymap and back.
+# If you want to have CZ keymap as primary, use
+# sunt5-cz-us.map.
+# Supports Euro: AltGr+E is Euro, AltGr+C is Cent (in US keymap only),
+# Compose e = is Euro.
+keymaps 0-5,8,12,64-79
+strings as usual
+charset "iso-8859-2"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+ CtrlL keycode 0x05 = F1
+ CtrlL shift keycode 0x05 = F11
+ CtrlL altgr keycode 0x05 = Console_13
+ CtrlL control keycode 0x05 = F1
+ CtrlL alt keycode 0x05 = Console_1
+ CtrlL control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+ CtrlL keycode 0x06 = F2
+ CtrlL shift keycode 0x06 = F12
+ CtrlL altgr keycode 0x06 = Console_14
+ CtrlL control keycode 0x06 = F2
+ CtrlL alt keycode 0x06 = Console_2
+ CtrlL control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+ CtrlL keycode 0x07 = F10
+ CtrlL shift keycode 0x07 = F20
+ CtrlL altgr keycode 0x07 = Console_22
+ CtrlL control keycode 0x07 = F10
+ CtrlL alt keycode 0x07 = Console_10
+ CtrlL control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+ CtrlL keycode 0x08 = F3
+ CtrlL shift keycode 0x08 = F13
+ CtrlL altgr keycode 0x08 = Console_15
+ CtrlL control keycode 0x08 = F3
+ CtrlL alt keycode 0x08 = Console_3
+ CtrlL control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+ CtrlL keycode 0x09 = F11
+ CtrlL shift keycode 0x09 = F11
+ CtrlL altgr keycode 0x09 = Console_23
+ CtrlL control keycode 0x09 = F11
+ CtrlL alt keycode 0x09 = Console_11
+ CtrlL control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+ CtrlL keycode 0x0a = F4
+ CtrlL shift keycode 0x0a = F14
+ CtrlL altgr keycode 0x0a = Console_16
+ CtrlL control keycode 0x0a = F4
+ CtrlL alt keycode 0x0a = Console_4
+ CtrlL control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+ CtrlL keycode 0x0b = F12
+ CtrlL shift keycode 0x0b = F12
+ CtrlL altgr keycode 0x0b = Console_12
+ CtrlL control keycode 0x0b = F12
+ CtrlL alt keycode 0x0b = Console_12
+ CtrlL control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+ CtrlL keycode 0x0c = F5
+ CtrlL shift keycode 0x0c = F15
+ CtrlL altgr keycode 0x0c = Console_17
+ CtrlL control keycode 0x0c = F5
+ CtrlL alt keycode 0x0c = Console_5
+ CtrlL control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+ CtrlL keycode 0x0e = F6
+ CtrlL shift keycode 0x0e = F16
+ CtrlL altgr keycode 0x0e = Console_18
+ CtrlL control keycode 0x0e = F6
+ CtrlL alt keycode 0x0e = Console_6
+ CtrlL control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+ CtrlL keycode 0x10 = F7
+ CtrlL shift keycode 0x10 = F17
+ CtrlL altgr keycode 0x10 = Console_19
+ CtrlL control keycode 0x10 = F7
+ CtrlL alt keycode 0x10 = Console_7
+ CtrlL control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+ CtrlL keycode 0x11 = F8
+ CtrlL shift keycode 0x11 = F18
+ CtrlL altgr keycode 0x11 = Console_20
+ CtrlL control keycode 0x11 = F8
+ CtrlL alt keycode 0x11 = Console_8
+ CtrlL control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+ CtrlL keycode 0x12 = F9
+ CtrlL shift keycode 0x12 = F19
+ CtrlL altgr keycode 0x12 = Console_21
+ CtrlL control keycode 0x12 = F9
+ CtrlL alt keycode 0x12 = Console_9
+ CtrlL control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+ CtrlL keycode 0x17 = Scroll_Lock
+ CtrlL shift keycode 0x17 = Show_Memory
+ CtrlL altgr keycode 0x17 = Show_Registers
+ CtrlL control keycode 0x17 = Show_State
+ CtrlL alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+ CtrlL alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+ CtrlL alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+ CtrlL keycode 0x1d = Escape
+ CtrlL alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+ CtrlL keycode 0x1e = plus
+ CtrlL shift keycode 0x1e = one
+ CtrlL alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+ CtrlL keycode 0x1f = ecaron
+ CtrlL shift keycode 0x1f = two
+ CtrlL altgr keycode 0x1f = at
+ CtrlL control keycode 0x1f = nul
+ CtrlL shift control keycode 0x1f = nul
+ CtrlL alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+ CtrlL keycode 0x20 = scaron
+ CtrlL shift keycode 0x20 = three
+ CtrlL control keycode 0x20 = Escape
+ CtrlL alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+ CtrlL keycode 0x21 = ccaron
+ CtrlL shift keycode 0x21 = four
+ CtrlL altgr keycode 0x21 = dollar
+ CtrlL control keycode 0x21 = Control_backslash
+ CtrlL alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+ CtrlL keycode 0x22 = rcaron
+ CtrlL shift keycode 0x22 = five
+ CtrlL control keycode 0x22 = Control_bracketright
+ CtrlL alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+ CtrlL keycode 0x23 = zcaron
+ CtrlL shift keycode 0x23 = six
+ CtrlL control keycode 0x23 = Control_asciicircum
+ CtrlL alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+ CtrlL keycode 0x24 = yacute
+ CtrlL shift keycode 0x24 = seven
+ CtrlL altgr keycode 0x24 = braceleft
+ CtrlL control keycode 0x24 = Control_underscore
+ CtrlL alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+ CtrlL keycode 0x25 = aacute
+ CtrlL shift keycode 0x25 = eight
+ CtrlL altgr keycode 0x25 = bracketleft
+ CtrlL control keycode 0x25 = Delete
+ CtrlL alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+ CtrlL keycode 0x26 = iacute
+ CtrlL shift keycode 0x26 = nine
+ CtrlL altgr keycode 0x26 = bracketright
+ CtrlL alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+ CtrlL keycode 0x27 = eacute
+ CtrlL shift keycode 0x27 = zero
+ CtrlL altgr keycode 0x27 = braceright
+ CtrlL alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+ CtrlL keycode 0x28 = equal
+ CtrlL shift keycode 0x28 = percent
+ CtrlL altgr keycode 0x28 = backslash
+ CtrlL control keycode 0x28 = Control_underscore
+ CtrlL shift control keycode 0x28 = Control_underscore
+ CtrlL alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+ CtrlL keycode 0x29 = dead_acute
+ CtrlL shift keycode 0x29 = dead_circumflex
+ CtrlL alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+ CtrlL keycode 0x2a = grave
+ CtrlL shift keycode 0x2a = semicolon
+ CtrlL control keycode 0x2a = nul
+ CtrlL alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+ CtrlL keycode 0x2b = Delete
+ CtrlL shift keycode 0x2b = Delete
+ CtrlL control keycode 0x2b = BackSpace
+ CtrlL alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 = CtrlL_Lock
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+ CtrlL control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+ CtrlL keycode 0x35 = Tab
+ CtrlL shift keycode 0x35 = Tab
+ CtrlL alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = currency
+ altgr shift keycode 0x38 = Hex_E
+ CtrlL altgr keycode 0x38 = currency
+ CtrlL altgr shift keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+ CtrlL keycode 0x3b = z
+ CtrlL shift keycode 0x3b = Z
+ CtrlL altgr keycode 0x3b = z
+ CtrlL altgr shift keycode 0x3b = Z
+ CtrlL control keycode 0x3b = Control_z
+ CtrlL control shift keycode 0x3b = Control_z
+ CtrlL control altgr keycode 0x3b = Control_z
+ CtrlL control altgr shift keycode 0x3b = Control_z
+ CtrlL alt keycode 0x3b = Meta_z
+ CtrlL alt shift keycode 0x3b = Meta_Z
+ CtrlL alt altgr keycode 0x3b = Meta_z
+ CtrlL alt altgr shift keycode 0x3b = Meta_Z
+ CtrlL alt control keycode 0x3b = Meta_Control_z
+ CtrlL alt control shift keycode 0x3b = Meta_Control_z
+ CtrlL alt control altgr keycode 0x3b = Meta_Control_z
+ CtrlL alt control altgr shift keycode 0x3b = Meta_Control_z
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+ CtrlL keycode 0x40 = uacute
+ CtrlL shift keycode 0x40 = slash
+ CtrlL control keycode 0x40 = Escape
+ CtrlL alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+ CtrlL keycode 0x41 = parenright
+ CtrlL shift keycode 0x41 = parenleft
+ CtrlL control keycode 0x41 = Control_bracketright
+ CtrlL alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x42 = Meta_Delete
+ control alt keycode 0x42 = Boot
+ CtrlL keycode 0x42 = Delete
+ CtrlL shift keycode 0x42 = Delete
+ CtrlL control keycode 0x42 = BackSpace
+ CtrlL alt keycode 0x42 = Meta_Delete
+ CtrlL control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+ CtrlL alt keycode 0x44 = Ascii_7
+ CtrlL altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+ CtrlL alt keycode 0x45 = Ascii_8
+ CtrlL altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+ CtrlL alt keycode 0x46 = Ascii_9
+ CtrlL altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+ altgr shift keycode 0x4d = Hex_A
+ CtrlL altgr keycode 0x4d = Hex_A
+ CtrlL altgr shift keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+ altgr shift keycode 0x4f = Hex_D
+ CtrlL altgr keycode 0x4f = Hex_D
+ CtrlL altgr shift keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+ altgr shift keycode 0x50 = Hex_F
+ CtrlL altgr keycode 0x50 = Hex_F
+ CtrlL altgr shift keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = semicolon colon
+ alt keycode 0x56 = Meta_semicolon
+ CtrlL keycode 0x56 = uring
+ CtrlL shift keycode 0x56 = quotedbl
+ CtrlL alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+ CtrlL keycode 0x57 = 0xa7
+ CtrlL shift keycode 0x57 = exclam
+ CtrlL control keycode 0x57 = Control_g
+ CtrlL alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+ CtrlL keycode 0x58 = backslash
+ CtrlL shift keycode 0x58 = bar
+ CtrlL control keycode 0x58 = Control_backslash
+ CtrlL alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+ CtrlL alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+ CtrlL alt keycode 0x5b = Ascii_4
+ CtrlL altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+ CtrlL alt keycode 0x5c = Ascii_5
+ CtrlL altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+ CtrlL alt keycode 0x5d = Ascii_6
+ CtrlL altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+ CtrlL alt keycode 0x5e = Ascii_0
+ CtrlL altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+ CtrlL shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+ CtrlL keycode 0x64 = y
+ CtrlL shift keycode 0x64 = Y
+ CtrlL altgr keycode 0x64 = y
+ CtrlL altgr shift keycode 0x64 = Y
+ CtrlL control keycode 0x64 = Control_y
+ CtrlL control shift keycode 0x64 = Control_y
+ CtrlL control altgr keycode 0x64 = Control_y
+ CtrlL control altgr shift keycode 0x64 = Control_y
+ CtrlL alt keycode 0x64 = Meta_y
+ CtrlL alt shift keycode 0x64 = Meta_Y
+ CtrlL alt altgr keycode 0x64 = Meta_y
+ CtrlL alt altgr shift keycode 0x64 = Meta_Y
+ CtrlL alt control keycode 0x64 = Meta_Control_y
+ CtrlL alt control shift keycode 0x64 = Meta_Control_y
+ CtrlL alt control altgr keycode 0x64 = Meta_Control_y
+ CtrlL alt control altgr shift keycode 0x64 = Meta_Control_y
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = 0xa2
+ altgr shift keycode 0x66 = Hex_C
+ CtrlL altgr keycode 0x66 = Hex_C
+ CtrlL altgr shift keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+ altgr shift keycode 0x68 = Hex_B
+ CtrlL altgr keycode 0x68 = Hex_B
+ CtrlL altgr shift keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+ CtrlL keycode 0x6b = comma
+ CtrlL shift keycode 0x6b = question
+ CtrlL alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+ CtrlL keycode 0x6c = period
+ CtrlL shift keycode 0x6c = colon
+ CtrlL control keycode 0x6c = Compose
+ CtrlL alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+ CtrlL keycode 0x6d = minus
+ CtrlL shift keycode 0x6d = underscore
+ CtrlL control keycode 0x6d = Delete
+ CtrlL alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+ CtrlL alt keycode 0x70 = Ascii_1
+ CtrlL altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+ CtrlL alt keycode 0x71 = Ascii_2
+ CtrlL altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+ CtrlL alt keycode 0x72 = Ascii_3
+ CtrlL altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+keycode 0x78 = CtrlL
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+ CtrlL keycode 0x79 = space
+ CtrlL shift keycode 0x79 = space
+ CtrlL control keycode 0x79 = nul
+ CtrlL alt keycode 0x79 = Meta_space
+keycode 0x7a = Pause
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+ CtrlL shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+# Compose sequences
+# This should work for latin1 and latin2,
+# unfortunately some keys compose sequences had to be modified
+# a little bit, so that both latin1 and latin2 can be shared,
+# particularly " something has been replaced by : something
+# in latin1 composes.
+compose ',' 'A' to '¡'
+compose '`' 'A' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose 'v' 'A' to 'Ã'
+compose '~' 'A' to 'Ã'
+compose '"' 'A' to 'Ä'
+compose ':' 'A' to 'Ä'
+compose '0' 'A' to 'Å'
+compose 'A' 'A' to 'Å'
+compose 'O' 'A' to 'Å'
+compose ',' 'a' to '±'
+compose '`' 'a' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose 'v' 'a' to 'ã'
+compose '~' 'a' to 'ã'
+compose '"' 'a' to 'ä'
+compose ':' 'a' to 'ä'
+compose '0' 'a' to 'å'
+compose 'a' 'a' to 'å'
+compose 'o' 'a' to 'å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose 'v' 'C' to 'È'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose 'v' 'c' to 'è'
+compose '^' 'D' to 'Ï'
+compose 'v' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '^' 'd' to 'ï'
+compose 'v' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose 'A' 'E' to 'Æ'
+compose '`' 'E' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose 'v' 'E' to 'Ì'
+compose 'a' 'e' to 'æ'
+compose '`' 'e' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose '"' 'e' to 'ë'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose 'v' 'e' to 'ì'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' 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 '"' 'i' to 'ï'
+compose ':' 'i' to 'ï'
+compose 'i' 'j' to 'ÿ'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'L' to 'Å'
+compose '\'' 'l' to 'å'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 'N' to 'Ñ'
+compose '~' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose 'v' 'N' to 'Ò'
+compose '\'' 'n' to 'ñ'
+compose '~' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose 'v' '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 '\'' 'R' to 'À'
+compose '^' 'R' to 'Ø'
+compose 'v' 'R' to 'Ø'
+compose '\'' 'r' to 'à'
+compose '^' 'r' to 'ø'
+compose 'v' 'r' to 'ø'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose 'v' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose 'S' 'S' to 'ß'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose 'v' 's' to '¹'
+compose ',' 's' to 'º'
+compose 's' 's' to 'ß'
+compose '^' 'T' to '«'
+compose 'v' 'T' to '«'
+compose '^' 't' to '»'
+compose 'v' 't' to '»'
+compose ',' 'T' to 'Þ'
+compose ',' 't' to 'þ'
+compose '^' 'U' to 'Ù'
+compose 'o' 'U' to 'Ù'
+compose '`' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '^' 'u' to 'ù'
+compose 'o' 'u' to 'ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose '"' 'y' to 'ÿ'
+compose ':' 'y' to 'ÿ'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose 'v' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose 'v' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose 's' 'z' to 'ß'
+compose 'e' '=' to '¤'
diff --git a/keymaps/sun/sunt6-uk.kmap b/keymaps/sun/sunt6-uk.kmap
new file mode 100644
index 0000000..096b4e9
--- /dev/null
+++ b/keymaps/sun/sunt6-uk.kmap
@@ -0,0 +1,24 @@
+# UK Sun type 6 keyboard mapping.
+# Dave Love <d.love@dl.ac.uk> 2002-09-26
+# Public domain.
+
+# The non-ASCII keys marked are sterling, notsign, brokenbar, euro.
+# Also assume cent to go with Euro.
+# This is like the type 5 version, but assumes Latin-9, so we can get
+# `euro' out of it. `brokenbar', marked on the `grave' key won't DTRT.
+
+charset "iso-8859-15"
+include "sun-uk.inc"
+
+# These rules attempt to DTRT for Latin-9 too. The t5 keymap already includes
+# them, but we want them now with the right encoding.
+include "compose.latin1.inc.gz"
+
+keycode 33 = four dollar euro Control_backslash
+ alt keycode 33 = Meta_four
+ shift alt keycode 33 = Meta_dollar
+# brokenbar is marked on the key, but isn't in Latin-9.
+keycode 42 = grave notsign
+ alt keycode 42 = Meta_grave
+keycode 56 = +e +E euro Control_e Control_e Control_e Meta_e Meta_E Meta_Control_e
+keycode 102 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_Control_c