summaryrefslogtreecommitdiffstats
path: root/windows
diff options
context:
space:
mode:
authormösi <mösi@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2009-02-20 15:23:51 +0000
committermösi <mösi@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2009-02-20 15:23:51 +0000
commit70d34cb8fef03b0e3afa071e2afeb1365dff9015 (patch)
tree8cda61c0d997c9c8bd92e9334fdb3a1e3a6c25f4 /windows
parentb962619c1d382f88fb58043b04e6145f6609d27d (diff)
Dynamisches Compose implementiert – allerdings noch recht starr und nicht EXE-tauglich.
git-svn-id: https://svn.neo-layout.org@1677 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to 'windows')
-rw-r--r--windows/neo-vars/src/neo20-all.ahk1
-rw-r--r--windows/neo-vars/src/source/compose-gen.ahk1917
-rw-r--r--windows/neo-vars/src/source/initialize.ahk8
3 files changed, 1925 insertions, 1 deletions
diff --git a/windows/neo-vars/src/neo20-all.ahk b/windows/neo-vars/src/neo20-all.ahk
index 5a81983..047ac6f 100644
--- a/windows/neo-vars/src/neo20-all.ahk
+++ b/windows/neo-vars/src/neo20-all.ahk
@@ -9,6 +9,7 @@ SetWorkingDir, %A_ScriptDir%
#include *i source\compose.generated.ahk
#include *i source\compose-tainted.generated.ahk
#include source\neovarscompose.ahk
+#include source\compose-gen.ahk
; Hier liegt die Tastaturbelegung
#include source\keydefinitions.ahk
diff --git a/windows/neo-vars/src/source/compose-gen.ahk b/windows/neo-vars/src/source/compose-gen.ahk
new file mode 100644
index 0000000..69533bf
--- /dev/null
+++ b/windows/neo-vars/src/source/compose-gen.ahk
@@ -0,0 +1,1917 @@
+; äöü
+
+DefineXKBSym(name,val) {
+ global
+ nlen := StrLen(name)
+ KSYM%nlen% .= name . " "
+ KSCD%nlen% .= val
+}
+
+DefineXKBSyms() {
+ DefineXKBSym("BackSpace" ,"U0008")
+ DefineXKBSym("Tab" ,"U0009")
+ DefineXKBSym("Return" ,"U000D")
+ DefineXKBSym("Delete" ,"S_Del")
+ DefineXKBSym("Multi_key" ,"SComp")
+ DefineXKBSym("Home" ,"SHome")
+ DefineXKBSym("Left" ,"SLeft")
+ DefineXKBSym("Up" ,"S__Up")
+ DefineXKBSym("Right" ,"SRght")
+ DefineXKBSym("Down" ,"SDown")
+ DefineXKBSym("Prior" ,"SPgUp")
+ DefineXKBSym("Page_Up" ,"SPgUp")
+ DefineXKBSym("Next" ,"SPgDn")
+ DefineXKBSym("Page_Down" ,"SPgDn")
+ DefineXKBSym("End" ,"S_End")
+ DefineXKBSym("Insert" ,"S_Ins")
+ DefineXKBSym("KP_Space" ,"SNSpc") ; not
+ DefineXKBSym("KP_Tab" ,"SNTab") ; not
+ DefineXKBSym("KP_Enter" ,"SNEnt")
+ DefineXKBSym("KP_F1" ,"SNF_1") ; not
+ DefineXKBSym("KP_F2" ,"SNF_2") ; not
+ DefineXKBSym("KP_F3" ,"SNF_3") ; not
+ DefineXKBSym("KP_F4" ,"SNF_4") ; not
+ DefineXKBSym("KP_Home" ,"SNHom")
+ DefineXKBSym("KP_Left" ,"SN_Le")
+ DefineXKBSym("KP_Up" ,"SN_Up")
+ DefineXKBSym("KP_Right" ,"SN_Ri")
+ DefineXKBSym("KP_Down" ,"SN_Dn")
+ DefineXKBSym("KP_Prior" ,"SNPUp")
+ DefineXKBSym("KP_Page_Up" ,"SNPUp")
+ DefineXKBSym("KP_Next" ,"SNPDn")
+ DefineXKBSym("KP_Page_Down" ,"SNPDn")
+ DefineXKBSym("KP_End" ,"SNEnd")
+ DefineXKBSym("KP_Begin" ,"SNBgn") ; not
+ DefineXKBSym("KP_Insert" ,"SNIns")
+ DefineXKBSym("KP_Delete" ,"SNDel")
+ DefineXKBSym("KP_Equal" ,"SNEql") ; not
+ DefineXKBSym("KP_Multiply" ,"SNMul")
+ DefineXKBSym("KP_Add" ,"SNAdd")
+ DefineXKBSym("KP_Separator" ,"SNSep") ; not
+ DefineXKBSym("KP_Subtract" ,"SNSub")
+ DefineXKBSym("KP_Decimal" ,"SNDot")
+ DefineXKBSym("KP_Divide" ,"SNDiv")
+ DefineXKBSym("KP_0" ,"SN__0")
+ DefineXKBSym("KP_1" ,"SN__1")
+ DefineXKBSym("KP_2" ,"SN__2")
+ DefineXKBSym("KP_3" ,"SN__3")
+ DefineXKBSym("KP_4" ,"SN__4")
+ DefineXKBSym("KP_5" ,"SN__5")
+ DefineXKBSym("KP_6" ,"SN__6")
+ DefineXKBSym("KP_7" ,"SN__7")
+ DefineXKBSym("KP_8" ,"SN__8")
+ DefineXKBSym("KP_9" ,"SN__9")
+ DefineXKBSym("dead_acute" ,"Tacut")
+ DefineXKBSym("dead_grave" ,"Tgrav")
+ DefineXKBSym("dead_cedilla" ,"Tcedi")
+ DefineXKBSym("dead_abovedot" ,"Tabdt")
+ DefineXKBSym("dead_ogonek" ,"Togon")
+ DefineXKBSym("dead_abovering" ,"Tobrg")
+ DefineXKBSym("dead_circumflex" ,"Tcflx")
+ DefineXKBSym("dead_caron" ,"Tcron")
+ DefineXKBSym("dead_breve" ,"Tbrve")
+ DefineXKBSym("dead_belowdot" ,"Tbldt")
+ DefineXKBSym("dead_tilde" ,"Ttlde")
+ DefineXKBSym("dead_macron" ,"Tmcrn")
+ DefineXKBSym("dead_diaeresis" ,"Tdrss")
+ DefineXKBSym("dead_doubleacute" ,"Tdbac")
+ DefineXKBSym("dead_stroke" ,"Tstrk")
+ DefineXKBSym("dead_iota" ,"Tiota") ; not assigned a dead key in NEO
+ DefineXKBSym("dead_voiced_sound" ,"Tvsnd") ; not assigned a dead key in NEO
+ DefineXKBSym("dead_semivoiced_sound","Tssnd") ; not assigned a dead key in NEO
+ DefineXKBSym("dead_horn" ,"Thorn") ; not assigned a dead key in NEO
+ DefineXKBSym("dead_hook" ,"Thook") ; not assigned a dead key in NEO
+ DefineXKBSym("combining_grave" ,"TCgrv") ; not assigned a dead key in NEO
+ DefineXKBSym("combining_acute" ,"TCact") ; not assigned a dead key in NEO
+ DefineXKBSym("combining_belowdot","TCbdt") ; not assigned a dead key in NEO
+ DefineXKBSym("combining_hook" ,"TChok") ; not assigned a dead key in NEO
+ DefineXKBSym("combining_tilde" ,"TCtld") ; not assigned a dead key in NEO
+ DefineXKBSym("space" ,"U0020")
+ DefineXKBSym("dead_space" ,"U00A0")
+ DefineXKBSym("exclam" ,"U0021")
+ DefineXKBSym("quotedbl" ,"U0022")
+ DefineXKBSym("numbersign" ,"U0023")
+ DefineXKBSym("dollar" ,"U0024")
+ DefineXKBSym("percent" ,"U0025")
+ DefineXKBSym("ampersand" ,"U0026")
+ DefineXKBSym("apostrophe" ,"U0027")
+ DefineXKBSym("quoteright" ,"U0027")
+ DefineXKBSym("parenleft" ,"U0028")
+ DefineXKBSym("parenright" ,"U0029")
+ DefineXKBSym("asterisk" ,"U002A")
+ DefineXKBSym("plus" ,"U002B")
+ DefineXKBSym("comma" ,"U002C")
+ DefineXKBSym("minus" ,"U002D")
+ DefineXKBSym("period" ,"U002E")
+ DefineXKBSym("slash" ,"U002F")
+ DefineXKBSym("0" ,"U0030")
+ DefineXKBSym("1" ,"U0031")
+ DefineXKBSym("2" ,"U0032")
+ DefineXKBSym("3" ,"U0033")
+ DefineXKBSym("4" ,"U0034")
+ DefineXKBSym("5" ,"U0035")
+ DefineXKBSym("6" ,"U0036")
+ DefineXKBSym("7" ,"U0037")
+ DefineXKBSym("8" ,"U0038")
+ DefineXKBSym("9" ,"U0039")
+ DefineXKBSym("colon" ,"U003A")
+ DefineXKBSym("semicolon" ,"U003B")
+ DefineXKBSym("less" ,"U003C")
+ DefineXKBSym("equal" ,"U003D")
+ DefineXKBSym("greater" ,"U003E")
+ DefineXKBSym("question" ,"U003F")
+ DefineXKBSym("at" ,"U0040")
+ DefineXKBSym("A" ,"U0041")
+ DefineXKBSym("B" ,"U0042")
+ DefineXKBSym("C" ,"U0043")
+ DefineXKBSym("D" ,"U0044")
+ DefineXKBSym("E" ,"U0045")
+ DefineXKBSym("F" ,"U0046")
+ DefineXKBSym("G" ,"U0047")
+ DefineXKBSym("H" ,"U0048")
+ DefineXKBSym("I" ,"U0049")
+ DefineXKBSym("J" ,"U004A")
+ DefineXKBSym("K" ,"U004B")
+ DefineXKBSym("L" ,"U004C")
+ DefineXKBSym("M" ,"U004D")
+ DefineXKBSym("N" ,"U004E")
+ DefineXKBSym("O" ,"U004F")
+ DefineXKBSym("P" ,"U0050")
+ DefineXKBSym("Q" ,"U0051")
+ DefineXKBSym("R" ,"U0052")
+ DefineXKBSym("S" ,"U0053")
+ DefineXKBSym("T" ,"U0054")
+ DefineXKBSym("U" ,"U0055")
+ DefineXKBSym("V" ,"U0056")
+ DefineXKBSym("W" ,"U0057")
+ DefineXKBSym("X" ,"U0058")
+ DefineXKBSym("Y" ,"U0059")
+ DefineXKBSym("Z" ,"U005A")
+ DefineXKBSym("bracketleft" ,"U005B")
+ DefineXKBSym("backslash" ,"U005C")
+ DefineXKBSym("bracketright" ,"U005D")
+ DefineXKBSym("asciicircum" ,"U005E")
+ DefineXKBSym("underscore" ,"U005F")
+ DefineXKBSym("grave" ,"U0060")
+ DefineXKBSym("quoteleft" ,"U0060")
+ DefineXKBSym("a" ,"U0061")
+ DefineXKBSym("b" ,"U0062")
+ DefineXKBSym("c" ,"U0063")
+ DefineXKBSym("d" ,"U0064")
+ DefineXKBSym("e" ,"U0065")
+ DefineXKBSym("f" ,"U0066")
+ DefineXKBSym("g" ,"U0067")
+ DefineXKBSym("h" ,"U0068")
+ DefineXKBSym("i" ,"U0069")
+ DefineXKBSym("j" ,"U006A")
+ DefineXKBSym("k" ,"U006B")
+ DefineXKBSym("l" ,"U006C")
+ DefineXKBSym("m" ,"U006D")
+ DefineXKBSym("n" ,"U006E")
+ DefineXKBSym("o" ,"U006F")
+ DefineXKBSym("p" ,"U0070")
+ DefineXKBSym("q" ,"U0071")
+ DefineXKBSym("r" ,"U0072")
+ DefineXKBSym("s" ,"U0073")
+ DefineXKBSym("t" ,"U0074")
+ DefineXKBSym("u" ,"U0075")
+ DefineXKBSym("v" ,"U0076")
+ DefineXKBSym("w" ,"U0077")
+ DefineXKBSym("x" ,"U0078")
+ DefineXKBSym("y" ,"U0079")
+ DefineXKBSym("z" ,"U007A")
+ DefineXKBSym("braceleft" ,"U007B")
+ DefineXKBSym("bar" ,"U007C")
+ DefineXKBSym("braceright" ,"U007D")
+ DefineXKBSym("asciitilde" ,"U007E")
+ DefineXKBSym("ſ" ,"U017F")
+
+; following codes are auto-generated from keysymdef.h (manually disabled if already defined or override)
+
+; DefineXKBSym("BackSpace","U232B")
+; DefineXKBSym("Tab","U21E5")
+; DefineXKBSym("Return","U21B2")
+; DefineXKBSym("Escape","U2327")
+; DefineXKBSym("Delete","U2326")
+; DefineXKBSym("Multi_key","U266B")
+; DefineXKBSym("Home","U21F1")
+; DefineXKBSym("Left","U21E0")
+; DefineXKBSym("Up","U21E1")
+; DefineXKBSym("Right","U21E2")
+; DefineXKBSym("Down","U21E3")
+; DefineXKBSym("Prior","U21DE")
+; DefineXKBSym("Page_Up","U21DE")
+; DefineXKBSym("Next","U21DF")
+; DefineXKBSym("Page_Down","U21DF")
+; DefineXKBSym("End","U21F2")
+; DefineXKBSym("Insert","U2380")
+; DefineXKBSym("KP_Enter","U2386")
+; DefineXKBSym("KP_Home","U21F1")
+; DefineXKBSym("KP_Left","U21E0")
+; DefineXKBSym("KP_Up","U21E1")
+; DefineXKBSym("KP_Right","U21E2")
+; DefineXKBSym("KP_Down","U21E3")
+; DefineXKBSym("KP_Prior","U21DE")
+; DefineXKBSym("KP_Page_Up","U21DE")
+; DefineXKBSym("KP_Next","U21DF")
+; DefineXKBSym("KP_Page_Down","U21DF")
+; DefineXKBSym("KP_End","U21F2")
+; DefineXKBSym("KP_Insert","U2380")
+; DefineXKBSym("KP_Delete","U2326")
+; DefineXKBSym("KP_Multiply","U002A")
+; DefineXKBSym("KP_Add","U002B")
+; DefineXKBSym("KP_Subtract","U002D")
+; DefineXKBSym("KP_Decimal","U2396")
+; DefineXKBSym("KP_Divide","U2215")
+; DefineXKBSym("KP_0","U0030")
+; DefineXKBSym("KP_1","U0031")
+; DefineXKBSym("KP_2","U0032")
+; DefineXKBSym("KP_3","U0033")
+; DefineXKBSym("KP_4","U0034")
+; DefineXKBSym("KP_5","U0035")
+; DefineXKBSym("KP_6","U0036")
+; DefineXKBSym("KP_7","U0037")
+; DefineXKBSym("KP_8","U0038")
+; DefineXKBSym("KP_9","U0039")
+ DefineXKBSym("Shift_L","U21E7")
+ DefineXKBSym("Shift_R","U21E7")
+ DefineXKBSym("Shift_Lock","U21E7")
+; DefineXKBSym("ISO_Left_Tab","U21E4")
+; DefineXKBSym("dead_grave","U0060")
+; DefineXKBSym("dead_acute","U02CA")
+; DefineXKBSym("dead_circumflex","U005E")
+; DefineXKBSym("dead_tilde","U007E")
+; DefineXKBSym("dead_macron","U02C9")
+; DefineXKBSym("dead_breve","U0306")
+; DefineXKBSym("dead_abovedot","U02D9")
+; DefineXKBSym("dead_diaeresis","U00A8")
+; DefineXKBSym("dead_abovering","U02DA")
+; DefineXKBSym("dead_doubleacute","U02DD")
+; DefineXKBSym("dead_caron","U02C7")
+; DefineXKBSym("dead_cedilla","U00B8")
+; DefineXKBSym("dead_ogonek","U02DB")
+; DefineXKBSym("dead_belowdot","U0323")
+; DefineXKBSym("dead_stroke","U0335")
+; DefineXKBSym("space","U0020")
+; DefineXKBSym("exclam","U0021")
+; DefineXKBSym("quotedbl","U0022")
+; DefineXKBSym("numbersign","U0023")
+; DefineXKBSym("dollar","U0024")
+; DefineXKBSym("percent","U0025")
+; DefineXKBSym("ampersand","U0026")
+; DefineXKBSym("apostrophe","U0027")
+; DefineXKBSym("parenleft","U0028")
+; DefineXKBSym("parenright","U0029")
+; DefineXKBSym("asterisk","U002A")
+; DefineXKBSym("plus","U002B")
+; DefineXKBSym("comma","U002C")
+; DefineXKBSym("minus","U002D")
+; DefineXKBSym("period","U002E")
+; DefineXKBSym("slash","U002F")
+; DefineXKBSym("0","U0030")
+; DefineXKBSym("1","U0031")
+; DefineXKBSym("2","U0032")
+; DefineXKBSym("3","U0033")
+; DefineXKBSym("4","U0034")
+; DefineXKBSym("5","U0035")
+; DefineXKBSym("6","U0036")
+; DefineXKBSym("7","U0037")
+; DefineXKBSym("8","U0038")
+; DefineXKBSym("9","U0039")
+; DefineXKBSym("colon","U003A")
+; DefineXKBSym("semicolon","U003B")
+; DefineXKBSym("less","U003C")
+; DefineXKBSym("equal","U003D")
+; DefineXKBSym("greater","U003E")
+; DefineXKBSym("question","U003F")
+; DefineXKBSym("at","U0040")
+; DefineXKBSym("A","U0041")
+; DefineXKBSym("B","U0042")
+; DefineXKBSym("C","U0043")
+; DefineXKBSym("D","U0044")
+; DefineXKBSym("E","U0045")
+; DefineXKBSym("F","U0046")
+; DefineXKBSym("G","U0047")
+; DefineXKBSym("H","U0048")
+; DefineXKBSym("I","U0049")
+; DefineXKBSym("J","U004A")
+; DefineXKBSym("K","U004B")
+; DefineXKBSym("L","U004C")
+; DefineXKBSym("M","U004D")
+; DefineXKBSym("N","U004E")
+; DefineXKBSym("O","U004F")
+; DefineXKBSym("P","U0050")
+; DefineXKBSym("Q","U0051")
+; DefineXKBSym("R","U0052")
+; DefineXKBSym("S","U0053")
+; DefineXKBSym("T","U0054")
+; DefineXKBSym("U","U0055")
+; DefineXKBSym("V","U0056")
+; DefineXKBSym("W","U0057")
+; DefineXKBSym("X","U0058")
+; DefineXKBSym("Y","U0059")
+; DefineXKBSym("Z","U005A")
+; DefineXKBSym("bracketleft","U005B")
+; DefineXKBSym("backslash","U005C")
+; DefineXKBSym("bracketright","U005D")
+; DefineXKBSym("asciicircum","U005E")
+; DefineXKBSym("underscore","U005F")
+; DefineXKBSym("grave","U0060")
+; DefineXKBSym("a","U0061")
+; DefineXKBSym("b","U0062")
+; DefineXKBSym("c","U0063")
+; DefineXKBSym("d","U0064")
+; DefineXKBSym("e","U0065")
+; DefineXKBSym("f","U0066")
+; DefineXKBSym("g","U0067")
+; DefineXKBSym("h","U0068")
+; DefineXKBSym("i","U0069")
+; DefineXKBSym("j","U006A")
+; DefineXKBSym("k","U006B")
+; DefineXKBSym("l","U006C")
+; DefineXKBSym("m","U006D")
+; DefineXKBSym("n","U006E")
+; DefineXKBSym("o","U006F")
+; DefineXKBSym("p","U0070")
+; DefineXKBSym("q","U0071")
+; DefineXKBSym("r","U0072")
+; DefineXKBSym("s","U0073")
+; DefineXKBSym("t","U0074")
+; DefineXKBSym("u","U0075")
+; DefineXKBSym("v","U0076")
+; DefineXKBSym("w","U0077")
+; DefineXKBSym("x","U0078")
+; DefineXKBSym("y","U0079")
+; DefineXKBSym("z","U007A")
+; DefineXKBSym("braceleft","U007B")
+; DefineXKBSym("bar","U007C")
+; DefineXKBSym("braceright","U007D")
+; DefineXKBSym("asciitilde","U007E")
+ DefineXKBSym("nobreakspace","U00A0")
+ DefineXKBSym("exclamdown","U00A1")
+ DefineXKBSym("cent","U00A2")
+ DefineXKBSym("sterling","U00A3")
+ DefineXKBSym("currency","U00A4")
+ DefineXKBSym("yen","U00A5")
+ DefineXKBSym("brokenbar","U00A6")
+ DefineXKBSym("section","U00A7")
+ DefineXKBSym("diaeresis","U00A8")
+ DefineXKBSym("copyright","U00A9")
+ DefineXKBSym("ordfeminine","U00AA")
+ DefineXKBSym("guillemotleft","U00AB")
+ DefineXKBSym("notsign","U00AC")
+ DefineXKBSym("hyphen","U00AD")
+ DefineXKBSym("registered","U00AE")
+ DefineXKBSym("macron","U00AF")
+ DefineXKBSym("degree","U00B0")
+ DefineXKBSym("plusminus","U00B1")
+ DefineXKBSym("twosuperior","U00B2")
+ DefineXKBSym("threesuperior","U00B3")
+ DefineXKBSym("acute","U00B4")
+ DefineXKBSym("mu","U00B5")
+ DefineXKBSym("paragraph","U00B6")
+ DefineXKBSym("periodcentered","U00B7")
+ DefineXKBSym("cedilla","U00B8")
+ DefineXKBSym("onesuperior","U00B9")
+ DefineXKBSym("masculine","U00BA")
+ DefineXKBSym("guillemotright","U00BB")
+ DefineXKBSym("onequarter","U00BC")
+ DefineXKBSym("onehalf","U00BD")
+ DefineXKBSym("threequarters","U00BE")
+ DefineXKBSym("questiondown","U00BF")
+ DefineXKBSym("Agrave","U00C0")
+ DefineXKBSym("Aacute","U00C1")
+ DefineXKBSym("Acircumflex","U00C2")
+ DefineXKBSym("Atilde","U00C3")
+ DefineXKBSym("Adiaeresis","U00C4")
+ DefineXKBSym("Aring","U00C5")
+ DefineXKBSym("AE","U00C6")
+ DefineXKBSym("Ccedilla","U00C7")
+ DefineXKBSym("Egrave","U00C8")
+ DefineXKBSym("Eacute","U00C9")
+ DefineXKBSym("Ecircumflex","U00CA")
+ DefineXKBSym("Ediaeresis","U00CB")
+ DefineXKBSym("Igrave","U00CC")
+ DefineXKBSym("Iacute","U00CD")
+ DefineXKBSym("Icircumflex","U00CE")
+ DefineXKBSym("Idiaeresis","U00CF")
+ DefineXKBSym("ETH","U00D0")
+ DefineXKBSym("Eth","U00D0") ; deprecated
+ DefineXKBSym("Ntilde","U00D1")
+ DefineXKBSym("Ograve","U00D2")
+ DefineXKBSym("Oacute","U00D3")
+ DefineXKBSym("Ocircumflex","U00D4")
+ DefineXKBSym("Otilde","U00D5")
+ DefineXKBSym("Odiaeresis","U00D6")
+ DefineXKBSym("multiply","U00D7")
+ DefineXKBSym("Oslash","U00D8")
+ DefineXKBSym("Ooblique","U00D8")
+ DefineXKBSym("Ugrave","U00D9")
+ DefineXKBSym("Uacute","U00DA")
+ DefineXKBSym("Ucircumflex","U00DB")
+ DefineXKBSym("Udiaeresis","U00DC")
+ DefineXKBSym("Yacute","U00DD")
+ DefineXKBSym("THORN","U00DE")
+ DefineXKBSym("Thorn","U00DE") ; deprecated
+ DefineXKBSym("ssharp","U00DF")
+ DefineXKBSym("agrave","U00E0")
+ DefineXKBSym("aacute","U00E1")
+ DefineXKBSym("acircumflex","U00E2")
+ DefineXKBSym("atilde","U00E3")
+ DefineXKBSym("adiaeresis","U00E4")
+ DefineXKBSym("aring","U00E5")
+ DefineXKBSym("ae","U00E6")
+ DefineXKBSym("ccedilla","U00E7")
+ DefineXKBSym("egrave","U00E8")
+ DefineXKBSym("eacute","U00E9")
+ DefineXKBSym("ecircumflex","U00EA")
+ DefineXKBSym("ediaeresis","U00EB")
+ DefineXKBSym("igrave","U00EC")
+ DefineXKBSym("iacute","U00ED")
+ DefineXKBSym("icircumflex","U00EE")
+ DefineXKBSym("idiaeresis","U00EF")
+ DefineXKBSym("eth","U00F0")
+ DefineXKBSym("ntilde","U00F1")
+ DefineXKBSym("ograve","U00F2")
+ DefineXKBSym("oacute","U00F3")
+ DefineXKBSym("ocircumflex","U00F4")
+ DefineXKBSym("otilde","U00F5")
+ DefineXKBSym("odiaeresis","U00F6")
+ DefineXKBSym("division","U00F7")
+ DefineXKBSym("oslash","U00F8")
+ DefineXKBSym("ooblique","U00F8")
+ DefineXKBSym("ugrave","U00F9")
+ DefineXKBSym("uacute","U00FA")
+ DefineXKBSym("ucircumflex","U00FB")
+ DefineXKBSym("udiaeresis","U00FC")
+ DefineXKBSym("yacute","U00FD")
+ DefineXKBSym("thorn","U00FE")
+ DefineXKBSym("ydiaeresis","U00FF")
+ DefineXKBSym("Aogonek","U0104")
+ DefineXKBSym("breve","U02D8")
+ DefineXKBSym("Lstroke","U0141")
+ DefineXKBSym("Lcaron","U013D")
+ DefineXKBSym("Sacute","U015A")
+ DefineXKBSym("Scaron","U0160")
+ DefineXKBSym("Scedilla","U015E")
+ DefineXKBSym("Tcaron","U0164")
+ DefineXKBSym("Zacute","U0179")
+ DefineXKBSym("Zcaron","U017D")
+ DefineXKBSym("Zabovedot","U017B")
+ DefineXKBSym("aogonek","U0105")
+ DefineXKBSym("ogonek","U02DB")
+ DefineXKBSym("lstroke","U0142")
+ DefineXKBSym("lcaron","U013E")
+ DefineXKBSym("sacute","U015B")
+ DefineXKBSym("caron","U02C7")
+ DefineXKBSym("scaron","U0161")
+ DefineXKBSym("scedilla","U015F")
+ DefineXKBSym("tcaron","U0165")
+ DefineXKBSym("zacute","U017A")
+ DefineXKBSym("doubleacute","U02DD")
+ DefineXKBSym("zcaron","U017E")
+ DefineXKBSym("zabovedot","U017C")
+ DefineXKBSym("Racute","U0154")
+ DefineXKBSym("Abreve","U0102")
+ DefineXKBSym("Lacute","U0139")
+ DefineXKBSym("Cacute","U0106")
+ DefineXKBSym("Ccaron","U010C")
+ DefineXKBSym("Eogonek","U0118")
+ DefineXKBSym("Ecaron","U011A")
+ DefineXKBSym("Dcaron","U010E")
+ DefineXKBSym("Dstroke","U0110")
+ DefineXKBSym("Nacute","U0143")
+ DefineXKBSym("Ncaron","U0147")
+ DefineXKBSym("Odoubleacute","U0150")
+ DefineXKBSym("Rcaron","U0158")
+ DefineXKBSym("Uring","U016E")
+ DefineXKBSym("Udoubleacute","U0170")
+ DefineXKBSym("Tcedilla","U0162")
+ DefineXKBSym("racute","U0155")
+ DefineXKBSym("abreve","U0103")
+ DefineXKBSym("lacute","U013A")
+ DefineXKBSym("cacute","U0107")
+ DefineXKBSym("ccaron","U010D")
+ DefineXKBSym("eogonek","U0119")
+ DefineXKBSym("ecaron","U011B")
+ DefineXKBSym("dcaron","U010F")
+ DefineXKBSym("dstroke","U0111")
+ DefineXKBSym("nacute","U0144")
+ DefineXKBSym("ncaron","U0148")
+ DefineXKBSym("odoubleacute","U0151")
+ DefineXKBSym("udoubleacute","U0171")
+ DefineXKBSym("rcaron","U0159")
+ DefineXKBSym("uring","U016F")
+ DefineXKBSym("tcedilla","U0163")
+ DefineXKBSym("abovedot","U02D9")
+ DefineXKBSym("Hstroke","U0126")
+ DefineXKBSym("Hcircumflex","U0124")
+ DefineXKBSym("Iabovedot","U0130")
+ DefineXKBSym("Gbreve","U011E")
+ DefineXKBSym("Jcircumflex","U0134")
+ DefineXKBSym("hstroke","U0127")
+ DefineXKBSym("hcircumflex","U0125")
+ DefineXKBSym("idotless","U0131")
+ DefineXKBSym("gbreve","U011F")
+ DefineXKBSym("jcircumflex","U0135")
+ DefineXKBSym("Cabovedot","U010A")
+ DefineXKBSym("Ccircumflex","U0108")
+ DefineXKBSym("Gabovedot","U0120")
+ DefineXKBSym("Gcircumflex","U011C")
+ DefineXKBSym("Ubreve","U016C")
+ DefineXKBSym("Scircumflex","U015C")
+ DefineXKBSym("cabovedot","U010B")
+ DefineXKBSym("ccircumflex","U0109")
+ DefineXKBSym("gabovedot","U0121")
+ DefineXKBSym("gcircumflex","U011D")
+ DefineXKBSym("ubreve","U016D")
+ DefineXKBSym("scircumflex","U015D")
+ DefineXKBSym("kra","U0138")
+ DefineXKBSym("Rcedilla","U0156")
+ DefineXKBSym("Itilde","U0128")
+ DefineXKBSym("Lcedilla","U013B")
+ DefineXKBSym("Emacron","U0112")
+ DefineXKBSym("Gcedilla","U0122")
+ DefineXKBSym("Tslash","U0166")
+ DefineXKBSym("rcedilla","U0157")
+ DefineXKBSym("itilde","U0129")
+ DefineXKBSym("lcedilla","U013C")
+ DefineXKBSym("emacron","U0113")
+ DefineXKBSym("gcedilla","U0123")
+ DefineXKBSym("tslash","U0167")
+ DefineXKBSym("ENG","U014A")
+ DefineXKBSym("eng","U014B")
+ DefineXKBSym("Amacron","U0100")
+ DefineXKBSym("Iogonek","U012E")
+ DefineXKBSym("Eabovedot","U0116")
+ DefineXKBSym("Imacron","U012A")
+ DefineXKBSym("Ncedilla","U0145")
+ DefineXKBSym("Omacron","U014C")
+ DefineXKBSym("Kcedilla","U0136")
+ DefineXKBSym("Uogonek","U0172")
+ DefineXKBSym("Utilde","U0168")
+ DefineXKBSym("Umacron","U016A")
+ DefineXKBSym("amacron","U0101")
+ DefineXKBSym("iogonek","U012F")
+ DefineXKBSym("eabovedot","U0117")
+ DefineXKBSym("imacron","U012B")
+ DefineXKBSym("ncedilla","U0146")
+ DefineXKBSym("omacron","U014D")
+ DefineXKBSym("kcedilla","U0137")
+ DefineXKBSym("uogonek","U0173")
+ DefineXKBSym("utilde","U0169")
+ DefineXKBSym("umacron","U016B")
+ DefineXKBSym("Babovedot","U1E02")
+ DefineXKBSym("babovedot","U1E03")
+ DefineXKBSym("Dabovedot","U1E0A")
+ DefineXKBSym("Wgrave","U1E80")
+ DefineXKBSym("Wacute","U1E82")
+ DefineXKBSym("dabovedot","U1E0B")
+ DefineXKBSym("Ygrave","U1EF2")
+ DefineXKBSym("Fabovedot","U1E1E")
+ DefineXKBSym("fabovedot","U1E1F")
+ DefineXKBSym("Mabovedot","U1E40")
+ DefineXKBSym("mabovedot","U1E41")
+ DefineXKBSym("Pabovedot","U1E56")
+ DefineXKBSym("wgrave","U1E81")
+ DefineXKBSym("pabovedot","U1E57")
+ DefineXKBSym("wacute","U1E83")
+ DefineXKBSym("Sabovedot","U1E60")
+ DefineXKBSym("ygrave","U1EF3")
+ DefineXKBSym("Wdiaeresis","U1E84")
+ DefineXKBSym("wdiaeresis","U1E85")
+ DefineXKBSym("sabovedot","U1E61")
+ DefineXKBSym("Wcircumflex","U0174")
+ DefineXKBSym("Tabovedot","U1E6A")
+ DefineXKBSym("Ycircumflex","U0176")
+ DefineXKBSym("wcircumflex","U0175")
+ DefineXKBSym("tabovedot","U1E6B")
+ DefineXKBSym("ycircumflex","U0177")
+ DefineXKBSym("OE","U0152")
+ DefineXKBSym("oe","U0153")
+ DefineXKBSym("Ydiaeresis","U0178")
+ DefineXKBSym("overline","U203E")
+ DefineXKBSym("kana_fullstop","U3002")
+ DefineXKBSym("kana_openingbracket","U300C")
+ DefineXKBSym("kana_closingbracket","U300D")
+ DefineXKBSym("kana_comma","U3001")
+ DefineXKBSym("kana_conjunctive","U30FB")
+ DefineXKBSym("kana_WO","U30F2")
+ DefineXKBSym("kana_a","U30A1")
+ DefineXKBSym("kana_i","U30A3")
+ DefineXKBSym("kana_u","U30A5")
+ DefineXKBSym("kana_e","U30A7")
+ DefineXKBSym("kana_o","U30A9")
+ DefineXKBSym("kana_ya","U30E3")
+ DefineXKBSym("kana_yu","U30E5")
+ DefineXKBSym("kana_yo","U30E7")
+ DefineXKBSym("kana_tsu","U30C3")
+ DefineXKBSym("prolongedsound","U30FC")
+ DefineXKBSym("kana_A","U30A2")
+ DefineXKBSym("kana_I","U30A4")
+ DefineXKBSym("kana_U","U30A6")
+ DefineXKBSym("kana_E","U30A8")
+ DefineXKBSym("kana_O","U30AA")
+ DefineXKBSym("kana_KA","U30AB")
+ DefineXKBSym("kana_KI","U30AD")
+ DefineXKBSym("kana_KU","U30AF")
+ DefineXKBSym("kana_KE","U30B1")
+ DefineXKBSym("kana_KO","U30B3")
+ DefineXKBSym("kana_SA","U30B5")
+ DefineXKBSym("kana_SHI","U30B7")
+ DefineXKBSym("kana_SU","U30B9")
+ DefineXKBSym("kana_SE","U30BB")
+ DefineXKBSym("kana_SO","U30BD")
+ DefineXKBSym("kana_TA","U30BF")
+ DefineXKBSym("kana_CHI","U30C1")
+ DefineXKBSym("kana_TSU","U30C4")
+ DefineXKBSym("kana_TE","U30C6")
+ DefineXKBSym("kana_TO","U30C8")
+ DefineXKBSym("kana_NA","U30CA")
+ DefineXKBSym("kana_NI","U30CB")
+ DefineXKBSym("kana_NU","U30CC")
+ DefineXKBSym("kana_NE","U30CD")
+ DefineXKBSym("kana_NO","U30CE")
+ DefineXKBSym("kana_HA","U30CF")
+ DefineXKBSym("kana_HI","U30D2")
+ DefineXKBSym("kana_FU","U30D5")
+ DefineXKBSym("kana_HE","U30D8")
+ DefineXKBSym("kana_HO","U30DB")
+ DefineXKBSym("kana_MA","U30DE")
+ DefineXKBSym("kana_MI","U30DF")
+ DefineXKBSym("kana_MU","U30E0")
+ DefineXKBSym("kana_ME","U30E1")
+ DefineXKBSym("kana_MO","U30E2")
+ DefineXKBSym("kana_YA","U30E4")
+ DefineXKBSym("kana_YU","U30E6")
+ DefineXKBSym("kana_YO","U30E8")
+ DefineXKBSym("kana_RA","U30E9")
+ DefineXKBSym("kana_RI","U30EA")
+ DefineXKBSym("kana_RU","U30EB")
+ DefineXKBSym("kana_RE","U30EC")
+ DefineXKBSym("kana_RO","U30ED")
+ DefineXKBSym("kana_WA","U30EF")
+ DefineXKBSym("kana_N","U30F3")
+ DefineXKBSym("voicedsound","U309B")
+ DefineXKBSym("semivoicedsound","U309C")
+ DefineXKBSym("Farsi_0","U06F0")
+ DefineXKBSym("Farsi_1","U06F1")
+ DefineXKBSym("Farsi_2","U06F2")
+ DefineXKBSym("Farsi_3","U06F3")
+ DefineXKBSym("Farsi_4","U06F4")
+ DefineXKBSym("Farsi_5","U06F5")
+ DefineXKBSym("Farsi_6","U06F6")
+ DefineXKBSym("Farsi_7","U06F7")
+ DefineXKBSym("Farsi_8","U06F8")
+ DefineXKBSym("Farsi_9","U06F9")
+ DefineXKBSym("Arabic_percent","U066A")
+ DefineXKBSym("Arabic_superscript_alef","U0670")
+ DefineXKBSym("Arabic_tteh","U0679")
+ DefineXKBSym("Arabic_peh","U067E")
+ DefineXKBSym("Arabic_tcheh","U0686")
+ DefineXKBSym("Arabic_ddal","U0688")
+ DefineXKBSym("Arabic_rreh","U0691")
+ DefineXKBSym("Arabic_comma","U060C")
+ DefineXKBSym("Arabic_fullstop","U06D4")
+ DefineXKBSym("Arabic_0","U0660")
+ DefineXKBSym("Arabic_1","U0661")
+ DefineXKBSym("Arabic_2","U0662")
+ DefineXKBSym("Arabic_3","U0663")
+ DefineXKBSym("Arabic_4","U0664")
+ DefineXKBSym("Arabic_5","U0665")
+ DefineXKBSym("Arabic_6","U0666")
+ DefineXKBSym("Arabic_7","U0667")
+ DefineXKBSym("Arabic_8","U0668")
+ DefineXKBSym("Arabic_9","U0669")
+ DefineXKBSym("Arabic_semicolon","U061B")
+ DefineXKBSym("Arabic_question_mark","U061F")
+ DefineXKBSym("Arabic_hamza","U0621")
+ DefineXKBSym("Arabic_maddaonalef","U0622")
+ DefineXKBSym("Arabic_hamzaonalef","U0623")
+ DefineXKBSym("Arabic_hamzaonwaw","U0624")
+ DefineXKBSym("Arabic_hamzaunderalef","U0625")
+ DefineXKBSym("Arabic_hamzaonyeh","U0626")
+ DefineXKBSym("Arabic_alef","U0627")
+ DefineXKBSym("Arabic_beh","U0628")
+ DefineXKBSym("Arabic_tehmarbuta","U0629")
+ DefineXKBSym("Arabic_teh","U062A")
+ DefineXKBSym("Arabic_theh","U062B")
+ DefineXKBSym("Arabic_jeem","U062C")
+ DefineXKBSym("Arabic_hah","U062D")
+ DefineXKBSym("Arabic_khah","U062E")
+ DefineXKBSym("Arabic_dal","U062F")
+ DefineXKBSym("Arabic_thal","U0630")
+ DefineXKBSym("Arabic_ra","U0631")
+ DefineXKBSym("Arabic_zain","U0632")
+ DefineXKBSym("Arabic_seen","U0633")
+ DefineXKBSym("Arabic_sheen","U0634")
+ DefineXKBSym("Arabic_sad","U0635")
+ DefineXKBSym("Arabic_dad","U0636")
+ DefineXKBSym("Arabic_tah","U0637")
+ DefineXKBSym("Arabic_zah","U0638")
+ DefineXKBSym("Arabic_ain","U0639")
+ DefineXKBSym("Arabic_ghain","U063A")
+ DefineXKBSym("Arabic_tatweel","U0640")
+ DefineXKBSym("Arabic_feh","U0641")
+ DefineXKBSym("Arabic_qaf","U0642")
+ DefineXKBSym("Arabic_kaf","U0643")
+ DefineXKBSym("Arabic_lam","U0644")
+ DefineXKBSym("Arabic_meem","U0645")
+ DefineXKBSym("Arabic_noon","U0646")
+ DefineXKBSym("Arabic_ha","U0647")
+ DefineXKBSym("Arabic_waw","U0648")
+ DefineXKBSym("Arabic_alefmaksura","U0649")
+ DefineXKBSym("Arabic_yeh","U064A")
+ DefineXKBSym("Arabic_fathatan","U064B")
+ DefineXKBSym("Arabic_dammatan","U064C")
+ DefineXKBSym("Arabic_kasratan","U064D")
+ DefineXKBSym("Arabic_fatha","U064E")
+ DefineXKBSym("Arabic_damma","U064F")
+ DefineXKBSym("Arabic_kasra","U0650")
+ DefineXKBSym("Arabic_shadda","U0651")
+ DefineXKBSym("Arabic_sukun","U0652")
+ DefineXKBSym("Arabic_madda_above","U0653")
+ DefineXKBSym("Arabic_hamza_above","U0654")
+ DefineXKBSym("Arabic_hamza_below","U0655")
+ DefineXKBSym("Arabic_jeh","U0698")
+ DefineXKBSym("Arabic_veh","U06A4")
+ DefineXKBSym("Arabic_keheh","U06A9")
+ DefineXKBSym("Arabic_gaf","U06AF")
+ DefineXKBSym("Arabic_noon_ghunna","U06BA")
+ DefineXKBSym("Arabic_heh_doachashmee","U06BE")
+ DefineXKBSym("Farsi_yeh","U06CC")
+ DefineXKBSym("Arabic_farsi_yeh","U06CC")
+ DefineXKBSym("Arabic_yeh_baree","U06D2")
+ DefineXKBSym("Arabic_heh_goal","U06C1")
+ DefineXKBSym("Cyrillic_GHE_bar","U0492")
+ DefineXKBSym("Cyrillic_ghe_bar","U0493")
+ DefineXKBSym("Cyrillic_ZHE_descender","U0496")
+ DefineXKBSym("Cyrillic_zhe_descender","U0497")
+ DefineXKBSym("Cyrillic_KA_descender","U049A")
+ DefineXKBSym("Cyrillic_ka_descender","U049B")
+ DefineXKBSym("Cyrillic_KA_vertstroke","U049C")
+ DefineXKBSym("Cyrillic_ka_vertstroke","U049D")
+ DefineXKBSym("Cyrillic_EN_descender","U04A2")
+ DefineXKBSym("Cyrillic_en_descender","U04A3")
+ DefineXKBSym("Cyrillic_U_straight","U04AE")
+ DefineXKBSym("Cyrillic_u_straight","U04AF")
+ DefineXKBSym("Cyrillic_U_straight_bar","U04B0")
+ DefineXKBSym("Cyrillic_u_straight_bar","U04B1")
+ DefineXKBSym("Cyrillic_HA_descender","U04B2")
+ DefineXKBSym("Cyrillic_ha_descender","U04B3")
+ DefineXKBSym("Cyrillic_CHE_descender","U04B6")
+ DefineXKBSym("Cyrillic_che_descender","U04B7")
+ DefineXKBSym("Cyrillic_CHE_vertstroke","U04B8")
+ DefineXKBSym("Cyrillic_che_vertstroke","U04B9")
+ DefineXKBSym("Cyrillic_SHHA","U04BA")
+ DefineXKBSym("Cyrillic_shha","U04BB")
+ DefineXKBSym("Cyrillic_SCHWA","U04D8")
+ DefineXKBSym("Cyrillic_schwa","U04D9")
+ DefineXKBSym("Cyrillic_I_macron","U04E2")
+ DefineXKBSym("Cyrillic_i_macron","U04E3")
+ DefineXKBSym("Cyrillic_O_bar","U04E8")
+ DefineXKBSym("Cyrillic_o_bar","U04E9")
+ DefineXKBSym("Cyrillic_U_macron","U04EE")
+ DefineXKBSym("Cyrillic_u_macron","U04EF")
+ DefineXKBSym("Serbian_dje","U0452")
+ DefineXKBSym("Macedonia_gje","U0453")
+ DefineXKBSym("Cyrillic_io","U0451")
+ DefineXKBSym("Ukrainian_ie","U0454")
+ DefineXKBSym("Macedonia_dse","U0455")
+ DefineXKBSym("Ukrainian_i","U0456")
+ DefineXKBSym("Ukrainian_yi","U0457")
+ DefineXKBSym("Cyrillic_je","U0458")
+ DefineXKBSym("Cyrillic_lje","U0459")
+ DefineXKBSym("Cyrillic_nje","U045A")
+ DefineXKBSym("Serbian_tshe","U045B")
+ DefineXKBSym("Macedonia_kje","U045C")
+ DefineXKBSym("Ukrainian_ghe_with_upturn","U0491")
+ DefineXKBSym("Byelorussian_shortu","U045E")
+ DefineXKBSym("Cyrillic_dzhe","U045F")
+ DefineXKBSym("numerosign","U2116")
+ DefineXKBSym("Serbian_DJE","U0402")
+ DefineXKBSym("Macedonia_GJE","U0403")
+ DefineXKBSym("Cyrillic_IO","U0401")
+ DefineXKBSym("Ukrainian_IE","U0404")
+ DefineXKBSym("Macedonia_DSE","U0405")
+ DefineXKBSym("Ukrainian_I","U0406")
+ DefineXKBSym("Ukrainian_YI","U0407")
+ DefineXKBSym("Cyrillic_JE","U0408")
+ DefineXKBSym("Cyrillic_LJE","U0409")
+ DefineXKBSym("Cyrillic_NJE","U040A")
+ DefineXKBSym("Serbian_TSHE","U040B")
+ DefineXKBSym("Macedonia_KJE","U040C")
+ DefineXKBSym("Ukrainian_GHE_WITH_UPTURN","U0490")
+ DefineXKBSym("Byelorussian_SHORTU","U040E")
+ DefineXKBSym("Cyrillic_DZHE","U040F")
+ DefineXKBSym("Cyrillic_yu","U044E")
+ DefineXKBSym("Cyrillic_a","U0430")
+ DefineXKBSym("Cyrillic_be","U0431")
+ DefineXKBSym("Cyrillic_tse","U0446")
+ DefineXKBSym("Cyrillic_de","U0434")
+ DefineXKBSym("Cyrillic_ie","U0435")
+ DefineXKBSym("Cyrillic_ef","U0444")
+ DefineXKBSym("Cyrillic_ghe","U0433")
+ DefineXKBSym("Cyrillic_ha","U0445")
+ DefineXKBSym("Cyrillic_i","U0438")
+ DefineXKBSym("Cyrillic_shorti","U0439")
+ DefineXKBSym("Cyrillic_ka","U043A")
+ DefineXKBSym("Cyrillic_el","U043B")
+ DefineXKBSym("Cyrillic_em","U043C")
+ DefineXKBSym("Cyrillic_en","U043D")
+ DefineXKBSym("Cyrillic_o","U043E")
+ DefineXKBSym("Cyrillic_pe","U043F")
+ DefineXKBSym("Cyrillic_ya","U044F")
+ DefineXKBSym("Cyrillic_er","U0440")
+ DefineXKBSym("Cyrillic_es","U0441")
+ DefineXKBSym("Cyrillic_te","U0442")
+ DefineXKBSym("Cyrillic_u","U0443")
+ DefineXKBSym("Cyrillic_zhe","U0436")
+ DefineXKBSym("Cyrillic_ve","U0432")
+ DefineXKBSym("Cyrillic_softsign","U044C")
+ DefineXKBSym("Cyrillic_yeru","U044B")
+ DefineXKBSym("Cyrillic_ze","U0437")
+ DefineXKBSym("Cyrillic_sha","U0448")
+ DefineXKBSym("Cyrillic_e","U044D")
+ DefineXKBSym("Cyrillic_shcha","U0449")
+ DefineXKBSym("Cyrillic_che","U0447")
+ DefineXKBSym("Cyrillic_hardsign","U044A")
+ DefineXKBSym("Cyrillic_YU","U042E")
+ DefineXKBSym("Cyrillic_A","U0410")
+ DefineXKBSym("Cyrillic_BE","U0411")
+ DefineXKBSym("Cyrillic_TSE","U0426")
+ DefineXKBSym("Cyrillic_DE","U0414")
+ DefineXKBSym("Cyrillic_IE","U0415")
+ DefineXKBSym("Cyrillic_EF","U0424")
+ DefineXKBSym("Cyrillic_GHE","U0413")
+ DefineXKBSym("Cyrillic_HA","U0425")
+ DefineXKBSym("Cyrillic_I","U0418")
+ DefineXKBSym("Cyrillic_SHORTI","U0419")
+ DefineXKBSym("Cyrillic_KA","U041A")
+ DefineXKBSym("Cyrillic_EL","U041B")
+ DefineXKBSym("Cyrillic_EM","U041C")
+ DefineXKBSym("Cyrillic_EN","U041D")
+ DefineXKBSym("Cyrillic_O","U041E")
+ DefineXKBSym("Cyrillic_PE","U041F")
+ DefineXKBSym("Cyrillic_YA","U042F")
+ DefineXKBSym("Cyrillic_ER","U0420")
+ DefineXKBSym("Cyrillic_ES","U0421")
+ DefineXKBSym("Cyrillic_TE","U0422")
+ DefineXKBSym("Cyrillic_U","U0423")
+ DefineXKBSym("Cyrillic_ZHE","U0416")
+ DefineXKBSym("Cyrillic_VE","U0412")
+ DefineXKBSym("Cyrillic_SOFTSIGN","U042C")
+ DefineXKBSym("Cyrillic_YERU","U042B")
+ DefineXKBSym("Cyrillic_ZE","U0417")
+ DefineXKBSym("Cyrillic_SHA","U0428")
+ DefineXKBSym("Cyrillic_E","U042D")
+ DefineXKBSym("Cyrillic_SHCHA","U0429")
+ DefineXKBSym("Cyrillic_CHE","U0427")
+ DefineXKBSym("Cyrillic_HARDSIGN","U042A")
+ DefineXKBSym("Greek_ALPHAaccent","U0386")
+ DefineXKBSym("Greek_EPSILONaccent","U0388")
+ DefineXKBSym("Greek_ETAaccent","U0389")
+ DefineXKBSym("Greek_IOTAaccent","U038A")
+ DefineXKBSym("Greek_IOTAdieresis","U03AA")
+ DefineXKBSym("Greek_OMICRONaccent","U038C")
+ DefineXKBSym("Greek_UPSILONaccent","U038E")
+ DefineXKBSym("Greek_UPSILONdieresis","U03AB")
+ DefineXKBSym("Greek_OMEGAaccent","U038F")
+ DefineXKBSym("Greek_accentdieresis","U0385")
+ DefineXKBSym("Greek_horizbar","U2015")
+ DefineXKBSym("Greek_alphaaccent","U03AC")
+ DefineXKBSym("Greek_epsilonaccent","U03AD")
+ DefineXKBSym("Greek_etaaccent","U03AE")
+ DefineXKBSym("Greek_iotaaccent","U03AF")
+ DefineXKBSym("Greek_iotadieresis","U03CA")
+ DefineXKBSym("Greek_iotaaccentdieresis","U0390")
+ DefineXKBSym("Greek_omicronaccent","U03CC")
+ DefineXKBSym("Greek_upsilonaccent","U03CD")
+ DefineXKBSym("Greek_upsilondieresis","U03CB")
+ DefineXKBSym("Greek_upsilonaccentdieresis","U03B0")
+ DefineXKBSym("Greek_omegaaccent","U03CE")
+ DefineXKBSym("Greek_ALPHA","U0391")
+ DefineXKBSym("Greek_BETA","U0392")
+ DefineXKBSym("Greek_GAMMA","U0393")
+ DefineXKBSym("Greek_DELTA","U0394")
+ DefineXKBSym("Greek_EPSILON","U0395")
+ DefineXKBSym("Greek_ZETA","U0396")
+ DefineXKBSym("Greek_ETA","U0397")
+ DefineXKBSym("Greek_THETA","U0398")
+ DefineXKBSym("Greek_IOTA","U0399")
+ DefineXKBSym("Greek_KAPPA","U039A")
+ DefineXKBSym("Greek_LAMDA","U039B")
+ DefineXKBSym("Greek_LAMBDA","U039B")
+ DefineXKBSym("Greek_MU","U039C")
+ DefineXKBSym("Greek_NU","U039D")
+ DefineXKBSym("Greek_XI","U039E")
+ DefineXKBSym("Greek_OMICRON","U039F")
+ DefineXKBSym("Greek_PI","U03A0")
+ DefineXKBSym("Greek_RHO","U03A1")
+ DefineXKBSym("Greek_SIGMA","U03A3")
+ DefineXKBSym("Greek_TAU","U03A4")
+ DefineXKBSym("Greek_UPSILON","U03A5")
+ DefineXKBSym("Greek_PHI","U03A6")
+ DefineXKBSym("Greek_CHI","U03A7")
+ DefineXKBSym("Greek_PSI","U03A8")
+ DefineXKBSym("Greek_OMEGA","U03A9")
+ DefineXKBSym("Greek_alpha","U03B1")
+ DefineXKBSym("Greek_beta","U03B2")
+ DefineXKBSym("Greek_gamma","U03B3")
+ DefineXKBSym("Greek_delta","U03B4")
+ DefineXKBSym("Greek_epsilon","U03B5")
+ DefineXKBSym("Greek_zeta","U03B6")
+ DefineXKBSym("Greek_eta","U03B7")
+ DefineXKBSym("Greek_theta","U03B8")
+ DefineXKBSym("Greek_iota","U03B9")
+ DefineXKBSym("Greek_kappa","U03BA")
+ DefineXKBSym("Greek_lamda","U03BB")
+ DefineXKBSym("Greek_lambda","U03BB")
+ DefineXKBSym("Greek_mu","U03BC")
+ DefineXKBSym("Greek_nu","U03BD")
+ DefineXKBSym("Greek_xi","U03BE")
+ DefineXKBSym("Greek_omicron","U03BF")
+ DefineXKBSym("Greek_pi","U03C0")
+ DefineXKBSym("Greek_rho","U03C1")
+ DefineXKBSym("Greek_sigma","U03C3")
+ DefineXKBSym("Greek_finalsmallsigma","U03C2")
+ DefineXKBSym("Greek_tau","U03C4")
+ DefineXKBSym("Greek_upsilon","U03C5")
+ DefineXKBSym("Greek_phi","U03C6")
+ DefineXKBSym("Greek_chi","U03C7")
+ DefineXKBSym("Greek_psi","U03C8")
+ DefineXKBSym("Greek_omega","U03C9")
+ DefineXKBSym("leftradical","U23B7")
+ DefineXKBSym("topleftradical","U250C")
+ DefineXKBSym("horizconnector","U2500")
+ DefineXKBSym("topintegral","U2320")
+ DefineXKBSym("botintegral","U2321")
+ DefineXKBSym("vertconnector","U2502")
+ DefineXKBSym("topleftsqbracket","U23A1")
+ DefineXKBSym("botleftsqbracket","U23A3")
+ DefineXKBSym("toprightsqbracket","U23A4")
+ DefineXKBSym("botrightsqbracket","U23A6")
+ DefineXKBSym("topleftparens","U239B")
+ DefineXKBSym("botleftparens","U239D")
+ DefineXKBSym("toprightparens","U239E")
+ DefineXKBSym("botrightparens","U23A0")
+ DefineXKBSym("leftmiddlecurlybrace","U23A8")
+ DefineXKBSym("rightmiddlecurlybrace","U23AC")
+ DefineXKBSym("lessthanequal","U2264")
+ DefineXKBSym("notequal","U2260")
+ DefineXKBSym("greaterthanequal","U2265")
+ DefineXKBSym("integral","U222B")
+ DefineXKBSym("therefore","U2234")
+ DefineXKBSym("variation","U221D")
+ DefineXKBSym("infinity","U221E")
+ DefineXKBSym("nabla","U2207")
+ DefineXKBSym("approximate","U223C")
+ DefineXKBSym("similarequal","U2243")
+ DefineXKBSym("ifonlyif","U21D4")
+ DefineXKBSym("implies","U21D2")
+ DefineXKBSym("identical","U2261")
+ DefineXKBSym("radical","U221A")
+ DefineXKBSym("includedin","U2282")
+ DefineXKBSym("includes","U2283")
+ DefineXKBSym("intersection","U2229")
+ DefineXKBSym("union","U222A")
+ DefineXKBSym("logicaland","U2227")
+ DefineXKBSym("logicalor","U2228")
+ DefineXKBSym("partialderivative","U2202")
+ DefineXKBSym("function","U0192")
+ DefineXKBSym("leftarrow","U2190")
+ DefineXKBSym("uparrow","U2191")
+ DefineXKBSym("rightarrow","U2192")
+ DefineXKBSym("downarrow","U2193")
+ DefineXKBSym("soliddiamond","U25C6")
+ DefineXKBSym("checkerboard","U2592")
+ DefineXKBSym("ht","U2409")
+ DefineXKBSym("ff","U240C")
+ DefineXKBSym("cr","U240D")
+ DefineXKBSym("lf","U240A")
+ DefineXKBSym("nl","U2424")
+ DefineXKBSym("vt","U240B")
+ DefineXKBSym("lowrightcorner","U2518")
+ DefineXKBSym("uprightcorner","U2510")
+ DefineXKBSym("upleftcorner","U250C")
+ DefineXKBSym("lowleftcorner","U2514")
+ DefineXKBSym("crossinglines","U253C")
+ DefineXKBSym("horizlinescan1","U23BA")
+ DefineXKBSym("horizlinescan3","U23BB")
+ DefineXKBSym("horizlinescan5","U2500")
+ DefineXKBSym("horizlinescan7","U23BC")
+ DefineXKBSym("horizlinescan9","U23BD")
+ DefineXKBSym("leftt","U251C")
+ DefineXKBSym("rightt","U2524")
+ DefineXKBSym("bott","U2534")
+ DefineXKBSym("topt","U252C")
+ DefineXKBSym("vertbar","U2502")
+ DefineXKBSym("emspace","U2003")
+ DefineXKBSym("enspace","U2002")
+ DefineXKBSym("em3space","U2004")
+ DefineXKBSym("em4space","U2005")
+ DefineXKBSym("digitspace","U2007")
+ DefineXKBSym("punctspace","U2008")
+ DefineXKBSym("thinspace","U2009")
+ DefineXKBSym("hairspace","U200A")
+ DefineXKBSym("emdash","U2014")
+ DefineXKBSym("endash","U2013")
+ DefineXKBSym("signifblank","U2423")
+ DefineXKBSym("ellipsis","U2026")
+ DefineXKBSym("doubbaselinedot","U2025")
+ DefineXKBSym("onethird","U2153")
+ DefineXKBSym("twothirds","U2154")
+ DefineXKBSym("onefifth","U2155")
+ DefineXKBSym("twofifths","U2156")
+ DefineXKBSym("threefifths","U2157")
+ DefineXKBSym("fourfifths","U2158")
+ DefineXKBSym("onesixth","U2159")
+ DefineXKBSym("fivesixths","U215A")
+ DefineXKBSym("careof","U2105")
+ DefineXKBSym("figdash","U2012")
+ DefineXKBSym("leftanglebracket","U27E8")
+ DefineXKBSym("decimalpoint","U002E")
+ DefineXKBSym("rightanglebracket","U27E9")
+ DefineXKBSym("oneeighth","U215B")
+ DefineXKBSym("threeeighths","U215C")
+ DefineXKBSym("fiveeighths","U215D")
+ DefineXKBSym("seveneighths","U215E")
+ DefineXKBSym("trademark","U2122")
+ DefineXKBSym("signaturemark","U2613")
+ DefineXKBSym("leftopentriangle","U25C1")
+ DefineXKBSym("rightopentriangle","U25B7")
+ DefineXKBSym("emopencircle","U25CB")
+ DefineXKBSym("emopenrectangle","U25AF")
+ DefineXKBSym("leftsinglequotemark","U2018")
+ DefineXKBSym("rightsinglequotemark","U2019")
+ DefineXKBSym("leftdoublequotemark","U201C")
+ DefineXKBSym("rightdoublequotemark","U201D")
+ DefineXKBSym("prescription","U211E")
+ DefineXKBSym("minutes","U2032")
+ DefineXKBSym("seconds","U2033")
+ DefineXKBSym("latincross","U271D")
+ DefineXKBSym("filledrectbullet","U25AC")
+ DefineXKBSym("filledlefttribullet","U25C0")
+ DefineXKBSym("filledrighttribullet","U25B6")
+ DefineXKBSym("emfilledcircle","U25CF")
+ DefineXKBSym("emfilledrect","U25AE")
+ DefineXKBSym("enopencircbullet","U25E6")
+ DefineXKBSym("enopensquarebullet","U25AB")
+ DefineXKBSym("openrectbullet","U25AD")
+ DefineXKBSym("opentribulletup","U25B3")
+ DefineXKBSym("opentribulletdown","U25BD")
+ DefineXKBSym("openstar","U2606")
+ DefineXKBSym("enfilledcircbullet","U2022")
+ DefineXKBSym("enfilledsqbullet","U25AA")
+ DefineXKBSym("filledtribulletup","U25B2")
+ DefineXKBSym("filledtribulletdown","U25BC")
+ DefineXKBSym("leftpointer","U261C")
+ DefineXKBSym("rightpointer","U261E")
+ DefineXKBSym("club","U2663")
+ DefineXKBSym("diamond","U2666")
+ DefineXKBSym("heart","U2665")
+ DefineXKBSym("maltesecross","U2720")
+ DefineXKBSym("dagger","U2020")
+ DefineXKBSym("doubledagger","U2021")
+ DefineXKBSym("checkmark","U2713")
+ DefineXKBSym("ballotcross","U2717")
+ DefineXKBSym("musicalsharp","U266F")
+ DefineXKBSym("musicalflat","U266D")
+ DefineXKBSym("malesymbol","U2642")
+ DefineXKBSym("femalesymbol","U2640")
+ DefineXKBSym("telephone","U260E")
+ DefineXKBSym("telephonerecorder","U2315")
+ DefineXKBSym("phonographcopyright","U2117")
+ DefineXKBSym("caret","U2038")
+ DefineXKBSym("singlelowquotemark","U201A")
+ DefineXKBSym("doublelowquotemark","U201E")
+ DefineXKBSym("leftcaret","U003C")
+ DefineXKBSym("rightcaret","U003E")
+ DefineXKBSym("downcaret","U2228")
+ DefineXKBSym("upcaret","U2227")
+ DefineXKBSym("overbar","U00AF")
+ DefineXKBSym("downtack","U22A5")
+ DefineXKBSym("upshoe","U2229")
+ DefineXKBSym("downstile","U230A")
+ DefineXKBSym("underbar","U005F")
+ DefineXKBSym("jot","U2218")
+ DefineXKBSym("quad","U2395")
+ DefineXKBSym("uptack","U22A4")
+ DefineXKBSym("circle","U25CB")
+ DefineXKBSym("upstile","U2308")
+ DefineXKBSym("downshoe","U222A")
+ DefineXKBSym("rightshoe","U2283")
+ DefineXKBSym("leftshoe","U2282")
+ DefineXKBSym("lefttack","U22A2")
+ DefineXKBSym("righttack","U22A3")
+ DefineXKBSym("hebrew_doublelowline","U2017")
+ DefineXKBSym("hebrew_aleph","U05D0")
+ DefineXKBSym("hebrew_bet","U05D1")
+ DefineXKBSym("hebrew_beth","U05D1") ; deprecated
+ DefineXKBSym("hebrew_gimel","U05D2")
+ DefineXKBSym("hebrew_gimmel","U05D2") ; deprecated
+ DefineXKBSym("hebrew_dalet","U05D3")
+ DefineXKBSym("hebrew_daleth","U05D3") ; deprecated
+ DefineXKBSym("hebrew_he","U05D4")
+ DefineXKBSym("hebrew_waw","U05D5")
+ DefineXKBSym("hebrew_zain","U05D6")
+ DefineXKBSym("hebrew_zayin","U05D6") ; deprecated
+ DefineXKBSym("hebrew_chet","U05D7")
+ DefineXKBSym("hebrew_het","U05D7") ; deprecated
+ DefineXKBSym("hebrew_tet","U05D8")
+ DefineXKBSym("hebrew_teth","U05D8") ; deprecated
+ DefineXKBSym("hebrew_yod","U05D9")
+ DefineXKBSym("hebrew_finalkaph","U05DA")
+ DefineXKBSym("hebrew_kaph","U05DB")
+ DefineXKBSym("hebrew_lamed","U05DC")
+ DefineXKBSym("hebrew_finalmem","U05DD")
+ DefineXKBSym("hebrew_mem","U05DE")
+ DefineXKBSym("hebrew_finalnun","U05DF")
+ DefineXKBSym("hebrew_nun","U05E0")
+ DefineXKBSym("hebrew_samech","U05E1")
+ DefineXKBSym("hebrew_samekh","U05E1") ; deprecated
+ DefineXKBSym("hebrew_ayin","U05E2")
+ DefineXKBSym("hebrew_finalpe","U05E3")
+ DefineXKBSym("hebrew_pe","U05E4")
+ DefineXKBSym("hebrew_finalzade","U05E5")
+ DefineXKBSym("hebrew_finalzadi","U05E5") ; deprecated
+ DefineXKBSym("hebrew_zade","U05E6")
+ DefineXKBSym("hebrew_zadi","U05E6") ; deprecated
+ DefineXKBSym("hebrew_qoph","U05E7")
+ DefineXKBSym("hebrew_kuf","U05E7") ; deprecated
+ DefineXKBSym("hebrew_resh","U05E8")
+ DefineXKBSym("hebrew_shin","U05E9")
+ DefineXKBSym("hebrew_taw","U05EA")
+ DefineXKBSym("hebrew_taf","U05EA") ; deprecated
+ DefineXKBSym("Thai_kokai","U0E01")
+ DefineXKBSym("Thai_khokhai","U0E02")
+ DefineXKBSym("Thai_khokhuat","U0E03")
+ DefineXKBSym("Thai_khokhwai","U0E04")
+ DefineXKBSym("Thai_khokhon","U0E05")
+ DefineXKBSym("Thai_khorakhang","U0E06")
+ DefineXKBSym("Thai_ngongu","U0E07")
+ DefineXKBSym("Thai_chochan","U0E08")
+ DefineXKBSym("Thai_choching","U0E09")
+ DefineXKBSym("Thai_chochang","U0E0A")
+ DefineXKBSym("Thai_soso","U0E0B")
+ DefineXKBSym("Thai_chochoe","U0E0C")
+ DefineXKBSym("Thai_yoying","U0E0D")
+ DefineXKBSym("Thai_dochada","U0E0E")
+ DefineXKBSym("Thai_topatak","U0E0F")
+ DefineXKBSym("Thai_thothan","U0E10")
+ DefineXKBSym("Thai_thonangmontho","U0E11")
+ DefineXKBSym("Thai_thophuthao","U0E12")
+ DefineXKBSym("Thai_nonen","U0E13")
+ DefineXKBSym("Thai_dodek","U0E14")
+ DefineXKBSym("Thai_totao","U0E15")
+ DefineXKBSym("Thai_thothung","U0E16")
+ DefineXKBSym("Thai_thothahan","U0E17")
+ DefineXKBSym("Thai_thothong","U0E18")
+ DefineXKBSym("Thai_nonu","U0E19")
+ DefineXKBSym("Thai_bobaimai","U0E1A")
+ DefineXKBSym("Thai_popla","U0E1B")
+ DefineXKBSym("Thai_phophung","U0E1C")
+ DefineXKBSym("Thai_fofa","U0E1D")
+ DefineXKBSym("Thai_phophan","U0E1E")
+ DefineXKBSym("Thai_fofan","U0E1F")
+ DefineXKBSym("Thai_phosamphao","U0E20")
+ DefineXKBSym("Thai_moma","U0E21")
+ DefineXKBSym("Thai_yoyak","U0E22")
+ DefineXKBSym("Thai_rorua","U0E23")
+ DefineXKBSym("Thai_ru","U0E24")
+ DefineXKBSym("Thai_loling","U0E25")
+ DefineXKBSym("Thai_lu","U0E26")
+ DefineXKBSym("Thai_wowaen","U0E27")
+ DefineXKBSym("Thai_sosala","U0E28")
+ DefineXKBSym("Thai_sorusi","U0E29")
+ DefineXKBSym("Thai_sosua","U0E2A")
+ DefineXKBSym("Thai_hohip","U0E2B")
+ DefineXKBSym("Thai_lochula","U0E2C")
+ DefineXKBSym("Thai_oang","U0E2D")
+ DefineXKBSym("Thai_honokhuk","U0E2E")
+ DefineXKBSym("Thai_paiyannoi","U0E2F")
+ DefineXKBSym("Thai_saraa","U0E30")
+ DefineXKBSym("Thai_maihanakat","U0E31")
+ DefineXKBSym("Thai_saraaa","U0E32")
+ DefineXKBSym("Thai_saraam","U0E33")
+ DefineXKBSym("Thai_sarai","U0E34")
+ DefineXKBSym("Thai_saraii","U0E35")
+ DefineXKBSym("Thai_saraue","U0E36")
+ DefineXKBSym("Thai_sarauee","U0E37")
+ DefineXKBSym("Thai_sarau","U0E38")
+ DefineXKBSym("Thai_sarauu","U0E39")
+ DefineXKBSym("Thai_phinthu","U0E3A")
+ DefineXKBSym("Thai_baht","U0E3F")
+ DefineXKBSym("Thai_sarae","U0E40")
+ DefineXKBSym("Thai_saraae","U0E41")
+ DefineXKBSym("Thai_sarao","U0E42")
+ DefineXKBSym("Thai_saraaimaimuan","U0E43")
+ DefineXKBSym("Thai_saraaimaimalai","U0E44")
+ DefineXKBSym("Thai_lakkhangyao","U0E45")
+ DefineXKBSym("Thai_maiyamok","U0E46")
+ DefineXKBSym("Thai_maitaikhu","U0E47")
+ DefineXKBSym("Thai_maiek","U0E48")
+ DefineXKBSym("Thai_maitho","U0E49")
+ DefineXKBSym("Thai_maitri","U0E4A")
+ DefineXKBSym("Thai_maichattawa","U0E4B")
+ DefineXKBSym("Thai_thanthakhat","U0E4C")
+ DefineXKBSym("Thai_nikhahit","U0E4D")
+ DefineXKBSym("Thai_leksun","U0E50")
+ DefineXKBSym("Thai_leknung","U0E51")
+ DefineXKBSym("Thai_leksong","U0E52")
+ DefineXKBSym("Thai_leksam","U0E53")
+ DefineXKBSym("Thai_leksi","U0E54")
+ DefineXKBSym("Thai_lekha","U0E55")
+ DefineXKBSym("Thai_lekhok","U0E56")
+ DefineXKBSym("Thai_lekchet","U0E57")
+ DefineXKBSym("Thai_lekpaet","U0E58")
+ DefineXKBSym("Thai_lekkao","U0E59")
+ DefineXKBSym("Korean_Won","U20A9")
+ DefineXKBSym("Armenian_ligature_ew","U0587")
+ DefineXKBSym("Armenian_full_stop","U0589")
+ DefineXKBSym("Armenian_verjaket","U0589")
+ DefineXKBSym("Armenian_separation_mark","U055D")
+ DefineXKBSym("Armenian_but","U055D")
+ DefineXKBSym("Armenian_hyphen","U058A")
+ DefineXKBSym("Armenian_yentamna","U058A")
+ DefineXKBSym("Armenian_exclam","U055C")
+ DefineXKBSym("Armenian_amanak","U055C")
+ DefineXKBSym("Armenian_accent","U055B")
+ DefineXKBSym("Armenian_shesht","U055B")
+ DefineXKBSym("Armenian_question","U055E")
+ DefineXKBSym("Armenian_paruyk","U055E")
+ DefineXKBSym("Armenian_AYB","U0531")
+ DefineXKBSym("Armenian_ayb","U0561")
+ DefineXKBSym("Armenian_BEN","U0532")
+ DefineXKBSym("Armenian_ben","U0562")
+ DefineXKBSym("Armenian_GIM","U0533")
+ DefineXKBSym("Armenian_gim","U0563")
+ DefineXKBSym("Armenian_DA","U0534")
+ DefineXKBSym("Armenian_da","U0564")
+ DefineXKBSym("Armenian_YECH","U0535")
+ DefineXKBSym("Armenian_yech","U0565")
+ DefineXKBSym("Armenian_ZA","U0536")
+ DefineXKBSym("Armenian_za","U0566")
+ DefineXKBSym("Armenian_E","U0537")
+ DefineXKBSym("Armenian_e","U0567")
+ DefineXKBSym("Armenian_AT","U0538")
+ DefineXKBSym("Armenian_at","U0568")
+ DefineXKBSym("Armenian_TO","U0539")
+ DefineXKBSym("Armenian_to","U0569")
+ DefineXKBSym("Armenian_ZHE","U053A")
+ DefineXKBSym("Armenian_zhe","U056A")
+ DefineXKBSym("Armenian_INI","U053B")
+ DefineXKBSym("Armenian_ini","U056B")
+ DefineXKBSym("Armenian_LYUN","U053C")
+ DefineXKBSym("Armenian_lyun","U056C")
+ DefineXKBSym("Armenian_KHE","U053D")
+ DefineXKBSym("Armenian_khe","U056D")
+ DefineXKBSym("Armenian_TSA","U053E")
+ DefineXKBSym("Armenian_tsa","U056E")
+ DefineXKBSym("Armenian_KEN","U053F")
+ DefineXKBSym("Armenian_ken","U056F")
+ DefineXKBSym("Armenian_HO","U0540")
+ DefineXKBSym("Armenian_ho","U0570")
+ DefineXKBSym("Armenian_DZA","U0541")
+ DefineXKBSym("Armenian_dza","U0571")
+ DefineXKBSym("Armenian_GHAT","U0542")
+ DefineXKBSym("Armenian_ghat","U0572")
+ DefineXKBSym("Armenian_TCHE","U0543")
+ DefineXKBSym("Armenian_tche","U0573")
+ DefineXKBSym("Armenian_MEN","U0544")
+ DefineXKBSym("Armenian_men","U0574")
+ DefineXKBSym("Armenian_HI","U0545")
+ DefineXKBSym("Armenian_hi","U0575")
+ DefineXKBSym("Armenian_NU","U0546")
+ DefineXKBSym("Armenian_nu","U0576")
+ DefineXKBSym("Armenian_SHA","U0547")
+ DefineXKBSym("Armenian_sha","U0577")
+ DefineXKBSym("Armenian_VO","U0548")
+ DefineXKBSym("Armenian_vo","U0578")
+ DefineXKBSym("Armenian_CHA","U0549")
+ DefineXKBSym("Armenian_cha","U0579")
+ DefineXKBSym("Armenian_PE","U054A")
+ DefineXKBSym("Armenian_pe","U057A")
+ DefineXKBSym("Armenian_JE","U054B")
+ DefineXKBSym("Armenian_je","U057B")
+ DefineXKBSym("Armenian_RA","U054C")
+ DefineXKBSym("Armenian_ra","U057C")
+ DefineXKBSym("Armenian_SE","U054D")
+ DefineXKBSym("Armenian_se","U057D")
+ DefineXKBSym("Armenian_VEV","U054E")
+ DefineXKBSym("Armenian_vev","U057E")
+ DefineXKBSym("Armenian_TYUN","U054F")
+ DefineXKBSym("Armenian_tyun","U057F")
+ DefineXKBSym("Armenian_RE","U0550")
+ DefineXKBSym("Armenian_re","U0580")
+ DefineXKBSym("Armenian_TSO","U0551")
+ DefineXKBSym("Armenian_tso","U0581")
+ DefineXKBSym("Armenian_VYUN","U0552")
+ DefineXKBSym("Armenian_vyun","U0582")
+ DefineXKBSym("Armenian_PYUR","U0553")
+ DefineXKBSym("Armenian_pyur","U0583")
+ DefineXKBSym("Armenian_KE","U0554")
+ DefineXKBSym("Armenian_ke","U0584")
+ DefineXKBSym("Armenian_O","U0555")
+ DefineXKBSym("Armenian_o","U0585")
+ DefineXKBSym("Armenian_FE","U0556")
+ DefineXKBSym("Armenian_fe","U0586")
+ DefineXKBSym("Armenian_apostrophe","U055A")
+ DefineXKBSym("Georgian_an","U10D0")
+ DefineXKBSym("Georgian_ban","U10D1")
+ DefineXKBSym("Georgian_gan","U10D2")
+ DefineXKBSym("Georgian_don","U10D3")
+ DefineXKBSym("Georgian_en","U10D4")
+ DefineXKBSym("Georgian_vin","U10D5")
+ DefineXKBSym("Georgian_zen","U10D6")
+ DefineXKBSym("Georgian_tan","U10D7")
+ DefineXKBSym("Georgian_in","U10D8")
+ DefineXKBSym("Georgian_kan","U10D9")
+ DefineXKBSym("Georgian_las","U10DA")
+ DefineXKBSym("Georgian_man","U10DB")
+ DefineXKBSym("Georgian_nar","U10DC")
+ DefineXKBSym("Georgian_on","U10DD")
+ DefineXKBSym("Georgian_par","U10DE")
+ DefineXKBSym("Georgian_zhar","U10DF")
+ DefineXKBSym("Georgian_rae","U10E0")
+ DefineXKBSym("Georgian_san","U10E1")
+ DefineXKBSym("Georgian_tar","U10E2")
+ DefineXKBSym("Georgian_un","U10E3")
+ DefineXKBSym("Georgian_phar","U10E4")
+ DefineXKBSym("Georgian_khar","U10E5")
+ DefineXKBSym("Georgian_ghan","U10E6")
+ DefineXKBSym("Georgian_qar","U10E7")
+ DefineXKBSym("Georgian_shin","U10E8")
+ DefineXKBSym("Georgian_chin","U10E9")
+ DefineXKBSym("Georgian_can","U10EA")
+ DefineXKBSym("Georgian_jil","U10EB")
+ DefineXKBSym("Georgian_cil","U10EC")
+ DefineXKBSym("Georgian_char","U10ED")
+ DefineXKBSym("Georgian_xan","U10EE")
+ DefineXKBSym("Georgian_jhan","U10EF")
+ DefineXKBSym("Georgian_hae","U10F0")
+ DefineXKBSym("Georgian_he","U10F1")
+ DefineXKBSym("Georgian_hie","U10F2")
+ DefineXKBSym("Georgian_we","U10F3")
+ DefineXKBSym("Georgian_har","U10F4")
+ DefineXKBSym("Georgian_hoe","U10F5")
+ DefineXKBSym("Georgian_fi","U10F6")
+ DefineXKBSym("Xabovedot","U1E8A")
+ DefineXKBSym("Ibreve","U012C")
+ DefineXKBSym("Zstroke","U01B5")
+ DefineXKBSym("Gcaron","U01E6")
+ DefineXKBSym("Ocaron","U01D2")
+ DefineXKBSym("Obarred","U019F")
+ DefineXKBSym("xabovedot","U1E8B")
+ DefineXKBSym("ibreve","U012D")
+ DefineXKBSym("zstroke","U01B6")
+ DefineXKBSym("gcaron","U01E7")
+ DefineXKBSym("ocaron","U01D2")
+ DefineXKBSym("obarred","U0275")
+ DefineXKBSym("SCHWA","U018F")
+ DefineXKBSym("schwa","U0259")
+ DefineXKBSym("Lbelowdot","U1E36")
+ DefineXKBSym("lbelowdot","U1E37")
+ DefineXKBSym("Abelowdot","U1EA0")
+ DefineXKBSym("abelowdot","U1EA1")
+ DefineXKBSym("Ahook","U1EA2")
+ DefineXKBSym("ahook","U1EA3")
+ DefineXKBSym("Acircumflexacute","U1EA4")
+ DefineXKBSym("acircumflexacute","U1EA5")
+ DefineXKBSym("Acircumflexgrave","U1EA6")
+ DefineXKBSym("acircumflexgrave","U1EA7")
+ DefineXKBSym("Acircumflexhook","U1EA8")
+ DefineXKBSym("acircumflexhook","U1EA9")
+ DefineXKBSym("Acircumflextilde","U1EAA")
+ DefineXKBSym("acircumflextilde","U1EAB")
+ DefineXKBSym("Acircumflexbelowdot","U1EAC")
+ DefineXKBSym("acircumflexbelowdot","U1EAD")
+ DefineXKBSym("Abreveacute","U1EAE")
+ DefineXKBSym("abreveacute","U1EAF")
+ DefineXKBSym("Abrevegrave","U1EB0")
+ DefineXKBSym("abrevegrave","U1EB1")
+ DefineXKBSym("Abrevehook","U1EB2")
+ DefineXKBSym("abrevehook","U1EB3")
+ DefineXKBSym("Abrevetilde","U1EB4")
+ DefineXKBSym("abrevetilde","U1EB5")
+ DefineXKBSym("Abrevebelowdot","U1EB6")
+ DefineXKBSym("abrevebelowdot","U1EB7")
+ DefineXKBSym("Ebelowdot","U1EB8")
+ DefineXKBSym("ebelowdot","U1EB9")
+ DefineXKBSym("Ehook","U1EBA")
+ DefineXKBSym("ehook","U1EBB")
+ DefineXKBSym("Etilde","U1EBC")
+ DefineXKBSym("etilde","U1EBD")
+ DefineXKBSym("Ecircumflexacute","U1EBE")
+ DefineXKBSym("ecircumflexacute","U1EBF")
+ DefineXKBSym("Ecircumflexgrave","U1EC0")
+ DefineXKBSym("ecircumflexgrave","U1EC1")
+ DefineXKBSym("Ecircumflexhook","U1EC2")
+ DefineXKBSym("ecircumflexhook","U1EC3")
+ DefineXKBSym("Ecircumflextilde","U1EC4")
+ DefineXKBSym("ecircumflextilde","U1EC5")
+ DefineXKBSym("Ecircumflexbelowdot","U1EC6")
+ DefineXKBSym("ecircumflexbelowdot","U1EC7")
+ DefineXKBSym("Ihook","U1EC8")
+ DefineXKBSym("ihook","U1EC9")
+ DefineXKBSym("Ibelowdot","U1ECA")
+ DefineXKBSym("ibelowdot","U1ECB")
+ DefineXKBSym("Obelowdot","U1ECC")
+ DefineXKBSym("obelowdot","U1ECD")
+ DefineXKBSym("Ohook","U1ECE")
+ DefineXKBSym("ohook","U1ECF")
+ DefineXKBSym("Ocircumflexacute","U1ED0")
+ DefineXKBSym("ocircumflexacute","U1ED1")
+ DefineXKBSym("Ocircumflexgrave","U1ED2")
+ DefineXKBSym("ocircumflexgrave","U1ED3")
+ DefineXKBSym("Ocircumflexhook","U1ED4")
+ DefineXKBSym("ocircumflexhook","U1ED5")
+ DefineXKBSym("Ocircumflextilde","U1ED6")
+ DefineXKBSym("ocircumflextilde","U1ED7")
+ DefineXKBSym("Ocircumflexbelowdot","U1ED8")
+ DefineXKBSym("ocircumflexbelowdot","U1ED9")
+ DefineXKBSym("Ohornacute","U1EDA")
+ DefineXKBSym("ohornacute","U1EDB")
+ DefineXKBSym("Ohorngrave","U1EDC")
+ DefineXKBSym("ohorngrave","U1EDD")
+ DefineXKBSym("Ohornhook","U1EDE")
+ DefineXKBSym("ohornhook","U1EDF")
+ DefineXKBSym("Ohorntilde","U1EE0")
+ DefineXKBSym("ohorntilde","U1EE1")
+ DefineXKBSym("Ohornbelowdot","U1EE2")
+ DefineXKBSym("ohornbelowdot","U1EE3")
+ DefineXKBSym("Ubelowdot","U1EE4")
+ DefineXKBSym("ubelowdot","U1EE5")
+ DefineXKBSym("Uhook","U1EE6")
+ DefineXKBSym("uhook","U1EE7")
+ DefineXKBSym("Uhornacute","U1EE8")
+ DefineXKBSym("uhornacute","U1EE9")
+ DefineXKBSym("Uhorngrave","U1EEA")
+ DefineXKBSym("uhorngrave","U1EEB")
+ DefineXKBSym("Uhornhook","U1EEC")
+ DefineXKBSym("uhornhook","U1EED")
+ DefineXKBSym("Uhorntilde","U1EEE")
+ DefineXKBSym("uhorntilde","U1EEF")
+ DefineXKBSym("Uhornbelowdot","U1EF0")
+ DefineXKBSym("uhornbelowdot","U1EF1")
+ DefineXKBSym("Ybelowdot","U1EF4")
+ DefineXKBSym("ybelowdot","U1EF5")
+ DefineXKBSym("Yhook","U1EF6")
+ DefineXKBSym("yhook","U1EF7")
+ DefineXKBSym("Ytilde","U1EF8")
+ DefineXKBSym("ytilde","U1EF9")
+ DefineXKBSym("Ohorn","U01A0")
+ DefineXKBSym("ohorn","U01A1")
+ DefineXKBSym("Uhorn","U01AF")
+ DefineXKBSym("uhorn","U01B0")
+ DefineXKBSym("EcuSign","U20A0")
+ DefineXKBSym("ColonSign","U20A1")
+ DefineXKBSym("CruzeiroSign","U20A2")
+ DefineXKBSym("FFrancSign","U20A3")
+ DefineXKBSym("LiraSign","U20A4")
+ DefineXKBSym("MillSign","U20A5")
+ DefineXKBSym("NairaSign","U20A6")
+ DefineXKBSym("PesetaSign","U20A7")
+ DefineXKBSym("RupeeSign","U20A8")
+ DefineXKBSym("WonSign","U20A9")
+ DefineXKBSym("NewSheqelSign","U20AA")
+ DefineXKBSym("DongSign","U20AB")
+ DefineXKBSym("EuroSign","U20AC")
+ DefineXKBSym("zerosuperior","U2070")
+ DefineXKBSym("foursuperior","U2074")
+ DefineXKBSym("fivesuperior","U2075")
+ DefineXKBSym("sixsuperior","U2076")
+ DefineXKBSym("sevensuperior","U2077")
+ DefineXKBSym("eightsuperior","U2078")
+ DefineXKBSym("ninesuperior","U2079")
+ DefineXKBSym("zerosubscript","U2080")
+ DefineXKBSym("onesubscript","U2081")
+ DefineXKBSym("twosubscript","U2082")
+ DefineXKBSym("threesubscript","U2083")
+ DefineXKBSym("foursubscript","U2084")
+ DefineXKBSym("fivesubscript","U2085")
+ DefineXKBSym("sixsubscript","U2086")
+ DefineXKBSym("sevensubscript","U2087")
+ DefineXKBSym("eightsubscript","U2088")
+ DefineXKBSym("ninesubscript","U2089")
+ DefineXKBSym("partdifferential","U2202")
+ DefineXKBSym("emptyset","U2205")
+ DefineXKBSym("elementof","U2208")
+ DefineXKBSym("notelementof","U2209")
+ DefineXKBSym("containsas","U220B")
+ DefineXKBSym("squareroot","U221A")
+ DefineXKBSym("cuberoot","U221B")
+ DefineXKBSym("fourthroot","U221C")
+ DefineXKBSym("dintegral","U222C")
+ DefineXKBSym("tintegral","U222D")
+ DefineXKBSym("because","U2235")
+ DefineXKBSym("approxeq","U2245")
+ DefineXKBSym("notapproxeq","U2247")
+ DefineXKBSym("notidentical","U2262")
+ DefineXKBSym("stricteq","U2263")
+ DefineXKBSym("braille_blank","U2800")
+ DefineXKBSym("braille_dots_1","U2801")
+ DefineXKBSym("braille_dots_2","U2802")
+ DefineXKBSym("braille_dots_12","U2803")
+ DefineXKBSym("braille_dots_3","U2804")
+ DefineXKBSym("braille_dots_13","U2805")
+ DefineXKBSym("braille_dots_23","U2806")
+ DefineXKBSym("braille_dots_123","U2807")
+ DefineXKBSym("braille_dots_4","U2808")
+ DefineXKBSym("braille_dots_14","U2809")
+ DefineXKBSym("braille_dots_24","U280a")
+ DefineXKBSym("braille_dots_124","U280b")
+ DefineXKBSym("braille_dots_34","U280c")
+ DefineXKBSym("braille_dots_134","U280d")
+ DefineXKBSym("braille_dots_234","U280e")
+ DefineXKBSym("braille_dots_1234","U280f")
+ DefineXKBSym("braille_dots_5","U2810")
+ DefineXKBSym("braille_dots_15","U2811")
+ DefineXKBSym("braille_dots_25","U2812")
+ DefineXKBSym("braille_dots_125","U2813")
+ DefineXKBSym("braille_dots_35","U2814")
+ DefineXKBSym("braille_dots_135","U2815")
+ DefineXKBSym("braille_dots_235","U2816")
+ DefineXKBSym("braille_dots_1235","U2817")
+ DefineXKBSym("braille_dots_45","U2818")
+ DefineXKBSym("braille_dots_145","U2819")
+ DefineXKBSym("braille_dots_245","U281a")
+ DefineXKBSym("braille_dots_1245","U281b")
+ DefineXKBSym("braille_dots_345","U281c")
+ DefineXKBSym("braille_dots_1345","U281d")
+ DefineXKBSym("braille_dots_2345","U281e")
+ DefineXKBSym("braille_dots_12345","U281f")
+ DefineXKBSym("braille_dots_6","U2820")
+ DefineXKBSym("braille_dots_16","U2821")
+ DefineXKBSym("braille_dots_26","U2822")
+ DefineXKBSym("braille_dots_126","U2823")
+ DefineXKBSym("braille_dots_36","U2824")
+ DefineXKBSym("braille_dots_136","U2825")
+ DefineXKBSym("braille_dots_236","U2826")
+ DefineXKBSym("braille_dots_1236","U2827")
+ DefineXKBSym("braille_dots_46","U2828")
+ DefineXKBSym("braille_dots_146","U2829")
+ DefineXKBSym("braille_dots_246","U282a")
+ DefineXKBSym("braille_dots_1246","U282b")
+ DefineXKBSym("braille_dots_346","U282c")
+ DefineXKBSym("braille_dots_1346","U282d")
+ DefineXKBSym("braille_dots_2346","U282e")
+ DefineXKBSym("braille_dots_12346","U282f")
+ DefineXKBSym("braille_dots_56","U2830")
+ DefineXKBSym("braille_dots_156","U2831")
+ DefineXKBSym("braille_dots_256","U2832")
+ DefineXKBSym("braille_dots_1256","U2833")
+ DefineXKBSym("braille_dots_356","U2834")
+ DefineXKBSym("braille_dots_1356","U2835")
+ DefineXKBSym("braille_dots_2356","U2836")
+ DefineXKBSym("braille_dots_12356","U2837")
+ DefineXKBSym("braille_dots_456","U2838")
+ DefineXKBSym("braille_dots_1456","U2839")
+ DefineXKBSym("braille_dots_2456","U283a")
+ DefineXKBSym("braille_dots_12456","U283b")
+ DefineXKBSym("braille_dots_3456","U283c")
+ DefineXKBSym("braille_dots_13456","U283d")
+ DefineXKBSym("braille_dots_23456","U283e")
+ DefineXKBSym("braille_dots_123456","U283f")
+ DefineXKBSym("braille_dots_7","U2840")
+ DefineXKBSym("braille_dots_17","U2841")
+ DefineXKBSym("braille_dots_27","U2842")
+ DefineXKBSym("braille_dots_127","U2843")
+ DefineXKBSym("braille_dots_37","U2844")
+ DefineXKBSym("braille_dots_137","U2845")
+ DefineXKBSym("braille_dots_237","U2846")
+ DefineXKBSym("braille_dots_1237","U2847")
+ DefineXKBSym("braille_dots_47","U2848")
+ DefineXKBSym("braille_dots_147","U2849")
+ DefineXKBSym("braille_dots_247","U284a")
+ DefineXKBSym("braille_dots_1247","U284b")
+ DefineXKBSym("braille_dots_347","U284c")
+ DefineXKBSym("braille_dots_1347","U284d")
+ DefineXKBSym("braille_dots_2347","U284e")
+ DefineXKBSym("braille_dots_12347","U284f")
+ DefineXKBSym("braille_dots_57","U2850")
+ DefineXKBSym("braille_dots_157","U2851")
+ DefineXKBSym("braille_dots_257","U2852")
+ DefineXKBSym("braille_dots_1257","U2853")
+ DefineXKBSym("braille_dots_357","U2854")
+ DefineXKBSym("braille_dots_1357","U2855")
+ DefineXKBSym("braille_dots_2357","U2856")
+ DefineXKBSym("braille_dots_12357","U2857")
+ DefineXKBSym("braille_dots_457","U2858")
+ DefineXKBSym("braille_dots_1457","U2859")
+ DefineXKBSym("braille_dots_2457","U285a")
+ DefineXKBSym("braille_dots_12457","U285b")
+ DefineXKBSym("braille_dots_3457","U285c")
+ DefineXKBSym("braille_dots_13457","U285d")
+ DefineXKBSym("braille_dots_23457","U285e")
+ DefineXKBSym("braille_dots_123457","U285f")
+ DefineXKBSym("braille_dots_67","U2860")
+ DefineXKBSym("braille_dots_167","U2861")
+ DefineXKBSym("braille_dots_267","U2862")
+ DefineXKBSym("braille_dots_1267","U2863")
+ DefineXKBSym("braille_dots_367","U2864")
+ DefineXKBSym("braille_dots_1367","U2865")
+ DefineXKBSym("braille_dots_2367","U2866")
+ DefineXKBSym("braille_dots_12367","U2867")
+ DefineXKBSym("braille_dots_467","U2868")
+ DefineXKBSym("braille_dots_1467","U2869")
+ DefineXKBSym("braille_dots_2467","U286a")
+ DefineXKBSym("braille_dots_12467","U286b")
+ DefineXKBSym("braille_dots_3467","U286c")
+ DefineXKBSym("braille_dots_13467","U286d")
+ DefineXKBSym("braille_dots_23467","U286e")
+ DefineXKBSym("braille_dots_123467","U286f")
+ DefineXKBSym("braille_dots_567","U2870")
+ DefineXKBSym("braille_dots_1567","U2871")
+ DefineXKBSym("braille_dots_2567","U2872")
+ DefineXKBSym("braille_dots_12567","U2873")
+ DefineXKBSym("braille_dots_3567","U2874")
+ DefineXKBSym("braille_dots_13567","U2875")
+ DefineXKBSym("braille_dots_23567","U2876")
+ DefineXKBSym("braille_dots_123567","U2877")
+ DefineXKBSym("braille_dots_4567","U2878")
+ DefineXKBSym("braille_dots_14567","U2879")
+ DefineXKBSym("braille_dots_24567","U287a")
+ DefineXKBSym("braille_dots_124567","U287b")
+ DefineXKBSym("braille_dots_34567","U287c")
+ DefineXKBSym("braille_dots_134567","U287d")
+ DefineXKBSym("braille_dots_234567","U287e")
+ DefineXKBSym("braille_dots_1234567","U287f")
+ DefineXKBSym("braille_dots_8","U2880")
+ DefineXKBSym("braille_dots_18","U2881")
+ DefineXKBSym("braille_dots_28","U2882")
+ DefineXKBSym("braille_dots_128","U2883")
+ DefineXKBSym("braille_dots_38","U2884")
+ DefineXKBSym("braille_dots_138","U2885")
+ DefineXKBSym("braille_dots_238","U2886")
+ DefineXKBSym("braille_dots_1238","U2887")
+ DefineXKBSym("braille_dots_48","U2888")
+ DefineXKBSym("braille_dots_148","U2889")
+ DefineXKBSym("braille_dots_248","U288a")
+ DefineXKBSym("braille_dots_1248","U288b")
+ DefineXKBSym("braille_dots_348","U288c")
+ DefineXKBSym("braille_dots_1348","U288d")
+ DefineXKBSym("braille_dots_2348","U288e")
+ DefineXKBSym("braille_dots_12348","U288f")
+ DefineXKBSym("braille_dots_58","U2890")
+ DefineXKBSym("braille_dots_158","U2891")
+ DefineXKBSym("braille_dots_258","U2892")
+ DefineXKBSym("braille_dots_1258","U2893")
+ DefineXKBSym("braille_dots_358","U2894")
+ DefineXKBSym("braille_dots_1358","U2895")
+ DefineXKBSym("braille_dots_2358","U2896")
+ DefineXKBSym("braille_dots_12358","U2897")
+ DefineXKBSym("braille_dots_458","U2898")
+ DefineXKBSym("braille_dots_1458","U2899")
+ DefineXKBSym("braille_dots_2458","U289a")
+ DefineXKBSym("braille_dots_12458","U289b")
+ DefineXKBSym("braille_dots_3458","U289c")
+ DefineXKBSym("braille_dots_13458","U289d")
+ DefineXKBSym("braille_dots_23458","U289e")
+ DefineXKBSym("braille_dots_123458","U289f")
+ DefineXKBSym("braille_dots_68","U28a0")
+ DefineXKBSym("braille_dots_168","U28a1")
+ DefineXKBSym("braille_dots_268","U28a2")
+ DefineXKBSym("braille_dots_1268","U28a3")
+ DefineXKBSym("braille_dots_368","U28a4")
+ DefineXKBSym("braille_dots_1368","U28a5")
+ DefineXKBSym("braille_dots_2368","U28a6")
+ DefineXKBSym("braille_dots_12368","U28a7")
+ DefineXKBSym("braille_dots_468","U28a8")
+ DefineXKBSym("braille_dots_1468","U28a9")
+ DefineXKBSym("braille_dots_2468","U28aa")
+ DefineXKBSym("braille_dots_12468","U28ab")
+ DefineXKBSym("braille_dots_3468","U28ac")
+ DefineXKBSym("braille_dots_13468","U28ad")
+ DefineXKBSym("braille_dots_23468","U28ae")
+ DefineXKBSym("braille_dots_123468","U28af")
+ DefineXKBSym("braille_dots_568","U28b0")
+ DefineXKBSym("braille_dots_1568","U28b1")
+ DefineXKBSym("braille_dots_2568","U28b2")
+ DefineXKBSym("braille_dots_12568","U28b3")
+ DefineXKBSym("braille_dots_3568","U28b4")
+ DefineXKBSym("braille_dots_13568","U28b5")
+ DefineXKBSym("braille_dots_23568","U28b6")
+ DefineXKBSym("braille_dots_123568","U28b7")
+ DefineXKBSym("braille_dots_4568","U28b8")
+ DefineXKBSym("braille_dots_14568","U28b9")
+ DefineXKBSym("braille_dots_24568","U28ba")
+ DefineXKBSym("braille_dots_124568","U28bb")
+ DefineXKBSym("braille_dots_34568","U28bc")
+ DefineXKBSym("braille_dots_134568","U28bd")
+ DefineXKBSym("braille_dots_234568","U28be")
+ DefineXKBSym("braille_dots_1234568","U28bf")
+ DefineXKBSym("braille_dots_78","U28c0")
+ DefineXKBSym("braille_dots_178","U28c1")
+ DefineXKBSym("braille_dots_278","U28c2")
+ DefineXKBSym("braille_dots_1278","U28c3")
+ DefineXKBSym("braille_dots_378","U28c4")
+ DefineXKBSym("braille_dots_1378","U28c5")
+ DefineXKBSym("braille_dots_2378","U28c6")
+ DefineXKBSym("braille_dots_12378","U28c7")
+ DefineXKBSym("braille_dots_478","U28c8")
+ DefineXKBSym("braille_dots_1478","U28c9")
+ DefineXKBSym("braille_dots_2478","U28ca")
+ DefineXKBSym("braille_dots_12478","U28cb")
+ DefineXKBSym("braille_dots_3478","U28cc")
+ DefineXKBSym("braille_dots_13478","U28cd")
+ DefineXKBSym("braille_dots_23478","U28ce")
+ DefineXKBSym("braille_dots_123478","U28cf")
+ DefineXKBSym("braille_dots_578","U28d0")
+ DefineXKBSym("braille_dots_1578","U28d1")
+ DefineXKBSym("braille_dots_2578","U28d2")
+ DefineXKBSym("braille_dots_12578","U28d3")
+ DefineXKBSym("braille_dots_3578","U28d4")
+ DefineXKBSym("braille_dots_13578","U28d5")
+ DefineXKBSym("braille_dots_23578","U28d6")
+ DefineXKBSym("braille_dots_123578","U28d7")
+ DefineXKBSym("braille_dots_4578","U28d8")
+ DefineXKBSym("braille_dots_14578","U28d9")
+ DefineXKBSym("braille_dots_24578","U28da")
+ DefineXKBSym("braille_dots_124578","U28db")
+ DefineXKBSym("braille_dots_34578","U28dc")
+ DefineXKBSym("braille_dots_134578","U28dd")
+ DefineXKBSym("braille_dots_234578","U28de")
+ DefineXKBSym("braille_dots_1234578","U28df")
+ DefineXKBSym("braille_dots_678","U28e0")
+ DefineXKBSym("braille_dots_1678","U28e1")
+ DefineXKBSym("braille_dots_2678","U28e2")
+ DefineXKBSym("braille_dots_12678","U28e3")
+ DefineXKBSym("braille_dots_3678","U28e4")
+ DefineXKBSym("braille_dots_13678","U28e5")
+ DefineXKBSym("braille_dots_23678","U28e6")
+ DefineXKBSym("braille_dots_123678","U28e7")
+ DefineXKBSym("braille_dots_4678","U28e8")
+ DefineXKBSym("braille_dots_14678","U28e9")
+ DefineXKBSym("braille_dots_24678","U28ea")
+ DefineXKBSym("braille_dots_124678","U28eb")
+ DefineXKBSym("braille_dots_34678","U28ec")
+ DefineXKBSym("braille_dots_134678","U28ed")
+ DefineXKBSym("braille_dots_234678","U28ee")
+ DefineXKBSym("braille_dots_1234678","U28ef")
+ DefineXKBSym("braille_dots_5678","U28f0")
+ DefineXKBSym("braille_dots_15678","U28f1")
+ DefineXKBSym("braille_dots_25678","U28f2")
+ DefineXKBSym("braille_dots_125678","U28f3")
+ DefineXKBSym("braille_dots_35678","U28f4")
+ DefineXKBSym("braille_dots_135678","U28f5")
+ DefineXKBSym("braille_dots_235678","U28f6")
+ DefineXKBSym("braille_dots_1235678","U28f7")
+ DefineXKBSym("braille_dots_45678","U28f8")
+ DefineXKBSym("braille_dots_145678","U28f9")
+ DefineXKBSym("braille_dots_245678","U28fa")
+ DefineXKBSym("braille_dots_1245678","U28fb")
+ DefineXKBSym("braille_dots_345678","U28fc")
+ DefineXKBSym("braille_dots_1345678","U28fd")
+ DefineXKBSym("braille_dots_2345678","U28fe")
+ DefineXKBSym("braille_dots_12345678","U28ff")
+ DefineXKBSym("NoSymbol","U0020")
+}
+
+convertXkbsym(X) {
+ global
+ nlen := StrLen(X)
+ SS := X . " "
+ pos := InStr(KSYM%nlen%,SS,true)
+ if (pos>0) {
+ poscd := 5*(pos-1)/(nlen+1)+1
+ X := SubStr(KSCD%nlen%,poscd,5)
+ return X
+ } else if (SubStr(X,1,1) == "U")
+ return X
+ else {
+ ResName := EncodeUni(X)
+ if (StrLen(ResName) == 5)
+ return ResName
+ }
+ return ""
+}
+
+EncodeUniCompose(str) {
+SetFormat, Integer, hex
+ result := ""
+ loop {
+ char := asc(SubStr(str,1,1))
+ str := SubStr(str,2)
+ if (char < 0x80)
+ result .= "U" . SubStr("0000" . SubStr(char,3),-3)
+ else if (char < 0xC0) {
+ ; error
+ } else if (char < 0xE0) {
+ char2 := asc(Substr(str,1,1))
+ str := SubStr(str,2)
+ if ((char2 < 0x80) or (char2 > 0xBF)) {
+ ; error
+ } else {
+ result .= "U" . SubStr("0000" . SubStr((((char & 0x1F) << 6) + (char2 & 0x3F)),3),-3)
+ }
+ } else if (char < 0xF8) {
+ char2 := asc(SubStr(str,1,1))
+ char3 := asc(SubStr(str,2,1))
+ str := SubStr(str,3)
+ if ((char2 < 0x80) or (char2 > 0xBF)
+ or (char3 < 0x80) or (char3 > 0xBF)) {
+ ; error
+ } else {
+ result .= "U" . SubStr("0000" . SubStr((((char & 0x0F) << 12) + ((char2 & 0x3F) << 6) + (char3 & 0x3F)),3),-3)
+ }
+ }
+ if (str == "")
+ break
+ }
+SetFormat, Integer, d
+ StringUpper,result,result
+ return result
+}
+
+VarSetCapacity(Composita,10240000) ; 10 MB
+
+ProcessComposeFile(FFrom) {
+ global
+
+ FileRead, FileContents, %FFrom%
+
+ Loop, parse, FileContents, `n, `r ; Specifying `n prior to `r allows both Windows and Unix files to be parsed.
+ {
+ NumLines := A_Index
+ }
+
+ Loop, parse, FileContents, `n, `r ; Specifying `n prior to `r allows both Windows and Unix files to be parsed.
+ {
+ Line := A_LoopField
+ if ((Line == "") or (SubStr(Line,1,5) == "XCOMM") or (SubStr(Line,1,1) == "#"))
+ continue
+ Line := RegExReplace(Line,"[\t ]*(<[^>]*>)[\t ]*","$1")
+ RegExMatch(Line,"([^:]*):[\t ]*""((\\.|[^""])*)"".*",OutputVar)
+ ReplaceLeft := OutputVar1
+ ReplaceRight := ""
+ loop {
+ thechar := SubStr(OutputVar2,1,1)
+ OutputVar2 := SubStr(OutputVar2,2)
+ if (thechar == "\") {
+ thechar := SubStr(OutputVar2,1,1)
+ OutputVar2 := SubStr(OutputVar2,2)
+ if (thechar == "n")
+ thechar := chr(0x000d) ; Line-Feed
+ ReplaceRight := ReplaceRight . thechar
+ } else
+ ReplaceRight := ReplaceRight . thechar
+ if (OutputVar2 == "")
+ break
+ }
+
+ ; care for replaceleft
+ modkeys := ""
+ loop {
+ if ((SubStr(ReplaceLeft,1,1)=="<") and (InStr(ReplaceLeft,">"))) {
+ Xkbsym := SubStr(ReplaceLeft,2,InStr(ReplaceLeft,">")-2)
+ ReplaceLeft := SubStr(ReplaceLeft,InStr(ReplaceLeft,">")+1)
+
+ modkey := ConvertXkbsym(Xkbsym)
+ if (modkey == "") {
+ modkeys := "" ; invalidate whole line
+ break
+ }
+ modkeys := modkeys . modkey
+ if (ReplaceLeft == "")
+ break
+ if (CM%modkeys% != 1)
+ CM%modkeys% := 1
+ }
+ else {
+ modkeys := "" ; invalidate whole line
+ break
+ }
+ }
+ if (modkeys != "") {
+ ressymb := EncodeUniCompose(ReplaceRight)
+ CD%modkeys% := ressymb
+ if (StrLen(ressymb)==5)
+ CRC%ressymb% .= modkeys
+ }
+ }
+
+}
+
+LoadCurrentComposeFile(FIn) {
+ global
+ if (!CurrentComposeLoaded) {
+ DefineXKBSyms()
+ CurrentComposeLoaded := 1
+ }
+ ProcessComposeFile(Fin)
+}
+
+LoadCurrentCompose() {
+ global
+ ; setup a new thread to start immediately in the background
+ SetTimer,ConvertCompose,-1
+ return
+
+ ConvertCompose:
+ ComposePath := "..\..\..\Compose"
+ LoadCurrentComposeFile(ComposePath . "\en_US.UTF-8")
+ LoadCurrentComposeFile(ComposePath . "\Compose.neo")
+ TrayTip,Compose-Konvertierung,Konvertierung abgeschlossen!,10,1
+ return
+}
diff --git a/windows/neo-vars/src/source/initialize.ahk b/windows/neo-vars/src/source/initialize.ahk
index 53a7064..641db44 100644
--- a/windows/neo-vars/src/source/initialize.ahk
+++ b/windows/neo-vars/src/source/initialize.ahk
@@ -49,6 +49,7 @@ IniRead,zeigeLockBox,%ini%,Global,zeigeLockBox,1
IniRead,zeigeModusBox,%ini%,Global,zeigeModusBox,1
IniRead,UseMod4Light,%ini%,Global,UseMod4Light,1
IniRead,striktesMod2Lock,%ini%,Global,striktesMod2Lock,0
+IniRead,dynamischesCompose,%ini%,Global,dynamischesCompose,0
regread,inputlocale,HKEY_CURRENT_USER,Keyboard Layout\Preload,1
regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale%
@@ -83,4 +84,9 @@ IsMod4LPressed := 0
IsMod4Pressed := 0
IsMod4Locked := 0
EbeneAktualisieren()
-LoadDefaultCompose()
+
+
+if (dynamischesCompose)
+ LoadCurrentCompose()
+else
+ LoadDefaultCompose()