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