From 70d34cb8fef03b0e3afa071e2afeb1365dff9015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=B6si?= Date: Fri, 20 Feb 2009 15:23:51 +0000 Subject: =?UTF-8?q?Dynamisches=20Compose=20implementiert=20=E2=80=93=20all?= =?UTF-8?q?erdings=20noch=20recht=20starr=20und=20nicht=20EXE-tauglich.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@1677 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/neo-vars/src/neo20-all.ahk | 1 + windows/neo-vars/src/source/compose-gen.ahk | 1917 +++++++++++++++++++++++++++ windows/neo-vars/src/source/initialize.ahk | 8 +- 3 files changed, 1925 insertions(+), 1 deletion(-) create mode 100644 windows/neo-vars/src/source/compose-gen.ahk 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() -- cgit v1.2.3