]> shimmer.witbreuk.eu Git - UltimateKEYS.git/commitdiff
Add files via upload
authorPieter Degroote <pieter-degroote@users.noreply.github.com>
Fri, 27 Mar 2020 13:12:39 +0000 (14:12 +0100)
committerGitHub <noreply@github.com>
Fri, 27 Mar 2020 13:12:39 +0000 (14:12 +0100)
The symbols œ/Œ and †/‡ have switched placed, this for convenience in regard to the already existing US QWERTY variants on GNU/Linux.

UltimateKEYS - 2020-03-27.ahk [new file with mode: 0644]
UltimateKEYS - 2020-03-27.klc [new file with mode: 0644]

diff --git a/UltimateKEYS - 2020-03-27.ahk b/UltimateKEYS - 2020-03-27.ahk
new file mode 100644 (file)
index 0000000..dcd48fd
--- /dev/null
@@ -0,0 +1,1208 @@
+; UltimateKEYS - 2020-03-27.ahk\r
+\r
+; Created by :  Pieter Degroote\r
+\r
+; License :  GNU General Public License Version 3\r
+\r
+; Website :  https://github.com/pieter-degroote/UltimateKEYS\r
+\r
+\r
+; Requirements :\r
+\r
+; Keyboard layout (on Windows OS) :  US QWERTY\r
+\r
+; AutoHotkey v1.1 (https://www.autohotkey.com/)\r
+\r
+\r
+\r
+; Dead Key :  Circumflex Accent\r
+\r
+dkCircumflex := ComObjCreate("Scripting.Dictionary")\r
+dkCircumflex.item("a") := "â"  ; a with circumflex\r
+dkCircumflex.item("A") := "Â"  ; A with circumflex\r
+dkCircumflex.item("c") := "ĉ"  ; c with circumflex\r
+dkCircumflex.item("C") := "Ĉ"  ; C with circumflex\r
+dkCircumflex.item("e") := "ê"  ; e with circumflex\r
+dkCircumflex.item("E") := "Ê"  ; E with circumflex\r
+dkCircumflex.item("g") := "ĝ"  ; g with circumflex\r
+dkCircumflex.item("G") := "Ĝ"  ; G with circumflex\r
+dkCircumflex.item("h") := "ĥ"  ; h with circumflex\r
+dkCircumflex.item("H") := "Ĥ"  ; H with circumflex\r
+dkCircumflex.item("i") := "î"  ; i with circumflex\r
+dkCircumflex.item("I") := "Î"  ; I with circumflex\r
+dkCircumflex.item("j") := "ĵ"  ; j with circumflex\r
+dkCircumflex.item("J") := "Ĵ"  ; J with circumflex\r
+dkCircumflex.item("o") := "ô"  ; o with circumflex\r
+dkCircumflex.item("O") := "Ô"  ; O with circumflex\r
+dkCircumflex.item("s") := "ŝ"  ; s with circumflex\r
+dkCircumflex.item("S") := "Ŝ"  ; S with circumflex\r
+dkCircumflex.item("u") := "û"  ; u with circumflex\r
+dkCircumflex.item("U") := "Û"  ; U with circumflex\r
+dkCircumflex.item("w") := "ŵ"  ; w with circumflex\r
+dkCircumflex.item("W") := "Ŵ"  ; W with circumflex\r
+dkCircumflex.item("y") := "ŷ"  ; y with circumflex\r
+dkCircumflex.item("Y") := "Ŷ"  ; Y with circumflex\r
+dkCircumflex.item("z") := "ẑ"  ; z with circumflex\r
+dkCircumflex.item("Z") := "Ẑ"  ; Z with circumflex\r
+dkCircumflex.item("n") := "₦"  ; Nigerian naira\r
+dkCircumflex.item("N") := "₦"  ; Nigerian naira\r
+dkCircumflex.item("^") := "{^}"  ; circumflex accent\r
+dkCircumflex.item(" ") := "{^}"  ; circumflex accent\r
+\r
+\r
+; Dead Key :  Caron\r
+\r
+dkCaron := ComObjCreate("Scripting.Dictionary")\r
+dkCaron.item("a") := "ǎ"  ; a with caron\r
+dkCaron.item("A") := "Ǎ"  ; A with caron\r
+dkCaron.item("c") := "č"  ; c with caron\r
+dkCaron.item("C") := "Č"  ; C with caron\r
+dkCaron.item("d") := "ď"  ; d with caron\r
+dkCaron.item("D") := "Ď"  ; D with caron\r
+dkCaron.item("e") := "ě"  ; e with caron\r
+dkCaron.item("E") := "Ě"  ; E with caron\r
+dkCaron.item("g") := "ǧ"  ; g with caron\r
+dkCaron.item("G") := "Ǧ"  ; G with caron\r
+dkCaron.item("h") := "ȟ"  ; h with caron\r
+dkCaron.item("H") := "Ȟ"  ; H with caron\r
+dkCaron.item("i") := "ǐ"  ; i with caron\r
+dkCaron.item("I") := "Ǐ"  ; I with caron\r
+dkCaron.item("j") := "ǰ"  ; j with caron\r
+dkCaron.item("k") := "ǩ"  ; k with caron\r
+dkCaron.item("K") := "Ǩ"  ; K with caron\r
+dkCaron.item("l") := "ľ"  ; l with caron\r
+dkCaron.item("L") := "Ľ"  ; L with caron\r
+dkCaron.item("n") := "ň"  ; n with caron\r
+dkCaron.item("N") := "Ň"  ; N with caron\r
+dkCaron.item("o") := "ǒ"  ; o with caron\r
+dkCaron.item("O") := "Ǒ"  ; O with caron\r
+dkCaron.item("r") := "ř"  ; r with caron\r
+dkCaron.item("R") := "Ř"  ; R with caron\r
+dkCaron.item("s") := "š"  ; s with caron\r
+dkCaron.item("S") := "Š"  ; S with caron\r
+dkCaron.item("t") := "ť"  ; t with caron\r
+dkCaron.item("T") := "Ť"  ; T with caron\r
+dkCaron.item("u") := "ǔ"  ; u with caron\r
+dkCaron.item("U") := "Ǔ"  ; U with caron\r
+dkCaron.item("ü") := "ǚ"  ; u with diaeresis and caron\r
+dkCaron.item("Ü") := "Ǚ"  ; U with diaeresis and caron\r
+dkCaron.item("z") := "ž"  ; z with caron\r
+dkCaron.item("Z") := "Ž"  ; Z with caron\r
+dkCaron.item("3") := "ǯ"  ; small letter ezh with caron\r
+dkCaron.item("#") := "Ǯ"  ; capital letter ezh with caron\r
+dkCaron.item(" ") := "ˇ"  ; caron\r
+\r
+\r
+; Dead Key :  Ring/Dot Above\r
+\r
+dkRingDotAbove := ComObjCreate("Scripting.Dictionary")\r
+dkRingDotAbove.item("a") := "å"  ; a with ring above\r
+dkRingDotAbove.item("A") := "Å"  ; A with ring above\r
+dkRingDotAbove.item("ä") := "ȧ"  ; a with dot above\r
+dkRingDotAbove.item("Ä") := "Ȧ"  ; a with dot above\r
+dkRingDotAbove.item("b") := "ḃ"  ; b with dot above\r
+dkRingDotAbove.item("B") := "Ḃ"  ; B with dot above\r
+dkRingDotAbove.item("c") := "ċ"  ; c with dot above\r
+dkRingDotAbove.item("C") := "Ċ"  ; C with dot above\r
+dkRingDotAbove.item("d") := "ḋ"  ; d with dot above\r
+dkRingDotAbove.item("D") := "Ḋ"  ; D with dot above\r
+dkRingDotAbove.item("e") := "ė"  ; e with dot above\r
+dkRingDotAbove.item("E") := "Ė"  ; E with dot above\r
+dkRingDotAbove.item("f") := "ḟ"  ; f with dot above\r
+dkRingDotAbove.item("F") := "Ḟ"  ; F with dot above\r
+dkRingDotAbove.item("g") := "ġ"  ; g with dot above\r
+dkRingDotAbove.item("G") := "Ġ"  ; G with dot above\r
+dkRingDotAbove.item("h") := "ḣ"  ; h with dot above\r
+dkRingDotAbove.item("H") := "Ḣ"  ; H with dot above\r
+dkRingDotAbove.item("i") := "ı"  ; dotless i (Turkish, Azerbaijani)\r
+dkRingDotAbove.item("I") := "İ"  ; I with dot above (Turkish, Azerbaijani)\r
+dkRingDotAbove.item("j") := "ȷ"  ; dotless j\r
+dkRingDotAbove.item("l") := "ŀ"  ; l with middle dot\r
+dkRingDotAbove.item("L") := "Ŀ"  ; L with middle dot\r
+dkRingDotAbove.item("m") := "ṁ"  ; m with dot above\r
+dkRingDotAbove.item("M") := "Ṁ"  ; M with dot above\r
+dkRingDotAbove.item("n") := "ṅ"  ; n with dot above\r
+dkRingDotAbove.item("N") := "Ṅ"  ; N with dot above\r
+dkRingDotAbove.item("o") := "ȯ"  ; o with dot above\r
+dkRingDotAbove.item("O") := "Ȯ"  ; O with dot above\r
+dkRingDotAbove.item("p") := "ṗ"  ; p with dot above\r
+dkRingDotAbove.item("P") := "Ṗ"  ; P with dot above\r
+dkRingDotAbove.item("r") := "ṙ"  ; r with dot above\r
+dkRingDotAbove.item("R") := "Ṙ"  ; R with dot above\r
+dkRingDotAbove.item("s") := "ṡ"  ; s with dot above\r
+dkRingDotAbove.item("S") := "Ṡ"  ; S with dot above\r
+dkRingDotAbove.item("t") := "ṫ"  ; t with dot above\r
+dkRingDotAbove.item("T") := "Ṫ"  ; T with dot above\r
+dkRingDotAbove.item("u") := "ů"  ; u with ring above\r
+dkRingDotAbove.item("U") := "Ů"  ; U with ring above\r
+dkRingDotAbove.item("w") := "ẘ"  ; w with ring above\r
+dkRingDotAbove.item("å") := "ẇ"  ; w with dot above\r
+dkRingDotAbove.item("Å") := "Ẇ"  ; W with dot above\r
+dkRingDotAbove.item("x") := "ẋ"  ; x with dot above\r
+dkRingDotAbove.item("X") := "Ẋ"  ; X with dot above\r
+dkRingDotAbove.item("y") := "ẙ"  ; y with ring above\r
+dkRingDotAbove.item("ÿ") := "ẏ"  ; y with dot above\r
+dkRingDotAbove.item("Ÿ") := "Ẏ"  ; Y with dot above\r
+dkRingDotAbove.item("z") := "ż"  ; z with dot above\r
+dkRingDotAbove.item("Z") := "Ż"  ; Z with dot above\r
+dkRingDotAbove.item(" ") := "˙"  ; dot above\r
+\r
+\r
+; Dead Key :  Macron/Stroke\r
+\r
+dkMacronStroke := ComObjCreate("Scripting.Dictionary")\r
+dkMacronStroke.item("a") := "ā"  ; a with macron\r
+dkMacronStroke.item("A") := "Ā"  ; A with macron\r
+dkMacronStroke.item("æ") := "ǣ"  ; ae with macron\r
+dkMacronStroke.item("Æ") := "Ǣ"  ; AE with macron\r
+dkMacronStroke.item("b") := "ƀ"  ; b with stroke\r
+dkMacronStroke.item("B") := "Ƀ"  ; B with stroke\r
+dkMacronStroke.item("d") := "đ"  ; d with stroke\r
+dkMacronStroke.item("D") := "Đ"  ; D with stroke\r
+dkMacronStroke.item("e") := "ē"  ; e with macron\r
+dkMacronStroke.item("E") := "Ē"  ; E with macron\r
+dkMacronStroke.item("g") := "ǥ"  ; g with stroke (Skolt Sami)\r
+dkMacronStroke.item("G") := "Ǥ"  ; G with stroke (Skolt Sami)\r
+dkMacronStroke.item("é") := "ḡ"  ; g with macron\r
+dkMacronStroke.item("É") := "Ḡ"  ; G with macron\r
+dkMacronStroke.item("h") := "ħ"  ; h with stroke (Maltese)\r
+dkMacronStroke.item("H") := "Ħ"  ; H with stroke (Maltese)\r
+dkMacronStroke.item("i") := "ī"  ; i with macron\r
+dkMacronStroke.item("I") := "Ī"  ; I with macron\r
+dkMacronStroke.item("ï") := "ɨ"  ; i with stroke\r
+dkMacronStroke.item("Ï") := "Ɨ"  ; I with stroke\r
+dkMacronStroke.item("j") := "ɉ"  ; j with stroke\r
+dkMacronStroke.item("J") := "Ɉ"  ; J with stroke\r
+dkMacronStroke.item("l") := "ł"  ; l with stroke\r
+dkMacronStroke.item("L") := "Ł"  ; L with stroke\r
+dkMacronStroke.item("ø") := "ḻ"  ; l with line below\r
+dkMacronStroke.item("Ø") := "Ḻ"  ; L with line below\r
+dkMacronStroke.item("o") := "ō"  ; o with macron\r
+dkMacronStroke.item("O") := "Ō"  ; O with macron\r
+dkMacronStroke.item("ö") := "ǭ"  ; o with ogonek and macron\r
+dkMacronStroke.item("Ö") := "Ǭ"  ; O with ogonek and macron\r
+dkMacronStroke.item("p") := "ᵽ"  ; p with stroke\r
+dkMacronStroke.item("P") := "Ᵽ"  ; P with stroke\r
+dkMacronStroke.item("r") := "ɍ"  ; r with stroke\r
+dkMacronStroke.item("R") := "Ɍ"  ; R with stroke\r
+dkMacronStroke.item("t") := "ŧ"  ; t with stroke\r
+dkMacronStroke.item("T") := "Ŧ"  ; T with stroke\r
+dkMacronStroke.item("u") := "ū"  ; u with macron\r
+dkMacronStroke.item("U") := "Ū"  ; U with macron\r
+dkMacronStroke.item("ü") := "ʉ"  ; u with bar\r
+dkMacronStroke.item("Ü") := "Ʉ"  ; U with bar\r
+dkMacronStroke.item("y") := "ȳ"  ; y with macron\r
+dkMacronStroke.item("Y") := "Ȳ"  ; Y with macron\r
+dkMacronStroke.item("ÿ") := "ɏ"  ; y with stroke\r
+dkMacronStroke.item("Ÿ") := "Ɏ"  ; Y with stroke\r
+dkMacronStroke.item("z") := "ƶ"  ; z with stroke\r
+dkMacronStroke.item("Z") := "Ƶ"  ; Z with stroke\r
+dkMacronStroke.item(" ") := "¯"  ; macron\r
+\r
+\r
+; Dead Key :  Cedilla/Ogonek\r
+\r
+dkCedillaOgonek := ComObjCreate("Scripting.Dictionary")\r
+dkCedillaOgonek.item("a") := "ą"  ; a with ogonek\r
+dkCedillaOgonek.item("A") := "Ą"  ; A with ogonek\r
+dkCedillaOgonek.item("c") := "ç"  ; c with cedilla\r
+dkCedillaOgonek.item("C") := "Ç"  ; C with cedilla\r
+dkCedillaOgonek.item("d") := "ḑ"  ; d with cedilla\r
+dkCedillaOgonek.item("D") := "Ḑ"  ; D with cedilla\r
+dkCedillaOgonek.item("e") := "ę"  ; e with ogonek\r
+dkCedillaOgonek.item("E") := "Ę"  ; E with ogonek\r
+dkCedillaOgonek.item("ë") := "ȩ"  ; e with cedilla\r
+dkCedillaOgonek.item("Ë") := "Ȩ"  ; E with cedilla\r
+dkCedillaOgonek.item("g") := "ģ"  ; g with cedilla\r
+dkCedillaOgonek.item("G") := "Ģ"  ; G with cedilla\r
+dkCedillaOgonek.item("h") := "ḩ"  ; h with cedilla\r
+dkCedillaOgonek.item("H") := "Ḩ"  ; H with cedilla\r
+dkCedillaOgonek.item("i") := "į"  ; i with ogonek\r
+dkCedillaOgonek.item("I") := "Į"  ; I with ogonek\r
+dkCedillaOgonek.item("k") := "ķ"  ; k with cedilla\r
+dkCedillaOgonek.item("K") := "Ķ"  ; K with cedilla\r
+dkCedillaOgonek.item("l") := "ļ"  ; l with cedilla\r
+dkCedillaOgonek.item("L") := "Ļ"  ; L with cedilla\r
+dkCedillaOgonek.item("n") := "ņ"  ; n with cedilla\r
+dkCedillaOgonek.item("N") := "Ņ"  ; N with cedilla\r
+dkCedillaOgonek.item("o") := "ǫ"  ; o with ogonek\r
+dkCedillaOgonek.item("O") := "Ǫ"  ; O with ogonek\r
+dkCedillaOgonek.item("ö") := "ǭ"  ; o with ogonek and macron\r
+dkCedillaOgonek.item("Ö") := "Ǭ"  ; O with ogonek and macron\r
+dkCedillaOgonek.item("r") := "ŗ"  ; r with cedilla\r
+dkCedillaOgonek.item("R") := "Ŗ"  ; R with cedilla\r
+dkCedillaOgonek.item("s") := "ş"  ; s with cedilla\r
+dkCedillaOgonek.item("S") := "Ş"  ; S with cedilla\r
+dkCedillaOgonek.item("t") := "ţ"  ; t with cedilla\r
+dkCedillaOgonek.item("T") := "Ţ"  ; T with cedilla\r
+dkCedillaOgonek.item("u") := "ų"  ; u with ogonek\r
+dkCedillaOgonek.item("U") := "Ų"  ; U with ogonek\r
+dkCedillaOgonek.item("w") := "₩"  ; South Korean won\r
+dkCedillaOgonek.item("W") := "₩"  ; South Korean won\r
+dkCedillaOgonek.item("1") := "–"  ; en dash\r
+dkCedillaOgonek.item("2") := "—"  ; em dash\r
+dkCedillaOgonek.item("3") := "―"  ; horizontal bar\r
+dkCedillaOgonek.item("4") := "‐"  ; hyphen\r
+dkCedillaOgonek.item("9") := "‒"  ; figure dash\r
+dkCedillaOgonek.item("0") := "­"  ; soft hyphen\r
+dkCedillaOgonek.item("-") := "‑"  ; non-breaking hyphen\r
+dkCedillaOgonek.item(".") := "˛"  ; ogonek\r
+dkCedillaOgonek.item(" ") := "¸"  ; cedilla\r
+\r
+\r
+; Dead Key :  Breve/Special\r
+\r
+dkBreveSpecial := ComObjCreate("Scripting.Dictionary")\r
+dkBreveSpecial.item("a") := "ă"  ; a with breve\r
+dkBreveSpecial.item("A") := "Ă"  ; A with breve\r
+dkBreveSpecial.item("d") := "ɖ"  ; small letter d with tail\r
+dkBreveSpecial.item("D") := "Ɖ"  ; capital letter African D\r
+dkBreveSpecial.item("e") := "ĕ"  ; e with breve\r
+dkBreveSpecial.item("E") := "Ĕ"  ; E with breve\r
+dkBreveSpecial.item("ë") := "ǝ"  ; small turned e\r
+dkBreveSpecial.item("Ë") := "Ǝ"  ; capital reversed E\r
+dkBreveSpecial.item("f") := "ə"  ; small letter schwa (Azerbaijani)\r
+dkBreveSpecial.item("F") := "Ə"  ; capital letter schwa (Azerbaijani)\r
+dkBreveSpecial.item("g") := "ğ"  ; g with breve\r
+dkBreveSpecial.item("G") := "Ğ"  ; G with breve\r
+dkBreveSpecial.item("h") := "ɣ"  ; latin small gamma\r
+dkBreveSpecial.item("H") := "Ɣ"  ; latin capital gamma\r
+dkBreveSpecial.item("i") := "ĭ"  ; i with breve\r
+dkBreveSpecial.item("I") := "Ĭ"  ; I with breve\r
+dkBreveSpecial.item("j") := "ij"  ; ligature ij\r
+dkBreveSpecial.item("J") := "IJ"  ; ligature IJ\r
+dkBreveSpecial.item("k") := "ĸ"  ; small letter kra\r
+dkBreveSpecial.item("n") := "ŋ"  ; small letter eng(ma)\r
+dkBreveSpecial.item("N") := "Ŋ"  ; capital letter eng(ma)\r
+dkBreveSpecial.item("o") := "ŏ"  ; o with breve\r
+dkBreveSpecial.item("O") := "Ŏ"  ; O with breve\r
+dkBreveSpecial.item("ö") := "ɔ"  ; small open o\r
+dkBreveSpecial.item("Ö") := "Ɔ"  ; capital open O\r
+dkBreveSpecial.item("s") := "ș"  ; s with comma below (Romanian)\r
+dkBreveSpecial.item("S") := "Ș"  ; S with comma below (Romanian)\r
+dkBreveSpecial.item("t") := "ț"  ; t with comma below (Romanian)\r
+dkBreveSpecial.item("T") := "Ț"  ; T with comma below (Romanian)\r
+dkBreveSpecial.item("u") := "ŭ"  ; u with breve\r
+dkBreveSpecial.item("U") := "Ŭ"  ; U with breve\r
+dkBreveSpecial.item("ü") := "ʊ"  ; latin small letter upsilon\r
+dkBreveSpecial.item("Ü") := "Ʊ"  ; latin capital letter upsilon\r
+dkBreveSpecial.item("w") := "ƿ"  ; small letter wynn\r
+dkBreveSpecial.item("W") := "Ƿ"  ; capital letter wynn\r
+dkBreveSpecial.item("y") := "ȝ"  ; small letter yogh\r
+dkBreveSpecial.item("Y") := "Ȝ"  ; capital letter yogh\r
+dkBreveSpecial.item("3") := "ʒ"  ; small letter ezh\r
+dkBreveSpecial.item("#") := "Ʒ"  ; capital letter ezh\r
+dkBreveSpecial.item(" ") := "˘"  ; breve\r
+\r
+\r
+; Dead Key :  Acute Accent\r
+\r
+dkAcuteAccent := ComObjCreate("Scripting.Dictionary")\r
+dkAcuteAccent.item("a") := "á"  ; a with acute\r
+dkAcuteAccent.item("A") := "Á"  ; A with acute\r
+dkAcuteAccent.item("b") := "ɓ"  ; b with hook\r
+dkAcuteAccent.item("B") := "Ɓ"  ; B with hook\r
+dkAcuteAccent.item("c") := "ć"  ; c with acute\r
+dkAcuteAccent.item("C") := "Ć"  ; C with acute\r
+dkAcuteAccent.item("ç") := "ḉ"  ; c with cedilla and acute\r
+dkAcuteAccent.item("Ç") := "Ḉ"  ; C with cedilla and acute\r
+dkAcuteAccent.item("d") := "ɗ"  ; d with hook\r
+dkAcuteAccent.item("D") := "Ɗ"  ; D with hook\r
+dkAcuteAccent.item("e") := "é"  ; e with acute\r
+dkAcuteAccent.item("E") := "É"  ; E with acute\r
+dkAcuteAccent.item("f") := "ƒ"  ; f with hook\r
+dkAcuteAccent.item("F") := "Ƒ"  ; F with hook\r
+dkAcuteAccent.item("g") := "ǵ"  ; g with acute\r
+dkAcuteAccent.item("G") := "Ǵ"  ; G with acute\r
+dkAcuteAccent.item("h") := "ɦ"  ; h with hook\r
+dkAcuteAccent.item("H") := "Ɦ"  ; H with hook\r
+dkAcuteAccent.item("i") := "í"  ; i with acute\r
+dkAcuteAccent.item("I") := "Í"  ; I with acute\r
+dkAcuteAccent.item("j") := "ij"  ; ligature ij\r
+dkAcuteAccent.item("J") := "IJ"  ; ligature IJ\r
+dkAcuteAccent.item("k") := "ƙ"  ; k with hook\r
+dkAcuteAccent.item("K") := "Ƙ"  ; K with hook\r
+dkAcuteAccent.item("l") := "ĺ"  ; l with acute\r
+dkAcuteAccent.item("L") := "Ĺ"  ; L with acute\r
+dkAcuteAccent.item("m") := "ḿ"  ; m with acute\r
+dkAcuteAccent.item("M") := "Ḿ"  ; M with acute\r
+dkAcuteAccent.item("n") := "ń"  ; n with acute\r
+dkAcuteAccent.item("N") := "Ń"  ; N with acute\r
+dkAcuteAccent.item("o") := "ó"  ; o with acute\r
+dkAcuteAccent.item("O") := "Ó"  ; O with acute\r
+dkAcuteAccent.item("ö") := "ő"  ; o with double acute\r
+dkAcuteAccent.item("Ö") := "Ő"  ; O with double acute\r
+dkAcuteAccent.item("p") := "ƥ"  ; p with hook\r
+dkAcuteAccent.item("P") := "Ƥ"  ; P with hook\r
+dkAcuteAccent.item("r") := "ŕ"  ; r with acute\r
+dkAcuteAccent.item("R") := "Ŕ"  ; R with acute\r
+dkAcuteAccent.item("s") := "ś"  ; s with acute\r
+dkAcuteAccent.item("S") := "Ś"  ; S with acute\r
+dkAcuteAccent.item("t") := "ƭ"  ; t with hook\r
+dkAcuteAccent.item("T") := "Ƭ"  ; T with hook\r
+dkAcuteAccent.item("u") := "ú"  ; u with acute\r
+dkAcuteAccent.item("U") := "Ú"  ; U with acute\r
+dkAcuteAccent.item("ü") := "ű"  ; u with double acute\r
+dkAcuteAccent.item("Ü") := "Ű"  ; U with double acute\r
+dkAcuteAccent.item("v") := "ʋ"  ; v with hook\r
+dkAcuteAccent.item("V") := "Ʋ"  ; V with hook\r
+dkAcuteAccent.item("w") := "ẃ"  ; w with acute\r
+dkAcuteAccent.item("W") := "Ẃ"  ; W with acute\r
+dkAcuteAccent.item("y") := "ý"  ; y with acute\r
+dkAcuteAccent.item("Y") := "Ý"  ; Y with acute\r
+dkAcuteAccent.item("z") := "ź"  ; z with acute\r
+dkAcuteAccent.item("Z") := "Ź"  ; Z with acute\r
+dkAcuteAccent.item("å") := "ǻ"  ; a with ring above and acute\r
+dkAcuteAccent.item("Å") := "Ǻ"  ; A with ring above and acute\r
+dkAcuteAccent.item("æ") := "ǽ"  ; ae with acute\r
+dkAcuteAccent.item("Æ") := "Ǽ"  ; AE with acute\r
+dkAcuteAccent.item("ø") := "ǿ"  ; o with stroke and acute\r
+dkAcuteAccent.item("Ø") := "Ǿ"  ; O with stroke and acute\r
+dkAcuteAccent.item("2") := "♫"  ; beamed eighth notes\r
+dkAcuteAccent.item("8") := "♪"  ; eighth note\r
+dkAcuteAccent.item("'") := "´"  ; acute accent\r
+dkAcuteAccent.item(" ") := "´"  ; acute accent\r
+\r
+\r
+; Dead Key :  Diaeresis\r
+\r
+dkDiaeresis := ComObjCreate("Scripting.Dictionary")\r
+dkDiaeresis.item("a") := "ä"  ; a with diaeresis\r
+dkDiaeresis.item("A") := "Ä"  ; A with diaeresis\r
+dkDiaeresis.item("e") := "ë"  ; e with diaeresis\r
+dkDiaeresis.item("E") := "Ë"  ; E with diaeresis\r
+dkDiaeresis.item("h") := "ḧ"  ; h with diaeresis\r
+dkDiaeresis.item("H") := "Ḧ"  ; H with diaeresis\r
+dkDiaeresis.item("i") := "ï"  ; i with diaeresis\r
+dkDiaeresis.item("I") := "Ï"  ; I with diaeresis\r
+dkDiaeresis.item("o") := "ö"  ; o with diaeresis\r
+dkDiaeresis.item("O") := "Ö"  ; O with diaeresis\r
+dkDiaeresis.item("s") := "ß"  ; small sharp s (Eszett)\r
+dkDiaeresis.item("S") := "ẞ"  ; capital sharp S (capital Eszett)\r
+dkDiaeresis.item("t") := "ẗ"  ; t with diaeresis\r
+dkDiaeresis.item("u") := "ü"  ; u with diaeresis\r
+dkDiaeresis.item("U") := "Ü"  ; U with diaeresis\r
+dkDiaeresis.item("w") := "ẅ"  ; w with diaeresis\r
+dkDiaeresis.item("W") := "Ẅ"  ; W with diaeresis\r
+dkDiaeresis.item("x") := "ẍ"  ; x with diaeresis\r
+dkDiaeresis.item("X") := "Ẍ"  ; X with diaeresis\r
+dkDiaeresis.item("y") := "ÿ"  ; y with diaeresis\r
+dkDiaeresis.item("Y") := "Ÿ"  ; Y with diaeresis\r
+dkDiaeresis.item("""") := "¨" ; diaeresis\r
+dkDiaeresis.item(" ") := "¨"  ; diaeresis\r
+\r
+\r
+; Dead Key :  Grave Accent\r
+\r
+dkGraveAccent := ComObjCreate("Scripting.Dictionary")\r
+dkGraveAccent.item("a") := "à"  ; a with grave\r
+dkGraveAccent.item("A") := "À"  ; A with grave\r
+dkGraveAccent.item("e") := "è"  ; e with grave\r
+dkGraveAccent.item("E") := "È"  ; E with grave\r
+dkGraveAccent.item("i") := "ì"  ; i with grave\r
+dkGraveAccent.item("I") := "Ì"  ; I with grave\r
+dkGraveAccent.item("n") := "ǹ"  ; n with grave\r
+dkGraveAccent.item("N") := "Ǹ"  ; N with grave\r
+dkGraveAccent.item("o") := "ò"  ; o with grave\r
+dkGraveAccent.item("O") := "Ò"  ; O with grave\r
+dkGraveAccent.item("u") := "ù"  ; u with grave\r
+dkGraveAccent.item("U") := "Ù"  ; U with grave\r
+dkGraveAccent.item("w") := "ẁ"  ; w with grave\r
+dkGraveAccent.item("W") := "Ẁ"  ; W with grave\r
+dkGraveAccent.item("y") := "ỳ"  ; y with grave\r
+dkGraveAccent.item("Y") := "Ỳ"  ; Y with grave\r
+dkGraveAccent.item("ä") := "₳"  ; Argentine austral\r
+dkGraveAccent.item("Ä") := "₳"  ; Argentine austral\r
+dkGraveAccent.item("b") := "₿"  ; bitcoin\r
+dkGraveAccent.item("B") := "₿"  ; bitcoin\r
+dkGraveAccent.item("c") := "₡"  ; Costa Rican colón\r
+dkGraveAccent.item("C") := "₵"  ; Ghanaian cedi\r
+dkGraveAccent.item("ç") := "₢"  ; Brazilian cruzeiro\r
+dkGraveAccent.item("Ç") := "₢"  ; Brazilian cruzeiro\r
+dkGraveAccent.item("d") := "₫"  ; Vietnamese dong\r
+dkGraveAccent.item("D") := "₯"  ; Greek drachma\r
+dkGraveAccent.item("f") := "₣"  ; French franc\r
+dkGraveAccent.item("F") := "₣"  ; French franc\r
+dkGraveAccent.item("g") := "₲"  ; Paraguayan guaraní\r
+dkGraveAccent.item("G") := "₲"  ; Paraguayan guaraní\r
+dkGraveAccent.item("h") := "₴"  ; Ukrainian hryvnia\r
+dkGraveAccent.item("H") := "₴"  ; Ukrainian hryvnia\r
+dkGraveAccent.item("k") := "₭"  ; Laotian kip\r
+dkGraveAccent.item("K") := "₭"  ; Laotian kip\r
+dkGraveAccent.item("l") := "₺"  ; Turkish lira\r
+dkGraveAccent.item("L") := "₾"  ; Georgian lari\r
+dkGraveAccent.item("ø") := "₤"  ; lira\r
+dkGraveAccent.item("Ø") := "₤"  ; lira\r
+dkGraveAccent.item("m") := "₼"  ; Azerbaijani manat\r
+dkGraveAccent.item("M") := "₥"  ; mill sign\r
+dkGraveAccent.item("ñ") := "₦"  ; Nigerian naira\r
+dkGraveAccent.item("Ñ") := "₦"  ; Nigerian naira\r
+dkGraveAccent.item("p") := "₱"  ; Philippine peso\r
+dkGraveAccent.item("P") := "₱"  ; Philippine peso\r
+dkGraveAccent.item("r") := "₹"  ; Indian rupee\r
+dkGraveAccent.item("R") := "₽"  ; Russian ruble\r
+dkGraveAccent.item("s") := "₪"  ; Israeli new shekel\r
+dkGraveAccent.item("S") := "₪"  ; Israeli new shekel\r
+dkGraveAccent.item("t") := "₮"  ; Mongolian tögrög (tugrik)\r
+dkGraveAccent.item("T") := "₸"  ; Kazakh tenge\r
+dkGraveAccent.item("å") := "₩"  ; South Korean won\r
+dkGraveAccent.item("Å") := "₩"  ; South Korean won\r
+dkGraveAccent.item("1") := " "  ; en space\r
+dkGraveAccent.item("2") := " "  ; em space\r
+dkGraveAccent.item("3") := " "  ; three-per-em space\r
+dkGraveAccent.item("4") := " "  ; four-per-em space\r
+dkGraveAccent.item("5") := " "  ; punctuation space\r
+dkGraveAccent.item("6") := " "  ; six-per-em space\r
+dkGraveAccent.item("7") := " "  ; thin space\r
+dkGraveAccent.item("8") := " "  ; hair space\r
+dkGraveAccent.item("9") := " "  ; figure space\r
+dkGraveAccent.item("0") := "​"   ; zero-width space\r
+dkGraveAccent.item("-") := " "  ; non-breaking space\r
+dkGraveAccent.item("!") := " "  ; en quad\r
+dkGraveAccent.item("@") := " "  ; em quad\r
+dkGraveAccent.item("``") := "``"  ; grave accent\r
+dkGraveAccent.item(" ") := "``"   ; grave accent\r
+\r
+\r
+; Dead Key :  Tilde\r
+\r
+dkTilde := ComObjCreate("Scripting.Dictionary")\r
+dkTilde.item("a") := "ã"  ; a with tilde\r
+dkTilde.item("A") := "Ã"  ; A with tilde\r
+dkTilde.item("e") := "ẽ"  ; e with tilde\r
+dkTilde.item("E") := "Ẽ"  ; E with tilde\r
+dkTilde.item("i") := "ĩ"  ; i with tilde\r
+dkTilde.item("I") := "Ĩ"  ; I with tilde\r
+dkTilde.item("n") := "ñ"  ; n with tilde\r
+dkTilde.item("N") := "Ñ"  ; N with tilde\r
+dkTilde.item("o") := "õ"  ; o with tilde\r
+dkTilde.item("O") := "Õ"  ; O with tilde\r
+dkTilde.item("u") := "ũ"  ; u with tilde\r
+dkTilde.item("U") := "Ũ"  ; U with tilde\r
+dkTilde.item("v") := "ṽ"  ; v with tilde\r
+dkTilde.item("V") := "Ṽ"  ; V with tilde\r
+dkTilde.item("y") := "ỹ"  ; y with tilde\r
+dkTilde.item("Y") := "Ỹ"  ; Y with tilde\r
+dkTilde.item("~") := "~"  ; tilde\r
+dkTilde.item(" ") := "~"  ; tilde\r
+\r
+\r
+; Dead Key :  Not Sign\r
+\r
+dkNotSign := ComObjCreate("Scripting.Dictionary")\r
+dkNotSign.item("a") := "ª"  ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)\r
+dkNotSign.item("A") := "ª"  ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)\r
+dkNotSign.item("b") := "☐"  ; ballot box\r
+dkNotSign.item("B") := "☒"  ; ballot box with x\r
+dkNotSign.item("c") := "©"  ; copyright sign\r
+dkNotSign.item("C") := "¤"  ; currency sign\r
+dkNotSign.item("d") := "†"  ; dagger\r
+dkNotSign.item("D") := "‡"  ; double dagger\r
+dkNotSign.item("e") := "…"  ; ellipsis\r
+dkNotSign.item("E") := "℮"  ; estimated symbol\r
+dkNotSign.item("f") := "♀"  ; Venus symbol (female)\r
+dkNotSign.item("F") := "♀"  ; Venus symbol (female)\r
+dkNotSign.item("h") := "♡"  ; white heart suit\r
+dkNotSign.item("H") := "♥"  ; black heart suit\r
+dkNotSign.item("l") := "ℓ"  ; script small l\r
+dkNotSign.item("L") := "ℓ"  ; script small l\r
+dkNotSign.item("m") := "♂"  ; Mars symbol (male)\r
+dkNotSign.item("M") := "♂"  ; Mars symbol (male)\r
+dkNotSign.item("n") := "¬"  ; not sign\r
+dkNotSign.item("N") := "¬"  ; not sign\r
+dkNotSign.item("o") := "º"  ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)\r
+dkNotSign.item("O") := "º"  ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)\r
+dkNotSign.item("p") := "¶"  ; pilcrow sign\r
+dkNotSign.item("P") := "℗"  ; sound recording copyright\r
+dkNotSign.item("r") := "®"  ; registered sign\r
+dkNotSign.item("R") := "®"  ; registered sign\r
+dkNotSign.item("s") := "§"  ; section sign\r
+dkNotSign.item("S") := "℠"  ; service mark\r
+dkNotSign.item("t") := "™"  ; trademark symbol\r
+dkNotSign.item("T") := "™"  ; trademark symbol\r
+dkNotSign.item("v") := "✓"  ; check mark\r
+dkNotSign.item("V") := "✔"  ; heavy check mark\r
+dkNotSign.item("w") := "☑"  ; ballot box with check\r
+dkNotSign.item("W") := "☙"  ; reversed rotated floral heart bullet\r
+dkNotSign.item("x") := "✗"  ; ballot x\r
+dkNotSign.item("X") := "✘"  ; heavy ballot x\r
+dkNotSign.item("y") := "☺"  ; white smiling face\r
+dkNotSign.item("Y") := "☻"  ; black smiling face\r
+dkNotSign.item("1") := "№"  ; numero sign\r
+dkNotSign.item("2") := "½"  ; vulgar fraction 1/2\r
+dkNotSign.item("3") := "⅓"  ; vulgar fraction 1/3\r
+dkNotSign.item("4") := "¼"  ; vulgar fraction 1/4\r
+dkNotSign.item("5") := "⅔"  ; vulgar fraction 2/3\r
+dkNotSign.item("6") := "¾"  ; vulgar fraction 3/4\r
+dkNotSign.item("7") := "⅛"  ; vulgar fraction 1/8\r
+dkNotSign.item("8") := "⅜"  ; vulgar fraction 3/8\r
+dkNotSign.item("9") := "⅝"  ; vulgar fraction 5/8\r
+dkNotSign.item("0") := "⅞"  ; vulgar fraction 7/8\r
+dkNotSign.item(".") := "•"  ; bullet\r
+dkNotSign.item("-") := "⁃"  ; hyphen bullet\r
+dkNotSign.item("\") := "⁞"  ; vertical four dots\r
+dkNotSign.item("|") := "⁞"  ; vertical four dots\r
+dkNotSign.item(" ") := "¬"  ; not sign\r
+\r
+\r
+; Dead Key :  Broken Bar\r
+\r
+dkBrokenBar := ComObjCreate("Scripting.Dictionary")\r
+dkBrokenBar.item("c") := "ƈ"  ; c with hook\r
+dkBrokenBar.item("C") := "Ƈ"  ; C with hook\r
+dkBrokenBar.item("e") := "ɛ"  ; small open e (latin small epsilon)\r
+dkBrokenBar.item("E") := "Ɛ"  ; capital open E (latin capital epsilon)\r
+dkBrokenBar.item("g") := "ɠ"  ; g with hook\r
+dkBrokenBar.item("G") := "Ɠ"  ; G with hook\r
+dkBrokenBar.item("h") := "❦"  ; floral heart\r
+dkBrokenBar.item("H") := "❧"  ; rotated floral heart bullet\r
+dkBrokenBar.item("k") := "ḱ"  ; k with acute\r
+dkBrokenBar.item("K") := "Ḱ"  ; K with acute\r
+dkBrokenBar.item("n") := "ɲ"  ; n with left hook\r
+dkBrokenBar.item("N") := "Ɲ"  ; N with left hook\r
+dkBrokenBar.item("o") := "ơ"  ; o with horn\r
+dkBrokenBar.item("O") := "Ơ"  ; O with horn\r
+dkBrokenBar.item("p") := "ṕ"  ; p with acute\r
+dkBrokenBar.item("P") := "Ṕ"  ; P with acute\r
+dkBrokenBar.item("s") := "ʃ"  ; small letter esh\r
+dkBrokenBar.item("S") := "Ʃ"  ; capital letter esh\r
+dkBrokenBar.item("ß") := "ſ"  ; small long s\r
+dkBrokenBar.item("u") := "ư"  ; u with horn\r
+dkBrokenBar.item("U") := "Ư"  ; U with horn\r
+dkBrokenBar.item("w") := "ⱳ"  ; w with hook\r
+dkBrokenBar.item("W") := "Ⱳ"  ; W with hook\r
+dkBrokenBar.item("y") := "ƴ"  ; y with hook\r
+dkBrokenBar.item("Y") := "Ƴ"  ; Y with hook\r
+dkBrokenBar.item("z") := "ȥ"  ; z with hook\r
+dkBrokenBar.item("Z") := "Ȥ"  ; Z with hook\r
+dkBrokenBar.item("1") := "←"  ; leftwards arrow\r
+dkBrokenBar.item("2") := "↓"  ; downwards arrow\r
+dkBrokenBar.item("3") := "↑"  ; upwards arrow\r
+dkBrokenBar.item("4") := "→"  ; rightwards arrow\r
+dkBrokenBar.item("5") := "↖"  ; north west arrow\r
+dkBrokenBar.item("6") := "↙"  ; south west arrow\r
+dkBrokenBar.item("7") := "↗"  ; north east arrow\r
+dkBrokenBar.item("8") := "↘"  ; south east arrow\r
+dkBrokenBar.item("9") := "↕"  ; up down arrow\r
+dkBrokenBar.item("0") := "↨"  ; up down arrow with base\r
+dkBrokenBar.item("=") := "↔"  ; left right arrow\r
+dkBrokenBar.item("!") := "⇐"  ; leftwards double arrow\r
+dkBrokenBar.item("@") := "⇓"  ; downwards double arrow\r
+dkBrokenBar.item("#") := "⇑"  ; upwards double arrow\r
+dkBrokenBar.item("$") := "⇒"  ; rightwards double arrow\r
+dkBrokenBar.item("%") := "⇖"  ; north west double arrow\r
+dkBrokenBar.item("^") := "⇙"  ; south west double arrow\r
+dkBrokenBar.item("&") := "⇗"  ; north east double arrow\r
+dkBrokenBar.item("*") := "⇘"  ; south east double arrow\r
+dkBrokenBar.item("(") := "⇕"  ; up down double arrow\r
+dkBrokenBar.item(")") := "↲"  ; downwards arrow with tip leftwards\r
+dkBrokenBar.item("+") := "⇔"  ; left right double arrow\r
+dkBrokenBar.item("\") := "¦"  ; broken bar\r
+dkBrokenBar.item("|") := "¦"  ; broken bar\r
+dkBrokenBar.item(" ") := "¦"  ; broken bar\r
+\r
+\r
+; Dead Key :  Greek Alphabet\r
+\r
+dkGreekAlphabet := ComObjCreate("Scripting.Dictionary")\r
+dkGreekAlphabet.item("a") := "α"  ; small alpha\r
+dkGreekAlphabet.item("A") := "Α"  ; capital alpha\r
+dkGreekAlphabet.item("b") := "β"  ; small beta\r
+dkGreekAlphabet.item("B") := "Β"  ; capital beta\r
+dkGreekAlphabet.item("v") := "β"  ; small beta\r
+dkGreekAlphabet.item("V") := "Β"  ; capital beta\r
+dkGreekAlphabet.item("g") := "γ"  ; small gamma\r
+dkGreekAlphabet.item("G") := "Γ"  ; capital gamma\r
+dkGreekAlphabet.item("d") := "δ"  ; small delta\r
+dkGreekAlphabet.item("D") := "Δ"  ; capital delta\r
+dkGreekAlphabet.item("e") := "ε"  ; small epsilon\r
+dkGreekAlphabet.item("E") := "Ε"  ; capital epsilon\r
+dkGreekAlphabet.item("z") := "ζ"  ; small zeta\r
+dkGreekAlphabet.item("Z") := "Ζ"  ; capital zeta\r
+dkGreekAlphabet.item("h") := "η"  ; small eta\r
+dkGreekAlphabet.item("H") := "Η"  ; capital eta\r
+dkGreekAlphabet.item("j") := "θ"  ; small theta\r
+dkGreekAlphabet.item("J") := "Θ"  ; capital theta\r
+dkGreekAlphabet.item("i") := "ι"  ; small iota\r
+dkGreekAlphabet.item("I") := "Ι"  ; capital iota\r
+dkGreekAlphabet.item("k") := "κ"  ; small kappa\r
+dkGreekAlphabet.item("K") := "Κ"  ; capital kappa\r
+dkGreekAlphabet.item("l") := "λ"  ; small lambda\r
+dkGreekAlphabet.item("L") := "Λ"  ; capital lambda\r
+dkGreekAlphabet.item("m") := "μ"  ; small mu\r
+dkGreekAlphabet.item("M") := "Μ"  ; capital mu\r
+dkGreekAlphabet.item("n") := "ν"  ; small nu\r
+dkGreekAlphabet.item("N") := "Ν"  ; capital nu\r
+dkGreekAlphabet.item("x") := "ξ"  ; small xi\r
+dkGreekAlphabet.item("X") := "Ξ"  ; capital xi\r
+dkGreekAlphabet.item("o") := "ο"  ; small omikron\r
+dkGreekAlphabet.item("O") := "Ο"  ; capital omikron\r
+dkGreekAlphabet.item("p") := "π"  ; small pi\r
+dkGreekAlphabet.item("P") := "Π"  ; capital pi\r
+dkGreekAlphabet.item("r") := "ρ"  ; small rho\r
+dkGreekAlphabet.item("R") := "Ρ"  ; capital rho\r
+dkGreekAlphabet.item("s") := "σ"  ; small sigma\r
+dkGreekAlphabet.item("S") := "Σ"  ; capital sigma\r
+dkGreekAlphabet.item(",") := "ς"  ; small sigma, in word-final position\r
+dkGreekAlphabet.item("ß") := "ς"  ; small sigma, in word-final position\r
+dkGreekAlphabet.item("t") := "τ"  ; small tau\r
+dkGreekAlphabet.item("T") := "Τ"  ; capital tau\r
+dkGreekAlphabet.item("u") := "υ"  ; small upsilon\r
+dkGreekAlphabet.item("U") := "Υ"  ; capital upsilon\r
+dkGreekAlphabet.item("y") := "υ"  ; small upsilon\r
+dkGreekAlphabet.item("Y") := "Υ"  ; capital upsilon\r
+dkGreekAlphabet.item("f") := "φ"  ; small phi\r
+dkGreekAlphabet.item("F") := "Φ"  ; capital phi\r
+dkGreekAlphabet.item("c") := "χ"  ; small chi\r
+dkGreekAlphabet.item("C") := "Χ"  ; capital chi\r
+dkGreekAlphabet.item("w") := "ψ"  ; small psi\r
+dkGreekAlphabet.item("W") := "Ψ"  ; capital psi\r
+dkGreekAlphabet.item("q") := "ω"  ; small omega\r
+dkGreekAlphabet.item("Q") := "Ω"  ; capital omega\r
+dkGreekAlphabet.item("1") := "¹"  ; superscript 1\r
+dkGreekAlphabet.item("2") := "²"  ; superscript 2\r
+dkGreekAlphabet.item("3") := "³"  ; superscript 3\r
+dkGreekAlphabet.item("4") := "⁴"  ; superscript 4\r
+dkGreekAlphabet.item("5") := "⁵"  ; superscript 5\r
+dkGreekAlphabet.item("6") := "⁶"  ; superscript 6\r
+dkGreekAlphabet.item("7") := "⁷"  ; superscript 7\r
+dkGreekAlphabet.item("8") := "⁸"  ; superscript 8\r
+dkGreekAlphabet.item("9") := "⁹"  ; superscript 9\r
+dkGreekAlphabet.item("0") := "⁰"  ; superscript 0\r
+dkGreekAlphabet.item("-") := "⁻"  ; superscript -\r
+dkGreekAlphabet.item("=") := "⁼"  ; superscript =\r
+dkGreekAlphabet.item("+") := "⁺"  ; superscript +\r
+dkGreekAlphabet.item("[") := "⁽"  ; superscript (\r
+dkGreekAlphabet.item("]") := "⁾"  ; superscript )\r
+dkGreekAlphabet.item("!") := "₁"  ; subscript 1\r
+dkGreekAlphabet.item("@") := "₂"  ; subscript 2\r
+dkGreekAlphabet.item("#") := "₃"  ; subscript 3\r
+dkGreekAlphabet.item("$") := "₄"  ; subscript 4\r
+dkGreekAlphabet.item("%") := "₅"  ; subscript 5\r
+dkGreekAlphabet.item("^") := "₆"  ; subscript 6\r
+dkGreekAlphabet.item("&") := "₇"  ; subscript 7\r
+dkGreekAlphabet.item("*") := "₈"  ; subscript 8\r
+dkGreekAlphabet.item("(") := "₉"  ; subscript 9\r
+dkGreekAlphabet.item(")") := "₀"  ; subscript 0\r
+dkGreekAlphabet.item(";") := "₋"  ; subscript -\r
+dkGreekAlphabet.item("'") := "₌"  ; subscript =\r
+dkGreekAlphabet.item("""") := "₊" ; subscript +\r
+dkGreekAlphabet.item("{") := "₍"  ; subscript (\r
+dkGreekAlphabet.item("}") := "₎"  ; subscript )\r
+dkGreekAlphabet.item(".") := "µ"  ; micro sign\r
+dkGreekAlphabet.item(" ") := "μ"  ; small mu\r
+\r
+\r
+; Dead Key :  Math Symbols\r
+\r
+dkMathSymbols := ComObjCreate("Scripting.Dictionary")\r
+dkMathSymbols.item("a") := "∀"  ; for all\r
+dkMathSymbols.item("A") := "∀"  ; for all\r
+dkMathSymbols.item("b") := "⊆"  ; subset of or equal to\r
+dkMathSymbols.item("B") := "⊇"  ; superset of or equal to\r
+dkMathSymbols.item("c") := "∝"  ; proportional to\r
+dkMathSymbols.item("C") := "ℂ"  ; complex numbers\r
+dkMathSymbols.item("d") := "∆"  ; increment operator\r
+dkMathSymbols.item("D") := "∇"  ; nable/del operator\r
+dkMathSymbols.item("e") := "∃"  ; there exists\r
+dkMathSymbols.item("E") := "∄"  ; there does not exist\r
+dkMathSymbols.item("f") := "ƒ"  ; f with hook\r
+dkMathSymbols.item("F") := "∎"  ; end of proof\r
+dkMathSymbols.item("g") := "⊂"  ; subset of\r
+dkMathSymbols.item("G") := "⊄"  ; not a subset of\r
+dkMathSymbols.item("h") := "⊃"  ; superset of\r
+dkMathSymbols.item("H") := "⊅"  ; not a superset of\r
+dkMathSymbols.item("i") := "∞"  ; infinity symbol\r
+dkMathSymbols.item("I") := "∞"  ; infinity symbol\r
+dkMathSymbols.item("k") := "∋"  ; contains as member\r
+dkMathSymbols.item("K") := "∌"  ; does not contain as member\r
+dkMathSymbols.item("l") := "∥"  ; parallel to\r
+dkMathSymbols.item("L") := "∦"  ; not parallel to\r
+dkMathSymbols.item("m") := "∈"  ; element of\r
+dkMathSymbols.item("M") := "∉"  ; not an element of\r
+dkMathSymbols.item("n") := "ⁿ"  ; superscript n\r
+dkMathSymbols.item("N") := "ℕ"  ; natural numbers\r
+dkMathSymbols.item("o") := "∘"  ; ring operator\r
+dkMathSymbols.item("O") := "∅"  ; empty set\r
+dkMathSymbols.item("p") := "∂"  ; partial differential\r
+dkMathSymbols.item("P") := "ℙ"  ; prime numbers\r
+dkMathSymbols.item("q") := "ℚ"  ; rational numbers\r
+dkMathSymbols.item("Q") := "ℚ"  ; rational numbers\r
+dkMathSymbols.item("r") := "√"  ; square root\r
+dkMathSymbols.item("R") := "ℝ"  ; real numbers\r
+dkMathSymbols.item("s") := "∩"  ; set intersection\r
+dkMathSymbols.item("S") := "∫"  ; integral symbol\r
+dkMathSymbols.item("u") := "∪"  ; set union\r
+dkMathSymbols.item("U") := "∖"  ; set minus\r
+dkMathSymbols.item("z") := "↯"  ; downwards zigzag arrow\r
+dkMathSymbols.item("Z") := "ℤ"  ; whole numbers\r
+dkMathSymbols.item("1") := "≠"  ; not equal to\r
+dkMathSymbols.item("!") := "≠"  ; not equal to\r
+dkMathSymbols.item("2") := "√"  ; square root\r
+dkMathSymbols.item("3") := "∛"  ; cube root\r
+dkMathSymbols.item("4") := "∜"  ; fourth root\r
+dkMathSymbols.item("5") := "‰"  ; per mille sign\r
+dkMathSymbols.item("%") := "‱" ; per ten thousand sign\r
+dkMathSymbols.item("6") := "℘"  ; script capital p\r
+dkMathSymbols.item("^") := "℘"  ; script capital p\r
+dkMathSymbols.item("7") := "∧"  ; logical and\r
+dkMathSymbols.item("&") := "∧"  ; logical and\r
+dkMathSymbols.item("8") := "⊗"  ; tensor product\r
+dkMathSymbols.item("*") := "⊗"  ; tensor product\r
+dkMathSymbols.item("9") := "∟"  ; right angle\r
+dkMathSymbols.item("0") := "∠"  ; angle symbol\r
+dkMathSymbols.item(")") := "∡"  ; measured angle\r
+dkMathSymbols.item("``") := "≈" ; almost equal to\r
+dkMathSymbols.item("~") := "≈"  ; almost equal to\r
+dkMathSymbols.item(",") := "≤"  ; less-than or equal to\r
+dkMathSymbols.item("<") := "≤"  ; less-than or equal to\r
+dkMathSymbols.item(".") := "≥"  ; greater-than or equal to\r
+dkMathSymbols.item(">") := "≥"  ; greater-than or equal to\r
+dkMathSymbols.item("-") := "±"  ; plus-minus sign\r
+dkMathSymbols.item("_") := "⊖"  ; circled minus\r
+dkMathSymbols.item("=") := "≝"  ; equal to by definition\r
+dkMathSymbols.item("+") := "⊕"  ; exclusive or\r
+dkMathSymbols.item(";") := "∵"  ; because sign\r
+dkMathSymbols.item(":") := "∴"  ; therefore sign\r
+dkMathSymbols.item("\") := "∨"  ; logical or\r
+dkMathSymbols.item("|") := "∨"  ; logical or\r
+dkMathSymbols.item(" ") := "√"  ; square root\r
+\r
+\r
+; Configuration :  Right Alt on US QWERTY\r
+\r
+>!a::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ä  ; A with diaeresis\r
+  else\r
+    Send ä  ; a with diaeresis\r
+return\r
+>!+a::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ä  ; a with diaeresis\r
+  else\r
+    Send Ä  ; A with diaeresis\r
+return\r
+\r
+>!z::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send À  ; A with grave\r
+  else\r
+    Send à  ; a with grave\r
+return\r
+>!+z::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send à  ; a with grave\r
+  else\r
+    Send À  ; A with grave\r
+return\r
+\r
+>!x::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Á  ; A with acute\r
+  else\r
+    Send á  ; a with acute\r
+return\r
+>!+x::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send á  ; a with acute\r
+  else\r
+    Send Á  ; A with acute\r
+return\r
+\r
+>!q::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Æ  ; letter AE\r
+  else\r
+    Send æ  ; letter ae\r
+return\r
+>!+q::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send æ  ; letter ae\r
+  else\r
+    Send Æ  ; letter AE\r
+return\r
+\r
+>!w::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Å  ; A with ring above\r
+  else\r
+    Send å  ; a with ring above\r
+return\r
+>!+w::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send å  ; a with ring above\r
+  else\r
+    Send Å  ; A with ring above\r
+return\r
+\r
+>!c::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ç  ; C with cedilla\r
+  else\r
+    Send ç  ; c with cedilla\r
+return\r
+>!+c::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ç  ; c with cedilla\r
+  else\r
+    Send Ç  ; C with cedilla\r
+return\r
+\r
+>!d::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ð  ; capital letter eth\r
+  else\r
+    Send ð  ; small letter eth\r
+return\r
+>!+d::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ð  ; small letter eth\r
+  else\r
+    Send Ð  ; capital letter eth\r
+return\r
+\r
+>!e::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ë  ; E with diaeresis\r
+  else\r
+    Send ë  ; e with diaeresis\r
+return\r
+>!+e::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ë  ; e with diaeresis\r
+  else\r
+    Send Ë  ; E with diaeresis\r
+return\r
+\r
+>!f::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send È  ; E with grave\r
+  else\r
+    Send è  ; e with grave\r
+return\r
+>!+f::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send è  ; e with grave\r
+  else\r
+    Send È  ; E with grave\r
+return\r
+\r
+>!g::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send É  ; E with acute\r
+  else\r
+    Send é  ; e with acute\r
+return\r
+>!+g::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send é  ; e with acute\r
+  else\r
+    Send É  ; E with acute\r
+return\r
+\r
+>!i::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ï  ; I with diaeresis\r
+  else\r
+    Send ï  ; i with diaeresis\r
+return\r
+>!+i::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ï  ; i with diaeresis\r
+  else\r
+    Send Ï  ; I with diaeresis\r
+return\r
+\r
+>!v::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ì  ; I with grave\r
+  else\r
+    Send ì  ; i with grave\r
+return\r
+>!+v::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ì  ; i with grave\r
+  else\r
+    Send Ì  ; I with grave\r
+return\r
+\r
+>!b::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Í  ; I with acute\r
+  else\r
+    Send í  ; i with acute\r
+return\r
+>!+b::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send í  ; i with acute\r
+  else\r
+    Send Í  ; I with acute\r
+return\r
+\r
+>!o::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ö  ; O with diaeresis\r
+  else\r
+    Send ö  ; o with diaeresis\r
+return\r
+>!+o::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ö  ; o with diaeresis\r
+  else\r
+    Send Ö  ; O with diaeresis\r
+return\r
+\r
+>!,::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ò  ; O with grave\r
+  else\r
+    Send ò  ; o with grave\r
+return\r
+>!<::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ò  ; o with grave\r
+  else\r
+    Send Ò  ; O with grave\r
+return\r
+\r
+>!.::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ó  ; O with acute\r
+  else\r
+    Send ó  ; o with acute\r
+return\r
+>!>::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ó  ; o with acute\r
+  else\r
+    Send Ó  ; O with acute\r
+return\r
+\r
+>!k::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Œ  ; ligature OE\r
+  else\r
+    Send œ  ; ligature oe\r
+return\r
+>!+k::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send œ  ; ligature oe\r
+  else\r
+    Send Œ  ; ligature OE\r
+return\r
+\r
+>!l::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ø  ; O with stroke\r
+  else\r
+    Send ø  ; o with stroke\r
+return\r
+>!+l::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ø  ; o with stroke\r
+  else\r
+    Send Ø  ; O with stroke\r
+return\r
+\r
+>!n::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ñ  ; N with tilde\r
+  else\r
+    Send ñ  ; n with tilde\r
+return\r
+>!+n::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ñ  ; n with tilde\r
+  else\r
+    Send Ñ  ; N with tilde\r
+return\r
+\r
+>!t::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Þ  ; capital letter thorn\r
+  else\r
+    Send þ  ; small letter thorn\r
+return\r
+>!+t::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send þ  ; small letter thorn\r
+  else\r
+    Send Þ  ; capital letter thorn\r
+return\r
+\r
+>!u::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ü  ; U with diaeresis\r
+  else\r
+    Send ü  ; u with diaeresis\r
+return\r
+>!+u::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ü  ; u with diaeresis\r
+  else\r
+    Send Ü  ; U with diaeresis\r
+return\r
+\r
+>!h::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ù  ; U with grave\r
+  else\r
+    Send ù  ; u with grave\r
+return\r
+>!+h::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ù  ; u with grave\r
+  else\r
+    Send Ù  ; U with grave\r
+return\r
+\r
+>!j::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ú  ; U with acute\r
+  else\r
+    Send ú  ; u with acute\r
+return\r
+>!+j::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ú  ; u with acute\r
+  else\r
+    Send Ú  ; U with acute\r
+return\r
+\r
+>!y::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ÿ  ; Y with diaeresis\r
+  else\r
+    Send ÿ  ; y with diaeresis\r
+return\r
+>!+y::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ÿ  ; y with diaeresis\r
+  else\r
+    Send Ÿ  ; Y with diaeresis\r
+return\r
+\r
+>!r::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send Ý  ; Y with acute\r
+  else\r
+    Send ý  ; y with acute\r
+return\r
+>!+r::\r
+  if GetKeyState("CapsLock", "T")\r
+    Send ý  ; y with acute\r
+  else\r
+    Send Ý  ; Y with acute\r
+return\r
+\r
+>!p::Send †   ; dagger\r
+>!+p::Send ‡  ; double dagger\r
+\r
+>!s::Send ß   ; small sharp s (Eszett)\r
+>!+s::Send §  ; section sign\r
+\r
+>!/::Send ¿   ; inverted question mark\r
+>!?::Send ¶   ; pilcrow sign\r
+\r
+>!1::Send ¡   ; inverted exclamation mark\r
+>!+1::Send ¹  ; superscript 1\r
+\r
+>!2::Send ©   ; copyright sign\r
+>!+2::Send ²  ; superscript 2\r
+\r
+>!3::Send ±   ; plus-minus sign\r
+>!+3::Send ³  ; superscript 3\r
+\r
+>!4::Send £   ; pound sign\r
+>!+4::Send ¥  ; yen sign\r
+\r
+>!5::Send €   ; euro sign\r
+>!+5::Send ¢  ; cent sign (dollar)\r
+\r
+>!8::Send „   ; double low-9 quotation mark\r
+>!+8::Send ‚  ; single low-9 quotation mark\r
+\r
+>!9::Send “   ; left double quotation mark\r
+>!+9::Send ‘  ; left single quotation mark\r
+\r
+>!0::Send ”   ; right double quotation mark\r
+>!+0::Send ’  ; right single quotation mark\r
+\r
+>!=::Send ×   ; multiplication sign\r
+>!+=::Send ÷  ; division sign\r
+\r
+>![::Send «   ; left-pointing double angle quotation mark\r
+>!{::Send ‹   ; left-pointing single angle quotation mark\r
+\r
+>!]::Send »   ; right-pointing double angle quotation mark\r
+>!}::Send ›   ; right-pointing single angle quotation mark\r
+\r
+>!;::Send °   ; degree sign\r
+>!+;::Send ·  ; middle dot\r
+\r
+>!6::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkCircumflex.item(key)\r
+return\r
+>!+6::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkCaron.item(key)\r
+return\r
+\r
+>!7::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkRingDotAbove.item(key)\r
+return\r
+>!+7::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkMacronStroke.item(key)\r
+return\r
+\r
+>!-::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkCedillaOgonek.item(key)\r
+return\r
+>!_::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkBreveSpecial.item(key)\r
+return\r
+\r
+>!'::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkAcuteAccent.item(key)\r
+return\r
+>!"::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkDiaeresis.item(key)\r
+return\r
+\r
+>!`::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkGraveAccent.item(key)\r
+return\r
+>!~::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkTilde.item(key)\r
+return\r
+\r
+>!\::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkNotSign.item(key)\r
+return\r
+>!|::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkBrokenBar.item(key)\r
+return\r
+\r
+>!m::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkGreekAlphabet.item(key)\r
+return\r
+>!+m::\r
+  Input, key, L1, {bs}{del}{esc}{home}{end}\r
+  Send % dkMathSymbols.item(key)\r
+return\r
+\r
+>!space::Send     ; non-breaking space\r
+>!+space::Send    ; non-breaking space\r
diff --git a/UltimateKEYS - 2020-03-27.klc b/UltimateKEYS - 2020-03-27.klc
new file mode 100644 (file)
index 0000000..f745f66
Binary files /dev/null and b/UltimateKEYS - 2020-03-27.klc differ